diff --git a/100-days-of-code-youtube/.gitattributes b/100-days-of-code-youtube/.gitattributes new file mode 100644 index 00000000..dfe07704 --- /dev/null +++ b/100-days-of-code-youtube/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/100-days-of-code-youtube/01-Day1-Intro-to-Python/.tutorial/Tutorial.md b/100-days-of-code-youtube/01-Day1-Intro-to-Python/.tutorial/Tutorial.md new file mode 100644 index 00000000..505f04bc --- /dev/null +++ b/100-days-of-code-youtube/01-Day1-Intro-to-Python/.tutorial/Tutorial.md @@ -0,0 +1,38 @@ +# Day 1 - What is Programming and Python? +## What is Programming +Programming is a way for us to tell computers what to do. Computer is a very dumb machine and it only does what we tell it to do. Hence we learn programming and tell computers to do what we are very slow at - computation. +If I ask you to calculate 5+6, you will immediately say 11. +How about 23453453 X 56456? + +You will start searching for a calculator or jump to a new tab to calculate the same. +This 100 days of code series will help you learn python from starting to the end. We will start from 0 and by the time we end this course, I promise you will be a Job ready Python developer! + +## What is Python? + +- Python is a dynamically typed, general purpose programming language that supports an object-oriented programming approach as well as a functional programming approach. +- Python is an interpreted and a high-level programming language. +- It was created by Guido Van Rossum in 1989. + +## Features of Python + +- Python is simple and easy to understand. +- It is Interpreted and platform-independent which makes debugging very easy. +- Python is an open-source programming language. +- Python provides very big library support. Some of the popular libraries include NumPy, Tensorflow, Selenium, OpenCV, etc. +- It is possible to integrate other programming languages within python. + +## What is Python used for + +- Python is used in Data Visualization to create plots and graphical representations. +- Python helps in Data Analytics to analyze and understand raw data for insights and trends. +- It is used in AI and Machine Learning to simulate human behavior and to learn from past data without hard coding. +- It is used to create web applications. +- It can be used to handle databases. +- It is used in business and accounting to perform complex mathematical operations along with quantitative and qualitative analysis. + +## Why Replit? +- Replit is very easy to share tutorials and code. +- You can easily fork this repl and continue learning in your own style. Video, code as well as text tutorial on the same page which makes things easy! +- For fellow teachers out there, you create a .tutorial folder to create tutorials using replit. + +## [Next Lesson>>](https://replit.com/@codewithharry/02-Day2-Application-of-Python#.tutorial/Tutorial.md) \ No newline at end of file diff --git a/100-days-of-code-youtube/01-Day1-Intro-to-Python/.tutorial/image.png b/100-days-of-code-youtube/01-Day1-Intro-to-Python/.tutorial/image.png new file mode 100644 index 00000000..372c68d8 Binary files /dev/null and b/100-days-of-code-youtube/01-Day1-Intro-to-Python/.tutorial/image.png differ diff --git a/100-days-of-code-youtube/01-Day1-Intro-to-Python/.tutorial/video.json b/100-days-of-code-youtube/01-Day1-Intro-to-Python/.tutorial/video.json new file mode 100644 index 00000000..c94498bd --- /dev/null +++ b/100-days-of-code-youtube/01-Day1-Intro-to-Python/.tutorial/video.json @@ -0,0 +1,2 @@ +{"embedUrl": "https://www.youtube.com/embed/7wnove7K-ZQ" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/01-Day1-Intro-to-Python/main.py b/100-days-of-code-youtube/01-Day1-Intro-to-Python/main.py new file mode 100644 index 00000000..aa1c76e0 --- /dev/null +++ b/100-days-of-code-youtube/01-Day1-Intro-to-Python/main.py @@ -0,0 +1,2 @@ +print("Hello World") +print(5) \ No newline at end of file diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/.tutorial/Tutorial.md b/100-days-of-code-youtube/02-Day2-Application-of-Python/.tutorial/Tutorial.md new file mode 100644 index 00000000..537ef219 --- /dev/null +++ b/100-days-of-code-youtube/02-Day2-Application-of-Python/.tutorial/Tutorial.md @@ -0,0 +1,15 @@ +# Day 2 - My Python Success Story +# Why I love python (And you will too...) +Welcome to Day 2 of 100 days of code. Let me start with a story! +Back in my college, I used to learn C and C++ programming in depth, used to score good marks. I created a bunch of printing, conditionals and loop program. Now what? I wanted to benefit from the same +In my second year of college, I started working (I mean actually working in the industry) with the python programming language. I was not so good with it but I used to write code for a singaporean client and actually make good money without having to actually master Python. Harry then got curious and started working on his Python skills even more. +I then got into web scraping and trust me I made some good easy money on Fiverr just by writing some python programs and charging on per webpage basis to my clients ( I used to automate scraping) + +I then learnt flask and got to work with Flask with a university professor abroad. Long story short, Python made a huge impact in my career. + +## What can Python do for you? + +I want to show you some python programs I created which will surely inspire you to create your own versions of the same as we progress through this tutorial. +Do not try to recreate them just yet if you are a beginner and just started working on Python. We will make progress gradually trust me + +## [Next Lesson>>](https://replit.com/@codewithharry/03-Day3-Modules-and-Pip#main.py) \ No newline at end of file diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/.tutorial/image.png b/100-days-of-code-youtube/02-Day2-Application-of-Python/.tutorial/image.png new file mode 100644 index 00000000..372c68d8 Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/.tutorial/image.png differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/.tutorial/image_2.png b/100-days-of-code-youtube/02-Day2-Application-of-Python/.tutorial/image_2.png new file mode 100644 index 00000000..084c6eb3 Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/.tutorial/image_2.png differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/.tutorial/video.json b/100-days-of-code-youtube/02-Day2-Application-of-Python/.tutorial/video.json new file mode 100644 index 00000000..8167589d --- /dev/null +++ b/100-days-of-code-youtube/02-Day2-Application-of-Python/.tutorial/video.json @@ -0,0 +1 @@ +{"embedUrl": "https://www.youtube.com/embed/Tto8TS-fJQU"} \ No newline at end of file diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/1. Jarvis Virtual Assistant/1. jarvis.py b/100-days-of-code-youtube/02-Day2-Application-of-Python/1. Jarvis Virtual Assistant/1. jarvis.py new file mode 100644 index 00000000..6e0baf32 --- /dev/null +++ b/100-days-of-code-youtube/02-Day2-Application-of-Python/1. Jarvis Virtual Assistant/1. jarvis.py @@ -0,0 +1,113 @@ +# pip install pyaudio + +import pyttsx3 #pip install pyttsx3 +import speech_recognition as sr #pip install speechRecognition +import datetime +import wikipedia #pip install wikipedia +import webbrowser +import os +import smtplib + +engine = pyttsx3.init('sapi5') +voices = engine.getProperty('voices') +# print(voices[1].id) +engine.setProperty('voice', voices[0].id) + + +def speak(audio): + engine.say(audio) + engine.runAndWait() + + +def wishMe(): + hour = int(datetime.datetime.now().hour) + if hour>=0 and hour<12: + speak("Good Morning!") + + elif hour>=12 and hour<18: + speak("Good Afternoon!") + + else: + speak("Good Evening!") + + speak("I am Jarvis Sir. Please tell me how may I help you") + +def takeCommand(): + #It takes microphone input from the user and returns string output + + r = sr.Recognizer() + with sr.Microphone() as source: + print("Listening...") + r.pause_threshold = 1 + audio = r.listen(source) + + try: + print("Recognizing...") + query = r.recognize_google(audio, language='en-in') + print(f"User said: {query}\n") + + except Exception as e: + # print(e) + print("Say that again please...") + return "None" + return query + +def sendEmail(to, content): + server = smtplib.SMTP('smtp.gmail.com', 587) + server.ehlo() + server.starttls() + server.login('youremail@gmail.com', 'your-password') + server.sendmail('youremail@gmail.com', to, content) + server.close() + +if __name__ == "__main__": + wishMe() + while True: + # if 1: + query = takeCommand().lower() + + # Logic for executing tasks based on query + if 'wikipedia' in query: + speak('Searching Wikipedia...') + query = query.replace("wikipedia", "") + results = wikipedia.summary(query, sentences=2) + speak("According to Wikipedia") + print(results) + speak(results) + + elif 'open youtube' in query: + webbrowser.open("youtube.com") + + elif 'open google' in query: + webbrowser.open("google.com") + + elif 'open stackoverflow' in query: + webbrowser.open("stackoverflow.com") + + + elif 'play music' in query: + music_dir = 'D:\\Non Critical\\songs\\Favorite Songs2' + songs = os.listdir(music_dir) + print(songs) + os.startfile(os.path.join(music_dir, songs[0])) + + elif 'the time' in query: + strTime = datetime.datetime.now().strftime("%H:%M:%S") + speak(f"Sir, the time is {strTime}") + + elif 'open code' in query: + codePath = "C:\\Users\\Haris\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe" + os.startfile(codePath) + + elif 'email to harry' in query: + try: + speak("What should I say?") + content = takeCommand() + to = "harryyourEmail@gmail.com" + sendEmail(to, content) + speak("Email has been sent!") + except Exception as e: + print(e) + speak("Sorry my friend harry bhai. I am not able to send this email") + else: + print("No query matched") \ No newline at end of file diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/2. Love Calculator/2. love calculator.py b/100-days-of-code-youtube/02-Day2-Application-of-Python/2. Love Calculator/2. love calculator.py new file mode 100644 index 00000000..2fe78d20 --- /dev/null +++ b/100-days-of-code-youtube/02-Day2-Application-of-Python/2. Love Calculator/2. love calculator.py @@ -0,0 +1,52 @@ +# Python Tkinter GUI based "LOVE CALCULATOR" + +# import tkinter +from tkinter import * +# import random module +import random +# Creating GUI window +root = Tk() +# Defining the container size, width=400, height=240 +root.geometry('400x240') +# Title of the container +root.title('Love Calculator????') + +# Function to calculate love percentage +# between the user ans partner + + +def calculate_love(): + # value will contain digits between 0-9 + st = '0123456789' + # result will be in double digits + digit = 2 + temp = "".join(random.sample(st, digit)) + result.config(text=temp) + + +# Heading on Top +heading = Label(root, text='Love Calculator - How much is he/she into you') +heading.pack() + +# Slot/input for the first name +slot1 = Label(root, text="Enter Your Name:") +slot1.pack() +name1 = Entry(root, border=5) +name1.pack() + +# Slot/input for the partner name +slot2 = Label(root, text="Enter Your Partner Name:") +slot2.pack() +name2 = Entry(root, border=5) +name2.pack() + +bt = Button(root, text="Calculate", height=1, + width=7, command=calculate_love) +bt.pack() + +# Text on result slot +result = Label(root, text='Love Percentage between both of You:') +result.pack() + +# Starting the GUI +root.mainloop() diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/3. Face Recognition/1.jpg b/100-days-of-code-youtube/02-Day2-Application-of-Python/3. Face Recognition/1.jpg new file mode 100644 index 00000000..d261b61a Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/3. Face Recognition/1.jpg differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/3. Face Recognition/1.png b/100-days-of-code-youtube/02-Day2-Application-of-Python/3. Face Recognition/1.png new file mode 100644 index 00000000..c5f1c590 Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/3. Face Recognition/1.png differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/3. Face Recognition/3. face recognition.py b/100-days-of-code-youtube/02-Day2-Application-of-Python/3. Face Recognition/3. face recognition.py new file mode 100644 index 00000000..fa72e4b3 --- /dev/null +++ b/100-days-of-code-youtube/02-Day2-Application-of-Python/3. Face Recognition/3. face recognition.py @@ -0,0 +1,25 @@ +import cv2 + +#Loading The Cascade File +face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') + +#Reading the Input Image +# image= cv2.imread('1.jpg') +image= cv2.imread('1.png') + +#Resizing the Image +img = cv2.resize(image,None,fx=0.3,fy=0.3) + +#Converting the image into grayscale image +imgGray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) + +#Detecting The Faces +faces = face_cascade.detectMultiScale(imgGray, 1.2, 5) + +#Pointing The Faces +for (x,y,w,h) in faces: + cv2.rectangle(img, (x,y), (x+w, y+h), (255,0,0),2) + +#Displaying The Output Image +cv2.imshow('img', img) +cv2.waitKey() \ No newline at end of file diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/3. Face Recognition/haarcascade_frontalface_default.xml b/100-days-of-code-youtube/02-Day2-Application-of-Python/3. Face Recognition/haarcascade_frontalface_default.xml new file mode 100644 index 00000000..bc2aa3c7 --- /dev/null +++ b/100-days-of-code-youtube/02-Day2-Application-of-Python/3. Face Recognition/haarcascade_frontalface_default.xml @@ -0,0 +1,33314 @@ + + + +BOOST + HAAR + 24 + 24 + + 211 + + 0 + 25 + + <_> + 9 + -5.0425500869750977e+00 + + <_> + + 0 -1 0 -3.1511999666690826e-02 + + 2.0875380039215088e+00 -2.2172100543975830e+00 + <_> + + 0 -1 1 1.2396000325679779e-02 + + -1.8633940219879150e+00 1.3272049427032471e+00 + <_> + + 0 -1 2 2.1927999332547188e-02 + + -1.5105249881744385e+00 1.0625729560852051e+00 + <_> + + 0 -1 3 5.7529998011887074e-03 + + -8.7463897466659546e-01 1.1760339736938477e+00 + <_> + + 0 -1 4 1.5014000236988068e-02 + + -7.7945697307586670e-01 1.2608419656753540e+00 + <_> + + 0 -1 5 9.9371001124382019e-02 + + 5.5751299858093262e-01 -1.8743000030517578e+00 + <_> + + 0 -1 6 2.7340000960975885e-03 + + -1.6911929845809937e+00 4.4009700417518616e-01 + <_> + + 0 -1 7 -1.8859000876545906e-02 + + -1.4769539833068848e+00 4.4350099563598633e-01 + <_> + + 0 -1 8 5.9739998541772366e-03 + + -8.5909199714660645e-01 8.5255599021911621e-01 + <_> + 16 + -4.9842400550842285e+00 + + <_> + + 0 -1 9 -2.1110000088810921e-02 + + 1.2435649633407593e+00 -1.5713009834289551e+00 + <_> + + 0 -1 10 2.0355999469757080e-02 + + -1.6204780340194702e+00 1.1817760467529297e+00 + <_> + + 0 -1 11 2.1308999508619308e-02 + + -1.9415930509567261e+00 7.0069098472595215e-01 + <_> + + 0 -1 12 9.1660000383853912e-02 + + -5.5670100450515747e-01 1.7284419536590576e+00 + <_> + + 0 -1 13 3.6288000643253326e-02 + + 2.6763799786567688e-01 -2.1831810474395752e+00 + <_> + + 0 -1 14 -1.9109999760985374e-02 + + -2.6730210781097412e+00 4.5670801401138306e-01 + <_> + + 0 -1 15 8.2539999857544899e-03 + + -1.0852910280227661e+00 5.3564202785491943e-01 + <_> + + 0 -1 16 1.8355000764131546e-02 + + -3.5200199484825134e-01 9.3339198827743530e-01 + <_> + + 0 -1 17 -7.0569999516010284e-03 + + 9.2782098054885864e-01 -6.6349899768829346e-01 + <_> + + 0 -1 18 -9.8770000040531158e-03 + + 1.1577470302581787e+00 -2.9774799942970276e-01 + <_> + + 0 -1 19 1.5814000740647316e-02 + + -4.1960600018501282e-01 1.3576040267944336e+00 + <_> + + 0 -1 20 -2.0700000226497650e-02 + + 1.4590020179748535e+00 -1.9739399850368500e-01 + <_> + + 0 -1 21 -1.3760800659656525e-01 + + 1.1186759471893311e+00 -5.2915501594543457e-01 + <_> + + 0 -1 22 1.4318999834358692e-02 + + -3.5127198696136475e-01 1.1440860033035278e+00 + <_> + + 0 -1 23 1.0253000073134899e-02 + + -6.0850602388381958e-01 7.7098500728607178e-01 + <_> + + 0 -1 24 9.1508001089096069e-02 + + 3.8817799091339111e-01 -1.5122940540313721e+00 + <_> + 27 + -4.6551899909973145e+00 + + <_> + + 0 -1 25 6.9747000932693481e-02 + + -1.0130879878997803e+00 1.4687349796295166e+00 + <_> + + 0 -1 26 3.1502999365329742e-02 + + -1.6463639736175537e+00 1.0000629425048828e+00 + <_> + + 0 -1 27 1.4260999858379364e-02 + + 4.6480301022529602e-01 -1.5959889888763428e+00 + <_> + + 0 -1 28 1.4453000389039516e-02 + + -6.5511900186538696e-01 8.3021801710128784e-01 + <_> + + 0 -1 29 -3.0509999487549067e-03 + + -1.3982310295104980e+00 4.2550599575042725e-01 + <_> + + 0 -1 30 3.2722998410463333e-02 + + -5.0702601671218872e-01 1.0526109933853149e+00 + <_> + + 0 -1 31 -7.2960001416504383e-03 + + 3.6356899142265320e-01 -1.3464889526367188e+00 + <_> + + 0 -1 32 5.0425000488758087e-02 + + -3.0461400747299194e-01 1.4504129886627197e+00 + <_> + + 0 -1 33 4.6879000961780548e-02 + + -4.0286201238632202e-01 1.2145609855651855e+00 + <_> + + 0 -1 34 -6.9358997046947479e-02 + + 1.0539360046386719e+00 -4.5719701051712036e-01 + <_> + + 0 -1 35 -4.9033999443054199e-02 + + -1.6253089904785156e+00 1.5378999710083008e-01 + <_> + + 0 -1 36 8.4827996790409088e-02 + + 2.8402999043464661e-01 -1.5662059783935547e+00 + <_> + + 0 -1 37 -1.7229999648407102e-03 + + -1.0147459506988525e+00 2.3294800519943237e-01 + <_> + + 0 -1 38 1.1562199890613556e-01 + + -1.6732899844646454e-01 1.2804069519042969e+00 + <_> + + 0 -1 39 -5.1279999315738678e-02 + + 1.5162390470504761e+00 -3.0271100997924805e-01 + <_> + + 0 -1 40 -4.2706999927759171e-02 + + 1.7631920576095581e+00 -5.1832001656293869e-02 + <_> + + 0 -1 41 3.7178099155426025e-01 + + -3.1389200687408447e-01 1.5357979536056519e+00 + <_> + + 0 -1 42 1.9412999972701073e-02 + + -1.0017599910497665e-01 9.3655401468276978e-01 + <_> + + 0 -1 43 1.7439000308513641e-02 + + -4.0379899740219116e-01 9.6293002367019653e-01 + <_> + + 0 -1 44 3.9638999849557877e-02 + + 1.7039099335670471e-01 -2.9602990150451660e+00 + <_> + + 0 -1 45 -9.1469995677471161e-03 + + 8.8786798715591431e-01 -4.3818700313568115e-01 + <_> + + 0 -1 46 1.7219999572262168e-03 + + -3.7218600511550903e-01 4.0018901228904724e-01 + <_> + + 0 -1 47 3.0231000855565071e-02 + + 6.5924003720283508e-02 -2.6469180583953857e+00 + <_> + + 0 -1 48 -7.8795999288558960e-02 + + -1.7491459846496582e+00 2.8475299477577209e-01 + <_> + + 0 -1 49 2.1110000088810921e-03 + + -9.3908101320266724e-01 2.3205199837684631e-01 + <_> + + 0 -1 50 2.7091000229120255e-02 + + -5.2664000540971756e-02 1.0756820440292358e+00 + <_> + + 0 -1 51 -4.4964998960494995e-02 + + -1.8294479846954346e+00 9.9561996757984161e-02 + <_> + 32 + -4.4531588554382324e+00 + + <_> + + 0 -1 52 -6.5701000392436981e-02 + + 1.1558510065078735e+00 -1.0716359615325928e+00 + <_> + + 0 -1 53 1.5839999541640282e-02 + + -1.5634720325469971e+00 7.6877099275588989e-01 + <_> + + 0 -1 54 1.4570899307727814e-01 + + -5.7450097799301147e-01 1.3808720111846924e+00 + <_> + + 0 -1 55 6.1389999464154243e-03 + + -1.4570560455322266e+00 5.1610302925109863e-01 + <_> + + 0 -1 56 6.7179999314248562e-03 + + -8.3533602952957153e-01 5.8522200584411621e-01 + <_> + + 0 -1 57 1.8518000841140747e-02 + + -3.1312099099159241e-01 1.1696679592132568e+00 + <_> + + 0 -1 58 1.9958000630140305e-02 + + -4.3442600965499878e-01 9.5446902513504028e-01 + <_> + + 0 -1 59 -2.7755001187324524e-01 + + 1.4906179904937744e+00 -1.3815900683403015e-01 + <_> + + 0 -1 60 9.1859996318817139e-03 + + -9.6361500024795532e-01 2.7665498852729797e-01 + <_> + + 0 -1 61 -3.7737999111413956e-02 + + -2.4464108943939209e+00 2.3619599640369415e-01 + <_> + + 0 -1 62 1.8463000655174255e-02 + + 1.7539200186729431e-01 -1.3423130512237549e+00 + <_> + + 0 -1 63 -1.1114999651908875e-02 + + 4.8710799217224121e-01 -8.9851897954940796e-01 + <_> + + 0 -1 64 3.3927999436855316e-02 + + 1.7874200642108917e-01 -1.6342279911041260e+00 + <_> + + 0 -1 65 -3.5649001598358154e-02 + + -1.9607399702072144e+00 1.8102499842643738e-01 + <_> + + 0 -1 66 -1.1438000015914440e-02 + + 9.9010699987411499e-01 -3.8103199005126953e-01 + <_> + + 0 -1 67 -6.5236002206802368e-02 + + -2.5794160366058350e+00 2.4753600358963013e-01 + <_> + + 0 -1 68 -4.2272001504898071e-02 + + 1.4411840438842773e+00 -2.9508298635482788e-01 + <_> + + 0 -1 69 1.9219999667257071e-03 + + -4.9608600139617920e-01 6.3173598051071167e-01 + <_> + + 0 -1 70 -1.2921799719333649e-01 + + -2.3314270973205566e+00 5.4496999830007553e-02 + <_> + + 0 -1 71 2.2931000217795372e-02 + + -8.4447097778320312e-01 3.8738098740577698e-01 + <_> + + 0 -1 72 -3.4120000898838043e-02 + + -1.4431500434875488e+00 9.8422996699810028e-02 + <_> + + 0 -1 73 2.6223000138998032e-02 + + 1.8223099410533905e-01 -1.2586519718170166e+00 + <_> + + 0 -1 74 2.2236999124288559e-02 + + 6.9807998836040497e-02 -2.3820950984954834e+00 + <_> + + 0 -1 75 -5.8240001089870930e-03 + + 3.9332500100135803e-01 -2.7542799711227417e-01 + <_> + + 0 -1 76 4.3653000146150589e-02 + + 1.4832699298858643e-01 -1.1368780136108398e+00 + <_> + + 0 -1 77 5.7266999036073685e-02 + + 2.4628099799156189e-01 -1.2687400579452515e+00 + <_> + + 0 -1 78 2.3409998975694180e-03 + + -7.5448900461196899e-01 2.7163800597190857e-01 + <_> + + 0 -1 79 1.2996000237762928e-02 + + -3.6394900083541870e-01 7.0959198474884033e-01 + <_> + + 0 -1 80 -2.6517000049352646e-02 + + -2.3221859931945801e+00 3.5744000226259232e-02 + <_> + + 0 -1 81 -5.8400002308189869e-03 + + 4.2194300889968872e-01 -4.8184998333454132e-02 + <_> + + 0 -1 82 -1.6568999737501144e-02 + + 1.1099940538406372e+00 -3.4849700331687927e-01 + <_> + + 0 -1 83 -6.8157002329826355e-02 + + -3.3269989490509033e+00 2.1299000084400177e-01 + <_> + 52 + -4.3864588737487793e+00 + + <_> + + 0 -1 84 3.9974000304937363e-02 + + -1.2173449993133545e+00 1.0826710462570190e+00 + <_> + + 0 -1 85 1.8819500505924225e-01 + + -4.8289400339126587e-01 1.4045250415802002e+00 + <_> + + 0 -1 86 7.8027002513408661e-02 + + -1.0782150030136108e+00 7.4040299654006958e-01 + <_> + + 0 -1 87 1.1899999663000926e-04 + + -1.2019979953765869e+00 3.7749201059341431e-01 + <_> + + 0 -1 88 8.5056997835636139e-02 + + -4.3939098715782166e-01 1.2647340297698975e+00 + <_> + + 0 -1 89 8.9720003306865692e-03 + + -1.8440499901771545e-01 4.5726400613784790e-01 + <_> + + 0 -1 90 8.8120000436902046e-03 + + 3.0396699905395508e-01 -9.5991098880767822e-01 + <_> + + 0 -1 91 -2.3507999256253242e-02 + + 1.2487529516220093e+00 4.6227999031543732e-02 + <_> + + 0 -1 92 7.0039997808635235e-03 + + -5.9442102909088135e-01 5.3963297605514526e-01 + <_> + + 0 -1 93 3.3851999789476395e-02 + + 2.8496098518371582e-01 -1.4895249605178833e+00 + <_> + + 0 -1 94 -3.2530000898987055e-03 + + 4.8120799660682678e-01 -5.2712398767471313e-01 + <_> + + 0 -1 95 2.9097000136971474e-02 + + 2.6743900775909424e-01 -1.6007850170135498e+00 + <_> + + 0 -1 96 -8.4790000692009926e-03 + + -1.3107639551162720e+00 1.5243099629878998e-01 + <_> + + 0 -1 97 -1.0795000009238720e-02 + + 4.5613598823547363e-01 -7.2050899267196655e-01 + <_> + + 0 -1 98 -2.4620000272989273e-02 + + -1.7320619821548462e+00 6.8363003432750702e-02 + <_> + + 0 -1 99 3.7380000576376915e-03 + + -1.9303299486637115e-01 6.8243497610092163e-01 + <_> + + 0 -1 100 -1.2264000251889229e-02 + + -1.6095290184020996e+00 7.5268000364303589e-02 + <_> + + 0 -1 101 -4.8670000396668911e-03 + + 7.4286502599716187e-01 -2.1510200202465057e-01 + <_> + + 0 -1 102 7.6725997030735016e-02 + + -2.6835098862648010e-01 1.3094140291213989e+00 + <_> + + 0 -1 103 2.8578000143170357e-02 + + -5.8793000876903534e-02 1.2196329832077026e+00 + <_> + + 0 -1 104 1.9694000482559204e-02 + + -3.5142898559570312e-01 8.4926998615264893e-01 + <_> + + 0 -1 105 -2.9093999415636063e-02 + + -1.0507299900054932e+00 2.9806300997734070e-01 + <_> + + 0 -1 106 -2.9144000262022018e-02 + + 8.2547801733016968e-01 -3.2687199115753174e-01 + <_> + + 0 -1 107 1.9741000607609749e-02 + + 2.0452600717544556e-01 -8.3760201930999756e-01 + <_> + + 0 -1 108 4.3299999088048935e-03 + + 2.0577900111675262e-01 -6.6829800605773926e-01 + <_> + + 0 -1 109 -3.5500999540090561e-02 + + -1.2969900369644165e+00 1.3897499442100525e-01 + <_> + + 0 -1 110 -1.6172999516129494e-02 + + -1.3110569715499878e+00 7.5751997530460358e-02 + <_> + + 0 -1 111 -2.2151000797748566e-02 + + -1.0524389743804932e+00 1.9241100549697876e-01 + <_> + + 0 -1 112 -2.2707000374794006e-02 + + -1.3735309839248657e+00 6.6780999302864075e-02 + <_> + + 0 -1 113 1.6607999801635742e-02 + + -3.7135999649763107e-02 7.7846401929855347e-01 + <_> + + 0 -1 114 -1.3309000059962273e-02 + + -9.9850702285766602e-01 1.2248100340366364e-01 + <_> + + 0 -1 115 -3.3732000738382339e-02 + + 1.4461359977722168e+00 1.3151999562978745e-02 + <_> + + 0 -1 116 1.6935000196099281e-02 + + -3.7121298909187317e-01 5.2842199802398682e-01 + <_> + + 0 -1 117 3.3259999472647905e-03 + + -5.7568502426147461e-01 3.9261901378631592e-01 + <_> + + 0 -1 118 8.3644002676010132e-02 + + 1.6116000711917877e-02 -2.1173279285430908e+00 + <_> + + 0 -1 119 2.5785198807716370e-01 + + -8.1609003245830536e-02 9.8782497644424438e-01 + <_> + + 0 -1 120 -3.6566998809576035e-02 + + -1.1512110233306885e+00 9.6459001302719116e-02 + <_> + + 0 -1 121 -1.6445999965071678e-02 + + 3.7315499782562256e-01 -1.4585399627685547e-01 + <_> + + 0 -1 122 -3.7519999314099550e-03 + + 2.6179298758506775e-01 -5.8156698942184448e-01 + <_> + + 0 -1 123 -6.3660000450909138e-03 + + 7.5477397441864014e-01 -1.7055200040340424e-01 + <_> + + 0 -1 124 -3.8499999791383743e-03 + + 2.2653999924659729e-01 -6.3876402378082275e-01 + <_> + + 0 -1 125 -4.5494001358747482e-02 + + -1.2640299797058105e+00 2.5260698795318604e-01 + <_> + + 0 -1 126 -2.3941000923514366e-02 + + 8.7068402767181396e-01 -2.7104699611663818e-01 + <_> + + 0 -1 127 -7.7558003365993500e-02 + + -1.3901610374450684e+00 2.3612299561500549e-01 + <_> + + 0 -1 128 2.3614000529050827e-02 + + 6.6140003502368927e-02 -1.2645419836044312e+00 + <_> + + 0 -1 129 -2.5750000495463610e-03 + + -5.3841698169708252e-01 3.0379098653793335e-01 + <_> + + 0 -1 130 1.2010800093412399e-01 + + -3.5343000292778015e-01 5.2866202592849731e-01 + <_> + + 0 -1 131 2.2899999748915434e-03 + + -5.8701997995376587e-01 2.4061000347137451e-01 + <_> + + 0 -1 132 6.9716997444629669e-02 + + -3.3348900079727173e-01 5.1916301250457764e-01 + <_> + + 0 -1 133 -4.6670001000165939e-02 + + 6.9795399904251099e-01 -1.4895999804139137e-02 + <_> + + 0 -1 134 -5.0129000097513199e-02 + + 8.6146199703216553e-01 -2.5986000895500183e-01 + <_> + + 0 -1 135 3.0147999525070190e-02 + + 1.9332799315452576e-01 -5.9131097793579102e-01 + <_> + 53 + -4.1299300193786621e+00 + + <_> + + 0 -1 136 9.1085001826286316e-02 + + -8.9233100414276123e-01 1.0434230566024780e+00 + <_> + + 0 -1 137 1.2818999588489532e-02 + + -1.2597670555114746e+00 5.5317097902297974e-01 + <_> + + 0 -1 138 1.5931999310851097e-02 + + -8.6254400014877319e-01 6.3731801509857178e-01 + <_> + + 0 -1 139 2.2780001163482666e-03 + + -7.4639201164245605e-01 5.3155601024627686e-01 + <_> + + 0 -1 140 3.1840998679399490e-02 + + -1.2650489807128906e+00 3.6153900623321533e-01 + <_> + + 0 -1 141 2.6960000395774841e-03 + + -9.8290401697158813e-01 3.6013001203536987e-01 + <_> + + 0 -1 142 -1.2055000290274620e-02 + + 6.4068400859832764e-01 -5.0125002861022949e-01 + <_> + + 0 -1 143 2.1324999630451202e-02 + + -2.4034999310970306e-01 8.5448002815246582e-01 + <_> + + 0 -1 144 3.0486000701785088e-02 + + -3.4273600578308105e-01 1.1428849697113037e+00 + <_> + + 0 -1 145 -4.5079998672008514e-02 + + 1.0976949930191040e+00 -1.7974600195884705e-01 + <_> + + 0 -1 146 -7.1700997650623322e-02 + + 1.5735000371932983e+00 -3.1433498859405518e-01 + <_> + + 0 -1 147 5.9218000620603561e-02 + + -2.7582401037216187e-01 1.0448570251464844e+00 + <_> + + 0 -1 148 6.7010000348091125e-03 + + -1.0974019765853882e+00 1.9801199436187744e-01 + <_> + + 0 -1 149 4.1046999394893646e-02 + + 3.0547699332237244e-01 -1.3287999629974365e+00 + <_> + + 0 -1 150 -8.5499999113380909e-04 + + 2.5807100534439087e-01 -7.0052897930145264e-01 + <_> + + 0 -1 151 -3.0360000208020210e-02 + + -1.2306419610977173e+00 2.2609399259090424e-01 + <_> + + 0 -1 152 -1.2930000200867653e-02 + + 4.0758600831031799e-01 -5.1234501600265503e-01 + <_> + + 0 -1 153 3.7367999553680420e-02 + + -9.4755001366138458e-02 6.1765098571777344e-01 + <_> + + 0 -1 154 2.4434000253677368e-02 + + -4.1100600361824036e-01 4.7630500793457031e-01 + <_> + + 0 -1 155 5.7007998228073120e-02 + + 2.5249299407005310e-01 -6.8669801950454712e-01 + <_> + + 0 -1 156 -1.6313999891281128e-02 + + -9.3928402662277222e-01 1.1448100209236145e-01 + <_> + + 0 -1 157 -1.7648899555206299e-01 + + 1.2451089620590210e+00 -5.6519001722335815e-02 + <_> + + 0 -1 158 1.7614600062370300e-01 + + -3.2528200745582581e-01 8.2791501283645630e-01 + <_> + + 0 -1 159 -7.3910001665353775e-03 + + 3.4783700108528137e-01 -1.7929099500179291e-01 + <_> + + 0 -1 160 6.0890998691320419e-02 + + 5.5098000913858414e-02 -1.5480779409408569e+00 + <_> + + 0 -1 161 -2.9123000800609589e-02 + + -1.0255639553070068e+00 2.4106900393962860e-01 + <_> + + 0 -1 162 -4.5648999512195587e-02 + + 1.0301599502563477e+00 -3.1672099232673645e-01 + <_> + + 0 -1 163 3.7333000451326370e-02 + + 2.1620599925518036e-01 -8.2589900493621826e-01 + <_> + + 0 -1 164 -2.4411000311374664e-02 + + -1.5957959890365601e+00 5.1139000803232193e-02 + <_> + + 0 -1 165 -5.9806998819112778e-02 + + -1.0312290191650391e+00 1.3092300295829773e-01 + <_> + + 0 -1 166 -3.0106000602245331e-02 + + -1.4781630039215088e+00 3.7211999297142029e-02 + <_> + + 0 -1 167 7.4209999293088913e-03 + + -2.4024100601673126e-01 4.9333998560905457e-01 + <_> + + 0 -1 168 -2.1909999195486307e-03 + + 2.8941500186920166e-01 -5.7259601354598999e-01 + <_> + + 0 -1 169 2.0860999822616577e-02 + + -2.3148399591445923e-01 6.3765901327133179e-01 + <_> + + 0 -1 170 -6.6990000195801258e-03 + + -1.2107750177383423e+00 6.4018003642559052e-02 + <_> + + 0 -1 171 1.8758000805974007e-02 + + 2.4461300671100616e-01 -9.9786698818206787e-01 + <_> + + 0 -1 172 -4.4323001056909561e-02 + + -1.3699189424514771e+00 3.6051999777555466e-02 + <_> + + 0 -1 173 2.2859999909996986e-02 + + 2.1288399398326874e-01 -1.0397620201110840e+00 + <_> + + 0 -1 174 -9.8600005730986595e-04 + + 3.2443600893020630e-01 -5.4291802644729614e-01 + <_> + + 0 -1 175 1.7239000648260117e-02 + + -2.8323900699615479e-01 4.4468200206756592e-01 + <_> + + 0 -1 176 -3.4531001001596451e-02 + + -2.3107020854949951e+00 -3.1399999279528856e-03 + <_> + + 0 -1 177 6.7006997764110565e-02 + + 2.8715699911117554e-01 -6.4481002092361450e-01 + <_> + + 0 -1 178 2.3776899278163910e-01 + + -2.7174800634384155e-01 8.0219101905822754e-01 + <_> + + 0 -1 179 -1.2903000228106976e-02 + + -1.5317620038986206e+00 2.1423600614070892e-01 + <_> + + 0 -1 180 1.0514999739825726e-02 + + 7.7037997543811798e-02 -1.0581140518188477e+00 + <_> + + 0 -1 181 1.6969000920653343e-02 + + 1.4306700229644775e-01 -8.5828399658203125e-01 + <_> + + 0 -1 182 -7.2460002265870571e-03 + + -1.1020129919052124e+00 6.4906999468803406e-02 + <_> + + 0 -1 183 1.0556999593973160e-02 + + 1.3964000158011913e-02 6.3601499795913696e-01 + <_> + + 0 -1 184 6.1380001716315746e-03 + + -3.4545901417732239e-01 5.6296801567077637e-01 + <_> + + 0 -1 185 1.3158000074326992e-02 + + 1.9927300512790680e-01 -1.5040320158004761e+00 + <_> + + 0 -1 186 3.1310000922530890e-03 + + -4.0903699398040771e-01 3.7796398997306824e-01 + <_> + + 0 -1 187 -1.0920699685811996e-01 + + -2.2227079868316650e+00 1.2178199738264084e-01 + <_> + + 0 -1 188 8.1820003688335419e-03 + + -2.8652000427246094e-01 6.7890799045562744e-01 + <_> + 62 + -4.0218091011047363e+00 + + <_> + + 0 -1 189 3.1346999108791351e-02 + + -8.8884598016738892e-01 9.4936800003051758e-01 + <_> + + 0 -1 190 3.1918000429868698e-02 + + -1.1146880388259888e+00 4.8888999223709106e-01 + <_> + + 0 -1 191 6.5939999185502529e-03 + + -1.0097689628601074e+00 4.9723801016807556e-01 + <_> + + 0 -1 192 2.6148000732064247e-02 + + 2.5991299748420715e-01 -1.2537480592727661e+00 + <_> + + 0 -1 193 1.2845000252127647e-02 + + -5.7138597965240479e-01 5.9659498929977417e-01 + <_> + + 0 -1 194 2.6344999670982361e-02 + + -5.5203199386596680e-01 3.0217400193214417e-01 + <_> + + 0 -1 195 -1.5083000063896179e-02 + + -1.2871240377426147e+00 2.2354200482368469e-01 + <_> + + 0 -1 196 -3.8887001574039459e-02 + + 1.7425049543380737e+00 -9.9747002124786377e-02 + <_> + + 0 -1 197 -5.7029998861253262e-03 + + -1.0523240566253662e+00 1.8362599611282349e-01 + <_> + + 0 -1 198 -1.4860000228509307e-03 + + 5.6784200668334961e-01 -4.6742001175880432e-01 + <_> + + 0 -1 199 -2.8486000373959541e-02 + + 1.3082909584045410e+00 -2.6460900902748108e-01 + <_> + + 0 -1 200 6.6224999725818634e-02 + + -4.6210700273513794e-01 4.1749599575996399e-01 + <_> + + 0 -1 201 8.8569996878504753e-03 + + -4.1474899649620056e-01 5.9204798936843872e-01 + <_> + + 0 -1 202 1.1355999857187271e-02 + + 3.6103099584579468e-01 -4.5781201124191284e-01 + <_> + + 0 -1 203 -2.7679998893290758e-03 + + -8.9238899946212769e-01 1.4199000597000122e-01 + <_> + + 0 -1 204 1.1246999725699425e-02 + + 2.9353401064872742e-01 -9.7330600023269653e-01 + <_> + + 0 -1 205 7.1970000863075256e-03 + + -7.9334902763366699e-01 1.8313400447368622e-01 + <_> + + 0 -1 206 3.1768999993801117e-02 + + 1.5523099899291992e-01 -1.3245639801025391e+00 + <_> + + 0 -1 207 2.5173999369144440e-02 + + 3.4214999526739120e-02 -2.0948131084442139e+00 + <_> + + 0 -1 208 7.5360001064836979e-03 + + -3.9450600743293762e-01 5.1333999633789062e-01 + <_> + + 0 -1 209 3.2873000949621201e-02 + + 8.8372997939586639e-02 -1.2814120054244995e+00 + <_> + + 0 -1 210 -2.7379998937249184e-03 + + 5.5286502838134766e-01 -4.6384999155998230e-01 + <_> + + 0 -1 211 -3.8075000047683716e-02 + + -1.8497270345687866e+00 4.5944001525640488e-02 + <_> + + 0 -1 212 -3.8984000682830811e-02 + + -4.8223701119422913e-01 3.4760600328445435e-01 + <_> + + 0 -1 213 2.8029999230057001e-03 + + -4.5154699683189392e-01 4.2806300520896912e-01 + <_> + + 0 -1 214 -5.4145999252796173e-02 + + -8.4520798921585083e-01 1.6674900054931641e-01 + <_> + + 0 -1 215 -8.3280000835657120e-03 + + 3.5348299145698547e-01 -4.7163200378417969e-01 + <_> + + 0 -1 216 3.3778000622987747e-02 + + 1.8463100492954254e-01 -1.6686669588088989e+00 + <_> + + 0 -1 217 -1.1238099634647369e-01 + + -1.2521569728851318e+00 3.5992000252008438e-02 + <_> + + 0 -1 218 -1.0408000089228153e-02 + + -8.1620401144027710e-01 2.3428599536418915e-01 + <_> + + 0 -1 219 -4.9439999274909496e-03 + + -9.2584699392318726e-01 1.0034800320863724e-01 + <_> + + 0 -1 220 -9.3029998242855072e-03 + + 5.6499302387237549e-01 -1.8881900608539581e-01 + <_> + + 0 -1 221 -1.1749999597668648e-02 + + 8.0302399396896362e-01 -3.8277000188827515e-01 + <_> + + 0 -1 222 -2.3217000067234039e-02 + + -8.4926998615264893e-01 1.9671200215816498e-01 + <_> + + 0 -1 223 1.6866000369191170e-02 + + -4.0591898560523987e-01 5.0695300102233887e-01 + <_> + + 0 -1 224 -2.4031000211834908e-02 + + -1.5297520160675049e+00 2.3344999551773071e-01 + <_> + + 0 -1 225 -3.6945998668670654e-02 + + 6.3007700443267822e-01 -3.1780400872230530e-01 + <_> + + 0 -1 226 -6.1563998460769653e-02 + + 5.8627897500991821e-01 -1.2107999995350838e-02 + <_> + + 0 -1 227 2.1661000326275826e-02 + + -2.5623700022697449e-01 1.0409849882125854e+00 + <_> + + 0 -1 228 -3.6710000131279230e-03 + + 2.9171100258827209e-01 -8.3287298679351807e-01 + <_> + + 0 -1 229 4.4849000871181488e-02 + + -3.9633199572563171e-01 4.5662000775337219e-01 + <_> + + 0 -1 230 5.7195000350475311e-02 + + 2.1023899316787720e-01 -1.5004800558090210e+00 + <_> + + 0 -1 231 -1.1342000216245651e-02 + + 4.4071298837661743e-01 -3.8653799891471863e-01 + <_> + + 0 -1 232 -1.2004000134766102e-02 + + 9.3954598903656006e-01 -1.0589499771595001e-01 + <_> + + 0 -1 233 2.2515999153256416e-02 + + 9.4480002298951149e-03 -1.6799509525299072e+00 + <_> + + 0 -1 234 -1.9809000194072723e-02 + + -1.0133639574050903e+00 2.4146600067615509e-01 + <_> + + 0 -1 235 1.5891000628471375e-02 + + -3.7507599592208862e-01 4.6614098548889160e-01 + <_> + + 0 -1 236 -9.1420002281665802e-03 + + -8.0484098196029663e-01 1.7816999554634094e-01 + <_> + + 0 -1 237 -4.4740000739693642e-03 + + -1.0562069416046143e+00 7.3305003345012665e-02 + <_> + + 0 -1 238 1.2742500007152557e-01 + + 2.0165599882602692e-01 -1.5467929840087891e+00 + <_> + + 0 -1 239 4.7703001648187637e-02 + + -3.7937799096107483e-01 3.7885999679565430e-01 + <_> + + 0 -1 240 5.3608000278472900e-02 + + 2.1220499277114868e-01 -1.2399710416793823e+00 + <_> + + 0 -1 241 -3.9680998772382736e-02 + + -1.0257550477981567e+00 5.1282998174428940e-02 + <_> + + 0 -1 242 -6.7327000200748444e-02 + + -1.0304750204086304e+00 2.3005299270153046e-01 + <_> + + 0 -1 243 1.3337600231170654e-01 + + -2.0869000256061554e-01 1.2272510528564453e+00 + <_> + + 0 -1 244 -2.0919300615787506e-01 + + 8.7929898500442505e-01 -4.4254999607801437e-02 + <_> + + 0 -1 245 -6.5589003264904022e-02 + + 1.0443429946899414e+00 -2.1682099997997284e-01 + <_> + + 0 -1 246 6.1882998794317245e-02 + + 1.3798199594020844e-01 -1.9009059667587280e+00 + <_> + + 0 -1 247 -2.5578999891877174e-02 + + -1.6607600450515747e+00 5.8439997956156731e-03 + <_> + + 0 -1 248 -3.4827001392841339e-02 + + 7.9940402507781982e-01 -8.2406997680664062e-02 + <_> + + 0 -1 249 -1.8209999427199364e-02 + + -9.6073997020721436e-01 6.6320002079010010e-02 + <_> + + 0 -1 250 1.5070999972522259e-02 + + 1.9899399578571320e-01 -7.6433002948760986e-01 + <_> + 72 + -3.8832089900970459e+00 + + <_> + + 0 -1 251 4.6324998140335083e-02 + + -1.0362670421600342e+00 8.2201498746871948e-01 + <_> + + 0 -1 252 1.5406999737024307e-02 + + -1.2327589988708496e+00 2.9647698998451233e-01 + <_> + + 0 -1 253 1.2808999978005886e-02 + + -7.5852298736572266e-01 5.7985502481460571e-01 + <_> + + 0 -1 254 4.9150999635457993e-02 + + -3.8983899354934692e-01 8.9680302143096924e-01 + <_> + + 0 -1 255 1.2621000409126282e-02 + + -7.1799302101135254e-01 5.0440901517868042e-01 + <_> + + 0 -1 256 -1.8768999725580215e-02 + + 5.5147600173950195e-01 -7.0555400848388672e-01 + <_> + + 0 -1 257 4.1965000331401825e-02 + + -4.4782099127769470e-01 7.0985502004623413e-01 + <_> + + 0 -1 258 -5.1401998847723007e-02 + + -1.0932120084762573e+00 2.6701900362968445e-01 + <_> + + 0 -1 259 -7.0960998535156250e-02 + + 8.3618402481079102e-01 -3.8318100571632385e-01 + <_> + + 0 -1 260 1.6745999455451965e-02 + + -2.5733101367950439e-01 2.5966501235961914e-01 + <_> + + 0 -1 261 -6.2400000169873238e-03 + + 3.1631499528884888e-01 -5.8796900510787964e-01 + <_> + + 0 -1 262 -3.9397999644279480e-02 + + -1.0491210222244263e+00 1.6822400689125061e-01 + <_> + + 0 -1 263 0. + + 1.6144199669361115e-01 -8.7876898050308228e-01 + <_> + + 0 -1 264 -2.2307999432086945e-02 + + -6.9053500890731812e-01 2.3607000708580017e-01 + <_> + + 0 -1 265 1.8919999711215496e-03 + + 2.4989199638366699e-01 -5.6583297252655029e-01 + <_> + + 0 -1 266 1.0730000212788582e-03 + + -5.0415802001953125e-01 3.8374501466751099e-01 + <_> + + 0 -1 267 3.9230998605489731e-02 + + 4.2619001120328903e-02 -1.3875889778137207e+00 + <_> + + 0 -1 268 6.2238000333309174e-02 + + 1.4119400084018707e-01 -1.0688860416412354e+00 + <_> + + 0 -1 269 2.1399999968707561e-03 + + -8.9622402191162109e-01 1.9796399772167206e-01 + <_> + + 0 -1 270 9.1800000518560410e-04 + + -4.5337298512458801e-01 4.3532699346542358e-01 + <_> + + 0 -1 271 -6.9169998168945312e-03 + + 3.3822798728942871e-01 -4.4793000817298889e-01 + <_> + + 0 -1 272 -2.3866999894380569e-02 + + -7.8908598423004150e-01 2.2511799633502960e-01 + <_> + + 0 -1 273 -1.0262800008058548e-01 + + -2.2831439971923828e+00 -5.3960001096129417e-03 + <_> + + 0 -1 274 -9.5239998772740364e-03 + + 3.9346700906753540e-01 -5.2242201566696167e-01 + <_> + + 0 -1 275 3.9877001196146011e-02 + + 3.2799001783132553e-02 -1.5079489946365356e+00 + <_> + + 0 -1 276 -1.3144999742507935e-02 + + -1.0839990377426147e+00 1.8482400476932526e-01 + <_> + + 0 -1 277 -5.0590999424457550e-02 + + -1.8822289705276489e+00 -2.2199999075382948e-03 + <_> + + 0 -1 278 2.4917000904679298e-02 + + 1.4593400061130524e-01 -2.2196519374847412e+00 + <_> + + 0 -1 279 -7.6370001770555973e-03 + + -1.0164569616317749e+00 5.8797001838684082e-02 + <_> + + 0 -1 280 4.2911998927593231e-02 + + 1.5443000197410583e-01 -1.1843889951705933e+00 + <_> + + 0 -1 281 2.3000000510364771e-04 + + -7.7305799722671509e-01 1.2189900130033493e-01 + <_> + + 0 -1 282 9.0929996222257614e-03 + + -1.1450099945068359e-01 7.1091300249099731e-01 + <_> + + 0 -1 283 1.1145000346004963e-02 + + 7.0000998675823212e-02 -1.0534820556640625e+00 + <_> + + 0 -1 284 -5.2453000098466873e-02 + + -1.7594360113143921e+00 1.9523799419403076e-01 + <_> + + 0 -1 285 -2.3020699620246887e-01 + + 9.5840299129486084e-01 -2.5045698881149292e-01 + <_> + + 0 -1 286 -1.6365999355912209e-02 + + 4.6731901168823242e-01 -2.1108399331569672e-01 + <_> + + 0 -1 287 -1.7208000645041466e-02 + + 7.0835697650909424e-01 -2.8018298745155334e-01 + <_> + + 0 -1 288 -3.6648001521825790e-02 + + -1.1013339757919312e+00 2.4341100454330444e-01 + <_> + + 0 -1 289 -1.0304999537765980e-02 + + -1.0933129787445068e+00 5.6258998811244965e-02 + <_> + + 0 -1 290 -1.3713000342249870e-02 + + -2.6438099145889282e-01 1.9821000099182129e-01 + <_> + + 0 -1 291 2.9308000579476357e-02 + + -2.2142399847507477e-01 1.0525950193405151e+00 + <_> + + 0 -1 292 2.4077000096440315e-02 + + 1.8485699594020844e-01 -1.7203969955444336e+00 + <_> + + 0 -1 293 6.1280000954866409e-03 + + -9.2721498012542725e-01 5.8752998709678650e-02 + <_> + + 0 -1 294 -2.2377999499440193e-02 + + 1.9646559953689575e+00 2.7785999700427055e-02 + <_> + + 0 -1 295 -7.0440000854432583e-03 + + 2.1427600085735321e-01 -4.8407599329948425e-01 + <_> + + 0 -1 296 -4.0603000670671463e-02 + + -1.1754349470138550e+00 1.6061200201511383e-01 + <_> + + 0 -1 297 -2.4466000497341156e-02 + + -1.1239900588989258e+00 4.1110001504421234e-02 + <_> + + 0 -1 298 2.5309999473392963e-03 + + -1.7169700562953949e-01 3.2178801298141479e-01 + <_> + + 0 -1 299 -1.9588999450206757e-02 + + 8.2720202207565308e-01 -2.6376700401306152e-01 + <_> + + 0 -1 300 -2.9635999351739883e-02 + + -1.1524770259857178e+00 1.4999300241470337e-01 + <_> + + 0 -1 301 -1.5030000358819962e-02 + + -1.0491830110549927e+00 4.0160998702049255e-02 + <_> + + 0 -1 302 -6.0715001076459885e-02 + + -1.0903840065002441e+00 1.5330800414085388e-01 + <_> + + 0 -1 303 -1.2790000066161156e-02 + + 4.2248600721359253e-01 -4.2399200797080994e-01 + <_> + + 0 -1 304 -2.0247999578714371e-02 + + -9.1866999864578247e-01 1.8485699594020844e-01 + <_> + + 0 -1 305 -3.0683999881148338e-02 + + -1.5958670377731323e+00 2.5760000571608543e-03 + <_> + + 0 -1 306 -2.0718000829219818e-02 + + -6.6299998760223389e-01 3.1037199497222900e-01 + <_> + + 0 -1 307 -1.7290000105276704e-03 + + 1.9183400273323059e-01 -6.5084999799728394e-01 + <_> + + 0 -1 308 -3.1394001096487045e-02 + + -6.3643002510070801e-01 1.5408399701118469e-01 + <_> + + 0 -1 309 1.9003000110387802e-02 + + -1.8919399380683899e-01 1.5294510126113892e+00 + <_> + + 0 -1 310 6.1769997701048851e-03 + + -1.0597900301218033e-01 6.4859598875045776e-01 + <_> + + 0 -1 311 -1.0165999643504620e-02 + + -1.0802700519561768e+00 3.7176001816987991e-02 + <_> + + 0 -1 312 -1.4169999631121755e-03 + + 3.4157499670982361e-01 -9.7737997770309448e-02 + <_> + + 0 -1 313 -4.0799998678267002e-03 + + 4.7624599933624268e-01 -3.4366300702095032e-01 + <_> + + 0 -1 314 -4.4096998870372772e-02 + + 9.7634297609329224e-01 -1.9173000007867813e-02 + <_> + + 0 -1 315 -6.0669999569654465e-02 + + -2.1752851009368896e+00 -2.8925999999046326e-02 + <_> + + 0 -1 316 -3.2931998372077942e-02 + + -6.4383101463317871e-01 1.6494099795818329e-01 + <_> + + 0 -1 317 -1.4722800254821777e-01 + + -1.4745830297470093e+00 2.5839998852461576e-03 + <_> + + 0 -1 318 -1.1930000036954880e-02 + + 4.2441400885581970e-01 -1.7712600529193878e-01 + <_> + + 0 -1 319 1.4517900347709656e-01 + + 2.5444999337196350e-02 -1.2779400348663330e+00 + <_> + + 0 -1 320 5.1447998732328415e-02 + + 1.5678399801254272e-01 -1.5188430547714233e+00 + <_> + + 0 -1 321 3.1479999888688326e-03 + + -4.0424400568008423e-01 3.2429701089859009e-01 + <_> + + 0 -1 322 -4.3600000441074371e-02 + + -1.9932260513305664e+00 1.5018600225448608e-01 + <_> + 83 + -3.8424909114837646e+00 + + <_> + + 0 -1 323 1.2899599969387054e-01 + + -6.2161999940872192e-01 1.1116520166397095e+00 + <_> + + 0 -1 324 -9.1261997818946838e-02 + + 1.0143059492111206e+00 -6.1335200071334839e-01 + <_> + + 0 -1 325 1.4271999709308147e-02 + + -1.0261659622192383e+00 3.9779999852180481e-01 + <_> + + 0 -1 326 3.2889999449253082e-02 + + -1.1386079788208008e+00 2.8690800070762634e-01 + <_> + + 0 -1 327 1.2590000405907631e-02 + + -5.6645601987838745e-01 4.5172399282455444e-01 + <_> + + 0 -1 328 1.4661000110208988e-02 + + 3.0505999922752380e-01 -6.8129599094390869e-01 + <_> + + 0 -1 329 -3.3555999398231506e-02 + + -1.7208939790725708e+00 6.1439000070095062e-02 + <_> + + 0 -1 330 1.4252699911594391e-01 + + 2.3192200064659119e-01 -1.7297149896621704e+00 + <_> + + 0 -1 331 -6.2079997733235359e-03 + + -1.2163300514221191e+00 1.2160199880599976e-01 + <_> + + 0 -1 332 1.8178999423980713e-02 + + 3.2553699612617493e-01 -8.1003999710083008e-01 + <_> + + 0 -1 333 2.5036999955773354e-02 + + -3.1698799133300781e-01 6.7361402511596680e-01 + <_> + + 0 -1 334 4.6560999006032944e-02 + + -1.1089800298213959e-01 8.4082502126693726e-01 + <_> + + 0 -1 335 -8.9999996125698090e-03 + + 3.9574500918388367e-01 -4.7624599933624268e-01 + <_> + + 0 -1 336 4.0805999189615250e-02 + + -1.8000000272877514e-04 9.4570702314376831e-01 + <_> + + 0 -1 337 -3.4221999347209930e-02 + + 7.5206297636032104e-01 -3.1531500816345215e-01 + <_> + + 0 -1 338 -3.9716001600027084e-02 + + -8.3139598369598389e-01 1.7744399607181549e-01 + <_> + + 0 -1 339 2.5170000735670328e-03 + + -5.9377998113632202e-01 2.4657000601291656e-01 + <_> + + 0 -1 340 2.7428999543190002e-02 + + 1.5998399257659912e-01 -4.2781999707221985e-01 + <_> + + 0 -1 341 3.4986000508069992e-02 + + 3.5055998712778091e-02 -1.5988600254058838e+00 + <_> + + 0 -1 342 4.4970000162720680e-03 + + -5.2034300565719604e-01 3.7828299403190613e-01 + <_> + + 0 -1 343 2.7699999045580626e-03 + + -5.3182601928710938e-01 2.4951000511646271e-01 + <_> + + 0 -1 344 3.5174001008272171e-02 + + 1.9983400404453278e-01 -1.4446129798889160e+00 + <_> + + 0 -1 345 2.5970999151468277e-02 + + 4.4426999986171722e-02 -1.3622980117797852e+00 + <_> + + 0 -1 346 -1.5783999115228653e-02 + + -9.1020399332046509e-01 2.7190300822257996e-01 + <_> + + 0 -1 347 -7.5880000367760658e-03 + + 9.2064999043941498e-02 -8.1628900766372681e-01 + <_> + + 0 -1 348 2.0754000172019005e-02 + + 2.1185700595378876e-01 -7.4729001522064209e-01 + <_> + + 0 -1 349 5.9829000383615494e-02 + + -2.7301099896430969e-01 8.0923300981521606e-01 + <_> + + 0 -1 350 3.9039000868797302e-02 + + -1.0432299971580505e-01 8.6226201057434082e-01 + <_> + + 0 -1 351 2.1665999665856361e-02 + + 6.2709003686904907e-02 -9.8894298076629639e-01 + <_> + + 0 -1 352 -2.7496999129652977e-02 + + -9.2690998315811157e-01 1.5586300194263458e-01 + <_> + + 0 -1 353 1.0462000034749508e-02 + + 1.3418099284172058e-01 -7.0386397838592529e-01 + <_> + + 0 -1 354 2.4870999157428741e-02 + + 1.9706700742244720e-01 -4.0263301134109497e-01 + <_> + + 0 -1 355 -1.6036000102758408e-02 + + -1.1409829854965210e+00 7.3997996747493744e-02 + <_> + + 0 -1 356 4.8627000302076340e-02 + + 1.6990399360656738e-01 -7.2152197360992432e-01 + <_> + + 0 -1 357 1.2619999470189214e-03 + + -4.7389799356460571e-01 2.6254999637603760e-01 + <_> + + 0 -1 358 -8.8035002350807190e-02 + + -2.1606519222259521e+00 1.4554800093173981e-01 + <_> + + 0 -1 359 1.8356999382376671e-02 + + 4.4750999659299850e-02 -1.0766370296478271e+00 + <_> + + 0 -1 360 3.5275001078844070e-02 + + -3.2919000834226608e-02 1.2153890132904053e+00 + <_> + + 0 -1 361 -2.0392900705337524e-01 + + -1.3187999725341797e+00 1.5503999777138233e-02 + <_> + + 0 -1 362 -1.6619000583887100e-02 + + 3.6850199103355408e-01 -1.5283699333667755e-01 + <_> + + 0 -1 363 3.7739001214504242e-02 + + -2.5727799534797668e-01 7.0655298233032227e-01 + <_> + + 0 -1 364 2.2720000706613064e-03 + + -7.7602997422218323e-02 3.3367800712585449e-01 + <_> + + 0 -1 365 -1.4802999794483185e-02 + + -7.8524798154830933e-01 7.6934002339839935e-02 + <_> + + 0 -1 366 -4.8319000750780106e-02 + + 1.7022320032119751e+00 4.9722000956535339e-02 + <_> + + 0 -1 367 -2.9539000242948532e-02 + + 7.7670699357986450e-01 -2.4534299969673157e-01 + <_> + + 0 -1 368 -4.6169001609086990e-02 + + -1.4922779798507690e+00 1.2340000271797180e-01 + <_> + + 0 -1 369 -2.8064999729394913e-02 + + -2.1345369815826416e+00 -2.5797000154852867e-02 + <_> + + 0 -1 370 -5.7339998893439770e-03 + + 5.6982600688934326e-01 -1.2056600302457809e-01 + <_> + + 0 -1 371 -1.0111000388860703e-02 + + 6.7911398410797119e-01 -2.6638001203536987e-01 + <_> + + 0 -1 372 1.1359999887645245e-02 + + 2.4789799749851227e-01 -6.4493000507354736e-01 + <_> + + 0 -1 373 5.1809001713991165e-02 + + 1.4716000296175480e-02 -1.2395579814910889e+00 + <_> + + 0 -1 374 3.3291999250650406e-02 + + -8.2559995353221893e-03 1.0168470144271851e+00 + <_> + + 0 -1 375 -1.4494000002741814e-02 + + 4.5066800713539124e-01 -3.6250999569892883e-01 + <_> + + 0 -1 376 -3.4221999347209930e-02 + + -9.5292502641677856e-01 2.0684599876403809e-01 + <_> + + 0 -1 377 -8.0654002726078033e-02 + + -2.0139501094818115e+00 -2.3084999993443489e-02 + <_> + + 0 -1 378 -8.9399999706074595e-04 + + 3.9572000503540039e-01 -2.9351300001144409e-01 + <_> + + 0 -1 379 9.7162000834941864e-02 + + -2.4980300664901733e-01 1.0859220027923584e+00 + <_> + + 0 -1 380 3.6614000797271729e-02 + + -5.7844001799821854e-02 1.2162159681320190e+00 + <_> + + 0 -1 381 5.1693998277187347e-02 + + 4.3062999844551086e-02 -1.0636160373687744e+00 + <_> + + 0 -1 382 -2.4557000026106834e-02 + + -4.8946800827980042e-01 1.7182900011539459e-01 + <_> + + 0 -1 383 3.2736799120903015e-01 + + -2.9688599705696106e-01 5.1798301935195923e-01 + <_> + + 0 -1 384 7.6959999278187752e-03 + + -5.9805899858474731e-01 2.4803200364112854e-01 + <_> + + 0 -1 385 1.6172200441360474e-01 + + -2.9613999649882317e-02 -2.3162529468536377e+00 + <_> + + 0 -1 386 -4.7889999113976955e-03 + + 3.7457901239395142e-01 -3.2779198884963989e-01 + <_> + + 0 -1 387 -1.8402999266982079e-02 + + -9.9692702293395996e-01 7.2948001325130463e-02 + <_> + + 0 -1 388 7.7665001153945923e-02 + + 1.4175699651241302e-01 -1.7238730192184448e+00 + <_> + + 0 -1 389 1.8921000882983208e-02 + + -2.1273100376129150e-01 1.0165189504623413e+00 + <_> + + 0 -1 390 -7.9397998750209808e-02 + + -1.3164349794387817e+00 1.4981999993324280e-01 + <_> + + 0 -1 391 -6.8037003278732300e-02 + + 4.9421998858451843e-01 -2.9091000556945801e-01 + <_> + + 0 -1 392 -6.1010001227259636e-03 + + 4.2430499196052551e-01 -3.3899301290512085e-01 + <_> + + 0 -1 393 3.1927000731229782e-02 + + -3.1046999618411064e-02 -2.3459999561309814e+00 + <_> + + 0 -1 394 -2.9843999072909355e-02 + + -7.8989601135253906e-01 1.5417699515819550e-01 + <_> + + 0 -1 395 -8.0541998147964478e-02 + + -2.2509229183197021e+00 -3.0906999483704567e-02 + <_> + + 0 -1 396 3.8109999150037766e-03 + + -2.5577300786972046e-01 2.3785500228404999e-01 + <_> + + 0 -1 397 3.3647000789642334e-02 + + -2.2541399300098419e-01 9.2307400703430176e-01 + <_> + + 0 -1 398 8.2809999585151672e-03 + + -2.8896200656890869e-01 3.1046199798583984e-01 + <_> + + 0 -1 399 1.0104399919509888e-01 + + -3.4864000976085663e-02 -2.7102620601654053e+00 + <_> + + 0 -1 400 -1.0009000077843666e-02 + + 5.9715402126312256e-01 -3.3831000328063965e-02 + <_> + + 0 -1 401 7.1919998154044151e-03 + + -4.7738000750541687e-01 2.2686000168323517e-01 + <_> + + 0 -1 402 2.4969000369310379e-02 + + 2.2877700626850128e-01 -1.0435529947280884e+00 + <_> + + 0 -1 403 2.7908000349998474e-01 + + -2.5818100571632385e-01 7.6780498027801514e-01 + <_> + + 0 -1 404 -4.4213000684976578e-02 + + -5.9798002243041992e-01 2.8039899468421936e-01 + <_> + + 0 -1 405 -1.4136999845504761e-02 + + 7.0987302064895630e-01 -2.5645199418067932e-01 + <_> + 91 + -3.6478610038757324e+00 + + <_> + + 0 -1 406 1.3771200180053711e-01 + + -5.5870598554611206e-01 1.0953769683837891e+00 + <_> + + 0 -1 407 3.4460999071598053e-02 + + -7.1171897649765015e-01 5.2899599075317383e-01 + <_> + + 0 -1 408 1.8580000847578049e-02 + + -1.1157519817352295e+00 4.0593999624252319e-01 + <_> + + 0 -1 409 2.5041999295353889e-02 + + -4.0892499685287476e-01 7.4129998683929443e-01 + <_> + + 0 -1 410 5.7179000228643417e-02 + + -3.8054299354553223e-01 7.3647701740264893e-01 + <_> + + 0 -1 411 1.4932000078260899e-02 + + -6.9945502281188965e-01 3.7950998544692993e-01 + <_> + + 0 -1 412 8.8900001719594002e-03 + + -5.4558598995208740e-01 3.6332499980926514e-01 + <_> + + 0 -1 413 3.0435999855399132e-02 + + -1.0124599933624268e-01 7.9585897922515869e-01 + <_> + + 0 -1 414 -4.4160000979900360e-02 + + 8.4410899877548218e-01 -3.2976400852203369e-01 + <_> + + 0 -1 415 1.8461000174283981e-02 + + 2.6326599717140198e-01 -9.6736502647399902e-01 + <_> + + 0 -1 416 1.0614999569952488e-02 + + 1.5251900255680084e-01 -1.0589870214462280e+00 + <_> + + 0 -1 417 -4.5974001288414001e-02 + + -1.9918340444564819e+00 1.3629099726676941e-01 + <_> + + 0 -1 418 8.2900002598762512e-02 + + -3.2037198543548584e-01 6.0304200649261475e-01 + <_> + + 0 -1 419 -8.9130001142621040e-03 + + 5.9586602449417114e-01 -2.1139599382877350e-01 + <_> + + 0 -1 420 4.2814001441001892e-02 + + 2.2925000637769699e-02 -1.4679330587387085e+00 + <_> + + 0 -1 421 -8.7139997631311417e-03 + + -4.3989500403404236e-01 2.0439699292182922e-01 + <_> + + 0 -1 422 -4.3390002101659775e-03 + + -8.9066797494888306e-01 1.0469999909400940e-01 + <_> + + 0 -1 423 8.0749997869133949e-03 + + 2.1164199709892273e-01 -4.0231600403785706e-01 + <_> + + 0 -1 424 9.6739001572132111e-02 + + 1.3319999910891056e-02 -1.6085360050201416e+00 + <_> + + 0 -1 425 -3.0536999925971031e-02 + + 1.0063740015029907e+00 -1.3413299620151520e-01 + <_> + + 0 -1 426 -6.0855999588966370e-02 + + -1.4689979553222656e+00 9.4240000471472740e-03 + <_> + + 0 -1 427 -3.8162000477313995e-02 + + -8.1636399030685425e-01 2.6171201467514038e-01 + <_> + + 0 -1 428 -9.6960002556443214e-03 + + 1.1561699956655502e-01 -7.1693199872970581e-01 + <_> + + 0 -1 429 4.8902999609708786e-02 + + 1.3050499558448792e-01 -1.6448370218276978e+00 + <_> + + 0 -1 430 -4.1611999273300171e-02 + + -1.1795840263366699e+00 2.5017000734806061e-02 + <_> + + 0 -1 431 -2.0188000053167343e-02 + + 6.3188201189041138e-01 -1.0490400344133377e-01 + <_> + + 0 -1 432 -9.7900000400841236e-04 + + 1.8507799506187439e-01 -5.3565901517868042e-01 + <_> + + 0 -1 433 -3.3622000366449356e-02 + + -9.3127602338790894e-01 2.0071500539779663e-01 + <_> + + 0 -1 434 1.9455999135971069e-02 + + 3.8029000163078308e-02 -1.0112210512161255e+00 + <_> + + 0 -1 435 -3.1800000579096377e-04 + + 3.6457699537277222e-01 -2.7610900998115540e-01 + <_> + + 0 -1 436 -3.8899999344721437e-04 + + 1.9665899872779846e-01 -5.3410500288009644e-01 + <_> + + 0 -1 437 -9.3496002256870270e-02 + + -1.6772350072860718e+00 2.0727099478244781e-01 + <_> + + 0 -1 438 -7.7877998352050781e-02 + + -3.0760629177093506e+00 -3.5803999751806259e-02 + <_> + + 0 -1 439 1.6947999596595764e-02 + + 2.1447399258613586e-01 -7.1376299858093262e-01 + <_> + + 0 -1 440 -2.1459000185132027e-02 + + -1.1468060016632080e+00 1.5855999663472176e-02 + <_> + + 0 -1 441 -1.2865999713540077e-02 + + 8.3812397718429565e-01 -6.5944001078605652e-02 + <_> + + 0 -1 442 7.8220004215836525e-03 + + -2.8026801347732544e-01 7.9376900196075439e-01 + <_> + + 0 -1 443 1.0294400155544281e-01 + + 1.7832300066947937e-01 -6.8412202596664429e-01 + <_> + + 0 -1 444 -3.7487998604774475e-02 + + 9.6189999580383301e-01 -2.1735599637031555e-01 + <_> + + 0 -1 445 2.5505999103188515e-02 + + 1.0103999637067318e-02 1.2461110353469849e+00 + <_> + + 0 -1 446 6.6700001480057836e-04 + + -5.3488200902938843e-01 1.4746299386024475e-01 + <_> + + 0 -1 447 -2.8867900371551514e-01 + + 8.2172799110412598e-01 -1.4948000200092793e-02 + <_> + + 0 -1 448 9.1294996440410614e-02 + + -1.9605399668216705e-01 1.0803170204162598e+00 + <_> + + 0 -1 449 1.2056600302457809e-01 + + -2.3848999291658401e-02 1.1392610073089600e+00 + <_> + + 0 -1 450 -7.3775000870227814e-02 + + -1.3583840131759644e+00 -4.2039998807013035e-03 + <_> + + 0 -1 451 -3.3128000795841217e-02 + + -6.4483201503753662e-01 2.4142199754714966e-01 + <_> + + 0 -1 452 -4.3937001377344131e-02 + + 8.4285402297973633e-01 -2.0624800026416779e-01 + <_> + + 0 -1 453 1.8110199272632599e-01 + + 1.9212099909782410e-01 -1.2222139835357666e+00 + <_> + + 0 -1 454 -1.1850999668240547e-02 + + -7.2677397727966309e-01 5.2687998861074448e-02 + <_> + + 0 -1 455 4.5920000411570072e-03 + + -3.6305201053619385e-01 2.9223799705505371e-01 + <_> + + 0 -1 456 7.0620002225041389e-03 + + 5.8116000145673752e-02 -6.7161601781845093e-01 + <_> + + 0 -1 457 -2.3715000599622726e-02 + + 4.7142100334167480e-01 1.8580000847578049e-02 + <_> + + 0 -1 458 -6.7171998322010040e-02 + + -1.1331889629364014e+00 2.3780999705195427e-02 + <_> + + 0 -1 459 -6.5310001373291016e-02 + + 9.8253500461578369e-01 2.8362000361084938e-02 + <_> + + 0 -1 460 2.2791000083088875e-02 + + -2.8213700652122498e-01 5.8993399143218994e-01 + <_> + + 0 -1 461 -1.9037999212741852e-02 + + -6.3711500167846680e-01 2.6514598727226257e-01 + <_> + + 0 -1 462 -6.8689999170601368e-03 + + 3.7487301230430603e-01 -3.3232098817825317e-01 + <_> + + 0 -1 463 -4.0146000683307648e-02 + + -1.3048729896545410e+00 1.5724299848079681e-01 + <_> + + 0 -1 464 -4.0530998259782791e-02 + + -2.0458049774169922e+00 -2.6925999671220779e-02 + <_> + + 0 -1 465 -1.2253999710083008e-02 + + 7.7649402618408203e-01 -4.2971000075340271e-02 + <_> + + 0 -1 466 -2.7219999581575394e-02 + + 1.7424400150775909e-01 -4.4600901007652283e-01 + <_> + + 0 -1 467 -8.8366001844406128e-02 + + -1.5036419630050659e+00 1.4289900660514832e-01 + <_> + + 0 -1 468 -7.9159997403621674e-03 + + 2.8666698932647705e-01 -3.7923699617385864e-01 + <_> + + 0 -1 469 -4.1960000991821289e-02 + + 1.3846950531005859e+00 6.5026998519897461e-02 + <_> + + 0 -1 470 4.5662999153137207e-02 + + -2.2452299296855927e-01 7.9521000385284424e-01 + <_> + + 0 -1 471 -1.4090600609779358e-01 + + -1.5879319906234741e+00 1.1359000205993652e-01 + <_> + + 0 -1 472 -5.9216000139713287e-02 + + -1.1945960521697998e+00 -7.1640000678598881e-03 + <_> + + 0 -1 473 4.3390002101659775e-03 + + -1.5528699755668640e-01 4.0664499998092651e-01 + <_> + + 0 -1 474 -2.0369999110698700e-03 + + 2.5927901268005371e-01 -3.8368299603462219e-01 + <_> + + 0 -1 475 2.7516499161720276e-01 + + -8.8497996330261230e-02 7.6787501573562622e-01 + <_> + + 0 -1 476 -2.6601999998092651e-02 + + 7.5024497509002686e-01 -2.2621999680995941e-01 + <_> + + 0 -1 477 4.0906000882387161e-02 + + 1.2158600240945816e-01 -1.4566910266876221e+00 + <_> + + 0 -1 478 5.5320002138614655e-03 + + -3.6611500382423401e-01 2.5968599319458008e-01 + <_> + + 0 -1 479 3.1879000365734100e-02 + + -7.5019001960754395e-02 4.8484799265861511e-01 + <_> + + 0 -1 480 -4.1482001543045044e-02 + + 7.8220397233963013e-01 -2.1992200613021851e-01 + <_> + + 0 -1 481 -9.6130996942520142e-02 + + -8.9456301927566528e-01 1.4680700004100800e-01 + <_> + + 0 -1 482 -1.1568999849259853e-02 + + 8.2714098691940308e-01 -2.0275600254535675e-01 + <_> + + 0 -1 483 1.8312999978661537e-02 + + 1.6367999836802483e-02 2.7306801080703735e-01 + <_> + + 0 -1 484 -3.4166000783443451e-02 + + 1.1307320594787598e+00 -1.8810899555683136e-01 + <_> + + 0 -1 485 -2.4476999416947365e-02 + + -5.7791298627853394e-01 1.5812499821186066e-01 + <_> + + 0 -1 486 4.8957001417875290e-02 + + -2.2564999759197235e-02 -1.6373280286788940e+00 + <_> + + 0 -1 487 -2.0702999085187912e-02 + + -5.4512101411819458e-01 2.4086999893188477e-01 + <_> + + 0 -1 488 -2.3002000525593758e-02 + + -1.2236540317535400e+00 -7.3440000414848328e-03 + <_> + + 0 -1 489 6.4585000276565552e-02 + + 1.4695599675178528e-01 -4.4967499375343323e-01 + <_> + + 0 -1 490 1.2666000053286552e-02 + + -2.7873900532722473e-01 4.3876600265502930e-01 + <_> + + 0 -1 491 -1.2002999894320965e-02 + + -2.4289099872112274e-01 2.5350099802017212e-01 + <_> + + 0 -1 492 -2.6443999260663986e-02 + + -8.5864800214767456e-01 2.6025999337434769e-02 + <_> + + 0 -1 493 -2.5547999888658524e-02 + + 6.9287902116775513e-01 -2.1160000469535589e-03 + <_> + + 0 -1 494 3.9115000516176224e-02 + + -1.6589100658893585e-01 1.5209139585494995e+00 + <_> + + 0 -1 495 -6.0330000706017017e-03 + + 4.3856900930404663e-01 -2.1613700687885284e-01 + <_> + + 0 -1 496 -3.3936999738216400e-02 + + -9.7998398542404175e-01 2.2133000195026398e-02 + <_> + 99 + -3.8700489997863770e+00 + + <_> + + 0 -1 497 4.0672998875379562e-02 + + -9.0474700927734375e-01 6.4410597085952759e-01 + <_> + + 0 -1 498 2.5609999895095825e-02 + + -7.9216998815536499e-01 5.7489997148513794e-01 + <_> + + 0 -1 499 1.9959500432014465e-01 + + -3.0099600553512573e-01 1.3143850564956665e+00 + <_> + + 0 -1 500 1.2404999695718288e-02 + + -8.9882999658584595e-01 2.9205799102783203e-01 + <_> + + 0 -1 501 3.9207998663187027e-02 + + -4.1955199837684631e-01 5.3463298082351685e-01 + <_> + + 0 -1 502 -3.0843999236822128e-02 + + 4.5793399214744568e-01 -4.4629099965095520e-01 + <_> + + 0 -1 503 -3.5523001104593277e-02 + + 9.1310501098632812e-01 -2.7373200654983521e-01 + <_> + + 0 -1 504 -6.1650000512599945e-02 + + -1.4697799682617188e+00 2.0364099740982056e-01 + <_> + + 0 -1 505 -1.1739999987185001e-02 + + -1.0482879877090454e+00 6.7801997065544128e-02 + <_> + + 0 -1 506 6.6933996975421906e-02 + + 2.9274499416351318e-01 -5.2282899618148804e-01 + <_> + + 0 -1 507 -2.0631000399589539e-02 + + -1.2855139970779419e+00 4.4550999999046326e-02 + <_> + + 0 -1 508 -2.2357000038027763e-02 + + -8.5753798484802246e-01 1.8434000015258789e-01 + <_> + + 0 -1 509 1.1500000255182385e-03 + + 1.6405500471591949e-01 -6.9125002622604370e-01 + <_> + + 0 -1 510 3.5872999578714371e-02 + + 1.5756499767303467e-01 -8.4262597560882568e-01 + <_> + + 0 -1 511 3.0659999698400497e-02 + + 2.1637000143527985e-02 -1.3634690046310425e+00 + <_> + + 0 -1 512 5.5559999309480190e-03 + + -1.6737000644207001e-01 2.5888401269912720e-01 + <_> + + 0 -1 513 -6.1160000041127205e-03 + + -9.7271800041198730e-01 6.6100001335144043e-02 + <_> + + 0 -1 514 -3.0316999182105064e-02 + + 9.8474198579788208e-01 -1.6448000445961952e-02 + <_> + + 0 -1 515 -9.7200004383921623e-03 + + 4.7604700922966003e-01 -3.2516700029373169e-01 + <_> + + 0 -1 516 -5.7126998901367188e-02 + + -9.5920699834823608e-01 1.9938200712203979e-01 + <_> + + 0 -1 517 4.0059997700154781e-03 + + -5.2612501382827759e-01 2.2428700327873230e-01 + <_> + + 0 -1 518 3.3734001219272614e-02 + + 1.7070099711418152e-01 -1.0737580060958862e+00 + <_> + + 0 -1 519 -3.4641999751329422e-02 + + -1.1343129873275757e+00 3.6540001630783081e-02 + <_> + + 0 -1 520 4.6923000365495682e-02 + + 2.5832301378250122e-01 -7.1535801887512207e-01 + <_> + + 0 -1 521 -8.7660001590847969e-03 + + 1.9640900194644928e-01 -5.3355097770690918e-01 + <_> + + 0 -1 522 6.5627999603748322e-02 + + -5.1194999366998672e-02 9.7610700130462646e-01 + <_> + + 0 -1 523 -4.4165000319480896e-02 + + 1.0631920099258423e+00 -2.3462599515914917e-01 + <_> + + 0 -1 524 1.7304999753832817e-02 + + -1.8582899868488312e-01 4.5889899134635925e-01 + <_> + + 0 -1 525 3.3135998994112015e-02 + + -2.9381999745965004e-02 -2.6651329994201660e+00 + <_> + + 0 -1 526 -2.1029999479651451e-02 + + 9.9979901313781738e-01 2.4937000125646591e-02 + <_> + + 0 -1 527 2.9783999547362328e-02 + + -2.9605999588966370e-02 -2.1695868968963623e+00 + <_> + + 0 -1 528 5.5291999131441116e-02 + + -7.5599999399855733e-04 7.4651998281478882e-01 + <_> + + 0 -1 529 -3.3597998321056366e-02 + + -1.5274159908294678e+00 1.1060000397264957e-02 + <_> + + 0 -1 530 1.9602999091148376e-02 + + 3.3574998378753662e-02 9.9526202678680420e-01 + <_> + + 0 -1 531 -2.0787000656127930e-02 + + 7.6612901687622070e-01 -2.4670800566673279e-01 + <_> + + 0 -1 532 3.2536000013351440e-02 + + 1.6263400018215179e-01 -6.1134302616119385e-01 + <_> + + 0 -1 533 -1.0788000188767910e-02 + + -9.7839701175689697e-01 2.8969999402761459e-02 + <_> + + 0 -1 534 -9.9560003727674484e-03 + + 4.6145799756050110e-01 -1.3510499894618988e-01 + <_> + + 0 -1 535 -3.7489999085664749e-03 + + 2.5458198785781860e-01 -5.1955598592758179e-01 + <_> + + 0 -1 536 -4.1779998689889908e-02 + + -8.0565100908279419e-01 1.5208500623703003e-01 + <_> + + 0 -1 537 -3.4221000969409943e-02 + + -1.3137799501419067e+00 -3.5800000187009573e-03 + <_> + + 0 -1 538 1.0130000300705433e-02 + + 2.0175799727439880e-01 -6.1339598894119263e-01 + <_> + + 0 -1 539 -8.9849002659320831e-02 + + 9.7632801532745361e-01 -2.0884799957275391e-01 + <_> + + 0 -1 540 2.6097999885678291e-02 + + -1.8807999789714813e-01 4.7705799341201782e-01 + <_> + + 0 -1 541 -3.7539999466389418e-03 + + -6.7980402708053589e-01 1.1288800090551376e-01 + <_> + + 0 -1 542 3.1973000615835190e-02 + + 1.8951700627803802e-01 -1.4967479705810547e+00 + <_> + + 0 -1 543 1.9332999363541603e-02 + + -2.3609900474548340e-01 8.1320500373840332e-01 + <_> + + 0 -1 544 1.9490000559017062e-03 + + 2.4830399453639984e-01 -6.9211997091770172e-02 + <_> + + 0 -1 545 -4.4146999716758728e-02 + + -1.0418920516967773e+00 4.8053000122308731e-02 + <_> + + 0 -1 546 -4.4681999832391739e-02 + + 5.1346302032470703e-01 -7.3799998499453068e-03 + <_> + + 0 -1 547 -1.0757499933242798e-01 + + 1.6202019453048706e+00 -1.8667599558830261e-01 + <_> + + 0 -1 548 -1.2846800684928894e-01 + + 2.9869480133056641e+00 9.5427997410297394e-02 + <_> + + 0 -1 549 -4.4757999479770660e-02 + + 6.0405302047729492e-01 -2.7058699727058411e-01 + <_> + + 0 -1 550 -4.3990999460220337e-02 + + -6.1790502071380615e-01 1.5997199714183807e-01 + <_> + + 0 -1 551 -1.2268999963998795e-01 + + 6.6327202320098877e-01 -2.3636999726295471e-01 + <_> + + 0 -1 552 -1.9982999190688133e-02 + + -1.1228660345077515e+00 1.9616700708866119e-01 + <_> + + 0 -1 553 -1.5527999959886074e-02 + + -1.0770269632339478e+00 2.0693000406026840e-02 + <_> + + 0 -1 554 -4.8971001058816910e-02 + + 8.1168299913406372e-01 -1.7252000048756599e-02 + <_> + + 0 -1 555 5.5975999683141708e-02 + + -2.2529000416398048e-02 -1.7356760501861572e+00 + <_> + + 0 -1 556 -9.8580000922083855e-03 + + 6.7881399393081665e-01 -5.8180000633001328e-02 + <_> + + 0 -1 557 1.3481000438332558e-02 + + 5.7847999036312103e-02 -7.7255302667617798e-01 + <_> + + 0 -1 558 6.5609999001026154e-03 + + -1.3146899640560150e-01 6.7055797576904297e-01 + <_> + + 0 -1 559 7.1149999275803566e-03 + + -3.7880599498748779e-01 3.0978998541831970e-01 + <_> + + 0 -1 560 4.8159998841583729e-03 + + -5.8470398187637329e-01 2.5602099299430847e-01 + <_> + + 0 -1 561 9.5319999381899834e-03 + + -3.0217000842094421e-01 4.1253298521041870e-01 + <_> + + 0 -1 562 -2.7474999427795410e-02 + + 5.9154701232910156e-01 1.7963999882340431e-02 + <_> + + 0 -1 563 -3.9519999176263809e-02 + + 9.6913498640060425e-01 -2.1020300686359406e-01 + <_> + + 0 -1 564 -3.0658999457955360e-02 + + 9.1155898571014404e-01 4.0550000965595245e-02 + <_> + + 0 -1 565 -1.4680000022053719e-03 + + -6.0489797592163086e-01 1.6960899531841278e-01 + <_> + + 0 -1 566 1.9077600538730621e-01 + + 4.3515000492334366e-02 8.1892901659011841e-01 + <_> + + 0 -1 567 5.1790000870823860e-03 + + -9.3617302179336548e-01 2.4937000125646591e-02 + <_> + + 0 -1 568 2.4126000702381134e-02 + + 1.8175500631332397e-01 -3.4185901284217834e-01 + <_> + + 0 -1 569 -2.6383999735116959e-02 + + -1.2912579774856567e+00 -3.4280000254511833e-03 + <_> + + 0 -1 570 5.4139997810125351e-03 + + -4.6291999518871307e-02 2.5269600749015808e-01 + <_> + + 0 -1 571 5.4216001182794571e-02 + + -1.2848000042140484e-02 -1.4304540157318115e+00 + <_> + + 0 -1 572 2.3799999326001853e-04 + + -2.6676699519157410e-01 3.3588299155235291e-01 + <_> + + 0 -1 573 1.5216999687254429e-02 + + -5.1367300748825073e-01 1.3005100190639496e-01 + <_> + + 0 -1 574 1.7007999122142792e-02 + + 4.1575899720191956e-01 -3.1241199374198914e-01 + <_> + + 0 -1 575 3.0496999621391296e-02 + + -2.4820999801158905e-01 7.0828497409820557e-01 + <_> + + 0 -1 576 6.5430002287030220e-03 + + -2.2637000679969788e-01 1.9184599816799164e-01 + <_> + + 0 -1 577 1.4163999259471893e-01 + + 6.5227001905441284e-02 -8.8809502124786377e-01 + <_> + + 0 -1 578 1.9338000565767288e-02 + + 1.8891200423240662e-01 -2.7397701144218445e-01 + <_> + + 0 -1 579 -1.7324000597000122e-02 + + -9.4866698980331421e-01 2.4196999147534370e-02 + <_> + + 0 -1 580 -6.2069999985396862e-03 + + 3.6938399076461792e-01 -1.7494900524616241e-01 + <_> + + 0 -1 581 -1.6109000891447067e-02 + + 9.6159499883651733e-01 -2.0005300641059875e-01 + <_> + + 0 -1 582 -1.0122500360012054e-01 + + -3.0699110031127930e+00 1.1363799870014191e-01 + <_> + + 0 -1 583 -7.5509999878704548e-03 + + 2.2921000421047211e-01 -4.5645099878311157e-01 + <_> + + 0 -1 584 4.4247999787330627e-02 + + -3.1599999056197703e-04 3.9225301146507263e-01 + <_> + + 0 -1 585 -1.1636000126600266e-01 + + 9.5233702659606934e-01 -2.0201599597930908e-01 + <_> + + 0 -1 586 4.7360002063214779e-03 + + -9.9177002906799316e-02 2.0370499789714813e-01 + <_> + + 0 -1 587 2.2459000349044800e-02 + + 8.7280003353953362e-03 -1.0217070579528809e+00 + <_> + + 0 -1 588 -1.2109000235795975e-02 + + 6.4812600612640381e-01 -9.0149000287055969e-02 + <_> + + 0 -1 589 5.6120000779628754e-02 + + -3.6759998649358749e-02 -1.9275590181350708e+00 + <_> + + 0 -1 590 -8.7379999458789825e-03 + + 6.9261300563812256e-01 -6.8374998867511749e-02 + <_> + + 0 -1 591 6.6399998031556606e-03 + + -4.0569800138473511e-01 1.8625700473785400e-01 + <_> + + 0 -1 592 -1.8131999298930168e-02 + + -6.4518201351165771e-01 2.1976399421691895e-01 + <_> + + 0 -1 593 -2.2718999534845352e-02 + + 9.7776198387145996e-01 -1.8654300272464752e-01 + <_> + + 0 -1 594 1.2705000117421150e-02 + + -1.0546600073575974e-01 3.7404099106788635e-01 + <_> + + 0 -1 595 -1.3682999648153782e-02 + + 6.1064100265502930e-01 -2.6881098747253418e-01 + <_> + 115 + -3.7160909175872803e+00 + + <_> + + 0 -1 596 3.1357999891042709e-02 + + -1.0183910131454468e+00 5.7528597116470337e-01 + <_> + + 0 -1 597 9.3050003051757812e-02 + + -4.1297501325607300e-01 1.0091199874877930e+00 + <_> + + 0 -1 598 2.5949999690055847e-02 + + -5.8587902784347534e-01 5.6606197357177734e-01 + <_> + + 0 -1 599 1.6472000628709793e-02 + + -9.2857497930526733e-01 3.0924499034881592e-01 + <_> + + 0 -1 600 -1.8779999809339643e-03 + + 1.1951000243425369e-01 -1.1180130243301392e+00 + <_> + + 0 -1 601 -9.0129999443888664e-03 + + -5.7849502563476562e-01 3.3154401183128357e-01 + <_> + + 0 -1 602 2.2547999396920204e-02 + + -3.8325101137161255e-01 5.2462202310562134e-01 + <_> + + 0 -1 603 -3.7780001759529114e-02 + + 1.1790670156478882e+00 -3.4166999161243439e-02 + <_> + + 0 -1 604 -5.3799999877810478e-03 + + -8.6265897750854492e-01 1.1867900192737579e-01 + <_> + + 0 -1 605 -2.3893000558018684e-02 + + -7.4950599670410156e-01 2.1011400222778320e-01 + <_> + + 0 -1 606 -2.6521999388933182e-02 + + 9.2128598690032959e-01 -2.8252801299095154e-01 + <_> + + 0 -1 607 1.2280000373721123e-02 + + 2.6662799715995789e-01 -7.0013600587844849e-01 + <_> + + 0 -1 608 9.6594996750354767e-02 + + -2.8453999757766724e-01 7.3168998956680298e-01 + <_> + + 0 -1 609 -2.7414999902248383e-02 + + -6.1492699384689331e-01 1.5576200187206268e-01 + <_> + + 0 -1 610 -1.5767000615596771e-02 + + 5.7551199197769165e-01 -3.4362199902534485e-01 + <_> + + 0 -1 611 -2.1100000012665987e-03 + + 3.2599699497222900e-01 -1.3008299469947815e-01 + <_> + + 0 -1 612 1.2006999924778938e-02 + + 8.9322999119758606e-02 -9.6025598049163818e-01 + <_> + + 0 -1 613 -1.5421999618411064e-02 + + 3.4449499845504761e-01 -4.6711999177932739e-01 + <_> + + 0 -1 614 -4.1579999960958958e-03 + + 2.3696300387382507e-01 -5.2563297748565674e-01 + <_> + + 0 -1 615 -2.1185999736189842e-02 + + -7.4267697334289551e-01 2.1702000498771667e-01 + <_> + + 0 -1 616 -1.7077000811696053e-02 + + -9.0471798181533813e-01 6.6012002527713776e-02 + <_> + + 0 -1 617 -4.0849998593330383e-02 + + -3.4446600079536438e-01 2.1503700315952301e-01 + <_> + + 0 -1 618 -8.1930002197623253e-03 + + -9.3388599157333374e-01 5.0471000373363495e-02 + <_> + + 0 -1 619 -1.9238000735640526e-02 + + -5.3203701972961426e-01 1.7240600287914276e-01 + <_> + + 0 -1 620 -4.4192001223564148e-02 + + 9.2075002193450928e-01 -2.2148500382900238e-01 + <_> + + 0 -1 621 -6.2392000108957291e-02 + + -7.1053802967071533e-01 1.8323899805545807e-01 + <_> + + 0 -1 622 -1.0079999919980764e-03 + + -8.7063097953796387e-01 5.5330000817775726e-02 + <_> + + 0 -1 623 2.3870000615715981e-02 + + -2.2854200005531311e-01 5.2415597438812256e-01 + <_> + + 0 -1 624 2.1391000598669052e-02 + + -3.0325898528099060e-01 5.5860602855682373e-01 + <_> + + 0 -1 625 2.0254999399185181e-02 + + 2.6901501417160034e-01 -7.0261800289154053e-01 + <_> + + 0 -1 626 -2.8772000223398209e-02 + + -1.1835030317306519e+00 4.6512000262737274e-02 + <_> + + 0 -1 627 3.4199999645352364e-03 + + -5.4652100801467896e-01 2.5962498784065247e-01 + <_> + + 0 -1 628 5.6983001530170441e-02 + + -2.6982900500297546e-01 5.8170700073242188e-01 + <_> + + 0 -1 629 -9.3892000615596771e-02 + + -9.1046398878097534e-01 1.9677700102329254e-01 + <_> + + 0 -1 630 1.7699999734759331e-02 + + -4.4003298878669739e-01 2.1349500119686127e-01 + <_> + + 0 -1 631 2.2844199836254120e-01 + + 2.3605000227689743e-02 7.7171599864959717e-01 + <_> + + 0 -1 632 -1.8287500739097595e-01 + + 7.9228597879409790e-01 -2.4644799530506134e-01 + <_> + + 0 -1 633 -6.9891996681690216e-02 + + 8.0267798900604248e-01 -3.6072000861167908e-02 + <_> + + 0 -1 634 1.5297000296413898e-02 + + -2.0072300732135773e-01 1.1030600070953369e+00 + <_> + + 0 -1 635 6.7500001750886440e-03 + + -4.5967999845743179e-02 7.2094500064849854e-01 + <_> + + 0 -1 636 -1.5983000397682190e-02 + + -9.0357202291488647e-01 4.4987998902797699e-02 + <_> + + 0 -1 637 1.3088000006973743e-02 + + 3.5297098755836487e-01 -3.7710601091384888e-01 + <_> + + 0 -1 638 1.3061000034213066e-02 + + -1.9583599269390106e-01 1.1198940277099609e+00 + <_> + + 0 -1 639 -3.9907000958919525e-02 + + -1.3998429775238037e+00 1.9145099818706512e-01 + <_> + + 0 -1 640 1.5026999637484550e-02 + + 2.3600000422447920e-03 -1.1611249446868896e+00 + <_> + + 0 -1 641 -2.0517999306321144e-02 + + -4.8908099532127380e-01 1.6743400692939758e-01 + <_> + + 0 -1 642 -2.2359000518918037e-02 + + -1.2202980518341064e+00 -1.1975999921560287e-02 + <_> + + 0 -1 643 -7.9150004312396049e-03 + + 3.7228098511695862e-01 -8.5063003003597260e-02 + <_> + + 0 -1 644 1.5258000232279301e-02 + + -2.9412600398063660e-01 5.9406399726867676e-01 + <_> + + 0 -1 645 -3.1665999442338943e-02 + + -1.4395569562911987e+00 1.3578799366950989e-01 + <_> + + 0 -1 646 -3.0773999169468880e-02 + + -2.2545371055603027e+00 -3.3971000462770462e-02 + <_> + + 0 -1 647 -1.5483000315725803e-02 + + 3.7700700759887695e-01 1.5847999602556229e-02 + <_> + + 0 -1 648 3.5167001187801361e-02 + + -2.9446101188659668e-01 5.3159099817276001e-01 + <_> + + 0 -1 649 -1.7906000837683678e-02 + + -9.9788200855255127e-01 1.6235999763011932e-01 + <_> + + 0 -1 650 -3.1799999997019768e-03 + + 4.7657001763582230e-02 -7.5249898433685303e-01 + <_> + + 0 -1 651 1.5720000490546227e-02 + + 1.4873799681663513e-01 -6.5375399589538574e-01 + <_> + + 0 -1 652 2.9864000156521797e-02 + + -1.4952000230550766e-02 -1.2275190353393555e+00 + <_> + + 0 -1 653 2.9899999499320984e-03 + + -1.4263699948787689e-01 4.3272799253463745e-01 + <_> + + 0 -1 654 8.4749996662139893e-02 + + -1.9280999898910522e-02 -1.1946409940719604e+00 + <_> + + 0 -1 655 -5.8724999427795410e-02 + + -1.7328219413757324e+00 1.4374700188636780e-01 + <_> + + 0 -1 656 4.4755998998880386e-02 + + -2.4140599370002747e-01 5.4019999504089355e-01 + <_> + + 0 -1 657 4.0369000285863876e-02 + + 5.7680001482367516e-03 5.6578099727630615e-01 + <_> + + 0 -1 658 3.7735998630523682e-02 + + 3.8180999457836151e-02 -7.9370397329330444e-01 + <_> + + 0 -1 659 6.0752999037504196e-02 + + 7.6453000307083130e-02 1.4813209772109985e+00 + <_> + + 0 -1 660 -1.9832000136375427e-02 + + -1.6971720457077026e+00 -2.7370000258088112e-02 + <_> + + 0 -1 661 -1.6592699289321899e-01 + + 6.2976002693176270e-01 3.1762998551130295e-02 + <_> + + 0 -1 662 6.9014996290206909e-02 + + -3.3463200926780701e-01 3.0076700448989868e-01 + <_> + + 0 -1 663 1.1358000338077545e-02 + + 2.2741499543190002e-01 -3.8224700093269348e-01 + <_> + + 0 -1 664 1.7000000225380063e-03 + + 1.9223800301551819e-01 -5.2735102176666260e-01 + <_> + + 0 -1 665 7.9769000411033630e-02 + + 9.1491997241973877e-02 2.1049048900604248e+00 + <_> + + 0 -1 666 -5.7144001126289368e-02 + + -1.7452130317687988e+00 -4.0910001844167709e-02 + <_> + + 0 -1 667 7.3830001056194305e-03 + + -2.4214799702167511e-01 3.5577800869941711e-01 + <_> + + 0 -1 668 -1.8040999770164490e-02 + + 1.1779999732971191e+00 -1.7676700651645660e-01 + <_> + + 0 -1 669 9.4503000378608704e-02 + + 1.3936099410057068e-01 -1.2993700504302979e+00 + <_> + + 0 -1 670 5.4210000671446323e-03 + + -5.4608601331710815e-01 1.3916400074958801e-01 + <_> + + 0 -1 671 7.0290002040565014e-03 + + -2.1597200632095337e-01 3.9258098602294922e-01 + <_> + + 0 -1 672 3.4515999257564545e-02 + + 6.3188999891281128e-02 -7.2108101844787598e-01 + <_> + + 0 -1 673 -5.1924999803304672e-02 + + 6.8667602539062500e-01 6.3272997736930847e-02 + <_> + + 0 -1 674 -6.9162003695964813e-02 + + 1.7411810159683228e+00 -1.6619299352169037e-01 + <_> + + 0 -1 675 -5.5229999125003815e-03 + + 3.0694699287414551e-01 -1.6662900149822235e-01 + <_> + + 0 -1 676 6.8599998950958252e-02 + + -2.1405400335788727e-01 7.3185002803802490e-01 + <_> + + 0 -1 677 -6.7038998007774353e-02 + + -7.9360598325729370e-01 2.0525799691677094e-01 + <_> + + 0 -1 678 -2.1005000919103622e-02 + + 3.7344399094581604e-01 -2.9618600010871887e-01 + <_> + + 0 -1 679 2.0278999581933022e-02 + + -1.5200000256299973e-02 4.0555301308631897e-01 + <_> + + 0 -1 680 -4.7107998281717300e-02 + + 1.2116849422454834e+00 -1.7464299499988556e-01 + <_> + + 0 -1 681 1.8768499791622162e-01 + + -2.2909000515937805e-02 6.9645798206329346e-01 + <_> + + 0 -1 682 -4.3228998780250549e-02 + + -1.0602480173110962e+00 -5.5599998449906707e-04 + <_> + + 0 -1 683 2.0004000514745712e-02 + + -3.2751001417636871e-02 5.3805100917816162e-01 + <_> + + 0 -1 684 8.0880001187324524e-03 + + 3.7548001855611801e-02 -7.4768900871276855e-01 + <_> + + 0 -1 685 2.7101000770926476e-02 + + -8.1790000200271606e-02 3.3387100696563721e-01 + <_> + + 0 -1 686 -9.1746002435684204e-02 + + -1.9213509559631348e+00 -3.8952998816967010e-02 + <_> + + 0 -1 687 -1.2454999610781670e-02 + + 4.8360601067543030e-01 1.8168000504374504e-02 + <_> + + 0 -1 688 1.4649000018835068e-02 + + -1.9906699657440186e-01 7.2815400362014771e-01 + <_> + + 0 -1 689 2.9101999476552010e-02 + + 1.9871099293231964e-01 -4.9216800928115845e-01 + <_> + + 0 -1 690 8.7799998000264168e-03 + + -1.9499599933624268e-01 7.7317398786544800e-01 + <_> + + 0 -1 691 -5.4740000516176224e-02 + + 1.8087190389633179e+00 6.8323001265525818e-02 + <_> + + 0 -1 692 -1.4798000454902649e-02 + + 7.8064900636672974e-01 -1.8709599971771240e-01 + <_> + + 0 -1 693 2.5012999773025513e-02 + + 1.5285299718379974e-01 -1.6021020412445068e+00 + <_> + + 0 -1 694 4.6548001468181610e-02 + + -1.6738200187683105e-01 1.1902060508728027e+00 + <_> + + 0 -1 695 1.7624000087380409e-02 + + -1.0285499691963196e-01 3.9175900816917419e-01 + <_> + + 0 -1 696 1.6319599747657776e-01 + + -3.5624001175165176e-02 -1.6098170280456543e+00 + <_> + + 0 -1 697 1.3137999922037125e-02 + + -5.6359000504016876e-02 5.4158902168273926e-01 + <_> + + 0 -1 698 -1.5665000304579735e-02 + + 2.8063100576400757e-01 -3.1708601117134094e-01 + <_> + + 0 -1 699 8.0554001033306122e-02 + + 1.2640400230884552e-01 -1.0297529697418213e+00 + <_> + + 0 -1 700 3.5363998264074326e-02 + + 2.0752999931573868e-02 -7.9105597734451294e-01 + <_> + + 0 -1 701 3.2986998558044434e-02 + + 1.9057099521160126e-01 -8.3839899301528931e-01 + <_> + + 0 -1 702 1.2195000424981117e-02 + + 7.3729000985622406e-02 -6.2780702114105225e-01 + <_> + + 0 -1 703 4.3065998703241348e-02 + + 4.7384999692440033e-02 1.5712939500808716e+00 + <_> + + 0 -1 704 3.0326999723911285e-02 + + -2.7314600348472595e-01 3.8572001457214355e-01 + <_> + + 0 -1 705 3.5493001341819763e-02 + + 5.4593998938798904e-02 5.2583402395248413e-01 + <_> + + 0 -1 706 -1.4596999622881413e-02 + + 3.8152599334716797e-01 -2.8332400321960449e-01 + <_> + + 0 -1 707 1.2606999836862087e-02 + + 1.5455099940299988e-01 -3.0501499772071838e-01 + <_> + + 0 -1 708 1.0172000154852867e-02 + + 2.3637000471353531e-02 -8.7217897176742554e-01 + <_> + + 0 -1 709 2.8843000531196594e-02 + + 1.6090999543666840e-01 -2.0277599990367889e-01 + <_> + + 0 -1 710 5.5100000463426113e-04 + + -6.1545401811599731e-01 8.0935999751091003e-02 + <_> + 127 + -3.5645289421081543e+00 + + <_> + + 0 -1 711 4.8344001173973083e-02 + + -8.4904599189758301e-01 5.6974399089813232e-01 + <_> + + 0 -1 712 3.2460000365972519e-02 + + -8.1417298316955566e-01 4.4781699776649475e-01 + <_> + + 0 -1 713 3.3339999616146088e-02 + + -3.6423799395561218e-01 6.7937397956848145e-01 + <_> + + 0 -1 714 6.4019998535513878e-03 + + -1.1885459423065186e+00 1.9238699972629547e-01 + <_> + + 0 -1 715 -5.6889997795224190e-03 + + 3.3085298538208008e-01 -7.1334099769592285e-01 + <_> + + 0 -1 716 1.2698000296950340e-02 + + -5.0990802049636841e-01 1.1376299709081650e-01 + <_> + + 0 -1 717 6.0549997724592686e-03 + + -1.0470550060272217e+00 2.0222599804401398e-01 + <_> + + 0 -1 718 2.6420000940561295e-03 + + -5.0559401512145996e-01 3.6441200971603394e-01 + <_> + + 0 -1 719 -1.6925999894738197e-02 + + -9.9541902542114258e-01 1.2602199614048004e-01 + <_> + + 0 -1 720 2.8235999867320061e-02 + + -9.4137996435165405e-02 5.7780402898788452e-01 + <_> + + 0 -1 721 1.0428999550640583e-02 + + 2.3272900283336639e-01 -5.2569699287414551e-01 + <_> + + 0 -1 722 9.8860003054141998e-03 + + -1.0316299647092819e-01 4.7657600045204163e-01 + <_> + + 0 -1 723 2.6015000417828560e-02 + + -1.0920000495389104e-03 -1.5581729412078857e+00 + <_> + + 0 -1 724 -2.5537999346852303e-02 + + -6.5451401472091675e-01 1.8843199312686920e-01 + <_> + + 0 -1 725 -3.5310001112520695e-03 + + 2.8140598535537720e-01 -4.4575300812721252e-01 + <_> + + 0 -1 726 9.2449998483061790e-03 + + 1.5612000226974487e-01 -2.1370999515056610e-01 + <_> + + 0 -1 727 2.1030999720096588e-02 + + -2.9170298576354980e-01 5.2234101295471191e-01 + <_> + + 0 -1 728 -5.1063001155853271e-02 + + 1.3661290407180786e+00 3.0465999618172646e-02 + <_> + + 0 -1 729 -6.2330000102519989e-02 + + 1.2207020521163940e+00 -2.2434400022029877e-01 + <_> + + 0 -1 730 -3.2963000237941742e-02 + + -8.2016801834106445e-01 1.4531899988651276e-01 + <_> + + 0 -1 731 -3.7418000400066376e-02 + + -1.2218099832534790e+00 1.9448999315500259e-02 + <_> + + 0 -1 732 1.2402799725532532e-01 + + 1.2082300335168839e-01 -9.8729300498962402e-01 + <_> + + 0 -1 733 -8.9229997247457504e-03 + + -1.1688489913940430e+00 2.1105000749230385e-02 + <_> + + 0 -1 734 -5.9879999607801437e-02 + + -1.0689330101013184e+00 1.9860200583934784e-01 + <_> + + 0 -1 735 6.2620001845061779e-03 + + -3.6229598522186279e-01 3.8000801205635071e-01 + <_> + + 0 -1 736 -1.7673000693321228e-02 + + 4.9094098806381226e-01 -1.4606699347496033e-01 + <_> + + 0 -1 737 1.7579000443220139e-02 + + 5.8728098869323730e-01 -2.7774399518966675e-01 + <_> + + 0 -1 738 5.1560001447796822e-03 + + -7.5194999575614929e-02 6.0193097591400146e-01 + <_> + + 0 -1 739 -1.0599999688565731e-02 + + 2.7637401223182678e-01 -3.7794300913810730e-01 + <_> + + 0 -1 740 2.0884099602699280e-01 + + -5.3599998354911804e-03 1.0317809581756592e+00 + <_> + + 0 -1 741 -2.6412999257445335e-02 + + 8.2336401939392090e-01 -2.2480599582195282e-01 + <_> + + 0 -1 742 5.8892000466585159e-02 + + 1.3098299503326416e-01 -1.1853699684143066e+00 + <_> + + 0 -1 743 -1.1579000391066074e-02 + + -9.0667802095413208e-01 4.4126998633146286e-02 + <_> + + 0 -1 744 4.5988000929355621e-02 + + 1.0143999941647053e-02 1.0740900039672852e+00 + <_> + + 0 -1 745 -2.2838000208139420e-02 + + 1.7791990041732788e+00 -1.7315499484539032e-01 + <_> + + 0 -1 746 -8.1709995865821838e-03 + + 5.7386302947998047e-01 -7.4106000363826752e-02 + <_> + + 0 -1 747 3.5359999164938927e-03 + + -3.2072898745536804e-01 4.0182501077651978e-01 + <_> + + 0 -1 748 4.9444999545812607e-02 + + 1.9288000464439392e-01 -1.2166700363159180e+00 + <_> + + 0 -1 749 3.5139999818056822e-03 + + 6.9568000733852386e-02 -7.1323698759078979e-01 + <_> + + 0 -1 750 -3.0996000394225121e-02 + + -3.8862198591232300e-01 1.8098799884319305e-01 + <_> + + 0 -1 751 8.6452998220920563e-02 + + -2.5792999193072319e-02 -1.5453219413757324e+00 + <_> + + 0 -1 752 -1.3652600347995758e-01 + + -1.9199420213699341e+00 1.6613300144672394e-01 + <_> + + 0 -1 753 -5.7689999230206013e-03 + + -1.2822589874267578e+00 -1.5907999128103256e-02 + <_> + + 0 -1 754 -1.7899999395012856e-02 + + -4.0409898757934570e-01 2.3591600358486176e-01 + <_> + + 0 -1 755 -1.9969999790191650e-02 + + -7.2891902923583984e-01 5.6235000491142273e-02 + <_> + + 0 -1 756 -5.7493001222610474e-02 + + 5.7830798625946045e-01 -1.5796000137925148e-02 + <_> + + 0 -1 757 -8.3056002855300903e-02 + + 9.1511601209640503e-01 -2.1121400594711304e-01 + <_> + + 0 -1 758 -5.3771000355482101e-02 + + -5.1931297779083252e-01 1.8576000630855560e-01 + <_> + + 0 -1 759 -8.3670001477003098e-03 + + 2.4109700322151184e-01 -3.9648601412773132e-01 + <_> + + 0 -1 760 5.5406998842954636e-02 + + 1.6771200299263000e-01 -2.5664970874786377e+00 + <_> + + 0 -1 761 -6.7180998623371124e-02 + + -1.3658570051193237e+00 -1.4232000336050987e-02 + <_> + + 0 -1 762 -2.3900000378489494e-02 + + -1.7084569931030273e+00 1.6507799923419952e-01 + <_> + + 0 -1 763 5.5949999950826168e-03 + + -3.1373998522758484e-01 3.2837900519371033e-01 + <_> + + 0 -1 764 2.1294999867677689e-02 + + 1.4953400194644928e-01 -4.8579800128936768e-01 + <_> + + 0 -1 765 -2.4613000452518463e-02 + + 7.4346399307250977e-01 -2.2305199503898621e-01 + <_> + + 0 -1 766 -1.9626000896096230e-02 + + -4.0918299555778503e-01 1.8893200159072876e-01 + <_> + + 0 -1 767 -5.3266000002622604e-02 + + 8.1381601095199585e-01 -2.0853699743747711e-01 + <_> + + 0 -1 768 7.1290000341832638e-03 + + 3.2996100187301636e-01 -5.9937399625778198e-01 + <_> + + 0 -1 769 -2.2486999630928040e-02 + + -1.2551610469818115e+00 -2.0413000136613846e-02 + <_> + + 0 -1 770 -8.2310996949672699e-02 + + 1.3821430206298828e+00 5.9308998286724091e-02 + <_> + + 0 -1 771 1.3097000122070312e-01 + + -3.5843998193740845e-02 -1.5396369695663452e+00 + <_> + + 0 -1 772 1.4293000102043152e-02 + + -1.8475200235843658e-01 3.7455001473426819e-01 + <_> + + 0 -1 773 6.3479999080300331e-03 + + -4.4901099801063538e-01 1.3876999914646149e-01 + <_> + + 0 -1 774 -4.6055000275373459e-02 + + 6.7832601070404053e-01 -1.7071999609470367e-02 + <_> + + 0 -1 775 5.7693999260663986e-02 + + -1.1955999769270420e-02 -1.2261159420013428e+00 + <_> + + 0 -1 776 -6.0609998181462288e-03 + + 3.3958598971366882e-01 6.2800000887364149e-04 + <_> + + 0 -1 777 -5.2163001149892807e-02 + + -1.0621069669723511e+00 -1.3779999688267708e-02 + <_> + + 0 -1 778 4.6572998166084290e-02 + + 1.4538800716400146e-01 -1.2384550571441650e+00 + <_> + + 0 -1 779 7.5309998355805874e-03 + + -2.4467700719833374e-01 5.1377099752426147e-01 + <_> + + 0 -1 780 2.1615000441670418e-02 + + 1.3072599470615387e-01 -7.0996797084808350e-01 + <_> + + 0 -1 781 -1.7864000052213669e-02 + + -1.0474660396575928e+00 4.9599999329075217e-04 + <_> + + 0 -1 782 -3.7195000797510147e-02 + + -1.5126730203628540e+00 1.4801399409770966e-01 + <_> + + 0 -1 783 -3.1100001069717109e-04 + + 1.3971500098705292e-01 -4.6867498755455017e-01 + <_> + + 0 -1 784 2.5042999535799026e-02 + + 2.8632000088691711e-01 -4.1794699430465698e-01 + <_> + + 0 -1 785 9.3449996784329414e-03 + + -2.7336201071739197e-01 4.3444699048995972e-01 + <_> + + 0 -1 786 3.2363999634981155e-02 + + 1.8438899517059326e-01 -9.5019298791885376e-01 + <_> + + 0 -1 787 -6.2299999408423901e-03 + + 3.2581999897956848e-01 -3.0815601348876953e-01 + <_> + + 0 -1 788 5.1488999277353287e-02 + + 1.1416000127792358e-01 -1.9795479774475098e+00 + <_> + + 0 -1 789 -2.6449000462889671e-02 + + -1.1067299842834473e+00 -8.5519999265670776e-03 + <_> + + 0 -1 790 -1.5420000068843365e-02 + + 8.0138701200485229e-01 -3.2035000622272491e-02 + <_> + + 0 -1 791 1.9456999376416206e-02 + + -2.6449498534202576e-01 3.8753899931907654e-01 + <_> + + 0 -1 792 3.3620998263359070e-02 + + 1.6052000224590302e-02 5.8840900659561157e-01 + <_> + + 0 -1 793 2.8906000778079033e-02 + + 1.5216000378131866e-02 -9.4723600149154663e-01 + <_> + + 0 -1 794 2.0300000323913991e-04 + + -3.0766001343727112e-01 2.1235899627208710e-01 + <_> + + 0 -1 795 -4.9141999334096909e-02 + + -1.6058609485626221e+00 -3.1094999983906746e-02 + <_> + + 0 -1 796 7.6425999402999878e-02 + + 7.4758999049663544e-02 1.1639410257339478e+00 + <_> + + 0 -1 797 2.3897999897599220e-02 + + -6.4320000819861889e-03 -1.1150749921798706e+00 + <_> + + 0 -1 798 3.8970001041889191e-03 + + -2.4105699360370636e-01 2.0858900249004364e-01 + <_> + + 0 -1 799 -8.9445002377033234e-02 + + 1.9157789945602417e+00 -1.5721100568771362e-01 + <_> + + 0 -1 800 -1.5008999966084957e-02 + + -2.5174099206924438e-01 1.8179899454116821e-01 + <_> + + 0 -1 801 -1.1145999655127525e-02 + + -6.9349497556686401e-01 4.4927999377250671e-02 + <_> + + 0 -1 802 9.4578996300697327e-02 + + 1.8102100491523743e-01 -7.4978601932525635e-01 + <_> + + 0 -1 803 5.5038899183273315e-01 + + -3.0974000692367554e-02 -1.6746139526367188e+00 + <_> + + 0 -1 804 4.1381001472473145e-02 + + 6.3910000026226044e-02 7.6561200618743896e-01 + <_> + + 0 -1 805 2.4771999567747116e-02 + + 1.1380000039935112e-02 -8.8559401035308838e-01 + <_> + + 0 -1 806 5.0999000668525696e-02 + + 1.4890299737453461e-01 -2.4634211063385010e+00 + <_> + + 0 -1 807 -1.6893999651074409e-02 + + 3.8870999217033386e-01 -2.9880300164222717e-01 + <_> + + 0 -1 808 -1.2162300199270248e-01 + + -1.5542800426483154e+00 1.6300800442695618e-01 + <_> + + 0 -1 809 -3.6049999762326479e-03 + + 2.1842800080776215e-01 -3.7312099337577820e-01 + <_> + + 0 -1 810 1.1575400084257126e-01 + + -4.7061000019311905e-02 5.9403699636459351e-01 + <_> + + 0 -1 811 3.6903999745845795e-02 + + -2.5508600473403931e-01 5.5397301912307739e-01 + <_> + + 0 -1 812 1.1483999900519848e-02 + + -1.8129499256610870e-01 4.0682798624038696e-01 + <_> + + 0 -1 813 -2.0233999937772751e-02 + + 5.4311197996139526e-01 -2.3822399973869324e-01 + <_> + + 0 -1 814 -2.8765000402927399e-02 + + -6.9172298908233643e-01 1.5943300724029541e-01 + <_> + + 0 -1 815 -5.8320001699030399e-03 + + 2.9447799921035767e-01 -3.4005999565124512e-01 + <_> + + 0 -1 816 -5.5468998849391937e-02 + + 9.2200797796249390e-01 9.4093002378940582e-02 + <_> + + 0 -1 817 -1.4801000244915485e-02 + + -7.9539698362350464e-01 3.1521998345851898e-02 + <_> + + 0 -1 818 -7.0940000005066395e-03 + + 3.3096000552177429e-01 -5.0886999815702438e-02 + <_> + + 0 -1 819 -4.5124001801013947e-02 + + -1.3719749450683594e+00 -2.1408999338746071e-02 + <_> + + 0 -1 820 6.4377002418041229e-02 + + 6.3901998102664948e-02 9.1478300094604492e-01 + <_> + + 0 -1 821 -1.4727000147104263e-02 + + 3.6050599813461304e-01 -2.8614500164985657e-01 + <_> + + 0 -1 822 4.5007001608610153e-02 + + -1.5619699656963348e-01 5.3160297870635986e-01 + <_> + + 0 -1 823 -1.1330000124871731e-03 + + 1.3422900438308716e-01 -4.4358900189399719e-01 + <_> + + 0 -1 824 4.9451000988483429e-02 + + 1.0571800172328949e-01 -2.5589139461517334e+00 + <_> + + 0 -1 825 2.9102999716997147e-02 + + -1.0088000446557999e-02 -1.1073939800262451e+00 + <_> + + 0 -1 826 3.4786000847816467e-02 + + -2.7719999197870493e-03 5.6700998544692993e-01 + <_> + + 0 -1 827 -6.1309998854994774e-03 + + -4.6889400482177734e-01 1.2636399269104004e-01 + <_> + + 0 -1 828 1.5525000169873238e-02 + + -8.4279999136924744e-03 8.7469202280044556e-01 + <_> + + 0 -1 829 2.9249999206513166e-03 + + -3.4434300661087036e-01 2.0851600170135498e-01 + <_> + + 0 -1 830 -5.3571000695228577e-02 + + 1.4982949495315552e+00 5.7328000664710999e-02 + <_> + + 0 -1 831 -1.9217999652028084e-02 + + -9.9234098196029663e-01 -9.3919998034834862e-03 + <_> + + 0 -1 832 -5.5282998830080032e-02 + + -5.7682299613952637e-01 1.6860599815845490e-01 + <_> + + 0 -1 833 5.6336000561714172e-02 + + -3.3775001764297485e-02 -1.3889650106430054e+00 + <_> + + 0 -1 834 -2.3824000731110573e-02 + + 4.0182098746299744e-01 1.8360000103712082e-03 + <_> + + 0 -1 835 1.7810000572353601e-03 + + 1.8145999312400818e-01 -4.1743400692939758e-01 + <_> + + 0 -1 836 -3.7689000368118286e-02 + + 5.4683101177215576e-01 1.8219999969005585e-02 + <_> + + 0 -1 837 -2.4144999682903290e-02 + + 6.8352097272872925e-01 -1.9650200009346008e-01 + <_> + 135 + -3.7025990486145020e+00 + + <_> + + 0 -1 838 2.7444999665021896e-02 + + -8.9984202384948730e-01 5.1876497268676758e-01 + <_> + + 0 -1 839 1.1554100364446640e-01 + + -5.6524401903152466e-01 7.0551300048828125e-01 + <_> + + 0 -1 840 -2.2297000512480736e-02 + + 3.6079999804496765e-01 -6.6864597797393799e-01 + <_> + + 0 -1 841 1.3325000181794167e-02 + + -5.5573397874832153e-01 3.5789999365806580e-01 + <_> + + 0 -1 842 -3.8060001097619534e-03 + + -1.0713000297546387e+00 1.8850000202655792e-01 + <_> + + 0 -1 843 -2.6819999329745770e-03 + + -7.1584302186965942e-01 2.6344498991966248e-01 + <_> + + 0 -1 844 3.3819999080151320e-03 + + -4.6930798888206482e-01 2.6658400893211365e-01 + <_> + + 0 -1 845 3.7643000483512878e-02 + + 2.1098700165748596e-01 -1.0804339647293091e+00 + <_> + + 0 -1 846 -1.3861999846994877e-02 + + 6.6912001371383667e-01 -2.7942800521850586e-01 + <_> + + 0 -1 847 -2.7350001037120819e-03 + + -9.5332300662994385e-01 2.4051299691200256e-01 + <_> + + 0 -1 848 -3.8336999714374542e-02 + + 8.1432801485061646e-01 -2.4919399619102478e-01 + <_> + + 0 -1 849 -3.4697998315095901e-02 + + 1.2330100536346436e+00 6.8600000813603401e-03 + <_> + + 0 -1 850 2.3360999301075935e-02 + + -3.0794700980186462e-01 7.0714497566223145e-01 + <_> + + 0 -1 851 3.5057999193668365e-02 + + 2.1205900609493256e-01 -1.4399830102920532e+00 + <_> + + 0 -1 852 -1.3256999664008617e-02 + + -9.0260702371597290e-01 4.8610001802444458e-02 + <_> + + 0 -1 853 1.2740000151097775e-02 + + 2.2655199468135834e-01 -4.4643801450729370e-01 + <_> + + 0 -1 854 3.6400000099092722e-03 + + -3.9817899465560913e-01 3.4665399789810181e-01 + <_> + + 0 -1 855 1.0064700245857239e-01 + + 1.8383599817752838e-01 -1.3410769701004028e+00 + <_> + + 0 -1 856 0. + + 1.5536400675773621e-01 -5.1582497358322144e-01 + <_> + + 0 -1 857 1.1708999983966351e-02 + + 2.1651400625705719e-01 -7.2705197334289551e-01 + <_> + + 0 -1 858 -3.5964999347925186e-02 + + -1.4789500236511230e+00 -2.4317000061273575e-02 + <_> + + 0 -1 859 -2.1236000582575798e-02 + + -1.6844099760055542e-01 1.9526599347591400e-01 + <_> + + 0 -1 860 1.4874000102281570e-02 + + 3.7335999310016632e-02 -8.7557297945022583e-01 + <_> + + 0 -1 861 -5.1409997977316380e-03 + + 3.3466500043869019e-01 -2.4109700322151184e-01 + <_> + + 0 -1 862 2.3450000211596489e-02 + + 5.5320002138614655e-03 -1.2509720325469971e+00 + <_> + + 0 -1 863 -2.5062000378966331e-02 + + 4.5212399959564209e-01 -8.4469996392726898e-02 + <_> + + 0 -1 864 -7.7400001464411616e-04 + + 1.5249900519847870e-01 -4.8486500978469849e-01 + <_> + + 0 -1 865 -4.0483999997377396e-02 + + -1.3024920225143433e+00 1.7983500659465790e-01 + <_> + + 0 -1 866 2.8170999139547348e-02 + + -2.4410900473594666e-01 6.2271100282669067e-01 + <_> + + 0 -1 867 4.5692998915910721e-02 + + 2.8122000396251678e-02 9.2394399642944336e-01 + <_> + + 0 -1 868 3.9707001298666000e-02 + + -2.2332799434661865e-01 7.7674001455307007e-01 + <_> + + 0 -1 869 5.0517000257968903e-02 + + 2.0319999754428864e-01 -1.0895930528640747e+00 + <_> + + 0 -1 870 -1.7266999930143356e-02 + + 6.8598401546478271e-01 -2.3304499685764313e-01 + <_> + + 0 -1 871 8.0186001956462860e-02 + + -1.0292000137269497e-02 6.1881101131439209e-01 + <_> + + 0 -1 872 9.7676001489162445e-02 + + -2.0070299506187439e-01 1.0088349580764771e+00 + <_> + + 0 -1 873 -1.5572000294923782e-02 + + 4.7615298628807068e-01 4.5623999089002609e-02 + <_> + + 0 -1 874 -1.5305000357329845e-02 + + -1.1077369451522827e+00 4.5239999890327454e-03 + <_> + + 0 -1 875 -1.6485000029206276e-02 + + 1.0152939558029175e+00 1.6327999532222748e-02 + <_> + + 0 -1 876 -2.6141999289393425e-02 + + 4.1723299026489258e-01 -2.8645500540733337e-01 + <_> + + 0 -1 877 8.8679995387792587e-03 + + 2.1404999494552612e-01 -1.6772800683975220e-01 + <_> + + 0 -1 878 -2.6886999607086182e-02 + + -1.1564220190048218e+00 -1.0324000380933285e-02 + <_> + + 0 -1 879 7.7789998613297939e-03 + + 3.5359498858451843e-01 -2.9611301422119141e-01 + <_> + + 0 -1 880 -1.5974000096321106e-02 + + -1.5374109745025635e+00 -2.9958000406622887e-02 + <_> + + 0 -1 881 2.0866999402642250e-02 + + 2.0244100689888000e-01 -7.1270197629928589e-01 + <_> + + 0 -1 882 8.5482001304626465e-02 + + -2.5932999327778816e-02 -1.5156569480895996e+00 + <_> + + 0 -1 883 2.3872999474406242e-02 + + 1.6803400218486786e-01 -3.8806200027465820e-01 + <_> + + 0 -1 884 -3.9105001837015152e-02 + + -1.1958349943161011e+00 -2.0361000671982765e-02 + <_> + + 0 -1 885 -7.7946998178958893e-02 + + -1.0898950099945068e+00 1.4530299603939056e-01 + <_> + + 0 -1 886 -1.6876000910997391e-02 + + 2.8049701452255249e-01 -4.1336300969123840e-01 + <_> + + 0 -1 887 1.1875600367784500e-01 + + -4.3490998446941376e-02 4.1263699531555176e-01 + <_> + + 0 -1 888 1.5624199807643890e-01 + + -2.6429599523544312e-01 5.5127799510955811e-01 + <_> + + 0 -1 889 -4.5908000320196152e-02 + + 6.0189199447631836e-01 1.8921000882983208e-02 + <_> + + 0 -1 890 -1.0309999808669090e-02 + + 3.8152998685836792e-01 -2.9507899284362793e-01 + <_> + + 0 -1 891 9.5769003033638000e-02 + + 1.3246500492095947e-01 -4.6266800165176392e-01 + <_> + + 0 -1 892 1.3686999678611755e-02 + + 1.1738699674606323e-01 -5.1664102077484131e-01 + <_> + + 0 -1 893 2.3990001063793898e-03 + + -3.4007599949836731e-01 2.0953500270843506e-01 + <_> + + 0 -1 894 3.3264998346567154e-02 + + -1.7052799463272095e-01 1.4366799592971802e+00 + <_> + + 0 -1 895 -3.3206000924110413e-02 + + 6.1295700073242188e-01 -4.1549999266862869e-02 + <_> + + 0 -1 896 2.7979998849332333e-03 + + -4.8554301261901855e-01 1.3372699916362762e-01 + <_> + + 0 -1 897 -6.5792001783847809e-02 + + -4.0257668495178223e+00 1.0876700282096863e-01 + <_> + + 0 -1 898 2.1430000197142363e-03 + + -3.9179998636245728e-01 2.2427099943161011e-01 + <_> + + 0 -1 899 2.2363999858498573e-02 + + -8.6429998278617859e-02 3.7785199284553528e-01 + <_> + + 0 -1 900 -5.7410001754760742e-02 + + 1.1454069614410400e+00 -1.9736599922180176e-01 + <_> + + 0 -1 901 6.6550001502037048e-03 + + -2.1105000749230385e-02 5.8453398942947388e-01 + <_> + + 0 -1 902 1.2326999567449093e-02 + + 3.7817001342773438e-02 -6.6987001895904541e-01 + <_> + + 0 -1 903 -8.1869997084140778e-03 + + 5.6366002559661865e-01 -7.6877996325492859e-02 + <_> + + 0 -1 904 3.6681000143289566e-02 + + -1.7343300580978394e-01 1.1670149564743042e+00 + <_> + + 0 -1 905 -4.0220400691032410e-01 + + 1.2640819549560547e+00 4.3398998677730560e-02 + <_> + + 0 -1 906 -2.2126000374555588e-02 + + 6.6978102922439575e-01 -2.1605299413204193e-01 + <_> + + 0 -1 907 -1.3156999833881855e-02 + + -4.1198599338531494e-01 2.0215000212192535e-01 + <_> + + 0 -1 908 -1.2860000133514404e-02 + + -9.1582697629928589e-01 3.9232999086380005e-02 + <_> + + 0 -1 909 2.1627999842166901e-02 + + 3.8719999138265848e-03 3.5668200254440308e-01 + <_> + + 0 -1 910 1.1896000243723392e-02 + + -3.7303900718688965e-01 1.9235099852085114e-01 + <_> + + 0 -1 911 -1.9548999145627022e-02 + + -4.2374899983406067e-01 2.4429599940776825e-01 + <_> + + 0 -1 912 6.4444996416568756e-02 + + -1.6558900475502014e-01 1.2697030305862427e+00 + <_> + + 0 -1 913 1.0898499935865402e-01 + + 1.4894300699234009e-01 -2.1534640789031982e+00 + <_> + + 0 -1 914 -3.4077998250722885e-02 + + 1.3779460191726685e+00 -1.6198499500751495e-01 + <_> + + 0 -1 915 -3.7489999085664749e-03 + + -3.3828601241111755e-01 2.1152900159358978e-01 + <_> + + 0 -1 916 -1.0971999727189541e-02 + + 7.6517897844314575e-01 -1.9692599773406982e-01 + <_> + + 0 -1 917 -1.1485000140964985e-02 + + -6.9271200895309448e-01 2.1657100319862366e-01 + <_> + + 0 -1 918 2.5984000414609909e-02 + + -1.1983999982476234e-02 -9.9697297811508179e-01 + <_> + + 0 -1 919 4.2159999720752239e-03 + + -1.0205700248479843e-01 4.8884400725364685e-01 + <_> + + 0 -1 920 -4.7697000205516815e-02 + + 1.0666010379791260e+00 -1.7576299607753754e-01 + <_> + + 0 -1 921 4.0300001273863018e-04 + + 1.8524800240993500e-01 -7.4790000915527344e-01 + <_> + + 0 -1 922 1.1539600044488907e-01 + + -2.2019700706005096e-01 5.4509997367858887e-01 + <_> + + 0 -1 923 1.6021000221371651e-02 + + 2.5487500429153442e-01 -5.0740098953247070e-01 + <_> + + 0 -1 924 5.6632000952959061e-02 + + -1.1256000027060509e-02 -9.5968097448348999e-01 + <_> + + 0 -1 925 -1.0726000182330608e-02 + + -2.8544700145721436e-01 1.6994799673557281e-01 + <_> + + 0 -1 926 1.2420000135898590e-01 + + -3.6139998584985733e-02 -1.3132710456848145e+00 + <_> + + 0 -1 927 -5.3799999877810478e-03 + + 3.3092701435089111e-01 1.3307999819517136e-02 + <_> + + 0 -1 928 1.1908000335097313e-02 + + -3.4830299019813538e-01 2.4041900038719177e-01 + <_> + + 0 -1 929 -4.3007999658584595e-02 + + -1.4390469789505005e+00 1.5599599480628967e-01 + <_> + + 0 -1 930 -3.3149998635053635e-02 + + -1.1805850267410278e+00 -1.2347999960184097e-02 + <_> + + 0 -1 931 -2.1341999992728233e-02 + + 2.2119441032409668e+00 6.2737002968788147e-02 + <_> + + 0 -1 932 -1.2218999676406384e-02 + + -1.8709750175476074e+00 -4.5499999076128006e-02 + <_> + + 0 -1 933 -1.6860999166965485e-02 + + -7.6912701129913330e-01 1.5330000221729279e-01 + <_> + + 0 -1 934 -2.4999999441206455e-03 + + -6.2987399101257324e-01 5.1600001752376556e-02 + <_> + + 0 -1 935 -4.5037999749183655e-02 + + 8.5428899526596069e-01 6.2600001692771912e-03 + <_> + + 0 -1 936 3.9057999849319458e-02 + + -3.2458998262882233e-02 -1.3325669765472412e+00 + <_> + + 0 -1 937 6.6720000468194485e-03 + + -1.9423599541187286e-01 3.7328699231147766e-01 + <_> + + 0 -1 938 -1.6361000016331673e-02 + + 2.0605869293212891e+00 -1.5042699873447418e-01 + <_> + + 0 -1 939 6.1719999648630619e-03 + + -1.1610999703407288e-01 2.5455400347709656e-01 + <_> + + 0 -1 940 4.5722000300884247e-02 + + -1.6340000554919243e-02 -1.0449140071868896e+00 + <_> + + 0 -1 941 4.1209999471902847e-03 + + -4.1997998952865601e-02 3.9680999517440796e-01 + <_> + + 0 -1 942 -1.7800000205170363e-04 + + -6.6422599554061890e-01 3.3443000167608261e-02 + <_> + + 0 -1 943 7.1109998971223831e-03 + + -5.8231998234987259e-02 3.7857300043106079e-01 + <_> + + 0 -1 944 -4.9864001572132111e-02 + + 6.1019402742385864e-01 -2.1005700528621674e-01 + <_> + + 0 -1 945 -2.5011999532580376e-02 + + -5.7100099325180054e-01 1.7848399281501770e-01 + <_> + + 0 -1 946 3.0939999967813492e-02 + + 5.6363001465797424e-02 -6.4731001853942871e-01 + <_> + + 0 -1 947 4.6271000057458878e-02 + + 1.7482399940490723e-01 -9.8909401893615723e-01 + <_> + + 0 -1 948 -3.1870000530034304e-03 + + -6.6804802417755127e-01 3.2267000526189804e-02 + <_> + + 0 -1 949 -2.4351999163627625e-02 + + 2.9444900155067444e-01 -1.3599999947473407e-03 + <_> + + 0 -1 950 1.1974000371992588e-02 + + -2.8345099091529846e-01 4.7171199321746826e-01 + <_> + + 0 -1 951 1.3070000335574150e-02 + + -1.0834600031375885e-01 5.7193297147750854e-01 + <_> + + 0 -1 952 5.9163000434637070e-02 + + -5.0939001142978668e-02 -1.9059720039367676e+00 + <_> + + 0 -1 953 -4.1094999760389328e-02 + + 4.5104598999023438e-01 -9.7599998116493225e-03 + <_> + + 0 -1 954 -8.3989001810550690e-02 + + -2.0349199771881104e+00 -5.1019001752138138e-02 + <_> + + 0 -1 955 4.4619001448154449e-02 + + 1.7041100561618805e-01 -1.2278720140457153e+00 + <_> + + 0 -1 956 2.4419000372290611e-02 + + -2.1796999499201775e-02 -1.0822949409484863e+00 + <_> + + 0 -1 957 -4.3870001100003719e-03 + + 3.0466699600219727e-01 -3.7066599726676941e-01 + <_> + + 0 -1 958 2.4607999250292778e-02 + + -3.1169500946998596e-01 2.3657299578189850e-01 + <_> + + 0 -1 959 -8.5182003676891327e-02 + + -1.7982350587844849e+00 1.5254299342632294e-01 + <_> + + 0 -1 960 2.1844999864697456e-02 + + -5.1888000220060349e-02 -1.9017189741134644e+00 + <_> + + 0 -1 961 -1.6829000785946846e-02 + + 2.1025900542736053e-01 2.1656999364495277e-02 + <_> + + 0 -1 962 3.2547999173402786e-02 + + -2.0292599499225616e-01 6.0944002866744995e-01 + <_> + + 0 -1 963 2.4709999561309814e-03 + + -9.5371198654174805e-01 1.8568399548530579e-01 + <_> + + 0 -1 964 5.5415999144315720e-02 + + -1.4405299723148346e-01 2.1506340503692627e+00 + <_> + + 0 -1 965 -1.0635499656200409e-01 + + -1.0911970138549805e+00 1.3228000700473785e-01 + <_> + + 0 -1 966 -7.9889995977282524e-03 + + 1.0253400355577469e-01 -5.1744902133941650e-01 + <_> + + 0 -1 967 7.5567997992038727e-02 + + 5.8965001255273819e-02 1.2354209423065186e+00 + <_> + + 0 -1 968 -9.2805996537208557e-02 + + -1.3431650400161743e+00 -3.4462999552488327e-02 + <_> + + 0 -1 969 4.9431998282670975e-02 + + 4.9601998180150986e-02 1.6054730415344238e+00 + <_> + + 0 -1 970 -1.1772999539971352e-02 + + -1.0261050462722778e+00 -4.1559999808669090e-03 + <_> + + 0 -1 971 8.5886001586914062e-02 + + 8.4642998874187469e-02 9.5220798254013062e-01 + <_> + + 0 -1 972 8.1031002104282379e-02 + + -1.4687100052833557e-01 1.9359990358352661e+00 + <_> + 136 + -3.4265899658203125e+00 + + <_> + + 0 -1 973 -3.3840999007225037e-02 + + 6.5889501571655273e-01 -6.9755297899246216e-01 + <_> + + 0 -1 974 1.5410000458359718e-02 + + -9.0728402137756348e-01 3.0478599667549133e-01 + <_> + + 0 -1 975 5.4905999451875687e-02 + + -4.9774798750877380e-01 5.7132601737976074e-01 + <_> + + 0 -1 976 2.1390000358223915e-02 + + -4.2565199732780457e-01 5.8096802234649658e-01 + <_> + + 0 -1 977 7.8849997371435165e-03 + + -4.7905999422073364e-01 4.3016499280929565e-01 + <_> + + 0 -1 978 -3.7544999271631241e-02 + + 5.0861597061157227e-01 -1.9985899329185486e-01 + <_> + + 0 -1 979 1.5925799310207367e-01 + + -2.3263600468635559e-01 1.0993319749832153e+00 + <_> + + 0 -1 980 -6.8939998745918274e-02 + + 4.0569001436233521e-01 5.6855000555515289e-02 + <_> + + 0 -1 981 -3.3695001155138016e-02 + + 4.5132800936698914e-01 -3.3332800865173340e-01 + <_> + + 0 -1 982 -6.3314996659755707e-02 + + -8.5015702247619629e-01 2.2341699898242950e-01 + <_> + + 0 -1 983 7.3699997738003731e-03 + + -9.3082201480865479e-01 5.9216998517513275e-02 + <_> + + 0 -1 984 -9.5969997346401215e-03 + + -1.2794899940490723e+00 1.8447299301624298e-01 + <_> + + 0 -1 985 -1.3067999482154846e-01 + + 5.8426898717880249e-01 -2.6007199287414551e-01 + <_> + + 0 -1 986 5.7402998208999634e-02 + + -5.3789000958204269e-02 7.1175599098205566e-01 + <_> + + 0 -1 987 -7.2340001352131367e-03 + + -8.6962199211120605e-01 7.5214996933937073e-02 + <_> + + 0 -1 988 3.1098999083042145e-02 + + -7.5006999075412750e-02 9.0781599283218384e-01 + <_> + + 0 -1 989 3.5854000598192215e-02 + + -2.4795499444007874e-01 7.2272098064422607e-01 + <_> + + 0 -1 990 -3.1534999608993530e-02 + + -1.1238329410552979e+00 2.0988300442695618e-01 + <_> + + 0 -1 991 -1.9437000155448914e-02 + + -1.4499390125274658e+00 -1.5100000426173210e-02 + <_> + + 0 -1 992 -7.2420001961290836e-03 + + 5.3864902257919312e-01 -1.1375399678945541e-01 + <_> + + 0 -1 993 8.1639997661113739e-03 + + 6.6889002919197083e-02 -7.6872897148132324e-01 + <_> + + 0 -1 994 -4.3653000146150589e-02 + + 1.1413530111312866e+00 4.0217000991106033e-02 + <_> + + 0 -1 995 2.6569999754428864e-02 + + -2.4719099700450897e-01 5.9295099973678589e-01 + <_> + + 0 -1 996 3.2216999679803848e-02 + + -4.0024999529123306e-02 3.2688000798225403e-01 + <_> + + 0 -1 997 -7.2236001491546631e-02 + + 5.8729398250579834e-01 -2.5396001338958740e-01 + <_> + + 0 -1 998 3.1424999237060547e-02 + + 1.5315100550651550e-01 -5.6042098999023438e-01 + <_> + + 0 -1 999 -4.7699999413453043e-04 + + 1.6958899796009064e-01 -5.2626699209213257e-01 + <_> + + 0 -1 1000 2.7189999818801880e-03 + + -1.4944599568843842e-01 2.9658699035644531e-01 + <_> + + 0 -1 1001 3.2875001430511475e-02 + + -3.9943501353263855e-01 2.5156599283218384e-01 + <_> + + 0 -1 1002 -1.4553000219166279e-02 + + 2.7972599864006042e-01 -4.7203800082206726e-01 + <_> + + 0 -1 1003 3.8017999380826950e-02 + + -2.9200001154094934e-03 -1.1300059556961060e+00 + <_> + + 0 -1 1004 2.8659999370574951e-03 + + 4.1111800074577332e-01 -2.6220801472663879e-01 + <_> + + 0 -1 1005 -4.1606999933719635e-02 + + -1.4293819665908813e+00 -1.9132999703288078e-02 + <_> + + 0 -1 1006 -2.4802999570965767e-02 + + -2.5013598799705505e-01 1.5978699922561646e-01 + <_> + + 0 -1 1007 1.0098000057041645e-02 + + 4.3738998472690582e-02 -6.9986099004745483e-01 + <_> + + 0 -1 1008 -2.0947000011801720e-02 + + -9.4137799739837646e-01 2.3204000294208527e-01 + <_> + + 0 -1 1009 2.2458000108599663e-02 + + -2.7185800671577454e-01 4.5319199562072754e-01 + <_> + + 0 -1 1010 -3.7110999226570129e-02 + + -1.0314660072326660e+00 1.4421799778938293e-01 + <_> + + 0 -1 1011 -1.0648000054061413e-02 + + 6.3107001781463623e-01 -2.5520798563957214e-01 + <_> + + 0 -1 1012 5.5422998964786530e-02 + + 1.6206599771976471e-01 -1.7722640037536621e+00 + <_> + + 0 -1 1013 2.1601999178528786e-02 + + -2.5016099214553833e-01 5.4119801521301270e-01 + <_> + + 0 -1 1014 8.7000000348780304e-05 + + -2.9008901119232178e-01 3.3507999777793884e-01 + <_> + + 0 -1 1015 1.4406000263988972e-02 + + -7.8840004280209541e-03 -1.1677219867706299e+00 + <_> + + 0 -1 1016 1.0777399688959122e-01 + + 1.1292000114917755e-01 -2.4940319061279297e+00 + <_> + + 0 -1 1017 3.5943999886512756e-02 + + -1.9480599462985992e-01 9.5757502317428589e-01 + <_> + + 0 -1 1018 -3.9510000497102737e-03 + + 3.0927801132202148e-01 -2.5530201196670532e-01 + <_> + + 0 -1 1019 2.0942000672221184e-02 + + -7.6319999061524868e-03 -1.0086350440979004e+00 + <_> + + 0 -1 1020 -2.9877999797463417e-02 + + -4.6027699112892151e-01 1.9507199525833130e-01 + <_> + + 0 -1 1021 2.5971999391913414e-02 + + -1.2187999673187733e-02 -1.0035500526428223e+00 + <_> + + 0 -1 1022 1.0603000409901142e-02 + + -7.5969003140926361e-02 4.1669899225234985e-01 + <_> + + 0 -1 1023 8.5819996893405914e-03 + + -2.6648598909378052e-01 3.9111500978469849e-01 + <_> + + 0 -1 1024 2.1270999684929848e-02 + + 1.8273900449275970e-01 -3.6052298545837402e-01 + <_> + + 0 -1 1025 7.4518002569675446e-02 + + -1.8938399851322174e-01 9.2658001184463501e-01 + <_> + + 0 -1 1026 4.6569998376071453e-03 + + -1.4506199955940247e-01 3.3294600248336792e-01 + <_> + + 0 -1 1027 1.7119999974966049e-03 + + -5.2464002370834351e-01 8.9879997074604034e-02 + <_> + + 0 -1 1028 9.8500004969537258e-04 + + -3.8381999731063843e-01 2.4392999708652496e-01 + <_> + + 0 -1 1029 2.8233999386429787e-02 + + -5.7879998348653316e-03 -1.2617139816284180e+00 + <_> + + 0 -1 1030 -3.2678000628948212e-02 + + -5.7953298091888428e-01 1.6955299675464630e-01 + <_> + + 0 -1 1031 2.2536000236868858e-02 + + 2.2281000390648842e-02 -8.7869602441787720e-01 + <_> + + 0 -1 1032 -2.1657999604940414e-02 + + -6.5108501911163330e-01 1.2966899573802948e-01 + <_> + + 0 -1 1033 7.6799998059868813e-03 + + -3.3965200185775757e-01 2.2013300657272339e-01 + <_> + + 0 -1 1034 1.4592000283300877e-02 + + 1.5077300369739532e-01 -5.0452399253845215e-01 + <_> + + 0 -1 1035 2.7868000790476799e-02 + + -2.5045299530029297e-01 4.5741999149322510e-01 + <_> + + 0 -1 1036 5.6940000504255295e-03 + + -1.0948500037193298e-01 5.5757802724838257e-01 + <_> + + 0 -1 1037 -1.0002999566495419e-02 + + -9.7366297245025635e-01 1.8467999994754791e-02 + <_> + + 0 -1 1038 -4.0719998069107533e-03 + + 3.8222199678421021e-01 -1.6921100020408630e-01 + <_> + + 0 -1 1039 -2.2593999281525612e-02 + + -1.0391089916229248e+00 5.1839998923242092e-03 + <_> + + 0 -1 1040 -3.9579998701810837e-02 + + -5.5109229087829590e+00 1.1163999885320663e-01 + <_> + + 0 -1 1041 -1.7537999898195267e-02 + + 9.5485800504684448e-01 -1.8584500253200531e-01 + <_> + + 0 -1 1042 9.0300003066658974e-03 + + 1.0436000302433968e-02 8.2114797830581665e-01 + <_> + + 0 -1 1043 -7.9539995640516281e-03 + + 2.2632899880409241e-01 -3.4568199515342712e-01 + <_> + + 0 -1 1044 2.7091000229120255e-02 + + 1.6430099308490753e-01 -1.3926379680633545e+00 + <_> + + 0 -1 1045 -2.0625999197363853e-02 + + -8.6366099119186401e-01 2.3880000226199627e-03 + <_> + + 0 -1 1046 -7.1989998221397400e-02 + + -2.8192629814147949e+00 1.1570499837398529e-01 + <_> + + 0 -1 1047 -2.6964999735355377e-02 + + -1.2946130037307739e+00 -2.4661000818014145e-02 + <_> + + 0 -1 1048 -4.7377999871969223e-02 + + -8.1306397914886475e-01 1.1831399798393250e-01 + <_> + + 0 -1 1049 -1.0895600169897079e-01 + + 6.5937900543212891e-01 -2.0843900740146637e-01 + <_> + + 0 -1 1050 1.3574000447988510e-02 + + 7.4240001849830151e-03 5.3152197599411011e-01 + <_> + + 0 -1 1051 -6.6920001991093159e-03 + + 3.0655801296234131e-01 -3.1084299087524414e-01 + <_> + + 0 -1 1052 -3.9070001803338528e-03 + + 2.5576499104499817e-01 -5.2932001650333405e-02 + <_> + + 0 -1 1053 -3.7613000720739365e-02 + + -1.4350049495697021e+00 -1.5448000282049179e-02 + <_> + + 0 -1 1054 8.6329998448491096e-03 + + -1.6884399950504303e-01 4.2124900221824646e-01 + <_> + + 0 -1 1055 -3.2097000628709793e-02 + + -6.4979398250579834e-01 4.1110001504421234e-02 + <_> + + 0 -1 1056 5.8495998382568359e-02 + + -5.2963998168706894e-02 6.3368302583694458e-01 + <_> + + 0 -1 1057 -4.0901999920606613e-02 + + -9.2101097106933594e-01 9.0640000998973846e-03 + <_> + + 0 -1 1058 -1.9925000146031380e-02 + + 5.3759998083114624e-01 -6.2996998429298401e-02 + <_> + + 0 -1 1059 -4.6020001173019409e-03 + + -5.4333502054214478e-01 8.4104999899864197e-02 + <_> + + 0 -1 1060 1.6824999824166298e-02 + + 1.5563699603080750e-01 -4.0171200037002563e-01 + <_> + + 0 -1 1061 9.4790002331137657e-03 + + -2.4245299398899078e-01 5.1509499549865723e-01 + <_> + + 0 -1 1062 -1.9534999504685402e-02 + + -5.1118397712707520e-01 1.3831999897956848e-01 + <_> + + 0 -1 1063 1.0746000334620476e-02 + + -2.1854999661445618e-01 6.2828701734542847e-01 + <_> + + 0 -1 1064 3.7927001714706421e-02 + + 1.1640299856662750e-01 -2.7301959991455078e+00 + <_> + + 0 -1 1065 1.6390999779105186e-02 + + -1.4635999687016010e-02 -1.0797250270843506e+00 + <_> + + 0 -1 1066 -1.9785000011324883e-02 + + 1.2166420221328735e+00 3.3275000751018524e-02 + <_> + + 0 -1 1067 1.1067000217735767e-02 + + -2.5388300418853760e-01 4.4038599729537964e-01 + <_> + + 0 -1 1068 5.2479999139904976e-03 + + 2.2496800124645233e-01 -2.4216499924659729e-01 + <_> + + 0 -1 1069 -1.1141999624669552e-02 + + 2.5018098950386047e-01 -3.0811500549316406e-01 + <_> + + 0 -1 1070 -1.0666999965906143e-02 + + -3.2729101181030273e-01 2.6168298721313477e-01 + <_> + + 0 -1 1071 1.0545299947261810e-01 + + -5.5750001221895218e-02 -1.9605729579925537e+00 + <_> + + 0 -1 1072 5.4827999323606491e-02 + + -1.9519999623298645e-03 7.3866099119186401e-01 + <_> + + 0 -1 1073 1.7760999500751495e-02 + + -3.0647200345993042e-01 2.6346999406814575e-01 + <_> + + 0 -1 1074 -3.1185999512672424e-02 + + -2.4600900709629059e-01 1.7082199454307556e-01 + <_> + + 0 -1 1075 -5.7296000421047211e-02 + + 4.7033500671386719e-01 -2.6048299670219421e-01 + <_> + + 0 -1 1076 -1.1312000453472137e-02 + + 3.8628900051116943e-01 -2.8817000985145569e-01 + <_> + + 0 -1 1077 3.0592000111937523e-02 + + -4.8826001584529877e-02 -1.7638969421386719e+00 + <_> + + 0 -1 1078 1.8489999929443002e-03 + + 2.1099899709224701e-01 -2.5940999388694763e-02 + <_> + + 0 -1 1079 1.1419000104069710e-02 + + -1.6829599440097809e-01 1.0278660058975220e+00 + <_> + + 0 -1 1080 8.1403002142906189e-02 + + 1.1531999707221985e-01 -1.2482399940490723e+00 + <_> + + 0 -1 1081 5.3495999425649643e-02 + + -4.6303998678922653e-02 -1.7165969610214233e+00 + <_> + + 0 -1 1082 -2.3948000743985176e-02 + + -4.0246599912643433e-01 2.0562100410461426e-01 + <_> + + 0 -1 1083 6.7690000869333744e-03 + + -3.3152300119400024e-01 2.0683400332927704e-01 + <_> + + 0 -1 1084 -3.2343998551368713e-02 + + -7.2632801532745361e-01 2.0073500275611877e-01 + <_> + + 0 -1 1085 3.7863001227378845e-02 + + -1.5631000697612762e-01 1.6697460412979126e+00 + <_> + + 0 -1 1086 1.5440000221133232e-02 + + 1.9487400352954865e-01 -3.5384199023246765e-01 + <_> + + 0 -1 1087 -4.4376000761985779e-02 + + 8.2093602418899536e-01 -1.8193599581718445e-01 + <_> + + 0 -1 1088 -2.3102000355720520e-02 + + -4.3044099211692810e-01 1.2375400215387344e-01 + <_> + + 0 -1 1089 1.9400000572204590e-02 + + -2.9726000502705574e-02 -1.1597590446472168e+00 + <_> + + 0 -1 1090 1.0385700315237045e-01 + + 1.1149899661540985e-01 -4.6835222244262695e+00 + <_> + + 0 -1 1091 -1.8964000046253204e-02 + + 2.1773819923400879e+00 -1.4544400572776794e-01 + <_> + + 0 -1 1092 3.8750998675823212e-02 + + -4.9446001648902893e-02 3.4018298983573914e-01 + <_> + + 0 -1 1093 2.2766999900341034e-02 + + -3.2802999019622803e-01 3.0531400442123413e-01 + <_> + + 0 -1 1094 -3.1357001513242722e-02 + + 1.1520819664001465e+00 2.7305999770760536e-02 + <_> + + 0 -1 1095 9.6909999847412109e-03 + + -3.8799500465393066e-01 2.1512599289417267e-01 + <_> + + 0 -1 1096 -4.9284998327493668e-02 + + -1.6774909496307373e+00 1.5774199366569519e-01 + <_> + + 0 -1 1097 -3.9510998874902725e-02 + + -9.7647899389266968e-01 -1.0552000254392624e-02 + <_> + + 0 -1 1098 4.7997999936342239e-02 + + 2.0843900740146637e-01 -6.8992799520492554e-01 + <_> + + 0 -1 1099 5.1422998309135437e-02 + + -1.6665300726890564e-01 1.2149239778518677e+00 + <_> + + 0 -1 1100 1.4279999770224094e-02 + + 2.3627699911594391e-01 -4.1396799683570862e-01 + <_> + + 0 -1 1101 -9.1611996293067932e-02 + + -9.2830902338027954e-01 -1.8345000222325325e-02 + <_> + + 0 -1 1102 6.5080001950263977e-03 + + -7.3647201061248779e-01 1.9497099518775940e-01 + <_> + + 0 -1 1103 3.5723000764846802e-02 + + 1.4197799563407898e-01 -4.2089301347732544e-01 + <_> + + 0 -1 1104 5.0638001412153244e-02 + + 1.1644000187516212e-02 7.8486597537994385e-01 + <_> + + 0 -1 1105 -1.4613999985158443e-02 + + -1.1909500360488892e+00 -3.5128001123666763e-02 + <_> + + 0 -1 1106 -3.8662999868392944e-02 + + 2.4314730167388916e+00 6.5647996962070465e-02 + <_> + + 0 -1 1107 -4.0346998721361160e-02 + + 7.1755301952362061e-01 -1.9108299911022186e-01 + <_> + + 0 -1 1108 2.3902000859379768e-02 + + 1.5646199882030487e-01 -7.9294800758361816e-01 + <_> + 137 + -3.5125269889831543e+00 + + <_> + + 0 -1 1109 8.5640000179409981e-03 + + -8.1450700759887695e-01 5.8875298500061035e-01 + <_> + + 0 -1 1110 -1.3292600214481354e-01 + + 9.3213397264480591e-01 -2.9367300868034363e-01 + <_> + + 0 -1 1111 9.8400004208087921e-03 + + -5.6462901830673218e-01 4.1647699475288391e-01 + <_> + + 0 -1 1112 5.0889998674392700e-03 + + -7.9232800006866455e-01 1.6975000500679016e-01 + <_> + + 0 -1 1113 -6.1039000749588013e-02 + + -1.4169000387191772e+00 2.5020999833941460e-02 + <_> + + 0 -1 1114 -4.6599999768659472e-04 + + 3.7982499599456787e-01 -4.1567099094390869e-01 + <_> + + 0 -1 1115 3.3889999613165855e-03 + + -4.0768599510192871e-01 3.5548499226570129e-01 + <_> + + 0 -1 1116 2.1006999537348747e-02 + + -2.4080100655555725e-01 8.6112701892852783e-01 + <_> + + 0 -1 1117 7.5559997931122780e-03 + + -8.7467199563980103e-01 9.8572000861167908e-02 + <_> + + 0 -1 1118 2.4779999628663063e-02 + + 1.5566200017929077e-01 -6.9229799509048462e-01 + <_> + + 0 -1 1119 -3.5620000213384628e-02 + + -1.1472270488739014e+00 3.6359999328851700e-02 + <_> + + 0 -1 1120 1.9810000434517860e-02 + + 1.5516200661659241e-01 -6.9520097970962524e-01 + <_> + + 0 -1 1121 1.5019999817013741e-02 + + 4.1990000754594803e-02 -9.6622800827026367e-01 + <_> + + 0 -1 1122 -2.3137999698519707e-02 + + 4.3396899104118347e-01 2.4160000029951334e-03 + <_> + + 0 -1 1123 -1.8743000924587250e-02 + + 4.3481099605560303e-01 -3.2522499561309814e-01 + <_> + + 0 -1 1124 4.5080000162124634e-01 + + -9.4573996961116791e-02 7.2421300411224365e-01 + <_> + + 0 -1 1125 1.1854999698698521e-02 + + -3.8133099675178528e-01 3.0098399519920349e-01 + <_> + + 0 -1 1126 -2.4830000475049019e-02 + + 8.9300602674484253e-01 -1.0295899957418442e-01 + <_> + + 0 -1 1127 -4.4743001461029053e-02 + + 8.6280298233032227e-01 -2.1716499328613281e-01 + <_> + + 0 -1 1128 -1.4600000344216824e-02 + + 6.0069400072097778e-01 -1.5906299650669098e-01 + <_> + + 0 -1 1129 -2.4527000263333321e-02 + + -1.5872869491577148e+00 -2.1817000582814217e-02 + <_> + + 0 -1 1130 2.3024000227451324e-02 + + 1.6853399574756622e-01 -3.8106900453567505e-01 + <_> + + 0 -1 1131 -2.4917000904679298e-02 + + 5.0810897350311279e-01 -2.7279898524284363e-01 + <_> + + 0 -1 1132 1.0130000300705433e-03 + + -4.3138799071311951e-01 2.6438099145889282e-01 + <_> + + 0 -1 1133 1.5603000298142433e-02 + + -3.1624200940132141e-01 5.5715900659561157e-01 + <_> + + 0 -1 1134 -2.6685999706387520e-02 + + 1.0553920269012451e+00 2.9074000194668770e-02 + <_> + + 0 -1 1135 1.3940000208094716e-03 + + -7.1873801946640015e-01 6.5390996634960175e-02 + <_> + + 0 -1 1136 -6.4799998654052615e-04 + + 2.4884399771690369e-01 -2.0978200435638428e-01 + <_> + + 0 -1 1137 -3.1888000667095184e-02 + + -6.8844497203826904e-01 6.3589997589588165e-02 + <_> + + 0 -1 1138 -4.9290000461041927e-03 + + -5.9152501821517944e-01 2.7943599224090576e-01 + <_> + + 0 -1 1139 3.1168000772595406e-02 + + 4.5223999768495560e-02 -8.8639199733734131e-01 + <_> + + 0 -1 1140 -3.3663000911474228e-02 + + -6.1590200662612915e-01 1.5749299526214600e-01 + <_> + + 0 -1 1141 1.1966999620199203e-02 + + -3.0606698989868164e-01 4.2293301224708557e-01 + <_> + + 0 -1 1142 -3.4680001437664032e-02 + + -1.3734940290451050e+00 1.5908700227737427e-01 + <_> + + 0 -1 1143 9.9290004000067711e-03 + + -5.5860197544097900e-01 1.2119200080633163e-01 + <_> + + 0 -1 1144 5.9574998915195465e-02 + + 4.9720001406967640e-03 8.2055401802062988e-01 + <_> + + 0 -1 1145 -6.5428003668785095e-02 + + 1.5651429891586304e+00 -1.6817499697208405e-01 + <_> + + 0 -1 1146 -9.2895999550819397e-02 + + -1.5794529914855957e+00 1.4661799371242523e-01 + <_> + + 0 -1 1147 -4.1184000670909882e-02 + + -1.5518720149993896e+00 -2.9969999566674232e-02 + <_> + + 0 -1 1148 2.1447999402880669e-02 + + 1.7196300625801086e-01 -6.9343197345733643e-01 + <_> + + 0 -1 1149 -2.5569999590516090e-02 + + -1.3061310052871704e+00 -2.4336999282240868e-02 + <_> + + 0 -1 1150 -4.1200999170541763e-02 + + -1.3821059465408325e+00 1.4801800251007080e-01 + <_> + + 0 -1 1151 -1.7668999731540680e-02 + + -7.0889997482299805e-01 3.6524001508951187e-02 + <_> + + 0 -1 1152 9.0060001239180565e-03 + + -4.0913999080657959e-02 8.0373102426528931e-01 + <_> + + 0 -1 1153 -1.1652999557554722e-02 + + 5.7546800374984741e-01 -2.4991700053215027e-01 + <_> + + 0 -1 1154 -7.4780001305043697e-03 + + -4.9280899763107300e-01 1.9810900092124939e-01 + <_> + + 0 -1 1155 8.5499999113380909e-04 + + -4.8858100175857544e-01 1.3563099503517151e-01 + <_> + + 0 -1 1156 -3.0538000166416168e-02 + + -6.0278397798538208e-01 1.8522000312805176e-01 + <_> + + 0 -1 1157 -1.8846999853849411e-02 + + 2.3565599322319031e-01 -3.5136300325393677e-01 + <_> + + 0 -1 1158 -8.1129996106028557e-03 + + -8.1304997205734253e-02 2.1069599688053131e-01 + <_> + + 0 -1 1159 -3.4830000251531601e-02 + + -1.2065670490264893e+00 -1.4251999557018280e-02 + <_> + + 0 -1 1160 1.9021000713109970e-02 + + 2.3349900543689728e-01 -4.5664900541305542e-01 + <_> + + 0 -1 1161 -1.9004000350832939e-02 + + -8.1075799465179443e-01 1.3140000402927399e-02 + <_> + + 0 -1 1162 -8.9057996869087219e-02 + + 6.1542397737503052e-01 3.2983001321554184e-02 + <_> + + 0 -1 1163 6.8620000965893269e-03 + + -2.9583099484443665e-01 2.7003699541091919e-01 + <_> + + 0 -1 1164 -2.8240999206900597e-02 + + -6.1102700233459473e-01 1.7357499897480011e-01 + <_> + + 0 -1 1165 -3.2099999953061342e-04 + + -5.3322899341583252e-01 6.8539001047611237e-02 + <_> + + 0 -1 1166 -1.0829100012779236e-01 + + -1.2879559993743896e+00 1.1801700294017792e-01 + <_> + + 0 -1 1167 1.5878999605774879e-02 + + -1.7072600126266479e-01 1.1103910207748413e+00 + <_> + + 0 -1 1168 8.6859995499253273e-03 + + -1.0995099693536758e-01 4.6010500192642212e-01 + <_> + + 0 -1 1169 -2.5234999135136604e-02 + + 1.0220669507980347e+00 -1.8694299459457397e-01 + <_> + + 0 -1 1170 -1.3508999720215797e-02 + + -7.8316599130630493e-01 1.4202600717544556e-01 + <_> + + 0 -1 1171 -7.7149998396635056e-03 + + -8.8060700893402100e-01 1.1060000397264957e-02 + <_> + + 0 -1 1172 7.1580000221729279e-02 + + 1.1369399726390839e-01 -1.1032789945602417e+00 + <_> + + 0 -1 1173 -1.3554000295698643e-02 + + -8.1096500158309937e-01 3.4080001059919596e-03 + <_> + + 0 -1 1174 2.9450000729411840e-03 + + -7.2879999876022339e-02 3.4998100996017456e-01 + <_> + + 0 -1 1175 -5.0833001732826233e-02 + + -1.2868590354919434e+00 -2.8842000290751457e-02 + <_> + + 0 -1 1176 -8.7989997118711472e-03 + + 4.7613599896430969e-01 -1.4690400660037994e-01 + <_> + + 0 -1 1177 2.1424399316310883e-01 + + -5.9702001512050629e-02 -2.4802260398864746e+00 + <_> + + 0 -1 1178 1.3962999917566776e-02 + + 1.7420299351215363e-01 -4.3911001086235046e-01 + <_> + + 0 -1 1179 4.2502000927925110e-02 + + -1.9965299963951111e-01 7.0654797554016113e-01 + <_> + + 0 -1 1180 1.9827999174594879e-02 + + -6.9136001169681549e-02 6.1643397808074951e-01 + <_> + + 0 -1 1181 -3.3560000360012054e-02 + + -1.2740780115127563e+00 -2.5673000141978264e-02 + <_> + + 0 -1 1182 6.3542999327182770e-02 + + 1.2403500080108643e-01 -1.0776289701461792e+00 + <_> + + 0 -1 1183 2.1933000534772873e-02 + + 1.4952000230550766e-02 -7.1023499965667725e-01 + <_> + + 0 -1 1184 -7.8424997627735138e-02 + + 6.2033998966217041e-01 3.3610999584197998e-02 + <_> + + 0 -1 1185 1.4390000142157078e-02 + + -3.6324599385261536e-01 1.7308300733566284e-01 + <_> + + 0 -1 1186 -6.7309997975826263e-02 + + 5.2374100685119629e-01 1.2799999676644802e-02 + <_> + + 0 -1 1187 1.3047499954700470e-01 + + -1.7122499644756317e-01 1.1235200166702271e+00 + <_> + + 0 -1 1188 -4.6245999634265900e-02 + + -1.1908329725265503e+00 1.7425599694252014e-01 + <_> + + 0 -1 1189 -2.9842000454664230e-02 + + 8.3930599689483643e-01 -1.8064199388027191e-01 + <_> + + 0 -1 1190 -3.8099999073892832e-04 + + 3.5532799363136292e-01 -2.3842300474643707e-01 + <_> + + 0 -1 1191 -2.2378999739885330e-02 + + -8.7943899631500244e-01 -7.8399997437372804e-04 + <_> + + 0 -1 1192 -1.5569999814033508e-03 + + -1.4253300428390503e-01 2.5876200199127197e-01 + <_> + + 0 -1 1193 1.2013000436127186e-02 + + -2.9015499353408813e-01 2.6051101088523865e-01 + <_> + + 0 -1 1194 2.4384999647736549e-02 + + -3.1438998878002167e-02 5.8695900440216064e-01 + <_> + + 0 -1 1195 -4.7180999070405960e-02 + + 6.9430100917816162e-01 -2.1816100180149078e-01 + <_> + + 0 -1 1196 -2.4893999099731445e-02 + + -6.4599299430847168e-01 1.5611599385738373e-01 + <_> + + 0 -1 1197 2.1944999694824219e-02 + + -2.7742000296711922e-02 -1.1346880197525024e+00 + <_> + + 0 -1 1198 1.8809899687767029e-01 + + -1.0076000355184078e-02 1.2429029941558838e+00 + <_> + + 0 -1 1199 -7.7872000634670258e-02 + + 8.5008001327514648e-01 -1.9015499949455261e-01 + <_> + + 0 -1 1200 -4.8769000917673111e-02 + + -2.0763080120086670e+00 1.2179400026798248e-01 + <_> + + 0 -1 1201 -1.7115000635385513e-02 + + -8.5687297582626343e-01 7.8760003671050072e-03 + <_> + + 0 -1 1202 -2.7499999850988388e-03 + + 3.8645499944686890e-01 -1.1391499638557434e-01 + <_> + + 0 -1 1203 -9.8793998360633850e-02 + + -1.7233899831771851e+00 -5.6063000112771988e-02 + <_> + + 0 -1 1204 -2.1936999633908272e-02 + + 5.4749399423599243e-01 -4.2481999844312668e-02 + <_> + + 0 -1 1205 6.1096999794244766e-02 + + -3.8945000618696213e-02 -1.0807880163192749e+00 + <_> + + 0 -1 1206 -2.4563999846577644e-02 + + 5.8311098814010620e-01 -9.7599998116493225e-04 + <_> + + 0 -1 1207 3.3752001821994781e-02 + + -1.3795999810099602e-02 -8.4730297327041626e-01 + <_> + + 0 -1 1208 3.8199000060558319e-02 + + 1.5114299952983856e-01 -7.9473400115966797e-01 + <_> + + 0 -1 1209 -2.0117999985814095e-02 + + 5.1579099893569946e-01 -2.1445399522781372e-01 + <_> + + 0 -1 1210 2.4734999984502792e-02 + + -2.2105000913143158e-02 4.2917698621749878e-01 + <_> + + 0 -1 1211 -2.4357000365853310e-02 + + -8.6201298236846924e-01 -3.6760000512003899e-03 + <_> + + 0 -1 1212 -2.6442000642418861e-02 + + -4.5397499203681946e-01 2.2462800145149231e-01 + <_> + + 0 -1 1213 -3.4429999068379402e-03 + + 1.3073000311851501e-01 -3.8622701168060303e-01 + <_> + + 0 -1 1214 1.0701700299978256e-01 + + 1.3158600032329559e-01 -7.9306900501251221e-01 + <_> + + 0 -1 1215 4.5152999460697174e-02 + + -2.5296801328659058e-01 4.0672400593757629e-01 + <_> + + 0 -1 1216 4.4349998235702515e-02 + + 2.2613000124692917e-02 7.9618102312088013e-01 + <_> + + 0 -1 1217 1.0839999886229634e-03 + + -3.9158400893211365e-01 1.1639100313186646e-01 + <_> + + 0 -1 1218 7.1433000266551971e-02 + + 8.2466997206211090e-02 1.2530590295791626e+00 + <_> + + 0 -1 1219 3.5838000476360321e-02 + + -1.8203300237655640e-01 7.7078700065612793e-01 + <_> + + 0 -1 1220 -2.0839000120759010e-02 + + -6.1744397878646851e-01 1.5891399979591370e-01 + <_> + + 0 -1 1221 4.2525801062583923e-01 + + -4.8978000879287720e-02 -1.8422030210494995e+00 + <_> + + 0 -1 1222 1.1408000253140926e-02 + + 1.7918199300765991e-01 -1.5383499860763550e-01 + <_> + + 0 -1 1223 -1.5364999882876873e-02 + + -8.4016501903533936e-01 -1.0280000278726220e-03 + <_> + + 0 -1 1224 -1.5212000347673893e-02 + + -1.8995699286460876e-01 1.7130999267101288e-01 + <_> + + 0 -1 1225 -1.8972000107169151e-02 + + -7.9541999101638794e-01 6.6800001077353954e-03 + <_> + + 0 -1 1226 -3.3330000005662441e-03 + + -2.3530800640583038e-01 2.4730099737644196e-01 + <_> + + 0 -1 1227 9.3248002231121063e-02 + + -5.4758001118898392e-02 -1.8324300050735474e+00 + <_> + + 0 -1 1228 -1.2555000372231007e-02 + + 2.6385200023651123e-01 -3.8526400923728943e-01 + <_> + + 0 -1 1229 -2.7070000767707825e-02 + + -6.6929799318313599e-01 2.0340999588370323e-02 + <_> + + 0 -1 1230 -2.3677000775933266e-02 + + 6.7265301942825317e-01 -1.4344000257551670e-02 + <_> + + 0 -1 1231 -1.4275000430643559e-02 + + 3.0186399817466736e-01 -2.8514400124549866e-01 + <_> + + 0 -1 1232 2.8096999973058701e-02 + + 1.4766000211238861e-01 -1.4078520536422729e+00 + <_> + + 0 -1 1233 5.0840001553297043e-02 + + -1.8613600730895996e-01 7.9953002929687500e-01 + <_> + + 0 -1 1234 1.1505999602377415e-02 + + 1.9118399918079376e-01 -8.5035003721714020e-02 + <_> + + 0 -1 1235 -1.4661000110208988e-02 + + 4.5239299535751343e-01 -2.2205199301242828e-01 + <_> + + 0 -1 1236 2.2842499613761902e-01 + + 1.3488399982452393e-01 -1.2894610166549683e+00 + <_> + + 0 -1 1237 1.1106900125741959e-01 + + -2.0753799378871918e-01 5.4561597108840942e-01 + <_> + + 0 -1 1238 3.2450000289827585e-03 + + 3.2053700089454651e-01 -1.6403500735759735e-01 + <_> + + 0 -1 1239 8.5309997200965881e-02 + + -2.0210500061511993e-01 5.3296798467636108e-01 + <_> + + 0 -1 1240 2.2048000246286392e-02 + + 1.5698599815368652e-01 -1.7014099657535553e-01 + <_> + + 0 -1 1241 -1.5676999464631081e-02 + + -6.2863498926162720e-01 4.0761999785900116e-02 + <_> + + 0 -1 1242 3.3112901449203491e-01 + + 1.6609300673007965e-01 -1.0326379537582397e+00 + <_> + + 0 -1 1243 8.8470000773668289e-03 + + -2.5076198577880859e-01 3.1660598516464233e-01 + <_> + + 0 -1 1244 4.6080000698566437e-02 + + 1.5352100133895874e-01 -1.6333500146865845e+00 + <_> + + 0 -1 1245 -3.7703000009059906e-02 + + 5.6873798370361328e-01 -2.0102599263191223e-01 + <_> + 159 + -3.5939640998840332e+00 + + <_> + + 0 -1 1246 -8.1808999180793762e-02 + + 5.7124799489974976e-01 -6.7438799142837524e-01 + <_> + + 0 -1 1247 2.1761199831962585e-01 + + -3.8610199093818665e-01 9.0343999862670898e-01 + <_> + + 0 -1 1248 1.4878000132739544e-02 + + 2.2241599857807159e-01 -1.2779350280761719e+00 + <_> + + 0 -1 1249 5.2434999495744705e-02 + + -2.8690400719642639e-01 7.5742298364639282e-01 + <_> + + 0 -1 1250 9.1429995372891426e-03 + + -6.4880400896072388e-01 2.2268800437450409e-01 + <_> + + 0 -1 1251 7.9169999808073044e-03 + + -2.9253599047660828e-01 3.1030198931694031e-01 + <_> + + 0 -1 1252 -2.6084000244736671e-02 + + 4.5532700419425964e-01 -3.8500601053237915e-01 + <_> + + 0 -1 1253 -2.9400000348687172e-03 + + -5.1264399290084839e-01 2.7432298660278320e-01 + <_> + + 0 -1 1254 5.7130001485347748e-02 + + 1.5788000077009201e-02 -1.2133100032806396e+00 + <_> + + 0 -1 1255 -6.1309998854994774e-03 + + 3.9174601435661316e-01 -3.0866798758506775e-01 + <_> + + 0 -1 1256 -4.0405001491308212e-02 + + 1.1901949644088745e+00 -2.0347100496292114e-01 + <_> + + 0 -1 1257 -2.0297000184655190e-02 + + -6.8239498138427734e-01 2.0458699762821198e-01 + <_> + + 0 -1 1258 -1.7188999801874161e-02 + + -8.4939897060394287e-01 3.8433000445365906e-02 + <_> + + 0 -1 1259 -2.4215999990701675e-02 + + -1.1039420366287231e+00 1.5975099802017212e-01 + <_> + + 0 -1 1260 5.6869000196456909e-02 + + -1.9595299661159515e-01 1.1806850433349609e+00 + <_> + + 0 -1 1261 3.6199999158270657e-04 + + -4.0847799181938171e-01 3.2938599586486816e-01 + <_> + + 0 -1 1262 9.9790003150701523e-03 + + -2.9673001170158386e-01 4.1547900438308716e-01 + <_> + + 0 -1 1263 -5.2625000476837158e-02 + + -1.3069299459457397e+00 1.7862600088119507e-01 + <_> + + 0 -1 1264 -1.3748999685049057e-02 + + 2.3665800690650940e-01 -4.4536599516868591e-01 + <_> + + 0 -1 1265 -3.0517000705003738e-02 + + 2.9018300771713257e-01 -1.1210100352764130e-01 + <_> + + 0 -1 1266 -3.0037501454353333e-01 + + -2.4237680435180664e+00 -4.2830999940633774e-02 + <_> + + 0 -1 1267 -3.5990998148918152e-02 + + 8.8206499814987183e-01 -4.7012999653816223e-02 + <_> + + 0 -1 1268 -5.5112000554800034e-02 + + 8.0119001865386963e-01 -2.0490999519824982e-01 + <_> + + 0 -1 1269 3.3762000501155853e-02 + + 1.4617599546909332e-01 -1.1349489688873291e+00 + <_> + + 0 -1 1270 -8.2710003480315208e-03 + + -8.1604897975921631e-01 1.8988000229001045e-02 + <_> + + 0 -1 1271 -5.4399999789893627e-03 + + -7.0980900526046753e-01 2.2343699634075165e-01 + <_> + + 0 -1 1272 3.1059999018907547e-03 + + -7.2808599472045898e-01 4.0224999189376831e-02 + <_> + + 0 -1 1273 5.3651999682188034e-02 + + 1.7170900106430054e-01 -1.1163710355758667e+00 + <_> + + 0 -1 1274 -1.2541399896144867e-01 + + 2.7680370807647705e+00 -1.4611500501632690e-01 + <_> + + 0 -1 1275 9.2542000114917755e-02 + + 1.1609800159931183e-01 -3.9635529518127441e+00 + <_> + + 0 -1 1276 3.8513999432325363e-02 + + -7.6399999670684338e-03 -9.8780900239944458e-01 + <_> + + 0 -1 1277 -2.0200000144541264e-03 + + 2.3059999942779541e-01 -7.4970299005508423e-01 + <_> + + 0 -1 1278 9.7599998116493225e-03 + + -3.1137999892234802e-01 3.0287799239158630e-01 + <_> + + 0 -1 1279 2.4095000699162483e-02 + + -4.9529999494552612e-02 5.2690100669860840e-01 + <_> + + 0 -1 1280 -1.7982000485062599e-02 + + -1.1610640287399292e+00 -5.7000000961124897e-03 + <_> + + 0 -1 1281 -1.0555000044405460e-02 + + -2.7189099788665771e-01 2.3597699403762817e-01 + <_> + + 0 -1 1282 -7.2889998555183411e-03 + + -5.4219102859497070e-01 8.1914000213146210e-02 + <_> + + 0 -1 1283 2.3939000442624092e-02 + + 1.7975799739360809e-01 -6.7049497365951538e-01 + <_> + + 0 -1 1284 -1.8365999683737755e-02 + + 6.2664300203323364e-01 -2.0970100164413452e-01 + <_> + + 0 -1 1285 1.5715999528765678e-02 + + 2.4193699657917023e-01 -1.0444309711456299e+00 + <_> + + 0 -1 1286 -4.8804000020027161e-02 + + -9.4060599803924561e-01 -3.7519999314099550e-03 + <_> + + 0 -1 1287 6.7130001261830330e-03 + + -7.5432002544403076e-02 6.1575299501419067e-01 + <_> + + 0 -1 1288 9.7770001739263535e-03 + + 3.9285000413656235e-02 -8.4810298681259155e-01 + <_> + + 0 -1 1289 1.4744999818503857e-02 + + 1.6968999803066254e-01 -5.0906401872634888e-01 + <_> + + 0 -1 1290 9.7079001367092133e-02 + + -3.3103000372648239e-02 -1.2706379890441895e+00 + <_> + + 0 -1 1291 4.8285998404026031e-02 + + 9.4329997897148132e-02 2.7203190326690674e+00 + <_> + + 0 -1 1292 9.7810002043843269e-03 + + -3.9533400535583496e-01 1.5363800525665283e-01 + <_> + + 0 -1 1293 -3.9893999695777893e-02 + + -2.2767400741577148e-01 1.3913999497890472e-01 + <_> + + 0 -1 1294 2.2848000749945641e-02 + + -2.7391999959945679e-01 3.4199500083923340e-01 + <_> + + 0 -1 1295 6.7179999314248562e-03 + + -1.0874299705028534e-01 4.8125401139259338e-01 + <_> + + 0 -1 1296 5.9599999338388443e-02 + + -4.9522001296281815e-02 -2.0117089748382568e+00 + <_> + + 0 -1 1297 6.9340001791715622e-03 + + 1.5037499368190765e-01 -1.1271899938583374e-01 + <_> + + 0 -1 1298 1.5757000073790550e-02 + + -2.0885000005364418e-02 -1.1651979684829712e+00 + <_> + + 0 -1 1299 -4.9690000712871552e-02 + + -8.0213499069213867e-01 1.4372299611568451e-01 + <_> + + 0 -1 1300 5.2347000688314438e-02 + + -2.0836700499057770e-01 6.1677598953247070e-01 + <_> + + 0 -1 1301 2.2430999204516411e-02 + + 2.0305900275707245e-01 -7.5326198339462280e-01 + <_> + + 0 -1 1302 4.1142001748085022e-02 + + -1.8118199706077576e-01 1.0033359527587891e+00 + <_> + + 0 -1 1303 -2.1632000803947449e-02 + + 4.9998998641967773e-01 -3.4662999212741852e-02 + <_> + + 0 -1 1304 -8.2808002829551697e-02 + + 1.1711900234222412e+00 -1.8433600664138794e-01 + <_> + + 0 -1 1305 8.5060000419616699e-03 + + -6.3225001096725464e-02 2.9024899005889893e-01 + <_> + + 0 -1 1306 7.8905001282691956e-02 + + -2.3274500668048859e-01 5.9695798158645630e-01 + <_> + + 0 -1 1307 -9.0207003057003021e-02 + + -8.2211899757385254e-01 1.7772200703620911e-01 + <_> + + 0 -1 1308 -2.9269000515341759e-02 + + 6.0860699415206909e-01 -2.1468900144100189e-01 + <_> + + 0 -1 1309 6.9499998353421688e-03 + + -4.2665999382734299e-02 6.0512101650238037e-01 + <_> + + 0 -1 1310 -8.0629996955394745e-03 + + -1.1508270502090454e+00 -2.7286000549793243e-02 + <_> + + 0 -1 1311 1.9595999270677567e-02 + + -9.1880001127719879e-03 5.6857800483703613e-01 + <_> + + 0 -1 1312 -1.4884999953210354e-02 + + 3.7658798694610596e-01 -2.7149501442909241e-01 + <_> + + 0 -1 1313 2.5217000395059586e-02 + + -9.9991001188755035e-02 2.4664700031280518e-01 + <_> + + 0 -1 1314 -1.5855999663472176e-02 + + 6.6826701164245605e-01 -2.0614700019359589e-01 + <_> + + 0 -1 1315 2.9441000893712044e-02 + + 1.5832200646400452e-01 -7.6060897111892700e-01 + <_> + + 0 -1 1316 -8.5279997438192368e-03 + + 3.8212299346923828e-01 -2.5407800078392029e-01 + <_> + + 0 -1 1317 2.4421999230980873e-02 + + 1.5105099976062775e-01 -2.8752899169921875e-01 + <_> + + 0 -1 1318 -3.3886998891830444e-02 + + -6.8002802133560181e-01 3.4327000379562378e-02 + <_> + + 0 -1 1319 -2.0810000132769346e-03 + + 2.5413900613784790e-01 -2.6859098672866821e-01 + <_> + + 0 -1 1320 3.0358999967575073e-02 + + -3.0842000618577003e-02 -1.1476809978485107e+00 + <_> + + 0 -1 1321 4.0210001170635223e-03 + + -3.5253798961639404e-01 2.9868099093437195e-01 + <_> + + 0 -1 1322 2.7681000530719757e-02 + + -3.8148999214172363e-02 -1.3262039422988892e+00 + <_> + + 0 -1 1323 7.9039996489882469e-03 + + -2.3737000301480293e-02 7.0503002405166626e-01 + <_> + + 0 -1 1324 4.4031001627445221e-02 + + 1.0674899816513062e-01 -4.5261201262474060e-01 + <_> + + 0 -1 1325 -3.2370999455451965e-02 + + 4.6674901247024536e-01 -6.1546999961137772e-02 + <_> + + 0 -1 1326 2.0933000370860100e-02 + + -2.8447899222373962e-01 4.3845599889755249e-01 + <_> + + 0 -1 1327 2.5227999314665794e-02 + + -2.2537000477313995e-02 7.0389097929000854e-01 + <_> + + 0 -1 1328 6.5520000644028187e-03 + + -3.2554900646209717e-01 2.4023699760437012e-01 + <_> + + 0 -1 1329 -5.8557998389005661e-02 + + -1.2227720022201538e+00 1.1668799817562103e-01 + <_> + + 0 -1 1330 3.1899999827146530e-02 + + -1.9305000081658363e-02 -1.0973169803619385e+00 + <_> + + 0 -1 1331 -3.0445000156760216e-02 + + 6.5582501888275146e-01 7.5090996921062469e-02 + <_> + + 0 -1 1332 1.4933000318706036e-02 + + -5.2155798673629761e-01 1.1523099988698959e-01 + <_> + + 0 -1 1333 -4.9008000642061234e-02 + + -7.8303998708724976e-01 1.6657200455665588e-01 + <_> + + 0 -1 1334 8.3158999681472778e-02 + + -2.6879999786615372e-03 -8.5282301902770996e-01 + <_> + + 0 -1 1335 2.3902999237179756e-02 + + -5.1010999828577042e-02 4.1999098658561707e-01 + <_> + + 0 -1 1336 1.6428999602794647e-02 + + 1.9232999533414841e-02 -6.5049099922180176e-01 + <_> + + 0 -1 1337 -1.1838000267744064e-02 + + -6.2409800291061401e-01 1.5411199629306793e-01 + <_> + + 0 -1 1338 -1.6799999866634607e-04 + + 1.7589199542999268e-01 -3.4338700771331787e-01 + <_> + + 0 -1 1339 1.9193999469280243e-02 + + 4.3418999761343002e-02 7.9069197177886963e-01 + <_> + + 0 -1 1340 -1.0032000020146370e-02 + + 4.5648899674415588e-01 -2.2494800388813019e-01 + <_> + + 0 -1 1341 -1.4004000462591648e-02 + + 3.3570998907089233e-01 -4.8799999058246613e-03 + <_> + + 0 -1 1342 -1.0319899767637253e-01 + + -2.3378000259399414e+00 -5.8933001011610031e-02 + <_> + + 0 -1 1343 -9.5697000622749329e-02 + + -6.6153901815414429e-01 2.0098599791526794e-01 + <_> + + 0 -1 1344 -4.1480999439954758e-02 + + 4.5939201116561890e-01 -2.2314099967479706e-01 + <_> + + 0 -1 1345 2.4099999573081732e-03 + + -2.6898598670959473e-01 2.4922999739646912e-01 + <_> + + 0 -1 1346 1.0724999755620956e-01 + + -1.8640199303627014e-01 7.2769802808761597e-01 + <_> + + 0 -1 1347 3.1870000530034304e-03 + + -2.4608999490737915e-02 2.8643900156021118e-01 + <_> + + 0 -1 1348 2.9167000204324722e-02 + + -3.4683000296354294e-02 -1.1162580251693726e+00 + <_> + + 0 -1 1349 1.1287000030279160e-02 + + 6.3760001212358475e-03 6.6632097959518433e-01 + <_> + + 0 -1 1350 -1.2001000344753265e-02 + + 4.2420101165771484e-01 -2.6279801130294800e-01 + <_> + + 0 -1 1351 -1.2695999816060066e-02 + + -2.1957000717520714e-02 1.8936799466609955e-01 + <_> + + 0 -1 1352 2.4597000330686569e-02 + + -3.4963998943567276e-02 -1.0989320278167725e+00 + <_> + + 0 -1 1353 4.5953001827001572e-02 + + 1.1109799891710281e-01 -2.9306049346923828e+00 + <_> + + 0 -1 1354 -2.7241000905632973e-02 + + 2.9101699590682983e-01 -2.7407899498939514e-01 + <_> + + 0 -1 1355 4.0063999593257904e-02 + + 1.1877900362014771e-01 -6.2801802158355713e-01 + <_> + + 0 -1 1356 2.3055000230669975e-02 + + 1.4813800156116486e-01 -3.7007498741149902e-01 + <_> + + 0 -1 1357 -2.3737000301480293e-02 + + -5.3724801540374756e-01 1.9358199834823608e-01 + <_> + + 0 -1 1358 7.7522002160549164e-02 + + -6.0194000601768494e-02 -1.9489669799804688e+00 + <_> + + 0 -1 1359 -1.3345000334084034e-02 + + -4.5229598879814148e-01 1.8741500377655029e-01 + <_> + + 0 -1 1360 -2.1719999611377716e-02 + + 1.2144249677658081e+00 -1.5365800261497498e-01 + <_> + + 0 -1 1361 -7.1474999189376831e-02 + + -2.3047130107879639e+00 1.0999900102615356e-01 + <_> + + 0 -1 1362 -5.4999999701976776e-03 + + -7.1855199337005615e-01 2.0100999623537064e-02 + <_> + + 0 -1 1363 2.6740999892354012e-02 + + 7.3545001447200775e-02 9.8786002397537231e-01 + <_> + + 0 -1 1364 -3.9407998323440552e-02 + + -1.2227380275726318e+00 -4.3506998568773270e-02 + <_> + + 0 -1 1365 2.5888999924063683e-02 + + 1.3409300148487091e-01 -1.1770780086517334e+00 + <_> + + 0 -1 1366 4.8925001174211502e-02 + + -3.0810000374913216e-02 -9.3479502201080322e-01 + <_> + + 0 -1 1367 3.6892998963594437e-02 + + 1.3333700597286224e-01 -1.4998290538787842e+00 + <_> + + 0 -1 1368 7.8929997980594635e-02 + + -1.4538800716400146e-01 1.5631790161132812e+00 + <_> + + 0 -1 1369 2.9006000608205795e-02 + + 1.9383700191974640e-01 -6.7642802000045776e-01 + <_> + + 0 -1 1370 6.3089998438954353e-03 + + -3.7465399503707886e-01 1.0857500135898590e-01 + <_> + + 0 -1 1371 -6.5830998122692108e-02 + + 8.1059402227401733e-01 3.0201999470591545e-02 + <_> + + 0 -1 1372 -6.8965002894401550e-02 + + 8.3772599697113037e-01 -1.7140999436378479e-01 + <_> + + 0 -1 1373 -1.1669100075960159e-01 + + -9.4647198915481567e-01 1.3123199343681335e-01 + <_> + + 0 -1 1374 -1.3060000492259860e-03 + + 4.6007998287677765e-02 -5.2011597156524658e-01 + <_> + + 0 -1 1375 -4.4558998197317123e-02 + + -1.9423669576644897e+00 1.3200700283050537e-01 + <_> + + 0 -1 1376 5.1033001393079758e-02 + + -2.1480999886989594e-01 4.8673900961875916e-01 + <_> + + 0 -1 1377 -3.1578000634908676e-02 + + 5.9989798069000244e-01 7.9159997403621674e-03 + <_> + + 0 -1 1378 2.1020000800490379e-02 + + -2.2069500386714935e-01 5.4046201705932617e-01 + <_> + + 0 -1 1379 -1.3824200630187988e-01 + + 6.2957501411437988e-01 -2.1712999790906906e-02 + <_> + + 0 -1 1380 5.2228998392820358e-02 + + -2.3360900580883026e-01 4.9760800600051880e-01 + <_> + + 0 -1 1381 2.5884000584483147e-02 + + 1.8041999638080597e-01 -2.2039200365543365e-01 + <_> + + 0 -1 1382 -1.2138999998569489e-02 + + -6.9731897115707397e-01 1.5712000429630280e-02 + <_> + + 0 -1 1383 -2.4237999692559242e-02 + + 3.4593299031257629e-01 7.1469999849796295e-02 + <_> + + 0 -1 1384 -2.5272000581026077e-02 + + -8.7583297491073608e-01 -9.8240002989768982e-03 + <_> + + 0 -1 1385 1.2597000226378441e-02 + + 2.3649999499320984e-01 -2.8731200098991394e-01 + <_> + + 0 -1 1386 5.7330999523401260e-02 + + -6.1530999839305878e-02 -2.2326040267944336e+00 + <_> + + 0 -1 1387 1.6671000048518181e-02 + + -1.9850100576877594e-01 4.0810701251029968e-01 + <_> + + 0 -1 1388 -2.2818999364972115e-02 + + 9.6487599611282349e-01 -2.0245699584484100e-01 + <_> + + 0 -1 1389 3.7000001611886546e-05 + + -5.8908998966217041e-02 2.7055400609970093e-01 + <_> + + 0 -1 1390 -7.6700001955032349e-03 + + -4.5317101478576660e-01 8.9628003537654877e-02 + <_> + + 0 -1 1391 9.4085998833179474e-02 + + 1.1604599654674530e-01 -1.0951169729232788e+00 + <_> + + 0 -1 1392 -6.2267001718282700e-02 + + 1.8096530437469482e+00 -1.4773200452327728e-01 + <_> + + 0 -1 1393 1.7416000366210938e-02 + + 2.3068200051784515e-01 -4.2417600750923157e-01 + <_> + + 0 -1 1394 -2.2066000849008560e-02 + + 4.9270299077033997e-01 -2.0630900561809540e-01 + <_> + + 0 -1 1395 -1.0404000058770180e-02 + + 6.0924297571182251e-01 2.8130000457167625e-02 + <_> + + 0 -1 1396 -9.3670003116130829e-03 + + 4.0171200037002563e-01 -2.1681700646877289e-01 + <_> + + 0 -1 1397 -2.9039999470114708e-02 + + -8.4876501560211182e-01 1.4246800541877747e-01 + <_> + + 0 -1 1398 -2.1061999723315239e-02 + + -7.9198300838470459e-01 -1.2595999985933304e-02 + <_> + + 0 -1 1399 -3.7000998854637146e-02 + + -6.7488902807235718e-01 1.2830400466918945e-01 + <_> + + 0 -1 1400 1.0735999792814255e-02 + + 3.6779999732971191e-02 -6.3393002748489380e-01 + <_> + + 0 -1 1401 1.6367599368095398e-01 + + 1.3803899288177490e-01 -4.7189000248908997e-01 + <_> + + 0 -1 1402 9.4917997717857361e-02 + + -1.3855700194835663e-01 1.9492419958114624e+00 + <_> + + 0 -1 1403 3.5261999815702438e-02 + + 1.3721899688243866e-01 -2.1186530590057373e+00 + <_> + + 0 -1 1404 1.2811000458896160e-02 + + -2.0008100569248199e-01 4.9507799744606018e-01 + <_> + 155 + -3.3933560848236084e+00 + + <_> + + 0 -1 1405 1.3904400169849396e-01 + + -4.6581199765205383e-01 7.6431602239608765e-01 + <_> + + 0 -1 1406 1.1916999705135822e-02 + + -9.4398999214172363e-01 3.9726299047470093e-01 + <_> + + 0 -1 1407 -1.0006999596953392e-02 + + 3.2718798518180847e-01 -6.3367402553558350e-01 + <_> + + 0 -1 1408 -6.0479999519884586e-03 + + 2.7427899837493896e-01 -5.7446998357772827e-01 + <_> + + 0 -1 1409 -1.2489999644458294e-03 + + 2.3629300296306610e-01 -6.8593502044677734e-01 + <_> + + 0 -1 1410 3.2382000237703323e-02 + + -5.7630199193954468e-01 2.7492699027061462e-01 + <_> + + 0 -1 1411 -1.3957999646663666e-02 + + -6.1061501502990723e-01 2.4541600048542023e-01 + <_> + + 0 -1 1412 1.1159999994561076e-03 + + -5.6539100408554077e-01 2.7179300785064697e-01 + <_> + + 0 -1 1413 2.7000000045518391e-05 + + -8.0235999822616577e-01 1.1509100347757339e-01 + <_> + + 0 -1 1414 -2.5700000696815550e-04 + + -8.1205898523330688e-01 2.3844699561595917e-01 + <_> + + 0 -1 1415 4.0460000745952129e-03 + + 1.3909600675106049e-01 -6.6163200139999390e-01 + <_> + + 0 -1 1416 1.4356000348925591e-02 + + -1.6485199332237244e-01 4.1901698708534241e-01 + <_> + + 0 -1 1417 -5.5374998599290848e-02 + + 1.4425870180130005e+00 -1.8820199370384216e-01 + <_> + + 0 -1 1418 9.3594998121261597e-02 + + 1.3548299670219421e-01 -9.1636097431182861e-01 + <_> + + 0 -1 1419 2.6624999940395355e-02 + + -3.3748298883438110e-01 3.9233601093292236e-01 + <_> + + 0 -1 1420 3.7469998933374882e-03 + + -1.1615400016307831e-01 4.4399300217628479e-01 + <_> + + 0 -1 1421 -3.1886000186204910e-02 + + -9.9498301744461060e-01 1.6120000509545207e-03 + <_> + + 0 -1 1422 -2.2600000724196434e-02 + + -4.8067399859428406e-01 1.7007300257682800e-01 + <_> + + 0 -1 1423 2.5202000513672829e-02 + + 3.5580001771450043e-02 -8.0215400457382202e-01 + <_> + + 0 -1 1424 -3.1036999076604843e-02 + + -1.0895340442657471e+00 1.8081900477409363e-01 + <_> + + 0 -1 1425 -2.6475999504327774e-02 + + 9.5671200752258301e-01 -2.1049399673938751e-01 + <_> + + 0 -1 1426 -1.3853999786078930e-02 + + -1.0370320081710815e+00 2.2166700661182404e-01 + <_> + + 0 -1 1427 -6.2925003468990326e-02 + + 9.0199398994445801e-01 -1.9085299968719482e-01 + <_> + + 0 -1 1428 -4.4750999659299850e-02 + + -1.0119110345840454e+00 1.4691199362277985e-01 + <_> + + 0 -1 1429 -2.0428000018000603e-02 + + 6.1624497175216675e-01 -2.3552699387073517e-01 + <_> + + 0 -1 1430 -8.0329999327659607e-03 + + -8.3279997110366821e-02 2.1728700399398804e-01 + <_> + + 0 -1 1431 8.7280003353953362e-03 + + 6.5458998084068298e-02 -6.0318702459335327e-01 + <_> + + 0 -1 1432 -2.7202000841498375e-02 + + -9.3447399139404297e-01 1.5270000696182251e-01 + <_> + + 0 -1 1433 -1.6471000388264656e-02 + + -8.4177100658416748e-01 1.3332000002264977e-02 + <_> + + 0 -1 1434 -1.3744000345468521e-02 + + 6.0567200183868408e-01 -9.2021003365516663e-02 + <_> + + 0 -1 1435 2.9164999723434448e-02 + + -2.8114000335335732e-02 -1.4014569520950317e+00 + <_> + + 0 -1 1436 3.7457000464200974e-02 + + 1.3080599904060364e-01 -4.9382498860359192e-01 + <_> + + 0 -1 1437 -2.5070000439882278e-02 + + -1.1289390325546265e+00 -1.4600000344216824e-02 + <_> + + 0 -1 1438 -6.3812002539634705e-02 + + 7.5871598720550537e-01 -1.8200000049546361e-03 + <_> + + 0 -1 1439 -9.3900002539157867e-03 + + 2.9936400055885315e-01 -2.9487800598144531e-01 + <_> + + 0 -1 1440 -7.6000002445653081e-04 + + 1.9725000485777855e-02 1.9993899762630463e-01 + <_> + + 0 -1 1441 -2.1740999072790146e-02 + + -8.5247898101806641e-01 4.9169998615980148e-02 + <_> + + 0 -1 1442 -1.7869999632239342e-02 + + -5.9985999017953873e-02 1.5222500264644623e-01 + <_> + + 0 -1 1443 -2.4831000715494156e-02 + + 3.5603401064872742e-01 -2.6259899139404297e-01 + <_> + + 0 -1 1444 1.5715500712394714e-01 + + 1.5599999460391700e-04 1.0428730249404907e+00 + <_> + + 0 -1 1445 6.9026999175548553e-02 + + -3.3006999641656876e-02 -1.1796669960021973e+00 + <_> + + 0 -1 1446 -1.1021999642252922e-02 + + 5.8987700939178467e-01 -5.7647999376058578e-02 + <_> + + 0 -1 1447 -1.3834999874234200e-02 + + 5.9502798318862915e-01 -2.4418599903583527e-01 + <_> + + 0 -1 1448 -3.0941000208258629e-02 + + -1.1723799705505371e+00 1.6907000541687012e-01 + <_> + + 0 -1 1449 2.1258000284433365e-02 + + -1.8900999799370766e-02 -1.0684759616851807e+00 + <_> + + 0 -1 1450 9.3079999089241028e-02 + + 1.6305600106716156e-01 -1.3375270366668701e+00 + <_> + + 0 -1 1451 2.9635999351739883e-02 + + -2.2524799406528473e-01 4.5400100946426392e-01 + <_> + + 0 -1 1452 -1.2199999764561653e-04 + + 2.7409100532531738e-01 -3.7371399998664856e-01 + <_> + + 0 -1 1453 -4.2098000645637512e-02 + + -7.5828802585601807e-01 1.7137000337243080e-02 + <_> + + 0 -1 1454 -2.2505000233650208e-02 + + -2.2759300470352173e-01 2.3698699474334717e-01 + <_> + + 0 -1 1455 -1.2862999923527241e-02 + + 1.9252400100231171e-01 -3.2127100229263306e-01 + <_> + + 0 -1 1456 2.7860000729560852e-02 + + 1.6723699867725372e-01 -1.0209059715270996e+00 + <_> + + 0 -1 1457 -2.7807999402284622e-02 + + 1.2824759483337402e+00 -1.7225299775600433e-01 + <_> + + 0 -1 1458 -6.1630001291632652e-03 + + -5.4072898626327515e-01 2.3885700106620789e-01 + <_> + + 0 -1 1459 -2.0436000078916550e-02 + + 6.3355398178100586e-01 -2.1090599894523621e-01 + <_> + + 0 -1 1460 -1.2307999655604362e-02 + + -4.9778199195861816e-01 1.7402599751949310e-01 + <_> + + 0 -1 1461 -4.0493998676538467e-02 + + -1.1848740577697754e+00 -3.3890999853610992e-02 + <_> + + 0 -1 1462 2.9657000675797462e-02 + + 2.1740999072790146e-02 1.0069919824600220e+00 + <_> + + 0 -1 1463 6.8379999138414860e-03 + + 2.9217999428510666e-02 -5.9906297922134399e-01 + <_> + + 0 -1 1464 1.6164999455213547e-02 + + -2.1000799536705017e-01 3.7637299299240112e-01 + <_> + + 0 -1 1465 5.0193000584840775e-02 + + 2.5319999549537897e-03 -7.1668201684951782e-01 + <_> + + 0 -1 1466 1.9680000841617584e-03 + + -2.1921400725841522e-01 3.2298699021339417e-01 + <_> + + 0 -1 1467 2.4979999288916588e-02 + + -9.6840001642704010e-03 -7.7572900056838989e-01 + <_> + + 0 -1 1468 -1.5809999778866768e-02 + + 4.4637501239776611e-01 -6.1760000884532928e-02 + <_> + + 0 -1 1469 3.7206999957561493e-02 + + -2.0495399832725525e-01 5.7722198963165283e-01 + <_> + + 0 -1 1470 -7.9264998435974121e-02 + + -7.6745402812957764e-01 1.2550400197505951e-01 + <_> + + 0 -1 1471 -1.7152000218629837e-02 + + -1.4121830463409424e+00 -5.1704000681638718e-02 + <_> + + 0 -1 1472 3.2740000635385513e-02 + + 1.9334000349044800e-01 -6.3633698225021362e-01 + <_> + + 0 -1 1473 -1.1756999790668488e-01 + + 8.4325402975082397e-01 -1.8018600344657898e-01 + <_> + + 0 -1 1474 1.2057200074195862e-01 + + 1.2530000507831573e-01 -2.1213600635528564e+00 + <_> + + 0 -1 1475 4.2779999785125256e-03 + + -4.6604400873184204e-01 8.9643999934196472e-02 + <_> + + 0 -1 1476 -7.2544999420642853e-02 + + 5.1826500892639160e-01 1.6823999583721161e-02 + <_> + + 0 -1 1477 1.7710599303245544e-01 + + -3.0910000205039978e-02 -1.1046639680862427e+00 + <_> + + 0 -1 1478 8.4229996427893639e-03 + + 2.4445800483226776e-01 -3.8613098859786987e-01 + <_> + + 0 -1 1479 -1.3035000301897526e-02 + + 9.8004400730133057e-01 -1.7016500234603882e-01 + <_> + + 0 -1 1480 1.8912000581622124e-02 + + 2.0248499512672424e-01 -3.8545900583267212e-01 + <_> + + 0 -1 1481 2.1447999402880669e-02 + + -2.5717198848724365e-01 3.5181200504302979e-01 + <_> + + 0 -1 1482 6.3357003033161163e-02 + + 1.6994799673557281e-01 -9.1383802890777588e-01 + <_> + + 0 -1 1483 -3.2435998320579529e-02 + + -8.5681599378585815e-01 -2.1680999547243118e-02 + <_> + + 0 -1 1484 -2.3564999923110008e-02 + + 5.6115597486495972e-01 -2.2400000307243317e-04 + <_> + + 0 -1 1485 1.8789000809192657e-02 + + -2.5459799170494080e-01 3.4512901306152344e-01 + <_> + + 0 -1 1486 3.1042000278830528e-02 + + 7.5719999149441719e-03 3.4800198674201965e-01 + <_> + + 0 -1 1487 -1.1226999573409557e-02 + + -6.0219800472259521e-01 4.2814999818801880e-02 + <_> + + 0 -1 1488 -1.2845999561250210e-02 + + 4.2020401358604431e-01 -5.3801000118255615e-02 + <_> + + 0 -1 1489 -1.2791999615728855e-02 + + 2.2724500298500061e-01 -3.2398000359535217e-01 + <_> + + 0 -1 1490 6.8651996552944183e-02 + + 9.3532003462314606e-02 10. + <_> + + 0 -1 1491 5.2789999172091484e-03 + + -2.6926299929618835e-01 3.3303201198577881e-01 + <_> + + 0 -1 1492 -3.8779001682996750e-02 + + -7.2365301847457886e-01 1.7806500196456909e-01 + <_> + + 0 -1 1493 6.1820000410079956e-03 + + -3.5119399428367615e-01 1.6586300730705261e-01 + <_> + + 0 -1 1494 1.7515200376510620e-01 + + 1.1623100191354752e-01 -1.5419290065765381e+00 + <_> + + 0 -1 1495 1.1627999693155289e-01 + + -9.1479998081922531e-03 -9.9842602014541626e-01 + <_> + + 0 -1 1496 -2.2964000701904297e-02 + + 2.0565399527549744e-01 1.5432000160217285e-02 + <_> + + 0 -1 1497 -5.1410000771284103e-02 + + 5.8072400093078613e-01 -2.0118400454521179e-01 + <_> + + 0 -1 1498 2.2474199533462524e-01 + + 1.8728999421000481e-02 1.0829299688339233e+00 + <_> + + 0 -1 1499 9.4860000535845757e-03 + + -3.3171299099922180e-01 1.9902999699115753e-01 + <_> + + 0 -1 1500 -1.1846300214529037e-01 + + 1.3711010217666626e+00 6.8926997482776642e-02 + <_> + + 0 -1 1501 3.7810999900102615e-02 + + -9.3600002583116293e-04 -8.3996999263763428e-01 + <_> + + 0 -1 1502 2.2202000021934509e-02 + + -1.1963999830186367e-02 3.6673998832702637e-01 + <_> + + 0 -1 1503 -3.6366000771522522e-02 + + 3.7866500020027161e-01 -2.7714800834655762e-01 + <_> + + 0 -1 1504 -1.3184699416160583e-01 + + -2.7481179237365723e+00 1.0666900128126144e-01 + <_> + + 0 -1 1505 -4.1655998677015305e-02 + + 4.7524300217628479e-01 -2.3249800503253937e-01 + <_> + + 0 -1 1506 -3.3151999115943909e-02 + + -5.7929402589797974e-01 1.7434400320053101e-01 + <_> + + 0 -1 1507 1.5769999474287033e-02 + + -1.1284000240266323e-02 -8.3701401948928833e-01 + <_> + + 0 -1 1508 -3.9363000541925430e-02 + + 3.4821599721908569e-01 -1.7455400526523590e-01 + <_> + + 0 -1 1509 -6.7849002778530121e-02 + + 1.4225699901580811e+00 -1.4765599370002747e-01 + <_> + + 0 -1 1510 -2.6775000616908073e-02 + + 2.3947000503540039e-01 1.3271999545395374e-02 + <_> + + 0 -1 1511 3.9919000118970871e-02 + + -8.9999996125698090e-03 -7.5938898324966431e-01 + <_> + + 0 -1 1512 1.0065600275993347e-01 + + -1.8685000017285347e-02 7.6245301961898804e-01 + <_> + + 0 -1 1513 -8.1022001802921295e-02 + + -9.0439099073410034e-01 -8.5880002006888390e-03 + <_> + + 0 -1 1514 -2.1258000284433365e-02 + + -2.1319599449634552e-01 2.1919700503349304e-01 + <_> + + 0 -1 1515 -1.0630999691784382e-02 + + 1.9598099589347839e-01 -3.5768100619316101e-01 + <_> + + 0 -1 1516 8.1300002057105303e-04 + + -9.2794999480247498e-02 2.6145899295806885e-01 + <_> + + 0 -1 1517 3.4650000743567944e-03 + + -5.5336099863052368e-01 2.7386000379920006e-02 + <_> + + 0 -1 1518 1.8835999071598053e-02 + + 1.8446099758148193e-01 -6.6934299468994141e-01 + <_> + + 0 -1 1519 -2.5631999596953392e-02 + + 1.9382879734039307e+00 -1.4708900451660156e-01 + <_> + + 0 -1 1520 -4.0939999744296074e-03 + + -2.6451599597930908e-01 2.0733200013637543e-01 + <_> + + 0 -1 1521 -8.9199998183175921e-04 + + -5.5031597614288330e-01 5.0374999642372131e-02 + <_> + + 0 -1 1522 -4.9518000334501266e-02 + + -2.5615389347076416e+00 1.3141700625419617e-01 + <_> + + 0 -1 1523 1.1680999770760536e-02 + + -2.4819800257682800e-01 3.9982700347900391e-01 + <_> + + 0 -1 1524 3.4563999623060226e-02 + + 1.6178800165653229e-01 -7.1418899297714233e-01 + <_> + + 0 -1 1525 -8.2909995689988136e-03 + + 2.2180099785327911e-01 -2.9181700944900513e-01 + <_> + + 0 -1 1526 -2.2358000278472900e-02 + + 3.1044098734855652e-01 -2.7280000504106283e-03 + <_> + + 0 -1 1527 -3.0801000073552132e-02 + + -9.5672702789306641e-01 -8.3400001749396324e-03 + <_> + + 0 -1 1528 4.3779000639915466e-02 + + 1.2556900084018707e-01 -1.1759619712829590e+00 + <_> + + 0 -1 1529 4.3046001344919205e-02 + + -5.8876998722553253e-02 -1.8568470478057861e+00 + <_> + + 0 -1 1530 2.7188999578356743e-02 + + 4.2858000844717026e-02 3.9036700129508972e-01 + <_> + + 0 -1 1531 9.4149997457861900e-03 + + -4.3567001819610596e-02 -1.1094470024108887e+00 + <_> + + 0 -1 1532 9.4311997294425964e-02 + + 4.0256999433040619e-02 9.8442298173904419e-01 + <_> + + 0 -1 1533 1.7025099694728851e-01 + + 2.9510000720620155e-02 -6.9509297609329224e-01 + <_> + + 0 -1 1534 -4.7148000448942184e-02 + + 1.0338569879531860e+00 6.7602001130580902e-02 + <_> + + 0 -1 1535 1.1186300218105316e-01 + + -6.8682998418807983e-02 -2.4985830783843994e+00 + <_> + + 0 -1 1536 -1.4353999868035316e-02 + + -5.9481900930404663e-01 1.5001699328422546e-01 + <_> + + 0 -1 1537 3.4024000167846680e-02 + + -6.4823001623153687e-02 -2.1382639408111572e+00 + <_> + + 0 -1 1538 2.1601999178528786e-02 + + 5.5309999734163284e-02 7.8292900323867798e-01 + <_> + + 0 -1 1539 2.1771999076008797e-02 + + -7.1279997937381268e-03 -7.2148102521896362e-01 + <_> + + 0 -1 1540 8.2416996359825134e-02 + + 1.4609499275684357e-01 -1.3636670112609863e+00 + <_> + + 0 -1 1541 8.4671996533870697e-02 + + -1.7784699797630310e-01 7.2857701778411865e-01 + <_> + + 0 -1 1542 -5.5128000676631927e-02 + + -5.9402400255203247e-01 1.9357800483703613e-01 + <_> + + 0 -1 1543 -6.4823001623153687e-02 + + -1.0783840417861938e+00 -4.0734000504016876e-02 + <_> + + 0 -1 1544 -2.2769000381231308e-02 + + 7.7900201082229614e-01 3.4960000775754452e-03 + <_> + + 0 -1 1545 5.4756000638008118e-02 + + -6.5683998167514801e-02 -1.8188409805297852e+00 + <_> + + 0 -1 1546 -8.9000001025851816e-05 + + -1.7891999334096909e-02 2.0768299698829651e-01 + <_> + + 0 -1 1547 9.8361998796463013e-02 + + -5.5946998298168182e-02 -1.4153920412063599e+00 + <_> + + 0 -1 1548 -7.0930002257227898e-03 + + 3.4135299921035767e-01 -1.2089899927377701e-01 + <_> + + 0 -1 1549 5.0278000533580780e-02 + + -2.6286700367927551e-01 2.5797298550605774e-01 + <_> + + 0 -1 1550 -5.7870000600814819e-03 + + -1.3178600370883942e-01 1.7350199818611145e-01 + <_> + + 0 -1 1551 1.3973999768495560e-02 + + 2.8518000617623329e-02 -6.1152201890945435e-01 + <_> + + 0 -1 1552 2.1449999883770943e-02 + + 2.6181999593973160e-02 3.0306598544120789e-01 + <_> + + 0 -1 1553 -2.9214000329375267e-02 + + 4.4940599799156189e-01 -2.2803099453449249e-01 + <_> + + 0 -1 1554 4.8099999548867345e-04 + + -1.9879999756813049e-01 2.0744499564170837e-01 + <_> + + 0 -1 1555 1.7109999898821115e-03 + + -5.4037201404571533e-01 6.7865997552871704e-02 + <_> + + 0 -1 1556 8.6660003289580345e-03 + + -1.3128000311553478e-02 5.2297902107238770e-01 + <_> + + 0 -1 1557 6.3657999038696289e-02 + + 6.8299002945423126e-02 -4.9235099554061890e-01 + <_> + + 0 -1 1558 -2.7968000620603561e-02 + + 6.8183898925781250e-01 7.8781001269817352e-02 + <_> + + 0 -1 1559 4.8953998833894730e-02 + + -2.0622399449348450e-01 5.0388097763061523e-01 + <_> + 169 + -3.2396929264068604e+00 + + <_> + + 0 -1 1560 -2.9312999919056892e-02 + + 7.1284699440002441e-01 -5.8230698108673096e-01 + <_> + + 0 -1 1561 1.2415099889039993e-01 + + -3.6863499879837036e-01 6.0067200660705566e-01 + <_> + + 0 -1 1562 7.9349996522068977e-03 + + -8.6008298397064209e-01 2.1724699437618256e-01 + <_> + + 0 -1 1563 3.0365999788045883e-02 + + -2.7186998724937439e-01 6.1247897148132324e-01 + <_> + + 0 -1 1564 2.5218000635504723e-02 + + -3.4748300909996033e-01 5.0427699089050293e-01 + <_> + + 0 -1 1565 1.0014000348746777e-02 + + -3.1898999214172363e-01 4.1376799345016479e-01 + <_> + + 0 -1 1566 -1.6775000840425491e-02 + + -6.9048100709915161e-01 9.4830997288227081e-02 + <_> + + 0 -1 1567 -2.6950000319629908e-03 + + -2.0829799771308899e-01 2.3737199604511261e-01 + <_> + + 0 -1 1568 4.2257998138666153e-02 + + -4.9366700649261475e-01 1.8170599639415741e-01 + <_> + + 0 -1 1569 -4.8505000770092010e-02 + + 1.3429640531539917e+00 3.9769001305103302e-02 + <_> + + 0 -1 1570 2.8992999345064163e-02 + + 4.6496000140905380e-02 -8.1643497943878174e-01 + <_> + + 0 -1 1571 -4.0089000016450882e-02 + + -7.1197801828384399e-01 2.2553899884223938e-01 + <_> + + 0 -1 1572 -4.1021998971700668e-02 + + 1.0057929754257202e+00 -1.9690200686454773e-01 + <_> + + 0 -1 1573 1.1838000267744064e-02 + + -1.2600000016391277e-02 8.0767101049423218e-01 + <_> + + 0 -1 1574 -2.1328000351786613e-02 + + -8.2023900747299194e-01 2.0524999126791954e-02 + <_> + + 0 -1 1575 -2.3904999718070030e-02 + + 5.4210501909255981e-01 -7.4767000973224640e-02 + <_> + + 0 -1 1576 1.8008999526500702e-02 + + -3.3827701210975647e-01 4.2358601093292236e-01 + <_> + + 0 -1 1577 -4.3614000082015991e-02 + + -1.1983489990234375e+00 1.5566200017929077e-01 + <_> + + 0 -1 1578 -9.2449998483061790e-03 + + -8.9029997587203979e-01 1.1003999970853329e-02 + <_> + + 0 -1 1579 4.7485001385211945e-02 + + 1.6664099693298340e-01 -9.0764498710632324e-01 + <_> + + 0 -1 1580 -1.4233999885618687e-02 + + 6.2695199251174927e-01 -2.5791200995445251e-01 + <_> + + 0 -1 1581 3.8010000716894865e-03 + + -2.8229999542236328e-01 2.6624599099159241e-01 + <_> + + 0 -1 1582 3.4330000635236502e-03 + + -6.3771998882293701e-01 9.8422996699810028e-02 + <_> + + 0 -1 1583 -2.9221000149846077e-02 + + -7.6769900321960449e-01 2.2634500265121460e-01 + <_> + + 0 -1 1584 -6.4949998632073402e-03 + + 4.5600101351737976e-01 -2.6528900861740112e-01 + <_> + + 0 -1 1585 -3.0034000054001808e-02 + + -7.6551097631454468e-01 1.4009299874305725e-01 + <_> + + 0 -1 1586 7.8360000625252724e-03 + + 4.6755999326705933e-02 -7.2356200218200684e-01 + <_> + + 0 -1 1587 8.8550001382827759e-03 + + -4.9141999334096909e-02 5.1472699642181396e-01 + <_> + + 0 -1 1588 9.5973998308181763e-02 + + -2.0068999379873276e-02 -1.0850950479507446e+00 + <_> + + 0 -1 1589 -3.2876998186111450e-02 + + -9.5875298976898193e-01 1.4543600380420685e-01 + <_> + + 0 -1 1590 -1.3384000398218632e-02 + + -7.0013600587844849e-01 2.9157999902963638e-02 + <_> + + 0 -1 1591 1.5235999599099159e-02 + + -2.8235700726509094e-01 2.5367999076843262e-01 + <_> + + 0 -1 1592 1.2054000049829483e-02 + + -2.5303399562835693e-01 4.6526700258255005e-01 + <_> + + 0 -1 1593 -7.6295003294944763e-02 + + -6.9915801286697388e-01 1.3217200338840485e-01 + <_> + + 0 -1 1594 -1.2040000408887863e-02 + + 4.5894598960876465e-01 -2.3856499791145325e-01 + <_> + + 0 -1 1595 2.1916000172495842e-02 + + 1.8268600106239319e-01 -6.1629700660705566e-01 + <_> + + 0 -1 1596 -2.7330000884830952e-03 + + -6.3257902860641479e-01 3.4219000488519669e-02 + <_> + + 0 -1 1597 -4.8652000725269318e-02 + + -1.0297729969024658e+00 1.7386500537395477e-01 + <_> + + 0 -1 1598 -1.0463999584317207e-02 + + 3.4757301211357117e-01 -2.7464100718498230e-01 + <_> + + 0 -1 1599 -6.6550001502037048e-03 + + -2.8980299830436707e-01 2.4037900567054749e-01 + <_> + + 0 -1 1600 8.5469996556639671e-03 + + -4.4340500235557556e-01 1.4267399907112122e-01 + <_> + + 0 -1 1601 1.9913999363780022e-02 + + 1.7740400135517120e-01 -2.4096299707889557e-01 + <_> + + 0 -1 1602 2.2012999281287193e-02 + + -1.0812000371515751e-02 -9.4690799713134766e-01 + <_> + + 0 -1 1603 -5.2179001271724701e-02 + + 1.6547499895095825e+00 9.6487000584602356e-02 + <_> + + 0 -1 1604 1.9698999822139740e-02 + + -6.7560002207756042e-03 -8.6311501264572144e-01 + <_> + + 0 -1 1605 2.3040000349283218e-02 + + -2.3519999813288450e-03 3.8531300425529480e-01 + <_> + + 0 -1 1606 -1.5038000419735909e-02 + + -6.1905699968338013e-01 3.1077999621629715e-02 + <_> + + 0 -1 1607 -4.9956001341342926e-02 + + 7.0657497644424438e-01 4.7880999743938446e-02 + <_> + + 0 -1 1608 -6.9269999861717224e-02 + + 3.9212900400161743e-01 -2.3848000168800354e-01 + <_> + + 0 -1 1609 4.7399997711181641e-03 + + -2.4309000000357628e-02 2.5386300683021545e-01 + <_> + + 0 -1 1610 -3.3923998475074768e-02 + + 4.6930399537086487e-01 -2.3321899771690369e-01 + <_> + + 0 -1 1611 -1.6231000423431396e-02 + + 3.2319200038909912e-01 -2.0545600354671478e-01 + <_> + + 0 -1 1612 -5.0193000584840775e-02 + + -1.2277870178222656e+00 -4.0798000991344452e-02 + <_> + + 0 -1 1613 5.6944001466035843e-02 + + 4.5184001326560974e-02 6.0197502374649048e-01 + <_> + + 0 -1 1614 4.0936999022960663e-02 + + -1.6772800683975220e-01 8.9819300174713135e-01 + <_> + + 0 -1 1615 -3.0839999672025442e-03 + + 3.3716198801994324e-01 -2.7240800857543945e-01 + <_> + + 0 -1 1616 -3.2600000500679016e-02 + + -8.5446500778198242e-01 1.9664999097585678e-02 + <_> + + 0 -1 1617 9.8480999469757080e-02 + + 5.4742000997066498e-02 6.3827300071716309e-01 + <_> + + 0 -1 1618 -3.8185000419616699e-02 + + 5.2274698019027710e-01 -2.3384800553321838e-01 + <_> + + 0 -1 1619 -4.5917000621557236e-02 + + 6.2829202413558960e-01 3.2859001308679581e-02 + <_> + + 0 -1 1620 -1.1955499649047852e-01 + + -6.1572700738906860e-01 3.4680001437664032e-02 + <_> + + 0 -1 1621 -1.2044399976730347e-01 + + -8.4380000829696655e-01 1.6530700027942657e-01 + <_> + + 0 -1 1622 7.0619001984596252e-02 + + -6.3261002302169800e-02 -1.9863929748535156e+00 + <_> + + 0 -1 1623 8.4889996796846390e-03 + + -1.7663399875164032e-01 3.8011199235916138e-01 + <_> + + 0 -1 1624 2.2710999473929405e-02 + + -2.7605999261140823e-02 -9.1921401023864746e-01 + <_> + + 0 -1 1625 4.9700000090524554e-04 + + -2.4293200671672821e-01 2.2878900170326233e-01 + <_> + + 0 -1 1626 3.4651998430490494e-02 + + -2.3705999553203583e-01 5.4010999202728271e-01 + <_> + + 0 -1 1627 -4.4700000435113907e-03 + + 3.9078998565673828e-01 -1.2693800032138824e-01 + <_> + + 0 -1 1628 2.3643000051379204e-02 + + -2.6663699746131897e-01 3.2312598824501038e-01 + <_> + + 0 -1 1629 1.2813000008463860e-02 + + 1.7540800571441650e-01 -6.0787999629974365e-01 + <_> + + 0 -1 1630 -1.1250999756157398e-02 + + -1.0852589607238770e+00 -2.8046000748872757e-02 + <_> + + 0 -1 1631 -4.1535001248121262e-02 + + 7.1887397766113281e-01 2.7982000261545181e-02 + <_> + + 0 -1 1632 -9.3470998108386993e-02 + + -1.1906319856643677e+00 -4.4810999184846878e-02 + <_> + + 0 -1 1633 -2.7249999344348907e-02 + + 6.2942498922348022e-01 9.5039997249841690e-03 + <_> + + 0 -1 1634 -2.1759999915957451e-02 + + 1.3233649730682373e+00 -1.5027000010013580e-01 + <_> + + 0 -1 1635 -9.6890004351735115e-03 + + -3.3947101235389709e-01 1.7085799574851990e-01 + <_> + + 0 -1 1636 6.9395996630191803e-02 + + -2.5657799839973450e-01 4.7652098536491394e-01 + <_> + + 0 -1 1637 3.1208999454975128e-02 + + 1.4154000580310822e-01 -3.4942001104354858e-01 + <_> + + 0 -1 1638 -4.9727000296115875e-02 + + -1.1675560474395752e+00 -4.0757998824119568e-02 + <_> + + 0 -1 1639 -2.0301999524235725e-02 + + -3.9486399292945862e-01 1.5814900398254395e-01 + <_> + + 0 -1 1640 -1.5367000363767147e-02 + + 4.9300000071525574e-01 -2.0092099905014038e-01 + <_> + + 0 -1 1641 -5.0735000520944595e-02 + + 1.8736059665679932e+00 8.6730003356933594e-02 + <_> + + 0 -1 1642 -2.0726000890135765e-02 + + -8.8938397169113159e-01 -7.3199998587369919e-03 + <_> + + 0 -1 1643 -3.0993999913334846e-02 + + -1.1664899587631226e+00 1.4274600148200989e-01 + <_> + + 0 -1 1644 -4.4269999489188194e-03 + + -6.6815102100372314e-01 4.4120000675320625e-03 + <_> + + 0 -1 1645 -4.5743998140096664e-02 + + -4.7955200076103210e-01 1.5121999382972717e-01 + <_> + + 0 -1 1646 1.6698999330401421e-02 + + 1.2048599869012833e-01 -4.5235899090766907e-01 + <_> + + 0 -1 1647 3.2210000790655613e-03 + + -7.7615000307559967e-02 2.7846598625183105e-01 + <_> + + 0 -1 1648 2.4434000253677368e-02 + + -1.9987100362777710e-01 6.7253702878952026e-01 + <_> + + 0 -1 1649 -7.9677999019622803e-02 + + 9.2222398519515991e-01 9.2557996511459351e-02 + <_> + + 0 -1 1650 4.4530000537633896e-02 + + -2.6690500974655151e-01 3.3320501446723938e-01 + <_> + + 0 -1 1651 -1.2528300285339355e-01 + + -5.4253101348876953e-01 1.3976299762725830e-01 + <_> + + 0 -1 1652 1.7971999943256378e-02 + + 1.8219999969005585e-02 -6.8048501014709473e-01 + <_> + + 0 -1 1653 1.9184000790119171e-02 + + -1.2583999894559383e-02 5.4126697778701782e-01 + <_> + + 0 -1 1654 4.0024001151323318e-02 + + -1.7638799548149109e-01 7.8810399770736694e-01 + <_> + + 0 -1 1655 1.3558999635279179e-02 + + 2.0737600326538086e-01 -4.7744300961494446e-01 + <_> + + 0 -1 1656 1.6220999881625175e-02 + + 2.3076999932527542e-02 -6.1182099580764771e-01 + <_> + + 0 -1 1657 1.1229000054299831e-02 + + -1.7728000879287720e-02 4.1764199733734131e-01 + <_> + + 0 -1 1658 3.9193000644445419e-02 + + -1.8948499858379364e-01 7.4019300937652588e-01 + <_> + + 0 -1 1659 -9.5539996400475502e-03 + + 4.0947100520133972e-01 -1.3508899509906769e-01 + <_> + + 0 -1 1660 2.7878999710083008e-02 + + -2.0350700616836548e-01 6.1625397205352783e-01 + <_> + + 0 -1 1661 -2.3600999265909195e-02 + + -1.6967060565948486e+00 1.4633199572563171e-01 + <_> + + 0 -1 1662 2.6930000633001328e-02 + + -3.0401999130845070e-02 -1.0909470319747925e+00 + <_> + + 0 -1 1663 2.8999999631196260e-04 + + -2.0076000690460205e-01 2.2314099967479706e-01 + <_> + + 0 -1 1664 -4.1124999523162842e-02 + + -4.5242199301719666e-01 5.7392001152038574e-02 + <_> + + 0 -1 1665 6.6789998672902584e-03 + + 2.3824900388717651e-01 -2.1262100338935852e-01 + <_> + + 0 -1 1666 4.7864999622106552e-02 + + -1.8194800615310669e-01 6.1918401718139648e-01 + <_> + + 0 -1 1667 -3.1679999083280563e-03 + + -2.7393200993537903e-01 2.5017300248146057e-01 + <_> + + 0 -1 1668 -8.6230002343654633e-03 + + -4.6280300617218018e-01 4.2397998273372650e-02 + <_> + + 0 -1 1669 -7.4350000359117985e-03 + + 4.1796800494194031e-01 -1.7079999670386314e-03 + <_> + + 0 -1 1670 -1.8769999733194709e-03 + + 1.4602300524711609e-01 -3.3721101284027100e-01 + <_> + + 0 -1 1671 -8.6226001381874084e-02 + + 7.5143402814865112e-01 1.0711999610066414e-02 + <_> + + 0 -1 1672 4.6833999454975128e-02 + + -1.9119599461555481e-01 4.8414900898933411e-01 + <_> + + 0 -1 1673 -9.2000002041459084e-05 + + 3.5220399498939514e-01 -1.7333300411701202e-01 + <_> + + 0 -1 1674 -1.6343999654054642e-02 + + -6.4397698640823364e-01 9.0680001303553581e-03 + <_> + + 0 -1 1675 4.5703999698162079e-02 + + 1.8216000869870186e-02 3.1970798969268799e-01 + <_> + + 0 -1 1676 -2.7382999658584595e-02 + + 1.0564049482345581e+00 -1.7276400327682495e-01 + <_> + + 0 -1 1677 -2.7602000162005424e-02 + + 2.9715499281883240e-01 -9.4600003212690353e-03 + <_> + + 0 -1 1678 7.6939999125897884e-03 + + -2.1660299599170685e-01 4.7385200858116150e-01 + <_> + + 0 -1 1679 -7.0500001311302185e-04 + + 2.4048799276351929e-01 -2.6776000857353210e-01 + <_> + + 0 -1 1680 1.1054199934005737e-01 + + -3.3539000898599625e-02 -1.0233880281448364e+00 + <_> + + 0 -1 1681 6.8765997886657715e-02 + + -4.3239998631179333e-03 5.7153397798538208e-01 + <_> + + 0 -1 1682 1.7999999690800905e-03 + + 7.7574998140335083e-02 -4.2092698812484741e-01 + <_> + + 0 -1 1683 1.9232000410556793e-01 + + 8.2021996378898621e-02 2.8810169696807861e+00 + <_> + + 0 -1 1684 1.5742099285125732e-01 + + -1.3708199560642242e-01 2.0890059471130371e+00 + <_> + + 0 -1 1685 -4.9387000501155853e-02 + + -1.8610910177230835e+00 1.4332099258899689e-01 + <_> + + 0 -1 1686 5.1929000765085220e-02 + + -1.8737000226974487e-01 5.4231601953506470e-01 + <_> + + 0 -1 1687 4.9965001642704010e-02 + + 1.4175300300121307e-01 -1.5625779628753662e+00 + <_> + + 0 -1 1688 -4.2633000761270523e-02 + + 1.6059479713439941e+00 -1.4712899923324585e-01 + <_> + + 0 -1 1689 -3.7553999572992325e-02 + + -8.0974900722503662e-01 1.3256999850273132e-01 + <_> + + 0 -1 1690 -3.7174999713897705e-02 + + -1.3945020437240601e+00 -5.7055000215768814e-02 + <_> + + 0 -1 1691 1.3945999555289745e-02 + + 3.3427000045776367e-02 5.7474797964096069e-01 + <_> + + 0 -1 1692 -4.4800000614486635e-04 + + -5.5327498912811279e-01 2.1952999755740166e-02 + <_> + + 0 -1 1693 3.1993001699447632e-02 + + 2.0340999588370323e-02 3.7459200620651245e-01 + <_> + + 0 -1 1694 -4.2799999937415123e-03 + + 4.4428700208663940e-01 -2.2999699413776398e-01 + <_> + + 0 -1 1695 9.8550003021955490e-03 + + 1.8315799534320831e-01 -4.0964999794960022e-01 + <_> + + 0 -1 1696 9.3356996774673462e-02 + + -6.3661001622676849e-02 -1.6929290294647217e+00 + <_> + + 0 -1 1697 1.7209999263286591e-02 + + 2.0153899490833282e-01 -4.6061098575592041e-01 + <_> + + 0 -1 1698 8.4319999441504478e-03 + + -3.2003998756408691e-01 1.5312199294567108e-01 + <_> + + 0 -1 1699 -1.4054999686777592e-02 + + 8.6882400512695312e-01 3.2575000077486038e-02 + <_> + + 0 -1 1700 -7.7180000953376293e-03 + + 6.3686698675155640e-01 -1.8425500392913818e-01 + <_> + + 0 -1 1701 2.8005000203847885e-02 + + 1.7357499897480011e-01 -4.7883599996566772e-01 + <_> + + 0 -1 1702 -1.8884999677538872e-02 + + 2.4101600050926208e-01 -2.6547598838806152e-01 + <_> + + 0 -1 1703 -1.8585000187158585e-02 + + 5.4232501983642578e-01 5.3633000701665878e-02 + <_> + + 0 -1 1704 -3.6437001079320908e-02 + + 2.3908898830413818e+00 -1.3634699583053589e-01 + <_> + + 0 -1 1705 3.2455001026391983e-02 + + 1.5910699963569641e-01 -6.7581498622894287e-01 + <_> + + 0 -1 1706 5.9781998395919800e-02 + + -2.3479999508708715e-03 -7.3053699731826782e-01 + <_> + + 0 -1 1707 9.8209995776414871e-03 + + -1.1444099992513657e-01 3.0570301413536072e-01 + <_> + + 0 -1 1708 -3.5163998603820801e-02 + + -1.0511469841003418e+00 -3.3103000372648239e-02 + <_> + + 0 -1 1709 2.7429999317973852e-03 + + -2.0135399699211121e-01 3.2754099369049072e-01 + <_> + + 0 -1 1710 8.1059997901320457e-03 + + -2.1383500099182129e-01 4.3362098932266235e-01 + <_> + + 0 -1 1711 8.8942997157573700e-02 + + 1.0940899699926376e-01 -4.7609338760375977e+00 + <_> + + 0 -1 1712 -3.0054999515414238e-02 + + -1.7169300317764282e+00 -6.0919001698493958e-02 + <_> + + 0 -1 1713 -2.1734999492764473e-02 + + 6.4778900146484375e-01 -3.2830998301506042e-02 + <_> + + 0 -1 1714 3.7648998200893402e-02 + + -1.0060000233352184e-02 -7.6569098234176636e-01 + <_> + + 0 -1 1715 2.7189999818801880e-03 + + 1.9888900220394135e-01 -8.2479000091552734e-02 + <_> + + 0 -1 1716 -1.0548000223934650e-02 + + -8.6613601446151733e-01 -2.5986000895500183e-02 + <_> + + 0 -1 1717 1.2966300547122955e-01 + + 1.3911999762058258e-01 -2.2271950244903564e+00 + <_> + + 0 -1 1718 -1.7676999792456627e-02 + + 3.3967700600624084e-01 -2.3989599943161011e-01 + <_> + + 0 -1 1719 -7.7051997184753418e-02 + + -2.5017969608306885e+00 1.2841999530792236e-01 + <_> + + 0 -1 1720 -1.9230000674724579e-02 + + 5.0641202926635742e-01 -1.9751599431037903e-01 + <_> + + 0 -1 1721 -5.1222998648881912e-02 + + -2.9333369731903076e+00 1.3858500123023987e-01 + <_> + + 0 -1 1722 2.0830000285059214e-03 + + -6.0043597221374512e-01 2.9718000441789627e-02 + <_> + + 0 -1 1723 2.5418000295758247e-02 + + 3.3915799856185913e-01 -1.4392000436782837e-01 + <_> + + 0 -1 1724 -2.3905999958515167e-02 + + -1.1082680225372314e+00 -4.7377001494169235e-02 + <_> + + 0 -1 1725 -6.3740001060068607e-03 + + 4.4533699750900269e-01 -6.7052997648715973e-02 + <_> + + 0 -1 1726 -3.7698999047279358e-02 + + -1.0406579971313477e+00 -4.1790001094341278e-02 + <_> + + 0 -1 1727 2.1655100584030151e-01 + + 3.3863000571727753e-02 8.2017302513122559e-01 + <_> + + 0 -1 1728 -1.3400999829173088e-02 + + 5.2903497219085693e-01 -1.9133000075817108e-01 + <_> + 196 + -3.2103500366210938e+00 + + <_> + + 0 -1 1729 7.1268998086452484e-02 + + -5.3631198406219482e-01 6.0715299844741821e-01 + <_> + + 0 -1 1730 5.6111000478267670e-02 + + -5.0141602754592896e-01 4.3976101279258728e-01 + <_> + + 0 -1 1731 4.0463998913764954e-02 + + -3.2922199368476868e-01 5.4834699630737305e-01 + <_> + + 0 -1 1732 6.3155002892017365e-02 + + -3.1701698899269104e-01 4.6152999997138977e-01 + <_> + + 0 -1 1733 1.0320999659597874e-02 + + 1.0694999992847443e-01 -9.8243898153305054e-01 + <_> + + 0 -1 1734 6.2606997787952423e-02 + + -1.4329700171947479e-01 7.1095001697540283e-01 + <_> + + 0 -1 1735 -3.9416000247001648e-02 + + 9.4380199909210205e-01 -2.1572099626064301e-01 + <_> + + 0 -1 1736 -5.3960001096129417e-03 + + -5.4611998796463013e-01 2.5303798913955688e-01 + <_> + + 0 -1 1737 1.0773199796676636e-01 + + 1.2496000155806541e-02 -1.0809199810028076e+00 + <_> + + 0 -1 1738 1.6982000321149826e-02 + + -3.1536400318145752e-01 5.1239997148513794e-01 + <_> + + 0 -1 1739 3.1216999515891075e-02 + + -4.5199999585747719e-03 -1.2443480491638184e+00 + <_> + + 0 -1 1740 -2.3106999695301056e-02 + + -7.6492899656295776e-01 2.0640599727630615e-01 + <_> + + 0 -1 1741 -1.1203999631106853e-02 + + 2.4092699587345123e-01 -3.5142099857330322e-01 + <_> + + 0 -1 1742 -4.7479998320341110e-03 + + -9.7007997334003448e-02 2.0638099312782288e-01 + <_> + + 0 -1 1743 -1.7358999699354172e-02 + + -7.9020297527313232e-01 2.1852999925613403e-02 + <_> + + 0 -1 1744 1.8851999193429947e-02 + + -1.0394600033760071e-01 5.4844200611114502e-01 + <_> + + 0 -1 1745 7.2249998338520527e-03 + + -4.0409401059150696e-01 2.6763799786567688e-01 + <_> + + 0 -1 1746 1.8915999680757523e-02 + + 2.0508000254631042e-01 -1.0206340551376343e+00 + <_> + + 0 -1 1747 3.1156999990344048e-02 + + 1.2400000123307109e-03 -8.7293499708175659e-01 + <_> + + 0 -1 1748 2.0951999351382256e-02 + + -5.5559999309480190e-03 8.0356198549270630e-01 + <_> + + 0 -1 1749 1.1291000060737133e-02 + + -3.6478400230407715e-01 2.2767899930477142e-01 + <_> + + 0 -1 1750 -5.7011000812053680e-02 + + -1.4295619726181030e+00 1.4322000741958618e-01 + <_> + + 0 -1 1751 7.2194002568721771e-02 + + -4.1850000619888306e-02 -1.9111829996109009e+00 + <_> + + 0 -1 1752 -1.9874000921845436e-02 + + 2.6425498723983765e-01 -3.2617700099945068e-01 + <_> + + 0 -1 1753 -1.6692999750375748e-02 + + -8.3907800912857056e-01 4.0799999260343611e-04 + <_> + + 0 -1 1754 -3.9834998548030853e-02 + + -4.8858499526977539e-01 1.6436100006103516e-01 + <_> + + 0 -1 1755 2.7009999379515648e-02 + + -1.8862499296665192e-01 8.3419400453567505e-01 + <_> + + 0 -1 1756 -3.9420002140104771e-03 + + 2.3231500387191772e-01 -7.2360001504421234e-02 + <_> + + 0 -1 1757 2.2833000868558884e-02 + + -3.5884000360965729e-02 -1.1549400091171265e+00 + <_> + + 0 -1 1758 -6.8888001143932343e-02 + + -1.7837309837341309e+00 1.5159000456333160e-01 + <_> + + 0 -1 1759 4.3097000569105148e-02 + + -2.1608099341392517e-01 5.0624102354049683e-01 + <_> + + 0 -1 1760 8.6239995434880257e-03 + + -1.7795599997043610e-01 2.8957900404930115e-01 + <_> + + 0 -1 1761 1.4561000280082226e-02 + + -1.1408000253140926e-02 -8.9402002096176147e-01 + <_> + + 0 -1 1762 -1.1501000262796879e-02 + + 3.0171999335289001e-01 -4.3659001588821411e-02 + <_> + + 0 -1 1763 -1.0971499979496002e-01 + + -9.5147097110748291e-01 -1.9973000511527061e-02 + <_> + + 0 -1 1764 4.5228000730276108e-02 + + 3.3110998570919037e-02 9.6619802713394165e-01 + <_> + + 0 -1 1765 -2.7047999203205109e-02 + + 9.7963601350784302e-01 -1.7261900007724762e-01 + <_> + + 0 -1 1766 1.8030999228358269e-02 + + -2.0801000297069550e-02 2.7385899424552917e-01 + <_> + + 0 -1 1767 5.0524998456239700e-02 + + -5.6802999228239059e-02 -1.7775089740753174e+00 + <_> + + 0 -1 1768 -2.9923999682068825e-02 + + 6.5329200029373169e-01 -2.3537000641226768e-02 + <_> + + 0 -1 1769 3.8058001548051834e-02 + + 2.6317000389099121e-02 -7.0665699243545532e-01 + <_> + + 0 -1 1770 1.8563899397850037e-01 + + -5.6039998307824135e-03 3.2873699069023132e-01 + <_> + + 0 -1 1771 -4.0670000016689301e-03 + + 3.4204798936843872e-01 -3.0171599984169006e-01 + <_> + + 0 -1 1772 1.0108999907970428e-02 + + -7.3600001633167267e-03 5.7981598377227783e-01 + <_> + + 0 -1 1773 -1.1567000299692154e-02 + + -5.2722197771072388e-01 4.6447999775409698e-02 + <_> + + 0 -1 1774 -6.5649999305605888e-03 + + -5.8529102802276611e-01 1.9101899862289429e-01 + <_> + + 0 -1 1775 1.0582000017166138e-02 + + 2.1073000505566597e-02 -6.8892598152160645e-01 + <_> + + 0 -1 1776 -2.0304000005125999e-02 + + -3.6400699615478516e-01 1.5338799357414246e-01 + <_> + + 0 -1 1777 2.3529999889433384e-03 + + 3.6164000630378723e-02 -5.9825098514556885e-01 + <_> + + 0 -1 1778 -1.4690000098198652e-03 + + -1.4707699418067932e-01 3.7507998943328857e-01 + <_> + + 0 -1 1779 8.6449999362230301e-03 + + -2.1708500385284424e-01 5.1936799287796021e-01 + <_> + + 0 -1 1780 -2.4326000362634659e-02 + + -1.0846769809722900e+00 1.4084799587726593e-01 + <_> + + 0 -1 1781 7.4418999254703522e-02 + + -1.5513800084590912e-01 1.1822769641876221e+00 + <_> + + 0 -1 1782 1.7077999189496040e-02 + + 4.4231001287698746e-02 9.1561102867126465e-01 + <_> + + 0 -1 1783 -2.4577999487519264e-02 + + -1.5504100322723389e+00 -5.4745998233556747e-02 + <_> + + 0 -1 1784 3.0205000191926956e-02 + + 1.6662800312042236e-01 -1.0001239776611328e+00 + <_> + + 0 -1 1785 1.2136000208556652e-02 + + -7.7079099416732788e-01 -4.8639997839927673e-03 + <_> + + 0 -1 1786 8.6717002093791962e-02 + + 1.1061699688434601e-01 -1.6857999563217163e+00 + <_> + + 0 -1 1787 -4.2309001088142395e-02 + + 1.1075930595397949e+00 -1.5438599884510040e-01 + <_> + + 0 -1 1788 -2.6420000940561295e-03 + + 2.7451899647712708e-01 -1.8456199765205383e-01 + <_> + + 0 -1 1789 -5.6662000715732574e-02 + + -8.0625599622726440e-01 -1.6928000375628471e-02 + <_> + + 0 -1 1790 2.3475000634789467e-02 + + 1.4187699556350708e-01 -2.5500899553298950e-01 + <_> + + 0 -1 1791 -2.0803000777959824e-02 + + 1.9826300442218781e-01 -3.1171199679374695e-01 + <_> + + 0 -1 1792 7.2599998675286770e-03 + + -5.0590999424457550e-02 4.1923800110816956e-01 + <_> + + 0 -1 1793 3.4160000085830688e-01 + + -1.6674900054931641e-01 9.2748600244522095e-01 + <_> + + 0 -1 1794 6.2029999680817127e-03 + + -1.2625899910926819e-01 4.0445300936698914e-01 + <_> + + 0 -1 1795 3.2692000269889832e-02 + + -3.2634999603033066e-02 -9.8939800262451172e-01 + <_> + + 0 -1 1796 2.1100000594742596e-04 + + -6.4534001052379608e-02 2.5473698973655701e-01 + <_> + + 0 -1 1797 7.2100001852959394e-04 + + -3.6618599295616150e-01 1.1973100155591965e-01 + <_> + + 0 -1 1798 5.4490998387336731e-02 + + 1.2073499709367752e-01 -1.0291390419006348e+00 + <_> + + 0 -1 1799 -1.0141000151634216e-02 + + -5.2177202701568604e-01 3.3734999597072601e-02 + <_> + + 0 -1 1800 -1.8815999850630760e-02 + + 6.5181797742843628e-01 1.3399999588727951e-03 + <_> + + 0 -1 1801 -5.3480002097785473e-03 + + 1.7370699346065521e-01 -3.4132000803947449e-01 + <_> + + 0 -1 1802 -1.0847000405192375e-02 + + -1.9699899852275848e-01 1.5045499801635742e-01 + <_> + + 0 -1 1803 -4.9926001578569412e-02 + + -5.0888502597808838e-01 3.0762000009417534e-02 + <_> + + 0 -1 1804 1.2160000391304493e-02 + + -6.9251999258995056e-02 1.8745499849319458e-01 + <_> + + 0 -1 1805 -2.2189998999238014e-03 + + -4.0849098563194275e-01 7.9954996705055237e-02 + <_> + + 0 -1 1806 3.1580000650137663e-03 + + -2.1124599874019623e-01 2.2366400063037872e-01 + <_> + + 0 -1 1807 4.1439998894929886e-03 + + -4.9900299310684204e-01 6.2917001545429230e-02 + <_> + + 0 -1 1808 -7.3730000294744968e-03 + + -2.0553299784660339e-01 2.2096699476242065e-01 + <_> + + 0 -1 1809 5.1812000572681427e-02 + + 1.8096800148487091e-01 -4.3495801091194153e-01 + <_> + + 0 -1 1810 1.8340000882744789e-02 + + 1.5200000256299973e-02 3.7991699576377869e-01 + <_> + + 0 -1 1811 1.7490799725055695e-01 + + -2.0920799672603607e-01 4.0013000369071960e-01 + <_> + + 0 -1 1812 5.3993999958038330e-02 + + 2.4751600623130798e-01 -2.6712900400161743e-01 + <_> + + 0 -1 1813 -3.2033199071884155e-01 + + -1.9094380140304565e+00 -6.6960997879505157e-02 + <_> + + 0 -1 1814 -2.7060000225901604e-02 + + -7.1371299028396606e-01 1.5904599428176880e-01 + <_> + + 0 -1 1815 7.7463999390602112e-02 + + -1.6970199346542358e-01 7.7552998065948486e-01 + <_> + + 0 -1 1816 2.3771999403834343e-02 + + 1.9021899998188019e-01 -6.0162097215652466e-01 + <_> + + 0 -1 1817 1.1501000262796879e-02 + + 7.7039999887347221e-03 -6.1730301380157471e-01 + <_> + + 0 -1 1818 3.2616000622510910e-02 + + 1.7159199714660645e-01 -7.0978200435638428e-01 + <_> + + 0 -1 1819 -4.4383000582456589e-02 + + -2.2606229782104492e+00 -7.3276996612548828e-02 + <_> + + 0 -1 1820 -5.8476001024246216e-02 + + 2.4087750911712646e+00 8.3091996610164642e-02 + <_> + + 0 -1 1821 1.9303999841213226e-02 + + -2.7082300186157227e-01 2.7369999885559082e-01 + <_> + + 0 -1 1822 -4.4705998152494431e-02 + + 3.1355598568916321e-01 -6.2492001801729202e-02 + <_> + + 0 -1 1823 -6.0334999114274979e-02 + + -1.4515119791030884e+00 -5.8761000633239746e-02 + <_> + + 0 -1 1824 1.1667000129818916e-02 + + -1.8084999173879623e-02 5.0479698181152344e-01 + <_> + + 0 -1 1825 2.8009999543428421e-02 + + -2.3302899301052094e-01 3.0708700418472290e-01 + <_> + + 0 -1 1826 6.5397001802921295e-02 + + 1.4135900139808655e-01 -5.0010901689529419e-01 + <_> + + 0 -1 1827 9.6239997074007988e-03 + + -2.2054600715637207e-01 3.9191201329231262e-01 + <_> + + 0 -1 1828 2.5510000996291637e-03 + + -1.1381500214338303e-01 2.0032300055027008e-01 + <_> + + 0 -1 1829 3.1847000122070312e-02 + + 2.5476999580860138e-02 -5.3326398134231567e-01 + <_> + + 0 -1 1830 3.3055000007152557e-02 + + 1.7807699739933014e-01 -6.2793898582458496e-01 + <_> + + 0 -1 1831 4.7600999474525452e-02 + + -1.4747899770736694e-01 1.4204180240631104e+00 + <_> + + 0 -1 1832 -1.9571999087929726e-02 + + -5.2693498134613037e-01 1.5838600695133209e-01 + <_> + + 0 -1 1833 -5.4730001837015152e-02 + + 8.8231599330902100e-01 -1.6627800464630127e-01 + <_> + + 0 -1 1834 -2.2686000913381577e-02 + + -4.8386898636817932e-01 1.5000100433826447e-01 + <_> + + 0 -1 1835 1.0713200271129608e-01 + + -2.1336199343204498e-01 4.2333900928497314e-01 + <_> + + 0 -1 1836 -3.6380000412464142e-02 + + -7.4198000133037567e-02 1.4589400589466095e-01 + <_> + + 0 -1 1837 1.3935999944806099e-02 + + -2.4911600351333618e-01 2.6771199703216553e-01 + <_> + + 0 -1 1838 2.0991999655961990e-02 + + 8.7959999218583107e-03 4.3064999580383301e-01 + <_> + + 0 -1 1839 4.9118999391794205e-02 + + -1.7591999471187592e-01 6.9282901287078857e-01 + <_> + + 0 -1 1840 3.6315999925136566e-02 + + 1.3145299255847931e-01 -3.3597299456596375e-01 + <_> + + 0 -1 1841 4.1228000074625015e-02 + + -4.5692000538110733e-02 -1.3515930175781250e+00 + <_> + + 0 -1 1842 1.5672000125050545e-02 + + 1.7544099688529968e-01 -6.0550000518560410e-02 + <_> + + 0 -1 1843 -1.6286000609397888e-02 + + -1.1308189630508423e+00 -3.9533000439405441e-02 + <_> + + 0 -1 1844 -3.0229999683797359e-03 + + -2.2454300522804260e-01 2.3628099262714386e-01 + <_> + + 0 -1 1845 -1.3786299526691437e-01 + + 4.5376899838447571e-01 -2.1098700165748596e-01 + <_> + + 0 -1 1846 -9.6760001033544540e-03 + + -1.5105099976062775e-01 2.0781700313091278e-01 + <_> + + 0 -1 1847 -2.4839999154210091e-02 + + -6.8350297212600708e-01 -8.0040004104375839e-03 + <_> + + 0 -1 1848 -1.3964399695396423e-01 + + 6.5011298656463623e-01 4.6544000506401062e-02 + <_> + + 0 -1 1849 -8.2153998315334320e-02 + + 4.4887199997901917e-01 -2.3591999709606171e-01 + <_> + + 0 -1 1850 3.8449999410659075e-03 + + -8.8173002004623413e-02 2.7346798777580261e-01 + <_> + + 0 -1 1851 -6.6579999402165413e-03 + + -4.6866598725318909e-01 7.7001996338367462e-02 + <_> + + 0 -1 1852 -1.5898000448942184e-02 + + 2.9268398880958557e-01 -2.1941000595688820e-02 + <_> + + 0 -1 1853 -5.0946000963449478e-02 + + -1.2093789577484131e+00 -4.2109999805688858e-02 + <_> + + 0 -1 1854 1.6837999224662781e-02 + + -4.5595999807119370e-02 5.0180697441101074e-01 + <_> + + 0 -1 1855 1.5918999910354614e-02 + + -2.6904299855232239e-01 2.6516300439834595e-01 + <_> + + 0 -1 1856 3.6309999413788319e-03 + + -1.3046100735664368e-01 3.1807100772857666e-01 + <_> + + 0 -1 1857 -8.6144998669624329e-02 + + 1.9443659782409668e+00 -1.3978299498558044e-01 + <_> + + 0 -1 1858 3.3140998333692551e-02 + + 1.5266799926757812e-01 -3.0866000801324844e-02 + <_> + + 0 -1 1859 -3.9679999463260174e-03 + + -7.1202301979064941e-01 -1.3844000175595284e-02 + <_> + + 0 -1 1860 -2.4008000269532204e-02 + + 9.2007797956466675e-01 4.6723999083042145e-02 + <_> + + 0 -1 1861 8.7320003658533096e-03 + + -2.2567300498485565e-01 3.1931799650192261e-01 + <_> + + 0 -1 1862 -2.7786999940872192e-02 + + -7.2337102890014648e-01 1.7018599808216095e-01 + <_> + + 0 -1 1863 -1.9455300271511078e-01 + + 1.2461860179901123e+00 -1.4736199378967285e-01 + <_> + + 0 -1 1864 -1.0869699716567993e-01 + + -1.4465179443359375e+00 1.2145300209522247e-01 + <_> + + 0 -1 1865 -1.9494999200105667e-02 + + -7.8153097629547119e-01 -2.3732999339699745e-02 + <_> + + 0 -1 1866 3.0650000553578138e-03 + + -8.5471397638320923e-01 1.6686999797821045e-01 + <_> + + 0 -1 1867 5.9193998575210571e-02 + + -1.4853699505329132e-01 1.1273469924926758e+00 + <_> + + 0 -1 1868 -5.4207999259233475e-02 + + 5.4726999998092651e-01 3.5523999482393265e-02 + <_> + + 0 -1 1869 -3.9324998855590820e-02 + + 3.6642599105834961e-01 -2.0543999969959259e-01 + <_> + + 0 -1 1870 8.2278996706008911e-02 + + -3.5007998347282410e-02 5.3994202613830566e-01 + <_> + + 0 -1 1871 -7.4479999020695686e-03 + + -6.1537498235702515e-01 -3.5319998860359192e-03 + <_> + + 0 -1 1872 7.3770000599324703e-03 + + -6.5591000020503998e-02 4.1961398720741272e-01 + <_> + + 0 -1 1873 7.0779998786747456e-03 + + -3.4129500389099121e-01 1.2536799907684326e-01 + <_> + + 0 -1 1874 -1.5581999905407429e-02 + + -3.0240398645401001e-01 2.1511000394821167e-01 + <_> + + 0 -1 1875 -2.7399999089539051e-03 + + 7.6553001999855042e-02 -4.1060501337051392e-01 + <_> + + 0 -1 1876 -7.0600003004074097e-02 + + -9.7356200218200684e-01 1.1241800338029861e-01 + <_> + + 0 -1 1877 -1.1706000193953514e-02 + + 1.8560700118541718e-01 -2.9755198955535889e-01 + <_> + + 0 -1 1878 7.1499997284263372e-04 + + -5.9650000184774399e-02 2.4824699759483337e-01 + <_> + + 0 -1 1879 -3.6866001784801483e-02 + + 3.2751700282096863e-01 -2.3059600591659546e-01 + <_> + + 0 -1 1880 -3.2526999711990356e-02 + + -2.9320299625396729e-01 1.5427699685096741e-01 + <_> + + 0 -1 1881 -7.4813999235630035e-02 + + -1.2143570184707642e+00 -5.2244000136852264e-02 + <_> + + 0 -1 1882 4.1469998657703400e-02 + + 1.3062499463558197e-01 -2.3274369239807129e+00 + <_> + + 0 -1 1883 -2.8880000114440918e-02 + + -6.6074597835540771e-01 -9.0960003435611725e-03 + <_> + + 0 -1 1884 4.6381998807191849e-02 + + 1.6630199551582336e-01 -6.6949498653411865e-01 + <_> + + 0 -1 1885 2.5424998998641968e-01 + + -5.4641999304294586e-02 -1.2676080465316772e+00 + <_> + + 0 -1 1886 2.4000001139938831e-03 + + 2.0276799798011780e-01 1.4667999930679798e-02 + <_> + + 0 -1 1887 -8.2805998623371124e-02 + + -7.8713601827621460e-01 -2.4468999356031418e-02 + <_> + + 0 -1 1888 -1.1438000015914440e-02 + + 2.8623399138450623e-01 -3.0894000083208084e-02 + <_> + + 0 -1 1889 -1.2913399934768677e-01 + + 1.7292929887771606e+00 -1.4293900132179260e-01 + <_> + + 0 -1 1890 3.8552999496459961e-02 + + 1.9232999533414841e-02 3.7732601165771484e-01 + <_> + + 0 -1 1891 1.0191400349140167e-01 + + -7.4533998966217041e-02 -3.3868899345397949e+00 + <_> + + 0 -1 1892 -1.9068000838160515e-02 + + 3.1814101338386536e-01 1.9261000677943230e-02 + <_> + + 0 -1 1893 -6.0775000602006912e-02 + + 7.6936298608779907e-01 -1.7644000053405762e-01 + <_> + + 0 -1 1894 2.4679999798536301e-02 + + 1.8396499752998352e-01 -3.0868801474571228e-01 + <_> + + 0 -1 1895 2.6759000495076180e-02 + + -2.3454900085926056e-01 3.3056598901748657e-01 + <_> + + 0 -1 1896 1.4969999901950359e-02 + + 1.7213599383831024e-01 -1.8248899281024933e-01 + <_> + + 0 -1 1897 2.6142999529838562e-02 + + -4.6463999897241592e-02 -1.1318379640579224e+00 + <_> + + 0 -1 1898 -3.7512000650167465e-02 + + 8.0404001474380493e-01 6.9660000503063202e-02 + <_> + + 0 -1 1899 -5.3229997865855694e-03 + + -8.1884402036666870e-01 -1.8224999308586121e-02 + <_> + + 0 -1 1900 1.7813000828027725e-02 + + 1.4957800507545471e-01 -1.8667200207710266e-01 + <_> + + 0 -1 1901 -3.4010000526905060e-02 + + -7.2852301597595215e-01 -1.6615999862551689e-02 + <_> + + 0 -1 1902 -1.5953000634908676e-02 + + 5.6944000720977783e-01 1.3832000084221363e-02 + <_> + + 0 -1 1903 1.9743999466300011e-02 + + 4.0525000542402267e-02 -4.1773399710655212e-01 + <_> + + 0 -1 1904 -1.0374800115823746e-01 + + -1.9825149774551392e+00 1.1960200220346451e-01 + <_> + + 0 -1 1905 -1.9285000860691071e-02 + + 5.0230598449707031e-01 -1.9745899736881256e-01 + <_> + + 0 -1 1906 -1.2780000455677509e-02 + + 4.0195000171661377e-01 -2.6957999914884567e-02 + <_> + + 0 -1 1907 -1.6352999955415726e-02 + + -7.6608800888061523e-01 -2.4209000170230865e-02 + <_> + + 0 -1 1908 -1.2763699889183044e-01 + + 8.6578500270843506e-01 6.4205996692180634e-02 + <_> + + 0 -1 1909 1.9068999215960503e-02 + + -5.5929797887802124e-01 -1.6880000475794077e-03 + <_> + + 0 -1 1910 3.2480999827384949e-02 + + 4.0722001343965530e-02 4.8925098776817322e-01 + <_> + + 0 -1 1911 9.4849998131394386e-03 + + -1.9231900572776794e-01 5.1139700412750244e-01 + <_> + + 0 -1 1912 5.0470000132918358e-03 + + 1.8706800043582916e-01 -1.6113600134849548e-01 + <_> + + 0 -1 1913 4.1267998516559601e-02 + + -4.8817999660968781e-02 -1.1326299905776978e+00 + <_> + + 0 -1 1914 -7.6358996331691742e-02 + + 1.4169390201568604e+00 8.7319999933242798e-02 + <_> + + 0 -1 1915 -7.2834998369216919e-02 + + 1.3189860582351685e+00 -1.4819100499153137e-01 + <_> + + 0 -1 1916 5.9576999396085739e-02 + + 4.8376999795436859e-02 8.5611802339553833e-01 + <_> + + 0 -1 1917 2.0263999700546265e-02 + + -2.1044099330902100e-01 3.3858999609947205e-01 + <_> + + 0 -1 1918 -8.0301001667976379e-02 + + -1.2464400529861450e+00 1.1857099831104279e-01 + <_> + + 0 -1 1919 -1.7835000529885292e-02 + + 2.5782299041748047e-01 -2.4564799666404724e-01 + <_> + + 0 -1 1920 1.1431000195443630e-02 + + 2.2949799895286560e-01 -2.9497599601745605e-01 + <_> + + 0 -1 1921 -2.5541000068187714e-02 + + -8.6252999305725098e-01 -7.0400000549852848e-04 + <_> + + 0 -1 1922 -7.6899997657164931e-04 + + 3.1511399149894714e-01 -1.4349000155925751e-01 + <_> + + 0 -1 1923 -1.4453999698162079e-02 + + 2.5148499011993408e-01 -2.8232899308204651e-01 + <_> + + 0 -1 1924 8.6730001494288445e-03 + + 2.6601400971412659e-01 -2.8190800547599792e-01 + <_> + 197 + -3.2772979736328125e+00 + + <_> + + 0 -1 1925 5.4708998650312424e-02 + + -5.4144299030303955e-01 6.1043000221252441e-01 + <_> + + 0 -1 1926 -1.0838799923658371e-01 + + 7.1739900112152100e-01 -4.1196098923683167e-01 + <_> + + 0 -1 1927 2.2996999323368073e-02 + + -5.8269798755645752e-01 2.9645600914955139e-01 + <_> + + 0 -1 1928 2.7540000155568123e-03 + + -7.4243897199630737e-01 1.4183300733566284e-01 + <_> + + 0 -1 1929 -2.1520000882446766e-03 + + 1.7879900336265564e-01 -6.8548601865768433e-01 + <_> + + 0 -1 1930 -2.2559000179171562e-02 + + -1.0775549411773682e+00 1.2388999760150909e-01 + <_> + + 0 -1 1931 8.3025000989437103e-02 + + 2.4500999599695206e-02 -1.0251879692077637e+00 + <_> + + 0 -1 1932 -6.6740000620484352e-03 + + -4.5283100008964539e-01 2.1230199933052063e-01 + <_> + + 0 -1 1933 7.6485000550746918e-02 + + -2.6972699165344238e-01 4.8580199480056763e-01 + <_> + + 0 -1 1934 5.4910001344978809e-03 + + -4.8871201276779175e-01 3.1616398692131042e-01 + <_> + + 0 -1 1935 -1.0414999909698963e-02 + + 4.1512900590896606e-01 -3.0044800043106079e-01 + <_> + + 0 -1 1936 2.7607999742031097e-02 + + 1.6203799843788147e-01 -9.9868500232696533e-01 + <_> + + 0 -1 1937 -2.3272000253200531e-02 + + -1.1024399995803833e+00 2.1124999970197678e-02 + <_> + + 0 -1 1938 -5.5619999766349792e-02 + + 6.5033102035522461e-01 -2.7938000857830048e-02 + <_> + + 0 -1 1939 -4.0631998330354691e-02 + + 4.2117300629615784e-01 -2.6763799786567688e-01 + <_> + + 0 -1 1940 -7.3560001328587532e-03 + + 3.5277798771858215e-01 -3.7854000926017761e-01 + <_> + + 0 -1 1941 1.7007000744342804e-02 + + -2.9189500212669373e-01 4.1053798794746399e-01 + <_> + + 0 -1 1942 -3.7034001201391220e-02 + + -1.3216309547424316e+00 1.2966500222682953e-01 + <_> + + 0 -1 1943 -1.9633000716567039e-02 + + -8.7702298164367676e-01 1.0799999581649899e-03 + <_> + + 0 -1 1944 -2.3546999320387840e-02 + + 2.6106101274490356e-01 -2.1481400728225708e-01 + <_> + + 0 -1 1945 -4.3352998793125153e-02 + + -9.9089699983596802e-01 -9.9560003727674484e-03 + <_> + + 0 -1 1946 -2.2183999419212341e-02 + + 6.3454401493072510e-01 -5.6547001004219055e-02 + <_> + + 0 -1 1947 1.6530999913811684e-02 + + 2.4664999917149544e-02 -7.3326802253723145e-01 + <_> + + 0 -1 1948 -3.2744001597166061e-02 + + -5.6297200918197632e-01 1.6640299558639526e-01 + <_> + + 0 -1 1949 7.1415998041629791e-02 + + -3.0000001424923539e-04 -9.3286401033401489e-01 + <_> + + 0 -1 1950 8.0999999772757292e-04 + + -9.5380000770092010e-02 2.5184699892997742e-01 + <_> + + 0 -1 1951 -8.4090000018477440e-03 + + -6.5496802330017090e-01 6.7300997674465179e-02 + <_> + + 0 -1 1952 -1.7254000529646873e-02 + + -4.6492999792098999e-01 1.6070899367332458e-01 + <_> + + 0 -1 1953 -1.8641000613570213e-02 + + -1.0594010353088379e+00 -1.9617000594735146e-02 + <_> + + 0 -1 1954 -9.1979997232556343e-03 + + 5.0716197490692139e-01 -1.5339200198650360e-01 + <_> + + 0 -1 1955 1.8538000062108040e-02 + + -3.0498200654983521e-01 7.3506200313568115e-01 + <_> + + 0 -1 1956 -5.0335001200437546e-02 + + -1.1140480041503906e+00 1.8000100553035736e-01 + <_> + + 0 -1 1957 -2.3529000580310822e-02 + + -8.6907899379730225e-01 -1.2459999881684780e-02 + <_> + + 0 -1 1958 -2.7100000530481339e-02 + + 6.5942901372909546e-01 -3.5323999822139740e-02 + <_> + + 0 -1 1959 6.5879998728632927e-03 + + -2.2953400015830994e-01 4.2425099015235901e-01 + <_> + + 0 -1 1960 2.3360000923275948e-02 + + 1.8356199562549591e-01 -9.8587298393249512e-01 + <_> + + 0 -1 1961 1.2946999631822109e-02 + + -3.3147400617599487e-01 2.1323199570178986e-01 + <_> + + 0 -1 1962 -6.6559999249875546e-03 + + -1.1951400339603424e-01 2.9752799868583679e-01 + <_> + + 0 -1 1963 -2.2570999339222908e-02 + + 3.8499400019645691e-01 -2.4434499442577362e-01 + <_> + + 0 -1 1964 -6.3813999295234680e-02 + + -8.9383500814437866e-01 1.4217500388622284e-01 + <_> + + 0 -1 1965 -4.9945000559091568e-02 + + 5.3864401578903198e-01 -2.0485299825668335e-01 + <_> + + 0 -1 1966 6.8319998681545258e-03 + + -5.6678999215364456e-02 3.9970999956130981e-01 + <_> + + 0 -1 1967 -5.5835999548435211e-02 + + -1.5239470005035400e+00 -5.1183000206947327e-02 + <_> + + 0 -1 1968 3.1957000494003296e-01 + + 7.4574001133441925e-02 1.2447799444198608e+00 + <_> + + 0 -1 1969 8.0955997109413147e-02 + + -1.9665500521659851e-01 5.9889698028564453e-01 + <_> + + 0 -1 1970 -1.4911999925971031e-02 + + -6.4020597934722900e-01 1.5807600319385529e-01 + <_> + + 0 -1 1971 4.6709001064300537e-02 + + 8.5239000618457794e-02 -4.5487201213836670e-01 + <_> + + 0 -1 1972 6.0539999976754189e-03 + + -4.3184000253677368e-01 2.2452600300312042e-01 + <_> + + 0 -1 1973 -3.4375999122858047e-02 + + 4.0202501416206360e-01 -2.3903599381446838e-01 + <_> + + 0 -1 1974 -3.4924000501632690e-02 + + 5.2870100736618042e-01 3.9709001779556274e-02 + <_> + + 0 -1 1975 3.0030000489205122e-03 + + -3.8754299283027649e-01 1.4192600548267365e-01 + <_> + + 0 -1 1976 -1.4132999815046787e-02 + + 8.7528401613235474e-01 8.5507996380329132e-02 + <_> + + 0 -1 1977 -6.7940000444650650e-03 + + -1.1649219989776611e+00 -3.3943001180887222e-02 + <_> + + 0 -1 1978 -5.2886001765727997e-02 + + 1.0930680036544800e+00 5.1187001168727875e-02 + <_> + + 0 -1 1979 -2.1079999860376120e-03 + + 1.3696199655532837e-01 -3.3849999308586121e-01 + <_> + + 0 -1 1980 1.8353000283241272e-02 + + 1.3661600649356842e-01 -4.0777799487113953e-01 + <_> + + 0 -1 1981 1.2671999633312225e-02 + + -1.4936000108718872e-02 -8.1707501411437988e-01 + <_> + + 0 -1 1982 1.2924999929964542e-02 + + 1.7625099420547485e-01 -3.2491698861122131e-01 + <_> + + 0 -1 1983 -1.7921000719070435e-02 + + -5.2745401859283447e-01 4.4443000108003616e-02 + <_> + + 0 -1 1984 1.9160000374540687e-03 + + -1.0978599637746811e-01 2.2067500650882721e-01 + <_> + + 0 -1 1985 -1.4697999693453312e-02 + + 3.9067798852920532e-01 -2.2224999964237213e-01 + <_> + + 0 -1 1986 -1.4972999691963196e-02 + + -2.5450900197029114e-01 1.7790000140666962e-01 + <_> + + 0 -1 1987 1.4636999927461147e-02 + + -2.5125000625848770e-02 -8.7121301889419556e-01 + <_> + + 0 -1 1988 -1.0974000208079815e-02 + + 7.9082798957824707e-01 2.0121000707149506e-02 + <_> + + 0 -1 1989 -9.1599998995661736e-03 + + -4.7906899452209473e-01 5.2232000976800919e-02 + <_> + + 0 -1 1990 4.6179997734725475e-03 + + -1.7244599759578705e-01 3.4527799487113953e-01 + <_> + + 0 -1 1991 2.3476999253034592e-02 + + 3.7760001141577959e-03 -6.5333700180053711e-01 + <_> + + 0 -1 1992 3.1766999512910843e-02 + + 1.6364000737667084e-02 5.8723700046539307e-01 + <_> + + 0 -1 1993 -1.8419999629259109e-02 + + 1.9993899762630463e-01 -3.2056498527526855e-01 + <_> + + 0 -1 1994 1.9543999806046486e-02 + + 1.8450200557708740e-01 -2.3793600499629974e-01 + <_> + + 0 -1 1995 4.1159498691558838e-01 + + -6.0382001101970673e-02 -1.6072119474411011e+00 + <_> + + 0 -1 1996 -4.1595999151468277e-02 + + -3.2756200432777405e-01 1.5058000385761261e-01 + <_> + + 0 -1 1997 -1.0335999540984631e-02 + + -6.2394398450851440e-01 1.3112000189721584e-02 + <_> + + 0 -1 1998 1.2392999604344368e-02 + + -3.3114999532699585e-02 5.5579900741577148e-01 + <_> + + 0 -1 1999 -8.7270000949501991e-03 + + 1.9883200526237488e-01 -3.7635600566864014e-01 + <_> + + 0 -1 2000 1.6295000910758972e-02 + + 2.0373000204563141e-01 -4.2800799012184143e-01 + <_> + + 0 -1 2001 -1.0483999736607075e-02 + + -5.6847000122070312e-01 4.4199001044034958e-02 + <_> + + 0 -1 2002 -1.2431999668478966e-02 + + 7.4641901254653931e-01 4.3678998947143555e-02 + <_> + + 0 -1 2003 -5.0374999642372131e-02 + + 8.5090100765228271e-01 -1.7773799598217010e-01 + <_> + + 0 -1 2004 4.9548000097274780e-02 + + 1.6784900426864624e-01 -2.9877498745918274e-01 + <_> + + 0 -1 2005 -4.1085001081228256e-02 + + -1.3302919864654541e+00 -4.9182001501321793e-02 + <_> + + 0 -1 2006 1.0069999843835831e-03 + + -6.0538999736309052e-02 1.8483200669288635e-01 + <_> + + 0 -1 2007 -5.0142999738454819e-02 + + 7.6447701454162598e-01 -1.8356999754905701e-01 + <_> + + 0 -1 2008 -8.7879998609423637e-03 + + 2.2655999660491943e-01 -6.3156999647617340e-02 + <_> + + 0 -1 2009 -5.0170999020338058e-02 + + -1.5899070501327515e+00 -6.1255000531673431e-02 + <_> + + 0 -1 2010 1.0216099768877029e-01 + + 1.2071800231933594e-01 -1.4120110273361206e+00 + <_> + + 0 -1 2011 -1.4372999779880047e-02 + + -1.3116970062255859e+00 -5.1936000585556030e-02 + <_> + + 0 -1 2012 1.0281999595463276e-02 + + -2.1639999467879534e-03 4.4247201085090637e-01 + <_> + + 0 -1 2013 -1.1814000084996223e-02 + + 6.5378099679946899e-01 -1.8723699450492859e-01 + <_> + + 0 -1 2014 7.2114996612071991e-02 + + 7.1846999228000641e-02 8.1496298313140869e-01 + <_> + + 0 -1 2015 -1.9001999869942665e-02 + + -6.7427200078964233e-01 -4.3200000072829425e-04 + <_> + + 0 -1 2016 -4.6990001574158669e-03 + + 3.3311501145362854e-01 5.5794000625610352e-02 + <_> + + 0 -1 2017 -5.8157000690698624e-02 + + 4.5572298765182495e-01 -2.0305100083351135e-01 + <_> + + 0 -1 2018 1.1360000353306532e-03 + + -4.4686999171972275e-02 2.2681899368762970e-01 + <_> + + 0 -1 2019 -4.9414999783039093e-02 + + 2.6694598793983459e-01 -2.6116999983787537e-01 + <_> + + 0 -1 2020 -1.1913800239562988e-01 + + -8.3017998933792114e-01 1.3248500227928162e-01 + <_> + + 0 -1 2021 -1.8303999677300453e-02 + + -6.7499202489852905e-01 1.7092000693082809e-02 + <_> + + 0 -1 2022 -7.9199997708201408e-03 + + -7.2287000715732574e-02 1.4425800740718842e-01 + <_> + + 0 -1 2023 5.1925998181104660e-02 + + 3.0921999365091324e-02 -5.5860602855682373e-01 + <_> + + 0 -1 2024 6.6724002361297607e-02 + + 1.3666400313377380e-01 -2.9411000013351440e-01 + <_> + + 0 -1 2025 -1.3778000138700008e-02 + + -5.9443902969360352e-01 1.5300000086426735e-02 + <_> + + 0 -1 2026 -1.7760999500751495e-02 + + 4.0496501326560974e-01 -3.3559999428689480e-03 + <_> + + 0 -1 2027 -4.2234998196363449e-02 + + -1.0897940397262573e+00 -4.0224999189376831e-02 + <_> + + 0 -1 2028 -1.3524999842047691e-02 + + 2.8921899199485779e-01 -2.5194799900054932e-01 + <_> + + 0 -1 2029 -1.1106000281870365e-02 + + 6.5312802791595459e-01 -1.8053700029850006e-01 + <_> + + 0 -1 2030 -1.2284599989652634e-01 + + -1.9570649862289429e+00 1.4815400540828705e-01 + <_> + + 0 -1 2031 4.7715999186038971e-02 + + -2.2875599563121796e-01 3.4233701229095459e-01 + <_> + + 0 -1 2032 3.1817000359296799e-02 + + 1.5976299345493317e-01 -1.0091969966888428e+00 + <_> + + 0 -1 2033 4.2570000514388084e-03 + + -3.8881298899650574e-01 8.4210000932216644e-02 + <_> + + 0 -1 2034 -6.1372999101877213e-02 + + 1.7152810096740723e+00 5.9324998408555984e-02 + <_> + + 0 -1 2035 -2.7030000928789377e-03 + + -3.8161700963973999e-01 8.5127003490924835e-02 + <_> + + 0 -1 2036 -6.8544000387191772e-02 + + -3.0925889015197754e+00 1.1788000166416168e-01 + <_> + + 0 -1 2037 1.0372500121593475e-01 + + -1.3769300282001495e-01 1.9009410142898560e+00 + <_> + + 0 -1 2038 1.5799000859260559e-02 + + -6.2660001218318939e-02 2.5917699933052063e-01 + <_> + + 0 -1 2039 -9.8040001466870308e-03 + + -5.6291598081588745e-01 4.3923001736402512e-02 + <_> + + 0 -1 2040 -9.0229995548725128e-03 + + 2.5287100672721863e-01 -4.1225999593734741e-02 + <_> + + 0 -1 2041 -6.3754998147487640e-02 + + -2.6178569793701172e+00 -7.4005998671054840e-02 + <_> + + 0 -1 2042 3.8954999297857285e-02 + + 5.9032998979091644e-02 8.5945600271224976e-01 + <_> + + 0 -1 2043 -3.9802998304367065e-02 + + 9.3600499629974365e-01 -1.5639400482177734e-01 + <_> + + 0 -1 2044 5.0301998853683472e-02 + + 1.3725900650024414e-01 -2.5549728870391846e+00 + <_> + + 0 -1 2045 4.6250000596046448e-02 + + -1.3964000158011913e-02 -7.1026200056076050e-01 + <_> + + 0 -1 2046 6.2196001410484314e-02 + + 5.9526000171899796e-02 1.6509100198745728e+00 + <_> + + 0 -1 2047 -6.4776003360748291e-02 + + 7.1368998289108276e-01 -1.7270000278949738e-01 + <_> + + 0 -1 2048 2.7522999793291092e-02 + + 1.4631600677967072e-01 -8.1428997218608856e-02 + <_> + + 0 -1 2049 3.9900001138448715e-04 + + -3.7144500017166138e-01 1.0152699798345566e-01 + <_> + + 0 -1 2050 -4.3299999088048935e-03 + + -2.3756299912929535e-01 2.6798400282859802e-01 + <_> + + 0 -1 2051 4.7297000885009766e-02 + + -2.7682000771164894e-02 -8.4910297393798828e-01 + <_> + + 0 -1 2052 1.2508999556303024e-02 + + 1.8730199337005615e-01 -5.6001102924346924e-01 + <_> + + 0 -1 2053 4.5899000018835068e-02 + + -1.5601199865341187e-01 9.7073000669479370e-01 + <_> + + 0 -1 2054 1.9853399693965912e-01 + + 1.4895500242710114e-01 -1.1015529632568359e+00 + <_> + + 0 -1 2055 1.6674999147653580e-02 + + -1.6615299880504608e-01 8.2210999727249146e-01 + <_> + + 0 -1 2056 1.9829999655485153e-03 + + -7.1249999105930328e-02 2.8810900449752808e-01 + <_> + + 0 -1 2057 2.2447999566793442e-02 + + -2.0981000736355782e-02 -7.8416502475738525e-01 + <_> + + 0 -1 2058 -1.3913000002503395e-02 + + -1.8165799975395203e-01 2.0491799712181091e-01 + <_> + + 0 -1 2059 -7.7659999951720238e-03 + + -4.5595899224281311e-01 6.3576996326446533e-02 + <_> + + 0 -1 2060 -1.3209000229835510e-02 + + 2.6632300019264221e-01 -1.7795999348163605e-01 + <_> + + 0 -1 2061 4.9052998423576355e-02 + + -1.5476800501346588e-01 1.1069979667663574e+00 + <_> + + 0 -1 2062 2.0263999700546265e-02 + + 6.8915002048015594e-02 6.9867497682571411e-01 + <_> + + 0 -1 2063 -1.6828000545501709e-02 + + 2.7607199549674988e-01 -2.5139200687408447e-01 + <_> + + 0 -1 2064 -1.6939499974250793e-01 + + -3.0767529010772705e+00 1.1617500334978104e-01 + <_> + + 0 -1 2065 -1.1336100101470947e-01 + + -1.4639229774475098e+00 -5.1447000354528427e-02 + <_> + + 0 -1 2066 -7.7685996890068054e-02 + + 8.8430202007293701e-01 4.3306998908519745e-02 + <_> + + 0 -1 2067 -1.5568000264465809e-02 + + 1.3672499358654022e-01 -3.4505501389503479e-01 + <_> + + 0 -1 2068 -6.6018998622894287e-02 + + -1.0300110578536987e+00 1.1601399630308151e-01 + <_> + + 0 -1 2069 8.3699999377131462e-03 + + 7.6429001986980438e-02 -4.4002500176429749e-01 + <_> + + 0 -1 2070 3.5402998328208923e-02 + + 1.1979500204324722e-01 -7.2668302059173584e-01 + <_> + + 0 -1 2071 -3.9051000028848648e-02 + + 6.7375302314758301e-01 -1.8196000158786774e-01 + <_> + + 0 -1 2072 -9.7899995744228363e-03 + + 2.1264599263668060e-01 3.6756001412868500e-02 + <_> + + 0 -1 2073 -2.3047000169754028e-02 + + 4.4742199778556824e-01 -2.0986700057983398e-01 + <_> + + 0 -1 2074 3.1169999856501818e-03 + + 3.7544000893831253e-02 2.7808201313018799e-01 + <_> + + 0 -1 2075 1.3136000372469425e-02 + + -1.9842399656772614e-01 5.4335701465606689e-01 + <_> + + 0 -1 2076 1.4782000333070755e-02 + + 1.3530600070953369e-01 -1.1153600364923477e-01 + <_> + + 0 -1 2077 -6.0139000415802002e-02 + + 8.4039300680160522e-01 -1.6711600124835968e-01 + <_> + + 0 -1 2078 5.1998998969793320e-02 + + 1.7372000217437744e-01 -7.8547602891921997e-01 + <_> + + 0 -1 2079 2.4792000651359558e-02 + + -1.7739200592041016e-01 6.6752600669860840e-01 + <_> + + 0 -1 2080 -1.2014999985694885e-02 + + -1.4263699948787689e-01 1.6070500016212463e-01 + <_> + + 0 -1 2081 -9.8655998706817627e-02 + + 1.0429769754409790e+00 -1.5770199894905090e-01 + <_> + + 0 -1 2082 1.1758299916982651e-01 + + 1.0955700278282166e-01 -4.4920377731323242e+00 + <_> + + 0 -1 2083 -1.8922999501228333e-02 + + -7.8543400764465332e-01 1.2984000146389008e-02 + <_> + + 0 -1 2084 -2.8390999883413315e-02 + + -6.0569900274276733e-01 1.2903499603271484e-01 + <_> + + 0 -1 2085 1.3182999566197395e-02 + + -1.4415999874472618e-02 -7.3210501670837402e-01 + <_> + + 0 -1 2086 -1.1653000116348267e-01 + + -2.0442469120025635e+00 1.4053100347518921e-01 + <_> + + 0 -1 2087 -3.8880000356584787e-03 + + -4.1861599683761597e-01 7.8704997897148132e-02 + <_> + + 0 -1 2088 3.1229000538587570e-02 + + 2.4632999673485756e-02 4.1870400309562683e-01 + <_> + + 0 -1 2089 2.5198999792337418e-02 + + -1.7557799816131592e-01 6.4710599184036255e-01 + <_> + + 0 -1 2090 -2.8124000877141953e-02 + + -2.2005599737167358e-01 1.4121000468730927e-01 + <_> + + 0 -1 2091 3.6499001085758209e-02 + + -6.8426996469497681e-02 -2.3410849571228027e+00 + <_> + + 0 -1 2092 -7.2292998433113098e-02 + + 1.2898750305175781e+00 8.4875002503395081e-02 + <_> + + 0 -1 2093 -4.1671000421047211e-02 + + -1.1630970239639282e+00 -5.3752999752759933e-02 + <_> + + 0 -1 2094 4.7703001648187637e-02 + + 7.0101000368595123e-02 7.3676502704620361e-01 + <_> + + 0 -1 2095 6.5793000161647797e-02 + + -1.7755299806594849e-01 6.9780498743057251e-01 + <_> + + 0 -1 2096 1.3904999941587448e-02 + + 2.1936799585819244e-01 -2.0390799641609192e-01 + <_> + + 0 -1 2097 -2.7730999514460564e-02 + + 6.1867898702621460e-01 -1.7804099619388580e-01 + <_> + + 0 -1 2098 -1.5879999846220016e-02 + + -4.6484100818634033e-01 1.8828600645065308e-01 + <_> + + 0 -1 2099 7.4128001928329468e-02 + + -1.2858100235462189e-01 3.2792479991912842e+00 + <_> + + 0 -1 2100 -8.9000002481043339e-04 + + -3.0117601156234741e-01 2.3818799853324890e-01 + <_> + + 0 -1 2101 1.7965000122785568e-02 + + -2.2284999489784241e-01 2.9954001307487488e-01 + <_> + + 0 -1 2102 -2.5380000006407499e-03 + + 2.5064399838447571e-01 -1.3665600121021271e-01 + <_> + + 0 -1 2103 -9.0680001303553581e-03 + + 2.9017499089241028e-01 -2.8929701447486877e-01 + <_> + + 0 -1 2104 4.9169998615980148e-02 + + 1.9156399369239807e-01 -6.8328702449798584e-01 + <_> + + 0 -1 2105 -3.0680999159812927e-02 + + -7.5677001476287842e-01 -1.3279999606311321e-02 + <_> + + 0 -1 2106 1.0017400234937668e-01 + + 8.4453999996185303e-02 1.0888710021972656e+00 + <_> + + 0 -1 2107 3.1950001139193773e-03 + + -2.6919400691986084e-01 1.9537900388240814e-01 + <_> + + 0 -1 2108 3.5503000020980835e-02 + + 1.3632300496101379e-01 -5.6917202472686768e-01 + <_> + + 0 -1 2109 4.5900000259280205e-04 + + -4.0443998575210571e-01 1.4074799418449402e-01 + <_> + + 0 -1 2110 2.5258999317884445e-02 + + 1.6243200004100800e-01 -5.5741798877716064e-01 + <_> + + 0 -1 2111 -5.1549999043345451e-03 + + 3.1132599711418152e-01 -2.2756099700927734e-01 + <_> + + 0 -1 2112 1.5869999770075083e-03 + + -2.6867699623107910e-01 1.9565400481224060e-01 + <_> + + 0 -1 2113 -1.6204999759793282e-02 + + 1.5486499667167664e-01 -3.4057798981666565e-01 + <_> + + 0 -1 2114 -2.9624000191688538e-02 + + 1.1466799974441528e+00 9.0557999908924103e-02 + <_> + + 0 -1 2115 -1.5930000226944685e-03 + + -7.1257501840591431e-01 -7.0400000549852848e-04 + <_> + + 0 -1 2116 -5.4019000381231308e-02 + + 4.1537499427795410e-01 2.7246000245213509e-02 + <_> + + 0 -1 2117 -6.6211000084877014e-02 + + -1.3340090513229370e+00 -4.7352999448776245e-02 + <_> + + 0 -1 2118 2.7940999716520309e-02 + + 1.4446300268173218e-01 -5.1518398523330688e-01 + <_> + + 0 -1 2119 2.8957000002264977e-02 + + -4.9966000020503998e-02 -1.1929039955139160e+00 + <_> + + 0 -1 2120 -2.0424999296665192e-02 + + 6.3881301879882812e-01 3.8141001015901566e-02 + <_> + + 0 -1 2121 1.2416999787092209e-02 + + -2.1547000110149384e-01 4.9477699398994446e-01 + <_> + 181 + -3.3196411132812500e+00 + + <_> + + 0 -1 2122 4.3274000287055969e-02 + + -8.0494397878646851e-01 3.9897298812866211e-01 + <_> + + 0 -1 2123 1.8615500628948212e-01 + + -3.1655299663543701e-01 6.8877297639846802e-01 + <_> + + 0 -1 2124 3.1860999763011932e-02 + + -6.4266198873519897e-01 2.5550898909568787e-01 + <_> + + 0 -1 2125 1.4022000133991241e-02 + + -4.5926600694656372e-01 3.1171199679374695e-01 + <_> + + 0 -1 2126 -6.3029997982084751e-03 + + 4.6026900410652161e-01 -2.7438500523567200e-01 + <_> + + 0 -1 2127 -5.4310001432895660e-03 + + 3.6608600616455078e-01 -2.7205801010131836e-01 + <_> + + 0 -1 2128 1.6822999343276024e-02 + + 2.3476999253034592e-02 -8.8443797826766968e-01 + <_> + + 0 -1 2129 2.6039000600576401e-02 + + 1.7488799989223480e-01 -5.4564702510833740e-01 + <_> + + 0 -1 2130 -2.6720000430941582e-02 + + -9.6396499872207642e-01 2.3524999618530273e-02 + <_> + + 0 -1 2131 -1.7041999846696854e-02 + + -7.0848798751831055e-01 2.1468099951744080e-01 + <_> + + 0 -1 2132 5.9569999575614929e-03 + + 7.3601000010967255e-02 -6.8225598335266113e-01 + <_> + + 0 -1 2133 -2.8679999522864819e-03 + + -7.4935001134872437e-01 2.3803399503231049e-01 + <_> + + 0 -1 2134 -4.3774999678134918e-02 + + 6.8323302268981934e-01 -2.1380299329757690e-01 + <_> + + 0 -1 2135 5.1633000373840332e-02 + + -1.2566499412059784e-01 6.7523801326751709e-01 + <_> + + 0 -1 2136 8.1780003383755684e-03 + + 7.0689998567104340e-02 -8.0665898323059082e-01 + <_> + + 0 -1 2137 -5.2841998636722565e-02 + + 9.5433902740478516e-01 1.6548000276088715e-02 + <_> + + 0 -1 2138 5.2583999931812286e-02 + + -2.8414401412010193e-01 4.7129800915718079e-01 + <_> + + 0 -1 2139 -1.2659000232815742e-02 + + 3.8445401191711426e-01 -6.2288001179695129e-02 + <_> + + 0 -1 2140 1.1694000102579594e-02 + + 5.6000000768108293e-05 -1.0173139572143555e+00 + <_> + + 0 -1 2141 -2.3918999359011650e-02 + + 8.4921300411224365e-01 5.7399999350309372e-03 + <_> + + 0 -1 2142 -6.1673998832702637e-02 + + -9.2571401596069336e-01 -1.7679999582469463e-03 + <_> + + 0 -1 2143 -1.8279999494552612e-03 + + -5.4372298717498779e-01 2.4932399392127991e-01 + <_> + + 0 -1 2144 3.5257998853921890e-02 + + -7.3719997890293598e-03 -9.3963998556137085e-01 + <_> + + 0 -1 2145 -1.8438000231981277e-02 + + 7.2136700153350830e-01 1.0491999797523022e-02 + <_> + + 0 -1 2146 -3.8389001041650772e-02 + + 1.9272600114345551e-01 -3.5832101106643677e-01 + <_> + + 0 -1 2147 9.9720999598503113e-02 + + 1.1354199796915054e-01 -1.6304190158843994e+00 + <_> + + 0 -1 2148 8.4462001919746399e-02 + + -5.3420998156070709e-02 -1.6981120109558105e+00 + <_> + + 0 -1 2149 4.0270000696182251e-02 + + -1.0783199965953827e-01 5.1926600933074951e-01 + <_> + + 0 -1 2150 5.8935999870300293e-02 + + -1.8053700029850006e-01 9.5119798183441162e-01 + <_> + + 0 -1 2151 1.4957000315189362e-01 + + 1.6785299777984619e-01 -1.1591869592666626e+00 + <_> + + 0 -1 2152 6.9399998756125569e-04 + + 2.0491400361061096e-01 -3.3118200302124023e-01 + <_> + + 0 -1 2153 -3.3369001001119614e-02 + + 9.3468099832534790e-01 -2.9639999847859144e-03 + <_> + + 0 -1 2154 9.3759996816515923e-03 + + 3.7000000011175871e-03 -7.7549797296524048e-01 + <_> + + 0 -1 2155 4.3193999677896500e-02 + + -2.2040000185370445e-03 7.4589699506759644e-01 + <_> + + 0 -1 2156 -6.7555002868175507e-02 + + 7.2292101383209229e-01 -1.8404200673103333e-01 + <_> + + 0 -1 2157 -3.1168600916862488e-01 + + 1.0014270544052124e+00 3.4003000706434250e-02 + <_> + + 0 -1 2158 2.9743999242782593e-02 + + -4.6356000006198883e-02 -1.2781809568405151e+00 + <_> + + 0 -1 2159 1.0737000033259392e-02 + + 1.4812000095844269e-02 6.6649997234344482e-01 + <_> + + 0 -1 2160 -2.8841000050306320e-02 + + -9.4222599267959595e-01 -2.0796999335289001e-02 + <_> + + 0 -1 2161 -5.7649998925626278e-03 + + -4.3541899323463440e-01 2.3386000096797943e-01 + <_> + + 0 -1 2162 2.8410999104380608e-02 + + -1.7615799605846405e-01 8.5765302181243896e-01 + <_> + + 0 -1 2163 -2.9007999226450920e-02 + + 5.7978099584579468e-01 2.8565999120473862e-02 + <_> + + 0 -1 2164 2.4965999647974968e-02 + + -2.2729000076651573e-02 -9.6773099899291992e-01 + <_> + + 0 -1 2165 1.2036000378429890e-02 + + -1.4214700460433960e-01 5.1687997579574585e-01 + <_> + + 0 -1 2166 -4.2514000087976456e-02 + + 9.7273802757263184e-01 -1.8119800090789795e-01 + <_> + + 0 -1 2167 1.0276000015437603e-02 + + -8.3099998533725739e-02 3.1762799620628357e-01 + <_> + + 0 -1 2168 -6.9191999733448029e-02 + + -2.0668580532073975e+00 -6.0173999518156052e-02 + <_> + + 0 -1 2169 -4.6769999898970127e-03 + + 4.4131800532341003e-01 2.3209000006318092e-02 + <_> + + 0 -1 2170 -1.3923999853432178e-02 + + 2.8606700897216797e-01 -2.9152700304985046e-01 + <_> + + 0 -1 2171 -1.5333999879658222e-02 + + -5.7414501905441284e-01 2.3063300549983978e-01 + <_> + + 0 -1 2172 -1.0239000432193279e-02 + + 3.4479200839996338e-01 -2.6080399751663208e-01 + <_> + + 0 -1 2173 -5.0988998264074326e-02 + + 5.6154102087020874e-01 6.1218999326229095e-02 + <_> + + 0 -1 2174 3.0689999461174011e-02 + + -1.4772799611091614e-01 1.6378489732742310e+00 + <_> + + 0 -1 2175 -1.1223999783396721e-02 + + 2.4006199836730957e-01 -4.4864898920059204e-01 + <_> + + 0 -1 2176 -6.2899999320507050e-03 + + 4.3119499087333679e-01 -2.3808999359607697e-01 + <_> + + 0 -1 2177 7.8590996563434601e-02 + + 1.9865000620484352e-02 8.0853801965713501e-01 + <_> + + 0 -1 2178 -1.0178999975323677e-02 + + 1.8193200230598450e-01 -3.2877799868583679e-01 + <_> + + 0 -1 2179 3.1227000057697296e-02 + + 1.4973899722099304e-01 -1.4180339574813843e+00 + <_> + + 0 -1 2180 4.0196999907493591e-02 + + -1.9760499894618988e-01 5.8508199453353882e-01 + <_> + + 0 -1 2181 1.6138000413775444e-02 + + 5.0000002374872565e-04 3.9050000905990601e-01 + <_> + + 0 -1 2182 -4.5519001781940460e-02 + + 1.2646820545196533e+00 -1.5632599592208862e-01 + <_> + + 0 -1 2183 -1.8130000680685043e-02 + + 6.5148502588272095e-01 1.0235999710857868e-02 + <_> + + 0 -1 2184 -1.4001999981701374e-02 + + -1.0344820022583008e+00 -3.2182998955249786e-02 + <_> + + 0 -1 2185 -3.8816001266241074e-02 + + -4.7874298691749573e-01 1.6290700435638428e-01 + <_> + + 0 -1 2186 3.1656000763177872e-02 + + -2.0983399450778961e-01 5.4575902223587036e-01 + <_> + + 0 -1 2187 -1.0839999653398991e-02 + + 5.1898801326751709e-01 -1.5080000273883343e-02 + <_> + + 0 -1 2188 1.2032999657094479e-02 + + -2.1107600629329681e-01 7.5937002897262573e-01 + <_> + + 0 -1 2189 7.0772998034954071e-02 + + 1.8048800528049469e-01 -7.4048501253128052e-01 + <_> + + 0 -1 2190 5.3139799833297729e-01 + + -1.4491699635982513e-01 1.5360039472579956e+00 + <_> + + 0 -1 2191 -1.4774000272154808e-02 + + -2.8153699636459351e-01 2.0407299697399139e-01 + <_> + + 0 -1 2192 -2.2410000674426556e-03 + + -4.4876301288604736e-01 5.3989000618457794e-02 + <_> + + 0 -1 2193 4.9968000501394272e-02 + + 4.1514001786708832e-02 2.9417100548744202e-01 + <_> + + 0 -1 2194 -4.7701999545097351e-02 + + 3.9674299955368042e-01 -2.8301799297332764e-01 + <_> + + 0 -1 2195 -9.1311000287532806e-02 + + 2.1994259357452393e+00 8.7964996695518494e-02 + <_> + + 0 -1 2196 3.8070000708103180e-02 + + -2.8025600314140320e-01 2.5156199932098389e-01 + <_> + + 0 -1 2197 -1.5538999810814857e-02 + + 3.4157499670982361e-01 1.7924999818205833e-02 + <_> + + 0 -1 2198 -1.5445999801158905e-02 + + 2.8680199384689331e-01 -2.5135898590087891e-01 + <_> + + 0 -1 2199 -5.7388000190258026e-02 + + 6.3830000162124634e-01 8.8597998023033142e-02 + <_> + + 0 -1 2200 -5.9440000914037228e-03 + + 7.9016998410224915e-02 -4.0774899721145630e-01 + <_> + + 0 -1 2201 -6.9968998432159424e-02 + + -4.4644200801849365e-01 1.7219600081443787e-01 + <_> + + 0 -1 2202 -2.5064999237656593e-02 + + -9.8270201683044434e-01 -3.5388000309467316e-02 + <_> + + 0 -1 2203 1.7216000705957413e-02 + + 2.2705900669097900e-01 -8.0550098419189453e-01 + <_> + + 0 -1 2204 -4.4279001653194427e-02 + + 8.3951997756958008e-01 -1.7429600656032562e-01 + <_> + + 0 -1 2205 4.3988998979330063e-02 + + 1.1557199805974960e-01 -1.9666889905929565e+00 + <_> + + 0 -1 2206 1.5907000750303268e-02 + + -3.7576001137495041e-02 -1.0311100482940674e+00 + <_> + + 0 -1 2207 -9.2754997313022614e-02 + + -1.3530019521713257e+00 1.2141299992799759e-01 + <_> + + 0 -1 2208 7.1037001907825470e-02 + + -1.7684300243854523e-01 7.4485200643539429e-01 + <_> + + 0 -1 2209 5.7762000709772110e-02 + + 1.2835599482059479e-01 -4.4444200396537781e-01 + <_> + + 0 -1 2210 -1.6432000324130058e-02 + + 8.0152702331542969e-01 -1.7491699755191803e-01 + <_> + + 0 -1 2211 2.3939000442624092e-02 + + 1.6144999861717224e-01 -1.2364500015974045e-01 + <_> + + 0 -1 2212 1.2636000290513039e-02 + + 1.5411999821662903e-01 -3.3293798565864563e-01 + <_> + + 0 -1 2213 -5.4347999393939972e-02 + + -1.8400700092315674e+00 1.4835999906063080e-01 + <_> + + 0 -1 2214 -1.3261999934911728e-02 + + -8.0838799476623535e-01 -2.7726000174880028e-02 + <_> + + 0 -1 2215 6.1340001411736012e-03 + + -1.3785000145435333e-01 3.2858499884605408e-01 + <_> + + 0 -1 2216 2.8991000726819038e-02 + + -2.5516999885439873e-02 -8.3387202024459839e-01 + <_> + + 0 -1 2217 -2.1986000239849091e-02 + + -7.3739999532699585e-01 1.7887100577354431e-01 + <_> + + 0 -1 2218 5.3269998170435429e-03 + + -4.5449298620223999e-01 6.8791002035140991e-02 + <_> + + 0 -1 2219 8.6047999560832977e-02 + + 2.1008500456809998e-01 -3.7808901071548462e-01 + <_> + + 0 -1 2220 -8.5549997165799141e-03 + + 4.0134999155998230e-01 -2.1074099838733673e-01 + <_> + + 0 -1 2221 6.7790001630783081e-03 + + -2.1648999303579330e-02 4.5421499013900757e-01 + <_> + + 0 -1 2222 -6.3959998078644276e-03 + + -4.9818599224090576e-01 7.5907997786998749e-02 + <_> + + 0 -1 2223 8.9469999074935913e-03 + + 1.7857700586318970e-01 -2.8454899787902832e-01 + <_> + + 0 -1 2224 3.2589999027550220e-03 + + 4.6624999493360519e-02 -5.5206298828125000e-01 + <_> + + 0 -1 2225 4.1476998478174210e-02 + + 1.7550499737262726e-01 -2.0703999698162079e-01 + <_> + + 0 -1 2226 -6.7449999041855335e-03 + + -4.6392598748207092e-01 6.9303996860980988e-02 + <_> + + 0 -1 2227 3.0564999207854271e-02 + + 5.1734998822212219e-02 7.5550502538681030e-01 + <_> + + 0 -1 2228 -7.4780001305043697e-03 + + 1.4893899857997894e-01 -3.1906801462173462e-01 + <_> + + 0 -1 2229 8.9088998734951019e-02 + + 1.3738800585269928e-01 -1.1379710435867310e+00 + <_> + + 0 -1 2230 7.3230001144111156e-03 + + -2.8829199075698853e-01 1.9088600575923920e-01 + <_> + + 0 -1 2231 -1.8205000087618828e-02 + + -3.0178600549697876e-01 1.6795800626277924e-01 + <_> + + 0 -1 2232 -2.5828000158071518e-02 + + -9.8137998580932617e-01 -1.9860999658703804e-02 + <_> + + 0 -1 2233 1.0936199873685837e-01 + + 4.8790000379085541e-02 5.3118300437927246e-01 + <_> + + 0 -1 2234 -1.1424999684095383e-02 + + 2.3705999553203583e-01 -2.7925300598144531e-01 + <_> + + 0 -1 2235 -5.7565998286008835e-02 + + 4.7255399823188782e-01 6.5171003341674805e-02 + <_> + + 0 -1 2236 1.0278300195932388e-01 + + -2.0765100419521332e-01 5.0947701930999756e-01 + <_> + + 0 -1 2237 2.7041999623179436e-02 + + 1.6421200335025787e-01 -1.4508620500564575e+00 + <_> + + 0 -1 2238 -1.3635000213980675e-02 + + -5.6543898582458496e-01 2.3788999766111374e-02 + <_> + + 0 -1 2239 -3.2158198952674866e-01 + + -3.5602829456329346e+00 1.1801300197839737e-01 + <_> + + 0 -1 2240 2.0458100736141205e-01 + + -3.7016000598669052e-02 -1.0225499868392944e+00 + <_> + + 0 -1 2241 -7.0347003638744354e-02 + + -5.6491899490356445e-01 1.8525199592113495e-01 + <_> + + 0 -1 2242 3.7831000983715057e-02 + + -2.9901999980211258e-02 -8.2921499013900757e-01 + <_> + + 0 -1 2243 -7.0298001170158386e-02 + + -5.3172302246093750e-01 1.4430199563503265e-01 + <_> + + 0 -1 2244 6.3221000134944916e-02 + + -2.2041200101375580e-01 4.7952198982238770e-01 + <_> + + 0 -1 2245 3.6393001675605774e-02 + + 1.4222699403762817e-01 -6.1193901300430298e-01 + <_> + + 0 -1 2246 4.0099998004734516e-03 + + -3.4560799598693848e-01 1.1738699674606323e-01 + <_> + + 0 -1 2247 -4.9106001853942871e-02 + + 9.5984101295471191e-01 6.4934998750686646e-02 + <_> + + 0 -1 2248 -7.1583002805709839e-02 + + 1.7385669946670532e+00 -1.4252899587154388e-01 + <_> + + 0 -1 2249 -3.8008999079465866e-02 + + 1.3872820138931274e+00 6.6188000142574310e-02 + <_> + + 0 -1 2250 -3.1570000573992729e-03 + + 5.3677000105381012e-02 -5.4048001766204834e-01 + <_> + + 0 -1 2251 1.9458999857306480e-02 + + -9.3620002269744873e-02 3.9131000638008118e-01 + <_> + + 0 -1 2252 1.1293999850749969e-02 + + 3.7223998457193375e-02 -5.4251801967620850e-01 + <_> + + 0 -1 2253 -3.3495001494884491e-02 + + 9.5307898521423340e-01 3.7696998566389084e-02 + <_> + + 0 -1 2254 9.2035003006458282e-02 + + -1.3488399982452393e-01 2.2897069454193115e+00 + <_> + + 0 -1 2255 3.7529999390244484e-03 + + 2.2824199497699738e-01 -5.9983700513839722e-01 + <_> + + 0 -1 2256 1.2848000042140484e-02 + + -2.2005200386047363e-01 3.7221899628639221e-01 + <_> + + 0 -1 2257 -1.4316199719905853e-01 + + 1.2855789661407471e+00 4.7237001359462738e-02 + <_> + + 0 -1 2258 -9.6879996359348297e-02 + + -3.9550929069519043e+00 -7.2903998196125031e-02 + <_> + + 0 -1 2259 -8.8459998369216919e-03 + + 3.7674999237060547e-01 -4.6484000980854034e-02 + <_> + + 0 -1 2260 1.5900000929832458e-02 + + -2.4457000195980072e-02 -8.0034798383712769e-01 + <_> + + 0 -1 2261 7.0372000336647034e-02 + + 1.7019000649452209e-01 -6.3068997859954834e-01 + <_> + + 0 -1 2262 -3.7953998893499374e-02 + + -9.3667197227478027e-01 -4.1214000433683395e-02 + <_> + + 0 -1 2263 5.1597899198532104e-01 + + 1.3080599904060364e-01 -1.5802290439605713e+00 + <_> + + 0 -1 2264 -3.2843001186847687e-02 + + -1.1441620588302612e+00 -4.9173999577760696e-02 + <_> + + 0 -1 2265 -3.6357000470161438e-02 + + 4.9606400728225708e-01 -3.4458998590707779e-02 + <_> + + 0 -1 2266 6.8080001510679722e-03 + + -3.0997800827026367e-01 1.7054800689220428e-01 + <_> + + 0 -1 2267 -1.6114000231027603e-02 + + -3.7904599308967590e-01 1.6078999638557434e-01 + <_> + + 0 -1 2268 8.4530003368854523e-03 + + -1.8655499815940857e-01 5.6367701292037964e-01 + <_> + + 0 -1 2269 -1.3752399384975433e-01 + + -5.8989900350570679e-01 1.1749500036239624e-01 + <_> + + 0 -1 2270 1.7688000202178955e-01 + + -1.5424899756908417e-01 9.2911100387573242e-01 + <_> + + 0 -1 2271 7.9309996217489243e-03 + + 3.2190701365470886e-01 -1.6392600536346436e-01 + <_> + + 0 -1 2272 1.0971800237894058e-01 + + -1.5876500308513641e-01 1.0186259746551514e+00 + <_> + + 0 -1 2273 -3.0293000862002373e-02 + + 7.5587302446365356e-01 3.1794998794794083e-02 + <_> + + 0 -1 2274 -2.3118000477552414e-02 + + -8.8451498746871948e-01 -9.5039997249841690e-03 + <_> + + 0 -1 2275 -3.0900000128895044e-03 + + 2.3838299512863159e-01 -1.1606200039386749e-01 + <_> + + 0 -1 2276 -3.3392000943422318e-02 + + -1.8738139867782593e+00 -6.8502999842166901e-02 + <_> + + 0 -1 2277 1.3190000317990780e-02 + + 1.2919899821281433e-01 -6.7512202262878418e-01 + <_> + + 0 -1 2278 1.4661000110208988e-02 + + -2.4829000234603882e-02 -7.4396800994873047e-01 + <_> + + 0 -1 2279 -1.3248000293970108e-02 + + 4.6820199489593506e-01 -2.4165000766515732e-02 + <_> + + 0 -1 2280 -1.6218999400734901e-02 + + 4.0083798766136169e-01 -2.1255700290203094e-01 + <_> + + 0 -1 2281 -2.9052000492811203e-02 + + -1.5650019645690918e+00 1.4375899732112885e-01 + <_> + + 0 -1 2282 -1.0153199732303619e-01 + + -1.9220689535140991e+00 -6.9559998810291290e-02 + <_> + + 0 -1 2283 3.7753999233245850e-02 + + 1.3396799564361572e-01 -2.2639141082763672e+00 + <_> + + 0 -1 2284 -2.8555598855018616e-01 + + 1.0215270519256592e+00 -1.5232199430465698e-01 + <_> + + 0 -1 2285 1.5360699594020844e-01 + + -9.7409002482891083e-02 4.1662400960922241e-01 + <_> + + 0 -1 2286 -2.1199999901000410e-04 + + 1.1271899938583374e-01 -4.1653999686241150e-01 + <_> + + 0 -1 2287 -2.0597999915480614e-02 + + 6.0540497303009033e-01 6.2467999756336212e-02 + <_> + + 0 -1 2288 3.7353999912738800e-02 + + -1.8919000029563904e-01 4.6464699506759644e-01 + <_> + + 0 -1 2289 5.7275000959634781e-02 + + 1.1565300077199936e-01 -1.3213009834289551e+00 + <_> + + 0 -1 2290 5.1029999740421772e-03 + + -2.8061500191688538e-01 1.9313399493694305e-01 + <_> + + 0 -1 2291 -5.4644998162984848e-02 + + 7.2428500652313232e-01 7.5447998940944672e-02 + <_> + + 0 -1 2292 2.5349000468850136e-02 + + -1.9481800496578217e-01 4.6032801270484924e-01 + <_> + + 0 -1 2293 2.4311000481247902e-02 + + 1.5564100444316864e-01 -4.9913901090621948e-01 + <_> + + 0 -1 2294 3.5962000489234924e-02 + + -5.8573000133037567e-02 -1.5418399572372437e+00 + <_> + + 0 -1 2295 -1.0000699758529663e-01 + + -1.6100039482116699e+00 1.1450500041246414e-01 + <_> + + 0 -1 2296 8.4435999393463135e-02 + + -6.1406999826431274e-02 -1.4673349857330322e+00 + <_> + + 0 -1 2297 1.5947999432682991e-02 + + 1.6287900507450104e-01 -1.1026400327682495e-01 + <_> + + 0 -1 2298 3.3824000507593155e-02 + + -1.7932699620723724e-01 5.7218402624130249e-01 + <_> + + 0 -1 2299 -6.1996001750230789e-02 + + 4.6511812210083008e+00 9.4534002244472504e-02 + <_> + + 0 -1 2300 6.9876998662948608e-02 + + -1.6985900700092316e-01 8.7028998136520386e-01 + <_> + + 0 -1 2301 -2.7916999533772469e-02 + + 9.1042500734329224e-01 5.6827001273632050e-02 + <_> + + 0 -1 2302 -1.2764000333845615e-02 + + 2.2066700458526611e-01 -2.7769100666046143e-01 + <_> + 199 + -3.2573320865631104e+00 + + <_> + + 0 -1 2303 2.1662000566720963e-02 + + -8.9868897199630737e-01 2.9436299204826355e-01 + <_> + + 0 -1 2304 1.0044500231742859e-01 + + -3.7659201025962830e-01 6.0891002416610718e-01 + <_> + + 0 -1 2305 2.6003999635577202e-02 + + -3.8128501176834106e-01 3.9217400550842285e-01 + <_> + + 0 -1 2306 2.8441000729799271e-02 + + -1.8182300031185150e-01 5.8927202224731445e-01 + <_> + + 0 -1 2307 3.8612000644207001e-02 + + -2.2399599850177765e-01 6.3779997825622559e-01 + <_> + + 0 -1 2308 -4.6594999730587006e-02 + + 7.0812201499938965e-01 -1.4666199684143066e-01 + <_> + + 0 -1 2309 -4.2791999876499176e-02 + + 4.7680398821830750e-01 -2.9233199357986450e-01 + <_> + + 0 -1 2310 3.7960000336170197e-03 + + -1.8510299921035767e-01 5.2626699209213257e-01 + <_> + + 0 -1 2311 4.2348999530076981e-02 + + 3.9244998246431351e-02 -8.9197701215744019e-01 + <_> + + 0 -1 2312 1.9598999992012978e-02 + + -2.3358400166034698e-01 4.4146499037742615e-01 + <_> + + 0 -1 2313 8.7400001939386129e-04 + + -4.6063598990440369e-01 1.7689600586891174e-01 + <_> + + 0 -1 2314 -4.3629999272525311e-03 + + 3.3493199944496155e-01 -2.9893401265144348e-01 + <_> + + 0 -1 2315 1.6973000019788742e-02 + + -1.6408699750900269e-01 1.5993679761886597e+00 + <_> + + 0 -1 2316 3.6063998937606812e-02 + + 2.2601699829101562e-01 -5.3186100721359253e-01 + <_> + + 0 -1 2317 -7.0864997804164886e-02 + + 1.5220500528812408e-01 -4.1914600133895874e-01 + <_> + + 0 -1 2318 -6.3075996935367584e-02 + + -1.4874019622802734e+00 1.2953700125217438e-01 + <_> + + 0 -1 2319 2.9670000076293945e-02 + + -1.9145900011062622e-01 9.8184901475906372e-01 + <_> + + 0 -1 2320 3.7873998284339905e-02 + + 1.3459500670433044e-01 -5.6316298246383667e-01 + <_> + + 0 -1 2321 -3.3289000391960144e-02 + + -1.0828030109405518e+00 -1.1504000052809715e-02 + <_> + + 0 -1 2322 -3.1608998775482178e-02 + + -5.9224498271942139e-01 1.3394799828529358e-01 + <_> + + 0 -1 2323 1.0740000288933516e-03 + + -4.9185800552368164e-01 9.4446003437042236e-02 + <_> + + 0 -1 2324 -7.1556001901626587e-02 + + 5.9710198640823364e-01 -3.9553001523017883e-02 + <_> + + 0 -1 2325 -8.1170000135898590e-02 + + -1.1817820072174072e+00 -2.8254000470042229e-02 + <_> + + 0 -1 2326 4.4860001653432846e-03 + + -6.1028099060058594e-01 2.2619099915027618e-01 + <_> + + 0 -1 2327 -4.2176000773906708e-02 + + -1.1435619592666626e+00 -2.9001999646425247e-02 + <_> + + 0 -1 2328 -6.5640002489089966e-02 + + -1.6470279693603516e+00 1.2810300290584564e-01 + <_> + + 0 -1 2329 1.8188999965786934e-02 + + -3.1149399280548096e-01 2.5739601254463196e-01 + <_> + + 0 -1 2330 -5.1520001143217087e-02 + + -6.9206899404525757e-01 1.5270799398422241e-01 + <_> + + 0 -1 2331 -4.7150999307632446e-02 + + -7.1868300437927246e-01 2.6879999786615372e-03 + <_> + + 0 -1 2332 1.7488999292254448e-02 + + 2.2371199727058411e-01 -5.5381798744201660e-01 + <_> + + 0 -1 2333 -2.5264000520110130e-02 + + 1.0319819450378418e+00 -1.7496499419212341e-01 + <_> + + 0 -1 2334 -4.0745001286268234e-02 + + 4.4961598515510559e-01 3.9349000900983810e-02 + <_> + + 0 -1 2335 -3.7666998803615570e-02 + + -8.5475701093673706e-01 -1.2463999912142754e-02 + <_> + + 0 -1 2336 -1.3411000370979309e-02 + + 5.7845598459243774e-01 -1.7467999830842018e-02 + <_> + + 0 -1 2337 -7.8999997640494257e-05 + + -3.7749201059341431e-01 1.3961799442768097e-01 + <_> + + 0 -1 2338 -1.1415000073611736e-02 + + -2.6186600327491760e-01 2.3712499439716339e-01 + <_> + + 0 -1 2339 3.7200000137090683e-02 + + -2.8626000508666039e-02 -1.2945239543914795e+00 + <_> + + 0 -1 2340 3.4050000831484795e-03 + + 2.0531399548053741e-01 -1.8747499585151672e-01 + <_> + + 0 -1 2341 -2.2483000531792641e-02 + + 6.7027199268341064e-01 -1.9594000279903412e-01 + <_> + + 0 -1 2342 2.3274999111890793e-02 + + 1.7405399680137634e-01 -3.2746300101280212e-01 + <_> + + 0 -1 2343 -1.3917000032961369e-02 + + -8.3954298496246338e-01 -6.3760001212358475e-03 + <_> + + 0 -1 2344 7.5429999269545078e-03 + + -3.4194998443126678e-02 5.8998197317123413e-01 + <_> + + 0 -1 2345 -1.1539000086486340e-02 + + 4.2142799496650696e-01 -2.3510499298572540e-01 + <_> + + 0 -1 2346 5.2501998841762543e-02 + + 6.9303996860980988e-02 7.3226499557495117e-01 + <_> + + 0 -1 2347 5.2715998142957687e-02 + + -1.5688100457191467e-01 1.0907289981842041e+00 + <_> + + 0 -1 2348 -1.1726000346243382e-02 + + -7.0934301614761353e-01 1.6828800737857819e-01 + <_> + + 0 -1 2349 9.5945999026298523e-02 + + -1.6192899644374847e-01 1.0072519779205322e+00 + <_> + + 0 -1 2350 -1.5871999785304070e-02 + + 3.9008399844169617e-01 -5.3777001798152924e-02 + <_> + + 0 -1 2351 3.4818001091480255e-02 + + 1.7179999500513077e-02 -9.3941801786422729e-01 + <_> + + 0 -1 2352 3.4791998565196991e-02 + + 5.0462998449802399e-02 5.4465699195861816e-01 + <_> + + 0 -1 2353 1.6284000128507614e-02 + + -2.6981300115585327e-01 4.0365299582481384e-01 + <_> + + 0 -1 2354 -4.4319000095129013e-02 + + 8.4399998188018799e-01 3.2882999628782272e-02 + <_> + + 0 -1 2355 -5.5689997971057892e-03 + + 1.5309399366378784e-01 -3.4959799051284790e-01 + <_> + + 0 -1 2356 -6.5842002630233765e-02 + + -9.2711198329925537e-01 1.6800999641418457e-01 + <_> + + 0 -1 2357 -7.3337003588676453e-02 + + 5.1614499092102051e-01 -2.0236000418663025e-01 + <_> + + 0 -1 2358 1.6450000926852226e-02 + + 1.3950599730014801e-01 -4.9301299452781677e-01 + <_> + + 0 -1 2359 -9.2630004510283470e-03 + + -9.0101999044418335e-01 -1.6116000711917877e-02 + <_> + + 0 -1 2360 5.9139998629689217e-03 + + 1.9858199357986450e-01 -1.6731299459934235e-01 + <_> + + 0 -1 2361 -8.4699998842552304e-04 + + 9.4005003571510315e-02 -4.1570898890495300e-01 + <_> + + 0 -1 2362 2.0532900094985962e-01 + + -6.0022000223398209e-02 7.0993602275848389e-01 + <_> + + 0 -1 2363 -1.6883000731468201e-02 + + 2.4392199516296387e-01 -3.0551800131797791e-01 + <_> + + 0 -1 2364 -1.9111000001430511e-02 + + 6.1229902505874634e-01 2.4252999573945999e-02 + <_> + + 0 -1 2365 -2.5962999090552330e-02 + + 9.0764999389648438e-01 -1.6722099483013153e-01 + <_> + + 0 -1 2366 -2.1762000396847725e-02 + + -3.1384700536727905e-01 2.0134599506855011e-01 + <_> + + 0 -1 2367 -2.4119999259710312e-02 + + -6.6588401794433594e-01 7.4559999629855156e-03 + <_> + + 0 -1 2368 4.7129999846220016e-02 + + 5.9533998370170593e-02 8.7804502248764038e-01 + <_> + + 0 -1 2369 -4.5984998345375061e-02 + + 8.0067998170852661e-01 -1.7252300679683685e-01 + <_> + + 0 -1 2370 2.6507999747991562e-02 + + 1.8774099647998810e-01 -6.0850602388381958e-01 + <_> + + 0 -1 2371 -4.8615001142024994e-02 + + 5.8644098043441772e-01 -1.9427700340747833e-01 + <_> + + 0 -1 2372 -1.8562000244855881e-02 + + -2.5587901473045349e-01 1.6326199471950531e-01 + <_> + + 0 -1 2373 1.2678000144660473e-02 + + -1.4228000305593014e-02 -7.6738101243972778e-01 + <_> + + 0 -1 2374 -1.1919999960809946e-03 + + 2.0495000481605530e-01 -1.1404299736022949e-01 + <_> + + 0 -1 2375 -4.9088999629020691e-02 + + -1.0740849971771240e+00 -3.8940999656915665e-02 + <_> + + 0 -1 2376 -1.7436999827623367e-02 + + -5.7973802089691162e-01 1.8584500253200531e-01 + <_> + + 0 -1 2377 -1.4770000241696835e-02 + + -6.6150301694869995e-01 5.3119999356567860e-03 + <_> + + 0 -1 2378 -2.2905200719833374e-01 + + -4.8305100202560425e-01 1.2326399981975555e-01 + <_> + + 0 -1 2379 -1.2707099318504333e-01 + + 5.7452601194381714e-01 -1.9420400261878967e-01 + <_> + + 0 -1 2380 1.0339000262320042e-02 + + -5.4641999304294586e-02 2.4501800537109375e-01 + <_> + + 0 -1 2381 6.9010001607239246e-03 + + 1.2180600315332413e-01 -3.8797399401664734e-01 + <_> + + 0 -1 2382 2.9025399684906006e-01 + + 1.0966199636459351e-01 -30. + <_> + + 0 -1 2383 -2.3804999887943268e-01 + + -1.7352679967880249e+00 -6.3809998333454132e-02 + <_> + + 0 -1 2384 6.2481001019477844e-02 + + 1.3523000478744507e-01 -7.0301097631454468e-01 + <_> + + 0 -1 2385 4.7109997831285000e-03 + + -4.6984100341796875e-01 6.0341998934745789e-02 + <_> + + 0 -1 2386 -2.7815999463200569e-02 + + 6.9807600975036621e-01 1.3719999697059393e-03 + <_> + + 0 -1 2387 -1.7020000144839287e-02 + + 1.6870440244674683e+00 -1.4314800500869751e-01 + <_> + + 0 -1 2388 -4.9754999577999115e-02 + + 7.9497700929641724e-01 7.7199999941512942e-04 + <_> + + 0 -1 2389 -7.4732996523380280e-02 + + -1.0132360458374023e+00 -1.9388999789953232e-02 + <_> + + 0 -1 2390 3.2009001821279526e-02 + + 1.4412100613117218e-01 -4.2139101028442383e-01 + <_> + + 0 -1 2391 -9.4463996589183807e-02 + + 5.0682598352432251e-01 -2.0478899776935577e-01 + <_> + + 0 -1 2392 -1.5426999889314175e-02 + + -1.5811300277709961e-01 1.7806899547576904e-01 + <_> + + 0 -1 2393 -4.0540001355111599e-03 + + -5.4366701841354370e-01 3.1235000118613243e-02 + <_> + + 0 -1 2394 3.0080000869929790e-03 + + -1.7376799881458282e-01 3.0441701412200928e-01 + <_> + + 0 -1 2395 -1.0091999545693398e-02 + + 2.5103801488876343e-01 -2.6224100589752197e-01 + <_> + + 0 -1 2396 -3.8818001747131348e-02 + + 9.3226701021194458e-01 7.2659999132156372e-02 + <_> + + 0 -1 2397 3.4651998430490494e-02 + + -3.3934999257326126e-02 -8.5707902908325195e-01 + <_> + + 0 -1 2398 -4.6729999594390392e-03 + + 3.4969300031661987e-01 -4.8517998307943344e-02 + <_> + + 0 -1 2399 6.8499997723847628e-04 + + 6.6573001444339752e-02 -4.4973799586296082e-01 + <_> + + 0 -1 2400 3.5317000001668930e-02 + + 1.4275799691677094e-01 -4.6726399660110474e-01 + <_> + + 0 -1 2401 -2.3569999262690544e-02 + + -1.0286079645156860e+00 -4.5288000255823135e-02 + <_> + + 0 -1 2402 -1.9109999993816018e-03 + + -1.9652199745178223e-01 2.8661000728607178e-01 + <_> + + 0 -1 2403 -1.6659000888466835e-02 + + -7.7532202005386353e-01 -8.3280000835657120e-03 + <_> + + 0 -1 2404 6.6062200069427490e-01 + + 1.3232499361038208e-01 -3.5266680717468262e+00 + <_> + + 0 -1 2405 1.0970599949359894e-01 + + -1.5547199547290802e-01 1.4674140214920044e+00 + <_> + + 0 -1 2406 1.3500999659299850e-02 + + 1.5233400464057922e-01 -1.3020930290222168e+00 + <_> + + 0 -1 2407 -2.2871999070048332e-02 + + -7.1325999498367310e-01 -8.7040001526474953e-03 + <_> + + 0 -1 2408 -8.1821002066135406e-02 + + 1.1127580404281616e+00 8.3219997584819794e-02 + <_> + + 0 -1 2409 -5.2728001028299332e-02 + + 9.3165099620819092e-01 -1.7103999853134155e-01 + <_> + + 0 -1 2410 -2.5242000818252563e-02 + + -1.9733799993991852e-01 2.5359401106834412e-01 + <_> + + 0 -1 2411 -4.3818999081850052e-02 + + 4.1815200448036194e-01 -2.4585500359535217e-01 + <_> + + 0 -1 2412 -1.8188999965786934e-02 + + -5.1743197441101074e-01 2.0174199342727661e-01 + <_> + + 0 -1 2413 2.3466000333428383e-02 + + -4.3071001768112183e-02 -1.0636579990386963e+00 + <_> + + 0 -1 2414 3.4216001629829407e-02 + + 5.3780999034643173e-02 4.9707201123237610e-01 + <_> + + 0 -1 2415 2.5692999362945557e-02 + + -2.3800100386142731e-01 4.1651499271392822e-01 + <_> + + 0 -1 2416 -2.6565000414848328e-02 + + -8.8574802875518799e-01 1.3365900516510010e-01 + <_> + + 0 -1 2417 6.0942001640796661e-02 + + -2.0669700205326080e-01 5.8309000730514526e-01 + <_> + + 0 -1 2418 1.4474500715732574e-01 + + 1.3282300531864166e-01 -3.1449348926544189e+00 + <_> + + 0 -1 2419 5.3410999476909637e-02 + + -1.7325200140476227e-01 6.9190698862075806e-01 + <_> + + 0 -1 2420 1.1408000253140926e-02 + + 5.4822001606225967e-02 3.0240398645401001e-01 + <_> + + 0 -1 2421 -2.3179999552667141e-03 + + 1.5820899605751038e-01 -3.1973201036453247e-01 + <_> + + 0 -1 2422 -2.9695000499486923e-02 + + 7.1274799108505249e-01 5.8136001229286194e-02 + <_> + + 0 -1 2423 2.7249999344348907e-02 + + -1.5754100680351257e-01 9.2143797874450684e-01 + <_> + + 0 -1 2424 -3.6200000904500484e-03 + + -3.4548398852348328e-01 2.0220999419689178e-01 + <_> + + 0 -1 2425 -1.2578999623656273e-02 + + -5.5650299787521362e-01 2.0388999953866005e-02 + <_> + + 0 -1 2426 -8.8849000632762909e-02 + + -3.6100010871887207e+00 1.3164199888706207e-01 + <_> + + 0 -1 2427 -1.9256999716162682e-02 + + 5.1908999681472778e-01 -1.9284300506114960e-01 + <_> + + 0 -1 2428 -1.6666999086737633e-02 + + -8.7499998509883881e-02 1.5812499821186066e-01 + <_> + + 0 -1 2429 1.2931999750435352e-02 + + 2.7405999600887299e-02 -5.5123901367187500e-01 + <_> + + 0 -1 2430 -1.3431999832391739e-02 + + 2.3457799851894379e-01 -4.3235000222921371e-02 + <_> + + 0 -1 2431 1.8810000270605087e-02 + + -3.9680998772382736e-02 -9.4373297691345215e-01 + <_> + + 0 -1 2432 -6.4349998719990253e-03 + + 4.5703700184822083e-01 -4.0520001202821732e-03 + <_> + + 0 -1 2433 -2.4249000474810600e-02 + + -7.6248002052307129e-01 -1.9857000559568405e-02 + <_> + + 0 -1 2434 -2.9667999595403671e-02 + + -3.7412509918212891e+00 1.1250600218772888e-01 + <_> + + 0 -1 2435 5.1150000654160976e-03 + + -6.3781797885894775e-01 1.1223999783396721e-02 + <_> + + 0 -1 2436 -5.7819997891783714e-03 + + 1.9374400377273560e-01 -8.2042001187801361e-02 + <_> + + 0 -1 2437 1.6606999561190605e-02 + + -1.6192099452018738e-01 1.1334990262985229e+00 + <_> + + 0 -1 2438 3.8228001445531845e-02 + + 2.1105000749230385e-02 7.6264202594757080e-01 + <_> + + 0 -1 2439 -5.7094000279903412e-02 + + -1.6974929571151733e+00 -5.9762001037597656e-02 + <_> + + 0 -1 2440 -5.3883001208305359e-02 + + 1.1850190162658691e+00 9.0966999530792236e-02 + <_> + + 0 -1 2441 -2.6110000908374786e-03 + + -4.0941199660301208e-01 8.3820998668670654e-02 + <_> + + 0 -1 2442 2.9714399576187134e-01 + + 1.5529899299144745e-01 -1.0995409488677979e+00 + <_> + + 0 -1 2443 -8.9063003659248352e-02 + + 4.8947200179100037e-01 -2.0041200518608093e-01 + <_> + + 0 -1 2444 -5.6193001568317413e-02 + + -2.4581399559974670e-01 1.4365500211715698e-01 + <_> + + 0 -1 2445 3.7004999816417694e-02 + + -4.8168998211622238e-02 -1.2310709953308105e+00 + <_> + + 0 -1 2446 -8.4840003401041031e-03 + + 4.3372601270675659e-01 1.3779999688267708e-02 + <_> + + 0 -1 2447 -2.4379999376833439e-03 + + 1.8949699401855469e-01 -3.2294198870658875e-01 + <_> + + 0 -1 2448 -7.1639999747276306e-02 + + -4.3979001045227051e-01 2.2730199992656708e-01 + <_> + + 0 -1 2449 5.2260002121329308e-03 + + -2.0548400282859802e-01 5.0933301448822021e-01 + <_> + + 0 -1 2450 -6.1360001564025879e-03 + + 3.1157198548316956e-01 7.0680998265743256e-02 + <_> + + 0 -1 2451 1.5595000237226486e-02 + + -3.0934798717498779e-01 1.5627700090408325e-01 + <_> + + 0 -1 2452 2.5995999574661255e-02 + + 1.3821600377559662e-01 -1.7616599798202515e-01 + <_> + + 0 -1 2453 -1.2085000053048134e-02 + + -5.1070201396942139e-01 5.8440998196601868e-02 + <_> + + 0 -1 2454 -6.7836001515388489e-02 + + 4.7757101058959961e-01 -7.1446001529693604e-02 + <_> + + 0 -1 2455 -1.4715000055730343e-02 + + 4.5238900184631348e-01 -1.9861400127410889e-01 + <_> + + 0 -1 2456 2.5118999183177948e-02 + + 1.2954899668693542e-01 -8.6266398429870605e-01 + <_> + + 0 -1 2457 1.8826000392436981e-02 + + -4.1570000350475311e-02 -1.1354700326919556e+00 + <_> + + 0 -1 2458 -2.1263999864459038e-02 + + -3.4738001227378845e-01 1.5779499709606171e-01 + <_> + + 0 -1 2459 9.4609996303915977e-03 + + 4.8639997839927673e-03 -6.1654800176620483e-01 + <_> + + 0 -1 2460 2.2957700490951538e-01 + + 8.1372998654842377e-02 6.9841402769088745e-01 + <_> + + 0 -1 2461 -3.8061998784542084e-02 + + 1.1616369485855103e+00 -1.4976699650287628e-01 + <_> + + 0 -1 2462 -1.3484999537467957e-02 + + -3.2036399841308594e-01 1.7365099489688873e-01 + <_> + + 0 -1 2463 3.6238998174667358e-02 + + -1.8158499896526337e-01 6.1956697702407837e-01 + <_> + + 0 -1 2464 6.7210001870989799e-03 + + 7.9600000753998756e-04 4.2441400885581970e-01 + <_> + + 0 -1 2465 9.6525996923446655e-02 + + -1.4696800708770752e-01 1.2525680065155029e+00 + <_> + + 0 -1 2466 -3.5656999796628952e-02 + + -3.9781698584556580e-01 1.4191399514675140e-01 + <_> + + 0 -1 2467 1.0772000066936016e-02 + + -1.8194000422954559e-01 5.9762197732925415e-01 + <_> + + 0 -1 2468 7.9279996454715729e-02 + + 1.4642499387264252e-01 -7.8836899995803833e-01 + <_> + + 0 -1 2469 3.2841000705957413e-02 + + -6.2408000230789185e-02 -1.4227490425109863e+00 + <_> + + 0 -1 2470 -2.7781000360846519e-02 + + 3.4033098816871643e-01 3.0670000240206718e-02 + <_> + + 0 -1 2471 -4.0339999832212925e-03 + + 3.1084701418876648e-01 -2.2595700621604919e-01 + <_> + + 0 -1 2472 7.4260002002120018e-03 + + -3.8936998695135117e-02 3.1702101230621338e-01 + <_> + + 0 -1 2473 1.1213999986648560e-01 + + -1.7578299343585968e-01 6.5056598186492920e-01 + <_> + + 0 -1 2474 -1.1878100037574768e-01 + + -1.0092990398406982e+00 1.1069700121879578e-01 + <_> + + 0 -1 2475 -4.1584998369216919e-02 + + -5.3806400299072266e-01 1.9905000925064087e-02 + <_> + + 0 -1 2476 -2.7966000139713287e-02 + + 4.8143199086189270e-01 3.3590998500585556e-02 + <_> + + 0 -1 2477 -1.2506400048732758e-01 + + 2.6352199912071228e-01 -2.5737899541854858e-01 + <_> + + 0 -1 2478 2.3666900396347046e-01 + + 3.6508001387119293e-02 9.0655601024627686e-01 + <_> + + 0 -1 2479 -2.9475999996066093e-02 + + -6.0048800706863403e-01 9.5880003646016121e-03 + <_> + + 0 -1 2480 3.7792999297380447e-02 + + 1.5506200492382050e-01 -9.5733499526977539e-01 + <_> + + 0 -1 2481 7.2044000029563904e-02 + + -1.4525899291038513e-01 1.3676730394363403e+00 + <_> + + 0 -1 2482 9.7759999334812164e-03 + + 1.2915999628603458e-02 2.1640899777412415e-01 + <_> + + 0 -1 2483 5.2154000848531723e-02 + + -1.6359999775886536e-02 -8.8356298208236694e-01 + <_> + + 0 -1 2484 -4.3790999799966812e-02 + + 3.5829600691795349e-01 6.5131001174449921e-02 + <_> + + 0 -1 2485 -3.8378998637199402e-02 + + 1.1961040496826172e+00 -1.4971500635147095e-01 + <_> + + 0 -1 2486 -9.8838999867439270e-02 + + -6.1834001541137695e-01 1.2786200642585754e-01 + <_> + + 0 -1 2487 -1.2190700322389603e-01 + + -1.8276120424270630e+00 -6.4862996339797974e-02 + <_> + + 0 -1 2488 -1.1981700360774994e-01 + + -30. 1.1323300004005432e-01 + <_> + + 0 -1 2489 3.0910000205039978e-02 + + -2.3934000730514526e-01 3.6332899332046509e-01 + <_> + + 0 -1 2490 1.0800999589264393e-02 + + -3.5140000283718109e-02 2.7707898616790771e-01 + <_> + + 0 -1 2491 5.6844998151063919e-02 + + -1.5524299442768097e-01 1.0802700519561768e+00 + <_> + + 0 -1 2492 1.0280000278726220e-03 + + -6.1202999204397202e-02 2.0508000254631042e-01 + <_> + + 0 -1 2493 -2.8273999691009521e-02 + + -6.4778000116348267e-01 2.3917000740766525e-02 + <_> + + 0 -1 2494 -1.6013599932193756e-01 + + 1.0892050266265869e+00 5.8389000594615936e-02 + <_> + + 0 -1 2495 4.9629998393356800e-03 + + -2.5806298851966858e-01 2.0834599435329437e-01 + <_> + + 0 -1 2496 4.6937000006437302e-02 + + 1.3886299729347229e-01 -1.5662620067596436e+00 + <_> + + 0 -1 2497 2.4286000058054924e-02 + + -2.0728300511837006e-01 5.2430999279022217e-01 + <_> + + 0 -1 2498 7.0202000439167023e-02 + + 1.4796899259090424e-01 -1.3095090389251709e+00 + <_> + + 0 -1 2499 9.8120002076029778e-03 + + 2.7906000614166260e-02 -5.0864601135253906e-01 + <_> + + 0 -1 2500 -5.6200999766588211e-02 + + 1.2618130445480347e+00 6.3801996409893036e-02 + <_> + + 0 -1 2501 1.0982800275087357e-01 + + -1.2850099802017212e-01 3.0776169300079346e+00 + <_> + 211 + -3.3703000545501709e+00 + + <_> + + 0 -1 2502 2.0910000428557396e-02 + + -6.8559402227401733e-01 3.8984298706054688e-01 + <_> + + 0 -1 2503 3.5032000392675400e-02 + + -4.7724398970603943e-01 4.5027199387550354e-01 + <_> + + 0 -1 2504 3.9799001067876816e-02 + + -4.7011101245880127e-01 4.2702499032020569e-01 + <_> + + 0 -1 2505 -4.8409998416900635e-03 + + 2.5614300370216370e-01 -6.6556298732757568e-01 + <_> + + 0 -1 2506 2.3439999204128981e-03 + + -4.8083499073982239e-01 2.8013798594474792e-01 + <_> + + 0 -1 2507 2.5312999263405800e-02 + + -2.3948200047016144e-01 4.4191798567771912e-01 + <_> + + 0 -1 2508 -3.2193001359701157e-02 + + 7.6086699962615967e-01 -2.5059100985527039e-01 + <_> + + 0 -1 2509 7.5409002602100372e-02 + + -3.4974598884582520e-01 3.4380298852920532e-01 + <_> + + 0 -1 2510 -1.8469000235199928e-02 + + -7.9085600376129150e-01 3.4788001328706741e-02 + <_> + + 0 -1 2511 -1.2802000157535076e-02 + + 4.7107800841331482e-01 -6.0006000101566315e-02 + <_> + + 0 -1 2512 -2.6598000898957253e-02 + + 6.7116099596023560e-01 -2.4257500469684601e-01 + <_> + + 0 -1 2513 2.1988999098539352e-02 + + 2.4717499315738678e-01 -4.8301699757575989e-01 + <_> + + 0 -1 2514 1.4654099941253662e-01 + + -2.1504099667072296e-01 7.2055900096893311e-01 + <_> + + 0 -1 2515 3.5310001112520695e-03 + + 2.7930998802185059e-01 -3.4339898824691772e-01 + <_> + + 0 -1 2516 9.4010001048445702e-03 + + 5.5861998349428177e-02 -8.2143598794937134e-01 + <_> + + 0 -1 2517 -8.6390003561973572e-03 + + -9.9620598554611206e-01 1.8874999880790710e-01 + <_> + + 0 -1 2518 -3.9193000644445419e-02 + + -1.1945559978485107e+00 -2.9198000207543373e-02 + <_> + + 0 -1 2519 2.4855000898241997e-02 + + 1.4987599849700928e-01 -5.4137802124023438e-01 + <_> + + 0 -1 2520 -3.4995000809431076e-02 + + -1.4210180044174194e+00 -4.2314000427722931e-02 + <_> + + 0 -1 2521 -1.8378999084234238e-02 + + -2.8242599964141846e-01 1.5581800043582916e-01 + <_> + + 0 -1 2522 -1.3592000119388103e-02 + + 4.7317099571228027e-01 -2.1937200427055359e-01 + <_> + + 0 -1 2523 6.2629999592900276e-03 + + -5.9714000672101974e-02 6.0625898838043213e-01 + <_> + + 0 -1 2524 -1.8478000536561012e-02 + + -8.5647201538085938e-01 -1.3783999718725681e-02 + <_> + + 0 -1 2525 1.4236000366508961e-02 + + 1.6654799878597260e-01 -2.7713999152183533e-01 + <_> + + 0 -1 2526 -3.2547000795602798e-02 + + -1.1728240251541138e+00 -4.0185000747442245e-02 + <_> + + 0 -1 2527 -2.6410000864416361e-03 + + 2.6514300704002380e-01 -5.6343000382184982e-02 + <_> + + 0 -1 2528 -8.7799999164417386e-04 + + 3.6556001752614975e-02 -5.5075198411941528e-01 + <_> + + 0 -1 2529 4.7371998429298401e-02 + + -4.2614001780748367e-02 4.8194900155067444e-01 + <_> + + 0 -1 2530 -7.0790001191198826e-03 + + 2.8698998689651489e-01 -3.2923001050949097e-01 + <_> + + 0 -1 2531 -4.3145999312400818e-02 + + -1.4065419435501099e+00 1.2836399674415588e-01 + <_> + + 0 -1 2532 2.0592000335454941e-02 + + -2.1435299515724182e-01 5.3981798887252808e-01 + <_> + + 0 -1 2533 -2.2367000579833984e-02 + + 3.3718299865722656e-01 4.5212000608444214e-02 + <_> + + 0 -1 2534 5.0039999186992645e-02 + + -2.5121700763702393e-01 4.1750499606132507e-01 + <_> + + 0 -1 2535 6.1794999986886978e-02 + + 4.0084999054670334e-02 6.8779802322387695e-01 + <_> + + 0 -1 2536 -4.1861999779939651e-02 + + 5.3027397394180298e-01 -2.2901999950408936e-01 + <_> + + 0 -1 2537 -3.1959998887032270e-03 + + 2.5161498785018921e-01 -2.1514600515365601e-01 + <_> + + 0 -1 2538 2.4255000054836273e-02 + + 7.2320001199841499e-03 -7.2519099712371826e-01 + <_> + + 0 -1 2539 -1.7303999513387680e-02 + + -4.9958199262619019e-01 1.8394500017166138e-01 + <_> + + 0 -1 2540 -4.1470001451671124e-03 + + 8.5211999714374542e-02 -4.6364700794219971e-01 + <_> + + 0 -1 2541 -1.4369999989867210e-02 + + -5.2258902788162231e-01 2.3892599344253540e-01 + <_> + + 0 -1 2542 -9.0399999171495438e-03 + + -6.3250398635864258e-01 3.2551001757383347e-02 + <_> + + 0 -1 2543 -1.2373100221157074e-01 + + 1.2856210470199585e+00 7.6545000076293945e-02 + <_> + + 0 -1 2544 -8.2221999764442444e-02 + + 8.3208197355270386e-01 -1.8590599298477173e-01 + <_> + + 0 -1 2545 6.5659001469612122e-02 + + 1.1298800259828568e-01 -30. + <_> + + 0 -1 2546 -3.1582999974489212e-02 + + -1.3485900163650513e+00 -4.7097001224756241e-02 + <_> + + 0 -1 2547 -7.9636000096797943e-02 + + -1.3533639907836914e+00 1.5668800473213196e-01 + <_> + + 0 -1 2548 -1.8880000337958336e-02 + + 4.0300300717353821e-01 -2.5148901343345642e-01 + <_> + + 0 -1 2549 -5.0149997696280479e-03 + + -2.6287099719047546e-01 1.8582500517368317e-01 + <_> + + 0 -1 2550 -1.2218000367283821e-02 + + 5.8692401647567749e-01 -1.9427700340747833e-01 + <_> + + 0 -1 2551 1.2710000155493617e-03 + + -1.6688999533653259e-01 2.3006899654865265e-01 + <_> + + 0 -1 2552 2.9743999242782593e-02 + + 1.2520000338554382e-02 -6.6723597049713135e-01 + <_> + + 0 -1 2553 2.8175000101327896e-02 + + -1.7060000449419022e-02 6.4579397439956665e-01 + <_> + + 0 -1 2554 3.0345000326633453e-02 + + -2.4178700149059296e-01 3.4878900647163391e-01 + <_> + + 0 -1 2555 -1.7325999215245247e-02 + + -5.3599399328231812e-01 2.0995999872684479e-01 + <_> + + 0 -1 2556 -8.4178000688552856e-02 + + 7.5093299150466919e-01 -1.7593200504779816e-01 + <_> + + 0 -1 2557 7.4950000271201134e-03 + + -1.6188099980354309e-01 3.0657500028610229e-01 + <_> + + 0 -1 2558 5.6494999676942825e-02 + + -1.7318800091743469e-01 1.0016150474548340e+00 + <_> + + 0 -1 2559 -5.2939997985959053e-03 + + 2.3417599499225616e-01 -6.5347000956535339e-02 + <_> + + 0 -1 2560 -1.4945000410079956e-02 + + 2.5018900632858276e-01 -3.0591198801994324e-01 + <_> + + 0 -1 2561 5.4919000715017319e-02 + + 1.3121999800205231e-01 -9.3765097856521606e-01 + <_> + + 0 -1 2562 -1.9721999764442444e-02 + + -8.3978497982025146e-01 -2.3473000153899193e-02 + <_> + + 0 -1 2563 -6.7158997058868408e-02 + + 2.3586840629577637e+00 8.2970999181270599e-02 + <_> + + 0 -1 2564 -1.4325999654829502e-02 + + 1.8814499676227570e-01 -3.1221601366996765e-01 + <_> + + 0 -1 2565 2.9841000214219093e-02 + + 1.4825099706649780e-01 -8.4681701660156250e-01 + <_> + + 0 -1 2566 5.1883000880479813e-02 + + -4.3731000274419785e-02 -1.3366169929504395e+00 + <_> + + 0 -1 2567 4.1127000004053116e-02 + + 1.7660099267959595e-01 -6.0904097557067871e-01 + <_> + + 0 -1 2568 -1.2865099310874939e-01 + + -9.8701000213623047e-01 -3.7785001099109650e-02 + <_> + + 0 -1 2569 2.4170000106096268e-03 + + -1.6119599342346191e-01 3.2675701379776001e-01 + <_> + + 0 -1 2570 7.7030002139508724e-03 + + -2.3841500282287598e-01 2.9319399595260620e-01 + <_> + + 0 -1 2571 4.5520000159740448e-02 + + 1.4424599707126617e-01 -1.5010160207748413e+00 + <_> + + 0 -1 2572 -7.8700996935367584e-02 + + -1.0394560098648071e+00 -4.5375999063253403e-02 + <_> + + 0 -1 2573 7.8619997948408127e-03 + + 1.9633600115776062e-01 -1.4472399652004242e-01 + <_> + + 0 -1 2574 -1.3458999805152416e-02 + + -9.0634697675704956e-01 -3.8049001246690750e-02 + <_> + + 0 -1 2575 2.8827000409364700e-02 + + -2.9473999515175819e-02 6.0058397054672241e-01 + <_> + + 0 -1 2576 -2.7365999296307564e-02 + + -9.9804002046585083e-01 -3.8653001189231873e-02 + <_> + + 0 -1 2577 -7.2917997837066650e-02 + + 7.3361498117446899e-01 5.7440001517534256e-02 + <_> + + 0 -1 2578 -1.3988999649882317e-02 + + 2.7892601490020752e-01 -2.6516300439834595e-01 + <_> + + 0 -1 2579 4.3242998421192169e-02 + + 4.7760000452399254e-03 3.5925900936126709e-01 + <_> + + 0 -1 2580 2.9533000662922859e-02 + + -2.0083999633789062e-01 5.1202899217605591e-01 + <_> + + 0 -1 2581 -3.1897000968456268e-02 + + 6.4721697568893433e-01 -1.3760000001639128e-03 + <_> + + 0 -1 2582 3.7868998944759369e-02 + + -1.8363800644874573e-01 6.1343097686767578e-01 + <_> + + 0 -1 2583 -2.2417999804019928e-02 + + -2.9187899827957153e-01 1.8194800615310669e-01 + <_> + + 0 -1 2584 5.8958999812602997e-02 + + -6.6451996564865112e-02 -1.9290030002593994e+00 + <_> + + 0 -1 2585 3.1222999095916748e-02 + + -1.2732000090181828e-02 6.1560797691345215e-01 + <_> + + 0 -1 2586 3.7484999746084213e-02 + + -2.0856900513172150e-01 4.4363999366760254e-01 + <_> + + 0 -1 2587 -2.0966000854969025e-02 + + -3.5712799429893494e-01 2.4252200126647949e-01 + <_> + + 0 -1 2588 -2.5477999821305275e-02 + + 1.0846560001373291e+00 -1.5054400265216827e-01 + <_> + + 0 -1 2589 -7.2570000775158405e-03 + + 2.1302600204944611e-01 -1.8308199942111969e-01 + <_> + + 0 -1 2590 -5.0983000546693802e-02 + + 5.1736801862716675e-01 -1.8833099305629730e-01 + <_> + + 0 -1 2591 -2.0640000700950623e-02 + + -4.4030201435089111e-01 2.2745999693870544e-01 + <_> + + 0 -1 2592 1.0672999545931816e-02 + + 3.5059999674558640e-02 -5.1665002107620239e-01 + <_> + + 0 -1 2593 3.1895998865365982e-02 + + 1.3228000141680241e-02 3.4915199875831604e-01 + <_> + + 0 -1 2594 -2.3824999108910561e-02 + + 3.4118801355361938e-01 -2.1510200202465057e-01 + <_> + + 0 -1 2595 -6.0680001042783260e-03 + + 3.2937398552894592e-01 -2.8523799777030945e-01 + <_> + + 0 -1 2596 2.3881999775767326e-02 + + -2.5333800911903381e-01 2.6296100020408630e-01 + <_> + + 0 -1 2597 2.7966000139713287e-02 + + 1.4049099385738373e-01 -4.9887099862098694e-01 + <_> + + 0 -1 2598 1.4603000134229660e-02 + + -1.5395999886095524e-02 -7.6958000659942627e-01 + <_> + + 0 -1 2599 1.0872399806976318e-01 + + 1.9069600105285645e-01 -3.2393100857734680e-01 + <_> + + 0 -1 2600 -1.4038000255823135e-02 + + 3.4924700856208801e-01 -2.2358700633049011e-01 + <_> + + 0 -1 2601 4.0440000593662262e-03 + + -3.8329001516103745e-02 5.1177299022674561e-01 + <_> + + 0 -1 2602 -4.9769999459385872e-03 + + -4.2888298630714417e-01 4.9173999577760696e-02 + <_> + + 0 -1 2603 -8.5183002054691315e-02 + + 6.6624599695205688e-01 7.8079998493194580e-03 + <_> + + 0 -1 2604 2.1559998858720064e-03 + + -4.9135199189186096e-01 6.9555997848510742e-02 + <_> + + 0 -1 2605 3.6384499073028564e-01 + + 1.2997099757194519e-01 -1.8949509859085083e+00 + <_> + + 0 -1 2606 2.2082500159740448e-01 + + -5.7211998850107193e-02 -1.4281120300292969e+00 + <_> + + 0 -1 2607 -1.6140000894665718e-02 + + -5.7589399814605713e-01 1.8062500655651093e-01 + <_> + + 0 -1 2608 -4.8330001533031464e-02 + + 9.7308498620986938e-01 -1.6513000428676605e-01 + <_> + + 0 -1 2609 1.7529999837279320e-02 + + 1.7932699620723724e-01 -2.7948901057243347e-01 + <_> + + 0 -1 2610 -3.4309998154640198e-02 + + -8.1072497367858887e-01 -1.6596000641584396e-02 + <_> + + 0 -1 2611 -4.5830002054572105e-03 + + 2.7908998727798462e-01 -7.4519999325275421e-03 + <_> + + 0 -1 2612 1.2896400690078735e-01 + + -1.3508500158786774e-01 2.5411539077758789e+00 + <_> + + 0 -1 2613 3.0361000448465347e-02 + + -6.8419001996517181e-02 2.8734099864959717e-01 + <_> + + 0 -1 2614 4.4086001813411713e-02 + + -1.8135899305343628e-01 6.5413200855255127e-01 + <_> + + 0 -1 2615 3.0159999150782824e-03 + + -1.5690499544143677e-01 2.6963800191879272e-01 + <_> + + 0 -1 2616 -2.6336999610066414e-02 + + 2.9175600409507751e-01 -2.5274100899696350e-01 + <_> + + 0 -1 2617 -2.7866000309586525e-02 + + 4.4387501478195190e-01 5.5038001388311386e-02 + <_> + + 0 -1 2618 1.1725000105798244e-02 + + -1.9346499443054199e-01 4.6656700968742371e-01 + <_> + + 0 -1 2619 1.5689999563619494e-03 + + -8.2360003143548965e-03 2.5700899958610535e-01 + <_> + + 0 -1 2620 -3.5550000611692667e-03 + + -4.2430898547172546e-01 7.1174003183841705e-02 + <_> + + 0 -1 2621 -3.1695000827312469e-02 + + -8.5393500328063965e-01 1.6916200518608093e-01 + <_> + + 0 -1 2622 -3.2097000628709793e-02 + + 8.3784902095794678e-01 -1.7597299814224243e-01 + <_> + + 0 -1 2623 1.5544199943542480e-01 + + 9.9550001323223114e-02 2.3873300552368164e+00 + <_> + + 0 -1 2624 8.8045999407768250e-02 + + -1.8725299835205078e-01 6.2384301424026489e-01 + <_> + + 0 -1 2625 -1.6720000421628356e-03 + + 2.5008699297904968e-01 -6.5118998289108276e-02 + <_> + + 0 -1 2626 9.3409996479749680e-03 + + -3.5378900170326233e-01 1.0715000331401825e-01 + <_> + + 0 -1 2627 3.7138000130653381e-02 + + 1.6387000679969788e-01 -9.1718399524688721e-01 + <_> + + 0 -1 2628 8.0183997750282288e-02 + + -1.4812999963760376e-01 1.4895190000534058e+00 + <_> + + 0 -1 2629 -7.9100002767518163e-04 + + -2.1326899528503418e-01 1.9676400721073151e-01 + <_> + + 0 -1 2630 -5.0400001928210258e-03 + + -7.1318697929382324e-01 1.8240000354126096e-03 + <_> + + 0 -1 2631 1.1962399631738663e-01 + + 3.3098999410867691e-02 1.0441709756851196e+00 + <_> + + 0 -1 2632 -4.5280000194907188e-03 + + -2.7308499813079834e-01 2.7229800820350647e-01 + <_> + + 0 -1 2633 -2.9639000073075294e-02 + + 3.6225798726081848e-01 5.6795001029968262e-02 + <_> + + 0 -1 2634 2.6650000363588333e-02 + + -4.8041000962257385e-02 -9.6723502874374390e-01 + <_> + + 0 -1 2635 4.4422000646591187e-02 + + 1.3052900135517120e-01 -3.5077300667762756e-01 + <_> + + 0 -1 2636 -2.4359999224543571e-02 + + -1.0766899585723877e+00 -5.1222998648881912e-02 + <_> + + 0 -1 2637 1.9734999164938927e-02 + + 2.6238000020384789e-02 2.8070500493049622e-01 + <_> + + 0 -1 2638 5.4930001497268677e-03 + + -2.6111298799514771e-01 2.1011400222778320e-01 + <_> + + 0 -1 2639 -2.3200300335884094e-01 + + -1.7748440504074097e+00 1.1482600122690201e-01 + <_> + + 0 -1 2640 -2.5614000856876373e-02 + + 2.9900801181793213e-01 -2.2502499818801880e-01 + <_> + + 0 -1 2641 -6.4949998632073402e-03 + + 1.9563800096511841e-01 -9.9762998521327972e-02 + <_> + + 0 -1 2642 3.9840000681579113e-03 + + -4.3021500110626221e-01 8.1261001527309418e-02 + <_> + + 0 -1 2643 -3.5813000053167343e-02 + + -5.0987398624420166e-01 1.6345900297164917e-01 + <_> + + 0 -1 2644 -1.4169000089168549e-02 + + 7.7978098392486572e-01 -1.7476299405097961e-01 + <_> + + 0 -1 2645 -1.2642100453376770e-01 + + -6.3047897815704346e-01 1.2728300690650940e-01 + <_> + + 0 -1 2646 6.8677999079227448e-02 + + -4.6447999775409698e-02 -1.1128979921340942e+00 + <_> + + 0 -1 2647 8.5864998400211334e-02 + + 1.1835400015115738e-01 -4.8235158920288086e+00 + <_> + + 0 -1 2648 1.5511999838054180e-02 + + -1.7467999830842018e-02 -6.3693398237228394e-01 + <_> + + 0 -1 2649 8.1091001629829407e-02 + + 8.6133003234863281e-02 2.4559431076049805e+00 + <_> + + 0 -1 2650 1.8495000898838043e-02 + + 4.0229000151157379e-02 -5.0858199596405029e-01 + <_> + + 0 -1 2651 -8.6320996284484863e-02 + + -1.9006760120391846e+00 1.1019100248813629e-01 + <_> + + 0 -1 2652 7.2355002164840698e-02 + + -6.2111999839544296e-02 -1.4165179729461670e+00 + <_> + + 0 -1 2653 -7.8179001808166504e-02 + + 8.8849300146102905e-01 4.2369998991489410e-02 + <_> + + 0 -1 2654 9.6681997179985046e-02 + + -2.2094200551509857e-01 3.3575099706649780e-01 + <_> + + 0 -1 2655 -3.9875999093055725e-02 + + 5.7804799079895020e-01 4.5347999781370163e-02 + <_> + + 0 -1 2656 -9.5349997282028198e-03 + + -5.4175698757171631e-01 3.2399999909102917e-03 + <_> + + 0 -1 2657 4.0600000647827983e-04 + + -8.1549003720283508e-02 3.5837900638580322e-01 + <_> + + 0 -1 2658 1.2107999995350838e-02 + + -2.0280399918556213e-01 4.3768000602722168e-01 + <_> + + 0 -1 2659 -2.0873999223113060e-02 + + 4.1469898819923401e-01 -4.5568000525236130e-02 + <_> + + 0 -1 2660 5.7888001203536987e-02 + + -2.9009999707341194e-02 -9.1822302341461182e-01 + <_> + + 0 -1 2661 1.3200000103097409e-04 + + -1.1772400140762329e-01 2.0000000298023224e-01 + <_> + + 0 -1 2662 -1.7137000337243080e-02 + + 3.3004799485206604e-01 -2.3055200278759003e-01 + <_> + + 0 -1 2663 3.0655000358819962e-02 + + -2.1545000374317169e-02 2.6878198981285095e-01 + <_> + + 0 -1 2664 -7.8699999721720815e-04 + + -4.4100698828697205e-01 4.9157999455928802e-02 + <_> + + 0 -1 2665 8.8036999106407166e-02 + + 1.1782000213861465e-01 -2.8293309211730957e+00 + <_> + + 0 -1 2666 -3.9028998464345932e-02 + + 9.1777199506759644e-01 -1.5827399492263794e-01 + <_> + + 0 -1 2667 8.0105997622013092e-02 + + 1.1289200186729431e-01 -1.9937280416488647e+00 + <_> + + 0 -1 2668 3.9538998156785965e-02 + + -1.4357399940490723e-01 1.3085240125656128e+00 + <_> + + 0 -1 2669 2.0684000104665756e-02 + + 2.0048099756240845e-01 -4.4186998158693314e-02 + <_> + + 0 -1 2670 -6.7037999629974365e-02 + + 3.2618600130081177e-01 -2.0550400018692017e-01 + <_> + + 0 -1 2671 4.6815000474452972e-02 + + 1.5825299918651581e-01 -9.5535099506378174e-01 + <_> + + 0 -1 2672 7.8443996608257294e-02 + + -7.4651002883911133e-02 -2.1161499023437500e+00 + <_> + + 0 -1 2673 6.6380001604557037e-02 + + 1.1641900241374969e-01 -1.6113519668579102e+00 + <_> + + 0 -1 2674 3.0053999274969101e-02 + + -1.6562600433826447e-01 7.0025402307510376e-01 + <_> + + 0 -1 2675 1.7119999974966049e-02 + + 2.2627699375152588e-01 -4.0114998817443848e-01 + <_> + + 0 -1 2676 2.0073000341653824e-02 + + -1.9389699399471283e-01 4.4420298933982849e-01 + <_> + + 0 -1 2677 3.3101998269557953e-02 + + 1.1637499928474426e-01 -1.5771679878234863e+00 + <_> + + 0 -1 2678 -1.4882000163197517e-02 + + -8.9680302143096924e-01 -4.2010001838207245e-02 + <_> + + 0 -1 2679 -1.0281000286340714e-02 + + 3.5602998733520508e-01 -1.3124000281095505e-02 + <_> + + 0 -1 2680 -2.8695000335574150e-02 + + -4.6039599180221558e-01 2.6801999658346176e-02 + <_> + + 0 -1 2681 -4.7189998440444469e-03 + + 2.3788799345493317e-01 -6.5518997609615326e-02 + <_> + + 0 -1 2682 3.2201600074768066e-01 + + -2.8489999473094940e-02 -8.4234601259231567e-01 + <_> + + 0 -1 2683 -1.7045000568032265e-02 + + -5.0938802957534790e-01 1.6057600080966949e-01 + <_> + + 0 -1 2684 -7.3469998314976692e-03 + + -5.4154998064041138e-01 4.7320001758635044e-03 + <_> + + 0 -1 2685 -3.0001999810338020e-02 + + -8.8785797357559204e-01 1.3621799647808075e-01 + <_> + + 0 -1 2686 -1.1292999610304832e-02 + + 8.0615198612213135e-01 -1.6159500181674957e-01 + <_> + + 0 -1 2687 4.7749998047947884e-03 + + 1.2968000024557114e-02 5.5079901218414307e-01 + <_> + + 0 -1 2688 5.0710001960396767e-03 + + -4.5728001743555069e-02 -1.0766259431838989e+00 + <_> + + 0 -1 2689 1.9344100356101990e-01 + + 7.1262001991271973e-02 1.1694519519805908e+00 + <_> + + 0 -1 2690 5.3750001825392246e-03 + + -1.9736200571060181e-01 3.8206899166107178e-01 + <_> + + 0 -1 2691 -6.8276003003120422e-02 + + -5.4372339248657227e+00 1.1151900142431259e-01 + <_> + + 0 -1 2692 -3.4933000802993774e-02 + + 4.4793400168418884e-01 -1.8657900393009186e-01 + <_> + + 0 -1 2693 5.1219998858869076e-03 + + -1.4871999621391296e-02 1.8413899838924408e-01 + <_> + + 0 -1 2694 9.5311999320983887e-02 + + -1.5117099881172180e-01 9.4991499185562134e-01 + <_> + + 0 -1 2695 -6.2849000096321106e-02 + + 4.6473601460456848e-01 3.8405001163482666e-02 + <_> + + 0 -1 2696 -1.7040699720382690e-01 + + -1.6499999761581421e+00 -6.3236996531486511e-02 + <_> + + 0 -1 2697 1.0583999566733837e-02 + + -3.8348998874425888e-02 4.1913801431655884e-01 + <_> + + 0 -1 2698 -4.1579000651836395e-02 + + 3.4461900591850281e-01 -2.1187700331211090e-01 + <_> + + 0 -1 2699 1.2718600034713745e-01 + + 1.2398199737071991e-01 -2.1254889965057373e+00 + <_> + + 0 -1 2700 8.2557000219821930e-02 + + -6.2024001032114029e-02 -1.4875819683074951e+00 + <_> + + 0 -1 2701 8.5293002426624298e-02 + + 1.7087999731302261e-02 3.2076600193977356e-01 + <_> + + 0 -1 2702 5.5544000118970871e-02 + + -2.7414000034332275e-01 1.8976399302482605e-01 + <_> + + 0 -1 2703 4.5650000683963299e-03 + + -1.7920200526714325e-01 2.7967301011085510e-01 + <_> + + 0 -1 2704 1.2997999787330627e-02 + + -3.2297500967979431e-01 2.6941800117492676e-01 + <_> + + 0 -1 2705 5.7891998440027237e-02 + + 1.2644399702548981e-01 -6.0713499784469604e-01 + <_> + + 0 -1 2706 -2.2824000567197800e-02 + + -4.9682098627090454e-01 2.2376999258995056e-02 + <_> + + 0 -1 2707 4.8312000930309296e-02 + + 4.3607000261545181e-02 4.8537799715995789e-01 + <_> + + 0 -1 2708 2.5714000687003136e-02 + + -4.2950998991727829e-02 -9.3023502826690674e-01 + <_> + + 0 -1 2709 6.9269998930394650e-03 + + -2.9680000152438879e-03 3.4296301007270813e-01 + <_> + + 0 -1 2710 -3.4446999430656433e-02 + + -1.5299769639968872e+00 -6.1014998704195023e-02 + <_> + + 0 -1 2711 2.9387999325990677e-02 + + 3.7595998495817184e-02 6.4172399044036865e-01 + <_> + + 0 -1 2712 -2.4319998919963837e-03 + + 9.9088996648788452e-02 -3.9688101410865784e-01 + <_> + 200 + -2.9928278923034668e+00 + + <_> + + 0 -1 2713 -9.5944002270698547e-02 + + 6.2419098615646362e-01 -4.5875200629234314e-01 + <_> + + 0 -1 2714 1.6834000125527382e-02 + + -9.3072801828384399e-01 2.1563600003719330e-01 + <_> + + 0 -1 2715 2.6049999520182610e-02 + + -4.0532299876213074e-01 4.2256599664688110e-01 + <_> + + 0 -1 2716 3.6500001442618668e-04 + + 9.5288001000881195e-02 -6.3298100233078003e-01 + <_> + + 0 -1 2717 -6.6940002143383026e-03 + + 3.7243801355361938e-01 -3.0332401394844055e-01 + <_> + + 0 -1 2718 1.8874000757932663e-02 + + -2.3357200622558594e-01 4.0330699086189270e-01 + <_> + + 0 -1 2719 -1.6300000424962491e-04 + + 4.2886998504400253e-02 -7.7796798944473267e-01 + <_> + + 0 -1 2720 -7.6259002089500427e-02 + + -4.9628499150276184e-01 1.6335399448871613e-01 + <_> + + 0 -1 2721 5.0149001181125641e-02 + + 3.2747000455856323e-02 -8.0047899484634399e-01 + <_> + + 0 -1 2722 -2.9239999130368233e-03 + + -5.0002801418304443e-01 2.5480601191520691e-01 + <_> + + 0 -1 2723 1.6243999823927879e-02 + + 3.8913000375032425e-02 -7.0724898576736450e-01 + <_> + + 0 -1 2724 3.7811998277902603e-02 + + -6.6267997026443481e-02 7.3868799209594727e-01 + <_> + + 0 -1 2725 -1.2319999746978283e-02 + + 4.8696398735046387e-01 -2.4485599994659424e-01 + <_> + + 0 -1 2726 5.8003999292850494e-02 + + 1.3459099829196930e-01 -1.3232100009918213e-01 + <_> + + 0 -1 2727 4.8630000092089176e-03 + + -4.4172900915145874e-01 1.4005599915981293e-01 + <_> + + 0 -1 2728 4.5690998435020447e-02 + + 3.1217999756336212e-02 8.9818298816680908e-01 + <_> + + 0 -1 2729 2.1321000531315804e-02 + + 1.2008000165224075e-02 -8.6066198348999023e-01 + <_> + + 0 -1 2730 1.5679100155830383e-01 + + 1.4055999927222729e-02 8.5332900285720825e-01 + <_> + + 0 -1 2731 -1.0328999720513821e-02 + + 2.9022800922393799e-01 -2.9478800296783447e-01 + <_> + + 0 -1 2732 2.4290001019835472e-03 + + -4.0439900755882263e-01 1.9400200247764587e-01 + <_> + + 0 -1 2733 -2.3338999599218369e-02 + + 3.2945200800895691e-01 -2.5712698698043823e-01 + <_> + + 0 -1 2734 -6.8970001302659512e-03 + + -5.3352999687194824e-01 2.1635200083255768e-01 + <_> + + 0 -1 2735 -3.4403000026941299e-02 + + -1.4425489902496338e+00 -4.4682998210191727e-02 + <_> + + 0 -1 2736 -2.1235000342130661e-02 + + -7.9017502069473267e-01 1.9084100425243378e-01 + <_> + + 0 -1 2737 2.0620001014322042e-03 + + -2.6931199431419373e-01 3.1488001346588135e-01 + <_> + + 0 -1 2738 -4.2190002277493477e-03 + + -5.4464399814605713e-01 1.6574600338935852e-01 + <_> + + 0 -1 2739 -1.4334999956190586e-02 + + 2.2105000913143158e-02 -6.2342500686645508e-01 + <_> + + 0 -1 2740 -8.2120001316070557e-03 + + -4.9884998798370361e-01 1.9237099587917328e-01 + <_> + + 0 -1 2741 -9.3350000679492950e-03 + + -7.9131197929382324e-01 -1.4143999665975571e-02 + <_> + + 0 -1 2742 -3.7937998771667480e-02 + + 7.9841297864913940e-01 -3.3799000084400177e-02 + <_> + + 0 -1 2743 4.7059999778866768e-03 + + -3.3163401484489441e-01 2.0726299285888672e-01 + <_> + + 0 -1 2744 -4.4499998912215233e-03 + + -2.7256301045417786e-01 1.8402199447154999e-01 + <_> + + 0 -1 2745 5.2189999260008335e-03 + + -5.3096002340316772e-01 5.2607998251914978e-02 + <_> + + 0 -1 2746 -9.5399999991059303e-03 + + -5.6485402584075928e-01 1.9269399344921112e-01 + <_> + + 0 -1 2747 4.4969998300075531e-02 + + -1.7411500215530396e-01 9.5382601022720337e-01 + <_> + + 0 -1 2748 1.4209000393748283e-02 + + -9.1949000954627991e-02 2.4836100637912750e-01 + <_> + + 0 -1 2749 1.6380199790000916e-01 + + -5.8497000485658646e-02 -1.6404409408569336e+00 + <_> + + 0 -1 2750 2.5579999200999737e-03 + + 2.3447999358177185e-01 -9.2734001576900482e-02 + <_> + + 0 -1 2751 -3.8499999791383743e-03 + + 1.7880700528621674e-01 -3.5844099521636963e-01 + <_> + + 0 -1 2752 -2.5221999734640121e-02 + + -4.2903000116348267e-01 2.0244500041007996e-01 + <_> + + 0 -1 2753 -1.9415000453591347e-02 + + 5.8016300201416016e-01 -1.8806399405002594e-01 + <_> + + 0 -1 2754 1.4419999904930592e-02 + + 3.2846998423337936e-02 8.1980502605438232e-01 + <_> + + 0 -1 2755 5.1582999527454376e-02 + + 6.9176003336906433e-02 -4.5866298675537109e-01 + <_> + + 0 -1 2756 -3.7960000336170197e-02 + + -1.2553000450134277e+00 1.4332899451255798e-01 + <_> + + 0 -1 2757 -2.9560999944806099e-02 + + 5.3151798248291016e-01 -2.0596499741077423e-01 + <_> + + 0 -1 2758 -3.9110999554395676e-02 + + 1.1658719778060913e+00 5.3897000849246979e-02 + <_> + + 0 -1 2759 -2.9159000143408775e-02 + + 3.9307600259780884e-01 -2.2184500098228455e-01 + <_> + + 0 -1 2760 -8.3617001771926880e-02 + + -7.3744499683380127e-01 1.4268200099468231e-01 + <_> + + 0 -1 2761 4.2004001140594482e-01 + + -1.4277400076389313e-01 1.7894840240478516e+00 + <_> + + 0 -1 2762 6.0005001723766327e-02 + + 1.1976700276136398e-01 -1.8886189460754395e+00 + <_> + + 0 -1 2763 -1.8981000408530235e-02 + + -1.4148449897766113e+00 -5.6522998958826065e-02 + <_> + + 0 -1 2764 -6.0049998573958874e-03 + + 4.4170799851417542e-01 -1.0200800001621246e-01 + <_> + + 0 -1 2765 -5.8214001357555389e-02 + + -1.3918470144271851e+00 -4.8268999904394150e-02 + <_> + + 0 -1 2766 -1.2271000072360039e-02 + + 5.1317697763442993e-01 -9.3696996569633484e-02 + <_> + + 0 -1 2767 4.6585999429225922e-02 + + -5.7484000921249390e-02 -1.4283169507980347e+00 + <_> + + 0 -1 2768 1.2110000243410468e-03 + + -8.0891996622085571e-02 3.2333201169967651e-01 + <_> + + 0 -1 2769 -8.8642001152038574e-02 + + -8.6449098587036133e-01 -3.3146999776363373e-02 + <_> + + 0 -1 2770 -2.3184999823570251e-02 + + 5.2162200212478638e-01 -1.6168000176548958e-02 + <_> + + 0 -1 2771 4.3090000748634338e-02 + + -1.6153800487518311e-01 1.0915000438690186e+00 + <_> + + 0 -1 2772 2.0599999697878957e-04 + + -1.7091499269008636e-01 3.1236699223518372e-01 + <_> + + 0 -1 2773 8.9159999042749405e-03 + + -6.7039998248219490e-03 -6.8810397386550903e-01 + <_> + + 0 -1 2774 -1.7752999439835548e-02 + + 6.3292801380157471e-01 -4.2360001243650913e-03 + <_> + + 0 -1 2775 6.2299999408423901e-03 + + -3.3637198805809021e-01 1.2790599465370178e-01 + <_> + + 0 -1 2776 2.2770000621676445e-02 + + -3.4703999757766724e-02 3.9141800999641418e-01 + <_> + + 0 -1 2777 -2.1534999832510948e-02 + + 6.4765101671218872e-01 -2.0097799599170685e-01 + <_> + + 0 -1 2778 6.1758998781442642e-02 + + 5.4297000169754028e-02 9.0700101852416992e-01 + <_> + + 0 -1 2779 -7.8069999814033508e-02 + + 6.5523397922515869e-01 -1.9754399359226227e-01 + <_> + + 0 -1 2780 1.1315000243484974e-02 + + 1.9385300576686859e-01 -5.1707297563552856e-01 + <_> + + 0 -1 2781 -2.5590000674128532e-02 + + -9.3096500635147095e-01 -3.1546998769044876e-02 + <_> + + 0 -1 2782 -3.8058999925851822e-02 + + -6.8326902389526367e-01 1.2709100544452667e-01 + <_> + + 0 -1 2783 9.7970003262162209e-03 + + 1.5523999929428101e-02 -6.3347899913787842e-01 + <_> + + 0 -1 2784 -1.3841999694705009e-02 + + 1.0060529708862305e+00 6.2812998890876770e-02 + <_> + + 0 -1 2785 8.3459997549653053e-03 + + -2.3383200168609619e-01 3.0982699990272522e-01 + <_> + + 0 -1 2786 -7.1439996361732483e-02 + + -7.2505402565002441e-01 1.7148299515247345e-01 + <_> + + 0 -1 2787 1.0006000287830830e-02 + + -2.2071999311447144e-01 3.5266199707984924e-01 + <_> + + 0 -1 2788 1.1005300283432007e-01 + + 1.6662000119686127e-01 -7.4318999052047729e-01 + <_> + + 0 -1 2789 3.5310998558998108e-02 + + -2.3982700705528259e-01 4.1435998678207397e-01 + <_> + + 0 -1 2790 -1.1174699664115906e-01 + + 5.1045399904251099e-01 2.2319999989122152e-03 + <_> + + 0 -1 2791 -1.1367800086736679e-01 + + 9.0475201606750488e-01 -1.6615299880504608e-01 + <_> + + 0 -1 2792 1.6667999327182770e-02 + + 1.4024500548839569e-01 -5.2178502082824707e-01 + <_> + + 0 -1 2793 -8.0340001732110977e-03 + + -6.6178399324417114e-01 3.7640000227838755e-03 + <_> + + 0 -1 2794 -3.3096998929977417e-02 + + 8.0185902118682861e-01 5.9385001659393311e-02 + <_> + + 0 -1 2795 1.2547999620437622e-02 + + -3.3545500040054321e-01 1.4578600227832794e-01 + <_> + + 0 -1 2796 -4.2073998600244522e-02 + + -5.5509102344512939e-01 1.3266600668430328e-01 + <_> + + 0 -1 2797 2.5221999734640121e-02 + + -6.1631999909877777e-02 -1.3678770065307617e+00 + <_> + + 0 -1 2798 -2.4268999695777893e-02 + + 3.4185099601745605e-01 -7.4160001240670681e-03 + <_> + + 0 -1 2799 -1.2280000373721123e-02 + + 2.7745801210403442e-01 -3.1033900380134583e-01 + <_> + + 0 -1 2800 -1.1377099901437759e-01 + + 1.1719540357589722e+00 8.3681002259254456e-02 + <_> + + 0 -1 2801 -8.4771998226642609e-02 + + 8.1694799661636353e-01 -1.7837500572204590e-01 + <_> + + 0 -1 2802 -2.4552000686526299e-02 + + -1.8627299368381500e-01 1.4340099692344666e-01 + <_> + + 0 -1 2803 -9.0269995853304863e-03 + + 3.2659199833869934e-01 -2.3541299998760223e-01 + <_> + + 0 -1 2804 1.1177999898791313e-02 + + 1.9761200249195099e-01 -2.1701000630855560e-02 + <_> + + 0 -1 2805 -2.9366999864578247e-02 + + -9.3414801359176636e-01 -2.1704999729990959e-02 + <_> + + 0 -1 2806 6.3640000298619270e-03 + + 2.5573000311851501e-02 4.6412798762321472e-01 + <_> + + 0 -1 2807 1.4026000164449215e-02 + + -2.1228599548339844e-01 4.0078800916671753e-01 + <_> + + 0 -1 2808 -1.3341999612748623e-02 + + 7.4202698469161987e-01 2.9001999646425247e-02 + <_> + + 0 -1 2809 2.8422799706459045e-01 + + -1.9243599474430084e-01 4.3631199002265930e-01 + <_> + + 0 -1 2810 -2.3724000155925751e-01 + + 6.9736397266387939e-01 6.9307997822761536e-02 + <_> + + 0 -1 2811 -1.1169700324535370e-01 + + 3.9147201180458069e-01 -2.0922000706195831e-01 + <_> + + 0 -1 2812 1.2787500023841858e-01 + + -7.2555996477603912e-02 3.6088201403617859e-01 + <_> + + 0 -1 2813 -6.2900997698307037e-02 + + 9.5424997806549072e-01 -1.5402799844741821e-01 + <_> + + 0 -1 2814 1.7439000308513641e-02 + + -5.1134999841451645e-02 2.7750301361083984e-01 + <_> + + 0 -1 2815 1.2319999514147639e-03 + + 7.5627997517585754e-02 -3.6456099152565002e-01 + <_> + + 0 -1 2816 2.7495000511407852e-02 + + 5.1844000816345215e-02 4.1562598943710327e-01 + <_> + + 0 -1 2817 -4.3543998152017593e-02 + + 7.1969997882843018e-01 -1.7132200300693512e-01 + <_> + + 0 -1 2818 1.1025999672710896e-02 + + 1.4354600012302399e-01 -6.5403002500534058e-01 + <_> + + 0 -1 2819 2.0865999162197113e-02 + + 4.0089000016450882e-02 -4.5743298530578613e-01 + <_> + + 0 -1 2820 -2.2304000332951546e-02 + + 5.3855001926422119e-01 7.1662999689579010e-02 + <_> + + 0 -1 2821 3.2492000609636307e-02 + + -4.5991998165845871e-02 -1.0047069787979126e+00 + <_> + + 0 -1 2822 1.2269999831914902e-02 + + 3.4334998577833176e-02 4.2431798577308655e-01 + <_> + + 0 -1 2823 8.3820000290870667e-03 + + -2.5850600004196167e-01 2.6263499259948730e-01 + <_> + + 0 -1 2824 3.7353999912738800e-02 + + 1.5692499279975891e-01 -1.0429090261459351e+00 + <_> + + 0 -1 2825 -1.4111000113189220e-02 + + -7.3177701234817505e-01 -2.0276999101042747e-02 + <_> + + 0 -1 2826 5.7066999375820160e-02 + + 8.3360001444816589e-02 1.5661499500274658e+00 + <_> + + 0 -1 2827 4.9680001102387905e-03 + + -3.5318198800086975e-01 1.4698399603366852e-01 + <_> + + 0 -1 2828 -2.4492999538779259e-02 + + 2.8325900435447693e-01 -3.4640000667423010e-03 + <_> + + 0 -1 2829 -1.1254999786615372e-02 + + -8.4017497301101685e-01 -3.6251999437808990e-02 + <_> + + 0 -1 2830 3.4533001482486725e-02 + + 1.4998500049114227e-01 -8.7367099523544312e-01 + <_> + + 0 -1 2831 2.4303000420331955e-02 + + -1.8787500262260437e-01 5.9483999013900757e-01 + <_> + + 0 -1 2832 -7.8790001571178436e-03 + + 4.4315698742866516e-01 -5.6570999324321747e-02 + <_> + + 0 -1 2833 3.5142000764608383e-02 + + -5.6494999676942825e-02 -1.3617190122604370e+00 + <_> + + 0 -1 2834 4.6259998343884945e-03 + + -3.1161698698997498e-01 2.5447699427604675e-01 + <_> + + 0 -1 2835 -8.3131000399589539e-02 + + 1.6424349546432495e+00 -1.4429399371147156e-01 + <_> + + 0 -1 2836 -1.4015999622642994e-02 + + -7.7819502353668213e-01 1.7173300683498383e-01 + <_> + + 0 -1 2837 1.2450000504031777e-03 + + -2.3191399872303009e-01 2.8527900576591492e-01 + <_> + + 0 -1 2838 -1.6803000122308731e-02 + + -3.5965099930763245e-01 2.0412999391555786e-01 + <_> + + 0 -1 2839 -7.6747998595237732e-02 + + 7.8050500154495239e-01 -1.5612800419330597e-01 + <_> + + 0 -1 2840 -2.3671999573707581e-01 + + 1.1813700199127197e+00 7.8111998736858368e-02 + <_> + + 0 -1 2841 -1.0057400166988373e-01 + + -4.7104099392890930e-01 7.9172998666763306e-02 + <_> + + 0 -1 2842 1.3239999534562230e-03 + + 2.2262699902057648e-01 -3.7099799513816833e-01 + <_> + + 0 -1 2843 2.2152999415993690e-02 + + -3.8649000227451324e-02 -9.2274999618530273e-01 + <_> + + 0 -1 2844 -1.1246199905872345e-01 + + 4.1899600625038147e-01 8.0411002039909363e-02 + <_> + + 0 -1 2845 1.6481000930070877e-02 + + -1.6756699979305267e-01 7.1842402219772339e-01 + <_> + + 0 -1 2846 6.8113997578620911e-02 + + 1.5719899535179138e-01 -8.7681102752685547e-01 + <_> + + 0 -1 2847 1.6011999920010567e-02 + + -4.1600000113248825e-03 -5.9327799081802368e-01 + <_> + + 0 -1 2848 4.6640001237392426e-03 + + -3.0153999105095863e-02 4.8345300555229187e-01 + <_> + + 0 -1 2849 6.7579997703433037e-03 + + -2.2667400538921356e-01 3.3662301301956177e-01 + <_> + + 0 -1 2850 4.7289999201893806e-03 + + -6.0373999178409576e-02 3.1458100676536560e-01 + <_> + + 0 -1 2851 2.5869999080896378e-03 + + -2.9872599244117737e-01 1.7787499725818634e-01 + <_> + + 0 -1 2852 2.8989999555051327e-03 + + 2.1890200674533844e-01 -2.9567098617553711e-01 + <_> + + 0 -1 2853 -3.0053999274969101e-02 + + 1.2150429487228394e+00 -1.4354999363422394e-01 + <_> + + 0 -1 2854 1.4181000180542469e-02 + + 1.2451999820768833e-02 5.5490100383758545e-01 + <_> + + 0 -1 2855 -6.0527000576257706e-02 + + -1.4933999776840210e+00 -6.5227001905441284e-02 + <_> + + 0 -1 2856 -1.9882999360561371e-02 + + -3.8526400923728943e-01 1.9761200249195099e-01 + <_> + + 0 -1 2857 3.1218999996781349e-02 + + -2.1281200647354126e-01 2.9446500539779663e-01 + <_> + + 0 -1 2858 1.8271999433636665e-02 + + 9.7200000891461968e-04 6.6814202070236206e-01 + <_> + + 0 -1 2859 1.1089999461546540e-03 + + -6.2467902898788452e-01 -1.6599999507889152e-03 + <_> + + 0 -1 2860 -3.6713998764753342e-02 + + -4.2333900928497314e-01 1.2084700167179108e-01 + <_> + + 0 -1 2861 1.2044000439345837e-02 + + 2.5882000103592873e-02 -5.0732398033142090e-01 + <_> + + 0 -1 2862 7.4749000370502472e-02 + + 1.3184699416160583e-01 -2.1739600598812103e-01 + <_> + + 0 -1 2863 -2.3473200201988220e-01 + + 1.1775610446929932e+00 -1.5114699304103851e-01 + <_> + + 0 -1 2864 1.4096499979496002e-01 + + 3.3991001546382904e-02 3.9923098683357239e-01 + <_> + + 0 -1 2865 6.1789997853338718e-03 + + -3.1806701421737671e-01 1.1681699752807617e-01 + <_> + + 0 -1 2866 -5.7216998189687729e-02 + + 8.4399098157882690e-01 8.3889000117778778e-02 + <_> + + 0 -1 2867 -5.5227000266313553e-02 + + 3.6888301372528076e-01 -1.8913400173187256e-01 + <_> + + 0 -1 2868 -2.1583000198006630e-02 + + -5.2161800861358643e-01 1.5772600471973419e-01 + <_> + + 0 -1 2869 2.5747999548912048e-02 + + -5.9921998530626297e-02 -1.0674990415573120e+00 + <_> + + 0 -1 2870 -1.3098999857902527e-02 + + 7.8958398103713989e-01 5.2099999040365219e-02 + <_> + + 0 -1 2871 2.2799998987466097e-03 + + -1.1704430580139160e+00 -5.9356998652219772e-02 + <_> + + 0 -1 2872 8.8060004636645317e-03 + + 4.1717998683452606e-02 6.6352599859237671e-01 + <_> + + 0 -1 2873 -8.9699998497962952e-03 + + -3.5862699151039124e-01 6.0458000749349594e-02 + <_> + + 0 -1 2874 4.0230001322925091e-03 + + 2.0979399979114532e-01 -2.4806000292301178e-01 + <_> + + 0 -1 2875 2.5017000734806061e-02 + + -1.8795900046825409e-01 3.9547100663185120e-01 + <_> + + 0 -1 2876 -5.9009999968111515e-03 + + 2.5663900375366211e-01 -9.4919003546237946e-02 + <_> + + 0 -1 2877 4.3850000947713852e-03 + + 3.3139001578092575e-02 -4.6075400710105896e-01 + <_> + + 0 -1 2878 -3.3771999180316925e-02 + + -9.8881602287292480e-01 1.4636899530887604e-01 + <_> + + 0 -1 2879 4.4523000717163086e-02 + + -1.3286699354648590e-01 1.5796790122985840e+00 + <_> + + 0 -1 2880 -4.0929000824689865e-02 + + 3.3877098560333252e-01 7.4970997869968414e-02 + <_> + + 0 -1 2881 3.9351999759674072e-02 + + -1.8327899277210236e-01 4.6980699896812439e-01 + <_> + + 0 -1 2882 -7.0322997868061066e-02 + + -9.8322701454162598e-01 1.1808100342750549e-01 + <_> + + 0 -1 2883 3.5743001848459244e-02 + + -3.3050999045372009e-02 -8.3610898256301880e-01 + <_> + + 0 -1 2884 -4.2961999773979187e-02 + + 1.1670809984207153e+00 8.0692000687122345e-02 + <_> + + 0 -1 2885 -2.1007999777793884e-02 + + 6.3869798183441162e-01 -1.7626300454139709e-01 + <_> + + 0 -1 2886 -1.5742200613021851e-01 + + -2.3302499949932098e-01 1.2517499923706055e-01 + <_> + + 0 -1 2887 7.8659998252987862e-03 + + -2.2037999331951141e-01 2.7196800708770752e-01 + <_> + + 0 -1 2888 2.3622000589966774e-02 + + 1.6127300262451172e-01 -4.3329000473022461e-01 + <_> + + 0 -1 2889 7.4692003428936005e-02 + + -1.6991999745368958e-01 5.8884900808334351e-01 + <_> + + 0 -1 2890 -6.4799998654052615e-04 + + 2.5842899084091187e-01 -3.5911999642848969e-02 + <_> + + 0 -1 2891 -1.6290999948978424e-02 + + -7.6764398813247681e-01 -2.0472999662160873e-02 + <_> + + 0 -1 2892 -3.3133998513221741e-02 + + -2.7180099487304688e-01 1.4325700700283051e-01 + <_> + + 0 -1 2893 4.8797998577356339e-02 + + 7.6408997178077698e-02 -4.1445198655128479e-01 + <_> + + 0 -1 2894 2.2869999520480633e-03 + + -3.8628999143838882e-02 2.0753799378871918e-01 + <_> + + 0 -1 2895 4.5304000377655029e-02 + + -1.7777900397777557e-01 6.3461399078369141e-01 + <_> + + 0 -1 2896 1.0705800354480743e-01 + + 1.8972299993038177e-01 -5.1236200332641602e-01 + <_> + + 0 -1 2897 -4.0525000542402267e-02 + + 7.0614999532699585e-01 -1.7803299427032471e-01 + <_> + + 0 -1 2898 3.1968999654054642e-02 + + 6.8149998784065247e-02 6.8733102083206177e-01 + <_> + + 0 -1 2899 -5.7617001235485077e-02 + + 7.5170499086380005e-01 -1.5764999389648438e-01 + <_> + + 0 -1 2900 1.3593999668955803e-02 + + 1.9411900639533997e-01 -2.4561899900436401e-01 + <_> + + 0 -1 2901 7.1396000683307648e-02 + + -4.6881001442670822e-02 -8.8198298215866089e-01 + <_> + + 0 -1 2902 -1.4895999804139137e-02 + + -4.4532400369644165e-01 1.7679899930953979e-01 + <_> + + 0 -1 2903 -1.0026000440120697e-02 + + 6.5122699737548828e-01 -1.6709999740123749e-01 + <_> + + 0 -1 2904 3.7589999847114086e-03 + + -5.8301001787185669e-02 3.4483298659324646e-01 + <_> + + 0 -1 2905 1.6263000667095184e-02 + + -1.5581500530242920e-01 8.6432701349258423e-01 + <_> + + 0 -1 2906 -4.0176000446081161e-02 + + -6.1028599739074707e-01 1.1796399950981140e-01 + <_> + + 0 -1 2907 2.7080999687314034e-02 + + -4.9601998180150986e-02 -8.9990001916885376e-01 + <_> + + 0 -1 2908 5.2420001477003098e-02 + + 1.1297199875116348e-01 -1.0833640098571777e+00 + <_> + + 0 -1 2909 -1.9160000607371330e-02 + + -7.9880100488662720e-01 -3.4079000353813171e-02 + <_> + + 0 -1 2910 -3.7730000913143158e-03 + + -1.9124099612236023e-01 2.1535199880599976e-01 + <_> + + 0 -1 2911 7.5762003660202026e-02 + + -1.3421699404716492e-01 1.6807060241699219e+00 + <_> + + 0 -1 2912 -2.2173000499606133e-02 + + 4.8600998520851135e-01 3.6160000599920750e-03 + + <_> + + <_> + 6 4 12 9 -1. + <_> + 6 7 12 3 3. + <_> + + <_> + 6 4 12 7 -1. + <_> + 10 4 4 7 3. + <_> + + <_> + 3 9 18 9 -1. + <_> + 3 12 18 3 3. + <_> + + <_> + 8 18 9 6 -1. + <_> + 8 20 9 2 3. + <_> + + <_> + 3 5 4 19 -1. + <_> + 5 5 2 19 2. + <_> + + <_> + 6 5 12 16 -1. + <_> + 6 13 12 8 2. + <_> + + <_> + 5 8 12 6 -1. + <_> + 5 11 12 3 2. + <_> + + <_> + 11 14 4 10 -1. + <_> + 11 19 4 5 2. + <_> + + <_> + 4 0 7 6 -1. + <_> + 4 3 7 3 2. + <_> + + <_> + 6 6 12 6 -1. + <_> + 6 8 12 2 3. + <_> + + <_> + 6 4 12 7 -1. + <_> + 10 4 4 7 3. + <_> + + <_> + 1 8 19 12 -1. + <_> + 1 12 19 4 3. + <_> + + <_> + 0 2 24 3 -1. + <_> + 8 2 8 3 3. + <_> + + <_> + 9 9 6 15 -1. + <_> + 9 14 6 5 3. + <_> + + <_> + 5 6 14 10 -1. + <_> + 5 11 14 5 2. + <_> + + <_> + 5 0 14 9 -1. + <_> + 5 3 14 3 3. + <_> + + <_> + 13 11 9 6 -1. + <_> + 16 11 3 6 3. + <_> + + <_> + 7 5 6 10 -1. + <_> + 9 5 2 10 3. + <_> + + <_> + 10 8 6 10 -1. + <_> + 12 8 2 10 3. + <_> + + <_> + 2 5 4 9 -1. + <_> + 4 5 2 9 2. + <_> + + <_> + 18 0 6 11 -1. + <_> + 20 0 2 11 3. + <_> + + <_> + 0 6 24 13 -1. + <_> + 8 6 8 13 3. + <_> + + <_> + 9 6 6 9 -1. + <_> + 11 6 2 9 3. + <_> + + <_> + 7 18 10 6 -1. + <_> + 7 20 10 2 3. + <_> + + <_> + 5 7 14 12 -1. + <_> + 5 13 14 6 2. + <_> + + <_> + 0 3 24 3 -1. + <_> + 8 3 8 3 3. + <_> + + <_> + 5 8 15 6 -1. + <_> + 5 11 15 3 2. + <_> + + <_> + 9 6 5 14 -1. + <_> + 9 13 5 7 2. + <_> + + <_> + 9 5 6 10 -1. + <_> + 11 5 2 10 3. + <_> + + <_> + 6 6 3 12 -1. + <_> + 6 12 3 6 2. + <_> + + <_> + 3 21 18 3 -1. + <_> + 9 21 6 3 3. + <_> + + <_> + 5 6 13 6 -1. + <_> + 5 8 13 2 3. + <_> + + <_> + 18 1 6 15 -1. + <_> + 18 1 3 15 2. + <_> + + <_> + 1 1 6 15 -1. + <_> + 4 1 3 15 2. + <_> + + <_> + 0 8 24 15 -1. + <_> + 8 8 8 15 3. + <_> + + <_> + 5 6 14 12 -1. + <_> + 5 6 7 6 2. + <_> + 12 12 7 6 2. + <_> + + <_> + 2 12 21 12 -1. + <_> + 2 16 21 4 3. + <_> + + <_> + 8 1 4 10 -1. + <_> + 10 1 2 10 2. + <_> + + <_> + 2 13 20 10 -1. + <_> + 2 13 10 10 2. + <_> + + <_> + 0 1 6 13 -1. + <_> + 2 1 2 13 3. + <_> + + <_> + 20 2 4 13 -1. + <_> + 20 2 2 13 2. + <_> + + <_> + 0 5 22 19 -1. + <_> + 11 5 11 19 2. + <_> + + <_> + 18 4 6 9 -1. + <_> + 20 4 2 9 3. + <_> + + <_> + 0 3 6 11 -1. + <_> + 2 3 2 11 3. + <_> + + <_> + 12 1 4 9 -1. + <_> + 12 1 2 9 2. + <_> + + <_> + 0 6 19 3 -1. + <_> + 0 7 19 1 3. + <_> + + <_> + 12 1 4 9 -1. + <_> + 12 1 2 9 2. + <_> + + <_> + 8 1 4 9 -1. + <_> + 10 1 2 9 2. + <_> + + <_> + 5 5 14 14 -1. + <_> + 12 5 7 7 2. + <_> + 5 12 7 7 2. + <_> + + <_> + 1 10 18 2 -1. + <_> + 1 11 18 1 2. + <_> + + <_> + 17 13 4 11 -1. + <_> + 17 13 2 11 2. + <_> + + <_> + 0 4 6 9 -1. + <_> + 0 7 6 3 3. + <_> + + <_> + 6 4 12 9 -1. + <_> + 6 7 12 3 3. + <_> + + <_> + 6 5 12 6 -1. + <_> + 10 5 4 6 3. + <_> + + <_> + 0 1 24 5 -1. + <_> + 8 1 8 5 3. + <_> + + <_> + 4 10 18 6 -1. + <_> + 4 12 18 2 3. + <_> + + <_> + 2 17 12 6 -1. + <_> + 2 17 6 3 2. + <_> + 8 20 6 3 2. + <_> + + <_> + 19 3 4 13 -1. + <_> + 19 3 2 13 2. + <_> + + <_> + 1 3 4 13 -1. + <_> + 3 3 2 13 2. + <_> + + <_> + 0 1 24 23 -1. + <_> + 8 1 8 23 3. + <_> + + <_> + 1 7 8 12 -1. + <_> + 1 11 8 4 3. + <_> + + <_> + 14 7 3 14 -1. + <_> + 14 14 3 7 2. + <_> + + <_> + 3 12 16 6 -1. + <_> + 3 12 8 3 2. + <_> + 11 15 8 3 2. + <_> + + <_> + 6 6 12 6 -1. + <_> + 6 8 12 2 3. + <_> + + <_> + 8 7 6 12 -1. + <_> + 8 13 6 6 2. + <_> + + <_> + 15 15 9 6 -1. + <_> + 15 17 9 2 3. + <_> + + <_> + 1 17 18 3 -1. + <_> + 1 18 18 1 3. + <_> + + <_> + 4 4 16 12 -1. + <_> + 4 10 16 6 2. + <_> + + <_> + 0 1 4 20 -1. + <_> + 2 1 2 20 2. + <_> + + <_> + 3 0 18 2 -1. + <_> + 3 1 18 1 2. + <_> + + <_> + 1 5 20 14 -1. + <_> + 1 5 10 7 2. + <_> + 11 12 10 7 2. + <_> + + <_> + 5 8 14 12 -1. + <_> + 5 12 14 4 3. + <_> + + <_> + 3 14 7 9 -1. + <_> + 3 17 7 3 3. + <_> + + <_> + 14 15 9 6 -1. + <_> + 14 17 9 2 3. + <_> + + <_> + 1 15 9 6 -1. + <_> + 1 17 9 2 3. + <_> + + <_> + 11 6 8 10 -1. + <_> + 15 6 4 5 2. + <_> + 11 11 4 5 2. + <_> + + <_> + 5 5 14 14 -1. + <_> + 5 5 7 7 2. + <_> + 12 12 7 7 2. + <_> + + <_> + 6 0 12 5 -1. + <_> + 10 0 4 5 3. + <_> + + <_> + 9 0 6 9 -1. + <_> + 9 3 6 3 3. + <_> + + <_> + 9 6 6 9 -1. + <_> + 11 6 2 9 3. + <_> + + <_> + 7 0 6 9 -1. + <_> + 9 0 2 9 3. + <_> + + <_> + 10 6 6 9 -1. + <_> + 12 6 2 9 3. + <_> + + <_> + 8 6 6 9 -1. + <_> + 10 6 2 9 3. + <_> + + <_> + 3 8 18 4 -1. + <_> + 9 8 6 4 3. + <_> + + <_> + 6 0 12 9 -1. + <_> + 6 3 12 3 3. + <_> + + <_> + 0 0 24 6 -1. + <_> + 8 0 8 6 3. + <_> + + <_> + 4 7 16 12 -1. + <_> + 4 11 16 4 3. + <_> + + <_> + 11 6 6 6 -1. + <_> + 11 6 3 6 2. + <_> + + <_> + 0 20 24 3 -1. + <_> + 8 20 8 3 3. + <_> + + <_> + 11 6 4 9 -1. + <_> + 11 6 2 9 2. + <_> + + <_> + 4 13 15 4 -1. + <_> + 9 13 5 4 3. + <_> + + <_> + 11 6 4 9 -1. + <_> + 11 6 2 9 2. + <_> + + <_> + 9 6 4 9 -1. + <_> + 11 6 2 9 2. + <_> + + <_> + 9 12 6 12 -1. + <_> + 9 18 6 6 2. + <_> + + <_> + 1 22 18 2 -1. + <_> + 1 23 18 1 2. + <_> + + <_> + 10 7 4 10 -1. + <_> + 10 12 4 5 2. + <_> + + <_> + 6 7 8 10 -1. + <_> + 6 12 8 5 2. + <_> + + <_> + 7 6 10 6 -1. + <_> + 7 8 10 2 3. + <_> + + <_> + 0 14 10 4 -1. + <_> + 0 16 10 2 2. + <_> + + <_> + 6 18 18 2 -1. + <_> + 6 19 18 1 2. + <_> + + <_> + 1 1 22 3 -1. + <_> + 1 2 22 1 3. + <_> + + <_> + 6 16 18 3 -1. + <_> + 6 17 18 1 3. + <_> + + <_> + 2 4 6 15 -1. + <_> + 5 4 3 15 2. + <_> + + <_> + 20 4 4 10 -1. + <_> + 20 4 2 10 2. + <_> + + <_> + 0 4 4 10 -1. + <_> + 2 4 2 10 2. + <_> + + <_> + 2 16 20 6 -1. + <_> + 12 16 10 3 2. + <_> + 2 19 10 3 2. + <_> + + <_> + 0 12 8 9 -1. + <_> + 4 12 4 9 2. + <_> + + <_> + 12 0 6 9 -1. + <_> + 14 0 2 9 3. + <_> + + <_> + 5 10 6 6 -1. + <_> + 8 10 3 6 2. + <_> + + <_> + 11 8 12 6 -1. + <_> + 17 8 6 3 2. + <_> + 11 11 6 3 2. + <_> + + <_> + 0 8 12 6 -1. + <_> + 0 8 6 3 2. + <_> + 6 11 6 3 2. + <_> + + <_> + 12 0 6 9 -1. + <_> + 14 0 2 9 3. + <_> + + <_> + 6 0 6 9 -1. + <_> + 8 0 2 9 3. + <_> + + <_> + 8 14 9 6 -1. + <_> + 8 16 9 2 3. + <_> + + <_> + 0 16 9 6 -1. + <_> + 0 18 9 2 3. + <_> + + <_> + 10 8 6 10 -1. + <_> + 12 8 2 10 3. + <_> + + <_> + 3 19 12 3 -1. + <_> + 9 19 6 3 2. + <_> + + <_> + 2 10 20 2 -1. + <_> + 2 11 20 1 2. + <_> + + <_> + 2 9 18 12 -1. + <_> + 2 9 9 6 2. + <_> + 11 15 9 6 2. + <_> + + <_> + 3 0 18 24 -1. + <_> + 3 0 9 24 2. + <_> + + <_> + 5 6 14 10 -1. + <_> + 5 6 7 5 2. + <_> + 12 11 7 5 2. + <_> + + <_> + 9 5 10 12 -1. + <_> + 14 5 5 6 2. + <_> + 9 11 5 6 2. + <_> + + <_> + 4 5 12 12 -1. + <_> + 4 5 6 6 2. + <_> + 10 11 6 6 2. + <_> + + <_> + 4 14 18 3 -1. + <_> + 4 15 18 1 3. + <_> + + <_> + 6 13 8 8 -1. + <_> + 6 17 8 4 2. + <_> + + <_> + 3 16 18 6 -1. + <_> + 3 19 18 3 2. + <_> + + <_> + 0 0 6 6 -1. + <_> + 3 0 3 6 2. + <_> + + <_> + 6 6 12 18 -1. + <_> + 10 6 4 18 3. + <_> + + <_> + 6 1 4 14 -1. + <_> + 8 1 2 14 2. + <_> + + <_> + 3 2 19 2 -1. + <_> + 3 3 19 1 2. + <_> + + <_> + 1 8 22 13 -1. + <_> + 12 8 11 13 2. + <_> + + <_> + 8 9 11 4 -1. + <_> + 8 11 11 2 2. + <_> + + <_> + 0 12 15 10 -1. + <_> + 5 12 5 10 3. + <_> + + <_> + 12 16 12 6 -1. + <_> + 16 16 4 6 3. + <_> + + <_> + 0 16 12 6 -1. + <_> + 4 16 4 6 3. + <_> + + <_> + 19 1 5 12 -1. + <_> + 19 5 5 4 3. + <_> + + <_> + 0 2 24 4 -1. + <_> + 8 2 8 4 3. + <_> + + <_> + 6 8 12 4 -1. + <_> + 6 10 12 2 2. + <_> + + <_> + 7 5 9 6 -1. + <_> + 10 5 3 6 3. + <_> + + <_> + 9 17 6 6 -1. + <_> + 9 20 6 3 2. + <_> + + <_> + 0 7 22 15 -1. + <_> + 0 12 22 5 3. + <_> + + <_> + 4 1 17 9 -1. + <_> + 4 4 17 3 3. + <_> + + <_> + 7 5 6 10 -1. + <_> + 9 5 2 10 3. + <_> + + <_> + 18 1 6 8 -1. + <_> + 18 1 3 8 2. + <_> + + <_> + 0 1 6 7 -1. + <_> + 3 1 3 7 2. + <_> + + <_> + 18 0 6 22 -1. + <_> + 18 0 3 22 2. + <_> + + <_> + 0 0 6 22 -1. + <_> + 3 0 3 22 2. + <_> + + <_> + 16 7 8 16 -1. + <_> + 16 7 4 16 2. + <_> + + <_> + 2 10 19 6 -1. + <_> + 2 12 19 2 3. + <_> + + <_> + 9 9 6 12 -1. + <_> + 9 13 6 4 3. + <_> + + <_> + 2 15 17 6 -1. + <_> + 2 17 17 2 3. + <_> + + <_> + 14 7 3 14 -1. + <_> + 14 14 3 7 2. + <_> + + <_> + 5 6 8 10 -1. + <_> + 5 6 4 5 2. + <_> + 9 11 4 5 2. + <_> + + <_> + 15 8 9 11 -1. + <_> + 18 8 3 11 3. + <_> + + <_> + 0 8 9 11 -1. + <_> + 3 8 3 11 3. + <_> + + <_> + 8 6 10 18 -1. + <_> + 8 15 10 9 2. + <_> + + <_> + 7 7 3 14 -1. + <_> + 7 14 3 7 2. + <_> + + <_> + 0 14 24 8 -1. + <_> + 8 14 8 8 3. + <_> + + <_> + 1 10 18 14 -1. + <_> + 10 10 9 14 2. + <_> + + <_> + 14 12 6 6 -1. + <_> + 14 15 6 3 2. + <_> + + <_> + 7 0 10 16 -1. + <_> + 7 0 5 8 2. + <_> + 12 8 5 8 2. + <_> + + <_> + 10 0 9 6 -1. + <_> + 13 0 3 6 3. + <_> + + <_> + 4 3 16 4 -1. + <_> + 12 3 8 4 2. + <_> + + <_> + 10 0 9 6 -1. + <_> + 13 0 3 6 3. + <_> + + <_> + 1 1 20 4 -1. + <_> + 1 1 10 2 2. + <_> + 11 3 10 2 2. + <_> + + <_> + 10 0 9 6 -1. + <_> + 13 0 3 6 3. + <_> + + <_> + 5 0 9 6 -1. + <_> + 8 0 3 6 3. + <_> + + <_> + 8 18 10 6 -1. + <_> + 8 20 10 2 3. + <_> + + <_> + 6 3 6 9 -1. + <_> + 8 3 2 9 3. + <_> + + <_> + 7 3 12 6 -1. + <_> + 7 5 12 2 3. + <_> + + <_> + 0 10 18 3 -1. + <_> + 0 11 18 1 3. + <_> + + <_> + 1 10 22 3 -1. + <_> + 1 11 22 1 3. + <_> + + <_> + 5 11 8 8 -1. + <_> + 9 11 4 8 2. + <_> + + <_> + 12 11 6 6 -1. + <_> + 12 11 3 6 2. + <_> + + <_> + 6 11 6 6 -1. + <_> + 9 11 3 6 2. + <_> + + <_> + 7 10 11 6 -1. + <_> + 7 12 11 2 3. + <_> + + <_> + 0 13 24 4 -1. + <_> + 0 13 12 2 2. + <_> + 12 15 12 2 2. + <_> + + <_> + 2 4 22 12 -1. + <_> + 13 4 11 6 2. + <_> + 2 10 11 6 2. + <_> + + <_> + 2 0 20 17 -1. + <_> + 12 0 10 17 2. + <_> + + <_> + 14 0 2 24 -1. + <_> + 14 0 1 24 2. + <_> + + <_> + 8 0 2 24 -1. + <_> + 9 0 1 24 2. + <_> + + <_> + 14 1 2 22 -1. + <_> + 14 1 1 22 2. + <_> + + <_> + 8 1 2 22 -1. + <_> + 9 1 1 22 2. + <_> + + <_> + 17 6 3 18 -1. + <_> + 18 6 1 18 3. + <_> + + <_> + 6 14 9 6 -1. + <_> + 6 16 9 2 3. + <_> + + <_> + 13 14 9 4 -1. + <_> + 13 16 9 2 2. + <_> + + <_> + 3 18 18 3 -1. + <_> + 3 19 18 1 3. + <_> + + <_> + 9 4 8 18 -1. + <_> + 13 4 4 9 2. + <_> + 9 13 4 9 2. + <_> + + <_> + 0 17 18 3 -1. + <_> + 0 18 18 1 3. + <_> + + <_> + 0 2 12 4 -1. + <_> + 6 2 6 4 2. + <_> + + <_> + 6 8 14 6 -1. + <_> + 6 11 14 3 2. + <_> + + <_> + 7 5 6 6 -1. + <_> + 10 5 3 6 2. + <_> + + <_> + 10 5 6 16 -1. + <_> + 10 13 6 8 2. + <_> + + <_> + 1 4 9 16 -1. + <_> + 4 4 3 16 3. + <_> + + <_> + 5 0 18 9 -1. + <_> + 5 3 18 3 3. + <_> + + <_> + 9 15 5 8 -1. + <_> + 9 19 5 4 2. + <_> + + <_> + 20 0 4 9 -1. + <_> + 20 0 2 9 2. + <_> + + <_> + 2 0 18 3 -1. + <_> + 2 1 18 1 3. + <_> + + <_> + 5 22 19 2 -1. + <_> + 5 23 19 1 2. + <_> + + <_> + 0 0 4 9 -1. + <_> + 2 0 2 9 2. + <_> + + <_> + 5 6 19 18 -1. + <_> + 5 12 19 6 3. + <_> + + <_> + 0 1 6 9 -1. + <_> + 2 1 2 9 3. + <_> + + <_> + 6 5 14 12 -1. + <_> + 13 5 7 6 2. + <_> + 6 11 7 6 2. + <_> + + <_> + 0 1 20 2 -1. + <_> + 0 2 20 1 2. + <_> + + <_> + 1 2 22 3 -1. + <_> + 1 3 22 1 3. + <_> + + <_> + 2 8 7 9 -1. + <_> + 2 11 7 3 3. + <_> + + <_> + 2 12 22 4 -1. + <_> + 13 12 11 2 2. + <_> + 2 14 11 2 2. + <_> + + <_> + 0 12 22 4 -1. + <_> + 0 12 11 2 2. + <_> + 11 14 11 2 2. + <_> + + <_> + 9 7 6 11 -1. + <_> + 11 7 2 11 3. + <_> + + <_> + 7 1 9 6 -1. + <_> + 10 1 3 6 3. + <_> + + <_> + 11 2 4 10 -1. + <_> + 11 7 4 5 2. + <_> + + <_> + 6 4 12 12 -1. + <_> + 6 10 12 6 2. + <_> + + <_> + 18 1 6 15 -1. + <_> + 18 6 6 5 3. + <_> + + <_> + 3 15 18 3 -1. + <_> + 3 16 18 1 3. + <_> + + <_> + 18 5 6 9 -1. + <_> + 18 8 6 3 3. + <_> + + <_> + 1 5 16 6 -1. + <_> + 1 5 8 3 2. + <_> + 9 8 8 3 2. + <_> + + <_> + 11 0 6 9 -1. + <_> + 13 0 2 9 3. + <_> + + <_> + 0 4 24 14 -1. + <_> + 0 4 12 7 2. + <_> + 12 11 12 7 2. + <_> + + <_> + 13 0 4 13 -1. + <_> + 13 0 2 13 2. + <_> + + <_> + 7 0 4 13 -1. + <_> + 9 0 2 13 2. + <_> + + <_> + 11 6 6 9 -1. + <_> + 13 6 2 9 3. + <_> + + <_> + 8 7 6 9 -1. + <_> + 10 7 2 9 3. + <_> + + <_> + 13 17 9 6 -1. + <_> + 13 19 9 2 3. + <_> + + <_> + 2 18 14 6 -1. + <_> + 2 18 7 3 2. + <_> + 9 21 7 3 2. + <_> + + <_> + 3 18 18 4 -1. + <_> + 12 18 9 2 2. + <_> + 3 20 9 2 2. + <_> + + <_> + 0 20 15 4 -1. + <_> + 5 20 5 4 3. + <_> + + <_> + 9 15 15 9 -1. + <_> + 14 15 5 9 3. + <_> + + <_> + 4 4 16 4 -1. + <_> + 4 6 16 2 2. + <_> + + <_> + 7 6 10 6 -1. + <_> + 7 8 10 2 3. + <_> + + <_> + 0 14 15 10 -1. + <_> + 5 14 5 10 3. + <_> + + <_> + 7 9 10 14 -1. + <_> + 12 9 5 7 2. + <_> + 7 16 5 7 2. + <_> + + <_> + 7 6 6 9 -1. + <_> + 9 6 2 9 3. + <_> + + <_> + 3 6 18 3 -1. + <_> + 3 7 18 1 3. + <_> + + <_> + 0 10 18 3 -1. + <_> + 0 11 18 1 3. + <_> + + <_> + 3 16 18 4 -1. + <_> + 12 16 9 2 2. + <_> + 3 18 9 2 2. + <_> + + <_> + 4 6 14 6 -1. + <_> + 4 6 7 3 2. + <_> + 11 9 7 3 2. + <_> + + <_> + 13 0 2 18 -1. + <_> + 13 0 1 18 2. + <_> + + <_> + 9 0 2 18 -1. + <_> + 10 0 1 18 2. + <_> + + <_> + 5 7 15 10 -1. + <_> + 10 7 5 10 3. + <_> + + <_> + 1 20 21 4 -1. + <_> + 8 20 7 4 3. + <_> + + <_> + 10 5 5 18 -1. + <_> + 10 14 5 9 2. + <_> + + <_> + 0 2 24 6 -1. + <_> + 0 2 12 3 2. + <_> + 12 5 12 3 2. + <_> + + <_> + 1 1 22 8 -1. + <_> + 12 1 11 4 2. + <_> + 1 5 11 4 2. + <_> + + <_> + 4 0 15 9 -1. + <_> + 4 3 15 3 3. + <_> + + <_> + 0 0 24 19 -1. + <_> + 8 0 8 19 3. + <_> + + <_> + 2 21 18 3 -1. + <_> + 11 21 9 3 2. + <_> + + <_> + 9 7 10 4 -1. + <_> + 9 7 5 4 2. + <_> + + <_> + 5 7 10 4 -1. + <_> + 10 7 5 4 2. + <_> + + <_> + 17 8 6 16 -1. + <_> + 20 8 3 8 2. + <_> + 17 16 3 8 2. + <_> + + <_> + 1 15 20 4 -1. + <_> + 1 15 10 2 2. + <_> + 11 17 10 2 2. + <_> + + <_> + 14 15 10 6 -1. + <_> + 14 17 10 2 3. + <_> + + <_> + 3 0 16 9 -1. + <_> + 3 3 16 3 3. + <_> + + <_> + 15 6 7 15 -1. + <_> + 15 11 7 5 3. + <_> + + <_> + 9 1 6 13 -1. + <_> + 11 1 2 13 3. + <_> + + <_> + 17 2 6 14 -1. + <_> + 17 2 3 14 2. + <_> + + <_> + 3 14 12 10 -1. + <_> + 3 14 6 5 2. + <_> + 9 19 6 5 2. + <_> + + <_> + 7 6 10 6 -1. + <_> + 7 8 10 2 3. + <_> + + <_> + 1 2 6 14 -1. + <_> + 4 2 3 14 2. + <_> + + <_> + 10 4 5 12 -1. + <_> + 10 8 5 4 3. + <_> + + <_> + 0 17 24 5 -1. + <_> + 8 17 8 5 3. + <_> + + <_> + 15 7 5 12 -1. + <_> + 15 11 5 4 3. + <_> + + <_> + 3 1 6 12 -1. + <_> + 3 1 3 6 2. + <_> + 6 7 3 6 2. + <_> + + <_> + 12 13 6 6 -1. + <_> + 12 16 6 3 2. + <_> + + <_> + 6 13 6 6 -1. + <_> + 6 16 6 3 2. + <_> + + <_> + 14 6 3 16 -1. + <_> + 14 14 3 8 2. + <_> + + <_> + 1 12 13 6 -1. + <_> + 1 14 13 2 3. + <_> + + <_> + 13 1 4 9 -1. + <_> + 13 1 2 9 2. + <_> + + <_> + 7 0 9 6 -1. + <_> + 10 0 3 6 3. + <_> + + <_> + 12 2 6 9 -1. + <_> + 12 2 3 9 2. + <_> + + <_> + 6 2 6 9 -1. + <_> + 9 2 3 9 2. + <_> + + <_> + 6 18 12 6 -1. + <_> + 6 20 12 2 3. + <_> + + <_> + 7 6 6 9 -1. + <_> + 9 6 2 9 3. + <_> + + <_> + 7 7 12 3 -1. + <_> + 7 7 6 3 2. + <_> + + <_> + 8 3 8 21 -1. + <_> + 8 10 8 7 3. + <_> + + <_> + 7 4 10 12 -1. + <_> + 7 8 10 4 3. + <_> + + <_> + 0 1 6 9 -1. + <_> + 0 4 6 3 3. + <_> + + <_> + 15 2 2 20 -1. + <_> + 15 2 1 20 2. + <_> + + <_> + 0 3 6 9 -1. + <_> + 0 6 6 3 3. + <_> + + <_> + 15 3 2 21 -1. + <_> + 15 3 1 21 2. + <_> + + <_> + 7 0 2 23 -1. + <_> + 8 0 1 23 2. + <_> + + <_> + 15 8 9 4 -1. + <_> + 15 10 9 2 2. + <_> + + <_> + 0 8 9 4 -1. + <_> + 0 10 9 2 2. + <_> + + <_> + 8 14 9 6 -1. + <_> + 8 16 9 2 3. + <_> + + <_> + 0 14 9 6 -1. + <_> + 0 16 9 2 3. + <_> + + <_> + 3 10 18 4 -1. + <_> + 9 10 6 4 3. + <_> + + <_> + 0 0 24 19 -1. + <_> + 8 0 8 19 3. + <_> + + <_> + 9 1 8 12 -1. + <_> + 9 7 8 6 2. + <_> + + <_> + 10 6 4 10 -1. + <_> + 12 6 2 10 2. + <_> + + <_> + 7 9 10 12 -1. + <_> + 12 9 5 6 2. + <_> + 7 15 5 6 2. + <_> + + <_> + 5 0 3 19 -1. + <_> + 6 0 1 19 3. + <_> + + <_> + 14 0 6 10 -1. + <_> + 16 0 2 10 3. + <_> + + <_> + 2 0 6 12 -1. + <_> + 2 0 3 6 2. + <_> + 5 6 3 6 2. + <_> + + <_> + 0 11 24 2 -1. + <_> + 0 12 24 1 2. + <_> + + <_> + 4 9 13 4 -1. + <_> + 4 11 13 2 2. + <_> + + <_> + 9 8 6 9 -1. + <_> + 9 11 6 3 3. + <_> + + <_> + 0 12 16 4 -1. + <_> + 0 14 16 2 2. + <_> + + <_> + 18 12 6 9 -1. + <_> + 18 15 6 3 3. + <_> + + <_> + 0 12 6 9 -1. + <_> + 0 15 6 3 3. + <_> + + <_> + 8 7 10 4 -1. + <_> + 8 7 5 4 2. + <_> + + <_> + 8 7 6 9 -1. + <_> + 10 7 2 9 3. + <_> + + <_> + 11 0 6 9 -1. + <_> + 13 0 2 9 3. + <_> + + <_> + 7 0 6 9 -1. + <_> + 9 0 2 9 3. + <_> + + <_> + 12 3 6 15 -1. + <_> + 14 3 2 15 3. + <_> + + <_> + 6 3 6 15 -1. + <_> + 8 3 2 15 3. + <_> + + <_> + 15 2 9 4 -1. + <_> + 15 4 9 2 2. + <_> + + <_> + 5 10 6 7 -1. + <_> + 8 10 3 7 2. + <_> + + <_> + 9 14 6 10 -1. + <_> + 9 19 6 5 2. + <_> + + <_> + 7 13 5 8 -1. + <_> + 7 17 5 4 2. + <_> + + <_> + 14 5 3 16 -1. + <_> + 14 13 3 8 2. + <_> + + <_> + 2 17 18 3 -1. + <_> + 2 18 18 1 3. + <_> + + <_> + 5 18 19 3 -1. + <_> + 5 19 19 1 3. + <_> + + <_> + 9 0 6 9 -1. + <_> + 11 0 2 9 3. + <_> + + <_> + 12 4 3 18 -1. + <_> + 13 4 1 18 3. + <_> + + <_> + 9 4 3 18 -1. + <_> + 10 4 1 18 3. + <_> + + <_> + 3 3 18 9 -1. + <_> + 9 3 6 9 3. + <_> + + <_> + 6 1 6 14 -1. + <_> + 8 1 2 14 3. + <_> + + <_> + 12 16 9 6 -1. + <_> + 12 19 9 3 2. + <_> + + <_> + 1 3 20 16 -1. + <_> + 1 3 10 8 2. + <_> + 11 11 10 8 2. + <_> + + <_> + 12 5 6 12 -1. + <_> + 15 5 3 6 2. + <_> + 12 11 3 6 2. + <_> + + <_> + 1 2 22 16 -1. + <_> + 1 2 11 8 2. + <_> + 12 10 11 8 2. + <_> + + <_> + 10 14 5 10 -1. + <_> + 10 19 5 5 2. + <_> + + <_> + 3 21 18 3 -1. + <_> + 3 22 18 1 3. + <_> + + <_> + 10 14 6 10 -1. + <_> + 12 14 2 10 3. + <_> + + <_> + 0 2 24 4 -1. + <_> + 8 2 8 4 3. + <_> + + <_> + 6 4 12 9 -1. + <_> + 6 7 12 3 3. + <_> + + <_> + 6 6 12 5 -1. + <_> + 10 6 4 5 3. + <_> + + <_> + 5 8 14 12 -1. + <_> + 5 12 14 4 3. + <_> + + <_> + 4 14 8 10 -1. + <_> + 4 14 4 5 2. + <_> + 8 19 4 5 2. + <_> + + <_> + 11 6 5 14 -1. + <_> + 11 13 5 7 2. + <_> + + <_> + 7 6 3 16 -1. + <_> + 7 14 3 8 2. + <_> + + <_> + 3 7 18 8 -1. + <_> + 9 7 6 8 3. + <_> + + <_> + 2 3 20 2 -1. + <_> + 2 4 20 1 2. + <_> + + <_> + 3 12 19 6 -1. + <_> + 3 14 19 2 3. + <_> + + <_> + 8 6 6 9 -1. + <_> + 10 6 2 9 3. + <_> + + <_> + 16 6 6 14 -1. + <_> + 16 6 3 14 2. + <_> + + <_> + 7 9 6 12 -1. + <_> + 9 9 2 12 3. + <_> + + <_> + 18 6 6 18 -1. + <_> + 21 6 3 9 2. + <_> + 18 15 3 9 2. + <_> + + <_> + 0 6 6 18 -1. + <_> + 0 6 3 9 2. + <_> + 3 15 3 9 2. + <_> + + <_> + 18 2 6 9 -1. + <_> + 18 5 6 3 3. + <_> + + <_> + 3 18 15 6 -1. + <_> + 3 20 15 2 3. + <_> + + <_> + 18 2 6 9 -1. + <_> + 18 5 6 3 3. + <_> + + <_> + 0 2 6 9 -1. + <_> + 0 5 6 3 3. + <_> + + <_> + 5 10 18 2 -1. + <_> + 5 11 18 1 2. + <_> + + <_> + 6 0 12 6 -1. + <_> + 6 2 12 2 3. + <_> + + <_> + 10 0 6 9 -1. + <_> + 12 0 2 9 3. + <_> + + <_> + 8 0 6 9 -1. + <_> + 10 0 2 9 3. + <_> + + <_> + 15 12 9 6 -1. + <_> + 15 14 9 2 3. + <_> + + <_> + 3 6 13 6 -1. + <_> + 3 8 13 2 3. + <_> + + <_> + 15 12 9 6 -1. + <_> + 15 14 9 2 3. + <_> + + <_> + 2 5 6 15 -1. + <_> + 5 5 3 15 2. + <_> + + <_> + 8 8 9 6 -1. + <_> + 11 8 3 6 3. + <_> + + <_> + 8 6 3 14 -1. + <_> + 8 13 3 7 2. + <_> + + <_> + 15 12 9 6 -1. + <_> + 15 14 9 2 3. + <_> + + <_> + 4 12 10 4 -1. + <_> + 9 12 5 4 2. + <_> + + <_> + 13 1 4 19 -1. + <_> + 13 1 2 19 2. + <_> + + <_> + 7 1 4 19 -1. + <_> + 9 1 2 19 2. + <_> + + <_> + 18 9 6 9 -1. + <_> + 18 12 6 3 3. + <_> + + <_> + 1 21 18 3 -1. + <_> + 1 22 18 1 3. + <_> + + <_> + 14 13 10 9 -1. + <_> + 14 16 10 3 3. + <_> + + <_> + 1 13 22 4 -1. + <_> + 1 13 11 2 2. + <_> + 12 15 11 2 2. + <_> + + <_> + 4 6 16 6 -1. + <_> + 12 6 8 3 2. + <_> + 4 9 8 3 2. + <_> + + <_> + 1 0 18 22 -1. + <_> + 1 0 9 11 2. + <_> + 10 11 9 11 2. + <_> + + <_> + 10 7 8 14 -1. + <_> + 14 7 4 7 2. + <_> + 10 14 4 7 2. + <_> + + <_> + 0 4 6 20 -1. + <_> + 0 4 3 10 2. + <_> + 3 14 3 10 2. + <_> + + <_> + 15 0 6 9 -1. + <_> + 17 0 2 9 3. + <_> + + <_> + 3 0 6 9 -1. + <_> + 5 0 2 9 3. + <_> + + <_> + 15 12 6 12 -1. + <_> + 18 12 3 6 2. + <_> + 15 18 3 6 2. + <_> + + <_> + 3 12 6 12 -1. + <_> + 3 12 3 6 2. + <_> + 6 18 3 6 2. + <_> + + <_> + 15 12 9 6 -1. + <_> + 15 14 9 2 3. + <_> + + <_> + 0 12 9 6 -1. + <_> + 0 14 9 2 3. + <_> + + <_> + 4 14 19 3 -1. + <_> + 4 15 19 1 3. + <_> + + <_> + 2 13 19 3 -1. + <_> + 2 14 19 1 3. + <_> + + <_> + 14 15 10 6 -1. + <_> + 14 17 10 2 3. + <_> + + <_> + 6 0 10 12 -1. + <_> + 6 0 5 6 2. + <_> + 11 6 5 6 2. + <_> + + <_> + 17 1 6 12 -1. + <_> + 20 1 3 6 2. + <_> + 17 7 3 6 2. + <_> + + <_> + 1 1 6 12 -1. + <_> + 1 1 3 6 2. + <_> + 4 7 3 6 2. + <_> + + <_> + 16 14 6 9 -1. + <_> + 16 17 6 3 3. + <_> + + <_> + 7 3 9 12 -1. + <_> + 7 9 9 6 2. + <_> + + <_> + 12 1 4 12 -1. + <_> + 12 7 4 6 2. + <_> + + <_> + 4 0 14 8 -1. + <_> + 4 4 14 4 2. + <_> + + <_> + 10 6 6 9 -1. + <_> + 12 6 2 9 3. + <_> + + <_> + 2 10 18 3 -1. + <_> + 8 10 6 3 3. + <_> + + <_> + 15 15 9 6 -1. + <_> + 15 17 9 2 3. + <_> + + <_> + 0 1 21 23 -1. + <_> + 7 1 7 23 3. + <_> + + <_> + 6 9 17 4 -1. + <_> + 6 11 17 2 2. + <_> + + <_> + 1 0 11 18 -1. + <_> + 1 6 11 6 3. + <_> + + <_> + 6 15 13 6 -1. + <_> + 6 17 13 2 3. + <_> + + <_> + 0 15 9 6 -1. + <_> + 0 17 9 2 3. + <_> + + <_> + 8 7 15 4 -1. + <_> + 13 7 5 4 3. + <_> + + <_> + 9 12 6 9 -1. + <_> + 9 15 6 3 3. + <_> + + <_> + 6 8 18 3 -1. + <_> + 12 8 6 3 3. + <_> + + <_> + 0 14 24 4 -1. + <_> + 8 14 8 4 3. + <_> + + <_> + 16 10 3 12 -1. + <_> + 16 16 3 6 2. + <_> + + <_> + 0 3 24 3 -1. + <_> + 0 4 24 1 3. + <_> + + <_> + 14 17 10 6 -1. + <_> + 14 19 10 2 3. + <_> + + <_> + 1 13 18 3 -1. + <_> + 7 13 6 3 3. + <_> + + <_> + 5 0 18 9 -1. + <_> + 5 3 18 3 3. + <_> + + <_> + 4 3 16 9 -1. + <_> + 4 6 16 3 3. + <_> + + <_> + 16 5 3 12 -1. + <_> + 16 11 3 6 2. + <_> + + <_> + 0 7 18 4 -1. + <_> + 6 7 6 4 3. + <_> + + <_> + 10 6 6 9 -1. + <_> + 12 6 2 9 3. + <_> + + <_> + 9 8 6 10 -1. + <_> + 11 8 2 10 3. + <_> + + <_> + 9 15 6 9 -1. + <_> + 11 15 2 9 3. + <_> + + <_> + 3 1 18 21 -1. + <_> + 12 1 9 21 2. + <_> + + <_> + 6 8 12 7 -1. + <_> + 6 8 6 7 2. + <_> + + <_> + 8 5 6 9 -1. + <_> + 10 5 2 9 3. + <_> + + <_> + 0 2 24 4 -1. + <_> + 8 2 8 4 3. + <_> + + <_> + 14 7 5 12 -1. + <_> + 14 11 5 4 3. + <_> + + <_> + 5 7 5 12 -1. + <_> + 5 11 5 4 3. + <_> + + <_> + 9 6 6 9 -1. + <_> + 11 6 2 9 3. + <_> + + <_> + 0 1 6 17 -1. + <_> + 3 1 3 17 2. + <_> + + <_> + 3 1 19 9 -1. + <_> + 3 4 19 3 3. + <_> + + <_> + 3 18 12 6 -1. + <_> + 3 18 6 3 2. + <_> + 9 21 6 3 2. + <_> + + <_> + 20 4 4 19 -1. + <_> + 20 4 2 19 2. + <_> + + <_> + 0 16 10 7 -1. + <_> + 5 16 5 7 2. + <_> + + <_> + 8 7 10 12 -1. + <_> + 13 7 5 6 2. + <_> + 8 13 5 6 2. + <_> + + <_> + 6 7 10 12 -1. + <_> + 6 7 5 6 2. + <_> + 11 13 5 6 2. + <_> + + <_> + 9 2 9 6 -1. + <_> + 12 2 3 6 3. + <_> + + <_> + 1 20 21 4 -1. + <_> + 8 20 7 4 3. + <_> + + <_> + 9 12 9 6 -1. + <_> + 9 14 9 2 3. + <_> + + <_> + 7 2 9 6 -1. + <_> + 10 2 3 6 3. + <_> + + <_> + 13 0 4 14 -1. + <_> + 13 0 2 14 2. + <_> + + <_> + 7 0 4 14 -1. + <_> + 9 0 2 14 2. + <_> + + <_> + 14 15 9 6 -1. + <_> + 14 17 9 2 3. + <_> + + <_> + 2 8 18 5 -1. + <_> + 8 8 6 5 3. + <_> + + <_> + 18 3 6 11 -1. + <_> + 20 3 2 11 3. + <_> + + <_> + 6 5 11 14 -1. + <_> + 6 12 11 7 2. + <_> + + <_> + 18 4 6 9 -1. + <_> + 18 7 6 3 3. + <_> + + <_> + 7 6 9 6 -1. + <_> + 7 8 9 2 3. + <_> + + <_> + 18 4 6 9 -1. + <_> + 18 7 6 3 3. + <_> + + <_> + 0 4 6 9 -1. + <_> + 0 7 6 3 3. + <_> + + <_> + 9 4 9 4 -1. + <_> + 9 6 9 2 2. + <_> + + <_> + 0 22 19 2 -1. + <_> + 0 23 19 1 2. + <_> + + <_> + 17 14 6 9 -1. + <_> + 17 17 6 3 3. + <_> + + <_> + 1 14 6 9 -1. + <_> + 1 17 6 3 3. + <_> + + <_> + 14 11 4 9 -1. + <_> + 14 11 2 9 2. + <_> + + <_> + 6 11 4 9 -1. + <_> + 8 11 2 9 2. + <_> + + <_> + 3 9 18 7 -1. + <_> + 9 9 6 7 3. + <_> + + <_> + 9 12 6 10 -1. + <_> + 9 17 6 5 2. + <_> + + <_> + 12 0 6 9 -1. + <_> + 14 0 2 9 3. + <_> + + <_> + 6 0 6 9 -1. + <_> + 8 0 2 9 3. + <_> + + <_> + 6 17 18 3 -1. + <_> + 6 18 18 1 3. + <_> + + <_> + 1 17 18 3 -1. + <_> + 1 18 18 1 3. + <_> + + <_> + 10 6 11 12 -1. + <_> + 10 12 11 6 2. + <_> + + <_> + 5 6 14 6 -1. + <_> + 5 6 7 3 2. + <_> + 12 9 7 3 2. + <_> + + <_> + 5 4 15 4 -1. + <_> + 5 6 15 2 2. + <_> + + <_> + 0 0 22 2 -1. + <_> + 0 1 22 1 2. + <_> + + <_> + 0 0 24 24 -1. + <_> + 8 0 8 24 3. + <_> + + <_> + 1 15 18 4 -1. + <_> + 10 15 9 4 2. + <_> + + <_> + 6 8 12 9 -1. + <_> + 6 11 12 3 3. + <_> + + <_> + 4 12 7 12 -1. + <_> + 4 16 7 4 3. + <_> + + <_> + 1 2 22 6 -1. + <_> + 12 2 11 3 2. + <_> + 1 5 11 3 2. + <_> + + <_> + 5 20 14 3 -1. + <_> + 12 20 7 3 2. + <_> + + <_> + 0 0 24 16 -1. + <_> + 12 0 12 8 2. + <_> + 0 8 12 8 2. + <_> + + <_> + 3 13 18 4 -1. + <_> + 3 13 9 2 2. + <_> + 12 15 9 2 2. + <_> + + <_> + 2 10 22 2 -1. + <_> + 2 11 22 1 2. + <_> + + <_> + 6 3 11 8 -1. + <_> + 6 7 11 4 2. + <_> + + <_> + 14 5 6 6 -1. + <_> + 14 8 6 3 2. + <_> + + <_> + 0 7 24 6 -1. + <_> + 0 9 24 2 3. + <_> + + <_> + 14 0 10 10 -1. + <_> + 19 0 5 5 2. + <_> + 14 5 5 5 2. + <_> + + <_> + 0 0 10 10 -1. + <_> + 0 0 5 5 2. + <_> + 5 5 5 5 2. + <_> + + <_> + 0 1 24 4 -1. + <_> + 12 1 12 2 2. + <_> + 0 3 12 2 2. + <_> + + <_> + 0 17 18 3 -1. + <_> + 0 18 18 1 3. + <_> + + <_> + 5 15 16 6 -1. + <_> + 13 15 8 3 2. + <_> + 5 18 8 3 2. + <_> + + <_> + 3 15 16 6 -1. + <_> + 3 15 8 3 2. + <_> + 11 18 8 3 2. + <_> + + <_> + 6 16 18 3 -1. + <_> + 6 17 18 1 3. + <_> + + <_> + 0 13 21 10 -1. + <_> + 0 18 21 5 2. + <_> + + <_> + 13 0 6 24 -1. + <_> + 15 0 2 24 3. + <_> + + <_> + 7 4 6 11 -1. + <_> + 9 4 2 11 3. + <_> + + <_> + 9 5 9 6 -1. + <_> + 12 5 3 6 3. + <_> + + <_> + 1 4 2 20 -1. + <_> + 1 14 2 10 2. + <_> + + <_> + 13 0 6 24 -1. + <_> + 15 0 2 24 3. + <_> + + <_> + 5 0 6 24 -1. + <_> + 7 0 2 24 3. + <_> + + <_> + 16 7 6 14 -1. + <_> + 19 7 3 7 2. + <_> + 16 14 3 7 2. + <_> + + <_> + 4 7 4 12 -1. + <_> + 6 7 2 12 2. + <_> + + <_> + 0 5 24 14 -1. + <_> + 8 5 8 14 3. + <_> + + <_> + 5 13 10 6 -1. + <_> + 5 15 10 2 3. + <_> + + <_> + 12 0 6 9 -1. + <_> + 14 0 2 9 3. + <_> + + <_> + 2 7 6 14 -1. + <_> + 2 7 3 7 2. + <_> + 5 14 3 7 2. + <_> + + <_> + 15 2 9 15 -1. + <_> + 18 2 3 15 3. + <_> + + <_> + 0 2 6 9 -1. + <_> + 2 2 2 9 3. + <_> + + <_> + 12 2 10 14 -1. + <_> + 17 2 5 7 2. + <_> + 12 9 5 7 2. + <_> + + <_> + 11 6 2 18 -1. + <_> + 12 6 1 18 2. + <_> + + <_> + 9 5 15 6 -1. + <_> + 14 5 5 6 3. + <_> + + <_> + 8 6 6 10 -1. + <_> + 10 6 2 10 3. + <_> + + <_> + 12 0 6 9 -1. + <_> + 14 0 2 9 3. + <_> + + <_> + 3 3 9 7 -1. + <_> + 6 3 3 7 3. + <_> + + <_> + 6 7 14 3 -1. + <_> + 6 7 7 3 2. + <_> + + <_> + 7 7 8 6 -1. + <_> + 11 7 4 6 2. + <_> + + <_> + 12 7 7 12 -1. + <_> + 12 13 7 6 2. + <_> + + <_> + 10 6 4 18 -1. + <_> + 10 6 2 9 2. + <_> + 12 15 2 9 2. + <_> + + <_> + 16 14 6 9 -1. + <_> + 16 17 6 3 3. + <_> + + <_> + 4 0 6 13 -1. + <_> + 6 0 2 13 3. + <_> + + <_> + 2 2 21 3 -1. + <_> + 9 2 7 3 3. + <_> + + <_> + 5 4 5 12 -1. + <_> + 5 8 5 4 3. + <_> + + <_> + 10 3 4 10 -1. + <_> + 10 8 4 5 2. + <_> + + <_> + 8 4 5 8 -1. + <_> + 8 8 5 4 2. + <_> + + <_> + 6 0 11 9 -1. + <_> + 6 3 11 3 3. + <_> + + <_> + 6 6 12 5 -1. + <_> + 10 6 4 5 3. + <_> + + <_> + 0 0 24 5 -1. + <_> + 8 0 8 5 3. + <_> + + <_> + 1 10 23 6 -1. + <_> + 1 12 23 2 3. + <_> + + <_> + 3 21 18 3 -1. + <_> + 9 21 6 3 3. + <_> + + <_> + 3 6 21 6 -1. + <_> + 3 8 21 2 3. + <_> + + <_> + 0 5 6 12 -1. + <_> + 2 5 2 12 3. + <_> + + <_> + 10 2 4 15 -1. + <_> + 10 7 4 5 3. + <_> + + <_> + 8 7 8 10 -1. + <_> + 8 12 8 5 2. + <_> + + <_> + 5 7 15 12 -1. + <_> + 10 7 5 12 3. + <_> + + <_> + 0 17 10 6 -1. + <_> + 0 19 10 2 3. + <_> + + <_> + 14 18 9 6 -1. + <_> + 14 20 9 2 3. + <_> + + <_> + 9 6 6 16 -1. + <_> + 9 14 6 8 2. + <_> + + <_> + 14 18 9 6 -1. + <_> + 14 20 9 2 3. + <_> + + <_> + 1 18 9 6 -1. + <_> + 1 20 9 2 3. + <_> + + <_> + 15 9 9 6 -1. + <_> + 15 11 9 2 3. + <_> + + <_> + 0 9 9 6 -1. + <_> + 0 11 9 2 3. + <_> + + <_> + 17 3 6 9 -1. + <_> + 19 3 2 9 3. + <_> + + <_> + 2 17 18 3 -1. + <_> + 2 18 18 1 3. + <_> + + <_> + 3 15 21 6 -1. + <_> + 3 17 21 2 3. + <_> + + <_> + 9 17 6 6 -1. + <_> + 9 20 6 3 2. + <_> + + <_> + 18 3 6 9 -1. + <_> + 18 6 6 3 3. + <_> + + <_> + 0 3 6 9 -1. + <_> + 0 6 6 3 3. + <_> + + <_> + 4 0 16 10 -1. + <_> + 12 0 8 5 2. + <_> + 4 5 8 5 2. + <_> + + <_> + 2 0 10 16 -1. + <_> + 2 0 5 8 2. + <_> + 7 8 5 8 2. + <_> + + <_> + 14 0 10 5 -1. + <_> + 14 0 5 5 2. + <_> + + <_> + 0 0 10 5 -1. + <_> + 5 0 5 5 2. + <_> + + <_> + 18 3 6 10 -1. + <_> + 18 3 3 10 2. + <_> + + <_> + 5 11 12 6 -1. + <_> + 5 11 6 3 2. + <_> + 11 14 6 3 2. + <_> + + <_> + 21 0 3 18 -1. + <_> + 22 0 1 18 3. + <_> + + <_> + 6 0 6 9 -1. + <_> + 8 0 2 9 3. + <_> + + <_> + 8 8 9 7 -1. + <_> + 11 8 3 7 3. + <_> + + <_> + 7 12 8 10 -1. + <_> + 7 12 4 5 2. + <_> + 11 17 4 5 2. + <_> + + <_> + 21 0 3 18 -1. + <_> + 22 0 1 18 3. + <_> + + <_> + 10 6 4 9 -1. + <_> + 12 6 2 9 2. + <_> + + <_> + 15 0 9 6 -1. + <_> + 15 2 9 2 3. + <_> + + <_> + 0 2 24 3 -1. + <_> + 0 3 24 1 3. + <_> + + <_> + 11 7 6 9 -1. + <_> + 13 7 2 9 3. + <_> + + <_> + 7 6 6 10 -1. + <_> + 9 6 2 10 3. + <_> + + <_> + 12 1 6 12 -1. + <_> + 14 1 2 12 3. + <_> + + <_> + 6 4 12 12 -1. + <_> + 6 10 12 6 2. + <_> + + <_> + 14 3 2 21 -1. + <_> + 14 3 1 21 2. + <_> + + <_> + 6 1 12 8 -1. + <_> + 6 5 12 4 2. + <_> + + <_> + 3 0 18 8 -1. + <_> + 3 4 18 4 2. + <_> + + <_> + 3 0 18 3 -1. + <_> + 3 1 18 1 3. + <_> + + <_> + 0 13 24 4 -1. + <_> + 12 13 12 2 2. + <_> + 0 15 12 2 2. + <_> + + <_> + 10 5 4 9 -1. + <_> + 12 5 2 9 2. + <_> + + <_> + 11 1 6 9 -1. + <_> + 13 1 2 9 3. + <_> + + <_> + 6 2 6 22 -1. + <_> + 8 2 2 22 3. + <_> + + <_> + 16 10 8 14 -1. + <_> + 20 10 4 7 2. + <_> + 16 17 4 7 2. + <_> + + <_> + 3 4 16 15 -1. + <_> + 3 9 16 5 3. + <_> + + <_> + 16 10 8 14 -1. + <_> + 20 10 4 7 2. + <_> + 16 17 4 7 2. + <_> + + <_> + 0 10 8 14 -1. + <_> + 0 10 4 7 2. + <_> + 4 17 4 7 2. + <_> + + <_> + 10 14 11 6 -1. + <_> + 10 17 11 3 2. + <_> + + <_> + 0 7 24 9 -1. + <_> + 8 7 8 9 3. + <_> + + <_> + 13 1 4 16 -1. + <_> + 13 1 2 16 2. + <_> + + <_> + 7 1 4 16 -1. + <_> + 9 1 2 16 2. + <_> + + <_> + 5 5 16 8 -1. + <_> + 13 5 8 4 2. + <_> + 5 9 8 4 2. + <_> + + <_> + 0 9 6 9 -1. + <_> + 0 12 6 3 3. + <_> + + <_> + 6 16 18 3 -1. + <_> + 6 17 18 1 3. + <_> + + <_> + 3 12 6 9 -1. + <_> + 3 15 6 3 3. + <_> + + <_> + 8 14 9 6 -1. + <_> + 8 16 9 2 3. + <_> + + <_> + 2 13 8 10 -1. + <_> + 2 13 4 5 2. + <_> + 6 18 4 5 2. + <_> + + <_> + 15 5 3 18 -1. + <_> + 15 11 3 6 3. + <_> + + <_> + 3 5 18 3 -1. + <_> + 3 6 18 1 3. + <_> + + <_> + 17 5 6 11 -1. + <_> + 19 5 2 11 3. + <_> + + <_> + 1 5 6 11 -1. + <_> + 3 5 2 11 3. + <_> + + <_> + 19 1 4 9 -1. + <_> + 19 1 2 9 2. + <_> + + <_> + 1 1 4 9 -1. + <_> + 3 1 2 9 2. + <_> + + <_> + 4 15 18 9 -1. + <_> + 4 15 9 9 2. + <_> + + <_> + 6 9 12 4 -1. + <_> + 6 11 12 2 2. + <_> + + <_> + 15 2 9 6 -1. + <_> + 15 4 9 2 3. + <_> + + <_> + 0 2 9 6 -1. + <_> + 0 4 9 2 3. + <_> + + <_> + 15 0 6 17 -1. + <_> + 17 0 2 17 3. + <_> + + <_> + 3 0 6 17 -1. + <_> + 5 0 2 17 3. + <_> + + <_> + 8 17 9 4 -1. + <_> + 8 19 9 2 2. + <_> + + <_> + 6 5 3 18 -1. + <_> + 6 11 3 6 3. + <_> + + <_> + 5 2 14 12 -1. + <_> + 5 8 14 6 2. + <_> + + <_> + 10 2 3 12 -1. + <_> + 10 8 3 6 2. + <_> + + <_> + 10 7 14 15 -1. + <_> + 10 12 14 5 3. + <_> + + <_> + 0 7 14 15 -1. + <_> + 0 12 14 5 3. + <_> + + <_> + 15 0 9 6 -1. + <_> + 15 2 9 2 3. + <_> + + <_> + 0 0 9 6 -1. + <_> + 0 2 9 2 3. + <_> + + <_> + 12 6 6 14 -1. + <_> + 14 6 2 14 3. + <_> + + <_> + 9 7 6 9 -1. + <_> + 11 7 2 9 3. + <_> + + <_> + 12 6 6 15 -1. + <_> + 14 6 2 15 3. + <_> + + <_> + 6 6 6 15 -1. + <_> + 8 6 2 15 3. + <_> + + <_> + 15 3 8 9 -1. + <_> + 15 3 4 9 2. + <_> + + <_> + 0 0 9 21 -1. + <_> + 3 0 3 21 3. + <_> + + <_> + 11 9 8 12 -1. + <_> + 11 13 8 4 3. + <_> + + <_> + 6 7 10 12 -1. + <_> + 6 7 5 6 2. + <_> + 11 13 5 6 2. + <_> + + <_> + 10 6 4 18 -1. + <_> + 12 6 2 9 2. + <_> + 10 15 2 9 2. + <_> + + <_> + 0 0 6 9 -1. + <_> + 0 3 6 3 3. + <_> + + <_> + 3 14 18 3 -1. + <_> + 3 15 18 1 3. + <_> + + <_> + 3 14 8 10 -1. + <_> + 3 14 4 5 2. + <_> + 7 19 4 5 2. + <_> + + <_> + 0 12 24 4 -1. + <_> + 12 12 12 2 2. + <_> + 0 14 12 2 2. + <_> + + <_> + 0 2 3 20 -1. + <_> + 1 2 1 20 3. + <_> + + <_> + 12 16 10 8 -1. + <_> + 17 16 5 4 2. + <_> + 12 20 5 4 2. + <_> + + <_> + 2 16 10 8 -1. + <_> + 2 16 5 4 2. + <_> + 7 20 5 4 2. + <_> + + <_> + 7 0 10 9 -1. + <_> + 7 3 10 3 3. + <_> + + <_> + 0 0 24 3 -1. + <_> + 8 0 8 3 3. + <_> + + <_> + 3 8 15 4 -1. + <_> + 3 10 15 2 2. + <_> + + <_> + 6 5 12 6 -1. + <_> + 10 5 4 6 3. + <_> + + <_> + 5 13 14 6 -1. + <_> + 5 16 14 3 2. + <_> + + <_> + 11 14 4 10 -1. + <_> + 11 19 4 5 2. + <_> + + <_> + 0 6 6 7 -1. + <_> + 3 6 3 7 2. + <_> + + <_> + 18 0 6 6 -1. + <_> + 18 0 3 6 2. + <_> + + <_> + 3 1 18 3 -1. + <_> + 3 2 18 1 3. + <_> + + <_> + 9 6 14 18 -1. + <_> + 9 12 14 6 3. + <_> + + <_> + 0 0 6 6 -1. + <_> + 3 0 3 6 2. + <_> + + <_> + 13 11 6 6 -1. + <_> + 13 11 3 6 2. + <_> + + <_> + 0 20 24 3 -1. + <_> + 8 20 8 3 3. + <_> + + <_> + 13 11 6 7 -1. + <_> + 13 11 3 7 2. + <_> + + <_> + 4 12 10 6 -1. + <_> + 4 14 10 2 3. + <_> + + <_> + 13 11 6 6 -1. + <_> + 13 11 3 6 2. + <_> + + <_> + 5 11 6 7 -1. + <_> + 8 11 3 7 2. + <_> + + <_> + 7 4 11 12 -1. + <_> + 7 8 11 4 3. + <_> + + <_> + 6 15 10 4 -1. + <_> + 6 17 10 2 2. + <_> + + <_> + 14 0 6 9 -1. + <_> + 16 0 2 9 3. + <_> + + <_> + 4 0 6 9 -1. + <_> + 6 0 2 9 3. + <_> + + <_> + 11 2 4 15 -1. + <_> + 11 7 4 5 3. + <_> + + <_> + 0 0 20 3 -1. + <_> + 0 1 20 1 3. + <_> + + <_> + 13 18 10 6 -1. + <_> + 13 20 10 2 3. + <_> + + <_> + 2 7 6 11 -1. + <_> + 5 7 3 11 2. + <_> + + <_> + 10 14 10 9 -1. + <_> + 10 17 10 3 3. + <_> + + <_> + 8 2 4 9 -1. + <_> + 10 2 2 9 2. + <_> + + <_> + 14 3 10 4 -1. + <_> + 14 3 5 4 2. + <_> + + <_> + 6 6 12 6 -1. + <_> + 6 6 6 3 2. + <_> + 12 9 6 3 2. + <_> + + <_> + 8 8 8 10 -1. + <_> + 12 8 4 5 2. + <_> + 8 13 4 5 2. + <_> + + <_> + 7 4 4 16 -1. + <_> + 7 12 4 8 2. + <_> + + <_> + 8 8 9 4 -1. + <_> + 8 10 9 2 2. + <_> + + <_> + 5 2 14 9 -1. + <_> + 5 5 14 3 3. + <_> + + <_> + 3 16 19 8 -1. + <_> + 3 20 19 4 2. + <_> + + <_> + 0 0 10 8 -1. + <_> + 5 0 5 8 2. + <_> + + <_> + 5 2 16 18 -1. + <_> + 5 2 8 18 2. + <_> + + <_> + 0 11 24 11 -1. + <_> + 8 11 8 11 3. + <_> + + <_> + 3 3 18 5 -1. + <_> + 3 3 9 5 2. + <_> + + <_> + 1 16 18 3 -1. + <_> + 1 17 18 1 3. + <_> + + <_> + 5 17 18 3 -1. + <_> + 5 18 18 1 3. + <_> + + <_> + 1 13 9 6 -1. + <_> + 1 15 9 2 3. + <_> + + <_> + 1 9 23 10 -1. + <_> + 1 14 23 5 2. + <_> + + <_> + 3 7 18 3 -1. + <_> + 3 8 18 1 3. + <_> + + <_> + 6 8 12 3 -1. + <_> + 6 8 6 3 2. + <_> + + <_> + 6 2 3 22 -1. + <_> + 7 2 1 22 3. + <_> + + <_> + 14 17 10 6 -1. + <_> + 14 19 10 2 3. + <_> + + <_> + 1 18 10 6 -1. + <_> + 1 20 10 2 3. + <_> + + <_> + 11 3 6 12 -1. + <_> + 13 3 2 12 3. + <_> + + <_> + 10 6 4 9 -1. + <_> + 12 6 2 9 2. + <_> + + <_> + 11 0 6 9 -1. + <_> + 13 0 2 9 3. + <_> + + <_> + 7 0 6 9 -1. + <_> + 9 0 2 9 3. + <_> + + <_> + 12 10 9 6 -1. + <_> + 15 10 3 6 3. + <_> + + <_> + 2 11 6 9 -1. + <_> + 5 11 3 9 2. + <_> + + <_> + 14 5 3 19 -1. + <_> + 15 5 1 19 3. + <_> + + <_> + 6 6 9 6 -1. + <_> + 6 8 9 2 3. + <_> + + <_> + 14 5 3 19 -1. + <_> + 15 5 1 19 3. + <_> + + <_> + 0 3 6 9 -1. + <_> + 0 6 6 3 3. + <_> + + <_> + 5 21 18 3 -1. + <_> + 5 22 18 1 3. + <_> + + <_> + 1 10 18 4 -1. + <_> + 7 10 6 4 3. + <_> + + <_> + 13 4 8 10 -1. + <_> + 17 4 4 5 2. + <_> + 13 9 4 5 2. + <_> + + <_> + 7 8 9 6 -1. + <_> + 10 8 3 6 3. + <_> + + <_> + 12 9 9 8 -1. + <_> + 15 9 3 8 3. + <_> + + <_> + 0 6 5 12 -1. + <_> + 0 10 5 4 3. + <_> + + <_> + 7 6 14 6 -1. + <_> + 14 6 7 3 2. + <_> + 7 9 7 3 2. + <_> + + <_> + 7 5 3 19 -1. + <_> + 8 5 1 19 3. + <_> + + <_> + 8 4 15 20 -1. + <_> + 13 4 5 20 3. + <_> + + <_> + 1 4 15 20 -1. + <_> + 6 4 5 20 3. + <_> + + <_> + 13 10 6 6 -1. + <_> + 13 10 3 6 2. + <_> + + <_> + 5 10 6 6 -1. + <_> + 8 10 3 6 2. + <_> + + <_> + 14 2 6 14 -1. + <_> + 17 2 3 7 2. + <_> + 14 9 3 7 2. + <_> + + <_> + 4 2 6 14 -1. + <_> + 4 2 3 7 2. + <_> + 7 9 3 7 2. + <_> + + <_> + 12 4 6 7 -1. + <_> + 12 4 3 7 2. + <_> + + <_> + 9 4 6 9 -1. + <_> + 11 4 2 9 3. + <_> + + <_> + 11 4 8 10 -1. + <_> + 11 4 4 10 2. + <_> + + <_> + 5 4 8 10 -1. + <_> + 9 4 4 10 2. + <_> + + <_> + 8 18 10 6 -1. + <_> + 8 20 10 2 3. + <_> + + <_> + 1 18 21 6 -1. + <_> + 1 20 21 2 3. + <_> + + <_> + 9 2 12 6 -1. + <_> + 9 2 6 6 2. + <_> + + <_> + 3 2 12 6 -1. + <_> + 9 2 6 6 2. + <_> + + <_> + 12 5 12 6 -1. + <_> + 18 5 6 3 2. + <_> + 12 8 6 3 2. + <_> + + <_> + 8 8 6 9 -1. + <_> + 8 11 6 3 3. + <_> + + <_> + 2 7 20 6 -1. + <_> + 2 9 20 2 3. + <_> + + <_> + 0 5 12 6 -1. + <_> + 0 5 6 3 2. + <_> + 6 8 6 3 2. + <_> + + <_> + 14 14 8 10 -1. + <_> + 18 14 4 5 2. + <_> + 14 19 4 5 2. + <_> + + <_> + 2 14 8 10 -1. + <_> + 2 14 4 5 2. + <_> + 6 19 4 5 2. + <_> + + <_> + 2 11 20 13 -1. + <_> + 2 11 10 13 2. + <_> + + <_> + 6 9 12 5 -1. + <_> + 12 9 6 5 2. + <_> + + <_> + 5 6 16 6 -1. + <_> + 13 6 8 3 2. + <_> + 5 9 8 3 2. + <_> + + <_> + 1 19 9 4 -1. + <_> + 1 21 9 2 2. + <_> + + <_> + 7 5 12 5 -1. + <_> + 11 5 4 5 3. + <_> + + <_> + 3 5 14 12 -1. + <_> + 3 5 7 6 2. + <_> + 10 11 7 6 2. + <_> + + <_> + 9 4 9 6 -1. + <_> + 12 4 3 6 3. + <_> + + <_> + 2 6 19 3 -1. + <_> + 2 7 19 1 3. + <_> + + <_> + 18 10 6 9 -1. + <_> + 18 13 6 3 3. + <_> + + <_> + 3 7 18 2 -1. + <_> + 3 8 18 1 2. + <_> + + <_> + 20 2 4 18 -1. + <_> + 22 2 2 9 2. + <_> + 20 11 2 9 2. + <_> + + <_> + 2 18 20 3 -1. + <_> + 2 19 20 1 3. + <_> + + <_> + 1 9 22 3 -1. + <_> + 1 10 22 1 3. + <_> + + <_> + 0 2 4 18 -1. + <_> + 0 2 2 9 2. + <_> + 2 11 2 9 2. + <_> + + <_> + 19 0 4 23 -1. + <_> + 19 0 2 23 2. + <_> + + <_> + 0 3 6 19 -1. + <_> + 3 3 3 19 2. + <_> + + <_> + 18 2 6 9 -1. + <_> + 20 2 2 9 3. + <_> + + <_> + 0 5 10 6 -1. + <_> + 0 7 10 2 3. + <_> + + <_> + 7 0 12 12 -1. + <_> + 13 0 6 6 2. + <_> + 7 6 6 6 2. + <_> + + <_> + 0 3 24 6 -1. + <_> + 0 3 12 3 2. + <_> + 12 6 12 3 2. + <_> + + <_> + 10 14 4 10 -1. + <_> + 10 19 4 5 2. + <_> + + <_> + 8 9 4 15 -1. + <_> + 8 14 4 5 3. + <_> + + <_> + 4 11 17 6 -1. + <_> + 4 14 17 3 2. + <_> + + <_> + 2 5 18 8 -1. + <_> + 2 5 9 4 2. + <_> + 11 9 9 4 2. + <_> + + <_> + 7 6 14 6 -1. + <_> + 14 6 7 3 2. + <_> + 7 9 7 3 2. + <_> + + <_> + 3 6 14 6 -1. + <_> + 3 6 7 3 2. + <_> + 10 9 7 3 2. + <_> + + <_> + 16 5 3 18 -1. + <_> + 17 5 1 18 3. + <_> + + <_> + 5 5 3 18 -1. + <_> + 6 5 1 18 3. + <_> + + <_> + 10 10 14 4 -1. + <_> + 10 12 14 2 2. + <_> + + <_> + 4 10 9 4 -1. + <_> + 4 12 9 2 2. + <_> + + <_> + 2 0 18 9 -1. + <_> + 2 3 18 3 3. + <_> + + <_> + 6 3 12 8 -1. + <_> + 10 3 4 8 3. + <_> + + <_> + 1 1 8 5 -1. + <_> + 5 1 4 5 2. + <_> + + <_> + 12 7 7 8 -1. + <_> + 12 11 7 4 2. + <_> + + <_> + 0 12 22 4 -1. + <_> + 0 14 22 2 2. + <_> + + <_> + 15 6 4 15 -1. + <_> + 15 11 4 5 3. + <_> + + <_> + 5 7 7 8 -1. + <_> + 5 11 7 4 2. + <_> + + <_> + 8 18 9 4 -1. + <_> + 8 20 9 2 2. + <_> + + <_> + 1 2 22 4 -1. + <_> + 1 4 22 2 2. + <_> + + <_> + 17 3 6 17 -1. + <_> + 19 3 2 17 3. + <_> + + <_> + 8 2 8 18 -1. + <_> + 8 11 8 9 2. + <_> + + <_> + 17 0 6 12 -1. + <_> + 20 0 3 6 2. + <_> + 17 6 3 6 2. + <_> + + <_> + 7 0 6 9 -1. + <_> + 9 0 2 9 3. + <_> + + <_> + 15 5 9 12 -1. + <_> + 15 11 9 6 2. + <_> + + <_> + 2 22 18 2 -1. + <_> + 2 23 18 1 2. + <_> + + <_> + 10 10 12 6 -1. + <_> + 16 10 6 3 2. + <_> + 10 13 6 3 2. + <_> + + <_> + 0 1 4 11 -1. + <_> + 2 1 2 11 2. + <_> + + <_> + 20 0 4 10 -1. + <_> + 20 0 2 10 2. + <_> + + <_> + 1 3 6 17 -1. + <_> + 3 3 2 17 3. + <_> + + <_> + 15 15 9 6 -1. + <_> + 15 17 9 2 3. + <_> + + <_> + 0 13 8 9 -1. + <_> + 0 16 8 3 3. + <_> + + <_> + 16 8 6 12 -1. + <_> + 16 12 6 4 3. + <_> + + <_> + 2 8 6 12 -1. + <_> + 2 12 6 4 3. + <_> + + <_> + 10 2 4 15 -1. + <_> + 10 7 4 5 3. + <_> + + <_> + 1 5 19 3 -1. + <_> + 1 6 19 1 3. + <_> + + <_> + 11 8 9 7 -1. + <_> + 14 8 3 7 3. + <_> + + <_> + 3 8 12 9 -1. + <_> + 3 11 12 3 3. + <_> + + <_> + 3 6 18 3 -1. + <_> + 3 7 18 1 3. + <_> + + <_> + 10 0 4 12 -1. + <_> + 10 6 4 6 2. + <_> + + <_> + 3 9 18 14 -1. + <_> + 3 9 9 14 2. + <_> + + <_> + 0 0 4 9 -1. + <_> + 2 0 2 9 2. + <_> + + <_> + 12 5 4 18 -1. + <_> + 12 5 2 18 2. + <_> + + <_> + 8 5 4 18 -1. + <_> + 10 5 2 18 2. + <_> + + <_> + 10 5 6 10 -1. + <_> + 12 5 2 10 3. + <_> + + <_> + 9 4 4 11 -1. + <_> + 11 4 2 11 2. + <_> + + <_> + 4 16 18 3 -1. + <_> + 4 17 18 1 3. + <_> + + <_> + 0 16 20 3 -1. + <_> + 0 17 20 1 3. + <_> + + <_> + 9 9 6 12 -1. + <_> + 9 13 6 4 3. + <_> + + <_> + 8 13 8 8 -1. + <_> + 8 17 8 4 2. + <_> + + <_> + 13 10 3 12 -1. + <_> + 13 16 3 6 2. + <_> + + <_> + 5 9 14 14 -1. + <_> + 5 9 7 7 2. + <_> + 12 16 7 7 2. + <_> + + <_> + 0 0 24 10 -1. + <_> + 12 0 12 5 2. + <_> + 0 5 12 5 2. + <_> + + <_> + 1 11 18 2 -1. + <_> + 1 12 18 1 2. + <_> + + <_> + 19 5 5 12 -1. + <_> + 19 9 5 4 3. + <_> + + <_> + 0 5 5 12 -1. + <_> + 0 9 5 4 3. + <_> + + <_> + 16 6 8 18 -1. + <_> + 20 6 4 9 2. + <_> + 16 15 4 9 2. + <_> + + <_> + 0 6 8 18 -1. + <_> + 0 6 4 9 2. + <_> + 4 15 4 9 2. + <_> + + <_> + 12 5 12 12 -1. + <_> + 18 5 6 6 2. + <_> + 12 11 6 6 2. + <_> + + <_> + 7 6 6 9 -1. + <_> + 9 6 2 9 3. + <_> + + <_> + 9 13 6 11 -1. + <_> + 11 13 2 11 3. + <_> + + <_> + 0 5 12 12 -1. + <_> + 0 5 6 6 2. + <_> + 6 11 6 6 2. + <_> + + <_> + 1 2 23 3 -1. + <_> + 1 3 23 1 3. + <_> + + <_> + 1 15 19 3 -1. + <_> + 1 16 19 1 3. + <_> + + <_> + 13 17 11 4 -1. + <_> + 13 19 11 2 2. + <_> + + <_> + 0 13 8 5 -1. + <_> + 4 13 4 5 2. + <_> + + <_> + 12 10 10 4 -1. + <_> + 12 10 5 4 2. + <_> + + <_> + 4 6 9 9 -1. + <_> + 4 9 9 3 3. + <_> + + <_> + 15 14 9 6 -1. + <_> + 15 16 9 2 3. + <_> + + <_> + 1 12 9 6 -1. + <_> + 1 14 9 2 3. + <_> + + <_> + 3 10 20 8 -1. + <_> + 13 10 10 4 2. + <_> + 3 14 10 4 2. + <_> + + <_> + 2 0 9 18 -1. + <_> + 5 0 3 18 3. + <_> + + <_> + 13 11 9 10 -1. + <_> + 16 11 3 10 3. + <_> + + <_> + 1 2 8 5 -1. + <_> + 5 2 4 5 2. + <_> + + <_> + 3 4 21 6 -1. + <_> + 10 4 7 6 3. + <_> + + <_> + 7 0 10 14 -1. + <_> + 7 0 5 7 2. + <_> + 12 7 5 7 2. + <_> + + <_> + 12 17 12 4 -1. + <_> + 12 19 12 2 2. + <_> + + <_> + 0 6 23 4 -1. + <_> + 0 8 23 2 2. + <_> + + <_> + 13 10 8 10 -1. + <_> + 17 10 4 5 2. + <_> + 13 15 4 5 2. + <_> + + <_> + 0 16 18 3 -1. + <_> + 0 17 18 1 3. + <_> + + <_> + 15 16 9 4 -1. + <_> + 15 18 9 2 2. + <_> + + <_> + 0 16 9 4 -1. + <_> + 0 18 9 2 2. + <_> + + <_> + 13 11 6 6 -1. + <_> + 13 11 3 6 2. + <_> + + <_> + 5 11 6 6 -1. + <_> + 8 11 3 6 2. + <_> + + <_> + 0 3 24 6 -1. + <_> + 12 3 12 3 2. + <_> + 0 6 12 3 2. + <_> + + <_> + 2 4 18 3 -1. + <_> + 2 5 18 1 3. + <_> + + <_> + 0 0 24 4 -1. + <_> + 12 0 12 2 2. + <_> + 0 2 12 2 2. + <_> + + <_> + 1 16 18 3 -1. + <_> + 1 17 18 1 3. + <_> + + <_> + 15 15 9 6 -1. + <_> + 15 17 9 2 3. + <_> + + <_> + 0 15 9 6 -1. + <_> + 0 17 9 2 3. + <_> + + <_> + 6 17 18 3 -1. + <_> + 6 18 18 1 3. + <_> + + <_> + 8 8 6 10 -1. + <_> + 10 8 2 10 3. + <_> + + <_> + 10 6 6 9 -1. + <_> + 12 6 2 9 3. + <_> + + <_> + 8 8 5 8 -1. + <_> + 8 12 5 4 2. + <_> + + <_> + 12 8 6 8 -1. + <_> + 12 12 6 4 2. + <_> + + <_> + 6 5 6 11 -1. + <_> + 8 5 2 11 3. + <_> + + <_> + 13 6 8 9 -1. + <_> + 13 9 8 3 3. + <_> + + <_> + 1 7 21 6 -1. + <_> + 1 9 21 2 3. + <_> + + <_> + 15 5 3 12 -1. + <_> + 15 11 3 6 2. + <_> + + <_> + 6 9 11 12 -1. + <_> + 6 13 11 4 3. + <_> + + <_> + 13 8 10 8 -1. + <_> + 18 8 5 4 2. + <_> + 13 12 5 4 2. + <_> + + <_> + 5 8 12 3 -1. + <_> + 11 8 6 3 2. + <_> + + <_> + 6 11 18 4 -1. + <_> + 12 11 6 4 3. + <_> + + <_> + 0 0 22 22 -1. + <_> + 0 11 22 11 2. + <_> + + <_> + 11 2 6 8 -1. + <_> + 11 6 6 4 2. + <_> + + <_> + 9 0 6 9 -1. + <_> + 11 0 2 9 3. + <_> + + <_> + 10 0 6 9 -1. + <_> + 12 0 2 9 3. + <_> + + <_> + 8 3 6 14 -1. + <_> + 8 3 3 7 2. + <_> + 11 10 3 7 2. + <_> + + <_> + 3 10 18 8 -1. + <_> + 9 10 6 8 3. + <_> + + <_> + 10 0 3 14 -1. + <_> + 10 7 3 7 2. + <_> + + <_> + 4 3 16 20 -1. + <_> + 4 13 16 10 2. + <_> + + <_> + 9 4 6 10 -1. + <_> + 11 4 2 10 3. + <_> + + <_> + 5 0 16 4 -1. + <_> + 5 2 16 2 2. + <_> + + <_> + 2 5 18 4 -1. + <_> + 8 5 6 4 3. + <_> + + <_> + 13 0 6 9 -1. + <_> + 15 0 2 9 3. + <_> + + <_> + 8 4 8 5 -1. + <_> + 12 4 4 5 2. + <_> + + <_> + 12 10 10 4 -1. + <_> + 12 10 5 4 2. + <_> + + <_> + 2 10 10 4 -1. + <_> + 7 10 5 4 2. + <_> + + <_> + 7 11 12 5 -1. + <_> + 11 11 4 5 3. + <_> + + <_> + 3 10 8 10 -1. + <_> + 3 10 4 5 2. + <_> + 7 15 4 5 2. + <_> + + <_> + 11 12 9 8 -1. + <_> + 14 12 3 8 3. + <_> + + <_> + 0 21 24 3 -1. + <_> + 8 21 8 3 3. + <_> + + <_> + 3 20 18 4 -1. + <_> + 9 20 6 4 3. + <_> + + <_> + 1 15 9 6 -1. + <_> + 1 17 9 2 3. + <_> + + <_> + 11 17 10 4 -1. + <_> + 11 19 10 2 2. + <_> + + <_> + 9 12 4 12 -1. + <_> + 9 18 4 6 2. + <_> + + <_> + 9 6 9 6 -1. + <_> + 12 6 3 6 3. + <_> + + <_> + 1 13 6 9 -1. + <_> + 1 16 6 3 3. + <_> + + <_> + 6 16 12 4 -1. + <_> + 6 18 12 2 2. + <_> + + <_> + 1 5 20 3 -1. + <_> + 1 6 20 1 3. + <_> + + <_> + 8 1 9 9 -1. + <_> + 8 4 9 3 3. + <_> + + <_> + 2 19 9 4 -1. + <_> + 2 21 9 2 2. + <_> + + <_> + 11 1 4 18 -1. + <_> + 11 7 4 6 3. + <_> + + <_> + 7 2 8 12 -1. + <_> + 7 2 4 6 2. + <_> + 11 8 4 6 2. + <_> + + <_> + 11 10 9 8 -1. + <_> + 14 10 3 8 3. + <_> + + <_> + 5 11 12 5 -1. + <_> + 9 11 4 5 3. + <_> + + <_> + 11 9 9 6 -1. + <_> + 14 9 3 6 3. + <_> + + <_> + 5 10 6 9 -1. + <_> + 7 10 2 9 3. + <_> + + <_> + 4 7 5 12 -1. + <_> + 4 11 5 4 3. + <_> + + <_> + 2 0 21 6 -1. + <_> + 9 0 7 6 3. + <_> + + <_> + 7 6 10 6 -1. + <_> + 7 8 10 2 3. + <_> + + <_> + 9 0 6 15 -1. + <_> + 11 0 2 15 3. + <_> + + <_> + 2 2 18 2 -1. + <_> + 2 3 18 1 2. + <_> + + <_> + 8 17 8 6 -1. + <_> + 8 20 8 3 2. + <_> + + <_> + 3 0 18 2 -1. + <_> + 3 1 18 1 2. + <_> + + <_> + 8 0 9 6 -1. + <_> + 11 0 3 6 3. + <_> + + <_> + 0 17 18 3 -1. + <_> + 0 18 18 1 3. + <_> + + <_> + 6 7 12 5 -1. + <_> + 10 7 4 5 3. + <_> + + <_> + 0 3 6 9 -1. + <_> + 2 3 2 9 3. + <_> + + <_> + 20 2 4 9 -1. + <_> + 20 2 2 9 2. + <_> + + <_> + 0 2 4 9 -1. + <_> + 2 2 2 9 2. + <_> + + <_> + 0 1 24 4 -1. + <_> + 12 1 12 2 2. + <_> + 0 3 12 2 2. + <_> + + <_> + 0 16 9 6 -1. + <_> + 0 18 9 2 3. + <_> + + <_> + 14 13 9 6 -1. + <_> + 14 15 9 2 3. + <_> + + <_> + 0 15 19 3 -1. + <_> + 0 16 19 1 3. + <_> + + <_> + 1 5 22 12 -1. + <_> + 12 5 11 6 2. + <_> + 1 11 11 6 2. + <_> + + <_> + 5 13 6 6 -1. + <_> + 8 13 3 6 2. + <_> + + <_> + 4 2 20 3 -1. + <_> + 4 3 20 1 3. + <_> + + <_> + 8 14 6 10 -1. + <_> + 10 14 2 10 3. + <_> + + <_> + 6 12 16 6 -1. + <_> + 14 12 8 3 2. + <_> + 6 15 8 3 2. + <_> + + <_> + 2 13 8 9 -1. + <_> + 2 16 8 3 3. + <_> + + <_> + 11 8 6 14 -1. + <_> + 14 8 3 7 2. + <_> + 11 15 3 7 2. + <_> + + <_> + 2 12 16 6 -1. + <_> + 2 12 8 3 2. + <_> + 10 15 8 3 2. + <_> + + <_> + 5 16 16 8 -1. + <_> + 5 20 16 4 2. + <_> + + <_> + 9 1 4 12 -1. + <_> + 9 7 4 6 2. + <_> + + <_> + 8 2 8 10 -1. + <_> + 12 2 4 5 2. + <_> + 8 7 4 5 2. + <_> + + <_> + 6 6 12 6 -1. + <_> + 6 6 6 3 2. + <_> + 12 9 6 3 2. + <_> + + <_> + 10 7 6 9 -1. + <_> + 12 7 2 9 3. + <_> + + <_> + 0 0 8 12 -1. + <_> + 0 0 4 6 2. + <_> + 4 6 4 6 2. + <_> + + <_> + 18 8 6 9 -1. + <_> + 18 11 6 3 3. + <_> + + <_> + 2 12 6 6 -1. + <_> + 5 12 3 6 2. + <_> + + <_> + 3 21 21 3 -1. + <_> + 10 21 7 3 3. + <_> + + <_> + 2 0 16 6 -1. + <_> + 2 3 16 3 2. + <_> + + <_> + 13 6 7 6 -1. + <_> + 13 9 7 3 2. + <_> + + <_> + 6 4 4 14 -1. + <_> + 6 11 4 7 2. + <_> + + <_> + 9 7 6 9 -1. + <_> + 11 7 2 9 3. + <_> + + <_> + 7 8 6 14 -1. + <_> + 7 8 3 7 2. + <_> + 10 15 3 7 2. + <_> + + <_> + 18 8 4 16 -1. + <_> + 18 16 4 8 2. + <_> + + <_> + 9 14 6 10 -1. + <_> + 11 14 2 10 3. + <_> + + <_> + 6 11 12 5 -1. + <_> + 10 11 4 5 3. + <_> + + <_> + 0 12 23 3 -1. + <_> + 0 13 23 1 3. + <_> + + <_> + 13 0 6 12 -1. + <_> + 15 0 2 12 3. + <_> + + <_> + 0 10 12 5 -1. + <_> + 4 10 4 5 3. + <_> + + <_> + 13 2 10 4 -1. + <_> + 13 4 10 2 2. + <_> + + <_> + 5 0 6 12 -1. + <_> + 7 0 2 12 3. + <_> + + <_> + 11 6 9 6 -1. + <_> + 14 6 3 6 3. + <_> + + <_> + 4 6 9 6 -1. + <_> + 7 6 3 6 3. + <_> + + <_> + 6 11 18 13 -1. + <_> + 12 11 6 13 3. + <_> + + <_> + 0 11 18 13 -1. + <_> + 6 11 6 13 3. + <_> + + <_> + 12 16 12 6 -1. + <_> + 16 16 4 6 3. + <_> + + <_> + 0 6 21 3 -1. + <_> + 0 7 21 1 3. + <_> + + <_> + 12 16 12 6 -1. + <_> + 16 16 4 6 3. + <_> + + <_> + 5 7 6 14 -1. + <_> + 5 14 6 7 2. + <_> + + <_> + 5 10 19 2 -1. + <_> + 5 11 19 1 2. + <_> + + <_> + 5 4 14 4 -1. + <_> + 5 6 14 2 2. + <_> + + <_> + 3 18 18 4 -1. + <_> + 9 18 6 4 3. + <_> + + <_> + 7 0 4 9 -1. + <_> + 9 0 2 9 2. + <_> + + <_> + 13 3 11 4 -1. + <_> + 13 5 11 2 2. + <_> + + <_> + 2 0 9 6 -1. + <_> + 5 0 3 6 3. + <_> + + <_> + 19 1 4 23 -1. + <_> + 19 1 2 23 2. + <_> + + <_> + 1 1 4 23 -1. + <_> + 3 1 2 23 2. + <_> + + <_> + 5 16 18 3 -1. + <_> + 5 17 18 1 3. + <_> + + <_> + 0 3 11 4 -1. + <_> + 0 5 11 2 2. + <_> + + <_> + 2 16 20 3 -1. + <_> + 2 17 20 1 3. + <_> + + <_> + 5 3 13 4 -1. + <_> + 5 5 13 2 2. + <_> + + <_> + 1 9 22 15 -1. + <_> + 1 9 11 15 2. + <_> + + <_> + 3 4 14 3 -1. + <_> + 10 4 7 3 2. + <_> + + <_> + 8 7 10 4 -1. + <_> + 8 7 5 4 2. + <_> + + <_> + 6 7 10 4 -1. + <_> + 11 7 5 4 2. + <_> + + <_> + 10 4 6 9 -1. + <_> + 12 4 2 9 3. + <_> + + <_> + 1 12 9 6 -1. + <_> + 4 12 3 6 3. + <_> + + <_> + 8 3 8 10 -1. + <_> + 12 3 4 5 2. + <_> + 8 8 4 5 2. + <_> + + <_> + 3 6 16 6 -1. + <_> + 3 6 8 3 2. + <_> + 11 9 8 3 2. + <_> + + <_> + 5 6 14 6 -1. + <_> + 5 9 14 3 2. + <_> + + <_> + 4 3 9 6 -1. + <_> + 4 5 9 2 3. + <_> + + <_> + 6 3 18 2 -1. + <_> + 6 4 18 1 2. + <_> + + <_> + 7 6 9 6 -1. + <_> + 10 6 3 6 3. + <_> + + <_> + 0 1 24 3 -1. + <_> + 0 2 24 1 3. + <_> + + <_> + 0 17 10 6 -1. + <_> + 0 19 10 2 3. + <_> + + <_> + 3 18 18 3 -1. + <_> + 3 19 18 1 3. + <_> + + <_> + 2 5 6 16 -1. + <_> + 2 5 3 8 2. + <_> + 5 13 3 8 2. + <_> + + <_> + 7 6 11 6 -1. + <_> + 7 8 11 2 3. + <_> + + <_> + 5 2 12 22 -1. + <_> + 5 13 12 11 2. + <_> + + <_> + 10 7 4 10 -1. + <_> + 10 12 4 5 2. + <_> + + <_> + 9 0 4 18 -1. + <_> + 9 6 4 6 3. + <_> + + <_> + 18 8 6 9 -1. + <_> + 18 11 6 3 3. + <_> + + <_> + 4 7 15 10 -1. + <_> + 9 7 5 10 3. + <_> + + <_> + 10 5 6 9 -1. + <_> + 12 5 2 9 3. + <_> + + <_> + 9 9 6 10 -1. + <_> + 11 9 2 10 3. + <_> + + <_> + 11 14 6 10 -1. + <_> + 13 14 2 10 3. + <_> + + <_> + 7 14 6 10 -1. + <_> + 9 14 2 10 3. + <_> + + <_> + 4 8 16 9 -1. + <_> + 4 11 16 3 3. + <_> + + <_> + 2 11 20 3 -1. + <_> + 2 12 20 1 3. + <_> + + <_> + 13 0 4 13 -1. + <_> + 13 0 2 13 2. + <_> + + <_> + 7 0 4 13 -1. + <_> + 9 0 2 13 2. + <_> + + <_> + 3 1 18 7 -1. + <_> + 9 1 6 7 3. + <_> + + <_> + 1 11 6 9 -1. + <_> + 1 14 6 3 3. + <_> + + <_> + 8 18 9 6 -1. + <_> + 8 20 9 2 3. + <_> + + <_> + 3 9 15 6 -1. + <_> + 3 11 15 2 3. + <_> + + <_> + 5 10 19 2 -1. + <_> + 5 11 19 1 2. + <_> + + <_> + 8 6 7 16 -1. + <_> + 8 14 7 8 2. + <_> + + <_> + 9 14 9 6 -1. + <_> + 9 16 9 2 3. + <_> + + <_> + 0 7 8 12 -1. + <_> + 0 11 8 4 3. + <_> + + <_> + 6 4 18 3 -1. + <_> + 6 5 18 1 3. + <_> + + <_> + 0 16 12 6 -1. + <_> + 4 16 4 6 3. + <_> + + <_> + 13 13 9 4 -1. + <_> + 13 15 9 2 2. + <_> + + <_> + 5 8 14 14 -1. + <_> + 5 8 7 7 2. + <_> + 12 15 7 7 2. + <_> + + <_> + 1 16 22 6 -1. + <_> + 12 16 11 3 2. + <_> + 1 19 11 3 2. + <_> + + <_> + 9 0 6 9 -1. + <_> + 11 0 2 9 3. + <_> + + <_> + 9 5 10 10 -1. + <_> + 14 5 5 5 2. + <_> + 9 10 5 5 2. + <_> + + <_> + 5 5 10 10 -1. + <_> + 5 5 5 5 2. + <_> + 10 10 5 5 2. + <_> + + <_> + 4 6 16 6 -1. + <_> + 12 6 8 3 2. + <_> + 4 9 8 3 2. + <_> + + <_> + 0 7 6 9 -1. + <_> + 0 10 6 3 3. + <_> + + <_> + 16 10 8 14 -1. + <_> + 20 10 4 7 2. + <_> + 16 17 4 7 2. + <_> + + <_> + 9 12 6 12 -1. + <_> + 9 18 6 6 2. + <_> + + <_> + 8 10 8 12 -1. + <_> + 12 10 4 6 2. + <_> + 8 16 4 6 2. + <_> + + <_> + 8 0 4 9 -1. + <_> + 10 0 2 9 2. + <_> + + <_> + 10 4 8 16 -1. + <_> + 14 4 4 8 2. + <_> + 10 12 4 8 2. + <_> + + <_> + 7 10 10 6 -1. + <_> + 7 12 10 2 3. + <_> + + <_> + 5 6 14 14 -1. + <_> + 12 6 7 7 2. + <_> + 5 13 7 7 2. + <_> + + <_> + 2 11 20 2 -1. + <_> + 2 12 20 1 2. + <_> + + <_> + 18 8 4 16 -1. + <_> + 18 16 4 8 2. + <_> + + <_> + 1 11 12 10 -1. + <_> + 1 11 6 5 2. + <_> + 7 16 6 5 2. + <_> + + <_> + 6 9 12 4 -1. + <_> + 6 11 12 2 2. + <_> + + <_> + 9 12 6 7 -1. + <_> + 12 12 3 7 2. + <_> + + <_> + 10 4 8 16 -1. + <_> + 14 4 4 8 2. + <_> + 10 12 4 8 2. + <_> + + <_> + 6 4 8 16 -1. + <_> + 6 4 4 8 2. + <_> + 10 12 4 8 2. + <_> + + <_> + 8 9 9 6 -1. + <_> + 11 9 3 6 3. + <_> + + <_> + 1 5 16 12 -1. + <_> + 1 5 8 6 2. + <_> + 9 11 8 6 2. + <_> + + <_> + 9 9 6 8 -1. + <_> + 9 9 3 8 2. + <_> + + <_> + 6 0 3 18 -1. + <_> + 7 0 1 18 3. + <_> + + <_> + 17 9 5 14 -1. + <_> + 17 16 5 7 2. + <_> + + <_> + 2 9 5 14 -1. + <_> + 2 16 5 7 2. + <_> + + <_> + 7 4 10 6 -1. + <_> + 7 7 10 3 2. + <_> + + <_> + 1 3 23 18 -1. + <_> + 1 9 23 6 3. + <_> + + <_> + 1 1 21 3 -1. + <_> + 8 1 7 3 3. + <_> + + <_> + 9 6 6 9 -1. + <_> + 11 6 2 9 3. + <_> + + <_> + 3 18 12 6 -1. + <_> + 3 18 6 3 2. + <_> + 9 21 6 3 2. + <_> + + <_> + 16 8 8 16 -1. + <_> + 20 8 4 8 2. + <_> + 16 16 4 8 2. + <_> + + <_> + 0 19 24 4 -1. + <_> + 8 19 8 4 3. + <_> + + <_> + 16 8 8 16 -1. + <_> + 20 8 4 8 2. + <_> + 16 16 4 8 2. + <_> + + <_> + 0 8 8 16 -1. + <_> + 0 8 4 8 2. + <_> + 4 16 4 8 2. + <_> + + <_> + 8 12 8 10 -1. + <_> + 8 17 8 5 2. + <_> + + <_> + 5 7 5 8 -1. + <_> + 5 11 5 4 2. + <_> + + <_> + 4 1 19 2 -1. + <_> + 4 2 19 1 2. + <_> + + <_> + 0 12 24 9 -1. + <_> + 8 12 8 9 3. + <_> + + <_> + 6 0 13 8 -1. + <_> + 6 4 13 4 2. + <_> + + <_> + 0 0 24 3 -1. + <_> + 0 1 24 1 3. + <_> + + <_> + 20 3 4 11 -1. + <_> + 20 3 2 11 2. + <_> + + <_> + 8 6 6 9 -1. + <_> + 10 6 2 9 3. + <_> + + <_> + 6 11 12 8 -1. + <_> + 12 11 6 4 2. + <_> + 6 15 6 4 2. + <_> + + <_> + 0 8 12 6 -1. + <_> + 0 8 6 3 2. + <_> + 6 11 6 3 2. + <_> + + <_> + 6 17 18 3 -1. + <_> + 6 18 18 1 3. + <_> + + <_> + 0 14 9 6 -1. + <_> + 0 16 9 2 3. + <_> + + <_> + 20 3 4 9 -1. + <_> + 20 3 2 9 2. + <_> + + <_> + 0 3 4 9 -1. + <_> + 2 3 2 9 2. + <_> + + <_> + 15 0 9 19 -1. + <_> + 18 0 3 19 3. + <_> + + <_> + 0 0 9 19 -1. + <_> + 3 0 3 19 3. + <_> + + <_> + 13 11 6 8 -1. + <_> + 13 11 3 8 2. + <_> + + <_> + 5 11 6 8 -1. + <_> + 8 11 3 8 2. + <_> + + <_> + 5 11 19 3 -1. + <_> + 5 12 19 1 3. + <_> + + <_> + 3 20 18 4 -1. + <_> + 9 20 6 4 3. + <_> + + <_> + 6 6 16 6 -1. + <_> + 6 8 16 2 3. + <_> + + <_> + 6 0 9 6 -1. + <_> + 9 0 3 6 3. + <_> + + <_> + 10 3 4 14 -1. + <_> + 10 10 4 7 2. + <_> + + <_> + 1 5 15 12 -1. + <_> + 1 11 15 6 2. + <_> + + <_> + 11 12 8 5 -1. + <_> + 11 12 4 5 2. + <_> + + <_> + 5 0 6 9 -1. + <_> + 7 0 2 9 3. + <_> + + <_> + 12 0 6 9 -1. + <_> + 14 0 2 9 3. + <_> + + <_> + 5 5 12 8 -1. + <_> + 5 5 6 4 2. + <_> + 11 9 6 4 2. + <_> + + <_> + 13 12 11 6 -1. + <_> + 13 14 11 2 3. + <_> + + <_> + 0 13 21 3 -1. + <_> + 0 14 21 1 3. + <_> + + <_> + 8 1 8 12 -1. + <_> + 12 1 4 6 2. + <_> + 8 7 4 6 2. + <_> + + <_> + 1 0 6 12 -1. + <_> + 1 0 3 6 2. + <_> + 4 6 3 6 2. + <_> + + <_> + 2 2 21 2 -1. + <_> + 2 3 21 1 2. + <_> + + <_> + 2 2 19 3 -1. + <_> + 2 3 19 1 3. + <_> + + <_> + 17 10 6 14 -1. + <_> + 20 10 3 7 2. + <_> + 17 17 3 7 2. + <_> + + <_> + 1 10 6 14 -1. + <_> + 1 10 3 7 2. + <_> + 4 17 3 7 2. + <_> + + <_> + 7 6 14 14 -1. + <_> + 14 6 7 7 2. + <_> + 7 13 7 7 2. + <_> + + <_> + 0 12 9 6 -1. + <_> + 0 14 9 2 3. + <_> + + <_> + 15 14 8 9 -1. + <_> + 15 17 8 3 3. + <_> + + <_> + 1 1 22 4 -1. + <_> + 1 1 11 2 2. + <_> + 12 3 11 2 2. + <_> + + <_> + 9 11 9 6 -1. + <_> + 9 13 9 2 3. + <_> + + <_> + 0 15 18 3 -1. + <_> + 0 16 18 1 3. + <_> + + <_> + 16 14 7 9 -1. + <_> + 16 17 7 3 3. + <_> + + <_> + 4 3 16 4 -1. + <_> + 12 3 8 4 2. + <_> + + <_> + 7 6 12 5 -1. + <_> + 7 6 6 5 2. + <_> + + <_> + 9 6 4 9 -1. + <_> + 11 6 2 9 2. + <_> + + <_> + 12 1 4 10 -1. + <_> + 12 1 2 10 2. + <_> + + <_> + 8 1 4 10 -1. + <_> + 10 1 2 10 2. + <_> + + <_> + 15 15 6 9 -1. + <_> + 15 18 6 3 3. + <_> + + <_> + 3 15 6 9 -1. + <_> + 3 18 6 3 3. + <_> + + <_> + 15 1 3 19 -1. + <_> + 16 1 1 19 3. + <_> + + <_> + 1 3 6 9 -1. + <_> + 3 3 2 9 3. + <_> + + <_> + 15 0 3 19 -1. + <_> + 16 0 1 19 3. + <_> + + <_> + 6 3 12 4 -1. + <_> + 12 3 6 4 2. + <_> + + <_> + 10 5 4 9 -1. + <_> + 10 5 2 9 2. + <_> + + <_> + 6 0 3 19 -1. + <_> + 7 0 1 19 3. + <_> + + <_> + 11 1 3 12 -1. + <_> + 11 7 3 6 2. + <_> + + <_> + 6 7 10 5 -1. + <_> + 11 7 5 5 2. + <_> + + <_> + 11 3 3 18 -1. + <_> + 12 3 1 18 3. + <_> + + <_> + 9 3 6 12 -1. + <_> + 11 3 2 12 3. + <_> + + <_> + 3 7 19 3 -1. + <_> + 3 8 19 1 3. + <_> + + <_> + 2 7 18 3 -1. + <_> + 2 8 18 1 3. + <_> + + <_> + 3 13 18 4 -1. + <_> + 12 13 9 2 2. + <_> + 3 15 9 2 2. + <_> + + <_> + 3 5 6 9 -1. + <_> + 5 5 2 9 3. + <_> + + <_> + 4 1 20 4 -1. + <_> + 14 1 10 2 2. + <_> + 4 3 10 2 2. + <_> + + <_> + 0 1 20 4 -1. + <_> + 0 1 10 2 2. + <_> + 10 3 10 2 2. + <_> + + <_> + 10 15 6 6 -1. + <_> + 10 15 3 6 2. + <_> + + <_> + 0 2 24 8 -1. + <_> + 8 2 8 8 3. + <_> + + <_> + 5 5 18 3 -1. + <_> + 5 6 18 1 3. + <_> + + <_> + 8 15 6 6 -1. + <_> + 11 15 3 6 2. + <_> + + <_> + 11 12 8 5 -1. + <_> + 11 12 4 5 2. + <_> + + <_> + 5 12 8 5 -1. + <_> + 9 12 4 5 2. + <_> + + <_> + 5 0 14 6 -1. + <_> + 5 2 14 2 3. + <_> + + <_> + 10 2 4 15 -1. + <_> + 10 7 4 5 3. + <_> + + <_> + 10 7 5 12 -1. + <_> + 10 11 5 4 3. + <_> + + <_> + 7 9 8 14 -1. + <_> + 7 9 4 7 2. + <_> + 11 16 4 7 2. + <_> + + <_> + 1 5 22 6 -1. + <_> + 12 5 11 3 2. + <_> + 1 8 11 3 2. + <_> + + <_> + 0 5 6 6 -1. + <_> + 0 8 6 3 2. + <_> + + <_> + 12 17 9 4 -1. + <_> + 12 19 9 2 2. + <_> + + <_> + 2 18 19 3 -1. + <_> + 2 19 19 1 3. + <_> + + <_> + 12 17 9 4 -1. + <_> + 12 19 9 2 2. + <_> + + <_> + 1 17 18 3 -1. + <_> + 1 18 18 1 3. + <_> + + <_> + 12 17 9 4 -1. + <_> + 12 19 9 2 2. + <_> + + <_> + 0 0 24 3 -1. + <_> + 0 1 24 1 3. + <_> + + <_> + 5 0 14 4 -1. + <_> + 5 2 14 2 2. + <_> + + <_> + 6 14 9 6 -1. + <_> + 6 16 9 2 3. + <_> + + <_> + 14 13 6 9 -1. + <_> + 14 16 6 3 3. + <_> + + <_> + 5 20 13 4 -1. + <_> + 5 22 13 2 2. + <_> + + <_> + 9 9 6 12 -1. + <_> + 9 13 6 4 3. + <_> + + <_> + 1 10 21 3 -1. + <_> + 8 10 7 3 3. + <_> + + <_> + 8 8 9 6 -1. + <_> + 11 8 3 6 3. + <_> + + <_> + 3 10 9 7 -1. + <_> + 6 10 3 7 3. + <_> + + <_> + 12 10 10 8 -1. + <_> + 17 10 5 4 2. + <_> + 12 14 5 4 2. + <_> + + <_> + 0 15 24 3 -1. + <_> + 8 15 8 3 3. + <_> + + <_> + 8 5 9 6 -1. + <_> + 8 7 9 2 3. + <_> + + <_> + 4 13 6 9 -1. + <_> + 4 16 6 3 3. + <_> + + <_> + 12 17 9 4 -1. + <_> + 12 19 9 2 2. + <_> + + <_> + 9 12 6 6 -1. + <_> + 9 15 6 3 2. + <_> + + <_> + 9 9 14 10 -1. + <_> + 16 9 7 5 2. + <_> + 9 14 7 5 2. + <_> + + <_> + 1 9 14 10 -1. + <_> + 1 9 7 5 2. + <_> + 8 14 7 5 2. + <_> + + <_> + 8 7 9 17 -1. + <_> + 11 7 3 17 3. + <_> + + <_> + 3 4 6 20 -1. + <_> + 3 4 3 10 2. + <_> + 6 14 3 10 2. + <_> + + <_> + 7 8 10 4 -1. + <_> + 7 8 5 4 2. + <_> + + <_> + 10 7 4 9 -1. + <_> + 12 7 2 9 2. + <_> + + <_> + 10 15 6 9 -1. + <_> + 12 15 2 9 3. + <_> + + <_> + 3 8 6 16 -1. + <_> + 3 8 3 8 2. + <_> + 6 16 3 8 2. + <_> + + <_> + 12 17 9 4 -1. + <_> + 12 19 9 2 2. + <_> + + <_> + 3 17 9 4 -1. + <_> + 3 19 9 2 2. + <_> + + <_> + 10 1 9 6 -1. + <_> + 13 1 3 6 3. + <_> + + <_> + 5 7 4 10 -1. + <_> + 5 12 4 5 2. + <_> + + <_> + 7 5 12 6 -1. + <_> + 11 5 4 6 3. + <_> + + <_> + 6 4 9 8 -1. + <_> + 9 4 3 8 3. + <_> + + <_> + 12 16 10 8 -1. + <_> + 17 16 5 4 2. + <_> + 12 20 5 4 2. + <_> + + <_> + 2 16 10 8 -1. + <_> + 2 16 5 4 2. + <_> + 7 20 5 4 2. + <_> + + <_> + 0 0 24 4 -1. + <_> + 12 0 12 2 2. + <_> + 0 2 12 2 2. + <_> + + <_> + 0 6 9 6 -1. + <_> + 0 8 9 2 3. + <_> + + <_> + 0 4 24 6 -1. + <_> + 12 4 12 3 2. + <_> + 0 7 12 3 2. + <_> + + <_> + 5 0 11 4 -1. + <_> + 5 2 11 2 2. + <_> + + <_> + 1 1 22 4 -1. + <_> + 12 1 11 2 2. + <_> + 1 3 11 2 2. + <_> + + <_> + 9 6 6 18 -1. + <_> + 9 15 6 9 2. + <_> + + <_> + 2 9 20 4 -1. + <_> + 2 11 20 2 2. + <_> + + <_> + 5 2 14 14 -1. + <_> + 5 9 14 7 2. + <_> + + <_> + 4 2 16 6 -1. + <_> + 4 5 16 3 2. + <_> + + <_> + 2 3 19 3 -1. + <_> + 2 4 19 1 3. + <_> + + <_> + 7 1 10 4 -1. + <_> + 7 3 10 2 2. + <_> + + <_> + 0 9 4 15 -1. + <_> + 0 14 4 5 3. + <_> + + <_> + 2 10 21 3 -1. + <_> + 2 11 21 1 3. + <_> + + <_> + 3 0 6 6 -1. + <_> + 6 0 3 6 2. + <_> + + <_> + 6 4 14 9 -1. + <_> + 6 7 14 3 3. + <_> + + <_> + 9 1 6 9 -1. + <_> + 11 1 2 9 3. + <_> + + <_> + 15 8 9 9 -1. + <_> + 15 11 9 3 3. + <_> + + <_> + 8 0 4 21 -1. + <_> + 8 7 4 7 3. + <_> + + <_> + 3 22 19 2 -1. + <_> + 3 23 19 1 2. + <_> + + <_> + 2 15 20 3 -1. + <_> + 2 16 20 1 3. + <_> + + <_> + 19 0 4 13 -1. + <_> + 19 0 2 13 2. + <_> + + <_> + 1 7 8 8 -1. + <_> + 1 11 8 4 2. + <_> + + <_> + 14 14 6 9 -1. + <_> + 14 17 6 3 3. + <_> + + <_> + 4 14 6 9 -1. + <_> + 4 17 6 3 3. + <_> + + <_> + 14 5 4 10 -1. + <_> + 14 5 2 10 2. + <_> + + <_> + 6 5 4 10 -1. + <_> + 8 5 2 10 2. + <_> + + <_> + 14 5 6 6 -1. + <_> + 14 8 6 3 2. + <_> + + <_> + 4 5 6 6 -1. + <_> + 4 8 6 3 2. + <_> + + <_> + 0 2 24 21 -1. + <_> + 8 2 8 21 3. + <_> + + <_> + 1 2 6 13 -1. + <_> + 3 2 2 13 3. + <_> + + <_> + 20 0 4 21 -1. + <_> + 20 0 2 21 2. + <_> + + <_> + 0 4 4 20 -1. + <_> + 2 4 2 20 2. + <_> + + <_> + 8 16 9 6 -1. + <_> + 8 18 9 2 3. + <_> + + <_> + 7 0 6 9 -1. + <_> + 9 0 2 9 3. + <_> + + <_> + 16 12 7 9 -1. + <_> + 16 15 7 3 3. + <_> + + <_> + 5 21 14 3 -1. + <_> + 12 21 7 3 2. + <_> + + <_> + 11 5 6 9 -1. + <_> + 11 5 3 9 2. + <_> + + <_> + 10 5 4 10 -1. + <_> + 12 5 2 10 2. + <_> + + <_> + 10 6 6 9 -1. + <_> + 12 6 2 9 3. + <_> + + <_> + 7 5 6 9 -1. + <_> + 10 5 3 9 2. + <_> + + <_> + 14 14 10 4 -1. + <_> + 14 16 10 2 2. + <_> + + <_> + 5 5 14 14 -1. + <_> + 5 5 7 7 2. + <_> + 12 12 7 7 2. + <_> + + <_> + 12 8 12 6 -1. + <_> + 18 8 6 3 2. + <_> + 12 11 6 3 2. + <_> + + <_> + 6 6 12 12 -1. + <_> + 6 6 6 6 2. + <_> + 12 12 6 6 2. + <_> + + <_> + 11 13 6 10 -1. + <_> + 13 13 2 10 3. + <_> + + <_> + 1 10 20 8 -1. + <_> + 1 10 10 4 2. + <_> + 11 14 10 4 2. + <_> + + <_> + 15 13 9 6 -1. + <_> + 15 15 9 2 3. + <_> + + <_> + 9 0 6 9 -1. + <_> + 9 3 6 3 3. + <_> + + <_> + 10 1 5 14 -1. + <_> + 10 8 5 7 2. + <_> + + <_> + 3 4 16 6 -1. + <_> + 3 6 16 2 3. + <_> + + <_> + 16 3 8 9 -1. + <_> + 16 6 8 3 3. + <_> + + <_> + 7 13 6 10 -1. + <_> + 9 13 2 10 3. + <_> + + <_> + 15 13 9 6 -1. + <_> + 15 15 9 2 3. + <_> + + <_> + 0 13 9 6 -1. + <_> + 0 15 9 2 3. + <_> + + <_> + 13 16 9 6 -1. + <_> + 13 18 9 2 3. + <_> + + <_> + 2 16 9 6 -1. + <_> + 2 18 9 2 3. + <_> + + <_> + 5 16 18 3 -1. + <_> + 5 17 18 1 3. + <_> + + <_> + 1 16 18 3 -1. + <_> + 1 17 18 1 3. + <_> + + <_> + 5 0 18 3 -1. + <_> + 5 1 18 1 3. + <_> + + <_> + 1 1 19 2 -1. + <_> + 1 2 19 1 2. + <_> + + <_> + 14 2 6 11 -1. + <_> + 16 2 2 11 3. + <_> + + <_> + 4 15 15 6 -1. + <_> + 9 15 5 6 3. + <_> + + <_> + 14 2 6 11 -1. + <_> + 16 2 2 11 3. + <_> + + <_> + 4 2 6 11 -1. + <_> + 6 2 2 11 3. + <_> + + <_> + 18 2 6 9 -1. + <_> + 18 5 6 3 3. + <_> + + <_> + 1 2 22 4 -1. + <_> + 1 2 11 2 2. + <_> + 12 4 11 2 2. + <_> + + <_> + 2 0 21 12 -1. + <_> + 9 0 7 12 3. + <_> + + <_> + 0 12 18 3 -1. + <_> + 0 13 18 1 3. + <_> + + <_> + 12 2 6 9 -1. + <_> + 14 2 2 9 3. + <_> + + <_> + 3 10 18 3 -1. + <_> + 3 11 18 1 3. + <_> + + <_> + 16 3 8 9 -1. + <_> + 16 6 8 3 3. + <_> + + <_> + 3 7 18 3 -1. + <_> + 3 8 18 1 3. + <_> + + <_> + 9 11 6 9 -1. + <_> + 11 11 2 9 3. + <_> + + <_> + 9 8 6 9 -1. + <_> + 11 8 2 9 3. + <_> + + <_> + 15 0 2 18 -1. + <_> + 15 0 1 18 2. + <_> + + <_> + 7 0 2 18 -1. + <_> + 8 0 1 18 2. + <_> + + <_> + 17 3 7 9 -1. + <_> + 17 6 7 3 3. + <_> + + <_> + 3 18 9 6 -1. + <_> + 3 20 9 2 3. + <_> + + <_> + 3 18 21 3 -1. + <_> + 3 19 21 1 3. + <_> + + <_> + 0 3 7 9 -1. + <_> + 0 6 7 3 3. + <_> + + <_> + 2 7 22 3 -1. + <_> + 2 8 22 1 3. + <_> + + <_> + 0 3 24 16 -1. + <_> + 0 3 12 8 2. + <_> + 12 11 12 8 2. + <_> + + <_> + 13 17 9 4 -1. + <_> + 13 19 9 2 2. + <_> + + <_> + 5 5 12 8 -1. + <_> + 5 5 6 4 2. + <_> + 11 9 6 4 2. + <_> + + <_> + 5 6 14 6 -1. + <_> + 12 6 7 3 2. + <_> + 5 9 7 3 2. + <_> + + <_> + 5 16 14 6 -1. + <_> + 5 16 7 3 2. + <_> + 12 19 7 3 2. + <_> + + <_> + 18 2 6 9 -1. + <_> + 18 5 6 3 3. + <_> + + <_> + 0 2 6 9 -1. + <_> + 0 5 6 3 3. + <_> + + <_> + 3 4 20 10 -1. + <_> + 13 4 10 5 2. + <_> + 3 9 10 5 2. + <_> + + <_> + 2 13 9 8 -1. + <_> + 5 13 3 8 3. + <_> + + <_> + 2 1 21 15 -1. + <_> + 9 1 7 15 3. + <_> + + <_> + 5 12 14 8 -1. + <_> + 12 12 7 8 2. + <_> + + <_> + 6 7 12 4 -1. + <_> + 6 7 6 4 2. + <_> + + <_> + 6 5 9 6 -1. + <_> + 9 5 3 6 3. + <_> + + <_> + 13 11 6 6 -1. + <_> + 13 11 3 6 2. + <_> + + <_> + 5 11 6 6 -1. + <_> + 8 11 3 6 2. + <_> + + <_> + 6 4 18 2 -1. + <_> + 6 5 18 1 2. + <_> + + <_> + 0 2 6 11 -1. + <_> + 2 2 2 11 3. + <_> + + <_> + 18 0 6 15 -1. + <_> + 20 0 2 15 3. + <_> + + <_> + 0 0 6 13 -1. + <_> + 2 0 2 13 3. + <_> + + <_> + 12 0 6 9 -1. + <_> + 14 0 2 9 3. + <_> + + <_> + 6 0 6 9 -1. + <_> + 8 0 2 9 3. + <_> + + <_> + 0 2 24 4 -1. + <_> + 8 2 8 4 3. + <_> + + <_> + 3 13 18 4 -1. + <_> + 12 13 9 4 2. + <_> + + <_> + 9 7 10 4 -1. + <_> + 9 7 5 4 2. + <_> + + <_> + 5 8 12 3 -1. + <_> + 11 8 6 3 2. + <_> + + <_> + 4 14 19 3 -1. + <_> + 4 15 19 1 3. + <_> + + <_> + 10 0 4 20 -1. + <_> + 10 10 4 10 2. + <_> + + <_> + 8 15 9 6 -1. + <_> + 8 17 9 2 3. + <_> + + <_> + 2 9 15 4 -1. + <_> + 7 9 5 4 3. + <_> + + <_> + 8 4 12 7 -1. + <_> + 12 4 4 7 3. + <_> + + <_> + 0 10 6 9 -1. + <_> + 0 13 6 3 3. + <_> + + <_> + 18 5 6 9 -1. + <_> + 18 8 6 3 3. + <_> + + <_> + 0 18 16 6 -1. + <_> + 0 18 8 3 2. + <_> + 8 21 8 3 2. + <_> + + <_> + 9 18 14 6 -1. + <_> + 16 18 7 3 2. + <_> + 9 21 7 3 2. + <_> + + <_> + 1 20 20 4 -1. + <_> + 1 20 10 2 2. + <_> + 11 22 10 2 2. + <_> + + <_> + 2 8 20 6 -1. + <_> + 12 8 10 3 2. + <_> + 2 11 10 3 2. + <_> + + <_> + 7 8 6 9 -1. + <_> + 9 8 2 9 3. + <_> + + <_> + 8 5 12 8 -1. + <_> + 12 5 4 8 3. + <_> + + <_> + 4 5 12 8 -1. + <_> + 8 5 4 8 3. + <_> + + <_> + 10 6 6 9 -1. + <_> + 12 6 2 9 3. + <_> + + <_> + 2 0 6 16 -1. + <_> + 4 0 2 16 3. + <_> + + <_> + 15 4 6 12 -1. + <_> + 15 8 6 4 3. + <_> + + <_> + 3 4 6 12 -1. + <_> + 3 8 6 4 3. + <_> + + <_> + 15 12 9 6 -1. + <_> + 15 14 9 2 3. + <_> + + <_> + 4 0 15 22 -1. + <_> + 4 11 15 11 2. + <_> + + <_> + 15 12 9 6 -1. + <_> + 15 14 9 2 3. + <_> + + <_> + 0 12 9 6 -1. + <_> + 0 14 9 2 3. + <_> + + <_> + 15 15 9 6 -1. + <_> + 15 17 9 2 3. + <_> + + <_> + 0 15 9 6 -1. + <_> + 0 17 9 2 3. + <_> + + <_> + 10 0 8 10 -1. + <_> + 14 0 4 5 2. + <_> + 10 5 4 5 2. + <_> + + <_> + 1 0 4 16 -1. + <_> + 3 0 2 16 2. + <_> + + <_> + 7 6 10 6 -1. + <_> + 7 8 10 2 3. + <_> + + <_> + 10 12 4 10 -1. + <_> + 10 17 4 5 2. + <_> + + <_> + 8 4 10 6 -1. + <_> + 8 6 10 2 3. + <_> + + <_> + 3 22 18 2 -1. + <_> + 12 22 9 2 2. + <_> + + <_> + 7 7 11 6 -1. + <_> + 7 9 11 2 3. + <_> + + <_> + 0 0 12 10 -1. + <_> + 0 0 6 5 2. + <_> + 6 5 6 5 2. + <_> + + <_> + 10 1 12 6 -1. + <_> + 16 1 6 3 2. + <_> + 10 4 6 3 2. + <_> + + <_> + 7 16 9 4 -1. + <_> + 7 18 9 2 2. + <_> + + <_> + 5 7 15 16 -1. + <_> + 10 7 5 16 3. + <_> + + <_> + 5 10 12 13 -1. + <_> + 11 10 6 13 2. + <_> + + <_> + 6 2 12 6 -1. + <_> + 12 2 6 3 2. + <_> + 6 5 6 3 2. + <_> + + <_> + 3 9 12 9 -1. + <_> + 3 12 12 3 3. + <_> + + <_> + 16 2 8 6 -1. + <_> + 16 5 8 3 2. + <_> + + <_> + 0 2 8 6 -1. + <_> + 0 5 8 3 2. + <_> + + <_> + 0 3 24 11 -1. + <_> + 0 3 12 11 2. + <_> + + <_> + 0 13 8 10 -1. + <_> + 0 13 4 5 2. + <_> + 4 18 4 5 2. + <_> + + <_> + 10 14 4 10 -1. + <_> + 10 19 4 5 2. + <_> + + <_> + 10 2 4 21 -1. + <_> + 10 9 4 7 3. + <_> + + <_> + 4 4 15 9 -1. + <_> + 4 7 15 3 3. + <_> + + <_> + 0 1 24 6 -1. + <_> + 8 1 8 6 3. + <_> + + <_> + 9 6 5 16 -1. + <_> + 9 14 5 8 2. + <_> + + <_> + 3 21 18 3 -1. + <_> + 9 21 6 3 3. + <_> + + <_> + 6 5 3 12 -1. + <_> + 6 11 3 6 2. + <_> + + <_> + 11 6 4 9 -1. + <_> + 11 6 2 9 2. + <_> + + <_> + 5 6 9 8 -1. + <_> + 8 6 3 8 3. + <_> + + <_> + 4 3 20 2 -1. + <_> + 4 4 20 1 2. + <_> + + <_> + 2 10 18 3 -1. + <_> + 8 10 6 3 3. + <_> + + <_> + 7 15 10 6 -1. + <_> + 7 17 10 2 3. + <_> + + <_> + 1 4 4 18 -1. + <_> + 1 4 2 9 2. + <_> + 3 13 2 9 2. + <_> + + <_> + 13 0 6 9 -1. + <_> + 15 0 2 9 3. + <_> + + <_> + 5 0 6 9 -1. + <_> + 7 0 2 9 3. + <_> + + <_> + 11 0 6 9 -1. + <_> + 13 0 2 9 3. + <_> + + <_> + 6 7 9 6 -1. + <_> + 9 7 3 6 3. + <_> + + <_> + 3 0 18 2 -1. + <_> + 3 1 18 1 2. + <_> + + <_> + 0 10 20 4 -1. + <_> + 0 10 10 2 2. + <_> + 10 12 10 2 2. + <_> + + <_> + 10 2 4 12 -1. + <_> + 10 8 4 6 2. + <_> + + <_> + 6 5 6 12 -1. + <_> + 6 5 3 6 2. + <_> + 9 11 3 6 2. + <_> + + <_> + 6 0 18 22 -1. + <_> + 15 0 9 11 2. + <_> + 6 11 9 11 2. + <_> + + <_> + 0 0 18 22 -1. + <_> + 0 0 9 11 2. + <_> + 9 11 9 11 2. + <_> + + <_> + 18 2 6 11 -1. + <_> + 20 2 2 11 3. + <_> + + <_> + 0 2 6 11 -1. + <_> + 2 2 2 11 3. + <_> + + <_> + 11 0 6 9 -1. + <_> + 13 0 2 9 3. + <_> + + <_> + 0 0 20 3 -1. + <_> + 0 1 20 1 3. + <_> + + <_> + 2 2 20 2 -1. + <_> + 2 3 20 1 2. + <_> + + <_> + 1 10 18 2 -1. + <_> + 1 11 18 1 2. + <_> + + <_> + 18 7 6 9 -1. + <_> + 18 10 6 3 3. + <_> + + <_> + 0 0 22 9 -1. + <_> + 0 3 22 3 3. + <_> + + <_> + 17 3 6 9 -1. + <_> + 17 6 6 3 3. + <_> + + <_> + 0 7 6 9 -1. + <_> + 0 10 6 3 3. + <_> + + <_> + 0 6 24 6 -1. + <_> + 0 8 24 2 3. + <_> + + <_> + 0 2 6 10 -1. + <_> + 2 2 2 10 3. + <_> + + <_> + 10 6 6 9 -1. + <_> + 12 6 2 9 3. + <_> + + <_> + 7 0 6 9 -1. + <_> + 9 0 2 9 3. + <_> + + <_> + 15 0 6 9 -1. + <_> + 17 0 2 9 3. + <_> + + <_> + 3 0 6 9 -1. + <_> + 5 0 2 9 3. + <_> + + <_> + 15 17 9 6 -1. + <_> + 15 19 9 2 3. + <_> + + <_> + 0 17 18 3 -1. + <_> + 0 18 18 1 3. + <_> + + <_> + 15 14 9 6 -1. + <_> + 15 16 9 2 3. + <_> + + <_> + 0 15 23 6 -1. + <_> + 0 17 23 2 3. + <_> + + <_> + 5 15 18 3 -1. + <_> + 5 16 18 1 3. + <_> + + <_> + 0 14 9 6 -1. + <_> + 0 16 9 2 3. + <_> + + <_> + 9 8 8 10 -1. + <_> + 13 8 4 5 2. + <_> + 9 13 4 5 2. + <_> + + <_> + 3 7 15 6 -1. + <_> + 8 7 5 6 3. + <_> + + <_> + 9 8 8 10 -1. + <_> + 13 8 4 5 2. + <_> + 9 13 4 5 2. + <_> + + <_> + 5 0 6 12 -1. + <_> + 8 0 3 12 2. + <_> + + <_> + 9 8 8 10 -1. + <_> + 13 8 4 5 2. + <_> + 9 13 4 5 2. + <_> + + <_> + 8 5 6 9 -1. + <_> + 10 5 2 9 3. + <_> + + <_> + 10 6 4 18 -1. + <_> + 12 6 2 9 2. + <_> + 10 15 2 9 2. + <_> + + <_> + 5 7 12 4 -1. + <_> + 11 7 6 4 2. + <_> + + <_> + 9 8 8 10 -1. + <_> + 13 8 4 5 2. + <_> + 9 13 4 5 2. + <_> + + <_> + 7 8 8 10 -1. + <_> + 7 8 4 5 2. + <_> + 11 13 4 5 2. + <_> + + <_> + 11 10 6 14 -1. + <_> + 14 10 3 7 2. + <_> + 11 17 3 7 2. + <_> + + <_> + 9 5 6 19 -1. + <_> + 12 5 3 19 2. + <_> + + <_> + 6 12 12 6 -1. + <_> + 12 12 6 3 2. + <_> + 6 15 6 3 2. + <_> + + <_> + 1 9 18 6 -1. + <_> + 1 9 9 3 2. + <_> + 10 12 9 3 2. + <_> + + <_> + 16 14 8 10 -1. + <_> + 20 14 4 5 2. + <_> + 16 19 4 5 2. + <_> + + <_> + 0 9 22 8 -1. + <_> + 0 9 11 4 2. + <_> + 11 13 11 4 2. + <_> + + <_> + 8 18 12 6 -1. + <_> + 14 18 6 3 2. + <_> + 8 21 6 3 2. + <_> + + <_> + 0 6 20 18 -1. + <_> + 0 6 10 9 2. + <_> + 10 15 10 9 2. + <_> + + <_> + 3 6 20 12 -1. + <_> + 13 6 10 6 2. + <_> + 3 12 10 6 2. + <_> + + <_> + 0 16 10 8 -1. + <_> + 0 16 5 4 2. + <_> + 5 20 5 4 2. + <_> + + <_> + 6 16 18 3 -1. + <_> + 6 17 18 1 3. + <_> + + <_> + 0 11 19 3 -1. + <_> + 0 12 19 1 3. + <_> + + <_> + 14 6 6 9 -1. + <_> + 14 9 6 3 3. + <_> + + <_> + 1 7 22 4 -1. + <_> + 1 7 11 2 2. + <_> + 12 9 11 2 2. + <_> + + <_> + 13 6 7 12 -1. + <_> + 13 10 7 4 3. + <_> + + <_> + 4 7 11 9 -1. + <_> + 4 10 11 3 3. + <_> + + <_> + 12 10 10 8 -1. + <_> + 17 10 5 4 2. + <_> + 12 14 5 4 2. + <_> + + <_> + 2 12 9 7 -1. + <_> + 5 12 3 7 3. + <_> + + <_> + 16 14 6 9 -1. + <_> + 16 17 6 3 3. + <_> + + <_> + 3 12 6 12 -1. + <_> + 3 16 6 4 3. + <_> + + <_> + 14 13 6 6 -1. + <_> + 14 16 6 3 2. + <_> + + <_> + 8 0 6 9 -1. + <_> + 10 0 2 9 3. + <_> + + <_> + 9 1 6 23 -1. + <_> + 11 1 2 23 3. + <_> + + <_> + 0 16 9 6 -1. + <_> + 0 18 9 2 3. + <_> + + <_> + 4 17 18 3 -1. + <_> + 4 18 18 1 3. + <_> + + <_> + 5 2 13 14 -1. + <_> + 5 9 13 7 2. + <_> + + <_> + 15 0 8 12 -1. + <_> + 19 0 4 6 2. + <_> + 15 6 4 6 2. + <_> + + <_> + 0 0 8 12 -1. + <_> + 0 0 4 6 2. + <_> + 4 6 4 6 2. + <_> + + <_> + 8 2 8 7 -1. + <_> + 8 2 4 7 2. + <_> + + <_> + 1 1 6 9 -1. + <_> + 3 1 2 9 3. + <_> + + <_> + 14 8 6 12 -1. + <_> + 17 8 3 6 2. + <_> + 14 14 3 6 2. + <_> + + <_> + 4 8 6 12 -1. + <_> + 4 8 3 6 2. + <_> + 7 14 3 6 2. + <_> + + <_> + 16 5 5 15 -1. + <_> + 16 10 5 5 3. + <_> + + <_> + 3 5 5 15 -1. + <_> + 3 10 5 5 3. + <_> + + <_> + 18 4 6 9 -1. + <_> + 18 7 6 3 3. + <_> + + <_> + 1 7 6 15 -1. + <_> + 1 12 6 5 3. + <_> + + <_> + 11 15 12 8 -1. + <_> + 17 15 6 4 2. + <_> + 11 19 6 4 2. + <_> + + <_> + 0 2 24 4 -1. + <_> + 0 2 12 2 2. + <_> + 12 4 12 2 2. + <_> + + <_> + 15 1 2 19 -1. + <_> + 15 1 1 19 2. + <_> + + <_> + 7 1 2 19 -1. + <_> + 8 1 1 19 2. + <_> + + <_> + 22 1 2 20 -1. + <_> + 22 1 1 20 2. + <_> + + <_> + 0 1 2 20 -1. + <_> + 1 1 1 20 2. + <_> + + <_> + 18 11 6 12 -1. + <_> + 20 11 2 12 3. + <_> + + <_> + 0 11 6 12 -1. + <_> + 2 11 2 12 3. + <_> + + <_> + 3 6 18 14 -1. + <_> + 3 13 18 7 2. + <_> + + <_> + 6 10 7 8 -1. + <_> + 6 14 7 4 2. + <_> + + <_> + 7 9 12 12 -1. + <_> + 7 13 12 4 3. + <_> + + <_> + 2 18 18 5 -1. + <_> + 11 18 9 5 2. + <_> + + <_> + 4 21 20 3 -1. + <_> + 4 22 20 1 3. + <_> + + <_> + 9 12 6 12 -1. + <_> + 9 12 3 6 2. + <_> + 12 18 3 6 2. + <_> + + <_> + 4 6 18 3 -1. + <_> + 4 7 18 1 3. + <_> + + <_> + 3 6 18 3 -1. + <_> + 3 7 18 1 3. + <_> + + <_> + 18 4 6 9 -1. + <_> + 18 7 6 3 3. + <_> + + <_> + 2 12 9 6 -1. + <_> + 2 14 9 2 3. + <_> + + <_> + 4 14 18 4 -1. + <_> + 13 14 9 2 2. + <_> + 4 16 9 2 2. + <_> + + <_> + 7 7 6 14 -1. + <_> + 7 7 3 7 2. + <_> + 10 14 3 7 2. + <_> + + <_> + 7 13 12 6 -1. + <_> + 13 13 6 3 2. + <_> + 7 16 6 3 2. + <_> + + <_> + 6 7 12 9 -1. + <_> + 10 7 4 9 3. + <_> + + <_> + 12 12 6 6 -1. + <_> + 12 12 3 6 2. + <_> + + <_> + 0 2 4 10 -1. + <_> + 0 7 4 5 2. + <_> + + <_> + 8 0 9 6 -1. + <_> + 11 0 3 6 3. + <_> + + <_> + 2 9 12 6 -1. + <_> + 2 12 12 3 2. + <_> + + <_> + 13 10 6 9 -1. + <_> + 13 13 6 3 3. + <_> + + <_> + 5 10 6 9 -1. + <_> + 5 13 6 3 3. + <_> + + <_> + 9 15 9 6 -1. + <_> + 9 17 9 2 3. + <_> + + <_> + 5 16 12 6 -1. + <_> + 5 19 12 3 2. + <_> + + <_> + 3 2 20 3 -1. + <_> + 3 3 20 1 3. + <_> + + <_> + 2 5 12 6 -1. + <_> + 6 5 4 6 3. + <_> + + <_> + 11 0 3 24 -1. + <_> + 12 0 1 24 3. + <_> + + <_> + 3 16 15 4 -1. + <_> + 8 16 5 4 3. + <_> + + <_> + 9 12 6 12 -1. + <_> + 9 18 6 6 2. + <_> + + <_> + 1 15 12 8 -1. + <_> + 1 15 6 4 2. + <_> + 7 19 6 4 2. + <_> + + <_> + 15 10 8 14 -1. + <_> + 19 10 4 7 2. + <_> + 15 17 4 7 2. + <_> + + <_> + 1 9 8 14 -1. + <_> + 1 9 4 7 2. + <_> + 5 16 4 7 2. + <_> + + <_> + 9 11 9 10 -1. + <_> + 9 16 9 5 2. + <_> + + <_> + 6 7 12 6 -1. + <_> + 6 9 12 2 3. + <_> + + <_> + 10 15 6 9 -1. + <_> + 12 15 2 9 3. + <_> + + <_> + 7 8 9 7 -1. + <_> + 10 8 3 7 3. + <_> + + <_> + 10 4 8 10 -1. + <_> + 14 4 4 5 2. + <_> + 10 9 4 5 2. + <_> + + <_> + 4 6 6 9 -1. + <_> + 4 9 6 3 3. + <_> + + <_> + 0 6 24 12 -1. + <_> + 8 6 8 12 3. + <_> + + <_> + 3 7 6 14 -1. + <_> + 6 7 3 14 2. + <_> + + <_> + 19 8 5 8 -1. + <_> + 19 12 5 4 2. + <_> + + <_> + 0 8 5 8 -1. + <_> + 0 12 5 4 2. + <_> + + <_> + 17 3 6 6 -1. + <_> + 17 6 6 3 2. + <_> + + <_> + 1 3 6 6 -1. + <_> + 1 6 6 3 2. + <_> + + <_> + 18 2 6 9 -1. + <_> + 18 5 6 3 3. + <_> + + <_> + 0 2 6 9 -1. + <_> + 0 5 6 3 3. + <_> + + <_> + 3 3 18 6 -1. + <_> + 3 5 18 2 3. + <_> + + <_> + 2 3 9 6 -1. + <_> + 2 5 9 2 3. + <_> + + <_> + 9 3 10 8 -1. + <_> + 14 3 5 4 2. + <_> + 9 7 5 4 2. + <_> + + <_> + 5 3 10 8 -1. + <_> + 5 3 5 4 2. + <_> + 10 7 5 4 2. + <_> + + <_> + 10 11 6 12 -1. + <_> + 10 11 3 12 2. + <_> + + <_> + 8 11 6 11 -1. + <_> + 11 11 3 11 2. + <_> + + <_> + 7 8 10 4 -1. + <_> + 7 8 5 4 2. + <_> + + <_> + 9 6 6 7 -1. + <_> + 12 6 3 7 2. + <_> + + <_> + 5 18 18 3 -1. + <_> + 5 19 18 1 3. + <_> + + <_> + 8 4 6 9 -1. + <_> + 10 4 2 9 3. + <_> + + <_> + 8 1 9 7 -1. + <_> + 11 1 3 7 3. + <_> + + <_> + 6 11 6 6 -1. + <_> + 9 11 3 6 2. + <_> + + <_> + 14 12 4 11 -1. + <_> + 14 12 2 11 2. + <_> + + <_> + 6 12 4 11 -1. + <_> + 8 12 2 11 2. + <_> + + <_> + 8 0 12 18 -1. + <_> + 12 0 4 18 3. + <_> + + <_> + 2 12 10 5 -1. + <_> + 7 12 5 5 2. + <_> + + <_> + 2 20 22 3 -1. + <_> + 2 21 22 1 3. + <_> + + <_> + 0 4 2 20 -1. + <_> + 1 4 1 20 2. + <_> + + <_> + 0 2 24 4 -1. + <_> + 8 2 8 4 3. + <_> + + <_> + 7 8 10 4 -1. + <_> + 7 10 10 2 2. + <_> + + <_> + 6 7 8 10 -1. + <_> + 6 7 4 5 2. + <_> + 10 12 4 5 2. + <_> + + <_> + 14 0 6 14 -1. + <_> + 17 0 3 7 2. + <_> + 14 7 3 7 2. + <_> + + <_> + 4 11 5 8 -1. + <_> + 4 15 5 4 2. + <_> + + <_> + 2 0 20 9 -1. + <_> + 2 3 20 3 3. + <_> + + <_> + 6 7 12 8 -1. + <_> + 6 7 6 4 2. + <_> + 12 11 6 4 2. + <_> + + <_> + 9 17 6 6 -1. + <_> + 9 20 6 3 2. + <_> + + <_> + 7 10 10 4 -1. + <_> + 7 12 10 2 2. + <_> + + <_> + 6 5 12 9 -1. + <_> + 10 5 4 9 3. + <_> + + <_> + 5 11 6 8 -1. + <_> + 8 11 3 8 2. + <_> + + <_> + 18 4 4 17 -1. + <_> + 18 4 2 17 2. + <_> + + <_> + 0 0 6 6 -1. + <_> + 3 0 3 6 2. + <_> + + <_> + 18 4 4 17 -1. + <_> + 18 4 2 17 2. + <_> + + <_> + 2 4 4 17 -1. + <_> + 4 4 2 17 2. + <_> + + <_> + 5 18 19 3 -1. + <_> + 5 19 19 1 3. + <_> + + <_> + 11 0 2 18 -1. + <_> + 11 9 2 9 2. + <_> + + <_> + 15 4 2 18 -1. + <_> + 15 13 2 9 2. + <_> + + <_> + 7 4 2 18 -1. + <_> + 7 13 2 9 2. + <_> + + <_> + 7 11 10 8 -1. + <_> + 12 11 5 4 2. + <_> + 7 15 5 4 2. + <_> + + <_> + 10 6 4 9 -1. + <_> + 12 6 2 9 2. + <_> + + <_> + 10 0 6 9 -1. + <_> + 12 0 2 9 3. + <_> + + <_> + 2 9 16 8 -1. + <_> + 2 9 8 4 2. + <_> + 10 13 8 4 2. + <_> + + <_> + 14 15 6 9 -1. + <_> + 14 18 6 3 3. + <_> + + <_> + 8 7 6 9 -1. + <_> + 10 7 2 9 3. + <_> + + <_> + 14 15 6 9 -1. + <_> + 14 18 6 3 3. + <_> + + <_> + 3 12 12 6 -1. + <_> + 3 14 12 2 3. + <_> + + <_> + 14 12 9 6 -1. + <_> + 14 14 9 2 3. + <_> + + <_> + 1 12 9 6 -1. + <_> + 1 14 9 2 3. + <_> + + <_> + 3 7 18 3 -1. + <_> + 3 8 18 1 3. + <_> + + <_> + 1 7 22 6 -1. + <_> + 1 9 22 2 3. + <_> + + <_> + 18 4 6 6 -1. + <_> + 18 7 6 3 2. + <_> + + <_> + 0 4 6 6 -1. + <_> + 0 7 6 3 2. + <_> + + <_> + 5 11 16 6 -1. + <_> + 5 14 16 3 2. + <_> + + <_> + 6 16 9 4 -1. + <_> + 6 18 9 2 2. + <_> + + <_> + 14 15 6 9 -1. + <_> + 14 18 6 3 3. + <_> + + <_> + 4 15 6 9 -1. + <_> + 4 18 6 3 3. + <_> + + <_> + 15 1 6 23 -1. + <_> + 17 1 2 23 3. + <_> + + <_> + 0 21 24 3 -1. + <_> + 8 21 8 3 3. + <_> + + <_> + 0 20 24 4 -1. + <_> + 8 20 8 4 3. + <_> + + <_> + 3 1 6 23 -1. + <_> + 5 1 2 23 3. + <_> + + <_> + 3 17 18 3 -1. + <_> + 3 18 18 1 3. + <_> + + <_> + 0 16 18 3 -1. + <_> + 0 17 18 1 3. + <_> + + <_> + 1 16 22 4 -1. + <_> + 12 16 11 2 2. + <_> + 1 18 11 2 2. + <_> + + <_> + 0 16 9 6 -1. + <_> + 0 18 9 2 3. + <_> + + <_> + 2 10 21 3 -1. + <_> + 9 10 7 3 3. + <_> + + <_> + 2 18 12 6 -1. + <_> + 2 18 6 3 2. + <_> + 8 21 6 3 2. + <_> + + <_> + 0 5 24 4 -1. + <_> + 0 7 24 2 2. + <_> + + <_> + 10 2 4 15 -1. + <_> + 10 7 4 5 3. + <_> + + <_> + 10 7 6 12 -1. + <_> + 10 13 6 6 2. + <_> + + <_> + 6 6 6 9 -1. + <_> + 8 6 2 9 3. + <_> + + <_> + 11 0 6 9 -1. + <_> + 13 0 2 9 3. + <_> + + <_> + 9 7 6 9 -1. + <_> + 11 7 2 9 3. + <_> + + <_> + 2 1 20 3 -1. + <_> + 2 2 20 1 3. + <_> + + <_> + 1 18 12 6 -1. + <_> + 1 18 6 3 2. + <_> + 7 21 6 3 2. + <_> + + <_> + 13 2 4 13 -1. + <_> + 13 2 2 13 2. + <_> + + <_> + 6 7 12 4 -1. + <_> + 12 7 6 4 2. + <_> + + <_> + 10 1 4 13 -1. + <_> + 10 1 2 13 2. + <_> + + <_> + 6 0 3 18 -1. + <_> + 7 0 1 18 3. + <_> + + <_> + 14 3 10 5 -1. + <_> + 14 3 5 5 2. + <_> + + <_> + 6 15 12 8 -1. + <_> + 10 15 4 8 3. + <_> + + <_> + 9 10 6 9 -1. + <_> + 11 10 2 9 3. + <_> + + <_> + 8 3 4 9 -1. + <_> + 10 3 2 9 2. + <_> + + <_> + 17 0 6 14 -1. + <_> + 20 0 3 7 2. + <_> + 17 7 3 7 2. + <_> + + <_> + 1 0 6 14 -1. + <_> + 1 0 3 7 2. + <_> + 4 7 3 7 2. + <_> + + <_> + 14 0 6 16 -1. + <_> + 17 0 3 8 2. + <_> + 14 8 3 8 2. + <_> + + <_> + 7 4 4 10 -1. + <_> + 9 4 2 10 2. + <_> + + <_> + 3 17 18 6 -1. + <_> + 12 17 9 3 2. + <_> + 3 20 9 3 2. + <_> + + <_> + 1 20 22 4 -1. + <_> + 12 20 11 4 2. + <_> + + <_> + 14 3 10 5 -1. + <_> + 14 3 5 5 2. + <_> + + <_> + 0 3 10 5 -1. + <_> + 5 3 5 5 2. + <_> + + <_> + 12 6 12 16 -1. + <_> + 16 6 4 16 3. + <_> + + <_> + 0 6 12 16 -1. + <_> + 4 6 4 16 3. + <_> + + <_> + 10 9 5 15 -1. + <_> + 10 14 5 5 3. + <_> + + <_> + 1 18 21 2 -1. + <_> + 1 19 21 1 2. + <_> + + <_> + 15 0 9 6 -1. + <_> + 15 2 9 2 3. + <_> + + <_> + 6 1 12 4 -1. + <_> + 12 1 6 4 2. + <_> + + <_> + 6 0 12 12 -1. + <_> + 12 0 6 6 2. + <_> + 6 6 6 6 2. + <_> + + <_> + 8 10 8 12 -1. + <_> + 8 10 4 6 2. + <_> + 12 16 4 6 2. + <_> + + <_> + 14 16 10 8 -1. + <_> + 19 16 5 4 2. + <_> + 14 20 5 4 2. + <_> + + <_> + 0 16 10 8 -1. + <_> + 0 16 5 4 2. + <_> + 5 20 5 4 2. + <_> + + <_> + 10 12 12 5 -1. + <_> + 14 12 4 5 3. + <_> + + <_> + 6 16 10 8 -1. + <_> + 6 16 5 4 2. + <_> + 11 20 5 4 2. + <_> + + <_> + 7 6 12 6 -1. + <_> + 13 6 6 3 2. + <_> + 7 9 6 3 2. + <_> + + <_> + 9 6 4 18 -1. + <_> + 9 6 2 9 2. + <_> + 11 15 2 9 2. + <_> + + <_> + 10 9 6 14 -1. + <_> + 13 9 3 7 2. + <_> + 10 16 3 7 2. + <_> + + <_> + 8 9 6 14 -1. + <_> + 8 9 3 7 2. + <_> + 11 16 3 7 2. + <_> + + <_> + 7 4 11 12 -1. + <_> + 7 10 11 6 2. + <_> + + <_> + 4 8 6 16 -1. + <_> + 4 8 3 8 2. + <_> + 7 16 3 8 2. + <_> + + <_> + 17 3 4 21 -1. + <_> + 17 10 4 7 3. + <_> + + <_> + 3 3 4 21 -1. + <_> + 3 10 4 7 3. + <_> + + <_> + 10 1 8 18 -1. + <_> + 14 1 4 9 2. + <_> + 10 10 4 9 2. + <_> + + <_> + 2 5 16 8 -1. + <_> + 2 5 8 4 2. + <_> + 10 9 8 4 2. + <_> + + <_> + 3 6 18 12 -1. + <_> + 3 10 18 4 3. + <_> + + <_> + 4 10 16 12 -1. + <_> + 4 14 16 4 3. + <_> + + <_> + 15 4 8 20 -1. + <_> + 19 4 4 10 2. + <_> + 15 14 4 10 2. + <_> + + <_> + 7 2 9 6 -1. + <_> + 10 2 3 6 3. + <_> + + <_> + 15 4 8 20 -1. + <_> + 19 4 4 10 2. + <_> + 15 14 4 10 2. + <_> + + <_> + 1 4 8 20 -1. + <_> + 1 4 4 10 2. + <_> + 5 14 4 10 2. + <_> + + <_> + 11 8 8 14 -1. + <_> + 15 8 4 7 2. + <_> + 11 15 4 7 2. + <_> + + <_> + 5 8 8 14 -1. + <_> + 5 8 4 7 2. + <_> + 9 15 4 7 2. + <_> + + <_> + 10 13 5 8 -1. + <_> + 10 17 5 4 2. + <_> + + <_> + 4 13 7 9 -1. + <_> + 4 16 7 3 3. + <_> + + <_> + 0 13 24 10 -1. + <_> + 0 18 24 5 2. + <_> + + <_> + 4 2 8 11 -1. + <_> + 8 2 4 11 2. + <_> + + <_> + 10 2 8 16 -1. + <_> + 14 2 4 8 2. + <_> + 10 10 4 8 2. + <_> + + <_> + 0 2 24 6 -1. + <_> + 0 2 12 3 2. + <_> + 12 5 12 3 2. + <_> + + <_> + 6 0 12 9 -1. + <_> + 6 3 12 3 3. + <_> + + <_> + 1 2 12 12 -1. + <_> + 1 2 6 6 2. + <_> + 7 8 6 6 2. + <_> + + <_> + 18 5 6 9 -1. + <_> + 18 8 6 3 3. + <_> + + <_> + 4 3 8 10 -1. + <_> + 4 3 4 5 2. + <_> + 8 8 4 5 2. + <_> + + <_> + 6 21 18 3 -1. + <_> + 6 22 18 1 3. + <_> + + <_> + 1 10 18 2 -1. + <_> + 1 11 18 1 2. + <_> + + <_> + 1 10 22 3 -1. + <_> + 1 11 22 1 3. + <_> + + <_> + 2 8 12 9 -1. + <_> + 2 11 12 3 3. + <_> + + <_> + 12 8 12 6 -1. + <_> + 18 8 6 3 2. + <_> + 12 11 6 3 2. + <_> + + <_> + 0 8 12 6 -1. + <_> + 0 8 6 3 2. + <_> + 6 11 6 3 2. + <_> + + <_> + 10 15 6 9 -1. + <_> + 12 15 2 9 3. + <_> + + <_> + 7 13 9 6 -1. + <_> + 7 15 9 2 3. + <_> + + <_> + 9 8 7 12 -1. + <_> + 9 14 7 6 2. + <_> + + <_> + 4 13 9 6 -1. + <_> + 7 13 3 6 3. + <_> + + <_> + 6 15 18 4 -1. + <_> + 12 15 6 4 3. + <_> + + <_> + 5 4 4 16 -1. + <_> + 7 4 2 16 2. + <_> + + <_> + 10 15 6 9 -1. + <_> + 12 15 2 9 3. + <_> + + <_> + 8 15 6 9 -1. + <_> + 10 15 2 9 3. + <_> + + <_> + 9 11 12 10 -1. + <_> + 15 11 6 5 2. + <_> + 9 16 6 5 2. + <_> + + <_> + 3 6 14 6 -1. + <_> + 3 8 14 2 3. + <_> + + <_> + 4 2 17 8 -1. + <_> + 4 6 17 4 2. + <_> + + <_> + 6 2 12 21 -1. + <_> + 6 9 12 7 3. + <_> + + <_> + 8 1 9 9 -1. + <_> + 8 4 9 3 3. + <_> + + <_> + 0 7 24 3 -1. + <_> + 12 7 12 3 2. + <_> + + <_> + 11 6 9 10 -1. + <_> + 11 11 9 5 2. + <_> + + <_> + 2 11 18 3 -1. + <_> + 2 12 18 1 3. + <_> + + <_> + 8 16 9 4 -1. + <_> + 8 18 9 2 2. + <_> + + <_> + 0 0 9 6 -1. + <_> + 0 2 9 2 3. + <_> + + <_> + 0 11 24 6 -1. + <_> + 0 13 24 2 3. + <_> + + <_> + 2 9 20 6 -1. + <_> + 2 12 20 3 2. + <_> + + <_> + 4 5 16 12 -1. + <_> + 12 5 8 6 2. + <_> + 4 11 8 6 2. + <_> + + <_> + 10 2 4 15 -1. + <_> + 10 7 4 5 3. + <_> + + <_> + 7 3 10 4 -1. + <_> + 7 5 10 2 2. + <_> + + <_> + 9 15 6 8 -1. + <_> + 9 19 6 4 2. + <_> + + <_> + 17 0 7 10 -1. + <_> + 17 5 7 5 2. + <_> + + <_> + 0 0 7 10 -1. + <_> + 0 5 7 5 2. + <_> + + <_> + 16 1 6 12 -1. + <_> + 19 1 3 6 2. + <_> + 16 7 3 6 2. + <_> + + <_> + 1 0 19 8 -1. + <_> + 1 4 19 4 2. + <_> + + <_> + 12 2 9 4 -1. + <_> + 12 4 9 2 2. + <_> + + <_> + 3 2 9 4 -1. + <_> + 3 4 9 2 2. + <_> + + <_> + 12 2 10 6 -1. + <_> + 12 4 10 2 3. + <_> + + <_> + 3 4 18 2 -1. + <_> + 12 4 9 2 2. + <_> + + <_> + 12 1 4 9 -1. + <_> + 12 1 2 9 2. + <_> + + <_> + 8 1 4 9 -1. + <_> + 10 1 2 9 2. + <_> + + <_> + 10 5 8 10 -1. + <_> + 14 5 4 5 2. + <_> + 10 10 4 5 2. + <_> + + <_> + 6 4 12 13 -1. + <_> + 10 4 4 13 3. + <_> + + <_> + 13 5 6 6 -1. + <_> + 13 5 3 6 2. + <_> + + <_> + 1 5 12 3 -1. + <_> + 7 5 6 3 2. + <_> + + <_> + 7 5 10 6 -1. + <_> + 7 7 10 2 3. + <_> + + <_> + 2 0 21 5 -1. + <_> + 9 0 7 5 3. + <_> + + <_> + 0 8 9 9 -1. + <_> + 0 11 9 3 3. + <_> + + <_> + 9 6 6 9 -1. + <_> + 11 6 2 9 3. + <_> + + <_> + 0 3 6 7 -1. + <_> + 3 3 3 7 2. + <_> + + <_> + 9 18 12 6 -1. + <_> + 15 18 6 3 2. + <_> + 9 21 6 3 2. + <_> + + <_> + 2 8 20 6 -1. + <_> + 2 8 10 3 2. + <_> + 12 11 10 3 2. + <_> + + <_> + 13 2 10 4 -1. + <_> + 13 4 10 2 2. + <_> + + <_> + 4 5 5 18 -1. + <_> + 4 11 5 6 3. + <_> + + <_> + 20 4 4 9 -1. + <_> + 20 4 2 9 2. + <_> + + <_> + 8 6 8 14 -1. + <_> + 8 13 8 7 2. + <_> + + <_> + 0 1 24 6 -1. + <_> + 12 1 12 3 2. + <_> + 0 4 12 3 2. + <_> + + <_> + 0 4 4 9 -1. + <_> + 2 4 2 9 2. + <_> + + <_> + 3 6 18 3 -1. + <_> + 3 7 18 1 3. + <_> + + <_> + 3 17 16 6 -1. + <_> + 3 19 16 2 3. + <_> + + <_> + 13 6 6 9 -1. + <_> + 13 9 6 3 3. + <_> + + <_> + 5 6 14 6 -1. + <_> + 5 6 7 3 2. + <_> + 12 9 7 3 2. + <_> + + <_> + 13 5 8 10 -1. + <_> + 17 5 4 5 2. + <_> + 13 10 4 5 2. + <_> + + <_> + 2 2 20 3 -1. + <_> + 2 3 20 1 3. + <_> + + <_> + 9 2 9 6 -1. + <_> + 12 2 3 6 3. + <_> + + <_> + 8 6 6 9 -1. + <_> + 10 6 2 9 3. + <_> + + <_> + 12 3 4 11 -1. + <_> + 12 3 2 11 2. + <_> + + <_> + 8 3 4 11 -1. + <_> + 10 3 2 11 2. + <_> + + <_> + 8 3 8 10 -1. + <_> + 12 3 4 5 2. + <_> + 8 8 4 5 2. + <_> + + <_> + 11 1 2 18 -1. + <_> + 12 1 1 18 2. + <_> + + <_> + 9 2 9 6 -1. + <_> + 12 2 3 6 3. + <_> + + <_> + 0 2 19 3 -1. + <_> + 0 3 19 1 3. + <_> + + <_> + 9 14 9 6 -1. + <_> + 9 16 9 2 3. + <_> + + <_> + 1 8 18 5 -1. + <_> + 7 8 6 5 3. + <_> + + <_> + 12 0 6 9 -1. + <_> + 14 0 2 9 3. + <_> + + <_> + 6 0 6 9 -1. + <_> + 8 0 2 9 3. + <_> + + <_> + 13 6 4 15 -1. + <_> + 13 11 4 5 3. + <_> + + <_> + 1 5 18 3 -1. + <_> + 1 6 18 1 3. + <_> + + <_> + 9 7 14 6 -1. + <_> + 9 9 14 2 3. + <_> + + <_> + 2 16 18 3 -1. + <_> + 2 17 18 1 3. + <_> + + <_> + 15 17 9 6 -1. + <_> + 15 19 9 2 3. + <_> + + <_> + 0 8 12 6 -1. + <_> + 0 8 6 3 2. + <_> + 6 11 6 3 2. + <_> + + <_> + 9 13 7 8 -1. + <_> + 9 17 7 4 2. + <_> + + <_> + 2 17 20 3 -1. + <_> + 2 18 20 1 3. + <_> + + <_> + 15 17 9 6 -1. + <_> + 15 19 9 2 3. + <_> + + <_> + 4 0 15 4 -1. + <_> + 4 2 15 2 2. + <_> + + <_> + 17 2 6 6 -1. + <_> + 17 5 6 3 2. + <_> + + <_> + 0 3 6 9 -1. + <_> + 0 6 6 3 3. + <_> + + <_> + 15 17 9 6 -1. + <_> + 15 19 9 2 3. + <_> + + <_> + 0 17 9 6 -1. + <_> + 0 19 9 2 3. + <_> + + <_> + 9 18 12 6 -1. + <_> + 15 18 6 3 2. + <_> + 9 21 6 3 2. + <_> + + <_> + 3 15 6 9 -1. + <_> + 3 18 6 3 3. + <_> + + <_> + 16 13 8 10 -1. + <_> + 20 13 4 5 2. + <_> + 16 18 4 5 2. + <_> + + <_> + 0 14 24 4 -1. + <_> + 8 14 8 4 3. + <_> + + <_> + 13 18 6 6 -1. + <_> + 13 18 3 6 2. + <_> + + <_> + 0 13 8 10 -1. + <_> + 0 13 4 5 2. + <_> + 4 18 4 5 2. + <_> + + <_> + 0 14 24 6 -1. + <_> + 0 17 24 3 2. + <_> + + <_> + 5 2 12 8 -1. + <_> + 5 2 6 4 2. + <_> + 11 6 6 4 2. + <_> + + <_> + 8 9 9 6 -1. + <_> + 11 9 3 6 3. + <_> + + <_> + 4 3 16 4 -1. + <_> + 4 5 16 2 2. + <_> + + <_> + 10 2 4 10 -1. + <_> + 10 7 4 5 2. + <_> + + <_> + 8 4 5 8 -1. + <_> + 8 8 5 4 2. + <_> + + <_> + 11 5 9 12 -1. + <_> + 11 9 9 4 3. + <_> + + <_> + 4 5 9 12 -1. + <_> + 4 9 9 4 3. + <_> + + <_> + 14 6 6 9 -1. + <_> + 14 9 6 3 3. + <_> + + <_> + 2 4 20 12 -1. + <_> + 2 8 20 4 3. + <_> + + <_> + 4 4 17 16 -1. + <_> + 4 12 17 8 2. + <_> + + <_> + 8 7 7 6 -1. + <_> + 8 10 7 3 2. + <_> + + <_> + 1 9 23 2 -1. + <_> + 1 10 23 1 2. + <_> + + <_> + 7 0 6 9 -1. + <_> + 9 0 2 9 3. + <_> + + <_> + 13 3 4 9 -1. + <_> + 13 3 2 9 2. + <_> + + <_> + 8 1 6 13 -1. + <_> + 10 1 2 13 3. + <_> + + <_> + 4 22 18 2 -1. + <_> + 4 23 18 1 2. + <_> + + <_> + 3 10 9 6 -1. + <_> + 6 10 3 6 3. + <_> + + <_> + 14 0 2 24 -1. + <_> + 14 0 1 24 2. + <_> + + <_> + 8 0 2 24 -1. + <_> + 9 0 1 24 2. + <_> + + <_> + 3 2 18 10 -1. + <_> + 9 2 6 10 3. + <_> + + <_> + 4 13 15 6 -1. + <_> + 9 13 5 6 3. + <_> + + <_> + 3 21 18 3 -1. + <_> + 9 21 6 3 3. + <_> + + <_> + 9 1 4 11 -1. + <_> + 11 1 2 11 2. + <_> + + <_> + 9 7 10 4 -1. + <_> + 9 7 5 4 2. + <_> + + <_> + 7 0 10 18 -1. + <_> + 12 0 5 18 2. + <_> + + <_> + 12 1 6 16 -1. + <_> + 14 1 2 16 3. + <_> + + <_> + 6 1 6 16 -1. + <_> + 8 1 2 16 3. + <_> + + <_> + 18 2 6 6 -1. + <_> + 18 5 6 3 2. + <_> + + <_> + 3 5 18 2 -1. + <_> + 3 6 18 1 2. + <_> + + <_> + 18 2 6 6 -1. + <_> + 18 5 6 3 2. + <_> + + <_> + 0 2 6 6 -1. + <_> + 0 5 6 3 2. + <_> + + <_> + 13 11 11 6 -1. + <_> + 13 13 11 2 3. + <_> + + <_> + 5 7 10 4 -1. + <_> + 10 7 5 4 2. + <_> + + <_> + 11 9 10 7 -1. + <_> + 11 9 5 7 2. + <_> + + <_> + 3 9 10 7 -1. + <_> + 8 9 5 7 2. + <_> + + <_> + 16 4 6 6 -1. + <_> + 16 4 3 6 2. + <_> + + <_> + 5 6 10 8 -1. + <_> + 5 6 5 4 2. + <_> + 10 10 5 4 2. + <_> + + <_> + 7 21 16 3 -1. + <_> + 7 21 8 3 2. + <_> + + <_> + 1 21 16 3 -1. + <_> + 9 21 8 3 2. + <_> + + <_> + 2 5 22 14 -1. + <_> + 13 5 11 7 2. + <_> + 2 12 11 7 2. + <_> + + <_> + 3 10 8 10 -1. + <_> + 3 10 4 5 2. + <_> + 7 15 4 5 2. + <_> + + <_> + 17 0 6 12 -1. + <_> + 20 0 3 6 2. + <_> + 17 6 3 6 2. + <_> + + <_> + 5 2 6 18 -1. + <_> + 7 2 2 18 3. + <_> + + <_> + 13 0 6 9 -1. + <_> + 15 0 2 9 3. + <_> + + <_> + 0 12 7 9 -1. + <_> + 0 15 7 3 3. + <_> + + <_> + 15 13 8 10 -1. + <_> + 19 13 4 5 2. + <_> + 15 18 4 5 2. + <_> + + <_> + 1 0 6 12 -1. + <_> + 1 0 3 6 2. + <_> + 4 6 3 6 2. + <_> + + <_> + 12 1 3 12 -1. + <_> + 12 7 3 6 2. + <_> + + <_> + 1 13 8 10 -1. + <_> + 1 13 4 5 2. + <_> + 5 18 4 5 2. + <_> + + <_> + 3 21 19 2 -1. + <_> + 3 22 19 1 2. + <_> + + <_> + 6 3 4 13 -1. + <_> + 8 3 2 13 2. + <_> + + <_> + 5 10 18 3 -1. + <_> + 5 11 18 1 3. + <_> + + <_> + 9 3 5 12 -1. + <_> + 9 7 5 4 3. + <_> + + <_> + 11 2 4 15 -1. + <_> + 11 7 4 5 3. + <_> + + <_> + 4 1 16 4 -1. + <_> + 4 3 16 2 2. + <_> + + <_> + 6 0 18 3 -1. + <_> + 6 1 18 1 3. + <_> + + <_> + 5 1 10 8 -1. + <_> + 5 1 5 4 2. + <_> + 10 5 5 4 2. + <_> + + <_> + 11 18 12 6 -1. + <_> + 17 18 6 3 2. + <_> + 11 21 6 3 2. + <_> + + <_> + 5 15 12 3 -1. + <_> + 11 15 6 3 2. + <_> + + <_> + 1 10 22 4 -1. + <_> + 1 10 11 4 2. + <_> + + <_> + 7 9 9 6 -1. + <_> + 10 9 3 6 3. + <_> + + <_> + 6 11 12 5 -1. + <_> + 10 11 4 5 3. + <_> + + <_> + 6 7 10 7 -1. + <_> + 11 7 5 7 2. + <_> + + <_> + 11 2 8 10 -1. + <_> + 11 2 4 10 2. + <_> + + <_> + 5 2 8 10 -1. + <_> + 9 2 4 10 2. + <_> + + <_> + 6 4 18 6 -1. + <_> + 15 4 9 3 2. + <_> + 6 7 9 3 2. + <_> + + <_> + 0 5 10 9 -1. + <_> + 0 8 10 3 3. + <_> + + <_> + 2 7 21 6 -1. + <_> + 2 9 21 2 3. + <_> + + <_> + 0 4 22 16 -1. + <_> + 0 4 11 8 2. + <_> + 11 12 11 8 2. + <_> + + <_> + 9 0 6 22 -1. + <_> + 9 11 6 11 2. + <_> + + <_> + 9 1 3 12 -1. + <_> + 9 7 3 6 2. + <_> + + <_> + 12 0 12 18 -1. + <_> + 18 0 6 9 2. + <_> + 12 9 6 9 2. + <_> + + <_> + 0 0 12 18 -1. + <_> + 0 0 6 9 2. + <_> + 6 9 6 9 2. + <_> + + <_> + 1 1 22 4 -1. + <_> + 12 1 11 2 2. + <_> + 1 3 11 2 2. + <_> + + <_> + 3 0 18 4 -1. + <_> + 3 2 18 2 2. + <_> + + <_> + 2 5 22 6 -1. + <_> + 2 7 22 2 3. + <_> + + <_> + 5 0 6 9 -1. + <_> + 5 3 6 3 3. + <_> + + <_> + 10 14 6 9 -1. + <_> + 12 14 2 9 3. + <_> + + <_> + 8 14 6 9 -1. + <_> + 10 14 2 9 3. + <_> + + <_> + 5 18 18 3 -1. + <_> + 5 19 18 1 3. + <_> + + <_> + 6 0 6 13 -1. + <_> + 9 0 3 13 2. + <_> + + <_> + 7 4 12 4 -1. + <_> + 7 4 6 4 2. + <_> + + <_> + 5 2 12 6 -1. + <_> + 9 2 4 6 3. + <_> + + <_> + 4 1 18 3 -1. + <_> + 4 2 18 1 3. + <_> + + <_> + 0 8 6 12 -1. + <_> + 0 12 6 4 3. + <_> + + <_> + 9 15 6 9 -1. + <_> + 11 15 2 9 3. + <_> + + <_> + 9 10 6 13 -1. + <_> + 11 10 2 13 3. + <_> + + <_> + 6 17 18 2 -1. + <_> + 6 18 18 1 2. + <_> + + <_> + 9 4 6 9 -1. + <_> + 11 4 2 9 3. + <_> + + <_> + 10 0 6 9 -1. + <_> + 12 0 2 9 3. + <_> + + <_> + 5 6 10 8 -1. + <_> + 5 6 5 4 2. + <_> + 10 10 5 4 2. + <_> + + <_> + 14 9 5 8 -1. + <_> + 14 13 5 4 2. + <_> + + <_> + 5 9 5 8 -1. + <_> + 5 13 5 4 2. + <_> + + <_> + 14 11 9 6 -1. + <_> + 14 13 9 2 3. + <_> + + <_> + 0 2 23 15 -1. + <_> + 0 7 23 5 3. + <_> + + <_> + 16 0 8 12 -1. + <_> + 16 6 8 6 2. + <_> + + <_> + 4 15 6 9 -1. + <_> + 4 18 6 3 3. + <_> + + <_> + 8 18 9 4 -1. + <_> + 8 20 9 2 2. + <_> + + <_> + 0 17 18 3 -1. + <_> + 0 18 18 1 3. + <_> + + <_> + 13 11 11 6 -1. + <_> + 13 13 11 2 3. + <_> + + <_> + 0 11 11 6 -1. + <_> + 0 13 11 2 3. + <_> + + <_> + 0 9 24 6 -1. + <_> + 12 9 12 3 2. + <_> + 0 12 12 3 2. + <_> + + <_> + 6 16 8 8 -1. + <_> + 6 20 8 4 2. + <_> + + <_> + 10 16 14 6 -1. + <_> + 10 18 14 2 3. + <_> + + <_> + 1 1 21 3 -1. + <_> + 1 2 21 1 3. + <_> + + <_> + 0 2 24 3 -1. + <_> + 0 2 12 3 2. + <_> + + <_> + 2 15 8 5 -1. + <_> + 6 15 4 5 2. + <_> + + <_> + 2 11 21 3 -1. + <_> + 9 11 7 3 3. + <_> + + <_> + 1 18 12 6 -1. + <_> + 1 18 6 3 2. + <_> + 7 21 6 3 2. + <_> + + <_> + 10 14 4 10 -1. + <_> + 10 19 4 5 2. + <_> + + <_> + 7 7 4 10 -1. + <_> + 7 12 4 5 2. + <_> + + <_> + 9 8 6 12 -1. + <_> + 9 12 6 4 3. + <_> + + <_> + 7 1 9 6 -1. + <_> + 10 1 3 6 3. + <_> + + <_> + 3 14 19 2 -1. + <_> + 3 15 19 1 2. + <_> + + <_> + 7 7 10 10 -1. + <_> + 7 7 5 5 2. + <_> + 12 12 5 5 2. + <_> + + <_> + 3 12 18 12 -1. + <_> + 3 12 9 12 2. + <_> + + <_> + 8 0 6 12 -1. + <_> + 10 0 2 12 3. + <_> + + <_> + 3 0 17 9 -1. + <_> + 3 3 17 3 3. + <_> + + <_> + 6 0 12 11 -1. + <_> + 10 0 4 11 3. + <_> + + <_> + 1 0 6 13 -1. + <_> + 4 0 3 13 2. + <_> + + <_> + 5 8 16 6 -1. + <_> + 5 11 16 3 2. + <_> + + <_> + 8 8 5 12 -1. + <_> + 8 14 5 6 2. + <_> + + <_> + 3 21 18 3 -1. + <_> + 9 21 6 3 3. + <_> + + <_> + 0 0 6 6 -1. + <_> + 3 0 3 6 2. + <_> + + <_> + 2 0 20 3 -1. + <_> + 2 1 20 1 3. + <_> + + <_> + 4 6 15 10 -1. + <_> + 9 6 5 10 3. + <_> + + <_> + 9 6 6 9 -1. + <_> + 11 6 2 9 3. + <_> + + <_> + 9 0 6 9 -1. + <_> + 11 0 2 9 3. + <_> + + <_> + 14 0 6 9 -1. + <_> + 16 0 2 9 3. + <_> + + <_> + 7 16 9 6 -1. + <_> + 7 18 9 2 3. + <_> + + <_> + 14 0 6 9 -1. + <_> + 16 0 2 9 3. + <_> + + <_> + 4 0 6 9 -1. + <_> + 6 0 2 9 3. + <_> + + <_> + 17 1 6 16 -1. + <_> + 19 1 2 16 3. + <_> + + <_> + 1 1 6 16 -1. + <_> + 3 1 2 16 3. + <_> + + <_> + 14 13 6 9 -1. + <_> + 14 16 6 3 3. + <_> + + <_> + 0 0 6 9 -1. + <_> + 0 3 6 3 3. + <_> + + <_> + 9 5 6 6 -1. + <_> + 9 5 3 6 2. + <_> + + <_> + 3 10 9 6 -1. + <_> + 6 10 3 6 3. + <_> + + <_> + 14 7 3 16 -1. + <_> + 14 15 3 8 2. + <_> + + <_> + 4 10 14 12 -1. + <_> + 4 10 7 6 2. + <_> + 11 16 7 6 2. + <_> + + <_> + 7 6 12 6 -1. + <_> + 7 8 12 2 3. + <_> + + <_> + 7 2 4 20 -1. + <_> + 9 2 2 20 2. + <_> + + <_> + 14 13 6 9 -1. + <_> + 14 16 6 3 3. + <_> + + <_> + 10 6 4 9 -1. + <_> + 12 6 2 9 2. + <_> + + <_> + 14 13 6 9 -1. + <_> + 14 16 6 3 3. + <_> + + <_> + 5 20 14 4 -1. + <_> + 5 22 14 2 2. + <_> + + <_> + 4 4 16 12 -1. + <_> + 4 10 16 6 2. + <_> + + <_> + 9 6 6 9 -1. + <_> + 11 6 2 9 3. + <_> + + <_> + 3 0 21 4 -1. + <_> + 3 2 21 2 2. + <_> + + <_> + 4 13 6 9 -1. + <_> + 4 16 6 3 3. + <_> + + <_> + 16 16 5 8 -1. + <_> + 16 20 5 4 2. + <_> + + <_> + 4 0 16 16 -1. + <_> + 4 0 8 8 2. + <_> + 12 8 8 8 2. + <_> + + <_> + 6 6 14 6 -1. + <_> + 13 6 7 3 2. + <_> + 6 9 7 3 2. + <_> + + <_> + 10 5 4 15 -1. + <_> + 10 10 4 5 3. + <_> + + <_> + 9 15 12 8 -1. + <_> + 15 15 6 4 2. + <_> + 9 19 6 4 2. + <_> + + <_> + 6 7 12 4 -1. + <_> + 12 7 6 4 2. + <_> + + <_> + 5 6 14 6 -1. + <_> + 12 6 7 3 2. + <_> + 5 9 7 3 2. + <_> + + <_> + 3 6 18 10 -1. + <_> + 3 6 9 5 2. + <_> + 12 11 9 5 2. + <_> + + <_> + 6 0 18 21 -1. + <_> + 12 0 6 21 3. + <_> + + <_> + 0 0 24 21 -1. + <_> + 8 0 8 21 3. + <_> + + <_> + 6 18 18 3 -1. + <_> + 6 19 18 1 3. + <_> + + <_> + 0 15 9 6 -1. + <_> + 0 17 9 2 3. + <_> + + <_> + 4 3 19 2 -1. + <_> + 4 4 19 1 2. + <_> + + <_> + 0 3 24 2 -1. + <_> + 0 4 24 1 2. + <_> + + <_> + 15 14 9 4 -1. + <_> + 15 16 9 2 2. + <_> + + <_> + 0 14 9 4 -1. + <_> + 0 16 9 2 2. + <_> + + <_> + 6 15 18 2 -1. + <_> + 6 16 18 1 2. + <_> + + <_> + 3 17 18 3 -1. + <_> + 3 18 18 1 3. + <_> + + <_> + 12 0 3 23 -1. + <_> + 13 0 1 23 3. + <_> + + <_> + 6 0 8 6 -1. + <_> + 6 3 8 3 2. + <_> + + <_> + 6 16 18 3 -1. + <_> + 6 17 18 1 3. + <_> + + <_> + 9 0 3 23 -1. + <_> + 10 0 1 23 3. + <_> + + <_> + 10 7 4 10 -1. + <_> + 10 12 4 5 2. + <_> + + <_> + 7 8 10 12 -1. + <_> + 7 12 10 4 3. + <_> + + <_> + 14 9 6 14 -1. + <_> + 17 9 3 7 2. + <_> + 14 16 3 7 2. + <_> + + <_> + 2 0 10 9 -1. + <_> + 2 3 10 3 3. + <_> + + <_> + 11 1 5 12 -1. + <_> + 11 7 5 6 2. + <_> + + <_> + 1 4 12 10 -1. + <_> + 1 4 6 5 2. + <_> + 7 9 6 5 2. + <_> + + <_> + 15 1 9 4 -1. + <_> + 15 3 9 2 2. + <_> + + <_> + 1 2 8 10 -1. + <_> + 1 2 4 5 2. + <_> + 5 7 4 5 2. + <_> + + <_> + 10 1 5 12 -1. + <_> + 10 5 5 4 3. + <_> + + <_> + 4 0 14 24 -1. + <_> + 11 0 7 24 2. + <_> + + <_> + 7 17 10 4 -1. + <_> + 7 19 10 2 2. + <_> + + <_> + 10 14 4 10 -1. + <_> + 10 19 4 5 2. + <_> + + <_> + 13 15 6 9 -1. + <_> + 15 15 2 9 3. + <_> + + <_> + 3 21 18 3 -1. + <_> + 3 22 18 1 3. + <_> + + <_> + 13 15 6 9 -1. + <_> + 15 15 2 9 3. + <_> + + <_> + 5 15 6 9 -1. + <_> + 7 15 2 9 3. + <_> + + <_> + 10 6 4 18 -1. + <_> + 12 6 2 9 2. + <_> + 10 15 2 9 2. + <_> + + <_> + 7 3 6 11 -1. + <_> + 9 3 2 11 3. + <_> + + <_> + 15 1 9 4 -1. + <_> + 15 3 9 2 2. + <_> + + <_> + 5 4 14 8 -1. + <_> + 5 8 14 4 2. + <_> + + <_> + 8 1 15 9 -1. + <_> + 8 4 15 3 3. + <_> + + <_> + 7 2 8 10 -1. + <_> + 7 2 4 5 2. + <_> + 11 7 4 5 2. + <_> + + <_> + 12 2 6 12 -1. + <_> + 12 2 3 12 2. + <_> + + <_> + 6 2 6 12 -1. + <_> + 9 2 3 12 2. + <_> + + <_> + 7 7 12 4 -1. + <_> + 7 7 6 4 2. + <_> + + <_> + 6 3 12 10 -1. + <_> + 10 3 4 10 3. + <_> + + <_> + 5 6 16 6 -1. + <_> + 13 6 8 3 2. + <_> + 5 9 8 3 2. + <_> + + <_> + 3 1 18 9 -1. + <_> + 9 1 6 9 3. + <_> + + <_> + 3 8 18 5 -1. + <_> + 9 8 6 5 3. + <_> + + <_> + 0 0 24 22 -1. + <_> + 0 0 12 11 2. + <_> + 12 11 12 11 2. + <_> + + <_> + 14 16 9 6 -1. + <_> + 14 18 9 2 3. + <_> + + <_> + 0 16 24 8 -1. + <_> + 0 20 24 4 2. + <_> + + <_> + 1 19 22 4 -1. + <_> + 12 19 11 2 2. + <_> + 1 21 11 2 2. + <_> + + <_> + 1 16 9 6 -1. + <_> + 1 18 9 2 3. + <_> + + <_> + 7 8 10 4 -1. + <_> + 7 8 5 4 2. + <_> + + <_> + 9 15 6 9 -1. + <_> + 11 15 2 9 3. + <_> + + <_> + 10 18 12 6 -1. + <_> + 16 18 6 3 2. + <_> + 10 21 6 3 2. + <_> + + <_> + 2 18 12 6 -1. + <_> + 2 18 6 3 2. + <_> + 8 21 6 3 2. + <_> + + <_> + 8 3 16 9 -1. + <_> + 8 6 16 3 3. + <_> + + <_> + 0 5 10 6 -1. + <_> + 0 7 10 2 3. + <_> + + <_> + 5 5 18 3 -1. + <_> + 5 6 18 1 3. + <_> + + <_> + 2 6 9 6 -1. + <_> + 2 9 9 3 2. + <_> + + <_> + 14 2 10 9 -1. + <_> + 14 5 10 3 3. + <_> + + <_> + 3 6 18 3 -1. + <_> + 3 7 18 1 3. + <_> + + <_> + 9 2 15 6 -1. + <_> + 9 4 15 2 3. + <_> + + <_> + 4 8 15 6 -1. + <_> + 4 10 15 2 3. + <_> + + <_> + 0 5 24 4 -1. + <_> + 12 5 12 2 2. + <_> + 0 7 12 2 2. + <_> + + <_> + 7 8 6 12 -1. + <_> + 9 8 2 12 3. + <_> + + <_> + 11 0 6 9 -1. + <_> + 13 0 2 9 3. + <_> + + <_> + 0 12 6 12 -1. + <_> + 0 12 3 6 2. + <_> + 3 18 3 6 2. + <_> + + <_> + 14 12 10 6 -1. + <_> + 14 14 10 2 3. + <_> + + <_> + 2 7 18 9 -1. + <_> + 2 10 18 3 3. + <_> + + <_> + 11 14 10 9 -1. + <_> + 11 17 10 3 3. + <_> + + <_> + 7 6 10 8 -1. + <_> + 7 6 5 4 2. + <_> + 12 10 5 4 2. + <_> + + <_> + 6 6 14 6 -1. + <_> + 13 6 7 3 2. + <_> + 6 9 7 3 2. + <_> + + <_> + 4 13 9 7 -1. + <_> + 7 13 3 7 3. + <_> + + <_> + 14 10 6 12 -1. + <_> + 17 10 3 6 2. + <_> + 14 16 3 6 2. + <_> + + <_> + 4 10 6 12 -1. + <_> + 4 10 3 6 2. + <_> + 7 16 3 6 2. + <_> + + <_> + 13 9 8 6 -1. + <_> + 13 9 4 6 2. + <_> + + <_> + 8 3 4 14 -1. + <_> + 10 3 2 14 2. + <_> + + <_> + 17 0 3 18 -1. + <_> + 18 0 1 18 3. + <_> + + <_> + 4 12 16 12 -1. + <_> + 12 12 8 12 2. + <_> + + <_> + 15 0 6 14 -1. + <_> + 17 0 2 14 3. + <_> + + <_> + 3 0 6 14 -1. + <_> + 5 0 2 14 3. + <_> + + <_> + 12 2 12 20 -1. + <_> + 16 2 4 20 3. + <_> + + <_> + 0 2 12 20 -1. + <_> + 4 2 4 20 3. + <_> + + <_> + 16 0 6 17 -1. + <_> + 18 0 2 17 3. + <_> + + <_> + 2 0 6 17 -1. + <_> + 4 0 2 17 3. + <_> + + <_> + 15 6 9 6 -1. + <_> + 15 8 9 2 3. + <_> + + <_> + 0 6 9 6 -1. + <_> + 0 8 9 2 3. + <_> + + <_> + 18 1 6 13 -1. + <_> + 20 1 2 13 3. + <_> + + <_> + 0 1 6 13 -1. + <_> + 2 1 2 13 3. + <_> + + <_> + 16 0 4 9 -1. + <_> + 16 0 2 9 2. + <_> + + <_> + 5 10 12 7 -1. + <_> + 9 10 4 7 3. + <_> + + <_> + 12 9 12 6 -1. + <_> + 12 11 12 2 3. + <_> + + <_> + 0 9 12 6 -1. + <_> + 0 11 12 2 3. + <_> + + <_> + 5 7 14 9 -1. + <_> + 5 10 14 3 3. + <_> + + <_> + 0 15 20 3 -1. + <_> + 0 16 20 1 3. + <_> + + <_> + 8 10 8 10 -1. + <_> + 12 10 4 5 2. + <_> + 8 15 4 5 2. + <_> + + <_> + 5 4 13 9 -1. + <_> + 5 7 13 3 3. + <_> + + <_> + 10 2 6 18 -1. + <_> + 10 8 6 6 3. + <_> + + <_> + 6 0 6 9 -1. + <_> + 8 0 2 9 3. + <_> + + <_> + 6 9 12 4 -1. + <_> + 6 11 12 2 2. + <_> + + <_> + 3 2 15 12 -1. + <_> + 3 6 15 4 3. + <_> + + <_> + 12 0 12 5 -1. + <_> + 16 0 4 5 3. + <_> + + <_> + 0 15 18 3 -1. + <_> + 6 15 6 3 3. + <_> + + <_> + 0 14 24 5 -1. + <_> + 8 14 8 5 3. + <_> + + <_> + 5 1 3 18 -1. + <_> + 6 1 1 18 3. + <_> + + <_> + 10 0 4 14 -1. + <_> + 10 0 2 14 2. + <_> + + <_> + 9 3 4 9 -1. + <_> + 11 3 2 9 2. + <_> + + <_> + 8 2 12 6 -1. + <_> + 14 2 6 3 2. + <_> + 8 5 6 3 2. + <_> + + <_> + 0 4 17 4 -1. + <_> + 0 6 17 2 2. + <_> + + <_> + 16 16 5 8 -1. + <_> + 16 20 5 4 2. + <_> + + <_> + 3 16 5 8 -1. + <_> + 3 20 5 4 2. + <_> + + <_> + 6 18 18 2 -1. + <_> + 6 19 18 1 2. + <_> + + <_> + 0 0 12 5 -1. + <_> + 4 0 4 5 3. + <_> + + <_> + 14 3 6 12 -1. + <_> + 17 3 3 6 2. + <_> + 14 9 3 6 2. + <_> + + <_> + 0 12 6 12 -1. + <_> + 2 12 2 12 3. + <_> + + <_> + 2 3 21 3 -1. + <_> + 2 4 21 1 3. + <_> + + <_> + 4 3 6 12 -1. + <_> + 4 3 3 6 2. + <_> + 7 9 3 6 2. + <_> + + <_> + 12 8 12 6 -1. + <_> + 18 8 6 3 2. + <_> + 12 11 6 3 2. + <_> + + <_> + 0 15 16 9 -1. + <_> + 8 15 8 9 2. + <_> + + <_> + 6 13 18 5 -1. + <_> + 6 13 9 5 2. + <_> + + <_> + 1 6 15 6 -1. + <_> + 6 6 5 6 3. + <_> + + <_> + 11 9 9 6 -1. + <_> + 14 9 3 6 3. + <_> + + <_> + 3 0 15 11 -1. + <_> + 8 0 5 11 3. + <_> + + <_> + 15 3 3 18 -1. + <_> + 15 9 3 6 3. + <_> + + <_> + 6 3 3 18 -1. + <_> + 6 9 3 6 3. + <_> + + <_> + 9 5 10 8 -1. + <_> + 14 5 5 4 2. + <_> + 9 9 5 4 2. + <_> + + <_> + 4 4 16 8 -1. + <_> + 4 4 8 4 2. + <_> + 12 8 8 4 2. + <_> + + <_> + 7 7 12 3 -1. + <_> + 7 7 6 3 2. + <_> + + <_> + 5 0 9 13 -1. + <_> + 8 0 3 13 3. + <_> + + <_> + 11 0 6 9 -1. + <_> + 13 0 2 9 3. + <_> + + <_> + 7 0 6 9 -1. + <_> + 9 0 2 9 3. + <_> + + <_> + 8 1 10 9 -1. + <_> + 8 4 10 3 3. + <_> + + <_> + 0 2 18 2 -1. + <_> + 0 3 18 1 2. + <_> + + <_> + 10 13 14 6 -1. + <_> + 17 13 7 3 2. + <_> + 10 16 7 3 2. + <_> + + <_> + 0 13 14 6 -1. + <_> + 0 13 7 3 2. + <_> + 7 16 7 3 2. + <_> + + <_> + 20 2 3 21 -1. + <_> + 21 2 1 21 3. + <_> + + <_> + 0 9 5 12 -1. + <_> + 0 13 5 4 3. + <_> + + <_> + 12 6 12 6 -1. + <_> + 12 8 12 2 3. + <_> + + <_> + 1 8 20 3 -1. + <_> + 1 9 20 1 3. + <_> + + <_> + 5 7 19 3 -1. + <_> + 5 8 19 1 3. + <_> + + <_> + 1 12 9 6 -1. + <_> + 1 14 9 2 3. + <_> + + <_> + 6 10 14 12 -1. + <_> + 6 14 14 4 3. + <_> + + <_> + 5 6 14 18 -1. + <_> + 5 12 14 6 3. + <_> + + <_> + 11 12 9 7 -1. + <_> + 14 12 3 7 3. + <_> + + <_> + 1 15 18 4 -1. + <_> + 1 17 18 2 2. + <_> + + <_> + 11 14 6 9 -1. + <_> + 11 17 6 3 3. + <_> + + <_> + 0 8 18 4 -1. + <_> + 0 8 9 2 2. + <_> + 9 10 9 2 2. + <_> + + <_> + 3 10 20 6 -1. + <_> + 13 10 10 3 2. + <_> + 3 13 10 3 2. + <_> + + <_> + 1 10 20 6 -1. + <_> + 1 10 10 3 2. + <_> + 11 13 10 3 2. + <_> + + <_> + 0 9 24 2 -1. + <_> + 0 9 12 2 2. + <_> + + <_> + 1 12 20 8 -1. + <_> + 1 12 10 4 2. + <_> + 11 16 10 4 2. + <_> + + <_> + 11 12 9 7 -1. + <_> + 14 12 3 7 3. + <_> + + <_> + 4 12 9 7 -1. + <_> + 7 12 3 7 3. + <_> + + <_> + 12 12 8 5 -1. + <_> + 12 12 4 5 2. + <_> + + <_> + 4 12 8 5 -1. + <_> + 8 12 4 5 2. + <_> + + <_> + 13 10 4 10 -1. + <_> + 13 10 2 10 2. + <_> + + <_> + 1 15 20 2 -1. + <_> + 11 15 10 2 2. + <_> + + <_> + 9 10 6 6 -1. + <_> + 9 10 3 6 2. + <_> + + <_> + 0 1 21 3 -1. + <_> + 7 1 7 3 3. + <_> + + <_> + 6 4 13 9 -1. + <_> + 6 7 13 3 3. + <_> + + <_> + 6 5 12 5 -1. + <_> + 10 5 4 5 3. + <_> + + <_> + 10 10 10 6 -1. + <_> + 10 12 10 2 3. + <_> + + <_> + 6 12 5 8 -1. + <_> + 6 16 5 4 2. + <_> + + <_> + 13 0 6 9 -1. + <_> + 15 0 2 9 3. + <_> + + <_> + 2 10 18 6 -1. + <_> + 8 10 6 6 3. + <_> + + <_> + 11 2 9 4 -1. + <_> + 11 4 9 2 2. + <_> + + <_> + 1 20 21 3 -1. + <_> + 8 20 7 3 3. + <_> + + <_> + 1 10 22 2 -1. + <_> + 1 11 22 1 2. + <_> + + <_> + 0 17 18 3 -1. + <_> + 0 18 18 1 3. + <_> + + <_> + 13 0 6 9 -1. + <_> + 15 0 2 9 3. + <_> + + <_> + 5 0 6 9 -1. + <_> + 7 0 2 9 3. + <_> + + <_> + 18 2 6 20 -1. + <_> + 20 2 2 20 3. + <_> + + <_> + 0 2 6 20 -1. + <_> + 2 2 2 20 3. + <_> + + <_> + 11 7 6 14 -1. + <_> + 14 7 3 7 2. + <_> + 11 14 3 7 2. + <_> + + <_> + 0 1 4 9 -1. + <_> + 2 1 2 9 2. + <_> + + <_> + 12 14 9 4 -1. + <_> + 12 16 9 2 2. + <_> + + <_> + 1 13 9 4 -1. + <_> + 1 15 9 2 2. + <_> + + <_> + 7 6 15 6 -1. + <_> + 7 8 15 2 3. + <_> + + <_> + 8 2 3 18 -1. + <_> + 8 8 3 6 3. + <_> + + <_> + 6 6 12 6 -1. + <_> + 12 6 6 3 2. + <_> + 6 9 6 3 2. + <_> + + <_> + 2 19 20 4 -1. + <_> + 2 19 10 2 2. + <_> + 12 21 10 2 2. + <_> + + <_> + 14 15 6 9 -1. + <_> + 14 18 6 3 3. + <_> + + <_> + 3 5 18 14 -1. + <_> + 3 5 9 7 2. + <_> + 12 12 9 7 2. + <_> + + <_> + 15 6 4 18 -1. + <_> + 17 6 2 9 2. + <_> + 15 15 2 9 2. + <_> + + <_> + 5 6 4 18 -1. + <_> + 5 6 2 9 2. + <_> + 7 15 2 9 2. + <_> + + <_> + 11 0 6 9 -1. + <_> + 13 0 2 9 3. + <_> + + <_> + 7 0 6 9 -1. + <_> + 9 0 2 9 3. + <_> + + <_> + 11 5 6 9 -1. + <_> + 13 5 2 9 3. + <_> + + <_> + 9 5 6 6 -1. + <_> + 12 5 3 6 2. + <_> + + <_> + 4 1 16 6 -1. + <_> + 12 1 8 3 2. + <_> + 4 4 8 3 2. + <_> + + <_> + 9 13 6 11 -1. + <_> + 11 13 2 11 3. + <_> + + <_> + 17 1 6 12 -1. + <_> + 20 1 3 6 2. + <_> + 17 7 3 6 2. + <_> + + <_> + 1 17 18 3 -1. + <_> + 1 18 18 1 3. + <_> + + <_> + 7 13 10 8 -1. + <_> + 7 17 10 4 2. + <_> + + <_> + 6 18 10 6 -1. + <_> + 6 20 10 2 3. + <_> + + <_> + 9 14 9 4 -1. + <_> + 9 16 9 2 2. + <_> + + <_> + 1 1 6 12 -1. + <_> + 1 1 3 6 2. + <_> + 4 7 3 6 2. + <_> + + <_> + 19 4 5 12 -1. + <_> + 19 8 5 4 3. + <_> + + <_> + 0 0 8 8 -1. + <_> + 4 0 4 8 2. + <_> + + <_> + 3 5 19 3 -1. + <_> + 3 6 19 1 3. + <_> + + <_> + 1 5 12 6 -1. + <_> + 1 5 6 3 2. + <_> + 7 8 6 3 2. + <_> + + <_> + 2 1 21 8 -1. + <_> + 9 1 7 8 3. + <_> + + <_> + 4 1 16 8 -1. + <_> + 4 5 16 4 2. + <_> + + <_> + 6 0 18 3 -1. + <_> + 6 1 18 1 3. + <_> + + <_> + 4 4 10 14 -1. + <_> + 4 11 10 7 2. + <_> + + <_> + 15 6 4 10 -1. + <_> + 15 11 4 5 2. + <_> + + <_> + 3 18 18 3 -1. + <_> + 9 18 6 3 3. + <_> + + <_> + 8 18 12 6 -1. + <_> + 12 18 4 6 3. + <_> + + <_> + 3 15 6 9 -1. + <_> + 6 15 3 9 2. + <_> + + <_> + 15 7 6 8 -1. + <_> + 15 11 6 4 2. + <_> + + <_> + 3 7 6 8 -1. + <_> + 3 11 6 4 2. + <_> + + <_> + 5 9 18 6 -1. + <_> + 14 9 9 3 2. + <_> + 5 12 9 3 2. + <_> + + <_> + 1 13 12 6 -1. + <_> + 1 15 12 2 3. + <_> + + <_> + 14 15 10 6 -1. + <_> + 14 17 10 2 3. + <_> + + <_> + 0 15 10 6 -1. + <_> + 0 17 10 2 3. + <_> + + <_> + 15 13 6 9 -1. + <_> + 15 16 6 3 3. + <_> + + <_> + 3 13 6 9 -1. + <_> + 3 16 6 3 3. + <_> + + <_> + 9 5 8 8 -1. + <_> + 9 5 4 8 2. + <_> + + <_> + 1 18 12 6 -1. + <_> + 1 18 6 3 2. + <_> + 7 21 6 3 2. + <_> + + <_> + 13 19 10 4 -1. + <_> + 13 21 10 2 2. + <_> + + <_> + 1 19 10 4 -1. + <_> + 1 21 10 2 2. + <_> + + <_> + 6 19 18 3 -1. + <_> + 6 20 18 1 3. + <_> + + <_> + 8 14 4 10 -1. + <_> + 8 19 4 5 2. + <_> + + <_> + 0 0 24 6 -1. + <_> + 0 2 24 2 3. + <_> + + <_> + 0 1 6 9 -1. + <_> + 0 4 6 3 3. + <_> + + <_> + 4 9 20 6 -1. + <_> + 14 9 10 3 2. + <_> + 4 12 10 3 2. + <_> + + <_> + 1 15 19 8 -1. + <_> + 1 19 19 4 2. + <_> + + <_> + 14 0 10 6 -1. + <_> + 14 2 10 2 3. + <_> + + <_> + 1 10 21 14 -1. + <_> + 8 10 7 14 3. + <_> + + <_> + 10 10 8 8 -1. + <_> + 10 10 4 8 2. + <_> + + <_> + 6 8 10 4 -1. + <_> + 11 8 5 4 2. + <_> + + <_> + 10 5 4 9 -1. + <_> + 10 5 2 9 2. + <_> + + <_> + 7 5 6 10 -1. + <_> + 9 5 2 10 3. + <_> + + <_> + 14 4 4 13 -1. + <_> + 14 4 2 13 2. + <_> + + <_> + 6 4 4 13 -1. + <_> + 8 4 2 13 2. + <_> + + <_> + 8 7 9 6 -1. + <_> + 11 7 3 6 3. + <_> + + <_> + 3 6 16 6 -1. + <_> + 3 6 8 3 2. + <_> + 11 9 8 3 2. + <_> + + <_> + 5 4 16 14 -1. + <_> + 13 4 8 7 2. + <_> + 5 11 8 7 2. + <_> + + <_> + 0 0 24 4 -1. + <_> + 0 0 12 2 2. + <_> + 12 2 12 2 2. + <_> + + <_> + 9 1 9 6 -1. + <_> + 12 1 3 6 3. + <_> + + <_> + 4 1 14 4 -1. + <_> + 11 1 7 4 2. + <_> + + <_> + 10 14 7 9 -1. + <_> + 10 17 7 3 3. + <_> + + <_> + 8 3 8 10 -1. + <_> + 8 3 4 5 2. + <_> + 12 8 4 5 2. + <_> + + <_> + 7 3 12 5 -1. + <_> + 11 3 4 5 3. + <_> + + <_> + 8 2 4 13 -1. + <_> + 10 2 2 13 2. + <_> + + <_> + 11 2 3 19 -1. + <_> + 12 2 1 19 3. + <_> + + <_> + 7 7 9 6 -1. + <_> + 10 7 3 6 3. + <_> + + <_> + 4 22 20 2 -1. + <_> + 4 22 10 2 2. + <_> + + <_> + 0 16 24 4 -1. + <_> + 0 16 12 2 2. + <_> + 12 18 12 2 2. + <_> + + <_> + 7 3 12 5 -1. + <_> + 11 3 4 5 3. + <_> + + <_> + 1 10 8 14 -1. + <_> + 1 10 4 7 2. + <_> + 5 17 4 7 2. + <_> + + <_> + 11 16 6 6 -1. + <_> + 11 19 6 3 2. + <_> + + <_> + 6 0 10 24 -1. + <_> + 6 0 5 12 2. + <_> + 11 12 5 12 2. + <_> + + <_> + 7 5 14 14 -1. + <_> + 14 5 7 7 2. + <_> + 7 12 7 7 2. + <_> + + <_> + 7 8 10 8 -1. + <_> + 7 8 5 4 2. + <_> + 12 12 5 4 2. + <_> + + <_> + 9 1 9 6 -1. + <_> + 12 1 3 6 3. + <_> + + <_> + 0 6 24 3 -1. + <_> + 12 6 12 3 2. + <_> + + <_> + 7 3 12 5 -1. + <_> + 11 3 4 5 3. + <_> + + <_> + 1 13 22 4 -1. + <_> + 1 13 11 2 2. + <_> + 12 15 11 2 2. + <_> + + <_> + 9 12 12 6 -1. + <_> + 9 14 12 2 3. + <_> + + <_> + 0 5 9 6 -1. + <_> + 0 7 9 2 3. + <_> + + <_> + 1 5 23 6 -1. + <_> + 1 7 23 2 3. + <_> + + <_> + 1 6 19 12 -1. + <_> + 1 10 19 4 3. + <_> + + <_> + 9 1 6 21 -1. + <_> + 9 8 6 7 3. + <_> + + <_> + 3 19 18 3 -1. + <_> + 9 19 6 3 3. + <_> + + <_> + 9 14 6 9 -1. + <_> + 11 14 2 9 3. + <_> + + <_> + 9 6 4 12 -1. + <_> + 11 6 2 12 2. + <_> + + <_> + 16 0 6 9 -1. + <_> + 18 0 2 9 3. + <_> + + <_> + 2 0 6 9 -1. + <_> + 4 0 2 9 3. + <_> + + <_> + 13 1 4 22 -1. + <_> + 15 1 2 11 2. + <_> + 13 12 2 11 2. + <_> + + <_> + 1 8 8 12 -1. + <_> + 1 14 8 6 2. + <_> + + <_> + 14 7 7 9 -1. + <_> + 14 10 7 3 3. + <_> + + <_> + 3 12 18 4 -1. + <_> + 3 12 9 2 2. + <_> + 12 14 9 2 2. + <_> + + <_> + 13 1 4 22 -1. + <_> + 15 1 2 11 2. + <_> + 13 12 2 11 2. + <_> + + <_> + 7 1 4 22 -1. + <_> + 7 1 2 11 2. + <_> + 9 12 2 11 2. + <_> + + <_> + 4 7 20 4 -1. + <_> + 14 7 10 2 2. + <_> + 4 9 10 2 2. + <_> + + <_> + 9 10 6 7 -1. + <_> + 12 10 3 7 2. + <_> + + <_> + 7 7 10 4 -1. + <_> + 7 7 5 4 2. + <_> + + <_> + 0 3 4 15 -1. + <_> + 0 8 4 5 3. + <_> + + <_> + 15 0 8 12 -1. + <_> + 19 0 4 6 2. + <_> + 15 6 4 6 2. + <_> + + <_> + 1 0 8 12 -1. + <_> + 1 0 4 6 2. + <_> + 5 6 4 6 2. + <_> + + <_> + 14 5 6 16 -1. + <_> + 16 5 2 16 3. + <_> + + <_> + 4 5 6 16 -1. + <_> + 6 5 2 16 3. + <_> + + <_> + 15 0 6 16 -1. + <_> + 17 0 2 16 3. + <_> + + <_> + 3 0 6 16 -1. + <_> + 5 0 2 16 3. + <_> + + <_> + 0 2 24 3 -1. + <_> + 0 3 24 1 3. + <_> + + <_> + 7 1 10 4 -1. + <_> + 7 3 10 2 2. + <_> + + <_> + 1 0 23 8 -1. + <_> + 1 4 23 4 2. + <_> + + <_> + 1 17 19 3 -1. + <_> + 1 18 19 1 3. + <_> + + <_> + 6 18 18 2 -1. + <_> + 6 19 18 1 2. + <_> + + <_> + 1 17 9 6 -1. + <_> + 1 19 9 2 3. + <_> + + <_> + 15 15 6 9 -1. + <_> + 15 18 6 3 3. + <_> + + <_> + 3 15 6 9 -1. + <_> + 3 18 6 3 3. + <_> + + <_> + 4 14 20 6 -1. + <_> + 4 17 20 3 2. + <_> + + <_> + 0 10 6 14 -1. + <_> + 0 10 3 7 2. + <_> + 3 17 3 7 2. + <_> + + <_> + 6 18 18 3 -1. + <_> + 6 19 18 1 3. + <_> + + <_> + 4 12 9 7 -1. + <_> + 7 12 3 7 3. + <_> + + <_> + 6 10 18 5 -1. + <_> + 12 10 6 5 3. + <_> + + <_> + 0 10 18 5 -1. + <_> + 6 10 6 5 3. + <_> + + <_> + 3 2 18 9 -1. + <_> + 9 2 6 9 3. + <_> + + <_> + 4 6 10 10 -1. + <_> + 4 6 5 5 2. + <_> + 9 11 5 5 2. + <_> + + <_> + 20 14 4 9 -1. + <_> + 20 14 2 9 2. + <_> + + <_> + 0 14 4 9 -1. + <_> + 2 14 2 9 2. + <_> + + <_> + 11 1 4 20 -1. + <_> + 13 1 2 10 2. + <_> + 11 11 2 10 2. + <_> + + <_> + 6 21 12 3 -1. + <_> + 12 21 6 3 2. + <_> + + <_> + 11 1 4 20 -1. + <_> + 13 1 2 10 2. + <_> + 11 11 2 10 2. + <_> + + <_> + 1 16 10 8 -1. + <_> + 1 16 5 4 2. + <_> + 6 20 5 4 2. + <_> + + <_> + 11 1 4 20 -1. + <_> + 13 1 2 10 2. + <_> + 11 11 2 10 2. + <_> + + <_> + 1 0 3 19 -1. + <_> + 2 0 1 19 3. + <_> + + <_> + 11 1 4 20 -1. + <_> + 13 1 2 10 2. + <_> + 11 11 2 10 2. + <_> + + <_> + 0 1 6 9 -1. + <_> + 2 1 2 9 3. + <_> + + <_> + 3 7 19 4 -1. + <_> + 3 9 19 2 2. + <_> + + <_> + 7 14 9 6 -1. + <_> + 7 16 9 2 3. + <_> + + <_> + 17 1 7 6 -1. + <_> + 17 4 7 3 2. + <_> + + <_> + 5 0 14 8 -1. + <_> + 5 4 14 4 2. + <_> + + <_> + 16 1 8 6 -1. + <_> + 16 4 8 3 2. + <_> + + <_> + 0 1 8 6 -1. + <_> + 0 4 8 3 2. + <_> + + <_> + 6 0 18 4 -1. + <_> + 15 0 9 2 2. + <_> + 6 2 9 2 2. + <_> + + <_> + 0 14 9 6 -1. + <_> + 0 16 9 2 3. + <_> + + <_> + 3 7 18 8 -1. + <_> + 9 7 6 8 3. + <_> + + <_> + 2 11 6 9 -1. + <_> + 4 11 2 9 3. + <_> + + <_> + 10 5 6 9 -1. + <_> + 12 5 2 9 3. + <_> + + <_> + 10 6 4 18 -1. + <_> + 10 6 2 9 2. + <_> + 12 15 2 9 2. + <_> + + <_> + 11 1 4 20 -1. + <_> + 13 1 2 10 2. + <_> + 11 11 2 10 2. + <_> + + <_> + 9 1 4 20 -1. + <_> + 9 1 2 10 2. + <_> + 11 11 2 10 2. + <_> + + <_> + 5 9 18 6 -1. + <_> + 14 9 9 3 2. + <_> + 5 12 9 3 2. + <_> + + <_> + 6 4 6 9 -1. + <_> + 8 4 2 9 3. + <_> + + <_> + 10 16 8 6 -1. + <_> + 10 16 4 6 2. + <_> + + <_> + 0 0 18 8 -1. + <_> + 0 0 9 4 2. + <_> + 9 4 9 4 2. + <_> + + <_> + 6 5 14 12 -1. + <_> + 13 5 7 6 2. + <_> + 6 11 7 6 2. + <_> + + <_> + 4 3 15 7 -1. + <_> + 9 3 5 7 3. + <_> + + <_> + 14 12 10 6 -1. + <_> + 14 14 10 2 3. + <_> + + <_> + 0 11 4 10 -1. + <_> + 0 16 4 5 2. + <_> + + <_> + 1 10 22 3 -1. + <_> + 1 11 22 1 3. + <_> + + <_> + 8 9 6 10 -1. + <_> + 10 9 2 10 3. + <_> + + <_> + 13 2 6 12 -1. + <_> + 16 2 3 6 2. + <_> + 13 8 3 6 2. + <_> + + <_> + 10 6 4 18 -1. + <_> + 10 6 2 9 2. + <_> + 12 15 2 9 2. + <_> + + <_> + 7 8 10 16 -1. + <_> + 12 8 5 8 2. + <_> + 7 16 5 8 2. + <_> + + <_> + 8 1 8 12 -1. + <_> + 8 1 4 6 2. + <_> + 12 7 4 6 2. + <_> + + <_> + 7 1 12 14 -1. + <_> + 13 1 6 7 2. + <_> + 7 8 6 7 2. + <_> + + <_> + 2 14 12 6 -1. + <_> + 2 16 12 2 3. + <_> + + <_> + 11 16 6 6 -1. + <_> + 11 19 6 3 2. + <_> + + <_> + 7 16 6 6 -1. + <_> + 7 19 6 3 2. + <_> + + <_> + 13 4 4 10 -1. + <_> + 13 4 2 10 2. + <_> + + <_> + 0 19 19 3 -1. + <_> + 0 20 19 1 3. + <_> + + <_> + 12 8 6 8 -1. + <_> + 12 12 6 4 2. + <_> + + <_> + 8 1 8 22 -1. + <_> + 8 12 8 11 2. + <_> + + <_> + 12 8 6 8 -1. + <_> + 12 12 6 4 2. + <_> + + <_> + 6 8 6 8 -1. + <_> + 6 12 6 4 2. + <_> + + <_> + 14 5 6 9 -1. + <_> + 14 8 6 3 3. + <_> + + <_> + 0 6 24 4 -1. + <_> + 0 8 24 2 2. + <_> + + <_> + 14 12 10 6 -1. + <_> + 14 14 10 2 3. + <_> + + <_> + 0 12 10 6 -1. + <_> + 0 14 10 2 3. + <_> + + <_> + 4 6 19 3 -1. + <_> + 4 7 19 1 3. + <_> + + <_> + 1 6 19 3 -1. + <_> + 1 7 19 1 3. + <_> + + <_> + 4 0 16 9 -1. + <_> + 4 3 16 3 3. + <_> + + <_> + 0 1 24 5 -1. + <_> + 8 1 8 5 3. + <_> + + <_> + 3 6 6 15 -1. + <_> + 3 11 6 5 3. + <_> + + <_> + 9 6 6 9 -1. + <_> + 11 6 2 9 3. + <_> + + <_> + 0 17 18 3 -1. + <_> + 0 18 18 1 3. + <_> + + <_> + 6 22 18 2 -1. + <_> + 6 23 18 1 2. + <_> + + <_> + 2 12 6 9 -1. + <_> + 2 15 6 3 3. + <_> + + <_> + 18 12 6 9 -1. + <_> + 18 15 6 3 3. + <_> + + <_> + 0 12 6 9 -1. + <_> + 0 15 6 3 3. + <_> + + <_> + 11 14 4 10 -1. + <_> + 11 19 4 5 2. + <_> + + <_> + 9 6 6 16 -1. + <_> + 9 14 6 8 2. + <_> + + <_> + 7 7 10 10 -1. + <_> + 7 12 10 5 2. + <_> + + <_> + 1 3 6 13 -1. + <_> + 3 3 2 13 3. + <_> + + <_> + 18 1 6 13 -1. + <_> + 18 1 3 13 2. + <_> + + <_> + 5 1 6 9 -1. + <_> + 7 1 2 9 3. + <_> + + <_> + 18 2 6 11 -1. + <_> + 18 2 3 11 2. + <_> + + <_> + 0 2 6 11 -1. + <_> + 3 2 3 11 2. + <_> + + <_> + 9 12 15 6 -1. + <_> + 9 14 15 2 3. + <_> + + <_> + 2 2 20 3 -1. + <_> + 2 3 20 1 3. + <_> + + <_> + 10 6 4 9 -1. + <_> + 10 6 2 9 2. + <_> + + <_> + 5 6 12 14 -1. + <_> + 5 6 6 7 2. + <_> + 11 13 6 7 2. + <_> + + <_> + 9 0 6 9 -1. + <_> + 11 0 2 9 3. + <_> + + <_> + 7 0 9 6 -1. + <_> + 10 0 3 6 3. + <_> + + <_> + 10 6 6 9 -1. + <_> + 12 6 2 9 3. + <_> + + <_> + 4 1 12 20 -1. + <_> + 4 1 6 10 2. + <_> + 10 11 6 10 2. + <_> + + <_> + 6 7 18 3 -1. + <_> + 6 7 9 3 2. + <_> + + <_> + 0 7 18 3 -1. + <_> + 9 7 9 3 2. + <_> + + <_> + 3 20 18 3 -1. + <_> + 9 20 6 3 3. + <_> + + <_> + 9 6 6 9 -1. + <_> + 11 6 2 9 3. + <_> + + <_> + 6 2 12 15 -1. + <_> + 10 2 4 15 3. + <_> + + <_> + 2 3 18 3 -1. + <_> + 2 4 18 1 3. + <_> + + <_> + 19 4 4 18 -1. + <_> + 21 4 2 9 2. + <_> + 19 13 2 9 2. + <_> + + <_> + 0 1 19 3 -1. + <_> + 0 2 19 1 3. + <_> + + <_> + 5 0 15 4 -1. + <_> + 5 2 15 2 2. + <_> + + <_> + 5 2 14 5 -1. + <_> + 12 2 7 5 2. + <_> + + <_> + 1 2 22 14 -1. + <_> + 1 2 11 14 2. + <_> + + <_> + 8 15 6 9 -1. + <_> + 10 15 2 9 3. + <_> + + <_> + 6 17 18 3 -1. + <_> + 6 18 18 1 3. + <_> + + <_> + 9 6 3 18 -1. + <_> + 9 12 3 6 3. + <_> + + <_> + 2 0 20 3 -1. + <_> + 2 1 20 1 3. + <_> + + <_> + 5 4 5 12 -1. + <_> + 5 8 5 4 3. + <_> + + <_> + 8 6 12 5 -1. + <_> + 12 6 4 5 3. + <_> + + <_> + 9 12 6 12 -1. + <_> + 9 12 3 6 2. + <_> + 12 18 3 6 2. + <_> + + <_> + 14 14 8 10 -1. + <_> + 18 14 4 5 2. + <_> + 14 19 4 5 2. + <_> + + <_> + 2 14 8 10 -1. + <_> + 2 14 4 5 2. + <_> + 6 19 4 5 2. + <_> + + <_> + 10 18 12 6 -1. + <_> + 16 18 6 3 2. + <_> + 10 21 6 3 2. + <_> + + <_> + 1 3 6 9 -1. + <_> + 1 6 6 3 3. + <_> + + <_> + 11 3 3 20 -1. + <_> + 12 3 1 20 3. + <_> + + <_> + 4 6 14 6 -1. + <_> + 4 6 7 3 2. + <_> + 11 9 7 3 2. + <_> + + <_> + 6 5 12 13 -1. + <_> + 10 5 4 13 3. + <_> + + <_> + 5 4 4 15 -1. + <_> + 5 9 4 5 3. + <_> + + <_> + 9 16 15 4 -1. + <_> + 14 16 5 4 3. + <_> + + <_> + 7 8 6 14 -1. + <_> + 7 8 3 7 2. + <_> + 10 15 3 7 2. + <_> + + <_> + 7 6 10 6 -1. + <_> + 7 8 10 2 3. + <_> + + <_> + 2 5 18 3 -1. + <_> + 2 6 18 1 3. + <_> + + <_> + 5 1 15 8 -1. + <_> + 5 5 15 4 2. + <_> + + <_> + 7 1 8 18 -1. + <_> + 7 10 8 9 2. + <_> + + <_> + 0 10 24 3 -1. + <_> + 0 11 24 1 3. + <_> + + <_> + 0 2 6 13 -1. + <_> + 2 2 2 13 3. + <_> + + <_> + 16 0 8 10 -1. + <_> + 20 0 4 5 2. + <_> + 16 5 4 5 2. + <_> + + <_> + 5 1 10 9 -1. + <_> + 5 4 10 3 3. + <_> + + <_> + 5 6 18 3 -1. + <_> + 5 7 18 1 3. + <_> + + <_> + 0 1 24 3 -1. + <_> + 0 2 24 1 3. + <_> + + <_> + 11 4 6 11 -1. + <_> + 13 4 2 11 3. + <_> + + <_> + 0 0 8 10 -1. + <_> + 0 0 4 5 2. + <_> + 4 5 4 5 2. + <_> + + <_> + 4 16 18 3 -1. + <_> + 4 17 18 1 3. + <_> + + <_> + 2 16 18 3 -1. + <_> + 2 17 18 1 3. + <_> + + <_> + 3 0 18 10 -1. + <_> + 12 0 9 5 2. + <_> + 3 5 9 5 2. + <_> + + <_> + 2 3 20 21 -1. + <_> + 12 3 10 21 2. + <_> + + <_> + 6 7 14 3 -1. + <_> + 6 7 7 3 2. + <_> + + <_> + 0 9 12 6 -1. + <_> + 0 9 6 3 2. + <_> + 6 12 6 3 2. + <_> + + <_> + 3 14 21 4 -1. + <_> + 10 14 7 4 3. + <_> + + <_> + 0 14 21 4 -1. + <_> + 7 14 7 4 3. + <_> + + <_> + 5 21 18 3 -1. + <_> + 11 21 6 3 3. + <_> + + <_> + 1 21 18 3 -1. + <_> + 7 21 6 3 3. + <_> + + <_> + 19 4 4 18 -1. + <_> + 21 4 2 9 2. + <_> + 19 13 2 9 2. + <_> + + <_> + 3 7 18 3 -1. + <_> + 3 8 18 1 3. + <_> + + <_> + 19 4 4 18 -1. + <_> + 21 4 2 9 2. + <_> + 19 13 2 9 2. + <_> + + <_> + 7 15 10 6 -1. + <_> + 7 17 10 2 3. + <_> + + <_> + 9 13 11 9 -1. + <_> + 9 16 11 3 3. + <_> + + <_> + 0 6 4 10 -1. + <_> + 0 11 4 5 2. + <_> + + <_> + 15 16 9 6 -1. + <_> + 15 18 9 2 3. + <_> + + <_> + 1 5 4 18 -1. + <_> + 1 5 2 9 2. + <_> + 3 14 2 9 2. + <_> + + <_> + 9 8 8 10 -1. + <_> + 13 8 4 5 2. + <_> + 9 13 4 5 2. + <_> + + <_> + 7 8 8 10 -1. + <_> + 7 8 4 5 2. + <_> + 11 13 4 5 2. + <_> + + <_> + 9 8 12 5 -1. + <_> + 13 8 4 5 3. + <_> + + <_> + 7 8 9 7 -1. + <_> + 10 8 3 7 3. + <_> + + <_> + 9 8 12 5 -1. + <_> + 13 8 4 5 3. + <_> + + <_> + 7 6 9 7 -1. + <_> + 10 6 3 7 3. + <_> + + <_> + 9 8 12 5 -1. + <_> + 13 8 4 5 3. + <_> + + <_> + 10 5 4 18 -1. + <_> + 10 11 4 6 3. + <_> + + <_> + 5 5 14 12 -1. + <_> + 5 11 14 6 2. + <_> + + <_> + 0 1 11 4 -1. + <_> + 0 3 11 2 2. + <_> + + <_> + 9 10 6 10 -1. + <_> + 11 10 2 10 3. + <_> + + <_> + 2 17 11 6 -1. + <_> + 2 19 11 2 3. + <_> + + <_> + 15 16 9 6 -1. + <_> + 15 18 9 2 3. + <_> + + <_> + 1 10 18 2 -1. + <_> + 1 11 18 1 2. + <_> + + <_> + 6 4 12 13 -1. + <_> + 10 4 4 13 3. + <_> + + <_> + 0 18 18 3 -1. + <_> + 0 19 18 1 3. + <_> + + <_> + 6 18 18 3 -1. + <_> + 6 19 18 1 3. + <_> + + <_> + 0 16 9 6 -1. + <_> + 0 18 9 2 3. + <_> + + <_> + 13 15 9 6 -1. + <_> + 13 17 9 2 3. + <_> + + <_> + 2 15 9 6 -1. + <_> + 2 17 9 2 3. + <_> + + <_> + 13 1 6 16 -1. + <_> + 13 1 3 16 2. + <_> + + <_> + 5 1 6 16 -1. + <_> + 8 1 3 16 2. + <_> + + <_> + 11 5 6 10 -1. + <_> + 13 5 2 10 3. + <_> + + <_> + 7 5 6 10 -1. + <_> + 9 5 2 10 3. + <_> + + <_> + 10 0 6 24 -1. + <_> + 12 0 2 24 3. + <_> + + <_> + 3 4 4 20 -1. + <_> + 3 4 2 10 2. + <_> + 5 14 2 10 2. + <_> + + <_> + 14 0 6 9 -1. + <_> + 16 0 2 9 3. + <_> + + <_> + 4 0 6 9 -1. + <_> + 6 0 2 9 3. + <_> + + <_> + 4 5 18 5 -1. + <_> + 10 5 6 5 3. + <_> + + <_> + 5 6 6 9 -1. + <_> + 7 6 2 9 3. + <_> + + <_> + 7 2 15 8 -1. + <_> + 12 2 5 8 3. + <_> + + <_> + 2 2 15 8 -1. + <_> + 7 2 5 8 3. + <_> + + <_> + 10 0 4 9 -1. + <_> + 10 0 2 9 2. + <_> + + <_> + 3 4 6 12 -1. + <_> + 3 4 3 6 2. + <_> + 6 10 3 6 2. + <_> + + <_> + 16 0 8 18 -1. + <_> + 16 0 4 18 2. + <_> + + <_> + 0 0 8 18 -1. + <_> + 4 0 4 18 2. + <_> + + <_> + 0 7 24 6 -1. + <_> + 0 9 24 2 3. + <_> + + <_> + 4 7 14 3 -1. + <_> + 11 7 7 3 2. + <_> + + <_> + 10 8 8 15 -1. + <_> + 10 8 4 15 2. + <_> + + <_> + 7 0 10 14 -1. + <_> + 12 0 5 14 2. + <_> + + <_> + 13 10 8 10 -1. + <_> + 17 10 4 5 2. + <_> + 13 15 4 5 2. + <_> + + <_> + 3 0 4 9 -1. + <_> + 5 0 2 9 2. + <_> + + <_> + 16 1 6 8 -1. + <_> + 16 1 3 8 2. + <_> + + <_> + 2 1 6 8 -1. + <_> + 5 1 3 8 2. + <_> + + <_> + 3 6 18 12 -1. + <_> + 3 10 18 4 3. + <_> + + <_> + 4 12 16 4 -1. + <_> + 4 14 16 2 2. + <_> + + <_> + 4 9 16 15 -1. + <_> + 4 14 16 5 3. + <_> + + <_> + 3 10 8 10 -1. + <_> + 3 10 4 5 2. + <_> + 7 15 4 5 2. + <_> + + <_> + 8 18 16 6 -1. + <_> + 16 18 8 3 2. + <_> + 8 21 8 3 2. + <_> + + <_> + 2 16 12 5 -1. + <_> + 6 16 4 5 3. + <_> + + <_> + 14 14 9 4 -1. + <_> + 14 16 9 2 2. + <_> + + <_> + 7 14 9 6 -1. + <_> + 7 16 9 2 3. + <_> + + <_> + 4 10 16 12 -1. + <_> + 4 14 16 4 3. + <_> + + <_> + 0 13 19 6 -1. + <_> + 0 15 19 2 3. + <_> + + <_> + 10 13 9 6 -1. + <_> + 10 15 9 2 3. + <_> + + <_> + 5 0 3 23 -1. + <_> + 6 0 1 23 3. + <_> + + <_> + 0 8 24 6 -1. + <_> + 0 10 24 2 3. + <_> + + <_> + 0 5 5 12 -1. + <_> + 0 9 5 4 3. + <_> + + <_> + 3 0 19 18 -1. + <_> + 3 9 19 9 2. + <_> + + <_> + 9 11 6 12 -1. + <_> + 9 11 3 6 2. + <_> + 12 17 3 6 2. + <_> + + <_> + 0 5 24 8 -1. + <_> + 12 5 12 4 2. + <_> + 0 9 12 4 2. + <_> + + <_> + 6 18 9 4 -1. + <_> + 6 20 9 2 2. + <_> + + <_> + 8 8 10 6 -1. + <_> + 8 10 10 2 3. + <_> + + <_> + 2 7 20 3 -1. + <_> + 2 8 20 1 3. + <_> + + <_> + 12 0 7 20 -1. + <_> + 12 10 7 10 2. + <_> + + <_> + 5 0 7 20 -1. + <_> + 5 10 7 10 2. + <_> + + <_> + 14 2 2 18 -1. + <_> + 14 11 2 9 2. + <_> + + <_> + 5 8 10 12 -1. + <_> + 10 8 5 12 2. + <_> + + <_> + 6 9 12 8 -1. + <_> + 12 9 6 4 2. + <_> + 6 13 6 4 2. + <_> + + <_> + 7 7 3 14 -1. + <_> + 7 14 3 7 2. + <_> + + <_> + 11 2 12 16 -1. + <_> + 17 2 6 8 2. + <_> + 11 10 6 8 2. + <_> + + <_> + 7 0 6 9 -1. + <_> + 9 0 2 9 3. + <_> + + <_> + 13 14 9 4 -1. + <_> + 13 16 9 2 2. + <_> + + <_> + 0 12 22 4 -1. + <_> + 0 12 11 2 2. + <_> + 11 14 11 2 2. + <_> + + <_> + 1 12 22 6 -1. + <_> + 12 12 11 3 2. + <_> + 1 15 11 3 2. + <_> + + <_> + 6 6 9 6 -1. + <_> + 9 6 3 6 3. + <_> + + <_> + 10 0 4 9 -1. + <_> + 10 0 2 9 2. + <_> + + <_> + 3 8 18 7 -1. + <_> + 9 8 6 7 3. + <_> + + <_> + 0 6 24 6 -1. + <_> + 0 8 24 2 3. + <_> + + <_> + 0 11 24 10 -1. + <_> + 8 11 8 10 3. + <_> + + <_> + 3 3 18 21 -1. + <_> + 9 3 6 21 3. + <_> + + <_> + 7 12 4 10 -1. + <_> + 9 12 2 10 2. + <_> + + <_> + 10 16 10 8 -1. + <_> + 15 16 5 4 2. + <_> + 10 20 5 4 2. + <_> + + <_> + 8 6 6 9 -1. + <_> + 10 6 2 9 3. + <_> + + <_> + 12 10 6 12 -1. + <_> + 15 10 3 6 2. + <_> + 12 16 3 6 2. + <_> + + <_> + 6 10 6 12 -1. + <_> + 6 10 3 6 2. + <_> + 9 16 3 6 2. + <_> + + <_> + 16 12 6 12 -1. + <_> + 19 12 3 6 2. + <_> + 16 18 3 6 2. + <_> + + <_> + 2 12 6 12 -1. + <_> + 2 12 3 6 2. + <_> + 5 18 3 6 2. + <_> + + <_> + 10 15 6 9 -1. + <_> + 12 15 2 9 3. + <_> + + <_> + 8 15 6 9 -1. + <_> + 10 15 2 9 3. + <_> + + <_> + 14 20 10 4 -1. + <_> + 14 20 5 4 2. + <_> + + <_> + 0 20 10 4 -1. + <_> + 5 20 5 4 2. + <_> + + <_> + 11 17 9 6 -1. + <_> + 11 19 9 2 3. + <_> + + <_> + 3 2 14 4 -1. + <_> + 3 4 14 2 2. + <_> + + <_> + 10 1 10 4 -1. + <_> + 10 3 10 2 2. + <_> + + <_> + 0 15 10 4 -1. + <_> + 5 15 5 4 2. + <_> + + <_> + 19 2 3 19 -1. + <_> + 20 2 1 19 3. + <_> + + <_> + 4 12 9 8 -1. + <_> + 7 12 3 8 3. + <_> + + <_> + 4 7 5 12 -1. + <_> + 4 11 5 4 3. + <_> + + <_> + 0 1 24 3 -1. + <_> + 8 1 8 3 3. + <_> + + <_> + 6 8 12 4 -1. + <_> + 6 10 12 2 2. + <_> + + <_> + 19 3 4 10 -1. + <_> + 19 3 2 10 2. + <_> + + <_> + 0 6 9 6 -1. + <_> + 3 6 3 6 3. + <_> + + <_> + 18 0 6 22 -1. + <_> + 20 0 2 22 3. + <_> + + <_> + 0 0 6 22 -1. + <_> + 2 0 2 22 3. + <_> + + <_> + 5 15 19 3 -1. + <_> + 5 16 19 1 3. + <_> + + <_> + 10 7 4 15 -1. + <_> + 10 12 4 5 3. + <_> + + <_> + 9 6 6 9 -1. + <_> + 11 6 2 9 3. + <_> + + <_> + 0 21 18 3 -1. + <_> + 0 22 18 1 3. + <_> + + <_> + 7 3 10 15 -1. + <_> + 7 8 10 5 3. + <_> + + <_> + 1 7 18 3 -1. + <_> + 1 8 18 1 3. + <_> + + <_> + 8 2 9 6 -1. + <_> + 11 2 3 6 3. + <_> + + <_> + 0 10 24 14 -1. + <_> + 0 17 24 7 2. + <_> + + <_> + 13 9 8 10 -1. + <_> + 17 9 4 5 2. + <_> + 13 14 4 5 2. + <_> + + <_> + 10 5 4 9 -1. + <_> + 12 5 2 9 2. + <_> + + <_> + 13 9 8 10 -1. + <_> + 17 9 4 5 2. + <_> + 13 14 4 5 2. + <_> + + <_> + 7 11 10 10 -1. + <_> + 7 11 5 5 2. + <_> + 12 16 5 5 2. + <_> + + <_> + 4 13 18 4 -1. + <_> + 13 13 9 2 2. + <_> + 4 15 9 2 2. + <_> + + <_> + 0 0 19 2 -1. + <_> + 0 1 19 1 2. + <_> + + <_> + 0 18 24 6 -1. + <_> + 8 18 8 6 3. + <_> + + <_> + 6 4 8 16 -1. + <_> + 6 12 8 8 2. + <_> + + <_> + 7 8 10 4 -1. + <_> + 7 10 10 2 2. + <_> + + <_> + 0 3 6 9 -1. + <_> + 0 6 6 3 3. + <_> + + <_> + 13 15 7 9 -1. + <_> + 13 18 7 3 3. + <_> + + <_> + 3 18 12 6 -1. + <_> + 3 18 6 3 2. + <_> + 9 21 6 3 2. + <_> + + <_> + 12 14 6 9 -1. + <_> + 12 17 6 3 3. + <_> + + <_> + 2 15 15 8 -1. + <_> + 2 19 15 4 2. + <_> + + <_> + 9 6 6 16 -1. + <_> + 9 14 6 8 2. + <_> + + <_> + 6 6 7 12 -1. + <_> + 6 10 7 4 3. + <_> + + <_> + 14 6 6 9 -1. + <_> + 14 9 6 3 3. + <_> + + <_> + 5 14 6 9 -1. + <_> + 5 17 6 3 3. + <_> + + <_> + 10 8 6 9 -1. + <_> + 12 8 2 9 3. + <_> + + <_> + 6 6 4 18 -1. + <_> + 6 6 2 9 2. + <_> + 8 15 2 9 2. + <_> + + <_> + 14 9 6 12 -1. + <_> + 17 9 3 6 2. + <_> + 14 15 3 6 2. + <_> + + <_> + 4 9 6 12 -1. + <_> + 4 9 3 6 2. + <_> + 7 15 3 6 2. + <_> + + <_> + 14 15 9 6 -1. + <_> + 14 17 9 2 3. + <_> + + <_> + 0 20 18 4 -1. + <_> + 0 20 9 2 2. + <_> + 9 22 9 2 2. + <_> + + <_> + 13 18 9 6 -1. + <_> + 13 20 9 2 3. + <_> + + <_> + 2 18 9 6 -1. + <_> + 2 20 9 2 3. + <_> + + <_> + 6 16 18 3 -1. + <_> + 6 17 18 1 3. + <_> + + <_> + 0 16 18 3 -1. + <_> + 0 17 18 1 3. + <_> + + <_> + 19 2 4 22 -1. + <_> + 21 2 2 11 2. + <_> + 19 13 2 11 2. + <_> + + <_> + 1 2 4 22 -1. + <_> + 1 2 2 11 2. + <_> + 3 13 2 11 2. + <_> + + <_> + 15 0 2 24 -1. + <_> + 15 0 1 24 2. + <_> + + <_> + 3 20 16 4 -1. + <_> + 11 20 8 4 2. + <_> + + <_> + 11 6 4 18 -1. + <_> + 13 6 2 9 2. + <_> + 11 15 2 9 2. + <_> + + <_> + 7 9 10 14 -1. + <_> + 7 9 5 7 2. + <_> + 12 16 5 7 2. + <_> + + <_> + 14 6 6 9 -1. + <_> + 14 9 6 3 3. + <_> + + <_> + 3 6 7 9 -1. + <_> + 3 9 7 3 3. + <_> + + <_> + 20 4 4 20 -1. + <_> + 22 4 2 10 2. + <_> + 20 14 2 10 2. + <_> + + <_> + 7 6 6 9 -1. + <_> + 7 9 6 3 3. + <_> + + <_> + 7 0 10 14 -1. + <_> + 12 0 5 7 2. + <_> + 7 7 5 7 2. + <_> + + <_> + 2 1 18 6 -1. + <_> + 11 1 9 6 2. + <_> + + <_> + 15 0 2 24 -1. + <_> + 15 0 1 24 2. + <_> + + <_> + 7 0 2 24 -1. + <_> + 8 0 1 24 2. + <_> + + <_> + 13 12 6 7 -1. + <_> + 13 12 3 7 2. + <_> + + <_> + 5 12 6 7 -1. + <_> + 8 12 3 7 2. + <_> + + <_> + 3 5 18 19 -1. + <_> + 9 5 6 19 3. + <_> + + <_> + 5 6 9 6 -1. + <_> + 8 6 3 6 3. + <_> + + <_> + 9 5 9 6 -1. + <_> + 12 5 3 6 3. + <_> + + <_> + 3 16 10 8 -1. + <_> + 3 16 5 4 2. + <_> + 8 20 5 4 2. + <_> + + <_> + 19 8 5 15 -1. + <_> + 19 13 5 5 3. + <_> + + <_> + 0 8 5 15 -1. + <_> + 0 13 5 5 3. + <_> + + <_> + 20 4 4 20 -1. + <_> + 22 4 2 10 2. + <_> + 20 14 2 10 2. + <_> + + <_> + 0 4 4 20 -1. + <_> + 0 4 2 10 2. + <_> + 2 14 2 10 2. + <_> + + <_> + 7 7 10 4 -1. + <_> + 7 7 5 4 2. + <_> + + <_> + 4 19 14 4 -1. + <_> + 11 19 7 4 2. + <_> + + <_> + 10 11 12 3 -1. + <_> + 10 11 6 3 2. + <_> + + <_> + 0 1 24 3 -1. + <_> + 0 2 24 1 3. + <_> + + <_> + 7 2 14 20 -1. + <_> + 14 2 7 10 2. + <_> + 7 12 7 10 2. + <_> + + <_> + 0 13 6 9 -1. + <_> + 2 13 2 9 3. + <_> + + <_> + 13 0 4 19 -1. + <_> + 13 0 2 19 2. + <_> + + <_> + 1 11 14 3 -1. + <_> + 8 11 7 3 2. + <_> + + <_> + 7 1 16 20 -1. + <_> + 15 1 8 10 2. + <_> + 7 11 8 10 2. + <_> + + <_> + 0 10 21 9 -1. + <_> + 7 10 7 9 3. + <_> + + <_> + 6 19 15 5 -1. + <_> + 11 19 5 5 3. + <_> + + <_> + 8 10 6 6 -1. + <_> + 11 10 3 6 2. + <_> + + <_> + 7 1 16 20 -1. + <_> + 15 1 8 10 2. + <_> + 7 11 8 10 2. + <_> + + <_> + 1 1 16 20 -1. + <_> + 1 1 8 10 2. + <_> + 9 11 8 10 2. + <_> + + <_> + 16 4 3 12 -1. + <_> + 16 10 3 6 2. + <_> + + <_> + 5 4 3 12 -1. + <_> + 5 10 3 6 2. + <_> + + <_> + 7 6 10 8 -1. + <_> + 12 6 5 4 2. + <_> + 7 10 5 4 2. + <_> + + <_> + 4 9 6 6 -1. + <_> + 4 12 6 3 2. + <_> + + <_> + 6 5 12 4 -1. + <_> + 6 7 12 2 2. + <_> + + <_> + 9 2 5 15 -1. + <_> + 9 7 5 5 3. + <_> + + <_> + 15 0 9 6 -1. + <_> + 15 2 9 2 3. + <_> + + <_> + 6 0 11 10 -1. + <_> + 6 5 11 5 2. + <_> + + <_> + 12 7 4 12 -1. + <_> + 12 13 4 6 2. + <_> + + <_> + 7 2 9 4 -1. + <_> + 7 4 9 2 2. + <_> + + <_> + 6 0 13 6 -1. + <_> + 6 2 13 2 3. + <_> + + <_> + 10 6 4 18 -1. + <_> + 10 6 2 9 2. + <_> + 12 15 2 9 2. + <_> + + <_> + 10 8 6 9 -1. + <_> + 12 8 2 9 3. + <_> + + <_> + 3 18 10 6 -1. + <_> + 3 20 10 2 3. + <_> + + <_> + 4 14 20 3 -1. + <_> + 4 15 20 1 3. + <_> + + <_> + 2 15 9 6 -1. + <_> + 2 17 9 2 3. + <_> + + <_> + 13 0 4 19 -1. + <_> + 13 0 2 19 2. + <_> + + <_> + 7 0 4 19 -1. + <_> + 9 0 2 19 2. + <_> + + <_> + 1 4 22 2 -1. + <_> + 1 5 22 1 2. + <_> + + <_> + 0 0 9 6 -1. + <_> + 0 2 9 2 3. + <_> + + <_> + 0 0 24 18 -1. + <_> + 0 9 24 9 2. + <_> + + <_> + 3 2 16 8 -1. + <_> + 3 6 16 4 2. + <_> + + <_> + 3 6 18 6 -1. + <_> + 3 8 18 2 3. + <_> + + <_> + 3 1 6 10 -1. + <_> + 5 1 2 10 3. + <_> + + <_> + 13 0 9 6 -1. + <_> + 16 0 3 6 3. + <_> + + <_> + 2 0 9 6 -1. + <_> + 5 0 3 6 3. + <_> + + <_> + 10 2 4 15 -1. + <_> + 10 7 4 5 3. + <_> + + <_> + 6 0 7 10 -1. + <_> + 6 5 7 5 2. + <_> + + <_> + 2 2 20 4 -1. + <_> + 12 2 10 2 2. + <_> + 2 4 10 2 2. + <_> + + <_> + 2 11 19 3 -1. + <_> + 2 12 19 1 3. + <_> + + <_> + 10 8 6 9 -1. + <_> + 12 8 2 9 3. + <_> + + <_> + 8 8 6 9 -1. + <_> + 10 8 2 9 3. + <_> + + <_> + 13 8 4 9 -1. + <_> + 13 8 2 9 2. + <_> + + <_> + 3 11 9 9 -1. + <_> + 6 11 3 9 3. + <_> + + <_> + 3 9 18 5 -1. + <_> + 9 9 6 5 3. + <_> + + <_> + 2 4 2 20 -1. + <_> + 2 14 2 10 2. + <_> + + <_> + 14 17 8 6 -1. + <_> + 14 20 8 3 2. + <_> + + <_> + 3 21 18 2 -1. + <_> + 3 22 18 1 2. + <_> + + <_> + 5 4 15 6 -1. + <_> + 10 4 5 6 3. + <_> + + <_> + 2 15 12 6 -1. + <_> + 2 17 12 2 3. + <_> + + <_> + 17 8 6 9 -1. + <_> + 17 11 6 3 3. + <_> + + <_> + 2 12 20 4 -1. + <_> + 2 12 10 2 2. + <_> + 12 14 10 2 2. + <_> + + <_> + 0 17 24 6 -1. + <_> + 0 19 24 2 3. + <_> + + <_> + 7 16 9 4 -1. + <_> + 7 18 9 2 2. + <_> + + <_> + 15 1 4 22 -1. + <_> + 17 1 2 11 2. + <_> + 15 12 2 11 2. + <_> + + <_> + 5 1 4 22 -1. + <_> + 5 1 2 11 2. + <_> + 7 12 2 11 2. + <_> + + <_> + 11 13 8 9 -1. + <_> + 11 16 8 3 3. + <_> + + <_> + 6 1 6 9 -1. + <_> + 8 1 2 9 3. + <_> + + <_> + 11 4 3 18 -1. + <_> + 11 10 3 6 3. + <_> + + <_> + 5 8 12 6 -1. + <_> + 5 8 6 3 2. + <_> + 11 11 6 3 2. + <_> + + <_> + 15 7 5 8 -1. + <_> + 15 11 5 4 2. + <_> + + <_> + 4 7 5 8 -1. + <_> + 4 11 5 4 2. + <_> + + <_> + 12 6 6 12 -1. + <_> + 15 6 3 6 2. + <_> + 12 12 3 6 2. + <_> + + <_> + 6 6 6 12 -1. + <_> + 6 6 3 6 2. + <_> + 9 12 3 6 2. + <_> + + <_> + 5 9 14 8 -1. + <_> + 12 9 7 4 2. + <_> + 5 13 7 4 2. + <_> + + <_> + 9 1 3 14 -1. + <_> + 9 8 3 7 2. + <_> + + <_> + 12 6 6 12 -1. + <_> + 12 10 6 4 3. + <_> + + <_> + 4 5 4 18 -1. + <_> + 4 5 2 9 2. + <_> + 6 14 2 9 2. + <_> + + <_> + 4 6 16 18 -1. + <_> + 4 12 16 6 3. + <_> + + <_> + 5 4 7 20 -1. + <_> + 5 14 7 10 2. + <_> + + <_> + 14 8 8 12 -1. + <_> + 14 14 8 6 2. + <_> + + <_> + 9 10 6 14 -1. + <_> + 9 10 3 7 2. + <_> + 12 17 3 7 2. + <_> + + <_> + 9 5 9 6 -1. + <_> + 12 5 3 6 3. + <_> + + <_> + 9 4 3 18 -1. + <_> + 10 4 1 18 3. + <_> + + <_> + 1 4 22 14 -1. + <_> + 12 4 11 7 2. + <_> + 1 11 11 7 2. + <_> + + <_> + 2 7 18 2 -1. + <_> + 2 8 18 1 2. + <_> + + <_> + 12 6 6 12 -1. + <_> + 12 10 6 4 3. + <_> + + <_> + 6 5 9 7 -1. + <_> + 9 5 3 7 3. + <_> + + <_> + 12 7 4 12 -1. + <_> + 12 13 4 6 2. + <_> + + <_> + 8 7 4 12 -1. + <_> + 8 13 4 6 2. + <_> + + <_> + 7 2 10 22 -1. + <_> + 7 13 10 11 2. + <_> + + <_> + 0 1 3 20 -1. + <_> + 1 1 1 20 3. + <_> + + <_> + 4 13 18 4 -1. + <_> + 13 13 9 2 2. + <_> + 4 15 9 2 2. + <_> + + <_> + 2 13 18 4 -1. + <_> + 2 13 9 2 2. + <_> + 11 15 9 2 2. + <_> + + <_> + 15 15 9 6 -1. + <_> + 15 17 9 2 3. + <_> + + <_> + 0 15 9 6 -1. + <_> + 0 17 9 2 3. + <_> + + <_> + 6 0 18 24 -1. + <_> + 15 0 9 12 2. + <_> + 6 12 9 12 2. + <_> + + <_> + 6 6 6 12 -1. + <_> + 6 10 6 4 3. + <_> + + <_> + 8 7 10 4 -1. + <_> + 8 9 10 2 2. + <_> + + <_> + 1 9 18 6 -1. + <_> + 1 9 9 3 2. + <_> + 10 12 9 3 2. + <_> + + <_> + 6 6 18 3 -1. + <_> + 6 7 18 1 3. + <_> + + <_> + 7 7 9 8 -1. + <_> + 10 7 3 8 3. + <_> + + <_> + 10 12 6 12 -1. + <_> + 12 12 2 12 3. + <_> + + <_> + 3 14 18 3 -1. + <_> + 3 15 18 1 3. + <_> + + <_> + 15 17 9 7 -1. + <_> + 18 17 3 7 3. + <_> + + <_> + 1 12 10 6 -1. + <_> + 1 14 10 2 3. + <_> + + <_> + 15 17 9 7 -1. + <_> + 18 17 3 7 3. + <_> + + <_> + 10 3 3 19 -1. + <_> + 11 3 1 19 3. + <_> + + <_> + 15 17 9 7 -1. + <_> + 18 17 3 7 3. + <_> + + <_> + 6 1 11 9 -1. + <_> + 6 4 11 3 3. + <_> + + <_> + 15 17 9 7 -1. + <_> + 18 17 3 7 3. + <_> + + <_> + 6 5 11 6 -1. + <_> + 6 8 11 3 2. + <_> + + <_> + 16 7 8 5 -1. + <_> + 16 7 4 5 2. + <_> + + <_> + 2 4 20 19 -1. + <_> + 12 4 10 19 2. + <_> + + <_> + 2 1 21 6 -1. + <_> + 9 1 7 6 3. + <_> + + <_> + 6 5 12 14 -1. + <_> + 6 5 6 7 2. + <_> + 12 12 6 7 2. + <_> + + <_> + 9 0 6 9 -1. + <_> + 11 0 2 9 3. + <_> + + <_> + 2 11 8 5 -1. + <_> + 6 11 4 5 2. + <_> + + <_> + 16 7 8 5 -1. + <_> + 16 7 4 5 2. + <_> + + <_> + 0 7 8 5 -1. + <_> + 4 7 4 5 2. + <_> + + <_> + 15 17 9 7 -1. + <_> + 18 17 3 7 3. + <_> + + <_> + 8 6 8 10 -1. + <_> + 8 6 4 5 2. + <_> + 12 11 4 5 2. + <_> + + <_> + 15 15 9 9 -1. + <_> + 18 15 3 9 3. + <_> + + <_> + 0 15 9 9 -1. + <_> + 3 15 3 9 3. + <_> + + <_> + 12 10 9 7 -1. + <_> + 15 10 3 7 3. + <_> + + <_> + 3 10 9 7 -1. + <_> + 6 10 3 7 3. + <_> + + <_> + 13 15 10 8 -1. + <_> + 18 15 5 4 2. + <_> + 13 19 5 4 2. + <_> + + <_> + 0 1 6 12 -1. + <_> + 0 1 3 6 2. + <_> + 3 7 3 6 2. + <_> + + <_> + 10 0 6 12 -1. + <_> + 13 0 3 6 2. + <_> + 10 6 3 6 2. + <_> + + <_> + 7 0 10 12 -1. + <_> + 7 0 5 6 2. + <_> + 12 6 5 6 2. + <_> + + <_> + 4 1 16 8 -1. + <_> + 4 1 8 8 2. + <_> + + <_> + 0 21 19 3 -1. + <_> + 0 22 19 1 3. + <_> + + <_> + 6 9 18 4 -1. + <_> + 15 9 9 2 2. + <_> + 6 11 9 2 2. + <_> + + <_> + 3 4 9 6 -1. + <_> + 3 6 9 2 3. + <_> + + <_> + 9 1 6 15 -1. + <_> + 9 6 6 5 3. + <_> + + <_> + 5 9 6 6 -1. + <_> + 8 9 3 6 2. + <_> + + <_> + 5 1 14 9 -1. + <_> + 5 4 14 3 3. + <_> + + <_> + 3 0 8 20 -1. + <_> + 3 0 4 10 2. + <_> + 7 10 4 10 2. + <_> + + <_> + 5 0 7 9 -1. + <_> + 5 3 7 3 3. + <_> + + <_> + 6 6 12 5 -1. + <_> + 10 6 4 5 3. + <_> + + <_> + 0 1 8 14 -1. + <_> + 4 1 4 14 2. + <_> + + <_> + 2 12 22 4 -1. + <_> + 2 14 22 2 2. + <_> + + <_> + 8 17 6 6 -1. + <_> + 8 20 6 3 2. + <_> + + <_> + 18 1 6 7 -1. + <_> + 18 1 3 7 2. + <_> + + <_> + 0 0 6 6 -1. + <_> + 3 0 3 6 2. + <_> + + <_> + 4 6 17 18 -1. + <_> + 4 12 17 6 3. + <_> + + <_> + 6 0 12 6 -1. + <_> + 6 0 6 3 2. + <_> + 12 3 6 3 2. + <_> + + <_> + 4 7 18 4 -1. + <_> + 13 7 9 2 2. + <_> + 4 9 9 2 2. + <_> + + <_> + 4 12 10 6 -1. + <_> + 4 14 10 2 3. + <_> + + <_> + 7 9 10 12 -1. + <_> + 12 9 5 6 2. + <_> + 7 15 5 6 2. + <_> + + <_> + 0 1 24 3 -1. + <_> + 8 1 8 3 3. + <_> + + <_> + 13 11 6 6 -1. + <_> + 13 11 3 6 2. + <_> + + <_> + 5 11 6 6 -1. + <_> + 8 11 3 6 2. + <_> + + <_> + 3 10 19 3 -1. + <_> + 3 11 19 1 3. + <_> + + <_> + 0 2 6 9 -1. + <_> + 0 5 6 3 3. + <_> + + <_> + 14 16 10 6 -1. + <_> + 14 18 10 2 3. + <_> + + <_> + 0 16 10 6 -1. + <_> + 0 18 10 2 3. + <_> + + <_> + 14 13 9 6 -1. + <_> + 14 15 9 2 3. + <_> + + <_> + 0 16 18 3 -1. + <_> + 0 17 18 1 3. + <_> + + <_> + 6 16 18 3 -1. + <_> + 6 17 18 1 3. + <_> + + <_> + 0 18 9 6 -1. + <_> + 0 20 9 2 3. + <_> + + <_> + 14 13 9 6 -1. + <_> + 14 15 9 2 3. + <_> + + <_> + 6 2 6 9 -1. + <_> + 8 2 2 9 3. + <_> + + <_> + 15 8 4 12 -1. + <_> + 15 8 2 12 2. + <_> + + <_> + 8 13 8 8 -1. + <_> + 8 17 8 4 2. + <_> + + <_> + 4 20 18 3 -1. + <_> + 10 20 6 3 3. + <_> + + <_> + 5 8 4 12 -1. + <_> + 7 8 2 12 2. + <_> + + <_> + 7 7 12 3 -1. + <_> + 7 7 6 3 2. + <_> + + <_> + 10 6 4 9 -1. + <_> + 12 6 2 9 2. + <_> + + <_> + 5 20 18 3 -1. + <_> + 11 20 6 3 3. + <_> + + <_> + 1 20 18 3 -1. + <_> + 7 20 6 3 3. + <_> + + <_> + 18 1 6 20 -1. + <_> + 21 1 3 10 2. + <_> + 18 11 3 10 2. + <_> + + <_> + 0 1 6 20 -1. + <_> + 0 1 3 10 2. + <_> + 3 11 3 10 2. + <_> + + <_> + 13 3 4 18 -1. + <_> + 15 3 2 9 2. + <_> + 13 12 2 9 2. + <_> + + <_> + 0 2 6 12 -1. + <_> + 0 6 6 4 3. + <_> + + <_> + 12 9 12 6 -1. + <_> + 18 9 6 3 2. + <_> + 12 12 6 3 2. + <_> + + <_> + 7 3 4 18 -1. + <_> + 7 3 2 9 2. + <_> + 9 12 2 9 2. + <_> + + <_> + 14 0 6 9 -1. + <_> + 16 0 2 9 3. + <_> + + <_> + 0 9 12 6 -1. + <_> + 0 9 6 3 2. + <_> + 6 12 6 3 2. + <_> + + <_> + 14 4 8 20 -1. + <_> + 18 4 4 10 2. + <_> + 14 14 4 10 2. + <_> + + <_> + 2 4 8 20 -1. + <_> + 2 4 4 10 2. + <_> + 6 14 4 10 2. + <_> + + <_> + 14 13 9 6 -1. + <_> + 14 15 9 2 3. + <_> + + <_> + 1 13 9 6 -1. + <_> + 1 15 9 2 3. + <_> + + <_> + 3 15 18 3 -1. + <_> + 9 15 6 3 3. + <_> + + <_> + 5 13 9 6 -1. + <_> + 5 15 9 2 3. + <_> + + <_> + 5 0 18 3 -1. + <_> + 5 1 18 1 3. + <_> + + <_> + 8 2 6 7 -1. + <_> + 11 2 3 7 2. + <_> + + <_> + 9 1 9 6 -1. + <_> + 12 1 3 6 3. + <_> + + <_> + 6 1 9 6 -1. + <_> + 9 1 3 6 3. + <_> + + <_> + 5 6 14 6 -1. + <_> + 12 6 7 3 2. + <_> + 5 9 7 3 2. + <_> + + <_> + 8 2 6 13 -1. + <_> + 10 2 2 13 3. + <_> + + <_> + 6 11 12 6 -1. + <_> + 12 11 6 3 2. + <_> + 6 14 6 3 2. + <_> + + <_> + 3 1 18 15 -1. + <_> + 9 1 6 15 3. + <_> + + <_> + 13 0 6 7 -1. + <_> + 13 0 3 7 2. + <_> + + <_> + 3 3 16 6 -1. + <_> + 3 6 16 3 2. + <_> + + <_> + 12 1 3 12 -1. + <_> + 12 7 3 6 2. + <_> + + <_> + 7 7 6 9 -1. + <_> + 9 7 2 9 3. + <_> + + <_> + 13 0 4 24 -1. + <_> + 13 0 2 24 2. + <_> + + <_> + 7 0 4 24 -1. + <_> + 9 0 2 24 2. + <_> + + <_> + 11 9 5 12 -1. + <_> + 11 13 5 4 3. + <_> + + <_> + 7 15 9 6 -1. + <_> + 7 17 9 2 3. + <_> + + <_> + 5 7 18 6 -1. + <_> + 5 9 18 2 3. + <_> + + <_> + 8 9 5 12 -1. + <_> + 8 13 5 4 3. + <_> + + <_> + 4 17 17 6 -1. + <_> + 4 19 17 2 3. + <_> + + <_> + 0 3 18 14 -1. + <_> + 0 3 9 7 2. + <_> + 9 10 9 7 2. + <_> + + <_> + 0 1 24 2 -1. + <_> + 0 2 24 1 2. + <_> + + <_> + 0 15 18 3 -1. + <_> + 0 16 18 1 3. + <_> + + <_> + 9 0 6 9 -1. + <_> + 11 0 2 9 3. + <_> + + <_> + 3 3 14 12 -1. + <_> + 3 9 14 6 2. + <_> + + <_> + 12 1 3 12 -1. + <_> + 12 7 3 6 2. + <_> + + <_> + 8 0 6 9 -1. + <_> + 10 0 2 9 3. + <_> + + <_> + 10 6 6 10 -1. + <_> + 12 6 2 10 3. + <_> + + <_> + 5 0 6 9 -1. + <_> + 7 0 2 9 3. + <_> + + <_> + 2 0 21 7 -1. + <_> + 9 0 7 7 3. + <_> + + <_> + 6 11 12 5 -1. + <_> + 10 11 4 5 3. + <_> + + <_> + 8 7 9 8 -1. + <_> + 11 7 3 8 3. + <_> + + <_> + 9 6 6 18 -1. + <_> + 9 6 3 9 2. + <_> + 12 15 3 9 2. + <_> + + <_> + 15 14 8 10 -1. + <_> + 19 14 4 5 2. + <_> + 15 19 4 5 2. + <_> + + <_> + 1 14 8 10 -1. + <_> + 1 14 4 5 2. + <_> + 5 19 4 5 2. + <_> + + <_> + 11 0 8 10 -1. + <_> + 15 0 4 5 2. + <_> + 11 5 4 5 2. + <_> + + <_> + 5 0 8 10 -1. + <_> + 5 0 4 5 2. + <_> + 9 5 4 5 2. + <_> + + <_> + 6 1 12 5 -1. + <_> + 6 1 6 5 2. + <_> + + <_> + 1 12 18 2 -1. + <_> + 10 12 9 2 2. + <_> + + <_> + 2 8 20 6 -1. + <_> + 12 8 10 3 2. + <_> + 2 11 10 3 2. + <_> + + <_> + 7 6 9 7 -1. + <_> + 10 6 3 7 3. + <_> + + <_> + 10 5 8 16 -1. + <_> + 14 5 4 8 2. + <_> + 10 13 4 8 2. + <_> + + <_> + 3 9 16 8 -1. + <_> + 3 9 8 4 2. + <_> + 11 13 8 4 2. + <_> + + <_> + 7 8 10 4 -1. + <_> + 7 8 5 4 2. + <_> + + <_> + 7 12 10 8 -1. + <_> + 7 12 5 4 2. + <_> + 12 16 5 4 2. + <_> + + <_> + 9 19 15 4 -1. + <_> + 14 19 5 4 3. + <_> + + <_> + 1 0 18 9 -1. + <_> + 7 0 6 9 3. + <_> + + <_> + 13 4 10 8 -1. + <_> + 18 4 5 4 2. + <_> + 13 8 5 4 2. + <_> + + <_> + 3 16 18 4 -1. + <_> + 9 16 6 4 3. + <_> + + <_> + 8 7 10 12 -1. + <_> + 13 7 5 6 2. + <_> + 8 13 5 6 2. + <_> + + <_> + 6 7 10 12 -1. + <_> + 6 7 5 6 2. + <_> + 11 13 5 6 2. + <_> + + <_> + 4 6 18 7 -1. + <_> + 10 6 6 7 3. + <_> + + <_> + 0 17 18 3 -1. + <_> + 0 18 18 1 3. + <_> + + <_> + 3 17 18 3 -1. + <_> + 3 18 18 1 3. + <_> + + <_> + 2 4 6 10 -1. + <_> + 4 4 2 10 3. + <_> + + <_> + 16 0 8 24 -1. + <_> + 16 0 4 24 2. + <_> + + <_> + 4 0 8 15 -1. + <_> + 8 0 4 15 2. + <_> + + <_> + 16 0 8 24 -1. + <_> + 16 0 4 24 2. + <_> + + <_> + 1 4 18 9 -1. + <_> + 7 4 6 9 3. + <_> + + <_> + 15 12 9 6 -1. + <_> + 15 14 9 2 3. + <_> + + <_> + 3 9 18 6 -1. + <_> + 3 9 9 3 2. + <_> + 12 12 9 3 2. + <_> + + <_> + 18 5 6 9 -1. + <_> + 18 8 6 3 3. + <_> + + <_> + 0 5 6 9 -1. + <_> + 0 8 6 3 3. + <_> + + <_> + 4 7 18 4 -1. + <_> + 13 7 9 2 2. + <_> + 4 9 9 2 2. + <_> + + <_> + 2 1 12 20 -1. + <_> + 2 1 6 10 2. + <_> + 8 11 6 10 2. + <_> + + <_> + 17 0 6 23 -1. + <_> + 17 0 3 23 2. + <_> + + <_> + 1 6 2 18 -1. + <_> + 1 15 2 9 2. + <_> + + <_> + 8 8 10 6 -1. + <_> + 8 10 10 2 3. + <_> + + <_> + 0 6 20 6 -1. + <_> + 0 6 10 3 2. + <_> + 10 9 10 3 2. + <_> + + <_> + 11 12 12 5 -1. + <_> + 15 12 4 5 3. + <_> + + <_> + 0 4 3 19 -1. + <_> + 1 4 1 19 3. + <_> + + <_> + 19 1 3 18 -1. + <_> + 20 1 1 18 3. + <_> + + <_> + 2 1 3 18 -1. + <_> + 3 1 1 18 3. + <_> + + <_> + 3 10 18 3 -1. + <_> + 9 10 6 3 3. + <_> + + <_> + 4 4 10 9 -1. + <_> + 9 4 5 9 2. + <_> + + <_> + 7 13 14 7 -1. + <_> + 7 13 7 7 2. + <_> + + <_> + 3 13 14 7 -1. + <_> + 10 13 7 7 2. + <_> + + <_> + 8 15 9 6 -1. + <_> + 11 15 3 6 3. + <_> + + <_> + 4 14 8 10 -1. + <_> + 4 14 4 5 2. + <_> + 8 19 4 5 2. + <_> + + <_> + 10 14 4 10 -1. + <_> + 10 19 4 5 2. + <_> + + <_> + 3 8 5 16 -1. + <_> + 3 16 5 8 2. + <_> + + <_> + 15 10 9 6 -1. + <_> + 15 12 9 2 3. + <_> + + <_> + 0 10 9 6 -1. + <_> + 0 12 9 2 3. + <_> + + <_> + 6 7 12 9 -1. + <_> + 6 10 12 3 3. + <_> + + <_> + 9 10 5 8 -1. + <_> + 9 14 5 4 2. + <_> + + <_> + 12 1 3 12 -1. + <_> + 12 7 3 6 2. + <_> + + <_> + 8 15 6 9 -1. + <_> + 10 15 2 9 3. + <_> + + <_> + 16 6 7 6 -1. + <_> + 16 9 7 3 2. + <_> + + <_> + 8 1 4 22 -1. + <_> + 10 1 2 22 2. + <_> + + <_> + 6 6 14 3 -1. + <_> + 6 6 7 3 2. + <_> + + <_> + 0 18 19 3 -1. + <_> + 0 19 19 1 3. + <_> + + <_> + 17 0 6 24 -1. + <_> + 17 0 3 24 2. + <_> + + <_> + 0 13 15 6 -1. + <_> + 5 13 5 6 3. + <_> + + <_> + 9 6 10 14 -1. + <_> + 14 6 5 7 2. + <_> + 9 13 5 7 2. + <_> + + <_> + 1 6 8 10 -1. + <_> + 1 6 4 5 2. + <_> + 5 11 4 5 2. + <_> + + <_> + 7 6 12 5 -1. + <_> + 7 6 6 5 2. + <_> + + <_> + 7 7 9 6 -1. + <_> + 10 7 3 6 3. + <_> + + <_> + 7 8 14 14 -1. + <_> + 14 8 7 7 2. + <_> + 7 15 7 7 2. + <_> + + <_> + 3 8 14 14 -1. + <_> + 3 8 7 7 2. + <_> + 10 15 7 7 2. + <_> + + <_> + 9 8 13 4 -1. + <_> + 9 10 13 2 2. + <_> + + <_> + 3 2 6 12 -1. + <_> + 3 2 3 6 2. + <_> + 6 8 3 6 2. + <_> + + <_> + 6 10 17 6 -1. + <_> + 6 13 17 3 2. + <_> + + <_> + 1 10 17 6 -1. + <_> + 1 13 17 3 2. + <_> + + <_> + 16 7 8 9 -1. + <_> + 16 10 8 3 3. + <_> + + <_> + 0 7 8 9 -1. + <_> + 0 10 8 3 3. + <_> + + <_> + 0 9 24 10 -1. + <_> + 12 9 12 5 2. + <_> + 0 14 12 5 2. + <_> + + <_> + 3 2 15 8 -1. + <_> + 8 2 5 8 3. + <_> + + <_> + 4 2 18 8 -1. + <_> + 10 2 6 8 3. + <_> + + <_> + 0 1 18 4 -1. + <_> + 0 1 9 2 2. + <_> + 9 3 9 2 2. + <_> + + <_> + 20 2 3 18 -1. + <_> + 21 2 1 18 3. + <_> + + <_> + 1 3 3 19 -1. + <_> + 2 3 1 19 3. + <_> + + <_> + 18 8 6 16 -1. + <_> + 20 8 2 16 3. + <_> + + <_> + 0 8 6 16 -1. + <_> + 2 8 2 16 3. + <_> + + <_> + 8 18 11 6 -1. + <_> + 8 20 11 2 3. + <_> + + <_> + 4 6 12 5 -1. + <_> + 8 6 4 5 3. + <_> + + <_> + 7 6 12 5 -1. + <_> + 11 6 4 5 3. + <_> + + <_> + 6 3 9 6 -1. + <_> + 9 3 3 6 3. + <_> + + <_> + 7 6 12 5 -1. + <_> + 7 6 6 5 2. + <_> + + <_> + 9 8 6 7 -1. + <_> + 12 8 3 7 2. + <_> + + <_> + 8 2 9 6 -1. + <_> + 11 2 3 6 3. + <_> + + <_> + 8 14 6 9 -1. + <_> + 8 17 6 3 3. + <_> + + <_> + 8 2 9 6 -1. + <_> + 11 2 3 6 3. + <_> + + <_> + 4 3 16 20 -1. + <_> + 4 3 8 10 2. + <_> + 12 13 8 10 2. + <_> + + <_> + 7 6 10 12 -1. + <_> + 12 6 5 6 2. + <_> + 7 12 5 6 2. + <_> + + <_> + 0 2 7 12 -1. + <_> + 0 6 7 4 3. + <_> + + <_> + 12 17 11 6 -1. + <_> + 12 19 11 2 3. + <_> + + <_> + 4 7 12 8 -1. + <_> + 4 7 6 4 2. + <_> + 10 11 6 4 2. + <_> + + <_> + 8 11 8 10 -1. + <_> + 12 11 4 5 2. + <_> + 8 16 4 5 2. + <_> + + <_> + 9 1 4 9 -1. + <_> + 11 1 2 9 2. + <_> + + <_> + 14 0 3 22 -1. + <_> + 15 0 1 22 3. + <_> + + <_> + 7 0 3 22 -1. + <_> + 8 0 1 22 3. + <_> + + <_> + 4 7 18 4 -1. + <_> + 13 7 9 2 2. + <_> + 4 9 9 2 2. + <_> + + <_> + 10 2 4 15 -1. + <_> + 10 7 4 5 3. + <_> + + <_> + 12 1 3 12 -1. + <_> + 12 7 3 6 2. + <_> + + <_> + 0 0 18 13 -1. + <_> + 9 0 9 13 2. + <_> + + <_> + 16 0 3 24 -1. + <_> + 17 0 1 24 3. + <_> + + <_> + 5 0 3 24 -1. + <_> + 6 0 1 24 3. + <_> + + <_> + 10 15 5 8 -1. + <_> + 10 19 5 4 2. + <_> + + <_> + 2 18 18 2 -1. + <_> + 2 19 18 1 2. + <_> + + <_> + 2 8 20 3 -1. + <_> + 2 9 20 1 3. + <_> + + <_> + 7 6 9 6 -1. + <_> + 7 8 9 2 3. + <_> + + <_> + 3 2 19 10 -1. + <_> + 3 7 19 5 2. + <_> + + <_> + 2 7 19 3 -1. + <_> + 2 8 19 1 3. + <_> + + <_> + 15 6 9 4 -1. + <_> + 15 8 9 2 2. + <_> + + <_> + 2 2 18 8 -1. + <_> + 8 2 6 8 3. + <_> + + <_> + 10 9 14 4 -1. + <_> + 10 9 7 4 2. + <_> + + <_> + 4 4 6 16 -1. + <_> + 7 4 3 16 2. + <_> + + <_> + 15 8 9 16 -1. + <_> + 18 8 3 16 3. + <_> + + <_> + 0 8 9 16 -1. + <_> + 3 8 3 16 3. + <_> + + <_> + 18 0 6 14 -1. + <_> + 20 0 2 14 3. + <_> + + <_> + 0 0 6 14 -1. + <_> + 2 0 2 14 3. + <_> + + <_> + 15 0 6 22 -1. + <_> + 17 0 2 22 3. + <_> + + <_> + 3 0 6 22 -1. + <_> + 5 0 2 22 3. + <_> + + <_> + 12 2 12 20 -1. + <_> + 16 2 4 20 3. + <_> + + <_> + 0 2 12 20 -1. + <_> + 4 2 4 20 3. + <_> + + <_> + 11 6 4 9 -1. + <_> + 11 6 2 9 2. + <_> + + <_> + 9 0 6 16 -1. + <_> + 12 0 3 16 2. + <_> + + <_> + 12 1 3 12 -1. + <_> + 12 7 3 6 2. + <_> + + <_> + 3 4 18 6 -1. + <_> + 3 4 9 3 2. + <_> + 12 7 9 3 2. + <_> + + <_> + 5 5 16 8 -1. + <_> + 13 5 8 4 2. + <_> + 5 9 8 4 2. + <_> + + <_> + 0 13 10 6 -1. + <_> + 0 15 10 2 3. + <_> + + <_> + 8 14 9 6 -1. + <_> + 8 16 9 2 3. + <_> + + <_> + 6 2 9 6 -1. + <_> + 9 2 3 6 3. + <_> + + <_> + 14 1 10 8 -1. + <_> + 19 1 5 4 2. + <_> + 14 5 5 4 2. + <_> + + <_> + 9 1 3 12 -1. + <_> + 9 7 3 6 2. + <_> + + <_> + 6 4 12 9 -1. + <_> + 6 7 12 3 3. + <_> + + <_> + 6 5 12 6 -1. + <_> + 10 5 4 6 3. + <_> + + <_> + 1 1 8 5 -1. + <_> + 5 1 4 5 2. + <_> + + <_> + 12 12 6 8 -1. + <_> + 12 16 6 4 2. + <_> + + <_> + 3 12 12 6 -1. + <_> + 3 14 12 2 3. + <_> + + <_> + 9 18 12 6 -1. + <_> + 15 18 6 3 2. + <_> + 9 21 6 3 2. + <_> + + <_> + 4 13 6 6 -1. + <_> + 4 16 6 3 2. + <_> + + <_> + 11 3 7 18 -1. + <_> + 11 12 7 9 2. + <_> + + <_> + 3 9 18 3 -1. + <_> + 9 9 6 3 3. + <_> + + <_> + 5 3 19 2 -1. + <_> + 5 4 19 1 2. + <_> + + <_> + 4 2 12 6 -1. + <_> + 4 2 6 3 2. + <_> + 10 5 6 3 2. + <_> + + <_> + 9 6 6 9 -1. + <_> + 11 6 2 9 3. + <_> + + <_> + 8 6 6 9 -1. + <_> + 10 6 2 9 3. + <_> + + <_> + 16 9 5 15 -1. + <_> + 16 14 5 5 3. + <_> + + <_> + 3 9 5 15 -1. + <_> + 3 14 5 5 3. + <_> + + <_> + 6 6 14 6 -1. + <_> + 13 6 7 3 2. + <_> + 6 9 7 3 2. + <_> + + <_> + 8 6 3 14 -1. + <_> + 8 13 3 7 2. + <_> + + <_> + 0 16 24 5 -1. + <_> + 8 16 8 5 3. + <_> + + <_> + 0 20 20 3 -1. + <_> + 10 20 10 3 2. + <_> + + <_> + 5 10 18 2 -1. + <_> + 5 11 18 1 2. + <_> + + <_> + 0 6 6 10 -1. + <_> + 2 6 2 10 3. + <_> + + <_> + 2 1 20 3 -1. + <_> + 2 2 20 1 3. + <_> + + <_> + 9 13 6 11 -1. + <_> + 11 13 2 11 3. + <_> + + <_> + 9 15 6 8 -1. + <_> + 9 19 6 4 2. + <_> + + <_> + 9 12 6 9 -1. + <_> + 9 15 6 3 3. + <_> + + <_> + 5 11 18 2 -1. + <_> + 5 12 18 1 2. + <_> + + <_> + 2 6 15 6 -1. + <_> + 2 8 15 2 3. + <_> + + <_> + 6 0 18 3 -1. + <_> + 6 1 18 1 3. + <_> + + <_> + 5 0 3 18 -1. + <_> + 6 0 1 18 3. + <_> + + <_> + 18 3 6 10 -1. + <_> + 20 3 2 10 3. + <_> + + <_> + 0 3 6 10 -1. + <_> + 2 3 2 10 3. + <_> + + <_> + 10 5 8 9 -1. + <_> + 10 5 4 9 2. + <_> + + <_> + 6 5 8 9 -1. + <_> + 10 5 4 9 2. + <_> + + <_> + 3 2 20 3 -1. + <_> + 3 3 20 1 3. + <_> + + <_> + 5 2 13 4 -1. + <_> + 5 4 13 2 2. + <_> + + <_> + 17 0 7 14 -1. + <_> + 17 7 7 7 2. + <_> + + <_> + 0 0 7 14 -1. + <_> + 0 7 7 7 2. + <_> + + <_> + 9 11 10 6 -1. + <_> + 9 11 5 6 2. + <_> + + <_> + 5 11 10 6 -1. + <_> + 10 11 5 6 2. + <_> + + <_> + 11 6 3 18 -1. + <_> + 11 12 3 6 3. + <_> + + <_> + 0 16 18 3 -1. + <_> + 0 17 18 1 3. + <_> + + <_> + 6 16 18 3 -1. + <_> + 6 17 18 1 3. + <_> + + <_> + 4 6 9 10 -1. + <_> + 4 11 9 5 2. + <_> + + <_> + 9 7 15 4 -1. + <_> + 9 9 15 2 2. + <_> + + <_> + 5 6 12 6 -1. + <_> + 5 6 6 3 2. + <_> + 11 9 6 3 2. + <_> + + <_> + 6 1 12 9 -1. + <_> + 6 4 12 3 3. + <_> + + <_> + 7 9 6 12 -1. + <_> + 7 9 3 6 2. + <_> + 10 15 3 6 2. + <_> + + <_> + 11 5 13 6 -1. + <_> + 11 7 13 2 3. + <_> + + <_> + 1 11 22 13 -1. + <_> + 12 11 11 13 2. + <_> + + <_> + 18 8 6 6 -1. + <_> + 18 11 6 3 2. + <_> + + <_> + 0 8 6 6 -1. + <_> + 0 11 6 3 2. + <_> + + <_> + 0 6 24 3 -1. + <_> + 0 7 24 1 3. + <_> + + <_> + 0 5 10 6 -1. + <_> + 0 7 10 2 3. + <_> + + <_> + 6 7 18 3 -1. + <_> + 6 8 18 1 3. + <_> + + <_> + 0 0 10 6 -1. + <_> + 0 2 10 2 3. + <_> + + <_> + 19 0 3 19 -1. + <_> + 20 0 1 19 3. + <_> + + <_> + 4 6 12 16 -1. + <_> + 4 6 6 8 2. + <_> + 10 14 6 8 2. + <_> + + <_> + 19 6 4 18 -1. + <_> + 21 6 2 9 2. + <_> + 19 15 2 9 2. + <_> + + <_> + 1 6 4 18 -1. + <_> + 1 6 2 9 2. + <_> + 3 15 2 9 2. + <_> + + <_> + 3 21 18 3 -1. + <_> + 3 22 18 1 3. + <_> + + <_> + 0 19 9 4 -1. + <_> + 0 21 9 2 2. + <_> + + <_> + 12 18 12 6 -1. + <_> + 18 18 6 3 2. + <_> + 12 21 6 3 2. + <_> + + <_> + 7 18 9 4 -1. + <_> + 7 20 9 2 2. + <_> + + <_> + 12 16 10 8 -1. + <_> + 17 16 5 4 2. + <_> + 12 20 5 4 2. + <_> + + <_> + 2 16 10 8 -1. + <_> + 2 16 5 4 2. + <_> + 7 20 5 4 2. + <_> + + <_> + 14 0 10 12 -1. + <_> + 19 0 5 6 2. + <_> + 14 6 5 6 2. + <_> + + <_> + 0 0 10 12 -1. + <_> + 0 0 5 6 2. + <_> + 5 6 5 6 2. + <_> + + <_> + 15 14 9 6 -1. + <_> + 15 16 9 2 3. + <_> + + <_> + 0 14 9 6 -1. + <_> + 0 16 9 2 3. + <_> + + <_> + 14 14 10 6 -1. + <_> + 14 16 10 2 3. + <_> + + <_> + 0 14 10 6 -1. + <_> + 0 16 10 2 3. + <_> + + <_> + 5 18 18 2 -1. + <_> + 5 19 18 1 2. + <_> + + <_> + 0 18 18 3 -1. + <_> + 0 19 18 1 3. + <_> + + <_> + 3 5 18 12 -1. + <_> + 12 5 9 6 2. + <_> + 3 11 9 6 2. + <_> + + <_> + 5 3 7 9 -1. + <_> + 5 6 7 3 3. + <_> + + <_> + 4 0 19 15 -1. + <_> + 4 5 19 5 3. + <_> + + <_> + 3 0 16 4 -1. + <_> + 3 2 16 2 2. + <_> + + <_> + 4 12 16 12 -1. + <_> + 4 12 8 12 2. + <_> + + <_> + 4 3 12 15 -1. + <_> + 10 3 6 15 2. + <_> + + <_> + 16 4 2 19 -1. + <_> + 16 4 1 19 2. + <_> + + <_> + 6 4 2 19 -1. + <_> + 7 4 1 19 2. + <_> + + <_> + 13 14 8 10 -1. + <_> + 17 14 4 5 2. + <_> + 13 19 4 5 2. + <_> + + <_> + 3 14 8 10 -1. + <_> + 3 14 4 5 2. + <_> + 7 19 4 5 2. + <_> + + <_> + 12 6 3 18 -1. + <_> + 12 12 3 6 3. + <_> + + <_> + 5 11 12 6 -1. + <_> + 5 11 6 3 2. + <_> + 11 14 6 3 2. + <_> + + <_> + 10 5 8 10 -1. + <_> + 14 5 4 5 2. + <_> + 10 10 4 5 2. + <_> + + <_> + 6 4 12 10 -1. + <_> + 6 4 6 5 2. + <_> + 12 9 6 5 2. + <_> + + <_> + 6 8 18 10 -1. + <_> + 15 8 9 5 2. + <_> + 6 13 9 5 2. + <_> + + <_> + 0 8 18 10 -1. + <_> + 0 8 9 5 2. + <_> + 9 13 9 5 2. + <_> + + <_> + 12 6 3 18 -1. + <_> + 12 12 3 6 3. + <_> + + <_> + 0 14 18 3 -1. + <_> + 0 15 18 1 3. + <_> + + <_> + 12 6 3 18 -1. + <_> + 12 12 3 6 3. + <_> + + <_> + 9 6 3 18 -1. + <_> + 9 12 3 6 3. + <_> + + <_> + 6 14 18 3 -1. + <_> + 6 15 18 1 3. + <_> + + <_> + 0 5 18 3 -1. + <_> + 0 6 18 1 3. + <_> + + <_> + 2 5 22 3 -1. + <_> + 2 6 22 1 3. + <_> + + <_> + 0 0 21 10 -1. + <_> + 7 0 7 10 3. + <_> + + <_> + 6 3 18 17 -1. + <_> + 12 3 6 17 3. + <_> + + <_> + 0 3 18 17 -1. + <_> + 6 3 6 17 3. + <_> + + <_> + 0 12 24 11 -1. + <_> + 8 12 8 11 3. + <_> + + <_> + 4 10 16 6 -1. + <_> + 4 13 16 3 2. + <_> + + <_> + 12 8 6 8 -1. + <_> + 12 12 6 4 2. + <_> + + <_> + 6 14 8 7 -1. + <_> + 10 14 4 7 2. + <_> + + <_> + 15 10 6 14 -1. + <_> + 18 10 3 7 2. + <_> + 15 17 3 7 2. + <_> + + <_> + 3 10 6 14 -1. + <_> + 3 10 3 7 2. + <_> + 6 17 3 7 2. + <_> + + <_> + 6 12 18 2 -1. + <_> + 6 13 18 1 2. + <_> + + <_> + 5 8 10 6 -1. + <_> + 5 10 10 2 3. + <_> + + <_> + 12 11 9 4 -1. + <_> + 12 13 9 2 2. + <_> + + <_> + 0 11 9 6 -1. + <_> + 0 13 9 2 3. + <_> + + <_> + 11 2 3 18 -1. + <_> + 12 2 1 18 3. + <_> + + <_> + 10 2 3 18 -1. + <_> + 11 2 1 18 3. + <_> + + <_> + 9 12 6 10 -1. + <_> + 11 12 2 10 3. + <_> + + <_> + 1 10 6 9 -1. + <_> + 1 13 6 3 3. + <_> + + <_> + 6 9 16 6 -1. + <_> + 14 9 8 3 2. + <_> + 6 12 8 3 2. + <_> + + <_> + 1 8 9 6 -1. + <_> + 1 10 9 2 3. + <_> + + <_> + 7 7 16 6 -1. + <_> + 7 9 16 2 3. + <_> + + <_> + 0 0 18 3 -1. + <_> + 0 1 18 1 3. + <_> + + <_> + 10 0 6 9 -1. + <_> + 12 0 2 9 3. + <_> + + <_> + 9 5 6 6 -1. + <_> + 12 5 3 6 2. + <_> + + <_> + 10 6 4 18 -1. + <_> + 12 6 2 9 2. + <_> + 10 15 2 9 2. + <_> + + <_> + 8 0 6 9 -1. + <_> + 10 0 2 9 3. + <_> + + <_> + 9 1 6 9 -1. + <_> + 9 4 6 3 3. + <_> + + <_> + 1 0 18 9 -1. + <_> + 1 3 18 3 3. + <_> + + <_> + 0 3 24 3 -1. + <_> + 0 4 24 1 3. + <_> + + <_> + 6 14 9 4 -1. + <_> + 6 16 9 2 2. + <_> + + <_> + 8 9 8 10 -1. + <_> + 12 9 4 5 2. + <_> + 8 14 4 5 2. + <_> + + <_> + 5 2 13 9 -1. + <_> + 5 5 13 3 3. + <_> + + <_> + 4 4 16 9 -1. + <_> + 4 7 16 3 3. + <_> + + <_> + 4 4 14 9 -1. + <_> + 4 7 14 3 3. + <_> + + <_> + 8 5 9 6 -1. + <_> + 8 7 9 2 3. + <_> + + <_> + 1 7 16 6 -1. + <_> + 1 9 16 2 3. + <_> + + <_> + 10 5 13 9 -1. + <_> + 10 8 13 3 3. + <_> + + <_> + 1 5 13 9 -1. + <_> + 1 8 13 3 3. + <_> + + <_> + 0 4 24 6 -1. + <_> + 12 4 12 3 2. + <_> + 0 7 12 3 2. + <_> + + <_> + 1 14 10 9 -1. + <_> + 1 17 10 3 3. + <_> + + <_> + 5 17 18 3 -1. + <_> + 5 18 18 1 3. + <_> + + <_> + 0 16 18 3 -1. + <_> + 0 17 18 1 3. + <_> + + <_> + 9 17 9 6 -1. + <_> + 9 19 9 2 3. + <_> + + <_> + 1 20 22 4 -1. + <_> + 1 20 11 2 2. + <_> + 12 22 11 2 2. + <_> + + <_> + 8 14 8 6 -1. + <_> + 8 17 8 3 2. + <_> + + <_> + 8 6 8 15 -1. + <_> + 8 11 8 5 3. + <_> + + <_> + 5 4 18 3 -1. + <_> + 5 5 18 1 3. + <_> + + <_> + 9 3 5 10 -1. + <_> + 9 8 5 5 2. + <_> + + <_> + 6 8 12 3 -1. + <_> + 6 8 6 3 2. + <_> + + <_> + 2 6 18 6 -1. + <_> + 2 6 9 3 2. + <_> + 11 9 9 3 2. + <_> + + <_> + 10 6 4 18 -1. + <_> + 12 6 2 9 2. + <_> + 10 15 2 9 2. + <_> + + <_> + 7 5 6 6 -1. + <_> + 10 5 3 6 2. + <_> + + <_> + 14 5 2 18 -1. + <_> + 14 14 2 9 2. + <_> + + <_> + 8 5 2 18 -1. + <_> + 8 14 2 9 2. + <_> + + <_> + 9 2 10 6 -1. + <_> + 9 2 5 6 2. + <_> + + <_> + 3 1 18 12 -1. + <_> + 12 1 9 12 2. + <_> + + <_> + 5 2 17 22 -1. + <_> + 5 13 17 11 2. + <_> + + <_> + 4 0 12 6 -1. + <_> + 4 2 12 2 3. + <_> + + <_> + 6 9 16 6 -1. + <_> + 14 9 8 3 2. + <_> + 6 12 8 3 2. + <_> + + <_> + 9 0 5 18 -1. + <_> + 9 9 5 9 2. + <_> + + <_> + 12 0 6 9 -1. + <_> + 14 0 2 9 3. + <_> + + <_> + 6 0 6 9 -1. + <_> + 8 0 2 9 3. + <_> + + <_> + 9 1 6 12 -1. + <_> + 11 1 2 12 3. + <_> + + <_> + 5 9 13 4 -1. + <_> + 5 11 13 2 2. + <_> + + <_> + 5 8 19 3 -1. + <_> + 5 9 19 1 3. + <_> + + <_> + 9 9 6 8 -1. + <_> + 9 13 6 4 2. + <_> + + <_> + 11 9 4 15 -1. + <_> + 11 14 4 5 3. + <_> + + <_> + 2 0 6 14 -1. + <_> + 2 0 3 7 2. + <_> + 5 7 3 7 2. + <_> + + <_> + 15 1 6 14 -1. + <_> + 18 1 3 7 2. + <_> + 15 8 3 7 2. + <_> + + <_> + 3 1 6 14 -1. + <_> + 3 1 3 7 2. + <_> + 6 8 3 7 2. + <_> + + <_> + 3 20 18 4 -1. + <_> + 12 20 9 2 2. + <_> + 3 22 9 2 2. + <_> + + <_> + 5 0 4 20 -1. + <_> + 5 0 2 10 2. + <_> + 7 10 2 10 2. + <_> + + <_> + 16 8 8 12 -1. + <_> + 20 8 4 6 2. + <_> + 16 14 4 6 2. + <_> + + <_> + 0 8 8 12 -1. + <_> + 0 8 4 6 2. + <_> + 4 14 4 6 2. + <_> + + <_> + 13 13 10 8 -1. + <_> + 18 13 5 4 2. + <_> + 13 17 5 4 2. + <_> + + <_> + 1 13 10 8 -1. + <_> + 1 13 5 4 2. + <_> + 6 17 5 4 2. + <_> + + <_> + 15 8 4 15 -1. + <_> + 15 13 4 5 3. + <_> + + <_> + 5 8 4 15 -1. + <_> + 5 13 4 5 3. + <_> + + <_> + 6 11 16 12 -1. + <_> + 6 15 16 4 3. + <_> + + <_> + 2 11 16 12 -1. + <_> + 2 15 16 4 3. + <_> + + <_> + 14 12 7 9 -1. + <_> + 14 15 7 3 3. + <_> + + <_> + 10 1 3 21 -1. + <_> + 10 8 3 7 3. + <_> + + <_> + 13 11 9 4 -1. + <_> + 13 13 9 2 2. + <_> + + <_> + 3 10 17 9 -1. + <_> + 3 13 17 3 3. + <_> + + <_> + 13 8 8 15 -1. + <_> + 13 13 8 5 3. + <_> + + <_> + 3 8 8 15 -1. + <_> + 3 13 8 5 3. + <_> + + <_> + 11 14 10 8 -1. + <_> + 16 14 5 4 2. + <_> + 11 18 5 4 2. + <_> + + <_> + 0 18 22 6 -1. + <_> + 0 18 11 3 2. + <_> + 11 21 11 3 2. + <_> + + <_> + 0 16 24 4 -1. + <_> + 0 16 12 4 2. + <_> + + <_> + 6 20 12 3 -1. + <_> + 12 20 6 3 2. + <_> + + <_> + 18 12 6 12 -1. + <_> + 21 12 3 6 2. + <_> + 18 18 3 6 2. + <_> + + <_> + 0 12 6 12 -1. + <_> + 0 12 3 6 2. + <_> + 3 18 3 6 2. + <_> + + <_> + 15 17 9 6 -1. + <_> + 15 19 9 2 3. + <_> + + <_> + 1 6 22 10 -1. + <_> + 1 6 11 5 2. + <_> + 12 11 11 5 2. + <_> + + <_> + 15 17 9 6 -1. + <_> + 15 19 9 2 3. + <_> + + <_> + 0 18 18 2 -1. + <_> + 0 19 18 1 2. + <_> + + <_> + 3 15 19 3 -1. + <_> + 3 16 19 1 3. + <_> + + <_> + 0 13 18 3 -1. + <_> + 0 14 18 1 3. + <_> + + <_> + 15 17 9 6 -1. + <_> + 15 19 9 2 3. + <_> + + <_> + 0 17 9 6 -1. + <_> + 0 19 9 2 3. + <_> + + <_> + 12 17 9 6 -1. + <_> + 12 19 9 2 3. + <_> + + <_> + 3 17 9 6 -1. + <_> + 3 19 9 2 3. + <_> + + <_> + 16 2 3 20 -1. + <_> + 17 2 1 20 3. + <_> + + <_> + 0 13 24 8 -1. + <_> + 0 17 24 4 2. + <_> + + <_> + 9 1 6 22 -1. + <_> + 12 1 3 11 2. + <_> + 9 12 3 11 2. + \ No newline at end of file diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/4. flappy bird.py b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/4. flappy bird.py new file mode 100644 index 00000000..ff1f37b7 --- /dev/null +++ b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/4. flappy bird.py @@ -0,0 +1,216 @@ +import random # For generating random numbers +import sys #To exit the program +import pygame #pip install pygame +from pygame.locals import * +# Global Variables for the game +FPS = 32 +SCREENWIDTH = 289 +SCREENHEIGHT = 511 +SCREEN = pygame.display.set_mode((SCREENWIDTH, SCREENHEIGHT)) +GROUNDY = SCREENHEIGHT * 0.8 +GAME_SPRITES = {} +GAME_SOUNDS = {} +PLAYER = 'gallery/sprites/bird.png' +BACKGROUND = 'gallery/sprites/background.png' +PIPE = 'gallery/sprites/pipe.png' + +def welcomeScreen(): + + playerx = int(SCREENWIDTH/5) + playery = int((SCREENHEIGHT - GAME_SPRITES['player'].get_height())/2) + messagex = int((SCREENWIDTH - GAME_SPRITES['message'].get_width())/2) + messagey = int(SCREENHEIGHT*0.13) + basex = 0 + while True: + for event in pygame.event.get(): + # if user clicks on cross button, close the game + if event.type == QUIT or (event.type==KEYDOWN and event.key == K_ESCAPE): + pygame.quit() + sys.exit() + + # If the user presses space or up key, start the game for them + elif event.type==KEYDOWN and (event.key==K_SPACE or event.key == K_UP): + return + else: + SCREEN.blit(GAME_SPRITES['background'], (0, 0)) + SCREEN.blit(GAME_SPRITES['player'], (playerx, playery)) + SCREEN.blit(GAME_SPRITES['message'], (messagex,messagey )) + SCREEN.blit(GAME_SPRITES['base'], (basex, GROUNDY)) + pygame.display.update() + FPSCLOCK.tick(FPS) + +def mainGame(): + score = 0 + playerx = int(SCREENWIDTH/5) + playery = int(SCREENWIDTH/2) + basex = 0 + + # Create 2 pipes for blitting on the screen + newPipe1 = getRandomPipe() + newPipe2 = getRandomPipe() + + # List of upper pipes + upperPipes = [ + {'x': SCREENWIDTH+200, 'y':newPipe1[0]['y']}, + {'x': SCREENWIDTH+200+(SCREENWIDTH/2), 'y':newPipe2[0]['y']}, + ] + # List of lower pipes + lowerPipes = [ + {'x': SCREENWIDTH+200, 'y':newPipe1[1]['y']}, + {'x': SCREENWIDTH+200+(SCREENWIDTH/2), 'y':newPipe2[1]['y']}, + ] + + pipeVelX = -4 + + playerVelY = -9 + playerMaxVelY = 10 + playerMinVelY = -8 + playerAccY = 1 + + playerFlapAccv = -8 # velocity while flapping + playerFlapped = False # It is true only when the bird is flapping + + + while True: + for event in pygame.event.get(): + if event.type == QUIT or (event.type == KEYDOWN and event.key == K_ESCAPE): + pygame.quit() + sys.exit() + if event.type == KEYDOWN and (event.key == K_SPACE or event.key == K_UP): + if playery > 0: + playerVelY = playerFlapAccv + playerFlapped = True + GAME_SOUNDS['wing'].play() + + + crashTest = isCollide(playerx, playery, upperPipes, lowerPipes) # This function will return true if the player is crashed + if crashTest: + return + + #check for score + playerMidPos = playerx + GAME_SPRITES['player'].get_width()/2 + for pipe in upperPipes: + pipeMidPos = pipe['x'] + GAME_SPRITES['pipe'][0].get_width()/2 + if pipeMidPos<= playerMidPos < pipeMidPos +4: + score +=1 + print(f"Your score is {score}") + GAME_SOUNDS['point'].play() + + + if playerVelY GROUNDY - 25 or playery<0: + GAME_SOUNDS['hit'].play() + return True + + for pipe in upperPipes: + pipeHeight = GAME_SPRITES['pipe'][0].get_height() + if(playery < pipeHeight + pipe['y'] and abs(playerx - pipe['x']) < GAME_SPRITES['pipe'][0].get_width()): + GAME_SOUNDS['hit'].play() + return True + + for pipe in lowerPipes: + if (playery + GAME_SPRITES['player'].get_height() > pipe['y']) and abs(playerx - pipe['x']) < GAME_SPRITES['pipe'][0].get_width(): + GAME_SOUNDS['hit'].play() + return True + + return False + +def getRandomPipe(): + pipeHeight = GAME_SPRITES['pipe'][0].get_height() + offset = SCREENHEIGHT/3 + y2 = offset + random.randrange(0, int(SCREENHEIGHT - GAME_SPRITES['base'].get_height() - 1.2 *offset)) + pipeX = SCREENWIDTH + 10 + y1 = pipeHeight - y2 + offset + pipe = [ + {'x': pipeX, 'y': -y1}, #upper Pipe + {'x': pipeX, 'y': y2} #lower Pipe + ] + return pipe + + + + + + +if __name__ == "__main__": + # This will be the main point from where our game will start + pygame.init() # Initialize all pygame's modules + FPSCLOCK = pygame.time.Clock() + pygame.display.set_caption('Flappy Bird by CodeWithHarry') + GAME_SPRITES['numbers'] = ( + pygame.image.load('gallery/sprites/0.png').convert_alpha(), + pygame.image.load('gallery/sprites/1.png').convert_alpha(), + pygame.image.load('gallery/sprites/2.png').convert_alpha(), + pygame.image.load('gallery/sprites/3.png').convert_alpha(), + pygame.image.load('gallery/sprites/4.png').convert_alpha(), + pygame.image.load('gallery/sprites/5.png').convert_alpha(), + pygame.image.load('gallery/sprites/6.png').convert_alpha(), + pygame.image.load('gallery/sprites/7.png').convert_alpha(), + pygame.image.load('gallery/sprites/8.png').convert_alpha(), + pygame.image.load('gallery/sprites/9.png').convert_alpha(), + ) + + GAME_SPRITES['message'] =pygame.image.load('gallery/sprites/message.png').convert_alpha() + GAME_SPRITES['base'] =pygame.image.load('gallery/sprites/base.png').convert_alpha() + GAME_SPRITES['pipe'] =(pygame.transform.rotate(pygame.image.load( PIPE).convert_alpha(), 180), + pygame.image.load(PIPE).convert_alpha() + ) + + # Game sounds + GAME_SOUNDS['die'] = pygame.mixer.Sound('gallery/audio/die.wav') + GAME_SOUNDS['hit'] = pygame.mixer.Sound('gallery/audio/hit.wav') + GAME_SOUNDS['point'] = pygame.mixer.Sound('gallery/audio/point.wav') + GAME_SOUNDS['swoosh'] = pygame.mixer.Sound('gallery/audio/swoosh.wav') + GAME_SOUNDS['wing'] = pygame.mixer.Sound('gallery/audio/wing.wav') + + GAME_SPRITES['background'] = pygame.image.load(BACKGROUND).convert() + GAME_SPRITES['player'] = pygame.image.load(PLAYER).convert_alpha() + + while True: + welcomeScreen() + mainGame() + diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/audio/die.wav b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/audio/die.wav new file mode 100644 index 00000000..9b79fbda Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/audio/die.wav differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/audio/hit.wav b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/audio/hit.wav new file mode 100644 index 00000000..9d9b77c7 Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/audio/hit.wav differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/audio/point.wav b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/audio/point.wav new file mode 100644 index 00000000..9cf19fe3 Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/audio/point.wav differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/audio/swoosh.wav b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/audio/swoosh.wav new file mode 100644 index 00000000..bcae63e1 Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/audio/swoosh.wav differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/audio/wing.wav b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/audio/wing.wav new file mode 100644 index 00000000..9ae2c679 Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/audio/wing.wav differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/0.png b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/0.png new file mode 100644 index 00000000..ad522b93 Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/0.png differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/1.png b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/1.png new file mode 100644 index 00000000..55d7c897 Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/1.png differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/2.png b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/2.png new file mode 100644 index 00000000..6a3af46e Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/2.png differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/3.png b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/3.png new file mode 100644 index 00000000..13d88bfe Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/3.png differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/4.png b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/4.png new file mode 100644 index 00000000..51cbbc34 Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/4.png differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/5.png b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/5.png new file mode 100644 index 00000000..b5055aba Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/5.png differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/6.png b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/6.png new file mode 100644 index 00000000..dbc4c009 Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/6.png differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/7.png b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/7.png new file mode 100644 index 00000000..04658ad0 Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/7.png differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/8.png b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/8.png new file mode 100644 index 00000000..f053e381 Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/8.png differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/9.png b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/9.png new file mode 100644 index 00000000..3bd0412c Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/9.png differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/background.png b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/background.png new file mode 100644 index 00000000..e2a2b892 Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/background.png differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/base.png b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/base.png new file mode 100644 index 00000000..c374f2b3 Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/base.png differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/bird.png b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/bird.png new file mode 100644 index 00000000..d82802ab Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/bird.png differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/gameover.png b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/gameover.png new file mode 100644 index 00000000..b1df7f57 Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/gameover.png differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/message.png b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/message.png new file mode 100644 index 00000000..9243ab58 Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/message.png differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/pipe.png b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/pipe.png new file mode 100644 index 00000000..ab6e0651 Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/4. Flappy Bird Game/gallery/sprites/pipe.png differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/Music/bgm.mp3 b/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/Music/bgm.mp3 new file mode 100644 index 00000000..b63ce52f Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/Music/bgm.mp3 differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/Music/bgm1.mp3 b/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/Music/bgm1.mp3 new file mode 100644 index 00000000..b9f517db Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/Music/bgm1.mp3 differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/Music/bgm2.mp3 b/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/Music/bgm2.mp3 new file mode 100644 index 00000000..f25d74c5 Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/Music/bgm2.mp3 differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/Music/wc.mp3 b/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/Music/wc.mp3 new file mode 100644 index 00000000..26c8845c Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/Music/wc.mp3 differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/Screen/Intro1.png b/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/Screen/Intro1.png new file mode 100644 index 00000000..602c79f0 Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/Screen/Intro1.png differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/Screen/bg2.jpg b/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/Screen/bg2.jpg new file mode 100644 index 00000000..116517d3 Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/Screen/bg2.jpg differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/Screen/outro.png b/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/Screen/outro.png new file mode 100644 index 00000000..92113cbb Binary files /dev/null and b/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/Screen/outro.png differ diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/Snake.py b/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/Snake.py new file mode 100644 index 00000000..41f28e8a --- /dev/null +++ b/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/Snake.py @@ -0,0 +1,170 @@ +author = 'CodeWithHarry' + +#Importing The Modules +import pygame +import random +import os + +#Initialization +pygame.mixer.init() +pygame.init() + + +#Colors +white = (255, 255, 255) +red = (255, 0, 0) +black = (0, 0, 0) +snakegreen = (35, 45, 40) + +#Game Backgrounds +# bg1 = pygame.image.load("Screen/bg.jpg") +bg2 = pygame.image.load("Screen/bg2.jpg") +intro = pygame.image.load("Screen/intro1.png") +outro = pygame.image.load("Screen/outro.png") + +#Creating The window +screen_width = 900 +screen_height = 600 +gameWindow = pygame.display.set_mode((screen_width, screen_height)) + +#Game Title +pygame.display.set_caption("Snake By CodeWithHarry") +pygame.display.update() + +#Music +pygame.mixer.music.load('music/wc.mp3') +pygame.mixer.music.play(100) +pygame.mixer.music.set_volume(.6) + +#Variables For The Game +clock = pygame.time.Clock() +font = pygame.font.SysFont('Harrington', 35) + +def text_screen(text, color, x, y): + screen_text = font.render(text, True, color) + gameWindow.blit(screen_text, [x,y]) + +def plot_snake(gameWindow, color, snk_list, snake_size): + for x,y in snk_list: + pygame.draw.rect(gameWindow, color, [x, y, snake_size, snake_size]) + + +#Welcome Screen + +def welcome(): + exit_game = False + while not exit_game: + gameWindow.blit(intro, (0,0)) + for event in pygame.event.get(): + if event.type == pygame.QUIT: + exit_game = True + if event.type == pygame.KEYDOWN: + if event.key == pygame.K_RETURN: + pygame.mixer.music.fadeout(200) + pygame.mixer.music.load('music/bgm.mp3') + pygame.mixer.music.play(100) + pygame.mixer.music.set_volume(.6) + gameloop() + pygame.display.update() + clock.tick(60) + +# Game Loop +def gameloop(): + +# Game specific variables + exit_game = False + game_over = False + snake_x = 45 + snake_y = 55 + velocity_x = 0 + velocity_y = 0 + snk_list = [] + snk_length = 1 + +#Highscore Build + if(not os.path.exists("highscore.txt")): + with open("highscore.txt", "w") as f: + f.write("0") + with open("highscore.txt", "r") as f: + highscore = f.read() + +#Food + food_x = random.randint(20, screen_width / 2) + food_y = random.randint(20, screen_height / 2) + +#Game Variables + score = 0 + init_velocity = 5 + snake_size = 30 + fps = 60 + while not exit_game: + if game_over: + with open("highscore.txt", "w") as f: + f.write(str(highscore)) + +#GameOverScreen + + gameWindow.blit(outro, (0, 0)) + text_screen("Score: " + str(score ), snakegreen, 385, 350) + for event in pygame.event.get(): + if event.type == pygame.QUIT: + exit_game = True + if event.type == pygame.KEYDOWN: + if event.key == pygame.K_RETURN: + welcome() + else: + for event in pygame.event.get(): + if event.type == pygame.QUIT: + exit_game = True + if event.type == pygame.KEYDOWN: + if event.key == pygame.K_RIGHT: + velocity_x = init_velocity + velocity_y = 0 + if event.key == pygame.K_LEFT: + velocity_x = - init_velocity + velocity_y = 0 + if event.key == pygame.K_UP: + velocity_y = - init_velocity + velocity_x = 0 + if event.key == pygame.K_DOWN: + velocity_y = init_velocity + velocity_x = 0 + if event.key == pygame.K_q: + score +=10 + snake_x = snake_x + velocity_x + snake_y = snake_y + velocity_y + if abs(snake_x - food_x)<12 and abs(snake_y - food_y)<12: + score +=10 + food_x = random.randint(20, screen_width / 2) + food_y = random.randint(20, screen_height / 2) + snk_length +=5 + if score>int(highscore): + highscore = score + gameWindow.blit(bg2, (0, 0)) + text_screen("Score: " + str(score) + " Highscore: "+str(highscore), snakegreen, 5, 5) + pygame.draw.rect(gameWindow, red, [food_x, food_y, snake_size, snake_size]) + head = [] + head.append(snake_x) + head.append(snake_y) + snk_list.append(head) + + + if len(snk_list)>snk_length: + del snk_list[0] + if head in snk_list[:-1]: + game_over = True + pygame.mixer.music.load('music/bgm1.mp3') + pygame.mixer.music.play(100) + pygame.mixer.music.set_volume(.6) + if snake_x<0 or snake_x>screen_width or snake_y<0 or snake_y>screen_height: + game_over = True + pygame.mixer.music.load('music/bgm2.mp3') + pygame.mixer.music.play(100) + pygame.mixer.music.set_volume(.6) + plot_snake(gameWindow, black, snk_list, snake_size) + pygame.display.update() + clock.tick(fps) + pygame.quit() + quit() +welcome() + diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/highscore.txt b/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/highscore.txt new file mode 100644 index 00000000..97e35041 --- /dev/null +++ b/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/highscore.txt @@ -0,0 +1 @@ +110 \ No newline at end of file diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/requirements.txt b/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/requirements.txt new file mode 100644 index 00000000..231dd178 --- /dev/null +++ b/100-days-of-code-youtube/02-Day2-Application-of-Python/5. Snake Game/requirements.txt @@ -0,0 +1 @@ +pygame \ No newline at end of file diff --git a/100-days-of-code-youtube/02-Day2-Application-of-Python/main.py b/100-days-of-code-youtube/02-Day2-Application-of-Python/main.py new file mode 100644 index 00000000..fa72e4b3 --- /dev/null +++ b/100-days-of-code-youtube/02-Day2-Application-of-Python/main.py @@ -0,0 +1,25 @@ +import cv2 + +#Loading The Cascade File +face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') + +#Reading the Input Image +# image= cv2.imread('1.jpg') +image= cv2.imread('1.png') + +#Resizing the Image +img = cv2.resize(image,None,fx=0.3,fy=0.3) + +#Converting the image into grayscale image +imgGray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) + +#Detecting The Faces +faces = face_cascade.detectMultiScale(imgGray, 1.2, 5) + +#Pointing The Faces +for (x,y,w,h) in faces: + cv2.rectangle(img, (x,y), (x+w, y+h), (255,0,0),2) + +#Displaying The Output Image +cv2.imshow('img', img) +cv2.waitKey() \ No newline at end of file diff --git a/100-days-of-code-youtube/03-Day3-Modules-and-Pip/.tutorial/Tutorial.md b/100-days-of-code-youtube/03-Day3-Modules-and-Pip/.tutorial/Tutorial.md new file mode 100644 index 00000000..77538667 --- /dev/null +++ b/100-days-of-code-youtube/03-Day3-Modules-and-Pip/.tutorial/Tutorial.md @@ -0,0 +1,31 @@ +# Day 3 - Modules and pip in Python! + +Module is like a code library which can be used to borrow code written by somebody else in our python program. There are two types of modules in python: +1. Built in Modules - These modules are ready to import and use and ships with the python interpreter. there is no need to install such modules explicitly. +2. External Modules - These modules are imported from a third party file or can be installed using a package manager like pip or conda. Since this code is written by someone else, we can install different versions of a same module with time. + +## The pip command + +It can be used as a package manager [pip](https://pip.pypa.io/en/stable/) to install a python module. +Lets install a module called pandas using the following command + +```bash +pip install pandas +``` + +## Using a module in Python (Usage) +We use the import syntax to import a module in Python. Here is an example code: + +```python +import pandas + +# Read and work with a file named 'words.csv' +df = pandas.read_csv('words.csv') +print(df) # This will display first few rows from the words.csv file + +``` + +Similarly we can install other modules and look into their documentations for usage instructions.\ +We will find ourselved doing this often in the later part of this course + +## [Next Lesson>>](https://replit.com/@codewithharry/04-Day4-Our-First-Program) \ No newline at end of file diff --git a/100-days-of-code-youtube/03-Day3-Modules-and-Pip/.tutorial/image.png b/100-days-of-code-youtube/03-Day3-Modules-and-Pip/.tutorial/image.png new file mode 100644 index 00000000..372c68d8 Binary files /dev/null and b/100-days-of-code-youtube/03-Day3-Modules-and-Pip/.tutorial/image.png differ diff --git a/100-days-of-code-youtube/03-Day3-Modules-and-Pip/.tutorial/image_2.png b/100-days-of-code-youtube/03-Day3-Modules-and-Pip/.tutorial/image_2.png new file mode 100644 index 00000000..d01e929d Binary files /dev/null and b/100-days-of-code-youtube/03-Day3-Modules-and-Pip/.tutorial/image_2.png differ diff --git a/100-days-of-code-youtube/03-Day3-Modules-and-Pip/.tutorial/video.json b/100-days-of-code-youtube/03-Day3-Modules-and-Pip/.tutorial/video.json new file mode 100644 index 00000000..2d757f36 --- /dev/null +++ b/100-days-of-code-youtube/03-Day3-Modules-and-Pip/.tutorial/video.json @@ -0,0 +1 @@ +{"embedUrl": "https://www.youtube.com/embed/xwKO_y2gHxQ"} \ No newline at end of file diff --git a/100-days-of-code-youtube/03-Day3-Modules-and-Pip/main.py b/100-days-of-code-youtube/03-Day3-Modules-and-Pip/main.py new file mode 100644 index 00000000..27d16396 --- /dev/null +++ b/100-days-of-code-youtube/03-Day3-Modules-and-Pip/main.py @@ -0,0 +1,8 @@ +import pandas # This is an example of external module +import hashlib # This is an example of built in module + +print("Hi") + +# Dont worry about how to use these modules just yet! +pandas.read_csv("one.csv") +m = hashlib.sha256() diff --git a/100-days-of-code-youtube/03-Day3-Modules-and-Pip/one.csv b/100-days-of-code-youtube/03-Day3-Modules-and-Pip/one.csv new file mode 100644 index 00000000..3fde4e20 --- /dev/null +++ b/100-days-of-code-youtube/03-Day3-Modules-and-Pip/one.csv @@ -0,0 +1 @@ +1,2,3 \ No newline at end of file diff --git a/100-days-of-code-youtube/04-Day4-Our-First-Program/.tutorial/Tutorial.md b/100-days-of-code-youtube/04-Day4-Our-First-Program/.tutorial/Tutorial.md new file mode 100644 index 00000000..7b4f0742 --- /dev/null +++ b/100-days-of-code-youtube/04-Day4-Our-First-Program/.tutorial/Tutorial.md @@ -0,0 +1,18 @@ +# Day 4 - Our First Program + +Today we will write our first ever python program from scratch. It will consist of a bunch of print statements. +print can be used to print something on the console in python + +## Quick Quiz + +Write a program to print a poem in Python. Choose the poem of your choice and publish your repl + + +```python +print("---Your poem here---") + +``` + +Please make sure you attempt this. Might be easy for some of you but please finish each and every task + +## [Next Lesson>>](https://replit.com/@codewithharry/05-Day5-Comments-and-Print#main.py) \ No newline at end of file diff --git a/100-days-of-code-youtube/04-Day4-Our-First-Program/.tutorial/image.png b/100-days-of-code-youtube/04-Day4-Our-First-Program/.tutorial/image.png new file mode 100644 index 00000000..372c68d8 Binary files /dev/null and b/100-days-of-code-youtube/04-Day4-Our-First-Program/.tutorial/image.png differ diff --git a/100-days-of-code-youtube/04-Day4-Our-First-Program/.tutorial/image_2.png b/100-days-of-code-youtube/04-Day4-Our-First-Program/.tutorial/image_2.png new file mode 100644 index 00000000..fbdcc914 Binary files /dev/null and b/100-days-of-code-youtube/04-Day4-Our-First-Program/.tutorial/image_2.png differ diff --git a/100-days-of-code-youtube/04-Day4-Our-First-Program/.tutorial/video.json b/100-days-of-code-youtube/04-Day4-Our-First-Program/.tutorial/video.json new file mode 100644 index 00000000..826c3ca7 --- /dev/null +++ b/100-days-of-code-youtube/04-Day4-Our-First-Program/.tutorial/video.json @@ -0,0 +1 @@ +{"embedUrl": "https://www.youtube.com/embed/7IWOYhfAcVg"} \ No newline at end of file diff --git a/100-days-of-code-youtube/04-Day4-Our-First-Program/main.py b/100-days-of-code-youtube/04-Day4-Our-First-Program/main.py new file mode 100644 index 00000000..f71045d5 --- /dev/null +++ b/100-days-of-code-youtube/04-Day4-Our-First-Program/main.py @@ -0,0 +1,4 @@ +print("Hello World", 7) +print(5) +print("Bye") +print(17*13) \ No newline at end of file diff --git a/100-days-of-code-youtube/05-Day5-Comments-and-Print/.tutorial/Tutorial.md b/100-days-of-code-youtube/05-Day5-Comments-and-Print/.tutorial/Tutorial.md new file mode 100644 index 00000000..857a5f64 --- /dev/null +++ b/100-days-of-code-youtube/05-Day5-Comments-and-Print/.tutorial/Tutorial.md @@ -0,0 +1,122 @@ +# Day 5 - Comments, Escape sequence & Print in Python + +Welcome to Day 5 of 100DaysOfCode. Today we will talk about Comments, Escape Sequences and little bit more about print statement in Python. +We will also throw some light on Escape Sequences + +# Python Comments +A comment is a part of the coding file that the programmer does not want to execute, rather the programmer uses it to either explain a block of code or to avoid the execution of a specific part of code while testing. + +## Single-Line Comments: + +To write a comment just add a ‘#’ at the start of the line. + +### Example 1 + +```python +#This is a 'Single-Line Comment' +print("This is a print statement.") +``` + +Output: + +```markup +This is a print statement. +``` + +### Example 2 + +```python +print("Hello World !!!") #Printing Hello World +``` + +Output: + +```markup +Hello World !!! +``` + +### Example 3: + +```python +print("Python Program") +#print("Python Program") +``` + +### Output: + +```markup +Python Program +``` +## Multi-Line Comments: + +To write multi-line comments you can use ‘#’ at each line or you can use the multiline string. + +**Example 1:** The use of ‘#’. + +```python +#It will execute a block of code if a specified condition is true. +#If the condition is false then it will execute another block of code. +p = 7 +if (p > 5): + print("p is greater than 5.") +else: + print("p is not greater than 5.") +``` + + +Output: + +```markup +p is greater than 5. +``` + + +**Example 2:** The use of multiline string. + +```python +"""This is an if-else statement. +It will execute a block of code if a specified condition is true. +If the condition is false then it will execute another block of code.""" +p = 7 +if (p > 5): + print("p is greater than 5.") +else: + print("p is not greater than 5.") +``` + + +### Output + +```markup +p is greater than 5. +``` + +# Escape Sequence Characters + +To insert characters that cannot be directly used in a string, we use an escape sequence character. + +An escape sequence character is a backslash `\` followed by the character you want to insert. + +An example of a character that cannot be directly used in a string is a double quote inside a string that is surrounded by double quotes: + +```python +print("This doesnt "execute") +print("This will \" execute") +``` + +# More on Print statement +The syntax of a print statement looks something like this: + +```python +print(object(s), sep=separator, end=end, file=file, flush=flush) +``` + +## Other Parameters of Print Statement +1. object(s): Any object, and as many as you like. Will be converted to string before printed +2. sep='separator': Specify how to separate the objects, if there is more than one. Default is ' ' +3. end='end': Specify what to print at the end. Default is '\n' (line feed) +4. file: An object with a write method. Default is sys.stdout + +Parameters 2 to 4 are optional + +## [Next Lesson>>](https://replit.com/@codewithharry/06-Day6-Variables-and-Data-Types) \ No newline at end of file diff --git a/100-days-of-code-youtube/05-Day5-Comments-and-Print/.tutorial/image.png b/100-days-of-code-youtube/05-Day5-Comments-and-Print/.tutorial/image.png new file mode 100644 index 00000000..2b14791f Binary files /dev/null and b/100-days-of-code-youtube/05-Day5-Comments-and-Print/.tutorial/image.png differ diff --git a/100-days-of-code-youtube/05-Day5-Comments-and-Print/.tutorial/video.json b/100-days-of-code-youtube/05-Day5-Comments-and-Print/.tutorial/video.json new file mode 100644 index 00000000..bb400fdc --- /dev/null +++ b/100-days-of-code-youtube/05-Day5-Comments-and-Print/.tutorial/video.json @@ -0,0 +1 @@ +{"embedUrl": "https://www.youtube.com/embed/qxPMmW93eDs"} \ No newline at end of file diff --git a/100-days-of-code-youtube/05-Day5-Comments-and-Print/main.py b/100-days-of-code-youtube/05-Day5-Comments-and-Print/main.py new file mode 100644 index 00000000..e69de29b diff --git a/100-days-of-code-youtube/06-Day6-Variables-and-Data-Types/.tutorial/Tutorial.md b/100-days-of-code-youtube/06-Day6-Variables-and-Data-Types/.tutorial/Tutorial.md new file mode 100644 index 00000000..2267de17 --- /dev/null +++ b/100-days-of-code-youtube/06-Day6-Variables-and-Data-Types/.tutorial/Tutorial.md @@ -0,0 +1,99 @@ + +# Day 6 - Variables and Data Types +## What is a variable? +Variable is like a container that holds data. Very similar to how our containers in kitchen holds sugar, salt etc +Creating a variable is like creating a placeholder in memory and assigning it some value. In Python its as easy as writing: +```python +a = 1 +b = True +c = "Harry" +d = None +``` + +These are four variables of different data types. + +## What is a Data Type? +Data type specifies the type of value a variable holds. This is required in programming to do various operations without causing an error. \ +In python, we can print the type of any operator using type function: +```python +a = 1 +print(type(a)) +b = "1" +print(type(b)) +``` +By default, python provides the following built-in data types: + +## 1. Numeric data: int, float, complex + + + - int: 3, -8, 0 + - float: 7.349, -9.0, 0.0000001 + - complex: 6 + 2i + + ## 2. Text data: str + + +str: "Hello World!!!", "Python Programming" + +## 3. Boolean data: + + +Boolean data consists of values True or False. + +## 4. Sequenced data: list, tuple + + +**list:** A list is an ordered collection of data with elements separated by a comma and enclosed within square brackets. Lists are mutable and can be modified after creation. + +**Example:** + +```python +list1 = [8, 2.3, [-4, 5], ["apple", "banana"]] +print(list1) +``` + + +Output: + +```markup +[8, 2.3, [-4, 5], ['apple', 'banana']] +``` + + +**Tuple:** A tuple is an ordered collection of data with elements separated by a comma and enclosed within parentheses. Tuples are immutable and can not be modified after creation. + +**Example:** + +```python +tuple1 = (("parrot", "sparrow"), ("Lion", "Tiger")) +print(tuple1) +``` + + +Output: + +```python +(('parrot', 'sparrow'), ('Lion', 'Tiger')) +``` + + +## 5. Mapped data: dict + + +**dict:** A dictionary is an unordered collection of data containing a key:value pair. The key:value pairs are enclosed within curly brackets. + +**Example:** + +```python +dict1 = {"name":"Sakshi", "age":20, "canVote":True} +print(dict1) +``` + + +Output: + +```python +{'name': 'Sakshi', 'age': 20, 'canVote': True} +``` + +## [Next Lesson>>](https://replit.com/@codewithharry/07-Day7-Exercise-1-Create-a-Calculator) \ No newline at end of file diff --git a/100-days-of-code-youtube/06-Day6-Variables-and-Data-Types/.tutorial/image.png b/100-days-of-code-youtube/06-Day6-Variables-and-Data-Types/.tutorial/image.png new file mode 100644 index 00000000..0d0d7261 Binary files /dev/null and b/100-days-of-code-youtube/06-Day6-Variables-and-Data-Types/.tutorial/image.png differ diff --git a/100-days-of-code-youtube/06-Day6-Variables-and-Data-Types/.tutorial/video.json b/100-days-of-code-youtube/06-Day6-Variables-and-Data-Types/.tutorial/video.json new file mode 100644 index 00000000..ac035977 --- /dev/null +++ b/100-days-of-code-youtube/06-Day6-Variables-and-Data-Types/.tutorial/video.json @@ -0,0 +1 @@ +{"embedUrl": "https://www.youtube.com/embed/ORCuz7s5cCY"} \ No newline at end of file diff --git a/100-days-of-code-youtube/06-Day6-Variables-and-Data-Types/main.py b/100-days-of-code-youtube/06-Day6-Variables-and-Data-Types/main.py new file mode 100644 index 00000000..8928598e --- /dev/null +++ b/100-days-of-code-youtube/06-Day6-Variables-and-Data-Types/main.py @@ -0,0 +1,21 @@ +a = complex(8, 2) +b = True +c = "Harry" +d = None +print(a) +print(b) +a1 = 9 +print(a + a1) +print("The type of a is ", type(a)) +print("The type of b is ", type(b)) +print("The type of c is ", type(c)) + + +list1 = [8, 2.3, [-4, 5], ["apple", "banana"]] +print(list1) + +tuple1 = (("parrot", "sparrow"), ("Lion", "Tiger")) +print(tuple1) + +dict1 = {"name":"Sakshi", "age":20, "canVote":True} +print(dict1) \ No newline at end of file diff --git a/100-days-of-code-youtube/07-Day7-Exercise-1-Create-a-Calculator/.tutorial/01_Operators.md b/100-days-of-code-youtube/07-Day7-Exercise-1-Create-a-Calculator/.tutorial/01_Operators.md new file mode 100644 index 00000000..68c9ec74 --- /dev/null +++ b/100-days-of-code-youtube/07-Day7-Exercise-1-Create-a-Calculator/.tutorial/01_Operators.md @@ -0,0 +1,34 @@ +# Operators +Python has different types of operators for different operations. To create a calculator we require arithmetic operators. +# Arithmetic operators + + +| Operator |Operator Name |Example | +|----------------|-------------------------------|-----------------------------| +|+|`Addition` |``` 15+7 ``` | +|-|`Subtraction` |``` 15-7 ``` | +|*|`Multiplication` |``` 5*7 ``` | +|**|`Exponential` |``` 5**3 ``` | +|/|`Division` |``` 5/3 ``` | +|%|`Modulus` |``` 15%7 ``` | +|//|`Floor Division` |``` 15//7 ``` | + +# Exercise +```python +n = 15 +m = 7 +ans1 = n+m +print("Addition of",n,"and",m,"is", ans1) +ans2 = n-m +print("Subtraction of",n,"and",m,"is", ans2) +ans3 = n*m +print("Multiplication of",n,"and",m,"is", ans3) +ans4 = n/m +print("Division of",n,"and",m,"is", ans4) +ans5 = n%m +print("Modulus of",n,"and",m,"is", ans5) +ans6 = n//m +print("Floor Division of",n,"and",m,"is", ans6) +``` +# Explaination +Here 'n' and 'm' are two variables in which the integer value is being stored. Variables 'ans1' , 'ans2' ,'ans3', 'ans4','ans5' and 'ans6' contains the outputs corresponding to addition, subtraction,multiplication, division, modulus and floor division respectively. \ No newline at end of file diff --git a/100-days-of-code-youtube/07-Day7-Exercise-1-Create-a-Calculator/.tutorial/02_Exercise.md b/100-days-of-code-youtube/07-Day7-Exercise-1-Create-a-Calculator/.tutorial/02_Exercise.md new file mode 100644 index 00000000..83767f1f --- /dev/null +++ b/100-days-of-code-youtube/07-Day7-Exercise-1-Create-a-Calculator/.tutorial/02_Exercise.md @@ -0,0 +1,4 @@ +## Exercise 1 - Create a Calculator +Create a calculator capable of performing addition, subtraction, multiplication and division operations on two numbers. Your program should format the output in a readable manner! + +## [Next Lesson>>](https://replit.com/@codewithharry/08-Day8-Exercise-1-Create-a-Calculator-Solution#main.py) \ No newline at end of file diff --git a/100-days-of-code-youtube/07-Day7-Exercise-1-Create-a-Calculator/.tutorial/image.png b/100-days-of-code-youtube/07-Day7-Exercise-1-Create-a-Calculator/.tutorial/image.png new file mode 100644 index 00000000..c514ef0f Binary files /dev/null and b/100-days-of-code-youtube/07-Day7-Exercise-1-Create-a-Calculator/.tutorial/image.png differ diff --git a/100-days-of-code-youtube/07-Day7-Exercise-1-Create-a-Calculator/.tutorial/video.json b/100-days-of-code-youtube/07-Day7-Exercise-1-Create-a-Calculator/.tutorial/video.json new file mode 100644 index 00000000..87d2f945 --- /dev/null +++ b/100-days-of-code-youtube/07-Day7-Exercise-1-Create-a-Calculator/.tutorial/video.json @@ -0,0 +1 @@ +{"embedUrl": "https://www.youtube.com/embed/FLVqcxnJP_E"} \ No newline at end of file diff --git a/100-days-of-code-youtube/07-Day7-Exercise-1-Create-a-Calculator/main.py b/100-days-of-code-youtube/07-Day7-Exercise-1-Create-a-Calculator/main.py new file mode 100644 index 00000000..bd594313 --- /dev/null +++ b/100-days-of-code-youtube/07-Day7-Exercise-1-Create-a-Calculator/main.py @@ -0,0 +1,7 @@ +print(5+6) +print(15-6) +print(15*6) +print(15/6) +print(15//6) +print(5%3) +print(2**4) \ No newline at end of file diff --git a/100-days-of-code-youtube/08-Day8-Exercise-1-Create-a-Calculator-Solution/.tutorial/Tutorial.md b/100-days-of-code-youtube/08-Day8-Exercise-1-Create-a-Calculator-Solution/.tutorial/Tutorial.md new file mode 100644 index 00000000..a606a2bc --- /dev/null +++ b/100-days-of-code-youtube/08-Day8-Exercise-1-Create-a-Calculator-Solution/.tutorial/Tutorial.md @@ -0,0 +1,4 @@ +## Exercise 1 - Create a Calculator Solution +Create a calculator capable of performing addition, subtraction, multiplication and division operations on two numbers. Your program should format the output in a readable manner! + +## [Next Lesson>>](https://replit.com/@codewithharry/09-Day9-Typecasting-in-Python) \ No newline at end of file diff --git a/100-days-of-code-youtube/08-Day8-Exercise-1-Create-a-Calculator-Solution/.tutorial/video.json b/100-days-of-code-youtube/08-Day8-Exercise-1-Create-a-Calculator-Solution/.tutorial/video.json new file mode 100644 index 00000000..d7d50903 --- /dev/null +++ b/100-days-of-code-youtube/08-Day8-Exercise-1-Create-a-Calculator-Solution/.tutorial/video.json @@ -0,0 +1,2 @@ +{"embedUrl": "https://www.youtube.com/embed/dohaSBCKCr0" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/08-Day8-Exercise-1-Create-a-Calculator-Solution/main.py b/100-days-of-code-youtube/08-Day8-Exercise-1-Create-a-Calculator-Solution/main.py new file mode 100644 index 00000000..f8c57257 --- /dev/null +++ b/100-days-of-code-youtube/08-Day8-Exercise-1-Create-a-Calculator-Solution/main.py @@ -0,0 +1,7 @@ +a = 50 +b = 3 + +print("The value of", a, "+", 3, "is: ", a + b) +print("The value of", a, "-", 3, "is: ", a - b) +print("The value of", a, "*", 3, "is: ", a * b) +print("The value of", a, "/", 3, "is: ", a / b) diff --git a/100-days-of-code-youtube/09-Day9-Typecasting-in-Python/.tutorial/Tutorial.md b/100-days-of-code-youtube/09-Day9-Typecasting-in-Python/.tutorial/Tutorial.md new file mode 100644 index 00000000..4a590fd0 --- /dev/null +++ b/100-days-of-code-youtube/09-Day9-Typecasting-in-Python/.tutorial/Tutorial.md @@ -0,0 +1,55 @@ +# Typecasting in python +The conversion of one data type into the other data type is known as type casting in python or type conversion in python. + +Python supports a wide variety of functions or methods like: int(), float(), str(), ord(), hex(), oct(), tuple(), set(), list(), dict(), etc. for the type casting in python. + + +## Two Types of Typecasting: + +1. Explicit Conversion (Explicit type casting in python) +2. Implicit Conversion (Implicit type casting in python). +### Explicit typecasting: +The conversion of one data type into another data type, done via developer or programmer's intervention or manually as per the requirement, is known as explicit type conversion. + +It can be achieved with the help of Python’s built-in type conversion functions such as int(), float(), hex(), oct(), str(), etc . +### Example of explicit typecasting: +```python +string = "15" +number = 7 +string_number = int(string) #throws an error if the string is not a valid integer +sum= number + string_number +print("The Sum of both the numbers is: ", sum) +``` +### Output: +``` +The Sum of both the numbers is 22 +``` +### Implicit type casting: +Data types in Python do not have the same level i.e. ordering of data types is not the same in Python. Some of the data types have higher-order, and some have lower order. While performing any operations on variables with different data types in Python, one of the variable's data types will be changed to the higher data type. According to the level, one data type is converted into other by the Python interpreter itself (automatically). This is called, implicit typecasting in python. + +Python converts a smaller data type to a higher data type to prevent data loss. +### Example of implicit type casting: +```python +# Python automatically converts +# a to int +a = 7 +print(type(a)) + +# Python automatically converts b to float +b = 3.0 +print(type(b)) + +# Python automatically converts c to float as it is a float addition +c = a + b +print(c) +print(type(c)) +``` +### Ouput: +``` + + +10.0 + +``` + +## [Next Lesson>>](https://replit.com/@codewithharry/10-Day10-Taking-User-Input#main.py`) \ No newline at end of file diff --git a/100-days-of-code-youtube/09-Day9-Typecasting-in-Python/.tutorial/video.json b/100-days-of-code-youtube/09-Day9-Typecasting-in-Python/.tutorial/video.json new file mode 100644 index 00000000..4853d6fb --- /dev/null +++ b/100-days-of-code-youtube/09-Day9-Typecasting-in-Python/.tutorial/video.json @@ -0,0 +1,2 @@ +{"embedUrl": "https://www.youtube.com/embed/Pu5bqySSSS0" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/09-Day9-Typecasting-in-Python/main.py b/100-days-of-code-youtube/09-Day9-Typecasting-in-Python/main.py new file mode 100644 index 00000000..3f78c146 --- /dev/null +++ b/100-days-of-code-youtube/09-Day9-Typecasting-in-Python/main.py @@ -0,0 +1,11 @@ +a = "1" +# a = 1 +b = "2" +# b = 2 +print(int(a) + int(b)) + +# Implicit TypeCasting +c = 1.9 +d = 8 + +print(c + d) \ No newline at end of file diff --git a/100-days-of-code-youtube/10-Day10-Taking-User-Input/.tutorial/Tutorial.md b/100-days-of-code-youtube/10-Day10-Taking-User-Input/.tutorial/Tutorial.md new file mode 100644 index 00000000..9eda1ec2 --- /dev/null +++ b/100-days-of-code-youtube/10-Day10-Taking-User-Input/.tutorial/Tutorial.md @@ -0,0 +1,25 @@ +# Day 10 - Taking User Input in python +In python, we can take user input directly by using input() function.This input function gives a return value as string/character hence we have to pass that into a variable +## Syntax: +```python +variable=input() +``` +But input function returns the value as string. Hence we have to typecast them whenever required to another datatype. +## Example: +```python +variable=int(input()) +variable=float(input()) +``` + +We can also display a text using input function. This will make input() function take user input and display a message as well +## Example: +```python +a=input("Enter the name: ") +print(a) +``` +## Output: +``` +Enter the name: Harry +Harry +``` +## [Next Lesson>>](https://replit.com/@codewithharry/11-Day11-Strings#main.py) \ No newline at end of file diff --git a/100-days-of-code-youtube/10-Day10-Taking-User-Input/.tutorial/video.json b/100-days-of-code-youtube/10-Day10-Taking-User-Input/.tutorial/video.json new file mode 100644 index 00000000..5f9f25e4 --- /dev/null +++ b/100-days-of-code-youtube/10-Day10-Taking-User-Input/.tutorial/video.json @@ -0,0 +1,2 @@ +{"embedUrl": "https://www.youtube.com/embed/WvG-R-xXouA" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/10-Day10-Taking-User-Input/main.py b/100-days-of-code-youtube/10-Day10-Taking-User-Input/main.py new file mode 100644 index 00000000..30247ccc --- /dev/null +++ b/100-days-of-code-youtube/10-Day10-Taking-User-Input/main.py @@ -0,0 +1,8 @@ +a = input("Enter your name: ") +print("My name is", a) + +x = input("Enter first number: ") +y = input("Enter second number: ") +print(x + y) + +print(int(x) + int(y)) \ No newline at end of file diff --git a/100-days-of-code-youtube/100-Day-100-Conclusion-Where-to-go-from-here/.tutorial/01-conclusion.md b/100-days-of-code-youtube/100-Day-100-Conclusion-Where-to-go-from-here/.tutorial/01-conclusion.md new file mode 100644 index 00000000..782ec366 --- /dev/null +++ b/100-days-of-code-youtube/100-Day-100-Conclusion-Where-to-go-from-here/.tutorial/01-conclusion.md @@ -0,0 +1,20 @@ +# Conclusion +Congratulations on completing the 100 days of Python code challenge! You have likely gained a solid foundation in the language and developed a range of skills, from basic syntax to more advanced concepts such as object-oriented programming. However, this is just the beginning of your journey with Python. There are many more topics to explore, including machine learning, web development, game development, and more. + +## Where to go from here: +To continue your learning journey, consider exploring the following resources: + +- Python books: There are many excellent books on Python that can help you deepen your knowledge and skills. Some popular options include "Python Crash Course" by Eric Matthes, "Automate the Boring Stuff with Python" by Al Sweigart, and "Fluent Python" by Luciano Ramalho. I would also like to recommend "Hands on Machine Learning book by Aurélien Géron" + +- YouTube Projects: There are many YouTube projects available which can be watched after you have some basic understanding of python + +- Python communities: There are many online communities where you can connect with other Python learners and experts, ask questions, and share your knowledge. Some popular options include the Python subreddit, the Python Discord server, and the Python community on Stack Overflow. + +- GitHub repositories: GitHub is a great resource for finding Python projects, libraries, and code snippets. Some useful repositories to check out include "awesome-python" (a curated list of Python resources), "scikit-learn" (a machine learning library), and "django" (a web development framework). + +## Link to some resources +- Tkinter - You can learn Tkinter which is used to create GUIs from [here](https://www.cs.mcgill.ca/~hv/classes/MS/TkinterPres/#Overview) : +- Machine Learning - I loved [this](https://www.youtube.com/watch?v=cKxRvEZd3Mw&list=PLOU2XLYxmsIIuiBfYad6rFYQU_jL2ryal) playlist from Google Developers +- Django - For Django, try the [tutorial](https://docs.djangoproject.com/en/4.1/intro/tutorial01/) from the official documentation. Trust me its really good + +Overall, the key to mastering Python (or any programming language) is to keep practicing and experimenting. Set yourself challenges, work on personal projects, and stay curious. Good luck! diff --git a/100-days-of-code-youtube/100-Day-100-Conclusion-Where-to-go-from-here/.tutorial/video.json b/100-days-of-code-youtube/100-Day-100-Conclusion-Where-to-go-from-here/.tutorial/video.json new file mode 100644 index 00000000..545b91eb --- /dev/null +++ b/100-days-of-code-youtube/100-Day-100-Conclusion-Where-to-go-from-here/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/5Pz8WGiMJ_c" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/100-Day-100-Conclusion-Where-to-go-from-here/main.py b/100-days-of-code-youtube/100-Day-100-Conclusion-Where-to-go-from-here/main.py new file mode 100644 index 00000000..e69de29b diff --git a/100-days-of-code-youtube/11-Day11-Strings/.tutorial/01-string_methods.md b/100-days-of-code-youtube/11-Day11-Strings/.tutorial/01-string_methods.md new file mode 100644 index 00000000..0fd0ebcb --- /dev/null +++ b/100-days-of-code-youtube/11-Day11-Strings/.tutorial/01-string_methods.md @@ -0,0 +1,51 @@ +# What are strings? +In python, anything that you enclose between single or double quotation marks is considered a string. A string is essentially a sequence or array of textual data. Strings are used when working with Unicode characters. +## Example +```python +name = "Harry" +print("Hello, " + name) +``` +## Output +Hello, Harry + +Note: It does not matter whether you enclose your strings in single or double quotes, the output remains the same. + +Sometimes, the user might need to put quotation marks in between the strings. Example, consider the sentence: He said, “I want to eat an apple”. + +How will you print this statement in python?: +```He said, "I want to eat an apple".``` +We will definitely use single quotes for our convenience +```python +print('He said, "I want to eat an apple".') +``` + +## Multiline Strings +If our string has multiple lines, we can create them like this: +```python +a = """Lorem ipsum dolor sit amet, +consectetur adipiscing elit, +sed do eiusmod tempor incididunt +ut labore et dolore magna aliqua.""" +print(a) +``` + +## Accessing Characters of a String +In Python, string is like an array of characters. We can access parts of string by using its index which starts from 0.\ +Square brackets can be used to access elements of the string. + +```python +print(name[0]) +print(name[1]) + +``` + +## Looping through the string +We can loop through strings using a for loop like this: +```python +for character in name: + print(character) +``` + +Above code prints all the characters in the string name one by one! + +## [Next Lesson>>](https://replit.com/@codewithharry/12-Day12-Strings-Slicing#main.py) \ No newline at end of file diff --git a/100-days-of-code-youtube/11-Day11-Strings/.tutorial/video.json b/100-days-of-code-youtube/11-Day11-Strings/.tutorial/video.json new file mode 100644 index 00000000..81c4fed5 --- /dev/null +++ b/100-days-of-code-youtube/11-Day11-Strings/.tutorial/video.json @@ -0,0 +1,2 @@ +{"embedUrl": "https://www.youtube.com/embed/kMNFQYArrLg" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/11-Day11-Strings/main.py b/100-days-of-code-youtube/11-Day11-Strings/main.py new file mode 100644 index 00000000..9585eda1 --- /dev/null +++ b/100-days-of-code-youtube/11-Day11-Strings/main.py @@ -0,0 +1,19 @@ +name = "Harry" +friend = "Rohan" +anotherFriend = 'Lovish' +apple = '''He said, +Hi Harry +hey I am good +"I want to eat an apple''' + +print("Hello, " + name) +# print(apple) +print(name[0]) +print(name[1]) +print(name[2]) +print(name[3]) +print(name[4]) +# print(name[5]) # Throws an error +print("Lets use a for loop\n") +for character in apple: + print(character) \ No newline at end of file diff --git a/100-days-of-code-youtube/12-Day12-Strings-Slicing/.tutorial/Tutorial.md b/100-days-of-code-youtube/12-Day12-Strings-Slicing/.tutorial/Tutorial.md new file mode 100644 index 00000000..80c21ef2 --- /dev/null +++ b/100-days-of-code-youtube/12-Day12-Strings-Slicing/.tutorial/Tutorial.md @@ -0,0 +1,62 @@ +# String Slicing & Operations on String +# Length of a String +We can find the length of a string using len() function. + +## Example: +```python +fruit = "Mango" +len1 = len(fruit) +print("Mango is a", len1, "letter word.") +``` +## Output: +Mango is a 5 letter word. +# String as an array +A string is essentially a sequence of characters also called an array. Thus we can access the elements of this array. + +## Example: +```python +pie = "ApplePie" +print(pie[:5]) +print(pie[6]) #returns character at specified index +``` +## Output: +``` +Apple +i +``` + + +Note: This method of specifying the start and end index to specify a part of a string is called slicing. +## Slicing Example: +```python +pie = "ApplePie" +print(pie[:5]) #Slicing from Start +print(pie[5:]) #Slicing till End +print(pie[2:6]) #Slicing in between +print(pie[-8:]) #Slicing using negative index +``` +## Output: +``` +Apple +Pie +pleP +ApplePie +``` +# Loop through a String: +Strings are arrays and arrays are iterable. Thus we can loop through strings. +## Example: +```python +alphabets = "ABCDE" +for i in alphabets: + print(i) + ``` +## Output: +``` +A +B +C +D +E +``` + +## [Next Lesson>>](https://replit.com/@codewithharry/13-Day13-String-Methods) \ No newline at end of file diff --git a/100-days-of-code-youtube/12-Day12-Strings-Slicing/.tutorial/video.json b/100-days-of-code-youtube/12-Day12-Strings-Slicing/.tutorial/video.json new file mode 100644 index 00000000..7465f6d0 --- /dev/null +++ b/100-days-of-code-youtube/12-Day12-Strings-Slicing/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/8jW7lpT8HW8" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/12-Day12-Strings-Slicing/main.py b/100-days-of-code-youtube/12-Day12-Strings-Slicing/main.py new file mode 100644 index 00000000..14d72c10 --- /dev/null +++ b/100-days-of-code-youtube/12-Day12-Strings-Slicing/main.py @@ -0,0 +1,15 @@ +fruit = "Mango" +mangoLen = len(fruit) +print(mangoLen) +# print(fruit[0:4]) # including 0 but not 4 +# print(fruit[1:4]) # including 1 but not 4 +# print(fruit[:5]) +# print(fruit[0:-3]) +# print(fruit[:len(fruit)-3]) +print(fruit[-1:len(fruit) - 3]) +print(fruit[-3:-1]) + +# Quick Quiz: +# nm = "Harry" +# print(nm[-4:-2]) +# @codewithharry diff --git a/100-days-of-code-youtube/13-Day13-String-Methods/.tutorial/Tutorial.md b/100-days-of-code-youtube/13-Day13-String-Methods/.tutorial/Tutorial.md new file mode 100644 index 00000000..492e0304 --- /dev/null +++ b/100-days-of-code-youtube/13-Day13-String-Methods/.tutorial/Tutorial.md @@ -0,0 +1,338 @@ +# String methods +Python provides a set of built-in methods that we can use to alter and modify the strings. + + +## upper() : +The upper() method converts a string to upper case. + +### Example: +```python +str1 = "AbcDEfghIJ" +print(str1.upper()) +``` +### Output: +``` +ABCDEFGHIJ + ``` + +## lower() +The lower() method converts a string to lower case. +### Example: +```python +str1 = "AbcDEfghIJ" +print(str1.lower()) +``` +### Output: +``` +abcdefghij + ``` + +## strip() : +The strip() method removes any white spaces before and after the string. +### Example: +```python +str2 = " Silver Spoon " +print(str2.strip) +``` +### Output: +``` +Silver Spoon +``` + +## rstrip() : +the rstrip() removes any trailing characters. +Example: +```python +str3 = "Hello !!!" +print(str3.rstrip("!")) +``` +### Output: +``` +Hello + ``` + +## replace() : +The replace() method replaces all occurences of a string with another string. +Example: +```python +str2 = "Silver Spoon" +print(str2.replace("Sp", "M")) +``` +### Output: +``` +Silver Moon + ``` + +## split() : +The split() method splits the given string at the specified instance and returns the separated strings as list items. +### Example: +```python +str2 = "Silver Spoon" +print(str2.split(" ")) #Splits the string at the whitespace " ". +``` +### Output: +``` +['Silver', 'Spoon'] +There are various other string methods that we can use to modify our strings. +``` + + +## capitalize() : +The capitalize() method turns only the first character of the string to uppercase and the rest other characters of the string are turned to lowercase. The string has no effect if the first character is already uppercase. +### Example: +```python +str1 = "hello" +capStr1 = str1.capitalize() +print(capStr1) +str2 = "hello WorlD" +capStr2 = str2.capitalize() +print(capStr2) +``` +### Output: +``` +Hello +Hello world +``` + +## center() : +The center() method aligns the string to the center as per the parameters given by the user. +### Example: +```python +str1 = "Welcome to the Console!!!" +print(str1.center(50)) +``` +### Output: +``` + Welcome to the Console!!! + ``` + +We can also provide padding character. It will fill the rest of the fill characters provided by the user. + +### Example: +```python +str1 = "Welcome to the Console!!!" +print(str1.center(50, ".")) +``` +### Output: +``` +............Welcome to the Console!!!............. + ``` + +## count() : +The count() method returns the number of times the given value has occurred within the given string. +### Example: +```python +str2 = "Abracadabra" +countStr = str2.count("a") +print(countStr) +``` +### Output: +``` +4 +``` + + +## endswith() : +The endswith() method checks if the string ends with a given value. If yes then return True, else return False. +### Example : +```python +str1 = "Welcome to the Console !!!" +print(str1.endswith("!!!")) +``` +### Output: +``` +True +``` +We can even also check for a value in-between the string by providing start and end index positions. + +### Example: +```python +str1 = "Welcome to the Console !!!" +print(str1.endswith("to", 4, 10)) +``` +### Output: +``` +True + ``` + +## find() : +The find() method searches for the first occurrence of the given value and returns the index where it is present. If given value is absent from the string then return -1. +### Example: +```python +str1 = "He's name is Dan. He is an honest man." +print(str1.find("is")) +``` +### Output: +``` +10 + ``` + +As we can see, this method is somewhat similar to the index() method. The major difference being that index() raises an exception if value is absent whereas find() does not. + +### Example: +```python +str1 = "He's name is Dan. He is an honest man." +print(str1.find("Daniel")) +``` +### Output: +``` +-1 + ``` + +## index() : +The index() method searches for the first occurrence of the given value and returns the index where it is present. If given value is absent from the string then raise an exception. +### Example: +```python +str1 = "He's name is Dan. Dan is an honest man." +print(str1.index("Dan")) +``` +### Output: +``` +13 + ``` + +As we can see, this method is somewhat similar to the find() method. The major difference being that index() raises an exception if value is absent whereas find() does not. + +### Example: +```python +str1 = "He's name is Dan. Dan is an honest man." +print(str1.index("Daniel")) +``` +### Output: +``` +ValueError: substring not found + ``` + +## isalnum() : +The isalnum() method returns True only if the entire string only consists of A-Z, a-z, 0-9. If any other characters or punctuations are present, then it returns False. +### Example 1: +```python +str1 = "WelcomeToTheConsole" +print(str1.isalnum()) +``` +Output: +``` +True + ``` +## isalpha() : +The isalnum() method returns True only if the entire string only consists of A-Z, a-z. If any other characters or punctuations or numbers(0-9) are present, then it returns False. +### Example : +```python +str1 = "Welcome" +print(str1.isalpha()) +``` +### Output: +``` +True + ``` + +## islower() : +The islower() method returns True if all the characters in the string are lower case, else it returns False. +### Example: +```python +str1 = "hello world" +print(str1.islower()) +``` +### Output: +``` +True + ``` + +## isprintable() : +The isprintable() method returns True if all the values within the given string are printable, if not, then return False. +### Example : +```python +str1 = "We wish you a Merry Christmas" +print(str1.isprintable()) +``` +### Output: +``` +True + ``` +## isspace() : +The isspace() method returns True only and only if the string contains white spaces, else returns False. +### Example: +```python +str1 = " " #using Spacebar +print(str1.isspace()) +str2 = " " #using Tab +print(str2.isspace()) +``` +### Output: +``` +True +True + ``` + +## istitle() : +The istitile() returns True only if the first letter of each word of the string is capitalized, else it returns False. +### Example: +```python +str1 = "World Health Organization" +print(str1.istitle()) +``` +### Output: +``` +True + ``` + +### Example: +```python +str2 = "To kill a Mocking bird" +print(str2.istitle()) +``` +### Output: +``` +False + ``` + +## isupper() : +The isupper() method returns True if all the characters in the string are upper case, else it returns False. +### Example : +```python +str1 = "WORLD HEALTH ORGANIZATION" +print(str1.isupper()) +``` +### Output: +``` +True + ``` + + +## startswith() : +The endswith() method checks if the string starts with a given value. If yes then return True, else return False. +### Example : +```python +str1 = "Python is a Interpreted Language" +print(str1.startswith("Python")) +``` +### Output: +``` +True + ``` + +## swapcase() : +The swapcase() method changes the character casing of the string. Upper case are converted to lower case and lower case to upper case. +### Example: +```python +str1 = "Python is a Interpreted Language" +print(str1.swapcase()) +``` +### Output: +``` +pYTHON IS A iNTERPRETED lANGUAGE + ``` + +### title() : +The title() method capitalizes each letter of the word within the string. +### Example: +```python +str1 = "He's name is Dan. Dan is an honest man." +print(str1.title()) +``` +### Output: +``` +He'S Name Is Dan. Dan Is An Honest Man. +``` + +## [Next Lesson>>](https://replit.com/@codewithharry/14-Day14-If-Else-Conditionals#04%20nested.py) \ No newline at end of file diff --git a/100-days-of-code-youtube/13-Day13-String-Methods/.tutorial/video.json b/100-days-of-code-youtube/13-Day13-String-Methods/.tutorial/video.json new file mode 100644 index 00000000..64d2ba97 --- /dev/null +++ b/100-days-of-code-youtube/13-Day13-String-Methods/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/0INvoK_T0cE" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/13-Day13-String-Methods/main.py b/100-days-of-code-youtube/13-Day13-String-Methods/main.py new file mode 100644 index 00000000..ffd62446 --- /dev/null +++ b/100-days-of-code-youtube/13-Day13-String-Methods/main.py @@ -0,0 +1,56 @@ +# Strings are immutable +a = "!!!Harry!! !!!!!!!!! Harry" +print(len(a)) +print(a) +print(a.upper()) +print(a.lower()) +print(a.rstrip("!")) +print(a.replace("Harry", "John")) +print(a.split(" ")) +blogHeading = "introduction tO jS" +print(blogHeading.capitalize()) + +str1 = "Welcome to the Console!!!" +print(len(str1)) +print(len(str1.center(50))) +print(a.count("Harry")) + +str1 = "Welcome to the Console !!!" +print(str1.endswith("!!!")) + +str1 = "Welcome to the Console !!!" +print(str1.endswith("to", 4, 10)) + +str1 = "He's name is Dan. He is an honest man." +print(str1.find("ishh")) +# print(str1.index("ishh")) + +str1 = "WelcomeToTheConsole" +print(str1.isalnum()) +str1 = "Welcome" +print(str1.isalpha()) + +str1 = "hello world" +print(str1.islower()) + +str1 = "We wish you a Merry Christmas\n" +print(str1.isprintable()) +str1 = " " #using Spacebar +print(str1.isspace()) +str2 = " " #using Tab +print(str2.isspace()) + +str1 = "World Health Organization" +print(str1.istitle()) + +str2 = "To kill a Mocking bird" +print(str2.istitle()) + +str1 = "Python is a Interpreted Language" +print(str1.startswith("Python")) + +str1 = "Python is a Interpreted Language" +print(str1.swapcase()) + +str1 = "His name is Dan. Dan is an honest man." +print(str1.title()) \ No newline at end of file diff --git a/100-days-of-code-youtube/14-Day14-If-Else-Conditionals/.tutorial/01-if_else_statements.md b/100-days-of-code-youtube/14-Day14-If-Else-Conditionals/.tutorial/01-if_else_statements.md new file mode 100644 index 00000000..52c1f18c --- /dev/null +++ b/100-days-of-code-youtube/14-Day14-If-Else-Conditionals/.tutorial/01-if_else_statements.md @@ -0,0 +1,27 @@ +# if-else Statements +Sometimes the programmer needs to check the evaluation of certain expression(s), whether the expression(s) evaluate to True or False. If the expression evaluates to False, then the program execution follows a different path than it would have if the expression had evaluated to True. + +Based on this, the conditional statements are further classified into following types: +- if +- if-else +- if-else-elif +- nested if-else-elif. +## An if……else statement evaluates like this: + +### if the expression evaluates True: +Execute the block of code inside if statement. After execution return to the code out of the if……else block.\ +### if the expression evaluates False: +Execute the block of code inside else statement. After execution return to the code out of the if……else block. + ## Example: +```python +applePrice = 210 +budget = 200 +if (applePrice <= budget): + print("Alexa, add 1 kg Apples to the cart.") +else: + print("Alexa, do not add Apples to the cart.") +``` +## Output: +``` +Alexa, do not add Apples to the cart. +``` \ No newline at end of file diff --git a/100-days-of-code-youtube/14-Day14-If-Else-Conditionals/.tutorial/02-elif_statements.md b/100-days-of-code-youtube/14-Day14-If-Else-Conditionals/.tutorial/02-elif_statements.md new file mode 100644 index 00000000..e348142e --- /dev/null +++ b/100-days-of-code-youtube/14-Day14-If-Else-Conditionals/.tutorial/02-elif_statements.md @@ -0,0 +1,29 @@ +# elif Statements +Sometimes, the programmer may want to evaluate more than one condition, this can be done using an elif statement. +### Working of an elif statement +Execute the block of code inside if statement if the initial expression evaluates to True. After execution return to the code out of the if block. + +Execute the block of code inside the first elif statement if the expression inside it evaluates True. After execution return to the code out of the if block. + +Execute the block of code inside the second elif statement if the expression inside it evaluates True. After execution return to the code out of the if block.\ +.\ +.\ +.\ +Execute the block of code inside the nth elif statement if the expression inside it evaluates True. After execution return to the code out of the if block. + +Execute the block of code inside else statement if none of the expression evaluates to True. After execution return to the code out of the if block. + +## Example: +```python +num = 0 +if (num < 0): + print("Number is negative.") +elif (num == 0): + print("Number is Zero.") +else: + print("Number is positive.") +``` +## Output: +``` +Number is Zero. +``` \ No newline at end of file diff --git a/100-days-of-code-youtube/14-Day14-If-Else-Conditionals/.tutorial/03-nested_if_statements.md b/100-days-of-code-youtube/14-Day14-If-Else-Conditionals/.tutorial/03-nested_if_statements.md new file mode 100644 index 00000000..6d0b369f --- /dev/null +++ b/100-days-of-code-youtube/14-Day14-If-Else-Conditionals/.tutorial/03-nested_if_statements.md @@ -0,0 +1,22 @@ +# Nested if statements +We can use if, if-else, elif statements inside other if statements as well. \ +Example: +```python +num = 18 +if (num < 0): + print("Number is negative.") +elif (num > 0): + if (num <= 10): + print("Number is between 1-10") + elif (num > 10 and num <= 20): + print("Number is between 11-20") + else: + print("Number is greater than 20") +else: + print("Number is zero") +``` +Output: +``` +Number is between 11-20 +``` +## [Next Lesson>>](https://replit.com/@codewithharry/15-Day15-Exercise-2-Good-Morning-Sir#.tutorial/Tutorial.md) \ No newline at end of file diff --git a/100-days-of-code-youtube/14-Day14-If-Else-Conditionals/.tutorial/video.json b/100-days-of-code-youtube/14-Day14-If-Else-Conditionals/.tutorial/video.json new file mode 100644 index 00000000..9e399965 --- /dev/null +++ b/100-days-of-code-youtube/14-Day14-If-Else-Conditionals/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/ceiuLR2ysas" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/14-Day14-If-Else-Conditionals/01 myif.py b/100-days-of-code-youtube/14-Day14-If-Else-Conditionals/01 myif.py new file mode 100644 index 00000000..abfcf164 --- /dev/null +++ b/100-days-of-code-youtube/14-Day14-If-Else-Conditionals/01 myif.py @@ -0,0 +1,15 @@ +a = int(input("Enter your age: ")) +print("Your age is:", a) +# Conditional operators +# >, <, >=, <=, ==, != +# print(a>18) +# print(a<=18) +# print(a==18) +# print(a!=18) +if(a>18): + print("You can drive") + print("Yes") +else: + print("You cannot drive") + print("No") + print("Yay!") diff --git a/100-days-of-code-youtube/14-Day14-If-Else-Conditionals/02 if-else.py b/100-days-of-code-youtube/14-Day14-If-Else-Conditionals/02 if-else.py new file mode 100644 index 00000000..e0b189bb --- /dev/null +++ b/100-days-of-code-youtube/14-Day14-If-Else-Conditionals/02 if-else.py @@ -0,0 +1,6 @@ +applePrice = 10 +budget = 200 +if (budget - applePrice > 50): + print("Alexa, add 1 kg Apples to the cart.") +else: + print("Alexa, do not add Apples to the cart.") \ No newline at end of file diff --git a/100-days-of-code-youtube/14-Day14-If-Else-Conditionals/03 elif.py b/100-days-of-code-youtube/14-Day14-If-Else-Conditionals/03 elif.py new file mode 100644 index 00000000..11cfec1c --- /dev/null +++ b/100-days-of-code-youtube/14-Day14-If-Else-Conditionals/03 elif.py @@ -0,0 +1,11 @@ +num = int(input("Enter the value of num: ")) +if (num < 0): + print("Number is negative.") +elif (num == 0): + print("Number is Zero.") +elif (num == 999): + print("Number is Special.") +else: + print("Number is positive.") + +print("I am happy now") diff --git a/100-days-of-code-youtube/14-Day14-If-Else-Conditionals/04 nested.py b/100-days-of-code-youtube/14-Day14-If-Else-Conditionals/04 nested.py new file mode 100644 index 00000000..5d5e764a --- /dev/null +++ b/100-days-of-code-youtube/14-Day14-If-Else-Conditionals/04 nested.py @@ -0,0 +1,12 @@ +num = 18 +if (num < 0): + print("Number is negative.") +elif (num > 0): + if (num <= 10): + print("Number is between 1-10") + elif (num > 10 and num <= 20): + print("Number is between 11-20") + else: + print("Number is greater than 20") +else: + print("Number is zero") \ No newline at end of file diff --git a/100-days-of-code-youtube/15-Day15-Exercise-2-Good-Morning-Sir/.tutorial/Tutorial.md b/100-days-of-code-youtube/15-Day15-Exercise-2-Good-Morning-Sir/.tutorial/Tutorial.md new file mode 100644 index 00000000..35cf1d4d --- /dev/null +++ b/100-days-of-code-youtube/15-Day15-Exercise-2-Good-Morning-Sir/.tutorial/Tutorial.md @@ -0,0 +1,15 @@ +# Excersice 2: Good Morning Sir +Create a python program capable of greeting you with Good Morning, Good Afternoon and Good Evening. Your program should use time module to get the current hour. Here is a sample program and documentation link for you: +```python +import time +timestamp = time.strftime('%H:%M:%S') +print(timestamp) +timestamp = time.strftime('%H') +print(timestamp) +timestamp = time.strftime('%M') +print(timestamp) +timestamp = time.strftime('%S') +print(timestamp) +# https://docs.python.org/3/library/time.html#time.strftime +``` +## [Next Lesson>>](https://replit.com/@codewithharry/16-Day-16-Match-Case) \ No newline at end of file diff --git a/100-days-of-code-youtube/15-Day15-Exercise-2-Good-Morning-Sir/.tutorial/video.json b/100-days-of-code-youtube/15-Day15-Exercise-2-Good-Morning-Sir/.tutorial/video.json new file mode 100644 index 00000000..dee8314f --- /dev/null +++ b/100-days-of-code-youtube/15-Day15-Exercise-2-Good-Morning-Sir/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/d7ng_aV4qdI" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/15-Day15-Exercise-2-Good-Morning-Sir/main.py b/100-days-of-code-youtube/15-Day15-Exercise-2-Good-Morning-Sir/main.py new file mode 100644 index 00000000..40febe78 --- /dev/null +++ b/100-days-of-code-youtube/15-Day15-Exercise-2-Good-Morning-Sir/main.py @@ -0,0 +1,10 @@ +import time +timestamp = time.strftime('%H:%M:%S') +print(timestamp) +timestamp = time.strftime('%H') +print(timestamp) +timestamp = time.strftime('%M') +print(timestamp) +timestamp = time.strftime('%S') +print(timestamp) +# https://docs.python.org/3/library/time.html#time.strftime \ No newline at end of file diff --git a/100-days-of-code-youtube/16-Day-16-Match-Case/.tutorial/Tutorial.md b/100-days-of-code-youtube/16-Day-16-Match-Case/.tutorial/Tutorial.md new file mode 100644 index 00000000..615be657 --- /dev/null +++ b/100-days-of-code-youtube/16-Day-16-Match-Case/.tutorial/Tutorial.md @@ -0,0 +1,44 @@ +# Match Case Statements +To implement switch-case like characteristics very similar to if-else functionality, we use a match case in python. If you are coming from a C, C++ or Java like language, you must have heard of switch-case statements. If this is your first language, dont worry as I will tell you everything you need to know about match case statements in this video! + +A match statement will compare a given variable’s value to different shapes, also referred to as the pattern. The main idea is to keep on comparing the variable with all the present patterns until it fits into one. + +The match case consists of three main entities : + +1. The match keyword +2. One or more case clauses +3. Expression for each case + +The case clause consists of a pattern to be matched to the variable, a condition to be evaluated if the pattern matches, and a set of statements to be executed if the pattern matches. +## Syntax: +```python +match variable_name: + case ‘pattern1’ : //statement1 + case ‘pattern2’ : //statement2 + … + case ‘pattern n’ : //statement n +``` +### Example: +```python +x = 4 +# x is the variable to match +match x: + # if x is 0 + case 0: + print("x is zero") + # case with if-condition + case 4 if x % 2 == 0: + print("x % 2 == 0 and case is 4") + # Empty case with if-condition + case _ if x < 10: + print("x is < 10") + # default case(will only be matched if the above cases were not matched) + # so it is basically just an else: + case _: + print(x) +``` +### Output: +``` +x % 2 == 0 and case is 4 +``` +## [Next Lesson>>](https://replit.com/@codewithharry/17-Day17-For-Loops) \ No newline at end of file diff --git a/100-days-of-code-youtube/16-Day-16-Match-Case/.tutorial/video.json b/100-days-of-code-youtube/16-Day-16-Match-Case/.tutorial/video.json new file mode 100644 index 00000000..ee8ae7f6 --- /dev/null +++ b/100-days-of-code-youtube/16-Day-16-Match-Case/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/bthQCK1QAmQ" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/16-Day-16-Match-Case/main.py b/100-days-of-code-youtube/16-Day-16-Match-Case/main.py new file mode 100644 index 00000000..6b0de74b --- /dev/null +++ b/100-days-of-code-youtube/16-Day-16-Match-Case/main.py @@ -0,0 +1,17 @@ + +x = int(input("Enter the value of x: ")) +# x is the variable to match +match x: + # if x is 0 + case 0: + print("x is zero") + # case with if-condition + case 4: + print("case is 4") + + case _ if x!=90: + print(x, "is not 90") + case _ if x!=80: + print(x, "is not 80") + case _: + print(x) \ No newline at end of file diff --git a/100-days-of-code-youtube/17-Day17-For-Loops/.tutorial/Tutorial.md b/100-days-of-code-youtube/17-Day17-For-Loops/.tutorial/Tutorial.md new file mode 100644 index 00000000..75db5190 --- /dev/null +++ b/100-days-of-code-youtube/17-Day17-For-Loops/.tutorial/Tutorial.md @@ -0,0 +1,73 @@ +# Introduction to Loops +Sometimes a programmer wants to execute a group of statements a certain number of times. This can be done using loops. Based on this loops are further classified into following main types; +- for loop +- while loop +# The for Loop +for loops can iterate over a sequence of iterable objects in python. Iterating over a sequence is nothing but iterating over strings, lists, tuples, sets and dictionaries. + +## Example: iterating over a string: + +```python +name = 'Abhishek' +for i in name: + print(i, end=", ") +``` +## Output: + +A, b, h, i, s, h, e, k, + + +## Example: iterating over a list: + +``` python +colors = ["Red", "Green", "Blue", "Yellow"] +for x in colors: + print(x) +``` +## Output: + +Red\ +Green\ +Blue\ +Yellow + +Similarly, we can use loops for lists, sets and dictionaries. +## range(): +What if we do not want to iterate over a sequence? What if we want to use for loop for a specific number of times? + +Here, we can use the range() function. + +## Example: +```python +for k in range(5): + print(k) +``` +## Output: + +0\ +1\ +2\ +3\ +4\ +Here, we can see that the loop starts from 0 by default and increments at each iteration. + + + +But we can also loop over a specific range. + +## Example: +```python +for k in range(4,9): + print(k) +``` +## Output: + +4\ +5\ +6\ +7\ +8 + +## Quick Quiz +Explore about third parameter of range (ie range(x, y, z)) +## [Next Lesson>>](https://replit.com/@codewithharry/18-Day18-While-Loops) \ No newline at end of file diff --git a/100-days-of-code-youtube/17-Day17-For-Loops/.tutorial/video.json b/100-days-of-code-youtube/17-Day17-For-Loops/.tutorial/video.json new file mode 100644 index 00000000..9e9224a9 --- /dev/null +++ b/100-days-of-code-youtube/17-Day17-For-Loops/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/fIYVzKp0q5w" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/17-Day17-For-Loops/main.py b/100-days-of-code-youtube/17-Day17-For-Loops/main.py new file mode 100644 index 00000000..31eb6a5b --- /dev/null +++ b/100-days-of-code-youtube/17-Day17-For-Loops/main.py @@ -0,0 +1,21 @@ +# name = 'Abhishek' +# for i in name: +# print(i) +# if(i =="b"): +# print("This is something special!") + +# colors = ["Red", "Green", "Blue", "Yellow"] +# for color in colors: +# print(color) +# for i in color: +# print(i) + +# for k in range(5): +# print(k + 1) + +# for k in range(1, 20001): +# print(k) + + +for k in range(1, 12, 3): + print(k) \ No newline at end of file diff --git a/100-days-of-code-youtube/18-Day18-While-Loops/.tutorial/01 While Loops.md b/100-days-of-code-youtube/18-Day18-While-Loops/.tutorial/01 While Loops.md new file mode 100644 index 00000000..85c88f02 --- /dev/null +++ b/100-days-of-code-youtube/18-Day18-While-Loops/.tutorial/01 While Loops.md @@ -0,0 +1,43 @@ +# Python while Loop +As the name suggests, while loops execute statements while the condition is True. As soon as the condition becomes False, the interpreter comes out of the while loop. +## Example: + +```python +count = 5 +while (count > 0): + print(count) + count = count - 1 +``` +## Output: +``` +5 +4 +3 +2 +1 +``` + +Here, the count variable is set to 5 which decrements after each iteration. Depending upon the while loop condition, we need to either increment or decrement the counter variable (the variable count, in our case) or the loop will continue forever. + +# Else with While Loop +We can even use the else statement with the while loop. Essentially what the else statement does is that as soon as the while loop condition becomes False, the interpreter comes out of the while loop and the else statement is executed. + +## Example: + +```python +x = 5 +while (x > 0): + print(x) + x = x - 1 +else: + print('counter is 0') +``` +## Output: +``` +5 +4 +3 +2 +1 +counter is 0 +``` diff --git a/100-days-of-code-youtube/18-Day18-While-Loops/.tutorial/02 Emulate Do While Loops.md b/100-days-of-code-youtube/18-Day18-While-Loops/.tutorial/02 Emulate Do While Loops.md new file mode 100644 index 00000000..97bfe544 --- /dev/null +++ b/100-days-of-code-youtube/18-Day18-While-Loops/.tutorial/02 Emulate Do While Loops.md @@ -0,0 +1,26 @@ +# Do-While loop in python +do..while is a loop in which a set of instructions will execute at least once (irrespective of the condition) and then the repetition of loop's body will depend on the condition passed at the end of the while loop. It is also known as an exit-controlled loop. +# How to emulate do while loop in python? +To create a do while loop in Python, you need to modify the while loop a bit in order to get similar behavior to a do while loop. + +The most common technique to emulate a do-while loop in Python is to use an infinite while loop with a break statement wrapped in an if statement that checks a given condition and breaks the iteration if that condition becomes true: +## Example +```python +while True: + number = int(input("Enter a positive number: ")) + print(number) + if not number > 0: + break +``` +## Output +``` +Enter a positive number: 1 +1 +Enter a positive number: 4 +4 +Enter a positive number: -1 +-1 +``` +## Explanation +This loop uses True as its formal condition. This trick turns the loop into an infinite loop. Before the conditional statement, the loop runs all the required processing and updates the breaking condition. If this condition evaluates to true, then the break statement breaks out of the loop, and the program execution continues its normal path. +## [Next Lesson>>](https://replit.com/@codewithharry/19-Day-19-break-and-continue) \ No newline at end of file diff --git a/100-days-of-code-youtube/18-Day18-While-Loops/.tutorial/video.json b/100-days-of-code-youtube/18-Day18-While-Loops/.tutorial/video.json new file mode 100644 index 00000000..922d0560 --- /dev/null +++ b/100-days-of-code-youtube/18-Day18-While-Loops/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/-tCFyIyKVx0" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/18-Day18-While-Loops/main.py b/100-days-of-code-youtube/18-Day18-While-Loops/main.py new file mode 100644 index 00000000..622bf516 --- /dev/null +++ b/100-days-of-code-youtube/18-Day18-While-Loops/main.py @@ -0,0 +1,18 @@ +i = int(input("Enter the number: ")) +print(i) +while(i<=38): + i = int(input("Enter the number: ")) + print(i) + +print("Done with the loop") + +# count = 5 +# while (count > 0): +# print(count) +# count = count - 1 +# else: +# print("I am inside else") + +# do { + # loop body; +# }while(condition); \ No newline at end of file diff --git a/100-days-of-code-youtube/19-Day-19-break-and-continue/.tutorial/01 break.md b/100-days-of-code-youtube/19-Day-19-break-and-continue/.tutorial/01 break.md new file mode 100644 index 00000000..6d7e28a6 --- /dev/null +++ b/100-days-of-code-youtube/19-Day-19-break-and-continue/.tutorial/01 break.md @@ -0,0 +1,25 @@ +# break statement +The break statement enables a program to skip over a part of the code. A break statement terminates the very loop it lies within. +## example + +```python ' +for i in range(1,101,1): + print(i ,end=" ") + if(i==50): + break + else: + print("Mississippi") +print("Thank you") +``` +### output +``` +1 Mississippi +2 Mississippi +3 Mississippi +4 Mississippi +5 Mississippi +. +. +. +50 Mississippi +``` \ No newline at end of file diff --git a/100-days-of-code-youtube/19-Day-19-break-and-continue/.tutorial/02 continue.md b/100-days-of-code-youtube/19-Day-19-break-and-continue/.tutorial/02 continue.md new file mode 100644 index 00000000..33141349 --- /dev/null +++ b/100-days-of-code-youtube/19-Day-19-break-and-continue/.tutorial/02 continue.md @@ -0,0 +1,19 @@ +## Continue Statement +The continue statement skips the rest of the loop statements and causes the next iteration to occur. +## example +```python +for i in [2,3,4,6,8,0]: + if (i%2!=0): + continue + print(i) + ``` + ## output + ``` +2 +4 +6 +8 +0 + +``` +## [Next Lesson>>](https://replit.com/@codewithharry/20-Day20-Functions) \ No newline at end of file diff --git a/100-days-of-code-youtube/19-Day-19-break-and-continue/.tutorial/video.json b/100-days-of-code-youtube/19-Day-19-break-and-continue/.tutorial/video.json new file mode 100644 index 00000000..bb13c59e --- /dev/null +++ b/100-days-of-code-youtube/19-Day-19-break-and-continue/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/RkwJnjdrm70" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/19-Day-19-break-and-continue/main.py b/100-days-of-code-youtube/19-Day-19-break-and-continue/main.py new file mode 100644 index 00000000..1a447d16 --- /dev/null +++ b/100-days-of-code-youtube/19-Day-19-break-and-continue/main.py @@ -0,0 +1,12 @@ +# for i in range(12): +# if(i == 10): +# print("Skip the iteration") +# continue +# print("5 X", i, "=", 5 * i) + +i = 0 +while True: + print(i) + i = i + 1 + if(i%100 == 0): + break diff --git a/100-days-of-code-youtube/20-Day20-Functions/.tutorial/01 Functions.md b/100-days-of-code-youtube/20-Day20-Functions/.tutorial/01 Functions.md new file mode 100644 index 00000000..1b12a69c --- /dev/null +++ b/100-days-of-code-youtube/20-Day20-Functions/.tutorial/01 Functions.md @@ -0,0 +1,47 @@ +# Python Functions +A function is a block of code that performs a specific task whenever it is called. In bigger programs, where we have large amounts of code, it is advisable to create or use existing functions that make the program flow organized and neat. + + + +There are two types of functions: + +1. Built-in functions +2. User-defined functions + + + ## Built-in functions: +These functions are defined and pre-coded in python. Some examples of built-in functions are as follows: + +min(), max(), len(), sum(), type(), range(), dict(), list(), tuple(), set(), print(), etc. + + + +## User-defined functions: +We can create functions to perform specific tasks as per our needs. Such functions are called user-defined functions. + +### Syntax: +```python +def function_name(parameters): + pass + # Code and Statements +``` + +- Create a function using the def keyword, followed by a function name, followed by a paranthesis (()) and a colon(:). + - Any parameters and arguments should be placed within the parentheses. + - Rules to naming function are similar to that of naming variables. + - Any statements and other code within the function should be indented. +### Calling a function: +We call a function by giving the function name, followed by parameters (if any) in the parenthesis. + +Example: +```python +def name(fname, lname): + print("Hello,", fname, lname) + +name("Sam", "Wilson") +``` +Output: +``` +Hello, Sam Wilson +``` +## [Next Lesson>>](https://replit.com/@codewithharry/21-Day-21-Function-Arguments) \ No newline at end of file diff --git a/100-days-of-code-youtube/20-Day20-Functions/.tutorial/video.json b/100-days-of-code-youtube/20-Day20-Functions/.tutorial/video.json new file mode 100644 index 00000000..ad2a3691 --- /dev/null +++ b/100-days-of-code-youtube/20-Day20-Functions/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/dyvxxJSGUsE" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/20-Day20-Functions/main.py b/100-days-of-code-youtube/20-Day20-Functions/main.py new file mode 100644 index 00000000..50dc5e3a --- /dev/null +++ b/100-days-of-code-youtube/20-Day20-Functions/main.py @@ -0,0 +1,26 @@ +def calculateGmean(a, b): + mean = (a*b)/(a+b) + print(mean) + +def isGreater(a, b): + if(a>b): + print("First number is greater") + else: + print("Second number is greater or equal") + +def isLesser(a, b): + pass + + +a = 9 +b = 8 +isGreater(a, b) +calculateGmean(a, b) +# gmean1 = (a*b)/(a+b) +# print(gmean1) +c = 8 +d = 74 +isGreater(c, d) +calculateGmean(c, d) +# gmean2 = (c*d)/(c+d) +# print(gmean2) diff --git a/100-days-of-code-youtube/21-Day-21-Function-Arguments/.tutorial/Tutorial.md b/100-days-of-code-youtube/21-Day-21-Function-Arguments/.tutorial/Tutorial.md new file mode 100644 index 00000000..152d3117 --- /dev/null +++ b/100-days-of-code-youtube/21-Day-21-Function-Arguments/.tutorial/Tutorial.md @@ -0,0 +1,119 @@ +# Function Arguments and return statement +There are four types of arguments that we can provide in a function: + +- Default Arguments +- Keyword Arguments +- Variable length Arguments +- Required Arguments +### Default arguments: +We can provide a default value while creating a function. This way the function assumes a default value even if a value is not provided in the function call for that argument. + +Example: +```python +def name(fname, mname = "Jhon", lname = "Whatson"): + print("Hello,", fname, mname, lname) + +name("Amy") +``` +Output: +``` +Hello, Amy Jhon Whatson + ``` + +### Keyword arguments: +We can provide arguments with key = value, this way the interpreter recognizes the arguments by the parameter name. Hence, the the order in which the arguments are passed does not matter. + +Example: +```python +def name(fname, mname, lname): + print("Hello,", fname, mname, lname) + +name(mname = "Peter", lname = "Wesker", fname = "Jade") +``` +Output: +``` +Hello, Jade Peter Wesker + ``` + +### Required arguments: +In case we don’t pass the arguments with a key = value syntax, then it is necessary to pass the arguments in the correct positional order and the number of arguments passed should match with actual function definition. + +Example 1: when number of arguments passed does not match to the actual function definition. +```python +def name(fname, mname, lname): + print("Hello,", fname, mname, lname) + +name("Peter", "Quill") +``` +Output: +``` +name("Peter", "Quill")\ +TypeError: name() missing 1 required positional argument: 'lname' + ``` + +Example 2: when number of arguments passed matches to the actual function definition. +```python +def name(fname, mname, lname): + print("Hello,", fname, mname, lname) + +name("Peter", "Ego", "Quill") +``` +Output: +``` +Hello, Peter Ego Quill + ``` + +### Variable-length arguments: +Sometimes we may need to pass more arguments than those defined in the actual function. This can be done using variable-length arguments. + +There are two ways to achieve this: + +#### Arbitrary Arguments: +While creating a function, pass a * before the parameter name while defining the function. The function accesses the arguments by processing them in the form of tuple. + +Example: +```python +def name(*name): + print("Hello,", name[0], name[1], name[2]) + +name("James", "Buchanan", "Barnes") +``` +Output: +``` +Hello, James Buchanan Barnes + ``` + +#### Keyword Arbitrary Arguments: +While creating a function, pass a * before the parameter name while defining the function. The function accesses the arguments by processing them in the form of dictionary. + +Example: +```python +def name(**name): + print("Hello,", name["fname"], name["mname"], name["lname"]) + +name(mname = "Buchanan", lname = "Barnes", fname = "James") +``` +Output: +``` +Hello, James Buchanan Barnes +``` + +## return Statement +The return statement is used to return the value of the expression back to the calling function. + + + +Example: +```python +def name(fname, mname, lname): + return "Hello, " + fname + " " + mname + " " + lname + +print(name("James", "Buchanan", "Barnes")) + ``` + +Output: +``` +Hello, James Buchanan Barnes +``` +## [Next Lesson>>](https://replit.com/@codewithharry/22-Day-22-Introduction-to-Lists) + diff --git a/100-days-of-code-youtube/21-Day-21-Function-Arguments/.tutorial/video.json b/100-days-of-code-youtube/21-Day-21-Function-Arguments/.tutorial/video.json new file mode 100644 index 00000000..eac4a3e5 --- /dev/null +++ b/100-days-of-code-youtube/21-Day-21-Function-Arguments/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/0d6b6fFuCkE" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/21-Day-21-Function-Arguments/main.py b/100-days-of-code-youtube/21-Day-21-Function-Arguments/main.py new file mode 100644 index 00000000..c3ebf066 --- /dev/null +++ b/100-days-of-code-youtube/21-Day-21-Function-Arguments/main.py @@ -0,0 +1,27 @@ +# def average(a, b, c=1): +# print("The average is ", (a + b + c) / 2) + + +def average(*numbers): + # print(type(numbers)) + sum = 0 + for i in numbers: + sum = sum + i + # print("Average is: ", sum / len(numbers)) + # return 7 + return sum / len(numbers) + + +# average(4, 6) +# average(b=9) + +c = average(5, 6, 7, 1) +print(c) + + +# def name(**name): +# # print(type(name)) +# print("Hello,", name["fname"], name["mname"], name["lname"]) + + +# name(mname="Buchanan", lname="Barnes", fname="James") diff --git a/100-days-of-code-youtube/22-Day-22-Introduction-to-Lists/.tutorial/01-lists.md b/100-days-of-code-youtube/22-Day-22-Introduction-to-Lists/.tutorial/01-lists.md new file mode 100644 index 00000000..6371f1e8 --- /dev/null +++ b/100-days-of-code-youtube/22-Day-22-Introduction-to-Lists/.tutorial/01-lists.md @@ -0,0 +1,29 @@ +# Python Lists +- Lists are ordered collection of data items. + - They store multiple items in a single variable. + - List items are separated by commas and enclosed within square brackets []. + - Lists are changeable meaning we can alter them after creation. + +Example 1: +```python +lst1 = [1,2,2,3,5,4,6] +lst2 = ["Red", "Green", "Blue"] +print(lst1) +print(lst2) +``` +Output: +``` +[1, 2, 2, 3, 5, 4, 6] +['Red', 'Green', 'Blue'] +``` + +Example 2: +```python +details = ["Abhijeet", 18, "FYBScIT", 9.8] +print(details) +``` +Output: +``` +['Abhijeet', 18, 'FYBScIT', 9.8] +``` +As we can see, a single list can contain items of different data types. diff --git a/100-days-of-code-youtube/22-Day-22-Introduction-to-Lists/.tutorial/02-lists_indexes.md b/100-days-of-code-youtube/22-Day-22-Introduction-to-Lists/.tutorial/02-lists_indexes.md new file mode 100644 index 00000000..d1465d8d --- /dev/null +++ b/100-days-of-code-youtube/22-Day-22-Introduction-to-Lists/.tutorial/02-lists_indexes.md @@ -0,0 +1,158 @@ +# List Index +Each item/element in a list has its own unique index. This index can be used to access any particular item from the list. The first item has index [0], second item has index [1], third item has index [2] and so on. + +#### Example: +```python +colors = ["Red", "Green", "Blue", "Yellow", "Green"] +# [0] [1] [2] [3] [4] + ``` + +# Accessing list items + We can access list items by using its index with the square bracket syntax []. For example colors[0] will give "Red", colors[1] will give "Green" and so on... + +## Positive Indexing: +As we have seen that list items have index, as such we can access items using these indexes. + +#### Example: +```python +colors = ["Red", "Green", "Blue", "Yellow", "Green"] +# [0] [1] [2] [3] [4] +print(colors[2]) +print(colors[4]) +print(colors[0]) +``` +#### Output: +``` +Blue +Green +Red + ``` + +## Negative Indexing: +Similar to positive indexing, negative indexing is also used to access items, but from the end of the list. The last item has index [-1], second last item has index [-2], third last item has index [-3] and so on. + +#### Example: +```python +colors = ["Red", "Green", "Blue", "Yellow", "Green"] +# [-5] [-4] [-3] [-2] [-1] +print(colors[-1]) +print(colors[-3]) +print(colors[-5]) +``` +#### Output: +``` +Green +Blue +Red +``` + +## Check whether an item in present in the list? +We can check if a given item is present in the list. This is done using the `in` keyword. +```python +colors = ["Red", "Green", "Blue", "Yellow", "Green"] +if "Yellow" in colors: + print("Yellow is present.") +else: + print("Yellow is absent.") + ``` +#### Output: + +``` +Yellow is present. +``` + +```python +colors = ["Red", "Green", "Blue", "Yellow", "Green"] +if "Orange" in colors: + print("Orange is present.") +else: + print("Orange is absent.") +``` +#### Output: +``` +Orange is absent. +``` + +## Range of Index: +You can print a range of list items by specifying where you want to start, where do you want to end and if you want to skip elements in between the range. + +Syntax: +```python +listName[start : end : jumpIndex] +``` +Note: jump Index is optional. We will see this in later examples. + + + +### Example: printing elements within a particular range: +```python +animals = ["cat", "dog", "bat", "mouse", "pig", "horse", "donkey", "goat", "cow"] +print(animals[3:7]) #using positive indexes +print(animals[-7:-2]) #using negative indexes' +``` +#### Output: +``` +['mouse', 'pig', 'horse', 'donkey'] +['bat', 'mouse', 'pig', 'horse', 'donkey'] +``` +Here, we provide index of the element from where we want to start and the index of the element till which we want to print the values. + +Note: The element of the end index provided will not be included. + + + +### Example: printing all element from a given index till the end +```python +animals = ["cat", "dog", "bat", "mouse", "pig", "horse", "donkey", "goat", "cow"] +print(animals[4:]) #using positive indexes +print(animals[-4:]) #using negative indexes +``` +### Output: +``` +['pig', 'horse', 'donkey', 'goat', 'cow'] +['horse', 'donkey', 'goat', 'cow'] +``` +When no end index is provided, the interpreter prints all the values till the end. + + + +### Example: printing all elements from start to a given index +```python +animals = ["cat", "dog", "bat", "mouse", "pig", "horse", "donkey", "goat", "cow"] +print(animals[:6]) #using positive indexes +print(animals[:-3]) #using negative indexes +``` +#### Output: +``` +['cat', 'dog', 'bat', 'mouse', 'pig', 'horse'] +['cat', 'dog', 'bat', 'mouse', 'pig', 'horse'] +``` +When no start index is provided, the interpreter prints all the values from start up to the end index provided. + + + +### Example: Printing alternate values +```python +animals = ["cat", "dog", "bat", "mouse", "pig", "horse", "donkey", "goat", "cow"] +print(animals[::2]) #using positive indexes +print(animals[-8:-1:2]) #using negative indexes +``` +### Output: +``` +['cat', 'bat', 'pig', 'donkey', 'cow'] +['dog', 'mouse', 'horse', 'goat'] +``` +Here, we have not provided start and index, which means all the values will be considered. But as we have provided a jump index of 2 only alternate values will be printed. + + + +### Example: printing every 3rd consecutive value withing a given range +```python +animals = ["cat", "dog", "bat", "mouse", "pig", "horse", "donkey", "goat", "cow"] +print(animals[1:8:3]) +``` +### Output: +``` +['dog', 'pig', 'goat +``` +Here, jump index is 3. Hence it prints every 3rd element within given index. \ No newline at end of file diff --git a/100-days-of-code-youtube/22-Day-22-Introduction-to-Lists/.tutorial/03-lists_comprehension.md b/100-days-of-code-youtube/22-Day-22-Introduction-to-Lists/.tutorial/03-lists_comprehension.md new file mode 100644 index 00000000..85a55427 --- /dev/null +++ b/100-days-of-code-youtube/22-Day-22-Introduction-to-Lists/.tutorial/03-lists_comprehension.md @@ -0,0 +1,39 @@ +# List Comprehension +List comprehensions are used for creating new lists from other iterables like lists, tuples, dictionaries, sets, and even in arrays and strings. + + + +## Syntax: + +List = [Expression(item) for item in iterable if Condition] + +**Expression**: It is the item which is being iterated. + +**Iterable**: It can be list, tuples, dictionaries, sets, and even in arrays and strings. + +**Condition**: Condition checks if the item should be added to the new list or not. + + + +### Example 1: Accepts items with the small letter “o” in the new list +```python +names = ["Milo", "Sarah", "Bruno", "Anastasia", "Rosa"] +namesWith_O = [item for item in names if "o" in item] +print(namesWith_O) +``` +### Output: +``` +['Milo', 'Bruno', 'Rosa'] + ``` + +### Example 2: Accepts items which have more than 4 letters +```python +names = ["Milo", "Sarah", "Bruno", "Anastasia", "Rosa"] +namesWith_O = [item for item in names if (len(item) > 4)] +print(namesWith_O) +``` +### Output: +``` +['Sarah', 'Bruno', 'Anastasia'] +``` +## [Next Lesson>>](https://replit.com/@codewithharry/23-Day-23-List-Methods) \ No newline at end of file diff --git a/100-days-of-code-youtube/22-Day-22-Introduction-to-Lists/.tutorial/video.json b/100-days-of-code-youtube/22-Day-22-Introduction-to-Lists/.tutorial/video.json new file mode 100644 index 00000000..03921d74 --- /dev/null +++ b/100-days-of-code-youtube/22-Day-22-Introduction-to-Lists/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/eF6nK5bSlmg" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/22-Day-22-Introduction-to-Lists/main.py b/100-days-of-code-youtube/22-Day-22-Introduction-to-Lists/main.py new file mode 100644 index 00000000..ea098384 --- /dev/null +++ b/100-days-of-code-youtube/22-Day-22-Introduction-to-Lists/main.py @@ -0,0 +1,32 @@ +marks = [3, 5, 6, "Harry", True, 6, 7 , 2, 32, 345, 23] +# print(marks) +# print(type(marks)) +# print(marks[0]) +# print(marks[1]) +# print(marks[2]) +# print(marks[3]) +# print(marks[4]) +# print(marks[5]) + +# print(marks[-3]) # Negative index +# print(marks[len(marks)-3]) # Positive index +# print(marks[5-3]) # Positive index +# print(marks[2]) # Positive index + +# if "6" in marks: +# print("Yes") +# else: +# print("No") + +# Same thing applies for strings as well! +# if "Ha" in "Harry": +# print("Yes") + +# print(marks[0:7]) +# print(marks[1:9]) +# print(marks[1:9:3]) + +lst = [i*i for i in range(10)] +print(lst) +lst = [i*i for i in range(10) if i%2==0] +print(lst) \ No newline at end of file diff --git a/100-days-of-code-youtube/23-Day-23-List-Methods/.tutorial/01-lists_methods.md b/100-days-of-code-youtube/23-Day-23-List-Methods/.tutorial/01-lists_methods.md new file mode 100644 index 00000000..8cf60849 --- /dev/null +++ b/100-days-of-code-youtube/23-Day-23-List-Methods/.tutorial/01-lists_methods.md @@ -0,0 +1,169 @@ +# List Methods +## list.sort() +This method sorts the list in ascending order. The original list is updated +### Example 1: +```python +colors = ["voilet", "indigo", "blue", "green"] +colors.sort() +print(colors) + +num = [4,2,5,3,6,1,2,1,2,8,9,7] +num.sort() +print(num) +``` +### Output: +``` +['blue', 'green', 'indigo', 'voilet']\ +[1, 1, 2, 2, 2, 3, 4, 5, 6, 7, 8, 9] + +``` +What if you want to print the list in descending order?\ +We must give reverse=True as a parameter in the sort method. + +### Example: +```python +colors = ["voilet", "indigo", "blue", "green"] +colors.sort(reverse=True) +print(colors) + +num = [4,2,5,3,6,1,2,1,2,8,9,7] +num.sort(reverse=True) +print(num) +``` +#### Output: +``` +['voilet', 'indigo', 'green', 'blue'] +[9, 8, 7, 6, 5, 4, 3, 2, 2, 2, 1, 1] + ``` + +The reverse parameter is set to False by default. + +Note: Do not mistake the reverse parameter with the reverse method. + + + +## reverse() +This method reverses the order of the list. + +#### Example: +```python +colors = ["voilet", "indigo", "blue", "green"] +colors.reverse() +print(colors) + +num = [4,2,5,3,6,1,2,1,2,8,9,7] +num.reverse() +print(num) +``` +#### Output: +``` +['green', 'blue', 'indigo', 'voilet'] +[7, 9, 8, 2, 1, 2, 1, 6, 3, 5, 2, 4] + ``` + +## index() +This method returns the index of the first occurrence of the list item. +#### Example: +```python +colors = ["voilet", "green", "indigo", "blue", "green"] +print(colors.index("green")) + +num = [4,2,5,3,6,1,2,1,3,2,8,9,7] +print(num.index(3)) +``` +Output: +``` +1 +3 + ``` + +## count() +Returns the count of the number of items with the given value. +#### Example: +```python +colors = ["voilet", "green", "indigo", "blue", "green"] +print(colors.count("green")) + +num = [4,2,5,3,6,1,2,1,3,2,8,9,7] +``` +#### Output: +``` +2 +3 + ``` + +## copy() +Returns copy of the list. This can be done to perform operations on the list without modifying the original list. + +#### Example: +```python +colors = ["voilet", "green", "indigo", "blue"] +newlist = colors.copy() +print(colors) +print(newlist) +``` +#### Output: +``` +['voilet', 'green', 'indigo', 'blue'] +['voilet', 'green', 'indigo', 'blue'] +``` +## append(): +This method appends items to the end of the existing list. + +#### Example: +```python +colors = ["voilet", "indigo", "blue"] +colors.append("green") +print(colors) +``` +#### Output: +``` +['voilet', 'indigo', 'blue', 'green'] + ``` +## insert(): +This method inserts an item at the given index. User has to specify index and the item to be inserted within the insert() method. + +#### Example: +```python +colors = ["voilet", "indigo", "blue"] +# [0] [1] [2] + +colors.insert(1, "green") #inserts item at index 1 +# updated list: colors = ["voilet", "green", "indigo", "blue"] +# indexs [0] [1] [2] [3] + +print(colors) +``` +#### Output: +``` +['voilet', 'green', 'indigo', 'blue'] + ``` +## extend(): +This method adds an entire list or any other collection datatype (set, tuple, dictionary) to the existing list. + +#### Example 1: +```python +#add a list to a list +colors = ["voilet", "indigo", "blue"] +rainbow = ["green", "yellow", "orange", "red"] +colors.extend(rainbow) +print(colors) +``` +#### Output: +``` +['voilet', 'indigo', 'blue', 'green', 'yellow', 'orange', 'red'] + ``` +## Concatenating two lists: +You can simply concatenate two lists to join two lists. + +#### Example: +```python +colors = ["voilet", "indigo", "blue", "green"] +colors2 = ["yellow", "orange", "red"] +print(colors + colors2) +``` +#### Output: +``` +['voilet', 'indigo', 'blue', 'green', 'yellow', 'orange', 'red'] +``` +## [Next Lesson>>](https://replit.com/@codewithharry/24-Day24-Introduction-to-Tuples) \ No newline at end of file diff --git a/100-days-of-code-youtube/23-Day-23-List-Methods/.tutorial/video.json b/100-days-of-code-youtube/23-Day-23-List-Methods/.tutorial/video.json new file mode 100644 index 00000000..ae0a287e --- /dev/null +++ b/100-days-of-code-youtube/23-Day-23-List-Methods/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/scWc3F8LbOo" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/23-Day-23-List-Methods/main.py b/100-days-of-code-youtube/23-Day-23-List-Methods/main.py new file mode 100644 index 00000000..a10b28b7 --- /dev/null +++ b/100-days-of-code-youtube/23-Day-23-List-Methods/main.py @@ -0,0 +1,15 @@ +l = [11, 45, 1, 2, 4, 6, 1, 1] +print(l) +# l.append(7) +# l.sort(reverse=True) +# l.reverse() +# print(l.index(1)) +# print(l.count(1)) +# m = l.copy() +# m[0] = 0 +# l.insert(1, 899) +m = [900, 1000, 1100] +k = l + m +# print(k) +# l.extend(m) +print(l) \ No newline at end of file diff --git a/100-days-of-code-youtube/24-Day24-Introduction-to-Tuples/.tutorial/01-python_tuples.md b/100-days-of-code-youtube/24-Day24-Introduction-to-Tuples/.tutorial/01-python_tuples.md new file mode 100644 index 00000000..05e7776f --- /dev/null +++ b/100-days-of-code-youtube/24-Day24-Introduction-to-Tuples/.tutorial/01-python_tuples.md @@ -0,0 +1,27 @@ +# Python Tuples +Tuples are ordered collection of data items. They store multiple items in a single variable. Tuple items are separated by commas and enclosed within round brackets (). Tuples are unchangeable meaning we can not alter them after creation. + + + +### Example 1: +```python +tuple1 = (1,2,2,3,5,4,6) +tuple2 = ("Red", "Green", "Blue") +print(tuple1) +print(tuple2) +``` +### Output: +``` +(1, 2, 2, 3, 5, 4, 6) +('Red', 'Green', 'Blue') +``` + +### Example 2: +```python +details = ("Abhijeet", 18, "FYBScIT", 9.8) +print(details) +``` +### Output: +``` +('Abhijeet', 18, 'FYBScIT', 9.8) +``` \ No newline at end of file diff --git a/100-days-of-code-youtube/24-Day24-Introduction-to-Tuples/.tutorial/02-tuple_indexes.md b/100-days-of-code-youtube/24-Day24-Introduction-to-Tuples/.tutorial/02-tuple_indexes.md new file mode 100644 index 00000000..f9320c59 --- /dev/null +++ b/100-days-of-code-youtube/24-Day24-Introduction-to-Tuples/.tutorial/02-tuple_indexes.md @@ -0,0 +1,161 @@ +# Tuple Indexes +Each item/element in a tuple has its own unique index. This index can be used to access any particular item from the tuple. The first item has index [0], second item has index [1], third item has index [2] and so on. + +### Example: +```python +country = ("Spain", "Italy", "India",) +# [0] [1] [2] + ``` + +## Accessing tuple items: + + +### I. Positive Indexing: +As we have seen that tuple items have index, as such we can access items using these indexes. + +Example: +```python +country = ("Spain", "Italy", "India",) +# [0] [1] [2] +print(country[0]) +print(country[1]) +print(country[2]) +``` +Output: +``` +Spain +Italy +India + ``` + +### II. Negative Indexing: +Similar to positive indexing, negative indexing is also used to access items, but from the end of the tuple. The last item has index [-1], second last item has index [-2], third last item has index [-3] and so on. + +### Example: +```python +country = ("Spain", "Italy", "India", "England", "Germany") +# [0] [1] [2] [3] [4] +print(country[-1]) # Similar to print(country[len(country) - 1]) +print(country[-3]) +print(country[-4]) +``` +### Output: +``` +Germany +India +Italy + ``` + +## III. Check for item: +We can check if a given item is present in the tuple. This is done using the `in` keyword. + +### Example 1: +```python +country = ("Spain", "Italy", "India", "England", "Germany") +if "Germany" in country: + print("Germany is present.") +else: + print("Germany is absent.") + ``` +### Output: +``` +Germany is present. + ``` + +### Example 2: +```python +country = ("Spain", "Italy", "India", "England", "Germany") +if "Russia" in country: + print("Russia is present.") +else: + print("Russia is absent.") + ``` +### Output: +``` +Russia is absent. + ``` + +### IV. Range of Index: +You can print a range of tuple items by specifying where do you want to start, where do you want to end and if you want to skip elements in between the range. + + +### Syntax: +```python +Tuple[start : end : jumpIndex] +``` +Note: jump Index is optional. We will see this in given examples. + + + +### Example: Printing elements within a particular range: +```python +animals = ("cat", "dog", "bat", "mouse", "pig", "horse", "donkey", "goat", "cow") +print(animals[3:7]) #using positive indexes +print(animals[-7:-2]) #using negative indexes +``` +### Output: +``` +('mouse', 'pig', 'horse', 'donkey') +('bat', 'mouse', 'pig', 'horse', 'donkey') +``` +Here, we provide index of the element from where we want to start and the index of the element till which we want to print the values. +Note: The element of the end index provided will not be included. + + + +### Example: Printing all element from a given index till the end +```python +animals = ("cat", "dog", "bat", "mouse", "pig", "horse", "donkey", "goat", "cow") +print(animals[4:]) #using positive indexes +print(animals[-4:]) #using negative indexes +``` +### Output: +``` +('pig', 'horse', 'donkey', 'goat', 'cow') +('horse', 'donkey', 'goat', 'cow') +``` +When no end index is provided, the interpreter prints all the values till the end. + + + +### Example: printing all elements from start to a given index +```python +animals = ("cat", "dog", "bat", "mouse", "pig", "horse", "donkey", "goat", "cow") +print(animals[:6]) #using positive indexes +print(animals[:-3]) #using negative indexes +``` +### Output: +``` +('cat', 'dog', 'bat', 'mouse', 'pig', 'horse') +('cat', 'dog', 'bat', 'mouse', 'pig', 'horse') +``` +When no start index is provided, the interpreter prints all the values from start up to the end index provided. + + + +### Example: Print alternate values +```python +animals = ("cat", "dog", "bat", "mouse", "pig", "horse", "donkey", "goat", "cow") +print(animals[::2]) #using positive indexes +print(animals[-8:-1:2]) #using negative indexes +``` +### Output: +``` +('cat', 'bat', 'pig', 'donkey', 'cow') +('dog', 'mouse', 'horse', 'goat') +``` +Here, we have not provided start and end index, which means all the values will be considered. But as we have provided a jump index of 2 only alternate values will be printed. + + + +### Example: printing every 3rd consecutive withing given range +```python +animals = ("cat", "dog", "bat", "mouse", "pig", "horse", "donkey", "goat", "cow") +print(animals[1:8:3]) +``` +### Output: +``` +('dog', 'pig', 'goat') +``` +Here, jump index is 3. Hence it prints every 3rd element within given index. +## [Next Lesson>>](https://replit.com/@codewithharry/25-Day25-Operations-on-Tuples) diff --git a/100-days-of-code-youtube/24-Day24-Introduction-to-Tuples/.tutorial/video.json b/100-days-of-code-youtube/24-Day24-Introduction-to-Tuples/.tutorial/video.json new file mode 100644 index 00000000..b74a860c --- /dev/null +++ b/100-days-of-code-youtube/24-Day24-Introduction-to-Tuples/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/PipsOUDKrVk" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/24-Day24-Introduction-to-Tuples/main.py b/100-days-of-code-youtube/24-Day24-Introduction-to-Tuples/main.py new file mode 100644 index 00000000..6b3c7875 --- /dev/null +++ b/100-days-of-code-youtube/24-Day24-Introduction-to-Tuples/main.py @@ -0,0 +1,13 @@ +tup = (1, 2, 76, 342, 32, "green", True) +# tup[0] = 90 +print(type(tup), tup) +print(len(tup)) +print(tup[0]) +print(tup[-1]) +print(tup[2]) +# print(tup[34]) + +if 3421 in tup: + print("Yes 342 is present in this tuple") +tup2 = tup[1:4] +print(tup2) \ No newline at end of file diff --git a/100-days-of-code-youtube/25-Day25-Operations-on-Tuples/.tutorial/01-manipulating_tuples.md b/100-days-of-code-youtube/25-Day25-Operations-on-Tuples/.tutorial/01-manipulating_tuples.md new file mode 100644 index 00000000..ff167d96 --- /dev/null +++ b/100-days-of-code-youtube/25-Day25-Operations-on-Tuples/.tutorial/01-manipulating_tuples.md @@ -0,0 +1,35 @@ +# Manipulating Tuples +Tuples are immutable, hence if you want to add, remove or change tuple items, then first you must convert the tuple to a list. Then perform operation on that list and convert it back to tuple. + +#### Example: +```python +countries = ("Spain", "Italy", "India", "England", "Germany") +temp = list(countries) +temp.append("Russia") #add item +temp.pop(3) #remove item +temp[2] = "Finland" #change item +countries = tuple(temp) +print(countries) +``` +#### Output: +``` +('Spain', 'Italy', 'Finland', 'Germany', 'Russia') + ``` + +Thus, we convert the tuple to a list, manipulate items of the list using list methods, then convert list back to a tuple. + + + +However, we can directly concatenate two tuples without converting them to list. + +#### Example: +```python +countries = ("Pakistan", "Afghanistan", "Bangladesh", "ShriLanka") +countries2 = ("Vietnam", "India", "China") +southEastAsia = countries + countries2 +print(southEastAsia) +``` +#### Output: +``` +('Pakistan', 'Afghanistan', 'Bangladesh', 'ShriLanka', 'Vietnam', 'India', 'China') +``` \ No newline at end of file diff --git a/100-days-of-code-youtube/25-Day25-Operations-on-Tuples/.tutorial/02-tuple_methods.md b/100-days-of-code-youtube/25-Day25-Operations-on-Tuples/.tutorial/02-tuple_methods.md new file mode 100644 index 00000000..95995707 --- /dev/null +++ b/100-days-of-code-youtube/25-Day25-Operations-on-Tuples/.tutorial/02-tuple_methods.md @@ -0,0 +1,35 @@ +# Tuple methods +As tuple is immutable type of collection of elements it have limited built in methods.They are explained below +## count() Method +The count() method of Tuple returns the number of times the given element appears in the tuple. + +### Syntax: +```python +tuple.count(element) +``` +### Example +```python +Tuple1 = (0, 1, 2, 3, 2, 3, 1, 3, 2) +res = Tuple1.count(3) +print('Count of 3 in Tuple1 is:', res) +``` +### Output +3 +# index() method +The Index() method returns the first occurrence of the given element from the tuple. + +### Syntax: +```python +tuple.index(element, start, end) +``` +Note: This method raises a ValueError if the element is not found in the tuple. + +### Example +```python +Tuple = (0, 1, 2, 3, 2, 3, 1, 3, 2) +res = Tuple.index(3) +print('First occurrence of 3 is', res) +``` +#### Output +3 +## [Next Lesson>>](https://replit.com/@codewithharry/26-Day-26-Exercise-2-Solution) \ No newline at end of file diff --git a/100-days-of-code-youtube/25-Day25-Operations-on-Tuples/.tutorial/video.json b/100-days-of-code-youtube/25-Day25-Operations-on-Tuples/.tutorial/video.json new file mode 100644 index 00000000..f0b9198d --- /dev/null +++ b/100-days-of-code-youtube/25-Day25-Operations-on-Tuples/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/XblLSduioJI" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/25-Day25-Operations-on-Tuples/main.py b/100-days-of-code-youtube/25-Day25-Operations-on-Tuples/main.py new file mode 100644 index 00000000..34d70750 --- /dev/null +++ b/100-days-of-code-youtube/25-Day25-Operations-on-Tuples/main.py @@ -0,0 +1,7 @@ +tuple1 = (0, 1, 2, 3, 2, 31, 1, 3, 2, 3) +# res = tuple1.count(3) +# res = tuple1.index(3) +# res = tuple1.index(311) +# res = tuple1.index(3, 4, 8) +res = len(tuple1) +print('Count of 3 in tuple1 is:', res) \ No newline at end of file diff --git a/100-days-of-code-youtube/26-Day-26-Exercise-2-Solution/.tutorial/Tutorial.md b/100-days-of-code-youtube/26-Day-26-Exercise-2-Solution/.tutorial/Tutorial.md new file mode 100644 index 00000000..b121d358 --- /dev/null +++ b/100-days-of-code-youtube/26-Day-26-Exercise-2-Solution/.tutorial/Tutorial.md @@ -0,0 +1,15 @@ +# Excersice 2: Good Morning Sir +Create a python program capable of greeting you with Good Morning, Good Afternoon and Good Evening. Your program should use time module to get the current hour. Here is a sample program and documentation link for you: +```python +import time +timestamp = time.strftime('%H:%M:%S') +print(timestamp) +timestamp = time.strftime('%H') +print(timestamp) +timestamp = time.strftime('%M') +print(timestamp) +timestamp = time.strftime('%S') +print(timestamp) +# https://docs.python.org/3/library/time.html#time.strftime +``` +## [Next Lesson>>](https://replit.com/@codewithharry/27-Day27-Exercise-3) \ No newline at end of file diff --git a/100-days-of-code-youtube/26-Day-26-Exercise-2-Solution/.tutorial/video.json b/100-days-of-code-youtube/26-Day-26-Exercise-2-Solution/.tutorial/video.json new file mode 100644 index 00000000..2ac1d28a --- /dev/null +++ b/100-days-of-code-youtube/26-Day-26-Exercise-2-Solution/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/IZBKXWrbqBM" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/26-Day-26-Exercise-2-Solution/main.py b/100-days-of-code-youtube/26-Day-26-Exercise-2-Solution/main.py new file mode 100644 index 00000000..1c80f6d7 --- /dev/null +++ b/100-days-of-code-youtube/26-Day-26-Exercise-2-Solution/main.py @@ -0,0 +1,12 @@ +import time +t = time.strftime('%H:%M:%S') +hour = int(time.strftime('%H')) +# hour = int(input("Enter hour: ")) +# print(hour) + +if(hour>=0 and hour<12): + print("Good Morning Sir!") +elif(hour>=12 and hour<17): + print("Good Afternoon Sir!") +elif(hour>=17 and hour<0): + print("Good Night Sir!") \ No newline at end of file diff --git a/100-days-of-code-youtube/27-Day27-Exercise-3/.tutorial/Tutorial.md b/100-days-of-code-youtube/27-Day27-Exercise-3/.tutorial/Tutorial.md new file mode 100644 index 00000000..f34371a5 --- /dev/null +++ b/100-days-of-code-youtube/27-Day27-Exercise-3/.tutorial/Tutorial.md @@ -0,0 +1,4 @@ +Create a program capable of displaying questions to the user like KBC. +Use List data type to store the questions and their correct answers. +Display the final amount the person is taking home after playing the game. +## [Next Lesson>>](https://replit.com/@codewithharry/28-Day28-f-strings) \ No newline at end of file diff --git a/100-days-of-code-youtube/27-Day27-Exercise-3/.tutorial/video.json b/100-days-of-code-youtube/27-Day27-Exercise-3/.tutorial/video.json new file mode 100644 index 00000000..1a326426 --- /dev/null +++ b/100-days-of-code-youtube/27-Day27-Exercise-3/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/Vs1Z7K70Mvw" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/27-Day27-Exercise-3/main.py b/100-days-of-code-youtube/27-Day27-Exercise-3/main.py new file mode 100644 index 00000000..e69de29b diff --git a/100-days-of-code-youtube/28-Day28-f-strings/.tutorial/Tutorial.md b/100-days-of-code-youtube/28-Day28-f-strings/.tutorial/Tutorial.md new file mode 100644 index 00000000..d34ee817 --- /dev/null +++ b/100-days-of-code-youtube/28-Day28-f-strings/.tutorial/Tutorial.md @@ -0,0 +1,35 @@ +# String formatting in python +String formatting can be done in python using the format method. +```python +txt = "For only {price:.2f} dollars!" +print(txt.format(price = 49)) +``` +# f-strings in python +It is a new string formatting mechanism introduced by the PEP 498. It is also known as Literal String Interpolation or more commonly as F-strings (f character preceding the string literal). The primary focus of this mechanism is to make the interpolation easier. + +When we prefix the string with the letter 'f', the string becomes the f-string itself. The f-string can be formatted in much same as the str.format() method. The f-string offers a convenient way to embed Python expression inside string literals for formatting. + +## Example +```python +val = 'Geeks' +print(f"{val}for{val} is a portal for {val}.") +name = 'Tushar' +age = 23 +print(f"Hello, My name is {name} and I'm {age} years old.") +``` +## Output: +``` +Hello, My name is Tushar and I'm 23 years old. +``` +In the above code, we have used the f-string to format the string. It evaluates at runtime; we can put all valid Python expressions in them. + +We can use it in a single statement as well. +## Example +```python +print(f"{2 * 30})" +``` +## Output: +``` +60 +``` +## [Next Lesson>>](https://replit.com/@codewithharry/29-Day29-Docstrings) \ No newline at end of file diff --git a/100-days-of-code-youtube/28-Day28-f-strings/.tutorial/video.json b/100-days-of-code-youtube/28-Day28-f-strings/.tutorial/video.json new file mode 100644 index 00000000..c489310c --- /dev/null +++ b/100-days-of-code-youtube/28-Day28-f-strings/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/ixmxgUf8yIg" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/28-Day28-f-strings/main.py b/100-days-of-code-youtube/28-Day28-f-strings/main.py new file mode 100644 index 00000000..92303876 --- /dev/null +++ b/100-days-of-code-youtube/28-Day28-f-strings/main.py @@ -0,0 +1,12 @@ +letter = "Hey my name is {1} and I am from {0}" +country = "India" +name = "Harry" + +print(letter.format(country, name)) +print(f"Hey my name is {name} and I am from {country}") +print(f"We use f-strings like this: Hey my name is {{name}} and I am from {{country}}") +price = 49.09999 +txt = f"For only {price:.2f} dollars!" +print(txt) +# print(txt.format()) +print(type(f"{2 * 30}")) diff --git a/100-days-of-code-youtube/29-Day29-Docstrings/.tutorial/01 docstring.md b/100-days-of-code-youtube/29-Day29-Docstrings/.tutorial/01 docstring.md new file mode 100644 index 00000000..5e615fb1 --- /dev/null +++ b/100-days-of-code-youtube/29-Day29-Docstrings/.tutorial/01 docstring.md @@ -0,0 +1,78 @@ +# Docstrings in python +Python docstrings are the string literals that appear right after the definition of a function, method, class, or module. +## Example +```python +def square(n): + '''Takes in a number n, returns the square of n''' + print(n**2) +square(5) + +``` +Here, + +'''Takes in a number n, returns the square of n''' +is a docstring which will not appear in output + +## Output: +``` +25 +``` +Here is another example: +```python +def add(num1, num2): + """ + Add up two integer numbers. + + This function simply wraps the ``+`` operator, and does not + do anything interesting, except for illustrating what + the docstring of a very simple function looks like. + + Parameters + ---------- + num1 : int + First number to add. + num2 : int + Second number to add. + + Returns + ------- + int + The sum of ``num1`` and ``num2``. + + See Also + -------- + subtract : Subtract one integer from another. + + Examples + -------- + >>> add(2, 2) + 4 + >>> add(25, 0) + 25 + >>> add(10, -10) + 0 + """ + return num1 + num2 +``` +## Python Comments vs Docstrings +### Python Comments + +Comments are descriptions that help programmers better understand the intent and functionality of the program. They are completely ignored by the Python interpreter. +### Python docstrings + +As mentioned above, Python docstrings are strings used right after the definition of a function, method, class, or module (like in Example 1). They are used to document our code. + +We can access these docstrings using the __doc__ attribute. +## Python __doc__ attribute +Whenever string literals are present just after the definition of a function, module, class or method, they are associated with the object as their __doc__ attribute. We can later use this attribute to retrieve this docstring. + +## Example +```python +def square(n): + '''Takes in a number n, returns the square of n''' + return n**2 + +print(square.__doc__) +``` +## Output: +Takes in a number n, returns the square of n \ No newline at end of file diff --git a/100-days-of-code-youtube/29-Day29-Docstrings/.tutorial/02 pep8.md b/100-days-of-code-youtube/29-Day29-Docstrings/.tutorial/02 pep8.md new file mode 100644 index 00000000..8fd6d00e --- /dev/null +++ b/100-days-of-code-youtube/29-Day29-Docstrings/.tutorial/02 pep8.md @@ -0,0 +1,33 @@ +# PEP 8 +PEP 8 is a document that provides guidelines and best practices on how to write Python code. It was written in 2001 by Guido van Rossum, Barry Warsaw, and Nick Coghlan. The primary focus of PEP 8 is to improve the readability and consistency of Python code. + +PEP stands for Python Enhancement Proposal, and there are several of them. A PEP is a document that describes new features proposed for Python and documents aspects of Python, like design and style, for the community. + +# The Zen of Python +Long time Pythoneer Tim Peters succinctly channels the BDFL’s guiding principles for Python’s design into 20 aphorisms, only 19 of which have been written down. +```Beautiful is better than ugly. +Explicit is better than implicit. +Simple is better than complex. +Complex is better than complicated. +Flat is better than nested. +Sparse is better than dense. +Readability counts. +Special cases aren't special enough to break the rules. +Although practicality beats purity. +Errors should never pass silently. +Unless explicitly silenced. +In the face of ambiguity, refuse the temptation to guess. +There should be one-- and preferably only one --obvious way to do it. +Although that way may not be obvious at first unless you're Dutch. +Now is better than never. +Although never is often better than *right* now. +If the implementation is hard to explain, it's a bad idea. +If the implementation is easy to explain, it may be a good idea. +Namespaces are one honking great idea -- let's do more of those! +``` + +## Easter egg +```python +import this +``` +## [Next Lesson>>](https://replit.com/@codewithharry/30-Day30-Recursion) \ No newline at end of file diff --git a/100-days-of-code-youtube/29-Day29-Docstrings/.tutorial/video.json b/100-days-of-code-youtube/29-Day29-Docstrings/.tutorial/video.json new file mode 100644 index 00000000..c703e829 --- /dev/null +++ b/100-days-of-code-youtube/29-Day29-Docstrings/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/SJzsNd7SM0g" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/29-Day29-Docstrings/main.py b/100-days-of-code-youtube/29-Day29-Docstrings/main.py new file mode 100644 index 00000000..7a831435 --- /dev/null +++ b/100-days-of-code-youtube/29-Day29-Docstrings/main.py @@ -0,0 +1,5 @@ +def square(n): + '''Takes in a number n, returns the square of n''' + print(n**2) +square(5) +print(square.__doc__) \ No newline at end of file diff --git a/100-days-of-code-youtube/30-Day30-Recursion/.tutorial/Tutorial.md b/100-days-of-code-youtube/30-Day30-Recursion/.tutorial/Tutorial.md new file mode 100644 index 00000000..5bb4c9ca --- /dev/null +++ b/100-days-of-code-youtube/30-Day30-Recursion/.tutorial/Tutorial.md @@ -0,0 +1,25 @@ +# Recursion in python +Recursion is the process of defining something in terms of itself. + +## Python Recursive Function +In Python, we know that a function can call other functions. It is even possible for the function to call itself. These types of construct are termed as recursive functions. +## Example: +```python +def factorial(num): + if (num == 1 or num == 0): + return 1 + else: + return (num * factorial(num - 1)) + +# Driver Code +num = 7; +print("Number: ",num) +print("Factorial: ",factorial(num)) + ``` + +## Output: +``` +number: 7 +Factorial: 5040 +``` +## [Next Lesson>>](https://replit.com/@codewithharry/31-Day31-Sets) \ No newline at end of file diff --git a/100-days-of-code-youtube/30-Day30-Recursion/.tutorial/video.json b/100-days-of-code-youtube/30-Day30-Recursion/.tutorial/video.json new file mode 100644 index 00000000..e99a1060 --- /dev/null +++ b/100-days-of-code-youtube/30-Day30-Recursion/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/XYwJKFB8DUk" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/30-Day30-Recursion/main.py b/100-days-of-code-youtube/30-Day30-Recursion/main.py new file mode 100644 index 00000000..92ce0c14 --- /dev/null +++ b/100-days-of-code-youtube/30-Day30-Recursion/main.py @@ -0,0 +1,29 @@ +# factorial(7) = 7*6*5*4*3*2*1 +# factorial(6) = 6*5*4*3*2*1 +# factorial(5) = 5*4*3*2*1 +# factorial(4) = 4*3*2*1 +# factorial(0) = 1 + + +# factorial(n) = n * factorial(n-1) +def factorial(n): + if (n == 0 or n == 1): + return 1 + else: + return n * factorial(n - 1) + + +print(factorial(5)) +# 5 * factorial(4) +# 5 * 4 * factorial(3) +# 5 * 4 * 3 * factorial(2) +# 5 * 4 * 3 * 2 * factorial(1) +# 5 * 4 * 3 * 2 * 1 + +# Quick Quiz: Write a program to print the Fibonacci sequence +# f(0) = 0 +# f(1) = 1 +# f(2) = f(1) + f(0) +# f(n) = f(n-1) + f(n-2) + +# 0 1 1 2 3 5 8.... \ No newline at end of file diff --git a/100-days-of-code-youtube/31-Day31-Sets/.tutorial/Tutorial.md b/100-days-of-code-youtube/31-Day31-Sets/.tutorial/Tutorial.md new file mode 100644 index 00000000..a0a3de50 --- /dev/null +++ b/100-days-of-code-youtube/31-Day31-Sets/.tutorial/Tutorial.md @@ -0,0 +1,39 @@ +# Python Sets +Sets are unordered collection of data items. They store multiple items in a single variable. Set items are separated by commas and enclosed within curly brackets {}. Sets are unchangeable, meaning you cannot change items of the set once created. Sets do not contain duplicate items. + + + +#### Example: +```python +info = {"Carla", 19, False, 5.9, 19} +print(info) +``` +#### Output: +``` +{False, 19, 5.9, 'Carla'} + ``` + +Here we see that the items of set occur in random order and hence they cannot be accessed using index numbers. Also sets do not allow duplicate values. + + **Quick Quiz:** Try to create an empty set. Check using the type() function whether the type of your variable is a set + +## Accessing set items: + + +### Using a For loop +You can access items of set using a for loop. + +#### Example: +```python +info = {"Carla", 19, False, 5.9} +for item in info: + print(item) + ``` +#### Output: +``` +False +Carla +19 +5.9 +``` +## [Next Lesson>>](https://replit.com/@codewithharry/32-Day32-Set-Methods) \ No newline at end of file diff --git a/100-days-of-code-youtube/31-Day31-Sets/.tutorial/video.json b/100-days-of-code-youtube/31-Day31-Sets/.tutorial/video.json new file mode 100644 index 00000000..8ed57109 --- /dev/null +++ b/100-days-of-code-youtube/31-Day31-Sets/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/l3kCO8cVA6o" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/31-Day31-Sets/main.py b/100-days-of-code-youtube/31-Day31-Sets/main.py new file mode 100644 index 00000000..f3b83989 --- /dev/null +++ b/100-days-of-code-youtube/31-Day31-Sets/main.py @@ -0,0 +1,11 @@ +s = {2, 4, 2, 6} +print(s) + +info = {"Carla", 19, False, 5.9, 19} +print(info) + +harry = set() +print(type(harry)) + +for value in info: + print(value) \ No newline at end of file diff --git a/100-days-of-code-youtube/32-Day32-Set-Methods/.tutorial/01 joining sets.md b/100-days-of-code-youtube/32-Day32-Set-Methods/.tutorial/01 joining sets.md new file mode 100644 index 00000000..9841d9d3 --- /dev/null +++ b/100-days-of-code-youtube/32-Day32-Set-Methods/.tutorial/01 joining sets.md @@ -0,0 +1,111 @@ +# Joining Sets +Sets in python more or less work in the same way as sets in mathematics. We can perform operations like union and intersection on the sets just like in mathematics. + + + +## I. union() and update(): +The union() and update() methods prints all items that are present in the two sets. The union() method returns a new set whereas update() method adds item into the existing set from another set. + +#### Example: +```python +cities = {"Tokyo", "Madrid", "Berlin", "Delhi"} +cities2 = {"Tokyo", "Seoul", "Kabul", "Madrid"} +cities3 = cities.union(cities2) +print(cities3) +``` +#### Output: +``` +{'Tokyo', 'Madrid', 'Kabul', 'Seoul', 'Berlin', 'Delhi'} + ``` + +#### Example: +```python +cities = {"Tokyo", "Madrid", "Berlin", "Delhi"} +cities2 = {"Tokyo", "Seoul", "Kabul", "Madrid"} +cities.update(cities2) +print(cities) +``` +#### Output: +``` +{'Berlin', 'Madrid', 'Tokyo', 'Delhi', 'Kabul', 'Seoul'} + +``` +## II. intersection and intersection_update(): +The intersection() and intersection_update() methods prints only items that are similar to both the sets. The intersection() method returns a new set whereas intersection_update() method updates into the existing set from another set. + +#### Example: +```python +cities = {"Tokyo", "Madrid", "Berlin", "Delhi"} +cities2 = {"Tokyo", "Seoul", "Kabul", "Madrid"} +cities3 = cities.intersection(cities2) +print(cities3) +``` +#### Output: +``` +{'Madrid', 'Tokyo'} + ``` + +#### Example : +```python +cities = {"Tokyo", "Madrid", "Berlin", "Delhi"} +cities2 = {"Tokyo", "Seoul", "Kabul", "Madrid"} +cities.intersection_update(cities2) +print(cities) +``` +#### Output: +``` +{'Tokyo', 'Madrid'} +``` + +## III. symmetric_difference and symmetric_difference_update(): +The symmetric_difference() and symmetric_difference_update() methods prints only items that are not similar to both the sets. The symmetric_difference() method returns a new set whereas symmetric_difference_update() method updates into the existing set from another set. + +#### Example: +```python +cities = {"Tokyo", "Madrid", "Berlin", "Delhi"} +cities2 = {"Tokyo", "Seoul", "Kabul", "Madrid"} +cities3 = cities.symmetric_difference(cities2) +print(cities3) +``` +#### Output: +``` +{'Seoul', 'Kabul', 'Berlin', 'Delhi'} + ``` + +#### Example: +```python +cities = {"Tokyo", "Madrid", "Berlin", "Delhi"} +cities2 = {"Tokyo", "Seoul", "Kabul", "Madrid"} +cities.symmetric_difference_update(cities2) +print(cities) +``` +#### Output: +``` +{'Kabul', 'Delhi', 'Berlin', 'Seoul'} + ``` + +## IV. difference() and difference_update(): +The difference() and difference_update() methods prints only items that are only present in the original set and not in both the sets. The difference() method returns a new set whereas difference_update() method updates into the existing set from another set. + +#### Example: +```python +cities = {"Tokyo", "Madrid", "Berlin", "Delhi"} +cities2 = {"Seoul", "Kabul", "Delhi"} +cities3 = cities.difference(cities2) +print(cities3) +``` +#### Output: +``` +{'Tokyo', 'Madrid', 'Berlin'} + ``` + +#### Example: +```python +cities = {"Tokyo", "Madrid", "Berlin", "Delhi"} +cities2 = {"Seoul", "Kabul", "Delhi"} +print(cities.difference(cities2)) +``` +#### Output: +``` +{'Tokyo', 'Berlin', 'Madrid'} +``` \ No newline at end of file diff --git a/100-days-of-code-youtube/32-Day32-Set-Methods/.tutorial/02 set methods.md b/100-days-of-code-youtube/32-Day32-Set-Methods/.tutorial/02 set methods.md new file mode 100644 index 00000000..1d2ffd94 --- /dev/null +++ b/100-days-of-code-youtube/32-Day32-Set-Methods/.tutorial/02 set methods.md @@ -0,0 +1,168 @@ +# Set Methods +There are several in-built methods used for the manipulation of set.They are explained below +## isdisjoint(): +The isdisjoint() method checks if items of given set are present in another set. This method returns False if items are present, else it returns True. + +#### Example: +```python +cities = {"Tokyo", "Madrid", "Berlin", "Delhi"} +cities2 = {"Tokyo", "Seoul", "Kabul", "Madrid"} +print(cities.isdisjoint(cities2)) +``` +#### Output: + +False + + +## issuperset(): +The issuperset() method checks if all the items of a particular set are present in the original set. It returns True if all the items are present, else it returns False. + +#### Example: +```python +cities = {"Tokyo", "Madrid", "Berlin", "Delhi"} +cities2 = {"Seoul", "Kabul"} +print(cities.issuperset(cities2)) +cities3 = {"Seoul", "Madrid","Kabul"} +print(cities.issuperset(cities3)) +``` +#### Output: + +False\ +False + +## issubset(): +The issubset() method checks if all the items of the original set are present in the particular set. It returns True if all the items are present, else it returns False. + +#### Example: +```python +cities = {"Tokyo", "Madrid", "Berlin", "Delhi"} +cities2 = {"Delhi", "Madrid"} +print(cities2.issubset(cities)) +``` +#### Output: + +True +# add() +If you want to add a single item to the set use the add() method. + +#### Example: +```python +cities = {"Tokyo", "Madrid", "Berlin", "Delhi"} +cities.add("Helsinki") +print(cities) +``` +#### Output: + +{'Tokyo', 'Helsinki', 'Madrid', 'Berlin', 'Delhi'} + +## update() +If you want to add more than one item, simply create another set or any other iterable object(list, tuple, dictionary), and use the update() method to add it into the existing set. + +#### Example: +```python +cities = {"Tokyo", "Madrid", "Berlin", "Delhi"} +cities2 = {"Helsinki", "Warsaw", "Seoul"} +cities.update(cities2) +print(cities) +``` +#### Output: + +{'Seoul', 'Berlin', 'Delhi', 'Tokyo', 'Warsaw', 'Helsinki', 'Madrid'} + + + + +# remove()/discard() +We can use remove() and discard() methods to remove items form list. + +#### Example : +```python +cities = {"Tokyo", "Madrid", "Berlin", "Delhi"} +cities.remove("Tokyo") +print(cities) +``` +#### Output: + +{'Delhi', 'Berlin', 'Madrid'} + + + + +The main difference between remove and discard is that, if we try to delete an item which is not present in set, then remove() raises an error, whereas discard() does not raise any error. + +#### Example: +```python +cities = {"Tokyo", "Madrid", "Berlin", "Delhi"} +cities.remove("Seoul") +print(cities) +``` +#### Output: + +KeyError: 'Seoul' + +# pop() +This method removes the last item of the set but the catch is that we don’t know which item gets popped as sets are unordered. However, you can access the popped item if you assign the pop() method to a variable. + +#### Example: +```python +cities = {"Tokyo", "Madrid", "Berlin", "Delhi"} +item = cities.pop() +print(cities) +print(item) +``` +#### Output: + +{'Tokyo', 'Delhi', 'Berlin'} +Madrid + + +## del +del is not a method, rather it is a keyword which deletes the set entirely. + +#### Example: +```python +cities = {"Tokyo", "Madrid", "Berlin", "Delhi"} +del cities +print(cities) +``` +#### Output: + +NameError: name 'cities' is not defined +We get an error because our entire set has been deleted and there is no variable called cities which contains a set. + + + +What if we don’t want to delete the entire set, we just want to delete all items within that set? + + + +## clear(): +This method clears all items in the set and prints an empty set. + +#### Example: +```python +cities = {"Tokyo", "Madrid", "Berlin", "Delhi"} +cities.clear() +print(cities) +``` +#### Output: + +set() + + +## Check if item exists +You can also check if an item exists in the set or not. + +##### Example +```python +info = {"Carla", 19, False, 5.9} +if "Carla" in info: + print("Carla is present.") +else: + print("Carla is absent.") + ``` +#### Output: + +Carla is present. + +## [Next Lesson>>](https://replit.com/@codewithharry/33-Day-33-Dictionary) \ No newline at end of file diff --git a/100-days-of-code-youtube/32-Day32-Set-Methods/.tutorial/video.json b/100-days-of-code-youtube/32-Day32-Set-Methods/.tutorial/video.json new file mode 100644 index 00000000..2e7abe75 --- /dev/null +++ b/100-days-of-code-youtube/32-Day32-Set-Methods/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/HOrutCnp2zo" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/32-Day32-Set-Methods/main.py b/100-days-of-code-youtube/32-Day32-Set-Methods/main.py new file mode 100644 index 00000000..ad6b5707 --- /dev/null +++ b/100-days-of-code-youtube/32-Day32-Set-Methods/main.py @@ -0,0 +1,5 @@ +info = {"Carla", 19, False, 5.9} +if "Carla" in info: + print("Carla is present.") +else: + print("Carla is absent.") \ No newline at end of file diff --git a/100-days-of-code-youtube/33-Day-33-Dictionary/.tutorial/01-Dictionaries.md b/100-days-of-code-youtube/33-Day-33-Dictionary/.tutorial/01-Dictionaries.md new file mode 100644 index 00000000..cc58aaf3 --- /dev/null +++ b/100-days-of-code-youtube/33-Day-33-Dictionary/.tutorial/01-Dictionaries.md @@ -0,0 +1,71 @@ +# Python Dictionaries +Dictionaries are ordered collection of data items. They store multiple items in a single variable. Dictionary items are key-value pairs that are separated by commas and enclosed within curly brackets {}. + + + +#### Example: +```python +info = {'name':'Karan', 'age':19, 'eligible':True} +print(info) +``` +#### Output: +``` +{'name': 'Karan', 'age': 19, 'eligible': True} +``` +## Accessing Dictionary items: + + +### I. Accessing single values: +Values in a dictionary can be accessed using keys. We can access dictionary values by mentioning keys either in square brackets or by using get method. + +#### Example: +```python +info = {'name':'Karan', 'age':19, 'eligible':True} +print(info['name']) +print(info.get('eligible')) +``` +#### Output: +``` +Karan +True + ``` + +### II. Accessing multiple values: +We can print all the values in the dictionary using values() method. + +#### Example: +```python +info = {'name':'Karan', 'age':19, 'eligible':True} +print(info.values()) +``` +#### Output: +``` +dict_values(['Karan', 19, True]) + ``` + +### III. Accessing keys: +We can print all the keys in the dictionary using keys() method. + +#### Example: +```python +info = {'name':'Karan', 'age':19, 'eligible':True} +print(info.keys()) +``` +#### Output: +``` +dict_keys(['name', 'age', 'eligible']) + ``` + +### IV. Accessing key-value pairs: +We can print all the key-value pairs in the dictionary using items() method. + +#### Example: +```python +info = {'name':'Karan', 'age':19, 'eligible':True} +print(info.items()) +``` +#### Output: +``` +dict_items([('name', 'Karan'), ('age', 19), ('eligible', True)]) +``` +## [Next Lesson>>](https://replit.com/@codewithharry/34-Day34-Dictionary-Methods) diff --git a/100-days-of-code-youtube/33-Day-33-Dictionary/.tutorial/video.json b/100-days-of-code-youtube/33-Day-33-Dictionary/.tutorial/video.json new file mode 100644 index 00000000..87fc7a30 --- /dev/null +++ b/100-days-of-code-youtube/33-Day-33-Dictionary/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/j2G68uQtOwM" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/33-Day-33-Dictionary/main.py b/100-days-of-code-youtube/33-Day-33-Dictionary/main.py new file mode 100644 index 00000000..795fcd95 --- /dev/null +++ b/100-days-of-code-youtube/33-Day-33-Dictionary/main.py @@ -0,0 +1,12 @@ +info = {'name':'Karan', 'age':19, 'eligible':True} +# print(info) +# print(info.keys()) +# print(info.values()) + +# for key in info.keys(): +# print(f"The value corresponding to the key {key} is {info[key]}") + +print(info.items()) +for key, value in info.items(): + print(f"The value corresponding to the key {key} is {value}") + \ No newline at end of file diff --git a/100-days-of-code-youtube/34-Day34-Dictionary-Methods/.tutorial/01-Dictionary_methods.md b/100-days-of-code-youtube/34-Day34-Dictionary-Methods/.tutorial/01-Dictionary_methods.md new file mode 100644 index 00000000..81c0867b --- /dev/null +++ b/100-days-of-code-youtube/34-Day34-Dictionary-Methods/.tutorial/01-Dictionary_methods.md @@ -0,0 +1,92 @@ +# Dictionary Methods +Dictionary uses several built-in methods for manipulation.They are listed below +## update() +The update() method updates the value of the key provided to it if the item already exists in the dictionary, else it creates a new key-value pair. + +#### Example: +```python +info = {'name':'Karan', 'age':19, 'eligible':True} +print(info) +info.update({'age':20}) +info.update({'DOB':2001}) +print(info) +``` +#### Output: +``` +{'name': 'Karan', 'age': 19, 'eligible': True} +{'name': 'Karan', 'age': 20, 'eligible': True, 'DOB': 2001} + ``` + + + +## Removing items from dictionary: +There are a few methods that we can use to remove items from dictionary. + + + +### clear(): +The clear() method removes all the items from the list. +#### Example: +```python +info = {'name':'Karan', 'age':19, 'eligible':True} +info.clear() +print(info) +``` +#### Output: +``` +{} + ``` + +#### pop(): +The pop() method removes the key-value pair whose key is passed as a parameter. +#### Example: +```python +info = {'name':'Karan', 'age':19, 'eligible':True} +info.pop('eligible') +print(info) +``` +#### Output: +``` +{'name': 'Karan', 'age': 19} + ``` + +### popitem(): +The popitem() method removes the last key-value pair from the dictionary. +#### Example: +```python +info = {'name':'Karan', 'age':19, 'eligible':True, 'DOB':2003} +info.popitem() +print(info) +``` +#### Output: +``` +{'name': 'Karan', 'age': 19, 'eligible': True} + ``` + +### del: +we can also use the del keyword to remove a dictionary item. + +#### Example: +```python +info = {'name':'Karan', 'age':19, 'eligible':True, 'DOB':2003} +del info['age'] +print(info) +``` +#### Output: +``` +{'name': 'Karan', 'eligible': True, 'DOB': 2003} + ``` + +If key is not provided, then the del keyword will delete the dictionary entirely. + +#### Example: +```python +info = {'name':'Karan', 'age':19, 'eligible':True, 'DOB':2003} +del info +print(info) +``` +#### Output: +``` +NameError: name 'info' is not defined +``` +## [Next Lesson>>](https://replit.com/@codewithharry/35-Day-35-For-loop-with-else) \ No newline at end of file diff --git a/100-days-of-code-youtube/34-Day34-Dictionary-Methods/.tutorial/video.json b/100-days-of-code-youtube/34-Day34-Dictionary-Methods/.tutorial/video.json new file mode 100644 index 00000000..62f887b1 --- /dev/null +++ b/100-days-of-code-youtube/34-Day34-Dictionary-Methods/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/LmbFwaLjT9k" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/34-Day34-Dictionary-Methods/main.py b/100-days-of-code-youtube/34-Day34-Dictionary-Methods/main.py new file mode 100644 index 00000000..d85bdb27 --- /dev/null +++ b/100-days-of-code-youtube/34-Day34-Dictionary-Methods/main.py @@ -0,0 +1,9 @@ +ep1 = {122: 45, 123: 89, 567: 69, 670: 69} +ep2 = {222: 67, 566: 90} + +# ep1.update(ep2) +# ep1.clear() +# ep1.pop(122) +ep1.popitem() +del ep1[122] +print(ep1) \ No newline at end of file diff --git a/100-days-of-code-youtube/35-Day-35-For-loop-with-else/.tutorial/Tutorial.md b/100-days-of-code-youtube/35-Day-35-For-loop-with-else/.tutorial/Tutorial.md new file mode 100644 index 00000000..6d0a9771 --- /dev/null +++ b/100-days-of-code-youtube/35-Day-35-For-loop-with-else/.tutorial/Tutorial.md @@ -0,0 +1,30 @@ +# Python - else in Loop +As you have learned before, the else clause is used along with the if statement. + +Python allows the else keyword to be used with the for and while loops too. The else block appears after the body of the loop. The statements in the else block will be executed after all iterations are completed. The program exits the loop only after the else block is executed. +## Syntax +``` +for counter in sequence: + #Statements inside for loop block +else: + #Statements inside else block +``` +## Example: +``` +for x in range(5): + print ("iteration no {} in for loop".format(x+1)) +else: + print ("else block in loop") +print ("Out of loop") +``` +## Output: +``` +iteration no 1 in for loop +iteration no 2 in for loop +iteration no 3 in for loop +iteration no 4 in for loop +iteration no 5 in for loop +else block in loop +Out of loop +``` +## [Next Lesson>>](https://replit.com/@codewithharry/36-Day36-Exception-Handling) diff --git a/100-days-of-code-youtube/35-Day-35-For-loop-with-else/.tutorial/video.json b/100-days-of-code-youtube/35-Day-35-For-loop-with-else/.tutorial/video.json new file mode 100644 index 00000000..fe59adee --- /dev/null +++ b/100-days-of-code-youtube/35-Day-35-For-loop-with-else/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/qUkcIgErZzc" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/35-Day-35-For-loop-with-else/main.py b/100-days-of-code-youtube/35-Day-35-For-loop-with-else/main.py new file mode 100644 index 00000000..fcf1b17b --- /dev/null +++ b/100-days-of-code-youtube/35-Day-35-For-loop-with-else/main.py @@ -0,0 +1,15 @@ +i = 0 +while i<7: + print(i) + i = i + 1 + # if i == 4: + # break + +else: + print("Sorry no i") + +for x in range(5): + print ("iteration no {} in for loop".format(x+1)) +else: + print ("else block in loop") +print ("Out of loop") \ No newline at end of file diff --git a/100-days-of-code-youtube/36-Day36-Exception-Handling/.tutorial/Tutorial.md b/100-days-of-code-youtube/36-Day36-Exception-Handling/.tutorial/Tutorial.md new file mode 100644 index 00000000..3d72655d --- /dev/null +++ b/100-days-of-code-youtube/36-Day36-Exception-Handling/.tutorial/Tutorial.md @@ -0,0 +1,33 @@ +# Exception Handling +Exception handling is the process of responding to unwanted or unexpected events when a computer program runs. Exception handling deals with these events to avoid the program or system crashing, and without this process, exceptions would disrupt the normal operation of a program. +# Exceptions in Python +Python has many built-in exceptions that are raised when your program encounters an error (something in the program goes wrong). + +When these exceptions occur, the Python interpreter stops the current process and passes it to the calling process until it is handled. If not handled, the program will crash. + +# Python try...except +try….. except blocks are used in python to handle errors and exceptions. The code in try block runs when there is no error. If the try block catches the error, then the except block is executed. + + ## Syntax: + ```python + try: + #statements which could generate + #exception +except: + #Soloution of generated exception +``` +## Example: +```python +try: + num = int(input("Enter an integer: ")) +except ValueError: + print("Number entered is not an integer.") + ``` + +## Output: +``` +Enter an integer: 6.022 +Number entered is not an integer. +``` + +## [Next Lesson>>](https://replit.com/@codewithharry/37-Day37-Finally-keyword) \ No newline at end of file diff --git a/100-days-of-code-youtube/36-Day36-Exception-Handling/.tutorial/video.json b/100-days-of-code-youtube/36-Day36-Exception-Handling/.tutorial/video.json new file mode 100644 index 00000000..3af0c611 --- /dev/null +++ b/100-days-of-code-youtube/36-Day36-Exception-Handling/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/4LKo6dlku7M" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/36-Day36-Exception-Handling/main.py b/100-days-of-code-youtube/36-Day36-Exception-Handling/main.py new file mode 100644 index 00000000..be11a374 --- /dev/null +++ b/100-days-of-code-youtube/36-Day36-Exception-Handling/main.py @@ -0,0 +1,20 @@ +# a = input("Enter the number: ") +# print(f"Multiplication table of {a} is: ") +# try: +# for i in range(1, 11): +# print(f"{int(a)} X {i} = {int(a)*i}") +# except: +# print("Invalid Input!") + +# print("Some imp lines of code") +# print("End of program") + +try: + num = int(input("Enter an integer: ")) + a = [6, 3] + print(a[num]) +except ValueError: + print("Number entered is not an integer.") + +except IndexError: + print("Index Error") \ No newline at end of file diff --git a/100-days-of-code-youtube/37-Day37-Finally-keyword/.tutorial/Tutorial.md b/100-days-of-code-youtube/37-Day37-Finally-keyword/.tutorial/Tutorial.md new file mode 100644 index 00000000..04cf2de6 --- /dev/null +++ b/100-days-of-code-youtube/37-Day37-Finally-keyword/.tutorial/Tutorial.md @@ -0,0 +1,42 @@ +# Finally Clause +The finally code block is also a part of exception handling. When we handle exception using the try and except block, we can include a finally block at the end. The finally block is always executed, so it is generally used for doing the concluding tasks like closing file resources or closing database connection or may be ending the program execution with a delightful message. +# Syntax: +``` +try: + #statements which could generate + #exception +except: + #solution of generated exception +finally: + #block of code which is going to + #execute in any situation + + +``` +The finally block is executed irrespective of the outcome of try……except…..else blocks\ +One of the important use cases of finally block is in a function which returns a value. +# Example: +```python +try: + num = int(input("Enter an integer: ")) +except ValueError: + print("Number entered is not an integer.") +else: + print("Integer Accepted.") +finally: + print("This block is always executed.") + ``` + +## Output 1: +``` +Enter an integer: 19 +Integer Accepted. +This block is always executed. +``` +## Output 2: +``` +Enter an integer: 3.142 +Number entered is not an integer. +This block is always executed. +``` +## [Next Lesson>>](https://replit.com/@codewithharry/38-Day38-Custom-Errors) \ No newline at end of file diff --git a/100-days-of-code-youtube/37-Day37-Finally-keyword/.tutorial/video.json b/100-days-of-code-youtube/37-Day37-Finally-keyword/.tutorial/video.json new file mode 100644 index 00000000..b20f07df --- /dev/null +++ b/100-days-of-code-youtube/37-Day37-Finally-keyword/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/r_iuC-IDpPM" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/37-Day37-Finally-keyword/main.py b/100-days-of-code-youtube/37-Day37-Finally-keyword/main.py new file mode 100644 index 00000000..5b2f99fb --- /dev/null +++ b/100-days-of-code-youtube/37-Day37-Finally-keyword/main.py @@ -0,0 +1,17 @@ +def func1(): + try: + l = [1, 5, 6, 7] + i = int(input("Enter the index: ")) + print(l[i]) + return 1 + except: + print("Some error occurred") + return 0 + + finally: + print("I am always executed") + # print("I am always executed") + + +x = func1() +print(x) diff --git a/100-days-of-code-youtube/38-Day38-Custom-Errors/.tutorial/Tutorial.md b/100-days-of-code-youtube/38-Day38-Custom-Errors/.tutorial/Tutorial.md new file mode 100644 index 00000000..df337893 --- /dev/null +++ b/100-days-of-code-youtube/38-Day38-Custom-Errors/.tutorial/Tutorial.md @@ -0,0 +1,28 @@ +## Raising Custom errors +In python, we can raise custom errors by using the `raise` keyword. +```python +salary = int(input("Enter salary amount: ")) +if not 2000 < salary < 5000: + raise ValueError("Not a valid salary") +``` + +In the previous tutorial, we learned about different built-in exceptions in Python and why it is important to handle exceptions. However, sometimes we may need to create our own custom exceptions that serve our purpose. + +## Defining Custom Exceptions +In Python, we can define custom exceptions by creating a new class that is derived from the built-in Exception class. + +Here's the syntax to define custom exceptions: +```python +class CustomError(Exception): + # code ... + pass + +try: + # code ... + +except CustomError: + # code... +``` + +This is useful because sometimes we might want to do something when a particular exception is raised. For example, sending an error report to the admin, calling an api, etc. +## [Next Lesson>>](https://replit.com/@codewithharry/39-Day39-Exercise-3-Solution) \ No newline at end of file diff --git a/100-days-of-code-youtube/38-Day38-Custom-Errors/.tutorial/video.json b/100-days-of-code-youtube/38-Day38-Custom-Errors/.tutorial/video.json new file mode 100644 index 00000000..eb1ee395 --- /dev/null +++ b/100-days-of-code-youtube/38-Day38-Custom-Errors/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/Phr4CNppYoM" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/38-Day38-Custom-Errors/main.py b/100-days-of-code-youtube/38-Day38-Custom-Errors/main.py new file mode 100644 index 00000000..f82a39ac --- /dev/null +++ b/100-days-of-code-youtube/38-Day38-Custom-Errors/main.py @@ -0,0 +1,5 @@ +a = int(input("Enter any value between 5 and 9")) + +if(a<5 or a>9): + raise ValueError("Value should be between 5 and 9") + \ No newline at end of file diff --git a/100-days-of-code-youtube/39-Day39-Exercise-3-Solution (1)/.tutorial/Tutorial.md b/100-days-of-code-youtube/39-Day39-Exercise-3-Solution (1)/.tutorial/Tutorial.md new file mode 100644 index 00000000..5c2e43f8 --- /dev/null +++ b/100-days-of-code-youtube/39-Day39-Exercise-3-Solution (1)/.tutorial/Tutorial.md @@ -0,0 +1,5 @@ +Create a program capable of displaying questions to the user like KBC. +Use List data type to store the questions and their correct answers. +Display the final amount the person is taking home after playing the game. + +## [Next Lesson>>](https://replit.com/@codewithharry/40-Day40-Exercise-4) \ No newline at end of file diff --git a/100-days-of-code-youtube/39-Day39-Exercise-3-Solution (1)/.tutorial/video.json b/100-days-of-code-youtube/39-Day39-Exercise-3-Solution (1)/.tutorial/video.json new file mode 100644 index 00000000..6725460f --- /dev/null +++ b/100-days-of-code-youtube/39-Day39-Exercise-3-Solution (1)/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/nyfeYAxP-EM" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/39-Day39-Exercise-3-Solution (1)/file.txt b/100-days-of-code-youtube/39-Day39-Exercise-3-Solution (1)/file.txt new file mode 100644 index 00000000..9c138b02 --- /dev/null +++ b/100-days-of-code-youtube/39-Day39-Exercise-3-Solution (1)/file.txt @@ -0,0 +1,28 @@ +Rs. 1 Crore +Rs. 2 Crore +– – ₹7 Crore – ₹1 Crore ₹75,00,000 + +14 Rs. 50,00,000 +Rs. 1 Crore +– – ₹5 Crore +₹7 Crore +₹50,00,000 ₹50,00,000 +13 Rs. 25,00,000 +Rs. 50,00,000 +₹5 Crore +₹5 Crore +₹3 Crore +₹3 Crore +₹25,00,000 +₹25,00,000 + +12 Rs. 12,50,000 +Rs. 25,00,000 +₹1 Crore +₹1 Crore +₹1 Crore +₹1 Crore +₹12,50,000 +₹12,50,000 + +11 Rs. 6,40,000 diff --git a/100-days-of-code-youtube/39-Day39-Exercise-3-Solution (1)/main.py b/100-days-of-code-youtube/39-Day39-Exercise-3-Solution (1)/main.py new file mode 100644 index 00000000..3628b9ff --- /dev/null +++ b/100-days-of-code-youtube/39-Day39-Exercise-3-Solution (1)/main.py @@ -0,0 +1,124 @@ +questions = [ + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], +] + +levels = [1000, 2000, 3000, 5000, 10000, 20000, 40000, 80000, 160000, 320000] +money = 0 +for i in range(0, len(questions)): + + question = questions[i] + print(f"\n\nQuestion for Rs. {levels[i]}") + print(f"a. {question[1]} b. {question[2]} ") + print(f"c. {question[3]} d. {question[4]} ") + reply = int(input("Enter your answer (1-4) or 0 to quit:\n" )) + if (reply == 0): + money = levels[i-1] + break + if(reply == question[-1]): + print(f"Correct answer, you have won Rs. {levels[i]}") + if(i == 4): + money = 10000 + elif(i == 9): + money = 320000 + elif(i == 14): + money = 10000000 + else: + print("Wrong answer!") + break + +print(f"Your take home money is {money}") \ No newline at end of file diff --git a/100-days-of-code-youtube/39-Day39-Exercise-3-Solution/.tutorial/Tutorial.md b/100-days-of-code-youtube/39-Day39-Exercise-3-Solution/.tutorial/Tutorial.md new file mode 100644 index 00000000..5c2e43f8 --- /dev/null +++ b/100-days-of-code-youtube/39-Day39-Exercise-3-Solution/.tutorial/Tutorial.md @@ -0,0 +1,5 @@ +Create a program capable of displaying questions to the user like KBC. +Use List data type to store the questions and their correct answers. +Display the final amount the person is taking home after playing the game. + +## [Next Lesson>>](https://replit.com/@codewithharry/40-Day40-Exercise-4) \ No newline at end of file diff --git a/100-days-of-code-youtube/39-Day39-Exercise-3-Solution/.tutorial/video.json b/100-days-of-code-youtube/39-Day39-Exercise-3-Solution/.tutorial/video.json new file mode 100644 index 00000000..6725460f --- /dev/null +++ b/100-days-of-code-youtube/39-Day39-Exercise-3-Solution/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/nyfeYAxP-EM" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/39-Day39-Exercise-3-Solution/file.txt b/100-days-of-code-youtube/39-Day39-Exercise-3-Solution/file.txt new file mode 100644 index 00000000..9c138b02 --- /dev/null +++ b/100-days-of-code-youtube/39-Day39-Exercise-3-Solution/file.txt @@ -0,0 +1,28 @@ +Rs. 1 Crore +Rs. 2 Crore +– – ₹7 Crore – ₹1 Crore ₹75,00,000 + +14 Rs. 50,00,000 +Rs. 1 Crore +– – ₹5 Crore +₹7 Crore +₹50,00,000 ₹50,00,000 +13 Rs. 25,00,000 +Rs. 50,00,000 +₹5 Crore +₹5 Crore +₹3 Crore +₹3 Crore +₹25,00,000 +₹25,00,000 + +12 Rs. 12,50,000 +Rs. 25,00,000 +₹1 Crore +₹1 Crore +₹1 Crore +₹1 Crore +₹12,50,000 +₹12,50,000 + +11 Rs. 6,40,000 diff --git a/100-days-of-code-youtube/39-Day39-Exercise-3-Solution/main.py b/100-days-of-code-youtube/39-Day39-Exercise-3-Solution/main.py new file mode 100644 index 00000000..3628b9ff --- /dev/null +++ b/100-days-of-code-youtube/39-Day39-Exercise-3-Solution/main.py @@ -0,0 +1,124 @@ +questions = [ + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], + [ + "Which language was used to create fb?", "Python", "French", "JavaScript", + "Php", "None", 4 + ], +] + +levels = [1000, 2000, 3000, 5000, 10000, 20000, 40000, 80000, 160000, 320000] +money = 0 +for i in range(0, len(questions)): + + question = questions[i] + print(f"\n\nQuestion for Rs. {levels[i]}") + print(f"a. {question[1]} b. {question[2]} ") + print(f"c. {question[3]} d. {question[4]} ") + reply = int(input("Enter your answer (1-4) or 0 to quit:\n" )) + if (reply == 0): + money = levels[i-1] + break + if(reply == question[-1]): + print(f"Correct answer, you have won Rs. {levels[i]}") + if(i == 4): + money = 10000 + elif(i == 9): + money = 320000 + elif(i == 14): + money = 10000000 + else: + print("Wrong answer!") + break + +print(f"Your take home money is {money}") \ No newline at end of file diff --git a/100-days-of-code-youtube/40-Day40-Exercise-4/.tutorial/tutorial.md b/100-days-of-code-youtube/40-Day40-Exercise-4/.tutorial/tutorial.md new file mode 100644 index 00000000..079905ff --- /dev/null +++ b/100-days-of-code-youtube/40-Day40-Exercise-4/.tutorial/tutorial.md @@ -0,0 +1,15 @@ +# Write a python program to translate a message into secret code language. Use the rules below to translate normal English into secret code language + +# Coding: +if the word contains atleast 3 characters, remove the first letter and append it at the end +now append three random characters at the starting and the end +else: +simply reverse the string + +## Decoding: +if the word contains less than 3 characters, reverse it +else: +remove 3 random characters from start and end. Now remove the last letter and append it to the beginning + +### Your program should ask whether you want to code or decode +## [Next Lesson>>](https://replit.com/@codewithharry/41-Day41-Short-Hand-if-else) \ No newline at end of file diff --git a/100-days-of-code-youtube/40-Day40-Exercise-4/.tutorial/video.json b/100-days-of-code-youtube/40-Day40-Exercise-4/.tutorial/video.json new file mode 100644 index 00000000..ddeb5dbf --- /dev/null +++ b/100-days-of-code-youtube/40-Day40-Exercise-4/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/pOWJ6WgVRIU" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/40-Day40-Exercise-4/main.py b/100-days-of-code-youtube/40-Day40-Exercise-4/main.py new file mode 100644 index 00000000..6a473af1 --- /dev/null +++ b/100-days-of-code-youtube/40-Day40-Exercise-4/main.py @@ -0,0 +1,14 @@ +# Write a python program to translate a message into secret code language. Use the rules below to translate normal English into secret code language + +# Coding: +# if the word contains atleast 3 characters, remove the first letter and append it at the end +# now append three random characters at the starting and the end +# else: +# simply reverse the string + +# Decoding: +# if the word contains less than 3 characters, reverse it +# else: +# remove 3 random characters from start and end. Now remove the last letter and append it to the beginning + +# Your program should ask whether you want to code or decode diff --git a/100-days-of-code-youtube/41-Day41-Short-Hand-if-else/.tutorial/Tutorial.md b/100-days-of-code-youtube/41-Day41-Short-Hand-if-else/.tutorial/Tutorial.md new file mode 100644 index 00000000..7f382d49 --- /dev/null +++ b/100-days-of-code-youtube/41-Day41-Short-Hand-if-else/.tutorial/Tutorial.md @@ -0,0 +1,36 @@ +## If ... Else in One Line +There is also a shorthand syntax for the if-else statement that can be used when the condition being tested is simple and the code blocks to be executed are short. Here's an example: +```python +a = 2 +b = 330 +print("A") if a > b else print("B") +``` + +You can also have multiple else statements on the same line: + +## Example +One line if else statement, with 3 conditions: +```python +a = 330 +b = 330 +print("A") if a > b else print("=") if a == b else print("B") +``` + +## Another Example +```python +result = value_if_true if condition else value_if_false + +``` + +This syntax is equivalent to the following if-else statement: +```python +if condition: + result = value_if_true +else: + result = value_if_false + +``` +## Conclusion +The shorthand syntax can be a convenient way to write simple if-else statements, especially when you want to assign a value to a variable based on a condition. \ +However, it's not suitable for more complex situations where you need to execute multiple statements or perform more complex logic. In those cases, it's best to use the full if-else syntax. +## [Next Lesson>>](https://replit.com/@codewithharry/42-Day-42-Enumerate) \ No newline at end of file diff --git a/100-days-of-code-youtube/41-Day41-Short-Hand-if-else/.tutorial/video.json b/100-days-of-code-youtube/41-Day41-Short-Hand-if-else/.tutorial/video.json new file mode 100644 index 00000000..f34bad8d --- /dev/null +++ b/100-days-of-code-youtube/41-Day41-Short-Hand-if-else/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/Qqx_zNmQVGI" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/41-Day41-Short-Hand-if-else/main.py b/100-days-of-code-youtube/41-Day41-Short-Hand-if-else/main.py new file mode 100644 index 00000000..d288fd44 --- /dev/null +++ b/100-days-of-code-youtube/41-Day41-Short-Hand-if-else/main.py @@ -0,0 +1,6 @@ +a = 330000 +b = 3303 +print("A") if a > b else print("=") if a == b else print("B") + +c = 9 if a>b else 0 +print(c) \ No newline at end of file diff --git a/100-days-of-code-youtube/42-Day-42-Enumerate/.tutorial/Tutorial.md b/100-days-of-code-youtube/42-Day-42-Enumerate/.tutorial/Tutorial.md new file mode 100644 index 00000000..fcff01b3 --- /dev/null +++ b/100-days-of-code-youtube/42-Day-42-Enumerate/.tutorial/Tutorial.md @@ -0,0 +1,73 @@ +# Enumerate function in python +The enumerate function is a built-in function in Python that allows you to loop over a sequence (such as a list, tuple, or string) and get the index and value of each element in the sequence at the same time. Here's a basic example of how it works: +```python +# Loop over a list and print the index and value of each element +fruits = ['apple', 'banana', 'mango'] +for index, fruit in enumerate(fruits): + print(index, fruit) + +``` + +The output of this code will be: + +```python +0 apple +1 banana +2 mango + +``` +As you can see, the enumerate function returns a tuple containing the index and value of each element in the sequence. You can use the for loop to unpack these tuples and assign them to variables, as shown in the example above. +# Changing the start index +By default, the enumerate function starts the index at 0, but you can specify a different starting index by passing it as an argument to the enumerate function: + + +```python +# Loop over a list and print the index (starting at 1) and value of each element +fruits = ['apple', 'banana', 'mango'] +for index, fruit in enumerate(fruits, start=1): + print(index, fruit) + +``` + +This will output: +```python +1 apple +2 banana +3 mango + +``` + +The enumerate function is often used when you need to loop over a sequence and perform some action with both the index and value of each element. For example, you might use it to loop over a list of strings and print the index and value of each string in a formatted way: + +```python +fruits = ['apple', 'banana', 'mango'] +for index, fruit in enumerate(fruits): + print(f'{index+1}: {fruit}') + +``` +This will output: +```python +1: apple +2: banana +3: mango + +``` + +In addition to lists, you can use the enumerate function with any other sequence type in Python, such as tuples and strings. Here's an example with a tuple: + +```python +# Loop over a tuple and print the index and value of each element +colors = ('red', 'green', 'blue') +for index, color in enumerate(colors): + print(index, color) + +``` +And here's an example with a string: +```python +# Loop over a string and print the index and value of each character +s = 'hello' +for index, c in enumerate(s): + print(index, c) + +``` +## [Next Lesson>>](https://replit.com/@codewithharry/43-Day43-Virtual-Environment) diff --git a/100-days-of-code-youtube/42-Day-42-Enumerate/.tutorial/video.json b/100-days-of-code-youtube/42-Day-42-Enumerate/.tutorial/video.json new file mode 100644 index 00000000..d71cff7c --- /dev/null +++ b/100-days-of-code-youtube/42-Day-42-Enumerate/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/kGnYc_h1geM" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/42-Day-42-Enumerate/main.py b/100-days-of-code-youtube/42-Day-42-Enumerate/main.py new file mode 100644 index 00000000..7ce09af4 --- /dev/null +++ b/100-days-of-code-youtube/42-Day-42-Enumerate/main.py @@ -0,0 +1,13 @@ +marks = [12, 56, 32, 98, 12, 45, 1, 4] + +# index = 0 +# for mark in marks: +# print(mark) +# if(index == 3): +# print("Harry, awesome!") +# index +=1 + +for index, mark in enumerate(marks, start=1): + print(mark) + if(index == 3): + print("Harry, awesome!") \ No newline at end of file diff --git a/100-days-of-code-youtube/44-Day44-How-import-works/.tutorial/Tutorial.md b/100-days-of-code-youtube/44-Day44-How-import-works/.tutorial/Tutorial.md new file mode 100644 index 00000000..f7ec594f --- /dev/null +++ b/100-days-of-code-youtube/44-Day44-How-import-works/.tutorial/Tutorial.md @@ -0,0 +1,71 @@ +## How importing in python works +Importing in Python is the process of loading code from a Python module into the current script. This allows you to use the functions and variables defined in the module in your current script, as well as any additional modules that the imported module may depend on. + +To import a module in Python, you use the import statement followed by the name of the module. For example, to import the math module, which contains a variety of mathematical functions, you would use the following statement: + +```python +import math +``` +Once a module is imported, you can use any of the functions and variables defined in the module by using the dot notation. For example, to use the sqrt function from the math module, you would write: + +```python +import math + +result = math.sqrt(9) +print(result) # Output: 3.0 +``` + +## from keyword +You can also import specific functions or variables from a module using the from keyword. For example, to import only the sqrt function from the math module, you would write: + +```python +from math import sqrt + +result = sqrt(9) +print(result) # Output: 3.0 +``` +You can also import multiple functions or variables at once by separating them with a comma: + +```python +from math import sqrt, pi + +result = sqrt(9) +print(result) # Output: 3.0 + +print(pi) # Output: 3.141592653589793 +``` + +## importing everything +It's also possible to import all functions and variables from a module using the * wildcard. However, this is generally not recommended as it can lead to confusion and make it harder to understand where specific functions and variables are coming from. + +```python +from math import * + +result = sqrt(9) +print(result) # Output: 3.0 + +print(pi) # Output: 3.141592653589793 +``` +Python also allows you to rename imported modules using the as keyword. This can be useful if you want to use a shorter or more descriptive name for a module, or if you want to avoid naming conflicts with other modules or variables in your code. + +## The "as" keyword +```python +import math as m + +result = m.sqrt(9) +print(result) # Output: 3.0 + +print(m.pi) # Output: 3.141592653589793 +``` +## The dir function +Finally, Python has a built-in function called dir that you can use to view the names of all the functions and variables defined in a module. This can be helpful for exploring and understanding the contents of a new module. + +```python +import math + +print(dir(math)) +``` +This will output a list of all the names defined in the math module, including functions like sqrt and pi, as well as other variables and constants. + +In summary, the import statement in Python allows you to access the functions and variables defined in a module from within your current script. You can import the entire module, specific functions or variables, or use the * wildcard to import everything. You can also use the as keyword to rename a module, and the dir function to view the contents of a module. +## [Next Lesson>>](https://replit.com/@codewithharry/45-Day45-if-name-main-in-Python) \ No newline at end of file diff --git a/100-days-of-code-youtube/44-Day44-How-import-works/.tutorial/video.json b/100-days-of-code-youtube/44-Day44-How-import-works/.tutorial/video.json new file mode 100644 index 00000000..641c959d --- /dev/null +++ b/100-days-of-code-youtube/44-Day44-How-import-works/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/Pr7UOr35NcI" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/44-Day44-How-import-works/__pycache__/harry.cpython-38.pyc b/100-days-of-code-youtube/44-Day44-How-import-works/__pycache__/harry.cpython-38.pyc new file mode 100644 index 00000000..0bc2e721 Binary files /dev/null and b/100-days-of-code-youtube/44-Day44-How-import-works/__pycache__/harry.cpython-38.pyc differ diff --git a/100-days-of-code-youtube/44-Day44-How-import-works/harry.py b/100-days-of-code-youtube/44-Day44-How-import-works/harry.py new file mode 100644 index 00000000..745dbd2d --- /dev/null +++ b/100-days-of-code-youtube/44-Day44-How-import-works/harry.py @@ -0,0 +1,5 @@ +def welcome(): + print("Hey you are welcome my friend") + + +harry = "A good boy" \ No newline at end of file diff --git a/100-days-of-code-youtube/44-Day44-How-import-works/main.py b/100-days-of-code-youtube/44-Day44-How-import-works/main.py new file mode 100644 index 00000000..02b02baa --- /dev/null +++ b/100-days-of-code-youtube/44-Day44-How-import-works/main.py @@ -0,0 +1,15 @@ +# from math import sqrt, pi +# from math import pi, sqrt as s +# import math as math_builtin_python + +# result = math_builtin_python.sqrt(9) * math_builtin_python.pi +# print(result) # Output: 3.0 + +# from harry import welcome, harry +import harry as hr +import math + +print(dir(math)) +print(math.nan, type(math.nan)) +hr.welcome() +print(hr.harry) \ No newline at end of file diff --git a/100-days-of-code-youtube/45-Day45-if-name-main-in-Python/.tutorial/Tutorial.md b/100-days-of-code-youtube/45-Day45-if-name-main-in-Python/.tutorial/Tutorial.md new file mode 100644 index 00000000..2e08b210 --- /dev/null +++ b/100-days-of-code-youtube/45-Day45-if-name-main-in-Python/.tutorial/Tutorial.md @@ -0,0 +1,40 @@ +## `if "__name__ == "__main__"` in Python +The if `__name__ == "__main__"` idiom is a common pattern used in Python scripts to determine whether the script is being run directly or being imported as a module into another script. + +In Python, the `__name__` variable is a built-in variable that is automatically set to the name of the current module. When a Python script is run directly, the `__name__` variable is set to the string `__main__` When the script is imported as a module into another script, the `__name__` variable is set to the name of the module. + +Here's an example of how the if `__name__` == `__main__` idiom can be used: + +```python +def main(): + # Code to be run when the script is run directly + print("Running script directly") + +if __name__ == "__main__": + main() +``` +In this example, the main function contains the code that should be run when the script is run directly. The if statement at the bottom checks whether the `__name__` variable is equal to `__main__`. If it is, the main function is called. +## Why is it useful? +This idiom is useful because it allows you to reuse code from a script by importing it as a module into another script, without running the code in the original script. For example, consider the following script: + +```python +def main(): + print("Running script directly") + +if __name__ == "__main__": + main() +``` +If you run this script directly, it will output "Running script directly". However, if you import it as a module into another script and call the main function from the imported module, it will not output anything: + +```python +import script + +script.main() # Output: "Running script directly" +``` +This can be useful if you have code that you want to reuse in multiple scripts, but you only want it to run when the script is run directly and not when it's imported as a module. + +## Is it a necessity? +It's important to note that the `if __name__ == "__main__"` idiom is not required to run a Python script. You can still run a script without it by simply calling the functions or running the code you want to execute directly. However, the `if __name__ == "__main__"` idiom can be a useful tool for organizing and separating code that should be run directly from code that should be imported and used as a module. + +In summary, the `if __name__ == "__main__"` idiom is a common pattern used in Python scripts to determine whether the script is being run directly or being imported as a module into another script. It allows you to reuse code from a script by importing it as a module into another script, without running the code in the original script. +## [Next Lesson>>](https://replit.com/@codewithharry/46-Day-46-os-Module) \ No newline at end of file diff --git a/100-days-of-code-youtube/45-Day45-if-name-main-in-Python/.tutorial/video.json b/100-days-of-code-youtube/45-Day45-if-name-main-in-Python/.tutorial/video.json new file mode 100644 index 00000000..03051819 --- /dev/null +++ b/100-days-of-code-youtube/45-Day45-if-name-main-in-Python/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/y_CX2Rvitk8" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/45-Day45-if-name-main-in-Python/__pycache__/harry.cpython-38.pyc b/100-days-of-code-youtube/45-Day45-if-name-main-in-Python/__pycache__/harry.cpython-38.pyc new file mode 100644 index 00000000..a04a1aa8 Binary files /dev/null and b/100-days-of-code-youtube/45-Day45-if-name-main-in-Python/__pycache__/harry.cpython-38.pyc differ diff --git a/100-days-of-code-youtube/45-Day45-if-name-main-in-Python/harry.py b/100-days-of-code-youtube/45-Day45-if-name-main-in-Python/harry.py new file mode 100644 index 00000000..f88a8db1 --- /dev/null +++ b/100-days-of-code-youtube/45-Day45-if-name-main-in-Python/harry.py @@ -0,0 +1,7 @@ +def welcome(): + print("Hey you are welcome from harry") + +# print(__name__) + +if __name__ == "__main__": + welcome() \ No newline at end of file diff --git a/100-days-of-code-youtube/45-Day45-if-name-main-in-Python/main.py b/100-days-of-code-youtube/45-Day45-if-name-main-in-Python/main.py new file mode 100644 index 00000000..93958e52 --- /dev/null +++ b/100-days-of-code-youtube/45-Day45-if-name-main-in-Python/main.py @@ -0,0 +1,3 @@ +import harry + +harry.welcome() \ No newline at end of file diff --git a/100-days-of-code-youtube/46-Day-46-os-Module/.tutorial/Tutorial.md b/100-days-of-code-youtube/46-Day-46-os-Module/.tutorial/Tutorial.md new file mode 100644 index 00000000..7878f4a1 --- /dev/null +++ b/100-days-of-code-youtube/46-Day-46-os-Module/.tutorial/Tutorial.md @@ -0,0 +1,79 @@ +# os Module in Python +The os module in Python is a built-in library that provides functions for interacting with the operating system. It allows you to perform a wide variety of tasks, such as reading and writing files, interacting with the file system, and running system commands. + +Here are some common tasks you can perform with the os module: + +Reading and writing files +The os module provides functions for opening, reading, and writing files. For example, to open a file for reading, you can use the open function: + +```python +import os + +# Open the file in read-only mode +f = os.open("myfile.txt", os.O_RDONLY) + +# Read the contents of the file +contents = os.read(f, 1024) + +# Close the file +os.close(f) +``` +To open a file for writing, you can use the os.O_WRONLY flag: + +```python +import os + +# Open the file in write-only mode +f = os.open("myfile.txt", os.O_WRONLY) + +# Write to the file +os.write(f, b"Hello, world!") + +# Close the file +os.close(f) +``` +## Interacting with the file system +The os module also provides functions for interacting with the file system. For example, you can use the os.listdir function to get a list of the files in a directory: + +```python +import os + +# Get a list of the files in the current directory +files = os.listdir(".") +print(files) # Output: ['myfile.txt', 'otherfile.txt'] +``` +You can also use the os.mkdir function to create a new directory: + +```python +import os + +# Create a new directory +os.mkdir("newdir") +``` +## Running system commands +Finally, the os module provides functions for running system commands. For example, you can use the os.system function to run a command and get the output: + +```python +import os + +# Run the "ls" command and print the output +output = os.system("ls") +print(output) # Output: ['myfile.txt', 'otherfile.txt'] +``` +You can also use the os.popen function to run a command and get the output as a file-like object: + +```python +import os + +# Run the "ls" command and get the output as a file-like object +f = os.popen("ls") + +# Read the contents of the output +output = f.read() +print(output) # Output: ['myfile.txt', 'otherfile.txt'] + +# Close the file-like object +f.close() +``` +In summary, the os module in Python is a built-in library that provides a wide variety of functions for interacting with the operating system. It allows you to perform tasks such as reading and writing files, interacting with the file system, and running system commands. +## [Next Lesson>>](https://replit.com/@codewithharry/47-Day47-Exercise-4-Solution) \ No newline at end of file diff --git a/100-days-of-code-youtube/46-Day-46-os-Module/.tutorial/video.json b/100-days-of-code-youtube/46-Day-46-os-Module/.tutorial/video.json new file mode 100644 index 00000000..cc3e0920 --- /dev/null +++ b/100-days-of-code-youtube/46-Day-46-os-Module/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/dkVYSsL90Oo" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/46-Day-46-os-Module/main.py b/100-days-of-code-youtube/46-Day-46-os-Module/main.py new file mode 100644 index 00000000..73bc6d00 --- /dev/null +++ b/100-days-of-code-youtube/46-Day-46-os-Module/main.py @@ -0,0 +1,8 @@ +import os + +if(not os.path.exists("data")): + os.mkdir("data") + +for i in range(0, 100): + os.mkdir(f"data/Day{i+1}") + diff --git a/100-days-of-code-youtube/46-Day-46-os-Module/oslist.py b/100-days-of-code-youtube/46-Day-46-os-Module/oslist.py new file mode 100644 index 00000000..ccd816b9 --- /dev/null +++ b/100-days-of-code-youtube/46-Day-46-os-Module/oslist.py @@ -0,0 +1,11 @@ +import os +folders = os.listdir("data") + +print(os.getcwd()) +os.chdir("/Users") +print(os.getcwd()) + +for folder in folders: + print(folder) + print(os.listdir(f"data/{folder}")) + \ No newline at end of file diff --git a/100-days-of-code-youtube/46-Day-46-os-Module/rena.py b/100-days-of-code-youtube/46-Day-46-os-Module/rena.py new file mode 100644 index 00000000..9ab21726 --- /dev/null +++ b/100-days-of-code-youtube/46-Day-46-os-Module/rena.py @@ -0,0 +1,6 @@ +import os + + +for i in range(0, 100): + os.rename(f"data/Tutorial{i+1}", f"data/Tutorial {i+1}") + diff --git a/100-days-of-code-youtube/47-Day47-Exercise-4-Solution/.tutorial/Tutorial.md b/100-days-of-code-youtube/47-Day47-Exercise-4-Solution/.tutorial/Tutorial.md new file mode 100644 index 00000000..773ec272 --- /dev/null +++ b/100-days-of-code-youtube/47-Day47-Exercise-4-Solution/.tutorial/Tutorial.md @@ -0,0 +1,45 @@ +# Write a python program to translate a message into secret code language. Use the rules below to translate normal English into secret code language + +# Coding: +if the word contains atleast 3 characters, remove the first letter and append it at the end +now append three random characters at the starting and the end +else: +simply reverse the string + +# Decoding: +if the word contains less than 3 characters, reverse it +else: +remove 3 random characters from start and end. Now remove the last letter and append it to the beginning + +## Your program should ask whether you want to code or decode +``` +st = input("Enter message") +words = st.split(" ") +coding = input("1 for Coding or 0 for Decoding") +coding = True if (coding=="1") else False +print(coding) +if(coding): + nwords = [] + for word in words: + if(len(word)>=3): + r1 = "dsf" + r2 = "jkr" + stnew = r1+ word[1:] + word[0] + r2 + nwords.append(stnew) + else: + nwords.append(word[::-1]) + print(" ".join(nwords)) + +else: + nwords = [] + for word in words: + if(len(word)>=3): + stnew = word[3:-3] + stnew = stnew[-1] + stnew[:-1] + nwords.append(stnew) + else: + nwords.append(word[::-1]) + print(" ".join(nwords)) +``` + +## [Next Lesson>>](https://replit.com/@codewithharry/48-Day48-local-vs-global-variables) \ No newline at end of file diff --git a/100-days-of-code-youtube/47-Day47-Exercise-4-Solution/.tutorial/video.json b/100-days-of-code-youtube/47-Day47-Exercise-4-Solution/.tutorial/video.json new file mode 100644 index 00000000..c53fb964 --- /dev/null +++ b/100-days-of-code-youtube/47-Day47-Exercise-4-Solution/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/4lSQfOJKn7U" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/47-Day47-Exercise-4-Solution/main.py b/100-days-of-code-youtube/47-Day47-Exercise-4-Solution/main.py new file mode 100644 index 00000000..163f1195 --- /dev/null +++ b/100-days-of-code-youtube/47-Day47-Exercise-4-Solution/main.py @@ -0,0 +1,43 @@ +# Write a python program to translate a message into secret code language. Use the rules below to translate normal English into secret code language + +# Coding: +# if the word contains atleast 3 characters, remove the first letter and append it at the end +# now append three random characters at the starting and the end +# else: +# simply reverse the string + +# Decoding: +# if the word contains less than 3 characters, reverse it +# else: +# remove 3 random characters from start and end. Now remove the last letter and append it to the beginning +# Your program should ask whether you want to code or decode + +st = input("Enter message") +words = st.split(" ") +coding = input("1 for Coding or 0 for Decoding") +coding = True if (coding=="1") else False +print(coding) +if(coding): + nwords = [] + for word in words: + if(len(word)>=3): + r1 = "dsf" + r2 = "jkr" + stnew = r1+ word[1:] + word[0] + r2 + nwords.append(stnew) + else: + nwords.append(word[::-1]) + print(" ".join(nwords)) + +else: + nwords = [] + for word in words: + if(len(word)>=3): + stnew = word[3:-3] + stnew = stnew[-1] + stnew[:-1] + nwords.append(stnew) + else: + nwords.append(word[::-1]) + print(" ".join(nwords)) + + \ No newline at end of file diff --git a/100-days-of-code-youtube/48-Day48-local-vs-global-variables/.tutorial/Tutorial.md b/100-days-of-code-youtube/48-Day48-local-vs-global-variables/.tutorial/Tutorial.md new file mode 100644 index 00000000..d04bba64 --- /dev/null +++ b/100-days-of-code-youtube/48-Day48-local-vs-global-variables/.tutorial/Tutorial.md @@ -0,0 +1,54 @@ +# local and global variables +Before we dive into the differences between local and global variables, let's first recall what a variable is in Python. + +A variable is a named location in memory that stores a value. In Python, we can assign values to variables using the assignment operator =. For example: +```python +x = 5 +y = "Hello, World!" + +``` + +Now, let's talk about local and global variables. + +A local variable is a variable that is defined within a function and is only accessible within that function. It is created when the function is called and is destroyed when the function returns. + +On the other hand, a global variable is a variable that is defined outside of a function and is accessible from within any function in your code. + +Here's an example to help clarify the difference: +```python +x = 10 # global variable + +def my_function(): + y = 5 # local variable + print(y) + +my_function() +print(x) +print(y) # this will cause an error because y is a local variable and is not accessible outside of the function + +``` +In this example, we have a global variable x and a local variable y. We can access the value of the global variable x from within the function, but we cannot access the value of the local variable y outside of the function. +# The global keyword +Now, what if we want to modify a global variable from within a function? This is where the global keyword comes in. + +The global keyword is used to declare that a variable is a global variable and should be accessed from the global scope. Here's an example: +```python +x = 10 # global variable + +def my_function(): + global x + x = 5 # this will change the value of the global variable x + y = 5 # local variable + +my_function() +print(x) # prints 5 +print(y) # this will cause an error because y is a local variable and is not accessible outside of the function + +``` + +In this example, we used the global keyword to declare that we want to modify the global variable x from within the function. As a result, the value of x is changed to 5. + +It's important to note that it's generally considered good practice to avoid modifying global variables from within functions, as it can lead to unexpected behavior and make your code harder to debug. + +I hope this tutorial has helped clarify the differences between local and global variables and how to use the global keyword in Python. Thank you for watching! +## [Next Lesson>>](https://replit.com/@codewithharry/49-Day49-File-IO) \ No newline at end of file diff --git a/100-days-of-code-youtube/48-Day48-local-vs-global-variables/.tutorial/video.json b/100-days-of-code-youtube/48-Day48-local-vs-global-variables/.tutorial/video.json new file mode 100644 index 00000000..b6abb3d4 --- /dev/null +++ b/100-days-of-code-youtube/48-Day48-local-vs-global-variables/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/RaG6GgcDt54" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/48-Day48-local-vs-global-variables/main.py b/100-days-of-code-youtube/48-Day48-local-vs-global-variables/main.py new file mode 100644 index 00000000..a2719bf2 --- /dev/null +++ b/100-days-of-code-youtube/48-Day48-local-vs-global-variables/main.py @@ -0,0 +1,12 @@ +x = 10 # global variable + + +def my_function(): + global x + x = 5 # this will change the value of the global variable x + y = 5 # local variable + + +my_function() +print(x) # prints 5 +# print(y) # this will cause an error because y is a local variable and is not accessible outside of the function \ No newline at end of file diff --git a/100-days-of-code-youtube/49-Day49-File-IO/.tutorial/Tutorial.md b/100-days-of-code-youtube/49-Day49-File-IO/.tutorial/Tutorial.md new file mode 100644 index 00000000..a7fd3c0d --- /dev/null +++ b/100-days-of-code-youtube/49-Day49-File-IO/.tutorial/Tutorial.md @@ -0,0 +1,68 @@ +Python provides several ways to manipulate files. Today, we will discuss how to handle files in Python. +## Opening a File +Before we can perform any operations on a file, we must first open it. Python provides the open() function to open a file. It takes two arguments: the name of the file and the mode in which the file should be opened. The mode can be 'r' for reading, 'w' for writing, or 'a' for appending. + +Here's an example of how to open a file for reading: +```python +f = open('myfile.txt', 'r') +``` +By default, the open() function returns a file object that can be used to read from or write to the file, depending on the mode. +## Modes in file +There are various modes in which we can open files. + +1. read (r): This mode opens the file for reading only and gives an error if the file does not exist. This is the default mode if no mode is passed as a parameter. +2. write (w): This mode opens the file for writing only and creates a new file if the file does not exist. +3. append (a): This mode opens the file for appending only and creates a new file if the file does not exist. +4. create (x): This mode creates a file and gives an error if the file already exists. + +5. text (t): +Apart from these modes we also need to specify how the file must be handled. t mode is used to handle text files. t refers to the text mode. There is no difference between r and rt or w and wt since text mode is the default. The default mode is 'r' (open for reading text, synonym of 'rt' ). +6. binary (b): used to handle binary files (images, pdfs, etc). +## Reading from a File +Once we have a file object, we can use various methods to read from the file. + +The read() method reads the entire contents of the file and returns it as a string. +```python +f = open('myfile.txt', 'r') +contents = f.read() +print(contents) +``` + + +## Writing to a File +To write to a file, we first need to open it in write mode. +```python +f = open('myfile.txt', 'w') + +``` +We can then use the write() method to write to the file. +```python +f = open('myfile.txt', 'w') +f.write('Hello, world!') + +``` +Keep in mind that writing to a file will overwrite its contents. If you want to append to a file instead of overwriting it, you can open it in append mode. + +```python +f = open('myfile.txt', 'a') +f.write('Hello, world!') +``` +## Closing a File +It is important to close a file after you are done with it. This releases the resources used by the file and allows other programs to access it. + +To close a file, you can use the close() method. +```python +f = open('myfile.txt', 'r') +# ... do something with the file +f.close() + +``` +## The 'with' statement +Alternatively, you can use the with statement to automatically close the file after you are done with it. + +```python +with open('myfile.txt', 'r') as f: + # ... do something with the file + +``` +## [Next Lesson>>](https://replit.com/@codewithharry/50-Day50-read-readlines-and-other-methods) \ No newline at end of file diff --git a/100-days-of-code-youtube/49-Day49-File-IO/.tutorial/video.json b/100-days-of-code-youtube/49-Day49-File-IO/.tutorial/video.json new file mode 100644 index 00000000..fa340d8f --- /dev/null +++ b/100-days-of-code-youtube/49-Day49-File-IO/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/eDBPlcWYses" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/49-Day49-File-IO/main.py b/100-days-of-code-youtube/49-Day49-File-IO/main.py new file mode 100644 index 00000000..32d7b689 --- /dev/null +++ b/100-days-of-code-youtube/49-Day49-File-IO/main.py @@ -0,0 +1,16 @@ +# READING A FILE + +# f = open('myfile.txt', 'r') +# # print(f) +# text = f.read() +# print(text) +# f.close() + +# WRITING A FILE + +f = open('myfile.txt', 'a') +f.write('Hello, world!') +f.close() + +with open('myfile.txt', 'a') as f: + f.write("Hey I am inside with") \ No newline at end of file diff --git a/100-days-of-code-youtube/49-Day49-File-IO/myfile.txt b/100-days-of-code-youtube/49-Day49-File-IO/myfile.txt new file mode 100644 index 00000000..cd7fac06 --- /dev/null +++ b/100-days-of-code-youtube/49-Day49-File-IO/myfile.txt @@ -0,0 +1 @@ +Hello, world!Hello, world!Hello, world!Hello, world!Hello, world!Hey I am inside with \ No newline at end of file diff --git a/100-days-of-code-youtube/49-Day49-File-IO/myfile2.txt b/100-days-of-code-youtube/49-Day49-File-IO/myfile2.txt new file mode 100644 index 00000000..e69de29b diff --git a/100-days-of-code-youtube/50-Day50-read-readlines-and-other-methods/.tutorial/Tutorial.md b/100-days-of-code-youtube/50-Day50-read-readlines-and-other-methods/.tutorial/Tutorial.md new file mode 100644 index 00000000..57f99354 --- /dev/null +++ b/100-days-of-code-youtube/50-Day50-read-readlines-and-other-methods/.tutorial/Tutorial.md @@ -0,0 +1,36 @@ +# readlines() method +The readline() method reads a single line from the file. If we want to read multiple lines, we can use a loop. + +```python +f = open('myfile.txt', 'r') +while True: + line = f.readline() + if not line: + break + print(line) + +``` +The readlines() method reads all the lines of the file and returns them as a list of strings. + +# writelines() method +The writelines() method in Python writes a sequence of strings to a file. The sequence can be any iterable object, such as a list or a tuple. + +Here's an example of how to use the writelines() method: +```python +f = open('myfile.txt', 'w') +lines = ['line 1\n', 'line 2\n', 'line 3\n'] +f.writelines(lines) +f.close() +``` +This will write the strings in the lines list to the file myfile.txt. The \n characters are used to add newline characters to the end of each string. + +Keep in mind that the writelines() method does not add newline characters between the strings in the sequence. If you want to add newlines between the strings, you can use a loop to write each string separately: +```python +f = open('myfile.txt', 'w') +lines = ['line 1', 'line 2', 'line 3'] +for line in lines: + f.write(line + '\n') +f.close() +``` +It is also a good practice to close the file after you are done with it. +## [Next Lesson>>](https://replit.com/@codewithharry/51-Day51-seek-and-tell-functions) \ No newline at end of file diff --git a/100-days-of-code-youtube/50-Day50-read-readlines-and-other-methods/.tutorial/video.json b/100-days-of-code-youtube/50-Day50-read-readlines-and-other-methods/.tutorial/video.json new file mode 100644 index 00000000..58abc44d --- /dev/null +++ b/100-days-of-code-youtube/50-Day50-read-readlines-and-other-methods/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/l1FsnQxET9U" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/50-Day50-read-readlines-and-other-methods/main.py b/100-days-of-code-youtube/50-Day50-read-readlines-and-other-methods/main.py new file mode 100644 index 00000000..ddb3ed78 --- /dev/null +++ b/100-days-of-code-youtube/50-Day50-read-readlines-and-other-methods/main.py @@ -0,0 +1,20 @@ +# f = open('myfile.txt', 'r') +# i = 0 +# while True: +# i = i + 1 +# line = f.readline() +# if not line: +# break +# m1 = int(line.split(",")[0]) +# m2 = int(line.split(",")[1]) +# m3 = int(line.split(",")[2]) +# print(f"Marks of student {i} in Maths is: {m1*2}") +# print(f"Marks of student {i} in English is: {m2*2}") +# print(f"Marks of student {i} in SST is: {m3*2}") + +# print(line) + +f = open('myfile2.txt', 'w') +lines = ['line 1\n', 'line 2\n', 'line 3\n'] +f.writelines(lines) +f.close() \ No newline at end of file diff --git a/100-days-of-code-youtube/50-Day50-read-readlines-and-other-methods/myfile.txt b/100-days-of-code-youtube/50-Day50-read-readlines-and-other-methods/myfile.txt new file mode 100644 index 00000000..ee08e96b --- /dev/null +++ b/100-days-of-code-youtube/50-Day50-read-readlines-and-other-methods/myfile.txt @@ -0,0 +1,3 @@ +56,45,67 +12,34,63 +13,64,23 \ No newline at end of file diff --git a/100-days-of-code-youtube/50-Day50-read-readlines-and-other-methods/myfile2.txt b/100-days-of-code-youtube/50-Day50-read-readlines-and-other-methods/myfile2.txt new file mode 100644 index 00000000..a92d664b --- /dev/null +++ b/100-days-of-code-youtube/50-Day50-read-readlines-and-other-methods/myfile2.txt @@ -0,0 +1,3 @@ +line 1 +line 2 +line 3 diff --git a/100-days-of-code-youtube/51-Day51-seek-and-tell-functions/.tutorial/Tutorial.md b/100-days-of-code-youtube/51-Day51-seek-and-tell-functions/.tutorial/Tutorial.md new file mode 100644 index 00000000..eba9b7f0 --- /dev/null +++ b/100-days-of-code-youtube/51-Day51-seek-and-tell-functions/.tutorial/Tutorial.md @@ -0,0 +1,41 @@ +# seek() and tell() functions +In Python, the seek() and tell() functions are used to work with file objects and their positions within a file. These functions are part of the built-in io module, which provides a consistent interface for reading and writing to various file-like objects, such as files, pipes, and in-memory buffers. +## seek() function +The seek() function allows you to move the current position within a file to a specific point. The position is specified in bytes, and you can move either forward or backward from the current position. For example: +```python +with open('file.txt', 'r') as f: + # Move to the 10th byte in the file + f.seek(10) + + # Read the next 5 bytes + data = f.read(5) +``` +## tell() function +The tell() function returns the current position within the file, in bytes. This can be useful for keeping track of your location within the file or for seeking to a specific position relative to the current position. For example: + +```python +with open('file.txt', 'r') as f: + # Read the first 10 bytes + data = f.read(10) + + # Save the current position + current_position = f.tell() + + # Seek to the saved position + f.seek(current_position) +``` +## truncate() function +When you open a file in Python using the open function, you can specify the mode in which you want to open the file. If you specify the mode as 'w' or 'a', the file is opened in write mode and you can write to the file. However, if you want to truncate the file to a specific size, you can use the truncate function. + +Here is an example of how to use the truncate function: + +```python +with open('sample.txt', 'w') as f: + f.write('Hello World!') + f.truncate(5) + +with open('sample.txt', 'r') as f: + print(f.read()) + +``` +## [Next Lesson>>](https://replit.com/@codewithharry/52-Day52-Lambda-Functions) diff --git a/100-days-of-code-youtube/51-Day51-seek-and-tell-functions/.tutorial/video.json b/100-days-of-code-youtube/51-Day51-seek-and-tell-functions/.tutorial/video.json new file mode 100644 index 00000000..12041065 --- /dev/null +++ b/100-days-of-code-youtube/51-Day51-seek-and-tell-functions/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/PByYX-2l5Us" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/51-Day51-seek-and-tell-functions/file.txt b/100-days-of-code-youtube/51-Day51-seek-and-tell-functions/file.txt new file mode 100644 index 00000000..0243309b --- /dev/null +++ b/100-days-of-code-youtube/51-Day51-seek-and-tell-functions/file.txt @@ -0,0 +1 @@ +123456789tetharryis \ No newline at end of file diff --git a/100-days-of-code-youtube/51-Day51-seek-and-tell-functions/main.py b/100-days-of-code-youtube/51-Day51-seek-and-tell-functions/main.py new file mode 100644 index 00000000..65c727ba --- /dev/null +++ b/100-days-of-code-youtube/51-Day51-seek-and-tell-functions/main.py @@ -0,0 +1,6 @@ +with open('sample.txt', 'w') as f: + f.write('Hello World3!') + f.truncate(3) + +with open('sample.txt', 'r') as f: + print(f.read()) \ No newline at end of file diff --git a/100-days-of-code-youtube/51-Day51-seek-and-tell-functions/sample.txt b/100-days-of-code-youtube/51-Day51-seek-and-tell-functions/sample.txt new file mode 100644 index 00000000..6ba67656 --- /dev/null +++ b/100-days-of-code-youtube/51-Day51-seek-and-tell-functions/sample.txt @@ -0,0 +1 @@ +Hel \ No newline at end of file diff --git a/100-days-of-code-youtube/52-Day52-Lambda-Functions/.tutorial/Tutorial.md b/100-days-of-code-youtube/52-Day52-Lambda-Functions/.tutorial/Tutorial.md new file mode 100644 index 00000000..f1c4b586 --- /dev/null +++ b/100-days-of-code-youtube/52-Day52-Lambda-Functions/.tutorial/Tutorial.md @@ -0,0 +1,41 @@ +# Lambda Functions in Python +In Python, a lambda function is a small anonymous function without a name. It is defined using the lambda keyword and has the following syntax: + +```python +lambda arguments: expression +``` +Lambda functions are often used in situations where a small function is required for a short period of time. They are commonly used as arguments to higher-order functions, such as map, filter, and reduce. + +Here is an example of how to use a lambda function: + +```python +# Function to double the input +def double(x): + return x * 2 + +# Lambda function to double the input +lambda x: x * 2 +``` +The above lambda function has the same functionality as the double function defined earlier. However, the lambda function is anonymous, as it does not have a name. + +Lambda functions can have multiple arguments, just like regular functions. Here is an example of a lambda function with multiple arguments: + +```python +# Function to calculate the product of two numbers +def multiply(x, y): + return x * y + +# Lambda function to calculate the product of two numbers +lambda x, y: x * y +``` +Lambda functions can also include multiple statements, but they are limited to a single expression. For example: + +```python +# Lambda function to calculate the product of two numbers, +# with additional print statement +lambda x, y: print(f'{x} * {y} = {x * y}') +``` +In the above example, the lambda function includes a print statement, but it is still limited to a single expression. + +Lambda functions are often used in conjunction with higher-order functions, such as map, filter, and reduce which we will look into later. +## [Next Lesson>>](https://replit.com/@codewithharry/53-Day53-Map-Filter-and-Reduce) \ No newline at end of file diff --git a/100-days-of-code-youtube/52-Day52-Lambda-Functions/.tutorial/video.json b/100-days-of-code-youtube/52-Day52-Lambda-Functions/.tutorial/video.json new file mode 100644 index 00000000..1e440d03 --- /dev/null +++ b/100-days-of-code-youtube/52-Day52-Lambda-Functions/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/UfFWf-PXUqE" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/52-Day52-Lambda-Functions/main.py b/100-days-of-code-youtube/52-Day52-Lambda-Functions/main.py new file mode 100644 index 00000000..0484ea30 --- /dev/null +++ b/100-days-of-code-youtube/52-Day52-Lambda-Functions/main.py @@ -0,0 +1,14 @@ +# def double(x): +# return x*2 + +def appl(fx, value): + return 6 + fx(value) + +double = lambda x: x * 2 +cube = lambda x: x * x * x +avg = lambda x, y, z: (x + y + z) / 3 + +print(double(5)) +print(cube(5)) +print(avg(3, 5, 10)) +print(appl(lambda x: x * x , 2)) \ No newline at end of file diff --git a/100-days-of-code-youtube/53-Day53-Map-Filter-and-Reduce/.tutorial/Tutorial.md b/100-days-of-code-youtube/53-Day53-Map-Filter-and-Reduce/.tutorial/Tutorial.md new file mode 100644 index 00000000..d44c62ed --- /dev/null +++ b/100-days-of-code-youtube/53-Day53-Map-Filter-and-Reduce/.tutorial/Tutorial.md @@ -0,0 +1,75 @@ +# Map, Filter and Reduce +In Python, the map, filter, and reduce functions are built-in functions that allow you to apply a function to a sequence of elements and return a new sequence. These functions are known as higher-order functions, as they take other functions as arguments. + +## map +The map function applies a function to each element in a sequence and returns a new sequence containing the transformed elements. The map function has the following syntax: + +```python +map(function, iterable) +``` +The function argument is a function that is applied to each element in the iterable argument. The iterable argument can be a list, tuple, or any other iterable object. + +Here is an example of how to use the map function: + +```python +# List of numbers +numbers = [1, 2, 3, 4, 5] + +# Double each number using the map function +doubled = map(lambda x: x * 2, numbers) + +# Print the doubled numbers +print(list(doubled)) +``` +In the above example, the lambda function lambda x: x * 2 is used to double each element in the numbers list. The map function applies the lambda function to each element in the list and returns a new list containing the doubled numbers. + +## filter +The filter function filters a sequence of elements based on a given predicate (a function that returns a boolean value) and returns a new sequence containing only the elements that meet the predicate. The filter function has the following syntax: + +```python +filter(predicate, iterable) +``` +The predicate argument is a function that returns a boolean value and is applied to each element in the iterable argument. The iterable argument can be a list, tuple, or any other iterable object. + +Here is an example of how to use the filter function: + +```python +# List of numbers +numbers = [1, 2, 3, 4, 5] + +# Get only the even numbers using the filter function +evens = filter(lambda x: x % 2 == 0, numbers) + +# Print the even numbers +print(list(evens)) +``` +In the above example, the lambda function lambda x: x % 2 == 0 is used to filter the numbers list and return only the even numbers. The filter function applies the lambda function to each element in the list and returns a new list containing only the even numbers. + +## reduce +The reduce function is a higher-order function that applies a function to a sequence and returns a single value. It is a part of the functools module in Python and has the following syntax: +```python +reduce(function, iterable) +``` +The function argument is a function that takes in two arguments and returns a single value. The iterable argument is a sequence of elements, such as a list or tuple. + +The reduce function applies the function to the first two elements in the iterable and then applies the function to the result and the next element, and so on. The reduce function returns the final result. + +Here is an example of how to use the reduce function: + +```python +from functools import reduce + +# List of numbers +numbers = [1, 2, 3, 4, 5] + +# Calculate the sum of the numbers using the reduce function +sum = reduce(lambda x, y: x + y, numbers) + +# Print the sum +print(sum) +``` +In the above example, the reduce function applies the lambda function lambda x, y: x + y to the elements in the numbers list. The lambda function adds the two arguments x and y and returns the result. The reduce function applies the lambda function to the first two elements in the list (1 and 2), then applies the function to the result (3) and the next element (3), and so on. The final result is the sum of all the elements in the list, which is 15. + +It is important to note that the reduce function requires the functools module to be imported in order to use it. + +## [Next Lesson>>](https://replit.com/@codewithharry/54-Day54-is-vs-in-Python) \ No newline at end of file diff --git a/100-days-of-code-youtube/53-Day53-Map-Filter-and-Reduce/.tutorial/video.json b/100-days-of-code-youtube/53-Day53-Map-Filter-and-Reduce/.tutorial/video.json new file mode 100644 index 00000000..5ccb9c80 --- /dev/null +++ b/100-days-of-code-youtube/53-Day53-Map-Filter-and-Reduce/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/OErhjT4f5Cs" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/53-Day53-Map-Filter-and-Reduce/main.py b/100-days-of-code-youtube/53-Day53-Map-Filter-and-Reduce/main.py new file mode 100644 index 00000000..80358526 --- /dev/null +++ b/100-days-of-code-youtube/53-Day53-Map-Filter-and-Reduce/main.py @@ -0,0 +1,35 @@ +# # MAP +# # def cube(x): +# # return x * x * x + + +# # print(cube(2)) + +# l = [1, 2, 4, 6, 4, 3] +# # newl = [] +# # for item in l: +# # newl.append(cube(item)) + +# newl = list(map(lambda x: x*x*x, l)) +# print(newl) + +# # FILTER +# def filter_function(a): +# return a>2 + +# newnewl = list(filter(filter_function, l)) +# print(newnewl) + +from functools import reduce + +# List of numbers +numbers = [1, 2, 3, 4, 5] + +# Calculate the sum of the numbers using the reduce function +def mysum(x, y): + return x + y + +sum = reduce(mysum, numbers) + +# Print the sum +print(sum) \ No newline at end of file diff --git a/100-days-of-code-youtube/54-Day54-is-vs-in-Python/.tutorial/Tutorial.md b/100-days-of-code-youtube/54-Day54-is-vs-in-Python/.tutorial/Tutorial.md new file mode 100644 index 00000000..f0743a34 --- /dev/null +++ b/100-days-of-code-youtube/54-Day54-is-vs-in-Python/.tutorial/Tutorial.md @@ -0,0 +1,37 @@ +# 'is' vs '==' in Python +In Python, is and == are both comparison operators that can be used to check if two values are equal. However, there are some important differences between the two that you should be aware of. + +The is operator compares the identity of two objects, while the == operator compares the values of the objects. This means that is will only return True if the objects being compared are the exact same object in memory, while == will return True if the objects have the same value. + +For example: + +```python +a = [1, 2, 3] +b = [1, 2, 3] + +print(a == b) # True +print(a is b) # False +``` +In this case, a and b are two separate lists that have the same values, so == returns True. However, a and b are not the same object in memory, so is returns False. + +One important thing to note is that, in Python, strings and integers are immutable, which means that once they are created, their value cannot be changed. This means that, for strings and integers, is and == will always return the same result: + +```python +a = "hello" +b = "hello" + +print(a == b) # True +print(a is b) # True + +a = 5 +b = 5 + +print(a == b) # True +print(a is b) # True +``` +In these cases, a and b are both pointing to the same object in memory, so is and == both return True. + +For mutable objects such as lists and dictionaries, is and == can behave differently. In general, you should use == when you want to compare the values of two objects, and use is when you want to check if two objects are the same object in memory. + +I hope this helps clarify the difference between is and == in Python! +## [Next Lesson>>](https://replit.com/@codewithharry/55-Day55-Exercise-5) \ No newline at end of file diff --git a/100-days-of-code-youtube/54-Day54-is-vs-in-Python/.tutorial/video.json b/100-days-of-code-youtube/54-Day54-is-vs-in-Python/.tutorial/video.json new file mode 100644 index 00000000..6a2a1d2c --- /dev/null +++ b/100-days-of-code-youtube/54-Day54-is-vs-in-Python/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/TOemdfX_0xc" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/54-Day54-is-vs-in-Python/main.py b/100-days-of-code-youtube/54-Day54-is-vs-in-Python/main.py new file mode 100644 index 00000000..233e0d64 --- /dev/null +++ b/100-days-of-code-youtube/54-Day54-is-vs-in-Python/main.py @@ -0,0 +1,6 @@ +a = None +b = None + +print(a is b) # exact location of object in memory +print(a is None) # exact location of object in memory +print(a == b) # value \ No newline at end of file diff --git a/100-days-of-code-youtube/55-Day55-Exercise-5/.tutorial/Tutorial.md b/100-days-of-code-youtube/55-Day55-Exercise-5/.tutorial/Tutorial.md new file mode 100644 index 00000000..8c7ea16a --- /dev/null +++ b/100-days-of-code-youtube/55-Day55-Exercise-5/.tutorial/Tutorial.md @@ -0,0 +1,5 @@ +# Snake Water Gun +Snake, Water and Gun is a variation of the children's game "rock-paper-scissors" where players use hand gestures to represent a snake, water, or a gun. The gun beats the snake, the water beats the gun, and the snake beats the water. +Write a python program to create a Snake Water Gun game in Python using if-else statements. Do not create any fancy GUI. Use proper functions to check for win. + +## [Next Lesson>>](https://replit.com/@codewithharry/56-Day56-Intro-to-oops) diff --git a/100-days-of-code-youtube/55-Day55-Exercise-5/.tutorial/video.json b/100-days-of-code-youtube/55-Day55-Exercise-5/.tutorial/video.json new file mode 100644 index 00000000..10f63b70 --- /dev/null +++ b/100-days-of-code-youtube/55-Day55-Exercise-5/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/dDsh7FT6-0I" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/55-Day55-Exercise-5/main.py b/100-days-of-code-youtube/55-Day55-Exercise-5/main.py new file mode 100644 index 00000000..16783dba --- /dev/null +++ b/100-days-of-code-youtube/55-Day55-Exercise-5/main.py @@ -0,0 +1,5 @@ +# S W G +# computer = 0 1 2 +# player = S 0 D W L +# W 1 L D W +# G 2 W L D \ No newline at end of file diff --git a/100-days-of-code-youtube/56-Day56-Intro-to-oops/.tutorial/Tutorial.md b/100-days-of-code-youtube/56-Day56-Intro-to-oops/.tutorial/Tutorial.md new file mode 100644 index 00000000..9355b962 --- /dev/null +++ b/100-days-of-code-youtube/56-Day56-Intro-to-oops/.tutorial/Tutorial.md @@ -0,0 +1,20 @@ +# Introduction to Object-oriented programming +Introduction to Object-Oriented Programming in Python: In programming languages, mainly there are two approaches that are used to write program or code. +- 1). Procedural Programming +- 2). Object-Oriented Programming + +The procedure we are following till now is the “Procedural Programming” approach. So, in this session, we will learn about Object Oriented Programming (OOP). +The basic idea of object-oriented programming (OOP) in Python is to use classes and objects to represent real-world concepts and entities. + +A class is a blueprint or template for creating objects. It defines the properties and methods that an object of that class will have. Properties are the data or state of an object, and methods are the actions or behaviors that an object can perform. + +An object is an instance of a class, and it contains its own data and methods. For example, you could create a class called "Person" that has properties such as name and age, and methods such as speak() and walk(). Each instance of the Person class would be a unique object with its own name and age, but they would all have the same methods to speak and walk. + +One of the key features of OOP in Python is encapsulation, which means that the internal state of an object is hidden and can only be accessed or modified through the object's methods. This helps to protect the object's data and prevent it from being modified in unexpected ways. + +Another key feature of OOP in Python is inheritance, which allows new classes to be created that inherit the properties and methods of an existing class. This allows for code reuse and makes it easy to create new classes that have similar functionality to existing classes. + +Polymorphism is also supported in Python, which means that objects of different classes can be treated as if they were objects of a common class. This allows for greater flexibility in code and makes it easier to write code that can work with multiple types of objects. + +In summary, OOP in Python allows developers to model real-world concepts and entities using classes and objects, encapsulate data, reuse code through inheritance, and write more flexible code through polymorphism. + ## [Next Lesson>>](https://replit.com/@codewithharry/57-Day57-Classes-and-Objects) diff --git a/100-days-of-code-youtube/56-Day56-Intro-to-oops/.tutorial/video.json b/100-days-of-code-youtube/56-Day56-Intro-to-oops/.tutorial/video.json new file mode 100644 index 00000000..adf5e31c --- /dev/null +++ b/100-days-of-code-youtube/56-Day56-Intro-to-oops/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/HQnoYzxOHMw" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/56-Day56-Intro-to-oops/main.py b/100-days-of-code-youtube/56-Day56-Intro-to-oops/main.py new file mode 100644 index 00000000..868b90f3 --- /dev/null +++ b/100-days-of-code-youtube/56-Day56-Intro-to-oops/main.py @@ -0,0 +1,23 @@ +def hello(): + print("hello") + +hello() +sales1 = 6000 +profit1 = 2000 +ad1 = 1000 +# rajeev.sales + +sales2 = 6000 +profit2 = 2000 +ad2 = 1000 +# vikrant.sales + +sales3 = 6000 +profit3 = 2000 +ad3 = 1000 + +RailwayForm ---> Class [blueprint] +harry --> harry ki info wala form --> Object [entity] +tom --> tom ki info wala form --> Object [entity] +shubham -- shubham ki info wala form --> Object [entity] +# shubham.changeName("Shubhi") diff --git a/100-days-of-code-youtube/57-Day57-Classes-and-Objects/.tutorial/01-Class_objects.md b/100-days-of-code-youtube/57-Day57-Classes-and-Objects/.tutorial/01-Class_objects.md new file mode 100644 index 00000000..26baa79f --- /dev/null +++ b/100-days-of-code-youtube/57-Day57-Classes-and-Objects/.tutorial/01-Class_objects.md @@ -0,0 +1,39 @@ +# Python Class and Objects +A class is a blueprint or a template for creating objects, providing initial values for state (member variables or attributes), and implementations of behavior (member functions or methods). The user-defined objects are created using the class keyword. + + +## Creating a Class: +Let us now create a class using the class keyword. + +```python +class Details: + name = "Rohan" + age = 20 + ``` + +## Creating an Object: +Object is the instance of the class used to access the properties of the class +Now lets create an object of the class. + +### Example: +```python +obj1 = Details() +``` + +Now we can print values: + +### Example: +```python +class Details: + name = "Rohan" + age = 20 + +obj1 = Details() +print(obj1.name) +print(obj1.age) +``` +### Output: +``` +Rohan +20 +``` \ No newline at end of file diff --git a/100-days-of-code-youtube/57-Day57-Classes-and-Objects/.tutorial/02-self_parameter.md b/100-days-of-code-youtube/57-Day57-Classes-and-Objects/.tutorial/02-self_parameter.md new file mode 100644 index 00000000..7b8336c2 --- /dev/null +++ b/100-days-of-code-youtube/57-Day57-Classes-and-Objects/.tutorial/02-self_parameter.md @@ -0,0 +1,25 @@ +# self parameter +The self parameter is a reference to the current instance of the class, and is used to access variables that belongs to the class. + +It must be provided as the extra parameter inside the method definition. + + + +## Example: +```python +class Details: + name = "Rohan" + age = 20 + + def desc(self): + print("My name is", self.name, "and I'm", self.age, "years old.") + +obj1 = Details() +obj1.desc() + +``` +## Output: +``` +My name is Rohan and I'm 20 years old. +``` +## [Next Lesson>>](https://replit.com/@codewithharry/58-Day58-Constructors) \ No newline at end of file diff --git a/100-days-of-code-youtube/57-Day57-Classes-and-Objects/.tutorial/video.json b/100-days-of-code-youtube/57-Day57-Classes-and-Objects/.tutorial/video.json new file mode 100644 index 00000000..07c51a72 --- /dev/null +++ b/100-days-of-code-youtube/57-Day57-Classes-and-Objects/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/a7baAGCBA9U" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/57-Day57-Classes-and-Objects/main.py b/100-days-of-code-youtube/57-Day57-Classes-and-Objects/main.py new file mode 100644 index 00000000..91c433cf --- /dev/null +++ b/100-days-of-code-youtube/57-Day57-Classes-and-Objects/main.py @@ -0,0 +1,22 @@ +class Person: + name = "Harry" + occupation = "Software Developer" + networth = 10 + def info(self): + print(f"{self.name} is a {self.occupation}") + + +a = Person() +b = Person() +c = Person() + +a.name = "Shubham" +a.occupation = "Accountant" + +b.name = "Nitika" +b.occupation = "HR" + +# print(a.name, a.occupation) +a.info() +b.info() +c.info() diff --git a/100-days-of-code-youtube/58-Day58-Constructors/.tutorial/Tutorial.md b/100-days-of-code-youtube/58-Day58-Constructors/.tutorial/Tutorial.md new file mode 100644 index 00000000..f463222f --- /dev/null +++ b/100-days-of-code-youtube/58-Day58-Constructors/.tutorial/Tutorial.md @@ -0,0 +1,48 @@ +# Constructors +A constructor is a special method in a class used to create and initialize an object of a class. There are different types of constructors. Constructor is invoked automatically when an object of a class is created. + +A constructor is a unique function that gets called automatically when an object is created of a class. +The main purpose of a constructor is to initialize or assign values to the data members of that class. It cannot return any value other than None. +## Syntax of Python Constructor +```python +def __init__(self): + # initializations + ``` +init is one of the reserved functions in Python. In Object Oriented Programming, it is known as a constructor. + + ## Types of Constructors in Python +1. Parameterized Constructor +2. Default Constructor + +### Parameterized Constructor in Python +When the constructor accepts arguments along with self, it is known as parameterized constructor. + +These arguments can be used inside the class to assign the values to the data members. +#### Example: +``` python +class Details: + def __init__(self, animal, group): + self.animal = animal + self.group = group + +obj1 = Details("Crab", "Crustaceans") +print(obj1.animal, "belongs to the", obj1.group, "group.") +``` +#### Output: +``` +Crab belongs to the Crustaceans group. +``` +### Default Constructor in Python +When the constructor doesn't accept any arguments from the object and has only one argument, self, in the constructor, it is known as a Default constructor. +#### Example: +```python +class Details: + def __init__(self): + print("animal Crab belongs to Crustaceans group") +obj1=Details() +``` +#### Output: +``` +animal Crab belongs to Crustaceans group +``` +## [Next Lesson>>](https://replit.com/@codewithharry/59-Day-59-Decorators-in-Python) \ No newline at end of file diff --git a/100-days-of-code-youtube/58-Day58-Constructors/.tutorial/video.json b/100-days-of-code-youtube/58-Day58-Constructors/.tutorial/video.json new file mode 100644 index 00000000..3fa82134 --- /dev/null +++ b/100-days-of-code-youtube/58-Day58-Constructors/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/12HRkYld22c" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/58-Day58-Constructors/main.py b/100-days-of-code-youtube/58-Day58-Constructors/main.py new file mode 100644 index 00000000..0d620eeb --- /dev/null +++ b/100-days-of-code-youtube/58-Day58-Constructors/main.py @@ -0,0 +1,19 @@ +class Person: + + def __init__(self, name, occ): + print("Hey I am a person") + self.name = name + self.occ = occ + + def info(self): + print(f"{self.name} is a {self.occ}") + + +a = Person("Harry", "Developer") +b = Person("Divya", "HR") +a.info() +b.info() +# print(a.name) +# a.name = "Divya" +# a.occ = "HR" +# a.info() diff --git a/100-days-of-code-youtube/59-Day-59-Decorators-in-Python/.tutorial/Tutorial.md b/100-days-of-code-youtube/59-Day-59-Decorators-in-Python/.tutorial/Tutorial.md new file mode 100644 index 00000000..441ee9bb --- /dev/null +++ b/100-days-of-code-youtube/59-Day-59-Decorators-in-Python/.tutorial/Tutorial.md @@ -0,0 +1,43 @@ +# Python Decorators +Python decorators are a powerful and versatile tool that allow you to modify the behavior of functions and methods. They are a way to extend the functionality of a function or method without modifying its source code. + +A decorator is a function that takes another function as an argument and returns a new function that modifies the behavior of the original function. The new function is often referred to as a "decorated" function. The basic syntax for using a decorator is the following: +```python +@decorator_function +def my_function(): + pass +``` + +The @decorator_function notation is just a shorthand for the following code: +```python +def my_function(): + pass +my_function = decorator_function(my_function) +``` +Decorators are often used to add functionality to functions and methods, such as logging, memoization, and access control. + +## Practical use case +One common use of decorators is to add logging to a function. For example, you could use a decorator to log the arguments and return value of a function each time it is called: +```python +import logging + +def log_function_call(func): + def decorated(*args, **kwargs): + logging.info(f"Calling {func.__name__} with args={args}, kwargs={kwargs}") + result = func(*args, **kwargs) + logging.info(f"{func.__name__} returned {result}") + return result + return decorated + +@log_function_call +def my_function(a, b): + return a + b +``` + +In this example, the log_function_call decorator takes a function as an argument and returns a new function that logs the function call before and after the original function is called. + +## Conclusion +Decorators are a powerful and flexible feature in Python that can be used to add functionality to functions and methods without modifying their source code. They are a great tool for separating concerns, reducing code duplication, and making your code more readable and maintainable. + +In conclusion, python decorators are a way to extend the functionality of functions and methods, by modifying its behavior without modifying the source code. They are used for a variety of purposes, such as logging, memoization, access control, and more. They are a powerful tool that can be used to make your code more readable, maintainable, and extendable. +## [Next Lesson>>](https://replit.com/@codewithharry/60-Day-60-Getters-and-Setters) diff --git a/100-days-of-code-youtube/59-Day-59-Decorators-in-Python/.tutorial/video.json b/100-days-of-code-youtube/59-Day-59-Decorators-in-Python/.tutorial/video.json new file mode 100644 index 00000000..eff3d33f --- /dev/null +++ b/100-days-of-code-youtube/59-Day-59-Decorators-in-Python/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/PTBZ674EsvI" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/59-Day-59-Decorators-in-Python/main.py b/100-days-of-code-youtube/59-Day-59-Decorators-in-Python/main.py new file mode 100644 index 00000000..f6dd35c9 --- /dev/null +++ b/100-days-of-code-youtube/59-Day-59-Decorators-in-Python/main.py @@ -0,0 +1,20 @@ + +def greet(fx): + def mfx(*args, **kwargs): + print("Good Morning") + fx(*args, **kwargs) + print("Thanks for using this function") + return mfx + +@greet +def hello(): + print("Hello world") + +@greet +def add(a, b): + print(a+b) + +# greet(hello)() +hello() +# greet(add)(1, 2) +add(1, 2) diff --git a/100-days-of-code-youtube/60-Day-60-Getters-and-Setters/.tutorial/Tutorial.md b/100-days-of-code-youtube/60-Day-60-Getters-and-Setters/.tutorial/Tutorial.md new file mode 100644 index 00000000..8dd2a07d --- /dev/null +++ b/100-days-of-code-youtube/60-Day-60-Getters-and-Setters/.tutorial/Tutorial.md @@ -0,0 +1,47 @@ +# Getters +Getters in Python are methods that are used to access the values of an object's properties. They are used to return the value of a specific property, and are typically defined using the @property decorator. +Here is an example of a simple class with a getter method: +```python +class MyClass: + def __init__(self, value): + self._value = value + + @property + def value(self): + return self._value +``` +In this example, the MyClass class has a single property, _value, which is initialized in the __init__ method. The value method is defined as a getter using the @property decorator, and is used to return the value of the _value property. + +To use the getter, we can create an instance of the MyClass class, and then access the value property as if it were an attribute: +```python +>>> obj = MyClass(10) +>>> obj.value +10 +``` +# Setters +It is important to note that the getters do not take any parameters and we cannot set the value through getter method.For that we need setter method which can be added by decorating method with @property_name.setter + +Here is an example of a class with both getter and setter: + +```python +class MyClass: + def __init__(self, value): + self._value = value + + @property + def value(self): + return self._value + + @value.setter + def value(self, new_value): + self._value = new_value +``` +We can use setter method like this: +```python +>>> obj = MyClass(10) +>>> obj.value = 20 +>>> obj.value +20 +``` +In conclusion, getters are a convenient way to access the values of an object's properties, while keeping the internal representation of the property hidden. This can be useful for encapsulation and data validation. +## [Next Lesson>>](https://replit.com/@codewithharry/61-Day-61-Inheritance-in-Python) \ No newline at end of file diff --git a/100-days-of-code-youtube/60-Day-60-Getters-and-Setters/.tutorial/video.json b/100-days-of-code-youtube/60-Day-60-Getters-and-Setters/.tutorial/video.json new file mode 100644 index 00000000..5e3975e6 --- /dev/null +++ b/100-days-of-code-youtube/60-Day-60-Getters-and-Setters/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/2gbCT8h9uyk" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/60-Day-60-Getters-and-Setters/main.py b/100-days-of-code-youtube/60-Day-60-Getters-and-Setters/main.py new file mode 100644 index 00000000..0d50a0a2 --- /dev/null +++ b/100-days-of-code-youtube/60-Day-60-Getters-and-Setters/main.py @@ -0,0 +1,19 @@ +class MyClass: + def __init__(self, value): + self._value = value + + def show(self): + print(f"Value is {self._value}") + + @property + def ten_value(self): + return 10* self._value + + @ten_value.setter + def ten_value(self, new_value): + self._value = new_value/10 + +obj = MyClass(10) +obj.ten_value = 67 +print(obj.ten_value) +obj.show() \ No newline at end of file diff --git a/100-days-of-code-youtube/61-Day-61-Inheritance-in-Python/.tutorial/01-Inheritance.md b/100-days-of-code-youtube/61-Day-61-Inheritance-in-Python/.tutorial/01-Inheritance.md new file mode 100644 index 00000000..88a54c27 --- /dev/null +++ b/100-days-of-code-youtube/61-Day-61-Inheritance-in-Python/.tutorial/01-Inheritance.md @@ -0,0 +1,18 @@ +# Inheritance in python +When a class derives from another class. The child class will inherit all the public and protected properties and methods from the parent class. In addition, it can have its own properties and methods,this is called as inheritance. +## Python Inheritance Syntax +```python +class BaseClass: + Body of base class +class DerivedClass(BaseClass): + Body of derived class + ``` +Derived class inherits features from the base class where new features can be added to it. This results in re-usability of code. +## Types of inheritance: +1. Single inheritance +2. Multiple inheritance +3. Multilevel inheritance +4. Hierarchical Inheritance +5. Hybrid Inheritance + +We will see the explaination and example of each type of inheritance in the later tutorials \ No newline at end of file diff --git a/100-days-of-code-youtube/61-Day-61-Inheritance-in-Python/.tutorial/02-examples.md b/100-days-of-code-youtube/61-Day-61-Inheritance-in-Python/.tutorial/02-examples.md new file mode 100644 index 00000000..f9d64161 --- /dev/null +++ b/100-days-of-code-youtube/61-Day-61-Inheritance-in-Python/.tutorial/02-examples.md @@ -0,0 +1,150 @@ +## Single Inheritance: +Single inheritance enables a derived class to inherit properties from a single parent class, thus enabling code reusability and the addition of new features to existing code. +### Example: +```python +class Parent: + def func1(self): + print("This function is in parent class.") + +class Child(Parent): + def func2(self): + print("This function is in child class.") + +object = Child() +object.func1() +object.func2() +``` +### Output: +``` +This function is in parent class. +This function is in child class. +``` +## Multiple Inheritance: +When a class can be derived from more than one base class this type of inheritance is called multiple inheritances. In multiple inheritances, all the features of the base classes are inherited into the derived class. +### Example: +```python +class Mother: + mothername = "" + + def mother(self): + print(self.mothername) + + +class Father: + fathername = "" + + def father(self): + print(self.fathername) + + +class Son(Mother, Father): + def parents(self): + print("Father name is :", self.fathername) + print("Mother :", self.mothername) +s1 = Son() +s1.fathername = "Mommy" +s1.mothername = "Daddy" +s1.parents() +``` +### Output: +``` +Father name is : Mommy +Mother name is : Daddy +``` +## Multilevel Inheritance : +In multilevel inheritance, features of the base class and the derived class are further inherited into the new derived class. This is similar to a relationship representing a child and a grandfather. +### Example: +```python +class Grandfather: + + def __init__(self, grandfathername): + self.grandfathername = grandfathername + + +class Father(Grandfather): + def __init__(self, fathername, grandfathername): + self.fathername = fathername + Grandfather.__init__(self, grandfathername) +class Son(Father): + def __init__(self, sonname, fathername, grandfathername): + self.sonname = sonname + Father.__init__(self, fathername, grandfathername) + + def print_name(self): + print('Grandfather name :', self.grandfathername) + print("Father name :", self.fathername) + print("Son name :", self.sonname) +s1 = Son('Prince', 'Rampal', 'Lal mani') +print(s1.grandfathername) +s1.print_name() +``` +### Output: +``` +George +Grandfather name : George +Father name : Philip +Son name : Charles +``` +## Hierarchical Inheritance: +When more than one derived class are created from a single base this type of inheritance is called hierarchical inheritance. In this program, we have a parent (base) class and two child (derived) classes. +### Example: +```python +class Parent: + def func1(self): + print("This function is in parent class.") + +class Child1(Parent): + def func2(self): + print("This function is in child 1.") + +class Child2(Parent): + def func3(self): + print("This function is in child 2.") + + object1 = Child1() +object2 = Child2() +object1.func1() +object1.func2() +object2.func1() +object2.func3() +``` +### Output: +``` +This function is in parent class. +This function is in child 1. +This function is in parent class. +This function is in child 2. +``` +## Hybrid Inheritance: +Inheritance consisting of multiple types of inheritance is called hybrid inheritance. +### Example +```python +class School: + def func1(self): + print("This function is in school.") + + +class Student1(School): + def func2(self): + print("This function is in student 1. ") + + +class Student2(School): + def func3(self): + print("This function is in student 2.") + + +class Student3(Student1, School): + def func4(self): + print("This function is in student 3.") + +object = Student3() +object.func1() +object.func2() +``` +### Output: +``` +This function is in school. +This function is in student 1. +```` +## [Next Lesson>>](https://replit.com/@codewithharry/62-Day-62-Access-Specifiers) diff --git a/100-days-of-code-youtube/61-Day-61-Inheritance-in-Python/.tutorial/video.json b/100-days-of-code-youtube/61-Day-61-Inheritance-in-Python/.tutorial/video.json new file mode 100644 index 00000000..ecb5659f --- /dev/null +++ b/100-days-of-code-youtube/61-Day-61-Inheritance-in-Python/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/-KsfUaQEY9Y" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/61-Day-61-Inheritance-in-Python/main.py b/100-days-of-code-youtube/61-Day-61-Inheritance-in-Python/main.py new file mode 100644 index 00000000..e764e76a --- /dev/null +++ b/100-days-of-code-youtube/61-Day-61-Inheritance-in-Python/main.py @@ -0,0 +1,18 @@ +class Employee: + def __init__(self, name, id): + self.name = name + self.id = id + + def showDetails(self): + print(f"The name of Employee: {self.id} is {self.name}") + +class Programmer(Employee): + def showLanguage(self): + print("The default langauge is Python") + + +e1 = Employee("Rohan Das", 400) +e1.showDetails() +e2 = Programmer("Harry", 4100) +e2.showDetails() +e2.showLanguage() \ No newline at end of file diff --git a/100-days-of-code-youtube/62-Day-62-Access-Specifiers/.tutorial/01-Access_specifiers.md b/100-days-of-code-youtube/62-Day-62-Access-Specifiers/.tutorial/01-Access_specifiers.md new file mode 100644 index 00000000..f4881a71 --- /dev/null +++ b/100-days-of-code-youtube/62-Day-62-Access-Specifiers/.tutorial/01-Access_specifiers.md @@ -0,0 +1,9 @@ +# Access Specifiers/Modifiers +Access specifiers or access modifiers in python programming are used to limit the access of class variables and class methods outside of class while implementing the concepts of inheritance. + +Let us see the each one of access specifiers in detail: +# Types of access specifiers +1. Public access modifier +2. Private access modifier +3. Protected access modifier + \ No newline at end of file diff --git a/100-days-of-code-youtube/62-Day-62-Access-Specifiers/.tutorial/02-public.md b/100-days-of-code-youtube/62-Day-62-Access-Specifiers/.tutorial/02-public.md new file mode 100644 index 00000000..f4450722 --- /dev/null +++ b/100-days-of-code-youtube/62-Day-62-Access-Specifiers/.tutorial/02-public.md @@ -0,0 +1,19 @@ +# Public Access Specifier in Python +All the variables and methods (member functions) in python are by default public. Any instance variable in a class followed by the ‘self’ keyword ie. self.var_name are public accessed. +## Example: +```python +class Student: + # constructor is defined + def __init__(self, age, name): + self.age = age # public variable + self.name = name # public variable + +obj = Student(21,"Harry") +print(obj.age) +print(obj.name) +``` +## Output: +``` +21 +Harry +``` \ No newline at end of file diff --git a/100-days-of-code-youtube/62-Day-62-Access-Specifiers/.tutorial/03-private.md b/100-days-of-code-youtube/62-Day-62-Access-Specifiers/.tutorial/03-private.md new file mode 100644 index 00000000..1de45475 --- /dev/null +++ b/100-days-of-code-youtube/62-Day-62-Access-Specifiers/.tutorial/03-private.md @@ -0,0 +1,54 @@ +# Private Access Modifier +By definition, Private members of a class (variables or methods) are those members which are only accessible inside the class. We cannot use private members outside of class. + + +In Python, there is no strict concept of "private" access modifiers like in some other programming languages. However, a convention has been established to indicate that a variable or method should be considered private by prefixing its name with a double underscore (__). This is known as a "weak internal use indicator" and it is a convention only, not a strict rule. Code outside the class can still access these "private" variables and methods, but it is generally understood that they should not be accessed or modified. +## Example: +```python +class Student: + def __init__(self, age, name): + self.__age = age # An indication of private variable + + def __funName(self): # An indication of private function + self.y = 34 + print(self.y) + +class Subject(Student): + pass + +obj = Student(21,"Harry") +obj1 = Subject + +# calling by object of class Student +print(obj.__age) +print(obj.__funName()) + +# calling by object of class Subject +print(obj1.__age) +print(obj1.__funName()) +``` +## Output: +``` +AttributeError: 'student' object has no attribute '__age' +AttributeError: 'student' object has no method '__funName()' +AttributeError: 'subject' object has no attribute '__age' +AttributeError: 'student' object has no method '__funName()' +``` +Private members of a class cannot be accessed or inherited outside of class. If we try to access or to inherit the properties of private members to child class (derived class). Then it will show the error. + +## Name mangling +Name mangling in Python is a technique used to protect class-private and superclass-private attributes from being accidentally overwritten by subclasses. Names of class-private and superclass-private attributes are transformed by the addition of a single leading underscore and a double leading underscore respectively. + +```python +class MyClass: + def __init__(self): + self._nonmangled_attribute = "I am a nonmangled attribute" + self.__mangled_attribute = "I am a mangled attribute" + +my_object = MyClass() + +print(my_object._nonmangled_attribute) # Output: I am a nonmangled attribute +print(my_object.__mangled_attribute) # Throws an AttributeError +print(my_object._MyClass__mangled_attribute) # Output: I am a mangled attribute +``` +In the example above, the attribute _nonmangled_attribute is marked as nonmangled by convention, but can still be accessed from outside the class. The attribute __mangled_attribute is private and its name is "mangled" to _MyClass__mangled_attribute, so it can't be accessed directly from outside the class, but you can access it by calling _MyClass__mangled_attribute \ No newline at end of file diff --git a/100-days-of-code-youtube/62-Day-62-Access-Specifiers/.tutorial/04-protected.md b/100-days-of-code-youtube/62-Day-62-Access-Specifiers/.tutorial/04-protected.md new file mode 100644 index 00000000..90cc6993 --- /dev/null +++ b/100-days-of-code-youtube/62-Day-62-Access-Specifiers/.tutorial/04-protected.md @@ -0,0 +1,36 @@ +# Protected Access Modifier +In object-oriented programming (OOP), the term "protected" is used to describe a member (i.e., a method or attribute) of a class that is intended to be accessed only by the class itself and its subclasses. In Python, the convention for indicating that a member is protected is to prefix its name with a single underscore (_). For example, if a class has a method called _my_method, it is indicating that the method should only be accessed by the class itself and its subclasses. + +It's important to note that the single underscore is just a naming convention, and does not actually provide any protection or restrict access to the member. +The syntax we follow to make any variable protected is to write variable name followed by a single underscore (_) ie. _varName. +## Example: +```python +class Student: + def __init__(self): + self._name = "Harry" + + def _funName(self): # protected method + return "CodeWithHarry" + +class Subject(Student): #inherited class + pass + +obj = Student() +obj1 = Subject() + +# calling by object of Student class +print(obj._name) +print(obj._funName()) +# calling by object of Subject class +print(obj1._name) +print(obj1._funName()) +``` +## Output: +``` +Harry +CodeWithHarry + +Harry +CodeWithHarry +``` +## [Next Lesson>>](https://replit.com/@codewithharry/63-Day-63-Exercise-5-Solution) \ No newline at end of file diff --git a/100-days-of-code-youtube/62-Day-62-Access-Specifiers/.tutorial/video.json b/100-days-of-code-youtube/62-Day-62-Access-Specifiers/.tutorial/video.json new file mode 100644 index 00000000..7bd7e55a --- /dev/null +++ b/100-days-of-code-youtube/62-Day-62-Access-Specifiers/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/43FK20rWvKQ" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/62-Day-62-Access-Specifiers/main.py b/100-days-of-code-youtube/62-Day-62-Access-Specifiers/main.py new file mode 100644 index 00000000..f889e0d2 --- /dev/null +++ b/100-days-of-code-youtube/62-Day-62-Access-Specifiers/main.py @@ -0,0 +1,20 @@ +class Student: + def __init__(self): + self._name = "Harry" + + def _funName(self): # protected method + return "CodeWithHarry" + +class Subject(Student): #inherited class + pass + +obj = Student() +obj1 = Subject() +print(dir(obj)) + +# calling by object of Student class +print(obj._name) +print(obj._funName()) +# calling by object of Subject class +print(obj1._name) +print(obj1._funName()) \ No newline at end of file diff --git a/100-days-of-code-youtube/63-Day-63-Exercise-5-Solution/.tutorial/Tutorial.md b/100-days-of-code-youtube/63-Day-63-Exercise-5-Solution/.tutorial/Tutorial.md new file mode 100644 index 00000000..5512138b --- /dev/null +++ b/100-days-of-code-youtube/63-Day-63-Exercise-5-Solution/.tutorial/Tutorial.md @@ -0,0 +1,3 @@ +## Snake Water Gun +Snake, Water and Gun is a variation of the children's game "rock-paper-scissors" where players use hand gestures to represent a snake, water, or a gun. The gun beats the snake, the water beats the gun, and the snake beats the water. Write a python program to create a Snake Water Gun game in Python using if-else statements. Do not create any fancy GUI. Use proper functions to check for win. +## [Next Lesson>>](https://replit.com/@codewithharry/64-Day-64-Exercise-6) \ No newline at end of file diff --git a/100-days-of-code-youtube/63-Day-63-Exercise-5-Solution/.tutorial/video.json b/100-days-of-code-youtube/63-Day-63-Exercise-5-Solution/.tutorial/video.json new file mode 100644 index 00000000..96fddab8 --- /dev/null +++ b/100-days-of-code-youtube/63-Day-63-Exercise-5-Solution/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/GkfBpm6MN9A" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/63-Day-63-Exercise-5-Solution/main.py b/100-days-of-code-youtube/63-Day-63-Exercise-5-Solution/main.py new file mode 100644 index 00000000..3591b01a --- /dev/null +++ b/100-days-of-code-youtube/63-Day-63-Exercise-5-Solution/main.py @@ -0,0 +1,36 @@ +import random + +def check(comp, user): + if comp ==user: + return 0 + + if(comp == 0 and user ==1): + return -1 + + if(comp == 1 and user ==2): + return -1 + + if(comp == 2 and user == 0): + return -1 + + return 1 + + +comp = random.randint(0, 2) +user = int(input("0 for Snake, 1 for water and 2 for Gun:\n")) + +score = check(comp, user) + +print("You: ", user) +print("Computer: ", comp) + +if(score == 0): + print("Its a draw") +elif (score == -1): + print("You Lose") +else: + print("You Won") + + + + diff --git a/100-days-of-code-youtube/64-Day-64-Exercise-6/.tutorial/Tutorial.md b/100-days-of-code-youtube/64-Day-64-Exercise-6/.tutorial/Tutorial.md new file mode 100644 index 00000000..87686796 --- /dev/null +++ b/100-days-of-code-youtube/64-Day-64-Exercise-6/.tutorial/Tutorial.md @@ -0,0 +1,2 @@ +Write a Library class with no_of_books and books as two instance variables. Write a program to create a library from this Library class and show how you can print all books, add a book and get the number of books using different methods. Show that your program doesnt persist the books after the program is stopped! +## [Next Lesson>>](https://replit.com/@codewithharry/65-Day-65-Static-Methods) \ No newline at end of file diff --git a/100-days-of-code-youtube/64-Day-64-Exercise-6/.tutorial/video.json b/100-days-of-code-youtube/64-Day-64-Exercise-6/.tutorial/video.json new file mode 100644 index 00000000..6e457b57 --- /dev/null +++ b/100-days-of-code-youtube/64-Day-64-Exercise-6/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/mlDZTSH2FFc" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/64-Day-64-Exercise-6/main.py b/100-days-of-code-youtube/64-Day-64-Exercise-6/main.py new file mode 100644 index 00000000..e69de29b diff --git a/100-days-of-code-youtube/65-Day-65-Static-Methods/.tutorial/Tutorial.md b/100-days-of-code-youtube/65-Day-65-Static-Methods/.tutorial/Tutorial.md new file mode 100644 index 00000000..80443527 --- /dev/null +++ b/100-days-of-code-youtube/65-Day-65-Static-Methods/.tutorial/Tutorial.md @@ -0,0 +1,13 @@ +Static methods in Python are methods that belong to a class rather than an instance of the class. They are defined using the @staticmethod decorator and do not have access to the instance of the class (i.e. self). They are called on the class itself, not on an instance of the class. Static methods are often used to create utility functions that don't need access to instance data. + +```python +class Math: + @staticmethod + def add(a, b): + return a + b + +result = Math.add(1, 2) +print(result) # Output: 3 +``` +In this example, the add method is a static method of the Math class. It takes two parameters a and b and returns their sum. The method can be called on the class itself, without the need to create an instance of the class. +## [Next Lesson>>](https://replit.com/@codewithharry/66-Day-66-Instance-vs-Class-variables) \ No newline at end of file diff --git a/100-days-of-code-youtube/65-Day-65-Static-Methods/.tutorial/video.json b/100-days-of-code-youtube/65-Day-65-Static-Methods/.tutorial/video.json new file mode 100644 index 00000000..c37b24d7 --- /dev/null +++ b/100-days-of-code-youtube/65-Day-65-Static-Methods/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/GcSVYNSsJxo" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/65-Day-65-Static-Methods/main.py b/100-days-of-code-youtube/65-Day-65-Static-Methods/main.py new file mode 100644 index 00000000..9c26c510 --- /dev/null +++ b/100-days-of-code-youtube/65-Day-65-Static-Methods/main.py @@ -0,0 +1,19 @@ +class Math: + def __init__(self, num): + self.num = num + + def addtonum(self, n): + self.num = self.num +n + + @staticmethod + def add(a, b): + return a + b + +# result = Math.add(1, 2) +# print(result) # Output: 3 +a = Math(5) +print(a.num) +a.addtonum(6) +print(a.num) + +print(Math.add(7, 2)) \ No newline at end of file diff --git a/100-days-of-code-youtube/66-Day-66-Instance-vs-Class-variables/.tutorial/Tutorial.md b/100-days-of-code-youtube/66-Day-66-Instance-vs-Class-variables/.tutorial/Tutorial.md new file mode 100644 index 00000000..e1cdac2b --- /dev/null +++ b/100-days-of-code-youtube/66-Day-66-Instance-vs-Class-variables/.tutorial/Tutorial.md @@ -0,0 +1,50 @@ +# Instance vs class variables +In Python, variables can be defined at the class level or at the instance level. Understanding the difference between these types of variables is crucial for writing efficient and maintainable code. + +## Class Variables +Class variables are defined at the class level and are shared among all instances of the class. They are defined outside of any method and are usually used to store information that is common to all instances of the class. For example, a class variable can be used to store the number of instances of a class that have been created. +```python +class MyClass: + class_variable = 0 + + def __init__(self): + MyClass.class_variable += 1 + + def print_class_variable(self): + print(MyClass.class_variable) + + +obj1 = MyClass() +obj2 = MyClass() + +obj1.print_class_variable() # Output: 2 +obj2.print_class_variable() # Output: 2 + +``` + +In the example above, the class_variable is shared among all instances of the class MyClass. When we create new instances of MyClass, the value of class_variable is incremented. When we call the print_class_variable method on obj1 and obj2, we get the same value of class_variable. + +## Instance Variables +Instance variables are defined at the instance level and are unique to each instance of the class. They are defined inside the __init__ method and are usually used to store information that is specific to each instance of the class. For example, an instance variable can be used to store the name of an employee in a class that represents an employee. +```python +class MyClass: + def __init__(self, name): + self.name = name + + def print_name(self): + print(self.name) + +obj1 = MyClass("John") +obj2 = MyClass("Jane") + +obj1.print_name() # Output: John +obj2.print_name() # Output: Jane +``` + +In the example above, each instance of the class MyClass has its own value for the name variable. When we call the print_name method on obj1 and obj2, we get different values for name. + +## Summary +In summary, class variables are shared among all instances of a class and are used to store information that is common to all instances. Instance variables are unique to each instance of a class and are used to store information that is specific to each instance. Understanding the difference between class variables and instance variables is crucial for writing efficient and maintainable code in Python. + +It's also worth noting that, in python, class variables are defined outside of any methods and don't need to be explicitly declared as class variable. They are defined in the class level and can be accessed via classname.varibale_name or self.class.variable_name. But instance variables are defined inside the methods and need to be explicitly declared as instance variable by using self.variable_name. +## [Next Lesson>>](https://replit.com/@codewithharry/67-Day-67-Exercise-6-Solution) \ No newline at end of file diff --git a/100-days-of-code-youtube/66-Day-66-Instance-vs-Class-variables/.tutorial/video.json b/100-days-of-code-youtube/66-Day-66-Instance-vs-Class-variables/.tutorial/video.json new file mode 100644 index 00000000..48d26257 --- /dev/null +++ b/100-days-of-code-youtube/66-Day-66-Instance-vs-Class-variables/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/tQdaeiF4j38" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/66-Day-66-Instance-vs-Class-variables/main.py b/100-days-of-code-youtube/66-Day-66-Instance-vs-Class-variables/main.py new file mode 100644 index 00000000..2b1e2876 --- /dev/null +++ b/100-days-of-code-youtube/66-Day-66-Instance-vs-Class-variables/main.py @@ -0,0 +1,21 @@ +class Employee: + companyName = "Apple" + noOfEmployees = 0 + def __init__(self, name): + self.name = name + self.raise_amount = 0.02 + Employee.noOfEmployees +=1 + def showDetails(self): + print(f"The name of the Employee is {self.name} and the raise amount in {self.noOfEmployees} sized {self.companyName} is {self.raise_amount}") + +# Employee.showDetails(emp1) +emp1 = Employee("Harry") +emp1.raise_amount = 0.3 +emp1.companyName = "Apple India" +emp1.showDetails() +Employee.companyName = "Google" +print(Employee.companyName) + +emp2 = Employee("Rohan") +emp2.companyName = "Nestle" +emp2.showDetails() diff --git a/100-days-of-code-youtube/67-Day-67-Exercise-6-Solution/.tutorial/Tutorial.md b/100-days-of-code-youtube/67-Day-67-Exercise-6-Solution/.tutorial/Tutorial.md new file mode 100644 index 00000000..092b58f9 --- /dev/null +++ b/100-days-of-code-youtube/67-Day-67-Exercise-6-Solution/.tutorial/Tutorial.md @@ -0,0 +1,2 @@ +Write a Library class with no_of_books and books as two instance variables. Write a program to create a library from this Library class and show how you can print all books, add a book and get the number of books using different methods. Show that your program doesnt persist the books after the program is stopped! +## [Next Lesson>>](https://replit.com/@codewithharry/68-Day-68-Exercise-7) diff --git a/100-days-of-code-youtube/67-Day-67-Exercise-6-Solution/.tutorial/video.json b/100-days-of-code-youtube/67-Day-67-Exercise-6-Solution/.tutorial/video.json new file mode 100644 index 00000000..42f0ccba --- /dev/null +++ b/100-days-of-code-youtube/67-Day-67-Exercise-6-Solution/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/uRIEjf2vCIg" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/67-Day-67-Exercise-6-Solution/main.py b/100-days-of-code-youtube/67-Day-67-Exercise-6-Solution/main.py new file mode 100644 index 00000000..7d410dfe --- /dev/null +++ b/100-days-of-code-youtube/67-Day-67-Exercise-6-Solution/main.py @@ -0,0 +1,22 @@ +class Library: + def __init__(self): + self.noBooks = 0 + self.books = [] + + def addBook(self, book): + self.books.append(book) + self.noBooks = len(self.books) + + def showInfo(self): + print(f"The library has {self.noBooks} books. The books are") + for book in self.books: + print(book) + + +l1 = Library() +l1.addBook("Harry Potter1") +l1.addBook("Harry Potter2") +l1.addBook("Harry Potter3") +l1.showInfo() + + \ No newline at end of file diff --git a/100-days-of-code-youtube/68-Day-68-Exercise-7/.tutorial/Tutorial.md b/100-days-of-code-youtube/68-Day-68-Exercise-7/.tutorial/Tutorial.md new file mode 100644 index 00000000..a5f96b57 --- /dev/null +++ b/100-days-of-code-youtube/68-Day-68-Exercise-7/.tutorial/Tutorial.md @@ -0,0 +1,8 @@ +Write a program to clear the clutter inside a folder on your computer. +You should use os module to rename all the png images from 1.png all the way till n.png where n is the number of png files in that folder. Do the same for other file formats. For example: +- sfdsf.png --> 1.png +- vfsf.png --> 2.png +- this.png --> 3.png +- design.png --> 4.png +- name.png --> 5.png +## [Next Lesson>>](https://replit.com/@codewithharry/69-Day-69-Class-Methods) \ No newline at end of file diff --git a/100-days-of-code-youtube/68-Day-68-Exercise-7/.tutorial/video.json b/100-days-of-code-youtube/68-Day-68-Exercise-7/.tutorial/video.json new file mode 100644 index 00000000..3c930ef3 --- /dev/null +++ b/100-days-of-code-youtube/68-Day-68-Exercise-7/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/6KvnP13TnhY" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/68-Day-68-Exercise-7/main.py b/100-days-of-code-youtube/68-Day-68-Exercise-7/main.py new file mode 100644 index 00000000..e69de29b diff --git a/100-days-of-code-youtube/69-Day-69-Class-Methods/.tutorial/Tutorial.md b/100-days-of-code-youtube/69-Day-69-Class-Methods/.tutorial/Tutorial.md new file mode 100644 index 00000000..9d6e27bf --- /dev/null +++ b/100-days-of-code-youtube/69-Day-69-Class-Methods/.tutorial/Tutorial.md @@ -0,0 +1,31 @@ +# Python Class Methods +## Python Class Methods: An Introduction + +In Python, classes are a way to define custom data types that can store data and define functions that can manipulate that data. One type of function that can be defined within a class is called a "method." In this blog post, we will explore what Python class methods are, why they are useful, and how to use them. + +## What are Python Class Methods? + +A class method is a type of method that is bound to the class and not the instance of the class. In other words, it operates on the class as a whole, rather than on a specific instance of the class. Class methods are defined using the "@classmethod" decorator, followed by a function definition. The first argument of the function is always "cls," which represents the class itself. + +## Why Use Python Class Methods? + +Class methods are useful in several situations. For example, you might want to create a factory method that creates instances of your class in a specific way. You could define a class method that creates the instance and returns it to the caller. Another common use case is to provide alternative constructors for your class. This can be useful if you want to create instances of your class in multiple ways, but still have a consistent interface for doing so. + +## How to Use Python Class Methods + +To define a class method, you simply use the "@classmethod" decorator before the method definition. The first argument of the method should always be "cls," which represents the class itself. Here is an example of how to define a class method: +```python +class ExampleClass: + @classmethod + def factory_method(cls, argument1, argument2): + return cls(argument1, argument2) +``` + +In this example, the "factory_method" is a class method that takes two arguments, "argument1" and "argument2." It creates a new instance of the class "ExampleClass" using the "cls" keyword, and returns the new instance to the caller. + +It's important to note that class methods cannot modify the class in any way. If you need to modify the class, you should use a class level variable instead. + +## Conclusion + +Python class methods are a powerful tool for defining functions that operate on the class as a whole, rather than on a specific instance of the class. They are useful for creating factory methods, alternative constructors, and other types of methods that operate at the class level. With the knowledge of how to define and use class methods, you can start writing more complex and organized code in Python. +## [Next Lesson>>](https://replit.com/@codewithharry/70-Day-70-Class-methods-as-alternative-constructors) \ No newline at end of file diff --git a/100-days-of-code-youtube/69-Day-69-Class-Methods/.tutorial/video.json b/100-days-of-code-youtube/69-Day-69-Class-Methods/.tutorial/video.json new file mode 100644 index 00000000..92a959c2 --- /dev/null +++ b/100-days-of-code-youtube/69-Day-69-Class-Methods/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/9ynmDLc5FYo" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/69-Day-69-Class-Methods/main.py b/100-days-of-code-youtube/69-Day-69-Class-Methods/main.py new file mode 100644 index 00000000..326ec8b0 --- /dev/null +++ b/100-days-of-code-youtube/69-Day-69-Class-Methods/main.py @@ -0,0 +1,16 @@ +class Employee: + company = "Apple" + def show(self): + print(f"The name is {self.name} and company is {self.company}") + + @classmethod + def changeCompany(cls, newCompany): + cls.company = newCompany + + +e1 = Employee() +e1.name = "Harry" +e1.show() +e1.changeCompany("Tesla") +e1.show() +print(Employee.company) \ No newline at end of file diff --git a/100-days-of-code-youtube/70-Day-70-Class-methods-as-alternative-constructors/.tutorial/Tutorial.md b/100-days-of-code-youtube/70-Day-70-Class-methods-as-alternative-constructors/.tutorial/Tutorial.md new file mode 100644 index 00000000..4750b687 --- /dev/null +++ b/100-days-of-code-youtube/70-Day-70-Class-methods-as-alternative-constructors/.tutorial/Tutorial.md @@ -0,0 +1,57 @@ +# Class Methods as Alternative Constructors + +In object-oriented programming, the term "constructor" refers to a special type of method that is automatically executed when an object is created from a class. The purpose of a constructor is to initialize the object's attributes, allowing the object to be fully functional and ready to use. + +However, there are times when you may want to create an object in a different way, or with different initial values, than what is provided by the default constructor. This is where class methods can be used as alternative constructors. + +A class method belongs to the class rather than to an instance of the class. One common use case for class methods as alternative constructors is when you want to create an object from data that is stored in a different format, such as a string or a dictionary. For example, consider a class named "Person" that has two attributes: "name" and "age". The default constructor for the class might look like this: + +```python +class Person: + def __init__(self, name, age): + self.name = name + self.age = age +``` + +But what if you want to create a Person object from a string that contains the person's name and age, separated by a comma? You can define a class method named "from_string" to do this: +```python +class Person: + def __init__(self, name, age): + self.name = name + self.age = age + + @classmethod + def from_string(cls, string): + name, age = string.split(',') + return cls(name, int(age)) +``` +Now you can create a Person object from a string like this: +```python +person = Person.from_string("John Doe, 30") +``` + +Another common use case for class methods as alternative constructors is when you want to create an object with a different set of default values than what is provided by the default constructor. For example, consider a class named "Rectangle" that has two attributes: "width" and "height". The default constructor for the class might look like this: +```python +class Rectangle: + def __init__(self, width, height): + self.width = width + self.height = height + +``` +But what if you want to create a Rectangle object with a default width of 10 and a default height of 5? You can define a class method named "square" to do this: +```python +class Rectangle: + def __init__(self, width, height): + self.width = width + self.height = height + + @classmethod + def square(cls, size): + return cls(size, size) +``` +Now you can create a square rectangle like this: + +```python +rectangle = Rectangle.square(10) +``` +## [Next Lesson>>](https://replit.com/@codewithharry/71-Day-71-dir-dict-and-help-methods) \ No newline at end of file diff --git a/100-days-of-code-youtube/70-Day-70-Class-methods-as-alternative-constructors/.tutorial/video.json b/100-days-of-code-youtube/70-Day-70-Class-methods-as-alternative-constructors/.tutorial/video.json new file mode 100644 index 00000000..2500986d --- /dev/null +++ b/100-days-of-code-youtube/70-Day-70-Class-methods-as-alternative-constructors/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/FGlKJdy--p8" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/70-Day-70-Class-methods-as-alternative-constructors/main.py b/100-days-of-code-youtube/70-Day-70-Class-methods-as-alternative-constructors/main.py new file mode 100644 index 00000000..9bb33cae --- /dev/null +++ b/100-days-of-code-youtube/70-Day-70-Class-methods-as-alternative-constructors/main.py @@ -0,0 +1,30 @@ +class Employee: + def __init__(self, name, salary): + self.name = name + self.salary = salary + + @classmethod + def fromStr(cls, string): + return cls(string.split("-")[0], int(string.split("-")[1])) + +e1 = Employee("Harry", 12000) +print(e1.name) +print(e1.salary) + +string = "John-12000" +e2 = Employee.fromStr(string) +print(e2.name) +print(e2.salary) + +class Person: + def __init__(self, name, age): + self.name = name + self.age = age + + @classmethod + def from_string(cls, string): + name, age = string.split(',') + return cls(name, int(age)) + +person = Person.from_string("John Doe, 30") +print(person.name, person.age) \ No newline at end of file diff --git a/100-days-of-code-youtube/71-Day-71-dir-dict-and-help-methods/.tutorial/Tutorial.md b/100-days-of-code-youtube/71-Day-71-dir-dict-and-help-methods/.tutorial/Tutorial.md new file mode 100644 index 00000000..1ad556fc --- /dev/null +++ b/100-days-of-code-youtube/71-Day-71-dir-dict-and-help-methods/.tutorial/Tutorial.md @@ -0,0 +1,52 @@ +# `dir()`, `__dict__` and `help()` methods in python +We must look into `dir()`, `__dict__()` and `help()` attribute/methods in python. They make it easy for us to understand how classes resolve various functions and executes code. +In Python, there are three built-in functions that are commonly used to get information about objects: dir(), __dict__, and help(). Let's take a look at each of them: +## The `dir()` method +`dir()`: The dir() function returns a list of all the attributes and methods (including dunder methods) available for an object. It is a useful tool for discovering what you can do with an object. +Example: + +```python +>>> x = [1, 2, 3] +>>> dir(x) +['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] +``` + +## The `__dict__` attribute +``__dict__``: The `__dict__` attribute returns a dictionary representation of an object's attributes. It is a useful tool for introspection. +Example: + +```python +>>> class Person: +... def __init__(self, name, age): +... self.name = name +... self.age = age +... +>>> p = Person("John", 30) +>>> p.__dict__ +``` +### Output +``` +{'name': 'John', 'age': 30} +``` +## The help() mehthod +`help()`: The help() function is used to get help documentation for an object, including a description of its attributes and methods. +Example: + +```python +>>> help(str) +Help on class str in module builtins: + +class str(object) + | str(object='') -> str + | str(bytes_or_buffer[, encoding[, errors]]) -> str + | + | Create a new string object from the given object. If encoding or + | errors is specified, then the object must expose a data buffer + | that will be decoded using the given encoding and error handler. + | Otherwise, returns the result of object.__str__() (if defined) + | or repr(object). + | encoding defaults to sys.getdefaultencoding(). + | errors defaults to 'strict'. + ``` +In conclusion, dir(), __dict__, and help() are useful built-in functions in Python that can be used to get information about objects. They are valuable tools for introspection and discovery. +## [Next Lesson>>](https://replit.com/@codewithharry/72-Day-72-super-Keyword) \ No newline at end of file diff --git a/100-days-of-code-youtube/71-Day-71-dir-dict-and-help-methods/.tutorial/video.json b/100-days-of-code-youtube/71-Day-71-dir-dict-and-help-methods/.tutorial/video.json new file mode 100644 index 00000000..f38230a9 --- /dev/null +++ b/100-days-of-code-youtube/71-Day-71-dir-dict-and-help-methods/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/Wgo9TaBcuJ4" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/71-Day-71-dir-dict-and-help-methods/main.py b/100-days-of-code-youtube/71-Day-71-dir-dict-and-help-methods/main.py new file mode 100644 index 00000000..b98ab2dc --- /dev/null +++ b/100-days-of-code-youtube/71-Day-71-dir-dict-and-help-methods/main.py @@ -0,0 +1,11 @@ +class Person: + def __init__(self, name, age): + self.name = name + self.age = age + self.version = 1 + + +p = Person("John", 30) +print(p.__dict__) + +print(help(Person)) \ No newline at end of file diff --git a/100-days-of-code-youtube/72-Day-72-super-Keyword/.tutorial/Tutorial.md b/100-days-of-code-youtube/72-Day-72-super-Keyword/.tutorial/Tutorial.md new file mode 100644 index 00000000..601d8350 --- /dev/null +++ b/100-days-of-code-youtube/72-Day-72-super-Keyword/.tutorial/Tutorial.md @@ -0,0 +1,59 @@ +# Super keyword in Python +The super() keyword in Python is used to refer to the parent class. It is especially useful when a class inherits from multiple parent classes and you want to call a method from one of the parent classes. + +When a class inherits from a parent class, it can override or extend the methods defined in the parent class. However, sometimes you might want to use the parent class method in the child class. This is where the super() keyword comes in handy. + + +Here's an example of how to use the super() keyword in a simple inheritance scenario: + +```python +class ParentClass: + def parent_method(self): + print("This is the parent method.") + +class ChildClass(ParentClass): + def child_method(self): + print("This is the child method.") + super().parent_method() + +child_object = ChildClass() +child_object.child_method() +``` +## Output: + +```python +This is the child method. +This is the parent method. + ``` +In this example, we have a ParentClass with a parent_method and a ChildClass that inherits from ParentClass and overrides the child_method. When the child_method is called, it first prints "This is the child method." and then calls the parent_method using the super() keyword. + +The super() keyword is also useful when a class inherits from multiple parent classes. In this case, you can specify the parent class from which you want to call the method. + +Here's an example: + +```python +class ParentClass1: + def parent_method(self): + print("This is the parent method of ParentClass1.") + +class ParentClass2: + def parent_method(self): + print("This is the parent method of ParentClass2.") + +class ChildClass(ParentClass1, ParentClass2): + def child_method(self): + print("This is the child method.") + super().parent_method() + +child_object = ChildClass() +child_object.child_method() +``` +### Output: +```python +This is the child method. +This is the parent method of ParentClass1. +``` +In this example, the ChildClass inherits from both ParentClass1 and ParentClass2. The child_method calls the parent_method of the first parent class using the super() keyword. + +In conclusion, the super() keyword is a useful tool in Python when you want to call a parent class method in a child class. It can be used in inheritance scenarios with a single parent class or multiple parent classes. +## [Next Lesson>>](https://replit.com/@codewithharry/73-Day-73-MagicDunder-Methods) \ No newline at end of file diff --git a/100-days-of-code-youtube/72-Day-72-super-Keyword/.tutorial/video.json b/100-days-of-code-youtube/72-Day-72-super-Keyword/.tutorial/video.json new file mode 100644 index 00000000..24dea705 --- /dev/null +++ b/100-days-of-code-youtube/72-Day-72-super-Keyword/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/P648reefNh0" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/72-Day-72-super-Keyword/main.py b/100-days-of-code-youtube/72-Day-72-super-Keyword/main.py new file mode 100644 index 00000000..8e194ae9 --- /dev/null +++ b/100-days-of-code-youtube/72-Day-72-super-Keyword/main.py @@ -0,0 +1,15 @@ +class Employee: + def __init__(self, name, id): + self.name = name + self.id = id + +class Programmer(Employee): + def __init__(self, name, id, lang): + super().__init__( name, id) + self.lang = lang + +rohan = Employee("Rohan Das", "420") +harry = Programmer("Harry", "2345", "Python") +print(harry.name) +print(harry.id) +print(harry.lang) \ No newline at end of file diff --git a/100-days-of-code-youtube/73-Day-73-MagicDunder-Methods/.tutorial/Tutorial.md b/100-days-of-code-youtube/73-Day-73-MagicDunder-Methods/.tutorial/Tutorial.md new file mode 100644 index 00000000..7a31b9f0 --- /dev/null +++ b/100-days-of-code-youtube/73-Day-73-MagicDunder-Methods/.tutorial/Tutorial.md @@ -0,0 +1,21 @@ +# Magic/Dunder Methods in Python +These are special methods that you can define in your classes, and when invoked, they give you a powerful way to manipulate objects and their behaviour. + +Magic methods, also known as “dunders” from the double underscores surrounding their names, are powerful tools that allow you to customize the behaviour of your classes. They are used to implement special methods such as the addition, subtraction and comparison operators, as well as some more advanced techniques like descriptors and properties. + +Let’s take a look at some of the most commonly used magic methods in Python. +## `__init__ method` +The __init__ method is a special method that is automatically invoked when you create a new instance of a class. This method is responsible for setting up the object’s initial state, and it is where you would typically define any instance variables that you need. +Also called "constructor", we have discussed this method already +## `__str__ and __repr__ methods` +The __str__ and __repr__ methods are both used to convert an object to a string representation. The __str__ method is used when you want to print out an object, while the __repr__ method is used when you want to get a string representation of an object that can be used to recreate the object. +## `__len__ method` + +The __len__ method is used to get the length of an object. This is useful when you want to be able to find the size of a data structure, such as a list or dictionary. + + +## `__call__ method` +The __call__ method is used to make an object callable, meaning that you can pass it as a parameter to a function and it will be executed when the function is called. This is an incredibly powerful tool that allows you to create objects that behave like functions. + +These are just a few of the many magic methods available in Python. They are incredibly powerful tools that allow you to customize the behaviour of your objects, and can make your code much cleaner and easier to understand. So if you’re looking for a way to take your Python code to the next level, take some time to learn about these magic methods. +## [Next Lesson>>](https://replit.com/@codewithharry/74-Day-74-Method-Overriding) \ No newline at end of file diff --git a/100-days-of-code-youtube/73-Day-73-MagicDunder-Methods/.tutorial/video.json b/100-days-of-code-youtube/73-Day-73-MagicDunder-Methods/.tutorial/video.json new file mode 100644 index 00000000..9a841cef --- /dev/null +++ b/100-days-of-code-youtube/73-Day-73-MagicDunder-Methods/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/DmgQVJXhuLQ" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/73-Day-73-MagicDunder-Methods/__pycache__/emp.cpython-310.pyc b/100-days-of-code-youtube/73-Day-73-MagicDunder-Methods/__pycache__/emp.cpython-310.pyc new file mode 100644 index 00000000..76245e4f Binary files /dev/null and b/100-days-of-code-youtube/73-Day-73-MagicDunder-Methods/__pycache__/emp.cpython-310.pyc differ diff --git a/100-days-of-code-youtube/73-Day-73-MagicDunder-Methods/emp.py b/100-days-of-code-youtube/73-Day-73-MagicDunder-Methods/emp.py new file mode 100644 index 00000000..f7f7635a --- /dev/null +++ b/100-days-of-code-youtube/73-Day-73-MagicDunder-Methods/emp.py @@ -0,0 +1,19 @@ +class Employee: + + def __init__(self, name): + self.name = name + + def __len__(self): + i = 0 + for c in self.name: + i = i + 1 + return i + + def __str__(self): + return f"The name of the employee is {self.name} str" + + def __repr__(self): + return f"Employee('{self.name}')" + + def __call__(self): + print("Hey I am good") diff --git a/100-days-of-code-youtube/73-Day-73-MagicDunder-Methods/main.py b/100-days-of-code-youtube/73-Day-73-MagicDunder-Methods/main.py new file mode 100644 index 00000000..ad80f20a --- /dev/null +++ b/100-days-of-code-youtube/73-Day-73-MagicDunder-Methods/main.py @@ -0,0 +1,8 @@ +from emp import Employee + +e = Employee("Harry") +print(str(e)) +print(repr(e)) +# print(e.name) +# print(len(e)) +e() \ No newline at end of file diff --git a/100-days-of-code-youtube/74-Day-74-Method-Overriding/.tutorial/Tutorial.md b/100-days-of-code-youtube/74-Day-74-Method-Overriding/.tutorial/Tutorial.md new file mode 100644 index 00000000..a8f369f8 --- /dev/null +++ b/100-days-of-code-youtube/74-Day-74-Method-Overriding/.tutorial/Tutorial.md @@ -0,0 +1,50 @@ +# Method Overriding in Python + +Method overriding is a powerful feature in object-oriented programming that allows you to redefine a method in a derived class. The method in the derived class is said to override the method in the base class. When you create an instance of the derived class and call the overridden method, the version of the method in the derived class is executed, rather than the version in the base class. + +In Python, method overriding is a way to customize the behavior of a class based on its specific needs. For example, consider the following base class: + +```python +class Shape: + def area(self): + pass +``` +In this base class, the area method is defined, but does not have any implementation. If you want to create a derived class that represents a circle, you can override the area method and provide an implementation that calculates the area of a circle: + +```python +class Circle(Shape): + def __init__(self, radius): + self.radius = radius + + def area(self): + return 3.14 * self.radius * self.radius +``` +In this example, the Circle class inherits from the Shape class, and overrides the area method. The new implementation of the area method calculates the area of a circle, based on its radius. + +It's important to note that when you override a method, the new implementation must have the same method signature as the original method. This means that the number and type of arguments, as well as the return type, must be the same. + +Another way to customize the behavior of a class is to call the base class method from the derived class method. To do this, you can use the super function. The super function allows you to call the base class method from the derived class method, and can be useful when you want to extend the behavior of the base class method, rather than replace it. + +For example, consider the following base class: + +```python +class Shape: + def area(self): + print("Calculating area...") +``` +In this base class, the area method prints a message indicating that the area is being calculated. If you want to create a derived class that represents a circle, and you also want to print a message indicating the type of shape, you can use the super function to call the base class method, and add your own message: + +```python +class Circle(Shape): + def __init__(self, radius): + self.radius = radius + + def area(self): + print("Calculating area of a circle...") + super().area() + return 3.14 * self.radius * self.radius +``` +In this example, the Circle class overrides the area method, and calls the base class method using the super function. This allows you to extend the behavior of the base class method, while still maintaining its original behavior. + +In conclusion, method overriding is a powerful feature in Python that allows you to customize the behavior of a class based on its specific needs. By using method overriding, you can create more robust and reliable code, and ensure that your classes behave in the way that you need them to. Additionally, by using the super function, you can extend the behavior of a base class method, rather than replace it, giving you even greater flexibility and control over the behavior of your classes. +## [Next Lesson>>](https://replit.com/@codewithharry/75-Day-75-Exercise-7-Solution) \ No newline at end of file diff --git a/100-days-of-code-youtube/74-Day-74-Method-Overriding/.tutorial/video.json b/100-days-of-code-youtube/74-Day-74-Method-Overriding/.tutorial/video.json new file mode 100644 index 00000000..692da14e --- /dev/null +++ b/100-days-of-code-youtube/74-Day-74-Method-Overriding/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/46_yfYC36JY" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/74-Day-74-Method-Overriding/main.py b/100-days-of-code-youtube/74-Day-74-Method-Overriding/main.py new file mode 100644 index 00000000..d7a02168 --- /dev/null +++ b/100-days-of-code-youtube/74-Day-74-Method-Overriding/main.py @@ -0,0 +1,21 @@ +class Shape: + def __init__(self, x, y): + self.x = x + self.y = y + + def area(self): + return self.x * self.y + +class Circle(Shape): + def __init__(self, radius): + self.radius = radius + super().__init__(radius, radius) + + def area(self): + return 3.14 * super().area() + +# rec = Shape(3, 5) +# print(rec.area()) + +c = Circle(5) +print(c.area()) \ No newline at end of file diff --git a/100-days-of-code-youtube/75-Day-75-Exercise-7-Solution/.tutorial/01-exercise.md b/100-days-of-code-youtube/75-Day-75-Exercise-7-Solution/.tutorial/01-exercise.md new file mode 100644 index 00000000..1e5e3ca0 --- /dev/null +++ b/100-days-of-code-youtube/75-Day-75-Exercise-7-Solution/.tutorial/01-exercise.md @@ -0,0 +1,8 @@ +Write a program to clear the clutter inside a folder on your computer. +You should use os module to rename all the png images from 1.png all the way till n.png where n is the number of png files in that folder. Do the same for other file formats. For example: +- sfdsf.png --> 1.png +- vfsf.png --> 2.png +- this.png --> 3.png +- design.png --> 4.png +- name.png --> 5.png +## [Next Lesson>>](https://replit.com/@codewithharry/76-Day-76-Exercise-8) \ No newline at end of file diff --git a/100-days-of-code-youtube/75-Day-75-Exercise-7-Solution/.tutorial/video.json b/100-days-of-code-youtube/75-Day-75-Exercise-7-Solution/.tutorial/video.json new file mode 100644 index 00000000..fbb028eb --- /dev/null +++ b/100-days-of-code-youtube/75-Day-75-Exercise-7-Solution/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/Wt9Shnzv_Yg" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/75-Day-75-Exercise-7-Solution/clutteredFolder/1.png b/100-days-of-code-youtube/75-Day-75-Exercise-7-Solution/clutteredFolder/1.png new file mode 100644 index 00000000..939d43e5 Binary files /dev/null and b/100-days-of-code-youtube/75-Day-75-Exercise-7-Solution/clutteredFolder/1.png differ diff --git a/100-days-of-code-youtube/75-Day-75-Exercise-7-Solution/clutteredFolder/2.png b/100-days-of-code-youtube/75-Day-75-Exercise-7-Solution/clutteredFolder/2.png new file mode 100644 index 00000000..36a523c6 Binary files /dev/null and b/100-days-of-code-youtube/75-Day-75-Exercise-7-Solution/clutteredFolder/2.png differ diff --git a/100-days-of-code-youtube/75-Day-75-Exercise-7-Solution/clutteredFolder/Cheatsheet.pdf b/100-days-of-code-youtube/75-Day-75-Exercise-7-Solution/clutteredFolder/Cheatsheet.pdf new file mode 100644 index 00000000..69bbbd87 Binary files /dev/null and b/100-days-of-code-youtube/75-Day-75-Exercise-7-Solution/clutteredFolder/Cheatsheet.pdf differ diff --git a/100-days-of-code-youtube/75-Day-75-Exercise-7-Solution/main.py b/100-days-of-code-youtube/75-Day-75-Exercise-7-Solution/main.py new file mode 100644 index 00000000..e30cfcbf --- /dev/null +++ b/100-days-of-code-youtube/75-Day-75-Exercise-7-Solution/main.py @@ -0,0 +1,9 @@ +import os + +files = os.listdir("clutteredFolder") +i = 1 +for file in files: + if file.endswith(".png"): + print(file) + os.rename(f"clutteredFolder/{file}", f"clutteredFolder/{i}.png") + i = i + 1 \ No newline at end of file diff --git a/100-days-of-code-youtube/76-Day-76-Exercise-8/.tutorial/Tutorial.md b/100-days-of-code-youtube/76-Day-76-Exercise-8/.tutorial/Tutorial.md new file mode 100644 index 00000000..3d504855 --- /dev/null +++ b/100-days-of-code-youtube/76-Day-76-Exercise-8/.tutorial/Tutorial.md @@ -0,0 +1,4 @@ +Write a program to manipulate pdf files using pyPDF. Your programs should be able to merge multiple pdf files into a single pdf. You are welcome to add more functionalities + +pypdf is a free and open-source pure-python PDF library capable of splitting, merging, cropping, and transforming the pages of PDF files. It can also add custom data, viewing options, and passwords to PDF files. pypdf can retrieve text and metadata from PDFs as well. +## [Next Lesson>>](https://replit.com/@codewithharry/77-Day-77-Operator-Overloading) \ No newline at end of file diff --git a/100-days-of-code-youtube/76-Day-76-Exercise-8/.tutorial/video.json b/100-days-of-code-youtube/76-Day-76-Exercise-8/.tutorial/video.json new file mode 100644 index 00000000..b9bfaa99 --- /dev/null +++ b/100-days-of-code-youtube/76-Day-76-Exercise-8/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/uUbvJ7ZEhPE" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/76-Day-76-Exercise-8/main.py b/100-days-of-code-youtube/76-Day-76-Exercise-8/main.py new file mode 100644 index 00000000..21142270 --- /dev/null +++ b/100-days-of-code-youtube/76-Day-76-Exercise-8/main.py @@ -0,0 +1,2 @@ +# Write a program to manipulate pdf files using pyPDF. Your programs should be able to merge multiple pdf files into a single pdf. You are welcome to add more functionalities +# pypdf is a free and open-source pure-python PDF library capable of splitting, merging, cropping, and transforming the pages of PDF files. It can also add custom data, viewing options, and passwords to PDF files. pypdf can retrieve text and metadata from PDFs as well. \ No newline at end of file diff --git a/100-days-of-code-youtube/77-Day-77-Operator-Overloading/.tutorial/Tutorial.md b/100-days-of-code-youtube/77-Day-77-Operator-Overloading/.tutorial/Tutorial.md new file mode 100644 index 00000000..dc4e2d7a --- /dev/null +++ b/100-days-of-code-youtube/77-Day-77-Operator-Overloading/.tutorial/Tutorial.md @@ -0,0 +1,44 @@ +# Operator Overloading in Python: An Introduction + +Operator Overloading is a feature in Python that allows developers to redefine the behavior of mathematical and comparison operators for custom data types. This means that you can use the standard mathematical operators (+, -, *, /, etc.) and comparison operators (>, <, ==, etc.) in your own classes, just as you would for built-in data types like int, float, and str. + +## Why do we need operator overloading? + +Operator overloading allows you to create more readable and intuitive code. For instance, consider a custom class that represents a point in 2D space. You could define a method called 'add' to add two points together, but using the + operator makes the code more concise and readable: + +```python +p1 = Point(1, 2) +p2 = Point(3, 4) +p3 = p1 + p2 +print(p3.x, p3.y) # prints 4, 6 +``` + +### How to overload an operator in Python? + +You can overload an operator in Python by defining special methods in your class. These methods are identified by their names, which start and end with double underscores (__). Here are some of the most commonly overloaded operators and their corresponding special methods: +``` ++ : __add__ +- : __sub__ +* : __mul__ +/ : __truediv__ +< : __lt__ +> : __gt__ +== : __eq__ +``` +For example, if you want to overload the + operator to add two instances of a custom class, you would define the __add__ method: + +```python +class Point: + def __init__(self, x, y): + self.x = x + self.y = y + + def __add__(self, other): + return Point(self.x + other.x, self.y + other.y) +``` +It's important to note that operator overloading is not limited to the built-in operators, you can overload any user-defined operator as well. + +## Conclusion + +Operator overloading is a powerful feature in Python that allows you to create more readable and intuitive code. By redefining the behavior of mathematical and comparison operators for custom data types, you can write code that is both concise and expressive. However, it's important to use operator overloading wisely, as overloading the wrong operator or using it inappropriately can lead to confusing or unexpected behavior. +## [Next Lesson>>](https://replit.com/@codewithharry/78-Day-78-Single-Inheritance) \ No newline at end of file diff --git a/100-days-of-code-youtube/77-Day-77-Operator-Overloading/.tutorial/video.json b/100-days-of-code-youtube/77-Day-77-Operator-Overloading/.tutorial/video.json new file mode 100644 index 00000000..05ab9cc0 --- /dev/null +++ b/100-days-of-code-youtube/77-Day-77-Operator-Overloading/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/D67-b2t-y4k" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/77-Day-77-Operator-Overloading/main.py b/100-days-of-code-youtube/77-Day-77-Operator-Overloading/main.py new file mode 100644 index 00000000..fc53499e --- /dev/null +++ b/100-days-of-code-youtube/77-Day-77-Operator-Overloading/main.py @@ -0,0 +1,19 @@ +class Vector: + def __init__(self, i, j, k): + self.i = i + self.j = j + self.k = k + + def __str__(self): + return f"{self.i}i + {self.j}j + {self.k}k" + + def __add__(self, x): + return Vector(self.i + x.i, self.j+x.j, self.k+x.k) +v1 = Vector(3, 5, 6) +print(v1) + +v2 = Vector(1, 2, 9) +print(v2) + +print(v1 + v2) +print(type(v1 + v2)) \ No newline at end of file diff --git a/100-days-of-code-youtube/78-Day-78-Single-Inheritance/.tutorial/01-SingleInheritance.md b/100-days-of-code-youtube/78-Day-78-Single-Inheritance/.tutorial/01-SingleInheritance.md new file mode 100644 index 00000000..539a95cf --- /dev/null +++ b/100-days-of-code-youtube/78-Day-78-Single-Inheritance/.tutorial/01-SingleInheritance.md @@ -0,0 +1,40 @@ +# Single Inheritance in Python +Single inheritance is a type of inheritance where a class inherits properties and behaviors from a single parent class. This is the simplest and most common form of inheritance. + +## Syntax +The syntax for single inheritance in Python is straightforward and easy to understand. To create a new class that inherits from a parent class, simply specify the parent class in the class definition, inside the parentheses, like this: + +```python +class ChildClass(ParentClass): + # class body + +``` + +## Example +Let's consider a simple example of single inheritance in Python. Consider a class named "Animal" that contains the attributes and behaviors that are common to all animals. +```python +class Animal: + def __init__(self, name, species): + self.name = name + self.species = species + + def make_sound(self): + print("Sound made by the animal") +``` + +If we want to create a new class for a specific type of animal, such as a dog, we can create a new class named "Dog" that inherits from the Animal class. + +```python +class Dog(Animal): + def __init__(self, name, breed): + Animal.__init__(self, name, species="Dog") + self.breed = breed + + def make_sound(self): + print("Bark!") +``` +The Dog class inherits all the attributes and behaviors of the Animal class, including the `__init__` method and the `make_sound` method. Additionally, the Dog class has its own `__init__` method that adds a new attribute for the breed of the dog, and it also overrides the `make_sound` method to specify the sound that a dog makes. + + +Single inheritance is a powerful tool in Python that allows you to create new classes based on existing classes. It allows you to reuse code, extend it to fit your needs, and make it easier to manage complex systems. Understanding single inheritance is an important step in becoming proficient in object-oriented programming in Python. +## [Next Lesson>>](https://replit.com/@codewithharry/79-Day-79-Multiple-Inheritance) \ No newline at end of file diff --git a/100-days-of-code-youtube/78-Day-78-Single-Inheritance/.tutorial/video.json b/100-days-of-code-youtube/78-Day-78-Single-Inheritance/.tutorial/video.json new file mode 100644 index 00000000..1966030d --- /dev/null +++ b/100-days-of-code-youtube/78-Day-78-Single-Inheritance/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/U53_Gw55NI8" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/78-Day-78-Single-Inheritance/main.py b/100-days-of-code-youtube/78-Day-78-Single-Inheritance/main.py new file mode 100644 index 00000000..866308f9 --- /dev/null +++ b/100-days-of-code-youtube/78-Day-78-Single-Inheritance/main.py @@ -0,0 +1,23 @@ +class Animal: + def __init__(self, name, species): + self.name = name + self.species = species + + def make_sound(self): + print("Sound made by the animal") + +class Dog(Animal): + def __init__(self, name, breed): + Animal.__init__(self, name, species="Dog") + self.breed = breed + + def make_sound(self): + print("Bark!") + +d = Dog("Dog", "Doggerman") +d.make_sound() + +a = Animal("Dog", "Dog") +a.make_sound() + +# Quick Quiz: Implement a Cat class by using the animal class. Add some methods specific to cat \ No newline at end of file diff --git a/100-days-of-code-youtube/79-Day-79-Multiple-Inheritance/.tutorial/01.Multiple inheritance.md b/100-days-of-code-youtube/79-Day-79-Multiple-Inheritance/.tutorial/01.Multiple inheritance.md new file mode 100644 index 00000000..e0d8e86d --- /dev/null +++ b/100-days-of-code-youtube/79-Day-79-Multiple-Inheritance/.tutorial/01.Multiple inheritance.md @@ -0,0 +1,41 @@ +# Multiple Inheritance in Python +Multiple inheritance is a powerful feature in object-oriented programming that allows a class to inherit attributes and methods from multiple parent classes. This can be useful in situations where a class needs to inherit functionality from multiple sources. + + +## Syntax +In Python, multiple inheritance is implemented by specifying multiple parent classes in the class definition, separated by commas. +```python +class ChildClass(ParentClass1, ParentClass2, ParentClass3): + # class body +``` + +In this example, the `ChildClass` inherits attributes and methods from all three parent classes: `ParentClass1`, `ParentClass2`, and `ParentClass3`. + +It's important to note that, in case of multiple inheritance, Python follows a `method resolution order (MRO)` to resolve conflicts between methods or attributes from different parent classes. The MRO determines the order in which parent classes are searched for attributes and methods. + +## Example +```python +class Animal: + def __init__(self, name, species): + self.name = name + self.species = species + + def make_sound(self): + print("Sound made by the animal") + +class Mammal: + def __init__(self, name, fur_color): + self.name = name + self.fur_color = fur_color + +class Dog(Animal, Mammal): + def __init__(self, name, breed, fur_color): + Animal.__init__(self, name, species="Dog") + Mammal.__init__(self, name, fur_color) + self.breed = breed + + def make_sound(self): + print("Bark!") +``` +In this example, the `Dog` class inherits from both the `Animal` and `Mammal` classes, so it can use attributes and methods from both parent classes. +## [Next Lesson>>](https://replit.com/@codewithharry/80-Day-80-Multilevel-Inheritance) \ No newline at end of file diff --git a/100-days-of-code-youtube/79-Day-79-Multiple-Inheritance/.tutorial/video.json b/100-days-of-code-youtube/79-Day-79-Multiple-Inheritance/.tutorial/video.json new file mode 100644 index 00000000..0e80038c --- /dev/null +++ b/100-days-of-code-youtube/79-Day-79-Multiple-Inheritance/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/4o7xSHgKlvI" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/79-Day-79-Multiple-Inheritance/main.py b/100-days-of-code-youtube/79-Day-79-Multiple-Inheritance/main.py new file mode 100644 index 00000000..9acd1373 --- /dev/null +++ b/100-days-of-code-youtube/79-Day-79-Multiple-Inheritance/main.py @@ -0,0 +1,23 @@ +class Employee: + def __init__(self, name): + self.name = name + def show(self): + print(f"The name is {self.name}") + +class Dancer: + def __init__(self, dance): + self.dance = dance + + def show(self): + print(f"The dance is {self.dance}") + +class DancerEmployee(Employee, Dancer): + def __init__(self, dance, name): + self.dance = dance + self.name = name + +o = DancerEmployee("Kathak", "Shivani") +print(o.name) +print(o.dance) +o.show() +print(DancerEmployee.mro()) \ No newline at end of file diff --git a/100-days-of-code-youtube/80-Day-80-Multilevel-Inheritance/.tutorial/01.multilevelinheri.md b/100-days-of-code-youtube/80-Day-80-Multilevel-Inheritance/.tutorial/01.multilevelinheri.md new file mode 100644 index 00000000..54fb686a --- /dev/null +++ b/100-days-of-code-youtube/80-Day-80-Multilevel-Inheritance/.tutorial/01.multilevelinheri.md @@ -0,0 +1,68 @@ +# Multilevel Inheritance in Python +Multilevel inheritance is a type of inheritance in object-oriented programming where a derived class inherits from another derived class. This type of inheritance allows you to build a hierarchy of classes where one class builds upon another, leading to a more specialized class. + +In Python, multilevel inheritance is achieved by using the class hierarchy. The syntax for multilevel inheritance is quite simple and follows the same syntax as single inheritance. + +## Syntax +``` python +class BaseClass: + # Base class code + +class DerivedClass1(BaseClass): + # Derived class 1 code + +class DerivedClass2(DerivedClass1): + # Derived class 2 code +``` +In the above example, we have three classes: `BaseClass`, `DerivedClass1`, and `DerivedClass2`. The `DerivedClass1` class inherits from the `BaseClass`, and the `DerivedClass2` class inherits from the `DerivedClass1` class. This creates a hierarchy where `DerivedClass2` has access to all the attributes and methods of both `DerivedClass1` and `BaseClass`. + +## Example +Let's take a look at an example to understand how multilevel inheritance works in Python. Consider the following classes: +```python +class Animal: + def __init__(self, name, species): + self.name = name + self.species = species + + def show_details(self): + print(f"Name: {self.name}") + print(f"Species: {self.species}") + +class Dog(Animal): + def __init__(self, name, breed): + Animal.__init__(self, name, species="Dog") + self.breed = breed + + def show_details(self): + Animal.show_details(self) + print(f"Breed: {self.breed}") + +class GoldenRetriever(Dog): + def __init__(self, name, color): + Dog.__init__(self, name, breed="Golden Retriever") + self.color = color + + def show_details(self): + Dog.show_details(self) + print(f"Color: {self.color}") +``` +In this example, we have three classes: `Animal`, `Dog`, and `GoldenRetriever`. The `Dog` class inherits from the `Animal` class, and the `GoldenRetriever` class inherits from the `Dog` class. + +Now, when we create an object of the `GoldenRetriever` class, it has access to all the attributes and methods of the `Animal` class and the `Dog` class. We can also see that the `GoldenRetriever` class has its own attributes and methods that are specific to the class. +```python +dog = GoldenRetriever("Max", "Golden") +dog.show_details() +``` +### Output: +``` +Name: Max +Species: Dog +Breed: Golden Retriever +Color: Golden +``` +As we can see from the output, the `GoldenRetriever` object has access to all the attributes and methods of the `Animal` and `Dog` classes, and, it has also added its own unique attributes and methods. This is a powerful feature of multilevel inheritance, as it allows you to create more complex and intricate classes by building upon existing ones. + +Another important aspect of multilevel inheritance is that it allows you to reuse code and avoid repeating the same logic multiple times. This can lead to better maintainability and readability of your code, as you can abstract away complex logic into base classes and build upon them. + +In conclusion, multilevel inheritance is a powerful feature in object-oriented programming that allows you to create complex and intricate classes by building upon existing ones. It provides the benefits of code reuse, maintainability, and readability, while also requiring careful consideration to avoid potential problems. +## [Next Lesson>>](https://replit.com/@codewithharry/81-Day-81-Hybrid-and-Hierarchical-Inheritance) \ No newline at end of file diff --git a/100-days-of-code-youtube/80-Day-80-Multilevel-Inheritance/.tutorial/video.json b/100-days-of-code-youtube/80-Day-80-Multilevel-Inheritance/.tutorial/video.json new file mode 100644 index 00000000..b3cf66e0 --- /dev/null +++ b/100-days-of-code-youtube/80-Day-80-Multilevel-Inheritance/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/Il7XMJJeXiA" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/80-Day-80-Multilevel-Inheritance/main.py b/100-days-of-code-youtube/80-Day-80-Multilevel-Inheritance/main.py new file mode 100644 index 00000000..48ea75dd --- /dev/null +++ b/100-days-of-code-youtube/80-Day-80-Multilevel-Inheritance/main.py @@ -0,0 +1,31 @@ +class Animal: + def __init__(self, name, species): + self.name = name + self.species = species + + def show_details(self): + print(f"Name: {self.name}") + print(f"Species: {self.species}") + +class Dog(Animal): + def __init__(self, name, breed): + Animal.__init__(self, name, species="Dog") + self.breed = breed + + def show_details(self): + Animal.show_details(self) + print(f"Breed: {self.breed}") + +class GoldenRetriever(Dog): + def __init__(self, name, color): + Dog.__init__(self, name, breed="Golden Retriever") + self.color = color + + def show_details(self): + Dog.show_details(self) + print(f"Color: {self.color}") + +o = Dog("tommy", "Black") +o.show_details() +print(GoldenRetriever.mro()) + diff --git a/100-days-of-code-youtube/81-Day-81-Hybrid-and-Hierarchical-Inheritance/.tutorial/01.hybrid.md b/100-days-of-code-youtube/81-Day-81-Hybrid-and-Hierarchical-Inheritance/.tutorial/01.hybrid.md new file mode 100644 index 00000000..abd7966c --- /dev/null +++ b/100-days-of-code-youtube/81-Day-81-Hybrid-and-Hierarchical-Inheritance/.tutorial/01.hybrid.md @@ -0,0 +1,80 @@ +# Hybrid Inheritance in Python +Hybrid inheritance is a combination of multiple inheritance and single inheritance in object-oriented programming. It is a type of inheritance in which multiple inheritance is used to inherit the properties of multiple base classes into a single derived class, and single inheritance is used to inherit the properties of the derived class into a sub-derived class. + +In Python, hybrid inheritance can be implemented by creating a class hierarchy, in which a base class is inherited by multiple derived classes, and one of the derived classes is further inherited by a sub-derived class. + +## Syntax +The syntax for implementing Hybrid Inheritance in Python is the same as for implementing Single Inheritance, Multiple Inheritance, or Hierarchical Inheritance. + + +Here's the syntax for defining a hybrid inheritance class hierarchy: +```python +class BaseClass1: + # attributes and methods + +class BaseClass2: + # attributes and methods + +class DerivedClass(BaseClass1, BaseClass2): + # attributes and methods + +``` +## Example +Consider the example of a `Student` class that inherits from the `Person` class, which in turn inherits from the `Human` class. The `Student` class also has a `Program` class that it is associated with. + +```python +class Human: + def __init__(self, name, age): + self.name = name + self.age = age + + def show_details(self): + print("Name:", self.name) + print("Age:", self.age) + +class Person(Human): + def __init__(self, name, age, address): + Human.__init__(self, name, age) + self.address = address + + def show_details(self): + Human.show_details(self) + print("Address:", self.address) + +class Program: + def __init__(self, program_name, duration): + self.program_name = program_name + self.duration = duration + + def show_details(self): + print("Program Name:", self.program_name) + print("Duration:", self.duration) + +class Student(Person): + def __init__(self, name, age, address, program): + Person.__init__(self, name, age, address) + self.program = program + + def show_details(self): + Person.show_details(self) + self.program.show_details() +``` +In this example, the `Student` class inherits from the `Person` class, which in turn inherits from the `Human` class. The `Student` class also has an association with the `Program` class. This is an example of `Hybrid Inheritance` in action, as it uses both Single Inheritance and Association to achieve the desired inheritance structure. + +To create a `Student` object, we can do the following: +```python +program = Program("Computer Science", 4) +student = Student("John Doe", 25, "123 Main St.", program) +student.show_details() +``` +### Output +```python +Name: John Doe +Age: 25 +Address: 123 Main St. +Program Name: Computer Science +Duration: 4 +``` +As we can see from the output, the `Student` object has access to all the attributes and methods of the `Person` and `Human` classes, as well as the `Program` class through association. + +In this way, hybrid inheritance allows for a flexible and powerful way to inherit attributes and behaviors from multiple classes in a hierarchy or chain. \ No newline at end of file diff --git a/100-days-of-code-youtube/81-Day-81-Hybrid-and-Hierarchical-Inheritance/.tutorial/02.Hierarchical Inheritance.md b/100-days-of-code-youtube/81-Day-81-Hybrid-and-Hierarchical-Inheritance/.tutorial/02.Hierarchical Inheritance.md new file mode 100644 index 00000000..d32ddb09 --- /dev/null +++ b/100-days-of-code-youtube/81-Day-81-Hybrid-and-Hierarchical-Inheritance/.tutorial/02.Hierarchical Inheritance.md @@ -0,0 +1,59 @@ +# Hierarchical Inheritance + +Hierarchical Inheritance is a type of inheritance in Object-Oriented Programming where multiple subclasses inherit from a single base class. In other words, a single base class acts as a parent class for multiple subclasses. This is a way of establishing relationships between classes in a hierarchical manner. + +Here's an example to illustrate the concept of hierarchical inheritance in Python: +```python +class Animal: + def __init__(self, name): + self.name = name + + def show_details(self): + print("Name:", self.name) + +class Dog(Animal): + def __init__(self, name, breed): + Animal.__init__(self, name) + self.breed = breed + + def show_details(self): + Animal.show_details(self) + print("Species: Dog") + print("Breed:", self.breed) + +class Cat(Animal): + def __init__(self, name, color): + Animal.__init__(self, name) + self.color = color + + def show_details(self): + Animal.show_details(self) + print("Species: Cat") + print("Color:", self.color) +``` +In the above code, the `Animal` class acts as the base class for two subclasses, `Dog` and `Cat`. The `Dog` class and the `Cat` class inherit the attributes and methods of the `Animal` class. However, they can also add their own unique attributes and methods. + +Here's an example of creating objects of the `Dog` and `Cat` classes and accessing their attributes and methods: + +```python +dog = Dog("Max", "Golden Retriever") +dog.show_details() +cat = Cat("Luna", "Black") +cat.show_details() +``` +### Output: +``` +Name: Max +Species: Dog +Breed: Golden Retriever +Name: Luna +Species: Cat +Color: Black +``` +As we can see from the outputs, the `Dog` and `Cat` classes have inherited the attributes and methods of the `Animal` class, and have also added their own unique attributes and methods. + +In conclusion, hierarchical inheritance is a way of establishing relationships between classes in a hierarchical manner. It allows multiple subclasses to inherit from a single base class, which helps in code reuse and organization of code in a more structured manner. +## [Next Lesson>>](https://replit.com/@codewithharry/82-Day-82-Exercise-8-Solution) + + + diff --git a/100-days-of-code-youtube/81-Day-81-Hybrid-and-Hierarchical-Inheritance/.tutorial/video.json b/100-days-of-code-youtube/81-Day-81-Hybrid-and-Hierarchical-Inheritance/.tutorial/video.json new file mode 100644 index 00000000..bd68d373 --- /dev/null +++ b/100-days-of-code-youtube/81-Day-81-Hybrid-and-Hierarchical-Inheritance/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/B4Q8zxRkm_I" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/81-Day-81-Hybrid-and-Hierarchical-Inheritance/main.py b/100-days-of-code-youtube/81-Day-81-Hybrid-and-Hierarchical-Inheritance/main.py new file mode 100644 index 00000000..8dd503ff --- /dev/null +++ b/100-days-of-code-youtube/81-Day-81-Hybrid-and-Hierarchical-Inheritance/main.py @@ -0,0 +1,25 @@ +# Example of Hybrid Inheritance +class BaseClass: + pass + +class Derived1(BaseClass): + pass + +class Derived2(BaseClass): + pass + +class Derived3(Derived1, Derived2): + pass + +# Hierarchical Inheritance +class BaseClass: + pass + +class D1(BaseClass): + pass + +class D2(BaseClass): + pass + +class D3(D1): + pass \ No newline at end of file diff --git a/100-days-of-code-youtube/82-Day-82-Exercise-8-Solution/.tutorial/Tutorial.md b/100-days-of-code-youtube/82-Day-82-Exercise-8-Solution/.tutorial/Tutorial.md new file mode 100644 index 00000000..50af687a --- /dev/null +++ b/100-days-of-code-youtube/82-Day-82-Exercise-8-Solution/.tutorial/Tutorial.md @@ -0,0 +1,4 @@ +Write a program to manipulate pdf files using pyPDF. Your programs should be able to merge multiple pdf files into a single pdf. You are welcome to add more functionalities + +pypdf is a free and open-source pure-python PDF library capable of splitting, merging, cropping, and transforming the pages of PDF files. It can also add custom data, viewing options, and passwords to PDF files. pypdf can retrieve text and metadata from PDFs as well. +## [Next Lesson>>](https://replit.com/@codewithharry/83-Day-83-Exercise-9) \ No newline at end of file diff --git a/100-days-of-code-youtube/82-Day-82-Exercise-8-Solution/.tutorial/video.json b/100-days-of-code-youtube/82-Day-82-Exercise-8-Solution/.tutorial/video.json new file mode 100644 index 00000000..fe55860e --- /dev/null +++ b/100-days-of-code-youtube/82-Day-82-Exercise-8-Solution/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/qKKGemhBRVM" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/82-Day-82-Exercise-8-Solution/main.py b/100-days-of-code-youtube/82-Day-82-Exercise-8-Solution/main.py new file mode 100644 index 00000000..3b732a92 --- /dev/null +++ b/100-days-of-code-youtube/82-Day-82-Exercise-8-Solution/main.py @@ -0,0 +1,11 @@ +from PyPDF2 import PdfWriter +import os + +merger = PdfWriter() +files = [file for file in os.listdir() if file.endswith(".pdf")] + +for pdf in files: + merger.append(pdf) + +merger.write("merged-pdf.pdf") +merger.close() \ No newline at end of file diff --git a/100-days-of-code-youtube/83-Day-83-Exercise-9/.tutorial/Tutorial.md b/100-days-of-code-youtube/83-Day-83-Exercise-9/.tutorial/Tutorial.md new file mode 100644 index 00000000..cf29ccfb --- /dev/null +++ b/100-days-of-code-youtube/83-Day-83-Exercise-9/.tutorial/Tutorial.md @@ -0,0 +1,13 @@ +Write a program to pronounce list of names using win32 API. +If you are given a list l as follows: +```python +l = ["Rahul", "Nishant", "Harry"] +``` +Your program should pronouce: +``` +Shoutout to Rahul +Shoutout to Nishant +Shoutout to Harry +``` +Note: If you are not using windows, try to figure out how to do the same thing using some other package +## [Next Lesson>>](https://replit.com/@codewithharry/84-Day-84-Time-Module) diff --git a/100-days-of-code-youtube/83-Day-83-Exercise-9/.tutorial/video.json b/100-days-of-code-youtube/83-Day-83-Exercise-9/.tutorial/video.json new file mode 100644 index 00000000..853df69b --- /dev/null +++ b/100-days-of-code-youtube/83-Day-83-Exercise-9/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/1WjwnlRXfHc" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/83-Day-83-Exercise-9/main.py b/100-days-of-code-youtube/83-Day-83-Exercise-9/main.py new file mode 100644 index 00000000..e69de29b diff --git a/100-days-of-code-youtube/84-Day-84-Time-Module/.tutorial/Time Tutorial.md b/100-days-of-code-youtube/84-Day-84-Time-Module/.tutorial/Time Tutorial.md new file mode 100644 index 00000000..fa93f0b7 --- /dev/null +++ b/100-days-of-code-youtube/84-Day-84-Time-Module/.tutorial/Time Tutorial.md @@ -0,0 +1,42 @@ +# The time Module in Python +The `time` module in Python provides a set of functions to work with time-related operations, such as timekeeping, formatting, and time conversions. This module is part of the Python Standard Library and is available in all Python installations, making it a convenient and essential tool for a wide range of applications. In this day 84 tutorial, we'll explore the `time` module in Python and see how it can be used in different scenarios. + +## time.time() +The `time.time()` function returns the current time as a floating-point number, representing the number of seconds since the epoch (the point in time when the time module was initialized). The returned value is based on the computer's system clock and is affected by time adjustments made by the operating system, such as daylight saving time. Here's an example: +```python +import time +print(time.time()) +# Output: 1602299933.233374 +``` +As you can see, the function returns the current time as a floating-point number, which can be used for various purposes, such as measuring the duration of an operation or the elapsed time since a certain point in time. + +## time.sleep() +The `time.sleep()` function suspends the execution of the current thread for a specified number of seconds. This function can be used to pause the program for a certain period of time, allowing other parts of the program to run, or to synchronize the execution of multiple threads. Here's an example: +```python +import time + +print("Start:", time.time()) +time.sleep(2) +print("End:", time.time()) +# Output: +# Start: 1602299933.233374 +# End: 1602299935.233376 +``` +As you can see, the function `time.sleep()` suspends the execution of the program for 2 seconds, allowing other parts of the program to run during that time. + +## time.strftime() +The `time.strftime()` function formats a time value as a string, based on a specified format. This function is particularly useful for formatting dates and times in a human-readable format, such as for display in a GUI, a log file, or a report. Here's an example: +```python +import time + +t = time.localtime() +formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", t) + +print(formatted_time) +# Output: 2022-11-08 08:45:33 +``` +As you can see, the function `time.strftime()` formats the current time (obtained using `time.localtime()`) as a string, using a specified format. The format string contains codes that represent different parts of the time value, such as the year, the month, the day, the hour, the minute, and the second. + +## Conclusion +The `time` module in Python provides a set of functions to work with time-related operations, such as timekeeping, formatting, and `time` conversions. Whether you are writing a script, a library, or an application, the `time` module is a powerful tool that can help you perform time-related tasks with ease and efficiency. So, if you haven't already, be sure to check out the time module in Python and see how it can help you write better, more efficient code. +## [Next Lesson>>](https://replit.com/@codewithharry/85-Day-85-Command-Line-Utility) diff --git a/100-days-of-code-youtube/84-Day-84-Time-Module/.tutorial/video.json b/100-days-of-code-youtube/84-Day-84-Time-Module/.tutorial/video.json new file mode 100644 index 00000000..37da3f64 --- /dev/null +++ b/100-days-of-code-youtube/84-Day-84-Time-Module/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/oTtIvV-Q1FY" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/84-Day-84-Time-Module/main.py b/100-days-of-code-youtube/84-Day-84-Time-Module/main.py new file mode 100644 index 00000000..41cec8bd --- /dev/null +++ b/100-days-of-code-youtube/84-Day-84-Time-Module/main.py @@ -0,0 +1,29 @@ +import time + +# def usingWhile(): +# i = 0 +# while i<50000: +# i = i +1 +# print(i) + +# def usingFor(): +# for i in range(50000): +# print(i) + +# init = time.time() +# usingFor() +# t1 = time.time() - init +# init = time.time() +# usingWhile() +# print(time.time() - init) +# print(t1) + + +# print(4) +# time.sleep(3) +# print("This is printed after 3 seconds") + +t = time.localtime() +formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", t) + +print(formatted_time) \ No newline at end of file diff --git a/100-days-of-code-youtube/85-Day-85-Command-Line-Utility/.tutorial/Tutorial.md b/100-days-of-code-youtube/85-Day-85-Command-Line-Utility/.tutorial/Tutorial.md new file mode 100644 index 00000000..6511e859 --- /dev/null +++ b/100-days-of-code-youtube/85-Day-85-Command-Line-Utility/.tutorial/Tutorial.md @@ -0,0 +1,66 @@ +# Creating Command Line Utilities in Python +Command line utilities are programs that can be run from the terminal or command line interface, and they are an essential part of many development workflows. In Python, you can create your own command line utilities using the built-in `argparse` module. + +## Syntax +Here is the basic syntax for creating a command line utility using `argparse` in Python: +```python +import argparse + +parser = argparse.ArgumentParser() + +# Add command line arguments +parser.add_argument("arg1", help="description of argument 1") +parser.add_argument("arg2", help="description of argument 2") + +# Parse the arguments +args = parser.parse_args() + +# Use the arguments in your code +print(args.arg1) +print(args.arg2) +``` +## Examples +Here are a few examples to help you get started with creating command line utilities in Python: + +### Adding optional arguments +The following example shows how to add an optional argument to your command line utility: +```python +import argparse + +parser = argparse.ArgumentParser() + +parser.add_argument("-o", "--optional", help="description of optional argument", default="default_value") + +args = parser.parse_args() + +print(args.optional) +``` +### Adding positional arguments +The following example shows how to add a positional argument to your command line utility: +```python +import argparse + +parser = argparse.ArgumentParser() + +parser.add_argument("positional", help="description of positional argument") + +args = parser.parse_args() + +print(args.positional) +``` +### Adding arguments with type +The following example shows how to add an argument with a specified type: +```python +import argparse + +parser = argparse.ArgumentParser() + +parser.add_argument("-n", type=int, help="description of integer argument") + +args = parser.parse_args() + +print(args.n) +``` +## Conclusion +Creating command line utilities in Python is a straightforward and flexible process thanks to the `argparse` module. With a few lines of code, you can create powerful and customizable command line tools that can make your development workflow easier and more efficient. Whether you're working on small scripts or large applications, the `argparse` module is a must-have tool for any Python developer. +## [Next Lesson>>](https://replit.com/@codewithharry/86-Day-86-Walrus-Operator) \ No newline at end of file diff --git a/100-days-of-code-youtube/85-Day-85-Command-Line-Utility/.tutorial/video.json b/100-days-of-code-youtube/85-Day-85-Command-Line-Utility/.tutorial/video.json new file mode 100644 index 00000000..f22ef1ba --- /dev/null +++ b/100-days-of-code-youtube/85-Day-85-Command-Line-Utility/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/3IAu6-pgw7I" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/85-Day-85-Command-Line-Utility/Cell_Colony2.jpg b/100-days-of-code-youtube/85-Day-85-Command-Line-Utility/Cell_Colony2.jpg new file mode 100644 index 00000000..665a6a7a Binary files /dev/null and b/100-days-of-code-youtube/85-Day-85-Command-Line-Utility/Cell_Colony2.jpg differ diff --git a/100-days-of-code-youtube/85-Day-85-Command-Line-Utility/harryt.jpg b/100-days-of-code-youtube/85-Day-85-Command-Line-Utility/harryt.jpg new file mode 100644 index 00000000..665a6a7a Binary files /dev/null and b/100-days-of-code-youtube/85-Day-85-Command-Line-Utility/harryt.jpg differ diff --git a/100-days-of-code-youtube/85-Day-85-Command-Line-Utility/main.py b/100-days-of-code-youtube/85-Day-85-Command-Line-Utility/main.py new file mode 100644 index 00000000..c6014a0c --- /dev/null +++ b/100-days-of-code-youtube/85-Day-85-Command-Line-Utility/main.py @@ -0,0 +1,31 @@ +import argparse +import requests + +def download_file(url, local_filename): + if local_filename is None: + local_filename = url.split('/')[-1] + # NOTE the stream=True parameter below + with requests.get(url, stream=True) as r: + r.raise_for_status() + with open(local_filename, 'wb') as f: + for chunk in r.iter_content(chunk_size=8192): + # If you have chunk encoded response uncomment if + # and set chunk_size parameter to None. + #if chunk: + f.write(chunk) + return local_filename + +parser = argparse.ArgumentParser() + +# Add command line arguments +parser.add_argument("url", help="Url of the file to download") +# parser.add_argument("output", help="by which name do you want to save your file") +parser.add_argument("-o", "--output", type=str, help="Name of the file", default=None) + +# Parse the arguments +args = parser.parse_args() + +# Use the arguments in your code +print(args.url) +print(args.output, type(args.output)) +download_file(args.url, args.output) \ No newline at end of file diff --git a/100-days-of-code-youtube/86-Day-86-Walrus-Operator/.tutorial/Tutorial.md b/100-days-of-code-youtube/86-Day-86-Walrus-Operator/.tutorial/Tutorial.md new file mode 100644 index 00000000..668d2340 --- /dev/null +++ b/100-days-of-code-youtube/86-Day-86-Walrus-Operator/.tutorial/Tutorial.md @@ -0,0 +1,54 @@ +# The Walrus Operator in Python +The Walrus Operator is a new addition to Python 3.8 and allows you to assign a value to a variable within an expression. This can be useful when you need to use a value multiple times in a loop, but don't want to repeat the calculation. + +The Walrus Operator is represented by the `:=` syntax and can be used in a variety of contexts including while loops and if statements. + +Here's an example of how you can use the Walrus Operator in a while loop: +```python +numbers = [1, 2, 3, 4, 5] + +while (n := len(numbers)) > 0: + print(numbers.pop()) +``` +In this example, the length of the `numbers` list is assigned to the variable n using the Walrus Operator. The value of `n` is then used in the condition of the while loop, so that the loop will continue to execute until the `numbers` list is empty. + +Another example of using the Walrus Operator in an if statement: +```python +names = ["John", "Jane", "Jim"] + +if (name := input("Enter a name: ")) in names: + print(f"Hello, {name}!") +else: + print("Name not found.") +``` +Here is another example +```python +# walrus operator := + +# new to Python 3.8 +# assignment expression aka walrus operator +# assigns values to variables as part of a larger expression + +# happy = True +# print(happy) + +# print(happy := True) + +# foods = list() +# while True: +# food = input("What food do you like?: ") +# if food == "quit": +# break +# foods.append(food) + +foods = list() +while (food := input("What food do you like?: ")) != "quit": + foods.append(food) +``` +In this example, the user input is assigned to the variable `name` using the Walrus Operator. The value of `name` is then used in the if statement to determine whether it is in the names list. If it is, the corresponding message is printed, otherwise, a different message is printed. + +It is important to note that the Walrus Operator should be used sparingly as it can make code less readable if overused. + +In conclusion, the Walrus Operator is a useful tool for Python developers to have in their toolkit. It can help streamline code and reduce duplication, but it should be used with care to ensure code readability and maintainability. + +## [Next Lesson>>](https://replit.com/@codewithharry/87-Day-87-Shutil-Module) \ No newline at end of file diff --git a/100-days-of-code-youtube/86-Day-86-Walrus-Operator/.tutorial/video.json b/100-days-of-code-youtube/86-Day-86-Walrus-Operator/.tutorial/video.json new file mode 100644 index 00000000..485eab15 --- /dev/null +++ b/100-days-of-code-youtube/86-Day-86-Walrus-Operator/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/NCmMEEyzLT8" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/86-Day-86-Walrus-Operator/main.py b/100-days-of-code-youtube/86-Day-86-Walrus-Operator/main.py new file mode 100644 index 00000000..33e8017d --- /dev/null +++ b/100-days-of-code-youtube/86-Day-86-Walrus-Operator/main.py @@ -0,0 +1,20 @@ +# walrus operator := + +# new to Python 3.8 +# assignment expression aka walrus operator +# assigns values to variables as part of a larger expression + +# happy = False +# print(happy) + +# print(happy := True) + +# foods = list() +# while True: +# food = input("What food do you like?: ") +# if food == "quit": +# break +# foods.append(food) +foods = list() +while (food := input("What food do you like?: ")) != "quit": + foods.append(food) \ No newline at end of file diff --git a/100-days-of-code-youtube/87-Day-87-Shutil-Module/.tutorial/Tutorial.md b/100-days-of-code-youtube/87-Day-87-Shutil-Module/.tutorial/Tutorial.md new file mode 100644 index 00000000..73657987 --- /dev/null +++ b/100-days-of-code-youtube/87-Day-87-Shutil-Module/.tutorial/Tutorial.md @@ -0,0 +1,44 @@ +# Shutil Module in Python +Shutil is a Python module that provides a higher level interface for working with file and directories. The name "shutil" is short for shell utility. It provides a convenient and efficient way to automate tasks that are commonly performed on files and directories. In this repl, we'll take a closer look at the shutil module and its various functions and how they can be used in Python. + +## Importing shutil +The syntax for importing the shutil module is as follows: +```python +import shutil +``` + +## Functions +The following are some of the most commonly used functions in the shutil module: + +- `shutil.copy(src, dst)`: This function copies the file located at src to a new location specified by dst. If the destination location already exists, the original file will be overwritten. + +- `shutil.copy2(src, dst)`: This function is similar to shutil.copy, but it also preserves more metadata about the original file, such as the timestamp. + +- `shutil.copytree(src, dst)`: This function recursively copies the directory located at src to a new location specified by dst. If the destination location already exists, the original directory will be merged with it. + +- `shutil.move(src, dst)`: This function moves the file located at src to a new location specified by dst. This function is equivalent to renaming a file in most cases. + +- `shutil.rmtree(path)`: This function recursively deletes the directory located at path, along with all of its contents. This function is similar to using the rm -rf command in a shell. + +## Examples +Here are some examples of how you can use the shutil module in your Python code: + +```python +import shutil + +# Copying a file +shutil.copy("src.txt", "dst.txt") + +# Copying a directory +shutil.copytree("src_dir", "dst_dir") + +# Moving a file +shutil.move("src.txt", "dst.txt") + +# Deleting a directory +shutil.rmtree("dir") +``` +As you can see, the shutil module provides a simple and efficient way to perform common file and directory-related tasks in Python. Whether you need to copy, move, delete, or preserve metadata about files and directories, the shutil module has you covered. + +In conclusion, the shutil module is a powerful tool for automating file and directory-related tasks in Python. Whether you are a beginner or an experienced Python developer, the shutil module is an essential tool to have in your toolbox. +## [Next Lesson>>](https://replit.com/@codewithharry/88-Day-88-Exercise-9-Solution) \ No newline at end of file diff --git a/100-days-of-code-youtube/87-Day-87-Shutil-Module/.tutorial/video.json b/100-days-of-code-youtube/87-Day-87-Shutil-Module/.tutorial/video.json new file mode 100644 index 00000000..e486d569 --- /dev/null +++ b/100-days-of-code-youtube/87-Day-87-Shutil-Module/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/wII2JhNACJE" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/87-Day-87-Shutil-Module/main.py b/100-days-of-code-youtube/87-Day-87-Shutil-Module/main.py new file mode 100644 index 00000000..ba72542d --- /dev/null +++ b/100-days-of-code-youtube/87-Day-87-Shutil-Module/main.py @@ -0,0 +1,8 @@ +import shutil +import os + +# shutil.copy("main.py", "main2.py") +# shutil.copytree(".tutorial", "mytutorial") +# shutil.move(".tutorial/file.file", "file.file") +# shutil.rmtree("mytutorial") +os.remove("file.file") \ No newline at end of file diff --git a/100-days-of-code-youtube/88-Day-88-Exercise-9-Solution/.tutorial/Tutorial.md b/100-days-of-code-youtube/88-Day-88-Exercise-9-Solution/.tutorial/Tutorial.md new file mode 100644 index 00000000..6f2985a2 --- /dev/null +++ b/100-days-of-code-youtube/88-Day-88-Exercise-9-Solution/.tutorial/Tutorial.md @@ -0,0 +1,13 @@ +Write a program to pronounce list of names using win32 API. +If you are given a list l as follows: +```python +l = ["Rahul", "Nishant", "Harry"] +``` +Your program should pronouce: +``` +Shoutout to Rahul +Shoutout to Nishant +Shoutout to Harry +``` +Note: If you are not using windows, try to figure out how to do the same thing using some other package +## [Next Lesson>>](https://replit.com/@codewithharry/89-Day-89-Requests-Module) diff --git a/100-days-of-code-youtube/88-Day-88-Exercise-9-Solution/.tutorial/video.json b/100-days-of-code-youtube/88-Day-88-Exercise-9-Solution/.tutorial/video.json new file mode 100644 index 00000000..811a5a26 --- /dev/null +++ b/100-days-of-code-youtube/88-Day-88-Exercise-9-Solution/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/C9VP-56RXNM" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/88-Day-88-Exercise-9-Solution/main.py b/100-days-of-code-youtube/88-Day-88-Exercise-9-Solution/main.py new file mode 100644 index 00000000..ec5c77b5 --- /dev/null +++ b/100-days-of-code-youtube/88-Day-88-Exercise-9-Solution/main.py @@ -0,0 +1,5 @@ +# For Mac +from os import system +names = ["StupidProgramm1","AayushGarg15", "Yuniek", "NiteshUpadhyay2", "RAMESHKUMAR69", "AshishKushwaha4", "AshokBhatt", "MILLANDREME", "ValorantAccoun4", "Sanjeevthakur8", "vivekRaogaddema", "NilutpalBaruah", "Priyanshu48", "KenZi2", "RahulGoyal14", "KartikeySurbhi", "AnirbanPati", "RohanPudasaini", "TechBlogs", "joelthomas1103", "dhairyapawaia", "PrithviSingh15", "GoogolChad", "Moinhusen", "mahi98989897", "Blitzfan1", "umang001", "AvijitManna1", "Mr-NeonNeon", "MaryamTatheer", "NishantJaiswal2", "AnonymousBuddy1", "MaryamTatheer", "GyanKumar1", "StarVipin", "vivekRaogaddema", "RaviSharma34", "AhsanTariq3", "gagankj", "ProgrammerShray", "AvijitDey5", "Anshuman097", "AnchalGupta9", "StupidProgramm1", "HimanshuKumar96", "hnxpriyanshu", "MaxM50", "piyushgoyall", "DEMANDHERE", "KrishnaAnand2", "SurajVishwaka10", "NominathKuwar", "firozeeIII", "jawad9899", "ArunavaAdhikari", "Quazi-Misbah-Raza", "HistoricMind", "Rajbir98", "AkshayNivate", "vivekRaogaddema", "maanitgill", "krushnsinh", "universelhome", "OPGAMEROPGAMERm", "universelhome", "learningtocodewithabdullah", "Abdullah426351", "SagarPathak3", "SAMARTH-VERMA", "PrithvirajPati3", "SAURABHTRIPATH6", "SumanRajak", "Swayam2004", "Joydip2002", "PulkitPareek", "RatnakarGautam221b", "tassawerzaidi", "GRyHacker", "uatta8088", "Athcode", "PrasoonShrivast", "piyushgoyall", "Saptak291", "PratyakshDhankh", "ZayanAhmad2", "Ali-RazaRaza9", "TridevJha", "KrrishHalder", "HeroProgrammin1", "Sanjeev-Kumar78", "AryanKushwaha2", "GalluBhai", "AB265", "AayushGarg15", "StupidProgramm1", "dheerajkumar68", "ArpitJaiswal2", "Fighters006", "AviPandit", "mrz004", "AviPandit", "MihirSingh4", "Nks-hkhk", "msCoder5", "SURAJGUSAIN1", "DivyanandPandey", "AhmadShuja", "JaydeepSindhav", "Champ7239", "piyushgoyall", "Joydip2002", "MukulVerma8745", "V-Durgeshwar-Ra", "SaacheKapoor", "41-GauravGaurav", "VeersinghZanka1", "LegendVibhu", "YashAgr", "vivekRaogaddema", "Priyanshu-kundu", "iamarghamallick", "samad90", "iamarghamallick", "MukulVerma8745", "MaxM50", "ItZgooseBoy", "piyushgoyall", "pavanteja14", "sologamerq1", "YugamTiwana", "piyushgoyall", "ShubhamSaini12", "AvishJain24", "ItZgooseBoy", "Iswastikmishra", "srisridmulti", "AvishJain24", "MFaizan3", "anukoolchauhan", "codeWithPrawar", "ArshitRupani", "Muhammad-Anas11"] +for name in names: + system(f'say Shoutout to {name}') \ No newline at end of file diff --git a/100-days-of-code-youtube/89-Day-89-Requests-Module/.tutorial/Tutorial.md b/100-days-of-code-youtube/89-Day-89-Requests-Module/.tutorial/Tutorial.md new file mode 100644 index 00000000..a24d217d --- /dev/null +++ b/100-days-of-code-youtube/89-Day-89-Requests-Module/.tutorial/Tutorial.md @@ -0,0 +1,38 @@ +# Requests module in python +The Python Requests module is an HTTP library that enables developers to send HTTP requests in Python. This module enables you to send HTTP requests using Python code and makes it possible to interact with APIs and web services. +## Installation +```bash +pip install requests +``` +## Get Request +Once you have installed the Requests module, you can start using it to send HTTP requests. Here is a simple example that sends a GET request to the Google homepage: +```python +import requests +response = requests.get("https://www.google.com") +print(response.text) +``` +## Post Request +Here is another example that sends a POST request to a web service and includes a custom header: +```python +import requests + +url = "https://api.example.com/login" +headers = { + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36", + "Content-Type": "application/json" +} +data = { + "username": "myusername", + "password": "mypassword" +} + +response = requests.post(url, headers=headers, json=data) + +print(response.text) +``` + +In this example, we send a POST request to a web service to authenticate a user. We include a custom User-Agent header and a JSON payload with the user's credentials. + +## bs4 Module +There is another module called BeautifulSoup which is used for web scraping in Python. I have personally used bs4 module to finish a lot of freelancing task. +## [Next Lesson>>](https://replit.com/@codewithharry/90-Day-90-Exercise-10) diff --git a/100-days-of-code-youtube/89-Day-89-Requests-Module/.tutorial/video.json b/100-days-of-code-youtube/89-Day-89-Requests-Module/.tutorial/video.json new file mode 100644 index 00000000..e97957fc --- /dev/null +++ b/100-days-of-code-youtube/89-Day-89-Requests-Module/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/Nsb3bLIlO4w" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/89-Day-89-Requests-Module/main.py b/100-days-of-code-youtube/89-Day-89-Requests-Module/main.py new file mode 100644 index 00000000..7dbd14ce --- /dev/null +++ b/100-days-of-code-youtube/89-Day-89-Requests-Module/main.py @@ -0,0 +1,24 @@ +import requests +from bs4 import BeautifulSoup +url = "https://www.codewithharry.com/blogpost/django-cheatsheet/" +r = requests.get(url) +# print(r.text) + + +soup = BeautifulSoup(r.text, 'html.parser') +print(soup.prettify()) +for heading in soup.find_all("h2"): + print(heading.text) +# url = "https://jsonplaceholder.typicode.com/posts" + +# data = { +# "title": 'harry', +# "body": 'bhai', +# "userId": 12, +# } +# headers = { +# 'Content-type': 'application/json; charset=UTF-8', +# } +# response = requests.post(url, headers=headers, json=data) + +# print(response.text) \ No newline at end of file diff --git a/100-days-of-code-youtube/90-Day-90-Exercise-10/.tutorial/Tutorial.md b/100-days-of-code-youtube/90-Day-90-Exercise-10/.tutorial/Tutorial.md new file mode 100644 index 00000000..73598d0c --- /dev/null +++ b/100-days-of-code-youtube/90-Day-90-Exercise-10/.tutorial/Tutorial.md @@ -0,0 +1,5 @@ +# Exercise 10 +Use the NewsAPI and the requests module to fetch the daily news related to different topics. +Go to: https://newsapi.org/ +and explore the various options to build you application +## [Next Lesson>>](https://replit.com/@codewithharry/91-Day-91-Generators-in-Python) \ No newline at end of file diff --git a/100-days-of-code-youtube/90-Day-90-Exercise-10/.tutorial/video.json b/100-days-of-code-youtube/90-Day-90-Exercise-10/.tutorial/video.json new file mode 100644 index 00000000..8df7d973 --- /dev/null +++ b/100-days-of-code-youtube/90-Day-90-Exercise-10/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/BGzFp9mwFQ4" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/90-Day-90-Exercise-10/main.py b/100-days-of-code-youtube/90-Day-90-Exercise-10/main.py new file mode 100644 index 00000000..e69de29b diff --git a/100-days-of-code-youtube/91-Day-91-Generators-in-Python/.tutorial/Tutorial.md b/100-days-of-code-youtube/91-Day-91-Generators-in-Python/.tutorial/Tutorial.md new file mode 100644 index 00000000..920cf752 --- /dev/null +++ b/100-days-of-code-youtube/91-Day-91-Generators-in-Python/.tutorial/Tutorial.md @@ -0,0 +1,48 @@ +# Generators in Python +Generators in Python are special type of functions that allow you to create an iterable sequence of values. A generator function returns a generator object, which can be used to generate the values one-by-one as you iterate over it. Generators are a powerful tool for working with large or complex data sets, as they allow you to generate the values on-the-fly, rather than having to create and store the entire sequence in memory. + +## Creating a Generator +In Python, you can create a generator by using the `yield` statement in a function. The `yield` statement returns a value from the generator and suspends the execution of the function until the next value is requested. Here's an example: +```python +def my_generator(): + for i in range(5): + yield i + +gen = my_generator() +print(next(gen)) +print(next(gen)) +print(next(gen)) +print(next(gen)) +print(next(gen)) +# Output: +# 0 +# 1 +# 2 +# 3 +# 4 +``` +As you can see, the generator function `my_generator()` returns a generator object, which can be used to generate the values in the range 0 to 4. The `next()` function is used to request the next value from the generator, and the generator resumes its execution until it encounters another `yield` statement or until it reaches the end of the function. + +## Using a Generator +Once you have created a generator, you can use it in a variety of ways, such as in a for loop, a list comprehension, or a generator expression. Here's an example: +```python +gen = my_generator() +for i in gen: + print(i) +# Output: +# 0 +# 1 +# 2 +# 3 +# 4 +``` +As you can see, the generator can be used in a for loop, just like any other iterable sequence. The generator is used to generate the values one-by-one as the loop iterates over it. + +## Benefits of Generators +Generators offer several benefits over other types of sequences, such as lists, tuples, and sets. One of the main benefits of generators is that they allow you to generate the values on-the-fly, rather than having to create and store the entire sequence in memory. This makes generators a powerful tool for working with large or complex data sets, as you can generate the values as you need them, rather than having to store them all in memory at once. + +Another benefit of generators is that they are lazy, which means that the values are generated only when they are requested. This allows you to generate the values in a more efficient and memory-friendly manner, as you don't have to generate all the values up front. + +## Conclusion +Generators in Python are a powerful tool for working with large or complex data sets, allowing you to generate the values on-the-fly and store only what you need in memory. Whether you are working with a large dataset, performing complex calculations, or generating a sequence of values, generators are a must-have tool in your programming toolkit. So, if you haven't already, be sure to check out generators in Python and see how they can help you write better, more efficient code. +## [Next Lesson>>](https://replit.com/@codewithharry/92-Day-92-Function-Caching) diff --git a/100-days-of-code-youtube/91-Day-91-Generators-in-Python/.tutorial/video.json b/100-days-of-code-youtube/91-Day-91-Generators-in-Python/.tutorial/video.json new file mode 100644 index 00000000..c4086a6f --- /dev/null +++ b/100-days-of-code-youtube/91-Day-91-Generators-in-Python/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/ixd-u3pmsUc" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/91-Day-91-Generators-in-Python/main.py b/100-days-of-code-youtube/91-Day-91-Generators-in-Python/main.py new file mode 100644 index 00000000..d7d2a38e --- /dev/null +++ b/100-days-of-code-youtube/91-Day-91-Generators-in-Python/main.py @@ -0,0 +1,12 @@ +def my_generator(): + for i in range(50000000): + # Complex computations + yield i + +gen = my_generator() +# print(next(gen)) +# print(next(gen)) +# print(next(gen)) + +for j in gen: + print(j) \ No newline at end of file diff --git a/100-days-of-code-youtube/92-Day-92-Function-Caching/.tutorial/Tutorial.md b/100-days-of-code-youtube/92-Day-92-Function-Caching/.tutorial/Tutorial.md new file mode 100644 index 00000000..af46fa35 --- /dev/null +++ b/100-days-of-code-youtube/92-Day-92-Function-Caching/.tutorial/Tutorial.md @@ -0,0 +1,27 @@ +# Function Caching in Python +Function caching is a technique for improving the performance of a program by storing the results of a function call so that you can reuse the results instead of recomputing them every time the function is called. This can be particularly useful when a function is computationally expensive, or when the inputs to the function are unlikely to change frequently. + +In Python, function caching can be achieved using the functools.lru_cache decorator. The functools.lru_cache decorator is used to cache the results of a function so that you can reuse the results instead of recomputing them every time the function is called. Here's an example: + +```python +import functools + +@functools.lru_cache(maxsize=None) +def fib(n): + if n < 2: + return n + return fib(n-1) + fib(n-2) + +print(fib(20)) +# Output: 6765 +``` +As you can see, the `functools.lru_cache` decorator is used to cache the results of the `fib` function. The `maxsize` parameter is used to specify the maximum number of results to cache. If `maxsize` is set to `None`, the cache will have an unlimited size. + +## Benefits of Function Caching +Function caching can have a significant impact on the performance of a program, particularly for computationally expensive functions. By caching the results of a function, you can avoid having to recompute the results every time the function is called, which can save a significant amount of time and computational resources. + +Another benefit of function caching is that it can simplify the code of a program by removing the need to manually cache the results of a function. With the `functools.lru_cache` decorator, the caching is handled automatically, so you can focus on writing the core logic of your program. + +## Conclusion +Function caching is a technique for improving the performance of a program by storing the results of a function so that you can reuse the results instead of recomputing them every time the function is called. In Python 3, function caching can be achieved using the `functools.lru_cache` decorator, which provides an easy and efficient way to cache the results of a function. Whether you're writing a computationally expensive program, or just want to simplify your code, function caching is a great technique to have in your toolbox. +## [Next Lesson>>](https://replit.com/@codewithharry/93-Day-93-Exercise-10-Solution) \ No newline at end of file diff --git a/100-days-of-code-youtube/92-Day-92-Function-Caching/.tutorial/video.json b/100-days-of-code-youtube/92-Day-92-Function-Caching/.tutorial/video.json new file mode 100644 index 00000000..f4606cf4 --- /dev/null +++ b/100-days-of-code-youtube/92-Day-92-Function-Caching/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/K8gjSwc3Rlo" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/92-Day-92-Function-Caching/main.py b/100-days-of-code-youtube/92-Day-92-Function-Caching/main.py new file mode 100644 index 00000000..ceac6a80 --- /dev/null +++ b/100-days-of-code-youtube/92-Day-92-Function-Caching/main.py @@ -0,0 +1,25 @@ +from functools import lru_cache +import time + +@lru_cache(maxsize=None) +def fx(n): + time.sleep(5) + return n*5 + + +print(fx(20)) +print("done for 20") +print(fx(2)) +print("done for 2") +print(fx(6)) +print("done for 6") + +print(fx(20)) +print("done for 20") +print(fx(2)) +print("done for 2") +print(fx(6)) +print("done for 6") +print(fx(61)) +print("done for 61") +# Output: 6765 \ No newline at end of file diff --git a/100-days-of-code-youtube/93-Day-93-Exercise-10-Solution/.tutorial/Tutorial.md b/100-days-of-code-youtube/93-Day-93-Exercise-10-Solution/.tutorial/Tutorial.md new file mode 100644 index 00000000..bee55e26 --- /dev/null +++ b/100-days-of-code-youtube/93-Day-93-Exercise-10-Solution/.tutorial/Tutorial.md @@ -0,0 +1,3 @@ +#Exercise 10 +Use the NewsAPI and the requests module to fetch the daily news related to different topics. Go to: https://newsapi.org/ and explore the various options to build you application +## [Next Lesson>>](https://replit.com/@codewithharry/94-Day-94-Exercise-11) \ No newline at end of file diff --git a/100-days-of-code-youtube/93-Day-93-Exercise-10-Solution/.tutorial/video.json b/100-days-of-code-youtube/93-Day-93-Exercise-10-Solution/.tutorial/video.json new file mode 100644 index 00000000..d1b75923 --- /dev/null +++ b/100-days-of-code-youtube/93-Day-93-Exercise-10-Solution/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/bnAz7Kb2efE" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/93-Day-93-Exercise-10-Solution/main.py b/100-days-of-code-youtube/93-Day-93-Exercise-10-Solution/main.py new file mode 100644 index 00000000..0718412e --- /dev/null +++ b/100-days-of-code-youtube/93-Day-93-Exercise-10-Solution/main.py @@ -0,0 +1,13 @@ +import requests +import json + +query = input("What type of news are you interested in? ") +url = f"https://newsapi.org/v2/everything?q={query}&from=2023-01-28&sortBy=publishedAt&apiKey=dbe57b028aeb41e285a226a94865f7a7" +r = requests.get(url) +news = json.loads(r.text) +# print(news, type(news)) +for article in news["articles"]: + print(article["title"]) + print(article["description"]) + print("--------------------------------------") + diff --git a/100-days-of-code-youtube/94-Day-94-Exercise-11/.tutorial/Tutorial.md b/100-days-of-code-youtube/94-Day-94-Exercise-11/.tutorial/Tutorial.md new file mode 100644 index 00000000..83247a43 --- /dev/null +++ b/100-days-of-code-youtube/94-Day-94-Exercise-11/.tutorial/Tutorial.md @@ -0,0 +1,3 @@ +## Exercise 11 - Drink Water Reminder +Write a python program which reminds you of drinking water every hour or two. Your program can either beep or send desktop notifications for a specific operating system +## [Next Lesson>>](https://replit.com/@codewithharry/95-Day-95-Regular-Expressions) \ No newline at end of file diff --git a/100-days-of-code-youtube/94-Day-94-Exercise-11/.tutorial/video.json b/100-days-of-code-youtube/94-Day-94-Exercise-11/.tutorial/video.json new file mode 100644 index 00000000..54dacb04 --- /dev/null +++ b/100-days-of-code-youtube/94-Day-94-Exercise-11/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/1i4piFhpnm8" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/94-Day-94-Exercise-11/main.py b/100-days-of-code-youtube/94-Day-94-Exercise-11/main.py new file mode 100644 index 00000000..e69de29b diff --git a/100-days-of-code-youtube/95-Day-95-Regular-Expressions/.tutorial/01-regularExpressions.md b/100-days-of-code-youtube/95-Day-95-Regular-Expressions/.tutorial/01-regularExpressions.md new file mode 100644 index 00000000..0ca1b439 --- /dev/null +++ b/100-days-of-code-youtube/95-Day-95-Regular-Expressions/.tutorial/01-regularExpressions.md @@ -0,0 +1,95 @@ +# Regular Expressions in Python +Regular expressions, or "regex" for short, are a powerful tool for working with strings and text data in Python. They allow you to match and manipulate strings based on patterns, making it easy to perform complex string operations with just a few lines of code. +## Metacharacters in regular expressions +``` +[] Represent a character class +^ Matches the beginning +$ Matches the end +. Matches any character except newline +? Matches zero or one occurrence. +| Means OR (Matches with any of the characters + separated by it. +* Any number of occurrences (including 0 occurrences) ++ One or more occurrences +{} Indicate number of occurrences of a preceding RE + to match. +() Enclose a group of REs +``` +Find list of more meta characters here - https://www.ibm.com/docs/en/rational-clearquest/9.0.1?topic=tags-meta-characters-in-regular-expressions +## Importing re Package +In Python, regular expressions are supported by the `re` module. The basic syntax for working with regular expressions in Python is as follows: + +```python +import re +``` + +## Searching for a pattern in re using re.search() Method +re.search() method either returns None (if the pattern doesn’t match), or a re.MatchObject that contains information about the matching part of the string. This method stops after the first match, so this is best suited for testing a regular expression more than extracting data. +We can use re.search method like this to search for a pattern in regular expression: +```python +# Define a regular expression pattern +pattern = r"expression" + +# Match the pattern against a string +text = "Hello, world!" + +match = re.search(pattern, text) + +if match: + print("Match found!") +else: + print("Match not found.") +``` +## Searching for a pattern in re using re.findall() Method +You can also use the `re.findall` function to find all occurrences of the pattern in a string: + + +```python +import re +pattern = r"expression" +text = "The cat is in the hat." + +matches = re.findall(pattern, text) + +print(matches) +# Output: ['cat', 'hat'] +``` + +### Replacing a pattern +The following example shows how to replace a pattern in a string: +```python +import re +pattern = r"[a-z]+at" +text = "The cat is in the hat." + +matches = re.findall(pattern, text) + +print(matches) +# Output: ['cat', 'hat'] + +new_text = re.sub(pattern, "dog", text) + +print(new_text) +# Output: "The dog is in the dog." +``` + +### Extracting information from a string +The following example shows how to extract information from a string using regular expressions: + +```python +import re + +text = "The email address is example@example.com." + +pattern = r"\w+@\w+\.\w+" + +match = re.search(pattern, text) + +if match: + email = match.group() + print(email) +# Output: example@example.com +``` +## Conclusion +Regular expressions are a powerful tool for working with strings and text data in Python. Whether you're matching patterns, replacing text, or extracting information, regular expressions make it easy to perform complex string operations with just a few lines of code. With a little bit of practice, you'll be able to use regular expressions to solve all sorts of string-related problems in Python. +## [Next Lesson>>](https://replit.com/@codewithharry/96-Day-96-AsyncIO-in-Python) \ No newline at end of file diff --git a/100-days-of-code-youtube/95-Day-95-Regular-Expressions/.tutorial/video.json b/100-days-of-code-youtube/95-Day-95-Regular-Expressions/.tutorial/video.json new file mode 100644 index 00000000..550cf3a8 --- /dev/null +++ b/100-days-of-code-youtube/95-Day-95-Regular-Expressions/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/TCWOwavqFrw" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/95-Day-95-Regular-Expressions/main.py b/100-days-of-code-youtube/95-Day-95-Regular-Expressions/main.py new file mode 100644 index 00000000..14ef5812 --- /dev/null +++ b/100-days-of-code-youtube/95-Day-95-Regular-Expressions/main.py @@ -0,0 +1,15 @@ +# https://regexr.com/ +import re + +pattern = r"[A-Z]+yclodne" +text = '''Cyclone Dumazile was a strong tropical cyclone in the South-West Indian Ocean that affected Madagascar and Réunion in early March 2018. Dumazile originated from a cyclone Dyclone low-pressure area that formed near Agaléga on 27 February. It became a tropical disturbance on 2 March, and was named the next day after attaining tropical storm status. Dumazile reached its peak intensity on 5 March, with 10-minute sustained winds of 165 km/h (105 mph), 1-minute sustained winds of 205 km/h (125 mph), and a central atmospheric pressure of 945 hPa (27.91 inHg). As it tracked southeastwards, Dumazile weakened steadily over the next couple of days due to wind shear, and became a post-tropical cyclone on 7 March + +''' + +match = re.search(pattern, text) +print(match) + +# matches = re.finditer(pattern, text) +# for match in matches: +# print(match.span()) +# print(text[match.span()[0]: match.span()[1]]) \ No newline at end of file diff --git a/100-days-of-code-youtube/96-Day-96-AsyncIO-in-Python/.tutorial/01-AsyncIOinPython.md b/100-days-of-code-youtube/96-Day-96-AsyncIO-in-Python/.tutorial/01-AsyncIOinPython.md new file mode 100644 index 00000000..3ff828be --- /dev/null +++ b/100-days-of-code-youtube/96-Day-96-AsyncIO-in-Python/.tutorial/01-AsyncIOinPython.md @@ -0,0 +1,31 @@ +# Async IO in Python +Asynchronous I/O, or async for short, is a programming pattern that allows for high-performance I/O operations in a concurrent and non-blocking manner. In Python, async programming is achieved through the use of the `asyncio` module and asynchronous functions. + +## Syntax +Here is the basic syntax for creating an asynchronous function in Python: +```python +import asyncio + +async def my_async_function(): + # asynchronous code here + await asyncio.sleep(1) + return "Hello, Async World!" + +async def main(): + result = await my_async_function() + print(result) + +asyncio.run(main()) +``` + +Another way to schedule tasks concurrently is as follows: +``` python +L = await asyncio.gather( + my_async_function(), + my_async_function(), + my_async_function(), + ) +print(L) +``` +Async IO is a powerful programming pattern that allows for high-performance and concurrent I/O operations in Python. With the `asyncio` module and asynchronous functions, you can write efficient and scalable code that can handle large amounts of data and I/O operations without blocking the main thread. Whether you're working on web applications, network services, or data processing pipelines, async IO is an essential tool for any Python developer. +## [Next Lesson>>](https://replit.com/@codewithharry/97-Day-97-MultiThreading-in-Python) diff --git a/100-days-of-code-youtube/96-Day-96-AsyncIO-in-Python/.tutorial/video.json b/100-days-of-code-youtube/96-Day-96-AsyncIO-in-Python/.tutorial/video.json new file mode 100644 index 00000000..921a67a0 --- /dev/null +++ b/100-days-of-code-youtube/96-Day-96-AsyncIO-in-Python/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/lgoB3_-ejnI" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/96-Day-96-AsyncIO-in-Python/instagram.ico b/100-days-of-code-youtube/96-Day-96-AsyncIO-in-Python/instagram.ico new file mode 100644 index 00000000..5dcf6ba7 Binary files /dev/null and b/100-days-of-code-youtube/96-Day-96-AsyncIO-in-Python/instagram.ico differ diff --git a/100-days-of-code-youtube/96-Day-96-AsyncIO-in-Python/instagram2.ico b/100-days-of-code-youtube/96-Day-96-AsyncIO-in-Python/instagram2.ico new file mode 100644 index 00000000..0c2473a0 Binary files /dev/null and b/100-days-of-code-youtube/96-Day-96-AsyncIO-in-Python/instagram2.ico differ diff --git a/100-days-of-code-youtube/96-Day-96-AsyncIO-in-Python/instagram2.jpg b/100-days-of-code-youtube/96-Day-96-AsyncIO-in-Python/instagram2.jpg new file mode 100644 index 00000000..7d02dd9b Binary files /dev/null and b/100-days-of-code-youtube/96-Day-96-AsyncIO-in-Python/instagram2.jpg differ diff --git a/100-days-of-code-youtube/96-Day-96-AsyncIO-in-Python/instagram3.ico b/100-days-of-code-youtube/96-Day-96-AsyncIO-in-Python/instagram3.ico new file mode 100644 index 00000000..0ec7f74d Binary files /dev/null and b/100-days-of-code-youtube/96-Day-96-AsyncIO-in-Python/instagram3.ico differ diff --git a/100-days-of-code-youtube/96-Day-96-AsyncIO-in-Python/main.py b/100-days-of-code-youtube/96-Day-96-AsyncIO-in-Python/main.py new file mode 100644 index 00000000..3b5f4f77 --- /dev/null +++ b/100-days-of-code-youtube/96-Day-96-AsyncIO-in-Python/main.py @@ -0,0 +1,42 @@ +import time +import asyncio +import requests + + +async def function1(): + print("func 1") + URL = "https://wallpaperaccess.in/public/uploads/preview/1920x1200-desktop-background-ultra-hd-wallpaper-wiki-desktop-wallpaper-4k-.jpg" + response = requests.get(URL) + open("instagram.ico", "wb").write(response.content) + + return "Harry" + +async def function2(): + print("func 2") + URL = "https://p4.wallpaperbetter.com/wallpaper/490/433/199/nature-2560x1440-tree-snow-wallpaper-preview.jpg" + response = requests.get(URL) + open("instagram2.jpg", "wb").write(response.content) + +async def function3(): + print("func 3") + URL = "https://c4.wallpaperflare.com/wallpaper/622/676/943/3d-hd-wikipedia-3d-wallpaper-preview.jpg" + response = requests.get(URL) + open("instagram3.ico", "wb").write(response.content) + +async def main(): + # await function1() + # await function2() + # await function3() + # return 3 + L = await asyncio.gather( + function1(), + function2(), + function3(), + ) + print(L) + # task = asyncio.create_task(function1()) + # # await function1() + # await function2() + # await function3() + +asyncio.run(main()) \ No newline at end of file diff --git a/100-days-of-code-youtube/97-Day-97-MultiThreading-in-Python/.tutorial/01-multithreading.md b/100-days-of-code-youtube/97-Day-97-MultiThreading-in-Python/.tutorial/01-multithreading.md new file mode 100644 index 00000000..3d2fe1bd --- /dev/null +++ b/100-days-of-code-youtube/97-Day-97-MultiThreading-in-Python/.tutorial/01-multithreading.md @@ -0,0 +1,85 @@ +# Multithreading in Python + +Multithreading is a technique in programming that allows multiple threads of execution to run concurrently within a single process. In Python, we can use the threading module to implement multithreading. In this tutorial, we will take a closer look at the threading module and its various functions and how they can be used in Python. + +## Importing Threading +We can use threading by importing the threading module. + +```python +import threading +``` + +## Creating a thread +To create a thread, we need to create a Thread object and then call its start() method. The start() method runs the thread and then to stop the execution, we use the join() method. Here's how we can create a simple thread. + +```python +import threading +def my_func(): + print("Hello from thread", threading.current_thread().name) + thread = threading.Thread(target=my_func) + thread.start() + thread.join() +``` +## Functions +The following are some of the most commonly used functions in the threading module: + +- `threading.Thread(target, args)`: This function creates a new thread that runs the target function with the specified arguments. + +- `threading.Lock()`: This function creates a lock that can be used to synchronize access to shared resources between threads. + +## Creating multiple threads +Creating multiple threads is a common approach to using multithreading in Python. The idea is to create a pool of worker threads and then assign tasks to them as needed. This allows you to take advantage of multiple CPU cores and process tasks in parallel. + +```python +import threading + +def thread_task(task): + # Do some work here + print("Task processed:", task) + +if __name__ == '__main__': + tasks = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + + threads = [] + for task in tasks: + thread = threading.Thread(target=thread_task, args=(task,)) + threads.append(thread) + thread.start() + + for thread in threads: + thread.join() +``` + +## Using a lock to synchronize access to shared resources +When working with multithreading in python, locks can be used to synchronize access to shared resources among multiple threads. A lock is an object that acts as a semaphore, allowing only one thread at a time to execute a critical section of code. The lock is released when the thread finishes executing the critical section. + +```python +import threading + +def increment(counter, lock): + for i in range(10000): + lock.acquire() + counter += 1 + lock.release() + +if __name__ == '__main__': + counter = 0 + lock = threading.Lock() + + threads = [] + for i in range(2): + thread = threading.Thread(target=increment, args=(counter, lock)) + threads.append(thread) + thread.start() + + for thread in threads: + thread.join() + + print("Counter value:", counter) +``` + +## Conclusion +As you can see, the threading module provides a simple and efficient way to implement multithreading in Python. Whether you need to create a new thread, run a function across multiple input values, or synchronize access to shared resources, the threading module has you covered. + +In conclusion, the threading module is a powerful tool for parallelizing code in Python. Whether you are a beginner or an experienced Python developer, the threading module is an essential tool to have in your toolbox. With multithreading, you can take advantage of multiple CPU cores and significantly improve the performance of your code. +## [Next Lesson>>](https://replit.com/@codewithharry/98-Day-98-MultiProcessing-in-Python) \ No newline at end of file diff --git a/100-days-of-code-youtube/97-Day-97-MultiThreading-in-Python/.tutorial/video.json b/100-days-of-code-youtube/97-Day-97-MultiThreading-in-Python/.tutorial/video.json new file mode 100644 index 00000000..02e6aa54 --- /dev/null +++ b/100-days-of-code-youtube/97-Day-97-MultiThreading-in-Python/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/ICbU6zAKtqQ" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/97-Day-97-MultiThreading-in-Python/main.py b/100-days-of-code-youtube/97-Day-97-MultiThreading-in-Python/main.py new file mode 100644 index 00000000..f00ffef0 --- /dev/null +++ b/100-days-of-code-youtube/97-Day-97-MultiThreading-in-Python/main.py @@ -0,0 +1,49 @@ +import threading +import time +from concurrent.futures import ThreadPoolExecutor + +# Indicates some task being done +def func(seconds): + print(f"Sleeping for {seconds} seconds") + time.sleep(seconds) + return seconds + +def main(): + time1 = time.perf_counter() + # Normal Code + # func(4) + # func(2) + # func(1) + + + # Same code using Threads + t1 = threading.Thread(target=func, args=[4]) + t2 = threading.Thread(target=func, args=[2]) + t3 = threading.Thread(target=func, args=[1]) + t1.start() + t2.start() + t3.start() + + t1.join() + t2.join() + t3.join() + # Calculating Time + time2 = time.perf_counter() + print(time2 - time1) + + +def poolingDemo(): + with ThreadPoolExecutor() as executor: + # future1 = executor.submit(func, 3) + # future2 = executor.submit(func, 2) + # future3 = executor.submit(func, 4) + # print(future1.result()) + # print(future2.result()) + # print(future3.result()) + l = [3, 5, 1, 2] + results = executor.map(func, l) + for result in results: + print(result) + + +poolingDemo() \ No newline at end of file diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/.tutorial/01-MultiProcessing.md b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/.tutorial/01-MultiProcessing.md new file mode 100644 index 00000000..6568fd81 --- /dev/null +++ b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/.tutorial/01-MultiProcessing.md @@ -0,0 +1,100 @@ +# Multiprocessing in Python +Multiprocessing is a Python module that provides a simple way to run multiple processes in parallel. It allows you to take advantage of multiple cores or processors on your system and can significantly improve the performance of your code. In this repl, we'll take a closer look at the multiprocessing module and its various functions and how they can be used in Python. + +## Importing Multiprocessing +We can use multiprocessing by importing the multiprocessing module. + +```python +import multiprocessing +``` + +Now, to use multiprocessing we need to create a `process object` which calls a `start()` method. The start() method runs the process and then to stop the execution, we use the `join()` method. Here's how we can create a simple process. + +## Creating a process +```python +import multiprocessing +def my_func(): + print("Hello from process", multiprocessing.current_process().name) + process = multiprocessing.Process(target=my_func) + process.start() + process.join() +``` +## Functions +The following are some of the most commonly used functions in the multiprocessing module: + +- `multiprocessing.Process(target, args)`: This function creates a new process that runs the target function with the specified arguments. + +- `multiprocessing.Pool(processes)`: This function creates a pool of worker processes that can be used to parallelize the execution of a function across multiple input values. + +- `multiprocessing.Queue()`: This function creates a queue that can be used to communicate data between processes. + +- `multiprocessing.Lock()`: This function creates a lock that can be used to synchronize access to shared resources between processes. + +## Creating a pool of worker processes +Creating a pool of worker processes is a common approach to using multiprocessing in Python. The idea is to create a pool of worker processes and then assign tasks to them as needed. This allows you to take advantage of multiple CPU cores and process tasks in parallel. + +```python +from multiprocessing import Pool + +def process_task(task): + # Do some work here + print("Task processed:", task) + +if __name__ == '__main__': + tasks = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + + with Pool(processes=4) as pool: + results = pool.map(process_task, tasks) +``` +## Using a queue to communicate between processes +When working with multiple processes, it is often necessary to pass data between them. One way to do this is by using a queue. A queue is a data structure that allows data to be inserted at one end and removed from the other end. In the context of multiprocessing, a queue can be used to pass data between processes. + +```python +def producer(queue): + for i in range(10): + queue.put(i) + + +def consumer(queue): + while True: + item = queue.get() + print(item) + + +queue = multiprocessing.Queue() +p1 = multiprocessing.Process(target=producer, args=(queue,)) +p2 = multiprocessing.Process(target=consumer, args=(queue,)) +p1.start() +p2.start() +``` +## Using a lock to synchronize access to shared resources +When working with multiprocessing in python, locks can be used to synchronize access to shared resources among multiple processes. A lock is an object that acts as a semaphore, allowing only one process at a time to execute a critical section of code. The lock is released when the process finishes executing the critical section. + +```python +def increment(counter, lock): + for i in range(10000): + lock.acquire() + counter.value += 1 + lock.release() + +if __name__ == '__main__': + counter = multiprocessing.Value('i', 0) + lock = multiprocessing.Lock() + + p1 = multiprocessing.Process(target=increment, args=(counter, lock)) + p2 = multiprocessing.Process(target=increment, args=(counter, lock)) + + p1.start() + p2.start() + + p1.join() + p2.join() + + print("Counter value:", counter.value) +``` + +## Conclusion +As you can see, the multiprocessing module provides a simple and efficient way to run multiple processes in parallel. Whether you need to create a new process, run a function across multiple input values, communicate data between processes, or synchronize access to shared resources, the multiprocessing module has you covered. + +In conclusion, the multiprocessing module is a powerful tool for parallelizing code in Python. Whether you are a beginner or an experienced Python developer, the multiprocessing module is an essential tool to have in your toolbox. +## [Next Lesson>>](https://replit.com/@codewithharry/99-Day-99-Exercise-11-Solution) diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/.tutorial/video.json b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/.tutorial/video.json new file mode 100644 index 00000000..1b82dc52 --- /dev/null +++ b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/zGe-9LfnAaA" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file0.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file0.jpg new file mode 100644 index 00000000..f261c200 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file0.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file1.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file1.jpg new file mode 100644 index 00000000..28bca298 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file1.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file10.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file10.jpg new file mode 100644 index 00000000..7c18ecb6 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file10.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file11.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file11.jpg new file mode 100644 index 00000000..0b25a47c Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file11.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file12.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file12.jpg new file mode 100644 index 00000000..436e7161 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file12.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file13.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file13.jpg new file mode 100644 index 00000000..4375e60e Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file13.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file14.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file14.jpg new file mode 100644 index 00000000..341c5429 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file14.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file15.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file15.jpg new file mode 100644 index 00000000..285a3014 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file15.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file16.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file16.jpg new file mode 100644 index 00000000..d0dd56ae Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file16.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file17.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file17.jpg new file mode 100644 index 00000000..b3ef9d76 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file17.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file18.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file18.jpg new file mode 100644 index 00000000..31333e49 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file18.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file19.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file19.jpg new file mode 100644 index 00000000..a819860d Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file19.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file2.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file2.jpg new file mode 100644 index 00000000..1c168ca4 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file2.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file20.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file20.jpg new file mode 100644 index 00000000..e2446aa3 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file20.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file21.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file21.jpg new file mode 100644 index 00000000..256775a5 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file21.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file22.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file22.jpg new file mode 100644 index 00000000..6af366a2 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file22.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file23.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file23.jpg new file mode 100644 index 00000000..3c9f82d2 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file23.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file24.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file24.jpg new file mode 100644 index 00000000..6dd261b3 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file24.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file25.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file25.jpg new file mode 100644 index 00000000..bb09cc1e Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file25.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file26.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file26.jpg new file mode 100644 index 00000000..8e5a155b Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file26.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file27.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file27.jpg new file mode 100644 index 00000000..096d253d Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file27.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file28.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file28.jpg new file mode 100644 index 00000000..d4a41b28 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file28.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file29.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file29.jpg new file mode 100644 index 00000000..6fe1a586 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file29.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file3.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file3.jpg new file mode 100644 index 00000000..2f19be6b Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file3.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file30.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file30.jpg new file mode 100644 index 00000000..e353d7fd Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file30.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file31.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file31.jpg new file mode 100644 index 00000000..e9ae83d3 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file31.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file32.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file32.jpg new file mode 100644 index 00000000..675ab37c Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file32.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file33.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file33.jpg new file mode 100644 index 00000000..3c56dad7 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file33.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file34.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file34.jpg new file mode 100644 index 00000000..479b7c2e Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file34.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file35.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file35.jpg new file mode 100644 index 00000000..4b6ad155 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file35.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file36.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file36.jpg new file mode 100644 index 00000000..f128d167 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file36.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file37.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file37.jpg new file mode 100644 index 00000000..da883f76 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file37.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file38.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file38.jpg new file mode 100644 index 00000000..d478f2c7 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file38.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file39.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file39.jpg new file mode 100644 index 00000000..1f5f274e Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file39.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file4.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file4.jpg new file mode 100644 index 00000000..4a8888cb Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file4.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file40.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file40.jpg new file mode 100644 index 00000000..435154f9 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file40.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file41.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file41.jpg new file mode 100644 index 00000000..1a947120 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file41.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file42.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file42.jpg new file mode 100644 index 00000000..bf9e403c Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file42.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file43.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file43.jpg new file mode 100644 index 00000000..1f7626e8 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file43.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file44.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file44.jpg new file mode 100644 index 00000000..09440cc8 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file44.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file45.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file45.jpg new file mode 100644 index 00000000..a7c132a8 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file45.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file46.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file46.jpg new file mode 100644 index 00000000..b336cad0 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file46.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file47.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file47.jpg new file mode 100644 index 00000000..b60477b9 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file47.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file48.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file48.jpg new file mode 100644 index 00000000..bc30fccf Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file48.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file49.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file49.jpg new file mode 100644 index 00000000..c30e74ab Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file49.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file5.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file5.jpg new file mode 100644 index 00000000..166cae30 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file5.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file50.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file50.jpg new file mode 100644 index 00000000..f19312b8 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file50.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file51.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file51.jpg new file mode 100644 index 00000000..31d05120 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file51.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file52.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file52.jpg new file mode 100644 index 00000000..f98acb77 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file52.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file53.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file53.jpg new file mode 100644 index 00000000..ba40ee4f Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file53.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file54.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file54.jpg new file mode 100644 index 00000000..29d403ab Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file54.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file55.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file55.jpg new file mode 100644 index 00000000..0e15c1ae Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file55.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file56.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file56.jpg new file mode 100644 index 00000000..3d477aac Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file56.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file57.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file57.jpg new file mode 100644 index 00000000..811db326 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file57.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file58.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file58.jpg new file mode 100644 index 00000000..91682e9e Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file58.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file59.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file59.jpg new file mode 100644 index 00000000..d874c93e Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file59.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file6.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file6.jpg new file mode 100644 index 00000000..db8a1210 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file6.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file7.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file7.jpg new file mode 100644 index 00000000..9160e152 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file7.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file8.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file8.jpg new file mode 100644 index 00000000..811db326 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file8.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file9.jpg b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file9.jpg new file mode 100644 index 00000000..9eec7c57 Binary files /dev/null and b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/files/file9.jpg differ diff --git a/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/main.py b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/main.py new file mode 100644 index 00000000..31adaa51 --- /dev/null +++ b/100-days-of-code-youtube/98-Day-98-MultiProcessing-in-Python/main.py @@ -0,0 +1,28 @@ +import concurrent.futures +import requests + +def downloadFile(url, name): + print(f"Started Downloading {name}") + response = requests.get(url) + open(f"files/file{name}.jpg", "wb").write(response.content) + print(f"Finished Downloading {name}") + + + +url = "https://picsum.photos/2000/3000" +# pros = [] +# for i in range(50): +# # downloadFile(url, i) +# p = multiprocessing.Process(target=downloadFile, args=[url, i]) +# p.start() +# pros.append(p) + +# for p in pros: +# p.join() + +with concurrent.futures.ProcessPoolExecutor() as executor: + l1 = [url for i in range(60)] + l2 = [i for i in range(60)] + results = executor.map(downloadFile, l1, l2) + for r in results: + print(r) \ No newline at end of file diff --git a/100-days-of-code-youtube/99-Day-99-Exercise-11-Solution/.tutorial/Tutorial.md b/100-days-of-code-youtube/99-Day-99-Exercise-11-Solution/.tutorial/Tutorial.md new file mode 100644 index 00000000..fe012dbc --- /dev/null +++ b/100-days-of-code-youtube/99-Day-99-Exercise-11-Solution/.tutorial/Tutorial.md @@ -0,0 +1,3 @@ +## Exercise 11 - Drink Water Reminder (Solution) +Write a python program which reminds you of drinking water every hour or two. Your program can either beep or send desktop notifications for a specific operating system +## [Next Lesson>>](https://replit.com/@codewithharry/100-Day-100-Conclusion-Where-to-go-from-here) \ No newline at end of file diff --git a/100-days-of-code-youtube/99-Day-99-Exercise-11-Solution/.tutorial/video.json b/100-days-of-code-youtube/99-Day-99-Exercise-11-Solution/.tutorial/video.json new file mode 100644 index 00000000..f715ad5c --- /dev/null +++ b/100-days-of-code-youtube/99-Day-99-Exercise-11-Solution/.tutorial/video.json @@ -0,0 +1,3 @@ +{ +"embedUrl": "https://www.youtube.com/embed/18vZnLqXMoM" +} \ No newline at end of file diff --git a/100-days-of-code-youtube/99-Day-99-Exercise-11-Solution/main.py b/100-days-of-code-youtube/99-Day-99-Exercise-11-Solution/main.py new file mode 100644 index 00000000..9d437494 --- /dev/null +++ b/100-days-of-code-youtube/99-Day-99-Exercise-11-Solution/main.py @@ -0,0 +1,9 @@ +import os +import time + +REPEAT_INTERVAL = 3600 # Repeat frequency in seconds + +while True: + command = "osascript -e \'say \"Hey Harry drink water\"\'; osascript -e \'display alert \"Hey Harry, Drink water\"\'" + os.system(command) + time.sleep(REPEAT_INTERVAL) \ No newline at end of file diff --git a/BACKUP-2024/01-Infrastructure-as-Code-IaC-Basics/README.md b/BACKUP-2024/01-Infrastructure-as-Code-IaC-Basics/README.md new file mode 100644 index 00000000..7c778fe2 --- /dev/null +++ b/BACKUP-2024/01-Infrastructure-as-Code-IaC-Basics/README.md @@ -0,0 +1,13 @@ +# Infrastructure as Code Basics + +## Step-01: Understand Problems with Traditional way of Managing Infrastructure +- Time it takes for building multiple environments +- Issues we face with different environments +- Scale-Up and Scale-Down On-Demand + +## Step-02: Discuss how IaC with Terraform Solves them +- Visibility +- Stability +- Scalability +- Security +- Audit \ No newline at end of file diff --git a/BACKUP-2024/02-Terraform-Basics/02-01-Install-Tools-TerraformCLI-AWSCLI-VSCodeIDE/README.md b/BACKUP-2024/02-Terraform-Basics/02-01-Install-Tools-TerraformCLI-AWSCLI-VSCodeIDE/README.md new file mode 100644 index 00000000..4ca52c65 --- /dev/null +++ b/BACKUP-2024/02-Terraform-Basics/02-01-Install-Tools-TerraformCLI-AWSCLI-VSCodeIDE/README.md @@ -0,0 +1,92 @@ +# Terraform & AWS CLI Installation + +## Step-01: Introduction +- Install Terraform CLI +- Install AWS CLI +- Install VS Code Editor +- Install HashiCorp Terraform plugin for VS Code + + +## Step-02: MACOS: Terraform Install +- [Download Terraform MAC](https://www.terraform.io/downloads.html) +- [Install CLI](https://learn.hashicorp.com/tutorials/terraform/install-cli) +- Unzip the package +``` +# Copy binary zip file to a folder +mkdir /Users//Documents/terraform-install +COPY Package to "terraform-install" folder + +# Unzip +unzip +unzip terraform_0.14.3_darwin_amd64.zip + +# Copy terraform binary to /usr/local/bin +echo $PATH +mv terraform /usr/local/bin + +# Verify Version +terraform version + +# To Uninstall Terraform (NOT REQUIRED) +rm -rf /usr/local/bin/terraform +``` + +## Step-03: MACOS: IDE for Terraform - VS Code Editor +- [Microsoft Visual Studio Code Editor](https://code.visualstudio.com/download) +- [Hashicorp Terraform Plugin for VS Code](https://marketplace.visualstudio.com/items?itemName=HashiCorp.terraform) + + +### Step-04: MACOS: Install AWS CLI +- [AWS CLI Install](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) +- [Install AWS CLI - MAC](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-mac.html#cliv2-mac-install-cmd) + +``` +# Install AWS CLI V2 +curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" +sudo installer -pkg AWSCLIV2.pkg -target / +which aws +aws --version + +# Uninstall AWS CLI V2 (NOT REQUIRED) +which aws +ls -l /usr/local/bin/aws +sudo rm /usr/local/bin/aws +sudo rm /usr/local/bin/aws_completer +sudo rm -rf /usr/local/aws-cli +``` + + +## Step-05: MACOS: Configure AWS Credentials +- **Pre-requisite:** Should have AWS Account. + - [Create an AWS Account](https://portal.aws.amazon.com/billing/signup?nc2=h_ct&src=header_signup&redirect_url=https%3A%2F%2Faws.amazon.com%2Fregistration-confirmation#/start) +- Generate Security Credentials using AWS Management Console + - Go to Services -> IAM -> Users -> "Your-Admin-User" -> Security Credentials -> Create Access Key +- Configure AWS credentials using SSH Terminal on your local desktop +``` +# Configure AWS Credentials in command line +$ aws configure +AWS Access Key ID [None]: AKIASUF7DEFKSIAWMZ7K +AWS Secret Access Key [None]: WL9G9Tl8lGm7w9t7B3NEDny1+w3N/K5F3HWtdFH/ +Default region name [None]: us-east-1 +Default output format [None]: json + +# Verify if we are able list S3 buckets +aws s3 ls +``` +- Verify the AWS Credentials Profile +``` +cat $HOME/.aws/credentials +``` + +## Step-06: WindowsOS: Terraform & AWS CLI Install +- [Download Terraform](https://www.terraform.io/downloads.html) +- [Install CLI](https://learn.hashicorp.com/tutorials/terraform/install-cli) +- Unzip the package +- Create new folder `terraform-bins` +- Copy the `terraform.exe` to a `terraform-bins` +- Set PATH in windows +- Install [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) + +## Step-07: LinuxOS: Terraform & AWS CLI Install +- [Download Terraform](https://www.terraform.io/downloads.html) +- [Linux OS - Terraform Install](https://learn.hashicorp.com/tutorials/terraform/install-cli) \ No newline at end of file diff --git a/BACKUP-2024/02-Terraform-Basics/02-02-Terraform-Command-Basics/README.md b/BACKUP-2024/02-Terraform-Basics/02-02-Terraform-Command-Basics/README.md new file mode 100644 index 00000000..36f68664 --- /dev/null +++ b/BACKUP-2024/02-Terraform-Basics/02-02-Terraform-Command-Basics/README.md @@ -0,0 +1,80 @@ +# Terraform Command Basics + +## Step-01: Introduction +- Understand basic Terraform Commands + - terraform init + - terraform validate + - terraform plan + - terraform apply + - terraform destroy + +## Step-02: Review terraform manifest for EC2 Instance +- **Pre-Conditions-1:** Ensure you have **default-vpc** in that respective region +- **Pre-Conditions-2:** Ensure AMI you are provisioning exists in that region if not update AMI ID +- **Pre-Conditions-3:** Verify your AWS Credentials in **$HOME/.aws/credentials** +```t +# Terraform Settings Block +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + #version = "~> 3.21" # Optional but recommended in production + } + } +} + +# Provider Block +provider "aws" { + profile = "default" # AWS Credentials Profile configured on your local desktop terminal $HOME/.aws/credentials + region = "us-east-1" +} + +# Resource Block +resource "aws_instance" "ec2demo" { + ami = "ami-04d29b6f966df1537" # Amazon Linux in us-east-1, update as per your region + instance_type = "t2.micro" +} +``` + +## Step-03: Terraform Core Commands +```t +# Initialize Terraform +terraform init + +# Terraform Validate +terraform validate + +# Terraform Plan to Verify what it is going to create / update / destroy +terraform plan + +# Terraform Apply to Create EC2 Instance +terraform apply +``` + +## Step-04: Verify the EC2 Instance in AWS Management Console +- Go to AWS Management Console -> Services -> EC2 +- Verify newly created EC2 instance + + + +## Step-05: Destroy Infrastructure +```t +# Destroy EC2 Instance +terraform destroy + +# Delete Terraform files +rm -rf .terraform* +rm -rf terraform.tfstate* +``` + +## Step-08: Conclusion +- Re-iterate what we have learned in this section +- Learned about Important Terraform Commands + - terraform init + - terraform validate + - terraform plan + - terraform apply + - terraform destroy + + + diff --git a/BACKUP-2024/02-Terraform-Basics/02-02-Terraform-Command-Basics/terraform-manifests/ec2-instance.tf b/BACKUP-2024/02-Terraform-Basics/02-02-Terraform-Command-Basics/terraform-manifests/ec2-instance.tf new file mode 100644 index 00000000..8b007c8c --- /dev/null +++ b/BACKUP-2024/02-Terraform-Basics/02-02-Terraform-Command-Basics/terraform-manifests/ec2-instance.tf @@ -0,0 +1,21 @@ +# Terraform Settings Block +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + #version = "~> 3.21" # Optional but recommended in production + } + } +} + +# Provider Block +provider "aws" { + profile = "default" # AWS Credentials Profile configured on your local desktop terminal $HOME/.aws/credentials + region = "us-east-1" +} + +# Resource Block +resource "aws_instance" "ec2demo" { + ami = "ami-0be2609ba883822ec" # Amazon Linux in us-east-1, update as per your region + instance_type = "t2.micro" +} diff --git a/BACKUP-2024/02-Terraform-Basics/02-03-Terraform-Language-Syntax/README.md b/BACKUP-2024/02-Terraform-Basics/02-03-Terraform-Language-Syntax/README.md new file mode 100644 index 00000000..3c0fb52d --- /dev/null +++ b/BACKUP-2024/02-Terraform-Basics/02-03-Terraform-Language-Syntax/README.md @@ -0,0 +1,53 @@ +# Terraform Configuration Language Syntax + +## Step-01: Introduction +- Understand Terraform Language Basics + - Understand Blocks + - Understand Arguments, Attributes & Meta-Arguments + - Understand Identifiers + - Understand Comments + + + +## Step-02: Terraform Configuration Language Syntax +- Understand Blocks +- Understand Arguments +- Understand Identifiers +- Understand Comments +- [Terraform Configuration](https://www.terraform.io/docs/configuration/index.html) +- [Terraform Configuration Syntax](https://www.terraform.io/docs/configuration/syntax.html) +```t +# Template + "" "" { + # Block body + = # Argument +} + +# AWS Example +resource "aws_instance" "ec2demo" { # BLOCK + ami = "ami-04d29b6f966df1537" # Argument + instance_type = var.instance_type # Argument with value as expression (Variable value replaced from varibales.tf +} +``` + +## Step-03: Understand about Arguments, Attributes and Meta-Arguments. +- Arguments can be `required` or `optional` +- Attribues format looks like `resource_type.resource_name.attribute_name` +- Meta-Arguments change a resource type's behavior (Example: count, for_each) +- [Additional Reference](https://learn.hashicorp.com/tutorials/terraform/resource?in=terraform/configuration-language) +- [Resource: AWS Instance](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance) +- [Resource: AWS Instance Argument Reference](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance#argument-reference) +- [Resource: AWS Instance Attribute Reference](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance#attributes-reference) +- [Resource: Meta-Arguments](https://www.terraform.io/docs/language/meta-arguments/depends_on.html) + +## Step-04: Understand about Terraform Top-Level Blocks +- Discuss about Terraform Top-Level blocks + - Terraform Settings Block + - Provider Block + - Resource Block + - Input Variables Block + - Output Values Block + - Local Values Block + - Data Sources Block + - Modules Block + diff --git a/BACKUP-2024/02-Terraform-Basics/02-03-Terraform-Language-Syntax/terraform-manifests/top-level-blocks-samples.tf b/BACKUP-2024/02-Terraform-Basics/02-03-Terraform-Language-Syntax/terraform-manifests/top-level-blocks-samples.tf new file mode 100644 index 00000000..004c4bb8 --- /dev/null +++ b/BACKUP-2024/02-Terraform-Basics/02-03-Terraform-Language-Syntax/terraform-manifests/top-level-blocks-samples.tf @@ -0,0 +1,104 @@ +##################################################################### +# Block-1: Terraform Settings Block +terraform { + required_version = "~> 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = ">= 4.0" + } + } + # Adding Backend as S3 for Remote State Storage with State Locking + backend "s3" { + bucket = "terraform-stacksimplify" + key = "dev2/terraform.tfstate" + region = "us-east-1" + + # For State Locking + dynamodb_table = "terraform-dev-state-table" + } +} +##################################################################### +# Block-2: Provider Block +provider "aws" { + profile = "default" # AWS Credentials Profile configured on your local desktop terminal $HOME/.aws/credentials + region = "us-east-1" +} +##################################################################### +# Block-3: Resource Block +resource "aws_instance" "ec2demo" { + ami = "ami-04d29b6f966df1537" # Amazon Linux + instance_type = var.instance_type +} +##################################################################### +# Block-4: Input Variables Block +variable "instance_type" { + default = "t2.micro" + description = "EC2 Instance Type" + type = string +} +##################################################################### +# Block-5: Output Values Block +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.public_ip +} +##################################################################### +# Block-6: Local Values Block +# Create S3 Bucket - with Input Variables & Local Values +locals { + bucket-name-prefix = "${var.app_name}-${var.environment_name}" +} +##################################################################### +# Block-7: Data sources Block +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = ["amazon"] + + filter { + name = "name" + values = ["amzn2-ami-hvm-*"] + } + + filter { + name = "root-device-type" + values = ["ebs"] + } + + filter { + name = "virtualization-type" + values = ["hvm"] + } + + filter { + name = "architecture" + values = ["x86_64"] + } + +} +##################################################################### +# Block-8: Modules Block +# AWS EC2 Instance Module + +module "ec2_cluster" { + source = "terraform-aws-modules/ec2-instance/aws" + version = "~> 2.0" + + name = "my-modules-demo" + instance_count = 2 + + ami = data.aws_ami.amzlinux.id + instance_type = "t2.micro" + key_name = "terraform-key" + monitoring = true + vpc_security_group_ids = ["sg-08b25c5a5bf489ffa"] # Get Default VPC Security Group ID and replace + subnet_id = "subnet-4ee95470" # Get one public subnet id from default vpc and replace + user_data = file("apache-install.sh") + + tags = { + Terraform = "true" + Environment = "dev" + } +} +##################################################################### \ No newline at end of file diff --git a/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-01-Terraform-Block/README.md b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-01-Terraform-Block/README.md new file mode 100644 index 00000000..dfb6e931 --- /dev/null +++ b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-01-Terraform-Block/README.md @@ -0,0 +1,67 @@ +# Terraform Block + +## Step-01: Introduction +- Understand about Terraform Block and its importance +- Understand how to handle version constraints for Terraform Version and Provider Version in Terraform Block + +### Step-02: Understand about Terraform Settings Block +- Required Terraform Version +- Provider Requirements +- Terraform backends +- Experimental Language Features +- Passing Metadata to Providers +- Review the file named **sample-terraform-settings.tf** for more understading + +## Step-03: Create a simple terraform block and play with required_version +- `required_version` focuses on underlying Terraform CLI installed on your desktop +- If the running version of Terraform on your local desktop doesn't match the constraints specified in your terraform block, Terraform will produce an error and exit without taking any further actions. +- By changing the versions try `terraform init` and observe whats happening +``` +Play with Terraform Version + required_version = "~> 0.14.3" + required_version = "= 0.14.3" + required_version = "= 0.14.4" + required_version = ">= 0.13" + required_version = "= 0.13" + required_version = "~> 0.13" + + +# Terraform Block +terraform { + required_version = "~> 0.14" +} + +# To view my Terraform CLI Version installed on my desktop +terraform version + +# Initialize Terraform +terraform init +``` +## Step-04: Add Provider and play with Provider version +- `required_providers` block specifies all of the providers required by the current module, mapping each local provider name to a source address and a version constraint. + +``` +Play with Provider Version + version = "~> 3.0" + version = ">= 3.0.0, < 3.1.0" + version = ">= 3.0.0, <= 3.1.0" + version = "~> 2.0" + version = "~> 3.0" +``` + +``` +# Terraform Init with upgrade option to change provider version +terraform init -upgrade +``` + + +## Step-05: Clean-Up +``` +# Delete Terraform Folders & Files +rm -rf .terraform* +``` + +## References +- [Terraform Version Constraints](https://www.terraform.io/docs/configuration/version-constraints.html) +- [Terraform Versions - Best Practices](https://www.terraform.io/docs/configuration/version-constraints.html#best-practices) + diff --git a/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-01-Terraform-Block/sample-terraform-settings.tf b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-01-Terraform-Block/sample-terraform-settings.tf new file mode 100644 index 00000000..ddb19557 --- /dev/null +++ b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-01-Terraform-Block/sample-terraform-settings.tf @@ -0,0 +1,27 @@ +terraform { + # Required Terraform Version + required_version = "~> 0.14" + # Required Providers and their Versions + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.21" # Optional but recommended + } + random = { + source = "hashicorp/random" + version = "3.0.1" + } + } + # Remote Backend for storing Terraform State in S3 bucket + backend "s3" { + bucket = "mybucket" + key = "path/to/my/key" + region = "us-east-1" + } + # Experimental Features (Not required) + experiments = [ example ] + # Passing Metadata to Providers (Super Advanced - Terraform documentation says not needed in many cases) + provider_meta "my-provider" { + hello = "world" + } +} \ No newline at end of file diff --git a/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-01-Terraform-Block/terraform-manifests-oldv1/terraform-block.tf b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-01-Terraform-Block/terraform-manifests-oldv1/terraform-block.tf new file mode 100644 index 00000000..ec9b5055 --- /dev/null +++ b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-01-Terraform-Block/terraform-manifests-oldv1/terraform-block.tf @@ -0,0 +1,32 @@ +# Terraform Block +terraform { + required_version = "~> 0.14.3" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + random = { + source = "hashicorp/random" + version = "3.0.1" + } + } +} + +/* +Play with Terraform Version + required_version = "~> 0.14.3" + required_version = "= 0.14.4" + required_version = ">= 0.13" + required_version = "= 0.13" + required_version = "~> 0.13" + + +Play with Provider Version + version = "~> 3.0" + version = ">= 3.0.0, < 3.1.0" + version = ">= 3.0.0, <= 3.1.0" + version = "~> 2.0" + version = "~> 3.0" +*/ + diff --git a/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-01-Terraform-Block/terraform-manifests/terraform-block.tf b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-01-Terraform-Block/terraform-manifests/terraform-block.tf new file mode 100644 index 00000000..eb7d770b --- /dev/null +++ b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-01-Terraform-Block/terraform-manifests/terraform-block.tf @@ -0,0 +1,32 @@ +# Terraform Block +terraform { + required_version = ">= 1.4.1" + required_providers { + aws = { + source = "hashicorp/aws" + version = ">= 4.0" + } + random = { + source = "hashicorp/random" + version = "3.4.3" + } + } +} + +/* +Play with Terraform Version + required_version = "~> 0.14.3" + required_version = "= 0.14.4" + required_version = ">= 0.13" + required_version = "= 0.13" + required_version = "~> 0.13" + + +Play with Provider Version + version = "~> 3.0" + version = ">= 3.0.0, < 3.1.0" + version = ">= 3.0.0, <= 3.1.0" + version = "~> 2.0" + version = "~> 3.0" +*/ + diff --git a/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-02-Provider-Block/README.md b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-02-Provider-Block/README.md new file mode 100644 index 00000000..1faaa28b --- /dev/null +++ b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-02-Provider-Block/README.md @@ -0,0 +1,104 @@ +# Terraform Provider Block + +## Step-01: Introduction +- What are Terraform Providers? +- What Providers Do? +- Where do providers reside (Terraform Registry)? +- How to use Providers? +- What are Provider Badges? + + +## Step-02: Terraform Providers +- What are Terraform Providers? +- What Providers Do? +- Where do providers reside (Terraform Registry)? + + +## Step-03: Provider Requirements +- Define required providers in Terraform Block +- Understand about three things about defining `required_providers` in terraform block + - local names + - source + - version +```t +# Terraform Block +terraform { + required_version = "~> 0.14.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} +``` + + +## Step-04: Provider Block +- Create a Provider Block for AWS +```t +# Provider Block +provider "aws" { + region = "us-east-1" + profile = "default" # defining it is optional for default profile +} +``` +- Discuss about [Authentication Types](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#authentication) +- Static Credentials - NOT A RECOMMENDED Option +- Environment variables +- Shared credentials/configuration file ( We are going to use this) + - Verify your `cat $HOME/.aws/credentials` + - If not, use `aws configure` to configure the aws credentials + +```t +# Initialize Terraform +terraform init + +# Validate Terraform Configuration files +terraform validate + +# Execute Terraform Plan +terraform plan +``` + +## Step-05: Add a Resource Block to create a AWS VPC +- [AWS VPC Resource](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc) +```t +resource "aws_vpc" "myvpc" { + cidr_block = "10.0.0.0/16" + tags = { + "Name" = "myvpc" + } +} +``` + +## Step-06: Execute Terraform commands to create AWS VPC +```t +# Initialize Terraform +terraform init + +# Validate Terraform Configuration files +terraform validate + +# Execute Terraform Plan +terraform plan + +# Create Resources using Terraform Apply +terraform apply -auto-approve +``` + +## Step-07: Clean-Up +```t +# Destroy Terraform Resources +terraform destroy -auto-approve + +# Delete Terraform Files +rm -rf .terraform* +rm -rf terraform.tfstate* +``` + + +## References +- [Terraform Providers](https://www.terraform.io/docs/configuration/providers.html) +- [AWS Provider Documentation](https://registry.terraform.io/providers/hashicorp/aws/latest/docs) +- [AWS VPC](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc) \ No newline at end of file diff --git a/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-02-Provider-Block/terraform-manifests-oldv1/c1-versions.tf b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-02-Provider-Block/terraform-manifests-oldv1/c1-versions.tf new file mode 100644 index 00000000..35c6c2bf --- /dev/null +++ b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-02-Provider-Block/terraform-manifests-oldv1/c1-versions.tf @@ -0,0 +1,21 @@ +# Terraform Block +terraform { + required_version = "~> 0.14.6" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = "us-east-1" + profile = "default" +} + +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-02-Provider-Block/terraform-manifests-oldv1/c2-vpc.tf b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-02-Provider-Block/terraform-manifests-oldv1/c2-vpc.tf new file mode 100644 index 00000000..b45c274d --- /dev/null +++ b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-02-Provider-Block/terraform-manifests-oldv1/c2-vpc.tf @@ -0,0 +1,8 @@ +# Resource Block +# Resource-1: Create VPC +resource "aws_vpc" "myvpc" { + cidr_block = "10.0.0.0/16" + tags = { + "Name" = "myvpc" + } +} diff --git a/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-02-Provider-Block/terraform-manifests/c1-versions.tf b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-02-Provider-Block/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..4bbedc4e --- /dev/null +++ b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-02-Provider-Block/terraform-manifests/c1-versions.tf @@ -0,0 +1,21 @@ +# Terraform Block +terraform { + required_version = ">= 1.4.1" + required_providers { + aws = { + source = "hashicorp/aws" + version = ">= 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = "us-east-1" + profile = "default" +} + +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-02-Provider-Block/terraform-manifests/c2-vpc.tf b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-02-Provider-Block/terraform-manifests/c2-vpc.tf new file mode 100644 index 00000000..b45c274d --- /dev/null +++ b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-02-Provider-Block/terraform-manifests/c2-vpc.tf @@ -0,0 +1,8 @@ +# Resource Block +# Resource-1: Create VPC +resource "aws_vpc" "myvpc" { + cidr_block = "10.0.0.0/16" + tags = { + "Name" = "myvpc" + } +} diff --git a/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-03-Multiple-Provider-Configurations/README.md b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-03-Multiple-Provider-Configurations/README.md new file mode 100644 index 00000000..bb42ff85 --- /dev/null +++ b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-03-Multiple-Provider-Configurations/README.md @@ -0,0 +1,69 @@ +# Multiple Provider Configurations + +## Step-01: Introduction +- Understand and Implement Multiple Provider Configurations + +## Step-02: How to define multiple provider configuration of same Provider? +- Understand about default provider +- Understand and define multiple provider configurations of same provider +```t +# Provider-1 for us-east-1 (Default Provider) +provider "aws" { + region = "us-east-1" + profile = "default" +} + +# Provider-2 for us-west-1 +provider "aws" { + region = "us-west-1" + profile = "default" + alias = "aws-west-1" +} +``` + +## Step-03: How to reference the non-default provider configuration in a resource? +```t +# Resource Block to Create VPC in us-west-1 +resource "aws_vpc" "vpc-us-west-1" { + cidr_block = "10.2.0.0/16" + #. + provider = aws.aws-west-1 + tags = { + "Name" = "vpc-us-west-1" + } +} +``` + +## Step-04: Execute Terraform Commands +```t +# Initialize Terraform +terraform init + +# Validate Terraform Configuration Files +terraform validate + +# Generate Terraform Plan +terraform plan + +# Create Resources +terraform apply -auto-approve + +# Verify the same +1. Verify the VPC created in us-east-1 +2. Verify the VPC created in us-west-2 +``` + +## Step-05: Clean-Up +```t +# Destroy Terraform Resources +terraform destroy -auto-approve + +# Delete Terraform Files +rm -rf .terraform* +rm -rf terraform.tfstate* +``` + + + +## References +- [Provider Meta Argument](https://www.terraform.io/docs/configuration/meta-arguments/resource-provider.html) \ No newline at end of file diff --git a/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-03-Multiple-Provider-Configurations/terraform-manifests-oldv1/c1-versions.tf b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-03-Multiple-Provider-Configurations/terraform-manifests-oldv1/c1-versions.tf new file mode 100644 index 00000000..c53c441c --- /dev/null +++ b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-03-Multiple-Provider-Configurations/terraform-manifests-oldv1/c1-versions.tf @@ -0,0 +1,25 @@ +# Terraform Block +terraform { + required_version = "~> 0.14.6" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider-1 for us-east-1 (Default Provider) +provider "aws" { + region = "us-east-1" + profile = "default" +} + +# Provider-2 for us-west-1 +provider "aws" { + region = "us-west-1" + profile = "default" + alias = "aws-west-1" +} + + diff --git a/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-03-Multiple-Provider-Configurations/terraform-manifests-oldv1/c2-vpc-us-east-1.tf b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-03-Multiple-Provider-Configurations/terraform-manifests-oldv1/c2-vpc-us-east-1.tf new file mode 100644 index 00000000..eea9958c --- /dev/null +++ b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-03-Multiple-Provider-Configurations/terraform-manifests-oldv1/c2-vpc-us-east-1.tf @@ -0,0 +1,7 @@ +# Resource Block to Create VPC in us-east-1 which uses default provider +resource "aws_vpc" "vpc-us-east-1" { + cidr_block = "10.1.0.0/16" + tags = { + "Name" = "vpc-us-east-1" + } +} diff --git a/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-03-Multiple-Provider-Configurations/terraform-manifests-oldv1/c3-vpc-us-west-1.tf b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-03-Multiple-Provider-Configurations/terraform-manifests-oldv1/c3-vpc-us-west-1.tf new file mode 100644 index 00000000..8974f5a2 --- /dev/null +++ b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-03-Multiple-Provider-Configurations/terraform-manifests-oldv1/c3-vpc-us-west-1.tf @@ -0,0 +1,14 @@ +# Resource Block to Create VPC in us-west-1 +resource "aws_vpc" "vpc-us-west-1" { + cidr_block = "10.1.0.0/16" + provider = aws.aws-west-1 + tags = { + "Name" = "vpc-us-west-1" + } +} + + +/* +Additional Note: +provider = . # This is a Meta-Argument from Resources Section nothing but a Special Argument +*/ \ No newline at end of file diff --git a/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-03-Multiple-Provider-Configurations/terraform-manifests/c1-versions.tf b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-03-Multiple-Provider-Configurations/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..ffc2fd1b --- /dev/null +++ b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-03-Multiple-Provider-Configurations/terraform-manifests/c1-versions.tf @@ -0,0 +1,25 @@ +# Terraform Block +terraform { + required_version = ">= 1.4.1" + required_providers { + aws = { + source = "hashicorp/aws" + version = ">= 4.0" + } + } +} + +# Provider-1 for us-east-1 (Default Provider) +provider "aws" { + region = "us-east-1" + profile = "default" +} + +# Provider-2 for us-west-1 +provider "aws" { + region = "us-west-1" + profile = "default" + alias = "aws-west-1" +} + + diff --git a/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-03-Multiple-Provider-Configurations/terraform-manifests/c2-vpc-us-east-1.tf b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-03-Multiple-Provider-Configurations/terraform-manifests/c2-vpc-us-east-1.tf new file mode 100644 index 00000000..eea9958c --- /dev/null +++ b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-03-Multiple-Provider-Configurations/terraform-manifests/c2-vpc-us-east-1.tf @@ -0,0 +1,7 @@ +# Resource Block to Create VPC in us-east-1 which uses default provider +resource "aws_vpc" "vpc-us-east-1" { + cidr_block = "10.1.0.0/16" + tags = { + "Name" = "vpc-us-east-1" + } +} diff --git a/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-03-Multiple-Provider-Configurations/terraform-manifests/c3-vpc-us-west-1.tf b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-03-Multiple-Provider-Configurations/terraform-manifests/c3-vpc-us-west-1.tf new file mode 100644 index 00000000..8974f5a2 --- /dev/null +++ b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-03-Multiple-Provider-Configurations/terraform-manifests/c3-vpc-us-west-1.tf @@ -0,0 +1,14 @@ +# Resource Block to Create VPC in us-west-1 +resource "aws_vpc" "vpc-us-west-1" { + cidr_block = "10.1.0.0/16" + provider = aws.aws-west-1 + tags = { + "Name" = "vpc-us-west-1" + } +} + + +/* +Additional Note: +provider = . # This is a Meta-Argument from Resources Section nothing but a Special Argument +*/ \ No newline at end of file diff --git a/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/README.md b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/README.md new file mode 100644 index 00000000..91c2ccf5 --- /dev/null +++ b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/README.md @@ -0,0 +1,87 @@ +# Providers - Dependency Lock File + +## Step-01: Introduction +- Understand the importance of Dependency Lock File which is introduced in Terraform v0.14 + +## Step-02: Review the Terraform Manifests +- c1-versions.tf + - Discuss about Terraform, AWS and Random Pet Provider Versions +- c2-s3bucket.tf + - Discuss about Random Pet Resource + - Discuss about S3 Bucket Resource +- .terraform.lock.hcl + - Discuss about Provider Version, Version Constraints and Hashes + +## Step-03: Initialize and apply the configuration +```t +# Initialize Terraform +terraform init + +# Validate Terraform Configuration files +terraform validate + +# Execute Terraform Plan +terraform plan + +# Create Resources using Terraform Apply +terraform apply +``` +- Review **.terraform.lock.hcl** + - Discuss about versions + - Compare `.terraform.lock.hcl-ORIGINAL` & `.terraform.lock.hcl` + - Backup `.terraform.lock.hcl` as `.terraform.lock.hcl-FIRST-INIT` +``` +# Backup +cp .terraform.lock.hcl .terraform.lock.hcl-FIRST-INIT +``` + +## Step-04: Upgrade the AWS provider version +- For AWS Provider, with version constraint `version = ">= 2.0.0"`, it is going to upgrade to latest `3.x.x` version with command `terraform init -upgrade` +```t +# Upgrade Provider Version +terraform init -upgrade +``` +- Review **.terraform.lock.hcl** + - Discuss about AWS Versions + - Compare `.terraform.lock.hcl-FIRST-INIT` & `.terraform.lock.hcl` + +## Step-05: Apply Terraform configuration with latest AWS Provider +- Should fail due to S3 related latest changes came in AWS v3.x provider when compared to AWS v2.x provider +``` +# Terraform Apply +terraform apply +``` + +## Step-06: Comment region in S3 Resource and try Terraform Apply +- It should work. +- When we do a major version upgrade to providers, it might break few features. +- So with `.terraform.lock.hcl`, we can avoid this type of issues. +``` +# Comment Region Attribute +# Resource Block: Create AWS S3 Bucket +resource "aws_s3_bucket" "sample" { + bucket = random_pet.petname.id + acl = "public-read" + + #region = "us-west-2" +} + +# Terraform Apply +terraform apply +``` + +## Step-07: Clean-Up +``` +# Destroy Resources +terraform destroy + +# Delete Terraform Files +rm -rf .terraform # We are not removing files named ".terraform.lock.hcl, .terraform.lock.hcl-ORIGINAL" which are needed for this demo for you. +rm -rf terraform.tfstate* +``` + +## References +- [Random Pet Provider](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) +- [Dependency Lock File](https://www.terraform.io/docs/configuration/dependency-lock.html) +- [Terraform New Features in v0.14](https://learn.hashicorp.com/tutorials/terraform/provider-versioning?in=terraform/0-14) +- [AWS S3 Bucket Region - Read Only in AWS Provider V3.x](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/guides/version-3-upgrade#region-attribute-is-now-read-only) \ No newline at end of file diff --git a/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/terraform-manifests-old-v1/.terraform.lock.hcl b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/terraform-manifests-old-v1/.terraform.lock.hcl new file mode 100644 index 00000000..33acaed2 --- /dev/null +++ b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/terraform-manifests-old-v1/.terraform.lock.hcl @@ -0,0 +1,40 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/hashicorp/aws" { + version = "2.50.0" + constraints = ">= 2.0.0" + hashes = [ + "h1:aKw4NLrMEAflsl1OXCCz6Ewo4ay9dpgSpkNHujRXXO8=", + "zh:05be40c2d4ec798d6a64bdc9fa9de4c994cf8fe47997368bc0ce40120985b7a0", + "zh:14752329e73c68b63b68f971caaaf5248ceea9f2cdc166b3897d46ce96f25548", + "zh:291121fd0153945f5e21411ee5625b6ec688344af2afef193d1243a0762b3064", + "zh:49488c0d0fd6412f8e877c5b8839da13371dac87491c3bfae484ce9d7be67007", + "zh:5a8f55012dc61cb98ac116b09f2b1fe68a96174ba892ee1bae90e3137b779a5d", + "zh:77b68e5401c4977de5f172005f00dcfa724eb8ca938bd109bc74024c9550cb65", + "zh:8f0b3af9db522f92cdb93eec28c340c00b0679357b715eee70fc3f3777c26747", + "zh:9170bd7ef9a37bc960233bd9957ef46e1495b56bd329be4b0b578bfc744d5f0e", + "zh:a66344e70ad954529c395e2b58fe491d5cc27991654852a66c9a3572a4d48c6f", + "zh:b63e986afec187d6f708a37b64845d8e908c597902efe4eae7148ef07fa8aff5", + "zh:fcc6e9a1f8df9b8cde3d8bcb917294dd9b9283b6bb8db6435ad02fb9ff1fe410", + "zh:fdeaf059f86d0ab59cf68ece2e8cec522b506c47e2cfca7ba6125b1cd06b8680", + ] +} + +provider "registry.terraform.io/hashicorp/random" { + version = "3.0.0" + constraints = "3.0.0" + hashes = [ + "h1:yhHJpb4IfQQfuio7qjUXuUFTU/s+ensuEpm23A+VWz0=", + "zh:0fcb00ff8b87dcac1b0ee10831e47e0203a6c46aafd76cb140ba2bab81f02c6b", + "zh:123c984c0e04bad910c421028d18aa2ca4af25a153264aef747521f4e7c36a17", + "zh:287443bc6fd7fa9a4341dec235589293cbcc6e467a042ae225fd5d161e4e68dc", + "zh:2c1be5596dd3cca4859466885eaedf0345c8e7628503872610629e275d71b0d2", + "zh:684a2ef6f415287944a3d966c4c8cee82c20e393e096e2f7cdcb4b2528407f6b", + "zh:7625ccbc6ff17c2d5360ff2af7f9261c3f213765642dcd84e84ae02a3768fd51", + "zh:9a60811ab9e6a5bfa6352fbb943bb530acb6198282a49373283a8fa3aa2b43fc", + "zh:c73e0eaeea6c65b1cf5098b101d51a2789b054201ce7986a6d206a9e2dacaefd", + "zh:e8f9ed41ac83dbe407de9f0206ef1148204a0d51ba240318af801ffb3ee5f578", + "zh:fbdd0684e62563d3ac33425b0ac9439d543a3942465f4b26582bcfabcb149515", + ] +} diff --git a/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/terraform-manifests-old-v1/.terraform.lock.hcl-ORIGINAL b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/terraform-manifests-old-v1/.terraform.lock.hcl-ORIGINAL new file mode 100755 index 00000000..f990c81b --- /dev/null +++ b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/terraform-manifests-old-v1/.terraform.lock.hcl-ORIGINAL @@ -0,0 +1,40 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/hashicorp/aws" { + version = "2.50.0" + constraints = ">= 2.0.0" + hashes = [ + "h1:aKw4NLrMEAflsl1OXCCz6Ewo4ay9dpgSpkNHujRXXO8=", + "zh:05be40c2d4ec798d6a64bdc9fa9de4c994cf8fe47997368bc0ce40120985b7a0", + "zh:14752329e73c68b63b68f971caaaf5248ceea9f2cdc166b3897d46ce96f25548", + "zh:291121fd0153945f5e21411ee5625b6ec688344af2afef193d1243a0762b3064", + "zh:49488c0d0fd6412f8e877c5b8839da13371dac87491c3bfae484ce9d7be67007", + "zh:5a8f55012dc61cb98ac116b09f2b1fe68a96174ba892ee1bae90e3137b779a5d", + "zh:77b68e5401c4977de5f172005f00dcfa724eb8ca938bd109bc74024c9550cb65", + "zh:8f0b3af9db522f92cdb93eec28c340c00b0679357b715eee70fc3f3777c26747", + "zh:9170bd7ef9a37bc960233bd9957ef46e1495b56bd329be4b0b578bfc744d5f0e", + "zh:a66344e70ad954529c395e2b58fe491d5cc27991654852a66c9a3572a4d48c6f", + "zh:b63e986afec187d6f708a37b64845d8e908c597902efe4eae7148ef07fa8aff5", + "zh:fcc6e9a1f8df9b8cde3d8bcb917294dd9b9283b6bb8db6435ad02fb9ff1fe410", + "zh:fdeaf059f86d0ab59cf68ece2e8cec522b506c47e2cfca7ba6125b1cd06b8680", + ] +} + +provider "registry.terraform.io/hashicorp/random" { + version = "3.0.0" + constraints = "3.0.0" + hashes = [ + "h1:yhHJpb4IfQQfuio7qjUXuUFTU/s+ensuEpm23A+VWz0=", + "zh:0fcb00ff8b87dcac1b0ee10831e47e0203a6c46aafd76cb140ba2bab81f02c6b", + "zh:123c984c0e04bad910c421028d18aa2ca4af25a153264aef747521f4e7c36a17", + "zh:287443bc6fd7fa9a4341dec235589293cbcc6e467a042ae225fd5d161e4e68dc", + "zh:2c1be5596dd3cca4859466885eaedf0345c8e7628503872610629e275d71b0d2", + "zh:684a2ef6f415287944a3d966c4c8cee82c20e393e096e2f7cdcb4b2528407f6b", + "zh:7625ccbc6ff17c2d5360ff2af7f9261c3f213765642dcd84e84ae02a3768fd51", + "zh:9a60811ab9e6a5bfa6352fbb943bb530acb6198282a49373283a8fa3aa2b43fc", + "zh:c73e0eaeea6c65b1cf5098b101d51a2789b054201ce7986a6d206a9e2dacaefd", + "zh:e8f9ed41ac83dbe407de9f0206ef1148204a0d51ba240318af801ffb3ee5f578", + "zh:fbdd0684e62563d3ac33425b0ac9439d543a3942465f4b26582bcfabcb149515", + ] +} \ No newline at end of file diff --git a/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/terraform-manifests-old-v1/c1-versions.tf b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/terraform-manifests-old-v1/c1-versions.tf new file mode 100644 index 00000000..afd55097 --- /dev/null +++ b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/terraform-manifests-old-v1/c1-versions.tf @@ -0,0 +1,23 @@ +# Terraform Settings Block +terraform { + # Terraform Version + required_version = "~> 0.14.6" + required_providers { + # AWS Provider + aws = { + source = "hashicorp/aws" + version = ">= 2.0.0" + } + # Random Provider + random = { + source = "hashicorp/random" + version = "3.0.0" + } + } +} + +# Provider Block +provider "aws" { + region = "us-east-1" + profile = "default" # Defining it for default profile is Optional +} \ No newline at end of file diff --git a/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/terraform-manifests-old-v1/c2-s3bucket.tf b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/terraform-manifests-old-v1/c2-s3bucket.tf new file mode 100644 index 00000000..83e740ba --- /dev/null +++ b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/terraform-manifests-old-v1/c2-s3bucket.tf @@ -0,0 +1,12 @@ +# Resource Block: Create Random Pet Name +resource "random_pet" "petname" { + length = 5 + separator = "-" +} + +# Resource Block: Create AWS S3 Bucket +resource "aws_s3_bucket" "sample" { + bucket = random_pet.petname.id + acl = "public-read" + region = "us-east-1" # Comment this if we are going to use AWS Provider v3.x version +} diff --git a/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/terraform-manifests/.terraform.lock.hcl b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/terraform-manifests/.terraform.lock.hcl new file mode 100644 index 00000000..33acaed2 --- /dev/null +++ b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/terraform-manifests/.terraform.lock.hcl @@ -0,0 +1,40 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/hashicorp/aws" { + version = "2.50.0" + constraints = ">= 2.0.0" + hashes = [ + "h1:aKw4NLrMEAflsl1OXCCz6Ewo4ay9dpgSpkNHujRXXO8=", + "zh:05be40c2d4ec798d6a64bdc9fa9de4c994cf8fe47997368bc0ce40120985b7a0", + "zh:14752329e73c68b63b68f971caaaf5248ceea9f2cdc166b3897d46ce96f25548", + "zh:291121fd0153945f5e21411ee5625b6ec688344af2afef193d1243a0762b3064", + "zh:49488c0d0fd6412f8e877c5b8839da13371dac87491c3bfae484ce9d7be67007", + "zh:5a8f55012dc61cb98ac116b09f2b1fe68a96174ba892ee1bae90e3137b779a5d", + "zh:77b68e5401c4977de5f172005f00dcfa724eb8ca938bd109bc74024c9550cb65", + "zh:8f0b3af9db522f92cdb93eec28c340c00b0679357b715eee70fc3f3777c26747", + "zh:9170bd7ef9a37bc960233bd9957ef46e1495b56bd329be4b0b578bfc744d5f0e", + "zh:a66344e70ad954529c395e2b58fe491d5cc27991654852a66c9a3572a4d48c6f", + "zh:b63e986afec187d6f708a37b64845d8e908c597902efe4eae7148ef07fa8aff5", + "zh:fcc6e9a1f8df9b8cde3d8bcb917294dd9b9283b6bb8db6435ad02fb9ff1fe410", + "zh:fdeaf059f86d0ab59cf68ece2e8cec522b506c47e2cfca7ba6125b1cd06b8680", + ] +} + +provider "registry.terraform.io/hashicorp/random" { + version = "3.0.0" + constraints = "3.0.0" + hashes = [ + "h1:yhHJpb4IfQQfuio7qjUXuUFTU/s+ensuEpm23A+VWz0=", + "zh:0fcb00ff8b87dcac1b0ee10831e47e0203a6c46aafd76cb140ba2bab81f02c6b", + "zh:123c984c0e04bad910c421028d18aa2ca4af25a153264aef747521f4e7c36a17", + "zh:287443bc6fd7fa9a4341dec235589293cbcc6e467a042ae225fd5d161e4e68dc", + "zh:2c1be5596dd3cca4859466885eaedf0345c8e7628503872610629e275d71b0d2", + "zh:684a2ef6f415287944a3d966c4c8cee82c20e393e096e2f7cdcb4b2528407f6b", + "zh:7625ccbc6ff17c2d5360ff2af7f9261c3f213765642dcd84e84ae02a3768fd51", + "zh:9a60811ab9e6a5bfa6352fbb943bb530acb6198282a49373283a8fa3aa2b43fc", + "zh:c73e0eaeea6c65b1cf5098b101d51a2789b054201ce7986a6d206a9e2dacaefd", + "zh:e8f9ed41ac83dbe407de9f0206ef1148204a0d51ba240318af801ffb3ee5f578", + "zh:fbdd0684e62563d3ac33425b0ac9439d543a3942465f4b26582bcfabcb149515", + ] +} diff --git a/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/terraform-manifests/.terraform.lock.hcl-ORIGINAL b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/terraform-manifests/.terraform.lock.hcl-ORIGINAL new file mode 100755 index 00000000..f990c81b --- /dev/null +++ b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/terraform-manifests/.terraform.lock.hcl-ORIGINAL @@ -0,0 +1,40 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/hashicorp/aws" { + version = "2.50.0" + constraints = ">= 2.0.0" + hashes = [ + "h1:aKw4NLrMEAflsl1OXCCz6Ewo4ay9dpgSpkNHujRXXO8=", + "zh:05be40c2d4ec798d6a64bdc9fa9de4c994cf8fe47997368bc0ce40120985b7a0", + "zh:14752329e73c68b63b68f971caaaf5248ceea9f2cdc166b3897d46ce96f25548", + "zh:291121fd0153945f5e21411ee5625b6ec688344af2afef193d1243a0762b3064", + "zh:49488c0d0fd6412f8e877c5b8839da13371dac87491c3bfae484ce9d7be67007", + "zh:5a8f55012dc61cb98ac116b09f2b1fe68a96174ba892ee1bae90e3137b779a5d", + "zh:77b68e5401c4977de5f172005f00dcfa724eb8ca938bd109bc74024c9550cb65", + "zh:8f0b3af9db522f92cdb93eec28c340c00b0679357b715eee70fc3f3777c26747", + "zh:9170bd7ef9a37bc960233bd9957ef46e1495b56bd329be4b0b578bfc744d5f0e", + "zh:a66344e70ad954529c395e2b58fe491d5cc27991654852a66c9a3572a4d48c6f", + "zh:b63e986afec187d6f708a37b64845d8e908c597902efe4eae7148ef07fa8aff5", + "zh:fcc6e9a1f8df9b8cde3d8bcb917294dd9b9283b6bb8db6435ad02fb9ff1fe410", + "zh:fdeaf059f86d0ab59cf68ece2e8cec522b506c47e2cfca7ba6125b1cd06b8680", + ] +} + +provider "registry.terraform.io/hashicorp/random" { + version = "3.0.0" + constraints = "3.0.0" + hashes = [ + "h1:yhHJpb4IfQQfuio7qjUXuUFTU/s+ensuEpm23A+VWz0=", + "zh:0fcb00ff8b87dcac1b0ee10831e47e0203a6c46aafd76cb140ba2bab81f02c6b", + "zh:123c984c0e04bad910c421028d18aa2ca4af25a153264aef747521f4e7c36a17", + "zh:287443bc6fd7fa9a4341dec235589293cbcc6e467a042ae225fd5d161e4e68dc", + "zh:2c1be5596dd3cca4859466885eaedf0345c8e7628503872610629e275d71b0d2", + "zh:684a2ef6f415287944a3d966c4c8cee82c20e393e096e2f7cdcb4b2528407f6b", + "zh:7625ccbc6ff17c2d5360ff2af7f9261c3f213765642dcd84e84ae02a3768fd51", + "zh:9a60811ab9e6a5bfa6352fbb943bb530acb6198282a49373283a8fa3aa2b43fc", + "zh:c73e0eaeea6c65b1cf5098b101d51a2789b054201ce7986a6d206a9e2dacaefd", + "zh:e8f9ed41ac83dbe407de9f0206ef1148204a0d51ba240318af801ffb3ee5f578", + "zh:fbdd0684e62563d3ac33425b0ac9439d543a3942465f4b26582bcfabcb149515", + ] +} \ No newline at end of file diff --git a/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/terraform-manifests/c1-versions.tf b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..3d24f710 --- /dev/null +++ b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/terraform-manifests/c1-versions.tf @@ -0,0 +1,23 @@ +# Terraform Settings Block +terraform { + # Terraform Version + required_version = ">= 1.4.1" + required_providers { + # AWS Provider + aws = { + source = "hashicorp/aws" + version = ">= 2.0.0" + } + # Random Provider + random = { + source = "hashicorp/random" + version = "3.0.0" + } + } +} + +# Provider Block +provider "aws" { + region = "us-east-1" + profile = "default" # Defining it for default profile is Optional +} \ No newline at end of file diff --git a/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/terraform-manifests/c2-s3bucket.tf b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/terraform-manifests/c2-s3bucket.tf new file mode 100644 index 00000000..83e740ba --- /dev/null +++ b/BACKUP-2024/03-Terraform-Fundamental-Blocks/03-04-Providers-Dependency-Lock-File/terraform-manifests/c2-s3bucket.tf @@ -0,0 +1,12 @@ +# Resource Block: Create Random Pet Name +resource "random_pet" "petname" { + length = 5 + separator = "-" +} + +# Resource Block: Create AWS S3 Bucket +resource "aws_s3_bucket" "sample" { + bucket = random_pet.petname.id + acl = "public-read" + region = "us-east-1" # Comment this if we are going to use AWS Provider v3.x version +} diff --git a/BACKUP-2024/04-Terraform-Resources/04-01-Resource-Syntax-and-Behavior/README.md b/BACKUP-2024/04-Terraform-Resources/04-01-Resource-Syntax-and-Behavior/README.md new file mode 100644 index 00000000..9876c9af --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-01-Resource-Syntax-and-Behavior/README.md @@ -0,0 +1,144 @@ +# Terraform Resource Syntax & Behavior + +## Step-01: Introduction +- Understand Resource Syntax +- Understand Resource Behavior +- Understanding Terraform State File + - terraform.tfstate +- Understanding Desired and Current States (High Level Only) + +## Step-02: Understand Resource Syntax +- We are going to understand about below concepts from Resource Syntax perspective +- Resource Block +- Resource Type +- Resource Local Name +- Resource Arguments +- Resource Meta-Arguments + +## Step-03: Understand Resource Behavior +- We are going to understand resource behavior in combination with Terraform State + - Create Resource + - Update in-place Resources + - Destroy and Re-create Resources + - Destroy Resource + + +## Step-04: Resource: Create Resource: Create EC2 Instance +``` +# Initialize Terraform +terraform init + +Observation: +1) Successfully downloaded providers in .terraform folder +2) Created lock file named ".terraform.lock.hcl" + +# Validate Terraform configuration files +terraform validate +Observation: No files changed / added in current working directory + +# Format Terraform configuration files +terraform fmt +Observations: *.tf files will change to format them if any format changes exists + +# Review the terraform plan +terraform plan +Observation-1: Nothing happens during the first run from terraform state perspective +Observation-2: From Resource Behavior perspective you can see "+ create", we are creating + +# Create Resources +terraform apply -auto-approve +Observation: +1) Creates terraform.tfstate file in local working directory +2) Creates actual resource in AWS Cloud +``` +- **Important Note:** Here we have seen example for **Create Resource** + + +## Step-05: Understanding Terraform State File +- What is Terraform State ? + - It is the primary core thing for terraform to function + - In a short way, its the underlying database containing the resources information which are provisioning using Terraform + - **Primary Purpose:** To store bindings between objects in a remote system and resource instances declared in your configuration. + - When Terraform creates a remote object in response to a change of configuration, it will record the identity of that remote object against a particular resource instance, and then potentially update or delete that object in response to future configuration changes. +- Terraform state file created when we first run the `terraform apply` +- Terraform state file is created locally in working directory. +- If required, we can confiure the `backend block` in `terraform block` which will allow us to store state file remotely. Storing remotely is recommended option which we will see in the next section of the course. + +## Step-06: Review terraform.tfstate file +- Terraform State files are JSON based +- Manual editing of Terraform state files is highly not recommended +- Review `terraform.tfstate` file step by step + + +## Step-07: Resource: Update In-Place: Make changes by adding new tag to EC2 Instance +- Add a new tag in `c2-ec2-instance.tf` +``` +# Add this for EC2 Instance tags + "tag1" = "Update-test-1" +``` +- Review Terraform Plan +``` +# Review the terraform plan +terraform plan +Observation: You should see "~ update in-place" +"Plan: 0 to add, 1 to change, 0 to destroy." + +# Create / Update Resources +terraform apply -auto-approve +Observation: "Apply complete! Resources: 0 added, 1 changed, 0 destroyed." +``` +- **Important Note:** Here we have seen example for **update in-place** + + +## Step-08: Resource: Destroy and Re-create Resources: Update Availability Zone +- This will destroy the EC2 Instance in 1 AZ and re-creates in other AZ +``` +# Before + availability_zone = "us-east-1a" + +# After + availability_zone = "us-east-1b" +``` +``` +# Review the terraform plan +terraform plan +Observation: +1) -/+ destroy and then create replacement +2) # aws_instance.my-ec2-vm must be "replaced" +3) # aws_instance.my-ec2-vm must be "replaced" - This parameter forces replacement +4) "Plan: 1 to add, 0 to change, 1 to destroy." + +# Create / Update Resources +terraform apply -auto-approve +Observation: "Apply complete! Resources: 1 added, 0 changed, 1 destroyed." +``` + + +## Step-09: Resource: Destroy Resource +``` +# Destroy Resource +terraform destroy +Observation: +1) - destroy +2) # aws_instance.my-ec2-vm will be destroyed +3) Plan: 0 to add, 0 to change, 1 to destroy +4) Destroy complete! Resources: 1 destroyed +``` + +## Step-10: Understand Desired and Current States (High-Level Only) +- **Desired State:** Local Terraform Manifest (All *.tf files) +- **Current State:** Real Resources present in your cloud + +## Step-11: Clean-Up +``` +# Destroy Resource +terraform destroy -auto-approve + +# Remove Terraform Files +rm -rf .terraform* +rm -rf terraform.tfstate* +``` + +## References +- [Terraform State](https://www.terraform.io/docs/language/state/index.html) +- [Manipulating Terraform State](https://www.terraform.io/docs/cli/state/index.html) \ No newline at end of file diff --git a/BACKUP-2024/04-Terraform-Resources/04-01-Resource-Syntax-and-Behavior/terraform-manifests-oldv1/c1-versions.tf b/BACKUP-2024/04-Terraform-Resources/04-01-Resource-Syntax-and-Behavior/terraform-manifests-oldv1/c1-versions.tf new file mode 100644 index 00000000..e9cfb257 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-01-Resource-Syntax-and-Behavior/terraform-manifests-oldv1/c1-versions.tf @@ -0,0 +1,15 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = "us-east-1" +} diff --git a/BACKUP-2024/04-Terraform-Resources/04-01-Resource-Syntax-and-Behavior/terraform-manifests-oldv1/c2-ec2-instance.tf b/BACKUP-2024/04-Terraform-Resources/04-01-Resource-Syntax-and-Behavior/terraform-manifests-oldv1/c2-ec2-instance.tf new file mode 100644 index 00000000..3a0b2a5c --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-01-Resource-Syntax-and-Behavior/terraform-manifests-oldv1/c2-ec2-instance.tf @@ -0,0 +1,14 @@ +# Create EC2 Instance +# https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance + +resource "aws_instance" "my-ec2-vm" { + ami = "ami-047a51fa27710816e" + instance_type = "t2.micro" + availability_zone = "us-east-1a" + #availability_zone = "us-east-1b" + tags = { + "Name" = "web" + #"tag1" = "Update-test-1" + } +} + diff --git a/BACKUP-2024/04-Terraform-Resources/04-01-Resource-Syntax-and-Behavior/terraform-manifests/c1-versions.tf b/BACKUP-2024/04-Terraform-Resources/04-01-Resource-Syntax-and-Behavior/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..e0f580f9 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-01-Resource-Syntax-and-Behavior/terraform-manifests/c1-versions.tf @@ -0,0 +1,15 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = "us-east-1" +} diff --git a/BACKUP-2024/04-Terraform-Resources/04-01-Resource-Syntax-and-Behavior/terraform-manifests/c2-ec2-instance.tf b/BACKUP-2024/04-Terraform-Resources/04-01-Resource-Syntax-and-Behavior/terraform-manifests/c2-ec2-instance.tf new file mode 100644 index 00000000..3a0b2a5c --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-01-Resource-Syntax-and-Behavior/terraform-manifests/c2-ec2-instance.tf @@ -0,0 +1,14 @@ +# Create EC2 Instance +# https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance + +resource "aws_instance" "my-ec2-vm" { + ami = "ami-047a51fa27710816e" + instance_type = "t2.micro" + availability_zone = "us-east-1a" + #availability_zone = "us-east-1b" + tags = { + "Name" = "web" + #"tag1" = "Update-test-1" + } +} + diff --git a/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/README.md b/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/README.md new file mode 100644 index 00000000..cb69ca6f --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/README.md @@ -0,0 +1,221 @@ +# Terraform Resource Meta-Argument depends_on + +## Step-01: Introduction +- Create 9 aws resources in a step by step manner +- Create Terraform Block +- Create Provider Block +- Create 9 Resource Blocks + - Create VPC + - Create Subnet + - Create Internet Gateway + - Create Route Table + - Create Route in Route Table for Internet Access + - Associate Route Table with Subnet + - Create Security Group in the VPC with port 80, 22 as inbound open + - Create EC2 Instance in respective new vpc, new subnet created above with a static key pair, associate Security group created earlier + - Create Elastic IP Address and Associate to EC2 Instance + - Use `depends_on` Resource Meta-Argument attribute when creating Elastic IP + +## Step-02: Pre-requisite - Create a EC2 Key Pair +- Create EC2 Key pair `terraform-key` and download pem file and put ready for SSH login + +## Step-03: c1-versions.tf - Create Terraform & Provider Blocks +- Create Terraform Block +- Create Provider Block +``` +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = "us-east-1" + profile = "default" +} +``` +## Step-04: c2-vpc.tf - Create VPC Resources +### Step-04-01: Create VPC using AWS Management Console +- Create VPC Manually and understand all the resources we are going to create. Delete that VPC and start writing the VPC template using terraform +### Step-04-02: Create VPC using Terraform +- Create VPC Resources listed below + - Create VPC + - Create Subnet + - Create Internet Gateway + - Create Route Table + - Create Route in Route Table for Internet Access + - Associate Route Table with Subnet + - Create Security Group in the VPC with port 80, 22 as inbound open +``` +# Resource Block +# Resource-1: Create VPC +resource "aws_vpc" "vpc-dev" { + cidr_block = "10.0.0.0/16" + + tags = { + "name" = "vpc-dev" + } +} + +# Resource-2: Create Subnets +resource "aws_subnet" "vpc-dev-public-subnet-1" { + vpc_id = aws_vpc.vpc-dev.id + cidr_block = "10.0.1.0/24" + availability_zone = "us-east-1a" + map_public_ip_on_launch = true +} + + +# Resource-3: Internet Gateway +resource "aws_internet_gateway" "vpc-dev-igw" { + vpc_id = aws_vpc.vpc-dev.id +} + +# Resource-4: Create Route Table +resource "aws_route_table" "vpc-dev-public-route-table" { + vpc_id = aws_vpc.vpc-dev.id +} + +# Resource-5: Create Route in Route Table for Internet Access +resource "aws_route" "vpc-dev-public-route" { + route_table_id = aws_route_table.vpc-dev-public-route-table.id + destination_cidr_block = "0.0.0.0/0" + gateway_id = aws_internet_gateway.vpc-dev-igw.id +} + + +# Resource-6: Associate the Route Table with the Subnet +resource "aws_route_table_association" "vpc-dev-public-route-table-associate" { + route_table_id = aws_route_table.vpc-dev-public-route-table.id + subnet_id = aws_subnet.vpc-dev-public-subnet-1.id +} + +# Resource-7: Create Security Group +resource "aws_security_group" "dev-vpc-sg" { + name = "dev-vpc-default-sg" + vpc_id = aws_vpc.vpc-dev.id + description = "Dev VPC Default Security Group" + + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} +``` + +## Step-05: c3-ec2-instance.tf - Create EC2 Instance Resource +- Review `apache-install.sh` +```sh +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo service httpd start +sudo systemctl enable httpd +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" > /var/www/html/index.html +``` +- Create EC2 Instance Resource +``` +# Resource-8: Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = "ami-0be2609ba883822ec" # Amazon Linux + instance_type = "t2.micro" + subnet_id = aws_subnet.vpc-dev-public-subnet-1.id + key_name = "terraform-key" + #user_data = file("apache-install.sh") + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" > /var/www/html/index.html + EOF + vpc_security_group_ids = [ aws_security_group.dev-vpc-sg.id ] +} +``` + +## Step-06: c4-elastic-ip.tf - Create Elastic IP Resource +- Create Elastic IP Resource +- Add a Resource Meta-Argument `depends_on` ensuring Elastic IP gets created only after AWS Internet Gateway in a VPC is present or created +``` +# Resource-9: Create Elastic IP +resource "aws_eip" "my-eip" { + instance = aws_instance.my-ec2-vm.id + vpc = true + depends_on = [ aws_internet_gateway.vpc-dev-igw ] +} +``` + +## Step-07: Execute Terraform commands to Create Resources using Terraform +``` +# Initialize Terraform +terraform init + +# Terraform Validate +terraform validate + +# Terraform Plan to Verify what it is going to create / update / destroy +terraform plan + +# Terraform Apply to Create EC2 Instance +terraform apply +``` + +## Step-08: Verify the Resources +- Verify VPC +- Verify EC2 Instance +- Verify Elastic IP +- Review the `terraform.tfstate` file +- Access Apache Webserver Static page using Elastic IP +``` +# Access Application +http:// +``` + +## Step-09: Destroy Terraform Resources +``` +# Destroy Terraform Resources +terraform destroy + +# Remove Terraform Files +rm -rf .terraform* +rm -rf terraform.tfstate* +``` + +## References +- [Elastic IP creation depends on VPC Internet Gateway](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/eip) +- [Resource: aws_vpc](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc) +- [Resource: aws_subnet](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet) +- [Resource: aws_internet_gateway](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/internet_gateway) +- [Resource: aws_route_table](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route_table) +- [Resource: aws_route](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route) +- [Resource: aws_route_table_association](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route_table_association) +- [Resource: aws_security_group](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group) +- [Resource: aws_instance](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance) +- [Resource: aws_eip](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/eip) \ No newline at end of file diff --git a/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests-oldv1/apache-install.sh b/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests-oldv1/apache-install.sh new file mode 100644 index 00000000..b30cd785 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests-oldv1/apache-install.sh @@ -0,0 +1,7 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo service httpd start +sudo systemctl enable httpd +#echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" > /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests-oldv1/c1-versions.tf b/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests-oldv1/c1-versions.tf new file mode 100644 index 00000000..c337f26e --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests-oldv1/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14.6" # which means >= 0.14.6 and < 0.15 + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = "us-east-1" + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests-oldv1/c2-vpc.tf b/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests-oldv1/c2-vpc.tf new file mode 100644 index 00000000..e11befc2 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests-oldv1/c2-vpc.tf @@ -0,0 +1,70 @@ +# Resources Block +# Resource-1: Create VPC +resource "aws_vpc" "vpc-dev" { + cidr_block = "10.0.0.0/16" + tags = { + "Name" = "vpc-dev" + } +} + +# Resource-2: Create Subnets +resource "aws_subnet" "vpc-dev-public-subnet-1" { + vpc_id = aws_vpc.vpc-dev.id + cidr_block = "10.0.1.0/24" + availability_zone = "us-east-1a" + map_public_ip_on_launch = true +} + +# Resource-3: Internet Gateway +resource "aws_internet_gateway" "vpc-dev-igw" { + vpc_id = aws_vpc.vpc-dev.id +} + +# Resource-4: Create Route Table +resource "aws_route_table" "vpc-dev-public-route-table" { + vpc_id = aws_vpc.vpc-dev.id +} + +# Resource-5: Create Route in Route Table for Internet Access +resource "aws_route" "vpc-dev-public-route" { + route_table_id = aws_route_table.vpc-dev-public-route-table.id + destination_cidr_block = "0.0.0.0/0" + gateway_id = aws_internet_gateway.vpc-dev-igw.id +} + +# Resource-6: Associate the Route Table with the Subnet +resource "aws_route_table_association" "vpc-dev-public-route-table-associate" { + route_table_id = aws_route_table.vpc-dev-public-route-table.id + subnet_id = aws_subnet.vpc-dev-public-subnet-1.id +} + +# Resource-7: Create Security Group +resource "aws_security_group" "dev-vpc-sg" { + name = "dev-vpc-default-sg" + description = "Dev VPC Default Security Group" + vpc_id = aws_vpc.vpc-dev.id + + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all IP and Ports Outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} diff --git a/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests-oldv1/c3-ec2-instance.tf b/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests-oldv1/c3-ec2-instance.tf new file mode 100644 index 00000000..c504b90b --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests-oldv1/c3-ec2-instance.tf @@ -0,0 +1,23 @@ +# Resource-8: Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = "ami-047a51fa27710816e" # Amazon Linux + instance_type = "t2.micro" + key_name = "terraform-key" + subnet_id = aws_subnet.vpc-dev-public-subnet-1.id + vpc_security_group_ids = [aws_security_group.dev-vpc-sg.id] + #user_data = file("apache-install.sh") + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" > /var/www/html/index.html + EOF + tags = { + "Name" = "myec2vm" + } +} + + + diff --git a/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests-oldv1/c4-elastic-ip.tf b/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests-oldv1/c4-elastic-ip.tf new file mode 100644 index 00000000..f17ea230 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests-oldv1/c4-elastic-ip.tf @@ -0,0 +1,7 @@ +# Resource-9: Create Elastic IP +resource "aws_eip" "my-eip" { + instance = aws_instance.my-ec2-vm.id + vpc = true + # Meta-Argument + depends_on = [aws_internet_gateway.vpc-dev-igw] +} diff --git a/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests/apache-install.sh b/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests/apache-install.sh new file mode 100644 index 00000000..b30cd785 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests/apache-install.sh @@ -0,0 +1,7 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo service httpd start +sudo systemctl enable httpd +#echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" > /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests/c1-versions.tf b/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..397e9079 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = "us-east-1" + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests/c2-vpc.tf b/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests/c2-vpc.tf new file mode 100644 index 00000000..e11befc2 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests/c2-vpc.tf @@ -0,0 +1,70 @@ +# Resources Block +# Resource-1: Create VPC +resource "aws_vpc" "vpc-dev" { + cidr_block = "10.0.0.0/16" + tags = { + "Name" = "vpc-dev" + } +} + +# Resource-2: Create Subnets +resource "aws_subnet" "vpc-dev-public-subnet-1" { + vpc_id = aws_vpc.vpc-dev.id + cidr_block = "10.0.1.0/24" + availability_zone = "us-east-1a" + map_public_ip_on_launch = true +} + +# Resource-3: Internet Gateway +resource "aws_internet_gateway" "vpc-dev-igw" { + vpc_id = aws_vpc.vpc-dev.id +} + +# Resource-4: Create Route Table +resource "aws_route_table" "vpc-dev-public-route-table" { + vpc_id = aws_vpc.vpc-dev.id +} + +# Resource-5: Create Route in Route Table for Internet Access +resource "aws_route" "vpc-dev-public-route" { + route_table_id = aws_route_table.vpc-dev-public-route-table.id + destination_cidr_block = "0.0.0.0/0" + gateway_id = aws_internet_gateway.vpc-dev-igw.id +} + +# Resource-6: Associate the Route Table with the Subnet +resource "aws_route_table_association" "vpc-dev-public-route-table-associate" { + route_table_id = aws_route_table.vpc-dev-public-route-table.id + subnet_id = aws_subnet.vpc-dev-public-subnet-1.id +} + +# Resource-7: Create Security Group +resource "aws_security_group" "dev-vpc-sg" { + name = "dev-vpc-default-sg" + description = "Dev VPC Default Security Group" + vpc_id = aws_vpc.vpc-dev.id + + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all IP and Ports Outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} diff --git a/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests/c3-ec2-instance.tf b/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests/c3-ec2-instance.tf new file mode 100644 index 00000000..c504b90b --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests/c3-ec2-instance.tf @@ -0,0 +1,23 @@ +# Resource-8: Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = "ami-047a51fa27710816e" # Amazon Linux + instance_type = "t2.micro" + key_name = "terraform-key" + subnet_id = aws_subnet.vpc-dev-public-subnet-1.id + vpc_security_group_ids = [aws_security_group.dev-vpc-sg.id] + #user_data = file("apache-install.sh") + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" > /var/www/html/index.html + EOF + tags = { + "Name" = "myec2vm" + } +} + + + diff --git a/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests/c4-elastic-ip.tf b/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests/c4-elastic-ip.tf new file mode 100644 index 00000000..f17ea230 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-02-Meta-Argument-depends_on/terraform-manifests/c4-elastic-ip.tf @@ -0,0 +1,7 @@ +# Resource-9: Create Elastic IP +resource "aws_eip" "my-eip" { + instance = aws_instance.my-ec2-vm.id + vpc = true + # Meta-Argument + depends_on = [aws_internet_gateway.vpc-dev-igw] +} diff --git a/BACKUP-2024/04-Terraform-Resources/04-03-Meta-Argument-count/README.md b/BACKUP-2024/04-Terraform-Resources/04-03-Meta-Argument-count/README.md new file mode 100644 index 00000000..9245775a --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-03-Meta-Argument-count/README.md @@ -0,0 +1,80 @@ +# Terraform Resource Meta-Argument count + +## Step-01: Introduction +- Understand Resource Meta-Argument `count` +- Also implement count and count index practically + +## Step-02: Create 5 EC2 Instances using Terraform +- In general, 1 EC2 Instance Resource in Terraform equals to 1 EC2 Instance in Real AWS Cloud +- 5 EC2 Instance Resources = 5 EC2 Instances in AWS Cloud +- With `Meta-Argument count` this is going to become super simple. +- Lets see how. +```t +# Create EC2 Instance +resource "aws_instance" "web" { + ami = "ami-047a51fa27710816e" # Amazon Linux + instance_type = "t2.micro" + count = 5 + tags = { + "Name" = "web" + } +} +``` +- **Execute Terraform Commands** +```t +# Initialize Terraform +terraform init + +# Terraform Validate +terraform validate + +# Terraform Plan to Verify what it is going to create / update / destroy +terraform plan + +# Terraform Apply to Create EC2 Instance +terraform apply +``` +- Verify EC2 Instances and its Name + + +## Step-03: Understand about count index +- If we currently see all our EC2 Instances has the same name `web` +- Lets name them by using count index `web-0, web-1, web-2, web-3, web-4` +```t +# Create EC2 Instance +resource "aws_instance" "web" { + ami = "ami-047a51fa27710816e" # Amazon Linux + instance_type = "t2.micro" + count = 5 + tags = { + #"Name" = "web" + "Name" = "web-${count.index}" + } +} +``` +- **Execute Terraform Commands** +```t +# Terraform Validate +terraform validate + +# Terraform Plan to Verify what it is going to create / update / destroy +terraform plan + +# Terraform Apply to Create EC2 Instance +terraform apply +``` +- Verify EC2 Instances + + +## Step-04: Destroy Terraform Resources +```t +# Destroy Terraform Resources +terraform destroy + +# Remove Terraform Files +rm -rf .terraform* +rm -rf terraform.tfstate* +``` + +## References +- [Resources: Count Meta-Argument](https://www.terraform.io/docs/language/meta-arguments/count.html) \ No newline at end of file diff --git a/BACKUP-2024/04-Terraform-Resources/04-03-Meta-Argument-count/terraform-manifests-oldv1/c1-versions.tf b/BACKUP-2024/04-Terraform-Resources/04-03-Meta-Argument-count/terraform-manifests-oldv1/c1-versions.tf new file mode 100644 index 00000000..c99fa143 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-03-Meta-Argument-count/terraform-manifests-oldv1/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = "us-east-1" + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/04-Terraform-Resources/04-03-Meta-Argument-count/terraform-manifests-oldv1/c2-ec2-instance.tf b/BACKUP-2024/04-Terraform-Resources/04-03-Meta-Argument-count/terraform-manifests-oldv1/c2-ec2-instance.tf new file mode 100644 index 00000000..09bd6cc8 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-03-Meta-Argument-count/terraform-manifests-oldv1/c2-ec2-instance.tf @@ -0,0 +1,10 @@ +# Create EC2 Instance +resource "aws_instance" "web" { + ami = "ami-047a51fa27710816e" # Amazon Linux + instance_type = "t2.micro" + count = 5 + tags = { + "Name" = "web" + #"Name" = "web-${count.index}" + } +} diff --git a/BACKUP-2024/04-Terraform-Resources/04-03-Meta-Argument-count/terraform-manifests/c1-versions.tf b/BACKUP-2024/04-Terraform-Resources/04-03-Meta-Argument-count/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..397e9079 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-03-Meta-Argument-count/terraform-manifests/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = "us-east-1" + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/04-Terraform-Resources/04-03-Meta-Argument-count/terraform-manifests/c2-ec2-instance.tf b/BACKUP-2024/04-Terraform-Resources/04-03-Meta-Argument-count/terraform-manifests/c2-ec2-instance.tf new file mode 100644 index 00000000..09bd6cc8 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-03-Meta-Argument-count/terraform-manifests/c2-ec2-instance.tf @@ -0,0 +1,10 @@ +# Create EC2 Instance +resource "aws_instance" "web" { + ami = "ami-047a51fa27710816e" # Amazon Linux + instance_type = "t2.micro" + count = 5 + tags = { + "Name" = "web" + #"Name" = "web-${count.index}" + } +} diff --git a/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/README.md b/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/README.md new file mode 100644 index 00000000..9d16d3cb --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/README.md @@ -0,0 +1,126 @@ +# Terraform Resource Meta-Argument for_each + +## Step-01: Introduction +- Understand about Meta-Argument `for_each` +- Implement `for_each` with **Maps** +- Implement `for_each` with **Set of Strings** + +## Step-02: Implement for_each with Maps +- **Reference Folder:** v1-for_each-maps +- **Use case:** Create four S3 buckets using for_each maps +- **c2-s3bucket.tf** +```t +# Create S3 Bucket per environment with for_each and maps +# https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket + +resource "aws_s3_bucket" "mys3bucket" { + + # for_each Meta-Argument + for_each = { + dev = "my-dapp-bucket" + qa = "my-qapp-bucket" + stag = "my-sapp-bucket" + prod = "my-papp-bucket" + } + + bucket = "${each.key}-${each.value}" + #acl = "private" # This argument is deprecated, so commenting it. + + + tags = { + Environment = each.key + bucketname = "${each.key}-${each.value}" + eachvalue = each.value + } +} + +``` + +## Step-03: Execute Terraform Commands +```t +# Switch to Working Directory +cd v1-for_each-maps + +# Initialize Terraform +terraform init + +# Validate Terraform Configuration Files +terraform validate + +# Format Terraform Configuration Files +terraform fmt + +# Generate Terraform Plan +terraform plan +Observation: +1) Four buckets creation will be generated in plan +2) Review Resource Names ResourceType.ResourceLocalName[each.key] +2) Review bucket name (each.key+each.value) +3) Review bucket tags + +# Create Resources +terraform apply +Observation: +1) 4 S3 buckets should be created +2) Review bucket names and tags in AWS Management console + +# Destroy Resources +terraform destroy + +# Clean-Up +rm -rf .terraform* +rm -rf terraform.tfstate* +``` + + +## Step-04: Implement for_each with toset "Strings" +- **Reference Folder:** v2-for_each-toset +- **Use case:** Create four IAM Users using for_each toset strings +- **c2-iamuser.tf** +```t +# Create 4 IAM Users +resource "aws_iam_user" "myuser" { + for_each = toset( ["Jack", "James", "Madhu", "Dave"] ) + name = each.key +} +``` + +## Step-05: Execute Terraform Commands +```t +# Switch to Working Directory +cd v2-for_each-toset + +# Initialize Terraform +terraform init + +# Validate Terraform Configuration Files +terraform validate + +# Format Terraform Configuration Files +terraform fmt + +# Generate Terraform Plan +terraform plan +Observation: +1) Four IAM users creation will be generated in plan +2) Review Resource Names ResourceType.ResourceLocalName[each.key] +2) Review IAM User name (each.key) + +# Create Resources +terraform apply +Observation: +1) 4 IAM users should be created +2) Review IAM users in AWS Management console + +# Destroy Resources +terraform destroy + +# Clean-Up +rm -rf .terraform* +rm -rf terraform.tfstate* +``` + +## Reference +- [Resource Meta-Argument: for_each](https://www.terraform.io/docs/language/meta-arguments/for_each.html) +- [Resource: AWS S3 Bucket](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket) +- [Resource: AWS IAM User](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_user) \ No newline at end of file diff --git a/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/oldv1-backup/v1-for_each-maps/c1-versions.tf b/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/oldv1-backup/v1-for_each-maps/c1-versions.tf new file mode 100644 index 00000000..c99fa143 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/oldv1-backup/v1-for_each-maps/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = "us-east-1" + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/oldv1-backup/v1-for_each-maps/c2-s3bucket.tf b/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/oldv1-backup/v1-for_each-maps/c2-s3bucket.tf new file mode 100644 index 00000000..5b898f95 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/oldv1-backup/v1-for_each-maps/c2-s3bucket.tf @@ -0,0 +1,22 @@ +# Create S3 Bucket per environment with for_each and maps +# https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket + +resource "aws_s3_bucket" "mys3bucket" { + + # for_each Meta-Argument + for_each = { + dev = "my-dapp-bucket" + qa = "my-qapp-bucket" + stag = "my-sapp-bucket" + prod = "my-papp-bucket" + } + + bucket = "${each.key}-${each.value}" + acl = "private" + + tags = { + Environment = each.key + bucketname = "${each.key}-${each.value}" + eachvalue = each.value + } +} diff --git a/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/oldv1-backup/v2-for_each-toset/c1-versions.tf b/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/oldv1-backup/v2-for_each-toset/c1-versions.tf new file mode 100644 index 00000000..c99fa143 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/oldv1-backup/v2-for_each-toset/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = "us-east-1" + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/oldv1-backup/v2-for_each-toset/c2-iamuser.tf b/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/oldv1-backup/v2-for_each-toset/c2-iamuser.tf new file mode 100644 index 00000000..233e507a --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/oldv1-backup/v2-for_each-toset/c2-iamuser.tf @@ -0,0 +1,7 @@ +# Create 4 IAM Users +# https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_user + +resource "aws_iam_user" "myuser" { + for_each = toset(["TJack", "TJames", "TMadhu", "TDave"]) + name = each.key +} diff --git a/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/v1-for_each-maps/c1-versions.tf b/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/v1-for_each-maps/c1-versions.tf new file mode 100644 index 00000000..397e9079 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/v1-for_each-maps/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = "us-east-1" + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/v1-for_each-maps/c2-s3bucket.tf b/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/v1-for_each-maps/c2-s3bucket.tf new file mode 100644 index 00000000..f33f28d5 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/v1-for_each-maps/c2-s3bucket.tf @@ -0,0 +1,23 @@ +# Create S3 Bucket per environment with for_each and maps +# https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket + +resource "aws_s3_bucket" "mys3bucket" { + + # for_each Meta-Argument + for_each = { + dev = "my-dapp-bucket" + qa = "my-qapp-bucket" + stag = "my-sapp-bucket" + prod = "my-papp-bucket" + } + + bucket = "${each.key}-${each.value}" + #acl = "private" # This argument is deprecated, so commenting it. + + + tags = { + Environment = each.key + bucketname = "${each.key}-${each.value}" + eachvalue = each.value + } +} diff --git a/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/v2-for_each-toset/c1-versions.tf b/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/v2-for_each-toset/c1-versions.tf new file mode 100644 index 00000000..397e9079 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/v2-for_each-toset/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = "us-east-1" + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/v2-for_each-toset/c2-iamuser.tf b/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/v2-for_each-toset/c2-iamuser.tf new file mode 100644 index 00000000..233e507a --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-04-Meta-Argument-for_each/v2-for_each-toset/c2-iamuser.tf @@ -0,0 +1,7 @@ +# Create 4 IAM Users +# https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_user + +resource "aws_iam_user" "myuser" { + for_each = toset(["TJack", "TJames", "TMadhu", "TDave"]) + name = each.key +} diff --git a/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/README.md b/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/README.md new file mode 100644 index 00000000..8761d2eb --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/README.md @@ -0,0 +1,206 @@ +# Terraform Resource Meta-Argument lifecycle + +## Step-01: Introduction +- lifecyle Meta-Argument block contains 3 arguments + - create_before_destroy + - prevent_destroy + - ignore_changes +- Understand and implement each of these 3 things practically in a step by step manner + +## Step-02: lifecyle - create_before_destroy +- Default Behavior of a Resource: Destroy Resource & re-create Resource +- With Lifecycle Block we can change that using `create_before_destroy=true` + - First new resource will get created + - Second old resource will get destroyed +- **Add Lifecycle Block inside Resource Block to alter behavior** +```t + lifecycle { + create_before_destroy = true + } +``` +### Step-02-01: Observe without Lifecycle Block +```t +# Switch to Working Directory +cd v1-create_before_destroy + +# Initialize Terraform +terraform init + +# Validate Terraform Configuration Files +terraform validate + +# Format Terraform Configuration Files +terraform fmt + +# Generate Terraform Plan +terraform plan + +# Create Resources +terraform apply -auto-approve + +# Modify Resource Configuration +Change Availability Zone from us-east-1a to us-east-1b + +# Apply Changes +terraform apply -auto-approve +Observation: +1) First us-east-1a resource will be destroyed +2) Second us-east-1b resource will get +``` +### Step-02-02: With Lifecycle Block +- Add Lifecycle block in the resource (Uncomment lifecycle block) +```t +# Generate Terraform Plan +terraform plan + +# Apply Changes +terraform apply -auto-approve + +# Modify Resource Configuration +Change Availability Zone from us-east-1b to us-east-1a + +# Apply Changes +terraform apply -auto-approve +Observation: +1) First us-east-1a resource will get created +2) Second us-east-1b resource will get deleted +``` +### Step-02-03: Clean-Up Resources +```t +# Destroy Resources +terraform destroy -auto-approve + +# Clean-Up +rm -rf .terraform* +rm -rf terraform.tfstate* +``` + +## Step-03: lifecycle - prevent_destroy +### Step-03-01: Introduction +- This meta-argument, when set to true, will cause Terraform to reject with an error any plan that would destroy the infrastructure object associated with the resource, as long as the argument remains present in the configuration. +- This can be used as a measure of safety against the accidental replacement of objects that may be costly to reproduce, such as database instances +- However, it will make certain configuration changes impossible to apply, and will prevent the use of the `terraform destroy` command once such objects are created, and so this option should be used `sparingly`. +- Since this argument must be present in configuration for the protection to apply, note that this setting does not prevent the remote object from being destroyed if the resource block were removed from configuration entirely: in that case, the `prevent_destroy` setting is removed along with it, and so Terraform will allow the destroy operation to succeed. +```t + lifecycle { + prevent_destroy = true # Default is false + } +``` +### Step-03-02: Execute Terraform Commands +```t +# Switch to Working Directory +cd v2-prevent_destroy + +# Initialize Terraform +terraform init + +# Validate Terraform Configuration Files +terraform validate + +# Format Terraform Configuration Files +terraform fmt + +# Generate Terraform Plan +terraform plan + +# Create Resources +terraform apply -auto-approve + +# Destroy Resource +terraform destroy +Observation: +Kalyans-MacBook-Pro:v2-prevent_destroy kdaida$ terraform destroy -auto-approve +Error: Instance cannot be destroyed + on c2-ec2-instance.tf line 2: + 2: resource "aws_instance" "web" { +Resource aws_instance.web has lifecycle.prevent_destroy set, but the plan +calls for this resource to be destroyed. To avoid this error and continue with +the plan, either disable lifecycle.prevent_destroy or reduce the scope of the +plan using the -target flag. + + +# Remove/Comment Lifecycle block +- Remove or Comment lifecycle block and clean-up + +# Destroy Resource after removing lifecycle block +terraform destroy + +# Clean-Up +rm -rf .terraform* +rm -rf terraform.tfstate* +``` + + +## Step-04: lifecyle - ignore_changes +### Step-04-01: Create an EC2 Changes, make manual changes and understand the behavior +- Create EC2 Instance +```t +# Switch to Working Directory +cd v3-ignore_changes + +# Initialize Terraform +terraform init + +# Terraform Validate +terraform validate + +# Terraform Plan to Verify what it is going to create / update / destroy +terraform plan + +# Terraform Apply to Create EC2 Instance +terraform apply +``` +### Step-04-02: Update the tag by going to AWS management console +- Add a new tag manually to EC2 Instance +- Try `terraform apply` now +- Terraform will find the difference in configuration on remote side when compare to local and tries to remove the manual change when we execute `terraform apply` +```t +# Add new tag manually +WebServer = Apache + +# Terraform Plan to Verify what it is going to create / update / destroy +terraform plan + +# Terraform Apply to Create EC2 Instance +terraform apply +Observation: +1) It will remove the changes which we manually added using AWS Management console +``` + +### Step-04-03: Add the lifecyle - ignore_changes block +- Enable the block in `c2-ec2-instance.tf` + +```t + lifecycle { + ignore_changes = [ + # Ignore changes to tags, e.g. because a management agent + # updates these based on some ruleset managed elsewhere. + tags, + ] + } +``` +- Add new tags manually using AWS mgmt console for the EC2 Instance +```t +# Add new tag manually +WebServer = Apache2 +ignorechanges = test1 + +# Terraform Plan to Verify what it is going to create / update / destroy +terraform plan + +# Terraform Apply to Create EC2 Instance +terraform apply +Observation: +1) Manual changes should not be touched. They should be ignored by terraform +2) Verify the same on AWS management console + +# Destroy Resource +terraform destroy -auto-approve + +# Clean-Up +rm -rf .terraform* +rm -rf terraform.tfstate* +``` + +## References +- [Resource Meat-Argument: Lifecycle](https://www.terraform.io/docs/language/meta-arguments/lifecycle.html) \ No newline at end of file diff --git a/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/oldv1-backup/v1-create_before_destroy/c1-versions.tf b/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/oldv1-backup/v1-create_before_destroy/c1-versions.tf new file mode 100644 index 00000000..c99fa143 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/oldv1-backup/v1-create_before_destroy/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = "us-east-1" + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/oldv1-backup/v1-create_before_destroy/c2-ec2-instance.tf b/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/oldv1-backup/v1-create_before_destroy/c2-ec2-instance.tf new file mode 100644 index 00000000..4b5539a4 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/oldv1-backup/v1-create_before_destroy/c2-ec2-instance.tf @@ -0,0 +1,15 @@ +# Create EC2 Instance +resource "aws_instance" "web" { + ami = "ami-0915bcb5fa77e4892" # Amazon Linux + instance_type = "t2.micro" + availability_zone = "us-east-1a" + #availability_zone = "us-east-1b" + tags = { + "Name" = "web-1" + } + /* + lifecycle { + create_before_destroy = true + } +*/ +} diff --git a/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/oldv1-backup/v2-prevent_destroy/c1-versions.tf b/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/oldv1-backup/v2-prevent_destroy/c1-versions.tf new file mode 100644 index 00000000..c99fa143 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/oldv1-backup/v2-prevent_destroy/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = "us-east-1" + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/oldv1-backup/v2-prevent_destroy/c2-ec2-instance.tf b/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/oldv1-backup/v2-prevent_destroy/c2-ec2-instance.tf new file mode 100644 index 00000000..b296a02b --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/oldv1-backup/v2-prevent_destroy/c2-ec2-instance.tf @@ -0,0 +1,12 @@ +# Create EC2 Instance +resource "aws_instance" "web" { + ami = "ami-0915bcb5fa77e4892" # Amazon Linux + instance_type = "t2.micro" + tags = { + "Name" = "web-2" + } + lifecycle { + prevent_destroy = true # Default is false + } +} + diff --git a/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/oldv1-backup/v3-ignore_changes/c1-versions.tf b/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/oldv1-backup/v3-ignore_changes/c1-versions.tf new file mode 100644 index 00000000..c99fa143 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/oldv1-backup/v3-ignore_changes/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = "us-east-1" + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/oldv1-backup/v3-ignore_changes/c2-ec2-instance.tf b/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/oldv1-backup/v3-ignore_changes/c2-ec2-instance.tf new file mode 100644 index 00000000..d2828ec2 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/oldv1-backup/v3-ignore_changes/c2-ec2-instance.tf @@ -0,0 +1,17 @@ +# Create EC2 Instance +resource "aws_instance" "web" { + ami = "ami-0915bcb5fa77e4892" # Amazon Linux + instance_type = "t2.micro" + tags = { + "Name" = "web-3" + } +/* + lifecycle { + ignore_changes = [ + # Ignore changes to tags, e.g. because a management agent + # updates these based on some ruleset managed elsewhere. + tags, + ] + }*/ +} + diff --git a/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/v1-create_before_destroy/c1-versions.tf b/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/v1-create_before_destroy/c1-versions.tf new file mode 100644 index 00000000..397e9079 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/v1-create_before_destroy/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = "us-east-1" + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/v1-create_before_destroy/c2-ec2-instance.tf b/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/v1-create_before_destroy/c2-ec2-instance.tf new file mode 100644 index 00000000..4b5539a4 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/v1-create_before_destroy/c2-ec2-instance.tf @@ -0,0 +1,15 @@ +# Create EC2 Instance +resource "aws_instance" "web" { + ami = "ami-0915bcb5fa77e4892" # Amazon Linux + instance_type = "t2.micro" + availability_zone = "us-east-1a" + #availability_zone = "us-east-1b" + tags = { + "Name" = "web-1" + } + /* + lifecycle { + create_before_destroy = true + } +*/ +} diff --git a/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/v2-prevent_destroy/c1-versions.tf b/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/v2-prevent_destroy/c1-versions.tf new file mode 100644 index 00000000..6b57c6e1 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/v2-prevent_destroy/c1-versions.tf @@ -0,0 +1,19 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} +# Provider Block +provider "aws" { + region = "us-east-1" + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/v2-prevent_destroy/c2-ec2-instance.tf b/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/v2-prevent_destroy/c2-ec2-instance.tf new file mode 100644 index 00000000..b296a02b --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/v2-prevent_destroy/c2-ec2-instance.tf @@ -0,0 +1,12 @@ +# Create EC2 Instance +resource "aws_instance" "web" { + ami = "ami-0915bcb5fa77e4892" # Amazon Linux + instance_type = "t2.micro" + tags = { + "Name" = "web-2" + } + lifecycle { + prevent_destroy = true # Default is false + } +} + diff --git a/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/v3-ignore_changes/c1-versions.tf b/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/v3-ignore_changes/c1-versions.tf new file mode 100644 index 00000000..397e9079 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/v3-ignore_changes/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = "us-east-1" + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/v3-ignore_changes/c2-ec2-instance.tf b/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/v3-ignore_changes/c2-ec2-instance.tf new file mode 100644 index 00000000..d2828ec2 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-05-Meta-Argument-lifecycle/v3-ignore_changes/c2-ec2-instance.tf @@ -0,0 +1,17 @@ +# Create EC2 Instance +resource "aws_instance" "web" { + ami = "ami-0915bcb5fa77e4892" # Amazon Linux + instance_type = "t2.micro" + tags = { + "Name" = "web-3" + } +/* + lifecycle { + ignore_changes = [ + # Ignore changes to tags, e.g. because a management agent + # updates these based on some ruleset managed elsewhere. + tags, + ] + }*/ +} + diff --git a/BACKUP-2024/04-Terraform-Resources/04-06-Provisioners/README.md b/BACKUP-2024/04-Terraform-Resources/04-06-Provisioners/README.md new file mode 100644 index 00000000..84803d68 --- /dev/null +++ b/BACKUP-2024/04-Terraform-Resources/04-06-Provisioners/README.md @@ -0,0 +1,2 @@ +# Provisioners +- We are going to learn Terraform Provisioners in detail in [Section-09](https://github.com/stacksimplify/hashicorp-certified-terraform-associate/tree/master/09-Terraform-Provisioners) of this course. diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v1-Input-Variables-Basic/apache-install.sh b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v1-Input-Variables-Basic/apache-install.sh new file mode 100644 index 00000000..69bcae96 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v1-Input-Variables-Basic/apache-install.sh @@ -0,0 +1,6 @@ +#!/bin/bash +sudo yum update -y +sudo yum install httpd -y +sudo systemctl enable httpd +sudo systemctl start httpd +echo "
Welcome to StackSimplify ! AWS Infra created using Terraform
" > /var/www/html/index.html diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v1-Input-Variables-Basic/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v1-Input-Variables-Basic/c1-versions.tf new file mode 100644 index 00000000..a305835c --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v1-Input-Variables-Basic/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v1-Input-Variables-Basic/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v1-Input-Variables-Basic/c2-variables.tf new file mode 100644 index 00000000..12cf7706 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v1-Input-Variables-Basic/c2-variables.tf @@ -0,0 +1,18 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS resources to be created" + type = string + default = "us-east-1" +} + +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0915bcb5fa77e4892" # Amazon2 Linux AMI ID +} + +variable "ec2_instance_count" { + description = "EC2 Instance Count" + type = number + default = 1 +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v1-Input-Variables-Basic/c3-security-groups.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v1-Input-Variables-Basic/c3-security-groups.tf new file mode 100644 index 00000000..ab637234 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v1-Input-Variables-Basic/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC Web" + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v1-Input-Variables-Basic/c4-ec2-instance.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v1-Input-Variables-Basic/c4-ec2-instance.tf new file mode 100644 index 00000000..3fd9c993 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v1-Input-Variables-Basic/c4-ec2-instance.tf @@ -0,0 +1,19 @@ +# Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = var.ec2_ami_id + instance_type = "t3.micro" + key_name = "terraform-key" + count = var.ec2_instance_count + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" > /var/www/html/index.html + EOF + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "myec2vm" + } +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v10-Sensitive-Input-Variables/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v10-Sensitive-Input-Variables/c1-versions.tf new file mode 100644 index 00000000..a305835c --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v10-Sensitive-Input-Variables/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v10-Sensitive-Input-Variables/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v10-Sensitive-Input-Variables/c2-variables.tf new file mode 100644 index 00000000..dfe8ba6a --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v10-Sensitive-Input-Variables/c2-variables.tf @@ -0,0 +1,21 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "db_username" { + description = "AWS RDS Database Administrator Username" + type = string + sensitive = true +} + +variable "db_password" { + description = "AWS RDS Database Administrator Password" + type = string + sensitive = true +} + + + diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v10-Sensitive-Input-Variables/c3-rds-db.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v10-Sensitive-Input-Variables/c3-rds-db.tf new file mode 100644 index 00000000..b94dfccf --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v10-Sensitive-Input-Variables/c3-rds-db.tf @@ -0,0 +1,11 @@ +# Warning: Never check sensitive values like usernames and passwords into source control. +# Create RDS MySQL Database +resource "aws_db_instance" "db1" { + allocated_storage = 5 + engine = "mysql" + instance_class = "db.t2.micro" + name = "mydb1" + username = var.db_username + password = var.db_password + skip_final_snapshot = true +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v10-Sensitive-Input-Variables/secrets.tfvars b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v10-Sensitive-Input-Variables/secrets.tfvars new file mode 100644 index 00000000..df596ce0 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v10-Sensitive-Input-Variables/secrets.tfvars @@ -0,0 +1,2 @@ +db_username = "admin" +db_password = "insecurepassword" \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v11-File-Function/apache-install.sh b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v11-File-Function/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v11-File-Function/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v11-File-Function/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v11-File-Function/c1-versions.tf new file mode 100644 index 00000000..a305835c --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v11-File-Function/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v11-File-Function/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v11-File-Function/c2-variables.tf new file mode 100644 index 00000000..fc370401 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v11-File-Function/c2-variables.tf @@ -0,0 +1,24 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0915bcb5fa77e4892" +} + +variable "ec2_instance_count" { + description = "EC2 Instance Count" + type = number + default = 1 +} + +variable "ec2_instance_type" { + description = "EC2 Instance Type" + type = string + default = "t3.micro" +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v11-File-Function/c3-security-groups.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v11-File-Function/c3-security-groups.tf new file mode 100644 index 00000000..ab637234 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v11-File-Function/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC Web" + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v11-File-Function/c4-ec2-instance.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v11-File-Function/c4-ec2-instance.tf new file mode 100644 index 00000000..248366bd --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v11-File-Function/c4-ec2-instance.tf @@ -0,0 +1,24 @@ +# Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = var.ec2_ami_id + instance_type = var.ec2_instance_type + key_name = "terraform-key" + count = var.ec2_instance_count + user_data = file("apache-install.sh") + /* + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "
Welcome to StackSimplify ! AWS Infra created using Terraform
" > /var/www/html/index.html + EOF + */ + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "web" + } +} + + diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v2-Input-Variables-Assign-when-prompted/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v2-Input-Variables-Assign-when-prompted/c1-versions.tf new file mode 100644 index 00000000..a305835c --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v2-Input-Variables-Assign-when-prompted/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v2-Input-Variables-Assign-when-prompted/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v2-Input-Variables-Assign-when-prompted/c2-variables.tf new file mode 100644 index 00000000..2b5006c8 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v2-Input-Variables-Assign-when-prompted/c2-variables.tf @@ -0,0 +1,24 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS resources to be created" + type = string + default = "us-east-1" +} + +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0915bcb5fa77e4892" # Amazon2 Linux AMI ID +} + +variable "ec2_instance_count" { + description = "EC2 Instance Count" + type = number + default = 1 +} + +# Assign When Prompted using CLI +variable "ec2_instance_type" { + description = "EC2 Instance Type" + type = string +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v2-Input-Variables-Assign-when-prompted/c3-security-groups.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v2-Input-Variables-Assign-when-prompted/c3-security-groups.tf new file mode 100644 index 00000000..ab637234 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v2-Input-Variables-Assign-when-prompted/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC Web" + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v2-Input-Variables-Assign-when-prompted/c4-ec2-instance.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v2-Input-Variables-Assign-when-prompted/c4-ec2-instance.tf new file mode 100644 index 00000000..41cf3c38 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v2-Input-Variables-Assign-when-prompted/c4-ec2-instance.tf @@ -0,0 +1,19 @@ +# Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = var.ec2_ami_id + instance_type = var.ec2_instance_type + key_name = "terraform-key" + count = var.ec2_instance_count + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" > /var/www/html/index.html + EOF + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "myec2vm" + } +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v3-Input-Variables-Override-default-with-cli-var/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v3-Input-Variables-Override-default-with-cli-var/c1-versions.tf new file mode 100644 index 00000000..a305835c --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v3-Input-Variables-Override-default-with-cli-var/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v3-Input-Variables-Override-default-with-cli-var/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v3-Input-Variables-Override-default-with-cli-var/c2-variables.tf new file mode 100644 index 00000000..1032f611 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v3-Input-Variables-Override-default-with-cli-var/c2-variables.tf @@ -0,0 +1,24 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS resources to be created" + type = string + default = "us-east-1" +} + +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0915bcb5fa77e4892" # Amazon2 Linux AMI ID +} + +variable "ec2_instance_count" { + description = "EC2 Instance Count" + type = number + default = 2 +} + +variable "ec2_instance_type" { + description = "EC2 Instance Type" + type = string + default = "t3.micro" +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v3-Input-Variables-Override-default-with-cli-var/c3-security-groups.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v3-Input-Variables-Override-default-with-cli-var/c3-security-groups.tf new file mode 100644 index 00000000..ab637234 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v3-Input-Variables-Override-default-with-cli-var/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC Web" + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v3-Input-Variables-Override-default-with-cli-var/c4-ec2-instance.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v3-Input-Variables-Override-default-with-cli-var/c4-ec2-instance.tf new file mode 100644 index 00000000..41cf3c38 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v3-Input-Variables-Override-default-with-cli-var/c4-ec2-instance.tf @@ -0,0 +1,19 @@ +# Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = var.ec2_ami_id + instance_type = var.ec2_instance_type + key_name = "terraform-key" + count = var.ec2_instance_count + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" > /var/www/html/index.html + EOF + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "myec2vm" + } +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v4-Input-Variables-Override-with-Environment-Variables/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v4-Input-Variables-Override-with-Environment-Variables/c1-versions.tf new file mode 100644 index 00000000..a305835c --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v4-Input-Variables-Override-with-Environment-Variables/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v4-Input-Variables-Override-with-Environment-Variables/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v4-Input-Variables-Override-with-Environment-Variables/c2-variables.tf new file mode 100644 index 00000000..1032f611 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v4-Input-Variables-Override-with-Environment-Variables/c2-variables.tf @@ -0,0 +1,24 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS resources to be created" + type = string + default = "us-east-1" +} + +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0915bcb5fa77e4892" # Amazon2 Linux AMI ID +} + +variable "ec2_instance_count" { + description = "EC2 Instance Count" + type = number + default = 2 +} + +variable "ec2_instance_type" { + description = "EC2 Instance Type" + type = string + default = "t3.micro" +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v4-Input-Variables-Override-with-Environment-Variables/c3-security-groups.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v4-Input-Variables-Override-with-Environment-Variables/c3-security-groups.tf new file mode 100644 index 00000000..ab637234 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v4-Input-Variables-Override-with-Environment-Variables/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC Web" + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v4-Input-Variables-Override-with-Environment-Variables/c4-ec2-instance.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v4-Input-Variables-Override-with-Environment-Variables/c4-ec2-instance.tf new file mode 100644 index 00000000..41cf3c38 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v4-Input-Variables-Override-with-Environment-Variables/c4-ec2-instance.tf @@ -0,0 +1,19 @@ +# Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = var.ec2_ami_id + instance_type = var.ec2_instance_type + key_name = "terraform-key" + count = var.ec2_instance_count + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" > /var/www/html/index.html + EOF + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "myec2vm" + } +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v5-Input-Variables-Assign-with-terraform-tfvars/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v5-Input-Variables-Assign-with-terraform-tfvars/c1-versions.tf new file mode 100644 index 00000000..a305835c --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v5-Input-Variables-Assign-with-terraform-tfvars/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v5-Input-Variables-Assign-with-terraform-tfvars/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v5-Input-Variables-Assign-with-terraform-tfvars/c2-variables.tf new file mode 100644 index 00000000..1032f611 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v5-Input-Variables-Assign-with-terraform-tfvars/c2-variables.tf @@ -0,0 +1,24 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS resources to be created" + type = string + default = "us-east-1" +} + +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0915bcb5fa77e4892" # Amazon2 Linux AMI ID +} + +variable "ec2_instance_count" { + description = "EC2 Instance Count" + type = number + default = 2 +} + +variable "ec2_instance_type" { + description = "EC2 Instance Type" + type = string + default = "t3.micro" +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v5-Input-Variables-Assign-with-terraform-tfvars/c3-security-groups.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v5-Input-Variables-Assign-with-terraform-tfvars/c3-security-groups.tf new file mode 100644 index 00000000..ab637234 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v5-Input-Variables-Assign-with-terraform-tfvars/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC Web" + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v5-Input-Variables-Assign-with-terraform-tfvars/c4-ec2-instance.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v5-Input-Variables-Assign-with-terraform-tfvars/c4-ec2-instance.tf new file mode 100644 index 00000000..41cf3c38 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v5-Input-Variables-Assign-with-terraform-tfvars/c4-ec2-instance.tf @@ -0,0 +1,19 @@ +# Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = var.ec2_ami_id + instance_type = var.ec2_instance_type + key_name = "terraform-key" + count = var.ec2_instance_count + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" > /var/www/html/index.html + EOF + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "myec2vm" + } +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v5-Input-Variables-Assign-with-terraform-tfvars/terraform.tfvars b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v5-Input-Variables-Assign-with-terraform-tfvars/terraform.tfvars new file mode 100644 index 00000000..0265af26 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v5-Input-Variables-Assign-with-terraform-tfvars/terraform.tfvars @@ -0,0 +1,2 @@ +ec2_instance_count = 1 +ec2_instance_type = "t3.small" \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v6-Input-Variables-Assign-with-tfvars-var-file/app.tfvars b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v6-Input-Variables-Assign-with-tfvars-var-file/app.tfvars new file mode 100644 index 00000000..a555fec4 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v6-Input-Variables-Assign-with-tfvars-var-file/app.tfvars @@ -0,0 +1 @@ +ec2_instance_type = "t3.xlarge" \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v6-Input-Variables-Assign-with-tfvars-var-file/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v6-Input-Variables-Assign-with-tfvars-var-file/c1-versions.tf new file mode 100644 index 00000000..a305835c --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v6-Input-Variables-Assign-with-tfvars-var-file/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v6-Input-Variables-Assign-with-tfvars-var-file/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v6-Input-Variables-Assign-with-tfvars-var-file/c2-variables.tf new file mode 100644 index 00000000..1032f611 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v6-Input-Variables-Assign-with-tfvars-var-file/c2-variables.tf @@ -0,0 +1,24 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS resources to be created" + type = string + default = "us-east-1" +} + +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0915bcb5fa77e4892" # Amazon2 Linux AMI ID +} + +variable "ec2_instance_count" { + description = "EC2 Instance Count" + type = number + default = 2 +} + +variable "ec2_instance_type" { + description = "EC2 Instance Type" + type = string + default = "t3.micro" +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v6-Input-Variables-Assign-with-tfvars-var-file/c3-security-groups.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v6-Input-Variables-Assign-with-tfvars-var-file/c3-security-groups.tf new file mode 100644 index 00000000..ab637234 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v6-Input-Variables-Assign-with-tfvars-var-file/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC Web" + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v6-Input-Variables-Assign-with-tfvars-var-file/c4-ec2-instance.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v6-Input-Variables-Assign-with-tfvars-var-file/c4-ec2-instance.tf new file mode 100644 index 00000000..41cf3c38 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v6-Input-Variables-Assign-with-tfvars-var-file/c4-ec2-instance.tf @@ -0,0 +1,19 @@ +# Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = var.ec2_ami_id + instance_type = var.ec2_instance_type + key_name = "terraform-key" + count = var.ec2_instance_count + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" > /var/www/html/index.html + EOF + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "myec2vm" + } +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v6-Input-Variables-Assign-with-tfvars-var-file/terraform.tfvars b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v6-Input-Variables-Assign-with-tfvars-var-file/terraform.tfvars new file mode 100644 index 00000000..bb77eafa --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v6-Input-Variables-Assign-with-tfvars-var-file/terraform.tfvars @@ -0,0 +1 @@ +ec2_instance_count = 1 diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v6-Input-Variables-Assign-with-tfvars-var-file/web.tfvars b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v6-Input-Variables-Assign-with-tfvars-var-file/web.tfvars new file mode 100644 index 00000000..ebb5fe3f --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v6-Input-Variables-Assign-with-tfvars-var-file/web.tfvars @@ -0,0 +1 @@ +ec2_instance_type = "t3.large" \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v7-Input-Variables-Assign-with-auto-tfvars/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v7-Input-Variables-Assign-with-auto-tfvars/c1-versions.tf new file mode 100644 index 00000000..e33a7dd1 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v7-Input-Variables-Assign-with-auto-tfvars/c1-versions.tf @@ -0,0 +1,21 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ + diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v7-Input-Variables-Assign-with-auto-tfvars/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v7-Input-Variables-Assign-with-auto-tfvars/c2-variables.tf new file mode 100644 index 00000000..1032f611 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v7-Input-Variables-Assign-with-auto-tfvars/c2-variables.tf @@ -0,0 +1,24 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS resources to be created" + type = string + default = "us-east-1" +} + +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0915bcb5fa77e4892" # Amazon2 Linux AMI ID +} + +variable "ec2_instance_count" { + description = "EC2 Instance Count" + type = number + default = 2 +} + +variable "ec2_instance_type" { + description = "EC2 Instance Type" + type = string + default = "t3.micro" +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v7-Input-Variables-Assign-with-auto-tfvars/c3-security-groups.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v7-Input-Variables-Assign-with-auto-tfvars/c3-security-groups.tf new file mode 100644 index 00000000..ab637234 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v7-Input-Variables-Assign-with-auto-tfvars/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC Web" + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v7-Input-Variables-Assign-with-auto-tfvars/c4-ec2-instance.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v7-Input-Variables-Assign-with-auto-tfvars/c4-ec2-instance.tf new file mode 100644 index 00000000..41cf3c38 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v7-Input-Variables-Assign-with-auto-tfvars/c4-ec2-instance.tf @@ -0,0 +1,19 @@ +# Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = var.ec2_ami_id + instance_type = var.ec2_instance_type + key_name = "terraform-key" + count = var.ec2_instance_count + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" > /var/www/html/index.html + EOF + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "myec2vm" + } +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v7-Input-Variables-Assign-with-auto-tfvars/terraform.tfvars b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v7-Input-Variables-Assign-with-auto-tfvars/terraform.tfvars new file mode 100644 index 00000000..bb77eafa --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v7-Input-Variables-Assign-with-auto-tfvars/terraform.tfvars @@ -0,0 +1 @@ +ec2_instance_count = 1 diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v7-Input-Variables-Assign-with-auto-tfvars/web.auto.tfvars b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v7-Input-Variables-Assign-with-auto-tfvars/web.auto.tfvars new file mode 100644 index 00000000..a555fec4 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v7-Input-Variables-Assign-with-auto-tfvars/web.auto.tfvars @@ -0,0 +1 @@ +ec2_instance_type = "t3.xlarge" \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v8-01-Input-Variables-Lists/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v8-01-Input-Variables-Lists/c1-versions.tf new file mode 100644 index 00000000..a305835c --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v8-01-Input-Variables-Lists/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v8-01-Input-Variables-Lists/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v8-01-Input-Variables-Lists/c2-variables.tf new file mode 100644 index 00000000..2955b1f1 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v8-01-Input-Variables-Lists/c2-variables.tf @@ -0,0 +1,24 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS resources to be created" + type = string + default = "us-east-1" +} + +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0915bcb5fa77e4892" # Amazon2 Linux AMI ID +} + +variable "ec2_instance_count" { + description = "EC2 Instance Count" + type = number + default = 2 +} + +variable "ec2_instance_type" { + description = "EC2 Instance Type" + type = list(string) + default = ["t3.micro", "t3.small", "t3.large"] +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v8-01-Input-Variables-Lists/c3-security-groups.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v8-01-Input-Variables-Lists/c3-security-groups.tf new file mode 100644 index 00000000..ab637234 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v8-01-Input-Variables-Lists/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC Web" + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v8-01-Input-Variables-Lists/c4-ec2-instance.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v8-01-Input-Variables-Lists/c4-ec2-instance.tf new file mode 100644 index 00000000..9cb72ad3 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v8-01-Input-Variables-Lists/c4-ec2-instance.tf @@ -0,0 +1,19 @@ +# Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = var.ec2_ami_id + instance_type = var.ec2_instance_type[0] + key_name = "terraform-key" + count = var.ec2_instance_count + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" > /var/www/html/index.html + EOF + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "myec2vm" + } +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v8-02-Input-Variables-Maps/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v8-02-Input-Variables-Maps/c1-versions.tf new file mode 100644 index 00000000..a305835c --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v8-02-Input-Variables-Maps/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v8-02-Input-Variables-Maps/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v8-02-Input-Variables-Maps/c2-variables.tf new file mode 100644 index 00000000..791581f6 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v8-02-Input-Variables-Maps/c2-variables.tf @@ -0,0 +1,46 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS resources to be created" + type = string + default = "us-east-1" +} + +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0915bcb5fa77e4892" # Amazon2 Linux AMI ID +} + +variable "ec2_instance_count" { + description = "EC2 Instance Count" + type = number + default = 2 +} + +/* +variable "ec2_instance_type" { + description = "EC2 Instance Type" + type = list(string) + default = ["t3.micro", "t3.small", "t3.large"] +} +*/ + + +variable "ec2_instance_tags" { + description = "EC2 Instance Tags" + type = map(string) + default = { + "Name" = "ec2-web" + "Tier" = "Web" + } +} + +variable "ec2_instance_type_map" { + description = "EC2 Instance Type" + type = map(string) + default = { + "small-apps" = "t3.micro" + "medium-apps" = "t3.medium" + "big-apps" = "t3.large" + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v8-02-Input-Variables-Maps/c3-security-groups.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v8-02-Input-Variables-Maps/c3-security-groups.tf new file mode 100644 index 00000000..ab637234 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v8-02-Input-Variables-Maps/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC Web" + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v8-02-Input-Variables-Maps/c4-ec2-instance.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v8-02-Input-Variables-Maps/c4-ec2-instance.tf new file mode 100644 index 00000000..6aedd44b --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v8-02-Input-Variables-Maps/c4-ec2-instance.tf @@ -0,0 +1,18 @@ +# Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = var.ec2_ami_id + #instance_type = var.ec2_instance_type[0] + instance_type = var.ec2_instance_type_map["big-apps"] + key_name = "terraform-key" + count = var.ec2_instance_count + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" > /var/www/html/index.html + EOF + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = var.ec2_instance_tags +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v9-Input-Variables-Validation-Rules/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v9-Input-Variables-Validation-Rules/c1-versions.tf new file mode 100644 index 00000000..a305835c --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v9-Input-Variables-Validation-Rules/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v9-Input-Variables-Validation-Rules/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v9-Input-Variables-Validation-Rules/c2-variables.tf new file mode 100644 index 00000000..fbce3a92 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v9-Input-Variables-Validation-Rules/c2-variables.tf @@ -0,0 +1,28 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS resources to be created" + type = string + default = "us-east-1" +} + +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0915bcb5fa77e4892" # Amazon2 Linux AMI ID + validation { + condition = length(var.ec2_ami_id) > 4 && substr(var.ec2_ami_id, 0, 4) == "ami-" + error_message = "The ec2_ami_id value must be a valid AMI id, starting with \"ami-\"." + } +} + +variable "ec2_instance_count" { + description = "EC2 Instance Count" + type = number + default = 1 +} + +variable "ec2_instance_type" { + description = "EC2 Instance Type" + type = string + default = "t3.micro" +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v9-Input-Variables-Validation-Rules/c3-security-groups.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v9-Input-Variables-Validation-Rules/c3-security-groups.tf new file mode 100644 index 00000000..ab637234 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v9-Input-Variables-Validation-Rules/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC Web" + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v9-Input-Variables-Validation-Rules/c4-ec2-instance.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v9-Input-Variables-Validation-Rules/c4-ec2-instance.tf new file mode 100644 index 00000000..41cf3c38 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/Oldv1-backup/v9-Input-Variables-Validation-Rules/c4-ec2-instance.tf @@ -0,0 +1,19 @@ +# Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = var.ec2_ami_id + instance_type = var.ec2_instance_type + key_name = "terraform-key" + count = var.ec2_instance_count + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" > /var/www/html/index.html + EOF + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "myec2vm" + } +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/README.md b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/README.md new file mode 100644 index 00000000..ac5c7412 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/README.md @@ -0,0 +1,418 @@ +# Terraform Input Variables + +## Step-00: Introduction +- **v1:** Input Variables - Basics +- **v2:** Provide Input Variables when prompted during terraform plan or apply +- **v3:** Override default variable values using CLI argument `-var` +- **v4:** Override default variable values using Environment Variables +- **v5:** Provide Input Variables using `terraform.tfvars` files +- **v6:** Provide Input Variables using `.tfvars` file with CLI +argument `-var-file` +- **v7:** Provide Input Variables using `auto.tfvars` files +- **v8-01:** Implement complex type constructors like `list` +- **v8-02:** Implement complex type constructors like `maps` +- **v9:** Implement Custom Validation Rules in Variables +- **v10:** Protect Sensitive Input Variables +- **v11:** Understand about `File` function + +## Pre-requisite +- Create a new EC2 Key pair with name as `terraform-key` +- In all the templates listed below V1 to V12, we will be using `key_name = "terraform-key"` incase if you want to login to EC2 Instance you can use this key + + +## Step-01: Input Variables Basics +- **Reference Sub folder:** v1-Input-Variables-Basic +- Create / Review the terraform manifests + - c1-versions.tf + - c2-variables.tf + - c3-security-groups.tf + - c4-ec2-instance.tf +- We are going to define `c3-variables.tf` and define the below listed variables + - aws_region is a variable of type `string` + - ec2_ami_id is a variable of type `string` + - ec2_instance_count is a variable of type `number` +```t +# Initialize Terraform +terraform init + +# Validate Terraform configuration files +terraform validate + +# Format Terraform configuration files +terraform fmt + +# Review the terraform plan +terraform plan + +# Create Resources +terraform apply + +# Access Application +http:// + +# Clean-Up +terraform destroy -auto-approve +rm -rf .terraform* +rm -rf terraform.tfstate* +``` + +## Step-02: Input Variables Assign When Prompted +- **Reference Sub folder:** v2-Input-Variables-Assign-when-prompted +- Add a new variable in `variables.tf` named `ec2_instance_type` without any default value. +- As the variable doesn't have any default value when you execute `terraform plan` or `terraform apply` it will prompt for the variable. + +```t +# Initialize Terraform +terraform init + +# Validate Terraform configuration files +terraform validate + +# Format Terraform configuration files +terraform fmt + +# Review the terraform plan +terraform plan +``` + +## Step-03: Input Variables Override default value with cli argument `-var` +- **Reference Sub folder:** v3-Input-Variables-Override-default-with-cli +- We are going to override the default values defined in `variables.tf` by providing new values using the `-var` argument using CLI +```t +# Initialize Terraform +terraform init + +# Validate Terraform configuration files +terraform validate + +# Format Terraform configuration files +terraform fmt + +# Option-1 (Always provide -var for both plan and apply) +# Review the terraform plan +terraform plan -var="ec2_instance_type=t3.large" -var="ec2_instance_count=1" + +# Create Resources (optional) +terraform apply -var="ec2_instance_type=t3.large" -var="ec2_instance_count=1" + +# Option-2 (Generate plan file with -var and use that with apply) +# Generate Terraform plan file +terraform plan -var="ec2_instance_type=t3.large" -var="ec2_instance_count=1" -out v3out.plan + +# Create / Deploy Terraform Resources using Plan file +terraform apply v3out.plan +``` + +## Step-04: Input Variables Override with Environment Variables +- **Reference Sub folder:** v4-Input-Variables-Override-with-Environment-Variables +- Set environment variables and execute `terraform plan` to see if it overrides default values +```t +# Sample +export TF_VAR_variable_name=value + +# SET Environment Variables +export TF_VAR_ec2_instance_count=1 +export TF_VAR_ec2_instance_type=t3.large +echo $TF_VAR_ec2_instance_count, $TF_VAR_ec2_instance_type + +# Initialize Terraform +terraform init + +# Validate Terraform configuration files +terraform validate + +# Format Terraform configuration files +terraform fmt + +# Review the terraform plan +terraform plan + +# UNSET Environment Variables after demo +unset TF_VAR_ec2_instance_count +unset TF_VAR_ec2_instance_type +echo $TF_VAR_ec2_instance_count, $TF_VAR_ec2_instance_type +``` + +## Step-05: Assign Input Variables from terraform.tfvars +- **Reference Sub folder:** v5-Input-Variables-Assign-with-terraform-tfvars +- Create a file named `terraform.tfvars` and define variables +- If the file name is `terraform.tfvars`, terraform will auto-load the variables present in this file by overriding the `default` values in `variables.tf` +```t +# Initialize Terraform +terraform init + +# Validate Terraform configuration files +terraform validate + +# Format Terraform configuration files +terraform fmt + +# Review the terraform plan +terraform plan + +# Create Resources +terraform apply + +# Access Application +http:// +``` + +## Step-06: Assign Input Variables with -var-file argument +- **Reference Sub folder:** v6-Input-Variables-Assign-with-tfvars-var-file +- If we plan to use different names for `.tfvars` files, then we need to explicitly provide the argument `-var-file` during the `terraform plan or apply` +- We will use following things in this example + - **c2-variables.tf:** aws_region variable will be picked with default value + - **terraform.tfvars:** ec2_instance_count variable will be picked from this file + - **web.tfvars:** ec2_instance_type variable will be picked from this file + - **app.tfvars:** ec2_instance_type variable will be picked from this file +```t +# Initialize Terraform +terraform init + +# Validate Terraform configuration files +terraform validate + +# Format Terraform configuration files +terraform fmt + +# Review the terraform plan +terraform plan -var-file="web.tfvars" +terraform plan -var-file="app.tfvars" +``` + +## Step-07: Auto load input variables with .auto.tfvars files +- **Reference Sub folder:** v7-Input-Variables-Assign-with-auto-tfvars +- We will create a file with extension as `.auto.tfvars`. +- With this extension, whatever may be the file name, the variables inside these files will be auto loaded during `terraform plan or apply` +```t +# Initialize Terraform +terraform init + +# Validate Terraform configuration files +terraform validate + +# Format Terraform configuration files +terraform fmt + +# Review the terraform plan +terraform plan +``` +## Step-08: Implement complex type cosntructors like `list` and `maps` +- **Reference Sub folder:** v8-Input-Variables-Lists-Maps +- [Type Constraints](https://www.terraform.io/docs/language/expressions/types.html) +### Step-08-01: Implement Vairable Type as List +- **list (or tuple):** a sequence of values, like ["us-west-1a", "us-west-1c"]. Elements in a list or tuple are identified by consecutive whole numbers, starting with zero. +- Implement List function for variable `ec2_instance_type` +```t +# Implement List Function in variables.tf +variable "ec2_instance_type" { + description = "EC2 Instance Type" + type = list(string) + default = ["t3.micro", "t3.small", "t3.medium"] +} + +# Reference Values from List in ec2-instance.tf +instance_type = var.ec2_instance_type[0] --> t3.micro +instance_type = var.ec2_instance_type[1] --> t3.small +instance_type = var.ec2_instance_type[2] --> t3.medium + +# Initialize Terraform +terraform init + +# Validate Terraform configuration files +terraform validate + +# Format Terraform configuration files +terraform fmt + +# Review the terraform plan +terraform plan +``` + +### Step-08-02: Implement Vairable Type as Map +- **map (or object):** a group of values identified by named labels, like {name = "Mabel", age = 52}. +- Implement Map function for variable `ec2_instance_tags` +```t +# Implement Map Function for tags +variable "ec2_instance_tags" { + description = "EC2 Instance Tags" + type = map(string) + default = { + "Name" = "ec2-web" + "Tier" = "Web" + } + +# Reference Values from Map in ec2-instance.tf +tags = var.ec2_instance_tags + +# Implement Map Function for Instance Type +# Important Note: comment "ec2_instance_type" variable with list function +variable "ec2_instance_type_map" { + description = "EC2 Instance Type using maps" + type = map(string) + default = { + "small-apps" = "t3.micro" + "medium-apps" = "t3.medium" + "big-apps" = "t3.large" + } + +# Reference Instance Type from Maps Variables +instance_type = var.ec2_instance_type_map["small-apps"] +instance_type = var.ec2_instance_type_map["medium-apps"] +instance_type = var.ec2_instance_type_map["big-apps"] + +# Initialize Terraform +terraform init + +# Validate Terraform configuration files +terraform validate + +# Format Terraform configuration files +terraform fmt + +# Review the terraform plan +terraform plan +``` + + + +## Step-09: Implement Custom Validation Rules in Variables +- **Reference Sub folder:** v9-Input-Variables-Validation-Rules +- Understand and implement custom validation rules in variables +- [Terraform Console](https://www.terraform.io/docs/cli/commands/console.html) +- The `terraform console` command provides an interactive console for evaluating expressions. +### Step-09-01: Learn Terraform Length Function +- [Terraform Length Function](https://www.terraform.io/docs/language/functions/length.html) +```t +# Go to Terraform Console +terraform console + +# Test length function +Template: length() +length("hi") +length("hello") +length(["a", "b", "c"]) # List +length({"key" = "value"}) # Map +length({"key1" = "value1", "key2" = "value2" }) #Map +``` + +### Step-09-02: Learn Terraform SubString Function +- [Terraform Sub String Function](https://www.terraform.io/docs/language/functions/substr.html) +```t +# Go to Terraform Console +terraform console + +# Test substr function +Template: substr(string, offset, length) +substr("stack simplify", 1, 4) +substr("stack simplify", 0, 6) +substr("stack simplify", 0, 1) +substr("stack simplify", 0, 0) +substr("stack simplify", 0, 10) +``` + +### Step-09-03: Implement Validation Rule for ec2_ami_id variable +```t +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0be2609ba883822ec" + validation { + condition = length(var.ec2_ami_id) > 4 && substr(var.ec2_ami_id, 0, 4) == "ami-" + error_message = "The ec2_ami_id value must be a valid AMI id, starting with \"ami-\"." + } +} +``` +- **Run Terraform commands** +``` +# Initialize Terraform +terraform init + +# Validate Terraform configuration files +terraform validate + +# Format Terraform configuration files +terraform fmt + +# Review the terraform plan +terraform plan +``` + +## Step-10: Protect Sensitive Input Variables +- **Reference Sub folder:** v10-Sensitive-Input-Variables +- [AWS RDS DB Instance](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance) +- [Vault Provider](https://learn.hashicorp.com/tutorials/terraform/secrets-vault?in=terraform/secrets) +- When using environment variables to set sensitive values, keep in mind that those values will be in your environment and command-line history +`Example: export TF_VAR_db_username=admin TF_VAR_db_password=adifferentpassword` +- When you use sensitive variables in your Terraform configuration, you can use them as you would any other variable. +- Terraform will `redact` these values in command output and log files, and raise an error when it detects that they will be exposed in other ways. +- **Important Note-1:** Never check-in `secrets.tfvars` to git repositories +- **Important Note-2:** Terraform state file contains values for these sensitive variables `terraform.tfstate`. You must keep your state file secure to avoid exposing this data. +```t +# Initialize Terraform +terraform init + +# Validate Terraform configuration files +terraform validate + +# Format Terraform configuration files +terraform fmt + +# Review the terraform plan +terraform plan -var-file="secrets.tfvars" + +# Create Resources +terraform apply -var-file="secrets.tfvars" + +# Verify Terraform State files +grep password terraform.tfstate +grep username terraform.tfstate + +# Destroy Resources +terraform destroy var-file="secrets.tfvars" + +# Clean-Up +rm -rf .terraform* +rm -rf terraform.tfstate* +``` + +### Variable Definition Precedence +- [Terraform Variable Definition Precedence](https://www.terraform.io/docs/language/values/variables.html#variable-definition-precedence) + + +## Step-11: Understand about `File` function +- **Reference Sub folder:** v11-File-Function +- Understand about [Terraform File Function](https://www.terraform.io/docs/language/functions/file.html) + +```t +# Initialize Terraform +terraform init + +# Validate Terraform configuration files +terraform validate + +# Format Terraform configuration files +terraform fmt + +# Review the terraform plan +terraform plan + +# Create Resources +terraform apply + +# Access Application +http:// + +# Destroy Resources +terraform destroy -auto-approve +``` + + +## References +- [Terraform Input Variables](https://www.terraform.io/docs/language/values/variables.html) +- [Resource: AWS EC2 Instance](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance) +- [Resource: AWS Security Group](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group) +- [Sensitive Variables - Additional Reference](https://learn.hashicorp.com/tutorials/terraform/sensitive-variables) + + + diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v1-Input-Variables-Basic/apache-install.sh b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v1-Input-Variables-Basic/apache-install.sh new file mode 100644 index 00000000..69bcae96 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v1-Input-Variables-Basic/apache-install.sh @@ -0,0 +1,6 @@ +#!/bin/bash +sudo yum update -y +sudo yum install httpd -y +sudo systemctl enable httpd +sudo systemctl start httpd +echo "
Welcome to StackSimplify ! AWS Infra created using Terraform
" > /var/www/html/index.html diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v1-Input-Variables-Basic/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v1-Input-Variables-Basic/c1-versions.tf new file mode 100644 index 00000000..cffef5ab --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v1-Input-Variables-Basic/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v1-Input-Variables-Basic/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v1-Input-Variables-Basic/c2-variables.tf new file mode 100644 index 00000000..12cf7706 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v1-Input-Variables-Basic/c2-variables.tf @@ -0,0 +1,18 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS resources to be created" + type = string + default = "us-east-1" +} + +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0915bcb5fa77e4892" # Amazon2 Linux AMI ID +} + +variable "ec2_instance_count" { + description = "EC2 Instance Count" + type = number + default = 1 +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v1-Input-Variables-Basic/c3-security-groups.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v1-Input-Variables-Basic/c3-security-groups.tf new file mode 100644 index 00000000..ab637234 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v1-Input-Variables-Basic/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC Web" + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v1-Input-Variables-Basic/c4-ec2-instance.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v1-Input-Variables-Basic/c4-ec2-instance.tf new file mode 100644 index 00000000..3fd9c993 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v1-Input-Variables-Basic/c4-ec2-instance.tf @@ -0,0 +1,19 @@ +# Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = var.ec2_ami_id + instance_type = "t3.micro" + key_name = "terraform-key" + count = var.ec2_instance_count + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" > /var/www/html/index.html + EOF + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "myec2vm" + } +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v10-Sensitive-Input-Variables/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v10-Sensitive-Input-Variables/c1-versions.tf new file mode 100644 index 00000000..cffef5ab --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v10-Sensitive-Input-Variables/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v10-Sensitive-Input-Variables/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v10-Sensitive-Input-Variables/c2-variables.tf new file mode 100644 index 00000000..dfe8ba6a --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v10-Sensitive-Input-Variables/c2-variables.tf @@ -0,0 +1,21 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "db_username" { + description = "AWS RDS Database Administrator Username" + type = string + sensitive = true +} + +variable "db_password" { + description = "AWS RDS Database Administrator Password" + type = string + sensitive = true +} + + + diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v10-Sensitive-Input-Variables/c3-rds-db.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v10-Sensitive-Input-Variables/c3-rds-db.tf new file mode 100644 index 00000000..b94dfccf --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v10-Sensitive-Input-Variables/c3-rds-db.tf @@ -0,0 +1,11 @@ +# Warning: Never check sensitive values like usernames and passwords into source control. +# Create RDS MySQL Database +resource "aws_db_instance" "db1" { + allocated_storage = 5 + engine = "mysql" + instance_class = "db.t2.micro" + name = "mydb1" + username = var.db_username + password = var.db_password + skip_final_snapshot = true +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v10-Sensitive-Input-Variables/secrets.tfvars b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v10-Sensitive-Input-Variables/secrets.tfvars new file mode 100644 index 00000000..df596ce0 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v10-Sensitive-Input-Variables/secrets.tfvars @@ -0,0 +1,2 @@ +db_username = "admin" +db_password = "insecurepassword" \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v11-File-Function/apache-install.sh b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v11-File-Function/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v11-File-Function/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v11-File-Function/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v11-File-Function/c1-versions.tf new file mode 100644 index 00000000..cffef5ab --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v11-File-Function/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v11-File-Function/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v11-File-Function/c2-variables.tf new file mode 100644 index 00000000..fc370401 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v11-File-Function/c2-variables.tf @@ -0,0 +1,24 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0915bcb5fa77e4892" +} + +variable "ec2_instance_count" { + description = "EC2 Instance Count" + type = number + default = 1 +} + +variable "ec2_instance_type" { + description = "EC2 Instance Type" + type = string + default = "t3.micro" +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v11-File-Function/c3-security-groups.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v11-File-Function/c3-security-groups.tf new file mode 100644 index 00000000..ab637234 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v11-File-Function/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC Web" + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v11-File-Function/c4-ec2-instance.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v11-File-Function/c4-ec2-instance.tf new file mode 100644 index 00000000..248366bd --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v11-File-Function/c4-ec2-instance.tf @@ -0,0 +1,24 @@ +# Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = var.ec2_ami_id + instance_type = var.ec2_instance_type + key_name = "terraform-key" + count = var.ec2_instance_count + user_data = file("apache-install.sh") + /* + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "
Welcome to StackSimplify ! AWS Infra created using Terraform
" > /var/www/html/index.html + EOF + */ + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "web" + } +} + + diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v2-Input-Variables-Assign-when-prompted/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v2-Input-Variables-Assign-when-prompted/c1-versions.tf new file mode 100644 index 00000000..cffef5ab --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v2-Input-Variables-Assign-when-prompted/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v2-Input-Variables-Assign-when-prompted/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v2-Input-Variables-Assign-when-prompted/c2-variables.tf new file mode 100644 index 00000000..2b5006c8 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v2-Input-Variables-Assign-when-prompted/c2-variables.tf @@ -0,0 +1,24 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS resources to be created" + type = string + default = "us-east-1" +} + +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0915bcb5fa77e4892" # Amazon2 Linux AMI ID +} + +variable "ec2_instance_count" { + description = "EC2 Instance Count" + type = number + default = 1 +} + +# Assign When Prompted using CLI +variable "ec2_instance_type" { + description = "EC2 Instance Type" + type = string +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v2-Input-Variables-Assign-when-prompted/c3-security-groups.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v2-Input-Variables-Assign-when-prompted/c3-security-groups.tf new file mode 100644 index 00000000..ab637234 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v2-Input-Variables-Assign-when-prompted/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC Web" + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v2-Input-Variables-Assign-when-prompted/c4-ec2-instance.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v2-Input-Variables-Assign-when-prompted/c4-ec2-instance.tf new file mode 100644 index 00000000..41cf3c38 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v2-Input-Variables-Assign-when-prompted/c4-ec2-instance.tf @@ -0,0 +1,19 @@ +# Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = var.ec2_ami_id + instance_type = var.ec2_instance_type + key_name = "terraform-key" + count = var.ec2_instance_count + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" > /var/www/html/index.html + EOF + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "myec2vm" + } +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v3-Input-Variables-Override-default-with-cli-var/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v3-Input-Variables-Override-default-with-cli-var/c1-versions.tf new file mode 100644 index 00000000..cffef5ab --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v3-Input-Variables-Override-default-with-cli-var/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v3-Input-Variables-Override-default-with-cli-var/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v3-Input-Variables-Override-default-with-cli-var/c2-variables.tf new file mode 100644 index 00000000..1032f611 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v3-Input-Variables-Override-default-with-cli-var/c2-variables.tf @@ -0,0 +1,24 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS resources to be created" + type = string + default = "us-east-1" +} + +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0915bcb5fa77e4892" # Amazon2 Linux AMI ID +} + +variable "ec2_instance_count" { + description = "EC2 Instance Count" + type = number + default = 2 +} + +variable "ec2_instance_type" { + description = "EC2 Instance Type" + type = string + default = "t3.micro" +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v3-Input-Variables-Override-default-with-cli-var/c3-security-groups.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v3-Input-Variables-Override-default-with-cli-var/c3-security-groups.tf new file mode 100644 index 00000000..ab637234 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v3-Input-Variables-Override-default-with-cli-var/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC Web" + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v3-Input-Variables-Override-default-with-cli-var/c4-ec2-instance.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v3-Input-Variables-Override-default-with-cli-var/c4-ec2-instance.tf new file mode 100644 index 00000000..41cf3c38 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v3-Input-Variables-Override-default-with-cli-var/c4-ec2-instance.tf @@ -0,0 +1,19 @@ +# Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = var.ec2_ami_id + instance_type = var.ec2_instance_type + key_name = "terraform-key" + count = var.ec2_instance_count + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" > /var/www/html/index.html + EOF + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "myec2vm" + } +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v4-Input-Variables-Override-with-Environment-Variables/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v4-Input-Variables-Override-with-Environment-Variables/c1-versions.tf new file mode 100644 index 00000000..cffef5ab --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v4-Input-Variables-Override-with-Environment-Variables/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v4-Input-Variables-Override-with-Environment-Variables/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v4-Input-Variables-Override-with-Environment-Variables/c2-variables.tf new file mode 100644 index 00000000..1032f611 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v4-Input-Variables-Override-with-Environment-Variables/c2-variables.tf @@ -0,0 +1,24 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS resources to be created" + type = string + default = "us-east-1" +} + +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0915bcb5fa77e4892" # Amazon2 Linux AMI ID +} + +variable "ec2_instance_count" { + description = "EC2 Instance Count" + type = number + default = 2 +} + +variable "ec2_instance_type" { + description = "EC2 Instance Type" + type = string + default = "t3.micro" +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v4-Input-Variables-Override-with-Environment-Variables/c3-security-groups.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v4-Input-Variables-Override-with-Environment-Variables/c3-security-groups.tf new file mode 100644 index 00000000..ab637234 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v4-Input-Variables-Override-with-Environment-Variables/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC Web" + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v4-Input-Variables-Override-with-Environment-Variables/c4-ec2-instance.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v4-Input-Variables-Override-with-Environment-Variables/c4-ec2-instance.tf new file mode 100644 index 00000000..41cf3c38 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v4-Input-Variables-Override-with-Environment-Variables/c4-ec2-instance.tf @@ -0,0 +1,19 @@ +# Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = var.ec2_ami_id + instance_type = var.ec2_instance_type + key_name = "terraform-key" + count = var.ec2_instance_count + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" > /var/www/html/index.html + EOF + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "myec2vm" + } +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v5-Input-Variables-Assign-with-terraform-tfvars/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v5-Input-Variables-Assign-with-terraform-tfvars/c1-versions.tf new file mode 100644 index 00000000..cffef5ab --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v5-Input-Variables-Assign-with-terraform-tfvars/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v5-Input-Variables-Assign-with-terraform-tfvars/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v5-Input-Variables-Assign-with-terraform-tfvars/c2-variables.tf new file mode 100644 index 00000000..1032f611 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v5-Input-Variables-Assign-with-terraform-tfvars/c2-variables.tf @@ -0,0 +1,24 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS resources to be created" + type = string + default = "us-east-1" +} + +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0915bcb5fa77e4892" # Amazon2 Linux AMI ID +} + +variable "ec2_instance_count" { + description = "EC2 Instance Count" + type = number + default = 2 +} + +variable "ec2_instance_type" { + description = "EC2 Instance Type" + type = string + default = "t3.micro" +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v5-Input-Variables-Assign-with-terraform-tfvars/c3-security-groups.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v5-Input-Variables-Assign-with-terraform-tfvars/c3-security-groups.tf new file mode 100644 index 00000000..ab637234 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v5-Input-Variables-Assign-with-terraform-tfvars/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC Web" + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v5-Input-Variables-Assign-with-terraform-tfvars/c4-ec2-instance.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v5-Input-Variables-Assign-with-terraform-tfvars/c4-ec2-instance.tf new file mode 100644 index 00000000..41cf3c38 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v5-Input-Variables-Assign-with-terraform-tfvars/c4-ec2-instance.tf @@ -0,0 +1,19 @@ +# Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = var.ec2_ami_id + instance_type = var.ec2_instance_type + key_name = "terraform-key" + count = var.ec2_instance_count + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" > /var/www/html/index.html + EOF + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "myec2vm" + } +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v5-Input-Variables-Assign-with-terraform-tfvars/terraform.tfvars b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v5-Input-Variables-Assign-with-terraform-tfvars/terraform.tfvars new file mode 100644 index 00000000..0265af26 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v5-Input-Variables-Assign-with-terraform-tfvars/terraform.tfvars @@ -0,0 +1,2 @@ +ec2_instance_count = 1 +ec2_instance_type = "t3.small" \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v6-Input-Variables-Assign-with-tfvars-var-file/app.tfvars b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v6-Input-Variables-Assign-with-tfvars-var-file/app.tfvars new file mode 100644 index 00000000..a555fec4 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v6-Input-Variables-Assign-with-tfvars-var-file/app.tfvars @@ -0,0 +1 @@ +ec2_instance_type = "t3.xlarge" \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v6-Input-Variables-Assign-with-tfvars-var-file/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v6-Input-Variables-Assign-with-tfvars-var-file/c1-versions.tf new file mode 100644 index 00000000..cffef5ab --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v6-Input-Variables-Assign-with-tfvars-var-file/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v6-Input-Variables-Assign-with-tfvars-var-file/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v6-Input-Variables-Assign-with-tfvars-var-file/c2-variables.tf new file mode 100644 index 00000000..1032f611 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v6-Input-Variables-Assign-with-tfvars-var-file/c2-variables.tf @@ -0,0 +1,24 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS resources to be created" + type = string + default = "us-east-1" +} + +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0915bcb5fa77e4892" # Amazon2 Linux AMI ID +} + +variable "ec2_instance_count" { + description = "EC2 Instance Count" + type = number + default = 2 +} + +variable "ec2_instance_type" { + description = "EC2 Instance Type" + type = string + default = "t3.micro" +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v6-Input-Variables-Assign-with-tfvars-var-file/c3-security-groups.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v6-Input-Variables-Assign-with-tfvars-var-file/c3-security-groups.tf new file mode 100644 index 00000000..ab637234 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v6-Input-Variables-Assign-with-tfvars-var-file/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC Web" + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v6-Input-Variables-Assign-with-tfvars-var-file/c4-ec2-instance.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v6-Input-Variables-Assign-with-tfvars-var-file/c4-ec2-instance.tf new file mode 100644 index 00000000..41cf3c38 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v6-Input-Variables-Assign-with-tfvars-var-file/c4-ec2-instance.tf @@ -0,0 +1,19 @@ +# Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = var.ec2_ami_id + instance_type = var.ec2_instance_type + key_name = "terraform-key" + count = var.ec2_instance_count + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" > /var/www/html/index.html + EOF + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "myec2vm" + } +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v6-Input-Variables-Assign-with-tfvars-var-file/terraform.tfvars b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v6-Input-Variables-Assign-with-tfvars-var-file/terraform.tfvars new file mode 100644 index 00000000..bb77eafa --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v6-Input-Variables-Assign-with-tfvars-var-file/terraform.tfvars @@ -0,0 +1 @@ +ec2_instance_count = 1 diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v6-Input-Variables-Assign-with-tfvars-var-file/web.tfvars b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v6-Input-Variables-Assign-with-tfvars-var-file/web.tfvars new file mode 100644 index 00000000..ebb5fe3f --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v6-Input-Variables-Assign-with-tfvars-var-file/web.tfvars @@ -0,0 +1 @@ +ec2_instance_type = "t3.large" \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v7-Input-Variables-Assign-with-auto-tfvars/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v7-Input-Variables-Assign-with-auto-tfvars/c1-versions.tf new file mode 100644 index 00000000..8a7391a7 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v7-Input-Variables-Assign-with-auto-tfvars/c1-versions.tf @@ -0,0 +1,21 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ + diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v7-Input-Variables-Assign-with-auto-tfvars/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v7-Input-Variables-Assign-with-auto-tfvars/c2-variables.tf new file mode 100644 index 00000000..1032f611 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v7-Input-Variables-Assign-with-auto-tfvars/c2-variables.tf @@ -0,0 +1,24 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS resources to be created" + type = string + default = "us-east-1" +} + +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0915bcb5fa77e4892" # Amazon2 Linux AMI ID +} + +variable "ec2_instance_count" { + description = "EC2 Instance Count" + type = number + default = 2 +} + +variable "ec2_instance_type" { + description = "EC2 Instance Type" + type = string + default = "t3.micro" +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v7-Input-Variables-Assign-with-auto-tfvars/c3-security-groups.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v7-Input-Variables-Assign-with-auto-tfvars/c3-security-groups.tf new file mode 100644 index 00000000..ab637234 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v7-Input-Variables-Assign-with-auto-tfvars/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC Web" + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v7-Input-Variables-Assign-with-auto-tfvars/c4-ec2-instance.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v7-Input-Variables-Assign-with-auto-tfvars/c4-ec2-instance.tf new file mode 100644 index 00000000..41cf3c38 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v7-Input-Variables-Assign-with-auto-tfvars/c4-ec2-instance.tf @@ -0,0 +1,19 @@ +# Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = var.ec2_ami_id + instance_type = var.ec2_instance_type + key_name = "terraform-key" + count = var.ec2_instance_count + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" > /var/www/html/index.html + EOF + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "myec2vm" + } +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v7-Input-Variables-Assign-with-auto-tfvars/terraform.tfvars b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v7-Input-Variables-Assign-with-auto-tfvars/terraform.tfvars new file mode 100644 index 00000000..bb77eafa --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v7-Input-Variables-Assign-with-auto-tfvars/terraform.tfvars @@ -0,0 +1 @@ +ec2_instance_count = 1 diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v7-Input-Variables-Assign-with-auto-tfvars/web.auto.tfvars b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v7-Input-Variables-Assign-with-auto-tfvars/web.auto.tfvars new file mode 100644 index 00000000..a555fec4 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v7-Input-Variables-Assign-with-auto-tfvars/web.auto.tfvars @@ -0,0 +1 @@ +ec2_instance_type = "t3.xlarge" \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v8-01-Input-Variables-Lists/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v8-01-Input-Variables-Lists/c1-versions.tf new file mode 100644 index 00000000..cffef5ab --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v8-01-Input-Variables-Lists/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v8-01-Input-Variables-Lists/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v8-01-Input-Variables-Lists/c2-variables.tf new file mode 100644 index 00000000..2955b1f1 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v8-01-Input-Variables-Lists/c2-variables.tf @@ -0,0 +1,24 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS resources to be created" + type = string + default = "us-east-1" +} + +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0915bcb5fa77e4892" # Amazon2 Linux AMI ID +} + +variable "ec2_instance_count" { + description = "EC2 Instance Count" + type = number + default = 2 +} + +variable "ec2_instance_type" { + description = "EC2 Instance Type" + type = list(string) + default = ["t3.micro", "t3.small", "t3.large"] +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v8-01-Input-Variables-Lists/c3-security-groups.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v8-01-Input-Variables-Lists/c3-security-groups.tf new file mode 100644 index 00000000..ab637234 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v8-01-Input-Variables-Lists/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC Web" + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v8-01-Input-Variables-Lists/c4-ec2-instance.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v8-01-Input-Variables-Lists/c4-ec2-instance.tf new file mode 100644 index 00000000..9cb72ad3 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v8-01-Input-Variables-Lists/c4-ec2-instance.tf @@ -0,0 +1,19 @@ +# Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = var.ec2_ami_id + instance_type = var.ec2_instance_type[0] + key_name = "terraform-key" + count = var.ec2_instance_count + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" > /var/www/html/index.html + EOF + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "myec2vm" + } +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v8-02-Input-Variables-Maps/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v8-02-Input-Variables-Maps/c1-versions.tf new file mode 100644 index 00000000..cffef5ab --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v8-02-Input-Variables-Maps/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v8-02-Input-Variables-Maps/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v8-02-Input-Variables-Maps/c2-variables.tf new file mode 100644 index 00000000..791581f6 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v8-02-Input-Variables-Maps/c2-variables.tf @@ -0,0 +1,46 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS resources to be created" + type = string + default = "us-east-1" +} + +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0915bcb5fa77e4892" # Amazon2 Linux AMI ID +} + +variable "ec2_instance_count" { + description = "EC2 Instance Count" + type = number + default = 2 +} + +/* +variable "ec2_instance_type" { + description = "EC2 Instance Type" + type = list(string) + default = ["t3.micro", "t3.small", "t3.large"] +} +*/ + + +variable "ec2_instance_tags" { + description = "EC2 Instance Tags" + type = map(string) + default = { + "Name" = "ec2-web" + "Tier" = "Web" + } +} + +variable "ec2_instance_type_map" { + description = "EC2 Instance Type" + type = map(string) + default = { + "small-apps" = "t3.micro" + "medium-apps" = "t3.medium" + "big-apps" = "t3.large" + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v8-02-Input-Variables-Maps/c3-security-groups.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v8-02-Input-Variables-Maps/c3-security-groups.tf new file mode 100644 index 00000000..ab637234 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v8-02-Input-Variables-Maps/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC Web" + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v8-02-Input-Variables-Maps/c4-ec2-instance.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v8-02-Input-Variables-Maps/c4-ec2-instance.tf new file mode 100644 index 00000000..6aedd44b --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v8-02-Input-Variables-Maps/c4-ec2-instance.tf @@ -0,0 +1,18 @@ +# Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = var.ec2_ami_id + #instance_type = var.ec2_instance_type[0] + instance_type = var.ec2_instance_type_map["big-apps"] + key_name = "terraform-key" + count = var.ec2_instance_count + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" > /var/www/html/index.html + EOF + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = var.ec2_instance_tags +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v9-Input-Variables-Validation-Rules/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v9-Input-Variables-Validation-Rules/c1-versions.tf new file mode 100644 index 00000000..cffef5ab --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v9-Input-Variables-Validation-Rules/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v9-Input-Variables-Validation-Rules/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v9-Input-Variables-Validation-Rules/c2-variables.tf new file mode 100644 index 00000000..fbce3a92 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v9-Input-Variables-Validation-Rules/c2-variables.tf @@ -0,0 +1,28 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS resources to be created" + type = string + default = "us-east-1" +} + +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0915bcb5fa77e4892" # Amazon2 Linux AMI ID + validation { + condition = length(var.ec2_ami_id) > 4 && substr(var.ec2_ami_id, 0, 4) == "ami-" + error_message = "The ec2_ami_id value must be a valid AMI id, starting with \"ami-\"." + } +} + +variable "ec2_instance_count" { + description = "EC2 Instance Count" + type = number + default = 1 +} + +variable "ec2_instance_type" { + description = "EC2 Instance Type" + type = string + default = "t3.micro" +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v9-Input-Variables-Validation-Rules/c3-security-groups.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v9-Input-Variables-Validation-Rules/c3-security-groups.tf new file mode 100644 index 00000000..ab637234 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v9-Input-Variables-Validation-Rules/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC Web" + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v9-Input-Variables-Validation-Rules/c4-ec2-instance.tf b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v9-Input-Variables-Validation-Rules/c4-ec2-instance.tf new file mode 100644 index 00000000..41cf3c38 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-01-Terraform-Input-Variables/v9-Input-Variables-Validation-Rules/c4-ec2-instance.tf @@ -0,0 +1,19 @@ +# Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = var.ec2_ami_id + instance_type = var.ec2_instance_type + key_name = "terraform-key" + count = var.ec2_instance_count + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" > /var/www/html/index.html + EOF + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "myec2vm" + } +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/README.md b/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/README.md new file mode 100644 index 00000000..1ab81a3d --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/README.md @@ -0,0 +1,86 @@ +# Terraform Output Values + +## Step-01: Introduction +- Understand about Output Values and implement them +- Query outputs using `terraform output` +- Understand about redacting secure attributes in output values +- Generate machine-readable output + +## Step-02: Basics of Output Values +- **Reference Sub folder:** terraform-manifests +- Understand Output Values +- You can export both Argument & Attribute References +- [Terraform AWS EC2 Instance](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance) +```t +# Initialize Terraform +terraform init + +# Validate Terraform configuration files +terraform validate + +# Format Terraform configuration files +terraform fmt + +# Review the terraform plan +terraform plan + +# Create Resources +terraform apply -auto-approve + +# Access Application +http:// +http:// +``` + +## Step-03: Query Terraform Outputs +- Terraform will load the project state in state file, so that using `terraform output` command we can query the state file. +```t +# Terraform Output Commands +terraform output +terraform output ec2_publicdns +``` + + +## Step-04: Output Values - Suppressing Sensitive Values in Output +- We can redact the sensitive outputs using `sensitve = true` in output block +- This will only redact the cli output for terraform plan and apply +- When you query using `terraform output`, you will be able to fetch exact values from `terraform.tfstate` files +- Add `sensitve = true` for output `ec2_publicdns` +```t +# Attribute Reference - Create Public DNS URL with http:// appended +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = "http://${aws_instance.my-ec2-vm.public_dns}" + sensitive = true +} +``` +- Test the flow +```t +# Terraform Apply +terraform apply -auto-approve +Observation: You should see the value as sensitive + +# Query using terraform output +terraform output ec2_publicdns +Observation: You should get non-redacted original value from terraform.tfstate file +``` + +## Step-05: Generate machine-readable output +```t +# Generate machine-readable output +terraform output -json +``` + +## Step-06: Destroy Resources +```t +# Destroy Resources +terraform destroy -auto-approve + +# Clean-Up +rm -rf .terraform* +rm -rf terraform.tfstate* +``` + + +## References +- [Terraform Output Values](https://www.terraform.io/docs/language/values/outputs.html) \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests-oldv1/apache-install.sh b/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests-oldv1/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests-oldv1/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests-oldv1/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests-oldv1/c1-versions.tf new file mode 100644 index 00000000..a305835c --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests-oldv1/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests-oldv1/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests-oldv1/c2-variables.tf new file mode 100644 index 00000000..b05e8b70 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests-oldv1/c2-variables.tf @@ -0,0 +1,18 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0915bcb5fa77e4892" +} + +variable "ec2_instance_type" { + description = "EC2 Instance Type" + type = string + default = "t3.micro" +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests-oldv1/c3-security-groups.tf b/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests-oldv1/c3-security-groups.tf new file mode 100644 index 00000000..ab637234 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests-oldv1/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC Web" + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests-oldv1/c4-ec2-instance.tf b/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests-oldv1/c4-ec2-instance.tf new file mode 100644 index 00000000..df1ef37f --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests-oldv1/c4-ec2-instance.tf @@ -0,0 +1,23 @@ +# Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = var.ec2_ami_id + instance_type = var.ec2_instance_type + key_name = "terraform-key" + user_data = file("apache-install.sh") + /* + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "
Welcome to StackSimplify ! AWS Infra created using Terraform
" > /var/www/html/index.html + EOF + */ + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "web" + } +} + + diff --git a/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests-oldv1/c5-outputs.tf b/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests-oldv1/c5-outputs.tf new file mode 100644 index 00000000..aacdb0b6 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests-oldv1/c5-outputs.tf @@ -0,0 +1,24 @@ +# Define Output Values +# Attribute Reference: EC2 Instance Public IP +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.public_ip +} + +# Argument Reference: EC2 Instance Private IP +output "ec2_instance_privateip" { + description = "EC2 Instance Private IP" + value = aws_instance.my-ec2-vm.private_ip +} +# Argument Reference: Security Groups associated to EC2 Instance +output "ec2_security_groups" { + description = "List Security Groups associated with EC2 Instance" + value = aws_instance.my-ec2-vm.security_groups +} + +# Attribute Reference - Create Public DNS URL with http:// appended +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = "http://${aws_instance.my-ec2-vm.public_dns}" + #sensitive = true #Uncomment it during step-04 execution +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests/apache-install.sh b/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..cffef5ab --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests/c2-variables.tf new file mode 100644 index 00000000..b05e8b70 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests/c2-variables.tf @@ -0,0 +1,18 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0915bcb5fa77e4892" +} + +variable "ec2_instance_type" { + description = "EC2 Instance Type" + type = string + default = "t3.micro" +} diff --git a/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests/c3-security-groups.tf b/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests/c3-security-groups.tf new file mode 100644 index 00000000..ab637234 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC Web" + + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all IP and Ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests/c4-ec2-instance.tf b/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests/c4-ec2-instance.tf new file mode 100644 index 00000000..df1ef37f --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests/c4-ec2-instance.tf @@ -0,0 +1,23 @@ +# Create EC2 Instance +resource "aws_instance" "my-ec2-vm" { + ami = var.ec2_ami_id + instance_type = var.ec2_instance_type + key_name = "terraform-key" + user_data = file("apache-install.sh") + /* + user_data = <<-EOF + #!/bin/bash + sudo yum update -y + sudo yum install httpd -y + sudo systemctl enable httpd + sudo systemctl start httpd + echo "
Welcome to StackSimplify ! AWS Infra created using Terraform
" > /var/www/html/index.html + EOF + */ + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "web" + } +} + + diff --git a/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests/c5-outputs.tf b/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests/c5-outputs.tf new file mode 100644 index 00000000..aacdb0b6 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-02-Terraform-Output-Values/terraform-manifests/c5-outputs.tf @@ -0,0 +1,24 @@ +# Define Output Values +# Attribute Reference: EC2 Instance Public IP +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.public_ip +} + +# Argument Reference: EC2 Instance Private IP +output "ec2_instance_privateip" { + description = "EC2 Instance Private IP" + value = aws_instance.my-ec2-vm.private_ip +} +# Argument Reference: Security Groups associated to EC2 Instance +output "ec2_security_groups" { + description = "List Security Groups associated with EC2 Instance" + value = aws_instance.my-ec2-vm.security_groups +} + +# Attribute Reference - Create Public DNS URL with http:// appended +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = "http://${aws_instance.my-ec2-vm.public_dns}" + #sensitive = true #Uncomment it during step-04 execution +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-03-Terraform-Local-Values/README.md b/BACKUP-2024/05-Terraform-Variables/05-03-Terraform-Local-Values/README.md new file mode 100644 index 00000000..0e577d3e --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-03-Terraform-Local-Values/README.md @@ -0,0 +1,53 @@ +# Terraform Local Values + +## Step-01: Introduction +- Understand DRY Principle +- What is local value in terraform? +- When To Use Local Values? +- What is the problem locals are solving ? + +``` +What is DRY Principle ? +Don't repeat yourself + +What is local value in terraform? +The local block defines one or more local variables within a module. +A local value assigns a name to an terraform expression, allowing it to be used multiple times within a module without repeating it. + +When To Use Local Values? +Local values can be helpful to avoid repeating the same values or expressions multiple times in a configuration +If overused they can also make a configuration hard to read by future maintainers by hiding the actual values used. +Use local values only in moderation, in situations where a single value or result is used in many places and that value is likely to be changed in future. The ability to easily change the value in a central place is the key advantage of local values. + +What is the problem locals are solving ? +Currently terraform doesn’t allow variable substitution within variables. The terraform way of doing this is by using local values or locals where you can somehow keep your code DRY. + +Another use case (at least for me) for locals is to shorten references on upstream terraform projects as seen below. This will make your terraform templates/modules more readable. +``` + +## Step-02: Create / Review Terraform configuration files +- c1-versions.tf +- c2-variables.tf +- c3-s3-bucket.tf + + +## Step-03: Test the Terraform configuration using commands +```t +# Initialize Terraform +terraform init + +# Validate Terraform configuration files +terraform validate + +# Format Terraform configuration files +terraform fmt + +# Review the terraform plan +terraform plan + +# Create Resources (Optional) +terraform apply -auto-approve +``` + +## References +- [Terraform Local values](https://www.terraform.io/docs/language/values/locals.html) \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-03-Terraform-Local-Values/terraform-manifests-oldv1/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-03-Terraform-Local-Values/terraform-manifests-oldv1/c1-versions.tf new file mode 100644 index 00000000..a305835c --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-03-Terraform-Local-Values/terraform-manifests-oldv1/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/05-Terraform-Variables/05-03-Terraform-Local-Values/terraform-manifests-oldv1/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-03-Terraform-Local-Values/terraform-manifests-oldv1/c2-variables.tf new file mode 100644 index 00000000..549df0f8 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-03-Terraform-Local-Values/terraform-manifests-oldv1/c2-variables.tf @@ -0,0 +1,21 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +# App Name S3 Bucket used for +variable "app_name" { + description = "Application Name" + type = string +} + +# Environment Name +variable "environment_name" { + description = "Environment Name" + type = string +} + + + diff --git a/BACKUP-2024/05-Terraform-Variables/05-03-Terraform-Local-Values/terraform-manifests-oldv1/c3-s3-bucket.tf b/BACKUP-2024/05-Terraform-Variables/05-03-Terraform-Local-Values/terraform-manifests-oldv1/c3-s3-bucket.tf new file mode 100644 index 00000000..47111b7c --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-03-Terraform-Local-Values/terraform-manifests-oldv1/c3-s3-bucket.tf @@ -0,0 +1,26 @@ +# Create S3 Bucket - with Input Variables +/* +resource "aws_s3_bucket" "mys3bucket" { + bucket = "${var.app_name}-${var.environment_name}-bucket" + acl = "private" + tags = { + Name = "${var.app_name}-${var.environment_name}-bucket" + Environment = var.environment_name + } +} +*/ + +# Define Local Values +locals { + bucket-name = "${var.app_name}-${var.environment_name}-bucket" # Complex expression +} + +# Create S3 Bucket - with Input Variables & Local Values +resource "aws_s3_bucket" "mys3bucket" { + bucket = local.bucket-name + acl = "private" + tags = { + Name = local.bucket-name + Environment = var.environment_name + } +} \ No newline at end of file diff --git a/BACKUP-2024/05-Terraform-Variables/05-03-Terraform-Local-Values/terraform-manifests/c1-versions.tf b/BACKUP-2024/05-Terraform-Variables/05-03-Terraform-Local-Values/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..cffef5ab --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-03-Terraform-Local-Values/terraform-manifests/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/05-Terraform-Variables/05-03-Terraform-Local-Values/terraform-manifests/c2-variables.tf b/BACKUP-2024/05-Terraform-Variables/05-03-Terraform-Local-Values/terraform-manifests/c2-variables.tf new file mode 100644 index 00000000..549df0f8 --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-03-Terraform-Local-Values/terraform-manifests/c2-variables.tf @@ -0,0 +1,21 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +# App Name S3 Bucket used for +variable "app_name" { + description = "Application Name" + type = string +} + +# Environment Name +variable "environment_name" { + description = "Environment Name" + type = string +} + + + diff --git a/BACKUP-2024/05-Terraform-Variables/05-03-Terraform-Local-Values/terraform-manifests/c3-s3-bucket.tf b/BACKUP-2024/05-Terraform-Variables/05-03-Terraform-Local-Values/terraform-manifests/c3-s3-bucket.tf new file mode 100644 index 00000000..47111b7c --- /dev/null +++ b/BACKUP-2024/05-Terraform-Variables/05-03-Terraform-Local-Values/terraform-manifests/c3-s3-bucket.tf @@ -0,0 +1,26 @@ +# Create S3 Bucket - with Input Variables +/* +resource "aws_s3_bucket" "mys3bucket" { + bucket = "${var.app_name}-${var.environment_name}-bucket" + acl = "private" + tags = { + Name = "${var.app_name}-${var.environment_name}-bucket" + Environment = var.environment_name + } +} +*/ + +# Define Local Values +locals { + bucket-name = "${var.app_name}-${var.environment_name}-bucket" # Complex expression +} + +# Create S3 Bucket - with Input Variables & Local Values +resource "aws_s3_bucket" "mys3bucket" { + bucket = local.bucket-name + acl = "private" + tags = { + Name = local.bucket-name + Environment = var.environment_name + } +} \ No newline at end of file diff --git a/BACKUP-2024/06-Terraform-Datasources/README.md b/BACKUP-2024/06-Terraform-Datasources/README.md new file mode 100644 index 00000000..1d969eff --- /dev/null +++ b/BACKUP-2024/06-Terraform-Datasources/README.md @@ -0,0 +1,51 @@ +# Terraform Datasources + +## Step-01: Introduction +- Understand about Datasources in Terraform +- Implement a sample usecase with Datasources. +- Get the latest Amazon Linux 2 AMI ID using datasources and reference that value when creating EC2 Instance resource `ami = data.aws_ami.amzlinux.id` + +## Step-02: Create a Datasource to fetch latest AMI ID +- Create or review manifest `c6-ami-datasource.tf` +- Go to AWS Mgmt Console -> Services -> EC2 -> Images -> AMI +- Search for "Public Images" -> Provide AMI ID + - We can get AMI Name format + - We can get Owner Name + - Visibility + - Platform + - Root Device Type + - and many more info here. +- Accordingly using this information build your filters in datasource + +## Step-03: Reference the datasource in ec2-instance.tf +```t + ami = data.aws_ami.amzlinux.id +``` + +## Step-04: Test using Terraform commands +```t +# Initialize Terraform +terraform init + +# Validate Terraform configuration files +terraform validate + +# Format Terraform configuration files +terraform fmt + +# Review the terraform plan +terraform plan + +# Create Resources (Optional) +terraform apply -auto-approve + +# Access Application +http:// + +# Destroy Resources +terraform destroy -auto-approve +``` + + +## References +- [AWS EC2 AMI Datasource](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ami) diff --git a/BACKUP-2024/06-Terraform-Datasources/terraform-manifests-oldv1/apache-install.sh b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests-oldv1/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests-oldv1/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/06-Terraform-Datasources/terraform-manifests-oldv1/c1-versions.tf b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests-oldv1/c1-versions.tf new file mode 100644 index 00000000..a305835c --- /dev/null +++ b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests-oldv1/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/06-Terraform-Datasources/terraform-manifests-oldv1/c2-variables.tf b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests-oldv1/c2-variables.tf new file mode 100644 index 00000000..02504d42 --- /dev/null +++ b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests-oldv1/c2-variables.tf @@ -0,0 +1,22 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +/* +# Commented as we are going to get AMI ID from Datasource aws_ami +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0915bcb5fa77e4892" +} +*/ + +variable "ec2_instance_type" { + description = "EC2 Instance Type" + type = string + default = "t3.micro" +} + diff --git a/BACKUP-2024/06-Terraform-Datasources/terraform-manifests-oldv1/c3-security-groups.tf b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests-oldv1/c3-security-groups.tf new file mode 100644 index 00000000..1ca810d6 --- /dev/null +++ b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests-oldv1/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/06-Terraform-Datasources/terraform-manifests-oldv1/c4-ec2-instance.tf b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests-oldv1/c4-ec2-instance.tf new file mode 100644 index 00000000..1ff6a348 --- /dev/null +++ b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests-oldv1/c4-ec2-instance.tf @@ -0,0 +1,15 @@ +# Create EC2 Instance - Amazon Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.ec2_instance_type + key_name = "terraform-key" + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "amz-linux-vm" + } +} + + + + diff --git a/BACKUP-2024/06-Terraform-Datasources/terraform-manifests-oldv1/c5-outputs.tf b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests-oldv1/c5-outputs.tf new file mode 100644 index 00000000..b94beeb7 --- /dev/null +++ b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests-oldv1/c5-outputs.tf @@ -0,0 +1,13 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.public_ip +} + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.public_dns +} diff --git a/BACKUP-2024/06-Terraform-Datasources/terraform-manifests-oldv1/c6-ami-datasource.tf b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests-oldv1/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests-oldv1/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/06-Terraform-Datasources/terraform-manifests/apache-install.sh b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/06-Terraform-Datasources/terraform-manifests/c1-versions.tf b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..ac68536e --- /dev/null +++ b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests/c1-versions.tf @@ -0,0 +1,21 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/06-Terraform-Datasources/terraform-manifests/c2-variables.tf b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests/c2-variables.tf new file mode 100644 index 00000000..02504d42 --- /dev/null +++ b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests/c2-variables.tf @@ -0,0 +1,22 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +/* +# Commented as we are going to get AMI ID from Datasource aws_ami +variable "ec2_ami_id" { + description = "AMI ID" + type = string + default = "ami-0915bcb5fa77e4892" +} +*/ + +variable "ec2_instance_type" { + description = "EC2 Instance Type" + type = string + default = "t3.micro" +} + diff --git a/BACKUP-2024/06-Terraform-Datasources/terraform-manifests/c3-security-groups.tf b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests/c3-security-groups.tf new file mode 100644 index 00000000..1ca810d6 --- /dev/null +++ b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/06-Terraform-Datasources/terraform-manifests/c4-ec2-instance.tf b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests/c4-ec2-instance.tf new file mode 100644 index 00000000..1ff6a348 --- /dev/null +++ b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests/c4-ec2-instance.tf @@ -0,0 +1,15 @@ +# Create EC2 Instance - Amazon Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.ec2_instance_type + key_name = "terraform-key" + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "amz-linux-vm" + } +} + + + + diff --git a/BACKUP-2024/06-Terraform-Datasources/terraform-manifests/c5-outputs.tf b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests/c5-outputs.tf new file mode 100644 index 00000000..b94beeb7 --- /dev/null +++ b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests/c5-outputs.tf @@ -0,0 +1,13 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.public_ip +} + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.public_dns +} diff --git a/BACKUP-2024/06-Terraform-Datasources/terraform-manifests/c6-ami-datasource.tf b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/06-Terraform-Datasources/terraform-manifests/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/README.md b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/README.md new file mode 100644 index 00000000..362e9bce --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/README.md @@ -0,0 +1,169 @@ +# Terraform Remote State Storage & Locking + +## Step-01: Introduction +- Understand Terraform Backends +- Understand about Remote State Storage and its advantages +- This state is stored by default in a local file named "terraform.tfstate", but it can also be stored remotely, which works better in a team environment. +- Create AWS S3 bucket to store `terraform.tfstate` file and enable backend configurations in terraform settings block +- Understand about **State Locking** and its advantages +- Create DynamoDB Table and implement State Locking by enabling the same in Terraform backend configuration + +## Step-02: Create S3 Bucket +- Go to Services -> S3 -> Create Bucket +- **Bucket name:** terraform-stacksimplify +- **Region:** US-East (N.Virginia) +- **Bucket settings for Block Public Access:** leave to defaults +- **Bucket Versioning:** Enable +- Rest all leave to **defaults** +- Click on **Create Bucket** +- **Create Folder** + - **Folder Name:** dev + - Click on **Create Folder** + + +## Step-03: Terraform Backend Configuration +- **Reference Sub-folder:** terraform-manifests +- [Terraform Backend as S3](https://www.terraform.io/docs/language/settings/backends/s3.html) +- Add the below listed Terraform backend block in `Terrafrom Settings` block in `main.tf` +```t +# Terraform Backend Block + backend "s3" { + bucket = "terraform-stacksimplify" + key = "dev/terraform.tfstate" + region = "us-east-1" + } +``` + +## Step-04: Test with Remote State Storage Backend +```t +# Initialize Terraform +terraform init + +Observation: +Successfully configured the backend "s3"! Terraform will automatically +use this backend unless the backend configuration changes. + +# Verify S3 Bucket for terraform.tfstate file +bucket-name/dev/terraform.tfstate + +# Validate Terraform configuration files +terraform validate + +# Verify S3 Bucket for terraform.tfstate file +bucket-name/dev/terraform.tfstate + +# Format Terraform configuration files +terraform fmt + +# Verify S3 Bucket for terraform.tfstate file +bucket-name/dev/terraform.tfstate + +# Review the terraform plan +terraform plan + +# Verify S3 Bucket for terraform.tfstate file +bucket-name/dev/terraform.tfstate + +# Create Resources +terraform apply -auto-approve + +# Verify S3 Bucket for terraform.tfstate file +bucket-name/dev/terraform.tfstate +Observation: Finally at this point you should see the terraform.tfstate file in s3 bucket + +# Access Application +http:// +``` + +## Step-05: Bucket Versioning - Test +- Update in `c2-variables.tf` +```t +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string + #default = "t2.micro" + default = "t2.small" +} +``` +- Execute Terraform Commands +```t +# Review the terraform plan +terraform plan + +# Create Resources +terraform apply -auto-approve + +# Verify S3 Bucket for terraform.tfstate file +bucket-name/dev/terraform.tfstate +Observation: New version of terraform.tfstate file will be created +``` + + +## Step-06: Destroy Resources +- Destroy Resources and Verify Bucket Versioning +```t +# Destroy Resources +terraform destroy -auto-approve +``` +## Step-07: Terraform State Locking Introduction +- Understand about Terraform State Locking Advantages + +## Step-08: Add State Locking Feature using DynamoDB Table +- Create Dynamo DB Table + - **Table Name:** terraform-dev-state-table + - **Partition key (Primary Key):** LockID (Type as String) + - **Table settings:** Use default settings (checked) + - Click on **Create** + +## Step-09: Update DynamoDB Table entry in backend in c1-versions.tf +- Enable State Locking in `c1-versions.tf` +```t + # Adding Backend as S3 for Remote State Storage with State Locking + backend "s3" { + bucket = "terraform-stacksimplify" + key = "dev2/terraform.tfstate" + region = "us-east-1" + + # For State Locking + dynamodb_table = "terraform-dev-state-table" + } +``` + +## Step-10: Execute Terraform Commands +```t +# Initialize Terraform +terraform init + +# Review the terraform plan +terraform plan +Observation: +1) Below messages displayed at start and end of command +Acquiring state lock. This may take a few moments... +Releasing state lock. This may take a few moments... +2) Verify DynamoDB Table -> Items tab + +# Create Resources +terraform apply -auto-approve + +# Verify S3 Bucket for terraform.tfstate file +bucket-name/dev2/terraform.tfstate +Observation: New version of terraform.tfstate file will be created in dev2 folder +``` + +## Step-11: Destroy Resources +- Destroy Resources and Verify Bucket Versioning +```t +# Destroy Resources +terraform destroy -auto-approve + +# Clean-Up Files +rm -rf .terraform* +rm -rf terraform.tfstate* # This step not needed as e are using remote state storage here +``` + +## References +- [AWS S3 Backend](https://www.terraform.io/docs/language/settings/backends/s3.html) +- [Terraform Backends](https://www.terraform.io/docs/language/settings/backends/index.html) +- [Terraform State Storage](https://www.terraform.io/docs/language/state/backends.html) +- [Terraform State Locking](https://www.terraform.io/docs/language/state/locking.html) +- [Remote Backends - Enhanced](https://www.terraform.io/docs/language/settings/backends/remote.html) \ No newline at end of file diff --git a/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests-oldv1/apache-install.sh b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests-oldv1/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests-oldv1/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests-oldv1/c1-versions.tf b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests-oldv1/c1-versions.tf new file mode 100644 index 00000000..4acfe756 --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests-oldv1/c1-versions.tf @@ -0,0 +1,31 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } + # Adding Backend as S3 for Remote State Storage + backend "s3" { + bucket = "terraform-stacksimplify" + key = "dev/terraform.tfstate" + region = "us-east-1" +/* + # Enable during Step-09 + # For State Locking + dynamodb_table = "terraform-dev-state-table" +*/ + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests-oldv1/c2-variables.tf b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests-oldv1/c2-variables.tf new file mode 100644 index 00000000..c3596e08 --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests-oldv1/c2-variables.tf @@ -0,0 +1,13 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string + #default = "t2.micro" + default = "t2.small" +} \ No newline at end of file diff --git a/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests-oldv1/c3-security-groups.tf b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests-oldv1/c3-security-groups.tf new file mode 100644 index 00000000..1ca810d6 --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests-oldv1/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests-oldv1/c4-ec2-instance.tf b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests-oldv1/c4-ec2-instance.tf new file mode 100644 index 00000000..8839bb42 --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests-oldv1/c4-ec2-instance.tf @@ -0,0 +1,15 @@ +# Create EC2 Instance - Amazon Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + key_name = "terraform-key" + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "amz-linux-vm" + } +} + + + + diff --git a/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests-oldv1/c5-outputs.tf b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests-oldv1/c5-outputs.tf new file mode 100644 index 00000000..b94beeb7 --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests-oldv1/c5-outputs.tf @@ -0,0 +1,13 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.public_ip +} + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.public_dns +} diff --git a/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests-oldv1/c6-ami-datasource.tf b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests-oldv1/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests-oldv1/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests/apache-install.sh b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests/c1-versions.tf b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..1be1512b --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests/c1-versions.tf @@ -0,0 +1,31 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } + # Adding Backend as S3 for Remote State Storage + backend "s3" { + bucket = "terraform-stacksimplify" + key = "dev/terraform.tfstate" + region = "us-east-1" +/* + # Enable during Step-09 + # For State Locking + dynamodb_table = "terraform-dev-state-table" +*/ + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests/c2-variables.tf b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests/c2-variables.tf new file mode 100644 index 00000000..c3596e08 --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests/c2-variables.tf @@ -0,0 +1,13 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string + #default = "t2.micro" + default = "t2.small" +} \ No newline at end of file diff --git a/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests/c3-security-groups.tf b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests/c3-security-groups.tf new file mode 100644 index 00000000..1ca810d6 --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests/c4-ec2-instance.tf b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests/c4-ec2-instance.tf new file mode 100644 index 00000000..8839bb42 --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests/c4-ec2-instance.tf @@ -0,0 +1,15 @@ +# Create EC2 Instance - Amazon Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + key_name = "terraform-key" + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "amz-linux-vm" + } +} + + + + diff --git a/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests/c5-outputs.tf b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests/c5-outputs.tf new file mode 100644 index 00000000..b94beeb7 --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests/c5-outputs.tf @@ -0,0 +1,13 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.public_ip +} + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.public_dns +} diff --git a/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests/c6-ami-datasource.tf b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-01-Terraform-Remote-State-Storage-and-Locking/terraform-manifests/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/README.md b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/README.md new file mode 100644 index 00000000..00727945 --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/README.md @@ -0,0 +1,386 @@ +# Terraform State Commands + +## Step-01: Introduction +- Terraform Commands + - terraform show + - terraform refresh + - terraform plan (internally calls refresh) + - terraform state + - terraform force-unlock + - terraform taint + - terraform untaint + - terraform apply target command + +## Pre-requisite: c1-versions.tf +- Update your backend block with your bucket name, key and region +- Also update your dynamodb table name +```t +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } + # Adding Backend as S3 for Remote State Storage + backend "s3" { + bucket = "terraform-stacksimplify" + key = "statecommands/terraform.tfstate" + region = "us-east-1" + + # Enable during Step-09 + # For State Locking + dynamodb_table = "terraform-dev-state-table" + + } +} +``` + +## Step-02: Terraform Show Command to review Terraform plan files +- The `terraform show` command is used to provide human-readable output from a state or plan file. +- This can be used to inspect a plan to ensure that the planned operations are expected, or to inspect the current state as +- Terraform plan output files are binary files. We can read them using `terraform show` command +```t +# Initialize Terraform +terraform init + +# Create Plan +terraform plan -out=v1plan.out + +# Read the plan +terraform show v1plan.out + +# Read the plan in json format +terraform show -json v1plan.out +``` + +## Step-03: Terraform Show command to Read State files +- By default, in the working directory if we have `terraform.tfstate` file, when we provide the command `terraform show` it will read the state file automatically and display output. +```t +# Terraform Show +terraform show +Observation: It should say "No State" because we will still didn't create any resources yet and no state file in current working directory + +# Create Resources +terraform apply -auto-approve + +# Terraform Show +terraform show +Observation: It should display the state file +``` + +## Step-04: Understand terraform refresh in detail +- This commands comes under **Terraform Inspecting State** +- Understanding `terraform refresh` clears a lot of doubts in our mind and terraform state file and state feature +- The terraform refresh command is used to reconcile the state Terraform knows about (via its state file) with the real-world infrastructure. +- This can be used to detect any drift from the last-known state, and to update the state file. +- This does not modify infrastructure, but does modify the state file. If the state is changed, this may cause changes to occur during the next plan or apply. +- **terraform refresh:** Update local state file against real resources in cloud +- **Desired State:** Local Terraform Manifest (All *.tf files) +- **Current State:** Real Resources present in your cloud +- **Command Order of Execution:** refresh, plan, make a decision, apply +- Why? Lets understand that in detail about this order of execution +### Step-04-01: Add a new tag to EC2 Instance using AWS Management Console +```t +"demotag" = "refreshtest" +``` + +### Step-04-02: Execute terraform plan +- You should observe no changes to local state file because plan does the comparison in memory +- Verify S3 Bucket - no update to tfstate file about the change +```t +# Execute Terraform plan +terraform plan +``` +### Step-04-03: Execute terraform refresh +- You should see terraform state file updated with new demo tag +``` +# Execute terraform refresh +terraform refresh + +# Review terraform state file +1) terraform show +2) Also verify S3 bucket, new version of terraform.tfstate file will be created +``` +### Step-04-04: Why you need to the execution in this order (refresh, plan, make a decision, apply) ? +- There are changes happened in your infra manually and not via terraform. +- Now decision to be made if you want those changes or not. +- **Choice-1:** If you dont want those changes proceed with terraform apply so manual changes we have done on our cloud EC2 Instance will be removed. +- **Choice-2:** If you want those changes, refer `terraform.tfstate` file about changes and embed them in your terraform manifests (example: c4-ec2-instance.tf) and proceed with flow (referesh, plan, review execution plan and apply) + +### Step-04-05: I picked choice-2, so i will update the tags in c4-ec2-instance.tf +- Update in c4-ec2-instance.tf +```t + tags = { + "Name" = "amz-linux-vm" + "demotag" = "refreshtest" + } +``` +### Step-04-06: Execute the commands to make our manual change official in terraform manifests and tfstate files perspective +```t +# Terraform Refresh +terraform refresh + +# Terraform Plan +terraform plan + +# Terraform Apply +terraform apply -auto-approve +``` + + +## Step-05: Terraform State Command +### Step-05-01: Terraform State List and Show commands +- These two commands comes under **Terraform Inspecting State** +- **terraform state list:** This command is used to list resources within a Terraform state. +- **terraform state show:** This command is used to show the attributes of a single resource in the Terraform state. +```t +# List Resources from Terraform State +terraform state list + +# Show the attributes of a single resource from Terraform State +terraform state show data.aws_ami.amzlinux +terraform state show aws_instance.my-ec2-vm +``` +### Step-05-02: Terraform State mv command +- This commands comes under **Terraform Moving Resources** +- This command will move an item matched by the address given to the + destination address. +- This command can also move to a destination address + in a completely different state file +- Very dangerous command +- Very advanced usage command +- Results will be unpredictable if concept is not clear about terraform state files mainly desired state and current state. +- Try this in production environments, only when everything worked well in lower environments. +```t +# Terraform List Resources +terraform state list + +# Terraform State Move Resources to different name +terraform state mv -dry-run aws_instance.my-ec2-vm aws_instance.my-ec2-vm-new +terraform state mv aws_instance.my-ec2-vm aws_instance.my-ec2-vm-new +ls -lrta + +Observation: +1) It should create a backup file of terraform.tfstate as something like this "terraform.tfstate.1611929587.backup" +1) It renamed the name of "my-ec2-vm" in state file to "my-ec2-vm-new". +2) Run terraform plan and observe what happens in next run of terraform plan and apply +----------------------------- +# WRONG APPROACH +----------------------------- +# WRONG APPROACH OF MOVING TO TERRAFORM PLAN AND APPLY AFTER ABOVE CHANGE terraform state mv CHANGE +# WE NEED TO UPDATE EQUIVALENT RESOURCE in terraform manifests to match the same new name. + +# Terraform Plan +terraform plan +Observation: It will show "Plan: 1 to add, 0 to change, 1 to destroy." +1 to add: New EC2 Instance will be added +1 to destroy: Old EC2 instance will be destroyed + +DON'T DO TERRAFORM APPLY because it shows make changes. Nothing changed other than state file local naming of a resource. Ideally nothing on current state (real cloud environment should not change due to this) +----------------------------- + +----------------------------- +# RIGHT APPROACH +----------------------------- +Update "c3-ec2-instance.tf" +Before: resource "aws_instance" "my-ec2-vm" { +After: resource "aws_instance" "my-ec2-vm-new" { + +Update all references of this resources in your terraform manifests +Update c5-outputs.tf +Before: value = aws_instance.my-ec2-vm.public_ip +After: value = aws_instance.my-ec2-vm-new.public_ip + +Before: value = aws_instance.my-ec2-vm.public_dns +After: value = aws_instance.my-ec2-vm-new.public_dns + +Now run terraform plan and you should see no changes to Infra + +# Terraform Plan +terraform plan +Observation: +1) Message-1: No changes. Infrastructure is up-to-date +2) Message-2: This means that Terraform did not detect any differences between your +configuration and real physical resources that exist. As a result, no +actions need to be performed. + +``` +### Step-05-03: Terraform State rm command +- This commands comes under **Terraform Moving Resources** +- The `terraform state rm` command is used to remove items from the Terraform state. +- This command can remove single resources, single instances of a resource, entire modules, and more. +```t +# Terraform List Resources +terraform state list + +# Remove Resources from Terraform State +terraform state rm -dry-run aws_instance.my-ec2-vm-new +terraform state rm aws_instance.my-ec2-vm-new +Observation: +1) Firstly takes backup of current state file before removing (example: terraform.tfstate.1611930284.backup) +2) Removes it from terraform.tfstate file + +# Terraform Plan +terraform plan +Observation: It will tell you that resource is not in state file but same is present in your terraform manifests (03-ec2-instace.tf - DESIRED STATE). Do you want to re-create it? +This will re-create new EC2 instance excluding one created earlier and running + +Make a Choice +------------- +Choice-1: You want this resource to be running on cloud but should not be managed by terraform. Then remove its references in terraform manifests(DESIRED STATE). So that the one running in AWS cloud (current infra) this instance will be independent of terraform. +Choice-2: You want a new resource to be created without deleting other one (non-terraform managed resource now in current state). Run terraform plan and apply +LIKE THIS WE NEED TO MAKE DECISIONS ON WHAT WOULD BE OUR OUTCOME OF REMOVING A RESOURCE FROM STATE. + +PRIMARY REASON for this is command is that respective resource need to be removed from as terraform managed. + +# Run Terraform Plan +terraform plan + +# Run Terraform Apply +terraform apply +``` + +# Step-05-04: Terraform State replace-provider command +- This commands comes under **Terraform Moving Resources** +- [Terraform State Replace Provider](https://www.terraform.io/docs/cli/commands/state/replace-provider.html) + + +### Step-05-05: Terraform State pull / push command +- This command comes under **Terraform Disaster Recovery Concept** +- **terraform state pull:** + - The `terraform state pull` command is used to manually download and output the state from remote state. + - This command also works with local state. + - This command will download the state from its current location and output the raw format to stdout. +- **terraform state push:** The `terraform state push` command is used to manually upload a local state file to remote state. + +```t +# Other State Commands (Pull / Push) +terraform state pull +terraform state push +``` + +## Step-06: Terraform force-unlock command +- This command comes under **Terraform Disaster Recovery Concept** +- Manually unlock the state for the defined configuration. +- This will not modify your infrastructure. +- This command removes the lock on the state for the current configuration. +- The behavior of this lock is dependent on the backend (aws s3 with dynamodb for state locking etc) being used. +- **Important Note:** Local state files cannot be unlocked by another process. +```t +# Manually Unlock the State +terraform force-unlock LOCK_ID +``` + +## Step-07: Terraform taint & untaint commands +- These commands comes under **Terraform Forcing Re-creation of Resources** +- When a resource declaration is modified, Terraform usually attempts to update the existing resource in place (although some changes can require destruction and re-creation, usually due to upstream API limitations). +- **Example:** A virtual machine that configures itself with cloud-init on startup might no longer meet your needs if the cloud-init configuration changes. +- **terraform taint:** The `terraform taint` command manually marks a Terraform-managed resource as tainted, forcing it to be destroyed and recreated on the next apply. +- **terraform untaint:** + - The terraform untaint command manually unmarks a Terraform-managed resource as tainted, restoring it as the primary instance in the state. + - This reverses either a manual terraform taint or the result of provisioners failing on a resource. + - This command will not modify infrastructure, but does modify the state file in order to unmark a resource as tainted. +```t +# List Resources from state +terraform state list + +# Taint a Resource +terraform taint +terraform taint aws_instance.my-ec2-vm-new + +# Terraform Plan +terraform plan +Observation: +Message: "-/+ destroy and then create replacement" + +# Untaint a Resource +terraform untaint +terraform untaint aws_instance.my-ec2-vm-new + +# Terraform Plan +terraform plan +Observation: +Message: "No changes. Infrastructure is up-to-date." +``` + + +## Step-08: Terraform Resource Targeting - Plan, Apply (-target) Option +- The `-target` option can be used to focus Terraform's attention on only a subset of resources. +- [Terraform Resource Targeting](https://www.terraform.io/docs/cli/commands/plan.html#resource-targeting) +- This targeting capability is provided for exceptional circumstances, such as recovering from mistakes or working around Terraform limitations. +- It is not recommended to use `-target` for routine operations, since this can lead to undetected configuration drift and confusion about how the true state of resources relates to configuration. +- Instead of using `-target` as a means to operate on isolated portions of very large configurations, prefer instead to break large configurations into several smaller configurations that can each be independently applied. +```t +# Lets make two changes +Change-1: Add new tag in c4-ec2-instance.tf + "target" = "Target-Test-1" +Change-2: Add additional inbound rule in "vpc-web" security group for port 8080 + ingress { + description = "Allow Port 8080" + from_port = 8080 + to_port = 8080 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } +Change-3: Add new EC2 Resource +# New VM +resource "aws_instance" "my-demo-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + tags = { + "Name" = "demo-vm1" + } +} + +# List Resources from state +terraform state list + +# Terraform plan +terraform plan -target=aws_instance.my-ec2-vm-new +Observation: +0) Message: "Plan: 0 to add, 2 to change, 0 to destroy." +1) It is updating Change-1 because we are targeting that resource "aws_instance.my-ec2-vm-new" +2) It is updating change-2 "vpc-web" because its a dependent resource for "aws_instance.my-ec2-vm-new" +3) It is not touching the new resource which we are creating now. It will be in terraform configuration but not getting provisioned when we are using -target + +# Terraform Apply +terraform apply -target=aws_instance.my-ec2-vm-new + +``` + +## Step-09: Terraform Destroy & Clean-Up +```t +# Destory Resources +terraform destroy -auto-approve + +# Clean-Up Files +rm -rf .terraform* +rm -rf v1plan.out + +# Kalyan - Not to forgot to change these things after Recording +# Ensure below two lines are in commented state in c4-ec2-instance.tf +1) This is required for students demo for this entire section to implement in a step by step manner from beginning + #"demotag" = "refreshtest" # Enable during Step-04-05 + # "target" = "Target-Test-1" # Enable during step-08 +2) Rename the local name for EC2 Instance from "my-ec2-vm-new" to "my-ec2-vm" +Changed during step 05-02: aws_instance.my-ec2-vm-new +Roll back for the students to have a seamless demo + +3) Roll back changes you have made in step-08 +3.1: New tag in EC2 Instance +3.2: New rule in vpc-web security group +3.3: New EC2 Instance resource in c4-ec2-instance.tf +``` + +## References +- [Terraform State Command](https://www.terraform.io/docs/cli/commands/state/index.html) +- [Terraform Inspect State](https://www.terraform.io/docs/cli/state/inspect.html) +- [Terraform Moving Resources](https://www.terraform.io/docs/cli/state/move.html) +- [Terraform Disaster Recovery](https://www.terraform.io/docs/cli/state/recover.html) +- [Terraform Taint](https://www.terraform.io/docs/cli/state/taint.html) +- [Terraform State](https://www.terraform.io/docs/language/state/index.html) +- [Manipulating Terraform State](https://www.terraform.io/docs/cli/state/index.html) +- [Additional Reference](https://www.hashicorp.com/blog/detecting-and-managing-drift-with-terraform) diff --git a/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests-oldv1/apache-install.sh b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests-oldv1/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests-oldv1/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests-oldv1/c1-versions.tf b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests-oldv1/c1-versions.tf new file mode 100644 index 00000000..f59fe455 --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests-oldv1/c1-versions.tf @@ -0,0 +1,31 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } + # Adding Backend as S3 for Remote State Storage + backend "s3" { + bucket = "terraform-stacksimplify" + key = "statecommands/terraform.tfstate" + region = "us-east-1" + + # Enable during Step-09 + # For State Locking + dynamodb_table = "terraform-dev-state-table" + + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests-oldv1/c2-variables.tf b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests-oldv1/c2-variables.tf new file mode 100644 index 00000000..c3596e08 --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests-oldv1/c2-variables.tf @@ -0,0 +1,13 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string + #default = "t2.micro" + default = "t2.small" +} \ No newline at end of file diff --git a/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests-oldv1/c3-security-groups.tf b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests-oldv1/c3-security-groups.tf new file mode 100644 index 00000000..bd0899a0 --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests-oldv1/c3-security-groups.tf @@ -0,0 +1,58 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } +/* + # Enable during Step-08 + ingress { + description = "Allow Port 8080" + from_port = 8080 + to_port = 8080 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } +*/ + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests-oldv1/c4-ec2-instance.tf b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests-oldv1/c4-ec2-instance.tf new file mode 100644 index 00000000..52f2a141 --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests-oldv1/c4-ec2-instance.tf @@ -0,0 +1,29 @@ +# Create EC2 Instance - Amazon Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + #instance_type = "t2.micro" + key_name = "terraform-key" + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "amz-linux-vm" + #"demotag" = "refreshtest" # Enable during Step-04-05 + #"target" = "Target-Test-1" # Enable during step-08 + } +} + +/* +# Enable during step-08 +# New VM +resource "aws_instance" "my-demo-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + tags = { + "Name" = "demo-vm1" + } +} +*/ + + + diff --git a/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests-oldv1/c5-outputs.tf b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests-oldv1/c5-outputs.tf new file mode 100644 index 00000000..b94beeb7 --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests-oldv1/c5-outputs.tf @@ -0,0 +1,13 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.public_ip +} + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.public_dns +} diff --git a/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests-oldv1/c6-ami-datasource.tf b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests-oldv1/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests-oldv1/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests/apache-install.sh b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests/c1-versions.tf b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..0e1af35b --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests/c1-versions.tf @@ -0,0 +1,31 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } + # Adding Backend as S3 for Remote State Storage + backend "s3" { + bucket = "terraform-stacksimplify" + key = "statecommands/terraform.tfstate" + region = "us-east-1" + + # Enable during Step-09 + # For State Locking + dynamodb_table = "terraform-dev-state-table" + + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests/c2-variables.tf b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests/c2-variables.tf new file mode 100644 index 00000000..c3596e08 --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests/c2-variables.tf @@ -0,0 +1,13 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string + #default = "t2.micro" + default = "t2.small" +} \ No newline at end of file diff --git a/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests/c3-security-groups.tf b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests/c3-security-groups.tf new file mode 100644 index 00000000..bd0899a0 --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests/c3-security-groups.tf @@ -0,0 +1,58 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } +/* + # Enable during Step-08 + ingress { + description = "Allow Port 8080" + from_port = 8080 + to_port = 8080 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } +*/ + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests/c4-ec2-instance.tf b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests/c4-ec2-instance.tf new file mode 100644 index 00000000..52f2a141 --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests/c4-ec2-instance.tf @@ -0,0 +1,29 @@ +# Create EC2 Instance - Amazon Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + #instance_type = "t2.micro" + key_name = "terraform-key" + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "amz-linux-vm" + #"demotag" = "refreshtest" # Enable during Step-04-05 + #"target" = "Target-Test-1" # Enable during step-08 + } +} + +/* +# Enable during step-08 +# New VM +resource "aws_instance" "my-demo-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + tags = { + "Name" = "demo-vm1" + } +} +*/ + + + diff --git a/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests/c5-outputs.tf b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests/c5-outputs.tf new file mode 100644 index 00000000..b94beeb7 --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests/c5-outputs.tf @@ -0,0 +1,13 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.public_ip +} + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.public_dns +} diff --git a/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests/c6-ami-datasource.tf b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/07-Terraform-State/07-02-Terraform-State-Commands/terraform-manifests/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v1-local-backend/apache-install.sh b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v1-local-backend/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v1-local-backend/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v1-local-backend/c1-versions.tf b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v1-local-backend/c1-versions.tf new file mode 100644 index 00000000..a305835c --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v1-local-backend/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v1-local-backend/c2-variables.tf b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v1-local-backend/c2-variables.tf new file mode 100644 index 00000000..f55f87b6 --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v1-local-backend/c2-variables.tf @@ -0,0 +1,13 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string + default = "t2.micro" + #default = "t2.small" +} \ No newline at end of file diff --git a/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v1-local-backend/c3-security-groups.tf b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v1-local-backend/c3-security-groups.tf new file mode 100644 index 00000000..98fe5ff7 --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v1-local-backend/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh-${terraform.workspace}" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web-${terraform.workspace}" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v1-local-backend/c4-ec2-instance.tf b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v1-local-backend/c4-ec2-instance.tf new file mode 100644 index 00000000..458caf16 --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v1-local-backend/c4-ec2-instance.tf @@ -0,0 +1,16 @@ +# Create EC2 Instance - Amazon Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + key_name = "terraform-key" + count = terraform.workspace == "default" ? 2 : 1 + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "vm-${terraform.workspace}-${count.index}" + } +} + + + + diff --git a/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v1-local-backend/c5-outputs.tf b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v1-local-backend/c5-outputs.tf new file mode 100644 index 00000000..ad086758 --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v1-local-backend/c5-outputs.tf @@ -0,0 +1,14 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.*.public_ip +} + + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.*.public_dns +} diff --git a/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v1-local-backend/c6-ami-datasource.tf b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v1-local-backend/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v1-local-backend/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v2-remote-backend/apache-install.sh b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v2-remote-backend/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v2-remote-backend/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v2-remote-backend/c1-versions.tf b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v2-remote-backend/c1-versions.tf new file mode 100644 index 00000000..b7e50ad0 --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v2-remote-backend/c1-versions.tf @@ -0,0 +1,29 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } + # Adding Backend as S3 for Remote State Storage + backend "s3" { + bucket = "terraform-stacksimplify" + key = "workspaces/terraform.tfstate" + region = "us-east-1" + + # For State Locking + dynamodb_table = "terraform-dev-state-table" + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v2-remote-backend/c2-variables.tf b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v2-remote-backend/c2-variables.tf new file mode 100644 index 00000000..f55f87b6 --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v2-remote-backend/c2-variables.tf @@ -0,0 +1,13 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string + default = "t2.micro" + #default = "t2.small" +} \ No newline at end of file diff --git a/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v2-remote-backend/c3-security-groups.tf b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v2-remote-backend/c3-security-groups.tf new file mode 100644 index 00000000..98fe5ff7 --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v2-remote-backend/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh-${terraform.workspace}" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web-${terraform.workspace}" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v2-remote-backend/c4-ec2-instance.tf b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v2-remote-backend/c4-ec2-instance.tf new file mode 100644 index 00000000..458caf16 --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v2-remote-backend/c4-ec2-instance.tf @@ -0,0 +1,16 @@ +# Create EC2 Instance - Amazon Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + key_name = "terraform-key" + count = terraform.workspace == "default" ? 2 : 1 + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "vm-${terraform.workspace}-${count.index}" + } +} + + + + diff --git a/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v2-remote-backend/c5-outputs.tf b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v2-remote-backend/c5-outputs.tf new file mode 100644 index 00000000..1e4f766f --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v2-remote-backend/c5-outputs.tf @@ -0,0 +1,14 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.*.public_ip +} + + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.*.public_dns +} diff --git a/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v2-remote-backend/c6-ami-datasource.tf b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v2-remote-backend/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/Oldv1-backup/v2-remote-backend/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/08-Terraform-Workspaces/README.md b/BACKUP-2024/08-Terraform-Workspaces/README.md new file mode 100644 index 00000000..8c44502f --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/README.md @@ -0,0 +1,292 @@ +# Terraform Workspaces + +## Step-01: Introduction +- We are going to create 2 more workspaces (dev,qa) in addition to default workspace +- Update our terraform manifests to support `terraform workspace` + - Primarily for security group name to be unique for each workspace + - In the same way for EC2 VM Instance Name tag. +- Master the below listed `terraform workspace` commands + - terraform workspace show + - terraform workspace list + - terraform workspace new + - terraform workspace select + - terraform workspace delete + + +## Step-02: Update terraform manifests to support multiple workspaces +- **Sub-folder we are working on:** v1-local-backend +- Ideally, AWS don't allow to create a security group with same name twice. +- With that said, we need to change our security group names in our `c2-security-groups.tf` +- At the same time, just for reading convenience we can also have our EC2 Instance `Name tag` also updated inline with workspace name. +- What is **${terraform.workspace}**? - It will get the workspace name +- **Popular Usage-1:** Using the workspace name as part of naming or tagging behavior +- **Popular Usage-2:** Referencing the current workspace is useful for changing behavior based on the workspace. For example, for non-default workspaces, it may be useful to spin up smaller cluster sizes. +```t +# Change-1: Security Group Names + name = "vpc-ssh-${terraform.workspace}" + name = "vpc-web-${terraform.workspace}" + +# Change-2: For non-default workspaces, it may be useful to spin up smaller cluster sizes. + count = terraform.workspace == "default" ? 2 : 1 +This will create 2 instances if we are in default workspace and in any other workspaces it will create 1 instance + +# Change-3: EC2 Instance Name tag + "Name" = "vm-${terraform.workspace}-${count.index}" + +# Change-4: Outputs + value = aws_instance.my-ec2-vm.*.public_ip + value = aws_instance.my-ec2-vm.*.public_dns +You can create a list of all of the values of a given attribute for the items in the collection with a star. For instance, aws_instance.my-ec2-vm.*.id will be a list of all of the Public IP of the instances. +``` + +## Step-03: Create resources in default workspaces +- Default Workspace: Every initialized working directory has at least one workspace. +- If you haven't created other workspaces, it is a workspace named **default** +- For a given working directory, only one workspace can be selected at a time. +- Most Terraform commands (including provisioning and state manipulation commands) only interact with the currently selected workspace. +```t +# Terraform Init +terraform init + +# List Workspaces +terraform workspace list + +# Output Current Workspace using show +terraform workspace show + +# Terraform Plan +terraform plan +Observation: This should show us two instances based on the statement in EC2 Instance Resource "count = terraform.workspace == "default" ? 2 : 1" because we are creating this in default workspace + +# Terraform Apply +terraform apply -auto-approve + +# Verify +Verify the same in AWS Management console +Observation: +1) Two instances should be created with name as "vm-default-0, vm-default-1") +2) Security Groups should be created with names as "vpc-ssh-default, vpc-web-default) +3) Observe the outputs on CLI, you should see list of Public IP and Public DNS +``` + +## Step-04: Create New Workspace and Provision Infra +```t +# Create New Workspace +terraform workspace new dev + +# Verify the folder +cd terraform.tfstate.d +cd dev +ls +cd ../../ + +# Terraform Plan +terraform plan +Observation: This should show us creating only 1 instance based on statement "count = terraform.workspace == "default" ? 2 : 1" as we are creating this in non-default workspace named dev + +# Terraform Apply +terraform apply -auto-approve + +# Verify Dev Workspace statefile +cd terraform.tfstate.d/dev +ls +cd ../../ +Observation: You should fine "terraform.tfstate" in "current-working-directory/terraform.tfstate.d/dev" folder + +# Verify EC2 Instance in AWS mgmt console +Observation: +1) Name should be with "vm-dev-0" +2) Security Group names should be as "vpc-ssh-dev, vpc-web-dev" +``` + +## Step-05: Switch workspace and destroy resources +- Switch workspace from dev to default and destroy resources in default workspace +```t +# Show current workspace +terraform workspace show + +# List Worksapces +terraform workspace list + +# Workspace select +terraform workspace select default + +# Delete Resources from default workspace +terraform destroy + +# Verify +1) Verify in AWS Mgmt Console (both instances and security groups should be deleted) +``` + +## Step-06: Delete dev workspace +- We cannot delete "default" workspace +- We can delete workspaces which we created (dev, qa etc) +```t +# Delete Dev Workspace +terraform workspace delete dev +Observation: Workspace "dev" is not empty. +Deleting "dev" can result in dangling resources: resources that +exist but are no longer manageable by Terraform. Please destroy +these resources first. If you want to delete this workspace +anyway and risk dangling resources, use the '-force' flag. + +# Switch to Dev Workspace +terraform workspace select dev + +# Destroy Resources +terraform destroy -auto-approve + +# Delete Dev Workspace +terraform workspace delete dev +Observation: +Workspace "dev" is your active workspace. +You cannot delete the currently active workspace. Please switch +to another workspace and try again. + +# Switch Workspace to default +terraform workspace select default + +# Delete Dev Workspace +terraform workspace delete dev +Observation: Successfully delete workspace dev + +# Verify +In AWS mgmt console, all EC2 instances should be deleted +``` + +## Step-07: Clean-Up Local folder +```t +# Clean-Up local folder +rm -rf .terraform* +rm -rf terraform.tfstate* +``` + +## Step-08: Terraform Workspaces in combination with Terraform Backend (Remote State Storage) +### Step-08-01: Review terraform manifest (primarily c1-versions.tf) +- **Reference Sub-Folder:** v2-remote-backend +- Only change in the template is in **c1-versions.tf**, we will have the remote backend block which we learned during section **07-01-Terraform-Remote-State-Storage-and-Locking** +```t + # Adding Backend as S3 for Remote State Storage + backend "s3" { + bucket = "terraform-stacksimplify" + key = "workspaces/terraform.tfstate" + region = "us-east-1" + # For State Locking + dynamodb_table = "terraform-dev-state-table" + } +``` +### Step-08-02: Provision infra using default workspace +```t +# Initialize Terraform +terraform init + +# List Terraform Workspaces +terraform workspace list + +# Show current Terraform workspace +terraform workspace show + +# Terraform Validate +terraform validate + +# Terraform Format +terraform fmt + +# Terraform Plan +terraform plan + +# Terraform Apply +terraform apply -auto-approve + +# Review State file in S3 Bucket for default workspace +Go to AWS Mgmt Console -> Services -> S3 -> terraform-stacksimplify -> workspaces -> terraform.tfstate +``` +### Step-08-03: Create new workspace dev and provison infra using that workspace +```t +# List Terraform Workspaces +terraform workspace list + +# Create New Terraform Workspace +terraform workspace new dev + +# List Terraform Workspaces +terraform workspace list + +# Show current Terraform workspace +terraform workspace show + +# Terraform Plan +terraform plan + +# Terraform Apply +terraform apply -auto-approve + +# Review State file in S3 Bucket for dev workspace +Go to AWS Mgmt Console -> Services -> S3 -> terraform-stacksimplify -> env:/ -> dev -> workspaces -> terraform.tfstate +``` + +### Step-08-04: Destroy resources in both workspaces (default, dev) + +```t +# Show current Terraform workspace +terraform workspace show + +# Destroy Resources in Dev Workspace +terraform destroy -auto-approve + +# Show current Terraform workspace +terraform workspace show + +# Select other workspace +terraform workspace select default + +# Show current Terraform workspace +terraform workspace show + +# Destroy Resources in default Workspace +terraform destroy -auto-approve + +# Delete Dev Workspace +terraform workspace delete dev +``` +### Step-08-05: Try deleting default workspace and understand what happens + +```t +# Try deleting default workspace +terraform workspace delete default +Observation: +1) Workspace "default" is your active workspace. +2) You cannot delete the currently active workspace. Please switch +to another workspace and try again. + +# Create new workspace +terraform workspace new test1 + +# Show current Terraform workspace +terraform workspace show + +# Try deleting default workspace now +terraform workspace delete default +Observation: +1) can't delete default state +``` + +### Step-08-06: Clean-Up +```t +# Switch workspace to default +terraform workspace select default + +# Delete test1 workspace +terraform workspace delete test1 + +# Clean-Up Terraform local folders +rm -rf .terraform* + +# Clean-Up State files in S3 bucket +Go to S3 Bucket and delete files +``` + + +## References +- [Terraform Workspaces](https://www.terraform.io/docs/language/state/workspaces.html) +- [Managing Workspaces](https://www.terraform.io/docs/cli/workspaces/index.html) \ No newline at end of file diff --git a/BACKUP-2024/08-Terraform-Workspaces/v1-local-backend/apache-install.sh b/BACKUP-2024/08-Terraform-Workspaces/v1-local-backend/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/v1-local-backend/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/08-Terraform-Workspaces/v1-local-backend/c1-versions.tf b/BACKUP-2024/08-Terraform-Workspaces/v1-local-backend/c1-versions.tf new file mode 100644 index 00000000..cffef5ab --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/v1-local-backend/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/08-Terraform-Workspaces/v1-local-backend/c2-variables.tf b/BACKUP-2024/08-Terraform-Workspaces/v1-local-backend/c2-variables.tf new file mode 100644 index 00000000..f55f87b6 --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/v1-local-backend/c2-variables.tf @@ -0,0 +1,13 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string + default = "t2.micro" + #default = "t2.small" +} \ No newline at end of file diff --git a/BACKUP-2024/08-Terraform-Workspaces/v1-local-backend/c3-security-groups.tf b/BACKUP-2024/08-Terraform-Workspaces/v1-local-backend/c3-security-groups.tf new file mode 100644 index 00000000..98fe5ff7 --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/v1-local-backend/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh-${terraform.workspace}" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web-${terraform.workspace}" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/08-Terraform-Workspaces/v1-local-backend/c4-ec2-instance.tf b/BACKUP-2024/08-Terraform-Workspaces/v1-local-backend/c4-ec2-instance.tf new file mode 100644 index 00000000..458caf16 --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/v1-local-backend/c4-ec2-instance.tf @@ -0,0 +1,16 @@ +# Create EC2 Instance - Amazon Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + key_name = "terraform-key" + count = terraform.workspace == "default" ? 2 : 1 + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "vm-${terraform.workspace}-${count.index}" + } +} + + + + diff --git a/BACKUP-2024/08-Terraform-Workspaces/v1-local-backend/c5-outputs.tf b/BACKUP-2024/08-Terraform-Workspaces/v1-local-backend/c5-outputs.tf new file mode 100644 index 00000000..ad086758 --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/v1-local-backend/c5-outputs.tf @@ -0,0 +1,14 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.*.public_ip +} + + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.*.public_dns +} diff --git a/BACKUP-2024/08-Terraform-Workspaces/v1-local-backend/c6-ami-datasource.tf b/BACKUP-2024/08-Terraform-Workspaces/v1-local-backend/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/v1-local-backend/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/08-Terraform-Workspaces/v2-remote-backend/apache-install.sh b/BACKUP-2024/08-Terraform-Workspaces/v2-remote-backend/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/v2-remote-backend/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/08-Terraform-Workspaces/v2-remote-backend/c1-versions.tf b/BACKUP-2024/08-Terraform-Workspaces/v2-remote-backend/c1-versions.tf new file mode 100644 index 00000000..91a40346 --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/v2-remote-backend/c1-versions.tf @@ -0,0 +1,29 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } + # Adding Backend as S3 for Remote State Storage + backend "s3" { + bucket = "terraform-stacksimplify" + key = "workspaces/terraform.tfstate" + region = "us-east-1" + + # For State Locking + dynamodb_table = "terraform-dev-state-table" + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/08-Terraform-Workspaces/v2-remote-backend/c2-variables.tf b/BACKUP-2024/08-Terraform-Workspaces/v2-remote-backend/c2-variables.tf new file mode 100644 index 00000000..f55f87b6 --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/v2-remote-backend/c2-variables.tf @@ -0,0 +1,13 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string + default = "t2.micro" + #default = "t2.small" +} \ No newline at end of file diff --git a/BACKUP-2024/08-Terraform-Workspaces/v2-remote-backend/c3-security-groups.tf b/BACKUP-2024/08-Terraform-Workspaces/v2-remote-backend/c3-security-groups.tf new file mode 100644 index 00000000..98fe5ff7 --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/v2-remote-backend/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh-${terraform.workspace}" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web-${terraform.workspace}" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/08-Terraform-Workspaces/v2-remote-backend/c4-ec2-instance.tf b/BACKUP-2024/08-Terraform-Workspaces/v2-remote-backend/c4-ec2-instance.tf new file mode 100644 index 00000000..458caf16 --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/v2-remote-backend/c4-ec2-instance.tf @@ -0,0 +1,16 @@ +# Create EC2 Instance - Amazon Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + key_name = "terraform-key" + count = terraform.workspace == "default" ? 2 : 1 + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "vm-${terraform.workspace}-${count.index}" + } +} + + + + diff --git a/BACKUP-2024/08-Terraform-Workspaces/v2-remote-backend/c5-outputs.tf b/BACKUP-2024/08-Terraform-Workspaces/v2-remote-backend/c5-outputs.tf new file mode 100644 index 00000000..1e4f766f --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/v2-remote-backend/c5-outputs.tf @@ -0,0 +1,14 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.*.public_ip +} + + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.*.public_dns +} diff --git a/BACKUP-2024/08-Terraform-Workspaces/v2-remote-backend/c6-ami-datasource.tf b/BACKUP-2024/08-Terraform-Workspaces/v2-remote-backend/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/08-Terraform-Workspaces/v2-remote-backend/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/README.md b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/README.md new file mode 100644 index 00000000..b15a443c --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/README.md @@ -0,0 +1,210 @@ +# Terraform Provisioners + +## Step-00: Provisioner Concepts +- Generic Provisioners + - file + - local-exec + - remote-exec +- Provisioner Timings + - Creation-Time Provisioners (by default) + - Destroy-Time Provisioners +- Provisioner Failure Behavior + - continue + - fail +- Provisioner Connections +- Provisioner Without a Resource (Null Resource) + +## Pre-requisites +- Create a EC2 Key pain with name `terraform-key` and copy the `terraform-key.pem` file in the folder `private-key` in `terraform-manifest` folder +- Connection Block for provisioners uses this to connect to newly created EC2 instance to copy files using `file provisioner`, execute scripts using `remote-exec provisioner` + +## Step-01: Introduction +- Understand about File Provisioners +- Create Provisioner Connections block required for File Provisioners +- We will also discuss about **Creation-Time Provisioners (by default)** +- Understand about Provisioner Failure Behavior + - continue + - fail +- Discuss about Destroy-Time Provisioners + + +## Step-02: File Provisioner & Connection Block +- **Referencec Sub-Folder:** terraform-manifests +- Understand about file provisioner & Connection Block +- **Connection Block** + - We can have connection block inside resource block for all provisioners + -[or] We can have connection block inside a provisioner block for that respective provisioner +- **Self Object** + - **Important Technical Note:** Resource references are restricted here because references create dependencies. Referring to a resource by name within its own block would create a dependency cycle. + - Expressions in provisioner blocks cannot refer to their parent resource by name. Instead, they can use the special **self object.** + - The **self object** represents the provisioner's parent resource, and has all of that resource's attributes. +```t + # Connection Block for Provisioners to connect to EC2 Instance + connection { + type = "ssh" + host = self.public_ip # Understand what is "self" + user = "ec2-user" + password = "" + private_key = file("private-key/terraform-key.pem") + } +``` + +## Step-03: Create multiple provisioners of various types +- **Creation-Time Provisioners:** +- By default, provisioners run when the resource they are defined within is created. +- Creation-time provisioners are only run during creation, not during updating or any other lifecycle. +- They are meant as a means to perform bootstrapping of a system. +- If a creation-time provisioner fails, the resource is marked as tainted. +- A tainted resource will be planned for destruction and recreation upon the next terraform apply. +- Terraform does this because a failed provisioner can leave a resource in a semi-configured state. +- Because Terraform cannot reason about what the provisioner does, the only way to ensure proper creation of a resource is to recreate it. This is tainting. +- You can change this behavior by setting the on_failure attribute, which is covered in detail below. + +```t + + # Copies the file-copy.html file to /tmp/file-copy.html + provisioner "file" { + source = "apps/file-copy.html" + destination = "/tmp/file-copy.html" + } + + # Copies the string in content into /tmp/file.log + provisioner "file" { + content = "ami used: ${self.ami}" # Understand what is "self" + destination = "/tmp/file.log" + } + + # Copies the app1 folder to /tmp - FOLDER COPY + provisioner "file" { + source = "apps/app1" + destination = "/tmp" + } + + # Copies all files and folders in apps/app2 to /tmp - CONTENTS of FOLDER WILL BE COPIED + provisioner "file" { + source = "apps/app2/" # when "/" at the end is added - CONTENTS of FOLDER WILL BE COPIED + destination = "/tmp" + } + # Copies the file-copy.html file to /tmp/file-copy.html + provisioner "file" { + source = "apps/file-copy.html" + destination = "/tmp/file-copy.html" + } + + # Copies the string in content into /tmp/file.log + provisioner "file" { + content = "ami used: ${self.ami}" # Understand what is "self" + destination = "/tmp/file.log" + } + + # Copies the app1 folder to /tmp - FOLDER COPY + provisioner "file" { + source = "apps/app1" + destination = "/tmp" + } + + # Copies all files and folders in apps/app2 to /tmp - CONTENTS of FOLDER WILL BE COPIED + provisioner "file" { + source = "apps/app2/" # when "/" at the end is added - CONTENTS of FOLDER WILL BE COPIED + destination = "/tmp" + } +``` + +## Step-04: Create Resources using Terraform commands + +```t +# Terraform Initialize +terraform init + +# Terraform Validate +terraform validate + +# Terraform Format +terraform fmt + +# Terraform Plan +terraform plan + +# Terraform Apply +terraform apply -auto-approve + +# Verify - Login to EC2 Instance +chmod 400 private-key/terraform-key.pem +ssh -i private-key/terraform-key.pem ec2-user@IP_ADDRESSS_OF_YOUR_VM +ssh -i private-key/terraform-key.pem ec2-user@54.197.54.126 +Verify /tmp for all files copied +cd /tmp +ls -lrta /tmp + +# Clean-up +terraform destroy -auto-approve +rm -rf terraform.tfsate* +``` + +## Step-05: Failure Behavior: Understand Decision making when provisioner fails (continue / fail) +- By default, provisioners that fail will also cause the Terraform apply itself to fail. The on_failure setting can be used to change this. The allowed values are: + - **continue:** Ignore the error and continue with creation or destruction. + - **fail:** (Default Behavior) Raise an error and stop applying (the default behavior). If this is a creation provisioner, taint the resource. +- Try copying a file to Apache static content folder "/var/www/html" using file-provisioner +- This will fail because, the user you are using to copy these files is "ec2-user" for amazon linux vm. This user don't have access to folder "/var/www/html/" top copy files. +- We need to use sudo to do that. +- All we know is we cannot copy it directly, but we know we have already copied this file in "/tmp" using file provisioner +- **Try two scenarios** + - No `on_failure` attribute (Same as `on_failure = fail`) - default what happens It will Raise an error and stop applying. If this is a creation provisioner, it will taint the resource. + - When `on_failure = continue`, will continue creating resources + - **Verify:** Verify `terraform.tfstate` for `"status": "tainted"` +```t +# Test-1: Without on_failure attribute which will fail terraform apply + # Copies the file-copy.html file to /var/www/html/file-copy.html + provisioner "file" { + source = "apps/file-copy.html" + destination = "/var/www/html/file-copy.html" + } +###### Verify: Verify terraform.tfstate for "status": "tainted" + +# Test-2: With on_failure = continue + # Copies the file-copy.html file to /var/www/html/file-copy.html + provisioner "file" { + source = "apps/file-copy.html" + destination = "/var/www/html/file-copy.html" + on_failure = continue + } +###### Verify: Verify terraform.tfstate for "status": "tainted" +``` +```t + +# Terraform Plan +terraform plan + +# Terraform Apply +terraform apply -auto-approve + +# Verify +Login to EC2 Instance +Verify /tmp, /var/www/html for all files copied +``` + +## Step-06: Clean-Up Resources & local working directory +```t +# Terraform Destroy +terraform destroy -auto-approve + +# Delete Terraform files +rm -rf .terraform* +rm -rf terraform.tfstate* +``` + +## Step-07: Destroy Time Provisioners +- Discuss about this concept +- [Destroy Time Provisioners](https://www.terraform.io/docs/language/resources/provisioners/syntax.html#destroy-time-provisioners) +- Inside a provisioner when you add this statement `when = destroy` it will provision this during the resource destroy time +```t +resource "aws_instance" "web" { + # ... + + provisioner "local-exec" { + when = destroy + command = "echo 'Destroy-time provisioner'" + } +} +``` \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/apache-install.sh b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/apps/app1/app1-file1.html b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/apps/app1/app1-file1.html new file mode 100644 index 00000000..dee8257b --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/apps/app1/app1-file1.html @@ -0,0 +1 @@ +

App1 File-1

diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/apps/app1/app1-file2.html b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/apps/app1/app1-file2.html new file mode 100644 index 00000000..1036144a --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/apps/app1/app1-file2.html @@ -0,0 +1 @@ +

>App1 File2

App2 File1 \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/apps/app2/app2-file2.html b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/apps/app2/app2-file2.html new file mode 100644 index 00000000..80b269f0 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/apps/app2/app2-file2.html @@ -0,0 +1 @@ +

App2 File2

\ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/apps/app2/app2-folder-1/app2-folder-1-file1.html b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/apps/app2/app2-folder-1/app2-folder-1-file1.html new file mode 100644 index 00000000..2439bbe3 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/apps/app2/app2-folder-1/app2-folder-1-file1.html @@ -0,0 +1 @@ +

App2 Folder-1 File-1

\ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/apps/file-copy.html b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/apps/file-copy.html new file mode 100644 index 00000000..11a77278 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/apps/file-copy.html @@ -0,0 +1 @@ +

Simple file copy using Terraform File Provisioner

\ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/c1-versions.tf b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/c1-versions.tf new file mode 100644 index 00000000..a305835c --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/c2-variables.tf b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/c2-variables.tf new file mode 100644 index 00000000..f55f87b6 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/c2-variables.tf @@ -0,0 +1,13 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string + default = "t2.micro" + #default = "t2.small" +} \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/c3-security-groups.tf b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/c3-security-groups.tf new file mode 100644 index 00000000..98fe5ff7 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh-${terraform.workspace}" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web-${terraform.workspace}" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/c4-ec2-instance.tf b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/c4-ec2-instance.tf new file mode 100644 index 00000000..0770ed1a --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/c4-ec2-instance.tf @@ -0,0 +1,64 @@ +# Create EC2 Instance - Amazon2 Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + key_name = "terraform-key" + #count = terraform.workspace == "default" ? 1 : 1 + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "vm-${terraform.workspace}-0" + } +# PLAY WITH /tmp folder in EC2 Instance with File Provisioner + # Connection Block for Provisioners to connect to EC2 Instance + connection { + type = "ssh" + host = self.public_ip # Understand what is "self" + user = "ec2-user" + password = "" + private_key = file("private-key/terraform-key.pem") + } + + # Copies the file-copy.html file to /tmp/file-copy.html + provisioner "file" { + source = "apps/file-copy.html" + destination = "/tmp/file-copy.html" + } + + # Copies the string in content into /tmp/file.log + provisioner "file" { + content = "ami used: ${self.ami}" # Understand what is "self" + destination = "/tmp/file.log" + } + + # Copies the app1 folder to /tmp - FOLDER COPY + provisioner "file" { + source = "apps/app1" + destination = "/tmp" + } + + # Copies all files and folders in apps/app2 to /tmp - CONTENTS of FOLDER WILL BE COPIED + provisioner "file" { + source = "apps/app2/" # when "/" at the end is added - CONTENTS of FOLDER WILL BE COPIED + destination = "/tmp" + } + + +/* +# Enable this during Section 09-01 Step-05 + # Copies the file-copy.html file to /var/www/html/file-copy.html where ec2-user don't have permission to copy + # This provisioner will fail but we don't want to taint the resource, we want to continue on_failure + provisioner "file" { + source = "apps/file-copy.html" + destination = "/var/www/html/file-copy.html" + #on_failure = continue # Enable this during Test-2 + } +*/ +} + + + + + + + diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/c5-outputs.tf b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/c5-outputs.tf new file mode 100644 index 00000000..ad086758 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/c5-outputs.tf @@ -0,0 +1,14 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.*.public_ip +} + + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.*.public_dns +} diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/c6-ami-datasource.tf b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/private-key/terraform-key.pem b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/private-key/terraform-key.pem new file mode 100644 index 00000000..fab1eb2a --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests-oldv1/private-key/terraform-key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAnzQtbXStFNU4znotckbPpAbQvymSYBvIRhObDObmhZLzs/Qm +lm57HBU18NcdAeEmKjHyu/2CI4Wwor3TJ+LTKHIldHmCt+26dSN5889Km99Af674 +nuPg9fTt8IXhY83aO0AeEnFivC+lk9+6Xezv7J7Llsmyx3kvUGE4uUEPNPuNcjdU +OrSlQ/Th9FPWBsTL8wLQCfQaPIQhZT8fXnvNGViTpZ/YqcoKGmkXcMl/+Pi0Xccs +ID3Egl18sV5uWr6T1DSMqhhwWYbl+IagZYUeKQ6Lg5znAtnX2/OHhDep6pGcf+aE +jbRkhQWgfLIVYhNXkAGxdxBEA2fQO0wvnaKI6wIDAQABAoIBABmUZqApmQ253LDA +TMEJw58VQUEVyuEKVbl8uPLvvqZDoEiPuAt/oOQ4PDyAM7bzmBA7ikbOSrSubF0Z +pu3HsinTfVUjmO84kTb1Bkk4S0KUMmbRlDzjXGfofLqiqD5C+wd+G9bWxQh7l10V +G3qv8TTRpuCJc+I9BG8jz9tkKq9WYtnGKXktVIAmEXK+ein8A5yj+szV1CyP0y6Y +6D1KApk+o1hLEXCBxaK6JgD4elJWgU0jCIhRFZzae93yozNIfJc2WZfPc8Ro6GBa +8H57q3E241P7S65VewhZlln9AUcRFYc587ohcCIW8mOWQ8NA3IMP+oVxa2p334Ll +duhR2jECgYEAyf7a1/+/c82B+ENyo53Y5CK2UM28oOJjiyCaWG2Dxj6V2+ZSXPrS +YTo43L9XiqT0Ry2eHjb4pJDsEeW5FnaDFO6NVUP+vfzaqWtozQmVAl3GQybbSh6g ++KJoEQff2Obadp9ZVhLFTiBedvGqPD43hs7jtmk5RfMjpLOvidfe+/UCgYEAycSJ +etYYHMMQm2NgX1/4dcbgOiu33N+x1H7LaXuvJMaZw0wB7fUyu65CAexEanDtiKs3 +jVG4tAzdMmHg7VxKR7eiCvQaSlxdWdcWtL2eFVq2TaQeowbpJUtsR0h6W0vpaN9A +VYW/oAH4fzQskwmWSlBMxB/Ie14hBCBckTXSRV8CgYEAql6WXpCK/jVbZfYdfvrn +sKPGeijM7DWGGBaLmAHmnxKyeyKsXVgAkZj11NpeD8ZJcq97Kajb1pGVSxMjJVsX +/FOoST5sYfoew76gSi/GypQlYQYo9z8WLh9s/tBRcTRlFqAYTYzPdbG/ezshhmZD +lyRw0620bNdCPOyBJhY5MPECgYA/3tFOazuSz0UQi3LUfkLetagBghlf+AgJJmIp +8BdPYvcF1ae+tiHrO4x1o188+qaW3uxk9fusM25KJqXXPaHd9gl7wi4YYAjFCcuM +R4IlbGPNTCjOnr9rKOcL4aup/uvSYOmyqPYyJq2NRuzdVumWeLj0VMNYGkIFVmE3 +LnxzrQKBgG5loEjdSKt40YOMXtYvUYUKDGvWgoQEb0hj3OqiBXz+w4YD3/iX7dbQ +qra1gCxE42Z9beiBiti6zi6zGcoVj/pfNUoyxTLMSwaytbF+g1u6ksXcmC9PXcmk +kJDR0DJcm/rcL8tp3PKo22GDB7sobm9gk5je6y8z+dQs3SQbWzb0 +-----END RSA PRIVATE KEY----- \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/apache-install.sh b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/apps/app1/app1-file1.html b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/apps/app1/app1-file1.html new file mode 100644 index 00000000..dee8257b --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/apps/app1/app1-file1.html @@ -0,0 +1 @@ +

App1 File-1

diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/apps/app1/app1-file2.html b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/apps/app1/app1-file2.html new file mode 100644 index 00000000..1036144a --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/apps/app1/app1-file2.html @@ -0,0 +1 @@ +

>App1 File2

App2 File1 \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/apps/app2/app2-file2.html b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/apps/app2/app2-file2.html new file mode 100644 index 00000000..80b269f0 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/apps/app2/app2-file2.html @@ -0,0 +1 @@ +

App2 File2

\ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/apps/app2/app2-folder-1/app2-folder-1-file1.html b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/apps/app2/app2-folder-1/app2-folder-1-file1.html new file mode 100644 index 00000000..2439bbe3 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/apps/app2/app2-folder-1/app2-folder-1-file1.html @@ -0,0 +1 @@ +

App2 Folder-1 File-1

\ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/apps/file-copy.html b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/apps/file-copy.html new file mode 100644 index 00000000..11a77278 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/apps/file-copy.html @@ -0,0 +1 @@ +

Simple file copy using Terraform File Provisioner

\ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/c1-versions.tf b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..cffef5ab --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/c2-variables.tf b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/c2-variables.tf new file mode 100644 index 00000000..f55f87b6 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/c2-variables.tf @@ -0,0 +1,13 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string + default = "t2.micro" + #default = "t2.small" +} \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/c3-security-groups.tf b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/c3-security-groups.tf new file mode 100644 index 00000000..98fe5ff7 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh-${terraform.workspace}" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web-${terraform.workspace}" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/c4-ec2-instance.tf b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/c4-ec2-instance.tf new file mode 100644 index 00000000..0770ed1a --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/c4-ec2-instance.tf @@ -0,0 +1,64 @@ +# Create EC2 Instance - Amazon2 Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + key_name = "terraform-key" + #count = terraform.workspace == "default" ? 1 : 1 + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "vm-${terraform.workspace}-0" + } +# PLAY WITH /tmp folder in EC2 Instance with File Provisioner + # Connection Block for Provisioners to connect to EC2 Instance + connection { + type = "ssh" + host = self.public_ip # Understand what is "self" + user = "ec2-user" + password = "" + private_key = file("private-key/terraform-key.pem") + } + + # Copies the file-copy.html file to /tmp/file-copy.html + provisioner "file" { + source = "apps/file-copy.html" + destination = "/tmp/file-copy.html" + } + + # Copies the string in content into /tmp/file.log + provisioner "file" { + content = "ami used: ${self.ami}" # Understand what is "self" + destination = "/tmp/file.log" + } + + # Copies the app1 folder to /tmp - FOLDER COPY + provisioner "file" { + source = "apps/app1" + destination = "/tmp" + } + + # Copies all files and folders in apps/app2 to /tmp - CONTENTS of FOLDER WILL BE COPIED + provisioner "file" { + source = "apps/app2/" # when "/" at the end is added - CONTENTS of FOLDER WILL BE COPIED + destination = "/tmp" + } + + +/* +# Enable this during Section 09-01 Step-05 + # Copies the file-copy.html file to /var/www/html/file-copy.html where ec2-user don't have permission to copy + # This provisioner will fail but we don't want to taint the resource, we want to continue on_failure + provisioner "file" { + source = "apps/file-copy.html" + destination = "/var/www/html/file-copy.html" + #on_failure = continue # Enable this during Test-2 + } +*/ +} + + + + + + + diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/c5-outputs.tf b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/c5-outputs.tf new file mode 100644 index 00000000..ad086758 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/c5-outputs.tf @@ -0,0 +1,14 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.*.public_ip +} + + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.*.public_dns +} diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/c6-ami-datasource.tf b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/private-key/terraform-key.pem b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/private-key/terraform-key.pem new file mode 100644 index 00000000..fab1eb2a --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-01-File-Provisioner/terraform-manifests/private-key/terraform-key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAnzQtbXStFNU4znotckbPpAbQvymSYBvIRhObDObmhZLzs/Qm +lm57HBU18NcdAeEmKjHyu/2CI4Wwor3TJ+LTKHIldHmCt+26dSN5889Km99Af674 +nuPg9fTt8IXhY83aO0AeEnFivC+lk9+6Xezv7J7Llsmyx3kvUGE4uUEPNPuNcjdU +OrSlQ/Th9FPWBsTL8wLQCfQaPIQhZT8fXnvNGViTpZ/YqcoKGmkXcMl/+Pi0Xccs +ID3Egl18sV5uWr6T1DSMqhhwWYbl+IagZYUeKQ6Lg5znAtnX2/OHhDep6pGcf+aE +jbRkhQWgfLIVYhNXkAGxdxBEA2fQO0wvnaKI6wIDAQABAoIBABmUZqApmQ253LDA +TMEJw58VQUEVyuEKVbl8uPLvvqZDoEiPuAt/oOQ4PDyAM7bzmBA7ikbOSrSubF0Z +pu3HsinTfVUjmO84kTb1Bkk4S0KUMmbRlDzjXGfofLqiqD5C+wd+G9bWxQh7l10V +G3qv8TTRpuCJc+I9BG8jz9tkKq9WYtnGKXktVIAmEXK+ein8A5yj+szV1CyP0y6Y +6D1KApk+o1hLEXCBxaK6JgD4elJWgU0jCIhRFZzae93yozNIfJc2WZfPc8Ro6GBa +8H57q3E241P7S65VewhZlln9AUcRFYc587ohcCIW8mOWQ8NA3IMP+oVxa2p334Ll +duhR2jECgYEAyf7a1/+/c82B+ENyo53Y5CK2UM28oOJjiyCaWG2Dxj6V2+ZSXPrS +YTo43L9XiqT0Ry2eHjb4pJDsEeW5FnaDFO6NVUP+vfzaqWtozQmVAl3GQybbSh6g ++KJoEQff2Obadp9ZVhLFTiBedvGqPD43hs7jtmk5RfMjpLOvidfe+/UCgYEAycSJ +etYYHMMQm2NgX1/4dcbgOiu33N+x1H7LaXuvJMaZw0wB7fUyu65CAexEanDtiKs3 +jVG4tAzdMmHg7VxKR7eiCvQaSlxdWdcWtL2eFVq2TaQeowbpJUtsR0h6W0vpaN9A +VYW/oAH4fzQskwmWSlBMxB/Ie14hBCBckTXSRV8CgYEAql6WXpCK/jVbZfYdfvrn +sKPGeijM7DWGGBaLmAHmnxKyeyKsXVgAkZj11NpeD8ZJcq97Kajb1pGVSxMjJVsX +/FOoST5sYfoew76gSi/GypQlYQYo9z8WLh9s/tBRcTRlFqAYTYzPdbG/ezshhmZD +lyRw0620bNdCPOyBJhY5MPECgYA/3tFOazuSz0UQi3LUfkLetagBghlf+AgJJmIp +8BdPYvcF1ae+tiHrO4x1o188+qaW3uxk9fusM25KJqXXPaHd9gl7wi4YYAjFCcuM +R4IlbGPNTCjOnr9rKOcL4aup/uvSYOmyqPYyJq2NRuzdVumWeLj0VMNYGkIFVmE3 +LnxzrQKBgG5loEjdSKt40YOMXtYvUYUKDGvWgoQEb0hj3OqiBXz+w4YD3/iX7dbQ +qra1gCxE42Z9beiBiti6zi6zGcoVj/pfNUoyxTLMSwaytbF+g1u6ksXcmC9PXcmk +kJDR0DJcm/rcL8tp3PKo22GDB7sobm9gk5je6y8z+dQs3SQbWzb0 +-----END RSA PRIVATE KEY----- \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/README.md b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/README.md new file mode 100644 index 00000000..0ff21452 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/README.md @@ -0,0 +1,68 @@ +# Terraform remote-exec Provisioner + +## Step-00: Pre-requisites +- Create a EC2 Key pain with name `terraform-key` and copy the `terraform-key.pem` file in the folder `private-key` in `terraform-manifest` folder +- Connection Block for provisioners uses this to connect to newly created EC2 instance to copy files using `file provisioner`, execute scripts using `remote-exec provisioner` + +## Step-01: Introduction +- Understand about **remote-exec** Provisioner +- The `remote-exec` provisioner invokes a script on a remote resource after it is created. +- This can be used to run a configuration management tool, bootstrap into a cluster, etc. + +## Step-02: Create / Review Provisioner configuration +- **Usecase:** +1. We will copy a file named `file-copy.html` using `File Provisioner` to "/tmp" directory +2. Using `remote-exec provisioner`, using linux commands we will in-turn copy the file to Apache Webserver static content directory `/var/www/html` and access it via browser once it is provisioned +```t + # Copies the file-copy.html file to /tmp/file-copy.html + provisioner "file" { + source = "apps/file-copy.html" + destination = "/tmp/file-copy.html" + } + +# Copies the file to Apache Webserver /var/www/html directory + provisioner "remote-exec" { + inline = [ + "sleep 120", # Will sleep for 120 seconds to ensure Apache webserver is provisioned using user_data + "sudo cp /tmp/file-copy.html /var/www/html" + ] + } +``` + +## Step-03: Review Terraform manifests & Execute Terraform Commands +```t +# Terraform Initialize +terraform init + +# Terraform Validate +terraform validate + +# Terraform Format +terraform fmt + +# Terraform Plan +terraform plan + +# Terraform Apply +terraform apply -auto-approve + +# Verify +1) Login to EC2 Instance +chmod 400 private-key/terraform-key.pem +ssh -i private-key/terraform-key.pem ec2-user@IP_ADDRESSS_OF_YOUR_VM +ssh -i private-key/terraform-key.pem ec2-user@54.197.54.126 + +2) Verify /tmp for file named file-copy.html all files copied (ls -lrt /tmp/file-copy.html) +3) Verify /var/www/html for a file named file-copy.html (ls -lrt /var/www/html/file-copy.html) +4) Access via browser http:///file-copy.html +``` +## Step-04: Clean-Up Resources & local working directory +```t +# Terraform Destroy +terraform destroy -auto-approve + +# Delete Terraform files +rm -rf .terraform* +rm -rf terraform.tfstate* +``` + diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/apache-install.sh b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/apps/app1/app1-file1.html b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/apps/app1/app1-file1.html new file mode 100644 index 00000000..dee8257b --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/apps/app1/app1-file1.html @@ -0,0 +1 @@ +

App1 File-1

diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/apps/app1/app1-file2.html b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/apps/app1/app1-file2.html new file mode 100644 index 00000000..1036144a --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/apps/app1/app1-file2.html @@ -0,0 +1 @@ +

>App1 File2

App2 File1 \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/apps/app2/app2-file2.html b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/apps/app2/app2-file2.html new file mode 100644 index 00000000..80b269f0 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/apps/app2/app2-file2.html @@ -0,0 +1 @@ +

App2 File2

\ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/apps/app2/app2-folder-1/app2-folder-1-file1.html b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/apps/app2/app2-folder-1/app2-folder-1-file1.html new file mode 100644 index 00000000..2439bbe3 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/apps/app2/app2-folder-1/app2-folder-1-file1.html @@ -0,0 +1 @@ +

App2 Folder-1 File-1

\ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/apps/file-copy.html b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/apps/file-copy.html new file mode 100644 index 00000000..11a77278 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/apps/file-copy.html @@ -0,0 +1 @@ +

Simple file copy using Terraform File Provisioner

\ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/c1-versions.tf b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/c1-versions.tf new file mode 100644 index 00000000..a305835c --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/c2-variables.tf b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/c2-variables.tf new file mode 100644 index 00000000..f55f87b6 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/c2-variables.tf @@ -0,0 +1,13 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string + default = "t2.micro" + #default = "t2.small" +} \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/c3-security-groups.tf b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/c3-security-groups.tf new file mode 100644 index 00000000..98fe5ff7 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh-${terraform.workspace}" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web-${terraform.workspace}" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/c4-ec2-instance.tf b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/c4-ec2-instance.tf new file mode 100644 index 00000000..b70cf60c --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/c4-ec2-instance.tf @@ -0,0 +1,44 @@ +# Create EC2 Instance - Amazon Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + key_name = "terraform-key" + #count = terraform.workspace == "default" ? 1 : 1 + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "vm-${terraform.workspace}-0" + } + + # Connection Block for Provisioners to connect to EC2 Instance + connection { + type = "ssh" + host = self.public_ip # Understand what is "self" + user = "ec2-user" + password = "" + private_key = file("private-key/terraform-key.pem") + } + + # Copies the file-copy.html file to /tmp/file-copy.html + provisioner "file" { + source = "apps/file-copy.html" + destination = "/tmp/file-copy.html" + } + +# Copies the file to Apache Webserver /var/www/html directory + provisioner "remote-exec" { + inline = [ + "sleep 120", # Will sleep for 120 seconds to ensure Apache webserver is provisioned using user_data + "sudo cp /tmp/file-copy.html /var/www/html" + ] + } + + +} + + + + + + + diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/c5-outputs.tf b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/c5-outputs.tf new file mode 100644 index 00000000..1e4f766f --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/c5-outputs.tf @@ -0,0 +1,14 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.*.public_ip +} + + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.*.public_dns +} diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/c6-ami-datasource.tf b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/private-key/terraform-key.pem b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/private-key/terraform-key.pem new file mode 100644 index 00000000..fab1eb2a --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests-oldv1/private-key/terraform-key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAnzQtbXStFNU4znotckbPpAbQvymSYBvIRhObDObmhZLzs/Qm +lm57HBU18NcdAeEmKjHyu/2CI4Wwor3TJ+LTKHIldHmCt+26dSN5889Km99Af674 +nuPg9fTt8IXhY83aO0AeEnFivC+lk9+6Xezv7J7Llsmyx3kvUGE4uUEPNPuNcjdU +OrSlQ/Th9FPWBsTL8wLQCfQaPIQhZT8fXnvNGViTpZ/YqcoKGmkXcMl/+Pi0Xccs +ID3Egl18sV5uWr6T1DSMqhhwWYbl+IagZYUeKQ6Lg5znAtnX2/OHhDep6pGcf+aE +jbRkhQWgfLIVYhNXkAGxdxBEA2fQO0wvnaKI6wIDAQABAoIBABmUZqApmQ253LDA +TMEJw58VQUEVyuEKVbl8uPLvvqZDoEiPuAt/oOQ4PDyAM7bzmBA7ikbOSrSubF0Z +pu3HsinTfVUjmO84kTb1Bkk4S0KUMmbRlDzjXGfofLqiqD5C+wd+G9bWxQh7l10V +G3qv8TTRpuCJc+I9BG8jz9tkKq9WYtnGKXktVIAmEXK+ein8A5yj+szV1CyP0y6Y +6D1KApk+o1hLEXCBxaK6JgD4elJWgU0jCIhRFZzae93yozNIfJc2WZfPc8Ro6GBa +8H57q3E241P7S65VewhZlln9AUcRFYc587ohcCIW8mOWQ8NA3IMP+oVxa2p334Ll +duhR2jECgYEAyf7a1/+/c82B+ENyo53Y5CK2UM28oOJjiyCaWG2Dxj6V2+ZSXPrS +YTo43L9XiqT0Ry2eHjb4pJDsEeW5FnaDFO6NVUP+vfzaqWtozQmVAl3GQybbSh6g ++KJoEQff2Obadp9ZVhLFTiBedvGqPD43hs7jtmk5RfMjpLOvidfe+/UCgYEAycSJ +etYYHMMQm2NgX1/4dcbgOiu33N+x1H7LaXuvJMaZw0wB7fUyu65CAexEanDtiKs3 +jVG4tAzdMmHg7VxKR7eiCvQaSlxdWdcWtL2eFVq2TaQeowbpJUtsR0h6W0vpaN9A +VYW/oAH4fzQskwmWSlBMxB/Ie14hBCBckTXSRV8CgYEAql6WXpCK/jVbZfYdfvrn +sKPGeijM7DWGGBaLmAHmnxKyeyKsXVgAkZj11NpeD8ZJcq97Kajb1pGVSxMjJVsX +/FOoST5sYfoew76gSi/GypQlYQYo9z8WLh9s/tBRcTRlFqAYTYzPdbG/ezshhmZD +lyRw0620bNdCPOyBJhY5MPECgYA/3tFOazuSz0UQi3LUfkLetagBghlf+AgJJmIp +8BdPYvcF1ae+tiHrO4x1o188+qaW3uxk9fusM25KJqXXPaHd9gl7wi4YYAjFCcuM +R4IlbGPNTCjOnr9rKOcL4aup/uvSYOmyqPYyJq2NRuzdVumWeLj0VMNYGkIFVmE3 +LnxzrQKBgG5loEjdSKt40YOMXtYvUYUKDGvWgoQEb0hj3OqiBXz+w4YD3/iX7dbQ +qra1gCxE42Z9beiBiti6zi6zGcoVj/pfNUoyxTLMSwaytbF+g1u6ksXcmC9PXcmk +kJDR0DJcm/rcL8tp3PKo22GDB7sobm9gk5je6y8z+dQs3SQbWzb0 +-----END RSA PRIVATE KEY----- \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/apache-install.sh b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/apps/app1/app1-file1.html b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/apps/app1/app1-file1.html new file mode 100644 index 00000000..dee8257b --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/apps/app1/app1-file1.html @@ -0,0 +1 @@ +

App1 File-1

diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/apps/app1/app1-file2.html b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/apps/app1/app1-file2.html new file mode 100644 index 00000000..1036144a --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/apps/app1/app1-file2.html @@ -0,0 +1 @@ +

>App1 File2

App2 File1 \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/apps/app2/app2-file2.html b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/apps/app2/app2-file2.html new file mode 100644 index 00000000..80b269f0 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/apps/app2/app2-file2.html @@ -0,0 +1 @@ +

App2 File2

\ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/apps/app2/app2-folder-1/app2-folder-1-file1.html b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/apps/app2/app2-folder-1/app2-folder-1-file1.html new file mode 100644 index 00000000..2439bbe3 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/apps/app2/app2-folder-1/app2-folder-1-file1.html @@ -0,0 +1 @@ +

App2 Folder-1 File-1

\ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/apps/file-copy.html b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/apps/file-copy.html new file mode 100644 index 00000000..11a77278 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/apps/file-copy.html @@ -0,0 +1 @@ +

Simple file copy using Terraform File Provisioner

\ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/c1-versions.tf b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..cffef5ab --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/c2-variables.tf b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/c2-variables.tf new file mode 100644 index 00000000..f55f87b6 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/c2-variables.tf @@ -0,0 +1,13 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string + default = "t2.micro" + #default = "t2.small" +} \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/c3-security-groups.tf b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/c3-security-groups.tf new file mode 100644 index 00000000..98fe5ff7 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh-${terraform.workspace}" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web-${terraform.workspace}" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/c4-ec2-instance.tf b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/c4-ec2-instance.tf new file mode 100644 index 00000000..b70cf60c --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/c4-ec2-instance.tf @@ -0,0 +1,44 @@ +# Create EC2 Instance - Amazon Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + key_name = "terraform-key" + #count = terraform.workspace == "default" ? 1 : 1 + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "vm-${terraform.workspace}-0" + } + + # Connection Block for Provisioners to connect to EC2 Instance + connection { + type = "ssh" + host = self.public_ip # Understand what is "self" + user = "ec2-user" + password = "" + private_key = file("private-key/terraform-key.pem") + } + + # Copies the file-copy.html file to /tmp/file-copy.html + provisioner "file" { + source = "apps/file-copy.html" + destination = "/tmp/file-copy.html" + } + +# Copies the file to Apache Webserver /var/www/html directory + provisioner "remote-exec" { + inline = [ + "sleep 120", # Will sleep for 120 seconds to ensure Apache webserver is provisioned using user_data + "sudo cp /tmp/file-copy.html /var/www/html" + ] + } + + +} + + + + + + + diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/c5-outputs.tf b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/c5-outputs.tf new file mode 100644 index 00000000..1e4f766f --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/c5-outputs.tf @@ -0,0 +1,14 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.*.public_ip +} + + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.*.public_dns +} diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/c6-ami-datasource.tf b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/private-key/terraform-key.pem b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/private-key/terraform-key.pem new file mode 100644 index 00000000..fab1eb2a --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-02-remote-exec-provisioner/terraform-manifests/private-key/terraform-key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAnzQtbXStFNU4znotckbPpAbQvymSYBvIRhObDObmhZLzs/Qm +lm57HBU18NcdAeEmKjHyu/2CI4Wwor3TJ+LTKHIldHmCt+26dSN5889Km99Af674 +nuPg9fTt8IXhY83aO0AeEnFivC+lk9+6Xezv7J7Llsmyx3kvUGE4uUEPNPuNcjdU +OrSlQ/Th9FPWBsTL8wLQCfQaPIQhZT8fXnvNGViTpZ/YqcoKGmkXcMl/+Pi0Xccs +ID3Egl18sV5uWr6T1DSMqhhwWYbl+IagZYUeKQ6Lg5znAtnX2/OHhDep6pGcf+aE +jbRkhQWgfLIVYhNXkAGxdxBEA2fQO0wvnaKI6wIDAQABAoIBABmUZqApmQ253LDA +TMEJw58VQUEVyuEKVbl8uPLvvqZDoEiPuAt/oOQ4PDyAM7bzmBA7ikbOSrSubF0Z +pu3HsinTfVUjmO84kTb1Bkk4S0KUMmbRlDzjXGfofLqiqD5C+wd+G9bWxQh7l10V +G3qv8TTRpuCJc+I9BG8jz9tkKq9WYtnGKXktVIAmEXK+ein8A5yj+szV1CyP0y6Y +6D1KApk+o1hLEXCBxaK6JgD4elJWgU0jCIhRFZzae93yozNIfJc2WZfPc8Ro6GBa +8H57q3E241P7S65VewhZlln9AUcRFYc587ohcCIW8mOWQ8NA3IMP+oVxa2p334Ll +duhR2jECgYEAyf7a1/+/c82B+ENyo53Y5CK2UM28oOJjiyCaWG2Dxj6V2+ZSXPrS +YTo43L9XiqT0Ry2eHjb4pJDsEeW5FnaDFO6NVUP+vfzaqWtozQmVAl3GQybbSh6g ++KJoEQff2Obadp9ZVhLFTiBedvGqPD43hs7jtmk5RfMjpLOvidfe+/UCgYEAycSJ +etYYHMMQm2NgX1/4dcbgOiu33N+x1H7LaXuvJMaZw0wB7fUyu65CAexEanDtiKs3 +jVG4tAzdMmHg7VxKR7eiCvQaSlxdWdcWtL2eFVq2TaQeowbpJUtsR0h6W0vpaN9A +VYW/oAH4fzQskwmWSlBMxB/Ie14hBCBckTXSRV8CgYEAql6WXpCK/jVbZfYdfvrn +sKPGeijM7DWGGBaLmAHmnxKyeyKsXVgAkZj11NpeD8ZJcq97Kajb1pGVSxMjJVsX +/FOoST5sYfoew76gSi/GypQlYQYo9z8WLh9s/tBRcTRlFqAYTYzPdbG/ezshhmZD +lyRw0620bNdCPOyBJhY5MPECgYA/3tFOazuSz0UQi3LUfkLetagBghlf+AgJJmIp +8BdPYvcF1ae+tiHrO4x1o188+qaW3uxk9fusM25KJqXXPaHd9gl7wi4YYAjFCcuM +R4IlbGPNTCjOnr9rKOcL4aup/uvSYOmyqPYyJq2NRuzdVumWeLj0VMNYGkIFVmE3 +LnxzrQKBgG5loEjdSKt40YOMXtYvUYUKDGvWgoQEb0hj3OqiBXz+w4YD3/iX7dbQ +qra1gCxE42Z9beiBiti6zi6zGcoVj/pfNUoyxTLMSwaytbF+g1u6ksXcmC9PXcmk +kJDR0DJcm/rcL8tp3PKo22GDB7sobm9gk5je6y8z+dQs3SQbWzb0 +-----END RSA PRIVATE KEY----- \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/README.md b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/README.md new file mode 100644 index 00000000..3a04fb9a --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/README.md @@ -0,0 +1,66 @@ +# Terraform local-exec Provisioner + +## Step-00: Pre-requisites +- Create a EC2 Key pain with name `terraform-key` and copy the `terraform-key.pem` file in the folder `private-key` in `terraform-manifest` folder +- Connection Block for provisioners uses this to connect to newly created EC2 instance to copy files using `file provisioner`, execute scripts using `remote-exec provisioner` + +## Step-01: Introduction +- Understand about **local-exec** Provisioner +- The `local-exec` provisioner invokes a local executable after a resource is created. +- This invokes a process on the machine running Terraform, not on the resource. + +## Step-02: Review local-exec provisioner code +- We will create one provisioner during creation-time. It will output private ip of the instance in to a file named `creation-time-private-ip.txt` +- We will create one more provisioner during destroy time. It will output destroy time with date in to a file named `destroy-time.txt` +- **C3-ec2-instance.tf** +```t + # local-exec provisioner (Creation-Time Provisioner - Triggered during Create Resource) + provisioner "local-exec" { + command = "echo ${aws_instance.my-ec2-vm.private_ip} >> creation-time-private-ip.txt" + working_dir = "local-exec-output-files/" + #on_failure = continue + } + + # local-exec provisioner - (Destroy-Time Provisioner - Triggered during Destroy Resource) + provisioner "local-exec" { + when = destroy + command = "echo Destroy-time provisioner Instanace Destroyed at `date` >> destroy-time.txt" + working_dir = "local-exec-output-files/" + } +``` + + +## Step-03: Review Terraform manifests & Execute Terraform Commands +```t +# Terraform Initialize +terraform init + +# Terraform Validate +terraform validate + +# Terraform Format +terraform fmt + +# Terraform Plan +terraform plan + +# Terraform Apply +terraform apply -auto-approve + +# Verify +Verify the file in folder "local-exe-output-files/creation-time-private-ip.txt" + +``` +## Step-04: Clean-Up Resources & local working directory +```t +# Terraform Destroy +terraform destroy -auto-approve + +# Verify +Verify the file in folder "local-exe-output-files/destroy-time.txt" + +# Delete Terraform files +rm -rf .terraform* +rm -rf terraform.tfstate* +``` + diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/apache-install.sh b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/apps/app1/app1-file1.html b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/apps/app1/app1-file1.html new file mode 100644 index 00000000..dee8257b --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/apps/app1/app1-file1.html @@ -0,0 +1 @@ +

App1 File-1

diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/apps/app1/app1-file2.html b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/apps/app1/app1-file2.html new file mode 100644 index 00000000..1036144a --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/apps/app1/app1-file2.html @@ -0,0 +1 @@ +

>App1 File2

App2 File1 \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/apps/app2/app2-file2.html b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/apps/app2/app2-file2.html new file mode 100644 index 00000000..80b269f0 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/apps/app2/app2-file2.html @@ -0,0 +1 @@ +

App2 File2

\ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/apps/app2/app2-folder-1/app2-folder-1-file1.html b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/apps/app2/app2-folder-1/app2-folder-1-file1.html new file mode 100644 index 00000000..2439bbe3 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/apps/app2/app2-folder-1/app2-folder-1-file1.html @@ -0,0 +1 @@ +

App2 Folder-1 File-1

\ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/apps/file-copy.html b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/apps/file-copy.html new file mode 100644 index 00000000..11a77278 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/apps/file-copy.html @@ -0,0 +1 @@ +

Simple file copy using Terraform File Provisioner

\ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/c1-versions.tf b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/c1-versions.tf new file mode 100644 index 00000000..a305835c --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/c2-variables.tf b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/c2-variables.tf new file mode 100644 index 00000000..f55f87b6 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/c2-variables.tf @@ -0,0 +1,13 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string + default = "t2.micro" + #default = "t2.small" +} \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/c3-security-groups.tf b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/c3-security-groups.tf new file mode 100644 index 00000000..98fe5ff7 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh-${terraform.workspace}" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web-${terraform.workspace}" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/c4-ec2-instance.tf b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/c4-ec2-instance.tf new file mode 100644 index 00000000..99e22323 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/c4-ec2-instance.tf @@ -0,0 +1,34 @@ +# Create EC2 Instance - Amazon Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + key_name = "terraform-key" + #count = terraform.workspace == "default" ? 1 : 1 + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "vm-${terraform.workspace}-0" + } + + # local-exec provisioner (Creation-Time Provisioner - Triggered during Create Resource) + provisioner "local-exec" { + command = "echo ${aws_instance.my-ec2-vm.private_ip} >> creation-time-private-ip.txt" + working_dir = "local-exec-output-files/" + #on_failure = continue + } + + # local-exec provisioner - (Destroy-Time Provisioner - Triggered during Destroy Resource) + provisioner "local-exec" { + when = destroy + command = "echo Destroy-time provisioner Instanace Destroyed at `date` >> destroy-time.txt" + working_dir = "local-exec-output-files/" + } + +} + + + + + + + diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/c5-outputs.tf b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/c5-outputs.tf new file mode 100644 index 00000000..1e4f766f --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/c5-outputs.tf @@ -0,0 +1,14 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.*.public_ip +} + + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.*.public_dns +} diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/c6-ami-datasource.tf b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/local-exec-output-files/backup-for-reference/creation-time-private-ip.txt b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/local-exec-output-files/backup-for-reference/creation-time-private-ip.txt new file mode 100644 index 00000000..340b049a --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/local-exec-output-files/backup-for-reference/creation-time-private-ip.txt @@ -0,0 +1 @@ +172.31.93.3 diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/local-exec-output-files/backup-for-reference/destroy-time.txt b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/local-exec-output-files/backup-for-reference/destroy-time.txt new file mode 100644 index 00000000..0a847daa --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/local-exec-output-files/backup-for-reference/destroy-time.txt @@ -0,0 +1 @@ +Destroy-time provisioner Instanace Destroyed at Fri Mar 5 18:07:52 IST 2021 diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/private-key/terraform-key.pem b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/private-key/terraform-key.pem new file mode 100644 index 00000000..fab1eb2a --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests-oldv1/private-key/terraform-key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAnzQtbXStFNU4znotckbPpAbQvymSYBvIRhObDObmhZLzs/Qm +lm57HBU18NcdAeEmKjHyu/2CI4Wwor3TJ+LTKHIldHmCt+26dSN5889Km99Af674 +nuPg9fTt8IXhY83aO0AeEnFivC+lk9+6Xezv7J7Llsmyx3kvUGE4uUEPNPuNcjdU +OrSlQ/Th9FPWBsTL8wLQCfQaPIQhZT8fXnvNGViTpZ/YqcoKGmkXcMl/+Pi0Xccs +ID3Egl18sV5uWr6T1DSMqhhwWYbl+IagZYUeKQ6Lg5znAtnX2/OHhDep6pGcf+aE +jbRkhQWgfLIVYhNXkAGxdxBEA2fQO0wvnaKI6wIDAQABAoIBABmUZqApmQ253LDA +TMEJw58VQUEVyuEKVbl8uPLvvqZDoEiPuAt/oOQ4PDyAM7bzmBA7ikbOSrSubF0Z +pu3HsinTfVUjmO84kTb1Bkk4S0KUMmbRlDzjXGfofLqiqD5C+wd+G9bWxQh7l10V +G3qv8TTRpuCJc+I9BG8jz9tkKq9WYtnGKXktVIAmEXK+ein8A5yj+szV1CyP0y6Y +6D1KApk+o1hLEXCBxaK6JgD4elJWgU0jCIhRFZzae93yozNIfJc2WZfPc8Ro6GBa +8H57q3E241P7S65VewhZlln9AUcRFYc587ohcCIW8mOWQ8NA3IMP+oVxa2p334Ll +duhR2jECgYEAyf7a1/+/c82B+ENyo53Y5CK2UM28oOJjiyCaWG2Dxj6V2+ZSXPrS +YTo43L9XiqT0Ry2eHjb4pJDsEeW5FnaDFO6NVUP+vfzaqWtozQmVAl3GQybbSh6g ++KJoEQff2Obadp9ZVhLFTiBedvGqPD43hs7jtmk5RfMjpLOvidfe+/UCgYEAycSJ +etYYHMMQm2NgX1/4dcbgOiu33N+x1H7LaXuvJMaZw0wB7fUyu65CAexEanDtiKs3 +jVG4tAzdMmHg7VxKR7eiCvQaSlxdWdcWtL2eFVq2TaQeowbpJUtsR0h6W0vpaN9A +VYW/oAH4fzQskwmWSlBMxB/Ie14hBCBckTXSRV8CgYEAql6WXpCK/jVbZfYdfvrn +sKPGeijM7DWGGBaLmAHmnxKyeyKsXVgAkZj11NpeD8ZJcq97Kajb1pGVSxMjJVsX +/FOoST5sYfoew76gSi/GypQlYQYo9z8WLh9s/tBRcTRlFqAYTYzPdbG/ezshhmZD +lyRw0620bNdCPOyBJhY5MPECgYA/3tFOazuSz0UQi3LUfkLetagBghlf+AgJJmIp +8BdPYvcF1ae+tiHrO4x1o188+qaW3uxk9fusM25KJqXXPaHd9gl7wi4YYAjFCcuM +R4IlbGPNTCjOnr9rKOcL4aup/uvSYOmyqPYyJq2NRuzdVumWeLj0VMNYGkIFVmE3 +LnxzrQKBgG5loEjdSKt40YOMXtYvUYUKDGvWgoQEb0hj3OqiBXz+w4YD3/iX7dbQ +qra1gCxE42Z9beiBiti6zi6zGcoVj/pfNUoyxTLMSwaytbF+g1u6ksXcmC9PXcmk +kJDR0DJcm/rcL8tp3PKo22GDB7sobm9gk5je6y8z+dQs3SQbWzb0 +-----END RSA PRIVATE KEY----- \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/apache-install.sh b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/apps/app1/app1-file1.html b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/apps/app1/app1-file1.html new file mode 100644 index 00000000..dee8257b --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/apps/app1/app1-file1.html @@ -0,0 +1 @@ +

App1 File-1

diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/apps/app1/app1-file2.html b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/apps/app1/app1-file2.html new file mode 100644 index 00000000..1036144a --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/apps/app1/app1-file2.html @@ -0,0 +1 @@ +

>App1 File2

App2 File1 \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/apps/app2/app2-file2.html b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/apps/app2/app2-file2.html new file mode 100644 index 00000000..80b269f0 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/apps/app2/app2-file2.html @@ -0,0 +1 @@ +

App2 File2

\ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/apps/app2/app2-folder-1/app2-folder-1-file1.html b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/apps/app2/app2-folder-1/app2-folder-1-file1.html new file mode 100644 index 00000000..2439bbe3 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/apps/app2/app2-folder-1/app2-folder-1-file1.html @@ -0,0 +1 @@ +

App2 Folder-1 File-1

\ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/apps/file-copy.html b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/apps/file-copy.html new file mode 100644 index 00000000..11a77278 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/apps/file-copy.html @@ -0,0 +1 @@ +

Simple file copy using Terraform File Provisioner

\ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/c1-versions.tf b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..cffef5ab --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/c2-variables.tf b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/c2-variables.tf new file mode 100644 index 00000000..f55f87b6 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/c2-variables.tf @@ -0,0 +1,13 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string + default = "t2.micro" + #default = "t2.small" +} \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/c3-security-groups.tf b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/c3-security-groups.tf new file mode 100644 index 00000000..98fe5ff7 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh-${terraform.workspace}" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web-${terraform.workspace}" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/c4-ec2-instance.tf b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/c4-ec2-instance.tf new file mode 100644 index 00000000..99e22323 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/c4-ec2-instance.tf @@ -0,0 +1,34 @@ +# Create EC2 Instance - Amazon Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + key_name = "terraform-key" + #count = terraform.workspace == "default" ? 1 : 1 + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "vm-${terraform.workspace}-0" + } + + # local-exec provisioner (Creation-Time Provisioner - Triggered during Create Resource) + provisioner "local-exec" { + command = "echo ${aws_instance.my-ec2-vm.private_ip} >> creation-time-private-ip.txt" + working_dir = "local-exec-output-files/" + #on_failure = continue + } + + # local-exec provisioner - (Destroy-Time Provisioner - Triggered during Destroy Resource) + provisioner "local-exec" { + when = destroy + command = "echo Destroy-time provisioner Instanace Destroyed at `date` >> destroy-time.txt" + working_dir = "local-exec-output-files/" + } + +} + + + + + + + diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/c5-outputs.tf b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/c5-outputs.tf new file mode 100644 index 00000000..1e4f766f --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/c5-outputs.tf @@ -0,0 +1,14 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.*.public_ip +} + + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.*.public_dns +} diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/c6-ami-datasource.tf b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/local-exec-output-files/backup-for-reference/creation-time-private-ip.txt b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/local-exec-output-files/backup-for-reference/creation-time-private-ip.txt new file mode 100644 index 00000000..340b049a --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/local-exec-output-files/backup-for-reference/creation-time-private-ip.txt @@ -0,0 +1 @@ +172.31.93.3 diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/local-exec-output-files/backup-for-reference/destroy-time.txt b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/local-exec-output-files/backup-for-reference/destroy-time.txt new file mode 100644 index 00000000..0a847daa --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/local-exec-output-files/backup-for-reference/destroy-time.txt @@ -0,0 +1 @@ +Destroy-time provisioner Instanace Destroyed at Fri Mar 5 18:07:52 IST 2021 diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/private-key/terraform-key.pem b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/private-key/terraform-key.pem new file mode 100644 index 00000000..fab1eb2a --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-03-local-exec-provisioner/terraform-manifests/private-key/terraform-key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAnzQtbXStFNU4znotckbPpAbQvymSYBvIRhObDObmhZLzs/Qm +lm57HBU18NcdAeEmKjHyu/2CI4Wwor3TJ+LTKHIldHmCt+26dSN5889Km99Af674 +nuPg9fTt8IXhY83aO0AeEnFivC+lk9+6Xezv7J7Llsmyx3kvUGE4uUEPNPuNcjdU +OrSlQ/Th9FPWBsTL8wLQCfQaPIQhZT8fXnvNGViTpZ/YqcoKGmkXcMl/+Pi0Xccs +ID3Egl18sV5uWr6T1DSMqhhwWYbl+IagZYUeKQ6Lg5znAtnX2/OHhDep6pGcf+aE +jbRkhQWgfLIVYhNXkAGxdxBEA2fQO0wvnaKI6wIDAQABAoIBABmUZqApmQ253LDA +TMEJw58VQUEVyuEKVbl8uPLvvqZDoEiPuAt/oOQ4PDyAM7bzmBA7ikbOSrSubF0Z +pu3HsinTfVUjmO84kTb1Bkk4S0KUMmbRlDzjXGfofLqiqD5C+wd+G9bWxQh7l10V +G3qv8TTRpuCJc+I9BG8jz9tkKq9WYtnGKXktVIAmEXK+ein8A5yj+szV1CyP0y6Y +6D1KApk+o1hLEXCBxaK6JgD4elJWgU0jCIhRFZzae93yozNIfJc2WZfPc8Ro6GBa +8H57q3E241P7S65VewhZlln9AUcRFYc587ohcCIW8mOWQ8NA3IMP+oVxa2p334Ll +duhR2jECgYEAyf7a1/+/c82B+ENyo53Y5CK2UM28oOJjiyCaWG2Dxj6V2+ZSXPrS +YTo43L9XiqT0Ry2eHjb4pJDsEeW5FnaDFO6NVUP+vfzaqWtozQmVAl3GQybbSh6g ++KJoEQff2Obadp9ZVhLFTiBedvGqPD43hs7jtmk5RfMjpLOvidfe+/UCgYEAycSJ +etYYHMMQm2NgX1/4dcbgOiu33N+x1H7LaXuvJMaZw0wB7fUyu65CAexEanDtiKs3 +jVG4tAzdMmHg7VxKR7eiCvQaSlxdWdcWtL2eFVq2TaQeowbpJUtsR0h6W0vpaN9A +VYW/oAH4fzQskwmWSlBMxB/Ie14hBCBckTXSRV8CgYEAql6WXpCK/jVbZfYdfvrn +sKPGeijM7DWGGBaLmAHmnxKyeyKsXVgAkZj11NpeD8ZJcq97Kajb1pGVSxMjJVsX +/FOoST5sYfoew76gSi/GypQlYQYo9z8WLh9s/tBRcTRlFqAYTYzPdbG/ezshhmZD +lyRw0620bNdCPOyBJhY5MPECgYA/3tFOazuSz0UQi3LUfkLetagBghlf+AgJJmIp +8BdPYvcF1ae+tiHrO4x1o188+qaW3uxk9fusM25KJqXXPaHd9gl7wi4YYAjFCcuM +R4IlbGPNTCjOnr9rKOcL4aup/uvSYOmyqPYyJq2NRuzdVumWeLj0VMNYGkIFVmE3 +LnxzrQKBgG5loEjdSKt40YOMXtYvUYUKDGvWgoQEb0hj3OqiBXz+w4YD3/iX7dbQ +qra1gCxE42Z9beiBiti6zi6zGcoVj/pfNUoyxTLMSwaytbF+g1u6ksXcmC9PXcmk +kJDR0DJcm/rcL8tp3PKo22GDB7sobm9gk5je6y8z+dQs3SQbWzb0 +-----END RSA PRIVATE KEY----- \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/README.md b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/README.md new file mode 100644 index 00000000..f793795c --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/README.md @@ -0,0 +1,162 @@ +# Terraform Null Resource + +## Step-01: Introduction +- Understand about [Null Provider](https://registry.terraform.io/providers/hashicorp/null/latest/docs) +- Understand about [Null Resource](https://www.terraform.io/docs/language/resources/provisioners/null_resource.html) +- Understand about [Time Provider](https://registry.terraform.io/providers/hashicorp/time/latest/docs) +- **Usecase:** Force a resource to update based on a changed null_resource +- Create `time_sleep` resource to wait for 90 seconds after EC2 Instance creation +- Create Null resource with required provisioners + - File Provisioner: Copy apps/app1 folder to /tmp + - Remote Exec Provisioner: Copy app1 folder from /tmp to /var/www/htnl +- Over the process we will learn about + - null_resource + - time_sleep resource + - We will also learn how to Force a resource to update based on a changed null_resource using `timestamp function` and `triggers` in `null_resource` + + +## Step-02: Define null provider in Terraform Settings Block +- Update null provider info listed below in **c1-versions.tf** +```t + null = { + source = "hashicorp/null" + version = "~> 3.0.0" + } +``` + +## Step-03: Define Time Provider in Terraform Settings Block +- Update time provider info listed below in **c1-versions.tf** +```t + time = { + source = "hashicorp/time" + version = "~> 0.6.0" + } +``` + +## Step-04: Create / Review the c4-ec2-instance.tf terraform configuration +### Step-04-01: Create Time Sleep Resource +- This resource will wait for 90 seconds after EC2 Instance creation. +- This wait time will give EC2 Instance to provision the Apache Webserver and create all its relevant folders +- Primarily if we want to copy static content we need Apache webserver static folder `/var/www/html` +```t +# Wait for 90 seconds after creating the above EC2 Instance +resource "time_sleep" "wait_90_seconds" { + depends_on = [aws_instance.my-ec2-vm] + create_duration = "90s" +} +``` +### Step-04-02: Create Null Resource +- Create Null resource with `triggers` with `timestamp()` function which will trigger for every `terraform apply` +- This `Null Resource` will help us to sync the static content from our local folder to EC2 Instnace as and when required. +- Also only changes will applied using only `null_resource` when `terraform apply` is run. In other words, when static content changes, how will we sync those changes to EC2 Instance using terraform - This is one simple solution. +- Primarily the focus here is to learn the following + - null_resource + - null_resource trigger + - How trigger works based on timestamp() function ? + - Provisioners in Null Resource +```t +# Sync App1 Static Content to Webserver using Provisioners +resource "null_resource" "sync_app1_static" { + depends_on = [ time_sleep.wait_90_seconds ] + triggers = { + always-update = timestamp() + } + + # Connection Block for Provisioners to connect to EC2 Instance + connection { + type = "ssh" + host = aws_instance.my-ec2-vm.public_ip + user = "ec2-user" + password = "" + private_key = file("private-key/terraform-key.pem") + } + + # Copies the app1 folder to /tmp + provisioner "file" { + source = "apps/app1" + destination = "/tmp" + } + +# Copies the /tmp/app1 folder to Apache Webserver /var/www/html directory + provisioner "remote-exec" { + inline = [ + "sudo cp -r /tmp/app1 /var/www/html" + ] + } +} +``` + +## Step-05: Execute Terraform Commands +```t +# Terraform Initialize +terraform init + +# Terraform Validate +terraform validate + +# Terraform Format +terraform fmt + +# Terraform Plan +terraform plan + +# Terraform Apply +terraform apply -auto-approve + +# Verify +ssh -i private-key/terraform-key.pem ec2-user@ +ls -lrt /tmp +ls -lrt /tmp/app1 +ls -lrt /var/www/html +ls -lrt /var/www/html/app1 +http:///app1/file1.html +http:///app1/file2.html +``` + +## Step-06: Create new file locally in app1 folder +- Create a new file named `file3.html` +- Also updated `file1.html` with some additional info +- **file3.html** +```html +

>App1 File3

>App1 File1 - Updated +ls -lrt /tmp +ls -lrt /tmp/app1 +ls -lrt /var/www/html +ls -lrt /var/www/html/app1 +http:///app1/file1.html +http:///app1/file3.html +``` + +## Step-08: Clean-Up Resources & local working directory +```t +# Terraform Destroy +terraform destroy -auto-approve + +# Delete Terraform files +rm -rf .terraform* +rm -rf terraform.tfstate* +``` + + + +## References +- [Resource: time_sleep](https://registry.terraform.io/providers/hashicorp/time/latest/docs/resources/sleep) +- [Time Provider](https://registry.terraform.io/providers/hashicorp/time/latest/docs) diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/apache-install.sh b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/apps/app1/file1.html b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/apps/app1/file1.html new file mode 100644 index 00000000..d21aa808 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/apps/app1/file1.html @@ -0,0 +1 @@ +

App1 File-1 Updated by Kalyan Reddy

diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/apps/app1/file2.html b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/apps/app1/file2.html new file mode 100644 index 00000000..3aa17bbc --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/apps/app1/file2.html @@ -0,0 +1 @@ +

>App1 File2 Updated by Kalyan Reddy

App1 File-3 diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/c1-versions.tf b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/c1-versions.tf new file mode 100644 index 00000000..3cf00138 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/c1-versions.tf @@ -0,0 +1,28 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + null = { + source = "hashicorp/null" + version = "~> 3.0.0" + } + time = { + source = "hashicorp/time" + version = "~> 0.6.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/c2-variables.tf b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/c2-variables.tf new file mode 100644 index 00000000..f55f87b6 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/c2-variables.tf @@ -0,0 +1,13 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string + default = "t2.micro" + #default = "t2.small" +} \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/c3-security-groups.tf b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/c3-security-groups.tf new file mode 100644 index 00000000..98fe5ff7 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh-${terraform.workspace}" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web-${terraform.workspace}" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/c4-ec2-instance.tf b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/c4-ec2-instance.tf new file mode 100644 index 00000000..deca3b32 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/c4-ec2-instance.tf @@ -0,0 +1,53 @@ +# Create EC2 Instance - Amazon Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + key_name = "terraform-key" + #count = terraform.workspace == "default" ? 1 : 1 + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "vm-${terraform.workspace}-0" + } +} + +# Wait for 90 seconds after creating the above EC2 Instance +resource "time_sleep" "wait_90_seconds" { + depends_on = [aws_instance.my-ec2-vm] + create_duration = "90s" +} + +# Sync App1 Static Content to Webserver using Provisioners +resource "null_resource" "sync_app1_static" { + depends_on = [ time_sleep.wait_90_seconds ] + triggers = { + always-update = timestamp() + } + + # Connection Block for Provisioners to connect to EC2 Instance + connection { + type = "ssh" + host = aws_instance.my-ec2-vm.public_ip + user = "ec2-user" + password = "" + private_key = file("private-key/terraform-key.pem") + } + + # Copies the app1 folder to /tmp + provisioner "file" { + source = "apps/app1" + destination = "/tmp" + } + +# Copies the /tmp/app1 folder to Apache Webserver /var/www/html directory + provisioner "remote-exec" { + inline = [ + "sudo cp -r /tmp/app1 /var/www/html" + ] + } +} + + + + + diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/c5-outputs.tf b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/c5-outputs.tf new file mode 100644 index 00000000..1e4f766f --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/c5-outputs.tf @@ -0,0 +1,14 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.*.public_ip +} + + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.*.public_dns +} diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/c6-ami-datasource.tf b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/private-key/terraform-key.pem b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/private-key/terraform-key.pem new file mode 100644 index 00000000..fab1eb2a --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests-oldv1/private-key/terraform-key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAnzQtbXStFNU4znotckbPpAbQvymSYBvIRhObDObmhZLzs/Qm +lm57HBU18NcdAeEmKjHyu/2CI4Wwor3TJ+LTKHIldHmCt+26dSN5889Km99Af674 +nuPg9fTt8IXhY83aO0AeEnFivC+lk9+6Xezv7J7Llsmyx3kvUGE4uUEPNPuNcjdU +OrSlQ/Th9FPWBsTL8wLQCfQaPIQhZT8fXnvNGViTpZ/YqcoKGmkXcMl/+Pi0Xccs +ID3Egl18sV5uWr6T1DSMqhhwWYbl+IagZYUeKQ6Lg5znAtnX2/OHhDep6pGcf+aE +jbRkhQWgfLIVYhNXkAGxdxBEA2fQO0wvnaKI6wIDAQABAoIBABmUZqApmQ253LDA +TMEJw58VQUEVyuEKVbl8uPLvvqZDoEiPuAt/oOQ4PDyAM7bzmBA7ikbOSrSubF0Z +pu3HsinTfVUjmO84kTb1Bkk4S0KUMmbRlDzjXGfofLqiqD5C+wd+G9bWxQh7l10V +G3qv8TTRpuCJc+I9BG8jz9tkKq9WYtnGKXktVIAmEXK+ein8A5yj+szV1CyP0y6Y +6D1KApk+o1hLEXCBxaK6JgD4elJWgU0jCIhRFZzae93yozNIfJc2WZfPc8Ro6GBa +8H57q3E241P7S65VewhZlln9AUcRFYc587ohcCIW8mOWQ8NA3IMP+oVxa2p334Ll +duhR2jECgYEAyf7a1/+/c82B+ENyo53Y5CK2UM28oOJjiyCaWG2Dxj6V2+ZSXPrS +YTo43L9XiqT0Ry2eHjb4pJDsEeW5FnaDFO6NVUP+vfzaqWtozQmVAl3GQybbSh6g ++KJoEQff2Obadp9ZVhLFTiBedvGqPD43hs7jtmk5RfMjpLOvidfe+/UCgYEAycSJ +etYYHMMQm2NgX1/4dcbgOiu33N+x1H7LaXuvJMaZw0wB7fUyu65CAexEanDtiKs3 +jVG4tAzdMmHg7VxKR7eiCvQaSlxdWdcWtL2eFVq2TaQeowbpJUtsR0h6W0vpaN9A +VYW/oAH4fzQskwmWSlBMxB/Ie14hBCBckTXSRV8CgYEAql6WXpCK/jVbZfYdfvrn +sKPGeijM7DWGGBaLmAHmnxKyeyKsXVgAkZj11NpeD8ZJcq97Kajb1pGVSxMjJVsX +/FOoST5sYfoew76gSi/GypQlYQYo9z8WLh9s/tBRcTRlFqAYTYzPdbG/ezshhmZD +lyRw0620bNdCPOyBJhY5MPECgYA/3tFOazuSz0UQi3LUfkLetagBghlf+AgJJmIp +8BdPYvcF1ae+tiHrO4x1o188+qaW3uxk9fusM25KJqXXPaHd9gl7wi4YYAjFCcuM +R4IlbGPNTCjOnr9rKOcL4aup/uvSYOmyqPYyJq2NRuzdVumWeLj0VMNYGkIFVmE3 +LnxzrQKBgG5loEjdSKt40YOMXtYvUYUKDGvWgoQEb0hj3OqiBXz+w4YD3/iX7dbQ +qra1gCxE42Z9beiBiti6zi6zGcoVj/pfNUoyxTLMSwaytbF+g1u6ksXcmC9PXcmk +kJDR0DJcm/rcL8tp3PKo22GDB7sobm9gk5je6y8z+dQs3SQbWzb0 +-----END RSA PRIVATE KEY----- \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/apache-install.sh b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/apps/app1/file1.html b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/apps/app1/file1.html new file mode 100644 index 00000000..d21aa808 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/apps/app1/file1.html @@ -0,0 +1 @@ +

App1 File-1 Updated by Kalyan Reddy

diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/apps/app1/file2.html b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/apps/app1/file2.html new file mode 100644 index 00000000..3aa17bbc --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/apps/app1/file2.html @@ -0,0 +1 @@ +

>App1 File2 Updated by Kalyan Reddy

App1 File-3 diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/c1-versions.tf b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..a4e79135 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/c1-versions.tf @@ -0,0 +1,28 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + null = { + source = "hashicorp/null" + version = "~> 3.0.0" + } + time = { + source = "hashicorp/time" + version = "~> 0.6.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/c2-variables.tf b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/c2-variables.tf new file mode 100644 index 00000000..f55f87b6 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/c2-variables.tf @@ -0,0 +1,13 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string + default = "t2.micro" + #default = "t2.small" +} \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/c3-security-groups.tf b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/c3-security-groups.tf new file mode 100644 index 00000000..98fe5ff7 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh-${terraform.workspace}" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web-${terraform.workspace}" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/c4-ec2-instance.tf b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/c4-ec2-instance.tf new file mode 100644 index 00000000..deca3b32 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/c4-ec2-instance.tf @@ -0,0 +1,53 @@ +# Create EC2 Instance - Amazon Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + key_name = "terraform-key" + #count = terraform.workspace == "default" ? 1 : 1 + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "vm-${terraform.workspace}-0" + } +} + +# Wait for 90 seconds after creating the above EC2 Instance +resource "time_sleep" "wait_90_seconds" { + depends_on = [aws_instance.my-ec2-vm] + create_duration = "90s" +} + +# Sync App1 Static Content to Webserver using Provisioners +resource "null_resource" "sync_app1_static" { + depends_on = [ time_sleep.wait_90_seconds ] + triggers = { + always-update = timestamp() + } + + # Connection Block for Provisioners to connect to EC2 Instance + connection { + type = "ssh" + host = aws_instance.my-ec2-vm.public_ip + user = "ec2-user" + password = "" + private_key = file("private-key/terraform-key.pem") + } + + # Copies the app1 folder to /tmp + provisioner "file" { + source = "apps/app1" + destination = "/tmp" + } + +# Copies the /tmp/app1 folder to Apache Webserver /var/www/html directory + provisioner "remote-exec" { + inline = [ + "sudo cp -r /tmp/app1 /var/www/html" + ] + } +} + + + + + diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/c5-outputs.tf b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/c5-outputs.tf new file mode 100644 index 00000000..1e4f766f --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/c5-outputs.tf @@ -0,0 +1,14 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.*.public_ip +} + + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.*.public_dns +} diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/c6-ami-datasource.tf b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/private-key/terraform-key.pem b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/private-key/terraform-key.pem new file mode 100644 index 00000000..fab1eb2a --- /dev/null +++ b/BACKUP-2024/09-Terraform-Provisioners/09-04-Null-Resource/terraform-manifests/private-key/terraform-key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAnzQtbXStFNU4znotckbPpAbQvymSYBvIRhObDObmhZLzs/Qm +lm57HBU18NcdAeEmKjHyu/2CI4Wwor3TJ+LTKHIldHmCt+26dSN5889Km99Af674 +nuPg9fTt8IXhY83aO0AeEnFivC+lk9+6Xezv7J7Llsmyx3kvUGE4uUEPNPuNcjdU +OrSlQ/Th9FPWBsTL8wLQCfQaPIQhZT8fXnvNGViTpZ/YqcoKGmkXcMl/+Pi0Xccs +ID3Egl18sV5uWr6T1DSMqhhwWYbl+IagZYUeKQ6Lg5znAtnX2/OHhDep6pGcf+aE +jbRkhQWgfLIVYhNXkAGxdxBEA2fQO0wvnaKI6wIDAQABAoIBABmUZqApmQ253LDA +TMEJw58VQUEVyuEKVbl8uPLvvqZDoEiPuAt/oOQ4PDyAM7bzmBA7ikbOSrSubF0Z +pu3HsinTfVUjmO84kTb1Bkk4S0KUMmbRlDzjXGfofLqiqD5C+wd+G9bWxQh7l10V +G3qv8TTRpuCJc+I9BG8jz9tkKq9WYtnGKXktVIAmEXK+ein8A5yj+szV1CyP0y6Y +6D1KApk+o1hLEXCBxaK6JgD4elJWgU0jCIhRFZzae93yozNIfJc2WZfPc8Ro6GBa +8H57q3E241P7S65VewhZlln9AUcRFYc587ohcCIW8mOWQ8NA3IMP+oVxa2p334Ll +duhR2jECgYEAyf7a1/+/c82B+ENyo53Y5CK2UM28oOJjiyCaWG2Dxj6V2+ZSXPrS +YTo43L9XiqT0Ry2eHjb4pJDsEeW5FnaDFO6NVUP+vfzaqWtozQmVAl3GQybbSh6g ++KJoEQff2Obadp9ZVhLFTiBedvGqPD43hs7jtmk5RfMjpLOvidfe+/UCgYEAycSJ +etYYHMMQm2NgX1/4dcbgOiu33N+x1H7LaXuvJMaZw0wB7fUyu65CAexEanDtiKs3 +jVG4tAzdMmHg7VxKR7eiCvQaSlxdWdcWtL2eFVq2TaQeowbpJUtsR0h6W0vpaN9A +VYW/oAH4fzQskwmWSlBMxB/Ie14hBCBckTXSRV8CgYEAql6WXpCK/jVbZfYdfvrn +sKPGeijM7DWGGBaLmAHmnxKyeyKsXVgAkZj11NpeD8ZJcq97Kajb1pGVSxMjJVsX +/FOoST5sYfoew76gSi/GypQlYQYo9z8WLh9s/tBRcTRlFqAYTYzPdbG/ezshhmZD +lyRw0620bNdCPOyBJhY5MPECgYA/3tFOazuSz0UQi3LUfkLetagBghlf+AgJJmIp +8BdPYvcF1ae+tiHrO4x1o188+qaW3uxk9fusM25KJqXXPaHd9gl7wi4YYAjFCcuM +R4IlbGPNTCjOnr9rKOcL4aup/uvSYOmyqPYyJq2NRuzdVumWeLj0VMNYGkIFVmE3 +LnxzrQKBgG5loEjdSKt40YOMXtYvUYUKDGvWgoQEb0hj3OqiBXz+w4YD3/iX7dbQ +qra1gCxE42Z9beiBiti6zi6zGcoVj/pfNUoyxTLMSwaytbF+g1u6ksXcmC9PXcmk +kJDR0DJcm/rcL8tp3PKo22GDB7sobm9gk5je6y8z+dQs3SQbWzb0 +-----END RSA PRIVATE KEY----- \ No newline at end of file diff --git a/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/README.md b/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/README.md new file mode 100644 index 00000000..7aeb3618 --- /dev/null +++ b/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/README.md @@ -0,0 +1,132 @@ +# Terraform Module Basics + +## Step-01: Introduction +1. Introduction - Module Basics + - Root Module + - Child Module + - Published Modules (Terraform Registry) + +2. Module Basics + - Defining a Child Module + - Source (Mandatory) + - Version + - Meta-arguments (count, for_each, providers, depends_on, ) + - Accessing Module Output Values + - Tainting resources within a module + +## Step-02: Defining a Child Module +- We need to understand about the following + - Module Source (Mandatory): To start with we will use Terraform Registry + - Module Version (Optional): Recommended to use module version +- Create a simple EC2 Instance module + - c1-versions.tf: standard + - c2-variables.tf: standard + - c3-ami-datasource.tf: standard + - c4-ec2instance-module.tf: We will focus on building this template +```t +# AWS EC2 Instance Module + +module "ec2_cluster" { + source = "terraform-aws-modules/ec2-instance/aws" + version = "~> 2.0" + + name = "my-modules-demo" + instance_count = 2 + + ami = data.aws_ami.amzlinux.id + instance_type = "t2.micro" + key_name = "terraform-key" + monitoring = true + vpc_security_group_ids = ["sg-08b25c5a5bf489ffa"] # Get Default VPC Security Group ID and replace + subnet_id = "subnet-4ee95470" # Get one public subnet id from default vpc and replace + user_data = file("apache-install.sh") + + tags = { + Name = "Modules-Demo" + Terraform = "true" + Environment = "dev" + } +} +``` + +## Step-03: Define Outputs from a EC2 Instance Module +- c5-outputs.tf: We will output the EC2 Instance Module attributes (Public DNS and Public IP) +```t +# Output variable definitions + +output "ec2_instance_public_ip" { + description = "Public IP addresses of EC2 instances" + value = module.ec2_cluster.*.public_ip +} + +output "ec2_instance_public_dns" { + description = "Public IP addresses of EC2 instances" + value = module.ec2_cluster.*.public_dns +} +``` + +## Step-04: Execute Terraform Commands +```t +# Terraform Init +terraform init + +# Terraform Validate +terraform validate + +# Terraform Format +terraform fmt + +# Terraform Plan +terraform plan + +# Terraform Apply +terraform apply -auto-apporve + +# Verify +1) Verify in AWS management console , if EC2 Instances got created. +2) Update default security group of a VPC to allow port 80 from internet +3) Access Apache Webserver +http:// +http:// +``` + +## Step-05: Tainting Resources in a Module +- The **taint command** can be used to taint specific resources within a module +- **Very Very Important Note:** It is not possible to taint an entire module. Instead, each resource within the module must be tainted separately. +```t +# List Resources from State +terraform state list + +# Taint a Resource +terraform taint +terraform taint module.ec2_cluster.aws_instance.this[0] + +# Terraform Plan +terraform plan +Observation: First VM will be destroyed and re-created + +# Terraform Apply +terraform apply -auto-approve +``` + +## Step-06: Clean-Up Resources & local working directory +```t +# Terraform Destroy +terraform destroy -auto-approve + +# Delete Terraform files +rm -rf .terraform* +rm -rf terraform.tfstate* +``` + +## Step-07: Meta-Arguments for Modules +- Meta-Argument concepts are going to be same as how we learned during Resources section. + - count + - for_each + - providers + - depends_on +- [Meta-Arguments for Modules](https://www.terraform.io/docs/language/modules/syntax.html#meta-arguments) + + +## References +- [Terraform EC2 Instance Module](https://registry.terraform.io/modules/terraform-aws-modules/ec2-instance/aws/latest) \ No newline at end of file diff --git a/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests copy/apache-install.sh b/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests copy/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests copy/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests copy/c1-versions.tf b/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests copy/c1-versions.tf new file mode 100644 index 00000000..a305835c --- /dev/null +++ b/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests copy/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests copy/c2-variables.tf b/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests copy/c2-variables.tf new file mode 100644 index 00000000..d81ef3b9 --- /dev/null +++ b/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests copy/c2-variables.tf @@ -0,0 +1,7 @@ +# Input Variables + +variable "aws_region" { + description = "AWS Region" + type = string + default = "us-east-1" +} \ No newline at end of file diff --git a/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests copy/c3-ami-datasource.tf b/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests copy/c3-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests copy/c3-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests copy/c4-ec2instance-module.tf b/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests copy/c4-ec2instance-module.tf new file mode 100644 index 00000000..1cff1215 --- /dev/null +++ b/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests copy/c4-ec2instance-module.tf @@ -0,0 +1,23 @@ +# AWS EC2 Instance Module +module "ec2_cluster" { + source = "terraform-aws-modules/ec2-instance/aws" + version = "~> 2.0" + + name = "my-modules-demo" + instance_count = 2 + + ami = data.aws_ami.amzlinux.id + instance_type = "t2.micro" + key_name = "terraform-key" + monitoring = true + vpc_security_group_ids = ["sg-b8406afc"] # Get Default VPC Security Group ID and replace + subnet_id = "subnet-4ee95470" # Get one public subnet id from default vpc and replace + user_data = file("apache-install.sh") + + tags = { + Name = "Modules-Demo" + Terraform = "true" + Environment = "dev" + } +} + diff --git a/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests copy/c5-outputs.tf b/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests copy/c5-outputs.tf new file mode 100644 index 00000000..bd466eac --- /dev/null +++ b/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests copy/c5-outputs.tf @@ -0,0 +1,16 @@ +# Output variable definitions + +output "ec2_instance_public_ip" { + description = "Public IP Addressess of EC2 Instances" + value = module.ec2_cluster.*.public_ip +} + +output "ec2_instance_public_dns" { + description = "Public DNS for EC2 Instances" + value = module.ec2_cluster.*.public_dns +} + +output "ec2_instance_private_ip" { + description = "Private IP Addresses for EC2 Instances" + value = module.ec2_cluster.*.private_ip +} \ No newline at end of file diff --git a/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests/apache-install.sh b/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests/c1-versions.tf b/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..cffef5ab --- /dev/null +++ b/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests/c2-variables.tf b/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests/c2-variables.tf new file mode 100644 index 00000000..d81ef3b9 --- /dev/null +++ b/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests/c2-variables.tf @@ -0,0 +1,7 @@ +# Input Variables + +variable "aws_region" { + description = "AWS Region" + type = string + default = "us-east-1" +} \ No newline at end of file diff --git a/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests/c3-ami-datasource.tf b/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests/c3-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests/c3-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests/c4-ec2instance-module.tf b/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests/c4-ec2instance-module.tf new file mode 100644 index 00000000..1cff1215 --- /dev/null +++ b/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests/c4-ec2instance-module.tf @@ -0,0 +1,23 @@ +# AWS EC2 Instance Module +module "ec2_cluster" { + source = "terraform-aws-modules/ec2-instance/aws" + version = "~> 2.0" + + name = "my-modules-demo" + instance_count = 2 + + ami = data.aws_ami.amzlinux.id + instance_type = "t2.micro" + key_name = "terraform-key" + monitoring = true + vpc_security_group_ids = ["sg-b8406afc"] # Get Default VPC Security Group ID and replace + subnet_id = "subnet-4ee95470" # Get one public subnet id from default vpc and replace + user_data = file("apache-install.sh") + + tags = { + Name = "Modules-Demo" + Terraform = "true" + Environment = "dev" + } +} + diff --git a/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests/c5-outputs.tf b/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests/c5-outputs.tf new file mode 100644 index 00000000..bd466eac --- /dev/null +++ b/BACKUP-2024/10-Terraform-Modules/10-01-Terraform-Modules-Basics/terraform-manifests/c5-outputs.tf @@ -0,0 +1,16 @@ +# Output variable definitions + +output "ec2_instance_public_ip" { + description = "Public IP Addressess of EC2 Instances" + value = module.ec2_cluster.*.public_ip +} + +output "ec2_instance_public_dns" { + description = "Public DNS for EC2 Instances" + value = module.ec2_cluster.*.public_dns +} + +output "ec2_instance_private_ip" { + description = "Private IP Addresses for EC2 Instances" + value = module.ec2_cluster.*.private_ip +} \ No newline at end of file diff --git a/BACKUP-2024/10-Terraform-Modules/10-02-Terraform-Build-a-Module/Oldv1- backup/v1-create-static-website-on-s3-using-aws-mgmt-console/index.html b/BACKUP-2024/10-Terraform-Modules/10-02-Terraform-Build-a-Module/Oldv1- backup/v1-create-static-website-on-s3-using-aws-mgmt-console/index.html new file mode 100644 index 00000000..3c12553c --- /dev/null +++ b/BACKUP-2024/10-Terraform-Modules/10-02-Terraform-Build-a-Module/Oldv1- backup/v1-create-static-website-on-s3-using-aws-mgmt-console/index.html @@ -0,0 +1,10 @@ + + + Welcome to Stack Simplify + + +

Welcome to Stack Simplify - Terraform Modules Demo

+

Build Terraform Modules

+

Terraform Modules - Step by Step

+ + \ No newline at end of file diff --git a/BACKUP-2024/10-Terraform-Modules/10-02-Terraform-Build-a-Module/Oldv1- backup/v1-create-static-website-on-s3-using-aws-mgmt-console/policy-public-read-access-for-website.json b/BACKUP-2024/10-Terraform-Modules/10-02-Terraform-Build-a-Module/Oldv1- backup/v1-create-static-website-on-s3-using-aws-mgmt-console/policy-public-read-access-for-website.json new file mode 100644 index 00000000..1b47fe4f --- /dev/null +++ b/BACKUP-2024/10-Terraform-Modules/10-02-Terraform-Build-a-Module/Oldv1- backup/v1-create-static-website-on-s3-using-aws-mgmt-console/policy-public-read-access-for-website.json @@ -0,0 +1,16 @@ +{ + "Version": "2012-10-17", + "Statement": [ + { + "Sid": "PublicReadGetObject", + "Effect": "Allow", + "Principal": "*", + "Action": [ + "s3:GetObject" + ], + "Resource": [ + "arn:aws:s3:::mybucket-1045/*" + ] + } + ] +} \ No newline at end of file diff --git a/BACKUP-2024/10-Terraform-Modules/10-02-Terraform-Build-a-Module/Oldv1- backup/v2-host-static-website-on-s3-using-terraform-manifests/main.tf b/BACKUP-2024/10-Terraform-Modules/10-02-Terraform-Build-a-Module/Oldv1- backup/v2-host-static-website-on-s3-using-terraform-manifests/main.tf new file mode 100644 index 00000000..00b2bfcf --- /dev/null +++ b/BACKUP-2024/10-Terraform-Modules/10-02-Terraform-Build-a-Module/Oldv1- backup/v2-host-static-website-on-s3-using-terraform-manifests/main.tf @@ -0,0 +1,30 @@ +# Create S3 Bucket Resource +resource "aws_s3_bucket" "s3_bucket" { + bucket = var.bucket_name + acl = "public-read" + policy = < S3 -> Create Bucket +- **Bucket Name:** mybucket-1045 (Note: Bucket name should be unique across AWS) +- **Region:** US.East (N.Virginia) +- Rest all leave to defaults +- Click on **Create Bucket** + +### Step-02-02: Enable Static website hosting +- Go to AWS Services -> S3 -> Buckets -> mybucket-1045 -> Properties Tab -> At the end +- Edit to enable **Static website hosting** +- **Static website hosting:** enable +- **Index document:** index.html +- Click on **Save Changes** + +### Step-02-03: Remove Block public access (bucket settings) +- Go to AWS Services -> S3 -> Buckets -> mybucket-1045 -> Permissions Tab +- Edit **Block public access (bucket settings)** +- Uncheck **Block all public access** +- Click on **Save Changes** +- Provide text `confirm` and Click on **Confirm** + +### Step-02-04: Add Bucket policy for public read by bucket owners +- Update your bucket name in the below listed policy +- **Location:** v1-create-static-website-on-s3-using-aws-mgmt-console/policy-public-read-access-for-website.json +```json +{ + "Version": "2012-10-17", + "Statement": [ + { + "Sid": "PublicReadGetObject", + "Effect": "Allow", + "Principal": "*", + "Action": [ + "s3:GetObject" + ], + "Resource": [ + "arn:aws:s3:::mybucket-1045/*" + ] + } + ] +} +``` +- Go to AWS Services -> S3 -> Buckets -> mybucket-1045 -> Permissions Tab +- Edit -> **Bucket policy** -> Copy paste the policy above with your bucket name +- Click on **Save Changes** + +### Step-02-05: Upload index.html +- **Location:** v1-create-static-website-on-s3-using-aws-mgmt-console/index.html +- Go to AWS Services -> S3 -> Buckets -> mybucket-1045 -> Objects Tab +- Upload **index.html** + +### Step-02-06: Access Static Website using S3 Website Endpoint +- Access the newly uploaded index.html to S3 bucket using browser +``` +# Endpoint Format +http://example-bucket.s3-website.Region.amazonaws.com/ + +# Replace Values (Bucket Name, Region) +http://mybucket-1045.s3-website.us-east-1.amazonaws.com/ +``` + +### Step-02-07: Conclusion +- We have used multiple manual steps to host a static website on AWS +- Now all the above manual steps automate using Terraform in next step + +## Step-03: Create Terraform Configuration to Host a Static Website on AWS S3 +- **Reference Sub-folder:** v2-host-static-website-on-s3-using-terraform-manifests +- We are going to host a static website on AWS S3 using general terraform configuration files +### Step-03-01: Create Terraform Configuration Files step by step +1. versions.tf +2. main.tf +3. variables.tf +4. outputs.tf +5. terraform.tfvars + +### Step-03-02: Execute Terraform Commands & Verify the bucket +```t +# Terraform Initialize +terraform init + +# Terraform Validate +terraform validate + +# Terraform Format +terraform fmt + +# Terraform Plan +terraform plan + +# Terraform Apply +terraform apply -auto-approve + +# Verify +1. Bucket has static website hosting enabled +2. Bucket has public read access enabled using policy +3. Bucket has "Block all public access" unchecked +``` + +### Step-03-03: Upload index.html and test +``` +# Endpoint Format +http://example-bucket.s3-website.Region.amazonaws.com/ + +# Replace Values (Bucket Name, Region) +http://mybucket-1046.s3-website.us-east-1.amazonaws.com/ +``` +### Step-03-04: Destroy and Clean-Up +```t +# Terraform Destroy +terraform destroy -auto-approve + +# Delete Terraform files +rm -rf .terraform* +rm -rf terraform.tfstate* +``` + + +### Step-03-05: Conclusion +- Using above terraform configurations we have hosted a static website in AWS S3 in seconds. +- In next step, we will convert these **terraform configuration files** to a Module which will be re-usable just by calling it. + + +## Step-04: Build a Terraform Module to Host a Static Website on AWS S3 +- **Reference Sub-folder:** v3-build-a-module-to-host-static-website-on-aws-s3 +- We will build a Terraform module to host a static website on AWS S3 + +### Step-04-01: Create Module Folder Structure +- We are going to create `modules` folder and in that we are going to create a module named `aws-s3-static-website-bucket` +- We will copy required files from previous section for this respective module. +- Terraform Working Directory: v3-build-a-module-to-host-static-website-on-aws-s3 + - modules + - Module-1: aws-s3-static-website-bucket + - main.tf + - variables.tf + - outputs.tf + - README.md + - LICENSE +- Inside `modules/aws-s3-static-website-bucket`, copy below listed three files from `v2-host-static-website-on-s3-using-terraform-manifests` + - main.tf + - variables.tf + - outputs.tf + + +### Step-04-02: Call Module from Terraform Work Directory (Root Module) +- Create Terraform Configuration in Root Module by calling the newly created module +- c1-versions.tf +- c2-variables.tf +- c3-s3bucket.tf +- c4-outputs.tf +```t +module "website_s3_bucket" { + source = "./modules/aws-s3-static-website-bucket" + bucket_name = var.my_s3_bucket + tags = var.my_s3_tags +} +``` +### Step-04-03: Execute Terraform Commands +``` +# Terraform Initialize +terraform init +Observation: +1. Verify ".terraform", you will find "modules" folder in addition to "providers" folder +2. Verify inside ".terraform/modules" folder too. + +# Terraform Validate +terraform validate + +# Terraform Format +terraform fmt + +# Terraform Plan +terraform plan + +# Terraform Apply +terraform apply -auto-approve + +# Verify +1. Bucket has static website hosting enabled +2. Bucket has public read access enabled using policy +3. Bucket has "Block all public access" unchecked +``` + +### Step-04-04: Upload index.html and test +``` +# Endpoint Format +http://example-bucket.s3-website.Region.amazonaws.com/ + +# Replace Values (Bucket Name, Region) +http://mybucket-1047.s3-website.us-east-1.amazonaws.com/ +``` + +### Step-04-05: Destroy and Clean-Up +```t +# Terraform Destroy +terraform destroy -auto-approve + +# Delete Terraform files +rm -rf .terraform* +rm -rf terraform.tfstate* +``` + +### Step-04-06: Understand terraform get command +- We have used `terraform init` to download providers from terraform registry and at the same time to download `modules` present in local modules folder in terraform working directory. +- Assuming we already have initialized using `terraform init` and later we have created `module` configs, we can `terraform get` to download the same. +- Whenever you add a new module to a configuration, Terraform must install the module before it can be used. +- Both the `terraform get` and `terraform init` commands will install and update modules. +- The `terraform init` command will also initialize backends and install plugins. +``` +# Delete modules in .terraform folder +ls -lrt .terraform/modules +rm -rf .terraform/modules +ls -lrt .terraform/modules + +# Terraform Get +terraform get +ls -lrt .terraform/modules +``` +### Step-04-07: Major difference between Local and Remote Module +- When installing a remote module, Terraform will download it into the .terraform directory in your configuration's root directory. +- When installing a local module, Terraform will instead refer directly to the source directory. +- Because of this, Terraform will automatically notice changes to local modules without having to re-run terraform init or terraform get. + +## Step-05: Conclusion +- Created a Terraform module +- Used local Terraform modules in your configuration +- Configured modules with variables +- Used module outputs + + + + + + + + + + + + + + + + + + + diff --git a/BACKUP-2024/10-Terraform-Modules/10-02-Terraform-Build-a-Module/v1-create-static-website-on-s3-using-aws-mgmt-console/index.html b/BACKUP-2024/10-Terraform-Modules/10-02-Terraform-Build-a-Module/v1-create-static-website-on-s3-using-aws-mgmt-console/index.html new file mode 100644 index 00000000..3c12553c --- /dev/null +++ b/BACKUP-2024/10-Terraform-Modules/10-02-Terraform-Build-a-Module/v1-create-static-website-on-s3-using-aws-mgmt-console/index.html @@ -0,0 +1,10 @@ + + + Welcome to Stack Simplify + + +

Welcome to Stack Simplify - Terraform Modules Demo

+

Build Terraform Modules

+

Terraform Modules - Step by Step

+ + \ No newline at end of file diff --git a/BACKUP-2024/10-Terraform-Modules/10-02-Terraform-Build-a-Module/v1-create-static-website-on-s3-using-aws-mgmt-console/policy-public-read-access-for-website.json b/BACKUP-2024/10-Terraform-Modules/10-02-Terraform-Build-a-Module/v1-create-static-website-on-s3-using-aws-mgmt-console/policy-public-read-access-for-website.json new file mode 100644 index 00000000..1b47fe4f --- /dev/null +++ b/BACKUP-2024/10-Terraform-Modules/10-02-Terraform-Build-a-Module/v1-create-static-website-on-s3-using-aws-mgmt-console/policy-public-read-access-for-website.json @@ -0,0 +1,16 @@ +{ + "Version": "2012-10-17", + "Statement": [ + { + "Sid": "PublicReadGetObject", + "Effect": "Allow", + "Principal": "*", + "Action": [ + "s3:GetObject" + ], + "Resource": [ + "arn:aws:s3:::mybucket-1045/*" + ] + } + ] +} \ No newline at end of file diff --git a/BACKUP-2024/10-Terraform-Modules/10-02-Terraform-Build-a-Module/v2-host-static-website-on-s3-using-terraform-manifests/main.tf b/BACKUP-2024/10-Terraform-Modules/10-02-Terraform-Build-a-Module/v2-host-static-website-on-s3-using-terraform-manifests/main.tf new file mode 100644 index 00000000..00b2bfcf --- /dev/null +++ b/BACKUP-2024/10-Terraform-Modules/10-02-Terraform-Build-a-Module/v2-host-static-website-on-s3-using-terraform-manifests/main.tf @@ -0,0 +1,30 @@ +# Create S3 Bucket Resource +resource "aws_s3_bucket" "s3_bucket" { + bucket = var.bucket_name + acl = "public-read" + policy = </.git +git clone https://github.com/stacksimplify/terraform-cloud-demo1.git +``` + +## Step-05: Copy files from terraform-manifests to local repo & Check-In Code +- List of files to be copied + - apache-install.sh + - c1-versions.tf + - c2-variables.tf + - c3-security-groups.tf + - c4-ec2-instance.tf + - c5-outputs.tf + - c6-ami-datasource.tf +- Source Location: Section-11-01 - Inside terraform-manifests folder +- Destination Location: Newly cloned github repository folder in your local desktop `terraform-cloud-demo1` +- Verify locally before commiting to GIT Repository +```t +# Terraform Init +terraform init + +# Terraform Validate +terraform validate + +# Terraform Plan +terraform plan +``` +- Check-In code to Remote Repository +```t +# GIT Status +git status + +# Git Local Commit +git add . +git commit -am "TF Files First Commit" + +# Push to Remote Repository +git push + +# Verify the same on Remote Repository +https://github.com/stacksimplify/terraform-cloud-demo1.git +``` + +## Step-06: Sign-Up for Terraform Cloud - Free Account & Login +- **SignUp URL:** https://app.terraform.io/signup/account +- **Username:** +- **Email:** +- **Password:** +- **Login URL:** https://app.terraform.io + +## Step-07: Create Organization +- **Organization Name:** hcta-demo1 +- **Email Address:** stacksimplify@gmail.com +- Click on **Create Organization** + +## Step-08: Create New Workspace +- Get in to newly created Organization +- Click on **New Workspace** +- **Choose your workflow:** V + - Version Control Workflow +- **Connect to VCS** + - **Connect to a version control provider:** github.com + - NEW WINDOW: **Authorize Terraform Cloud:** Click on **Authorize Terraform Cloud Button** + - NEW WINDOW: **Install Terraform Cloud** + - **Select radio button:** Only select repositories + - **Selected 1 Repository:** stacksimplify/terraform-cloud-demo1 + - Click on **Install** +- **Choose a Repository** + - stacksimplify/terraform-cloud-demo1 +- **Configure Settings** + - **Workspace Name:** terraform-cloud-demo1 (Whatever populated automically leave to defaults) + - **Advanced Settings:** leave to defaults +- Click on **Create Workspace** +- You should see this message `Configuration uploaded successfully` + + +## Step-09: Configure Variables +- **Variable:** aws_region + - key: aws_region + - value: us-east-1 +- **Variable:** instance_type + - key: instance_type + - value: t3.micro + +## Step-10: Configre Environment Variables +- [Setup AWS Access Keys for Terraform](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#environment-variables) +- Configure AWS Access Key ID and Secret Access Key +- **Environment Variable:** AWS_ACCESS_KEY_ID + - Key: AWS_ACCESS_KEY_ID + - Value: XXXXXXXXXXXXXXXXXXXXXX +- **Environment Variable:** AWS_SECRET_ACCESS_KEY + - Key: AWS_SECRET_ACCESS_KEY + - Value: YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY + +## Step-11: Click on Queue Plan +- Go to Workspace -> Runs -> Queue Plan +- Review the plan generated in **Full Screen** +- **Add Comment:** First Run +- Click on **Confirm & Apply** +- **Add Comment:** First Run Approved +- Click on **Confirm Plan** +- Review Apply log output in **Full Screen** +- **Add Comment:** Successfully Provisioned, Verified in AWS + +## Step-12: Review Terraform State +- Go to Workspace -> States +- Review the state file + +## Step-13: Change Number of Instance +- Go to Local Desktop -> Local Repo -> c4-ec2-instance.tf -> Change count from 1 to 2 +```t +# Change c4-ec2-instance.tf +count = 2 + +# GIT Status +git status + +# Git Local Commit +git add . +git commit -am "Changed EC2 Instances from 1 to 2" + +# Push to Remote Repository +git push + +# Verify Terraform Cloud +Go to Workspace -> Runs +Observation: +1) New plan should be queued -> Click on Current Plan and review logs in Full Screen +2) Click on **Confirm and Apply** +3) Add Comment: Approved for new EC2 Instance and Click on **Confirm Plan** +4) Verify Apply Logs in Full Screen +5) Review the update state in Workspace -> States +6) Verify if new EC2 Instance got created +``` + +## Step-14: Review Workpace Settings +- Goto -> Workspace -> Settings + - General Settings + - Locking + - Notifications + - Run Triggers + - SSH Key + - Version Control + +## Step-15: Destruction and Deletion +- Goto -> Workspace -> Settings -> Destruction and Deletion +- click on **Queue Destroy Plan** to delete the resources on cloud +- Goto -> Workspac -> Runs -> Click on **Confirm & Apply** +- **Add Comment:** Approved for Deletion + diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests-oldv1/apache-install.sh b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests-oldv1/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests-oldv1/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests-oldv1/c1-versions.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests-oldv1/c1-versions.tf new file mode 100644 index 00000000..9a8bf6ce --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests-oldv1/c1-versions.tf @@ -0,0 +1,19 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests-oldv1/c2-variables.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests-oldv1/c2-variables.tf new file mode 100644 index 00000000..bba754b9 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests-oldv1/c2-variables.tf @@ -0,0 +1,10 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string +} \ No newline at end of file diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests-oldv1/c3-security-groups.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests-oldv1/c3-security-groups.tf new file mode 100644 index 00000000..98fe5ff7 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests-oldv1/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh-${terraform.workspace}" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web-${terraform.workspace}" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests-oldv1/c4-ec2-instance.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests-oldv1/c4-ec2-instance.tf new file mode 100644 index 00000000..d759412e --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests-oldv1/c4-ec2-instance.tf @@ -0,0 +1,19 @@ +# Create EC2 Instance - Amazon2 Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + count = 1 + key_name = "terraform-key" + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "Terraform-Cloud-${count.index}" + } +} + + + + + + + diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests-oldv1/c5-outputs.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests-oldv1/c5-outputs.tf new file mode 100644 index 00000000..ad086758 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests-oldv1/c5-outputs.tf @@ -0,0 +1,14 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.*.public_ip +} + + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.*.public_dns +} diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests-oldv1/c6-ami-datasource.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests-oldv1/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests-oldv1/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests/apache-install.sh b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests/c1-versions.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..c540c0da --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests/c1-versions.tf @@ -0,0 +1,19 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests/c2-variables.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests/c2-variables.tf new file mode 100644 index 00000000..bba754b9 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests/c2-variables.tf @@ -0,0 +1,10 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string +} \ No newline at end of file diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests/c3-security-groups.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests/c3-security-groups.tf new file mode 100644 index 00000000..98fe5ff7 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh-${terraform.workspace}" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web-${terraform.workspace}" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests/c4-ec2-instance.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests/c4-ec2-instance.tf new file mode 100644 index 00000000..d759412e --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests/c4-ec2-instance.tf @@ -0,0 +1,19 @@ +# Create EC2 Instance - Amazon2 Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + count = 1 + key_name = "terraform-key" + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "Terraform-Cloud-${count.index}" + } +} + + + + + + + diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests/c5-outputs.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests/c5-outputs.tf new file mode 100644 index 00000000..ad086758 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests/c5-outputs.tf @@ -0,0 +1,14 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.*.public_ip +} + + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.*.public_dns +} diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests/c6-ami-datasource.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-01-Terraform-Cloud-Github-Integration/terraform-manifests/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/README.md b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/README.md new file mode 100644 index 00000000..1cba3213 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/README.md @@ -0,0 +1,192 @@ +# Share Modules in Private Modules Registry + +## Step-01: Introduction +- Create and version a GitHub repository for use in the private module registry +- Import a module into your organization's private module registry. +- Construct a root module to consume modules from the private registry. +- Over the process also learn about `terraform login` command + +## Step-02: Create new github Repository for s3-website terraform module +### Step-02-01: Craete new Github Repository +- **URL:** github.com +- Click on **Create a new repository** +- Follow Naming Conventions for modules + - terraform-PROVIDER-MODULE_NAME + - **Sample:** terraform-aws-s3-website +- **Repository Name:** terraform-aws-s3-website +- **Description:** Terraform Modules to be shared in Private Registry +- **Repo Type:** Public / Private +- **Initialize this repository with:** +- **UN-CHECK** - Add a README file +- **CHECK** - Add .gitignore +- **Select .gitignore Template:** Terraform +- **CHECK** - Choose a license +- **Select License:** Apache 2.0 License (Optional) +- Click on **Create repository** +### Step-02-02: Create New Release Tag 1.0.0 in Repo +- Go to Right Navigation on github Repo -> Releases -> Create a new release +- **Tag Version:** 1.0.0 +- **Release Title:** Release-1 terraform-aws-s3-website +- **Write:** Terraform Module for Private Registry - terraform-aws-s3-website +- Click on **Publish Release** + + +## Step-03: Clone Github Repository to Local Desktop +```t +# Clone Github Repo +git clone https://github.com//.git +git clone https://github.com/stacksimplify/terraform-aws-s3-website.git +``` + +## Step-04: Copy files from terraform-manifests to local repo & Check-In Code +- **Orignial Source Location:** 10-Terraform-Modules/10-02-Terraform-Build-a-Module/v3-build-a-module-to-host-static-website-on-aws-s3/modules/aws-s3-static-website-bucket +- **Source Location from this section:** terraform-s3-website-module-manifests +- **Destination Location:** Newly cloned github repository folder in your local desktop `terraform-module-s3-website` +- Check-In code to Remote Repository +```t +# GIT Status +git status + +# Git Local Commit +git add . +git commit -am "TF Module Files First Commit" + +# Push to Remote Repository +git push + +# Verify the same on Remote Repository +https://github.com/stacksimplify/terraform-aws-s3-website.git +``` + +## Step-05: Add VCS Provider as Github using OAuth App in Terraform Cloud + +### Step-05-01: Add VCS Provider as Github using OAuth App in Terraform Cloud +- Login to Terraform Cloud +- Click on Modules Tab -> Click on Add Module -> Select Github(Custom) +- Should redirect to URL: https://github.com/settings/applications/new in new browser tab +- **Application Name:** Terraform Cloud (hctaprep) +- **Homepage URL:** https://app.terraform.io +- **Application description:** Terraform Cloud Integration with Github using OAuth +- **Authorization callback URL:** https://app.terraform.io/auth/f53695b8-9733-40f0-9853-89cb5396610b/callback +- Click on **Register Application** +- Make a note of Client ID: 97e5219d6edd8986817e (Sample for reference) +- Generate new Client Secret: abcdefghijklmnopqrstuvwxyx + +### Step-05-02: Add the below in Terraform Cloud +- Name: github-terraform-modules +- Client ID: 97e5219d6edd8986817e +- Client Secret: abcdefghijklmnopqrstuvwxyx +- Click on **Connect and Continue** +- Authorize Terraform Cloud (hctaprep) - Click on **Authorize StackSimplify** +- SSH Keypair (Optional): click on **Skip and Finish** + +### Step-06: Import the Terraform Module from Github +- In above step, we have completed the VCS Setup with github +- Now lets go ahead and import the Terraform module from Github +- Login to Terraform Cloud +- Click on Modules Tab -> Click on Add Module -> Select Github(github-terraform-modules) (PRE-POPULATED) -> Select it +- **Choose a Repository:** terraform-module-s3-website +- Click on **Publish Module** + +## Step-07: Review newly imported Module +- Login to Terraform Cloud -> Click on Modules Tab +- Review the Module Tabs on Terraform Cloud + - Readme + - Inputs + - Outputs + - Dependencies + - Resources +- Also review the following + - Versions + - Provision Instructions + +## Step-08: Create a configuration that uses the Private Registry module using Terraform CLI +### Step-08-01: Call Module from Terraform Work Directory (Root Module) +- CreateTerraform Configuration in Root Module by calling the newly published module in Terraform Private Registry +- c1-versions.tf +- c2-variables.tf : Review and discuss about changing bucket name due to AWS Unique constraints +- c3-s3bucket.tf +- c4-outputs.tf +```t +module "website_s3_bucket" { + source = "app.terraform.io/hctaprep/s3-website-internal/aws" + version = "1.0.0" + # insert required variables here + bucket_name = var.my_s3_bucket + tags = var.my_s3_tags +} +``` +### Step-08-02: Execute Terraform Commands +```t +# Terraform Initialize +terraform init +Observation: +1. Should fail with error due to cli not having access to Private module registry in Terraform Cloud + +# Terraform Login +terraform login +Observation: +1) Should see message |Success! Terraform has obtained and saved an API token.| +2) Verify Terraform credentials file +cat /Users//.terraform.d/credentials.tfrc.json +cat /Users/kdaida/.terraform.d/credentials.tfrc.json +Additional Reference: +https://www.terraform.io/docs/cli/config/config-file.html#credentials-1 +https://www.terraform.io/docs/cloud/registry/using.html#configuration + +# Terraform Initialize +terraform init +Observation: +1. Should pass and download modules and providers + +# Terraform Validate +terraform validate + +# Terraform Format +terraform fmt + +# Terraform Plan +terraform plan + +# Terraform Apply +terraform apply -auto-approve + +# Verify +1. Bucket has static website hosting enabled +2. Bucket has public read access enabled using policy +3. Bucket has "Block all public access" unchecked +``` + +### Step-08-03: Upload index.html and test +```t +# Endpoint Format +http://example-bucket.s3-website.Region.amazonaws.com/ + +# Replace Values (Bucket Name, Region) +http://mybucket-1051.s3-website.us-east-1.amazonaws.com/ +``` + +### Step-08-04: Destroy and Clean-Up +```t +# Terraform Destroy +terraform destroy -auto-approve + +# Delete Terraform files +rm -rf .terraform* +rm -rf terraform.tfstate* +``` + +## Step-09: Create a configuration that uses the Private Registry module using Terraform Cloud & Github +### Assignment +1. Create Github Repository +2. Check-In files from `terraform-manifests` folder in `11-02` section +3. Create a new Workspace in Terraform Cloud to connect with Github Repository +4. Execute `Queue Plan` to apply the changes and test + + +## Step-10: VCS Providers & Terraform Cloud +- [Configuration-Free GitHub Usage](https://www.terraform.io/docs/cloud/vcs/github-app.html) +- [Configuring GitHub.com Access (OAuth)](https://www.terraform.io/docs/cloud/vcs/github.html) +- [Configuring GitHub Enterprise Access](https://www.terraform.io/docs/cloud/vcs/github-enterprise.html) +- [Other Supported VCS Providers](https://www.terraform.io/docs/cloud/vcs/index.html) + diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/static-file/index.html b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/static-file/index.html new file mode 100644 index 00000000..3c12553c --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/static-file/index.html @@ -0,0 +1,10 @@ + + + Welcome to Stack Simplify + + +

Welcome to Stack Simplify - Terraform Modules Demo

+

Build Terraform Modules

+

Terraform Modules - Step by Step

+ + \ No newline at end of file diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-manifests-oldv1/c1-versions.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-manifests-oldv1/c1-versions.tf new file mode 100644 index 00000000..a305835c --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-manifests-oldv1/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-manifests-oldv1/c2-variables.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-manifests-oldv1/c2-variables.tf new file mode 100644 index 00000000..08ad15d2 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-manifests-oldv1/c2-variables.tf @@ -0,0 +1,25 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +## Create Variable for S3 Bucket Name +variable "my_s3_bucket" { + description = "S3 Bucket name that we pass to S3 Custom Module" + type = string + default = "mybucket-1051" +} + +## Create Variable for S3 Bucket Tags +variable "my_s3_tags" { + description = "Tags to set on the bucket" + type = map(string) + default = { + Terraform = "true" + Environment = "dev" + newtag1 = "tag1" + newtag2 = "tag2" + } +} diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-manifests-oldv1/c3-s3bucket.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-manifests-oldv1/c3-s3bucket.tf new file mode 100644 index 00000000..d33af476 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-manifests-oldv1/c3-s3bucket.tf @@ -0,0 +1,8 @@ +# Call our Custom Terraform Module which we built earlier +module "website_s3_bucket123" { + source = "app.terraform.io/hcta-demo1/s3-website/aws" + version = "1.0.1" + # insert required variables here + bucket_name = var.my_s3_bucket + tags = var.my_s3_tags +} \ No newline at end of file diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-manifests-oldv1/c4-outputs.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-manifests-oldv1/c4-outputs.tf new file mode 100644 index 00000000..ac095c12 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-manifests-oldv1/c4-outputs.tf @@ -0,0 +1,25 @@ +# Output definitions + +## S3 Bucket ARN +output "website_bucket_arn" { + description = "ARN of the bucket" + value = module.website_s3_bucket.arn +} + +## S3 Bucket Name +output "website_bucket_name" { + description = "Name (id) of the bucket" + value = module.website_s3_bucket.name +} + +## S3 Bucket Domain +output "website_bucket_domain" { + description = "Name (id) of the bucket" + value = module.website_s3_bucket.domain +} + +## S3 Bucket Endpoint +output "website_bucket_endpoint" { + description = "Name (id) of the bucket" + value = module.website_s3_bucket.endpoint +} diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-manifests/c1-versions.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..cffef5ab --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-manifests/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-manifests/c2-variables.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-manifests/c2-variables.tf new file mode 100644 index 00000000..08ad15d2 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-manifests/c2-variables.tf @@ -0,0 +1,25 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +## Create Variable for S3 Bucket Name +variable "my_s3_bucket" { + description = "S3 Bucket name that we pass to S3 Custom Module" + type = string + default = "mybucket-1051" +} + +## Create Variable for S3 Bucket Tags +variable "my_s3_tags" { + description = "Tags to set on the bucket" + type = map(string) + default = { + Terraform = "true" + Environment = "dev" + newtag1 = "tag1" + newtag2 = "tag2" + } +} diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-manifests/c3-s3bucket.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-manifests/c3-s3bucket.tf new file mode 100644 index 00000000..d33af476 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-manifests/c3-s3bucket.tf @@ -0,0 +1,8 @@ +# Call our Custom Terraform Module which we built earlier +module "website_s3_bucket123" { + source = "app.terraform.io/hcta-demo1/s3-website/aws" + version = "1.0.1" + # insert required variables here + bucket_name = var.my_s3_bucket + tags = var.my_s3_tags +} \ No newline at end of file diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-manifests/c4-outputs.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-manifests/c4-outputs.tf new file mode 100644 index 00000000..ac095c12 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-manifests/c4-outputs.tf @@ -0,0 +1,25 @@ +# Output definitions + +## S3 Bucket ARN +output "website_bucket_arn" { + description = "ARN of the bucket" + value = module.website_s3_bucket.arn +} + +## S3 Bucket Name +output "website_bucket_name" { + description = "Name (id) of the bucket" + value = module.website_s3_bucket.name +} + +## S3 Bucket Domain +output "website_bucket_domain" { + description = "Name (id) of the bucket" + value = module.website_s3_bucket.domain +} + +## S3 Bucket Endpoint +output "website_bucket_endpoint" { + description = "Name (id) of the bucket" + value = module.website_s3_bucket.endpoint +} diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-s3-website-module-manifests/LICENSE b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-s3-website-module-manifests/LICENSE new file mode 100644 index 00000000..d955a86d --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-s3-website-module-manifests/LICENSE @@ -0,0 +1,11 @@ +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-s3-website-module-manifests/README.md b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-s3-website-module-manifests/README.md new file mode 100644 index 00000000..90d2ce19 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-s3-website-module-manifests/README.md @@ -0,0 +1,4 @@ +# Terraform Module for Private Registry - AWS S3 Static website +- This module provisions AWS S3 buckets configured for static website hosting. +- This will be a demo S3 module + diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-s3-website-module-manifests/main.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-s3-website-module-manifests/main.tf new file mode 100644 index 00000000..00b2bfcf --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-02-Share-Modules-in-Private-Module-Registry/terraform-s3-website-module-manifests/main.tf @@ -0,0 +1,30 @@ +# Create S3 Bucket Resource +resource "aws_s3_bucket" "s3_bucket" { + bucket = var.bucket_name + acl = "public-read" + policy = < hcta-demo1 +- Click on **New Workspace** +- **Choose your workflow:** CLI-Driven Workflow +- **Workspace Name:** cli-driven-demo +- Click on **Create Workspace** + +## Step-04: Add backend block in Terraform Settings c1-versions.tf +```t +terraform { + backend "remote" { + organization = "hcta-demo1" + + workspaces { + name = "cli-driven-demo" + } + } +} +``` + +## Step-05: Execute Terraform Commands +```t +# Terraform Login +terraform login +Observation: +1) Should see message |Success! Terraform has obtained and saved an API token.| +2) Verify Terraform credentials file +cat /Users//.terraform.d/credentials.tfrc.json +cat /Users/kdaida/.terraform.d/credentials.tfrc.json +Additional Reference: +https://www.terraform.io/docs/cli/config/config-file.html#credentials-1 +https://www.terraform.io/docs/cloud/registry/using.html#configuration + +# Terraform Initialize +terraform init +Observation: +1. Should pass and download modules and providers + +# Terraform Validate +terraform validate + +# Terraform Format +terraform fmt + +# Terraform Plan +terraform plan +Observation: Should fail with error due to AWS Provider credential configuration not done on Terraform Cloud for this respective workspace +``` + +## Step-06: Configre Environment Variables +- [Setup AWS Access Keys for Terraform](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#environment-variables) +- Go to Organization (hcta-demo1) -> Workspace(cli-driven-demo) -> Variables +- In environment variables, add the below two +- Configure AWS Access Key ID and Secret Access Key +- **Environment Variable:** AWS_ACCESS_KEY_ID + - Key: AWS_ACCESS_KEY_ID + - Value: XXXXXXXXXXXXXXXXXXXXXX +- **Environment Variable:** AWS_SECRET_ACCESS_KEY + - Key: AWS_SECRET_ACCESS_KEY + - Value: YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY + + +## Step-07: Execute Terraform Commands +```t +# Terraform Plan +terraform plan +Observation: +1) Terraform plan should pass now. +2) Discuss about cost estimation and trial plan for 30 days + +# Terraform Apply +terraform apply + +# Verify +1. Bucket has static website hosting enabled +2. Bucket has public read access enabled using policy +3. Bucket has "Block all public access" unchecked +``` + + +### Step-08: Upload index.html and test +```t +# Endpoint Format +http://example-bucket.s3-website.Region.amazonaws.com/ + +# Replace Values (Bucket Name, Region) +http://mybucket-1051.s3-website.us-east-1.amazonaws.com/ +``` + +## Step-09: Verify the following +- Select Organization -> hcta-demo1 +- Click on **New Workspace** +- **Choose your workflow:** CLI-Driven Workflow +- **Workspace Name:** cli-driven-demo +- Runs +- States + +## Step-10: Make changes and execute Terraform commands +- Update `c2-variables.tf` with new tag +- Execute Terraform Commands +```t +# Terraform Plan +terraform plan +Observation: +1) Verify Terraform cloud Runs tab +2) We should see the runs are taking place for changes in Terraform cloud + +# Terraform Apply +terraform apply -auto-approve +``` +### Step-11: Destroy and Clean-Up +```t +# Terraform Destroy +terraform destroy -auto-approve + +# Delete Terraform files +rm -rf .terraform* +rm -rf terraform.tfstate* +``` + +## Additional References +- [CLI Configuration File](https://www.terraform.io/docs/cli/config/config-file.html#credentials) \ No newline at end of file diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/static-file/index.html b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/static-file/index.html new file mode 100644 index 00000000..3c12553c --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/static-file/index.html @@ -0,0 +1,10 @@ + + + Welcome to Stack Simplify + + +

Welcome to Stack Simplify - Terraform Modules Demo

+

Build Terraform Modules

+

Terraform Modules - Step by Step

+ + \ No newline at end of file diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/terraform-manifests-oldv1/c1-versions.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/terraform-manifests-oldv1/c1-versions.tf new file mode 100644 index 00000000..562ecd36 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/terraform-manifests-oldv1/c1-versions.tf @@ -0,0 +1,27 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } + # Update Terraform Cloud Backend Block Information below + backend "remote" { + organization = "hcta-demo1" + + workspaces { + name = "cli-driven-demo" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/terraform-manifests-oldv1/c2-variables.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/terraform-manifests-oldv1/c2-variables.tf new file mode 100644 index 00000000..ec7c12c2 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/terraform-manifests-oldv1/c2-variables.tf @@ -0,0 +1,26 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +## Create Variable for S3 Bucket Name +variable "my_s3_bucket" { + description = "S3 Bucket name that we pass to S3 Custom Module" + type = string + default = "mybucket-1051" +} + +## Create Variable for S3 Bucket Tags +variable "my_s3_tags" { + description = "Tags to set on the bucket" + type = map(string) + default = { + Terraform = "true" + Environment = "dev" + newtag1 = "tag1" + newtag2 = "tag2" + newtag3 = "tag3" # Enable during Step-10 + } +} diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/terraform-manifests-oldv1/c3-s3bucket.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/terraform-manifests-oldv1/c3-s3bucket.tf new file mode 100644 index 00000000..3a308e0f --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/terraform-manifests-oldv1/c3-s3bucket.tf @@ -0,0 +1,8 @@ +# Call our Custom Terraform Module which we built earlier +module "website_s3_bucket" { + source = "app.terraform.io/hcta-demo1/s3-website/aws" + version = "1.0.1" + # insert required variables here + bucket_name = var.my_s3_bucket + tags = var.my_s3_tags +} diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/terraform-manifests-oldv1/c4-outputs.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/terraform-manifests-oldv1/c4-outputs.tf new file mode 100644 index 00000000..ac095c12 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/terraform-manifests-oldv1/c4-outputs.tf @@ -0,0 +1,25 @@ +# Output definitions + +## S3 Bucket ARN +output "website_bucket_arn" { + description = "ARN of the bucket" + value = module.website_s3_bucket.arn +} + +## S3 Bucket Name +output "website_bucket_name" { + description = "Name (id) of the bucket" + value = module.website_s3_bucket.name +} + +## S3 Bucket Domain +output "website_bucket_domain" { + description = "Name (id) of the bucket" + value = module.website_s3_bucket.domain +} + +## S3 Bucket Endpoint +output "website_bucket_endpoint" { + description = "Name (id) of the bucket" + value = module.website_s3_bucket.endpoint +} diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/terraform-manifests/c1-versions.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..64de9125 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/terraform-manifests/c1-versions.tf @@ -0,0 +1,27 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } + # Update Terraform Cloud Backend Block Information below + backend "remote" { + organization = "hcta-demo1" + + workspaces { + name = "cli-driven-demo" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/terraform-manifests/c2-variables.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/terraform-manifests/c2-variables.tf new file mode 100644 index 00000000..ec7c12c2 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/terraform-manifests/c2-variables.tf @@ -0,0 +1,26 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +## Create Variable for S3 Bucket Name +variable "my_s3_bucket" { + description = "S3 Bucket name that we pass to S3 Custom Module" + type = string + default = "mybucket-1051" +} + +## Create Variable for S3 Bucket Tags +variable "my_s3_tags" { + description = "Tags to set on the bucket" + type = map(string) + default = { + Terraform = "true" + Environment = "dev" + newtag1 = "tag1" + newtag2 = "tag2" + newtag3 = "tag3" # Enable during Step-10 + } +} diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/terraform-manifests/c3-s3bucket.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/terraform-manifests/c3-s3bucket.tf new file mode 100644 index 00000000..3a308e0f --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/terraform-manifests/c3-s3bucket.tf @@ -0,0 +1,8 @@ +# Call our Custom Terraform Module which we built earlier +module "website_s3_bucket" { + source = "app.terraform.io/hcta-demo1/s3-website/aws" + version = "1.0.1" + # insert required variables here + bucket_name = var.my_s3_bucket + tags = var.my_s3_tags +} diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/terraform-manifests/c4-outputs.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/terraform-manifests/c4-outputs.tf new file mode 100644 index 00000000..ac095c12 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-03-Terraform-Cloud-CLI-Driven-Workflow/terraform-manifests/c4-outputs.tf @@ -0,0 +1,25 @@ +# Output definitions + +## S3 Bucket ARN +output "website_bucket_arn" { + description = "ARN of the bucket" + value = module.website_s3_bucket.arn +} + +## S3 Bucket Name +output "website_bucket_name" { + description = "Name (id) of the bucket" + value = module.website_s3_bucket.name +} + +## S3 Bucket Domain +output "website_bucket_domain" { + description = "Name (id) of the bucket" + value = module.website_s3_bucket.domain +} + +## S3 Bucket Endpoint +output "website_bucket_endpoint" { + description = "Name (id) of the bucket" + value = module.website_s3_bucket.endpoint +} diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/README.md b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/README.md new file mode 100644 index 00000000..cd8e2817 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/README.md @@ -0,0 +1,157 @@ +# Migrate State to Terraform Cloud + +## Step-01: Introduction +- We are going to migrate State to Terraform Cloud + +## Step-02: Review Terraform Manifests +- c1-versions.tf +- c2-variables.tf: + - **Important Note:** No default values provided for variables +- c3-security-groups.tf +- c4-ec2-instance.tf +- c5-outputs.tf +- c6-ami-datasource.tf +- apache-install.sh + + +## Step-03: Execute Terraform Commands (First provision using local backend) +- First provision infra using local backend +- `terraform.tfstate` file will be created in local working directory +- In next steps, migrate it to Terraform Cloud +```t +# Terraform Initialize +terraform init + +# Terraform Validate +terraform validate + +# Terraform Plan +terraform plan + +# Terraform Apply +terraform apply -auto-approve +``` + +## Step-04: Review your local state file +- Review your local `terraform.tfstate` file once + + +## Step-05: Update remote backend in c1-versions.tf Terraform Block +### Step-05-01: Create New Workspace with CLI-Driven workflow +- Create New workspace with CLI-Driven workflow +- Login to [Terraform Cloud](https://app.terraform.io/) +- Select Organization -> hcta-demo1 +- Click on **New Workspace** +- **Choose your workflow:** CLI-Driven Workflow +- **Workspace Name:** state-migration-demo +- Click on **Create Workspace** + +### Step-05-02: Update remote backend in c1-versions.tf Terraform Block +```t +# Template + backend "remote" { + hostname = "app.terraform.io" + organization = "" + + workspaces { + name = "" + } + } + +# Replace Values + backend "remote" { + hostname = "app.terraform.io" + organization = "hcta-demo1" # Organization should already exists in Terraform Cloud + + workspaces { + name = "state-migration-demo" + # Two cases: + # Case-1: If workspace already exists, should not have any state files in states tab + # Case-2: If workspace not exists, during migration it will get created + } + } +``` +- **Case-2 above for workspaces is failing with this error** +``` +Kalyans-MacBook-Pro:terraform-manifests kdaida$ terraform init +Initializing the backend... +Error: Error looking up workspace +Workspace read failed: resource not found +Kalyans-MacBook-Pro:terraform-manifests kdaida$ +``` + +## Step-06: Migrate State file to Terraform Cloud and Verify +```t +# Terraform Login +terraform login +Observation: +1) Should see message |Success! Terraform has obtained and saved an API token.| +2) Verify Terraform credentials file +cat /Users//.terraform.d/credentials.tfrc.json +cat /Users/kdaida/.terraform.d/credentials.tfrc.json +Additional Reference: +https://www.terraform.io/docs/cli/config/config-file.html#credentials-1 +https://www.terraform.io/docs/cloud/registry/using.html#configuration + +# Terraform Initialize +terraform init +Observation: +1) During reinitialization, Terraform presents a prompt saying that it will copy the state file to the new backend. +2) Enter yes and Terraform will migrate the state from your local machine to Terraform Cloud. + +# Verify in Terraform Cloud +1) New workspace should be created with name "state-migration-demo" +2) Verify "states" tab in workspace, we should find the state file +``` + +## Step-07: Add Variables & AWS Credentials in Environment Variables +### Step-07-01: Add Variables +```t +aws_region = us-east-1 +instance_type = t3.micro +``` +### Step-07-02: Configre Environment Variables +- [Setup AWS Access Keys for Terraform](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#environment-variables) +- Go to Organization (hcta-demo1) -> Workspace(state-migration-demo) -> Variables +- In environment variables, add the below two +- Configure AWS Access Key ID and Secret Access Key +- **Environment Variable:** AWS_ACCESS_KEY_ID + - Key: AWS_ACCESS_KEY_ID + - Value: XXXXXXXXXXXXXXXXXXXXXX +- **Environment Variable:** AWS_SECRET_ACCESS_KEY + - Key: AWS_SECRET_ACCESS_KEY + - Value: YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY + +## Step-08: Delete local terraform.tfstate +- First take backup and put it safe and delete it +```t +# Take backup +cp terraform.tfstate terraform.tfstate_local_before_migrate_to_TF_Cloud + +# Delete +rm terraform.tfstate +``` + +## Step-09: Apply a new run from CLI +- Make a change and do `terraform apply` +```t +# Change Instances from 1 to 2 (c4-ec2-instance.tf) +count = 2 + +# Terraform Apply +terraform apply + +# Verify in Terraform Cloud +1) Verify in Runs Tab in TF Cloud +2) Verify States Tab in TF Cloud +``` + +## Step-10: Destroy & Clean-Up +- Destroy Resources from cloud this time instead of `terraform destroy` command +- Go to Organization (hcta-demo1) -> Workspace(state-migration-demo) -> Settings -> Destruction and Deletion +- Click on **Queue Destroy Plan** +```t +# Clean-Up files +rm -rf .terraform* +rm -rf terraform.tfstate* +``` diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests-oldv1/apache-install.sh b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests-oldv1/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests-oldv1/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests-oldv1/c1-versions.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests-oldv1/c1-versions.tf new file mode 100644 index 00000000..0c635725 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests-oldv1/c1-versions.tf @@ -0,0 +1,31 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +# Update remote backend information + backend "remote" { + hostname = "app.terraform.io" + organization = "hcta-demo1" # Organization should already exists in Terraform Cloud + + workspaces { + name = "state-migration-demo" + # Two cases: + # Case-1: If workspace already exists, should not have any state files in states tab + # Case-2: If workspace not exists, during migration it will get created + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests-oldv1/c2-variables.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests-oldv1/c2-variables.tf new file mode 100644 index 00000000..bba754b9 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests-oldv1/c2-variables.tf @@ -0,0 +1,10 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string +} \ No newline at end of file diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests-oldv1/c3-security-groups.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests-oldv1/c3-security-groups.tf new file mode 100644 index 00000000..98fe5ff7 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests-oldv1/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh-${terraform.workspace}" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web-${terraform.workspace}" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests-oldv1/c4-ec2-instance.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests-oldv1/c4-ec2-instance.tf new file mode 100644 index 00000000..550e12c2 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests-oldv1/c4-ec2-instance.tf @@ -0,0 +1,19 @@ +# Create EC2 Instance - Amazon2 Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + count = 1 + #key_name = "terraform-key" + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "Terraform-Cloud-${count.index}" + } +} + + + + + + + diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests-oldv1/c5-outputs.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests-oldv1/c5-outputs.tf new file mode 100644 index 00000000..ad086758 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests-oldv1/c5-outputs.tf @@ -0,0 +1,14 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.*.public_ip +} + + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.*.public_dns +} diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests-oldv1/c6-ami-datasource.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests-oldv1/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests-oldv1/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests/apache-install.sh b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests/c1-versions.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..433cbb0a --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests/c1-versions.tf @@ -0,0 +1,31 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +# Update remote backend information + backend "remote" { + hostname = "app.terraform.io" + organization = "hcta-demo1" # Organization should already exists in Terraform Cloud + + workspaces { + name = "state-migration-demo" + # Two cases: + # Case-1: If workspace already exists, should not have any state files in states tab + # Case-2: If workspace not exists, during migration it will get created + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests/c2-variables.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests/c2-variables.tf new file mode 100644 index 00000000..bba754b9 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests/c2-variables.tf @@ -0,0 +1,10 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string +} \ No newline at end of file diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests/c3-security-groups.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests/c3-security-groups.tf new file mode 100644 index 00000000..98fe5ff7 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh-${terraform.workspace}" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web-${terraform.workspace}" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests/c4-ec2-instance.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests/c4-ec2-instance.tf new file mode 100644 index 00000000..550e12c2 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests/c4-ec2-instance.tf @@ -0,0 +1,19 @@ +# Create EC2 Instance - Amazon2 Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + count = 1 + #key_name = "terraform-key" + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "Terraform-Cloud-${count.index}" + } +} + + + + + + + diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests/c5-outputs.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests/c5-outputs.tf new file mode 100644 index 00000000..ad086758 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests/c5-outputs.tf @@ -0,0 +1,14 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.*.public_ip +} + + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.*.public_dns +} diff --git a/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests/c6-ami-datasource.tf b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/11-Terraform-Cloud-and-Enterprise-Capabilities/11-04-Migrate-State-to-Terraform-Cloud/terraform-manifests/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/README.md b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/README.md new file mode 100644 index 00000000..2f16346b --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/README.md @@ -0,0 +1,312 @@ +# Terraform Cloud and Sentinel Policies + +## Step-01: Introduction +- We are going to learn the following in this section +- Enable Trial plan for 30 days on hcta-demo1 organization which will enable **Team & Governance** features of Terraform Cloud +- Implement CLI-Driven workflow using Terraform Cloud for a S3 bucket resource +- Understand about two sentinel policies + - check-terraform-version.sentinel + - restrict-s3-buckets.sentinel +- Create Github repository for Sentinel Policies to use them as Policy Sets in Terraform Cloud +- Create Policy Sets in Terraform Cloud and Apply to demo workspace +- Test if sentinel policies applied and worked successfully. + + +## Step-02: Review Terraform manifests +- **c1-versions.tf** + - We are going to add Terraform Cloud as backend and implement CLI-Driven workflow on Terraform Cloud for this usecase for our learning. +- **c2-variables.tf** + - Bucket Name and Tags have default values and due to unique constraint for s3 bucket names, please use different bucket name when you are implementing it. +- **c3-s3bucket.tf** + - We are using this S3 bucket resource from **10-02-Terraform-Build-a-Module/v2-host-static-website-on-s3-using-terraform-manifests**. + - In addition, we are going to add new resource named **aws_s3_bucket_object**, which will upload the `static-files/index.html` automatically during `terraform apply` +```t +resource "aws_s3_bucket_object" "bucket" { + acl = "public-read" + key = "index.html" + bucket = aws_s3_bucket.s3_bucket.id + content = file("${path.module}/static-files/index.html") + content_type = "text/html" +} +``` +- **c4-outputs.tf** + - We are going to have only S3 website endpoint as output with and without http appended. + +## Step-03: Create CLI-Driven Workspace on Terraform Cloud +### Step-03-01: Enable Trial plan in hcta-demo1 organization +- Login to Terraform Cloud +- Goto -> Organizations (hcta-demo1) -> Settings -> Plan & Billing +- Click on **Change Plan** +- Select **Trial Plan: Try out the Team & Governance plan features for 30 days** +- Click on **Start Free Trial** + +### Step-03-02: Create CLI-Driven Workspace in organization hcta-demo1 +- Login to [Terraform Cloud](https://app.terraform.io/) +- Select Organization -> hcta-demo1 +- Click on **New Workspace** +- **Choose your workflow:** CLI-Driven Workflow +- **Workspace Name:** sentinel-demo1 +- Click on **Create Workspace** + +### Step-03-03: Update c1-versions.tf with Terraform Backend in Terraform Block +```t +terraform { + backend "remote" { + organization = "hcta-demo1" + + workspaces { + name = "sentinel-demo1" + } + } +} +``` +### Step-03-04: Configre Environment Variables in Terraform Cloud for AWS Provider +- [Setup AWS Access Keys for Terraform](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#environment-variables) +- Go to Organization (hcta-demo1) -> Workspace(sentinel-demo1) -> Variables +- In environment variables, add the below two +- Configure AWS Access Key ID and Secret Access Key +- **Environment Variable:** AWS_ACCESS_KEY_ID + - Key: AWS_ACCESS_KEY_ID + - Value: XXXXXXXXXXXXXXXXXXXXXX +- **Environment Variable:** AWS_SECRET_ACCESS_KEY + - Key: AWS_SECRET_ACCESS_KEY + - Value: YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY + + +### Step-03-05: Execute Terraform Commands +```t +# Terraform Login +terraform login +Observation: +1) Should see message |Success! Terraform has obtained and saved an API token.| +2) Verify Terraform credentials file +cat /Users//.terraform.d/credentials.tfrc.json +cat /Users/kdaida/.terraform.d/credentials.tfrc.json +Additional Reference: +https://www.terraform.io/docs/cli/config/config-file.html#credentials-1 +https://www.terraform.io/docs/cloud/registry/using.html#configuration + + +# Terrafrom Initialize +terraform init + +# Terraform Plan +terraform plan +Observation: +1) Cost Estimation with this bucket should be displayed as we enabled the trial plan for 30 days on this organization (hcta-demo1) + +# Terraform Apply +terraform apply -auto-approve + +# Verify +1) Access S3 static website and test +2) Review the plan and apply logs in Terraform Cloud respective workspace +``` + +## Step-04: Review Sentinel Policies +- [Sentinel Documentation](https://www.terraform.io/docs/cloud/sentinel/index.html) +### Step-04-01: check-terraform-version.sentinel +```t +import "tfplan/v2" as tfplan +import "strings" + +v = strings.split(tfplan.terraform_version, ".") +version_major = int(v[1]) +version_minor = int(v[2]) + +main = rule { + #version_major is 14 and version_minor >= 1 + version_major >= 14 +} +``` + +### Step-04-02: restrict-s3-buckets.sentinel +```t +import "tfplan/v2" as tfplan + +s3_buckets = filter tfplan.resource_changes as _, rc { + rc.type is "aws_s3_bucket" and + (rc.change.actions contains "create" or rc.change.actions is ["update"]) +} + +required_tags = [ + "Terraform", + "Environment", +] + +allowed_acls = [ + "private", + "public-read", +] + +bucket_tags = rule { + all s3_buckets as _, instances { + all required_tags as rt { + instances.change.after.tags contains rt + } + } +} + +acl_allowed = rule { + all s3_buckets as _, buckets { + buckets.change.after.acl in allowed_acls + } +} + +main = rule { + (bucket_tags and acl_allowed) else false +} + +``` + +### Step-04-03: sentinel.hcl +```t +policy "check-terraform-version" { + source = "./check-terraform-version.sentinel" + enforcement_level = "hard-mandatory" +} + +policy "restrict-s3-buckets" { + source = "./restrict-s3-buckets.sentinel" + enforcement_level = "soft-mandatory" +} +``` +## Step-05: Create Github Repository for Sentinel Policies (Policy Sets) +### Step-05-01: Create new github Repository +- **URL:** github.com +- Click on **Create a new repository** +- **Repository Name:** terraform-sentinel-policies +- **Description:** Terraform Cloud and Sentinel Policies Demo +- **Repo Type:** Public / Private +- **Initialize this repository with:** +- **CHECK** - Add a README file +- **CHECK** - Add .gitignore +- **Select .gitignore Template:** Terraform +- **CHECK** - Choose a license (Optional) +- **Select License:** Apache 2.0 License +- Click on **Create repository** + +## Step-05-02: Clone Github Repository to Local Desktop +```t +# Clone Github Repo +git clone https://github.com//.git +git clone https://github.com/stacksimplify/terraform-sentinel-policies.git +``` + +## Step-05-03: Copy files from terraform-sentinel-policies folder to local repo & Check-In Code +- List of files to be copied + - check-terraform-version.sentinel + - restrict-s3-buckets.sentinel + - sentinel.hcl +- **Source Location:** Section-12-01 - Inside `terraform-sentinel-policies` folder +- **Destination Location:** Newly cloned github repository folder in your local desktop `terraform-sentinel-policies` +- **Check-In code to Remote Repository** +```t +# GIT Status +git status + +# Git Local Commit +git add . +git commit -am "Sentinel Policies First Commit" + +# Push to Remote Repository +git push + +# Verify the same on Remote Repository +https://github.com/stacksimplify/terraform-sentinel-policies.git +``` + +## Step-06: Create Policy Sets in Terraform Cloud +- Go to Terraform Cloud -> Organization (hcta-demo1) -> Settings -> Policy Sets +- Click on **Connect a new Policy Set** +- Use existing VCS connection from previous section **github-terraform-modules** which we created using OAuth App concept +- **Choose Repository:** terraform-sentinel-policies.git +- **Description:** Demo Sentinel Policies +- **Scope of Policies:** Policies enforced on selected workspaces +- **Workspaces:** sentinel-demo +- Click on **Connect Policy Set** + +## Step-07: Update static-files/index.html in terraform-manifests +- Update static-files/index.html in terraform-manifests +```t +# Terraform Plan +terraform plan +Observation: +1) Changes related to index.html should be printed in terraform plan +2) Cost Estimation with this bucket should be displayed as we enabled the trial plan for 30 days on this organization (hcta-demo1) +3) Sentinel policy execution should be displayed + +# Terraform Apply +terraform apply -auto-approve +Observation: +1) Changes related to index.html should be printed in terraform apply +2) Cost Estimation with this bucket should be displayed as we enabled the trial plan for 30 days on this organization (hcta-demo1) +3) Sentinel policy execution should be displayed + +# Verify in Terraform Cloud +Observations: +1) Cost Estimation should be displayed +2) Also Sentinel Policy check should be displayed +``` + +## Step-08: Verify Sentinel Policy Failure Scenario +### Step-08-01: c2-variables.tf +- Update required tags to different value +```t +# Before Change +variable "tags" { + description = "Tages to set on the bucket" + type = map(string) + default = { + Terraform = "true" + Environment = "dev" + newtag1 = "tag1" + newtag2 = "tag2" + } +} + +# After Change +variable "tags" { + description = "Tages to set on the bucket" + type = map(string) + default = { + abcdef = "true" # modified one required tag so that sentinel policy restrict-se-buckets.sentinel will fail + Environment = "dev" + newtag1 = "tag1" + newtag2 = "tag2" + } +} +``` +### Step-08-02: Execute Terraform Commands +```t +# Terraform Plan +terraform plan +Observation: +1) Changes related to tag should be printed in terraform plan +2) Sentinel policy execution should report a failure for policy restrict-s3-buckets.sentinel + +# Terraform Apply +terraform apply -auto-approve +Observation: +1) Changes related to tag should be printed in terraform apply +2) Sentinel policy execution should report a failure for policy restrict-s3-buckets.sentinel + +# Verify in Terraform Cloud +Observation: +1) Sentinel policy execution will fail and terraform apply will not be executed +``` + +## Step-09: Clean-Up & Destroy +```t +# Terraform Destroy +terraform destroy -auto-approve + +# Clean-Up files +rm -rf .terraform* +``` + +## References +- [Terraform & Sentinel](https://www.terraform.io/docs/cloud/sentinel/index.html) +- [Example Sentinel Policies](https://www.terraform.io/docs/cloud/sentinel/examples.html) +- [Sentinel Foundational Policies](https://github.com/hashicorp/terraform-foundational-policies-library) +- [Sentinel Enforcement Levels](https://docs.hashicorp.com/sentinel/concepts/enforcement-levels) diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/Sentinel-Mocks/run-9rHCA5A7cwvRAox6-sentinel-mocks/mock-tfconfig-v2.sentinel b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/Sentinel-Mocks/run-9rHCA5A7cwvRAox6-sentinel-mocks/mock-tfconfig-v2.sentinel new file mode 100644 index 00000000..1c454a8d --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/Sentinel-Mocks/run-9rHCA5A7cwvRAox6-sentinel-mocks/mock-tfconfig-v2.sentinel @@ -0,0 +1,165 @@ +import "strings" + +providers = { + "aws": { + "alias": "", + "config": { + "region": { + "references": [ + "var.aws_region", + ], + }, + }, + "module_address": "", + "name": "aws", + "provider_config_key": "aws", + "version_constraint": "~> 3.0", + }, +} + +resources = { + "aws_s3_bucket.s3_bucket": { + "address": "aws_s3_bucket.s3_bucket", + "config": { + "acl": { + "constant_value": "public-read", + }, + "bucket": { + "references": [ + "var.bucket_name", + ], + }, + "force_destroy": { + "constant_value": true, + }, + "policy": { + "references": [ + "var.bucket_name", + ], + }, + "tags": { + "references": [ + "var.tags", + ], + }, + "website": [ + { + "error_document": { + "constant_value": "error.html", + }, + "index_document": { + "constant_value": "index.html", + }, + }, + ], + }, + "count": {}, + "depends_on": [], + "for_each": {}, + "mode": "managed", + "module_address": "", + "name": "s3_bucket", + "provider_config_key": "aws", + "provisioners": [], + "type": "aws_s3_bucket", + }, + "aws_s3_bucket_object.bucket": { + "address": "aws_s3_bucket_object.bucket", + "config": { + "acl": { + "constant_value": "public-read", + }, + "bucket": { + "references": [ + "aws_s3_bucket.s3_bucket", + ], + }, + "content": { + "references": [ + "path.module", + ], + }, + "content_type": { + "constant_value": "text/html", + }, + "key": { + "constant_value": "index.html", + }, + }, + "count": {}, + "depends_on": [], + "for_each": {}, + "mode": "managed", + "module_address": "", + "name": "bucket", + "provider_config_key": "aws", + "provisioners": [], + "type": "aws_s3_bucket_object", + }, +} + +provisioners = {} + +variables = { + "aws_region": { + "default": "us-east-1", + "description": "Region in which AWS Resources to be created", + "module_address": "", + "name": "aws_region", + }, + "bucket_name": { + "default": "mybucket-1061", + "description": "Name of the S3 bucket. Must be Unique across AWS", + "module_address": "", + "name": "bucket_name", + }, + "tags": { + "default": { + "Environment": "dev", + "Terraform": "true", + "newtag1": "tag1", + "newtag2": "tag2", + }, + "description": "Tages to set on the bucket", + "module_address": "", + "name": "tags", + }, +} + +outputs = { + "bucket_website_endpoint_url": { + "depends_on": [], + "description": "", + "module_address": "", + "name": "bucket_website_endpoint_url", + "sensitive": false, + "value": { + "references": [ + "aws_s3_bucket.s3_bucket", + ], + }, + }, + "endpoint": { + "depends_on": [], + "description": "Endpoint Information of the bucket", + "module_address": "", + "name": "endpoint", + "sensitive": false, + "value": { + "references": [ + "aws_s3_bucket.s3_bucket", + ], + }, + }, +} + +module_calls = {} + +strip_index = func(addr) { + s = strings.split(addr, ".") + for s as i, v { + s[i] = strings.split(v, "[")[0] + } + + return strings.join(s, ".") +} diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/Sentinel-Mocks/run-9rHCA5A7cwvRAox6-sentinel-mocks/mock-tfconfig.sentinel b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/Sentinel-Mocks/run-9rHCA5A7cwvRAox6-sentinel-mocks/mock-tfconfig.sentinel new file mode 100644 index 00000000..276461b1 --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/Sentinel-Mocks/run-9rHCA5A7cwvRAox6-sentinel-mocks/mock-tfconfig.sentinel @@ -0,0 +1,156 @@ +import "strings" +import "types" + +_modules = { + "root": { + "data": {}, + "modules": {}, + "outputs": { + "bucket_website_endpoint_url": { + "depends_on": [], + "description": "", + "references": [ + "aws_s3_bucket.s3_bucket", + ], + "sensitive": false, + "value": undefined, + }, + "endpoint": { + "depends_on": [], + "description": "Endpoint Information of the bucket", + "references": [ + "aws_s3_bucket.s3_bucket", + ], + "sensitive": false, + "value": undefined, + }, + }, + "providers": { + "aws": { + "alias": { + "": { + "config": {}, + "references": { + "region": [ + "var.aws_region", + ], + }, + "version": "~> 3.0", + }, + }, + "config": {}, + "references": { + "region": [ + "var.aws_region", + ], + }, + "version": "~> 3.0", + }, + }, + "resources": { + "aws_s3_bucket": { + "s3_bucket": { + "config": { + "acl": "public-read", + "force_destroy": true, + "website": [ + { + "error_document": "error.html", + "index_document": "index.html", + }, + ], + }, + "provisioners": null, + "references": { + "acl": [], + "bucket": [ + "var.bucket_name", + ], + "force_destroy": [], + "policy": [ + "var.bucket_name", + ], + "tags": [ + "var.tags", + ], + "website": [ + { + "error_document": [], + "index_document": [], + }, + ], + }, + }, + }, + "aws_s3_bucket_object": { + "bucket": { + "config": { + "acl": "public-read", + "content_type": "text/html", + "key": "index.html", + }, + "provisioners": null, + "references": { + "acl": [], + "bucket": [ + "aws_s3_bucket.s3_bucket", + ], + "content": [ + "path.module", + ], + "content_type": [], + "key": [], + }, + }, + }, + }, + "variables": { + "aws_region": { + "default": "us-east-1", + "description": "Region in which AWS Resources to be created", + }, + "bucket_name": { + "default": "mybucket-1061", + "description": "Name of the S3 bucket. Must be Unique across AWS", + }, + "tags": { + "default": { + "Environment": "dev", + "Terraform": "true", + "newtag1": "tag1", + "newtag2": "tag2", + }, + "description": "Tages to set on the bucket", + }, + }, + }, +} + +module_paths = [ + [], +] + +module = func(path) { + if types.type_of(path) is not "list" { + error("expected list, got", types.type_of(path)) + } + + if length(path) < 1 { + return _modules.root + } + + addr = [] + for path as p { + append(addr, "module") + append(addr, p) + } + + return _modules[strings.join(addr, ".")] +} + +data = _modules.root.data +modules = _modules.root.modules +providers = _modules.root.providers +resources = _modules.root.resources +variables = _modules.root.variables +outputs = _modules.root.outputs diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/Sentinel-Mocks/run-9rHCA5A7cwvRAox6-sentinel-mocks/mock-tfplan-v2.sentinel b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/Sentinel-Mocks/run-9rHCA5A7cwvRAox6-sentinel-mocks/mock-tfplan-v2.sentinel new file mode 100644 index 00000000..eaf44a2d --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/Sentinel-Mocks/run-9rHCA5A7cwvRAox6-sentinel-mocks/mock-tfplan-v2.sentinel @@ -0,0 +1,596 @@ +terraform_version = "0.14.8" + +planned_values = { + "outputs": { + "bucket_website_endpoint_url": { + "name": "bucket_website_endpoint_url", + "sensitive": false, + "value": undefined, + }, + "endpoint": { + "name": "endpoint", + "sensitive": false, + "value": undefined, + }, + }, + "resources": { + "aws_s3_bucket.s3_bucket": { + "address": "aws_s3_bucket.s3_bucket", + "depends_on": [], + "deposed_key": "", + "index": null, + "mode": "managed", + "module_address": "", + "name": "s3_bucket", + "provider_name": "registry.terraform.io/hashicorp/aws", + "tainted": false, + "type": "aws_s3_bucket", + "values": { + "acl": "public-read", + "bucket": "mybucket-1061", + "bucket_prefix": null, + "cors_rule": [], + "force_destroy": true, + "grant": [], + "lifecycle_rule": [], + "logging": [], + "object_lock_configuration": [], + "policy": "{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"PublicReadGetObject\",\n \"Effect\": \"Allow\",\n \"Principal\": \"*\",\n \"Action\": [\n \"s3:GetObject\"\n ],\n \"Resource\": [\n \"arn:aws:s3:::mybucket-1061/*\"\n ]\n }\n ]\n} \n", + "replication_configuration": [], + "server_side_encryption_configuration": [], + "tags": { + "Environment": "dev", + "Terraform": "true", + "newtag1": "tag1", + "newtag2": "tag2", + }, + "website": [ + { + "error_document": "error.html", + "index_document": "index.html", + "redirect_all_requests_to": null, + "routing_rules": null, + }, + ], + }, + }, + "aws_s3_bucket_object.bucket": { + "address": "aws_s3_bucket_object.bucket", + "depends_on": [], + "deposed_key": "", + "index": null, + "mode": "managed", + "module_address": "", + "name": "bucket", + "provider_name": "registry.terraform.io/hashicorp/aws", + "tainted": false, + "type": "aws_s3_bucket_object", + "values": { + "acl": "public-read", + "cache_control": null, + "content": "\n\n Welcome to Stack Simplify\n\n\n

Welcome to Stack Simplify - Terraform & Sentinel Demo

\n

Sentinel Demo

\n

Terraform Sentinel - Demo - V1

\n\n", + "content_base64": null, + "content_disposition": null, + "content_encoding": null, + "content_language": null, + "content_type": "text/html", + "force_destroy": false, + "key": "index.html", + "metadata": null, + "object_lock_legal_hold_status": null, + "object_lock_mode": null, + "object_lock_retain_until_date": null, + "source": null, + "tags": null, + "website_redirect": null, + }, + }, + }, +} + +variables = { + "aws_region": { + "name": "aws_region", + "value": "us-east-1", + }, + "bucket_name": { + "name": "bucket_name", + "value": "mybucket-1061", + }, + "tags": { + "name": "tags", + "value": { + "Environment": "dev", + "Terraform": "true", + "newtag1": "tag1", + "newtag2": "tag2", + }, + }, +} + +resource_changes = { + "aws_s3_bucket.s3_bucket": { + "address": "aws_s3_bucket.s3_bucket", + "change": { + "actions": [ + "create", + ], + "after": { + "acl": "public-read", + "bucket": "mybucket-1061", + "bucket_prefix": null, + "cors_rule": [], + "force_destroy": true, + "grant": [], + "lifecycle_rule": [], + "logging": [], + "object_lock_configuration": [], + "policy": "{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"PublicReadGetObject\",\n \"Effect\": \"Allow\",\n \"Principal\": \"*\",\n \"Action\": [\n \"s3:GetObject\"\n ],\n \"Resource\": [\n \"arn:aws:s3:::mybucket-1061/*\"\n ]\n }\n ]\n} \n", + "replication_configuration": [], + "server_side_encryption_configuration": [], + "tags": { + "Environment": "dev", + "Terraform": "true", + "newtag1": "tag1", + "newtag2": "tag2", + }, + "website": [ + { + "error_document": "error.html", + "index_document": "index.html", + "redirect_all_requests_to": null, + "routing_rules": null, + }, + ], + }, + "after_unknown": { + "acceleration_status": true, + "arn": true, + "bucket_domain_name": true, + "bucket_regional_domain_name": true, + "cors_rule": [], + "grant": [], + "hosted_zone_id": true, + "id": true, + "lifecycle_rule": [], + "logging": [], + "object_lock_configuration": [], + "region": true, + "replication_configuration": [], + "request_payer": true, + "server_side_encryption_configuration": [], + "tags": {}, + "versioning": true, + "website": [ + {}, + ], + "website_domain": true, + "website_endpoint": true, + }, + "before": null, + }, + "deposed": "", + "index": null, + "mode": "managed", + "module_address": "", + "name": "s3_bucket", + "provider_name": "registry.terraform.io/hashicorp/aws", + "type": "aws_s3_bucket", + }, + "aws_s3_bucket_object.bucket": { + "address": "aws_s3_bucket_object.bucket", + "change": { + "actions": [ + "create", + ], + "after": { + "acl": "public-read", + "cache_control": null, + "content": "\n\n Welcome to Stack Simplify\n\n\n

Welcome to Stack Simplify - Terraform & Sentinel Demo

\n

Sentinel Demo

\n

Terraform Sentinel - Demo - V1

\n\n", + "content_base64": null, + "content_disposition": null, + "content_encoding": null, + "content_language": null, + "content_type": "text/html", + "force_destroy": false, + "key": "index.html", + "metadata": null, + "object_lock_legal_hold_status": null, + "object_lock_mode": null, + "object_lock_retain_until_date": null, + "source": null, + "tags": null, + "website_redirect": null, + }, + "after_unknown": { + "bucket": true, + "etag": true, + "id": true, + "kms_key_id": true, + "server_side_encryption": true, + "storage_class": true, + "version_id": true, + }, + "before": null, + }, + "deposed": "", + "index": null, + "mode": "managed", + "module_address": "", + "name": "bucket", + "provider_name": "registry.terraform.io/hashicorp/aws", + "type": "aws_s3_bucket_object", + }, +} + +output_changes = { + "bucket_website_endpoint_url": { + "change": { + "actions": [ + "create", + ], + "after": undefined, + "after_unknown": true, + "before": null, + }, + "name": "bucket_website_endpoint_url", + }, + "endpoint": { + "change": { + "actions": [ + "create", + ], + "after": undefined, + "after_unknown": true, + "before": null, + }, + "name": "endpoint", + }, +} + +raw = { + "configuration": { + "provider_config": { + "aws": { + "expressions": { + "region": { + "references": [ + "var.aws_region", + ], + }, + }, + "name": "aws", + "version_constraint": "~> 3.0", + }, + }, + "root_module": { + "outputs": { + "bucket_website_endpoint_url": { + "expression": { + "references": [ + "aws_s3_bucket.s3_bucket", + ], + }, + }, + "endpoint": { + "description": "Endpoint Information of the bucket", + "expression": { + "references": [ + "aws_s3_bucket.s3_bucket", + ], + }, + }, + }, + "resources": [ + { + "address": "aws_s3_bucket.s3_bucket", + "expressions": { + "acl": { + "constant_value": "public-read", + }, + "bucket": { + "references": [ + "var.bucket_name", + ], + }, + "force_destroy": { + "constant_value": true, + }, + "policy": { + "references": [ + "var.bucket_name", + ], + }, + "tags": { + "references": [ + "var.tags", + ], + }, + "website": [ + { + "error_document": { + "constant_value": "error.html", + }, + "index_document": { + "constant_value": "index.html", + }, + }, + ], + }, + "mode": "managed", + "name": "s3_bucket", + "provider_config_key": "aws", + "schema_version": 0, + "type": "aws_s3_bucket", + }, + { + "address": "aws_s3_bucket_object.bucket", + "expressions": { + "acl": { + "constant_value": "public-read", + }, + "bucket": { + "references": [ + "aws_s3_bucket.s3_bucket", + ], + }, + "content": { + "references": [ + "path.module", + ], + }, + "content_type": { + "constant_value": "text/html", + }, + "key": { + "constant_value": "index.html", + }, + }, + "mode": "managed", + "name": "bucket", + "provider_config_key": "aws", + "schema_version": 0, + "type": "aws_s3_bucket_object", + }, + ], + "variables": { + "aws_region": { + "default": "us-east-1", + "description": "Region in which AWS Resources to be created", + }, + "bucket_name": { + "default": "mybucket-1061", + "description": "Name of the S3 bucket. Must be Unique across AWS", + }, + "tags": { + "default": { + "Environment": "dev", + "Terraform": "true", + "newtag1": "tag1", + "newtag2": "tag2", + }, + "description": "Tages to set on the bucket", + }, + }, + }, + }, + "format_version": "0.1", + "output_changes": { + "bucket_website_endpoint_url": { + "actions": [ + "create", + ], + "after_unknown": true, + "before": null, + }, + "endpoint": { + "actions": [ + "create", + ], + "after_unknown": true, + "before": null, + }, + }, + "planned_values": { + "outputs": { + "bucket_website_endpoint_url": { + "sensitive": false, + }, + "endpoint": { + "sensitive": false, + }, + }, + "root_module": { + "resources": [ + { + "address": "aws_s3_bucket.s3_bucket", + "mode": "managed", + "name": "s3_bucket", + "provider_name": "registry.terraform.io/hashicorp/aws", + "schema_version": 0, + "type": "aws_s3_bucket", + "values": { + "acl": "public-read", + "bucket": "mybucket-1061", + "bucket_prefix": null, + "cors_rule": [], + "force_destroy": true, + "grant": [], + "lifecycle_rule": [], + "logging": [], + "object_lock_configuration": [], + "policy": "{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"PublicReadGetObject\",\n \"Effect\": \"Allow\",\n \"Principal\": \"*\",\n \"Action\": [\n \"s3:GetObject\"\n ],\n \"Resource\": [\n \"arn:aws:s3:::mybucket-1061/*\"\n ]\n }\n ]\n} \n", + "replication_configuration": [], + "server_side_encryption_configuration": [], + "tags": { + "Environment": "dev", + "Terraform": "true", + "newtag1": "tag1", + "newtag2": "tag2", + }, + "website": [ + { + "error_document": "error.html", + "index_document": "index.html", + "redirect_all_requests_to": null, + "routing_rules": null, + }, + ], + }, + }, + { + "address": "aws_s3_bucket_object.bucket", + "mode": "managed", + "name": "bucket", + "provider_name": "registry.terraform.io/hashicorp/aws", + "schema_version": 0, + "type": "aws_s3_bucket_object", + "values": { + "acl": "public-read", + "cache_control": null, + "content": "\n\n Welcome to Stack Simplify\n\n\n

Welcome to Stack Simplify - Terraform & Sentinel Demo

\n

Sentinel Demo

\n

Terraform Sentinel - Demo - V1

\n\n", + "content_base64": null, + "content_disposition": null, + "content_encoding": null, + "content_language": null, + "content_type": "text/html", + "force_destroy": false, + "key": "index.html", + "metadata": null, + "object_lock_legal_hold_status": null, + "object_lock_mode": null, + "object_lock_retain_until_date": null, + "source": null, + "tags": null, + "website_redirect": null, + }, + }, + ], + }, + }, + "resource_changes": [ + { + "address": "aws_s3_bucket.s3_bucket", + "change": { + "actions": [ + "create", + ], + "after": { + "acl": "public-read", + "bucket": "mybucket-1061", + "bucket_prefix": null, + "cors_rule": [], + "force_destroy": true, + "grant": [], + "lifecycle_rule": [], + "logging": [], + "object_lock_configuration": [], + "policy": "{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"PublicReadGetObject\",\n \"Effect\": \"Allow\",\n \"Principal\": \"*\",\n \"Action\": [\n \"s3:GetObject\"\n ],\n \"Resource\": [\n \"arn:aws:s3:::mybucket-1061/*\"\n ]\n }\n ]\n} \n", + "replication_configuration": [], + "server_side_encryption_configuration": [], + "tags": { + "Environment": "dev", + "Terraform": "true", + "newtag1": "tag1", + "newtag2": "tag2", + }, + "website": [ + { + "error_document": "error.html", + "index_document": "index.html", + "redirect_all_requests_to": null, + "routing_rules": null, + }, + ], + }, + "after_unknown": { + "acceleration_status": true, + "arn": true, + "bucket_domain_name": true, + "bucket_regional_domain_name": true, + "cors_rule": [], + "grant": [], + "hosted_zone_id": true, + "id": true, + "lifecycle_rule": [], + "logging": [], + "object_lock_configuration": [], + "region": true, + "replication_configuration": [], + "request_payer": true, + "server_side_encryption_configuration": [], + "tags": {}, + "versioning": true, + "website": [ + {}, + ], + "website_domain": true, + "website_endpoint": true, + }, + "before": null, + }, + "mode": "managed", + "name": "s3_bucket", + "provider_name": "registry.terraform.io/hashicorp/aws", + "type": "aws_s3_bucket", + }, + { + "address": "aws_s3_bucket_object.bucket", + "change": { + "actions": [ + "create", + ], + "after": { + "acl": "public-read", + "cache_control": null, + "content": "\n\n Welcome to Stack Simplify\n\n\n

Welcome to Stack Simplify - Terraform & Sentinel Demo

\n

Sentinel Demo

\n

Terraform Sentinel - Demo - V1

\n\n", + "content_base64": null, + "content_disposition": null, + "content_encoding": null, + "content_language": null, + "content_type": "text/html", + "force_destroy": false, + "key": "index.html", + "metadata": null, + "object_lock_legal_hold_status": null, + "object_lock_mode": null, + "object_lock_retain_until_date": null, + "source": null, + "tags": null, + "website_redirect": null, + }, + "after_unknown": { + "bucket": true, + "etag": true, + "id": true, + "kms_key_id": true, + "server_side_encryption": true, + "storage_class": true, + "version_id": true, + }, + "before": null, + }, + "mode": "managed", + "name": "bucket", + "provider_name": "registry.terraform.io/hashicorp/aws", + "type": "aws_s3_bucket_object", + }, + ], + "terraform_version": "0.14.8", + "variables": { + "aws_region": { + "value": "us-east-1", + }, + "bucket_name": { + "value": "mybucket-1061", + }, + "tags": { + "value": { + "Environment": "dev", + "Terraform": "true", + "newtag1": "tag1", + "newtag2": "tag2", + }, + }, + }, +} diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/Sentinel-Mocks/run-9rHCA5A7cwvRAox6-sentinel-mocks/mock-tfplan.sentinel b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/Sentinel-Mocks/run-9rHCA5A7cwvRAox6-sentinel-mocks/mock-tfplan.sentinel new file mode 100644 index 00000000..7df65fb7 --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/Sentinel-Mocks/run-9rHCA5A7cwvRAox6-sentinel-mocks/mock-tfplan.sentinel @@ -0,0 +1,407 @@ +import "strings" +import "types" + +_modules = { + "root": { + "data": {}, + "path": [], + "resources": { + "aws_s3_bucket": { + "s3_bucket": { + 0: { + "applied": { + "acl": "public-read", + "bucket": "mybucket-1061", + "bucket_prefix": null, + "cors_rule": [], + "force_destroy": true, + "grant": [], + "lifecycle_rule": [], + "logging": [], + "object_lock_configuration": [], + "policy": "{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"PublicReadGetObject\",\n \"Effect\": \"Allow\",\n \"Principal\": \"*\",\n \"Action\": [\n \"s3:GetObject\"\n ],\n \"Resource\": [\n \"arn:aws:s3:::mybucket-1061/*\"\n ]\n }\n ]\n} \n", + "replication_configuration": [], + "server_side_encryption_configuration": [], + "tags": { + "Environment": "dev", + "Terraform": "true", + "newtag1": "tag1", + "newtag2": "tag2", + }, + "website": [ + { + "error_document": "error.html", + "index_document": "index.html", + "redirect_all_requests_to": null, + "routing_rules": null, + }, + ], + }, + "destroy": false, + "diff": { + "acceleration_status": { + "computed": true, + "new": "", + "old": "", + }, + "acl": { + "computed": false, + "new": "public-read", + "old": "", + }, + "arn": { + "computed": true, + "new": "", + "old": "", + }, + "bucket": { + "computed": false, + "new": "mybucket-1061", + "old": "", + }, + "bucket_domain_name": { + "computed": true, + "new": "", + "old": "", + }, + "bucket_prefix": { + "computed": false, + "new": "", + "old": "", + }, + "bucket_regional_domain_name": { + "computed": true, + "new": "", + "old": "", + }, + "cors_rule.#": { + "computed": false, + "new": "0", + "old": "", + }, + "force_destroy": { + "computed": false, + "new": "true", + "old": "", + }, + "grant.#": { + "computed": false, + "new": "0", + "old": "", + }, + "hosted_zone_id": { + "computed": true, + "new": "", + "old": "", + }, + "id": { + "computed": true, + "new": "", + "old": "", + }, + "lifecycle_rule.#": { + "computed": false, + "new": "0", + "old": "", + }, + "logging.#": { + "computed": false, + "new": "0", + "old": "", + }, + "object_lock_configuration.#": { + "computed": false, + "new": "0", + "old": "", + }, + "policy": { + "computed": false, + "new": "{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"PublicReadGetObject\",\n \"Effect\": \"Allow\",\n \"Principal\": \"*\",\n \"Action\": [\n \"s3:GetObject\"\n ],\n \"Resource\": [\n \"arn:aws:s3:::mybucket-1061/*\"\n ]\n }\n ]\n} \n", + "old": "", + }, + "region": { + "computed": true, + "new": "", + "old": "", + }, + "replication_configuration.#": { + "computed": false, + "new": "0", + "old": "", + }, + "request_payer": { + "computed": true, + "new": "", + "old": "", + }, + "server_side_encryption_configuration.#": { + "computed": false, + "new": "0", + "old": "", + }, + "tags.%": { + "computed": false, + "new": "4", + "old": "", + }, + "tags.Environment": { + "computed": false, + "new": "dev", + "old": "", + }, + "tags.Terraform": { + "computed": false, + "new": "true", + "old": "", + }, + "tags.newtag1": { + "computed": false, + "new": "tag1", + "old": "", + }, + "tags.newtag2": { + "computed": false, + "new": "tag2", + "old": "", + }, + "versioning.#": { + "computed": true, + "new": "", + "old": "", + }, + "website.#": { + "computed": false, + "new": "1", + "old": "", + }, + "website.0.%": { + "computed": false, + "new": "4", + "old": "", + }, + "website.0.error_document": { + "computed": false, + "new": "error.html", + "old": "", + }, + "website.0.index_document": { + "computed": false, + "new": "index.html", + "old": "", + }, + "website.0.redirect_all_requests_to": { + "computed": false, + "new": "", + "old": "", + }, + "website.0.routing_rules": { + "computed": false, + "new": "", + "old": "", + }, + "website_domain": { + "computed": true, + "new": "", + "old": "", + }, + "website_endpoint": { + "computed": true, + "new": "", + "old": "", + }, + }, + "requires_new": false, + }, + }, + }, + "aws_s3_bucket_object": { + "bucket": { + 0: { + "applied": { + "acl": "public-read", + "cache_control": null, + "content": "\n\n Welcome to Stack Simplify\n\n\n

Welcome to Stack Simplify - Terraform & Sentinel Demo

\n

Sentinel Demo

\n

Terraform Sentinel - Demo - V1

\n\n", + "content_base64": null, + "content_disposition": null, + "content_encoding": null, + "content_language": null, + "content_type": "text/html", + "force_destroy": false, + "key": "index.html", + "metadata": null, + "object_lock_legal_hold_status": null, + "object_lock_mode": null, + "object_lock_retain_until_date": null, + "source": null, + "tags": null, + "website_redirect": null, + }, + "destroy": false, + "diff": { + "acl": { + "computed": false, + "new": "public-read", + "old": "", + }, + "bucket": { + "computed": true, + "new": "", + "old": "", + }, + "cache_control": { + "computed": false, + "new": "", + "old": "", + }, + "content": { + "computed": false, + "new": "\n\n Welcome to Stack Simplify\n\n\n

Welcome to Stack Simplify - Terraform & Sentinel Demo

\n

Sentinel Demo

\n

Terraform Sentinel - Demo - V1

\n\n", + "old": "", + }, + "content_base64": { + "computed": false, + "new": "", + "old": "", + }, + "content_disposition": { + "computed": false, + "new": "", + "old": "", + }, + "content_encoding": { + "computed": false, + "new": "", + "old": "", + }, + "content_language": { + "computed": false, + "new": "", + "old": "", + }, + "content_type": { + "computed": false, + "new": "text/html", + "old": "", + }, + "etag": { + "computed": true, + "new": "", + "old": "", + }, + "force_destroy": { + "computed": false, + "new": "false", + "old": "", + }, + "id": { + "computed": true, + "new": "", + "old": "", + }, + "key": { + "computed": false, + "new": "index.html", + "old": "", + }, + "kms_key_id": { + "computed": true, + "new": "", + "old": "", + }, + "metadata": { + "computed": false, + "new": "", + "old": "", + }, + "object_lock_legal_hold_status": { + "computed": false, + "new": "", + "old": "", + }, + "object_lock_mode": { + "computed": false, + "new": "", + "old": "", + }, + "object_lock_retain_until_date": { + "computed": false, + "new": "", + "old": "", + }, + "server_side_encryption": { + "computed": true, + "new": "", + "old": "", + }, + "source": { + "computed": false, + "new": "", + "old": "", + }, + "storage_class": { + "computed": true, + "new": "", + "old": "", + }, + "tags": { + "computed": false, + "new": "", + "old": "", + }, + "version_id": { + "computed": true, + "new": "", + "old": "", + }, + "website_redirect": { + "computed": false, + "new": "", + "old": "", + }, + }, + "requires_new": false, + }, + }, + }, + }, + }, +} + +module_paths = [ + [], +] + +terraform_version = "0.14.8" + +variables = { + "aws_region": "us-east-1", + "bucket_name": "mybucket-1061", + "tags": { + "Environment": "dev", + "Terraform": "true", + "newtag1": "tag1", + "newtag2": "tag2", + }, +} + +module = func(path) { + if types.type_of(path) is not "list" { + error("expected list, got", types.type_of(path)) + } + + if length(path) < 1 { + return _modules.root + } + + addr = [] + for path as p { + append(addr, "module") + append(addr, p) + } + + return _modules[strings.join(addr, ".")] +} + +data = _modules.root.data +path = _modules.root.path +resources = _modules.root.resources diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/Sentinel-Mocks/run-9rHCA5A7cwvRAox6-sentinel-mocks/mock-tfrun.sentinel b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/Sentinel-Mocks/run-9rHCA5A7cwvRAox6-sentinel-mocks/mock-tfrun.sentinel new file mode 100644 index 00000000..12c17732 --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/Sentinel-Mocks/run-9rHCA5A7cwvRAox6-sentinel-mocks/mock-tfrun.sentinel @@ -0,0 +1,38 @@ +id = "run-9rHCA5A7cwvRAox6" +created_at = "2021-03-11T05:23:45.955Z" +message = "Queued manually using Terraform" +commit_sha = undefined +speculative = false +is_destroy = false +target_addrs = null + +variables = { + "AWS_ACCESS_KEY_ID": { + "category": "env", + "sensitive": true, + }, + "AWS_SECRET_ACCESS_KEY": { + "category": "env", + "sensitive": true, + }, +} + +organization = { + "name": "hcta-demo1", +} + +workspace = { + "auto_apply": false, + "created_at": "2021-03-11T05:17:23.298Z", + "description": null, + "id": "ws-T5Br9iTiXeGHpHmJ", + "name": "sentinel-demo1", + "vcs_repo": null, + "working_directory": "", +} + +cost_estimate = { + "delta_monthly_cost": "0.0", + "prior_monthly_cost": "0.0", + "proposed_monthly_cost": "0.0", +} diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/Sentinel-Mocks/run-9rHCA5A7cwvRAox6-sentinel-mocks/mock-tfstate-v2.sentinel b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/Sentinel-Mocks/run-9rHCA5A7cwvRAox6-sentinel-mocks/mock-tfstate-v2.sentinel new file mode 100644 index 00000000..028a4531 --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/Sentinel-Mocks/run-9rHCA5A7cwvRAox6-sentinel-mocks/mock-tfstate-v2.sentinel @@ -0,0 +1,5 @@ +terraform_version = undefined + +outputs = {} + +resources = {} diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/Sentinel-Mocks/run-9rHCA5A7cwvRAox6-sentinel-mocks/mock-tfstate.sentinel b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/Sentinel-Mocks/run-9rHCA5A7cwvRAox6-sentinel-mocks/mock-tfstate.sentinel new file mode 100644 index 00000000..d65a1714 --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/Sentinel-Mocks/run-9rHCA5A7cwvRAox6-sentinel-mocks/mock-tfstate.sentinel @@ -0,0 +1,9 @@ +// NOTE: AUTO-GENERATED OFF OF NO DATA +// +// This blank file was generated for the tfstate import off of your +// plan, but contains no data as there was no state to generate data +// off of. +// +// Any data fetched using this import will return undefined. To +// effectively use tfstate, please generate the mock data off of a +// plan with existing state. diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/Sentinel-Mocks/run-9rHCA5A7cwvRAox6-sentinel-mocks/sentinel.json b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/Sentinel-Mocks/run-9rHCA5A7cwvRAox6-sentinel-mocks/sentinel.json new file mode 100644 index 00000000..e48c65f3 --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/Sentinel-Mocks/run-9rHCA5A7cwvRAox6-sentinel-mocks/sentinel.json @@ -0,0 +1,14 @@ +{ + "mock": { + "tfconfig": "mock-tfconfig.sentinel", + "tfconfig/v1": "mock-tfconfig.sentinel", + "tfconfig/v2": "mock-tfconfig-v2.sentinel", + "tfplan": "mock-tfplan.sentinel", + "tfplan/v1": "mock-tfplan.sentinel", + "tfplan/v2": "mock-tfplan-v2.sentinel", + "tfrun": "mock-tfrun.sentinel", + "tfstate": "mock-tfstate.sentinel", + "tfstate/v1": "mock-tfstate.sentinel", + "tfstate/v2": "mock-tfstate-v2.sentinel" + } +} \ No newline at end of file diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-manifests-oldv1/c1-versions.tf b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-manifests-oldv1/c1-versions.tf new file mode 100644 index 00000000..1c52c2f4 --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-manifests-oldv1/c1-versions.tf @@ -0,0 +1,28 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } + # Update backend information as Terraform Cloud + backend "remote" { + organization = "hcta-demo1" + + workspaces { + name = "sentinel-demo1" + } + } + +} + +# Provider Block +provider "aws" { + region = var.aws_region +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-manifests-oldv1/c2-variables.tf b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-manifests-oldv1/c2-variables.tf new file mode 100644 index 00000000..d476f6d8 --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-manifests-oldv1/c2-variables.tf @@ -0,0 +1,27 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +# Input variable definitions + +variable "bucket_name" { + description = "Name of the S3 bucket. Must be Unique across AWS" + type = string + default = "mybucket-1061" +} + +variable "tags" { + description = "Tages to set on the bucket" + type = map(string) + default = { + Terraform = "true" + #abcdef = "true" + Environment = "dev" + newtag1 = "tag1" + newtag2 = "tag2" + } +} + diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-manifests-oldv1/c3-s3bucket.tf b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-manifests-oldv1/c3-s3bucket.tf new file mode 100644 index 00000000..547af95c --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-manifests-oldv1/c3-s3bucket.tf @@ -0,0 +1,40 @@ +# Create S3 Bucket Resource +resource "aws_s3_bucket" "s3_bucket" { + bucket = var.bucket_name + acl = "public-read" + policy = < + + Welcome to Stack Simplify + + +

Welcome to Stack Simplify - Terraform & Sentinel Demo

+

Sentinel Demo

+

Terraform Sentinel - Demo - V2

+ + \ No newline at end of file diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-manifests/c1-versions.tf b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..c943d4c1 --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-manifests/c1-versions.tf @@ -0,0 +1,28 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } + # Update backend information as Terraform Cloud + backend "remote" { + organization = "hcta-demo1" + + workspaces { + name = "sentinel-demo1" + } + } + +} + +# Provider Block +provider "aws" { + region = var.aws_region +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-manifests/c2-variables.tf b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-manifests/c2-variables.tf new file mode 100644 index 00000000..d476f6d8 --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-manifests/c2-variables.tf @@ -0,0 +1,27 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +# Input variable definitions + +variable "bucket_name" { + description = "Name of the S3 bucket. Must be Unique across AWS" + type = string + default = "mybucket-1061" +} + +variable "tags" { + description = "Tages to set on the bucket" + type = map(string) + default = { + Terraform = "true" + #abcdef = "true" + Environment = "dev" + newtag1 = "tag1" + newtag2 = "tag2" + } +} + diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-manifests/c3-s3bucket.tf b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-manifests/c3-s3bucket.tf new file mode 100644 index 00000000..547af95c --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-manifests/c3-s3bucket.tf @@ -0,0 +1,40 @@ +# Create S3 Bucket Resource +resource "aws_s3_bucket" "s3_bucket" { + bucket = var.bucket_name + acl = "public-read" + policy = < + + Welcome to Stack Simplify + + +

Welcome to Stack Simplify - Terraform & Sentinel Demo

+

Sentinel Demo

+

Terraform Sentinel - Demo - V2

+ + \ No newline at end of file diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-sentinel-policies/check-terraform-version.sentinel b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-sentinel-policies/check-terraform-version.sentinel new file mode 100644 index 00000000..ff1bdfab --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-sentinel-policies/check-terraform-version.sentinel @@ -0,0 +1,11 @@ +import "tfplan/v2" as tfplan +import "strings" + +v = strings.split(tfplan.terraform_version, ".") +version_major = int(v[1]) +version_minor = int(v[2]) + +main = rule { + #version_major is 14 and version_minor >= 1 + version_major >= 14 +} \ No newline at end of file diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-sentinel-policies/restrict-s3-buckets.sentinel b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-sentinel-policies/restrict-s3-buckets.sentinel new file mode 100644 index 00000000..d7f0a7ef --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-sentinel-policies/restrict-s3-buckets.sentinel @@ -0,0 +1,33 @@ +import "tfplan/v2" as tfplan + +s3_buckets = filter tfplan.resource_changes as _, rc { + rc.type is "aws_s3_bucket" and + (rc.change.actions contains "create" or rc.change.actions is ["update"]) +} + +required_tags = [ + "Terraform", + "Environment", +] + +allowed_acls = [ + "public-read", +] + +bucket_tags = rule { + all s3_buckets as _, instances { + all required_tags as rt { + instances.change.after.tags contains rt + } + } +} + +acl_allowed = rule { + all s3_buckets as _, buckets { + buckets.change.after.acl in allowed_acls + } +} + +main = rule { + (bucket_tags and acl_allowed) else false +} diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-sentinel-policies/sentinel.hcl b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-sentinel-policies/sentinel.hcl new file mode 100644 index 00000000..e0c71634 --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-01-Terraform-Cloud-and-Sentinel-Policies/terraform-sentinel-policies/sentinel.hcl @@ -0,0 +1,9 @@ +policy "check-terraform-version" { + source = "./check-terraform-version.sentinel" + enforcement_level = "hard-mandatory" +} + +policy "restrict-s3-buckets" { + source = "./restrict-s3-buckets.sentinel" + enforcement_level = "soft-mandatory" +} \ No newline at end of file diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/README.md b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/README.md new file mode 100644 index 00000000..b1985847 --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/README.md @@ -0,0 +1,105 @@ +# Control Costs with Sentinel Policies + +## Step-01: Introduction +- We are going to learn the following in this section +- Sentinel Cost Control Policies +- Apply them for Ec2 Instance and verify pass and fail cases + +## Step-02: Review Sentinel Cost Control Policies +### Step-02-01: less-than-100-month.sentinel +- This policy uses the tfrun import to check that the new cost delta is no more than \$100 +- The decimal import is used for more accurate math when working with currency numbers. +```t +import "tfrun" +import "decimal" + +delta_monthly_cost = decimal.new(tfrun.cost_estimate.delta_monthly_cost) + +main = rule { + delta_monthly_cost.less_than(100) +} +``` + +### Step-02-02: sentinel.hcl +```t +policy "less-than-100-month" { + source = "./less-than-100-month.sentinel" + enforcement_level = "soft-mandatory" +} +``` + +## Step-03: Copy Sentinel Cost Control Policies to terraform-sentinel-policies git repo +- Copy folder `terraform-sentinel-cost-control-policies` to Local git repository `terraform-sentinel-policies` +- **Check-In code to Remote Repository** +```t +# GIT Status +git status + +# Git Local Commit +git add . +git commit -am "Sentinel Cost Control Policies Added in new folder" + +# Push to Remote Repository +git push + +# Verify the same on Remote Repository +https://github.com/stacksimplify/terraform-sentinel-policies.git +``` + +## Step-04: Add new Sentinel Policy Set in Terraform Cloud +- Go to Terraform Cloud -> Organization (hcta-demo1) -> Settings -> Policy Sets +- Click on **Connect a new Policy Set** +- Use existing VCS connection from previous section **github-terraform-modules** which we created using OAuth App concept +- **Choose Repository:** terraform-sentinel-policies.git +- **Name:** terraform-sentinel-cost-control-policies +- **Description:** terraform sentinel cost control policies +- **Policies Path:** terraform-sentinel-cost-control-policies +- **Scope of Policies:** Policies enforced on selected workspaces +- **Workspaces:** terraform-cloud-demo1 +- Click on **Connect Policy Set** + +## Step-05: Review our first Terraform Cloud Workspace +- Go to Terraform Cloud -> Organization (hcta-demo1) -> workspace (terraform-cloud-demo1) +### Step-05-01: Configre Environment Variables in Terraform Cloud for AWS Provider +- [Setup AWS Access Keys for Terraform](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#environment-variables) +- Go to Organization (hcta-demo1) -> Workspace(terraform-cloud-demo1) -> Variables +- In environment variables, add the below two +- Configure AWS Access Key ID and Secret Access Key +- **Environment Variable:** AWS_ACCESS_KEY_ID + - Key: AWS_ACCESS_KEY_ID + - Value: XXXXXXXXXXXXXXXXXXXXXX +- **Environment Variable:** AWS_SECRET_ACCESS_KEY + - Key: AWS_SECRET_ACCESS_KEY + - Value: YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY + +### Step-05-02: Pass Case: Queue Plan and Verify Cost Control Policies Applied +- Go to Organization (hcta-demo1) -> Workspace(terraform-cloud-demo1) +- Queue Plan -> Cost-Control-Test-1-Pass-case +- Verify the following + - Plan + - Cost Estimate + - Policy Check: Policy check should pass +- Finally, Disacrd the Run + +### Step-05-03: Fail Case: Queue Plan and Verify Cost Control Policies Applied +- Go to Organization (hcta-demo1) -> Workspace(terraform-cloud-demo1) -> Variables +- Update `instance_type` Variable +```t +# Before Change +instance_type = t3.micro + +# After Change +instance_type = t3.2xlarge +``` +- Queue Plan -> Cost-Control-Test-1-Fail-case +- Verify the following + - Plan + - Cost Estimate + - Policy Check: Policy check should fail +- Finally, Disacrd the Run +- Roll back `instance_type` to `t3.micro` + +## Step-06: Sentinel Policies - Conclusion +- We can create multiple sentinel policies in different folder paths in single github repository like `terraform-sentinel-policies` +- We can apply few of them at `Terraform Organization` level and few of them at `Terraform Workspace` level. +- Very flexible and conveniet. \ No newline at end of file diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/Sentinel-Mocks/run-qezBNPS6vsszNi5z-sentinel-mocks/mock-tfconfig-v2.sentinel b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/Sentinel-Mocks/run-qezBNPS6vsszNi5z-sentinel-mocks/mock-tfconfig-v2.sentinel new file mode 100644 index 00000000..08666ce6 --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/Sentinel-Mocks/run-qezBNPS6vsszNi5z-sentinel-mocks/mock-tfconfig-v2.sentinel @@ -0,0 +1,227 @@ +import "strings" + +providers = { + "aws": { + "alias": "", + "config": { + "region": { + "references": [ + "var.aws_region", + ], + }, + }, + "module_address": "", + "name": "aws", + "provider_config_key": "aws", + "version_constraint": "~> 3.0", + }, +} + +resources = { + "aws_instance.my-ec2-vm": { + "address": "aws_instance.my-ec2-vm", + "config": { + "ami": { + "references": [ + "data.aws_ami.amzlinux", + ], + }, + "instance_type": { + "references": [ + "var.instance_type", + ], + }, + "key_name": { + "constant_value": "terraform-key", + }, + "tags": { + "references": [ + "count.index", + ], + }, + "user_data": { + "constant_value": null, + }, + "vpc_security_group_ids": { + "references": [ + "aws_security_group.vpc-ssh", + "aws_security_group.vpc-web", + ], + }, + }, + "count": { + "constant_value": 2, + }, + "depends_on": [], + "for_each": {}, + "mode": "managed", + "module_address": "", + "name": "my-ec2-vm", + "provider_config_key": "aws", + "provisioners": [], + "type": "aws_instance", + }, + "aws_security_group.vpc-ssh": { + "address": "aws_security_group.vpc-ssh", + "config": { + "description": { + "constant_value": "Dev VPC SSH", + }, + "name": { + "references": [ + "terraform.workspace", + ], + }, + }, + "count": {}, + "depends_on": [], + "for_each": {}, + "mode": "managed", + "module_address": "", + "name": "vpc-ssh", + "provider_config_key": "aws", + "provisioners": [], + "type": "aws_security_group", + }, + "aws_security_group.vpc-web": { + "address": "aws_security_group.vpc-web", + "config": { + "description": { + "constant_value": "Dev VPC web", + }, + "name": { + "references": [ + "terraform.workspace", + ], + }, + }, + "count": {}, + "depends_on": [], + "for_each": {}, + "mode": "managed", + "module_address": "", + "name": "vpc-web", + "provider_config_key": "aws", + "provisioners": [], + "type": "aws_security_group", + }, + "data.aws_ami.amzlinux": { + "address": "data.aws_ami.amzlinux", + "config": { + "filter": [ + { + "name": { + "constant_value": "name", + }, + "values": { + "constant_value": [ + "amzn2-ami-hvm-*-gp2", + ], + }, + }, + { + "name": { + "constant_value": "root-device-type", + }, + "values": { + "constant_value": [ + "ebs", + ], + }, + }, + { + "name": { + "constant_value": "virtualization-type", + }, + "values": { + "constant_value": [ + "hvm", + ], + }, + }, + { + "name": { + "constant_value": "architecture", + }, + "values": { + "constant_value": [ + "x86_64", + ], + }, + }, + ], + "most_recent": { + "constant_value": true, + }, + "owners": { + "constant_value": [ + "amazon", + ], + }, + }, + "count": {}, + "depends_on": [], + "for_each": {}, + "mode": "data", + "module_address": "", + "name": "amzlinux", + "provider_config_key": "aws", + "provisioners": [], + "type": "aws_ami", + }, +} + +provisioners = {} + +variables = { + "aws_region": { + "default": null, + "description": "Region in which AWS Resources to be created", + "module_address": "", + "name": "aws_region", + }, + "instance_type": { + "default": null, + "description": "EC2 Instance Type - Instance Sizing", + "module_address": "", + "name": "instance_type", + }, +} + +outputs = { + "ec2_instance_publicip": { + "depends_on": [], + "description": "EC2 Instance Public IP", + "module_address": "", + "name": "ec2_instance_publicip", + "sensitive": false, + "value": { + "references": [ + "aws_instance.my-ec2-vm", + ], + }, + }, + "ec2_publicdns": { + "depends_on": [], + "description": "Public DNS URL of an EC2 Instance", + "module_address": "", + "name": "ec2_publicdns", + "sensitive": false, + "value": { + "references": [ + "aws_instance.my-ec2-vm", + ], + }, + }, +} + +module_calls = {} + +strip_index = func(addr) { + s = strings.split(addr, ".") + for s as i, v { + s[i] = strings.split(v, "[")[0] + } + + return strings.join(s, ".") +} diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/Sentinel-Mocks/run-qezBNPS6vsszNi5z-sentinel-mocks/mock-tfconfig.sentinel b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/Sentinel-Mocks/run-qezBNPS6vsszNi5z-sentinel-mocks/mock-tfconfig.sentinel new file mode 100644 index 00000000..c81a2e95 --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/Sentinel-Mocks/run-qezBNPS6vsszNi5z-sentinel-mocks/mock-tfconfig.sentinel @@ -0,0 +1,204 @@ +import "strings" +import "types" + +_modules = { + "root": { + "data": { + "aws_ami": { + "amzlinux": { + "config": { + "filter": [ + { + "name": "name", + "values": [ + "amzn2-ami-hvm-*-gp2", + ], + }, + { + "name": "root-device-type", + "values": [ + "ebs", + ], + }, + { + "name": "virtualization-type", + "values": [ + "hvm", + ], + }, + { + "name": "architecture", + "values": [ + "x86_64", + ], + }, + ], + "most_recent": true, + "owners": [ + "amazon", + ], + }, + "provisioners": null, + "references": { + "filter": [ + { + "name": [], + "values": [], + }, + { + "name": [], + "values": [], + }, + { + "name": [], + "values": [], + }, + { + "name": [], + "values": [], + }, + ], + "most_recent": [], + "owners": [], + }, + }, + }, + }, + "modules": {}, + "outputs": { + "ec2_instance_publicip": { + "depends_on": [], + "description": "EC2 Instance Public IP", + "references": [ + "aws_instance.my-ec2-vm", + ], + "sensitive": false, + "value": undefined, + }, + "ec2_publicdns": { + "depends_on": [], + "description": "Public DNS URL of an EC2 Instance", + "references": [ + "aws_instance.my-ec2-vm", + ], + "sensitive": false, + "value": undefined, + }, + }, + "providers": { + "aws": { + "alias": { + "": { + "config": {}, + "references": { + "region": [ + "var.aws_region", + ], + }, + "version": "~> 3.0", + }, + }, + "config": {}, + "references": { + "region": [ + "var.aws_region", + ], + }, + "version": "~> 3.0", + }, + }, + "resources": { + "aws_instance": { + "my-ec2-vm": { + "config": { + "key_name": "terraform-key", + "user_data": null, + }, + "provisioners": null, + "references": { + "ami": [ + "data.aws_ami.amzlinux", + ], + "instance_type": [ + "var.instance_type", + ], + "key_name": [], + "tags": [ + "count.index", + ], + "user_data": [], + "vpc_security_group_ids": [ + "aws_security_group.vpc-ssh", + "aws_security_group.vpc-web", + ], + }, + }, + }, + "aws_security_group": { + "vpc-ssh": { + "config": { + "description": "Dev VPC SSH", + }, + "provisioners": null, + "references": { + "description": [], + "name": [ + "terraform.workspace", + ], + }, + }, + "vpc-web": { + "config": { + "description": "Dev VPC web", + }, + "provisioners": null, + "references": { + "description": [], + "name": [ + "terraform.workspace", + ], + }, + }, + }, + }, + "variables": { + "aws_region": { + "default": null, + "description": "Region in which AWS Resources to be created", + }, + "instance_type": { + "default": null, + "description": "EC2 Instance Type - Instance Sizing", + }, + }, + }, +} + +module_paths = [ + [], +] + +module = func(path) { + if types.type_of(path) is not "list" { + error("expected list, got", types.type_of(path)) + } + + if length(path) < 1 { + return _modules.root + } + + addr = [] + for path as p { + append(addr, "module") + append(addr, p) + } + + return _modules[strings.join(addr, ".")] +} + +data = _modules.root.data +modules = _modules.root.modules +providers = _modules.root.providers +resources = _modules.root.resources +variables = _modules.root.variables +outputs = _modules.root.outputs diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/Sentinel-Mocks/run-qezBNPS6vsszNi5z-sentinel-mocks/mock-tfplan-v2.sentinel b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/Sentinel-Mocks/run-qezBNPS6vsszNi5z-sentinel-mocks/mock-tfplan-v2.sentinel new file mode 100644 index 00000000..e6faf36c --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/Sentinel-Mocks/run-qezBNPS6vsszNi5z-sentinel-mocks/mock-tfplan-v2.sentinel @@ -0,0 +1,1352 @@ +terraform_version = "0.14.7" + +planned_values = { + "outputs": { + "ec2_instance_publicip": { + "name": "ec2_instance_publicip", + "sensitive": false, + "value": undefined, + }, + "ec2_publicdns": { + "name": "ec2_publicdns", + "sensitive": false, + "value": undefined, + }, + }, + "resources": { + "aws_instance.my-ec2-vm[0]": { + "address": "aws_instance.my-ec2-vm[0]", + "depends_on": [], + "deposed_key": "", + "index": 0, + "mode": "managed", + "module_address": "", + "name": "my-ec2-vm", + "provider_name": "registry.terraform.io/hashicorp/aws", + "tainted": false, + "type": "aws_instance", + "values": { + "ami": "ami-038f1ca1bd58a5790", + "credit_specification": [], + "disable_api_termination": null, + "ebs_optimized": null, + "get_password_data": false, + "hibernation": null, + "iam_instance_profile": null, + "instance_initiated_shutdown_behavior": null, + "instance_type": "t3.2xlarge", + "key_name": "terraform-key", + "monitoring": null, + "source_dest_check": true, + "tags": { + "Name": "Terraform-Cloud-0", + }, + "timeouts": null, + "user_data": "b8f24b772ee8efd4ae4229b9f6b2347089d24685", + "user_data_base64": null, + "volume_tags": null, + }, + }, + "aws_instance.my-ec2-vm[1]": { + "address": "aws_instance.my-ec2-vm[1]", + "depends_on": [], + "deposed_key": "", + "index": 1, + "mode": "managed", + "module_address": "", + "name": "my-ec2-vm", + "provider_name": "registry.terraform.io/hashicorp/aws", + "tainted": false, + "type": "aws_instance", + "values": { + "ami": "ami-038f1ca1bd58a5790", + "credit_specification": [], + "disable_api_termination": null, + "ebs_optimized": null, + "get_password_data": false, + "hibernation": null, + "iam_instance_profile": null, + "instance_initiated_shutdown_behavior": null, + "instance_type": "t3.2xlarge", + "key_name": "terraform-key", + "monitoring": null, + "source_dest_check": true, + "tags": { + "Name": "Terraform-Cloud-1", + }, + "timeouts": null, + "user_data": "b8f24b772ee8efd4ae4229b9f6b2347089d24685", + "user_data_base64": null, + "volume_tags": null, + }, + }, + "aws_security_group.vpc-ssh": { + "address": "aws_security_group.vpc-ssh", + "depends_on": [], + "deposed_key": "", + "index": null, + "mode": "managed", + "module_address": "", + "name": "vpc-ssh", + "provider_name": "registry.terraform.io/hashicorp/aws", + "tainted": false, + "type": "aws_security_group", + "values": { + "description": "Dev VPC SSH", + "egress": [ + { + "cidr_blocks": [ + "0.0.0.0/0", + ], + "description": "Allow all ip and ports outboun", + "from_port": 0, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "-1", + "security_groups": [], + "self": false, + "to_port": 0, + }, + ], + "ingress": [ + { + "cidr_blocks": [ + "0.0.0.0/0", + ], + "description": "Allow Port 22", + "from_port": 22, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "tcp", + "security_groups": [], + "self": false, + "to_port": 22, + }, + ], + "name": "vpc-ssh-default", + "revoke_rules_on_delete": false, + "tags": null, + "timeouts": null, + }, + }, + "aws_security_group.vpc-web": { + "address": "aws_security_group.vpc-web", + "depends_on": [], + "deposed_key": "", + "index": null, + "mode": "managed", + "module_address": "", + "name": "vpc-web", + "provider_name": "registry.terraform.io/hashicorp/aws", + "tainted": false, + "type": "aws_security_group", + "values": { + "description": "Dev VPC web", + "egress": [ + { + "cidr_blocks": [ + "0.0.0.0/0", + ], + "description": "Allow all ip and ports outbound", + "from_port": 0, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "-1", + "security_groups": [], + "self": false, + "to_port": 0, + }, + ], + "ingress": [ + { + "cidr_blocks": [ + "0.0.0.0/0", + ], + "description": "Allow Port 443", + "from_port": 443, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "tcp", + "security_groups": [], + "self": false, + "to_port": 443, + }, + { + "cidr_blocks": [ + "0.0.0.0/0", + ], + "description": "Allow Port 80", + "from_port": 80, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "tcp", + "security_groups": [], + "self": false, + "to_port": 80, + }, + ], + "name": "vpc-web-default", + "revoke_rules_on_delete": false, + "tags": null, + "timeouts": null, + }, + }, + }, +} + +variables = { + "aws_region": { + "name": "aws_region", + "value": "us-east-1", + }, + "instance_type": { + "name": "instance_type", + "value": "t3.2xlarge", + }, +} + +resource_changes = { + "aws_instance.my-ec2-vm[0]": { + "address": "aws_instance.my-ec2-vm[0]", + "change": { + "actions": [ + "create", + ], + "after": { + "ami": "ami-038f1ca1bd58a5790", + "credit_specification": [], + "disable_api_termination": null, + "ebs_optimized": null, + "get_password_data": false, + "hibernation": null, + "iam_instance_profile": null, + "instance_initiated_shutdown_behavior": null, + "instance_type": "t3.2xlarge", + "key_name": "terraform-key", + "monitoring": null, + "source_dest_check": true, + "tags": { + "Name": "Terraform-Cloud-0", + }, + "timeouts": null, + "user_data": "b8f24b772ee8efd4ae4229b9f6b2347089d24685", + "user_data_base64": null, + "volume_tags": null, + }, + "after_unknown": { + "arn": true, + "associate_public_ip_address": true, + "availability_zone": true, + "cpu_core_count": true, + "cpu_threads_per_core": true, + "credit_specification": [], + "ebs_block_device": true, + "enclave_options": true, + "ephemeral_block_device": true, + "host_id": true, + "id": true, + "instance_state": true, + "ipv6_address_count": true, + "ipv6_addresses": true, + "metadata_options": true, + "network_interface": true, + "outpost_arn": true, + "password_data": true, + "placement_group": true, + "primary_network_interface_id": true, + "private_dns": true, + "private_ip": true, + "public_dns": true, + "public_ip": true, + "root_block_device": true, + "secondary_private_ips": true, + "security_groups": true, + "subnet_id": true, + "tags": {}, + "tenancy": true, + "vpc_security_group_ids": true, + }, + "before": null, + }, + "deposed": "", + "index": 0, + "mode": "managed", + "module_address": "", + "name": "my-ec2-vm", + "provider_name": "registry.terraform.io/hashicorp/aws", + "type": "aws_instance", + }, + "aws_instance.my-ec2-vm[1]": { + "address": "aws_instance.my-ec2-vm[1]", + "change": { + "actions": [ + "create", + ], + "after": { + "ami": "ami-038f1ca1bd58a5790", + "credit_specification": [], + "disable_api_termination": null, + "ebs_optimized": null, + "get_password_data": false, + "hibernation": null, + "iam_instance_profile": null, + "instance_initiated_shutdown_behavior": null, + "instance_type": "t3.2xlarge", + "key_name": "terraform-key", + "monitoring": null, + "source_dest_check": true, + "tags": { + "Name": "Terraform-Cloud-1", + }, + "timeouts": null, + "user_data": "b8f24b772ee8efd4ae4229b9f6b2347089d24685", + "user_data_base64": null, + "volume_tags": null, + }, + "after_unknown": { + "arn": true, + "associate_public_ip_address": true, + "availability_zone": true, + "cpu_core_count": true, + "cpu_threads_per_core": true, + "credit_specification": [], + "ebs_block_device": true, + "enclave_options": true, + "ephemeral_block_device": true, + "host_id": true, + "id": true, + "instance_state": true, + "ipv6_address_count": true, + "ipv6_addresses": true, + "metadata_options": true, + "network_interface": true, + "outpost_arn": true, + "password_data": true, + "placement_group": true, + "primary_network_interface_id": true, + "private_dns": true, + "private_ip": true, + "public_dns": true, + "public_ip": true, + "root_block_device": true, + "secondary_private_ips": true, + "security_groups": true, + "subnet_id": true, + "tags": {}, + "tenancy": true, + "vpc_security_group_ids": true, + }, + "before": null, + }, + "deposed": "", + "index": 1, + "mode": "managed", + "module_address": "", + "name": "my-ec2-vm", + "provider_name": "registry.terraform.io/hashicorp/aws", + "type": "aws_instance", + }, + "aws_security_group.vpc-ssh": { + "address": "aws_security_group.vpc-ssh", + "change": { + "actions": [ + "create", + ], + "after": { + "description": "Dev VPC SSH", + "egress": [ + { + "cidr_blocks": [ + "0.0.0.0/0", + ], + "description": "Allow all ip and ports outboun", + "from_port": 0, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "-1", + "security_groups": [], + "self": false, + "to_port": 0, + }, + ], + "ingress": [ + { + "cidr_blocks": [ + "0.0.0.0/0", + ], + "description": "Allow Port 22", + "from_port": 22, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "tcp", + "security_groups": [], + "self": false, + "to_port": 22, + }, + ], + "name": "vpc-ssh-default", + "revoke_rules_on_delete": false, + "tags": null, + "timeouts": null, + }, + "after_unknown": { + "arn": true, + "egress": [ + { + "cidr_blocks": [ + false, + ], + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "security_groups": [], + }, + ], + "id": true, + "ingress": [ + { + "cidr_blocks": [ + false, + ], + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "security_groups": [], + }, + ], + "name_prefix": true, + "owner_id": true, + "vpc_id": true, + }, + "before": null, + }, + "deposed": "", + "index": null, + "mode": "managed", + "module_address": "", + "name": "vpc-ssh", + "provider_name": "registry.terraform.io/hashicorp/aws", + "type": "aws_security_group", + }, + "aws_security_group.vpc-web": { + "address": "aws_security_group.vpc-web", + "change": { + "actions": [ + "create", + ], + "after": { + "description": "Dev VPC web", + "egress": [ + { + "cidr_blocks": [ + "0.0.0.0/0", + ], + "description": "Allow all ip and ports outbound", + "from_port": 0, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "-1", + "security_groups": [], + "self": false, + "to_port": 0, + }, + ], + "ingress": [ + { + "cidr_blocks": [ + "0.0.0.0/0", + ], + "description": "Allow Port 443", + "from_port": 443, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "tcp", + "security_groups": [], + "self": false, + "to_port": 443, + }, + { + "cidr_blocks": [ + "0.0.0.0/0", + ], + "description": "Allow Port 80", + "from_port": 80, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "tcp", + "security_groups": [], + "self": false, + "to_port": 80, + }, + ], + "name": "vpc-web-default", + "revoke_rules_on_delete": false, + "tags": null, + "timeouts": null, + }, + "after_unknown": { + "arn": true, + "egress": [ + { + "cidr_blocks": [ + false, + ], + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "security_groups": [], + }, + ], + "id": true, + "ingress": [ + { + "cidr_blocks": [ + false, + ], + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "security_groups": [], + }, + { + "cidr_blocks": [ + false, + ], + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "security_groups": [], + }, + ], + "name_prefix": true, + "owner_id": true, + "vpc_id": true, + }, + "before": null, + }, + "deposed": "", + "index": null, + "mode": "managed", + "module_address": "", + "name": "vpc-web", + "provider_name": "registry.terraform.io/hashicorp/aws", + "type": "aws_security_group", + }, +} + +output_changes = { + "ec2_instance_publicip": { + "change": { + "actions": [ + "create", + ], + "after": undefined, + "after_unknown": true, + "before": null, + }, + "name": "ec2_instance_publicip", + }, + "ec2_publicdns": { + "change": { + "actions": [ + "create", + ], + "after": undefined, + "after_unknown": true, + "before": null, + }, + "name": "ec2_publicdns", + }, +} + +raw = { + "configuration": { + "provider_config": { + "aws": { + "expressions": { + "region": { + "references": [ + "var.aws_region", + ], + }, + }, + "name": "aws", + "version_constraint": "~> 3.0", + }, + }, + "root_module": { + "outputs": { + "ec2_instance_publicip": { + "description": "EC2 Instance Public IP", + "expression": { + "references": [ + "aws_instance.my-ec2-vm", + ], + }, + }, + "ec2_publicdns": { + "description": "Public DNS URL of an EC2 Instance", + "expression": { + "references": [ + "aws_instance.my-ec2-vm", + ], + }, + }, + }, + "resources": [ + { + "address": "aws_instance.my-ec2-vm", + "count_expression": { + "constant_value": 2, + }, + "expressions": { + "ami": { + "references": [ + "data.aws_ami.amzlinux", + ], + }, + "instance_type": { + "references": [ + "var.instance_type", + ], + }, + "key_name": { + "constant_value": "terraform-key", + }, + "tags": { + "references": [ + "count.index", + ], + }, + "user_data": {}, + "vpc_security_group_ids": { + "references": [ + "aws_security_group.vpc-ssh", + "aws_security_group.vpc-web", + ], + }, + }, + "mode": "managed", + "name": "my-ec2-vm", + "provider_config_key": "aws", + "schema_version": 1, + "type": "aws_instance", + }, + { + "address": "aws_security_group.vpc-ssh", + "expressions": { + "description": { + "constant_value": "Dev VPC SSH", + }, + "name": { + "references": [ + "terraform.workspace", + ], + }, + }, + "mode": "managed", + "name": "vpc-ssh", + "provider_config_key": "aws", + "schema_version": 1, + "type": "aws_security_group", + }, + { + "address": "aws_security_group.vpc-web", + "expressions": { + "description": { + "constant_value": "Dev VPC web", + }, + "name": { + "references": [ + "terraform.workspace", + ], + }, + }, + "mode": "managed", + "name": "vpc-web", + "provider_config_key": "aws", + "schema_version": 1, + "type": "aws_security_group", + }, + { + "address": "data.aws_ami.amzlinux", + "expressions": { + "filter": [ + { + "name": { + "constant_value": "name", + }, + "values": { + "constant_value": [ + "amzn2-ami-hvm-*-gp2", + ], + }, + }, + { + "name": { + "constant_value": "root-device-type", + }, + "values": { + "constant_value": [ + "ebs", + ], + }, + }, + { + "name": { + "constant_value": "virtualization-type", + }, + "values": { + "constant_value": [ + "hvm", + ], + }, + }, + { + "name": { + "constant_value": "architecture", + }, + "values": { + "constant_value": [ + "x86_64", + ], + }, + }, + ], + "most_recent": { + "constant_value": true, + }, + "owners": { + "constant_value": [ + "amazon", + ], + }, + }, + "mode": "data", + "name": "amzlinux", + "provider_config_key": "aws", + "schema_version": 0, + "type": "aws_ami", + }, + ], + "variables": { + "aws_region": { + "description": "Region in which AWS Resources to be created", + }, + "instance_type": { + "description": "EC2 Instance Type - Instance Sizing", + }, + }, + }, + }, + "format_version": "0.1", + "output_changes": { + "ec2_instance_publicip": { + "actions": [ + "create", + ], + "after_unknown": true, + "before": null, + }, + "ec2_publicdns": { + "actions": [ + "create", + ], + "after_unknown": true, + "before": null, + }, + }, + "planned_values": { + "outputs": { + "ec2_instance_publicip": { + "sensitive": false, + }, + "ec2_publicdns": { + "sensitive": false, + }, + }, + "root_module": { + "resources": [ + { + "address": "aws_instance.my-ec2-vm[0]", + "index": 0, + "mode": "managed", + "name": "my-ec2-vm", + "provider_name": "registry.terraform.io/hashicorp/aws", + "schema_version": 1, + "type": "aws_instance", + "values": { + "ami": "ami-038f1ca1bd58a5790", + "credit_specification": [], + "disable_api_termination": null, + "ebs_optimized": null, + "get_password_data": false, + "hibernation": null, + "iam_instance_profile": null, + "instance_initiated_shutdown_behavior": null, + "instance_type": "t3.2xlarge", + "key_name": "terraform-key", + "monitoring": null, + "source_dest_check": true, + "tags": { + "Name": "Terraform-Cloud-0", + }, + "timeouts": null, + "user_data": "b8f24b772ee8efd4ae4229b9f6b2347089d24685", + "user_data_base64": null, + "volume_tags": null, + }, + }, + { + "address": "aws_instance.my-ec2-vm[1]", + "index": 1, + "mode": "managed", + "name": "my-ec2-vm", + "provider_name": "registry.terraform.io/hashicorp/aws", + "schema_version": 1, + "type": "aws_instance", + "values": { + "ami": "ami-038f1ca1bd58a5790", + "credit_specification": [], + "disable_api_termination": null, + "ebs_optimized": null, + "get_password_data": false, + "hibernation": null, + "iam_instance_profile": null, + "instance_initiated_shutdown_behavior": null, + "instance_type": "t3.2xlarge", + "key_name": "terraform-key", + "monitoring": null, + "source_dest_check": true, + "tags": { + "Name": "Terraform-Cloud-1", + }, + "timeouts": null, + "user_data": "b8f24b772ee8efd4ae4229b9f6b2347089d24685", + "user_data_base64": null, + "volume_tags": null, + }, + }, + { + "address": "aws_security_group.vpc-ssh", + "mode": "managed", + "name": "vpc-ssh", + "provider_name": "registry.terraform.io/hashicorp/aws", + "schema_version": 1, + "type": "aws_security_group", + "values": { + "description": "Dev VPC SSH", + "egress": [ + { + "cidr_blocks": [ + "0.0.0.0/0", + ], + "description": "Allow all ip and ports outboun", + "from_port": 0, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "-1", + "security_groups": [], + "self": false, + "to_port": 0, + }, + ], + "ingress": [ + { + "cidr_blocks": [ + "0.0.0.0/0", + ], + "description": "Allow Port 22", + "from_port": 22, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "tcp", + "security_groups": [], + "self": false, + "to_port": 22, + }, + ], + "name": "vpc-ssh-default", + "revoke_rules_on_delete": false, + "tags": null, + "timeouts": null, + }, + }, + { + "address": "aws_security_group.vpc-web", + "mode": "managed", + "name": "vpc-web", + "provider_name": "registry.terraform.io/hashicorp/aws", + "schema_version": 1, + "type": "aws_security_group", + "values": { + "description": "Dev VPC web", + "egress": [ + { + "cidr_blocks": [ + "0.0.0.0/0", + ], + "description": "Allow all ip and ports outbound", + "from_port": 0, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "-1", + "security_groups": [], + "self": false, + "to_port": 0, + }, + ], + "ingress": [ + { + "cidr_blocks": [ + "0.0.0.0/0", + ], + "description": "Allow Port 443", + "from_port": 443, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "tcp", + "security_groups": [], + "self": false, + "to_port": 443, + }, + { + "cidr_blocks": [ + "0.0.0.0/0", + ], + "description": "Allow Port 80", + "from_port": 80, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "tcp", + "security_groups": [], + "self": false, + "to_port": 80, + }, + ], + "name": "vpc-web-default", + "revoke_rules_on_delete": false, + "tags": null, + "timeouts": null, + }, + }, + ], + }, + }, + "prior_state": { + "format_version": "0.1", + "terraform_version": "0.14.7", + "values": { + "root_module": { + "resources": [ + { + "address": "data.aws_ami.amzlinux", + "mode": "data", + "name": "amzlinux", + "provider_name": "registry.terraform.io/hashicorp/aws", + "schema_version": 0, + "type": "aws_ami", + "values": { + "architecture": "x86_64", + "arn": "arn:aws:ec2:us-east-1::image/ami-038f1ca1bd58a5790", + "block_device_mappings": [ + { + "device_name": "/dev/xvda", + "ebs": { + "delete_on_termination": "true", + "encrypted": "false", + "iops": "0", + "snapshot_id": "snap-0c6eac4e7d1d4d8a3", + "throughput": "0", + "volume_size": "8", + "volume_type": "gp2", + }, + "no_device": "", + "virtual_name": "", + }, + ], + "creation_date": "2021-03-04T19:36:15.000Z", + "description": "Amazon Linux 2 AMI 2.0.20210303.0 x86_64 HVM gp2", + "ena_support": true, + "executable_users": null, + "filter": [ + { + "name": "architecture", + "values": [ + "x86_64", + ], + }, + { + "name": "name", + "values": [ + "amzn2-ami-hvm-*-gp2", + ], + }, + { + "name": "root-device-type", + "values": [ + "ebs", + ], + }, + { + "name": "virtualization-type", + "values": [ + "hvm", + ], + }, + ], + "hypervisor": "xen", + "id": "ami-038f1ca1bd58a5790", + "image_id": "ami-038f1ca1bd58a5790", + "image_location": "amazon/amzn2-ami-hvm-2.0.20210303.0-x86_64-gp2", + "image_owner_alias": "amazon", + "image_type": "machine", + "kernel_id": null, + "most_recent": true, + "name": "amzn2-ami-hvm-2.0.20210303.0-x86_64-gp2", + "name_regex": null, + "owner_id": "137112412989", + "owners": [ + "amazon", + ], + "platform": null, + "platform_details": "Linux/UNIX", + "product_codes": [], + "public": true, + "ramdisk_id": null, + "root_device_name": "/dev/xvda", + "root_device_type": "ebs", + "root_snapshot_id": "snap-0c6eac4e7d1d4d8a3", + "sriov_net_support": "simple", + "state": "available", + "state_reason": { + "code": "UNSET", + "message": "UNSET", + }, + "tags": {}, + "usage_operation": "RunInstances", + "virtualization_type": "hvm", + }, + }, + ], + }, + }, + }, + "resource_changes": [ + { + "address": "aws_instance.my-ec2-vm[0]", + "change": { + "actions": [ + "create", + ], + "after": { + "ami": "ami-038f1ca1bd58a5790", + "credit_specification": [], + "disable_api_termination": null, + "ebs_optimized": null, + "get_password_data": false, + "hibernation": null, + "iam_instance_profile": null, + "instance_initiated_shutdown_behavior": null, + "instance_type": "t3.2xlarge", + "key_name": "terraform-key", + "monitoring": null, + "source_dest_check": true, + "tags": { + "Name": "Terraform-Cloud-0", + }, + "timeouts": null, + "user_data": "b8f24b772ee8efd4ae4229b9f6b2347089d24685", + "user_data_base64": null, + "volume_tags": null, + }, + "after_unknown": { + "arn": true, + "associate_public_ip_address": true, + "availability_zone": true, + "cpu_core_count": true, + "cpu_threads_per_core": true, + "credit_specification": [], + "ebs_block_device": true, + "enclave_options": true, + "ephemeral_block_device": true, + "host_id": true, + "id": true, + "instance_state": true, + "ipv6_address_count": true, + "ipv6_addresses": true, + "metadata_options": true, + "network_interface": true, + "outpost_arn": true, + "password_data": true, + "placement_group": true, + "primary_network_interface_id": true, + "private_dns": true, + "private_ip": true, + "public_dns": true, + "public_ip": true, + "root_block_device": true, + "secondary_private_ips": true, + "security_groups": true, + "subnet_id": true, + "tags": {}, + "tenancy": true, + "vpc_security_group_ids": true, + }, + "before": null, + }, + "index": 0, + "mode": "managed", + "name": "my-ec2-vm", + "provider_name": "registry.terraform.io/hashicorp/aws", + "type": "aws_instance", + }, + { + "address": "aws_instance.my-ec2-vm[1]", + "change": { + "actions": [ + "create", + ], + "after": { + "ami": "ami-038f1ca1bd58a5790", + "credit_specification": [], + "disable_api_termination": null, + "ebs_optimized": null, + "get_password_data": false, + "hibernation": null, + "iam_instance_profile": null, + "instance_initiated_shutdown_behavior": null, + "instance_type": "t3.2xlarge", + "key_name": "terraform-key", + "monitoring": null, + "source_dest_check": true, + "tags": { + "Name": "Terraform-Cloud-1", + }, + "timeouts": null, + "user_data": "b8f24b772ee8efd4ae4229b9f6b2347089d24685", + "user_data_base64": null, + "volume_tags": null, + }, + "after_unknown": { + "arn": true, + "associate_public_ip_address": true, + "availability_zone": true, + "cpu_core_count": true, + "cpu_threads_per_core": true, + "credit_specification": [], + "ebs_block_device": true, + "enclave_options": true, + "ephemeral_block_device": true, + "host_id": true, + "id": true, + "instance_state": true, + "ipv6_address_count": true, + "ipv6_addresses": true, + "metadata_options": true, + "network_interface": true, + "outpost_arn": true, + "password_data": true, + "placement_group": true, + "primary_network_interface_id": true, + "private_dns": true, + "private_ip": true, + "public_dns": true, + "public_ip": true, + "root_block_device": true, + "secondary_private_ips": true, + "security_groups": true, + "subnet_id": true, + "tags": {}, + "tenancy": true, + "vpc_security_group_ids": true, + }, + "before": null, + }, + "index": 1, + "mode": "managed", + "name": "my-ec2-vm", + "provider_name": "registry.terraform.io/hashicorp/aws", + "type": "aws_instance", + }, + { + "address": "aws_security_group.vpc-ssh", + "change": { + "actions": [ + "create", + ], + "after": { + "description": "Dev VPC SSH", + "egress": [ + { + "cidr_blocks": [ + "0.0.0.0/0", + ], + "description": "Allow all ip and ports outboun", + "from_port": 0, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "-1", + "security_groups": [], + "self": false, + "to_port": 0, + }, + ], + "ingress": [ + { + "cidr_blocks": [ + "0.0.0.0/0", + ], + "description": "Allow Port 22", + "from_port": 22, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "tcp", + "security_groups": [], + "self": false, + "to_port": 22, + }, + ], + "name": "vpc-ssh-default", + "revoke_rules_on_delete": false, + "tags": null, + "timeouts": null, + }, + "after_unknown": { + "arn": true, + "egress": [ + { + "cidr_blocks": [ + false, + ], + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "security_groups": [], + }, + ], + "id": true, + "ingress": [ + { + "cidr_blocks": [ + false, + ], + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "security_groups": [], + }, + ], + "name_prefix": true, + "owner_id": true, + "vpc_id": true, + }, + "before": null, + }, + "mode": "managed", + "name": "vpc-ssh", + "provider_name": "registry.terraform.io/hashicorp/aws", + "type": "aws_security_group", + }, + { + "address": "aws_security_group.vpc-web", + "change": { + "actions": [ + "create", + ], + "after": { + "description": "Dev VPC web", + "egress": [ + { + "cidr_blocks": [ + "0.0.0.0/0", + ], + "description": "Allow all ip and ports outbound", + "from_port": 0, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "-1", + "security_groups": [], + "self": false, + "to_port": 0, + }, + ], + "ingress": [ + { + "cidr_blocks": [ + "0.0.0.0/0", + ], + "description": "Allow Port 443", + "from_port": 443, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "tcp", + "security_groups": [], + "self": false, + "to_port": 443, + }, + { + "cidr_blocks": [ + "0.0.0.0/0", + ], + "description": "Allow Port 80", + "from_port": 80, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "tcp", + "security_groups": [], + "self": false, + "to_port": 80, + }, + ], + "name": "vpc-web-default", + "revoke_rules_on_delete": false, + "tags": null, + "timeouts": null, + }, + "after_unknown": { + "arn": true, + "egress": [ + { + "cidr_blocks": [ + false, + ], + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "security_groups": [], + }, + ], + "id": true, + "ingress": [ + { + "cidr_blocks": [ + false, + ], + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "security_groups": [], + }, + { + "cidr_blocks": [ + false, + ], + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "security_groups": [], + }, + ], + "name_prefix": true, + "owner_id": true, + "vpc_id": true, + }, + "before": null, + }, + "mode": "managed", + "name": "vpc-web", + "provider_name": "registry.terraform.io/hashicorp/aws", + "type": "aws_security_group", + }, + ], + "terraform_version": "0.14.7", + "variables": { + "aws_region": { + "value": "us-east-1", + }, + "instance_type": { + "value": "t3.2xlarge", + }, + }, +} diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/Sentinel-Mocks/run-qezBNPS6vsszNi5z-sentinel-mocks/mock-tfplan.sentinel b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/Sentinel-Mocks/run-qezBNPS6vsszNi5z-sentinel-mocks/mock-tfplan.sentinel new file mode 100644 index 00000000..28260c71 --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/Sentinel-Mocks/run-qezBNPS6vsszNi5z-sentinel-mocks/mock-tfplan.sentinel @@ -0,0 +1,1072 @@ +import "strings" +import "types" + +_modules = { + "root": { + "data": {}, + "path": [], + "resources": { + "aws_instance": { + "my-ec2-vm": { + 0: { + "applied": { + "ami": "ami-038f1ca1bd58a5790", + "credit_specification": [], + "disable_api_termination": null, + "ebs_optimized": null, + "get_password_data": false, + "hibernation": null, + "iam_instance_profile": null, + "instance_initiated_shutdown_behavior": null, + "instance_type": "t3.2xlarge", + "key_name": "terraform-key", + "monitoring": null, + "source_dest_check": true, + "tags": { + "Name": "Terraform-Cloud-0", + }, + "timeouts": null, + "user_data": "b8f24b772ee8efd4ae4229b9f6b2347089d24685", + "user_data_base64": null, + "volume_tags": null, + }, + "destroy": false, + "diff": { + "ami": { + "computed": false, + "new": "ami-038f1ca1bd58a5790", + "old": "", + }, + "arn": { + "computed": true, + "new": "", + "old": "", + }, + "associate_public_ip_address": { + "computed": true, + "new": "", + "old": "", + }, + "availability_zone": { + "computed": true, + "new": "", + "old": "", + }, + "cpu_core_count": { + "computed": true, + "new": "", + "old": "", + }, + "cpu_threads_per_core": { + "computed": true, + "new": "", + "old": "", + }, + "credit_specification.#": { + "computed": false, + "new": "0", + "old": "", + }, + "disable_api_termination": { + "computed": false, + "new": "", + "old": "", + }, + "ebs_block_device.#": { + "computed": true, + "new": "", + "old": "", + }, + "ebs_optimized": { + "computed": false, + "new": "", + "old": "", + }, + "enclave_options.#": { + "computed": true, + "new": "", + "old": "", + }, + "ephemeral_block_device.#": { + "computed": true, + "new": "", + "old": "", + }, + "get_password_data": { + "computed": false, + "new": "false", + "old": "", + }, + "hibernation": { + "computed": false, + "new": "", + "old": "", + }, + "host_id": { + "computed": true, + "new": "", + "old": "", + }, + "iam_instance_profile": { + "computed": false, + "new": "", + "old": "", + }, + "id": { + "computed": true, + "new": "", + "old": "", + }, + "instance_initiated_shutdown_behavior": { + "computed": false, + "new": "", + "old": "", + }, + "instance_state": { + "computed": true, + "new": "", + "old": "", + }, + "instance_type": { + "computed": false, + "new": "t3.2xlarge", + "old": "", + }, + "ipv6_address_count": { + "computed": true, + "new": "", + "old": "", + }, + "ipv6_addresses.#": { + "computed": true, + "new": "", + "old": "", + }, + "key_name": { + "computed": false, + "new": "terraform-key", + "old": "", + }, + "metadata_options.#": { + "computed": true, + "new": "", + "old": "", + }, + "monitoring": { + "computed": false, + "new": "", + "old": "", + }, + "network_interface.#": { + "computed": true, + "new": "", + "old": "", + }, + "outpost_arn": { + "computed": true, + "new": "", + "old": "", + }, + "password_data": { + "computed": true, + "new": "", + "old": "", + }, + "placement_group": { + "computed": true, + "new": "", + "old": "", + }, + "primary_network_interface_id": { + "computed": true, + "new": "", + "old": "", + }, + "private_dns": { + "computed": true, + "new": "", + "old": "", + }, + "private_ip": { + "computed": true, + "new": "", + "old": "", + }, + "public_dns": { + "computed": true, + "new": "", + "old": "", + }, + "public_ip": { + "computed": true, + "new": "", + "old": "", + }, + "root_block_device.#": { + "computed": true, + "new": "", + "old": "", + }, + "secondary_private_ips.#": { + "computed": true, + "new": "", + "old": "", + }, + "security_groups.#": { + "computed": true, + "new": "", + "old": "", + }, + "source_dest_check": { + "computed": false, + "new": "true", + "old": "", + }, + "subnet_id": { + "computed": true, + "new": "", + "old": "", + }, + "tags.%": { + "computed": false, + "new": "1", + "old": "", + }, + "tags.Name": { + "computed": false, + "new": "Terraform-Cloud-0", + "old": "", + }, + "tenancy": { + "computed": true, + "new": "", + "old": "", + }, + "timeouts": { + "computed": false, + "new": "", + "old": "", + }, + "user_data": { + "computed": false, + "new": "b8f24b772ee8efd4ae4229b9f6b2347089d24685", + "old": "", + }, + "user_data_base64": { + "computed": false, + "new": "", + "old": "", + }, + "volume_tags": { + "computed": false, + "new": "", + "old": "", + }, + "vpc_security_group_ids.#": { + "computed": true, + "new": "", + "old": "", + }, + }, + "requires_new": false, + }, + 1: { + "applied": { + "ami": "ami-038f1ca1bd58a5790", + "credit_specification": [], + "disable_api_termination": null, + "ebs_optimized": null, + "get_password_data": false, + "hibernation": null, + "iam_instance_profile": null, + "instance_initiated_shutdown_behavior": null, + "instance_type": "t3.2xlarge", + "key_name": "terraform-key", + "monitoring": null, + "source_dest_check": true, + "tags": { + "Name": "Terraform-Cloud-1", + }, + "timeouts": null, + "user_data": "b8f24b772ee8efd4ae4229b9f6b2347089d24685", + "user_data_base64": null, + "volume_tags": null, + }, + "destroy": false, + "diff": { + "ami": { + "computed": false, + "new": "ami-038f1ca1bd58a5790", + "old": "", + }, + "arn": { + "computed": true, + "new": "", + "old": "", + }, + "associate_public_ip_address": { + "computed": true, + "new": "", + "old": "", + }, + "availability_zone": { + "computed": true, + "new": "", + "old": "", + }, + "cpu_core_count": { + "computed": true, + "new": "", + "old": "", + }, + "cpu_threads_per_core": { + "computed": true, + "new": "", + "old": "", + }, + "credit_specification.#": { + "computed": false, + "new": "0", + "old": "", + }, + "disable_api_termination": { + "computed": false, + "new": "", + "old": "", + }, + "ebs_block_device.#": { + "computed": true, + "new": "", + "old": "", + }, + "ebs_optimized": { + "computed": false, + "new": "", + "old": "", + }, + "enclave_options.#": { + "computed": true, + "new": "", + "old": "", + }, + "ephemeral_block_device.#": { + "computed": true, + "new": "", + "old": "", + }, + "get_password_data": { + "computed": false, + "new": "false", + "old": "", + }, + "hibernation": { + "computed": false, + "new": "", + "old": "", + }, + "host_id": { + "computed": true, + "new": "", + "old": "", + }, + "iam_instance_profile": { + "computed": false, + "new": "", + "old": "", + }, + "id": { + "computed": true, + "new": "", + "old": "", + }, + "instance_initiated_shutdown_behavior": { + "computed": false, + "new": "", + "old": "", + }, + "instance_state": { + "computed": true, + "new": "", + "old": "", + }, + "instance_type": { + "computed": false, + "new": "t3.2xlarge", + "old": "", + }, + "ipv6_address_count": { + "computed": true, + "new": "", + "old": "", + }, + "ipv6_addresses.#": { + "computed": true, + "new": "", + "old": "", + }, + "key_name": { + "computed": false, + "new": "terraform-key", + "old": "", + }, + "metadata_options.#": { + "computed": true, + "new": "", + "old": "", + }, + "monitoring": { + "computed": false, + "new": "", + "old": "", + }, + "network_interface.#": { + "computed": true, + "new": "", + "old": "", + }, + "outpost_arn": { + "computed": true, + "new": "", + "old": "", + }, + "password_data": { + "computed": true, + "new": "", + "old": "", + }, + "placement_group": { + "computed": true, + "new": "", + "old": "", + }, + "primary_network_interface_id": { + "computed": true, + "new": "", + "old": "", + }, + "private_dns": { + "computed": true, + "new": "", + "old": "", + }, + "private_ip": { + "computed": true, + "new": "", + "old": "", + }, + "public_dns": { + "computed": true, + "new": "", + "old": "", + }, + "public_ip": { + "computed": true, + "new": "", + "old": "", + }, + "root_block_device.#": { + "computed": true, + "new": "", + "old": "", + }, + "secondary_private_ips.#": { + "computed": true, + "new": "", + "old": "", + }, + "security_groups.#": { + "computed": true, + "new": "", + "old": "", + }, + "source_dest_check": { + "computed": false, + "new": "true", + "old": "", + }, + "subnet_id": { + "computed": true, + "new": "", + "old": "", + }, + "tags.%": { + "computed": false, + "new": "1", + "old": "", + }, + "tags.Name": { + "computed": false, + "new": "Terraform-Cloud-1", + "old": "", + }, + "tenancy": { + "computed": true, + "new": "", + "old": "", + }, + "timeouts": { + "computed": false, + "new": "", + "old": "", + }, + "user_data": { + "computed": false, + "new": "b8f24b772ee8efd4ae4229b9f6b2347089d24685", + "old": "", + }, + "user_data_base64": { + "computed": false, + "new": "", + "old": "", + }, + "volume_tags": { + "computed": false, + "new": "", + "old": "", + }, + "vpc_security_group_ids.#": { + "computed": true, + "new": "", + "old": "", + }, + }, + "requires_new": false, + }, + }, + }, + "aws_security_group": { + "vpc-ssh": { + 0: { + "applied": { + "description": "Dev VPC SSH", + "egress": [ + { + "cidr_blocks": [ + "0.0.0.0/0", + ], + "description": "Allow all ip and ports outboun", + "from_port": 0, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "-1", + "security_groups": [], + "self": false, + "to_port": 0, + }, + ], + "ingress": [ + { + "cidr_blocks": [ + "0.0.0.0/0", + ], + "description": "Allow Port 22", + "from_port": 22, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "tcp", + "security_groups": [], + "self": false, + "to_port": 22, + }, + ], + "name": "vpc-ssh-default", + "revoke_rules_on_delete": false, + "tags": null, + "timeouts": null, + }, + "destroy": false, + "diff": { + "arn": { + "computed": true, + "new": "", + "old": "", + }, + "description": { + "computed": false, + "new": "Dev VPC SSH", + "old": "", + }, + "egress.#": { + "computed": false, + "new": "1", + "old": "", + }, + "egress.0.%": { + "computed": false, + "new": "9", + "old": "", + }, + "egress.0.cidr_blocks.#": { + "computed": false, + "new": "1", + "old": "", + }, + "egress.0.cidr_blocks.0": { + "computed": false, + "new": "0.0.0.0/0", + "old": "", + }, + "egress.0.description": { + "computed": false, + "new": "Allow all ip and ports outboun", + "old": "", + }, + "egress.0.from_port": { + "computed": false, + "new": "0", + "old": "", + }, + "egress.0.ipv6_cidr_blocks.#": { + "computed": false, + "new": "0", + "old": "", + }, + "egress.0.prefix_list_ids.#": { + "computed": false, + "new": "0", + "old": "", + }, + "egress.0.protocol": { + "computed": false, + "new": "-1", + "old": "", + }, + "egress.0.security_groups.#": { + "computed": false, + "new": "0", + "old": "", + }, + "egress.0.self": { + "computed": false, + "new": "false", + "old": "", + }, + "egress.0.to_port": { + "computed": false, + "new": "0", + "old": "", + }, + "id": { + "computed": true, + "new": "", + "old": "", + }, + "ingress.#": { + "computed": false, + "new": "1", + "old": "", + }, + "ingress.0.%": { + "computed": false, + "new": "9", + "old": "", + }, + "ingress.0.cidr_blocks.#": { + "computed": false, + "new": "1", + "old": "", + }, + "ingress.0.cidr_blocks.0": { + "computed": false, + "new": "0.0.0.0/0", + "old": "", + }, + "ingress.0.description": { + "computed": false, + "new": "Allow Port 22", + "old": "", + }, + "ingress.0.from_port": { + "computed": false, + "new": "22", + "old": "", + }, + "ingress.0.ipv6_cidr_blocks.#": { + "computed": false, + "new": "0", + "old": "", + }, + "ingress.0.prefix_list_ids.#": { + "computed": false, + "new": "0", + "old": "", + }, + "ingress.0.protocol": { + "computed": false, + "new": "tcp", + "old": "", + }, + "ingress.0.security_groups.#": { + "computed": false, + "new": "0", + "old": "", + }, + "ingress.0.self": { + "computed": false, + "new": "false", + "old": "", + }, + "ingress.0.to_port": { + "computed": false, + "new": "22", + "old": "", + }, + "name": { + "computed": false, + "new": "vpc-ssh-default", + "old": "", + }, + "name_prefix": { + "computed": true, + "new": "", + "old": "", + }, + "owner_id": { + "computed": true, + "new": "", + "old": "", + }, + "revoke_rules_on_delete": { + "computed": false, + "new": "false", + "old": "", + }, + "tags": { + "computed": false, + "new": "", + "old": "", + }, + "timeouts": { + "computed": false, + "new": "", + "old": "", + }, + "vpc_id": { + "computed": true, + "new": "", + "old": "", + }, + }, + "requires_new": false, + }, + }, + "vpc-web": { + 0: { + "applied": { + "description": "Dev VPC web", + "egress": [ + { + "cidr_blocks": [ + "0.0.0.0/0", + ], + "description": "Allow all ip and ports outbound", + "from_port": 0, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "-1", + "security_groups": [], + "self": false, + "to_port": 0, + }, + ], + "ingress": [ + { + "cidr_blocks": [ + "0.0.0.0/0", + ], + "description": "Allow Port 443", + "from_port": 443, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "tcp", + "security_groups": [], + "self": false, + "to_port": 443, + }, + { + "cidr_blocks": [ + "0.0.0.0/0", + ], + "description": "Allow Port 80", + "from_port": 80, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "tcp", + "security_groups": [], + "self": false, + "to_port": 80, + }, + ], + "name": "vpc-web-default", + "revoke_rules_on_delete": false, + "tags": null, + "timeouts": null, + }, + "destroy": false, + "diff": { + "arn": { + "computed": true, + "new": "", + "old": "", + }, + "description": { + "computed": false, + "new": "Dev VPC web", + "old": "", + }, + "egress.#": { + "computed": false, + "new": "1", + "old": "", + }, + "egress.0.%": { + "computed": false, + "new": "9", + "old": "", + }, + "egress.0.cidr_blocks.#": { + "computed": false, + "new": "1", + "old": "", + }, + "egress.0.cidr_blocks.0": { + "computed": false, + "new": "0.0.0.0/0", + "old": "", + }, + "egress.0.description": { + "computed": false, + "new": "Allow all ip and ports outbound", + "old": "", + }, + "egress.0.from_port": { + "computed": false, + "new": "0", + "old": "", + }, + "egress.0.ipv6_cidr_blocks.#": { + "computed": false, + "new": "0", + "old": "", + }, + "egress.0.prefix_list_ids.#": { + "computed": false, + "new": "0", + "old": "", + }, + "egress.0.protocol": { + "computed": false, + "new": "-1", + "old": "", + }, + "egress.0.security_groups.#": { + "computed": false, + "new": "0", + "old": "", + }, + "egress.0.self": { + "computed": false, + "new": "false", + "old": "", + }, + "egress.0.to_port": { + "computed": false, + "new": "0", + "old": "", + }, + "id": { + "computed": true, + "new": "", + "old": "", + }, + "ingress.#": { + "computed": false, + "new": "2", + "old": "", + }, + "ingress.0.%": { + "computed": false, + "new": "9", + "old": "", + }, + "ingress.0.cidr_blocks.#": { + "computed": false, + "new": "1", + "old": "", + }, + "ingress.0.cidr_blocks.0": { + "computed": false, + "new": "0.0.0.0/0", + "old": "", + }, + "ingress.0.description": { + "computed": false, + "new": "Allow Port 443", + "old": "", + }, + "ingress.0.from_port": { + "computed": false, + "new": "443", + "old": "", + }, + "ingress.0.ipv6_cidr_blocks.#": { + "computed": false, + "new": "0", + "old": "", + }, + "ingress.0.prefix_list_ids.#": { + "computed": false, + "new": "0", + "old": "", + }, + "ingress.0.protocol": { + "computed": false, + "new": "tcp", + "old": "", + }, + "ingress.0.security_groups.#": { + "computed": false, + "new": "0", + "old": "", + }, + "ingress.0.self": { + "computed": false, + "new": "false", + "old": "", + }, + "ingress.0.to_port": { + "computed": false, + "new": "443", + "old": "", + }, + "ingress.1.%": { + "computed": false, + "new": "9", + "old": "", + }, + "ingress.1.cidr_blocks.#": { + "computed": false, + "new": "1", + "old": "", + }, + "ingress.1.cidr_blocks.0": { + "computed": false, + "new": "0.0.0.0/0", + "old": "", + }, + "ingress.1.description": { + "computed": false, + "new": "Allow Port 80", + "old": "", + }, + "ingress.1.from_port": { + "computed": false, + "new": "80", + "old": "", + }, + "ingress.1.ipv6_cidr_blocks.#": { + "computed": false, + "new": "0", + "old": "", + }, + "ingress.1.prefix_list_ids.#": { + "computed": false, + "new": "0", + "old": "", + }, + "ingress.1.protocol": { + "computed": false, + "new": "tcp", + "old": "", + }, + "ingress.1.security_groups.#": { + "computed": false, + "new": "0", + "old": "", + }, + "ingress.1.self": { + "computed": false, + "new": "false", + "old": "", + }, + "ingress.1.to_port": { + "computed": false, + "new": "80", + "old": "", + }, + "name": { + "computed": false, + "new": "vpc-web-default", + "old": "", + }, + "name_prefix": { + "computed": true, + "new": "", + "old": "", + }, + "owner_id": { + "computed": true, + "new": "", + "old": "", + }, + "revoke_rules_on_delete": { + "computed": false, + "new": "false", + "old": "", + }, + "tags": { + "computed": false, + "new": "", + "old": "", + }, + "timeouts": { + "computed": false, + "new": "", + "old": "", + }, + "vpc_id": { + "computed": true, + "new": "", + "old": "", + }, + }, + "requires_new": false, + }, + }, + }, + }, + }, +} + +module_paths = [ + [], +] + +terraform_version = "0.14.7" + +variables = { + "aws_region": "us-east-1", + "instance_type": "t3.2xlarge", +} + +module = func(path) { + if types.type_of(path) is not "list" { + error("expected list, got", types.type_of(path)) + } + + if length(path) < 1 { + return _modules.root + } + + addr = [] + for path as p { + append(addr, "module") + append(addr, p) + } + + return _modules[strings.join(addr, ".")] +} + +data = _modules.root.data +path = _modules.root.path +resources = _modules.root.resources diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/Sentinel-Mocks/run-qezBNPS6vsszNi5z-sentinel-mocks/mock-tfrun.sentinel b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/Sentinel-Mocks/run-qezBNPS6vsszNi5z-sentinel-mocks/mock-tfrun.sentinel new file mode 100644 index 00000000..2be1ae6d --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/Sentinel-Mocks/run-qezBNPS6vsszNi5z-sentinel-mocks/mock-tfrun.sentinel @@ -0,0 +1,52 @@ +id = "run-qezBNPS6vsszNi5z" +created_at = "2021-03-11T08:17:36.361Z" +message = "Sentinel-Cost-Control-Case2-t3-2xlarge" +commit_sha = "5fd6602c0d5afe0067f1a6c8f5ec243ebd70ec6d" +speculative = false +is_destroy = false +target_addrs = null + +variables = { + "AWS_ACCESS_KEY_ID": { + "category": "env", + "sensitive": true, + }, + "AWS_SECRET_ACCESS_KEY": { + "category": "env", + "sensitive": true, + }, + "aws_region": { + "category": "terraform", + "sensitive": false, + }, + "instance_type": { + "category": "terraform", + "sensitive": false, + }, +} + +organization = { + "name": "hctaprep", +} + +workspace = { + "auto_apply": false, + "created_at": "2021-03-06T09:18:19.973Z", + "description": null, + "id": "ws-pp1gsbrrziWhDes1", + "name": "terraform-cloud-demo1-internal", + "vcs_repo": { + "branch": "", + "display_identifier": "stacksimplify/terraform-cloud-demo1-internal", + "identifier": "stacksimplify/terraform-cloud-demo1-internal", + "ingress_submodules": false, + }, + "working_directory": "", +} + +cost_estimate = { + "delta_monthly_cost": "495.2064", + "prior_monthly_cost": "0.0", + "proposed_monthly_cost": "495.2064", +} + diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/Sentinel-Mocks/run-qezBNPS6vsszNi5z-sentinel-mocks/mock-tfstate-v2.sentinel b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/Sentinel-Mocks/run-qezBNPS6vsszNi5z-sentinel-mocks/mock-tfstate-v2.sentinel new file mode 100644 index 00000000..45549160 --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/Sentinel-Mocks/run-qezBNPS6vsszNi5z-sentinel-mocks/mock-tfstate-v2.sentinel @@ -0,0 +1,99 @@ +terraform_version = "0.14.7" + +outputs = {} + +resources = { + "aws_ami.amzlinux": { + "address": "aws_ami.amzlinux", + "depends_on": [], + "deposed_key": "", + "index": null, + "mode": "data", + "module_address": "", + "name": "amzlinux", + "provider_name": "registry.terraform.io/hashicorp/aws", + "tainted": false, + "type": "aws_ami", + "values": { + "architecture": "x86_64", + "arn": "arn:aws:ec2:us-east-1::image/ami-038f1ca1bd58a5790", + "block_device_mappings": [ + { + "device_name": "/dev/xvda", + "ebs": { + "delete_on_termination": "true", + "encrypted": "false", + "iops": "0", + "snapshot_id": "snap-0c6eac4e7d1d4d8a3", + "throughput": "0", + "volume_size": "8", + "volume_type": "gp2", + }, + "no_device": "", + "virtual_name": "", + }, + ], + "creation_date": "2021-03-04T19:36:15.000Z", + "description": "Amazon Linux 2 AMI 2.0.20210303.0 x86_64 HVM gp2", + "ena_support": true, + "executable_users": null, + "filter": [ + { + "name": "architecture", + "values": [ + "x86_64", + ], + }, + { + "name": "name", + "values": [ + "amzn2-ami-hvm-*-gp2", + ], + }, + { + "name": "root-device-type", + "values": [ + "ebs", + ], + }, + { + "name": "virtualization-type", + "values": [ + "hvm", + ], + }, + ], + "hypervisor": "xen", + "id": "ami-038f1ca1bd58a5790", + "image_id": "ami-038f1ca1bd58a5790", + "image_location": "amazon/amzn2-ami-hvm-2.0.20210303.0-x86_64-gp2", + "image_owner_alias": "amazon", + "image_type": "machine", + "kernel_id": null, + "most_recent": true, + "name": "amzn2-ami-hvm-2.0.20210303.0-x86_64-gp2", + "name_regex": null, + "owner_id": "137112412989", + "owners": [ + "amazon", + ], + "platform": null, + "platform_details": "Linux/UNIX", + "product_codes": [], + "public": true, + "ramdisk_id": null, + "root_device_name": "/dev/xvda", + "root_device_type": "ebs", + "root_snapshot_id": "snap-0c6eac4e7d1d4d8a3", + "sriov_net_support": "simple", + "state": "available", + "state_reason": { + "code": "UNSET", + "message": "UNSET", + }, + "tags": {}, + "usage_operation": "RunInstances", + "virtualization_type": "hvm", + }, + }, +} diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/Sentinel-Mocks/run-qezBNPS6vsszNi5z-sentinel-mocks/mock-tfstate.sentinel b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/Sentinel-Mocks/run-qezBNPS6vsszNi5z-sentinel-mocks/mock-tfstate.sentinel new file mode 100644 index 00000000..bd5d847f --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/Sentinel-Mocks/run-qezBNPS6vsszNi5z-sentinel-mocks/mock-tfstate.sentinel @@ -0,0 +1,131 @@ +import "strings" +import "types" + +outputs = {} + +_modules = { + "root": { + "data": { + "aws_ami": { + "amzlinux": { + 0: { + "attr": { + "architecture": "x86_64", + "arn": "arn:aws:ec2:us-east-1::image/ami-038f1ca1bd58a5790", + "block_device_mappings": [ + { + "device_name": "/dev/xvda", + "ebs": { + "delete_on_termination": "true", + "encrypted": "false", + "iops": "0", + "snapshot_id": "snap-0c6eac4e7d1d4d8a3", + "throughput": "0", + "volume_size": "8", + "volume_type": "gp2", + }, + "no_device": "", + "virtual_name": "", + }, + ], + "creation_date": "2021-03-04T19:36:15.000Z", + "description": "Amazon Linux 2 AMI 2.0.20210303.0 x86_64 HVM gp2", + "ena_support": true, + "executable_users": null, + "filter": [ + { + "name": "architecture", + "values": [ + "x86_64", + ], + }, + { + "name": "name", + "values": [ + "amzn2-ami-hvm-*-gp2", + ], + }, + { + "name": "root-device-type", + "values": [ + "ebs", + ], + }, + { + "name": "virtualization-type", + "values": [ + "hvm", + ], + }, + ], + "hypervisor": "xen", + "id": "ami-038f1ca1bd58a5790", + "image_id": "ami-038f1ca1bd58a5790", + "image_location": "amazon/amzn2-ami-hvm-2.0.20210303.0-x86_64-gp2", + "image_owner_alias": "amazon", + "image_type": "machine", + "kernel_id": null, + "most_recent": true, + "name": "amzn2-ami-hvm-2.0.20210303.0-x86_64-gp2", + "name_regex": null, + "owner_id": "137112412989", + "owners": [ + "amazon", + ], + "platform": null, + "platform_details": "Linux/UNIX", + "product_codes": [], + "public": true, + "ramdisk_id": null, + "root_device_name": "/dev/xvda", + "root_device_type": "ebs", + "root_snapshot_id": "snap-0c6eac4e7d1d4d8a3", + "sriov_net_support": "simple", + "state": "available", + "state_reason": { + "code": "UNSET", + "message": "UNSET", + }, + "tags": {}, + "usage_operation": "RunInstances", + "virtualization_type": "hvm", + }, + "depends_on": [], + "id": "ami-038f1ca1bd58a5790", + "tainted": false, + }, + }, + }, + }, + "path": [], + "resources": {}, + }, +} + +module_paths = [ + [], +] + +terraform_version = "0.14.7" + +module = func(path) { + if types.type_of(path) is not "list" { + error("expected list, got", types.type_of(path)) + } + + if length(path) < 1 { + return _modules.root + } + + addr = [] + for path as p { + append(addr, "module") + append(addr, p) + } + + return _modules[strings.join(addr, ".")] +} + +data = _modules.root.data +path = _modules.root.path +resources = _modules.root.resources diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/Sentinel-Mocks/run-qezBNPS6vsszNi5z-sentinel-mocks/sentinel.json b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/Sentinel-Mocks/run-qezBNPS6vsszNi5z-sentinel-mocks/sentinel.json new file mode 100644 index 00000000..e48c65f3 --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/Sentinel-Mocks/run-qezBNPS6vsszNi5z-sentinel-mocks/sentinel.json @@ -0,0 +1,14 @@ +{ + "mock": { + "tfconfig": "mock-tfconfig.sentinel", + "tfconfig/v1": "mock-tfconfig.sentinel", + "tfconfig/v2": "mock-tfconfig-v2.sentinel", + "tfplan": "mock-tfplan.sentinel", + "tfplan/v1": "mock-tfplan.sentinel", + "tfplan/v2": "mock-tfplan-v2.sentinel", + "tfrun": "mock-tfrun.sentinel", + "tfstate": "mock-tfstate.sentinel", + "tfstate/v1": "mock-tfstate.sentinel", + "tfstate/v2": "mock-tfstate-v2.sentinel" + } +} \ No newline at end of file diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests-oldv1/apache-install.sh b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests-oldv1/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests-oldv1/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests-oldv1/c1-versions.tf b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests-oldv1/c1-versions.tf new file mode 100644 index 00000000..9a8bf6ce --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests-oldv1/c1-versions.tf @@ -0,0 +1,19 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests-oldv1/c2-variables.tf b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests-oldv1/c2-variables.tf new file mode 100644 index 00000000..bba754b9 --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests-oldv1/c2-variables.tf @@ -0,0 +1,10 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string +} \ No newline at end of file diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests-oldv1/c3-security-groups.tf b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests-oldv1/c3-security-groups.tf new file mode 100644 index 00000000..98fe5ff7 --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests-oldv1/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh-${terraform.workspace}" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web-${terraform.workspace}" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests-oldv1/c4-ec2-instance.tf b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests-oldv1/c4-ec2-instance.tf new file mode 100644 index 00000000..d759412e --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests-oldv1/c4-ec2-instance.tf @@ -0,0 +1,19 @@ +# Create EC2 Instance - Amazon2 Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + count = 1 + key_name = "terraform-key" + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "Terraform-Cloud-${count.index}" + } +} + + + + + + + diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests-oldv1/c5-outputs.tf b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests-oldv1/c5-outputs.tf new file mode 100644 index 00000000..ad086758 --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests-oldv1/c5-outputs.tf @@ -0,0 +1,14 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.*.public_ip +} + + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.*.public_dns +} diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests-oldv1/c6-ami-datasource.tf b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests-oldv1/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests-oldv1/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests/apache-install.sh b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests/c1-versions.tf b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..1f7096ed --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests/c1-versions.tf @@ -0,0 +1,19 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests/c2-variables.tf b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests/c2-variables.tf new file mode 100644 index 00000000..bba754b9 --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests/c2-variables.tf @@ -0,0 +1,10 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string +} \ No newline at end of file diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests/c3-security-groups.tf b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests/c3-security-groups.tf new file mode 100644 index 00000000..98fe5ff7 --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh-${terraform.workspace}" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web-${terraform.workspace}" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests/c4-ec2-instance.tf b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests/c4-ec2-instance.tf new file mode 100644 index 00000000..d759412e --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests/c4-ec2-instance.tf @@ -0,0 +1,19 @@ +# Create EC2 Instance - Amazon2 Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + count = 1 + key_name = "terraform-key" + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "Terraform-Cloud-${count.index}" + } +} + + + + + + + diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests/c5-outputs.tf b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests/c5-outputs.tf new file mode 100644 index 00000000..ad086758 --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests/c5-outputs.tf @@ -0,0 +1,14 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.*.public_ip +} + + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.*.public_dns +} diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests/c6-ami-datasource.tf b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-manifests/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-sentinel-cost-control-policies/less-than-100-month.sentinel b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-sentinel-cost-control-policies/less-than-100-month.sentinel new file mode 100644 index 00000000..743bf21a --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-sentinel-cost-control-policies/less-than-100-month.sentinel @@ -0,0 +1,8 @@ +import "tfrun" +import "decimal" + +delta_monthly_cost = decimal.new(tfrun.cost_estimate.delta_monthly_cost) + +main = rule { + delta_monthly_cost.less_than(100) +} \ No newline at end of file diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-sentinel-cost-control-policies/sentinel.hcl b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-sentinel-cost-control-policies/sentinel.hcl new file mode 100644 index 00000000..7a2ff299 --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-02-Control-Costs-with-Sentinel-Policies/terraform-sentinel-cost-control-policies/sentinel.hcl @@ -0,0 +1,4 @@ +policy "less-than-100-month" { + source = "./less-than-100-month.sentinel" + enforcement_level = "soft-mandatory" +} \ No newline at end of file diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-03-Terraform-Foundational-Policies-using-Sentinel/README.md b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-03-Terraform-Foundational-Policies-using-Sentinel/README.md new file mode 100644 index 00000000..077964ed --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-03-Terraform-Foundational-Policies-using-Sentinel/README.md @@ -0,0 +1,67 @@ +# Terraform Foundational Policies using Sentinel + +## Step-01: Introduction +- [Terraform Foundational Policies Library](https://github.com/hashicorp/terraform-foundational-policies-library) +- This repository contains a library of policies that can be used within Terraform Cloud to accelerate your adoption of policy as code. +- This is pre-built sentinel policies provided by Terraform + +## Step-02: Review sentinel.hcl +- [Terraform Foundational Policies using Sentinel](https://github.com/hashicorp/terraform-foundational-policies-library) +- [Terraform Sentinel AWS CIS Networking Policies](https://github.com/hashicorp/terraform-foundational-policies-library/tree/master/cis/aws/networking) +- **Folder Name:** terraform-sentinel-cis-policies +```t +policy "aws-cis-4.1-networking-deny-public-ssh-acl-rules" { + source = "https://raw.githubusercontent.com/hashicorp/terraform-foundational-policies-library/master/cis/aws/networking/aws-cis-4.1-networking-deny-public-ssh-acl-rules/aws-cis-4.1-networking-deny-public-ssh-acl-rules.sentinel" + enforcement_level = "advisory" +} + +policy "aws-cis-4.2-networking-deny-public-rdp-acl-rules" { + source = "https://raw.githubusercontent.com/hashicorp/terraform-foundational-policies-library/master/cis/aws/networking/aws-cis-4.2-networking-deny-public-rdp-acl-rules/aws-cis-4.2-networking-deny-public-rdp-acl-rules.sentinel" + enforcement_level = "advisory" +} + +policy "aws-cis-4.3-networking-restrict-all-vpc-traffic-acl-rules" { + source = "https://raw.githubusercontent.com/hashicorp/terraform-foundational-policies-library/master/cis/aws/networking/aws-cis-4.3-networking-restrict-all-vpc-traffic-acl-rules/aws-cis-4.3-networking-restrict-all-vpc-traffic-acl-rules.sentinel" + enforcement_level = "advisory" +} +``` + +## Step-03: Copy Sentinel CIS Policies to terraform-sentinel-policies git repo +- Copy folder `terraform-sentinel-cis-policies` to Local git repository `terraform-sentinel-policies` +- **Check-In code to Remote Repository** +```t +# GIT Status +git status + +# Git Local Commit +git add . +git commit -am "Sentinel CIS Policies Added in new folder" + +# Push to Remote Repository +git push + +# Verify the same on Remote Repository +https://github.com/stacksimplify/terraform-sentinel-policies.git +``` + +## Step-04: Add new Sentinel Policy Set in Terraform Cloud +- Go to Terraform Cloud -> Organization (hcta-demo1) -> Settings -> Policy Sets +- Click on **Connect a new Policy Set** +- Use existing VCS connection from previous section **github-terraform-modules** which we created using OAuth App concept +- **Choose Repository:** terraform-sentinel-policies.git +- **Name:** terraform-sentinel-cis-policies +- **Description:** terraform sentinel cis-policies +- **Policies Path:** terraform-sentinel-cis-policies +- **Scope of Policies:** Policies enforced on selected workspaces +- **Workspaces:** terraform-cloud-demo1 +- Click on **Connect Policy Set** + +## Step-05: Review our first Terraform Cloud Workspace +- Go to Terraform Cloud -> Organization (hcta-demo1) -> workspace (terraform-cloud-demo1) +- Queue Plan -> CIS-Policy-Test-1 +- Verify the following + - Plan + - Cost Estimate + - Policy Check: Verify what all passed and failed +- Finally, Disacrd the Run + diff --git a/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-03-Terraform-Foundational-Policies-using-Sentinel/terraform-sentinel-cis-policies/sentinel.hcl b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-03-Terraform-Foundational-Policies-using-Sentinel/terraform-sentinel-cis-policies/sentinel.hcl new file mode 100644 index 00000000..a58abd6a --- /dev/null +++ b/BACKUP-2024/12-Terraform-Cloud-and-Sentinel/12-03-Terraform-Foundational-Policies-using-Sentinel/terraform-sentinel-cis-policies/sentinel.hcl @@ -0,0 +1,14 @@ +policy "aws-cis-4.1-networking-deny-public-ssh-acl-rules" { + source = "https://raw.githubusercontent.com/hashicorp/terraform-foundational-policies-library/master/cis/aws/networking/aws-cis-4.1-networking-deny-public-ssh-acl-rules/aws-cis-4.1-networking-deny-public-ssh-acl-rules.sentinel" + enforcement_level = "advisory" +} + +policy "aws-cis-4.2-networking-deny-public-rdp-acl-rules" { + source = "https://raw.githubusercontent.com/hashicorp/terraform-foundational-policies-library/master/cis/aws/networking/aws-cis-4.2-networking-deny-public-rdp-acl-rules/aws-cis-4.2-networking-deny-public-rdp-acl-rules.sentinel" + enforcement_level = "advisory" +} + +policy "aws-cis-4.3-networking-restrict-all-vpc-traffic-acl-rules" { + source = "https://raw.githubusercontent.com/hashicorp/terraform-foundational-policies-library/master/cis/aws/networking/aws-cis-4.3-networking-restrict-all-vpc-traffic-acl-rules/aws-cis-4.3-networking-restrict-all-vpc-traffic-acl-rules.sentinel" + enforcement_level = "advisory" +} \ No newline at end of file diff --git a/BACKUP-2024/13-Terraform-State-Import/Oldv1-backup/v1-ec2-instance/c1-versions.tf b/BACKUP-2024/13-Terraform-State-Import/Oldv1-backup/v1-ec2-instance/c1-versions.tf new file mode 100644 index 00000000..22fb00a0 --- /dev/null +++ b/BACKUP-2024/13-Terraform-State-Import/Oldv1-backup/v1-ec2-instance/c1-versions.tf @@ -0,0 +1,21 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + + +# Provider Block +provider "aws" { + region = "us-east-1" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ + diff --git a/BACKUP-2024/13-Terraform-State-Import/Oldv1-backup/v1-ec2-instance/c2-ec2-instance.tf b/BACKUP-2024/13-Terraform-State-Import/Oldv1-backup/v1-ec2-instance/c2-ec2-instance.tf new file mode 100644 index 00000000..5c34f54b --- /dev/null +++ b/BACKUP-2024/13-Terraform-State-Import/Oldv1-backup/v1-ec2-instance/c2-ec2-instance.tf @@ -0,0 +1,14 @@ +# Create EC2 Instnace Resource +resource "aws_instance" "myec2vm" { + + /* + ami = "ami-038f1ca1bd58a5790" + #instance_type = "t2.micro" + instance_type = "t2.small" # Enabling it as part of Step-06 + availability_zone = "us-east-1e" + key_name = "terraform-key" + tags = { + "Name" = "State-Import-Demo" + } + */ +} diff --git a/BACKUP-2024/13-Terraform-State-Import/Oldv1-backup/v2-s3bucket/c1-versions.tf b/BACKUP-2024/13-Terraform-State-Import/Oldv1-backup/v2-s3bucket/c1-versions.tf new file mode 100644 index 00000000..22fb00a0 --- /dev/null +++ b/BACKUP-2024/13-Terraform-State-Import/Oldv1-backup/v2-s3bucket/c1-versions.tf @@ -0,0 +1,21 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + + +# Provider Block +provider "aws" { + region = "us-east-1" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ + diff --git a/BACKUP-2024/13-Terraform-State-Import/Oldv1-backup/v2-s3bucket/c2-s3bucket.tf b/BACKUP-2024/13-Terraform-State-Import/Oldv1-backup/v2-s3bucket/c2-s3bucket.tf new file mode 100644 index 00000000..a5edaec9 --- /dev/null +++ b/BACKUP-2024/13-Terraform-State-Import/Oldv1-backup/v2-s3bucket/c2-s3bucket.tf @@ -0,0 +1,8 @@ +# Create S3 Bucket +resource "aws_s3_bucket" "mybucket" { + bucket = "state-import-bucket" + acl = "private" + force_destroy = false +} + +# terraform import aws_s3_bucket.mybucket state-import-bucket \ No newline at end of file diff --git a/BACKUP-2024/13-Terraform-State-Import/README.md b/BACKUP-2024/13-Terraform-State-Import/README.md new file mode 100644 index 00000000..861c4862 --- /dev/null +++ b/BACKUP-2024/13-Terraform-State-Import/README.md @@ -0,0 +1,163 @@ +# Terraform State Import + +## Step-01: Introduction +### Some notes about Terraform Import Command +- Terraform is able to import existing infrastructure. +- This allows you take resources you've created by some other means and bring it under Terraform management. +- This is a great way to slowly transition infrastructure to Terraform, or to be able to be confident that you can use Terraform in the future if it potentially doesn't support every feature you need today. +- [Full Reference](https://www.terraform.io/docs/cli/import/index.html) +### Two demos +- **Demo-1:** Create EC2 Instance manually and import state to manage it from Terraform +- **Demo-2:** Create S3 bucket manually and import state to mange it from Terraform + + +## Step-02: Create EC2 Instance manually using AWS mgmt Console +- Go to Services -> Ec2 -> Instances -> Launch Instance +- **Step 1:** ChooseAMI: Amazon Linux 2 AMI (HVM), SSD Volume Type +- **Step 2:** Choose an Instance Type: t2.micro (leave to defaults) +- **Step 3:** Configure Instance Details: (Leave to defaults ) +- **Step 4:** Add Storage (Leave to Defaults) +- **Step 5:** Add Tags + - Key: Name + - Value: State-Import-Demo +- **Step 6:** Configure Security Group: Select default VPC security group +- **Step 7:** Review Instance Launch +- Select an existing key pair: terraform-key +- Click on **Launch Instance** + + +## Step-03: Create Basic Terraform Configuration +- **Reference Folder:** v1-ec2-instance +- c1-versions.tf +- c2-ec2-instance.tf +- Create EC2 Instance Resource - Basic Version to get Terraform `Resource Type` and `Resource Local Name` we are going to use in Terraform +```t +# Create EC2 Instance Resource - Basic Version to get Terraform Resource Type and Resource Local Name we are going to use in Terraform +resource "aws_instance" "myec2vm" { +} +``` + +## Step-04: Run Terraform Import to import AWS EC2 Instance Resource to Terraform +- [Terraform AWS EC2 Instance Argument Reference](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance#argument-reference) +```t +# Terraform Initialize +terraform init + +# Terraform Import Command for EC2 Instance +terraform import aws_instance.myec2vm +terraform import aws_instance.myec2vm i-0477f144280c37a7a +Observation: +1) terraform.tfstate file will be created locally in Terraform working directory +2) Review information about imported instance configuration in terraform.tfstate +``` + +## Step-05: Start Building local c2-ec2-instance.tf +- By referring `terraform.tfstate` file and parallely running `terraform plan` command make changes to your terraform configuration `c2-ec2-instance.tf` till you get the message `No changes. Infrastructure is up-to-date` for `terraform plan` output +```t +# Create EC2 Instance Resource +resource "aws_instance" "myec2vm" { + ami = "ami-038f1ca1bd58a5790" + instance_type = "t2.micro" + availability_zone = "us-east-1a" + key_name = "terraform-key" + tags = { + "Name" = "State-Import-Demo" + } +} +``` +## Step-06: Modify EC2 Instance from Terraform +- You have created this EC2 instance manually, now you made it as terraform managed +- Modify Instance type to `t2.small` and test +```t +# Terraform Plan +terraform plan + +# Terraform Apply +terraform apply -auto-approve +Observation: +1) EC2 Instance Type on AWS Cloud should be changed from t2.micro to t2.small +``` + +## Step-06: Destroy EC2 Instance from Terraform +- You have created this EC2 instance manually, now you made it as terraform managed +- Destroy that using terraform +```t +# Destroy Resource +terraform destroy -auto-approve + +# Clean-Up files +rm -rf .terraform* +rm -rf terraform.tfstate* + +# Comment Resource Arguments for S3 bucket +Comment Arguments in c2-ec2-instance.tf so that when a student is using the demo, he can uncomment or write it as per their Ec2 Instance settings. +``` +## NOT HAPPY - Lets do one more example with AWS S3 Bucket and learn little more about terraform state import + + +## Step-07: Create AWS S3 bucket manually using AWS mgmt Console +- Go to Services -> S3 -> **Create Bucket** +- **Bucket Name:** state-import-bucket + + +## Step-08: Create Basic Terraform Configuration +- **Reference Folder:** v2-s3bucket +- c1-versions.tf +- c2-s3bucket.tf +- Create S3 Bucket Resource - Basic Version to get Terraform `Resource Type` and `Resource Local Name` we are going to use in Terraform +```t +# Create S3 Bucket +resource "aws_s3_bucket" "mybucket" { + +} +``` +## Step-09:Run Terraform Import Command to import AWS S3 bucket resource to Terraform +- [Terraform S3 Bucket Argument Reference](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket#argument-reference) +```t +# Terraform Initialize +terraform init + +# Terraform Import Command for AWS S3 bucket +terraform import aws_s3_bucket.mybucket +terraform import aws_s3_bucket.mybucket state-import-bucket +Observation: +1) terraform.tfstate file will be created locally in Terraform working directory +2) Review information about imported instance configuration in terraform.tfstate +``` + +## Step-10: Start Building local c2-s3bucket.tf +- By referring `terraform.tfstate` file and parallely running `terraform plan` command make changes to your terraform configuration `c2-s3bucket.tf` till you get the message `No changes. Infrastructure is up-to-date` for `terraform plan` output +- For S3 buckets, there will be some default parameters from terraform will be set for two arguments + - acl = private + - force_destroy = false +- Those even though you manually add it, you also need to do `terraform apply` once to make terraform happy. +```t +# Create S3 Bucket +resource "aws_s3_bucket" "mybucket" { + bucket = "state-import-bucket" + acl = "private" + force_destroy = false # default is false make this to true if any contents in bucket, so in next step you can destroy using terraform +} + +# Terraform Plan +terraform plan + +# Terraform Apply +terraform apply -auto-approve +``` + + +## Step-11: Destroy S3 Bucket from Terraform +- You have created this S3 Bucket manually, now you made it as terraform managed +- Destroy that using terraform +```t +# Destroy Resource +terraform destroy -auto-approve + +# Clean-Up files +rm -rf .terraform* +rm -rf terraform.tfstate* + +# Comment Resource Arguments for S3 bucket +Comment Arguments in c2-s3bucket.tf so that when a student is using the demo, he can uncomment or write it as per their bucket names and settings. +``` \ No newline at end of file diff --git a/BACKUP-2024/13-Terraform-State-Import/v1-ec2-instance/c1-versions.tf b/BACKUP-2024/13-Terraform-State-Import/v1-ec2-instance/c1-versions.tf new file mode 100644 index 00000000..1ef7bfd0 --- /dev/null +++ b/BACKUP-2024/13-Terraform-State-Import/v1-ec2-instance/c1-versions.tf @@ -0,0 +1,21 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + + +# Provider Block +provider "aws" { + region = "us-east-1" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ + diff --git a/BACKUP-2024/13-Terraform-State-Import/v1-ec2-instance/c2-ec2-instance.tf b/BACKUP-2024/13-Terraform-State-Import/v1-ec2-instance/c2-ec2-instance.tf new file mode 100644 index 00000000..5c34f54b --- /dev/null +++ b/BACKUP-2024/13-Terraform-State-Import/v1-ec2-instance/c2-ec2-instance.tf @@ -0,0 +1,14 @@ +# Create EC2 Instnace Resource +resource "aws_instance" "myec2vm" { + + /* + ami = "ami-038f1ca1bd58a5790" + #instance_type = "t2.micro" + instance_type = "t2.small" # Enabling it as part of Step-06 + availability_zone = "us-east-1e" + key_name = "terraform-key" + tags = { + "Name" = "State-Import-Demo" + } + */ +} diff --git a/BACKUP-2024/13-Terraform-State-Import/v2-s3bucket/c1-versions.tf b/BACKUP-2024/13-Terraform-State-Import/v2-s3bucket/c1-versions.tf new file mode 100644 index 00000000..1ef7bfd0 --- /dev/null +++ b/BACKUP-2024/13-Terraform-State-Import/v2-s3bucket/c1-versions.tf @@ -0,0 +1,21 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + + +# Provider Block +provider "aws" { + region = "us-east-1" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ + diff --git a/BACKUP-2024/13-Terraform-State-Import/v2-s3bucket/c2-s3bucket.tf b/BACKUP-2024/13-Terraform-State-Import/v2-s3bucket/c2-s3bucket.tf new file mode 100644 index 00000000..a5edaec9 --- /dev/null +++ b/BACKUP-2024/13-Terraform-State-Import/v2-s3bucket/c2-s3bucket.tf @@ -0,0 +1,8 @@ +# Create S3 Bucket +resource "aws_s3_bucket" "mybucket" { + bucket = "state-import-bucket" + acl = "private" + force_destroy = false +} + +# terraform import aws_s3_bucket.mybucket state-import-bucket \ No newline at end of file diff --git a/BACKUP-2024/14-Terraform-Graph/README.md b/BACKUP-2024/14-Terraform-Graph/README.md new file mode 100644 index 00000000..9971e349 --- /dev/null +++ b/BACKUP-2024/14-Terraform-Graph/README.md @@ -0,0 +1,70 @@ +# Terraform Graph + +## Step-01: Introduction +- The `terraform graph` command is used to generate a visual representation of either a configuration or execution plan +- The output is in the DOT format, which can be used by [GraphViz](http://www.graphviz.org/) to generate charts. + +## Step-02: Run Terraform Graph command +```t +# Terraform Initialize +terraform init + +# Terraform Graph +terraform graph > dot1 +Observation: +This command will output DOT format text and store in file dot1 +``` + +## Step-03: Online Graphviz Viewers +- [Graphviz-Online](https://dreampuf.github.io/GraphvizOnline/) +- [Edotor-Online](https://edotor.net/) +- Copy and paste the text from `dot1` file generated in step-02 in these online Graphviz Viewers +- Review the output + +## Step-04: Clean-Up +```t +# Delete .terraform files +rm -rf .terraform* +``` + +## Step-05: Other Options - Offline Graphviz Installer +### Step-05-01: Pre-requisite notes +- Graphviz is unstable on MacOS +- Graphviz needs xcode to be installed on MacOS which consumes huge disk space. +- With that said, we are going to do this demo on Windows Machine +- We are going to use Windows 2019 EC2 instance created on AWS for the same. + +### Step-05-02: Create Windows 2019 VM ready +- Create Windows 2019 VM on AWS Cloud +- Disable Browser security settings in Server-Manager +- Install Google Chrome +- Download & Install Terraform CLI +- Set `Path` for Terraform CLI +- Copy `terraform-manifests` folder from `section-14: Terraform Graph` of the course to Windows VM + + +### Step-05-03: Install Graphviz on Windows VM +- [Download Graphviz](http://www.graphviz.org/download/) +- Install Graphviz +```t +# Switch Directory +cd c:\graphviz-demo\terraform-manifests + +# Terraform Initialize +terraform init + +# Terraform Graph +terraform graph > dot1 +Observation: +This command will output DOT format text + +# Terraform Graph in Image format +terraform graph | dot -Tsvg > graph.svg + +# Verify +open graph.svg in browser +``` + + +## References +- [Terraform Graph](https://www.terraform.io/docs/cli/commands/graph.html) \ No newline at end of file diff --git a/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/apache-install.sh b/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/c1-versions.tf b/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/c1-versions.tf new file mode 100644 index 00000000..9a8bf6ce --- /dev/null +++ b/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/c1-versions.tf @@ -0,0 +1,19 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/c2-variables.tf b/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/c2-variables.tf new file mode 100644 index 00000000..bba754b9 --- /dev/null +++ b/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/c2-variables.tf @@ -0,0 +1,10 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string +} \ No newline at end of file diff --git a/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/c3-security-groups.tf b/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/c3-security-groups.tf new file mode 100644 index 00000000..98fe5ff7 --- /dev/null +++ b/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh-${terraform.workspace}" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web-${terraform.workspace}" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/c4-ec2-instance.tf b/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/c4-ec2-instance.tf new file mode 100644 index 00000000..d759412e --- /dev/null +++ b/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/c4-ec2-instance.tf @@ -0,0 +1,19 @@ +# Create EC2 Instance - Amazon2 Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + count = 1 + key_name = "terraform-key" + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "Terraform-Cloud-${count.index}" + } +} + + + + + + + diff --git a/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/c5-outputs.tf b/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/c5-outputs.tf new file mode 100644 index 00000000..ad086758 --- /dev/null +++ b/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/c5-outputs.tf @@ -0,0 +1,14 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.*.public_ip +} + + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.*.public_dns +} diff --git a/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/c6-ami-datasource.tf b/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/dot-old b/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/dot-old new file mode 100644 index 00000000..489fb9a0 --- /dev/null +++ b/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/dot-old @@ -0,0 +1,31 @@ +digraph { + compound = "true" + newrank = "true" + subgraph "root" { + "[root] aws_instance.my-ec2-vm (expand)" [label = "aws_instance.my-ec2-vm", shape = "box"] + "[root] aws_security_group.vpc-ssh (expand)" [label = "aws_security_group.vpc-ssh", shape = "box"] + "[root] aws_security_group.vpc-web (expand)" [label = "aws_security_group.vpc-web", shape = "box"] + "[root] data.aws_ami.amzlinux (expand)" [label = "data.aws_ami.amzlinux", shape = "box"] + "[root] output.ec2_instance_publicip" [label = "output.ec2_instance_publicip", shape = "note"] + "[root] output.ec2_publicdns" [label = "output.ec2_publicdns", shape = "note"] + "[root] provider[\"registry.terraform.io/hashicorp/aws\"]" [label = "provider[\"registry.terraform.io/hashicorp/aws\"]", shape = "diamond"] + "[root] var.aws_region" [label = "var.aws_region", shape = "note"] + "[root] var.instance_type" [label = "var.instance_type", shape = "note"] + "[root] aws_instance.my-ec2-vm (expand)" -> "[root] aws_security_group.vpc-ssh (expand)" + "[root] aws_instance.my-ec2-vm (expand)" -> "[root] aws_security_group.vpc-web (expand)" + "[root] aws_instance.my-ec2-vm (expand)" -> "[root] data.aws_ami.amzlinux (expand)" + "[root] aws_instance.my-ec2-vm (expand)" -> "[root] var.instance_type" + "[root] aws_security_group.vpc-ssh (expand)" -> "[root] provider[\"registry.terraform.io/hashicorp/aws\"]" + "[root] aws_security_group.vpc-web (expand)" -> "[root] provider[\"registry.terraform.io/hashicorp/aws\"]" + "[root] data.aws_ami.amzlinux (expand)" -> "[root] provider[\"registry.terraform.io/hashicorp/aws\"]" + "[root] meta.count-boundary (EachMode fixup)" -> "[root] output.ec2_instance_publicip" + "[root] meta.count-boundary (EachMode fixup)" -> "[root] output.ec2_publicdns" + "[root] output.ec2_instance_publicip" -> "[root] aws_instance.my-ec2-vm (expand)" + "[root] output.ec2_publicdns" -> "[root] aws_instance.my-ec2-vm (expand)" + "[root] provider[\"registry.terraform.io/hashicorp/aws\"] (close)" -> "[root] aws_instance.my-ec2-vm (expand)" + "[root] provider[\"registry.terraform.io/hashicorp/aws\"]" -> "[root] var.aws_region" + "[root] root" -> "[root] meta.count-boundary (EachMode fixup)" + "[root] root" -> "[root] provider[\"registry.terraform.io/hashicorp/aws\"] (close)" + } +} + diff --git a/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/dot1 b/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/dot1 new file mode 100644 index 00000000..489fb9a0 --- /dev/null +++ b/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/dot1 @@ -0,0 +1,31 @@ +digraph { + compound = "true" + newrank = "true" + subgraph "root" { + "[root] aws_instance.my-ec2-vm (expand)" [label = "aws_instance.my-ec2-vm", shape = "box"] + "[root] aws_security_group.vpc-ssh (expand)" [label = "aws_security_group.vpc-ssh", shape = "box"] + "[root] aws_security_group.vpc-web (expand)" [label = "aws_security_group.vpc-web", shape = "box"] + "[root] data.aws_ami.amzlinux (expand)" [label = "data.aws_ami.amzlinux", shape = "box"] + "[root] output.ec2_instance_publicip" [label = "output.ec2_instance_publicip", shape = "note"] + "[root] output.ec2_publicdns" [label = "output.ec2_publicdns", shape = "note"] + "[root] provider[\"registry.terraform.io/hashicorp/aws\"]" [label = "provider[\"registry.terraform.io/hashicorp/aws\"]", shape = "diamond"] + "[root] var.aws_region" [label = "var.aws_region", shape = "note"] + "[root] var.instance_type" [label = "var.instance_type", shape = "note"] + "[root] aws_instance.my-ec2-vm (expand)" -> "[root] aws_security_group.vpc-ssh (expand)" + "[root] aws_instance.my-ec2-vm (expand)" -> "[root] aws_security_group.vpc-web (expand)" + "[root] aws_instance.my-ec2-vm (expand)" -> "[root] data.aws_ami.amzlinux (expand)" + "[root] aws_instance.my-ec2-vm (expand)" -> "[root] var.instance_type" + "[root] aws_security_group.vpc-ssh (expand)" -> "[root] provider[\"registry.terraform.io/hashicorp/aws\"]" + "[root] aws_security_group.vpc-web (expand)" -> "[root] provider[\"registry.terraform.io/hashicorp/aws\"]" + "[root] data.aws_ami.amzlinux (expand)" -> "[root] provider[\"registry.terraform.io/hashicorp/aws\"]" + "[root] meta.count-boundary (EachMode fixup)" -> "[root] output.ec2_instance_publicip" + "[root] meta.count-boundary (EachMode fixup)" -> "[root] output.ec2_publicdns" + "[root] output.ec2_instance_publicip" -> "[root] aws_instance.my-ec2-vm (expand)" + "[root] output.ec2_publicdns" -> "[root] aws_instance.my-ec2-vm (expand)" + "[root] provider[\"registry.terraform.io/hashicorp/aws\"] (close)" -> "[root] aws_instance.my-ec2-vm (expand)" + "[root] provider[\"registry.terraform.io/hashicorp/aws\"]" -> "[root] var.aws_region" + "[root] root" -> "[root] meta.count-boundary (EachMode fixup)" + "[root] root" -> "[root] provider[\"registry.terraform.io/hashicorp/aws\"] (close)" + } +} + diff --git a/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/graph.svg b/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/graph.svg new file mode 100644 index 00000000..553dd2ae --- /dev/null +++ b/BACKUP-2024/14-Terraform-Graph/terraform-manifests-oldv1/graph.svg @@ -0,0 +1,182 @@ + + + + + + + + + +[root] aws_instance.my-ec2-vm (expand) + +aws_instance.my-ec2-vm + + + +[root] aws_security_group.vpc-ssh (expand) + +aws_security_group.vpc-ssh + + + +[root] aws_instance.my-ec2-vm (expand)->[root] aws_security_group.vpc-ssh (expand) + + + + + +[root] aws_security_group.vpc-web (expand) + +aws_security_group.vpc-web + + + +[root] aws_instance.my-ec2-vm (expand)->[root] aws_security_group.vpc-web (expand) + + + + + +[root] data.aws_ami.amzlinux (expand) + +data.aws_ami.amzlinux + + + +[root] aws_instance.my-ec2-vm (expand)->[root] data.aws_ami.amzlinux (expand) + + + + + +[root] var.instance_type + + + +var.instance_type + + + +[root] aws_instance.my-ec2-vm (expand)->[root] var.instance_type + + + + + +[root] provider["registry.terraform.io/hashicorp/aws"] + +provider["registry.terraform.io/hashicorp/aws"] + + + +[root] aws_security_group.vpc-ssh (expand)->[root] provider["registry.terraform.io/hashicorp/aws"] + + + + + +[root] aws_security_group.vpc-web (expand)->[root] provider["registry.terraform.io/hashicorp/aws"] + + + + + +[root] data.aws_ami.amzlinux (expand)->[root] provider["registry.terraform.io/hashicorp/aws"] + + + + + +[root] output.ec2_instance_publicip + + + +output.ec2_instance_publicip + + + +[root] output.ec2_instance_publicip->[root] aws_instance.my-ec2-vm (expand) + + + + + +[root] output.ec2_publicdns + + + +output.ec2_publicdns + + + +[root] output.ec2_publicdns->[root] aws_instance.my-ec2-vm (expand) + + + + + +[root] var.aws_region + + + +var.aws_region + + + +[root] provider["registry.terraform.io/hashicorp/aws"]->[root] var.aws_region + + + + + +[root] meta.count-boundary (EachMode fixup) + +[root] meta.count-boundary (EachMode fixup) + + + +[root] meta.count-boundary (EachMode fixup)->[root] output.ec2_instance_publicip + + + + + +[root] meta.count-boundary (EachMode fixup)->[root] output.ec2_publicdns + + + + + +[root] provider["registry.terraform.io/hashicorp/aws"] (close) + +[root] provider["registry.terraform.io/hashicorp/aws"] (close) + + + +[root] provider["registry.terraform.io/hashicorp/aws"] (close)->[root] aws_instance.my-ec2-vm (expand) + + + + + +[root] root + +[root] root + + + +[root] root->[root] meta.count-boundary (EachMode fixup) + + + + + +[root] root->[root] provider["registry.terraform.io/hashicorp/aws"] (close) + + + + + diff --git a/BACKUP-2024/14-Terraform-Graph/terraform-manifests/apache-install.sh b/BACKUP-2024/14-Terraform-Graph/terraform-manifests/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/14-Terraform-Graph/terraform-manifests/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/14-Terraform-Graph/terraform-manifests/c1-versions.tf b/BACKUP-2024/14-Terraform-Graph/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..c540c0da --- /dev/null +++ b/BACKUP-2024/14-Terraform-Graph/terraform-manifests/c1-versions.tf @@ -0,0 +1,19 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/14-Terraform-Graph/terraform-manifests/c2-variables.tf b/BACKUP-2024/14-Terraform-Graph/terraform-manifests/c2-variables.tf new file mode 100644 index 00000000..bba754b9 --- /dev/null +++ b/BACKUP-2024/14-Terraform-Graph/terraform-manifests/c2-variables.tf @@ -0,0 +1,10 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string +} \ No newline at end of file diff --git a/BACKUP-2024/14-Terraform-Graph/terraform-manifests/c3-security-groups.tf b/BACKUP-2024/14-Terraform-Graph/terraform-manifests/c3-security-groups.tf new file mode 100644 index 00000000..98fe5ff7 --- /dev/null +++ b/BACKUP-2024/14-Terraform-Graph/terraform-manifests/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh-${terraform.workspace}" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web-${terraform.workspace}" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/14-Terraform-Graph/terraform-manifests/c4-ec2-instance.tf b/BACKUP-2024/14-Terraform-Graph/terraform-manifests/c4-ec2-instance.tf new file mode 100644 index 00000000..d759412e --- /dev/null +++ b/BACKUP-2024/14-Terraform-Graph/terraform-manifests/c4-ec2-instance.tf @@ -0,0 +1,19 @@ +# Create EC2 Instance - Amazon2 Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + count = 1 + key_name = "terraform-key" + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "Terraform-Cloud-${count.index}" + } +} + + + + + + + diff --git a/BACKUP-2024/14-Terraform-Graph/terraform-manifests/c5-outputs.tf b/BACKUP-2024/14-Terraform-Graph/terraform-manifests/c5-outputs.tf new file mode 100644 index 00000000..ad086758 --- /dev/null +++ b/BACKUP-2024/14-Terraform-Graph/terraform-manifests/c5-outputs.tf @@ -0,0 +1,14 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.*.public_ip +} + + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.*.public_dns +} diff --git a/BACKUP-2024/14-Terraform-Graph/terraform-manifests/c6-ami-datasource.tf b/BACKUP-2024/14-Terraform-Graph/terraform-manifests/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/14-Terraform-Graph/terraform-manifests/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/14-Terraform-Graph/terraform-manifests/dot-old b/BACKUP-2024/14-Terraform-Graph/terraform-manifests/dot-old new file mode 100644 index 00000000..489fb9a0 --- /dev/null +++ b/BACKUP-2024/14-Terraform-Graph/terraform-manifests/dot-old @@ -0,0 +1,31 @@ +digraph { + compound = "true" + newrank = "true" + subgraph "root" { + "[root] aws_instance.my-ec2-vm (expand)" [label = "aws_instance.my-ec2-vm", shape = "box"] + "[root] aws_security_group.vpc-ssh (expand)" [label = "aws_security_group.vpc-ssh", shape = "box"] + "[root] aws_security_group.vpc-web (expand)" [label = "aws_security_group.vpc-web", shape = "box"] + "[root] data.aws_ami.amzlinux (expand)" [label = "data.aws_ami.amzlinux", shape = "box"] + "[root] output.ec2_instance_publicip" [label = "output.ec2_instance_publicip", shape = "note"] + "[root] output.ec2_publicdns" [label = "output.ec2_publicdns", shape = "note"] + "[root] provider[\"registry.terraform.io/hashicorp/aws\"]" [label = "provider[\"registry.terraform.io/hashicorp/aws\"]", shape = "diamond"] + "[root] var.aws_region" [label = "var.aws_region", shape = "note"] + "[root] var.instance_type" [label = "var.instance_type", shape = "note"] + "[root] aws_instance.my-ec2-vm (expand)" -> "[root] aws_security_group.vpc-ssh (expand)" + "[root] aws_instance.my-ec2-vm (expand)" -> "[root] aws_security_group.vpc-web (expand)" + "[root] aws_instance.my-ec2-vm (expand)" -> "[root] data.aws_ami.amzlinux (expand)" + "[root] aws_instance.my-ec2-vm (expand)" -> "[root] var.instance_type" + "[root] aws_security_group.vpc-ssh (expand)" -> "[root] provider[\"registry.terraform.io/hashicorp/aws\"]" + "[root] aws_security_group.vpc-web (expand)" -> "[root] provider[\"registry.terraform.io/hashicorp/aws\"]" + "[root] data.aws_ami.amzlinux (expand)" -> "[root] provider[\"registry.terraform.io/hashicorp/aws\"]" + "[root] meta.count-boundary (EachMode fixup)" -> "[root] output.ec2_instance_publicip" + "[root] meta.count-boundary (EachMode fixup)" -> "[root] output.ec2_publicdns" + "[root] output.ec2_instance_publicip" -> "[root] aws_instance.my-ec2-vm (expand)" + "[root] output.ec2_publicdns" -> "[root] aws_instance.my-ec2-vm (expand)" + "[root] provider[\"registry.terraform.io/hashicorp/aws\"] (close)" -> "[root] aws_instance.my-ec2-vm (expand)" + "[root] provider[\"registry.terraform.io/hashicorp/aws\"]" -> "[root] var.aws_region" + "[root] root" -> "[root] meta.count-boundary (EachMode fixup)" + "[root] root" -> "[root] provider[\"registry.terraform.io/hashicorp/aws\"] (close)" + } +} + diff --git a/BACKUP-2024/14-Terraform-Graph/terraform-manifests/dot1 b/BACKUP-2024/14-Terraform-Graph/terraform-manifests/dot1 new file mode 100644 index 00000000..489fb9a0 --- /dev/null +++ b/BACKUP-2024/14-Terraform-Graph/terraform-manifests/dot1 @@ -0,0 +1,31 @@ +digraph { + compound = "true" + newrank = "true" + subgraph "root" { + "[root] aws_instance.my-ec2-vm (expand)" [label = "aws_instance.my-ec2-vm", shape = "box"] + "[root] aws_security_group.vpc-ssh (expand)" [label = "aws_security_group.vpc-ssh", shape = "box"] + "[root] aws_security_group.vpc-web (expand)" [label = "aws_security_group.vpc-web", shape = "box"] + "[root] data.aws_ami.amzlinux (expand)" [label = "data.aws_ami.amzlinux", shape = "box"] + "[root] output.ec2_instance_publicip" [label = "output.ec2_instance_publicip", shape = "note"] + "[root] output.ec2_publicdns" [label = "output.ec2_publicdns", shape = "note"] + "[root] provider[\"registry.terraform.io/hashicorp/aws\"]" [label = "provider[\"registry.terraform.io/hashicorp/aws\"]", shape = "diamond"] + "[root] var.aws_region" [label = "var.aws_region", shape = "note"] + "[root] var.instance_type" [label = "var.instance_type", shape = "note"] + "[root] aws_instance.my-ec2-vm (expand)" -> "[root] aws_security_group.vpc-ssh (expand)" + "[root] aws_instance.my-ec2-vm (expand)" -> "[root] aws_security_group.vpc-web (expand)" + "[root] aws_instance.my-ec2-vm (expand)" -> "[root] data.aws_ami.amzlinux (expand)" + "[root] aws_instance.my-ec2-vm (expand)" -> "[root] var.instance_type" + "[root] aws_security_group.vpc-ssh (expand)" -> "[root] provider[\"registry.terraform.io/hashicorp/aws\"]" + "[root] aws_security_group.vpc-web (expand)" -> "[root] provider[\"registry.terraform.io/hashicorp/aws\"]" + "[root] data.aws_ami.amzlinux (expand)" -> "[root] provider[\"registry.terraform.io/hashicorp/aws\"]" + "[root] meta.count-boundary (EachMode fixup)" -> "[root] output.ec2_instance_publicip" + "[root] meta.count-boundary (EachMode fixup)" -> "[root] output.ec2_publicdns" + "[root] output.ec2_instance_publicip" -> "[root] aws_instance.my-ec2-vm (expand)" + "[root] output.ec2_publicdns" -> "[root] aws_instance.my-ec2-vm (expand)" + "[root] provider[\"registry.terraform.io/hashicorp/aws\"] (close)" -> "[root] aws_instance.my-ec2-vm (expand)" + "[root] provider[\"registry.terraform.io/hashicorp/aws\"]" -> "[root] var.aws_region" + "[root] root" -> "[root] meta.count-boundary (EachMode fixup)" + "[root] root" -> "[root] provider[\"registry.terraform.io/hashicorp/aws\"] (close)" + } +} + diff --git a/BACKUP-2024/14-Terraform-Graph/terraform-manifests/graph.svg b/BACKUP-2024/14-Terraform-Graph/terraform-manifests/graph.svg new file mode 100644 index 00000000..553dd2ae --- /dev/null +++ b/BACKUP-2024/14-Terraform-Graph/terraform-manifests/graph.svg @@ -0,0 +1,182 @@ + + + + + + + + + +[root] aws_instance.my-ec2-vm (expand) + +aws_instance.my-ec2-vm + + + +[root] aws_security_group.vpc-ssh (expand) + +aws_security_group.vpc-ssh + + + +[root] aws_instance.my-ec2-vm (expand)->[root] aws_security_group.vpc-ssh (expand) + + + + + +[root] aws_security_group.vpc-web (expand) + +aws_security_group.vpc-web + + + +[root] aws_instance.my-ec2-vm (expand)->[root] aws_security_group.vpc-web (expand) + + + + + +[root] data.aws_ami.amzlinux (expand) + +data.aws_ami.amzlinux + + + +[root] aws_instance.my-ec2-vm (expand)->[root] data.aws_ami.amzlinux (expand) + + + + + +[root] var.instance_type + + + +var.instance_type + + + +[root] aws_instance.my-ec2-vm (expand)->[root] var.instance_type + + + + + +[root] provider["registry.terraform.io/hashicorp/aws"] + +provider["registry.terraform.io/hashicorp/aws"] + + + +[root] aws_security_group.vpc-ssh (expand)->[root] provider["registry.terraform.io/hashicorp/aws"] + + + + + +[root] aws_security_group.vpc-web (expand)->[root] provider["registry.terraform.io/hashicorp/aws"] + + + + + +[root] data.aws_ami.amzlinux (expand)->[root] provider["registry.terraform.io/hashicorp/aws"] + + + + + +[root] output.ec2_instance_publicip + + + +output.ec2_instance_publicip + + + +[root] output.ec2_instance_publicip->[root] aws_instance.my-ec2-vm (expand) + + + + + +[root] output.ec2_publicdns + + + +output.ec2_publicdns + + + +[root] output.ec2_publicdns->[root] aws_instance.my-ec2-vm (expand) + + + + + +[root] var.aws_region + + + +var.aws_region + + + +[root] provider["registry.terraform.io/hashicorp/aws"]->[root] var.aws_region + + + + + +[root] meta.count-boundary (EachMode fixup) + +[root] meta.count-boundary (EachMode fixup) + + + +[root] meta.count-boundary (EachMode fixup)->[root] output.ec2_instance_publicip + + + + + +[root] meta.count-boundary (EachMode fixup)->[root] output.ec2_publicdns + + + + + +[root] provider["registry.terraform.io/hashicorp/aws"] (close) + +[root] provider["registry.terraform.io/hashicorp/aws"] (close) + + + +[root] provider["registry.terraform.io/hashicorp/aws"] (close)->[root] aws_instance.my-ec2-vm (expand) + + + + + +[root] root + +[root] root + + + +[root] root->[root] meta.count-boundary (EachMode fixup) + + + + + +[root] root->[root] provider["registry.terraform.io/hashicorp/aws"] (close) + + + + + diff --git a/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/README.md b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/README.md new file mode 100644 index 00000000..178d654a --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/README.md @@ -0,0 +1,219 @@ +# Terraform Functions + +## Step-01: Introduction +- We are going to learn about different Terraform Functions using Terraform console command +- In detail, we are going to learn about `templatefile` and `concat` functions with an AWS example + +## Step-02: Numeric Functions +```t +# Terraform Console +terraform console + +# Min Function: Takes one or more numbers and returns the smallest number from the set. +min(12, 13, 14) + +# Max Function: Takes one or more numbers and returns the greatest number from the set. +max(12, 13, 14) + +# pow Function: Calculates an exponent, by raising its first argument to the power of the second argument. +pow(3, 2) +``` + +## Step-03: String Functions +```t +# Terraform Console +terraform console + +# Trim Function: Removes the specified characters from the start and end of the given string. +trim("?!hello?!", "!?") + +# Trimprefix Function: Removes the specified prefix from the start of the given string. If the string does not start with the prefix, the string is returned unchanged. +trimprefix("helloworld", "hello") +trimprefix("helloworld", "cat") + +# Trimsuffix Function: Removes the specified suffix from the end of the given string. +trimsuffix("helloworld", "world") + +# Trimspace Function: Removes any space characters from the start and end of the given string. +trimspace(" hello\n\n") + +# Join Function: Produces a string by concatenating together all elements of a given list of strings with the given delimiter +join(separator, list) +join(", ", ["foo", "bar", "baz"]) + +# Split Function: Produces a list by dividing a given string at all occurrences of a given separator. +split(separator, string) +split(",", "foo,bar,baz") + +# Upper Functon: Converts all cased letters in the given string to uppercase. +upper("hello") +``` + +## Step-04: Collection Functions +```t +# Terraform Console +terraform console + +# Concat Function: Takes two or more lists and combines them into a single list. +concat(["a", ""], ["b", "c"]) + +# Contains Function: Determines whether a given list or set contains a given single value as one of its elements. +contains(list, value) +contains(["a", "b", "c"], "a") +contains(["a", "b", "c"], "d") + +# Distinct Function: Takes a list and returns a new list with any duplicate elements removed. +distinct(["a", "b", "a", "c", "d", "b"]) + +# Length Function: determines the length of a given list, map, or string. +length("hello") +length(["a", "b"]) +length(["a", "b"]) + +# Lookup Function: Retrieves the value of a single element from a map, given its key. If the given key does not exist, the given default value is returned instead. +lookup(map, key, default) +lookup({a="ay", b="bee"}, "a", "what?") +Web: +lookup({"web" = ["10.0.1.0/24","10.0.2.0/24"], "app" = ["10.0.11.0/24","10.0.12.0/24"], "db" = ["10.0.21.0/24","10.0.22.0/24"]}, "web", ["10.0.51.0/24", "10.0.52.0/24"]) + +App: +lookup({"web" = ["10.0.1.0/24","10.0.2.0/24"], "app" = ["10.0.11.0/24","10.0.12.0/24"], "db" = ["10.0.21.0/24","10.0.22.0/24"]}, "app", ["10.0.51.0/24", "10.0.52.0/24"]) + +DB: +lookup({"web" = ["10.0.1.0/24","10.0.2.0/24"], "app" = ["10.0.11.0/24","10.0.12.0/24"], "db" = ["10.0.21.0/24","10.0.22.0/24"]}, "db", ["10.0.51.0/24", "10.0.52.0/24"]) + +Default: +lookup({"web" = ["10.0.1.0/24","10.0.2.0/24"], "app" = ["10.0.11.0/24","10.0.12.0/24"], "db" = ["10.0.21.0/24","10.0.22.0/24"]}, "abcd", ["10.0.51.0/24", "10.0.52.0/24"]) + + + +# Merge Function: Takes an arbitrary number of maps or objects, and returns a single map or object that contains a merged set of elements from all arguments. +merge({a="b", c="d"}, {e="f", c="z"}) +merge({a="b"}, {a=[1,2], c="z"}, {d=3}) +``` + +## Step-05: Encoding Functions +```t +# Terraform Console +terraform console + +# base64decode Function: Takes a string containing a Base64 character sequence and returns the original string. +base64decode("SGVsbG8gV29ybGQ=") + +# base64encode Function: Applies Base64 encoding to a string. +base64encode("Hello World") +``` + +## Step-06: FileSystem Functions +```t +# Terraform Console +terraform console + +# File Function: Reads the contents of a file at the given path and returns them as a string. +file("${path.module}/files/hello.txt") + +# fileexists Function: Determines whether a file exists at a given path. +fileexists("${path.module}/files/hello.txt") + +# templatefile Function: Reads the file at the given path and renders its content as a template using a supplied set of template variables. +templatefile(path, vars) +``` + +## Step-07: templatefile & concat Function - Review TF Files +- **Reference Folder:** terraform-manifests +### c1-versions.tf +- No changes +### c2-variables.tf +- Added variabled package_name +```t +variable "package_name" { + description = "Provide Package that need to be installed with user_data" + type = string + default = "httpd" +} +``` +### c3-security-groups.tf +- No changes +### c4-ec2-instance.tf +- Added `user_data = templatefile("user_data.tmpl", {package_name = var.package_name})` +```t +# Create EC2 Instance - Amazon2 Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + key_name = "terraform-key" + #user_data = file("apache-install.sh") + user_data = templatefile("user_data.tmpl", {package_name = var.package_name}) + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "TF-Functions-Demo-1" + } +} +``` +### c5-outputs.tf +- Added output with `concat` function +```t +# Concat Security Group IDs in Output +output "security_group_ids" { + value = concat([aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id]) +} +/* Note: This will return the IDs of the security groups attached to your web +instance as a list. You can use these lists as inputs in submodules.*/ +``` +### c6-ami-datasource.tf +- No changes +### user_data.tmpl +- Contains the shell script which will install the package provided from terraform variables. +```sh +#! /bin/bash +sudo yum update -y +sudo yum install -y ${package_name} +sudo yum list installed | grep ${package_name} >> /tmp/package-installed-list.txt +``` + +## Step-08: Execute Terraform Commands +- Verify the installed packages +```t +# Terraform Initialize +terraform init + +# Terraform Validate +terraform validate + +# Terraform Plan +terraform plan + +# Terraform Apply +terraform apply -auto-approve + +# Review Outputs for concat function +security_group_ids = [ + "sg-09f936287ddfc3b14", + "sg-01f8a08bcbc4b9590", +] + +# Connect to EC2 VM +ssh -i private-key/terraform-key ec2-user@ +cat /tmp/package-installed-list.txt +``` + +## Step-09: Clean-Up +```t +# Destroy Resources +terraform destory -auto-approve + +# Delete Files +rm -rf .terraform* +rm -rf terraform.tfstate* +``` + +## Step-10: Other Function Categories +- [Date and Time Functions](https://www.terraform.io/docs/language/functions/formatdate.html) +- [Hash and Crypto Functions](https://www.terraform.io/docs/language/functions/base64sha256.html) +- [IP Network Functions](https://www.terraform.io/docs/language/functions/cidrhost.html) +- [Type Conversion Functions](https://www.terraform.io/docs/language/functions/can.html) + + + +## References +- [Terraform Functions](https://www.terraform.io/docs/language/functions/index.html) diff --git a/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/files/hello.txt b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/files/hello.txt new file mode 100644 index 00000000..0c4531f4 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/files/hello.txt @@ -0,0 +1 @@ +hello from hello.txt file \ No newline at end of file diff --git a/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/files/world.txt b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/files/world.txt new file mode 100644 index 00000000..04fea064 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/files/world.txt @@ -0,0 +1 @@ +world \ No newline at end of file diff --git a/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests-oldv1/c1-versions.tf b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests-oldv1/c1-versions.tf new file mode 100644 index 00000000..092ff81f --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests-oldv1/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests-oldv1/c2-variables.tf b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests-oldv1/c2-variables.tf new file mode 100644 index 00000000..5881be51 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests-oldv1/c2-variables.tf @@ -0,0 +1,19 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string + default = "t2.micro" + #default = "t2.small" +} + +variable "package_name" { + description = "Provide Package that need to be installed with user_data" + type = string + default = "httpd" +} \ No newline at end of file diff --git a/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests-oldv1/c3-security-groups.tf b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests-oldv1/c3-security-groups.tf new file mode 100644 index 00000000..98fe5ff7 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests-oldv1/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh-${terraform.workspace}" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web-${terraform.workspace}" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests-oldv1/c4-ec2-instance.tf b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests-oldv1/c4-ec2-instance.tf new file mode 100644 index 00000000..fefe9e07 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests-oldv1/c4-ec2-instance.tf @@ -0,0 +1,26 @@ +# Create EC2 Instance - Amazon2 Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + key_name = "terraform-key" + #user_data = file("apache-install.sh") + user_data = templatefile("user_data.tmpl", {package_name = var.package_name}) + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "TF-Functions-Demo-1" + } +} + + + + + + + + + + + + + + diff --git a/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests-oldv1/c5-outputs.tf b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests-oldv1/c5-outputs.tf new file mode 100644 index 00000000..2cd9150b --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests-oldv1/c5-outputs.tf @@ -0,0 +1,23 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.*.public_ip +} + + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.*.public_dns +} + +# Concat Security Group IDs in Output +output "security_group_ids" { + description = "This will return the IDs of the security groups attached to your web instance as a list. You can use these lists as inputs in submodules" + value = concat([aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id]) +} +/* Note: This will return the IDs of the security groups attached to your web +instance as a list. You can use these lists as inputs in submodules.*/ + diff --git a/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests-oldv1/c6-ami-datasource.tf b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests-oldv1/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests-oldv1/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests-oldv1/private-key/terraform-key.pem b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests-oldv1/private-key/terraform-key.pem new file mode 100644 index 00000000..fab1eb2a --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests-oldv1/private-key/terraform-key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAnzQtbXStFNU4znotckbPpAbQvymSYBvIRhObDObmhZLzs/Qm +lm57HBU18NcdAeEmKjHyu/2CI4Wwor3TJ+LTKHIldHmCt+26dSN5889Km99Af674 +nuPg9fTt8IXhY83aO0AeEnFivC+lk9+6Xezv7J7Llsmyx3kvUGE4uUEPNPuNcjdU +OrSlQ/Th9FPWBsTL8wLQCfQaPIQhZT8fXnvNGViTpZ/YqcoKGmkXcMl/+Pi0Xccs +ID3Egl18sV5uWr6T1DSMqhhwWYbl+IagZYUeKQ6Lg5znAtnX2/OHhDep6pGcf+aE +jbRkhQWgfLIVYhNXkAGxdxBEA2fQO0wvnaKI6wIDAQABAoIBABmUZqApmQ253LDA +TMEJw58VQUEVyuEKVbl8uPLvvqZDoEiPuAt/oOQ4PDyAM7bzmBA7ikbOSrSubF0Z +pu3HsinTfVUjmO84kTb1Bkk4S0KUMmbRlDzjXGfofLqiqD5C+wd+G9bWxQh7l10V +G3qv8TTRpuCJc+I9BG8jz9tkKq9WYtnGKXktVIAmEXK+ein8A5yj+szV1CyP0y6Y +6D1KApk+o1hLEXCBxaK6JgD4elJWgU0jCIhRFZzae93yozNIfJc2WZfPc8Ro6GBa +8H57q3E241P7S65VewhZlln9AUcRFYc587ohcCIW8mOWQ8NA3IMP+oVxa2p334Ll +duhR2jECgYEAyf7a1/+/c82B+ENyo53Y5CK2UM28oOJjiyCaWG2Dxj6V2+ZSXPrS +YTo43L9XiqT0Ry2eHjb4pJDsEeW5FnaDFO6NVUP+vfzaqWtozQmVAl3GQybbSh6g ++KJoEQff2Obadp9ZVhLFTiBedvGqPD43hs7jtmk5RfMjpLOvidfe+/UCgYEAycSJ +etYYHMMQm2NgX1/4dcbgOiu33N+x1H7LaXuvJMaZw0wB7fUyu65CAexEanDtiKs3 +jVG4tAzdMmHg7VxKR7eiCvQaSlxdWdcWtL2eFVq2TaQeowbpJUtsR0h6W0vpaN9A +VYW/oAH4fzQskwmWSlBMxB/Ie14hBCBckTXSRV8CgYEAql6WXpCK/jVbZfYdfvrn +sKPGeijM7DWGGBaLmAHmnxKyeyKsXVgAkZj11NpeD8ZJcq97Kajb1pGVSxMjJVsX +/FOoST5sYfoew76gSi/GypQlYQYo9z8WLh9s/tBRcTRlFqAYTYzPdbG/ezshhmZD +lyRw0620bNdCPOyBJhY5MPECgYA/3tFOazuSz0UQi3LUfkLetagBghlf+AgJJmIp +8BdPYvcF1ae+tiHrO4x1o188+qaW3uxk9fusM25KJqXXPaHd9gl7wi4YYAjFCcuM +R4IlbGPNTCjOnr9rKOcL4aup/uvSYOmyqPYyJq2NRuzdVumWeLj0VMNYGkIFVmE3 +LnxzrQKBgG5loEjdSKt40YOMXtYvUYUKDGvWgoQEb0hj3OqiBXz+w4YD3/iX7dbQ +qra1gCxE42Z9beiBiti6zi6zGcoVj/pfNUoyxTLMSwaytbF+g1u6ksXcmC9PXcmk +kJDR0DJcm/rcL8tp3PKo22GDB7sobm9gk5je6y8z+dQs3SQbWzb0 +-----END RSA PRIVATE KEY----- \ No newline at end of file diff --git a/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests-oldv1/user_data.tmpl b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests-oldv1/user_data.tmpl new file mode 100644 index 00000000..c81c9b0b --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests-oldv1/user_data.tmpl @@ -0,0 +1,4 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y ${package_name} +sudo yum list installed | grep ${package_name} >> /tmp/package-installed-list.txt diff --git a/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests/c1-versions.tf b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..095fba43 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests/c2-variables.tf b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests/c2-variables.tf new file mode 100644 index 00000000..5881be51 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests/c2-variables.tf @@ -0,0 +1,19 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string + default = "t2.micro" + #default = "t2.small" +} + +variable "package_name" { + description = "Provide Package that need to be installed with user_data" + type = string + default = "httpd" +} \ No newline at end of file diff --git a/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests/c3-security-groups.tf b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests/c3-security-groups.tf new file mode 100644 index 00000000..98fe5ff7 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh-${terraform.workspace}" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web-${terraform.workspace}" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests/c4-ec2-instance.tf b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests/c4-ec2-instance.tf new file mode 100644 index 00000000..fefe9e07 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests/c4-ec2-instance.tf @@ -0,0 +1,26 @@ +# Create EC2 Instance - Amazon2 Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + key_name = "terraform-key" + #user_data = file("apache-install.sh") + user_data = templatefile("user_data.tmpl", {package_name = var.package_name}) + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "TF-Functions-Demo-1" + } +} + + + + + + + + + + + + + + diff --git a/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests/c5-outputs.tf b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests/c5-outputs.tf new file mode 100644 index 00000000..2cd9150b --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests/c5-outputs.tf @@ -0,0 +1,23 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.*.public_ip +} + + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.*.public_dns +} + +# Concat Security Group IDs in Output +output "security_group_ids" { + description = "This will return the IDs of the security groups attached to your web instance as a list. You can use these lists as inputs in submodules" + value = concat([aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id]) +} +/* Note: This will return the IDs of the security groups attached to your web +instance as a list. You can use these lists as inputs in submodules.*/ + diff --git a/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests/c6-ami-datasource.tf b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests/private-key/terraform-key.pem b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests/private-key/terraform-key.pem new file mode 100644 index 00000000..fab1eb2a --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests/private-key/terraform-key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAnzQtbXStFNU4znotckbPpAbQvymSYBvIRhObDObmhZLzs/Qm +lm57HBU18NcdAeEmKjHyu/2CI4Wwor3TJ+LTKHIldHmCt+26dSN5889Km99Af674 +nuPg9fTt8IXhY83aO0AeEnFivC+lk9+6Xezv7J7Llsmyx3kvUGE4uUEPNPuNcjdU +OrSlQ/Th9FPWBsTL8wLQCfQaPIQhZT8fXnvNGViTpZ/YqcoKGmkXcMl/+Pi0Xccs +ID3Egl18sV5uWr6T1DSMqhhwWYbl+IagZYUeKQ6Lg5znAtnX2/OHhDep6pGcf+aE +jbRkhQWgfLIVYhNXkAGxdxBEA2fQO0wvnaKI6wIDAQABAoIBABmUZqApmQ253LDA +TMEJw58VQUEVyuEKVbl8uPLvvqZDoEiPuAt/oOQ4PDyAM7bzmBA7ikbOSrSubF0Z +pu3HsinTfVUjmO84kTb1Bkk4S0KUMmbRlDzjXGfofLqiqD5C+wd+G9bWxQh7l10V +G3qv8TTRpuCJc+I9BG8jz9tkKq9WYtnGKXktVIAmEXK+ein8A5yj+szV1CyP0y6Y +6D1KApk+o1hLEXCBxaK6JgD4elJWgU0jCIhRFZzae93yozNIfJc2WZfPc8Ro6GBa +8H57q3E241P7S65VewhZlln9AUcRFYc587ohcCIW8mOWQ8NA3IMP+oVxa2p334Ll +duhR2jECgYEAyf7a1/+/c82B+ENyo53Y5CK2UM28oOJjiyCaWG2Dxj6V2+ZSXPrS +YTo43L9XiqT0Ry2eHjb4pJDsEeW5FnaDFO6NVUP+vfzaqWtozQmVAl3GQybbSh6g ++KJoEQff2Obadp9ZVhLFTiBedvGqPD43hs7jtmk5RfMjpLOvidfe+/UCgYEAycSJ +etYYHMMQm2NgX1/4dcbgOiu33N+x1H7LaXuvJMaZw0wB7fUyu65CAexEanDtiKs3 +jVG4tAzdMmHg7VxKR7eiCvQaSlxdWdcWtL2eFVq2TaQeowbpJUtsR0h6W0vpaN9A +VYW/oAH4fzQskwmWSlBMxB/Ie14hBCBckTXSRV8CgYEAql6WXpCK/jVbZfYdfvrn +sKPGeijM7DWGGBaLmAHmnxKyeyKsXVgAkZj11NpeD8ZJcq97Kajb1pGVSxMjJVsX +/FOoST5sYfoew76gSi/GypQlYQYo9z8WLh9s/tBRcTRlFqAYTYzPdbG/ezshhmZD +lyRw0620bNdCPOyBJhY5MPECgYA/3tFOazuSz0UQi3LUfkLetagBghlf+AgJJmIp +8BdPYvcF1ae+tiHrO4x1o188+qaW3uxk9fusM25KJqXXPaHd9gl7wi4YYAjFCcuM +R4IlbGPNTCjOnr9rKOcL4aup/uvSYOmyqPYyJq2NRuzdVumWeLj0VMNYGkIFVmE3 +LnxzrQKBgG5loEjdSKt40YOMXtYvUYUKDGvWgoQEb0hj3OqiBXz+w4YD3/iX7dbQ +qra1gCxE42Z9beiBiti6zi6zGcoVj/pfNUoyxTLMSwaytbF+g1u6ksXcmC9PXcmk +kJDR0DJcm/rcL8tp3PKo22GDB7sobm9gk5je6y8z+dQs3SQbWzb0 +-----END RSA PRIVATE KEY----- \ No newline at end of file diff --git a/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests/user_data.tmpl b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests/user_data.tmpl new file mode 100644 index 00000000..c81c9b0b --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-01-Terraform-Functions/terraform-manifests/user_data.tmpl @@ -0,0 +1,4 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y ${package_name} +sudo yum list installed | grep ${package_name} >> /tmp/package-installed-list.txt diff --git a/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/README.md b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/README.md new file mode 100644 index 00000000..e4e730bc --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/README.md @@ -0,0 +1,128 @@ +# Terraform Dynamic Expressions + +## Step-01: Introduction +- Learn [Dynamic Expressions](https://www.terraform.io/docs/language/expressions/conditionals.html) in Terraform +- **Conditional Expression:** A conditional expression uses the value of a bool expression to select one of two values. +```t +# Example-1 +condition ? true_val : false_val + +# Example-2 +var.a != "" ? var.a : "default-a" +``` +- **Splat Expression:** A `splat expression` provides a more concise way to express a common operation that could otherwise be performed with a `for` expression. +- The special [*] symbol iterates over all of the elements of the list given to its left and accesses from each one the attribute name given on its right. +```t +# With for expression +[for o in var.list : o.id] + +# With Splat Expression [*] +var.list[*].id +``` +- A splat expression can also be used to access attributes and indexes from lists of complex types by extending the sequence of operations to the right of the symbol: +```t +var.list[*].interfaces[0].name +aws_instance.example[*].id +``` + + +## Step-02: Review Terraform Manifests +### c1-versions.tf +- Added new random provider in `required_providers` block +### c2-vairables.tf + - Added new variables + - availability_zones + - name + - team + - high_availability +### c3-security-groups.tf + - Added common tags +### c4-ec2-instance.tf +- Added Random ID resource block +- Added new locals block +- **Important Note:** Inside locals block we can add conditional expressions as below. +```t +# Create Locals +locals { + #name = var.name + name = (var.name != "" ? var.name : random_id.id.hex) + owner = var.team + common_tags = { + Owner = local.owner + DefaultUser = local.name + } +} +``` +- Added Availability zone argument with count.index +- We will discuss about following conditional expressions here +```t +# In Locals Block: Conditional Expression +name = (var.name != "" ? var.name : random_id.id.hex) + +# In EC2 Resource Block: Conditional Expression +count = (var.high_availability == true ? 2 : 1) + +# In EC2 Resource Block: count.index +availability_zone = var.availability_zones[count.index] +``` +### c5-outputs.tf +- Added Splat expression [*] for all outputs +- Added Common Tags and ELB DNS Name as new outputs + +### c6-ami-datasource.tf +- No changes + +### c7-elb.tf +- Added this new resource +- We will be creating ELB only if "high_availability" variable value is true else it will not be created +```t +# Create ELB if high_availability=true +# In ELB Block: Conditional Expression +count = (var.high_availability == true ? 1 : 0) +``` + +## Step-03: Execute Terraform Commands +```t +# Terraform Initialize +terraform init + +# Terraform Validate +terraform validate + +# Terraform Plan: When Variable values, high_availability = false and name = "ec2-user" +terraform plan +Observation: +1) Plan will generate for only 1 EC2 instance and 2 Security Groups. +2) ELB Resource will not be created with these variable options + + +# Terraform Plan: When Variable values, high_availability = true and name = "" +terraform plan +1) Plan will generate for only 2 EC2 instance, 2 Security Groups and 1 ELB +2) ELB Resource will be created with these variable options +3) name value will be a random value known after terraform apply completed + +# Terraform Apply +terraform apply -auto-approve + +# Verify +1) Verify Outputs +2) Verify EC2 Instances & Security Groups & Common Tags +3) Verify ELB & Common Tags for ELB +4) Access App using ELB DNS Name +``` + +## Step-04: Clean-Up +```t +# Terraform Destroy +terraform destroy -auto-approve + +# Clean-Up +rm -rf .terraform* +rm -rf terraform.tfstate* + +# Uncomment and Comment right values in c2-variables.tf (Roll back to put ready for student demo) +high_availability = false +name = "ec2-user" +``` + diff --git a/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests-oldv1/apache-install.sh b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests-oldv1/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests-oldv1/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests-oldv1/c1-versions.tf b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests-oldv1/c1-versions.tf new file mode 100644 index 00000000..106e5a73 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests-oldv1/c1-versions.tf @@ -0,0 +1,24 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + random = { + source = "hashicorp/random" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests-oldv1/c2-variables.tf b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests-oldv1/c2-variables.tf new file mode 100644 index 00000000..ce4afc38 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests-oldv1/c2-variables.tf @@ -0,0 +1,40 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "instance_type" { + description = "EC2 Instance Type" + type = string + default = "t3.micro" +} + +variable "availability_zones" { + description = "List of Availability Zones resources will be created" + type = list(string) + default = ["us-east-1a", "us-east-1b", "us-east-1c"] +} + +variable "high_availability" { + type = bool + description = "If this is a multiple instance deployment, choose `true` to deploy 2 instances" + default = false + #default = true +} + + +variable "name" { + description = "The username assigned to the infrastructure" + type = string + default = "ec2-user" + #default = "" +} + +variable "team" { + description = "The team responsible for the infrastructure" + type = string + default = "stacksimplify" +} + diff --git a/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests-oldv1/c3-security-groups.tf b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests-oldv1/c3-security-groups.tf new file mode 100644 index 00000000..c11e0991 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests-oldv1/c3-security-groups.tf @@ -0,0 +1,50 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + tags = local.common_tags +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + tags = local.common_tags +} \ No newline at end of file diff --git a/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests-oldv1/c4-ec2-instance.tf b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests-oldv1/c4-ec2-instance.tf new file mode 100644 index 00000000..af64a192 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests-oldv1/c4-ec2-instance.tf @@ -0,0 +1,31 @@ +# Define Random ID Resource +resource "random_id" "id" { + byte_length = 8 +} + +# Create Locals +locals { + # name = var.name + name = (var.name != "" ? var.name : random_id.id.hex) + owner = var.team + common_tags = { + Owner = local.owner + nametag = local.name + } +} + + +# Create EC2 Instance - Amazon Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + key_name = "terraform-key" + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + # Dynamic Expressions + count = (var.high_availability == true ? 2 : 1) + tags = local.common_tags + availability_zone = var.availability_zones[count.index] +} + + diff --git a/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests-oldv1/c5-outputs.tf b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests-oldv1/c5-outputs.tf new file mode 100644 index 00000000..d096c2d9 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests-oldv1/c5-outputs.tf @@ -0,0 +1,26 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm[*].public_ip +} + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm[*].public_dns +} + + +# Common Tags +output "tags" { + description = "Common Tags" + value = aws_instance.my-ec2-vm[*].tags +} + +# ELB DNS Name +output "elb_dns_name" { + description = "ELB DNS Name" + value = aws_elb.elb[*].dns_name +} \ No newline at end of file diff --git a/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests-oldv1/c6-ami-datasource.tf b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests-oldv1/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests-oldv1/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests-oldv1/c7-elb.tf b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests-oldv1/c7-elb.tf new file mode 100644 index 00000000..104e2f36 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests-oldv1/c7-elb.tf @@ -0,0 +1,31 @@ +# AWS ELB +resource "aws_elb" "elb" { + name = "my-elb" + listener { + instance_port = 80 + instance_protocol = "http" + lb_port = 80 + lb_protocol = "http" + } + + health_check { + healthy_threshold = 2 + unhealthy_threshold = 2 + timeout = 3 + target = "HTTP:80/" + interval = 30 + } + + idle_timeout = 400 + connection_draining = true + connection_draining_timeout = 400 + + # Splat Expression + instances = aws_instance.my-ec2-vm[*].id + + # Dynamic Expressions + count = (var.high_availability == true ? 1 : 0) + availability_zones = var.availability_zones + tags = local.common_tags +} + diff --git a/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests/apache-install.sh b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests/c1-versions.tf b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..00436b5b --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests/c1-versions.tf @@ -0,0 +1,24 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + random = { + source = "hashicorp/random" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests/c2-variables.tf b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests/c2-variables.tf new file mode 100644 index 00000000..ce4afc38 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests/c2-variables.tf @@ -0,0 +1,40 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "instance_type" { + description = "EC2 Instance Type" + type = string + default = "t3.micro" +} + +variable "availability_zones" { + description = "List of Availability Zones resources will be created" + type = list(string) + default = ["us-east-1a", "us-east-1b", "us-east-1c"] +} + +variable "high_availability" { + type = bool + description = "If this is a multiple instance deployment, choose `true` to deploy 2 instances" + default = false + #default = true +} + + +variable "name" { + description = "The username assigned to the infrastructure" + type = string + default = "ec2-user" + #default = "" +} + +variable "team" { + description = "The team responsible for the infrastructure" + type = string + default = "stacksimplify" +} + diff --git a/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests/c3-security-groups.tf b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests/c3-security-groups.tf new file mode 100644 index 00000000..c11e0991 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests/c3-security-groups.tf @@ -0,0 +1,50 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + tags = local.common_tags +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + tags = local.common_tags +} \ No newline at end of file diff --git a/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests/c4-ec2-instance.tf b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests/c4-ec2-instance.tf new file mode 100644 index 00000000..af64a192 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests/c4-ec2-instance.tf @@ -0,0 +1,31 @@ +# Define Random ID Resource +resource "random_id" "id" { + byte_length = 8 +} + +# Create Locals +locals { + # name = var.name + name = (var.name != "" ? var.name : random_id.id.hex) + owner = var.team + common_tags = { + Owner = local.owner + nametag = local.name + } +} + + +# Create EC2 Instance - Amazon Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + key_name = "terraform-key" + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + # Dynamic Expressions + count = (var.high_availability == true ? 2 : 1) + tags = local.common_tags + availability_zone = var.availability_zones[count.index] +} + + diff --git a/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests/c5-outputs.tf b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests/c5-outputs.tf new file mode 100644 index 00000000..d096c2d9 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests/c5-outputs.tf @@ -0,0 +1,26 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm[*].public_ip +} + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm[*].public_dns +} + + +# Common Tags +output "tags" { + description = "Common Tags" + value = aws_instance.my-ec2-vm[*].tags +} + +# ELB DNS Name +output "elb_dns_name" { + description = "ELB DNS Name" + value = aws_elb.elb[*].dns_name +} \ No newline at end of file diff --git a/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests/c6-ami-datasource.tf b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests/c7-elb.tf b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests/c7-elb.tf new file mode 100644 index 00000000..104e2f36 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-02-Terraform-Dynamic-Expressions/terraform-manifests/c7-elb.tf @@ -0,0 +1,31 @@ +# AWS ELB +resource "aws_elb" "elb" { + name = "my-elb" + listener { + instance_port = 80 + instance_protocol = "http" + lb_port = 80 + lb_protocol = "http" + } + + health_check { + healthy_threshold = 2 + unhealthy_threshold = 2 + timeout = 3 + target = "HTTP:80/" + interval = 30 + } + + idle_timeout = 400 + connection_draining = true + connection_draining_timeout = 400 + + # Splat Expression + instances = aws_instance.my-ec2-vm[*].id + + # Dynamic Expressions + count = (var.high_availability == true ? 1 : 0) + availability_zones = var.availability_zones + tags = local.common_tags +} + diff --git a/BACKUP-2024/15-Terraform-Expressions/15-03-Terraform-Dynamic-Blocks/README.md b/BACKUP-2024/15-Terraform-Expressions/15-03-Terraform-Dynamic-Blocks/README.md new file mode 100644 index 00000000..3c491359 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-03-Terraform-Dynamic-Blocks/README.md @@ -0,0 +1,113 @@ +# Terraform Dynamic Blocks + +## Step-01: Introduction +- Some resource types include repeatable nested blocks in their arguments, which do not accept expressions +- You can dynamically construct repeatable nested blocks like setting using a special dynamic block type, which is supported inside resource, data, provider, and provisioner blocks + +## Step-02: Create / Review Terraform manifests +### c1-versions.tf +- Standard file without any changes +- `region` in provider block is hard-coded to `us-east-1` +### c2-security-groups-regular.tf +```t +resource "aws_security_group" "sg-regular" { + name = "demo-regular" + description = "demo-regular" + + ingress { + description = "description 0" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + ingress { + description = "description 1" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + ingress { + description = "description 2" + from_port = 8080 + to_port = 8080 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + ingress { + description = "description 3" + from_port = 8081 + to_port = 8081 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + ingress { + description = "description 4" + from_port = 7080 + to_port = 7080 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + ingress { + description = "description 5" + from_port = 7081 + to_port = 7081 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } +} +``` + +### c3-dynamic-blocks-for-security-groups.tf +- ingress.key = 0 and ingress.value = 80 +- ingress.key = 1 and ingress.value = 443 +- ingress.key = 2 and ingress.value = 8080 .... +```t +# Define Ports as a list in locals block +locals { + ports = [80, 443, 8080, 8081, 7080, 7081] +} + +# Create Security Group using Terraform Dynamic Block +resource "aws_security_group" "sg-dynamic" { + name = "dynamic-block-demo" + description = "dynamic-block-demo" + + dynamic "ingress" { + for_each = local.ports + content { + description = "description ${ingress.key}" + from_port = ingress.value + to_port = ingress.value + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + } +} +``` + +## Step-03: Execute Terraform Commands +```t +# Terraform Initialize +terraform init + +# Terraform Validate +terraform validate + +# Terraform Plan +terraform plan + +# Terraform Apply +terraform apply -auto-approve +``` + +## Step-04: Clean-Up +```t +# Terraform Destroy +terraform destroy -auto-approve + +# Delete Files +rm -rf .terraform* +rm -rf terraform.tfstate* +``` \ No newline at end of file diff --git a/BACKUP-2024/15-Terraform-Expressions/15-03-Terraform-Dynamic-Blocks/terraform-manifests-oldv1/c1-versions.tf b/BACKUP-2024/15-Terraform-Expressions/15-03-Terraform-Dynamic-Blocks/terraform-manifests-oldv1/c1-versions.tf new file mode 100644 index 00000000..62f781cb --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-03-Terraform-Dynamic-Blocks/terraform-manifests-oldv1/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = "us-east-1" + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/15-Terraform-Expressions/15-03-Terraform-Dynamic-Blocks/terraform-manifests-oldv1/c2-security-groups-regular.tf b/BACKUP-2024/15-Terraform-Expressions/15-03-Terraform-Dynamic-Blocks/terraform-manifests-oldv1/c2-security-groups-regular.tf new file mode 100644 index 00000000..de4fe074 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-03-Terraform-Dynamic-Blocks/terraform-manifests-oldv1/c2-security-groups-regular.tf @@ -0,0 +1,47 @@ +resource "aws_security_group" "sg-regular" { + name = "demo-regular" + description = "demo-regular" + + ingress { + description = "description 0" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + ingress { + description = "description 1" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + ingress { + description = "description 2" + from_port = 8080 + to_port = 8080 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + ingress { + description = "description 3" + from_port = 8081 + to_port = 8081 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + ingress { + description = "description 4" + from_port = 7080 + to_port = 7080 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + ingress { + description = "description 5" + from_port = 7081 + to_port = 7081 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } +} \ No newline at end of file diff --git a/BACKUP-2024/15-Terraform-Expressions/15-03-Terraform-Dynamic-Blocks/terraform-manifests-oldv1/c3-dynamic-blocks-for-security-groups.tf b/BACKUP-2024/15-Terraform-Expressions/15-03-Terraform-Dynamic-Blocks/terraform-manifests-oldv1/c3-dynamic-blocks-for-security-groups.tf new file mode 100644 index 00000000..42f6cc72 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-03-Terraform-Dynamic-Blocks/terraform-manifests-oldv1/c3-dynamic-blocks-for-security-groups.tf @@ -0,0 +1,22 @@ +# Define Ports as a list in locals block +locals { + ports = [80, 443, 8080, 8081, 7080, 7081] +} + +# Create Security Group using Terraform Dynamic Block +resource "aws_security_group" "sg-dynamic" { + name = "dynamic-block-demo" + description = "dynamic-block-demo" + + dynamic "ingress" { + for_each = local.ports + content { + description = "description ${ingress.key}" + from_port = ingress.value + to_port = ingress.value + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + } +} + diff --git a/BACKUP-2024/15-Terraform-Expressions/15-03-Terraform-Dynamic-Blocks/terraform-manifests/c1-versions.tf b/BACKUP-2024/15-Terraform-Expressions/15-03-Terraform-Dynamic-Blocks/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..f16fce1d --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-03-Terraform-Dynamic-Blocks/terraform-manifests/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = "us-east-1" + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/15-Terraform-Expressions/15-03-Terraform-Dynamic-Blocks/terraform-manifests/c2-security-groups-regular.tf b/BACKUP-2024/15-Terraform-Expressions/15-03-Terraform-Dynamic-Blocks/terraform-manifests/c2-security-groups-regular.tf new file mode 100644 index 00000000..de4fe074 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-03-Terraform-Dynamic-Blocks/terraform-manifests/c2-security-groups-regular.tf @@ -0,0 +1,47 @@ +resource "aws_security_group" "sg-regular" { + name = "demo-regular" + description = "demo-regular" + + ingress { + description = "description 0" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + ingress { + description = "description 1" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + ingress { + description = "description 2" + from_port = 8080 + to_port = 8080 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + ingress { + description = "description 3" + from_port = 8081 + to_port = 8081 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + ingress { + description = "description 4" + from_port = 7080 + to_port = 7080 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + ingress { + description = "description 5" + from_port = 7081 + to_port = 7081 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } +} \ No newline at end of file diff --git a/BACKUP-2024/15-Terraform-Expressions/15-03-Terraform-Dynamic-Blocks/terraform-manifests/c3-dynamic-blocks-for-security-groups.tf b/BACKUP-2024/15-Terraform-Expressions/15-03-Terraform-Dynamic-Blocks/terraform-manifests/c3-dynamic-blocks-for-security-groups.tf new file mode 100644 index 00000000..42f6cc72 --- /dev/null +++ b/BACKUP-2024/15-Terraform-Expressions/15-03-Terraform-Dynamic-Blocks/terraform-manifests/c3-dynamic-blocks-for-security-groups.tf @@ -0,0 +1,22 @@ +# Define Ports as a list in locals block +locals { + ports = [80, 443, 8080, 8081, 7080, 7081] +} + +# Create Security Group using Terraform Dynamic Block +resource "aws_security_group" "sg-dynamic" { + name = "dynamic-block-demo" + description = "dynamic-block-demo" + + dynamic "ingress" { + for_each = local.ports + content { + description = "description ${ingress.key}" + from_port = ingress.value + to_port = ingress.value + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + } +} + diff --git a/BACKUP-2024/16-Terraform-Debug/README.md b/BACKUP-2024/16-Terraform-Debug/README.md new file mode 100644 index 00000000..5211070a --- /dev/null +++ b/BACKUP-2024/16-Terraform-Debug/README.md @@ -0,0 +1,99 @@ +# Terraform Debug + +## Step-01: Introduction +- Learn about Terraform Debug +- TF_LOG & TF_LOG_PATH +- TF_LOG - Allowed Values or Desired Log Levels +- **TRACE:** Very detailed verbosity, shows every step taken by Terraform and produces enormous outputs with internal logs. +- **DEBUG:** describes what happens internally in a more concise way compared to TRACE. +- **ERROR:** shows errors that prevent Terraform from continuing. +- **WARN:** logs warnings, which may indicate misconfiguration or mistakes, but are not critical to execution +- **INFO:** shows general, high-level messages about the execution process. +- **Important Note:** + + +## Step-02: Setup Trace logging in Terraform +```t +# Terrafrom Trace Log Settings +export TF_LOG=TRACE +export TF_LOG_PATH="terraform-trace.log" +echo $TF_LOG +echo $TF_LOG_PATH + +# Terraform Initialize +terraform init + +# Terraform Validate +terraform validate + +# Terraform Plan +terraform plan + +# Terraform Apply +terraform apply -auto-approve + +# Terraform Destroy +terraform destroy -auto-approve + +# Clean-Up +rm -rf .terraform* +rm -rf terraform.tfstate* +rm terraform-trace.log +``` + + +## Step-03: Setup these Environment Variables permanently in your desktops +### Linux Bash +- Open your `.bashrc` which is located in your $home directory +```t +# Linux Bash +cd $HOME +vi .bashrc + +# Terraform log settings +export TF_LOG=TRACE +export TF_LOG_PATH="terraform-trace.log" + +# Verify after saving the file in new terminal +$ echo $TF_LOG +TRACE +$ echo $TF_LOG_PATH +terraform-trace.log +``` +### Windows Powershell +- Setup using Powershell profile +- Open `$profile` command in a PowerShell +- Once that file is opened add the following lines. +- Now close and reopen the console and type the following to verify that it worked. +```t +# Windows Powershell - Terraform log settings +$env:TF_LOG="TRACE" +$env:TF_LOG_PATH="terraform.txt" + +# Open new powershell window & Verify +echo $env:TF_LOG +echo $env:TF_LOG_PATH +``` +### MAC OS +- Update the values in `.bash_profile` at the end of file +```t +# MAC OS +cd $HOME +vi .bash_profile + +# Terraform log settings +export TF_LOG=TRACE +export TF_LOG_PATH="terraform-trace.log" + +# Verify after saving the file in new terminal +$ echo $TF_LOG +TRACE +$ echo $TF_LOG_PATH +terraform-trace.log +``` + +## Step-04: Terraform Crash Log +- If Terraform ever crashes (a "panic" in the Go runtime), it saves a log file with the debug logs from the session as well as the panic message and backtrace to `crash.log`. +- Generally speaking, this log file is meant to be passed along to the developers via a GitHub Issue. +- As a user, you're not required to dig into this file. +- [How to read a crash log?](https://www.terraform.io/docs/internals/debugging.html#interpreting-a-crash-log) \ No newline at end of file diff --git a/BACKUP-2024/16-Terraform-Debug/terraform-manifests-oldv1/apache-install.sh b/BACKUP-2024/16-Terraform-Debug/terraform-manifests-oldv1/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/16-Terraform-Debug/terraform-manifests-oldv1/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/16-Terraform-Debug/terraform-manifests-oldv1/c1-versions.tf b/BACKUP-2024/16-Terraform-Debug/terraform-manifests-oldv1/c1-versions.tf new file mode 100644 index 00000000..a305835c --- /dev/null +++ b/BACKUP-2024/16-Terraform-Debug/terraform-manifests-oldv1/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = "~> 0.14" # which means any version equal & above 0.14 like 0.15, 0.16 etc and < 1.xx + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/16-Terraform-Debug/terraform-manifests-oldv1/c2-variables.tf b/BACKUP-2024/16-Terraform-Debug/terraform-manifests-oldv1/c2-variables.tf new file mode 100644 index 00000000..c3596e08 --- /dev/null +++ b/BACKUP-2024/16-Terraform-Debug/terraform-manifests-oldv1/c2-variables.tf @@ -0,0 +1,13 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string + #default = "t2.micro" + default = "t2.small" +} \ No newline at end of file diff --git a/BACKUP-2024/16-Terraform-Debug/terraform-manifests-oldv1/c3-security-groups.tf b/BACKUP-2024/16-Terraform-Debug/terraform-manifests-oldv1/c3-security-groups.tf new file mode 100644 index 00000000..1ca810d6 --- /dev/null +++ b/BACKUP-2024/16-Terraform-Debug/terraform-manifests-oldv1/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/16-Terraform-Debug/terraform-manifests-oldv1/c4-ec2-instance.tf b/BACKUP-2024/16-Terraform-Debug/terraform-manifests-oldv1/c4-ec2-instance.tf new file mode 100644 index 00000000..8839bb42 --- /dev/null +++ b/BACKUP-2024/16-Terraform-Debug/terraform-manifests-oldv1/c4-ec2-instance.tf @@ -0,0 +1,15 @@ +# Create EC2 Instance - Amazon Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + key_name = "terraform-key" + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "amz-linux-vm" + } +} + + + + diff --git a/BACKUP-2024/16-Terraform-Debug/terraform-manifests-oldv1/c5-outputs.tf b/BACKUP-2024/16-Terraform-Debug/terraform-manifests-oldv1/c5-outputs.tf new file mode 100644 index 00000000..b94beeb7 --- /dev/null +++ b/BACKUP-2024/16-Terraform-Debug/terraform-manifests-oldv1/c5-outputs.tf @@ -0,0 +1,13 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.public_ip +} + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.public_dns +} diff --git a/BACKUP-2024/16-Terraform-Debug/terraform-manifests-oldv1/c6-ami-datasource.tf b/BACKUP-2024/16-Terraform-Debug/terraform-manifests-oldv1/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/16-Terraform-Debug/terraform-manifests-oldv1/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/16-Terraform-Debug/terraform-manifests-oldv1/terraform-trace.log_BKUP b/BACKUP-2024/16-Terraform-Debug/terraform-manifests-oldv1/terraform-trace.log_BKUP new file mode 100644 index 00000000..42eb74cc --- /dev/null +++ b/BACKUP-2024/16-Terraform-Debug/terraform-manifests-oldv1/terraform-trace.log_BKUP @@ -0,0 +1,47 @@ +2021/03/16 13:42:18 [INFO] Terraform version: 0.14.8 +2021/03/16 13:42:18 [INFO] Go runtime version: go1.15.6 +2021/03/16 13:42:18 [INFO] CLI args: []string{"/usr/local/bin/terraform", "init"} +2021/03/16 13:42:18 [DEBUG] Attempting to open CLI config file: /Users/kdaida/.terraformrc +2021/03/16 13:42:18 [DEBUG] File doesn't exist, but doesn't need to. Ignoring. +2021/03/16 13:42:18 Loading CLI configuration from /Users/kdaida/.terraform.d/credentials.tfrc.json +2021/03/16 13:42:18 [DEBUG] ignoring non-existing provider search directory terraform.d/plugins +2021/03/16 13:42:18 [DEBUG] ignoring non-existing provider search directory /Users/kdaida/.terraform.d/plugins +2021/03/16 13:42:18 [DEBUG] ignoring non-existing provider search directory /Users/kdaida/Library/Application Support/io.terraform/plugins +2021/03/16 13:42:18 [DEBUG] ignoring non-existing provider search directory /Library/Application Support/io.terraform/plugins +2021/03/16 13:42:18 [INFO] CLI command args: []string{"init"} +2021/03/16 13:42:18 [TRACE] Meta.Backend: no config given or present on disk, so returning nil config +2021/03/16 13:42:18 [TRACE] Meta.Backend: backend has not previously been initialized in this working directory +2021/03/16 13:42:18 [DEBUG] New state was assigned lineage "c795fb8f-2eb6-e842-427d-de1dc6657f4d" +2021/03/16 13:42:18 [TRACE] Meta.Backend: using default local state only (no backend configuration, and no existing initialized backend) +2021/03/16 13:42:18 [TRACE] Meta.Backend: instantiated backend of type +2021/03/16 13:42:18 [DEBUG] checking for provisioner in "." +2021/03/16 13:42:18 [DEBUG] checking for provisioner in "/usr/local/bin" +2021/03/16 13:42:18 [INFO] Failed to read plugin lock file .terraform/plugins/darwin_amd64/lock.json: open .terraform/plugins/darwin_amd64/lock.json: no such file or directory +2021/03/16 13:42:18 [TRACE] Meta.Backend: backend does not support operations, so wrapping it in a local backend +2021/03/16 13:42:18 [TRACE] backend/local: state manager for workspace "default" will: + - read initial snapshot from terraform.tfstate + - write new snapshots to terraform.tfstate + - create any backup at terraform.tfstate.backup +2021/03/16 13:42:18 [TRACE] statemgr.Filesystem: reading initial snapshot from terraform.tfstate +2021/03/16 13:42:18 [TRACE] statemgr.Filesystem: snapshot file has nil snapshot, but that's okay +2021/03/16 13:42:18 [TRACE] statemgr.Filesystem: read nil snapshot +2021/03/16 13:42:18 [DEBUG] Service discovery for registry.terraform.io at https://registry.terraform.io/.well-known/terraform.json +2021/03/16 13:42:18 [TRACE] HTTP client GET request to https://registry.terraform.io/.well-known/terraform.json +2021/03/16 13:42:18 [DEBUG] GET https://registry.terraform.io/v1/providers/hashicorp/aws/versions +2021/03/16 13:42:18 [TRACE] HTTP client GET request to https://registry.terraform.io/v1/providers/hashicorp/aws/versions +2021/03/16 13:42:18 [TRACE] providercache.fillMetaCache: scanning directory .terraform/providers +2021/03/16 13:42:18 [TRACE] getproviders.SearchLocalDirectory: failed to resolve symlinks for .terraform/providers: lstat .terraform: no such file or directory +2021/03/16 13:42:18 [TRACE] providercache.fillMetaCache: error while scanning directory .terraform/providers: cannot search .terraform/providers: lstat .terraform/providers: no such file or directory +2021/03/16 13:42:18 [DEBUG] GET https://registry.terraform.io/v1/providers/hashicorp/aws/3.32.0/download/darwin/amd64 +2021/03/16 13:42:18 [TRACE] HTTP client GET request to https://registry.terraform.io/v1/providers/hashicorp/aws/3.32.0/download/darwin/amd64 +2021/03/16 13:42:19 [DEBUG] GET https://releases.hashicorp.com/terraform-provider-aws/3.32.0/terraform-provider-aws_3.32.0_SHA256SUMS +2021/03/16 13:42:19 [TRACE] HTTP client GET request to https://releases.hashicorp.com/terraform-provider-aws/3.32.0/terraform-provider-aws_3.32.0_SHA256SUMS +2021/03/16 13:42:19 [DEBUG] GET https://releases.hashicorp.com/terraform-provider-aws/3.32.0/terraform-provider-aws_3.32.0_SHA256SUMS.sig +2021/03/16 13:42:19 [TRACE] HTTP client GET request to https://releases.hashicorp.com/terraform-provider-aws/3.32.0/terraform-provider-aws_3.32.0_SHA256SUMS.sig +2021/03/16 13:42:19 [TRACE] providercache.Dir.InstallPackage: installing registry.terraform.io/hashicorp/aws v3.32.0 from https://releases.hashicorp.com/terraform-provider-aws/3.32.0/terraform-provider-aws_3.32.0_darwin_amd64.zip +2021/03/16 13:42:19 [TRACE] HTTP client GET request to https://releases.hashicorp.com/terraform-provider-aws/3.32.0/terraform-provider-aws_3.32.0_darwin_amd64.zip +2021/03/16 13:42:23 [DEBUG] Provider signed by 51852D87348FFC4C HashiCorp Security +2021/03/16 13:42:24 [TRACE] providercache.fillMetaCache: scanning directory .terraform/providers +2021/03/16 13:42:24 [TRACE] getproviders.SearchLocalDirectory: .terraform/providers is a symlink to .terraform/providers +2021/03/16 13:42:24 [TRACE] getproviders.SearchLocalDirectory: found registry.terraform.io/hashicorp/aws v3.32.0 for darwin_amd64 at .terraform/providers/registry.terraform.io/hashicorp/aws/3.32.0/darwin_amd64 +2021/03/16 13:42:24 [TRACE] providercache.fillMetaCache: including .terraform/providers/registry.terraform.io/hashicorp/aws/3.32.0/darwin_amd64 as a candidate package for registry.terraform.io/hashicorp/aws 3.32.0 diff --git a/BACKUP-2024/16-Terraform-Debug/terraform-manifests/apache-install.sh b/BACKUP-2024/16-Terraform-Debug/terraform-manifests/apache-install.sh new file mode 100644 index 00000000..8362972b --- /dev/null +++ b/BACKUP-2024/16-Terraform-Debug/terraform-manifests/apache-install.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sudo yum update -y +sudo yum install -y httpd +sudo systemctl enable httpd +sudo service httpd start +echo "

Welcome to StackSimplify ! AWS Infra created using Terraform in us-east-1 Region

" | sudo tee /var/www/html/index.html \ No newline at end of file diff --git a/BACKUP-2024/16-Terraform-Debug/terraform-manifests/c1-versions.tf b/BACKUP-2024/16-Terraform-Debug/terraform-manifests/c1-versions.tf new file mode 100644 index 00000000..cffef5ab --- /dev/null +++ b/BACKUP-2024/16-Terraform-Debug/terraform-manifests/c1-versions.tf @@ -0,0 +1,20 @@ +# Terraform Block +terraform { + required_version = ">= 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} + +# Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} +/* +Note-1: AWS Credentials Profile (profile = "default") configured on your local desktop terminal +$HOME/.aws/credentials +*/ diff --git a/BACKUP-2024/16-Terraform-Debug/terraform-manifests/c2-variables.tf b/BACKUP-2024/16-Terraform-Debug/terraform-manifests/c2-variables.tf new file mode 100644 index 00000000..c3596e08 --- /dev/null +++ b/BACKUP-2024/16-Terraform-Debug/terraform-manifests/c2-variables.tf @@ -0,0 +1,13 @@ +# Input Variables +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} + +variable "instance_type" { + description = "EC2 Instance Type - Instance Sizing" + type = string + #default = "t2.micro" + default = "t2.small" +} \ No newline at end of file diff --git a/BACKUP-2024/16-Terraform-Debug/terraform-manifests/c3-security-groups.tf b/BACKUP-2024/16-Terraform-Debug/terraform-manifests/c3-security-groups.tf new file mode 100644 index 00000000..1ca810d6 --- /dev/null +++ b/BACKUP-2024/16-Terraform-Debug/terraform-manifests/c3-security-groups.tf @@ -0,0 +1,49 @@ +# Create Security Group - SSH Traffic +resource "aws_security_group" "vpc-ssh" { + name = "vpc-ssh" + description = "Dev VPC SSH" + ingress { + description = "Allow Port 22" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + egress { + description = "Allow all ip and ports outboun" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Create Security Group - Web Traffic +resource "aws_security_group" "vpc-web" { + name = "vpc-web" + description = "Dev VPC web" + ingress { + description = "Allow Port 80" + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + description = "Allow Port 443" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + description = "Allow all ip and ports outbound" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + +} \ No newline at end of file diff --git a/BACKUP-2024/16-Terraform-Debug/terraform-manifests/c4-ec2-instance.tf b/BACKUP-2024/16-Terraform-Debug/terraform-manifests/c4-ec2-instance.tf new file mode 100644 index 00000000..8839bb42 --- /dev/null +++ b/BACKUP-2024/16-Terraform-Debug/terraform-manifests/c4-ec2-instance.tf @@ -0,0 +1,15 @@ +# Create EC2 Instance - Amazon Linux +resource "aws_instance" "my-ec2-vm" { + ami = data.aws_ami.amzlinux.id + instance_type = var.instance_type + key_name = "terraform-key" + user_data = file("apache-install.sh") + vpc_security_group_ids = [aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id] + tags = { + "Name" = "amz-linux-vm" + } +} + + + + diff --git a/BACKUP-2024/16-Terraform-Debug/terraform-manifests/c5-outputs.tf b/BACKUP-2024/16-Terraform-Debug/terraform-manifests/c5-outputs.tf new file mode 100644 index 00000000..b94beeb7 --- /dev/null +++ b/BACKUP-2024/16-Terraform-Debug/terraform-manifests/c5-outputs.tf @@ -0,0 +1,13 @@ +# Define Output Values + +# Attribute Reference +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.public_ip +} + +# Attribute Reference - Create Public DNS URL +output "ec2_publicdns" { + description = "Public DNS URL of an EC2 Instance" + value = aws_instance.my-ec2-vm.public_dns +} diff --git a/BACKUP-2024/16-Terraform-Debug/terraform-manifests/c6-ami-datasource.tf b/BACKUP-2024/16-Terraform-Debug/terraform-manifests/c6-ami-datasource.tf new file mode 100644 index 00000000..4d0a0102 --- /dev/null +++ b/BACKUP-2024/16-Terraform-Debug/terraform-manifests/c6-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = [ "amazon" ] + filter { + name = "name" + values = [ "amzn2-ami-hvm-*-gp2" ] + } + filter { + name = "root-device-type" + values = [ "ebs" ] + } + filter { + name = "virtualization-type" + values = [ "hvm" ] + } + filter { + name = "architecture" + values = [ "x86_64" ] + } +} \ No newline at end of file diff --git a/BACKUP-2024/16-Terraform-Debug/terraform-manifests/terraform-trace.log_BKUP b/BACKUP-2024/16-Terraform-Debug/terraform-manifests/terraform-trace.log_BKUP new file mode 100644 index 00000000..42eb74cc --- /dev/null +++ b/BACKUP-2024/16-Terraform-Debug/terraform-manifests/terraform-trace.log_BKUP @@ -0,0 +1,47 @@ +2021/03/16 13:42:18 [INFO] Terraform version: 0.14.8 +2021/03/16 13:42:18 [INFO] Go runtime version: go1.15.6 +2021/03/16 13:42:18 [INFO] CLI args: []string{"/usr/local/bin/terraform", "init"} +2021/03/16 13:42:18 [DEBUG] Attempting to open CLI config file: /Users/kdaida/.terraformrc +2021/03/16 13:42:18 [DEBUG] File doesn't exist, but doesn't need to. Ignoring. +2021/03/16 13:42:18 Loading CLI configuration from /Users/kdaida/.terraform.d/credentials.tfrc.json +2021/03/16 13:42:18 [DEBUG] ignoring non-existing provider search directory terraform.d/plugins +2021/03/16 13:42:18 [DEBUG] ignoring non-existing provider search directory /Users/kdaida/.terraform.d/plugins +2021/03/16 13:42:18 [DEBUG] ignoring non-existing provider search directory /Users/kdaida/Library/Application Support/io.terraform/plugins +2021/03/16 13:42:18 [DEBUG] ignoring non-existing provider search directory /Library/Application Support/io.terraform/plugins +2021/03/16 13:42:18 [INFO] CLI command args: []string{"init"} +2021/03/16 13:42:18 [TRACE] Meta.Backend: no config given or present on disk, so returning nil config +2021/03/16 13:42:18 [TRACE] Meta.Backend: backend has not previously been initialized in this working directory +2021/03/16 13:42:18 [DEBUG] New state was assigned lineage "c795fb8f-2eb6-e842-427d-de1dc6657f4d" +2021/03/16 13:42:18 [TRACE] Meta.Backend: using default local state only (no backend configuration, and no existing initialized backend) +2021/03/16 13:42:18 [TRACE] Meta.Backend: instantiated backend of type +2021/03/16 13:42:18 [DEBUG] checking for provisioner in "." +2021/03/16 13:42:18 [DEBUG] checking for provisioner in "/usr/local/bin" +2021/03/16 13:42:18 [INFO] Failed to read plugin lock file .terraform/plugins/darwin_amd64/lock.json: open .terraform/plugins/darwin_amd64/lock.json: no such file or directory +2021/03/16 13:42:18 [TRACE] Meta.Backend: backend does not support operations, so wrapping it in a local backend +2021/03/16 13:42:18 [TRACE] backend/local: state manager for workspace "default" will: + - read initial snapshot from terraform.tfstate + - write new snapshots to terraform.tfstate + - create any backup at terraform.tfstate.backup +2021/03/16 13:42:18 [TRACE] statemgr.Filesystem: reading initial snapshot from terraform.tfstate +2021/03/16 13:42:18 [TRACE] statemgr.Filesystem: snapshot file has nil snapshot, but that's okay +2021/03/16 13:42:18 [TRACE] statemgr.Filesystem: read nil snapshot +2021/03/16 13:42:18 [DEBUG] Service discovery for registry.terraform.io at https://registry.terraform.io/.well-known/terraform.json +2021/03/16 13:42:18 [TRACE] HTTP client GET request to https://registry.terraform.io/.well-known/terraform.json +2021/03/16 13:42:18 [DEBUG] GET https://registry.terraform.io/v1/providers/hashicorp/aws/versions +2021/03/16 13:42:18 [TRACE] HTTP client GET request to https://registry.terraform.io/v1/providers/hashicorp/aws/versions +2021/03/16 13:42:18 [TRACE] providercache.fillMetaCache: scanning directory .terraform/providers +2021/03/16 13:42:18 [TRACE] getproviders.SearchLocalDirectory: failed to resolve symlinks for .terraform/providers: lstat .terraform: no such file or directory +2021/03/16 13:42:18 [TRACE] providercache.fillMetaCache: error while scanning directory .terraform/providers: cannot search .terraform/providers: lstat .terraform/providers: no such file or directory +2021/03/16 13:42:18 [DEBUG] GET https://registry.terraform.io/v1/providers/hashicorp/aws/3.32.0/download/darwin/amd64 +2021/03/16 13:42:18 [TRACE] HTTP client GET request to https://registry.terraform.io/v1/providers/hashicorp/aws/3.32.0/download/darwin/amd64 +2021/03/16 13:42:19 [DEBUG] GET https://releases.hashicorp.com/terraform-provider-aws/3.32.0/terraform-provider-aws_3.32.0_SHA256SUMS +2021/03/16 13:42:19 [TRACE] HTTP client GET request to https://releases.hashicorp.com/terraform-provider-aws/3.32.0/terraform-provider-aws_3.32.0_SHA256SUMS +2021/03/16 13:42:19 [DEBUG] GET https://releases.hashicorp.com/terraform-provider-aws/3.32.0/terraform-provider-aws_3.32.0_SHA256SUMS.sig +2021/03/16 13:42:19 [TRACE] HTTP client GET request to https://releases.hashicorp.com/terraform-provider-aws/3.32.0/terraform-provider-aws_3.32.0_SHA256SUMS.sig +2021/03/16 13:42:19 [TRACE] providercache.Dir.InstallPackage: installing registry.terraform.io/hashicorp/aws v3.32.0 from https://releases.hashicorp.com/terraform-provider-aws/3.32.0/terraform-provider-aws_3.32.0_darwin_amd64.zip +2021/03/16 13:42:19 [TRACE] HTTP client GET request to https://releases.hashicorp.com/terraform-provider-aws/3.32.0/terraform-provider-aws_3.32.0_darwin_amd64.zip +2021/03/16 13:42:23 [DEBUG] Provider signed by 51852D87348FFC4C HashiCorp Security +2021/03/16 13:42:24 [TRACE] providercache.fillMetaCache: scanning directory .terraform/providers +2021/03/16 13:42:24 [TRACE] getproviders.SearchLocalDirectory: .terraform/providers is a symlink to .terraform/providers +2021/03/16 13:42:24 [TRACE] getproviders.SearchLocalDirectory: found registry.terraform.io/hashicorp/aws v3.32.0 for darwin_amd64 at .terraform/providers/registry.terraform.io/hashicorp/aws/3.32.0/darwin_amd64 +2021/03/16 13:42:24 [TRACE] providercache.fillMetaCache: including .terraform/providers/registry.terraform.io/hashicorp/aws/3.32.0/darwin_amd64 as a candidate package for registry.terraform.io/hashicorp/aws 3.32.0 diff --git a/BACKUP-2024/17-Exam-Preparation/README.md b/BACKUP-2024/17-Exam-Preparation/README.md new file mode 100644 index 00000000..653d3901 --- /dev/null +++ b/BACKUP-2024/17-Exam-Preparation/README.md @@ -0,0 +1,35 @@ +# Exam Preparation + +## Step-00: Don't Stop Get Certified +- If you have completed all the sections from 01 to 16, go ahead and get certified. +- You will definitely pass the exam with 70 to 85% score with above knowledge. +- If you expect to score more and more, then you also need to go through below listed Terraform materials once + +## Step-01: Core Topics +1. Understand infrastructure as code (IaC) concepts +2. Understand Terraform's purpose (vs other IaC) +3. Understand Terraform basics +4. Use the Terraform CLI (outside of core workflow) +5. Interact with Terraform modules +6. Navigate Terraform workflow +7. Implement and maintain state +8. Read, generate, and modify configuration +9. Understand Terraform Cloud and Enterprise capabilities + +## Step-02: Questions Break down in real exam +- Total: 57 Questions +- 40 to 45 questions mostly will be straight forward, concept oriented questions which we can answer if we implemented above 50 practicals + - Above all the sections in this course will mostly cover you. +- 12 questions will be absolute practical oriented about asking some basic commands, asking about how to solve this error message etc. + - Practicals above will be hands-on which gives the ability to solve such questions + - Out of these 12, 4 to 5 might be super tricky but don't worry about them. + + +## Step-03: Review Terraform Guides +- [Study Guide](https://learn.hashicorp.com/tutorials/terraform/associate-study) +- [Review Guide](https://learn.hashicorp.com/tutorials/terraform/associate-review) + + +## Step-04: Review Terraform Language Documentation +- [Terraform Language Guide](https://www.terraform.io/docs/language/index.html) +- Go through this on high-level. Quick walk-through will suffice \ No newline at end of file diff --git a/BACKUP-2024/18-Exam-Registration/README.md b/BACKUP-2024/18-Exam-Registration/README.md new file mode 100644 index 00000000..cb7a9f70 --- /dev/null +++ b/BACKUP-2024/18-Exam-Registration/README.md @@ -0,0 +1,53 @@ +# Exam Registration + +## Step-01: Exam Registration +- Exam is conducted on PSI Exam platform +- **Pre-requisite-1:** You should already have a account on `github.com` so you can use it. The email you have used for github, you should have access to that same email id to check emails. Hashicorp via PSI Exams will communicate on that email id. +- **Pre-requisite-2:** Create your account on [youracclaim](https://www.youracclaim.com/) with same email id so when you have completed your exam and certified, your badge will be posted to **youracclaim** so you can share the same in social media platforms like linkedin, and also have a record of your badge online. +- [Register for Exam](https://hashicorp-certifications.zendesk.com/hc/en-us/articles/360049382552) +- Once registered, email confirmation will be sent to you. + +## Step-02: Review Exam Taker Handbook +- [Exam Taker Handbook](https://hashicorp-certifications.zendesk.com/hc/en-us/articles/360048211571) + +## Step-03: System Requirements +- Very very important. +- Do all the things a day before +- [System Requirements](https://hashicorp-certifications.zendesk.com/hc/en-us/articles/360048446631) +- [Click here to test your system's compatibility](https://syscheck.bridge.psiexams.com/) +- If you are on MAC, you need to provide additional permissions when it asks to run system check like +- Connect Webcam or your laptop inbuilt cam +- Connect Microphone (No Head-Phones) +- Connect wired ehternet line to your laptop or dekstop for good internet speed +- As a fail back internet, enable mobile hotspot on your mobile and put that outside your room to avoid distractions +- Install PSI Secure Browser + +## Step-04: Exam Day +- Login 45 mins before to PSI Exam platform +- Exam Launch URL will get enabled 30 mins before scheduled Time +- Complete the checks +### Step-04-01: First Time checks +- System will ask you for these checks +1. Identity Card Verification +2. 360 Degree Room View +3. Hand Sleeves and Ears check + +### Step-04-02: Second Time Checks +- Online Proctor will communicate with you chat and perform these checks +1. Identity Card Verification +2. 360 Degree Room View +3. Hand Sleeves and Ears check + +### Step-04-03: Proctor will Release the Exam for you to Start +1. Don't tense. +2. Be cool and start answering questions +3. If you have any doubt about any question, Click on **Flag Button** so we can come back later +4. Don't Flag many questions later difficult to check all of them. +5. Exam Time: 60 Minutes Questions: 57 +6. I took 35 minutes to complete all the questions due to the fact most of the questions (40 to 45) will be straight forward. +7. Review the questions which you flagged and answer them. +8. Complete the exam +9. Complete the Survey questions +10. You will get the status of your exam (pass / fail) +11. Email will be sent to you by **youracclaim** with your badge information +12. Email will be sent to you by **HashiCorp** about your score report diff --git a/ECS Fargate Udemy Certificate.pdf b/ECS Fargate Udemy Certificate.pdf new file mode 100644 index 00000000..0e45c107 Binary files /dev/null and b/ECS Fargate Udemy Certificate.pdf differ diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 00000000..8a083212 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,129 @@ +pipeline { + options + { + buildDiscarder(logRotator(numToKeepStr: '10')) + } + agent any + environment + { + TERRAFORM_ACTION = "${Terraform_Action}" + SELECT_ENV = "${Select_Env}" + AWS_PROFILE = "default" + AWS_SDK_LOAD_CONFIG=1 + } + stages { + stage("Preparation") { + steps { + script { + sh""" + cd terraform + #terraform init -plugin-dir=/opt/mnt/jenkins/tfplugin -no-color + terraform init -no-color + """ + } + } + } + stage("Execution") { + steps { + script { + if (TERRAFORM_ACTION == "apply") { + if (SELECT_ENV == "dev") { + sh""" + cd terraform + terraform workspace select dev || terraform workspace new dev + terraform apply -auto-approve -no-color + """ + } + else if (SELECT_ENV == "stag"){ + sh""" + cd terraform + terraform workspace select stag || terraform workspace new stag + terraform apply -auto-approve -no-color + """ + } + else if (SELECT_ENV == "prod") + { + sh""" + cd terraform + terraform workspace select prod || terraform workspace new prod + terraform apply -auto-approve -no-color + """ + } + + } + else if (TERRAFORM_ACTION == "destroy") { + if (SELECT_ENV == "dev") { + sh""" + cd terraform + terraform plan -destroy -no-color + """ + timeout(time:1, unit:"HOURS") { + input message:"Are you sure you wish to destroy this infrastructure: ?" + } + sh""" + cd terraform + terraform workspace select dev || terraform workspace new dev + terraform destroy -auto-approve -no-color + """ + } + else if (SELECT_ENV == "stag"){ + sh""" + cd terraform + terraform plan -destroy -no-color + """ + timeout(time:1, unit:"HOURS") { + input message:"Are you sure you wish to destroy this infrastructure: ?" + } + sh""" + cd terraform + terraform workspace select stag || terraform workspace new stag + terraform destroy -auto-approve -no-color + """ + } + else if (SELECT_ENV == "prod") + { + sh""" + cd terraform + terraform plan -destroy -no-color + """ + timeout(time:1, unit:"HOURS") { + input message:"Are you sure you wish to destroy this infrastructure: ?" + } + sh""" + cd terraform + terraform workspace select prod || terraform workspace new prod + terraform destroy -auto-approve -no-color + """ + } + } + else { + if (TERRAFORM_ACTION == "plan") { + if (SELECT_ENV == "dev") { + sh""" + cd terraform + terraform workspace select dev || terraform workspace new dev + terraform plan -no-color + """ + } + else if (SELECT_ENV == "stag"){ + sh""" + cd terraform + terraform workspace select stag || terraform workspace new stag + terraform plan -no-color + """ + } + else if (SELECT_ENV == "prod") + { + sh""" + cd terraform + terraform workspace select prod || terraform workspace new prod + terraform plan -no-color + """ + } + } + } + } + } + } + } +} diff --git a/Jenkinsfile-CDN-Deploy b/Jenkinsfile-CDN-Deploy new file mode 100644 index 00000000..322f6b0a --- /dev/null +++ b/Jenkinsfile-CDN-Deploy @@ -0,0 +1,107 @@ +pipeline { + options + { + buildDiscarder(logRotator(numToKeepStr: '10')) + } + agent any + environment + { + UPDATE_ACTION ="${Update_Action}" + SELECT_ENV = "${Select_Env}" + AWS_SDK_LOAD_CONFIG=1 + registryCredential = 'docker_hub_id' + } + stages { + stage("Execution") { + steps { + script { + if (UPDATE_ACTION == "rebuild_container") { + if (SELECT_ENV == "dev") { + sh""" + cd terraform + pwd + cd /var/lib/jenkins + sudo ./script.sh + pwd + cd /var/lib/jenkins/workspace/inboxable-vega-cloudfront + pwd + sudo aws ssm get-parameters --region us-east-1 --names "/vega/dev/env" --with-decryption --output text --query "Parameters[*].{Value:Value}" > .env + sudo aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 812619949880.dkr.ecr.us-east-1.amazonaws.com + sudo docker build --platform linux/amd64 -t v7-0-0-dev-inboxable-vega . + sudo docker tag v7-0-0-dev-inboxable-vega:latest 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-dev-inboxable-vega:latest + sudo docker push 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-dev-inboxable-vega:latest + sudo mkdir /opt/docker_build + cd /opt/docker_build + sudo docker container create -v /var/www/html/public/build --name v7-0-0-dev-inboxable-build 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-dev-inboxable-vega:latest + sudo docker cp v7-0-0-dev-inboxable-build:/var/www/html/public/build . + sudo aws s3 cp /opt/docker_build s3://v7-0-0-dev-ips-proxy-assets --recursive + sudo rm -rf /opt/docker_build + sudo docker rm -f v7-0-0-dev-inboxable-build + ls + sudo docker rmi 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-dev-inboxable-vega:latest + sudo docker rmi v7-0-0-dev-inboxable-vega:latest + """ + } + else if (SELECT_ENV == "stag"){ + sh""" + cd terraform + pwd + cd /var/lib/jenkins + sudo ./script.sh + pwd + cd /var/lib/jenkins/workspace/inboxable-vega-cloudfront + pwd + sudo aws ssm get-parameters --region us-east-1 --names "/vega/stag/env" --with-decryption --output text --query "Parameters[*].{Value:Value}" > .env + sudo aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 812619949880.dkr.ecr.us-east-1.amazonaws.com + sudo docker build --platform linux/amd64 -t v7-0-0-stag-inboxable-vega . + sudo docker tag v7-0-0-stag-inboxable-vega:latest 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-stag-inboxable-vega:latest + sudo docker push 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-stag-inboxable-vega:latest + sudo mkdir /opt/docker_build + cd /opt/docker_build + sudo docker container create -v /var/www/html/public/build --name v7-0-0-stag-inboxable-build 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-stag-inboxable-vega:latest + sudo docker cp v7-0-0-stag-inboxable-build:/var/www/html/public/build . + sudo aws s3 cp /opt/docker_build s3://v7-0-0-stag-ips-proxy-assets --recursive + sudo rm -rf /opt/docker_build + sudo docker rm -f v7-0-0-stag-inboxable-build + ls + sudo docker rmi 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-stag-inboxable-vega:latest + sudo docker rmi v7-0-0-stag-inboxable-vega:latest + """ + } + else if (SELECT_ENV == "prod"){ + sh""" + cd terraform + pwd + cd /var/lib/jenkins + sudo ./script.sh + pwd + cd /var/lib/jenkins/workspace/inboxable-vega-cloudfront + pwd + sudo aws ssm get-parameters --region us-east-1 --names "/vega/prod/env" --with-decryption --output text --query "Parameters[*].{Value:Value}" > .env + sudo aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 812619949880.dkr.ecr.us-east-1.amazonaws.com + sudo docker build --platform linux/amd64 -t v7-0-0-prod-inboxable-vega . + sudo docker tag v7-0-0-prod-inboxable-vega:latest 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-prod-inboxable-vega:latest + sudo docker push 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-prod-inboxable-vega:latest + sudo mkdir /opt/docker_build + cd /opt/docker_build + sudo docker container create -v /var/www/html/public/build --name v7-0-0-prod-inboxable-build 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-prod-inboxable-vega:latest + sudo docker cp v7-0-0-prod-inboxable-build:/var/www/html/public/build . + sudo aws s3 cp /opt/docker_build s3://v7-0-0-prod-ips-proxy-assets --recursive + sudo rm -rf /opt/docker_build + sudo docker rm -f v7-0-0-prod-inboxable-build + ls + sudo docker rmi 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-prod-inboxable-vega:latest + sudo docker rmi v7-0-0-prod-inboxable-vega:latest + """ + } + } + else { + sh""" + echo "Nothing to do" + """ + } + } + } + } + } +} diff --git a/Jenkinsfile-Deploy b/Jenkinsfile-Deploy new file mode 100644 index 00000000..bcf47797 --- /dev/null +++ b/Jenkinsfile-Deploy @@ -0,0 +1,74 @@ +pipeline { + options + { + buildDiscarder(logRotator(numToKeepStr: '10')) + } + agent any + environment + { + UPDATE_ACTION ="${Update_Action}" + SELECT_ENV = "${Select_Env}" + AWS_SDK_LOAD_CONFIG=1 + registryCredential = 'docker_hub_id' + } + stages { + stage("Execution") { + steps { + script { + if (UPDATE_ACTION == "rebuild_container") { + if (SELECT_ENV == "dev") { + sh""" + pwd + cd /var/lib/jenkins + sudo ./script.sh + pwd + cd /var/lib/jenkins/workspace/inboxable-vega-docker + pwd + sudo aws ssm get-parameters --region us-east-1 --names "/vega/dev/env" --with-decryption --output text --query "Parameters[*].{Value:Value}" > .env + sudo aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 812619949880.dkr.ecr.us-east-1.amazonaws.com + sudo docker build --platform linux/amd64 -t v7-0-0-dev-inboxable-vega . + sudo docker tag v7-0-0-dev-inboxable-vega:latest 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-dev-inboxable-vega:latest + sudo docker push 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-dev-inboxable-vega:latest + """ + } + if (SELECT_ENV == "stag") { + sh""" + pwd + cd /var/lib/jenkins + sudo ./script.sh + pwd + cd /var/lib/jenkins/workspace/inboxable-vega-docker + pwd + sudo aws ssm get-parameters --region us-east-1 --names "/vega/stag/env" --with-decryption --output text --query "Parameters[*].{Value:Value}" > .env + sudo aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 812619949880.dkr.ecr.us-east-1.amazonaws.com + sudo docker build --platform linux/amd64 -t v7-0-0-stag-inboxable-vega . + sudo docker tag v7-0-0-stag-inboxable-vega:latest 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-stag-inboxable-vega:latest + sudo docker push 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-stag-inboxable-vega:latest + """ + } + if (SELECT_ENV == "prod") { + sh""" + pwd + cd /var/lib/jenkins + sudo ./script.sh + pwd + cd /var/lib/jenkins/workspace/inboxable-vega-docker + pwd + sudo aws ssm get-parameters --region us-east-1 --names "/vega/prod/env" --with-decryption --output text --query "Parameters[*].{Value:Value}" > .env + sudo aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 812619949880.dkr.ecr.us-east-1.amazonaws.com + sudo docker build --platform linux/amd64 -t v7-0-0-prod-inboxable-vega . + sudo docker tag v7-0-0-prod-inboxable-vega:latest 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-prod-inboxable-vega:latest + sudo docker push 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-prod-inboxable-vega:latest + """ + } + } + else { + sh""" + echo "Nothing to do" + """ + } + } + } + } + } +} diff --git a/README.md b/README.md index d36cf68a..e115e54c 100644 --- a/README.md +++ b/README.md @@ -1,169 +1,90 @@ -# [Terraform on AWS EKS Kubernetes IaC SRE- 50 Real-World Demos](https://links.stacksimplify.com/terraform-on-aws-eks-kubernetes-iac-sre) - -[![Image](https://stacksimplify.com/course-images/terraform-on-aws-eks-kubernetes.png "Terraform on AWS EKS Kubernetes IaC SRE- 50 Real-World Demos ")](https://links.stacksimplify.com/terraform-on-aws-eks-kubernetes-iac-sre) - +# HashiCorp Certified: Terraform Associate - 50 Practical Demos +[![Image](https://stacksimplify.com/course-images/hashicorp-certified-terraform-associate-highest-rated.png "HashiCorp Certified: Terraform Associate - 50 Practical Demos")](https://links.stacksimplify.com/hashicorp-certified-terraform-associate) ## Course Modules 01. Infrastructure as Code (IaC) -02. Terraform Install Tools, Command and Language Basics -03. Terraform Settings, Providers and Resources -04. Terraform Input Variables, Output Values, Datasources -05. Terraform Loops, MetaArguments, Splat Operator and Functions -06. AWS VPC 3-Tier Architecture Design using Terraform -07. Bastion Host AWS EC2 Instances, Security Groups, TF Provisioners with Terraform -08. AWS EKS Cluster, Public and Private Node Groups using Terraform -09. Kubernetes Fundamentals -10. Kubernetes Deployment and Service using YAML -11. Terraform Kubernetes Provider - Kubernetes Deployment & Service -12. Terraform Remote State Storage - AWS S3 & DynamoDB -13. AWS EKS IAM Roles for Service Accounts (IRSA) using Terraform -14. AWS EKS EBS CSI Driver Install with Self-Managed AddOn Option using Terraform -15. AWS EKS EBS Demo using k8s YAML (UserMgmt WebApp with MySQL DB) -16. AWS EKS EBS Demo using k8s Terraform (UserMgmt WebApp with MySQL DB) -17. AWS EKS EBS Volumes Retain and Resize Settings -18. AWS EBS CSI EKS Add-On -19. Provision AWS IAM Admin User as EKS Admin -20. Provision AWS IAM Basic User as EKS Admin -21. Provision of AWS Users (Admin & Basic) as EKS Admins using Terraform -22. Provision EKS Admins using IAM Roles & IAM Groups -23. Provision EKS Admins using IAM Roles & IAM Groups using Terraform -24. Provision EKS ReadOnly User using IAM Roles, Groups & k8s CR, CRB -25. Provision EKS Developer Users using IAM Roles, Groups & k8s R, RB -26. AWS Load Balancer Controller Install using Terraform Helm Provider -27. Ingress Basics - Automate with Terraform -28. Ingress Context Path based Routing - Automate with Terraform -29. Ingress SSL and SSL Redirect - Automate with Terraform -30. Install ExternalDNS using Terraform Helm Provider -31. Ingress with ExternalDNS - Automate with Terraform -32. Kubernetes LB Service with ExternalDNS - Automate with Terraform -33. Ingress Name based Virtual Host Routing- Automate with Terraform -34. Ingress SSL Discovery Host -35. Ingress SSL Discovery TLS -36. Ingress Groups - Automate with Terraform -37. Ingress Target Type IP - Automate with Terraform -38. Ingress Internal Load Balancer - Automate with Terraform -39. Ingress Cross Namespaces - Automate with Terraform -40. AWS Network Load Balancer with AWS Load Balancer Controller -41. AWS NLB TLS, External DNS with AWS LBC - Automate with Terraform -42. AWS NLB Internal LB with AWS LBC - Automate with Terraform -43. AWS EKS Fargate Profiles using Terraform -44. Run EKS Workloads on AWS Fargate - Automate with Terraform -45. AWS Fargate Only EKS Cluster using Terraform -46. AWS EFS CSI Controller Install using Terraform Helm Provider -47. AWS EFS Static Provisioning - Automate with Terraform -48. AWS EFS Dynamic Provisioning - Automate with Terraform -49. AWS EFS File System Mount for Fargate Workloads -50. Kubernetes Cluster Autoscaler Controller Install -51. Kubernetes Cluster Autoscaler Controller Test -52. Kubernetes Horizontal Pod Autoscaling with Terraform -53. Kubernetes Vertical Pod Autoscaling with Terraform -54. AWS EKS Monitoring and Logging with kubectl -55. AWS EKS Monitoring and Logging with Terraform - - - -## Kubernetes Concepts Covered -01. Kubernetes Deployments -02. Kubernetes Pods -03. Kubernetes Service of Type LoadBalancer -04. Kubernetes Service of Type ClusterIP -05. Kubernetes Ingress Service -06. Kubernetes Ingress Class -07. Kubernetes Storage Class -08. Kubernetes Storage Persistent Volume -09. Kubernetes Storage Persistent Volume Claim -10. Kubernetes RBAC -11. Kubernetes Role -12. Kubernetes Role Binding -13. Kubernetes Cluster Role -14. Kubernetes Cluster Role Binding -15. Kubernetes Cluster Autoscaler -16. Kubernetes Vertical Pod Autoscaler -17. Kubernetes Horizontal Pod Autoscaler -18. Kubernetes DaemonSets -19. Kubernetes Namespaces -20. Kubernetes Service Accounts -21. Kubernetes Groups -22. Kubernetes ConfigMaps -23. Kubernetes Requests and Limits -24. Kubernetes Worker Nodes - - -## Terraform Concepts covered -01. Settings Block -02. Providers Block -03. Multiple Providers usage -04. Dependency Lock File Importance -05. Resources Syntax and Behavior -06. Resources Meta-Argument - depends_on -07. Resources Meta-Argument - count -08. Resources Meta-Argument - for_each -09. Resources Meta-Argument - lifecycle -10. Input Variables - Basics -11. Input Variables - Assign When Prompted -12. Input Variables - Assign with terraform.tfvars -13. Input Variables - Assign with auto tfvars -14. Input Variables - Lists -15. Input Variables - Maps -16. File Function -17. Output Values -18. Local Values -19. Datasources -20. Backends - Remote State Storage -21. File Provisioner -22. remote-exec Provisioner -23. local-exec Provisioner -24. Null Resource -25. Modules from Public Registry -26. element function -27. Remote State Datasource -28. Terraform Datasources - -## Terraform Providers used -1. AWS Terraform Provider -2. Kubernetes Terraform Provider -3. Kubectl Terraform Provider -4. HTTP Terraform Provider -5. Null Terraform Provider -6. Helm Terraform Provider - +02. Install Tools on MacOs, LinuxOS and WindowsOS +03. Command Basics +04. Language Syntax +05. Settings Block +06. Providers Block +07. Multiple Providers usage +08. Dependency Lock File Importance +09. Resources Syntax and Behavior +10. Resources Meta-Argument - depends_on +11. Resources Meta-Argument - count +12. Resources Meta-Argument - for_each +13. Resources Meta-Argument - lifecycle +14. Input Variables - Basics +15. Input Variables - Assign When Prompted +16. Input Variables - Override default with cli var +17. Input Variables - Override with environment variables +18. Input Variables - Assign with terraform.tfvars +19. Input Variables - Assign with tfvars var-file argument +20. Input Variables - Assign with auto tfvars +21. Input Variables - Lists +22. Input Variables - Maps +23. Input Variables - Validation Rules +24. Input Variables - Sensitive Input Variables +25. File Function +26. Output Values +27. Local Values +28. Datasources +29. Backends - Remote State Storage +30. State Commands +31. CLI Workspaces with local backend +32. CLI Workspaces with remote backend +33. File Provisioner +34. local-exec Provisioner +35. remote-exec Provisioner +36. Null Resource +37. Modules from Public Registry +38. Build Local Module +39. Terraform Cloud - VCS-Driven Worflow +40. Terraform Cloud - CLI-Driven Worflow +41. Terraform Cloud - Share modules in private module registry +42. Migrate State to Terraform Cloud +43. Basic Sentinel Policies +44. Cost Control Sentinel Policies +45. CIS Sentinel Policies +46. State Import +47. Graph +48. Functions +49. Dynamic Expressions +50. Dynamic Blocks ## What will students learn in your course? -- You will learn to master Terraform & Kubernetes on AWS EKS in a Real-world perspective with 55 demo's on AWS Cloud with 25+ Kubernetes and 25+ Terraform Concepts -- You will learn Terraform Basics for 4.5 hours -- You will build a AWS VPC 3-Tier network with Terraform -- You will build a AWS EKS Cluster with Public and Private Node Groups with Terraform -- You will learn Kubernetes Fundamentals for 3 hours -- You will implement a simple kubernetes deployment and service using Terraform Kubernetes Provider -- Understand and Implement Terraform Remote State Datasource -- You will learn AWS EKS IRSA (IAM Roles for Service Accounts Concept) in detail and implement it with Terraform -- You will master Kubernetes Storage concepts with AWS EBS CSI Controller by automating the whole install process with Terraform -- You will master AWS EKS IAM Concepts with 7 detailed Demo -- You will learn to implement AWS Load Balancer Controller Install on AWS EKS Cluster with Terraform -- You will learn to implement 14 Ingress Service Demos (AWS Application Load Balancer) using Terraform Kubernetes Provider -- You will learn to implement 3 Kubernetes Service Demos for AWS Load Balancer Controller -- You will master the AWS Fargate Concepts with 3 demos including running all workloads of EKS Cluster on AWS Fargate (Fargate Only EKS Cluster) -- You will install Kubernetes Cluster Autoscaler on AWS EKS Cluster with Terraform and Test it -- You will implement Horizontal and Vertical Pod Autoscaler Concepts with Terraform -- You will learn to implement AWS EKS Monitoring and Logging using kubectl and Terraform - - - -## What are the requirements or prerequisites for taking your course? +- You will learn to master Terraform in a practical perspective with 40+ demo's +- You will learn each and every concept of Terraform (basic to advanced) +- You will learn to write and understand Terraform Resource Behavior in combination with all the Meta-Arguments +- You will learn each and every way (10 types) you can implement the Terraform Input Variables +- You will learn in detail about Terrafrom State, Remote Backends, Terraform Cloud Backends and many Terraform State commands +- You will learn and implement Terraform CLI based workspaces +- You will learn and implement all Terraform Provisioners +- You will learn and implement Terraform Modules with all 3 types (Public Modules, Local Modules and Private Registry modules on Terraform Cloud) +- You will learn and implement two important usecases on Terraform Cloud (VCS-Driven and CLI-Driven Workflows) +- You will learn about sentinel policies and implement 3 types of sentinel policies +- You will learn and implement Terraform Dynamic Expressions, Dynamic Blocks and Terraform Functions +- You will also learn and implement Terraform Datasources concept + +## Are there any course requirements or prerequisites? - You must have an AWS Cloud account to follow with me for hands-on activities. - You don't need to have any basic knowledge of Terraform. Course will get started from very very basics of Terraform and take you to very advanced levels -- You don't need to have any basic knowledge of Kubernetes. Course will get started from very very basics of Kubernetes and take you to very advanced levels -## Who is this course for? -- Infrastructure Architects or Sysadmins or Developers who are planning to master Terraform from Real-World perspective on AWS Cloud in combination with AWS Elastic Kubernetes Service (AWS EKS) -- Any beginner who is interested in learning IaC Infrastructure as Code current trending tool Terraform with AWS Cloud +## Who are your target students? +- Infrastructure Architects or Sysadmins or Developers who are planning to master Terraform +- Any beginner who is interested in learning IaC Infrastructure as Code current trending tool Terraform +- Anyone who want to learn Terraform from a practical perspective + ## Github Repositories used for this course -- [Terraform on AWS EKS Kubernetes IaC SRE- 50 Real-World Demos](https://github.com/stacksimplify/terraform-on-aws-eks) -- [Course Presentation](https://github.com/stacksimplify/terraform-on-aws-eks/tree/main/course-presentation) -- [Kubernetes Fundamentals](https://github.com/stacksimplify/kubernetes-fundamentals) +- [HashiCorp Certified: Terraform Associate](https://github.com/stacksimplify/hashicorp-certified-terraform-associate) +- [Terraform Cloud Demo](https://github.com/stacksimplify/terraform-cloud-demo1) +- [Terraform Private Module Registry](https://github.com/stacksimplify/terraform-aws-s3-website) +- [Terraform Sentinel Policies](https://github.com/stacksimplify/terraform-sentinel-policies) +- [Course PPT Presentation](https://github.com/stacksimplify/hashicorp-certified-terraform-associate/tree/master/presentation) - **Important Note:** Please go to these repositories and FORK these repositories and make use of them during the course. @@ -174,14 +95,11 @@ - 30 Day "No Questions Asked" Money Back Guarantee! ## My Other AWS Courses -- [Udemy Enroll](https://www.stacksimplify.com/azure-aks/courses/stacksimplify-best-selling-courses-on-udemy/) +- [Udemy Enroll](https://github.com/stacksimplify/udemy-enroll) ## Stack Simplify Udemy Profile - [Udemy Profile](https://www.udemy.com/user/kalyan-reddy-9/) -# HashiCorp Certified: Terraform Associate - 50 Practical Demos -[![Image](https://stacksimplify.com/course-images/hashicorp-certified-terraform-associate-highest-rated.png "HashiCorp Certified: Terraform Associate - 50 Practical Demos")](https://links.stacksimplify.com/hashicorp-certified-terraform-associate) - # AWS EKS - Elastic Kubernetes Service - Masterclass [![Image](https://stacksimplify.com/course-images/AWS-EKS-Kubernetes-Masterclass-DevOps-Microservices-course.png "AWS EKS Kubernetes - Masterclass")](https://www.udemy.com/course/aws-eks-kubernetes-masterclass-devops-microservices/?referralCode=257C9AD5B5AF8D12D1E1) @@ -189,17 +107,8 @@ # Azure Kubernetes Service with Azure DevOps and Terraform [![Image](https://stacksimplify.com/course-images/azure-kubernetes-service-with-azure-devops-and-terraform.png "Azure Kubernetes Service with Azure DevOps and Terraform")](https://www.udemy.com/course/azure-kubernetes-service-with-azure-devops-and-terraform/?referralCode=2499BF7F5FAAA506ED42) -# Terraform on AWS with SRE & IaC DevOps | Real-World 20 Demos -[![Image](https://stacksimplify.com/course-images/terraform-on-aws-best-seller.png "Terraform on AWS with SRE & IaC DevOps | Real-World 20 Demos")](https://links.stacksimplify.com/terraform-on-aws-with-sre-and-iacdevops) - # Azure - HashiCorp Certified: Terraform Associate - 70 Demos -[![Image](https://stacksimplify.com/course-images/azure-hashicorp-certified-terraform-associate-highest-rated.png "Azure - HashiCorp Certified: Terraform Associate - 70 Demos")](https://links.stacksimplify.com/azure-hashicorp-certified-terraform-associate) - -# Terraform on Azure with IaC DevOps and SRE | Real-World 25 Demos - -[![Image](https://stacksimplify.com/course-images/terraform-on-azure-with-iac-azure-devops-sre-1.png "Terraform on Azure with IaC DevOps and SRE | Real-World 25 Demos")](https://links.stacksimplify.com/terraform-on-azure-with-iac-devops-sre) - - +[![Image](https://stacksimplify.com/course-images/azure-hashicorp-certified-terraform-associate-70demos.png "Azure - HashiCorp Certified: Terraform Associate - 70 Demos")](https://links.stacksimplify.com/azure-hashicorp-certified-terraform-associate) ## Additional References @@ -209,9 +118,3 @@ - [Exam Review Guide](https://learn.hashicorp.com/tutorials/terraform/associate-review?in=terraform/certification) - [Sample Questions](https://learn.hashicorp.com/tutorials/terraform/associate-questions?in=terraform/certification) - - - - - - diff --git a/admin.conf b/admin.conf new file mode 100755 index 00000000..b1939484 --- /dev/null +++ b/admin.conf @@ -0,0 +1,19 @@ +apiVersion: v1 +clusters: +- cluster: + certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMvakNDQWVhZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJME1ESXdPREEzTlRBd05Wb1hEVE0wTURJd05UQTNOVEF3TlZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTVcyCkV6Ym8ycnJPUThTTG9zRTl2Nmk3M2hqQkFHVzBuMHpydFpoRFZuOUJOdDN1Yzl3TWEvUUw5VElEMWVFb1pVSDMKMmNmOTAxdkNDZVcrOE84R3k0dnhVcWNnNjRSOGEzVGZ2dFJpSWZJNHpnK2ZOeVdCZlZmTTVTU3pmMVFqelpobwpWb3gydVFObXZ6VXFzZnZxRnEzZVpQTWo0V3JLZWRPdGo1d3BvZ0FCcWVmcUt3ZjNhTmk2M25QKytxTDg5UTdUCmpkenJTZ1hMMmk0ZnJyTnA0VGRTeU5FWHRrelY4bVhwb2VIV1FDMWF1SlRnbGFyMkZOcklRWWYyMnFCY2p0OGoKZUtBYjdtVkpQMmdBY2ZUM3g0bmo5NzBFZGZQQ1hja3NkY0ZDeFArT0VjSnBRUmJUYkZDd3FXZE5tMndFUXpPMApvNXMvTkxXSVF0RGNnR2RjM0Y4Q0F3RUFBYU5aTUZjd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZPV0dEY2hhVzh4OXJxN2lPR3ZUN1hJYTYvd2xNQlVHQTFVZEVRUU8KTUF5Q0NtdDFZbVZ5Ym1WMFpYTXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBR1hXRnZQelg0MU1jZVJUMEF4dQptdG9nU1kyZ2s1NnN4TThqaCtLM3VoaU1VaHZVVTE4SVhtcnlwczNWOVNaY253RzlsaXVwUXNoV2o4NTlpazFWCjRuVFhqWVZzTGVYdkdWZzJvL1JiMzZkVHdmMzUrcFYzL0ZONmRFaXY0cVRGbUV6ZDJjN0g2d09saHdrTG9YNzMKZkR2V1FKcXcwVFozKzFoTzRzMS9vd2tWMVU4enVEUlRKbzhTR3dVOTIrR3l2am1aOUVPbk5VVVRxMGhxTzR2cApJeTVGaERtOUJTdVE0RXpMbnRCb1JvUDJ0dytGdGpFbjdxYUZYVDRMQjNlNk83VVpmOGdNRFI2ZUJUK0dmdGYwCnFzbThUV05QemVoOU0vbm1oT2w2ZWttdk9xVGtHREx1SXQ4N0dDeXcrbDcrbDFUWWl1NXF3VG9jaDVzbVVPSk4KZC9VPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== + server: https://172.31.83.179:6443 + name: kubernetes +contexts: +- context: + cluster: kubernetes + user: kubernetes-admin + name: kubernetes-admin@kubernetes +current-context: kubernetes-admin@kubernetes +kind: Config +preferences: {} +users: +- name: kubernetes-admin + user: + client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURJVENDQWdtZ0F3SUJBZ0lJTWZPRExNL0pZU3N3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TkRBeU1EZ3dOelV3TURWYUZ3MHlOVEF5TURjd09EUTVNemhhTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXpFUktQTDlubW9aa3JNL3AKS1BOdjFFcnFuVjk3TE5SREo2YS9FeWg4K2V4UXB0RG1xR2J1UzZQUGIzMjQyeWZLSDRrYWhub2VPVGJjcUNOcQpVSVh0ZGNWVFE4T0x5cUU1TFZJNmd5aVRnWm5waFdKTUM5eWx1emhPZGVHa0d0L2ovZ3A5NGN1d2JZbS84Zm1oCjJqK2g1aDRZeWF2UzB1WmhOcCtUNDZmbitlQ0haZzJpc2hueVFhU0hWQWM2emwrMHd5WFkyTE9CYTdCdzB2Z1EKOVFxMmJVbXROY2h3d0VMbkk2NXlLZGNITmhSTjBndTNzNm0yODFnRFpINDVMMHc5cFpaWlYza0xKWVBPV1NCYQoydUQydnBiSHAyL3YxZ1A1czhQeHVWL1NoL0NCWTJMZWNYSzFIbWRMaldpb3JJNldTZW1YSkVrWEtOOE8veDZFClYxQXNWUUlEQVFBQm8xWXdWREFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0RBWURWUjBUQVFIL0JBSXdBREFmQmdOVkhTTUVHREFXZ0JUbGhnM0lXbHZNZmE2dTRqaHIwKzF5R3V2OApKVEFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBZUcwT28xeG9WVXBDYWo2SFNwNkQ1WThJYVhBcTh2SE9vTmpBCkRabXRvd1AxRmN5SDVObnhVNnVza1pMSVRVRTkvb0d3TnFNUjRaK2VyMXJYa3pNck0yQ040ampNWkNKVVJpemwKK0c5MVZWUkk1a1ZhTDhNZEhJRWh6S0dqVnZsWG1rWWxnZ3p3Nm54VzRnbmwxajBFUEtsbDhLWnhRWkUwMGN0dQpiVmpHZldrM2lmenpYOTdDUWJKVU1TOFFreS9ubzR2bHRjTG1RVHErc2s1VHFKZU5nbmorRitlazlqdEVSb0JJClVJMnZyajVOeXBKUm9XeVYxMy9sNmlVR29rVlBEQWttdlZjWlNTTlp0VWhnM1lPbStrK3dzS3I1SlpSaXBnMTcKSjFoejNLMTBrNkVNNTBZUXNFK1FldGdlRmprS29hNVNUNWE1U0lnRDU0d25tbjBoU3c9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== + client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBekVSS1BMOW5tb1prck0vcEtQTnYxRXJxblY5N0xOUkRKNmEvRXloOCtleFFwdERtCnFHYnVTNlBQYjMyNDJ5ZktINGthaG5vZU9UYmNxQ05xVUlYdGRjVlRROE9MeXFFNUxWSTZneWlUZ1pucGhXSk0KQzl5bHV6aE9kZUdrR3Qvai9ncDk0Y3V3YlltLzhmbWgyaitoNWg0WXlhdlMwdVpoTnArVDQ2Zm4rZUNIWmcyaQpzaG55UWFTSFZBYzZ6bCswd3lYWTJMT0JhN0J3MHZnUTlRcTJiVW10TmNod3dFTG5JNjV5S2RjSE5oUk4wZ3UzCnM2bTI4MWdEWkg0NUwwdzlwWlpaVjNrTEpZUE9XU0JhMnVEMnZwYkhwMi92MWdQNXM4UHh1Vi9TaC9DQlkyTGUKY1hLMUhtZExqV2lvckk2V1NlbVhKRWtYS044Ty94NkVWMUFzVlFJREFRQUJBb0lCQURUT0dwcmxxRFRNTlU1dgpXUWtiRlhlOS9qUzhzQzBBbW5PdnFZbWNWK0tMOHJXTkgzTzlXREQ1b2ZCaWdkMDF4Z3lzOXN4NDJVTlZLV25WCjdlL3ZEMW40cnZPL28yMjRpLzFwV25MNWxGaFduNFc1eVlydmVYQ1N0OFhGbFJUVmVDeitMVmludlc0enhBa2IKelhtTUphQkZlNGIzQWtNL0J6YUZ2a2VGNm5RdjN0R2kyUmo3L1dWYThDZmJ6UmhmOG9zRDNROHNjRzVBZDU4RgorV2hmb292azVNcmFxdmp1NG8zdE03Qkc0YWRTb2VZQ0hkeTNOVXJuR3hGR0FGUnB2NkFVLzlpdDB4RjBFb2U3Clc4VUxPL1lvaWZuVTVsYnNRck5nNkF2UEZncmVKaVlkOGZJdFM5VFVmc2ZlalRmUEtRUS9sRUdoYlN1bUpvVmgKK0NPZmUwRUNnWUVBNFE5SjJGRXh4dlI4TVN1dlFlZ3ZCajVmVW9XNldreXNBa04rc05VT1JremZNK09XRVphRQpsb1RiYmpBZCtYbnZ3clMrTkh2WDVMa04vc3ppWnNpZ3BzcmthNHd3aUQxeW1NRkc0cWxxMWRZQU9YUjIrYmpmCkV5Wk02MWZaem9VL0RId0JxYS9nZDd2RzlZdVYyb2x4R2I0UkcvVUEyZytLQW1JckJ6U3FsZTBDZ1lFQTZGazMKdklvN2d5SC9UZDExRDNpdlF6aHVoVStvRTVhT21tTmpYa2EyblRrZFh0SkFFSGxvVUh5OUsvY2xQcmc5YlViaQo1VTFTRS9UR2YyZFVlZ2VCQWZXTlJhNU9kL28rTFpadVNMWFg2Ri9zRzc5ZGFaN0lPQisxaDdjSDk1Y3FOQk9ICjR6KzVZQ01ncUw3OE9MQ3AyWFFzZkx6bXc3OFN0azlHd1JQbm93a0NnWUVBMlRMNEFWdmF2amVVNDU5Vk5EWHYKckFibDE2NVhlbTRrVXNyd3FaZjBmc1FSWlBKdkVlcEJhMElzd3RxTkV3Y3E3SzJpSXVTaUpvcXhod1lVT1QzRwpUVEhoNENrYmJXQmdDQ3YvVFNCVGlxdE03Q1lKN0ZjT2NseTBQeXc1ZDZZQWd2dnFYdWp0cUtBQUUxank5a1ZPCmNabU15WDVacEJqN0IvSFZ0TTZQRXNFQ2dZQmtub1pabXM5TTZZTWpXRDBpZHhRSEcwQVpjVGFMVFE3eVl3b2MKUUtsQ2l3SmlGdER4a1hJUU1RVEhMbDh0dXlHMjJoVFdVbGF5RjdXQ1pPQWJmSFpzdjhidkh4NFNMUWVTUEd3RQpCdU82V1JmcHFFU3V3YmxaUExvalRLc2htSkFKUDFBQXBJOEZ5QkNUb3ltYzd6eU8xQldUNjBaUURNWHd0NElmCmlSd3Q2UUtCZ1FDbFgwVjVTYUF6cW5KU1FCY0kzZDJxcm54MmVnY0FWdlJseVdUNVJ3cFM5eUZOcE45NCtGVDYKYzdiam9WS3NRTDh1K0o1TngzWVVFVnVkWHNaZjZoaDVhdmtTUDRpT0txQjJ3SVlIM2ZrNDNUNFFjOXpIK0dUVAo1QSt0SXdBUTZLQUN5WkNGSC9tYW9jN3A4WUQwaElkZkNBajU5Y1I2TzFPMFZNK2tQdXQ1ZGc9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo= diff --git a/ashish.sh b/ashish.sh new file mode 100755 index 00000000..d1f47d89 --- /dev/null +++ b/ashish.sh @@ -0,0 +1,21 @@ +#!/bin/bash +echo "Hello" +echo "$0" + +if [ $# -eq 0 ]; +then + echo "$0: Missing arguments" + exit 1 +elif [ $# -gt 2 ]; +then + echo "$0: Too many arguments: $@" + exit 1 +else + echo "We got some argument(s)" + echo "===========================" + echo "Number of arguments.: $#" + echo "List of arguments...: $@" + echo "Arg #1..............: $1" + echo "Arg #2..............: $2" + echo "===========================" +fi diff --git a/ashish.txt b/ashish.txt new file mode 100644 index 00000000..6ec6c9ec --- /dev/null +++ b/ashish.txt @@ -0,0 +1 @@ +ashish diff --git a/blackbox (1).txt b/blackbox (1).txt new file mode 100755 index 00000000..95b86adc --- /dev/null +++ b/blackbox (1).txt @@ -0,0 +1,56 @@ +modules: + http_2xx: + prober: http + + http_ipv4: + prober: http + http: + preferred_ip_protocol: ip4 + + http_find_prom: + prober: http + http: + preferred_ip_protocol: ip4 + fail_if_body_not_matches_regexp: + - "chocolate" + + http_post_2xx: + prober: http + http: + method: POST + tcp_connect: + prober: tcp + pop3s_banner: + prober: tcp + tcp: + query_response: + - expect: "^+OK" + tls: true + tls_config: + insecure_skip_verify: false + ssh_banner: + prober: tcp + tcp: + query_response: + - expect: "^SSH-2.0-" + irc_banner: + prober: tcp + tcp: + query_response: + - send: "NICK prober" + - send: "USER prober prober prober :prober" + - expect: "PING :([^ ]+)" + send: "PONG ${1}" + - expect: "^:[^ ]+ 001" + icmp: + prober: icmp + icmp: + preferred_ip_protocol: ip4 + + + dns_example: + prober: dns + dns: + transport_protocol: "tcp" + preferred_ip_protocol: ip4 + query_name: "www.google.com" \ No newline at end of file diff --git a/blackbox.txt b/blackbox.txt new file mode 100755 index 00000000..d21f6fd7 --- /dev/null +++ b/blackbox.txt @@ -0,0 +1,46 @@ +modules: + http_2xx: + prober: http + + http_ipv4: + prober: http + http: + preferred_ip_protocol: ip4 + + http_find_prom: + prober: http + http: + preferred_ip_protocol: ip4 + fail_if_body_not_matches_regexp: + - "chocolate" + + http_post_2xx: + prober: http + http: + method: POST + tcp_connect: + prober: tcp + pop3s_banner: + prober: tcp + tcp: + query_response: + - expect: "^+OK" + tls: true + tls_config: + insecure_skip_verify: false + ssh_banner: + prober: tcp + tcp: + query_response: + - expect: "^SSH-2.0-" + irc_banner: + prober: tcp + tcp: + query_response: + - send: "NICK prober" + - send: "USER prober prober prober :prober" + - expect: "PING :([^ ]+)" + send: "PONG ${1}" + - expect: "^:[^ ]+ 001" + icmp: + prober: icmp \ No newline at end of file diff --git a/cloudformation/block.tf b/cloudformation/block.tf new file mode 100644 index 00000000..e69de29b diff --git a/cloudformation/cloudwatch agent b/cloudformation/cloudwatch agent new file mode 100644 index 00000000..42e8ec45 --- /dev/null +++ b/cloudformation/cloudwatch agent @@ -0,0 +1,27 @@ +wget https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb +sudo dpkg -i -E ./amazon-cloudwatch-agent.deb +cd /opt/aws/amazon-cloudwatch-agent/bin/ +sudo vi config.json + +{ + "agent": { + "run_as_user": "root" + }, + "logs": { + "logs_collected": { + "files": { + "collect_list": [ + { + "file_path": "/mnt/log/nginx/content_system-api-error.log", + "log_group_name": "/aws/api-error", + "log_stream_name": "{instance_id}" + } + ] + } + } + } + } + +sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json -s +cat /mnt/log/nginx/content_system-api-error.log +curl http://169.254.169.254/latest/meta-data/instance-id \ No newline at end of file diff --git a/cloudformation/cloudwatch.yaml b/cloudformation/cloudwatch.yaml new file mode 100644 index 00000000..e6a15821 --- /dev/null +++ b/cloudformation/cloudwatch.yaml @@ -0,0 +1,25 @@ +{ + "agent": { + "run_as_user": "root" + }, + "logs": { + "logs_collected": { + "files": { + "collect_list": [ + { + "file_path": "/mnt/log/nginx/content_system-api-error.log", + "log_group_name": "/aws/api-error", + "log_stream_name": "api-p01-{instance_id}-timeout-error" + }, + { + "file_path": "/mnt/log/nginx/content_system-json-access.log", + "log_group_name": "/aws/api-error", + "log_stream_name": "api-p01-{instance_id}-api-changes" + } + ] + } + } + } + } + + \ No newline at end of file diff --git a/cloudformation/deploy.yaml b/cloudformation/deploy.yaml new file mode 100644 index 00000000..83c8630a --- /dev/null +++ b/cloudformation/deploy.yaml @@ -0,0 +1,110 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: mypv +spec: + capacity: + storage: + volumeMode: Filesystem + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Recycle + storageClassName: slow + mountOptions: + - hard + - nfsvers=4.1 + nfs: + path: /tmp + server: 172.17.0.2 + + + +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: MYAPP + namespace: default + labels: + app: MYAPP +spec: + storageClassName: rook-ceph-block + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 2Gi +--- +# https://kubernetes.io/docs/concepts/workloads/controllers/deployment/ +apiVersion: apps/v1 +kind: Deploymen---t +metadata: + name: myjob + namespace: default + labels:--- + app: myjob +spec: + selector: + matchLabels: + app: myjob + replicas: 1 + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailabl---e: 25% + type: RollingUpdate + template: + metadata: + labels: + app: myjob + spec: + # initContaine---rs: + # Init containers are exactly like regular containers, except: + # - Init containers always run to completion. + # - Each init container must complete successfully before the next one starts. + containers: + - name: myjob + image: myjob:latest + imagePullPolicy: IfNotPresent + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 100m + memory: 100Mi + livenessProbe: + tcpSocket: + port: 80 + initialDelaySeconds: 5 + timeoutSeconds: 5 + successThreshold: 1 + failureThreshold: 3 + periodSeconds: 10 + readinessProbe: + httpGet: + path: /_status/healthz + port: 80 + initialDelaySeconds: 5 + timeoutSeconds: 2 + successThreshold: 1 + failureThreshold: 3 + periodSeconds: ---10 + env: + - name: DB_HOST + valueFrom: + configMapK---eyRef: + name: myjob + key: DB_HOST + ports: + - containerPort: 80 + name: myjob + volumeMounts: + - name: localtime + mountPath: /etc/localtime + volumes: + - name: localtime + hostPath: + path: /usr/share/zoneinfo/Asia/Tehran + restartPolicy: Always +--- diff --git a/cloudformation/ecs.yaml b/cloudformation/ecs.yaml new file mode 100644 index 00000000..3576315a --- /dev/null +++ b/cloudformation/ecs.yaml @@ -0,0 +1,197 @@ +AWSTemplateFormatVersion: '2010-09-09' +Description: ECS Cluster CloudFormation Template + +Parameters: + CertificateArn: + Type: String + Default: 'arn:aws:acm:us-east-1:567344542386:certificate/0c0b7e07-90f1-46e3-b0fc-59d05533a580' + +Resources: + InstanceSecurityGroup: + Type: AWS::EC2::SecurityGroup + Properties: + GroupDescription: Allow http to client host + VpcId: vpc-0d0ca7cf6976f5aa0 + SecurityGroupIngress: + - IpProtocol: tcp + FromPort: 80 + ToPort: 80 + CidrIp: 0.0.0.0/0 + - IpProtocol: tcp + FromPort: 443 + ToPort: 443 + CidrIp: 0.0.0.0/0 + SecurityGroupEgress: + - IpProtocol: tcp + FromPort: 0 + ToPort: 65535 + CidrIp: 0.0.0.0/0 + Tags: + - Key: Name + Value: Test-SG + + MyLoadBalancer: + Type: AWS::ElasticLoadBalancingV2::LoadBalancer + Properties: + Name: MyLoadBalancer + Subnets: + - subnet-0dc7b92449c5d29b8 # Replace with your subnet ID + - subnet-0ad1a97e3cab3d3c5 # Replace with your subnet ID + SecurityGroups: + - !Ref InstanceSecurityGroup # Replace with your security group ID + Scheme: internet-facing + LoadBalancerAttributes: + - Key: idle_timeout.timeout_seconds + Value: '60' + Tags: + - Key: Name + Value: TestLoadBalancer + + TargetGroup: + Type: AWS::ElasticLoadBalancingV2::TargetGroup + Properties: + HealthCheckIntervalSeconds: 10 + # will look for a 200 status code by default unless specified otherwise + HealthCheckPath: / + HealthCheckTimeoutSeconds: 5 + UnhealthyThresholdCount: 2 + HealthyThresholdCount: 2 + Name: TestTG + Port: 80 + Protocol: HTTP + TargetType: ip + VpcId: vpc-0d0ca7cf6976f5aa0 + + HTTPListener: + Type: AWS::ElasticLoadBalancingV2::Listener + Properties: + DefaultActions: + - Type: redirect + RedirectConfig: + Protocol: HTTPS + Port: '443' + StatusCode: HTTP_301 + LoadBalancerArn: !Ref MyLoadBalancer + Port: 80 + Protocol: HTTP + + HTTPSListener: + Type: AWS::ElasticLoadBalancingV2::Listener + Properties: + DefaultActions: + - TargetGroupArn: !Ref TargetGroup + Type: forward + LoadBalancerArn: !Ref MyLoadBalancer + Port: 443 + Protocol: HTTPS + Certificates: + - CertificateArn: !Ref CertificateArn + + ECSCluster: + Type: AWS::ECS::Cluster + Properties: + CapacityProviders: + - FARGATE_SPOT + - FARGATE + ClusterName: MyCluster + ClusterSettings: + - Name: containerInsights + Value: enabled + Tags: + - Key: environment + Value: production + + ExecutionRole: + Type: AWS::IAM::Role + Properties: + AssumeRolePolicyDocument: + Version: '2012-10-17' + Statement: + - Effect: Allow + Principal: + Service: ecs-tasks.amazonaws.com + Action: sts:AssumeRole + Policies: + - PolicyName: ECSExecutionPolicy + PolicyDocument: + Version: '2012-10-17' + Statement: + - Effect: Allow + Action: + - logs:CreateLogStream + - logs:PutLogEvents + - logs:CreateLogGroup + Resource: '*' + + TaskRole: + Type: AWS::IAM::Role + Properties: + RoleName: ecs-role + AssumeRolePolicyDocument: + Statement: + - Effect: Allow + Principal: + Service: ecs-tasks.amazonaws.com + Action: 'sts:AssumeRole' + + LogGroup: + Type: AWS::Logs::LogGroup + Properties: + LogGroupName: /ecs/fargate-task-definition + + TaskDefinition: + Type: AWS::ECS::TaskDefinition + DependsOn: LogGroup + Properties: + Family: my-fargate-task + NetworkMode: awsvpc + RequiresCompatibilities: + - FARGATE + Cpu: 256 + Memory: 0.5GB + ExecutionRoleArn: !Ref ExecutionRole + TaskRoleArn: !Ref TaskRole + ContainerDefinitions: + - Name: my-container + Image: public.ecr.aws/z6g3n4u4/nginx:latest + PortMappings: + - ContainerPort: 80 + LogConfiguration: + LogDriver: awslogs + Options: + awslogs-region: us-east-1 + awslogs-group: !Ref LogGroup + awslogs-stream-prefix: ecs + + ECSService: + Type: AWS::ECS::Service + DependsOn: + - HTTPListener + - HTTPSListener + Properties: + TaskDefinition: !Ref TaskDefinition + DesiredCount: 1 + LaunchType: FARGATE + NetworkConfiguration: + AwsvpcConfiguration: + AssignPublicIp: ENABLED + SecurityGroups: + - !Ref InstanceSecurityGroup # Replace with your security group ID + Subnets: + - subnet-0dc7b92449c5d29b8 # Replace with your subnet ID + - subnet-0ad1a97e3cab3d3c5 # Replace with your subnet ID + LoadBalancers: + - TargetGroupArn: !Ref TargetGroup + ContainerPort: 80 + ContainerName: my-container + Cluster: !Ref ECSCluster + + DNSRecord: + Type: AWS::Route53::RecordSet + Properties: + HostedZoneName: vardhmangarmants.store + Name: nginx.vardhmangarmants.store + Type: A + AliasTarget: + DNSName: !GetAtt MyLoadBalancer.DNSName + HostedZoneId: !GetAtt MyLoadBalancer.CanonicalHostedZoneID diff --git a/cloudformation/eks.tf b/cloudformation/eks.tf new file mode 100644 index 00000000..e69de29b diff --git a/cloudformation/eks.yaml b/cloudformation/eks.yaml new file mode 100644 index 00000000..5346fed3 --- /dev/null +++ b/cloudformation/eks.yaml @@ -0,0 +1,70 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: MYAPP + namespace: default + labels: + app: MYAPP +spec: + selector: + matchLabels: + app: MYAPP + replicas: 1 + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + labels: + app: MYAPP + spec: + # initContainers: + # Init containers are exactly like regular containers, except: + # - Init containers always run to completion. + # - Each init container must complete successfully before the next one starts. + containers: + - name: MYAPP + image: MYAPP:latest + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 100m + memory: 100Mi + livenessProbe: + tcpSocket: + port: 80 + initialDelaySeconds: 5 + timeoutSeconds: 5 + successThreshold: 1 + failureThreshold: 3 + periodSeconds: 10 + readinessProbe: + httpGet: + path: /_status/healthz + port: 80 + initialDelaySeconds: 5 + timeoutSeconds: 2 + successThreshold: 1 + failureThreshold: 3 + periodSeconds: 10 + env: + - name: DB_HOST + valueFrom: + configMapKeyRef: + name: MYAPP + key: DB_HOST + ports: + - containerPort: 80 + name: MYAPP + volumeMounts: + - name: localtime + mountPath: /etc/localtime + volumes: + - name: localtime + hostPath: + path: /usr/share/zoneinfo/Asia/Shanghai + restartPolicy: Always diff --git a/ddc-material-master/01.Introduction/AtlassianDevOpsTrendsSurvey2020.pdf b/ddc-material-master/01.Introduction/AtlassianDevOpsTrendsSurvey2020.pdf new file mode 100644 index 00000000..3ffc9fc9 Binary files /dev/null and b/ddc-material-master/01.Introduction/AtlassianDevOpsTrendsSurvey2020.pdf differ diff --git a/ddc-material-master/01.Introduction/DecoDevOpsUdemyIntro.pdf b/ddc-material-master/01.Introduction/DecoDevOpsUdemyIntro.pdf new file mode 100644 index 00000000..44748eff Binary files /dev/null and b/ddc-material-master/01.Introduction/DecoDevOpsUdemyIntro.pdf differ diff --git a/ddc-material-master/02.Prerequisites/ChocolateyLinks.txt b/ddc-material-master/02.Prerequisites/ChocolateyLinks.txt new file mode 100644 index 00000000..83f17437 --- /dev/null +++ b/ddc-material-master/02.Prerequisites/ChocolateyLinks.txt @@ -0,0 +1,2 @@ +https://chocolatey.org/install +https://community.chocolatey.org/packages diff --git a/ddc-material-master/02.Prerequisites/GithubResourceLink.txt b/ddc-material-master/02.Prerequisites/GithubResourceLink.txt new file mode 100644 index 00000000..15d677a9 --- /dev/null +++ b/ddc-material-master/02.Prerequisites/GithubResourceLink.txt @@ -0,0 +1 @@ +https://github.com/devopshydclub/vprofile-project.git diff --git a/ddc-material-master/02.Prerequisites/HomeBrewLinks.txt b/ddc-material-master/02.Prerequisites/HomeBrewLinks.txt new file mode 100644 index 00000000..018b49e4 --- /dev/null +++ b/ddc-material-master/02.Prerequisites/HomeBrewLinks.txt @@ -0,0 +1 @@ +https://brew.sh diff --git a/ddc-material-master/02.Prerequisites/Prereqs_doc.pdf b/ddc-material-master/02.Prerequisites/Prereqs_doc.pdf new file mode 100644 index 00000000..c019d2dc Binary files /dev/null and b/ddc-material-master/02.Prerequisites/Prereqs_doc.pdf differ diff --git a/ddc-material-master/02.Prerequisites/SignUpsLinks.txt b/ddc-material-master/02.Prerequisites/SignUpsLinks.txt new file mode 100644 index 00000000..deec80ba --- /dev/null +++ b/ddc-material-master/02.Prerequisites/SignUpsLinks.txt @@ -0,0 +1,5 @@ +https://github.com +https://www.godaddy.com +https://hub.docker.com +https://www.sonarsource.com/products/sonarcloud/ +https://aws.amazon.com/free diff --git a/ddc-material-master/02.Prerequisites/UbuntuPrereqs.pdf b/ddc-material-master/02.Prerequisites/UbuntuPrereqs.pdf new file mode 100644 index 00000000..628d2b62 Binary files /dev/null and b/ddc-material-master/02.Prerequisites/UbuntuPrereqs.pdf differ diff --git a/ddc-material-master/03.VmSetup/VMPrerequisite.pdf b/ddc-material-master/03.VmSetup/VMPrerequisite.pdf new file mode 100644 index 00000000..efd8617e Binary files /dev/null and b/ddc-material-master/03.VmSetup/VMPrerequisite.pdf differ diff --git a/ddc-material-master/03.VmSetup/VMSetupSteps.pdf b/ddc-material-master/03.VmSetup/VMSetupSteps.pdf new file mode 100644 index 00000000..50066f8d Binary files /dev/null and b/ddc-material-master/03.VmSetup/VMSetupSteps.pdf differ diff --git a/ddc-material-master/03.VmSetup/Vagrant.pdf b/ddc-material-master/03.VmSetup/Vagrant.pdf new file mode 100644 index 00000000..5ec3aab0 Binary files /dev/null and b/ddc-material-master/03.VmSetup/Vagrant.pdf differ diff --git a/ddc-material-master/03.VmSetup/Virtualization.pdf b/ddc-material-master/03.VmSetup/Virtualization.pdf new file mode 100644 index 00000000..3fe45b7d Binary files /dev/null and b/ddc-material-master/03.VmSetup/Virtualization.pdf differ diff --git a/ddc-material-master/03.VmSetup/vmOnMacOS.rtf b/ddc-material-master/03.VmSetup/vmOnMacOS.rtf new file mode 100644 index 00000000..9d82ded3 --- /dev/null +++ b/ddc-material-master/03.VmSetup/vmOnMacOS.rtf @@ -0,0 +1,234 @@ +{\rtf1\ansi\ansicpg1252\cocoartf2636 +\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Arial-BoldMT;\f1\froman\fcharset0 Times-Roman;\f2\fswiss\fcharset0 ArialMT; +\f3\fnil\fcharset0 Menlo-Regular;} +{\colortbl;\red255\green255\blue255;\red16\green60\blue192;\red0\green0\blue0;} +{\*\expandedcolortbl;;\cssrgb\c6667\c33333\c80000;\csgray\c0;} +\paperw11900\paperh16840\margl1440\margr1440\vieww30040\viewh16400\viewkind0 +\deftab720 +\pard\pardeftab720\partightenfactor0 + +\f0\b\fs29\fsmilli14667 \cf0 \expnd0\expndtw0\kerning0 +1. Install rosetta +\f1\b0\fs24 \ +\pard\pardeftab720\partightenfactor0 + +\f2\fs26 \cf0 /usr/sbin/softwareupdate --install-rosetta --agree-to-license +\f1 \ +\pard\pardeftab720\partightenfactor0 + +\f2\fs29\fsmilli14667 \cf0 +\f1\fs24 \ +\pard\pardeftab720\partightenfactor0 + +\f0\b\fs29\fsmilli14667 \cf0 2. Install vagrant with homebrew +\f1\b0\fs24 \ +\pard\pardeftab720\partightenfactor0 + +\f2\fs26 \cf0 brew install vagrant +\f1 \ +\pard\pardeftab720\partightenfactor0 + +\f2\fs29\fsmilli14667 \cf0 +\f1\fs24 \ +\pard\pardeftab720\partightenfactor0 + +\f0\b\fs29\fsmilli14667 \cf0 3. Create an account on vmware +\f1\b0\fs24 \ +\pard\pardeftab720\partightenfactor0 + +\f2\fs26 \cf0 https://customerconnect.vmware.com/ +\f1 \ +\pard\pardeftab720\partightenfactor0 + +\f2\fs29\fsmilli14667 \cf0 +\f1\fs24 \ +\pard\pardeftab720\partightenfactor0 + +\f0\b\fs29\fsmilli14667 \cf0 4. Download & Install VMWare Fusion Tech Preview +\f1\b0\fs24 \ +\pard\pardeftab720\partightenfactor0 +{\field{\*\fldinst{HYPERLINK "https://customerconnect.vmware.com/downloads/get-download?downloadGroup=FUS-PUBTP-2021H1"}}{\fldrslt +\f2\fs26 \cf2 \ul \ulc2 https://customerconnect.vmware.com/downloads/get-download?downloadGroup=FUS-PUBTP-2021H1}} +\fs26 \ +\pard\pardeftab720\partightenfactor0 + +\fs24 \cf0 \ +\pard\pardeftab720\partightenfactor0 +{\field{\*\fldinst{HYPERLINK "https://customerconnect.vmware.com/downloads/get-download?downloadGroup=FUS-PUBTP-2021H1"}}{\fldrslt +\f2\fs29\fsmilli14667 \cf2 \ul \ulc2 download page}}\ +\ +\pard\pardeftab720\partightenfactor0 + +\f0\b\fs29\fsmilli14667 \cf0 5. Create link +\f1\b0\fs24 \ + +\f2\fs26 ln -s /Applications/VMWare\\ Fusion\\ Tech\\ Preview.app /Applications/VMWare\\ Fusion.app +\f1\fs24 \ +\ + +\f0\b\fs29\fsmilli14667 6. Install vmware provider +\f1\b0\fs24 \ +\pard\pardeftab720\partightenfactor0 + +\f2\fs29\fsmilli14667 \cf0 {\field{\*\fldinst{HYPERLINK "https://www.vagrantup.com/vmware/downloads"}}{\fldrslt \cf2 \ul \ulc2 Vagrant vmware Utility}} +\f1\fs24 \ +\ + +\f2\fs29\fsmilli14667 https://releases.hashicorp.com/vagrant-vmware-utility/1.0.21/vagrant-vmware-utility_1.0.21_x86_64.dmg +\f1\fs24 \ +\ +\pard\pardeftab720\partightenfactor0 + +\f0\b\fs29\fsmilli14667 \cf0 7. Install Plugin +\f1\b0\fs24 \ +\pard\pardeftab720\partightenfactor0 + +\f2\fs26 \cf0 vagrant plugin install vagrant-vmware-desktop +\f1 \ +\pard\pardeftab720\partightenfactor0 + +\fs24 \cf0 \ + +\f0\b\fs29\fsmilli14667 8. Create folder vms/ubuntu, \ + +\fs28 +\f2\b0 cd +\f0\b \ +\pard\pardeftab720\partightenfactor0 + +\f2\b0 \cf0 mkdir Desktop/vms/ubuntu\ + cd Desktop/vms/ubuntu\ +\pard\pardeftab720\partightenfactor0 + +\f0\b \cf0 +\f2\b0 vim Vagrantfile +\f0\b\fs29\fsmilli14667 \ + \ + Copy paste below content in the Vagrantfile\ +\pard\pardeftab720\partightenfactor0 + +\f2\b0 \cf0 \ +\pard\pardeftab720\partightenfactor0 + +\fs24 \cf0 +\f3 \cf3 \kerning1\expnd0\expndtw0 \CocoaLigature0 Vagrant.configure("2") do |config| \ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\pardirnatural\partightenfactor0 + config.vm.box = "spox/ubuntu-arm" \ + config.vm.box_version = "1.0.0"\ + config.vm.network "private_network", ip: "192.168.56.11"\ + config.vm.provider "vmware_desktop" do |vmware|\ + vmware.gui = true\ + vmware.allowlist_verified = true\ + end\ + end +\f1 \cf0 \expnd0\expndtw0\kerning0 +\CocoaLigature1 \ +\pard\pardeftab720\partightenfactor0 + +\f2\fs29\fsmilli14667 \cf0 \ + +\f1\fs24 \ +\pard\pardeftab720\partightenfactor0 + +\f0\b\fs29\fsmilli14667 \cf0 9. Bring up vm +\f1\b0\fs24 \ +\pard\pardeftab720\partightenfactor0 + +\f2\fs29\fsmilli14667 \cf0 +\fs28 Open terminal, Go to the folder where you created Vagrantfile & issue below command. +\f1 \ + +\f2 vagrant up +\f1 \ + +\f2 vagrant ssh\ + sudo -i\ + ip addr show +\f1 \ + +\f2 exit\ + exit +\f1 \ + +\f2 \'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0vagrant halt +\f1 \ + +\f2 vagrant destroy +\f1 \ + +\f2\fs29\fsmilli14667 +\f1\fs24 \ +\pard\pardeftab720\partightenfactor0 + +\f0\b\fs29\fsmilli14667 \cf0 10. Create folder vms/fedora +\f1\b0\fs24 \ +\pard\pardeftab720\partightenfactor0 + +\f2\fs29\fsmilli14667 \cf0 +\fs28 cd +\f0\b \ + +\f2\b0 mkdir Desktop/vms/fedora\ + cd Desktop/vms/fedora\ +\pard\pardeftab720\partightenfactor0 + +\f0\b \cf0 +\f2\b0 vim Vagrantfile +\f0\b \ + +\fs29\fsmilli14667 \ + Copy paste below content in the Vagrantfile\ +\pard\pardeftab720\partightenfactor0 + +\f2\b0 \cf0 \ + +\fs24 +\f3 \cf3 \kerning1\expnd0\expndtw0 \CocoaLigature0 Vagrant.configure("2") do |config| \ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\pardirnatural\partightenfactor0 + config.vm.box = "jacobw/fedora35-arm64" \ + config.vm.network "private_network", ip: "192.168.56.12"\ + config.vm.provider "vmware_desktop" do |vmware|\ + vmware.gui = true\ + vmware.allowlist_verified = true\ + end\ + end +\f1 \cf0 \expnd0\expndtw0\kerning0 +\CocoaLigature1 \ +\pard\pardeftab720\partightenfactor0 + +\f2\fs29\fsmilli14667 \cf0 +\f1\fs24 \ +\ +\pard\pardeftab720\partightenfactor0 + +\f0\b\fs29\fsmilli14667 \cf0 11. Bring up vm +\f1\b0\fs24 \ +\pard\pardeftab720\partightenfactor0 + +\f2\fs29\fsmilli14667 \cf0 +\fs26 Open Terminal, go to the folder where you created Vagrantfile & issue below command. +\f1 \ +\pard\pardeftab720\partightenfactor0 + +\f2 \cf0 vagrant up +\f1 \ + +\f2 vagrant ssh\ + sudo -i\ + ip addr show +\f1 \ + +\f2 exit\ + exit +\f1 \ + +\f2 \'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0vagrant halt +\f1 \ + +\f2 vagrant destroy +\fs29\fsmilli14667 \ +\ +\pard\pardeftab720\partightenfactor0 + +\f1\fs24 \cf0 \ +} \ No newline at end of file diff --git a/ddc-material-master/04.Linux/LinuxCommands/1. linux commands.txt b/ddc-material-master/04.Linux/LinuxCommands/1. linux commands.txt new file mode 100644 index 00000000..0faecd21 --- /dev/null +++ b/ddc-material-master/04.Linux/LinuxCommands/1. linux commands.txt @@ -0,0 +1,52 @@ +[vagrant@localhost ~]$ history + 1 clear + 2 whoami + 3 exit + 4 clear + 5 whoami + 6 pwd + 7 ls + 8 cat /etc/os-release + 9 sudo -i + +[root@localhost ~]# history + 1 whoami + 2 pwd + 3 ls + 4 clear + 5 cd / + 6 pwd + 7 ls + 8 pwd + 9 cd /bin + 10 ls + 11 clear + 12 cd /sbin/ + 13 ls + 14 clear + 15 cd /etc/ + 16 ls + 17 cat /etc/hostname + 18 clear + 19 cd /tmp/ + 20 ls + 21 cd /boot/ + 22 ls + 23 cd grub + 24 ls + 25 cd .. + 26 cd grub2/ + 27 ls + 28 clear + 29 pwd + 30 cd + 31 pwd + 32 cd /proc/ + 33 ls + 34 uptime + 35 cat /proc/uptime + 36 free -m + 37 clear + 38 ls + 39 cd + 40 clear diff --git a/ddc-material-master/04.Linux/LinuxCommands/10. linux commands.txt b/ddc-material-master/04.Linux/LinuxCommands/10. linux commands.txt new file mode 100644 index 00000000..9cb1f03b --- /dev/null +++ b/ddc-material-master/04.Linux/LinuxCommands/10. linux commands.txt @@ -0,0 +1,24 @@ +415 yum install httpd -y + 416 systemctl status httpd + 417 systemctl start httpd + 418 systemctl status httpd + 419 clear + 420 systemctl restart httpd + 421 systemctl reload httpd + 422 systemctl status httpd + 423 exit + 424 systemctl status httpd + 425 clear + 426 systemctl enable httpd + 427 systemctl status sshd + 428 clear + 429 systemctl is-active httpd + 430 systemctl status httpd + 431 systemctl start httpd + 432 systemctl status httpd + 433 systemctl is-active httpd + 434 clear + 435 systemctl is-enabled httpd + 436 cat /etc/systemd/system/multi-user.target.wants/httpd.service + 437 clear + 438 cat /etc/systemd/system/multi-user.target.wants/httpd.service \ No newline at end of file diff --git a/ddc-material-master/04.Linux/LinuxCommands/11. linux commands.txt b/ddc-material-master/04.Linux/LinuxCommands/11. linux commands.txt new file mode 100644 index 00000000..d74c8cec --- /dev/null +++ b/ddc-material-master/04.Linux/LinuxCommands/11. linux commands.txt @@ -0,0 +1,21 @@ +441 top + 442 clear + 443 ps aux + 444 clear + 445 ps -ef + 446 clear + 447 ps -ef | grep httpd + 448 ps -ef | grep httpd | grep -v 'grep' + 449 kill 1420 + 450 ps -ef | grep httpd | grep -v 'grep' + 451 systemctl start httpd + 452 ps -ef | grep httpd | grep -v 'grep' + 453 kill -9 1476 + 454 ps -ef | grep httpd | grep -v 'grep' + 455 clear + 456 ps -ef | grep httpd | grep -v 'grep' + 457 ps -ef | grep httpd | grep -v 'grep' | awk '{print $2}' + 458 ps -ef | grep httpd | grep -v 'grep' | awk '{print $2}' | xargs kill -9 + 459 systemctl start httpd + 460 ps -ef | grep httpd | grep -v 'grep' | awk '{print $2}' + 461 ps -ef | grep httpd | grep -v 'grep' | awk '{print $2}' | xargs kill -9 diff --git a/ddc-material-master/04.Linux/LinuxCommands/12. linux commands.txt b/ddc-material-master/04.Linux/LinuxCommands/12. linux commands.txt new file mode 100644 index 00000000..85428386 --- /dev/null +++ b/ddc-material-master/04.Linux/LinuxCommands/12. linux commands.txt @@ -0,0 +1,38 @@ +466 cd /var/log/ + 467 ls + 468 ls jenkins/ + 469 clear + 470 pwd + 471 tar --help + 472 clear + 473 cd /var/log/ + 474 pwd + 475 tar -czvf jenkins_06122020.tar.gz jenkins + 476 ls -l + 477 ls -ltr + 478 file jenkins_06122020.tar.gz + 479 clear + 480 mv jenkins_06122020.tar.gz /tmp/ + 481 cd /tmp/ + 482 ls + 483 tar -xzvf jenkins_06122020.tar.gz + 484 ls + 485 tar -xzvf jenkins_06122020.tar.gz -C /opt/ + 486 ls /opt/ + 487 cd + 488 clear + 489 tar --help + 490 clear + 491 cd /var/log/ + 492 yum install zip unzip -y + 493 clear + 494 ls + 495 zip -r jenkins_06122020.zip jenkins + 496 ls -ltr jenkins* + 497 mv jenkins_06122020.zip /opt/ + 498 cd /opt/ + 499 ls + 500 rm -rf jenkins + 501 unzip jenkins_06122020.zip + 502 ls + 503 clear diff --git a/ddc-material-master/04.Linux/LinuxCommands/13. linux commands.txt b/ddc-material-master/04.Linux/LinuxCommands/13. linux commands.txt new file mode 100644 index 00000000..b4fb0c79 --- /dev/null +++ b/ddc-material-master/04.Linux/LinuxCommands/13. linux commands.txt @@ -0,0 +1,46 @@ +1 whoami + 2 pwd + 3 ls + 4 cat /etc/os-release + 5 clear + 6 useradd devops + 7 su - devops + 8 userdel -r devops + 9 clear + 10 adduser devops + 11 id devops + 12 clear + 13 visudo + 14 export EDITOR=vim + 15 visudo + 16 clear + 17 wget http://archive.ubuntu.com/ubuntu/pool/universe/t/tree/tree_1.7.0-3_amd64.deb + 18 ls + 19 dpkg -i tree_1.7.0-3_amd64.deb + 20 tree + 21 dpkg -l + 22 clear + 23 dpkg -l | grep tree + 24 dpkg -r tree + 25 clear + 26 cd /etc/apt/ + 27 ls + 28 cat sources.list + 29 clear + 30 apt update + 31 cd + 32 clear + 33 apt search tree + 34 clear + 35 apt install tree + 36 clear + 37 apt install apache2 + 38 systemctl status apache2 + 39 systemctl is-enabled apache2 + 40 clear + 41 apt upgrade + 42 apt remove apache2 + 43 clear + 44 apt install apache2 + 45 apt purge apache2 + 46 clear diff --git a/ddc-material-master/04.Linux/LinuxCommands/2. linux commands.txt b/ddc-material-master/04.Linux/LinuxCommands/2. linux commands.txt new file mode 100644 index 00000000..a43ecca7 --- /dev/null +++ b/ddc-material-master/04.Linux/LinuxCommands/2. linux commands.txt @@ -0,0 +1,71 @@ +14 clear + 15 ls + 16 pwd + 17 mkdir dev + 18 mkdir ops bakupdir + 19 ls + 20 pwd + 21 touch testfile1.txt + 22 ls + 23 touch devopsfile{1..10}.txt + 24 ls + 25 cp devopsfile1.txt dev/ + 26 ls dev/ + 27 ls + 28 cd /tmp/ + 29 ls + 30 ls /home/vagrant/dev/ + 31 cd + 32 clear + 33 ls + 34 pwd + 35 cd /tmp/ + 36 cp /home/vagrant/devopsfile2.txt /home/vagrant/dev/ + 37 cd ~ + 38 pwd + 39 ls + 40 cp dev bakupdir/ + 41 ls bakupdir/ + 42 ls /home/vagrant/bakupdir/ + 43 cp -r dev bakupdir/ + 44 ls bakupdir/ + 45 ls /home/vagrant/bakupdir/ + 46 clear + 47 cp --help + 48 clear + 49 pwd + 50 ls + 51 mv devopsfile3.txt ops/ + 52 ls ops/ + 53 mv ops dev/ + 54 ls + 55 ls dev/ + 56 ls + 57 mv testfile1.txt testfile22.txt + 58 ls + 59 clear + 60 ls + 61 mkdir textdir + 62 ls + 63 mv *.txt textdir/ + 64 ls + 65 cd textdir/ + 66 ls + 67 rm devopsfile10.txt + 68 mkdir mobile + 69 ls + 70 rm mobile + 71 rm -r mobile + 72 ls + 73 clear + 74 ls + 75 mkdir testdir{1..5} + 76 ls + 77 rm -rf * + 78 ls + 79 pwd + 80 cd + 81 ls + 82 rm -rf * + 83 ls + 84 history diff --git a/ddc-material-master/04.Linux/LinuxCommands/3. linux commands.txt b/ddc-material-master/04.Linux/LinuxCommands/3. linux commands.txt new file mode 100644 index 00000000..53dc95d1 --- /dev/null +++ b/ddc-material-master/04.Linux/LinuxCommands/3. linux commands.txt @@ -0,0 +1,51 @@ +ROOT +52 pwd + 53 ls -l + 54 mkdir devopsdir + 55 ls -l + 56 file anaconda-ks.cfg + 57 cd /bin/ + 58 ls -l + 59 file yum + 60 file /bin/pwd + 61 cd + 62 clear + 63 ls -l + 64 file devopsdir + 65 cd /dev/ + 66 ls -l + 67 cd + 68 clear + 69 pwd + 70 ls + 71 mkdir /opt/dev/ops/devops/test + 72 mkdir -p /opt/dev/ops/devops/test + 73 mkdir /opt/dev/ops/devops/test + 74 vim /opt/dev/ops/devops/test/commands.txt + 75 ln -s /opt/dev/ops/devops/test/commands.txt cmds + 76 ls -l + 77 cat cmds + 78 mv /opt/dev/ops/devops/test/commands.txt /tmp/ + 79 ls -l + 80 mv /tmp/commands.txt /opt/dev/ops/devops/test/commands.txt + 81 ls -l + 82 clear + 83 ls -l + 84 unlink cmds + 85 ls -l + 86 ln -s /opt/dev/ops/devops/test/commands.txt cmds + 87 ls -l + 88 ls -lt + 89 ls -ltr + 90 ls -ltr /etc/ + 91 vim /etc/hostname + 92 hostname centos7.devops.in + +VAGRANT +99 sudo -i + 100 clear + 101 hostname + 102 ls -ltr /etc/ + 103 clear + 104 history + 105 sudo -i diff --git a/ddc-material-master/04.Linux/LinuxCommands/4. linux commands.txt b/ddc-material-master/04.Linux/LinuxCommands/4. linux commands.txt new file mode 100644 index 00000000..723738b3 --- /dev/null +++ b/ddc-material-master/04.Linux/LinuxCommands/4. linux commands.txt @@ -0,0 +1,86 @@ +94 ls + 95 clear + 96 ls + 97 grep firewall anaconda-ks.cfg + 98 grep Firewall anaconda-ks.cfg + 99 grep -i Firewall anaconda-ks.cfg + 100 vim anaconda-ks.cfg + 101 grep -i firewall anaconda-ks.cfg + 102 grep -i firewall < anaconda-ks.cfg + 103 grep -i firewall ls + 104 ls + 105 grep -i firewall * + 106 clear + 107 grep -i firewall * + 108 grep -iR firewall * + 109 cp anaconda-ks.cfg devopsdir/mybootingfile.cfg + 110 grep -iR firewall * + 111 clear + 112 cd /etc/ + 113 ls + 114 cd NetworkManager/ + 115 lsa + 116 ls + 117 vim NetworkManager.conf + 118 cd .. + 119 ls + 120 cd selinux/ + 121 ls + 122 cat config + 123 cd + 124 clear + 125 grep -i selinux /etc/ + 126 grep -i selinux /etc/ -R + 127 clear + 128 grep SELINUX /etc/ -R + 129 clear + 130 grep -R SELINUX /etc/* + 131 vim /etc/selinux/config + 132 clear + 133 grep -vi firewall anaconda-ks.cfg + 134 clear + 135 less anaconda-ks.cfg + 136 more anaconda-ks.cfg + 137 clear + 138 head anaconda-ks.cfg + 139 head -20 anaconda-ks.cfg + 140 head -2 anaconda-ks.cfg + 141 clear + 142 tail anaconda-ks.cfg + 143 tail -2 anaconda-ks.cfg + 144 tail -f anaconda-ks.cfg + 145 clear + 146 cd /var/log/ + 147 ls + 148 tail -f yum.log + 149 ls + 150 clear + 151 cat messages + 152 clear + 153 tail -f /var/log/messages + 154 cd + 155 clear + 156 cat /etc/passwd + 157 clear + 158 cut -d: -f1 /etc/passwd + 159 cut -d: -f3 /etc/passwd + 160 cut -d: -f4 /etc/passwd + 161 clear + 162 awk '{print $1}' /etc/passwd + 163 awk -F':' '{print $1}' /etc/passwd + 164 clear + 165 awk -F':' '{print $1}' /etc/passwd + 166 ls + 167 cat cmds + 168 clear + 169 vim samplefile.txt + 170 clear + 171 cat samplefile.txt + 172 vim samplefile.txt + 173 cat samplefile.txt + 174 sed 's/coronavirus/covid19/g' samplefile.txt + 175 cat samplefile.txt + 176 sed -i 's/coronavirus/covid19/g' samplefile.txt + 177 cat samplefile.txt + 178 sed -i 's/covid19/nothing/g' samplefile.txt + 179 cat samplefile.txt diff --git a/ddc-material-master/04.Linux/LinuxCommands/5. linux commands.txt b/ddc-material-master/04.Linux/LinuxCommands/5. linux commands.txt new file mode 100644 index 00000000..46de22a1 --- /dev/null +++ b/ddc-material-master/04.Linux/LinuxCommands/5. linux commands.txt @@ -0,0 +1,75 @@ +181 uptime + 182 cat /etc/passwd + 183 clear + 184 uptime > /tmp/sysinfo.txt + 185 cat /tmp/sysinfo.txt + 186 ls + 187 ls > /tmp/sysinfo.txt + 188 cat /tmp/sysinfo.txt + 189 uptime >> /tmp/sysinfo.txt + 190 cat /tmp/sysinfo.txt + 191 clear + 192 uptime + 193 free -m + 194 df -h + 195 echo "Good Morning" + 196 echo "########################################" > /tmp/sysinfo.txt + 197 date > /tmp/sysinfo.txt + 198 echo "########################################" >> /tmp/sysinfo.txt + 199 uptime >> /tmp/sysinfo.txt + 200 echo "########################################" >> /tmp/sysinfo.txt + 201 free -m >> /tmp/sysinfo.txt + 202 echo "########################################" >> /tmp/sysinfo.txt + 203 df -h >> /tmp/sysinfo.txt + 204 echo "########################################" >> /tmp/sysinfo.txt + 205 cat /tmp/sysinfo.txt + 206 clear + 207 yum install vim -y > /dev/null + 208 cat /dev/null + 209 cat /tmp/sysinfo.txt + 210 cat /dev/null > /tmp/sysinfo.txt + 211 cat /tmp/sysinfo.txt + 212 clear + 213 free -m > /dev/null + 214 freeeee -m > /dev/null + 215 freeeee -m 2>> /tmp//error.log + 216 cat /tmp/error.log + 217 free -m 1>> /tmp//error.log + 218 cat /tmp/error.log + 219 free -m &>> /tmp//error.log + 220 freesdsd -m &>> /tmp//error.log + 221 cat /tmp/error.log + 222 cd /var/log/ + 223 ls + 224 cd + 225 clear + 226 wc -l /etc/passwd + 227 wc -l < /etc/passwd + 228 clear + 229 cd /etc/ + 230 ls + 231 clear + 232 ls | wc -l + 233 ls | grep host* + 234* ls | grep host* + 235 clear + 236 ls | wc -l + 237 ls | grep host* + 238 ls | grep host + 239 tail /var/log/messages | grep -i vagrant + 240 tail -20 /var/log/messages | grep -i vagrant + 241 free -m + 242 free -m | grep Mem + 243 ls -l | tail + 244 ls -l | head + 245 clear + 246 cd + 247 find /etc -name host* + 248 find / -name host* + 249 clear + 250 locate + 251 yum install mlocate -y + 252 clear + 253 updatedb + 254 locate host + 255 clear diff --git a/ddc-material-master/04.Linux/LinuxCommands/6. linux commands.txt b/ddc-material-master/04.Linux/LinuxCommands/6. linux commands.txt new file mode 100644 index 00000000..1085ef5b --- /dev/null +++ b/ddc-material-master/04.Linux/LinuxCommands/6. linux commands.txt @@ -0,0 +1,51 @@ +258 whoami + 259 cat /etc/passwd + 260 head -1 /etc/passwd + 261 clear + 262 head -1 /etc/passwd + 263 grep vagrant /etc/passwd + 264 cat /etc/passwd + 265 clear + 266 cat /etc/group + 267 clear + 268 grep vagrant /etc/passwd + 269 grep vagrant /etc/group + 270 id vagrant + 271 clear + 272 useradd ansible + 273 useradd jenkins + 274 useradd aws + 275 tail -4 /etc/passwd + 276 tail -4 /etc/group + 277 id ansible + 278 groupadd devops + 279 clear + 280 usermod -aG devops ansible + 281 id ansible + 282 grep devops /etc/group + 283 vim /etc/group + 284 id aws + 285 clear + 286 passwd ansible + 287 passwd aws + 288 passwd jenkins + 289 clear + 290 su - ansible + 291 clear + 292 last + 293 who + 294 lsof -u vagrant + 295 yum install lsof -y + 296 clear + 297 lsof -u vagrant + 298 clear + 299 lsof -u aws + 300 userdel aws + 301 ls /home/ + 302 userdel -r jenkins + 303 ls /home/ + 304 groupdel devops + 305 userdel -r ansible + 306 ls /home/ + 307 rm -rf /home/aws + 308 clear diff --git a/ddc-material-master/04.Linux/LinuxCommands/7. linux commands.txt b/ddc-material-master/04.Linux/LinuxCommands/7. linux commands.txt new file mode 100644 index 00000000..94d09236 --- /dev/null +++ b/ddc-material-master/04.Linux/LinuxCommands/7. linux commands.txt @@ -0,0 +1,33 @@ +313 mkdir /opt/devopsdir + 314 ls -l /opt/ + 315 groupadd devops + 316 useradd ansible + 317 useradd jenkins + 318 useradd aws + 319 useradd miles + 320 vim /etc/group + 321 id ansible + 322 clear + 323 ls -ld /opt/devopsdir + 324 chown -R ansible:devops /opt/devopsdir + 325 ls -ld /opt/devopsdir + 326 chmod o-x /opt/devopsdir + 327 ls -ld /opt/devopsdir + 328 chmod o-r /opt/devopsdir + 329 ls -ld /opt/devopsdir + 330 chmod g+w /opt/devopsdir + 331 ls -ld /opt/devopsdir + 332 su - miles + 333 su - aws + 334 clear + 335 mkdir /opt/webdata + 336 ls -ld /opt/webdata/ + 337 chown aws.devops /opt/webdata + 338 ls -ld /opt/webdata/ + 339 chmod 770 /opt/webdata + 340 ls -ld /opt/webdata/ + 341 chmod 000 /opt/webdata + 342 ls -ld /opt/webdata/ + 343 chmod 777 /opt/webdata + 344 ls -ld /opt/webdata/ + 345 clear diff --git a/ddc-material-master/04.Linux/LinuxCommands/8. linux commands.txt b/ddc-material-master/04.Linux/LinuxCommands/8. linux commands.txt new file mode 100644 index 00000000..d35bc0e0 --- /dev/null +++ b/ddc-material-master/04.Linux/LinuxCommands/8. linux commands.txt @@ -0,0 +1,29 @@ +vagrant +109 whoami + 110 sudo yum install git -y + 111 clear + 112 yum install git -y + 113 useradd test + 114 sudo useradd test + 115 sudo -i + +ROOT +349 su - ansible + 350 passwd ansible + 351 su - ansible + 352 clear + 353 visudo + 354 ls -l /etc/sudoers + 355 visudo + 356 su - ansible + 357 visudo + 358 su - ansible + 359 clear + 360 ls -l /etc/sudoers + 361 visudo + 362 cd /etc/sudoers.d/ + 363 ls + 364 cat vagrant + 365 cp vagrant devops + 366 vim devops + 367 cat * diff --git a/ddc-material-master/04.Linux/LinuxCommands/9. linux commands.txt b/ddc-material-master/04.Linux/LinuxCommands/9. linux commands.txt new file mode 100644 index 00000000..f52c7e4f --- /dev/null +++ b/ddc-material-master/04.Linux/LinuxCommands/9. linux commands.txt @@ -0,0 +1,43 @@ +370 tree /var/log + 371 curl https://rpmfind.net/linux/centos/7.9.2009/os/x86_64/Packages/tree-1.6.0-10.el7.x86_64.rpm -o tree-1.6.0-10.el7.x86_64.rpm + 372 ls + 373 rpm -ivh tree-1.6.0-10.el7.x86_64.rpm + 374 tree /var/log/ + 375 clear + 376 curl https://rpmfind.net/linux/centos/7.9.2009/os/x86_64/Packages/httpd-2.4.6-95.el7.centos.x86_64.rpm -o httpd-2.4.6-95.el7.centos.x86_64.rpm + 377 ls + 378 rpm -ivh httpd-2.4.6-95.el7.centos.x86_64.rpm + 379 clear + 380 rpm --help + 381 clear + 382 rpm -qa + 383 clear + 384 rpm -qa | grep tree + 385 rpm -e tree-1.6.0-10.el7.x86_64 + 386 rpm -qa | grep tree + 387 tree + 388 clear + 389 cd /etc/yum.repos.d/ + 390 ls + 391 cat CentOS-Base.repo + 392 clear + 393 yum search httpd + 394 cd + 395 clear + 396 yum install httpd + 397 clear + 398 yum remove httpd + 399 yum install httpd + 400 clear + 401 yum search nginx + 402 yum install nginx + 403 clear + 404 yum install jenkins + 405 ls /etc/yum.repos.d/ + 406 clear + 407 yum install wget -y + 408 sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo + 409 cat /etc/yum.repos.d/jenkins.repo + 410 rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key + 411 yum install jenkins java-1.8.0-openjdk-devel -y + 412 yum upgrade diff --git a/ddc-material-master/04.Linux/LinuxQuickstartV5.pdf b/ddc-material-master/04.Linux/LinuxQuickstartV5.pdf new file mode 100644 index 00000000..f8999d7c Binary files /dev/null and b/ddc-material-master/04.Linux/LinuxQuickstartV5.pdf differ diff --git a/ddc-material-master/04.Linux/LinuxSlides.pdf b/ddc-material-master/04.Linux/LinuxSlides.pdf new file mode 100644 index 00000000..a448bc45 Binary files /dev/null and b/ddc-material-master/04.Linux/LinuxSlides.pdf differ diff --git a/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/centos/Vagrantfile b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/centos/Vagrantfile new file mode 100644 index 00000000..ee1b817f --- /dev/null +++ b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/centos/Vagrantfile @@ -0,0 +1,8 @@ +Vagrant.configure("2") do |config| + config.vm.box = "jacobw/fedora35-arm64" + config.vm.network "private_network", ip: "192.168.56.88" + config.vm.provider "vmware_desktop" do |v| + v.gui = true + v.memory = "1024" + end +end diff --git a/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/finance/Vagrantfile b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/finance/Vagrantfile new file mode 100644 index 00000000..147109b9 --- /dev/null +++ b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/finance/Vagrantfile @@ -0,0 +1,68 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +# All Vagrant configuration is done below. The "2" in Vagrant.configure +# configures the configuration version (we support older styles for +# backwards compatibility). Please don't change it unless you know what +# you're doing. +Vagrant.configure("2") do |config| + # The most common configuration options are documented and commented below. + # For a complete reference, please see the online documentation at + # https://docs.vagrantup.com. + + # Every Vagrant development environment requires a box. You can search for + # boxes at https://vagrantcloud.com/search. + config.vm.box = "jacobw/fedora35-arm64" + + # Disable automatic box update checking. If you disable this, then + # boxes will only be checked for updates when the user runs + # `vagrant box outdated`. This is not recommended. + # config.vm.box_check_update = false + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine. In the example below, + # accessing "localhost:8080" will access port 80 on the guest machine. + # NOTE: This will enable public access to the opened port + # config.vm.network "forwarded_port", guest: 80, host: 8080 + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine and only allow access + # via 127.0.0.1 to disable public access + # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1" + + # Create a private network, which allows host-only access to the machine + # using a specific IP. + config.vm.network "private_network", ip: "192.168.56.22" + + # Create a public network, which generally matched to bridged network. + # Bridged networks make the machine appear as another physical device on + # your network. + # config.vm.network "public_network" + + # Share an additional folder to the guest VM. The first argument is + # the path on the host to the actual folder. The second argument is + # the path on the guest to mount the folder. And the optional third + # argument is a set of non-required options. + # config.vm.synced_folder "../data", "/vagrant_data" + + # Provider-specific configuration so you can fine-tune various + # backing providers for Vagrant. These expose provider-specific options. + # Example for VirtualBox: + # + config.vm.provider "vmware_desktop" do |vb| + vb.gui = true + vb.memory = "1024" + end + + # + # View the documentation for the provider you are using for more + # information on available options. + + # Enable provisioning with a shell script. Additional provisioners such as + # Ansible, Chef, Docker, Puppet and Salt are also available. Please see the + # documentation for more information about their specific syntax and use. + # config.vm.provision "shell", inline: <<-SHELL + # apt-get update + # apt-get install -y apache2 + # SHELL +end diff --git a/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/financeIAC/Vagrantfile b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/financeIAC/Vagrantfile new file mode 100644 index 00000000..d722f732 --- /dev/null +++ b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/financeIAC/Vagrantfile @@ -0,0 +1,79 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +# All Vagrant configuration is done below. The "2" in Vagrant.configure +# configures the configuration version (we support older styles for +# backwards compatibility). Please don't change it unless you know what +# you're doing. +Vagrant.configure("2") do |config| + # The most common configuration options are documented and commented below. + # For a complete reference, please see the online documentation at + # https://docs.vagrantup.com. + + # Every Vagrant development environment requires a box. You can search for + # boxes at https://vagrantcloud.com/search. + config.vm.box = "jacobw/fedora35-arm64" + + # Disable automatic box update checking. If you disable this, then + # boxes will only be checked for updates when the user runs + # `vagrant box outdated`. This is not recommended. + # config.vm.box_check_update = false + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine. In the example below, + # accessing "localhost:8080" will access port 80 on the guest machine. + # NOTE: This will enable public access to the opened port + # config.vm.network "forwarded_port", guest: 80, host: 8080 + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine and only allow access + # via 127.0.0.1 to disable public access + # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1" + + # Create a private network, which allows host-only access to the machine + # using a specific IP. + config.vm.network "private_network", ip: "192.168.56.28" + + # Create a public network, which generally matched to bridged network. + # Bridged networks make the machine appear as another physical device on + # your network. + # config.vm.network "public_network" + + # Share an additional folder to the guest VM. The first argument is + # the path on the host to the actual folder. The second argument is + # the path on the guest to mount the folder. And the optional third + # argument is a set of non-required options. + # config.vm.synced_folder "../data", "/vagrant_data" + + # Provider-specific configuration so you can fine-tune various + # backing providers for Vagrant. These expose provider-specific options. + # Example for VirtualBox: + # + config.vm.provider "vmware_desktop" do |vb| + # # Display the VirtualBox GUI when booting the machine + vb.gui = true + # + # # Customize the amount of memory on the VM: + vb.memory = "1024" + end + # + # View the documentation for the provider you are using for more + # information on available options. + + # Enable provisioning with a shell script. Additional provisioners such as + # Ansible, Chef, Docker, Puppet and Salt are also available. Please see the + # documentation for more information about their specific syntax and use. + config.vm.provision "shell", inline: <<-SHELL + yum install httpd wget unzip vim -y + systemctl start httpd + systemctl enabled httpd + mkdir -p /tmp/finance + cd /tmp/finance + wget https://www.tooplate.com/zip-templates/2135_mini_finance.zip + unzip -o 2135_mini_finance.zip + cp -r 2135_mini_finance/* /var/www/html/ + systemctl restart httpd + cd /tmp/ + rm -rf /tmp/finance + SHELL +end diff --git a/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/multivm/Vagrantfile b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/multivm/Vagrantfile new file mode 100644 index 00000000..f8b15fb8 --- /dev/null +++ b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/multivm/Vagrantfile @@ -0,0 +1,41 @@ +Vagrant.configure("2") do |config| + config.vm.define "web01" do |web01| + web01.vm.box = "spox/ubuntu-arm" + web01.vm.box_version = "1.0.0" + web01.vm.hostname = "web01" + web01.vm.network "private_network", ip: "192.168.56.41" + web01.vm.provider "vmware_desktop" do |vmware| + vmware.ssh_info_public = true + vmware.gui = true + end + end + + config.vm.define "web02" do |web02| + web02.vm.box = "spox/ubuntu-arm" + web02.vm.box_version = "1.0.0" + web02.vm.hostname = "web02" + web02.vm.network "private_network", ip: "192.168.56.41" + web02.vm.provider "vmware_desktop" do |vmware| + vmware.ssh_info_public = true + vmware.gui = true + end + end + + + config.vm.define "db01" do |db01| + db01.vm.box = "jacobw/fedora35-arm64" + db01.vm.hostname = "db01" + db01.vm.network "private_network", ip: "192.168.56.42" + db01.vm.provider "vmware_desktop" do |vmware| + vmware.ssh_info_public = true + vmware.gui = true + end + db01.vm.provision "shell", inline: <<-SHELL + yum install -y wget unzip mariadb-server -y + systemctl start mariadb + systemctl enable mariadb + # Additional provisioning steps for db01 + SHELL + end + end + \ No newline at end of file diff --git a/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/ubuntu/Vagrantfile b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/ubuntu/Vagrantfile new file mode 100644 index 00000000..4c24a39d --- /dev/null +++ b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/ubuntu/Vagrantfile @@ -0,0 +1,9 @@ +Vagrant.configure("2") do |config| + config.vm.box = "spox/ubuntu-arm" + config.vm.box_version = "1.0.0" + config.vm.network "private_network", ip: "192.168.56.19" + config.vm.provider "vmware_desktop" do |vmware| + vmware.ssh_info_public = true + vmware.gui = true + end + end diff --git a/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/ubuntu/test1.txt b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/ubuntu/test1.txt new file mode 100644 index 00000000..e69de29b diff --git a/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/wordpress/Vagrantfile b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/wordpress/Vagrantfile new file mode 100644 index 00000000..ea710a9b --- /dev/null +++ b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/wordpress/Vagrantfile @@ -0,0 +1,68 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +# All Vagrant configuration is done below. The "2" in Vagrant.configure +# configures the configuration version (we support older styles for +# backwards compatibility). Please don't change it unless you know what +# you're doing. +Vagrant.configure("2") do |config| + # The most common configuration options are documented and commented below. + # For a complete reference, please see the online documentation at + # https://docs.vagrantup.com. + + # Every Vagrant development environment requires a box. You can search for + # boxes at https://vagrantcloud.com/search. + config.vm.box = "spox/ubuntu-arm" + config.vm.box_version = "1.0.0" + + # Disable automatic box update checking. If you disable this, then + # boxes will only be checked for updates when the user runs + # `vagrant box outdated`. This is not recommended. + # config.vm.box_check_update = false + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine. In the example below, + # accessing "localhost:8080" will access port 80 on the guest machine. + # NOTE: This will enable public access to the opened port + # config.vm.network "forwarded_port", guest: 80, host: 8080 + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine and only allow access + # via 127.0.0.1 to disable public access + # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1" + + # Create a private network, which allows host-only access to the machine + # using a specific IP. + config.vm.network "private_network", ip: "192.168.56.26" + + # Create a public network, which generally matched to bridged network. + # Bridged networks make the machine appear as another physical device on + # your network. + # config.vm.network "public_network" + + # Share an additional folder to the guest VM. The first argument is + # the path on the host to the actual folder. The second argument is + # the path on the guest to mount the folder. And the optional third + # argument is a set of non-required options. + # config.vm.synced_folder "../data", "/vagrant_data" + + # Provider-specific configuration so you can fine-tune various + # backing providers for Vagrant. These expose provider-specific options. + # Example for VirtualBox: + # + config.vm.provider "vmware_desktop" do |vmware| + vmware.ssh_info_public = true + vmware.gui = true + end + # + # View the documentation for the provider you are using for more + # information on available options. + + # Enable provisioning with a shell script. Additional provisioners such as + # Ansible, Chef, Docker, Puppet and Salt are also available. Please see the + # documentation for more information about their specific syntax and use. + # config.vm.provision "shell", inline: <<-SHELL + # apt-get update + # apt-get install -y apache2 + # SHELL +end diff --git a/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/wordpressIAC/.vagrant/bundler/global.sol b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/wordpressIAC/.vagrant/bundler/global.sol new file mode 100644 index 00000000..241221db --- /dev/null +++ b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/wordpressIAC/.vagrant/bundler/global.sol @@ -0,0 +1 @@ +{"dependencies":[["vagrant-auto_network",["= 1.0.3"]],["vagrant-hostmanager",["= 1.8.9"]],["vagrant-qemu",["= 0.3.4"]],["log4r",[">= 0"]],["concurrent-ruby",["~> 1.0"]],["i18n",[">= 0"]],["micromachine",[">= 2","< 4"]],["vagrant-vbguest",["= 0.31.0"]],["vagrant-vmware-desktop",["= 3.0.3"]]],"checksum":"466e94ca839e089d1dce1bab3548d3e3acf51767e11790fb014624884c9c8ee8","vagrant_version":"2.3.6"} \ No newline at end of file diff --git a/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/wordpressIAC/.vagrant/rgloader/loader.rb b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/wordpressIAC/.vagrant/rgloader/loader.rb new file mode 100644 index 00000000..c3c05b09 --- /dev/null +++ b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/wordpressIAC/.vagrant/rgloader/loader.rb @@ -0,0 +1,9 @@ +# This file loads the proper rgloader/loader.rb file that comes packaged +# with Vagrant so that encoded files can properly run with Vagrant. + +if ENV["VAGRANT_INSTALLER_EMBEDDED_DIR"] + require File.expand_path( + "rgloader/loader", ENV["VAGRANT_INSTALLER_EMBEDDED_DIR"]) +else + raise "Encoded files can't be read outside of the Vagrant installer." +end diff --git a/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/wordpressIAC/Vagrantfile b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/wordpressIAC/Vagrantfile new file mode 100644 index 00000000..d67a8085 --- /dev/null +++ b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/MacM1M2/wordpressIAC/Vagrantfile @@ -0,0 +1,121 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +# All Vagrant configuration is done below. The "2" in Vagrant.configure +# configures the configuration version (we support older styles for +# backwards compatibility). Please don't change it unless you know what +# you're doing. +Vagrant.configure("2") do |config| + # The most common configuration options are documented and commented below. + # For a complete reference, please see the online documentation at + # https://docs.vagrantup.com. + + # Every Vagrant development environment requires a box. You can search for + # boxes at https://vagrantcloud.com/search. + config.vm.box = "spox/ubuntu-arm" + config.vm.box_version = "1.0.0" + + # Disable automatic box update checking. If you disable this, then + # boxes will only be checked for updates when the user runs + # `vagrant box outdated`. This is not recommended. + # config.vm.box_check_update = false + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine. In the example below, + # accessing "localhost:8080" will access port 80 on the guest machine. + # NOTE: This will enable public access to the opened port + # config.vm.network "forwarded_port", guest: 80, host: 8080 + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine and only allow access + # via 127.0.0.1 to disable public access + # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1" + + # Create a private network, which allows host-only access to the machine + # using a specific IP. + config.vm.network "private_network", ip: "192.168.56.30" + + # Create a public network, which generally matched to bridged network. + # Bridged networks make the machine appear as another physical device on + # your network. + # config.vm.network "public_network" + + # Share an additional folder to the guest VM. The first argument is + # the path on the host to the actual folder. The second argument is + # the path on the guest to mount the folder. And the optional third + # argument is a set of non-required options. + # config.vm.synced_folder "../data", "/vagrant_data" + + # Provider-specific configuration so you can fine-tune various + # backing providers for Vagrant. These expose provider-specific options. + # Example for VirtualBox: + # + config.vm.provider "vmware_desktop" do |vmware| + # vmware.ssh_info_public = true + vmware.gui = true + end + # + # View the documentation for the provider you are using for more + # information on available options. + + # Enable provisioning with a shell script. Additional provisioners such as + # Ansible, Chef, Docker, Puppet and Salt are also available. Please see the + # documentation for more information about their specific syntax and use. + config.vm.provision "shell", inline: <<-SHELL + sudo apt update + sudo apt install apache2 \ + ghostscript \ + libapache2-mod-php \ + mysql-server \ + php \ + php-bcmath \ + php-curl \ + php-imagick \ + php-intl \ + php-json \ + php-mbstring \ + php-mysql \ + php-xml \ + php-zip -y + + sudo mkdir -p /srv/www + sudo chown www-data: /srv/www + curl https://wordpress.org/latest.tar.gz | sudo -u www-data tar zx -C /srv/www + + cat > /etc/apache2/sites-available/wordpress.conf < + DocumentRoot /srv/www/wordpress + + Options FollowSymLinks + AllowOverride Limit Options FileInfo + DirectoryIndex index.php + Require all granted + + + Options FollowSymLinks + Require all granted + + +EOF + + sudo a2ensite wordpress + sudo a2enmod rewrite + sudo a2dissite 000-default + + + mysql -u root -e 'CREATE DATABASE wordpress;' + mysql -u root -e 'CREATE USER wordpress@localhost IDENTIFIED BY "admin123";' + mysql -u root -e 'GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON wordpress.* TO wordpress@localhost;' + mysql -u root -e 'FLUSH PRIVILEGES;' + + sudo -u www-data cp /srv/www/wordpress/wp-config-sample.php /srv/www/wordpress/wp-config.php + sudo -u www-data sed -i 's/database_name_here/wordpress/' /srv/www/wordpress/wp-config.php + sudo -u www-data sed -i 's/username_here/wordpress/' /srv/www/wordpress/wp-config.php + sudo -u www-data sed -i 's/password_here/admin123/' /srv/www/wordpress/wp-config.php + + systemctl restart mysql + systemctl restart apache2 + + + SHELL +end diff --git a/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/WindowsAndMacIntel/centos/Vagrantfile b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/WindowsAndMacIntel/centos/Vagrantfile new file mode 100644 index 00000000..24237e88 --- /dev/null +++ b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/WindowsAndMacIntel/centos/Vagrantfile @@ -0,0 +1,72 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +# All Vagrant configuration is done below. The "2" in Vagrant.configure +# configures the configuration version (we support older styles for +# backwards compatibility). Please don't change it unless you know what +# you're doing. +Vagrant.configure("2") do |config| + # The most common configuration options are documented and commented below. + # For a complete reference, please see the online documentation at + # https://docs.vagrantup.com. + + # Every Vagrant development environment requires a box. You can search for + # boxes at https://vagrantcloud.com/search. + config.vm.box = "eurolinux-vagrant/centos-stream-9" + + # Disable automatic box update checking. If you disable this, then + # boxes will only be checked for updates when the user runs + # `vagrant box outdated`. This is not recommended. + # config.vm.box_check_update = false + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine. In the example below, + # accessing "localhost:8080" will access port 80 on the guest machine. + # NOTE: This will enable public access to the opened port + # config.vm.network "forwarded_port", guest: 80, host: 8080 + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine and only allow access + # via 127.0.0.1 to disable public access + # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1" + + # Create a private network, which allows host-only access to the machine + # using a specific IP. + config.vm.network "private_network", ip: "192.168.56.16" + + # Create a public network, which generally matched to bridged network. + # Bridged networks make the machine appear as another physical device on + # your network. + config.vm.network "public_network" + + # Share an additional folder to the guest VM. The first argument is + # the path on the host to the actual folder. The second argument is + # the path on the guest to mount the folder. And the optional third + # argument is a set of non-required options. + # config.vm.synced_folder "../data", "/vagrant_data" + + # Provider-specific configuration so you can fine-tune various + # backing providers for Vagrant. These expose provider-specific options. + # Example for VirtualBox: + # + # config.vm.provider "virtualbox" do |vb| + # # Display the VirtualBox GUI when booting the machine + # vb.gui = true + # + # # Customize the amount of memory on the VM: + # vb.memory = "1024" + # end + # + # View the documentation for the provider you are using for more + # information on available options. + + # Enable provisioning with a shell script. Additional provisioners such as + # Ansible, Chef, Docker, Puppet and Salt are also available. Please see the + # documentation for more information about their specific syntax and use. + config.vm.provision "shell", inline: <<-SHELL + yum install httpd wget unzip git -y + mkdir /opt/devopsdir + free -m + uptime + SHELL +end diff --git a/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/WindowsAndMacIntel/finance/Vagrantfile b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/WindowsAndMacIntel/finance/Vagrantfile new file mode 100644 index 00000000..d80e908c --- /dev/null +++ b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/WindowsAndMacIntel/finance/Vagrantfile @@ -0,0 +1,70 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +# All Vagrant configuration is done below. The "2" in Vagrant.configure +# configures the configuration version (we support older styles for +# backwards compatibility). Please don't change it unless you know what +# you're doing. +Vagrant.configure("2") do |config| + # The most common configuration options are documented and commented below. + # For a complete reference, please see the online documentation at + # https://docs.vagrantup.com. + + # Every Vagrant development environment requires a box. You can search for + # boxes at https://vagrantcloud.com/search. + config.vm.box = "eurolinux-vagrant/centos-stream-9" + + # Disable automatic box update checking. If you disable this, then + # boxes will only be checked for updates when the user runs + # `vagrant box outdated`. This is not recommended. + # config.vm.box_check_update = false + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine. In the example below, + # accessing "localhost:8080" will access port 80 on the guest machine. + # NOTE: This will enable public access to the opened port + # config.vm.network "forwarded_port", guest: 80, host: 8080 + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine and only allow access + # via 127.0.0.1 to disable public access + # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1" + + # Create a private network, which allows host-only access to the machine + # using a specific IP. + config.vm.network "private_network", ip: "192.168.56.22" + + # Create a public network, which generally matched to bridged network. + # Bridged networks make the machine appear as another physical device on + # your network. + config.vm.network "public_network" + + # Share an additional folder to the guest VM. The first argument is + # the path on the host to the actual folder. The second argument is + # the path on the guest to mount the folder. And the optional third + # argument is a set of non-required options. + # config.vm.synced_folder "../data", "/vagrant_data" + + # Provider-specific configuration so you can fine-tune various + # backing providers for Vagrant. These expose provider-specific options. + # Example for VirtualBox: + # + config.vm.provider "virtualbox" do |vb| + # # Display the VirtualBox GUI when booting the machine + # vb.gui = true + # + # # Customize the amount of memory on the VM: + vb.memory = "1024" + end + # + # View the documentation for the provider you are using for more + # information on available options. + + # Enable provisioning with a shell script. Additional provisioners such as + # Ansible, Chef, Docker, Puppet and Salt are also available. Please see the + # documentation for more information about their specific syntax and use. + # config.vm.provision "shell", inline: <<-SHELL + # apt-get update + # apt-get install -y apache2 + # SHELL +end diff --git a/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/WindowsAndMacIntel/financeIAC/Vagrantfile b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/WindowsAndMacIntel/financeIAC/Vagrantfile new file mode 100644 index 00000000..81d984df --- /dev/null +++ b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/WindowsAndMacIntel/financeIAC/Vagrantfile @@ -0,0 +1,79 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +# All Vagrant configuration is done below. The "2" in Vagrant.configure +# configures the configuration version (we support older styles for +# backwards compatibility). Please don't change it unless you know what +# you're doing. +Vagrant.configure("2") do |config| + # The most common configuration options are documented and commented below. + # For a complete reference, please see the online documentation at + # https://docs.vagrantup.com. + + # Every Vagrant development environment requires a box. You can search for + # boxes at https://vagrantcloud.com/search. + config.vm.box = "eurolinux-vagrant/centos-stream-9" + + # Disable automatic box update checking. If you disable this, then + # boxes will only be checked for updates when the user runs + # `vagrant box outdated`. This is not recommended. + # config.vm.box_check_update = false + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine. In the example below, + # accessing "localhost:8080" will access port 80 on the guest machine. + # NOTE: This will enable public access to the opened port + # config.vm.network "forwarded_port", guest: 80, host: 8080 + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine and only allow access + # via 127.0.0.1 to disable public access + # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1" + + # Create a private network, which allows host-only access to the machine + # using a specific IP. + config.vm.network "private_network", ip: "192.168.56.28" + + # Create a public network, which generally matched to bridged network. + # Bridged networks make the machine appear as another physical device on + # your network. + config.vm.network "public_network" + + # Share an additional folder to the guest VM. The first argument is + # the path on the host to the actual folder. The second argument is + # the path on the guest to mount the folder. And the optional third + # argument is a set of non-required options. + # config.vm.synced_folder "../data", "/vagrant_data" + + # Provider-specific configuration so you can fine-tune various + # backing providers for Vagrant. These expose provider-specific options. + # Example for VirtualBox: + # + config.vm.provider "virtualbox" do |vb| + # # Display the VirtualBox GUI when booting the machine + # vb.gui = true + # + # # Customize the amount of memory on the VM: + vb.memory = "1024" + end + # + # View the documentation for the provider you are using for more + # information on available options. + + # Enable provisioning with a shell script. Additional provisioners such as + # Ansible, Chef, Docker, Puppet and Salt are also available. Please see the + # documentation for more information about their specific syntax and use. + config.vm.provision "shell", inline: <<-SHELL + yum install httpd wget unzip vim -y + systemctl start httpd + systemctl enabled httpd + mkdir -p /tmp/finance + cd /tmp/finance + wget https://www.tooplate.com/zip-templates/2135_mini_finance.zip + unzip -o 2135_mini_finance.zip + cp -r 2135_mini_finance/* /var/www/html/ + systemctl restart httpd + cd /tmp/ + rm -rf /tmp/finance + SHELL +end diff --git a/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/WindowsAndMacIntel/multivm/Vagrantfile b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/WindowsAndMacIntel/multivm/Vagrantfile new file mode 100644 index 00000000..b37dd28e --- /dev/null +++ b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/WindowsAndMacIntel/multivm/Vagrantfile @@ -0,0 +1,32 @@ +Vagrant.configure("2") do |config| + config.vm.define "web01" do |web01| + web01.vm.box = "ubuntu/focal64" + web01.vm.hostname = "web01" + web01.vm.network "private_network", ip: "192.168.56.41" + end + + config.vm.define "web02" do |web02| + web02.vm.box = "ubuntu/focal64" + web02.vm.hostname = "web02" + web02.vm.network "private_network", ip: "192.168.56.41" + end + + config.vm.define "web03" do |web03| + web03.vm.box = "ubuntu/focal64" + web03.vm.hostname = "web02" + web03.vm.network "private_network", ip: "192.168.56.44" + end + + config.vm.define "db01" do |db01| + db01.vm.box = "centos/7" + db01.vm.hostname = "db01" + db01.vm.network "private_network", ip: "192.168.56.42" + db01.vm.provision "shell", inline: <<-SHELL + yum install -y wget unzip mariadb-server -y + systemctl start mariadb + systemctl enable mariadb + # Additional provisioning steps for db01 + SHELL + end + end + \ No newline at end of file diff --git a/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/WindowsAndMacIntel/ubuntu/Vagrantfile b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/WindowsAndMacIntel/ubuntu/Vagrantfile new file mode 100644 index 00000000..dac7d556 --- /dev/null +++ b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/WindowsAndMacIntel/ubuntu/Vagrantfile @@ -0,0 +1,77 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +# All Vagrant configuration is done below. The "2" in Vagrant.configure +# configures the configuration version (we support older styles for +# backwards compatibility). Please don't change it unless you know what +# you're doing. +Vagrant.configure("2") do |config| + # The most common configuration options are documented and commented below. + # For a complete reference, please see the online documentation at + # https://docs.vagrantup.com. + + # Every Vagrant development environment requires a box. You can search for + # boxes at https://vagrantcloud.com/search. + config.vm.box = "ubuntu/jammy64" + + # Disable automatic box update checking. If you disable this, then + # boxes will only be checked for updates when the user runs + # `vagrant box outdated`. This is not recommended. + # config.vm.box_check_update = false + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine. In the example below, + # accessing "localhost:8080" will access port 80 on the guest machine. + # NOTE: This will enable public access to the opened port + # config.vm.network "forwarded_port", guest: 80, host: 8080 + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine and only allow access + # via 127.0.0.1 to disable public access + # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1" + + # Create a private network, which allows host-only access to the machine + # using a specific IP. + config.vm.network "private_network", ip: "192.168.56.14" + + # Create a public network, which generally matched to bridged network. + # Bridged networks make the machine appear as another physical device on + # your network. + config.vm.network "public_network" + + # Share an additional folder to the guest VM. The first argument is + # the path on the host to the actual folder. The second argument is + # the path on the guest to mount the folder. And the optional third + # argument is a set of non-required options. + + # Windows Path + # config.vm.synced_folder "F:\\scripts\\shellscripts", "/opt/scripts" + + # MacOS + # config.vm.synced_folder "/Users/imran/Desktop/scripts", "/opt/scripts" + + + # Provider-specific configuration so you can fine-tune various + # backing providers for Vagrant. These expose provider-specific options. + # Example for VirtualBox: + # + config.vm.provider "virtualbox" do |vb| + # # Display the VirtualBox GUI when booting the machine + # vb.gui = true + # + # # Customize the amount of memory on the VM: + vb.memory = "1600" + vb.cpus = "2" + end + # + # View the documentation for the provider you are using for more + # information on available options. + + # Enable provisioning with a shell script. Additional provisioners such as + # Ansible, Chef, Docker, Puppet and Salt are also available. Please see the + # documentation for more information about their specific syntax and use. + config.vm.provision "shell", inline: <<-SHELL + apt-get update + apt-get install -y apache2 + SHELL +end diff --git a/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/WindowsAndMacIntel/ubuntu/test1.txt b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/WindowsAndMacIntel/ubuntu/test1.txt new file mode 100644 index 00000000..e69de29b diff --git a/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/WindowsAndMacIntel/wordpress/Vagrantfile b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/WindowsAndMacIntel/wordpress/Vagrantfile new file mode 100644 index 00000000..6bdbe1d3 --- /dev/null +++ b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/WindowsAndMacIntel/wordpress/Vagrantfile @@ -0,0 +1,70 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +# All Vagrant configuration is done below. The "2" in Vagrant.configure +# configures the configuration version (we support older styles for +# backwards compatibility). Please don't change it unless you know what +# you're doing. +Vagrant.configure("2") do |config| + # The most common configuration options are documented and commented below. + # For a complete reference, please see the online documentation at + # https://docs.vagrantup.com. + + # Every Vagrant development environment requires a box. You can search for + # boxes at https://vagrantcloud.com/search. + config.vm.box = "ubuntu/focal64" + + # Disable automatic box update checking. If you disable this, then + # boxes will only be checked for updates when the user runs + # `vagrant box outdated`. This is not recommended. + # config.vm.box_check_update = false + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine. In the example below, + # accessing "localhost:8080" will access port 80 on the guest machine. + # NOTE: This will enable public access to the opened port + # config.vm.network "forwarded_port", guest: 80, host: 8080 + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine and only allow access + # via 127.0.0.1 to disable public access + # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1" + + # Create a private network, which allows host-only access to the machine + # using a specific IP. + config.vm.network "private_network", ip: "192.168.56.26" + + # Create a public network, which generally matched to bridged network. + # Bridged networks make the machine appear as another physical device on + # your network. + config.vm.network "public_network" + + # Share an additional folder to the guest VM. The first argument is + # the path on the host to the actual folder. The second argument is + # the path on the guest to mount the folder. And the optional third + # argument is a set of non-required options. + # config.vm.synced_folder "../data", "/vagrant_data" + + # Provider-specific configuration so you can fine-tune various + # backing providers for Vagrant. These expose provider-specific options. + # Example for VirtualBox: + # + config.vm.provider "virtualbox" do |vb| + # # Display the VirtualBox GUI when booting the machine + # vb.gui = true + # + # # Customize the amount of memory on the VM: + vb.memory = "1600" + end + # + # View the documentation for the provider you are using for more + # information on available options. + + # Enable provisioning with a shell script. Additional provisioners such as + # Ansible, Chef, Docker, Puppet and Salt are also available. Please see the + # documentation for more information about their specific syntax and use. + # config.vm.provision "shell", inline: <<-SHELL + # apt-get update + # apt-get install -y apache2 + # SHELL +end diff --git a/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/WindowsAndMacIntel/wordpressIAC/Vagrantfile b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/WindowsAndMacIntel/wordpressIAC/Vagrantfile new file mode 100644 index 00000000..92223805 --- /dev/null +++ b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms/WindowsAndMacIntel/wordpressIAC/Vagrantfile @@ -0,0 +1,123 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +# All Vagrant configuration is done below. The "2" in Vagrant.configure +# configures the configuration version (we support older styles for +# backwards compatibility). Please don't change it unless you know what +# you're doing. +Vagrant.configure("2") do |config| + # The most common configuration options are documented and commented below. + # For a complete reference, please see the online documentation at + # https://docs.vagrantup.com. + + # Every Vagrant development environment requires a box. You can search for + # boxes at https://vagrantcloud.com/search. + config.vm.box = "ubuntu/focal64" + + # Disable automatic box update checking. If you disable this, then + # boxes will only be checked for updates when the user runs + # `vagrant box outdated`. This is not recommended. + # config.vm.box_check_update = false + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine. In the example below, + # accessing "localhost:8080" will access port 80 on the guest machine. + # NOTE: This will enable public access to the opened port + # config.vm.network "forwarded_port", guest: 80, host: 8080 + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine and only allow access + # via 127.0.0.1 to disable public access + # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1" + + # Create a private network, which allows host-only access to the machine + # using a specific IP. + config.vm.network "private_network", ip: "192.168.56.30" + + # Create a public network, which generally matched to bridged network. + # Bridged networks make the machine appear as another physical device on + # your network. + config.vm.network "public_network" + + # Share an additional folder to the guest VM. The first argument is + # the path on the host to the actual folder. The second argument is + # the path on the guest to mount the folder. And the optional third + # argument is a set of non-required options. + # config.vm.synced_folder "../data", "/vagrant_data" + + # Provider-specific configuration so you can fine-tune various + # backing providers for Vagrant. These expose provider-specific options. + # Example for VirtualBox: + # + config.vm.provider "virtualbox" do |vb| + # # Display the VirtualBox GUI when booting the machine + # vb.gui = true + # + # # Customize the amount of memory on the VM: + vb.memory = "1600" + end + # + # View the documentation for the provider you are using for more + # information on available options. + + # Enable provisioning with a shell script. Additional provisioners such as + # Ansible, Chef, Docker, Puppet and Salt are also available. Please see the + # documentation for more information about their specific syntax and use. + config.vm.provision "shell", inline: <<-SHELL + sudo apt update + sudo apt install apache2 \ + ghostscript \ + libapache2-mod-php \ + mysql-server \ + php \ + php-bcmath \ + php-curl \ + php-imagick \ + php-intl \ + php-json \ + php-mbstring \ + php-mysql \ + php-xml \ + php-zip -y + + sudo mkdir -p /srv/www + sudo chown www-data: /srv/www + curl https://wordpress.org/latest.tar.gz | sudo -u www-data tar zx -C /srv/www + + cat > /etc/apache2/sites-available/wordpress.conf < + DocumentRoot /srv/www/wordpress + + Options FollowSymLinks + AllowOverride Limit Options FileInfo + DirectoryIndex index.php + Require all granted + + + Options FollowSymLinks + Require all granted + + +EOF + + sudo a2ensite wordpress + sudo a2enmod rewrite + sudo a2dissite 000-default + + + mysql -u root -e 'CREATE DATABASE wordpress;' + mysql -u root -e 'CREATE USER wordpress@localhost IDENTIFIED BY "admin123";' + mysql -u root -e 'GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON wordpress.* TO wordpress@localhost;' + mysql -u root -e 'FLUSH PRIVILEGES;' + + sudo -u www-data cp /srv/www/wordpress/wp-config-sample.php /srv/www/wordpress/wp-config.php + sudo -u www-data sed -i 's/database_name_here/wordpress/' /srv/www/wordpress/wp-config.php + sudo -u www-data sed -i 's/username_here/wordpress/' /srv/www/wordpress/wp-config.php + sudo -u www-data sed -i 's/password_here/admin123/' /srv/www/wordpress/wp-config.php + + systemctl restart mysql + systemctl restart apache2 + + + SHELL +end diff --git a/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms_20062023.zip b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms_20062023.zip new file mode 100644 index 00000000..ca27e5a4 Binary files /dev/null and b/ddc-material-master/05.VagrantAndLinuxServers/vagrant-vms_20062023.zip differ diff --git a/ddc-material-master/06.ProjectSetupLocal/VproSetupLocalIntroSlides.pdf b/ddc-material-master/06.ProjectSetupLocal/VproSetupLocalIntroSlides.pdf new file mode 100644 index 00000000..12ff981b Binary files /dev/null and b/ddc-material-master/06.ProjectSetupLocal/VproSetupLocalIntroSlides.pdf differ diff --git a/ddc-material-master/06.ProjectSetupLocal/VprofileProjectSetupMacM1M2.pdf b/ddc-material-master/06.ProjectSetupLocal/VprofileProjectSetupMacM1M2.pdf new file mode 100644 index 00000000..25ac9814 Binary files /dev/null and b/ddc-material-master/06.ProjectSetupLocal/VprofileProjectSetupMacM1M2.pdf differ diff --git a/ddc-material-master/06.ProjectSetupLocal/VprofileProjectSetupWindowsAndMacIntel.pdf b/ddc-material-master/06.ProjectSetupLocal/VprofileProjectSetupWindowsAndMacIntel.pdf new file mode 100644 index 00000000..52f5e10a Binary files /dev/null and b/ddc-material-master/06.ProjectSetupLocal/VprofileProjectSetupWindowsAndMacIntel.pdf differ diff --git a/ddc-material-master/07.Networking/NetworkingUdemy.pdf b/ddc-material-master/07.Networking/NetworkingUdemy.pdf new file mode 100644 index 00000000..38846d6b Binary files /dev/null and b/ddc-material-master/07.Networking/NetworkingUdemy.pdf differ diff --git a/ddc-material-master/08.Containers/Containers.pdf b/ddc-material-master/08.Containers/Containers.pdf new file mode 100644 index 00000000..0381771e Binary files /dev/null and b/ddc-material-master/08.Containers/Containers.pdf differ diff --git a/ddc-material-master/08.Containers/ContainersLinks.rtf b/ddc-material-master/08.Containers/ContainersLinks.rtf new file mode 100644 index 00000000..dd9fb862 --- /dev/null +++ b/ddc-material-master/08.Containers/ContainersLinks.rtf @@ -0,0 +1,12 @@ +{\rtf1\ansi\ansicpg1252\cocoartf2636 +\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +{\*\expandedcolortbl;;} +\paperw11900\paperh16840\margl1440\margr1440\vieww11520\viewh8400\viewkind0 +\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0 + +\f0\fs24 \cf0 https://www.docker.com/resources/what-container/\ +\ +https://docs.docker.com/get-started/overview/\ +\ +https://aws.amazon.com/microservices/} \ No newline at end of file diff --git a/ddc-material-master/08.Containers/HandsOnDocker/dockerInstallOnUbuntu.txt b/ddc-material-master/08.Containers/HandsOnDocker/dockerInstallOnUbuntu.txt new file mode 100644 index 00000000..94d3655a --- /dev/null +++ b/ddc-material-master/08.Containers/HandsOnDocker/dockerInstallOnUbuntu.txt @@ -0,0 +1,17 @@ +sudo apt-get update + +sudo apt-get install \ + ca-certificates \ + curl \ + gnupg \ + lsb-release -y + +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg + +echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ + $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null + + +sudo apt-get update +sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y \ No newline at end of file diff --git a/ddc-material-master/08.Containers/HandsOnDocker/docker_hands_on_commands.txt b/ddc-material-master/08.Containers/HandsOnDocker/docker_hands_on_commands.txt new file mode 100644 index 00000000..cb933f0b --- /dev/null +++ b/ddc-material-master/08.Containers/HandsOnDocker/docker_hands_on_commands.txt @@ -0,0 +1,68 @@ +# Basic Commands +systemctl status docker +docker run hello-world + +docker images +docker ps +docker ps -a + +# Run a container +docker run --name web01 -d -p 9080:80 nginx +docker ps +docker inspect web01 +curl http://172.17.0.2:80 + +ip addr show +docker ps + +# Go to browser enter IP:HostPort + +# Building an Image +mkdir images +cd images/ +vim Dockerfile + +# Paste below content +FROM ubuntu:latest AS BUILD_IMAGE +RUN apt update && apt install wget unzip -y +RUN wget https://www.tooplate.com/zip-templates/2128_tween_agency.zip +RUN unzip 2128_tween_agency.zip && cd 2128_tween_agency && tar -czf tween.tgz * && mv tween.tgz /root/tween.tgz + +FROM ubuntu:latest +LABEL "project"="Marketing" +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt update && apt install apache2 git wget -y +COPY --from=BUILD_IMAGE /root/tween.tgz /var/www/html/ +RUN cd /var/www/html/ && tar xzf tween.tgz +CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"] +VOLUME /var/log/apache2 +WORKDIR /var/www/html/ +EXPOSE 80 + +# Build Image +docker build -t tesimg . +docker images + +# Run container from our Image +docker run -P -d tesimg +docker ps + + +docker ps +ip addr show +docker ps + +# Go to browser enter IP:HostPort + + +# CLEAN UP +docker ps +docker stop web01 heuristic_hugle +docker ps -a +docker rm heuristic_hugle web01 competent_gates elastic_ramanujan relaxed_sammet +clear +docker images +docker rmi a54ee9c44b3b 6130c26b5558 057d51c0049c 825d55fb6340 12766a6745ee feb5d9fea6a5 + + diff --git a/ddc-material-master/08.Containers/MicroServiceApp/Vagrantfile b/ddc-material-master/08.Containers/MicroServiceApp/Vagrantfile new file mode 100644 index 00000000..2a903c74 --- /dev/null +++ b/ddc-material-master/08.Containers/MicroServiceApp/Vagrantfile @@ -0,0 +1,82 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +# All Vagrant configuration is done below. The "2" in Vagrant.configure +# configures the configuration version (we support older styles for +# backwards compatibility). Please don't change it unless you know what +# you're doing. +Vagrant.configure("2") do |config| + # The most common configuration options are documented and commented below. + # For a complete reference, please see the online documentation at + # https://docs.vagrantup.com. + + # Every Vagrant development environment requires a box. You can search for + # boxes at https://vagrantcloud.com/search. + config.vm.box = "ubuntu/focal64" + + # Disable automatic box update checking. If you disable this, then + # boxes will only be checked for updates when the user runs + # `vagrant box outdated`. This is not recommended. + # config.vm.box_check_update = false + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine. In the example below, + # accessing "localhost:8080" will access port 80 on the guest machine. + # NOTE: This will enable public access to the opened port + # config.vm.network "forwarded_port", guest: 80, host: 8080 + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine and only allow access + # via 127.0.0.1 to disable public access + # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1" + + # Create a private network, which allows host-only access to the machine + # using a specific IP. + # config.vm.network "private_network", ip: "192.168.33.10" + + # Create a public network, which generally matched to bridged network. + # Bridged networks make the machine appear as another physical device on + # your network. + config.vm.network "public_network" + + # Share an additional folder to the guest VM. The first argument is + # the path on the host to the actual folder. The second argument is + # the path on the guest to mount the folder. And the optional third + # argument is a set of non-required options. + # config.vm.synced_folder "../data", "/vagrant_data" + + # Provider-specific configuration so you can fine-tune various + # backing providers for Vagrant. These expose provider-specific options. + # Example for VirtualBox: + # + config.vm.provider "virtualbox" do |vb| + # # Display the VirtualBox GUI when booting the machine + # vb.gui = true + # + # # Customize the amount of memory on the VM: + vb.memory = "2048" + end + # + # View the documentation for the provider you are using for more + # information on available options. + + # Enable provisioning with a shell script. Additional provisioners such as + # Ansible, Chef, Docker, Puppet and Salt are also available. Please see the + # documentation for more information about their specific syntax and use. + config.vm.provision "shell", inline: <<-SHELL + sudo apt-get update + sudo apt-get install \ + ca-certificates \ + curl \ + gnupg \ + lsb-release -y + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg + echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ + $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null + sudo apt-get update + sudo apt-get install docker-ce docker-ce-cli containerd.io -y + sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose + sudo chmod +x /usr/local/bin/docker-compose + SHELL +end diff --git a/ddc-material-master/08.Containers/MicroServiceApp/emart_docker-compose.txt b/ddc-material-master/08.Containers/MicroServiceApp/emart_docker-compose.txt new file mode 100644 index 00000000..598df4d8 --- /dev/null +++ b/ddc-material-master/08.Containers/MicroServiceApp/emart_docker-compose.txt @@ -0,0 +1,16 @@ +# Clone source code of Emart App +git clone https://github.com/devopshydclub/emartapp.git +ls +cd emartapp/ +ls + +# Bring up containers from docker-compose file +vim docker-compose.yaml +docker-compose up -d +docker ps +ip addr show + +# Go to browser enter http://VMIp:80 + +# Clean up +docker-compose down diff --git a/ddc-material-master/08.Containers/Vprofile/vprofile_docker-compose.txt b/ddc-material-master/08.Containers/Vprofile/vprofile_docker-compose.txt new file mode 100644 index 00000000..c4a11990 --- /dev/null +++ b/ddc-material-master/08.Containers/Vprofile/vprofile_docker-compose.txt @@ -0,0 +1,18 @@ +# Create directory +mkdir compose +cd compose/ + +# docker-compose command +docker-compose + +# Download docker-compos.yml file for vprofile project +wget https://raw.githubusercontent.com/devopshydclub/vprofile-project/vp-docker/compose/docker-compose.yml +ls +vim docker-compose.yml + +# Bring up all the containers +docker-compose up -d +docker ps +ip addr show + +# Go to browser and enter VMIP:80 diff --git a/ddc-material-master/08.Containers/vagrantfiles_dock/MacOSM1Chip/Vagrantfile b/ddc-material-master/08.Containers/vagrantfiles_dock/MacOSM1Chip/Vagrantfile new file mode 100644 index 00000000..091670e1 --- /dev/null +++ b/ddc-material-master/08.Containers/vagrantfiles_dock/MacOSM1Chip/Vagrantfile @@ -0,0 +1,90 @@ +# -- mode: ruby -- +# vi: set ft=ruby : + +# All Vagrant configuration is done below. The "2" in Vagrant.configure +# configures the configuration version (we support older styles for +# backwards compatibility). Please don't change it unless you know what +# you're doing. +Vagrant.configure("2") do |config| + # The most common configuration options are documented and commented below. + # For a complete reference, please see the online documentation at + # https://docs.vagrantup.com. + + # Every Vagrant development environment requires a box. You can search for + # boxes at https://vagrantcloud.com/search. + config.vm.box = "spox/ubuntu-arm" + config.vm.box_version = "1.0.0" + config.vm.network "private_network", ip: "192.168.56.82" + config.vm.provider "vmware_desktop" do |vmware| + vmware.gui = true + vmware.allowlist_verified = true + vmware.memory = "2048" + end + + # Disable automatic box update checking. If you disable this, then + # boxes will only be checked for updates when the user runs + # `vagrant box outdated`. This is not recommended. + # config.vm.box_check_update = false + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine. In the example below, + # accessing "localhost:8080" will access port 80 on the guest machine. + # NOTE: This will enable public access to the opened port + # config.vm.network "forwarded_port", guest: 80, host: 8080 + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine and only allow access + # via 127.0.0.1 to disable public access + # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1" + + # Create a private network, which allows host-only access to the machine + # using a specific IP. + # config.vm.network "private_network", ip: "192.168.33.10" + + # Create a public network, which generally matched to bridged network. + # Bridged networks make the machine appear as another physical device on + # your network. + config.vm.network "public_network" + + # Share an additional folder to the guest VM. The first argument is + # the path on the host to the actual folder. The second argument is + # the path on the guest to mount the folder. And the optional third + # argument is a set of non-required options. + # config.vm.synced_folder "../data", "/vagrant_data" + + # Provider-specific configuration so you can fine-tune various + # backing providers for Vagrant. These expose provider-specific options. + # Example for VirtualBox: + # + # config.vm.provider "virtualbox" do |vb| + # # Display the VirtualBox GUI when booting the machine + # vb.gui = true + # + # # Customize the amount of memory on the VM: + # vb.memory = "2048" + # end + # + # View the documentation for the provider you are using for more + # information on available options. + + # Enable provisioning with a shell script. Additional provisioners such as + # Ansible, Chef, Docker, Puppet and Salt are also available. Please see the + # documentation for more information about their specific syntax and use. + config.vm.provision "shell", inline: <<-SHELL + sudo apt-get update +sudo apt-get install \ + ca-certificates \ + curl \ + gnupg -y + +sudo install -m 0755 -d /etc/apt/keyrings +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg +sudo chmod a+r /etc/apt/keyrings/docker.gpg +echo \ + "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ + "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ + sudo tee /etc/apt/sources.list.d/docker.list > /dev/null +sudo apt-get update +sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y + SHELL +end diff --git a/ddc-material-master/08.Containers/vagrantfiles_dock/windowsAndMacIntel/Vagrantfile b/ddc-material-master/08.Containers/vagrantfiles_dock/windowsAndMacIntel/Vagrantfile new file mode 100644 index 00000000..44ce0623 --- /dev/null +++ b/ddc-material-master/08.Containers/vagrantfiles_dock/windowsAndMacIntel/Vagrantfile @@ -0,0 +1,83 @@ +# -- mode: ruby -- +# vi: set ft=ruby : + +# All Vagrant configuration is done below. The "2" in Vagrant.configure +# configures the configuration version (we support older styles for +# backwards compatibility). Please don't change it unless you know what +# you're doing. +Vagrant.configure("2") do |config| + # The most common configuration options are documented and commented below. + # For a complete reference, please see the online documentation at + # https://docs.vagrantup.com. + + # Every Vagrant development environment requires a box. You can search for + # boxes at https://vagrantcloud.com/search. + config.vm.box = "ubuntu/focal64" + + # Disable automatic box update checking. If you disable this, then + # boxes will only be checked for updates when the user runs + # `vagrant box outdated`. This is not recommended. + # config.vm.box_check_update = false + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine. In the example below, + # accessing "localhost:8080" will access port 80 on the guest machine. + # NOTE: This will enable public access to the opened port + # config.vm.network "forwarded_port", guest: 80, host: 8080 + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine and only allow access + # via 127.0.0.1 to disable public access + # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1" + + # Create a private network, which allows host-only access to the machine + # using a specific IP. + config.vm.network "private_network", ip: "192.168.56.82" + + # Create a public network, which generally matched to bridged network. + # Bridged networks make the machine appear as another physical device on + # your network. + config.vm.network "public_network" + + # Share an additional folder to the guest VM. The first argument is + # the path on the host to the actual folder. The second argument is + # the path on the guest to mount the folder. And the optional third + # argument is a set of non-required options. + # config.vm.synced_folder "../data", "/vagrant_data" + + # Provider-specific configuration so you can fine-tune various + # backing providers for Vagrant. These expose provider-specific options. + # Example for VirtualBox: + # + config.vm.provider "virtualbox" do |vb| + # # Display the VirtualBox GUI when booting the machine + # vb.gui = true + # + # # Customize the amount of memory on the VM: + vb.memory = "2048" + end + # + # View the documentation for the provider you are using for more + # information on available options. + + # Enable provisioning with a shell script. Additional provisioners such as + # Ansible, Chef, Docker, Puppet and Salt are also available. Please see the + # documentation for more information about their specific syntax and use. + config.vm.provision "shell", inline: <<-SHELL + sudo apt-get update +sudo apt-get install \ + ca-certificates \ + curl \ + gnupg -y + +sudo install -m 0755 -d /etc/apt/keyrings +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg +sudo chmod a+r /etc/apt/keyrings/docker.gpg +echo \ + "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ + "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ + sudo tee /etc/apt/sources.list.d/docker.list > /dev/null +sudo apt-get update +sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y + SHELL +end diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/4_diff_os_tomcat_script/Vagrantfile b/ddc-material-master/09.BashScripting/Bash_Scripts/4_diff_os_tomcat_script/Vagrantfile new file mode 100644 index 00000000..65134fff --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/4_diff_os_tomcat_script/Vagrantfile @@ -0,0 +1,32 @@ +Vagrant.configure("2") do |config| + + config.vm.define "tom_centos6" do |tom_centos6| + tom_centos6.vm.box = "centos/6" + tom_centos6.vm.hostname = "tomcentos6" + tom_centos6.vm.network "private_network", ip: "192.168.6.2" + end + + config.vm.define "tom_centos7" do |tom_centos7| + tom_centos7.vm.box = "centos/7" + tom_centos7.vm.hostname = "tomcentos7" + tom_centos7.vm.network "private_network", ip: "192.168.6.3" + tom_centos7.vm.provider "virtualbox" do |vb| + vb.memory = "1024" + vb.cpus = 2 + end + end + + config.vm.define "tom_ubuntu14" do |tom_ubuntu14| + tom_ubuntu14.vm.box = "ubuntu/trusty64" + tom_ubuntu14.vm.hostname = "tomubuntu14" + tom_ubuntu14.vm.network "private_network", ip: "192.168.6.4" + end + + config.vm.define "tom_ubuntu16" do |tom_ubuntu16| + tom_ubuntu16.vm.box = "ubuntu/xenial64" + tom_ubuntu16.vm.hostname = "tomubuntu16" + tom_ubuntu16.vm.network "private_network", ip: "192.168.6.5" + end + +end + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/4_diff_os_tomcat_script/tomsetup_scripts/centos6-svcfile b/ddc-material-master/09.BashScripting/Bash_Scripts/4_diff_os_tomcat_script/tomsetup_scripts/centos6-svcfile new file mode 100644 index 00000000..d95cd2c0 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/4_diff_os_tomcat_script/tomsetup_scripts/centos6-svcfile @@ -0,0 +1,37 @@ +#!/bin/bash + +### BEGIN INIT INFO +# Provides: tomcat7 +# Required-Start: $network +# Required-Stop: $network +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start/Stop Tomcat server +### END INIT INFO + +PATH=/sbin:/bin:/usr/sbin:/usr/bin + +start() { +sh /usr/local/tomcat8/bin/startup.sh +} + +stop() { +sh /usr/local/tomcat8/bin/shutdown.sh +} + +status() { +pid=$(ps -fe | grep '/usr/local/tomcat8' | grep -v grep | tr -s " " | cut -d" " -f2) + if [ -n "$pid" ]; then + echo -e "\e[00;32mTomcat is running with pid: $pid\e[00m" + else + echo -e "\e[00;31mTomcat is not running\e[00m" + fi +} + +case $1 in +start|stop|status) $1;; +restart) stop; start;; +*) echo "Run as $0 "; exit 1;; +esac +exit 0 + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/4_diff_os_tomcat_script/tomsetup_scripts/centos7-svcfile b/ddc-material-master/09.BashScripting/Bash_Scripts/4_diff_os_tomcat_script/tomsetup_scripts/centos7-svcfile new file mode 100644 index 00000000..0c3a568b --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/4_diff_os_tomcat_script/tomsetup_scripts/centos7-svcfile @@ -0,0 +1,27 @@ +# Systemd unit file for tomcat +[Unit] +Description=Apache Tomcat Web Application Container +After=syslog.target network.target + +[Service] +Type=forking + +Environment=JAVA_HOME=/usr/lib/jvm/jre +Environment=CATALINA_PID=/usr/local/tomcat8/temp/tomcat.pid +Environment=CATALINA_HOME=/usr/local/tomcat8 +Environment=CATALINA_BASE=/usr/local/tomcat8 +Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC' +Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom' + +ExecStart=/usr/local/tomcat8/bin/startup.sh +ExecStop=/usr/local/tomcat8/bin/shutdown.sh + +User=tomcat +Group=tomcat +UMask=0007 +RestartSec=10 +Restart=always + +[Install] +WantedBy=multi-user.target + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/4_diff_os_tomcat_script/tomsetup_scripts/tomcat8_setup.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/4_diff_os_tomcat_script/tomsetup_scripts/tomcat8_setup.sh new file mode 100644 index 00000000..25cc5e00 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/4_diff_os_tomcat_script/tomsetup_scripts/tomcat8_setup.sh @@ -0,0 +1,298 @@ +source vars.txt + +yum --help > /dev/null 2> /dev/null +if [ $? -eq 0 ] +then + if grep -q -i "release 6" /etc/redhat-release + then + echo "############################################################" + echo "Setup Running on Centos 6." + echo "############################################################" + echo + echo + + SVCFILE=centos6-svcfile + + echo "############################################################" + echo "Installing Java" + echo "############################################################" + yum install epel-release -y + yum install java-1.8.0-openjdk.x86_64 wget -y + echo + echo + + echo "############################################################" + echo "Setting up Users & Group" + echo "############################################################" + groupadd tomcat + useradd -M -s /bin/nologin -g tomcat -d $TOMCAT_HOME tomcat + echo + echo + + echo "############################################################" + echo "Downloading tomcat..." + echo "############################################################" + wget $DOWNLOAD_URL + mkdir -p $TOMCAT_HOME + tar xf apache-tomcat-8*tar.gz -C $TOMCAT_HOME --strip-components=1 + echo + echo + + echo "############################################################" + echo "Setting up Permissions." + echo "############################################################" + chmod -R g+r $TOMCAT_HOME/conf + chown tomcat:tomcat -R $TOMCAT_HOME/* + echo + echo + + echo "############################################################" + echo "Setting up Startup scripts" + echo "############################################################" + cat $SVCFILE > /etc/init.d/tomcat + chmod 755 /etc/init.d/tomcat + sleep 5 + chkconfig --add tomcat + sleep 5 + echo + echo + + echo "############################################################" + echo "Setting Tomcat Service" + echo "############################################################" + service tomcat start + sleep 5 + echo + echo + + service tomcat status + sleep 5 + echo "############################################################" + echo "Enable Tomcat Service" + echo "############################################################" + echo + echo + + chkconfig tomcat on + echo + echo + + else +echo "############################################################" + echo "Setup Running on Centos 7." + echo "############################################################" + + SVCFILE=centos7-svcfile + + echo "############################################################" + echo "Installing Java" + echo "############################################################" + + yum install epel-release -y + yum install java-1.8.0-openjdk.x86_64 wget -y + echo + echo + + echo "############################################################" + echo "Setting up Users & Group" + echo "############################################################" + groupadd tomcat + useradd -M -s /bin/nologin -g tomcat -d $TOMCAT_HOME tomcat + echo + echo + + echo "############################################################" + echo "Downloading tomcat..." + echo "############################################################" + wget $DOWNLOAD_URL + mkdir -p $TOMCAT_HOME + tar xf apache-tomcat-8*tar.gz -C $TOMCAT_HOME --strip-components=1 + echo + echo + + echo "############################################################" + echo "Setting up Permissions." + echo "############################################################" + chmod -R g+r $TOMCAT_HOME/conf + chown tomcat:tomcat -R $TOMCAT_HOME/* + echo + echo + echo "############################################################" + echo "Setting up Startup scripts" + echo "############################################################" + cat $SVCFILE > /etc/systemd/system/tomcat.service + chmod a+x /etc/systemd/system/tomcat.service + sleep 5 + + systemctl daemon-reload + sleep 5 + echo + echo + + echo "############################################################" + echo "Starting Tomcat Service" + echo "############################################################" + systemctl start tomcat + sleep 5 + systemctl status tomcat + sleep 5 + + echo + echo + + echo "############################################################" + echo "Enabling Tomcat Service" + echo "############################################################" + systemctl enable tomcat + fi +else + a=$(lsb_release -r) + if echo $a | grep -q -i "14" + then + echo "############################################################" + echo "Setup Running on UBUNTU 14." + echo "############################################################" + + SVCFILE=centos6-svcfile + + echo "############################################################" + echo "Installing Java" + echo "############################################################" + add-apt-repository ppa:openjdk-r/ppa + apt update + apt install openjdk-8-jdk wget -y + echo + echo + + echo "############################################################" + echo "Setting up Users & Group" + echo "############################################################" + groupadd tomcat + useradd -M -s /bin/nologin -g tomcat -d $TOMCAT_HOME tomcat + echo + echo + + echo "############################################################" + echo "Downloading tomcat..." + echo "############################################################" + wget $DOWNLOAD_URL + mkdir -p $TOMCAT_HOME + tar xf apache-tomcat-8*tar.gz -C $TOMCAT_HOME --strip-components=1 + echo + echo + + echo "############################################################" + echo "Setting up Permissions." + echo "############################################################" + chmod -R g+r $TOMCAT_HOME/conf + chown tomcat:tomcat -R $TOMCAT_HOME/* + echo + echo + + echo "############################################################" + echo "Setting up Startup scripts" + echo "############################################################" + cat $SVCFILE > /etc/init.d/tomcat + chmod 755 /etc/init.d/tomcat + sleep 5 + echo + echo + + echo "############################################################" + echo "Setting Tomcat Service" + echo "############################################################" + update-rc.d tomcat defaults + sleep 5 + echo + echo + + echo "############################################################" + echo "Starting Tomcat Service" + echo "############################################################" + service tomcat start + sleep 5 + echo + echo + + service tomcat status + sleep 5 + echo + echo + + echo "############################################################" + echo "Enable Tomcat Service" + echo "############################################################" + update-rc.d tomcat enable + echo + echo + + else + echo "############################################################" + echo "Setup Running on UBUNTU 16." + echo "############################################################" + + SVCFILE=ubuntu16-svcfile + + echo "############################################################" + echo "Installing Java" + echo "############################################################" + apt update + apt install openjdk-8-jdk wget -y + echo + echo + + echo "############################################################" + echo "Setting up Users & Group" + echo "############################################################" + groupadd tomcat + useradd -M -s /bin/nologin -g tomcat -d $TOMCAT_HOME tomcat + echo + echo + + echo "############################################################" + echo "Downloading tomcat..." + echo "############################################################" + wget $DOWNLOAD_URL + mkdir -p $TOMCAT_HOME + tar xf apache-tomcat-8*tar.gz -C $TOMCAT_HOME --strip-components=1 + echo + echo + + echo "############################################################" + echo "Setting up Permissions." + echo "############################################################" + chmod -R g+r $TOMCAT_HOME/conf + chown tomcat:tomcat -R $TOMCAT_HOME/* + echo + echo + echo "############################################################" + echo "Setting up Startup scripts" + echo "############################################################" + cat $SVCFILE > /etc/systemd/system/tomcat.service + chmod a+x /etc/systemd/system/tomcat.service + sleep 5 + + systemctl daemon-reload + sleep 5 + echo + echo + + echo "############################################################" + echo "Starting Tomcat Service" + echo "############################################################" + systemctl start tomcat + sleep 5 + systemctl status tomcat + sleep 5 + + echo + echo + + echo "############################################################" + echo "Enabling Tomcat Service" + echo "############################################################" + systemctl enable tomcat + fi + +fi + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/4_diff_os_tomcat_script/tomsetup_scripts/ubuntu16-svcfile b/ddc-material-master/09.BashScripting/Bash_Scripts/4_diff_os_tomcat_script/tomsetup_scripts/ubuntu16-svcfile new file mode 100644 index 00000000..0a1bebc7 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/4_diff_os_tomcat_script/tomsetup_scripts/ubuntu16-svcfile @@ -0,0 +1,27 @@ +# Systemd unit file for tomcat +[Unit] +Description=Apache Tomcat Web Application Container +After=syslog.target network.target + +[Service] +Type=forking + +Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre +Environment=CATALINA_PID=/usr/local/tomcat8/temp/tomcat.pid +Environment=CATALINA_HOME=/usr/local/tomcat8 +Environment=CATALINA_BASE=/usr/local/tomcat8 +Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC' +Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom' + +ExecStart=/usr/local/tomcat8/bin/startup.sh +ExecStop=/usr/local/tomcat8/bin/shutdown.sh + +User=tomcat +Group=tomcat +UMask=0007 +RestartSec=10 +Restart=always + +[Install] +WantedBy=multi-user.target + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/4_diff_os_tomcat_script/tomsetup_scripts/vars.txt b/ddc-material-master/09.BashScripting/Bash_Scripts/4_diff_os_tomcat_script/tomsetup_scripts/vars.txt new file mode 100644 index 00000000..6194d354 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/4_diff_os_tomcat_script/tomsetup_scripts/vars.txt @@ -0,0 +1,3 @@ +export DOWNLOAD_URL=http://mirrors.estointernet.in/apache/tomcat/tomcat-8/v8.5.38/bin/apache-tomcat-8.5.38.tar.gz +#export SVCFILE=/opt/scripts/tomcat/tomcat-centos6-svcfile +export TOMCAT_HOME=/usr/local/tomcat8 diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/4_diff_os_tomcat_script/ubuntu-xenial-16.04-cloudimg-console.log b/ddc-material-master/09.BashScripting/Bash_Scripts/4_diff_os_tomcat_script/ubuntu-xenial-16.04-cloudimg-console.log new file mode 100644 index 00000000..6e10b594 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/4_diff_os_tomcat_script/ubuntu-xenial-16.04-cloudimg-console.log @@ -0,0 +1,753 @@ +[ 0.000000] Initializing cgroup subsys cpuset +[ 0.000000] Initializing cgroup subsys cpu +[ 0.000000] Initializing cgroup subsys cpuacct +[ 0.000000] Linux version 4.4.0-139-generic (buildd@lcy01-amd64-006) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10) ) #165-Ubuntu SMP Wed Oct 24 10:58:50 UTC 2018 (Ubuntu 4.4.0-139.165-generic 4.4.160) +[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.4.0-139-generic root=LABEL=cloudimg-rootfs ro console=tty1 console=ttyS0 +[ 0.000000] KERNEL supported cpus: +[ 0.000000] Intel GenuineIntel +[ 0.000000] AMD AuthenticAMD +[ 0.000000] Centaur CentaurHauls +[ 0.000000] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256 +[ 0.000000] x86/fpu: Supporting XSAVE feature 0x01: 'x87 floating point registers' +[ 0.000000] x86/fpu: Supporting XSAVE feature 0x02: 'SSE registers' +[ 0.000000] x86/fpu: Supporting XSAVE feature 0x04: 'AVX registers' +[ 0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format. +[ 0.000000] e820: BIOS-provided physical RAM map: +[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable +[ 0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved +[ 0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved +[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000003ffeffff] usable +[ 0.000000] BIOS-e820: [mem 0x000000003fff0000-0x000000003fffffff] ACPI data +[ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved +[ 0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved +[ 0.000000] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved +[ 0.000000] NX (Execute Disable) protection: active +[ 0.000000] SMBIOS 2.5 present. +[ 0.000000] Hypervisor detected: KVM +[ 0.000000] e820: last_pfn = 0x3fff0 max_arch_pfn = 0x400000000 +[ 0.000000] MTRR: Disabled +[ 0.000000] x86/PAT: MTRRs disabled, skipping PAT initialization too. +[ 0.000000] CPU MTRRs all blank - virtualized system. +[ 0.000000] x86/PAT: Configuration [0-7]: WB WT UC- UC WB WT UC- UC +[ 0.000000] found SMP MP-table at [mem 0x0009fff0-0x0009ffff] mapped at [ffff88000009fff0] +[ 0.000000] Scanning 1 areas for low memory corruption +[ 0.000000] RAMDISK: [mem 0x3630a000-0x3717cfff] +[ 0.000000] ACPI: Early table checksum verification disabled +[ 0.000000] ACPI: RSDP 0x00000000000E0000 000024 (v02 VBOX ) +[ 0.000000] ACPI: XSDT 0x000000003FFF0030 00003C (v01 VBOX VBOXXSDT 00000001 ASL 00000061) +[ 0.000000] ACPI: FACP 0x000000003FFF00F0 0000F4 (v04 VBOX VBOXFACP 00000001 ASL 00000061) +[ 0.000000] ACPI: DSDT 0x000000003FFF0470 0021FF (v02 VBOX VBOXBIOS 00000002 INTL 20100528) +[ 0.000000] ACPI: FACS 0x000000003FFF0200 000040 +[ 0.000000] ACPI: FACS 0x000000003FFF0200 000040 +[ 0.000000] ACPI: APIC 0x000000003FFF0240 00005C (v02 VBOX VBOXAPIC 00000001 ASL 00000061) +[ 0.000000] ACPI: SSDT 0x000000003FFF02A0 0001CC (v01 VBOX VBOXCPUT 00000002 INTL 20100528) +[ 0.000000] No NUMA configuration found +[ 0.000000] Faking a node at [mem 0x0000000000000000-0x000000003ffeffff] +[ 0.000000] NODE_DATA(0) allocated [mem 0x3ffeb000-0x3ffeffff] +[ 0.000000] kvm-clock: Using msrs 4b564d01 and 4b564d00 +[ 0.000000] kvm-clock: cpu 0, msr 0:3ffe3001, primary cpu clock +[ 0.000000] kvm-clock: using sched offset of 18671545764 cycles +[ 0.000000] clocksource: kvm-clock: mask: 0xffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns +[ 0.000000] Zone ranges: +[ 0.000000] DMA [mem 0x0000000000001000-0x0000000000ffffff] +[ 0.000000] DMA32 [mem 0x0000000001000000-0x000000003ffeffff] +[ 0.000000] Normal empty +[ 0.000000] Device empty +[ 0.000000] Movable zone start for each node +[ 0.000000] Early memory node ranges +[ 0.000000] node 0: [mem 0x0000000000001000-0x000000000009efff] +[ 0.000000] node 0: [mem 0x0000000000100000-0x000000003ffeffff] +[ 0.000000] Initmem setup node 0 [mem 0x0000000000001000-0x000000003ffeffff] +[ 0.000000] ACPI: PM-Timer IO Port: 0x4008 +[ 0.000000] IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23 +[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) +[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level) +[ 0.000000] Using ACPI (MADT) for SMP configuration information +[ 0.000000] smpboot: Allowing 2 CPUs, 0 hotplug CPUs +[ 0.000000] PM: Registered nosave memory: [mem 0x00000000-0x00000fff] +[ 0.000000] PM: Registered nosave memory: [mem 0x0009f000-0x0009ffff] +[ 0.000000] PM: Registered nosave memory: [mem 0x000a0000-0x000effff] +[ 0.000000] PM: Registered nosave memory: [mem 0x000f0000-0x000fffff] +[ 0.000000] e820: [mem 0x40000000-0xfebfffff] available for PCI devices +[ 0.000000] Booting paravirtualized kernel on KVM +[ 0.000000] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns +[ 0.000000] setup_percpu: NR_CPUS:512 nr_cpumask_bits:512 nr_cpu_ids:2 nr_node_ids:1 +[ 0.000000] PERCPU: Embedded 34 pages/cpu @ffff88003fc00000 s99608 r8192 d31464 u1048576 +[ 0.000000] PV qspinlock hash table entries: 256 (order: 0, 4096 bytes) +[ 0.000000] Built 1 zonelists in Node order, mobility grouping on. Total pages: 257912 +[ 0.000000] Policy zone: DMA32 +[ 0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.4.0-139-generic root=LABEL=cloudimg-rootfs ro console=tty1 console=ttyS0 +[ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes) +[ 0.000000] Memory: 997708K/1048120K available (8564K kernel code, 1314K rwdata, 4004K rodata, 1528K init, 1316K bss, 50412K reserved, 0K cma-reserved) +[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1 +[ 0.000000] Kernel/User page tables isolation: enabled +[ 0.000000] Hierarchical RCU implementation. +[ 0.000000] Build-time adjustment of leaf fanout to 64. +[ 0.000000] RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=2. +[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=64, nr_cpu_ids=2 +[ 0.000000] NR_IRQS:33024 nr_irqs:440 16 +[ 0.000000] Console: colour VGA+ 80x25 +[ 0.000000] console [tty1] enabled +[ 0.000000] console [ttyS0] enabled +[ 0.000000] tsc: Detected 2594.116 MHz processor +[ 4.462472] Calibrating delay loop (skipped) preset value.. 5188.23 BogoMIPS (lpj=10376464) +[ 4.525472] pid_max: default: 32768 minimum: 301 +[ 4.561291] ACPI: Core revision 20150930 +[ 4.596093] ACPI: 2 ACPI AML tables successfully acquired and loaded +[ 4.644734] Security Framework initialized +[ 4.675168] Yama: becoming mindful. +[ 4.701523] AppArmor: AppArmor initialized +[ 4.731571] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes) +[ 4.780276] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes) +[ 4.824633] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes) +[ 4.869902] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes) +[ 4.916133] Initializing cgroup subsys io +[ 4.945249] Initializing cgroup subsys memory +[ 4.976904] Initializing cgroup subsys devices +[ 5.008723] Initializing cgroup subsys freezer +[ 5.042263] Initializing cgroup subsys net_cls +[ 5.076013] Initializing cgroup subsys perf_event +[ 5.113890] Initializing cgroup subsys net_prio +[ 5.155047] Initializing cgroup subsys hugetlb +[ 5.189226] Initializing cgroup subsys pids +[ 5.227482] mce: CPU supports 0 MCE banks +[ 5.258563] Last level iTLB entries: 4KB 512, 2MB 8, 4MB 8 +[ 5.295238] Last level dTLB entries: 4KB 512, 2MB 32, 4MB 32, 1GB 0 +[ 5.335721] Spectre V2 : Mitigation: Full generic retpoline +[ 5.373797] Spectre V2 : Spectre v2 mitigation: Speculation control IBPB not-supported IBRS not-supported +[ 5.432334] Spectre V2 : Spectre v2 / SpectreRSB mitigation: Filling RSB on context switch +[ 5.501358] Speculative Store Bypass: Vulnerable +[ 5.598193] Freeing SMP alternatives memory: 32K +[ 5.818787] ftrace: allocating 32278 entries in 127 pages +[ 6.696185] smpboot: APIC(0) Converting physical 0 to logical package 0 +[ 6.737805] smpboot: Max logical packages: 1 +[ 6.777682] x2apic enabled +[ 6.809262] Switched APIC routing to physical x2apic. +[ 6.881596] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1 +[ 7.026555] smpboot: CPU0: Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz (family: 0x6, model: 0x3a, stepping: 0x9) +[ 7.102396] Performance Events: unsupported p6 CPU model 58 no PMU driver, software events only. +[ 7.170976] KVM setup paravirtual spinlock +[ 7.202264] x86: Booting SMP configuration: +[ 7.232438] .... node #0, CPUs: #1 +[ 7.264494] kvm-clock: cpu 1, msr 0:3ffe3041, secondary cpu clock +[ 7.295722] mce: CPU supports 0 MCE banks +[ 7.317831] x86: Booted up 1 node, 2 CPUs +[ 7.360583] smpboot: Total of 2 processors activated (10376.46 BogoMIPS) +[ 7.420346] devtmpfs: initialized +[ 7.465295] evm: security.selinux +[ 7.492131] evm: security.SMACK64 +[ 7.517925] evm: security.SMACK64EXEC +[ 7.545943] evm: security.SMACK64TRANSMUTE +[ 7.576841] evm: security.SMACK64MMAP +[ 7.604921] evm: security.ima +[ 7.629554] evm: security.capability +[ 7.658146] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns +[ 7.723535] futex hash table entries: 512 (order: 3, 32768 bytes) +[ 7.763917] pinctrl core: initialized pinctrl subsystem +[ 7.800211] RTC time: 4:11:08, date: 12/29/18 +[ 7.833861] NET: Registered protocol family 16 +[ 7.875146] cpuidle: using governor ladder +[ 7.919313] cpuidle: using governor menu +[ 7.948405] PCCT header not found. +[ 7.975571] ACPI: bus type PCI registered +[ 8.004767] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5 +[ 8.048904] PCI: Using configuration type 1 for base access +[ 8.109277] ACPI: Added _OSI(Module Device) +[ 8.141971] ACPI: Added _OSI(Processor Device) +[ 8.175616] ACPI: Added _OSI(3.0 _SCP Extensions) +[ 8.208606] ACPI: Added _OSI(Processor Aggregator Device) +[ 8.254591] ACPI: Executed 1 blocks of module-level executable AML code +[ 8.324131] ACPI: Interpreter enabled +[ 8.351860] ACPI: (supports S0 S5) +[ 8.379354] ACPI: Using IOAPIC for interrupt routing +[ 8.416466] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug +[ 8.535767] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff]) +[ 8.579769] acpi PNP0A03:00: _OSC: OS supports [ASPM ClockPM Segments MSI] +[ 8.623936] acpi PNP0A03:00: _OSC: not requesting OS control; OS requires [ExtendedConfig ASPM ClockPM MSI] +[ 8.690811] acpi PNP0A03:00: fail to add MMCONFIG information, can't access extended PCI configuration space under this bridge. +[ 8.769511] PCI host bridge to bus 0000:00 +[ 8.799507] pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window] +[ 8.842914] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window] +[ 8.886790] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window] +[ 8.945298] pci_bus 0000:00: root bus resource [mem 0x40000000-0xfdffffff window] +[ 9.011043] pci_bus 0000:00: root bus resource [bus 00-ff] +[ 9.114423] pci 0000:00:01.1: legacy IDE quirk: reg 0x10: [io 0x01f0-0x01f7] +[ 9.162916] pci 0000:00:01.1: legacy IDE quirk: reg 0x14: [io 0x03f6] +[ 9.207536] pci 0000:00:01.1: legacy IDE quirk: reg 0x18: [io 0x0170-0x0177] +[ 9.253137] pci 0000:00:01.1: legacy IDE quirk: reg 0x1c: [io 0x0376] +[ 9.851576] pci 0000:00:07.0: quirk: [io 0x4000-0x403f] claimed by PIIX4 ACPI +[ 9.904770] pci 0000:00:07.0: quirk: [io 0x4100-0x410f] claimed by PIIX4 SMB +[ 10.095377] ACPI: PCI Interrupt Link [LNKA] (IRQs 5 9 10 *11) +[ 10.160356] ACPI: PCI Interrupt Link [LNKB] (IRQs 5 9 *10 11) +[ 10.227951] ACPI: PCI Interrupt Link [LNKC] (IRQs 5 *9 10 11) +[ 10.295079] ACPI: PCI Interrupt Link [LNKD] (IRQs 5 9 10 *11) +[ 10.356254] ACPI: Enabled 2 GPEs in block 00 to 07 +[ 10.402519] vgaarb: setting as boot device: PCI:0000:00:02.0 +[ 10.440268] vgaarb: device added: PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none +[ 10.498035] vgaarb: loaded +[ 10.521869] vgaarb: bridge control possible 0000:00:02.0 +[ 10.560879] SCSI subsystem initialized +[ 10.590127] ACPI: bus type USB registered +[ 10.620632] usbcore: registered new interface driver usbfs +[ 10.659739] usbcore: registered new interface driver hub +[ 10.698689] usbcore: registered new device driver usb +[ 10.742920] PCI: Using ACPI for IRQ routing +[ 10.790037] NetLabel: Initializing +[ 10.817305] NetLabel: domain hash size = 128 +[ 10.852522] NetLabel: protocols = UNLABELED CIPSOv4 +[ 10.889000] NetLabel: unlabeled traffic allowed by default +[ 10.928555] amd_nb: Cannot enumerate AMD northbridges +[ 10.964494] clocksource: Switched to clocksource kvm-clock +[ 11.034188] AppArmor: AppArmor Filesystem Enabled +[ 11.067402] pnp: PnP ACPI init +[ 11.106851] pnp: PnP ACPI: found 3 devices +[ 11.147893] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns +[ 11.207022] NET: Registered protocol family 2 +[ 11.239089] TCP established hash table entries: 8192 (order: 4, 65536 bytes) +[ 11.283501] TCP bind hash table entries: 8192 (order: 5, 131072 bytes) +[ 11.325467] TCP: Hash tables configured (established 8192 bind 8192) +[ 11.366384] UDP hash table entries: 512 (order: 2, 16384 bytes) +[ 11.404463] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes) +[ 11.444627] NET: Registered protocol family 1 +[ 11.474713] pci 0000:00:00.0: Limiting direct PCI/PCI transfers +[ 11.513779] pci 0000:00:01.0: Activating ISA DMA hang workarounds +[ 11.556286] Unpacking initramfs... +[ 12.302421] Freeing initrd memory: 14796K +[ 12.338555] RAPL PMU detected, API unit is 2^-32 Joules, 3 fixed counters 10737418240 ms ovfl timer +[ 12.405952] hw unit of domain pp0-core 2^-0 Joules +[ 12.446892] hw unit of domain package 2^-0 Joules +[ 12.484490] hw unit of domain pp1-gpu 2^-0 Joules +[ 12.521369] platform rtc_cmos: registered platform RTC device (no PNP device found) +[ 12.579166] Scanning for low memory corruption every 60 seconds +[ 12.621987] audit: initializing netlink subsys (disabled) +[ 12.661061] audit: type=2000 audit(1546056684.466:1): initialized +[ 12.704126] Initialise system trusted keyring +[ 12.739810] HugeTLB registered 2 MB page size, pre-allocated 0 pages +[ 12.784651] zbud: loaded +[ 12.808450] VFS: Disk quotas dquot_6.6.0 +[ 12.838986] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) +[ 12.883299] squashfs: version 4.0 (2009/01/31) Phillip Lougher +[ 12.922198] fuse init (API version 7.23) +[ 12.951348] Key type big_key registered +[ 12.979854] Allocating IMA MOK and blacklist keyrings. +[ 13.033040] Key type asymmetric registered +[ 13.068637] Asymmetric key parser 'x509' registered +[ 13.109283] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249) +[ 13.170520] io scheduler noop registered +[ 13.199328] io scheduler deadline registered (default) +[ 13.235664] io scheduler cfq registered +[ 13.265444] pci_hotplug: PCI Hot Plug PCI Core version: 0.5 +[ 13.304429] pciehp: PCI Express Hot Plug Controller Driver version: 0.4 +[ 13.350965] ACPI: AC Adapter [AC] (on-line) +[ 13.383786] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input0 +[ 13.437352] ACPI: Power Button [PWRF] +[ 13.470719] input: Sleep Button as /devices/LNXSYSTM:00/LNXSLPBN:00/input/input1 +[ 13.527545] ACPI: Sleep Button [SLPF] +[ 13.560087] GHES: HEST is not enabled! +[ 13.570371] ACPI: Battery Slot [BAT0] (battery present) +[ 13.626181] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled +[ 13.776569] 00:02: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A +[ 13.833661] Linux agpgart interface v0.103 +[ 13.873264] loop: module loaded +[ 13.905617] scsi host0: ata_piix +[ 13.935121] scsi host1: ata_piix +[ 13.960809] ata1: PATA max UDMA/33 cmd 0x1f0 ctl 0x3f6 bmdma 0xd000 irq 14 +[ 14.005876] ata2: PATA max UDMA/33 cmd 0x170 ctl 0x376 bmdma 0xd008 irq 15 +[ 14.054226] libphy: Fixed MDIO Bus: probed +[ 14.090872] tun: Universal TUN/TAP device driver, 1.6 +[ 14.125960] tun: (C) 1999-2004 Max Krasnyansky +[ 14.170088] PPP generic driver version 2.4.2 +[ 14.203734] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver +[ 14.249320] ehci-pci: EHCI PCI platform driver +[ 14.281377] ehci-platform: EHCI generic platform driver +[ 14.316007] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver +[ 14.358424] ohci-pci: OHCI PCI platform driver +[ 14.389694] ohci-platform: OHCI generic platform driver +[ 14.425200] uhci_hcd: USB Universal Host Controller Interface driver +[ 14.465351] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f03:PS2M] at 0x60,0x64 irq 1,12 +[ 14.539086] serio: i8042 KBD port at 0x60,0x64 irq 1 +[ 14.573499] serio: i8042 AUX port at 0x60,0x64 irq 12 +[ 14.608888] mousedev: PS/2 mouse device common for all mice +[ 14.656453] rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0 +[ 14.701408] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input2 +[ 14.759166] rtc_cmos rtc_cmos: alarms up to one day, 114 bytes nvram +[ 14.799723] i2c /dev entries driver +[ 14.828076] device-mapper: uevent: version 1.0.3 +[ 14.864242] device-mapper: ioctl: 4.34.0-ioctl (2015-10-28) initialised: dm-devel@redhat.com +[ 14.923405] ledtrig-cpu: registered to indicate activity on CPUs +[ 14.968973] NET: Registered protocol family 10 +[ 15.003623] NET: Registered protocol family 17 +[ 15.038889] Key type dns_resolver registered +[ 15.071971] registered taskstats version 1 +[ 15.105167] Loading compiled-in X.509 certificates +[ 15.147324] Loaded X.509 cert 'Build time autogenerated kernel key: a88b0f663ecfd40e6a501dee2f0b211d51902e35' +[ 15.222209] zswap: loaded using pool lzo/zbud +[ 15.266895] Key type trusted registered +[ 15.324885] Key type encrypted registered +[ 15.359472] AppArmor: AppArmor sha1 policy hashing enabled +[ 15.400654] ima: No TPM chip found, activating TPM-bypass! +[ 15.437633] ima: Allocated hash algorithm: sha1 +[ 15.469917] evm: HMAC attrs: 0x1 +[ 15.506713] Magic number: 14:255:162 +[ 15.538753] rtc_cmos rtc_cmos: setting system clock to 2018-12-29 04:11:16 UTC (1546056676) +[ 15.598316] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found +[ 15.639162] EDD information not available. +[ 15.684845] Freeing unused kernel memory: 1528K +[ 15.734834] Write protecting the kernel read-only data: 14336k +[ 15.777799] Freeing unused kernel memory: 1664K +[ 15.810952] Freeing unused kernel memory: 92K +Loading, please wait... +starting version 229 +[ 15.921257] random: systemd-udevd: uninitialized urandom read (16 bytes read, 5 bits of entropy available) +[ 15.923094] random: udevadm: uninitialized urandom read (16 bytes read, 5 bits of entropy available) +[ 15.923134] random: udevadm: uninitialized urandom read (16 bytes read, 5 bits of entropy available) +[ 15.955666] random: udevadm: uninitialized urandom read (16 bytes read, 5 bits of entropy available) +[ 15.955749] random: udevadm: uninitialized urandom read (16 bytes read, 5 bits of entropy available) +[ 15.956215] random: udevadm: uninitialized urandom read (16 bytes read, 5 bits of entropy available) +[ 15.956324] random: udevadm: uninitialized urandom read (16 bytes read, 5 bits of entropy available) +[ 15.956427] random: udevadm: uninitialized urandom read (16 bytes read, 5 bits of entropy available) +[ 15.956930] random: udevadm: uninitialized urandom read (16 bytes read, 5 bits of entropy available) +[ 15.957216] random: udevadm: uninitialized urandom read (16 bytes read, 5 bits of entropy available) +[ 16.682748] e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI +[ 16.734928] e1000: Copyright (c) 1999-2006 Intel Corporation. +[ 16.793343] Fusion MPT base driver 3.04.20 +[ 16.827620] Copyright (c) 1999-2008 LSI Corporation +[ 16.964359] AVX version of gcm_enc/dec engaged. +[ 16.997003] AES CTR mode by8 optimization enabled +[ 17.091952] Fusion MPT SPI Host driver 3.04.20 +[ 17.253349] input: ImExPS/2 Generic Explorer Mouse as /devices/platform/i8042/serio1/input/input4 +[ 19.682526] e1000 0000:00:03.0 eth0: (PCI:33MHz:32-bit) 02:98:04:f8:6e:63 +[ 19.726824] e1000 0000:00:03.0 eth0: Intel(R) PRO/1000 Network Connection +[ 19.780049] mptbase: ioc0: Initiating bringup +[ 20.327186] ioc0: LSI53C1030 A0: Capabilities={Initiator} +[ 21.707347] scsi host2: ioc0: LSI53C1030 A0, FwRev=00000000h, Ports=1, MaxQ=256, IRQ=20 +[ 22.367927] scsi 2:0:0:0: Direct-Access VBOX HARDDISK 1.0 PQ: 0 ANSI: 5 +[ 22.432365] scsi target2:0:0: Beginning Domain Validation +[ 22.485291] scsi target2:0:0: Domain Validation skipping write tests +[ 22.530662] scsi target2:0:0: Ending Domain Validation +[ 22.570188] scsi target2:0:0: asynchronous +[ 22.607986] scsi 2:0:1:0: Direct-Access VBOX HARDDISK 1.0 PQ: 0 ANSI: 5 +[ 22.671841] scsi target2:0:1: Beginning Domain Validation +[ 22.733902] scsi target2:0:1: Domain Validation skipping write tests +[ 23.126652] scsi target2:0:1: Ending Domain Validation +[ 23.171940] scsi target2:0:1: asynchronous +[ 23.242832] sd 2:0:0:0: [sda] 20971520 512-byte logical blocks: (10.7 GB/10.0 GiB) +[ 23.296914] sd 2:0:0:0: Attached scsi generic sg0 type 0 +[ 23.336007] sd 2:0:1:0: Attached scsi generic sg1 type 0 +[ 23.379047] sd 2:0:1:0: [sdb] 20480 512-byte logical blocks: (10.5 MB/10.0 MiB) +[ 23.437329] sd 2:0:1:0: [sdb] Write Protect is off +[ 23.473564] sd 2:0:0:0: [sda] Write Protect is off +[ 23.516589] sd 2:0:1:0: [sdb] Incomplete mode parameter data +[ 23.557925] sd 2:0:1:0: [sdb] Assuming drive cache: write through +[ 23.605700] sd 2:0:0:0: [sda] Incomplete mode parameter data +[ 23.650028] sd 2:0:0:0: [sda] Assuming drive cache: write through +[ 23.723358] sda: sda1 +[ 23.753562] sd 2:0:1:0: [sdb] Attached SCSI disk +[ 23.792580] sd 2:0:0:0: [sda] Attached SCSI disk +[ 25.546066] e1000 0000:00:08.0 eth1: (PCI:33MHz:32-bit) 08:00:27:63:5f:5f +[ 25.717357] e1000 0000:00:08.0 eth1: Intel(R) PRO/1000 Network Connection +[ 25.772160] e1000 0000:00:08.0 enp0s8: renamed from eth1 +[ 25.826641] e1000 0000:00:03.0 enp0s3: renamed from eth0 +Begin: Loading essential drivers ... [ 36.215635] md: linear personality registered for level -1 +[ 36.264954] md: multipath personality registered for level -4 +[ 36.314826] md: raid0 personality registered for level 0 +[ 36.365037] md: raid1 personality registered for level 1 +[ 36.488631] raid6: sse2x1 gen() 1827 MB/s +[ 36.588769] raid6: sse2x1 xor() 1174 MB/s +[ 36.689134] raid6: sse2x2 gen() 3446 MB/s +[ 36.781090] raid6: sse2x2 xor() 2166 MB/s +[ 36.882492] raid6: sse2x4 gen() 4788 MB/s +[ 36.984952] raid6: sse2x4 xor() 2608 MB/s +[ 37.016216] raid6: using algorithm sse2x4 gen() 4788 MB/s +[ 37.053124] raid6: .... xor() 2608 MB/s, rmw enabled +[ 37.090205] raid6: using ssse3x2 recovery algorithm +[ 37.131725] xor: automatically using best checksumming function: +[ 37.212723] avx : 14209.000 MB/sec +[ 37.249075] async_tx: api initialized (async) +[ 37.316794] md: raid6 personality registered for level 6 +[ 37.356614] md: raid5 personality registered for level 5 +[ 37.391721] md: raid4 personality registered for level 4 +[ 37.450838] md: raid10 personality registered for level 10 +done. +Begin: Running /scripts/init-premount ... done. +Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done. +Begin: Running /scripts/local-premount ... [ 37.719538] Btrfs loaded +Scanning for Btrfs filesystems +done. +Warning: fsck not present, so skipping root file system +[ 37.937795] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null) +done. +Begin: Running /scripts/local-bottom ... done. +Begin: Running /scripts/init-bottom ... done. +[ 38.831132] systemd[1]: systemd 229 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN) +[ 38.945547] systemd[1]: Detected virtualization oracle. +[ 38.981319] systemd[1]: Detected architecture x86-64. + +Welcome to Ubuntu 16.04.5 LTS! + +[ 39.105934] systemd[1]: Set hostname to . +[ 39.205648] random: nonblocking pool is initialized +[ 40.138160] systemd[1]: Created slice User and Session Slice. +[ OK ] Created slice User and Session Slice. +[ 40.209721] systemd[1]: Listening on LVM2 poll daemon socket. +[ OK ] Listening on LVM2 poll daemon socket. +[ 40.294904] systemd[1]: Reached target Encrypted Volumes. +[ OK ] Reached target Encrypted Volumes. +[ 40.366693] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe. +[ OK ] Listening on /dev/initctl Compatibility Named Pipe. +[ 40.446104] systemd[1]: Listening on Device-mapper event daemon FIFOs. +[ OK ] Listening on Device-mapper event daemon FIFOs. +[ 40.522140] systemd[1]: Listening on Journal Audit Socket. +[ OK ] Listening on Journal Audit Socket. +[ 40.588102] systemd[1]: Listening on udev Kernel Socket. +[ OK ] Listening on udev Kernel Socket. +[ 40.654466] systemd[1]: Listening on LVM2 metadata daemon socket. +[ OK ] Listening on LVM2 metadata daemon socket. +[ 40.727310] systemd[1]: Reached target Swap. +[ OK ] Reached target Swap. +[ 40.783814] systemd[1]: Reached target System Time Synchronized. +[ OK ] Reached target System Time Synchronized. +[ 40.855649] systemd[1]: Created slice System Slice. +[ OK ] Created slice System Slice. +[ 40.918684] systemd[1]: Listening on Syslog Socket. +[ OK ] Listening on Syslog Socket. +[ 40.981977] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point. +[ OK ] Set up automount Arbitrary Executab...ats File System Automount Point. +[ 41.087091] systemd[1]: Created slice system-serial\x2dgetty.slice. +[ OK ] Created slice system-serial\x2dgetty.slice. +[ 41.178356] systemd[1]: Listening on Journal Socket (/dev/log). +[ OK ] Listening on Journal Socket (/dev/log). +[ 41.263687] systemd[1]: Started Forward Password Requests to Wall Directory Watch. +[ OK ] Started Forward Password Requests to Wall Directory Watch. +[ 41.426235] systemd[1]: Started Trigger resolvconf update for networkd DNS. +[ OK ] Started Trigger resolvconf update for networkd DNS. +[ 41.524991] systemd[1]: Listening on Journal Socket. +[ OK ] Listening on Journal Socket. +[ 41.613643] systemd[1]: Starting Create list of required static device nodes for the current kernel... + Starting Create list of required st... nodes for the current kernel... +[ 41.738423] systemd[1]: Starting Remount Root and Kernel File Systems... + Starting Remount Root and Kernel File Systems... +[ 41.835454] systemd[1]: Starting Nameserver information manager... + [ 41.897258] EXT4-fs (sda1): re-mounted. Opts: (null) +Starting Nameserver information manager... +[ 41.948503] systemd[1]: Starting Uncomplicated firewall... + Starting Uncomplicated firewall... +[ 42.028192] systemd[1]: Mounting Huge Pages File System... + Mounting Huge Pages File System... +[ 42.104522] systemd[1]: Starting Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling... + Starting Monitoring of LVM2 mirrors... dmeventd or progress polling... +[ 42.231771] systemd[1]: Starting Set console keymap... + Starting Set console keymap... +[ 42.361830] systemd[1]: Starting Load Kernel Modules... + Starting Load Kernel Modules... +[ 42.432155] systemd[1]: Starting Journal Service... + Starting Journal Service... +[ 42.545788] Loading iSCSI transport class v2.0-870. +[ 42.593977] systemd[1]: Listening on udev Control Socket. +[ OK ] Listening on udev Control Socket. +[ 42.717090] systemd[1]: Mounting POSIX Message Queue File System... + Mounting POSIX Message Queue File System... +[ 42.829444] iscsi: registered transport (tcp) +[ 42.831581] systemd[1]: Mounting Debug File System... + Mounting Debug File System... +[ 42.951561] systemd[1]: Reached target Slices. +[ OK ] Reached target Slices. +[ 43.049496] systemd[1]: Reached target User and Group Name Lookups. +[ OK ] Reached target User and Group Name Lookups. +[ 43.180488] systemd[1]: Mounted Huge Pages File System. +[ 43.227533] iscsi: registered transport (iser) +[ OK ] Mounted Huge Pages File System. +[ 43.287088] systemd[1]: Mounted POSIX Message Queue File System. +[ OK ] Mounted POSIX Message Queue File System. +[ 43.363577] systemd[1]: Mounted Debug File System. +[ OK ] Mounted Debug File System. +[ 43.437811] systemd[1]: Started Journal Service. +[ OK ] Started Journal Service. +[ OK ] Started Create list of required sta...ce nodes for the current kernel. +[ OK ] Started Remount Root and Kernel File Systems. +[ OK ] Started Uncomplicated firewall. +[ OK ] Started Set console keymap. +[ OK ] Started Load Kernel Modules. +[ OK ] Started Nameserver information manager. +[ OK ] Started LVM2 metadata daemon. + Mounting FUSE Control File System... + Starting Apply Kernel Variables... + Starting Load/Save Random Seed... + Starting udev Coldplug all Devices... + Starting Create Static Device Nodes in /dev... + Starting Flush Journal to Persistent Storage... +[ OK ] Mounted FUSE Control File System. +[ OK ] Started Apply Kernel Variables. +[ OK ] Started Monitoring of LVM2 mirrors,...ng dmeventd or progress polling. +[ OK ] Started Load/Save Random Seed. +[ OK ] Started Create Static Device Nodes in /dev. +[ OK ] Started udev Coldplug all Devices. +[ OK ] Started Flush Journal to Persistent Storage. + Starting udev Kernel Device Manager... +[ OK ] Reached target Local File Systems (Pre). +[ OK ] Reached target Local File Systems. + Starting Initial cloud-init job (pre-networking)... + Starting Set console font and keymap... + Starting LSB: AppArmor initialization... + Starting Create Volatile Files and Directories... + Starting Tell Plymouth To Write Out Runtime Data... +[ OK ] Started Tell Plymouth To Write Out Runtime Data. +[ OK ] Started udev Kernel Device Manager. +[ OK ] Started Dispatch Password Requests to Console Directory Watch. +[ OK ] Started LSB: AppArmor initialization. +[ OK ] Started Create Volatile Files and Directories. +[ 42.683869] cloud-init[473]: Cloud-init v. 18.4-0ubuntu1~16.04.2 running 'init-local' at Sat, 29 Dec 2018 04:11:51 +0000. Up 41.52 seconds. +[ OK ] Started Initial cloud-init job (pre-networking). +[ OK ] Found device /dev/ttyS0. +[ OK ] Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch. +[ OK ] Reached target Network (Pre). +[ OK ] Started ifup for enp0s3. +[ OK ] Started ifup for enp0s8. + Starting Update UTMP about System Boot/Shutdown... + Starting Raise network interfaces... +[ OK ] Started Update UTMP about System Boot/Shutdown. +[ OK ] Started Set console font and keymap. +[ OK ] Created slice system-getty.slice. +[ OK ] Started Raise network interfaces. +[ OK ] Reached target Network. + Starting Initial cloud-init job (metadata service crawler)... +[ 68.311869] cloud-init[1066]: Cloud-init v. 18.4-0ubuntu1~16.04.2 running 'init' at Sat, 29 Dec 2018 04:12:16 +0000. Up 67.25 seconds. +[ 68.370789] cloud-init[1066]: ci-info: ++++++++++++++++++++++++++++++++++++++Net device info+++++++++++++++++++++++++++++++++++++++ +[ 68.426676] cloud-init[1066]: ci-info: +--------+------+-----------------------------+---------------+--------+-------------------+ +[ 68.486265] cloud-init[1066]: ci-info: | Device | Up | Address | Mask | Scope | Hw-Address | +[ 68.542772] cloud-init[1066]: ci-info: +--------+------+-----------------------------+---------------+--------+-------------------+ +[ 68.606136] cloud-init[1066]: ci-info: | enp0s3 | True | 10.0.2.15 | 255.255.255.0 | global | 02:98:04:f8:6e:63 | +[ 68.661010] cloud-init[1066]: ci-info: | enp0s3 | True | fe80::98:4ff:fef8:6e63/64 | . | link | 02:98:04:f8:6e:63 | +[ 68.723513] cloud-init[1066]: ci-info: | enp0s8 | True | 192.168.6.5 | 255.255.255.0 | global | 08:00:27:63:5f:5f | +[ 68.780455] cloud-init[1066]: ci-info: | enp0s8 | True | fe80::a00:27ff:fe63:5f5f/64 | . | link | 08:00:27:63:5f:5f | +[ 68.843343] cloud-init[1066]: ci-info: | lo | True | 127.0.0.1 | 255.0.0.0 | host | . | +[ OK ] Started Initial cloud-init job (metadata service crawler). +[ 68.873862] cloud-init[1066]: ci-info: | lo | True | ::1/128 | . | host | . | +[ 69.009850] cloud-init[1066]: ci-info: +--------+------+-----------------------------+---------------+--------+-------------------+ +[ 69.065373] cloud-init[1066]: ci-info: +++++++++++++++++++++++++++Route IPv4 info++++++++++++++++++++++++++++ +[ 69.092302] [ OK ] Reached target Network is Online. +cloud-init[1066]: ci-info: +-------+-------------+----------+---------------+-----------+-------+ +[ 69.185168] cloud-init[1066]: ci-info: | Route | Destination | Gateway | Genmask | Interface | Flags | +[ 69.240750] cloud-init[1066]: ci-info: +-------+-------------+----------+---------------+-----------+-------+ +[ 69.286469] cloud-init[1066]: ci-info: | 0 | 0.0.0.0 | 10.0.2.2 | 0.0.0.0 | enp0s3 | UG | +[ 69.286614] cloud-init[1066]: ci-info: | 1 | 10.0.2.0 | 0.0.0.0 | 255.255.255.0 | enp0s3 | U | +[ 69.286735] cloud-init[1066]: ci-info: | 2 | 192.168.6.0 | 0.0.0.0 | 255.255.255.0 | enp0s8 | U | +[ 69.286856] cloud-init[1066]: ci-info: +-------+-------------+----------+---------------+-----------+-------+ +[ 69.293690] cloud-init[1066]: ci-info: +++++++++++++++++++Route IPv6 info+++++++++++++++++++ +[ 69.319871] cloud-init[1066]: ci-info: +-------+-------------+---------+-----------+-------+ +[ 69.335278] cloud-init[1066]: ci-info: | Route | Destination | Gateway | Interface | Flags | +[ 69.348984] cloud-init[1066]: ci-info: +-------+-------------+---------+-----------+-------+ +[ 69.368877] cloud-init[1066]: ci-info: | 0 | fe80::/64 | :: | enp0s8 | U | +[ 69.454963] cloud-init[1066]: ci-info: | 1 | fe80::/64 | :: | enp0s3 | U | +[ 69.469027] cloud-init[1066]: ci-info: | 5 | ff00::/8 | :: | enp0s8 | U | +[ 69.488815] cloud-init[1066]: ci-info: | 6 | ff00::/8 | :: | enp0s3 | U | +[ 69.551033] cloud-init[1066]: ci-info: +-------+-------------+---------+-----------+-------+ + Starting iSCSI initiator daemon (iscsid)... +[ OK ] Reached target Cloud-config availability. +[ OK ] Reached target System Initialization. +[ OK ] Started Daily apt download activities. +[ OK ] Listening on D-Bus System Message Bus Socket. +[ OK ] Started ACPI Events Check. +[ OK ] Reached target Paths. +[ OK ] Listening on UUID daemon activation socket. +[ OK ] Started Daily Cleanup of Temporary Directories. +[ OK ] Started Daily apt upgrade and clean activities. +[ OK ] Reached target Timers. + Starting LXD - unix socket. + Starting Socket activation for snappy daemon. +[ OK ] Listening on ACPID Listen Socket. +[ OK ] Listening on LXD - unix socket. +[ OK ] Listening on Socket activation for snappy daemon. +[ OK ] Started iSCSI initiator daemon (iscsid). + Starting Login to default iSCSI targets... +[ OK ] Reached target Sockets. +[ OK ] Reached target Basic System. + Starting System Logging Service... +[ OK ] Started Unattended Upgrades Shutdown. +[ OK ] Started ACPI event daemon. + Starting LSB: MD monitoring daemon... +[ OK ] Started Regular background program processing daemon. +[ OK ] Started D-Bus System Message Bus. + Starting Accounts Service... + Starting Snappy daemon... + Starting OpenBSD Secure Shell server... +[ OK ] Started FUSE filesystem for LXC. +[ OK ] Started Deferred execution scheduler. + Starting Login Service... + Starting /etc/rc.local Compatibility... + Starting LSB: Record successful boot for GRUB... + Starting Virtualbox guest utils... + Starting LXD - container startup/shutdown... +[ OK ] Started System Logging Service. +[ OK ] Started /etc/rc.local Compatibility. +[ OK ] Started OpenBSD Secure Shell server. +[ OK ] Started Login to default iSCSI targets. +[ OK ] Started LSB: MD monitoring daemon. +[ OK ] Started Login Service. + Starting Authenticate and Authorize Users to Run Privileged Tasks... +[ OK ] Reached target Remote File Systems (Pre). +[ OK ] Reached target Remote File Systems. + Starting LSB: daemon to balance interrupts for SMP systems... + Starting Permit User Sessions... + Starting LSB: automatic crash report generation... + Starting LSB: Set the CPU Frequency Scaling governor to "ondemand"... +[ OK ] Started LSB: Record successful boot for GRUB. +[ OK ] Started Permit User Sessions. +[ OK ] Started Authenticate and Authorize Users to Run Privileged Tasks. +[ OK ] Started Accounts Service. + Starting Hold until boot process finishes up... + Starting Terminate Plymouth Boot Screen... +[ OK ] Started LSB: Set the CPU Frequency Scaling governor to "ondemand". +[ OK ] Started LSB: daemon to balance interrupts for SMP systems. +[ OK ] Started Virtualbox guest utils. +[ OK ] Started LSB: automatic crash report generation. +[ OK ] Started Hold until boot process finishes up. +[ OK ] Started Terminate Plymouth Boot Screen. +[ OK ] Started LXD - container startup/shutdown. +[ OK ] Created slice User Slice of vagrant. +[ OK ] Started Session 1 of user vagrant. + Starting User Manager for UID 1000... + Starting Set console scheme... +[ OK ] Started Serial Getty on ttyS0. +[ OK ] Started Getty on tty1. +[ OK ] Reached target Login Prompts. +[ OK ] Started Snappy daemon. +[ OK ] Started User Manager for UID 1000. +[ OK ] Started Set console scheme. + Starting Wait until snapd is fully seeded... +[ OK ] Started Wait until snapd is fully seeded. +[ OK ] Reached target Multi-User System. +[ OK ] Reached target Graphical Interface. + Starting Update UTMP about System Runlevel Changes... + Starting Apply the settings specified in cloud-config... +[ OK ] Started Update UTMP about System Runlevel Changes. +[ 76.664407] cloud-init[1338]: Cloud-init v. 18.4-0ubuntu1~16.04.2 running 'modules:config' at Sat, 29 Dec 2018 04:12:26 +0000. Up 76.32 seconds. +[ OK ] Started Apply the settings specified in cloud-config. + Starting Execute cloud user/final scripts... +[ 78.759370] cloud-init[1400]: Cloud-init v. 18.4-0ubuntu1~16.04.2 running 'modules:final' at Sat, 29 Dec 2018 04:12:28 +0000. Up 78.35 seconds. +[ 78.866717] cloud-init[1400]: Cloud-init v. 18.4-0ubuntu1~16.04.2 finished at Sat, 29 Dec 2018 04:12:28 +0000. Datasource DataSourceNoCloud [seed=/dev/sdb][dsmode=net]. Up 78.73 seconds +[ OK ] Started Execute cloud user/final scripts. +[ OK ] Reached target Cloud-init target. + Starting Daily apt download activities... + +Ubuntu 16.04.5 LTS tomubuntu16 ttyS0 + +tomubuntu16 login: [ OK ] Stopped target Timers. + Stopping Session 5 of user vagrant. +[ OK ] Stopped Daily Cleanup of Temporary Directories. +[ OK ] Stopped target Graphical Interface. +[ OK ] Stopped target Cloud-init target. +[ OK ] Stopped Execute cloud user/final scripts. +[ OK ] Stopped target Multi-User System. + Stopping LSB: daemon to balance interrupts for SMP systems... + Stopping Unattended Upgrades Shutdown... + Stopping FUSE filesystem for LXC... + Stopping LSB: automatic crash report generation... + Stopping D-Bus System Message Bus... + Stopping Regular background program processing daemon... + Stopping Deferred execution scheduler... + Stopping Authenticate and Authorize Users to Run Privileged Tasks... + Stopping System Logging Service... +[ OK ] Stopped Daily apt upgrade and clean activities. + Stopping LSB: Record successful boot for GRUB... + Stopping OpenBSD Secure Shell server... + Stopping Virtualbox guest utils... + Stopping ACPI event daemon... + Stopping LXD - container startup/shutdown... + Stopping Apache Tomcat Web Application Container... +[ OK ] Stopped Apply the settings specified in cloud-config. +[ OK ] Stopped Wait until snapd is fully seeded. + Stopping Snappy daemon... +[ OK ] Stopped target Cloud-config availability. + Stopping User Manager for UID 1000... +[ OK ] Stopped Daily apt download activities. +[ OK ] Stopped target System Time Synchronized. + Stopping LSB: Set the CPU Frequency Scaling governor to "ondemand"... + Stopping LSB: MD monitoring daemon... +[ OK ] Stopped target Login Prompts. + Stopping Getty on tty1... + Stopping Serial Getty on ttyS0... + Stopping Accounts Service... +[ OK ] Closed Load/Save RF Kill Switch Status /dev/rfkill Watch. +[ OK ] Unmounted /var/lib/lxcfs. +[ OK ] Stopped System Logging Service. +[ OK ] Stopped ACPI event daemon. +[ OK ] Stopped Regular background program processing daemon. +[ OK ] Stopped Accounts Service. +[ OK ] Stopped Snappy daemon. +[ OK ] Stopped Deferred execution scheduler. +[ OK ] Stopped OpenBSD Secure Shell server. +[ OK ] Stopped Authenticate and Authorize Users to Run Privileged Tasks. +[ OK ] Stopped Serial Getty on ttyS0. +[ OK ] Stopped Getty on tty1. +[ OK ] Stopped User Manager for UID 1000. +[ OK ] Stopped Session 5 of user vagrant. +[ OK ] Stopped Unattended Upgrades Shutdown. +[ OK ] Stopped D-Bus System Message Bus. +[ OK ] Stopped FUSE filesystem for LXC. +[ OK ] Stopped LSB: automatic crash report generation. +[ OK ] Stopped LSB: daemon to balance interrupts for SMP systems. +[ OK ] Stopped LXD - container startup/shutdown. +[ OK ] Stopped LSB: Record successful boot for GRUB. +[ OK ] Stopped Virtualbox guest utils. +[ OK ] Stopped LSB: Set the CPU Frequency Scaling governor to "ondemand". +[ OK ] Stopped LSB: MD monitoring daemon. +[ OK ] Removed slice User Slice of vagrant. + Stopping Login Service... +[ OK ] Removed slice system-getty.slice. +[ OK ] Stopped /etc/rc.local Compatibility. + Stopping Permit User Sessions... +[ OK ] Removed slice system-serial\x2dgetty.slice. +[ OK ] Stopped Login Service. +[ OK ] Stopped Permit User Sessions. +[ OK ] Stopped target Remote File Systems. +[ OK ] Stopped target Remote File Systems (Pre). + Stopping Login to default iSCSI targets... +[ OK ] Stopped target User and Group Name Lookups. +[ OK ] Stopped Apache Tomcat Web Application Container. +[ OK ] Stopped Login to default iSCSI targets. + Stopping iSCSI initiator daemon (iscsid)... +[ OK ] Stopped target Basic System. +[ OK ] Stopped target Paths. +[ OK ] Stopped Forward Password Requests to Wall Directory Watch. +[ OK ] Stopped Dispatch Password Requests to Console Directory Watch. +[ OK ] Stopped ACPI Events Check. +[ OK ] Stopped target Sockets. +[ OK ] Closed LXD - unix socket. +[ OK ] Closed Syslog Socket. +[ OK ] Closed UUID daemon activation socket. +[ OK ] Closed ACPID Listen Socket. +[ OK ] Closed D-Bus System Message Bus Socket. +[ OK ] Closed Socket activation for snappy daemon. +[ OK ] Stopped target Slices. +[ OK ] Removed slice User and Session Slice. +[ OK ] Stopped target System Initialization. +[ OK ] Stopped target Swap. + Stopping Update UTMP about System Boot/Shutdown... +[ OK ] Stopped target Encrypted Volumes. + Stopping Load/Save Random Seed... +[ OK ] Stopped iSCSI initiator daemon (iscsid). +[ OK ] Stopped Load/Save Random Seed. +[ OK ] Stopped Update UTMP about System Boot/Shutdown. +[ OK ] Stopped Create Volatile Files and Directories. +[ OK ] Stopped target Network is Online. +[ OK ] Stopped Initial cloud-init job (metadata service crawler). +[ OK ] Stopped target Network. + Stopping Raise network interfaces... +[ OK ] Stopped Raise network interfaces. +[ OK ] Stopped Apply Kernel Variables. +[ OK ] Stopped Load Kernel Modules. +[ OK ] Stopped target Local File Systems. + Unmounting /vagrant... + Unmounting /run/user/1000... +[ OK ] Stopped target Network (Pre). +[ OK ] Stopped Initial cloud-init job (pre-networking). +[ OK ] Unmounted /vagrant. +[ OK ] Unmounted /run/user/1000. +[ OK ] Reached target Unmount All Filesystems. +[ OK ] Stopped target Local File Systems (Pre). +[ OK ] Stopped Create Static Device Nodes in /dev. + Stopping Monitoring of LVM2 mirrors... dmeventd or progress polling... +[ OK ] Stopped Remount Root and Kernel File Systems. +[ OK ] Reached target Shutdown. +[ 2563.089200] reboot: Power down diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/MultiComRemExec.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/MultiComRemExec.sh new file mode 100644 index 00000000..d4a3053f --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/MultiComRemExec.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +#read -p 'Enter Command to execute on remote machines: ' COMMAND +echo "Executing COMMANDS on all the WEBNODE's" + +for IP in $(cat webnodeIP.txt); +do + echo "#############################################################################" + echo "Executing Command on $IP" + echo "#############################################################################" + ssh devops@$IP ' + echo "Executing free -m." + free -m + echo + echo "Executing uptime." + uptime + echo + echo "Executing df -h" + df -h + echo + ' +done + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/Quotes1.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/Quotes1.sh new file mode 100644 index 00000000..f985bed3 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/Quotes1.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +echo "With Double Quote." +echo "Hello $USER you have $237 in your account." + +echo "With Single Quote" +echo 'Hello $USER you have $237 in your account' + +echo "With Double quote and escape sequence." +echo "Hello $USER you have \$237 in your account" diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/VAR2.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/VAR2.sh new file mode 100644 index 00000000..cf8b6273 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/VAR2.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +VAR1=foo +echo $VAR1 +echo $NAME diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/VAR3.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/VAR3.sh new file mode 100644 index 00000000..319bab3b --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/VAR3.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +echo "Value of NAME variable is $NAME" +echo "Value of Variable ELECTRIC is $ELECTRIC" diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/Vagrantfile b/ddc-material-master/09.BashScripting/Bash_Scripts/Vagrantfile new file mode 100644 index 00000000..a84253a9 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/Vagrantfile @@ -0,0 +1,26 @@ +Vagrant.configure("2") do |config| + + config.vm.define "scriptbox" do |scriptbox| + scriptbox.vm.box = "centos/7" + scriptbox.vm.hostname = "scriptbox" + scriptbox.vm.network "private_network", ip: "192.168.5.2" + end + + config.vm.define "web01" do |web01| + web01.vm.box = "centos/7" + web01.vm.hostname = "web01" + web01.vm.network "private_network", ip: "192.168.5.3" + end + + config.vm.define "web02" do |web02| + web02.vm.box = "centos/7" + web02.vm.hostname = "web02" + web02.vm.network "private_network", ip: "192.168.5.4" + end + + config.vm.define "web03" do |web03| + web03.vm.box = "ubuntu/xenial64" + web03.vm.hostname = "web03" + web03.vm.network "private_network", ip: "192.168.5.5" + end +end diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/arch.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/arch.sh new file mode 100644 index 00000000..e94030ac --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/arch.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +echo "Archiving $1" +tar -czvf scripts.tar.gz $1 + +echo "Moving the archive to $2" +mv scripts.tar.gz $2 + +echo "Backup of $1 completed" + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/args1.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/args1.sh new file mode 100644 index 00000000..a3666b85 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/args1.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +echo "Printing script name" +echo $0 +echo + +echo "printing first argument" +echo $1 + +echo +echo "printing second argument" +echo $2 + +echo $9 +echo $10 diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/backup2.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/backup2.sh new file mode 100644 index 00000000..59d91de9 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/backup2.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +BAKUPFILE=scripts_bakup.tar.gz + +echo "Welcome USER $USER." +echo "We are running script on $HOSTNAME" +echo "####################################################" + +echo "You have passed $# arguments" +echo "####################################################" + +echo "Below mentioned the arguments that you passed:" + +echo $@ +echo "####################################################" + + + +echo "Taking backup of $1" + +echo "Archiving $1" +tar -czvf $BAKUPFILE $1 +echo "Exit Code of arhiving is $?" +echo "####################################################" + + +mv $BAKUPFILE $2 +echo "Exit Code of moving backup is $?" +echo "####################################################" + +echo "Archive moved to $2" + +echo "Process ID of the current script is $$." +#sleep 5 +echo "####################################################" +echo "Backup Completed Successfully." + +sleep 5 +echo "It took $SECONDS seconds time." diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/backup3.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/backup3.sh new file mode 100644 index 00000000..ef265b91 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/backup3.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +# And Operation +if [[ -n $1 ]] && [[ -d $1 ]] +then + echo "You have entered a dir path, taking its backup." + tar -czvf bakupdir.tgz $1 +elif [[ -n $1 ]] && [[ -e $1 ]] +then + echo "You have entered a file path, taking its backup." + tar -czvf bakupfile.tgz $1 +elif [[ -z $1 ]] +then + echo "You have not entered any input." +else + echo "You have entered an Invalid input. Please try again." +fi diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/backup4.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/backup4.sh new file mode 100644 index 00000000..b56c7ed6 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/backup4.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# OR Operation +if [[ -e $1 ]] || [[ -d $1 ]] +then + echo "You have entered a file or dir path, taking its backup." + tar -czvf bakupfiledir.tgz $1 +elif [[ -z $1 ]] +then + echo "You have not entered a file/dir path, Please try again." +else + echo "Invalid input detected, please try again." +fi diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/backup_remotexecmultiline.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/backup_remotexecmultiline.sh new file mode 100644 index 00000000..d94f43f4 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/backup_remotexecmultiline.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +#read -p 'Enter Command to execute on remote machines: ' COMMAND +echo "Executing COMMANDs on all the WEBNODEs" + +for IP in $(cat webnodeIP.txt) +do + echo "#############################################################################" + echo "Executing Command on $IP" + echo "#############################################################################" + ssh devops@$IP ' + echo "Executing free -m" + free -m + echo "Executing uptime." + uptime + ' +done + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/for1.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/for1.sh new file mode 100644 index 00000000..8dfc6009 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/for1.sh @@ -0,0 +1,14 @@ +#!/bin/bash + + +for VAR1 in java .net python ruby php +do + echo "Looping....." + echo "###################################################" + echo "Value of VAR1 is $VAR1." + echo "###################################################" + pwd +done + +echo "Out of for loop" +date diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/for2.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/for2.sh new file mode 100644 index 00000000..6ff6d476 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/for2.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +# Looping over 1 2 3 4 5 +echo "####################################################" +echo "Looping over 1 2 3 4 5" +echo "####################################################" +for i in 1 2 3 4 5 +do + echo "Welcome $i times" +done + + + +# Looping over range 1-5 +echo "####################################################" +echo "Looping over range 1-5" +echo "####################################################" +for i in {1..5} +do + echo "Welcome $i times" +done + + +# Looping over range 1-5 using seq command +echo "####################################################" +echo "Looping over range 1-5" +echo "using seq command" +echo "####################################################" +for i in $(seq 1 5) +do + echo "Welcome $i times" +done + +# Looping and incrementing variable value +echo "####################################################" +echo "Looping and incrementing variable value" +echo "####################################################" +for (( c=1; c<=5; c++ )) +do + echo "Welcome $c times" +done + +echo "Script exec completed." diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/for3.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/for3.sh new file mode 100644 index 00000000..2f8036d2 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/for3.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +for FILENAME in $(ls) +do + cat $FILENAME +done diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/if1.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/if1.sh new file mode 100644 index 00000000..7e6d4e34 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/if1.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +read -p "Enter a number: " NUM +echo +echo "You have entered $NUM" + +if [ $NUM -gt 100 ] +then + echo "We entered in IF block" + sleep 5 + echo "Your Number is greater than 100" + echo + date +else + echo "You have entered number less than 100." +fi + +echo "Out of IF block" +echo "Script execution completed successfully." diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/if2.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/if2.sh new file mode 100644 index 00000000..725e5f01 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/if2.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +value=$(ip addr show | grep -v LOOPBACK | grep -ic mtu) + +if [ $value -eq 1 ] +then + echo "1 Active Network Interface found." +elif [ $value -gt 1 ] +then + echo "Found Multiple active Interface." +else + echo "No Active interface found." +fi + + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/if3.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/if3.sh new file mode 100644 index 00000000..7b3ac374 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/if3.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +value=$(ip addr show | grep -v LOOPBACK | grep -ic mtu) + +if [ $value -ge 1 ] +then + if [ $value -eq 1 ] + then + echo "Found 1 single active interface." + elif [ $value -gt 1 ] + then + echo "Found Multiple network interface." + fi +fi + + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/if4.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/if4.sh new file mode 100644 index 00000000..a2f2a6fa --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/if4.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +### Learning Decision making in our script. + + +# Checks if argument is supplied +if [ -z $1 ] +then + echo "You have not entered any argument, retry." +# If Argument is supplied, validate the argument +else +# If path is a directory. + if [ -d $1 ] + then + echo "File exists and is a Directory." +# IF path is a file. + elif [ -e $1 ] + then + echo "Regular File detected." +# IF invalid input is supplied. + else + echo "Please enter a a file path." + fi +fi diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/nestedif.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/nestedif.sh new file mode 100644 index 00000000..6d0a5038 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/nestedif.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +value=$(ip addr show | grep -v LOOPBACK | grep -ic mtu) + +if [ $value -ge 1 ] +then + if [ $value -eq 1 ] + then + echo "Found a Network Interface." + elif [ $value -gt 1 ] + then + echo "Found Multiple Network Interface." + fi +fi diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/print.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/print.sh new file mode 100644 index 00000000..ca4b21e9 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/print.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +echo "Welcome to bash scripting." + +echo + +echo "This is our first script." diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/read1.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/read1.sh new file mode 100644 index 00000000..cd85129a --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/read1.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +echo "Enter your skills:" +read SKILLS + +echo "Your $SKILLS skills are very popular in IT Industry" + +read -p 'Username: ' USR +read -sp 'Password: ' pass + +echo + +echo "Login Successfull: Welcome USER $USR," diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/remotexec.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/remotexec.sh new file mode 100644 index 00000000..18c07d12 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/remotexec.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +read -p 'Enter Command to execute on remote machines: ' COMMAND +echo "Executing $COMMAND on all the WEBNODE's" + +for IP in $(cat webnodeIP.txt); +do + echo "#############################################################################" + echo "Executing Command on $IP" + echo "#############################################################################" + ssh devops@$IP $COMMAND +done + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/remotexecmulti.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/remotexecmulti.sh new file mode 100644 index 00000000..2ce2ded9 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/remotexecmulti.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +read -p 'Enter Command to execute on remote machines: ' COMMAND +echo "Executing $COMMAND on all the WEBNODE's" + +for IP in $(cat webnodeIP.txt); +do + echo "#############################################################################" + echo "Executing Command on $IP" + echo "#############################################################################" + ssh devops@$IP "$COMMAND; uptime; w" +done + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/MultiComRemExec.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/MultiComRemExec.sh new file mode 100644 index 00000000..d4a3053f --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/MultiComRemExec.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +#read -p 'Enter Command to execute on remote machines: ' COMMAND +echo "Executing COMMANDS on all the WEBNODE's" + +for IP in $(cat webnodeIP.txt); +do + echo "#############################################################################" + echo "Executing Command on $IP" + echo "#############################################################################" + ssh devops@$IP ' + echo "Executing free -m." + free -m + echo + echo "Executing uptime." + uptime + echo + echo "Executing df -h" + df -h + echo + ' +done + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/Quotes1.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/Quotes1.sh new file mode 100644 index 00000000..f985bed3 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/Quotes1.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +echo "With Double Quote." +echo "Hello $USER you have $237 in your account." + +echo "With Single Quote" +echo 'Hello $USER you have $237 in your account' + +echo "With Double quote and escape sequence." +echo "Hello $USER you have \$237 in your account" diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/VAR2.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/VAR2.sh new file mode 100644 index 00000000..cf8b6273 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/VAR2.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +VAR1=foo +echo $VAR1 +echo $NAME diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/VAR3.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/VAR3.sh new file mode 100644 index 00000000..319bab3b --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/VAR3.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +echo "Value of NAME variable is $NAME" +echo "Value of Variable ELECTRIC is $ELECTRIC" diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/arch.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/arch.sh new file mode 100644 index 00000000..e94030ac --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/arch.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +echo "Archiving $1" +tar -czvf scripts.tar.gz $1 + +echo "Moving the archive to $2" +mv scripts.tar.gz $2 + +echo "Backup of $1 completed" + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/args1.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/args1.sh new file mode 100644 index 00000000..a3666b85 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/args1.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +echo "Printing script name" +echo $0 +echo + +echo "printing first argument" +echo $1 + +echo +echo "printing second argument" +echo $2 + +echo $9 +echo $10 diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/backup2.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/backup2.sh new file mode 100644 index 00000000..59d91de9 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/backup2.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +BAKUPFILE=scripts_bakup.tar.gz + +echo "Welcome USER $USER." +echo "We are running script on $HOSTNAME" +echo "####################################################" + +echo "You have passed $# arguments" +echo "####################################################" + +echo "Below mentioned the arguments that you passed:" + +echo $@ +echo "####################################################" + + + +echo "Taking backup of $1" + +echo "Archiving $1" +tar -czvf $BAKUPFILE $1 +echo "Exit Code of arhiving is $?" +echo "####################################################" + + +mv $BAKUPFILE $2 +echo "Exit Code of moving backup is $?" +echo "####################################################" + +echo "Archive moved to $2" + +echo "Process ID of the current script is $$." +#sleep 5 +echo "####################################################" +echo "Backup Completed Successfully." + +sleep 5 +echo "It took $SECONDS seconds time." diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/backup3.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/backup3.sh new file mode 100644 index 00000000..ef265b91 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/backup3.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +# And Operation +if [[ -n $1 ]] && [[ -d $1 ]] +then + echo "You have entered a dir path, taking its backup." + tar -czvf bakupdir.tgz $1 +elif [[ -n $1 ]] && [[ -e $1 ]] +then + echo "You have entered a file path, taking its backup." + tar -czvf bakupfile.tgz $1 +elif [[ -z $1 ]] +then + echo "You have not entered any input." +else + echo "You have entered an Invalid input. Please try again." +fi diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/backup4.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/backup4.sh new file mode 100644 index 00000000..b56c7ed6 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/backup4.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# OR Operation +if [[ -e $1 ]] || [[ -d $1 ]] +then + echo "You have entered a file or dir path, taking its backup." + tar -czvf bakupfiledir.tgz $1 +elif [[ -z $1 ]] +then + echo "You have not entered a file/dir path, Please try again." +else + echo "Invalid input detected, please try again." +fi diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/backup_remotexecmultiline.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/backup_remotexecmultiline.sh new file mode 100644 index 00000000..d94f43f4 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/backup_remotexecmultiline.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +#read -p 'Enter Command to execute on remote machines: ' COMMAND +echo "Executing COMMANDs on all the WEBNODEs" + +for IP in $(cat webnodeIP.txt) +do + echo "#############################################################################" + echo "Executing Command on $IP" + echo "#############################################################################" + ssh devops@$IP ' + echo "Executing free -m" + free -m + echo "Executing uptime." + uptime + ' +done + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/for1.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/for1.sh new file mode 100644 index 00000000..8dfc6009 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/for1.sh @@ -0,0 +1,14 @@ +#!/bin/bash + + +for VAR1 in java .net python ruby php +do + echo "Looping....." + echo "###################################################" + echo "Value of VAR1 is $VAR1." + echo "###################################################" + pwd +done + +echo "Out of for loop" +date diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/for2.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/for2.sh new file mode 100644 index 00000000..6ff6d476 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/for2.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +# Looping over 1 2 3 4 5 +echo "####################################################" +echo "Looping over 1 2 3 4 5" +echo "####################################################" +for i in 1 2 3 4 5 +do + echo "Welcome $i times" +done + + + +# Looping over range 1-5 +echo "####################################################" +echo "Looping over range 1-5" +echo "####################################################" +for i in {1..5} +do + echo "Welcome $i times" +done + + +# Looping over range 1-5 using seq command +echo "####################################################" +echo "Looping over range 1-5" +echo "using seq command" +echo "####################################################" +for i in $(seq 1 5) +do + echo "Welcome $i times" +done + +# Looping and incrementing variable value +echo "####################################################" +echo "Looping and incrementing variable value" +echo "####################################################" +for (( c=1; c<=5; c++ )) +do + echo "Welcome $c times" +done + +echo "Script exec completed." diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/for3.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/for3.sh new file mode 100644 index 00000000..2f8036d2 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/for3.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +for FILENAME in $(ls) +do + cat $FILENAME +done diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/if1.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/if1.sh new file mode 100644 index 00000000..7e6d4e34 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/if1.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +read -p "Enter a number: " NUM +echo +echo "You have entered $NUM" + +if [ $NUM -gt 100 ] +then + echo "We entered in IF block" + sleep 5 + echo "Your Number is greater than 100" + echo + date +else + echo "You have entered number less than 100." +fi + +echo "Out of IF block" +echo "Script execution completed successfully." diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/if2.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/if2.sh new file mode 100644 index 00000000..725e5f01 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/if2.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +value=$(ip addr show | grep -v LOOPBACK | grep -ic mtu) + +if [ $value -eq 1 ] +then + echo "1 Active Network Interface found." +elif [ $value -gt 1 ] +then + echo "Found Multiple active Interface." +else + echo "No Active interface found." +fi + + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/if3.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/if3.sh new file mode 100644 index 00000000..7b3ac374 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/if3.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +value=$(ip addr show | grep -v LOOPBACK | grep -ic mtu) + +if [ $value -ge 1 ] +then + if [ $value -eq 1 ] + then + echo "Found 1 single active interface." + elif [ $value -gt 1 ] + then + echo "Found Multiple network interface." + fi +fi + + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/if4.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/if4.sh new file mode 100644 index 00000000..a2f2a6fa --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/if4.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +### Learning Decision making in our script. + + +# Checks if argument is supplied +if [ -z $1 ] +then + echo "You have not entered any argument, retry." +# If Argument is supplied, validate the argument +else +# If path is a directory. + if [ -d $1 ] + then + echo "File exists and is a Directory." +# IF path is a file. + elif [ -e $1 ] + then + echo "Regular File detected." +# IF invalid input is supplied. + else + echo "Please enter a a file path." + fi +fi diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/nestedif.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/nestedif.sh new file mode 100644 index 00000000..6d0a5038 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/nestedif.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +value=$(ip addr show | grep -v LOOPBACK | grep -ic mtu) + +if [ $value -ge 1 ] +then + if [ $value -eq 1 ] + then + echo "Found a Network Interface." + elif [ $value -gt 1 ] + then + echo "Found Multiple Network Interface." + fi +fi diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/print.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/print.sh new file mode 100644 index 00000000..ca4b21e9 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/print.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +echo "Welcome to bash scripting." + +echo + +echo "This is our first script." diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/read1.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/read1.sh new file mode 100644 index 00000000..cd85129a --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/read1.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +echo "Enter your skills:" +read SKILLS + +echo "Your $SKILLS skills are very popular in IT Industry" + +read -p 'Username: ' USR +read -sp 'Password: ' pass + +echo + +echo "Login Successfull: Welcome USER $USR," diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/remotexec.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/remotexec.sh new file mode 100644 index 00000000..18c07d12 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/remotexec.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +read -p 'Enter Command to execute on remote machines: ' COMMAND +echo "Executing $COMMAND on all the WEBNODE's" + +for IP in $(cat webnodeIP.txt); +do + echo "#############################################################################" + echo "Executing Command on $IP" + echo "#############################################################################" + ssh devops@$IP $COMMAND +done + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/remotexecmulti.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/remotexecmulti.sh new file mode 100644 index 00000000..2ce2ded9 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/remotexecmulti.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +read -p 'Enter Command to execute on remote machines: ' COMMAND +echo "Executing $COMMAND on all the WEBNODE's" + +for IP in $(cat webnodeIP.txt); +do + echo "#############################################################################" + echo "Executing Command on $IP" + echo "#############################################################################" + ssh devops@$IP "$COMMAND; uptime; w" +done + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/systemhealth.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/systemhealth.sh new file mode 100644 index 00000000..289e08fe --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/systemhealth.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +echo "Welcome $USER on $HOSTNAME." +echo "#######################################################" + +FREERAM=$(free -m | grep Mem | awk '{print $4}') +LOAD=`uptime | awk '{print $9}'` +ROOTFREE=$(df -h | grep '/dev/sda1' | awk '{print $4}') + + +echo "#######################################################" +echo "Available free RAM is $FREERAM MB" +echo "#######################################################" +echo "Current Load Average $LOAD" +echo "#######################################################" +echo "Free ROOT partiotion size is $ROOTFREE" diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts.tgz b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts.tgz new file mode 100644 index 00000000..c9ff319c Binary files /dev/null and b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts.tgz differ diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts/hostIP.txt b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts/hostIP.txt new file mode 100644 index 00000000..45d4e8b6 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts/hostIP.txt @@ -0,0 +1,3 @@ +192.168.5.3 +192.168.5.4 +192.168.5.5 diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts/tom_package.tgz b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts/tom_package.tgz new file mode 100644 index 00000000..837865c2 Binary files /dev/null and b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts/tom_package.tgz differ diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts/tom_package/centos6-svcfile b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts/tom_package/centos6-svcfile new file mode 100644 index 00000000..d95cd2c0 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts/tom_package/centos6-svcfile @@ -0,0 +1,37 @@ +#!/bin/bash + +### BEGIN INIT INFO +# Provides: tomcat7 +# Required-Start: $network +# Required-Stop: $network +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start/Stop Tomcat server +### END INIT INFO + +PATH=/sbin:/bin:/usr/sbin:/usr/bin + +start() { +sh /usr/local/tomcat8/bin/startup.sh +} + +stop() { +sh /usr/local/tomcat8/bin/shutdown.sh +} + +status() { +pid=$(ps -fe | grep '/usr/local/tomcat8' | grep -v grep | tr -s " " | cut -d" " -f2) + if [ -n "$pid" ]; then + echo -e "\e[00;32mTomcat is running with pid: $pid\e[00m" + else + echo -e "\e[00;31mTomcat is not running\e[00m" + fi +} + +case $1 in +start|stop|status) $1;; +restart) stop; start;; +*) echo "Run as $0 "; exit 1;; +esac +exit 0 + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts/tom_package/centos7-svcfile b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts/tom_package/centos7-svcfile new file mode 100644 index 00000000..0c3a568b --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts/tom_package/centos7-svcfile @@ -0,0 +1,27 @@ +# Systemd unit file for tomcat +[Unit] +Description=Apache Tomcat Web Application Container +After=syslog.target network.target + +[Service] +Type=forking + +Environment=JAVA_HOME=/usr/lib/jvm/jre +Environment=CATALINA_PID=/usr/local/tomcat8/temp/tomcat.pid +Environment=CATALINA_HOME=/usr/local/tomcat8 +Environment=CATALINA_BASE=/usr/local/tomcat8 +Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC' +Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom' + +ExecStart=/usr/local/tomcat8/bin/startup.sh +ExecStop=/usr/local/tomcat8/bin/shutdown.sh + +User=tomcat +Group=tomcat +UMask=0007 +RestartSec=10 +Restart=always + +[Install] +WantedBy=multi-user.target + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts/tom_package/tomcat8_setup.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts/tom_package/tomcat8_setup.sh new file mode 100644 index 00000000..25cc5e00 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts/tom_package/tomcat8_setup.sh @@ -0,0 +1,298 @@ +source vars.txt + +yum --help > /dev/null 2> /dev/null +if [ $? -eq 0 ] +then + if grep -q -i "release 6" /etc/redhat-release + then + echo "############################################################" + echo "Setup Running on Centos 6." + echo "############################################################" + echo + echo + + SVCFILE=centos6-svcfile + + echo "############################################################" + echo "Installing Java" + echo "############################################################" + yum install epel-release -y + yum install java-1.8.0-openjdk.x86_64 wget -y + echo + echo + + echo "############################################################" + echo "Setting up Users & Group" + echo "############################################################" + groupadd tomcat + useradd -M -s /bin/nologin -g tomcat -d $TOMCAT_HOME tomcat + echo + echo + + echo "############################################################" + echo "Downloading tomcat..." + echo "############################################################" + wget $DOWNLOAD_URL + mkdir -p $TOMCAT_HOME + tar xf apache-tomcat-8*tar.gz -C $TOMCAT_HOME --strip-components=1 + echo + echo + + echo "############################################################" + echo "Setting up Permissions." + echo "############################################################" + chmod -R g+r $TOMCAT_HOME/conf + chown tomcat:tomcat -R $TOMCAT_HOME/* + echo + echo + + echo "############################################################" + echo "Setting up Startup scripts" + echo "############################################################" + cat $SVCFILE > /etc/init.d/tomcat + chmod 755 /etc/init.d/tomcat + sleep 5 + chkconfig --add tomcat + sleep 5 + echo + echo + + echo "############################################################" + echo "Setting Tomcat Service" + echo "############################################################" + service tomcat start + sleep 5 + echo + echo + + service tomcat status + sleep 5 + echo "############################################################" + echo "Enable Tomcat Service" + echo "############################################################" + echo + echo + + chkconfig tomcat on + echo + echo + + else +echo "############################################################" + echo "Setup Running on Centos 7." + echo "############################################################" + + SVCFILE=centos7-svcfile + + echo "############################################################" + echo "Installing Java" + echo "############################################################" + + yum install epel-release -y + yum install java-1.8.0-openjdk.x86_64 wget -y + echo + echo + + echo "############################################################" + echo "Setting up Users & Group" + echo "############################################################" + groupadd tomcat + useradd -M -s /bin/nologin -g tomcat -d $TOMCAT_HOME tomcat + echo + echo + + echo "############################################################" + echo "Downloading tomcat..." + echo "############################################################" + wget $DOWNLOAD_URL + mkdir -p $TOMCAT_HOME + tar xf apache-tomcat-8*tar.gz -C $TOMCAT_HOME --strip-components=1 + echo + echo + + echo "############################################################" + echo "Setting up Permissions." + echo "############################################################" + chmod -R g+r $TOMCAT_HOME/conf + chown tomcat:tomcat -R $TOMCAT_HOME/* + echo + echo + echo "############################################################" + echo "Setting up Startup scripts" + echo "############################################################" + cat $SVCFILE > /etc/systemd/system/tomcat.service + chmod a+x /etc/systemd/system/tomcat.service + sleep 5 + + systemctl daemon-reload + sleep 5 + echo + echo + + echo "############################################################" + echo "Starting Tomcat Service" + echo "############################################################" + systemctl start tomcat + sleep 5 + systemctl status tomcat + sleep 5 + + echo + echo + + echo "############################################################" + echo "Enabling Tomcat Service" + echo "############################################################" + systemctl enable tomcat + fi +else + a=$(lsb_release -r) + if echo $a | grep -q -i "14" + then + echo "############################################################" + echo "Setup Running on UBUNTU 14." + echo "############################################################" + + SVCFILE=centos6-svcfile + + echo "############################################################" + echo "Installing Java" + echo "############################################################" + add-apt-repository ppa:openjdk-r/ppa + apt update + apt install openjdk-8-jdk wget -y + echo + echo + + echo "############################################################" + echo "Setting up Users & Group" + echo "############################################################" + groupadd tomcat + useradd -M -s /bin/nologin -g tomcat -d $TOMCAT_HOME tomcat + echo + echo + + echo "############################################################" + echo "Downloading tomcat..." + echo "############################################################" + wget $DOWNLOAD_URL + mkdir -p $TOMCAT_HOME + tar xf apache-tomcat-8*tar.gz -C $TOMCAT_HOME --strip-components=1 + echo + echo + + echo "############################################################" + echo "Setting up Permissions." + echo "############################################################" + chmod -R g+r $TOMCAT_HOME/conf + chown tomcat:tomcat -R $TOMCAT_HOME/* + echo + echo + + echo "############################################################" + echo "Setting up Startup scripts" + echo "############################################################" + cat $SVCFILE > /etc/init.d/tomcat + chmod 755 /etc/init.d/tomcat + sleep 5 + echo + echo + + echo "############################################################" + echo "Setting Tomcat Service" + echo "############################################################" + update-rc.d tomcat defaults + sleep 5 + echo + echo + + echo "############################################################" + echo "Starting Tomcat Service" + echo "############################################################" + service tomcat start + sleep 5 + echo + echo + + service tomcat status + sleep 5 + echo + echo + + echo "############################################################" + echo "Enable Tomcat Service" + echo "############################################################" + update-rc.d tomcat enable + echo + echo + + else + echo "############################################################" + echo "Setup Running on UBUNTU 16." + echo "############################################################" + + SVCFILE=ubuntu16-svcfile + + echo "############################################################" + echo "Installing Java" + echo "############################################################" + apt update + apt install openjdk-8-jdk wget -y + echo + echo + + echo "############################################################" + echo "Setting up Users & Group" + echo "############################################################" + groupadd tomcat + useradd -M -s /bin/nologin -g tomcat -d $TOMCAT_HOME tomcat + echo + echo + + echo "############################################################" + echo "Downloading tomcat..." + echo "############################################################" + wget $DOWNLOAD_URL + mkdir -p $TOMCAT_HOME + tar xf apache-tomcat-8*tar.gz -C $TOMCAT_HOME --strip-components=1 + echo + echo + + echo "############################################################" + echo "Setting up Permissions." + echo "############################################################" + chmod -R g+r $TOMCAT_HOME/conf + chown tomcat:tomcat -R $TOMCAT_HOME/* + echo + echo + echo "############################################################" + echo "Setting up Startup scripts" + echo "############################################################" + cat $SVCFILE > /etc/systemd/system/tomcat.service + chmod a+x /etc/systemd/system/tomcat.service + sleep 5 + + systemctl daemon-reload + sleep 5 + echo + echo + + echo "############################################################" + echo "Starting Tomcat Service" + echo "############################################################" + systemctl start tomcat + sleep 5 + systemctl status tomcat + sleep 5 + + echo + echo + + echo "############################################################" + echo "Enabling Tomcat Service" + echo "############################################################" + systemctl enable tomcat + fi + +fi + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts/tom_package/ubuntu16-svcfile b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts/tom_package/ubuntu16-svcfile new file mode 100644 index 00000000..0a1bebc7 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts/tom_package/ubuntu16-svcfile @@ -0,0 +1,27 @@ +# Systemd unit file for tomcat +[Unit] +Description=Apache Tomcat Web Application Container +After=syslog.target network.target + +[Service] +Type=forking + +Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre +Environment=CATALINA_PID=/usr/local/tomcat8/temp/tomcat.pid +Environment=CATALINA_HOME=/usr/local/tomcat8 +Environment=CATALINA_BASE=/usr/local/tomcat8 +Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC' +Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom' + +ExecStart=/usr/local/tomcat8/bin/startup.sh +ExecStop=/usr/local/tomcat8/bin/shutdown.sh + +User=tomcat +Group=tomcat +UMask=0007 +RestartSec=10 +Restart=always + +[Install] +WantedBy=multi-user.target + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts/tom_package/vars.txt b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts/tom_package/vars.txt new file mode 100644 index 00000000..e4adc1fc --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts/tom_package/vars.txt @@ -0,0 +1,3 @@ +export DOWNLOAD_URL=http://mirrors.estointernet.in/apache/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.tar.gz +#export SVCFILE=/opt/scripts/tomcat/tomcat-centos6-svcfile +export TOMCAT_HOME=/usr/local/tomcat8 diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts/tomcat8_deploy.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts/tomcat8_deploy.sh new file mode 100644 index 00000000..498b7ab1 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/tomsetup_scripts/tomcat8_deploy.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +for IP in `cat hostIP.txt` +do + tar -czf tom_package.tgz tom_package + scp tom_package.tgz devops@$IP:/tmp/ + ssh devops@$IP ' + sudo tar xzvf /tmp/tom_package.tgz -C /tmp/ + sudo /tmp/tom_package/tomcat8_setup.sh >> /tmp/tomsetup.log 2>> /tmp/tomsetup.log + sudo cat /tmp/tomsetup.log + ' + echo "################################################" + echo "################################################" +done diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/var1.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/var1.sh new file mode 100644 index 00000000..a44cd487 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/var1.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +MSG="Night" + +echo "Hello Everyone, Good $MSG" + +echo "This is a very good $MSG" + +echo "The value of MSG is $MSG" diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/webnodeIP.txt b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/webnodeIP.txt new file mode 100644 index 00000000..56e52ffa --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/webnodeIP.txt @@ -0,0 +1,3 @@ +192.168.5.3 +192.168.5.4 +192.168.5.5 diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/websetup/.log b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/websetup/.log new file mode 100644 index 00000000..646c9232 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/websetup/.log @@ -0,0 +1,1123 @@ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied) +E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root? +################################################################ + + +Starting and Enabling Service +Failed to start apache2.service: Interactive authentication required. +See system logs and 'systemctl status apache2.service' for details. +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +insserv: fopen(.depend.stop): Permission denied +Failed to execute operation: Interactive authentication required. +insserv: fopen(.depend.stop): Permission denied +Failed to execute operation: Interactive authentication required. +################################################################ + + +Copying website data +website.zip: Permission denied +Archive: website.zip +error: cannot delete old 2093_flight/contact.html + Permission denied +error: cannot delete old 2093_flight/css/bootstrap-theme.css + Permission denied +error: cannot delete old 2093_flight/css/bootstrap-theme.css.map + Permission denied +error: cannot delete old 2093_flight/css/bootstrap-theme.min.css + Permission denied +error: cannot delete old 2093_flight/css/bootstrap.css + Permission denied +error: cannot delete old 2093_flight/css/bootstrap.css.map + Permission denied +error: cannot delete old 2093_flight/css/bootstrap.min.css + Permission denied +error: cannot delete old 2093_flight/css/datepicker.css + Permission denied +error: cannot delete old 2093_flight/css/fontAwesome.css + Permission denied +error: cannot delete old 2093_flight/css/fonts/flexslider-icon.eot + Permission denied +error: cannot delete old 2093_flight/css/fonts/flexslider-icon.svg + Permission denied +error: cannot delete old 2093_flight/css/fonts/flexslider-icon.ttf + Permission denied +error: cannot delete old 2093_flight/css/fonts/flexslider-icon.woff + Permission denied +error: cannot delete old 2093_flight/css/hero-slider.css + Permission denied +error: cannot delete old 2093_flight/css/owl-carousel.css + Permission denied +error: cannot delete old 2093_flight/css/tooplate-style.css + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.eot + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.svg + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.ttf + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.woff + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.woff2 + Permission denied +error: cannot delete old 2093_flight/fonts/FontAwesome.otf + Permission denied +error: cannot delete old 2093_flight/fonts/glyphicons-halflings-regular.eot + Permission denied +error: cannot delete old 2093_flight/fonts/glyphicons-halflings-regular.svg + Permission denied +error: cannot delete old 2093_flight/fonts/glyphicons-halflings-regular.ttf + Permission denied +error: cannot delete old 2093_flight/fonts/glyphicons-halflings-regular.woff + Permission denied +error: cannot delete old 2093_flight/img/banner-bg.jpg + Permission denied +error: cannot delete old 2093_flight/img/close.png + Permission denied +error: cannot delete old 2093_flight/img/contact-01.jpg + Permission denied +error: cannot delete old 2093_flight/img/contact-02.jpg + Permission denied +error: cannot delete old 2093_flight/img/contact-bg.jpg + Permission denied +error: cannot delete old 2093_flight/img/evening-event.jpg + Permission denied +error: cannot delete old 2093_flight/img/fitness-service.jpg + Permission denied +error: cannot delete old 2093_flight/img/heading-bg.jpg + Permission denied +error: cannot delete old 2093_flight/img/loading.gif + Permission denied +error: cannot delete old 2093_flight/img/logo.png + Permission denied +error: cannot delete old 2093_flight/img/massage-service.jpg + Permission denied +error: cannot delete old 2093_flight/img/next.png + Permission denied +error: cannot delete old 2093_flight/img/place-01.jpg + Permission denied +error: cannot delete old 2093_flight/img/place-02.jpg + Permission denied +error: cannot delete old 2093_flight/img/place-03.jpg + Permission denied +error: cannot delete old 2093_flight/img/place-04.jpg + Permission denied +error: cannot delete old 2093_flight/img/prev.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-01.1.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-01.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-02.2.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-02.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-03.3.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-03.png + Permission denied +error: cannot delete old 2093_flight/img/suite-01.jpg + Permission denied +error: cannot delete old 2093_flight/img/suite-02.jpg + Permission denied +error: cannot delete old 2093_flight/img/suite-03.jpg + Permission denied +error: cannot delete old 2093_flight/img/swiming-pool.jpg + Permission denied +error: cannot delete old 2093_flight/img/weather-bg.jpg + Permission denied +error: cannot delete old 2093_flight/img/weather-icon-01.png + Permission denied +error: cannot delete old 2093_flight/img/weather-icon-02.png + Permission denied +error: cannot delete old 2093_flight/img/weather-icon-03.png + Permission denied +error: cannot delete old 2093_flight/index.html + Permission denied +error: cannot delete old 2093_flight/js/datepicker.js + Permission denied +error: cannot delete old 2093_flight/js/main.js + Permission denied +error: cannot delete old 2093_flight/js/plugins.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/bootstrap.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/bootstrap.min.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/jquery-1.11.2.min.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/npm.js + Permission denied +error: cannot delete old 2093_flight/ABOUT THIS TEMPLATE.txt + Permission denied +cp: cannot stat '/tmp/2112_brunch/*': No such file or directory +################################################################ + + +Restarting Service +Failed to restart apache2.service: Interactive authentication required. +See system logs and 'systemctl status apache2.service' for details. +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +wget: missing URL +Usage: wget [OPTION]... [URL]... + +Try `wget --help' for more options. +Archive: website.zip + inflating: 2093_flight/contact.html + inflating: 2093_flight/css/bootstrap-theme.css + inflating: 2093_flight/css/bootstrap-theme.css.map + inflating: 2093_flight/css/bootstrap-theme.min.css + inflating: 2093_flight/css/bootstrap.css + inflating: 2093_flight/css/bootstrap.css.map + inflating: 2093_flight/css/bootstrap.min.css + inflating: 2093_flight/css/datepicker.css + inflating: 2093_flight/css/fontAwesome.css + inflating: 2093_flight/css/fonts/flexslider-icon.eot + inflating: 2093_flight/css/fonts/flexslider-icon.svg + inflating: 2093_flight/css/fonts/flexslider-icon.ttf + inflating: 2093_flight/css/fonts/flexslider-icon.woff + inflating: 2093_flight/css/hero-slider.css + inflating: 2093_flight/css/owl-carousel.css + inflating: 2093_flight/css/tooplate-style.css + inflating: 2093_flight/fonts/fontawesome-webfont.eot + inflating: 2093_flight/fonts/fontawesome-webfont.svg + inflating: 2093_flight/fonts/fontawesome-webfont.ttf + inflating: 2093_flight/fonts/fontawesome-webfont.woff + inflating: 2093_flight/fonts/fontawesome-webfont.woff2 + inflating: 2093_flight/fonts/FontAwesome.otf + inflating: 2093_flight/fonts/glyphicons-halflings-regular.eot + inflating: 2093_flight/fonts/glyphicons-halflings-regular.svg + inflating: 2093_flight/fonts/glyphicons-halflings-regular.ttf + inflating: 2093_flight/fonts/glyphicons-halflings-regular.woff + inflating: 2093_flight/img/banner-bg.jpg + inflating: 2093_flight/img/close.png + inflating: 2093_flight/img/contact-01.jpg + inflating: 2093_flight/img/contact-02.jpg + inflating: 2093_flight/img/contact-bg.jpg + inflating: 2093_flight/img/evening-event.jpg + inflating: 2093_flight/img/fitness-service.jpg + inflating: 2093_flight/img/heading-bg.jpg + inflating: 2093_flight/img/loading.gif + inflating: 2093_flight/img/logo.png + inflating: 2093_flight/img/massage-service.jpg + inflating: 2093_flight/img/next.png + inflating: 2093_flight/img/place-01.jpg + inflating: 2093_flight/img/place-02.jpg + inflating: 2093_flight/img/place-03.jpg + inflating: 2093_flight/img/place-04.jpg + inflating: 2093_flight/img/prev.png + inflating: 2093_flight/img/service-icon-01.1.png + inflating: 2093_flight/img/service-icon-01.png + inflating: 2093_flight/img/service-icon-02.2.png + inflating: 2093_flight/img/service-icon-02.png + inflating: 2093_flight/img/service-icon-03.3.png + inflating: 2093_flight/img/service-icon-03.png + inflating: 2093_flight/img/suite-01.jpg + inflating: 2093_flight/img/suite-02.jpg + inflating: 2093_flight/img/suite-03.jpg + inflating: 2093_flight/img/swiming-pool.jpg + inflating: 2093_flight/img/weather-bg.jpg + inflating: 2093_flight/img/weather-icon-01.png + inflating: 2093_flight/img/weather-icon-02.png + inflating: 2093_flight/img/weather-icon-03.png + inflating: 2093_flight/index.html + inflating: 2093_flight/js/datepicker.js + inflating: 2093_flight/js/main.js + inflating: 2093_flight/js/plugins.js + inflating: 2093_flight/js/vendor/bootstrap.js + inflating: 2093_flight/js/vendor/bootstrap.min.js + inflating: 2093_flight/js/vendor/jquery-1.11.2.min.js + inflating: 2093_flight/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2093_flight/js/vendor/npm.js + inflating: 2093_flight/ABOUT THIS TEMPLATE.txt +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +wget: missing URL +Usage: wget [OPTION]... [URL]... + +Try `wget --help' for more options. +Archive: website.zip + inflating: 2093_flight/contact.html + inflating: 2093_flight/css/bootstrap-theme.css + inflating: 2093_flight/css/bootstrap-theme.css.map + inflating: 2093_flight/css/bootstrap-theme.min.css + inflating: 2093_flight/css/bootstrap.css + inflating: 2093_flight/css/bootstrap.css.map + inflating: 2093_flight/css/bootstrap.min.css + inflating: 2093_flight/css/datepicker.css + inflating: 2093_flight/css/fontAwesome.css + inflating: 2093_flight/css/fonts/flexslider-icon.eot + inflating: 2093_flight/css/fonts/flexslider-icon.svg + inflating: 2093_flight/css/fonts/flexslider-icon.ttf + inflating: 2093_flight/css/fonts/flexslider-icon.woff + inflating: 2093_flight/css/hero-slider.css + inflating: 2093_flight/css/owl-carousel.css + inflating: 2093_flight/css/tooplate-style.css + inflating: 2093_flight/fonts/fontawesome-webfont.eot + inflating: 2093_flight/fonts/fontawesome-webfont.svg + inflating: 2093_flight/fonts/fontawesome-webfont.ttf + inflating: 2093_flight/fonts/fontawesome-webfont.woff + inflating: 2093_flight/fonts/fontawesome-webfont.woff2 + inflating: 2093_flight/fonts/FontAwesome.otf + inflating: 2093_flight/fonts/glyphicons-halflings-regular.eot + inflating: 2093_flight/fonts/glyphicons-halflings-regular.svg + inflating: 2093_flight/fonts/glyphicons-halflings-regular.ttf + inflating: 2093_flight/fonts/glyphicons-halflings-regular.woff + inflating: 2093_flight/img/banner-bg.jpg + inflating: 2093_flight/img/close.png + inflating: 2093_flight/img/contact-01.jpg + inflating: 2093_flight/img/contact-02.jpg + inflating: 2093_flight/img/contact-bg.jpg + inflating: 2093_flight/img/evening-event.jpg + inflating: 2093_flight/img/fitness-service.jpg + inflating: 2093_flight/img/heading-bg.jpg + inflating: 2093_flight/img/loading.gif + inflating: 2093_flight/img/logo.png + inflating: 2093_flight/img/massage-service.jpg + inflating: 2093_flight/img/next.png + inflating: 2093_flight/img/place-01.jpg + inflating: 2093_flight/img/place-02.jpg + inflating: 2093_flight/img/place-03.jpg + inflating: 2093_flight/img/place-04.jpg + inflating: 2093_flight/img/prev.png + inflating: 2093_flight/img/service-icon-01.1.png + inflating: 2093_flight/img/service-icon-01.png + inflating: 2093_flight/img/service-icon-02.2.png + inflating: 2093_flight/img/service-icon-02.png + inflating: 2093_flight/img/service-icon-03.3.png + inflating: 2093_flight/img/service-icon-03.png + inflating: 2093_flight/img/suite-01.jpg + inflating: 2093_flight/img/suite-02.jpg + inflating: 2093_flight/img/suite-03.jpg + inflating: 2093_flight/img/swiming-pool.jpg + inflating: 2093_flight/img/weather-bg.jpg + inflating: 2093_flight/img/weather-icon-01.png + inflating: 2093_flight/img/weather-icon-02.png + inflating: 2093_flight/img/weather-icon-03.png + inflating: 2093_flight/index.html + inflating: 2093_flight/js/datepicker.js + inflating: 2093_flight/js/main.js + inflating: 2093_flight/js/plugins.js + inflating: 2093_flight/js/vendor/bootstrap.js + inflating: 2093_flight/js/vendor/bootstrap.min.js + inflating: 2093_flight/js/vendor/jquery-1.11.2.min.js + inflating: 2093_flight/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2093_flight/js/vendor/npm.js + inflating: 2093_flight/ABOUT THIS TEMPLATE.txt +################################################################ + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:18:31-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:18:32-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 73.2K 1m44s + 50K .......... .......... .......... .......... .......... 1% 206K 70s + 100K .......... .......... .......... .......... .......... 1% 211K 58s + 150K .......... .......... .......... .......... .......... 2% 210K 52s + 200K .......... .......... .......... .......... .......... 3% 236K 48s + 250K .......... .......... .......... .......... .......... 3% 222K 45s + 300K .......... .......... .......... .......... .......... 4% 2.15M 39s + 350K .......... .......... .......... .......... .......... 5% 231K 38s + 400K .......... .......... .......... .......... .......... 5% 2.95M 34s + 450K .......... .......... .......... .......... .......... 6% 235K 33s + 500K .......... .......... .......... .......... .......... 7% 47.9M 30s + 550K .......... .......... .......... .......... .......... 7% 7.65M 27s + 600K .......... .......... .......... .......... .......... 8% 225K 27s + 650K .......... .......... .......... .......... .......... 9% 3.16M 25s + 700K .......... .......... .......... .......... .......... 9% 29.4M 24s + 750K .......... .......... .......... .......... .......... 10% 60.9M 22s + 800K .......... .......... .......... .......... .......... 11% 210K 22s + 850K .......... .......... .......... .......... .......... 11% 14.3M 21s + 900K .......... .......... .......... .......... .......... 12% 29.5M 20s + 950K .......... .......... .......... .......... .......... 13% 261K 20s + 1000K .......... .......... .......... .......... .......... 13% 3.94M 19s + 1050K .......... .......... .......... .......... .......... 14% 5.28M 18s + 1100K .......... .......... .......... .......... .......... 14% 3.05M 17s + 1150K .......... .......... .......... .......... .......... 15% 7.95M 16s + 1200K .......... .......... .......... .......... .......... 16% 243K 17s + 1250K .......... .......... .......... .......... .......... 16% 75.2M 16s + 1300K .......... .......... .......... .......... .......... 17% 4.70M 15s + 1350K .......... .......... .......... .......... .......... 18% 3.43M 15s + 1400K .......... .......... .......... .......... .......... 18% 4.00M 14s + 1450K .......... .......... .......... .......... .......... 19% 4.10M 14s + 1500K .......... .......... .......... .......... .......... 20% 240K 14s + 1550K .......... .......... .......... .......... .......... 20% 20.1M 13s + 1600K .......... .......... .......... .......... .......... 21% 34.1M 13s + 1650K .......... .......... .......... .......... .......... 22% 36.4M 12s + 1700K .......... .......... .......... .......... .......... 22% 2.32M 12s + 1750K .......... .......... .......... .......... .......... 23% 2.12M 12s + 1800K .......... .......... .......... .......... .......... 24% 43.2M 11s + 1850K .......... .......... .......... .......... .......... 24% 341K 11s + 1900K .......... .......... .......... .......... .......... 25% 912K 11s + 1950K .......... .......... .......... .......... .......... 26% 53.2M 11s + 2000K .......... .......... .......... .......... .......... 26% 7.74M 10s + 2050K .......... .......... .......... .......... .......... 27% 198K 11s + 2100K .......... .......... .......... .......... .......... 28% 14.6M 10s + 2150K .......... .......... .......... .......... .......... 28% 13.6M 10s + 2200K .......... .......... .......... .......... .......... 29% 24.9M 10s + 2250K .......... .......... .......... .......... .......... 29% 32.2M 9s + 2300K .......... .......... .......... .......... .......... 30% 92.3M 9s + 2350K .......... .......... .......... .......... .......... 31% 19.3M 9s + 2400K .......... .......... .......... .......... .......... 31% 23.7M 9s + 2450K .......... .......... .......... .......... .......... 32% 36.2M 8s + 2500K .......... .......... .......... .......... .......... 33% 18.6M 8s + 2550K .......... .......... .......... .......... .......... 33% 15.0M 8s + 2600K .......... .......... .......... .......... .......... 34% 14.4M 8s + 2650K .......... .......... .......... .......... .......... 35% 47.4M 7s + 2700K .......... .......... .......... .......... .......... 35% 440K 7s + 2750K .......... .......... .......... .......... .......... 36% 1.13M 7s + 2800K .......... .......... .......... .......... .......... 37% 1.17M 7s + 2850K .......... .......... .......... .......... .......... 37% 5.00M 7s + 2900K .......... .......... .......... .......... .......... 38% 7.20M 7s + 2950K .......... .......... .......... .......... .......... 39% 3.33M 7s + 3000K .......... .......... .......... .......... .......... 39% 7.86M 6s + 3050K .......... .......... .......... .......... .......... 40% 394K 6s + 3100K .......... .......... .......... .......... .......... 41% 1.95M 6s + 3150K .......... .......... .......... .......... .......... 41% 4.28M 6s + 3200K .......... .......... .......... .......... .......... 42% 792K 6s + 3250K .......... .......... .......... .......... .......... 42% 5.39M 6s + 3300K .......... .......... .......... .......... .......... 43% 5.36M 6s + 3350K .......... .......... .......... .......... .......... 44% 193K 6s + 3400K .......... .......... .......... .......... .......... 44% 773K 6s + 3450K .......... .......... .......... .......... .......... 45% 12.3M 6s + 3500K .......... .......... .......... .......... .......... 46% 8.15M 6s + 3550K .......... .......... .......... .......... .......... 46% 8.85M 5s + 3600K .......... .......... .......... .......... .......... 47% 8.25M 5s + 3650K .......... .......... .......... .......... .......... 48% 57.0M 5s + 3700K .......... .......... .......... .......... .......... 48% 56.5M 5s + 3750K .......... .......... .......... .......... .......... 49% 57.8M 5s + 3800K .......... .......... .......... .......... .......... 50% 1.95M 5s + 3850K .......... .......... .......... .......... .......... 50% 1.17M 5s + 3900K .......... .......... .......... .......... .......... 51% 970K 5s + 3950K .......... .......... .......... .......... .......... 52% 2.26M 5s + 4000K .......... .......... .......... .......... .......... 52% 891K 5s + 4050K .......... .......... .......... .......... .......... 53% 798K 4s + 4100K .......... .......... .......... .......... .......... 54% 1.60M 4s + 4150K .......... .......... .......... .......... .......... 54% 726K 4s + 4200K .......... .......... .......... .......... .......... 55% 6.32M 4s + 4250K .......... .......... .......... .......... .......... 56% 3.52M 4s + 4300K .......... .......... .......... .......... .......... 56% 690K 4s + 4350K .......... .......... .......... .......... .......... 57% 1.16M 4s + 4400K .......... .......... .......... .......... .......... 57% 525K 4s + 4450K .......... .......... .......... .......... .......... 58% 11.4M 4s + 4500K .......... .......... .......... .......... .......... 59% 3.23M 4s + 4550K .......... .......... .......... .......... .......... 59% 969K 4s + 4600K .......... .......... .......... .......... .......... 60% 892K 4s + 4650K .......... .......... .......... .......... .......... 61% 1.77M 4s + 4700K .......... .......... .......... .......... .......... 61% 670K 4s + 4750K .......... .......... .......... .......... .......... 62% 3.80M 3s + 4800K .......... .......... .......... .......... .......... 63% 3.53M 3s + 4850K .......... .......... .......... .......... .......... 63% 604K 3s + 4900K .......... .......... .......... .......... .......... 64% 1.60M 3s + 4950K .......... .......... .......... .......... .......... 65% 678K 3s + 5000K .......... .......... .......... .......... .......... 65% 1.41M 3s + 5050K .......... .......... .......... .......... .......... 66% 5.76M 3s + 5100K .......... .......... .......... .......... .......... 67% 26.9M 3s + 5150K .......... .......... .......... .......... .......... 67% 508K 3s + 5200K .......... .......... .......... .......... .......... 68% 1.96M 3s + 5250K .......... .......... .......... .......... .......... 69% 603K 3s + 5300K .......... .......... .......... .......... .......... 69% 2.99M 3s + 5350K .......... .......... .......... .......... .......... 70% 6.91M 3s + 5400K .......... .......... .......... .......... .......... 70% 1.40M 3s + 5450K .......... .......... .......... .......... .......... 71% 823K 2s + 5500K .......... .......... .......... .......... .......... 72% 3.16M 2s + 5550K .......... .......... .......... .......... .......... 72% 583K 2s + 5600K .......... .......... .......... .......... .......... 73% 1.75M 2s + 5650K .......... .......... .......... .......... .......... 74% 3.70M 2s + 5700K .......... .......... .......... .......... .......... 74% 1.83M 2s + 5750K .......... .......... .......... .......... .......... 75% 775K 2s + 5800K .......... .......... .......... .......... .......... 76% 2.75M 2s + 5850K .......... .......... .......... .......... .......... 76% 640K 2s + 5900K .......... .......... .......... .......... .......... 77% 1.67M 2s + 5950K .......... .......... .......... .......... .......... 78% 3.91M 2s + 6000K .......... .......... .......... .......... .......... 78% 1.65M 2s + 6050K .......... .......... .......... .......... .......... 79% 745K 2s + 6100K .......... .......... .......... .......... .......... 80% 3.21M 2s + 6150K .......... .......... .......... .......... .......... 80% 624K 2s + 6200K .......... .......... .......... .......... .......... 81% 2.03M 2s + 6250K .......... .......... .......... .......... .......... 82% 1.96M 2s + 6300K .......... .......... .......... .......... .......... 82% 4.34M 1s + 6350K .......... .......... .......... .......... .......... 83% 679K 1s + 6400K .......... .......... .......... .......... .......... 84% 2.01M 1s + 6450K .......... .......... .......... .......... .......... 84% 706K 1s + 6500K .......... .......... .......... .......... .......... 85% 2.53M 1s + 6550K .......... .......... .......... .......... .......... 85% 1.64M 1s + 6600K .......... .......... .......... .......... .......... 86% 2.33M 1s + 6650K .......... .......... .......... .......... .......... 87% 872K 1s + 6700K .......... .......... .......... .......... .......... 87% 2.95M 1s + 6750K .......... .......... .......... .......... .......... 88% 1010K 1s + 6800K .......... .......... .......... .......... .......... 89% 1.07M 1s + 6850K .......... .......... .......... .......... .......... 89% 1.34M 1s + 6900K .......... .......... .......... .......... .......... 90% 3.40M 1s + 6950K .......... .......... .......... .......... .......... 91% 1.41M 1s + 7000K .......... .......... .......... .......... .......... 91% 894K 1s + 7050K .......... .......... .......... .......... .......... 92% 5.16M 1s + 7100K .......... .......... .......... .......... .......... 93% 655K 1s + 7150K .......... .......... .......... .......... .......... 93% 2.12M 1s + 7200K .......... .......... .......... .......... .......... 94% 1.19M 0s + 7250K .......... .......... .......... .......... .......... 95% 5.78M 0s + 7300K .......... .......... .......... .......... .......... 95% 809K 0s + 7350K .......... .......... .......... .......... .......... 96% 1.73M 0s + 7400K .......... .......... .......... .......... .......... 97% 683K 0s + 7450K .......... .......... .......... .......... .......... 97% 2.63M 0s + 7500K .......... .......... .......... .......... .......... 98% 1.10M 0s + 7550K .......... .......... .......... .......... .......... 98% 3.07M 0s + 7600K .......... .......... .......... .......... .......... 99% 1.19M 0s + 7650K .......... .......... ....... 100% 4.12M=7.9s + +2018-12-25 10:18:41 (974 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + creating: 2112_brunch/ + inflating: 2112_brunch/contact-page.html + creating: 2112_brunch/css/ + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + creating: 2112_brunch/css/fonts/ + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + creating: 2112_brunch/fonts/ + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + creating: 2112_brunch/img/ + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + creating: 2112_brunch/js/ + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + creating: 2112_brunch/js/vendor/ + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + creating: 2112_brunch/videos/ + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:20:30-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:20:31-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 70.5K 1m48s + 50K .......... .......... .......... .......... .......... 1% 213K 72s + 100K .......... .......... .......... .......... .......... 1% 201K 60s + 150K .......... .......... .......... .......... .......... 2% 207K 54s + 200K .......... .......... .......... .......... .......... 3% 217K 49s + 250K .......... .......... .......... .......... .......... 3% 200K 47s + 300K .......... .......... .......... .......... .......... 4% 1.42M 41s + 350K .......... .......... .......... .......... .......... 5% 241K 39s + 400K .......... .......... .......... .......... .......... 5% 897K 36s + 450K .......... .......... .......... .......... .......... 6% 275K 34s + 500K .......... .......... .......... .......... .......... 7% 8.35M 31s + 550K .......... .......... .......... .......... .......... 7% 1.07M 29s + 600K .......... .......... .......... .......... .......... 8% 257K 29s + 650K .......... .......... .......... .......... .......... 9% 5.54M 26s + 700K .......... .......... .......... .......... .......... 9% 11.3M 25s + 750K .......... .......... .......... .......... .......... 10% 246K 25s + 800K .......... .......... .......... .......... .......... 11% 2.03M 23s + 850K .......... .......... .......... .......... .......... 11% 5.73M 22s + 900K .......... .......... .......... .......... .......... 12% 6.69M 21s + 950K .......... .......... .......... .......... .......... 13% 254K 21s + 1000K .......... .......... .......... .......... .......... 13% 2.55M 20s + 1050K .......... .......... .......... .......... .......... 14% 7.14M 19s + 1100K .......... .......... .......... .......... .......... 14% 3.10M 18s + 1150K .......... .......... .......... .......... .......... 15% 7.59M 17s + 1200K .......... .......... .......... .......... .......... 16% 248K 17s + 1250K .......... .......... .......... .......... .......... 16% 4.82M 16s + 1300K .......... .......... .......... .......... .......... 17% 10.1M 16s + 1350K .......... .......... .......... .......... .......... 18% 3.07M 15s + 1400K .......... .......... .......... .......... .......... 18% 5.95M 15s + 1450K .......... .......... .......... .......... .......... 19% 5.45M 14s + 1500K .......... .......... .......... .......... .......... 20% 286K 14s + 1550K .......... .......... .......... .......... .......... 20% 3.17M 14s + 1600K .......... .......... .......... .......... .......... 21% 4.60M 13s + 1650K .......... .......... .......... .......... .......... 22% 6.24M 13s + 1700K .......... .......... .......... .......... .......... 22% 3.84M 12s + 1750K .......... .......... .......... .......... .......... 23% 2.40M 12s + 1800K .......... .......... .......... .......... .......... 24% 4.72M 11s + 1850K .......... .......... .......... .......... .......... 24% 410K 11s + 1900K .......... .......... .......... .......... .......... 25% 1.31M 11s + 1950K .......... .......... .......... .......... .......... 26% 1.69M 11s + 2000K .......... .......... .......... .......... .......... 26% 4.93M 11s + 2050K .......... .......... .......... .......... .......... 27% 127M 10s + 2100K .......... .......... .......... .......... .......... 28% 5.64M 10s + 2150K .......... .......... .......... .......... .......... 28% 9.05M 10s + 2200K .......... .......... .......... .......... .......... 29% 1.62M 9s + 2250K .......... .......... .......... .......... .......... 29% 4.73M 9s + 2300K .......... .......... .......... .......... .......... 30% 7.67M 9s + 2350K .......... .......... .......... .......... .......... 31% 360K 9s + 2400K .......... .......... .......... .......... .......... 31% 624K 9s + 2450K .......... .......... .......... .......... .......... 32% 54.2M 9s + 2500K .......... .......... .......... .......... .......... 33% 18.7M 8s + 2550K .......... .......... .......... .......... .......... 33% 173K 9s + 2600K .......... .......... .......... .......... .......... 34% 24.1M 8s + 2650K .......... .......... .......... .......... .......... 35% 5.09M 8s + 2700K .......... .......... .......... .......... .......... 35% 6.62M 8s + 2750K .......... .......... .......... .......... .......... 36% 9.95M 8s + 2800K .......... .......... .......... .......... .......... 37% 21.1M 8s + 2850K .......... .......... .......... .......... .......... 37% 68.4M 7s + 2900K .......... .......... .......... .......... .......... 38% 33.5M 7s + 2950K .......... .......... .......... .......... .......... 39% 132M 7s + 3000K .......... .......... .......... .......... .......... 39% 13.9M 7s + 3050K .......... .......... .......... .......... .......... 40% 11.9M 7s + 3100K .......... .......... .......... .......... .......... 41% 18.8M 6s + 3150K .......... .......... .......... .......... .......... 41% 88.3M 6s + 3200K .......... .......... .......... .......... .......... 42% 19.6M 6s + 3250K .......... .......... .......... .......... .......... 42% 23.0M 6s + 3300K .......... .......... .......... .......... .......... 43% 27.7M 6s + 3350K .......... .......... .......... .......... .......... 44% 102M 6s + 3400K .......... .......... .......... .......... .......... 44% 21.3M 5s + 3450K .......... .......... .......... .......... .......... 45% 41.3M 5s + 3500K .......... .......... .......... .......... .......... 46% 212K 5s + 3550K .......... .......... .......... .......... .......... 46% 374K 5s + 3600K .......... .......... .......... .......... .......... 47% 2.31M 5s + 3650K .......... .......... .......... .......... .......... 48% 4.08M 5s + 3700K .......... .......... .......... .......... .......... 48% 3.01M 5s + 3750K .......... .......... .......... .......... .......... 49% 5.24M 5s + 3800K .......... .......... .......... .......... .......... 50% 110M 5s + 3850K .......... .......... .......... .......... .......... 50% 113K 5s + 3900K .......... .......... .......... .......... .......... 51% 19.6M 5s + 3950K .......... .......... .......... .......... .......... 52% 1.47M 5s + 4000K .......... .......... .......... .......... .......... 52% 1.60M 5s + 4050K .......... .......... .......... .......... .......... 53% 4.34M 5s + 4100K .......... .......... .......... .......... .......... 54% 54.9M 5s + 4150K .......... .......... .......... .......... .......... 54% 52.0M 4s + 4200K .......... .......... .......... .......... .......... 55% 66.6M 4s + 4250K .......... .......... .......... .......... .......... 56% 103M 4s + 4300K .......... .......... .......... .......... .......... 56% 71.3M 4s + 4350K .......... .......... .......... .......... .......... 57% 99.7M 4s + 4400K .......... .......... .......... .......... .......... 57% 62.1M 4s + 4450K .......... .......... .......... .......... .......... 58% 50.5M 4s + 4500K .......... .......... .......... .......... .......... 59% 55.9M 4s + 4550K .......... .......... .......... .......... .......... 59% 73.3M 4s + 4600K .......... .......... .......... .......... .......... 60% 92.1M 4s + 4650K .......... .......... .......... .......... .......... 61% 72.5M 3s + 4700K .......... .......... .......... .......... .......... 61% 54.9M 3s + 4750K .......... .......... .......... .......... .......... 62% 358K 3s + 4800K .......... .......... .......... .......... .......... 63% 1.38M 3s + 4850K .......... .......... .......... .......... .......... 63% 4.36M 3s + 4900K .......... .......... .......... .......... .......... 64% 3.68M 3s + 4950K .......... .......... .......... .......... .......... 65% 9.36M 3s + 5000K .......... .......... .......... .......... .......... 65% 2.34M 3s + 5050K .......... .......... .......... .......... .......... 66% 781K 3s + 5100K .......... .......... .......... .......... .......... 67% 462K 3s + 5150K .......... .......... .......... .......... .......... 67% 1.96M 3s + 5200K .......... .......... .......... .......... .......... 68% 4.01M 3s + 5250K .......... .......... .......... .......... .......... 69% 1.54M 3s + 5300K .......... .......... .......... .......... .......... 69% 127M 3s + 5350K .......... .......... .......... .......... .......... 70% 5.85M 2s + 5400K .......... .......... .......... .......... .......... 70% 319K 2s + 5450K .......... .......... .......... .......... .......... 71% 27.0M 2s + 5500K .......... .......... .......... .......... .......... 72% 1.61M 2s + 5550K .......... .......... .......... .......... .......... 72% 765K 2s + 5600K .......... .......... .......... .......... .......... 73% 110M 2s + 5650K .......... .......... .......... .......... .......... 74% 140M 2s + 5700K .......... .......... .......... .......... .......... 74% 62.3M 2s + 5750K .......... .......... .......... .......... .......... 75% 334K 2s + 5800K .......... .......... .......... .......... .......... 76% 2.28M 2s + 5850K .......... .......... .......... .......... .......... 76% 826K 2s + 5900K .......... .......... .......... .......... .......... 77% 4.00M 2s + 5950K .......... .......... .......... .......... .......... 78% 104M 2s + 6000K .......... .......... .......... .......... .......... 78% 51.2M 2s + 6050K .......... .......... .......... .......... .......... 79% 7.03M 2s + 6100K .......... .......... .......... .......... .......... 80% 373K 2s + 6150K .......... .......... .......... .......... .......... 80% 9.47M 2s + 6200K .......... .......... .......... .......... .......... 81% 940K 2s + 6250K .......... .......... .......... .......... .......... 82% 5.34M 1s + 6300K .......... .......... .......... .......... .......... 82% 3.56M 1s + 6350K .......... .......... .......... .......... .......... 83% 4.29M 1s + 6400K .......... .......... .......... .......... .......... 84% 6.75M 1s + 6450K .......... .......... .......... .......... .......... 84% 351K 1s + 6500K .......... .......... .......... .......... .......... 85% 120M 1s + 6550K .......... .......... .......... .......... .......... 85% 638K 1s + 6600K .......... .......... .......... .......... .......... 86% 3.23M 1s + 6650K .......... .......... .......... .......... .......... 87% 80.8M 1s + 6700K .......... .......... .......... .......... .......... 87% 6.18M 1s + 6750K .......... .......... .......... .......... .......... 88% 35.0M 1s + 6800K .......... .......... .......... .......... .......... 89% 324K 1s + 6850K .......... .......... .......... .......... .......... 89% 9.17M 1s + 6900K .......... .......... .......... .......... .......... 90% 66.8M 1s + 6950K .......... .......... .......... .......... .......... 91% 816K 1s + 7000K .......... .......... .......... .......... .......... 91% 1.57M 1s + 7050K .......... .......... .......... .......... .......... 92% 7.37M 1s + 7100K .......... .......... .......... .......... .......... 93% 4.10M 1s + 7150K .......... .......... .......... .......... .......... 93% 12.9M 0s + 7200K .......... .......... .......... .......... .......... 94% 472K 0s + 7250K .......... .......... .......... .......... .......... 95% 31.4M 0s + 7300K .......... .......... .......... .......... .......... 95% 717K 0s + 7350K .......... .......... .......... .......... .......... 96% 18.1M 0s + 7400K .......... .......... .......... .......... .......... 97% 855K 0s + 7450K .......... .......... .......... .......... .......... 97% 23.6M 0s + 7500K .......... .......... .......... .......... .......... 98% 23.3M 0s + 7550K .......... .......... .......... .......... .......... 98% 961K 0s + 7600K .......... .......... .......... .......... .......... 99% 1.13M 0s + 7650K .......... .......... ....... 100% 115M=7.5s + +2018-12-25 10:20:39 (1024 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:25:39-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:25:40-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 71.5K 1m47s + 50K .......... .......... .......... .......... .......... 1% 217K 70s + 100K .......... .......... .......... .......... .......... 1% 204K 59s + 150K .......... .......... .......... .......... .......... 2% 223K 52s + 200K .......... .......... .......... .......... .......... 3% 3.86M 42s + 250K .......... .......... .......... .......... .......... 3% 223K 40s + 300K .......... .......... .......... .......... .......... 4% 215K 39s + 350K .......... .......... .......... .......... .......... 5% 11.0M 34s + 400K .......... .......... .......... .......... .......... 5% 224K 34s + 450K .......... .......... .......... .......... .......... 6% 3.01M 30s + 500K .......... .......... .......... .......... .......... 7% 70.8M 27s + 550K .......... .......... .......... .......... .......... 7% 238K 27s + 600K .......... .......... .......... .......... .......... 8% 1.92M 25s + 650K .......... .......... .......... .......... .......... 9% 35.6M 23s + 700K .......... .......... .......... .......... .......... 9% 245K 24s + 750K .......... .......... .......... .......... .......... 10% 4.05M 22s + 800K .......... .......... .......... .......... .......... 11% 2.06M 21s + 850K .......... .......... .......... .......... .......... 11% 5.50M 20s + 900K .......... .......... .......... .......... .......... 12% 257K 20s + 950K .......... .......... .......... .......... .......... 13% 7.91M 19s + 1000K .......... .......... .......... .......... .......... 13% 2.43M 18s + 1050K .......... .......... .......... .......... .......... 14% 3.62M 17s + 1100K .......... .......... .......... .......... .......... 14% 18.0M 16s + 1150K .......... .......... .......... .......... .......... 15% 254K 16s + 1200K .......... .......... .......... .......... .......... 16% 14.2M 16s + 1250K .......... .......... .......... .......... .......... 16% 5.86M 15s + 1300K .......... .......... .......... .......... .......... 17% 4.22M 14s + 1350K .......... .......... .......... .......... .......... 18% 2.98M 14s + 1400K .......... .......... .......... .......... .......... 18% 12.9M 13s + 1450K .......... .......... .......... .......... .......... 19% 254K 13s + 1500K .......... .......... .......... .......... .......... 20% 14.2M 13s + 1550K .......... .......... .......... .......... .......... 20% 33.8M 12s + 1600K .......... .......... .......... .......... .......... 21% 5.94M 12s + 1650K .......... .......... .......... .......... .......... 22% 5.50M 12s + 1700K .......... .......... .......... .......... .......... 22% 4.34M 11s + 1750K .......... .......... .......... .......... .......... 23% 4.67M 11s + 1800K .......... .......... .......... .......... .......... 24% 325K 11s + 1850K .......... .......... .......... .......... .......... 24% 1.26M 11s + 1900K .......... .......... .......... .......... .......... 25% 38.7M 10s + 1950K .......... .......... .......... .......... .......... 26% 44.4M 10s + 2000K .......... .......... .......... .......... .......... 26% 5.65M 10s + 2050K .......... .......... .......... .......... .......... 27% 5.81M 9s + 2100K .......... .......... .......... .......... .......... 28% 6.00M 9s + 2150K .......... .......... .......... .......... .......... 28% 8.38M 9s + 2200K .......... .......... .......... .......... .......... 29% 3.73M 9s + 2250K .......... .......... .......... .......... .......... 29% 320K 9s + 2300K .......... .......... .......... .......... .......... 30% 1.23M 9s + 2350K .......... .......... .......... .......... .......... 31% 34.2M 8s + 2400K .......... .......... .......... .......... .......... 31% 13.9M 8s + 2450K .......... .......... .......... .......... .......... 32% 105M 8s + 2500K .......... .......... .......... .......... .......... 33% 9.23M 8s + 2550K .......... .......... .......... .......... .......... 33% 2.33M 7s + 2600K .......... .......... .......... .......... .......... 34% 72.5M 7s + 2650K .......... .......... .......... .......... .......... 35% 8.12M 7s + 2700K .......... .......... .......... .......... .......... 35% 11.7M 7s + 2750K .......... .......... .......... .......... .......... 36% 5.52M 7s + 2800K .......... .......... .......... .......... .......... 37% 298K 7s + 2850K .......... .......... .......... .......... .......... 37% 28.0M 7s + 2900K .......... .......... .......... .......... .......... 38% 8.84M 6s + 2950K .......... .......... .......... .......... .......... 39% 7.49M 6s + 3000K .......... .......... .......... .......... .......... 39% 5.08M 6s + 3050K .......... .......... .......... .......... .......... 40% 8.32M 6s + 3100K .......... .......... .......... .......... .......... 41% 4.58M 6s + 3150K .......... .......... .......... .......... .......... 41% 8.34M 6s + 3200K .......... .......... .......... .......... .......... 42% 5.61M 5s + 3250K .......... .......... .......... .......... .......... 42% 6.51M 5s + 3300K .......... .......... .......... .......... .......... 43% 5.91M 5s + 3350K .......... .......... .......... .......... .......... 44% 4.07M 5s + 3400K .......... .......... .......... .......... .......... 44% 436K 5s + 3450K .......... .......... .......... .......... .......... 45% 2.29M 5s + 3500K .......... .......... .......... .......... .......... 46% 474K 5s + 3550K .......... .......... .......... .......... .......... 46% 14.6M 5s + 3600K .......... .......... .......... .......... .......... 47% 15.7M 5s + 3650K .......... .......... .......... .......... .......... 48% 184K 5s + 3700K .......... .......... .......... .......... .......... 48% 39.4M 5s + 3750K .......... .......... .......... .......... .......... 49% 1.90M 5s + 3800K .......... .......... .......... .......... .......... 50% 8.52M 5s + 3850K .......... .......... .......... .......... .......... 50% 71.9M 4s + 3900K .......... .......... .......... .......... .......... 51% 2.70M 4s + 3950K .......... .......... .......... .......... .......... 52% 31.1M 4s + 4000K .......... .......... .......... .......... .......... 52% 63.5M 4s + 4050K .......... .......... .......... .......... .......... 53% 2.46M 4s + 4100K .......... .......... .......... .......... .......... 54% 458K 4s + 4150K .......... .......... .......... .......... .......... 54% 3.32M 4s + 4200K .......... .......... .......... .......... .......... 55% 22.7M 4s + 4250K .......... .......... .......... .......... .......... 56% 16.4M 4s + 4300K .......... .......... .......... .......... .......... 56% 10.2M 4s + 4350K .......... .......... .......... .......... .......... 57% 58.6M 4s + 4400K .......... .......... .......... .......... .......... 57% 14.0M 3s + 4450K .......... .......... .......... .......... .......... 58% 19.0M 3s + 4500K .......... .......... .......... .......... .......... 59% 16.3M 3s + 4550K .......... .......... .......... .......... .......... 59% 29.8M 3s + 4600K .......... .......... .......... .......... .......... 60% 24.7M 3s + 4650K .......... .......... .......... .......... .......... 61% 16.1M 3s + 4700K .......... .......... .......... .......... .......... 61% 8.79M 3s + 4750K .......... .......... .......... .......... .......... 62% 48.7M 3s + 4800K .......... .......... .......... .......... .......... 63% 6.70M 3s + 4850K .......... .......... .......... .......... .......... 63% 28.1M 3s + 4900K .......... .......... .......... .......... .......... 64% 85.1M 3s + 4950K .......... .......... .......... .......... .......... 65% 130M 3s + 5000K .......... .......... .......... .......... .......... 65% 19.8M 3s + 5050K .......... .......... .......... .......... .......... 66% 49.7M 2s + 5100K .......... .......... .......... .......... .......... 67% 18.7M 2s + 5150K .......... .......... .......... .......... .......... 67% 1.40M 2s + 5200K .......... .......... .......... .......... .......... 68% 5.35M 2s + 5250K .......... .......... .......... .......... .......... 69% 4.82M 2s + 5300K .......... .......... .......... .......... .......... 69% 147K 2s + 5350K .......... .......... .......... .......... .......... 70% 4.24M 2s + 5400K .......... .......... .......... .......... .......... 70% 4.79M 2s + 5450K .......... .......... .......... .......... .......... 71% 11.5M 2s + 5500K .......... .......... .......... .......... .......... 72% 51.0M 2s + 5550K .......... .......... .......... .......... .......... 72% 17.4M 2s + 5600K .......... .......... .......... .......... .......... 73% 17.9M 2s + 5650K .......... .......... .......... .......... .......... 74% 25.1M 2s + 5700K .......... .......... .......... .......... .......... 74% 19.0M 2s + 5750K .......... .......... .......... .......... .......... 75% 7.62M 2s + 5800K .......... .......... .......... .......... .......... 76% 61.9M 2s + 5850K .......... .......... .......... .......... .......... 76% 18.5M 2s + 5900K .......... .......... .......... .......... .......... 77% 45.8M 2s + 5950K .......... .......... .......... .......... .......... 78% 60.4M 1s + 6000K .......... .......... .......... .......... .......... 78% 41.7M 1s + 6050K .......... .......... .......... .......... .......... 79% 17.1M 1s + 6100K .......... .......... .......... .......... .......... 80% 32.5M 1s + 6150K .......... .......... .......... .......... .......... 80% 32.9M 1s + 6200K .......... .......... .......... .......... .......... 81% 587K 1s + 6250K .......... .......... .......... .......... .......... 82% 2.14M 1s + 6300K .......... .......... .......... .......... .......... 82% 11.1M 1s + 6350K .......... .......... .......... .......... .......... 83% 8.50M 1s + 6400K .......... .......... .......... .......... .......... 84% 4.44M 1s + 6450K .......... .......... .......... .......... .......... 84% 1.08M 1s + 6500K .......... .......... .......... .......... .......... 85% 1.67M 1s + 6550K .......... .......... .......... .......... .......... 85% 3.01M 1s + 6600K .......... .......... .......... .......... .......... 86% 3.61M 1s + 6650K .......... .......... .......... .......... .......... 87% 471K 1s + 6700K .......... .......... .......... .......... .......... 87% 4.96M 1s + 6750K .......... .......... .......... .......... .......... 88% 11.7M 1s + 6800K .......... .......... .......... .......... .......... 89% 5.54M 1s + 6850K .......... .......... .......... .......... .......... 89% 1.39M 1s + 6900K .......... .......... .......... .......... .......... 90% 1.89M 1s + 6950K .......... .......... .......... .......... .......... 91% 1.80M 1s + 7000K .......... .......... .......... .......... .......... 91% 4.54M 1s + 7050K .......... .......... .......... .......... .......... 92% 510K 0s + 7100K .......... .......... .......... .......... .......... 93% 2.49M 0s + 7150K .......... .......... .......... .......... .......... 93% 5.39M 0s + 7200K .......... .......... .......... .......... .......... 94% 4.65M 0s + 7250K .......... .......... .......... .......... .......... 95% 2.58M 0s + 7300K .......... .......... .......... .......... .......... 95% 2.50M 0s + 7350K .......... .......... .......... .......... .......... 96% 1.26M 0s + 7400K .......... .......... .......... .......... .......... 97% 4.94M 0s + 7450K .......... .......... .......... .......... .......... 97% 595K 0s + 7500K .......... .......... .......... .......... .......... 98% 1.81M 0s + 7550K .......... .......... .......... .......... .......... 98% 2.40M 0s + 7600K .......... .......... .......... .......... .......... 99% 3.87M 0s + 7650K .......... .......... ....... 100% 19.7M=6.1s + +2018-12-25 10:25:47 (1.23 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/websetup/cleanweb.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/websetup/cleanweb.sh new file mode 100644 index 00000000..d9fb2806 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/websetup/cleanweb.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +echo "Checking connection for all the machines from webnodeIP.txt file" +for IP in $(cat webnodeIP.txt) +do + echo "Cleaning on $IP." + ssh devops@$IP ' + sudo rm -rf /tmp/website.zip + sudo rm -rf /var/www/html/* + sudo yum remove httpd wget unzip -y + sudo apt remove apache2 -y + ' +done diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/websetup/connectionshcheck.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/websetup/connectionshcheck.sh new file mode 100644 index 00000000..964472bc --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/websetup/connectionshcheck.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +echo "Checking connection for all the machines from webnodeIP.txt file" +for IP in $(cat webnodeIP.txt) +do + ssh devops@$IP hostname + if [ $? -eq 0 ] + then + echo "$IP is connected over SSH." + echo "##################################################" + else + echo "$IP Not connected over SSH." + echo "##################################################" + fi +done diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/websetup/vars.txt b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/websetup/vars.txt new file mode 100644 index 00000000..8edb3e45 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/websetup/vars.txt @@ -0,0 +1,2 @@ +export WEBURL=https://www.tooplate.com/download/2112_brunch +export DIRNAME=2112_brunch diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/websetup/webdeploy.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/websetup/webdeploy.sh new file mode 100644 index 00000000..fb8cdb82 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/websetup/webdeploy.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +echo "Checking connection for all the machines from webnodeIP.txt file" +for IP in $(cat webnodeIP.txt) +do + echo '########################################################################' + echo "# Running Websetup on $IP.#" + echo '########################################################################' + scp websetupmulti.sh devops@$IP:/tmp/ + scp vars.txt devops@$IP:/tmp/ + ssh devops@$IP ' + sudo /tmp/websetupmulti.sh >> /tmp/websetup.log 2>> /tmp/websetup.log + sudo cat /tmp/websetup.log + ' + echo "################################################" + echo "################################################" +done diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/websetup/webnodeIP.txt b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/websetup/webnodeIP.txt new file mode 100644 index 00000000..56e52ffa --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/websetup/webnodeIP.txt @@ -0,0 +1,3 @@ +192.168.5.3 +192.168.5.4 +192.168.5.5 diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/websetup/websetup.log b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/websetup/websetup.log new file mode 100644 index 00000000..563d8300 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/websetup/websetup.log @@ -0,0 +1,10112 @@ +nohup: ignoring input +Checking connection for all the machines from webnodeIP.txt file +######################################################################## +# Running Websetup on 192.168.5.3.# +######################################################################## +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Resolving Dependencies +--> Running transaction check +---> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed +---> Package unzip.x86_64 0:6.0-19.el7 will be installed +---> Package wget.x86_64 0:1.14-18.el7 will be installed +--> Finished Dependency Resolution + +Dependencies Resolved + +================================================================================ + Package Arch Version Repository Size +================================================================================ +Installing: + httpd x86_64 2.4.6-88.el7.centos base 2.7 M + unzip x86_64 6.0-19.el7 base 170 k + wget x86_64 1.14-18.el7 base 547 k + +Transaction Summary +================================================================================ +Install 3 Packages + +Total download size: 3.4 M +Installed size: 12 M +Downloading packages: +-------------------------------------------------------------------------------- +Total 317 kB/s | 3.4 MB 00:11 +Running transaction check +Running transaction test +Transaction test succeeded +Running transaction + Installing : wget-1.14-18.el7.x86_64 1/3 + Installing : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Installing : unzip-6.0-19.el7.x86_64 3/3 + Verifying : unzip-6.0-19.el7.x86_64 1/3 + Verifying : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Verifying : wget-1.14-18.el7.x86_64 3/3################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages + + +Installed: + httpd.x86_64 0:2.4.6-88.el7.centos unzip.x86_64 0:6.0-19.el7 + wget.x86_64 0:1.14-18.el7 + +Complete! +################################################################ + + +Starting and Enabling Service +Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. +Loaded plugins: fastestmirror +################################################################ + + +Copying website data +--2018-12-25 10:40:24-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... Loading mirror speeds from cached hostfile +connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:40:25-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service + + 0K .......... ......################################################################ + + +Copying website data +--2018-12-25 10:40:26-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... .... .......... ..connected. +........ .......... 4% 54.5K 22s + 50K .......... .......... ..........HTTP request sent, awaiting response... .......... .......... 8% 189K 14s + 100K .......... .......... .......... .......... .......... 12% 212K 10s + 150K .......... .......... ......302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:40:27-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... .... .......... .......... 16% 272K 8s + 200K .......... .......... .......... .......... .......... 20% 874K 7s + 250K ......connected. +.... .......... .......... .......... .......... 24% 241K 6s + 300K .......... .......... .......... .......... .......... 28% 70.9M 5s + 350K .......... .......... .......... .......... .......... 32% 221K 4s + 400K .......... .......... .......... .......... .......... 36% 84.6M 4s + 450K .......... .......... .......... .......... ......HTTP request sent, awaiting response... .... 40% 878K 3s + 500K .......... .......... .......... .......... .......... 44% 281K 3s + 550K .......... .......... .......... .......... .......... 48% 47.0M 2s + 600K .......... .......... .......... .......... .......... 52% 1.50M 2s + 650K .......... .......... ..200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ +........ .......... .......... 56% 1.89M 2s + 700K .......... .......... .......... .......... .......... 60% 242K 2s + 750K .......... .......... .......... .......... .......... 64% 106M 1s + 800K .......... .......... .......... .......... .......... 68% 13.8M 1s + 850K .......... .......... .......... .......... .......... 72% 109M 1s + 900K .......... .. + 0K .......... .............. .......... .......... .......... 76% 2.58M 1s + 950K .......... .......... .......... .......... .......... 80% 280K 1s + 1000K .......... .......... .......... .......... .......... 84% 55.3M 1s + 1050K .......... .......... .......... .......... .......... 88% 65.1M 0s + 1100K .......... .......... .......... .......... .......... 92% 3.51M 0s + 1150K .......... .......... .......... ........ .......... ........ .......... 96% 2.72M 0s + 1200K .......... .......... .......... .......... ... 100% 1.96M=2.9s + +2018-12-25 10:40:28 (436 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + creating: 2101_insertion/ + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + creating: 2101_insertion/css/ + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + creating: 2101_insertion/img/ + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + creating: 2101_insertion/js/ + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + creating: 2101_insertion/webfonts/ + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt + + +Restarting Service +........ .......... 4% 54.5K 22s + 50K .......... .......... .......... .......... .......... 8% 220K 13s + 100K .......... .......... .......... .......... .......... 12% 210K 10s + 150K .......... .......... .......... .......... .......... 16% 232K 8s + 200K .......... .......... .......... .......... .......... 20% 245K 7s + 250K .......... .......... .......... .......... .......... 24% 3.40M 6s + 300K ....################################################################ +...... .......... .......... .......... .......... 28% 214K 5s + 350K .......... .......... .......... .......... .......... 32% 218K 5s + 400K .......... .......... .......... .......... .......... 36% 11.5M 4s + 450K .......... .......... .......... .......... .......... 40% 248K 4s + 500K .......... .......... .......... .......... .......... 44% 2.12M 3s + 550K .......... .......... .......... .......... .......... 48% 64.4M 3s + 600K .......... .......... .......... .......... .......... 52% 221K 2s + 650K .......... .......... .......... .......... .......... 56% 21.7M 2s + 700K .......... .......... .......... .......... .......... 60% 117M 2s + 750K .......... .......... .......... .......... .......... 64% 30.7M 2s + 800K .......... .......... .......... .......... .......... 68% 223K 1s + 850K .......... .......... .......... .......... .......... 72% 9.68M 1s + 900K .......... .......... .......... .......... .......... 76% 69.6M 1s + 950K .......... .......... .......... .......... .......... 80% 67.8M 1s + 1000K .......... .......... .......... .......... .......... 84% 256K 1s + 1050K .......... .......... .......... .......... .......... 88% 1.93M 0s + 1100K .......... .......... .......... .......... .......... 92% 119M 0s + 1150K .......... .......... .......... .......... .......... 96% 64.6M 0s + 1200K .......... .......... .......... .......... ... 100% 114M=3.2s + +2018-12-25 10:40:31 (389 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Resolving Dependencies +--> Running transaction check +---> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed +---> Package unzip.x86_64 0:6.0-19.el7 will be installed +---> Package wget.x86_64 0:1.14-18.el7 will be installed +--> Finished Dependency Resolution + +Dependencies Resolved + +================================================================================ + Package Arch Version Repository Size +================================================================================ +Installing: + httpd x86_64 2.4.6-88.el7.centos base 2.7 M + unzip x86_64 6.0-19.el7 base 170 k + wget x86_64 1.14-18.el7 base 547 k + +Transaction Summary +================================================================================ +Install 3 Packages + +Total download size: 3.4 M +Installed size: 12 M +Downloading packages: +-------------------------------------------------------------------------------- +Total 337 kB/s | 3.4 MB 00:10 +Running transaction check +Running transaction test +Transaction test succeeded +Running transaction + Installing : wget-1.14-18.el7.x86_64 1/3 + Installing : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Installing : unzip-6.0-19.el7.x86_64 3/3 + Verifying : unzip-6.0-19.el7.x86_64 1/3 + Verifying : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Verifying : wget-1.14-18.el7.x86_64 3/3 + +Installed: + httpd.x86_64 0:2.4.6-88.el7.centos unzip.x86_64 0:6.0-19.el7 + wget.x86_64 0:1.14-18.el7 + +Complete! +################################################################ + + +Starting and Enabling Service +Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. +################################################################ + + +Copying website data +--2018-12-25 10:53:15-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:53:16-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 32.8K 3m53s + 50K .......... .......... .......... .......... .......... 1% 54.8K 3m5s + 100K .......... .......... .......... .......... .......... 1% 62.9K 2m42s + 150K .......... .......... .......... .......... .......... 2% 72.4K 2m27s + 200K .......... .......... .......... .......... .......... 3% 207K 2m4s + 250K .......... .......... .......... .......... .......... 3% 210K 1m48s + 300K .......... .......... .......... .......... .......... 4% 210K 97s + 350K .......... .......... .......... .......... .......... 5% 206K 89s + 400K .......... .......... .......... .......... .......... 5% 210K 82s + 450K .......... .......... .......... .......... .......... 6% 211K 77s + 500K .......... .......... .......... .......... .......... 7% 20.2M 69s + 550K .......... .......... .......... .......... .......... 7% 209K 66s + 600K .......... .......... .......... .......... .......... 8% 43.4M 61s + 650K .......... .......... .......... .......... .......... 9% 208K 58s + 700K .......... .......... .......... .......... .......... 9% 25.6M 54s + 750K .......... .......... .......... .......... .......... 10% 206K 52s + 800K .......... .......... .......... .......... .......... 11% 60.1M 49s + 850K .......... .......... .......... .......... .......... 11% 288K 47s + 900K .......... .......... .......... .......... .......... 12% 1.06M 45s + 950K .......... .......... .......... .......... .......... 13% 2.77M 42s + 1000K .......... .......... .......... .......... .......... 13% 57.6M 40s + 1050K .......... .......... .......... .......... .......... 14% 230K 39s + 1100K .......... .......... .......... .......... .......... 14% 1.65M 37s + 1150K .......... .......... .......... .......... .......... 15% 76.7M 35s + 1200K .......... .......... .......... .......... .......... 16% 927K 34s + 1250K .......... .......... .......... .......... .......... 16% 340K 33s + 1300K .......... .......... .......... .......... .......... 17% 1.45M 32s + 1350K .......... .......... .......... .......... .......... 18% 2.17M 31s + 1400K .......... .......... .......... .......... .......... 18% 26.6M 29s + 1450K .......... .......... .......... .......... .......... 19% 127K 30s + 1500K .......... .......... .......... .......... .......... 20% 5.66M 29s + 1550K .......... .......... .......... .......... .......... 20% 64.1M 27s + 1600K .......... .......... .......... .......... .......... 21% 93.3M 26s + 1650K .......... .......... .......... .......... .......... 22% 62.7M 25s + 1700K .......... .......... .......... .......... .......... 22% 64.5M 25s + 1750K .......... .......... .......... .......... .......... 23% 109M 24s + 1800K .......... .......... .......... .......... .......... 24% 1.25M 23s + 1850K .......... .......... .......... .......... .......... 24% 1.13M 22s + 1900K .......... .......... .......... .......... .......... 25% 3.79M 22s + 1950K .......... .......... .......... .......... .......... 26% 504K 21s + 2000K .......... .......... .......... .......... .......... 26% 641K 21s + 2050K .......... .......... .......... .......... .......... 27% 853K 20s + 2100K .......... .......... .......... .......... .......... 28% 4.42M 19s + 2150K .......... .......... .......... .......... .......... 28% 528K 19s + 2200K .......... .......... .......... .......... .......... 29% 822K 19s + 2250K .......... .......... .......... .......... .......... 29% 1.64M 18s + 2300K .......... .......... .......... .......... .......... 30% 913K 18s + 2350K .......... .......... .......... .......... .......... 31% 26.6M 17s + 2400K .......... .......... .......... .......... .......... 31% 412K 17s + 2450K .......... .......... .......... .......... .......... 32% 1.25M 17s + 2500K .......... .......... .......... .......... .......... 33% 786K 16s + 2550K .......... .......... .......... .......... .......... 33% 6.16M 16s + 2600K .......... .......... .......... .......... .......... 34% 558K 15s + 2650K .......... .......... .......... .......... .......... 35% 827K 15s + 2700K .......... .......... .......... .......... .......... 35% 2.09M 15s + 2750K .......... .......... .......... .......... .......... 36% 969K 14s + 2800K .......... .......... .......... .......... .......... 37% 3.30M 14s + 2850K .......... .......... .......... .......... .......... 37% 544K 14s + 2900K .......... .......... .......... .......... .......... 38% 755K 14s + 2950K .......... .......... .......... .......... .......... 39% 1.86M 13s + 3000K .......... .......... .......... .......... .......... 39% 1.04M 13s + 3050K .......... .......... .......... .......... .......... 40% 16.6M 13s + 3100K .......... .......... .......... .......... .......... 41% 669K 12s + 3150K .......... .......... .......... .......... .......... 41% 650K 12s + 3200K .......... .......... .......... .......... .......... 42% 1.53M 12s + 3250K .......... .......... .......... .......... .......... 42% 1.07M 12s + 3300K .......... .......... .......... .......... .......... 43% 8.02M 11s + 3350K .......... .......... .......... .......... .......... 44% 672K 11s + 3400K .......... .......... .......... .......... .......... 44% 631K 11s + 3450K .......... .......... .......... .......... .......... 45% 1.78M 11s + 3500K .......... .......... .......... .......... .......... 46% 1005K 10s + 3550K .......... .......... .......... .......... .......... 46% 11.5M 10s + 3600K .......... .......... .......... .......... .......... 47% 684K 10s + 3650K .......... .......... .......... .......... .......... 48% 423K 10s + 3700K .......... .......... .......... .......... .......... 48% 414K 10s + 3750K .......... .......... .......... .......... .......... 49% 247K 10s + 3800K .......... .......... .......... .......... .......... 50% 940K 10s + 3850K .......... .......... .......... .......... .......... 50% 8.21M 9s + 3900K .......... .......... .......... .......... .......... 51% 36.6M 9s + 3950K .......... .......... .......... .......... .......... 52% 95.1M 9s + 4000K .......... .......... .......... .......... .......... 52% 26.3M 9s + 4050K .......... .......... .......... .......... .......... 53% 46.8M 8s + 4100K .......... .......... .......... .......... .......... 54% 28.8M 8s + 4150K .......... .......... .......... .......... .......... 54% 25.4M 8s + 4200K .......... .......... .......... .......... .......... 55% 1.55M 8s + 4250K .......... .......... .......... .......... .......... 56% 1.03M 8s + 4300K .......... .......... .......... .......... .......... 56% 1.29M 7s + 4350K .......... .......... .......... .......... .......... 57% 2.78M 7s + 4400K .......... .......... .......... .......... .......... 57% 909K 7s + 4450K .......... .......... .......... .......... .......... 58% 1.46M 7s + 4500K .......... .......... .......... .......... .......... 59% 612K 7s + 4550K .......... .......... .......... .......... .......... 59% 4.12M 7s + 4600K .......... .......... .......... .......... .......... 60% 1.39M 6s + 4650K .......... .......... .......... .......... .......... 61% 2.11M 6s + 4700K .......... .......... .......... .......... .......... 61% 934K 6s + 4750K .......... .......... .......... .......... .......... 62% 700K 6s + 4800K .......... .......... .......... .......... .......... 63% 1.11M 6s + 4850K .......... .......... .......... .......... .......... 63% 1.20M 6s + 4900K .......... .......... .......... .......... .......... 64% 2.64M 6s + 4950K .......... .......... .......... .......... .......... 65% 1.74M 5s + 5000K .......... .......... .......... .......... .......... 65% 915K 5s + 5050K .......... .......... .......... .......... .......... 66% 890K 5s + 5100K .......... .......... .......... .......... .......... 67% 893K 5s + 5150K .......... .......... .......... .......... .......... 67% 2.24M 5s + 5200K .......... .......... .......... .......... .......... 68% 1.45M 5s + 5250K .......... .......... .......... .......... .......... 69% 1.30M 5s + 5300K .......... .......... .......... .......... .......... 69% 1.52M 5s + 5350K .......... .......... .......... .......... .......... 70% 579K 4s + 5400K .......... .......... .......... .......... .......... 70% 2.83M 4s + 5450K .......... .......... .......... .......... .......... 71% 1.53M 4s + 5500K .......... .......... .......... .......... .......... 72% 2.13M 4s + 5550K .......... .......... .......... .......... .......... 72% 1.05M 4s + 5600K .......... .......... .......... .......... .......... 73% 662K 4s + 5650K .......... .......... .......... .......... .......... 74% 1.14M 4s + 5700K .......... .......... .......... .......... .......... 74% 1.35M 4s + 5750K .......... .......... .......... .......... .......... 75% 3.14M 4s + 5800K .......... .......... .......... .......... .......... 76% 2.24M 3s + 5850K .......... .......... .......... .......... .......... 76% 966K 3s + 5900K .......... .......... .......... .......... .......... 77% 789K 3s + 5950K .......... .......... .......... .......... .......... 78% 1.07M 3s + 6000K .......... .......... .......... .......... .......... 78% 1.19M 3s + 6050K .......... .......... .......... .......... .......... 79% 2.15M 3s + 6100K .......... .......... .......... .......... .......... 80% 1.79M 3s + 6150K .......... .......... .......... .......... .......... 80% 1000K 3s + 6200K .......... .......... .......... .......... .......... 81% 978K 3s + 6250K .......... .......... .......... .......... .......... 82% 978K 2s + 6300K .......... .......... .......... .......... .......... 82% 1.52M 2s + 6350K .......... .......... .......... .......... .......... 83% 1.82M 2s + 6400K .......... .......... .......... .......... .......... 84% 1.28M 2s + 6450K .......... .......... .......... .......... .......... 84% 1.35M 2s + 6500K .......... .......... .......... .......... .......... 85% 541K 2s + 6550K .......... .......... .......... .......... .......... 85% 3.42M 2s + 6600K .......... .......... .......... .......... .......... 86% 1.80M 2s + 6650K .......... .......... .......... .......... .......... 87% 1.56M 2s + 6700K .......... .......... .......... .......... .......... 87% 1.43M 2s + 6750K .......... .......... .......... .......... .......... 88% 1.25M 2s + 6800K .......... .......... .......... .......... .......... 89% 551K 1s + 6850K .......... .......... .......... .......... .......... 89% 4.14M 1s + 6900K .......... .......... .......... .......... .......... 90% 1.59M 1s + 6950K .......... .......... .......... .......... .......... 91% 1.54M 1s + 7000K .......... .......... .......... .......... .......... 91% 1.04M 1s + 7050K .......... .......... .......... .......... .......... 92% 813K 1s + 7100K .......... .......... .......... .......... .......... 93% 977K 1s + 7150K .......... .......... .......... .......... .......... 93% 3.60M 1s + 7200K .......... .......... .......... .......... .......... 94% 1.30M 1s + 7250K .......... .......... .......... .......... .......... 95% 1.98M 1s + 7300K .......... .......... .......... .......... .......... 95% 1.10M 1s + 7350K .......... .......... .......... .......... .......... 96% 748K 0s + 7400K .......... .......... .......... .......... .......... 97% 924K 0s + 7450K .......... .......... .......... .......... .......... 97% 1.84M 0s + 7500K .......... .......... .......... .......... .......... 98% 3.35M 0s + 7550K .......... .......... .......... .......... .......... 98% 1.42M 0s + 7600K .......... .......... .......... .......... .......... 99% 875K 0s + 7650K .......... .......... ....... 100% 18.2M=12s + +2018-12-25 10:53:29 (620 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + creating: 2112_brunch/ + inflating: 2112_brunch/contact-page.html + creating: 2112_brunch/css/ + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + creating: 2112_brunch/css/fonts/ + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + creating: 2112_brunch/fonts/ + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + creating: 2112_brunch/img/ + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + creating: 2112_brunch/js/ + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + creating: 2112_brunch/js/vendor/ + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + creating: 2112_brunch/videos/ + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 10:58:51-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:58:53-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 56.3K 2m15s + 50K .......... .......... .......... .......... .......... 1% 190K 87s + 100K .......... .......... .......... .......... .......... 1% 119K 79s + 150K .......... .......... .......... .......... .......... 2% 209K 68s + 200K .......... .......... .......... .......... .......... 3% 236K 60s + 250K .......... .......... .......... .......... .......... 3% 2.70M 50s + 300K .......... .......... .......... .......... .......... 4% 232K 47s + 350K .......... .......... .......... .......... .......... 5% 2.17M 41s + 400K .......... .......... .......... .......... .......... 5% 257K 40s + 450K .......... .......... .......... .......... .......... 6% 1.25M 36s + 500K .......... .......... .......... .......... .......... 7% 242K 35s + 550K .......... .......... .......... .......... .......... 7% 32.1M 32s + 600K .......... .......... .......... .......... .......... 8% 5.74M 30s + 650K .......... .......... .......... .......... .......... 9% 219K 29s + 700K .......... .......... .......... .......... .......... 9% 33.9M 27s + 750K .......... .......... .......... .......... .......... 10% 64.2M 25s + 800K .......... .......... .......... .......... .......... 11% 286K 25s + 850K .......... .......... .......... .......... .......... 11% 1.14M 24s + 900K .......... .......... .......... .......... .......... 12% 4.37M 23s + 950K .......... .......... .......... .......... .......... 13% 60.6M 21s + 1000K .......... .......... .......... .......... .......... 13% 102M 20s + 1050K .......... .......... .......... .......... .......... 14% 258K 20s + 1100K .......... .......... .......... .......... .......... 14% 2.10M 19s + 1150K .......... .......... .......... .......... .......... 15% 21.3M 18s + 1200K .......... .......... .......... .......... .......... 16% 3.83M 18s + 1250K .......... .......... .......... .......... .......... 16% 8.81M 17s + 1300K .......... .......... .......... .......... .......... 17% 284K 17s + 1350K .......... .......... .......... .......... .......... 18% 1.90M 16s + 1400K .......... .......... .......... .......... .......... 18% 10.9M 16s + 1450K .......... .......... .......... .......... .......... 19% 2.08M 15s + 1500K .......... .......... .......... .......... .......... 20% 35.8M 14s + 1550K .......... .......... .......... .......... .......... 20% 13.7M 14s + 1600K .......... .......... .......... .......... .......... 21% 269K 14s + 1650K .......... .......... .......... .......... .......... 22% 2.58M 14s + 1700K .......... .......... .......... .......... .......... 22% 4.07M 13s + 1750K .......... .......... .......... .......... .......... 23% 2.10M 13s + 1800K .......... .......... .......... .......... .......... 24% 48.7M 12s + 1850K .......... .......... .......... .......... .......... 24% 95.7M 12s + 1900K .......... .......... .......... .......... .......... 25% 13.5M 11s + 1950K .......... .......... .......... .......... .......... 26% 51.1M 11s + 2000K .......... .......... .......... .......... .......... 26% 285K 11s + 2050K .......... .......... .......... .......... .......... 27% 2.31M 11s + 2100K .......... .......... .......... .......... .......... 28% 99.6M 11s + 2150K .......... .......... .......... .......... .......... 28% 60.1M 10s + 2200K .......... .......... .......... .......... .......... 29% 2.23M 10s + 2250K .......... .......... .......... .......... .......... 29% 2.33M 10s + 2300K .......... .......... .......... .......... .......... 30% 34.5M 9s + 2350K .......... .......... .......... .......... .......... 31% 45.0M 9s + 2400K .......... .......... .......... .......... .......... 31% 398K 9s + 2450K .......... .......... .......... .......... .......... 32% 3.27M 9s + 2500K .......... .......... .......... .......... .......... 33% 109M 9s + 2550K .......... .......... .......... .......... .......... 33% 1.84M 8s + 2600K .......... .......... .......... .......... .......... 34% 2.26M 8s + 2650K .......... .......... .......... .......... .......... 35% 8.19M 8s + 2700K .......... .......... .......... .......... .......... 35% 5.65M 8s + 2750K .......... .......... .......... .......... .......... 36% 60.0M 8s + 2800K .......... .......... .......... .......... .......... 37% 1.71M 7s + 2850K .......... .......... .......... .......... .......... 37% 8.25M 7s + 2900K .......... .......... .......... .......... .......... 38% 106M 7s + 2950K .......... .......... .......... .......... .......... 39% 388K 7s + 3000K .......... .......... .......... .......... .......... 39% 6.18M 7s + 3050K .......... .......... .......... .......... .......... 40% 63.3M 7s + 3100K .......... .......... .......... .......... .......... 41% 3.64M 7s + 3150K .......... .......... .......... .......... .......... 41% 3.08M 6s + 3200K .......... .......... .......... .......... .......... 42% 1.87M 6s + 3250K .......... .......... .......... .......... .......... 42% 3.25M 6s + 3300K .......... .......... .......... .......... .......... 43% 15.0M 6s + 3350K .......... .......... .......... .......... .......... 44% 61.2M 6s + 3400K .......... .......... .......... .......... .......... 44% 5.37M 6s + 3450K .......... .......... .......... .......... .......... 45% 3.23M 6s + 3500K .......... .......... .......... .......... .......... 46% 106M 5s + 3550K .......... .......... .......... .......... .......... 46% 64.5M 5s + 3600K .......... .......... .......... .......... .......... 47% 456K 5s + 3650K .......... .......... .......... .......... .......... 48% 3.21M 5s + 3700K .......... .......... .......... .......... .......... 48% 9.14M 5s + 3750K .......... .......... .......... .......... .......... 49% 8.24M 5s + 3800K .......... .......... .......... .......... .......... 50% 1.91M 5s + 3850K .......... .......... .......... .......... .......... 50% 3.57M 5s + 3900K .......... .......... .......... .......... .......... 51% 32.5M 5s + 3950K .......... .......... .......... .......... .......... 52% 109M 4s + 4000K .......... .......... .......... .......... .......... 52% 1.94M 4s + 4050K .......... .......... .......... .......... .......... 53% 3.05M 4s + 4100K .......... .......... .......... .......... .......... 54% 12.3M 4s + 4150K .......... .......... .......... .......... .......... 54% 10.1M 4s + 4200K .......... .......... .......... .......... .......... 55% 12.7M 4s + 4250K .......... .......... .......... .......... .......... 56% 2.81M 4s + 4300K .......... .......... .......... .......... .......... 56% 27.3M 4s + 4350K .......... .......... .......... .......... .......... 57% 47.7M 4s + 4400K .......... .......... .......... .......... .......... 57% 599K 4s + 4450K .......... .......... .......... .......... .......... 58% 3.76M 4s + 4500K .......... .......... .......... .......... .......... 59% 2.91M 3s + 4550K .......... .......... .......... .......... .......... 59% 8.45M 3s + 4600K .......... .......... .......... .......... .......... 60% 8.49M 3s + 4650K .......... .......... .......... .......... .......... 61% 5.00M 3s + 4700K .......... .......... .......... .......... .......... 61% 3.35M 3s + 4750K .......... .......... .......... .......... .......... 62% 4.57M 3s + 4800K .......... .......... .......... .......... .......... 63% 3.83M 3s + 4850K .......... .......... .......... .......... .......... 63% 6.31M 3s + 4900K .......... .......... .......... .......... .......... 64% 108M 3s + 4950K .......... .......... .......... .......... .......... 65% 4.94M 3s + 5000K .......... .......... .......... .......... .......... 65% 2.93M 3s + 5050K .......... .......... .......... .......... .......... 66% 29.5M 3s + 5100K .......... .......... .......... .......... .......... 67% 2.96M 3s + 5150K .......... .......... .......... .......... .......... 67% 8.58M 2s + 5200K .......... .......... .......... .......... .......... 68% 12.2M 2s + 5250K .......... .......... .......... .......... .......... 69% 2.41M 2s + 5300K .......... .......... .......... .......... .......... 69% 111M 2s + 5350K .......... .......... .......... .......... .......... 70% 1.64M 2s + 5400K .......... .......... .......... .......... .......... 70% 1.21M 2s + 5450K .......... .......... .......... .......... .......... 71% 2.95M 2s + 5500K .......... .......... .......... .......... .......... 72% 3.35M 2s + 5550K .......... .......... .......... .......... .......... 72% 1.79M 2s + 5600K .......... .......... .......... .......... .......... 73% 5.52M 2s + 5650K .......... .......... .......... .......... .......... 74% 6.18M 2s + 5700K .......... .......... .......... .......... .......... 74% 1.79M 2s + 5750K .......... .......... .......... .......... .......... 75% 995K 2s + 5800K .......... .......... .......... .......... .......... 76% 3.13M 2s + 5850K .......... .......... .......... .......... .......... 76% 32.9M 2s + 5900K .......... .......... .......... .......... .......... 77% 589K 2s + 5950K .......... .......... .......... .......... .......... 78% 274K 2s + 6000K .......... .......... .......... .......... .......... 78% 751K 2s + 6050K .......... .......... .......... .......... .......... 79% 2.14M 1s + 6100K .......... .......... .......... .......... .......... 80% 406K 1s + 6150K .......... .......... .......... .......... .......... 80% 2.49M 1s + 6200K .......... .......... .......... .......... .......... 81% 7.06M 1s + 6250K .......... .......... .......... .......... .......... 82% 12.1M 1s + 6300K .......... .......... .......... .......... .......... 82% 129M 1s + 6350K .......... .......... .......... .......... .......... 83% 70.4M 1s + 6400K .......... .......... .......... .......... .......... 84% 51.1M 1s + 6450K .......... .......... .......... .......... .......... 84% 59.4M 1s + 6500K .......... .......... .......... .......... .......... 85% 98.2M 1s + 6550K .......... .......... .......... .......... .......... 85% 60.5M 1s + 6600K .......... .......... .......... .......... .......... 86% 46.2M 1s + 6650K .......... .......... .......... .......... .......... 87% 60.6M 1s + 6700K .......... .......... .......... .......... .......... 87% 53.1M 1s + 6750K .......... .......... .......... .......... .......... 88% 59.5M 1s + 6800K .......... .......... .......... .......... .......... 89% 22.0M 1s + 6850K .......... .......... .......... .......... .......... 89% 72.1M 1s + 6900K .......... .......... .......... .......... .......... 90% 54.5M 1s + 6950K .......... .......... .......... .......... .......... 91% 98.8M 1s + 7000K .......... .......... .......... .......... .......... 91% 59.1M 1s + 7050K .......... .......... .......... .......... .......... 92% 63.7M 0s + 7100K .......... .......... .......... .......... .......... 93% 106M 0s + 7150K .......... .......... .......... .......... .......... 93% 60.1M 0s + 7200K .......... .......... .......... .......... .......... 94% 46.5M 0s + 7250K .......... .......... .......... .......... .......... 95% 60.8M 0s + 7300K .......... .......... .......... .......... .......... 95% 59.1M 0s + 7350K .......... .......... .......... .......... .......... 96% 100M 0s + 7400K .......... .......... .......... .......... .......... 97% 40.2M 0s + 7450K .......... .......... .......... .......... .......... 97% 54.4M 0s + 7500K .......... .......... .......... .......... .......... 98% 102M 0s + 7550K .......... .......... .......... .......... .......... 98% 63.4M 0s + 7600K .......... .......... .......... .......... .......... 99% 89.0M 0s + 7650K .......... .......... ....... 100% 49.4M=5.9s + +2018-12-25 10:59:00 (1.27 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +################################################ +################################################ +######################################################################## +# Running Websetup on 192.168.5.4.# +######################################################################## +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +You need to be root to perform this command. +################################################################ + + +Starting and Enabling Service +Failed to start httpd.service: Interactive authentication required. +See system logs and 'systemctl status httpd.service' for details. +Failed to execute operation: Interactive authentication required. +################################################################ + + +Copying website data +/tmp/websetupmulti.sh: line 36: wget: command not found +/tmp/websetupmulti.sh: line 37: unzip: command not found +cp: cannot stat ‘/tmp/2104_sloopa/*’: No such file or directory + + +Restarting Service +Failed to restart httpd.service: Interactive authentication required. +See system logs and 'systemctl status httpd.service' for details. +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +You need to be root to perform this command. +################################################################ + + +Starting and Enabling Service +Failed to start httpd.service: Interactive authentication required. +See system logs and 'systemctl status httpd.service' for details. +Failed to execute operation: Interactive authentication required. +################################################################ + + +Copying website data +/tmp/websetupmulti.sh: line 36: wget: command not found +/tmp/websetupmulti.sh: line 37: unzip: command not found +cp: cannot stat ‘/tmp/2112_brunch/*’: No such file or directory + + +Restarting Service +Failed to restart httpd.service: Interactive authentication required. +See system logs and 'systemctl status httpd.service' for details. +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Determining fastest mirrors + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Resolving Dependencies +--> Running transaction check +---> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed +--> Processing Dependency: httpd-tools = 2.4.6-88.el7.centos for package: httpd-2.4.6-88.el7.centos.x86_64 +--> Processing Dependency: system-logos >= 7.92.1-1 for package: httpd-2.4.6-88.el7.centos.x86_64 +--> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-88.el7.centos.x86_64 +--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-88.el7.centos.x86_64 +--> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-88.el7.centos.x86_64 +---> Package unzip.x86_64 0:6.0-19.el7 will be installed +---> Package wget.x86_64 0:1.14-18.el7 will be installed +--> Running transaction check +---> Package apr.x86_64 0:1.4.8-3.el7_4.1 will be installed +---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed +---> Package centos-logos.noarch 0:70.0.6-3.el7.centos will be installed +---> Package httpd-tools.x86_64 0:2.4.6-88.el7.centos will be installed +---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed +--> Finished Dependency Resolution + +Dependencies Resolved + +================================================================================ + Package Arch Version Repository Size +================================================================================ +Installing: + httpd x86_64 2.4.6-88.el7.centos base 2.7 M + unzip x86_64 6.0-19.el7 base 170 k + wget x86_64 1.14-18.el7 base 547 k +Installing for dependencies: + apr x86_64 1.4.8-3.el7_4.1 base 103 k + apr-util x86_64 1.5.2-6.el7 base 92 k + centos-logos noarch 70.0.6-3.el7.centos base 21 M + httpd-tools x86_64 2.4.6-88.el7.centos base 90 k + mailcap noarch 2.1.41-2.el7 base 31 k + +Transaction Summary +================================================================================ +Install 3 Packages (+5 Dependent packages) + +Total download size: 25 M +Installed size: 34 M +Downloading packages: +warning: /var/cache/yum/x86_64/7/base/packages/apr-util-1.5.2-6.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY +Public key for apr-util-1.5.2-6.el7.x86_64.rpm is not installed +-------------------------------------------------------------------------------- +Total 3.6 MB/s | 25 MB 00:06 +Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 +Importing GPG key 0xF4A80EB5: + Userid : "CentOS-7 Key (CentOS 7 Official Signing Key) " + Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5 + Package : centos-release-7-5.1804.4.el7.centos.x86_64 (@koji-override-1) + From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 +Running transaction check +Running transaction test +Transaction test succeeded +Running transaction + Installing : apr-1.4.8-3.el7_4.1.x86_64 1/8 + Installing : apr-util-1.5.2-6.el7.x86_64 2/8 + Installing : httpd-tools-2.4.6-88.el7.centos.x86_64 3/8 + Installing : centos-logos-70.0.6-3.el7.centos.noarch 4/8 + Installing : mailcap-2.1.41-2.el7.noarch 5/8 + Installing : httpd-2.4.6-88.el7.centos.x86_64 6/8 + Installing : unzip-6.0-19.el7.x86_64 7/8 + Installing : wget-1.14-18.el7.x86_64 8/8 + Verifying : mailcap-2.1.41-2.el7.noarch 1/8 + Verifying : apr-util-1.5.2-6.el7.x86_64 2/8 + Verifying : wget-1.14-18.el7.x86_64 3/8 + Verifying : httpd-tools-2.4.6-88.el7.centos.x86_64 4/8 + Verifying : unzip-6.0-19.el7.x86_64 5/8 + Verifying : httpd-2.4.6-88.el7.centos.x86_64 6/8 + Verifying : apr-1.4.8-3.el7_4.1.x86_64 7/8 + Verifying : centos-logos-70.0.6-3.el7.centos.noarch 8/8 + +Installed: + httpd.x86_64 0:2.4.6-88.el7.centos unzip.x86_64 0:6.0-19.el7 + wget.x86_64 0:1.14-18.el7 + +Dependency Installed: + apr.x86_64 0:1.4.8-3.el7_4.1 + apr-util.x86_64 0:1.5.2-6.el7 + centos-logos.noarch 0:70.0.6-3.el7.centos + httpd-tools.x86_64 0:2.4.6-88.el7.centos + mailcap.noarch 0:2.1.41-2.el7 + +Complete! +################################################################ + + +Starting and Enabling Service +Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. +################################################################ + + +Copying website data +wget: missing URL +Usage: wget [OPTION]... [URL]... + +Try `wget --help' for more options. +unzip: cannot find or open website.zip, website.zip.zip or website.zip.ZIP. + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +wget: missing URL +Usage: wget [OPTION]... [URL]... + +Try `wget --help' for more options. +unzip: cannot find or open website.zip, website.zip.zip or website.zip.ZIP. + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +wget: missing URL +Usage: wget [OPTION]... [URL]... + +Try `wget --help' for more options. +unzip: cannot find or open website.zip, website.zip.zip or website.zip.ZIP. + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 10:18:15-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:18:16-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 71.9K 1m46s + 50K .......... .......... .......... .......... .......... 1% 223K 70s + 100K .......... .......... .......... .......... .......... 1% 212K 58s + 150K .......... .......... .......... .......... .......... 2% 208K 52s + 200K .......... .......... .......... .......... .......... 3% 217K 48s + 250K .......... .......... .......... .......... .......... 3% 219K 46s + 300K .......... .......... .......... .......... .......... 4% 255K 43s + 350K .......... .......... .......... .......... .......... 5% 1.79M 38s + 400K .......... .......... .......... .......... .......... 5% 205K 37s + 450K .......... .......... .......... .......... .......... 6% 21.1M 33s + 500K .......... .......... .......... .......... .......... 7% 207K 33s + 550K .......... .......... .......... .......... .......... 7% 9.04M 30s + 600K .......... .......... .......... .......... .......... 8% 299K 30s + 650K .......... .......... .......... .......... .......... 9% 1.28M 28s + 700K .......... .......... .......... .......... .......... 9% 3.15M 26s + 750K .......... .......... .......... .......... .......... 10% 276K 26s + 800K .......... .......... .......... .......... .......... 11% 397K 25s + 850K .......... .......... .......... .......... .......... 11% 27.8M 23s + 900K .......... .......... .......... .......... .......... 12% 109M 22s + 950K .......... .......... .......... .......... .......... 13% 432K 21s + 1000K .......... .......... .......... .......... .......... 13% 1.40M 21s + 1050K .......... .......... .......... .......... .......... 14% 3.53M 20s + 1100K .......... .......... .......... .......... .......... 14% 4.08M 19s + 1150K .......... .......... .......... .......... .......... 15% 289K 19s + 1200K .......... .......... .......... .......... .......... 16% 1.70M 18s + 1250K .......... .......... .......... .......... .......... 16% 5.90M 17s + 1300K .......... .......... .......... .......... .......... 17% 2.96M 16s + 1350K .......... .......... .......... .......... .......... 18% 4.35M 16s + 1400K .......... .......... .......... .......... .......... 18% 303K 16s + 1450K .......... .......... .......... .......... .......... 19% 4.99M 15s + 1500K .......... .......... .......... .......... .......... 20% 1001K 15s + 1550K .......... .......... .......... .......... .......... 20% 75.9M 14s + 1600K .......... .......... .......... .......... .......... 21% 1.96M 14s + 1650K .......... .......... .......... .......... .......... 22% 58.4M 13s + 1700K .......... .......... .......... .......... .......... 22% 397K 13s + 1750K .......... .......... .......... .......... .......... 23% 2.28M 13s + 1800K .......... .......... .......... .......... .......... 24% 932K 13s + 1850K .......... .......... .......... .......... .......... 24% 27.1M 12s + 1900K .......... .......... .......... .......... .......... 25% 2.29M 12s + 1950K .......... .......... .......... .......... .......... 26% 3.08M 11s + 2000K .......... .......... .......... .......... .......... 26% 3.65M 11s + 2050K .......... .......... .......... .......... .......... 27% 107M 11s + 2100K .......... .......... .......... .......... .......... 28% 139K 11s + 2150K .......... .......... .......... .......... .......... 28% 1.60M 11s + 2200K .......... .......... .......... .......... .......... 29% 9.65M 11s + 2250K .......... .......... .......... .......... .......... 29% 110M 10s + 2300K .......... .......... .......... .......... .......... 30% 47.8M 10s + 2350K .......... .......... .......... .......... .......... 31% 62.4M 10s + 2400K .......... .......... .......... .......... .......... 31% 46.0M 9s + 2450K .......... .......... .......... .......... .......... 32% 34.8M 9s + 2500K .......... .......... .......... .......... .......... 33% 107M 9s + 2550K .......... .......... .......... .......... .......... 33% 268K 9s + 2600K .......... .......... .......... .......... .......... 34% 5.15M 9s + 2650K .......... .......... .......... .......... .......... 35% 3.53M 9s + 2700K .......... .......... .......... .......... .......... 35% 33.6M 8s + 2750K .......... .......... .......... .......... .......... 36% 77.5M 8s + 2800K .......... .......... .......... .......... .......... 37% 27.1M 8s + 2850K .......... .......... .......... .......... .......... 37% 39.8M 8s + 2900K .......... .......... .......... .......... .......... 38% 50.6M 7s + 2950K .......... .......... .......... .......... .......... 39% 1.45M 7s + 3000K .......... .......... .......... .......... .......... 39% 4.47M 7s + 3050K .......... .......... .......... .......... .......... 40% 1.16M 7s + 3100K .......... .......... .......... .......... .......... 41% 1.33M 7s + 3150K .......... .......... .......... .......... .......... 41% 33.8M 7s + 3200K .......... .......... .......... .......... .......... 42% 538K 7s + 3250K .......... .......... .......... .......... .......... 42% 1.33M 6s + 3300K .......... .......... .......... .......... .......... 43% 1.77M 6s + 3350K .......... .......... .......... .......... .......... 44% 2.64M 6s + 3400K .......... .......... .......... .......... .......... 44% 808K 6s + 3450K .......... .......... .......... .......... .......... 45% 47.2M 6s + 3500K .......... .......... .......... .......... .......... 46% 1022K 6s + 3550K .......... .......... .......... .......... .......... 46% 1.28M 6s + 3600K .......... .......... .......... .......... .......... 47% 1000K 6s + 3650K .......... .......... .......... .......... .......... 48% 3.89M 6s + 3700K .......... .......... .......... .......... .......... 48% 1.34M 5s + 3750K .......... .......... .......... .......... .......... 49% 1.39M 5s + 3800K .......... .......... .......... .......... .......... 50% 4.57M 5s + 3850K .......... .......... .......... .......... .......... 50% 763K 5s + 3900K .......... .......... .......... .......... .......... 51% 2.74M 5s + 3950K .......... .......... .......... .......... .......... 52% 662K 5s + 4000K .......... .......... .......... .......... .......... 52% 2.04M 5s + 4050K .......... .......... .......... .......... .......... 53% 32.5M 5s + 4100K .......... .......... .......... .......... .......... 54% 1.03M 5s + 4150K .......... .......... .......... .......... .......... 54% 4.15M 5s + 4200K .......... .......... .......... .......... .......... 55% 585K 4s + 4250K .......... .......... .......... .......... .......... 56% 29.2M 4s + 4300K .......... .......... .......... .......... .......... 56% 2.27M 4s + 4350K .......... .......... .......... .......... .......... 57% 1.86M 4s + 4400K .......... .......... .......... .......... .......... 57% 1.52M 4s + 4450K .......... .......... .......... .......... .......... 58% 1.25M 4s + 4500K .......... .......... .......... .......... .......... 59% 1.84M 4s + 4550K .......... .......... .......... .......... .......... 59% 1.26M 4s + 4600K .......... .......... .......... .......... .......... 60% 1.58M 4s + 4650K .......... .......... .......... .......... .......... 61% 1.31M 4s + 4700K .......... .......... .......... .......... .......... 61% 3.38M 4s + 4750K .......... .......... .......... .......... .......... 62% 2.47M 4s + 4800K .......... .......... .......... .......... .......... 63% 938K 3s + 4850K .......... .......... .......... .......... .......... 63% 1.31M 3s + 4900K .......... .......... .......... .......... .......... 64% 3.64M 3s + 4950K .......... .......... .......... .......... .......... 65% 977K 3s + 5000K .......... .......... .......... .......... .......... 65% 4.19M 3s + 5050K .......... .......... .......... .......... .......... 66% 1.40M 3s + 5100K .......... .......... .......... .......... .......... 67% 1.62M 3s + 5150K .......... .......... .......... .......... .......... 67% 3.23M 3s + 5200K .......... .......... .......... .......... .......... 68% 1.14M 3s + 5250K .......... .......... .......... .......... .......... 69% 1.07M 3s + 5300K .......... .......... .......... .......... .......... 69% 14.4M 3s + 5350K .......... .......... .......... .......... .......... 70% 967K 3s + 5400K .......... .......... .......... .......... .......... 70% 3.36M 3s + 5450K .......... .......... .......... .......... .......... 71% 1.65M 2s + 5500K .......... .......... .......... .......... .......... 72% 1.45M 2s + 5550K .......... .......... .......... .......... .......... 72% 7.40M 2s + 5600K .......... .......... .......... .......... .......... 73% 1.07M 2s + 5650K .......... .......... .......... .......... .......... 74% 1.02M 2s + 5700K .......... .......... .......... .......... .......... 74% 4.98M 2s + 5750K .......... .......... .......... .......... .......... 75% 1.05M 2s + 5800K .......... .......... .......... .......... .......... 76% 1.73M 2s + 5850K .......... .......... .......... .......... .......... 76% 2.17M 2s + 5900K .......... .......... .......... .......... .......... 77% 1.43M 2s + 5950K .......... .......... .......... .......... .......... 78% 4.98M 2s + 6000K .......... .......... .......... .......... .......... 78% 1.77M 2s + 6050K .......... .......... .......... .......... .......... 79% 1.10M 2s + 6100K .......... .......... .......... .......... .......... 80% 1.73M 2s + 6150K .......... .......... .......... .......... .......... 80% 1.50M 2s + 6200K .......... .......... .......... .......... .......... 81% 1.62M 2s + 6250K .......... .......... .......... .......... .......... 82% 2.10M 1s + 6300K .......... .......... .......... .......... .......... 82% 58.0M 1s + 6350K .......... .......... .......... .......... .......... 83% 1.52M 1s + 6400K .......... .......... .......... .......... .......... 84% 3.56M 1s + 6450K .......... .......... .......... .......... .......... 84% 981K 1s + 6500K .......... .......... .......... .......... .......... 85% 795K 1s + 6550K .......... .......... .......... .......... .......... 85% 65.9M 1s + 6600K .......... .......... .......... .......... .......... 86% 1.24M 1s + 6650K .......... .......... .......... .......... .......... 87% 191K 1s + 6700K .......... .......... .......... .......... .......... 87% 3.01M 1s + 6750K .......... .......... .......... .......... .......... 88% 14.7M 1s + 6800K .......... .......... .......... .......... .......... 89% 7.77M 1s + 6850K .......... .......... .......... .......... .......... 89% 92.9M 1s + 6900K .......... .......... .......... .......... .......... 90% 50.4M 1s + 6950K .......... .......... .......... .......... .......... 91% 48.9M 1s + 7000K .......... .......... .......... .......... .......... 91% 58.0M 1s + 7050K .......... .......... .......... .......... .......... 92% 61.4M 1s + 7100K .......... .......... .......... .......... .......... 93% 45.5M 1s + 7150K .......... .......... .......... .......... .......... 93% 65.7M 0s + 7200K .......... .......... .......... .......... .......... 94% 1.40M 0s + 7250K .......... .......... .......... .......... .......... 95% 763K 0s + 7300K .......... .......... .......... .......... .......... 95% 2.66M 0s + 7350K .......... .......... .......... .......... .......... 96% 789K 0s + 7400K .......... .......... .......... .......... .......... 97% 2.52M 0s + 7450K .......... .......... .......... .......... .......... 97% 1.58M 0s + 7500K .......... .......... .......... .......... .......... 98% 765K 0s + 7550K .......... .......... .......... .......... .......... 98% 37.9M 0s + 7600K .......... .......... .......... .......... .......... 99% 888K 0s + 7650K .......... .......... ....... 100% 66.5M=7.6s + +2018-12-25 10:18:25 (1010 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + creating: 2112_brunch/ + inflating: 2112_brunch/contact-page.html + creating: 2112_brunch/css/ + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + creating: 2112_brunch/css/fonts/ + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + creating: 2112_brunch/fonts/ + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + creating: 2112_brunch/img/ + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + creating: 2112_brunch/js/ + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + creating: 2112_brunch/js/vendor/ + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + creating: 2112_brunch/videos/ + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 10:20:16-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:20:17-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 55.1K 2m19s + 50K .......... .......... .......... .......... .......... 1% 195K 88s + 100K .......... .......... .......... .......... .......... 1% 204K 71s + 150K .......... .......... .......... .......... .......... 2% 231K 61s + 200K .......... .......... .......... .......... .......... 3% 240K 55s + 250K .......... .......... .......... .......... .......... 3% 235K 50s + 300K .......... .......... .......... .......... .......... 4% 1.01M 44s + 350K .......... .......... .......... .......... .......... 5% 273K 41s + 400K .......... .......... .......... .......... .......... 5% 1.30M 37s + 450K .......... .......... .......... .......... .......... 6% 256K 36s + 500K .......... .......... .......... .......... .......... 7% 4.29M 33s + 550K .......... .......... .......... .......... .......... 7% 2.08M 30s + 600K .......... .......... .......... .......... .......... 8% 233K 30s + 650K .......... .......... .......... .......... .......... 9% 6.40M 28s + 700K .......... .......... .......... .......... .......... 9% 8.94M 26s + 750K .......... .......... .......... .......... .......... 10% 3.75M 24s + 800K .......... .......... .......... .......... .......... 11% 229K 24s + 850K .......... .......... .......... .......... .......... 11% 77.2M 23s + 900K .......... .......... .......... .......... .......... 12% 46.7M 21s + 950K .......... .......... .......... .......... .......... 13% 6.81M 20s + 1000K .......... .......... .......... .......... .......... 13% 259K 20s + 1050K .......... .......... .......... .......... .......... 14% 7.16M 19s + 1100K .......... .......... .......... .......... .......... 14% 41.7M 18s + 1150K .......... .......... .......... .......... .......... 15% 3.07M 17s + 1200K .......... .......... .......... .......... .......... 16% 3.77M 17s + 1250K .......... .......... .......... .......... .......... 16% 265K 17s + 1300K .......... .......... .......... .......... .......... 17% 2.09M 16s + 1350K .......... .......... .......... .......... .......... 18% 8.63M 16s + 1400K .......... .......... .......... .......... .......... 18% 91.4M 15s + 1450K .......... .......... .......... .......... .......... 19% 64.3M 14s + 1500K .......... .......... .......... .......... .......... 20% 2.18M 14s + 1550K .......... .......... .......... .......... .......... 20% 27.1M 13s + 1600K .......... .......... .......... .......... .......... 21% 271K 13s + 1650K .......... .......... .......... .......... .......... 22% 1.76M 13s + 1700K .......... .......... .......... .......... .......... 22% 52.3M 13s + 1750K .......... .......... .......... .......... .......... 23% 6.28M 12s + 1800K .......... .......... .......... .......... .......... 24% 4.51M 12s + 1850K .......... .......... .......... .......... .......... 24% 14.5M 11s + 1900K .......... .......... .......... .......... .......... 25% 107M 11s + 1950K .......... .......... .......... .......... .......... 26% 65.3M 11s + 2000K .......... .......... .......... .......... .......... 26% 314K 11s + 2050K .......... .......... .......... .......... .......... 27% 2.82M 10s + 2100K .......... .......... .......... .......... .......... 28% 4.21M 10s + 2150K .......... .......... .......... .......... .......... 28% 5.45M 10s + 2200K .......... .......... .......... .......... .......... 29% 3.26M 9s + 2250K .......... .......... .......... .......... .......... 29% 3.98M 9s + 2300K .......... .......... .......... .......... .......... 30% 102M 9s + 2350K .......... .......... .......... .......... .......... 31% 10.5M 9s + 2400K .......... .......... .......... .......... .......... 31% 4.59M 8s + 2450K .......... .......... .......... .......... .......... 32% 3.77M 8s + 2500K .......... .......... .......... .......... .......... 33% 219K 8s + 2550K .......... .......... .......... .......... .......... 33% 2.21M 8s + 2600K .......... .......... .......... .......... .......... 34% 6.13M 8s + 2650K .......... .......... .......... .......... .......... 35% 26.1M 8s + 2700K .......... .......... .......... .......... .......... 35% 51.7M 8s + 2750K .......... .......... .......... .......... .......... 36% 18.6M 7s + 2800K .......... .......... .......... .......... .......... 37% 90.6M 7s + 2850K .......... .......... .......... .......... .......... 37% 7.18M 7s + 2900K .......... .......... .......... .......... .......... 38% 78.4M 7s + 2950K .......... .......... .......... .......... .......... 39% 57.2M 7s + 3000K .......... .......... .......... .......... .......... 39% 98.5M 6s + 3050K .......... .......... .......... .......... .......... 40% 64.4M 6s + 3100K .......... .......... .......... .......... .......... 41% 597K 6s + 3150K .......... .......... .......... .......... .......... 41% 1.73M 6s + 3200K .......... .......... .......... .......... .......... 42% 2.80M 6s + 3250K .......... .......... .......... .......... .......... 42% 1.96M 6s + 3300K .......... .......... .......... .......... .......... 43% 2.40M 6s + 3350K .......... .......... .......... .......... .......... 44% 12.5M 6s + 3400K .......... .......... .......... .......... .......... 44% 3.58M 5s + 3450K .......... .......... .......... .......... .......... 45% 13.4M 5s + 3500K .......... .......... .......... .......... .......... 46% 102M 5s + 3550K .......... .......... .......... .......... .......... 46% 5.07M 5s + 3600K .......... .......... .......... .......... .......... 47% 4.99M 5s + 3650K .......... .......... .......... .......... .......... 48% 3.13M 5s + 3700K .......... .......... .......... .......... .......... 48% 9.67M 5s + 3750K .......... .......... .......... .......... .......... 49% 6.42M 5s + 3800K .......... .......... .......... .......... .......... 50% 378K 5s + 3850K .......... .......... .......... .......... .......... 50% 27.9M 4s + 3900K .......... .......... .......... .......... .......... 51% 67.1M 4s + 3950K .......... .......... .......... .......... .......... 52% 113M 4s + 4000K .......... .......... .......... .......... .......... 52% 60.0M 4s + 4050K .......... .......... .......... .......... .......... 53% 3.07M 4s + 4100K .......... .......... .......... .......... .......... 54% 2.89M 4s + 4150K .......... .......... .......... .......... .......... 54% 55.6M 4s + 4200K .......... .......... .......... .......... .......... 55% 4.37M 4s + 4250K .......... .......... .......... .......... .......... 56% 7.91M 4s + 4300K .......... .......... .......... .......... .......... 56% 2.23M 4s + 4350K .......... .......... .......... .......... .......... 57% 3.55M 4s + 4400K .......... .......... .......... .......... .......... 57% 2.15M 3s + 4450K .......... .......... .......... .......... .......... 58% 8.76M 3s + 4500K .......... .......... .......... .......... .......... 59% 106M 3s + 4550K .......... .......... .......... .......... .......... 59% 64.7M 3s + 4600K .......... .......... .......... .......... .......... 60% 56.7M 3s + 4650K .......... .......... .......... .......... .......... 61% 1.68M 3s + 4700K .......... .......... .......... .......... .......... 61% 3.15M 3s + 4750K .......... .......... .......... .......... .......... 62% 2.94M 3s + 4800K .......... .......... .......... .......... .......... 63% 654K 3s + 4850K .......... .......... .......... .......... .......... 63% 3.27M 3s + 4900K .......... .......... .......... .......... .......... 64% 10.7M 3s + 4950K .......... .......... .......... .......... .......... 65% 62.7M 3s + 5000K .......... .......... .......... .......... .......... 65% 47.1M 3s + 5050K .......... .......... .......... .......... .......... 66% 27.3M 2s + 5100K .......... .......... .......... .......... .......... 67% 5.49M 2s + 5150K .......... .......... .......... .......... .......... 67% 2.74M 2s + 5200K .......... .......... .......... .......... .......... 68% 3.65M 2s + 5250K .......... .......... .......... .......... .......... 69% 19.9M 2s + 5300K .......... .......... .......... .......... .......... 69% 2.42M 2s + 5350K .......... .......... .......... .......... .......... 70% 3.79M 2s + 5400K .......... .......... .......... .......... .......... 70% 2.97M 2s + 5450K .......... .......... .......... .......... .......... 71% 3.31M 2s + 5500K .......... .......... .......... .......... .......... 72% 56.7M 2s + 5550K .......... .......... .......... .......... .......... 72% 2.41M 2s + 5600K .......... .......... .......... .......... .......... 73% 48.2M 2s + 5650K .......... .......... .......... .......... .......... 74% 54.1M 2s + 5700K .......... .......... .......... .......... .......... 74% 53.2M 2s + 5750K .......... .......... .......... .......... .......... 75% 60.5M 2s + 5800K .......... .......... .......... .......... .......... 76% 61.5M 2s + 5850K .......... .......... .......... .......... .......... 76% 1.14M 2s + 5900K .......... .......... .......... .......... .......... 77% 4.72M 1s + 5950K .......... .......... .......... .......... .......... 78% 1.99M 1s + 6000K .......... .......... .......... .......... .......... 78% 3.83M 1s + 6050K .......... .......... .......... .......... .......... 79% 2.38M 1s + 6100K .......... .......... .......... .......... .......... 80% 61.7M 1s + 6150K .......... .......... .......... .......... .......... 80% 181K 1s + 6200K .......... .......... .......... .......... .......... 81% 2.12M 1s + 6250K .......... .......... .......... .......... .......... 82% 2.84M 1s + 6300K .......... .......... .......... .......... .......... 82% 28.4M 1s + 6350K .......... .......... .......... .......... .......... 83% 53.3M 1s + 6400K .......... .......... .......... .......... .......... 84% 48.3M 1s + 6450K .......... .......... .......... .......... .......... 84% 55.6M 1s + 6500K .......... .......... .......... .......... .......... 85% 80.5M 1s + 6550K .......... .......... .......... .......... .......... 85% 53.9M 1s + 6600K .......... .......... .......... .......... .......... 86% 52.5M 1s + 6650K .......... .......... .......... .......... .......... 87% 42.4M 1s + 6700K .......... .......... .......... .......... .......... 87% 103M 1s + 6750K .......... .......... .......... .......... .......... 88% 58.2M 1s + 6800K .......... .......... .......... .......... .......... 89% 58.2M 1s + 6850K .......... .......... .......... .......... .......... 89% 65.9M 1s + 6900K .......... .......... .......... .......... .......... 90% 111M 1s + 6950K .......... .......... .......... .......... .......... 91% 65.8M 1s + 7000K .......... .......... .......... .......... .......... 91% 61.6M 0s + 7050K .......... .......... .......... .......... .......... 92% 497K 0s + 7100K .......... .......... .......... .......... .......... 93% 2.99M 0s + 7150K .......... .......... .......... .......... .......... 93% 8.12M 0s + 7200K .......... .......... .......... .......... .......... 94% 18.0M 0s + 7250K .......... .......... .......... .......... .......... 95% 114M 0s + 7300K .......... .......... .......... .......... .......... 95% 25.2M 0s + 7350K .......... .......... .......... .......... .......... 96% 67.1M 0s + 7400K .......... .......... .......... .......... .......... 97% 61.7M 0s + 7450K .......... .......... .......... .......... .......... 97% 117M 0s + 7500K .......... .......... .......... .......... .......... 98% 65.8M 0s + 7550K .......... .......... .......... .......... .......... 98% 66.2M 0s + 7600K .......... .......... .......... .......... .......... 99% 98.5M 0s + 7650K .......... .......... ....... 100% 47.0M=5.6s + +2018-12-25 10:20:24 (1.34 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 10:25:19-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:25:20-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 68.3K 1m52s + 50K .......... .......... .......... .......... .......... 1% 203K 74s + 100K .......... .......... .......... .......... .......... 1% 202K 62s + 150K .......... .......... .......... .......... .......... 2% 12.3M 46s + 200K .......... .......... .......... .......... .......... 3% 197K 44s + 250K .......... .......... .......... .......... .......... 3% 212K 42s + 300K .......... .......... .......... .......... .......... 4% 24.5M 36s + 350K .......... .......... .......... .......... .......... 5% 98.4M 31s + 400K .......... .......... .......... .......... .......... 5% 193K 32s + 450K .......... .......... .......... .......... .......... 6% 49.2M 28s + 500K .......... .......... .......... .......... .......... 7% 74.1M 26s + 550K .......... .......... .......... .......... .......... 7% 261K 26s + 600K .......... .......... .......... .......... .......... 8% 713K 24s + 650K .......... .......... .......... .......... .......... 9% 59.1M 22s + 700K .......... .......... .......... .......... .......... 9% 60.0M 21s + 750K .......... .......... .......... .......... .......... 10% 62.0M 19s + 800K .......... .......... .......... .......... .......... 11% 49.9M 18s + 850K .......... .......... .......... .......... .......... 11% 239K 19s + 900K .......... .......... .......... .......... .......... 12% 1.81M 18s + 950K .......... .......... .......... .......... .......... 13% 2.81M 17s + 1000K .......... .......... .......... .......... .......... 13% 84.6M 16s + 1050K .......... .......... .......... .......... .......... 14% 60.8M 15s + 1100K .......... .......... .......... .......... .......... 14% 61.2M 14s + 1150K .......... .......... .......... .......... .......... 15% 56.0M 14s + 1200K .......... .......... .......... .......... .......... 16% 12.7M 13s + 1250K .......... .......... .......... .......... .......... 16% 268K 13s + 1300K .......... .......... .......... .......... .......... 17% 1.03M 13s + 1350K .......... .......... .......... .......... .......... 18% 2.01M 12s + 1400K .......... .......... .......... .......... .......... 18% 3.94M 12s + 1450K .......... .......... .......... .......... .......... 19% 22.5M 11s + 1500K .......... .......... .......... .......... .......... 20% 29.1M 11s + 1550K .......... .......... .......... .......... .......... 20% 109M 11s + 1600K .......... .......... .......... .......... .......... 21% 58.2M 10s + 1650K .......... .......... .......... .......... .......... 22% 64.3M 10s + 1700K .......... .......... .......... .......... .......... 22% 65.2M 9s + 1750K .......... .......... .......... .......... .......... 23% 109M 9s + 1800K .......... .......... .......... .......... .......... 24% 403K 9s + 1850K .......... .......... .......... .......... .......... 24% 1.52M 9s + 1900K .......... .......... .......... .......... .......... 25% 2.35M 9s + 1950K .......... .......... .......... .......... .......... 26% 4.09M 8s + 2000K .......... .......... .......... .......... .......... 26% 1.69M 8s + 2050K .......... .......... .......... .......... .......... 27% 1.42M 8s + 2100K .......... .......... .......... .......... .......... 28% 4.06M 8s + 2150K .......... .......... .......... .......... .......... 28% 2.33M 8s + 2200K .......... .......... .......... .......... .......... 29% 31.8M 7s + 2250K .......... .......... .......... .......... .......... 29% 38.0M 7s + 2300K .......... .......... .......... .......... .......... 30% 60.7M 7s + 2350K .......... .......... .......... .......... .......... 31% 81.0M 7s + 2400K .......... .......... .......... .......... .......... 31% 27.7M 7s + 2450K .......... .......... .......... .......... .......... 32% 42.1M 6s + 2500K .......... .......... .......... .......... .......... 33% 63.3M 6s + 2550K .......... .......... .......... .......... .......... 33% 109M 6s + 2600K .......... .......... .......... .......... .......... 34% 60.4M 6s + 2650K .......... .......... .......... .......... .......... 35% 1.27M 6s + 2700K .......... .......... .......... .......... .......... 35% 1.72M 6s + 2750K .......... .......... .......... .......... .......... 36% 2.59M 6s + 2800K .......... .......... .......... .......... .......... 37% 28.9M 5s + 2850K .......... .......... .......... .......... .......... 37% 52.6M 5s + 2900K .......... .......... .......... .......... .......... 38% 3.42M 5s + 2950K .......... .......... .......... .......... .......... 39% 2.39M 5s + 3000K .......... .......... .......... .......... .......... 39% 1.56M 5s + 3050K .......... .......... .......... .......... .......... 40% 2.00M 5s + 3100K .......... .......... .......... .......... .......... 41% 4.83M 5s + 3150K .......... .......... .......... .......... .......... 41% 46.9M 5s + 3200K .......... .......... .......... .......... .......... 42% 54.7M 4s + 3250K .......... .......... .......... .......... .......... 42% 8.35M 4s + 3300K .......... .......... .......... .......... .......... 43% 2.94M 4s + 3350K .......... .......... .......... .......... .......... 44% 3.31M 4s + 3400K .......... .......... .......... .......... .......... 44% 2.05M 4s + 3450K .......... .......... .......... .......... .......... 45% 3.20M 4s + 3500K .......... .......... .......... .......... .......... 46% 4.23M 4s + 3550K .......... .......... .......... .......... .......... 46% 3.54M 4s + 3600K .......... .......... .......... .......... .......... 47% 7.19M 4s + 3650K .......... .......... .......... .......... .......... 48% 56.1M 4s + 3700K .......... .......... .......... .......... .......... 48% 268K 4s + 3750K .......... .......... .......... .......... .......... 49% 641K 4s + 3800K .......... .......... .......... .......... .......... 50% 36.7M 4s + 3850K .......... .......... .......... .......... .......... 50% 97.7M 4s + 3900K .......... .......... .......... .......... .......... 51% 59.9M 3s + 3950K .......... .......... .......... .......... .......... 52% 51.6M 3s + 4000K .......... .......... .......... .......... .......... 52% 60.2M 3s + 4050K .......... .......... .......... .......... .......... 53% 23.8M 3s + 4100K .......... .......... .......... .......... .......... 54% 66.4M 3s + 4150K .......... .......... .......... .......... .......... 54% 116M 3s + 4200K .......... .......... .......... .......... .......... 55% 211K 3s + 4250K .......... .......... .......... .......... .......... 56% 5.00M 3s + 4300K .......... .......... .......... .......... .......... 56% 29.9M 3s + 4350K .......... .......... .......... .......... .......... 57% 2.57M 3s + 4400K .......... .......... .......... .......... .......... 57% 57.5M 3s + 4450K .......... .......... .......... .......... .......... 58% 198K 3s + 4500K .......... .......... .......... .......... .......... 59% 64.2M 3s + 4550K .......... .......... .......... .......... .......... 59% 209K 3s + 4600K .......... .......... .......... .......... .......... 60% 246K 3s + 4650K .......... .......... .......... .......... .......... 61% 2.09M 3s + 4700K .......... .......... .......... .......... .......... 61% 212K 3s + 4750K .......... .......... .......... .......... .......... 62% 209K 3s + 4800K .......... .......... .......... .......... .......... 63% 89.2M 3s + 4850K .......... .......... .......... .......... .......... 63% 36.7K 4s + 4900K .......... .......... .......... .......... .......... 64% 2.80M 4s + 4950K .......... .......... .......... .......... .......... 65% 65.2M 3s + 5000K .......... .......... .......... .......... .......... 65% 39.0M 3s + 5050K .......... .......... .......... .......... .......... 66% 58.9M 3s + 5100K .......... .......... .......... .......... .......... 67% 67.0M 3s + 5150K .......... .......... .......... .......... .......... 67% 114M 3s + 5200K .......... .......... .......... .......... .......... 68% 57.6M 3s + 5250K .......... .......... .......... .......... .......... 69% 56.1M 3s + 5300K .......... .......... .......... .......... .......... 69% 68.4M 3s + 5350K .......... .......... .......... .......... .......... 70% 117M 3s + 5400K .......... .......... .......... .......... .......... 70% 63.2M 3s + 5450K .......... .......... .......... .......... .......... 71% 116M 3s + 5500K .......... .......... .......... .......... .......... 72% 69.3M 2s + 5550K .......... .......... .......... .......... .......... 72% 281K 2s + 5600K .......... .......... .......... .......... .......... 73% 202K 2s + 5650K .......... .......... .......... .......... .......... 74% 203K 2s + 5700K .......... .......... .......... .......... .......... 74% 61.4M 2s + 5750K .......... .......... .......... .......... .......... 75% 203K 2s + 5800K .......... .......... .......... .......... .......... 76% 2.54M 2s + 5850K .......... .......... .......... .......... .......... 76% 40.7M 2s + 5900K .......... .......... .......... .......... .......... 77% 52.8M 2s + 5950K .......... .......... .......... .......... .......... 78% 76.4M 2s + 6000K .......... .......... .......... .......... .......... 78% 45.6M 2s + 6050K .......... .......... .......... .......... .......... 79% 109M 2s + 6100K .......... .......... .......... .......... .......... 80% 65.2M 2s + 6150K .......... .......... .......... .......... .......... 80% 62.5M 2s + 6200K .......... .......... .......... .......... .......... 81% 279K 2s + 6250K .......... .......... .......... .......... .......... 82% 204K 2s + 6300K .......... .......... .......... .......... .......... 82% 1.84M 2s + 6350K .......... .......... .......... .......... .......... 83% 8.31M 2s + 6400K .......... .......... .......... .......... .......... 84% 30.2M 2s + 6450K .......... .......... .......... .......... .......... 84% 45.3M 1s + 6500K .......... .......... .......... .......... .......... 85% 43.9M 1s + 6550K .......... .......... .......... .......... .......... 85% 43.3M 1s + 6600K .......... .......... .......... .......... .......... 86% 29.0M 1s + 6650K .......... .......... .......... .......... .......... 87% 114K 1s + 6700K .......... .......... .......... .......... .......... 87% 194K 1s + 6750K .......... .......... .......... .......... .......... 88% 117K 1s + 6800K .......... .......... .......... .......... .......... 89% 198K 1s + 6850K .......... .......... .......... .......... .......... 89% 1.37M 1s + 6900K .......... .......... .......... .......... .......... 90% 220K 1s + 6950K .......... .......... .......... .......... .......... 91% 230K 1s + 7000K .......... .......... .......... .......... .......... 91% 2.14M 1s + 7050K .......... .......... .......... .......... .......... 92% 238K 1s + 7100K .......... .......... .......... .......... .......... 93% 2.00M 1s + 7150K .......... .......... .......... .......... .......... 93% 211K 1s + 7200K .......... .......... .......... .......... .......... 94% 93.9M 1s + 7250K .......... .......... .......... .......... .......... 95% 235K 1s + 7300K .......... .......... .......... .......... .......... 95% 1.70M 0s + 7350K .......... .......... .......... .......... .......... 96% 108M 0s + 7400K .......... .......... .......... .......... .......... 97% 243K 0s + 7450K .......... .......... .......... .......... .......... 97% 1.33M 0s + 7500K .......... .......... .......... .......... .......... 98% 13.2M 0s + 7550K .......... .......... .......... .......... .......... 98% 234K 0s + 7600K .......... .......... .......... .......... .......... 99% 7.62M 0s + 7650K .......... .......... ....... 100% 70.5M=11s + +2018-12-25 10:25:32 (700 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 10:29:53-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:29:54-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 4% 56.3K 21s + 50K .......... .......... .......... .......... .......... 8% 211K 13s + 100K .......... .......... .......... .......... .......... 12% 215K 10s + 150K .......... .......... .......... .......... .......... 16% 215K 8s + 200K .......... .......... .......... .......... .......... 20% 2.25M 6s + 250K .......... .......... .......... .......... .......... 24% 229K 6s + 300K .......... .......... .......... .......... .......... 28% 231K 5s + 350K .......... .......... .......... .......... .......... 32% 2.40M 4s + 400K .......... .......... .......... .......... .......... 36% 246K 4s + 450K .......... .......... .......... .......... .......... 40% 36.4M 3s + 500K .......... .......... .......... .......... .......... 44% 1.77M 3s + 550K .......... .......... .......... .......... .......... 48% 229K 3s + 600K .......... .......... .......... .......... .......... 52% 3.27M 2s + 650K .......... .......... .......... .......... .......... 56% 36.7M 2s + 700K .......... .......... .......... .......... .......... 60% 238K 2s + 750K .......... .......... .......... .......... .......... 64% 1.88M 2s + 800K .......... .......... .......... .......... .......... 68% 29.5M 1s + 850K .......... .......... .......... .......... .......... 72% 58.2M 1s + 900K .......... .......... .......... .......... .......... 76% 231K 1s + 950K .......... .......... .......... .......... .......... 80% 2.47M 1s + 1000K .......... .......... .......... .......... .......... 84% 55.7M 1s + 1050K .......... .......... .......... .......... .......... 88% 59.0M 0s + 1100K .......... .......... .......... .......... .......... 92% 60.1M 0s + 1150K .......... .......... .......... .......... .......... 96% 246K 0s + 1200K .......... .......... .......... .......... ... 100% 4.79M=3.2s + +2018-12-25 10:29:58 (386 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + creating: 2101_insertion/ + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + creating: 2101_insertion/css/ + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + creating: 2101_insertion/img/ + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + creating: 2101_insertion/js/ + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + creating: 2101_insertion/webfonts/ + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Resolving Dependencies +--> Running transaction check +---> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed +---> Package unzip.x86_64 0:6.0-19.el7 will be installed +---> Package wget.x86_64 0:1.14-18.el7 will be installed +--> Finished Dependency Resolution + +Dependencies Resolved + +================================================================================ + Package Arch Version Repository Size +================================================================================ +Installing: + httpd x86_64 2.4.6-88.el7.centos base 2.7 M + unzip x86_64 6.0-19.el7 base 170 k + wget x86_64 1.14-18.el7 base 547 k + +Transaction Summary +================================================================================ +Install 3 Packages + +Total download size: 3.4 M +Installed size: 12 M +Downloading packages: +-------------------------------------------------------------------------------- +Total 1.9 MB/s | 3.4 MB 00:01 +Running transaction check +Running transaction test +Transaction test succeeded +Running transaction + Installing : wget-1.14-18.el7.x86_64 1/3 + Installing : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Installing : unzip-6.0-19.el7.x86_64 3/3 + Verifying : unzip-6.0-19.el7.x86_64 1/3 + Verifying : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Verifying : wget-1.14-18.el7.x86_64 3/3 + +Installed: + httpd.x86_64 0:2.4.6-88.el7.centos unzip.x86_64 0:6.0-19.el7 + wget.x86_64 0:1.14-18.el7 + +Complete! +################################################################ + + +Starting and Enabling Service +Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. +################################################################ + + +Copying website data +--2018-12-25 10:36:52-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:36:53-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 4% 70.2K 17s + 50K .......... .......... .......... .......... .......... 8% 106K 14s + 100K .......... .......... .......... .......... .......... 12% 236K 10s + 150K .......... .......... .......... .......... .......... 16% 285K 8s + 200K .......... .......... .......... .......... .......... 20% 907K 6s + 250K .......... .......... .......... .......... .......... 24% 218K 6s + 300K .......... .......... .......... .......... .......... 28% 25.5M 5s + 350K .......... .......... .......... .......... .......... 32% 253K 4s + 400K .......... .......... .......... .......... .......... 36% 2.65M 4s + 450K .......... .......... .......... .......... .......... 40% 304K 3s + 500K .......... .......... .......... .......... .......... 44% 806K 3s + 550K .......... .......... .......... .......... .......... 48% 23.1M 2s + 600K .......... .......... .......... .......... .......... 52% 253K 2s + 650K .......... .......... .......... .......... .......... 56% 1.92M 2s + 700K .......... .......... .......... .......... .......... 60% 4.53M 2s + 750K .......... .......... .......... .......... .......... 64% 1.99M 1s + 800K .......... .......... .......... .......... .......... 68% 265K 1s + 850K .......... .......... .......... .......... .......... 72% 4.51M 1s + 900K .......... .......... .......... .......... .......... 76% 4.88M 1s + 950K .......... .......... .......... .......... .......... 80% 54.5M 1s + 1000K .......... .......... .......... .......... .......... 84% 272K 1s + 1050K .......... .......... .......... .......... .......... 88% 4.75M 0s + 1100K .......... .......... .......... .......... .......... 92% 2.84M 0s + 1150K .......... .......... .......... .......... .......... 96% 7.72M 0s + 1200K .......... .......... .......... .......... ... 100% 4.73M=3.0s + +2018-12-25 10:36:57 (415 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Resolving Dependencies +--> Running transaction check +---> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed +---> Package unzip.x86_64 0:6.0-19.el7 will be installed +---> Package wget.x86_64 0:1.14-18.el7 will be installed +--> Finished Dependency Resolution + +Dependencies Resolved + +================================================================================ + Package Arch Version Repository Size +================================================================================ +Installing: + httpd x86_64 2.4.6-88.el7.centos base 2.7 M + unzip x86_64 6.0-19.el7 base 170 k + wget x86_64 1.14-18.el7 base 547 k + +Transaction Summary +================================================================================ +Install 3 Packages + +Total download size: 3.4 M +Installed size: 12 M +Downloading packages: +-------------------------------------------------------------------------------- +Total 2.2 MB/s | 3.4 MB 00:01 +Running transaction check +Running transaction test +Transaction test succeeded +Running transaction + Installing : wget-1.14-18.el7.x86_64 1/3 + Installing : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Installing : unzip-6.0-19.el7.x86_64 3/3 + Verifying : unzip-6.0-19.el7.x86_64 1/3 + Verifying : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Verifying : wget-1.14-18.el7.x86_64 3/3 + +Installed: + httpd.x86_64 0:2.4.6-88.el7.centos unzip.x86_64 0:6.0-19.el7 + wget.x86_64 0:1.14-18.el7 + +Complete! +################################################################ + + +Starting and Enabling Service +Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. +################################################################ + + +Copying website data +--2018-12-25 10:40:45-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:40:46-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 4% 65.2K 18s + 50K .......... .......... .......... .......... .......... 8% 116K 14s + 100K .......... .......... .......... .......... .......... 12% 217K 10s + 150K .......... .......... .......... .......... .......... 16% 432K 8s + 200K .......... .......... .......... .......... .......... 20% 279K 7s + 250K .......... .......... .......... .......... .......... 24% 267K 6s + 300K .......... .......... .......... .......... .......... 28% 771K 5s + 350K .......... .......... .......... .......... .......... 32% 1.33M 4s + 400K .......... .......... .......... .......... .......... 36% 276K 4s + 450K .......... .......... .......... .......... .......... 40% 3.18M 3s + 500K .......... .......... .......... .......... .......... 44% 249K 3s + 550K .......... .......... .......... .......... .......... 48% 34.3M 3s + 600K .......... .......... .......... .......... .......... 52% 1.30M 2s + 650K .......... .......... .......... .......... .......... 56% 52.1M 2s + 700K .......... .......... .......... .......... .......... 60% 266K 2s + 750K .......... .......... .......... .......... .......... 64% 16.0M 1s + 800K .......... .......... .......... .......... .......... 68% 974K 1s + 850K .......... .......... .......... .......... .......... 72% 107M 1s + 900K .......... .......... .......... .......... .......... 76% 752K 1s + 950K .......... .......... .......... .......... .......... 80% 374K 1s + 1000K .......... .......... .......... .......... .......... 84% 2.49M 1s + 1050K .......... .......... .......... .......... .......... 88% 1.64M 0s + 1100K .......... .......... .......... .......... .......... 92% 51.1M 0s + 1150K .......... .......... .......... .......... .......... 96% 51.8M 0s + 1200K .......... .......... .......... .......... ... 100% 809K=3.0s + +2018-12-25 10:40:50 (415 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Resolving Dependencies +--> Running transaction check +---> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed +---> Package unzip.x86_64 0:6.0-19.el7 will be installed +---> Package wget.x86_64 0:1.14-18.el7 will be installed +--> Finished Dependency Resolution + +Dependencies Resolved + +================================================================================ + Package Arch Version Repository Size +================================================================================ +Installing: + httpd x86_64 2.4.6-88.el7.centos base 2.7 M + unzip x86_64 6.0-19.el7 base 170 k + wget x86_64 1.14-18.el7 base 547 k + +Transaction Summary +================================================================================ +Install 3 Packages + +Total download size: 3.4 M +Installed size: 12 M +Downloading packages: +-------------------------------------------------------------------------------- +Total 1.9 MB/s | 3.4 MB 00:01 +Running transaction check +Running transaction test +Transaction test succeeded +Running transaction + Installing : wget-1.14-18.el7.x86_64 1/3 + Installing : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Installing : unzip-6.0-19.el7.x86_64 3/3 + Verifying : unzip-6.0-19.el7.x86_64 1/3 + Verifying : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Verifying : wget-1.14-18.el7.x86_64 3/3 + +Installed: + httpd.x86_64 0:2.4.6-88.el7.centos unzip.x86_64 0:6.0-19.el7 + wget.x86_64 0:1.14-18.el7 + +Complete! +################################################################ + + +Starting and Enabling Service +Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. +################################################################ + + +Copying website data +--2018-12-25 10:53:45-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:53:46-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 53.5K 2m22s + 50K .......... .......... .......... .......... .......... 1% 173K 93s + 100K .......... .......... .......... .......... .......... 1% 217K 73s + 150K .......... .......... .......... .......... .......... 2% 212K 63s + 200K .......... .......... .......... .......... .......... 3% 245K 56s + 250K .......... .......... .......... .......... .......... 3% 244K 52s + 300K .......... .......... .......... .......... .......... 4% 1.79M 45s + 350K .......... .......... .......... .......... .......... 5% 245K 42s + 400K .......... .......... .......... .......... .......... 5% 1008K 38s + 450K .......... .......... .......... .......... .......... 6% 1.32M 35s + 500K .......... .......... .......... .......... .......... 7% 325K 33s + 550K .......... .......... .......... .......... .......... 7% 1.44M 31s + 600K .......... .......... .......... .......... .......... 8% 3.09M 28s + 650K .......... .......... .......... .......... .......... 9% 267K 28s + 700K .......... .......... .......... .......... .......... 9% 3.10M 26s + 750K .......... .......... .......... .......... .......... 10% 1.32M 25s + 800K .......... .......... .......... .......... .......... 11% 270K 24s + 850K .......... .......... .......... .......... .......... 11% 5.50M 23s + 900K .......... .......... .......... .......... .......... 12% 2.87M 22s + 950K .......... .......... .......... .......... .......... 13% 56.3M 21s + 1000K .......... .......... .......... .......... .......... 13% 1.90M 20s + 1050K .......... .......... .......... .......... .......... 14% 294K 20s + 1100K .......... .......... .......... .......... .......... 14% 5.98M 19s + 1150K .......... .......... .......... .......... .......... 15% 1.87M 18s + 1200K .......... .......... .......... .......... .......... 16% 6.19M 17s + 1250K .......... .......... .......... .......... .......... 16% 2.33M 16s + 1300K .......... .......... .......... .......... .......... 17% 11.2M 16s + 1350K .......... .......... .......... .......... .......... 18% 247K 16s + 1400K .......... .......... .......... .......... .......... 18% 6.38M 15s + 1450K .......... .......... .......... .......... .......... 19% 58.9M 15s + 1500K .......... .......... .......... .......... .......... 20% 61.4M 14s + 1550K .......... .......... .......... .......... .......... 20% 58.4M 13s + 1600K .......... .......... .......... .......... .......... 21% 2.01M 13s + 1650K .......... .......... .......... .......... .......... 22% 296K 13s + 1700K .......... .......... .......... .......... .......... 22% 2.44M 13s + 1750K .......... .......... .......... .......... .......... 23% 6.20M 12s + 1800K .......... .......... .......... .......... .......... 24% 2.70M 12s + 1850K .......... .......... .......... .......... .......... 24% 1.61M 12s + 1900K .......... .......... .......... .......... .......... 25% 53.2M 11s + 1950K .......... .......... .......... .......... .......... 26% 113M 11s + 2000K .......... .......... .......... .......... .......... 26% 56.9M 10s + 2050K .......... .......... .......... .......... .......... 27% 304K 11s + 2100K .......... .......... .......... .......... .......... 28% 24.3M 10s + 2150K .......... .......... .......... .......... .......... 28% 1.23M 10s + 2200K .......... .......... .......... .......... .......... 29% 4.39M 10s + 2250K .......... .......... .......... .......... .......... 29% 1.63M 10s + 2300K .......... .......... .......... .......... .......... 30% 53.6M 9s + 2350K .......... .......... .......... .......... .......... 31% 37.8M 9s + 2400K .......... .......... .......... .......... .......... 31% 35.2M 9s + 2450K .......... .......... .......... .......... .......... 32% 19.7M 8s + 2500K .......... .......... .......... .......... .......... 33% 41.8M 8s + 2550K .......... .......... .......... .......... .......... 33% 334K 8s + 2600K .......... .......... .......... .......... .......... 34% 18.9M 8s + 2650K .......... .......... .......... .......... .......... 35% 2.59M 8s + 2700K .......... .......... .......... .......... .......... 35% 1.39M 8s + 2750K .......... .......... .......... .......... .......... 36% 2.79M 7s + 2800K .......... .......... .......... .......... .......... 37% 9.74M 7s + 2850K .......... .......... .......... .......... .......... 37% 7.82M 7s + 2900K .......... .......... .......... .......... .......... 38% 4.09M 7s + 2950K .......... .......... .......... .......... .......... 39% 6.09M 7s + 3000K .......... .......... .......... .......... .......... 39% 92.3M 7s + 3050K .......... .......... .......... .......... .......... 40% 50.6M 6s + 3100K .......... .......... .......... .......... .......... 41% 63.9M 6s + 3150K .......... .......... .......... .......... .......... 41% 520K 6s + 3200K .......... .......... .......... .......... .......... 42% 1.79M 6s + 3250K .......... .......... .......... .......... .......... 42% 3.88M 6s + 3300K .......... .......... .......... .......... .......... 43% 1.19M 6s + 3350K .......... .......... .......... .......... .......... 44% 7.46M 6s + 3400K .......... .......... .......... .......... .......... 44% 2.30M 6s + 3450K .......... .......... .......... .......... .......... 45% 9.67M 5s + 3500K .......... .......... .......... .......... .......... 46% 3.93M 5s + 3550K .......... .......... .......... .......... .......... 46% 1.62M 5s + 3600K .......... .......... .......... .......... .......... 47% 24.0M 5s + 3650K .......... .......... .......... .......... .......... 48% 89.9M 5s + 3700K .......... .......... .......... .......... .......... 48% 11.0M 5s + 3750K .......... .......... .......... .......... .......... 49% 9.35M 5s + 3800K .......... .......... .......... .......... .......... 50% 18.3M 5s + 3850K .......... .......... .......... .......... .......... 50% 30.8M 4s + 3900K .......... .......... .......... .......... .......... 51% 662K 4s + 3950K .......... .......... .......... .......... .......... 52% 4.79M 4s + 4000K .......... .......... .......... .......... .......... 52% 3.75M 4s + 4050K .......... .......... .......... .......... .......... 53% 1.19M 4s + 4100K .......... .......... .......... .......... .......... 54% 1.17M 4s + 4150K .......... .......... .......... .......... .......... 54% 4.34M 4s + 4200K .......... .......... .......... .......... .......... 55% 44.0M 4s + 4250K .......... .......... .......... .......... .......... 56% 1.92M 4s + 4300K .......... .......... .......... .......... .......... 56% 102M 4s + 4350K .......... .......... .......... .......... .......... 57% 1.58M 4s + 4400K .......... .......... .......... .......... .......... 57% 21.8M 4s + 4450K .......... .......... .......... .......... .......... 58% 63.3M 3s + 4500K .......... .......... .......... .......... .......... 59% 63.6M 3s + 4550K .......... .......... .......... .......... .......... 59% 107M 3s + 4600K .......... .......... .......... .......... .......... 60% 58.5M 3s + 4650K .......... .......... .......... .......... .......... 61% 61.1M 3s + 4700K .......... .......... .......... .......... .......... 61% 110M 3s + 4750K .......... .......... .......... .......... .......... 62% 1.74M 3s + 4800K .......... .......... .......... .......... .......... 63% 1.01M 3s + 4850K .......... .......... .......... .......... .......... 63% 14.9M 3s + 4900K .......... .......... .......... .......... .......... 64% 26.8M 3s + 4950K .......... .......... .......... .......... .......... 65% 3.97M 3s + 5000K .......... .......... .......... .......... .......... 65% 1.32M 3s + 5050K .......... .......... .......... .......... .......... 66% 106M 3s + 5100K .......... .......... .......... .......... .......... 67% 7.35M 2s + 5150K .......... .......... .......... .......... .......... 67% 1.54M 2s + 5200K .......... .......... .......... .......... .......... 68% 18.3M 2s + 5250K .......... .......... .......... .......... .......... 69% 187K 2s + 5300K .......... .......... .......... .......... .......... 69% 6.69M 2s + 5350K .......... .......... .......... .......... .......... 70% 1.37M 2s + 5400K .......... .......... .......... .......... .......... 70% 2.63M 2s + 5450K .......... .......... .......... .......... .......... 71% 1.74M 2s + 5500K .......... .......... .......... .......... .......... 72% 1.98M 2s + 5550K .......... .......... .......... .......... .......... 72% 3.79M 2s + 5600K .......... .......... .......... .......... .......... 73% 16.1M 2s + 5650K .......... .......... .......... .......... .......... 74% 1.87M 2s + 5700K .......... .......... .......... .......... .......... 74% 23.5M 2s + 5750K .......... .......... .......... .......... .......... 75% 44.4M 2s + 5800K .......... .......... .......... .......... .......... 76% 3.89M 2s + 5850K .......... .......... .......... .......... .......... 76% 62.6M 2s + 5900K .......... .......... .......... .......... .......... 77% 109M 2s + 5950K .......... .......... .......... .......... .......... 78% 7.43M 2s + 6000K .......... .......... .......... .......... .......... 78% 55.0M 1s + 6050K .......... .......... .......... .......... .......... 79% 47.6M 1s + 6100K .......... .......... .......... .......... .......... 80% 41.5M 1s + 6150K .......... .......... .......... .......... .......... 80% 52.7M 1s + 6200K .......... .......... .......... .......... .......... 81% 53.1M 1s + 6250K .......... .......... .......... .......... .......... 82% 49.7M 1s + 6300K .......... .......... .......... .......... .......... 82% 24.8M 1s + 6350K .......... .......... .......... .......... .......... 83% 6.30M 1s + 6400K .......... .......... .......... .......... .......... 84% 16.0M 1s + 6450K .......... .......... .......... .......... .......... 84% 26.7M 1s + 6500K .......... .......... .......... .......... .......... 85% 38.9M 1s + 6550K .......... .......... .......... .......... .......... 85% 51.1M 1s + 6600K .......... .......... .......... .......... .......... 86% 5.63M 1s + 6650K .......... .......... .......... .......... .......... 87% 54.2M 1s + 6700K .......... .......... .......... .......... .......... 87% 50.4M 1s + 6750K .......... .......... .......... .......... .......... 88% 5.02M 1s + 6800K .......... .......... .......... .......... .......... 89% 7.24M 1s + 6850K .......... .......... .......... .......... .......... 89% 55.6M 1s + 6900K .......... .......... .......... .......... .......... 90% 3.51M 1s + 6950K .......... .......... .......... .......... .......... 91% 2.03M 1s + 7000K .......... .......... .......... .......... .......... 91% 2.69M 0s + 7050K .......... .......... .......... .......... .......... 92% 28.6M 0s + 7100K .......... .......... .......... .......... .......... 93% 47.6M 0s + 7150K .......... .......... .......... .......... .......... 93% 47.7M 0s + 7200K .......... .......... .......... .......... .......... 94% 46.1M 0s + 7250K .......... .......... .......... .......... .......... 95% 60.7M 0s + 7300K .......... .......... .......... .......... .......... 95% 46.4M 0s + 7350K .......... .......... .......... .......... .......... 96% 4.57M 0s + 7400K .......... .......... .......... .......... .......... 97% 3.09M 0s + 7450K .......... .......... .......... .......... .......... 97% 35.3M 0s + 7500K .......... .......... .......... .......... .......... 98% 76.6M 0s + 7550K .......... .......... .......... .......... .......... 98% 30.0M 0s + 7600K .......... .......... .......... .......... .......... 99% 28.4M 0s + 7650K .......... .......... ....... 100% 109M=5.6s + +2018-12-25 10:53:52 (1.33 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 10:59:07-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:59:08-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 70.9K 1m48s + 50K .......... .......... .......... .......... .......... 1% 111K 88s + 100K .......... .......... .......... .......... .......... 1% 206K 70s + 150K .......... .......... .......... .......... .......... 2% 308K 58s + 200K .......... .......... .......... .......... .......... 3% 793K 48s + 250K .......... .......... .......... .......... .......... 3% 237K 45s + 300K .......... .......... .......... .......... .......... 4% 8.36M 39s + 350K .......... .......... .......... .......... .......... 5% 213K 38s + 400K .......... .......... .......... .......... .......... 5% 3.75M 34s + 450K .......... .......... .......... .......... .......... 6% 238K 33s + 500K .......... .......... .......... .......... .......... 7% 22.3M 30s + 550K .......... .......... .......... .......... .......... 7% 296K 29s + 600K .......... .......... .......... .......... .......... 8% 657K 28s + 650K .......... .......... .......... .......... .......... 9% 13.6M 25s + 700K .......... .......... .......... .......... .......... 9% 72.1M 24s + 750K .......... .......... .......... .......... .......... 10% 369K 23s + 800K .......... .......... .......... .......... .......... 11% 449K 22s + 850K .......... .......... .......... .......... .......... 11% 42.4M 21s + 900K .......... .......... .......... .......... .......... 12% 95.5M 20s + 950K .......... .......... .......... .......... .......... 13% 402K 20s + 1000K .......... .......... .......... .......... .......... 13% 650K 19s + 1050K .......... .......... .......... .......... .......... 14% 3.81M 18s + 1100K .......... .......... .......... .......... .......... 14% 17.9M 17s + 1150K .......... .......... .......... .......... .......... 15% 3.35M 16s + 1200K .......... .......... .......... .......... .......... 16% 527K 16s + 1250K .......... .......... .......... .......... .......... 16% 1.32M 16s + 1300K .......... .......... .......... .......... .......... 17% 867K 15s + 1350K .......... .......... .......... .......... .......... 18% 4.60M 14s + 1400K .......... .......... .......... .......... .......... 18% 2.50M 14s + 1450K .......... .......... .......... .......... .......... 19% 6.96M 13s + 1500K .......... .......... .......... .......... .......... 20% 6.19M 13s + 1550K .......... .......... .......... .......... .......... 20% 506K 13s + 1600K .......... .......... .......... .......... .......... 21% 1.06M 12s + 1650K .......... .......... .......... .......... .......... 22% 874K 12s + 1700K .......... .......... .......... .......... .......... 22% 53.3M 12s + 1750K .......... .......... .......... .......... .......... 23% 53.4M 11s + 1800K .......... .......... .......... .......... .......... 24% 2.84M 11s + 1850K .......... .......... .......... .......... .......... 24% 3.53M 11s + 1900K .......... .......... .......... .......... .......... 25% 6.33M 10s + 1950K .......... .......... .......... .......... .......... 26% 466K 10s + 2000K .......... .......... .......... .......... .......... 26% 3.50M 10s + 2050K .......... .......... .......... .......... .......... 27% 49.5M 10s + 2100K .......... .......... .......... .......... .......... 28% 1.22M 9s + 2150K .......... .......... .......... .......... .......... 28% 3.21M 9s + 2200K .......... .......... .......... .......... .......... 29% 11.9M 9s + 2250K .......... .......... .......... .......... .......... 29% 2.91M 9s + 2300K .......... .......... .......... .......... .......... 30% 5.57M 8s + 2350K .......... .......... .......... .......... .......... 31% 4.90M 8s + 2400K .......... .......... .......... .......... .......... 31% 6.52M 8s + 2450K .......... .......... .......... .......... .......... 32% 395K 8s + 2500K .......... .......... .......... .......... .......... 33% 4.56M 8s + 2550K .......... .......... .......... .......... .......... 33% 37.3M 8s + 2600K .......... .......... .......... .......... .......... 34% 51.4M 7s + 2650K .......... .......... .......... .......... .......... 35% 1.63M 7s + 2700K .......... .......... .......... .......... .......... 35% 5.87M 7s + 2750K .......... .......... .......... .......... .......... 36% 5.07M 7s + 2800K .......... .......... .......... .......... .......... 37% 4.12M 7s + 2850K .......... .......... .......... .......... .......... 37% 3.04M 7s + 2900K .......... .......... .......... .......... .......... 38% 36.8M 6s + 2950K .......... .......... .......... .......... .......... 39% 2.19M 6s + 3000K .......... .......... .......... .......... .......... 39% 6.45M 6s + 3050K .......... .......... .......... .......... .......... 40% 462K 6s + 3100K .......... .......... .......... .......... .......... 41% 6.21M 6s + 3150K .......... .......... .......... .......... .......... 41% 57.7M 6s + 3200K .......... .......... .......... .......... .......... 42% 43.9M 6s + 3250K .......... .......... .......... .......... .......... 42% 4.82M 5s + 3300K .......... .......... .......... .......... .......... 43% 2.28M 5s + 3350K .......... .......... .......... .......... .......... 44% 3.02M 5s + 3400K .......... .......... .......... .......... .......... 44% 4.55M 5s + 3450K .......... .......... .......... .......... .......... 45% 7.15M 5s + 3500K .......... .......... .......... .......... .......... 46% 112M 5s + 3550K .......... .......... .......... .......... .......... 46% 3.64M 5s + 3600K .......... .......... .......... .......... .......... 47% 1.56M 5s + 3650K .......... .......... .......... .......... .......... 48% 7.45M 5s + 3700K .......... .......... .......... .......... .......... 48% 46.7M 4s + 3750K .......... .......... .......... .......... .......... 49% 74.8M 4s + 3800K .......... .......... .......... .......... .......... 50% 577K 4s + 3850K .......... .......... .......... .......... .......... 50% 12.2M 4s + 3900K .......... .......... .......... .......... .......... 51% 1.85M 4s + 3950K .......... .......... .......... .......... .......... 52% 1.87M 4s + 4000K .......... .......... .......... .......... .......... 52% 16.9M 4s + 4050K .......... .......... .......... .......... .......... 53% 51.6M 4s + 4100K .......... .......... .......... .......... .......... 54% 52.1M 4s + 4150K .......... .......... .......... .......... .......... 54% 12.8M 4s + 4200K .......... .......... .......... .......... .......... 55% 4.04M 4s + 4250K .......... .......... .......... .......... .......... 56% 5.95M 3s + 4300K .......... .......... .......... .......... .......... 56% 1.28M 3s + 4350K .......... .......... .......... .......... .......... 57% 6.86M 3s + 4400K .......... .......... .......... .......... .......... 57% 2.29M 3s + 4450K .......... .......... .......... .......... .......... 58% 12.3M 3s + 4500K .......... .......... .......... .......... .......... 59% 107M 3s + 4550K .......... .......... .......... .......... .......... 59% 63.2M 3s + 4600K .......... .......... .......... .......... .......... 60% 59.4M 3s + 4650K .......... .......... .......... .......... .......... 61% 79.0M 3s + 4700K .......... .......... .......... .......... .......... 61% 911K 3s + 4750K .......... .......... .......... .......... .......... 62% 3.64M 3s + 4800K .......... .......... .......... .......... .......... 63% 2.52M 3s + 4850K .......... .......... .......... .......... .......... 63% 1.86M 3s + 4900K .......... .......... .......... .......... .......... 64% 100M 3s + 4950K .......... .......... .......... .......... .......... 65% 4.70M 2s + 5000K .......... .......... .......... .......... .......... 65% 15.1M 2s + 5050K .......... .......... .......... .......... .......... 66% 4.31M 2s + 5100K .......... .......... .......... .......... .......... 67% 11.5M 2s + 5150K .......... .......... .......... .......... .......... 67% 14.2M 2s + 5200K .......... .......... .......... .......... .......... 68% 1007K 2s + 5250K .......... .......... .......... .......... .......... 69% 3.17M 2s + 5300K .......... .......... .......... .......... .......... 69% 1.71M 2s + 5350K .......... .......... .......... .......... .......... 70% 85.9K 2s + 5400K .......... .......... .......... .......... .......... 70% 528K 2s + 5450K .......... .......... .......... .......... .......... 71% 864K 2s + 5500K .......... .......... .......... .......... .......... 72% 1.80M 2s + 5550K .......... .......... .......... .......... .......... 72% 24.9M 2s + 5600K .......... .......... .......... .......... .......... 73% 701K 2s + 5650K .......... .......... .......... .......... .......... 74% 21.2M 2s + 5700K .......... .......... .......... .......... .......... 74% 2.55M 2s + 5750K .......... .......... .......... .......... .......... 75% 1.12M 2s + 5800K .......... .......... .......... .......... .......... 76% 3.02M 2s + 5850K .......... .......... .......... .......... .......... 76% 26.7M 2s + 5900K .......... .......... .......... .......... .......... 77% 108M 2s + 5950K .......... .......... .......... .......... .......... 78% 63.9M 2s + 6000K .......... .......... .......... .......... .......... 78% 54.3M 2s + 6050K .......... .......... .......... .......... .......... 79% 109M 1s + 6100K .......... .......... .......... .......... .......... 80% 53.8M 1s + 6150K .......... .......... .......... .......... .......... 80% 64.4M 1s + 6200K .......... .......... .......... .......... .......... 81% 60.0M 1s + 6250K .......... .......... .......... .......... .......... 82% 111M 1s + 6300K .......... .......... .......... .......... .......... 82% 65.8M 1s + 6350K .......... .......... .......... .......... .......... 83% 280K 1s + 6400K .......... .......... .......... .......... .......... 84% 23.7K 2s + 6450K .......... .......... .......... .......... .......... 84% 1.80M 1s + 6500K .......... .......... .......... .......... .......... 85% 2.86M 1s + 6550K .......... .......... .......... .......... .......... 85% 2.65M 1s + 6600K .......... .......... .......... .......... .......... 86% 47.3M 1s + 6650K .......... .......... .......... .......... .......... 87% 52.5M 1s + 6700K .......... .......... .......... .......... .......... 87% 52.0M 1s + 6750K .......... .......... .......... .......... .......... 88% 51.9M 1s + 6800K .......... .......... .......... .......... .......... 89% 29.3M 1s + 6850K .......... .......... .......... .......... .......... 89% 39.2M 1s + 6900K .......... .......... .......... .......... .......... 90% 65.2M 1s + 6950K .......... .......... .......... .......... .......... 91% 50.5M 1s + 7000K .......... .......... .......... .......... .......... 91% 49.4M 1s + 7050K .......... .......... .......... .......... .......... 92% 49.4M 1s + 7100K .......... .......... .......... .......... .......... 93% 51.6M 1s + 7150K .......... .......... .......... .......... .......... 93% 52.8M 1s + 7200K .......... .......... .......... .......... .......... 94% 42.7M 0s + 7250K .......... .......... .......... .......... .......... 95% 39.1M 0s + 7300K .......... .......... .......... .......... .......... 95% 46.6M 0s + 7350K .......... .......... .......... .......... .......... 96% 60.0M 0s + 7400K .......... .......... .......... .......... .......... 97% 58.0M 0s + 7450K .......... .......... .......... .......... .......... 97% 39.3M 0s + 7500K .......... .......... .......... .......... .......... 98% 30.7M 0s + 7550K .......... .......... .......... .......... .......... 98% 42.1M 0s + 7600K .......... .......... .......... .......... .......... 99% 32.3M 0s + 7650K .......... .......... ....... 100% 91.1M=8.0s + +2018-12-25 10:59:17 (960 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +################################################ +################################################ +######################################################################## +# Running Websetup on 192.168.5.5.# +######################################################################## +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied) +E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root? +################################################################ + + +Starting and Enabling Service +Failed to start apache2.service: Interactive authentication required. +See system logs and 'systemctl status apache2.service' for details. +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +insserv: fopen(.depend.stop): Permission denied +Failed to execute operation: Interactive authentication required. +insserv: fopen(.depend.stop): Permission denied +Failed to execute operation: Interactive authentication required. +################################################################ + + +Copying website data +website.zip: Permission denied +Archive: website.zip +error: cannot delete old 2093_flight/contact.html + Permission denied +error: cannot delete old 2093_flight/css/bootstrap-theme.css + Permission denied +error: cannot delete old 2093_flight/css/bootstrap-theme.css.map + Permission denied +error: cannot delete old 2093_flight/css/bootstrap-theme.min.css + Permission denied +error: cannot delete old 2093_flight/css/bootstrap.css + Permission denied +error: cannot delete old 2093_flight/css/bootstrap.css.map + Permission denied +error: cannot delete old 2093_flight/css/bootstrap.min.css + Permission denied +error: cannot delete old 2093_flight/css/datepicker.css + Permission denied +error: cannot delete old 2093_flight/css/fontAwesome.css + Permission denied +error: cannot delete old 2093_flight/css/fonts/flexslider-icon.eot + Permission denied +error: cannot delete old 2093_flight/css/fonts/flexslider-icon.svg + Permission denied +error: cannot delete old 2093_flight/css/fonts/flexslider-icon.ttf + Permission denied +error: cannot delete old 2093_flight/css/fonts/flexslider-icon.woff + Permission denied +error: cannot delete old 2093_flight/css/hero-slider.css + Permission denied +error: cannot delete old 2093_flight/css/owl-carousel.css + Permission denied +error: cannot delete old 2093_flight/css/tooplate-style.css + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.eot + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.svg + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.ttf + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.woff + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.woff2 + Permission denied +error: cannot delete old 2093_flight/fonts/FontAwesome.otf + Permission denied +error: cannot delete old 2093_flight/fonts/glyphicons-halflings-regular.eot + Permission denied +error: cannot delete old 2093_flight/fonts/glyphicons-halflings-regular.svg + Permission denied +error: cannot delete old 2093_flight/fonts/glyphicons-halflings-regular.ttf + Permission denied +error: cannot delete old 2093_flight/fonts/glyphicons-halflings-regular.woff + Permission denied +error: cannot delete old 2093_flight/img/banner-bg.jpg + Permission denied +error: cannot delete old 2093_flight/img/close.png + Permission denied +error: cannot delete old 2093_flight/img/contact-01.jpg + Permission denied +error: cannot delete old 2093_flight/img/contact-02.jpg + Permission denied +error: cannot delete old 2093_flight/img/contact-bg.jpg + Permission denied +error: cannot delete old 2093_flight/img/evening-event.jpg + Permission denied +error: cannot delete old 2093_flight/img/fitness-service.jpg + Permission denied +error: cannot delete old 2093_flight/img/heading-bg.jpg + Permission denied +error: cannot delete old 2093_flight/img/loading.gif + Permission denied +error: cannot delete old 2093_flight/img/logo.png + Permission denied +error: cannot delete old 2093_flight/img/massage-service.jpg + Permission denied +error: cannot delete old 2093_flight/img/next.png + Permission denied +error: cannot delete old 2093_flight/img/place-01.jpg + Permission denied +error: cannot delete old 2093_flight/img/place-02.jpg + Permission denied +error: cannot delete old 2093_flight/img/place-03.jpg + Permission denied +error: cannot delete old 2093_flight/img/place-04.jpg + Permission denied +error: cannot delete old 2093_flight/img/prev.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-01.1.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-01.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-02.2.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-02.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-03.3.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-03.png + Permission denied +error: cannot delete old 2093_flight/img/suite-01.jpg + Permission denied +error: cannot delete old 2093_flight/img/suite-02.jpg + Permission denied +error: cannot delete old 2093_flight/img/suite-03.jpg + Permission denied +error: cannot delete old 2093_flight/img/swiming-pool.jpg + Permission denied +error: cannot delete old 2093_flight/img/weather-bg.jpg + Permission denied +error: cannot delete old 2093_flight/img/weather-icon-01.png + Permission denied +error: cannot delete old 2093_flight/img/weather-icon-02.png + Permission denied +error: cannot delete old 2093_flight/img/weather-icon-03.png + Permission denied +error: cannot delete old 2093_flight/index.html + Permission denied +error: cannot delete old 2093_flight/js/datepicker.js + Permission denied +error: cannot delete old 2093_flight/js/main.js + Permission denied +error: cannot delete old 2093_flight/js/plugins.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/bootstrap.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/bootstrap.min.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/jquery-1.11.2.min.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/npm.js + Permission denied +error: cannot delete old 2093_flight/ABOUT THIS TEMPLATE.txt + Permission denied +cp: cannot stat '/tmp/2112_brunch/*': No such file or directory +################################################################ + + +Restarting Service +Failed to restart apache2.service: Interactive authentication required. +See system logs and 'systemctl status apache2.service' for details. +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +wget: missing URL +Usage: wget [OPTION]... [URL]... + +Try `wget --help' for more options. +Archive: website.zip + inflating: 2093_flight/contact.html + inflating: 2093_flight/css/bootstrap-theme.css + inflating: 2093_flight/css/bootstrap-theme.css.map + inflating: 2093_flight/css/bootstrap-theme.min.css + inflating: 2093_flight/css/bootstrap.css + inflating: 2093_flight/css/bootstrap.css.map + inflating: 2093_flight/css/bootstrap.min.css + inflating: 2093_flight/css/datepicker.css + inflating: 2093_flight/css/fontAwesome.css + inflating: 2093_flight/css/fonts/flexslider-icon.eot + inflating: 2093_flight/css/fonts/flexslider-icon.svg + inflating: 2093_flight/css/fonts/flexslider-icon.ttf + inflating: 2093_flight/css/fonts/flexslider-icon.woff + inflating: 2093_flight/css/hero-slider.css + inflating: 2093_flight/css/owl-carousel.css + inflating: 2093_flight/css/tooplate-style.css + inflating: 2093_flight/fonts/fontawesome-webfont.eot + inflating: 2093_flight/fonts/fontawesome-webfont.svg + inflating: 2093_flight/fonts/fontawesome-webfont.ttf + inflating: 2093_flight/fonts/fontawesome-webfont.woff + inflating: 2093_flight/fonts/fontawesome-webfont.woff2 + inflating: 2093_flight/fonts/FontAwesome.otf + inflating: 2093_flight/fonts/glyphicons-halflings-regular.eot + inflating: 2093_flight/fonts/glyphicons-halflings-regular.svg + inflating: 2093_flight/fonts/glyphicons-halflings-regular.ttf + inflating: 2093_flight/fonts/glyphicons-halflings-regular.woff + inflating: 2093_flight/img/banner-bg.jpg + inflating: 2093_flight/img/close.png + inflating: 2093_flight/img/contact-01.jpg + inflating: 2093_flight/img/contact-02.jpg + inflating: 2093_flight/img/contact-bg.jpg + inflating: 2093_flight/img/evening-event.jpg + inflating: 2093_flight/img/fitness-service.jpg + inflating: 2093_flight/img/heading-bg.jpg + inflating: 2093_flight/img/loading.gif + inflating: 2093_flight/img/logo.png + inflating: 2093_flight/img/massage-service.jpg + inflating: 2093_flight/img/next.png + inflating: 2093_flight/img/place-01.jpg + inflating: 2093_flight/img/place-02.jpg + inflating: 2093_flight/img/place-03.jpg + inflating: 2093_flight/img/place-04.jpg + inflating: 2093_flight/img/prev.png + inflating: 2093_flight/img/service-icon-01.1.png + inflating: 2093_flight/img/service-icon-01.png + inflating: 2093_flight/img/service-icon-02.2.png + inflating: 2093_flight/img/service-icon-02.png + inflating: 2093_flight/img/service-icon-03.3.png + inflating: 2093_flight/img/service-icon-03.png + inflating: 2093_flight/img/suite-01.jpg + inflating: 2093_flight/img/suite-02.jpg + inflating: 2093_flight/img/suite-03.jpg + inflating: 2093_flight/img/swiming-pool.jpg + inflating: 2093_flight/img/weather-bg.jpg + inflating: 2093_flight/img/weather-icon-01.png + inflating: 2093_flight/img/weather-icon-02.png + inflating: 2093_flight/img/weather-icon-03.png + inflating: 2093_flight/index.html + inflating: 2093_flight/js/datepicker.js + inflating: 2093_flight/js/main.js + inflating: 2093_flight/js/plugins.js + inflating: 2093_flight/js/vendor/bootstrap.js + inflating: 2093_flight/js/vendor/bootstrap.min.js + inflating: 2093_flight/js/vendor/jquery-1.11.2.min.js + inflating: 2093_flight/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2093_flight/js/vendor/npm.js + inflating: 2093_flight/ABOUT THIS TEMPLATE.txt +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +wget: missing URL +Usage: wget [OPTION]... [URL]... + +Try `wget --help' for more options. +Archive: website.zip + inflating: 2093_flight/contact.html + inflating: 2093_flight/css/bootstrap-theme.css + inflating: 2093_flight/css/bootstrap-theme.css.map + inflating: 2093_flight/css/bootstrap-theme.min.css + inflating: 2093_flight/css/bootstrap.css + inflating: 2093_flight/css/bootstrap.css.map + inflating: 2093_flight/css/bootstrap.min.css + inflating: 2093_flight/css/datepicker.css + inflating: 2093_flight/css/fontAwesome.css + inflating: 2093_flight/css/fonts/flexslider-icon.eot + inflating: 2093_flight/css/fonts/flexslider-icon.svg + inflating: 2093_flight/css/fonts/flexslider-icon.ttf + inflating: 2093_flight/css/fonts/flexslider-icon.woff + inflating: 2093_flight/css/hero-slider.css + inflating: 2093_flight/css/owl-carousel.css + inflating: 2093_flight/css/tooplate-style.css + inflating: 2093_flight/fonts/fontawesome-webfont.eot + inflating: 2093_flight/fonts/fontawesome-webfont.svg + inflating: 2093_flight/fonts/fontawesome-webfont.ttf + inflating: 2093_flight/fonts/fontawesome-webfont.woff + inflating: 2093_flight/fonts/fontawesome-webfont.woff2 + inflating: 2093_flight/fonts/FontAwesome.otf + inflating: 2093_flight/fonts/glyphicons-halflings-regular.eot + inflating: 2093_flight/fonts/glyphicons-halflings-regular.svg + inflating: 2093_flight/fonts/glyphicons-halflings-regular.ttf + inflating: 2093_flight/fonts/glyphicons-halflings-regular.woff + inflating: 2093_flight/img/banner-bg.jpg + inflating: 2093_flight/img/close.png + inflating: 2093_flight/img/contact-01.jpg + inflating: 2093_flight/img/contact-02.jpg + inflating: 2093_flight/img/contact-bg.jpg + inflating: 2093_flight/img/evening-event.jpg + inflating: 2093_flight/img/fitness-service.jpg + inflating: 2093_flight/img/heading-bg.jpg + inflating: 2093_flight/img/loading.gif + inflating: 2093_flight/img/logo.png + inflating: 2093_flight/img/massage-service.jpg + inflating: 2093_flight/img/next.png + inflating: 2093_flight/img/place-01.jpg + inflating: 2093_flight/img/place-02.jpg + inflating: 2093_flight/img/place-03.jpg + inflating: 2093_flight/img/place-04.jpg + inflating: 2093_flight/img/prev.png + inflating: 2093_flight/img/service-icon-01.1.png + inflating: 2093_flight/img/service-icon-01.png + inflating: 2093_flight/img/service-icon-02.2.png + inflating: 2093_flight/img/service-icon-02.png + inflating: 2093_flight/img/service-icon-03.3.png + inflating: 2093_flight/img/service-icon-03.png + inflating: 2093_flight/img/suite-01.jpg + inflating: 2093_flight/img/suite-02.jpg + inflating: 2093_flight/img/suite-03.jpg + inflating: 2093_flight/img/swiming-pool.jpg + inflating: 2093_flight/img/weather-bg.jpg + inflating: 2093_flight/img/weather-icon-01.png + inflating: 2093_flight/img/weather-icon-02.png + inflating: 2093_flight/img/weather-icon-03.png + inflating: 2093_flight/index.html + inflating: 2093_flight/js/datepicker.js + inflating: 2093_flight/js/main.js + inflating: 2093_flight/js/plugins.js + inflating: 2093_flight/js/vendor/bootstrap.js + inflating: 2093_flight/js/vendor/bootstrap.min.js + inflating: 2093_flight/js/vendor/jquery-1.11.2.min.js + inflating: 2093_flight/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2093_flight/js/vendor/npm.js + inflating: 2093_flight/ABOUT THIS TEMPLATE.txt +################################################################ + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:18:31-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:18:32-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 73.2K 1m44s + 50K .......... .......... .......... .......... .......... 1% 206K 70s + 100K .......... .......... .......... .......... .......... 1% 211K 58s + 150K .......... .......... .......... .......... .......... 2% 210K 52s + 200K .......... .......... .......... .......... .......... 3% 236K 48s + 250K .......... .......... .......... .......... .......... 3% 222K 45s + 300K .......... .......... .......... .......... .......... 4% 2.15M 39s + 350K .......... .......... .......... .......... .......... 5% 231K 38s + 400K .......... .......... .......... .......... .......... 5% 2.95M 34s + 450K .......... .......... .......... .......... .......... 6% 235K 33s + 500K .......... .......... .......... .......... .......... 7% 47.9M 30s + 550K .......... .......... .......... .......... .......... 7% 7.65M 27s + 600K .......... .......... .......... .......... .......... 8% 225K 27s + 650K .......... .......... .......... .......... .......... 9% 3.16M 25s + 700K .......... .......... .......... .......... .......... 9% 29.4M 24s + 750K .......... .......... .......... .......... .......... 10% 60.9M 22s + 800K .......... .......... .......... .......... .......... 11% 210K 22s + 850K .......... .......... .......... .......... .......... 11% 14.3M 21s + 900K .......... .......... .......... .......... .......... 12% 29.5M 20s + 950K .......... .......... .......... .......... .......... 13% 261K 20s + 1000K .......... .......... .......... .......... .......... 13% 3.94M 19s + 1050K .......... .......... .......... .......... .......... 14% 5.28M 18s + 1100K .......... .......... .......... .......... .......... 14% 3.05M 17s + 1150K .......... .......... .......... .......... .......... 15% 7.95M 16s + 1200K .......... .......... .......... .......... .......... 16% 243K 17s + 1250K .......... .......... .......... .......... .......... 16% 75.2M 16s + 1300K .......... .......... .......... .......... .......... 17% 4.70M 15s + 1350K .......... .......... .......... .......... .......... 18% 3.43M 15s + 1400K .......... .......... .......... .......... .......... 18% 4.00M 14s + 1450K .......... .......... .......... .......... .......... 19% 4.10M 14s + 1500K .......... .......... .......... .......... .......... 20% 240K 14s + 1550K .......... .......... .......... .......... .......... 20% 20.1M 13s + 1600K .......... .......... .......... .......... .......... 21% 34.1M 13s + 1650K .......... .......... .......... .......... .......... 22% 36.4M 12s + 1700K .......... .......... .......... .......... .......... 22% 2.32M 12s + 1750K .......... .......... .......... .......... .......... 23% 2.12M 12s + 1800K .......... .......... .......... .......... .......... 24% 43.2M 11s + 1850K .......... .......... .......... .......... .......... 24% 341K 11s + 1900K .......... .......... .......... .......... .......... 25% 912K 11s + 1950K .......... .......... .......... .......... .......... 26% 53.2M 11s + 2000K .......... .......... .......... .......... .......... 26% 7.74M 10s + 2050K .......... .......... .......... .......... .......... 27% 198K 11s + 2100K .......... .......... .......... .......... .......... 28% 14.6M 10s + 2150K .......... .......... .......... .......... .......... 28% 13.6M 10s + 2200K .......... .......... .......... .......... .......... 29% 24.9M 10s + 2250K .......... .......... .......... .......... .......... 29% 32.2M 9s + 2300K .......... .......... .......... .......... .......... 30% 92.3M 9s + 2350K .......... .......... .......... .......... .......... 31% 19.3M 9s + 2400K .......... .......... .......... .......... .......... 31% 23.7M 9s + 2450K .......... .......... .......... .......... .......... 32% 36.2M 8s + 2500K .......... .......... .......... .......... .......... 33% 18.6M 8s + 2550K .......... .......... .......... .......... .......... 33% 15.0M 8s + 2600K .......... .......... .......... .......... .......... 34% 14.4M 8s + 2650K .......... .......... .......... .......... .......... 35% 47.4M 7s + 2700K .......... .......... .......... .......... .......... 35% 440K 7s + 2750K .......... .......... .......... .......... .......... 36% 1.13M 7s + 2800K .......... .......... .......... .......... .......... 37% 1.17M 7s + 2850K .......... .......... .......... .......... .......... 37% 5.00M 7s + 2900K .......... .......... .......... .......... .......... 38% 7.20M 7s + 2950K .......... .......... .......... .......... .......... 39% 3.33M 7s + 3000K .......... .......... .......... .......... .......... 39% 7.86M 6s + 3050K .......... .......... .......... .......... .......... 40% 394K 6s + 3100K .......... .......... .......... .......... .......... 41% 1.95M 6s + 3150K .......... .......... .......... .......... .......... 41% 4.28M 6s + 3200K .......... .......... .......... .......... .......... 42% 792K 6s + 3250K .......... .......... .......... .......... .......... 42% 5.39M 6s + 3300K .......... .......... .......... .......... .......... 43% 5.36M 6s + 3350K .......... .......... .......... .......... .......... 44% 193K 6s + 3400K .......... .......... .......... .......... .......... 44% 773K 6s + 3450K .......... .......... .......... .......... .......... 45% 12.3M 6s + 3500K .......... .......... .......... .......... .......... 46% 8.15M 6s + 3550K .......... .......... .......... .......... .......... 46% 8.85M 5s + 3600K .......... .......... .......... .......... .......... 47% 8.25M 5s + 3650K .......... .......... .......... .......... .......... 48% 57.0M 5s + 3700K .......... .......... .......... .......... .......... 48% 56.5M 5s + 3750K .......... .......... .......... .......... .......... 49% 57.8M 5s + 3800K .......... .......... .......... .......... .......... 50% 1.95M 5s + 3850K .......... .......... .......... .......... .......... 50% 1.17M 5s + 3900K .......... .......... .......... .......... .......... 51% 970K 5s + 3950K .......... .......... .......... .......... .......... 52% 2.26M 5s + 4000K .......... .......... .......... .......... .......... 52% 891K 5s + 4050K .......... .......... .......... .......... .......... 53% 798K 4s + 4100K .......... .......... .......... .......... .......... 54% 1.60M 4s + 4150K .......... .......... .......... .......... .......... 54% 726K 4s + 4200K .......... .......... .......... .......... .......... 55% 6.32M 4s + 4250K .......... .......... .......... .......... .......... 56% 3.52M 4s + 4300K .......... .......... .......... .......... .......... 56% 690K 4s + 4350K .......... .......... .......... .......... .......... 57% 1.16M 4s + 4400K .......... .......... .......... .......... .......... 57% 525K 4s + 4450K .......... .......... .......... .......... .......... 58% 11.4M 4s + 4500K .......... .......... .......... .......... .......... 59% 3.23M 4s + 4550K .......... .......... .......... .......... .......... 59% 969K 4s + 4600K .......... .......... .......... .......... .......... 60% 892K 4s + 4650K .......... .......... .......... .......... .......... 61% 1.77M 4s + 4700K .......... .......... .......... .......... .......... 61% 670K 4s + 4750K .......... .......... .......... .......... .......... 62% 3.80M 3s + 4800K .......... .......... .......... .......... .......... 63% 3.53M 3s + 4850K .......... .......... .......... .......... .......... 63% 604K 3s + 4900K .......... .......... .......... .......... .......... 64% 1.60M 3s + 4950K .......... .......... .......... .......... .......... 65% 678K 3s + 5000K .......... .......... .......... .......... .......... 65% 1.41M 3s + 5050K .......... .......... .......... .......... .......... 66% 5.76M 3s + 5100K .......... .......... .......... .......... .......... 67% 26.9M 3s + 5150K .......... .......... .......... .......... .......... 67% 508K 3s + 5200K .......... .......... .......... .......... .......... 68% 1.96M 3s + 5250K .......... .......... .......... .......... .......... 69% 603K 3s + 5300K .......... .......... .......... .......... .......... 69% 2.99M 3s + 5350K .......... .......... .......... .......... .......... 70% 6.91M 3s + 5400K .......... .......... .......... .......... .......... 70% 1.40M 3s + 5450K .......... .......... .......... .......... .......... 71% 823K 2s + 5500K .......... .......... .......... .......... .......... 72% 3.16M 2s + 5550K .......... .......... .......... .......... .......... 72% 583K 2s + 5600K .......... .......... .......... .......... .......... 73% 1.75M 2s + 5650K .......... .......... .......... .......... .......... 74% 3.70M 2s + 5700K .......... .......... .......... .......... .......... 74% 1.83M 2s + 5750K .......... .......... .......... .......... .......... 75% 775K 2s + 5800K .......... .......... .......... .......... .......... 76% 2.75M 2s + 5850K .......... .......... .......... .......... .......... 76% 640K 2s + 5900K .......... .......... .......... .......... .......... 77% 1.67M 2s + 5950K .......... .......... .......... .......... .......... 78% 3.91M 2s + 6000K .......... .......... .......... .......... .......... 78% 1.65M 2s + 6050K .......... .......... .......... .......... .......... 79% 745K 2s + 6100K .......... .......... .......... .......... .......... 80% 3.21M 2s + 6150K .......... .......... .......... .......... .......... 80% 624K 2s + 6200K .......... .......... .......... .......... .......... 81% 2.03M 2s + 6250K .......... .......... .......... .......... .......... 82% 1.96M 2s + 6300K .......... .......... .......... .......... .......... 82% 4.34M 1s + 6350K .......... .......... .......... .......... .......... 83% 679K 1s + 6400K .......... .......... .......... .......... .......... 84% 2.01M 1s + 6450K .......... .......... .......... .......... .......... 84% 706K 1s + 6500K .......... .......... .......... .......... .......... 85% 2.53M 1s + 6550K .......... .......... .......... .......... .......... 85% 1.64M 1s + 6600K .......... .......... .......... .......... .......... 86% 2.33M 1s + 6650K .......... .......... .......... .......... .......... 87% 872K 1s + 6700K .......... .......... .......... .......... .......... 87% 2.95M 1s + 6750K .......... .......... .......... .......... .......... 88% 1010K 1s + 6800K .......... .......... .......... .......... .......... 89% 1.07M 1s + 6850K .......... .......... .......... .......... .......... 89% 1.34M 1s + 6900K .......... .......... .......... .......... .......... 90% 3.40M 1s + 6950K .......... .......... .......... .......... .......... 91% 1.41M 1s + 7000K .......... .......... .......... .......... .......... 91% 894K 1s + 7050K .......... .......... .......... .......... .......... 92% 5.16M 1s + 7100K .......... .......... .......... .......... .......... 93% 655K 1s + 7150K .......... .......... .......... .......... .......... 93% 2.12M 1s + 7200K .......... .......... .......... .......... .......... 94% 1.19M 0s + 7250K .......... .......... .......... .......... .......... 95% 5.78M 0s + 7300K .......... .......... .......... .......... .......... 95% 809K 0s + 7350K .......... .......... .......... .......... .......... 96% 1.73M 0s + 7400K .......... .......... .......... .......... .......... 97% 683K 0s + 7450K .......... .......... .......... .......... .......... 97% 2.63M 0s + 7500K .......... .......... .......... .......... .......... 98% 1.10M 0s + 7550K .......... .......... .......... .......... .......... 98% 3.07M 0s + 7600K .......... .......... .......... .......... .......... 99% 1.19M 0s + 7650K .......... .......... ....... 100% 4.12M=7.9s + +2018-12-25 10:18:41 (974 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + creating: 2112_brunch/ + inflating: 2112_brunch/contact-page.html + creating: 2112_brunch/css/ + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + creating: 2112_brunch/css/fonts/ + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + creating: 2112_brunch/fonts/ + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + creating: 2112_brunch/img/ + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + creating: 2112_brunch/js/ + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + creating: 2112_brunch/js/vendor/ + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + creating: 2112_brunch/videos/ + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:20:30-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:20:31-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 70.5K 1m48s + 50K .......... .......... .......... .......... .......... 1% 213K 72s + 100K .......... .......... .......... .......... .......... 1% 201K 60s + 150K .......... .......... .......... .......... .......... 2% 207K 54s + 200K .......... .......... .......... .......... .......... 3% 217K 49s + 250K .......... .......... .......... .......... .......... 3% 200K 47s + 300K .......... .......... .......... .......... .......... 4% 1.42M 41s + 350K .......... .......... .......... .......... .......... 5% 241K 39s + 400K .......... .......... .......... .......... .......... 5% 897K 36s + 450K .......... .......... .......... .......... .......... 6% 275K 34s + 500K .......... .......... .......... .......... .......... 7% 8.35M 31s + 550K .......... .......... .......... .......... .......... 7% 1.07M 29s + 600K .......... .......... .......... .......... .......... 8% 257K 29s + 650K .......... .......... .......... .......... .......... 9% 5.54M 26s + 700K .......... .......... .......... .......... .......... 9% 11.3M 25s + 750K .......... .......... .......... .......... .......... 10% 246K 25s + 800K .......... .......... .......... .......... .......... 11% 2.03M 23s + 850K .......... .......... .......... .......... .......... 11% 5.73M 22s + 900K .......... .......... .......... .......... .......... 12% 6.69M 21s + 950K .......... .......... .......... .......... .......... 13% 254K 21s + 1000K .......... .......... .......... .......... .......... 13% 2.55M 20s + 1050K .......... .......... .......... .......... .......... 14% 7.14M 19s + 1100K .......... .......... .......... .......... .......... 14% 3.10M 18s + 1150K .......... .......... .......... .......... .......... 15% 7.59M 17s + 1200K .......... .......... .......... .......... .......... 16% 248K 17s + 1250K .......... .......... .......... .......... .......... 16% 4.82M 16s + 1300K .......... .......... .......... .......... .......... 17% 10.1M 16s + 1350K .......... .......... .......... .......... .......... 18% 3.07M 15s + 1400K .......... .......... .......... .......... .......... 18% 5.95M 15s + 1450K .......... .......... .......... .......... .......... 19% 5.45M 14s + 1500K .......... .......... .......... .......... .......... 20% 286K 14s + 1550K .......... .......... .......... .......... .......... 20% 3.17M 14s + 1600K .......... .......... .......... .......... .......... 21% 4.60M 13s + 1650K .......... .......... .......... .......... .......... 22% 6.24M 13s + 1700K .......... .......... .......... .......... .......... 22% 3.84M 12s + 1750K .......... .......... .......... .......... .......... 23% 2.40M 12s + 1800K .......... .......... .......... .......... .......... 24% 4.72M 11s + 1850K .......... .......... .......... .......... .......... 24% 410K 11s + 1900K .......... .......... .......... .......... .......... 25% 1.31M 11s + 1950K .......... .......... .......... .......... .......... 26% 1.69M 11s + 2000K .......... .......... .......... .......... .......... 26% 4.93M 11s + 2050K .......... .......... .......... .......... .......... 27% 127M 10s + 2100K .......... .......... .......... .......... .......... 28% 5.64M 10s + 2150K .......... .......... .......... .......... .......... 28% 9.05M 10s + 2200K .......... .......... .......... .......... .......... 29% 1.62M 9s + 2250K .......... .......... .......... .......... .......... 29% 4.73M 9s + 2300K .......... .......... .......... .......... .......... 30% 7.67M 9s + 2350K .......... .......... .......... .......... .......... 31% 360K 9s + 2400K .......... .......... .......... .......... .......... 31% 624K 9s + 2450K .......... .......... .......... .......... .......... 32% 54.2M 9s + 2500K .......... .......... .......... .......... .......... 33% 18.7M 8s + 2550K .......... .......... .......... .......... .......... 33% 173K 9s + 2600K .......... .......... .......... .......... .......... 34% 24.1M 8s + 2650K .......... .......... .......... .......... .......... 35% 5.09M 8s + 2700K .......... .......... .......... .......... .......... 35% 6.62M 8s + 2750K .......... .......... .......... .......... .......... 36% 9.95M 8s + 2800K .......... .......... .......... .......... .......... 37% 21.1M 8s + 2850K .......... .......... .......... .......... .......... 37% 68.4M 7s + 2900K .......... .......... .......... .......... .......... 38% 33.5M 7s + 2950K .......... .......... .......... .......... .......... 39% 132M 7s + 3000K .......... .......... .......... .......... .......... 39% 13.9M 7s + 3050K .......... .......... .......... .......... .......... 40% 11.9M 7s + 3100K .......... .......... .......... .......... .......... 41% 18.8M 6s + 3150K .......... .......... .......... .......... .......... 41% 88.3M 6s + 3200K .......... .......... .......... .......... .......... 42% 19.6M 6s + 3250K .......... .......... .......... .......... .......... 42% 23.0M 6s + 3300K .......... .......... .......... .......... .......... 43% 27.7M 6s + 3350K .......... .......... .......... .......... .......... 44% 102M 6s + 3400K .......... .......... .......... .......... .......... 44% 21.3M 5s + 3450K .......... .......... .......... .......... .......... 45% 41.3M 5s + 3500K .......... .......... .......... .......... .......... 46% 212K 5s + 3550K .......... .......... .......... .......... .......... 46% 374K 5s + 3600K .......... .......... .......... .......... .......... 47% 2.31M 5s + 3650K .......... .......... .......... .......... .......... 48% 4.08M 5s + 3700K .......... .......... .......... .......... .......... 48% 3.01M 5s + 3750K .......... .......... .......... .......... .......... 49% 5.24M 5s + 3800K .......... .......... .......... .......... .......... 50% 110M 5s + 3850K .......... .......... .......... .......... .......... 50% 113K 5s + 3900K .......... .......... .......... .......... .......... 51% 19.6M 5s + 3950K .......... .......... .......... .......... .......... 52% 1.47M 5s + 4000K .......... .......... .......... .......... .......... 52% 1.60M 5s + 4050K .......... .......... .......... .......... .......... 53% 4.34M 5s + 4100K .......... .......... .......... .......... .......... 54% 54.9M 5s + 4150K .......... .......... .......... .......... .......... 54% 52.0M 4s + 4200K .......... .......... .......... .......... .......... 55% 66.6M 4s + 4250K .......... .......... .......... .......... .......... 56% 103M 4s + 4300K .......... .......... .......... .......... .......... 56% 71.3M 4s + 4350K .......... .......... .......... .......... .......... 57% 99.7M 4s + 4400K .......... .......... .......... .......... .......... 57% 62.1M 4s + 4450K .......... .......... .......... .......... .......... 58% 50.5M 4s + 4500K .......... .......... .......... .......... .......... 59% 55.9M 4s + 4550K .......... .......... .......... .......... .......... 59% 73.3M 4s + 4600K .......... .......... .......... .......... .......... 60% 92.1M 4s + 4650K .......... .......... .......... .......... .......... 61% 72.5M 3s + 4700K .......... .......... .......... .......... .......... 61% 54.9M 3s + 4750K .......... .......... .......... .......... .......... 62% 358K 3s + 4800K .......... .......... .......... .......... .......... 63% 1.38M 3s + 4850K .......... .......... .......... .......... .......... 63% 4.36M 3s + 4900K .......... .......... .......... .......... .......... 64% 3.68M 3s + 4950K .......... .......... .......... .......... .......... 65% 9.36M 3s + 5000K .......... .......... .......... .......... .......... 65% 2.34M 3s + 5050K .......... .......... .......... .......... .......... 66% 781K 3s + 5100K .......... .......... .......... .......... .......... 67% 462K 3s + 5150K .......... .......... .......... .......... .......... 67% 1.96M 3s + 5200K .......... .......... .......... .......... .......... 68% 4.01M 3s + 5250K .......... .......... .......... .......... .......... 69% 1.54M 3s + 5300K .......... .......... .......... .......... .......... 69% 127M 3s + 5350K .......... .......... .......... .......... .......... 70% 5.85M 2s + 5400K .......... .......... .......... .......... .......... 70% 319K 2s + 5450K .......... .......... .......... .......... .......... 71% 27.0M 2s + 5500K .......... .......... .......... .......... .......... 72% 1.61M 2s + 5550K .......... .......... .......... .......... .......... 72% 765K 2s + 5600K .......... .......... .......... .......... .......... 73% 110M 2s + 5650K .......... .......... .......... .......... .......... 74% 140M 2s + 5700K .......... .......... .......... .......... .......... 74% 62.3M 2s + 5750K .......... .......... .......... .......... .......... 75% 334K 2s + 5800K .......... .......... .......... .......... .......... 76% 2.28M 2s + 5850K .......... .......... .......... .......... .......... 76% 826K 2s + 5900K .......... .......... .......... .......... .......... 77% 4.00M 2s + 5950K .......... .......... .......... .......... .......... 78% 104M 2s + 6000K .......... .......... .......... .......... .......... 78% 51.2M 2s + 6050K .......... .......... .......... .......... .......... 79% 7.03M 2s + 6100K .......... .......... .......... .......... .......... 80% 373K 2s + 6150K .......... .......... .......... .......... .......... 80% 9.47M 2s + 6200K .......... .......... .......... .......... .......... 81% 940K 2s + 6250K .......... .......... .......... .......... .......... 82% 5.34M 1s + 6300K .......... .......... .......... .......... .......... 82% 3.56M 1s + 6350K .......... .......... .......... .......... .......... 83% 4.29M 1s + 6400K .......... .......... .......... .......... .......... 84% 6.75M 1s + 6450K .......... .......... .......... .......... .......... 84% 351K 1s + 6500K .......... .......... .......... .......... .......... 85% 120M 1s + 6550K .......... .......... .......... .......... .......... 85% 638K 1s + 6600K .......... .......... .......... .......... .......... 86% 3.23M 1s + 6650K .......... .......... .......... .......... .......... 87% 80.8M 1s + 6700K .......... .......... .......... .......... .......... 87% 6.18M 1s + 6750K .......... .......... .......... .......... .......... 88% 35.0M 1s + 6800K .......... .......... .......... .......... .......... 89% 324K 1s + 6850K .......... .......... .......... .......... .......... 89% 9.17M 1s + 6900K .......... .......... .......... .......... .......... 90% 66.8M 1s + 6950K .......... .......... .......... .......... .......... 91% 816K 1s + 7000K .......... .......... .......... .......... .......... 91% 1.57M 1s + 7050K .......... .......... .......... .......... .......... 92% 7.37M 1s + 7100K .......... .......... .......... .......... .......... 93% 4.10M 1s + 7150K .......... .......... .......... .......... .......... 93% 12.9M 0s + 7200K .......... .......... .......... .......... .......... 94% 472K 0s + 7250K .......... .......... .......... .......... .......... 95% 31.4M 0s + 7300K .......... .......... .......... .......... .......... 95% 717K 0s + 7350K .......... .......... .......... .......... .......... 96% 18.1M 0s + 7400K .......... .......... .......... .......... .......... 97% 855K 0s + 7450K .......... .......... .......... .......... .......... 97% 23.6M 0s + 7500K .......... .......... .......... .......... .......... 98% 23.3M 0s + 7550K .......... .......... .......... .......... .......... 98% 961K 0s + 7600K .......... .......... .......... .......... .......... 99% 1.13M 0s + 7650K .......... .......... ....... 100% 115M=7.5s + +2018-12-25 10:20:39 (1024 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:25:39-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:25:40-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 71.5K 1m47s + 50K .......... .......... .......... .......... .......... 1% 217K 70s + 100K .......... .......... .......... .......... .......... 1% 204K 59s + 150K .......... .......... .......... .......... .......... 2% 223K 52s + 200K .......... .......... .......... .......... .......... 3% 3.86M 42s + 250K .......... .......... .......... .......... .......... 3% 223K 40s + 300K .......... .......... .......... .......... .......... 4% 215K 39s + 350K .......... .......... .......... .......... .......... 5% 11.0M 34s + 400K .......... .......... .......... .......... .......... 5% 224K 34s + 450K .......... .......... .......... .......... .......... 6% 3.01M 30s + 500K .......... .......... .......... .......... .......... 7% 70.8M 27s + 550K .......... .......... .......... .......... .......... 7% 238K 27s + 600K .......... .......... .......... .......... .......... 8% 1.92M 25s + 650K .......... .......... .......... .......... .......... 9% 35.6M 23s + 700K .......... .......... .......... .......... .......... 9% 245K 24s + 750K .......... .......... .......... .......... .......... 10% 4.05M 22s + 800K .......... .......... .......... .......... .......... 11% 2.06M 21s + 850K .......... .......... .......... .......... .......... 11% 5.50M 20s + 900K .......... .......... .......... .......... .......... 12% 257K 20s + 950K .......... .......... .......... .......... .......... 13% 7.91M 19s + 1000K .......... .......... .......... .......... .......... 13% 2.43M 18s + 1050K .......... .......... .......... .......... .......... 14% 3.62M 17s + 1100K .......... .......... .......... .......... .......... 14% 18.0M 16s + 1150K .......... .......... .......... .......... .......... 15% 254K 16s + 1200K .......... .......... .......... .......... .......... 16% 14.2M 16s + 1250K .......... .......... .......... .......... .......... 16% 5.86M 15s + 1300K .......... .......... .......... .......... .......... 17% 4.22M 14s + 1350K .......... .......... .......... .......... .......... 18% 2.98M 14s + 1400K .......... .......... .......... .......... .......... 18% 12.9M 13s + 1450K .......... .......... .......... .......... .......... 19% 254K 13s + 1500K .......... .......... .......... .......... .......... 20% 14.2M 13s + 1550K .......... .......... .......... .......... .......... 20% 33.8M 12s + 1600K .......... .......... .......... .......... .......... 21% 5.94M 12s + 1650K .......... .......... .......... .......... .......... 22% 5.50M 12s + 1700K .......... .......... .......... .......... .......... 22% 4.34M 11s + 1750K .......... .......... .......... .......... .......... 23% 4.67M 11s + 1800K .......... .......... .......... .......... .......... 24% 325K 11s + 1850K .......... .......... .......... .......... .......... 24% 1.26M 11s + 1900K .......... .......... .......... .......... .......... 25% 38.7M 10s + 1950K .......... .......... .......... .......... .......... 26% 44.4M 10s + 2000K .......... .......... .......... .......... .......... 26% 5.65M 10s + 2050K .......... .......... .......... .......... .......... 27% 5.81M 9s + 2100K .......... .......... .......... .......... .......... 28% 6.00M 9s + 2150K .......... .......... .......... .......... .......... 28% 8.38M 9s + 2200K .......... .......... .......... .......... .......... 29% 3.73M 9s + 2250K .......... .......... .......... .......... .......... 29% 320K 9s + 2300K .......... .......... .......... .......... .......... 30% 1.23M 9s + 2350K .......... .......... .......... .......... .......... 31% 34.2M 8s + 2400K .......... .......... .......... .......... .......... 31% 13.9M 8s + 2450K .......... .......... .......... .......... .......... 32% 105M 8s + 2500K .......... .......... .......... .......... .......... 33% 9.23M 8s + 2550K .......... .......... .......... .......... .......... 33% 2.33M 7s + 2600K .......... .......... .......... .......... .......... 34% 72.5M 7s + 2650K .......... .......... .......... .......... .......... 35% 8.12M 7s + 2700K .......... .......... .......... .......... .......... 35% 11.7M 7s + 2750K .......... .......... .......... .......... .......... 36% 5.52M 7s + 2800K .......... .......... .......... .......... .......... 37% 298K 7s + 2850K .......... .......... .......... .......... .......... 37% 28.0M 7s + 2900K .......... .......... .......... .......... .......... 38% 8.84M 6s + 2950K .......... .......... .......... .......... .......... 39% 7.49M 6s + 3000K .......... .......... .......... .......... .......... 39% 5.08M 6s + 3050K .......... .......... .......... .......... .......... 40% 8.32M 6s + 3100K .......... .......... .......... .......... .......... 41% 4.58M 6s + 3150K .......... .......... .......... .......... .......... 41% 8.34M 6s + 3200K .......... .......... .......... .......... .......... 42% 5.61M 5s + 3250K .......... .......... .......... .......... .......... 42% 6.51M 5s + 3300K .......... .......... .......... .......... .......... 43% 5.91M 5s + 3350K .......... .......... .......... .......... .......... 44% 4.07M 5s + 3400K .......... .......... .......... .......... .......... 44% 436K 5s + 3450K .......... .......... .......... .......... .......... 45% 2.29M 5s + 3500K .......... .......... .......... .......... .......... 46% 474K 5s + 3550K .......... .......... .......... .......... .......... 46% 14.6M 5s + 3600K .......... .......... .......... .......... .......... 47% 15.7M 5s + 3650K .......... .......... .......... .......... .......... 48% 184K 5s + 3700K .......... .......... .......... .......... .......... 48% 39.4M 5s + 3750K .......... .......... .......... .......... .......... 49% 1.90M 5s + 3800K .......... .......... .......... .......... .......... 50% 8.52M 5s + 3850K .......... .......... .......... .......... .......... 50% 71.9M 4s + 3900K .......... .......... .......... .......... .......... 51% 2.70M 4s + 3950K .......... .......... .......... .......... .......... 52% 31.1M 4s + 4000K .......... .......... .......... .......... .......... 52% 63.5M 4s + 4050K .......... .......... .......... .......... .......... 53% 2.46M 4s + 4100K .......... .......... .......... .......... .......... 54% 458K 4s + 4150K .......... .......... .......... .......... .......... 54% 3.32M 4s + 4200K .......... .......... .......... .......... .......... 55% 22.7M 4s + 4250K .......... .......... .......... .......... .......... 56% 16.4M 4s + 4300K .......... .......... .......... .......... .......... 56% 10.2M 4s + 4350K .......... .......... .......... .......... .......... 57% 58.6M 4s + 4400K .......... .......... .......... .......... .......... 57% 14.0M 3s + 4450K .......... .......... .......... .......... .......... 58% 19.0M 3s + 4500K .......... .......... .......... .......... .......... 59% 16.3M 3s + 4550K .......... .......... .......... .......... .......... 59% 29.8M 3s + 4600K .......... .......... .......... .......... .......... 60% 24.7M 3s + 4650K .......... .......... .......... .......... .......... 61% 16.1M 3s + 4700K .......... .......... .......... .......... .......... 61% 8.79M 3s + 4750K .......... .......... .......... .......... .......... 62% 48.7M 3s + 4800K .......... .......... .......... .......... .......... 63% 6.70M 3s + 4850K .......... .......... .......... .......... .......... 63% 28.1M 3s + 4900K .......... .......... .......... .......... .......... 64% 85.1M 3s + 4950K .......... .......... .......... .......... .......... 65% 130M 3s + 5000K .......... .......... .......... .......... .......... 65% 19.8M 3s + 5050K .......... .......... .......... .......... .......... 66% 49.7M 2s + 5100K .......... .......... .......... .......... .......... 67% 18.7M 2s + 5150K .......... .......... .......... .......... .......... 67% 1.40M 2s + 5200K .......... .......... .......... .......... .......... 68% 5.35M 2s + 5250K .......... .......... .......... .......... .......... 69% 4.82M 2s + 5300K .......... .......... .......... .......... .......... 69% 147K 2s + 5350K .......... .......... .......... .......... .......... 70% 4.24M 2s + 5400K .......... .......... .......... .......... .......... 70% 4.79M 2s + 5450K .......... .......... .......... .......... .......... 71% 11.5M 2s + 5500K .......... .......... .......... .......... .......... 72% 51.0M 2s + 5550K .......... .......... .......... .......... .......... 72% 17.4M 2s + 5600K .......... .......... .......... .......... .......... 73% 17.9M 2s + 5650K .......... .......... .......... .......... .......... 74% 25.1M 2s + 5700K .......... .......... .......... .......... .......... 74% 19.0M 2s + 5750K .......... .......... .......... .......... .......... 75% 7.62M 2s + 5800K .......... .......... .......... .......... .......... 76% 61.9M 2s + 5850K .......... .......... .......... .......... .......... 76% 18.5M 2s + 5900K .......... .......... .......... .......... .......... 77% 45.8M 2s + 5950K .......... .......... .......... .......... .......... 78% 60.4M 1s + 6000K .......... .......... .......... .......... .......... 78% 41.7M 1s + 6050K .......... .......... .......... .......... .......... 79% 17.1M 1s + 6100K .......... .......... .......... .......... .......... 80% 32.5M 1s + 6150K .......... .......... .......... .......... .......... 80% 32.9M 1s + 6200K .......... .......... .......... .......... .......... 81% 587K 1s + 6250K .......... .......... .......... .......... .......... 82% 2.14M 1s + 6300K .......... .......... .......... .......... .......... 82% 11.1M 1s + 6350K .......... .......... .......... .......... .......... 83% 8.50M 1s + 6400K .......... .......... .......... .......... .......... 84% 4.44M 1s + 6450K .......... .......... .......... .......... .......... 84% 1.08M 1s + 6500K .......... .......... .......... .......... .......... 85% 1.67M 1s + 6550K .......... .......... .......... .......... .......... 85% 3.01M 1s + 6600K .......... .......... .......... .......... .......... 86% 3.61M 1s + 6650K .......... .......... .......... .......... .......... 87% 471K 1s + 6700K .......... .......... .......... .......... .......... 87% 4.96M 1s + 6750K .......... .......... .......... .......... .......... 88% 11.7M 1s + 6800K .......... .......... .......... .......... .......... 89% 5.54M 1s + 6850K .......... .......... .......... .......... .......... 89% 1.39M 1s + 6900K .......... .......... .......... .......... .......... 90% 1.89M 1s + 6950K .......... .......... .......... .......... .......... 91% 1.80M 1s + 7000K .......... .......... .......... .......... .......... 91% 4.54M 1s + 7050K .......... .......... .......... .......... .......... 92% 510K 0s + 7100K .......... .......... .......... .......... .......... 93% 2.49M 0s + 7150K .......... .......... .......... .......... .......... 93% 5.39M 0s + 7200K .......... .......... .......... .......... .......... 94% 4.65M 0s + 7250K .......... .......... .......... .......... .......... 95% 2.58M 0s + 7300K .......... .......... .......... .......... .......... 95% 2.50M 0s + 7350K .......... .......... .......... .......... .......... 96% 1.26M 0s + 7400K .......... .......... .......... .......... .......... 97% 4.94M 0s + 7450K .......... .......... .......... .......... .......... 97% 595K 0s + 7500K .......... .......... .......... .......... .......... 98% 1.81M 0s + 7550K .......... .......... .......... .......... .......... 98% 2.40M 0s + 7600K .......... .......... .......... .......... .......... 99% 3.87M 0s + 7650K .......... .......... ....... 100% 19.7M=6.1s + +2018-12-25 10:25:47 (1.23 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:30:04-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:30:05-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 4% 67.4K 18s + 50K .......... .......... .......... .......... .......... 8% 124K 13s + 100K .......... .......... .......... .......... .......... 12% 216K 10s + 150K .......... .......... .......... .......... .......... 16% 222K 8s + 200K .......... .......... .......... .......... .......... 20% 773K 7s + 250K .......... .......... .......... .......... .......... 24% 224K 6s + 300K .......... .......... .......... .......... .......... 28% 307K 5s + 350K .......... .......... .......... .......... .......... 32% 676K 4s + 400K .......... .......... .......... .......... .......... 36% 285K 4s + 450K .......... .......... .......... .......... .......... 40% 1.29M 3s + 500K .......... .......... .......... .......... .......... 44% 3.27M 3s + 550K .......... .......... .......... .......... .......... 48% 304K 3s + 600K .......... .......... .......... .......... .......... 52% 872K 2s + 650K .......... .......... .......... .......... .......... 56% 5.84M 2s + 700K .......... .......... .......... .......... .......... 60% 352K 2s + 750K .......... .......... .......... .......... .......... 64% 957K 2s + 800K .......... .......... .......... .......... .......... 68% 1.63M 1s + 850K .......... .......... .......... .......... .......... 72% 2.44M 1s + 900K .......... .......... .......... .......... .......... 76% 336K 1s + 950K .......... .......... .......... .......... .......... 80% 1.50M 1s + 1000K .......... .......... .......... .......... .......... 84% 2.13M 1s + 1050K .......... .......... .......... .......... .......... 88% 4.68M 0s + 1100K .......... .......... .......... .......... .......... 92% 3.73M 0s + 1150K .......... .......... .......... .......... .......... 96% 352K 0s + 1200K .......... .......... .......... .......... ... 100% 2.96M=3.2s + +2018-12-25 10:30:09 (387 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + creating: 2101_insertion/ + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + creating: 2101_insertion/css/ + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + creating: 2101_insertion/img/ + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + creating: 2101_insertion/js/ + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + creating: 2101_insertion/webfonts/ + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +wget is already the newest version (1.17.1-1ubuntu1.4). +Suggested packages: + www-browser apache2-doc apache2-suexec-pristine | apache2-suexec-custom +The following NEW packages will be installed: + apache2 +0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded. +Need to get 86.6 kB of archives. +After this operation, 502 kB of additional disk space will be used. +Get:1 http://183.82.14.14:80/data/05e518c02e3b4124/archive.ubuntu.com/ubuntu xenial-updates/main amd64 apache2 amd64 2.4.18-2ubuntu3.9 [86.6 kB] +debconf: unable to initialize frontend: Dialog +debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.) +debconf: falling back to frontend: Readline +debconf: unable to initialize frontend: Readline +debconf: (This frontend requires a controlling tty.) +debconf: falling back to frontend: Teletype +dpkg-preconfigure: unable to re-open stdin: +Fetched 86.6 kB in 0s (187 kB/s) +Selecting previously unselected package apache2. +(Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 82844 files and directories currently installed.) +Preparing to unpack .../apache2_2.4.18-2ubuntu3.9_amd64.deb ... +Unpacking apache2 (2.4.18-2ubuntu3.9) ... +Processing triggers for man-db (2.7.5-1) ... +Processing triggers for systemd (229-4ubuntu21.10) ... +Processing triggers for ureadahead (0.100.0-19) ... +Processing triggers for ufw (0.35-0ubuntu2) ... +Setting up apache2 (2.4.18-2ubuntu3.9) ... +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:37:13-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:37:14-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 4% 72.9K 16s + 50K .......... .......... .......... .......... .......... 8% 220K 10s + 100K .......... .......... .......... .......... .......... 12% 215K 8s + 150K .......... .......... .......... .......... .......... 16% 245K 7s + 200K .......... .......... .......... .......... .......... 20% 2.38M 5s + 250K .......... .......... .......... .......... .......... 24% 221K 5s + 300K .......... .......... .......... .......... .......... 28% 26.9M 4s + 350K .......... .......... .......... .......... .......... 32% 228K 4s + 400K .......... .......... .......... .......... .......... 36% 8.09M 3s + 450K .......... .......... .......... .......... .......... 40% 231K 3s + 500K .......... .......... .......... .......... .......... 44% 6.46M 3s + 550K .......... .......... .......... .......... .......... 48% 4.87M 2s + 600K .......... .......... .......... .......... .......... 52% 243K 2s + 650K .......... .......... .......... .......... .......... 56% 3.15M 2s + 700K .......... .......... .......... .......... .......... 60% 4.74M 2s + 750K .......... .......... .......... .......... .......... 64% 229K 1s + 800K .......... .......... .......... .......... .......... 68% 7.20M 1s + 850K .......... .......... .......... .......... .......... 72% 81.0M 1s + 900K .......... .......... .......... .......... .......... 76% 103M 1s + 950K .......... .......... .......... .......... .......... 80% 275K 1s + 1000K .......... .......... .......... .......... .......... 84% 1.72M 1s + 1050K .......... .......... .......... .......... .......... 88% 7.67M 0s + 1100K .......... .......... .......... .......... .......... 92% 7.15M 0s + 1150K .......... .......... .......... .......... .......... 96% 4.39M 0s + 1200K .......... .......... .......... .......... ... 100% 256K=2.9s + +2018-12-25 10:37:18 (426 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +wget is already the newest version (1.17.1-1ubuntu1.4). +Suggested packages: + www-browser apache2-doc apache2-suexec-pristine | apache2-suexec-custom +The following NEW packages will be installed: + apache2 +0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded. +Need to get 86.6 kB of archives. +After this operation, 502 kB of additional disk space will be used. +Get:1 http://183.82.14.14:80/data/05e5a7c300c65db7/archive.ubuntu.com/ubuntu xenial-updates/main amd64 apache2 amd64 2.4.18-2ubuntu3.9 [86.6 kB] +debconf: unable to initialize frontend: Dialog +debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.) +debconf: falling back to frontend: Readline +debconf: unable to initialize frontend: Readline +debconf: (This frontend requires a controlling tty.) +debconf: falling back to frontend: Teletype +dpkg-preconfigure: unable to re-open stdin: +Fetched 86.6 kB in 0s (233 kB/s) +Selecting previously unselected package apache2. +(Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 82844 files and directories currently installed.) +Preparing to unpack .../apache2_2.4.18-2ubuntu3.9_amd64.deb ... +Unpacking apache2 (2.4.18-2ubuntu3.9) ... +Processing triggers for man-db (2.7.5-1) ... +Processing triggers for systemd (229-4ubuntu21.10) ... +Processing triggers for ureadahead (0.100.0-19) ... +Processing triggers for ufw (0.35-0ubuntu2) ... +Setting up apache2 (2.4.18-2ubuntu3.9) ... +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:41:04-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:41:05-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 4% 55.2K 22s + 50K .......... .......... .......... .......... .......... 8% 181K 14s + 100K .......... .......... .......... .......... .......... 12% 198K 10s + 150K .......... .......... .......... .......... .......... 16% 196K 9s + 200K .......... .......... .......... .......... .......... 20% 239K 8s + 250K .......... .......... .......... .......... .......... 24% 246K 7s + 300K .......... .......... .......... .......... .......... 28% 695K 6s + 350K .......... .......... .......... .......... .......... 32% 281K 5s + 400K .......... .......... .......... .......... .......... 36% 744K 4s + 450K .......... .......... .......... .......... .......... 40% 288K 4s + 500K .......... .......... .......... .......... .......... 44% 3.13M 3s + 550K .......... .......... .......... .......... .......... 48% 789K 3s + 600K .......... .......... .......... .......... .......... 52% 370K 3s + 650K .......... .......... .......... .......... .......... 56% 2.60M 2s + 700K .......... .......... .......... .......... .......... 60% 1000K 2s + 750K .......... .......... .......... .......... .......... 64% 1.61M 2s + 800K .......... .......... .......... .......... .......... 68% 369K 1s + 850K .......... .......... .......... .......... .......... 72% 1.63M 1s + 900K .......... .......... .......... .......... .......... 76% 2.94M 1s + 950K .......... .......... .......... .......... .......... 80% 1.06M 1s + 1000K .......... .......... .......... .......... .......... 84% 1.76M 1s + 1050K .......... .......... .......... .......... .......... 88% 422K 0s + 1100K .......... .......... .......... .......... .......... 92% 1.95M 0s + 1150K .......... .......... .......... .......... .......... 96% 2.90M 0s + 1200K .......... .......... .......... .......... ... 100% 1.99M=3.3s + +2018-12-25 10:41:09 (372 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +wget is already the newest version (1.17.1-1ubuntu1.4). +Suggested packages: + www-browser apache2-doc apache2-suexec-pristine | apache2-suexec-custom +The following NEW packages will be installed: + apache2 +0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded. +Need to get 86.6 kB of archives. +After this operation, 502 kB of additional disk space will be used. +Get:1 http://183.82.14.14:80/data/01e536cfe6bc34da/archive.ubuntu.com/ubuntu xenial-updates/main amd64 apache2 amd64 2.4.18-2ubuntu3.9 [86.6 kB] +debconf: unable to initialize frontend: Dialog +debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.) +debconf: falling back to frontend: Readline +debconf: unable to initialize frontend: Readline +debconf: (This frontend requires a controlling tty.) +debconf: falling back to frontend: Teletype +dpkg-preconfigure: unable to re-open stdin: +Fetched 86.6 kB in 0s (160 kB/s) +Selecting previously unselected package apache2. +(Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 82844 files and directories currently installed.) +Preparing to unpack .../apache2_2.4.18-2ubuntu3.9_amd64.deb ... +Unpacking apache2 (2.4.18-2ubuntu3.9) ... +Processing triggers for man-db (2.7.5-1) ... +Processing triggers for systemd (229-4ubuntu21.10) ... +Processing triggers for ureadahead (0.100.0-19) ... +Processing triggers for ufw (0.35-0ubuntu2) ... +Setting up apache2 (2.4.18-2ubuntu3.9) ... +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:54:11-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:54:12-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 70.5K 1m48s + 50K .......... .......... .......... .......... .......... 1% 110K 88s + 100K .......... .......... .......... .......... .......... 1% 228K 69s + 150K .......... .......... .......... .......... .......... 2% 237K 60s + 200K .......... .......... .......... .......... .......... 3% 261K 53s + 250K .......... .......... .......... .......... .......... 3% 1.04M 45s + 300K .......... .......... .......... .......... .......... 4% 268K 42s + 350K .......... .......... .......... .......... .......... 5% 1.01M 38s + 400K .......... .......... .......... .......... .......... 5% 246K 36s + 450K .......... .......... .......... .......... .......... 6% 1.77M 33s + 500K .......... .......... .......... .......... .......... 7% 304K 32s + 550K .......... .......... .......... .......... .......... 7% 949K 30s + 600K .......... .......... .......... .......... .......... 8% 3.79M 27s + 650K .......... .......... .......... .......... .......... 9% 303K 27s + 700K .......... .......... .......... .......... .......... 9% 944K 25s + 750K .......... .......... .......... .......... .......... 10% 2.46M 24s + 800K .......... .......... .......... .......... .......... 11% 306K 24s + 850K .......... .......... .......... .......... .......... 11% 2.86M 22s + 900K .......... .......... .......... .......... .......... 12% 848K 21s + 950K .......... .......... .......... .......... .......... 13% 24.6M 20s + 1000K .......... .......... .......... .......... .......... 13% 289K 20s + 1050K .......... .......... .......... .......... .......... 14% 59.2M 19s + 1100K .......... .......... .......... .......... .......... 14% 2.49M 18s + 1150K .......... .......... .......... .......... .......... 15% 1.82M 17s + 1200K .......... .......... .......... .......... .......... 16% 10.2M 17s + 1250K .......... .......... .......... .......... .......... 16% 284K 17s + 1300K .......... .......... .......... .......... .......... 17% 63.0M 16s + 1350K .......... .......... .......... .......... .......... 18% 3.86M 15s + 1400K .......... .......... .......... .......... .......... 18% 1.68M 15s + 1450K .......... .......... .......... .......... .......... 19% 5.79M 14s + 1500K .......... .......... .......... .......... .......... 20% 7.80M 14s + 1550K .......... .......... .......... .......... .......... 20% 310K 14s + 1600K .......... .......... .......... .......... .......... 21% 8.68M 13s + 1650K .......... .......... .......... .......... .......... 22% 135M 13s + 1700K .......... .......... .......... .......... .......... 22% 1.10M 12s + 1750K .......... .......... .......... .......... .......... 23% 5.91M 12s + 1800K .......... .......... .......... .......... .......... 24% 4.40M 12s + 1850K .......... .......... .......... .......... .......... 24% 87.7M 11s + 1900K .......... .......... .......... .......... .......... 25% 350K 11s + 1950K .......... .......... .......... .......... .......... 26% 3.30M 11s + 2000K .......... .......... .......... .......... .......... 26% 36.7M 11s + 2050K .......... .......... .......... .......... .......... 27% 2.18M 10s + 2100K .......... .......... .......... .......... .......... 28% 2.65M 10s + 2150K .......... .......... .......... .......... .......... 28% 2.49M 10s + 2200K .......... .......... .......... .......... .......... 29% 17.1M 9s + 2250K .......... .......... .......... .......... .......... 29% 9.66M 9s + 2300K .......... .......... .......... .......... .......... 30% 355K 9s + 2350K .......... .......... .......... .......... .......... 31% 2.69M 9s + 2400K .......... .......... .......... .......... .......... 31% 112M 9s + 2450K .......... .......... .......... .......... .......... 32% 7.13M 8s + 2500K .......... .......... .......... .......... .......... 33% 17.5M 8s + 2550K .......... .......... .......... .......... .......... 33% 3.91M 8s + 2600K .......... .......... .......... .......... .......... 34% 1.08M 8s + 2650K .......... .......... .......... .......... .......... 35% 7.26M 8s + 2700K .......... .......... .......... .......... .......... 35% 4.77M 7s + 2750K .......... .......... .......... .......... .......... 36% 198K 8s + 2800K .......... .......... .......... .......... .......... 37% 690K 8s + 2850K .......... .......... .......... .......... .......... 37% 3.89M 7s + 2900K .......... .......... .......... .......... .......... 38% 13.2M 7s + 2950K .......... .......... .......... .......... .......... 39% 69.1M 7s + 3000K .......... .......... .......... .......... .......... 39% 114M 7s + 3050K .......... .......... .......... .......... .......... 40% 63.3M 7s + 3100K .......... .......... .......... .......... .......... 41% 136M 6s + 3150K .......... .......... .......... .......... .......... 41% 92.3M 6s + 3200K .......... .......... .......... .......... .......... 42% 118M 6s + 3250K .......... .......... .......... .......... .......... 42% 88.6M 6s + 3300K .......... .......... .......... .......... .......... 43% 142M 6s + 3350K .......... .......... .......... .......... .......... 44% 90.0M 6s + 3400K .......... .......... .......... .......... .......... 44% 60.4M 6s + 3450K .......... .......... .......... .......... .......... 45% 4.91M 5s + 3500K .......... .......... .......... .......... .......... 46% 3.25M 5s + 3550K .......... .......... .......... .......... .......... 46% 1.66M 5s + 3600K .......... .......... .......... .......... .......... 47% 5.73M 5s + 3650K .......... .......... .......... .......... .......... 48% 1.27M 5s + 3700K .......... .......... .......... .......... .......... 48% 1.48M 5s + 3750K .......... .......... .......... .......... .......... 49% 2.66M 5s + 3800K .......... .......... .......... .......... .......... 50% 75.5M 5s + 3850K .......... .......... .......... .......... .......... 50% 747K 5s + 3900K .......... .......... .......... .......... .......... 51% 2.57M 4s + 3950K .......... .......... .......... .......... .......... 52% 1.46M 4s + 4000K .......... .......... .......... .......... .......... 52% 3.36M 4s + 4050K .......... .......... .......... .......... .......... 53% 10.3M 4s + 4100K .......... .......... .......... .......... .......... 54% 1.11M 4s + 4150K .......... .......... .......... .......... .......... 54% 1.22M 4s + 4200K .......... .......... .......... .......... .......... 55% 3.71M 4s + 4250K .......... .......... .......... .......... .......... 56% 2.87M 4s + 4300K .......... .......... .......... .......... .......... 56% 1.21M 4s + 4350K .......... .......... .......... .......... .......... 57% 1.33M 4s + 4400K .......... .......... .......... .......... .......... 57% 1.44M 4s + 4450K .......... .......... .......... .......... .......... 58% 113M 4s + 4500K .......... .......... .......... .......... .......... 59% 8.30M 3s + 4550K .......... .......... .......... .......... .......... 59% 941K 3s + 4600K .......... .......... .......... .......... .......... 60% 1.23M 3s + 4650K .......... .......... .......... .......... .......... 61% 2.80M 3s + 4700K .......... .......... .......... .......... .......... 61% 63.1M 3s + 4750K .......... .......... .......... .......... .......... 62% 1.36M 3s + 4800K .......... .......... .......... .......... .......... 63% 1.44M 3s + 4850K .......... .......... .......... .......... .......... 63% 1.13M 3s + 4900K .......... .......... .......... .......... .......... 64% 2.70M 3s + 4950K .......... .......... .......... .......... .......... 65% 74.5M 3s + 5000K .......... .......... .......... .......... .......... 65% 3.59M 3s + 5050K .......... .......... .......... .......... .......... 66% 806K 3s + 5100K .......... .......... .......... .......... .......... 67% 4.64M 3s + 5150K .......... .......... .......... .......... .......... 67% 5.64M 3s + 5200K .......... .......... .......... .......... .......... 68% 1.48M 3s + 5250K .......... .......... .......... .......... .......... 69% 1.53M 2s + 5300K .......... .......... .......... .......... .......... 69% 2.64M 2s + 5350K .......... .......... .......... .......... .......... 70% 1.43M 2s + 5400K .......... .......... .......... .......... .......... 70% 3.66M 2s + 5450K .......... .......... .......... .......... .......... 71% 3.36M 2s + 5500K .......... .......... .......... .......... .......... 72% 2.25M 2s + 5550K .......... .......... .......... .......... .......... 72% 914K 2s + 5600K .......... .......... .......... .......... .......... 73% 7.18M 2s + 5650K .......... .......... .......... .......... .......... 74% 4.01M 2s + 5700K .......... .......... .......... .......... .......... 74% 2.42M 2s + 5750K .......... .......... .......... .......... .......... 75% 1.45M 2s + 5800K .......... .......... .......... .......... .......... 76% 3.71M 2s + 5850K .......... .......... .......... .......... .......... 76% 1.38M 2s + 5900K .......... .......... .......... .......... .......... 77% 2.33M 2s + 5950K .......... .......... .......... .......... .......... 78% 4.13M 2s + 6000K .......... .......... .......... .......... .......... 78% 1.77M 2s + 6050K .......... .......... .......... .......... .......... 79% 1.08M 2s + 6100K .......... .......... .......... .......... .......... 80% 2.83M 1s + 6150K .......... .......... .......... .......... .......... 80% 6.35M 1s + 6200K .......... .......... .......... .......... .......... 81% 2.87M 1s + 6250K .......... .......... .......... .......... .......... 82% 1.49M 1s + 6300K .......... .......... .......... .......... .......... 82% 5.78M 1s + 6350K .......... .......... .......... .......... .......... 83% 1.33M 1s + 6400K .......... .......... .......... .......... .......... 84% 2.32M 1s + 6450K .......... .......... .......... .......... .......... 84% 2.43M 1s + 6500K .......... .......... .......... .......... .......... 85% 3.06M 1s + 6550K .......... .......... .......... .......... .......... 85% 1005K 1s + 6600K .......... .......... .......... .......... .......... 86% 1.08M 1s + 6650K .......... .......... .......... .......... .......... 87% 4.85M 1s + 6700K .......... .......... .......... .......... .......... 87% 10.0M 1s + 6750K .......... .......... .......... .......... .......... 88% 6.58M 1s + 6800K .......... .......... .......... .......... .......... 89% 4.88M 1s + 6850K .......... .......... .......... .......... .......... 89% 1.02M 1s + 6900K .......... .......... .......... .......... .......... 90% 2.55M 1s + 6950K .......... .......... .......... .......... .......... 91% 2.33M 1s + 7000K .......... .......... .......... .......... .......... 91% 6.99M 1s + 7050K .......... .......... .......... .......... .......... 92% 1.68M 1s + 7100K .......... .......... .......... .......... .......... 93% 365K 0s + 7150K .......... .......... .......... .......... .......... 93% 22.1M 0s + 7200K .......... .......... .......... .......... .......... 94% 45.8M 0s + 7250K .......... .......... .......... .......... .......... 95% 166K 0s + 7300K .......... .......... .......... .......... .......... 95% 4.18M 0s + 7350K .......... .......... .......... .......... .......... 96% 1.65M 0s + 7400K .......... .......... .......... .......... .......... 97% 6.67M 0s + 7450K .......... .......... .......... .......... .......... 97% 110M 0s + 7500K .......... .......... .......... .......... .......... 98% 72.1M 0s + 7550K .......... .......... .......... .......... .......... 98% 71.4M 0s + 7600K .......... .......... .......... .......... .......... 99% 92.6M 0s + 7650K .......... .......... ....... 100% 38.8M=6.7s + +2018-12-25 10:54:19 (1.11 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:59:24-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:59:25-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 52.5K 2m25s + 50K .......... .......... .......... .......... .......... 1% 160K 96s + 100K .......... .......... .......... .......... .......... 1% 206K 76s + 150K .......... .......... .......... .......... .......... 2% 170K 67s + 200K .......... .......... .......... .......... .......... 3% 239K 60s + 250K .......... .......... .......... .......... .......... 3% 275K 54s + 300K .......... .......... .......... .......... .......... 4% 591K 48s + 350K .......... .......... .......... .......... .......... 5% 275K 45s + 400K .......... .......... .......... .......... .......... 5% 236K 43s + 450K .......... .......... .......... .......... .......... 6% 1.16M 39s + 500K .......... .......... .......... .......... .......... 7% 962K 36s + 550K .......... .......... .......... .......... .......... 7% 286K 35s + 600K .......... .......... .......... .......... .......... 8% 843K 32s + 650K .......... .......... .......... .......... .......... 9% 1.19M 30s + 700K .......... .......... .......... .......... .......... 9% 381K 29s + 750K .......... .......... .......... .......... .......... 10% 792K 28s + 800K .......... .......... .......... .......... .......... 11% 1.10M 26s + 850K .......... .......... .......... .......... .......... 11% 429K 26s + 900K .......... .......... .......... .......... .......... 12% 1.54M 24s + 950K .......... .......... .......... .......... .......... 13% 1.10M 23s + 1000K .......... .......... .......... .......... .......... 13% 1.51M 22s + 1050K .......... .......... .......... .......... .......... 14% 1.93M 21s + 1100K .......... .......... .......... .......... .......... 14% 464K 21s + 1150K .......... .......... .......... .......... .......... 15% 1.60M 20s + 1200K .......... .......... .......... .......... .......... 16% 1.51M 19s + 1250K .......... .......... .......... .......... .......... 16% 1.09M 18s + 1300K .......... .......... .......... .......... .......... 17% 2.43M 18s + 1350K .......... .......... .......... .......... .......... 18% 785K 17s + 1400K .......... .......... .......... .......... .......... 18% 951K 17s + 1450K .......... .......... .......... .......... .......... 19% 1.62M 16s + 1500K .......... .......... .......... .......... .......... 20% 3.09M 16s + 1550K .......... .......... .......... .......... .......... 20% 1.34M 15s + 1600K .......... .......... .......... .......... .......... 21% 1.24M 15s + 1650K .......... .......... .......... .......... .......... 22% 3.13M 14s + 1700K .......... .......... .......... .......... .......... 22% 1.03M 14s + 1750K .......... .......... .......... .......... .......... 23% 1.06M 13s + 1800K .......... .......... .......... .......... .......... 24% 1.31M 13s + 1850K .......... .......... .......... .......... .......... 24% 1.83M 13s + 1900K .......... .......... .......... .......... .......... 25% 3.01M 12s + 1950K .......... .......... .......... .......... .......... 26% 5.17M 12s + 2000K .......... .......... .......... .......... .......... 26% 3.00M 12s + 2050K .......... .......... .......... .......... .......... 27% 1.31M 11s + 2100K .......... .......... .......... .......... .......... 28% 18.2M 11s + 2150K .......... .......... .......... .......... .......... 28% 1.11M 11s + 2200K .......... .......... .......... .......... .......... 29% 965K 10s + 2250K .......... .......... .......... .......... .......... 29% 1.51M 10s + 2300K .......... .......... .......... .......... .......... 30% 3.90M 10s + 2350K .......... .......... .......... .......... .......... 31% 1.83M 10s + 2400K .......... .......... .......... .......... .......... 31% 3.03M 9s + 2450K .......... .......... .......... .......... .......... 32% 2.54M 9s + 2500K .......... .......... .......... .......... .......... 33% 4.26M 9s + 2550K .......... .......... .......... .......... .......... 33% 3.87M 9s + 2600K .......... .......... .......... .......... .......... 34% 2.31M 9s + 2650K .......... .......... .......... .......... .......... 35% 3.21M 8s + 2700K .......... .......... .......... .......... .......... 35% 910K 8s + 2750K .......... .......... .......... .......... .......... 36% 1.71M 8s + 2800K .......... .......... .......... .......... .......... 37% 1.48M 8s + 2850K .......... .......... .......... .......... .......... 37% 4.54M 8s + 2900K .......... .......... .......... .......... .......... 38% 2.92M 7s + 2950K .......... .......... .......... .......... .......... 39% 1.61M 7s + 3000K .......... .......... .......... .......... .......... 39% 2.99M 7s + 3050K .......... .......... .......... .......... .......... 40% 11.1M 7s + 3100K .......... .......... .......... .......... .......... 41% 3.80M 7s + 3150K .......... .......... .......... .......... .......... 41% 3.08M 7s + 3200K .......... .......... .......... .......... .......... 42% 2.17M 6s + 3250K .......... .......... .......... .......... .......... 42% 2.98M 6s + 3300K .......... .......... .......... .......... .......... 43% 9.32M 6s + 3350K .......... .......... .......... .......... .......... 44% 1.64M 6s + 3400K .......... .......... .......... .......... .......... 44% 3.30M 6s + 3450K .......... .......... .......... .......... .......... 45% 1.61M 6s + 3500K .......... .......... .......... .......... .......... 46% 3.00M 6s + 3550K .......... .......... .......... .......... .......... 46% 1.29M 6s + 3600K .......... .......... .......... .......... .......... 47% 32.2M 5s + 3650K .......... .......... .......... .......... .......... 48% 65.8M 5s + 3700K .......... .......... .......... .......... .......... 48% 2.26M 5s + 3750K .......... .......... .......... .......... .......... 49% 4.47M 5s + 3800K .......... .......... .......... .......... .......... 50% 2.46M 5s + 3850K .......... .......... .......... .......... .......... 50% 9.58M 5s + 3900K .......... .......... .......... .......... .......... 51% 3.51M 5s + 3950K .......... .......... .......... .......... .......... 52% 2.71M 5s + 4000K .......... .......... .......... .......... .......... 52% 3.77M 4s + 4050K .......... .......... .......... .......... .......... 53% 2.84M 4s + 4100K .......... .......... .......... .......... .......... 54% 6.21M 4s + 4150K .......... .......... .......... .......... .......... 54% 3.62M 4s + 4200K .......... .......... .......... .......... .......... 55% 3.40M 4s + 4250K .......... .......... .......... .......... .......... 56% 4.69M 4s + 4300K .......... .......... .......... .......... .......... 56% 1.83M 4s + 4350K .......... .......... .......... .......... .......... 57% 3.82M 4s + 4400K .......... .......... .......... .......... .......... 57% 3.00M 4s + 4450K .......... .......... .......... .......... .......... 58% 9.02M 4s + 4500K .......... .......... .......... .......... .......... 59% 4.55M 4s + 4550K .......... .......... .......... .......... .......... 59% 2.63M 3s + 4600K .......... .......... .......... .......... .......... 60% 3.70M 3s + 4650K .......... .......... .......... .......... .......... 61% 4.13M 3s + 4700K .......... .......... .......... .......... .......... 61% 7.85M 3s + 4750K .......... .......... .......... .......... .......... 62% 2.21M 3s + 4800K .......... .......... .......... .......... .......... 63% 1.97M 3s + 4850K .......... .......... .......... .......... .......... 63% 10.2M 3s + 4900K .......... .......... .......... .......... .......... 64% 2.27M 3s + 4950K .......... .......... .......... .......... .......... 65% 17.5M 3s + 5000K .......... .......... .......... .......... .......... 65% 4.26M 3s + 5050K .......... .......... .......... .......... .......... 66% 3.54M 3s + 5100K .......... .......... .......... .......... .......... 67% 2.84M 3s + 5150K .......... .......... .......... .......... .......... 67% 7.01M 3s + 5200K .......... .......... .......... .......... .......... 68% 3.11M 2s + 5250K .......... .......... .......... .......... .......... 69% 3.04M 2s + 5300K .......... .......... .......... .......... .......... 69% 3.32M 2s + 5350K .......... .......... .......... .......... .......... 70% 2.95M 2s + 5400K .......... .......... .......... .......... .......... 70% 5.78M 2s + 5450K .......... .......... .......... .......... .......... 71% 4.19M 2s + 5500K .......... .......... .......... .......... .......... 72% 5.40M 2s + 5550K .......... .......... .......... .......... .......... 72% 2.20M 2s + 5600K .......... .......... .......... .......... .......... 73% 9.29M 2s + 5650K .......... .......... .......... .......... .......... 74% 3.73M 2s + 5700K .......... .......... .......... .......... .......... 74% 2.47M 2s + 5750K .......... .......... .......... .......... .......... 75% 6.47M 2s + 5800K .......... .......... .......... .......... .......... 76% 5.44M 2s + 5850K .......... .......... .......... .......... .......... 76% 3.34M 2s + 5900K .......... .......... .......... .......... .......... 77% 3.24M 2s + 5950K .......... .......... .......... .......... .......... 78% 4.82M 2s + 6000K .......... .......... .......... .......... .......... 78% 2.66M 1s + 6050K .......... .......... .......... .......... .......... 79% 5.53M 1s + 6100K .......... .......... .......... .......... .......... 80% 3.52M 1s + 6150K .......... .......... .......... .......... .......... 80% 3.97M 1s + 6200K .......... .......... .......... .......... .......... 81% 4.01M 1s + 6250K .......... .......... .......... .......... .......... 82% 3.27M 1s + 6300K .......... .......... .......... .......... .......... 82% 6.98M 1s + 6350K .......... .......... .......... .......... .......... 83% 3.95M 1s + 6400K .......... .......... .......... .......... .......... 84% 2.66M 1s + 6450K .......... .......... .......... .......... .......... 84% 4.78M 1s + 6500K .......... .......... .......... .......... .......... 85% 3.19M 1s + 6550K .......... .......... .......... .......... .......... 85% 4.78M 1s + 6600K .......... .......... .......... .......... .......... 86% 3.01M 1s + 6650K .......... .......... .......... .......... .......... 87% 2.35M 1s + 6700K .......... .......... .......... .......... .......... 87% 130M 1s + 6750K .......... .......... .......... .......... .......... 88% 2.86M 1s + 6800K .......... .......... .......... .......... .......... 89% 6.38M 1s + 6850K .......... .......... .......... .......... .......... 89% 3.26M 1s + 6900K .......... .......... .......... .......... .......... 90% 5.56M 1s + 6950K .......... .......... .......... .......... .......... 91% 178K 1s + 7000K .......... .......... .......... .......... .......... 91% 79.4M 1s + 7050K .......... .......... .......... .......... .......... 92% 48.5M 0s + 7100K .......... .......... .......... .......... .......... 93% 4.86M 0s + 7150K .......... .......... .......... .......... .......... 93% 97.7M 0s + 7200K .......... .......... .......... .......... .......... 94% 3.74M 0s + 7250K .......... .......... .......... .......... .......... 95% 122M 0s + 7300K .......... .......... .......... .......... .......... 95% 142M 0s + 7350K .......... .......... .......... .......... .......... 96% 755K 0s + 7400K .......... .......... .......... .......... .......... 97% 16.2M 0s + 7450K .......... .......... .......... .......... .......... 97% 8.25M 0s + 7500K .......... .......... .......... .......... .......... 98% 3.24M 0s + 7550K .......... .......... .......... .......... .......... 98% 94.3M 0s + 7600K .......... .......... .......... .......... .......... 99% 57.4M 0s + 7650K .......... .......... ....... 100% 148M=6.2s + +2018-12-25 10:59:32 (1.21 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ +################################################ +################################################ +nohup: ignoring input +Checking connection for all the machines from webnodeIP.txt file +######################################################################## +# Running Websetup on 192.168.5.3.# +######################################################################## +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Resolving Dependencies +--> Running transaction check +---> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed +---> Package unzip.x86_64 0:6.0-19.el7 will be installed +---> Package wget.x86_64 0:1.14-18.el7 will be installed +--> Finished Dependency Resolution + +Dependencies Resolved + +================================================================================ + Package Arch Version Repository Size +================================================================================ +Installing: + httpd x86_64 2.4.6-88.el7.centos base 2.7 M + unzip x86_64 6.0-19.el7 base 170 k + wget x86_64 1.14-18.el7 base 547 k + +Transaction Summary +================================================================================ +Install 3 Packages + +Total download size: 3.4 M +Installed size: 12 M +Downloading packages: +-------------------------------------------------------------------------------- +Total 317 kB/s | 3.4 MB 00:11 +Running transaction check +Running transaction test +Transaction test succeeded +Running transaction + Installing : wget-1.14-18.el7.x86_64 1/3 + Installing : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Installing : unzip-6.0-19.el7.x86_64 3/3 + Verifying : unzip-6.0-19.el7.x86_64 1/3 + Verifying : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Verifying : wget-1.14-18.el7.x86_64 3/3################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages + + +Installed: + httpd.x86_64 0:2.4.6-88.el7.centos unzip.x86_64 0:6.0-19.el7 + wget.x86_64 0:1.14-18.el7 + +Complete! +################################################################ + + +Starting and Enabling Service +Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. +Loaded plugins: fastestmirror +################################################################ + + +Copying website data +--2018-12-25 10:40:24-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... Loading mirror speeds from cached hostfile +connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:40:25-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service + + 0K .......... ......################################################################ + + +Copying website data +--2018-12-25 10:40:26-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... .... .......... ..connected. +........ .......... 4% 54.5K 22s + 50K .......... .......... ..........HTTP request sent, awaiting response... .......... .......... 8% 189K 14s + 100K .......... .......... .......... .......... .......... 12% 212K 10s + 150K .......... .......... ......302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:40:27-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... .... .......... .......... 16% 272K 8s + 200K .......... .......... .......... .......... .......... 20% 874K 7s + 250K ......connected. +.... .......... .......... .......... .......... 24% 241K 6s + 300K .......... .......... .......... .......... .......... 28% 70.9M 5s + 350K .......... .......... .......... .......... .......... 32% 221K 4s + 400K .......... .......... .......... .......... .......... 36% 84.6M 4s + 450K .......... .......... .......... .......... ......HTTP request sent, awaiting response... .... 40% 878K 3s + 500K .......... .......... .......... .......... .......... 44% 281K 3s + 550K .......... .......... .......... .......... .......... 48% 47.0M 2s + 600K .......... .......... .......... .......... .......... 52% 1.50M 2s + 650K .......... .......... ..200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ +........ .......... .......... 56% 1.89M 2s + 700K .......... .......... .......... .......... .......... 60% 242K 2s + 750K .......... .......... .......... .......... .......... 64% 106M 1s + 800K .......... .......... .......... .......... .......... 68% 13.8M 1s + 850K .......... .......... .......... .......... .......... 72% 109M 1s + 900K .......... .. + 0K .......... .............. .......... .......... .......... 76% 2.58M 1s + 950K .......... .......... .......... .......... .......... 80% 280K 1s + 1000K .......... .......... .......... .......... .......... 84% 55.3M 1s + 1050K .......... .......... .......... .......... .......... 88% 65.1M 0s + 1100K .......... .......... .......... .......... .......... 92% 3.51M 0s + 1150K .......... .......... .......... ........ .......... ........ .......... 96% 2.72M 0s + 1200K .......... .......... .......... .......... ... 100% 1.96M=2.9s + +2018-12-25 10:40:28 (436 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + creating: 2101_insertion/ + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + creating: 2101_insertion/css/ + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + creating: 2101_insertion/img/ + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + creating: 2101_insertion/js/ + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + creating: 2101_insertion/webfonts/ + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt + + +Restarting Service +........ .......... 4% 54.5K 22s + 50K .......... .......... .......... .......... .......... 8% 220K 13s + 100K .......... .......... .......... .......... .......... 12% 210K 10s + 150K .......... .......... .......... .......... .......... 16% 232K 8s + 200K .......... .......... .......... .......... .......... 20% 245K 7s + 250K .......... .......... .......... .......... .......... 24% 3.40M 6s + 300K ....################################################################ +...... .......... .......... .......... .......... 28% 214K 5s + 350K .......... .......... .......... .......... .......... 32% 218K 5s + 400K .......... .......... .......... .......... .......... 36% 11.5M 4s + 450K .......... .......... .......... .......... .......... 40% 248K 4s + 500K .......... .......... .......... .......... .......... 44% 2.12M 3s + 550K .......... .......... .......... .......... .......... 48% 64.4M 3s + 600K .......... .......... .......... .......... .......... 52% 221K 2s + 650K .......... .......... .......... .......... .......... 56% 21.7M 2s + 700K .......... .......... .......... .......... .......... 60% 117M 2s + 750K .......... .......... .......... .......... .......... 64% 30.7M 2s + 800K .......... .......... .......... .......... .......... 68% 223K 1s + 850K .......... .......... .......... .......... .......... 72% 9.68M 1s + 900K .......... .......... .......... .......... .......... 76% 69.6M 1s + 950K .......... .......... .......... .......... .......... 80% 67.8M 1s + 1000K .......... .......... .......... .......... .......... 84% 256K 1s + 1050K .......... .......... .......... .......... .......... 88% 1.93M 0s + 1100K .......... .......... .......... .......... .......... 92% 119M 0s + 1150K .......... .......... .......... .......... .......... 96% 64.6M 0s + 1200K .......... .......... .......... .......... ... 100% 114M=3.2s + +2018-12-25 10:40:31 (389 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Resolving Dependencies +--> Running transaction check +---> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed +---> Package unzip.x86_64 0:6.0-19.el7 will be installed +---> Package wget.x86_64 0:1.14-18.el7 will be installed +--> Finished Dependency Resolution + +Dependencies Resolved + +================================================================================ + Package Arch Version Repository Size +================================================================================ +Installing: + httpd x86_64 2.4.6-88.el7.centos base 2.7 M + unzip x86_64 6.0-19.el7 base 170 k + wget x86_64 1.14-18.el7 base 547 k + +Transaction Summary +================================================================================ +Install 3 Packages + +Total download size: 3.4 M +Installed size: 12 M +Downloading packages: +-------------------------------------------------------------------------------- +Total 337 kB/s | 3.4 MB 00:10 +Running transaction check +Running transaction test +Transaction test succeeded +Running transaction + Installing : wget-1.14-18.el7.x86_64 1/3 + Installing : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Installing : unzip-6.0-19.el7.x86_64 3/3 + Verifying : unzip-6.0-19.el7.x86_64 1/3 + Verifying : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Verifying : wget-1.14-18.el7.x86_64 3/3 + +Installed: + httpd.x86_64 0:2.4.6-88.el7.centos unzip.x86_64 0:6.0-19.el7 + wget.x86_64 0:1.14-18.el7 + +Complete! +################################################################ + + +Starting and Enabling Service +Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. +################################################################ + + +Copying website data +--2018-12-25 10:53:15-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:53:16-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 32.8K 3m53s + 50K .......... .......... .......... .......... .......... 1% 54.8K 3m5s + 100K .......... .......... .......... .......... .......... 1% 62.9K 2m42s + 150K .......... .......... .......... .......... .......... 2% 72.4K 2m27s + 200K .......... .......... .......... .......... .......... 3% 207K 2m4s + 250K .......... .......... .......... .......... .......... 3% 210K 1m48s + 300K .......... .......... .......... .......... .......... 4% 210K 97s + 350K .......... .......... .......... .......... .......... 5% 206K 89s + 400K .......... .......... .......... .......... .......... 5% 210K 82s + 450K .......... .......... .......... .......... .......... 6% 211K 77s + 500K .......... .......... .......... .......... .......... 7% 20.2M 69s + 550K .......... .......... .......... .......... .......... 7% 209K 66s + 600K .......... .......... .......... .......... .......... 8% 43.4M 61s + 650K .......... .......... .......... .......... .......... 9% 208K 58s + 700K .......... .......... .......... .......... .......... 9% 25.6M 54s + 750K .......... .......... .......... .......... .......... 10% 206K 52s + 800K .......... .......... .......... .......... .......... 11% 60.1M 49s + 850K .......... .......... .......... .......... .......... 11% 288K 47s + 900K .......... .......... .......... .......... .......... 12% 1.06M 45s + 950K .......... .......... .......... .......... .......... 13% 2.77M 42s + 1000K .......... .......... .......... .......... .......... 13% 57.6M 40s + 1050K .......... .......... .......... .......... .......... 14% 230K 39s + 1100K .......... .......... .......... .......... .......... 14% 1.65M 37s + 1150K .......... .......... .......... .......... .......... 15% 76.7M 35s + 1200K .......... .......... .......... .......... .......... 16% 927K 34s + 1250K .......... .......... .......... .......... .......... 16% 340K 33s + 1300K .......... .......... .......... .......... .......... 17% 1.45M 32s + 1350K .......... .......... .......... .......... .......... 18% 2.17M 31s + 1400K .......... .......... .......... .......... .......... 18% 26.6M 29s + 1450K .......... .......... .......... .......... .......... 19% 127K 30s + 1500K .......... .......... .......... .......... .......... 20% 5.66M 29s + 1550K .......... .......... .......... .......... .......... 20% 64.1M 27s + 1600K .......... .......... .......... .......... .......... 21% 93.3M 26s + 1650K .......... .......... .......... .......... .......... 22% 62.7M 25s + 1700K .......... .......... .......... .......... .......... 22% 64.5M 25s + 1750K .......... .......... .......... .......... .......... 23% 109M 24s + 1800K .......... .......... .......... .......... .......... 24% 1.25M 23s + 1850K .......... .......... .......... .......... .......... 24% 1.13M 22s + 1900K .......... .......... .......... .......... .......... 25% 3.79M 22s + 1950K .......... .......... .......... .......... .......... 26% 504K 21s + 2000K .......... .......... .......... .......... .......... 26% 641K 21s + 2050K .......... .......... .......... .......... .......... 27% 853K 20s + 2100K .......... .......... .......... .......... .......... 28% 4.42M 19s + 2150K .......... .......... .......... .......... .......... 28% 528K 19s + 2200K .......... .......... .......... .......... .......... 29% 822K 19s + 2250K .......... .......... .......... .......... .......... 29% 1.64M 18s + 2300K .......... .......... .......... .......... .......... 30% 913K 18s + 2350K .......... .......... .......... .......... .......... 31% 26.6M 17s + 2400K .......... .......... .......... .......... .......... 31% 412K 17s + 2450K .......... .......... .......... .......... .......... 32% 1.25M 17s + 2500K .......... .......... .......... .......... .......... 33% 786K 16s + 2550K .......... .......... .......... .......... .......... 33% 6.16M 16s + 2600K .......... .......... .......... .......... .......... 34% 558K 15s + 2650K .......... .......... .......... .......... .......... 35% 827K 15s + 2700K .......... .......... .......... .......... .......... 35% 2.09M 15s + 2750K .......... .......... .......... .......... .......... 36% 969K 14s + 2800K .......... .......... .......... .......... .......... 37% 3.30M 14s + 2850K .......... .......... .......... .......... .......... 37% 544K 14s + 2900K .......... .......... .......... .......... .......... 38% 755K 14s + 2950K .......... .......... .......... .......... .......... 39% 1.86M 13s + 3000K .......... .......... .......... .......... .......... 39% 1.04M 13s + 3050K .......... .......... .......... .......... .......... 40% 16.6M 13s + 3100K .......... .......... .......... .......... .......... 41% 669K 12s + 3150K .......... .......... .......... .......... .......... 41% 650K 12s + 3200K .......... .......... .......... .......... .......... 42% 1.53M 12s + 3250K .......... .......... .......... .......... .......... 42% 1.07M 12s + 3300K .......... .......... .......... .......... .......... 43% 8.02M 11s + 3350K .......... .......... .......... .......... .......... 44% 672K 11s + 3400K .......... .......... .......... .......... .......... 44% 631K 11s + 3450K .......... .......... .......... .......... .......... 45% 1.78M 11s + 3500K .......... .......... .......... .......... .......... 46% 1005K 10s + 3550K .......... .......... .......... .......... .......... 46% 11.5M 10s + 3600K .......... .......... .......... .......... .......... 47% 684K 10s + 3650K .......... .......... .......... .......... .......... 48% 423K 10s + 3700K .......... .......... .......... .......... .......... 48% 414K 10s + 3750K .......... .......... .......... .......... .......... 49% 247K 10s + 3800K .......... .......... .......... .......... .......... 50% 940K 10s + 3850K .......... .......... .......... .......... .......... 50% 8.21M 9s + 3900K .......... .......... .......... .......... .......... 51% 36.6M 9s + 3950K .......... .......... .......... .......... .......... 52% 95.1M 9s + 4000K .......... .......... .......... .......... .......... 52% 26.3M 9s + 4050K .......... .......... .......... .......... .......... 53% 46.8M 8s + 4100K .......... .......... .......... .......... .......... 54% 28.8M 8s + 4150K .......... .......... .......... .......... .......... 54% 25.4M 8s + 4200K .......... .......... .......... .......... .......... 55% 1.55M 8s + 4250K .......... .......... .......... .......... .......... 56% 1.03M 8s + 4300K .......... .......... .......... .......... .......... 56% 1.29M 7s + 4350K .......... .......... .......... .......... .......... 57% 2.78M 7s + 4400K .......... .......... .......... .......... .......... 57% 909K 7s + 4450K .......... .......... .......... .......... .......... 58% 1.46M 7s + 4500K .......... .......... .......... .......... .......... 59% 612K 7s + 4550K .......... .......... .......... .......... .......... 59% 4.12M 7s + 4600K .......... .......... .......... .......... .......... 60% 1.39M 6s + 4650K .......... .......... .......... .......... .......... 61% 2.11M 6s + 4700K .......... .......... .......... .......... .......... 61% 934K 6s + 4750K .......... .......... .......... .......... .......... 62% 700K 6s + 4800K .......... .......... .......... .......... .......... 63% 1.11M 6s + 4850K .......... .......... .......... .......... .......... 63% 1.20M 6s + 4900K .......... .......... .......... .......... .......... 64% 2.64M 6s + 4950K .......... .......... .......... .......... .......... 65% 1.74M 5s + 5000K .......... .......... .......... .......... .......... 65% 915K 5s + 5050K .......... .......... .......... .......... .......... 66% 890K 5s + 5100K .......... .......... .......... .......... .......... 67% 893K 5s + 5150K .......... .......... .......... .......... .......... 67% 2.24M 5s + 5200K .......... .......... .......... .......... .......... 68% 1.45M 5s + 5250K .......... .......... .......... .......... .......... 69% 1.30M 5s + 5300K .......... .......... .......... .......... .......... 69% 1.52M 5s + 5350K .......... .......... .......... .......... .......... 70% 579K 4s + 5400K .......... .......... .......... .......... .......... 70% 2.83M 4s + 5450K .......... .......... .......... .......... .......... 71% 1.53M 4s + 5500K .......... .......... .......... .......... .......... 72% 2.13M 4s + 5550K .......... .......... .......... .......... .......... 72% 1.05M 4s + 5600K .......... .......... .......... .......... .......... 73% 662K 4s + 5650K .......... .......... .......... .......... .......... 74% 1.14M 4s + 5700K .......... .......... .......... .......... .......... 74% 1.35M 4s + 5750K .......... .......... .......... .......... .......... 75% 3.14M 4s + 5800K .......... .......... .......... .......... .......... 76% 2.24M 3s + 5850K .......... .......... .......... .......... .......... 76% 966K 3s + 5900K .......... .......... .......... .......... .......... 77% 789K 3s + 5950K .......... .......... .......... .......... .......... 78% 1.07M 3s + 6000K .......... .......... .......... .......... .......... 78% 1.19M 3s + 6050K .......... .......... .......... .......... .......... 79% 2.15M 3s + 6100K .......... .......... .......... .......... .......... 80% 1.79M 3s + 6150K .......... .......... .......... .......... .......... 80% 1000K 3s + 6200K .......... .......... .......... .......... .......... 81% 978K 3s + 6250K .......... .......... .......... .......... .......... 82% 978K 2s + 6300K .......... .......... .......... .......... .......... 82% 1.52M 2s + 6350K .......... .......... .......... .......... .......... 83% 1.82M 2s + 6400K .......... .......... .......... .......... .......... 84% 1.28M 2s + 6450K .......... .......... .......... .......... .......... 84% 1.35M 2s + 6500K .......... .......... .......... .......... .......... 85% 541K 2s + 6550K .......... .......... .......... .......... .......... 85% 3.42M 2s + 6600K .......... .......... .......... .......... .......... 86% 1.80M 2s + 6650K .......... .......... .......... .......... .......... 87% 1.56M 2s + 6700K .......... .......... .......... .......... .......... 87% 1.43M 2s + 6750K .......... .......... .......... .......... .......... 88% 1.25M 2s + 6800K .......... .......... .......... .......... .......... 89% 551K 1s + 6850K .......... .......... .......... .......... .......... 89% 4.14M 1s + 6900K .......... .......... .......... .......... .......... 90% 1.59M 1s + 6950K .......... .......... .......... .......... .......... 91% 1.54M 1s + 7000K .......... .......... .......... .......... .......... 91% 1.04M 1s + 7050K .......... .......... .......... .......... .......... 92% 813K 1s + 7100K .......... .......... .......... .......... .......... 93% 977K 1s + 7150K .......... .......... .......... .......... .......... 93% 3.60M 1s + 7200K .......... .......... .......... .......... .......... 94% 1.30M 1s + 7250K .......... .......... .......... .......... .......... 95% 1.98M 1s + 7300K .......... .......... .......... .......... .......... 95% 1.10M 1s + 7350K .......... .......... .......... .......... .......... 96% 748K 0s + 7400K .......... .......... .......... .......... .......... 97% 924K 0s + 7450K .......... .......... .......... .......... .......... 97% 1.84M 0s + 7500K .......... .......... .......... .......... .......... 98% 3.35M 0s + 7550K .......... .......... .......... .......... .......... 98% 1.42M 0s + 7600K .......... .......... .......... .......... .......... 99% 875K 0s + 7650K .......... .......... ....... 100% 18.2M=12s + +2018-12-25 10:53:29 (620 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + creating: 2112_brunch/ + inflating: 2112_brunch/contact-page.html + creating: 2112_brunch/css/ + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + creating: 2112_brunch/css/fonts/ + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + creating: 2112_brunch/fonts/ + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + creating: 2112_brunch/img/ + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + creating: 2112_brunch/js/ + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + creating: 2112_brunch/js/vendor/ + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + creating: 2112_brunch/videos/ + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 10:58:51-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:58:53-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 56.3K 2m15s + 50K .......... .......... .......... .......... .......... 1% 190K 87s + 100K .......... .......... .......... .......... .......... 1% 119K 79s + 150K .......... .......... .......... .......... .......... 2% 209K 68s + 200K .......... .......... .......... .......... .......... 3% 236K 60s + 250K .......... .......... .......... .......... .......... 3% 2.70M 50s + 300K .......... .......... .......... .......... .......... 4% 232K 47s + 350K .......... .......... .......... .......... .......... 5% 2.17M 41s + 400K .......... .......... .......... .......... .......... 5% 257K 40s + 450K .......... .......... .......... .......... .......... 6% 1.25M 36s + 500K .......... .......... .......... .......... .......... 7% 242K 35s + 550K .......... .......... .......... .......... .......... 7% 32.1M 32s + 600K .......... .......... .......... .......... .......... 8% 5.74M 30s + 650K .......... .......... .......... .......... .......... 9% 219K 29s + 700K .......... .......... .......... .......... .......... 9% 33.9M 27s + 750K .......... .......... .......... .......... .......... 10% 64.2M 25s + 800K .......... .......... .......... .......... .......... 11% 286K 25s + 850K .......... .......... .......... .......... .......... 11% 1.14M 24s + 900K .......... .......... .......... .......... .......... 12% 4.37M 23s + 950K .......... .......... .......... .......... .......... 13% 60.6M 21s + 1000K .......... .......... .......... .......... .......... 13% 102M 20s + 1050K .......... .......... .......... .......... .......... 14% 258K 20s + 1100K .......... .......... .......... .......... .......... 14% 2.10M 19s + 1150K .......... .......... .......... .......... .......... 15% 21.3M 18s + 1200K .......... .......... .......... .......... .......... 16% 3.83M 18s + 1250K .......... .......... .......... .......... .......... 16% 8.81M 17s + 1300K .......... .......... .......... .......... .......... 17% 284K 17s + 1350K .......... .......... .......... .......... .......... 18% 1.90M 16s + 1400K .......... .......... .......... .......... .......... 18% 10.9M 16s + 1450K .......... .......... .......... .......... .......... 19% 2.08M 15s + 1500K .......... .......... .......... .......... .......... 20% 35.8M 14s + 1550K .......... .......... .......... .......... .......... 20% 13.7M 14s + 1600K .......... .......... .......... .......... .......... 21% 269K 14s + 1650K .......... .......... .......... .......... .......... 22% 2.58M 14s + 1700K .......... .......... .......... .......... .......... 22% 4.07M 13s + 1750K .......... .......... .......... .......... .......... 23% 2.10M 13s + 1800K .......... .......... .......... .......... .......... 24% 48.7M 12s + 1850K .......... .......... .......... .......... .......... 24% 95.7M 12s + 1900K .......... .......... .......... .......... .......... 25% 13.5M 11s + 1950K .......... .......... .......... .......... .......... 26% 51.1M 11s + 2000K .......... .......... .......... .......... .......... 26% 285K 11s + 2050K .......... .......... .......... .......... .......... 27% 2.31M 11s + 2100K .......... .......... .......... .......... .......... 28% 99.6M 11s + 2150K .......... .......... .......... .......... .......... 28% 60.1M 10s + 2200K .......... .......... .......... .......... .......... 29% 2.23M 10s + 2250K .......... .......... .......... .......... .......... 29% 2.33M 10s + 2300K .......... .......... .......... .......... .......... 30% 34.5M 9s + 2350K .......... .......... .......... .......... .......... 31% 45.0M 9s + 2400K .......... .......... .......... .......... .......... 31% 398K 9s + 2450K .......... .......... .......... .......... .......... 32% 3.27M 9s + 2500K .......... .......... .......... .......... .......... 33% 109M 9s + 2550K .......... .......... .......... .......... .......... 33% 1.84M 8s + 2600K .......... .......... .......... .......... .......... 34% 2.26M 8s + 2650K .......... .......... .......... .......... .......... 35% 8.19M 8s + 2700K .......... .......... .......... .......... .......... 35% 5.65M 8s + 2750K .......... .......... .......... .......... .......... 36% 60.0M 8s + 2800K .......... .......... .......... .......... .......... 37% 1.71M 7s + 2850K .......... .......... .......... .......... .......... 37% 8.25M 7s + 2900K .......... .......... .......... .......... .......... 38% 106M 7s + 2950K .......... .......... .......... .......... .......... 39% 388K 7s + 3000K .......... .......... .......... .......... .......... 39% 6.18M 7s + 3050K .......... .......... .......... .......... .......... 40% 63.3M 7s + 3100K .......... .......... .......... .......... .......... 41% 3.64M 7s + 3150K .......... .......... .......... .......... .......... 41% 3.08M 6s + 3200K .......... .......... .......... .......... .......... 42% 1.87M 6s + 3250K .......... .......... .......... .......... .......... 42% 3.25M 6s + 3300K .......... .......... .......... .......... .......... 43% 15.0M 6s + 3350K .......... .......... .......... .......... .......... 44% 61.2M 6s + 3400K .......... .......... .......... .......... .......... 44% 5.37M 6s + 3450K .......... .......... .......... .......... .......... 45% 3.23M 6s + 3500K .......... .......... .......... .......... .......... 46% 106M 5s + 3550K .......... .......... .......... .......... .......... 46% 64.5M 5s + 3600K .......... .......... .......... .......... .......... 47% 456K 5s + 3650K .......... .......... .......... .......... .......... 48% 3.21M 5s + 3700K .......... .......... .......... .......... .......... 48% 9.14M 5s + 3750K .......... .......... .......... .......... .......... 49% 8.24M 5s + 3800K .......... .......... .......... .......... .......... 50% 1.91M 5s + 3850K .......... .......... .......... .......... .......... 50% 3.57M 5s + 3900K .......... .......... .......... .......... .......... 51% 32.5M 5s + 3950K .......... .......... .......... .......... .......... 52% 109M 4s + 4000K .......... .......... .......... .......... .......... 52% 1.94M 4s + 4050K .......... .......... .......... .......... .......... 53% 3.05M 4s + 4100K .......... .......... .......... .......... .......... 54% 12.3M 4s + 4150K .......... .......... .......... .......... .......... 54% 10.1M 4s + 4200K .......... .......... .......... .......... .......... 55% 12.7M 4s + 4250K .......... .......... .......... .......... .......... 56% 2.81M 4s + 4300K .......... .......... .......... .......... .......... 56% 27.3M 4s + 4350K .......... .......... .......... .......... .......... 57% 47.7M 4s + 4400K .......... .......... .......... .......... .......... 57% 599K 4s + 4450K .......... .......... .......... .......... .......... 58% 3.76M 4s + 4500K .......... .......... .......... .......... .......... 59% 2.91M 3s + 4550K .......... .......... .......... .......... .......... 59% 8.45M 3s + 4600K .......... .......... .......... .......... .......... 60% 8.49M 3s + 4650K .......... .......... .......... .......... .......... 61% 5.00M 3s + 4700K .......... .......... .......... .......... .......... 61% 3.35M 3s + 4750K .......... .......... .......... .......... .......... 62% 4.57M 3s + 4800K .......... .......... .......... .......... .......... 63% 3.83M 3s + 4850K .......... .......... .......... .......... .......... 63% 6.31M 3s + 4900K .......... .......... .......... .......... .......... 64% 108M 3s + 4950K .......... .......... .......... .......... .......... 65% 4.94M 3s + 5000K .......... .......... .......... .......... .......... 65% 2.93M 3s + 5050K .......... .......... .......... .......... .......... 66% 29.5M 3s + 5100K .......... .......... .......... .......... .......... 67% 2.96M 3s + 5150K .......... .......... .......... .......... .......... 67% 8.58M 2s + 5200K .......... .......... .......... .......... .......... 68% 12.2M 2s + 5250K .......... .......... .......... .......... .......... 69% 2.41M 2s + 5300K .......... .......... .......... .......... .......... 69% 111M 2s + 5350K .......... .......... .......... .......... .......... 70% 1.64M 2s + 5400K .......... .......... .......... .......... .......... 70% 1.21M 2s + 5450K .......... .......... .......... .......... .......... 71% 2.95M 2s + 5500K .......... .......... .......... .......... .......... 72% 3.35M 2s + 5550K .......... .......... .......... .......... .......... 72% 1.79M 2s + 5600K .......... .......... .......... .......... .......... 73% 5.52M 2s + 5650K .......... .......... .......... .......... .......... 74% 6.18M 2s + 5700K .......... .......... .......... .......... .......... 74% 1.79M 2s + 5750K .......... .......... .......... .......... .......... 75% 995K 2s + 5800K .......... .......... .......... .......... .......... 76% 3.13M 2s + 5850K .......... .......... .......... .......... .......... 76% 32.9M 2s + 5900K .......... .......... .......... .......... .......... 77% 589K 2s + 5950K .......... .......... .......... .......... .......... 78% 274K 2s + 6000K .......... .......... .......... .......... .......... 78% 751K 2s + 6050K .......... .......... .......... .......... .......... 79% 2.14M 1s + 6100K .......... .......... .......... .......... .......... 80% 406K 1s + 6150K .......... .......... .......... .......... .......... 80% 2.49M 1s + 6200K .......... .......... .......... .......... .......... 81% 7.06M 1s + 6250K .......... .......... .......... .......... .......... 82% 12.1M 1s + 6300K .......... .......... .......... .......... .......... 82% 129M 1s + 6350K .......... .......... .......... .......... .......... 83% 70.4M 1s + 6400K .......... .......... .......... .......... .......... 84% 51.1M 1s + 6450K .......... .......... .......... .......... .......... 84% 59.4M 1s + 6500K .......... .......... .......... .......... .......... 85% 98.2M 1s + 6550K .......... .......... .......... .......... .......... 85% 60.5M 1s + 6600K .......... .......... .......... .......... .......... 86% 46.2M 1s + 6650K .......... .......... .......... .......... .......... 87% 60.6M 1s + 6700K .......... .......... .......... .......... .......... 87% 53.1M 1s + 6750K .......... .......... .......... .......... .......... 88% 59.5M 1s + 6800K .......... .......... .......... .......... .......... 89% 22.0M 1s + 6850K .......... .......... .......... .......... .......... 89% 72.1M 1s + 6900K .......... .......... .......... .......... .......... 90% 54.5M 1s + 6950K .......... .......... .......... .......... .......... 91% 98.8M 1s + 7000K .......... .......... .......... .......... .......... 91% 59.1M 1s + 7050K .......... .......... .......... .......... .......... 92% 63.7M 0s + 7100K .......... .......... .......... .......... .......... 93% 106M 0s + 7150K .......... .......... .......... .......... .......... 93% 60.1M 0s + 7200K .......... .......... .......... .......... .......... 94% 46.5M 0s + 7250K .......... .......... .......... .......... .......... 95% 60.8M 0s + 7300K .......... .......... .......... .......... .......... 95% 59.1M 0s + 7350K .......... .......... .......... .......... .......... 96% 100M 0s + 7400K .......... .......... .......... .......... .......... 97% 40.2M 0s + 7450K .......... .......... .......... .......... .......... 97% 54.4M 0s + 7500K .......... .......... .......... .......... .......... 98% 102M 0s + 7550K .......... .......... .......... .......... .......... 98% 63.4M 0s + 7600K .......... .......... .......... .......... .......... 99% 89.0M 0s + 7650K .......... .......... ....... 100% 49.4M=5.9s + +2018-12-25 10:59:00 (1.27 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 11:00:59-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 11:01:00-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 53.1K 2m24s + 50K .......... .......... .......... .......... .......... 1% 230K 88s + 100K .......... .......... .......... .......... .......... 1% 224K 69s + 150K .......... .......... .......... .......... .......... 2% 208K 61s + 200K .......... .......... .......... .......... .......... 3% 218K 55s + 250K .......... .......... .......... .......... .......... 3% 247K 51s + 300K .......... .......... .......... .......... .......... 4% 1.21M 44s + 350K .......... .......... .......... .......... .......... 5% 269K 42s + 400K .......... .......... .......... .......... .......... 5% 955K 37s + 450K .......... .......... .......... .......... .......... 6% 5.49M 34s + 500K .......... .......... .......... .......... .......... 7% 238K 33s + 550K .......... .......... .......... .......... .......... 7% 2.14M 30s + 600K .......... .......... .......... .......... .......... 8% 305K 30s + 650K .......... .......... .......... .......... .......... 9% 978K 28s + 700K .......... .......... .......... .......... .......... 9% 1.67M 26s + 750K .......... .......... .......... .......... .......... 10% 13.6M 24s + 800K .......... .......... .......... .......... .......... 11% 288K 24s + 850K .......... .......... .......... .......... .......... 11% 1.50M 23s + 900K .......... .......... .......... .......... .......... 12% 2.17M 22s + 950K .......... .......... .......... .......... .......... 13% 4.56M 20s + 1000K .......... .......... .......... .......... .......... 13% 319K 20s + 1050K .......... .......... .......... .......... .......... 14% 1.50M 19s + 1100K .......... .......... .......... .......... .......... 14% 1.64M 19s + 1150K .......... .......... .......... .......... .......... 15% 1.67M 18s + 1200K .......... .......... .......... .......... .......... 16% 478K 18s + 1250K .......... .......... .......... .......... .......... 16% 1.60M 17s + 1300K .......... .......... .......... .......... .......... 17% 1.84M 16s + 1350K .......... .......... .......... .......... .......... 18% 2.69M 16s + 1400K .......... .......... .......... .......... .......... 18% 2.18M 15s + 1450K .......... .......... .......... .......... .......... 19% 2.39M 15s + 1500K .......... .......... .......... .......... .......... 20% 4.52M 14s + 1550K .......... .......... .......... .......... .......... 20% 389K 14s + 1600K .......... .......... .......... .......... .......... 21% 3.13M 13s + 1650K .......... .......... .......... .......... .......... 22% 2.06M 13s + 1700K .......... .......... .......... .......... .......... 22% 2.78M 13s + 1750K .......... .......... .......... .......... .......... 23% 2.86M 12s + 1800K .......... .......... .......... .......... .......... 24% 1.60M 12s + 1850K .......... .......... .......... .......... .......... 24% 3.02M 12s + 1900K .......... .......... .......... .......... .......... 25% 588K 11s + 1950K .......... .......... .......... .......... .......... 26% 1.25M 11s + 2000K .......... .......... .......... .......... .......... 26% 2.81M 11s + 2050K .......... .......... .......... .......... .......... 27% 8.98M 10s + 2100K .......... .......... .......... .......... .......... 28% 2.72M 10s + 2150K .......... .......... .......... .......... .......... 28% 6.87M 10s + 2200K .......... .......... .......... .......... .......... 29% 2.79M 10s + 2250K .......... .......... .......... .......... .......... 29% 1.59M 9s + 2300K .......... .......... .......... .......... .......... 30% 3.86M 9s + 2350K .......... .......... .......... .......... .......... 31% 4.50M 9s + 2400K .......... .......... .......... .......... .......... 31% 501K 9s + 2450K .......... .......... .......... .......... .......... 32% 1.61M 9s + 2500K .......... .......... .......... .......... .......... 33% 6.53M 8s + 2550K .......... .......... .......... .......... .......... 33% 4.67M 8s + 2600K .......... .......... .......... .......... .......... 34% 2.18M 8s + 2650K .......... .......... .......... .......... .......... 35% 98.3M 8s + 2700K .......... .......... .......... .......... .......... 35% 2.38M 8s + 2750K .......... .......... .......... .......... .......... 36% 4.03M 7s + 2800K .......... .......... .......... .......... .......... 37% 4.31M 7s + 2850K .......... .......... .......... .......... .......... 37% 3.00M 7s + 2900K .......... .......... .......... .......... .......... 38% 9.32M 7s + 2950K .......... .......... .......... .......... .......... 39% 707K 7s + 3000K .......... .......... .......... .......... .......... 39% 1.44M 7s + 3050K .......... .......... .......... .......... .......... 40% 2.46M 6s + 3100K .......... .......... .......... .......... .......... 41% 3.21M 6s + 3150K .......... .......... .......... .......... .......... 41% 31.6M 6s + 3200K .......... .......... .......... .......... .......... 42% 2.47M 6s + 3250K .......... .......... .......... .......... .......... 42% 1.99M 6s + 3300K .......... .......... .......... .......... .......... 43% 10.7M 6s + 3350K .......... .......... .......... .......... .......... 44% 2.71M 6s + 3400K .......... .......... .......... .......... .......... 44% 8.15M 5s + 3450K .......... .......... .......... .......... .......... 45% 2.48M 5s + 3500K .......... .......... .......... .......... .......... 46% 4.56M 5s + 3550K .......... .......... .......... .......... .......... 46% 3.88M 5s + 3600K .......... .......... .......... .......... .......... 47% 1.38M 5s + 3650K .......... .......... .......... .......... .......... 48% 2.99M 5s + 3700K .......... .......... .......... .......... .......... 48% 1.61M 5s + 3750K .......... .......... .......... .......... .......... 49% 2.43M 5s + 3800K .......... .......... .......... .......... .......... 50% 1.28M 5s + 3850K .......... .......... .......... .......... .......... 50% 4.21M 5s + 3900K .......... .......... .......... .......... .......... 51% 106M 4s + 3950K .......... .......... .......... .......... .......... 52% 9.36M 4s + 4000K .......... .......... .......... .......... .......... 52% 3.30M 4s + 4050K .......... .......... .......... .......... .......... 53% 2.70M 4s + 4100K .......... .......... .......... .......... .......... 54% 1.27M 4s + 4150K .......... .......... .......... .......... .......... 54% 99.9M 4s + 4200K .......... .......... .......... .......... .......... 55% 9.55M 4s + 4250K .......... .......... .......... .......... .......... 56% 2.58M 4s + 4300K .......... .......... .......... .......... .......... 56% 44.7M 4s + 4350K .......... .......... .......... .......... .......... 57% 5.04M 4s + 4400K .......... .......... .......... .......... .......... 57% 1.98M 3s + 4450K .......... .......... .......... .......... .......... 58% 5.85M 3s + 4500K .......... .......... .......... .......... .......... 59% 2.46M 3s + 4550K .......... .......... .......... .......... .......... 59% 7.38M 3s + 4600K .......... .......... .......... .......... .......... 60% 4.88M 3s + 4650K .......... .......... .......... .......... .......... 61% 1.84M 3s + 4700K .......... .......... .......... .......... .......... 61% 12.9M 3s + 4750K .......... .......... .......... .......... .......... 62% 19.3M 3s + 4800K .......... .......... .......... .......... .......... 63% 1.45M 3s + 4850K .......... .......... .......... .......... .......... 63% 63.1M 3s + 4900K .......... .......... .......... .......... .......... 64% 1.95M 3s + 4950K .......... .......... .......... .......... .......... 65% 1.75M 3s + 5000K .......... .......... .......... .......... .......... 65% 5.34M 3s + 5050K .......... .......... .......... .......... .......... 66% 62.1M 3s + 5100K .......... .......... .......... .......... .......... 67% 63.8M 2s + 5150K .......... .......... .......... .......... .......... 67% 3.60M 2s + 5200K .......... .......... .......... .......... .......... 68% 1.82M 2s + 5250K .......... .......... .......... .......... .......... 69% 18.0M 2s + 5300K .......... .......... .......... .......... .......... 69% 1.71M 2s + 5350K .......... .......... .......... .......... .......... 70% 5.82M 2s + 5400K .......... .......... .......... .......... .......... 70% 2.86M 2s + 5450K .......... .......... .......... .......... .......... 71% 24.2M 2s + 5500K .......... .......... .......... .......... .......... 72% 9.03M 2s + 5550K .......... .......... .......... .......... .......... 72% 2.16M 2s + 5600K .......... .......... .......... .......... .......... 73% 11.9M 2s + 5650K .......... .......... .......... .......... .......... 74% 5.26M 2s + 5700K .......... .......... .......... .......... .......... 74% 2.37M 2s + 5750K .......... .......... .......... .......... .......... 75% 4.84M 2s + 5800K .......... .......... .......... .......... .......... 76% 3.90M 2s + 5850K .......... .......... .......... .......... .......... 76% 2.50M 2s + 5900K .......... .......... .......... .......... .......... 77% 23.2M 2s + 5950K .......... .......... .......... .......... .......... 78% 1.58M 1s + 6000K .......... .......... .......... .......... .......... 78% 4.74M 1s + 6050K .......... .......... .......... .......... .......... 79% 79.5M 1s + 6100K .......... .......... .......... .......... .......... 80% 1.52M 1s + 6150K .......... .......... .......... .......... .......... 80% 1.77M 1s + 6200K .......... .......... .......... .......... .......... 81% 1.30M 1s + 6250K .......... .......... .......... .......... .......... 82% 94.5M 1s + 6300K .......... .......... .......... .......... .......... 82% 13.1M 1s + 6350K .......... .......... .......... .......... .......... 83% 2.75M 1s + 6400K .......... .......... .......... .......... .......... 84% 27.9M 1s + 6450K .......... .......... .......... .......... .......... 84% 43.4M 1s + 6500K .......... .......... .......... .......... .......... 85% 2.99M 1s + 6550K .......... .......... .......... .......... .......... 85% 2.78M 1s + 6600K .......... .......... .......... .......... .......... 86% 6.24M 1s + 6650K .......... .......... .......... .......... .......... 87% 7.04M 1s + 6700K .......... .......... .......... .......... .......... 87% 2.26M 1s + 6750K .......... .......... .......... .......... .......... 88% 9.65M 1s + 6800K .......... .......... .......... .......... .......... 89% 55.9M 1s + 6850K .......... .......... .......... .......... .......... 89% 1.77M 1s + 6900K .......... .......... .......... .......... .......... 90% 132K 1s + 6950K .......... .......... .......... .......... .......... 91% 30.5M 1s + 7000K .......... .......... .......... .......... .......... 91% 4.55M 1s + 7050K .......... .......... .......... .......... .......... 92% 2.23M 0s + 7100K .......... .......... .......... .......... .......... 93% 4.57M 0s + 7150K .......... .......... .......... .......... .......... 93% 106M 0s + 7200K .......... .......... .......... .......... .......... 94% 44.0M 0s + 7250K .......... .......... .......... .......... .......... 95% 4.72M 0s + 7300K .......... .......... .......... .......... .......... 95% 59.5M 0s + 7350K .......... .......... .......... .......... .......... 96% 99.6M 0s + 7400K .......... .......... .......... .......... .......... 97% 54.3M 0s + 7450K .......... .......... .......... .......... .......... 97% 32.6M 0s + 7500K .......... .......... .......... .......... .......... 98% 103M 0s + 7550K .......... .......... .......... .......... .......... 98% 55.5M 0s + 7600K .......... .......... .......... .......... .......... 99% 45.9M 0s + 7650K .......... .......... ....... 100% 39.9M=5.9s + +2018-12-25 11:01:07 (1.27 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +################################################ +################################################ +######################################################################## +# Running Websetup on 192.168.5.4.# +######################################################################## +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +You need to be root to perform this command. +################################################################ + + +Starting and Enabling Service +Failed to start httpd.service: Interactive authentication required. +See system logs and 'systemctl status httpd.service' for details. +Failed to execute operation: Interactive authentication required. +################################################################ + + +Copying website data +/tmp/websetupmulti.sh: line 36: wget: command not found +/tmp/websetupmulti.sh: line 37: unzip: command not found +cp: cannot stat ‘/tmp/2104_sloopa/*’: No such file or directory + + +Restarting Service +Failed to restart httpd.service: Interactive authentication required. +See system logs and 'systemctl status httpd.service' for details. +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +You need to be root to perform this command. +################################################################ + + +Starting and Enabling Service +Failed to start httpd.service: Interactive authentication required. +See system logs and 'systemctl status httpd.service' for details. +Failed to execute operation: Interactive authentication required. +################################################################ + + +Copying website data +/tmp/websetupmulti.sh: line 36: wget: command not found +/tmp/websetupmulti.sh: line 37: unzip: command not found +cp: cannot stat ‘/tmp/2112_brunch/*’: No such file or directory + + +Restarting Service +Failed to restart httpd.service: Interactive authentication required. +See system logs and 'systemctl status httpd.service' for details. +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Determining fastest mirrors + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Resolving Dependencies +--> Running transaction check +---> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed +--> Processing Dependency: httpd-tools = 2.4.6-88.el7.centos for package: httpd-2.4.6-88.el7.centos.x86_64 +--> Processing Dependency: system-logos >= 7.92.1-1 for package: httpd-2.4.6-88.el7.centos.x86_64 +--> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-88.el7.centos.x86_64 +--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-88.el7.centos.x86_64 +--> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-88.el7.centos.x86_64 +---> Package unzip.x86_64 0:6.0-19.el7 will be installed +---> Package wget.x86_64 0:1.14-18.el7 will be installed +--> Running transaction check +---> Package apr.x86_64 0:1.4.8-3.el7_4.1 will be installed +---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed +---> Package centos-logos.noarch 0:70.0.6-3.el7.centos will be installed +---> Package httpd-tools.x86_64 0:2.4.6-88.el7.centos will be installed +---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed +--> Finished Dependency Resolution + +Dependencies Resolved + +================================================================================ + Package Arch Version Repository Size +================================================================================ +Installing: + httpd x86_64 2.4.6-88.el7.centos base 2.7 M + unzip x86_64 6.0-19.el7 base 170 k + wget x86_64 1.14-18.el7 base 547 k +Installing for dependencies: + apr x86_64 1.4.8-3.el7_4.1 base 103 k + apr-util x86_64 1.5.2-6.el7 base 92 k + centos-logos noarch 70.0.6-3.el7.centos base 21 M + httpd-tools x86_64 2.4.6-88.el7.centos base 90 k + mailcap noarch 2.1.41-2.el7 base 31 k + +Transaction Summary +================================================================================ +Install 3 Packages (+5 Dependent packages) + +Total download size: 25 M +Installed size: 34 M +Downloading packages: +warning: /var/cache/yum/x86_64/7/base/packages/apr-util-1.5.2-6.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY +Public key for apr-util-1.5.2-6.el7.x86_64.rpm is not installed +-------------------------------------------------------------------------------- +Total 3.6 MB/s | 25 MB 00:06 +Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 +Importing GPG key 0xF4A80EB5: + Userid : "CentOS-7 Key (CentOS 7 Official Signing Key) " + Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5 + Package : centos-release-7-5.1804.4.el7.centos.x86_64 (@koji-override-1) + From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 +Running transaction check +Running transaction test +Transaction test succeeded +Running transaction + Installing : apr-1.4.8-3.el7_4.1.x86_64 1/8 + Installing : apr-util-1.5.2-6.el7.x86_64 2/8 + Installing : httpd-tools-2.4.6-88.el7.centos.x86_64 3/8 + Installing : centos-logos-70.0.6-3.el7.centos.noarch 4/8 + Installing : mailcap-2.1.41-2.el7.noarch 5/8 + Installing : httpd-2.4.6-88.el7.centos.x86_64 6/8 + Installing : unzip-6.0-19.el7.x86_64 7/8 + Installing : wget-1.14-18.el7.x86_64 8/8 + Verifying : mailcap-2.1.41-2.el7.noarch 1/8 + Verifying : apr-util-1.5.2-6.el7.x86_64 2/8 + Verifying : wget-1.14-18.el7.x86_64 3/8 + Verifying : httpd-tools-2.4.6-88.el7.centos.x86_64 4/8 + Verifying : unzip-6.0-19.el7.x86_64 5/8 + Verifying : httpd-2.4.6-88.el7.centos.x86_64 6/8 + Verifying : apr-1.4.8-3.el7_4.1.x86_64 7/8 + Verifying : centos-logos-70.0.6-3.el7.centos.noarch 8/8 + +Installed: + httpd.x86_64 0:2.4.6-88.el7.centos unzip.x86_64 0:6.0-19.el7 + wget.x86_64 0:1.14-18.el7 + +Dependency Installed: + apr.x86_64 0:1.4.8-3.el7_4.1 + apr-util.x86_64 0:1.5.2-6.el7 + centos-logos.noarch 0:70.0.6-3.el7.centos + httpd-tools.x86_64 0:2.4.6-88.el7.centos + mailcap.noarch 0:2.1.41-2.el7 + +Complete! +################################################################ + + +Starting and Enabling Service +Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. +################################################################ + + +Copying website data +wget: missing URL +Usage: wget [OPTION]... [URL]... + +Try `wget --help' for more options. +unzip: cannot find or open website.zip, website.zip.zip or website.zip.ZIP. + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +wget: missing URL +Usage: wget [OPTION]... [URL]... + +Try `wget --help' for more options. +unzip: cannot find or open website.zip, website.zip.zip or website.zip.ZIP. + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +wget: missing URL +Usage: wget [OPTION]... [URL]... + +Try `wget --help' for more options. +unzip: cannot find or open website.zip, website.zip.zip or website.zip.ZIP. + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 10:18:15-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:18:16-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 71.9K 1m46s + 50K .......... .......... .......... .......... .......... 1% 223K 70s + 100K .......... .......... .......... .......... .......... 1% 212K 58s + 150K .......... .......... .......... .......... .......... 2% 208K 52s + 200K .......... .......... .......... .......... .......... 3% 217K 48s + 250K .......... .......... .......... .......... .......... 3% 219K 46s + 300K .......... .......... .......... .......... .......... 4% 255K 43s + 350K .......... .......... .......... .......... .......... 5% 1.79M 38s + 400K .......... .......... .......... .......... .......... 5% 205K 37s + 450K .......... .......... .......... .......... .......... 6% 21.1M 33s + 500K .......... .......... .......... .......... .......... 7% 207K 33s + 550K .......... .......... .......... .......... .......... 7% 9.04M 30s + 600K .......... .......... .......... .......... .......... 8% 299K 30s + 650K .......... .......... .......... .......... .......... 9% 1.28M 28s + 700K .......... .......... .......... .......... .......... 9% 3.15M 26s + 750K .......... .......... .......... .......... .......... 10% 276K 26s + 800K .......... .......... .......... .......... .......... 11% 397K 25s + 850K .......... .......... .......... .......... .......... 11% 27.8M 23s + 900K .......... .......... .......... .......... .......... 12% 109M 22s + 950K .......... .......... .......... .......... .......... 13% 432K 21s + 1000K .......... .......... .......... .......... .......... 13% 1.40M 21s + 1050K .......... .......... .......... .......... .......... 14% 3.53M 20s + 1100K .......... .......... .......... .......... .......... 14% 4.08M 19s + 1150K .......... .......... .......... .......... .......... 15% 289K 19s + 1200K .......... .......... .......... .......... .......... 16% 1.70M 18s + 1250K .......... .......... .......... .......... .......... 16% 5.90M 17s + 1300K .......... .......... .......... .......... .......... 17% 2.96M 16s + 1350K .......... .......... .......... .......... .......... 18% 4.35M 16s + 1400K .......... .......... .......... .......... .......... 18% 303K 16s + 1450K .......... .......... .......... .......... .......... 19% 4.99M 15s + 1500K .......... .......... .......... .......... .......... 20% 1001K 15s + 1550K .......... .......... .......... .......... .......... 20% 75.9M 14s + 1600K .......... .......... .......... .......... .......... 21% 1.96M 14s + 1650K .......... .......... .......... .......... .......... 22% 58.4M 13s + 1700K .......... .......... .......... .......... .......... 22% 397K 13s + 1750K .......... .......... .......... .......... .......... 23% 2.28M 13s + 1800K .......... .......... .......... .......... .......... 24% 932K 13s + 1850K .......... .......... .......... .......... .......... 24% 27.1M 12s + 1900K .......... .......... .......... .......... .......... 25% 2.29M 12s + 1950K .......... .......... .......... .......... .......... 26% 3.08M 11s + 2000K .......... .......... .......... .......... .......... 26% 3.65M 11s + 2050K .......... .......... .......... .......... .......... 27% 107M 11s + 2100K .......... .......... .......... .......... .......... 28% 139K 11s + 2150K .......... .......... .......... .......... .......... 28% 1.60M 11s + 2200K .......... .......... .......... .......... .......... 29% 9.65M 11s + 2250K .......... .......... .......... .......... .......... 29% 110M 10s + 2300K .......... .......... .......... .......... .......... 30% 47.8M 10s + 2350K .......... .......... .......... .......... .......... 31% 62.4M 10s + 2400K .......... .......... .......... .......... .......... 31% 46.0M 9s + 2450K .......... .......... .......... .......... .......... 32% 34.8M 9s + 2500K .......... .......... .......... .......... .......... 33% 107M 9s + 2550K .......... .......... .......... .......... .......... 33% 268K 9s + 2600K .......... .......... .......... .......... .......... 34% 5.15M 9s + 2650K .......... .......... .......... .......... .......... 35% 3.53M 9s + 2700K .......... .......... .......... .......... .......... 35% 33.6M 8s + 2750K .......... .......... .......... .......... .......... 36% 77.5M 8s + 2800K .......... .......... .......... .......... .......... 37% 27.1M 8s + 2850K .......... .......... .......... .......... .......... 37% 39.8M 8s + 2900K .......... .......... .......... .......... .......... 38% 50.6M 7s + 2950K .......... .......... .......... .......... .......... 39% 1.45M 7s + 3000K .......... .......... .......... .......... .......... 39% 4.47M 7s + 3050K .......... .......... .......... .......... .......... 40% 1.16M 7s + 3100K .......... .......... .......... .......... .......... 41% 1.33M 7s + 3150K .......... .......... .......... .......... .......... 41% 33.8M 7s + 3200K .......... .......... .......... .......... .......... 42% 538K 7s + 3250K .......... .......... .......... .......... .......... 42% 1.33M 6s + 3300K .......... .......... .......... .......... .......... 43% 1.77M 6s + 3350K .......... .......... .......... .......... .......... 44% 2.64M 6s + 3400K .......... .......... .......... .......... .......... 44% 808K 6s + 3450K .......... .......... .......... .......... .......... 45% 47.2M 6s + 3500K .......... .......... .......... .......... .......... 46% 1022K 6s + 3550K .......... .......... .......... .......... .......... 46% 1.28M 6s + 3600K .......... .......... .......... .......... .......... 47% 1000K 6s + 3650K .......... .......... .......... .......... .......... 48% 3.89M 6s + 3700K .......... .......... .......... .......... .......... 48% 1.34M 5s + 3750K .......... .......... .......... .......... .......... 49% 1.39M 5s + 3800K .......... .......... .......... .......... .......... 50% 4.57M 5s + 3850K .......... .......... .......... .......... .......... 50% 763K 5s + 3900K .......... .......... .......... .......... .......... 51% 2.74M 5s + 3950K .......... .......... .......... .......... .......... 52% 662K 5s + 4000K .......... .......... .......... .......... .......... 52% 2.04M 5s + 4050K .......... .......... .......... .......... .......... 53% 32.5M 5s + 4100K .......... .......... .......... .......... .......... 54% 1.03M 5s + 4150K .......... .......... .......... .......... .......... 54% 4.15M 5s + 4200K .......... .......... .......... .......... .......... 55% 585K 4s + 4250K .......... .......... .......... .......... .......... 56% 29.2M 4s + 4300K .......... .......... .......... .......... .......... 56% 2.27M 4s + 4350K .......... .......... .......... .......... .......... 57% 1.86M 4s + 4400K .......... .......... .......... .......... .......... 57% 1.52M 4s + 4450K .......... .......... .......... .......... .......... 58% 1.25M 4s + 4500K .......... .......... .......... .......... .......... 59% 1.84M 4s + 4550K .......... .......... .......... .......... .......... 59% 1.26M 4s + 4600K .......... .......... .......... .......... .......... 60% 1.58M 4s + 4650K .......... .......... .......... .......... .......... 61% 1.31M 4s + 4700K .......... .......... .......... .......... .......... 61% 3.38M 4s + 4750K .......... .......... .......... .......... .......... 62% 2.47M 4s + 4800K .......... .......... .......... .......... .......... 63% 938K 3s + 4850K .......... .......... .......... .......... .......... 63% 1.31M 3s + 4900K .......... .......... .......... .......... .......... 64% 3.64M 3s + 4950K .......... .......... .......... .......... .......... 65% 977K 3s + 5000K .......... .......... .......... .......... .......... 65% 4.19M 3s + 5050K .......... .......... .......... .......... .......... 66% 1.40M 3s + 5100K .......... .......... .......... .......... .......... 67% 1.62M 3s + 5150K .......... .......... .......... .......... .......... 67% 3.23M 3s + 5200K .......... .......... .......... .......... .......... 68% 1.14M 3s + 5250K .......... .......... .......... .......... .......... 69% 1.07M 3s + 5300K .......... .......... .......... .......... .......... 69% 14.4M 3s + 5350K .......... .......... .......... .......... .......... 70% 967K 3s + 5400K .......... .......... .......... .......... .......... 70% 3.36M 3s + 5450K .......... .......... .......... .......... .......... 71% 1.65M 2s + 5500K .......... .......... .......... .......... .......... 72% 1.45M 2s + 5550K .......... .......... .......... .......... .......... 72% 7.40M 2s + 5600K .......... .......... .......... .......... .......... 73% 1.07M 2s + 5650K .......... .......... .......... .......... .......... 74% 1.02M 2s + 5700K .......... .......... .......... .......... .......... 74% 4.98M 2s + 5750K .......... .......... .......... .......... .......... 75% 1.05M 2s + 5800K .......... .......... .......... .......... .......... 76% 1.73M 2s + 5850K .......... .......... .......... .......... .......... 76% 2.17M 2s + 5900K .......... .......... .......... .......... .......... 77% 1.43M 2s + 5950K .......... .......... .......... .......... .......... 78% 4.98M 2s + 6000K .......... .......... .......... .......... .......... 78% 1.77M 2s + 6050K .......... .......... .......... .......... .......... 79% 1.10M 2s + 6100K .......... .......... .......... .......... .......... 80% 1.73M 2s + 6150K .......... .......... .......... .......... .......... 80% 1.50M 2s + 6200K .......... .......... .......... .......... .......... 81% 1.62M 2s + 6250K .......... .......... .......... .......... .......... 82% 2.10M 1s + 6300K .......... .......... .......... .......... .......... 82% 58.0M 1s + 6350K .......... .......... .......... .......... .......... 83% 1.52M 1s + 6400K .......... .......... .......... .......... .......... 84% 3.56M 1s + 6450K .......... .......... .......... .......... .......... 84% 981K 1s + 6500K .......... .......... .......... .......... .......... 85% 795K 1s + 6550K .......... .......... .......... .......... .......... 85% 65.9M 1s + 6600K .......... .......... .......... .......... .......... 86% 1.24M 1s + 6650K .......... .......... .......... .......... .......... 87% 191K 1s + 6700K .......... .......... .......... .......... .......... 87% 3.01M 1s + 6750K .......... .......... .......... .......... .......... 88% 14.7M 1s + 6800K .......... .......... .......... .......... .......... 89% 7.77M 1s + 6850K .......... .......... .......... .......... .......... 89% 92.9M 1s + 6900K .......... .......... .......... .......... .......... 90% 50.4M 1s + 6950K .......... .......... .......... .......... .......... 91% 48.9M 1s + 7000K .......... .......... .......... .......... .......... 91% 58.0M 1s + 7050K .......... .......... .......... .......... .......... 92% 61.4M 1s + 7100K .......... .......... .......... .......... .......... 93% 45.5M 1s + 7150K .......... .......... .......... .......... .......... 93% 65.7M 0s + 7200K .......... .......... .......... .......... .......... 94% 1.40M 0s + 7250K .......... .......... .......... .......... .......... 95% 763K 0s + 7300K .......... .......... .......... .......... .......... 95% 2.66M 0s + 7350K .......... .......... .......... .......... .......... 96% 789K 0s + 7400K .......... .......... .......... .......... .......... 97% 2.52M 0s + 7450K .......... .......... .......... .......... .......... 97% 1.58M 0s + 7500K .......... .......... .......... .......... .......... 98% 765K 0s + 7550K .......... .......... .......... .......... .......... 98% 37.9M 0s + 7600K .......... .......... .......... .......... .......... 99% 888K 0s + 7650K .......... .......... ....... 100% 66.5M=7.6s + +2018-12-25 10:18:25 (1010 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + creating: 2112_brunch/ + inflating: 2112_brunch/contact-page.html + creating: 2112_brunch/css/ + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + creating: 2112_brunch/css/fonts/ + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + creating: 2112_brunch/fonts/ + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + creating: 2112_brunch/img/ + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + creating: 2112_brunch/js/ + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + creating: 2112_brunch/js/vendor/ + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + creating: 2112_brunch/videos/ + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 10:20:16-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:20:17-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 55.1K 2m19s + 50K .......... .......... .......... .......... .......... 1% 195K 88s + 100K .......... .......... .......... .......... .......... 1% 204K 71s + 150K .......... .......... .......... .......... .......... 2% 231K 61s + 200K .......... .......... .......... .......... .......... 3% 240K 55s + 250K .......... .......... .......... .......... .......... 3% 235K 50s + 300K .......... .......... .......... .......... .......... 4% 1.01M 44s + 350K .......... .......... .......... .......... .......... 5% 273K 41s + 400K .......... .......... .......... .......... .......... 5% 1.30M 37s + 450K .......... .......... .......... .......... .......... 6% 256K 36s + 500K .......... .......... .......... .......... .......... 7% 4.29M 33s + 550K .......... .......... .......... .......... .......... 7% 2.08M 30s + 600K .......... .......... .......... .......... .......... 8% 233K 30s + 650K .......... .......... .......... .......... .......... 9% 6.40M 28s + 700K .......... .......... .......... .......... .......... 9% 8.94M 26s + 750K .......... .......... .......... .......... .......... 10% 3.75M 24s + 800K .......... .......... .......... .......... .......... 11% 229K 24s + 850K .......... .......... .......... .......... .......... 11% 77.2M 23s + 900K .......... .......... .......... .......... .......... 12% 46.7M 21s + 950K .......... .......... .......... .......... .......... 13% 6.81M 20s + 1000K .......... .......... .......... .......... .......... 13% 259K 20s + 1050K .......... .......... .......... .......... .......... 14% 7.16M 19s + 1100K .......... .......... .......... .......... .......... 14% 41.7M 18s + 1150K .......... .......... .......... .......... .......... 15% 3.07M 17s + 1200K .......... .......... .......... .......... .......... 16% 3.77M 17s + 1250K .......... .......... .......... .......... .......... 16% 265K 17s + 1300K .......... .......... .......... .......... .......... 17% 2.09M 16s + 1350K .......... .......... .......... .......... .......... 18% 8.63M 16s + 1400K .......... .......... .......... .......... .......... 18% 91.4M 15s + 1450K .......... .......... .......... .......... .......... 19% 64.3M 14s + 1500K .......... .......... .......... .......... .......... 20% 2.18M 14s + 1550K .......... .......... .......... .......... .......... 20% 27.1M 13s + 1600K .......... .......... .......... .......... .......... 21% 271K 13s + 1650K .......... .......... .......... .......... .......... 22% 1.76M 13s + 1700K .......... .......... .......... .......... .......... 22% 52.3M 13s + 1750K .......... .......... .......... .......... .......... 23% 6.28M 12s + 1800K .......... .......... .......... .......... .......... 24% 4.51M 12s + 1850K .......... .......... .......... .......... .......... 24% 14.5M 11s + 1900K .......... .......... .......... .......... .......... 25% 107M 11s + 1950K .......... .......... .......... .......... .......... 26% 65.3M 11s + 2000K .......... .......... .......... .......... .......... 26% 314K 11s + 2050K .......... .......... .......... .......... .......... 27% 2.82M 10s + 2100K .......... .......... .......... .......... .......... 28% 4.21M 10s + 2150K .......... .......... .......... .......... .......... 28% 5.45M 10s + 2200K .......... .......... .......... .......... .......... 29% 3.26M 9s + 2250K .......... .......... .......... .......... .......... 29% 3.98M 9s + 2300K .......... .......... .......... .......... .......... 30% 102M 9s + 2350K .......... .......... .......... .......... .......... 31% 10.5M 9s + 2400K .......... .......... .......... .......... .......... 31% 4.59M 8s + 2450K .......... .......... .......... .......... .......... 32% 3.77M 8s + 2500K .......... .......... .......... .......... .......... 33% 219K 8s + 2550K .......... .......... .......... .......... .......... 33% 2.21M 8s + 2600K .......... .......... .......... .......... .......... 34% 6.13M 8s + 2650K .......... .......... .......... .......... .......... 35% 26.1M 8s + 2700K .......... .......... .......... .......... .......... 35% 51.7M 8s + 2750K .......... .......... .......... .......... .......... 36% 18.6M 7s + 2800K .......... .......... .......... .......... .......... 37% 90.6M 7s + 2850K .......... .......... .......... .......... .......... 37% 7.18M 7s + 2900K .......... .......... .......... .......... .......... 38% 78.4M 7s + 2950K .......... .......... .......... .......... .......... 39% 57.2M 7s + 3000K .......... .......... .......... .......... .......... 39% 98.5M 6s + 3050K .......... .......... .......... .......... .......... 40% 64.4M 6s + 3100K .......... .......... .......... .......... .......... 41% 597K 6s + 3150K .......... .......... .......... .......... .......... 41% 1.73M 6s + 3200K .......... .......... .......... .......... .......... 42% 2.80M 6s + 3250K .......... .......... .......... .......... .......... 42% 1.96M 6s + 3300K .......... .......... .......... .......... .......... 43% 2.40M 6s + 3350K .......... .......... .......... .......... .......... 44% 12.5M 6s + 3400K .......... .......... .......... .......... .......... 44% 3.58M 5s + 3450K .......... .......... .......... .......... .......... 45% 13.4M 5s + 3500K .......... .......... .......... .......... .......... 46% 102M 5s + 3550K .......... .......... .......... .......... .......... 46% 5.07M 5s + 3600K .......... .......... .......... .......... .......... 47% 4.99M 5s + 3650K .......... .......... .......... .......... .......... 48% 3.13M 5s + 3700K .......... .......... .......... .......... .......... 48% 9.67M 5s + 3750K .......... .......... .......... .......... .......... 49% 6.42M 5s + 3800K .......... .......... .......... .......... .......... 50% 378K 5s + 3850K .......... .......... .......... .......... .......... 50% 27.9M 4s + 3900K .......... .......... .......... .......... .......... 51% 67.1M 4s + 3950K .......... .......... .......... .......... .......... 52% 113M 4s + 4000K .......... .......... .......... .......... .......... 52% 60.0M 4s + 4050K .......... .......... .......... .......... .......... 53% 3.07M 4s + 4100K .......... .......... .......... .......... .......... 54% 2.89M 4s + 4150K .......... .......... .......... .......... .......... 54% 55.6M 4s + 4200K .......... .......... .......... .......... .......... 55% 4.37M 4s + 4250K .......... .......... .......... .......... .......... 56% 7.91M 4s + 4300K .......... .......... .......... .......... .......... 56% 2.23M 4s + 4350K .......... .......... .......... .......... .......... 57% 3.55M 4s + 4400K .......... .......... .......... .......... .......... 57% 2.15M 3s + 4450K .......... .......... .......... .......... .......... 58% 8.76M 3s + 4500K .......... .......... .......... .......... .......... 59% 106M 3s + 4550K .......... .......... .......... .......... .......... 59% 64.7M 3s + 4600K .......... .......... .......... .......... .......... 60% 56.7M 3s + 4650K .......... .......... .......... .......... .......... 61% 1.68M 3s + 4700K .......... .......... .......... .......... .......... 61% 3.15M 3s + 4750K .......... .......... .......... .......... .......... 62% 2.94M 3s + 4800K .......... .......... .......... .......... .......... 63% 654K 3s + 4850K .......... .......... .......... .......... .......... 63% 3.27M 3s + 4900K .......... .......... .......... .......... .......... 64% 10.7M 3s + 4950K .......... .......... .......... .......... .......... 65% 62.7M 3s + 5000K .......... .......... .......... .......... .......... 65% 47.1M 3s + 5050K .......... .......... .......... .......... .......... 66% 27.3M 2s + 5100K .......... .......... .......... .......... .......... 67% 5.49M 2s + 5150K .......... .......... .......... .......... .......... 67% 2.74M 2s + 5200K .......... .......... .......... .......... .......... 68% 3.65M 2s + 5250K .......... .......... .......... .......... .......... 69% 19.9M 2s + 5300K .......... .......... .......... .......... .......... 69% 2.42M 2s + 5350K .......... .......... .......... .......... .......... 70% 3.79M 2s + 5400K .......... .......... .......... .......... .......... 70% 2.97M 2s + 5450K .......... .......... .......... .......... .......... 71% 3.31M 2s + 5500K .......... .......... .......... .......... .......... 72% 56.7M 2s + 5550K .......... .......... .......... .......... .......... 72% 2.41M 2s + 5600K .......... .......... .......... .......... .......... 73% 48.2M 2s + 5650K .......... .......... .......... .......... .......... 74% 54.1M 2s + 5700K .......... .......... .......... .......... .......... 74% 53.2M 2s + 5750K .......... .......... .......... .......... .......... 75% 60.5M 2s + 5800K .......... .......... .......... .......... .......... 76% 61.5M 2s + 5850K .......... .......... .......... .......... .......... 76% 1.14M 2s + 5900K .......... .......... .......... .......... .......... 77% 4.72M 1s + 5950K .......... .......... .......... .......... .......... 78% 1.99M 1s + 6000K .......... .......... .......... .......... .......... 78% 3.83M 1s + 6050K .......... .......... .......... .......... .......... 79% 2.38M 1s + 6100K .......... .......... .......... .......... .......... 80% 61.7M 1s + 6150K .......... .......... .......... .......... .......... 80% 181K 1s + 6200K .......... .......... .......... .......... .......... 81% 2.12M 1s + 6250K .......... .......... .......... .......... .......... 82% 2.84M 1s + 6300K .......... .......... .......... .......... .......... 82% 28.4M 1s + 6350K .......... .......... .......... .......... .......... 83% 53.3M 1s + 6400K .......... .......... .......... .......... .......... 84% 48.3M 1s + 6450K .......... .......... .......... .......... .......... 84% 55.6M 1s + 6500K .......... .......... .......... .......... .......... 85% 80.5M 1s + 6550K .......... .......... .......... .......... .......... 85% 53.9M 1s + 6600K .......... .......... .......... .......... .......... 86% 52.5M 1s + 6650K .......... .......... .......... .......... .......... 87% 42.4M 1s + 6700K .......... .......... .......... .......... .......... 87% 103M 1s + 6750K .......... .......... .......... .......... .......... 88% 58.2M 1s + 6800K .......... .......... .......... .......... .......... 89% 58.2M 1s + 6850K .......... .......... .......... .......... .......... 89% 65.9M 1s + 6900K .......... .......... .......... .......... .......... 90% 111M 1s + 6950K .......... .......... .......... .......... .......... 91% 65.8M 1s + 7000K .......... .......... .......... .......... .......... 91% 61.6M 0s + 7050K .......... .......... .......... .......... .......... 92% 497K 0s + 7100K .......... .......... .......... .......... .......... 93% 2.99M 0s + 7150K .......... .......... .......... .......... .......... 93% 8.12M 0s + 7200K .......... .......... .......... .......... .......... 94% 18.0M 0s + 7250K .......... .......... .......... .......... .......... 95% 114M 0s + 7300K .......... .......... .......... .......... .......... 95% 25.2M 0s + 7350K .......... .......... .......... .......... .......... 96% 67.1M 0s + 7400K .......... .......... .......... .......... .......... 97% 61.7M 0s + 7450K .......... .......... .......... .......... .......... 97% 117M 0s + 7500K .......... .......... .......... .......... .......... 98% 65.8M 0s + 7550K .......... .......... .......... .......... .......... 98% 66.2M 0s + 7600K .......... .......... .......... .......... .......... 99% 98.5M 0s + 7650K .......... .......... ....... 100% 47.0M=5.6s + +2018-12-25 10:20:24 (1.34 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 10:25:19-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:25:20-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 68.3K 1m52s + 50K .......... .......... .......... .......... .......... 1% 203K 74s + 100K .......... .......... .......... .......... .......... 1% 202K 62s + 150K .......... .......... .......... .......... .......... 2% 12.3M 46s + 200K .......... .......... .......... .......... .......... 3% 197K 44s + 250K .......... .......... .......... .......... .......... 3% 212K 42s + 300K .......... .......... .......... .......... .......... 4% 24.5M 36s + 350K .......... .......... .......... .......... .......... 5% 98.4M 31s + 400K .......... .......... .......... .......... .......... 5% 193K 32s + 450K .......... .......... .......... .......... .......... 6% 49.2M 28s + 500K .......... .......... .......... .......... .......... 7% 74.1M 26s + 550K .......... .......... .......... .......... .......... 7% 261K 26s + 600K .......... .......... .......... .......... .......... 8% 713K 24s + 650K .......... .......... .......... .......... .......... 9% 59.1M 22s + 700K .......... .......... .......... .......... .......... 9% 60.0M 21s + 750K .......... .......... .......... .......... .......... 10% 62.0M 19s + 800K .......... .......... .......... .......... .......... 11% 49.9M 18s + 850K .......... .......... .......... .......... .......... 11% 239K 19s + 900K .......... .......... .......... .......... .......... 12% 1.81M 18s + 950K .......... .......... .......... .......... .......... 13% 2.81M 17s + 1000K .......... .......... .......... .......... .......... 13% 84.6M 16s + 1050K .......... .......... .......... .......... .......... 14% 60.8M 15s + 1100K .......... .......... .......... .......... .......... 14% 61.2M 14s + 1150K .......... .......... .......... .......... .......... 15% 56.0M 14s + 1200K .......... .......... .......... .......... .......... 16% 12.7M 13s + 1250K .......... .......... .......... .......... .......... 16% 268K 13s + 1300K .......... .......... .......... .......... .......... 17% 1.03M 13s + 1350K .......... .......... .......... .......... .......... 18% 2.01M 12s + 1400K .......... .......... .......... .......... .......... 18% 3.94M 12s + 1450K .......... .......... .......... .......... .......... 19% 22.5M 11s + 1500K .......... .......... .......... .......... .......... 20% 29.1M 11s + 1550K .......... .......... .......... .......... .......... 20% 109M 11s + 1600K .......... .......... .......... .......... .......... 21% 58.2M 10s + 1650K .......... .......... .......... .......... .......... 22% 64.3M 10s + 1700K .......... .......... .......... .......... .......... 22% 65.2M 9s + 1750K .......... .......... .......... .......... .......... 23% 109M 9s + 1800K .......... .......... .......... .......... .......... 24% 403K 9s + 1850K .......... .......... .......... .......... .......... 24% 1.52M 9s + 1900K .......... .......... .......... .......... .......... 25% 2.35M 9s + 1950K .......... .......... .......... .......... .......... 26% 4.09M 8s + 2000K .......... .......... .......... .......... .......... 26% 1.69M 8s + 2050K .......... .......... .......... .......... .......... 27% 1.42M 8s + 2100K .......... .......... .......... .......... .......... 28% 4.06M 8s + 2150K .......... .......... .......... .......... .......... 28% 2.33M 8s + 2200K .......... .......... .......... .......... .......... 29% 31.8M 7s + 2250K .......... .......... .......... .......... .......... 29% 38.0M 7s + 2300K .......... .......... .......... .......... .......... 30% 60.7M 7s + 2350K .......... .......... .......... .......... .......... 31% 81.0M 7s + 2400K .......... .......... .......... .......... .......... 31% 27.7M 7s + 2450K .......... .......... .......... .......... .......... 32% 42.1M 6s + 2500K .......... .......... .......... .......... .......... 33% 63.3M 6s + 2550K .......... .......... .......... .......... .......... 33% 109M 6s + 2600K .......... .......... .......... .......... .......... 34% 60.4M 6s + 2650K .......... .......... .......... .......... .......... 35% 1.27M 6s + 2700K .......... .......... .......... .......... .......... 35% 1.72M 6s + 2750K .......... .......... .......... .......... .......... 36% 2.59M 6s + 2800K .......... .......... .......... .......... .......... 37% 28.9M 5s + 2850K .......... .......... .......... .......... .......... 37% 52.6M 5s + 2900K .......... .......... .......... .......... .......... 38% 3.42M 5s + 2950K .......... .......... .......... .......... .......... 39% 2.39M 5s + 3000K .......... .......... .......... .......... .......... 39% 1.56M 5s + 3050K .......... .......... .......... .......... .......... 40% 2.00M 5s + 3100K .......... .......... .......... .......... .......... 41% 4.83M 5s + 3150K .......... .......... .......... .......... .......... 41% 46.9M 5s + 3200K .......... .......... .......... .......... .......... 42% 54.7M 4s + 3250K .......... .......... .......... .......... .......... 42% 8.35M 4s + 3300K .......... .......... .......... .......... .......... 43% 2.94M 4s + 3350K .......... .......... .......... .......... .......... 44% 3.31M 4s + 3400K .......... .......... .......... .......... .......... 44% 2.05M 4s + 3450K .......... .......... .......... .......... .......... 45% 3.20M 4s + 3500K .......... .......... .......... .......... .......... 46% 4.23M 4s + 3550K .......... .......... .......... .......... .......... 46% 3.54M 4s + 3600K .......... .......... .......... .......... .......... 47% 7.19M 4s + 3650K .......... .......... .......... .......... .......... 48% 56.1M 4s + 3700K .......... .......... .......... .......... .......... 48% 268K 4s + 3750K .......... .......... .......... .......... .......... 49% 641K 4s + 3800K .......... .......... .......... .......... .......... 50% 36.7M 4s + 3850K .......... .......... .......... .......... .......... 50% 97.7M 4s + 3900K .......... .......... .......... .......... .......... 51% 59.9M 3s + 3950K .......... .......... .......... .......... .......... 52% 51.6M 3s + 4000K .......... .......... .......... .......... .......... 52% 60.2M 3s + 4050K .......... .......... .......... .......... .......... 53% 23.8M 3s + 4100K .......... .......... .......... .......... .......... 54% 66.4M 3s + 4150K .......... .......... .......... .......... .......... 54% 116M 3s + 4200K .......... .......... .......... .......... .......... 55% 211K 3s + 4250K .......... .......... .......... .......... .......... 56% 5.00M 3s + 4300K .......... .......... .......... .......... .......... 56% 29.9M 3s + 4350K .......... .......... .......... .......... .......... 57% 2.57M 3s + 4400K .......... .......... .......... .......... .......... 57% 57.5M 3s + 4450K .......... .......... .......... .......... .......... 58% 198K 3s + 4500K .......... .......... .......... .......... .......... 59% 64.2M 3s + 4550K .......... .......... .......... .......... .......... 59% 209K 3s + 4600K .......... .......... .......... .......... .......... 60% 246K 3s + 4650K .......... .......... .......... .......... .......... 61% 2.09M 3s + 4700K .......... .......... .......... .......... .......... 61% 212K 3s + 4750K .......... .......... .......... .......... .......... 62% 209K 3s + 4800K .......... .......... .......... .......... .......... 63% 89.2M 3s + 4850K .......... .......... .......... .......... .......... 63% 36.7K 4s + 4900K .......... .......... .......... .......... .......... 64% 2.80M 4s + 4950K .......... .......... .......... .......... .......... 65% 65.2M 3s + 5000K .......... .......... .......... .......... .......... 65% 39.0M 3s + 5050K .......... .......... .......... .......... .......... 66% 58.9M 3s + 5100K .......... .......... .......... .......... .......... 67% 67.0M 3s + 5150K .......... .......... .......... .......... .......... 67% 114M 3s + 5200K .......... .......... .......... .......... .......... 68% 57.6M 3s + 5250K .......... .......... .......... .......... .......... 69% 56.1M 3s + 5300K .......... .......... .......... .......... .......... 69% 68.4M 3s + 5350K .......... .......... .......... .......... .......... 70% 117M 3s + 5400K .......... .......... .......... .......... .......... 70% 63.2M 3s + 5450K .......... .......... .......... .......... .......... 71% 116M 3s + 5500K .......... .......... .......... .......... .......... 72% 69.3M 2s + 5550K .......... .......... .......... .......... .......... 72% 281K 2s + 5600K .......... .......... .......... .......... .......... 73% 202K 2s + 5650K .......... .......... .......... .......... .......... 74% 203K 2s + 5700K .......... .......... .......... .......... .......... 74% 61.4M 2s + 5750K .......... .......... .......... .......... .......... 75% 203K 2s + 5800K .......... .......... .......... .......... .......... 76% 2.54M 2s + 5850K .......... .......... .......... .......... .......... 76% 40.7M 2s + 5900K .......... .......... .......... .......... .......... 77% 52.8M 2s + 5950K .......... .......... .......... .......... .......... 78% 76.4M 2s + 6000K .......... .......... .......... .......... .......... 78% 45.6M 2s + 6050K .......... .......... .......... .......... .......... 79% 109M 2s + 6100K .......... .......... .......... .......... .......... 80% 65.2M 2s + 6150K .......... .......... .......... .......... .......... 80% 62.5M 2s + 6200K .......... .......... .......... .......... .......... 81% 279K 2s + 6250K .......... .......... .......... .......... .......... 82% 204K 2s + 6300K .......... .......... .......... .......... .......... 82% 1.84M 2s + 6350K .......... .......... .......... .......... .......... 83% 8.31M 2s + 6400K .......... .......... .......... .......... .......... 84% 30.2M 2s + 6450K .......... .......... .......... .......... .......... 84% 45.3M 1s + 6500K .......... .......... .......... .......... .......... 85% 43.9M 1s + 6550K .......... .......... .......... .......... .......... 85% 43.3M 1s + 6600K .......... .......... .......... .......... .......... 86% 29.0M 1s + 6650K .......... .......... .......... .......... .......... 87% 114K 1s + 6700K .......... .......... .......... .......... .......... 87% 194K 1s + 6750K .......... .......... .......... .......... .......... 88% 117K 1s + 6800K .......... .......... .......... .......... .......... 89% 198K 1s + 6850K .......... .......... .......... .......... .......... 89% 1.37M 1s + 6900K .......... .......... .......... .......... .......... 90% 220K 1s + 6950K .......... .......... .......... .......... .......... 91% 230K 1s + 7000K .......... .......... .......... .......... .......... 91% 2.14M 1s + 7050K .......... .......... .......... .......... .......... 92% 238K 1s + 7100K .......... .......... .......... .......... .......... 93% 2.00M 1s + 7150K .......... .......... .......... .......... .......... 93% 211K 1s + 7200K .......... .......... .......... .......... .......... 94% 93.9M 1s + 7250K .......... .......... .......... .......... .......... 95% 235K 1s + 7300K .......... .......... .......... .......... .......... 95% 1.70M 0s + 7350K .......... .......... .......... .......... .......... 96% 108M 0s + 7400K .......... .......... .......... .......... .......... 97% 243K 0s + 7450K .......... .......... .......... .......... .......... 97% 1.33M 0s + 7500K .......... .......... .......... .......... .......... 98% 13.2M 0s + 7550K .......... .......... .......... .......... .......... 98% 234K 0s + 7600K .......... .......... .......... .......... .......... 99% 7.62M 0s + 7650K .......... .......... ....... 100% 70.5M=11s + +2018-12-25 10:25:32 (700 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 10:29:53-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:29:54-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 4% 56.3K 21s + 50K .......... .......... .......... .......... .......... 8% 211K 13s + 100K .......... .......... .......... .......... .......... 12% 215K 10s + 150K .......... .......... .......... .......... .......... 16% 215K 8s + 200K .......... .......... .......... .......... .......... 20% 2.25M 6s + 250K .......... .......... .......... .......... .......... 24% 229K 6s + 300K .......... .......... .......... .......... .......... 28% 231K 5s + 350K .......... .......... .......... .......... .......... 32% 2.40M 4s + 400K .......... .......... .......... .......... .......... 36% 246K 4s + 450K .......... .......... .......... .......... .......... 40% 36.4M 3s + 500K .......... .......... .......... .......... .......... 44% 1.77M 3s + 550K .......... .......... .......... .......... .......... 48% 229K 3s + 600K .......... .......... .......... .......... .......... 52% 3.27M 2s + 650K .......... .......... .......... .......... .......... 56% 36.7M 2s + 700K .......... .......... .......... .......... .......... 60% 238K 2s + 750K .......... .......... .......... .......... .......... 64% 1.88M 2s + 800K .......... .......... .......... .......... .......... 68% 29.5M 1s + 850K .......... .......... .......... .......... .......... 72% 58.2M 1s + 900K .......... .......... .......... .......... .......... 76% 231K 1s + 950K .......... .......... .......... .......... .......... 80% 2.47M 1s + 1000K .......... .......... .......... .......... .......... 84% 55.7M 1s + 1050K .......... .......... .......... .......... .......... 88% 59.0M 0s + 1100K .......... .......... .......... .......... .......... 92% 60.1M 0s + 1150K .......... .......... .......... .......... .......... 96% 246K 0s + 1200K .......... .......... .......... .......... ... 100% 4.79M=3.2s + +2018-12-25 10:29:58 (386 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + creating: 2101_insertion/ + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + creating: 2101_insertion/css/ + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + creating: 2101_insertion/img/ + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + creating: 2101_insertion/js/ + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + creating: 2101_insertion/webfonts/ + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Resolving Dependencies +--> Running transaction check +---> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed +---> Package unzip.x86_64 0:6.0-19.el7 will be installed +---> Package wget.x86_64 0:1.14-18.el7 will be installed +--> Finished Dependency Resolution + +Dependencies Resolved + +================================================================================ + Package Arch Version Repository Size +================================================================================ +Installing: + httpd x86_64 2.4.6-88.el7.centos base 2.7 M + unzip x86_64 6.0-19.el7 base 170 k + wget x86_64 1.14-18.el7 base 547 k + +Transaction Summary +================================================================================ +Install 3 Packages + +Total download size: 3.4 M +Installed size: 12 M +Downloading packages: +-------------------------------------------------------------------------------- +Total 1.9 MB/s | 3.4 MB 00:01 +Running transaction check +Running transaction test +Transaction test succeeded +Running transaction + Installing : wget-1.14-18.el7.x86_64 1/3 + Installing : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Installing : unzip-6.0-19.el7.x86_64 3/3 + Verifying : unzip-6.0-19.el7.x86_64 1/3 + Verifying : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Verifying : wget-1.14-18.el7.x86_64 3/3 + +Installed: + httpd.x86_64 0:2.4.6-88.el7.centos unzip.x86_64 0:6.0-19.el7 + wget.x86_64 0:1.14-18.el7 + +Complete! +################################################################ + + +Starting and Enabling Service +Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. +################################################################ + + +Copying website data +--2018-12-25 10:36:52-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:36:53-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 4% 70.2K 17s + 50K .......... .......... .......... .......... .......... 8% 106K 14s + 100K .......... .......... .......... .......... .......... 12% 236K 10s + 150K .......... .......... .......... .......... .......... 16% 285K 8s + 200K .......... .......... .......... .......... .......... 20% 907K 6s + 250K .......... .......... .......... .......... .......... 24% 218K 6s + 300K .......... .......... .......... .......... .......... 28% 25.5M 5s + 350K .......... .......... .......... .......... .......... 32% 253K 4s + 400K .......... .......... .......... .......... .......... 36% 2.65M 4s + 450K .......... .......... .......... .......... .......... 40% 304K 3s + 500K .......... .......... .......... .......... .......... 44% 806K 3s + 550K .......... .......... .......... .......... .......... 48% 23.1M 2s + 600K .......... .......... .......... .......... .......... 52% 253K 2s + 650K .......... .......... .......... .......... .......... 56% 1.92M 2s + 700K .......... .......... .......... .......... .......... 60% 4.53M 2s + 750K .......... .......... .......... .......... .......... 64% 1.99M 1s + 800K .......... .......... .......... .......... .......... 68% 265K 1s + 850K .......... .......... .......... .......... .......... 72% 4.51M 1s + 900K .......... .......... .......... .......... .......... 76% 4.88M 1s + 950K .......... .......... .......... .......... .......... 80% 54.5M 1s + 1000K .......... .......... .......... .......... .......... 84% 272K 1s + 1050K .......... .......... .......... .......... .......... 88% 4.75M 0s + 1100K .......... .......... .......... .......... .......... 92% 2.84M 0s + 1150K .......... .......... .......... .......... .......... 96% 7.72M 0s + 1200K .......... .......... .......... .......... ... 100% 4.73M=3.0s + +2018-12-25 10:36:57 (415 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Resolving Dependencies +--> Running transaction check +---> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed +---> Package unzip.x86_64 0:6.0-19.el7 will be installed +---> Package wget.x86_64 0:1.14-18.el7 will be installed +--> Finished Dependency Resolution + +Dependencies Resolved + +================================================================================ + Package Arch Version Repository Size +================================================================================ +Installing: + httpd x86_64 2.4.6-88.el7.centos base 2.7 M + unzip x86_64 6.0-19.el7 base 170 k + wget x86_64 1.14-18.el7 base 547 k + +Transaction Summary +================================================================================ +Install 3 Packages + +Total download size: 3.4 M +Installed size: 12 M +Downloading packages: +-------------------------------------------------------------------------------- +Total 2.2 MB/s | 3.4 MB 00:01 +Running transaction check +Running transaction test +Transaction test succeeded +Running transaction + Installing : wget-1.14-18.el7.x86_64 1/3 + Installing : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Installing : unzip-6.0-19.el7.x86_64 3/3 + Verifying : unzip-6.0-19.el7.x86_64 1/3 + Verifying : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Verifying : wget-1.14-18.el7.x86_64 3/3 + +Installed: + httpd.x86_64 0:2.4.6-88.el7.centos unzip.x86_64 0:6.0-19.el7 + wget.x86_64 0:1.14-18.el7 + +Complete! +################################################################ + + +Starting and Enabling Service +Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. +################################################################ + + +Copying website data +--2018-12-25 10:40:45-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:40:46-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 4% 65.2K 18s + 50K .......... .......... .......... .......... .......... 8% 116K 14s + 100K .......... .......... .......... .......... .......... 12% 217K 10s + 150K .......... .......... .......... .......... .......... 16% 432K 8s + 200K .......... .......... .......... .......... .......... 20% 279K 7s + 250K .......... .......... .......... .......... .......... 24% 267K 6s + 300K .......... .......... .......... .......... .......... 28% 771K 5s + 350K .......... .......... .......... .......... .......... 32% 1.33M 4s + 400K .......... .......... .......... .......... .......... 36% 276K 4s + 450K .......... .......... .......... .......... .......... 40% 3.18M 3s + 500K .......... .......... .......... .......... .......... 44% 249K 3s + 550K .......... .......... .......... .......... .......... 48% 34.3M 3s + 600K .......... .......... .......... .......... .......... 52% 1.30M 2s + 650K .......... .......... .......... .......... .......... 56% 52.1M 2s + 700K .......... .......... .......... .......... .......... 60% 266K 2s + 750K .......... .......... .......... .......... .......... 64% 16.0M 1s + 800K .......... .......... .......... .......... .......... 68% 974K 1s + 850K .......... .......... .......... .......... .......... 72% 107M 1s + 900K .......... .......... .......... .......... .......... 76% 752K 1s + 950K .......... .......... .......... .......... .......... 80% 374K 1s + 1000K .......... .......... .......... .......... .......... 84% 2.49M 1s + 1050K .......... .......... .......... .......... .......... 88% 1.64M 0s + 1100K .......... .......... .......... .......... .......... 92% 51.1M 0s + 1150K .......... .......... .......... .......... .......... 96% 51.8M 0s + 1200K .......... .......... .......... .......... ... 100% 809K=3.0s + +2018-12-25 10:40:50 (415 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Resolving Dependencies +--> Running transaction check +---> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed +---> Package unzip.x86_64 0:6.0-19.el7 will be installed +---> Package wget.x86_64 0:1.14-18.el7 will be installed +--> Finished Dependency Resolution + +Dependencies Resolved + +================================================================================ + Package Arch Version Repository Size +================================================================================ +Installing: + httpd x86_64 2.4.6-88.el7.centos base 2.7 M + unzip x86_64 6.0-19.el7 base 170 k + wget x86_64 1.14-18.el7 base 547 k + +Transaction Summary +================================================================================ +Install 3 Packages + +Total download size: 3.4 M +Installed size: 12 M +Downloading packages: +-------------------------------------------------------------------------------- +Total 1.9 MB/s | 3.4 MB 00:01 +Running transaction check +Running transaction test +Transaction test succeeded +Running transaction + Installing : wget-1.14-18.el7.x86_64 1/3 + Installing : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Installing : unzip-6.0-19.el7.x86_64 3/3 + Verifying : unzip-6.0-19.el7.x86_64 1/3 + Verifying : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Verifying : wget-1.14-18.el7.x86_64 3/3 + +Installed: + httpd.x86_64 0:2.4.6-88.el7.centos unzip.x86_64 0:6.0-19.el7 + wget.x86_64 0:1.14-18.el7 + +Complete! +################################################################ + + +Starting and Enabling Service +Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. +################################################################ + + +Copying website data +--2018-12-25 10:53:45-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:53:46-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 53.5K 2m22s + 50K .......... .......... .......... .......... .......... 1% 173K 93s + 100K .......... .......... .......... .......... .......... 1% 217K 73s + 150K .......... .......... .......... .......... .......... 2% 212K 63s + 200K .......... .......... .......... .......... .......... 3% 245K 56s + 250K .......... .......... .......... .......... .......... 3% 244K 52s + 300K .......... .......... .......... .......... .......... 4% 1.79M 45s + 350K .......... .......... .......... .......... .......... 5% 245K 42s + 400K .......... .......... .......... .......... .......... 5% 1008K 38s + 450K .......... .......... .......... .......... .......... 6% 1.32M 35s + 500K .......... .......... .......... .......... .......... 7% 325K 33s + 550K .......... .......... .......... .......... .......... 7% 1.44M 31s + 600K .......... .......... .......... .......... .......... 8% 3.09M 28s + 650K .......... .......... .......... .......... .......... 9% 267K 28s + 700K .......... .......... .......... .......... .......... 9% 3.10M 26s + 750K .......... .......... .......... .......... .......... 10% 1.32M 25s + 800K .......... .......... .......... .......... .......... 11% 270K 24s + 850K .......... .......... .......... .......... .......... 11% 5.50M 23s + 900K .......... .......... .......... .......... .......... 12% 2.87M 22s + 950K .......... .......... .......... .......... .......... 13% 56.3M 21s + 1000K .......... .......... .......... .......... .......... 13% 1.90M 20s + 1050K .......... .......... .......... .......... .......... 14% 294K 20s + 1100K .......... .......... .......... .......... .......... 14% 5.98M 19s + 1150K .......... .......... .......... .......... .......... 15% 1.87M 18s + 1200K .......... .......... .......... .......... .......... 16% 6.19M 17s + 1250K .......... .......... .......... .......... .......... 16% 2.33M 16s + 1300K .......... .......... .......... .......... .......... 17% 11.2M 16s + 1350K .......... .......... .......... .......... .......... 18% 247K 16s + 1400K .......... .......... .......... .......... .......... 18% 6.38M 15s + 1450K .......... .......... .......... .......... .......... 19% 58.9M 15s + 1500K .......... .......... .......... .......... .......... 20% 61.4M 14s + 1550K .......... .......... .......... .......... .......... 20% 58.4M 13s + 1600K .......... .......... .......... .......... .......... 21% 2.01M 13s + 1650K .......... .......... .......... .......... .......... 22% 296K 13s + 1700K .......... .......... .......... .......... .......... 22% 2.44M 13s + 1750K .......... .......... .......... .......... .......... 23% 6.20M 12s + 1800K .......... .......... .......... .......... .......... 24% 2.70M 12s + 1850K .......... .......... .......... .......... .......... 24% 1.61M 12s + 1900K .......... .......... .......... .......... .......... 25% 53.2M 11s + 1950K .......... .......... .......... .......... .......... 26% 113M 11s + 2000K .......... .......... .......... .......... .......... 26% 56.9M 10s + 2050K .......... .......... .......... .......... .......... 27% 304K 11s + 2100K .......... .......... .......... .......... .......... 28% 24.3M 10s + 2150K .......... .......... .......... .......... .......... 28% 1.23M 10s + 2200K .......... .......... .......... .......... .......... 29% 4.39M 10s + 2250K .......... .......... .......... .......... .......... 29% 1.63M 10s + 2300K .......... .......... .......... .......... .......... 30% 53.6M 9s + 2350K .......... .......... .......... .......... .......... 31% 37.8M 9s + 2400K .......... .......... .......... .......... .......... 31% 35.2M 9s + 2450K .......... .......... .......... .......... .......... 32% 19.7M 8s + 2500K .......... .......... .......... .......... .......... 33% 41.8M 8s + 2550K .......... .......... .......... .......... .......... 33% 334K 8s + 2600K .......... .......... .......... .......... .......... 34% 18.9M 8s + 2650K .......... .......... .......... .......... .......... 35% 2.59M 8s + 2700K .......... .......... .......... .......... .......... 35% 1.39M 8s + 2750K .......... .......... .......... .......... .......... 36% 2.79M 7s + 2800K .......... .......... .......... .......... .......... 37% 9.74M 7s + 2850K .......... .......... .......... .......... .......... 37% 7.82M 7s + 2900K .......... .......... .......... .......... .......... 38% 4.09M 7s + 2950K .......... .......... .......... .......... .......... 39% 6.09M 7s + 3000K .......... .......... .......... .......... .......... 39% 92.3M 7s + 3050K .......... .......... .......... .......... .......... 40% 50.6M 6s + 3100K .......... .......... .......... .......... .......... 41% 63.9M 6s + 3150K .......... .......... .......... .......... .......... 41% 520K 6s + 3200K .......... .......... .......... .......... .......... 42% 1.79M 6s + 3250K .......... .......... .......... .......... .......... 42% 3.88M 6s + 3300K .......... .......... .......... .......... .......... 43% 1.19M 6s + 3350K .......... .......... .......... .......... .......... 44% 7.46M 6s + 3400K .......... .......... .......... .......... .......... 44% 2.30M 6s + 3450K .......... .......... .......... .......... .......... 45% 9.67M 5s + 3500K .......... .......... .......... .......... .......... 46% 3.93M 5s + 3550K .......... .......... .......... .......... .......... 46% 1.62M 5s + 3600K .......... .......... .......... .......... .......... 47% 24.0M 5s + 3650K .......... .......... .......... .......... .......... 48% 89.9M 5s + 3700K .......... .......... .......... .......... .......... 48% 11.0M 5s + 3750K .......... .......... .......... .......... .......... 49% 9.35M 5s + 3800K .......... .......... .......... .......... .......... 50% 18.3M 5s + 3850K .......... .......... .......... .......... .......... 50% 30.8M 4s + 3900K .......... .......... .......... .......... .......... 51% 662K 4s + 3950K .......... .......... .......... .......... .......... 52% 4.79M 4s + 4000K .......... .......... .......... .......... .......... 52% 3.75M 4s + 4050K .......... .......... .......... .......... .......... 53% 1.19M 4s + 4100K .......... .......... .......... .......... .......... 54% 1.17M 4s + 4150K .......... .......... .......... .......... .......... 54% 4.34M 4s + 4200K .......... .......... .......... .......... .......... 55% 44.0M 4s + 4250K .......... .......... .......... .......... .......... 56% 1.92M 4s + 4300K .......... .......... .......... .......... .......... 56% 102M 4s + 4350K .......... .......... .......... .......... .......... 57% 1.58M 4s + 4400K .......... .......... .......... .......... .......... 57% 21.8M 4s + 4450K .......... .......... .......... .......... .......... 58% 63.3M 3s + 4500K .......... .......... .......... .......... .......... 59% 63.6M 3s + 4550K .......... .......... .......... .......... .......... 59% 107M 3s + 4600K .......... .......... .......... .......... .......... 60% 58.5M 3s + 4650K .......... .......... .......... .......... .......... 61% 61.1M 3s + 4700K .......... .......... .......... .......... .......... 61% 110M 3s + 4750K .......... .......... .......... .......... .......... 62% 1.74M 3s + 4800K .......... .......... .......... .......... .......... 63% 1.01M 3s + 4850K .......... .......... .......... .......... .......... 63% 14.9M 3s + 4900K .......... .......... .......... .......... .......... 64% 26.8M 3s + 4950K .......... .......... .......... .......... .......... 65% 3.97M 3s + 5000K .......... .......... .......... .......... .......... 65% 1.32M 3s + 5050K .......... .......... .......... .......... .......... 66% 106M 3s + 5100K .......... .......... .......... .......... .......... 67% 7.35M 2s + 5150K .......... .......... .......... .......... .......... 67% 1.54M 2s + 5200K .......... .......... .......... .......... .......... 68% 18.3M 2s + 5250K .......... .......... .......... .......... .......... 69% 187K 2s + 5300K .......... .......... .......... .......... .......... 69% 6.69M 2s + 5350K .......... .......... .......... .......... .......... 70% 1.37M 2s + 5400K .......... .......... .......... .......... .......... 70% 2.63M 2s + 5450K .......... .......... .......... .......... .......... 71% 1.74M 2s + 5500K .......... .......... .......... .......... .......... 72% 1.98M 2s + 5550K .......... .......... .......... .......... .......... 72% 3.79M 2s + 5600K .......... .......... .......... .......... .......... 73% 16.1M 2s + 5650K .......... .......... .......... .......... .......... 74% 1.87M 2s + 5700K .......... .......... .......... .......... .......... 74% 23.5M 2s + 5750K .......... .......... .......... .......... .......... 75% 44.4M 2s + 5800K .......... .......... .......... .......... .......... 76% 3.89M 2s + 5850K .......... .......... .......... .......... .......... 76% 62.6M 2s + 5900K .......... .......... .......... .......... .......... 77% 109M 2s + 5950K .......... .......... .......... .......... .......... 78% 7.43M 2s + 6000K .......... .......... .......... .......... .......... 78% 55.0M 1s + 6050K .......... .......... .......... .......... .......... 79% 47.6M 1s + 6100K .......... .......... .......... .......... .......... 80% 41.5M 1s + 6150K .......... .......... .......... .......... .......... 80% 52.7M 1s + 6200K .......... .......... .......... .......... .......... 81% 53.1M 1s + 6250K .......... .......... .......... .......... .......... 82% 49.7M 1s + 6300K .......... .......... .......... .......... .......... 82% 24.8M 1s + 6350K .......... .......... .......... .......... .......... 83% 6.30M 1s + 6400K .......... .......... .......... .......... .......... 84% 16.0M 1s + 6450K .......... .......... .......... .......... .......... 84% 26.7M 1s + 6500K .......... .......... .......... .......... .......... 85% 38.9M 1s + 6550K .......... .......... .......... .......... .......... 85% 51.1M 1s + 6600K .......... .......... .......... .......... .......... 86% 5.63M 1s + 6650K .......... .......... .......... .......... .......... 87% 54.2M 1s + 6700K .......... .......... .......... .......... .......... 87% 50.4M 1s + 6750K .......... .......... .......... .......... .......... 88% 5.02M 1s + 6800K .......... .......... .......... .......... .......... 89% 7.24M 1s + 6850K .......... .......... .......... .......... .......... 89% 55.6M 1s + 6900K .......... .......... .......... .......... .......... 90% 3.51M 1s + 6950K .......... .......... .......... .......... .......... 91% 2.03M 1s + 7000K .......... .......... .......... .......... .......... 91% 2.69M 0s + 7050K .......... .......... .......... .......... .......... 92% 28.6M 0s + 7100K .......... .......... .......... .......... .......... 93% 47.6M 0s + 7150K .......... .......... .......... .......... .......... 93% 47.7M 0s + 7200K .......... .......... .......... .......... .......... 94% 46.1M 0s + 7250K .......... .......... .......... .......... .......... 95% 60.7M 0s + 7300K .......... .......... .......... .......... .......... 95% 46.4M 0s + 7350K .......... .......... .......... .......... .......... 96% 4.57M 0s + 7400K .......... .......... .......... .......... .......... 97% 3.09M 0s + 7450K .......... .......... .......... .......... .......... 97% 35.3M 0s + 7500K .......... .......... .......... .......... .......... 98% 76.6M 0s + 7550K .......... .......... .......... .......... .......... 98% 30.0M 0s + 7600K .......... .......... .......... .......... .......... 99% 28.4M 0s + 7650K .......... .......... ....... 100% 109M=5.6s + +2018-12-25 10:53:52 (1.33 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 10:59:07-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:59:08-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 70.9K 1m48s + 50K .......... .......... .......... .......... .......... 1% 111K 88s + 100K .......... .......... .......... .......... .......... 1% 206K 70s + 150K .......... .......... .......... .......... .......... 2% 308K 58s + 200K .......... .......... .......... .......... .......... 3% 793K 48s + 250K .......... .......... .......... .......... .......... 3% 237K 45s + 300K .......... .......... .......... .......... .......... 4% 8.36M 39s + 350K .......... .......... .......... .......... .......... 5% 213K 38s + 400K .......... .......... .......... .......... .......... 5% 3.75M 34s + 450K .......... .......... .......... .......... .......... 6% 238K 33s + 500K .......... .......... .......... .......... .......... 7% 22.3M 30s + 550K .......... .......... .......... .......... .......... 7% 296K 29s + 600K .......... .......... .......... .......... .......... 8% 657K 28s + 650K .......... .......... .......... .......... .......... 9% 13.6M 25s + 700K .......... .......... .......... .......... .......... 9% 72.1M 24s + 750K .......... .......... .......... .......... .......... 10% 369K 23s + 800K .......... .......... .......... .......... .......... 11% 449K 22s + 850K .......... .......... .......... .......... .......... 11% 42.4M 21s + 900K .......... .......... .......... .......... .......... 12% 95.5M 20s + 950K .......... .......... .......... .......... .......... 13% 402K 20s + 1000K .......... .......... .......... .......... .......... 13% 650K 19s + 1050K .......... .......... .......... .......... .......... 14% 3.81M 18s + 1100K .......... .......... .......... .......... .......... 14% 17.9M 17s + 1150K .......... .......... .......... .......... .......... 15% 3.35M 16s + 1200K .......... .......... .......... .......... .......... 16% 527K 16s + 1250K .......... .......... .......... .......... .......... 16% 1.32M 16s + 1300K .......... .......... .......... .......... .......... 17% 867K 15s + 1350K .......... .......... .......... .......... .......... 18% 4.60M 14s + 1400K .......... .......... .......... .......... .......... 18% 2.50M 14s + 1450K .......... .......... .......... .......... .......... 19% 6.96M 13s + 1500K .......... .......... .......... .......... .......... 20% 6.19M 13s + 1550K .......... .......... .......... .......... .......... 20% 506K 13s + 1600K .......... .......... .......... .......... .......... 21% 1.06M 12s + 1650K .......... .......... .......... .......... .......... 22% 874K 12s + 1700K .......... .......... .......... .......... .......... 22% 53.3M 12s + 1750K .......... .......... .......... .......... .......... 23% 53.4M 11s + 1800K .......... .......... .......... .......... .......... 24% 2.84M 11s + 1850K .......... .......... .......... .......... .......... 24% 3.53M 11s + 1900K .......... .......... .......... .......... .......... 25% 6.33M 10s + 1950K .......... .......... .......... .......... .......... 26% 466K 10s + 2000K .......... .......... .......... .......... .......... 26% 3.50M 10s + 2050K .......... .......... .......... .......... .......... 27% 49.5M 10s + 2100K .......... .......... .......... .......... .......... 28% 1.22M 9s + 2150K .......... .......... .......... .......... .......... 28% 3.21M 9s + 2200K .......... .......... .......... .......... .......... 29% 11.9M 9s + 2250K .......... .......... .......... .......... .......... 29% 2.91M 9s + 2300K .......... .......... .......... .......... .......... 30% 5.57M 8s + 2350K .......... .......... .......... .......... .......... 31% 4.90M 8s + 2400K .......... .......... .......... .......... .......... 31% 6.52M 8s + 2450K .......... .......... .......... .......... .......... 32% 395K 8s + 2500K .......... .......... .......... .......... .......... 33% 4.56M 8s + 2550K .......... .......... .......... .......... .......... 33% 37.3M 8s + 2600K .......... .......... .......... .......... .......... 34% 51.4M 7s + 2650K .......... .......... .......... .......... .......... 35% 1.63M 7s + 2700K .......... .......... .......... .......... .......... 35% 5.87M 7s + 2750K .......... .......... .......... .......... .......... 36% 5.07M 7s + 2800K .......... .......... .......... .......... .......... 37% 4.12M 7s + 2850K .......... .......... .......... .......... .......... 37% 3.04M 7s + 2900K .......... .......... .......... .......... .......... 38% 36.8M 6s + 2950K .......... .......... .......... .......... .......... 39% 2.19M 6s + 3000K .......... .......... .......... .......... .......... 39% 6.45M 6s + 3050K .......... .......... .......... .......... .......... 40% 462K 6s + 3100K .......... .......... .......... .......... .......... 41% 6.21M 6s + 3150K .......... .......... .......... .......... .......... 41% 57.7M 6s + 3200K .......... .......... .......... .......... .......... 42% 43.9M 6s + 3250K .......... .......... .......... .......... .......... 42% 4.82M 5s + 3300K .......... .......... .......... .......... .......... 43% 2.28M 5s + 3350K .......... .......... .......... .......... .......... 44% 3.02M 5s + 3400K .......... .......... .......... .......... .......... 44% 4.55M 5s + 3450K .......... .......... .......... .......... .......... 45% 7.15M 5s + 3500K .......... .......... .......... .......... .......... 46% 112M 5s + 3550K .......... .......... .......... .......... .......... 46% 3.64M 5s + 3600K .......... .......... .......... .......... .......... 47% 1.56M 5s + 3650K .......... .......... .......... .......... .......... 48% 7.45M 5s + 3700K .......... .......... .......... .......... .......... 48% 46.7M 4s + 3750K .......... .......... .......... .......... .......... 49% 74.8M 4s + 3800K .......... .......... .......... .......... .......... 50% 577K 4s + 3850K .......... .......... .......... .......... .......... 50% 12.2M 4s + 3900K .......... .......... .......... .......... .......... 51% 1.85M 4s + 3950K .......... .......... .......... .......... .......... 52% 1.87M 4s + 4000K .......... .......... .......... .......... .......... 52% 16.9M 4s + 4050K .......... .......... .......... .......... .......... 53% 51.6M 4s + 4100K .......... .......... .......... .......... .......... 54% 52.1M 4s + 4150K .......... .......... .......... .......... .......... 54% 12.8M 4s + 4200K .......... .......... .......... .......... .......... 55% 4.04M 4s + 4250K .......... .......... .......... .......... .......... 56% 5.95M 3s + 4300K .......... .......... .......... .......... .......... 56% 1.28M 3s + 4350K .......... .......... .......... .......... .......... 57% 6.86M 3s + 4400K .......... .......... .......... .......... .......... 57% 2.29M 3s + 4450K .......... .......... .......... .......... .......... 58% 12.3M 3s + 4500K .......... .......... .......... .......... .......... 59% 107M 3s + 4550K .......... .......... .......... .......... .......... 59% 63.2M 3s + 4600K .......... .......... .......... .......... .......... 60% 59.4M 3s + 4650K .......... .......... .......... .......... .......... 61% 79.0M 3s + 4700K .......... .......... .......... .......... .......... 61% 911K 3s + 4750K .......... .......... .......... .......... .......... 62% 3.64M 3s + 4800K .......... .......... .......... .......... .......... 63% 2.52M 3s + 4850K .......... .......... .......... .......... .......... 63% 1.86M 3s + 4900K .......... .......... .......... .......... .......... 64% 100M 3s + 4950K .......... .......... .......... .......... .......... 65% 4.70M 2s + 5000K .......... .......... .......... .......... .......... 65% 15.1M 2s + 5050K .......... .......... .......... .......... .......... 66% 4.31M 2s + 5100K .......... .......... .......... .......... .......... 67% 11.5M 2s + 5150K .......... .......... .......... .......... .......... 67% 14.2M 2s + 5200K .......... .......... .......... .......... .......... 68% 1007K 2s + 5250K .......... .......... .......... .......... .......... 69% 3.17M 2s + 5300K .......... .......... .......... .......... .......... 69% 1.71M 2s + 5350K .......... .......... .......... .......... .......... 70% 85.9K 2s + 5400K .......... .......... .......... .......... .......... 70% 528K 2s + 5450K .......... .......... .......... .......... .......... 71% 864K 2s + 5500K .......... .......... .......... .......... .......... 72% 1.80M 2s + 5550K .......... .......... .......... .......... .......... 72% 24.9M 2s + 5600K .......... .......... .......... .......... .......... 73% 701K 2s + 5650K .......... .......... .......... .......... .......... 74% 21.2M 2s + 5700K .......... .......... .......... .......... .......... 74% 2.55M 2s + 5750K .......... .......... .......... .......... .......... 75% 1.12M 2s + 5800K .......... .......... .......... .......... .......... 76% 3.02M 2s + 5850K .......... .......... .......... .......... .......... 76% 26.7M 2s + 5900K .......... .......... .......... .......... .......... 77% 108M 2s + 5950K .......... .......... .......... .......... .......... 78% 63.9M 2s + 6000K .......... .......... .......... .......... .......... 78% 54.3M 2s + 6050K .......... .......... .......... .......... .......... 79% 109M 1s + 6100K .......... .......... .......... .......... .......... 80% 53.8M 1s + 6150K .......... .......... .......... .......... .......... 80% 64.4M 1s + 6200K .......... .......... .......... .......... .......... 81% 60.0M 1s + 6250K .......... .......... .......... .......... .......... 82% 111M 1s + 6300K .......... .......... .......... .......... .......... 82% 65.8M 1s + 6350K .......... .......... .......... .......... .......... 83% 280K 1s + 6400K .......... .......... .......... .......... .......... 84% 23.7K 2s + 6450K .......... .......... .......... .......... .......... 84% 1.80M 1s + 6500K .......... .......... .......... .......... .......... 85% 2.86M 1s + 6550K .......... .......... .......... .......... .......... 85% 2.65M 1s + 6600K .......... .......... .......... .......... .......... 86% 47.3M 1s + 6650K .......... .......... .......... .......... .......... 87% 52.5M 1s + 6700K .......... .......... .......... .......... .......... 87% 52.0M 1s + 6750K .......... .......... .......... .......... .......... 88% 51.9M 1s + 6800K .......... .......... .......... .......... .......... 89% 29.3M 1s + 6850K .......... .......... .......... .......... .......... 89% 39.2M 1s + 6900K .......... .......... .......... .......... .......... 90% 65.2M 1s + 6950K .......... .......... .......... .......... .......... 91% 50.5M 1s + 7000K .......... .......... .......... .......... .......... 91% 49.4M 1s + 7050K .......... .......... .......... .......... .......... 92% 49.4M 1s + 7100K .......... .......... .......... .......... .......... 93% 51.6M 1s + 7150K .......... .......... .......... .......... .......... 93% 52.8M 1s + 7200K .......... .......... .......... .......... .......... 94% 42.7M 0s + 7250K .......... .......... .......... .......... .......... 95% 39.1M 0s + 7300K .......... .......... .......... .......... .......... 95% 46.6M 0s + 7350K .......... .......... .......... .......... .......... 96% 60.0M 0s + 7400K .......... .......... .......... .......... .......... 97% 58.0M 0s + 7450K .......... .......... .......... .......... .......... 97% 39.3M 0s + 7500K .......... .......... .......... .......... .......... 98% 30.7M 0s + 7550K .......... .......... .......... .......... .......... 98% 42.1M 0s + 7600K .......... .......... .......... .......... .......... 99% 32.3M 0s + 7650K .......... .......... ....... 100% 91.1M=8.0s + +2018-12-25 10:59:17 (960 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 11:01:16-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 11:01:17-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 54.3K 2m21s + 50K .......... .......... .......... .......... .......... 1% 214K 88s + 100K .......... .......... .......... .......... .......... 1% 215K 70s + 150K .......... .......... .......... .......... .......... 2% 211K 61s + 200K .......... .......... .......... .......... .......... 3% 453K 52s + 250K .......... .......... .......... .......... .......... 3% 295K 47s + 300K .......... .......... .......... .......... .......... 4% 284K 44s + 350K .......... .......... .......... .......... .......... 5% 980K 39s + 400K .......... .......... .......... .......... .......... 5% 275K 37s + 450K .......... .......... .......... .......... .......... 6% 3.17M 33s + 500K .......... .......... .......... .......... .......... 7% 1.03M 31s + 550K .......... .......... .......... .......... .......... 7% 284K 30s + 600K .......... .......... .......... .......... .......... 8% 2.81M 28s + 650K .......... .......... .......... .......... .......... 9% 1.14M 26s + 700K .......... .......... .......... .......... .......... 9% 382K 25s + 750K .......... .......... .......... .......... .......... 10% 853K 24s + 800K .......... .......... .......... .......... .......... 11% 3.28M 23s + 850K .......... .......... .......... .......... .......... 11% 1.03M 22s + 900K .......... .......... .......... .......... .......... 12% 2.05M 20s + 950K .......... .......... .......... .......... .......... 13% 358K 20s + 1000K .......... .......... .......... .......... .......... 13% 2.98M 19s + 1050K .......... .......... .......... .......... .......... 14% 2.90M 18s + 1100K .......... .......... .......... .......... .......... 14% 2.30M 17s + 1150K .......... .......... .......... .......... .......... 15% 2.53M 17s + 1200K .......... .......... .......... .......... .......... 16% 321K 17s + 1250K .......... .......... .......... .......... .......... 16% 1.92M 16s + 1300K .......... .......... .......... .......... .......... 17% 1.14M 16s + 1350K .......... .......... .......... .......... .......... 18% 80.8M 15s + 1400K .......... .......... .......... .......... .......... 18% 2.33M 14s + 1450K .......... .......... .......... .......... .......... 19% 98.1M 14s + 1500K .......... .......... .......... .......... .......... 20% 519K 14s + 1550K .......... .......... .......... .......... .......... 20% 1019K 13s + 1600K .......... .......... .......... .......... .......... 21% 1.08M 13s + 1650K .......... .......... .......... .......... .......... 22% 1.74M 13s + 1700K .......... .......... .......... .......... .......... 22% 4.45M 12s + 1750K .......... .......... .......... .......... .......... 23% 3.89M 12s + 1800K .......... .......... .......... .......... .......... 24% 8.03M 11s + 1850K .......... .......... .......... .......... .......... 24% 7.56M 11s + 1900K .......... .......... .......... .......... .......... 25% 701K 11s + 1950K .......... .......... .......... .......... .......... 26% 1.07M 11s + 2000K .......... .......... .......... .......... .......... 26% 973K 10s + 2050K .......... .......... .......... .......... .......... 27% 2.42M 10s + 2100K .......... .......... .......... .......... .......... 28% 2.56M 10s + 2150K .......... .......... .......... .......... .......... 28% 1.95M 10s + 2200K .......... .......... .......... .......... .......... 29% 5.54M 9s + 2250K .......... .......... .......... .......... .......... 29% 1.93M 9s + 2300K .......... .......... .......... .......... .......... 30% 46.6M 9s + 2350K .......... .......... .......... .......... .......... 31% 109M 9s + 2400K .......... .......... .......... .......... .......... 31% 669K 8s + 2450K .......... .......... .......... .......... .......... 32% 2.28M 8s + 2500K .......... .......... .......... .......... .......... 33% 2.16M 8s + 2550K .......... .......... .......... .......... .......... 33% 1.29M 8s + 2600K .......... .......... .......... .......... .......... 34% 2.97M 8s + 2650K .......... .......... .......... .......... .......... 35% 2.41M 7s + 2700K .......... .......... .......... .......... .......... 35% 3.13M 7s + 2750K .......... .......... .......... .......... .......... 36% 2.50M 7s + 2800K .......... .......... .......... .......... .......... 37% 5.49M 7s + 2850K .......... .......... .......... .......... .......... 37% 4.42M 7s + 2900K .......... .......... .......... .......... .......... 38% 2.01M 7s + 2950K .......... .......... .......... .......... .......... 39% 5.69M 6s + 3000K .......... .......... .......... .......... .......... 39% 3.62M 6s + 3050K .......... .......... .......... .......... .......... 40% 1.41M 6s + 3100K .......... .......... .......... .......... .......... 41% 3.67M 6s + 3150K .......... .......... .......... .......... .......... 41% 1.99M 6s + 3200K .......... .......... .......... .......... .......... 42% 1.47M 6s + 3250K .......... .......... .......... .......... .......... 42% 1.02M 6s + 3300K .......... .......... .......... .......... .......... 43% 2.21M 6s + 3350K .......... .......... .......... .......... .......... 44% 1.44M 6s + 3400K .......... .......... .......... .......... .......... 44% 2.99M 5s + 3450K .......... .......... .......... .......... .......... 45% 1.46M 5s + 3500K .......... .......... .......... .......... .......... 46% 1.87M 5s + 3550K .......... .......... .......... .......... .......... 46% 61.9M 5s + 3600K .......... .......... .......... .......... .......... 47% 55.0M 5s + 3650K .......... .......... .......... .......... .......... 48% 19.5M 5s + 3700K .......... .......... .......... .......... .......... 48% 1.64M 5s + 3750K .......... .......... .......... .......... .......... 49% 2.57M 5s + 3800K .......... .......... .......... .......... .......... 50% 18.0M 4s + 3850K .......... .......... .......... .......... .......... 50% 62.7M 4s + 3900K .......... .......... .......... .......... .......... 51% 32.0M 4s + 3950K .......... .......... .......... .......... .......... 52% 31.2M 4s + 4000K .......... .......... .......... .......... .......... 52% 7.13M 4s + 4050K .......... .......... .......... .......... .......... 53% 4.27M 4s + 4100K .......... .......... .......... .......... .......... 54% 2.04M 4s + 4150K .......... .......... .......... .......... .......... 54% 6.31M 4s + 4200K .......... .......... .......... .......... .......... 55% 1.71M 4s + 4250K .......... .......... .......... .......... .......... 56% 2.68M 4s + 4300K .......... .......... .......... .......... .......... 56% 16.2M 4s + 4350K .......... .......... .......... .......... .......... 57% 3.18M 3s + 4400K .......... .......... .......... .......... .......... 57% 1.64M 3s + 4450K .......... .......... .......... .......... .......... 58% 3.00M 3s + 4500K .......... .......... .......... .......... .......... 59% 2.11M 3s + 4550K .......... .......... .......... .......... .......... 59% 6.27M 3s + 4600K .......... .......... .......... .......... .......... 60% 4.43M 3s + 4650K .......... .......... .......... .......... .......... 61% 1.99M 3s + 4700K .......... .......... .......... .......... .......... 61% 16.5M 3s + 4750K .......... .......... .......... .......... .......... 62% 1.69M 3s + 4800K .......... .......... .......... .......... .......... 63% 9.85M 3s + 4850K .......... .......... .......... .......... .......... 63% 11.5M 3s + 4900K .......... .......... .......... .......... .......... 64% 5.13M 3s + 4950K .......... .......... .......... .......... .......... 65% 12.8M 3s + 5000K .......... .......... .......... .......... .......... 65% 4.12M 2s + 5050K .......... .......... .......... .......... .......... 66% 48.1M 2s + 5100K .......... .......... .......... .......... .......... 67% 1.49M 2s + 5150K .......... .......... .......... .......... .......... 67% 24.6M 2s + 5200K .......... .......... .......... .......... .......... 68% 213K 2s + 5250K .......... .......... .......... .......... .......... 69% 1.87M 2s + 5300K .......... .......... .......... .......... .......... 69% 8.49M 2s + 5350K .......... .......... .......... .......... .......... 70% 156K 2s + 5400K .......... .......... .......... .......... .......... 70% 1.61M 2s + 5450K .......... .......... .......... .......... .......... 71% 6.72M 2s + 5500K .......... .......... .......... .......... .......... 72% 35.2M 2s + 5550K .......... .......... .......... .......... .......... 72% 3.81M 2s + 5600K .......... .......... .......... .......... .......... 73% 9.59M 2s + 5650K .......... .......... .......... .......... .......... 74% 4.01M 2s + 5700K .......... .......... .......... .......... .......... 74% 5.02M 2s + 5750K .......... .......... .......... .......... .......... 75% 1.16M 2s + 5800K .......... .......... .......... .......... .......... 76% 2.78M 2s + 5850K .......... .......... .......... .......... .......... 76% 5.28M 2s + 5900K .......... .......... .......... .......... .......... 77% 2.57M 2s + 5950K .......... .......... .......... .......... .......... 78% 104M 2s + 6000K .......... .......... .......... .......... .......... 78% 1.81M 2s + 6050K .......... .......... .......... .......... .......... 79% 11.7M 1s + 6100K .......... .......... .......... .......... .......... 80% 2.01M 1s + 6150K .......... .......... .......... .......... .......... 80% 3.86M 1s + 6200K .......... .......... .......... .......... .......... 81% 47.0M 1s + 6250K .......... .......... .......... .......... .......... 82% 15.6M 1s + 6300K .......... .......... .......... .......... .......... 82% 31.9M 1s + 6350K .......... .......... .......... .......... .......... 83% 108M 1s + 6400K .......... .......... .......... .......... .......... 84% 1.13M 1s + 6450K .......... .......... .......... .......... .......... 84% 1.82M 1s + 6500K .......... .......... .......... .......... .......... 85% 16.8M 1s + 6550K .......... .......... .......... .......... .......... 85% 10.6M 1s + 6600K .......... .......... .......... .......... .......... 86% 41.6M 1s + 6650K .......... .......... .......... .......... .......... 87% 9.33M 1s + 6700K .......... .......... .......... .......... .......... 87% 76.4M 1s + 6750K .......... .......... .......... .......... .......... 88% 5.86M 1s + 6800K .......... .......... .......... .......... .......... 89% 46.5M 1s + 6850K .......... .......... .......... .......... .......... 89% 56.4M 1s + 6900K .......... .......... .......... .......... .......... 90% 23.2M 1s + 6950K .......... .......... .......... .......... .......... 91% 22.1M 1s + 7000K .......... .......... .......... .......... .......... 91% 2.33M 1s + 7050K .......... .......... .......... .......... .......... 92% 5.07M 0s + 7100K .......... .......... .......... .......... .......... 93% 14.5M 0s + 7150K .......... .......... .......... .......... .......... 93% 4.24M 0s + 7200K .......... .......... .......... .......... .......... 94% 2.38M 0s + 7250K .......... .......... .......... .......... .......... 95% 7.20M 0s + 7300K .......... .......... .......... .......... .......... 95% 41.9M 0s + 7350K .......... .......... .......... .......... .......... 96% 52.4M 0s + 7400K .......... .......... .......... .......... .......... 97% 48.6M 0s + 7450K .......... .......... .......... .......... .......... 97% 2.98M 0s + 7500K .......... .......... .......... .......... .......... 98% 62.4M 0s + 7550K .......... .......... .......... .......... .......... 98% 109M 0s + 7600K .......... .......... .......... .......... .......... 99% 57.0M 0s + 7650K .......... .......... ....... 100% 122M=5.9s + +2018-12-25 11:01:24 (1.28 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +################################################ +################################################ +######################################################################## +# Running Websetup on 192.168.5.5.# +######################################################################## +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied) +E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root? +################################################################ + + +Starting and Enabling Service +Failed to start apache2.service: Interactive authentication required. +See system logs and 'systemctl status apache2.service' for details. +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +insserv: fopen(.depend.stop): Permission denied +Failed to execute operation: Interactive authentication required. +insserv: fopen(.depend.stop): Permission denied +Failed to execute operation: Interactive authentication required. +################################################################ + + +Copying website data +website.zip: Permission denied +Archive: website.zip +error: cannot delete old 2093_flight/contact.html + Permission denied +error: cannot delete old 2093_flight/css/bootstrap-theme.css + Permission denied +error: cannot delete old 2093_flight/css/bootstrap-theme.css.map + Permission denied +error: cannot delete old 2093_flight/css/bootstrap-theme.min.css + Permission denied +error: cannot delete old 2093_flight/css/bootstrap.css + Permission denied +error: cannot delete old 2093_flight/css/bootstrap.css.map + Permission denied +error: cannot delete old 2093_flight/css/bootstrap.min.css + Permission denied +error: cannot delete old 2093_flight/css/datepicker.css + Permission denied +error: cannot delete old 2093_flight/css/fontAwesome.css + Permission denied +error: cannot delete old 2093_flight/css/fonts/flexslider-icon.eot + Permission denied +error: cannot delete old 2093_flight/css/fonts/flexslider-icon.svg + Permission denied +error: cannot delete old 2093_flight/css/fonts/flexslider-icon.ttf + Permission denied +error: cannot delete old 2093_flight/css/fonts/flexslider-icon.woff + Permission denied +error: cannot delete old 2093_flight/css/hero-slider.css + Permission denied +error: cannot delete old 2093_flight/css/owl-carousel.css + Permission denied +error: cannot delete old 2093_flight/css/tooplate-style.css + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.eot + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.svg + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.ttf + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.woff + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.woff2 + Permission denied +error: cannot delete old 2093_flight/fonts/FontAwesome.otf + Permission denied +error: cannot delete old 2093_flight/fonts/glyphicons-halflings-regular.eot + Permission denied +error: cannot delete old 2093_flight/fonts/glyphicons-halflings-regular.svg + Permission denied +error: cannot delete old 2093_flight/fonts/glyphicons-halflings-regular.ttf + Permission denied +error: cannot delete old 2093_flight/fonts/glyphicons-halflings-regular.woff + Permission denied +error: cannot delete old 2093_flight/img/banner-bg.jpg + Permission denied +error: cannot delete old 2093_flight/img/close.png + Permission denied +error: cannot delete old 2093_flight/img/contact-01.jpg + Permission denied +error: cannot delete old 2093_flight/img/contact-02.jpg + Permission denied +error: cannot delete old 2093_flight/img/contact-bg.jpg + Permission denied +error: cannot delete old 2093_flight/img/evening-event.jpg + Permission denied +error: cannot delete old 2093_flight/img/fitness-service.jpg + Permission denied +error: cannot delete old 2093_flight/img/heading-bg.jpg + Permission denied +error: cannot delete old 2093_flight/img/loading.gif + Permission denied +error: cannot delete old 2093_flight/img/logo.png + Permission denied +error: cannot delete old 2093_flight/img/massage-service.jpg + Permission denied +error: cannot delete old 2093_flight/img/next.png + Permission denied +error: cannot delete old 2093_flight/img/place-01.jpg + Permission denied +error: cannot delete old 2093_flight/img/place-02.jpg + Permission denied +error: cannot delete old 2093_flight/img/place-03.jpg + Permission denied +error: cannot delete old 2093_flight/img/place-04.jpg + Permission denied +error: cannot delete old 2093_flight/img/prev.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-01.1.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-01.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-02.2.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-02.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-03.3.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-03.png + Permission denied +error: cannot delete old 2093_flight/img/suite-01.jpg + Permission denied +error: cannot delete old 2093_flight/img/suite-02.jpg + Permission denied +error: cannot delete old 2093_flight/img/suite-03.jpg + Permission denied +error: cannot delete old 2093_flight/img/swiming-pool.jpg + Permission denied +error: cannot delete old 2093_flight/img/weather-bg.jpg + Permission denied +error: cannot delete old 2093_flight/img/weather-icon-01.png + Permission denied +error: cannot delete old 2093_flight/img/weather-icon-02.png + Permission denied +error: cannot delete old 2093_flight/img/weather-icon-03.png + Permission denied +error: cannot delete old 2093_flight/index.html + Permission denied +error: cannot delete old 2093_flight/js/datepicker.js + Permission denied +error: cannot delete old 2093_flight/js/main.js + Permission denied +error: cannot delete old 2093_flight/js/plugins.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/bootstrap.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/bootstrap.min.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/jquery-1.11.2.min.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/npm.js + Permission denied +error: cannot delete old 2093_flight/ABOUT THIS TEMPLATE.txt + Permission denied +cp: cannot stat '/tmp/2112_brunch/*': No such file or directory +################################################################ + + +Restarting Service +Failed to restart apache2.service: Interactive authentication required. +See system logs and 'systemctl status apache2.service' for details. +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +wget: missing URL +Usage: wget [OPTION]... [URL]... + +Try `wget --help' for more options. +Archive: website.zip + inflating: 2093_flight/contact.html + inflating: 2093_flight/css/bootstrap-theme.css + inflating: 2093_flight/css/bootstrap-theme.css.map + inflating: 2093_flight/css/bootstrap-theme.min.css + inflating: 2093_flight/css/bootstrap.css + inflating: 2093_flight/css/bootstrap.css.map + inflating: 2093_flight/css/bootstrap.min.css + inflating: 2093_flight/css/datepicker.css + inflating: 2093_flight/css/fontAwesome.css + inflating: 2093_flight/css/fonts/flexslider-icon.eot + inflating: 2093_flight/css/fonts/flexslider-icon.svg + inflating: 2093_flight/css/fonts/flexslider-icon.ttf + inflating: 2093_flight/css/fonts/flexslider-icon.woff + inflating: 2093_flight/css/hero-slider.css + inflating: 2093_flight/css/owl-carousel.css + inflating: 2093_flight/css/tooplate-style.css + inflating: 2093_flight/fonts/fontawesome-webfont.eot + inflating: 2093_flight/fonts/fontawesome-webfont.svg + inflating: 2093_flight/fonts/fontawesome-webfont.ttf + inflating: 2093_flight/fonts/fontawesome-webfont.woff + inflating: 2093_flight/fonts/fontawesome-webfont.woff2 + inflating: 2093_flight/fonts/FontAwesome.otf + inflating: 2093_flight/fonts/glyphicons-halflings-regular.eot + inflating: 2093_flight/fonts/glyphicons-halflings-regular.svg + inflating: 2093_flight/fonts/glyphicons-halflings-regular.ttf + inflating: 2093_flight/fonts/glyphicons-halflings-regular.woff + inflating: 2093_flight/img/banner-bg.jpg + inflating: 2093_flight/img/close.png + inflating: 2093_flight/img/contact-01.jpg + inflating: 2093_flight/img/contact-02.jpg + inflating: 2093_flight/img/contact-bg.jpg + inflating: 2093_flight/img/evening-event.jpg + inflating: 2093_flight/img/fitness-service.jpg + inflating: 2093_flight/img/heading-bg.jpg + inflating: 2093_flight/img/loading.gif + inflating: 2093_flight/img/logo.png + inflating: 2093_flight/img/massage-service.jpg + inflating: 2093_flight/img/next.png + inflating: 2093_flight/img/place-01.jpg + inflating: 2093_flight/img/place-02.jpg + inflating: 2093_flight/img/place-03.jpg + inflating: 2093_flight/img/place-04.jpg + inflating: 2093_flight/img/prev.png + inflating: 2093_flight/img/service-icon-01.1.png + inflating: 2093_flight/img/service-icon-01.png + inflating: 2093_flight/img/service-icon-02.2.png + inflating: 2093_flight/img/service-icon-02.png + inflating: 2093_flight/img/service-icon-03.3.png + inflating: 2093_flight/img/service-icon-03.png + inflating: 2093_flight/img/suite-01.jpg + inflating: 2093_flight/img/suite-02.jpg + inflating: 2093_flight/img/suite-03.jpg + inflating: 2093_flight/img/swiming-pool.jpg + inflating: 2093_flight/img/weather-bg.jpg + inflating: 2093_flight/img/weather-icon-01.png + inflating: 2093_flight/img/weather-icon-02.png + inflating: 2093_flight/img/weather-icon-03.png + inflating: 2093_flight/index.html + inflating: 2093_flight/js/datepicker.js + inflating: 2093_flight/js/main.js + inflating: 2093_flight/js/plugins.js + inflating: 2093_flight/js/vendor/bootstrap.js + inflating: 2093_flight/js/vendor/bootstrap.min.js + inflating: 2093_flight/js/vendor/jquery-1.11.2.min.js + inflating: 2093_flight/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2093_flight/js/vendor/npm.js + inflating: 2093_flight/ABOUT THIS TEMPLATE.txt +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +wget: missing URL +Usage: wget [OPTION]... [URL]... + +Try `wget --help' for more options. +Archive: website.zip + inflating: 2093_flight/contact.html + inflating: 2093_flight/css/bootstrap-theme.css + inflating: 2093_flight/css/bootstrap-theme.css.map + inflating: 2093_flight/css/bootstrap-theme.min.css + inflating: 2093_flight/css/bootstrap.css + inflating: 2093_flight/css/bootstrap.css.map + inflating: 2093_flight/css/bootstrap.min.css + inflating: 2093_flight/css/datepicker.css + inflating: 2093_flight/css/fontAwesome.css + inflating: 2093_flight/css/fonts/flexslider-icon.eot + inflating: 2093_flight/css/fonts/flexslider-icon.svg + inflating: 2093_flight/css/fonts/flexslider-icon.ttf + inflating: 2093_flight/css/fonts/flexslider-icon.woff + inflating: 2093_flight/css/hero-slider.css + inflating: 2093_flight/css/owl-carousel.css + inflating: 2093_flight/css/tooplate-style.css + inflating: 2093_flight/fonts/fontawesome-webfont.eot + inflating: 2093_flight/fonts/fontawesome-webfont.svg + inflating: 2093_flight/fonts/fontawesome-webfont.ttf + inflating: 2093_flight/fonts/fontawesome-webfont.woff + inflating: 2093_flight/fonts/fontawesome-webfont.woff2 + inflating: 2093_flight/fonts/FontAwesome.otf + inflating: 2093_flight/fonts/glyphicons-halflings-regular.eot + inflating: 2093_flight/fonts/glyphicons-halflings-regular.svg + inflating: 2093_flight/fonts/glyphicons-halflings-regular.ttf + inflating: 2093_flight/fonts/glyphicons-halflings-regular.woff + inflating: 2093_flight/img/banner-bg.jpg + inflating: 2093_flight/img/close.png + inflating: 2093_flight/img/contact-01.jpg + inflating: 2093_flight/img/contact-02.jpg + inflating: 2093_flight/img/contact-bg.jpg + inflating: 2093_flight/img/evening-event.jpg + inflating: 2093_flight/img/fitness-service.jpg + inflating: 2093_flight/img/heading-bg.jpg + inflating: 2093_flight/img/loading.gif + inflating: 2093_flight/img/logo.png + inflating: 2093_flight/img/massage-service.jpg + inflating: 2093_flight/img/next.png + inflating: 2093_flight/img/place-01.jpg + inflating: 2093_flight/img/place-02.jpg + inflating: 2093_flight/img/place-03.jpg + inflating: 2093_flight/img/place-04.jpg + inflating: 2093_flight/img/prev.png + inflating: 2093_flight/img/service-icon-01.1.png + inflating: 2093_flight/img/service-icon-01.png + inflating: 2093_flight/img/service-icon-02.2.png + inflating: 2093_flight/img/service-icon-02.png + inflating: 2093_flight/img/service-icon-03.3.png + inflating: 2093_flight/img/service-icon-03.png + inflating: 2093_flight/img/suite-01.jpg + inflating: 2093_flight/img/suite-02.jpg + inflating: 2093_flight/img/suite-03.jpg + inflating: 2093_flight/img/swiming-pool.jpg + inflating: 2093_flight/img/weather-bg.jpg + inflating: 2093_flight/img/weather-icon-01.png + inflating: 2093_flight/img/weather-icon-02.png + inflating: 2093_flight/img/weather-icon-03.png + inflating: 2093_flight/index.html + inflating: 2093_flight/js/datepicker.js + inflating: 2093_flight/js/main.js + inflating: 2093_flight/js/plugins.js + inflating: 2093_flight/js/vendor/bootstrap.js + inflating: 2093_flight/js/vendor/bootstrap.min.js + inflating: 2093_flight/js/vendor/jquery-1.11.2.min.js + inflating: 2093_flight/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2093_flight/js/vendor/npm.js + inflating: 2093_flight/ABOUT THIS TEMPLATE.txt +################################################################ + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:18:31-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:18:32-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 73.2K 1m44s + 50K .......... .......... .......... .......... .......... 1% 206K 70s + 100K .......... .......... .......... .......... .......... 1% 211K 58s + 150K .......... .......... .......... .......... .......... 2% 210K 52s + 200K .......... .......... .......... .......... .......... 3% 236K 48s + 250K .......... .......... .......... .......... .......... 3% 222K 45s + 300K .......... .......... .......... .......... .......... 4% 2.15M 39s + 350K .......... .......... .......... .......... .......... 5% 231K 38s + 400K .......... .......... .......... .......... .......... 5% 2.95M 34s + 450K .......... .......... .......... .......... .......... 6% 235K 33s + 500K .......... .......... .......... .......... .......... 7% 47.9M 30s + 550K .......... .......... .......... .......... .......... 7% 7.65M 27s + 600K .......... .......... .......... .......... .......... 8% 225K 27s + 650K .......... .......... .......... .......... .......... 9% 3.16M 25s + 700K .......... .......... .......... .......... .......... 9% 29.4M 24s + 750K .......... .......... .......... .......... .......... 10% 60.9M 22s + 800K .......... .......... .......... .......... .......... 11% 210K 22s + 850K .......... .......... .......... .......... .......... 11% 14.3M 21s + 900K .......... .......... .......... .......... .......... 12% 29.5M 20s + 950K .......... .......... .......... .......... .......... 13% 261K 20s + 1000K .......... .......... .......... .......... .......... 13% 3.94M 19s + 1050K .......... .......... .......... .......... .......... 14% 5.28M 18s + 1100K .......... .......... .......... .......... .......... 14% 3.05M 17s + 1150K .......... .......... .......... .......... .......... 15% 7.95M 16s + 1200K .......... .......... .......... .......... .......... 16% 243K 17s + 1250K .......... .......... .......... .......... .......... 16% 75.2M 16s + 1300K .......... .......... .......... .......... .......... 17% 4.70M 15s + 1350K .......... .......... .......... .......... .......... 18% 3.43M 15s + 1400K .......... .......... .......... .......... .......... 18% 4.00M 14s + 1450K .......... .......... .......... .......... .......... 19% 4.10M 14s + 1500K .......... .......... .......... .......... .......... 20% 240K 14s + 1550K .......... .......... .......... .......... .......... 20% 20.1M 13s + 1600K .......... .......... .......... .......... .......... 21% 34.1M 13s + 1650K .......... .......... .......... .......... .......... 22% 36.4M 12s + 1700K .......... .......... .......... .......... .......... 22% 2.32M 12s + 1750K .......... .......... .......... .......... .......... 23% 2.12M 12s + 1800K .......... .......... .......... .......... .......... 24% 43.2M 11s + 1850K .......... .......... .......... .......... .......... 24% 341K 11s + 1900K .......... .......... .......... .......... .......... 25% 912K 11s + 1950K .......... .......... .......... .......... .......... 26% 53.2M 11s + 2000K .......... .......... .......... .......... .......... 26% 7.74M 10s + 2050K .......... .......... .......... .......... .......... 27% 198K 11s + 2100K .......... .......... .......... .......... .......... 28% 14.6M 10s + 2150K .......... .......... .......... .......... .......... 28% 13.6M 10s + 2200K .......... .......... .......... .......... .......... 29% 24.9M 10s + 2250K .......... .......... .......... .......... .......... 29% 32.2M 9s + 2300K .......... .......... .......... .......... .......... 30% 92.3M 9s + 2350K .......... .......... .......... .......... .......... 31% 19.3M 9s + 2400K .......... .......... .......... .......... .......... 31% 23.7M 9s + 2450K .......... .......... .......... .......... .......... 32% 36.2M 8s + 2500K .......... .......... .......... .......... .......... 33% 18.6M 8s + 2550K .......... .......... .......... .......... .......... 33% 15.0M 8s + 2600K .......... .......... .......... .......... .......... 34% 14.4M 8s + 2650K .......... .......... .......... .......... .......... 35% 47.4M 7s + 2700K .......... .......... .......... .......... .......... 35% 440K 7s + 2750K .......... .......... .......... .......... .......... 36% 1.13M 7s + 2800K .......... .......... .......... .......... .......... 37% 1.17M 7s + 2850K .......... .......... .......... .......... .......... 37% 5.00M 7s + 2900K .......... .......... .......... .......... .......... 38% 7.20M 7s + 2950K .......... .......... .......... .......... .......... 39% 3.33M 7s + 3000K .......... .......... .......... .......... .......... 39% 7.86M 6s + 3050K .......... .......... .......... .......... .......... 40% 394K 6s + 3100K .......... .......... .......... .......... .......... 41% 1.95M 6s + 3150K .......... .......... .......... .......... .......... 41% 4.28M 6s + 3200K .......... .......... .......... .......... .......... 42% 792K 6s + 3250K .......... .......... .......... .......... .......... 42% 5.39M 6s + 3300K .......... .......... .......... .......... .......... 43% 5.36M 6s + 3350K .......... .......... .......... .......... .......... 44% 193K 6s + 3400K .......... .......... .......... .......... .......... 44% 773K 6s + 3450K .......... .......... .......... .......... .......... 45% 12.3M 6s + 3500K .......... .......... .......... .......... .......... 46% 8.15M 6s + 3550K .......... .......... .......... .......... .......... 46% 8.85M 5s + 3600K .......... .......... .......... .......... .......... 47% 8.25M 5s + 3650K .......... .......... .......... .......... .......... 48% 57.0M 5s + 3700K .......... .......... .......... .......... .......... 48% 56.5M 5s + 3750K .......... .......... .......... .......... .......... 49% 57.8M 5s + 3800K .......... .......... .......... .......... .......... 50% 1.95M 5s + 3850K .......... .......... .......... .......... .......... 50% 1.17M 5s + 3900K .......... .......... .......... .......... .......... 51% 970K 5s + 3950K .......... .......... .......... .......... .......... 52% 2.26M 5s + 4000K .......... .......... .......... .......... .......... 52% 891K 5s + 4050K .......... .......... .......... .......... .......... 53% 798K 4s + 4100K .......... .......... .......... .......... .......... 54% 1.60M 4s + 4150K .......... .......... .......... .......... .......... 54% 726K 4s + 4200K .......... .......... .......... .......... .......... 55% 6.32M 4s + 4250K .......... .......... .......... .......... .......... 56% 3.52M 4s + 4300K .......... .......... .......... .......... .......... 56% 690K 4s + 4350K .......... .......... .......... .......... .......... 57% 1.16M 4s + 4400K .......... .......... .......... .......... .......... 57% 525K 4s + 4450K .......... .......... .......... .......... .......... 58% 11.4M 4s + 4500K .......... .......... .......... .......... .......... 59% 3.23M 4s + 4550K .......... .......... .......... .......... .......... 59% 969K 4s + 4600K .......... .......... .......... .......... .......... 60% 892K 4s + 4650K .......... .......... .......... .......... .......... 61% 1.77M 4s + 4700K .......... .......... .......... .......... .......... 61% 670K 4s + 4750K .......... .......... .......... .......... .......... 62% 3.80M 3s + 4800K .......... .......... .......... .......... .......... 63% 3.53M 3s + 4850K .......... .......... .......... .......... .......... 63% 604K 3s + 4900K .......... .......... .......... .......... .......... 64% 1.60M 3s + 4950K .......... .......... .......... .......... .......... 65% 678K 3s + 5000K .......... .......... .......... .......... .......... 65% 1.41M 3s + 5050K .......... .......... .......... .......... .......... 66% 5.76M 3s + 5100K .......... .......... .......... .......... .......... 67% 26.9M 3s + 5150K .......... .......... .......... .......... .......... 67% 508K 3s + 5200K .......... .......... .......... .......... .......... 68% 1.96M 3s + 5250K .......... .......... .......... .......... .......... 69% 603K 3s + 5300K .......... .......... .......... .......... .......... 69% 2.99M 3s + 5350K .......... .......... .......... .......... .......... 70% 6.91M 3s + 5400K .......... .......... .......... .......... .......... 70% 1.40M 3s + 5450K .......... .......... .......... .......... .......... 71% 823K 2s + 5500K .......... .......... .......... .......... .......... 72% 3.16M 2s + 5550K .......... .......... .......... .......... .......... 72% 583K 2s + 5600K .......... .......... .......... .......... .......... 73% 1.75M 2s + 5650K .......... .......... .......... .......... .......... 74% 3.70M 2s + 5700K .......... .......... .......... .......... .......... 74% 1.83M 2s + 5750K .......... .......... .......... .......... .......... 75% 775K 2s + 5800K .......... .......... .......... .......... .......... 76% 2.75M 2s + 5850K .......... .......... .......... .......... .......... 76% 640K 2s + 5900K .......... .......... .......... .......... .......... 77% 1.67M 2s + 5950K .......... .......... .......... .......... .......... 78% 3.91M 2s + 6000K .......... .......... .......... .......... .......... 78% 1.65M 2s + 6050K .......... .......... .......... .......... .......... 79% 745K 2s + 6100K .......... .......... .......... .......... .......... 80% 3.21M 2s + 6150K .......... .......... .......... .......... .......... 80% 624K 2s + 6200K .......... .......... .......... .......... .......... 81% 2.03M 2s + 6250K .......... .......... .......... .......... .......... 82% 1.96M 2s + 6300K .......... .......... .......... .......... .......... 82% 4.34M 1s + 6350K .......... .......... .......... .......... .......... 83% 679K 1s + 6400K .......... .......... .......... .......... .......... 84% 2.01M 1s + 6450K .......... .......... .......... .......... .......... 84% 706K 1s + 6500K .......... .......... .......... .......... .......... 85% 2.53M 1s + 6550K .......... .......... .......... .......... .......... 85% 1.64M 1s + 6600K .......... .......... .......... .......... .......... 86% 2.33M 1s + 6650K .......... .......... .......... .......... .......... 87% 872K 1s + 6700K .......... .......... .......... .......... .......... 87% 2.95M 1s + 6750K .......... .......... .......... .......... .......... 88% 1010K 1s + 6800K .......... .......... .......... .......... .......... 89% 1.07M 1s + 6850K .......... .......... .......... .......... .......... 89% 1.34M 1s + 6900K .......... .......... .......... .......... .......... 90% 3.40M 1s + 6950K .......... .......... .......... .......... .......... 91% 1.41M 1s + 7000K .......... .......... .......... .......... .......... 91% 894K 1s + 7050K .......... .......... .......... .......... .......... 92% 5.16M 1s + 7100K .......... .......... .......... .......... .......... 93% 655K 1s + 7150K .......... .......... .......... .......... .......... 93% 2.12M 1s + 7200K .......... .......... .......... .......... .......... 94% 1.19M 0s + 7250K .......... .......... .......... .......... .......... 95% 5.78M 0s + 7300K .......... .......... .......... .......... .......... 95% 809K 0s + 7350K .......... .......... .......... .......... .......... 96% 1.73M 0s + 7400K .......... .......... .......... .......... .......... 97% 683K 0s + 7450K .......... .......... .......... .......... .......... 97% 2.63M 0s + 7500K .......... .......... .......... .......... .......... 98% 1.10M 0s + 7550K .......... .......... .......... .......... .......... 98% 3.07M 0s + 7600K .......... .......... .......... .......... .......... 99% 1.19M 0s + 7650K .......... .......... ....... 100% 4.12M=7.9s + +2018-12-25 10:18:41 (974 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + creating: 2112_brunch/ + inflating: 2112_brunch/contact-page.html + creating: 2112_brunch/css/ + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + creating: 2112_brunch/css/fonts/ + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + creating: 2112_brunch/fonts/ + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + creating: 2112_brunch/img/ + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + creating: 2112_brunch/js/ + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + creating: 2112_brunch/js/vendor/ + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + creating: 2112_brunch/videos/ + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:20:30-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:20:31-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 70.5K 1m48s + 50K .......... .......... .......... .......... .......... 1% 213K 72s + 100K .......... .......... .......... .......... .......... 1% 201K 60s + 150K .......... .......... .......... .......... .......... 2% 207K 54s + 200K .......... .......... .......... .......... .......... 3% 217K 49s + 250K .......... .......... .......... .......... .......... 3% 200K 47s + 300K .......... .......... .......... .......... .......... 4% 1.42M 41s + 350K .......... .......... .......... .......... .......... 5% 241K 39s + 400K .......... .......... .......... .......... .......... 5% 897K 36s + 450K .......... .......... .......... .......... .......... 6% 275K 34s + 500K .......... .......... .......... .......... .......... 7% 8.35M 31s + 550K .......... .......... .......... .......... .......... 7% 1.07M 29s + 600K .......... .......... .......... .......... .......... 8% 257K 29s + 650K .......... .......... .......... .......... .......... 9% 5.54M 26s + 700K .......... .......... .......... .......... .......... 9% 11.3M 25s + 750K .......... .......... .......... .......... .......... 10% 246K 25s + 800K .......... .......... .......... .......... .......... 11% 2.03M 23s + 850K .......... .......... .......... .......... .......... 11% 5.73M 22s + 900K .......... .......... .......... .......... .......... 12% 6.69M 21s + 950K .......... .......... .......... .......... .......... 13% 254K 21s + 1000K .......... .......... .......... .......... .......... 13% 2.55M 20s + 1050K .......... .......... .......... .......... .......... 14% 7.14M 19s + 1100K .......... .......... .......... .......... .......... 14% 3.10M 18s + 1150K .......... .......... .......... .......... .......... 15% 7.59M 17s + 1200K .......... .......... .......... .......... .......... 16% 248K 17s + 1250K .......... .......... .......... .......... .......... 16% 4.82M 16s + 1300K .......... .......... .......... .......... .......... 17% 10.1M 16s + 1350K .......... .......... .......... .......... .......... 18% 3.07M 15s + 1400K .......... .......... .......... .......... .......... 18% 5.95M 15s + 1450K .......... .......... .......... .......... .......... 19% 5.45M 14s + 1500K .......... .......... .......... .......... .......... 20% 286K 14s + 1550K .......... .......... .......... .......... .......... 20% 3.17M 14s + 1600K .......... .......... .......... .......... .......... 21% 4.60M 13s + 1650K .......... .......... .......... .......... .......... 22% 6.24M 13s + 1700K .......... .......... .......... .......... .......... 22% 3.84M 12s + 1750K .......... .......... .......... .......... .......... 23% 2.40M 12s + 1800K .......... .......... .......... .......... .......... 24% 4.72M 11s + 1850K .......... .......... .......... .......... .......... 24% 410K 11s + 1900K .......... .......... .......... .......... .......... 25% 1.31M 11s + 1950K .......... .......... .......... .......... .......... 26% 1.69M 11s + 2000K .......... .......... .......... .......... .......... 26% 4.93M 11s + 2050K .......... .......... .......... .......... .......... 27% 127M 10s + 2100K .......... .......... .......... .......... .......... 28% 5.64M 10s + 2150K .......... .......... .......... .......... .......... 28% 9.05M 10s + 2200K .......... .......... .......... .......... .......... 29% 1.62M 9s + 2250K .......... .......... .......... .......... .......... 29% 4.73M 9s + 2300K .......... .......... .......... .......... .......... 30% 7.67M 9s + 2350K .......... .......... .......... .......... .......... 31% 360K 9s + 2400K .......... .......... .......... .......... .......... 31% 624K 9s + 2450K .......... .......... .......... .......... .......... 32% 54.2M 9s + 2500K .......... .......... .......... .......... .......... 33% 18.7M 8s + 2550K .......... .......... .......... .......... .......... 33% 173K 9s + 2600K .......... .......... .......... .......... .......... 34% 24.1M 8s + 2650K .......... .......... .......... .......... .......... 35% 5.09M 8s + 2700K .......... .......... .......... .......... .......... 35% 6.62M 8s + 2750K .......... .......... .......... .......... .......... 36% 9.95M 8s + 2800K .......... .......... .......... .......... .......... 37% 21.1M 8s + 2850K .......... .......... .......... .......... .......... 37% 68.4M 7s + 2900K .......... .......... .......... .......... .......... 38% 33.5M 7s + 2950K .......... .......... .......... .......... .......... 39% 132M 7s + 3000K .......... .......... .......... .......... .......... 39% 13.9M 7s + 3050K .......... .......... .......... .......... .......... 40% 11.9M 7s + 3100K .......... .......... .......... .......... .......... 41% 18.8M 6s + 3150K .......... .......... .......... .......... .......... 41% 88.3M 6s + 3200K .......... .......... .......... .......... .......... 42% 19.6M 6s + 3250K .......... .......... .......... .......... .......... 42% 23.0M 6s + 3300K .......... .......... .......... .......... .......... 43% 27.7M 6s + 3350K .......... .......... .......... .......... .......... 44% 102M 6s + 3400K .......... .......... .......... .......... .......... 44% 21.3M 5s + 3450K .......... .......... .......... .......... .......... 45% 41.3M 5s + 3500K .......... .......... .......... .......... .......... 46% 212K 5s + 3550K .......... .......... .......... .......... .......... 46% 374K 5s + 3600K .......... .......... .......... .......... .......... 47% 2.31M 5s + 3650K .......... .......... .......... .......... .......... 48% 4.08M 5s + 3700K .......... .......... .......... .......... .......... 48% 3.01M 5s + 3750K .......... .......... .......... .......... .......... 49% 5.24M 5s + 3800K .......... .......... .......... .......... .......... 50% 110M 5s + 3850K .......... .......... .......... .......... .......... 50% 113K 5s + 3900K .......... .......... .......... .......... .......... 51% 19.6M 5s + 3950K .......... .......... .......... .......... .......... 52% 1.47M 5s + 4000K .......... .......... .......... .......... .......... 52% 1.60M 5s + 4050K .......... .......... .......... .......... .......... 53% 4.34M 5s + 4100K .......... .......... .......... .......... .......... 54% 54.9M 5s + 4150K .......... .......... .......... .......... .......... 54% 52.0M 4s + 4200K .......... .......... .......... .......... .......... 55% 66.6M 4s + 4250K .......... .......... .......... .......... .......... 56% 103M 4s + 4300K .......... .......... .......... .......... .......... 56% 71.3M 4s + 4350K .......... .......... .......... .......... .......... 57% 99.7M 4s + 4400K .......... .......... .......... .......... .......... 57% 62.1M 4s + 4450K .......... .......... .......... .......... .......... 58% 50.5M 4s + 4500K .......... .......... .......... .......... .......... 59% 55.9M 4s + 4550K .......... .......... .......... .......... .......... 59% 73.3M 4s + 4600K .......... .......... .......... .......... .......... 60% 92.1M 4s + 4650K .......... .......... .......... .......... .......... 61% 72.5M 3s + 4700K .......... .......... .......... .......... .......... 61% 54.9M 3s + 4750K .......... .......... .......... .......... .......... 62% 358K 3s + 4800K .......... .......... .......... .......... .......... 63% 1.38M 3s + 4850K .......... .......... .......... .......... .......... 63% 4.36M 3s + 4900K .......... .......... .......... .......... .......... 64% 3.68M 3s + 4950K .......... .......... .......... .......... .......... 65% 9.36M 3s + 5000K .......... .......... .......... .......... .......... 65% 2.34M 3s + 5050K .......... .......... .......... .......... .......... 66% 781K 3s + 5100K .......... .......... .......... .......... .......... 67% 462K 3s + 5150K .......... .......... .......... .......... .......... 67% 1.96M 3s + 5200K .......... .......... .......... .......... .......... 68% 4.01M 3s + 5250K .......... .......... .......... .......... .......... 69% 1.54M 3s + 5300K .......... .......... .......... .......... .......... 69% 127M 3s + 5350K .......... .......... .......... .......... .......... 70% 5.85M 2s + 5400K .......... .......... .......... .......... .......... 70% 319K 2s + 5450K .......... .......... .......... .......... .......... 71% 27.0M 2s + 5500K .......... .......... .......... .......... .......... 72% 1.61M 2s + 5550K .......... .......... .......... .......... .......... 72% 765K 2s + 5600K .......... .......... .......... .......... .......... 73% 110M 2s + 5650K .......... .......... .......... .......... .......... 74% 140M 2s + 5700K .......... .......... .......... .......... .......... 74% 62.3M 2s + 5750K .......... .......... .......... .......... .......... 75% 334K 2s + 5800K .......... .......... .......... .......... .......... 76% 2.28M 2s + 5850K .......... .......... .......... .......... .......... 76% 826K 2s + 5900K .......... .......... .......... .......... .......... 77% 4.00M 2s + 5950K .......... .......... .......... .......... .......... 78% 104M 2s + 6000K .......... .......... .......... .......... .......... 78% 51.2M 2s + 6050K .......... .......... .......... .......... .......... 79% 7.03M 2s + 6100K .......... .......... .......... .......... .......... 80% 373K 2s + 6150K .......... .......... .......... .......... .......... 80% 9.47M 2s + 6200K .......... .......... .......... .......... .......... 81% 940K 2s + 6250K .......... .......... .......... .......... .......... 82% 5.34M 1s + 6300K .......... .......... .......... .......... .......... 82% 3.56M 1s + 6350K .......... .......... .......... .......... .......... 83% 4.29M 1s + 6400K .......... .......... .......... .......... .......... 84% 6.75M 1s + 6450K .......... .......... .......... .......... .......... 84% 351K 1s + 6500K .......... .......... .......... .......... .......... 85% 120M 1s + 6550K .......... .......... .......... .......... .......... 85% 638K 1s + 6600K .......... .......... .......... .......... .......... 86% 3.23M 1s + 6650K .......... .......... .......... .......... .......... 87% 80.8M 1s + 6700K .......... .......... .......... .......... .......... 87% 6.18M 1s + 6750K .......... .......... .......... .......... .......... 88% 35.0M 1s + 6800K .......... .......... .......... .......... .......... 89% 324K 1s + 6850K .......... .......... .......... .......... .......... 89% 9.17M 1s + 6900K .......... .......... .......... .......... .......... 90% 66.8M 1s + 6950K .......... .......... .......... .......... .......... 91% 816K 1s + 7000K .......... .......... .......... .......... .......... 91% 1.57M 1s + 7050K .......... .......... .......... .......... .......... 92% 7.37M 1s + 7100K .......... .......... .......... .......... .......... 93% 4.10M 1s + 7150K .......... .......... .......... .......... .......... 93% 12.9M 0s + 7200K .......... .......... .......... .......... .......... 94% 472K 0s + 7250K .......... .......... .......... .......... .......... 95% 31.4M 0s + 7300K .......... .......... .......... .......... .......... 95% 717K 0s + 7350K .......... .......... .......... .......... .......... 96% 18.1M 0s + 7400K .......... .......... .......... .......... .......... 97% 855K 0s + 7450K .......... .......... .......... .......... .......... 97% 23.6M 0s + 7500K .......... .......... .......... .......... .......... 98% 23.3M 0s + 7550K .......... .......... .......... .......... .......... 98% 961K 0s + 7600K .......... .......... .......... .......... .......... 99% 1.13M 0s + 7650K .......... .......... ....... 100% 115M=7.5s + +2018-12-25 10:20:39 (1024 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:25:39-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:25:40-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 71.5K 1m47s + 50K .......... .......... .......... .......... .......... 1% 217K 70s + 100K .......... .......... .......... .......... .......... 1% 204K 59s + 150K .......... .......... .......... .......... .......... 2% 223K 52s + 200K .......... .......... .......... .......... .......... 3% 3.86M 42s + 250K .......... .......... .......... .......... .......... 3% 223K 40s + 300K .......... .......... .......... .......... .......... 4% 215K 39s + 350K .......... .......... .......... .......... .......... 5% 11.0M 34s + 400K .......... .......... .......... .......... .......... 5% 224K 34s + 450K .......... .......... .......... .......... .......... 6% 3.01M 30s + 500K .......... .......... .......... .......... .......... 7% 70.8M 27s + 550K .......... .......... .......... .......... .......... 7% 238K 27s + 600K .......... .......... .......... .......... .......... 8% 1.92M 25s + 650K .......... .......... .......... .......... .......... 9% 35.6M 23s + 700K .......... .......... .......... .......... .......... 9% 245K 24s + 750K .......... .......... .......... .......... .......... 10% 4.05M 22s + 800K .......... .......... .......... .......... .......... 11% 2.06M 21s + 850K .......... .......... .......... .......... .......... 11% 5.50M 20s + 900K .......... .......... .......... .......... .......... 12% 257K 20s + 950K .......... .......... .......... .......... .......... 13% 7.91M 19s + 1000K .......... .......... .......... .......... .......... 13% 2.43M 18s + 1050K .......... .......... .......... .......... .......... 14% 3.62M 17s + 1100K .......... .......... .......... .......... .......... 14% 18.0M 16s + 1150K .......... .......... .......... .......... .......... 15% 254K 16s + 1200K .......... .......... .......... .......... .......... 16% 14.2M 16s + 1250K .......... .......... .......... .......... .......... 16% 5.86M 15s + 1300K .......... .......... .......... .......... .......... 17% 4.22M 14s + 1350K .......... .......... .......... .......... .......... 18% 2.98M 14s + 1400K .......... .......... .......... .......... .......... 18% 12.9M 13s + 1450K .......... .......... .......... .......... .......... 19% 254K 13s + 1500K .......... .......... .......... .......... .......... 20% 14.2M 13s + 1550K .......... .......... .......... .......... .......... 20% 33.8M 12s + 1600K .......... .......... .......... .......... .......... 21% 5.94M 12s + 1650K .......... .......... .......... .......... .......... 22% 5.50M 12s + 1700K .......... .......... .......... .......... .......... 22% 4.34M 11s + 1750K .......... .......... .......... .......... .......... 23% 4.67M 11s + 1800K .......... .......... .......... .......... .......... 24% 325K 11s + 1850K .......... .......... .......... .......... .......... 24% 1.26M 11s + 1900K .......... .......... .......... .......... .......... 25% 38.7M 10s + 1950K .......... .......... .......... .......... .......... 26% 44.4M 10s + 2000K .......... .......... .......... .......... .......... 26% 5.65M 10s + 2050K .......... .......... .......... .......... .......... 27% 5.81M 9s + 2100K .......... .......... .......... .......... .......... 28% 6.00M 9s + 2150K .......... .......... .......... .......... .......... 28% 8.38M 9s + 2200K .......... .......... .......... .......... .......... 29% 3.73M 9s + 2250K .......... .......... .......... .......... .......... 29% 320K 9s + 2300K .......... .......... .......... .......... .......... 30% 1.23M 9s + 2350K .......... .......... .......... .......... .......... 31% 34.2M 8s + 2400K .......... .......... .......... .......... .......... 31% 13.9M 8s + 2450K .......... .......... .......... .......... .......... 32% 105M 8s + 2500K .......... .......... .......... .......... .......... 33% 9.23M 8s + 2550K .......... .......... .......... .......... .......... 33% 2.33M 7s + 2600K .......... .......... .......... .......... .......... 34% 72.5M 7s + 2650K .......... .......... .......... .......... .......... 35% 8.12M 7s + 2700K .......... .......... .......... .......... .......... 35% 11.7M 7s + 2750K .......... .......... .......... .......... .......... 36% 5.52M 7s + 2800K .......... .......... .......... .......... .......... 37% 298K 7s + 2850K .......... .......... .......... .......... .......... 37% 28.0M 7s + 2900K .......... .......... .......... .......... .......... 38% 8.84M 6s + 2950K .......... .......... .......... .......... .......... 39% 7.49M 6s + 3000K .......... .......... .......... .......... .......... 39% 5.08M 6s + 3050K .......... .......... .......... .......... .......... 40% 8.32M 6s + 3100K .......... .......... .......... .......... .......... 41% 4.58M 6s + 3150K .......... .......... .......... .......... .......... 41% 8.34M 6s + 3200K .......... .......... .......... .......... .......... 42% 5.61M 5s + 3250K .......... .......... .......... .......... .......... 42% 6.51M 5s + 3300K .......... .......... .......... .......... .......... 43% 5.91M 5s + 3350K .......... .......... .......... .......... .......... 44% 4.07M 5s + 3400K .......... .......... .......... .......... .......... 44% 436K 5s + 3450K .......... .......... .......... .......... .......... 45% 2.29M 5s + 3500K .......... .......... .......... .......... .......... 46% 474K 5s + 3550K .......... .......... .......... .......... .......... 46% 14.6M 5s + 3600K .......... .......... .......... .......... .......... 47% 15.7M 5s + 3650K .......... .......... .......... .......... .......... 48% 184K 5s + 3700K .......... .......... .......... .......... .......... 48% 39.4M 5s + 3750K .......... .......... .......... .......... .......... 49% 1.90M 5s + 3800K .......... .......... .......... .......... .......... 50% 8.52M 5s + 3850K .......... .......... .......... .......... .......... 50% 71.9M 4s + 3900K .......... .......... .......... .......... .......... 51% 2.70M 4s + 3950K .......... .......... .......... .......... .......... 52% 31.1M 4s + 4000K .......... .......... .......... .......... .......... 52% 63.5M 4s + 4050K .......... .......... .......... .......... .......... 53% 2.46M 4s + 4100K .......... .......... .......... .......... .......... 54% 458K 4s + 4150K .......... .......... .......... .......... .......... 54% 3.32M 4s + 4200K .......... .......... .......... .......... .......... 55% 22.7M 4s + 4250K .......... .......... .......... .......... .......... 56% 16.4M 4s + 4300K .......... .......... .......... .......... .......... 56% 10.2M 4s + 4350K .......... .......... .......... .......... .......... 57% 58.6M 4s + 4400K .......... .......... .......... .......... .......... 57% 14.0M 3s + 4450K .......... .......... .......... .......... .......... 58% 19.0M 3s + 4500K .......... .......... .......... .......... .......... 59% 16.3M 3s + 4550K .......... .......... .......... .......... .......... 59% 29.8M 3s + 4600K .......... .......... .......... .......... .......... 60% 24.7M 3s + 4650K .......... .......... .......... .......... .......... 61% 16.1M 3s + 4700K .......... .......... .......... .......... .......... 61% 8.79M 3s + 4750K .......... .......... .......... .......... .......... 62% 48.7M 3s + 4800K .......... .......... .......... .......... .......... 63% 6.70M 3s + 4850K .......... .......... .......... .......... .......... 63% 28.1M 3s + 4900K .......... .......... .......... .......... .......... 64% 85.1M 3s + 4950K .......... .......... .......... .......... .......... 65% 130M 3s + 5000K .......... .......... .......... .......... .......... 65% 19.8M 3s + 5050K .......... .......... .......... .......... .......... 66% 49.7M 2s + 5100K .......... .......... .......... .......... .......... 67% 18.7M 2s + 5150K .......... .......... .......... .......... .......... 67% 1.40M 2s + 5200K .......... .......... .......... .......... .......... 68% 5.35M 2s + 5250K .......... .......... .......... .......... .......... 69% 4.82M 2s + 5300K .......... .......... .......... .......... .......... 69% 147K 2s + 5350K .......... .......... .......... .......... .......... 70% 4.24M 2s + 5400K .......... .......... .......... .......... .......... 70% 4.79M 2s + 5450K .......... .......... .......... .......... .......... 71% 11.5M 2s + 5500K .......... .......... .......... .......... .......... 72% 51.0M 2s + 5550K .......... .......... .......... .......... .......... 72% 17.4M 2s + 5600K .......... .......... .......... .......... .......... 73% 17.9M 2s + 5650K .......... .......... .......... .......... .......... 74% 25.1M 2s + 5700K .......... .......... .......... .......... .......... 74% 19.0M 2s + 5750K .......... .......... .......... .......... .......... 75% 7.62M 2s + 5800K .......... .......... .......... .......... .......... 76% 61.9M 2s + 5850K .......... .......... .......... .......... .......... 76% 18.5M 2s + 5900K .......... .......... .......... .......... .......... 77% 45.8M 2s + 5950K .......... .......... .......... .......... .......... 78% 60.4M 1s + 6000K .......... .......... .......... .......... .......... 78% 41.7M 1s + 6050K .......... .......... .......... .......... .......... 79% 17.1M 1s + 6100K .......... .......... .......... .......... .......... 80% 32.5M 1s + 6150K .......... .......... .......... .......... .......... 80% 32.9M 1s + 6200K .......... .......... .......... .......... .......... 81% 587K 1s + 6250K .......... .......... .......... .......... .......... 82% 2.14M 1s + 6300K .......... .......... .......... .......... .......... 82% 11.1M 1s + 6350K .......... .......... .......... .......... .......... 83% 8.50M 1s + 6400K .......... .......... .......... .......... .......... 84% 4.44M 1s + 6450K .......... .......... .......... .......... .......... 84% 1.08M 1s + 6500K .......... .......... .......... .......... .......... 85% 1.67M 1s + 6550K .......... .......... .......... .......... .......... 85% 3.01M 1s + 6600K .......... .......... .......... .......... .......... 86% 3.61M 1s + 6650K .......... .......... .......... .......... .......... 87% 471K 1s + 6700K .......... .......... .......... .......... .......... 87% 4.96M 1s + 6750K .......... .......... .......... .......... .......... 88% 11.7M 1s + 6800K .......... .......... .......... .......... .......... 89% 5.54M 1s + 6850K .......... .......... .......... .......... .......... 89% 1.39M 1s + 6900K .......... .......... .......... .......... .......... 90% 1.89M 1s + 6950K .......... .......... .......... .......... .......... 91% 1.80M 1s + 7000K .......... .......... .......... .......... .......... 91% 4.54M 1s + 7050K .......... .......... .......... .......... .......... 92% 510K 0s + 7100K .......... .......... .......... .......... .......... 93% 2.49M 0s + 7150K .......... .......... .......... .......... .......... 93% 5.39M 0s + 7200K .......... .......... .......... .......... .......... 94% 4.65M 0s + 7250K .......... .......... .......... .......... .......... 95% 2.58M 0s + 7300K .......... .......... .......... .......... .......... 95% 2.50M 0s + 7350K .......... .......... .......... .......... .......... 96% 1.26M 0s + 7400K .......... .......... .......... .......... .......... 97% 4.94M 0s + 7450K .......... .......... .......... .......... .......... 97% 595K 0s + 7500K .......... .......... .......... .......... .......... 98% 1.81M 0s + 7550K .......... .......... .......... .......... .......... 98% 2.40M 0s + 7600K .......... .......... .......... .......... .......... 99% 3.87M 0s + 7650K .......... .......... ....... 100% 19.7M=6.1s + +2018-12-25 10:25:47 (1.23 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:30:04-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:30:05-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 4% 67.4K 18s + 50K .......... .......... .......... .......... .......... 8% 124K 13s + 100K .......... .......... .......... .......... .......... 12% 216K 10s + 150K .......... .......... .......... .......... .......... 16% 222K 8s + 200K .......... .......... .......... .......... .......... 20% 773K 7s + 250K .......... .......... .......... .......... .......... 24% 224K 6s + 300K .......... .......... .......... .......... .......... 28% 307K 5s + 350K .......... .......... .......... .......... .......... 32% 676K 4s + 400K .......... .......... .......... .......... .......... 36% 285K 4s + 450K .......... .......... .......... .......... .......... 40% 1.29M 3s + 500K .......... .......... .......... .......... .......... 44% 3.27M 3s + 550K .......... .......... .......... .......... .......... 48% 304K 3s + 600K .......... .......... .......... .......... .......... 52% 872K 2s + 650K .......... .......... .......... .......... .......... 56% 5.84M 2s + 700K .......... .......... .......... .......... .......... 60% 352K 2s + 750K .......... .......... .......... .......... .......... 64% 957K 2s + 800K .......... .......... .......... .......... .......... 68% 1.63M 1s + 850K .......... .......... .......... .......... .......... 72% 2.44M 1s + 900K .......... .......... .......... .......... .......... 76% 336K 1s + 950K .......... .......... .......... .......... .......... 80% 1.50M 1s + 1000K .......... .......... .......... .......... .......... 84% 2.13M 1s + 1050K .......... .......... .......... .......... .......... 88% 4.68M 0s + 1100K .......... .......... .......... .......... .......... 92% 3.73M 0s + 1150K .......... .......... .......... .......... .......... 96% 352K 0s + 1200K .......... .......... .......... .......... ... 100% 2.96M=3.2s + +2018-12-25 10:30:09 (387 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + creating: 2101_insertion/ + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + creating: 2101_insertion/css/ + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + creating: 2101_insertion/img/ + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + creating: 2101_insertion/js/ + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + creating: 2101_insertion/webfonts/ + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +wget is already the newest version (1.17.1-1ubuntu1.4). +Suggested packages: + www-browser apache2-doc apache2-suexec-pristine | apache2-suexec-custom +The following NEW packages will be installed: + apache2 +0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded. +Need to get 86.6 kB of archives. +After this operation, 502 kB of additional disk space will be used. +Get:1 http://183.82.14.14:80/data/05e518c02e3b4124/archive.ubuntu.com/ubuntu xenial-updates/main amd64 apache2 amd64 2.4.18-2ubuntu3.9 [86.6 kB] +debconf: unable to initialize frontend: Dialog +debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.) +debconf: falling back to frontend: Readline +debconf: unable to initialize frontend: Readline +debconf: (This frontend requires a controlling tty.) +debconf: falling back to frontend: Teletype +dpkg-preconfigure: unable to re-open stdin: +Fetched 86.6 kB in 0s (187 kB/s) +Selecting previously unselected package apache2. +(Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 82844 files and directories currently installed.) +Preparing to unpack .../apache2_2.4.18-2ubuntu3.9_amd64.deb ... +Unpacking apache2 (2.4.18-2ubuntu3.9) ... +Processing triggers for man-db (2.7.5-1) ... +Processing triggers for systemd (229-4ubuntu21.10) ... +Processing triggers for ureadahead (0.100.0-19) ... +Processing triggers for ufw (0.35-0ubuntu2) ... +Setting up apache2 (2.4.18-2ubuntu3.9) ... +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:37:13-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:37:14-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 4% 72.9K 16s + 50K .......... .......... .......... .......... .......... 8% 220K 10s + 100K .......... .......... .......... .......... .......... 12% 215K 8s + 150K .......... .......... .......... .......... .......... 16% 245K 7s + 200K .......... .......... .......... .......... .......... 20% 2.38M 5s + 250K .......... .......... .......... .......... .......... 24% 221K 5s + 300K .......... .......... .......... .......... .......... 28% 26.9M 4s + 350K .......... .......... .......... .......... .......... 32% 228K 4s + 400K .......... .......... .......... .......... .......... 36% 8.09M 3s + 450K .......... .......... .......... .......... .......... 40% 231K 3s + 500K .......... .......... .......... .......... .......... 44% 6.46M 3s + 550K .......... .......... .......... .......... .......... 48% 4.87M 2s + 600K .......... .......... .......... .......... .......... 52% 243K 2s + 650K .......... .......... .......... .......... .......... 56% 3.15M 2s + 700K .......... .......... .......... .......... .......... 60% 4.74M 2s + 750K .......... .......... .......... .......... .......... 64% 229K 1s + 800K .......... .......... .......... .......... .......... 68% 7.20M 1s + 850K .......... .......... .......... .......... .......... 72% 81.0M 1s + 900K .......... .......... .......... .......... .......... 76% 103M 1s + 950K .......... .......... .......... .......... .......... 80% 275K 1s + 1000K .......... .......... .......... .......... .......... 84% 1.72M 1s + 1050K .......... .......... .......... .......... .......... 88% 7.67M 0s + 1100K .......... .......... .......... .......... .......... 92% 7.15M 0s + 1150K .......... .......... .......... .......... .......... 96% 4.39M 0s + 1200K .......... .......... .......... .......... ... 100% 256K=2.9s + +2018-12-25 10:37:18 (426 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +wget is already the newest version (1.17.1-1ubuntu1.4). +Suggested packages: + www-browser apache2-doc apache2-suexec-pristine | apache2-suexec-custom +The following NEW packages will be installed: + apache2 +0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded. +Need to get 86.6 kB of archives. +After this operation, 502 kB of additional disk space will be used. +Get:1 http://183.82.14.14:80/data/05e5a7c300c65db7/archive.ubuntu.com/ubuntu xenial-updates/main amd64 apache2 amd64 2.4.18-2ubuntu3.9 [86.6 kB] +debconf: unable to initialize frontend: Dialog +debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.) +debconf: falling back to frontend: Readline +debconf: unable to initialize frontend: Readline +debconf: (This frontend requires a controlling tty.) +debconf: falling back to frontend: Teletype +dpkg-preconfigure: unable to re-open stdin: +Fetched 86.6 kB in 0s (233 kB/s) +Selecting previously unselected package apache2. +(Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 82844 files and directories currently installed.) +Preparing to unpack .../apache2_2.4.18-2ubuntu3.9_amd64.deb ... +Unpacking apache2 (2.4.18-2ubuntu3.9) ... +Processing triggers for man-db (2.7.5-1) ... +Processing triggers for systemd (229-4ubuntu21.10) ... +Processing triggers for ureadahead (0.100.0-19) ... +Processing triggers for ufw (0.35-0ubuntu2) ... +Setting up apache2 (2.4.18-2ubuntu3.9) ... +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:41:04-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:41:05-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 4% 55.2K 22s + 50K .......... .......... .......... .......... .......... 8% 181K 14s + 100K .......... .......... .......... .......... .......... 12% 198K 10s + 150K .......... .......... .......... .......... .......... 16% 196K 9s + 200K .......... .......... .......... .......... .......... 20% 239K 8s + 250K .......... .......... .......... .......... .......... 24% 246K 7s + 300K .......... .......... .......... .......... .......... 28% 695K 6s + 350K .......... .......... .......... .......... .......... 32% 281K 5s + 400K .......... .......... .......... .......... .......... 36% 744K 4s + 450K .......... .......... .......... .......... .......... 40% 288K 4s + 500K .......... .......... .......... .......... .......... 44% 3.13M 3s + 550K .......... .......... .......... .......... .......... 48% 789K 3s + 600K .......... .......... .......... .......... .......... 52% 370K 3s + 650K .......... .......... .......... .......... .......... 56% 2.60M 2s + 700K .......... .......... .......... .......... .......... 60% 1000K 2s + 750K .......... .......... .......... .......... .......... 64% 1.61M 2s + 800K .......... .......... .......... .......... .......... 68% 369K 1s + 850K .......... .......... .......... .......... .......... 72% 1.63M 1s + 900K .......... .......... .......... .......... .......... 76% 2.94M 1s + 950K .......... .......... .......... .......... .......... 80% 1.06M 1s + 1000K .......... .......... .......... .......... .......... 84% 1.76M 1s + 1050K .......... .......... .......... .......... .......... 88% 422K 0s + 1100K .......... .......... .......... .......... .......... 92% 1.95M 0s + 1150K .......... .......... .......... .......... .......... 96% 2.90M 0s + 1200K .......... .......... .......... .......... ... 100% 1.99M=3.3s + +2018-12-25 10:41:09 (372 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +wget is already the newest version (1.17.1-1ubuntu1.4). +Suggested packages: + www-browser apache2-doc apache2-suexec-pristine | apache2-suexec-custom +The following NEW packages will be installed: + apache2 +0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded. +Need to get 86.6 kB of archives. +After this operation, 502 kB of additional disk space will be used. +Get:1 http://183.82.14.14:80/data/01e536cfe6bc34da/archive.ubuntu.com/ubuntu xenial-updates/main amd64 apache2 amd64 2.4.18-2ubuntu3.9 [86.6 kB] +debconf: unable to initialize frontend: Dialog +debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.) +debconf: falling back to frontend: Readline +debconf: unable to initialize frontend: Readline +debconf: (This frontend requires a controlling tty.) +debconf: falling back to frontend: Teletype +dpkg-preconfigure: unable to re-open stdin: +Fetched 86.6 kB in 0s (160 kB/s) +Selecting previously unselected package apache2. +(Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 82844 files and directories currently installed.) +Preparing to unpack .../apache2_2.4.18-2ubuntu3.9_amd64.deb ... +Unpacking apache2 (2.4.18-2ubuntu3.9) ... +Processing triggers for man-db (2.7.5-1) ... +Processing triggers for systemd (229-4ubuntu21.10) ... +Processing triggers for ureadahead (0.100.0-19) ... +Processing triggers for ufw (0.35-0ubuntu2) ... +Setting up apache2 (2.4.18-2ubuntu3.9) ... +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:54:11-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:54:12-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 70.5K 1m48s + 50K .......... .......... .......... .......... .......... 1% 110K 88s + 100K .......... .......... .......... .......... .......... 1% 228K 69s + 150K .......... .......... .......... .......... .......... 2% 237K 60s + 200K .......... .......... .......... .......... .......... 3% 261K 53s + 250K .......... .......... .......... .......... .......... 3% 1.04M 45s + 300K .......... .......... .......... .......... .......... 4% 268K 42s + 350K .......... .......... .......... .......... .......... 5% 1.01M 38s + 400K .......... .......... .......... .......... .......... 5% 246K 36s + 450K .......... .......... .......... .......... .......... 6% 1.77M 33s + 500K .......... .......... .......... .......... .......... 7% 304K 32s + 550K .......... .......... .......... .......... .......... 7% 949K 30s + 600K .......... .......... .......... .......... .......... 8% 3.79M 27s + 650K .......... .......... .......... .......... .......... 9% 303K 27s + 700K .......... .......... .......... .......... .......... 9% 944K 25s + 750K .......... .......... .......... .......... .......... 10% 2.46M 24s + 800K .......... .......... .......... .......... .......... 11% 306K 24s + 850K .......... .......... .......... .......... .......... 11% 2.86M 22s + 900K .......... .......... .......... .......... .......... 12% 848K 21s + 950K .......... .......... .......... .......... .......... 13% 24.6M 20s + 1000K .......... .......... .......... .......... .......... 13% 289K 20s + 1050K .......... .......... .......... .......... .......... 14% 59.2M 19s + 1100K .......... .......... .......... .......... .......... 14% 2.49M 18s + 1150K .......... .......... .......... .......... .......... 15% 1.82M 17s + 1200K .......... .......... .......... .......... .......... 16% 10.2M 17s + 1250K .......... .......... .......... .......... .......... 16% 284K 17s + 1300K .......... .......... .......... .......... .......... 17% 63.0M 16s + 1350K .......... .......... .......... .......... .......... 18% 3.86M 15s + 1400K .......... .......... .......... .......... .......... 18% 1.68M 15s + 1450K .......... .......... .......... .......... .......... 19% 5.79M 14s + 1500K .......... .......... .......... .......... .......... 20% 7.80M 14s + 1550K .......... .......... .......... .......... .......... 20% 310K 14s + 1600K .......... .......... .......... .......... .......... 21% 8.68M 13s + 1650K .......... .......... .......... .......... .......... 22% 135M 13s + 1700K .......... .......... .......... .......... .......... 22% 1.10M 12s + 1750K .......... .......... .......... .......... .......... 23% 5.91M 12s + 1800K .......... .......... .......... .......... .......... 24% 4.40M 12s + 1850K .......... .......... .......... .......... .......... 24% 87.7M 11s + 1900K .......... .......... .......... .......... .......... 25% 350K 11s + 1950K .......... .......... .......... .......... .......... 26% 3.30M 11s + 2000K .......... .......... .......... .......... .......... 26% 36.7M 11s + 2050K .......... .......... .......... .......... .......... 27% 2.18M 10s + 2100K .......... .......... .......... .......... .......... 28% 2.65M 10s + 2150K .......... .......... .......... .......... .......... 28% 2.49M 10s + 2200K .......... .......... .......... .......... .......... 29% 17.1M 9s + 2250K .......... .......... .......... .......... .......... 29% 9.66M 9s + 2300K .......... .......... .......... .......... .......... 30% 355K 9s + 2350K .......... .......... .......... .......... .......... 31% 2.69M 9s + 2400K .......... .......... .......... .......... .......... 31% 112M 9s + 2450K .......... .......... .......... .......... .......... 32% 7.13M 8s + 2500K .......... .......... .......... .......... .......... 33% 17.5M 8s + 2550K .......... .......... .......... .......... .......... 33% 3.91M 8s + 2600K .......... .......... .......... .......... .......... 34% 1.08M 8s + 2650K .......... .......... .......... .......... .......... 35% 7.26M 8s + 2700K .......... .......... .......... .......... .......... 35% 4.77M 7s + 2750K .......... .......... .......... .......... .......... 36% 198K 8s + 2800K .......... .......... .......... .......... .......... 37% 690K 8s + 2850K .......... .......... .......... .......... .......... 37% 3.89M 7s + 2900K .......... .......... .......... .......... .......... 38% 13.2M 7s + 2950K .......... .......... .......... .......... .......... 39% 69.1M 7s + 3000K .......... .......... .......... .......... .......... 39% 114M 7s + 3050K .......... .......... .......... .......... .......... 40% 63.3M 7s + 3100K .......... .......... .......... .......... .......... 41% 136M 6s + 3150K .......... .......... .......... .......... .......... 41% 92.3M 6s + 3200K .......... .......... .......... .......... .......... 42% 118M 6s + 3250K .......... .......... .......... .......... .......... 42% 88.6M 6s + 3300K .......... .......... .......... .......... .......... 43% 142M 6s + 3350K .......... .......... .......... .......... .......... 44% 90.0M 6s + 3400K .......... .......... .......... .......... .......... 44% 60.4M 6s + 3450K .......... .......... .......... .......... .......... 45% 4.91M 5s + 3500K .......... .......... .......... .......... .......... 46% 3.25M 5s + 3550K .......... .......... .......... .......... .......... 46% 1.66M 5s + 3600K .......... .......... .......... .......... .......... 47% 5.73M 5s + 3650K .......... .......... .......... .......... .......... 48% 1.27M 5s + 3700K .......... .......... .......... .......... .......... 48% 1.48M 5s + 3750K .......... .......... .......... .......... .......... 49% 2.66M 5s + 3800K .......... .......... .......... .......... .......... 50% 75.5M 5s + 3850K .......... .......... .......... .......... .......... 50% 747K 5s + 3900K .......... .......... .......... .......... .......... 51% 2.57M 4s + 3950K .......... .......... .......... .......... .......... 52% 1.46M 4s + 4000K .......... .......... .......... .......... .......... 52% 3.36M 4s + 4050K .......... .......... .......... .......... .......... 53% 10.3M 4s + 4100K .......... .......... .......... .......... .......... 54% 1.11M 4s + 4150K .......... .......... .......... .......... .......... 54% 1.22M 4s + 4200K .......... .......... .......... .......... .......... 55% 3.71M 4s + 4250K .......... .......... .......... .......... .......... 56% 2.87M 4s + 4300K .......... .......... .......... .......... .......... 56% 1.21M 4s + 4350K .......... .......... .......... .......... .......... 57% 1.33M 4s + 4400K .......... .......... .......... .......... .......... 57% 1.44M 4s + 4450K .......... .......... .......... .......... .......... 58% 113M 4s + 4500K .......... .......... .......... .......... .......... 59% 8.30M 3s + 4550K .......... .......... .......... .......... .......... 59% 941K 3s + 4600K .......... .......... .......... .......... .......... 60% 1.23M 3s + 4650K .......... .......... .......... .......... .......... 61% 2.80M 3s + 4700K .......... .......... .......... .......... .......... 61% 63.1M 3s + 4750K .......... .......... .......... .......... .......... 62% 1.36M 3s + 4800K .......... .......... .......... .......... .......... 63% 1.44M 3s + 4850K .......... .......... .......... .......... .......... 63% 1.13M 3s + 4900K .......... .......... .......... .......... .......... 64% 2.70M 3s + 4950K .......... .......... .......... .......... .......... 65% 74.5M 3s + 5000K .......... .......... .......... .......... .......... 65% 3.59M 3s + 5050K .......... .......... .......... .......... .......... 66% 806K 3s + 5100K .......... .......... .......... .......... .......... 67% 4.64M 3s + 5150K .......... .......... .......... .......... .......... 67% 5.64M 3s + 5200K .......... .......... .......... .......... .......... 68% 1.48M 3s + 5250K .......... .......... .......... .......... .......... 69% 1.53M 2s + 5300K .......... .......... .......... .......... .......... 69% 2.64M 2s + 5350K .......... .......... .......... .......... .......... 70% 1.43M 2s + 5400K .......... .......... .......... .......... .......... 70% 3.66M 2s + 5450K .......... .......... .......... .......... .......... 71% 3.36M 2s + 5500K .......... .......... .......... .......... .......... 72% 2.25M 2s + 5550K .......... .......... .......... .......... .......... 72% 914K 2s + 5600K .......... .......... .......... .......... .......... 73% 7.18M 2s + 5650K .......... .......... .......... .......... .......... 74% 4.01M 2s + 5700K .......... .......... .......... .......... .......... 74% 2.42M 2s + 5750K .......... .......... .......... .......... .......... 75% 1.45M 2s + 5800K .......... .......... .......... .......... .......... 76% 3.71M 2s + 5850K .......... .......... .......... .......... .......... 76% 1.38M 2s + 5900K .......... .......... .......... .......... .......... 77% 2.33M 2s + 5950K .......... .......... .......... .......... .......... 78% 4.13M 2s + 6000K .......... .......... .......... .......... .......... 78% 1.77M 2s + 6050K .......... .......... .......... .......... .......... 79% 1.08M 2s + 6100K .......... .......... .......... .......... .......... 80% 2.83M 1s + 6150K .......... .......... .......... .......... .......... 80% 6.35M 1s + 6200K .......... .......... .......... .......... .......... 81% 2.87M 1s + 6250K .......... .......... .......... .......... .......... 82% 1.49M 1s + 6300K .......... .......... .......... .......... .......... 82% 5.78M 1s + 6350K .......... .......... .......... .......... .......... 83% 1.33M 1s + 6400K .......... .......... .......... .......... .......... 84% 2.32M 1s + 6450K .......... .......... .......... .......... .......... 84% 2.43M 1s + 6500K .......... .......... .......... .......... .......... 85% 3.06M 1s + 6550K .......... .......... .......... .......... .......... 85% 1005K 1s + 6600K .......... .......... .......... .......... .......... 86% 1.08M 1s + 6650K .......... .......... .......... .......... .......... 87% 4.85M 1s + 6700K .......... .......... .......... .......... .......... 87% 10.0M 1s + 6750K .......... .......... .......... .......... .......... 88% 6.58M 1s + 6800K .......... .......... .......... .......... .......... 89% 4.88M 1s + 6850K .......... .......... .......... .......... .......... 89% 1.02M 1s + 6900K .......... .......... .......... .......... .......... 90% 2.55M 1s + 6950K .......... .......... .......... .......... .......... 91% 2.33M 1s + 7000K .......... .......... .......... .......... .......... 91% 6.99M 1s + 7050K .......... .......... .......... .......... .......... 92% 1.68M 1s + 7100K .......... .......... .......... .......... .......... 93% 365K 0s + 7150K .......... .......... .......... .......... .......... 93% 22.1M 0s + 7200K .......... .......... .......... .......... .......... 94% 45.8M 0s + 7250K .......... .......... .......... .......... .......... 95% 166K 0s + 7300K .......... .......... .......... .......... .......... 95% 4.18M 0s + 7350K .......... .......... .......... .......... .......... 96% 1.65M 0s + 7400K .......... .......... .......... .......... .......... 97% 6.67M 0s + 7450K .......... .......... .......... .......... .......... 97% 110M 0s + 7500K .......... .......... .......... .......... .......... 98% 72.1M 0s + 7550K .......... .......... .......... .......... .......... 98% 71.4M 0s + 7600K .......... .......... .......... .......... .......... 99% 92.6M 0s + 7650K .......... .......... ....... 100% 38.8M=6.7s + +2018-12-25 10:54:19 (1.11 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:59:24-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:59:25-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 52.5K 2m25s + 50K .......... .......... .......... .......... .......... 1% 160K 96s + 100K .......... .......... .......... .......... .......... 1% 206K 76s + 150K .......... .......... .......... .......... .......... 2% 170K 67s + 200K .......... .......... .......... .......... .......... 3% 239K 60s + 250K .......... .......... .......... .......... .......... 3% 275K 54s + 300K .......... .......... .......... .......... .......... 4% 591K 48s + 350K .......... .......... .......... .......... .......... 5% 275K 45s + 400K .......... .......... .......... .......... .......... 5% 236K 43s + 450K .......... .......... .......... .......... .......... 6% 1.16M 39s + 500K .......... .......... .......... .......... .......... 7% 962K 36s + 550K .......... .......... .......... .......... .......... 7% 286K 35s + 600K .......... .......... .......... .......... .......... 8% 843K 32s + 650K .......... .......... .......... .......... .......... 9% 1.19M 30s + 700K .......... .......... .......... .......... .......... 9% 381K 29s + 750K .......... .......... .......... .......... .......... 10% 792K 28s + 800K .......... .......... .......... .......... .......... 11% 1.10M 26s + 850K .......... .......... .......... .......... .......... 11% 429K 26s + 900K .......... .......... .......... .......... .......... 12% 1.54M 24s + 950K .......... .......... .......... .......... .......... 13% 1.10M 23s + 1000K .......... .......... .......... .......... .......... 13% 1.51M 22s + 1050K .......... .......... .......... .......... .......... 14% 1.93M 21s + 1100K .......... .......... .......... .......... .......... 14% 464K 21s + 1150K .......... .......... .......... .......... .......... 15% 1.60M 20s + 1200K .......... .......... .......... .......... .......... 16% 1.51M 19s + 1250K .......... .......... .......... .......... .......... 16% 1.09M 18s + 1300K .......... .......... .......... .......... .......... 17% 2.43M 18s + 1350K .......... .......... .......... .......... .......... 18% 785K 17s + 1400K .......... .......... .......... .......... .......... 18% 951K 17s + 1450K .......... .......... .......... .......... .......... 19% 1.62M 16s + 1500K .......... .......... .......... .......... .......... 20% 3.09M 16s + 1550K .......... .......... .......... .......... .......... 20% 1.34M 15s + 1600K .......... .......... .......... .......... .......... 21% 1.24M 15s + 1650K .......... .......... .......... .......... .......... 22% 3.13M 14s + 1700K .......... .......... .......... .......... .......... 22% 1.03M 14s + 1750K .......... .......... .......... .......... .......... 23% 1.06M 13s + 1800K .......... .......... .......... .......... .......... 24% 1.31M 13s + 1850K .......... .......... .......... .......... .......... 24% 1.83M 13s + 1900K .......... .......... .......... .......... .......... 25% 3.01M 12s + 1950K .......... .......... .......... .......... .......... 26% 5.17M 12s + 2000K .......... .......... .......... .......... .......... 26% 3.00M 12s + 2050K .......... .......... .......... .......... .......... 27% 1.31M 11s + 2100K .......... .......... .......... .......... .......... 28% 18.2M 11s + 2150K .......... .......... .......... .......... .......... 28% 1.11M 11s + 2200K .......... .......... .......... .......... .......... 29% 965K 10s + 2250K .......... .......... .......... .......... .......... 29% 1.51M 10s + 2300K .......... .......... .......... .......... .......... 30% 3.90M 10s + 2350K .......... .......... .......... .......... .......... 31% 1.83M 10s + 2400K .......... .......... .......... .......... .......... 31% 3.03M 9s + 2450K .......... .......... .......... .......... .......... 32% 2.54M 9s + 2500K .......... .......... .......... .......... .......... 33% 4.26M 9s + 2550K .......... .......... .......... .......... .......... 33% 3.87M 9s + 2600K .......... .......... .......... .......... .......... 34% 2.31M 9s + 2650K .......... .......... .......... .......... .......... 35% 3.21M 8s + 2700K .......... .......... .......... .......... .......... 35% 910K 8s + 2750K .......... .......... .......... .......... .......... 36% 1.71M 8s + 2800K .......... .......... .......... .......... .......... 37% 1.48M 8s + 2850K .......... .......... .......... .......... .......... 37% 4.54M 8s + 2900K .......... .......... .......... .......... .......... 38% 2.92M 7s + 2950K .......... .......... .......... .......... .......... 39% 1.61M 7s + 3000K .......... .......... .......... .......... .......... 39% 2.99M 7s + 3050K .......... .......... .......... .......... .......... 40% 11.1M 7s + 3100K .......... .......... .......... .......... .......... 41% 3.80M 7s + 3150K .......... .......... .......... .......... .......... 41% 3.08M 7s + 3200K .......... .......... .......... .......... .......... 42% 2.17M 6s + 3250K .......... .......... .......... .......... .......... 42% 2.98M 6s + 3300K .......... .......... .......... .......... .......... 43% 9.32M 6s + 3350K .......... .......... .......... .......... .......... 44% 1.64M 6s + 3400K .......... .......... .......... .......... .......... 44% 3.30M 6s + 3450K .......... .......... .......... .......... .......... 45% 1.61M 6s + 3500K .......... .......... .......... .......... .......... 46% 3.00M 6s + 3550K .......... .......... .......... .......... .......... 46% 1.29M 6s + 3600K .......... .......... .......... .......... .......... 47% 32.2M 5s + 3650K .......... .......... .......... .......... .......... 48% 65.8M 5s + 3700K .......... .......... .......... .......... .......... 48% 2.26M 5s + 3750K .......... .......... .......... .......... .......... 49% 4.47M 5s + 3800K .......... .......... .......... .......... .......... 50% 2.46M 5s + 3850K .......... .......... .......... .......... .......... 50% 9.58M 5s + 3900K .......... .......... .......... .......... .......... 51% 3.51M 5s + 3950K .......... .......... .......... .......... .......... 52% 2.71M 5s + 4000K .......... .......... .......... .......... .......... 52% 3.77M 4s + 4050K .......... .......... .......... .......... .......... 53% 2.84M 4s + 4100K .......... .......... .......... .......... .......... 54% 6.21M 4s + 4150K .......... .......... .......... .......... .......... 54% 3.62M 4s + 4200K .......... .......... .......... .......... .......... 55% 3.40M 4s + 4250K .......... .......... .......... .......... .......... 56% 4.69M 4s + 4300K .......... .......... .......... .......... .......... 56% 1.83M 4s + 4350K .......... .......... .......... .......... .......... 57% 3.82M 4s + 4400K .......... .......... .......... .......... .......... 57% 3.00M 4s + 4450K .......... .......... .......... .......... .......... 58% 9.02M 4s + 4500K .......... .......... .......... .......... .......... 59% 4.55M 4s + 4550K .......... .......... .......... .......... .......... 59% 2.63M 3s + 4600K .......... .......... .......... .......... .......... 60% 3.70M 3s + 4650K .......... .......... .......... .......... .......... 61% 4.13M 3s + 4700K .......... .......... .......... .......... .......... 61% 7.85M 3s + 4750K .......... .......... .......... .......... .......... 62% 2.21M 3s + 4800K .......... .......... .......... .......... .......... 63% 1.97M 3s + 4850K .......... .......... .......... .......... .......... 63% 10.2M 3s + 4900K .......... .......... .......... .......... .......... 64% 2.27M 3s + 4950K .......... .......... .......... .......... .......... 65% 17.5M 3s + 5000K .......... .......... .......... .......... .......... 65% 4.26M 3s + 5050K .......... .......... .......... .......... .......... 66% 3.54M 3s + 5100K .......... .......... .......... .......... .......... 67% 2.84M 3s + 5150K .......... .......... .......... .......... .......... 67% 7.01M 3s + 5200K .......... .......... .......... .......... .......... 68% 3.11M 2s + 5250K .......... .......... .......... .......... .......... 69% 3.04M 2s + 5300K .......... .......... .......... .......... .......... 69% 3.32M 2s + 5350K .......... .......... .......... .......... .......... 70% 2.95M 2s + 5400K .......... .......... .......... .......... .......... 70% 5.78M 2s + 5450K .......... .......... .......... .......... .......... 71% 4.19M 2s + 5500K .......... .......... .......... .......... .......... 72% 5.40M 2s + 5550K .......... .......... .......... .......... .......... 72% 2.20M 2s + 5600K .......... .......... .......... .......... .......... 73% 9.29M 2s + 5650K .......... .......... .......... .......... .......... 74% 3.73M 2s + 5700K .......... .......... .......... .......... .......... 74% 2.47M 2s + 5750K .......... .......... .......... .......... .......... 75% 6.47M 2s + 5800K .......... .......... .......... .......... .......... 76% 5.44M 2s + 5850K .......... .......... .......... .......... .......... 76% 3.34M 2s + 5900K .......... .......... .......... .......... .......... 77% 3.24M 2s + 5950K .......... .......... .......... .......... .......... 78% 4.82M 2s + 6000K .......... .......... .......... .......... .......... 78% 2.66M 1s + 6050K .......... .......... .......... .......... .......... 79% 5.53M 1s + 6100K .......... .......... .......... .......... .......... 80% 3.52M 1s + 6150K .......... .......... .......... .......... .......... 80% 3.97M 1s + 6200K .......... .......... .......... .......... .......... 81% 4.01M 1s + 6250K .......... .......... .......... .......... .......... 82% 3.27M 1s + 6300K .......... .......... .......... .......... .......... 82% 6.98M 1s + 6350K .......... .......... .......... .......... .......... 83% 3.95M 1s + 6400K .......... .......... .......... .......... .......... 84% 2.66M 1s + 6450K .......... .......... .......... .......... .......... 84% 4.78M 1s + 6500K .......... .......... .......... .......... .......... 85% 3.19M 1s + 6550K .......... .......... .......... .......... .......... 85% 4.78M 1s + 6600K .......... .......... .......... .......... .......... 86% 3.01M 1s + 6650K .......... .......... .......... .......... .......... 87% 2.35M 1s + 6700K .......... .......... .......... .......... .......... 87% 130M 1s + 6750K .......... .......... .......... .......... .......... 88% 2.86M 1s + 6800K .......... .......... .......... .......... .......... 89% 6.38M 1s + 6850K .......... .......... .......... .......... .......... 89% 3.26M 1s + 6900K .......... .......... .......... .......... .......... 90% 5.56M 1s + 6950K .......... .......... .......... .......... .......... 91% 178K 1s + 7000K .......... .......... .......... .......... .......... 91% 79.4M 1s + 7050K .......... .......... .......... .......... .......... 92% 48.5M 0s + 7100K .......... .......... .......... .......... .......... 93% 4.86M 0s + 7150K .......... .......... .......... .......... .......... 93% 97.7M 0s + 7200K .......... .......... .......... .......... .......... 94% 3.74M 0s + 7250K .......... .......... .......... .......... .......... 95% 122M 0s + 7300K .......... .......... .......... .......... .......... 95% 142M 0s + 7350K .......... .......... .......... .......... .......... 96% 755K 0s + 7400K .......... .......... .......... .......... .......... 97% 16.2M 0s + 7450K .......... .......... .......... .......... .......... 97% 8.25M 0s + 7500K .......... .......... .......... .......... .......... 98% 3.24M 0s + 7550K .......... .......... .......... .......... .......... 98% 94.3M 0s + 7600K .......... .......... .......... .......... .......... 99% 57.4M 0s + 7650K .......... .......... ....... 100% 148M=6.2s + +2018-12-25 10:59:32 (1.21 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 11:01:32-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 11:01:33-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 53.0K 2m24s + 50K .......... .......... .......... .......... .......... 1% 208K 90s + 100K .......... .......... .......... .......... .......... 1% 205K 72s + 150K .......... .......... .......... .......... .......... 2% 215K 62s + 200K .......... .......... .......... .......... .......... 3% 217K 56s + 250K .......... .......... .......... .......... .......... 3% 3.41M 47s + 300K .......... .......... .......... .......... .......... 4% 224K 45s + 350K .......... .......... .......... .......... .......... 5% 1.88M 39s + 400K .......... .......... .......... .......... .......... 5% 231K 38s + 450K .......... .......... .......... .......... .......... 6% 2.52M 34s + 500K .......... .......... .......... .......... .......... 7% 3.80M 31s + 550K .......... .......... .......... .......... .......... 7% 240K 31s + 600K .......... .......... .......... .......... .......... 8% 3.62M 28s + 650K .......... .......... .......... .......... .......... 9% 3.12M 26s + 700K .......... .......... .......... .......... .......... 9% 278K 26s + 750K .......... .......... .......... .......... .......... 10% 1.58M 25s + 800K .......... .......... .......... .......... .......... 11% 2.83M 23s + 850K .......... .......... .......... .......... .......... 11% 3.33M 22s + 900K .......... .......... .......... .......... .......... 12% 2.97M 21s + 950K .......... .......... .......... .......... .......... 13% 266K 21s + 1000K .......... .......... .......... .......... .......... 13% 2.57M 20s + 1050K .......... .......... .......... .......... .......... 14% 3.01M 19s + 1100K .......... .......... .......... .......... .......... 14% 2.87M 18s + 1150K .......... .......... .......... .......... .......... 15% 2.14M 17s + 1200K .......... .......... .......... .......... .......... 16% 368K 17s + 1250K .......... .......... .......... .......... .......... 16% 1.38M 16s + 1300K .......... .......... .......... .......... .......... 17% 2.88M 16s + 1350K .......... .......... .......... .......... .......... 18% 3.69M 15s + 1400K .......... .......... .......... .......... .......... 18% 3.46M 15s + 1450K .......... .......... .......... .......... .......... 19% 3.55M 14s + 1500K .......... .......... .......... .......... .......... 20% 3.82M 13s + 1550K .......... .......... .......... .......... .......... 20% 375K 13s + 1600K .......... .......... .......... .......... .......... 21% 1.32M 13s + 1650K .......... .......... .......... .......... .......... 22% 2.93M 13s + 1700K .......... .......... .......... .......... .......... 22% 1.62M 12s + 1750K .......... .......... .......... .......... .......... 23% 41.2M 12s + 1800K .......... .......... .......... .......... .......... 24% 3.38M 11s + 1850K .......... .......... .......... .......... .......... 24% 3.12M 11s + 1900K .......... .......... .......... .......... .......... 25% 5.44M 11s + 1950K .......... .......... .......... .......... .......... 26% 480K 11s + 2000K .......... .......... .......... .......... .......... 26% 1.91M 10s + 2050K .......... .......... .......... .......... .......... 27% 1.77M 10s + 2100K .......... .......... .......... .......... .......... 28% 2.84M 10s + 2150K .......... .......... .......... .......... .......... 28% 3.66M 10s + 2200K .......... .......... .......... .......... .......... 29% 3.01M 9s + 2250K .......... .......... .......... .......... .......... 29% 3.93M 9s + 2300K .......... .......... .......... .......... .......... 30% 4.49M 9s + 2350K .......... .......... .......... .......... .......... 31% 4.83M 9s + 2400K .......... .......... .......... .......... .......... 31% 1.99M 8s + 2450K .......... .......... .......... .......... .......... 32% 690K 8s + 2500K .......... .......... .......... .......... .......... 33% 2.39M 8s + 2550K .......... .......... .......... .......... .......... 33% 1.69M 8s + 2600K .......... .......... .......... .......... .......... 34% 4.80M 8s + 2650K .......... .......... .......... .......... .......... 35% 1.74M 8s + 2700K .......... .......... .......... .......... .......... 35% 3.89M 7s + 2750K .......... .......... .......... .......... .......... 36% 4.71M 7s + 2800K .......... .......... .......... .......... .......... 37% 3.23M 7s + 2850K .......... .......... .......... .......... .......... 37% 5.87M 7s + 2900K .......... .......... .......... .......... .......... 38% 5.36M 7s + 2950K .......... .......... .......... .......... .......... 39% 3.96M 6s + 3000K .......... .......... .......... .......... .......... 39% 5.31M 6s + 3050K .......... .......... .......... .......... .......... 40% 4.10M 6s + 3100K .......... .......... .......... .......... .......... 41% 827K 6s + 3150K .......... .......... .......... .......... .......... 41% 2.55M 6s + 3200K .......... .......... .......... .......... .......... 42% 1.94M 6s + 3250K .......... .......... .......... .......... .......... 42% 3.86M 6s + 3300K .......... .......... .......... .......... .......... 43% 4.69M 6s + 3350K .......... .......... .......... .......... .......... 44% 1.89M 5s + 3400K .......... .......... .......... .......... .......... 44% 2.85M 5s + 3450K .......... .......... .......... .......... .......... 45% 6.26M 5s + 3500K .......... .......... .......... .......... .......... 46% 4.38M 5s + 3550K .......... .......... .......... .......... .......... 46% 2.95M 5s + 3600K .......... .......... .......... .......... .......... 47% 3.88M 5s + 3650K .......... .......... .......... .......... .......... 48% 5.66M 5s + 3700K .......... .......... .......... .......... .......... 48% 5.84M 5s + 3750K .......... .......... .......... .......... .......... 49% 3.98M 5s + 3800K .......... .......... .......... .......... .......... 50% 4.59M 4s + 3850K .......... .......... .......... .......... .......... 50% 1.82M 4s + 3900K .......... .......... .......... .......... .......... 51% 1.85M 4s + 3950K .......... .......... .......... .......... .......... 52% 5.36M 4s + 4000K .......... .......... .......... .......... .......... 52% 1.97M 4s + 4050K .......... .......... .......... .......... .......... 53% 3.85M 4s + 4100K .......... .......... .......... .......... .......... 54% 6.73M 4s + 4150K .......... .......... .......... .......... .......... 54% 2.50M 4s + 4200K .......... .......... .......... .......... .......... 55% 6.17M 4s + 4250K .......... .......... .......... .......... .......... 56% 1.80M 4s + 4300K .......... .......... .......... .......... .......... 56% 3.96M 4s + 4350K .......... .......... .......... .......... .......... 57% 2.72M 3s + 4400K .......... .......... .......... .......... .......... 57% 3.16M 3s + 4450K .......... .......... .......... .......... .......... 58% 4.94M 3s + 4500K .......... .......... .......... .......... .......... 59% 3.81M 3s + 4550K .......... .......... .......... .......... .......... 59% 4.40M 3s + 4600K .......... .......... .......... .......... .......... 60% 2.74M 3s + 4650K .......... .......... .......... .......... .......... 61% 4.72M 3s + 4700K .......... .......... .......... .......... .......... 61% 3.62M 3s + 4750K .......... .......... .......... .......... .......... 62% 3.70M 3s + 4800K .......... .......... .......... .......... .......... 63% 2.79M 3s + 4850K .......... .......... .......... .......... .......... 63% 2.56M 3s + 4900K .......... .......... .......... .......... .......... 64% 3.24M 3s + 4950K .......... .......... .......... .......... .......... 65% 2.51M 3s + 5000K .......... .......... .......... .......... .......... 65% 2.81M 3s + 5050K .......... .......... .......... .......... .......... 66% 3.04M 2s + 5100K .......... .......... .......... .......... .......... 67% 4.97M 2s + 5150K .......... .......... .......... .......... .......... 67% 3.99M 2s + 5200K .......... .......... .......... .......... .......... 68% 3.98M 2s + 5250K .......... .......... .......... .......... .......... 69% 4.14M 2s + 5300K .......... .......... .......... .......... .......... 69% 2.91M 2s + 5350K .......... .......... .......... .......... .......... 70% 5.35M 2s + 5400K .......... .......... .......... .......... .......... 70% 4.56M 2s + 5450K .......... .......... .......... .......... .......... 71% 3.09M 2s + 5500K .......... .......... .......... .......... .......... 72% 2.51M 2s + 5550K .......... .......... .......... .......... .......... 72% 4.79M 2s + 5600K .......... .......... .......... .......... .......... 73% 2.66M 2s + 5650K .......... .......... .......... .......... .......... 74% 4.42M 2s + 5700K .......... .......... .......... .......... .......... 74% 6.53M 2s + 5750K .......... .......... .......... .......... .......... 75% 4.18M 2s + 5800K .......... .......... .......... .......... .......... 76% 5.21M 2s + 5850K .......... .......... .......... .......... .......... 76% 2.69M 2s + 5900K .......... .......... .......... .......... .......... 77% 3.12M 1s + 5950K .......... .......... .......... .......... .......... 78% 2.27M 1s + 6000K .......... .......... .......... .......... .......... 78% 2.27M 1s + 6050K .......... .......... .......... .......... .......... 79% 1.72M 1s + 6100K .......... .......... .......... .......... .......... 80% 3.31M 1s + 6150K .......... .......... .......... .......... .......... 80% 4.14M 1s + 6200K .......... .......... .......... .......... .......... 81% 4.10M 1s + 6250K .......... .......... .......... .......... .......... 82% 4.12M 1s + 6300K .......... .......... .......... .......... .......... 82% 3.71M 1s + 6350K .......... .......... .......... .......... .......... 83% 169K 1s + 6400K .......... .......... .......... .......... .......... 84% 25.1M 1s + 6450K .......... .......... .......... .......... .......... 84% 10.7M 1s + 6500K .......... .......... .......... .......... .......... 85% 2.66M 1s + 6550K .......... .......... .......... .......... .......... 85% 10.8M 1s + 6600K .......... .......... .......... .......... .......... 86% 2.96M 1s + 6650K .......... .......... .......... .......... .......... 87% 7.07M 1s + 6700K .......... .......... .......... .......... .......... 87% 4.59M 1s + 6750K .......... .......... .......... .......... .......... 88% 50.2M 1s + 6800K .......... .......... .......... .......... .......... 89% 23.5M 1s + 6850K .......... .......... .......... .......... .......... 89% 128M 1s + 6900K .......... .......... .......... .......... .......... 90% 4.38M 1s + 6950K .......... .......... .......... .......... .......... 91% 15.0M 1s + 7000K .......... .......... .......... .......... .......... 91% 7.24M 0s + 7050K .......... .......... .......... .......... .......... 92% 2.64M 0s + 7100K .......... .......... .......... .......... .......... 93% 2.04M 0s + 7150K .......... .......... .......... .......... .......... 93% 9.64M 0s + 7200K .......... .......... .......... .......... .......... 94% 4.89M 0s + 7250K .......... .......... .......... .......... .......... 95% 12.9M 0s + 7300K .......... .......... .......... .......... .......... 95% 27.8M 0s + 7350K .......... .......... .......... .......... .......... 96% 29.8M 0s + 7400K .......... .......... .......... .......... .......... 97% 16.4M 0s + 7450K .......... .......... .......... .......... .......... 97% 33.5M 0s + 7500K .......... .......... .......... .......... .......... 98% 17.9M 0s + 7550K .......... .......... .......... .......... .......... 98% 55.0M 0s + 7600K .......... .......... .......... .......... .......... 99% 15.8M 0s + 7650K .......... .......... ....... 100% 54.9M=5.6s + +2018-12-25 11:01:39 (1.33 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ +################################################ +################################################ diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/websetup/websetupmulti.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/websetup/websetupmulti.sh new file mode 100644 index 00000000..66132252 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/websetup/websetupmulti.sh @@ -0,0 +1,87 @@ +#!/bin/bash + +: ' This script will setup sloopa website on +CENTOS 7.5 HTTPD service. +' +source /tmp/vars.txt +# Redirecting all the output/Suppressing output of yum command. +yum --help > /dev/null 2> /dev/null +if [ $? -eq 0 ] +then + echo "################################################################" + echo "RedHat based system detected." + echo "################################################################" + SVC=httpd + PACKS='httpd wget unzip' + +# Setup packages + echo + echo + echo "Installing Packages" + yum install $PACKS -y + echo "################################################################" + +# Start & Enable Service + echo + echo + echo "Starting and Enabling Service" + systemctl start $SVC + systemctl enable $SVC + echo "################################################################" + +# Copy website data to apache Doc Root Dir. + echo + echo + echo "Copying website data" + cd /tmp && wget -O website.zip $WEBURL + cd /tmp/ && unzip -o website.zip + cp -r /tmp/$DIRNAME/* /var/www/html/ + + + echo + echo + echo "Restarting Service" +# Restart SERVICE + systemctl restart $SVC + echo "################################################################" + +else + echo "################################################################" + echo "Debian based system detected." + echo "################################################################" + SVC=apache2 + PACKS='apache2 wget unzip' + +# Setup packages + echo + echo + echo "Installing Packages" + apt install $PACKS -y + echo "################################################################" + +# Start & Enable Service + echo + echo + echo "Starting and Enabling Service" + systemctl start $SVC + systemctl enable $SVC + echo "################################################################" + +# Copy website data to apache Doc Root Dir. + echo + echo + echo "Copying website data" + cd /tmp && wget -O website.zip $WEBURL + cd /tmp/ && unzip -o website.zip + cp -r /tmp/$DIRNAME/* /var/www/html/ + + echo "################################################################" + + echo + echo + echo "Restarting Service" +# Restart SERVICE + systemctl restart $SVC + echo "################################################################" +fi + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/while1.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/while1.sh new file mode 100644 index 00000000..9fe5b758 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/while1.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +c=1 + +while [ $c -le 5 ] +do + echo "Looping...." + echo "Value of c is $c." + c=$(( $c + 1 )) +done + +echo +echo "out of the loop" diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/while2.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/while2.sh new file mode 100644 index 00000000..acba95d6 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/scripts/while2.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +c=1 + +while true +do + echo "Looping...." + echo "Value of c is $c." + c=$(( $c + 1 )) +done + +echo +echo "out of the loop" diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/systemhealth.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/systemhealth.sh new file mode 100644 index 00000000..289e08fe --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/systemhealth.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +echo "Welcome $USER on $HOSTNAME." +echo "#######################################################" + +FREERAM=$(free -m | grep Mem | awk '{print $4}') +LOAD=`uptime | awk '{print $9}'` +ROOTFREE=$(df -h | grep '/dev/sda1' | awk '{print $4}') + + +echo "#######################################################" +echo "Available free RAM is $FREERAM MB" +echo "#######################################################" +echo "Current Load Average $LOAD" +echo "#######################################################" +echo "Free ROOT partiotion size is $ROOTFREE" diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/tomcat_scripts_ubuntu/Vagrantfile b/ddc-material-master/09.BashScripting/Bash_Scripts/tomcat_scripts_ubuntu/Vagrantfile new file mode 100644 index 00000000..b359f411 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/tomcat_scripts_ubuntu/Vagrantfile @@ -0,0 +1,24 @@ +Vagrant.configure("2") do |config| + + config.vm.define "scroldbox" do |scroldbox| + scroldbox.vm.box = "centos/6" + scroldbox.vm.hostname = "scroldbox" + scroldbox.vm.network "private_network", ip: "192.168.6.2" + end + + config.vm.define "old_web01" do |old_web01| + old_web01.vm.box = "centos/6" + old_web01.vm.hostname = "old-web01" + old_web01.vm.network "private_network", ip: "192.168.6.3" + old_web01.vm.provider "virtualbox" do |vb| + vb.memory = "1600" + vb.cpus = 2 + end + end + + config.vm.define "old_web02" do |old_web02| + old_web02.vm.box = "ubuntu/trusty64" + old_web02.vm.hostname = "old-web02" + old_web02.vm.network "private_network", ip: "192.168.6.5" + end +end diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/tomcat_scripts_ubuntu/tomcat_setup_scripts/apache-tomcat-8.5.37.tar.gz b/ddc-material-master/09.BashScripting/Bash_Scripts/tomcat_scripts_ubuntu/tomcat_setup_scripts/apache-tomcat-8.5.37.tar.gz new file mode 100644 index 00000000..6385d12c Binary files /dev/null and b/ddc-material-master/09.BashScripting/Bash_Scripts/tomcat_scripts_ubuntu/tomcat_setup_scripts/apache-tomcat-8.5.37.tar.gz differ diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/tomcat_scripts_ubuntu/tomcat_setup_scripts/testos.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/tomcat_scripts_ubuntu/tomcat_setup_scripts/testos.sh new file mode 100644 index 00000000..e5678457 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/tomcat_scripts_ubuntu/tomcat_setup_scripts/testos.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +# Show me right OS + +yum --help > /dev/null 2> /dev/null +if [ $? -eq 0 ] +then + if grep -q -i "release 6" /etc/redhat-release + then + echo "Running Centos 6." + else + echo "Running Centos 7." + fi +else + a=$(lsb_release -r) + if echo $a | grep -q -i "14" + then + echo "Running Ubuntu 14." + elif echo $deb_os | grep -q -i "15" + then + echo "Running Ubuntu 15." + else + echo "Runnning Ubuntu 16" + fi + +fi diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/tomcat_scripts_ubuntu/tomcat_setup_scripts/tomcat-servicefile b/ddc-material-master/09.BashScripting/Bash_Scripts/tomcat_scripts_ubuntu/tomcat_setup_scripts/tomcat-servicefile new file mode 100644 index 00000000..ea57ca27 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/tomcat_scripts_ubuntu/tomcat_setup_scripts/tomcat-servicefile @@ -0,0 +1,26 @@ +# Systemd unit file for tomcat +[Unit] +Description=Apache Tomcat Web Application Container +After=syslog.target network.target + +[Service] +Type=forking + +Environment=JAVA_HOME=/usr/lib/jvm/jre +Environment=CATALINA_PID=/usr/local/tomcat8/temp/tomcat.pid +Environment=CATALINA_HOME=/usr/local/tomcat8 +Environment=CATALINA_BASE=/usr/local/tomcat8 +Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC' +Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom' + +ExecStart=/usr/local/tomcat8/bin/startup.sh +ExecStop=/usr/local/tomcat8/bin/shutdown.sh + +User=tomcat +Group=tomcat +UMask=0007 +RestartSec=10 +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/tomcat_scripts_ubuntu/tomcat_setup_scripts/tomcat-ubuntu-servicefile b/ddc-material-master/09.BashScripting/Bash_Scripts/tomcat_scripts_ubuntu/tomcat_setup_scripts/tomcat-ubuntu-servicefile new file mode 100644 index 00000000..bc925571 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/tomcat_scripts_ubuntu/tomcat_setup_scripts/tomcat-ubuntu-servicefile @@ -0,0 +1,26 @@ +# Systemd unit file for tomcat +[Unit] +Description=Apache Tomcat Web Application Container +After=syslog.target network.target + +[Service] +Type=forking + +Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre +Environment=CATALINA_PID=/usr/local/tomcat8/temp/tomcat.pid +Environment=CATALINA_HOME=/usr/local/tomcat8 +Environment=CATALINA_BASE=/usr/local/tomcat8 +Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC' +Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom' + +ExecStart=/usr/local/tomcat8/bin/startup.sh +ExecStop=/usr/local/tomcat8/bin/shutdown.sh + +User=tomcat +Group=tomcat +UMask=0007 +RestartSec=10 +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/tomcat_scripts_ubuntu/tomcat_setup_scripts/tomcat8_setup.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/tomcat_scripts_ubuntu/tomcat_setup_scripts/tomcat8_setup.sh new file mode 100644 index 00000000..60a16b8a --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/tomcat_scripts_ubuntu/tomcat_setup_scripts/tomcat8_setup.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +### Script to Setup Tomcat 8 + +# Source variable for script to use. +source vars.txt +apt install openjdk-8-jdk wget -y +sudo groupadd tomcat +sudo useradd -M -s /bin/nologin -g tomcat -d $TOMCAT_HOME tomcat +wget $DOWNLOAD_URL +sudo mkdir -p $TOMCAT_HOME +sudo tar xvf apache-tomcat-8*tar.gz -C $TOMCAT_HOME --strip-components=1 +cd $TOMCAT_HOME +#sudo chgrp -R tomcat $TOMCAT_HOME +sudo chmod -R g+r conf +#sudo chown -R tomcat webapps/ work/ temp/ logs/ +sudo chown tomcat:tomcat -R $TOMCAT_HOME/* +sudo cat $SVCFILE > /etc/systemd/system/tomcat.service +sudo chmod a+x /etc/systemd/system/tomcat.service +sleep 5 +sudo systemctl daemon-reload +sleep 5 +sudo systemctl start tomcat +sleep 5 +sudo systemctl status tomcat +sleep 5 +sudo systemctl enable tomcat diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/tomcat_scripts_ubuntu/tomcat_setup_scripts/vars.txt b/ddc-material-master/09.BashScripting/Bash_Scripts/tomcat_scripts_ubuntu/tomcat_setup_scripts/vars.txt new file mode 100644 index 00000000..7e84030f --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/tomcat_scripts_ubuntu/tomcat_setup_scripts/vars.txt @@ -0,0 +1,3 @@ +export DOWNLOAD_URL=http://mirrors.estointernet.in/apache/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.tar.gz +export SVCFILE=/opt/scripts/tomcat/tomcat-ubuntu-servicefile +export TOMCAT_HOME=/usr/local/tomcat8 diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts.tgz b/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts.tgz new file mode 100644 index 00000000..c9ff319c Binary files /dev/null and b/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts.tgz differ diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts_loops/hostIP.txt b/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts_loops/hostIP.txt new file mode 100644 index 00000000..45d4e8b6 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts_loops/hostIP.txt @@ -0,0 +1,3 @@ +192.168.5.3 +192.168.5.4 +192.168.5.5 diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts_loops/tom_package.tgz b/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts_loops/tom_package.tgz new file mode 100644 index 00000000..837865c2 Binary files /dev/null and b/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts_loops/tom_package.tgz differ diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts_loops/tom_package/centos6-svcfile b/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts_loops/tom_package/centos6-svcfile new file mode 100644 index 00000000..d95cd2c0 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts_loops/tom_package/centos6-svcfile @@ -0,0 +1,37 @@ +#!/bin/bash + +### BEGIN INIT INFO +# Provides: tomcat7 +# Required-Start: $network +# Required-Stop: $network +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start/Stop Tomcat server +### END INIT INFO + +PATH=/sbin:/bin:/usr/sbin:/usr/bin + +start() { +sh /usr/local/tomcat8/bin/startup.sh +} + +stop() { +sh /usr/local/tomcat8/bin/shutdown.sh +} + +status() { +pid=$(ps -fe | grep '/usr/local/tomcat8' | grep -v grep | tr -s " " | cut -d" " -f2) + if [ -n "$pid" ]; then + echo -e "\e[00;32mTomcat is running with pid: $pid\e[00m" + else + echo -e "\e[00;31mTomcat is not running\e[00m" + fi +} + +case $1 in +start|stop|status) $1;; +restart) stop; start;; +*) echo "Run as $0 "; exit 1;; +esac +exit 0 + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts_loops/tom_package/centos7-svcfile b/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts_loops/tom_package/centos7-svcfile new file mode 100644 index 00000000..0c3a568b --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts_loops/tom_package/centos7-svcfile @@ -0,0 +1,27 @@ +# Systemd unit file for tomcat +[Unit] +Description=Apache Tomcat Web Application Container +After=syslog.target network.target + +[Service] +Type=forking + +Environment=JAVA_HOME=/usr/lib/jvm/jre +Environment=CATALINA_PID=/usr/local/tomcat8/temp/tomcat.pid +Environment=CATALINA_HOME=/usr/local/tomcat8 +Environment=CATALINA_BASE=/usr/local/tomcat8 +Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC' +Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom' + +ExecStart=/usr/local/tomcat8/bin/startup.sh +ExecStop=/usr/local/tomcat8/bin/shutdown.sh + +User=tomcat +Group=tomcat +UMask=0007 +RestartSec=10 +Restart=always + +[Install] +WantedBy=multi-user.target + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts_loops/tom_package/tomcat8_setup.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts_loops/tom_package/tomcat8_setup.sh new file mode 100644 index 00000000..25cc5e00 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts_loops/tom_package/tomcat8_setup.sh @@ -0,0 +1,298 @@ +source vars.txt + +yum --help > /dev/null 2> /dev/null +if [ $? -eq 0 ] +then + if grep -q -i "release 6" /etc/redhat-release + then + echo "############################################################" + echo "Setup Running on Centos 6." + echo "############################################################" + echo + echo + + SVCFILE=centos6-svcfile + + echo "############################################################" + echo "Installing Java" + echo "############################################################" + yum install epel-release -y + yum install java-1.8.0-openjdk.x86_64 wget -y + echo + echo + + echo "############################################################" + echo "Setting up Users & Group" + echo "############################################################" + groupadd tomcat + useradd -M -s /bin/nologin -g tomcat -d $TOMCAT_HOME tomcat + echo + echo + + echo "############################################################" + echo "Downloading tomcat..." + echo "############################################################" + wget $DOWNLOAD_URL + mkdir -p $TOMCAT_HOME + tar xf apache-tomcat-8*tar.gz -C $TOMCAT_HOME --strip-components=1 + echo + echo + + echo "############################################################" + echo "Setting up Permissions." + echo "############################################################" + chmod -R g+r $TOMCAT_HOME/conf + chown tomcat:tomcat -R $TOMCAT_HOME/* + echo + echo + + echo "############################################################" + echo "Setting up Startup scripts" + echo "############################################################" + cat $SVCFILE > /etc/init.d/tomcat + chmod 755 /etc/init.d/tomcat + sleep 5 + chkconfig --add tomcat + sleep 5 + echo + echo + + echo "############################################################" + echo "Setting Tomcat Service" + echo "############################################################" + service tomcat start + sleep 5 + echo + echo + + service tomcat status + sleep 5 + echo "############################################################" + echo "Enable Tomcat Service" + echo "############################################################" + echo + echo + + chkconfig tomcat on + echo + echo + + else +echo "############################################################" + echo "Setup Running on Centos 7." + echo "############################################################" + + SVCFILE=centos7-svcfile + + echo "############################################################" + echo "Installing Java" + echo "############################################################" + + yum install epel-release -y + yum install java-1.8.0-openjdk.x86_64 wget -y + echo + echo + + echo "############################################################" + echo "Setting up Users & Group" + echo "############################################################" + groupadd tomcat + useradd -M -s /bin/nologin -g tomcat -d $TOMCAT_HOME tomcat + echo + echo + + echo "############################################################" + echo "Downloading tomcat..." + echo "############################################################" + wget $DOWNLOAD_URL + mkdir -p $TOMCAT_HOME + tar xf apache-tomcat-8*tar.gz -C $TOMCAT_HOME --strip-components=1 + echo + echo + + echo "############################################################" + echo "Setting up Permissions." + echo "############################################################" + chmod -R g+r $TOMCAT_HOME/conf + chown tomcat:tomcat -R $TOMCAT_HOME/* + echo + echo + echo "############################################################" + echo "Setting up Startup scripts" + echo "############################################################" + cat $SVCFILE > /etc/systemd/system/tomcat.service + chmod a+x /etc/systemd/system/tomcat.service + sleep 5 + + systemctl daemon-reload + sleep 5 + echo + echo + + echo "############################################################" + echo "Starting Tomcat Service" + echo "############################################################" + systemctl start tomcat + sleep 5 + systemctl status tomcat + sleep 5 + + echo + echo + + echo "############################################################" + echo "Enabling Tomcat Service" + echo "############################################################" + systemctl enable tomcat + fi +else + a=$(lsb_release -r) + if echo $a | grep -q -i "14" + then + echo "############################################################" + echo "Setup Running on UBUNTU 14." + echo "############################################################" + + SVCFILE=centos6-svcfile + + echo "############################################################" + echo "Installing Java" + echo "############################################################" + add-apt-repository ppa:openjdk-r/ppa + apt update + apt install openjdk-8-jdk wget -y + echo + echo + + echo "############################################################" + echo "Setting up Users & Group" + echo "############################################################" + groupadd tomcat + useradd -M -s /bin/nologin -g tomcat -d $TOMCAT_HOME tomcat + echo + echo + + echo "############################################################" + echo "Downloading tomcat..." + echo "############################################################" + wget $DOWNLOAD_URL + mkdir -p $TOMCAT_HOME + tar xf apache-tomcat-8*tar.gz -C $TOMCAT_HOME --strip-components=1 + echo + echo + + echo "############################################################" + echo "Setting up Permissions." + echo "############################################################" + chmod -R g+r $TOMCAT_HOME/conf + chown tomcat:tomcat -R $TOMCAT_HOME/* + echo + echo + + echo "############################################################" + echo "Setting up Startup scripts" + echo "############################################################" + cat $SVCFILE > /etc/init.d/tomcat + chmod 755 /etc/init.d/tomcat + sleep 5 + echo + echo + + echo "############################################################" + echo "Setting Tomcat Service" + echo "############################################################" + update-rc.d tomcat defaults + sleep 5 + echo + echo + + echo "############################################################" + echo "Starting Tomcat Service" + echo "############################################################" + service tomcat start + sleep 5 + echo + echo + + service tomcat status + sleep 5 + echo + echo + + echo "############################################################" + echo "Enable Tomcat Service" + echo "############################################################" + update-rc.d tomcat enable + echo + echo + + else + echo "############################################################" + echo "Setup Running on UBUNTU 16." + echo "############################################################" + + SVCFILE=ubuntu16-svcfile + + echo "############################################################" + echo "Installing Java" + echo "############################################################" + apt update + apt install openjdk-8-jdk wget -y + echo + echo + + echo "############################################################" + echo "Setting up Users & Group" + echo "############################################################" + groupadd tomcat + useradd -M -s /bin/nologin -g tomcat -d $TOMCAT_HOME tomcat + echo + echo + + echo "############################################################" + echo "Downloading tomcat..." + echo "############################################################" + wget $DOWNLOAD_URL + mkdir -p $TOMCAT_HOME + tar xf apache-tomcat-8*tar.gz -C $TOMCAT_HOME --strip-components=1 + echo + echo + + echo "############################################################" + echo "Setting up Permissions." + echo "############################################################" + chmod -R g+r $TOMCAT_HOME/conf + chown tomcat:tomcat -R $TOMCAT_HOME/* + echo + echo + echo "############################################################" + echo "Setting up Startup scripts" + echo "############################################################" + cat $SVCFILE > /etc/systemd/system/tomcat.service + chmod a+x /etc/systemd/system/tomcat.service + sleep 5 + + systemctl daemon-reload + sleep 5 + echo + echo + + echo "############################################################" + echo "Starting Tomcat Service" + echo "############################################################" + systemctl start tomcat + sleep 5 + systemctl status tomcat + sleep 5 + + echo + echo + + echo "############################################################" + echo "Enabling Tomcat Service" + echo "############################################################" + systemctl enable tomcat + fi + +fi + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts_loops/tom_package/ubuntu16-svcfile b/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts_loops/tom_package/ubuntu16-svcfile new file mode 100644 index 00000000..0a1bebc7 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts_loops/tom_package/ubuntu16-svcfile @@ -0,0 +1,27 @@ +# Systemd unit file for tomcat +[Unit] +Description=Apache Tomcat Web Application Container +After=syslog.target network.target + +[Service] +Type=forking + +Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre +Environment=CATALINA_PID=/usr/local/tomcat8/temp/tomcat.pid +Environment=CATALINA_HOME=/usr/local/tomcat8 +Environment=CATALINA_BASE=/usr/local/tomcat8 +Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC' +Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom' + +ExecStart=/usr/local/tomcat8/bin/startup.sh +ExecStop=/usr/local/tomcat8/bin/shutdown.sh + +User=tomcat +Group=tomcat +UMask=0007 +RestartSec=10 +Restart=always + +[Install] +WantedBy=multi-user.target + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts_loops/tom_package/vars.txt b/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts_loops/tom_package/vars.txt new file mode 100644 index 00000000..e4adc1fc --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts_loops/tom_package/vars.txt @@ -0,0 +1,3 @@ +export DOWNLOAD_URL=http://mirrors.estointernet.in/apache/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.tar.gz +#export SVCFILE=/opt/scripts/tomcat/tomcat-centos6-svcfile +export TOMCAT_HOME=/usr/local/tomcat8 diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts_loops/tomcat8_deploy.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts_loops/tomcat8_deploy.sh new file mode 100644 index 00000000..498b7ab1 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/tomsetup_scripts_loops/tomcat8_deploy.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +for IP in `cat hostIP.txt` +do + tar -czf tom_package.tgz tom_package + scp tom_package.tgz devops@$IP:/tmp/ + ssh devops@$IP ' + sudo tar xzvf /tmp/tom_package.tgz -C /tmp/ + sudo /tmp/tom_package/tomcat8_setup.sh >> /tmp/tomsetup.log 2>> /tmp/tomsetup.log + sudo cat /tmp/tomsetup.log + ' + echo "################################################" + echo "################################################" +done diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/var1.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/var1.sh new file mode 100644 index 00000000..a44cd487 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/var1.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +MSG="Night" + +echo "Hello Everyone, Good $MSG" + +echo "This is a very good $MSG" + +echo "The value of MSG is $MSG" diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/webnodeIP.txt b/ddc-material-master/09.BashScripting/Bash_Scripts/webnodeIP.txt new file mode 100644 index 00000000..56e52ffa --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/webnodeIP.txt @@ -0,0 +1,3 @@ +192.168.5.3 +192.168.5.4 +192.168.5.5 diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/websetup/.log b/ddc-material-master/09.BashScripting/Bash_Scripts/websetup/.log new file mode 100644 index 00000000..646c9232 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/websetup/.log @@ -0,0 +1,1123 @@ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied) +E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root? +################################################################ + + +Starting and Enabling Service +Failed to start apache2.service: Interactive authentication required. +See system logs and 'systemctl status apache2.service' for details. +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +insserv: fopen(.depend.stop): Permission denied +Failed to execute operation: Interactive authentication required. +insserv: fopen(.depend.stop): Permission denied +Failed to execute operation: Interactive authentication required. +################################################################ + + +Copying website data +website.zip: Permission denied +Archive: website.zip +error: cannot delete old 2093_flight/contact.html + Permission denied +error: cannot delete old 2093_flight/css/bootstrap-theme.css + Permission denied +error: cannot delete old 2093_flight/css/bootstrap-theme.css.map + Permission denied +error: cannot delete old 2093_flight/css/bootstrap-theme.min.css + Permission denied +error: cannot delete old 2093_flight/css/bootstrap.css + Permission denied +error: cannot delete old 2093_flight/css/bootstrap.css.map + Permission denied +error: cannot delete old 2093_flight/css/bootstrap.min.css + Permission denied +error: cannot delete old 2093_flight/css/datepicker.css + Permission denied +error: cannot delete old 2093_flight/css/fontAwesome.css + Permission denied +error: cannot delete old 2093_flight/css/fonts/flexslider-icon.eot + Permission denied +error: cannot delete old 2093_flight/css/fonts/flexslider-icon.svg + Permission denied +error: cannot delete old 2093_flight/css/fonts/flexslider-icon.ttf + Permission denied +error: cannot delete old 2093_flight/css/fonts/flexslider-icon.woff + Permission denied +error: cannot delete old 2093_flight/css/hero-slider.css + Permission denied +error: cannot delete old 2093_flight/css/owl-carousel.css + Permission denied +error: cannot delete old 2093_flight/css/tooplate-style.css + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.eot + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.svg + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.ttf + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.woff + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.woff2 + Permission denied +error: cannot delete old 2093_flight/fonts/FontAwesome.otf + Permission denied +error: cannot delete old 2093_flight/fonts/glyphicons-halflings-regular.eot + Permission denied +error: cannot delete old 2093_flight/fonts/glyphicons-halflings-regular.svg + Permission denied +error: cannot delete old 2093_flight/fonts/glyphicons-halflings-regular.ttf + Permission denied +error: cannot delete old 2093_flight/fonts/glyphicons-halflings-regular.woff + Permission denied +error: cannot delete old 2093_flight/img/banner-bg.jpg + Permission denied +error: cannot delete old 2093_flight/img/close.png + Permission denied +error: cannot delete old 2093_flight/img/contact-01.jpg + Permission denied +error: cannot delete old 2093_flight/img/contact-02.jpg + Permission denied +error: cannot delete old 2093_flight/img/contact-bg.jpg + Permission denied +error: cannot delete old 2093_flight/img/evening-event.jpg + Permission denied +error: cannot delete old 2093_flight/img/fitness-service.jpg + Permission denied +error: cannot delete old 2093_flight/img/heading-bg.jpg + Permission denied +error: cannot delete old 2093_flight/img/loading.gif + Permission denied +error: cannot delete old 2093_flight/img/logo.png + Permission denied +error: cannot delete old 2093_flight/img/massage-service.jpg + Permission denied +error: cannot delete old 2093_flight/img/next.png + Permission denied +error: cannot delete old 2093_flight/img/place-01.jpg + Permission denied +error: cannot delete old 2093_flight/img/place-02.jpg + Permission denied +error: cannot delete old 2093_flight/img/place-03.jpg + Permission denied +error: cannot delete old 2093_flight/img/place-04.jpg + Permission denied +error: cannot delete old 2093_flight/img/prev.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-01.1.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-01.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-02.2.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-02.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-03.3.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-03.png + Permission denied +error: cannot delete old 2093_flight/img/suite-01.jpg + Permission denied +error: cannot delete old 2093_flight/img/suite-02.jpg + Permission denied +error: cannot delete old 2093_flight/img/suite-03.jpg + Permission denied +error: cannot delete old 2093_flight/img/swiming-pool.jpg + Permission denied +error: cannot delete old 2093_flight/img/weather-bg.jpg + Permission denied +error: cannot delete old 2093_flight/img/weather-icon-01.png + Permission denied +error: cannot delete old 2093_flight/img/weather-icon-02.png + Permission denied +error: cannot delete old 2093_flight/img/weather-icon-03.png + Permission denied +error: cannot delete old 2093_flight/index.html + Permission denied +error: cannot delete old 2093_flight/js/datepicker.js + Permission denied +error: cannot delete old 2093_flight/js/main.js + Permission denied +error: cannot delete old 2093_flight/js/plugins.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/bootstrap.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/bootstrap.min.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/jquery-1.11.2.min.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/npm.js + Permission denied +error: cannot delete old 2093_flight/ABOUT THIS TEMPLATE.txt + Permission denied +cp: cannot stat '/tmp/2112_brunch/*': No such file or directory +################################################################ + + +Restarting Service +Failed to restart apache2.service: Interactive authentication required. +See system logs and 'systemctl status apache2.service' for details. +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +wget: missing URL +Usage: wget [OPTION]... [URL]... + +Try `wget --help' for more options. +Archive: website.zip + inflating: 2093_flight/contact.html + inflating: 2093_flight/css/bootstrap-theme.css + inflating: 2093_flight/css/bootstrap-theme.css.map + inflating: 2093_flight/css/bootstrap-theme.min.css + inflating: 2093_flight/css/bootstrap.css + inflating: 2093_flight/css/bootstrap.css.map + inflating: 2093_flight/css/bootstrap.min.css + inflating: 2093_flight/css/datepicker.css + inflating: 2093_flight/css/fontAwesome.css + inflating: 2093_flight/css/fonts/flexslider-icon.eot + inflating: 2093_flight/css/fonts/flexslider-icon.svg + inflating: 2093_flight/css/fonts/flexslider-icon.ttf + inflating: 2093_flight/css/fonts/flexslider-icon.woff + inflating: 2093_flight/css/hero-slider.css + inflating: 2093_flight/css/owl-carousel.css + inflating: 2093_flight/css/tooplate-style.css + inflating: 2093_flight/fonts/fontawesome-webfont.eot + inflating: 2093_flight/fonts/fontawesome-webfont.svg + inflating: 2093_flight/fonts/fontawesome-webfont.ttf + inflating: 2093_flight/fonts/fontawesome-webfont.woff + inflating: 2093_flight/fonts/fontawesome-webfont.woff2 + inflating: 2093_flight/fonts/FontAwesome.otf + inflating: 2093_flight/fonts/glyphicons-halflings-regular.eot + inflating: 2093_flight/fonts/glyphicons-halflings-regular.svg + inflating: 2093_flight/fonts/glyphicons-halflings-regular.ttf + inflating: 2093_flight/fonts/glyphicons-halflings-regular.woff + inflating: 2093_flight/img/banner-bg.jpg + inflating: 2093_flight/img/close.png + inflating: 2093_flight/img/contact-01.jpg + inflating: 2093_flight/img/contact-02.jpg + inflating: 2093_flight/img/contact-bg.jpg + inflating: 2093_flight/img/evening-event.jpg + inflating: 2093_flight/img/fitness-service.jpg + inflating: 2093_flight/img/heading-bg.jpg + inflating: 2093_flight/img/loading.gif + inflating: 2093_flight/img/logo.png + inflating: 2093_flight/img/massage-service.jpg + inflating: 2093_flight/img/next.png + inflating: 2093_flight/img/place-01.jpg + inflating: 2093_flight/img/place-02.jpg + inflating: 2093_flight/img/place-03.jpg + inflating: 2093_flight/img/place-04.jpg + inflating: 2093_flight/img/prev.png + inflating: 2093_flight/img/service-icon-01.1.png + inflating: 2093_flight/img/service-icon-01.png + inflating: 2093_flight/img/service-icon-02.2.png + inflating: 2093_flight/img/service-icon-02.png + inflating: 2093_flight/img/service-icon-03.3.png + inflating: 2093_flight/img/service-icon-03.png + inflating: 2093_flight/img/suite-01.jpg + inflating: 2093_flight/img/suite-02.jpg + inflating: 2093_flight/img/suite-03.jpg + inflating: 2093_flight/img/swiming-pool.jpg + inflating: 2093_flight/img/weather-bg.jpg + inflating: 2093_flight/img/weather-icon-01.png + inflating: 2093_flight/img/weather-icon-02.png + inflating: 2093_flight/img/weather-icon-03.png + inflating: 2093_flight/index.html + inflating: 2093_flight/js/datepicker.js + inflating: 2093_flight/js/main.js + inflating: 2093_flight/js/plugins.js + inflating: 2093_flight/js/vendor/bootstrap.js + inflating: 2093_flight/js/vendor/bootstrap.min.js + inflating: 2093_flight/js/vendor/jquery-1.11.2.min.js + inflating: 2093_flight/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2093_flight/js/vendor/npm.js + inflating: 2093_flight/ABOUT THIS TEMPLATE.txt +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +wget: missing URL +Usage: wget [OPTION]... [URL]... + +Try `wget --help' for more options. +Archive: website.zip + inflating: 2093_flight/contact.html + inflating: 2093_flight/css/bootstrap-theme.css + inflating: 2093_flight/css/bootstrap-theme.css.map + inflating: 2093_flight/css/bootstrap-theme.min.css + inflating: 2093_flight/css/bootstrap.css + inflating: 2093_flight/css/bootstrap.css.map + inflating: 2093_flight/css/bootstrap.min.css + inflating: 2093_flight/css/datepicker.css + inflating: 2093_flight/css/fontAwesome.css + inflating: 2093_flight/css/fonts/flexslider-icon.eot + inflating: 2093_flight/css/fonts/flexslider-icon.svg + inflating: 2093_flight/css/fonts/flexslider-icon.ttf + inflating: 2093_flight/css/fonts/flexslider-icon.woff + inflating: 2093_flight/css/hero-slider.css + inflating: 2093_flight/css/owl-carousel.css + inflating: 2093_flight/css/tooplate-style.css + inflating: 2093_flight/fonts/fontawesome-webfont.eot + inflating: 2093_flight/fonts/fontawesome-webfont.svg + inflating: 2093_flight/fonts/fontawesome-webfont.ttf + inflating: 2093_flight/fonts/fontawesome-webfont.woff + inflating: 2093_flight/fonts/fontawesome-webfont.woff2 + inflating: 2093_flight/fonts/FontAwesome.otf + inflating: 2093_flight/fonts/glyphicons-halflings-regular.eot + inflating: 2093_flight/fonts/glyphicons-halflings-regular.svg + inflating: 2093_flight/fonts/glyphicons-halflings-regular.ttf + inflating: 2093_flight/fonts/glyphicons-halflings-regular.woff + inflating: 2093_flight/img/banner-bg.jpg + inflating: 2093_flight/img/close.png + inflating: 2093_flight/img/contact-01.jpg + inflating: 2093_flight/img/contact-02.jpg + inflating: 2093_flight/img/contact-bg.jpg + inflating: 2093_flight/img/evening-event.jpg + inflating: 2093_flight/img/fitness-service.jpg + inflating: 2093_flight/img/heading-bg.jpg + inflating: 2093_flight/img/loading.gif + inflating: 2093_flight/img/logo.png + inflating: 2093_flight/img/massage-service.jpg + inflating: 2093_flight/img/next.png + inflating: 2093_flight/img/place-01.jpg + inflating: 2093_flight/img/place-02.jpg + inflating: 2093_flight/img/place-03.jpg + inflating: 2093_flight/img/place-04.jpg + inflating: 2093_flight/img/prev.png + inflating: 2093_flight/img/service-icon-01.1.png + inflating: 2093_flight/img/service-icon-01.png + inflating: 2093_flight/img/service-icon-02.2.png + inflating: 2093_flight/img/service-icon-02.png + inflating: 2093_flight/img/service-icon-03.3.png + inflating: 2093_flight/img/service-icon-03.png + inflating: 2093_flight/img/suite-01.jpg + inflating: 2093_flight/img/suite-02.jpg + inflating: 2093_flight/img/suite-03.jpg + inflating: 2093_flight/img/swiming-pool.jpg + inflating: 2093_flight/img/weather-bg.jpg + inflating: 2093_flight/img/weather-icon-01.png + inflating: 2093_flight/img/weather-icon-02.png + inflating: 2093_flight/img/weather-icon-03.png + inflating: 2093_flight/index.html + inflating: 2093_flight/js/datepicker.js + inflating: 2093_flight/js/main.js + inflating: 2093_flight/js/plugins.js + inflating: 2093_flight/js/vendor/bootstrap.js + inflating: 2093_flight/js/vendor/bootstrap.min.js + inflating: 2093_flight/js/vendor/jquery-1.11.2.min.js + inflating: 2093_flight/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2093_flight/js/vendor/npm.js + inflating: 2093_flight/ABOUT THIS TEMPLATE.txt +################################################################ + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:18:31-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:18:32-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 73.2K 1m44s + 50K .......... .......... .......... .......... .......... 1% 206K 70s + 100K .......... .......... .......... .......... .......... 1% 211K 58s + 150K .......... .......... .......... .......... .......... 2% 210K 52s + 200K .......... .......... .......... .......... .......... 3% 236K 48s + 250K .......... .......... .......... .......... .......... 3% 222K 45s + 300K .......... .......... .......... .......... .......... 4% 2.15M 39s + 350K .......... .......... .......... .......... .......... 5% 231K 38s + 400K .......... .......... .......... .......... .......... 5% 2.95M 34s + 450K .......... .......... .......... .......... .......... 6% 235K 33s + 500K .......... .......... .......... .......... .......... 7% 47.9M 30s + 550K .......... .......... .......... .......... .......... 7% 7.65M 27s + 600K .......... .......... .......... .......... .......... 8% 225K 27s + 650K .......... .......... .......... .......... .......... 9% 3.16M 25s + 700K .......... .......... .......... .......... .......... 9% 29.4M 24s + 750K .......... .......... .......... .......... .......... 10% 60.9M 22s + 800K .......... .......... .......... .......... .......... 11% 210K 22s + 850K .......... .......... .......... .......... .......... 11% 14.3M 21s + 900K .......... .......... .......... .......... .......... 12% 29.5M 20s + 950K .......... .......... .......... .......... .......... 13% 261K 20s + 1000K .......... .......... .......... .......... .......... 13% 3.94M 19s + 1050K .......... .......... .......... .......... .......... 14% 5.28M 18s + 1100K .......... .......... .......... .......... .......... 14% 3.05M 17s + 1150K .......... .......... .......... .......... .......... 15% 7.95M 16s + 1200K .......... .......... .......... .......... .......... 16% 243K 17s + 1250K .......... .......... .......... .......... .......... 16% 75.2M 16s + 1300K .......... .......... .......... .......... .......... 17% 4.70M 15s + 1350K .......... .......... .......... .......... .......... 18% 3.43M 15s + 1400K .......... .......... .......... .......... .......... 18% 4.00M 14s + 1450K .......... .......... .......... .......... .......... 19% 4.10M 14s + 1500K .......... .......... .......... .......... .......... 20% 240K 14s + 1550K .......... .......... .......... .......... .......... 20% 20.1M 13s + 1600K .......... .......... .......... .......... .......... 21% 34.1M 13s + 1650K .......... .......... .......... .......... .......... 22% 36.4M 12s + 1700K .......... .......... .......... .......... .......... 22% 2.32M 12s + 1750K .......... .......... .......... .......... .......... 23% 2.12M 12s + 1800K .......... .......... .......... .......... .......... 24% 43.2M 11s + 1850K .......... .......... .......... .......... .......... 24% 341K 11s + 1900K .......... .......... .......... .......... .......... 25% 912K 11s + 1950K .......... .......... .......... .......... .......... 26% 53.2M 11s + 2000K .......... .......... .......... .......... .......... 26% 7.74M 10s + 2050K .......... .......... .......... .......... .......... 27% 198K 11s + 2100K .......... .......... .......... .......... .......... 28% 14.6M 10s + 2150K .......... .......... .......... .......... .......... 28% 13.6M 10s + 2200K .......... .......... .......... .......... .......... 29% 24.9M 10s + 2250K .......... .......... .......... .......... .......... 29% 32.2M 9s + 2300K .......... .......... .......... .......... .......... 30% 92.3M 9s + 2350K .......... .......... .......... .......... .......... 31% 19.3M 9s + 2400K .......... .......... .......... .......... .......... 31% 23.7M 9s + 2450K .......... .......... .......... .......... .......... 32% 36.2M 8s + 2500K .......... .......... .......... .......... .......... 33% 18.6M 8s + 2550K .......... .......... .......... .......... .......... 33% 15.0M 8s + 2600K .......... .......... .......... .......... .......... 34% 14.4M 8s + 2650K .......... .......... .......... .......... .......... 35% 47.4M 7s + 2700K .......... .......... .......... .......... .......... 35% 440K 7s + 2750K .......... .......... .......... .......... .......... 36% 1.13M 7s + 2800K .......... .......... .......... .......... .......... 37% 1.17M 7s + 2850K .......... .......... .......... .......... .......... 37% 5.00M 7s + 2900K .......... .......... .......... .......... .......... 38% 7.20M 7s + 2950K .......... .......... .......... .......... .......... 39% 3.33M 7s + 3000K .......... .......... .......... .......... .......... 39% 7.86M 6s + 3050K .......... .......... .......... .......... .......... 40% 394K 6s + 3100K .......... .......... .......... .......... .......... 41% 1.95M 6s + 3150K .......... .......... .......... .......... .......... 41% 4.28M 6s + 3200K .......... .......... .......... .......... .......... 42% 792K 6s + 3250K .......... .......... .......... .......... .......... 42% 5.39M 6s + 3300K .......... .......... .......... .......... .......... 43% 5.36M 6s + 3350K .......... .......... .......... .......... .......... 44% 193K 6s + 3400K .......... .......... .......... .......... .......... 44% 773K 6s + 3450K .......... .......... .......... .......... .......... 45% 12.3M 6s + 3500K .......... .......... .......... .......... .......... 46% 8.15M 6s + 3550K .......... .......... .......... .......... .......... 46% 8.85M 5s + 3600K .......... .......... .......... .......... .......... 47% 8.25M 5s + 3650K .......... .......... .......... .......... .......... 48% 57.0M 5s + 3700K .......... .......... .......... .......... .......... 48% 56.5M 5s + 3750K .......... .......... .......... .......... .......... 49% 57.8M 5s + 3800K .......... .......... .......... .......... .......... 50% 1.95M 5s + 3850K .......... .......... .......... .......... .......... 50% 1.17M 5s + 3900K .......... .......... .......... .......... .......... 51% 970K 5s + 3950K .......... .......... .......... .......... .......... 52% 2.26M 5s + 4000K .......... .......... .......... .......... .......... 52% 891K 5s + 4050K .......... .......... .......... .......... .......... 53% 798K 4s + 4100K .......... .......... .......... .......... .......... 54% 1.60M 4s + 4150K .......... .......... .......... .......... .......... 54% 726K 4s + 4200K .......... .......... .......... .......... .......... 55% 6.32M 4s + 4250K .......... .......... .......... .......... .......... 56% 3.52M 4s + 4300K .......... .......... .......... .......... .......... 56% 690K 4s + 4350K .......... .......... .......... .......... .......... 57% 1.16M 4s + 4400K .......... .......... .......... .......... .......... 57% 525K 4s + 4450K .......... .......... .......... .......... .......... 58% 11.4M 4s + 4500K .......... .......... .......... .......... .......... 59% 3.23M 4s + 4550K .......... .......... .......... .......... .......... 59% 969K 4s + 4600K .......... .......... .......... .......... .......... 60% 892K 4s + 4650K .......... .......... .......... .......... .......... 61% 1.77M 4s + 4700K .......... .......... .......... .......... .......... 61% 670K 4s + 4750K .......... .......... .......... .......... .......... 62% 3.80M 3s + 4800K .......... .......... .......... .......... .......... 63% 3.53M 3s + 4850K .......... .......... .......... .......... .......... 63% 604K 3s + 4900K .......... .......... .......... .......... .......... 64% 1.60M 3s + 4950K .......... .......... .......... .......... .......... 65% 678K 3s + 5000K .......... .......... .......... .......... .......... 65% 1.41M 3s + 5050K .......... .......... .......... .......... .......... 66% 5.76M 3s + 5100K .......... .......... .......... .......... .......... 67% 26.9M 3s + 5150K .......... .......... .......... .......... .......... 67% 508K 3s + 5200K .......... .......... .......... .......... .......... 68% 1.96M 3s + 5250K .......... .......... .......... .......... .......... 69% 603K 3s + 5300K .......... .......... .......... .......... .......... 69% 2.99M 3s + 5350K .......... .......... .......... .......... .......... 70% 6.91M 3s + 5400K .......... .......... .......... .......... .......... 70% 1.40M 3s + 5450K .......... .......... .......... .......... .......... 71% 823K 2s + 5500K .......... .......... .......... .......... .......... 72% 3.16M 2s + 5550K .......... .......... .......... .......... .......... 72% 583K 2s + 5600K .......... .......... .......... .......... .......... 73% 1.75M 2s + 5650K .......... .......... .......... .......... .......... 74% 3.70M 2s + 5700K .......... .......... .......... .......... .......... 74% 1.83M 2s + 5750K .......... .......... .......... .......... .......... 75% 775K 2s + 5800K .......... .......... .......... .......... .......... 76% 2.75M 2s + 5850K .......... .......... .......... .......... .......... 76% 640K 2s + 5900K .......... .......... .......... .......... .......... 77% 1.67M 2s + 5950K .......... .......... .......... .......... .......... 78% 3.91M 2s + 6000K .......... .......... .......... .......... .......... 78% 1.65M 2s + 6050K .......... .......... .......... .......... .......... 79% 745K 2s + 6100K .......... .......... .......... .......... .......... 80% 3.21M 2s + 6150K .......... .......... .......... .......... .......... 80% 624K 2s + 6200K .......... .......... .......... .......... .......... 81% 2.03M 2s + 6250K .......... .......... .......... .......... .......... 82% 1.96M 2s + 6300K .......... .......... .......... .......... .......... 82% 4.34M 1s + 6350K .......... .......... .......... .......... .......... 83% 679K 1s + 6400K .......... .......... .......... .......... .......... 84% 2.01M 1s + 6450K .......... .......... .......... .......... .......... 84% 706K 1s + 6500K .......... .......... .......... .......... .......... 85% 2.53M 1s + 6550K .......... .......... .......... .......... .......... 85% 1.64M 1s + 6600K .......... .......... .......... .......... .......... 86% 2.33M 1s + 6650K .......... .......... .......... .......... .......... 87% 872K 1s + 6700K .......... .......... .......... .......... .......... 87% 2.95M 1s + 6750K .......... .......... .......... .......... .......... 88% 1010K 1s + 6800K .......... .......... .......... .......... .......... 89% 1.07M 1s + 6850K .......... .......... .......... .......... .......... 89% 1.34M 1s + 6900K .......... .......... .......... .......... .......... 90% 3.40M 1s + 6950K .......... .......... .......... .......... .......... 91% 1.41M 1s + 7000K .......... .......... .......... .......... .......... 91% 894K 1s + 7050K .......... .......... .......... .......... .......... 92% 5.16M 1s + 7100K .......... .......... .......... .......... .......... 93% 655K 1s + 7150K .......... .......... .......... .......... .......... 93% 2.12M 1s + 7200K .......... .......... .......... .......... .......... 94% 1.19M 0s + 7250K .......... .......... .......... .......... .......... 95% 5.78M 0s + 7300K .......... .......... .......... .......... .......... 95% 809K 0s + 7350K .......... .......... .......... .......... .......... 96% 1.73M 0s + 7400K .......... .......... .......... .......... .......... 97% 683K 0s + 7450K .......... .......... .......... .......... .......... 97% 2.63M 0s + 7500K .......... .......... .......... .......... .......... 98% 1.10M 0s + 7550K .......... .......... .......... .......... .......... 98% 3.07M 0s + 7600K .......... .......... .......... .......... .......... 99% 1.19M 0s + 7650K .......... .......... ....... 100% 4.12M=7.9s + +2018-12-25 10:18:41 (974 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + creating: 2112_brunch/ + inflating: 2112_brunch/contact-page.html + creating: 2112_brunch/css/ + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + creating: 2112_brunch/css/fonts/ + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + creating: 2112_brunch/fonts/ + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + creating: 2112_brunch/img/ + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + creating: 2112_brunch/js/ + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + creating: 2112_brunch/js/vendor/ + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + creating: 2112_brunch/videos/ + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:20:30-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:20:31-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 70.5K 1m48s + 50K .......... .......... .......... .......... .......... 1% 213K 72s + 100K .......... .......... .......... .......... .......... 1% 201K 60s + 150K .......... .......... .......... .......... .......... 2% 207K 54s + 200K .......... .......... .......... .......... .......... 3% 217K 49s + 250K .......... .......... .......... .......... .......... 3% 200K 47s + 300K .......... .......... .......... .......... .......... 4% 1.42M 41s + 350K .......... .......... .......... .......... .......... 5% 241K 39s + 400K .......... .......... .......... .......... .......... 5% 897K 36s + 450K .......... .......... .......... .......... .......... 6% 275K 34s + 500K .......... .......... .......... .......... .......... 7% 8.35M 31s + 550K .......... .......... .......... .......... .......... 7% 1.07M 29s + 600K .......... .......... .......... .......... .......... 8% 257K 29s + 650K .......... .......... .......... .......... .......... 9% 5.54M 26s + 700K .......... .......... .......... .......... .......... 9% 11.3M 25s + 750K .......... .......... .......... .......... .......... 10% 246K 25s + 800K .......... .......... .......... .......... .......... 11% 2.03M 23s + 850K .......... .......... .......... .......... .......... 11% 5.73M 22s + 900K .......... .......... .......... .......... .......... 12% 6.69M 21s + 950K .......... .......... .......... .......... .......... 13% 254K 21s + 1000K .......... .......... .......... .......... .......... 13% 2.55M 20s + 1050K .......... .......... .......... .......... .......... 14% 7.14M 19s + 1100K .......... .......... .......... .......... .......... 14% 3.10M 18s + 1150K .......... .......... .......... .......... .......... 15% 7.59M 17s + 1200K .......... .......... .......... .......... .......... 16% 248K 17s + 1250K .......... .......... .......... .......... .......... 16% 4.82M 16s + 1300K .......... .......... .......... .......... .......... 17% 10.1M 16s + 1350K .......... .......... .......... .......... .......... 18% 3.07M 15s + 1400K .......... .......... .......... .......... .......... 18% 5.95M 15s + 1450K .......... .......... .......... .......... .......... 19% 5.45M 14s + 1500K .......... .......... .......... .......... .......... 20% 286K 14s + 1550K .......... .......... .......... .......... .......... 20% 3.17M 14s + 1600K .......... .......... .......... .......... .......... 21% 4.60M 13s + 1650K .......... .......... .......... .......... .......... 22% 6.24M 13s + 1700K .......... .......... .......... .......... .......... 22% 3.84M 12s + 1750K .......... .......... .......... .......... .......... 23% 2.40M 12s + 1800K .......... .......... .......... .......... .......... 24% 4.72M 11s + 1850K .......... .......... .......... .......... .......... 24% 410K 11s + 1900K .......... .......... .......... .......... .......... 25% 1.31M 11s + 1950K .......... .......... .......... .......... .......... 26% 1.69M 11s + 2000K .......... .......... .......... .......... .......... 26% 4.93M 11s + 2050K .......... .......... .......... .......... .......... 27% 127M 10s + 2100K .......... .......... .......... .......... .......... 28% 5.64M 10s + 2150K .......... .......... .......... .......... .......... 28% 9.05M 10s + 2200K .......... .......... .......... .......... .......... 29% 1.62M 9s + 2250K .......... .......... .......... .......... .......... 29% 4.73M 9s + 2300K .......... .......... .......... .......... .......... 30% 7.67M 9s + 2350K .......... .......... .......... .......... .......... 31% 360K 9s + 2400K .......... .......... .......... .......... .......... 31% 624K 9s + 2450K .......... .......... .......... .......... .......... 32% 54.2M 9s + 2500K .......... .......... .......... .......... .......... 33% 18.7M 8s + 2550K .......... .......... .......... .......... .......... 33% 173K 9s + 2600K .......... .......... .......... .......... .......... 34% 24.1M 8s + 2650K .......... .......... .......... .......... .......... 35% 5.09M 8s + 2700K .......... .......... .......... .......... .......... 35% 6.62M 8s + 2750K .......... .......... .......... .......... .......... 36% 9.95M 8s + 2800K .......... .......... .......... .......... .......... 37% 21.1M 8s + 2850K .......... .......... .......... .......... .......... 37% 68.4M 7s + 2900K .......... .......... .......... .......... .......... 38% 33.5M 7s + 2950K .......... .......... .......... .......... .......... 39% 132M 7s + 3000K .......... .......... .......... .......... .......... 39% 13.9M 7s + 3050K .......... .......... .......... .......... .......... 40% 11.9M 7s + 3100K .......... .......... .......... .......... .......... 41% 18.8M 6s + 3150K .......... .......... .......... .......... .......... 41% 88.3M 6s + 3200K .......... .......... .......... .......... .......... 42% 19.6M 6s + 3250K .......... .......... .......... .......... .......... 42% 23.0M 6s + 3300K .......... .......... .......... .......... .......... 43% 27.7M 6s + 3350K .......... .......... .......... .......... .......... 44% 102M 6s + 3400K .......... .......... .......... .......... .......... 44% 21.3M 5s + 3450K .......... .......... .......... .......... .......... 45% 41.3M 5s + 3500K .......... .......... .......... .......... .......... 46% 212K 5s + 3550K .......... .......... .......... .......... .......... 46% 374K 5s + 3600K .......... .......... .......... .......... .......... 47% 2.31M 5s + 3650K .......... .......... .......... .......... .......... 48% 4.08M 5s + 3700K .......... .......... .......... .......... .......... 48% 3.01M 5s + 3750K .......... .......... .......... .......... .......... 49% 5.24M 5s + 3800K .......... .......... .......... .......... .......... 50% 110M 5s + 3850K .......... .......... .......... .......... .......... 50% 113K 5s + 3900K .......... .......... .......... .......... .......... 51% 19.6M 5s + 3950K .......... .......... .......... .......... .......... 52% 1.47M 5s + 4000K .......... .......... .......... .......... .......... 52% 1.60M 5s + 4050K .......... .......... .......... .......... .......... 53% 4.34M 5s + 4100K .......... .......... .......... .......... .......... 54% 54.9M 5s + 4150K .......... .......... .......... .......... .......... 54% 52.0M 4s + 4200K .......... .......... .......... .......... .......... 55% 66.6M 4s + 4250K .......... .......... .......... .......... .......... 56% 103M 4s + 4300K .......... .......... .......... .......... .......... 56% 71.3M 4s + 4350K .......... .......... .......... .......... .......... 57% 99.7M 4s + 4400K .......... .......... .......... .......... .......... 57% 62.1M 4s + 4450K .......... .......... .......... .......... .......... 58% 50.5M 4s + 4500K .......... .......... .......... .......... .......... 59% 55.9M 4s + 4550K .......... .......... .......... .......... .......... 59% 73.3M 4s + 4600K .......... .......... .......... .......... .......... 60% 92.1M 4s + 4650K .......... .......... .......... .......... .......... 61% 72.5M 3s + 4700K .......... .......... .......... .......... .......... 61% 54.9M 3s + 4750K .......... .......... .......... .......... .......... 62% 358K 3s + 4800K .......... .......... .......... .......... .......... 63% 1.38M 3s + 4850K .......... .......... .......... .......... .......... 63% 4.36M 3s + 4900K .......... .......... .......... .......... .......... 64% 3.68M 3s + 4950K .......... .......... .......... .......... .......... 65% 9.36M 3s + 5000K .......... .......... .......... .......... .......... 65% 2.34M 3s + 5050K .......... .......... .......... .......... .......... 66% 781K 3s + 5100K .......... .......... .......... .......... .......... 67% 462K 3s + 5150K .......... .......... .......... .......... .......... 67% 1.96M 3s + 5200K .......... .......... .......... .......... .......... 68% 4.01M 3s + 5250K .......... .......... .......... .......... .......... 69% 1.54M 3s + 5300K .......... .......... .......... .......... .......... 69% 127M 3s + 5350K .......... .......... .......... .......... .......... 70% 5.85M 2s + 5400K .......... .......... .......... .......... .......... 70% 319K 2s + 5450K .......... .......... .......... .......... .......... 71% 27.0M 2s + 5500K .......... .......... .......... .......... .......... 72% 1.61M 2s + 5550K .......... .......... .......... .......... .......... 72% 765K 2s + 5600K .......... .......... .......... .......... .......... 73% 110M 2s + 5650K .......... .......... .......... .......... .......... 74% 140M 2s + 5700K .......... .......... .......... .......... .......... 74% 62.3M 2s + 5750K .......... .......... .......... .......... .......... 75% 334K 2s + 5800K .......... .......... .......... .......... .......... 76% 2.28M 2s + 5850K .......... .......... .......... .......... .......... 76% 826K 2s + 5900K .......... .......... .......... .......... .......... 77% 4.00M 2s + 5950K .......... .......... .......... .......... .......... 78% 104M 2s + 6000K .......... .......... .......... .......... .......... 78% 51.2M 2s + 6050K .......... .......... .......... .......... .......... 79% 7.03M 2s + 6100K .......... .......... .......... .......... .......... 80% 373K 2s + 6150K .......... .......... .......... .......... .......... 80% 9.47M 2s + 6200K .......... .......... .......... .......... .......... 81% 940K 2s + 6250K .......... .......... .......... .......... .......... 82% 5.34M 1s + 6300K .......... .......... .......... .......... .......... 82% 3.56M 1s + 6350K .......... .......... .......... .......... .......... 83% 4.29M 1s + 6400K .......... .......... .......... .......... .......... 84% 6.75M 1s + 6450K .......... .......... .......... .......... .......... 84% 351K 1s + 6500K .......... .......... .......... .......... .......... 85% 120M 1s + 6550K .......... .......... .......... .......... .......... 85% 638K 1s + 6600K .......... .......... .......... .......... .......... 86% 3.23M 1s + 6650K .......... .......... .......... .......... .......... 87% 80.8M 1s + 6700K .......... .......... .......... .......... .......... 87% 6.18M 1s + 6750K .......... .......... .......... .......... .......... 88% 35.0M 1s + 6800K .......... .......... .......... .......... .......... 89% 324K 1s + 6850K .......... .......... .......... .......... .......... 89% 9.17M 1s + 6900K .......... .......... .......... .......... .......... 90% 66.8M 1s + 6950K .......... .......... .......... .......... .......... 91% 816K 1s + 7000K .......... .......... .......... .......... .......... 91% 1.57M 1s + 7050K .......... .......... .......... .......... .......... 92% 7.37M 1s + 7100K .......... .......... .......... .......... .......... 93% 4.10M 1s + 7150K .......... .......... .......... .......... .......... 93% 12.9M 0s + 7200K .......... .......... .......... .......... .......... 94% 472K 0s + 7250K .......... .......... .......... .......... .......... 95% 31.4M 0s + 7300K .......... .......... .......... .......... .......... 95% 717K 0s + 7350K .......... .......... .......... .......... .......... 96% 18.1M 0s + 7400K .......... .......... .......... .......... .......... 97% 855K 0s + 7450K .......... .......... .......... .......... .......... 97% 23.6M 0s + 7500K .......... .......... .......... .......... .......... 98% 23.3M 0s + 7550K .......... .......... .......... .......... .......... 98% 961K 0s + 7600K .......... .......... .......... .......... .......... 99% 1.13M 0s + 7650K .......... .......... ....... 100% 115M=7.5s + +2018-12-25 10:20:39 (1024 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:25:39-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:25:40-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 71.5K 1m47s + 50K .......... .......... .......... .......... .......... 1% 217K 70s + 100K .......... .......... .......... .......... .......... 1% 204K 59s + 150K .......... .......... .......... .......... .......... 2% 223K 52s + 200K .......... .......... .......... .......... .......... 3% 3.86M 42s + 250K .......... .......... .......... .......... .......... 3% 223K 40s + 300K .......... .......... .......... .......... .......... 4% 215K 39s + 350K .......... .......... .......... .......... .......... 5% 11.0M 34s + 400K .......... .......... .......... .......... .......... 5% 224K 34s + 450K .......... .......... .......... .......... .......... 6% 3.01M 30s + 500K .......... .......... .......... .......... .......... 7% 70.8M 27s + 550K .......... .......... .......... .......... .......... 7% 238K 27s + 600K .......... .......... .......... .......... .......... 8% 1.92M 25s + 650K .......... .......... .......... .......... .......... 9% 35.6M 23s + 700K .......... .......... .......... .......... .......... 9% 245K 24s + 750K .......... .......... .......... .......... .......... 10% 4.05M 22s + 800K .......... .......... .......... .......... .......... 11% 2.06M 21s + 850K .......... .......... .......... .......... .......... 11% 5.50M 20s + 900K .......... .......... .......... .......... .......... 12% 257K 20s + 950K .......... .......... .......... .......... .......... 13% 7.91M 19s + 1000K .......... .......... .......... .......... .......... 13% 2.43M 18s + 1050K .......... .......... .......... .......... .......... 14% 3.62M 17s + 1100K .......... .......... .......... .......... .......... 14% 18.0M 16s + 1150K .......... .......... .......... .......... .......... 15% 254K 16s + 1200K .......... .......... .......... .......... .......... 16% 14.2M 16s + 1250K .......... .......... .......... .......... .......... 16% 5.86M 15s + 1300K .......... .......... .......... .......... .......... 17% 4.22M 14s + 1350K .......... .......... .......... .......... .......... 18% 2.98M 14s + 1400K .......... .......... .......... .......... .......... 18% 12.9M 13s + 1450K .......... .......... .......... .......... .......... 19% 254K 13s + 1500K .......... .......... .......... .......... .......... 20% 14.2M 13s + 1550K .......... .......... .......... .......... .......... 20% 33.8M 12s + 1600K .......... .......... .......... .......... .......... 21% 5.94M 12s + 1650K .......... .......... .......... .......... .......... 22% 5.50M 12s + 1700K .......... .......... .......... .......... .......... 22% 4.34M 11s + 1750K .......... .......... .......... .......... .......... 23% 4.67M 11s + 1800K .......... .......... .......... .......... .......... 24% 325K 11s + 1850K .......... .......... .......... .......... .......... 24% 1.26M 11s + 1900K .......... .......... .......... .......... .......... 25% 38.7M 10s + 1950K .......... .......... .......... .......... .......... 26% 44.4M 10s + 2000K .......... .......... .......... .......... .......... 26% 5.65M 10s + 2050K .......... .......... .......... .......... .......... 27% 5.81M 9s + 2100K .......... .......... .......... .......... .......... 28% 6.00M 9s + 2150K .......... .......... .......... .......... .......... 28% 8.38M 9s + 2200K .......... .......... .......... .......... .......... 29% 3.73M 9s + 2250K .......... .......... .......... .......... .......... 29% 320K 9s + 2300K .......... .......... .......... .......... .......... 30% 1.23M 9s + 2350K .......... .......... .......... .......... .......... 31% 34.2M 8s + 2400K .......... .......... .......... .......... .......... 31% 13.9M 8s + 2450K .......... .......... .......... .......... .......... 32% 105M 8s + 2500K .......... .......... .......... .......... .......... 33% 9.23M 8s + 2550K .......... .......... .......... .......... .......... 33% 2.33M 7s + 2600K .......... .......... .......... .......... .......... 34% 72.5M 7s + 2650K .......... .......... .......... .......... .......... 35% 8.12M 7s + 2700K .......... .......... .......... .......... .......... 35% 11.7M 7s + 2750K .......... .......... .......... .......... .......... 36% 5.52M 7s + 2800K .......... .......... .......... .......... .......... 37% 298K 7s + 2850K .......... .......... .......... .......... .......... 37% 28.0M 7s + 2900K .......... .......... .......... .......... .......... 38% 8.84M 6s + 2950K .......... .......... .......... .......... .......... 39% 7.49M 6s + 3000K .......... .......... .......... .......... .......... 39% 5.08M 6s + 3050K .......... .......... .......... .......... .......... 40% 8.32M 6s + 3100K .......... .......... .......... .......... .......... 41% 4.58M 6s + 3150K .......... .......... .......... .......... .......... 41% 8.34M 6s + 3200K .......... .......... .......... .......... .......... 42% 5.61M 5s + 3250K .......... .......... .......... .......... .......... 42% 6.51M 5s + 3300K .......... .......... .......... .......... .......... 43% 5.91M 5s + 3350K .......... .......... .......... .......... .......... 44% 4.07M 5s + 3400K .......... .......... .......... .......... .......... 44% 436K 5s + 3450K .......... .......... .......... .......... .......... 45% 2.29M 5s + 3500K .......... .......... .......... .......... .......... 46% 474K 5s + 3550K .......... .......... .......... .......... .......... 46% 14.6M 5s + 3600K .......... .......... .......... .......... .......... 47% 15.7M 5s + 3650K .......... .......... .......... .......... .......... 48% 184K 5s + 3700K .......... .......... .......... .......... .......... 48% 39.4M 5s + 3750K .......... .......... .......... .......... .......... 49% 1.90M 5s + 3800K .......... .......... .......... .......... .......... 50% 8.52M 5s + 3850K .......... .......... .......... .......... .......... 50% 71.9M 4s + 3900K .......... .......... .......... .......... .......... 51% 2.70M 4s + 3950K .......... .......... .......... .......... .......... 52% 31.1M 4s + 4000K .......... .......... .......... .......... .......... 52% 63.5M 4s + 4050K .......... .......... .......... .......... .......... 53% 2.46M 4s + 4100K .......... .......... .......... .......... .......... 54% 458K 4s + 4150K .......... .......... .......... .......... .......... 54% 3.32M 4s + 4200K .......... .......... .......... .......... .......... 55% 22.7M 4s + 4250K .......... .......... .......... .......... .......... 56% 16.4M 4s + 4300K .......... .......... .......... .......... .......... 56% 10.2M 4s + 4350K .......... .......... .......... .......... .......... 57% 58.6M 4s + 4400K .......... .......... .......... .......... .......... 57% 14.0M 3s + 4450K .......... .......... .......... .......... .......... 58% 19.0M 3s + 4500K .......... .......... .......... .......... .......... 59% 16.3M 3s + 4550K .......... .......... .......... .......... .......... 59% 29.8M 3s + 4600K .......... .......... .......... .......... .......... 60% 24.7M 3s + 4650K .......... .......... .......... .......... .......... 61% 16.1M 3s + 4700K .......... .......... .......... .......... .......... 61% 8.79M 3s + 4750K .......... .......... .......... .......... .......... 62% 48.7M 3s + 4800K .......... .......... .......... .......... .......... 63% 6.70M 3s + 4850K .......... .......... .......... .......... .......... 63% 28.1M 3s + 4900K .......... .......... .......... .......... .......... 64% 85.1M 3s + 4950K .......... .......... .......... .......... .......... 65% 130M 3s + 5000K .......... .......... .......... .......... .......... 65% 19.8M 3s + 5050K .......... .......... .......... .......... .......... 66% 49.7M 2s + 5100K .......... .......... .......... .......... .......... 67% 18.7M 2s + 5150K .......... .......... .......... .......... .......... 67% 1.40M 2s + 5200K .......... .......... .......... .......... .......... 68% 5.35M 2s + 5250K .......... .......... .......... .......... .......... 69% 4.82M 2s + 5300K .......... .......... .......... .......... .......... 69% 147K 2s + 5350K .......... .......... .......... .......... .......... 70% 4.24M 2s + 5400K .......... .......... .......... .......... .......... 70% 4.79M 2s + 5450K .......... .......... .......... .......... .......... 71% 11.5M 2s + 5500K .......... .......... .......... .......... .......... 72% 51.0M 2s + 5550K .......... .......... .......... .......... .......... 72% 17.4M 2s + 5600K .......... .......... .......... .......... .......... 73% 17.9M 2s + 5650K .......... .......... .......... .......... .......... 74% 25.1M 2s + 5700K .......... .......... .......... .......... .......... 74% 19.0M 2s + 5750K .......... .......... .......... .......... .......... 75% 7.62M 2s + 5800K .......... .......... .......... .......... .......... 76% 61.9M 2s + 5850K .......... .......... .......... .......... .......... 76% 18.5M 2s + 5900K .......... .......... .......... .......... .......... 77% 45.8M 2s + 5950K .......... .......... .......... .......... .......... 78% 60.4M 1s + 6000K .......... .......... .......... .......... .......... 78% 41.7M 1s + 6050K .......... .......... .......... .......... .......... 79% 17.1M 1s + 6100K .......... .......... .......... .......... .......... 80% 32.5M 1s + 6150K .......... .......... .......... .......... .......... 80% 32.9M 1s + 6200K .......... .......... .......... .......... .......... 81% 587K 1s + 6250K .......... .......... .......... .......... .......... 82% 2.14M 1s + 6300K .......... .......... .......... .......... .......... 82% 11.1M 1s + 6350K .......... .......... .......... .......... .......... 83% 8.50M 1s + 6400K .......... .......... .......... .......... .......... 84% 4.44M 1s + 6450K .......... .......... .......... .......... .......... 84% 1.08M 1s + 6500K .......... .......... .......... .......... .......... 85% 1.67M 1s + 6550K .......... .......... .......... .......... .......... 85% 3.01M 1s + 6600K .......... .......... .......... .......... .......... 86% 3.61M 1s + 6650K .......... .......... .......... .......... .......... 87% 471K 1s + 6700K .......... .......... .......... .......... .......... 87% 4.96M 1s + 6750K .......... .......... .......... .......... .......... 88% 11.7M 1s + 6800K .......... .......... .......... .......... .......... 89% 5.54M 1s + 6850K .......... .......... .......... .......... .......... 89% 1.39M 1s + 6900K .......... .......... .......... .......... .......... 90% 1.89M 1s + 6950K .......... .......... .......... .......... .......... 91% 1.80M 1s + 7000K .......... .......... .......... .......... .......... 91% 4.54M 1s + 7050K .......... .......... .......... .......... .......... 92% 510K 0s + 7100K .......... .......... .......... .......... .......... 93% 2.49M 0s + 7150K .......... .......... .......... .......... .......... 93% 5.39M 0s + 7200K .......... .......... .......... .......... .......... 94% 4.65M 0s + 7250K .......... .......... .......... .......... .......... 95% 2.58M 0s + 7300K .......... .......... .......... .......... .......... 95% 2.50M 0s + 7350K .......... .......... .......... .......... .......... 96% 1.26M 0s + 7400K .......... .......... .......... .......... .......... 97% 4.94M 0s + 7450K .......... .......... .......... .......... .......... 97% 595K 0s + 7500K .......... .......... .......... .......... .......... 98% 1.81M 0s + 7550K .......... .......... .......... .......... .......... 98% 2.40M 0s + 7600K .......... .......... .......... .......... .......... 99% 3.87M 0s + 7650K .......... .......... ....... 100% 19.7M=6.1s + +2018-12-25 10:25:47 (1.23 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/websetup/cleanweb.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/websetup/cleanweb.sh new file mode 100644 index 00000000..d9fb2806 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/websetup/cleanweb.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +echo "Checking connection for all the machines from webnodeIP.txt file" +for IP in $(cat webnodeIP.txt) +do + echo "Cleaning on $IP." + ssh devops@$IP ' + sudo rm -rf /tmp/website.zip + sudo rm -rf /var/www/html/* + sudo yum remove httpd wget unzip -y + sudo apt remove apache2 -y + ' +done diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/websetup/connectionshcheck.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/websetup/connectionshcheck.sh new file mode 100644 index 00000000..964472bc --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/websetup/connectionshcheck.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +echo "Checking connection for all the machines from webnodeIP.txt file" +for IP in $(cat webnodeIP.txt) +do + ssh devops@$IP hostname + if [ $? -eq 0 ] + then + echo "$IP is connected over SSH." + echo "##################################################" + else + echo "$IP Not connected over SSH." + echo "##################################################" + fi +done diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/websetup/vars.txt b/ddc-material-master/09.BashScripting/Bash_Scripts/websetup/vars.txt new file mode 100644 index 00000000..8edb3e45 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/websetup/vars.txt @@ -0,0 +1,2 @@ +export WEBURL=https://www.tooplate.com/download/2112_brunch +export DIRNAME=2112_brunch diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/websetup/webdeploy.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/websetup/webdeploy.sh new file mode 100644 index 00000000..fb8cdb82 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/websetup/webdeploy.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +echo "Checking connection for all the machines from webnodeIP.txt file" +for IP in $(cat webnodeIP.txt) +do + echo '########################################################################' + echo "# Running Websetup on $IP.#" + echo '########################################################################' + scp websetupmulti.sh devops@$IP:/tmp/ + scp vars.txt devops@$IP:/tmp/ + ssh devops@$IP ' + sudo /tmp/websetupmulti.sh >> /tmp/websetup.log 2>> /tmp/websetup.log + sudo cat /tmp/websetup.log + ' + echo "################################################" + echo "################################################" +done diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/websetup/webnodeIP.txt b/ddc-material-master/09.BashScripting/Bash_Scripts/websetup/webnodeIP.txt new file mode 100644 index 00000000..56e52ffa --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/websetup/webnodeIP.txt @@ -0,0 +1,3 @@ +192.168.5.3 +192.168.5.4 +192.168.5.5 diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/websetup/websetup.log b/ddc-material-master/09.BashScripting/Bash_Scripts/websetup/websetup.log new file mode 100644 index 00000000..563d8300 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/websetup/websetup.log @@ -0,0 +1,10112 @@ +nohup: ignoring input +Checking connection for all the machines from webnodeIP.txt file +######################################################################## +# Running Websetup on 192.168.5.3.# +######################################################################## +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Resolving Dependencies +--> Running transaction check +---> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed +---> Package unzip.x86_64 0:6.0-19.el7 will be installed +---> Package wget.x86_64 0:1.14-18.el7 will be installed +--> Finished Dependency Resolution + +Dependencies Resolved + +================================================================================ + Package Arch Version Repository Size +================================================================================ +Installing: + httpd x86_64 2.4.6-88.el7.centos base 2.7 M + unzip x86_64 6.0-19.el7 base 170 k + wget x86_64 1.14-18.el7 base 547 k + +Transaction Summary +================================================================================ +Install 3 Packages + +Total download size: 3.4 M +Installed size: 12 M +Downloading packages: +-------------------------------------------------------------------------------- +Total 317 kB/s | 3.4 MB 00:11 +Running transaction check +Running transaction test +Transaction test succeeded +Running transaction + Installing : wget-1.14-18.el7.x86_64 1/3 + Installing : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Installing : unzip-6.0-19.el7.x86_64 3/3 + Verifying : unzip-6.0-19.el7.x86_64 1/3 + Verifying : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Verifying : wget-1.14-18.el7.x86_64 3/3################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages + + +Installed: + httpd.x86_64 0:2.4.6-88.el7.centos unzip.x86_64 0:6.0-19.el7 + wget.x86_64 0:1.14-18.el7 + +Complete! +################################################################ + + +Starting and Enabling Service +Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. +Loaded plugins: fastestmirror +################################################################ + + +Copying website data +--2018-12-25 10:40:24-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... Loading mirror speeds from cached hostfile +connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:40:25-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service + + 0K .......... ......################################################################ + + +Copying website data +--2018-12-25 10:40:26-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... .... .......... ..connected. +........ .......... 4% 54.5K 22s + 50K .......... .......... ..........HTTP request sent, awaiting response... .......... .......... 8% 189K 14s + 100K .......... .......... .......... .......... .......... 12% 212K 10s + 150K .......... .......... ......302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:40:27-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... .... .......... .......... 16% 272K 8s + 200K .......... .......... .......... .......... .......... 20% 874K 7s + 250K ......connected. +.... .......... .......... .......... .......... 24% 241K 6s + 300K .......... .......... .......... .......... .......... 28% 70.9M 5s + 350K .......... .......... .......... .......... .......... 32% 221K 4s + 400K .......... .......... .......... .......... .......... 36% 84.6M 4s + 450K .......... .......... .......... .......... ......HTTP request sent, awaiting response... .... 40% 878K 3s + 500K .......... .......... .......... .......... .......... 44% 281K 3s + 550K .......... .......... .......... .......... .......... 48% 47.0M 2s + 600K .......... .......... .......... .......... .......... 52% 1.50M 2s + 650K .......... .......... ..200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ +........ .......... .......... 56% 1.89M 2s + 700K .......... .......... .......... .......... .......... 60% 242K 2s + 750K .......... .......... .......... .......... .......... 64% 106M 1s + 800K .......... .......... .......... .......... .......... 68% 13.8M 1s + 850K .......... .......... .......... .......... .......... 72% 109M 1s + 900K .......... .. + 0K .......... .............. .......... .......... .......... 76% 2.58M 1s + 950K .......... .......... .......... .......... .......... 80% 280K 1s + 1000K .......... .......... .......... .......... .......... 84% 55.3M 1s + 1050K .......... .......... .......... .......... .......... 88% 65.1M 0s + 1100K .......... .......... .......... .......... .......... 92% 3.51M 0s + 1150K .......... .......... .......... ........ .......... ........ .......... 96% 2.72M 0s + 1200K .......... .......... .......... .......... ... 100% 1.96M=2.9s + +2018-12-25 10:40:28 (436 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + creating: 2101_insertion/ + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + creating: 2101_insertion/css/ + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + creating: 2101_insertion/img/ + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + creating: 2101_insertion/js/ + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + creating: 2101_insertion/webfonts/ + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt + + +Restarting Service +........ .......... 4% 54.5K 22s + 50K .......... .......... .......... .......... .......... 8% 220K 13s + 100K .......... .......... .......... .......... .......... 12% 210K 10s + 150K .......... .......... .......... .......... .......... 16% 232K 8s + 200K .......... .......... .......... .......... .......... 20% 245K 7s + 250K .......... .......... .......... .......... .......... 24% 3.40M 6s + 300K ....################################################################ +...... .......... .......... .......... .......... 28% 214K 5s + 350K .......... .......... .......... .......... .......... 32% 218K 5s + 400K .......... .......... .......... .......... .......... 36% 11.5M 4s + 450K .......... .......... .......... .......... .......... 40% 248K 4s + 500K .......... .......... .......... .......... .......... 44% 2.12M 3s + 550K .......... .......... .......... .......... .......... 48% 64.4M 3s + 600K .......... .......... .......... .......... .......... 52% 221K 2s + 650K .......... .......... .......... .......... .......... 56% 21.7M 2s + 700K .......... .......... .......... .......... .......... 60% 117M 2s + 750K .......... .......... .......... .......... .......... 64% 30.7M 2s + 800K .......... .......... .......... .......... .......... 68% 223K 1s + 850K .......... .......... .......... .......... .......... 72% 9.68M 1s + 900K .......... .......... .......... .......... .......... 76% 69.6M 1s + 950K .......... .......... .......... .......... .......... 80% 67.8M 1s + 1000K .......... .......... .......... .......... .......... 84% 256K 1s + 1050K .......... .......... .......... .......... .......... 88% 1.93M 0s + 1100K .......... .......... .......... .......... .......... 92% 119M 0s + 1150K .......... .......... .......... .......... .......... 96% 64.6M 0s + 1200K .......... .......... .......... .......... ... 100% 114M=3.2s + +2018-12-25 10:40:31 (389 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Resolving Dependencies +--> Running transaction check +---> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed +---> Package unzip.x86_64 0:6.0-19.el7 will be installed +---> Package wget.x86_64 0:1.14-18.el7 will be installed +--> Finished Dependency Resolution + +Dependencies Resolved + +================================================================================ + Package Arch Version Repository Size +================================================================================ +Installing: + httpd x86_64 2.4.6-88.el7.centos base 2.7 M + unzip x86_64 6.0-19.el7 base 170 k + wget x86_64 1.14-18.el7 base 547 k + +Transaction Summary +================================================================================ +Install 3 Packages + +Total download size: 3.4 M +Installed size: 12 M +Downloading packages: +-------------------------------------------------------------------------------- +Total 337 kB/s | 3.4 MB 00:10 +Running transaction check +Running transaction test +Transaction test succeeded +Running transaction + Installing : wget-1.14-18.el7.x86_64 1/3 + Installing : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Installing : unzip-6.0-19.el7.x86_64 3/3 + Verifying : unzip-6.0-19.el7.x86_64 1/3 + Verifying : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Verifying : wget-1.14-18.el7.x86_64 3/3 + +Installed: + httpd.x86_64 0:2.4.6-88.el7.centos unzip.x86_64 0:6.0-19.el7 + wget.x86_64 0:1.14-18.el7 + +Complete! +################################################################ + + +Starting and Enabling Service +Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. +################################################################ + + +Copying website data +--2018-12-25 10:53:15-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:53:16-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 32.8K 3m53s + 50K .......... .......... .......... .......... .......... 1% 54.8K 3m5s + 100K .......... .......... .......... .......... .......... 1% 62.9K 2m42s + 150K .......... .......... .......... .......... .......... 2% 72.4K 2m27s + 200K .......... .......... .......... .......... .......... 3% 207K 2m4s + 250K .......... .......... .......... .......... .......... 3% 210K 1m48s + 300K .......... .......... .......... .......... .......... 4% 210K 97s + 350K .......... .......... .......... .......... .......... 5% 206K 89s + 400K .......... .......... .......... .......... .......... 5% 210K 82s + 450K .......... .......... .......... .......... .......... 6% 211K 77s + 500K .......... .......... .......... .......... .......... 7% 20.2M 69s + 550K .......... .......... .......... .......... .......... 7% 209K 66s + 600K .......... .......... .......... .......... .......... 8% 43.4M 61s + 650K .......... .......... .......... .......... .......... 9% 208K 58s + 700K .......... .......... .......... .......... .......... 9% 25.6M 54s + 750K .......... .......... .......... .......... .......... 10% 206K 52s + 800K .......... .......... .......... .......... .......... 11% 60.1M 49s + 850K .......... .......... .......... .......... .......... 11% 288K 47s + 900K .......... .......... .......... .......... .......... 12% 1.06M 45s + 950K .......... .......... .......... .......... .......... 13% 2.77M 42s + 1000K .......... .......... .......... .......... .......... 13% 57.6M 40s + 1050K .......... .......... .......... .......... .......... 14% 230K 39s + 1100K .......... .......... .......... .......... .......... 14% 1.65M 37s + 1150K .......... .......... .......... .......... .......... 15% 76.7M 35s + 1200K .......... .......... .......... .......... .......... 16% 927K 34s + 1250K .......... .......... .......... .......... .......... 16% 340K 33s + 1300K .......... .......... .......... .......... .......... 17% 1.45M 32s + 1350K .......... .......... .......... .......... .......... 18% 2.17M 31s + 1400K .......... .......... .......... .......... .......... 18% 26.6M 29s + 1450K .......... .......... .......... .......... .......... 19% 127K 30s + 1500K .......... .......... .......... .......... .......... 20% 5.66M 29s + 1550K .......... .......... .......... .......... .......... 20% 64.1M 27s + 1600K .......... .......... .......... .......... .......... 21% 93.3M 26s + 1650K .......... .......... .......... .......... .......... 22% 62.7M 25s + 1700K .......... .......... .......... .......... .......... 22% 64.5M 25s + 1750K .......... .......... .......... .......... .......... 23% 109M 24s + 1800K .......... .......... .......... .......... .......... 24% 1.25M 23s + 1850K .......... .......... .......... .......... .......... 24% 1.13M 22s + 1900K .......... .......... .......... .......... .......... 25% 3.79M 22s + 1950K .......... .......... .......... .......... .......... 26% 504K 21s + 2000K .......... .......... .......... .......... .......... 26% 641K 21s + 2050K .......... .......... .......... .......... .......... 27% 853K 20s + 2100K .......... .......... .......... .......... .......... 28% 4.42M 19s + 2150K .......... .......... .......... .......... .......... 28% 528K 19s + 2200K .......... .......... .......... .......... .......... 29% 822K 19s + 2250K .......... .......... .......... .......... .......... 29% 1.64M 18s + 2300K .......... .......... .......... .......... .......... 30% 913K 18s + 2350K .......... .......... .......... .......... .......... 31% 26.6M 17s + 2400K .......... .......... .......... .......... .......... 31% 412K 17s + 2450K .......... .......... .......... .......... .......... 32% 1.25M 17s + 2500K .......... .......... .......... .......... .......... 33% 786K 16s + 2550K .......... .......... .......... .......... .......... 33% 6.16M 16s + 2600K .......... .......... .......... .......... .......... 34% 558K 15s + 2650K .......... .......... .......... .......... .......... 35% 827K 15s + 2700K .......... .......... .......... .......... .......... 35% 2.09M 15s + 2750K .......... .......... .......... .......... .......... 36% 969K 14s + 2800K .......... .......... .......... .......... .......... 37% 3.30M 14s + 2850K .......... .......... .......... .......... .......... 37% 544K 14s + 2900K .......... .......... .......... .......... .......... 38% 755K 14s + 2950K .......... .......... .......... .......... .......... 39% 1.86M 13s + 3000K .......... .......... .......... .......... .......... 39% 1.04M 13s + 3050K .......... .......... .......... .......... .......... 40% 16.6M 13s + 3100K .......... .......... .......... .......... .......... 41% 669K 12s + 3150K .......... .......... .......... .......... .......... 41% 650K 12s + 3200K .......... .......... .......... .......... .......... 42% 1.53M 12s + 3250K .......... .......... .......... .......... .......... 42% 1.07M 12s + 3300K .......... .......... .......... .......... .......... 43% 8.02M 11s + 3350K .......... .......... .......... .......... .......... 44% 672K 11s + 3400K .......... .......... .......... .......... .......... 44% 631K 11s + 3450K .......... .......... .......... .......... .......... 45% 1.78M 11s + 3500K .......... .......... .......... .......... .......... 46% 1005K 10s + 3550K .......... .......... .......... .......... .......... 46% 11.5M 10s + 3600K .......... .......... .......... .......... .......... 47% 684K 10s + 3650K .......... .......... .......... .......... .......... 48% 423K 10s + 3700K .......... .......... .......... .......... .......... 48% 414K 10s + 3750K .......... .......... .......... .......... .......... 49% 247K 10s + 3800K .......... .......... .......... .......... .......... 50% 940K 10s + 3850K .......... .......... .......... .......... .......... 50% 8.21M 9s + 3900K .......... .......... .......... .......... .......... 51% 36.6M 9s + 3950K .......... .......... .......... .......... .......... 52% 95.1M 9s + 4000K .......... .......... .......... .......... .......... 52% 26.3M 9s + 4050K .......... .......... .......... .......... .......... 53% 46.8M 8s + 4100K .......... .......... .......... .......... .......... 54% 28.8M 8s + 4150K .......... .......... .......... .......... .......... 54% 25.4M 8s + 4200K .......... .......... .......... .......... .......... 55% 1.55M 8s + 4250K .......... .......... .......... .......... .......... 56% 1.03M 8s + 4300K .......... .......... .......... .......... .......... 56% 1.29M 7s + 4350K .......... .......... .......... .......... .......... 57% 2.78M 7s + 4400K .......... .......... .......... .......... .......... 57% 909K 7s + 4450K .......... .......... .......... .......... .......... 58% 1.46M 7s + 4500K .......... .......... .......... .......... .......... 59% 612K 7s + 4550K .......... .......... .......... .......... .......... 59% 4.12M 7s + 4600K .......... .......... .......... .......... .......... 60% 1.39M 6s + 4650K .......... .......... .......... .......... .......... 61% 2.11M 6s + 4700K .......... .......... .......... .......... .......... 61% 934K 6s + 4750K .......... .......... .......... .......... .......... 62% 700K 6s + 4800K .......... .......... .......... .......... .......... 63% 1.11M 6s + 4850K .......... .......... .......... .......... .......... 63% 1.20M 6s + 4900K .......... .......... .......... .......... .......... 64% 2.64M 6s + 4950K .......... .......... .......... .......... .......... 65% 1.74M 5s + 5000K .......... .......... .......... .......... .......... 65% 915K 5s + 5050K .......... .......... .......... .......... .......... 66% 890K 5s + 5100K .......... .......... .......... .......... .......... 67% 893K 5s + 5150K .......... .......... .......... .......... .......... 67% 2.24M 5s + 5200K .......... .......... .......... .......... .......... 68% 1.45M 5s + 5250K .......... .......... .......... .......... .......... 69% 1.30M 5s + 5300K .......... .......... .......... .......... .......... 69% 1.52M 5s + 5350K .......... .......... .......... .......... .......... 70% 579K 4s + 5400K .......... .......... .......... .......... .......... 70% 2.83M 4s + 5450K .......... .......... .......... .......... .......... 71% 1.53M 4s + 5500K .......... .......... .......... .......... .......... 72% 2.13M 4s + 5550K .......... .......... .......... .......... .......... 72% 1.05M 4s + 5600K .......... .......... .......... .......... .......... 73% 662K 4s + 5650K .......... .......... .......... .......... .......... 74% 1.14M 4s + 5700K .......... .......... .......... .......... .......... 74% 1.35M 4s + 5750K .......... .......... .......... .......... .......... 75% 3.14M 4s + 5800K .......... .......... .......... .......... .......... 76% 2.24M 3s + 5850K .......... .......... .......... .......... .......... 76% 966K 3s + 5900K .......... .......... .......... .......... .......... 77% 789K 3s + 5950K .......... .......... .......... .......... .......... 78% 1.07M 3s + 6000K .......... .......... .......... .......... .......... 78% 1.19M 3s + 6050K .......... .......... .......... .......... .......... 79% 2.15M 3s + 6100K .......... .......... .......... .......... .......... 80% 1.79M 3s + 6150K .......... .......... .......... .......... .......... 80% 1000K 3s + 6200K .......... .......... .......... .......... .......... 81% 978K 3s + 6250K .......... .......... .......... .......... .......... 82% 978K 2s + 6300K .......... .......... .......... .......... .......... 82% 1.52M 2s + 6350K .......... .......... .......... .......... .......... 83% 1.82M 2s + 6400K .......... .......... .......... .......... .......... 84% 1.28M 2s + 6450K .......... .......... .......... .......... .......... 84% 1.35M 2s + 6500K .......... .......... .......... .......... .......... 85% 541K 2s + 6550K .......... .......... .......... .......... .......... 85% 3.42M 2s + 6600K .......... .......... .......... .......... .......... 86% 1.80M 2s + 6650K .......... .......... .......... .......... .......... 87% 1.56M 2s + 6700K .......... .......... .......... .......... .......... 87% 1.43M 2s + 6750K .......... .......... .......... .......... .......... 88% 1.25M 2s + 6800K .......... .......... .......... .......... .......... 89% 551K 1s + 6850K .......... .......... .......... .......... .......... 89% 4.14M 1s + 6900K .......... .......... .......... .......... .......... 90% 1.59M 1s + 6950K .......... .......... .......... .......... .......... 91% 1.54M 1s + 7000K .......... .......... .......... .......... .......... 91% 1.04M 1s + 7050K .......... .......... .......... .......... .......... 92% 813K 1s + 7100K .......... .......... .......... .......... .......... 93% 977K 1s + 7150K .......... .......... .......... .......... .......... 93% 3.60M 1s + 7200K .......... .......... .......... .......... .......... 94% 1.30M 1s + 7250K .......... .......... .......... .......... .......... 95% 1.98M 1s + 7300K .......... .......... .......... .......... .......... 95% 1.10M 1s + 7350K .......... .......... .......... .......... .......... 96% 748K 0s + 7400K .......... .......... .......... .......... .......... 97% 924K 0s + 7450K .......... .......... .......... .......... .......... 97% 1.84M 0s + 7500K .......... .......... .......... .......... .......... 98% 3.35M 0s + 7550K .......... .......... .......... .......... .......... 98% 1.42M 0s + 7600K .......... .......... .......... .......... .......... 99% 875K 0s + 7650K .......... .......... ....... 100% 18.2M=12s + +2018-12-25 10:53:29 (620 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + creating: 2112_brunch/ + inflating: 2112_brunch/contact-page.html + creating: 2112_brunch/css/ + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + creating: 2112_brunch/css/fonts/ + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + creating: 2112_brunch/fonts/ + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + creating: 2112_brunch/img/ + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + creating: 2112_brunch/js/ + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + creating: 2112_brunch/js/vendor/ + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + creating: 2112_brunch/videos/ + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 10:58:51-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:58:53-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 56.3K 2m15s + 50K .......... .......... .......... .......... .......... 1% 190K 87s + 100K .......... .......... .......... .......... .......... 1% 119K 79s + 150K .......... .......... .......... .......... .......... 2% 209K 68s + 200K .......... .......... .......... .......... .......... 3% 236K 60s + 250K .......... .......... .......... .......... .......... 3% 2.70M 50s + 300K .......... .......... .......... .......... .......... 4% 232K 47s + 350K .......... .......... .......... .......... .......... 5% 2.17M 41s + 400K .......... .......... .......... .......... .......... 5% 257K 40s + 450K .......... .......... .......... .......... .......... 6% 1.25M 36s + 500K .......... .......... .......... .......... .......... 7% 242K 35s + 550K .......... .......... .......... .......... .......... 7% 32.1M 32s + 600K .......... .......... .......... .......... .......... 8% 5.74M 30s + 650K .......... .......... .......... .......... .......... 9% 219K 29s + 700K .......... .......... .......... .......... .......... 9% 33.9M 27s + 750K .......... .......... .......... .......... .......... 10% 64.2M 25s + 800K .......... .......... .......... .......... .......... 11% 286K 25s + 850K .......... .......... .......... .......... .......... 11% 1.14M 24s + 900K .......... .......... .......... .......... .......... 12% 4.37M 23s + 950K .......... .......... .......... .......... .......... 13% 60.6M 21s + 1000K .......... .......... .......... .......... .......... 13% 102M 20s + 1050K .......... .......... .......... .......... .......... 14% 258K 20s + 1100K .......... .......... .......... .......... .......... 14% 2.10M 19s + 1150K .......... .......... .......... .......... .......... 15% 21.3M 18s + 1200K .......... .......... .......... .......... .......... 16% 3.83M 18s + 1250K .......... .......... .......... .......... .......... 16% 8.81M 17s + 1300K .......... .......... .......... .......... .......... 17% 284K 17s + 1350K .......... .......... .......... .......... .......... 18% 1.90M 16s + 1400K .......... .......... .......... .......... .......... 18% 10.9M 16s + 1450K .......... .......... .......... .......... .......... 19% 2.08M 15s + 1500K .......... .......... .......... .......... .......... 20% 35.8M 14s + 1550K .......... .......... .......... .......... .......... 20% 13.7M 14s + 1600K .......... .......... .......... .......... .......... 21% 269K 14s + 1650K .......... .......... .......... .......... .......... 22% 2.58M 14s + 1700K .......... .......... .......... .......... .......... 22% 4.07M 13s + 1750K .......... .......... .......... .......... .......... 23% 2.10M 13s + 1800K .......... .......... .......... .......... .......... 24% 48.7M 12s + 1850K .......... .......... .......... .......... .......... 24% 95.7M 12s + 1900K .......... .......... .......... .......... .......... 25% 13.5M 11s + 1950K .......... .......... .......... .......... .......... 26% 51.1M 11s + 2000K .......... .......... .......... .......... .......... 26% 285K 11s + 2050K .......... .......... .......... .......... .......... 27% 2.31M 11s + 2100K .......... .......... .......... .......... .......... 28% 99.6M 11s + 2150K .......... .......... .......... .......... .......... 28% 60.1M 10s + 2200K .......... .......... .......... .......... .......... 29% 2.23M 10s + 2250K .......... .......... .......... .......... .......... 29% 2.33M 10s + 2300K .......... .......... .......... .......... .......... 30% 34.5M 9s + 2350K .......... .......... .......... .......... .......... 31% 45.0M 9s + 2400K .......... .......... .......... .......... .......... 31% 398K 9s + 2450K .......... .......... .......... .......... .......... 32% 3.27M 9s + 2500K .......... .......... .......... .......... .......... 33% 109M 9s + 2550K .......... .......... .......... .......... .......... 33% 1.84M 8s + 2600K .......... .......... .......... .......... .......... 34% 2.26M 8s + 2650K .......... .......... .......... .......... .......... 35% 8.19M 8s + 2700K .......... .......... .......... .......... .......... 35% 5.65M 8s + 2750K .......... .......... .......... .......... .......... 36% 60.0M 8s + 2800K .......... .......... .......... .......... .......... 37% 1.71M 7s + 2850K .......... .......... .......... .......... .......... 37% 8.25M 7s + 2900K .......... .......... .......... .......... .......... 38% 106M 7s + 2950K .......... .......... .......... .......... .......... 39% 388K 7s + 3000K .......... .......... .......... .......... .......... 39% 6.18M 7s + 3050K .......... .......... .......... .......... .......... 40% 63.3M 7s + 3100K .......... .......... .......... .......... .......... 41% 3.64M 7s + 3150K .......... .......... .......... .......... .......... 41% 3.08M 6s + 3200K .......... .......... .......... .......... .......... 42% 1.87M 6s + 3250K .......... .......... .......... .......... .......... 42% 3.25M 6s + 3300K .......... .......... .......... .......... .......... 43% 15.0M 6s + 3350K .......... .......... .......... .......... .......... 44% 61.2M 6s + 3400K .......... .......... .......... .......... .......... 44% 5.37M 6s + 3450K .......... .......... .......... .......... .......... 45% 3.23M 6s + 3500K .......... .......... .......... .......... .......... 46% 106M 5s + 3550K .......... .......... .......... .......... .......... 46% 64.5M 5s + 3600K .......... .......... .......... .......... .......... 47% 456K 5s + 3650K .......... .......... .......... .......... .......... 48% 3.21M 5s + 3700K .......... .......... .......... .......... .......... 48% 9.14M 5s + 3750K .......... .......... .......... .......... .......... 49% 8.24M 5s + 3800K .......... .......... .......... .......... .......... 50% 1.91M 5s + 3850K .......... .......... .......... .......... .......... 50% 3.57M 5s + 3900K .......... .......... .......... .......... .......... 51% 32.5M 5s + 3950K .......... .......... .......... .......... .......... 52% 109M 4s + 4000K .......... .......... .......... .......... .......... 52% 1.94M 4s + 4050K .......... .......... .......... .......... .......... 53% 3.05M 4s + 4100K .......... .......... .......... .......... .......... 54% 12.3M 4s + 4150K .......... .......... .......... .......... .......... 54% 10.1M 4s + 4200K .......... .......... .......... .......... .......... 55% 12.7M 4s + 4250K .......... .......... .......... .......... .......... 56% 2.81M 4s + 4300K .......... .......... .......... .......... .......... 56% 27.3M 4s + 4350K .......... .......... .......... .......... .......... 57% 47.7M 4s + 4400K .......... .......... .......... .......... .......... 57% 599K 4s + 4450K .......... .......... .......... .......... .......... 58% 3.76M 4s + 4500K .......... .......... .......... .......... .......... 59% 2.91M 3s + 4550K .......... .......... .......... .......... .......... 59% 8.45M 3s + 4600K .......... .......... .......... .......... .......... 60% 8.49M 3s + 4650K .......... .......... .......... .......... .......... 61% 5.00M 3s + 4700K .......... .......... .......... .......... .......... 61% 3.35M 3s + 4750K .......... .......... .......... .......... .......... 62% 4.57M 3s + 4800K .......... .......... .......... .......... .......... 63% 3.83M 3s + 4850K .......... .......... .......... .......... .......... 63% 6.31M 3s + 4900K .......... .......... .......... .......... .......... 64% 108M 3s + 4950K .......... .......... .......... .......... .......... 65% 4.94M 3s + 5000K .......... .......... .......... .......... .......... 65% 2.93M 3s + 5050K .......... .......... .......... .......... .......... 66% 29.5M 3s + 5100K .......... .......... .......... .......... .......... 67% 2.96M 3s + 5150K .......... .......... .......... .......... .......... 67% 8.58M 2s + 5200K .......... .......... .......... .......... .......... 68% 12.2M 2s + 5250K .......... .......... .......... .......... .......... 69% 2.41M 2s + 5300K .......... .......... .......... .......... .......... 69% 111M 2s + 5350K .......... .......... .......... .......... .......... 70% 1.64M 2s + 5400K .......... .......... .......... .......... .......... 70% 1.21M 2s + 5450K .......... .......... .......... .......... .......... 71% 2.95M 2s + 5500K .......... .......... .......... .......... .......... 72% 3.35M 2s + 5550K .......... .......... .......... .......... .......... 72% 1.79M 2s + 5600K .......... .......... .......... .......... .......... 73% 5.52M 2s + 5650K .......... .......... .......... .......... .......... 74% 6.18M 2s + 5700K .......... .......... .......... .......... .......... 74% 1.79M 2s + 5750K .......... .......... .......... .......... .......... 75% 995K 2s + 5800K .......... .......... .......... .......... .......... 76% 3.13M 2s + 5850K .......... .......... .......... .......... .......... 76% 32.9M 2s + 5900K .......... .......... .......... .......... .......... 77% 589K 2s + 5950K .......... .......... .......... .......... .......... 78% 274K 2s + 6000K .......... .......... .......... .......... .......... 78% 751K 2s + 6050K .......... .......... .......... .......... .......... 79% 2.14M 1s + 6100K .......... .......... .......... .......... .......... 80% 406K 1s + 6150K .......... .......... .......... .......... .......... 80% 2.49M 1s + 6200K .......... .......... .......... .......... .......... 81% 7.06M 1s + 6250K .......... .......... .......... .......... .......... 82% 12.1M 1s + 6300K .......... .......... .......... .......... .......... 82% 129M 1s + 6350K .......... .......... .......... .......... .......... 83% 70.4M 1s + 6400K .......... .......... .......... .......... .......... 84% 51.1M 1s + 6450K .......... .......... .......... .......... .......... 84% 59.4M 1s + 6500K .......... .......... .......... .......... .......... 85% 98.2M 1s + 6550K .......... .......... .......... .......... .......... 85% 60.5M 1s + 6600K .......... .......... .......... .......... .......... 86% 46.2M 1s + 6650K .......... .......... .......... .......... .......... 87% 60.6M 1s + 6700K .......... .......... .......... .......... .......... 87% 53.1M 1s + 6750K .......... .......... .......... .......... .......... 88% 59.5M 1s + 6800K .......... .......... .......... .......... .......... 89% 22.0M 1s + 6850K .......... .......... .......... .......... .......... 89% 72.1M 1s + 6900K .......... .......... .......... .......... .......... 90% 54.5M 1s + 6950K .......... .......... .......... .......... .......... 91% 98.8M 1s + 7000K .......... .......... .......... .......... .......... 91% 59.1M 1s + 7050K .......... .......... .......... .......... .......... 92% 63.7M 0s + 7100K .......... .......... .......... .......... .......... 93% 106M 0s + 7150K .......... .......... .......... .......... .......... 93% 60.1M 0s + 7200K .......... .......... .......... .......... .......... 94% 46.5M 0s + 7250K .......... .......... .......... .......... .......... 95% 60.8M 0s + 7300K .......... .......... .......... .......... .......... 95% 59.1M 0s + 7350K .......... .......... .......... .......... .......... 96% 100M 0s + 7400K .......... .......... .......... .......... .......... 97% 40.2M 0s + 7450K .......... .......... .......... .......... .......... 97% 54.4M 0s + 7500K .......... .......... .......... .......... .......... 98% 102M 0s + 7550K .......... .......... .......... .......... .......... 98% 63.4M 0s + 7600K .......... .......... .......... .......... .......... 99% 89.0M 0s + 7650K .......... .......... ....... 100% 49.4M=5.9s + +2018-12-25 10:59:00 (1.27 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +################################################ +################################################ +######################################################################## +# Running Websetup on 192.168.5.4.# +######################################################################## +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +You need to be root to perform this command. +################################################################ + + +Starting and Enabling Service +Failed to start httpd.service: Interactive authentication required. +See system logs and 'systemctl status httpd.service' for details. +Failed to execute operation: Interactive authentication required. +################################################################ + + +Copying website data +/tmp/websetupmulti.sh: line 36: wget: command not found +/tmp/websetupmulti.sh: line 37: unzip: command not found +cp: cannot stat ‘/tmp/2104_sloopa/*’: No such file or directory + + +Restarting Service +Failed to restart httpd.service: Interactive authentication required. +See system logs and 'systemctl status httpd.service' for details. +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +You need to be root to perform this command. +################################################################ + + +Starting and Enabling Service +Failed to start httpd.service: Interactive authentication required. +See system logs and 'systemctl status httpd.service' for details. +Failed to execute operation: Interactive authentication required. +################################################################ + + +Copying website data +/tmp/websetupmulti.sh: line 36: wget: command not found +/tmp/websetupmulti.sh: line 37: unzip: command not found +cp: cannot stat ‘/tmp/2112_brunch/*’: No such file or directory + + +Restarting Service +Failed to restart httpd.service: Interactive authentication required. +See system logs and 'systemctl status httpd.service' for details. +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Determining fastest mirrors + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Resolving Dependencies +--> Running transaction check +---> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed +--> Processing Dependency: httpd-tools = 2.4.6-88.el7.centos for package: httpd-2.4.6-88.el7.centos.x86_64 +--> Processing Dependency: system-logos >= 7.92.1-1 for package: httpd-2.4.6-88.el7.centos.x86_64 +--> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-88.el7.centos.x86_64 +--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-88.el7.centos.x86_64 +--> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-88.el7.centos.x86_64 +---> Package unzip.x86_64 0:6.0-19.el7 will be installed +---> Package wget.x86_64 0:1.14-18.el7 will be installed +--> Running transaction check +---> Package apr.x86_64 0:1.4.8-3.el7_4.1 will be installed +---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed +---> Package centos-logos.noarch 0:70.0.6-3.el7.centos will be installed +---> Package httpd-tools.x86_64 0:2.4.6-88.el7.centos will be installed +---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed +--> Finished Dependency Resolution + +Dependencies Resolved + +================================================================================ + Package Arch Version Repository Size +================================================================================ +Installing: + httpd x86_64 2.4.6-88.el7.centos base 2.7 M + unzip x86_64 6.0-19.el7 base 170 k + wget x86_64 1.14-18.el7 base 547 k +Installing for dependencies: + apr x86_64 1.4.8-3.el7_4.1 base 103 k + apr-util x86_64 1.5.2-6.el7 base 92 k + centos-logos noarch 70.0.6-3.el7.centos base 21 M + httpd-tools x86_64 2.4.6-88.el7.centos base 90 k + mailcap noarch 2.1.41-2.el7 base 31 k + +Transaction Summary +================================================================================ +Install 3 Packages (+5 Dependent packages) + +Total download size: 25 M +Installed size: 34 M +Downloading packages: +warning: /var/cache/yum/x86_64/7/base/packages/apr-util-1.5.2-6.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY +Public key for apr-util-1.5.2-6.el7.x86_64.rpm is not installed +-------------------------------------------------------------------------------- +Total 3.6 MB/s | 25 MB 00:06 +Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 +Importing GPG key 0xF4A80EB5: + Userid : "CentOS-7 Key (CentOS 7 Official Signing Key) " + Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5 + Package : centos-release-7-5.1804.4.el7.centos.x86_64 (@koji-override-1) + From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 +Running transaction check +Running transaction test +Transaction test succeeded +Running transaction + Installing : apr-1.4.8-3.el7_4.1.x86_64 1/8 + Installing : apr-util-1.5.2-6.el7.x86_64 2/8 + Installing : httpd-tools-2.4.6-88.el7.centos.x86_64 3/8 + Installing : centos-logos-70.0.6-3.el7.centos.noarch 4/8 + Installing : mailcap-2.1.41-2.el7.noarch 5/8 + Installing : httpd-2.4.6-88.el7.centos.x86_64 6/8 + Installing : unzip-6.0-19.el7.x86_64 7/8 + Installing : wget-1.14-18.el7.x86_64 8/8 + Verifying : mailcap-2.1.41-2.el7.noarch 1/8 + Verifying : apr-util-1.5.2-6.el7.x86_64 2/8 + Verifying : wget-1.14-18.el7.x86_64 3/8 + Verifying : httpd-tools-2.4.6-88.el7.centos.x86_64 4/8 + Verifying : unzip-6.0-19.el7.x86_64 5/8 + Verifying : httpd-2.4.6-88.el7.centos.x86_64 6/8 + Verifying : apr-1.4.8-3.el7_4.1.x86_64 7/8 + Verifying : centos-logos-70.0.6-3.el7.centos.noarch 8/8 + +Installed: + httpd.x86_64 0:2.4.6-88.el7.centos unzip.x86_64 0:6.0-19.el7 + wget.x86_64 0:1.14-18.el7 + +Dependency Installed: + apr.x86_64 0:1.4.8-3.el7_4.1 + apr-util.x86_64 0:1.5.2-6.el7 + centos-logos.noarch 0:70.0.6-3.el7.centos + httpd-tools.x86_64 0:2.4.6-88.el7.centos + mailcap.noarch 0:2.1.41-2.el7 + +Complete! +################################################################ + + +Starting and Enabling Service +Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. +################################################################ + + +Copying website data +wget: missing URL +Usage: wget [OPTION]... [URL]... + +Try `wget --help' for more options. +unzip: cannot find or open website.zip, website.zip.zip or website.zip.ZIP. + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +wget: missing URL +Usage: wget [OPTION]... [URL]... + +Try `wget --help' for more options. +unzip: cannot find or open website.zip, website.zip.zip or website.zip.ZIP. + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +wget: missing URL +Usage: wget [OPTION]... [URL]... + +Try `wget --help' for more options. +unzip: cannot find or open website.zip, website.zip.zip or website.zip.ZIP. + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 10:18:15-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:18:16-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 71.9K 1m46s + 50K .......... .......... .......... .......... .......... 1% 223K 70s + 100K .......... .......... .......... .......... .......... 1% 212K 58s + 150K .......... .......... .......... .......... .......... 2% 208K 52s + 200K .......... .......... .......... .......... .......... 3% 217K 48s + 250K .......... .......... .......... .......... .......... 3% 219K 46s + 300K .......... .......... .......... .......... .......... 4% 255K 43s + 350K .......... .......... .......... .......... .......... 5% 1.79M 38s + 400K .......... .......... .......... .......... .......... 5% 205K 37s + 450K .......... .......... .......... .......... .......... 6% 21.1M 33s + 500K .......... .......... .......... .......... .......... 7% 207K 33s + 550K .......... .......... .......... .......... .......... 7% 9.04M 30s + 600K .......... .......... .......... .......... .......... 8% 299K 30s + 650K .......... .......... .......... .......... .......... 9% 1.28M 28s + 700K .......... .......... .......... .......... .......... 9% 3.15M 26s + 750K .......... .......... .......... .......... .......... 10% 276K 26s + 800K .......... .......... .......... .......... .......... 11% 397K 25s + 850K .......... .......... .......... .......... .......... 11% 27.8M 23s + 900K .......... .......... .......... .......... .......... 12% 109M 22s + 950K .......... .......... .......... .......... .......... 13% 432K 21s + 1000K .......... .......... .......... .......... .......... 13% 1.40M 21s + 1050K .......... .......... .......... .......... .......... 14% 3.53M 20s + 1100K .......... .......... .......... .......... .......... 14% 4.08M 19s + 1150K .......... .......... .......... .......... .......... 15% 289K 19s + 1200K .......... .......... .......... .......... .......... 16% 1.70M 18s + 1250K .......... .......... .......... .......... .......... 16% 5.90M 17s + 1300K .......... .......... .......... .......... .......... 17% 2.96M 16s + 1350K .......... .......... .......... .......... .......... 18% 4.35M 16s + 1400K .......... .......... .......... .......... .......... 18% 303K 16s + 1450K .......... .......... .......... .......... .......... 19% 4.99M 15s + 1500K .......... .......... .......... .......... .......... 20% 1001K 15s + 1550K .......... .......... .......... .......... .......... 20% 75.9M 14s + 1600K .......... .......... .......... .......... .......... 21% 1.96M 14s + 1650K .......... .......... .......... .......... .......... 22% 58.4M 13s + 1700K .......... .......... .......... .......... .......... 22% 397K 13s + 1750K .......... .......... .......... .......... .......... 23% 2.28M 13s + 1800K .......... .......... .......... .......... .......... 24% 932K 13s + 1850K .......... .......... .......... .......... .......... 24% 27.1M 12s + 1900K .......... .......... .......... .......... .......... 25% 2.29M 12s + 1950K .......... .......... .......... .......... .......... 26% 3.08M 11s + 2000K .......... .......... .......... .......... .......... 26% 3.65M 11s + 2050K .......... .......... .......... .......... .......... 27% 107M 11s + 2100K .......... .......... .......... .......... .......... 28% 139K 11s + 2150K .......... .......... .......... .......... .......... 28% 1.60M 11s + 2200K .......... .......... .......... .......... .......... 29% 9.65M 11s + 2250K .......... .......... .......... .......... .......... 29% 110M 10s + 2300K .......... .......... .......... .......... .......... 30% 47.8M 10s + 2350K .......... .......... .......... .......... .......... 31% 62.4M 10s + 2400K .......... .......... .......... .......... .......... 31% 46.0M 9s + 2450K .......... .......... .......... .......... .......... 32% 34.8M 9s + 2500K .......... .......... .......... .......... .......... 33% 107M 9s + 2550K .......... .......... .......... .......... .......... 33% 268K 9s + 2600K .......... .......... .......... .......... .......... 34% 5.15M 9s + 2650K .......... .......... .......... .......... .......... 35% 3.53M 9s + 2700K .......... .......... .......... .......... .......... 35% 33.6M 8s + 2750K .......... .......... .......... .......... .......... 36% 77.5M 8s + 2800K .......... .......... .......... .......... .......... 37% 27.1M 8s + 2850K .......... .......... .......... .......... .......... 37% 39.8M 8s + 2900K .......... .......... .......... .......... .......... 38% 50.6M 7s + 2950K .......... .......... .......... .......... .......... 39% 1.45M 7s + 3000K .......... .......... .......... .......... .......... 39% 4.47M 7s + 3050K .......... .......... .......... .......... .......... 40% 1.16M 7s + 3100K .......... .......... .......... .......... .......... 41% 1.33M 7s + 3150K .......... .......... .......... .......... .......... 41% 33.8M 7s + 3200K .......... .......... .......... .......... .......... 42% 538K 7s + 3250K .......... .......... .......... .......... .......... 42% 1.33M 6s + 3300K .......... .......... .......... .......... .......... 43% 1.77M 6s + 3350K .......... .......... .......... .......... .......... 44% 2.64M 6s + 3400K .......... .......... .......... .......... .......... 44% 808K 6s + 3450K .......... .......... .......... .......... .......... 45% 47.2M 6s + 3500K .......... .......... .......... .......... .......... 46% 1022K 6s + 3550K .......... .......... .......... .......... .......... 46% 1.28M 6s + 3600K .......... .......... .......... .......... .......... 47% 1000K 6s + 3650K .......... .......... .......... .......... .......... 48% 3.89M 6s + 3700K .......... .......... .......... .......... .......... 48% 1.34M 5s + 3750K .......... .......... .......... .......... .......... 49% 1.39M 5s + 3800K .......... .......... .......... .......... .......... 50% 4.57M 5s + 3850K .......... .......... .......... .......... .......... 50% 763K 5s + 3900K .......... .......... .......... .......... .......... 51% 2.74M 5s + 3950K .......... .......... .......... .......... .......... 52% 662K 5s + 4000K .......... .......... .......... .......... .......... 52% 2.04M 5s + 4050K .......... .......... .......... .......... .......... 53% 32.5M 5s + 4100K .......... .......... .......... .......... .......... 54% 1.03M 5s + 4150K .......... .......... .......... .......... .......... 54% 4.15M 5s + 4200K .......... .......... .......... .......... .......... 55% 585K 4s + 4250K .......... .......... .......... .......... .......... 56% 29.2M 4s + 4300K .......... .......... .......... .......... .......... 56% 2.27M 4s + 4350K .......... .......... .......... .......... .......... 57% 1.86M 4s + 4400K .......... .......... .......... .......... .......... 57% 1.52M 4s + 4450K .......... .......... .......... .......... .......... 58% 1.25M 4s + 4500K .......... .......... .......... .......... .......... 59% 1.84M 4s + 4550K .......... .......... .......... .......... .......... 59% 1.26M 4s + 4600K .......... .......... .......... .......... .......... 60% 1.58M 4s + 4650K .......... .......... .......... .......... .......... 61% 1.31M 4s + 4700K .......... .......... .......... .......... .......... 61% 3.38M 4s + 4750K .......... .......... .......... .......... .......... 62% 2.47M 4s + 4800K .......... .......... .......... .......... .......... 63% 938K 3s + 4850K .......... .......... .......... .......... .......... 63% 1.31M 3s + 4900K .......... .......... .......... .......... .......... 64% 3.64M 3s + 4950K .......... .......... .......... .......... .......... 65% 977K 3s + 5000K .......... .......... .......... .......... .......... 65% 4.19M 3s + 5050K .......... .......... .......... .......... .......... 66% 1.40M 3s + 5100K .......... .......... .......... .......... .......... 67% 1.62M 3s + 5150K .......... .......... .......... .......... .......... 67% 3.23M 3s + 5200K .......... .......... .......... .......... .......... 68% 1.14M 3s + 5250K .......... .......... .......... .......... .......... 69% 1.07M 3s + 5300K .......... .......... .......... .......... .......... 69% 14.4M 3s + 5350K .......... .......... .......... .......... .......... 70% 967K 3s + 5400K .......... .......... .......... .......... .......... 70% 3.36M 3s + 5450K .......... .......... .......... .......... .......... 71% 1.65M 2s + 5500K .......... .......... .......... .......... .......... 72% 1.45M 2s + 5550K .......... .......... .......... .......... .......... 72% 7.40M 2s + 5600K .......... .......... .......... .......... .......... 73% 1.07M 2s + 5650K .......... .......... .......... .......... .......... 74% 1.02M 2s + 5700K .......... .......... .......... .......... .......... 74% 4.98M 2s + 5750K .......... .......... .......... .......... .......... 75% 1.05M 2s + 5800K .......... .......... .......... .......... .......... 76% 1.73M 2s + 5850K .......... .......... .......... .......... .......... 76% 2.17M 2s + 5900K .......... .......... .......... .......... .......... 77% 1.43M 2s + 5950K .......... .......... .......... .......... .......... 78% 4.98M 2s + 6000K .......... .......... .......... .......... .......... 78% 1.77M 2s + 6050K .......... .......... .......... .......... .......... 79% 1.10M 2s + 6100K .......... .......... .......... .......... .......... 80% 1.73M 2s + 6150K .......... .......... .......... .......... .......... 80% 1.50M 2s + 6200K .......... .......... .......... .......... .......... 81% 1.62M 2s + 6250K .......... .......... .......... .......... .......... 82% 2.10M 1s + 6300K .......... .......... .......... .......... .......... 82% 58.0M 1s + 6350K .......... .......... .......... .......... .......... 83% 1.52M 1s + 6400K .......... .......... .......... .......... .......... 84% 3.56M 1s + 6450K .......... .......... .......... .......... .......... 84% 981K 1s + 6500K .......... .......... .......... .......... .......... 85% 795K 1s + 6550K .......... .......... .......... .......... .......... 85% 65.9M 1s + 6600K .......... .......... .......... .......... .......... 86% 1.24M 1s + 6650K .......... .......... .......... .......... .......... 87% 191K 1s + 6700K .......... .......... .......... .......... .......... 87% 3.01M 1s + 6750K .......... .......... .......... .......... .......... 88% 14.7M 1s + 6800K .......... .......... .......... .......... .......... 89% 7.77M 1s + 6850K .......... .......... .......... .......... .......... 89% 92.9M 1s + 6900K .......... .......... .......... .......... .......... 90% 50.4M 1s + 6950K .......... .......... .......... .......... .......... 91% 48.9M 1s + 7000K .......... .......... .......... .......... .......... 91% 58.0M 1s + 7050K .......... .......... .......... .......... .......... 92% 61.4M 1s + 7100K .......... .......... .......... .......... .......... 93% 45.5M 1s + 7150K .......... .......... .......... .......... .......... 93% 65.7M 0s + 7200K .......... .......... .......... .......... .......... 94% 1.40M 0s + 7250K .......... .......... .......... .......... .......... 95% 763K 0s + 7300K .......... .......... .......... .......... .......... 95% 2.66M 0s + 7350K .......... .......... .......... .......... .......... 96% 789K 0s + 7400K .......... .......... .......... .......... .......... 97% 2.52M 0s + 7450K .......... .......... .......... .......... .......... 97% 1.58M 0s + 7500K .......... .......... .......... .......... .......... 98% 765K 0s + 7550K .......... .......... .......... .......... .......... 98% 37.9M 0s + 7600K .......... .......... .......... .......... .......... 99% 888K 0s + 7650K .......... .......... ....... 100% 66.5M=7.6s + +2018-12-25 10:18:25 (1010 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + creating: 2112_brunch/ + inflating: 2112_brunch/contact-page.html + creating: 2112_brunch/css/ + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + creating: 2112_brunch/css/fonts/ + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + creating: 2112_brunch/fonts/ + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + creating: 2112_brunch/img/ + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + creating: 2112_brunch/js/ + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + creating: 2112_brunch/js/vendor/ + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + creating: 2112_brunch/videos/ + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 10:20:16-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:20:17-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 55.1K 2m19s + 50K .......... .......... .......... .......... .......... 1% 195K 88s + 100K .......... .......... .......... .......... .......... 1% 204K 71s + 150K .......... .......... .......... .......... .......... 2% 231K 61s + 200K .......... .......... .......... .......... .......... 3% 240K 55s + 250K .......... .......... .......... .......... .......... 3% 235K 50s + 300K .......... .......... .......... .......... .......... 4% 1.01M 44s + 350K .......... .......... .......... .......... .......... 5% 273K 41s + 400K .......... .......... .......... .......... .......... 5% 1.30M 37s + 450K .......... .......... .......... .......... .......... 6% 256K 36s + 500K .......... .......... .......... .......... .......... 7% 4.29M 33s + 550K .......... .......... .......... .......... .......... 7% 2.08M 30s + 600K .......... .......... .......... .......... .......... 8% 233K 30s + 650K .......... .......... .......... .......... .......... 9% 6.40M 28s + 700K .......... .......... .......... .......... .......... 9% 8.94M 26s + 750K .......... .......... .......... .......... .......... 10% 3.75M 24s + 800K .......... .......... .......... .......... .......... 11% 229K 24s + 850K .......... .......... .......... .......... .......... 11% 77.2M 23s + 900K .......... .......... .......... .......... .......... 12% 46.7M 21s + 950K .......... .......... .......... .......... .......... 13% 6.81M 20s + 1000K .......... .......... .......... .......... .......... 13% 259K 20s + 1050K .......... .......... .......... .......... .......... 14% 7.16M 19s + 1100K .......... .......... .......... .......... .......... 14% 41.7M 18s + 1150K .......... .......... .......... .......... .......... 15% 3.07M 17s + 1200K .......... .......... .......... .......... .......... 16% 3.77M 17s + 1250K .......... .......... .......... .......... .......... 16% 265K 17s + 1300K .......... .......... .......... .......... .......... 17% 2.09M 16s + 1350K .......... .......... .......... .......... .......... 18% 8.63M 16s + 1400K .......... .......... .......... .......... .......... 18% 91.4M 15s + 1450K .......... .......... .......... .......... .......... 19% 64.3M 14s + 1500K .......... .......... .......... .......... .......... 20% 2.18M 14s + 1550K .......... .......... .......... .......... .......... 20% 27.1M 13s + 1600K .......... .......... .......... .......... .......... 21% 271K 13s + 1650K .......... .......... .......... .......... .......... 22% 1.76M 13s + 1700K .......... .......... .......... .......... .......... 22% 52.3M 13s + 1750K .......... .......... .......... .......... .......... 23% 6.28M 12s + 1800K .......... .......... .......... .......... .......... 24% 4.51M 12s + 1850K .......... .......... .......... .......... .......... 24% 14.5M 11s + 1900K .......... .......... .......... .......... .......... 25% 107M 11s + 1950K .......... .......... .......... .......... .......... 26% 65.3M 11s + 2000K .......... .......... .......... .......... .......... 26% 314K 11s + 2050K .......... .......... .......... .......... .......... 27% 2.82M 10s + 2100K .......... .......... .......... .......... .......... 28% 4.21M 10s + 2150K .......... .......... .......... .......... .......... 28% 5.45M 10s + 2200K .......... .......... .......... .......... .......... 29% 3.26M 9s + 2250K .......... .......... .......... .......... .......... 29% 3.98M 9s + 2300K .......... .......... .......... .......... .......... 30% 102M 9s + 2350K .......... .......... .......... .......... .......... 31% 10.5M 9s + 2400K .......... .......... .......... .......... .......... 31% 4.59M 8s + 2450K .......... .......... .......... .......... .......... 32% 3.77M 8s + 2500K .......... .......... .......... .......... .......... 33% 219K 8s + 2550K .......... .......... .......... .......... .......... 33% 2.21M 8s + 2600K .......... .......... .......... .......... .......... 34% 6.13M 8s + 2650K .......... .......... .......... .......... .......... 35% 26.1M 8s + 2700K .......... .......... .......... .......... .......... 35% 51.7M 8s + 2750K .......... .......... .......... .......... .......... 36% 18.6M 7s + 2800K .......... .......... .......... .......... .......... 37% 90.6M 7s + 2850K .......... .......... .......... .......... .......... 37% 7.18M 7s + 2900K .......... .......... .......... .......... .......... 38% 78.4M 7s + 2950K .......... .......... .......... .......... .......... 39% 57.2M 7s + 3000K .......... .......... .......... .......... .......... 39% 98.5M 6s + 3050K .......... .......... .......... .......... .......... 40% 64.4M 6s + 3100K .......... .......... .......... .......... .......... 41% 597K 6s + 3150K .......... .......... .......... .......... .......... 41% 1.73M 6s + 3200K .......... .......... .......... .......... .......... 42% 2.80M 6s + 3250K .......... .......... .......... .......... .......... 42% 1.96M 6s + 3300K .......... .......... .......... .......... .......... 43% 2.40M 6s + 3350K .......... .......... .......... .......... .......... 44% 12.5M 6s + 3400K .......... .......... .......... .......... .......... 44% 3.58M 5s + 3450K .......... .......... .......... .......... .......... 45% 13.4M 5s + 3500K .......... .......... .......... .......... .......... 46% 102M 5s + 3550K .......... .......... .......... .......... .......... 46% 5.07M 5s + 3600K .......... .......... .......... .......... .......... 47% 4.99M 5s + 3650K .......... .......... .......... .......... .......... 48% 3.13M 5s + 3700K .......... .......... .......... .......... .......... 48% 9.67M 5s + 3750K .......... .......... .......... .......... .......... 49% 6.42M 5s + 3800K .......... .......... .......... .......... .......... 50% 378K 5s + 3850K .......... .......... .......... .......... .......... 50% 27.9M 4s + 3900K .......... .......... .......... .......... .......... 51% 67.1M 4s + 3950K .......... .......... .......... .......... .......... 52% 113M 4s + 4000K .......... .......... .......... .......... .......... 52% 60.0M 4s + 4050K .......... .......... .......... .......... .......... 53% 3.07M 4s + 4100K .......... .......... .......... .......... .......... 54% 2.89M 4s + 4150K .......... .......... .......... .......... .......... 54% 55.6M 4s + 4200K .......... .......... .......... .......... .......... 55% 4.37M 4s + 4250K .......... .......... .......... .......... .......... 56% 7.91M 4s + 4300K .......... .......... .......... .......... .......... 56% 2.23M 4s + 4350K .......... .......... .......... .......... .......... 57% 3.55M 4s + 4400K .......... .......... .......... .......... .......... 57% 2.15M 3s + 4450K .......... .......... .......... .......... .......... 58% 8.76M 3s + 4500K .......... .......... .......... .......... .......... 59% 106M 3s + 4550K .......... .......... .......... .......... .......... 59% 64.7M 3s + 4600K .......... .......... .......... .......... .......... 60% 56.7M 3s + 4650K .......... .......... .......... .......... .......... 61% 1.68M 3s + 4700K .......... .......... .......... .......... .......... 61% 3.15M 3s + 4750K .......... .......... .......... .......... .......... 62% 2.94M 3s + 4800K .......... .......... .......... .......... .......... 63% 654K 3s + 4850K .......... .......... .......... .......... .......... 63% 3.27M 3s + 4900K .......... .......... .......... .......... .......... 64% 10.7M 3s + 4950K .......... .......... .......... .......... .......... 65% 62.7M 3s + 5000K .......... .......... .......... .......... .......... 65% 47.1M 3s + 5050K .......... .......... .......... .......... .......... 66% 27.3M 2s + 5100K .......... .......... .......... .......... .......... 67% 5.49M 2s + 5150K .......... .......... .......... .......... .......... 67% 2.74M 2s + 5200K .......... .......... .......... .......... .......... 68% 3.65M 2s + 5250K .......... .......... .......... .......... .......... 69% 19.9M 2s + 5300K .......... .......... .......... .......... .......... 69% 2.42M 2s + 5350K .......... .......... .......... .......... .......... 70% 3.79M 2s + 5400K .......... .......... .......... .......... .......... 70% 2.97M 2s + 5450K .......... .......... .......... .......... .......... 71% 3.31M 2s + 5500K .......... .......... .......... .......... .......... 72% 56.7M 2s + 5550K .......... .......... .......... .......... .......... 72% 2.41M 2s + 5600K .......... .......... .......... .......... .......... 73% 48.2M 2s + 5650K .......... .......... .......... .......... .......... 74% 54.1M 2s + 5700K .......... .......... .......... .......... .......... 74% 53.2M 2s + 5750K .......... .......... .......... .......... .......... 75% 60.5M 2s + 5800K .......... .......... .......... .......... .......... 76% 61.5M 2s + 5850K .......... .......... .......... .......... .......... 76% 1.14M 2s + 5900K .......... .......... .......... .......... .......... 77% 4.72M 1s + 5950K .......... .......... .......... .......... .......... 78% 1.99M 1s + 6000K .......... .......... .......... .......... .......... 78% 3.83M 1s + 6050K .......... .......... .......... .......... .......... 79% 2.38M 1s + 6100K .......... .......... .......... .......... .......... 80% 61.7M 1s + 6150K .......... .......... .......... .......... .......... 80% 181K 1s + 6200K .......... .......... .......... .......... .......... 81% 2.12M 1s + 6250K .......... .......... .......... .......... .......... 82% 2.84M 1s + 6300K .......... .......... .......... .......... .......... 82% 28.4M 1s + 6350K .......... .......... .......... .......... .......... 83% 53.3M 1s + 6400K .......... .......... .......... .......... .......... 84% 48.3M 1s + 6450K .......... .......... .......... .......... .......... 84% 55.6M 1s + 6500K .......... .......... .......... .......... .......... 85% 80.5M 1s + 6550K .......... .......... .......... .......... .......... 85% 53.9M 1s + 6600K .......... .......... .......... .......... .......... 86% 52.5M 1s + 6650K .......... .......... .......... .......... .......... 87% 42.4M 1s + 6700K .......... .......... .......... .......... .......... 87% 103M 1s + 6750K .......... .......... .......... .......... .......... 88% 58.2M 1s + 6800K .......... .......... .......... .......... .......... 89% 58.2M 1s + 6850K .......... .......... .......... .......... .......... 89% 65.9M 1s + 6900K .......... .......... .......... .......... .......... 90% 111M 1s + 6950K .......... .......... .......... .......... .......... 91% 65.8M 1s + 7000K .......... .......... .......... .......... .......... 91% 61.6M 0s + 7050K .......... .......... .......... .......... .......... 92% 497K 0s + 7100K .......... .......... .......... .......... .......... 93% 2.99M 0s + 7150K .......... .......... .......... .......... .......... 93% 8.12M 0s + 7200K .......... .......... .......... .......... .......... 94% 18.0M 0s + 7250K .......... .......... .......... .......... .......... 95% 114M 0s + 7300K .......... .......... .......... .......... .......... 95% 25.2M 0s + 7350K .......... .......... .......... .......... .......... 96% 67.1M 0s + 7400K .......... .......... .......... .......... .......... 97% 61.7M 0s + 7450K .......... .......... .......... .......... .......... 97% 117M 0s + 7500K .......... .......... .......... .......... .......... 98% 65.8M 0s + 7550K .......... .......... .......... .......... .......... 98% 66.2M 0s + 7600K .......... .......... .......... .......... .......... 99% 98.5M 0s + 7650K .......... .......... ....... 100% 47.0M=5.6s + +2018-12-25 10:20:24 (1.34 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 10:25:19-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:25:20-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 68.3K 1m52s + 50K .......... .......... .......... .......... .......... 1% 203K 74s + 100K .......... .......... .......... .......... .......... 1% 202K 62s + 150K .......... .......... .......... .......... .......... 2% 12.3M 46s + 200K .......... .......... .......... .......... .......... 3% 197K 44s + 250K .......... .......... .......... .......... .......... 3% 212K 42s + 300K .......... .......... .......... .......... .......... 4% 24.5M 36s + 350K .......... .......... .......... .......... .......... 5% 98.4M 31s + 400K .......... .......... .......... .......... .......... 5% 193K 32s + 450K .......... .......... .......... .......... .......... 6% 49.2M 28s + 500K .......... .......... .......... .......... .......... 7% 74.1M 26s + 550K .......... .......... .......... .......... .......... 7% 261K 26s + 600K .......... .......... .......... .......... .......... 8% 713K 24s + 650K .......... .......... .......... .......... .......... 9% 59.1M 22s + 700K .......... .......... .......... .......... .......... 9% 60.0M 21s + 750K .......... .......... .......... .......... .......... 10% 62.0M 19s + 800K .......... .......... .......... .......... .......... 11% 49.9M 18s + 850K .......... .......... .......... .......... .......... 11% 239K 19s + 900K .......... .......... .......... .......... .......... 12% 1.81M 18s + 950K .......... .......... .......... .......... .......... 13% 2.81M 17s + 1000K .......... .......... .......... .......... .......... 13% 84.6M 16s + 1050K .......... .......... .......... .......... .......... 14% 60.8M 15s + 1100K .......... .......... .......... .......... .......... 14% 61.2M 14s + 1150K .......... .......... .......... .......... .......... 15% 56.0M 14s + 1200K .......... .......... .......... .......... .......... 16% 12.7M 13s + 1250K .......... .......... .......... .......... .......... 16% 268K 13s + 1300K .......... .......... .......... .......... .......... 17% 1.03M 13s + 1350K .......... .......... .......... .......... .......... 18% 2.01M 12s + 1400K .......... .......... .......... .......... .......... 18% 3.94M 12s + 1450K .......... .......... .......... .......... .......... 19% 22.5M 11s + 1500K .......... .......... .......... .......... .......... 20% 29.1M 11s + 1550K .......... .......... .......... .......... .......... 20% 109M 11s + 1600K .......... .......... .......... .......... .......... 21% 58.2M 10s + 1650K .......... .......... .......... .......... .......... 22% 64.3M 10s + 1700K .......... .......... .......... .......... .......... 22% 65.2M 9s + 1750K .......... .......... .......... .......... .......... 23% 109M 9s + 1800K .......... .......... .......... .......... .......... 24% 403K 9s + 1850K .......... .......... .......... .......... .......... 24% 1.52M 9s + 1900K .......... .......... .......... .......... .......... 25% 2.35M 9s + 1950K .......... .......... .......... .......... .......... 26% 4.09M 8s + 2000K .......... .......... .......... .......... .......... 26% 1.69M 8s + 2050K .......... .......... .......... .......... .......... 27% 1.42M 8s + 2100K .......... .......... .......... .......... .......... 28% 4.06M 8s + 2150K .......... .......... .......... .......... .......... 28% 2.33M 8s + 2200K .......... .......... .......... .......... .......... 29% 31.8M 7s + 2250K .......... .......... .......... .......... .......... 29% 38.0M 7s + 2300K .......... .......... .......... .......... .......... 30% 60.7M 7s + 2350K .......... .......... .......... .......... .......... 31% 81.0M 7s + 2400K .......... .......... .......... .......... .......... 31% 27.7M 7s + 2450K .......... .......... .......... .......... .......... 32% 42.1M 6s + 2500K .......... .......... .......... .......... .......... 33% 63.3M 6s + 2550K .......... .......... .......... .......... .......... 33% 109M 6s + 2600K .......... .......... .......... .......... .......... 34% 60.4M 6s + 2650K .......... .......... .......... .......... .......... 35% 1.27M 6s + 2700K .......... .......... .......... .......... .......... 35% 1.72M 6s + 2750K .......... .......... .......... .......... .......... 36% 2.59M 6s + 2800K .......... .......... .......... .......... .......... 37% 28.9M 5s + 2850K .......... .......... .......... .......... .......... 37% 52.6M 5s + 2900K .......... .......... .......... .......... .......... 38% 3.42M 5s + 2950K .......... .......... .......... .......... .......... 39% 2.39M 5s + 3000K .......... .......... .......... .......... .......... 39% 1.56M 5s + 3050K .......... .......... .......... .......... .......... 40% 2.00M 5s + 3100K .......... .......... .......... .......... .......... 41% 4.83M 5s + 3150K .......... .......... .......... .......... .......... 41% 46.9M 5s + 3200K .......... .......... .......... .......... .......... 42% 54.7M 4s + 3250K .......... .......... .......... .......... .......... 42% 8.35M 4s + 3300K .......... .......... .......... .......... .......... 43% 2.94M 4s + 3350K .......... .......... .......... .......... .......... 44% 3.31M 4s + 3400K .......... .......... .......... .......... .......... 44% 2.05M 4s + 3450K .......... .......... .......... .......... .......... 45% 3.20M 4s + 3500K .......... .......... .......... .......... .......... 46% 4.23M 4s + 3550K .......... .......... .......... .......... .......... 46% 3.54M 4s + 3600K .......... .......... .......... .......... .......... 47% 7.19M 4s + 3650K .......... .......... .......... .......... .......... 48% 56.1M 4s + 3700K .......... .......... .......... .......... .......... 48% 268K 4s + 3750K .......... .......... .......... .......... .......... 49% 641K 4s + 3800K .......... .......... .......... .......... .......... 50% 36.7M 4s + 3850K .......... .......... .......... .......... .......... 50% 97.7M 4s + 3900K .......... .......... .......... .......... .......... 51% 59.9M 3s + 3950K .......... .......... .......... .......... .......... 52% 51.6M 3s + 4000K .......... .......... .......... .......... .......... 52% 60.2M 3s + 4050K .......... .......... .......... .......... .......... 53% 23.8M 3s + 4100K .......... .......... .......... .......... .......... 54% 66.4M 3s + 4150K .......... .......... .......... .......... .......... 54% 116M 3s + 4200K .......... .......... .......... .......... .......... 55% 211K 3s + 4250K .......... .......... .......... .......... .......... 56% 5.00M 3s + 4300K .......... .......... .......... .......... .......... 56% 29.9M 3s + 4350K .......... .......... .......... .......... .......... 57% 2.57M 3s + 4400K .......... .......... .......... .......... .......... 57% 57.5M 3s + 4450K .......... .......... .......... .......... .......... 58% 198K 3s + 4500K .......... .......... .......... .......... .......... 59% 64.2M 3s + 4550K .......... .......... .......... .......... .......... 59% 209K 3s + 4600K .......... .......... .......... .......... .......... 60% 246K 3s + 4650K .......... .......... .......... .......... .......... 61% 2.09M 3s + 4700K .......... .......... .......... .......... .......... 61% 212K 3s + 4750K .......... .......... .......... .......... .......... 62% 209K 3s + 4800K .......... .......... .......... .......... .......... 63% 89.2M 3s + 4850K .......... .......... .......... .......... .......... 63% 36.7K 4s + 4900K .......... .......... .......... .......... .......... 64% 2.80M 4s + 4950K .......... .......... .......... .......... .......... 65% 65.2M 3s + 5000K .......... .......... .......... .......... .......... 65% 39.0M 3s + 5050K .......... .......... .......... .......... .......... 66% 58.9M 3s + 5100K .......... .......... .......... .......... .......... 67% 67.0M 3s + 5150K .......... .......... .......... .......... .......... 67% 114M 3s + 5200K .......... .......... .......... .......... .......... 68% 57.6M 3s + 5250K .......... .......... .......... .......... .......... 69% 56.1M 3s + 5300K .......... .......... .......... .......... .......... 69% 68.4M 3s + 5350K .......... .......... .......... .......... .......... 70% 117M 3s + 5400K .......... .......... .......... .......... .......... 70% 63.2M 3s + 5450K .......... .......... .......... .......... .......... 71% 116M 3s + 5500K .......... .......... .......... .......... .......... 72% 69.3M 2s + 5550K .......... .......... .......... .......... .......... 72% 281K 2s + 5600K .......... .......... .......... .......... .......... 73% 202K 2s + 5650K .......... .......... .......... .......... .......... 74% 203K 2s + 5700K .......... .......... .......... .......... .......... 74% 61.4M 2s + 5750K .......... .......... .......... .......... .......... 75% 203K 2s + 5800K .......... .......... .......... .......... .......... 76% 2.54M 2s + 5850K .......... .......... .......... .......... .......... 76% 40.7M 2s + 5900K .......... .......... .......... .......... .......... 77% 52.8M 2s + 5950K .......... .......... .......... .......... .......... 78% 76.4M 2s + 6000K .......... .......... .......... .......... .......... 78% 45.6M 2s + 6050K .......... .......... .......... .......... .......... 79% 109M 2s + 6100K .......... .......... .......... .......... .......... 80% 65.2M 2s + 6150K .......... .......... .......... .......... .......... 80% 62.5M 2s + 6200K .......... .......... .......... .......... .......... 81% 279K 2s + 6250K .......... .......... .......... .......... .......... 82% 204K 2s + 6300K .......... .......... .......... .......... .......... 82% 1.84M 2s + 6350K .......... .......... .......... .......... .......... 83% 8.31M 2s + 6400K .......... .......... .......... .......... .......... 84% 30.2M 2s + 6450K .......... .......... .......... .......... .......... 84% 45.3M 1s + 6500K .......... .......... .......... .......... .......... 85% 43.9M 1s + 6550K .......... .......... .......... .......... .......... 85% 43.3M 1s + 6600K .......... .......... .......... .......... .......... 86% 29.0M 1s + 6650K .......... .......... .......... .......... .......... 87% 114K 1s + 6700K .......... .......... .......... .......... .......... 87% 194K 1s + 6750K .......... .......... .......... .......... .......... 88% 117K 1s + 6800K .......... .......... .......... .......... .......... 89% 198K 1s + 6850K .......... .......... .......... .......... .......... 89% 1.37M 1s + 6900K .......... .......... .......... .......... .......... 90% 220K 1s + 6950K .......... .......... .......... .......... .......... 91% 230K 1s + 7000K .......... .......... .......... .......... .......... 91% 2.14M 1s + 7050K .......... .......... .......... .......... .......... 92% 238K 1s + 7100K .......... .......... .......... .......... .......... 93% 2.00M 1s + 7150K .......... .......... .......... .......... .......... 93% 211K 1s + 7200K .......... .......... .......... .......... .......... 94% 93.9M 1s + 7250K .......... .......... .......... .......... .......... 95% 235K 1s + 7300K .......... .......... .......... .......... .......... 95% 1.70M 0s + 7350K .......... .......... .......... .......... .......... 96% 108M 0s + 7400K .......... .......... .......... .......... .......... 97% 243K 0s + 7450K .......... .......... .......... .......... .......... 97% 1.33M 0s + 7500K .......... .......... .......... .......... .......... 98% 13.2M 0s + 7550K .......... .......... .......... .......... .......... 98% 234K 0s + 7600K .......... .......... .......... .......... .......... 99% 7.62M 0s + 7650K .......... .......... ....... 100% 70.5M=11s + +2018-12-25 10:25:32 (700 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 10:29:53-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:29:54-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 4% 56.3K 21s + 50K .......... .......... .......... .......... .......... 8% 211K 13s + 100K .......... .......... .......... .......... .......... 12% 215K 10s + 150K .......... .......... .......... .......... .......... 16% 215K 8s + 200K .......... .......... .......... .......... .......... 20% 2.25M 6s + 250K .......... .......... .......... .......... .......... 24% 229K 6s + 300K .......... .......... .......... .......... .......... 28% 231K 5s + 350K .......... .......... .......... .......... .......... 32% 2.40M 4s + 400K .......... .......... .......... .......... .......... 36% 246K 4s + 450K .......... .......... .......... .......... .......... 40% 36.4M 3s + 500K .......... .......... .......... .......... .......... 44% 1.77M 3s + 550K .......... .......... .......... .......... .......... 48% 229K 3s + 600K .......... .......... .......... .......... .......... 52% 3.27M 2s + 650K .......... .......... .......... .......... .......... 56% 36.7M 2s + 700K .......... .......... .......... .......... .......... 60% 238K 2s + 750K .......... .......... .......... .......... .......... 64% 1.88M 2s + 800K .......... .......... .......... .......... .......... 68% 29.5M 1s + 850K .......... .......... .......... .......... .......... 72% 58.2M 1s + 900K .......... .......... .......... .......... .......... 76% 231K 1s + 950K .......... .......... .......... .......... .......... 80% 2.47M 1s + 1000K .......... .......... .......... .......... .......... 84% 55.7M 1s + 1050K .......... .......... .......... .......... .......... 88% 59.0M 0s + 1100K .......... .......... .......... .......... .......... 92% 60.1M 0s + 1150K .......... .......... .......... .......... .......... 96% 246K 0s + 1200K .......... .......... .......... .......... ... 100% 4.79M=3.2s + +2018-12-25 10:29:58 (386 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + creating: 2101_insertion/ + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + creating: 2101_insertion/css/ + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + creating: 2101_insertion/img/ + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + creating: 2101_insertion/js/ + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + creating: 2101_insertion/webfonts/ + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Resolving Dependencies +--> Running transaction check +---> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed +---> Package unzip.x86_64 0:6.0-19.el7 will be installed +---> Package wget.x86_64 0:1.14-18.el7 will be installed +--> Finished Dependency Resolution + +Dependencies Resolved + +================================================================================ + Package Arch Version Repository Size +================================================================================ +Installing: + httpd x86_64 2.4.6-88.el7.centos base 2.7 M + unzip x86_64 6.0-19.el7 base 170 k + wget x86_64 1.14-18.el7 base 547 k + +Transaction Summary +================================================================================ +Install 3 Packages + +Total download size: 3.4 M +Installed size: 12 M +Downloading packages: +-------------------------------------------------------------------------------- +Total 1.9 MB/s | 3.4 MB 00:01 +Running transaction check +Running transaction test +Transaction test succeeded +Running transaction + Installing : wget-1.14-18.el7.x86_64 1/3 + Installing : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Installing : unzip-6.0-19.el7.x86_64 3/3 + Verifying : unzip-6.0-19.el7.x86_64 1/3 + Verifying : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Verifying : wget-1.14-18.el7.x86_64 3/3 + +Installed: + httpd.x86_64 0:2.4.6-88.el7.centos unzip.x86_64 0:6.0-19.el7 + wget.x86_64 0:1.14-18.el7 + +Complete! +################################################################ + + +Starting and Enabling Service +Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. +################################################################ + + +Copying website data +--2018-12-25 10:36:52-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:36:53-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 4% 70.2K 17s + 50K .......... .......... .......... .......... .......... 8% 106K 14s + 100K .......... .......... .......... .......... .......... 12% 236K 10s + 150K .......... .......... .......... .......... .......... 16% 285K 8s + 200K .......... .......... .......... .......... .......... 20% 907K 6s + 250K .......... .......... .......... .......... .......... 24% 218K 6s + 300K .......... .......... .......... .......... .......... 28% 25.5M 5s + 350K .......... .......... .......... .......... .......... 32% 253K 4s + 400K .......... .......... .......... .......... .......... 36% 2.65M 4s + 450K .......... .......... .......... .......... .......... 40% 304K 3s + 500K .......... .......... .......... .......... .......... 44% 806K 3s + 550K .......... .......... .......... .......... .......... 48% 23.1M 2s + 600K .......... .......... .......... .......... .......... 52% 253K 2s + 650K .......... .......... .......... .......... .......... 56% 1.92M 2s + 700K .......... .......... .......... .......... .......... 60% 4.53M 2s + 750K .......... .......... .......... .......... .......... 64% 1.99M 1s + 800K .......... .......... .......... .......... .......... 68% 265K 1s + 850K .......... .......... .......... .......... .......... 72% 4.51M 1s + 900K .......... .......... .......... .......... .......... 76% 4.88M 1s + 950K .......... .......... .......... .......... .......... 80% 54.5M 1s + 1000K .......... .......... .......... .......... .......... 84% 272K 1s + 1050K .......... .......... .......... .......... .......... 88% 4.75M 0s + 1100K .......... .......... .......... .......... .......... 92% 2.84M 0s + 1150K .......... .......... .......... .......... .......... 96% 7.72M 0s + 1200K .......... .......... .......... .......... ... 100% 4.73M=3.0s + +2018-12-25 10:36:57 (415 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Resolving Dependencies +--> Running transaction check +---> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed +---> Package unzip.x86_64 0:6.0-19.el7 will be installed +---> Package wget.x86_64 0:1.14-18.el7 will be installed +--> Finished Dependency Resolution + +Dependencies Resolved + +================================================================================ + Package Arch Version Repository Size +================================================================================ +Installing: + httpd x86_64 2.4.6-88.el7.centos base 2.7 M + unzip x86_64 6.0-19.el7 base 170 k + wget x86_64 1.14-18.el7 base 547 k + +Transaction Summary +================================================================================ +Install 3 Packages + +Total download size: 3.4 M +Installed size: 12 M +Downloading packages: +-------------------------------------------------------------------------------- +Total 2.2 MB/s | 3.4 MB 00:01 +Running transaction check +Running transaction test +Transaction test succeeded +Running transaction + Installing : wget-1.14-18.el7.x86_64 1/3 + Installing : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Installing : unzip-6.0-19.el7.x86_64 3/3 + Verifying : unzip-6.0-19.el7.x86_64 1/3 + Verifying : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Verifying : wget-1.14-18.el7.x86_64 3/3 + +Installed: + httpd.x86_64 0:2.4.6-88.el7.centos unzip.x86_64 0:6.0-19.el7 + wget.x86_64 0:1.14-18.el7 + +Complete! +################################################################ + + +Starting and Enabling Service +Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. +################################################################ + + +Copying website data +--2018-12-25 10:40:45-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:40:46-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 4% 65.2K 18s + 50K .......... .......... .......... .......... .......... 8% 116K 14s + 100K .......... .......... .......... .......... .......... 12% 217K 10s + 150K .......... .......... .......... .......... .......... 16% 432K 8s + 200K .......... .......... .......... .......... .......... 20% 279K 7s + 250K .......... .......... .......... .......... .......... 24% 267K 6s + 300K .......... .......... .......... .......... .......... 28% 771K 5s + 350K .......... .......... .......... .......... .......... 32% 1.33M 4s + 400K .......... .......... .......... .......... .......... 36% 276K 4s + 450K .......... .......... .......... .......... .......... 40% 3.18M 3s + 500K .......... .......... .......... .......... .......... 44% 249K 3s + 550K .......... .......... .......... .......... .......... 48% 34.3M 3s + 600K .......... .......... .......... .......... .......... 52% 1.30M 2s + 650K .......... .......... .......... .......... .......... 56% 52.1M 2s + 700K .......... .......... .......... .......... .......... 60% 266K 2s + 750K .......... .......... .......... .......... .......... 64% 16.0M 1s + 800K .......... .......... .......... .......... .......... 68% 974K 1s + 850K .......... .......... .......... .......... .......... 72% 107M 1s + 900K .......... .......... .......... .......... .......... 76% 752K 1s + 950K .......... .......... .......... .......... .......... 80% 374K 1s + 1000K .......... .......... .......... .......... .......... 84% 2.49M 1s + 1050K .......... .......... .......... .......... .......... 88% 1.64M 0s + 1100K .......... .......... .......... .......... .......... 92% 51.1M 0s + 1150K .......... .......... .......... .......... .......... 96% 51.8M 0s + 1200K .......... .......... .......... .......... ... 100% 809K=3.0s + +2018-12-25 10:40:50 (415 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Resolving Dependencies +--> Running transaction check +---> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed +---> Package unzip.x86_64 0:6.0-19.el7 will be installed +---> Package wget.x86_64 0:1.14-18.el7 will be installed +--> Finished Dependency Resolution + +Dependencies Resolved + +================================================================================ + Package Arch Version Repository Size +================================================================================ +Installing: + httpd x86_64 2.4.6-88.el7.centos base 2.7 M + unzip x86_64 6.0-19.el7 base 170 k + wget x86_64 1.14-18.el7 base 547 k + +Transaction Summary +================================================================================ +Install 3 Packages + +Total download size: 3.4 M +Installed size: 12 M +Downloading packages: +-------------------------------------------------------------------------------- +Total 1.9 MB/s | 3.4 MB 00:01 +Running transaction check +Running transaction test +Transaction test succeeded +Running transaction + Installing : wget-1.14-18.el7.x86_64 1/3 + Installing : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Installing : unzip-6.0-19.el7.x86_64 3/3 + Verifying : unzip-6.0-19.el7.x86_64 1/3 + Verifying : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Verifying : wget-1.14-18.el7.x86_64 3/3 + +Installed: + httpd.x86_64 0:2.4.6-88.el7.centos unzip.x86_64 0:6.0-19.el7 + wget.x86_64 0:1.14-18.el7 + +Complete! +################################################################ + + +Starting and Enabling Service +Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. +################################################################ + + +Copying website data +--2018-12-25 10:53:45-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:53:46-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 53.5K 2m22s + 50K .......... .......... .......... .......... .......... 1% 173K 93s + 100K .......... .......... .......... .......... .......... 1% 217K 73s + 150K .......... .......... .......... .......... .......... 2% 212K 63s + 200K .......... .......... .......... .......... .......... 3% 245K 56s + 250K .......... .......... .......... .......... .......... 3% 244K 52s + 300K .......... .......... .......... .......... .......... 4% 1.79M 45s + 350K .......... .......... .......... .......... .......... 5% 245K 42s + 400K .......... .......... .......... .......... .......... 5% 1008K 38s + 450K .......... .......... .......... .......... .......... 6% 1.32M 35s + 500K .......... .......... .......... .......... .......... 7% 325K 33s + 550K .......... .......... .......... .......... .......... 7% 1.44M 31s + 600K .......... .......... .......... .......... .......... 8% 3.09M 28s + 650K .......... .......... .......... .......... .......... 9% 267K 28s + 700K .......... .......... .......... .......... .......... 9% 3.10M 26s + 750K .......... .......... .......... .......... .......... 10% 1.32M 25s + 800K .......... .......... .......... .......... .......... 11% 270K 24s + 850K .......... .......... .......... .......... .......... 11% 5.50M 23s + 900K .......... .......... .......... .......... .......... 12% 2.87M 22s + 950K .......... .......... .......... .......... .......... 13% 56.3M 21s + 1000K .......... .......... .......... .......... .......... 13% 1.90M 20s + 1050K .......... .......... .......... .......... .......... 14% 294K 20s + 1100K .......... .......... .......... .......... .......... 14% 5.98M 19s + 1150K .......... .......... .......... .......... .......... 15% 1.87M 18s + 1200K .......... .......... .......... .......... .......... 16% 6.19M 17s + 1250K .......... .......... .......... .......... .......... 16% 2.33M 16s + 1300K .......... .......... .......... .......... .......... 17% 11.2M 16s + 1350K .......... .......... .......... .......... .......... 18% 247K 16s + 1400K .......... .......... .......... .......... .......... 18% 6.38M 15s + 1450K .......... .......... .......... .......... .......... 19% 58.9M 15s + 1500K .......... .......... .......... .......... .......... 20% 61.4M 14s + 1550K .......... .......... .......... .......... .......... 20% 58.4M 13s + 1600K .......... .......... .......... .......... .......... 21% 2.01M 13s + 1650K .......... .......... .......... .......... .......... 22% 296K 13s + 1700K .......... .......... .......... .......... .......... 22% 2.44M 13s + 1750K .......... .......... .......... .......... .......... 23% 6.20M 12s + 1800K .......... .......... .......... .......... .......... 24% 2.70M 12s + 1850K .......... .......... .......... .......... .......... 24% 1.61M 12s + 1900K .......... .......... .......... .......... .......... 25% 53.2M 11s + 1950K .......... .......... .......... .......... .......... 26% 113M 11s + 2000K .......... .......... .......... .......... .......... 26% 56.9M 10s + 2050K .......... .......... .......... .......... .......... 27% 304K 11s + 2100K .......... .......... .......... .......... .......... 28% 24.3M 10s + 2150K .......... .......... .......... .......... .......... 28% 1.23M 10s + 2200K .......... .......... .......... .......... .......... 29% 4.39M 10s + 2250K .......... .......... .......... .......... .......... 29% 1.63M 10s + 2300K .......... .......... .......... .......... .......... 30% 53.6M 9s + 2350K .......... .......... .......... .......... .......... 31% 37.8M 9s + 2400K .......... .......... .......... .......... .......... 31% 35.2M 9s + 2450K .......... .......... .......... .......... .......... 32% 19.7M 8s + 2500K .......... .......... .......... .......... .......... 33% 41.8M 8s + 2550K .......... .......... .......... .......... .......... 33% 334K 8s + 2600K .......... .......... .......... .......... .......... 34% 18.9M 8s + 2650K .......... .......... .......... .......... .......... 35% 2.59M 8s + 2700K .......... .......... .......... .......... .......... 35% 1.39M 8s + 2750K .......... .......... .......... .......... .......... 36% 2.79M 7s + 2800K .......... .......... .......... .......... .......... 37% 9.74M 7s + 2850K .......... .......... .......... .......... .......... 37% 7.82M 7s + 2900K .......... .......... .......... .......... .......... 38% 4.09M 7s + 2950K .......... .......... .......... .......... .......... 39% 6.09M 7s + 3000K .......... .......... .......... .......... .......... 39% 92.3M 7s + 3050K .......... .......... .......... .......... .......... 40% 50.6M 6s + 3100K .......... .......... .......... .......... .......... 41% 63.9M 6s + 3150K .......... .......... .......... .......... .......... 41% 520K 6s + 3200K .......... .......... .......... .......... .......... 42% 1.79M 6s + 3250K .......... .......... .......... .......... .......... 42% 3.88M 6s + 3300K .......... .......... .......... .......... .......... 43% 1.19M 6s + 3350K .......... .......... .......... .......... .......... 44% 7.46M 6s + 3400K .......... .......... .......... .......... .......... 44% 2.30M 6s + 3450K .......... .......... .......... .......... .......... 45% 9.67M 5s + 3500K .......... .......... .......... .......... .......... 46% 3.93M 5s + 3550K .......... .......... .......... .......... .......... 46% 1.62M 5s + 3600K .......... .......... .......... .......... .......... 47% 24.0M 5s + 3650K .......... .......... .......... .......... .......... 48% 89.9M 5s + 3700K .......... .......... .......... .......... .......... 48% 11.0M 5s + 3750K .......... .......... .......... .......... .......... 49% 9.35M 5s + 3800K .......... .......... .......... .......... .......... 50% 18.3M 5s + 3850K .......... .......... .......... .......... .......... 50% 30.8M 4s + 3900K .......... .......... .......... .......... .......... 51% 662K 4s + 3950K .......... .......... .......... .......... .......... 52% 4.79M 4s + 4000K .......... .......... .......... .......... .......... 52% 3.75M 4s + 4050K .......... .......... .......... .......... .......... 53% 1.19M 4s + 4100K .......... .......... .......... .......... .......... 54% 1.17M 4s + 4150K .......... .......... .......... .......... .......... 54% 4.34M 4s + 4200K .......... .......... .......... .......... .......... 55% 44.0M 4s + 4250K .......... .......... .......... .......... .......... 56% 1.92M 4s + 4300K .......... .......... .......... .......... .......... 56% 102M 4s + 4350K .......... .......... .......... .......... .......... 57% 1.58M 4s + 4400K .......... .......... .......... .......... .......... 57% 21.8M 4s + 4450K .......... .......... .......... .......... .......... 58% 63.3M 3s + 4500K .......... .......... .......... .......... .......... 59% 63.6M 3s + 4550K .......... .......... .......... .......... .......... 59% 107M 3s + 4600K .......... .......... .......... .......... .......... 60% 58.5M 3s + 4650K .......... .......... .......... .......... .......... 61% 61.1M 3s + 4700K .......... .......... .......... .......... .......... 61% 110M 3s + 4750K .......... .......... .......... .......... .......... 62% 1.74M 3s + 4800K .......... .......... .......... .......... .......... 63% 1.01M 3s + 4850K .......... .......... .......... .......... .......... 63% 14.9M 3s + 4900K .......... .......... .......... .......... .......... 64% 26.8M 3s + 4950K .......... .......... .......... .......... .......... 65% 3.97M 3s + 5000K .......... .......... .......... .......... .......... 65% 1.32M 3s + 5050K .......... .......... .......... .......... .......... 66% 106M 3s + 5100K .......... .......... .......... .......... .......... 67% 7.35M 2s + 5150K .......... .......... .......... .......... .......... 67% 1.54M 2s + 5200K .......... .......... .......... .......... .......... 68% 18.3M 2s + 5250K .......... .......... .......... .......... .......... 69% 187K 2s + 5300K .......... .......... .......... .......... .......... 69% 6.69M 2s + 5350K .......... .......... .......... .......... .......... 70% 1.37M 2s + 5400K .......... .......... .......... .......... .......... 70% 2.63M 2s + 5450K .......... .......... .......... .......... .......... 71% 1.74M 2s + 5500K .......... .......... .......... .......... .......... 72% 1.98M 2s + 5550K .......... .......... .......... .......... .......... 72% 3.79M 2s + 5600K .......... .......... .......... .......... .......... 73% 16.1M 2s + 5650K .......... .......... .......... .......... .......... 74% 1.87M 2s + 5700K .......... .......... .......... .......... .......... 74% 23.5M 2s + 5750K .......... .......... .......... .......... .......... 75% 44.4M 2s + 5800K .......... .......... .......... .......... .......... 76% 3.89M 2s + 5850K .......... .......... .......... .......... .......... 76% 62.6M 2s + 5900K .......... .......... .......... .......... .......... 77% 109M 2s + 5950K .......... .......... .......... .......... .......... 78% 7.43M 2s + 6000K .......... .......... .......... .......... .......... 78% 55.0M 1s + 6050K .......... .......... .......... .......... .......... 79% 47.6M 1s + 6100K .......... .......... .......... .......... .......... 80% 41.5M 1s + 6150K .......... .......... .......... .......... .......... 80% 52.7M 1s + 6200K .......... .......... .......... .......... .......... 81% 53.1M 1s + 6250K .......... .......... .......... .......... .......... 82% 49.7M 1s + 6300K .......... .......... .......... .......... .......... 82% 24.8M 1s + 6350K .......... .......... .......... .......... .......... 83% 6.30M 1s + 6400K .......... .......... .......... .......... .......... 84% 16.0M 1s + 6450K .......... .......... .......... .......... .......... 84% 26.7M 1s + 6500K .......... .......... .......... .......... .......... 85% 38.9M 1s + 6550K .......... .......... .......... .......... .......... 85% 51.1M 1s + 6600K .......... .......... .......... .......... .......... 86% 5.63M 1s + 6650K .......... .......... .......... .......... .......... 87% 54.2M 1s + 6700K .......... .......... .......... .......... .......... 87% 50.4M 1s + 6750K .......... .......... .......... .......... .......... 88% 5.02M 1s + 6800K .......... .......... .......... .......... .......... 89% 7.24M 1s + 6850K .......... .......... .......... .......... .......... 89% 55.6M 1s + 6900K .......... .......... .......... .......... .......... 90% 3.51M 1s + 6950K .......... .......... .......... .......... .......... 91% 2.03M 1s + 7000K .......... .......... .......... .......... .......... 91% 2.69M 0s + 7050K .......... .......... .......... .......... .......... 92% 28.6M 0s + 7100K .......... .......... .......... .......... .......... 93% 47.6M 0s + 7150K .......... .......... .......... .......... .......... 93% 47.7M 0s + 7200K .......... .......... .......... .......... .......... 94% 46.1M 0s + 7250K .......... .......... .......... .......... .......... 95% 60.7M 0s + 7300K .......... .......... .......... .......... .......... 95% 46.4M 0s + 7350K .......... .......... .......... .......... .......... 96% 4.57M 0s + 7400K .......... .......... .......... .......... .......... 97% 3.09M 0s + 7450K .......... .......... .......... .......... .......... 97% 35.3M 0s + 7500K .......... .......... .......... .......... .......... 98% 76.6M 0s + 7550K .......... .......... .......... .......... .......... 98% 30.0M 0s + 7600K .......... .......... .......... .......... .......... 99% 28.4M 0s + 7650K .......... .......... ....... 100% 109M=5.6s + +2018-12-25 10:53:52 (1.33 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 10:59:07-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:59:08-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 70.9K 1m48s + 50K .......... .......... .......... .......... .......... 1% 111K 88s + 100K .......... .......... .......... .......... .......... 1% 206K 70s + 150K .......... .......... .......... .......... .......... 2% 308K 58s + 200K .......... .......... .......... .......... .......... 3% 793K 48s + 250K .......... .......... .......... .......... .......... 3% 237K 45s + 300K .......... .......... .......... .......... .......... 4% 8.36M 39s + 350K .......... .......... .......... .......... .......... 5% 213K 38s + 400K .......... .......... .......... .......... .......... 5% 3.75M 34s + 450K .......... .......... .......... .......... .......... 6% 238K 33s + 500K .......... .......... .......... .......... .......... 7% 22.3M 30s + 550K .......... .......... .......... .......... .......... 7% 296K 29s + 600K .......... .......... .......... .......... .......... 8% 657K 28s + 650K .......... .......... .......... .......... .......... 9% 13.6M 25s + 700K .......... .......... .......... .......... .......... 9% 72.1M 24s + 750K .......... .......... .......... .......... .......... 10% 369K 23s + 800K .......... .......... .......... .......... .......... 11% 449K 22s + 850K .......... .......... .......... .......... .......... 11% 42.4M 21s + 900K .......... .......... .......... .......... .......... 12% 95.5M 20s + 950K .......... .......... .......... .......... .......... 13% 402K 20s + 1000K .......... .......... .......... .......... .......... 13% 650K 19s + 1050K .......... .......... .......... .......... .......... 14% 3.81M 18s + 1100K .......... .......... .......... .......... .......... 14% 17.9M 17s + 1150K .......... .......... .......... .......... .......... 15% 3.35M 16s + 1200K .......... .......... .......... .......... .......... 16% 527K 16s + 1250K .......... .......... .......... .......... .......... 16% 1.32M 16s + 1300K .......... .......... .......... .......... .......... 17% 867K 15s + 1350K .......... .......... .......... .......... .......... 18% 4.60M 14s + 1400K .......... .......... .......... .......... .......... 18% 2.50M 14s + 1450K .......... .......... .......... .......... .......... 19% 6.96M 13s + 1500K .......... .......... .......... .......... .......... 20% 6.19M 13s + 1550K .......... .......... .......... .......... .......... 20% 506K 13s + 1600K .......... .......... .......... .......... .......... 21% 1.06M 12s + 1650K .......... .......... .......... .......... .......... 22% 874K 12s + 1700K .......... .......... .......... .......... .......... 22% 53.3M 12s + 1750K .......... .......... .......... .......... .......... 23% 53.4M 11s + 1800K .......... .......... .......... .......... .......... 24% 2.84M 11s + 1850K .......... .......... .......... .......... .......... 24% 3.53M 11s + 1900K .......... .......... .......... .......... .......... 25% 6.33M 10s + 1950K .......... .......... .......... .......... .......... 26% 466K 10s + 2000K .......... .......... .......... .......... .......... 26% 3.50M 10s + 2050K .......... .......... .......... .......... .......... 27% 49.5M 10s + 2100K .......... .......... .......... .......... .......... 28% 1.22M 9s + 2150K .......... .......... .......... .......... .......... 28% 3.21M 9s + 2200K .......... .......... .......... .......... .......... 29% 11.9M 9s + 2250K .......... .......... .......... .......... .......... 29% 2.91M 9s + 2300K .......... .......... .......... .......... .......... 30% 5.57M 8s + 2350K .......... .......... .......... .......... .......... 31% 4.90M 8s + 2400K .......... .......... .......... .......... .......... 31% 6.52M 8s + 2450K .......... .......... .......... .......... .......... 32% 395K 8s + 2500K .......... .......... .......... .......... .......... 33% 4.56M 8s + 2550K .......... .......... .......... .......... .......... 33% 37.3M 8s + 2600K .......... .......... .......... .......... .......... 34% 51.4M 7s + 2650K .......... .......... .......... .......... .......... 35% 1.63M 7s + 2700K .......... .......... .......... .......... .......... 35% 5.87M 7s + 2750K .......... .......... .......... .......... .......... 36% 5.07M 7s + 2800K .......... .......... .......... .......... .......... 37% 4.12M 7s + 2850K .......... .......... .......... .......... .......... 37% 3.04M 7s + 2900K .......... .......... .......... .......... .......... 38% 36.8M 6s + 2950K .......... .......... .......... .......... .......... 39% 2.19M 6s + 3000K .......... .......... .......... .......... .......... 39% 6.45M 6s + 3050K .......... .......... .......... .......... .......... 40% 462K 6s + 3100K .......... .......... .......... .......... .......... 41% 6.21M 6s + 3150K .......... .......... .......... .......... .......... 41% 57.7M 6s + 3200K .......... .......... .......... .......... .......... 42% 43.9M 6s + 3250K .......... .......... .......... .......... .......... 42% 4.82M 5s + 3300K .......... .......... .......... .......... .......... 43% 2.28M 5s + 3350K .......... .......... .......... .......... .......... 44% 3.02M 5s + 3400K .......... .......... .......... .......... .......... 44% 4.55M 5s + 3450K .......... .......... .......... .......... .......... 45% 7.15M 5s + 3500K .......... .......... .......... .......... .......... 46% 112M 5s + 3550K .......... .......... .......... .......... .......... 46% 3.64M 5s + 3600K .......... .......... .......... .......... .......... 47% 1.56M 5s + 3650K .......... .......... .......... .......... .......... 48% 7.45M 5s + 3700K .......... .......... .......... .......... .......... 48% 46.7M 4s + 3750K .......... .......... .......... .......... .......... 49% 74.8M 4s + 3800K .......... .......... .......... .......... .......... 50% 577K 4s + 3850K .......... .......... .......... .......... .......... 50% 12.2M 4s + 3900K .......... .......... .......... .......... .......... 51% 1.85M 4s + 3950K .......... .......... .......... .......... .......... 52% 1.87M 4s + 4000K .......... .......... .......... .......... .......... 52% 16.9M 4s + 4050K .......... .......... .......... .......... .......... 53% 51.6M 4s + 4100K .......... .......... .......... .......... .......... 54% 52.1M 4s + 4150K .......... .......... .......... .......... .......... 54% 12.8M 4s + 4200K .......... .......... .......... .......... .......... 55% 4.04M 4s + 4250K .......... .......... .......... .......... .......... 56% 5.95M 3s + 4300K .......... .......... .......... .......... .......... 56% 1.28M 3s + 4350K .......... .......... .......... .......... .......... 57% 6.86M 3s + 4400K .......... .......... .......... .......... .......... 57% 2.29M 3s + 4450K .......... .......... .......... .......... .......... 58% 12.3M 3s + 4500K .......... .......... .......... .......... .......... 59% 107M 3s + 4550K .......... .......... .......... .......... .......... 59% 63.2M 3s + 4600K .......... .......... .......... .......... .......... 60% 59.4M 3s + 4650K .......... .......... .......... .......... .......... 61% 79.0M 3s + 4700K .......... .......... .......... .......... .......... 61% 911K 3s + 4750K .......... .......... .......... .......... .......... 62% 3.64M 3s + 4800K .......... .......... .......... .......... .......... 63% 2.52M 3s + 4850K .......... .......... .......... .......... .......... 63% 1.86M 3s + 4900K .......... .......... .......... .......... .......... 64% 100M 3s + 4950K .......... .......... .......... .......... .......... 65% 4.70M 2s + 5000K .......... .......... .......... .......... .......... 65% 15.1M 2s + 5050K .......... .......... .......... .......... .......... 66% 4.31M 2s + 5100K .......... .......... .......... .......... .......... 67% 11.5M 2s + 5150K .......... .......... .......... .......... .......... 67% 14.2M 2s + 5200K .......... .......... .......... .......... .......... 68% 1007K 2s + 5250K .......... .......... .......... .......... .......... 69% 3.17M 2s + 5300K .......... .......... .......... .......... .......... 69% 1.71M 2s + 5350K .......... .......... .......... .......... .......... 70% 85.9K 2s + 5400K .......... .......... .......... .......... .......... 70% 528K 2s + 5450K .......... .......... .......... .......... .......... 71% 864K 2s + 5500K .......... .......... .......... .......... .......... 72% 1.80M 2s + 5550K .......... .......... .......... .......... .......... 72% 24.9M 2s + 5600K .......... .......... .......... .......... .......... 73% 701K 2s + 5650K .......... .......... .......... .......... .......... 74% 21.2M 2s + 5700K .......... .......... .......... .......... .......... 74% 2.55M 2s + 5750K .......... .......... .......... .......... .......... 75% 1.12M 2s + 5800K .......... .......... .......... .......... .......... 76% 3.02M 2s + 5850K .......... .......... .......... .......... .......... 76% 26.7M 2s + 5900K .......... .......... .......... .......... .......... 77% 108M 2s + 5950K .......... .......... .......... .......... .......... 78% 63.9M 2s + 6000K .......... .......... .......... .......... .......... 78% 54.3M 2s + 6050K .......... .......... .......... .......... .......... 79% 109M 1s + 6100K .......... .......... .......... .......... .......... 80% 53.8M 1s + 6150K .......... .......... .......... .......... .......... 80% 64.4M 1s + 6200K .......... .......... .......... .......... .......... 81% 60.0M 1s + 6250K .......... .......... .......... .......... .......... 82% 111M 1s + 6300K .......... .......... .......... .......... .......... 82% 65.8M 1s + 6350K .......... .......... .......... .......... .......... 83% 280K 1s + 6400K .......... .......... .......... .......... .......... 84% 23.7K 2s + 6450K .......... .......... .......... .......... .......... 84% 1.80M 1s + 6500K .......... .......... .......... .......... .......... 85% 2.86M 1s + 6550K .......... .......... .......... .......... .......... 85% 2.65M 1s + 6600K .......... .......... .......... .......... .......... 86% 47.3M 1s + 6650K .......... .......... .......... .......... .......... 87% 52.5M 1s + 6700K .......... .......... .......... .......... .......... 87% 52.0M 1s + 6750K .......... .......... .......... .......... .......... 88% 51.9M 1s + 6800K .......... .......... .......... .......... .......... 89% 29.3M 1s + 6850K .......... .......... .......... .......... .......... 89% 39.2M 1s + 6900K .......... .......... .......... .......... .......... 90% 65.2M 1s + 6950K .......... .......... .......... .......... .......... 91% 50.5M 1s + 7000K .......... .......... .......... .......... .......... 91% 49.4M 1s + 7050K .......... .......... .......... .......... .......... 92% 49.4M 1s + 7100K .......... .......... .......... .......... .......... 93% 51.6M 1s + 7150K .......... .......... .......... .......... .......... 93% 52.8M 1s + 7200K .......... .......... .......... .......... .......... 94% 42.7M 0s + 7250K .......... .......... .......... .......... .......... 95% 39.1M 0s + 7300K .......... .......... .......... .......... .......... 95% 46.6M 0s + 7350K .......... .......... .......... .......... .......... 96% 60.0M 0s + 7400K .......... .......... .......... .......... .......... 97% 58.0M 0s + 7450K .......... .......... .......... .......... .......... 97% 39.3M 0s + 7500K .......... .......... .......... .......... .......... 98% 30.7M 0s + 7550K .......... .......... .......... .......... .......... 98% 42.1M 0s + 7600K .......... .......... .......... .......... .......... 99% 32.3M 0s + 7650K .......... .......... ....... 100% 91.1M=8.0s + +2018-12-25 10:59:17 (960 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +################################################ +################################################ +######################################################################## +# Running Websetup on 192.168.5.5.# +######################################################################## +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied) +E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root? +################################################################ + + +Starting and Enabling Service +Failed to start apache2.service: Interactive authentication required. +See system logs and 'systemctl status apache2.service' for details. +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +insserv: fopen(.depend.stop): Permission denied +Failed to execute operation: Interactive authentication required. +insserv: fopen(.depend.stop): Permission denied +Failed to execute operation: Interactive authentication required. +################################################################ + + +Copying website data +website.zip: Permission denied +Archive: website.zip +error: cannot delete old 2093_flight/contact.html + Permission denied +error: cannot delete old 2093_flight/css/bootstrap-theme.css + Permission denied +error: cannot delete old 2093_flight/css/bootstrap-theme.css.map + Permission denied +error: cannot delete old 2093_flight/css/bootstrap-theme.min.css + Permission denied +error: cannot delete old 2093_flight/css/bootstrap.css + Permission denied +error: cannot delete old 2093_flight/css/bootstrap.css.map + Permission denied +error: cannot delete old 2093_flight/css/bootstrap.min.css + Permission denied +error: cannot delete old 2093_flight/css/datepicker.css + Permission denied +error: cannot delete old 2093_flight/css/fontAwesome.css + Permission denied +error: cannot delete old 2093_flight/css/fonts/flexslider-icon.eot + Permission denied +error: cannot delete old 2093_flight/css/fonts/flexslider-icon.svg + Permission denied +error: cannot delete old 2093_flight/css/fonts/flexslider-icon.ttf + Permission denied +error: cannot delete old 2093_flight/css/fonts/flexslider-icon.woff + Permission denied +error: cannot delete old 2093_flight/css/hero-slider.css + Permission denied +error: cannot delete old 2093_flight/css/owl-carousel.css + Permission denied +error: cannot delete old 2093_flight/css/tooplate-style.css + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.eot + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.svg + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.ttf + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.woff + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.woff2 + Permission denied +error: cannot delete old 2093_flight/fonts/FontAwesome.otf + Permission denied +error: cannot delete old 2093_flight/fonts/glyphicons-halflings-regular.eot + Permission denied +error: cannot delete old 2093_flight/fonts/glyphicons-halflings-regular.svg + Permission denied +error: cannot delete old 2093_flight/fonts/glyphicons-halflings-regular.ttf + Permission denied +error: cannot delete old 2093_flight/fonts/glyphicons-halflings-regular.woff + Permission denied +error: cannot delete old 2093_flight/img/banner-bg.jpg + Permission denied +error: cannot delete old 2093_flight/img/close.png + Permission denied +error: cannot delete old 2093_flight/img/contact-01.jpg + Permission denied +error: cannot delete old 2093_flight/img/contact-02.jpg + Permission denied +error: cannot delete old 2093_flight/img/contact-bg.jpg + Permission denied +error: cannot delete old 2093_flight/img/evening-event.jpg + Permission denied +error: cannot delete old 2093_flight/img/fitness-service.jpg + Permission denied +error: cannot delete old 2093_flight/img/heading-bg.jpg + Permission denied +error: cannot delete old 2093_flight/img/loading.gif + Permission denied +error: cannot delete old 2093_flight/img/logo.png + Permission denied +error: cannot delete old 2093_flight/img/massage-service.jpg + Permission denied +error: cannot delete old 2093_flight/img/next.png + Permission denied +error: cannot delete old 2093_flight/img/place-01.jpg + Permission denied +error: cannot delete old 2093_flight/img/place-02.jpg + Permission denied +error: cannot delete old 2093_flight/img/place-03.jpg + Permission denied +error: cannot delete old 2093_flight/img/place-04.jpg + Permission denied +error: cannot delete old 2093_flight/img/prev.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-01.1.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-01.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-02.2.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-02.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-03.3.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-03.png + Permission denied +error: cannot delete old 2093_flight/img/suite-01.jpg + Permission denied +error: cannot delete old 2093_flight/img/suite-02.jpg + Permission denied +error: cannot delete old 2093_flight/img/suite-03.jpg + Permission denied +error: cannot delete old 2093_flight/img/swiming-pool.jpg + Permission denied +error: cannot delete old 2093_flight/img/weather-bg.jpg + Permission denied +error: cannot delete old 2093_flight/img/weather-icon-01.png + Permission denied +error: cannot delete old 2093_flight/img/weather-icon-02.png + Permission denied +error: cannot delete old 2093_flight/img/weather-icon-03.png + Permission denied +error: cannot delete old 2093_flight/index.html + Permission denied +error: cannot delete old 2093_flight/js/datepicker.js + Permission denied +error: cannot delete old 2093_flight/js/main.js + Permission denied +error: cannot delete old 2093_flight/js/plugins.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/bootstrap.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/bootstrap.min.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/jquery-1.11.2.min.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/npm.js + Permission denied +error: cannot delete old 2093_flight/ABOUT THIS TEMPLATE.txt + Permission denied +cp: cannot stat '/tmp/2112_brunch/*': No such file or directory +################################################################ + + +Restarting Service +Failed to restart apache2.service: Interactive authentication required. +See system logs and 'systemctl status apache2.service' for details. +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +wget: missing URL +Usage: wget [OPTION]... [URL]... + +Try `wget --help' for more options. +Archive: website.zip + inflating: 2093_flight/contact.html + inflating: 2093_flight/css/bootstrap-theme.css + inflating: 2093_flight/css/bootstrap-theme.css.map + inflating: 2093_flight/css/bootstrap-theme.min.css + inflating: 2093_flight/css/bootstrap.css + inflating: 2093_flight/css/bootstrap.css.map + inflating: 2093_flight/css/bootstrap.min.css + inflating: 2093_flight/css/datepicker.css + inflating: 2093_flight/css/fontAwesome.css + inflating: 2093_flight/css/fonts/flexslider-icon.eot + inflating: 2093_flight/css/fonts/flexslider-icon.svg + inflating: 2093_flight/css/fonts/flexslider-icon.ttf + inflating: 2093_flight/css/fonts/flexslider-icon.woff + inflating: 2093_flight/css/hero-slider.css + inflating: 2093_flight/css/owl-carousel.css + inflating: 2093_flight/css/tooplate-style.css + inflating: 2093_flight/fonts/fontawesome-webfont.eot + inflating: 2093_flight/fonts/fontawesome-webfont.svg + inflating: 2093_flight/fonts/fontawesome-webfont.ttf + inflating: 2093_flight/fonts/fontawesome-webfont.woff + inflating: 2093_flight/fonts/fontawesome-webfont.woff2 + inflating: 2093_flight/fonts/FontAwesome.otf + inflating: 2093_flight/fonts/glyphicons-halflings-regular.eot + inflating: 2093_flight/fonts/glyphicons-halflings-regular.svg + inflating: 2093_flight/fonts/glyphicons-halflings-regular.ttf + inflating: 2093_flight/fonts/glyphicons-halflings-regular.woff + inflating: 2093_flight/img/banner-bg.jpg + inflating: 2093_flight/img/close.png + inflating: 2093_flight/img/contact-01.jpg + inflating: 2093_flight/img/contact-02.jpg + inflating: 2093_flight/img/contact-bg.jpg + inflating: 2093_flight/img/evening-event.jpg + inflating: 2093_flight/img/fitness-service.jpg + inflating: 2093_flight/img/heading-bg.jpg + inflating: 2093_flight/img/loading.gif + inflating: 2093_flight/img/logo.png + inflating: 2093_flight/img/massage-service.jpg + inflating: 2093_flight/img/next.png + inflating: 2093_flight/img/place-01.jpg + inflating: 2093_flight/img/place-02.jpg + inflating: 2093_flight/img/place-03.jpg + inflating: 2093_flight/img/place-04.jpg + inflating: 2093_flight/img/prev.png + inflating: 2093_flight/img/service-icon-01.1.png + inflating: 2093_flight/img/service-icon-01.png + inflating: 2093_flight/img/service-icon-02.2.png + inflating: 2093_flight/img/service-icon-02.png + inflating: 2093_flight/img/service-icon-03.3.png + inflating: 2093_flight/img/service-icon-03.png + inflating: 2093_flight/img/suite-01.jpg + inflating: 2093_flight/img/suite-02.jpg + inflating: 2093_flight/img/suite-03.jpg + inflating: 2093_flight/img/swiming-pool.jpg + inflating: 2093_flight/img/weather-bg.jpg + inflating: 2093_flight/img/weather-icon-01.png + inflating: 2093_flight/img/weather-icon-02.png + inflating: 2093_flight/img/weather-icon-03.png + inflating: 2093_flight/index.html + inflating: 2093_flight/js/datepicker.js + inflating: 2093_flight/js/main.js + inflating: 2093_flight/js/plugins.js + inflating: 2093_flight/js/vendor/bootstrap.js + inflating: 2093_flight/js/vendor/bootstrap.min.js + inflating: 2093_flight/js/vendor/jquery-1.11.2.min.js + inflating: 2093_flight/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2093_flight/js/vendor/npm.js + inflating: 2093_flight/ABOUT THIS TEMPLATE.txt +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +wget: missing URL +Usage: wget [OPTION]... [URL]... + +Try `wget --help' for more options. +Archive: website.zip + inflating: 2093_flight/contact.html + inflating: 2093_flight/css/bootstrap-theme.css + inflating: 2093_flight/css/bootstrap-theme.css.map + inflating: 2093_flight/css/bootstrap-theme.min.css + inflating: 2093_flight/css/bootstrap.css + inflating: 2093_flight/css/bootstrap.css.map + inflating: 2093_flight/css/bootstrap.min.css + inflating: 2093_flight/css/datepicker.css + inflating: 2093_flight/css/fontAwesome.css + inflating: 2093_flight/css/fonts/flexslider-icon.eot + inflating: 2093_flight/css/fonts/flexslider-icon.svg + inflating: 2093_flight/css/fonts/flexslider-icon.ttf + inflating: 2093_flight/css/fonts/flexslider-icon.woff + inflating: 2093_flight/css/hero-slider.css + inflating: 2093_flight/css/owl-carousel.css + inflating: 2093_flight/css/tooplate-style.css + inflating: 2093_flight/fonts/fontawesome-webfont.eot + inflating: 2093_flight/fonts/fontawesome-webfont.svg + inflating: 2093_flight/fonts/fontawesome-webfont.ttf + inflating: 2093_flight/fonts/fontawesome-webfont.woff + inflating: 2093_flight/fonts/fontawesome-webfont.woff2 + inflating: 2093_flight/fonts/FontAwesome.otf + inflating: 2093_flight/fonts/glyphicons-halflings-regular.eot + inflating: 2093_flight/fonts/glyphicons-halflings-regular.svg + inflating: 2093_flight/fonts/glyphicons-halflings-regular.ttf + inflating: 2093_flight/fonts/glyphicons-halflings-regular.woff + inflating: 2093_flight/img/banner-bg.jpg + inflating: 2093_flight/img/close.png + inflating: 2093_flight/img/contact-01.jpg + inflating: 2093_flight/img/contact-02.jpg + inflating: 2093_flight/img/contact-bg.jpg + inflating: 2093_flight/img/evening-event.jpg + inflating: 2093_flight/img/fitness-service.jpg + inflating: 2093_flight/img/heading-bg.jpg + inflating: 2093_flight/img/loading.gif + inflating: 2093_flight/img/logo.png + inflating: 2093_flight/img/massage-service.jpg + inflating: 2093_flight/img/next.png + inflating: 2093_flight/img/place-01.jpg + inflating: 2093_flight/img/place-02.jpg + inflating: 2093_flight/img/place-03.jpg + inflating: 2093_flight/img/place-04.jpg + inflating: 2093_flight/img/prev.png + inflating: 2093_flight/img/service-icon-01.1.png + inflating: 2093_flight/img/service-icon-01.png + inflating: 2093_flight/img/service-icon-02.2.png + inflating: 2093_flight/img/service-icon-02.png + inflating: 2093_flight/img/service-icon-03.3.png + inflating: 2093_flight/img/service-icon-03.png + inflating: 2093_flight/img/suite-01.jpg + inflating: 2093_flight/img/suite-02.jpg + inflating: 2093_flight/img/suite-03.jpg + inflating: 2093_flight/img/swiming-pool.jpg + inflating: 2093_flight/img/weather-bg.jpg + inflating: 2093_flight/img/weather-icon-01.png + inflating: 2093_flight/img/weather-icon-02.png + inflating: 2093_flight/img/weather-icon-03.png + inflating: 2093_flight/index.html + inflating: 2093_flight/js/datepicker.js + inflating: 2093_flight/js/main.js + inflating: 2093_flight/js/plugins.js + inflating: 2093_flight/js/vendor/bootstrap.js + inflating: 2093_flight/js/vendor/bootstrap.min.js + inflating: 2093_flight/js/vendor/jquery-1.11.2.min.js + inflating: 2093_flight/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2093_flight/js/vendor/npm.js + inflating: 2093_flight/ABOUT THIS TEMPLATE.txt +################################################################ + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:18:31-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:18:32-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 73.2K 1m44s + 50K .......... .......... .......... .......... .......... 1% 206K 70s + 100K .......... .......... .......... .......... .......... 1% 211K 58s + 150K .......... .......... .......... .......... .......... 2% 210K 52s + 200K .......... .......... .......... .......... .......... 3% 236K 48s + 250K .......... .......... .......... .......... .......... 3% 222K 45s + 300K .......... .......... .......... .......... .......... 4% 2.15M 39s + 350K .......... .......... .......... .......... .......... 5% 231K 38s + 400K .......... .......... .......... .......... .......... 5% 2.95M 34s + 450K .......... .......... .......... .......... .......... 6% 235K 33s + 500K .......... .......... .......... .......... .......... 7% 47.9M 30s + 550K .......... .......... .......... .......... .......... 7% 7.65M 27s + 600K .......... .......... .......... .......... .......... 8% 225K 27s + 650K .......... .......... .......... .......... .......... 9% 3.16M 25s + 700K .......... .......... .......... .......... .......... 9% 29.4M 24s + 750K .......... .......... .......... .......... .......... 10% 60.9M 22s + 800K .......... .......... .......... .......... .......... 11% 210K 22s + 850K .......... .......... .......... .......... .......... 11% 14.3M 21s + 900K .......... .......... .......... .......... .......... 12% 29.5M 20s + 950K .......... .......... .......... .......... .......... 13% 261K 20s + 1000K .......... .......... .......... .......... .......... 13% 3.94M 19s + 1050K .......... .......... .......... .......... .......... 14% 5.28M 18s + 1100K .......... .......... .......... .......... .......... 14% 3.05M 17s + 1150K .......... .......... .......... .......... .......... 15% 7.95M 16s + 1200K .......... .......... .......... .......... .......... 16% 243K 17s + 1250K .......... .......... .......... .......... .......... 16% 75.2M 16s + 1300K .......... .......... .......... .......... .......... 17% 4.70M 15s + 1350K .......... .......... .......... .......... .......... 18% 3.43M 15s + 1400K .......... .......... .......... .......... .......... 18% 4.00M 14s + 1450K .......... .......... .......... .......... .......... 19% 4.10M 14s + 1500K .......... .......... .......... .......... .......... 20% 240K 14s + 1550K .......... .......... .......... .......... .......... 20% 20.1M 13s + 1600K .......... .......... .......... .......... .......... 21% 34.1M 13s + 1650K .......... .......... .......... .......... .......... 22% 36.4M 12s + 1700K .......... .......... .......... .......... .......... 22% 2.32M 12s + 1750K .......... .......... .......... .......... .......... 23% 2.12M 12s + 1800K .......... .......... .......... .......... .......... 24% 43.2M 11s + 1850K .......... .......... .......... .......... .......... 24% 341K 11s + 1900K .......... .......... .......... .......... .......... 25% 912K 11s + 1950K .......... .......... .......... .......... .......... 26% 53.2M 11s + 2000K .......... .......... .......... .......... .......... 26% 7.74M 10s + 2050K .......... .......... .......... .......... .......... 27% 198K 11s + 2100K .......... .......... .......... .......... .......... 28% 14.6M 10s + 2150K .......... .......... .......... .......... .......... 28% 13.6M 10s + 2200K .......... .......... .......... .......... .......... 29% 24.9M 10s + 2250K .......... .......... .......... .......... .......... 29% 32.2M 9s + 2300K .......... .......... .......... .......... .......... 30% 92.3M 9s + 2350K .......... .......... .......... .......... .......... 31% 19.3M 9s + 2400K .......... .......... .......... .......... .......... 31% 23.7M 9s + 2450K .......... .......... .......... .......... .......... 32% 36.2M 8s + 2500K .......... .......... .......... .......... .......... 33% 18.6M 8s + 2550K .......... .......... .......... .......... .......... 33% 15.0M 8s + 2600K .......... .......... .......... .......... .......... 34% 14.4M 8s + 2650K .......... .......... .......... .......... .......... 35% 47.4M 7s + 2700K .......... .......... .......... .......... .......... 35% 440K 7s + 2750K .......... .......... .......... .......... .......... 36% 1.13M 7s + 2800K .......... .......... .......... .......... .......... 37% 1.17M 7s + 2850K .......... .......... .......... .......... .......... 37% 5.00M 7s + 2900K .......... .......... .......... .......... .......... 38% 7.20M 7s + 2950K .......... .......... .......... .......... .......... 39% 3.33M 7s + 3000K .......... .......... .......... .......... .......... 39% 7.86M 6s + 3050K .......... .......... .......... .......... .......... 40% 394K 6s + 3100K .......... .......... .......... .......... .......... 41% 1.95M 6s + 3150K .......... .......... .......... .......... .......... 41% 4.28M 6s + 3200K .......... .......... .......... .......... .......... 42% 792K 6s + 3250K .......... .......... .......... .......... .......... 42% 5.39M 6s + 3300K .......... .......... .......... .......... .......... 43% 5.36M 6s + 3350K .......... .......... .......... .......... .......... 44% 193K 6s + 3400K .......... .......... .......... .......... .......... 44% 773K 6s + 3450K .......... .......... .......... .......... .......... 45% 12.3M 6s + 3500K .......... .......... .......... .......... .......... 46% 8.15M 6s + 3550K .......... .......... .......... .......... .......... 46% 8.85M 5s + 3600K .......... .......... .......... .......... .......... 47% 8.25M 5s + 3650K .......... .......... .......... .......... .......... 48% 57.0M 5s + 3700K .......... .......... .......... .......... .......... 48% 56.5M 5s + 3750K .......... .......... .......... .......... .......... 49% 57.8M 5s + 3800K .......... .......... .......... .......... .......... 50% 1.95M 5s + 3850K .......... .......... .......... .......... .......... 50% 1.17M 5s + 3900K .......... .......... .......... .......... .......... 51% 970K 5s + 3950K .......... .......... .......... .......... .......... 52% 2.26M 5s + 4000K .......... .......... .......... .......... .......... 52% 891K 5s + 4050K .......... .......... .......... .......... .......... 53% 798K 4s + 4100K .......... .......... .......... .......... .......... 54% 1.60M 4s + 4150K .......... .......... .......... .......... .......... 54% 726K 4s + 4200K .......... .......... .......... .......... .......... 55% 6.32M 4s + 4250K .......... .......... .......... .......... .......... 56% 3.52M 4s + 4300K .......... .......... .......... .......... .......... 56% 690K 4s + 4350K .......... .......... .......... .......... .......... 57% 1.16M 4s + 4400K .......... .......... .......... .......... .......... 57% 525K 4s + 4450K .......... .......... .......... .......... .......... 58% 11.4M 4s + 4500K .......... .......... .......... .......... .......... 59% 3.23M 4s + 4550K .......... .......... .......... .......... .......... 59% 969K 4s + 4600K .......... .......... .......... .......... .......... 60% 892K 4s + 4650K .......... .......... .......... .......... .......... 61% 1.77M 4s + 4700K .......... .......... .......... .......... .......... 61% 670K 4s + 4750K .......... .......... .......... .......... .......... 62% 3.80M 3s + 4800K .......... .......... .......... .......... .......... 63% 3.53M 3s + 4850K .......... .......... .......... .......... .......... 63% 604K 3s + 4900K .......... .......... .......... .......... .......... 64% 1.60M 3s + 4950K .......... .......... .......... .......... .......... 65% 678K 3s + 5000K .......... .......... .......... .......... .......... 65% 1.41M 3s + 5050K .......... .......... .......... .......... .......... 66% 5.76M 3s + 5100K .......... .......... .......... .......... .......... 67% 26.9M 3s + 5150K .......... .......... .......... .......... .......... 67% 508K 3s + 5200K .......... .......... .......... .......... .......... 68% 1.96M 3s + 5250K .......... .......... .......... .......... .......... 69% 603K 3s + 5300K .......... .......... .......... .......... .......... 69% 2.99M 3s + 5350K .......... .......... .......... .......... .......... 70% 6.91M 3s + 5400K .......... .......... .......... .......... .......... 70% 1.40M 3s + 5450K .......... .......... .......... .......... .......... 71% 823K 2s + 5500K .......... .......... .......... .......... .......... 72% 3.16M 2s + 5550K .......... .......... .......... .......... .......... 72% 583K 2s + 5600K .......... .......... .......... .......... .......... 73% 1.75M 2s + 5650K .......... .......... .......... .......... .......... 74% 3.70M 2s + 5700K .......... .......... .......... .......... .......... 74% 1.83M 2s + 5750K .......... .......... .......... .......... .......... 75% 775K 2s + 5800K .......... .......... .......... .......... .......... 76% 2.75M 2s + 5850K .......... .......... .......... .......... .......... 76% 640K 2s + 5900K .......... .......... .......... .......... .......... 77% 1.67M 2s + 5950K .......... .......... .......... .......... .......... 78% 3.91M 2s + 6000K .......... .......... .......... .......... .......... 78% 1.65M 2s + 6050K .......... .......... .......... .......... .......... 79% 745K 2s + 6100K .......... .......... .......... .......... .......... 80% 3.21M 2s + 6150K .......... .......... .......... .......... .......... 80% 624K 2s + 6200K .......... .......... .......... .......... .......... 81% 2.03M 2s + 6250K .......... .......... .......... .......... .......... 82% 1.96M 2s + 6300K .......... .......... .......... .......... .......... 82% 4.34M 1s + 6350K .......... .......... .......... .......... .......... 83% 679K 1s + 6400K .......... .......... .......... .......... .......... 84% 2.01M 1s + 6450K .......... .......... .......... .......... .......... 84% 706K 1s + 6500K .......... .......... .......... .......... .......... 85% 2.53M 1s + 6550K .......... .......... .......... .......... .......... 85% 1.64M 1s + 6600K .......... .......... .......... .......... .......... 86% 2.33M 1s + 6650K .......... .......... .......... .......... .......... 87% 872K 1s + 6700K .......... .......... .......... .......... .......... 87% 2.95M 1s + 6750K .......... .......... .......... .......... .......... 88% 1010K 1s + 6800K .......... .......... .......... .......... .......... 89% 1.07M 1s + 6850K .......... .......... .......... .......... .......... 89% 1.34M 1s + 6900K .......... .......... .......... .......... .......... 90% 3.40M 1s + 6950K .......... .......... .......... .......... .......... 91% 1.41M 1s + 7000K .......... .......... .......... .......... .......... 91% 894K 1s + 7050K .......... .......... .......... .......... .......... 92% 5.16M 1s + 7100K .......... .......... .......... .......... .......... 93% 655K 1s + 7150K .......... .......... .......... .......... .......... 93% 2.12M 1s + 7200K .......... .......... .......... .......... .......... 94% 1.19M 0s + 7250K .......... .......... .......... .......... .......... 95% 5.78M 0s + 7300K .......... .......... .......... .......... .......... 95% 809K 0s + 7350K .......... .......... .......... .......... .......... 96% 1.73M 0s + 7400K .......... .......... .......... .......... .......... 97% 683K 0s + 7450K .......... .......... .......... .......... .......... 97% 2.63M 0s + 7500K .......... .......... .......... .......... .......... 98% 1.10M 0s + 7550K .......... .......... .......... .......... .......... 98% 3.07M 0s + 7600K .......... .......... .......... .......... .......... 99% 1.19M 0s + 7650K .......... .......... ....... 100% 4.12M=7.9s + +2018-12-25 10:18:41 (974 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + creating: 2112_brunch/ + inflating: 2112_brunch/contact-page.html + creating: 2112_brunch/css/ + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + creating: 2112_brunch/css/fonts/ + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + creating: 2112_brunch/fonts/ + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + creating: 2112_brunch/img/ + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + creating: 2112_brunch/js/ + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + creating: 2112_brunch/js/vendor/ + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + creating: 2112_brunch/videos/ + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:20:30-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:20:31-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 70.5K 1m48s + 50K .......... .......... .......... .......... .......... 1% 213K 72s + 100K .......... .......... .......... .......... .......... 1% 201K 60s + 150K .......... .......... .......... .......... .......... 2% 207K 54s + 200K .......... .......... .......... .......... .......... 3% 217K 49s + 250K .......... .......... .......... .......... .......... 3% 200K 47s + 300K .......... .......... .......... .......... .......... 4% 1.42M 41s + 350K .......... .......... .......... .......... .......... 5% 241K 39s + 400K .......... .......... .......... .......... .......... 5% 897K 36s + 450K .......... .......... .......... .......... .......... 6% 275K 34s + 500K .......... .......... .......... .......... .......... 7% 8.35M 31s + 550K .......... .......... .......... .......... .......... 7% 1.07M 29s + 600K .......... .......... .......... .......... .......... 8% 257K 29s + 650K .......... .......... .......... .......... .......... 9% 5.54M 26s + 700K .......... .......... .......... .......... .......... 9% 11.3M 25s + 750K .......... .......... .......... .......... .......... 10% 246K 25s + 800K .......... .......... .......... .......... .......... 11% 2.03M 23s + 850K .......... .......... .......... .......... .......... 11% 5.73M 22s + 900K .......... .......... .......... .......... .......... 12% 6.69M 21s + 950K .......... .......... .......... .......... .......... 13% 254K 21s + 1000K .......... .......... .......... .......... .......... 13% 2.55M 20s + 1050K .......... .......... .......... .......... .......... 14% 7.14M 19s + 1100K .......... .......... .......... .......... .......... 14% 3.10M 18s + 1150K .......... .......... .......... .......... .......... 15% 7.59M 17s + 1200K .......... .......... .......... .......... .......... 16% 248K 17s + 1250K .......... .......... .......... .......... .......... 16% 4.82M 16s + 1300K .......... .......... .......... .......... .......... 17% 10.1M 16s + 1350K .......... .......... .......... .......... .......... 18% 3.07M 15s + 1400K .......... .......... .......... .......... .......... 18% 5.95M 15s + 1450K .......... .......... .......... .......... .......... 19% 5.45M 14s + 1500K .......... .......... .......... .......... .......... 20% 286K 14s + 1550K .......... .......... .......... .......... .......... 20% 3.17M 14s + 1600K .......... .......... .......... .......... .......... 21% 4.60M 13s + 1650K .......... .......... .......... .......... .......... 22% 6.24M 13s + 1700K .......... .......... .......... .......... .......... 22% 3.84M 12s + 1750K .......... .......... .......... .......... .......... 23% 2.40M 12s + 1800K .......... .......... .......... .......... .......... 24% 4.72M 11s + 1850K .......... .......... .......... .......... .......... 24% 410K 11s + 1900K .......... .......... .......... .......... .......... 25% 1.31M 11s + 1950K .......... .......... .......... .......... .......... 26% 1.69M 11s + 2000K .......... .......... .......... .......... .......... 26% 4.93M 11s + 2050K .......... .......... .......... .......... .......... 27% 127M 10s + 2100K .......... .......... .......... .......... .......... 28% 5.64M 10s + 2150K .......... .......... .......... .......... .......... 28% 9.05M 10s + 2200K .......... .......... .......... .......... .......... 29% 1.62M 9s + 2250K .......... .......... .......... .......... .......... 29% 4.73M 9s + 2300K .......... .......... .......... .......... .......... 30% 7.67M 9s + 2350K .......... .......... .......... .......... .......... 31% 360K 9s + 2400K .......... .......... .......... .......... .......... 31% 624K 9s + 2450K .......... .......... .......... .......... .......... 32% 54.2M 9s + 2500K .......... .......... .......... .......... .......... 33% 18.7M 8s + 2550K .......... .......... .......... .......... .......... 33% 173K 9s + 2600K .......... .......... .......... .......... .......... 34% 24.1M 8s + 2650K .......... .......... .......... .......... .......... 35% 5.09M 8s + 2700K .......... .......... .......... .......... .......... 35% 6.62M 8s + 2750K .......... .......... .......... .......... .......... 36% 9.95M 8s + 2800K .......... .......... .......... .......... .......... 37% 21.1M 8s + 2850K .......... .......... .......... .......... .......... 37% 68.4M 7s + 2900K .......... .......... .......... .......... .......... 38% 33.5M 7s + 2950K .......... .......... .......... .......... .......... 39% 132M 7s + 3000K .......... .......... .......... .......... .......... 39% 13.9M 7s + 3050K .......... .......... .......... .......... .......... 40% 11.9M 7s + 3100K .......... .......... .......... .......... .......... 41% 18.8M 6s + 3150K .......... .......... .......... .......... .......... 41% 88.3M 6s + 3200K .......... .......... .......... .......... .......... 42% 19.6M 6s + 3250K .......... .......... .......... .......... .......... 42% 23.0M 6s + 3300K .......... .......... .......... .......... .......... 43% 27.7M 6s + 3350K .......... .......... .......... .......... .......... 44% 102M 6s + 3400K .......... .......... .......... .......... .......... 44% 21.3M 5s + 3450K .......... .......... .......... .......... .......... 45% 41.3M 5s + 3500K .......... .......... .......... .......... .......... 46% 212K 5s + 3550K .......... .......... .......... .......... .......... 46% 374K 5s + 3600K .......... .......... .......... .......... .......... 47% 2.31M 5s + 3650K .......... .......... .......... .......... .......... 48% 4.08M 5s + 3700K .......... .......... .......... .......... .......... 48% 3.01M 5s + 3750K .......... .......... .......... .......... .......... 49% 5.24M 5s + 3800K .......... .......... .......... .......... .......... 50% 110M 5s + 3850K .......... .......... .......... .......... .......... 50% 113K 5s + 3900K .......... .......... .......... .......... .......... 51% 19.6M 5s + 3950K .......... .......... .......... .......... .......... 52% 1.47M 5s + 4000K .......... .......... .......... .......... .......... 52% 1.60M 5s + 4050K .......... .......... .......... .......... .......... 53% 4.34M 5s + 4100K .......... .......... .......... .......... .......... 54% 54.9M 5s + 4150K .......... .......... .......... .......... .......... 54% 52.0M 4s + 4200K .......... .......... .......... .......... .......... 55% 66.6M 4s + 4250K .......... .......... .......... .......... .......... 56% 103M 4s + 4300K .......... .......... .......... .......... .......... 56% 71.3M 4s + 4350K .......... .......... .......... .......... .......... 57% 99.7M 4s + 4400K .......... .......... .......... .......... .......... 57% 62.1M 4s + 4450K .......... .......... .......... .......... .......... 58% 50.5M 4s + 4500K .......... .......... .......... .......... .......... 59% 55.9M 4s + 4550K .......... .......... .......... .......... .......... 59% 73.3M 4s + 4600K .......... .......... .......... .......... .......... 60% 92.1M 4s + 4650K .......... .......... .......... .......... .......... 61% 72.5M 3s + 4700K .......... .......... .......... .......... .......... 61% 54.9M 3s + 4750K .......... .......... .......... .......... .......... 62% 358K 3s + 4800K .......... .......... .......... .......... .......... 63% 1.38M 3s + 4850K .......... .......... .......... .......... .......... 63% 4.36M 3s + 4900K .......... .......... .......... .......... .......... 64% 3.68M 3s + 4950K .......... .......... .......... .......... .......... 65% 9.36M 3s + 5000K .......... .......... .......... .......... .......... 65% 2.34M 3s + 5050K .......... .......... .......... .......... .......... 66% 781K 3s + 5100K .......... .......... .......... .......... .......... 67% 462K 3s + 5150K .......... .......... .......... .......... .......... 67% 1.96M 3s + 5200K .......... .......... .......... .......... .......... 68% 4.01M 3s + 5250K .......... .......... .......... .......... .......... 69% 1.54M 3s + 5300K .......... .......... .......... .......... .......... 69% 127M 3s + 5350K .......... .......... .......... .......... .......... 70% 5.85M 2s + 5400K .......... .......... .......... .......... .......... 70% 319K 2s + 5450K .......... .......... .......... .......... .......... 71% 27.0M 2s + 5500K .......... .......... .......... .......... .......... 72% 1.61M 2s + 5550K .......... .......... .......... .......... .......... 72% 765K 2s + 5600K .......... .......... .......... .......... .......... 73% 110M 2s + 5650K .......... .......... .......... .......... .......... 74% 140M 2s + 5700K .......... .......... .......... .......... .......... 74% 62.3M 2s + 5750K .......... .......... .......... .......... .......... 75% 334K 2s + 5800K .......... .......... .......... .......... .......... 76% 2.28M 2s + 5850K .......... .......... .......... .......... .......... 76% 826K 2s + 5900K .......... .......... .......... .......... .......... 77% 4.00M 2s + 5950K .......... .......... .......... .......... .......... 78% 104M 2s + 6000K .......... .......... .......... .......... .......... 78% 51.2M 2s + 6050K .......... .......... .......... .......... .......... 79% 7.03M 2s + 6100K .......... .......... .......... .......... .......... 80% 373K 2s + 6150K .......... .......... .......... .......... .......... 80% 9.47M 2s + 6200K .......... .......... .......... .......... .......... 81% 940K 2s + 6250K .......... .......... .......... .......... .......... 82% 5.34M 1s + 6300K .......... .......... .......... .......... .......... 82% 3.56M 1s + 6350K .......... .......... .......... .......... .......... 83% 4.29M 1s + 6400K .......... .......... .......... .......... .......... 84% 6.75M 1s + 6450K .......... .......... .......... .......... .......... 84% 351K 1s + 6500K .......... .......... .......... .......... .......... 85% 120M 1s + 6550K .......... .......... .......... .......... .......... 85% 638K 1s + 6600K .......... .......... .......... .......... .......... 86% 3.23M 1s + 6650K .......... .......... .......... .......... .......... 87% 80.8M 1s + 6700K .......... .......... .......... .......... .......... 87% 6.18M 1s + 6750K .......... .......... .......... .......... .......... 88% 35.0M 1s + 6800K .......... .......... .......... .......... .......... 89% 324K 1s + 6850K .......... .......... .......... .......... .......... 89% 9.17M 1s + 6900K .......... .......... .......... .......... .......... 90% 66.8M 1s + 6950K .......... .......... .......... .......... .......... 91% 816K 1s + 7000K .......... .......... .......... .......... .......... 91% 1.57M 1s + 7050K .......... .......... .......... .......... .......... 92% 7.37M 1s + 7100K .......... .......... .......... .......... .......... 93% 4.10M 1s + 7150K .......... .......... .......... .......... .......... 93% 12.9M 0s + 7200K .......... .......... .......... .......... .......... 94% 472K 0s + 7250K .......... .......... .......... .......... .......... 95% 31.4M 0s + 7300K .......... .......... .......... .......... .......... 95% 717K 0s + 7350K .......... .......... .......... .......... .......... 96% 18.1M 0s + 7400K .......... .......... .......... .......... .......... 97% 855K 0s + 7450K .......... .......... .......... .......... .......... 97% 23.6M 0s + 7500K .......... .......... .......... .......... .......... 98% 23.3M 0s + 7550K .......... .......... .......... .......... .......... 98% 961K 0s + 7600K .......... .......... .......... .......... .......... 99% 1.13M 0s + 7650K .......... .......... ....... 100% 115M=7.5s + +2018-12-25 10:20:39 (1024 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:25:39-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:25:40-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 71.5K 1m47s + 50K .......... .......... .......... .......... .......... 1% 217K 70s + 100K .......... .......... .......... .......... .......... 1% 204K 59s + 150K .......... .......... .......... .......... .......... 2% 223K 52s + 200K .......... .......... .......... .......... .......... 3% 3.86M 42s + 250K .......... .......... .......... .......... .......... 3% 223K 40s + 300K .......... .......... .......... .......... .......... 4% 215K 39s + 350K .......... .......... .......... .......... .......... 5% 11.0M 34s + 400K .......... .......... .......... .......... .......... 5% 224K 34s + 450K .......... .......... .......... .......... .......... 6% 3.01M 30s + 500K .......... .......... .......... .......... .......... 7% 70.8M 27s + 550K .......... .......... .......... .......... .......... 7% 238K 27s + 600K .......... .......... .......... .......... .......... 8% 1.92M 25s + 650K .......... .......... .......... .......... .......... 9% 35.6M 23s + 700K .......... .......... .......... .......... .......... 9% 245K 24s + 750K .......... .......... .......... .......... .......... 10% 4.05M 22s + 800K .......... .......... .......... .......... .......... 11% 2.06M 21s + 850K .......... .......... .......... .......... .......... 11% 5.50M 20s + 900K .......... .......... .......... .......... .......... 12% 257K 20s + 950K .......... .......... .......... .......... .......... 13% 7.91M 19s + 1000K .......... .......... .......... .......... .......... 13% 2.43M 18s + 1050K .......... .......... .......... .......... .......... 14% 3.62M 17s + 1100K .......... .......... .......... .......... .......... 14% 18.0M 16s + 1150K .......... .......... .......... .......... .......... 15% 254K 16s + 1200K .......... .......... .......... .......... .......... 16% 14.2M 16s + 1250K .......... .......... .......... .......... .......... 16% 5.86M 15s + 1300K .......... .......... .......... .......... .......... 17% 4.22M 14s + 1350K .......... .......... .......... .......... .......... 18% 2.98M 14s + 1400K .......... .......... .......... .......... .......... 18% 12.9M 13s + 1450K .......... .......... .......... .......... .......... 19% 254K 13s + 1500K .......... .......... .......... .......... .......... 20% 14.2M 13s + 1550K .......... .......... .......... .......... .......... 20% 33.8M 12s + 1600K .......... .......... .......... .......... .......... 21% 5.94M 12s + 1650K .......... .......... .......... .......... .......... 22% 5.50M 12s + 1700K .......... .......... .......... .......... .......... 22% 4.34M 11s + 1750K .......... .......... .......... .......... .......... 23% 4.67M 11s + 1800K .......... .......... .......... .......... .......... 24% 325K 11s + 1850K .......... .......... .......... .......... .......... 24% 1.26M 11s + 1900K .......... .......... .......... .......... .......... 25% 38.7M 10s + 1950K .......... .......... .......... .......... .......... 26% 44.4M 10s + 2000K .......... .......... .......... .......... .......... 26% 5.65M 10s + 2050K .......... .......... .......... .......... .......... 27% 5.81M 9s + 2100K .......... .......... .......... .......... .......... 28% 6.00M 9s + 2150K .......... .......... .......... .......... .......... 28% 8.38M 9s + 2200K .......... .......... .......... .......... .......... 29% 3.73M 9s + 2250K .......... .......... .......... .......... .......... 29% 320K 9s + 2300K .......... .......... .......... .......... .......... 30% 1.23M 9s + 2350K .......... .......... .......... .......... .......... 31% 34.2M 8s + 2400K .......... .......... .......... .......... .......... 31% 13.9M 8s + 2450K .......... .......... .......... .......... .......... 32% 105M 8s + 2500K .......... .......... .......... .......... .......... 33% 9.23M 8s + 2550K .......... .......... .......... .......... .......... 33% 2.33M 7s + 2600K .......... .......... .......... .......... .......... 34% 72.5M 7s + 2650K .......... .......... .......... .......... .......... 35% 8.12M 7s + 2700K .......... .......... .......... .......... .......... 35% 11.7M 7s + 2750K .......... .......... .......... .......... .......... 36% 5.52M 7s + 2800K .......... .......... .......... .......... .......... 37% 298K 7s + 2850K .......... .......... .......... .......... .......... 37% 28.0M 7s + 2900K .......... .......... .......... .......... .......... 38% 8.84M 6s + 2950K .......... .......... .......... .......... .......... 39% 7.49M 6s + 3000K .......... .......... .......... .......... .......... 39% 5.08M 6s + 3050K .......... .......... .......... .......... .......... 40% 8.32M 6s + 3100K .......... .......... .......... .......... .......... 41% 4.58M 6s + 3150K .......... .......... .......... .......... .......... 41% 8.34M 6s + 3200K .......... .......... .......... .......... .......... 42% 5.61M 5s + 3250K .......... .......... .......... .......... .......... 42% 6.51M 5s + 3300K .......... .......... .......... .......... .......... 43% 5.91M 5s + 3350K .......... .......... .......... .......... .......... 44% 4.07M 5s + 3400K .......... .......... .......... .......... .......... 44% 436K 5s + 3450K .......... .......... .......... .......... .......... 45% 2.29M 5s + 3500K .......... .......... .......... .......... .......... 46% 474K 5s + 3550K .......... .......... .......... .......... .......... 46% 14.6M 5s + 3600K .......... .......... .......... .......... .......... 47% 15.7M 5s + 3650K .......... .......... .......... .......... .......... 48% 184K 5s + 3700K .......... .......... .......... .......... .......... 48% 39.4M 5s + 3750K .......... .......... .......... .......... .......... 49% 1.90M 5s + 3800K .......... .......... .......... .......... .......... 50% 8.52M 5s + 3850K .......... .......... .......... .......... .......... 50% 71.9M 4s + 3900K .......... .......... .......... .......... .......... 51% 2.70M 4s + 3950K .......... .......... .......... .......... .......... 52% 31.1M 4s + 4000K .......... .......... .......... .......... .......... 52% 63.5M 4s + 4050K .......... .......... .......... .......... .......... 53% 2.46M 4s + 4100K .......... .......... .......... .......... .......... 54% 458K 4s + 4150K .......... .......... .......... .......... .......... 54% 3.32M 4s + 4200K .......... .......... .......... .......... .......... 55% 22.7M 4s + 4250K .......... .......... .......... .......... .......... 56% 16.4M 4s + 4300K .......... .......... .......... .......... .......... 56% 10.2M 4s + 4350K .......... .......... .......... .......... .......... 57% 58.6M 4s + 4400K .......... .......... .......... .......... .......... 57% 14.0M 3s + 4450K .......... .......... .......... .......... .......... 58% 19.0M 3s + 4500K .......... .......... .......... .......... .......... 59% 16.3M 3s + 4550K .......... .......... .......... .......... .......... 59% 29.8M 3s + 4600K .......... .......... .......... .......... .......... 60% 24.7M 3s + 4650K .......... .......... .......... .......... .......... 61% 16.1M 3s + 4700K .......... .......... .......... .......... .......... 61% 8.79M 3s + 4750K .......... .......... .......... .......... .......... 62% 48.7M 3s + 4800K .......... .......... .......... .......... .......... 63% 6.70M 3s + 4850K .......... .......... .......... .......... .......... 63% 28.1M 3s + 4900K .......... .......... .......... .......... .......... 64% 85.1M 3s + 4950K .......... .......... .......... .......... .......... 65% 130M 3s + 5000K .......... .......... .......... .......... .......... 65% 19.8M 3s + 5050K .......... .......... .......... .......... .......... 66% 49.7M 2s + 5100K .......... .......... .......... .......... .......... 67% 18.7M 2s + 5150K .......... .......... .......... .......... .......... 67% 1.40M 2s + 5200K .......... .......... .......... .......... .......... 68% 5.35M 2s + 5250K .......... .......... .......... .......... .......... 69% 4.82M 2s + 5300K .......... .......... .......... .......... .......... 69% 147K 2s + 5350K .......... .......... .......... .......... .......... 70% 4.24M 2s + 5400K .......... .......... .......... .......... .......... 70% 4.79M 2s + 5450K .......... .......... .......... .......... .......... 71% 11.5M 2s + 5500K .......... .......... .......... .......... .......... 72% 51.0M 2s + 5550K .......... .......... .......... .......... .......... 72% 17.4M 2s + 5600K .......... .......... .......... .......... .......... 73% 17.9M 2s + 5650K .......... .......... .......... .......... .......... 74% 25.1M 2s + 5700K .......... .......... .......... .......... .......... 74% 19.0M 2s + 5750K .......... .......... .......... .......... .......... 75% 7.62M 2s + 5800K .......... .......... .......... .......... .......... 76% 61.9M 2s + 5850K .......... .......... .......... .......... .......... 76% 18.5M 2s + 5900K .......... .......... .......... .......... .......... 77% 45.8M 2s + 5950K .......... .......... .......... .......... .......... 78% 60.4M 1s + 6000K .......... .......... .......... .......... .......... 78% 41.7M 1s + 6050K .......... .......... .......... .......... .......... 79% 17.1M 1s + 6100K .......... .......... .......... .......... .......... 80% 32.5M 1s + 6150K .......... .......... .......... .......... .......... 80% 32.9M 1s + 6200K .......... .......... .......... .......... .......... 81% 587K 1s + 6250K .......... .......... .......... .......... .......... 82% 2.14M 1s + 6300K .......... .......... .......... .......... .......... 82% 11.1M 1s + 6350K .......... .......... .......... .......... .......... 83% 8.50M 1s + 6400K .......... .......... .......... .......... .......... 84% 4.44M 1s + 6450K .......... .......... .......... .......... .......... 84% 1.08M 1s + 6500K .......... .......... .......... .......... .......... 85% 1.67M 1s + 6550K .......... .......... .......... .......... .......... 85% 3.01M 1s + 6600K .......... .......... .......... .......... .......... 86% 3.61M 1s + 6650K .......... .......... .......... .......... .......... 87% 471K 1s + 6700K .......... .......... .......... .......... .......... 87% 4.96M 1s + 6750K .......... .......... .......... .......... .......... 88% 11.7M 1s + 6800K .......... .......... .......... .......... .......... 89% 5.54M 1s + 6850K .......... .......... .......... .......... .......... 89% 1.39M 1s + 6900K .......... .......... .......... .......... .......... 90% 1.89M 1s + 6950K .......... .......... .......... .......... .......... 91% 1.80M 1s + 7000K .......... .......... .......... .......... .......... 91% 4.54M 1s + 7050K .......... .......... .......... .......... .......... 92% 510K 0s + 7100K .......... .......... .......... .......... .......... 93% 2.49M 0s + 7150K .......... .......... .......... .......... .......... 93% 5.39M 0s + 7200K .......... .......... .......... .......... .......... 94% 4.65M 0s + 7250K .......... .......... .......... .......... .......... 95% 2.58M 0s + 7300K .......... .......... .......... .......... .......... 95% 2.50M 0s + 7350K .......... .......... .......... .......... .......... 96% 1.26M 0s + 7400K .......... .......... .......... .......... .......... 97% 4.94M 0s + 7450K .......... .......... .......... .......... .......... 97% 595K 0s + 7500K .......... .......... .......... .......... .......... 98% 1.81M 0s + 7550K .......... .......... .......... .......... .......... 98% 2.40M 0s + 7600K .......... .......... .......... .......... .......... 99% 3.87M 0s + 7650K .......... .......... ....... 100% 19.7M=6.1s + +2018-12-25 10:25:47 (1.23 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:30:04-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:30:05-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 4% 67.4K 18s + 50K .......... .......... .......... .......... .......... 8% 124K 13s + 100K .......... .......... .......... .......... .......... 12% 216K 10s + 150K .......... .......... .......... .......... .......... 16% 222K 8s + 200K .......... .......... .......... .......... .......... 20% 773K 7s + 250K .......... .......... .......... .......... .......... 24% 224K 6s + 300K .......... .......... .......... .......... .......... 28% 307K 5s + 350K .......... .......... .......... .......... .......... 32% 676K 4s + 400K .......... .......... .......... .......... .......... 36% 285K 4s + 450K .......... .......... .......... .......... .......... 40% 1.29M 3s + 500K .......... .......... .......... .......... .......... 44% 3.27M 3s + 550K .......... .......... .......... .......... .......... 48% 304K 3s + 600K .......... .......... .......... .......... .......... 52% 872K 2s + 650K .......... .......... .......... .......... .......... 56% 5.84M 2s + 700K .......... .......... .......... .......... .......... 60% 352K 2s + 750K .......... .......... .......... .......... .......... 64% 957K 2s + 800K .......... .......... .......... .......... .......... 68% 1.63M 1s + 850K .......... .......... .......... .......... .......... 72% 2.44M 1s + 900K .......... .......... .......... .......... .......... 76% 336K 1s + 950K .......... .......... .......... .......... .......... 80% 1.50M 1s + 1000K .......... .......... .......... .......... .......... 84% 2.13M 1s + 1050K .......... .......... .......... .......... .......... 88% 4.68M 0s + 1100K .......... .......... .......... .......... .......... 92% 3.73M 0s + 1150K .......... .......... .......... .......... .......... 96% 352K 0s + 1200K .......... .......... .......... .......... ... 100% 2.96M=3.2s + +2018-12-25 10:30:09 (387 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + creating: 2101_insertion/ + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + creating: 2101_insertion/css/ + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + creating: 2101_insertion/img/ + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + creating: 2101_insertion/js/ + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + creating: 2101_insertion/webfonts/ + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +wget is already the newest version (1.17.1-1ubuntu1.4). +Suggested packages: + www-browser apache2-doc apache2-suexec-pristine | apache2-suexec-custom +The following NEW packages will be installed: + apache2 +0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded. +Need to get 86.6 kB of archives. +After this operation, 502 kB of additional disk space will be used. +Get:1 http://183.82.14.14:80/data/05e518c02e3b4124/archive.ubuntu.com/ubuntu xenial-updates/main amd64 apache2 amd64 2.4.18-2ubuntu3.9 [86.6 kB] +debconf: unable to initialize frontend: Dialog +debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.) +debconf: falling back to frontend: Readline +debconf: unable to initialize frontend: Readline +debconf: (This frontend requires a controlling tty.) +debconf: falling back to frontend: Teletype +dpkg-preconfigure: unable to re-open stdin: +Fetched 86.6 kB in 0s (187 kB/s) +Selecting previously unselected package apache2. +(Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 82844 files and directories currently installed.) +Preparing to unpack .../apache2_2.4.18-2ubuntu3.9_amd64.deb ... +Unpacking apache2 (2.4.18-2ubuntu3.9) ... +Processing triggers for man-db (2.7.5-1) ... +Processing triggers for systemd (229-4ubuntu21.10) ... +Processing triggers for ureadahead (0.100.0-19) ... +Processing triggers for ufw (0.35-0ubuntu2) ... +Setting up apache2 (2.4.18-2ubuntu3.9) ... +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:37:13-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:37:14-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 4% 72.9K 16s + 50K .......... .......... .......... .......... .......... 8% 220K 10s + 100K .......... .......... .......... .......... .......... 12% 215K 8s + 150K .......... .......... .......... .......... .......... 16% 245K 7s + 200K .......... .......... .......... .......... .......... 20% 2.38M 5s + 250K .......... .......... .......... .......... .......... 24% 221K 5s + 300K .......... .......... .......... .......... .......... 28% 26.9M 4s + 350K .......... .......... .......... .......... .......... 32% 228K 4s + 400K .......... .......... .......... .......... .......... 36% 8.09M 3s + 450K .......... .......... .......... .......... .......... 40% 231K 3s + 500K .......... .......... .......... .......... .......... 44% 6.46M 3s + 550K .......... .......... .......... .......... .......... 48% 4.87M 2s + 600K .......... .......... .......... .......... .......... 52% 243K 2s + 650K .......... .......... .......... .......... .......... 56% 3.15M 2s + 700K .......... .......... .......... .......... .......... 60% 4.74M 2s + 750K .......... .......... .......... .......... .......... 64% 229K 1s + 800K .......... .......... .......... .......... .......... 68% 7.20M 1s + 850K .......... .......... .......... .......... .......... 72% 81.0M 1s + 900K .......... .......... .......... .......... .......... 76% 103M 1s + 950K .......... .......... .......... .......... .......... 80% 275K 1s + 1000K .......... .......... .......... .......... .......... 84% 1.72M 1s + 1050K .......... .......... .......... .......... .......... 88% 7.67M 0s + 1100K .......... .......... .......... .......... .......... 92% 7.15M 0s + 1150K .......... .......... .......... .......... .......... 96% 4.39M 0s + 1200K .......... .......... .......... .......... ... 100% 256K=2.9s + +2018-12-25 10:37:18 (426 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +wget is already the newest version (1.17.1-1ubuntu1.4). +Suggested packages: + www-browser apache2-doc apache2-suexec-pristine | apache2-suexec-custom +The following NEW packages will be installed: + apache2 +0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded. +Need to get 86.6 kB of archives. +After this operation, 502 kB of additional disk space will be used. +Get:1 http://183.82.14.14:80/data/05e5a7c300c65db7/archive.ubuntu.com/ubuntu xenial-updates/main amd64 apache2 amd64 2.4.18-2ubuntu3.9 [86.6 kB] +debconf: unable to initialize frontend: Dialog +debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.) +debconf: falling back to frontend: Readline +debconf: unable to initialize frontend: Readline +debconf: (This frontend requires a controlling tty.) +debconf: falling back to frontend: Teletype +dpkg-preconfigure: unable to re-open stdin: +Fetched 86.6 kB in 0s (233 kB/s) +Selecting previously unselected package apache2. +(Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 82844 files and directories currently installed.) +Preparing to unpack .../apache2_2.4.18-2ubuntu3.9_amd64.deb ... +Unpacking apache2 (2.4.18-2ubuntu3.9) ... +Processing triggers for man-db (2.7.5-1) ... +Processing triggers for systemd (229-4ubuntu21.10) ... +Processing triggers for ureadahead (0.100.0-19) ... +Processing triggers for ufw (0.35-0ubuntu2) ... +Setting up apache2 (2.4.18-2ubuntu3.9) ... +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:41:04-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:41:05-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 4% 55.2K 22s + 50K .......... .......... .......... .......... .......... 8% 181K 14s + 100K .......... .......... .......... .......... .......... 12% 198K 10s + 150K .......... .......... .......... .......... .......... 16% 196K 9s + 200K .......... .......... .......... .......... .......... 20% 239K 8s + 250K .......... .......... .......... .......... .......... 24% 246K 7s + 300K .......... .......... .......... .......... .......... 28% 695K 6s + 350K .......... .......... .......... .......... .......... 32% 281K 5s + 400K .......... .......... .......... .......... .......... 36% 744K 4s + 450K .......... .......... .......... .......... .......... 40% 288K 4s + 500K .......... .......... .......... .......... .......... 44% 3.13M 3s + 550K .......... .......... .......... .......... .......... 48% 789K 3s + 600K .......... .......... .......... .......... .......... 52% 370K 3s + 650K .......... .......... .......... .......... .......... 56% 2.60M 2s + 700K .......... .......... .......... .......... .......... 60% 1000K 2s + 750K .......... .......... .......... .......... .......... 64% 1.61M 2s + 800K .......... .......... .......... .......... .......... 68% 369K 1s + 850K .......... .......... .......... .......... .......... 72% 1.63M 1s + 900K .......... .......... .......... .......... .......... 76% 2.94M 1s + 950K .......... .......... .......... .......... .......... 80% 1.06M 1s + 1000K .......... .......... .......... .......... .......... 84% 1.76M 1s + 1050K .......... .......... .......... .......... .......... 88% 422K 0s + 1100K .......... .......... .......... .......... .......... 92% 1.95M 0s + 1150K .......... .......... .......... .......... .......... 96% 2.90M 0s + 1200K .......... .......... .......... .......... ... 100% 1.99M=3.3s + +2018-12-25 10:41:09 (372 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +wget is already the newest version (1.17.1-1ubuntu1.4). +Suggested packages: + www-browser apache2-doc apache2-suexec-pristine | apache2-suexec-custom +The following NEW packages will be installed: + apache2 +0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded. +Need to get 86.6 kB of archives. +After this operation, 502 kB of additional disk space will be used. +Get:1 http://183.82.14.14:80/data/01e536cfe6bc34da/archive.ubuntu.com/ubuntu xenial-updates/main amd64 apache2 amd64 2.4.18-2ubuntu3.9 [86.6 kB] +debconf: unable to initialize frontend: Dialog +debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.) +debconf: falling back to frontend: Readline +debconf: unable to initialize frontend: Readline +debconf: (This frontend requires a controlling tty.) +debconf: falling back to frontend: Teletype +dpkg-preconfigure: unable to re-open stdin: +Fetched 86.6 kB in 0s (160 kB/s) +Selecting previously unselected package apache2. +(Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 82844 files and directories currently installed.) +Preparing to unpack .../apache2_2.4.18-2ubuntu3.9_amd64.deb ... +Unpacking apache2 (2.4.18-2ubuntu3.9) ... +Processing triggers for man-db (2.7.5-1) ... +Processing triggers for systemd (229-4ubuntu21.10) ... +Processing triggers for ureadahead (0.100.0-19) ... +Processing triggers for ufw (0.35-0ubuntu2) ... +Setting up apache2 (2.4.18-2ubuntu3.9) ... +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:54:11-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:54:12-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 70.5K 1m48s + 50K .......... .......... .......... .......... .......... 1% 110K 88s + 100K .......... .......... .......... .......... .......... 1% 228K 69s + 150K .......... .......... .......... .......... .......... 2% 237K 60s + 200K .......... .......... .......... .......... .......... 3% 261K 53s + 250K .......... .......... .......... .......... .......... 3% 1.04M 45s + 300K .......... .......... .......... .......... .......... 4% 268K 42s + 350K .......... .......... .......... .......... .......... 5% 1.01M 38s + 400K .......... .......... .......... .......... .......... 5% 246K 36s + 450K .......... .......... .......... .......... .......... 6% 1.77M 33s + 500K .......... .......... .......... .......... .......... 7% 304K 32s + 550K .......... .......... .......... .......... .......... 7% 949K 30s + 600K .......... .......... .......... .......... .......... 8% 3.79M 27s + 650K .......... .......... .......... .......... .......... 9% 303K 27s + 700K .......... .......... .......... .......... .......... 9% 944K 25s + 750K .......... .......... .......... .......... .......... 10% 2.46M 24s + 800K .......... .......... .......... .......... .......... 11% 306K 24s + 850K .......... .......... .......... .......... .......... 11% 2.86M 22s + 900K .......... .......... .......... .......... .......... 12% 848K 21s + 950K .......... .......... .......... .......... .......... 13% 24.6M 20s + 1000K .......... .......... .......... .......... .......... 13% 289K 20s + 1050K .......... .......... .......... .......... .......... 14% 59.2M 19s + 1100K .......... .......... .......... .......... .......... 14% 2.49M 18s + 1150K .......... .......... .......... .......... .......... 15% 1.82M 17s + 1200K .......... .......... .......... .......... .......... 16% 10.2M 17s + 1250K .......... .......... .......... .......... .......... 16% 284K 17s + 1300K .......... .......... .......... .......... .......... 17% 63.0M 16s + 1350K .......... .......... .......... .......... .......... 18% 3.86M 15s + 1400K .......... .......... .......... .......... .......... 18% 1.68M 15s + 1450K .......... .......... .......... .......... .......... 19% 5.79M 14s + 1500K .......... .......... .......... .......... .......... 20% 7.80M 14s + 1550K .......... .......... .......... .......... .......... 20% 310K 14s + 1600K .......... .......... .......... .......... .......... 21% 8.68M 13s + 1650K .......... .......... .......... .......... .......... 22% 135M 13s + 1700K .......... .......... .......... .......... .......... 22% 1.10M 12s + 1750K .......... .......... .......... .......... .......... 23% 5.91M 12s + 1800K .......... .......... .......... .......... .......... 24% 4.40M 12s + 1850K .......... .......... .......... .......... .......... 24% 87.7M 11s + 1900K .......... .......... .......... .......... .......... 25% 350K 11s + 1950K .......... .......... .......... .......... .......... 26% 3.30M 11s + 2000K .......... .......... .......... .......... .......... 26% 36.7M 11s + 2050K .......... .......... .......... .......... .......... 27% 2.18M 10s + 2100K .......... .......... .......... .......... .......... 28% 2.65M 10s + 2150K .......... .......... .......... .......... .......... 28% 2.49M 10s + 2200K .......... .......... .......... .......... .......... 29% 17.1M 9s + 2250K .......... .......... .......... .......... .......... 29% 9.66M 9s + 2300K .......... .......... .......... .......... .......... 30% 355K 9s + 2350K .......... .......... .......... .......... .......... 31% 2.69M 9s + 2400K .......... .......... .......... .......... .......... 31% 112M 9s + 2450K .......... .......... .......... .......... .......... 32% 7.13M 8s + 2500K .......... .......... .......... .......... .......... 33% 17.5M 8s + 2550K .......... .......... .......... .......... .......... 33% 3.91M 8s + 2600K .......... .......... .......... .......... .......... 34% 1.08M 8s + 2650K .......... .......... .......... .......... .......... 35% 7.26M 8s + 2700K .......... .......... .......... .......... .......... 35% 4.77M 7s + 2750K .......... .......... .......... .......... .......... 36% 198K 8s + 2800K .......... .......... .......... .......... .......... 37% 690K 8s + 2850K .......... .......... .......... .......... .......... 37% 3.89M 7s + 2900K .......... .......... .......... .......... .......... 38% 13.2M 7s + 2950K .......... .......... .......... .......... .......... 39% 69.1M 7s + 3000K .......... .......... .......... .......... .......... 39% 114M 7s + 3050K .......... .......... .......... .......... .......... 40% 63.3M 7s + 3100K .......... .......... .......... .......... .......... 41% 136M 6s + 3150K .......... .......... .......... .......... .......... 41% 92.3M 6s + 3200K .......... .......... .......... .......... .......... 42% 118M 6s + 3250K .......... .......... .......... .......... .......... 42% 88.6M 6s + 3300K .......... .......... .......... .......... .......... 43% 142M 6s + 3350K .......... .......... .......... .......... .......... 44% 90.0M 6s + 3400K .......... .......... .......... .......... .......... 44% 60.4M 6s + 3450K .......... .......... .......... .......... .......... 45% 4.91M 5s + 3500K .......... .......... .......... .......... .......... 46% 3.25M 5s + 3550K .......... .......... .......... .......... .......... 46% 1.66M 5s + 3600K .......... .......... .......... .......... .......... 47% 5.73M 5s + 3650K .......... .......... .......... .......... .......... 48% 1.27M 5s + 3700K .......... .......... .......... .......... .......... 48% 1.48M 5s + 3750K .......... .......... .......... .......... .......... 49% 2.66M 5s + 3800K .......... .......... .......... .......... .......... 50% 75.5M 5s + 3850K .......... .......... .......... .......... .......... 50% 747K 5s + 3900K .......... .......... .......... .......... .......... 51% 2.57M 4s + 3950K .......... .......... .......... .......... .......... 52% 1.46M 4s + 4000K .......... .......... .......... .......... .......... 52% 3.36M 4s + 4050K .......... .......... .......... .......... .......... 53% 10.3M 4s + 4100K .......... .......... .......... .......... .......... 54% 1.11M 4s + 4150K .......... .......... .......... .......... .......... 54% 1.22M 4s + 4200K .......... .......... .......... .......... .......... 55% 3.71M 4s + 4250K .......... .......... .......... .......... .......... 56% 2.87M 4s + 4300K .......... .......... .......... .......... .......... 56% 1.21M 4s + 4350K .......... .......... .......... .......... .......... 57% 1.33M 4s + 4400K .......... .......... .......... .......... .......... 57% 1.44M 4s + 4450K .......... .......... .......... .......... .......... 58% 113M 4s + 4500K .......... .......... .......... .......... .......... 59% 8.30M 3s + 4550K .......... .......... .......... .......... .......... 59% 941K 3s + 4600K .......... .......... .......... .......... .......... 60% 1.23M 3s + 4650K .......... .......... .......... .......... .......... 61% 2.80M 3s + 4700K .......... .......... .......... .......... .......... 61% 63.1M 3s + 4750K .......... .......... .......... .......... .......... 62% 1.36M 3s + 4800K .......... .......... .......... .......... .......... 63% 1.44M 3s + 4850K .......... .......... .......... .......... .......... 63% 1.13M 3s + 4900K .......... .......... .......... .......... .......... 64% 2.70M 3s + 4950K .......... .......... .......... .......... .......... 65% 74.5M 3s + 5000K .......... .......... .......... .......... .......... 65% 3.59M 3s + 5050K .......... .......... .......... .......... .......... 66% 806K 3s + 5100K .......... .......... .......... .......... .......... 67% 4.64M 3s + 5150K .......... .......... .......... .......... .......... 67% 5.64M 3s + 5200K .......... .......... .......... .......... .......... 68% 1.48M 3s + 5250K .......... .......... .......... .......... .......... 69% 1.53M 2s + 5300K .......... .......... .......... .......... .......... 69% 2.64M 2s + 5350K .......... .......... .......... .......... .......... 70% 1.43M 2s + 5400K .......... .......... .......... .......... .......... 70% 3.66M 2s + 5450K .......... .......... .......... .......... .......... 71% 3.36M 2s + 5500K .......... .......... .......... .......... .......... 72% 2.25M 2s + 5550K .......... .......... .......... .......... .......... 72% 914K 2s + 5600K .......... .......... .......... .......... .......... 73% 7.18M 2s + 5650K .......... .......... .......... .......... .......... 74% 4.01M 2s + 5700K .......... .......... .......... .......... .......... 74% 2.42M 2s + 5750K .......... .......... .......... .......... .......... 75% 1.45M 2s + 5800K .......... .......... .......... .......... .......... 76% 3.71M 2s + 5850K .......... .......... .......... .......... .......... 76% 1.38M 2s + 5900K .......... .......... .......... .......... .......... 77% 2.33M 2s + 5950K .......... .......... .......... .......... .......... 78% 4.13M 2s + 6000K .......... .......... .......... .......... .......... 78% 1.77M 2s + 6050K .......... .......... .......... .......... .......... 79% 1.08M 2s + 6100K .......... .......... .......... .......... .......... 80% 2.83M 1s + 6150K .......... .......... .......... .......... .......... 80% 6.35M 1s + 6200K .......... .......... .......... .......... .......... 81% 2.87M 1s + 6250K .......... .......... .......... .......... .......... 82% 1.49M 1s + 6300K .......... .......... .......... .......... .......... 82% 5.78M 1s + 6350K .......... .......... .......... .......... .......... 83% 1.33M 1s + 6400K .......... .......... .......... .......... .......... 84% 2.32M 1s + 6450K .......... .......... .......... .......... .......... 84% 2.43M 1s + 6500K .......... .......... .......... .......... .......... 85% 3.06M 1s + 6550K .......... .......... .......... .......... .......... 85% 1005K 1s + 6600K .......... .......... .......... .......... .......... 86% 1.08M 1s + 6650K .......... .......... .......... .......... .......... 87% 4.85M 1s + 6700K .......... .......... .......... .......... .......... 87% 10.0M 1s + 6750K .......... .......... .......... .......... .......... 88% 6.58M 1s + 6800K .......... .......... .......... .......... .......... 89% 4.88M 1s + 6850K .......... .......... .......... .......... .......... 89% 1.02M 1s + 6900K .......... .......... .......... .......... .......... 90% 2.55M 1s + 6950K .......... .......... .......... .......... .......... 91% 2.33M 1s + 7000K .......... .......... .......... .......... .......... 91% 6.99M 1s + 7050K .......... .......... .......... .......... .......... 92% 1.68M 1s + 7100K .......... .......... .......... .......... .......... 93% 365K 0s + 7150K .......... .......... .......... .......... .......... 93% 22.1M 0s + 7200K .......... .......... .......... .......... .......... 94% 45.8M 0s + 7250K .......... .......... .......... .......... .......... 95% 166K 0s + 7300K .......... .......... .......... .......... .......... 95% 4.18M 0s + 7350K .......... .......... .......... .......... .......... 96% 1.65M 0s + 7400K .......... .......... .......... .......... .......... 97% 6.67M 0s + 7450K .......... .......... .......... .......... .......... 97% 110M 0s + 7500K .......... .......... .......... .......... .......... 98% 72.1M 0s + 7550K .......... .......... .......... .......... .......... 98% 71.4M 0s + 7600K .......... .......... .......... .......... .......... 99% 92.6M 0s + 7650K .......... .......... ....... 100% 38.8M=6.7s + +2018-12-25 10:54:19 (1.11 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:59:24-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:59:25-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 52.5K 2m25s + 50K .......... .......... .......... .......... .......... 1% 160K 96s + 100K .......... .......... .......... .......... .......... 1% 206K 76s + 150K .......... .......... .......... .......... .......... 2% 170K 67s + 200K .......... .......... .......... .......... .......... 3% 239K 60s + 250K .......... .......... .......... .......... .......... 3% 275K 54s + 300K .......... .......... .......... .......... .......... 4% 591K 48s + 350K .......... .......... .......... .......... .......... 5% 275K 45s + 400K .......... .......... .......... .......... .......... 5% 236K 43s + 450K .......... .......... .......... .......... .......... 6% 1.16M 39s + 500K .......... .......... .......... .......... .......... 7% 962K 36s + 550K .......... .......... .......... .......... .......... 7% 286K 35s + 600K .......... .......... .......... .......... .......... 8% 843K 32s + 650K .......... .......... .......... .......... .......... 9% 1.19M 30s + 700K .......... .......... .......... .......... .......... 9% 381K 29s + 750K .......... .......... .......... .......... .......... 10% 792K 28s + 800K .......... .......... .......... .......... .......... 11% 1.10M 26s + 850K .......... .......... .......... .......... .......... 11% 429K 26s + 900K .......... .......... .......... .......... .......... 12% 1.54M 24s + 950K .......... .......... .......... .......... .......... 13% 1.10M 23s + 1000K .......... .......... .......... .......... .......... 13% 1.51M 22s + 1050K .......... .......... .......... .......... .......... 14% 1.93M 21s + 1100K .......... .......... .......... .......... .......... 14% 464K 21s + 1150K .......... .......... .......... .......... .......... 15% 1.60M 20s + 1200K .......... .......... .......... .......... .......... 16% 1.51M 19s + 1250K .......... .......... .......... .......... .......... 16% 1.09M 18s + 1300K .......... .......... .......... .......... .......... 17% 2.43M 18s + 1350K .......... .......... .......... .......... .......... 18% 785K 17s + 1400K .......... .......... .......... .......... .......... 18% 951K 17s + 1450K .......... .......... .......... .......... .......... 19% 1.62M 16s + 1500K .......... .......... .......... .......... .......... 20% 3.09M 16s + 1550K .......... .......... .......... .......... .......... 20% 1.34M 15s + 1600K .......... .......... .......... .......... .......... 21% 1.24M 15s + 1650K .......... .......... .......... .......... .......... 22% 3.13M 14s + 1700K .......... .......... .......... .......... .......... 22% 1.03M 14s + 1750K .......... .......... .......... .......... .......... 23% 1.06M 13s + 1800K .......... .......... .......... .......... .......... 24% 1.31M 13s + 1850K .......... .......... .......... .......... .......... 24% 1.83M 13s + 1900K .......... .......... .......... .......... .......... 25% 3.01M 12s + 1950K .......... .......... .......... .......... .......... 26% 5.17M 12s + 2000K .......... .......... .......... .......... .......... 26% 3.00M 12s + 2050K .......... .......... .......... .......... .......... 27% 1.31M 11s + 2100K .......... .......... .......... .......... .......... 28% 18.2M 11s + 2150K .......... .......... .......... .......... .......... 28% 1.11M 11s + 2200K .......... .......... .......... .......... .......... 29% 965K 10s + 2250K .......... .......... .......... .......... .......... 29% 1.51M 10s + 2300K .......... .......... .......... .......... .......... 30% 3.90M 10s + 2350K .......... .......... .......... .......... .......... 31% 1.83M 10s + 2400K .......... .......... .......... .......... .......... 31% 3.03M 9s + 2450K .......... .......... .......... .......... .......... 32% 2.54M 9s + 2500K .......... .......... .......... .......... .......... 33% 4.26M 9s + 2550K .......... .......... .......... .......... .......... 33% 3.87M 9s + 2600K .......... .......... .......... .......... .......... 34% 2.31M 9s + 2650K .......... .......... .......... .......... .......... 35% 3.21M 8s + 2700K .......... .......... .......... .......... .......... 35% 910K 8s + 2750K .......... .......... .......... .......... .......... 36% 1.71M 8s + 2800K .......... .......... .......... .......... .......... 37% 1.48M 8s + 2850K .......... .......... .......... .......... .......... 37% 4.54M 8s + 2900K .......... .......... .......... .......... .......... 38% 2.92M 7s + 2950K .......... .......... .......... .......... .......... 39% 1.61M 7s + 3000K .......... .......... .......... .......... .......... 39% 2.99M 7s + 3050K .......... .......... .......... .......... .......... 40% 11.1M 7s + 3100K .......... .......... .......... .......... .......... 41% 3.80M 7s + 3150K .......... .......... .......... .......... .......... 41% 3.08M 7s + 3200K .......... .......... .......... .......... .......... 42% 2.17M 6s + 3250K .......... .......... .......... .......... .......... 42% 2.98M 6s + 3300K .......... .......... .......... .......... .......... 43% 9.32M 6s + 3350K .......... .......... .......... .......... .......... 44% 1.64M 6s + 3400K .......... .......... .......... .......... .......... 44% 3.30M 6s + 3450K .......... .......... .......... .......... .......... 45% 1.61M 6s + 3500K .......... .......... .......... .......... .......... 46% 3.00M 6s + 3550K .......... .......... .......... .......... .......... 46% 1.29M 6s + 3600K .......... .......... .......... .......... .......... 47% 32.2M 5s + 3650K .......... .......... .......... .......... .......... 48% 65.8M 5s + 3700K .......... .......... .......... .......... .......... 48% 2.26M 5s + 3750K .......... .......... .......... .......... .......... 49% 4.47M 5s + 3800K .......... .......... .......... .......... .......... 50% 2.46M 5s + 3850K .......... .......... .......... .......... .......... 50% 9.58M 5s + 3900K .......... .......... .......... .......... .......... 51% 3.51M 5s + 3950K .......... .......... .......... .......... .......... 52% 2.71M 5s + 4000K .......... .......... .......... .......... .......... 52% 3.77M 4s + 4050K .......... .......... .......... .......... .......... 53% 2.84M 4s + 4100K .......... .......... .......... .......... .......... 54% 6.21M 4s + 4150K .......... .......... .......... .......... .......... 54% 3.62M 4s + 4200K .......... .......... .......... .......... .......... 55% 3.40M 4s + 4250K .......... .......... .......... .......... .......... 56% 4.69M 4s + 4300K .......... .......... .......... .......... .......... 56% 1.83M 4s + 4350K .......... .......... .......... .......... .......... 57% 3.82M 4s + 4400K .......... .......... .......... .......... .......... 57% 3.00M 4s + 4450K .......... .......... .......... .......... .......... 58% 9.02M 4s + 4500K .......... .......... .......... .......... .......... 59% 4.55M 4s + 4550K .......... .......... .......... .......... .......... 59% 2.63M 3s + 4600K .......... .......... .......... .......... .......... 60% 3.70M 3s + 4650K .......... .......... .......... .......... .......... 61% 4.13M 3s + 4700K .......... .......... .......... .......... .......... 61% 7.85M 3s + 4750K .......... .......... .......... .......... .......... 62% 2.21M 3s + 4800K .......... .......... .......... .......... .......... 63% 1.97M 3s + 4850K .......... .......... .......... .......... .......... 63% 10.2M 3s + 4900K .......... .......... .......... .......... .......... 64% 2.27M 3s + 4950K .......... .......... .......... .......... .......... 65% 17.5M 3s + 5000K .......... .......... .......... .......... .......... 65% 4.26M 3s + 5050K .......... .......... .......... .......... .......... 66% 3.54M 3s + 5100K .......... .......... .......... .......... .......... 67% 2.84M 3s + 5150K .......... .......... .......... .......... .......... 67% 7.01M 3s + 5200K .......... .......... .......... .......... .......... 68% 3.11M 2s + 5250K .......... .......... .......... .......... .......... 69% 3.04M 2s + 5300K .......... .......... .......... .......... .......... 69% 3.32M 2s + 5350K .......... .......... .......... .......... .......... 70% 2.95M 2s + 5400K .......... .......... .......... .......... .......... 70% 5.78M 2s + 5450K .......... .......... .......... .......... .......... 71% 4.19M 2s + 5500K .......... .......... .......... .......... .......... 72% 5.40M 2s + 5550K .......... .......... .......... .......... .......... 72% 2.20M 2s + 5600K .......... .......... .......... .......... .......... 73% 9.29M 2s + 5650K .......... .......... .......... .......... .......... 74% 3.73M 2s + 5700K .......... .......... .......... .......... .......... 74% 2.47M 2s + 5750K .......... .......... .......... .......... .......... 75% 6.47M 2s + 5800K .......... .......... .......... .......... .......... 76% 5.44M 2s + 5850K .......... .......... .......... .......... .......... 76% 3.34M 2s + 5900K .......... .......... .......... .......... .......... 77% 3.24M 2s + 5950K .......... .......... .......... .......... .......... 78% 4.82M 2s + 6000K .......... .......... .......... .......... .......... 78% 2.66M 1s + 6050K .......... .......... .......... .......... .......... 79% 5.53M 1s + 6100K .......... .......... .......... .......... .......... 80% 3.52M 1s + 6150K .......... .......... .......... .......... .......... 80% 3.97M 1s + 6200K .......... .......... .......... .......... .......... 81% 4.01M 1s + 6250K .......... .......... .......... .......... .......... 82% 3.27M 1s + 6300K .......... .......... .......... .......... .......... 82% 6.98M 1s + 6350K .......... .......... .......... .......... .......... 83% 3.95M 1s + 6400K .......... .......... .......... .......... .......... 84% 2.66M 1s + 6450K .......... .......... .......... .......... .......... 84% 4.78M 1s + 6500K .......... .......... .......... .......... .......... 85% 3.19M 1s + 6550K .......... .......... .......... .......... .......... 85% 4.78M 1s + 6600K .......... .......... .......... .......... .......... 86% 3.01M 1s + 6650K .......... .......... .......... .......... .......... 87% 2.35M 1s + 6700K .......... .......... .......... .......... .......... 87% 130M 1s + 6750K .......... .......... .......... .......... .......... 88% 2.86M 1s + 6800K .......... .......... .......... .......... .......... 89% 6.38M 1s + 6850K .......... .......... .......... .......... .......... 89% 3.26M 1s + 6900K .......... .......... .......... .......... .......... 90% 5.56M 1s + 6950K .......... .......... .......... .......... .......... 91% 178K 1s + 7000K .......... .......... .......... .......... .......... 91% 79.4M 1s + 7050K .......... .......... .......... .......... .......... 92% 48.5M 0s + 7100K .......... .......... .......... .......... .......... 93% 4.86M 0s + 7150K .......... .......... .......... .......... .......... 93% 97.7M 0s + 7200K .......... .......... .......... .......... .......... 94% 3.74M 0s + 7250K .......... .......... .......... .......... .......... 95% 122M 0s + 7300K .......... .......... .......... .......... .......... 95% 142M 0s + 7350K .......... .......... .......... .......... .......... 96% 755K 0s + 7400K .......... .......... .......... .......... .......... 97% 16.2M 0s + 7450K .......... .......... .......... .......... .......... 97% 8.25M 0s + 7500K .......... .......... .......... .......... .......... 98% 3.24M 0s + 7550K .......... .......... .......... .......... .......... 98% 94.3M 0s + 7600K .......... .......... .......... .......... .......... 99% 57.4M 0s + 7650K .......... .......... ....... 100% 148M=6.2s + +2018-12-25 10:59:32 (1.21 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ +################################################ +################################################ +nohup: ignoring input +Checking connection for all the machines from webnodeIP.txt file +######################################################################## +# Running Websetup on 192.168.5.3.# +######################################################################## +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Resolving Dependencies +--> Running transaction check +---> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed +---> Package unzip.x86_64 0:6.0-19.el7 will be installed +---> Package wget.x86_64 0:1.14-18.el7 will be installed +--> Finished Dependency Resolution + +Dependencies Resolved + +================================================================================ + Package Arch Version Repository Size +================================================================================ +Installing: + httpd x86_64 2.4.6-88.el7.centos base 2.7 M + unzip x86_64 6.0-19.el7 base 170 k + wget x86_64 1.14-18.el7 base 547 k + +Transaction Summary +================================================================================ +Install 3 Packages + +Total download size: 3.4 M +Installed size: 12 M +Downloading packages: +-------------------------------------------------------------------------------- +Total 317 kB/s | 3.4 MB 00:11 +Running transaction check +Running transaction test +Transaction test succeeded +Running transaction + Installing : wget-1.14-18.el7.x86_64 1/3 + Installing : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Installing : unzip-6.0-19.el7.x86_64 3/3 + Verifying : unzip-6.0-19.el7.x86_64 1/3 + Verifying : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Verifying : wget-1.14-18.el7.x86_64 3/3################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages + + +Installed: + httpd.x86_64 0:2.4.6-88.el7.centos unzip.x86_64 0:6.0-19.el7 + wget.x86_64 0:1.14-18.el7 + +Complete! +################################################################ + + +Starting and Enabling Service +Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. +Loaded plugins: fastestmirror +################################################################ + + +Copying website data +--2018-12-25 10:40:24-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... Loading mirror speeds from cached hostfile +connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:40:25-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service + + 0K .......... ......################################################################ + + +Copying website data +--2018-12-25 10:40:26-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... .... .......... ..connected. +........ .......... 4% 54.5K 22s + 50K .......... .......... ..........HTTP request sent, awaiting response... .......... .......... 8% 189K 14s + 100K .......... .......... .......... .......... .......... 12% 212K 10s + 150K .......... .......... ......302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:40:27-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... .... .......... .......... 16% 272K 8s + 200K .......... .......... .......... .......... .......... 20% 874K 7s + 250K ......connected. +.... .......... .......... .......... .......... 24% 241K 6s + 300K .......... .......... .......... .......... .......... 28% 70.9M 5s + 350K .......... .......... .......... .......... .......... 32% 221K 4s + 400K .......... .......... .......... .......... .......... 36% 84.6M 4s + 450K .......... .......... .......... .......... ......HTTP request sent, awaiting response... .... 40% 878K 3s + 500K .......... .......... .......... .......... .......... 44% 281K 3s + 550K .......... .......... .......... .......... .......... 48% 47.0M 2s + 600K .......... .......... .......... .......... .......... 52% 1.50M 2s + 650K .......... .......... ..200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ +........ .......... .......... 56% 1.89M 2s + 700K .......... .......... .......... .......... .......... 60% 242K 2s + 750K .......... .......... .......... .......... .......... 64% 106M 1s + 800K .......... .......... .......... .......... .......... 68% 13.8M 1s + 850K .......... .......... .......... .......... .......... 72% 109M 1s + 900K .......... .. + 0K .......... .............. .......... .......... .......... 76% 2.58M 1s + 950K .......... .......... .......... .......... .......... 80% 280K 1s + 1000K .......... .......... .......... .......... .......... 84% 55.3M 1s + 1050K .......... .......... .......... .......... .......... 88% 65.1M 0s + 1100K .......... .......... .......... .......... .......... 92% 3.51M 0s + 1150K .......... .......... .......... ........ .......... ........ .......... 96% 2.72M 0s + 1200K .......... .......... .......... .......... ... 100% 1.96M=2.9s + +2018-12-25 10:40:28 (436 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + creating: 2101_insertion/ + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + creating: 2101_insertion/css/ + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + creating: 2101_insertion/img/ + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + creating: 2101_insertion/js/ + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + creating: 2101_insertion/webfonts/ + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt + + +Restarting Service +........ .......... 4% 54.5K 22s + 50K .......... .......... .......... .......... .......... 8% 220K 13s + 100K .......... .......... .......... .......... .......... 12% 210K 10s + 150K .......... .......... .......... .......... .......... 16% 232K 8s + 200K .......... .......... .......... .......... .......... 20% 245K 7s + 250K .......... .......... .......... .......... .......... 24% 3.40M 6s + 300K ....################################################################ +...... .......... .......... .......... .......... 28% 214K 5s + 350K .......... .......... .......... .......... .......... 32% 218K 5s + 400K .......... .......... .......... .......... .......... 36% 11.5M 4s + 450K .......... .......... .......... .......... .......... 40% 248K 4s + 500K .......... .......... .......... .......... .......... 44% 2.12M 3s + 550K .......... .......... .......... .......... .......... 48% 64.4M 3s + 600K .......... .......... .......... .......... .......... 52% 221K 2s + 650K .......... .......... .......... .......... .......... 56% 21.7M 2s + 700K .......... .......... .......... .......... .......... 60% 117M 2s + 750K .......... .......... .......... .......... .......... 64% 30.7M 2s + 800K .......... .......... .......... .......... .......... 68% 223K 1s + 850K .......... .......... .......... .......... .......... 72% 9.68M 1s + 900K .......... .......... .......... .......... .......... 76% 69.6M 1s + 950K .......... .......... .......... .......... .......... 80% 67.8M 1s + 1000K .......... .......... .......... .......... .......... 84% 256K 1s + 1050K .......... .......... .......... .......... .......... 88% 1.93M 0s + 1100K .......... .......... .......... .......... .......... 92% 119M 0s + 1150K .......... .......... .......... .......... .......... 96% 64.6M 0s + 1200K .......... .......... .......... .......... ... 100% 114M=3.2s + +2018-12-25 10:40:31 (389 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Resolving Dependencies +--> Running transaction check +---> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed +---> Package unzip.x86_64 0:6.0-19.el7 will be installed +---> Package wget.x86_64 0:1.14-18.el7 will be installed +--> Finished Dependency Resolution + +Dependencies Resolved + +================================================================================ + Package Arch Version Repository Size +================================================================================ +Installing: + httpd x86_64 2.4.6-88.el7.centos base 2.7 M + unzip x86_64 6.0-19.el7 base 170 k + wget x86_64 1.14-18.el7 base 547 k + +Transaction Summary +================================================================================ +Install 3 Packages + +Total download size: 3.4 M +Installed size: 12 M +Downloading packages: +-------------------------------------------------------------------------------- +Total 337 kB/s | 3.4 MB 00:10 +Running transaction check +Running transaction test +Transaction test succeeded +Running transaction + Installing : wget-1.14-18.el7.x86_64 1/3 + Installing : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Installing : unzip-6.0-19.el7.x86_64 3/3 + Verifying : unzip-6.0-19.el7.x86_64 1/3 + Verifying : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Verifying : wget-1.14-18.el7.x86_64 3/3 + +Installed: + httpd.x86_64 0:2.4.6-88.el7.centos unzip.x86_64 0:6.0-19.el7 + wget.x86_64 0:1.14-18.el7 + +Complete! +################################################################ + + +Starting and Enabling Service +Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. +################################################################ + + +Copying website data +--2018-12-25 10:53:15-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:53:16-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 32.8K 3m53s + 50K .......... .......... .......... .......... .......... 1% 54.8K 3m5s + 100K .......... .......... .......... .......... .......... 1% 62.9K 2m42s + 150K .......... .......... .......... .......... .......... 2% 72.4K 2m27s + 200K .......... .......... .......... .......... .......... 3% 207K 2m4s + 250K .......... .......... .......... .......... .......... 3% 210K 1m48s + 300K .......... .......... .......... .......... .......... 4% 210K 97s + 350K .......... .......... .......... .......... .......... 5% 206K 89s + 400K .......... .......... .......... .......... .......... 5% 210K 82s + 450K .......... .......... .......... .......... .......... 6% 211K 77s + 500K .......... .......... .......... .......... .......... 7% 20.2M 69s + 550K .......... .......... .......... .......... .......... 7% 209K 66s + 600K .......... .......... .......... .......... .......... 8% 43.4M 61s + 650K .......... .......... .......... .......... .......... 9% 208K 58s + 700K .......... .......... .......... .......... .......... 9% 25.6M 54s + 750K .......... .......... .......... .......... .......... 10% 206K 52s + 800K .......... .......... .......... .......... .......... 11% 60.1M 49s + 850K .......... .......... .......... .......... .......... 11% 288K 47s + 900K .......... .......... .......... .......... .......... 12% 1.06M 45s + 950K .......... .......... .......... .......... .......... 13% 2.77M 42s + 1000K .......... .......... .......... .......... .......... 13% 57.6M 40s + 1050K .......... .......... .......... .......... .......... 14% 230K 39s + 1100K .......... .......... .......... .......... .......... 14% 1.65M 37s + 1150K .......... .......... .......... .......... .......... 15% 76.7M 35s + 1200K .......... .......... .......... .......... .......... 16% 927K 34s + 1250K .......... .......... .......... .......... .......... 16% 340K 33s + 1300K .......... .......... .......... .......... .......... 17% 1.45M 32s + 1350K .......... .......... .......... .......... .......... 18% 2.17M 31s + 1400K .......... .......... .......... .......... .......... 18% 26.6M 29s + 1450K .......... .......... .......... .......... .......... 19% 127K 30s + 1500K .......... .......... .......... .......... .......... 20% 5.66M 29s + 1550K .......... .......... .......... .......... .......... 20% 64.1M 27s + 1600K .......... .......... .......... .......... .......... 21% 93.3M 26s + 1650K .......... .......... .......... .......... .......... 22% 62.7M 25s + 1700K .......... .......... .......... .......... .......... 22% 64.5M 25s + 1750K .......... .......... .......... .......... .......... 23% 109M 24s + 1800K .......... .......... .......... .......... .......... 24% 1.25M 23s + 1850K .......... .......... .......... .......... .......... 24% 1.13M 22s + 1900K .......... .......... .......... .......... .......... 25% 3.79M 22s + 1950K .......... .......... .......... .......... .......... 26% 504K 21s + 2000K .......... .......... .......... .......... .......... 26% 641K 21s + 2050K .......... .......... .......... .......... .......... 27% 853K 20s + 2100K .......... .......... .......... .......... .......... 28% 4.42M 19s + 2150K .......... .......... .......... .......... .......... 28% 528K 19s + 2200K .......... .......... .......... .......... .......... 29% 822K 19s + 2250K .......... .......... .......... .......... .......... 29% 1.64M 18s + 2300K .......... .......... .......... .......... .......... 30% 913K 18s + 2350K .......... .......... .......... .......... .......... 31% 26.6M 17s + 2400K .......... .......... .......... .......... .......... 31% 412K 17s + 2450K .......... .......... .......... .......... .......... 32% 1.25M 17s + 2500K .......... .......... .......... .......... .......... 33% 786K 16s + 2550K .......... .......... .......... .......... .......... 33% 6.16M 16s + 2600K .......... .......... .......... .......... .......... 34% 558K 15s + 2650K .......... .......... .......... .......... .......... 35% 827K 15s + 2700K .......... .......... .......... .......... .......... 35% 2.09M 15s + 2750K .......... .......... .......... .......... .......... 36% 969K 14s + 2800K .......... .......... .......... .......... .......... 37% 3.30M 14s + 2850K .......... .......... .......... .......... .......... 37% 544K 14s + 2900K .......... .......... .......... .......... .......... 38% 755K 14s + 2950K .......... .......... .......... .......... .......... 39% 1.86M 13s + 3000K .......... .......... .......... .......... .......... 39% 1.04M 13s + 3050K .......... .......... .......... .......... .......... 40% 16.6M 13s + 3100K .......... .......... .......... .......... .......... 41% 669K 12s + 3150K .......... .......... .......... .......... .......... 41% 650K 12s + 3200K .......... .......... .......... .......... .......... 42% 1.53M 12s + 3250K .......... .......... .......... .......... .......... 42% 1.07M 12s + 3300K .......... .......... .......... .......... .......... 43% 8.02M 11s + 3350K .......... .......... .......... .......... .......... 44% 672K 11s + 3400K .......... .......... .......... .......... .......... 44% 631K 11s + 3450K .......... .......... .......... .......... .......... 45% 1.78M 11s + 3500K .......... .......... .......... .......... .......... 46% 1005K 10s + 3550K .......... .......... .......... .......... .......... 46% 11.5M 10s + 3600K .......... .......... .......... .......... .......... 47% 684K 10s + 3650K .......... .......... .......... .......... .......... 48% 423K 10s + 3700K .......... .......... .......... .......... .......... 48% 414K 10s + 3750K .......... .......... .......... .......... .......... 49% 247K 10s + 3800K .......... .......... .......... .......... .......... 50% 940K 10s + 3850K .......... .......... .......... .......... .......... 50% 8.21M 9s + 3900K .......... .......... .......... .......... .......... 51% 36.6M 9s + 3950K .......... .......... .......... .......... .......... 52% 95.1M 9s + 4000K .......... .......... .......... .......... .......... 52% 26.3M 9s + 4050K .......... .......... .......... .......... .......... 53% 46.8M 8s + 4100K .......... .......... .......... .......... .......... 54% 28.8M 8s + 4150K .......... .......... .......... .......... .......... 54% 25.4M 8s + 4200K .......... .......... .......... .......... .......... 55% 1.55M 8s + 4250K .......... .......... .......... .......... .......... 56% 1.03M 8s + 4300K .......... .......... .......... .......... .......... 56% 1.29M 7s + 4350K .......... .......... .......... .......... .......... 57% 2.78M 7s + 4400K .......... .......... .......... .......... .......... 57% 909K 7s + 4450K .......... .......... .......... .......... .......... 58% 1.46M 7s + 4500K .......... .......... .......... .......... .......... 59% 612K 7s + 4550K .......... .......... .......... .......... .......... 59% 4.12M 7s + 4600K .......... .......... .......... .......... .......... 60% 1.39M 6s + 4650K .......... .......... .......... .......... .......... 61% 2.11M 6s + 4700K .......... .......... .......... .......... .......... 61% 934K 6s + 4750K .......... .......... .......... .......... .......... 62% 700K 6s + 4800K .......... .......... .......... .......... .......... 63% 1.11M 6s + 4850K .......... .......... .......... .......... .......... 63% 1.20M 6s + 4900K .......... .......... .......... .......... .......... 64% 2.64M 6s + 4950K .......... .......... .......... .......... .......... 65% 1.74M 5s + 5000K .......... .......... .......... .......... .......... 65% 915K 5s + 5050K .......... .......... .......... .......... .......... 66% 890K 5s + 5100K .......... .......... .......... .......... .......... 67% 893K 5s + 5150K .......... .......... .......... .......... .......... 67% 2.24M 5s + 5200K .......... .......... .......... .......... .......... 68% 1.45M 5s + 5250K .......... .......... .......... .......... .......... 69% 1.30M 5s + 5300K .......... .......... .......... .......... .......... 69% 1.52M 5s + 5350K .......... .......... .......... .......... .......... 70% 579K 4s + 5400K .......... .......... .......... .......... .......... 70% 2.83M 4s + 5450K .......... .......... .......... .......... .......... 71% 1.53M 4s + 5500K .......... .......... .......... .......... .......... 72% 2.13M 4s + 5550K .......... .......... .......... .......... .......... 72% 1.05M 4s + 5600K .......... .......... .......... .......... .......... 73% 662K 4s + 5650K .......... .......... .......... .......... .......... 74% 1.14M 4s + 5700K .......... .......... .......... .......... .......... 74% 1.35M 4s + 5750K .......... .......... .......... .......... .......... 75% 3.14M 4s + 5800K .......... .......... .......... .......... .......... 76% 2.24M 3s + 5850K .......... .......... .......... .......... .......... 76% 966K 3s + 5900K .......... .......... .......... .......... .......... 77% 789K 3s + 5950K .......... .......... .......... .......... .......... 78% 1.07M 3s + 6000K .......... .......... .......... .......... .......... 78% 1.19M 3s + 6050K .......... .......... .......... .......... .......... 79% 2.15M 3s + 6100K .......... .......... .......... .......... .......... 80% 1.79M 3s + 6150K .......... .......... .......... .......... .......... 80% 1000K 3s + 6200K .......... .......... .......... .......... .......... 81% 978K 3s + 6250K .......... .......... .......... .......... .......... 82% 978K 2s + 6300K .......... .......... .......... .......... .......... 82% 1.52M 2s + 6350K .......... .......... .......... .......... .......... 83% 1.82M 2s + 6400K .......... .......... .......... .......... .......... 84% 1.28M 2s + 6450K .......... .......... .......... .......... .......... 84% 1.35M 2s + 6500K .......... .......... .......... .......... .......... 85% 541K 2s + 6550K .......... .......... .......... .......... .......... 85% 3.42M 2s + 6600K .......... .......... .......... .......... .......... 86% 1.80M 2s + 6650K .......... .......... .......... .......... .......... 87% 1.56M 2s + 6700K .......... .......... .......... .......... .......... 87% 1.43M 2s + 6750K .......... .......... .......... .......... .......... 88% 1.25M 2s + 6800K .......... .......... .......... .......... .......... 89% 551K 1s + 6850K .......... .......... .......... .......... .......... 89% 4.14M 1s + 6900K .......... .......... .......... .......... .......... 90% 1.59M 1s + 6950K .......... .......... .......... .......... .......... 91% 1.54M 1s + 7000K .......... .......... .......... .......... .......... 91% 1.04M 1s + 7050K .......... .......... .......... .......... .......... 92% 813K 1s + 7100K .......... .......... .......... .......... .......... 93% 977K 1s + 7150K .......... .......... .......... .......... .......... 93% 3.60M 1s + 7200K .......... .......... .......... .......... .......... 94% 1.30M 1s + 7250K .......... .......... .......... .......... .......... 95% 1.98M 1s + 7300K .......... .......... .......... .......... .......... 95% 1.10M 1s + 7350K .......... .......... .......... .......... .......... 96% 748K 0s + 7400K .......... .......... .......... .......... .......... 97% 924K 0s + 7450K .......... .......... .......... .......... .......... 97% 1.84M 0s + 7500K .......... .......... .......... .......... .......... 98% 3.35M 0s + 7550K .......... .......... .......... .......... .......... 98% 1.42M 0s + 7600K .......... .......... .......... .......... .......... 99% 875K 0s + 7650K .......... .......... ....... 100% 18.2M=12s + +2018-12-25 10:53:29 (620 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + creating: 2112_brunch/ + inflating: 2112_brunch/contact-page.html + creating: 2112_brunch/css/ + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + creating: 2112_brunch/css/fonts/ + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + creating: 2112_brunch/fonts/ + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + creating: 2112_brunch/img/ + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + creating: 2112_brunch/js/ + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + creating: 2112_brunch/js/vendor/ + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + creating: 2112_brunch/videos/ + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 10:58:51-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:58:53-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 56.3K 2m15s + 50K .......... .......... .......... .......... .......... 1% 190K 87s + 100K .......... .......... .......... .......... .......... 1% 119K 79s + 150K .......... .......... .......... .......... .......... 2% 209K 68s + 200K .......... .......... .......... .......... .......... 3% 236K 60s + 250K .......... .......... .......... .......... .......... 3% 2.70M 50s + 300K .......... .......... .......... .......... .......... 4% 232K 47s + 350K .......... .......... .......... .......... .......... 5% 2.17M 41s + 400K .......... .......... .......... .......... .......... 5% 257K 40s + 450K .......... .......... .......... .......... .......... 6% 1.25M 36s + 500K .......... .......... .......... .......... .......... 7% 242K 35s + 550K .......... .......... .......... .......... .......... 7% 32.1M 32s + 600K .......... .......... .......... .......... .......... 8% 5.74M 30s + 650K .......... .......... .......... .......... .......... 9% 219K 29s + 700K .......... .......... .......... .......... .......... 9% 33.9M 27s + 750K .......... .......... .......... .......... .......... 10% 64.2M 25s + 800K .......... .......... .......... .......... .......... 11% 286K 25s + 850K .......... .......... .......... .......... .......... 11% 1.14M 24s + 900K .......... .......... .......... .......... .......... 12% 4.37M 23s + 950K .......... .......... .......... .......... .......... 13% 60.6M 21s + 1000K .......... .......... .......... .......... .......... 13% 102M 20s + 1050K .......... .......... .......... .......... .......... 14% 258K 20s + 1100K .......... .......... .......... .......... .......... 14% 2.10M 19s + 1150K .......... .......... .......... .......... .......... 15% 21.3M 18s + 1200K .......... .......... .......... .......... .......... 16% 3.83M 18s + 1250K .......... .......... .......... .......... .......... 16% 8.81M 17s + 1300K .......... .......... .......... .......... .......... 17% 284K 17s + 1350K .......... .......... .......... .......... .......... 18% 1.90M 16s + 1400K .......... .......... .......... .......... .......... 18% 10.9M 16s + 1450K .......... .......... .......... .......... .......... 19% 2.08M 15s + 1500K .......... .......... .......... .......... .......... 20% 35.8M 14s + 1550K .......... .......... .......... .......... .......... 20% 13.7M 14s + 1600K .......... .......... .......... .......... .......... 21% 269K 14s + 1650K .......... .......... .......... .......... .......... 22% 2.58M 14s + 1700K .......... .......... .......... .......... .......... 22% 4.07M 13s + 1750K .......... .......... .......... .......... .......... 23% 2.10M 13s + 1800K .......... .......... .......... .......... .......... 24% 48.7M 12s + 1850K .......... .......... .......... .......... .......... 24% 95.7M 12s + 1900K .......... .......... .......... .......... .......... 25% 13.5M 11s + 1950K .......... .......... .......... .......... .......... 26% 51.1M 11s + 2000K .......... .......... .......... .......... .......... 26% 285K 11s + 2050K .......... .......... .......... .......... .......... 27% 2.31M 11s + 2100K .......... .......... .......... .......... .......... 28% 99.6M 11s + 2150K .......... .......... .......... .......... .......... 28% 60.1M 10s + 2200K .......... .......... .......... .......... .......... 29% 2.23M 10s + 2250K .......... .......... .......... .......... .......... 29% 2.33M 10s + 2300K .......... .......... .......... .......... .......... 30% 34.5M 9s + 2350K .......... .......... .......... .......... .......... 31% 45.0M 9s + 2400K .......... .......... .......... .......... .......... 31% 398K 9s + 2450K .......... .......... .......... .......... .......... 32% 3.27M 9s + 2500K .......... .......... .......... .......... .......... 33% 109M 9s + 2550K .......... .......... .......... .......... .......... 33% 1.84M 8s + 2600K .......... .......... .......... .......... .......... 34% 2.26M 8s + 2650K .......... .......... .......... .......... .......... 35% 8.19M 8s + 2700K .......... .......... .......... .......... .......... 35% 5.65M 8s + 2750K .......... .......... .......... .......... .......... 36% 60.0M 8s + 2800K .......... .......... .......... .......... .......... 37% 1.71M 7s + 2850K .......... .......... .......... .......... .......... 37% 8.25M 7s + 2900K .......... .......... .......... .......... .......... 38% 106M 7s + 2950K .......... .......... .......... .......... .......... 39% 388K 7s + 3000K .......... .......... .......... .......... .......... 39% 6.18M 7s + 3050K .......... .......... .......... .......... .......... 40% 63.3M 7s + 3100K .......... .......... .......... .......... .......... 41% 3.64M 7s + 3150K .......... .......... .......... .......... .......... 41% 3.08M 6s + 3200K .......... .......... .......... .......... .......... 42% 1.87M 6s + 3250K .......... .......... .......... .......... .......... 42% 3.25M 6s + 3300K .......... .......... .......... .......... .......... 43% 15.0M 6s + 3350K .......... .......... .......... .......... .......... 44% 61.2M 6s + 3400K .......... .......... .......... .......... .......... 44% 5.37M 6s + 3450K .......... .......... .......... .......... .......... 45% 3.23M 6s + 3500K .......... .......... .......... .......... .......... 46% 106M 5s + 3550K .......... .......... .......... .......... .......... 46% 64.5M 5s + 3600K .......... .......... .......... .......... .......... 47% 456K 5s + 3650K .......... .......... .......... .......... .......... 48% 3.21M 5s + 3700K .......... .......... .......... .......... .......... 48% 9.14M 5s + 3750K .......... .......... .......... .......... .......... 49% 8.24M 5s + 3800K .......... .......... .......... .......... .......... 50% 1.91M 5s + 3850K .......... .......... .......... .......... .......... 50% 3.57M 5s + 3900K .......... .......... .......... .......... .......... 51% 32.5M 5s + 3950K .......... .......... .......... .......... .......... 52% 109M 4s + 4000K .......... .......... .......... .......... .......... 52% 1.94M 4s + 4050K .......... .......... .......... .......... .......... 53% 3.05M 4s + 4100K .......... .......... .......... .......... .......... 54% 12.3M 4s + 4150K .......... .......... .......... .......... .......... 54% 10.1M 4s + 4200K .......... .......... .......... .......... .......... 55% 12.7M 4s + 4250K .......... .......... .......... .......... .......... 56% 2.81M 4s + 4300K .......... .......... .......... .......... .......... 56% 27.3M 4s + 4350K .......... .......... .......... .......... .......... 57% 47.7M 4s + 4400K .......... .......... .......... .......... .......... 57% 599K 4s + 4450K .......... .......... .......... .......... .......... 58% 3.76M 4s + 4500K .......... .......... .......... .......... .......... 59% 2.91M 3s + 4550K .......... .......... .......... .......... .......... 59% 8.45M 3s + 4600K .......... .......... .......... .......... .......... 60% 8.49M 3s + 4650K .......... .......... .......... .......... .......... 61% 5.00M 3s + 4700K .......... .......... .......... .......... .......... 61% 3.35M 3s + 4750K .......... .......... .......... .......... .......... 62% 4.57M 3s + 4800K .......... .......... .......... .......... .......... 63% 3.83M 3s + 4850K .......... .......... .......... .......... .......... 63% 6.31M 3s + 4900K .......... .......... .......... .......... .......... 64% 108M 3s + 4950K .......... .......... .......... .......... .......... 65% 4.94M 3s + 5000K .......... .......... .......... .......... .......... 65% 2.93M 3s + 5050K .......... .......... .......... .......... .......... 66% 29.5M 3s + 5100K .......... .......... .......... .......... .......... 67% 2.96M 3s + 5150K .......... .......... .......... .......... .......... 67% 8.58M 2s + 5200K .......... .......... .......... .......... .......... 68% 12.2M 2s + 5250K .......... .......... .......... .......... .......... 69% 2.41M 2s + 5300K .......... .......... .......... .......... .......... 69% 111M 2s + 5350K .......... .......... .......... .......... .......... 70% 1.64M 2s + 5400K .......... .......... .......... .......... .......... 70% 1.21M 2s + 5450K .......... .......... .......... .......... .......... 71% 2.95M 2s + 5500K .......... .......... .......... .......... .......... 72% 3.35M 2s + 5550K .......... .......... .......... .......... .......... 72% 1.79M 2s + 5600K .......... .......... .......... .......... .......... 73% 5.52M 2s + 5650K .......... .......... .......... .......... .......... 74% 6.18M 2s + 5700K .......... .......... .......... .......... .......... 74% 1.79M 2s + 5750K .......... .......... .......... .......... .......... 75% 995K 2s + 5800K .......... .......... .......... .......... .......... 76% 3.13M 2s + 5850K .......... .......... .......... .......... .......... 76% 32.9M 2s + 5900K .......... .......... .......... .......... .......... 77% 589K 2s + 5950K .......... .......... .......... .......... .......... 78% 274K 2s + 6000K .......... .......... .......... .......... .......... 78% 751K 2s + 6050K .......... .......... .......... .......... .......... 79% 2.14M 1s + 6100K .......... .......... .......... .......... .......... 80% 406K 1s + 6150K .......... .......... .......... .......... .......... 80% 2.49M 1s + 6200K .......... .......... .......... .......... .......... 81% 7.06M 1s + 6250K .......... .......... .......... .......... .......... 82% 12.1M 1s + 6300K .......... .......... .......... .......... .......... 82% 129M 1s + 6350K .......... .......... .......... .......... .......... 83% 70.4M 1s + 6400K .......... .......... .......... .......... .......... 84% 51.1M 1s + 6450K .......... .......... .......... .......... .......... 84% 59.4M 1s + 6500K .......... .......... .......... .......... .......... 85% 98.2M 1s + 6550K .......... .......... .......... .......... .......... 85% 60.5M 1s + 6600K .......... .......... .......... .......... .......... 86% 46.2M 1s + 6650K .......... .......... .......... .......... .......... 87% 60.6M 1s + 6700K .......... .......... .......... .......... .......... 87% 53.1M 1s + 6750K .......... .......... .......... .......... .......... 88% 59.5M 1s + 6800K .......... .......... .......... .......... .......... 89% 22.0M 1s + 6850K .......... .......... .......... .......... .......... 89% 72.1M 1s + 6900K .......... .......... .......... .......... .......... 90% 54.5M 1s + 6950K .......... .......... .......... .......... .......... 91% 98.8M 1s + 7000K .......... .......... .......... .......... .......... 91% 59.1M 1s + 7050K .......... .......... .......... .......... .......... 92% 63.7M 0s + 7100K .......... .......... .......... .......... .......... 93% 106M 0s + 7150K .......... .......... .......... .......... .......... 93% 60.1M 0s + 7200K .......... .......... .......... .......... .......... 94% 46.5M 0s + 7250K .......... .......... .......... .......... .......... 95% 60.8M 0s + 7300K .......... .......... .......... .......... .......... 95% 59.1M 0s + 7350K .......... .......... .......... .......... .......... 96% 100M 0s + 7400K .......... .......... .......... .......... .......... 97% 40.2M 0s + 7450K .......... .......... .......... .......... .......... 97% 54.4M 0s + 7500K .......... .......... .......... .......... .......... 98% 102M 0s + 7550K .......... .......... .......... .......... .......... 98% 63.4M 0s + 7600K .......... .......... .......... .......... .......... 99% 89.0M 0s + 7650K .......... .......... ....... 100% 49.4M=5.9s + +2018-12-25 10:59:00 (1.27 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 11:00:59-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 11:01:00-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 53.1K 2m24s + 50K .......... .......... .......... .......... .......... 1% 230K 88s + 100K .......... .......... .......... .......... .......... 1% 224K 69s + 150K .......... .......... .......... .......... .......... 2% 208K 61s + 200K .......... .......... .......... .......... .......... 3% 218K 55s + 250K .......... .......... .......... .......... .......... 3% 247K 51s + 300K .......... .......... .......... .......... .......... 4% 1.21M 44s + 350K .......... .......... .......... .......... .......... 5% 269K 42s + 400K .......... .......... .......... .......... .......... 5% 955K 37s + 450K .......... .......... .......... .......... .......... 6% 5.49M 34s + 500K .......... .......... .......... .......... .......... 7% 238K 33s + 550K .......... .......... .......... .......... .......... 7% 2.14M 30s + 600K .......... .......... .......... .......... .......... 8% 305K 30s + 650K .......... .......... .......... .......... .......... 9% 978K 28s + 700K .......... .......... .......... .......... .......... 9% 1.67M 26s + 750K .......... .......... .......... .......... .......... 10% 13.6M 24s + 800K .......... .......... .......... .......... .......... 11% 288K 24s + 850K .......... .......... .......... .......... .......... 11% 1.50M 23s + 900K .......... .......... .......... .......... .......... 12% 2.17M 22s + 950K .......... .......... .......... .......... .......... 13% 4.56M 20s + 1000K .......... .......... .......... .......... .......... 13% 319K 20s + 1050K .......... .......... .......... .......... .......... 14% 1.50M 19s + 1100K .......... .......... .......... .......... .......... 14% 1.64M 19s + 1150K .......... .......... .......... .......... .......... 15% 1.67M 18s + 1200K .......... .......... .......... .......... .......... 16% 478K 18s + 1250K .......... .......... .......... .......... .......... 16% 1.60M 17s + 1300K .......... .......... .......... .......... .......... 17% 1.84M 16s + 1350K .......... .......... .......... .......... .......... 18% 2.69M 16s + 1400K .......... .......... .......... .......... .......... 18% 2.18M 15s + 1450K .......... .......... .......... .......... .......... 19% 2.39M 15s + 1500K .......... .......... .......... .......... .......... 20% 4.52M 14s + 1550K .......... .......... .......... .......... .......... 20% 389K 14s + 1600K .......... .......... .......... .......... .......... 21% 3.13M 13s + 1650K .......... .......... .......... .......... .......... 22% 2.06M 13s + 1700K .......... .......... .......... .......... .......... 22% 2.78M 13s + 1750K .......... .......... .......... .......... .......... 23% 2.86M 12s + 1800K .......... .......... .......... .......... .......... 24% 1.60M 12s + 1850K .......... .......... .......... .......... .......... 24% 3.02M 12s + 1900K .......... .......... .......... .......... .......... 25% 588K 11s + 1950K .......... .......... .......... .......... .......... 26% 1.25M 11s + 2000K .......... .......... .......... .......... .......... 26% 2.81M 11s + 2050K .......... .......... .......... .......... .......... 27% 8.98M 10s + 2100K .......... .......... .......... .......... .......... 28% 2.72M 10s + 2150K .......... .......... .......... .......... .......... 28% 6.87M 10s + 2200K .......... .......... .......... .......... .......... 29% 2.79M 10s + 2250K .......... .......... .......... .......... .......... 29% 1.59M 9s + 2300K .......... .......... .......... .......... .......... 30% 3.86M 9s + 2350K .......... .......... .......... .......... .......... 31% 4.50M 9s + 2400K .......... .......... .......... .......... .......... 31% 501K 9s + 2450K .......... .......... .......... .......... .......... 32% 1.61M 9s + 2500K .......... .......... .......... .......... .......... 33% 6.53M 8s + 2550K .......... .......... .......... .......... .......... 33% 4.67M 8s + 2600K .......... .......... .......... .......... .......... 34% 2.18M 8s + 2650K .......... .......... .......... .......... .......... 35% 98.3M 8s + 2700K .......... .......... .......... .......... .......... 35% 2.38M 8s + 2750K .......... .......... .......... .......... .......... 36% 4.03M 7s + 2800K .......... .......... .......... .......... .......... 37% 4.31M 7s + 2850K .......... .......... .......... .......... .......... 37% 3.00M 7s + 2900K .......... .......... .......... .......... .......... 38% 9.32M 7s + 2950K .......... .......... .......... .......... .......... 39% 707K 7s + 3000K .......... .......... .......... .......... .......... 39% 1.44M 7s + 3050K .......... .......... .......... .......... .......... 40% 2.46M 6s + 3100K .......... .......... .......... .......... .......... 41% 3.21M 6s + 3150K .......... .......... .......... .......... .......... 41% 31.6M 6s + 3200K .......... .......... .......... .......... .......... 42% 2.47M 6s + 3250K .......... .......... .......... .......... .......... 42% 1.99M 6s + 3300K .......... .......... .......... .......... .......... 43% 10.7M 6s + 3350K .......... .......... .......... .......... .......... 44% 2.71M 6s + 3400K .......... .......... .......... .......... .......... 44% 8.15M 5s + 3450K .......... .......... .......... .......... .......... 45% 2.48M 5s + 3500K .......... .......... .......... .......... .......... 46% 4.56M 5s + 3550K .......... .......... .......... .......... .......... 46% 3.88M 5s + 3600K .......... .......... .......... .......... .......... 47% 1.38M 5s + 3650K .......... .......... .......... .......... .......... 48% 2.99M 5s + 3700K .......... .......... .......... .......... .......... 48% 1.61M 5s + 3750K .......... .......... .......... .......... .......... 49% 2.43M 5s + 3800K .......... .......... .......... .......... .......... 50% 1.28M 5s + 3850K .......... .......... .......... .......... .......... 50% 4.21M 5s + 3900K .......... .......... .......... .......... .......... 51% 106M 4s + 3950K .......... .......... .......... .......... .......... 52% 9.36M 4s + 4000K .......... .......... .......... .......... .......... 52% 3.30M 4s + 4050K .......... .......... .......... .......... .......... 53% 2.70M 4s + 4100K .......... .......... .......... .......... .......... 54% 1.27M 4s + 4150K .......... .......... .......... .......... .......... 54% 99.9M 4s + 4200K .......... .......... .......... .......... .......... 55% 9.55M 4s + 4250K .......... .......... .......... .......... .......... 56% 2.58M 4s + 4300K .......... .......... .......... .......... .......... 56% 44.7M 4s + 4350K .......... .......... .......... .......... .......... 57% 5.04M 4s + 4400K .......... .......... .......... .......... .......... 57% 1.98M 3s + 4450K .......... .......... .......... .......... .......... 58% 5.85M 3s + 4500K .......... .......... .......... .......... .......... 59% 2.46M 3s + 4550K .......... .......... .......... .......... .......... 59% 7.38M 3s + 4600K .......... .......... .......... .......... .......... 60% 4.88M 3s + 4650K .......... .......... .......... .......... .......... 61% 1.84M 3s + 4700K .......... .......... .......... .......... .......... 61% 12.9M 3s + 4750K .......... .......... .......... .......... .......... 62% 19.3M 3s + 4800K .......... .......... .......... .......... .......... 63% 1.45M 3s + 4850K .......... .......... .......... .......... .......... 63% 63.1M 3s + 4900K .......... .......... .......... .......... .......... 64% 1.95M 3s + 4950K .......... .......... .......... .......... .......... 65% 1.75M 3s + 5000K .......... .......... .......... .......... .......... 65% 5.34M 3s + 5050K .......... .......... .......... .......... .......... 66% 62.1M 3s + 5100K .......... .......... .......... .......... .......... 67% 63.8M 2s + 5150K .......... .......... .......... .......... .......... 67% 3.60M 2s + 5200K .......... .......... .......... .......... .......... 68% 1.82M 2s + 5250K .......... .......... .......... .......... .......... 69% 18.0M 2s + 5300K .......... .......... .......... .......... .......... 69% 1.71M 2s + 5350K .......... .......... .......... .......... .......... 70% 5.82M 2s + 5400K .......... .......... .......... .......... .......... 70% 2.86M 2s + 5450K .......... .......... .......... .......... .......... 71% 24.2M 2s + 5500K .......... .......... .......... .......... .......... 72% 9.03M 2s + 5550K .......... .......... .......... .......... .......... 72% 2.16M 2s + 5600K .......... .......... .......... .......... .......... 73% 11.9M 2s + 5650K .......... .......... .......... .......... .......... 74% 5.26M 2s + 5700K .......... .......... .......... .......... .......... 74% 2.37M 2s + 5750K .......... .......... .......... .......... .......... 75% 4.84M 2s + 5800K .......... .......... .......... .......... .......... 76% 3.90M 2s + 5850K .......... .......... .......... .......... .......... 76% 2.50M 2s + 5900K .......... .......... .......... .......... .......... 77% 23.2M 2s + 5950K .......... .......... .......... .......... .......... 78% 1.58M 1s + 6000K .......... .......... .......... .......... .......... 78% 4.74M 1s + 6050K .......... .......... .......... .......... .......... 79% 79.5M 1s + 6100K .......... .......... .......... .......... .......... 80% 1.52M 1s + 6150K .......... .......... .......... .......... .......... 80% 1.77M 1s + 6200K .......... .......... .......... .......... .......... 81% 1.30M 1s + 6250K .......... .......... .......... .......... .......... 82% 94.5M 1s + 6300K .......... .......... .......... .......... .......... 82% 13.1M 1s + 6350K .......... .......... .......... .......... .......... 83% 2.75M 1s + 6400K .......... .......... .......... .......... .......... 84% 27.9M 1s + 6450K .......... .......... .......... .......... .......... 84% 43.4M 1s + 6500K .......... .......... .......... .......... .......... 85% 2.99M 1s + 6550K .......... .......... .......... .......... .......... 85% 2.78M 1s + 6600K .......... .......... .......... .......... .......... 86% 6.24M 1s + 6650K .......... .......... .......... .......... .......... 87% 7.04M 1s + 6700K .......... .......... .......... .......... .......... 87% 2.26M 1s + 6750K .......... .......... .......... .......... .......... 88% 9.65M 1s + 6800K .......... .......... .......... .......... .......... 89% 55.9M 1s + 6850K .......... .......... .......... .......... .......... 89% 1.77M 1s + 6900K .......... .......... .......... .......... .......... 90% 132K 1s + 6950K .......... .......... .......... .......... .......... 91% 30.5M 1s + 7000K .......... .......... .......... .......... .......... 91% 4.55M 1s + 7050K .......... .......... .......... .......... .......... 92% 2.23M 0s + 7100K .......... .......... .......... .......... .......... 93% 4.57M 0s + 7150K .......... .......... .......... .......... .......... 93% 106M 0s + 7200K .......... .......... .......... .......... .......... 94% 44.0M 0s + 7250K .......... .......... .......... .......... .......... 95% 4.72M 0s + 7300K .......... .......... .......... .......... .......... 95% 59.5M 0s + 7350K .......... .......... .......... .......... .......... 96% 99.6M 0s + 7400K .......... .......... .......... .......... .......... 97% 54.3M 0s + 7450K .......... .......... .......... .......... .......... 97% 32.6M 0s + 7500K .......... .......... .......... .......... .......... 98% 103M 0s + 7550K .......... .......... .......... .......... .......... 98% 55.5M 0s + 7600K .......... .......... .......... .......... .......... 99% 45.9M 0s + 7650K .......... .......... ....... 100% 39.9M=5.9s + +2018-12-25 11:01:07 (1.27 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +################################################ +################################################ +######################################################################## +# Running Websetup on 192.168.5.4.# +######################################################################## +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +You need to be root to perform this command. +################################################################ + + +Starting and Enabling Service +Failed to start httpd.service: Interactive authentication required. +See system logs and 'systemctl status httpd.service' for details. +Failed to execute operation: Interactive authentication required. +################################################################ + + +Copying website data +/tmp/websetupmulti.sh: line 36: wget: command not found +/tmp/websetupmulti.sh: line 37: unzip: command not found +cp: cannot stat ‘/tmp/2104_sloopa/*’: No such file or directory + + +Restarting Service +Failed to restart httpd.service: Interactive authentication required. +See system logs and 'systemctl status httpd.service' for details. +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +You need to be root to perform this command. +################################################################ + + +Starting and Enabling Service +Failed to start httpd.service: Interactive authentication required. +See system logs and 'systemctl status httpd.service' for details. +Failed to execute operation: Interactive authentication required. +################################################################ + + +Copying website data +/tmp/websetupmulti.sh: line 36: wget: command not found +/tmp/websetupmulti.sh: line 37: unzip: command not found +cp: cannot stat ‘/tmp/2112_brunch/*’: No such file or directory + + +Restarting Service +Failed to restart httpd.service: Interactive authentication required. +See system logs and 'systemctl status httpd.service' for details. +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Determining fastest mirrors + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Resolving Dependencies +--> Running transaction check +---> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed +--> Processing Dependency: httpd-tools = 2.4.6-88.el7.centos for package: httpd-2.4.6-88.el7.centos.x86_64 +--> Processing Dependency: system-logos >= 7.92.1-1 for package: httpd-2.4.6-88.el7.centos.x86_64 +--> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-88.el7.centos.x86_64 +--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-88.el7.centos.x86_64 +--> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-88.el7.centos.x86_64 +---> Package unzip.x86_64 0:6.0-19.el7 will be installed +---> Package wget.x86_64 0:1.14-18.el7 will be installed +--> Running transaction check +---> Package apr.x86_64 0:1.4.8-3.el7_4.1 will be installed +---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed +---> Package centos-logos.noarch 0:70.0.6-3.el7.centos will be installed +---> Package httpd-tools.x86_64 0:2.4.6-88.el7.centos will be installed +---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed +--> Finished Dependency Resolution + +Dependencies Resolved + +================================================================================ + Package Arch Version Repository Size +================================================================================ +Installing: + httpd x86_64 2.4.6-88.el7.centos base 2.7 M + unzip x86_64 6.0-19.el7 base 170 k + wget x86_64 1.14-18.el7 base 547 k +Installing for dependencies: + apr x86_64 1.4.8-3.el7_4.1 base 103 k + apr-util x86_64 1.5.2-6.el7 base 92 k + centos-logos noarch 70.0.6-3.el7.centos base 21 M + httpd-tools x86_64 2.4.6-88.el7.centos base 90 k + mailcap noarch 2.1.41-2.el7 base 31 k + +Transaction Summary +================================================================================ +Install 3 Packages (+5 Dependent packages) + +Total download size: 25 M +Installed size: 34 M +Downloading packages: +warning: /var/cache/yum/x86_64/7/base/packages/apr-util-1.5.2-6.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY +Public key for apr-util-1.5.2-6.el7.x86_64.rpm is not installed +-------------------------------------------------------------------------------- +Total 3.6 MB/s | 25 MB 00:06 +Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 +Importing GPG key 0xF4A80EB5: + Userid : "CentOS-7 Key (CentOS 7 Official Signing Key) " + Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5 + Package : centos-release-7-5.1804.4.el7.centos.x86_64 (@koji-override-1) + From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 +Running transaction check +Running transaction test +Transaction test succeeded +Running transaction + Installing : apr-1.4.8-3.el7_4.1.x86_64 1/8 + Installing : apr-util-1.5.2-6.el7.x86_64 2/8 + Installing : httpd-tools-2.4.6-88.el7.centos.x86_64 3/8 + Installing : centos-logos-70.0.6-3.el7.centos.noarch 4/8 + Installing : mailcap-2.1.41-2.el7.noarch 5/8 + Installing : httpd-2.4.6-88.el7.centos.x86_64 6/8 + Installing : unzip-6.0-19.el7.x86_64 7/8 + Installing : wget-1.14-18.el7.x86_64 8/8 + Verifying : mailcap-2.1.41-2.el7.noarch 1/8 + Verifying : apr-util-1.5.2-6.el7.x86_64 2/8 + Verifying : wget-1.14-18.el7.x86_64 3/8 + Verifying : httpd-tools-2.4.6-88.el7.centos.x86_64 4/8 + Verifying : unzip-6.0-19.el7.x86_64 5/8 + Verifying : httpd-2.4.6-88.el7.centos.x86_64 6/8 + Verifying : apr-1.4.8-3.el7_4.1.x86_64 7/8 + Verifying : centos-logos-70.0.6-3.el7.centos.noarch 8/8 + +Installed: + httpd.x86_64 0:2.4.6-88.el7.centos unzip.x86_64 0:6.0-19.el7 + wget.x86_64 0:1.14-18.el7 + +Dependency Installed: + apr.x86_64 0:1.4.8-3.el7_4.1 + apr-util.x86_64 0:1.5.2-6.el7 + centos-logos.noarch 0:70.0.6-3.el7.centos + httpd-tools.x86_64 0:2.4.6-88.el7.centos + mailcap.noarch 0:2.1.41-2.el7 + +Complete! +################################################################ + + +Starting and Enabling Service +Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. +################################################################ + + +Copying website data +wget: missing URL +Usage: wget [OPTION]... [URL]... + +Try `wget --help' for more options. +unzip: cannot find or open website.zip, website.zip.zip or website.zip.ZIP. + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +wget: missing URL +Usage: wget [OPTION]... [URL]... + +Try `wget --help' for more options. +unzip: cannot find or open website.zip, website.zip.zip or website.zip.ZIP. + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +wget: missing URL +Usage: wget [OPTION]... [URL]... + +Try `wget --help' for more options. +unzip: cannot find or open website.zip, website.zip.zip or website.zip.ZIP. + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 10:18:15-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:18:16-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 71.9K 1m46s + 50K .......... .......... .......... .......... .......... 1% 223K 70s + 100K .......... .......... .......... .......... .......... 1% 212K 58s + 150K .......... .......... .......... .......... .......... 2% 208K 52s + 200K .......... .......... .......... .......... .......... 3% 217K 48s + 250K .......... .......... .......... .......... .......... 3% 219K 46s + 300K .......... .......... .......... .......... .......... 4% 255K 43s + 350K .......... .......... .......... .......... .......... 5% 1.79M 38s + 400K .......... .......... .......... .......... .......... 5% 205K 37s + 450K .......... .......... .......... .......... .......... 6% 21.1M 33s + 500K .......... .......... .......... .......... .......... 7% 207K 33s + 550K .......... .......... .......... .......... .......... 7% 9.04M 30s + 600K .......... .......... .......... .......... .......... 8% 299K 30s + 650K .......... .......... .......... .......... .......... 9% 1.28M 28s + 700K .......... .......... .......... .......... .......... 9% 3.15M 26s + 750K .......... .......... .......... .......... .......... 10% 276K 26s + 800K .......... .......... .......... .......... .......... 11% 397K 25s + 850K .......... .......... .......... .......... .......... 11% 27.8M 23s + 900K .......... .......... .......... .......... .......... 12% 109M 22s + 950K .......... .......... .......... .......... .......... 13% 432K 21s + 1000K .......... .......... .......... .......... .......... 13% 1.40M 21s + 1050K .......... .......... .......... .......... .......... 14% 3.53M 20s + 1100K .......... .......... .......... .......... .......... 14% 4.08M 19s + 1150K .......... .......... .......... .......... .......... 15% 289K 19s + 1200K .......... .......... .......... .......... .......... 16% 1.70M 18s + 1250K .......... .......... .......... .......... .......... 16% 5.90M 17s + 1300K .......... .......... .......... .......... .......... 17% 2.96M 16s + 1350K .......... .......... .......... .......... .......... 18% 4.35M 16s + 1400K .......... .......... .......... .......... .......... 18% 303K 16s + 1450K .......... .......... .......... .......... .......... 19% 4.99M 15s + 1500K .......... .......... .......... .......... .......... 20% 1001K 15s + 1550K .......... .......... .......... .......... .......... 20% 75.9M 14s + 1600K .......... .......... .......... .......... .......... 21% 1.96M 14s + 1650K .......... .......... .......... .......... .......... 22% 58.4M 13s + 1700K .......... .......... .......... .......... .......... 22% 397K 13s + 1750K .......... .......... .......... .......... .......... 23% 2.28M 13s + 1800K .......... .......... .......... .......... .......... 24% 932K 13s + 1850K .......... .......... .......... .......... .......... 24% 27.1M 12s + 1900K .......... .......... .......... .......... .......... 25% 2.29M 12s + 1950K .......... .......... .......... .......... .......... 26% 3.08M 11s + 2000K .......... .......... .......... .......... .......... 26% 3.65M 11s + 2050K .......... .......... .......... .......... .......... 27% 107M 11s + 2100K .......... .......... .......... .......... .......... 28% 139K 11s + 2150K .......... .......... .......... .......... .......... 28% 1.60M 11s + 2200K .......... .......... .......... .......... .......... 29% 9.65M 11s + 2250K .......... .......... .......... .......... .......... 29% 110M 10s + 2300K .......... .......... .......... .......... .......... 30% 47.8M 10s + 2350K .......... .......... .......... .......... .......... 31% 62.4M 10s + 2400K .......... .......... .......... .......... .......... 31% 46.0M 9s + 2450K .......... .......... .......... .......... .......... 32% 34.8M 9s + 2500K .......... .......... .......... .......... .......... 33% 107M 9s + 2550K .......... .......... .......... .......... .......... 33% 268K 9s + 2600K .......... .......... .......... .......... .......... 34% 5.15M 9s + 2650K .......... .......... .......... .......... .......... 35% 3.53M 9s + 2700K .......... .......... .......... .......... .......... 35% 33.6M 8s + 2750K .......... .......... .......... .......... .......... 36% 77.5M 8s + 2800K .......... .......... .......... .......... .......... 37% 27.1M 8s + 2850K .......... .......... .......... .......... .......... 37% 39.8M 8s + 2900K .......... .......... .......... .......... .......... 38% 50.6M 7s + 2950K .......... .......... .......... .......... .......... 39% 1.45M 7s + 3000K .......... .......... .......... .......... .......... 39% 4.47M 7s + 3050K .......... .......... .......... .......... .......... 40% 1.16M 7s + 3100K .......... .......... .......... .......... .......... 41% 1.33M 7s + 3150K .......... .......... .......... .......... .......... 41% 33.8M 7s + 3200K .......... .......... .......... .......... .......... 42% 538K 7s + 3250K .......... .......... .......... .......... .......... 42% 1.33M 6s + 3300K .......... .......... .......... .......... .......... 43% 1.77M 6s + 3350K .......... .......... .......... .......... .......... 44% 2.64M 6s + 3400K .......... .......... .......... .......... .......... 44% 808K 6s + 3450K .......... .......... .......... .......... .......... 45% 47.2M 6s + 3500K .......... .......... .......... .......... .......... 46% 1022K 6s + 3550K .......... .......... .......... .......... .......... 46% 1.28M 6s + 3600K .......... .......... .......... .......... .......... 47% 1000K 6s + 3650K .......... .......... .......... .......... .......... 48% 3.89M 6s + 3700K .......... .......... .......... .......... .......... 48% 1.34M 5s + 3750K .......... .......... .......... .......... .......... 49% 1.39M 5s + 3800K .......... .......... .......... .......... .......... 50% 4.57M 5s + 3850K .......... .......... .......... .......... .......... 50% 763K 5s + 3900K .......... .......... .......... .......... .......... 51% 2.74M 5s + 3950K .......... .......... .......... .......... .......... 52% 662K 5s + 4000K .......... .......... .......... .......... .......... 52% 2.04M 5s + 4050K .......... .......... .......... .......... .......... 53% 32.5M 5s + 4100K .......... .......... .......... .......... .......... 54% 1.03M 5s + 4150K .......... .......... .......... .......... .......... 54% 4.15M 5s + 4200K .......... .......... .......... .......... .......... 55% 585K 4s + 4250K .......... .......... .......... .......... .......... 56% 29.2M 4s + 4300K .......... .......... .......... .......... .......... 56% 2.27M 4s + 4350K .......... .......... .......... .......... .......... 57% 1.86M 4s + 4400K .......... .......... .......... .......... .......... 57% 1.52M 4s + 4450K .......... .......... .......... .......... .......... 58% 1.25M 4s + 4500K .......... .......... .......... .......... .......... 59% 1.84M 4s + 4550K .......... .......... .......... .......... .......... 59% 1.26M 4s + 4600K .......... .......... .......... .......... .......... 60% 1.58M 4s + 4650K .......... .......... .......... .......... .......... 61% 1.31M 4s + 4700K .......... .......... .......... .......... .......... 61% 3.38M 4s + 4750K .......... .......... .......... .......... .......... 62% 2.47M 4s + 4800K .......... .......... .......... .......... .......... 63% 938K 3s + 4850K .......... .......... .......... .......... .......... 63% 1.31M 3s + 4900K .......... .......... .......... .......... .......... 64% 3.64M 3s + 4950K .......... .......... .......... .......... .......... 65% 977K 3s + 5000K .......... .......... .......... .......... .......... 65% 4.19M 3s + 5050K .......... .......... .......... .......... .......... 66% 1.40M 3s + 5100K .......... .......... .......... .......... .......... 67% 1.62M 3s + 5150K .......... .......... .......... .......... .......... 67% 3.23M 3s + 5200K .......... .......... .......... .......... .......... 68% 1.14M 3s + 5250K .......... .......... .......... .......... .......... 69% 1.07M 3s + 5300K .......... .......... .......... .......... .......... 69% 14.4M 3s + 5350K .......... .......... .......... .......... .......... 70% 967K 3s + 5400K .......... .......... .......... .......... .......... 70% 3.36M 3s + 5450K .......... .......... .......... .......... .......... 71% 1.65M 2s + 5500K .......... .......... .......... .......... .......... 72% 1.45M 2s + 5550K .......... .......... .......... .......... .......... 72% 7.40M 2s + 5600K .......... .......... .......... .......... .......... 73% 1.07M 2s + 5650K .......... .......... .......... .......... .......... 74% 1.02M 2s + 5700K .......... .......... .......... .......... .......... 74% 4.98M 2s + 5750K .......... .......... .......... .......... .......... 75% 1.05M 2s + 5800K .......... .......... .......... .......... .......... 76% 1.73M 2s + 5850K .......... .......... .......... .......... .......... 76% 2.17M 2s + 5900K .......... .......... .......... .......... .......... 77% 1.43M 2s + 5950K .......... .......... .......... .......... .......... 78% 4.98M 2s + 6000K .......... .......... .......... .......... .......... 78% 1.77M 2s + 6050K .......... .......... .......... .......... .......... 79% 1.10M 2s + 6100K .......... .......... .......... .......... .......... 80% 1.73M 2s + 6150K .......... .......... .......... .......... .......... 80% 1.50M 2s + 6200K .......... .......... .......... .......... .......... 81% 1.62M 2s + 6250K .......... .......... .......... .......... .......... 82% 2.10M 1s + 6300K .......... .......... .......... .......... .......... 82% 58.0M 1s + 6350K .......... .......... .......... .......... .......... 83% 1.52M 1s + 6400K .......... .......... .......... .......... .......... 84% 3.56M 1s + 6450K .......... .......... .......... .......... .......... 84% 981K 1s + 6500K .......... .......... .......... .......... .......... 85% 795K 1s + 6550K .......... .......... .......... .......... .......... 85% 65.9M 1s + 6600K .......... .......... .......... .......... .......... 86% 1.24M 1s + 6650K .......... .......... .......... .......... .......... 87% 191K 1s + 6700K .......... .......... .......... .......... .......... 87% 3.01M 1s + 6750K .......... .......... .......... .......... .......... 88% 14.7M 1s + 6800K .......... .......... .......... .......... .......... 89% 7.77M 1s + 6850K .......... .......... .......... .......... .......... 89% 92.9M 1s + 6900K .......... .......... .......... .......... .......... 90% 50.4M 1s + 6950K .......... .......... .......... .......... .......... 91% 48.9M 1s + 7000K .......... .......... .......... .......... .......... 91% 58.0M 1s + 7050K .......... .......... .......... .......... .......... 92% 61.4M 1s + 7100K .......... .......... .......... .......... .......... 93% 45.5M 1s + 7150K .......... .......... .......... .......... .......... 93% 65.7M 0s + 7200K .......... .......... .......... .......... .......... 94% 1.40M 0s + 7250K .......... .......... .......... .......... .......... 95% 763K 0s + 7300K .......... .......... .......... .......... .......... 95% 2.66M 0s + 7350K .......... .......... .......... .......... .......... 96% 789K 0s + 7400K .......... .......... .......... .......... .......... 97% 2.52M 0s + 7450K .......... .......... .......... .......... .......... 97% 1.58M 0s + 7500K .......... .......... .......... .......... .......... 98% 765K 0s + 7550K .......... .......... .......... .......... .......... 98% 37.9M 0s + 7600K .......... .......... .......... .......... .......... 99% 888K 0s + 7650K .......... .......... ....... 100% 66.5M=7.6s + +2018-12-25 10:18:25 (1010 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + creating: 2112_brunch/ + inflating: 2112_brunch/contact-page.html + creating: 2112_brunch/css/ + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + creating: 2112_brunch/css/fonts/ + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + creating: 2112_brunch/fonts/ + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + creating: 2112_brunch/img/ + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + creating: 2112_brunch/js/ + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + creating: 2112_brunch/js/vendor/ + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + creating: 2112_brunch/videos/ + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 10:20:16-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:20:17-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 55.1K 2m19s + 50K .......... .......... .......... .......... .......... 1% 195K 88s + 100K .......... .......... .......... .......... .......... 1% 204K 71s + 150K .......... .......... .......... .......... .......... 2% 231K 61s + 200K .......... .......... .......... .......... .......... 3% 240K 55s + 250K .......... .......... .......... .......... .......... 3% 235K 50s + 300K .......... .......... .......... .......... .......... 4% 1.01M 44s + 350K .......... .......... .......... .......... .......... 5% 273K 41s + 400K .......... .......... .......... .......... .......... 5% 1.30M 37s + 450K .......... .......... .......... .......... .......... 6% 256K 36s + 500K .......... .......... .......... .......... .......... 7% 4.29M 33s + 550K .......... .......... .......... .......... .......... 7% 2.08M 30s + 600K .......... .......... .......... .......... .......... 8% 233K 30s + 650K .......... .......... .......... .......... .......... 9% 6.40M 28s + 700K .......... .......... .......... .......... .......... 9% 8.94M 26s + 750K .......... .......... .......... .......... .......... 10% 3.75M 24s + 800K .......... .......... .......... .......... .......... 11% 229K 24s + 850K .......... .......... .......... .......... .......... 11% 77.2M 23s + 900K .......... .......... .......... .......... .......... 12% 46.7M 21s + 950K .......... .......... .......... .......... .......... 13% 6.81M 20s + 1000K .......... .......... .......... .......... .......... 13% 259K 20s + 1050K .......... .......... .......... .......... .......... 14% 7.16M 19s + 1100K .......... .......... .......... .......... .......... 14% 41.7M 18s + 1150K .......... .......... .......... .......... .......... 15% 3.07M 17s + 1200K .......... .......... .......... .......... .......... 16% 3.77M 17s + 1250K .......... .......... .......... .......... .......... 16% 265K 17s + 1300K .......... .......... .......... .......... .......... 17% 2.09M 16s + 1350K .......... .......... .......... .......... .......... 18% 8.63M 16s + 1400K .......... .......... .......... .......... .......... 18% 91.4M 15s + 1450K .......... .......... .......... .......... .......... 19% 64.3M 14s + 1500K .......... .......... .......... .......... .......... 20% 2.18M 14s + 1550K .......... .......... .......... .......... .......... 20% 27.1M 13s + 1600K .......... .......... .......... .......... .......... 21% 271K 13s + 1650K .......... .......... .......... .......... .......... 22% 1.76M 13s + 1700K .......... .......... .......... .......... .......... 22% 52.3M 13s + 1750K .......... .......... .......... .......... .......... 23% 6.28M 12s + 1800K .......... .......... .......... .......... .......... 24% 4.51M 12s + 1850K .......... .......... .......... .......... .......... 24% 14.5M 11s + 1900K .......... .......... .......... .......... .......... 25% 107M 11s + 1950K .......... .......... .......... .......... .......... 26% 65.3M 11s + 2000K .......... .......... .......... .......... .......... 26% 314K 11s + 2050K .......... .......... .......... .......... .......... 27% 2.82M 10s + 2100K .......... .......... .......... .......... .......... 28% 4.21M 10s + 2150K .......... .......... .......... .......... .......... 28% 5.45M 10s + 2200K .......... .......... .......... .......... .......... 29% 3.26M 9s + 2250K .......... .......... .......... .......... .......... 29% 3.98M 9s + 2300K .......... .......... .......... .......... .......... 30% 102M 9s + 2350K .......... .......... .......... .......... .......... 31% 10.5M 9s + 2400K .......... .......... .......... .......... .......... 31% 4.59M 8s + 2450K .......... .......... .......... .......... .......... 32% 3.77M 8s + 2500K .......... .......... .......... .......... .......... 33% 219K 8s + 2550K .......... .......... .......... .......... .......... 33% 2.21M 8s + 2600K .......... .......... .......... .......... .......... 34% 6.13M 8s + 2650K .......... .......... .......... .......... .......... 35% 26.1M 8s + 2700K .......... .......... .......... .......... .......... 35% 51.7M 8s + 2750K .......... .......... .......... .......... .......... 36% 18.6M 7s + 2800K .......... .......... .......... .......... .......... 37% 90.6M 7s + 2850K .......... .......... .......... .......... .......... 37% 7.18M 7s + 2900K .......... .......... .......... .......... .......... 38% 78.4M 7s + 2950K .......... .......... .......... .......... .......... 39% 57.2M 7s + 3000K .......... .......... .......... .......... .......... 39% 98.5M 6s + 3050K .......... .......... .......... .......... .......... 40% 64.4M 6s + 3100K .......... .......... .......... .......... .......... 41% 597K 6s + 3150K .......... .......... .......... .......... .......... 41% 1.73M 6s + 3200K .......... .......... .......... .......... .......... 42% 2.80M 6s + 3250K .......... .......... .......... .......... .......... 42% 1.96M 6s + 3300K .......... .......... .......... .......... .......... 43% 2.40M 6s + 3350K .......... .......... .......... .......... .......... 44% 12.5M 6s + 3400K .......... .......... .......... .......... .......... 44% 3.58M 5s + 3450K .......... .......... .......... .......... .......... 45% 13.4M 5s + 3500K .......... .......... .......... .......... .......... 46% 102M 5s + 3550K .......... .......... .......... .......... .......... 46% 5.07M 5s + 3600K .......... .......... .......... .......... .......... 47% 4.99M 5s + 3650K .......... .......... .......... .......... .......... 48% 3.13M 5s + 3700K .......... .......... .......... .......... .......... 48% 9.67M 5s + 3750K .......... .......... .......... .......... .......... 49% 6.42M 5s + 3800K .......... .......... .......... .......... .......... 50% 378K 5s + 3850K .......... .......... .......... .......... .......... 50% 27.9M 4s + 3900K .......... .......... .......... .......... .......... 51% 67.1M 4s + 3950K .......... .......... .......... .......... .......... 52% 113M 4s + 4000K .......... .......... .......... .......... .......... 52% 60.0M 4s + 4050K .......... .......... .......... .......... .......... 53% 3.07M 4s + 4100K .......... .......... .......... .......... .......... 54% 2.89M 4s + 4150K .......... .......... .......... .......... .......... 54% 55.6M 4s + 4200K .......... .......... .......... .......... .......... 55% 4.37M 4s + 4250K .......... .......... .......... .......... .......... 56% 7.91M 4s + 4300K .......... .......... .......... .......... .......... 56% 2.23M 4s + 4350K .......... .......... .......... .......... .......... 57% 3.55M 4s + 4400K .......... .......... .......... .......... .......... 57% 2.15M 3s + 4450K .......... .......... .......... .......... .......... 58% 8.76M 3s + 4500K .......... .......... .......... .......... .......... 59% 106M 3s + 4550K .......... .......... .......... .......... .......... 59% 64.7M 3s + 4600K .......... .......... .......... .......... .......... 60% 56.7M 3s + 4650K .......... .......... .......... .......... .......... 61% 1.68M 3s + 4700K .......... .......... .......... .......... .......... 61% 3.15M 3s + 4750K .......... .......... .......... .......... .......... 62% 2.94M 3s + 4800K .......... .......... .......... .......... .......... 63% 654K 3s + 4850K .......... .......... .......... .......... .......... 63% 3.27M 3s + 4900K .......... .......... .......... .......... .......... 64% 10.7M 3s + 4950K .......... .......... .......... .......... .......... 65% 62.7M 3s + 5000K .......... .......... .......... .......... .......... 65% 47.1M 3s + 5050K .......... .......... .......... .......... .......... 66% 27.3M 2s + 5100K .......... .......... .......... .......... .......... 67% 5.49M 2s + 5150K .......... .......... .......... .......... .......... 67% 2.74M 2s + 5200K .......... .......... .......... .......... .......... 68% 3.65M 2s + 5250K .......... .......... .......... .......... .......... 69% 19.9M 2s + 5300K .......... .......... .......... .......... .......... 69% 2.42M 2s + 5350K .......... .......... .......... .......... .......... 70% 3.79M 2s + 5400K .......... .......... .......... .......... .......... 70% 2.97M 2s + 5450K .......... .......... .......... .......... .......... 71% 3.31M 2s + 5500K .......... .......... .......... .......... .......... 72% 56.7M 2s + 5550K .......... .......... .......... .......... .......... 72% 2.41M 2s + 5600K .......... .......... .......... .......... .......... 73% 48.2M 2s + 5650K .......... .......... .......... .......... .......... 74% 54.1M 2s + 5700K .......... .......... .......... .......... .......... 74% 53.2M 2s + 5750K .......... .......... .......... .......... .......... 75% 60.5M 2s + 5800K .......... .......... .......... .......... .......... 76% 61.5M 2s + 5850K .......... .......... .......... .......... .......... 76% 1.14M 2s + 5900K .......... .......... .......... .......... .......... 77% 4.72M 1s + 5950K .......... .......... .......... .......... .......... 78% 1.99M 1s + 6000K .......... .......... .......... .......... .......... 78% 3.83M 1s + 6050K .......... .......... .......... .......... .......... 79% 2.38M 1s + 6100K .......... .......... .......... .......... .......... 80% 61.7M 1s + 6150K .......... .......... .......... .......... .......... 80% 181K 1s + 6200K .......... .......... .......... .......... .......... 81% 2.12M 1s + 6250K .......... .......... .......... .......... .......... 82% 2.84M 1s + 6300K .......... .......... .......... .......... .......... 82% 28.4M 1s + 6350K .......... .......... .......... .......... .......... 83% 53.3M 1s + 6400K .......... .......... .......... .......... .......... 84% 48.3M 1s + 6450K .......... .......... .......... .......... .......... 84% 55.6M 1s + 6500K .......... .......... .......... .......... .......... 85% 80.5M 1s + 6550K .......... .......... .......... .......... .......... 85% 53.9M 1s + 6600K .......... .......... .......... .......... .......... 86% 52.5M 1s + 6650K .......... .......... .......... .......... .......... 87% 42.4M 1s + 6700K .......... .......... .......... .......... .......... 87% 103M 1s + 6750K .......... .......... .......... .......... .......... 88% 58.2M 1s + 6800K .......... .......... .......... .......... .......... 89% 58.2M 1s + 6850K .......... .......... .......... .......... .......... 89% 65.9M 1s + 6900K .......... .......... .......... .......... .......... 90% 111M 1s + 6950K .......... .......... .......... .......... .......... 91% 65.8M 1s + 7000K .......... .......... .......... .......... .......... 91% 61.6M 0s + 7050K .......... .......... .......... .......... .......... 92% 497K 0s + 7100K .......... .......... .......... .......... .......... 93% 2.99M 0s + 7150K .......... .......... .......... .......... .......... 93% 8.12M 0s + 7200K .......... .......... .......... .......... .......... 94% 18.0M 0s + 7250K .......... .......... .......... .......... .......... 95% 114M 0s + 7300K .......... .......... .......... .......... .......... 95% 25.2M 0s + 7350K .......... .......... .......... .......... .......... 96% 67.1M 0s + 7400K .......... .......... .......... .......... .......... 97% 61.7M 0s + 7450K .......... .......... .......... .......... .......... 97% 117M 0s + 7500K .......... .......... .......... .......... .......... 98% 65.8M 0s + 7550K .......... .......... .......... .......... .......... 98% 66.2M 0s + 7600K .......... .......... .......... .......... .......... 99% 98.5M 0s + 7650K .......... .......... ....... 100% 47.0M=5.6s + +2018-12-25 10:20:24 (1.34 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 10:25:19-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:25:20-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 68.3K 1m52s + 50K .......... .......... .......... .......... .......... 1% 203K 74s + 100K .......... .......... .......... .......... .......... 1% 202K 62s + 150K .......... .......... .......... .......... .......... 2% 12.3M 46s + 200K .......... .......... .......... .......... .......... 3% 197K 44s + 250K .......... .......... .......... .......... .......... 3% 212K 42s + 300K .......... .......... .......... .......... .......... 4% 24.5M 36s + 350K .......... .......... .......... .......... .......... 5% 98.4M 31s + 400K .......... .......... .......... .......... .......... 5% 193K 32s + 450K .......... .......... .......... .......... .......... 6% 49.2M 28s + 500K .......... .......... .......... .......... .......... 7% 74.1M 26s + 550K .......... .......... .......... .......... .......... 7% 261K 26s + 600K .......... .......... .......... .......... .......... 8% 713K 24s + 650K .......... .......... .......... .......... .......... 9% 59.1M 22s + 700K .......... .......... .......... .......... .......... 9% 60.0M 21s + 750K .......... .......... .......... .......... .......... 10% 62.0M 19s + 800K .......... .......... .......... .......... .......... 11% 49.9M 18s + 850K .......... .......... .......... .......... .......... 11% 239K 19s + 900K .......... .......... .......... .......... .......... 12% 1.81M 18s + 950K .......... .......... .......... .......... .......... 13% 2.81M 17s + 1000K .......... .......... .......... .......... .......... 13% 84.6M 16s + 1050K .......... .......... .......... .......... .......... 14% 60.8M 15s + 1100K .......... .......... .......... .......... .......... 14% 61.2M 14s + 1150K .......... .......... .......... .......... .......... 15% 56.0M 14s + 1200K .......... .......... .......... .......... .......... 16% 12.7M 13s + 1250K .......... .......... .......... .......... .......... 16% 268K 13s + 1300K .......... .......... .......... .......... .......... 17% 1.03M 13s + 1350K .......... .......... .......... .......... .......... 18% 2.01M 12s + 1400K .......... .......... .......... .......... .......... 18% 3.94M 12s + 1450K .......... .......... .......... .......... .......... 19% 22.5M 11s + 1500K .......... .......... .......... .......... .......... 20% 29.1M 11s + 1550K .......... .......... .......... .......... .......... 20% 109M 11s + 1600K .......... .......... .......... .......... .......... 21% 58.2M 10s + 1650K .......... .......... .......... .......... .......... 22% 64.3M 10s + 1700K .......... .......... .......... .......... .......... 22% 65.2M 9s + 1750K .......... .......... .......... .......... .......... 23% 109M 9s + 1800K .......... .......... .......... .......... .......... 24% 403K 9s + 1850K .......... .......... .......... .......... .......... 24% 1.52M 9s + 1900K .......... .......... .......... .......... .......... 25% 2.35M 9s + 1950K .......... .......... .......... .......... .......... 26% 4.09M 8s + 2000K .......... .......... .......... .......... .......... 26% 1.69M 8s + 2050K .......... .......... .......... .......... .......... 27% 1.42M 8s + 2100K .......... .......... .......... .......... .......... 28% 4.06M 8s + 2150K .......... .......... .......... .......... .......... 28% 2.33M 8s + 2200K .......... .......... .......... .......... .......... 29% 31.8M 7s + 2250K .......... .......... .......... .......... .......... 29% 38.0M 7s + 2300K .......... .......... .......... .......... .......... 30% 60.7M 7s + 2350K .......... .......... .......... .......... .......... 31% 81.0M 7s + 2400K .......... .......... .......... .......... .......... 31% 27.7M 7s + 2450K .......... .......... .......... .......... .......... 32% 42.1M 6s + 2500K .......... .......... .......... .......... .......... 33% 63.3M 6s + 2550K .......... .......... .......... .......... .......... 33% 109M 6s + 2600K .......... .......... .......... .......... .......... 34% 60.4M 6s + 2650K .......... .......... .......... .......... .......... 35% 1.27M 6s + 2700K .......... .......... .......... .......... .......... 35% 1.72M 6s + 2750K .......... .......... .......... .......... .......... 36% 2.59M 6s + 2800K .......... .......... .......... .......... .......... 37% 28.9M 5s + 2850K .......... .......... .......... .......... .......... 37% 52.6M 5s + 2900K .......... .......... .......... .......... .......... 38% 3.42M 5s + 2950K .......... .......... .......... .......... .......... 39% 2.39M 5s + 3000K .......... .......... .......... .......... .......... 39% 1.56M 5s + 3050K .......... .......... .......... .......... .......... 40% 2.00M 5s + 3100K .......... .......... .......... .......... .......... 41% 4.83M 5s + 3150K .......... .......... .......... .......... .......... 41% 46.9M 5s + 3200K .......... .......... .......... .......... .......... 42% 54.7M 4s + 3250K .......... .......... .......... .......... .......... 42% 8.35M 4s + 3300K .......... .......... .......... .......... .......... 43% 2.94M 4s + 3350K .......... .......... .......... .......... .......... 44% 3.31M 4s + 3400K .......... .......... .......... .......... .......... 44% 2.05M 4s + 3450K .......... .......... .......... .......... .......... 45% 3.20M 4s + 3500K .......... .......... .......... .......... .......... 46% 4.23M 4s + 3550K .......... .......... .......... .......... .......... 46% 3.54M 4s + 3600K .......... .......... .......... .......... .......... 47% 7.19M 4s + 3650K .......... .......... .......... .......... .......... 48% 56.1M 4s + 3700K .......... .......... .......... .......... .......... 48% 268K 4s + 3750K .......... .......... .......... .......... .......... 49% 641K 4s + 3800K .......... .......... .......... .......... .......... 50% 36.7M 4s + 3850K .......... .......... .......... .......... .......... 50% 97.7M 4s + 3900K .......... .......... .......... .......... .......... 51% 59.9M 3s + 3950K .......... .......... .......... .......... .......... 52% 51.6M 3s + 4000K .......... .......... .......... .......... .......... 52% 60.2M 3s + 4050K .......... .......... .......... .......... .......... 53% 23.8M 3s + 4100K .......... .......... .......... .......... .......... 54% 66.4M 3s + 4150K .......... .......... .......... .......... .......... 54% 116M 3s + 4200K .......... .......... .......... .......... .......... 55% 211K 3s + 4250K .......... .......... .......... .......... .......... 56% 5.00M 3s + 4300K .......... .......... .......... .......... .......... 56% 29.9M 3s + 4350K .......... .......... .......... .......... .......... 57% 2.57M 3s + 4400K .......... .......... .......... .......... .......... 57% 57.5M 3s + 4450K .......... .......... .......... .......... .......... 58% 198K 3s + 4500K .......... .......... .......... .......... .......... 59% 64.2M 3s + 4550K .......... .......... .......... .......... .......... 59% 209K 3s + 4600K .......... .......... .......... .......... .......... 60% 246K 3s + 4650K .......... .......... .......... .......... .......... 61% 2.09M 3s + 4700K .......... .......... .......... .......... .......... 61% 212K 3s + 4750K .......... .......... .......... .......... .......... 62% 209K 3s + 4800K .......... .......... .......... .......... .......... 63% 89.2M 3s + 4850K .......... .......... .......... .......... .......... 63% 36.7K 4s + 4900K .......... .......... .......... .......... .......... 64% 2.80M 4s + 4950K .......... .......... .......... .......... .......... 65% 65.2M 3s + 5000K .......... .......... .......... .......... .......... 65% 39.0M 3s + 5050K .......... .......... .......... .......... .......... 66% 58.9M 3s + 5100K .......... .......... .......... .......... .......... 67% 67.0M 3s + 5150K .......... .......... .......... .......... .......... 67% 114M 3s + 5200K .......... .......... .......... .......... .......... 68% 57.6M 3s + 5250K .......... .......... .......... .......... .......... 69% 56.1M 3s + 5300K .......... .......... .......... .......... .......... 69% 68.4M 3s + 5350K .......... .......... .......... .......... .......... 70% 117M 3s + 5400K .......... .......... .......... .......... .......... 70% 63.2M 3s + 5450K .......... .......... .......... .......... .......... 71% 116M 3s + 5500K .......... .......... .......... .......... .......... 72% 69.3M 2s + 5550K .......... .......... .......... .......... .......... 72% 281K 2s + 5600K .......... .......... .......... .......... .......... 73% 202K 2s + 5650K .......... .......... .......... .......... .......... 74% 203K 2s + 5700K .......... .......... .......... .......... .......... 74% 61.4M 2s + 5750K .......... .......... .......... .......... .......... 75% 203K 2s + 5800K .......... .......... .......... .......... .......... 76% 2.54M 2s + 5850K .......... .......... .......... .......... .......... 76% 40.7M 2s + 5900K .......... .......... .......... .......... .......... 77% 52.8M 2s + 5950K .......... .......... .......... .......... .......... 78% 76.4M 2s + 6000K .......... .......... .......... .......... .......... 78% 45.6M 2s + 6050K .......... .......... .......... .......... .......... 79% 109M 2s + 6100K .......... .......... .......... .......... .......... 80% 65.2M 2s + 6150K .......... .......... .......... .......... .......... 80% 62.5M 2s + 6200K .......... .......... .......... .......... .......... 81% 279K 2s + 6250K .......... .......... .......... .......... .......... 82% 204K 2s + 6300K .......... .......... .......... .......... .......... 82% 1.84M 2s + 6350K .......... .......... .......... .......... .......... 83% 8.31M 2s + 6400K .......... .......... .......... .......... .......... 84% 30.2M 2s + 6450K .......... .......... .......... .......... .......... 84% 45.3M 1s + 6500K .......... .......... .......... .......... .......... 85% 43.9M 1s + 6550K .......... .......... .......... .......... .......... 85% 43.3M 1s + 6600K .......... .......... .......... .......... .......... 86% 29.0M 1s + 6650K .......... .......... .......... .......... .......... 87% 114K 1s + 6700K .......... .......... .......... .......... .......... 87% 194K 1s + 6750K .......... .......... .......... .......... .......... 88% 117K 1s + 6800K .......... .......... .......... .......... .......... 89% 198K 1s + 6850K .......... .......... .......... .......... .......... 89% 1.37M 1s + 6900K .......... .......... .......... .......... .......... 90% 220K 1s + 6950K .......... .......... .......... .......... .......... 91% 230K 1s + 7000K .......... .......... .......... .......... .......... 91% 2.14M 1s + 7050K .......... .......... .......... .......... .......... 92% 238K 1s + 7100K .......... .......... .......... .......... .......... 93% 2.00M 1s + 7150K .......... .......... .......... .......... .......... 93% 211K 1s + 7200K .......... .......... .......... .......... .......... 94% 93.9M 1s + 7250K .......... .......... .......... .......... .......... 95% 235K 1s + 7300K .......... .......... .......... .......... .......... 95% 1.70M 0s + 7350K .......... .......... .......... .......... .......... 96% 108M 0s + 7400K .......... .......... .......... .......... .......... 97% 243K 0s + 7450K .......... .......... .......... .......... .......... 97% 1.33M 0s + 7500K .......... .......... .......... .......... .......... 98% 13.2M 0s + 7550K .......... .......... .......... .......... .......... 98% 234K 0s + 7600K .......... .......... .......... .......... .......... 99% 7.62M 0s + 7650K .......... .......... ....... 100% 70.5M=11s + +2018-12-25 10:25:32 (700 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 10:29:53-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:29:54-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 4% 56.3K 21s + 50K .......... .......... .......... .......... .......... 8% 211K 13s + 100K .......... .......... .......... .......... .......... 12% 215K 10s + 150K .......... .......... .......... .......... .......... 16% 215K 8s + 200K .......... .......... .......... .......... .......... 20% 2.25M 6s + 250K .......... .......... .......... .......... .......... 24% 229K 6s + 300K .......... .......... .......... .......... .......... 28% 231K 5s + 350K .......... .......... .......... .......... .......... 32% 2.40M 4s + 400K .......... .......... .......... .......... .......... 36% 246K 4s + 450K .......... .......... .......... .......... .......... 40% 36.4M 3s + 500K .......... .......... .......... .......... .......... 44% 1.77M 3s + 550K .......... .......... .......... .......... .......... 48% 229K 3s + 600K .......... .......... .......... .......... .......... 52% 3.27M 2s + 650K .......... .......... .......... .......... .......... 56% 36.7M 2s + 700K .......... .......... .......... .......... .......... 60% 238K 2s + 750K .......... .......... .......... .......... .......... 64% 1.88M 2s + 800K .......... .......... .......... .......... .......... 68% 29.5M 1s + 850K .......... .......... .......... .......... .......... 72% 58.2M 1s + 900K .......... .......... .......... .......... .......... 76% 231K 1s + 950K .......... .......... .......... .......... .......... 80% 2.47M 1s + 1000K .......... .......... .......... .......... .......... 84% 55.7M 1s + 1050K .......... .......... .......... .......... .......... 88% 59.0M 0s + 1100K .......... .......... .......... .......... .......... 92% 60.1M 0s + 1150K .......... .......... .......... .......... .......... 96% 246K 0s + 1200K .......... .......... .......... .......... ... 100% 4.79M=3.2s + +2018-12-25 10:29:58 (386 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + creating: 2101_insertion/ + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + creating: 2101_insertion/css/ + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + creating: 2101_insertion/img/ + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + creating: 2101_insertion/js/ + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + creating: 2101_insertion/webfonts/ + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Resolving Dependencies +--> Running transaction check +---> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed +---> Package unzip.x86_64 0:6.0-19.el7 will be installed +---> Package wget.x86_64 0:1.14-18.el7 will be installed +--> Finished Dependency Resolution + +Dependencies Resolved + +================================================================================ + Package Arch Version Repository Size +================================================================================ +Installing: + httpd x86_64 2.4.6-88.el7.centos base 2.7 M + unzip x86_64 6.0-19.el7 base 170 k + wget x86_64 1.14-18.el7 base 547 k + +Transaction Summary +================================================================================ +Install 3 Packages + +Total download size: 3.4 M +Installed size: 12 M +Downloading packages: +-------------------------------------------------------------------------------- +Total 1.9 MB/s | 3.4 MB 00:01 +Running transaction check +Running transaction test +Transaction test succeeded +Running transaction + Installing : wget-1.14-18.el7.x86_64 1/3 + Installing : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Installing : unzip-6.0-19.el7.x86_64 3/3 + Verifying : unzip-6.0-19.el7.x86_64 1/3 + Verifying : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Verifying : wget-1.14-18.el7.x86_64 3/3 + +Installed: + httpd.x86_64 0:2.4.6-88.el7.centos unzip.x86_64 0:6.0-19.el7 + wget.x86_64 0:1.14-18.el7 + +Complete! +################################################################ + + +Starting and Enabling Service +Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. +################################################################ + + +Copying website data +--2018-12-25 10:36:52-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:36:53-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 4% 70.2K 17s + 50K .......... .......... .......... .......... .......... 8% 106K 14s + 100K .......... .......... .......... .......... .......... 12% 236K 10s + 150K .......... .......... .......... .......... .......... 16% 285K 8s + 200K .......... .......... .......... .......... .......... 20% 907K 6s + 250K .......... .......... .......... .......... .......... 24% 218K 6s + 300K .......... .......... .......... .......... .......... 28% 25.5M 5s + 350K .......... .......... .......... .......... .......... 32% 253K 4s + 400K .......... .......... .......... .......... .......... 36% 2.65M 4s + 450K .......... .......... .......... .......... .......... 40% 304K 3s + 500K .......... .......... .......... .......... .......... 44% 806K 3s + 550K .......... .......... .......... .......... .......... 48% 23.1M 2s + 600K .......... .......... .......... .......... .......... 52% 253K 2s + 650K .......... .......... .......... .......... .......... 56% 1.92M 2s + 700K .......... .......... .......... .......... .......... 60% 4.53M 2s + 750K .......... .......... .......... .......... .......... 64% 1.99M 1s + 800K .......... .......... .......... .......... .......... 68% 265K 1s + 850K .......... .......... .......... .......... .......... 72% 4.51M 1s + 900K .......... .......... .......... .......... .......... 76% 4.88M 1s + 950K .......... .......... .......... .......... .......... 80% 54.5M 1s + 1000K .......... .......... .......... .......... .......... 84% 272K 1s + 1050K .......... .......... .......... .......... .......... 88% 4.75M 0s + 1100K .......... .......... .......... .......... .......... 92% 2.84M 0s + 1150K .......... .......... .......... .......... .......... 96% 7.72M 0s + 1200K .......... .......... .......... .......... ... 100% 4.73M=3.0s + +2018-12-25 10:36:57 (415 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Resolving Dependencies +--> Running transaction check +---> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed +---> Package unzip.x86_64 0:6.0-19.el7 will be installed +---> Package wget.x86_64 0:1.14-18.el7 will be installed +--> Finished Dependency Resolution + +Dependencies Resolved + +================================================================================ + Package Arch Version Repository Size +================================================================================ +Installing: + httpd x86_64 2.4.6-88.el7.centos base 2.7 M + unzip x86_64 6.0-19.el7 base 170 k + wget x86_64 1.14-18.el7 base 547 k + +Transaction Summary +================================================================================ +Install 3 Packages + +Total download size: 3.4 M +Installed size: 12 M +Downloading packages: +-------------------------------------------------------------------------------- +Total 2.2 MB/s | 3.4 MB 00:01 +Running transaction check +Running transaction test +Transaction test succeeded +Running transaction + Installing : wget-1.14-18.el7.x86_64 1/3 + Installing : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Installing : unzip-6.0-19.el7.x86_64 3/3 + Verifying : unzip-6.0-19.el7.x86_64 1/3 + Verifying : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Verifying : wget-1.14-18.el7.x86_64 3/3 + +Installed: + httpd.x86_64 0:2.4.6-88.el7.centos unzip.x86_64 0:6.0-19.el7 + wget.x86_64 0:1.14-18.el7 + +Complete! +################################################################ + + +Starting and Enabling Service +Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. +################################################################ + + +Copying website data +--2018-12-25 10:40:45-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:40:46-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 4% 65.2K 18s + 50K .......... .......... .......... .......... .......... 8% 116K 14s + 100K .......... .......... .......... .......... .......... 12% 217K 10s + 150K .......... .......... .......... .......... .......... 16% 432K 8s + 200K .......... .......... .......... .......... .......... 20% 279K 7s + 250K .......... .......... .......... .......... .......... 24% 267K 6s + 300K .......... .......... .......... .......... .......... 28% 771K 5s + 350K .......... .......... .......... .......... .......... 32% 1.33M 4s + 400K .......... .......... .......... .......... .......... 36% 276K 4s + 450K .......... .......... .......... .......... .......... 40% 3.18M 3s + 500K .......... .......... .......... .......... .......... 44% 249K 3s + 550K .......... .......... .......... .......... .......... 48% 34.3M 3s + 600K .......... .......... .......... .......... .......... 52% 1.30M 2s + 650K .......... .......... .......... .......... .......... 56% 52.1M 2s + 700K .......... .......... .......... .......... .......... 60% 266K 2s + 750K .......... .......... .......... .......... .......... 64% 16.0M 1s + 800K .......... .......... .......... .......... .......... 68% 974K 1s + 850K .......... .......... .......... .......... .......... 72% 107M 1s + 900K .......... .......... .......... .......... .......... 76% 752K 1s + 950K .......... .......... .......... .......... .......... 80% 374K 1s + 1000K .......... .......... .......... .......... .......... 84% 2.49M 1s + 1050K .......... .......... .......... .......... .......... 88% 1.64M 0s + 1100K .......... .......... .......... .......... .......... 92% 51.1M 0s + 1150K .......... .......... .......... .......... .......... 96% 51.8M 0s + 1200K .......... .......... .......... .......... ... 100% 809K=3.0s + +2018-12-25 10:40:50 (415 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Resolving Dependencies +--> Running transaction check +---> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed +---> Package unzip.x86_64 0:6.0-19.el7 will be installed +---> Package wget.x86_64 0:1.14-18.el7 will be installed +--> Finished Dependency Resolution + +Dependencies Resolved + +================================================================================ + Package Arch Version Repository Size +================================================================================ +Installing: + httpd x86_64 2.4.6-88.el7.centos base 2.7 M + unzip x86_64 6.0-19.el7 base 170 k + wget x86_64 1.14-18.el7 base 547 k + +Transaction Summary +================================================================================ +Install 3 Packages + +Total download size: 3.4 M +Installed size: 12 M +Downloading packages: +-------------------------------------------------------------------------------- +Total 1.9 MB/s | 3.4 MB 00:01 +Running transaction check +Running transaction test +Transaction test succeeded +Running transaction + Installing : wget-1.14-18.el7.x86_64 1/3 + Installing : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Installing : unzip-6.0-19.el7.x86_64 3/3 + Verifying : unzip-6.0-19.el7.x86_64 1/3 + Verifying : httpd-2.4.6-88.el7.centos.x86_64 2/3 + Verifying : wget-1.14-18.el7.x86_64 3/3 + +Installed: + httpd.x86_64 0:2.4.6-88.el7.centos unzip.x86_64 0:6.0-19.el7 + wget.x86_64 0:1.14-18.el7 + +Complete! +################################################################ + + +Starting and Enabling Service +Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. +################################################################ + + +Copying website data +--2018-12-25 10:53:45-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:53:46-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 53.5K 2m22s + 50K .......... .......... .......... .......... .......... 1% 173K 93s + 100K .......... .......... .......... .......... .......... 1% 217K 73s + 150K .......... .......... .......... .......... .......... 2% 212K 63s + 200K .......... .......... .......... .......... .......... 3% 245K 56s + 250K .......... .......... .......... .......... .......... 3% 244K 52s + 300K .......... .......... .......... .......... .......... 4% 1.79M 45s + 350K .......... .......... .......... .......... .......... 5% 245K 42s + 400K .......... .......... .......... .......... .......... 5% 1008K 38s + 450K .......... .......... .......... .......... .......... 6% 1.32M 35s + 500K .......... .......... .......... .......... .......... 7% 325K 33s + 550K .......... .......... .......... .......... .......... 7% 1.44M 31s + 600K .......... .......... .......... .......... .......... 8% 3.09M 28s + 650K .......... .......... .......... .......... .......... 9% 267K 28s + 700K .......... .......... .......... .......... .......... 9% 3.10M 26s + 750K .......... .......... .......... .......... .......... 10% 1.32M 25s + 800K .......... .......... .......... .......... .......... 11% 270K 24s + 850K .......... .......... .......... .......... .......... 11% 5.50M 23s + 900K .......... .......... .......... .......... .......... 12% 2.87M 22s + 950K .......... .......... .......... .......... .......... 13% 56.3M 21s + 1000K .......... .......... .......... .......... .......... 13% 1.90M 20s + 1050K .......... .......... .......... .......... .......... 14% 294K 20s + 1100K .......... .......... .......... .......... .......... 14% 5.98M 19s + 1150K .......... .......... .......... .......... .......... 15% 1.87M 18s + 1200K .......... .......... .......... .......... .......... 16% 6.19M 17s + 1250K .......... .......... .......... .......... .......... 16% 2.33M 16s + 1300K .......... .......... .......... .......... .......... 17% 11.2M 16s + 1350K .......... .......... .......... .......... .......... 18% 247K 16s + 1400K .......... .......... .......... .......... .......... 18% 6.38M 15s + 1450K .......... .......... .......... .......... .......... 19% 58.9M 15s + 1500K .......... .......... .......... .......... .......... 20% 61.4M 14s + 1550K .......... .......... .......... .......... .......... 20% 58.4M 13s + 1600K .......... .......... .......... .......... .......... 21% 2.01M 13s + 1650K .......... .......... .......... .......... .......... 22% 296K 13s + 1700K .......... .......... .......... .......... .......... 22% 2.44M 13s + 1750K .......... .......... .......... .......... .......... 23% 6.20M 12s + 1800K .......... .......... .......... .......... .......... 24% 2.70M 12s + 1850K .......... .......... .......... .......... .......... 24% 1.61M 12s + 1900K .......... .......... .......... .......... .......... 25% 53.2M 11s + 1950K .......... .......... .......... .......... .......... 26% 113M 11s + 2000K .......... .......... .......... .......... .......... 26% 56.9M 10s + 2050K .......... .......... .......... .......... .......... 27% 304K 11s + 2100K .......... .......... .......... .......... .......... 28% 24.3M 10s + 2150K .......... .......... .......... .......... .......... 28% 1.23M 10s + 2200K .......... .......... .......... .......... .......... 29% 4.39M 10s + 2250K .......... .......... .......... .......... .......... 29% 1.63M 10s + 2300K .......... .......... .......... .......... .......... 30% 53.6M 9s + 2350K .......... .......... .......... .......... .......... 31% 37.8M 9s + 2400K .......... .......... .......... .......... .......... 31% 35.2M 9s + 2450K .......... .......... .......... .......... .......... 32% 19.7M 8s + 2500K .......... .......... .......... .......... .......... 33% 41.8M 8s + 2550K .......... .......... .......... .......... .......... 33% 334K 8s + 2600K .......... .......... .......... .......... .......... 34% 18.9M 8s + 2650K .......... .......... .......... .......... .......... 35% 2.59M 8s + 2700K .......... .......... .......... .......... .......... 35% 1.39M 8s + 2750K .......... .......... .......... .......... .......... 36% 2.79M 7s + 2800K .......... .......... .......... .......... .......... 37% 9.74M 7s + 2850K .......... .......... .......... .......... .......... 37% 7.82M 7s + 2900K .......... .......... .......... .......... .......... 38% 4.09M 7s + 2950K .......... .......... .......... .......... .......... 39% 6.09M 7s + 3000K .......... .......... .......... .......... .......... 39% 92.3M 7s + 3050K .......... .......... .......... .......... .......... 40% 50.6M 6s + 3100K .......... .......... .......... .......... .......... 41% 63.9M 6s + 3150K .......... .......... .......... .......... .......... 41% 520K 6s + 3200K .......... .......... .......... .......... .......... 42% 1.79M 6s + 3250K .......... .......... .......... .......... .......... 42% 3.88M 6s + 3300K .......... .......... .......... .......... .......... 43% 1.19M 6s + 3350K .......... .......... .......... .......... .......... 44% 7.46M 6s + 3400K .......... .......... .......... .......... .......... 44% 2.30M 6s + 3450K .......... .......... .......... .......... .......... 45% 9.67M 5s + 3500K .......... .......... .......... .......... .......... 46% 3.93M 5s + 3550K .......... .......... .......... .......... .......... 46% 1.62M 5s + 3600K .......... .......... .......... .......... .......... 47% 24.0M 5s + 3650K .......... .......... .......... .......... .......... 48% 89.9M 5s + 3700K .......... .......... .......... .......... .......... 48% 11.0M 5s + 3750K .......... .......... .......... .......... .......... 49% 9.35M 5s + 3800K .......... .......... .......... .......... .......... 50% 18.3M 5s + 3850K .......... .......... .......... .......... .......... 50% 30.8M 4s + 3900K .......... .......... .......... .......... .......... 51% 662K 4s + 3950K .......... .......... .......... .......... .......... 52% 4.79M 4s + 4000K .......... .......... .......... .......... .......... 52% 3.75M 4s + 4050K .......... .......... .......... .......... .......... 53% 1.19M 4s + 4100K .......... .......... .......... .......... .......... 54% 1.17M 4s + 4150K .......... .......... .......... .......... .......... 54% 4.34M 4s + 4200K .......... .......... .......... .......... .......... 55% 44.0M 4s + 4250K .......... .......... .......... .......... .......... 56% 1.92M 4s + 4300K .......... .......... .......... .......... .......... 56% 102M 4s + 4350K .......... .......... .......... .......... .......... 57% 1.58M 4s + 4400K .......... .......... .......... .......... .......... 57% 21.8M 4s + 4450K .......... .......... .......... .......... .......... 58% 63.3M 3s + 4500K .......... .......... .......... .......... .......... 59% 63.6M 3s + 4550K .......... .......... .......... .......... .......... 59% 107M 3s + 4600K .......... .......... .......... .......... .......... 60% 58.5M 3s + 4650K .......... .......... .......... .......... .......... 61% 61.1M 3s + 4700K .......... .......... .......... .......... .......... 61% 110M 3s + 4750K .......... .......... .......... .......... .......... 62% 1.74M 3s + 4800K .......... .......... .......... .......... .......... 63% 1.01M 3s + 4850K .......... .......... .......... .......... .......... 63% 14.9M 3s + 4900K .......... .......... .......... .......... .......... 64% 26.8M 3s + 4950K .......... .......... .......... .......... .......... 65% 3.97M 3s + 5000K .......... .......... .......... .......... .......... 65% 1.32M 3s + 5050K .......... .......... .......... .......... .......... 66% 106M 3s + 5100K .......... .......... .......... .......... .......... 67% 7.35M 2s + 5150K .......... .......... .......... .......... .......... 67% 1.54M 2s + 5200K .......... .......... .......... .......... .......... 68% 18.3M 2s + 5250K .......... .......... .......... .......... .......... 69% 187K 2s + 5300K .......... .......... .......... .......... .......... 69% 6.69M 2s + 5350K .......... .......... .......... .......... .......... 70% 1.37M 2s + 5400K .......... .......... .......... .......... .......... 70% 2.63M 2s + 5450K .......... .......... .......... .......... .......... 71% 1.74M 2s + 5500K .......... .......... .......... .......... .......... 72% 1.98M 2s + 5550K .......... .......... .......... .......... .......... 72% 3.79M 2s + 5600K .......... .......... .......... .......... .......... 73% 16.1M 2s + 5650K .......... .......... .......... .......... .......... 74% 1.87M 2s + 5700K .......... .......... .......... .......... .......... 74% 23.5M 2s + 5750K .......... .......... .......... .......... .......... 75% 44.4M 2s + 5800K .......... .......... .......... .......... .......... 76% 3.89M 2s + 5850K .......... .......... .......... .......... .......... 76% 62.6M 2s + 5900K .......... .......... .......... .......... .......... 77% 109M 2s + 5950K .......... .......... .......... .......... .......... 78% 7.43M 2s + 6000K .......... .......... .......... .......... .......... 78% 55.0M 1s + 6050K .......... .......... .......... .......... .......... 79% 47.6M 1s + 6100K .......... .......... .......... .......... .......... 80% 41.5M 1s + 6150K .......... .......... .......... .......... .......... 80% 52.7M 1s + 6200K .......... .......... .......... .......... .......... 81% 53.1M 1s + 6250K .......... .......... .......... .......... .......... 82% 49.7M 1s + 6300K .......... .......... .......... .......... .......... 82% 24.8M 1s + 6350K .......... .......... .......... .......... .......... 83% 6.30M 1s + 6400K .......... .......... .......... .......... .......... 84% 16.0M 1s + 6450K .......... .......... .......... .......... .......... 84% 26.7M 1s + 6500K .......... .......... .......... .......... .......... 85% 38.9M 1s + 6550K .......... .......... .......... .......... .......... 85% 51.1M 1s + 6600K .......... .......... .......... .......... .......... 86% 5.63M 1s + 6650K .......... .......... .......... .......... .......... 87% 54.2M 1s + 6700K .......... .......... .......... .......... .......... 87% 50.4M 1s + 6750K .......... .......... .......... .......... .......... 88% 5.02M 1s + 6800K .......... .......... .......... .......... .......... 89% 7.24M 1s + 6850K .......... .......... .......... .......... .......... 89% 55.6M 1s + 6900K .......... .......... .......... .......... .......... 90% 3.51M 1s + 6950K .......... .......... .......... .......... .......... 91% 2.03M 1s + 7000K .......... .......... .......... .......... .......... 91% 2.69M 0s + 7050K .......... .......... .......... .......... .......... 92% 28.6M 0s + 7100K .......... .......... .......... .......... .......... 93% 47.6M 0s + 7150K .......... .......... .......... .......... .......... 93% 47.7M 0s + 7200K .......... .......... .......... .......... .......... 94% 46.1M 0s + 7250K .......... .......... .......... .......... .......... 95% 60.7M 0s + 7300K .......... .......... .......... .......... .......... 95% 46.4M 0s + 7350K .......... .......... .......... .......... .......... 96% 4.57M 0s + 7400K .......... .......... .......... .......... .......... 97% 3.09M 0s + 7450K .......... .......... .......... .......... .......... 97% 35.3M 0s + 7500K .......... .......... .......... .......... .......... 98% 76.6M 0s + 7550K .......... .......... .......... .......... .......... 98% 30.0M 0s + 7600K .......... .......... .......... .......... .......... 99% 28.4M 0s + 7650K .......... .......... ....... 100% 109M=5.6s + +2018-12-25 10:53:52 (1.33 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 10:59:07-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:59:08-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 70.9K 1m48s + 50K .......... .......... .......... .......... .......... 1% 111K 88s + 100K .......... .......... .......... .......... .......... 1% 206K 70s + 150K .......... .......... .......... .......... .......... 2% 308K 58s + 200K .......... .......... .......... .......... .......... 3% 793K 48s + 250K .......... .......... .......... .......... .......... 3% 237K 45s + 300K .......... .......... .......... .......... .......... 4% 8.36M 39s + 350K .......... .......... .......... .......... .......... 5% 213K 38s + 400K .......... .......... .......... .......... .......... 5% 3.75M 34s + 450K .......... .......... .......... .......... .......... 6% 238K 33s + 500K .......... .......... .......... .......... .......... 7% 22.3M 30s + 550K .......... .......... .......... .......... .......... 7% 296K 29s + 600K .......... .......... .......... .......... .......... 8% 657K 28s + 650K .......... .......... .......... .......... .......... 9% 13.6M 25s + 700K .......... .......... .......... .......... .......... 9% 72.1M 24s + 750K .......... .......... .......... .......... .......... 10% 369K 23s + 800K .......... .......... .......... .......... .......... 11% 449K 22s + 850K .......... .......... .......... .......... .......... 11% 42.4M 21s + 900K .......... .......... .......... .......... .......... 12% 95.5M 20s + 950K .......... .......... .......... .......... .......... 13% 402K 20s + 1000K .......... .......... .......... .......... .......... 13% 650K 19s + 1050K .......... .......... .......... .......... .......... 14% 3.81M 18s + 1100K .......... .......... .......... .......... .......... 14% 17.9M 17s + 1150K .......... .......... .......... .......... .......... 15% 3.35M 16s + 1200K .......... .......... .......... .......... .......... 16% 527K 16s + 1250K .......... .......... .......... .......... .......... 16% 1.32M 16s + 1300K .......... .......... .......... .......... .......... 17% 867K 15s + 1350K .......... .......... .......... .......... .......... 18% 4.60M 14s + 1400K .......... .......... .......... .......... .......... 18% 2.50M 14s + 1450K .......... .......... .......... .......... .......... 19% 6.96M 13s + 1500K .......... .......... .......... .......... .......... 20% 6.19M 13s + 1550K .......... .......... .......... .......... .......... 20% 506K 13s + 1600K .......... .......... .......... .......... .......... 21% 1.06M 12s + 1650K .......... .......... .......... .......... .......... 22% 874K 12s + 1700K .......... .......... .......... .......... .......... 22% 53.3M 12s + 1750K .......... .......... .......... .......... .......... 23% 53.4M 11s + 1800K .......... .......... .......... .......... .......... 24% 2.84M 11s + 1850K .......... .......... .......... .......... .......... 24% 3.53M 11s + 1900K .......... .......... .......... .......... .......... 25% 6.33M 10s + 1950K .......... .......... .......... .......... .......... 26% 466K 10s + 2000K .......... .......... .......... .......... .......... 26% 3.50M 10s + 2050K .......... .......... .......... .......... .......... 27% 49.5M 10s + 2100K .......... .......... .......... .......... .......... 28% 1.22M 9s + 2150K .......... .......... .......... .......... .......... 28% 3.21M 9s + 2200K .......... .......... .......... .......... .......... 29% 11.9M 9s + 2250K .......... .......... .......... .......... .......... 29% 2.91M 9s + 2300K .......... .......... .......... .......... .......... 30% 5.57M 8s + 2350K .......... .......... .......... .......... .......... 31% 4.90M 8s + 2400K .......... .......... .......... .......... .......... 31% 6.52M 8s + 2450K .......... .......... .......... .......... .......... 32% 395K 8s + 2500K .......... .......... .......... .......... .......... 33% 4.56M 8s + 2550K .......... .......... .......... .......... .......... 33% 37.3M 8s + 2600K .......... .......... .......... .......... .......... 34% 51.4M 7s + 2650K .......... .......... .......... .......... .......... 35% 1.63M 7s + 2700K .......... .......... .......... .......... .......... 35% 5.87M 7s + 2750K .......... .......... .......... .......... .......... 36% 5.07M 7s + 2800K .......... .......... .......... .......... .......... 37% 4.12M 7s + 2850K .......... .......... .......... .......... .......... 37% 3.04M 7s + 2900K .......... .......... .......... .......... .......... 38% 36.8M 6s + 2950K .......... .......... .......... .......... .......... 39% 2.19M 6s + 3000K .......... .......... .......... .......... .......... 39% 6.45M 6s + 3050K .......... .......... .......... .......... .......... 40% 462K 6s + 3100K .......... .......... .......... .......... .......... 41% 6.21M 6s + 3150K .......... .......... .......... .......... .......... 41% 57.7M 6s + 3200K .......... .......... .......... .......... .......... 42% 43.9M 6s + 3250K .......... .......... .......... .......... .......... 42% 4.82M 5s + 3300K .......... .......... .......... .......... .......... 43% 2.28M 5s + 3350K .......... .......... .......... .......... .......... 44% 3.02M 5s + 3400K .......... .......... .......... .......... .......... 44% 4.55M 5s + 3450K .......... .......... .......... .......... .......... 45% 7.15M 5s + 3500K .......... .......... .......... .......... .......... 46% 112M 5s + 3550K .......... .......... .......... .......... .......... 46% 3.64M 5s + 3600K .......... .......... .......... .......... .......... 47% 1.56M 5s + 3650K .......... .......... .......... .......... .......... 48% 7.45M 5s + 3700K .......... .......... .......... .......... .......... 48% 46.7M 4s + 3750K .......... .......... .......... .......... .......... 49% 74.8M 4s + 3800K .......... .......... .......... .......... .......... 50% 577K 4s + 3850K .......... .......... .......... .......... .......... 50% 12.2M 4s + 3900K .......... .......... .......... .......... .......... 51% 1.85M 4s + 3950K .......... .......... .......... .......... .......... 52% 1.87M 4s + 4000K .......... .......... .......... .......... .......... 52% 16.9M 4s + 4050K .......... .......... .......... .......... .......... 53% 51.6M 4s + 4100K .......... .......... .......... .......... .......... 54% 52.1M 4s + 4150K .......... .......... .......... .......... .......... 54% 12.8M 4s + 4200K .......... .......... .......... .......... .......... 55% 4.04M 4s + 4250K .......... .......... .......... .......... .......... 56% 5.95M 3s + 4300K .......... .......... .......... .......... .......... 56% 1.28M 3s + 4350K .......... .......... .......... .......... .......... 57% 6.86M 3s + 4400K .......... .......... .......... .......... .......... 57% 2.29M 3s + 4450K .......... .......... .......... .......... .......... 58% 12.3M 3s + 4500K .......... .......... .......... .......... .......... 59% 107M 3s + 4550K .......... .......... .......... .......... .......... 59% 63.2M 3s + 4600K .......... .......... .......... .......... .......... 60% 59.4M 3s + 4650K .......... .......... .......... .......... .......... 61% 79.0M 3s + 4700K .......... .......... .......... .......... .......... 61% 911K 3s + 4750K .......... .......... .......... .......... .......... 62% 3.64M 3s + 4800K .......... .......... .......... .......... .......... 63% 2.52M 3s + 4850K .......... .......... .......... .......... .......... 63% 1.86M 3s + 4900K .......... .......... .......... .......... .......... 64% 100M 3s + 4950K .......... .......... .......... .......... .......... 65% 4.70M 2s + 5000K .......... .......... .......... .......... .......... 65% 15.1M 2s + 5050K .......... .......... .......... .......... .......... 66% 4.31M 2s + 5100K .......... .......... .......... .......... .......... 67% 11.5M 2s + 5150K .......... .......... .......... .......... .......... 67% 14.2M 2s + 5200K .......... .......... .......... .......... .......... 68% 1007K 2s + 5250K .......... .......... .......... .......... .......... 69% 3.17M 2s + 5300K .......... .......... .......... .......... .......... 69% 1.71M 2s + 5350K .......... .......... .......... .......... .......... 70% 85.9K 2s + 5400K .......... .......... .......... .......... .......... 70% 528K 2s + 5450K .......... .......... .......... .......... .......... 71% 864K 2s + 5500K .......... .......... .......... .......... .......... 72% 1.80M 2s + 5550K .......... .......... .......... .......... .......... 72% 24.9M 2s + 5600K .......... .......... .......... .......... .......... 73% 701K 2s + 5650K .......... .......... .......... .......... .......... 74% 21.2M 2s + 5700K .......... .......... .......... .......... .......... 74% 2.55M 2s + 5750K .......... .......... .......... .......... .......... 75% 1.12M 2s + 5800K .......... .......... .......... .......... .......... 76% 3.02M 2s + 5850K .......... .......... .......... .......... .......... 76% 26.7M 2s + 5900K .......... .......... .......... .......... .......... 77% 108M 2s + 5950K .......... .......... .......... .......... .......... 78% 63.9M 2s + 6000K .......... .......... .......... .......... .......... 78% 54.3M 2s + 6050K .......... .......... .......... .......... .......... 79% 109M 1s + 6100K .......... .......... .......... .......... .......... 80% 53.8M 1s + 6150K .......... .......... .......... .......... .......... 80% 64.4M 1s + 6200K .......... .......... .......... .......... .......... 81% 60.0M 1s + 6250K .......... .......... .......... .......... .......... 82% 111M 1s + 6300K .......... .......... .......... .......... .......... 82% 65.8M 1s + 6350K .......... .......... .......... .......... .......... 83% 280K 1s + 6400K .......... .......... .......... .......... .......... 84% 23.7K 2s + 6450K .......... .......... .......... .......... .......... 84% 1.80M 1s + 6500K .......... .......... .......... .......... .......... 85% 2.86M 1s + 6550K .......... .......... .......... .......... .......... 85% 2.65M 1s + 6600K .......... .......... .......... .......... .......... 86% 47.3M 1s + 6650K .......... .......... .......... .......... .......... 87% 52.5M 1s + 6700K .......... .......... .......... .......... .......... 87% 52.0M 1s + 6750K .......... .......... .......... .......... .......... 88% 51.9M 1s + 6800K .......... .......... .......... .......... .......... 89% 29.3M 1s + 6850K .......... .......... .......... .......... .......... 89% 39.2M 1s + 6900K .......... .......... .......... .......... .......... 90% 65.2M 1s + 6950K .......... .......... .......... .......... .......... 91% 50.5M 1s + 7000K .......... .......... .......... .......... .......... 91% 49.4M 1s + 7050K .......... .......... .......... .......... .......... 92% 49.4M 1s + 7100K .......... .......... .......... .......... .......... 93% 51.6M 1s + 7150K .......... .......... .......... .......... .......... 93% 52.8M 1s + 7200K .......... .......... .......... .......... .......... 94% 42.7M 0s + 7250K .......... .......... .......... .......... .......... 95% 39.1M 0s + 7300K .......... .......... .......... .......... .......... 95% 46.6M 0s + 7350K .......... .......... .......... .......... .......... 96% 60.0M 0s + 7400K .......... .......... .......... .......... .......... 97% 58.0M 0s + 7450K .......... .......... .......... .......... .......... 97% 39.3M 0s + 7500K .......... .......... .......... .......... .......... 98% 30.7M 0s + 7550K .......... .......... .......... .......... .......... 98% 42.1M 0s + 7600K .......... .......... .......... .......... .......... 99% 32.3M 0s + 7650K .......... .......... ....... 100% 91.1M=8.0s + +2018-12-25 10:59:17 (960 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +################################################################ +RedHat based system detected. +################################################################ + + +Installing Packages +Loaded plugins: fastestmirror +Loading mirror speeds from cached hostfile + * base: centos.excellmedia.net + * extras: centos.excellmedia.net + * updates: centos.excellmedia.net +Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version +Package wget-1.14-18.el7.x86_64 already installed and latest version +Package unzip-6.0-19.el7.x86_64 already installed and latest version +Nothing to do +################################################################ + + +Starting and Enabling Service +################################################################ + + +Copying website data +--2018-12-25 11:01:16-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 11:01:17-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 54.3K 2m21s + 50K .......... .......... .......... .......... .......... 1% 214K 88s + 100K .......... .......... .......... .......... .......... 1% 215K 70s + 150K .......... .......... .......... .......... .......... 2% 211K 61s + 200K .......... .......... .......... .......... .......... 3% 453K 52s + 250K .......... .......... .......... .......... .......... 3% 295K 47s + 300K .......... .......... .......... .......... .......... 4% 284K 44s + 350K .......... .......... .......... .......... .......... 5% 980K 39s + 400K .......... .......... .......... .......... .......... 5% 275K 37s + 450K .......... .......... .......... .......... .......... 6% 3.17M 33s + 500K .......... .......... .......... .......... .......... 7% 1.03M 31s + 550K .......... .......... .......... .......... .......... 7% 284K 30s + 600K .......... .......... .......... .......... .......... 8% 2.81M 28s + 650K .......... .......... .......... .......... .......... 9% 1.14M 26s + 700K .......... .......... .......... .......... .......... 9% 382K 25s + 750K .......... .......... .......... .......... .......... 10% 853K 24s + 800K .......... .......... .......... .......... .......... 11% 3.28M 23s + 850K .......... .......... .......... .......... .......... 11% 1.03M 22s + 900K .......... .......... .......... .......... .......... 12% 2.05M 20s + 950K .......... .......... .......... .......... .......... 13% 358K 20s + 1000K .......... .......... .......... .......... .......... 13% 2.98M 19s + 1050K .......... .......... .......... .......... .......... 14% 2.90M 18s + 1100K .......... .......... .......... .......... .......... 14% 2.30M 17s + 1150K .......... .......... .......... .......... .......... 15% 2.53M 17s + 1200K .......... .......... .......... .......... .......... 16% 321K 17s + 1250K .......... .......... .......... .......... .......... 16% 1.92M 16s + 1300K .......... .......... .......... .......... .......... 17% 1.14M 16s + 1350K .......... .......... .......... .......... .......... 18% 80.8M 15s + 1400K .......... .......... .......... .......... .......... 18% 2.33M 14s + 1450K .......... .......... .......... .......... .......... 19% 98.1M 14s + 1500K .......... .......... .......... .......... .......... 20% 519K 14s + 1550K .......... .......... .......... .......... .......... 20% 1019K 13s + 1600K .......... .......... .......... .......... .......... 21% 1.08M 13s + 1650K .......... .......... .......... .......... .......... 22% 1.74M 13s + 1700K .......... .......... .......... .......... .......... 22% 4.45M 12s + 1750K .......... .......... .......... .......... .......... 23% 3.89M 12s + 1800K .......... .......... .......... .......... .......... 24% 8.03M 11s + 1850K .......... .......... .......... .......... .......... 24% 7.56M 11s + 1900K .......... .......... .......... .......... .......... 25% 701K 11s + 1950K .......... .......... .......... .......... .......... 26% 1.07M 11s + 2000K .......... .......... .......... .......... .......... 26% 973K 10s + 2050K .......... .......... .......... .......... .......... 27% 2.42M 10s + 2100K .......... .......... .......... .......... .......... 28% 2.56M 10s + 2150K .......... .......... .......... .......... .......... 28% 1.95M 10s + 2200K .......... .......... .......... .......... .......... 29% 5.54M 9s + 2250K .......... .......... .......... .......... .......... 29% 1.93M 9s + 2300K .......... .......... .......... .......... .......... 30% 46.6M 9s + 2350K .......... .......... .......... .......... .......... 31% 109M 9s + 2400K .......... .......... .......... .......... .......... 31% 669K 8s + 2450K .......... .......... .......... .......... .......... 32% 2.28M 8s + 2500K .......... .......... .......... .......... .......... 33% 2.16M 8s + 2550K .......... .......... .......... .......... .......... 33% 1.29M 8s + 2600K .......... .......... .......... .......... .......... 34% 2.97M 8s + 2650K .......... .......... .......... .......... .......... 35% 2.41M 7s + 2700K .......... .......... .......... .......... .......... 35% 3.13M 7s + 2750K .......... .......... .......... .......... .......... 36% 2.50M 7s + 2800K .......... .......... .......... .......... .......... 37% 5.49M 7s + 2850K .......... .......... .......... .......... .......... 37% 4.42M 7s + 2900K .......... .......... .......... .......... .......... 38% 2.01M 7s + 2950K .......... .......... .......... .......... .......... 39% 5.69M 6s + 3000K .......... .......... .......... .......... .......... 39% 3.62M 6s + 3050K .......... .......... .......... .......... .......... 40% 1.41M 6s + 3100K .......... .......... .......... .......... .......... 41% 3.67M 6s + 3150K .......... .......... .......... .......... .......... 41% 1.99M 6s + 3200K .......... .......... .......... .......... .......... 42% 1.47M 6s + 3250K .......... .......... .......... .......... .......... 42% 1.02M 6s + 3300K .......... .......... .......... .......... .......... 43% 2.21M 6s + 3350K .......... .......... .......... .......... .......... 44% 1.44M 6s + 3400K .......... .......... .......... .......... .......... 44% 2.99M 5s + 3450K .......... .......... .......... .......... .......... 45% 1.46M 5s + 3500K .......... .......... .......... .......... .......... 46% 1.87M 5s + 3550K .......... .......... .......... .......... .......... 46% 61.9M 5s + 3600K .......... .......... .......... .......... .......... 47% 55.0M 5s + 3650K .......... .......... .......... .......... .......... 48% 19.5M 5s + 3700K .......... .......... .......... .......... .......... 48% 1.64M 5s + 3750K .......... .......... .......... .......... .......... 49% 2.57M 5s + 3800K .......... .......... .......... .......... .......... 50% 18.0M 4s + 3850K .......... .......... .......... .......... .......... 50% 62.7M 4s + 3900K .......... .......... .......... .......... .......... 51% 32.0M 4s + 3950K .......... .......... .......... .......... .......... 52% 31.2M 4s + 4000K .......... .......... .......... .......... .......... 52% 7.13M 4s + 4050K .......... .......... .......... .......... .......... 53% 4.27M 4s + 4100K .......... .......... .......... .......... .......... 54% 2.04M 4s + 4150K .......... .......... .......... .......... .......... 54% 6.31M 4s + 4200K .......... .......... .......... .......... .......... 55% 1.71M 4s + 4250K .......... .......... .......... .......... .......... 56% 2.68M 4s + 4300K .......... .......... .......... .......... .......... 56% 16.2M 4s + 4350K .......... .......... .......... .......... .......... 57% 3.18M 3s + 4400K .......... .......... .......... .......... .......... 57% 1.64M 3s + 4450K .......... .......... .......... .......... .......... 58% 3.00M 3s + 4500K .......... .......... .......... .......... .......... 59% 2.11M 3s + 4550K .......... .......... .......... .......... .......... 59% 6.27M 3s + 4600K .......... .......... .......... .......... .......... 60% 4.43M 3s + 4650K .......... .......... .......... .......... .......... 61% 1.99M 3s + 4700K .......... .......... .......... .......... .......... 61% 16.5M 3s + 4750K .......... .......... .......... .......... .......... 62% 1.69M 3s + 4800K .......... .......... .......... .......... .......... 63% 9.85M 3s + 4850K .......... .......... .......... .......... .......... 63% 11.5M 3s + 4900K .......... .......... .......... .......... .......... 64% 5.13M 3s + 4950K .......... .......... .......... .......... .......... 65% 12.8M 3s + 5000K .......... .......... .......... .......... .......... 65% 4.12M 2s + 5050K .......... .......... .......... .......... .......... 66% 48.1M 2s + 5100K .......... .......... .......... .......... .......... 67% 1.49M 2s + 5150K .......... .......... .......... .......... .......... 67% 24.6M 2s + 5200K .......... .......... .......... .......... .......... 68% 213K 2s + 5250K .......... .......... .......... .......... .......... 69% 1.87M 2s + 5300K .......... .......... .......... .......... .......... 69% 8.49M 2s + 5350K .......... .......... .......... .......... .......... 70% 156K 2s + 5400K .......... .......... .......... .......... .......... 70% 1.61M 2s + 5450K .......... .......... .......... .......... .......... 71% 6.72M 2s + 5500K .......... .......... .......... .......... .......... 72% 35.2M 2s + 5550K .......... .......... .......... .......... .......... 72% 3.81M 2s + 5600K .......... .......... .......... .......... .......... 73% 9.59M 2s + 5650K .......... .......... .......... .......... .......... 74% 4.01M 2s + 5700K .......... .......... .......... .......... .......... 74% 5.02M 2s + 5750K .......... .......... .......... .......... .......... 75% 1.16M 2s + 5800K .......... .......... .......... .......... .......... 76% 2.78M 2s + 5850K .......... .......... .......... .......... .......... 76% 5.28M 2s + 5900K .......... .......... .......... .......... .......... 77% 2.57M 2s + 5950K .......... .......... .......... .......... .......... 78% 104M 2s + 6000K .......... .......... .......... .......... .......... 78% 1.81M 2s + 6050K .......... .......... .......... .......... .......... 79% 11.7M 1s + 6100K .......... .......... .......... .......... .......... 80% 2.01M 1s + 6150K .......... .......... .......... .......... .......... 80% 3.86M 1s + 6200K .......... .......... .......... .......... .......... 81% 47.0M 1s + 6250K .......... .......... .......... .......... .......... 82% 15.6M 1s + 6300K .......... .......... .......... .......... .......... 82% 31.9M 1s + 6350K .......... .......... .......... .......... .......... 83% 108M 1s + 6400K .......... .......... .......... .......... .......... 84% 1.13M 1s + 6450K .......... .......... .......... .......... .......... 84% 1.82M 1s + 6500K .......... .......... .......... .......... .......... 85% 16.8M 1s + 6550K .......... .......... .......... .......... .......... 85% 10.6M 1s + 6600K .......... .......... .......... .......... .......... 86% 41.6M 1s + 6650K .......... .......... .......... .......... .......... 87% 9.33M 1s + 6700K .......... .......... .......... .......... .......... 87% 76.4M 1s + 6750K .......... .......... .......... .......... .......... 88% 5.86M 1s + 6800K .......... .......... .......... .......... .......... 89% 46.5M 1s + 6850K .......... .......... .......... .......... .......... 89% 56.4M 1s + 6900K .......... .......... .......... .......... .......... 90% 23.2M 1s + 6950K .......... .......... .......... .......... .......... 91% 22.1M 1s + 7000K .......... .......... .......... .......... .......... 91% 2.33M 1s + 7050K .......... .......... .......... .......... .......... 92% 5.07M 0s + 7100K .......... .......... .......... .......... .......... 93% 14.5M 0s + 7150K .......... .......... .......... .......... .......... 93% 4.24M 0s + 7200K .......... .......... .......... .......... .......... 94% 2.38M 0s + 7250K .......... .......... .......... .......... .......... 95% 7.20M 0s + 7300K .......... .......... .......... .......... .......... 95% 41.9M 0s + 7350K .......... .......... .......... .......... .......... 96% 52.4M 0s + 7400K .......... .......... .......... .......... .......... 97% 48.6M 0s + 7450K .......... .......... .......... .......... .......... 97% 2.98M 0s + 7500K .......... .......... .......... .......... .......... 98% 62.4M 0s + 7550K .......... .......... .......... .......... .......... 98% 109M 0s + 7600K .......... .......... .......... .......... .......... 99% 57.0M 0s + 7650K .......... .......... ....... 100% 122M=5.9s + +2018-12-25 11:01:24 (1.28 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 + + +Restarting Service +################################################################ +################################################ +################################################ +######################################################################## +# Running Websetup on 192.168.5.5.# +######################################################################## +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied) +E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root? +################################################################ + + +Starting and Enabling Service +Failed to start apache2.service: Interactive authentication required. +See system logs and 'systemctl status apache2.service' for details. +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +insserv: fopen(.depend.stop): Permission denied +Failed to execute operation: Interactive authentication required. +insserv: fopen(.depend.stop): Permission denied +Failed to execute operation: Interactive authentication required. +################################################################ + + +Copying website data +website.zip: Permission denied +Archive: website.zip +error: cannot delete old 2093_flight/contact.html + Permission denied +error: cannot delete old 2093_flight/css/bootstrap-theme.css + Permission denied +error: cannot delete old 2093_flight/css/bootstrap-theme.css.map + Permission denied +error: cannot delete old 2093_flight/css/bootstrap-theme.min.css + Permission denied +error: cannot delete old 2093_flight/css/bootstrap.css + Permission denied +error: cannot delete old 2093_flight/css/bootstrap.css.map + Permission denied +error: cannot delete old 2093_flight/css/bootstrap.min.css + Permission denied +error: cannot delete old 2093_flight/css/datepicker.css + Permission denied +error: cannot delete old 2093_flight/css/fontAwesome.css + Permission denied +error: cannot delete old 2093_flight/css/fonts/flexslider-icon.eot + Permission denied +error: cannot delete old 2093_flight/css/fonts/flexslider-icon.svg + Permission denied +error: cannot delete old 2093_flight/css/fonts/flexslider-icon.ttf + Permission denied +error: cannot delete old 2093_flight/css/fonts/flexslider-icon.woff + Permission denied +error: cannot delete old 2093_flight/css/hero-slider.css + Permission denied +error: cannot delete old 2093_flight/css/owl-carousel.css + Permission denied +error: cannot delete old 2093_flight/css/tooplate-style.css + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.eot + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.svg + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.ttf + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.woff + Permission denied +error: cannot delete old 2093_flight/fonts/fontawesome-webfont.woff2 + Permission denied +error: cannot delete old 2093_flight/fonts/FontAwesome.otf + Permission denied +error: cannot delete old 2093_flight/fonts/glyphicons-halflings-regular.eot + Permission denied +error: cannot delete old 2093_flight/fonts/glyphicons-halflings-regular.svg + Permission denied +error: cannot delete old 2093_flight/fonts/glyphicons-halflings-regular.ttf + Permission denied +error: cannot delete old 2093_flight/fonts/glyphicons-halflings-regular.woff + Permission denied +error: cannot delete old 2093_flight/img/banner-bg.jpg + Permission denied +error: cannot delete old 2093_flight/img/close.png + Permission denied +error: cannot delete old 2093_flight/img/contact-01.jpg + Permission denied +error: cannot delete old 2093_flight/img/contact-02.jpg + Permission denied +error: cannot delete old 2093_flight/img/contact-bg.jpg + Permission denied +error: cannot delete old 2093_flight/img/evening-event.jpg + Permission denied +error: cannot delete old 2093_flight/img/fitness-service.jpg + Permission denied +error: cannot delete old 2093_flight/img/heading-bg.jpg + Permission denied +error: cannot delete old 2093_flight/img/loading.gif + Permission denied +error: cannot delete old 2093_flight/img/logo.png + Permission denied +error: cannot delete old 2093_flight/img/massage-service.jpg + Permission denied +error: cannot delete old 2093_flight/img/next.png + Permission denied +error: cannot delete old 2093_flight/img/place-01.jpg + Permission denied +error: cannot delete old 2093_flight/img/place-02.jpg + Permission denied +error: cannot delete old 2093_flight/img/place-03.jpg + Permission denied +error: cannot delete old 2093_flight/img/place-04.jpg + Permission denied +error: cannot delete old 2093_flight/img/prev.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-01.1.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-01.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-02.2.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-02.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-03.3.png + Permission denied +error: cannot delete old 2093_flight/img/service-icon-03.png + Permission denied +error: cannot delete old 2093_flight/img/suite-01.jpg + Permission denied +error: cannot delete old 2093_flight/img/suite-02.jpg + Permission denied +error: cannot delete old 2093_flight/img/suite-03.jpg + Permission denied +error: cannot delete old 2093_flight/img/swiming-pool.jpg + Permission denied +error: cannot delete old 2093_flight/img/weather-bg.jpg + Permission denied +error: cannot delete old 2093_flight/img/weather-icon-01.png + Permission denied +error: cannot delete old 2093_flight/img/weather-icon-02.png + Permission denied +error: cannot delete old 2093_flight/img/weather-icon-03.png + Permission denied +error: cannot delete old 2093_flight/index.html + Permission denied +error: cannot delete old 2093_flight/js/datepicker.js + Permission denied +error: cannot delete old 2093_flight/js/main.js + Permission denied +error: cannot delete old 2093_flight/js/plugins.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/bootstrap.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/bootstrap.min.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/jquery-1.11.2.min.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + Permission denied +error: cannot delete old 2093_flight/js/vendor/npm.js + Permission denied +error: cannot delete old 2093_flight/ABOUT THIS TEMPLATE.txt + Permission denied +cp: cannot stat '/tmp/2112_brunch/*': No such file or directory +################################################################ + + +Restarting Service +Failed to restart apache2.service: Interactive authentication required. +See system logs and 'systemctl status apache2.service' for details. +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +wget: missing URL +Usage: wget [OPTION]... [URL]... + +Try `wget --help' for more options. +Archive: website.zip + inflating: 2093_flight/contact.html + inflating: 2093_flight/css/bootstrap-theme.css + inflating: 2093_flight/css/bootstrap-theme.css.map + inflating: 2093_flight/css/bootstrap-theme.min.css + inflating: 2093_flight/css/bootstrap.css + inflating: 2093_flight/css/bootstrap.css.map + inflating: 2093_flight/css/bootstrap.min.css + inflating: 2093_flight/css/datepicker.css + inflating: 2093_flight/css/fontAwesome.css + inflating: 2093_flight/css/fonts/flexslider-icon.eot + inflating: 2093_flight/css/fonts/flexslider-icon.svg + inflating: 2093_flight/css/fonts/flexslider-icon.ttf + inflating: 2093_flight/css/fonts/flexslider-icon.woff + inflating: 2093_flight/css/hero-slider.css + inflating: 2093_flight/css/owl-carousel.css + inflating: 2093_flight/css/tooplate-style.css + inflating: 2093_flight/fonts/fontawesome-webfont.eot + inflating: 2093_flight/fonts/fontawesome-webfont.svg + inflating: 2093_flight/fonts/fontawesome-webfont.ttf + inflating: 2093_flight/fonts/fontawesome-webfont.woff + inflating: 2093_flight/fonts/fontawesome-webfont.woff2 + inflating: 2093_flight/fonts/FontAwesome.otf + inflating: 2093_flight/fonts/glyphicons-halflings-regular.eot + inflating: 2093_flight/fonts/glyphicons-halflings-regular.svg + inflating: 2093_flight/fonts/glyphicons-halflings-regular.ttf + inflating: 2093_flight/fonts/glyphicons-halflings-regular.woff + inflating: 2093_flight/img/banner-bg.jpg + inflating: 2093_flight/img/close.png + inflating: 2093_flight/img/contact-01.jpg + inflating: 2093_flight/img/contact-02.jpg + inflating: 2093_flight/img/contact-bg.jpg + inflating: 2093_flight/img/evening-event.jpg + inflating: 2093_flight/img/fitness-service.jpg + inflating: 2093_flight/img/heading-bg.jpg + inflating: 2093_flight/img/loading.gif + inflating: 2093_flight/img/logo.png + inflating: 2093_flight/img/massage-service.jpg + inflating: 2093_flight/img/next.png + inflating: 2093_flight/img/place-01.jpg + inflating: 2093_flight/img/place-02.jpg + inflating: 2093_flight/img/place-03.jpg + inflating: 2093_flight/img/place-04.jpg + inflating: 2093_flight/img/prev.png + inflating: 2093_flight/img/service-icon-01.1.png + inflating: 2093_flight/img/service-icon-01.png + inflating: 2093_flight/img/service-icon-02.2.png + inflating: 2093_flight/img/service-icon-02.png + inflating: 2093_flight/img/service-icon-03.3.png + inflating: 2093_flight/img/service-icon-03.png + inflating: 2093_flight/img/suite-01.jpg + inflating: 2093_flight/img/suite-02.jpg + inflating: 2093_flight/img/suite-03.jpg + inflating: 2093_flight/img/swiming-pool.jpg + inflating: 2093_flight/img/weather-bg.jpg + inflating: 2093_flight/img/weather-icon-01.png + inflating: 2093_flight/img/weather-icon-02.png + inflating: 2093_flight/img/weather-icon-03.png + inflating: 2093_flight/index.html + inflating: 2093_flight/js/datepicker.js + inflating: 2093_flight/js/main.js + inflating: 2093_flight/js/plugins.js + inflating: 2093_flight/js/vendor/bootstrap.js + inflating: 2093_flight/js/vendor/bootstrap.min.js + inflating: 2093_flight/js/vendor/jquery-1.11.2.min.js + inflating: 2093_flight/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2093_flight/js/vendor/npm.js + inflating: 2093_flight/ABOUT THIS TEMPLATE.txt +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +wget: missing URL +Usage: wget [OPTION]... [URL]... + +Try `wget --help' for more options. +Archive: website.zip + inflating: 2093_flight/contact.html + inflating: 2093_flight/css/bootstrap-theme.css + inflating: 2093_flight/css/bootstrap-theme.css.map + inflating: 2093_flight/css/bootstrap-theme.min.css + inflating: 2093_flight/css/bootstrap.css + inflating: 2093_flight/css/bootstrap.css.map + inflating: 2093_flight/css/bootstrap.min.css + inflating: 2093_flight/css/datepicker.css + inflating: 2093_flight/css/fontAwesome.css + inflating: 2093_flight/css/fonts/flexslider-icon.eot + inflating: 2093_flight/css/fonts/flexslider-icon.svg + inflating: 2093_flight/css/fonts/flexslider-icon.ttf + inflating: 2093_flight/css/fonts/flexslider-icon.woff + inflating: 2093_flight/css/hero-slider.css + inflating: 2093_flight/css/owl-carousel.css + inflating: 2093_flight/css/tooplate-style.css + inflating: 2093_flight/fonts/fontawesome-webfont.eot + inflating: 2093_flight/fonts/fontawesome-webfont.svg + inflating: 2093_flight/fonts/fontawesome-webfont.ttf + inflating: 2093_flight/fonts/fontawesome-webfont.woff + inflating: 2093_flight/fonts/fontawesome-webfont.woff2 + inflating: 2093_flight/fonts/FontAwesome.otf + inflating: 2093_flight/fonts/glyphicons-halflings-regular.eot + inflating: 2093_flight/fonts/glyphicons-halflings-regular.svg + inflating: 2093_flight/fonts/glyphicons-halflings-regular.ttf + inflating: 2093_flight/fonts/glyphicons-halflings-regular.woff + inflating: 2093_flight/img/banner-bg.jpg + inflating: 2093_flight/img/close.png + inflating: 2093_flight/img/contact-01.jpg + inflating: 2093_flight/img/contact-02.jpg + inflating: 2093_flight/img/contact-bg.jpg + inflating: 2093_flight/img/evening-event.jpg + inflating: 2093_flight/img/fitness-service.jpg + inflating: 2093_flight/img/heading-bg.jpg + inflating: 2093_flight/img/loading.gif + inflating: 2093_flight/img/logo.png + inflating: 2093_flight/img/massage-service.jpg + inflating: 2093_flight/img/next.png + inflating: 2093_flight/img/place-01.jpg + inflating: 2093_flight/img/place-02.jpg + inflating: 2093_flight/img/place-03.jpg + inflating: 2093_flight/img/place-04.jpg + inflating: 2093_flight/img/prev.png + inflating: 2093_flight/img/service-icon-01.1.png + inflating: 2093_flight/img/service-icon-01.png + inflating: 2093_flight/img/service-icon-02.2.png + inflating: 2093_flight/img/service-icon-02.png + inflating: 2093_flight/img/service-icon-03.3.png + inflating: 2093_flight/img/service-icon-03.png + inflating: 2093_flight/img/suite-01.jpg + inflating: 2093_flight/img/suite-02.jpg + inflating: 2093_flight/img/suite-03.jpg + inflating: 2093_flight/img/swiming-pool.jpg + inflating: 2093_flight/img/weather-bg.jpg + inflating: 2093_flight/img/weather-icon-01.png + inflating: 2093_flight/img/weather-icon-02.png + inflating: 2093_flight/img/weather-icon-03.png + inflating: 2093_flight/index.html + inflating: 2093_flight/js/datepicker.js + inflating: 2093_flight/js/main.js + inflating: 2093_flight/js/plugins.js + inflating: 2093_flight/js/vendor/bootstrap.js + inflating: 2093_flight/js/vendor/bootstrap.min.js + inflating: 2093_flight/js/vendor/jquery-1.11.2.min.js + inflating: 2093_flight/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2093_flight/js/vendor/npm.js + inflating: 2093_flight/ABOUT THIS TEMPLATE.txt +################################################################ + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:18:31-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:18:32-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 73.2K 1m44s + 50K .......... .......... .......... .......... .......... 1% 206K 70s + 100K .......... .......... .......... .......... .......... 1% 211K 58s + 150K .......... .......... .......... .......... .......... 2% 210K 52s + 200K .......... .......... .......... .......... .......... 3% 236K 48s + 250K .......... .......... .......... .......... .......... 3% 222K 45s + 300K .......... .......... .......... .......... .......... 4% 2.15M 39s + 350K .......... .......... .......... .......... .......... 5% 231K 38s + 400K .......... .......... .......... .......... .......... 5% 2.95M 34s + 450K .......... .......... .......... .......... .......... 6% 235K 33s + 500K .......... .......... .......... .......... .......... 7% 47.9M 30s + 550K .......... .......... .......... .......... .......... 7% 7.65M 27s + 600K .......... .......... .......... .......... .......... 8% 225K 27s + 650K .......... .......... .......... .......... .......... 9% 3.16M 25s + 700K .......... .......... .......... .......... .......... 9% 29.4M 24s + 750K .......... .......... .......... .......... .......... 10% 60.9M 22s + 800K .......... .......... .......... .......... .......... 11% 210K 22s + 850K .......... .......... .......... .......... .......... 11% 14.3M 21s + 900K .......... .......... .......... .......... .......... 12% 29.5M 20s + 950K .......... .......... .......... .......... .......... 13% 261K 20s + 1000K .......... .......... .......... .......... .......... 13% 3.94M 19s + 1050K .......... .......... .......... .......... .......... 14% 5.28M 18s + 1100K .......... .......... .......... .......... .......... 14% 3.05M 17s + 1150K .......... .......... .......... .......... .......... 15% 7.95M 16s + 1200K .......... .......... .......... .......... .......... 16% 243K 17s + 1250K .......... .......... .......... .......... .......... 16% 75.2M 16s + 1300K .......... .......... .......... .......... .......... 17% 4.70M 15s + 1350K .......... .......... .......... .......... .......... 18% 3.43M 15s + 1400K .......... .......... .......... .......... .......... 18% 4.00M 14s + 1450K .......... .......... .......... .......... .......... 19% 4.10M 14s + 1500K .......... .......... .......... .......... .......... 20% 240K 14s + 1550K .......... .......... .......... .......... .......... 20% 20.1M 13s + 1600K .......... .......... .......... .......... .......... 21% 34.1M 13s + 1650K .......... .......... .......... .......... .......... 22% 36.4M 12s + 1700K .......... .......... .......... .......... .......... 22% 2.32M 12s + 1750K .......... .......... .......... .......... .......... 23% 2.12M 12s + 1800K .......... .......... .......... .......... .......... 24% 43.2M 11s + 1850K .......... .......... .......... .......... .......... 24% 341K 11s + 1900K .......... .......... .......... .......... .......... 25% 912K 11s + 1950K .......... .......... .......... .......... .......... 26% 53.2M 11s + 2000K .......... .......... .......... .......... .......... 26% 7.74M 10s + 2050K .......... .......... .......... .......... .......... 27% 198K 11s + 2100K .......... .......... .......... .......... .......... 28% 14.6M 10s + 2150K .......... .......... .......... .......... .......... 28% 13.6M 10s + 2200K .......... .......... .......... .......... .......... 29% 24.9M 10s + 2250K .......... .......... .......... .......... .......... 29% 32.2M 9s + 2300K .......... .......... .......... .......... .......... 30% 92.3M 9s + 2350K .......... .......... .......... .......... .......... 31% 19.3M 9s + 2400K .......... .......... .......... .......... .......... 31% 23.7M 9s + 2450K .......... .......... .......... .......... .......... 32% 36.2M 8s + 2500K .......... .......... .......... .......... .......... 33% 18.6M 8s + 2550K .......... .......... .......... .......... .......... 33% 15.0M 8s + 2600K .......... .......... .......... .......... .......... 34% 14.4M 8s + 2650K .......... .......... .......... .......... .......... 35% 47.4M 7s + 2700K .......... .......... .......... .......... .......... 35% 440K 7s + 2750K .......... .......... .......... .......... .......... 36% 1.13M 7s + 2800K .......... .......... .......... .......... .......... 37% 1.17M 7s + 2850K .......... .......... .......... .......... .......... 37% 5.00M 7s + 2900K .......... .......... .......... .......... .......... 38% 7.20M 7s + 2950K .......... .......... .......... .......... .......... 39% 3.33M 7s + 3000K .......... .......... .......... .......... .......... 39% 7.86M 6s + 3050K .......... .......... .......... .......... .......... 40% 394K 6s + 3100K .......... .......... .......... .......... .......... 41% 1.95M 6s + 3150K .......... .......... .......... .......... .......... 41% 4.28M 6s + 3200K .......... .......... .......... .......... .......... 42% 792K 6s + 3250K .......... .......... .......... .......... .......... 42% 5.39M 6s + 3300K .......... .......... .......... .......... .......... 43% 5.36M 6s + 3350K .......... .......... .......... .......... .......... 44% 193K 6s + 3400K .......... .......... .......... .......... .......... 44% 773K 6s + 3450K .......... .......... .......... .......... .......... 45% 12.3M 6s + 3500K .......... .......... .......... .......... .......... 46% 8.15M 6s + 3550K .......... .......... .......... .......... .......... 46% 8.85M 5s + 3600K .......... .......... .......... .......... .......... 47% 8.25M 5s + 3650K .......... .......... .......... .......... .......... 48% 57.0M 5s + 3700K .......... .......... .......... .......... .......... 48% 56.5M 5s + 3750K .......... .......... .......... .......... .......... 49% 57.8M 5s + 3800K .......... .......... .......... .......... .......... 50% 1.95M 5s + 3850K .......... .......... .......... .......... .......... 50% 1.17M 5s + 3900K .......... .......... .......... .......... .......... 51% 970K 5s + 3950K .......... .......... .......... .......... .......... 52% 2.26M 5s + 4000K .......... .......... .......... .......... .......... 52% 891K 5s + 4050K .......... .......... .......... .......... .......... 53% 798K 4s + 4100K .......... .......... .......... .......... .......... 54% 1.60M 4s + 4150K .......... .......... .......... .......... .......... 54% 726K 4s + 4200K .......... .......... .......... .......... .......... 55% 6.32M 4s + 4250K .......... .......... .......... .......... .......... 56% 3.52M 4s + 4300K .......... .......... .......... .......... .......... 56% 690K 4s + 4350K .......... .......... .......... .......... .......... 57% 1.16M 4s + 4400K .......... .......... .......... .......... .......... 57% 525K 4s + 4450K .......... .......... .......... .......... .......... 58% 11.4M 4s + 4500K .......... .......... .......... .......... .......... 59% 3.23M 4s + 4550K .......... .......... .......... .......... .......... 59% 969K 4s + 4600K .......... .......... .......... .......... .......... 60% 892K 4s + 4650K .......... .......... .......... .......... .......... 61% 1.77M 4s + 4700K .......... .......... .......... .......... .......... 61% 670K 4s + 4750K .......... .......... .......... .......... .......... 62% 3.80M 3s + 4800K .......... .......... .......... .......... .......... 63% 3.53M 3s + 4850K .......... .......... .......... .......... .......... 63% 604K 3s + 4900K .......... .......... .......... .......... .......... 64% 1.60M 3s + 4950K .......... .......... .......... .......... .......... 65% 678K 3s + 5000K .......... .......... .......... .......... .......... 65% 1.41M 3s + 5050K .......... .......... .......... .......... .......... 66% 5.76M 3s + 5100K .......... .......... .......... .......... .......... 67% 26.9M 3s + 5150K .......... .......... .......... .......... .......... 67% 508K 3s + 5200K .......... .......... .......... .......... .......... 68% 1.96M 3s + 5250K .......... .......... .......... .......... .......... 69% 603K 3s + 5300K .......... .......... .......... .......... .......... 69% 2.99M 3s + 5350K .......... .......... .......... .......... .......... 70% 6.91M 3s + 5400K .......... .......... .......... .......... .......... 70% 1.40M 3s + 5450K .......... .......... .......... .......... .......... 71% 823K 2s + 5500K .......... .......... .......... .......... .......... 72% 3.16M 2s + 5550K .......... .......... .......... .......... .......... 72% 583K 2s + 5600K .......... .......... .......... .......... .......... 73% 1.75M 2s + 5650K .......... .......... .......... .......... .......... 74% 3.70M 2s + 5700K .......... .......... .......... .......... .......... 74% 1.83M 2s + 5750K .......... .......... .......... .......... .......... 75% 775K 2s + 5800K .......... .......... .......... .......... .......... 76% 2.75M 2s + 5850K .......... .......... .......... .......... .......... 76% 640K 2s + 5900K .......... .......... .......... .......... .......... 77% 1.67M 2s + 5950K .......... .......... .......... .......... .......... 78% 3.91M 2s + 6000K .......... .......... .......... .......... .......... 78% 1.65M 2s + 6050K .......... .......... .......... .......... .......... 79% 745K 2s + 6100K .......... .......... .......... .......... .......... 80% 3.21M 2s + 6150K .......... .......... .......... .......... .......... 80% 624K 2s + 6200K .......... .......... .......... .......... .......... 81% 2.03M 2s + 6250K .......... .......... .......... .......... .......... 82% 1.96M 2s + 6300K .......... .......... .......... .......... .......... 82% 4.34M 1s + 6350K .......... .......... .......... .......... .......... 83% 679K 1s + 6400K .......... .......... .......... .......... .......... 84% 2.01M 1s + 6450K .......... .......... .......... .......... .......... 84% 706K 1s + 6500K .......... .......... .......... .......... .......... 85% 2.53M 1s + 6550K .......... .......... .......... .......... .......... 85% 1.64M 1s + 6600K .......... .......... .......... .......... .......... 86% 2.33M 1s + 6650K .......... .......... .......... .......... .......... 87% 872K 1s + 6700K .......... .......... .......... .......... .......... 87% 2.95M 1s + 6750K .......... .......... .......... .......... .......... 88% 1010K 1s + 6800K .......... .......... .......... .......... .......... 89% 1.07M 1s + 6850K .......... .......... .......... .......... .......... 89% 1.34M 1s + 6900K .......... .......... .......... .......... .......... 90% 3.40M 1s + 6950K .......... .......... .......... .......... .......... 91% 1.41M 1s + 7000K .......... .......... .......... .......... .......... 91% 894K 1s + 7050K .......... .......... .......... .......... .......... 92% 5.16M 1s + 7100K .......... .......... .......... .......... .......... 93% 655K 1s + 7150K .......... .......... .......... .......... .......... 93% 2.12M 1s + 7200K .......... .......... .......... .......... .......... 94% 1.19M 0s + 7250K .......... .......... .......... .......... .......... 95% 5.78M 0s + 7300K .......... .......... .......... .......... .......... 95% 809K 0s + 7350K .......... .......... .......... .......... .......... 96% 1.73M 0s + 7400K .......... .......... .......... .......... .......... 97% 683K 0s + 7450K .......... .......... .......... .......... .......... 97% 2.63M 0s + 7500K .......... .......... .......... .......... .......... 98% 1.10M 0s + 7550K .......... .......... .......... .......... .......... 98% 3.07M 0s + 7600K .......... .......... .......... .......... .......... 99% 1.19M 0s + 7650K .......... .......... ....... 100% 4.12M=7.9s + +2018-12-25 10:18:41 (974 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + creating: 2112_brunch/ + inflating: 2112_brunch/contact-page.html + creating: 2112_brunch/css/ + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + creating: 2112_brunch/css/fonts/ + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + creating: 2112_brunch/fonts/ + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + creating: 2112_brunch/img/ + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + creating: 2112_brunch/js/ + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + creating: 2112_brunch/js/vendor/ + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + creating: 2112_brunch/videos/ + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:20:30-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:20:31-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 70.5K 1m48s + 50K .......... .......... .......... .......... .......... 1% 213K 72s + 100K .......... .......... .......... .......... .......... 1% 201K 60s + 150K .......... .......... .......... .......... .......... 2% 207K 54s + 200K .......... .......... .......... .......... .......... 3% 217K 49s + 250K .......... .......... .......... .......... .......... 3% 200K 47s + 300K .......... .......... .......... .......... .......... 4% 1.42M 41s + 350K .......... .......... .......... .......... .......... 5% 241K 39s + 400K .......... .......... .......... .......... .......... 5% 897K 36s + 450K .......... .......... .......... .......... .......... 6% 275K 34s + 500K .......... .......... .......... .......... .......... 7% 8.35M 31s + 550K .......... .......... .......... .......... .......... 7% 1.07M 29s + 600K .......... .......... .......... .......... .......... 8% 257K 29s + 650K .......... .......... .......... .......... .......... 9% 5.54M 26s + 700K .......... .......... .......... .......... .......... 9% 11.3M 25s + 750K .......... .......... .......... .......... .......... 10% 246K 25s + 800K .......... .......... .......... .......... .......... 11% 2.03M 23s + 850K .......... .......... .......... .......... .......... 11% 5.73M 22s + 900K .......... .......... .......... .......... .......... 12% 6.69M 21s + 950K .......... .......... .......... .......... .......... 13% 254K 21s + 1000K .......... .......... .......... .......... .......... 13% 2.55M 20s + 1050K .......... .......... .......... .......... .......... 14% 7.14M 19s + 1100K .......... .......... .......... .......... .......... 14% 3.10M 18s + 1150K .......... .......... .......... .......... .......... 15% 7.59M 17s + 1200K .......... .......... .......... .......... .......... 16% 248K 17s + 1250K .......... .......... .......... .......... .......... 16% 4.82M 16s + 1300K .......... .......... .......... .......... .......... 17% 10.1M 16s + 1350K .......... .......... .......... .......... .......... 18% 3.07M 15s + 1400K .......... .......... .......... .......... .......... 18% 5.95M 15s + 1450K .......... .......... .......... .......... .......... 19% 5.45M 14s + 1500K .......... .......... .......... .......... .......... 20% 286K 14s + 1550K .......... .......... .......... .......... .......... 20% 3.17M 14s + 1600K .......... .......... .......... .......... .......... 21% 4.60M 13s + 1650K .......... .......... .......... .......... .......... 22% 6.24M 13s + 1700K .......... .......... .......... .......... .......... 22% 3.84M 12s + 1750K .......... .......... .......... .......... .......... 23% 2.40M 12s + 1800K .......... .......... .......... .......... .......... 24% 4.72M 11s + 1850K .......... .......... .......... .......... .......... 24% 410K 11s + 1900K .......... .......... .......... .......... .......... 25% 1.31M 11s + 1950K .......... .......... .......... .......... .......... 26% 1.69M 11s + 2000K .......... .......... .......... .......... .......... 26% 4.93M 11s + 2050K .......... .......... .......... .......... .......... 27% 127M 10s + 2100K .......... .......... .......... .......... .......... 28% 5.64M 10s + 2150K .......... .......... .......... .......... .......... 28% 9.05M 10s + 2200K .......... .......... .......... .......... .......... 29% 1.62M 9s + 2250K .......... .......... .......... .......... .......... 29% 4.73M 9s + 2300K .......... .......... .......... .......... .......... 30% 7.67M 9s + 2350K .......... .......... .......... .......... .......... 31% 360K 9s + 2400K .......... .......... .......... .......... .......... 31% 624K 9s + 2450K .......... .......... .......... .......... .......... 32% 54.2M 9s + 2500K .......... .......... .......... .......... .......... 33% 18.7M 8s + 2550K .......... .......... .......... .......... .......... 33% 173K 9s + 2600K .......... .......... .......... .......... .......... 34% 24.1M 8s + 2650K .......... .......... .......... .......... .......... 35% 5.09M 8s + 2700K .......... .......... .......... .......... .......... 35% 6.62M 8s + 2750K .......... .......... .......... .......... .......... 36% 9.95M 8s + 2800K .......... .......... .......... .......... .......... 37% 21.1M 8s + 2850K .......... .......... .......... .......... .......... 37% 68.4M 7s + 2900K .......... .......... .......... .......... .......... 38% 33.5M 7s + 2950K .......... .......... .......... .......... .......... 39% 132M 7s + 3000K .......... .......... .......... .......... .......... 39% 13.9M 7s + 3050K .......... .......... .......... .......... .......... 40% 11.9M 7s + 3100K .......... .......... .......... .......... .......... 41% 18.8M 6s + 3150K .......... .......... .......... .......... .......... 41% 88.3M 6s + 3200K .......... .......... .......... .......... .......... 42% 19.6M 6s + 3250K .......... .......... .......... .......... .......... 42% 23.0M 6s + 3300K .......... .......... .......... .......... .......... 43% 27.7M 6s + 3350K .......... .......... .......... .......... .......... 44% 102M 6s + 3400K .......... .......... .......... .......... .......... 44% 21.3M 5s + 3450K .......... .......... .......... .......... .......... 45% 41.3M 5s + 3500K .......... .......... .......... .......... .......... 46% 212K 5s + 3550K .......... .......... .......... .......... .......... 46% 374K 5s + 3600K .......... .......... .......... .......... .......... 47% 2.31M 5s + 3650K .......... .......... .......... .......... .......... 48% 4.08M 5s + 3700K .......... .......... .......... .......... .......... 48% 3.01M 5s + 3750K .......... .......... .......... .......... .......... 49% 5.24M 5s + 3800K .......... .......... .......... .......... .......... 50% 110M 5s + 3850K .......... .......... .......... .......... .......... 50% 113K 5s + 3900K .......... .......... .......... .......... .......... 51% 19.6M 5s + 3950K .......... .......... .......... .......... .......... 52% 1.47M 5s + 4000K .......... .......... .......... .......... .......... 52% 1.60M 5s + 4050K .......... .......... .......... .......... .......... 53% 4.34M 5s + 4100K .......... .......... .......... .......... .......... 54% 54.9M 5s + 4150K .......... .......... .......... .......... .......... 54% 52.0M 4s + 4200K .......... .......... .......... .......... .......... 55% 66.6M 4s + 4250K .......... .......... .......... .......... .......... 56% 103M 4s + 4300K .......... .......... .......... .......... .......... 56% 71.3M 4s + 4350K .......... .......... .......... .......... .......... 57% 99.7M 4s + 4400K .......... .......... .......... .......... .......... 57% 62.1M 4s + 4450K .......... .......... .......... .......... .......... 58% 50.5M 4s + 4500K .......... .......... .......... .......... .......... 59% 55.9M 4s + 4550K .......... .......... .......... .......... .......... 59% 73.3M 4s + 4600K .......... .......... .......... .......... .......... 60% 92.1M 4s + 4650K .......... .......... .......... .......... .......... 61% 72.5M 3s + 4700K .......... .......... .......... .......... .......... 61% 54.9M 3s + 4750K .......... .......... .......... .......... .......... 62% 358K 3s + 4800K .......... .......... .......... .......... .......... 63% 1.38M 3s + 4850K .......... .......... .......... .......... .......... 63% 4.36M 3s + 4900K .......... .......... .......... .......... .......... 64% 3.68M 3s + 4950K .......... .......... .......... .......... .......... 65% 9.36M 3s + 5000K .......... .......... .......... .......... .......... 65% 2.34M 3s + 5050K .......... .......... .......... .......... .......... 66% 781K 3s + 5100K .......... .......... .......... .......... .......... 67% 462K 3s + 5150K .......... .......... .......... .......... .......... 67% 1.96M 3s + 5200K .......... .......... .......... .......... .......... 68% 4.01M 3s + 5250K .......... .......... .......... .......... .......... 69% 1.54M 3s + 5300K .......... .......... .......... .......... .......... 69% 127M 3s + 5350K .......... .......... .......... .......... .......... 70% 5.85M 2s + 5400K .......... .......... .......... .......... .......... 70% 319K 2s + 5450K .......... .......... .......... .......... .......... 71% 27.0M 2s + 5500K .......... .......... .......... .......... .......... 72% 1.61M 2s + 5550K .......... .......... .......... .......... .......... 72% 765K 2s + 5600K .......... .......... .......... .......... .......... 73% 110M 2s + 5650K .......... .......... .......... .......... .......... 74% 140M 2s + 5700K .......... .......... .......... .......... .......... 74% 62.3M 2s + 5750K .......... .......... .......... .......... .......... 75% 334K 2s + 5800K .......... .......... .......... .......... .......... 76% 2.28M 2s + 5850K .......... .......... .......... .......... .......... 76% 826K 2s + 5900K .......... .......... .......... .......... .......... 77% 4.00M 2s + 5950K .......... .......... .......... .......... .......... 78% 104M 2s + 6000K .......... .......... .......... .......... .......... 78% 51.2M 2s + 6050K .......... .......... .......... .......... .......... 79% 7.03M 2s + 6100K .......... .......... .......... .......... .......... 80% 373K 2s + 6150K .......... .......... .......... .......... .......... 80% 9.47M 2s + 6200K .......... .......... .......... .......... .......... 81% 940K 2s + 6250K .......... .......... .......... .......... .......... 82% 5.34M 1s + 6300K .......... .......... .......... .......... .......... 82% 3.56M 1s + 6350K .......... .......... .......... .......... .......... 83% 4.29M 1s + 6400K .......... .......... .......... .......... .......... 84% 6.75M 1s + 6450K .......... .......... .......... .......... .......... 84% 351K 1s + 6500K .......... .......... .......... .......... .......... 85% 120M 1s + 6550K .......... .......... .......... .......... .......... 85% 638K 1s + 6600K .......... .......... .......... .......... .......... 86% 3.23M 1s + 6650K .......... .......... .......... .......... .......... 87% 80.8M 1s + 6700K .......... .......... .......... .......... .......... 87% 6.18M 1s + 6750K .......... .......... .......... .......... .......... 88% 35.0M 1s + 6800K .......... .......... .......... .......... .......... 89% 324K 1s + 6850K .......... .......... .......... .......... .......... 89% 9.17M 1s + 6900K .......... .......... .......... .......... .......... 90% 66.8M 1s + 6950K .......... .......... .......... .......... .......... 91% 816K 1s + 7000K .......... .......... .......... .......... .......... 91% 1.57M 1s + 7050K .......... .......... .......... .......... .......... 92% 7.37M 1s + 7100K .......... .......... .......... .......... .......... 93% 4.10M 1s + 7150K .......... .......... .......... .......... .......... 93% 12.9M 0s + 7200K .......... .......... .......... .......... .......... 94% 472K 0s + 7250K .......... .......... .......... .......... .......... 95% 31.4M 0s + 7300K .......... .......... .......... .......... .......... 95% 717K 0s + 7350K .......... .......... .......... .......... .......... 96% 18.1M 0s + 7400K .......... .......... .......... .......... .......... 97% 855K 0s + 7450K .......... .......... .......... .......... .......... 97% 23.6M 0s + 7500K .......... .......... .......... .......... .......... 98% 23.3M 0s + 7550K .......... .......... .......... .......... .......... 98% 961K 0s + 7600K .......... .......... .......... .......... .......... 99% 1.13M 0s + 7650K .......... .......... ....... 100% 115M=7.5s + +2018-12-25 10:20:39 (1024 KB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ +2112_brunch +https://www.tooplate.com/download/2112_brunch +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:25:39-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:25:40-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 71.5K 1m47s + 50K .......... .......... .......... .......... .......... 1% 217K 70s + 100K .......... .......... .......... .......... .......... 1% 204K 59s + 150K .......... .......... .......... .......... .......... 2% 223K 52s + 200K .......... .......... .......... .......... .......... 3% 3.86M 42s + 250K .......... .......... .......... .......... .......... 3% 223K 40s + 300K .......... .......... .......... .......... .......... 4% 215K 39s + 350K .......... .......... .......... .......... .......... 5% 11.0M 34s + 400K .......... .......... .......... .......... .......... 5% 224K 34s + 450K .......... .......... .......... .......... .......... 6% 3.01M 30s + 500K .......... .......... .......... .......... .......... 7% 70.8M 27s + 550K .......... .......... .......... .......... .......... 7% 238K 27s + 600K .......... .......... .......... .......... .......... 8% 1.92M 25s + 650K .......... .......... .......... .......... .......... 9% 35.6M 23s + 700K .......... .......... .......... .......... .......... 9% 245K 24s + 750K .......... .......... .......... .......... .......... 10% 4.05M 22s + 800K .......... .......... .......... .......... .......... 11% 2.06M 21s + 850K .......... .......... .......... .......... .......... 11% 5.50M 20s + 900K .......... .......... .......... .......... .......... 12% 257K 20s + 950K .......... .......... .......... .......... .......... 13% 7.91M 19s + 1000K .......... .......... .......... .......... .......... 13% 2.43M 18s + 1050K .......... .......... .......... .......... .......... 14% 3.62M 17s + 1100K .......... .......... .......... .......... .......... 14% 18.0M 16s + 1150K .......... .......... .......... .......... .......... 15% 254K 16s + 1200K .......... .......... .......... .......... .......... 16% 14.2M 16s + 1250K .......... .......... .......... .......... .......... 16% 5.86M 15s + 1300K .......... .......... .......... .......... .......... 17% 4.22M 14s + 1350K .......... .......... .......... .......... .......... 18% 2.98M 14s + 1400K .......... .......... .......... .......... .......... 18% 12.9M 13s + 1450K .......... .......... .......... .......... .......... 19% 254K 13s + 1500K .......... .......... .......... .......... .......... 20% 14.2M 13s + 1550K .......... .......... .......... .......... .......... 20% 33.8M 12s + 1600K .......... .......... .......... .......... .......... 21% 5.94M 12s + 1650K .......... .......... .......... .......... .......... 22% 5.50M 12s + 1700K .......... .......... .......... .......... .......... 22% 4.34M 11s + 1750K .......... .......... .......... .......... .......... 23% 4.67M 11s + 1800K .......... .......... .......... .......... .......... 24% 325K 11s + 1850K .......... .......... .......... .......... .......... 24% 1.26M 11s + 1900K .......... .......... .......... .......... .......... 25% 38.7M 10s + 1950K .......... .......... .......... .......... .......... 26% 44.4M 10s + 2000K .......... .......... .......... .......... .......... 26% 5.65M 10s + 2050K .......... .......... .......... .......... .......... 27% 5.81M 9s + 2100K .......... .......... .......... .......... .......... 28% 6.00M 9s + 2150K .......... .......... .......... .......... .......... 28% 8.38M 9s + 2200K .......... .......... .......... .......... .......... 29% 3.73M 9s + 2250K .......... .......... .......... .......... .......... 29% 320K 9s + 2300K .......... .......... .......... .......... .......... 30% 1.23M 9s + 2350K .......... .......... .......... .......... .......... 31% 34.2M 8s + 2400K .......... .......... .......... .......... .......... 31% 13.9M 8s + 2450K .......... .......... .......... .......... .......... 32% 105M 8s + 2500K .......... .......... .......... .......... .......... 33% 9.23M 8s + 2550K .......... .......... .......... .......... .......... 33% 2.33M 7s + 2600K .......... .......... .......... .......... .......... 34% 72.5M 7s + 2650K .......... .......... .......... .......... .......... 35% 8.12M 7s + 2700K .......... .......... .......... .......... .......... 35% 11.7M 7s + 2750K .......... .......... .......... .......... .......... 36% 5.52M 7s + 2800K .......... .......... .......... .......... .......... 37% 298K 7s + 2850K .......... .......... .......... .......... .......... 37% 28.0M 7s + 2900K .......... .......... .......... .......... .......... 38% 8.84M 6s + 2950K .......... .......... .......... .......... .......... 39% 7.49M 6s + 3000K .......... .......... .......... .......... .......... 39% 5.08M 6s + 3050K .......... .......... .......... .......... .......... 40% 8.32M 6s + 3100K .......... .......... .......... .......... .......... 41% 4.58M 6s + 3150K .......... .......... .......... .......... .......... 41% 8.34M 6s + 3200K .......... .......... .......... .......... .......... 42% 5.61M 5s + 3250K .......... .......... .......... .......... .......... 42% 6.51M 5s + 3300K .......... .......... .......... .......... .......... 43% 5.91M 5s + 3350K .......... .......... .......... .......... .......... 44% 4.07M 5s + 3400K .......... .......... .......... .......... .......... 44% 436K 5s + 3450K .......... .......... .......... .......... .......... 45% 2.29M 5s + 3500K .......... .......... .......... .......... .......... 46% 474K 5s + 3550K .......... .......... .......... .......... .......... 46% 14.6M 5s + 3600K .......... .......... .......... .......... .......... 47% 15.7M 5s + 3650K .......... .......... .......... .......... .......... 48% 184K 5s + 3700K .......... .......... .......... .......... .......... 48% 39.4M 5s + 3750K .......... .......... .......... .......... .......... 49% 1.90M 5s + 3800K .......... .......... .......... .......... .......... 50% 8.52M 5s + 3850K .......... .......... .......... .......... .......... 50% 71.9M 4s + 3900K .......... .......... .......... .......... .......... 51% 2.70M 4s + 3950K .......... .......... .......... .......... .......... 52% 31.1M 4s + 4000K .......... .......... .......... .......... .......... 52% 63.5M 4s + 4050K .......... .......... .......... .......... .......... 53% 2.46M 4s + 4100K .......... .......... .......... .......... .......... 54% 458K 4s + 4150K .......... .......... .......... .......... .......... 54% 3.32M 4s + 4200K .......... .......... .......... .......... .......... 55% 22.7M 4s + 4250K .......... .......... .......... .......... .......... 56% 16.4M 4s + 4300K .......... .......... .......... .......... .......... 56% 10.2M 4s + 4350K .......... .......... .......... .......... .......... 57% 58.6M 4s + 4400K .......... .......... .......... .......... .......... 57% 14.0M 3s + 4450K .......... .......... .......... .......... .......... 58% 19.0M 3s + 4500K .......... .......... .......... .......... .......... 59% 16.3M 3s + 4550K .......... .......... .......... .......... .......... 59% 29.8M 3s + 4600K .......... .......... .......... .......... .......... 60% 24.7M 3s + 4650K .......... .......... .......... .......... .......... 61% 16.1M 3s + 4700K .......... .......... .......... .......... .......... 61% 8.79M 3s + 4750K .......... .......... .......... .......... .......... 62% 48.7M 3s + 4800K .......... .......... .......... .......... .......... 63% 6.70M 3s + 4850K .......... .......... .......... .......... .......... 63% 28.1M 3s + 4900K .......... .......... .......... .......... .......... 64% 85.1M 3s + 4950K .......... .......... .......... .......... .......... 65% 130M 3s + 5000K .......... .......... .......... .......... .......... 65% 19.8M 3s + 5050K .......... .......... .......... .......... .......... 66% 49.7M 2s + 5100K .......... .......... .......... .......... .......... 67% 18.7M 2s + 5150K .......... .......... .......... .......... .......... 67% 1.40M 2s + 5200K .......... .......... .......... .......... .......... 68% 5.35M 2s + 5250K .......... .......... .......... .......... .......... 69% 4.82M 2s + 5300K .......... .......... .......... .......... .......... 69% 147K 2s + 5350K .......... .......... .......... .......... .......... 70% 4.24M 2s + 5400K .......... .......... .......... .......... .......... 70% 4.79M 2s + 5450K .......... .......... .......... .......... .......... 71% 11.5M 2s + 5500K .......... .......... .......... .......... .......... 72% 51.0M 2s + 5550K .......... .......... .......... .......... .......... 72% 17.4M 2s + 5600K .......... .......... .......... .......... .......... 73% 17.9M 2s + 5650K .......... .......... .......... .......... .......... 74% 25.1M 2s + 5700K .......... .......... .......... .......... .......... 74% 19.0M 2s + 5750K .......... .......... .......... .......... .......... 75% 7.62M 2s + 5800K .......... .......... .......... .......... .......... 76% 61.9M 2s + 5850K .......... .......... .......... .......... .......... 76% 18.5M 2s + 5900K .......... .......... .......... .......... .......... 77% 45.8M 2s + 5950K .......... .......... .......... .......... .......... 78% 60.4M 1s + 6000K .......... .......... .......... .......... .......... 78% 41.7M 1s + 6050K .......... .......... .......... .......... .......... 79% 17.1M 1s + 6100K .......... .......... .......... .......... .......... 80% 32.5M 1s + 6150K .......... .......... .......... .......... .......... 80% 32.9M 1s + 6200K .......... .......... .......... .......... .......... 81% 587K 1s + 6250K .......... .......... .......... .......... .......... 82% 2.14M 1s + 6300K .......... .......... .......... .......... .......... 82% 11.1M 1s + 6350K .......... .......... .......... .......... .......... 83% 8.50M 1s + 6400K .......... .......... .......... .......... .......... 84% 4.44M 1s + 6450K .......... .......... .......... .......... .......... 84% 1.08M 1s + 6500K .......... .......... .......... .......... .......... 85% 1.67M 1s + 6550K .......... .......... .......... .......... .......... 85% 3.01M 1s + 6600K .......... .......... .......... .......... .......... 86% 3.61M 1s + 6650K .......... .......... .......... .......... .......... 87% 471K 1s + 6700K .......... .......... .......... .......... .......... 87% 4.96M 1s + 6750K .......... .......... .......... .......... .......... 88% 11.7M 1s + 6800K .......... .......... .......... .......... .......... 89% 5.54M 1s + 6850K .......... .......... .......... .......... .......... 89% 1.39M 1s + 6900K .......... .......... .......... .......... .......... 90% 1.89M 1s + 6950K .......... .......... .......... .......... .......... 91% 1.80M 1s + 7000K .......... .......... .......... .......... .......... 91% 4.54M 1s + 7050K .......... .......... .......... .......... .......... 92% 510K 0s + 7100K .......... .......... .......... .......... .......... 93% 2.49M 0s + 7150K .......... .......... .......... .......... .......... 93% 5.39M 0s + 7200K .......... .......... .......... .......... .......... 94% 4.65M 0s + 7250K .......... .......... .......... .......... .......... 95% 2.58M 0s + 7300K .......... .......... .......... .......... .......... 95% 2.50M 0s + 7350K .......... .......... .......... .......... .......... 96% 1.26M 0s + 7400K .......... .......... .......... .......... .......... 97% 4.94M 0s + 7450K .......... .......... .......... .......... .......... 97% 595K 0s + 7500K .......... .......... .......... .......... .......... 98% 1.81M 0s + 7550K .......... .......... .......... .......... .......... 98% 2.40M 0s + 7600K .......... .......... .......... .......... .......... 99% 3.87M 0s + 7650K .......... .......... ....... 100% 19.7M=6.1s + +2018-12-25 10:25:47 (1.23 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:30:04-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:30:05-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 4% 67.4K 18s + 50K .......... .......... .......... .......... .......... 8% 124K 13s + 100K .......... .......... .......... .......... .......... 12% 216K 10s + 150K .......... .......... .......... .......... .......... 16% 222K 8s + 200K .......... .......... .......... .......... .......... 20% 773K 7s + 250K .......... .......... .......... .......... .......... 24% 224K 6s + 300K .......... .......... .......... .......... .......... 28% 307K 5s + 350K .......... .......... .......... .......... .......... 32% 676K 4s + 400K .......... .......... .......... .......... .......... 36% 285K 4s + 450K .......... .......... .......... .......... .......... 40% 1.29M 3s + 500K .......... .......... .......... .......... .......... 44% 3.27M 3s + 550K .......... .......... .......... .......... .......... 48% 304K 3s + 600K .......... .......... .......... .......... .......... 52% 872K 2s + 650K .......... .......... .......... .......... .......... 56% 5.84M 2s + 700K .......... .......... .......... .......... .......... 60% 352K 2s + 750K .......... .......... .......... .......... .......... 64% 957K 2s + 800K .......... .......... .......... .......... .......... 68% 1.63M 1s + 850K .......... .......... .......... .......... .......... 72% 2.44M 1s + 900K .......... .......... .......... .......... .......... 76% 336K 1s + 950K .......... .......... .......... .......... .......... 80% 1.50M 1s + 1000K .......... .......... .......... .......... .......... 84% 2.13M 1s + 1050K .......... .......... .......... .......... .......... 88% 4.68M 0s + 1100K .......... .......... .......... .......... .......... 92% 3.73M 0s + 1150K .......... .......... .......... .......... .......... 96% 352K 0s + 1200K .......... .......... .......... .......... ... 100% 2.96M=3.2s + +2018-12-25 10:30:09 (387 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + creating: 2101_insertion/ + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + creating: 2101_insertion/css/ + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + creating: 2101_insertion/img/ + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + creating: 2101_insertion/js/ + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + creating: 2101_insertion/webfonts/ + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +wget is already the newest version (1.17.1-1ubuntu1.4). +Suggested packages: + www-browser apache2-doc apache2-suexec-pristine | apache2-suexec-custom +The following NEW packages will be installed: + apache2 +0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded. +Need to get 86.6 kB of archives. +After this operation, 502 kB of additional disk space will be used. +Get:1 http://183.82.14.14:80/data/05e518c02e3b4124/archive.ubuntu.com/ubuntu xenial-updates/main amd64 apache2 amd64 2.4.18-2ubuntu3.9 [86.6 kB] +debconf: unable to initialize frontend: Dialog +debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.) +debconf: falling back to frontend: Readline +debconf: unable to initialize frontend: Readline +debconf: (This frontend requires a controlling tty.) +debconf: falling back to frontend: Teletype +dpkg-preconfigure: unable to re-open stdin: +Fetched 86.6 kB in 0s (187 kB/s) +Selecting previously unselected package apache2. +(Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 82844 files and directories currently installed.) +Preparing to unpack .../apache2_2.4.18-2ubuntu3.9_amd64.deb ... +Unpacking apache2 (2.4.18-2ubuntu3.9) ... +Processing triggers for man-db (2.7.5-1) ... +Processing triggers for systemd (229-4ubuntu21.10) ... +Processing triggers for ureadahead (0.100.0-19) ... +Processing triggers for ufw (0.35-0ubuntu2) ... +Setting up apache2 (2.4.18-2ubuntu3.9) ... +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:37:13-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:37:14-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 4% 72.9K 16s + 50K .......... .......... .......... .......... .......... 8% 220K 10s + 100K .......... .......... .......... .......... .......... 12% 215K 8s + 150K .......... .......... .......... .......... .......... 16% 245K 7s + 200K .......... .......... .......... .......... .......... 20% 2.38M 5s + 250K .......... .......... .......... .......... .......... 24% 221K 5s + 300K .......... .......... .......... .......... .......... 28% 26.9M 4s + 350K .......... .......... .......... .......... .......... 32% 228K 4s + 400K .......... .......... .......... .......... .......... 36% 8.09M 3s + 450K .......... .......... .......... .......... .......... 40% 231K 3s + 500K .......... .......... .......... .......... .......... 44% 6.46M 3s + 550K .......... .......... .......... .......... .......... 48% 4.87M 2s + 600K .......... .......... .......... .......... .......... 52% 243K 2s + 650K .......... .......... .......... .......... .......... 56% 3.15M 2s + 700K .......... .......... .......... .......... .......... 60% 4.74M 2s + 750K .......... .......... .......... .......... .......... 64% 229K 1s + 800K .......... .......... .......... .......... .......... 68% 7.20M 1s + 850K .......... .......... .......... .......... .......... 72% 81.0M 1s + 900K .......... .......... .......... .......... .......... 76% 103M 1s + 950K .......... .......... .......... .......... .......... 80% 275K 1s + 1000K .......... .......... .......... .......... .......... 84% 1.72M 1s + 1050K .......... .......... .......... .......... .......... 88% 7.67M 0s + 1100K .......... .......... .......... .......... .......... 92% 7.15M 0s + 1150K .......... .......... .......... .......... .......... 96% 4.39M 0s + 1200K .......... .......... .......... .......... ... 100% 256K=2.9s + +2018-12-25 10:37:18 (426 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +wget is already the newest version (1.17.1-1ubuntu1.4). +Suggested packages: + www-browser apache2-doc apache2-suexec-pristine | apache2-suexec-custom +The following NEW packages will be installed: + apache2 +0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded. +Need to get 86.6 kB of archives. +After this operation, 502 kB of additional disk space will be used. +Get:1 http://183.82.14.14:80/data/05e5a7c300c65db7/archive.ubuntu.com/ubuntu xenial-updates/main amd64 apache2 amd64 2.4.18-2ubuntu3.9 [86.6 kB] +debconf: unable to initialize frontend: Dialog +debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.) +debconf: falling back to frontend: Readline +debconf: unable to initialize frontend: Readline +debconf: (This frontend requires a controlling tty.) +debconf: falling back to frontend: Teletype +dpkg-preconfigure: unable to re-open stdin: +Fetched 86.6 kB in 0s (233 kB/s) +Selecting previously unselected package apache2. +(Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 82844 files and directories currently installed.) +Preparing to unpack .../apache2_2.4.18-2ubuntu3.9_amd64.deb ... +Unpacking apache2 (2.4.18-2ubuntu3.9) ... +Processing triggers for man-db (2.7.5-1) ... +Processing triggers for systemd (229-4ubuntu21.10) ... +Processing triggers for ureadahead (0.100.0-19) ... +Processing triggers for ufw (0.35-0ubuntu2) ... +Setting up apache2 (2.4.18-2ubuntu3.9) ... +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:41:04-- https://www.tooplate.com/download/2101_insertion +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2101_insertion.zip [following] +--2018-12-25 10:41:05-- https://www.tooplate.com/zip-templates/2101_insertion.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 1273312 (1.2M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 4% 55.2K 22s + 50K .......... .......... .......... .......... .......... 8% 181K 14s + 100K .......... .......... .......... .......... .......... 12% 198K 10s + 150K .......... .......... .......... .......... .......... 16% 196K 9s + 200K .......... .......... .......... .......... .......... 20% 239K 8s + 250K .......... .......... .......... .......... .......... 24% 246K 7s + 300K .......... .......... .......... .......... .......... 28% 695K 6s + 350K .......... .......... .......... .......... .......... 32% 281K 5s + 400K .......... .......... .......... .......... .......... 36% 744K 4s + 450K .......... .......... .......... .......... .......... 40% 288K 4s + 500K .......... .......... .......... .......... .......... 44% 3.13M 3s + 550K .......... .......... .......... .......... .......... 48% 789K 3s + 600K .......... .......... .......... .......... .......... 52% 370K 3s + 650K .......... .......... .......... .......... .......... 56% 2.60M 2s + 700K .......... .......... .......... .......... .......... 60% 1000K 2s + 750K .......... .......... .......... .......... .......... 64% 1.61M 2s + 800K .......... .......... .......... .......... .......... 68% 369K 1s + 850K .......... .......... .......... .......... .......... 72% 1.63M 1s + 900K .......... .......... .......... .......... .......... 76% 2.94M 1s + 950K .......... .......... .......... .......... .......... 80% 1.06M 1s + 1000K .......... .......... .......... .......... .......... 84% 1.76M 1s + 1050K .......... .......... .......... .......... .......... 88% 422K 0s + 1100K .......... .......... .......... .......... .......... 92% 1.95M 0s + 1150K .......... .......... .......... .......... .......... 96% 2.90M 0s + 1200K .......... .......... .......... .......... ... 100% 1.99M=3.3s + +2018-12-25 10:41:09 (372 KB/s) - ‘website.zip’ saved [1273312/1273312] + +Archive: website.zip + inflating: 2101_insertion/about.html + inflating: 2101_insertion/contact.html + inflating: 2101_insertion/css/bootstrap.min.css + inflating: 2101_insertion/css/fontawesome-all.min.css + inflating: 2101_insertion/css/tooplate-style.css + inflating: 2101_insertion/img/gradient-blue.png + inflating: 2101_insertion/img/insertion-140x140-01.jpg + inflating: 2101_insertion/img/insertion-140x140-02.jpg + inflating: 2101_insertion/img/insertion-140x140-03.jpg + inflating: 2101_insertion/img/insertion-140x140-04.jpg + inflating: 2101_insertion/img/insertion-140x140-05.jpg + inflating: 2101_insertion/img/insertion-1800x450.jpg + inflating: 2101_insertion/img/insertion-260x390-01.jpg + inflating: 2101_insertion/img/insertion-260x390-02.jpg + inflating: 2101_insertion/img/insertion-260x390-03.jpg + inflating: 2101_insertion/img/insertion-260x390-04.jpg + inflating: 2101_insertion/img/insertion-560x336-01.jpg + inflating: 2101_insertion/img/insertion-600x400.jpg + inflating: 2101_insertion/img/insertion-header.jpg + inflating: 2101_insertion/index.html + inflating: 2101_insertion/js/bootstrap.min.js + inflating: 2101_insertion/js/jquery-3.2.1.slim.min.js + inflating: 2101_insertion/webfonts/fa-brands-400.eot + inflating: 2101_insertion/webfonts/fa-brands-400.svg + inflating: 2101_insertion/webfonts/fa-brands-400.ttf + inflating: 2101_insertion/webfonts/fa-brands-400.woff + inflating: 2101_insertion/webfonts/fa-brands-400.woff2 + inflating: 2101_insertion/webfonts/fa-regular-400.eot + inflating: 2101_insertion/webfonts/fa-regular-400.svg + inflating: 2101_insertion/webfonts/fa-regular-400.ttf + inflating: 2101_insertion/webfonts/fa-regular-400.woff + inflating: 2101_insertion/webfonts/fa-regular-400.woff2 + inflating: 2101_insertion/webfonts/fa-solid-900.eot + inflating: 2101_insertion/webfonts/fa-solid-900.svg + inflating: 2101_insertion/webfonts/fa-solid-900.ttf + inflating: 2101_insertion/webfonts/fa-solid-900.woff + inflating: 2101_insertion/webfonts/fa-solid-900.woff2 + inflating: 2101_insertion/ABOUT THIS TEMPLATE.txt +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +wget is already the newest version (1.17.1-1ubuntu1.4). +Suggested packages: + www-browser apache2-doc apache2-suexec-pristine | apache2-suexec-custom +The following NEW packages will be installed: + apache2 +0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded. +Need to get 86.6 kB of archives. +After this operation, 502 kB of additional disk space will be used. +Get:1 http://183.82.14.14:80/data/01e536cfe6bc34da/archive.ubuntu.com/ubuntu xenial-updates/main amd64 apache2 amd64 2.4.18-2ubuntu3.9 [86.6 kB] +debconf: unable to initialize frontend: Dialog +debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.) +debconf: falling back to frontend: Readline +debconf: unable to initialize frontend: Readline +debconf: (This frontend requires a controlling tty.) +debconf: falling back to frontend: Teletype +dpkg-preconfigure: unable to re-open stdin: +Fetched 86.6 kB in 0s (160 kB/s) +Selecting previously unselected package apache2. +(Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 82844 files and directories currently installed.) +Preparing to unpack .../apache2_2.4.18-2ubuntu3.9_amd64.deb ... +Unpacking apache2 (2.4.18-2ubuntu3.9) ... +Processing triggers for man-db (2.7.5-1) ... +Processing triggers for systemd (229-4ubuntu21.10) ... +Processing triggers for ureadahead (0.100.0-19) ... +Processing triggers for ufw (0.35-0ubuntu2) ... +Setting up apache2 (2.4.18-2ubuntu3.9) ... +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:54:11-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:54:12-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 70.5K 1m48s + 50K .......... .......... .......... .......... .......... 1% 110K 88s + 100K .......... .......... .......... .......... .......... 1% 228K 69s + 150K .......... .......... .......... .......... .......... 2% 237K 60s + 200K .......... .......... .......... .......... .......... 3% 261K 53s + 250K .......... .......... .......... .......... .......... 3% 1.04M 45s + 300K .......... .......... .......... .......... .......... 4% 268K 42s + 350K .......... .......... .......... .......... .......... 5% 1.01M 38s + 400K .......... .......... .......... .......... .......... 5% 246K 36s + 450K .......... .......... .......... .......... .......... 6% 1.77M 33s + 500K .......... .......... .......... .......... .......... 7% 304K 32s + 550K .......... .......... .......... .......... .......... 7% 949K 30s + 600K .......... .......... .......... .......... .......... 8% 3.79M 27s + 650K .......... .......... .......... .......... .......... 9% 303K 27s + 700K .......... .......... .......... .......... .......... 9% 944K 25s + 750K .......... .......... .......... .......... .......... 10% 2.46M 24s + 800K .......... .......... .......... .......... .......... 11% 306K 24s + 850K .......... .......... .......... .......... .......... 11% 2.86M 22s + 900K .......... .......... .......... .......... .......... 12% 848K 21s + 950K .......... .......... .......... .......... .......... 13% 24.6M 20s + 1000K .......... .......... .......... .......... .......... 13% 289K 20s + 1050K .......... .......... .......... .......... .......... 14% 59.2M 19s + 1100K .......... .......... .......... .......... .......... 14% 2.49M 18s + 1150K .......... .......... .......... .......... .......... 15% 1.82M 17s + 1200K .......... .......... .......... .......... .......... 16% 10.2M 17s + 1250K .......... .......... .......... .......... .......... 16% 284K 17s + 1300K .......... .......... .......... .......... .......... 17% 63.0M 16s + 1350K .......... .......... .......... .......... .......... 18% 3.86M 15s + 1400K .......... .......... .......... .......... .......... 18% 1.68M 15s + 1450K .......... .......... .......... .......... .......... 19% 5.79M 14s + 1500K .......... .......... .......... .......... .......... 20% 7.80M 14s + 1550K .......... .......... .......... .......... .......... 20% 310K 14s + 1600K .......... .......... .......... .......... .......... 21% 8.68M 13s + 1650K .......... .......... .......... .......... .......... 22% 135M 13s + 1700K .......... .......... .......... .......... .......... 22% 1.10M 12s + 1750K .......... .......... .......... .......... .......... 23% 5.91M 12s + 1800K .......... .......... .......... .......... .......... 24% 4.40M 12s + 1850K .......... .......... .......... .......... .......... 24% 87.7M 11s + 1900K .......... .......... .......... .......... .......... 25% 350K 11s + 1950K .......... .......... .......... .......... .......... 26% 3.30M 11s + 2000K .......... .......... .......... .......... .......... 26% 36.7M 11s + 2050K .......... .......... .......... .......... .......... 27% 2.18M 10s + 2100K .......... .......... .......... .......... .......... 28% 2.65M 10s + 2150K .......... .......... .......... .......... .......... 28% 2.49M 10s + 2200K .......... .......... .......... .......... .......... 29% 17.1M 9s + 2250K .......... .......... .......... .......... .......... 29% 9.66M 9s + 2300K .......... .......... .......... .......... .......... 30% 355K 9s + 2350K .......... .......... .......... .......... .......... 31% 2.69M 9s + 2400K .......... .......... .......... .......... .......... 31% 112M 9s + 2450K .......... .......... .......... .......... .......... 32% 7.13M 8s + 2500K .......... .......... .......... .......... .......... 33% 17.5M 8s + 2550K .......... .......... .......... .......... .......... 33% 3.91M 8s + 2600K .......... .......... .......... .......... .......... 34% 1.08M 8s + 2650K .......... .......... .......... .......... .......... 35% 7.26M 8s + 2700K .......... .......... .......... .......... .......... 35% 4.77M 7s + 2750K .......... .......... .......... .......... .......... 36% 198K 8s + 2800K .......... .......... .......... .......... .......... 37% 690K 8s + 2850K .......... .......... .......... .......... .......... 37% 3.89M 7s + 2900K .......... .......... .......... .......... .......... 38% 13.2M 7s + 2950K .......... .......... .......... .......... .......... 39% 69.1M 7s + 3000K .......... .......... .......... .......... .......... 39% 114M 7s + 3050K .......... .......... .......... .......... .......... 40% 63.3M 7s + 3100K .......... .......... .......... .......... .......... 41% 136M 6s + 3150K .......... .......... .......... .......... .......... 41% 92.3M 6s + 3200K .......... .......... .......... .......... .......... 42% 118M 6s + 3250K .......... .......... .......... .......... .......... 42% 88.6M 6s + 3300K .......... .......... .......... .......... .......... 43% 142M 6s + 3350K .......... .......... .......... .......... .......... 44% 90.0M 6s + 3400K .......... .......... .......... .......... .......... 44% 60.4M 6s + 3450K .......... .......... .......... .......... .......... 45% 4.91M 5s + 3500K .......... .......... .......... .......... .......... 46% 3.25M 5s + 3550K .......... .......... .......... .......... .......... 46% 1.66M 5s + 3600K .......... .......... .......... .......... .......... 47% 5.73M 5s + 3650K .......... .......... .......... .......... .......... 48% 1.27M 5s + 3700K .......... .......... .......... .......... .......... 48% 1.48M 5s + 3750K .......... .......... .......... .......... .......... 49% 2.66M 5s + 3800K .......... .......... .......... .......... .......... 50% 75.5M 5s + 3850K .......... .......... .......... .......... .......... 50% 747K 5s + 3900K .......... .......... .......... .......... .......... 51% 2.57M 4s + 3950K .......... .......... .......... .......... .......... 52% 1.46M 4s + 4000K .......... .......... .......... .......... .......... 52% 3.36M 4s + 4050K .......... .......... .......... .......... .......... 53% 10.3M 4s + 4100K .......... .......... .......... .......... .......... 54% 1.11M 4s + 4150K .......... .......... .......... .......... .......... 54% 1.22M 4s + 4200K .......... .......... .......... .......... .......... 55% 3.71M 4s + 4250K .......... .......... .......... .......... .......... 56% 2.87M 4s + 4300K .......... .......... .......... .......... .......... 56% 1.21M 4s + 4350K .......... .......... .......... .......... .......... 57% 1.33M 4s + 4400K .......... .......... .......... .......... .......... 57% 1.44M 4s + 4450K .......... .......... .......... .......... .......... 58% 113M 4s + 4500K .......... .......... .......... .......... .......... 59% 8.30M 3s + 4550K .......... .......... .......... .......... .......... 59% 941K 3s + 4600K .......... .......... .......... .......... .......... 60% 1.23M 3s + 4650K .......... .......... .......... .......... .......... 61% 2.80M 3s + 4700K .......... .......... .......... .......... .......... 61% 63.1M 3s + 4750K .......... .......... .......... .......... .......... 62% 1.36M 3s + 4800K .......... .......... .......... .......... .......... 63% 1.44M 3s + 4850K .......... .......... .......... .......... .......... 63% 1.13M 3s + 4900K .......... .......... .......... .......... .......... 64% 2.70M 3s + 4950K .......... .......... .......... .......... .......... 65% 74.5M 3s + 5000K .......... .......... .......... .......... .......... 65% 3.59M 3s + 5050K .......... .......... .......... .......... .......... 66% 806K 3s + 5100K .......... .......... .......... .......... .......... 67% 4.64M 3s + 5150K .......... .......... .......... .......... .......... 67% 5.64M 3s + 5200K .......... .......... .......... .......... .......... 68% 1.48M 3s + 5250K .......... .......... .......... .......... .......... 69% 1.53M 2s + 5300K .......... .......... .......... .......... .......... 69% 2.64M 2s + 5350K .......... .......... .......... .......... .......... 70% 1.43M 2s + 5400K .......... .......... .......... .......... .......... 70% 3.66M 2s + 5450K .......... .......... .......... .......... .......... 71% 3.36M 2s + 5500K .......... .......... .......... .......... .......... 72% 2.25M 2s + 5550K .......... .......... .......... .......... .......... 72% 914K 2s + 5600K .......... .......... .......... .......... .......... 73% 7.18M 2s + 5650K .......... .......... .......... .......... .......... 74% 4.01M 2s + 5700K .......... .......... .......... .......... .......... 74% 2.42M 2s + 5750K .......... .......... .......... .......... .......... 75% 1.45M 2s + 5800K .......... .......... .......... .......... .......... 76% 3.71M 2s + 5850K .......... .......... .......... .......... .......... 76% 1.38M 2s + 5900K .......... .......... .......... .......... .......... 77% 2.33M 2s + 5950K .......... .......... .......... .......... .......... 78% 4.13M 2s + 6000K .......... .......... .......... .......... .......... 78% 1.77M 2s + 6050K .......... .......... .......... .......... .......... 79% 1.08M 2s + 6100K .......... .......... .......... .......... .......... 80% 2.83M 1s + 6150K .......... .......... .......... .......... .......... 80% 6.35M 1s + 6200K .......... .......... .......... .......... .......... 81% 2.87M 1s + 6250K .......... .......... .......... .......... .......... 82% 1.49M 1s + 6300K .......... .......... .......... .......... .......... 82% 5.78M 1s + 6350K .......... .......... .......... .......... .......... 83% 1.33M 1s + 6400K .......... .......... .......... .......... .......... 84% 2.32M 1s + 6450K .......... .......... .......... .......... .......... 84% 2.43M 1s + 6500K .......... .......... .......... .......... .......... 85% 3.06M 1s + 6550K .......... .......... .......... .......... .......... 85% 1005K 1s + 6600K .......... .......... .......... .......... .......... 86% 1.08M 1s + 6650K .......... .......... .......... .......... .......... 87% 4.85M 1s + 6700K .......... .......... .......... .......... .......... 87% 10.0M 1s + 6750K .......... .......... .......... .......... .......... 88% 6.58M 1s + 6800K .......... .......... .......... .......... .......... 89% 4.88M 1s + 6850K .......... .......... .......... .......... .......... 89% 1.02M 1s + 6900K .......... .......... .......... .......... .......... 90% 2.55M 1s + 6950K .......... .......... .......... .......... .......... 91% 2.33M 1s + 7000K .......... .......... .......... .......... .......... 91% 6.99M 1s + 7050K .......... .......... .......... .......... .......... 92% 1.68M 1s + 7100K .......... .......... .......... .......... .......... 93% 365K 0s + 7150K .......... .......... .......... .......... .......... 93% 22.1M 0s + 7200K .......... .......... .......... .......... .......... 94% 45.8M 0s + 7250K .......... .......... .......... .......... .......... 95% 166K 0s + 7300K .......... .......... .......... .......... .......... 95% 4.18M 0s + 7350K .......... .......... .......... .......... .......... 96% 1.65M 0s + 7400K .......... .......... .......... .......... .......... 97% 6.67M 0s + 7450K .......... .......... .......... .......... .......... 97% 110M 0s + 7500K .......... .......... .......... .......... .......... 98% 72.1M 0s + 7550K .......... .......... .......... .......... .......... 98% 71.4M 0s + 7600K .......... .......... .......... .......... .......... 99% 92.6M 0s + 7650K .......... .......... ....... 100% 38.8M=6.7s + +2018-12-25 10:54:19 (1.11 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 10:59:24-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 10:59:25-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 52.5K 2m25s + 50K .......... .......... .......... .......... .......... 1% 160K 96s + 100K .......... .......... .......... .......... .......... 1% 206K 76s + 150K .......... .......... .......... .......... .......... 2% 170K 67s + 200K .......... .......... .......... .......... .......... 3% 239K 60s + 250K .......... .......... .......... .......... .......... 3% 275K 54s + 300K .......... .......... .......... .......... .......... 4% 591K 48s + 350K .......... .......... .......... .......... .......... 5% 275K 45s + 400K .......... .......... .......... .......... .......... 5% 236K 43s + 450K .......... .......... .......... .......... .......... 6% 1.16M 39s + 500K .......... .......... .......... .......... .......... 7% 962K 36s + 550K .......... .......... .......... .......... .......... 7% 286K 35s + 600K .......... .......... .......... .......... .......... 8% 843K 32s + 650K .......... .......... .......... .......... .......... 9% 1.19M 30s + 700K .......... .......... .......... .......... .......... 9% 381K 29s + 750K .......... .......... .......... .......... .......... 10% 792K 28s + 800K .......... .......... .......... .......... .......... 11% 1.10M 26s + 850K .......... .......... .......... .......... .......... 11% 429K 26s + 900K .......... .......... .......... .......... .......... 12% 1.54M 24s + 950K .......... .......... .......... .......... .......... 13% 1.10M 23s + 1000K .......... .......... .......... .......... .......... 13% 1.51M 22s + 1050K .......... .......... .......... .......... .......... 14% 1.93M 21s + 1100K .......... .......... .......... .......... .......... 14% 464K 21s + 1150K .......... .......... .......... .......... .......... 15% 1.60M 20s + 1200K .......... .......... .......... .......... .......... 16% 1.51M 19s + 1250K .......... .......... .......... .......... .......... 16% 1.09M 18s + 1300K .......... .......... .......... .......... .......... 17% 2.43M 18s + 1350K .......... .......... .......... .......... .......... 18% 785K 17s + 1400K .......... .......... .......... .......... .......... 18% 951K 17s + 1450K .......... .......... .......... .......... .......... 19% 1.62M 16s + 1500K .......... .......... .......... .......... .......... 20% 3.09M 16s + 1550K .......... .......... .......... .......... .......... 20% 1.34M 15s + 1600K .......... .......... .......... .......... .......... 21% 1.24M 15s + 1650K .......... .......... .......... .......... .......... 22% 3.13M 14s + 1700K .......... .......... .......... .......... .......... 22% 1.03M 14s + 1750K .......... .......... .......... .......... .......... 23% 1.06M 13s + 1800K .......... .......... .......... .......... .......... 24% 1.31M 13s + 1850K .......... .......... .......... .......... .......... 24% 1.83M 13s + 1900K .......... .......... .......... .......... .......... 25% 3.01M 12s + 1950K .......... .......... .......... .......... .......... 26% 5.17M 12s + 2000K .......... .......... .......... .......... .......... 26% 3.00M 12s + 2050K .......... .......... .......... .......... .......... 27% 1.31M 11s + 2100K .......... .......... .......... .......... .......... 28% 18.2M 11s + 2150K .......... .......... .......... .......... .......... 28% 1.11M 11s + 2200K .......... .......... .......... .......... .......... 29% 965K 10s + 2250K .......... .......... .......... .......... .......... 29% 1.51M 10s + 2300K .......... .......... .......... .......... .......... 30% 3.90M 10s + 2350K .......... .......... .......... .......... .......... 31% 1.83M 10s + 2400K .......... .......... .......... .......... .......... 31% 3.03M 9s + 2450K .......... .......... .......... .......... .......... 32% 2.54M 9s + 2500K .......... .......... .......... .......... .......... 33% 4.26M 9s + 2550K .......... .......... .......... .......... .......... 33% 3.87M 9s + 2600K .......... .......... .......... .......... .......... 34% 2.31M 9s + 2650K .......... .......... .......... .......... .......... 35% 3.21M 8s + 2700K .......... .......... .......... .......... .......... 35% 910K 8s + 2750K .......... .......... .......... .......... .......... 36% 1.71M 8s + 2800K .......... .......... .......... .......... .......... 37% 1.48M 8s + 2850K .......... .......... .......... .......... .......... 37% 4.54M 8s + 2900K .......... .......... .......... .......... .......... 38% 2.92M 7s + 2950K .......... .......... .......... .......... .......... 39% 1.61M 7s + 3000K .......... .......... .......... .......... .......... 39% 2.99M 7s + 3050K .......... .......... .......... .......... .......... 40% 11.1M 7s + 3100K .......... .......... .......... .......... .......... 41% 3.80M 7s + 3150K .......... .......... .......... .......... .......... 41% 3.08M 7s + 3200K .......... .......... .......... .......... .......... 42% 2.17M 6s + 3250K .......... .......... .......... .......... .......... 42% 2.98M 6s + 3300K .......... .......... .......... .......... .......... 43% 9.32M 6s + 3350K .......... .......... .......... .......... .......... 44% 1.64M 6s + 3400K .......... .......... .......... .......... .......... 44% 3.30M 6s + 3450K .......... .......... .......... .......... .......... 45% 1.61M 6s + 3500K .......... .......... .......... .......... .......... 46% 3.00M 6s + 3550K .......... .......... .......... .......... .......... 46% 1.29M 6s + 3600K .......... .......... .......... .......... .......... 47% 32.2M 5s + 3650K .......... .......... .......... .......... .......... 48% 65.8M 5s + 3700K .......... .......... .......... .......... .......... 48% 2.26M 5s + 3750K .......... .......... .......... .......... .......... 49% 4.47M 5s + 3800K .......... .......... .......... .......... .......... 50% 2.46M 5s + 3850K .......... .......... .......... .......... .......... 50% 9.58M 5s + 3900K .......... .......... .......... .......... .......... 51% 3.51M 5s + 3950K .......... .......... .......... .......... .......... 52% 2.71M 5s + 4000K .......... .......... .......... .......... .......... 52% 3.77M 4s + 4050K .......... .......... .......... .......... .......... 53% 2.84M 4s + 4100K .......... .......... .......... .......... .......... 54% 6.21M 4s + 4150K .......... .......... .......... .......... .......... 54% 3.62M 4s + 4200K .......... .......... .......... .......... .......... 55% 3.40M 4s + 4250K .......... .......... .......... .......... .......... 56% 4.69M 4s + 4300K .......... .......... .......... .......... .......... 56% 1.83M 4s + 4350K .......... .......... .......... .......... .......... 57% 3.82M 4s + 4400K .......... .......... .......... .......... .......... 57% 3.00M 4s + 4450K .......... .......... .......... .......... .......... 58% 9.02M 4s + 4500K .......... .......... .......... .......... .......... 59% 4.55M 4s + 4550K .......... .......... .......... .......... .......... 59% 2.63M 3s + 4600K .......... .......... .......... .......... .......... 60% 3.70M 3s + 4650K .......... .......... .......... .......... .......... 61% 4.13M 3s + 4700K .......... .......... .......... .......... .......... 61% 7.85M 3s + 4750K .......... .......... .......... .......... .......... 62% 2.21M 3s + 4800K .......... .......... .......... .......... .......... 63% 1.97M 3s + 4850K .......... .......... .......... .......... .......... 63% 10.2M 3s + 4900K .......... .......... .......... .......... .......... 64% 2.27M 3s + 4950K .......... .......... .......... .......... .......... 65% 17.5M 3s + 5000K .......... .......... .......... .......... .......... 65% 4.26M 3s + 5050K .......... .......... .......... .......... .......... 66% 3.54M 3s + 5100K .......... .......... .......... .......... .......... 67% 2.84M 3s + 5150K .......... .......... .......... .......... .......... 67% 7.01M 3s + 5200K .......... .......... .......... .......... .......... 68% 3.11M 2s + 5250K .......... .......... .......... .......... .......... 69% 3.04M 2s + 5300K .......... .......... .......... .......... .......... 69% 3.32M 2s + 5350K .......... .......... .......... .......... .......... 70% 2.95M 2s + 5400K .......... .......... .......... .......... .......... 70% 5.78M 2s + 5450K .......... .......... .......... .......... .......... 71% 4.19M 2s + 5500K .......... .......... .......... .......... .......... 72% 5.40M 2s + 5550K .......... .......... .......... .......... .......... 72% 2.20M 2s + 5600K .......... .......... .......... .......... .......... 73% 9.29M 2s + 5650K .......... .......... .......... .......... .......... 74% 3.73M 2s + 5700K .......... .......... .......... .......... .......... 74% 2.47M 2s + 5750K .......... .......... .......... .......... .......... 75% 6.47M 2s + 5800K .......... .......... .......... .......... .......... 76% 5.44M 2s + 5850K .......... .......... .......... .......... .......... 76% 3.34M 2s + 5900K .......... .......... .......... .......... .......... 77% 3.24M 2s + 5950K .......... .......... .......... .......... .......... 78% 4.82M 2s + 6000K .......... .......... .......... .......... .......... 78% 2.66M 1s + 6050K .......... .......... .......... .......... .......... 79% 5.53M 1s + 6100K .......... .......... .......... .......... .......... 80% 3.52M 1s + 6150K .......... .......... .......... .......... .......... 80% 3.97M 1s + 6200K .......... .......... .......... .......... .......... 81% 4.01M 1s + 6250K .......... .......... .......... .......... .......... 82% 3.27M 1s + 6300K .......... .......... .......... .......... .......... 82% 6.98M 1s + 6350K .......... .......... .......... .......... .......... 83% 3.95M 1s + 6400K .......... .......... .......... .......... .......... 84% 2.66M 1s + 6450K .......... .......... .......... .......... .......... 84% 4.78M 1s + 6500K .......... .......... .......... .......... .......... 85% 3.19M 1s + 6550K .......... .......... .......... .......... .......... 85% 4.78M 1s + 6600K .......... .......... .......... .......... .......... 86% 3.01M 1s + 6650K .......... .......... .......... .......... .......... 87% 2.35M 1s + 6700K .......... .......... .......... .......... .......... 87% 130M 1s + 6750K .......... .......... .......... .......... .......... 88% 2.86M 1s + 6800K .......... .......... .......... .......... .......... 89% 6.38M 1s + 6850K .......... .......... .......... .......... .......... 89% 3.26M 1s + 6900K .......... .......... .......... .......... .......... 90% 5.56M 1s + 6950K .......... .......... .......... .......... .......... 91% 178K 1s + 7000K .......... .......... .......... .......... .......... 91% 79.4M 1s + 7050K .......... .......... .......... .......... .......... 92% 48.5M 0s + 7100K .......... .......... .......... .......... .......... 93% 4.86M 0s + 7150K .......... .......... .......... .......... .......... 93% 97.7M 0s + 7200K .......... .......... .......... .......... .......... 94% 3.74M 0s + 7250K .......... .......... .......... .......... .......... 95% 122M 0s + 7300K .......... .......... .......... .......... .......... 95% 142M 0s + 7350K .......... .......... .......... .......... .......... 96% 755K 0s + 7400K .......... .......... .......... .......... .......... 97% 16.2M 0s + 7450K .......... .......... .......... .......... .......... 97% 8.25M 0s + 7500K .......... .......... .......... .......... .......... 98% 3.24M 0s + 7550K .......... .......... .......... .......... .......... 98% 94.3M 0s + 7600K .......... .......... .......... .......... .......... 99% 57.4M 0s + 7650K .......... .......... ....... 100% 148M=6.2s + +2018-12-25 10:59:32 (1.21 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ +################################################################ +Debian based system detected. +################################################################ + + +Installing Packages + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +unzip is already the newest version (6.0-20ubuntu1). +apache2 is already the newest version (2.4.18-2ubuntu3.9). +wget is already the newest version (1.17.1-1ubuntu1.4). +0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. +################################################################ + + +Starting and Enabling Service +apache2.service is not a native service, redirecting to systemd-sysv-install +Executing /lib/systemd/systemd-sysv-install enable apache2 +################################################################ + + +Copying website data +--2018-12-25 11:01:32-- https://www.tooplate.com/download/2112_brunch +Resolving www.tooplate.com (www.tooplate.com)... 67.227.140.19 +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://www.tooplate.com/zip-templates/2112_brunch.zip [following] +--2018-12-25 11:01:33-- https://www.tooplate.com/zip-templates/2112_brunch.zip +Connecting to www.tooplate.com (www.tooplate.com)|67.227.140.19|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7861350 (7.5M) [application/zip] +Saving to: ‘website.zip’ + + 0K .......... .......... .......... .......... .......... 0% 53.0K 2m24s + 50K .......... .......... .......... .......... .......... 1% 208K 90s + 100K .......... .......... .......... .......... .......... 1% 205K 72s + 150K .......... .......... .......... .......... .......... 2% 215K 62s + 200K .......... .......... .......... .......... .......... 3% 217K 56s + 250K .......... .......... .......... .......... .......... 3% 3.41M 47s + 300K .......... .......... .......... .......... .......... 4% 224K 45s + 350K .......... .......... .......... .......... .......... 5% 1.88M 39s + 400K .......... .......... .......... .......... .......... 5% 231K 38s + 450K .......... .......... .......... .......... .......... 6% 2.52M 34s + 500K .......... .......... .......... .......... .......... 7% 3.80M 31s + 550K .......... .......... .......... .......... .......... 7% 240K 31s + 600K .......... .......... .......... .......... .......... 8% 3.62M 28s + 650K .......... .......... .......... .......... .......... 9% 3.12M 26s + 700K .......... .......... .......... .......... .......... 9% 278K 26s + 750K .......... .......... .......... .......... .......... 10% 1.58M 25s + 800K .......... .......... .......... .......... .......... 11% 2.83M 23s + 850K .......... .......... .......... .......... .......... 11% 3.33M 22s + 900K .......... .......... .......... .......... .......... 12% 2.97M 21s + 950K .......... .......... .......... .......... .......... 13% 266K 21s + 1000K .......... .......... .......... .......... .......... 13% 2.57M 20s + 1050K .......... .......... .......... .......... .......... 14% 3.01M 19s + 1100K .......... .......... .......... .......... .......... 14% 2.87M 18s + 1150K .......... .......... .......... .......... .......... 15% 2.14M 17s + 1200K .......... .......... .......... .......... .......... 16% 368K 17s + 1250K .......... .......... .......... .......... .......... 16% 1.38M 16s + 1300K .......... .......... .......... .......... .......... 17% 2.88M 16s + 1350K .......... .......... .......... .......... .......... 18% 3.69M 15s + 1400K .......... .......... .......... .......... .......... 18% 3.46M 15s + 1450K .......... .......... .......... .......... .......... 19% 3.55M 14s + 1500K .......... .......... .......... .......... .......... 20% 3.82M 13s + 1550K .......... .......... .......... .......... .......... 20% 375K 13s + 1600K .......... .......... .......... .......... .......... 21% 1.32M 13s + 1650K .......... .......... .......... .......... .......... 22% 2.93M 13s + 1700K .......... .......... .......... .......... .......... 22% 1.62M 12s + 1750K .......... .......... .......... .......... .......... 23% 41.2M 12s + 1800K .......... .......... .......... .......... .......... 24% 3.38M 11s + 1850K .......... .......... .......... .......... .......... 24% 3.12M 11s + 1900K .......... .......... .......... .......... .......... 25% 5.44M 11s + 1950K .......... .......... .......... .......... .......... 26% 480K 11s + 2000K .......... .......... .......... .......... .......... 26% 1.91M 10s + 2050K .......... .......... .......... .......... .......... 27% 1.77M 10s + 2100K .......... .......... .......... .......... .......... 28% 2.84M 10s + 2150K .......... .......... .......... .......... .......... 28% 3.66M 10s + 2200K .......... .......... .......... .......... .......... 29% 3.01M 9s + 2250K .......... .......... .......... .......... .......... 29% 3.93M 9s + 2300K .......... .......... .......... .......... .......... 30% 4.49M 9s + 2350K .......... .......... .......... .......... .......... 31% 4.83M 9s + 2400K .......... .......... .......... .......... .......... 31% 1.99M 8s + 2450K .......... .......... .......... .......... .......... 32% 690K 8s + 2500K .......... .......... .......... .......... .......... 33% 2.39M 8s + 2550K .......... .......... .......... .......... .......... 33% 1.69M 8s + 2600K .......... .......... .......... .......... .......... 34% 4.80M 8s + 2650K .......... .......... .......... .......... .......... 35% 1.74M 8s + 2700K .......... .......... .......... .......... .......... 35% 3.89M 7s + 2750K .......... .......... .......... .......... .......... 36% 4.71M 7s + 2800K .......... .......... .......... .......... .......... 37% 3.23M 7s + 2850K .......... .......... .......... .......... .......... 37% 5.87M 7s + 2900K .......... .......... .......... .......... .......... 38% 5.36M 7s + 2950K .......... .......... .......... .......... .......... 39% 3.96M 6s + 3000K .......... .......... .......... .......... .......... 39% 5.31M 6s + 3050K .......... .......... .......... .......... .......... 40% 4.10M 6s + 3100K .......... .......... .......... .......... .......... 41% 827K 6s + 3150K .......... .......... .......... .......... .......... 41% 2.55M 6s + 3200K .......... .......... .......... .......... .......... 42% 1.94M 6s + 3250K .......... .......... .......... .......... .......... 42% 3.86M 6s + 3300K .......... .......... .......... .......... .......... 43% 4.69M 6s + 3350K .......... .......... .......... .......... .......... 44% 1.89M 5s + 3400K .......... .......... .......... .......... .......... 44% 2.85M 5s + 3450K .......... .......... .......... .......... .......... 45% 6.26M 5s + 3500K .......... .......... .......... .......... .......... 46% 4.38M 5s + 3550K .......... .......... .......... .......... .......... 46% 2.95M 5s + 3600K .......... .......... .......... .......... .......... 47% 3.88M 5s + 3650K .......... .......... .......... .......... .......... 48% 5.66M 5s + 3700K .......... .......... .......... .......... .......... 48% 5.84M 5s + 3750K .......... .......... .......... .......... .......... 49% 3.98M 5s + 3800K .......... .......... .......... .......... .......... 50% 4.59M 4s + 3850K .......... .......... .......... .......... .......... 50% 1.82M 4s + 3900K .......... .......... .......... .......... .......... 51% 1.85M 4s + 3950K .......... .......... .......... .......... .......... 52% 5.36M 4s + 4000K .......... .......... .......... .......... .......... 52% 1.97M 4s + 4050K .......... .......... .......... .......... .......... 53% 3.85M 4s + 4100K .......... .......... .......... .......... .......... 54% 6.73M 4s + 4150K .......... .......... .......... .......... .......... 54% 2.50M 4s + 4200K .......... .......... .......... .......... .......... 55% 6.17M 4s + 4250K .......... .......... .......... .......... .......... 56% 1.80M 4s + 4300K .......... .......... .......... .......... .......... 56% 3.96M 4s + 4350K .......... .......... .......... .......... .......... 57% 2.72M 3s + 4400K .......... .......... .......... .......... .......... 57% 3.16M 3s + 4450K .......... .......... .......... .......... .......... 58% 4.94M 3s + 4500K .......... .......... .......... .......... .......... 59% 3.81M 3s + 4550K .......... .......... .......... .......... .......... 59% 4.40M 3s + 4600K .......... .......... .......... .......... .......... 60% 2.74M 3s + 4650K .......... .......... .......... .......... .......... 61% 4.72M 3s + 4700K .......... .......... .......... .......... .......... 61% 3.62M 3s + 4750K .......... .......... .......... .......... .......... 62% 3.70M 3s + 4800K .......... .......... .......... .......... .......... 63% 2.79M 3s + 4850K .......... .......... .......... .......... .......... 63% 2.56M 3s + 4900K .......... .......... .......... .......... .......... 64% 3.24M 3s + 4950K .......... .......... .......... .......... .......... 65% 2.51M 3s + 5000K .......... .......... .......... .......... .......... 65% 2.81M 3s + 5050K .......... .......... .......... .......... .......... 66% 3.04M 2s + 5100K .......... .......... .......... .......... .......... 67% 4.97M 2s + 5150K .......... .......... .......... .......... .......... 67% 3.99M 2s + 5200K .......... .......... .......... .......... .......... 68% 3.98M 2s + 5250K .......... .......... .......... .......... .......... 69% 4.14M 2s + 5300K .......... .......... .......... .......... .......... 69% 2.91M 2s + 5350K .......... .......... .......... .......... .......... 70% 5.35M 2s + 5400K .......... .......... .......... .......... .......... 70% 4.56M 2s + 5450K .......... .......... .......... .......... .......... 71% 3.09M 2s + 5500K .......... .......... .......... .......... .......... 72% 2.51M 2s + 5550K .......... .......... .......... .......... .......... 72% 4.79M 2s + 5600K .......... .......... .......... .......... .......... 73% 2.66M 2s + 5650K .......... .......... .......... .......... .......... 74% 4.42M 2s + 5700K .......... .......... .......... .......... .......... 74% 6.53M 2s + 5750K .......... .......... .......... .......... .......... 75% 4.18M 2s + 5800K .......... .......... .......... .......... .......... 76% 5.21M 2s + 5850K .......... .......... .......... .......... .......... 76% 2.69M 2s + 5900K .......... .......... .......... .......... .......... 77% 3.12M 1s + 5950K .......... .......... .......... .......... .......... 78% 2.27M 1s + 6000K .......... .......... .......... .......... .......... 78% 2.27M 1s + 6050K .......... .......... .......... .......... .......... 79% 1.72M 1s + 6100K .......... .......... .......... .......... .......... 80% 3.31M 1s + 6150K .......... .......... .......... .......... .......... 80% 4.14M 1s + 6200K .......... .......... .......... .......... .......... 81% 4.10M 1s + 6250K .......... .......... .......... .......... .......... 82% 4.12M 1s + 6300K .......... .......... .......... .......... .......... 82% 3.71M 1s + 6350K .......... .......... .......... .......... .......... 83% 169K 1s + 6400K .......... .......... .......... .......... .......... 84% 25.1M 1s + 6450K .......... .......... .......... .......... .......... 84% 10.7M 1s + 6500K .......... .......... .......... .......... .......... 85% 2.66M 1s + 6550K .......... .......... .......... .......... .......... 85% 10.8M 1s + 6600K .......... .......... .......... .......... .......... 86% 2.96M 1s + 6650K .......... .......... .......... .......... .......... 87% 7.07M 1s + 6700K .......... .......... .......... .......... .......... 87% 4.59M 1s + 6750K .......... .......... .......... .......... .......... 88% 50.2M 1s + 6800K .......... .......... .......... .......... .......... 89% 23.5M 1s + 6850K .......... .......... .......... .......... .......... 89% 128M 1s + 6900K .......... .......... .......... .......... .......... 90% 4.38M 1s + 6950K .......... .......... .......... .......... .......... 91% 15.0M 1s + 7000K .......... .......... .......... .......... .......... 91% 7.24M 0s + 7050K .......... .......... .......... .......... .......... 92% 2.64M 0s + 7100K .......... .......... .......... .......... .......... 93% 2.04M 0s + 7150K .......... .......... .......... .......... .......... 93% 9.64M 0s + 7200K .......... .......... .......... .......... .......... 94% 4.89M 0s + 7250K .......... .......... .......... .......... .......... 95% 12.9M 0s + 7300K .......... .......... .......... .......... .......... 95% 27.8M 0s + 7350K .......... .......... .......... .......... .......... 96% 29.8M 0s + 7400K .......... .......... .......... .......... .......... 97% 16.4M 0s + 7450K .......... .......... .......... .......... .......... 97% 33.5M 0s + 7500K .......... .......... .......... .......... .......... 98% 17.9M 0s + 7550K .......... .......... .......... .......... .......... 98% 55.0M 0s + 7600K .......... .......... .......... .......... .......... 99% 15.8M 0s + 7650K .......... .......... ....... 100% 54.9M=5.6s + +2018-12-25 11:01:39 (1.33 MB/s) - ‘website.zip’ saved [7861350/7861350] + +Archive: website.zip + inflating: 2112_brunch/contact-page.html + inflating: 2112_brunch/css/bootstrap-theme.css + inflating: 2112_brunch/css/bootstrap-theme.css.map + inflating: 2112_brunch/css/bootstrap-theme.min.css + inflating: 2112_brunch/css/bootstrap.css + inflating: 2112_brunch/css/bootstrap.css.map + inflating: 2112_brunch/css/bootstrap.min.css + inflating: 2112_brunch/css/datepicker.css + inflating: 2112_brunch/css/fontAwesome.css + inflating: 2112_brunch/css/fonts/flexslider-icon.eot + inflating: 2112_brunch/css/fonts/flexslider-icon.svg + inflating: 2112_brunch/css/fonts/flexslider-icon.ttf + inflating: 2112_brunch/css/fonts/flexslider-icon.woff + inflating: 2112_brunch/css/hero-slider.css + inflating: 2112_brunch/css/owl-carousel.css + inflating: 2112_brunch/css/tooplate-style.css + inflating: 2112_brunch/fonts/fontawesome-webfont.eot + inflating: 2112_brunch/fonts/fontawesome-webfont.svg + inflating: 2112_brunch/fonts/fontawesome-webfont.ttf + inflating: 2112_brunch/fonts/fontawesome-webfont.woff + inflating: 2112_brunch/fonts/fontawesome-webfont.woff2 + inflating: 2112_brunch/fonts/FontAwesome.otf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.eot + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.svg + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.ttf + inflating: 2112_brunch/fonts/glyphicons-halflings-regular.woff + inflating: 2112_brunch/generic-page.html + inflating: 2112_brunch/img/center-image.png + inflating: 2112_brunch/img/left-image-post.png + inflating: 2112_brunch/img/right-image-post.png + inflating: 2112_brunch/img/template-author.png + inflating: 2112_brunch/img/template-image.png + inflating: 2112_brunch/img/white-logo.png + inflating: 2112_brunch/index.html + inflating: 2112_brunch/js/datepicker.js + inflating: 2112_brunch/js/main.js + inflating: 2112_brunch/js/plugins.js + inflating: 2112_brunch/js/vendor/bootstrap.js + inflating: 2112_brunch/js/vendor/bootstrap.min.js + inflating: 2112_brunch/js/vendor/jquery-1.11.2.min.js + inflating: 2112_brunch/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js + inflating: 2112_brunch/js/vendor/npm.js + inflating: 2112_brunch/prepros-6.config + inflating: 2112_brunch/videos/highway-loop.mp4 +################################################################ + + +Restarting Service +################################################################ +################################################ +################################################ diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/websetup/websetupmulti.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/websetup/websetupmulti.sh new file mode 100644 index 00000000..66132252 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/websetup/websetupmulti.sh @@ -0,0 +1,87 @@ +#!/bin/bash + +: ' This script will setup sloopa website on +CENTOS 7.5 HTTPD service. +' +source /tmp/vars.txt +# Redirecting all the output/Suppressing output of yum command. +yum --help > /dev/null 2> /dev/null +if [ $? -eq 0 ] +then + echo "################################################################" + echo "RedHat based system detected." + echo "################################################################" + SVC=httpd + PACKS='httpd wget unzip' + +# Setup packages + echo + echo + echo "Installing Packages" + yum install $PACKS -y + echo "################################################################" + +# Start & Enable Service + echo + echo + echo "Starting and Enabling Service" + systemctl start $SVC + systemctl enable $SVC + echo "################################################################" + +# Copy website data to apache Doc Root Dir. + echo + echo + echo "Copying website data" + cd /tmp && wget -O website.zip $WEBURL + cd /tmp/ && unzip -o website.zip + cp -r /tmp/$DIRNAME/* /var/www/html/ + + + echo + echo + echo "Restarting Service" +# Restart SERVICE + systemctl restart $SVC + echo "################################################################" + +else + echo "################################################################" + echo "Debian based system detected." + echo "################################################################" + SVC=apache2 + PACKS='apache2 wget unzip' + +# Setup packages + echo + echo + echo "Installing Packages" + apt install $PACKS -y + echo "################################################################" + +# Start & Enable Service + echo + echo + echo "Starting and Enabling Service" + systemctl start $SVC + systemctl enable $SVC + echo "################################################################" + +# Copy website data to apache Doc Root Dir. + echo + echo + echo "Copying website data" + cd /tmp && wget -O website.zip $WEBURL + cd /tmp/ && unzip -o website.zip + cp -r /tmp/$DIRNAME/* /var/www/html/ + + echo "################################################################" + + echo + echo + echo "Restarting Service" +# Restart SERVICE + systemctl restart $SVC + echo "################################################################" +fi + diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/while1.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/while1.sh new file mode 100644 index 00000000..9fe5b758 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/while1.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +c=1 + +while [ $c -le 5 ] +do + echo "Looping...." + echo "Value of c is $c." + c=$(( $c + 1 )) +done + +echo +echo "out of the loop" diff --git a/ddc-material-master/09.BashScripting/Bash_Scripts/while2.sh b/ddc-material-master/09.BashScripting/Bash_Scripts/while2.sh new file mode 100644 index 00000000..acba95d6 --- /dev/null +++ b/ddc-material-master/09.BashScripting/Bash_Scripts/while2.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +c=1 + +while true +do + echo "Looping...." + echo "Value of c is $c." + c=$(( $c + 1 )) +done + +echo +echo "out of the loop" diff --git a/ddc-material-master/09.BashScripting/scriptingVMs/MacOSM1/Vagrantfile b/ddc-material-master/09.BashScripting/scriptingVMs/MacOSM1/Vagrantfile new file mode 100644 index 00000000..e732595e --- /dev/null +++ b/ddc-material-master/09.BashScripting/scriptingVMs/MacOSM1/Vagrantfile @@ -0,0 +1,64 @@ +Vagrant.configure("2") do |config| + config.vm.define "scriptbox" do |scriptbox| + scriptbox.vm.box = "jacobw/fedora35-arm64" + scriptbox.vm.network "private_network", ip: "192.168.56.26" + scriptbox.vm.hostname = "scriptbox" + scriptbox.vm.provider "vmware_desktop" do |v| + v.allowlist_verified = true + v.ssh_info_public = true + v.gui = true + end + scriptbox.vm.provision "shell", inline: <<-SHELL + mv /etc/yum.repos.d/fedora-updates.repo /tmp/ + mv /etc/yum.repos.d/fedora-updates-modular.repo /tmp/ + yum clean all + yum update + systemctl stop firewalld + SHELL + end + config.vm.define "web01" do |web01| + web01.vm.box = "jacobw/fedora35-arm64" + web01.vm.network "private_network", ip: "192.168.56.27" + web01.vm.hostname = "web01" + web01.vm.provider "vmware_desktop" do |v| + v.allowlist_verified = true + v.ssh_info_public = true + v.gui = true + end + web01.vm.provision "shell", inline: <<-SHELL + mv /etc/yum.repos.d/fedora-updates.repo /tmp/ + mv /etc/yum.repos.d/fedora-updates-modular.repo /tmp/ + yum clean all + yum update + systemctl stop firewalld + SHELL + end + config.vm.define "web02" do |web02| + web02.vm.box = "jacobw/fedora35-arm64" + web02.vm.network "private_network", ip: "192.168.56.28" + web02.vm.hostname = "web02" + web02.vm.provider "vmware_desktop" do |v| + v.allowlist_verified = true + v.ssh_info_public = true + v.gui = true + end + web02.vm.provision "shell", inline: <<-SHELL + mv /etc/yum.repos.d/fedora-updates.repo /tmp/ + mv /etc/yum.repos.d/fedora-updates-modular.repo /tmp/ + yum clean all + yum update + systemctl stop firewalld + SHELL + end + config.vm.define "web03" do |web03| + web03.vm.box = "spox/ubuntu-arm" + web03.vm.box_version = "1.0.0" + web03.vm.network "private_network", ip: "192.168.56.29" + web03.vm.hostname = "web03" + web03.vm.provider "vmware_desktop" do |v| + v.allowlist_verified = true + v.ssh_info_public = true + v.gui = true + end + end +end diff --git a/ddc-material-master/09.BashScripting/scriptingVMs/WindowsAndMacIntel/Vagrantfile b/ddc-material-master/09.BashScripting/scriptingVMs/WindowsAndMacIntel/Vagrantfile new file mode 100644 index 00000000..119de03d --- /dev/null +++ b/ddc-material-master/09.BashScripting/scriptingVMs/WindowsAndMacIntel/Vagrantfile @@ -0,0 +1,29 @@ +Vagrant.configure("2") do |config| + + config.vm.define "scriptbox" do |scriptbox| + scriptbox.vm.box = "geerlingguy/centos7" + scriptbox.vm.network "private_network", ip: "192.168.10.12" + scriptbox.vm.hostname "scriptbox" + scriptbox.vm.provider "virtualbox" do |vb| + vb.memory = "1024" + end + end + + config.vm.define "web01" do |web01| + web01.vm.box = "geerlingguy/centos7" + web01.vm.network "private_network", ip: "192.168.10.13" + web01.vm.hostname "web01" + end + + config.vm.define "web02" do |web02| + web02.vm.box = "geerlingguy/centos7" + web02.vm.network "private_network", ip: "192.168.10.14" + web02.vm.hostname "web02" + end + + config.vm.define "web03" do |web03| + web03.vm.box = "ubuntu/bionic64" + web03.vm.network "private_network", ip: "192.168.10.15" + web03.vm.hostname "web03" + end +end diff --git a/ddc-material-master/09.BashScripting/scripts/10_ifelif.sh b/ddc-material-master/09.BashScripting/scripts/10_ifelif.sh new file mode 100644 index 00000000..634de258 --- /dev/null +++ b/ddc-material-master/09.BashScripting/scripts/10_ifelif.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +value=$(ip addr show | grep -v LOOPBACK | grep -ic mtu) + +if [ $value -eq 1 ] +then + echo "1 Active Network Interface found." +elif [ $value -gt 1 ] +then + echo "Found Multiple active Interface." +else + echo "No Active interface found." +fi + diff --git a/ddc-material-master/09.BashScripting/scripts/11_monit.sh b/ddc-material-master/09.BashScripting/scripts/11_monit.sh new file mode 100644 index 00000000..06ebaaea --- /dev/null +++ b/ddc-material-master/09.BashScripting/scripts/11_monit.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +echo "#####################################################" +date +ls /var/run/httpd/httpd.pid &> /dev/null + +if [ $? -eq 0 ] +then + echo "Httpd process is running." +else + echo "Httpd process is NOT Running." + echo "Starting the process" + systemctl start httpd + if [ $? -eq 0 ] + then + echo "Process started successfully." + else + echo "Process Starting Failed, contact the admin." + fi +fi +echo "#####################################################" +echo diff --git a/ddc-material-master/09.BashScripting/scripts/12_monit.sh b/ddc-material-master/09.BashScripting/scripts/12_monit.sh new file mode 100644 index 00000000..de84347d --- /dev/null +++ b/ddc-material-master/09.BashScripting/scripts/12_monit.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +echo "#####################################################" +date +#ls /var/run/httpd/httpd.pid &> /dev/null + +if [ -f /var/run/httpd/httpd.pid ] +then + echo "Httpd process is running." +else + echo "Httpd process is NOT Running." + echo "Starting the process" + systemctl start httpd + if [ $? -eq 0 ] + then + echo "Process started successfully." + else + echo "Process Starting Failed, contact the admin." + fi +fi +echo "#####################################################" +echo diff --git a/ddc-material-master/09.BashScripting/scripts/13_for.sh b/ddc-material-master/09.BashScripting/scripts/13_for.sh new file mode 100644 index 00000000..60408607 --- /dev/null +++ b/ddc-material-master/09.BashScripting/scripts/13_for.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +for VAR1 in java .net python ruby php +do + echo "Looping....." + sleep 1 + echo "###################################################" + echo "Value of VAR1 is $VAR1." + echo "###################################################" + date + echo +done diff --git a/ddc-material-master/09.BashScripting/scripts/14_for.sh b/ddc-material-master/09.BashScripting/scripts/14_for.sh new file mode 100644 index 00000000..ee57c97d --- /dev/null +++ b/ddc-material-master/09.BashScripting/scripts/14_for.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +MYUSERS="alpha beta gamma" + +for usr in $MYUSERS +do + echo "Adding user $usr." + useradd $usr + id $usr + echo "#####################################" +done + diff --git a/ddc-material-master/09.BashScripting/scripts/15_while.sh b/ddc-material-master/09.BashScripting/scripts/15_while.sh new file mode 100644 index 00000000..afa86e9b --- /dev/null +++ b/ddc-material-master/09.BashScripting/scripts/15_while.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +counter=0 + +while [ $counter -lt 5 ] +do + echo "Looping...." + echo "Value of counter is $counter." + counter=$(( $counter + 1 )) + sleep 1 +done + +echo "Out of the loop" diff --git a/ddc-material-master/09.BashScripting/scripts/16_while.sh b/ddc-material-master/09.BashScripting/scripts/16_while.sh new file mode 100644 index 00000000..bc1f4b96 --- /dev/null +++ b/ddc-material-master/09.BashScripting/scripts/16_while.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +counter=2 + +while true +do + echo "Looping...." + echo "Value of counter is $counter." + counter=$(( $counter * 2 )) + sleep 1 +done + +echo "Out of the loop" diff --git a/ddc-material-master/09.BashScripting/scripts/1_firstscript.sh b/ddc-material-master/09.BashScripting/scripts/1_firstscript.sh new file mode 100644 index 00000000..42434f3b --- /dev/null +++ b/ddc-material-master/09.BashScripting/scripts/1_firstscript.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +### This script prints system info ### + +echo "Welcome to bash script." +echo + +#checking systemt uptime +echo "#####################################" +echo "The uptime of the system is: " +uptime +echo + +# Memory Utilization +echo "#####################################" +echo "Memory Utilization" +free -m +echo + +# Disk Utilization +echo "#####################################" +echo "Disk Utilization" +df -h diff --git a/ddc-material-master/09.BashScripting/scripts/2_websetup.sh b/ddc-material-master/09.BashScripting/scripts/2_websetup.sh new file mode 100644 index 00000000..c1b020d7 --- /dev/null +++ b/ddc-material-master/09.BashScripting/scripts/2_websetup.sh @@ -0,0 +1,46 @@ +#!/bin/bash + +# Installing Dependencies +echo "########################################" +echo "Installing packages." +echo "########################################" +sudo yum install wget unzip httpd -y > /dev/null +echo + +# Start & Enable Service +echo "########################################" +echo "Start & Enable HTTPD Service" +echo "########################################" +sudo systemctl start httpd +sudo systemctl enable httpd +echo + +# Creating Temp Directory +echo "########################################" +echo "Starting Artifact Deployment" +echo "########################################" +mkdir -p /tmp/webfiles +cd /tmp/webfiles +echo + +wget https://www.tooplate.com/zip-templates/2098_health.zip > /dev/null +unzip 2098_health.zip > /dev/null +sudo cp -r 2098_health/* /var/www/html/ +echo + +# Bounce Service +echo "########################################" +echo "Restarting HTTPD service" +echo "########################################" +systemctl restart httpd +echo + +# Clean Up +echo "########################################" +echo "Removing Temporary Files" +echo "########################################" +rm -rf /tmp/webfiles +echo + +sudo systemctl status httpd +ls /var/www/html/ diff --git a/ddc-material-master/09.BashScripting/scripts/3_vars_websetup.sh b/ddc-material-master/09.BashScripting/scripts/3_vars_websetup.sh new file mode 100644 index 00000000..e46fdf17 --- /dev/null +++ b/ddc-material-master/09.BashScripting/scripts/3_vars_websetup.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +# Variable Declaration +PACKAGE="httpd wget unzip" +SVC="httpd" +URL='https://www.tooplate.com/zip-templates/2098_health.zip' +ART_NAME='2098_health' +TEMPDIR="/tmp/webfiles" + +# Installing Dependencies +echo "########################################" +echo "Installing packages." +echo "########################################" +sudo yum install $PACKAGE -y > /dev/null +echo + +# Start & Enable Service +echo "########################################" +echo "Start & Enable HTTPD Service" +echo "########################################" +sudo systemctl start $SVC +sudo systemctl enable $SVC +echo + +# Creating Temp Directory +echo "########################################" +echo "Starting Artifact Deployment" +echo "########################################" +mkdir -p $TEMPDIR +cd $TEMPDIR +echo + +wget $URL > /dev/null +unzip $ART_NAME.zip > /dev/null +sudo cp -r $ART_NAME/* /var/www/html/ +echo + +# Bounce Service +echo "########################################" +echo "Restarting HTTPD service" +echo "########################################" +systemctl restart $SVC +echo + +# Clean Up +echo "########################################" +echo "Removing Temporary Files" +echo "########################################" +rm -rf $TEMPDIR +echo + +sudo systemctl status $SVC +ls /var/www/html/ diff --git a/ddc-material-master/09.BashScripting/scripts/4_args.sh b/ddc-material-master/09.BashScripting/scripts/4_args.sh new file mode 100644 index 00000000..ca1fc768 --- /dev/null +++ b/ddc-material-master/09.BashScripting/scripts/4_args.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +echo "Value of 0 is " +echo $0 + +echo "Value of 1" +echo $1 + +echo "Value of 2" +echo $2 + +echo "Value of 3" +echo $3 + diff --git a/ddc-material-master/09.BashScripting/scripts/5_args_websetup.sh b/ddc-material-master/09.BashScripting/scripts/5_args_websetup.sh new file mode 100644 index 00000000..0a0897ba --- /dev/null +++ b/ddc-material-master/09.BashScripting/scripts/5_args_websetup.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +# Variable Declaration +PACKAGE="httpd wget unzip" +SVC="httpd" +#URL='https://www.tooplate.com/zip-templates/2098_health.zip' +#ART_NAME='2098_health' +TEMPDIR="/tmp/webfiles" + +# Installing Dependencies +echo "########################################" +echo "Installing packages." +echo "########################################" +sudo yum install $PACKAGE -y > /dev/null +echo + +# Start & Enable Service +echo "########################################" +echo "Start & Enable HTTPD Service" +echo "########################################" +sudo systemctl start $SVC +sudo systemctl enable $SVC +echo + +# Creating Temp Directory +echo "########################################" +echo "Starting Artifact Deployment" +echo "########################################" +mkdir -p $TEMPDIR +cd $TEMPDIR +echo + +wget $1 > /dev/null +unzip $2.zip > /dev/null +sudo cp -r $2/* /var/www/html/ +echo + +# Bounce Service +echo "########################################" +echo "Restarting HTTPD service" +echo "########################################" +systemctl restart $SVC +echo + +# Clean Up +echo "########################################" +echo "Removing Temporary Files" +echo "########################################" +rm -rf $TEMPDIR +echo + +sudo systemctl status $SVC +ls /var/www/html/ diff --git a/ddc-material-master/09.BashScripting/scripts/6_command_subs.sh b/ddc-material-master/09.BashScripting/scripts/6_command_subs.sh new file mode 100644 index 00000000..289e08fe --- /dev/null +++ b/ddc-material-master/09.BashScripting/scripts/6_command_subs.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +echo "Welcome $USER on $HOSTNAME." +echo "#######################################################" + +FREERAM=$(free -m | grep Mem | awk '{print $4}') +LOAD=`uptime | awk '{print $9}'` +ROOTFREE=$(df -h | grep '/dev/sda1' | awk '{print $4}') + + +echo "#######################################################" +echo "Available free RAM is $FREERAM MB" +echo "#######################################################" +echo "Current Load Average $LOAD" +echo "#######################################################" +echo "Free ROOT partiotion size is $ROOTFREE" diff --git a/ddc-material-master/09.BashScripting/scripts/7_userInput.sh b/ddc-material-master/09.BashScripting/scripts/7_userInput.sh new file mode 100644 index 00000000..c05e9c2b --- /dev/null +++ b/ddc-material-master/09.BashScripting/scripts/7_userInput.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +echo "Enter your skills:" +read SKILL + +echo "Your $SKILL skill is in high Demand in the IT Industry." + +read -p 'Username: ' USR +read -sp 'Password: ' pass + +echo + +echo "Login Successfull: Welcome USER $USR," diff --git a/ddc-material-master/09.BashScripting/scripts/8if1.sh b/ddc-material-master/09.BashScripting/scripts/8if1.sh new file mode 100644 index 00000000..3e828c42 --- /dev/null +++ b/ddc-material-master/09.BashScripting/scripts/8if1.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +read -p "Enter a number: " NUM +echo + +if [ $NUM -gt 100 ] +then + echo "We have entered in IF block." + sleep 3 + echo "Your Number is greater than 100" + echo + date +fi + + +echo "Script execution completed successfully." diff --git a/ddc-material-master/09.BashScripting/scripts/9_if1.sh b/ddc-material-master/09.BashScripting/scripts/9_if1.sh new file mode 100644 index 00000000..98dff220 --- /dev/null +++ b/ddc-material-master/09.BashScripting/scripts/9_if1.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +read -p "Enter a number: " NUM +echo + +if [ $NUM -gt 100 ] +then + echo "We have entered in IF block." + sleep 3 + echo "Your Number is greater than 100" + echo + date +else + echo "You have entered number less than 100." +fi + + +echo "Script execution completed successfully." diff --git a/ddc-material-master/09.BashScripting/scripts/dismantle.sh b/ddc-material-master/09.BashScripting/scripts/dismantle.sh new file mode 100644 index 00000000..5904eac0 --- /dev/null +++ b/ddc-material-master/09.BashScripting/scripts/dismantle.sh @@ -0,0 +1,5 @@ +#!/bin/bash +sudo systemctl stop httpd +sudo rm -rf /var/www/html/* +sudo yum remove httpd wget unzip -y + diff --git a/ddc-material-master/09.BashScripting/scripts/remote_websetup/multios_websetup.sh b/ddc-material-master/09.BashScripting/scripts/remote_websetup/multios_websetup.sh new file mode 100644 index 00000000..c67511db --- /dev/null +++ b/ddc-material-master/09.BashScripting/scripts/remote_websetup/multios_websetup.sh @@ -0,0 +1,115 @@ +#!/bin/bash + +# Variable Declaration +#PACKAGE="httpd wget unzip" +#SVC="httpd" +URL='https://www.tooplate.com/zip-templates/2098_health.zip' +ART_NAME='2098_health' +TEMPDIR="/tmp/webfiles" + +yum --help &> /dev/null + +if [ $? -eq 0 ] +then + # Set Variables for CentOS + PACKAGE="httpd wget unzip" + SVC="httpd" + + echo "Running Setup on CentOS" + # Installing Dependencies + echo "########################################" + echo "Installing packages." + echo "########################################" + sudo yum install $PACKAGE -y > /dev/null + echo + + # Start & Enable Service + echo "########################################" + echo "Start & Enable HTTPD Service" + echo "########################################" + sudo systemctl start $SVC + sudo systemctl enable $SVC + echo + + # Creating Temp Directory + echo "########################################" + echo "Starting Artifact Deployment" + echo "########################################" + mkdir -p $TEMPDIR + cd $TEMPDIR + echo + + wget $URL > /dev/null + unzip $ART_NAME.zip > /dev/null + sudo cp -r $ART_NAME/* /var/www/html/ + echo + + # Bounce Service + echo "########################################" + echo "Restarting HTTPD service" + echo "########################################" + systemctl restart $SVC + echo + + # Clean Up + echo "########################################" + echo "Removing Temporary Files" + echo "########################################" + rm -rf $TEMPDIR + echo + + sudo systemctl status $SVC + ls /var/www/html/ + +else + # Set Variables for Ubuntu + PACKAGE="apache2 wget unzip" + SVC="apache2" + + echo "Running Setup on CentOS" + # Installing Dependencies + echo "########################################" + echo "Installing packages." + echo "########################################" + sudo apt update + sudo apt install $PACKAGE -y > /dev/null + echo + + # Start & Enable Service + echo "########################################" + echo "Start & Enable HTTPD Service" + echo "########################################" + sudo systemctl start $SVC + sudo systemctl enable $SVC + echo + + # Creating Temp Directory + echo "########################################" + echo "Starting Artifact Deployment" + echo "########################################" + mkdir -p $TEMPDIR + cd $TEMPDIR + echo + + wget $URL > /dev/null + unzip $ART_NAME.zip > /dev/null + sudo cp -r $ART_NAME/* /var/www/html/ + echo + + # Bounce Service + echo "########################################" + echo "Restarting HTTPD service" + echo "########################################" + systemctl restart $SVC + echo + + # Clean Up + echo "########################################" + echo "Removing Temporary Files" + echo "########################################" + rm -rf $TEMPDIR + echo + + sudo systemctl status $SVC + ls /var/www/html/ +fi diff --git a/ddc-material-master/09.BashScripting/scripts/remote_websetup/remhosts b/ddc-material-master/09.BashScripting/scripts/remote_websetup/remhosts new file mode 100644 index 00000000..64ed4d4c --- /dev/null +++ b/ddc-material-master/09.BashScripting/scripts/remote_websetup/remhosts @@ -0,0 +1,3 @@ +web01 +web02 +web03 diff --git a/ddc-material-master/09.BashScripting/scripts/remote_websetup/testfile.txt b/ddc-material-master/09.BashScripting/scripts/remote_websetup/testfile.txt new file mode 100644 index 00000000..d733fc47 --- /dev/null +++ b/ddc-material-master/09.BashScripting/scripts/remote_websetup/testfile.txt @@ -0,0 +1 @@ +testfiile diff --git a/ddc-material-master/09.BashScripting/scripts/remote_websetup/webdeploy.sh b/ddc-material-master/09.BashScripting/scripts/remote_websetup/webdeploy.sh new file mode 100644 index 00000000..dd57120f --- /dev/null +++ b/ddc-material-master/09.BashScripting/scripts/remote_websetup/webdeploy.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +USR='devops' + +for host in `cat remhosts` +do + echo + echo "#########################################################" + echo "Connecting to $host" + echo "Pushing Script to $host" + scp multios_websetup.sh $USR@$host:/tmp/ + echo "Executing Script on $host" + ssh $USR@$host sudo /tmp/multios_websetup.sh + ssh $USR@$host sudo rm -rf /tmp/multios_websetup.sh + echo "#########################################################" + echo +done diff --git a/ddc-material-master/09.BashScripting/scripts/testvars.sh b/ddc-material-master/09.BashScripting/scripts/testvars.sh new file mode 100644 index 00000000..d4f5bae4 --- /dev/null +++ b/ddc-material-master/09.BashScripting/scripts/testvars.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +echo "The $SEASON season is more than expected, this time." diff --git a/ddc-material-master/10.AWSPart1/AWS+Command+Line+Interface+Part+1.pdf b/ddc-material-master/10.AWSPart1/AWS+Command+Line+Interface+Part+1.pdf new file mode 100644 index 00000000..3162de32 Binary files /dev/null and b/ddc-material-master/10.AWSPart1/AWS+Command+Line+Interface+Part+1.pdf differ diff --git a/ddc-material-master/10.AWSPart1/AWSLinks.rtf b/ddc-material-master/10.AWSPart1/AWSLinks.rtf new file mode 100644 index 00000000..68359bcf --- /dev/null +++ b/ddc-material-master/10.AWSPart1/AWSLinks.rtf @@ -0,0 +1,33 @@ +{\rtf1\ansi\ansicpg1252\cocoartf2636 +\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +{\*\expandedcolortbl;;} +\paperw11900\paperh16840\margl1440\margr1440\vieww11520\viewh8400\viewkind0 +\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0 + +\f0\fs24 \cf0 https://aws.amazon.com/what-is-cloud-computing/\ +\ +https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html\ +\ +https://aws.amazon.com/ec2/instance-types/\ +\ +https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html\ +\ +https://awscli.amazonaws.com/v2/documentation/api/latest/index.html\ +\ +https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html\ +\ +https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html\ +\ +https://docs.aws.amazon.com/elasticloadbalancing/\ +\ +https://docs.aws.amazon.com/cloudwatch/index.html\ +\ +https://docs.aws.amazon.com/efs/index.html\ +\ +https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html\ +\ +https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html\ +\ +https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.html\ +} \ No newline at end of file diff --git a/ddc-material-master/10.AWSPart1/AWSSlides.pdf b/ddc-material-master/10.AWSPart1/AWSSlides.pdf new file mode 100644 index 00000000..3e500eab Binary files /dev/null and b/ddc-material-master/10.AWSPart1/AWSSlides.pdf differ diff --git a/ddc-material-master/10.AWSPart1/STRESSInstallAndCommands.txt b/ddc-material-master/10.AWSPart1/STRESSInstallAndCommands.txt new file mode 100644 index 00000000..66870455 --- /dev/null +++ b/ddc-material-master/10.AWSPart1/STRESSInstallAndCommands.txt @@ -0,0 +1,15 @@ +#STRESS Installation +# Centos +sudo yum install epel-release -y +sudo yum install stress -y + +#Amazon Linux 2 +sudo amazon-linux-extras install epel -y +sudo yum install stress -y + +# Ubuntu +sudo apt update +sudo apt install stress -y + +# stress command +stress -c 4 -t 60 && sleep 60 && stress -c 4 -t 60 && sleep 60 && stress -c 4 -t 360 && sleep && stress -c 4 -t 460 && sleep 30 && stress -c 4 -t 360 && sleep 60 \ No newline at end of file diff --git a/ddc-material-master/10.AWSPart1/morInEec2_part1.txt b/ddc-material-master/10.AWSPart1/morInEec2_part1.txt new file mode 100644 index 00000000..b2171484 --- /dev/null +++ b/ddc-material-master/10.AWSPart1/morInEec2_part1.txt @@ -0,0 +1,6 @@ +sudo apt update +sudo apt install apache2 wget unzip -y +wget https://www.tooplate.com/zip-templates/2128_tween_agency.zip +unzip 2128_tween_agency.zip +sudo cp -r 2128_tween_agency/* /var/www/html/ +sudo systemctl restart apache2 \ No newline at end of file diff --git a/ddc-material-master/10.AWSPart1/multios_websetup.sh b/ddc-material-master/10.AWSPart1/multios_websetup.sh new file mode 100644 index 00000000..c67511db --- /dev/null +++ b/ddc-material-master/10.AWSPart1/multios_websetup.sh @@ -0,0 +1,115 @@ +#!/bin/bash + +# Variable Declaration +#PACKAGE="httpd wget unzip" +#SVC="httpd" +URL='https://www.tooplate.com/zip-templates/2098_health.zip' +ART_NAME='2098_health' +TEMPDIR="/tmp/webfiles" + +yum --help &> /dev/null + +if [ $? -eq 0 ] +then + # Set Variables for CentOS + PACKAGE="httpd wget unzip" + SVC="httpd" + + echo "Running Setup on CentOS" + # Installing Dependencies + echo "########################################" + echo "Installing packages." + echo "########################################" + sudo yum install $PACKAGE -y > /dev/null + echo + + # Start & Enable Service + echo "########################################" + echo "Start & Enable HTTPD Service" + echo "########################################" + sudo systemctl start $SVC + sudo systemctl enable $SVC + echo + + # Creating Temp Directory + echo "########################################" + echo "Starting Artifact Deployment" + echo "########################################" + mkdir -p $TEMPDIR + cd $TEMPDIR + echo + + wget $URL > /dev/null + unzip $ART_NAME.zip > /dev/null + sudo cp -r $ART_NAME/* /var/www/html/ + echo + + # Bounce Service + echo "########################################" + echo "Restarting HTTPD service" + echo "########################################" + systemctl restart $SVC + echo + + # Clean Up + echo "########################################" + echo "Removing Temporary Files" + echo "########################################" + rm -rf $TEMPDIR + echo + + sudo systemctl status $SVC + ls /var/www/html/ + +else + # Set Variables for Ubuntu + PACKAGE="apache2 wget unzip" + SVC="apache2" + + echo "Running Setup on CentOS" + # Installing Dependencies + echo "########################################" + echo "Installing packages." + echo "########################################" + sudo apt update + sudo apt install $PACKAGE -y > /dev/null + echo + + # Start & Enable Service + echo "########################################" + echo "Start & Enable HTTPD Service" + echo "########################################" + sudo systemctl start $SVC + sudo systemctl enable $SVC + echo + + # Creating Temp Directory + echo "########################################" + echo "Starting Artifact Deployment" + echo "########################################" + mkdir -p $TEMPDIR + cd $TEMPDIR + echo + + wget $URL > /dev/null + unzip $ART_NAME.zip > /dev/null + sudo cp -r $ART_NAME/* /var/www/html/ + echo + + # Bounce Service + echo "########################################" + echo "Restarting HTTPD service" + echo "########################################" + systemctl restart $SVC + echo + + # Clean Up + echo "########################################" + echo "Removing Temporary Files" + echo "########################################" + rm -rf $TEMPDIR + echo + + sudo systemctl status $SVC + ls /var/www/html/ +fi diff --git a/ddc-material-master/11.AWSCloudProjectLift&Shift/VproSetupAWSLift&ShiftIntroSlides.pdf b/ddc-material-master/11.AWSCloudProjectLift&Shift/VproSetupAWSLift&ShiftIntroSlides.pdf new file mode 100644 index 00000000..c6b31e3a Binary files /dev/null and b/ddc-material-master/11.AWSCloudProjectLift&Shift/VproSetupAWSLift&ShiftIntroSlides.pdf differ diff --git a/ddc-material-master/12.AWSCloudProjectRefactor/VproSetupAWSReArchIntroSlides.pdf b/ddc-material-master/12.AWSCloudProjectRefactor/VproSetupAWSReArchIntroSlides.pdf new file mode 100644 index 00000000..9aa7dc0e Binary files /dev/null and b/ddc-material-master/12.AWSCloudProjectRefactor/VproSetupAWSReArchIntroSlides.pdf differ diff --git a/ddc-material-master/13.Git/Git-Commands.txt b/ddc-material-master/13.Git/Git-Commands.txt new file mode 100644 index 00000000..d2cc0128 --- /dev/null +++ b/ddc-material-master/13.Git/Git-Commands.txt @@ -0,0 +1,98 @@ +476 cd /f/Bash_Scripts/ + 477 ls + 478 vim remotexecmulti.sh + 479 vim remotexecmulti.sh + 480 vim MultiComRemExec.sh + 481 clear + 482 ls + 483 cp remotexecmulti.sh remotexecmulti.sh_13123030_1040.bakup + 484 ls + 485 vim remotexecmulti.sh + 486 cp remotexecmulti.sh_13123030_1040.bakup remotexecmulti.sh + 487 vim remotexecmulti.sh + 488 clear + 489 ls + 490 cp remotexecmulti.sh_14123030_1040.bakup remotexecmulti.sh + 491 cp remotexecmulti.sh remotexecmulti.sh_14123030_1040.bakup + 492 cp remotexecmulti.sh remotexecmulti.sh_12113030_1040.bakup + 493 cp remotexecmulti.sh remotexecmulti.sh_12103030_1150.bakup + 494 cp remotexecmulti.sh remotexecmulti.sh_05103030_1150.bakup + 495 ls + 496 tar + 497 tar czvf remotexecmulti.Bakup *.bakup + 498 ls + 499 rm -rf *.bakup + 500 ls + 501 cd /f/gitrepos/titanwork/ + 502 rm -rf debug.log + 503 rm -rf debug.log + 504 git status + 505 git merge sprint1 + 506 ls + 507 git switch sprint1 + 508 ls + 509 cd .. + 510 ls + 511 cd titanwork/ + 512 clear + 513 git push --all origin + 514 cd .. + 515 rm -rf titanwork + 516 clear + 517 ls + 518 git clone https://github.com/imranvisualpath/titanwork.git + 519 ls + 520 cd titanwork/ + 521 ls + 522 ls + 523 clear + 524 ls + 525 vim jupiter1.rb + 526 cat jupiter1.rb + 527 git checkout jupiter1.rb + 528 cat jupiter1.rb + 529 clear + 530 vim jupiter1.rb + 531 git status + 532 git diff + 533 git rm debug.log + 534 clear + 535 git diff + 536 git status + 537 git diff + 538 git add. + 539 git add . + 540 git status + 541 git diff + 542 git diff --cached + 543 git restore --staged jupiter1.rb + 544 git status + 545 git diff + 546 git add . + 547 git commit -m "playbook" + 548 clear + 549 git status + 550 git diff + 551 git diff --cached + 552 git log --oneline + 553 git diff 358d7f8..a886cb6 + 554 git revert HEAD + 555 cat jupiter1.rb + 556 git log --oneline + 557 clear + 558 git log --oneline + 559 git reset --hard 358d7f8 + 560 git log --oneline + 561 history + 562 clear + 563 cat .git/config + 564 cd + 565 rm -rf .ssh/* + 566 ssh-keygen.exe + 567 ls .ssh + 568 ls .ssh/ + 569 cat .ssh/id_rsa.pub + 570 cd /f/gitrepos/ + 571 git clone git@github.com:imranvisualpath/titanwork.git + 572 rm -rf titanwork + 573 git clone git@github.com:imranvisualpath/titanwork.git diff --git a/ddc-material-master/13.Git/Git.pdf b/ddc-material-master/13.Git/Git.pdf new file mode 100644 index 00000000..aa8e695d Binary files /dev/null and b/ddc-material-master/13.Git/Git.pdf differ diff --git a/ddc-material-master/14.Maven/Maven.pdf b/ddc-material-master/14.Maven/Maven.pdf new file mode 100644 index 00000000..b151f188 Binary files /dev/null and b/ddc-material-master/14.Maven/Maven.pdf differ diff --git a/ddc-material-master/14.Maven/maven-commands.txt b/ddc-material-master/14.Maven/maven-commands.txt new file mode 100644 index 00000000..9d044644 --- /dev/null +++ b/ddc-material-master/14.Maven/maven-commands.txt @@ -0,0 +1,61 @@ +1 sudo apt update + 2 clear + 3 sudo apt update + 4 sudo apt install git -y + 5 git clone https://github.com/devopshydclub/vprofile-repo.git + 6 ls + 7 cd vprofile-repo/ + 8 clear + 9 ls + 10 git checkout vp-rem + 11 ls + 12 sudo apt search jdk + 13 clear + 14 sudo apt install openjdk-8-jdk -y + 15 clear + 16 jave -version + 17 java -version + 18 sudo apt install maven -y + 19 clear + 20 mvn -version + 21 ls + 22 mvn test + 23 ls + 24 ls target/ + 25 mvn install + 26 ls + 27 ls target/ + 28 ls + 29 rm -rf target + 30 ls + 31 mvn install + 32 ls /home/ubuntu/.m2/repository/ + 33 clear + 34 mvn clean + 35 ls + 36 clear + 37 mvn install + 38 clear + 39 mvn clean + 40 ls + 41 mvn clean install + 42 clean + 43 clear + 44 ls + 45 mvn -version + 46 cd + 47 wget https://archive.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz + 48 ls + 49 pwd + 50 tar xzvf apache-maven-3.3.9-bin.tar.gz + 51 clear + 52 ls + 53 sudo mv apache-maven-3.3.9 /opt/ + 54 ls /opt/apache-maven-3.3.9/ + 55 ls /opt/apache-maven-3.3.9/bin/ + 56 /opt/apache-maven-3.3.9/bin/mvn -version + 57 ls + 58 cd vprofile-repo/ + 59 clear + 60 ls + 61 /opt/apache-maven-3.3.9/bin/mvn clean install diff --git a/ddc-material-master/15.CI-Jenkins/Build+Triggers+Remotely.pdf b/ddc-material-master/15.CI-Jenkins/Build+Triggers+Remotely.pdf new file mode 100644 index 00000000..44d5aef3 Binary files /dev/null and b/ddc-material-master/15.CI-Jenkins/Build+Triggers+Remotely.pdf differ diff --git a/ddc-material-master/15.CI-Jenkins/CI-Jenkins.pdf b/ddc-material-master/15.CI-Jenkins/CI-Jenkins.pdf new file mode 100644 index 00000000..55748179 Binary files /dev/null and b/ddc-material-master/15.CI-Jenkins/CI-Jenkins.pdf differ diff --git a/ddc-material-master/15.CI-Jenkins/JenkinsfileBuildTrigger.txt b/ddc-material-master/15.CI-Jenkins/JenkinsfileBuildTrigger.txt new file mode 100644 index 00000000..e7f6927f --- /dev/null +++ b/ddc-material-master/15.CI-Jenkins/JenkinsfileBuildTrigger.txt @@ -0,0 +1,10 @@ +pipeline { + agent any + stages { + stage('Build') { + steps{ + sh 'echo "Build completed."' + } + } + } +} \ No newline at end of file diff --git a/ddc-material-master/15.CI-Jenkins/PAAC_CICD_Docker_ECR_ECS.txt b/ddc-material-master/15.CI-Jenkins/PAAC_CICD_Docker_ECR_ECS.txt new file mode 100644 index 00000000..9ad7a929 --- /dev/null +++ b/ddc-material-master/15.CI-Jenkins/PAAC_CICD_Docker_ECR_ECS.txt @@ -0,0 +1,99 @@ +pipeline { + agent any + tools { + maven "MAVEN3" + jdk "OracleJDK8" + } + + environment { + registryCredential = 'ecr:us-east-2:awscreds' + appRegistry = "951401132355.dkr.ecr.us-east-2.amazonaws.com/vprofileappimg" + vprofileRegistry = "https://951401132355.dkr.ecr.us-east-2.amazonaws.com" + cluster = "vprofile" + service = "vprofileappsvc" + } + stages { + stage('Fetch code'){ + steps { + git branch: 'docker', url: 'https://github.com/devopshydclub/vprofile-project.git' + } + } + + + stage('Test'){ + steps { + sh 'mvn test' + } + } + + stage ('CODE ANALYSIS WITH CHECKSTYLE'){ + steps { + sh 'mvn checkstyle:checkstyle' + } + post { + success { + echo 'Generated Analysis Result' + } + } + } + + stage('build && SonarQube analysis') { + environment { + scannerHome = tool 'sonar4.7' + } + steps { + withSonarQubeEnv('sonar') { + sh '''${scannerHome}/bin/sonar-scanner -Dsonar.projectKey=vprofile \ + -Dsonar.projectName=vprofile-repo \ + -Dsonar.projectVersion=1.0 \ + -Dsonar.sources=src/ \ + -Dsonar.java.binaries=target/test-classes/com/visualpathit/account/controllerTest/ \ + -Dsonar.junit.reportsPath=target/surefire-reports/ \ + -Dsonar.jacoco.reportsPath=target/jacoco.exec \ + -Dsonar.java.checkstyle.reportPaths=target/checkstyle-result.xml''' + } + } + } + + stage("Quality Gate") { + steps { + timeout(time: 1, unit: 'HOURS') { + // Parameter indicates whether to set pipeline to UNSTABLE if Quality Gate fails + // true = set pipeline to UNSTABLE, false = don't + waitForQualityGate abortPipeline: true + } + } + } + + stage('Build App Image') { + steps { + + script { + dockerImage = docker.build( appRegistry + ":$BUILD_NUMBER", "./Docker-files/app/multistage/") + } + + } + + } + + stage('Upload App Image') { + steps{ + script { + docker.withRegistry( vprofileRegistry, registryCredential ) { + dockerImage.push("$BUILD_NUMBER") + dockerImage.push('latest') + } + } + } + } + + stage('Deploy to ecs') { + steps { + withAWS(credentials: 'awscreds', region: 'us-east-2') { + sh 'aws ecs update-service --cluster ${cluster} --service ${service} --force-new-deployment' + } + } + } + + } +} \ No newline at end of file diff --git a/ddc-material-master/15.CI-Jenkins/PAAC_CI_Docker_ECR.txt b/ddc-material-master/15.CI-Jenkins/PAAC_CI_Docker_ECR.txt new file mode 100644 index 00000000..e8e88f8f --- /dev/null +++ b/ddc-material-master/15.CI-Jenkins/PAAC_CI_Docker_ECR.txt @@ -0,0 +1,89 @@ +pipeline { + agent any + tools { + maven "MAVEN3" + jdk "OracleJDK8" + } + + environment { + registryCredential = 'ecr:us-east-2:awscreds' + appRegistry = "951401132355.dkr.ecr.us-east-2.amazonaws.com/vprofileappimg" + vprofileRegistry = "https://951401132355.dkr.ecr.us-east-2.amazonaws.com" + } + stages { + stage('Fetch code'){ + steps { + git branch: 'docker', url: 'https://github.com/devopshydclub/vprofile-project.git' + } + } + + + stage('Test'){ + steps { + sh 'mvn test' + } + } + + stage ('CODE ANALYSIS WITH CHECKSTYLE'){ + steps { + sh 'mvn checkstyle:checkstyle' + } + post { + success { + echo 'Generated Analysis Result' + } + } + } + + stage('build && SonarQube analysis') { + environment { + scannerHome = tool 'sonar4.7' + } + steps { + withSonarQubeEnv('sonar') { + sh '''${scannerHome}/bin/sonar-scanner -Dsonar.projectKey=vprofile \ + -Dsonar.projectName=vprofile-repo \ + -Dsonar.projectVersion=1.0 \ + -Dsonar.sources=src/ \ + -Dsonar.java.binaries=target/test-classes/com/visualpathit/account/controllerTest/ \ + -Dsonar.junit.reportsPath=target/surefire-reports/ \ + -Dsonar.jacoco.reportsPath=target/jacoco.exec \ + -Dsonar.java.checkstyle.reportPaths=target/checkstyle-result.xml''' + } + } + } + + stage("Quality Gate") { + steps { + timeout(time: 1, unit: 'HOURS') { + // Parameter indicates whether to set pipeline to UNSTABLE if Quality Gate fails + // true = set pipeline to UNSTABLE, false = don't + waitForQualityGate abortPipeline: true + } + } + } + + stage('Build App Image') { + steps { + + script { + dockerImage = docker.build( appRegistry + ":$BUILD_NUMBER", "./Docker-files/app/multistage/") + } + + } + + } + + stage('Upload App Image') { + steps{ + script { + docker.withRegistry( vprofileRegistry, registryCredential ) { + dockerImage.push("$BUILD_NUMBER") + dockerImage.push('latest') + } + } + } + } + + } +} \ No newline at end of file diff --git a/ddc-material-master/15.CI-Jenkins/PAAC_CI_SlackNotification.txt b/ddc-material-master/15.CI-Jenkins/PAAC_CI_SlackNotification.txt new file mode 100644 index 00000000..e597d876 --- /dev/null +++ b/ddc-material-master/15.CI-Jenkins/PAAC_CI_SlackNotification.txt @@ -0,0 +1,105 @@ +def COLOR_MAP = [ + 'SUCCESS': 'good', + 'FAILURE': 'danger', +] +pipeline { + agent any + tools { + maven "MAVEN3" + jdk "OracleJDK8" + } + + stages{ + stage('Print error'){ + steps{ + sh 'fake comment' + } + } + stage('Fetch code') { + steps{ + git branch: 'vp-rem', url:'https://github.com/devopshydclub/vprofile-repo.git' + } + } + + stage('Build') { + steps { + sh 'mvn clean install -DskipTests' + } + post { + success { + echo "Now Archiving." + archiveArtifacts artifacts: '**/*.war' + } + } + } + stage('Test'){ + steps { + sh 'mvn test' + } + + } + + stage('Checkstyle Analysis'){ + steps { + sh 'mvn checkstyle:checkstyle' + } + } + + stage('Sonar Analysis') { + environment { + scannerHome = tool 'sonar4.7' + } + steps { + withSonarQubeEnv('sonar') { + sh '''${scannerHome}/bin/sonar-scanner -Dsonar.projectKey=vprofile \ + -Dsonar.projectName=vprofile \ + -Dsonar.projectVersion=1.0 \ + -Dsonar.sources=src/ \ + -Dsonar.java.binaries=target/test-classes/com/visualpathit/account/controllerTest/ \ + -Dsonar.junit.reportsPath=target/surefire-reports/ \ + -Dsonar.jacoco.reportsPath=target/jacoco.exec \ + -Dsonar.java.checkstyle.reportPaths=target/checkstyle-result.xml''' + } + } + } + + stage("Quality Gate") { + steps { + timeout(time: 1, unit: 'HOURS') { + // Parameter indicates whether to set pipeline to UNSTABLE if Quality Gate fails + // true = set pipeline to UNSTABLE, false = don't + waitForQualityGate abortPipeline: true + } + } + } + + stage("UploadArtifact"){ + steps{ + nexusArtifactUploader( + nexusVersion: 'nexus3', + protocol: 'http', + nexusUrl: '172.31.18.28:8081', + groupId: 'QA', + version: "${env.BUILD_ID}-${env.BUILD_TIMESTAMP}", + repository: 'vprofile-repo', + credentialsId: 'nexuslogin', + artifacts: [ + [artifactId: 'vproapp', + classifier: '', + file: 'target/vprofile-v2.war', + type: 'war'] + ] + ) + } + } + } + post { + always { + echo 'Slack Notifications.' + slackSend channel: '#jenkinscicd', + color: COLOR_MAP[currentBuild.currentResult], + message: "*${currentBuild.currentResult}:* Job ${env.JOB_NAME} build ${env.BUILD_NUMBER} \n More info at: ${env.BUILD_URL}" + } + } + +} \ No newline at end of file diff --git a/ddc-material-master/15.CI-Jenkins/PAAC_CI_Sonar_Nexus.txt b/ddc-material-master/15.CI-Jenkins/PAAC_CI_Sonar_Nexus.txt new file mode 100644 index 00000000..ef9df743 --- /dev/null +++ b/ddc-material-master/15.CI-Jenkins/PAAC_CI_Sonar_Nexus.txt @@ -0,0 +1,89 @@ +pipeline { + agent any + tools { + maven "MAVEN3" + jdk "OracleJDK8" + } + stages{ + stage('Fetch code') { + steps{ + git branch: 'vp-rem', url:'https://github.com/devopshydclub/vprofile-repo.git' + } + } + + stage('Build') { + steps { + sh 'mvn clean install -DskipTests' + } + post { + success { + echo "Now Archiving." + archiveArtifacts artifacts: '**/*.war' + } + } + } + stage('Test'){ + steps { + sh 'mvn test' + } + + } + + stage('Checkstyle Analysis'){ + steps { + sh 'mvn checkstyle:checkstyle' + } + } + + stage('Sonar Analysis') { + environment { + scannerHome = tool 'sonar4.7' + } + steps { + withSonarQubeEnv('sonar') { + sh '''${scannerHome}/bin/sonar-scanner -Dsonar.projectKey=vprofile \ + -Dsonar.projectName=vprofile \ + -Dsonar.projectVersion=1.0 \ + -Dsonar.sources=src/ \ + -Dsonar.java.binaries=target/test-classes/com/visualpathit/account/controllerTest/ \ + -Dsonar.junit.reportsPath=target/surefire-reports/ \ + -Dsonar.jacoco.reportsPath=target/jacoco.exec \ + -Dsonar.java.checkstyle.reportPaths=target/checkstyle-result.xml''' + } + } + } + + stage("Quality Gate") { + steps { + timeout(time: 1, unit: 'HOURS') { + // Parameter indicates whether to set pipeline to UNSTABLE if Quality Gate fails + // true = set pipeline to UNSTABLE, false = don't + waitForQualityGate abortPipeline: true + } + } + } + + stage("UploadArtifact"){ + steps{ + nexusArtifactUploader( + nexusVersion: 'nexus3', + protocol: 'http', + nexusUrl: '172.31.18.28:8081', + groupId: 'QA', + version: "${env.BUILD_ID}-${env.BUILD_TIMESTAMP}", + repository: 'vprofile-repo', + credentialsId: 'nexuslogin', + artifacts: [ + [artifactId: 'vproapp', + classifier: '', + file: 'target/vprofile-v2.war', + type: 'war'] + ] + ) + } + } + + + + } +} \ No newline at end of file diff --git a/ddc-material-master/15.CI-Jenkins/PAAC_Checkstyle.txt b/ddc-material-master/15.CI-Jenkins/PAAC_Checkstyle.txt new file mode 100644 index 00000000..cb9bbd74 --- /dev/null +++ b/ddc-material-master/15.CI-Jenkins/PAAC_Checkstyle.txt @@ -0,0 +1,40 @@ +pipeline { + agent any + tools { + maven "MAVEN3" + jdk "OracleJDK8" + } + + stages{ + stage('Fetch code') { + steps{ + git branch: 'vp-rem', url:'https://github.com/devopshydclub/vprofile-repo.git' + } + } + + stage('Build') { + steps { + sh 'mvn clean install -DskipTests' + } + post { + success { + echo "Now Archiving." + archiveArtifacts artifacts: '**/*.war' + } + } + } + stage('Test'){ + steps { + sh 'mvn test' + } + + } + + stage('Checkstyle Analysis'){ + steps { + sh 'mvn checkstyle:checkstyle' + } + } + + } +} \ No newline at end of file diff --git a/ddc-material-master/15.CI-Jenkins/PAAC_Sonar_Analysis.txt b/ddc-material-master/15.CI-Jenkins/PAAC_Sonar_Analysis.txt new file mode 100644 index 00000000..9375cf40 --- /dev/null +++ b/ddc-material-master/15.CI-Jenkins/PAAC_Sonar_Analysis.txt @@ -0,0 +1,57 @@ +pipeline { + agent any + tools { + maven "MAVEN3" + jdk "OracleJDK8" + } + stages{ + stage('Fetch code') { + steps{ + git branch: 'vp-rem', url:'https://github.com/devopshydclub/vprofile-repo.git' + } + } + + stage('Build') { + steps { + sh 'mvn clean install -DskipTests' + } + post { + success { + echo "Now Archiving." + archiveArtifacts artifacts: '**/*.war' + } + } + } + stage('Test'){ + steps { + sh 'mvn test' + } + + } + + stage('Checkstyle Analysis'){ + steps { + sh 'mvn checkstyle:checkstyle' + } + } + + stage('Sonar Analysis') { + environment { + scannerHome = tool 'sonar4.7' + } + steps { + withSonarQubeEnv('sonar') { + sh '''${scannerHome}/bin/sonar-scanner -Dsonar.projectKey=vprofile \ + -Dsonar.projectName=vprofile \ + -Dsonar.projectVersion=1.0 \ + -Dsonar.sources=src/ \ + -Dsonar.java.binaries=target/test-classes/com/visualpathit/account/controllerTest/ \ + -Dsonar.junit.reportsPath=target/surefire-reports/ \ + -Dsonar.jacoco.reportsPath=target/jacoco.exec \ + -Dsonar.java.checkstyle.reportPaths=target/checkstyle-result.xml''' + } + } + } + + } +} \ No newline at end of file diff --git a/ddc-material-master/15.CI-Jenkins/PAAC_Sonar_QualityGates.txt b/ddc-material-master/15.CI-Jenkins/PAAC_Sonar_QualityGates.txt new file mode 100644 index 00000000..911a3529 --- /dev/null +++ b/ddc-material-master/15.CI-Jenkins/PAAC_Sonar_QualityGates.txt @@ -0,0 +1,69 @@ +pipeline { + agent any + tools { + maven "MAVEN3" + jdk "OracleJDK8" + } + stages{ + stage('Fetch code') { + steps{ + git branch: 'vp-rem', url:'https://github.com/devopshydclub/vprofile-repo.git' + } + } + + stage('Build') { + steps { + sh 'mvn clean install -DskipTests' + } + post { + success { + echo "Now Archiving." + archiveArtifacts artifacts: '**/*.war' + } + } + } + stage('Test'){ + steps { + sh 'mvn test' + } + + } + + stage('Checkstyle Analysis'){ + steps { + sh 'mvn checkstyle:checkstyle' + } + } + + stage('Sonar Analysis') { + environment { + scannerHome = tool 'sonar4.7' + } + steps { + withSonarQubeEnv('sonar') { + sh '''${scannerHome}/bin/sonar-scanner -Dsonar.projectKey=vprofile \ + -Dsonar.projectName=vprofile \ + -Dsonar.projectVersion=1.0 \ + -Dsonar.sources=src/ \ + -Dsonar.java.binaries=target/test-classes/com/visualpathit/account/controllerTest/ \ + -Dsonar.junit.reportsPath=target/surefire-reports/ \ + -Dsonar.jacoco.reportsPath=target/jacoco.exec \ + -Dsonar.java.checkstyle.reportPaths=target/checkstyle-result.xml''' + } + } + } + + stage("Quality Gate") { + steps { + timeout(time: 1, unit: 'HOURS') { + // Parameter indicates whether to set pipeline to UNSTABLE if Quality Gate fails + // true = set pipeline to UNSTABLE, false = don't + waitForQualityGate abortPipeline: true + } + } + } + + + + } +} \ No newline at end of file diff --git a/ddc-material-master/15.CI-Jenkins/PipelineCodeDemo.txt b/ddc-material-master/15.CI-Jenkins/PipelineCodeDemo.txt new file mode 100644 index 00000000..0eb77fa4 --- /dev/null +++ b/ddc-material-master/15.CI-Jenkins/PipelineCodeDemo.txt @@ -0,0 +1,35 @@ +pipeline { + agent any + tools { + maven "MAVEN3" + jdk "OracleJDK8" + } + + stages { + stage('Fetch code') { + steps { + git branch: 'vp-rem', url: 'https://github.com/devopshydclub/vprofile-repo.git' + } + + } + + stage('Build'){ + steps{ + sh 'mvn install -DskipTests' + } + + post { + success { + echo 'Now Archiving it...' + archiveArtifacts artifacts: '**/target/*.war' + } + } + } + + stage('UNIT TEST') { + steps{ + sh 'mvn test' + } + } + } +} \ No newline at end of file diff --git a/ddc-material-master/16.Python/Python-Scripts/Break And Continue.py b/ddc-material-master/16.Python/Python-Scripts/Break And Continue.py new file mode 100644 index 00000000..87ef915a --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/Break And Continue.py @@ -0,0 +1,20 @@ +# Break Statement +print("Break Statement") +for i in "DevOps": + print(i) + if i == "O": + print("Found my data.") + break +print("Out of loop") + +print() +print() +print("Continue Statement") +# Continue Statement +for i in "DevOps": + if i == "O": + print("Found my data.") + continue + print(f"Value of i is {i}") + +print("Out of loop") \ No newline at end of file diff --git a/ddc-material-master/16.Python/Python-Scripts/Break Exxample.py b/ddc-material-master/16.Python/Python-Scripts/Break Exxample.py new file mode 100644 index 00000000..f662ab70 --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/Break Exxample.py @@ -0,0 +1,21 @@ +import random +VACCINES = ["Moderna", "Pfizer", "Sputnik v", "Covaxin", "AstraZeneca", "CoronaVac"] + +random.shuffle(VACCINES) +print(VACCINES) + +LUCKY = random.choice(VACCINES) +print(LUCKY) + +for vac in VACCINES: + print(f"******TESTING VACCINE {vac}") + if vac == LUCKY: + print("###################################") + print(f"{LUCKY} Vaccine, Test SUCCESSFUL") + print("###################################") + print() + break + print("XXXXXXXXXXXX") + print("Test Failed") + print("XXXXXXXXXXXX") + print() \ No newline at end of file diff --git a/ddc-material-master/16.Python/Python-Scripts/Built-in Methods.py b/ddc-material-master/16.Python/Python-Scripts/Built-in Methods.py new file mode 100644 index 00000000..dc61881e --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/Built-in Methods.py @@ -0,0 +1,57 @@ +# String Build in Methods/Functions +""" +message = "corona vaccine is ready to use, most of them are more than 90% effective." +print(message) +print(message.capitalize()) +Message=message.capitalize() +print(Message) + + +# dir() function +print(dir("")) +print(dir([])) +print(dir(())) +print(dir({})) + + +print(message.upper()) +print(message.islower()) +print(message.isupper()) + +print(message.find("ready")) +print(message[18:24]) +print(message.find("not")) + + +seq1= ("192","168","40","90") +print(".".join(seq1)) +print("/".join(seq1)) +print("-".join(seq1)) + + +mountains = ["Everest", "Himalaya", "Sahyadri", "Alps", "K2", "Mt Hood"] +print(mountains) + +mountains.append("Oregon mount") +print(mountains) + +mountains.extend(["Mt Rainer", "Satpuda"]) +print(mountains) + +mountains.insert(2,"Mt Abu") +print(mountains) + +mountains.pop() +mountains.pop() +mountains.pop() +print(mountains) +mountains.pop(5) +print(mountains) + +cntr_emp1 = {"Name":"Santa", "Skill":"Blockchain", "Code":1024} +print(cntr_emp1.keys()) +print(cntr_emp1.values()) +cntr_emp1.clear() +print(cntr_emp1) +cntr_emp1. +""" diff --git a/ddc-material-master/16.Python/Python-Scripts/Condition_vars.py b/ddc-material-master/16.Python/Python-Scripts/Condition_vars.py new file mode 100644 index 00000000..e937063e --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/Condition_vars.py @@ -0,0 +1,27 @@ +""" +This script will implement our knowledge on +conditions and different datatypes. +""" +print("This IT Organization has various skill sets.") +print("Find out your match.") + +print("Enter Capitalised Values: ") + +DevOps = ["Jenkins", "Ansible", "Bash", "Python", "Puppet", "Dockers", "Kubernetes", "Terraform"] +Development = ("Nodejs", "Angularjs", "Java", ".net", "Python") +cntr_emp1 = {"Name":"Santa", "Skill":"Blockchain", "Code":1024} +cntr_emp2 = {"Name":"Rocky", "Skill":"AI", "Code":1218} + +usr_skill = input("Enter your desired skill: ") +#print(usr_skill) + +# Check in the database if we have this skill +if usr_skill in DevOps: + print(f"We Have {usr_skill} in DevOps Team.") +elif (usr_skill in Development): + print(f"We have {usr_skill} in Development Team.") +elif (usr_skill in cntr_emp1.values()) or (usr_skill in cntr_emp2.values()): + print(f"We have contract employees with {usr_skill} skill.") +else: + print("Skill not found") + print("Please check if you have entered value in capitalize or check the spelling.") \ No newline at end of file diff --git a/ddc-material-master/16.Python/Python-Scripts/Conditions.py b/ddc-material-master/16.Python/Python-Scripts/Conditions.py new file mode 100644 index 00000000..e2d58816 --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/Conditions.py @@ -0,0 +1,39 @@ +# IF Condition +""" +x = 21 + +if x < 30: + print("Inside IF block") + print("X is less than 30") + +print("Rest of the code.") + +x = 31 + +if x < 30: + print("Inside IF block") + print("X is less than 30") + +print("Rest of the code.") + + +# If/Else Condition +x = 31 + +if x < 30: + print("Inside of block") + print("X is less than 30") +else: + print("Inside else block") + print("x is greater than 30") + +""" +# If/Elif/Else Condition +x = 40 + +if x > 40: + print("X is greater than 40") +elif x == 40: + print("X is equal to 40") +else: + print("X is less than 40") diff --git a/ddc-material-master/16.Python/Python-Scripts/Continue Example.py b/ddc-material-master/16.Python/Python-Scripts/Continue Example.py new file mode 100644 index 00000000..d3d4170f --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/Continue Example.py @@ -0,0 +1,21 @@ +import random +VACCINES = ["Moderna", "Pfizer", "Sputnik v", "Covaxin", "AstraZeneca", "CoronaVac"] + +random.shuffle(VACCINES) +print(VACCINES) + +LUCKY = random.choice(VACCINES) +print(LUCKY) + +for vac in VACCINES: + print(f"******TESTING VACCINE {vac}") + if vac == LUCKY: + print("###################################") + print(f"{LUCKY} Vaccine, Test SUCCESSFUL") + print("###################################") + print() + continue + print("XXXXXXXXXXXX") + print("Test Failed") + print("XXXXXXXXXXXX") + print() \ No newline at end of file diff --git a/ddc-material-master/16.Python/Python-Scripts/Dataypes.py b/ddc-material-master/16.Python/Python-Scripts/Dataypes.py new file mode 100644 index 00000000..a895a417 --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/Dataypes.py @@ -0,0 +1,42 @@ +# String's +str1 = "alpha" +str2 = 'beta' +str3 = '''gamma string''' +str4 = """delta string""" + +# Numbers +num1 = 123 +flt1 = 2.0 + +# List / Collection of multi datatype, enclosed in square brackets. +first_list = [str1, "DevOps", 47, num1, 1.5] + +# Printing a List +print(first_list) + +# Tuple/ Collection of multi datatype, enclosed in round bracket +first_tuple = (str1, "DevOps", 47, num1, 1.5) + +# Printing a tuple +print(first_tuple) + +# Dictionary/ Elements in the dictionary are always in pairs(Key:Value), curly brackets. +first_dictionary = {"Name":"Imran", "Weight":75, "Exercises":["Boxing", "Dancing", "Jogging"]} + +# Printing a Dictionary +print(first_dictionary) + +print("Variable first_list is a:", type(first_list)) +print("Variable first_tuple is a:", type(first_tuple)) +print("Variable first_dictionary is a:", type(first_dictionary)) + +# Boolean +x = True +y = False + +# Printing Boolean +print(x) +print(y) + +print("x is a ", type(x)) +print("y is a ", type(y)) \ No newline at end of file diff --git a/ddc-material-master/16.Python/Python-Scripts/Functions.py b/ddc-material-master/16.Python/Python-Scripts/Functions.py new file mode 100644 index 00000000..bd348eb4 --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/Functions.py @@ -0,0 +1,41 @@ +# Defining Function +""" +def add(arg1, arg2): + total = arg1 + arg2 + return total + + +out = add(2, 3) +print(out) + + +def adder(arg1, arg2): + total = arg1 + arg2 + print(total) + +adder(10,50) +print(adder(10, 50)) +""" + + +def summ(arg): + x = 0 + for i in arg: + x = x + i + return x + + +#out = summ([10, 20, 30]) +#print(out) + +#summ([10,20],[30,50]) + +# Default Argument +def greetings(MSG="Morning"): + print(f"Good {MSG}") + print("Welcome to the function.") + + +greetings() +greetings("Evening") + diff --git a/ddc-material-master/16.Python/Python-Scripts/Functions2.py b/ddc-material-master/16.Python/Python-Scripts/Functions2.py new file mode 100644 index 00000000..db72a46d --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/Functions2.py @@ -0,0 +1,15 @@ +# Keywords arguments +def vac_feedback(vac, efficacy): + print(f"{vac} Vaccine is having {efficacy} % efficacy.") + if (efficacy > 50) and (efficacy <= 75): + print("Seems not so effective, Needs more trial.") + elif (efficacy > 75) and (efficacy < 90): + print("Can consider this vaccine.") + elif efficacy >= 90: + print("Sure, will take the shot.") + else: + print("Needs many more trials.") + +#vac_feedback("Pfizer", 95) +#vac_feedback("Unknown", 45) +vac_feedback(efficacy=34, vac="Unknown") \ No newline at end of file diff --git a/ddc-material-master/16.Python/Python-Scripts/Learn-JSON.json b/ddc-material-master/16.Python/Python-Scripts/Learn-JSON.json new file mode 100644 index 00000000..044bdf25 --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/Learn-JSON.json @@ -0,0 +1,39 @@ +Python Dictionary +{"DevOps": [,"AWS", "Jenkins", "Python", "Ansible"], "Development": ["Java", "NodeJS", ".net"], "ansible_facts": { "python": "/usr/bin/python" }} + +JSON +{ + "DevOps": + [ + "AWS", + "Jenkins", + "Python", + "Ansible" + ], + "Development": + [ + "Java", + "NodeJS", + ".net" + ], + "ansible_facts": + { + "python": "/usr/bin/python" + } +} + +YAML +DevOps: +- AWS +- Jenkins +- Python +- Ansible + +Development: +- Java +- NodeJS +- .net + +ansible_facts: + python: /usr/bin/python + version: 2.7 \ No newline at end of file diff --git a/ddc-material-master/16.Python/Python-Scripts/Loop2.py b/ddc-material-master/16.Python/Python-Scripts/Loop2.py new file mode 100644 index 00000000..ecc2a94f --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/Loop2.py @@ -0,0 +1,15 @@ +""" +VACCINES = ["Moderna", "Pfizer", "Sputnik v", "Covaxin", "AstraZeneca"] +for vac in VACCINES: + print("") + print("I would like to take a shot of ") + for i in vac: + print(i) +""" +import time +x = 2 +while True: + print("Value of X is:", x) + print("Looping") + x*=2 + time.sleep(1) \ No newline at end of file diff --git a/ddc-material-master/16.Python/Python-Scripts/Loops.py b/ddc-material-master/16.Python/Python-Scripts/Loops.py new file mode 100644 index 00000000..0c666b22 --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/Loops.py @@ -0,0 +1,26 @@ +# For Loop +""" +PLANET = "Earth" +for i in PLANET: + print("Value if i is now ",i) + +print("Rest of the code.") + +VACCINES = ("Moderna", "Pfizer", "Sputnik v", "Covaxin", "AstraZeneca") + +for vac in VACCINES: + print(f"{vac} vaccine provides Immunization against covid19") + +VACCINES = ["Moderna", "Pfizer", "Sputnik v", "Covaxin", "AstraZeneca"] + +for vac in VACCINES: + print(f"{vac} vaccine provides Immunization against covid19") +""" +# While Loop +x = 0 +while x <= 10: + print("Value of X is:", x) + print("Looping") + x+=1 + +print("Rest of the code.") \ No newline at end of file diff --git a/ddc-material-master/16.Python/Python-Scripts/Operators.py b/ddc-material-master/16.Python/Python-Scripts/Operators.py new file mode 100644 index 00000000..ad160961 --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/Operators.py @@ -0,0 +1,108 @@ +# Arithmetic Operators +x = 2 +y = 7 + +total = x + y +print(total) + +total = x - y +print(total) + +total = x * y +print(total) + +total = y/x +print(total) + +total = y % x +print(total) + +total = y**x +print(total) + +# Comparison Operators + +a = 30 +b = 60 + +out = (a < b) +print(out) + + +out = (a > b) +print(out) + +out = (a == b) +print(out) + +out = (a != b) +print(out) + +out = (a >= b) +print(out) + +out = (a <= b) +print(out) + +# Assignment Operators + +c = 0 +d = 1 + +#c+=d # c = c+d + +print(c) + +c-=d # c = c-d +print(c) + +# Logical Operators + +# and +# or + +a = 40 +b = 60 + +x = 2 +y = 3 + +out = (a < b) or (x > y) +print(out) + +out = (a > b) or (x < y) +print(out) + +out = (a > b) or (x > y) +print(out) + +out = (a > b) and (x < y) +print(out) + +out = (a < b) and (x < y) +print(out) + +out = not(x < y) +print(out) + +# Membership Operator + +first_tuple = ("IOT", "DevOps", 47, 89, 1.5) +ans = "DevOps" in first_tuple +print(ans) + +ans = "DevOps" not in first_tuple +print(ans) + +ans = 67 not in first_tuple +print(ans) + +# Identity Operators +a = 12 +b = 15 + +result = a is b +print(result) + +result = a is not b +print(result) \ No newline at end of file diff --git a/ddc-material-master/16.Python/Python-Scripts/Playbook.YAML b/ddc-material-master/16.Python/Python-Scripts/Playbook.YAML new file mode 100644 index 00000000..fddf8dac --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/Playbook.YAML @@ -0,0 +1,16 @@ +- hosts: websrvgrp + tasks: + - name: Install Apache + yum: + name: httpd + state: latest + - name: Deploy Config + copy: + src: file/httpd.conf + dest: /etc/httpd.conf +- hosts: dbsrvgrp + tasks: + - name: Install Postgresql + yum: + name: postgresql + state: latest \ No newline at end of file diff --git a/ddc-material-master/16.Python/Python-Scripts/Printing.py b/ddc-material-master/16.Python/Python-Scripts/Printing.py new file mode 100644 index 00000000..2764dfcb --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/Printing.py @@ -0,0 +1,14 @@ +name="sars_cov_2" +disease="covid19" + +print("The name os virus is ", name) +print("The name of virus is {}".format(name)) + +print("{} is the name of virus.".format(name)) + +print("The name of virus is {} and it causes {}".format(name, disease)) + +print(f"The name of virus is {name} and it causes {disease}") + +# Concatenation +print("The name of virus is" + " " + name) diff --git a/ddc-material-master/16.Python/Python-Scripts/QuotesAndComments.py b/ddc-material-master/16.Python/Python-Scripts/QuotesAndComments.py new file mode 100644 index 00000000..7e1e783f --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/QuotesAndComments.py @@ -0,0 +1,31 @@ +# This is a single line comment + +""" +This is a multi line comment. +Its is double quotes(thrice) +""" + +''' +This is a multi line comment. +Its is single quotes(thrice) +''' + +skill = "DevOps" +print("skill") +print('skill') +print(skill) + +print(""" +This is a paragraph string, +This is the second line of the paragraph, +third line +""") + +print(''' +This is a paragraph string, +This is the second line of the paragraph, +third line +''') + +#print(this is a text) +print("this is a text") diff --git a/ddc-material-master/16.Python/Python-Scripts/Slicing.py b/ddc-material-master/16.Python/Python-Scripts/Slicing.py new file mode 100644 index 00000000..ed1c04ed --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/Slicing.py @@ -0,0 +1,52 @@ +planet1="Closest of Sun" +print(planet1) +""" +print(planet1[0]) +print(planet1[1]) +print(planet1[2]) + +print(planet1[-1]) +print(planet1[-2]) +print(planet1[-3]) + +# Slicing a string, get a substring from a string +print(planet1[1:4]) +print(planet1[:]) +print(planet1[:7]) +print(planet1[11:]) + +# Slicing Tuple +devops=("Linux", "Vagrant", "Bash Scripting", "AWS", "Jenkins", "Python", "Ansible") +print(devops[0]) +print(devops[4]) +print(devops[-1]) + +print(devops[2:5]) +print(devops[2:5][0]) + +print(devops[2:5][0][5:11]) +print(devops[2:5][0][5:11][-1]) + +# Slicing List +devops=["Linux", "Vagrant", "Bash Scripting", "AWS", "Jenkins", "Python", "Ansible"] +print(devops[0]) +print(devops[4]) +print(devops[-1]) + +print(devops[2:5]) +print(devops[2:5][0]) + + + +print(devops[2:5][0][5:11]) +print(devops[2:5][0][5:11][-1]) +""" + +# Dictionary Example +Skills = {"DevOps": ("AWS", "Jenkins", "Python", "Ansible"), "Development": ["Java", "NodeJS", ".net"]} +print(Skills) +print(Skills["DevOps"]) +print(Skills["Development"]) + +print(Skills["DevOps"][-1]) +print(Skills["DevOps"][-1][:3]) diff --git a/ddc-material-master/16.Python/Python-Scripts/Vagrantfile b/ddc-material-master/16.Python/Python-Scripts/Vagrantfile new file mode 100644 index 00000000..9ba72c12 --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/Vagrantfile @@ -0,0 +1,25 @@ +Vagrant.configure("2") do |config| + + config.vm.define "scriptbox" do |scriptbox| + scriptbox.vm.box = "ubuntu/bionic64" + scriptbox.vm.hostname = "scriptbox" + scriptbox.vm.network "private_network", ip: "192.168.10.2" + end + + config.vm.define "web01" do |web01| + web01.vm.box = "centos/7" + web01.vm.hostname = "web01" + web01.vm.network "private_network", ip: "192.168.10.3" + web01.vm.provider "virtualbox" do |vb| + vb.memory = "1024" + vb.cpus = 2 + end + end + + config.vm.define "web02" do |web02| + web02.vm.box = "centos/7" + web02.vm.hostname = "web02" + web02.vm.network "private_network", ip: "192.168.10.4" + end + +end diff --git a/ddc-material-master/16.Python/Python-Scripts/Variable Lenght Arguments.py b/ddc-material-master/16.Python/Python-Scripts/Variable Lenght Arguments.py new file mode 100644 index 00000000..63ba7c7d --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/Variable Lenght Arguments.py @@ -0,0 +1,11 @@ +# Variable Length Arguments *args (Non keyword Arguments) +def order_food(min_order, *args): + print(f"You have ordered: {min_order}") +# print(args) + for item in args: + print(f"You have ordered: {item}") + print("Your food will be delivered in 30 mins:") + print("Enjoy the party") + +order_food("Salad", "Pizza", "Biryani", "Soup") + diff --git a/ddc-material-master/16.Python/Python-Scripts/Variables.py b/ddc-material-master/16.Python/Python-Scripts/Variables.py new file mode 100644 index 00000000..d040d130 --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/Variables.py @@ -0,0 +1,30 @@ +# Variable Assignments +var1 = "Python" # STRING +var2 = 75 # Integer +var3 = 3.5 # Float + +# Printing Variables +print(var1) +print(var2) +print(var3) + +# Multiple assignments +a = b = c = 65 + +print(a) +print(b) +print(c) + +# Multiple Values assigned to Multiple Variables +w, x, y, z = "alpha", "beta", 12, 5.4 + +# Printing Variables +print("Variable w value is ", w) +print("Variable x value is ", x) +print("Variable y value is ", y) +print("Variable z value is ", z) + +print("Variable w is ", type(w)) +print("Variable x is ", type(x)) +print("Variable y is ", type(y)) +print("Variable z is ", type(z)) diff --git a/ddc-material-master/16.Python/Python-Scripts/bash-sytax.sh b/ddc-material-master/16.Python/Python-Scripts/bash-sytax.sh new file mode 100644 index 00000000..5e7b9c68 --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/bash-sytax.sh @@ -0,0 +1,16 @@ +x=0 + +echo "Learning Indentation" +echo + +if [ $x -eq 0 ] +then + echo "In the If Block." + echo "Value of x is 0" +else + echo "In the else block." +echo "Value of x is non zero" +fi + + echo + echo "This statement is out of if/else block." diff --git a/ddc-material-master/16.Python/Python-Scripts/call-modern-2.py b/ddc-material-master/16.Python/Python-Scripts/call-modern-2.py new file mode 100644 index 00000000..9d09cb8f --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/call-modern-2.py @@ -0,0 +1,5 @@ +from modern import * + +order_food("Pizza") +vac_feedback(efficacy=34, vac="Unknown") +time_activity(10, 20, 10, hobby="Dance", sport="Boxing", fun="Driving", work="DevOps") \ No newline at end of file diff --git a/ddc-material-master/16.Python/Python-Scripts/call-modern.py b/ddc-material-master/16.Python/Python-Scripts/call-modern.py new file mode 100644 index 00000000..bba7e2cd --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/call-modern.py @@ -0,0 +1,6 @@ +import modern +#print(dir(modern)) + +modern.order_food("Salad", "Pizza", "Biryani", "Soup") +modern.vac_feedback(efficacy=34, vac="Unknown") +modern.time_activity(10, 20, 10, hobby="Dance", sport="Boxing", fun="Driving", work="DevOps") \ No newline at end of file diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/css/tooplate-wave-cafe.css b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/css/tooplate-wave-cafe.css new file mode 100644 index 00000000..66324312 --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/css/tooplate-wave-cafe.css @@ -0,0 +1,361 @@ +/* + +Tooplate 2121 Wave Cafe + +https://www.tooplate.com/view/2121-wave-cafe + +*/ + +html { scroll-behavior: smooth; } + +body { + margin: 0; + padding: 0; + font-family: 'Open Sans', Arial, Helvetica, sans-serif; + font-size: 18px; + overflow-x: hidden; + background-color: #1E5050; +} + +ul { + padding: 0; + margin: 0; +} + +nav > ul > li { list-style: none; } + +a { + color: #3CF; + text-decoration: none; + transition: all 0.3s ease; +} + +p { + line-height: 1.8; + margin-top: 0; +} + +h2 { margin-top: 0; } + +#tm-video { + position: fixed; + right: 0; + bottom: 0; + z-index: -1000; +} + +.tm-video-wrapper { position: relative; } + +#tm-video-control-button { + cursor: pointer; + position: fixed; + bottom: 30px; + right: 30px; + z-index: 1000; + background-color: rgba(0,0,0,0.5); + color: white; + padding: 10px; +} + +.tm-container { padding: 30px; } + +.tm-row { + display: flex; + justify-content: space-between; +} + +.tm-left, +.tm-right { + width: 50%; +} + +.tm-left-inner { position: fixed; } + +.tm-site-header { + background-color: white; + color: #099; + width: 100%; + height: 160px; + display: flex; + align-items: center; + justify-content: center; +} + +.tm-site-logo { margin-right: 30px; } + +.tm-site-name { + font-size: 2.2rem; + font-style: italic; +} + +.tm-left-inner { + max-width: 500px; + width: 100%; +} + +.tm-site-nav-ul { + display: flex; + flex-wrap: wrap; + justify-content: space-between; +} + +.tm-page-nav-item { margin-top: 20px; } + +.tm-page-link { + min-width: 240px; + height: 100px; + background-color: white; + color: #099; + display: flex; + text-decoration: none; + align-items: center; + font-size: 1.2rem; +} + +.tm-page-link:hover, +.tm-page-link.active { + background-color: #099; + color: white; +} + +.tm-page-link-icon { + margin-right: 25px; + margin-left: 25px; + font-size: 1.5rem; +} + +.tm-black-bg { + background-color: rgba(0,0,0,0.6); + color: white; +} + +.tm-drinks-nav > ul > li { display: inline-block; } + +.tm-drinks-nav > ul > li > a { + color: white; + font-size: 1.2rem; + padding-top: 15px; + padding-bottom: 5px; + border-bottom: 3px solid transparent; +} + +.tm-drinks-nav { height: 80px; } +.tm-main { max-width: 660px; } + +.tm-drinks-nav > ul { + display: flex; + align-items: center; + justify-content: space-around; + height: 100%; +} + +.tm-drinks-nav > ul > li a.active, +.tm-drinks-nav > ul > li a:hover { + color: #96FEFF; + border-bottom: 4px solid #96FEFF; +} + +.tm-list-item { + display: flex; + align-items: center; + justify-content: space-between; + margin-top: 20px; +} + +.tm-list-item-2 { align-items: flex-start; } + +.tm-list-item-img { + margin-right: 20px; + width: 160px; + height: 160px; + background-color: #099; +} + +.tm-list-item-img-big { + margin-right: 25px; + width: 200px; + height: 200px; +} + +.tm-list-item-text { + padding: 20px 25px; + flex: 1; +} + +.tm-list-item-text-2 { flex: 1; } + +.tm-list-item-name { + display: flex; + justify-content: space-between; + margin-top: 0; +} + +.tm-list-item-price { color: #96FEFF; } +.tm-site-footer { margin-top: 15px; } + +.tm-footer-text { + padding: 10px 65px 10px 20px; + display: inline-block; +} + +.tm-footer-link { color: white; } +.tm-tab-content { animation: fadeEffect 1s; } +.tm-page-content { animation: fadeEffect 1s; } + +.tm-text-primary { color: #3CC; } +.tm-mb-20 { margin-bottom: 20px; } +.tm-mb-30 { margin-bottom: 30px; } +.tm-img-right { + margin-left: 30px; + margin-right: 0; +} + +/* Go from zero to full opacity */ +@keyframes fadeEffect { + from { opacity: 0.3; } + to { opacity: 1; } +} + +/* About */ +.tm-about-box-1 { padding: 40px 30px 50px 0; } +.tm-about-box-2 { padding: 50px 40px 30px; } +.tm-about-header { margin-left: 220px; } + +/* Special */ +.tm-special-items { + display: flex; + flex-wrap: wrap; + margin: -30px -10px 0; +} + +.tm-special-item { + max-width: 320px; + margin: 30px 10px; +} + +.tm-special-item-title { font-size: 1.4rem; } +.tm-special-item-description { padding: 25px 30px; } + +/* Contact */ +.tm-contact-text-container { + padding: 45px 50px; + margin-bottom: 20px; +} + +.tm-contact-form-container { + max-width: 460px; + padding: 40px 50px; + box-sizing: border-box; +} + +.tm-form-group { margin-bottom: 25px; } + +.tm-form-control { + display: block; + box-sizing: border-box; + width: 100%; + padding: 15px; + font-family: 'Open Sans', Arial, Helvetica, sans-serif; + font-size: 1rem; + line-height: 1.5; + color: #fff; + background-color: transparent; + background-clip: padding-box; + border: 0; + border-bottom: 1px solid white; +} + +.tm-form-control::-webkit-input-placeholder { color: white; } /* Edge */ +.tm-form-control:-ms-input-placeholder { color: white; } /* Internet Explorer 10-11 */ +.tm-form-control::placeholder { color: white; } + +.tm-btn-primary { + color: #099; + background-color: white; + border: 0; + padding: 12px 40px; + font-size: 1.4rem; + cursor: pointer; + transition: all 0.3s ease; +} + +.tm-btn-primary:hover { + color: white; + background-color: #099; +} + +.tm-align-right { + display: block; + margin-left: auto; + margin-right: 0; +} + +.tm-mb-30 { margin-bottom: 30px; } + +@media (max-width: 1130px) and (min-width: 992px) { + .tm-left-inner { max-width: 380px; } + .tm-site-name { font-size: 2.6rem; } + .tm-site-logo { margin-right: 20px; } + .tm-page-link { width: 100%; } + .tm-page-link-icon { margin-right: 15px; } + .tm-left { width: 45%; } + .tm-right { width: 55%; } +} + +@media (max-width: 991px) { + .tm-left-inner { position: static; } + .tm-left, .tm-right { width: 100%; } + .tm-left { margin-bottom: 50px; } + .tm-row { display: block; } +} + +@media (max-width: 574px) { + .tm-site-nav-ul { display: block; } +} + +@media (max-width: 550px) and (min-width: 501px) { + .tm-list-item-img-big { + width: 160px; + height: 160px; + } + + .tm-about-header { margin-left: 180px; } +} + +@media (max-width: 500px) { + .tm-about-header { margin-left: 0; } + .tm-list-item-2 { flex-direction: column; } + .tm-about-box-1 { padding-left: 30px; } + + .tm-list-item-img-big { + margin-right: 0; + margin-bottom: 25px; + } + + .tm-img-right { margin-left: 0; } +} + +@media (max-width: 479px) { + .tm-site-name { font-size: 2.6rem; } + .tm-site-logo { margin-right: 20px; } + + .tm-list-item { + flex-direction: column; + margin-top: 40px; + } + + .tm-list-item-img { + margin-right: 0; + margin-bottom: 15px; + } + + .tm-drinks-nav { height: auto; } + + .tm-drinks-nav > ul { + flex-direction: column; + padding: 15px; + } + + .tm-drinks-nav > ul > li { margin-bottom: 10px; } + .tm-drinks-nav > ul > li > a { display: block; } +} \ No newline at end of file diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/LICENSE.txt b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/LICENSE.txt new file mode 100644 index 00000000..f31bef92 --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/LICENSE.txt @@ -0,0 +1,34 @@ +Font Awesome Free License +------------------------- + +Font Awesome Free is free, open source, and GPL friendly. You can use it for +commercial projects, open source projects, or really almost whatever you want. +Full Font Awesome Free license: https://fontawesome.com/license/free. + +# Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/) +In the Font Awesome Free download, the CC BY 4.0 license applies to all icons +packaged as SVG and JS file types. + +# Fonts: SIL OFL 1.1 License (https://scripts.sil.org/OFL) +In the Font Awesome Free download, the SIL OFL license applies to all icons +packaged as web and desktop font files. + +# Code: MIT License (https://opensource.org/licenses/MIT) +In the Font Awesome Free download, the MIT license applies to all non-font and +non-icon files. + +# Attribution +Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font +Awesome Free files already contain embedded comments with sufficient +attribution, so you shouldn't need to do anything additional when using these +files normally. + +We've kept attribution comments terse, so we ask that you do not actively work +to remove them from files, especially code. They're a great way for folks to +learn about Font Awesome. + +# Brand Icons +All brand icons are trademarks of their respective owners. The use of these +trademarks does not indicate endorsement of the trademark holder by Font +Awesome, nor vice versa. **Please do not use brand logos for any purpose except +to represent the company, product, or service to which they refer.** diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/css/all.min.css b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/css/all.min.css new file mode 100644 index 00000000..3d28ab20 --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/css/all.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adobe:before{content:"\f778"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\f95b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\f952"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\f905"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\f907"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\f95c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\f95d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\f95e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\f95f"}.fa-handshake-slash:before{content:"\f960"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\f961"}.fa-head-side-cough-slash:before{content:"\f962"}.fa-head-side-mask:before{content:"\f963"}.fa-head-side-virus:before{content:"\f964"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\f965"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\f913"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\f955"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\f966"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\f967"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\f91a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\f956"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\f968"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\f91e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\f969"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\f96a"}.fa-pump-soap:before{content:"\f96b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\f96c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\f957"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\f96e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\f96f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\f970"}.fa-store-slash:before{content:"\f971"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\f972"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\f941"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\f949"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\f974"}.fa-virus-slash:before{content:"\f975"}.fa-viruses:before{content:"\f976"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.fab,.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900} \ No newline at end of file diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-brands-400.eot b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-brands-400.eot new file mode 100644 index 00000000..a1bc094a Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-brands-400.eot differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-brands-400.svg b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-brands-400.svg new file mode 100644 index 00000000..46ad237a --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-brands-400.svg @@ -0,0 +1,3570 @@ + + + + + +Created by FontForge 20190801 at Mon Mar 23 10:45:51 2020 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-brands-400.ttf b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-brands-400.ttf new file mode 100644 index 00000000..948a2a6c Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-brands-400.ttf differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-brands-400.woff b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-brands-400.woff new file mode 100644 index 00000000..2a89d521 Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-brands-400.woff differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-brands-400.woff2 b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-brands-400.woff2 new file mode 100644 index 00000000..141a90a9 Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-brands-400.woff2 differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-regular-400.eot b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-regular-400.eot new file mode 100644 index 00000000..38cf2517 Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-regular-400.eot differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-regular-400.svg b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-regular-400.svg new file mode 100644 index 00000000..48634a9a --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-regular-400.svg @@ -0,0 +1,803 @@ + + + + + +Created by FontForge 20190801 at Mon Mar 23 10:45:51 2020 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-regular-400.ttf b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-regular-400.ttf new file mode 100644 index 00000000..abe99e20 Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-regular-400.ttf differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-regular-400.woff b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-regular-400.woff new file mode 100644 index 00000000..24de566a Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-regular-400.woff differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-regular-400.woff2 b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-regular-400.woff2 new file mode 100644 index 00000000..7e0118e5 Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-regular-400.woff2 differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-solid-900.eot b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-solid-900.eot new file mode 100644 index 00000000..d3b77c22 Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-solid-900.eot differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-solid-900.svg b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-solid-900.svg new file mode 100644 index 00000000..7742838b --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-solid-900.svg @@ -0,0 +1,4938 @@ + + + + + +Created by FontForge 20190801 at Mon Mar 23 10:45:51 2020 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-solid-900.ttf b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-solid-900.ttf new file mode 100644 index 00000000..5b979039 Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-solid-900.ttf differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-solid-900.woff b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-solid-900.woff new file mode 100644 index 00000000..beec7917 Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-solid-900.woff differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-solid-900.woff2 b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-solid-900.woff2 new file mode 100644 index 00000000..978a681a Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/fontawesome/webfonts/fa-solid-900.woff2 differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/about-1.png b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/about-1.png new file mode 100644 index 00000000..cbea0f1a Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/about-1.png differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/about-2.png b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/about-2.png new file mode 100644 index 00000000..1a5033ee Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/about-2.png differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/hot-americano.png b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/hot-americano.png new file mode 100644 index 00000000..93951f28 Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/hot-americano.png differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/hot-cappuccino.png b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/hot-cappuccino.png new file mode 100644 index 00000000..0c0e84b0 Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/hot-cappuccino.png differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/hot-espresso.png b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/hot-espresso.png new file mode 100644 index 00000000..df07265a Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/hot-espresso.png differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/hot-latte.png b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/hot-latte.png new file mode 100644 index 00000000..a3689789 Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/hot-latte.png differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/iced-americano.png b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/iced-americano.png new file mode 100644 index 00000000..0405b73f Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/iced-americano.png differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/iced-cappuccino.png b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/iced-cappuccino.png new file mode 100644 index 00000000..359d81f4 Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/iced-cappuccino.png differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/iced-espresso.png b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/iced-espresso.png new file mode 100644 index 00000000..645681ef Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/iced-espresso.png differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/iced-latte.png b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/iced-latte.png new file mode 100644 index 00000000..fedc0436 Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/iced-latte.png differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/smoothie-1.png b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/smoothie-1.png new file mode 100644 index 00000000..96fff142 Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/smoothie-1.png differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/smoothie-2.png b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/smoothie-2.png new file mode 100644 index 00000000..d2755e27 Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/smoothie-2.png differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/smoothie-3.png b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/smoothie-3.png new file mode 100644 index 00000000..9444cf89 Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/smoothie-3.png differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/smoothie-4.png b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/smoothie-4.png new file mode 100644 index 00000000..54206f11 Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/smoothie-4.png differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/special-01.jpg b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/special-01.jpg new file mode 100644 index 00000000..03fa3783 Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/special-01.jpg differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/special-02.jpg b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/special-02.jpg new file mode 100644 index 00000000..2f8409f8 Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/special-02.jpg differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/special-03.jpg b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/special-03.jpg new file mode 100644 index 00000000..e79e64bb Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/special-03.jpg differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/special-04.jpg b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/special-04.jpg new file mode 100644 index 00000000..f87f3357 Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/special-04.jpg differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/special-05.jpg b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/special-05.jpg new file mode 100644 index 00000000..70e6552f Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/special-05.jpg differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/special-06.jpg b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/special-06.jpg new file mode 100644 index 00000000..338c692a Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/img/special-06.jpg differ diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/index.html b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/index.html new file mode 100644 index 00000000..57dca8c5 --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/index.html @@ -0,0 +1,400 @@ + + + + + + Wave Cafe HTML Template by Tooplate + + + + + + +
+
+ +
+
+
+ +

Wave Cafe

+
+ +
+
+
+
+
+ + + +
+
+
+ Image +
+

Iced Americano$10.25

+

Here is a short description for the first item. Wave Cafe Template is provided by Tooplate.

+
+
+
+ Image +
+

Iced Cappuccino$12.50

+

Here is a list of 4 items or add more. You can use this template for commercial purposes.

+
+
+
+ Image +
+

Iced Espresso$14.25

+

You are not permitted to redistribute this template ZIP file on any other template websites.

+
+
+
+ Image +
+

Iced Latte$11.50

+

Contents are organized into 3 tabs. Please contact Tooplate if you have anything to ask.

+
+
+ +
+
+ +
+
+ +
+ Image +
+

Hot Americano$8.50

+

Here is a short description for the item along with a squared thumbnail.

+
+
+
+ Image +
+

Hot Cappuccino$9.50

+

Here is a list of 4 items that can add more as you need. Only content area will be scrolling.

+
+
+
+ Image +
+

Hot Espresso$7.50

+

Left side logo and main menu are fixed. The video background is fixed.

+
+
+
+ Image +
+

Hot Latte$6.50

+

Page contents are organized into 3 tabs to show different lists of items.

+
+
+ +
+
+ +
+
+
+ Image +
+

Strawberry Smoothie$12.50

+

Here is a short description for the item along with a squared thumbnail.

+
+
+
+ Image +
+

Red Berry Smoothie$14.50

+

Here is a list of 4 items or add more. You can use this template for commercial purposes.

+
+
+
+ Image +
+

Pineapple Smoothie$16.50

+

Left side logo and main menu are fixed. The video background is fixed.

+
+
+
+ Image +
+

Spinach Smoothie$18.50

+

You are not allowed to redistribute the template ZIP file on other template sites.

+
+
+
+
+ +
+ + +
+
+

About Wave Cafe

+
+ Image +
+

Wave Cafe is a one-page video background HTML CSS template from Tooplate. You can use this for your business websites.

+

You can also use this for your client websites which you get paid for your website services. Please tell your friends about us.

+
+
+
+
+
+
+

How we began

+

If you wish to support us, please contact Tooplate. Thank you. Duis bibendum erat nec ipsum consectetur sodales.

+
+ Image +
+

Donec non urna elit. Quisque ut magna in dui mattis iaculis eu finibus metus. Suspendisse vel mi a lacus finibus vehicula vel ut diam. Nam pellentesque, mi quis ullamcorper.

+
+
+ + + +
+
+
+ Image +
+

Special One

+

Here is a short text description for the first special item. You are not allowed to redistribute this template ZIP file.

+
+
+
+ Image +
+

Second Item

+

You are allowed to download, modify and use this template for your commercial or non-commercial websites.

+
+
+
+ Image +
+

Third Special Item

+

Pellentesque in ultrices mi, quis mollis nulla. Quisque sed commodo est, quis tincidunt nunc.

+
+
+
+ Image +
+

Special Item Fourth

+

Vivamus finibus nulla sed metus sagittis, sed ultrices magna aliquam. Mauris fermentum.

+
+
+
+ Image +
+

Sixth Sense

+

Here is a short text description for sixth item. This text is four lines.

+
+
+
+ Image +
+

Seventh Item

+

Curabitur eget erat sit amet sapien aliquet vulputate quis sed arcu.

+
+
+
+
+ + + +
+
+

Contact Wave

+

Wave Cafe Template has a video background. You can use this layout for your websites. Please contact Tooplate's Facebook page. Tell your friends about our website.

+
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+ + +
+ + +
+ + + + + \ No newline at end of file diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/js/jquery-3.4.1.min.js b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/js/jquery-3.4.1.min.js new file mode 100644 index 00000000..07c00cd2 --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/fabric/2121_wave_cafe/js/jquery-3.4.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0?@^_`{|}~") + + def b85decode(b): + _b85dec = [None] * 256 + for i, c in enumerate(iterbytes(_b85alphabet)): + _b85dec[c] = i + + padding = (-len(b)) % 5 + b = b + b'~' * padding + out = [] + packI = struct.Struct('!I').pack + for i in range(0, len(b), 5): + chunk = b[i:i + 5] + acc = 0 + try: + for c in iterbytes(chunk): + acc = acc * 85 + _b85dec[c] + except TypeError: + for j, c in enumerate(iterbytes(chunk)): + if _b85dec[c] is None: + raise ValueError( + 'bad base85 character at position %d' % (i + j) + ) + raise + try: + out.append(packI(acc)) + except struct.error: + raise ValueError('base85 overflow in hunk starting at byte %d' + % i) + + result = b''.join(out) + if padding: + result = result[:-padding] + return result + + +def bootstrap(tmpdir=None): + # Import pip so we can use it to install pip and maybe setuptools too + from pip._internal.cli.main import main as pip_entry_point + from pip._internal.commands.install import InstallCommand + from pip._internal.req.constructors import install_req_from_line + + # Wrapper to provide default certificate with the lowest priority + # Due to pip._internal.commands.commands_dict structure, a monkeypatch + # seems the simplest workaround. + install_parse_args = InstallCommand.parse_args + def cert_parse_args(self, args): + # If cert isn't specified in config or environment, we provide our + # own certificate through defaults. + # This allows user to specify custom cert anywhere one likes: + # config, environment variable or argv. + if not self.parser.get_default_values().cert: + self.parser.defaults["cert"] = cert_path # calculated below + return install_parse_args(self, args) + InstallCommand.parse_args = cert_parse_args + + implicit_pip = True + implicit_setuptools = True + implicit_wheel = True + + # Check if the user has requested us not to install setuptools + if "--no-setuptools" in sys.argv or os.environ.get("PIP_NO_SETUPTOOLS"): + args = [x for x in sys.argv[1:] if x != "--no-setuptools"] + implicit_setuptools = False + else: + args = sys.argv[1:] + + # Check if the user has requested us not to install wheel + if "--no-wheel" in args or os.environ.get("PIP_NO_WHEEL"): + args = [x for x in args if x != "--no-wheel"] + implicit_wheel = False + + # We only want to implicitly install setuptools and wheel if they don't + # already exist on the target platform. + if implicit_setuptools: + try: + import setuptools # noqa + implicit_setuptools = False + except ImportError: + pass + if implicit_wheel: + try: + import wheel # noqa + implicit_wheel = False + except ImportError: + pass + + # We want to support people passing things like 'pip<8' to get-pip.py which + # will let them install a specific version. However because of the dreaded + # DoubleRequirement error if any of the args look like they might be a + # specific for one of our packages, then we'll turn off the implicit + # install of them. + for arg in args: + try: + req = install_req_from_line(arg) + except Exception: + continue + + if implicit_pip and req.name == "pip": + implicit_pip = False + elif implicit_setuptools and req.name == "setuptools": + implicit_setuptools = False + elif implicit_wheel and req.name == "wheel": + implicit_wheel = False + + # Add any implicit installations to the end of our args + if implicit_pip: + args += ["pip"] + if implicit_setuptools: + args += ["setuptools"] + if implicit_wheel: + args += ["wheel"] + + # Add our default arguments + args = ["install", "--upgrade", "--force-reinstall"] + args + + delete_tmpdir = False + try: + # Create a temporary directory to act as a working directory if we were + # not given one. + if tmpdir is None: + tmpdir = tempfile.mkdtemp() + delete_tmpdir = True + + # We need to extract the SSL certificates from requests so that they + # can be passed to --cert + cert_path = os.path.join(tmpdir, "cacert.pem") + with open(cert_path, "wb") as cert: + cert.write(pkgutil.get_data("pip._vendor.certifi", "cacert.pem")) + + # Execute the included pip and use it to install the latest pip and + # setuptools from PyPI + sys.exit(pip_entry_point(args)) + finally: + # Remove our temporary directory + if delete_tmpdir and tmpdir: + shutil.rmtree(tmpdir, ignore_errors=True) + + +def main(): + tmpdir = None + try: + # Create a temporary working directory + tmpdir = tempfile.mkdtemp() + + # Unpack the zipfile into the temporary directory + pip_zip = os.path.join(tmpdir, "pip.zip") + with open(pip_zip, "wb") as fp: + fp.write(b85decode(DATA.replace(b"\n", b""))) + + # Add the zipfile to sys.path so that we can import it + sys.path.insert(0, pip_zip) + + # Run the bootstrap + bootstrap(tmpdir=tmpdir) + finally: + # Clean up our temporary working directory + if tmpdir: + shutil.rmtree(tmpdir, ignore_errors=True) + + +DATA = b""" +P)h>@6aWAK2mq6MtBUtcb8d2NtyYr-%Phu`N@9Nmj4xO9l +HO>i(|e`H&gvAqzH5bae1Z4z?VNx%J4r5gi7-sG3#xx1$bt^#koRK_v}t4mq4DM@nUjopE%ybBEP%f( +VnUmmBg>f9C_o<} +CJ4)Qc90W9W61RSR7ahxNJ-SN9NCI2I;J^0_wz@oEd*V(_q-fwN@;6>7^+xBxXFY?@ZUC4oCw*g8wDM +4)Xjo=J)$@F|w+JU6GdkR$8pXaIx=duC7LG~F5A*BiNYRq7kB)5uH>QH_+|jP7n_H`$+{bK22zXuOLl +b>`F|XzwwcMhVDuu)pC^QeXT4P)h>@6aWAK2mq6s8^EeX~AToilV)A2_e6~zhOaP~KZvIOlqFiVW+60AOs)?J~q5l!-OgI;*jfY94W3Aib4Jnnk|YJ +*Ng1Ga|{kpv)l&^K>8SV(XV+<$mHY8?a{!1#G)Y63H$85<@-{DTbUDCucxV6x07;%M+|!-MO9j<0Wi# +11q;*wWw~Jk1&J^A7l0*oU_7=O4mXm1V;gv{y`K?W($dDS*GDs|`L>=UQy}+QW*VBSKu9lNGW7TF8+_ +>8{Ie!4j}^zf$g5NMG?#$r7JFwd*iFi`ae1M^!{C6|@<7hU2_kIGVf4lf-PN95Q{xc~)x +H)+yD7ZSTFu#C|(HBN!o}6m1}htb9MfmJk{*1|JR5!La3y^@g-eNlcIpg@K#xukcX$%OtzJ!59<8S&nG(}iY +;;Zg+|Wh1kV4`#XSvS-lI5dD<2OBf7?{$GQX$dFHlPZ1QY-O00;n+tx-{7Od3ur0RRB+0RR9Q0001RX +>c!JX>N37a&BR4FJE72ZfSI1UoLQYZIMq)!$1(l@B1l+_R>O4E`nOnOYt9S712W}C2W&PGm`ACGZQ7> +-fcn^q01hYVcwfJzojO4RtOZ5jGQ7nTPLkjEeW{~%rz6tTSjH;q;G{WIR9x)$-X(N(=L$P0S(SitCv- +_xVv6FWUueb<^A&37%GpH=LX{GUH>~g2PGfvXYfd(#+U+2Xe_yj<(*tEy~F7s9`BVnhsi;*-YeFkyxC +0Q1EnxDkKXUx7LgB&Q^&>7%CV%*Amoo~E`ZcCM4rXgCxJ$v9I43s91E8UOFy#RmzHl#}bdwR({V?k@J +@w~NK<;^N}no>e8est-)?dPnP)>?JM9h6}MfBalPy^z2RzO$E-q#>wrjX(NyWEYTr- +bc+F$b2{cP!TdlY#y+X%iR1+OYvpm<3P!L2B%pyhj3w3-I@+qbNeDTpa}yZO8}{o)a8S78EApz!`sMSiE!{O)$%JKmfamvM +YteFXiV41kw;32%z9!|=AQFs>e}29Dnq7Xpy8K7>`OD4C_07)!h|R?Ed`94-q=JOr-wz@$=sGW+9$?j +@advswHx-QuxIHGDqGCoV1VBVS}_5xj3mkB$1rlo$gLhl%R45 +gl%;qa^GMKX_&0bL8w7%#nM2K2Lg3*F)Sg}xEjEOdSp~BRQ0LmW_@gVl+B!H_sJr-8p-1Dpo9IRs +CBy6=b487wpI6uY{+bvcdGF4f3s(Q%Rzk<&U7NK%q3Yxc&h5;BQm&;Q*k{i2&hYwQQl%=;9 +AZZ=@A;2K!T}A49$?N(;Xp`S8V>wD1a4`tHm1r}x>_%`Y+8R(uVroic4ksRGkua^~lX!8t|$IphxBDaLHu +^N!OaCns*b<(z@R)T^maL|Vp5Qe^I(nDVDsSLrY3H)^mrg;NrRvBtGTZEzs4y$7d4S>U8mmL?pA(wmE +@*Vq)63JQ$&~tH=04yb7o}>*_Njz`?wD1TC${~;*WrHRHc=JLXmw;iYHxN55*PI2i_ojN8;Y;-8H_r? +ke~e@Sl`llHNV!x=!!Uac`1yYQiQ?bKguou~^zMEc00R{>sr4Fs1EdSQ(pB@eW1-K04;lI*2e1Iz-4i +SisXC$~gJ@xc<0q0&Zd563{L=>V1Qw4$ggw=!@i*Nx=}`cEXuHa^q$L)*kxPRh7_D_}YODent2T8+^@ +e-^ctUSc3f>rmBpM-5cU75Ghf_M@85GIJe4Kdiq1(R31bti(U_GZ1ttJ^PoYIBV**jch6vgxeL^xifx0)kJYwtI6-ZSd&E>%DlkCSsm95B +U5e2OUg}g!Ahhh9-1dgLP%+M&^;E@UEl7sSv`w$bW>cT%_?0KsD5sDXp-_?+qnv@?XFds$-0UqjeM1* +ON@OEH&1r+mI7jXB}!$<4^?!G>JyuG=({c?Zx`TqLhs$WwSZb9!mQd2>^^Vh8-yecz~$Xc+}`}ULwXh +ZCW*pz#9KwAp9rB%Xd&BuAU337FR2e@qpLWF`v)kZ?&G<$GtUc`YCj$X*vct +f)Z|Z8nYN@)$FN6_JET@BzMpQ`XDjrF+5U<9#;w{VO&k9le1?0tsL5aPJe0of2`S912urZ5)*Pt`-;m +H;q$t$%V-Dr1jFhsZ#ogsV+>S|kRur28wv15RR9)Qqmz)s_r +KU}5EMRhT_voD7V^s2d?iN0Q{f!RP}H%0Si1m@1;WtkUF9h`nI2;ZpD#6E~V!~Lbz^GVw_LaJZ|3*Dh +G-fK)Oho@JPuq|F@lde!;gODUOPxfG;ez3DTYn5v3hjM`92-P#uBe}%x?QHn!ya1e{XQ9~RTx~Wut3S +|BaH+1KZ~9w5Abo%J?#s`Vg*p_{u5pxz2z*%=A;HMuycF-cvW?Bn17(!5g7=JFP@N# +i{Ag~o$TqOp3W)dBsIfc$wtp9%_B?}COwraT_Jmft}fm_-! +*9O%E6PA@xsCmlNKo`AecY3zd~>D2<^Va$3GWG?Q*X(LZ*H97*_}zESwr7J&YG-~89!`oC#$M9w6||H +iI&(D|csw7e363+T%K15ir?1QY-O00;n+tx-`*Gzp$Q3;+PxF8}}*0001RX>c!JX>N37a&BR4FJob2X +k{*NdF>kgkK4BOcmEZff+6yt=(3=FSo2|9lv0Bz +?_CZvI(rL}}_Z&~94c{2n9hFrhbgc#a%__bVNwD%kXd~g8TadMlEC*~kuT&*-UdkT?q4Vh=#1$`7@i7 +;519%6x=hX**Dc){{D4)tw5aBIxD2^k6*&?FQpcFqx +3#uxDC76ds!9c7A*T3U?Z)Ohcv~^ta&G`ISz-y&Ay0KP8j^Tp0fv^;}<#uj`CVGt*#h{HNGkZGh2Rs{*b9 +PEFnG=ir%N_QV3yy9Q2{IXm_=V3qT5#XYa+{EH8Bno?t}HH3#LJWgI0@!lFeqPnf7ot3}35E+w6u6Fz +OP@4Pg%x5p+GRSuGhBRU_==jm2_EaXO*CPtp~k{iRw@nf}m2gcTM4Rk&RZdSk{&%w3m+yho?^+6WGfU +jY!C_4L;umY-J1#h_37CH&U0m6l!1v0a;w3wE=W`L?6S;O%P&6~td6=6pS0)A*g;HoP3{e28VQ7g>6SAvxwnI;&&Y_cpiqFg6VlF3L$$(Zy`qk%1x83*Dcf4v$k`<1H10A|` +6e1)t8?Xq0Y(}9}#a0;X^!1*fGIN}%>g)%9|lT;cor+CKaJU)x+HBYaQ8UGH)qS`=n7A{5Rx*>HpO1B!Nz2z*zkPcDI7g&N|l&`NM#smNr +A%|u%E94MssZ~7QcYS@rLbM(||J!x_PH$1;%$Ho2`?+lgtYuq_cB~Q7ndN%>K#FKbw=^=V}LNrE` +>leUe&hfVdrsZafh0F)w8@3_SLQ;inQ_n6aUjbo3{2(<)r7e;Ln*- +FtjFur0tuB)QLe%K!=xd%K~twohi!jn5yX_?(v;UVWYIWUMx@60Dny<*Y}fO7Ks3sE$)bB5;DB=O>*# +_q2x$Q|k1(WQn_^HO_sf!5kxS#t8?IyqVsXi}htG(-)o3P=OCYQ?7?wfVi0*HX61D>Q5`K;WRYSUm-G +-MyKvTnB4D#`vVA~o7aoAYAVxF>R;EEp*j1ts(Ei@!SxWuY)$KQjDp%lOj;vsS;$)b^6WFzPB2W-VtH +%bzGWjRi^okaVTJI=L}R$swpN2trBMuADdCX~TYACbjk*5a^MQMOdIhpmJ|WdMJJ^rGQfgV$|^!b3>Y +u7Z<*4=?kuJ$>UC9chSCCl=`N}v*<5G=q@jkUv7E1@*xLzHP4wT6ED5g5hM&z049y$97)!|kvH^^gH~s?&PUXxz|~LdJ{n{ +1j-%^Z|6Y9{-V`?v$XsZgx7i|B;EhOaz_>y{qtZP~zrEnVnDAq0+J3L}LM$pdMFym!JSs1`*PxJm4b^ +f*HonQ4gf_!HH>VrcNUD!{XczuK^ulMD4_LF!-n< +<6Xd*{!Vho#hFRJyf5-_;IMy{QI!;vFkce=f6i;yJIogPw +?m(E+Lk_QqA*SUD55i&BJ0o4UKo0thfuf=83a_6v>ATxt@7OqRO#Q) +RZxqarjvIeGoQ>V)FaLpq_GJJCwOdDKVPNw|b%$MF7hU`oF%FL=EV2rW680Criux}H1kZ{n#}D9NbTw +^5^%k~*Fa5*3+B59hs3V~swVUJnw++a!p&`2kY~WQ@LLCMCz`mg}ZQ1qKj?Nq0!;FN*Ve3jli)Je!k2 +_l5b^~v406}d!0AZAaYuzke(ldd*ZHMa;n3MQWrGFyWFGxy$j=&wkY==JD|+^uCMRm0OqswGl*}v2`mD&c%-4josPLx +9JMX3kAOT0f`x(~C5-$Sto`icMJ&xbfiXL;rp9I^U|AFp8jJMcISiVQeFQ_Xw0i_Y_Cbu;haJ=}-9S& +J>ISY8yPyUfT-IVFqdUQMjE|8EH|x-EbYVh*ikeOPTF?@CSL@Ys9+(q$f^~=hHb7!qM_?jx{m#6d4 +!$A3+(giv=FOy6Cdp2CwjiApl^m);AaN*XB+O}ANW7iLeVsEp@bdSK^iA77a)KdVmTnf2%zPvMVqC07 ++_1IWD=3DU#qad2@YW9cNQfQXN5QTNgR62L}zi2eL=yLGM+bSvxBrVuJi4gX!5%eaoDCDz)hh#kPfGNbeT-!%ggZY70FI$MxPO)$ao#1)L|wyX4tg{UO0oC)NE`%YN56-EK6fScMGZBFS5c3 +PRKK_$@7au=Ye7*^HuoV(-&FMCjM7k_j^0_=pDesjSKFrwZHjZli#^Nmou1Hs@V%a8@RCn@@y)Y~m)Y +BA7Z)$GCy$>zy9l+uDb)(fkA1eIH?|7<-pIHHCpxI$AIbLidOswcR5%uhf0O?r$p!50!?#HS;ohERr; +{rdP^JNI_D-x+M}wysBAZH@WjF?-4TlD{-H(C%o&&9e0J%W_r2e=i4-oz{Q1m4<3crszaMm0Ayz)(YRY5li<4zpG*)|a+iGDM#b&el?!<~Qp*e~FH> +f1k$hI77>|;iaFq9(3x*c^ly&;SYGm;b{!}>x`vrWIf>P)L8GA?NIMd#nkmyjK3@qo@(wy#P7VmM}rj +@TK%c6w;WHDU?Va{&jK7q2poqGZ~e+(wC2I4u5##=?GyDollg$yWwPKk12=Bzs!y1%#N*% +ZjE}bHvu*z-yVq0>;al=g*)VNgpMtBRu#8pI?cU;WYan;m +N7@aVra{xkE_{YovFMl^SrSM&i7&`~_L~`!5-G_}ySoRRQM9&14u|vj&4X+Z1TV^BDK0lMtwmX|by}p +Ce9eoRDPC`?(dfKfb5?V?7Dbttm)q&+fEDSQj~IKV*o_o*%?l<9wje@mDRQo27<8TH8yxis|7EFC;4%ijn!k|<50Tk93qOc=GJyyWPg7^x}ml$VFh`JPMQ6m>jiQ+Qn?530%%eY!d0c0-O&5 +BE4eZ>uHc8{>)0Wrs_R7keKrI)f?kAff=jl{YtWzF((k>}CQN_tMFS1g`O +5Dcl@|r7VhG_<>R4Ojr@uC397HJ;y+Xb(XyJkuVTVu@A&XJU*jQY=CfyiH!n>;%$>*xHWOf#NEqsh=Z +n_A?}5@}UsLaLqPVo*qx)^_;k=!s*onMQ8_5$`3+5J^_3l~qwnELBd2fF +?`z3kt)6t7J$@`C|r^lzSK|RZX$5WCCQS~WkA>!v*v5nYEv8W?<3`?dLIgi+hQ1JVd-+b6s@bevMAk8 +E8VN>Ot=1xZR&-?U7i~Njq$PPV~#@*NK5j$T211pdd&3_|`3?`YS!T^5<5mU8<1<<;PrZKbllGi8nEK +CwK_#}Z*qetxY-G`$odz)@AI0NyMZI{IKElcYf?0!?j(~=dXT&KDCH%DVf3gD3$U$UfmL3Bg%CM~^3C +^|j`PXnIV!QYWLdI4VXHofA;V{zXK#D)kV`DH3IaCgPZB~#@_E;tK$aV=z75QdbJ@L*yI(Z59Ikp7AD +@&ZZTFQ<)K9a^*Rr*qs!S>#(*NxlS;<|WtyNJ!BH35X^ +O4Ll<)k4z{)CcXx9NI+D31%lQxgCBFtTM!2z=^DWg=e1mMbkqc-t^iDdz19p#4sZCDWhI~kP6m0_DNx +8tgj}#E!bppIU_YqBm<2wGGcH$YrP#LIup7WZm;!1?n;2i_y0*#Wh +!85A8bNzCzGxeV^!s%4nYnPd#X+J1DNC$7&n=Ohr0^R6#zMvJRa#GhXe;&Iv>xE-X8`CDnQJ99ejSn#$j>~zgOi%h%i`SFLN!$66eyVPc%gseAdK4(Xck$U8hPCp$6V8ZP* +oJi1ec6^q+cz62h_;vE?_~ghAPd+_+Pg5YM5btKVyTm7qR$yalgi%~y-hP|_rTk6B|8rHTRiSMhJ9C_?-eu@2j<^?* +q+9DqMO-khSN_2u7DVN+^POoMs6I=)=>p;7%NGVC +$kR^EMMB?3xpl;e=+m+En1lp3Olr1&dAMW^I$X;U@uIi7aVWN2F^lKJpwYa(pJDRp$*IfQgodiTqvK? +ViYYcLi2&6bbM((IaZcw$KpT^$wU?VUo`v`2()df$r`D8_#?6h-L&i3c=7itwPALAOY|4JDVOnolhpc +`Tmpk7fLy{8U;bxul@j6)Xn#iqi)O-pk4#lprjzAcths%)M`2t(zNA&4U?2)U9^r^Ld9YQ|s^K>hAte;EKKyKTy2&SX +h@CByBu%L^PYXbROJNi&ki#gj7R#)W;q`IxMkO7cepB8^BP)Pp2kw>2$V4j^f7gaNa>Z2*VMmlw)Z4Z%WMne9d#u1@-31Pz +>m!tX#Qx=%Kc`$5JOG7CXYcSk)r{!JxHZTRg4P{t*~Mm^S82JSShOXfV92<(;bit*yJ_8`VaE{9ZwbQ +(sgbEP!iI!vt@caUb|YM4_3hn}w%@u^EEiCiXW%EXUTMM*fW1Y&Y1bDX5E%X%PSlp%Pxe_+=G1{&_M(7|L +LP2bFs98VV#-TL)SaWY`uCflab>?YM)(KNESH~Py<7P6#Qkh$g%6?Gq9w?5fSWQR}ZF*}1I7KlMmqVo +nwhS$IegFfEX!mO5D_j*n8P6Za11FY%bA4SpdJ +Z$R`);JcQya#f1uKn~o8oIPj=X)z_jCMjOH8L@^pJYEV~b2duKIJhNfN#r>Wy(#4touH!V9;>E~L!N@D!=#b +YKPw4Bmi4xkN1Kf87lL2txyJg8wKR66wqKGP*`u?UmYTrA3`~sxqO3N$n_&<`(~a4A86k13B(Mfj4mt +g?6bdbOEb80!Auom4iZ$}R?@bR>#l7tI8jnY-3^)uu7%_C_j=h^)SWj{+vtL>M&+6Sl`FD;PP^o$^;A +gT^@_IF|`)bzoY38%C=obb>QgwpT46E5+9T$JF!$HSvwzhMTju3(j>TZ} +ykWI4ovae+tA1KB2yQl~qU6T%@y%gpWPc+ME4a~AqiBM{@nbb+VbiC2tR^-XMb4Fy{%1HP!?RmaZ1|} +6wv%YmR*-?PRqa3o)N*~pIWgRH3)}if;Sq1vo8$Eg8(fIf3Zh;Xb`q0G7Z->xT|;!Z8^8zMnzKbkr>n +Ljth{nS4;2tWV1Ymbm3-rU_&DgT-_Yxb6Yn6@aZ{L*_r`6b^gmzI~Vd-PQtSrVgoj(CZ$+hwXJlWK20 +l#bBoI`0+P2Ik|Nw*QA>8i}z1Ets*`m)r49TpX2=*vxxo${hhUGy1TdTsq#MQtmcSaZk~rbpO_6Y?Un +cQ?Y=98#y6VOPrd>9w3%sm3USuw$+GF%74Wg;y4OEH)V)iVX#Ec0(|D*E$+mF9r-n953{XKcm<%hfWe@>3(-p9Ib?x8p{hn +rU3p;&`)18CRxj~NSC%L<+u28vLFh0PhEsBVUY}g>WGi@{kqY`4ir4#`3yuM;I$`$aXlLl`hw0qjn)Dl~-Q(#!H3# +P6UEcaQNiVu<(&kNHg#G;U&r@ys@CTykVx=#dpi$Sn>D-u;F!>b~Xh*l*D{P*Me?dOmCI!0J;5lsXrc +T#?+xrzYr81d5U(?V4&gcTdu0F&0+oO|{DSKO9H&@Sf{{Sd#YMsr)Qp-(2l-%0_gFwwzwz-E2aE?}oY +HNM@%-SS)Q#kIFrel4jWmk>8yU%Tmp}jOQb8mw+L-F?9Lld1V5}m%l&by7Sm{MJ5UZnbB1<41}OLGry +$H|b(g}oUv&|A>2ygM8fmj`%fuVYgMzipFE<4hFAo%?-wF}ZtYPv%Mee@{xT4sb*#D|KGG;nPv#4i*4OF{nLP6ffF7%OG!Ef9_JGH9s)(l7!UwE=yiUMGF%dYh`Trkw0r%Et!2)}EpfORinP>K +2y&%mPiV(y0&I^t4^D2!12Vs}@S`#|o1=hvDrGi^z_V&_V1=c#(9fOOKJ!4s*yNV(^Zi(6aS`&E#c2& +m>vS%xbE|ZxKiL1a;>bR@yASWak@u6Pkkw2ibUQdnV*9^rqTVf%$>_gOO9KQH0000 +80F$jzQ8ZROU~mrr09`Qv02=@R0B~t=FJEbHbY*gGVQepDcw=R7bZKvHb1ras)mq(i+cpw^_g{fi9wg +03?Dg}(H@+Fiv13nT$LBcdbkd9rk&uL%B3OX5t!DDS-|hk+0g7^*X%1 +Wxju-b@>RV%IP?~QCGDVvl)}?Qt68ExlwstiJ5(N<76dtrBrVGuyn;`F +=0y}UCuWXrbQ{ZA6?2ancayZQ#vv7!OuY=@c-I`!(;)!7CcYtO6Df1Hl-|d*Wv*LZsvtTm$%EA7Dm-N70r@gz+5foHPY& +zro~^iFqKKxDif`)u7oLJH^c(}LhT@8wRW9d#?(7tvX#^}(d}b^@Gj80Zy}dN&#;{9S9&4@is4>{Fr32>qoEw3QV8 +Xv6n{_jfXwkLi_`=fg#99(BMIkiLTMA4TPF-$hNYd%z3n^x`CR+<8heY2N@>|H(#V*1Zsu1U*;u){_F +0%CZic5rm`;{mdPr;ZC5+0l%Umw0WygnQ-rP<)}*O$|?i<8#_wsthx0)FR2VW(Rpp+7J+|5K!Z9z{m8 +ZZde8z`oBs$-CMFeeg!UCgS_-koBl3>5h#=*k{)(!SE +YX3qWttZp&QY_SuaTSwjUsqm&o$e&^nflU`v_5ebUQ4oKqoMI;xDh@L~W!V;ZU`xHp}f+4}1x8UEj-# +6%%xJZHK3mlAr2n8!iIYcjr83t##uWNBIBC^AiH48&+Hc;+L%X?9)d@;4+JdRp-y>I##AIL^ +g{sgx>^dsN43IF34UE(+{D%+|Ll}URpjO_e(AAq^iyHTISgcsh=#v(BK}q*%Y^P$l8$e97%zJYd}(^H&I*^)xFZUkRKHA@{yQ(dVPI~M +BOmE)W<>v4VbOX5>s89&K)31Oqfgh=&29A2qzyxn-wZW=;1 +;Fw3i-_HSf_g}jMhy}fG)7R#8qZt^`d~b$8E;)+XI8PvmMWOK_;^T9O@B^6yuPQy#jT(n;_;4I3y+`J +Vd9t;Fx)gfUuVRbV=A}EZ29WKq3D6XIHX*dD`YdO=dZXNQf+g=ZxR5O&VQ>lj6Tcu{@P_`zuZTaqqQBp6*8>NCpccrl +z^wtu7Yo39*k$+u;)vftNUr{&KMi`*t7bKmK>kS}aGPGWZiB@q8J~H~9?$E%k|l(?X1GlW3hV@Eg_!~ +T02vhG7bb*Spf5mR+8sW2DrkF)$lVR-`~8P@Fm^58H}ZUFx$v@t$}9{~eXN?9kMc|$F-ztfb{bO=yMk +Ue2DCN06`O;cujd(OKtm)-XF|7GFzPkUja!qMsl_bCeoEmRP60N;sF2cZM!P+mb;1Hk<<|(rk`<(UT#yWe2M-ZvIUoU4Ot~P4ZyCXs>5gBe2E}kvD-r37t^Iu8Fi0@vGVVycN{7Qv<|4Hv4sQ4 +f^|0<7c@;sE-<|Lh9E_z;K+d1i(pZy0{$B|%GJHlu9#kNGCcqfMW~O^4Y5F&Vh9zJ!dw)PUR21kA;ss +|O|6Sk78nWKVvG$#K!k8j2*@oUMj606SC76sdehLz1e&5KQi-oYH<^G^3DdfS9p)g-Ef6q12`7*t58w +fXO6WDV}X2I>5!;UL;pGPNQg;ND7?p6yFy0v +K%j72Dy+hE=FSmrKC+%uc7}BtCpMj7m-+0n79SEXpw_F}RH(5unli-3X!oF& +bh>hT>(+=L(l9XQ;0D-;&1o4nn=$yjfuu%a<;`K3Nwu`Pwk@Ytp?3SwZh~?>;Nv=2pS1(14e!)#WCjz +m_6Rny-2+H@>q~Ml&9csM)6uVSrPzPW!Hr?#Xa403r;NsdRAH6lp%%Xf{Td5y!J?=|GaCO7lK0`qPk$ +6$R=7nzMWM(NGTIX3t1M-EAHz-S`XiJ8Pcs+acg+=8K|hbqR#G>jsMmAIvLD@)rpy5vV+^JKfsPf}ur +4Stc!V7`@#kG?Fa!m)NRZ|<0qD>MiF<%!v_F{%+r;BO|DR%+09oDCYyg1P(>cd#LWeoE?@r$f2n!e#R +vaLcW1hNFmK-uc4}l+ytE)nM_-BY6qrnkJDlQV*U`JFyl}5x(F^_W%??L1(11HKoU;zXWTC4AIxrI^W +FtSn_!p#04Y%jY0$y=TO-)QptFVQ3xW&7WK*RN3+vgvBGRG401BzC&#s0`I|F6jv6Gb$>CXcZK?AgF+ +vYjcAry0yL^qV)|=?UJ}|%z`>?)2Vx!x;5i*BdOOe3&#)RhW6Tu?P^xFj_oXAr@re4t_#^1IkqxeWFl +2^!UO6UV01nR!X6-Om-ovtLFSaxXf6dR>EZd?W#PnNmD!8h&=C5#(Y>+MFd!B-u6SfUfk@p +VZ7D}fq$fdpVbZJP;dbW8}g^w(7uFG#WpP7)S2B@iYM#1y5j6!rydqG5a8#imJVJJc{2Q_~{$aooj5c`s+T70ejPqBQ +;JkB&}uN2P#^=;bVV-g0QVzOBIP3gb{P9H4r6CKLl#~}iR^NXs6%OijUyc_bsUYCiGt6;0oIckFKi2U +f4CL0sj1ti3i=zJ(32P1Ov*NnZK^^PT)u28U$@~qj_kdOY}LS)c(bgv6E0yV)STCX!rnbzlw#z$7?t~ +LV(NXvpccc{n48%{^XNFeQ~UaT`YGP0>(k>m$L#X(=-0!S$8Xq+*X-i;H9J4NK00Oaj-idh?1PVK-ORP;V680ML@m}I-i+JE`EHpxjn1 +zxhrH}QeJywB{RUYLqc}a{_AX7P!v!~deL`9m_-z3LN0$B=L>rHHn__#E;}_7!*qsp#qp5-Q +VRLWyt*_?OU{KuTo%QEYU +;A6>r1>jy`w&a(?uJr}R2R2*$z&uzu}t-WM~Z3=hXX)hOHrD<=5Mb~sGj5PVnuCS~je^AB2AVq1IyY6 +Od*TIA>Q2p-04)NT1U57$+)5AwE2p+@R)`>lg?KxAWJ0+i0)7JG8ckmk7k6jgAy}>W>%Z0m@xoEB)G_ +P#-=Pu-YLqprwe3n&kbtiUjmuAjDGk8~EfIjx|Q!mv5__}(~v@cd3!;Q|7NkMc_}lK)Y}{5tyd7 +Z8rNYzsvF_$i)i)jf$AjraZwP)h>@6aWAK2mq6bZKvHb1rasl~`ME+c*|}_pcz72isj+p6+000WY$PqRq?%)22n!qFV%kKufgEMi#XsWyf2jzkR> +Mi!3>Dr<;eE;^pw%&v%$4$!nE!D^+FKZY{K6JHbk&?$}akmaA$hS7yRwWh^gCW^A)uPMENHk|cw{8T+ +sn*jbipC#x0qZ#JT`%&b*Y7HlDy78|t{1>=}h8^LNNu`VlS>0o0UEmDx#?Cbp;)V0j*RMo@}FVBDFr4 +fU{QmYNiGQT^^nB3G#TgDegm5mjd{~ip&yfTMTT64ROpLNMCq}s%9Bduu1d(#l8~?Xy`TFs6v3O +$=3oViTt>)r?&T`=XG63ZBFhZW})=B{nO>utGA!7Pj83ZwVgHwqU0PV%J4l(powG*QiWKum9W`{e^ +ENyNO(`S721ICXzV46t~DC7=|3sN+$@DJ{k|6nDj$uG#?;YZfd*4cx0E+pQ(V8>+cjn(7I(o~t&j`SR +q9Fpoc=vwIE=ybpOUn9kM{Qrzdod2ABHJ~A-AJv2%0q91;Z{?S0;nFgCq?}kQj +s&MV~|HN8C$0>diXqhV%~!*@ +Tbn-v>KIMb}!@LYI3;fLgE(e4jCI3Mx2uO`MeSPOuqic4pPAc3wPN$ZD3RUGI$AM`fYk(ZMuh7q-p=S +fPZehOly;Lk#O2U`za!vbuv7tzxTEEqLh)%(UkD9bX~12lSc6PZ+zc7-Z(m-I&xUaiv@&NI6?HEAq&9`*-`H>C`CX`lb{UW`w}ewY9aG&mg;9H2IydsnRPbq~7~~(wIh=*>E@pM!`!V4NgWqDaKCn*tl1R0bBqcJhHdxevkqMgysCs`G02OTN(ub6Ww{vusu2V>31v)IYGKfp6xG437sGoJm4Lw5eZF8T2b +f<}H-I;RwZsHRw(HAc@$K<1M2hx32nt*YR<2q|l+kxMDrMto)hr5B~49Oy`Wo4u9`st>c*YGr1Q4w2t +UyLMUoB>=f9MG64m&TOSXyhPnQ;X;Jn%zwG1C>nx?9odV3$3gm=`SY+oyWShrrS|6G6LuQ*l3y{+C9Hg6^2?V8-^0%a8#DK%X8-z2mSIsLY|wjg;GFUZrJ~JwV$xrOT?@!`{y{gwU&9Spw(e-C+s^7v2OviHesr>dnb5hIp03`000J|@I(*^c7=c3$=fDgFj**3 +!iscejiVCA+#>Fqz+(zJ^K+VS-00}`QiokGnXori204`ffXhZ&2WWFtpx&z241UBy{=$MCv^JmcF!O2 +)<q1Dh&8~U4reCqDuy)T5|9hs05~QraY6O<@<~#((kCU;kRYRe{Y +3QHuGSBJE7KOkhREv7gn=XF$6<%#^xWIUtJK!isiN(#CZS@W@?ekr35YjeK=)Pr-;k=_z{!NGl2$Y?{Mg|mIz9Kb+0WW +nTnKPh~;;}VUt`GqROFtCX4PkOVEA}^al43DM>Y8 +=mbOxtOXPj>d>{>eijZl{B!QCbS3PVVjZizHB1sjSd)D>^b7SlGJB$DQA!R>|us3A##d$K#vlxBWKqc +*}RyNq@xlJPlyl`WIgnx`?J-BoN|OI~eCgpBDN5^IgZt=<#hGtaOsn +@e@g!rVc4xKgK-23D@Yb#OoqquB$V(s)~SgX;oG=`T$@D=m+V;r0%V^t%6vk-wYe^S&hBK~qo;X8m@l2@V9kmix>4 +3%floPdVc>f~uz_|~9|E#iG%Y4lg6`%IF1Z{e`(PB#Ei!Ol{p)w?SxuqQGN<{E0jwxuslH>- +Lm;@2FrHdNl_z5wKBjPRM@}G9xYa?nuZM!>?j{I|Mt+~(TB$=efrgt8a?ztgaW^#(HK1~#(26ZI?5{^ +sdc!JX>N37a&BR4FKuCIZZ2?nZIDk(!$1(l@B1 +l+dTF617eOuPrT7muir7ObC2W&PGLY;pGZQ7>-fc=1q01hY$G$gjeii!;0)-?er^wE>Nw3sOqC+5819 +ic(!t45doi88nme2XeD$Aa-2VCWHR||NFd(8D9B$}Lgg8JTSDQT_!dD5rl11aSdH@rkhoq8I|RlG8C?-ej&Y=k +86WpC!j>f+rbCHpBat}>A~dQ&7HL|OHvKLse3ynH*fb(cNu)@6aWAK2mq6XJxtRZQqHqWOCo?&N99>y6LSb-SgFz|6S_vO`Gt|9L?1R)l|A^L}jH`Cg@RoF +KXMjjkt0$t!#_(AXKfpAYgexnY&k@bi1)q+J2@s3hi(J9^( +;;9mCV&aW5mNyN@AK!MJ?xvRYRyL-v#};e}3;*@`_H+5uFK>VPwfykg`}a5R{|RB*O#FO(#o$9)Qw=| +;8r$W1{bladyh0t~n&q%~&X(V^wbl*2=>+6Zv78?8BaKAgR3& +izf}z4Wc6Po3@Jm8Z$E#Bp^1ZrCb)1|@nk6&-u}o`vQsEjmqRBMTVZia_-e5V;dcmRKKGXS9N{7e-;cd) +>W?J(v#=aW3>1znlh4itW(#&lnr6Nu@R!*d1EgyFTJ1#j5dB68nO)t7bTyjSQMxc}u3~xvX%y{W|NOV +bn4nOccUWcjE=9@ONH*lqfR8O~G4Tp)F44dA&1q2-ML|U|Yvrz%U1ei}@|@U`u +FZGbV3zmMz&Y+>i?Ru|pGk0Xx;~_U$c00nl3s17)%OJA1E{7?dQRz2GWRv*Sk1EE7*{BP(f}BQve2e2#|E2;GDnKY%IwWMtK7lxW^-CkfWsd^NEeZt70TQO-AP_)dD +Z(4b`KtdwRUd^P!-$RdC_-aG&}i32YAEyg%RM7r4l#lkmGU>Ia{`z$hjOU|vaj+syg*=a>1Di#`WjU0zs(qT@}T4$j1EcZ`Kl$I*#~r#uW3j#>;+|24aD3oR1IOQaa9h&9d{g!G&52<9#?F>ILXdmy9JIIkjS+x?cE727i ++RMlXHMd;G{S!m-T%U$DYhH4rF=uK_6m-M>ChEyb!zMnhIWXYRQ@HxWN^eC|%-cYn5G{^BJ0Cb*$7h^ +a=x@TfbWx=i;Ldl5$;_D+N;>?rKQFU3rJi*Zr4@y4{&N`;C)mQrG?S2`o}Macnpfaj|5TtK+bEXg=STj*ViPBNdRte(&fWL7RmMV1|`$=4qIuRRd!R%n|z@a6}Nhj?~ +zW*V3I3Ja-yNu6Pnv@3zJ!@k9=*Of<;}7_4CjI2w4)9N9y5n7%~@=AXQY{#1hnyJ8ER8G2&9QEWZVc7R +2oYS4wJlZu#DD6$|dy{U+Y7d&99)`ttT=3tnHz#u#>3!JqnF2P}v@a$1(7PaCAb9_e32Q=zhCPP~o)O +PI2L_GJWR_8u++xsL)32Y&sD6fZz-qO#4{A@t}y)tppVNyLSFwUrt6ry8*yTmg~>3^$T0<~>#c{f5BQ&8~G! +w2qoYd-sPz9lPNRQv?4?Xx4BsU`iwK40W2`vDI=)PxQ_`A_7_!C#T?<`L_ +5J#dyD8OOvH)@uHXpsW-7%$|(amojtsb-Iu6`$OjsHjb`hqyWEZ!$^pH_jNix~lgvRo?T&Q30{=lw9K +iNXVb@~7^3Ai$G>i$4>W4X2Ek9>X+Gt35t;hv_ztsmTYNQ$p0^p!RF#9`t0=ZKhx!b;{T9h97KFG|aURxgVmy(9&x%P8Ws3VB>0Fh>@N^Ji +w!HBNp8w#3b_*QU&-2dM$3cI~;Vef%y50b%l$A&}{BAIS_ +YnDII1@SU7iXt-?AecGCU^&nH=cd-wQQt4qM4zPlK5DiaBifjV&JWgpeq4RVNV-b!@;Ab^!Wo3D#5}S +hJ5U(=dEH7wD}+)lX(53JGqs}k%PU&({>!ml#zSc@XiM`Ung;s0BmG5ofJU2mK!=oLOJu}e9YI_>wnB +sheboOS)JHRj(7h@-o=0$=i^Q+$hP)h>@6aWAK2mq69@AV`mB_7b0^_w*_b8Tk(kRkBWkDAdeMO!X9*U4_6x(! +68CqedAXai^a{=^=q%ts~5Ld+3UBrY{QmkpDxb!7iY!o*$eG|R?f(+<1b!UM^rOmPgDO0Xl&Jo5GcO6 +M|An5MS@J=hyza_rZ83Vfh`gI^DSNhY#v!74UJL6HlfYFH@?ReW9nbq(GFPPm4CLR&}6fBOjCq&fs8V +?FTy-f#_=@%_k64AR14x-j|eZUMfd+ladiJy^PQfttH-*MxwO@hnYIRwBCFs4FA$M!)(i`|UT#6iZPPfIM?HQb9oBupPQ#yhhCE|$N^c~lG?nxR!8mgfi4gaekl4=~ajRjUhO{CO8b> +-YpNN^*cmAN`RC3u*JMHXh>aLf)0*<8-@eO-n)ofn!L6Ner)kOQU!C5L7saEj;`cu_ +hE2v}M7zK!P2fT7#NOELFws^hg}v37`a5#q@+IYKXa}7b=0a953@mK;coi4dwRt9dI~I4}8&);c=B$Z +6Vy55U9*(ChfUlf*S{HRzSDIPUbr*YwXZy>xd^}XwNt+mXNl*WC4EG@k>Cy%{**fM)8XyG$s8><~4CO +5i-sKh>4P-r~EqDz@oSXC@R{0Z9EnM9#D`oC}}pgO-s)L4FHED%qCf`0j$f*<=B`G8fV?rlQ>z%aaN{ +>Mxw;U)s&PQ?=i#VXY3}RSjbEV5ErHvxh!Sg`PemjM3r;JzO=?pq-dDPDFC;E{(+iSLoRK=rjYuALR| +ZlN+%iOdc>qmDdg6tl6(O54$yzPamYPA%RkT!Fj1DUe7uK8QrEs5xEZyL+hc|ZOzQi)Y5x++{Z{MBy; +&}o4onP=C>%B9AzuSd3)bd+WO2b9Gu|z=wfl$qf3mozH2y=WRKEe0)=uwChR&8x0=?G~2MbjdcGxQ9-N +IW&r($jF%?eSB&rUCX+rmY53Z)bK+OyY9Q@)YWYhSC`-r27dzpVbH>bDxRoW_FlM_dug4$%SQaK#n5w +Py7X~q$R(P>AGH<1E$&n18bxw}L8ijyLONGV<)o1u_(dX99%N%%UJ3QUXuR{Kgisnd_wnZHL-z6ofF^ +tO<^w?>Ba)INhzl=_YR^0^6Z)>Q`?ga?~JvHVLQB1<6d9-)anyQ7 +ao^O{f%;hP>}NH(fBKLkm8j))>kmW7c$FOv{x%Bm+!5W3L1zrM*;wYysQ~00iTsm)kkJ&${Vx1tFI@g +09=73L6)P2}KM>gQSxhBmZhwkY-KaNaD|9eLk;er1N6-jdmQzOCm#FjC5S3R>QeS*IcW@po9FL{e}IJ +J^v10fBuvEns><)*GHO1mij#Ie?E*n5SU{hA)lzkpb|{Ici@d0J1o)wNlVc;EehAdIuMSpPe>Zcr*h> +~sh~FYq+A>X#x9lWJ{xXyHt}Un>ien_4(-5f_M!{<5c+e1FnDB2XYO9ecM=mPPmcSZ=3eBfK4eF(?nS +Y2*iAiHKdPAajt1wh1kqdrYw(F6&mD{r*VE|@)8^#m(%cqvz2>L(H25aj4a9O-up^#MX2Mm~p*THZmF +^mC6NkW)9*Z5li62k6DK^Gt@;vp|_-QLB0|70v@c8I8P3b3#Uv}`G#;em5p9nme67=cdf4nry<|c`yr +9JLXB86ti@koPeiXyy6@Ni#fqL38IfCeC4xM(i;j{Eh-OmNw$AbPi+-J%}`!u6!`Wjvp7n@28u> +1WysCTf}Ei_=nAeHGVynbFvvd$JhA~C#x}dMrDnryD0*?!%YX-(LG|CR+jpHS&1*Y1w~FAV(5mt +WE-SvJs|+=MKN6Jd{hrDvYKwJuo4}$iHA4Ju&n;#Q8WUWB4Z!5&c&_oy148Va!0o_~qm5JFY8M&zMyN;U%#>ocj>xJDVDiSVy@LFzUZ1XrP73$jDu?VNw +;q3Zr$zCxVW5|zmiF5R9cS~$)w9z#&FR8Dw1b*x~-fwjig8(Q2ar1XS#`i^Rs?NVHX!+?w}|OMoyROr +{a5hFVxv+6rS|m&1F~NdhBv)o?X(^(0001RX>c!JX>N37a&BR4FL!8VWo%z!b!lv5WpXZXdDR+eZ`;W +AyMDz~Mj;AIv&{nOVL%14jYeot+!Y5@#qRVgE4HzHmQ6fMQH6xX7D{p!!h< +A`&yz#ub+O +6&wsf%|9gD(q92nkbSJtvv?k|&s`161h-!Fczv!C4nb&${0q%}jw^H98}SwY8J94C;~-T8f67YU9Ny%4^(fL$jY +zYEw}Ndf|2H>d(A$u0!C7t<2K1&YA-lWFhHwa)RdB;kfBWO@!(b;mMP60+lI7XGV7z1oaio-fR`Z4zOrEj +NJw#i9e>PG?>>}DlkZ!BfAEQ@>82xP^Oq-IJ2wXitaC1o2z_yi1?yC;66NP%9fxm{mL=*min@S;cN^| +yFp~3Bv`*=$(6LaM=&c111S`2j=MbSu?S4uLYNKo0BL8fG4TS2K8vnc3{t6CHp9YN4y2!KtoaKV-{8< +!^_-hsTKn&KE`>|VWZ|9=eCQR~FXN+}JR&diKH#&uzRzmPDZiH?O +FMy1!ShD&^Z;Vp!W)q*e~mCGLJ!M&np?x}6jvuKi@@n1i!g2YvTEs7r;s7a&rPQ>p0Ib62lts|bp^@_ +)o;*V0@+AXKscD-Ls9TDWmTCUG=`w(X+zAeqlK$o@S+y;5QFvu8N)SMbxlI$@a!3R0bt5$1HiKGVP}o +9v<6X4gz_Bhgd77A>P$$s^kJ33(o7=z3My-(<&^23Gn1a$R{IN{P_TgE4TUwWS^L$j +ta`2GevWvaZGNxH+;HPWt5remwGnj9ZjINjoEl*3t_l!A;*Oi@!_)@(T0?4y+QNXe4wyM(rxbh~mhyzk=r +CV%cvGB3$%0(vC&A69LAP#!0OuXF5LV#ZyHBv#7k>ij^QZ2wbWA^Y3e*{VNH8oHrXp9M(Gp2VdM +Z;=?|I~6d9hX#Yuda~*`6<^oLsywzb;3kN(x@*+|i`{FyLL;O?A)W6u%fcpAHFkNm<@uA_o~=O^8F&c +I)zB&H`d~&!C9s+t@e~M~BUat@?q|AqaM??Q&iZfAgo1|*y|8T#y-oX*rl8k}HvYFn)GhmXebF?497> +QFwa|~eDWR+ly2PKnV?*5(YF^IZ=h7cyY|qD@YWq+)lVP+~wUDW(r5XRMtBbHeFdNa91$oIP`pI;4;2%I5G`gc0}R-(tAm%-pO8YpOxumN%mi^(Ra*2V6Sc`x1sgjL +g^1be$8{h3eobEw>-Ai_IB!1U&u+AX-5aa<9Qs}*h~-Fq*+zEX@^2#s`+^Dn6=F`#}i~+18#hCjy9uO +(~VIs9kkD#5ctXbNd>6^@5KtDc`&XIgp&4oD-!^=v7y~vi6bJ+4E_3?l6?Q&4BYv<>(q5tM~ix*#Z)z +=Y0BLjb0HF8CxuHvk74aWr9!sGJO=3B&0Y=D^sr~oUzpi$bD9(;%%UQ$m}=xn*t;J$Jc*?mDSjE?$ei*UPVUgry+YSMSJlr&2}JSuz +p6qYdZ{Dx5Zkwatp;6g|0bPiQWcXfiLI}`0Ahr57?Nj#pZcwO&%+8BHnv(pd{}~kYCFa;yDxy$*UG80 +A3#2J(9)@#2~NVb$R4Q(D=N|7gAqRVZGFuiOQrO^fL{EKJq^X!Jyuai*MLhN53oWFVP^J=5N@%=wEi&LkhQl(pPa)H&Dk-khtl)cT~=mnm-MwYxk*9AP1y42231I(cOmZk_3iPJ&qDG?i@z6N1# +x-!NQNumUPrwy^k8{o7)innVwxqWY523H1c5!zw(onB)>?iJcqOj9O-jpsnTl?6|$8okH&il4qh-RyP +U2a>tvL-+_0iCK(12WKIarW_~r3yAuFH4-5QbFljm8 +jJPVaYgCGeY4#T(i|6}6ZWM}@j6+#S9wqJ;}uaf#gaNK+|d8o5jc1CK~H0%=n`NBIg2)!_Q;-L*~Jmy +;4H=7qvmW$?gtJ6ZnJPYQkzj{fJwu)wS9TWi>zOLxE9uv@*e +QGZh^JqPH^@6aWAK2mq6NIEo004vl0012T003}la4%nJZggdGZeeUMV{B?y-E^v7zj4=)aAq)h2Ua=xY9+Z5*2j +*g(u@U%+{60u&XGW8Ae%;5Qa?!~sZb4#VCrB0EFl0Q}=Dm|us2D>mcs44G$x6X>>&hwToYDjDk1RCNe +`g_Xd-X+iUN8?xA3g)?KDyUid8HpvO9KQH000080F$jzQ6-rAhVusi0FxO203!eZ0B~t=FJEbHbY*gG +VQepBY-ulHb#!lIZ*6dFWprt8ZZ2?nomg#e+cpsX?q9*BA0(lQy7r@27bv=53)(e7UoZ@YAt^F#bCE@ +jq!Rnz?~X4LDa%E-pUtEvtyym5Q|dkqSx5PVtKG+nOrI8^Ri?%DSd&a(5&}(Xy +5dt3{E`E-o%+Gq!KJP=vRtErq20Z|T0tqnvF7-xH>&P@LD2*p+HmvSwx$L3)<62DUV1omDl<_OO_1nW +8@+XsKxKtxO)~`+eE02Q~J0zGjt5oe=wUNcXJMx(~R6hpqT{TJ^$t{PAlMNT1dkNnVgqZ+DM0R%;Ep#&)ojD0s!LPiDlsird*wvxicBRDUl6Ru +QFe>FP_jGJnO^qZt5Zzwi=I_6MyU9P?{Bir~>f2RB8m=G;A(k@QJTSoRh?+`&+3s2@b<#nw~S +Co{^!k?U%y7HOtv*sak6|pUkxYV0N5R$9QuH#qE(`I0zQMzsuO|&R12$eY2;jz*G4QoRJ2v(x>?i1l@ +MG^9gU)yerh9oF%i_U(LKP9#?|2NI0$94%X$QMELSt@j^X4;P~Mb#3R^JuI> +tG7_$}M>}9M-2b;*ns>9hiN8a$jeTi;A%zCUsEY{RfR8prsWnYf_aG?1^@?ZX;hR1R|UZgr8BcSlHtu +gN_g;2MD6q$yv4NAyV@SNaE;`C$fdqh{_#*)Ctu!cDa`YOI^LrQN%zr09*Vdtl)xWgi@oFM7_{xMV#l +|2QjlDn86;QOi3>z(~hh@BaezsvQ-Sl<*Hi%Xqmzo{|mx1;(rHiE@GG@o +R|WhMd88jMWp{@Y4!pG~Aq=toso>gx!!Li&0^WN5STu!W)4_Ap>NFyE0>{i5$4eKBs1h6-U(9rb&MC3JZwmE#0 +L9(oXoDLV%w^O0K +0WG;y@0@>>eM6mq7~lbXNje+O(jL5L@IVCNz&!3bI@E*RB-6vgN=MFBO-6I2v$@$kE%Nbx%yhpzcJerq6*uH6+qGBOOZ!iNSX?o=eHk#@F~mhY<=}jWgd&2k!KIEHVdY(wZ#n1_<;Kd +72a?kOc!dO7gg4)eaiFe>$dlbt@;h1LeKe1#XbOoWEIN;l8-Myg1GM;X*GLs4|35GiJZVphIgJb{AN; +bvJCAHg{tzOmJ<8=7v^O%2FI>eiCV5nIB;qK}LE}Zfz@g*UBK}d!{;#)4_?Gx>SlbP&lnRJyT`KNjbB +l0-7g->VBpb2(j~6KGZTbHF&$Bgtet>C0a+x&n8J`f|WE}NRa=; +ivJ19Iw3IF$+Vg7>S*D{2oQmv(H3c=gWB9#Q|B5G${^x!|1$(L3 +*WU;nTqfM%v#XilDVK;R9o^ra~{Q;-WwXHv|s+ZNA_xL*zJ{SZL;u2IbyOP()(S4wDE?Ph(G=X^rO>W-#6vpI%ccMvu0wP^3e9q%*IX_UN$|u?-(Vg?!4hYoris9`gwSLuA3q*{7l +s(idCByWaT?~45*GoavciVSV&w7#S|a^8_I0NC{7ZiG@q{o8SDYHraIwc%HnCfC +SL;K_Af?}pYiB!8y91V1@uz9)7BG%^=_WIL3Z@4)ok&z9tnsZ5iO+=n9h08=Ho7Nsx(BO~5(g`FB@Th +w3^zdhbCfZKOCZ7zh{T_XdKZTArTby?Zp6N=8|IvHGt8e;lKdnM<&5SgJ1Rj2gtL{=GpXjZlfqtAGpH +FStkF!OBF+3EKOPya*8^}~E9!ZXN%Z=;!=Z1SB;au%@qYnOO9KQH000080F$jzQHz>445teK09GUb03 +iSX0B~t=FJEbHbY*gGVQepBY-ulIVRL0)V{dJ3VQyqDaCyyIZEqvD5&o`ULC7d1rPBKDj39+kwK%^dQ +FA8?wtQ)DI4r1LO4{CPxgmEgt3m#IpCOm~rj>JPfuP3WERn;R;c(`e8PffJ|B7qDuH|mWlaK{5*Luw8 +qY^RC1b)jrixQ#x{eG{vR&vLDf1PK!628x(T`E<^_)5z-&xCKkk6EgsBm-FzWRXmIy@D>5n@yB#T3@| +DChMpim1&l8rA7H&yH6=JT1&Na-}RxK$`lX8iU*$y9n&cFeCQxl!ecLpBd2Px3n2hX=@W#|#@ND#R+) +It+`_^{*LL)M^gK&WaWLvDw{X~F__;QFyfdN~W`1nOAJdS-zMC7d=6Rgy??s$`i#_rzBa+c689L)xuA +yWobW_sp{r%m&Wxlw-{V=i)QFIz{kfD>k7SGw0$1fTtsXIo$H6QNG8Eu7yiyi)SBNFK5f;r7l +>S+$uKS)TeXbWZZyMLKZIHX`#=B{yT1kSoQ}zlG81^lEG&^~0#;w3}G2cvsonHAAsVwKQNS@qkl_xmejh`o>P<}NJlv#JMzBJkz{!K03LG +3ZK5y|5*Tjpsj#_Vl!s8%>Ea%(>DI2XEC5q!BV>1T-AY-iu=NNjB7XPhRmW-ujl)4V?gbce +H;|AH2Bo(kv{-qrX`5t%-@-@q3{#B2B=G=eMVkPla35%L9v*3|GQbf6!{YzWa~X8t3-BR2V +)(XAxZd5Wz%q+ujwJxtg +9;}tmtxQi_{FyA@U28$dO&FwFW_mE8GId%M$LVo(4ceF;Neijvy8qY{==G$#!acC`bOSD@oXyq>BuHL +cAF?EFz&=urH!}apGDzCzF|CUI6#fE;A^RxZc^8cb|KI}qU*15#j +H#bb-}j*;i06ab|(>0+{Rfj|ZOF3uL!kNH!{>pm~ZWAKk7rA}nZG&vDR!gr3gI*=9=^%+-A*BS{iw-7sF+;MWi3nNn*&6-GH_jLb6O=JpBv~a5Ruf1|q~exqK#>|2E5|?==^ +K`V+UX$UHjRi5L2X_z<=7MWHs+`6WSQK3?C$D`zTDOWcE!0NIQY5OSKTEWEEbsob} +ld7$xZ@19n7KqMV`N$+j)t=k +{A8Nd8ADAm!hwlw=lb5ap;{jFp(JB@cXohRFGXWCBf+q~#-{jR2>NR1gBgvR?@38u-q*i% +UJoJ#kP-%UIP&X@Z2P;8iv)J?IeAnsL~#e3T40l)c3}5kh>`#Cq|ey$?&j{2Eg=gj3vDvl6Xu{Yo$g( +z^e8T3ObRoF^WSUh?GF`01TM&T*dr|jH>r`}o+5>9;oDZmp=ItJEjNWa+Gff4dX0>#%NCcd==M;X+ih +em+ZlQdSFL$kl%#pqbf-#*kAuZ*;m_~<*?jT19DJfi@%5mSm3T(&pnYzxG+*X-`_I|K^1*+5y`0_6Em +Jn|{v}bMb#fbZ3T)ic&|WEoOjhi;#%U^qq6WPfGb>@mf-tN)jw0D3Ua01A5Z^{x5_syCuB)iEcUfMbP +(lVg?#9=_by*Lh$VFN~Ou-6I=45NPghQwG$QvAk+|dZZ5saD*yRN>w4IB_y&;?)XG~3g3Y0|iU9UhS! +B`Mlo`wqEd*-0A~fOsNBEfIIF&OETepY(tME(q#S_aVe>OjTNL#3Pp$&mzbTln|KOZYvMvm=GFRdti +H>bfKx?N0bB2Cf~Dl%r{-+|2IJm$&a1=lIMD7^S7`iK~d5Xnab;q +BT2E3R+Q)wH`5uN%jRPGmy3&w=3Em~29)JulrsZL)y^Msdc49G{I%fp(yEX9 +`4{oBKbbfdlY+(631W>xqo^cAXdivM3UwEo#qpHZ!daBesr;E#5+Gaf_Nh1Bzr2wV +$-9p)uWoRls +zoOtryaOx#UTJYA~1eh*yJ_tcwidk4egXV%VV(W3|3`cM0D^~59X=>Nhpoo1*%KYx*ylogG*KUB?A&% +f>Z?CL<(G^56%cmbrarSvQC=>QqjI#8x7N_g|!p)(X=s>NyrY$iO_MraKa=zz7?pf-Qcfo+rOmuwNGq +F_ra_k<8ee;B}AnNVc!JX>N37a&BR4FJo+JFJoDNyKScg=rOsl +@!%lZU(C)n}-i-QZbitx`Ov%WdJ?K)mnrRemU{OJeTRh7g3nP|DxCmfLh7HTvm@#rXmlE +QkH?p<6M0fE1Ak7Obop0F^&M|w30=N&M$r*ni4Ak?i)SoK(v3e}RTz`KIixki-8R7!wTU +T*X2KZA$1stkuo@EI)TGnY)!M9Ss2cp9otG9qDErNb|{qyDJ)%o@H?Ctqamt*mPCZd18K?dV~8Zq5(A +s0Y4HB(sHV5XNZh>|$Si)>ZMvYgFfFx}_J)2rFdUoX$E`+CWbkyI=1~#i^Wf9Ht0`|ejJ`kI1A%U99tk{Ir3^=MPGDFwD(9<)1xTklVF62ku>2iB{v8Qb +n7Kl~8t=7QLs?QBQyrgG+eR;{(VY!xOuGcqLAKt&2y*<5t+fPsKRBdzQa@FbGUoZbU1M-~x*X-)&_wO +&>zX29p_B@^r1pMQLcOaamusP3QyM^-vWXWq_e$6alG8Q*ANT8-~o7uSGB|a*~;+HU~W!bdu;Ua3;@I +$(cS2m2nU;rXc6k%M-8SlZFM0OeGYK%e+wmAyyG{$3(3B(+kB{3kaPWl&;zanLK68ty +`1ILVj6SrfVl~!#JXnGV9s0r#egoMzgqJ~?Cvi0#jkvipPXfXVu?g?ZI*@W2($BH#&|U%Lo?9UJ7}@G +>+_S*66t*mKRz!kyO&c0f3z5x#lTk$tXmBAW69M|8-hfQ6NOLS;T-ITJ8g8Ud+QwJ?s2sEp!Yc(z{z8?~bVmi=mkbw2Nw>vAEML<3bO@#X?b7t>RFvNx{^x8>>}`)-t-E5d$U3Y+ +lF7V#b!t-mT4MzvTyao!#;}E>Sp$$F-EGgq9+g#iRuE@*v-WiD2n!Flhw5Q9ES{# +0oe1<&-qFvrUY>kcm29peoJ@YC0MEYQbaZi+jQ}Q>zOQ!m28U&QN0kTbY)On&S{S{H@1Jty+0w;qj{5Pc&EPM|XO +zVY(e|LfF8J^O(VoEX=jGG!t#9(RRZCtd|hYuGu_J!y=aDaAewOJ14*oL-QE_`OHu#Uy*fc*n-(obJw +DlxVR_?)r-l5rmaje;k&S&!+WNJZh%h|71X1^M>P;e_lbOv$;mfk17hUtD740AVC0Yq*lb9%n^@PgNw +{k_q1o2iL4QFD4sk;Xv5=q;H*rcz7>2IP3Uy@?R!DAVClPh!;tO|E&mLmTr{dSO1j<6of;NrbMTo~_! +i{hnu!jKjU$|SQO`sWUbzm1{t=rCKW0Pq1AVIByZtA{QGw!|#=W+KT*bIq8%brX`eh+e&eiQ#~XIYwT +0UgK88v=^M(O7))r$EiA|Cw2|q^T?ruaGkD9M{Ff7FNYFN>2a?sGyh=0h7VJ?5itCt +nE|^V~(Tlv1J*G((E=py8AeO=+cqul(E;I=EIe>#ykjktsB1!Fw7#u?5QsR?Inae0%#*x}&;9ixu!?w +g^089Z{)xa`ft{J_G203_dI93iwf)WU{IO$~ta`JXkwvjYs-#PApD7nSTJyuU@+q{&KZz`r$!;~*jSJOfBmx|ozB}J2( +%S?2kvW`0l&z_3?1x!Si#QLZ9NMo&jH{$$a$b@K_FK}Eln4)7FnlTST}6#UDYXtx?=K7G<1Q`!TLlIP +hMmC5EofWp{EBhhHz#qfstD*-u5DLit2)-jM}@SV<=O|f7CIc4+B+on81kp$n#7f;-sHo*TY7Nft;ae +I)kkeV$6x`=Rhs=L=7@&+VRqx=k&y40fSZZLbF0cZGS(totV`TlmJma&&s{r;ZGFes;z^w`%I%7Wp!G +$FnwWj@|*ZU!n%Xb%<3wytHAj3u+ob~T)}&ebYkdqP8KYze~zO2m8fE{w*&u(>7^N18VN|tz4JrWLCu +`0>Ap{03hx>mDGc-p0)qi+nyYsVhbk4jAManxx?tP(x>(P4;%>`(I*TK{()^`7Nx*0snrL%?0iEG!eJ{8Xb3COCY>=MjDCYg=+o1O$udr){sv|_zqIs +T^L-<$5OmOqGBO(C+7EcQU%~?9xyb^dvb!QgC)r5ds~p%55H +WH>97^7_9iDM!VG-Ww4mR|?P2!*xNY;bdBO}0req6M-**JA;?7X;i27g(E#_M^9;SF&_PF@ZJ9;0$lL +vg5701m3OjwM~9GHn})l%*DGoDS{5p>_$lX(|@j5qa0r1fTwafYSP!^<#Qqqmky4uz=mxv;7vERSvcd +wOS?jm5$a9Gzo!7Pigyb0hi@+=`{V8m4*ZY$LyvkwX`^8PjD6ZhM$T#p!kJmQZz{s{d$8$Ofv)_T@Dw{BjT1?(WAB!nV3zvgL&JrggdZQs-zmZQhGiq>N>j7J +paflrU4ILF`fQ5fChDakM#&1svCb=+qV$)dxWEx`}u#a0f>Sr3?qh-I5kt!FLip3oUw1+M$4nAhndk; +m<&D2c(LnH`BVHSWQ^0kUffdRZ}OdhDdGuYVE@S|DhQD8LNC;1L)G0>O_8lVa5&2U~IT*P3y +`&Hxy|*BtAig|*Cph+Z9KGn|cvct5e(4jl*rC=FXw6^qZ65PCi+BcNd$E7M`l&@cJgE*!ieh00n`S?T +pxL1Z3S^unA5Du(;L~s=#RVOBcO=m$aOib|xfe=oa}EU=4u#CKG6uEGal#}HQ*{`3d44Ireeueb?IZ# +TNxSFi<;95NLmYDio2&pmfp3y9CLhFsqI6^#ZsZrOj}n$u5zY)@pDHd%3IZg189Q>&8L8}(P0c#)m1T +W`kJt7b2f@WH$+lHXN`p#1Su2T`*}H&M?*tMll%gjQh-+SAlX0WyT+|fN=)~!q&X%Mj0}lD>pchNcy2 +fAg@QaN<|AJ()OARrkXh@P}_jLADi3u3h>0*+^>3zu*#DF6R{x8wJ2x3Mcp3X^2mH-Vl9ad^ac`COUj +&nJcndo9ELKYAOD?r@ZsaRK=gyiTL`9P(9ksZx6>tUs^h}Pi4f~2Uy-~)D{0|7C_m~ycCZ`$Q_3;~ZG +*U5;$mq7;(VZ_3K5Q1*la{Bx^;fd*MKCojWDaN7$gK)<6CX@|kN_to_1~3Gc=pylxp5-rR*Jz$&CIT~ +xIys?pXHfBSVY5E61#oGJQOI=$uIm#S1Gbg|GeIz3izz&NjMD4yg~xp1b$P&h`{DZL{pq`N?-&X5E-d +aj^9~2XmB8Oqm5UY^bezPfjD>uVNZzbotwmgQD7wgC0g!O(@Ihig9;JIh=LBzWZZ5CeWVFtAp1!>z-d ++u?&i1l~`Q7^q*|fdE{4+g(4q55rD&)jfj6}1KvJggKopt-9eANlJ9U0mH8k8lf!;3cYRBRT5(!Yaxg +%bfrU>)+=1N|}dQ%9vLh0V~+9{4K}O@f+4S^so`NhX*E)HMs#i{DQwl#I`NPyYSWgd3hZo?v +1VApz;ZnB~;o8!_>XR90}cbPh>Kq7mSa+&w&7hv;%(>ZW}jH=`3bI!D`;P}V-1)4JD +6CNp^!1PGH?)LC6PFY&iNsKX|u%C=GIZVxJFLuHBJ;^;F%z#OnW?DIe)UTi*qw?9unzqG%zzHv+)%x9 +&R2b{a6jphh98+JHq#iU{N=V1QmNUHjJVl9SkFugX)&?JSR(QPha=WHO}Es>^Sn2BNG@7wA +e@;P=>kewKoKqxqSHl2W|_BV4$Ko=_N|I{ +>!-aE!fNpUkR`v~Qbq~VQ2dZ@*fI})Jimy=oAV{Mvj6mP6dOcyvj*0!YWFdfE&J1$-UE}uBAGTgib7=x*n%UypF?^W#WxdfFjRnNak +|XLT%9w+BAPKS7O?r>&7;2qdzr<7T{FRT=Is21$d`47lm9j0PD&N`kmKIO?!w0?)F7fjG=~M&I9aUx>>J!=C{-UIx1WA_T?0 +qjs3P_+w`&d0jsc(ONPKhG>;MO3;cvQ^URc0iqe>i=qR;z2MI~G+mtg|!kC_zR&pf^O+VeytWYsJOnj$A&3dRU|ueY +FY}DtC@$uHh-gsH_f4^T|J;@u1?98=4=Axv3JG6#d5+unFF=rjY0lxIZ^^fnyqCUO|y_ijFsmmXsMJf +b7O-?K=|oiDpIM^7yvfx}~)kG`Yg@FbezZ63m;6Vn+Kb+00;6?CaOo~lE_zoX5$_`wDQ_$h +RWyNF@r&(cdGeRXyN=lRCfGcSwrC7A}1=uv>+T)DO<~`1;a4Rql@T1$M)MS7Ti-fp+4?mja*yh{Wzr6&4@1wW_LzCa8IKr*Ml||||d +^-l9=ycv@HTx*3s<3B+ss2;v%A!ULqf-TMXq{{`s*Bh$aG7C_C32=;G30w4rL$vfmz{dTCer +>kf9+v!0Ch-h11)I(<(|mvZ}B!aCt=tI*wsmfz2)PnC5WKHZ{ew9w#~50BF@6wQe|Z1fSP5?;H!M)L|rr@_QmYQ3t;P!EZ!Lz4u?rU2Amqiv~2EKAX8z%s52b>U>w`f{wsWni>TudiK)+G+X2Yt%R_TwQqHZJTkG +akV8HPvvDUid5tl|{5)aS|L~z9Gqk>DA{Xl8(6nQhFfdMJrg5L|QIM%c^ +C@FK$juu!D(YY_;6_|d23+b^rW-}@%eN|~=j(l8RT+ZHqXn5}gca$mb<)M3hB;|K=Di8%0*c#+6pvJI +>+|ZGHmkF84c-Uc}I1V%ZGnXFO9vlAa_{C_0!o!}*)T13H7;Fe2My3+`1JE#5S5=j=qHtB4Ldv%1X;J +{)pgc0mPd+HC^A}>sF{UL7C5}g=nKyzJr3hmqR7@QTuFpcj0^1&=vM^E#>qu_^V75Xdj1u(9kRz=L=F +k^l$HT(ZATFm9mz*pla@mNgSMMXl}@8!nYs@J!&=dJKz2*>Z#UW--u;pXRDEqHnj4i)|A*t-t*+n~Q7Z&#C#Z$bIvbd(l +tmB!V!rmImY89_Ai3n&xQu~qCy@+apI=^`pPk;EzaH7=D{gj4ogyPN78p +m{!I2@D@YOz~w4qRZGe&Burr?nRTUB7YmuOW-oaZdCq9`l)KuC=nIDk;!>&xco9Hi3$E0&bvRY!Ixen +GWr-T>!WF}t^LLjh6@QJ>MfQkdG6yl17kE))(!%XmR<3AUjMX%4q;%eCl*lk8DQIHec ++^!FN7fjtU9R%y%Eo8e8*-seIuo!|erKQbXu&bcOx<&z(oH7rqTMGS#asrcgMe>8^!s-j5=W9b| +k`=n+&r}tlwZ`G(a=s3$|{_V@}{waJ2Kxe|}Jl%)Kfe{31}`k?~U>v>opJFbW0bZG +NRyAw}$B(%wg?!*p90_h_^hE&YsDRUV-+8OX3U`if^cZ^HH$1Xt2Q`HI&Kh-3cS5i?dQyMQyvmgF@>X8vRK +S;Gl=soT*o3#+Txy`k-t)0@C+Rnp$a=01Wk-ts$4P-VCaT-kE`2j +XRr%2-Q%YsLn42oKA7WP$DsC3E$mFiKF+cg6*E}ktBF?Mwo}HDorEr_}~%Ut& +oYVVjmVD63I>0(2sTrw3>ZvgB*7vE{409Z-$ekGB7qX;esk>ZvcWrnkrWWA43^2N=P*p3&h07tHTu1C +>H<(QO|uI6Oe9n{ug*Pt7NaH;(qg$tFMI(jIK~J6&oXs?NI}!jX4d9Jo9QWAsl(@gk*6Xgn_fUjZ;Bj +fuu8Rg%c_;ITtjotF>IOmioEPX8T0#DSKrr%MEqT*mPfMpI;xVT||$Vc^?KtFw|#xYDM{<9PM +Q*Rwpi<`?L&K9w{dy&w^+HU>>0DO5Uoph416XM~8Ik0ym$dd0Z0~_}NTtgz?(z;|4#K?v>2g!`46!!@ ++nT;$~a)vjW|FNkK~&AIA+=d=_?Gzsio0F!P?; +$WC1s=iO3n*sMv(C{J#&G=R)2Z`1_=*}_*pfl8l9rD`U-i-q0u^}%b#`Fl!{W2As`1*k7Ew)!-a;%xf +8WPy<$hb9KHmEB2u9^x*%~yO!vVt?4A^Xl|0$~EQ?AJ%De?X`fViq>>65IYwM5Mo*fH@AKU;+);fX^Rnw;g-m8M~NzZNuk-8`>#Ucs}3 +DnxtAUGlJWT43DlbEEov(6D7DinX%*orL}IX~ZTlpJ%w@L~O#9F%3y*8;i^JbyvLTgpgB3 +{sjX|6rr<4BECmhK`wTs-Mq07H3%&4W&?y4Nh!KV6k<*lN*ch%({ +ZZ679UHE?3{B@I+CaPci`j39-Pu_9Yz|74(=>km`0D6*X8b<7vxe)A%Dbp$;y+H*>o5$U&nwxj(qD|+4o6Sd8%r;+>%qker*J3&`@Q+)2Xu5B) +d7v&DY#unb^I7ez%Ve6Tcp;kgt+~q0dg$gdC@kq|^JJ&5>~_LChn*+=dZ2027L?W-SN^y!x*LSw-wi% +D{O0~SBYnHu4jyvvQagf^%(Yc!JX>N37a&BR4FJo+JFJo_QZDDR?Ut@1>bY*ySE^v8;Q_*UJFcf{yR|NJ@1?R&a3mt>fZD +mx(<_4vdkm|L|788lFtAD@5Hnuux?}HCF=N`^E_nIl0<3tJ#d(GJfv%HW>yG~98-GV|Wv#^2{A=!aQr +3z0YcW!33XZl^!dGv%3%LdwGgiST9U52?~r&_82 +PY;3?2gL!7>jFNhk!~kRj3=(+jYvESjKdvOj0!!8RRummDB-j$4Nq=dr;d*8=fablZ%DL%P?180iSfl +WAzleQJN9keSa~qUo{w+uaU=z_Pi0kr@&?!g+>nGVr+=C;4>m%QQ}a1SZk#+)UP2GmgS5*qbPe*Mw^C +>2eD1Oxm-Wi}TDKq*8kkK8sfYEVt9I-HT98)tNr0_iroRR}c0smk20U%M88cVMdt8?TZ8HITw4G1__e +YRI$sJ2U4aL;G!4-+uO>iXchjk?=1-epVz;xJE_D>V~15ir?1QY-O00;n+tx-|ZrU`h_1ONay3IG5Z0 +001RX>c!JX>N37a&BR4FJo+JFKuCIZZ2?neO6&lXaRYo48k0m601%d68w=iTKqDW +5b~UrV*nj!6X+8(I}iG=>1RPtB=9LVM{14WF6F&^d2yc^0ghE?5GjzJsn?LNY17YVesc?XDo +tYKgd$qGcspBrg#RfUDb`Mp|g{bDPF;D#r0k7K_@5CIk_nT^re?Lt*yrmA4O`=fVW$?GE1nePjU@x=X +*QqM(nJ65-rFzBwef%h~omg$xb>FHN1f0j%wmnQUb4j&_X2clid-RT#6luCu4UBttQ9io&xL?Vj(H~- +$@fosLa+r5i<;oBgdtJeu#G@fiq{~08&d +&=h+EX{KModrR%on--jHA`I70ufw1Y9qKBLxC({U9;(xWV&8VrE?0JXV?IN$LI5Mkz5%F(rpj57Snph +=zR*B|W^s>dYnmb|%ZnZ+nauPwz7j8HVLzm*C=T=M|D7ZKHRRe0xeuj*iil|fb0)(BHDUC_6?7t>1r} +BOzCTMUxW@-Z04Yf&)OvA;kHMB?r@r0)#or_`~fDb$mAAE3+j|;K-1vnuZVyLn&r^@chn}2cl;z0bvh +x5m5g1)q-RUIxyffBr&?vS-(exjt1wdckRy|ZK2i!^|J#CYLTDg%9MT}{4KvMUxT+RF=Y-hh|qQ`WEUzevs^I;2bNaB~UidFu$qr}Y6X=gOT^h?rm9-+#V87vKNMON@<;3KtQTlk``v|09Fgv_4wdKYue#2O!1=GosYw~3cym5ohPVrNsY6wsCU%sYjoH_b{futx$#9%Ff)g5gnNp5Zfl=_+-!H{c6bc_~d<$I^`D!&kc!JX>N37a&BR4FJo+JFKuCIZeMU=a&u*JE^v8`R&9&i +HW2>qUokio+o{*Ig;H30fwE1SqscXt%ZIQvMrY6Z)RQeE$+=rD_uo5`Ex+t-LJh}Bnpe&9%xJ?f{0%g +3Yk|-SRw5jvf>O5HsJ=8L0M=H351q7HU~Ul_##`u^(x`$k41<6-om2*-_A7nVL2yvAfsS`s!CQl>Wg; +sDhf$?$D%lxMfxe=c4H3M48~}Yg*&cZPmoxm}6h6|<&FFNN2A4(i9;vMYk9QEBot1n-orziw`hoyB8x@ +cz?>PsQ%->)oHl-yg58F0cL|R1Rm3x2{~y>)OM0-w90N9oHrZf}&tT6a`$sJ}eb7gM~%C7%&M_2;IsT +Cd|pE!UH_ljgukd3mXr&5GSyCbp}VLL~PnQ58AO#q3IRX^@MbeqEwSe!|vUsHw@fj&?xTiDfLHpV!x= +@tj1^y(Le2XwyyB&nE5N%k2K7qbk=88RooJXia|)0Zyl8&68(9r9>04j$Ap~e;!6W}}7O6km2Nt +6BD(^vDrKF|H$btkD7I4?fd%bkzXmbJAs>hjwyl$mJ?`hzyZ ++{Tf0k$tJ$tu*P;w}%Tyx7~;h@u?6hy4uVqs4do(=Si(IJ%?iA7rL`+Nk4Glntp8W~=XCZ!5RKFsz<0HF$a|DFn{gJnJ-sL=&iwG$PAsOUKhvh7th0MXRE^hDC +VAF{Up16E6TC%@U9wWb2X1B_(Y%5$U)(=83y7JWBDmf79=n9{Zlzh=o6w7=-TsFhE~sCuLF7Oe*v{g_ +3V%%I8~T!+Mme9KCEbEkw!xi*#$jPMguybCz$ZM(ZRV#lU{0p)QR{JZpZ;2jy^k>&`!%|DldEs-sGQt +F`1lk~(`mBHCp!zh4K+s|y=AQHkOoH7u;UHFQTEUvYt7oDvrQIxD8>ngI!6uH-mgxeP_Z&79ivJhXjrs#ypL<2-u;*9vEG>$L?!g4vV +zDS|sucMwnbyZ&SlxaQa!)nTO1;MOk4*(W!K!FETQ3NFz>D6H7Ef~~U)2m~-7DK*Hg>QO>m>i!A_; +*CIos~miT3|r*{QXEj-oa3Uv0v>&ZrLv;f3Q2nqOR_MJ_(9eAa8W^H1VG`oC#MNY|I`$JEwIDbYlg9f +dZ3mfHybzL}ru63gQ3~9DK`Ggyq{cNt4qJv +UYlEg-fzAJtxrGU+MJhxS6>f_=nq_6cD|0BI7pjj?1foeeUJV3&Ss}Sq%#Fr*hi1kg?L~Uhu1Ijv9*m +LSp^aF|C?4xJhN?CvrAJhc{4Cbb98^oz2Om=?zoGEv-9PauAE4rK+BQue4I&RDs +%QR=ApV_CqK3xFia{{zL$3O9+R9itT(*}1s;6|fGnxrgNZoFo^9Q?}Cmn$Ng`Urm*Y1pCW@b5L#2gVvp#DtHj+gw6;IVM7pdP0pLLDtM?FW)PWoh09yuS +k4N?jJxDum4C7CfB$GifpOW*KDvYK25EVE3$+uvTUp_xM`xIfIX+E;7L?8YDRAntJF25nMO-d6M!@_+ +)uOs6@{7z7Gs;D;i-ZIEzPyI%t**1d&-++JsHLkzWxS48c`KKb7)UU}?plZoO!~08UlHnhE<*qxp{1atAAkxNQ +c6~8Nan87GE5;TLL~1Q9*kg#7w*o-kRKR7NLe<`Yw`)|MQr6@Q(jn^JZTjsz1%;XBX;ZqPWa7F|p9;R-k=vqgeS9edf7NE_K<}4&HVyXX(r?Ky)WXqvd?E8*9EQ00^pKoYY#dps`_Fl) +~UX`~ZOnWmM9Mm$Rm`77kV;mimgtT+;x$~jIs3j9SQ#N#2csq7MacJDlsP)(=)GztB9Omf)qa@WT+hfp43`bf$hD{ +ovl8!~Z+zu~p3gsi#cQZ(2zLXiYa%IP(%{kay{XbZb{P_JDyZj<1nB!u2d)TWV&wk`eR<%*c8%*frW2 +yiBvM5O*yKp%9B!P2ucZE2%4`QlF2XmvI*tjG;Ju0VfvpbjmMvjxgE4wjm2JNnZ@dAloFtH&Jwj=Rn9 +1%$*s@dYiw9-S`VK(RD?L|Jx_t1D7<(oWC<%^@aUdbj|jvKSz!Bf2)!xgWw-8|MZ>Rsh7SBBEAs&Gu> +>wI{K$Os-O>D}~Vo*{o|EH3I0f0b`I0{B3H^0PGPmNM12}HCE{5wieg423P5=3@~X8?z~$T8J;l|M` +$JO}2EPaEbpKykOAMJxRO#oU+R%qEV9JktE8$=)Y +vlLyU=f) +R>7wH+`PwP_fZb+*51*31o&Mcwr%g>E8qZ;~QohJ=f3;b(?N*2n3zChV061r3mWlP`rHC*b1dMWZKmf +I%K30emcaVF((HhZ=$~0K~Otmk)nj`Gm>Ro&@Sp~h2`WFyO$esmj4LlZAWjp=wzJL$D^6~(j8RjUj?l +Kn9{$d20Odnr!y6-H2;Ue273+j{PFHA1nD(UPbbaT^cA@2!laxbWLl@_#rq1&0%p+=Z}z5ioM+0rZg?nl-t&N2?D4z@*5}H)TFFv(W)=NU2{VQAk7vrq!g;1^?h}tY^Z +2CCxzos#%y81wHk-7twvDD4rla<6yr3gix^b!y~2B+y6 +Hb)c;5EG+~qfm3mdq<{THDdNSviQnyhCzS!>a|IPjDlpD*So1m1MK~O*`Bi8bbBTNz1AVq$jj*9Q>^_ +DP)h>@6aWAK2mq6Fa%FRKUt(c$b1r +as#ajDs+eQ-pU4O+wK@c%jXeU9?)PN7?xJhfY_2uFOLEtll6}gf&rnoG3X-O^mzu!0e;6tL6N3T}_u| +#rbcIKP+GP6=G*<>=SOjU}>gvn*0O2bllC$&`hVBl{^BTA!Gro#=r(SsQgYdOz(76`8{ez>@NJ7%ev@ +hUSDnVZRi=V>O&v0plHbcHP9$(_hkRR&@$*E`SRqEz!zXdO>^z3>GGw^uUDWIjKaWs(VPZ(Za`DV8EP +Jj3+?Ub>KZE^2;P?y@Zz1Q#WwjVmKF9Vcp8a1++QzqtJVU+=H>FVEC`4%x!`xgaD`63h^)d+C-^CxK| +D$|W}wEq@dH3CyNw?eoir*B>V5KfXNwY4YaX<>kfY4=~`Y=l02f;bXaWIh^I2G5cO7X3Tz;+6)G!+_V +<=7%fqmD*2KR?y;Yh(M-+YJ+ql8p)C_-sY=Zfo@3oo_#GEgkD1JqtV(I?tBp2d`I440xC$6uSl0GVJP +_+d6o$RDUqH`^6Sifi>{8`oFc`q)*hGs=BxVu}JxMaI^{6NX1S&;3W;32;Q=Z&Lj?F#NU!1U!^&k9+* +rR{Yw|y$|L|G9}$%NdPvSAg^WG2RJ7}gBOR*-1m`CiP}O0ZPr4-C7_)rzeaaG;tafxw6b!?(=GxFK>- +JjgQkvC@V??rJH5kVGpHmr7`2sH?()U*!_~1i{8CEr$YFOkThi2ugU)o(S(|ejmwobR(;Qi(QEt +0R_qmsRSPVi(Er5HT?*dJ|hf=L;L-s$O^y-yhN^193Ax7eTK--rCy98@<2*%2$+3#J<8;*U<;X|oUo)SH4T%32j0HWZ-N5Om(L1m=Kgb~@skv_Gg1ek!fRDV`^y;$bt= +n1${gz*`WW)wJi8+2#QI<2f0GFiY92$%(!VzF2ka1X3ZMaDPy7AS8CwvsM>5r;sxl=C@d0iFj=RbGOC +2zMQWX)1?C;*S@rHq0a70I4@2Pv8@L#-hx#Qt)(BBSA$C*+#56UB|T(+aIu^V*3%1MLQ}l6IY+5{Qi{J?&pY^l_cN{9|om7>s(Obdzl+tC6Y+!Q^wNovAuPsz#oBmymp +ylu>19cG`vC9k;n0%TcsUX>8spYxgMIrKWiy6f{9Nae@V`8|Zz9g_C2S%wvglZ&6+a8c$a7_qcBT}2V +#qTXtvNut2kS%R17bHL$bh0BE`N?6+b;d3(Tl{R3RC0+T&3^LnbS|dE?IULsqm|7<-X|a3z=;TL=D)TX!042SX4`-K@0>UI@!BbTkdn}h`QB$DrRH}WO+bnYmYCPd+f4phh +Q#m50xXtY=QSh2p*h?eoM&4257L*5AFfGE$`uEH0pv>T2tJeGd6eG2@3cb~I-!owEnv;fhRWY`eK~H7s^Nd$9UmV*e)a6>cj(hw +m)~|TpAGl)g5UeP`r6xLs~!CRRM0#&5;*N +7HIP6}+q?`Mcew15<_>AvKTIk<~v}zXC`SV^8)EIqW_B8FS^|l)9*^^AccMEtj@TQp0Gw%5Y3YH4hW3 +I6`S$`Jt7aU0z)|oM5L{Jku!Dd5e`7tJ{N0H?OlC!E7h+xe9f +kgmh^&vTKk>)y`fmX4H8J>c;ID7h5Q%s7+0Er=u8Wq*Vz&b%X7YxOoiPqmMgLat%j~r1e+wLTRixvUR +9Po7=M@tvY&(TvhXhZP<~DF<9CihYrT +=h1^_?oW?b-dw&Pi~-5Xr3vlf(37mFENoGIVfeKSM3TNL!ybFI8G)qCF`Eqxj>xk{3)>r90fUpi8qC- +N3eI46*d5O&pwI%6h9H-_s|fdcpo&*~Dk4g4Bg +~qorp;>qxNs>1{4UY4OfU2YK40sxtO&(;4>l`0W9pY3L%&noHMZ*;`E$66s;nvAaRMPv1Q_d`eAx!tt +`NhMmDCaBR;_{rfbd)geA#DCsA-?Ysm1dK7k89n>O>d;c2)u+IE=Xyd@wzp?#moO~Q!2p{(LFYxD9!% +B_b#164v)LgqmI&EK5xmIrIxRk@Fr+D~h5Uzf6A151F)|C!7L^qkvH`cZZZPQ18;(VY<2Ay&5zP)Tt5 +on*VriD#w<_s{~CH`uQ3p|&YJb2( +ACb_M#$TMhnY{h*`sEcg_}wlYs@ZG^Pq3fBC@6aWAK2mq6C@0(89qtS))}lB=ayawM3+d@}dcmtEW0fS$o{|fGIAm2pHkqU(FEc4AzQ`I<(3-*v +UXg27zoAkxUL}*s&A#i$D(K22Iq;$_Dai!Iri@5hXCiB;eIdCTE7xO5Qt@U|QChHSM+$yll{_oR6LOv +9x7m(<$Etz~l4o_cVI^yh(5IR;q^&BN!#py<$|GTinu`YcPC~jvmhV|b#gX8;va%$sk>n26!UZkNvS^ +hvDwl*dc`}(!r;~}{SMuEsrez9)!&MdIKtJSEPpL<^7J`crG3yde;nbu$3`l&?s8UL{j7ri%4rhw{9hGY%?rkO9kvQjS9Y^%{>>liBmp9 +e`%iMV_Pbzjls>?nMaI>*Az?v#ht)ZYh@#v?lt|bWr7}P)m-a0(NP8c4TN0DMzknVx7PWDzz6KO0Ub} +FSBk_bSXGm4O1g}{F2OWLUcn3`E%4b+YosH7f$4ymEGLVxDXZSBq@KZmqI=Av8w2~gO?lfCfF7XWdz# +-m2CPoi>pLn?*!pdZN!u_`k%k`Xv|vuP@EIP{ThOiO*oN#_BPecsv6x +&Gixe}G)3I?whYkB;fl`W{DdmoPQv^p-qW@NJ@KPt1#$|bpJ>yl17k{$*C!a450>?tiTuw|^fF_|V4J +KCi6vDtUJd!rh!RofW7-A$thmh?(LdRqK328{sg?rhzoywPvQ8Ax8XC>#ZsmccXl{u*E1jg!W8LE8>~ +Zr}}ooC2%kGTwZ1tYMrT?2+xVm`o<oO7$=FvIUT}p2E6d>qgTJ!gXq(X}(ATJ_X&96okT>G@YXnEzaFiAE83hb249$v%is7yrS-vYyr +IHk-0C4Vv;zXi;f0fBz7Jk9b|}uSml1#!R33s*l*QZ4it2-=w^$$sys#7ic-$=61=r>rLoCtBU4LoBc +WBjgH3z?-t`B8yrxYnFiI)mHQ`&LMj<$gR-jf=aaId{#|nrS%$SK4rA9p~yU$4+hl(%5X$) +G+dwU`VtyfyG`&0$-9JZ$y-_r( +^!tgx~YE3h97_`2jo5y3q5MB;vKl6_bO-(r@o;8Isi53sfLrP$i8W6dH&?djy3ysgVE^|?P +Q)Dj`i^glM<%(GO7`D?6jgM$3P*LNGl-XUm?RKY1n~6l%bx+m +8J8@@4%nD?>&yGl35PU-eQMx*vkKaE^`P3!3q*4vyGe&y7)+HRi_(e9!O3Rt>yy+utWUHSv4F1OdYpu +x)>tIHZo<19cZ`@_*sOiV8v_xBPaK@+eyvK4q-Zkj3COD82arwX!FW;4O*8Y__NZA(Q_Quo;s?<#M|) +apzjc*=D;7IKhMrKEjAcefLSZL1K;$WgkYEZ7O$}a!V$JT!oK-kBZIzq^8)-h156;;gKfbq8yX!;^-9 +Nw#5ewcUH{0qM*C%KB=Zgx)qIT)X#1_mQ2p#XVC%k)DS_z_>Q-!nc(rA_7BhHo%^w(z&K_SK;}bSiFy +Y?^6V~={9bQud$2Lb6uVieza^&&qkmE<0rfLfe3!5t3dCaHPdV95xgAP!Ul +Li?H{VbiM-sTx#`;?u%{u%4LAkEqPAi*TI_*ehL0F;fhZ#0NzO0o3_!|B}ZiV#B@y5xt~E((Qp-Du>< +zVo6t9Tj+?4P(5stQ+wSV5sWCdMi4GZ_YbGaH%CJfrgr%B* +Q9Qsv2f-2)z>;c5Nz&EZFkVeXj(2kZoQPiF!x!7jc81cb2M3K)cg^3LuuR^mjGzE#-3s^|TKnb_4vJ= +PaJ|6?Kpu-f@o%RWqXF0=clG~SFGN+4dbm`fX?S$zcC{9(Pme){aiI=xxHyuQ48o!-2?UcbTYLU9ag7 +s<1qu3lWG>sLQ7BQMw2&(|;0U!JemFVc&r7thzRPOsPhNEMgm1d^}`+72!w%}bh9Z9T_wr!f;}A`t#5 +`+)z}@-87VgovIChXJr5kPfpP#EUywpjoR>TJ0~z>^l>hzA))EY{D>Eb#R~Bi3^i}&+V6(8IPvzL(9e +)H(0KYi@vYRnoS~A>QMr&&l{V|b@+2HFyRvY*fSHmDCl?v5Qo7w@>IDi2IOH%i-Bj~sFnWr#S{&oJ;M +f@Rhu2I^Mu%=qj;bJPci#fmGh`TTxVU7j@O+-mX9=`q7EZ6;A~3<&ItV~&+}H0drU~2Z>@EW1QX2*jRAo^64wV}D8>&|tV2Y!2x;*$;IyV1+v)0{7e<7bq8+JS4>s&e^0=*I|s$nU2C5dnljlH;|CunuD+DRR}(uFX7$oq{d)AHr@CeHb<^BQs@^mnvOy) +9AJL!#!tyE8i5ObEe&l`(3nAt&DB;hd>dh5M=LZSGx$CLz2MMR-xhb>lG&=sbNoe%)s1Kew5KSI21s-E)*C! +Z36PW{p&2wj-za5U?*ynV9?$~x?T)Ky!_Oe=V{&^u<5hW_MzGcjsHXK-fB9xy(nC?>*qxB;qsw(zwdE +^)_;Z3>9du$;yCi_^=Ah;j@(<4Z@G}DWy4Rn@d1YDN**D;_x%3eN=gH&oprb-2&>xEowjsq6+95EQ&F +H@RkkAPTFXWWGJ5a`>M^(iyT8w#B7RIVOZi-7xpBd`Z3_{R52BPr`496OhhpI8vnY@7j7WY8qu6WGZr +STBal6&4l1P!TQU1sV!kk4ys_h4#DMH`9{wSeIPSFlpzWV0o+FTeQmi!%#lGfd5_pti83EgBH5RE4E? +0_E-p#E*;(%aU#ESJA_5x4RMFc}P%Z|2(E@Cs(s=CYv*mnmnoCArJ2a_9LoZ(p{ +Dxhid*Y74OlFsP{)y`-ED5l1e{Noj+NXKTC}tsKTG2z7JB}2deEStL!2?W%sXZb-JMH16@L*l6e1Pow +mDwaUv8PiTj3O=jj-8m>`cN#;0NnHQ(X2rr`F7`+lvic$wphGrU%Zl4zBvwExt{8TN!jJHAew@u0)+q +3)LSqQC%{B#4FP&q^fJF!)?F5lbHmHEFI +-g8lD98a^N07-qqZN~Ugx_ezkIad`Y5sE4__(=F1g8sNs69YgEu*IiGE1r>E +D2wXkUQU62N>qV-TA{Md6MWfVX#Mk{xPZXmz8@A^ +p4$Sl|E&^iUd@+JkJ*ru|9vwrxa-S6WH^fv`3@N4)gUt{qDFji-lGcSvTahO={hT7lpH2;;!+qz%;(V +fR)>^bHSjg5O`nHEQ;jx8%^uM%6Az){v5BczYGERC?lvsN;7v88VCWnS*hIZ6A>x#j~m@9`wViB(cdgVV6?c7k^DE8AqRmI-lF7ORyuZ +iWrNsUgN0O5BTYdP6P^~7`1?Q4xBHyPn=QRae&{T=v>bjPu>?GAajjjV;mQVG>5%*lTd2rjJa=0Z593fSqNbeQ1JWom{qq?pR7$nT@V+%bgn*ZUPd@ +#paQcH6p_#?a6ntH6rg67ZdjFxqu;G-{kN1fhL{c!JX>N37a&BR4FJo+JFLQ8dZf<3Ab1ras)mUqfv1)a&Ne?e;rf +7Gf}1k?c~IN%|yoZfsIov$n#yMvGVTFK*M9Z{OVCy_vB4S9cHbrF&FD4Xe3IDle5wGE`=ioqJ;^Y<@ +QwkXFL7o5q6)^m-lEMro>ffr}as27^p-`05^fw6JqhaK$q*GRuF7%#UkXxmYm=ijfm)71!wR15!X-v( +cDMU$BMIV!vg%bOK9$UX)4{aE8cltu=N8p$*TK)Y5GN*9pCFl{z@Ba;IcCZ{Jf)v@ICLGcTV+G;`E9w +_|6DTarFaqgDkXiLV8zr^F4(o&;B<*@jzpGn~GA_n+BtvR8<;dfyhMv@+vL?I!GVR+TyT!p)pO)aSSr +^XQnCnK(XMfPYP1hs+Z>CLD7&&y$Zo`Rf_~(8Yg`=MT`4-d4(Rf9y1}EJ>qf2$1+|zb{w8S|(jMcYUB +>*tsDbCeG)k@;$b3pB}v(OZF&P5X3?82CuK{x6uWI$4C4rW<(ASUvlNdptoON&MpgD?6XM{Rz~g3jr- +?F;bd!ZVl-q!_N)(M#P~-&&wT{CBuUt?uj5wcegpB(+fYwy)^$+5XOJU^VFuI2_k7Sfe``5_u-zbSZS +l0m3$_$1WAWIrCC?sR$umk8-Y~zRO(X@4g$X0oD8;tih*mfvHBZ6@)x#m9az+Vz!Z<=0EBb&nUvsJVY +-pz{;fCS6B{{U?oAbVphsd?PGgzxP#~no%W=r;N_>*9qEfv>~%qdRl8piXSnaW0YpO+c0IUQ!7my&J?f)s{JZAw_cN`l+<~| +YSbnFE;CbQRI@#r0TOqj&K45Ph-hm{RSH%+HZwnIbCUCQ!%C@*LsiBTij*T=h=6B->6Fy78;z1w?rBb +Z4IM9>=X0nV^KSU*hjf~C&6TsV!efFHi^hfB0t9hl6$h`qC2t!6dv_A?_PPrnH&(MVW +#c?ve|v4J$wotjfkh)S>_Da2`-2L=g{;$%)cs&0^~#KfAG&Myp&L#Py|-8F|0q?pJ|}$HD%3Po<>8;6 +r=n&Dgu{ItZY8Qqtp&UKcUP(ZUJVlfy5N5F?3prXAl+y@{^d+nqqG~kM@@VmkrzVygl8@T@H{U9<@wz +n9~j{yDRoe-_#nN#(>g*fM&=To-+oJ@Q@9B;V?zHrz{rL29D77DJ=UU~HNquF@)tM1Ym{8?}f4BG(-G^Nm?Xj6)g=#HX~0=*d$Av{tqtl|E-m5=el@J*s`Ke094~*A;Sw*B89rB*nIKj-6V36iAb<}g(|9{K`vdX_ +zrjgRJY;^eJ^TRdyJt%E`_Ju5*aLd)%(D*OFBA3T46ZiYRh-7(MN+oXEm;yBeSf59qSH4G(z#JR3 +pZ3r_Pm<(U1s9EctM3M?LagqqJj664fZqmZPgh63A3V5UXd!y3GthL +0+*&F&e!QO~Sf8Oe3o}gNCs!d_0&CVnIZ#DzrZYxLDn5p3~`%l@z{#^Syxa-k0urHd|xAqPr+&<*wwj +QkFC6TqWG>)4zQDdA!@$eS~RXk3$H(0K*q&P}n-8H52L~H2bjpS^EGok_#aS +90|XQR000O8ldVxv+pKr?eEQTEgarTq1P}lKA^-pYaA|NaUukZ1WpZv|Y%gPPZEaz0WOFZHUukY>bYEXCaCx0q +ZExE)5dN-TLAW1e2aYmqz=j3LfG%CuU~3z!>xLo-1X`jjA{42KR6Ot3?>Ulkq+09d`HN^C@9yEfbFo+ +?cf5GyTfqvW9hX|_E#peDR<_t`8m>#5EO0J)!G5g;tBg`+N2iD?v}3k5y(-y8uue4QNtBFZ(=>v$MuI +LibHv!Yz7rY5H2Zdc$x3NCi8}AK+qa@TFGXdqZn&}{sOkihmKA;1L5tcm&Nls)q_ulj8+}1swuU-FA& +vHm!CE`l+RKZJt#oz2$pG`>6OIdMZ7=M_SKof|HQUv)s9C{#D=YzpgiZh|P~$i=6_8eylACNRTwW++M +c!~%)O6g0YqzFzq68}P4+{d@68FLWX9t?M2hpaZu7O&+XO^Ctmbp~HDPmLyeY8kXn5QhCl~LxLIK +SfhF;^6)=N;(qu5Szs*S8BvfW?7;c1E1|f2B@4G^nm3|!eXB&&1Q%yHJR~~JRn|MHY=%3NZzKPkk9Qy +Q>(@VA|CImo;qBYow?9I8HM4!0F#NpKsf3q$|4f=HER@VP9M+6sHn3cWze$qB)vc}!yBgtNrXxzaW@% +%}UWvTru3oc3acgrry=Jz@xo)4XhVV6H5yA%-0*6IBcdQnwrFd)=-&26%_flE2X5vXu@S1*G`xp*-80 +lfw@y=PcLzH=%g+lNyKDlH}p#^I@QOQ3keg*ddXMt~r7}tgBOA&K~G7r)rXd`?~Qp_~`k%CQFN5~OKQ +gm!-TT#eL7RaJKMVKadvf2;1Now;Fu7@znL9jE6$ZpvM{_w6eJIyx8tFrVCBP)|NIJ<$qXyIT@hTN3e +M>r&LFYCM$iaSa_ZO)($X`thkdY%TiQpPn5gp$spHwZEu)fdo4j0CST+K;#L~IRhIB%AN({@I +uj#3U;=)#?QON2Y0;Oxunn=F~!9dR>Cg5|vr#$_rs+@};`XB0_GPo!Tu@5JnxExirP$eymBc_Rfk^o7 +-Ck+@o|qjs{qGQ2!h{fIAp71uKW2GVB`^!k5VV9c0)82-$FIM6f#O_qxktcnR?~HER_8CsMMTbC7F|!6bM +uSFIJe~??U`nrPF$3r~By_c(^N{b15QH))saBMt6}m(-m9yxKuH^P)c%G~8ye&M;@x~0?H(b+=S|TB+dx!msU{1 +Uh1jyir&v7kR4fBi`a3OVZ1H_BF;MwqHq04&(|40JKQ>Fv?a6+LJn3tEXK-K(MMp3?hB)>;E{xXXEBQ +1Zz76J?7=@QBmv4*zC=z4QYPI_xlLVXP>9*bE!b!e*M4z}S6qr;1GJD_Z=Qf&@&MempAAyhU4|aT +_jjvfBbr`WoMVLgFXDkwqr1dRQ^`!oLPC$HN2-?Gq@N;1di=tiY`A4rA>yOrmFJk2~IN?JA7QgS@2|a +(0F}dBx7ZI}E=*%kb)=@3oib2Pi6+cvetw(O@(k(hj5OR?^%`db5e3e;boAEKP=|d!jy!SaIO+=*Yq< +50vFd_R4caNqN9_#qfH<$lb+*WBrr!&lm!yH{aC+=2iTTjGA~6@!eJ&9uVXWdbL^ENX5IsB|&KP1dKD +7k#-sHojETIUY&)@2Fv-f65oNtJLTv(7(jR-;kAJBu5Q0Uf0%E94e2_hgyOVaA|NaUukZ1WpZv|Y% +gPPZEaz0WOFZLVPj}zE^v9xSZ#0HHW2=vUqN^%Bz3m34g&@lONS!Mx?-IdB<+AA3uIcNZMHI{k(6D}$ +ba7*UnI&eZGi4W4J4Mxd%uTwN6%%oB3U+XbR$`o5x%M`sR^B_s%$jN?EBf7TQ94{f{TTJt(1S#?4#aD +TDO!nuhWbR&7`1Z+Gt*?bk0krwo0=Vp^9{GXLGco&yklrol(WIyjrcOD7h|^+C;OPQTJuV%JvCQSR&q$Ld2ODK@mkmPwuZQP?mymLzsoLvySn^6yLmgAyqdg(xXh +0%kIx8vjMS>uHI<5a8Gq5TVXE8jYj`2HL-Lv{NX;20g-LSZvy(2Eer?v`EE9AEc};*UFR4=GlIBb1yo +=p;V$B!~2Il*fP&LZ|1Q2!DrVEBHM~ZBgjFluu3F(<3y=`VLKWc1OMx@|!Om3IehUg`;)VKx`E4fV_5 +f}5yQQ@OpQ4Bxeu4;70=c!9@bZp!;s6n3;sph1n`3Eph5e2dtU_>19O17%jY)o#m{tNwNZZ&+g*8 +&saBd(ecr;Bpk4+4yXjTeav$+D6_y@Pz=wGRgjFAY$2 +?i8bW)jcl0NZWQuew3))slUh~_4Dj9xhIMZV!$|I0L+|&tZKO!Mzqf7T(KokXb0QlND^|{jh+sTILqg +?3IZWZ_8^kU|GPaPmxV-}e-zQ}B91PVh=@O7sGO57FUAt&hf`fxGK}87f%)~x}#bKWey*{MF)jdLtg( +t*kPl+ksBeiky#P;nI$JYA{= +8eeBAyZuB{$O$i&{1?&vLYQMJ#NXMCkR_T&w^zB!T=pB4(Es(dHcR#_6^YC`|i7Yvjzv#r}h(`9T-2D +FgVrVo7F_(Cn_PjA~lm(Gt$BEkYz{)>HCTUD4|ZWBKCTdq)+@9XPw#$?@Jg4(-5pzSeKWyt{L=?C6jF +Eea0$bWsJNTX)8j@Z9f*CorOt!Lc@7#UanV&!z4sn +Cree)&d&oQoneJy>dSI4XG^ +p8%=6YpqJ=_S@ +`6X7C_jupeO463HoXvkMRg{I`fs5W-HcuR8Tf65#i6Hu|~|?8lYQi@Giuq>;cNyygWnL% +acDDDV-`J?O%xk$cRF3HqaR17cr`dKP>hoq)COU?%?hy0064PK^3pChwqX-3Lw`w%DF)r=2pMK%dyRz?Tnm<__i=X#7@T6xtACZZERFXnrEN +V1zNo1Q}kss%J!^+D8l&f&4d6S!^|IL1_!q5a(6=k%7;-y|!OpU6UWa|8WQxlF&l@?BId|ZFJU{5n;4 +j!-$Me@n|<|cv(CoKaY0xRxiyiopJbImsF#whjgIIoKlEo+#-0TGhtWNl*NXZX ++pfDH@e2z01~0$bq4q!9&Jm%|-ikvL0+Fb`2-t_RzCiPr;jQDbWyU-G<>fuI?i<8Knv&cSJV)bf{n&C +o2W!=FyVsEx?0xv|^#*bR$7^ujP=siz!Fq0T50kHAnQZxqTGuE +T&{vZKy|Fjvf2O)W>8tg)=nBY_8iZm1N@jQwXW6p{Cu<7q!z_#B^T!fTc6jgR`_r99Z;UP%-!VVpS~s +Wz?eS3GB_9w5V(F5ZGbhqe^}|l!2`>Od5_x@ABZ=1QY-O00;n+tx-`vdc!JX>N37a&BR4FJo_QZDDR?b1!3PWn*hDaCxm&?`zvI5dE&d;>al2pqYIxbTC5L#=2~zv`|7Yig +R|f+L9;9E&1OBTw@8eLpwkgtJRMchr9dvd~tVo4ykK2!bz=clI<~j8jukKTJ2Frv)Kb0nIB +*@33~r5?8P$zb-SicY)gb4)~I%;!9G6Lk +!u5#_7`TZZ7WqdP#%T(^^8=bRzw{TtwZQ0>0>51pJ25A5YSJt(`0^ylN_Dgwj*$5fj$O*H`1Wrb9mXy +Y!A|c((X7J$&8<62ut9DL>|<;{;)YkzG7d{h&Q#cuhQ?vN=f@)Dc{W2y%?>nP`TFKZR6meo9_8)!~WA +*BIFme{L5x~&-7CRsMmj8Qa7cg)3wT*7S06R0!&O9?aO +w7{__x}8j>tJNu!Tv8_74HaRfye87mc)C8XEw>p>)|LL}yTzS9`F%S1!9RR7y7?C +th0D0hYFG5Z;c{r;@kVpk%)WH5~vbEob7s)#d#8H{hoc3F_wk_gV&Tt0z&m@$T$fia4y3_+!KV! +35$$vPcW|mkn;0{H>tL)0@xXWZJ)I`$#Zeg=&?=rS++yT!1?sw7>?;TDE5`Kf*=a7<+LD}N%plt3Rq> +EVKh+*x1oXCGb!rMI>p5%kk1M%kpWEvI20VG11@d2s86<$)((z+^5h=DFly^bu9}L-7?p?!`e5>c<#LBkc+`!sKf+s5U{8<&u2veiGEvMkct$lkx)F&;BHIQ6Gv@6aWAK2mq6jiqLuN!PO3F2lC3!fp#7H#V)OFB|YY6SW3JHv-WO0<(=+x3U&!I>fF{ZO()RkE7owF +7gTKuR~fHE@}W3}`#RdNWG^d+0@wswXu +m`G9@{HKuaRLqMK}+(KJwGXqo|;Is6qsHoic~3OJsC17ng%Ac86RL?y}tik1NPCJg6 +0UlP|)~(CQ#IBQ;79@yu6NHO4rTKV10OIE(9tFaRA?D1(0dLz8NAMqzEs!q$mqY$}O2p8ctaVSEU3*p +G-KIHAxsH6`Y2qAxX$X#_C2H8ZF?dEDqo`PPuUcR3W--32pkpOnJCeqITqdjVuQnMhk9KgsK)O6ol<;M3>@WH78w)2G3>0wbLvody;L_8O|fu57`9I7yPGv4r +71r}Z?XSestU{rObIVkM*@^hMD96w(C?Rv`wv$H;N~AMKi}Mu@sN<|3=av*k~O+vhCWsk5cflt( +loLWgHd<)?Shl8>J*$@61nr7^x_&k;DiYOo#fml!|^@J3FO0%yrzfABk<+&{<6rA&vx7uNo1i +CitM)JHCu_$0)AfMz=8F|Xx*?vwig|;1;uH$G!v;Fn{nNIHpi!oa&Pa_Z~{M +b%_F`D|J2d6|11ArLeTFtfV +@TM!v9b1ZgeN*a-V5rfd79&E)rYwwI0b$Ztb!TrEIyOf8pL+qwxT?zFiWw4L(4&70d#Y7wI8J%m8r9@ +fzR+L-5pRWEMy{Nak8*jsJ-voQ1xU;)+0eM}PxroKO*<50OxM~rQvaSJSh-5eA3r1A}5&RAiP&<7n)X|9{j2|pJ +fv)VZbCUHAqsIk5Ew0WeI@9;`I+_N*x{CUa%wm+8on#r?=_T&C5{$p^d_b~0b7c%9BbI$2ZiuSSs5fNLE&{(Vo1uMX2e +-WCmMmp76I}oEY<}b>w>C$eG4bSq+9AO=xb6ztzfG}nrr}ntgGqTpmr`HD->?+_j(mEaCkA +Zq%a4`WDJ(v%g$ntVM=zLHB|G_DZ$9FeO0jj9lc3URG=jrju%L +8$2#(tOc4W`>%PkJ4C27+wP@hsBU4k1L(0>Qaw@HBGctAq8yy{HYv$2=WVqk_uq!HtQ13C8G^YsJRzS +wxr|FH3J%`8pnx!h)~PBiYU>IKffrN%(Ht7G9NLr=z^Istgq`1bNPetI59SY#zN2KT6eevSd&i_({si +Xt|YzdalJjv-%t9vIFC)K0p*HL5fbkxo`C!pZ7V;2QxP9bASoE)LMElKo@Lkx8(0?rPt#lZbgDf*SHa`YQzQLFOBds3`yCDM34X&SPtV= +}S=$kfWFvuq{RvCgRvXz?T8GTJ&_Nuk9ES-m18EH-B=9%H(WWqw55>{+-Ct;4QSo8okbI#aB}T1r)UK +4DDOk4KLlfE@)&PxBknI|DXl@cSO#-_pVZ7uYGg8>HJ@6e^nd39bC)lki=+}yFP?C=AkZra4^c=aqko +Zb2Q{p{6>v95=5cEEZXdM(``-$BTTB!!-i~-Ic*d6@o7E#X-_3L3vY5*Eachrin56W-Ie^8ejG|O$1L +z~HPoZ3wmwSFTano&?c?$;}+dY{Pk!q6cd@6aWAK2mq6Eka1L?~8?BZ)C+9K +E7?YqTPm9sl$_g)&ol?x{^Ndww7wKL2c1OP}kjWsp4Aps^WS^RaRUXu@Qm#amN*33}j&$ybulgz%(vX +wABdNM)E{!xN2EbR?Q%-+Sjr}I(>w&yknZvO78cptpnHEy&hv3g$9N_yXVv}wdIC(&t`Yju2LIjdJPI +|K5$=Nuh-|7mxow-BN|=$R0Mj_*1RwnTO*B2 +MRT>JylzB#abvLNthrGkXfuU}=|H~b2g5`sv@C!x)X{APp6niV+{l^JOv$Q@If2kL*briTg|_9xMm?M +7^SWy@mBWVEuxaabrd7bK!h_WgR^sxi)IF{|4S}3 +-abYxsa{%*(oeVyODYJTAz^DI$M!gV5|;03wyHRd&sXfIiD*0j(FfMQ|^^a=WGPwZ +l~~eb2O>3>I$9&PtyKI7uZ<@NNLNc-wH&lj#c3aD7(Q~6&h+I+Antky!I@;nBtVl|Lu-i|C<@}LMRGP_tr0gxSU^N9 +@w0^(*2$1C!=2N)tPKZ9oOGKz7NdgzVH-5~Ki%Hak7da08ca7 +d}T$EHP!l;TlrsOj8_=KDUrN%bZ0Z7)?slTgAn!x?SNQhB{3Yu_rv+^hVDI@WB?- +1PWjI1&aivVlBDjr0+VeDyFS5V;xu5 +rmFZd2JQLZ%KgkJQ2FOShKrfCGva#M$E3!nAZ(i!>3`)li$>Is%>$j}Lgff$aa_ow2Bkx!PMKLbfStV +WJ54<^j>$@gOKBUe$L2iqM9AU7Rsqfo(k5O{=ugt +gKH)))}3)H8ub*#LeHlA*$Ce%H5k!|Pxqo+2^Zj$8k1{W+3yn8Kih5@&%qh9Elvk-x484pp#^`uyVG% +0Y5yF_0E9v$_VGz+hHYvTt4ej}k?z4WI;(8^WM-w24_!+fMdPjs4_64Jcaxv`0>ACA&co;96&g-@uKP +3l$DAPrKniQr!dQU2>Br=yfv%`ALY1+oR`XF)C%%J==1x6x5fPr98FZ3;$m)ls(W&I}arVGYXqmjTgV +dW5w>JCFA=ejD^u4;^1M@4LUx1!rHVI(o-{?R+h^p3|quN`kjKoWK3MA0M7}3GK$$!#ELd}83^S8>4s +^p0R?z2x!tLt$|fHh;Vz7gye@-wH#!dGOx+yDpWu81G8#3<0Z&U|_+H1OhqaaNxz;X+SvG790gO`eQg +9h(BG=NXtdpb)XC{#Rx@C9J&Co!03`_z`nQXZpMF_iog`-VFcWK|$MMG^!Vf)#g8BNb7*3+8F=JXLGyUo5Yi+0cq^MHwR;l&r9b?jD +e`4ZytdNjK+$jbyAB5oGKb=^^9)#}56#Sx5`%gea?4@B_o%>t!)I)c#OZ^0T+K9bCKz{dj;n$)IHqJb +=Tlb(L$Utus3cT?-V~Q|Po(UKV*|UWcM@z!>-t3rxqXRGq$^no^7@U@rd=Pbj6<01;D4ut!&=JtBfDr +i@yP0}K4Cscbm?-K4G0FX2Qm9i-@7G>$k!LOUa7qb_2;eocM&nikCgF0i@@k4%k%63X!tik^A;otR2G +yU)JB!_e9P)n5+~@*sxizTOQy55kp6uC}ZS~E`z@^$d>oAVvpqbE&%Itq9p0B%KaV#ZmuU +9^ECFQ8)TgyW>8bOq(+Ka$vycwobtfL$ +`{iL$IkkK);TtwzjY*h;Lo>I`8)ZG~HKAPdc2vG!p&K`H1+lLxL-bhwwuFf2F;D%$7TA|3E8t?9l_6a +YHE)ZbzWa*$WR?=wV&RCfE~*CW?+oq)TmSVl_y79@hV +dz&C0-x4c2L7w#4kGonSJQ}F&+2_c@4n1B|mu#c^@|1a18UVopSMDc?cL`_pxH3WT@xMHE%XWe7`w(P +U7GAofc~@Jt-1#_(c~N^w>Uj*-qQoKk%>d9CWK>-{o&tfV|@Npq0JpdSh9`VJkOIRWNrCRW=b+?N|#{g~osYv`|#M9EqYVM4tumXN2 +(rH2E5y7l)bfyXVLhy&Wg#PrT|4PT!tmTsY1I=0HiXzA?P5B%*+4o^O25RG`LtCp;RwDNZHL_l^il;+ +?r)giru}5CoXwbtL;cyYYva<3c!JX>N37a&BR4FJo_ +QZDDR?b1!6XcW!KNVPr0Fd7W5oZ`(Ey{_bBvcql9bwzhp31_V_wAnmqdT@W;Ffg%W0S~^*5C{ZOTr{1 +sMk)k9rmebk>5=*=n-aYriqYEi2lBPwgTM21OSk(xr3Ee2cTMcRVKAX99F1A}%Z~IrFX0yU*Xjl`ctk +xiF%Hxc)UQt%%qR~v$>Ih>za`ZA4eSlO`xdojzdtHk9n5=}aX(pL@Gn$aI-z9 +BAD($5bgzb*oTY4uc`LAFi%m-`-A%;Ldh;Eot@uvX?L>%h7_KJf)%4jH|d}D(i)zRwf8JlPgjSSy9gZ +gS4T#L>DB(Xoyxftv;?zL)94hUgLXwe}%SWTFCt~V*3Vz+6(>r>E=^<_4n(mf6{j!uCL!*|ApZ%CYCQ +|1V2_QMzEn$L9gQ@+=H&9E`Dr2Y@L!uhUSiwN5*a?5Ux+RSiUl3Q)N< +OT=6&d9NC3nCxc)}ng>aTb)2Ff}I&r$SpmnlC|m(TI?AbO_ko@IAIGirYxmIB_cGEJRoBndDU@g)dnv?h2a{ +>|f2yFU`Tk7NMnVDdOkpLnGxj?(0n(DH5>5uyRDlGg(hWT)3%U$qI9yOmJyAoe@H~X(w_krhWA9M-`_ +co4`7GA?Vuk{AJ}?w>(8`%Gp1HS<*#>$hNl7tcY`Gg=hL!O*Q;(GFsUg=nk9sy*&XiJflYgBwL&UaRkR ++PdSGip?xn~@N`1XG~IA>Y=f#78s`e++}jBn%}2LLfz!rkGg0*U_IX7%EgttJkd1f*t~`CBugdxm#1VLs=vpnu& +p5-cd&ss+3%_?b)*R!gEB$U!@J8U)XNkmA7#If>xr&X(~cOHiPMnu$@Qc@tZj+=4vB#!N$}OOLx_RB^$h?d19Gb +$Pa-d5iT8X$rgdH=&bcrMUcDt#MHsT1a~l6-s_@F2{E0WAW0>O@u{%JkTMQBEaZCD#AGZBj)S7*YTNx +~{Nf%=9%^jMKcKp;bC<9JXie*+o)L9Vb)ewAztvDIHj@?7_G>({IU59nIN66F160pxF!QtVT+HmJX{R +^^)zX(=GcjhM!a}6I4ukJt!Hk|kr_I~>n&$OrJ2bYg{XHUXt`8|ECFnVIuW*H`4(VBuBO}-!Hk#StV2 +-NyNpG1pWPnGZe3xz}6_#VVTx3V675c(fbO9KQH000080F$jzQEB|3B7Xz`0DKJq03ZMW0B~t=FJEbH +bY*gGVQepBZ*6U1Ze(*WW^!d^dSxzfd8JodZ`(E$e%G%cJPeXMTitU2?Zr*HqFq`vONSy02wFO_Ia8! +YQc2UI|9yv~uC{`;sUB>T=ce@i7r&nQaUT6<|7%tLx3?{OW2>q(VMn(o +*S)S(K7iE78ea_}fjmoRd~HXy!dgOAYY3#~_^ML>kM{9{N->+i@FP2)?EDVK<9J5U~$6m%C2nkB{#@( +#`MZo7eRH_2uQO%a>8~;`{@B_xj}($;g)&Rm3Y28?a4nl@i9C3T~|CTa2tb-Mc`=UopDnjJ~so;NxEh +qf|3(dhb3k(SRA~(^q?gMxrRn1v7?Rcp%!CCGGbz=w2)q{`+lX>juG)7&{@LAT`SmZ0F)9iH3h0uAu^ +H4GCdNBQMr-F%3kZQItdhMsm!WHEIKCxaD_1489f;l`cT1y=niWF{lCo>)wTspKGml!5$z`z?Tpo_$40t;-og@Dk+Sl*j%z^FhU5OB9)H&z?|o=%24`uT-$~Tkay@CHrPEgWGB>?2{e*}K`07Eq_S +<=%z7UL#KZcuBRvI@HKv@N#bSo=<50Yn;-T|y)JQu|5GH4Kjja*B$(vzHr>@CToLl>3`2-ly{(O=65k +XJM|BFR%_(ce)Iq=#gG&Y>^{P4}kqj5GDYx3o5+)n?*rEdC<;xg$b>GCOl!lzs`1+1aqmTgb^VsN@;q +K`0rqwD8E3+c3Up0{JWui~i_ewORhO-OB9FX&FIrcQocP5m4VFx^N$xK?eG#ZqE=XXfTu*bi2I6S%>l +dFuxo?lV2>(Y}>US1q(-lcjqVJI*w}uh6h-W}`JT>GIQ)Xui)!REJ3}WL@;0#5W!1 +a$1mgL#9Nqm+^=@3>vEV%SuV`ELc^e-g-TaH?+#$8;?{@=)dP)h>@6aWAK2mq6anvT&gC&wPhcoBQj2okS!dT;-H^3MX{h*B_{A9KC4%oO(l4-x=wv*y +CFQsl>AooTfHQKwuyXW2A!+_k(0D +pga|B3Cc_Pe+2_~CGPb9jxUHcxDC6M|1f)q@+ju`pwNS< +UC1|N^)z-6|yvmkWKG=y#M0jBEE4KlLW$}^h7uKC3VFm8F=-Lw|HWzPTT=aqWvwh4y59WoPc->HMtkA +Bb!Zh7Yf}CeD}gY56W562nob#Qfu5FfIEJY5RrsJ{U!3a#1lWf4VRWAy&Q~g$!Fw9Xl1{U7Xj)ep_Hb +hf2%Z>^mH4$19gXPx5mQ=R0HNx*K7jFEXZa`K0JQ}c414hoNQi_gI2H{1xs4>(bdv3Mz&alC*AP0z~2 +p*t;T}s`m|UXU{$*^eeSgCw5Y(At6E)~@G9I|rq*GizkoN~OINNde`V5v9Lf|08>L+W338xvTY@80KNqsGoD@%z&Lr19zrpv5_eg0SGnbi+blWIr80l4r_ho~TI@i2uFw81zCtvW*ft6B)<%+_1+ +H+07MJixx|MoFM_1&O;`S2t9zBZc5E5%?Y>jY&nw@amx8`h$^_x&S9-cje@(SUu&FuC7@3c +`Bd>AtCLqJqgQO^wi_JY1IC|?Nn-FWPY3M|2RnOLmLv{l@im;yJI9mKTjrmYhfkn|;_U7=g+%x(_1_d +u?Wsn;4hs1H6QV{*GflocX(DdYyZ8^A31 +Xz<2MrE=u))Tt>;MP0EZ?wVUk;5jp^U5%{>v5md_CDn1HhuNRMvpAy?8t&e(y9t)mbyrSR46GT~8fmE +GhM)EbC*`3*F5Q&5!_O}?87}C(oIl +Z=1QY-O00;n+tx-_}owiS08vp=XZ2$lv0001RX>c!JX>N37a&BR4FJo_QZDDR?b1!Lbb97;BY%Xwl%{ +^beM^ampDK14qBW5U4Cde6UUB2Ib-HitU5R^0%@9wEmu +|xumM!y?qU{+1N36f;hwOzxKBq%o9x@m)S$?LLfSt5QvdL*B-rm1T6qpYv5i|ShathcO5+q%)ex%$S} +U0am;SJARZD;&4pw%fGfOpW^H-NnW0^EYpjAI@K1JQ8iT#WqTAS(Vp~YPP+(P8!DRuE`i5w2HQAc9SA +v5su1LuPm+Vs>sr^_ybi>R6imGKzm6lPKW^0YluWQE2GkoH0S{54iCWpBcb;U;-Mtuv_XOrHrq)n +S^)+XCsyRNITz72byWc6l~R=Mi@n!WFehHY5Yo{2Z};I3%bNmjD7>b7H`c$>Bz2WUCdh@8KE{qyTN5d +Z89Xz%OEK4i>BUJiQRG<7o%UQ__LEK_Vkk93l>!m(WPxVsmuL}?r5TW;D9f;&@1A@e~)FGdmp6u$i4+709%F~v$#YRh0Tj%L6DR=^eVolPnQ!mG5 +XH6WC5KS`Dmc)KH4r5i6jPH2MHW~%S+vKh(+H_eWoITiY3ZAKM;iCXPtm0@Rpx2y!BS9oZSq{qAaNtw +_3V_-Vw@ux$OuWEhlTDo$t3pUc0{`6=pucxqv_>phQg`jPYv+$<7{X1e1}1prLGzS|<+Y~2q-6*8QNOom`~q-7DVPT@L7e8n&!pghci+KA9=OF&sOn~uwy1J#Q +N$MTDYB&vxZ2ZvrZVUVVZ +kDCV~tTFzPORA;Pkqk7mHOtV}sqvLn4&IP|KLvXjY#{*~QfOM247>zb!@8nb +!s{gqw2z21E$K_gfrKCninu}W1je}zE@hx}6@23**|))^r2m2_ywL5VC>nvZXe?l2eh&e3xnO|TZN^P +zeS5G&X>oCzw(EU;zLCsB*eANNCLEfAG|v;+KIE)i`Ah&Q{Hwa^wHI4rD2iQq)WZn-@H8^X6wYS%>I? +eJAucK&&=nkK&bIgNwrv=8xmO=Bs}ukoHI`)&r;BzvhyO1`+&-OKZy}~`<&=44!!|E-$udI>LBp^Zl_=d?YiKQ8$j=>Zox=w%M{E5`v6{_bRQM{WL2Y2M +7UmXa-??SgDdF``9b1y +V(w(4*qB6y2tllv>xqN+a!A6DStyo|8c6&`?IQ`df7#}^42=+CC=T4osN2Jl4$4wzcsG9gEx&1p#yEj +W8bz{?jcSJ6ZG0akTYeDF?Ly!z)%T1cK40m2E^u%IlK^I(ZFo(`+pdb=orJmrW$3QLwkXEILt1MO6=_)gTHt+moE@6JlNKB0N`+B*Z>yzw0)q@g1;E3iMEB@5-O^%%9fBTfUNE9p%p?X +M4i$}F53HCGOlE~CKT!s$mX-}m^WBJgF +4}s5OPJC00h4_pELw400j3KrC*C=WM#)&CBPacWpb+bNu~c)12ni$VeZjP>BGQjDR}CKskGaB% +GVEb|)Z%!RcCFK#X_s?ClTM{2x4hy{q;|CY~+sR<=R~wzDJYS(av>5 +}`KDhZ3?NoO5y#Bf*?mb1&a930aB>EriL`?tKuoV+5%7Ll(#&|x)mdxPT)1%I(n8s!C$O6(;W|A8gfe +PgpaM+1a~A#Vsd#`n?e(iYh~u_5)_t^1K^7>~+!F7_Eu^jj9nQm-7^ +{TiWSnt!vB<#IXsh#IbYv=xItUqBk4g{6bCz$>8Pra0Pvk(};+W0iv8tMz;1Z)6|qIAje-*DJyW|MIh +gsKl^6WrH@G#XTWm>wV=vU|aCmCDn5b~@- +`D0SpMs^Q38|L`sElNZ`K++n(Mswg}`!Umz9jHa)_d<)dzw>3Jj3+gQZ}@#)~QvQ70H1C4w3dy&^lS; +W%|5J&Vjbv)Cs|BUNWs_|~h6EA3wEr6=Xa;z*X*q>&z7HGjRY&{?`o@yXgV$DcqV;c2%rbNM1F^#GfLh|=kV1-fvHEgvd=FC2(B;_p{uySDA2+ +0MEtY;U+V!C(Pt(UU%qu@ +Ng-{lGvft@Pr*u~=Sghg^MZ^w($vMH?MNQj#Q6TS9rV++h@H6(kYuj;sqF +a@HC$wtns7psyql5FV}K95FkNSKl`xieS>pWpfznawwz}=3-sQK!Qw%7~RqWL^vB-jMc#sVt>Hj%>6Z +zZaaI(D|>>;Tn1OGv?x1JMVKT#@T;Sy#UC)qVmxKyFRz9z?2vlUWRQYrWf9rN#rZ{mrVAe8o)Bt4Uh4 +!%DUJh!*Vr7X5Mcd+ttP@2CKjcrx|RE7g34%vKFJkk-)H58a{F4O&v#fEWI2Y1R +2RO&uEJqDJnEV7-O2q$4|266c8UtD-~xbN0yv1>r5qw%H2e&s2>Z0H4i4y?{!gyosnCD4}$Et8HMUD+CDK5yug^88R1S +f&9m4rMUVuk(hWv7THm)S7tyK& +rg!1=$D>k+IuA^&D&OruSp`>;8?TTP7I+&punaFt0uHdMKHd?j!4YDUN?|p}_Sc^WqG(ASO*!S==Wn$Z%+&R`AA +rymLddNFOY%b{|%#_4`8$`hq^@ue-Xr!Dw6LVb-DC=vVRX4QoS-in9@&h&W_r;SJlx>J)L5 +wk^^G>`FLAKRlf|Mhl2Vag%Lk$*D1pmG4E>58!cXSk)8DwiIa%RnV8}S$L~WASoS#=i`xwG49+XWo&# +uGVmabRzsxxxa+xp5eL)7H27lJanMg@sORb&upja^<=jhV9;I9KTp|8&MPOw*<+06B{0L9u^H6>&>(@ +h}$4|xX^x{)I{p!oFzFerEQxqM&R>D#|8_yF~VO6XrWf>D{@QOSG$(ROH5n~c92Cmm`?{P84Nm&0(r* +FCpw2osTzM0WK;nTST-iN*Vrnuan;G!5F!%j9_n1G1kj+PqP5@IL}VTeIMzGV%TZWnwT2TvW+Kr}56e +Py)Wli-nAf}O}$!wE8R#@rrme$0-kO=-EGOW;B|+8pOh%T2Kje}NLVf(<@tD?EP;831{cpq`7h;X6 +t=GdyHo$BM7@c#pcY97}Ef@XG}HwBW9tS_Jl#HPzZtpGJDzZNPMU$xk3!E0ji6igc4KDyjb(d@5OVwt +brVt>M;+52lw@ZG16)ma=c@tX*urIhdB|Sj*_`Ex;$Mxz4D-{KB{(L7?cTlMnn=1s-}VRBRgc919Ai_ +xeDT~a56vA(O{qg24Oq`#Lx7tTkY_K>!o>tT@<{LN31=y;wC8TWG3zKsPmcV%A=`23{oG52BU5L%*W3 +t$M9niz2Ie0-5g1D{CsADk}-ft^8h*10MU%-VV?itua|mphJcz-mwHKgeM5LjT7Q|2RLxi3g(U +fm_OvY3FBAF*@qNVxaO&+4^^zgEyr`E!_6Jv0DlC@%|S+F}j``0o6W;-bF$rS(-UZXLQVMzqE(&Ly>6DH*c~j +7^i+G^5FB_N+^BIbl5Z&|Egju$p7a-xB>KmVEuUTV}|*YGrSp;&|aA4Xu+U5R7n5&1Y!z%$G}2oJL2`xH3ZUrl!I1}#RA7nV7NQjM4gx%*TF{!pl4U +96h`lM#AicR3hs8X==w_333P!nA8x!0-tJw?gZ`D4TIzWS8(HG#>EWD=Kcj9^l&K7dbA+}Z}C=tLDx* +nA2q?*nibe$yLv7oyz*$Pj{6}VXj!^$(79$>PvaL?=@a25jKxzjA%v9uw~=a9fu?K=L;974`r{O6~Rb +9fxQ`uXkoDXMWnj0JQ{aX1!_ey6k<(}KMtGj|`-UMNPZ4F!@95geJM3b{xP3J`fOA&mVNBr0xIv?*CI +x`89jvbqEBEe@t@`Xe(v;8Ym0PH)XyafFzn=nE+Y1K3sY^?L1PwMP&S$RTcmCK!ZZ5x+8(_z<0qJ;+Rx +Q9nmN-ptgeu)w?!6oAh(&D9#UDsXE +Mx1kK=)(d9rr}LeCjFt7>1IT2utcYdAG~tQGfYxMhgxv^Az9?stCGyo<81b3jECT3x>O|GuQDXMMP*Y^nH0HKt9a1d;(M5?Os#=k;LK%~*)4woF}7>)L(Qy3WWNbXCNa1>2m7lz*GddShWOdldT1Mc$9C@UTt +8D%!1AsS#69Y$Ub5UoffvhP%;d00p+3ZK~K#iYtj}Nl}3fbt9~FX=Ir(D;5p-AY<}qAvAi%0w~Fa{nP +Rgoci!wpUut4j`Sk@~V|fhBz<0}XIP*>Bh%!_?qb+MNJOMG#bCQ_ReTU)_yoF9)e0hs3kH0NAMnIyn5 +CoyeHyWFjd&c;_%%>BoN<*-EnQVf{Y)nz&BEl1evaHgOX$_lTv-~8ztx+KfoZPSWs=gY~l2tPX6b3~J +#fhreQ!;8uBIf13E%O74k$1Gmp+-O`x-3vwuf2NmSXwoMJc@^^#se?-sxcRbr}p4#7TB8ZM?8P^?7Nr +e30;%;<^|-ON2|A7mFk942C)v|ad;YcOt5x~9!Q)KMFT&?dyXCnSGDG{Ga1}FRF{FP($;NH6chLLXTx +}b9O^v`ouq_K1gd+%@%BwY)Ib#`B;{e%mgd~W#L_;Bh>ksaXxDSA)3;8HF} +CX8U($Z5W8^D)0T~?T3)+X(7Ii^uok)>|x`#{NbKE;ykRrS-5tW|e135|aQnW^Sbh%ctz=b*r0xBxa! +4h-^>L?diFpbH{<2)c7*q$3HcnL^x& +8(3?Fu9CSyHZrBcQrkR^_Kae!fbo??v|5)PulZm4K{0d6_XCcqg6rp1P3e{6b=;clKdm^~W%YhwGlw8 +$aMLD8t7;v%G2w5h2AEm4G`ALc|aH&^b#j1eP3a|*I<|YW`tLK5ZPIpd`qxRZ}088`8Put0VsZ%)O572aHNcoj(QD(b8UazTFALf7IbP3mPpw+@#h@qetg>UR4aAlkE=mhrOf$STKTWDtix72`hzif* +T{PcAyQ*mM@~u}uZox^ZL3V+F4JA_7AUzJ=Yzw*xUDKe-)iwaBcS`q-v7Tq4sAih=RJdF`y~2` +dT&>e!JBU3vg~_X~lozAv`*cyLlsE<9Q}t&cJmDT-6n-_sHBNcHmQE(=h>j}?67muK4KA$XqA$_;Gpy +b0i9oU}JsV<y`YE2+ylFp;M-DW$sqGRV0?6xbQ|qZ-TpQGwW}QOssX=2ydp^hO^)cAte6?P)h>@6aWAK2mq63ujO$l4@lI4{q!<&?QFI|9*tAJ{+>Dute8Y!5@B{_ykF)$0!*LL~el=UN!M*zkWXWi3M#0w +sy_x-5C#4vN1K)&9y3o~CQEe4lN3y1}14@q0b`0}Y0V51>w|V#Sd^NSij2ZwCGB@Ov2Ll25N)Fe9kM1pbY&~ro#a^%5Sp+(HqLJU`Sty;>D9kpU;R7%>F2j^uiyR%NZ$m8FG(%p3V4O +x6}LQo$;u8)+|T`Z)hw^(<(ba0$9#wv%JidBFPQ@qe;XqwL#|dIsL`8tj7m4z*Z|5%ge4nds +sZFSSxN|u2?2HD}f&9M8z_eXNq3{FJ39piaX8}C<2qUgm{SiZRv~HRyCw8$Pt}@zhH?w(C(w`I8Ap7c +7OpZCSxxfS#Q~m$vL+@qk?Z(Rurk3h#+ccNa%TXXPmowu`~{MhTGF!4v+`?;87;0iI&kiUY`d()7-)A{%XXP!+p=C~CF}w@0m8AUSyi +_bZfxQ4GNS7B~2T(AFvchUKAa*8-DIEblg +SiKUr<-6?%R|!XH}307%L9R+Wo-GHuAz)Za +f>KVu#&(s+@bHw-Ka{UIwB&fLVMtFLHjm{je^pazm2e78h +qGzoA4}t$Hj9iNy=IB|>v-S=hzK^0t$e?*?lHkG*fW#Q*6_GSV&?{hr8y@RD6M22&=t>Ku|VA>Y7B?v{WAC&eKaHH~(1 +q?VxS6FFmnkCct~{?S^jwg3>#47cv}Li1TnXfTLQ4HDS#Wh-*>t0(yhN;7-8jJD%^;zH_pPaf-FR>Ll +mx97g`azBM!)~LVDAW^6!Aa@r+N025`^{zk+amK?ZPZH9K@lTU%Gxjg +YE^E)AMlIvis-V#Yu>IczqfY+(|dh=Jo*@Vu5109zho_72({d5^g0^N+&>T)m*Z1(3F4BM=RW8PTZ0T +=P5wlfrrZfMrJFn02SisqV@GIcd4@WZxk%v{pP0;o3F9<;apfSSXi|4HgX-5mTfEBIonm?aC169z>YS>^wa6(pG^QxAS9+A1g2ImWgtxv~dUyQanMr0*3rtt9ZXxX=JAR^{rpsMdUE4ro>xqH#Iq9U4SC> +yQJsFiaKRK-aoRz|RQV`}|v^y_&M=9S0@EBvbTl7b>-;#>>*Rc^|1ct~0SlUr*W2ir!7 +Um2FzaAv)MfnLAlMN^$OuueA*}kd3`eep@*PE_7@u)}L{-n>JjnK1Uj@l7IW9jeWsp_gg%6S*_V=^ED +=@wnJuj>11dQpd+FBIfLpnowgw9qmBN&QKZ4Bfe$Z~<4Ni=DQ4s(@DFCkBdZC`)ZA+X%V2_JkSW +F|9H~Da`SuBVZ^RJ}h4^G5>_ij%^yp%;0FzbAhk`KT9FI%FNf}~1E1@&)cbu1DNesAY#T42c4trGo@ho+wi(iEAmx}MkCwntIgN;;;LwK;LSRZe(OG`IobEk3bGu-A#^;A#zn?b>sVph8!@9^w_DePi +MmYT4Lk15%t#CSX=Qhp=7A#1Z0+krc%d}w0iks9L9bzo=O_nw8j$%#Y7SafrjeR&d0VRc3 +Z0c5XhIKRD0*mq&bxR3Rt`Ad}~FBOYks^xq&b;C3#PCi6q0?Kf}gF6+;CuD|@SV4)r4IgP+dOG0m>+R +=&0G9?3u>4$n^{&@(<^kYTi1jx@x8vI(FT`FjefLS3&j6RM4KCR|XBCIe5!+2@GiZepzjMr!S|El-Q* +P{(ydr!q;Vkv-G&amdE8eYI{0_ms-=>%qsx3BEun&g4eQQKB4fWG_n^6?hSK~V$SS=qZkh7tc>$?@3v +w8ff7F7iKH8OeR;gT&b7VI1LU?f|*y*~^cz5NZ5X_1{f5V53beTQ +eGyX;|f#|)&X0pv-`#u%l%+0kf#Qppi9pL!&4OLD2_7N;R*9P)4$$1|3^ow?bCAU_lP|{?eQdS+K@he +o(!;;i}Fc@+Rr`|oz8oZQ?=5I{;n=j98bdvnqzBy&DVd;nmDbVihrW0U(&li$2eA@_t0BsI>WYNE)LV +j7<(4&W-xWeHv>XI;A5z51v6A}xU4MiBGVj41Zx8AMXX?GirR$XG@OR#**THBt5F9XLOop=*jEk7gFq +>4SN&N^(o_u%xFj<}R;%}O9LGq$gE>c=z>ohVXIOGGdp2#fO_2X?No_76|v1%hD_XyW|tVPV`0E0uVN +TmI0dC~4#s^nvEjr`a7vyIEMLEpA!jHzR??y>Do>?=89vc>F!H+1TB7ml}KvQ;cM@3Wa*FYC>QR~z>#_tHHo_Mq+sZDwmkE +b6jkh2nK39pr^rF~L?Jc>!>msNqeP-?3^{3rEy^-Q#n+jsNBck{RJQgXlL#TJ+V&3x{ ++dvebR-&D0=L~WVoMmDwO?!05=C4b0v^&RUh@~|sKQ{;uwioDV=M;6z&5w8>z6)iI$&Aw1LU{UXOv|2 +f&WApkPi(ub|99K-Dg)HM4f8f<~+!Bn`N&r~(s-IuvXCJPQe?Ga&|8;S5{xKz2H^;{(S65RY?4e*y5D +Ql9i4e7z;@E+#Qf9nbu?NRxv!D#5?BXdVbP!6E1BRyFMl`a+m^QqO+7{4EDh9RHGkzBxbtbp8`$ +>w04OXokV7QR_yTjIkL1rezEH*6oK9PC>_%VB)6aLOYU{L)skDpHFYm+~>j>Qp}S^*{VTgwI3z3L84D_Uj%S8Pq_YL#35Sh8|$^~R4YIdMYf@5y;xv2F_~v +tp-NW!7W#-qIeM^9bxepX*fh9A<<|wTPy6c1+PbDi+br=hG3>nzp4{pdqscVk>V&8Io*S*({=eLLDT) +PwF*TU2UQKUK+cTPr7cz7K*&K4@s2F!t?1Q5Kw2}TiFBV8&S7Se3*tNNP2^cw$g@7i8X6VsMyFUyPCv +G`>520hJ5ZwAysuV0)V67l!9_NpkFED=!`=YLSkBfuaK?XVfO%qbPVe7NHRF7!_g}c6eyuv)P~)1C1F +D!)3C>yxI0%5Vo8TLAz9zmt-600%XD|^}U0WM05Bpyq9M+H~J_hET2#_u?Qd@*|faq1MjZ0nMaR0W~8KWDs0 +!(9(O{esOTURURT-|6)4&-(#?p)k^&UH#)8@JE66Pr5tBnT(q3I>|&iV3L8m!f{y`^=q~QFI}S3&gJA +TN8REU#~pDQZ2kNw~j$5sO9L1L9psLH6949Kd^J}fUq0gx@vFQ8BBd85SbpR&kv)YV6-gvgqkfVOs+9 +yfnbmW9R&8lXuzRyhN@JmhIy3Xm|D;Z`U=Ye^*gx>e=d +hM(AmaYHpZE<26jBKD-O_M2I-c!z{RC;WFNk+3))@h*Pg(Q_LjiDMqa{W%|roMI6<^KO!k%S<*=H#%_ +VZ&0_bC~jUN|k_%9vrdc%f!nxOFpkfnXT4auImH<)bMOFAxlwA+j}4cs1LyW(Z5iDR&YxpU}H0E2C|& +~%*%QwYeWqy_7YjyC{V;Pt}C;p^V$3kTvZQStNI4NN_Cl+L|ai_Eh*gUweA+)hGvr%Pa*BsPVoD!U%o +;C|WeDqGyK!;C6EE>5QVAddTyb_ueEui;!|dvzG<<{;hvP&;%D0))8{k}SxMKE%twm?f)XFMSg7om~o +@10-1965^n8Mk#VTLU=6=`3?>ZwdqC(V{3w{2pmjPY4cO)ro}7~(hM5(ByeDrD$4T>w;4ddSIn5oiGX +#|JHCLVF5vQfgu{Y=e&Hf6L;aBYHRiH!i90;(-(SNH5;vs^+HzXdP?>q9hB*}iS`QRQfsgGB!@E!1@M +-6HGcl0>Ie|iE7K3b5cD8n?RDiq}*EDYWgi670vQ_}Igc~jN}EwPw{h1lEhMxTA?75^e0qw>kntvZS! +w#PX$_Ag%Y?Hudh_qBb;?toh;^mfDKh31G(j|}~94#URh>55R9SK+PwC&@>rk3OAWU4J+|J^6S2JJH4yO?5M(1H&b>(!jp?23=c<@_0_B6+s5}3^vfv +1w${{T=+0|XQR000O8ldVxvZw#RrM+g7_R2u*Q9smFUaA|NaUukZ1WpZv|Y%gPPZEaz0WOFZbXm58ea +CyyHTW{mG5`OouAiO9f1G2Es#_^sLSX8cUR^|7DcF3F$8Bg>5US@mqn5)SS4TvL`X;|=5iPD(35h8h@k%<; +6WD!O$B1`gCrg+{*rBHcY#zGCGz+n8$alWvwWU7o-%(Fa`F;C?;5oP=+>)4uU7(uC^bxQ`3)HfiZ~0_`=u^MVar}8uA3Ls15s1Gvg-~hM^I +Y`wZLyEdEhT_y+vFfRU%N7TRngc8n)U)L8MANOw)t`1yco77OOj*!&Z_he+F3C>h2_QdMDR!*3<<>TwG1 +W})_+Y9Pdb5cep$_i+5L48sx*)M^22`qus5TK +*WLqP*Hilo;NH;hPIDmH>hbumF0AC4Us5mk_QC5e(1PqpPTkAmB1LnpVq#9{lLzoIiATxPPv;$Z|)_0 +*CvfCcEn>DW(Co{m(Y%el&9YnlVU9Zfr`m^$omT<{9-Z3u}`~4h~<7s?@(HO#i3!Q*Ff0pd8zco(-)( +SN0Y=_}%UOod}BPFV?bglY&unYP{2w46dCZ)&O24*NU8mU?|if9~BB?WSXzz@EVimnxGYYO)ez%lG0B +I!`MCTXJK} +R%RC4z^>LXJf_v)*>8U6q>V5S6q)ecqPrDo^GLdopOKo_#{27R?W{;hjZ;943!TxE$Z#w`@_H`Gtj{1 +L#cx(X5_TvsLn8*rPqS$JS(lB?q(w8X40LSc}AS>SsyxIDr1|kk)t;o*iw0f>W{HaA47kv9g;KFTa?q4MD%k|U6)y31rSo$m&3^HhIwu%B8#eTWJ;vW4fp;@Z2VUmTXkd(>SZrA%abspP +JN4z$f2|!k51S +Et;5}z=?;oEo?(VKveJ|~md(y>|+RcQT5rE$ce?-8E!XT}r5NyR!y=^J@a~IqP_P;7m@&%rWktv5<+j +g=C{vw(lRBQf*k)ZF~5NQqq%ZfTDL8hW0pvWzkQRZPQ=)c5@^!Fj;#`>aBQ&6LF%8y8 +)n}3jH$WVUZL|+_3_Bdx851le7r+`6!QYIin6?haLVr2obHhDIhC=1V`RT{rXt`0b+)$S2m&8o%c7;Z;}7S!rH_nwTC*>t&K)!LdBQ!kHBm$q6CK^i&9>i_LEG|*tUl7=(G +A%u@X#3DGg&2(>=XOwmczbI^r!Rrd}?9ceR&V9A|8jPK}(Rn?v-J2d9&FGwO{l)9%x$Y`?T_-Uiky%m +J!Y=|7dt&pzbinX#*F;AOr1=V%}5LW_=HY;Dbl0FyH~HAMW2a^~m$~m5;-lNz-!;78@x8vCia?x)7QqJGPD$mz+x$0JfSosV;A*-`nqirZ=1QY-O00;n+tx-`wF2jFz1ONc<3;+Nl00 +01RX>c!JX>N37a&BR4FJo_QZDDR?b1!vnX>N0LVQg$JaCx0qZExE)5dQ98aquumDiorhgDPLVU@N)?# +j*?tf#s|FGHI-rp~&;Fk<*OST8$_mWJMC3lOrS}VPzMi_hfnrjM?78;?kLTS +w_3M?ZpRyUbddhiymfIg!2>8zwqIW2|6czMhF%f}AmRkY;NSBzD{WCK*KEM_((xz<*ta#2tnU92hn90 +gVVxEMfd&7Nu^LvQcnS1Dur>|=gbgAY<2C5(u}HD0&IuHX|L +FvtmYdtQ32k)flod)RL4lie!`25nQb`qT?-w=o>|BHMd=044GR!VB)HG9VRHXnD>pcUW_z+Em08(%=> +fQIex05`e)Q>tNkyTGSSfn%6bzF`Spv0+<{RSgLxvWkVAEKaHVaAQ`d>@FQ_*2T!U^#WTF?BEA8}*ef +zu8s3f1i%0Gi21hv-!1FxqbV7q=(N)xaesDCwYX~E_x`8_-aoBQ_EUUb#VP_lRAmKj2l@4P1do{ul#1 +j$fA2tcbI4=Zv=IkbcOR3Cf+68Y)n>;;F*IoS%Tql8x`9f!pWt{|Prn+Cd$1{ma;uV!lNWZ)j)TCjO$ +Y5fxjnp|}0Ke~v}h0v96TA+&2kqBj5RsY&f~gu^!}IzHar4sF`8B<;4s&dUfqmDi+JrRN|M`1)nLEvDe5`ln>VGRFijXm +7l&bZ{kPYwX)IpoM0X#jmpB+}N8DMORtp{--#enuf@?rHM3Rbs>XJkz`(yIuDkxOH+ +(?|}M68BBb}+81F@a074up<~QY%=tDGVeZR;u;HXj(ia;!-1GkiP)h>@6aWAK2mq6ukQ?BB+-^P=RE=ImB^XlygV};@&#Lcxnh;7MYFkKon5cKp^>Yrw +N^V;mg~-T8p@K1U8}TZ{N5m+H<0e<+d{@tp*ciz5n(0_Rah +EQ!MbQ0vQV%-E=_v{1UX$;HsUkBphGJF=y=0BjJ1)haP`2D|&+} +W@wZsu+{DR;A#MLXS^x+A%LyJ+5O#lACzL2Xd>Fy6N}tjF?`%gh>VtN)1&IYTy|iF`BdK@g+T;g5q43NB7!(a@Biq=va)RW4&lE*vPyDe0 +#3a?*(t0RUYXf!=Kg<6hIk&vb+r|H#1Y!X4yw~^6k)>%tu?gJ)X-D{On&7gcwT|?&PR6DA`urW3FCys<=}));;3gkT)it`(AOcPksUwvSu`t2<4Dum^o$qCvb%nX|X3;ZD&sSdMYVzyOe +VC(Xr#)v7W#Y-??6ZmzH07$TY1NJUe*P}k60OK!o~Yj4ZQUC3&{cCA%Pn%Bk4{2OnHm*dIjh#NmJXPp +6W-+hfi^RO66VDQNz>@o8~oRQMeI6={6R(YJEp|#kHy5rJQMQ2mk+)HPOzUbq~*cYu<8+I2;&j3KmJ1ve~Pu+?k!PBn1V&k<>k)tY!sJ_yNr3K!(n<9vy~D;J0rmZ14EA;8LOi@C1@r?Wc* +=$`9hKE=4^owS8AdDUsEhRO66WLso2pP?QFhzo?sDpa}_&NiU@5tT`6!wzmtiYEIT=b{+{1$B!Z|(7D;h24yrnuhp9t +ve%_rO|vDR)npJbHtz)aV+Qb0|gb5}O<_Ass`^L+OIgvpsCur=at_Clv)aVuMB|Nhn2mvZ9T&u6ai2c +3nWHLg-@p0XHs;Wg?Y)tXb=WL?Ze)QZafESwY~dBBlVCtf8K +x$f2qf+Z<9Nanq3tdGWY*gh#0*Xhl?p*?sp-w|*ub(;^>cn=cqTY0ZKKK-PHOHxPI{|~U|cd40HPinskqni1Uo4QHD36qOCvCJM;k-pcI*rHCl2 +$2sgt7Xium$BtN*0qMyXkh-czFKUa5D&^z^Amd@I_s4MXRvKE)BR*)gKRBDq$XH!wwR4=?N&(38=Bd3 +ec=k%AcZWtaL5r7hIHbucbJ&ZS3bLo<&{+@&JjwT;FSf2>W?)aHA)F=UI>x9iW`Y-OYB^l`!4wpew9CTw+(shi#B^{H!z*ZBRQ+KQ6H#h2Av05Sw`y!TBI(G2mHbVcFs(8$4G7)IEE`UYQ*wwL&j(sUQPWN=EbI2l +P1nfsFjSw4_rQb=gBlybrTRc!JX>N37a&BR4FJx(RbaH88b#!TOZgVeRUukY>bYEXCa +CwzeUr&QD5P$EdxXcH)Wby&_U}EN?i*cH%F?%8f4tB8=))ooh-h+X%z_Qqchim)$bH5(3$x_HE_k7Y0 +jh4!b$T~wo;V9GAvvmoS=9zKumK7$%``!f+Um_^?h^iy_tcy!{K2X+kRZcqTfX}1WY% +>&anlHTXv4Vm_X1SJ4VIso{RF+T(h2~d=5+O7w9kS6hi#TIoOFEJ!>b$021Lw!?CFEi2?3h%&Ow;kmh +@K=XS}$v+bJuk~&3w+gYB-=H;$-~>H4q=5N3~zLD^rriISY>bQvc}Y2T)4`1QY-O00;n+tx-`)e!&G= +0ssJ!1poje0001RX>c!JX>N37a&BR4FJx(RbaH88b#!TOZgVeUVRL0JaCwE4-EP}342AFg6hwD18%X> +B0XDSjx-A%*6~%T@6oVjJbfQ(3R7vj7+mEtrCvLOOfGvHO{nPr7hV5YGGXIs~dLy?c)49yZ*J=tT$h?Og2Zts|@JrtIjL@ut6FspY +0P43GLmMIrOG;HTqHWS^D5))kWnC*+lE`eoS9$AGlK2c;88fE$Z+uk<_~oI%AsLQ*uw!H#R8dV>-+uM`4zK{iy%m&vD} +I|R2sPf~LI9Cojj^u~Rq%%fi=IV|B3q3wKtine23Fd&d@Xr-pbygX>$ViE%6)QQA3*Y5+=#yL8UdQR9 +$sf}KCcI&u^X&#Gm>KZWzdp$hLumg{wv$L}-CN{3T83D)kFFB=~8xf0|E{q;TJLp5nVaSFe6G9$=BD1 +FxQX%e*j&`|DFN36zKud#&x|ZmRx6G?a9B4TkPDo!H@W~ns*UA#uPg8cPx7qI*Y8>6RA;5&;hKQ@jFh{cO?>Q(GTw9((953zN^I*n7#hdPA5Gh)KsV +qmk|%EaN^_kE7=_q5|r;P#O1_mu3oq${#9VclBQpAp4{bH?Sx|GBI~OP63q!$#W&Z_`a*K-EblnDj>R +n0AbJ_8TCDG3vG9Zvp=WP)h>@6aWAK2mq67_Q@U{Y{92d$&@&+}RDnzfcIx1@d&oB_E%2^-bHcK7M#H}MG+-NZ29NVB{GMsR$2-btj57)XPX<~JBX> +V?GFLPvRb963nd8JovZ`(Ey{_bBvI2a-Us)l|jRs`^Xt;@P#Z4flwhoUH0S~}ZoBvK=(Bu0?`z9T8hW +Tbf5Dj=~%^6s8{dwAw;CzT?o!P|dYb +eBB!^g)Y}jLy-PujXSI|zeOkJG{AiYof8j|7eX7>G|VoZD<##O80u?usrz-OWCeN@R=p6Q=p8pZsyps +pTHI$_cwUX!DM@&41*C;H}(^EZFe4}V==UR=IiEcj+-`D{V(aavOi*I)|rvF{pK9F91{w;*b%%I; +=M6=>Nj#2%!QNTp&UUM_05FFRJP_la0Hpko9s4=AB#1C>5*)N^?9`H4MXd?X +biUvbhZA-sk0V`2jlg0LwxXM!Y8^u7=XP{&5Ec4|Ytsd=hP-BO9rR*`YKM0JSD97*;dG!Uh=})Wk@#2 +B&BXm`Y}#E(l<9(Xn3JkYAl&kykH&A~Gyk`3APE+LNyuOy8B=p1^jCLEOl%Wx(&@)v!U$h9(K2u^*X+ +W;3{LpA(yFI3rn3Ui>`GnSB&mRp=@TmJ0s1ad#@S{9x3_1QJs;#KGAth)-`pd}nekeNW7RNpg=8QZ^3 +Xr4$gIekWN?x;^&HH>gZ$WZM)r#x-DlwOjzX+kp#i2rD0QfWd`&)HJ%*ph7w-q*h_@(p$t|XKTmoHPxj +);i+GbXXK#(}zdfZd_Ed?XYUr4GaN!JPp9PzZ)$ +J-Z8us>U>s}jr!y$t{_n>{1#WvR6%|ux~>GLH*}UnJt2ULpL?V!3j0(TUNk0AR~CpcposW-BoveJatmc!-qU-m%W0=2&uoDsh +{5X=fFG2~JEjEg&5+ysAyz)jF%DbS>3!;Y?+0DZAe<+b{J&xG1C_H!Y6-q#bq5vS?6Jc<#5LX~SPF&f +uNlI{p^{WgSkaAbJ$v5X^X}F%I6P>_JhC^>xU%$`J)5#0Tq)&LGW*zFhw?Z?U_Q<09uYS1+jD867)k&M9x4gUgJc~l +25j;*KdlvbPng@S!|(x^QS +VviKc37WE(AE5Ad(c!JX>N37a&BR4FJx(RbaH88b#!TOZgVepXk}$= +E^v8`Q^9T%F%Z4)SB%0Xk;0x3he{x!LID9$Rf?+iVolbwiB+#{Y;QyI^^Diu&8|oQ-|U(9-preE?QH` +GQbr@y;`?XSrf`Nh5_|%%@M5P`%%Uz1`g;@#=TQ!(__EgU*C +(%PaiJ7h?^g))#ug6^T^$nNcTYZxDlR$ZGA;SjEfVs^`gry3RRy_xF~?nQRaz^w7#4$_A-;6rm&$pWh +DJ79afLHAyKER@A239^{RU;ilWjO0^FtQ#?}ZzE;|=I>3v$aE;ymKe&F!*vt=I|HnQPi5%qiy^ +vGaod01`8mBMpw@QBX|G?sx%DkAQb&j5BdpckR<5j}A=|OH#cxnc0|XQR000O8ldVxvLqAK-AOHXW9smFU9{>OVaA|NaU +ukZ1WpZv|Y%ghUWMz0SUtei%X>?y-E^v8MQd08FOG&Lz$jmEAElNx-$;{7FNX}15~pJA+W#gE^TCHTWXV~J3SmPkP`ir>0N-+54x%M7j<3L +Gj(S(< +G|SK=fBojCi^au%U0=Mrdh`C>)#1t8++-aa^ZF6cM44NrpfG9MY!*0m0em?O0~QCR5G +ddO{qpaN^Vb*We_QabW-;Zie{1N@HH#%4ccZdz`523!K2UX3h&cBJ4#P^w+Sv +T7&)lolXo-TiPUG2Ot=d0G_deW7RW${WBWyz&;bvHSIX+u-f*(;Y(WuD>VIO^fcz70P;_CGC!v{iav@x)}%)88YSA2zMzP|qctzBKs$1#% +cG+x$yty3_92Iho>x-kt{Ao%C@=;#Qot*&8=HM_}LH*e`$yjYa!RxcJ)7`D_awb-T&s3`~msOkpRi$N +%+%=u$vt3FdPfSsz7zd9b=&^kB-9KzeG`k+8R)lcVFieUh?O7JmS{rJP%Ik`s67#ziJvdalV`I?L#1kLS$qeRN^SdI*K8P_Tow%hZo&ZoB(8*Pwn-&erg +9O6MO|_i%v!f0X%(4S(zm}~HIMU~Ac_LwPHpx)2G8>VaP(ENCof|Xs7H)Ntj608l!wZJz07Hyhl7tIv +?HPP?mj0XlzkF3=(J6OjuhQyCq1p!C(2<%(tHN>=Lj&_O{?MITNi5A=;MRjfx&vq+zeXEdbZImXK^9EFOr0@)9Em*lYl&R-j8D5{BV@nW&H2;cW^OC2fAxYHiW6 +ti;tuu&>bTW9ks9S^m+WVj#4mayb|IWSQW&Fj?yRb{$9G>83$8k>tHF(RlVkYmO@&+Ioi!F6(|+Z!rH +Yh#W}dcg^HXc_w}q3^`Um1JA26YSd#|lC`{tq;m;eWNm=3k+M3Fw6sal&h_S>8i=?HeL4f_$lJ-l{);qxaDR?E +=;grrW3(JW`|n_lwUJ$aUM;G^zst;{1pdNI=b7qwe=W@Wx`x#hQQUxc@Gp>!E#l953RxFw&~Le$j1D0+5oT=ElpXS5WE=`j(~iENDqW*5IKm+xL8z`%bb%3SC;`P?RG)K +dmw;3`8NLtILA6&t?~>l6nTp*MOXNUc>?W&BzTh=AX*PZwn@u1>>bbq2F%=YzqD93DIU{3<|?wp`y8~Y8z5>a~-@)S2(pLO=-t_f4?`kQJt3J_q@HfgbY_{f=pMKe7VbjS%-12%`4rT*(JyRl2c^YVs||N +Mx-s8gV#Vmu7*$5SZOz%K$Bf(p5v3Slij}fvn|C^0AnL_`u#BulPZRF0%@~CmUdENMrl=P|jeh0*90I +Z^Vt_W*<>m9@sX>a=!4PidCQz64Uoxlf6!kEsXVXroG#_sW4QB7$x0e{UTfE3B`v(8$0nP1bN$KXR!1 +H6dI;9v=W0F%})8&O=O2hw}(=97hf#yLEXsVEvu|W(VLN7S&Ss|Uh$^OMd9y|+NdKG-U-kM3_9v{R~e +yLj+KO?_Pe|Pz#)IVyHicN7N-$Fq1bK*qC*(u5CcN|$3{GDz+!=8!q5psS98fl)?{_cHfYb%wX4$vaH +;+RdO+aH3Unmf5GFBJ*(uywR+=@I}Q+X0if6s9~aC?H +2CL~Hk5`?DWJOQiDCXuo|idca1ldmV}hHHo{(L{x`qIj<@e{DfhL7?-B0%`n7{=<){Ve4X`msN{NF3n +md{+5HhlkUf1D#}aowx=OsP(U4Z{s3W6EI4n%xjpibo6D-2!}KMEagZNXSz0*lFnfq3wmvy~AphT}d# +qj+rkde`KZ77wkH*GbfGJ_N&DWbo>K3rEWerYV6%ed__Kcj|2pi+rANL5IfSs_R=1cWtj92XuFB}o`@uUH;^X>%g~9{hYM_dC%##<(v- +M@CLoFVEEQb9#iCo30=9azV}teo|eHj+9arm^OEQo>l5o+ +r(eeaVp+6$c%wLG#(SnLR55j?9DbMY*QbDo=`x#R)8mSATpPv)hD+yDtPzR91)}9jqJw@oGoq!;NP1R ++47-Bx;bUp*Shr8qn@jL=H2!TzF>QVvwuzDci6I(E>8w_8DY)iPvMFeL&X>AxGb8c>(gJ>$=-mJr(A{ +stOjNJix0?_l4gbEU-n<%=SPJ8r{1(I~PgIGN7h#1Q%)6SV3ga3dyufV+O#nY4GGjF3}@I8ro@p6SCf +%5kJB917K;9&tb3~Hk&`K1E1gQ-1%E#%PR6OHWm&Q^ilq;qHpm|9HdeM^POlzvLl`Oi=|BlusHL2%%o +NzEw7#ys#IrDs>98PK1KZ<7}Q)?jjO*NOKp&WBPsQE*X+r#Ix+#c73x +yws`_qhO6kVmW +qli;9GBh9|eMl%__OHH1C5B&#Qi7B-E^FgkQ4L7&suBM$@pt6QIp^B4ja@!$yF+j$HD0TyaYFdPJ9Mi +U9@lzIk&q$|KEA^n*1+V0BK$8eLHjm2>cIYKM<5?D#}6Sp`mxyFP83`^0f3~ZRR;oRH^6 +K-d&6Nk;u?Ljj&IvJaGWFpQITk{=6?r5Q;NY05583{V;3K!)D8hZqWkY`-1Mi0dMuwWu1zAgTs_u#DW +_oKo&oq@Vhl~9s&yh)($kUV!tPyRY0X~;q9W4P-KD1G_bb(6*0^vOW%G)DoRI`%%+DaApV;IufT1*2F +anLCR1MWBE?@v7_rCwY*#>ucA7nII|#h7XWi2$G+qpd;v@(H$q;XgNZb8#N*p`2#!kw-!Q^O@I!3J+1 +(x8(diAzEy9#<68}7G7#rWZqV!%p!iI0pX*{t#kbH!8?0*~D8&Y+7ah7P)?D?9PmUT)Wu{bT$eTJX4Q +6AmMobPNkzd_N%tOr%0w6DTF>{jaz~r-27rPRKFzD=`t&O@^l8Tm0fI|hZ)US3~kN1&4Og=Us3$BS9o +CmJZ$A0eO5O+H$r%C=WETtjU^Rn%H6LUH6iXuFrC!}UBTbIOxWImR{hJ*?%3ndpQD-c&Zvl2MZz|HyY +pT$58J|fKbd;bj4NyEYM!vg{<3nOdz^CZe8tOh248ZErQ*Lm16OCzo&hyp}G@MFubvY9h7=kBZmD>$0 +sF-oDxv;=rJMzyRC&B@2HvDZf*bzTFLRMcTK-4}KD* +4jrj?zZj7X&kx0B*o`gA2v8HZmmG=MlSD+>>BxaA)uoEO&RPv6wq{1fx3I3ovkLo%WXNT1O(6OXf +WDG(vPm-QF^X&H)1{DBjgFPXz!v~JjxyzxaL|@@1hH2MutHVpf_AnwC6IFU}C{pZE=q-(KqS3XA-G-F +`7jcU$xVG}XIB=UB9+}cZ9HAGT^bnk?ZEi>tzmODisUWa^tm>so>$N?2i|lGqXDEWm0r!bivz5>2IGU ++1rZ=D8N}2ZDbrSf^;gk|^Ro^v;-~nj6!^r7T-;)KkVN=(cj?yyPtuD0bE_=}itH)znV-Yxx&bb``m& +2xz7shIa>lX4)HwC%qknN4e(2iyvCahtDK)0(_9INXTXhh~dK@LIa0EQb2ZD*&aT#x1)s>-<`iaQ&tI +=5b57FtL<=7RtGco`6A77K0XDxwow3T-Px1-T?Qu-HdVJFvJGSm|`R#8@>isOk<8(?)7cHafymye$|J +t+Csysq?J|1ENPPit6YyJvxng4eBVHpTTxcBVWx&s6iDgihH7t{L!>8JGNbpSt94x!i4= +yt!;M}wa|50e^c+z0^=ms?o-*4FjBEJ87E8ZZ1if3*+W{WiQ`?f&W!Oo-gVpsSMqx6+Rvgd{8vXf7(9 +<%$_wk4829y|&N8H*0$nIgoKLtjfQyc(sCCkY*ox@^ioZ?9sL@oG4X1U5SA6ye7j44#6>n30286&O;#FbpQ+z|pCsG?MF@|td7W={)i$5F2zHr)Eo~cH +X%EjjttS`@wn8}^`HTc7FBXIQ^@4MKsxf(w5+@jRLhK`ZmzZu{SM81tpr| +!GcHdB;c7XT-d;k|!`t*_~6Dh;?f?#?+@rFppcih*Iir?f9`BM8-l(qRR5ey5X2Lb(rj^rjPmR?PMx^ +04)V`A$JXT0?@^@>iInJ@U{KunX#YxR3a=uUTLO^GP|vRmD?wwnrltMtcmDvne6xR0@g8|ebbkjj;N@-^Qb`0Xs39{E%Vp<|7%0}*0>xRXOZ7Qud9V@QZ +_usn|(ZpAJcMw&et@Wyp2H@xjFC*Z)96rEI!&Oo;0c#w_VuJ~xXX`VqrKApVEQWQnn<7)sn9j>MertL +W0<#SNbIxu5&#?N!nl>eDrB9$TtR59+!*JV{>R}w!zlXfv}GO?+|D5PnR`vDhmkB4a3)AdgfqEFe_!pPZ2_CYFEHjJS>A23MK5iik8w~(g +Vfx(%NyuU;W!*npr>3Y@H8CEwelE^Cva*;`>X3g>Vy2TkJ-CcmfGhR +MF1FWg+%ARb;UryQ216BB$M4vRYd(439{GRhc1bKOJslNLBOWTp+1-Gs<<<;ez-f8Nm9D7(H>QqWVa=6eOZJd6gVTi$`Q9wKJec8c;>-#0C$KBf*dgmiS=Qes71Jd$q`&=Jf +;ZilAK@T>2N=Y8Kb^e@^!tFhuvO+=LI_5N +->JmUnUlTkbYAR`z555G-`0Ud{zVSGmxy#DyVvY^GVQ-<=bsX4;!yDJo_VlFe;`+*-7}%K8-ZxVyLWr +$^WHc^-E;e^b~dHL@=T3kdRZ-~7#Cz#0p1-IX7)WaUWye6&U312QQ!wVEIiaCsx#Tnc$fDNCik&DQ$N +caJSyvYNyko3%IbuV@_4I(7E=0(k8xA;rxaE^-dPzQS4ILWT6AM6nYgRB>N6oP{Zg)du +UE)Ad@F=KXtrYO_4frvPN?Ty1a$p1d&=Z-H?gpLNu&Up`<|`a(!BdR*4;qGpG-8swib4#G+3)wcAf>e +&I8jjvXa*@*ez%c0C&$fd#C-~UYiOH|^oxZ78s$KjU-x_!vDsbZygTdanp}7 +|ZDrt~C+}x=S6-g62#`C#xtxwnvfY(7+jVTuP-$0}dG*K3RlY<2rZn`47470ei?(aM?tQ6NCgPoSfjo +Cq1pEb>$5eEaF(`$49EYN8kI8$r_!Z=K;UC&dUy%l?x}lA^WIT4T-@`YeUuzd@6c5h+?IUD9W3)98Z^Q4XS*hQCKa1qFYFISWWpCZkP4p--^Y +$m-d~pjvo%KbtD|ko$0%$p`h;oOH(*L`(K_3B_dS=Xe$X>aq7a&2}Iq&Sc!JX>N37a&BR4FKKRMWq2=eVPk7yXJubzX>Md? +axQRr?LBLA+{TgL`70(=T#JpCI7zFMd|*EEigkH2qrT~$jZTDdMexfER^Uf#ZZJ`+{Fl<%cFK0ZD=x+h*=OR;L!>*l7auf( +F+Y-HUDb=~aNOK~Zo`=)sZ-Aj1bY^2yW6}+!%(P773w`*k%U^chg+f$*swpw&2&9cU!hfic;|}g?{TJ3S^Qk5FwZE7m^5K2hNTJ{Cp`@_b2Z6 +WZlYgdHcLpUAbP%<%}A9RUthuci8tu(>-f;wSM!weg{}D|9maw`dPJ>h&;dfp;o&s4kG#O>}Z<8iFhD +iz`Dyt*R;W`igi`LRjFQ^W+~Sy2f8h*B`}rgrtvNj(WmC+2!K`7ZpyA$G_skfNvhwM;y1w0+@vZ>Ut#{PZ +rv<~d-V1wOlI-6XyuQ)s+CF;bhtlE&FlQ_Uta#Dc>49((?1s9|M23)^A~>@?zyXRY_IdHA6~xv?)%qg +UpeBu8tL9TApyS^T~olqT!VmGCD1sfjYq&jjCq^m&$G7qN!G7qHxticr1EktXTZA({{BwO%9)_oujPC +EcelkBKh*Gw_x1G1jgl5nU3sM(b6)Lh9?7%f%Tmcd87UU_-6u706FxN$hx*zbS+t65uR2>?OLgsb$k+52&+tp+Vjz{6Go{ao?C06^La)F%fSTc>x~dyE{-ZHiNAUVz +HX!|{ys6ByEYI_)IC;!3@eOJ(_}}j(=oGa8F$?-gOG?RA1${8 +&~?hltH*eM<(JlRG!p|N^1u*1?!1jw!t>eQ3YBTydDxNC1uEwD-z9wFyxneMiPVW2!}F$;(}4|vITp3 +-luKY0pXuGODc=840O`95FD%iUFo#PM?^6-j6AEh2h}?6Y&~%(O=4XO?TNpsFL6+5u^rKE#8YvzV*bvBtRGQ3^ +u-+MocL>=+^7%h4?{95L96p_iUG7y0T2g2a-g%z-B-ayr-R@vsM~ii-6p7X|+^r= +Xq*-(MH#kv25=H_~ZNZeF-G``2ZjUo1y`3JGsL6NLVz(|^v27a!NOl!im4go8uOP1n-zy=Q+El+&dqfNC|%3-)&Sbd24y;6TVv%`S`(el+L^|X +jxyNPwvjbJO|w)ZHkQ=PGLUIxmCAF}P;C3aTA6w61B=D9_E#>z)1I{WGjMdjXlfs8tI=Rzt*QrE-MAT&*RP^X}P<7Hr`be{8YO}=nunww7WXwKn)@nudJ)21Rm +&uy-s?@qIrXb|LBa%LZNoQ&wFMg#!0AYw>gTW)oV2}4|U3Is5AH +n~iFRVO?lK16??2fJp0I{fKOEv&9LkGx>T(9ZBxM8U2fcAqwR$9vZD)$=MBT#NG<#Gvx2Ewp{CRWJ(`k$+sbxRb=p&RN!-eMK8y5<&7K}MhbxI7udV(OV4|r +qLc^(%3{GA&Zl`!ag90kv@ZWE6gzO<~n56!U?ow3nSK^Hij +e4P?H6tOB!G^0=0f2sUZIyx`vBE<`2ObC2lQuP|2PzV9_?V?uiJoR?{NoO+jn!>>OE}FxI1OP2q)q}_ +nxheMR8;%S9&Q>&2@QYj&n*i55YL}4fYr4T_&8K{?}=|gc=6#@;yUhNPk_$j%^MD!cW4Y8|G=-#YWlZ +roAxwC)lv0!)ek3f+Ml<7eRe!cH#^M^~)b +ZZs#~<{wvun;`l|~AG(r-SFX`HISqHClmbq-D%>-CC@J8|yiAVqT; +DK8v6lH9y?vc>H+9QJk>C6yEg!7(_wvSeNV`$P0Iav$98#M>(|H9ajJ-_>G;Lhfh;EBC^hv4Ff@+}a* +@&uE?^3&3Vc-_jG!1Jdga+!V-;LlrRfQtIJ^HXY-gO=ZdqH+$h!zd=rl@T4H)u-QH-J`QfNo5X2ZqI*M)3w9{_2F~c(sHF%sBO(xdJb)*dK4DH3Tq8@cj)b9 +}j45f^ZG=hNn0fl;7ZMPts$-bP9YTh`MN9@31KcQ?EHkCe8mXPdZ4~gr6FaxkL=iXBw6XY@&1I4b^zP +f@Vzr1YDn-X|AF$RC0OkZI}W)Rl*YP#ttGO>8*==D9gLqW`agBkhK73K(rzLe1&OU=w$Cu$@DDuYqS7s>-EIZX2>!0D8Q!bt_hZ`*bxwRLYuR0_*WCa +Tavqru|$Wy_zrvCR7#6d7p3&Z3A$+PNsqDa`4FeXsN|sR$elob3X(?zi7>`TH)UIETNlnxV%Vh)oZ4R +KO50N2Pzx{ZummVQa&E%Z2s)yl4N54|Qfk(=2sL=SmT=N;t1U*BF?#`BK3`@jQy8VRjpq3X&6A(0*ZO|kYMfP54 +8T8l2Y0DIEV)?%w-PE&)U-{ayMC4YEibt9d+XoJc{6f8Irk|)9_`mwG(m|Jtiiybt5P6FV3>HOMO``- +g?}u6AB_(hMUtz;mBuzqG^k|DVEihROl5rzt9pzr`r&8^oSUSpSO(JtmTcDW-p|-Buj?cP0^DOZ3Tym-b% +#=Gy@Ep%|~`uVk+a^fBwbi-_yU=V$fHE2zo0SZPp2P)fO5YzFEkc(>`1KpuEk^CuUMIO`f6%0z_gZc_sWib<13lhMP}+gu<&U!{24zxO9`Q&y!(z^xh1?rI!~s%#2+B#iL$riP9;LJtGn`~o8LUdsWYqdp(o= +_kms1M;6KGBF})4lXw{G$A&db0($t{JV8py$+UP1NLm=zvY6QTxINJOhof!BA-C1}^Asi{2z7ZRsd$a +ri_KJ)V`*WyOLVSl=5DUyCE&_0Ofe}urpJ8HSfg^A}hM_&pLOcN){kX%;jx2yIT)r!-HBK-Lg@f7H56 +P#9!FdzzRbc-_076P|&rJiOJfZ0`4l^`uf(haeX+G&O;T&&ejK5D5;8uwjS!9 +;#h@aA{hx#&%W_NhMJrLrJBhtkBe{LSQuw)hfiKXc%k{;ppP6^z4fFR>LTJmFy_>|T~l!<0q-ScxyK4CJQO>B#@=$^0Gqnfb`gmR*$Ge9tzZAnZ?Xo{N(gv +2Fhzjp0zLBSBZLxg_WT}@^lcki86c2VHi^b%AwWQ@y^hXx_M;r;U_K!N=~Z`@@dZc ++w$&rJb<-BUO8Q0t`bv&vz6K2^w_1h1c&=r&^pw&FjVAa^i?8%s_QD4})h +3zd1=((8{n5C5E{=Q6jy#r`c{zyyDV4b$Q!`84bp_-}j{+8r#hLuGA5il`;2!>`M$i@pF1bZ`rKK<@p +6q;p!R#z@{-xb9QPLmINI#O%<2ee_#CL|wj*jx0072a9f{Drm?{j9;ugOI~D=TD_`T)lElC)Z!y-R2> +3>#@8-lU59c+s6)ya(B%V;OLUOzOryr-r}?XRipqDh4NLgb_IaKBz9Km7T0Bcm6{EEmq~fM!Ti= +{3$RQaEI=Li`MV0;M*YQi@W?X3{09vN`ikbJo*{H#Z?SA)1Rdt%Ks&IP)09QQ_HoGDbIQ!^s1ESz^`GdG;XzHkT|XY +-&>VKfuKB4c~Z)4sHnCgYzf!@FZJEna=rlp{ayuPfGL9` +f@kilS28~u4XkJv%=B7haHFv{su631E%)Xj>^c8)WT#EVkDmC)ckINCDBo+VK}|PGwb+(!5z;x2h?tH +&GB#gTUjRo;B-ayVypKh%ejeTDsxqljJmd>B>62mM(_@0E2Ch)hr{b2JRvw`p3CT{Q`hVnDmNq^fbk` +2KC{3hNY~J{6~rMKKy&IPcX+26$UWuhO%3dj7#3!V7%0Z7GWWbZr!Su!WCQ9;;p8EAt~16f%H*ibohH +Z1Bs}rZxG8zD5iYHSi@rHxypkYbmNT78Y*4hAwYQ?rIkb(j2b=+=Vk%0Fxus#1)sF2E4z$hv{)xVNBADXAI&-Bw5ZuH!R3GL*MbMx4Iy>zi| +033-TmxrlfX}61Q@mKzALLK@Bwt>PrCN@_{BjVAfyae7gsh}Qz +ylBw#UUdY-a0Lf!=vE+KO<6Zr)q)iwq}exq-hp1${$^I3>`F+vJMC(TDkxVw3PISU7KPfrT?WptA%@g +<^c@^$2}VMP~bj}t2BxF&N2KknZ&Kk>DR2C{CD=(<^5@v| +7QB@$t;G}CxLxcP%5wrGlNs9{sF_o&d*{H=MOHXvmW5{hZhbOg|q0|0&e;w?Y!OR`eFK#uSMd;Prx9V +t>i0*9+~kZDYzH{4D(R@CV;@_3~gh0hg_&no>)r^c{;{x<_$CJGmLkv8Z|pqUoG)wNROnejx@|D3Vw( +a;?uYx4v9tM&wwie@%A*Ft*#ZsX#fj3QQqlmL%aSpQ9sX#^t}aYF{Le*6OXNhSt@zXThzeg&>pb5g)_EHEVLmD2-b81iaeO6mXj_iPu)fzbeMk1xn33+2lLtPCQmW +2y6OjpLlR>OQb0}Ze4X)#n1QZKllq%V->!2(O>HU}{uTeC4`cU)3#GtRVavytZ1_w9t&O?dakGbZw6< +mqlpnih%8(NzfIkv8PpwL|ibqR_P2)!MbpEF&1)~zM^Y{TE7A!`FiBHoR4Y(p2=Po*I<|6`R=k|7^|HgM4pk`V +QWNiqx_`a|p--MVGo(=riTKE}_H!hnl?@Zf4@o$Q0qjXYIUwmKR+FN?`}IHF-ke8Ub(pC0P*F@wl*QP +<{9>m&{zS@Q+%bH8=$+#L#QxjIEa6b~mTh-y#al4h@pRSX4lpsX{)sp=qF+*ae89NSbZ@+HO@m_9dUX +F0yze?K<&ucZf=4N|JdFDK@m`$h1n!~OBM@Dbpd)*nJY?JlwIs)gDD);(xoJagLJAoB*N#HXS_bXUor`5nePV8(HVnVTt&hx#rvmb6*%EH{EuABpjSWA)bY +DhB&!^+1I~TTv-pOT?8cOc)vLGSfb1-7*V@>L0mbN#jU6I4I*a9AUl~DZZkSnwyfjBWH5rd>KEPBP;W +h7V>azDsm_~QO%VwR5FLd2rn|YoE&BQ%QWwM!2`E|yi**IO}tVJ7SYkJ&kt4@M +DKKyqDefWgV#u-uU!(!ayw;{c!(j#A(+bPs)I?xHhXS&x~O-a_kwlU!phlDRr~=?WLgM9CO@nwQHZMP +iaQw)PYO^yg%5gr{Nk?^2l`O^I}Oy@d?5?$byfv-HZbIF_+BfCkEb@`pzHQmjY0*yxYr!2cvQBk#fgp +R82_l9%%Ym<%QVF6rix4;sDOm>cx2QoVAzoDXQyY%DBOoD?fA??9ALddIC;H+~)+{sfoLcavAR!p3cb +SH*RW9L7XfcMSmaSIy&d%RVUhv^U<1UN{zVXVQ2D*)!M77L@&vVBPbTqt$R7S(~MZi6WR@=GH%b3EYb +!RbB4Yn(;$$0|s=WBCYY^S>ohj#ocf!q*pQAngcHUq7-Ki;^UX!c&n0K2#E4|<`QzM>t0LTxO_9aD9M#Rh=gv^JtO1wJ&1Ep2)$9Qp~3&3n8G +z+lEY|1TIh><1@PvT`CJ{*HpKX{c#>KQ$gIxEvu3&Bt(m#haddHa)f%WL88W9>1u`R%&ffDOgfRMN&d +jz=vr4^$wS9E_x2P!s#y%e%(L*7Z+?WxVeNW)_|wo}olK_jS1}Vl^ET^Wq6GmuSQGm?dJo*g!XVR1G058@y69UP*ZT;m|6&rP<%~rWwVPeq62HBDIU(r~Q@F~hF{I6A1&>_z~TBi*QCLN*in)L_EprX?$Okj;o}^JykNo17t|p?#!6az@MbW-#fG8hx){iN?q%lME#+0X)fzoKnTg%@sx6mew<*0363-|UbyrW=> +-Lse1T}8bo84tTz`^mv+50WJ0T?l-i+czV(`%G5*96g#o~z7Vp-k)XsJpnY%~KD&XQPszq{m#nk#E^2 +E~)z*YAZCrZ1lI9GYY8c?>NhjD`j~1pMs?>_UD+KpNIfVTtMD@^;w6k{XXKcl~!3!?IVg9nutW&;dasr)V1$SOjbu`|{%`Rhs +>2i}*(ncP34+m0MH@mLaP8u6>I+zvM_W_5Eupxw>Nn>$=3s2i~neu0?>G%G~icpAIM3Vda7d*asC1aO +D9aXdhlIKnuL%nK;%JZ~3ZRPv8D|tfBy|+%J7Q0k4?^M33yTDeidsu*z{zf3VMI+OwnsBKxZoYC~rM` +aXtu6SmG%x`Ju0;DP|Nl?u?2YIs=bSd9~ipQ+TheKT5mYoS4_X~J$oIoo^K+Y4zKU~3Idr-Obd8iVdJ +ro?N42rn9UGAz9=+Ff(V2d`jGgQghG#8rzoA6zuAlPirY+#e~u=A!8r(Fj`_hQ*4Py|E%$)5F%~SZHj +KTl8T_cqaLDKyb`Gor$g1BV2( ++who+dtAw6`-$e0PKT3z^88?q%C@B&Ld73UAY +f_I9zfPR2}4)Rv@a6_ijznj(JTi(EfWBlaPcTZ95@EDTHZ)5JvAoy58;weFzvk;IFDHILbVpvR{J#}C +AXQ$OPNJUQt^jp;Dne76L_d}g(YJ>^9?36hNi4?dhCr|IuOjISt~QZ-IVdH?>c736aN-AKTgCmk?G>QxunFd-5=UFtIIq`Fq&z1e& +=fcjXA``0r-nHG91DzlMm?$ZV4h*k4rMfcb(i+~LWMn+dgPFpY9yVpAGgvsmm}bJJo)ZKV1SQ)0%Xzt +pI1*R=hr&bn@bwb1a`O6#;&n9I~yl#KG-Lmerv^>#`dnX$er>)nPb9$ON5Y6J$V@vCFUC&y7J+Cp +I=#NSxZl|RXBY_?5bgc6Yc!JX>N37a&BR4FKusRWo&aVUtei%X>?y-E^v8MQc`kMC`e4sPE1c#D9K1HQAp0uD@ +n}ED^|$OPf5)wh6om=78Ioxr{my(ha7XVO80|XQR000O8ldVxvsVul+x&Z(Hs{{Z5A +pigXaA|NaUukZ1WpZv|Y%gtZWMyn~FJobDWNBn!bY(7Zd96~xYTPgoz3VHc${{wW`hZa9(518?$r1uB +gi?f9j~B7BBqVLf67uhrytX!`E(xVN$b)Cz=)E`7dE0|ij*CY$t@Yf=%}#EW+44v9L0JQ;ch*O6(gy? +?j)54ngmk5YG7-Izn(w31f%mpW9VYlS9zM%}?aKD40p6-7W&Vzh2bU;J*xQG@2eJD0Wpyp?zpvL<>#u +~UZsGR@fpofeYZ95#k5S1SS_mCwaIMU4g59K;5VFxS1h_IGO08u~Jyz1Rs+AF|CAsyH9;NgioyUMC29 +V%vOp%fr=w`xG=&T3zsx_amWC(-^+QuLRH1Lxe*&}5@M|nBSeCe-aaf@97D5IhfRY2V_$Or~wJ%e05( +#z)z(g5%Rst`Sc;mVq8_;?9xYp@jNW<2*wH1cPjnA~pWJ5!C{`t;BrgD5=)-V^6@GlHbcYR5 +DT9jVKxy-i}vSq%B%RkUP&s?A^FH8f5=NFJM-Szo@p!pk6O9KQH000080F$jzQKi?vk1YoP0Q4FF03r +YY0B~t=FJEbHbY*gGVQepLZ)9a`b1!6Ra%E$5Uv+Y9E^v9hSzB-0HWYsMui&&kNSz|Idl;|)?rJn%7p +%#GzzNW~o}x%}%tn?pQg-77`R_Z26e&`^#OcisDRszm|IXp1p68LX;Tiem)Tro2e9VMD?m-#f|1Z +d4Kjke)Grh&7bl4#p&ts>Dyk9O*fDadjx(`sw=^l6ZjhxtB@SAv<}HJs7$VN8j`=Nnw6kEB%@VD)!)m +6hvcFFy5tRd@}Cju>sj9$c|h$Q9iI>1jN*&)ck#(^G&mZJ2Jz|OWC$z0jB%RQF?bzeT)p1#^fJC2oX6 +)l&1saD^NQuv=iWabo_)9<4-WoL4*q*_@asW5`RT)hf4GSn{Pqkr$8nP9aSVdS(l+l%YP;aM7j_7jNz +Sqaog8vra%=v$n3no;z|$F9Qk!&{iso|yuBLe+1lcClAKs-@Mlw)|s9-g4Wpqm78(RBWNa$S!yflkz8 +R%OI*?{?Ek=OmxvY-v;kC;DtNPNuHSk#aTNZdqaW;}v{r0Ki?B_Ic{>~Ceh=e?yhStj{{Dp+J750~&2 +Ns5dtDQDA_u}W%{t$G?|+u69M1_8=s_#eo$X6 +bSO5@~6w!u+-4rF%WurkFCs-lsq)4eR&FDlqunbQal;PI=nRPOD_doClGQ*lJocNF_G=cjE;v4GyL*P +X~ohP*`!$hXZv}2dEGU&OZCd882f>6xqzY8!w`}SBGIeFa!zk$w);(-jK5qk&UgOJV_qK1$!p;am=Ca +j<+*d7^rm!x&Ria}poPJIRyE4tq6ZZ|fLVqs$pCdy&`soX#j*jaEOGcE^E2Wke~R0JU*h@MUyOya7~1 +m2tpfxR1Kl5$EC)sGMy#f +D;Rh1aw)GEYD`>U{zr6kkA#JQIk~x-)*TzMXrE@@FbsV>$7BruR<_lQD)=hBC%)mxD2Tqo4na9RJ1y& +}fOX!GYA$x$e+Tb48CKjJ4^W~Sb$%gPauhopv^9USL2H7TLF0?!QdxN_+9{|y8z2#aUH&tiRzzVnKArJkvZARLFV +D^I0S#4sxjmIqLa&7>t-e45x`hs;4UEFphbmkuwpb-3s6uHP26#w*=Car;x;rY$32D<_tpoYy7He-wPiV7ns+&E%S0NWD#ecp}m0RwAg-VxByYNPm7ko< +yOQj}yfqjSCo>hIcctS>L#%es>^?y%tVW;)FEc1=o)EuBt55G@V8`r;f?=}%wYsMG?NVZeOqdoO^?mv$$689wlEry~ +}`Ja1;KzWO>`@OWp2-tqm{E)~Dqxr}!)tCyRQfpj^;8FH@P`kf@JMX$CW8rXByM#Cz@OcLBw_5w~ipj +VN3PVtf@UNbHi$HZJA|Hv!pGLeVha{ ++c&NVuCD3KH!}B<;82|qHT|jLWd#?jmB}vDc_J_6fSTO}Yo`%zL5Q_ate#1)4^hRZl4tl@iEp2Xn2ao +noI*4hzO&#ZX$~~xX1Q}>F!KBdxmtn-NEFiZt!~h-?;7Vv+KE=K(jA2eYfjL+mPL&a~vmkn#b-+d}_R^V^EM!}!8-$d3?Kr7GWd%AlX4La)eui343h%v{XZ6cZ;w?l+^de|gl +;!rl!&jfz>K +MlosV>k_le~Zp@{ky*qd#UCPTA^Gb9o8_X?v9pBQG=#TgUPFep0P)h>@6aWAK2mq6*RQy#50+3_Lt +hPe7!WjTF)SN46hjdN1S6eeE)?mKRNOSkf8UXkY0*~lP*e|sMBaUO_wnxI#^?@qVpp>VRIN7kjyL!GP +N=)OcS2ea-A)?^4Od!;hD-4cnc^L0*(SOQ<q%3?eW~FwPF<8TOt~9$9ikrv0f?O +;4c=){;tXtfWhfu;XR#=pq3Zl#UN-L~j;uTiL)cy0uQ-Lce4jf!l-PhKco0|&G*GgFa0v;j)5YsUn2p +cw!@cub&ufd`#%Bk-pwR!KU!NETo_;Twhe*8{NQjp2tltTOx3Djy4tK-N$Yxu|sO}Hk*Qu?uUN(X+5NNT$%;EJ)_h;WdL7rs +^zX~W!?*Z7_3cSs(Wad8sqp*x98>n3j-kTo3^>yu26tu*Glw6LsdG<(^QY(H>A8ZZ=Q6K{Sxvb~&yBv +kh%r{38^xBJ*_(FS2}i$DpE%KU=(f6z1#L0f$b(84>Q3VPq?b)Fy{+f3n}Ms +!SWCxt5()#A8KQYsM^D{AJ|!gnIsp9n@6kVYamMcTaseXnitwk<~NbiYOEBVDiPRSVVP*JuZC;oVJQ{ +09CdK6UR%@>LMvJ;I(V2TnsPY{N|p_<-ioZT(%rEd(rRG%eCy=n^U*XF?4PA#q^_Xl7sOR^8;a}y`%^Q*o;#`%Zv!qdu-Ww(T+kBd>Za*vd~_p*vsy +;UpAfuXo{Y|Arb!@u7#BsAbd8S{nR9jYC#0&6)|vyDWAKq7=tu~fVA@vW +f0kvn)kLt@^{0Nv7uVpq@P`kqx!h(TYqeVa!Vrkz{O9UG~Ee%w&(giSP5}tp+Pw#MsP#-WBw+$1Z@R!vbuKWVaK^lZqD(~g?RPl5&Pb7gUSi^-F

zilGMXUD0Pg_LjL~VES|E@6aWAK2mq6000~S003}la4% +nJZggdGZeeUMZEs{{Y;!McX>MySaCyC1dvDw}690cc1Ir+FCNGoA<;0 +!_FP_e_O_%(C>BRNPc5MyMioIWpf}{*-GbInBaCrV@t<){uwOO6g7I1ypAcMpHc^_S%K@P?mt +usKt6C-ZFt(&q{VJxzY#ahTp)Z6QK=a+QF#@MVAYpT{wc;A|DlgT8`s8ZxS<#*l?oW6D7;Nakj<& +r7JwIbA}S3)vivl=P6r12dXLC(;~sUiwAWsH2dIvurA7XdM&v7YDf7Uh?R`0_KTRtYZjpgMm2<{e7mrACTt0|rW_JB@@h84vSlO0Btif40%Of) +L}^)*HipkH1ZP2qv`U8?lK?ls8PsuIENUqoM=Mc1DZt+_wIFD;_n0sd8?HV+^J`hS+HQr&40)L(u23% +wL!TUePf%S0IwV2$JOin8gAmT}2N6r6*9<&VqL49z`iBXe5G{zemJp1R04?&nQW|t;B;`s|4ibQ&f{< ++2OtPAvY@sqPMZuFMmiU1^1;~M`VOK#1_!)U`=s+>o6p{oUQTT6HCEekrq5G{Re#10PsHS9@vMdRp(Vh +)hJ@Zi5cX|MT%pR{+iK5+-rG(HL2+!Ud9A-yP$MoJkKSpuq6?Vcquc*luomJPZS-$VX;enxC5 +<)N!x3r#lqO>k%^{i7o*_=xZPP +PdNKU4oJ`>Nx8y@$ +UAxm&8mPBv}Gg_*x55i?+Ava)!51rz@7;^LQ)=Q1xzbYcc5)aV-_~T9CqVY$j*RJ9xDxLge2(a;L+2j +f_?Ufa;UVX3rM^0@{fhk%)@t$5Ks#dG7JG}=lm27MdVW*)4#~iI4vYa46PG}h$@zKI=y@eHbCd{eBbY +81`_T|3UfGpcD^|WTMJRsiu!64)VSwlUMr`Yeim9eV_KYmJxPmu)-V$zcIt9m?7rSGKbRyN|{bvx$GfT8qZj;!@f{{X`LAjg|eM1Rh7K3o`?3iw_P*#2;8Ikp@pGy-M +^iTE4z=?GgJ-S?Sp{oN*^94`%s6m2S`FV)<-rmA?>%_Q4xQFD!tM?9}M-Vl%3*-spW@r8|ZKJ +Qv&2sestOhYTsJ3xfS4$)c~^9TKmsA$T`l9bwFU>)PD3pca#kskw72O&A_G(E^v8ukxxqlF%ZS?`4mHYs6yQyycIl%R0I)(obG}xo2pftOJ4SuKkvOAjYj4=Ws +r}K7?3&HfI<$oK|F+(1!F`BsRg#4UWqF+96(r8OBo}i4dqRsEu;o;gCXK7(tbB!>p(n(3^uhw?=l4@G +G3(P`E2Hr<*NG-pV}(r_3V6B-qhLAd*$Udjxh@5R&AaAG*p?9nm1;7b+foz)VGU=C0xMcq*ENjYBGgM +_m-(hPv|IfFWKhM$sipHPM-7<8#OyD2h%5M^-NYy=LU4>BbNn$Pth@SD4t>KgY|%!;ElB}kO^G +KdOqc#`J0r7YcNY_(8}ME5$=cldar%KHC6j(%^>QUV-l`w4fiAJ4mxUdLuiB4^~vz1A55{CeyvI$Q-J +aCo9Doizv-@`Beb-3gq9+Y(7xM$P^oqAvnuv9T~WXA&R>sr>JS%$ii@6a +WAK2mq6zVS>dSkSkscJ!+-A?7Z`qeaF6vnBCLiltx+gg*cLKQsP%RDib7b3nBq{d6Hv|~q=SmY*GvC!& +I8Ra6AV@=rPnb}LnORKfo)T)KBPBP(GwH$@_?#?QQ=ef|(PNa5R<%xW#wXY6Wucl;!cRV&3&QZ&z!bK +kEKPjFm7uUkMu~~H-LSoIVOhoJ>QTj9@0}fiT$;@X8T-}QENn2J&%^&O^H>zF) +WS>0d@5l!7G9a0-hdlU#*|~R$+v1(0s-a?bHOZc422I-+L~dDZCHz>1cY0#&*3C<6an0Bx0!N+&P~JIjZyT|8tCM1@vqriWSaQx+?D6+q#2TR*D|%i +87n$e^vI<%zwn%^`YbbOC==;|3_k7akBlcsdbkaE?XRo$Qq8=z7|*1KT1`7?Km8okAv%KmwGr)2bSzZ={(%*nAre>M7RC{?)>0W0yN-29|97BeL~zC%?(iWQ +Hvra;_c^hWos-WNhD1N{5Cs6K5c^tuOdL(E*GB`tG*CDxx5eh*tJg_OIlrxlg0M*8pK#4{vOleu6 +B`w~LOBbt@e*@*S*(i<1Zo#Xm32KSItFitgb`_>V%KbOj7vtiuEDlTG6d=&3YD&x?RwySY?8t{$78 +Q+A8lb&V9?Qzs6v+}VQH*#O$a<|p^gr_L>r_@n7Ls!QrJExyW#;N*u0O|%$Z!Ef3TyT%p?R)ylP}g2n +LCj@6IECD+<(;%MO;fSE~>s7`XMPucgFtud%-K77@r>=F8Bw7b~)k0YSr1RF8ouYP0x?#+IoZnQNe@_Db +skO^D#U!*d=tMu?i*qlZsde1QIu;o@+OunjG(%5@-OlOozW2G9rm1}KaqQ`-f5`!5ytM#dOwP;=lp6r +g43*07~F!U2)ghaRHgiHbbowq*tFH5Eqd@bAie +yp92ZSF3y4GvVvJSIXz%=}R(Km%mCw@S^doZ02R|;H2Q_k3P4Js{nX$7|;KCOe}3K@6aWAK2mq6R008_4001W +d003}la4%nJZggdGZeeUMZEs{{Y;!MjWo%_*bZKvHUvP3|W^*oZd39A$Z`v>re$THsu?MI`GilNuhQy +?aw%as~p>5SvRaIn?OYtzaXFF~A_dDB3z$xSbh<$h8cX!_%wNX3JT;~Os4vl0YZyXmkcYDp{Bk-M8#= +-Zy)m^dpa=rLg{JdQ*zb-##8Lv+q&oZE=_EFOaKeXeD!XNHa)Sar3U~6S|%oU}Q&M472--OdeJj}AJ6 +wF%qg#t?-b!D(dgR(?BQR}~ScoBJwMx*e3ElZ|tBbY-AZi7%VS@DWq!FEAFAEE%!fJ!|}p;$#pgdpSs +Tw2G3@Ojl-pv`-j@S`ZKP|g+w%;A1ahU&T4Gr7fTJcah1J_~{}gv%^ie~~6Vo`zV-GmhknHJ8lny$^q +s%3xveU&9UBLhs#1$?-!Z@&>Nx#S!09G!+teIA#MC)~pc@o|tG5oPr(OQY{*TfUMk5eS~NOSx!|VYL- +`MEIedAKAy2P=eGAF1ag;NncNDc73SsaYd$q-(KSk)=G(i&7f!V8_EsOxuo5kFO~GB- +P5^r^KhSN`=O7LG`t5KMoEBAOQIw23fTKbymnfS15ffizkth+;Jy1>68eJbO@d%2rw`)vDfe2U +u6FQP)h>@6aWAK2mq6bYF0J +bZBpGE^v8`SKn{jHV}T-UvWzwECVWmwcCpU4;YGUE4HOUmpv4Qq0$mh8Pa@w*?Er&1dSwzg5UH~IvnELkd*6GriZRZbR`W%^WdCwH=tu1+04Sdfig909I_aH*|I+7Wr;w;q +MDQY%E->(uE~>0G-cT3$ACk~TZTDs4`@kpGEvh;v!j)umL2v-aPg?>?vR|G0VoXZq>i+uIMfzekbW&u +p)}s~$B(_)A)sz{k>|X!-lTeOR*oJRPJQq543idkO`Q3@N^br} +6d-k>4+s6M~?C}gzNtdQ^CvQcu@3qe!tZy-D3BWa7xL9>pys^$~d+E@Ni%Omr8@!VQ7-QQW03-7{OJU +4j)>*DP)w58HrkC*M7a-+6TrII^tx9hAsf)o1egy<1x+7Ugi@}FIG`6kaCOabQh)6AsY==b49k~N;1a +uh>yV`R$tBk>;P%&}h#NZ=tnkQ)y_DL26?4`;Bs55?pnQ;X>0lP{T4$0l5LF+S$T8oyXVsMY{iFq7vM +ysMGpfl%DjSiDbI`pohkgf>4_TmAM(yn)*&>7}V%_eaS*@59ypxc`QN0gwHMOIia0&~@3OeolBGBDPr +bc+Rqg;kGmz-g$gfLO2tgD)6QHng}|z1x0SvHNT{j*HE~A+`iP{UcU|+RV@rjo)US +Tq}uvxv`E(h8^K*&7Q#sA@UND7n)H$vgANUXbhF%lU1**{zodhw2~J4#mPyx>?gJ#DZzR|d117nQFA# +1A6nlp1|MLtAvgGlic9kqyog+d;2u%0$Dgn4spGg6{};3$rx;%_HN&Fk!hnnqqE7vt*;PZzv@F=neD$SyxKA6kg&(i$BX$WThP2W?Zk`m1@O{ +Dx_f&C_@sT%9A5qp7?Ooko!q^)Z=3=I;}Sht){hmP-q#GWnP*KkKa3tCoKKlPEe(vzb6gw3jHL{_3dB +bX2YYmo(8icI1hg0bh7A7TzN3rB^S&hg58d2Mf^b)hKGn)aelVfMG@6aWAK2mq6;+rCI?#C@+?317ZcL)a61(aU4f_RT=Arg(#X^vl5lAWV(SeH&#|E`=A!&>ea%Dg +X`~V(e~A)2V1H_!Y+f#Yg5*qSLH?(I{%Z9zeM1Kqc3vpb>XDnSGd(N_SKu4H|dL?E?@kd-u`iYeRcg~ +6zO@-@-!0ox<#A4oVU>%+|Wd&+qcL@5c9Jzu?ts&jH71HPg*YRVdGIb*ekLT^4`c$sB +7O>vC>}Um>DVgAe5E%iAA*{q2&MhM}??<|0MfwNKN;K`|e3<%Ijd3H=@sk1!R9^L8l4=i=IwP+N(n$$5eDgT(*SP_K!re^uBV_$z-AZay=u(PpW;TCU{aO8q9i8Z(Q)KprQK~2giN;RNsPM+b|25zJU{5ouYfq;jD&S6c|YN6~>}Kooo*S8{&f}jim&`L +;b|-v632MYuveYMVA3KEQei++CR)acIzpE@gvLkTn*k(U#O!nTR^~^He9VZBoFs(UE~o^r}K3}l`S>i +9W)a;YN7GkZFmU4kr{$28%@2$s$r*ARRJR!cNmJ-l*0daCqew3(1OL^4rFMiC1JE&N2m%nAJJ2JVJGhLzi5tI5e)qjB<21G>CKEOdbEetQo~y$V-M-`1j +RK&0+`emJ3&+@68gW5e2^`=C%cqL?eP2Ly}?tI1Wx`2P)h>@6aWAK2mq6?y-E^v8MQc`lx&nrpH%qvzXC@o6OsZ_{IEh*10%GL#P +5=&B36iQ1nb23XZQ;YSul$4aX08mQ<1QY-O00;n+tx-`Cr>kqk3;+OxEdT%=0001RX>c!JX>N37a&BR +4FK%UYcW-iQFJX0bXfAMhwOVa&+c*;b?q9)EafsbhwO!yo6_*2Y*><(#I-9@v=u3YU}arMT9IwjQ&O^uk`3dFj3?=0V-Qi +LM>s_e6oWZ#ki(w(iRhYI>IZO$hLyqd)jTuu(4m$LJHP$;_RswCmzS5n=GPytu3lgL47%7%48Kr&Dyl +JspXySkpuS}Y_#XepQt@9BY~AjlKavQNc=elBSz$ +!qoWCFhLm>2}^ZxneD~(_X6o&=tXuU`)@|oMiigx3EMT3x1Mc4Ut+9abI^GIA8_-CmFaUp_bMQ@>h|l +Q!Qa^r43~@#l>P#(T(x|^FUeB60L{y0yVUwE6vjr)Hr=XmR4db^6Z~Z<2P1Yw`wwY^EH({*N!hy+(fx +71PM}*Z4F99ztL(nduJE}aP_uf>!Pv4TG$XXm{d!E0)915UpV1#y`erA4meGXeyC00&^}0kKr9#W1Gm +N~>_SRjuX{-Y)!GmGte@Wq8b3B#t?0VnE|Z_Bl*2$7N<)cC=@AaSiU{EnU^r%UptNWKNKdT+vq90Jh+ +@_P`QgOOl1cSX8;lkc^S!*yPIm2M4sQuR_T+AUtS&ozLI!r)?AiUX-H8{0?x&qKINiu$@$)@SiywcCf +%A@(uqYc~n@r{HrA?CH&1xa~eGXw5l1IK2wAsL!K?fbG<@`PGK?ZeO(a)Gk#5vMm`Qy4+ux70BVgClh +J%-iWTNNA}m-xXwGPebs!F`XX_+4R+|1qFr)Pr-reDw@r8q#q+jz^m5KLGlufP{KRb!ZkqAD|1087cB +cL^}6QcLAN^p{Sc;jR|f~$-ZtNC~Y>d8pw#^f#M#!jJ)3X&59D$EYeVfcfi3zf%pk6gGyYka8ken{61 +*bzzxa826=?BfQ-q5D!dwGM@6a$6-@*4#U1OLO8pAfef)^51_4BT{1_fU&@7gDI5n3nR}-}ak2`VH9?vb;mp;d3J-&@?>Ce7L$S$~zc@cvBs~@ +oSXP0Rn4Fxk9(0Dt5(zD9~DL5h+WbTBaEQ3U^9d;N}1BK|?rCW3+&S_b{kYGi-J3*+VC6)ZOv;i$+m2IH>_` +~6vYfvo;_>XGxf|-!8xL%Wxc6k$MwPaO&01qOfmy7Fo+y+fS*iMm}7c8+|i{SrOk9Djo4jcWYV&o&!WYiz9#mY>il*LQ^4ji^9M>sEZ-jEA+u(S*{?sMO#`Xt0~_Z +vlz%it9$78mb6N9CjR<^S${*VsN@nSh6wn96x@^egmb1cZ6AK)8VvThJ-7`=AktG9JF#1pl03jqBSZ8 +wMkJ<`<^`(s6z~>k0fIgx8lQfGxC^z9N+ZrP16fT*qf!v{#QTrIHQy~|R1ISQFOr{lU&!o=hhzmo32T?jckncyCI?oR*!{{`!PCxIPB&4~2taO5|S! +{@K_Tbco*I*2(Lm&tjHn^hpJ=9 +|JoQ9tx{v|p;02pUn}gXibA%=u6R^&m5g&*%5diiJd7DEM|i;cut_7*37M`k2x-#q0JbX$#SU3L0P+~ +uOWUcBsA87&*tTy=)uzDH7*!UesqUmNeUDLE1>I8L +CnV=b^$ObHh<%-<_ApWQ8!JnYpA3o1f0PPsk-}A1IgZKqHef_Io%3DQT5p6b6ltB;s_g>rbeG_oVNz& +6bp^L{EZCq^j0|ffQ?~$+7{lS3SqNdvF;9`G^Y4NV*Z@*@1+xEAA;aU|NAqxdAz~z1mr~YLvkOyIZDu +3(Q7~Y*Ign?(J8QY7&=+f$rQ_J!^<^(fpJP724=xQ;cTEesQD4dW*SjBJ%i+V1&AhsX)h}VMFxLkTRO +I{I7u9C|6GGfpbsnGwZzGPgW^OE>$lD={0Q7`cQ6%6$Sb7HOV0KK>af3D834sir-;F6&pydp$b*cRO& +MqQ!4#k4+o`5EYB!wCJ3N?R}C^=!~GvrS2SVj~+G;#3J?DC?5;beMS@wnye*BJ +!|CZ`Sunrt+Q;i(v$qhyuWr^`j^vFvLE?wkBAv#~@}ErA{y?UAz}SfTA={3vmF3U1d!q-g$b1(@7?Wss0i~8=rxEC!yCd)TR489(x60 +&0Se9lMmS7MrOZ!eLbcuM+#btp7i? +EE*NqbIA3^qzf9iRD<_hyM&V>+ktxB}+xJ_A?jfrVz2gO2_C|8bLZ&Q3nFXqRsIbZfX)1XlGZ*1BhLD*ZU=(mdcY@qxGhK%$FLzRdy%WxX8v-H8 +&66W=PqKN3zHtPXhvSN|NDC;Ks2J>b&bRQI+Tz3a9wi;Qy;;Cdd0=GEZr+F81mJZr8?U%wY(j0sNVoU +(0u$>W6C?sm6OhIQ=v~YnAvhSYSMPO8q39k_g8w+NyE1 +*0;bhmWKy5>R3w?W$v7sWSV5D;aHuq>FhsvIZ;rLn+$l5={%Bkn!-SUVn%4zN)^pT#7{Wd*Ey+W`qN(GH^Gm|*$cB&~hxUn52zVnI1ckDeH{G4HqR&QRVQQ3$#VtLR_&$E<-4w6MzdH7j +*xeXQl{}-MZA|vK}FOr+7%7d1<%@=@}%$ou&eNaw?mCGG^q%G6Ts?ojq5isYCOkZi7&%4t%r9@3thw* +_q`~$4vdCb%3oxQ+B@bYYV1_*Qb4xLYJXXAdi4NW3^Y3!-uDxN%i<7<`=_x{%M>{U@Wx@|mEFL3f7P) +h>@6aWAK2mq6cK)-VX000>Y0015U003}la4%nJZggdGZeeUMZe?_LZ*prdV_{=xWiD`ewN*`T+ +%^!s>sJiagQZmFtrr6>ni_Fq6t#mSJp_g!P}0bvO_3@|?PmXdhZOa(b~nu>x=1U|yqWjr?I=yt_n$w1 +fST7Gg6Ic{Ju1hY(26B#nkEUo)W(6fNo#ZuwN?(lIw>lMC-F_s6@NsNOkslj|( +t3NP2e~r5CoI^HJH+VA%+BI^G=yp&sXqzrK9OsFi@h!W{NM-7;S9!vV%~0?*0B&D|`q6WW}2n_DD`uXEd9-CNOXvM(fg(ipTIYS_k%74B^bH!&L)= +(LN_Knrs4`EYdDvdu}~ADqcx!*jzZ=ojFXc`s*N2HsKe3t#NRW-FBHY24TQRrm^R>?x{Ob2`Stm_?Oc7PK$;HA1qCRsq-wwXwj&Q+u1k}ls%bf9f$_$q +hW-whAcb|=lyrab%R>%7!~OL0VTq0VKwIVoWKUYC>{$5%-UPsWm7P?NQa|H2jWn;Y`|9A(K5RO49W@v +Vy_}(kTmtuk0{>^<9L4GZRpxODI5X8*?zcjF9Jis}(np3j*@l|kQY&D`<#@_V}^T^={`qfu&3O%7o%lsO_Y~p+j7eAI+%Y4NmP~50S-)E%E@AAZtmx}Z;*y~-SoBRtTyI$f8Hmd0El_zB^K+NLfys1t_ABy!YoG9y^&#j>LW2 +2wIZ`Zf%np8{fJ{z%I@^24akYY_Xd{dN +ntgVGCB>QK}lvc%B)T{wB_Uz%={PK8ySstEzo_{DWPX9U%WqGTaY-v+e4KJLBw+p-FGj-?c%vexSYlEWUH^!elY>DbxUYAq^St(ZH^Rf$JSv-p(MR`WhRX+ +q%VQButW->y~24^hdLnmSs!VtSqx6NouwrC2W-|tv98 +wB32^BzcQPX7nl(ChNLc%jJ$g5lW_%(U7K@SK3V}=M7@>ZT&s<$V#O$QhPs+o0s?9EtA@2py_#NUM#Q +!UN&leDmYGJ#$p`k>eO-cm^O@}!n2VOVP&SfnsAOf`^=0bOnfFona^N23JlOMT58J)pR$3;*oD@Z2(& +12Yb@Qm1>JlO}ZAu#`6ywQMTXX<2(Iu>LBPueRnLaO&Dxu?qq)Uu$O?lfV0=fe$jbdsg?y*~JN*l#SP +r+x2v@5n6`im~tP!4O};HEC^*|9cE;a~4+7+-HGQZoJejig_{Wz)j8dD`#hVdtlzuBILnT+O6)_V&(wVk*#H>AumLg!Zr}`qzb`sXM8l;#an +ciVhjeF2o|40k8IL%mOmU=FVrjF8lyxBsRcxqU6*p83oa)>ME>ykmb+0uYS<4BC&~4KPITBk=_62y3w +*F^yIiYPGMuuuSZ-~=o_y*RYgt*KVVe5^4j5AZBt2qWv*9bnC8w;BSYiTTS%MISltdqtzPp58qnmKg3 +l^&EY$e)a~3|L1C4;kaDR|*?&H^G>oNzElthmenOUD7+a5or@>;s9={2GZy>Fuo#_qL>h@Ir<25h8GO +H{{hT~srHgW?f_u_gy41BZpK?>->i_EOLd5u_e?|433MoJdLQiY1)(p2T3d2*d3o;n18xi2G|104w7P +|i+8Y)Qo4F~32@=T0_J1AYBgm7v3H{&TH>yX~T^J`&96)UVxP7}}3uyvgA34bw0MkR?ok%Cg`t+& +W5h^N@v^n~8#RJ>o``ycw(fGuu6e0}Ry&o^HPGv2ykLx-Y69`Jj^5Azgz=?~+yJA7+I~M+vK}#p$$XW +DCQ6xj^A*PNrQV3_trXup8NoQt`_SHwXS9$N2Gw{M1zezK4!GTJ^bb2Qe4Vc3{wEuBA*nVPE-CwVUS0 +o2j4egLaArSxqIXi>EvrLppr{d3>E+9bEf)7;9}6nxyyAd535Y!1sBz`bLH{lLkJ#(?od1f?Ii4Zc_`fj)MII|A3dUGk?|yms{-PMxJ)=9`Xe_y>R +pcfk?7SK;Cr;k0=GL`LHC;%==lH25DN1~Yz7L(;MvW3JittXWD{iyf4X-=C4qS%*q8wEXJT$TW(>Vl< +bDOHA>g_8&yn6rVS5gEzGgOrNL?1E0y{Msj?YKY^Egaf9@6aWAK +2mq6pPZz6`Fl`e7rk3IT?-Om}glWvl*L@@!>sJYjH3BQwdXkQl=`3T$dsphisfmQ^qTuZ{z2U5L +sO5Y`hqa@CjQ=Ba)KIEiQN8;!Lc{u>PXudQ;lPNv=xqQf6{l3%Dm+uJ~GLyQ&o1VkI+Cuesq{kv+Hfp7E%0Fs5IA+wh@|Wo2Mc(weaQb&EwV0V|@AH)6MVk!}aH@eNiJ{ +K@It#}qGQ9kGTDXL1@+6YDrem-1Xyt}%82)4dMtc-gqOpz;ik!&jU1P>= +eHb{3=?h2{awTVCey!#VkxVrp3zW;P{bA9vMVM*G{TCjLp$6z+EbRtZQ8?NON*5!)4qqU=vTn$(_C!g +)kb)30SyO6z;2|(c*Eb}tgA^QlbLv~xBYMzDcu_|z%8Wn!RJ5JSF-+8_biyheFdzaO|vAs<*!Wd9q%i +YQ1!9E#{MoGqvVMoqOaP^W1if&>PQ-A;nreehg&QYKM+#!QcA#-+}+)tQIan1q=7vABo){_aF{<@zDI +M?^0th8dhyP=W4)NR#9u(gDYF^hvw_a7shna7PZtO92!Obc>W=aiK>%T=~xD^VsJ(o*E4HDA#;ixkv@ +N1IE9fY^$Xr@Z7L`%;;b36)pt4Fh12NWT1n6at!;0;Ry!DuGl+q~?0XOa-PI54aXgWndX2vw6(n`SmR;bYA93o<)r`@Lo*BH>)iMyPt={x{l+Eetpui12`@$9o9t`DZVKD9MY|nXMd#qxqPLWKtykAV86Piqr7 +&Zn8>yHdUbGfvFuq8zj7K^xFO*SHVih(B}Q}pVez<&imVAtRpt +2*Ut2&M!{z-sdbj>K&tY!w2*usy>(d*(Y}=4DjZ1CP$edO1Gi0P@ujIdI1TN5Btw)++@$&UWYzqGZT+ +iy=$Ojp4dn95=qq^USyIS_0r&u&97MRyhM?PUppq +eu&v^Q2%y*Lk7eQCF8tawMrrlDvITZg8#GpON2x@g)3YHTYIdY!*4+(Y$f`g%5FOEiwk2~l4f_G-3Ow +DqB8EQ~09-6e(78#W5&$%uX3~TOPMJa^awVa*K$9{(Yg-Pu>^WN%6!45)-M*)yWUW9J7<(_CDM4Jdd( +yhNGM_nGH^bV#M$Hso-BSyRR>f5_rdm&T`T@(mnP4uQZ$P^ygz_Lbm<^(Kr(}V=WDwZtfmr +6D0NfT*VfTD?DU*H(5Axu#JLinT?m#}SvdjRgDPe=d6lII@Ly-_^dFvrvvYP?X$|GRwK*jjcOsNnlS{ +tP&*$t4;%seNiON)P4tI^n@R8Za4DCvHKRoo%$vBFf-p<^&=}+3wTPyxl&*HsT +mpei;gX|#5QfNXxfXaWjST}$b-oBFac_(E$;^^yBC;8?`Eg~X0^-SJ(0ZhjZt$pu?wrT4U! +Lyd-|4an$IdI+3{?QBnVjytj;cf;8t@JKpLv^~7~(=wRtHbFly8#uC^e+r +eQ_lX4nVdSmn9m}q{vCkuo!ynG3MKaKn|hm0E6Bkj6QG|3O)5Ev2n=L1K24Lehw*JDvzNt)qqE!Lh{J +MeMu?U<;0DW&Gyq6^-FPaR}B&j6jiqfwF^D&k45nx%3e_no0XPYD+WS^7@%a?T5<1VUb(K$P^>~;)>k$oJ_PudQy$|kh=qln2yF{NOwnDFmHq-v ++hsF@c_psABHoQy!4Vc&O7K0QFRoN{^N~P&NaEfV0aizVCv=pq@rpE-d*K|kox4pK!$s^;`%@zxrcpPzZ7FiYuplbXZF#anB9K0Q1479p{J3E30!I#!&nr#myy-PN-<>ENz1ft6jH33AOj~(+r{>j*Rlm}{tLv*b +Jn;Do1e2^X&@^Ye4wt=B+uWeh`zLPT#pzt04B&Lu`Co6)CT*a;Hl;jtt~!StqrA!`jpdrrXH7)CN^_v +V`@+%Q_<4VA+b0dgUq?i3hiy(e|GN$9?*skGZ~^t2Tf7a3fFvfP{{m1;0|XQR000O8ldVxv>;jnG3={ +wWXgdG^AOHXWaA|NaUukZ1WpZv|Y%gwQba!uZYcF$Ub8~5LZZ2?n#XJ3P+c>hn`>)_Bc!=C}l(f5xeH +Xw7WYe_gyKGv-X%~mU5EzNJxzX2&QXFs5|NYGjNs0P!+r4}DUJAGpKW2vW#o-L)dER?jEQL}s<~Qr +s|@|%SvV&7Ui*+!EaV^nPCG@5?09KL=_^EYZ*;4QSI{bk(J_~wNMp~UCT{f^2&mH5L^Bv^D>xto;R5s +vAeBc>pV&Foko$SBCD9%=5>Oj0aThliI{O{%u~UNTtdIhScMbosxCzUVA6fDKWDL296_DbS+y@jd=iV +bn!n+R5|fEcaUo2kTqZ$X$wb+v-&CI2=Oo{3fD-$f%2XhzW^CR(6$!7_d70XGwQst1yhH}6$z)yTDe@ +=?pF|etB{L%oht!NI`8;EFnI!Vz`@!%a;?Y(h%ga2mb1$*&Qny{iyr@JuoM;gQT#rz8_Rm}iGi%2FdU +yB!>mX7Pe9{286{^TH;OOBAsw(RUMWb4pl~}-}Ovy?wPK+dfu@K-IKRyuZE2%t(-{V;UEgTje2<4IuDJK%M-wNrknlS;nML8&s}tc)(8?@Mz@ +pmy?-uf-dg2$Cph@xo}5N*I9vb0|phN!!8bD#;r)$Rk*iLQ}}IWDh?ARWbr|7(q|^9vFBAz?Q49N`3xxMqL|G!F*ML>5AA&KzEU(o59n=2*F +0te^{aX5~po0NM!bCQC!2b9={}QepgCxRcx-|-h7CqY&kgrGglS3*=??>U}C*qu$Bp|!oK>R +BuF0Y9lR2oyxh;n4HEG#uP#5_UWM;&7jG9gOCa-}R(!;YGOzL|2R0%$By`4*EvEa9KLTOI$jdGKiem+ +O3VTq#W*QgEiC>EOOCiqLwyKKr)6)l81Zj +lg|DFE#Soit)%hQ*y`dz>=VbR@yC7X^Ta0TFL6zsG+zE@@;ftdt-T@qI~19z))QoVauO;!`L+oC50W{ +B)bmU%|I?GrC0e@MVv7vKf3g``~88A-m*Vo(?yl-CM?TrP00t3;{-#@@i5Ccu3)KxTTMZU=$y0-sX@U +UXu17{Ea?WEM-*iWop)C;$RZL`31j4jg_2Tn0+W0RoV=7);9p +dy}6vaoeN5^+5%LsP01w4TpQ(IZg*jrg8{DEQP5*iAvD|aP?g9=(T%*#as?drKmWCRQwlbSYx^A{3ryi(Bx022GWCwI0EV05yYaPQtteQdsCxfWF`i +T!5`;BAz4<9fkzZbJfSjU{HnDXHWDFe^|36q1?m-+nm0V#`{;Bj-cW%N3a!XCAJR1|8CX*p@(sw*ilx +VYj=L1?HNrR|d_i8~R7O*~Y>#=xL6tu>o3CdBiPAe~pFAWD9z2jCdPx&oK#LRUeV(|9GO#B;612RX!-JgHIYGy)=B>qJ>e~4jT;03?I +(bMnX!kEi{o{|+jqX`U9bwZe$wmPMu$x!Dj#s;)O?dhcbM}1Bp6_3-W}Uv@W#JpnI8Fr~W$dkH21P&=hV& +vIYHjO|u^V?!xbSTCZ_xq}TvC7tdqz8i6L^b5y0+sohk!;TCVX%wy2E+^Na(tsrn*DFF4UNpJDGV?3a +pwDDK{&*KU?+PoP(tb@DD&YG +r9;GFhdNmx-A58eGKSnpT4nJPqE*I}^ +G!9s1T~rWzDLWoUj~@Pk4b50@+NjNNz6qT1$kbo)aI~gw&^$5m(gz5+5D=VnDGq{ADr1y8#PbK&m>{6 +vVCYooBu;5ErB2v|;o@VK@01Dlan^&NsHV=^=n;Y*LSxSac$`TRIHMXcGK=yoN@_d`Ks=;CIbhC3qVg +HrVYmf-_E7S~le$ZGmK!j-3#d-ve2l0-b0m(+iAa5{!o^UGiaG$q>a$-kX_*;GV%}W|z~mstrd^nLr+ +G<%o(av`SP>HqzK0?Ehvn66c<~m4M0$LEad***xt;w5={AFiuI6pxhOFKv8rwvKt9vxo)#uYeyU~QzX +Z8tm!JoZA2gZH}>l}YtXNn`|_!Go+S}31-LB9%4=^r)sy&0YO;b;zWDy#5O?A083IBl{&lPKXzv1`mI +yjhx5tncJ#!5Xz31R6jV`w&O1XEuLKc^$#iIr3=6Dw&GBuFM;(O0M_jB@(4+?>KBc7CcL#sLQc@Oo35 +cKX;R2zCnvgGvhckzf}PPZDQD;c6!jmSG5YUd;p_fot<^N0TwhnkXyi2x$o{T2uf+K!bjhd*<#emU-o +W!RhD?#QrOZ3GD6f3XFm*wlzazWF#QYBW}3%xEk%q2+rolTAJ7Ql6Ul%sOi?;B)YVN|X*KA8!Yn@oN+ +F(90bEmg2sRj3QFFUq*uB74Fs~BN)hRf2*foa>*a{wF=6^nxe)qel75wuqH3=tofD1NFm!jF>(bpo|R +9hI|ELF+h$0l5JRh|4|I0oY_^SVPnJDSy#1#UMD55Tm_2X8tY8zs3Cq*8jKZgAC=+yi#EwnbyexH?t< +0j;%Bo3nIkCcg9R8Y&uFsLjvVE3h)7GLJP&ZIKQxRTlto1PS^Spek^I_7x|aHwfkq5?%T-#*aVFX{5i +bk*bnE()Pc*%n=0t;pMjFO}{BunFhNw<3&M(C>&^#M@?E?X4R_YLKtE`B@7JeNMZ7q=wnUt5sUdkMG*n%3f3`UWG!k6IVVL_UvpvVi~Gp(>iowY`!%T +wKf)MgXYj&F8I@6G7+!OZ*Bw3nL3azqiNN&Qy1^Y*cW`w~JM5DMb9wcT4#+C8JtEd%N8wi1ZjNr;@O@Xs&>nzIPlo2Re|Il#8i3xTty+L} +Z#Vj~??UDtEOmO_WiRSvPEsX$On&fYAP+892FgWZwW^uh-GA^&lNkq4?0+(12jaGJm~?0N +WG;4AS($zdPCmHpW3b6o^aLpq)mdwwBS3f!#A=lpCfuY%**}WP<_iC +tCMw<*CDrHPgAYhA%Dh#+OIgre)A=*xmxJK$&*O0o9hrBRFSoY!e+OfqWwpce)LA4C}m`=XN*a2b-%Q +bUT7-M>0B5MHDaEMNM`G_hBY{h!CyMG?ByX&PEz20Yix3aCKfwNU<_JrnI4fu<(xG?3xsd9atOY^|>2S;QJvP9`+HF#V +B`b|DdU%_Z50id;f?)VI;b*Oh>8;EZ#?j0Om2++K9UB{=k>F}5{BKz*3X^$Y-Cqp-48qux)Pa=nh-T@ +E4s`}r&;J$r1@g7bi*J-Y2fRTH%9xc;@!}aJs_>NItWu%jM7Xuv#h9jfk%m4t_OWRBxaOg#}MP|Jyf5 +;3T#~pt7_%kCXiV4Qh+|)5SgXZ8dn5GXPW->%gkub@h0VFyoP2DPvsgHL9PK?rLR4%8wIc50ll#$a6V +m`+m!QOFjZclK{4f4mBWyB2(?~{Og!-QjpDX=iSkI{p!S9H!UGL{Bjcwg@E>^6>hrFb|4|#z+GC)Y_F&@`H6uR#sr-CwGl|&LwFAs(Yw}0)oGym%00r~O<$d}*ZD8u +@U8wqcSAYc~z$syFts?bwN!j`;Hx-9?! +nfr#O*LPp}O+_b*r7g&eV8C`5x$BaV0((>*gC7*LdjdZVwr4QLoy$~P?M{CMc0zhOywS&cuC&=(s2W? +0`(Xm#(w*qe&Ii(+;#uD1gYRiS%7ugkZ+6iM8jGVq7`(%!c#m4@jbzc{v@4IZiHMPQW9(NF=xQ7vMJ> +N3N)N4&gO>1@w{D|o}QdqYTfzZSr$RAxfo+LCk=Szi$2_I4p1A@rSb5y2@_s?^CNmWp!3?geH{b<+bn +UB4l#)l*G&*j{`z4Vn$MR~vL!+ZUY-SY?jCrKDDeW}Yz-%TnBZ+>^_{-*NcWwQBDw+@FnHW#eP7bTDh!Vn4j;(QcZ@Y44+S#Pv0lrpWdYi_27J8?w^55Q%v%@Te7 +-u|8ljLn5Q=kh;l`ih=70ES)^iHEPmiqn^ghn=9ce7)%C9jIZC7Pd^7WGA5vlzOZq&>ey*M1i~3>RCL +JPA^Y&JQCzoicpB3j`c-H?_gRdV;_%k>;P#`BAuwRD`OFJ%{7c}tKA_u=SjL!4wqxQ&Gwv(P>cw1_TD +sj$hW69`24gS|#p>>fj@Q7~G4Z(lS~OoB=7j3qFzj3X4&}CVLTZy&mB<*LQ)al@tfSgy)jG#fm!(^J( +15yIi^;c`FXv2+6HkntS#JB}Fin+7717sr4RNB~+0d>HevR18CSisSxx^!K6SAVs$|$A{bhM;-8Eq*! +MU%E*OHabx58*fiGwnAhCYz_f956||PR_@ie$4o;f_Qh`NQ4N{Ul#tCvV!H!8Lrt1ne`B?Yq=h!(ue~ +3z9kNjjl?zw3kCsCTqcxSc#_peRO9XJ5f*GeV=s~|l{M1o +}*(ydD)D28mmgLzb>I_`eH13WkmyzVi?jW@sEF&$Lc&4-uRf&sZnYnwP+Ur#s1;=@JLBX&X5D^byHaL +&wCxu#5;)5Y;#^~qEb-J5l0yr&C=fqCsjy|1Mz(CoB(j4I4H_N!=SZHLN_c9CCP-sFD(P)h>@6aWAK2 +mq6!%dndF`5Bgk~KjwuV_*XT`?Gxbh0_iqDE42-C_TIccfk{*>2Wh`HN8VuE +(1^x{fo8Ag0^qqWkzu!WVW8QOI&vss1y`P2JPboM(xqtKCgA``N|kK;z?FQBot@SH$&BUG;_+-u&3-J+>uY5VovOWz&$dF+%6%fGFN4 +_Q<#>VWEW_jgu~$W=FRoZhkLk$zj~d&8X?DY;z2Mlgon*TbH>x_49q{QiTFndI|p_m*3D-(j=i +T^go^j17JlHmGvS<#4eh>ZM#E4e=zKtMrYwgi4hiy>5-n5sl|ElIJA5Norku7|0^7lTt2UA1Uez~o$_O) +-H7PoahTuGVFt{;DQuRnYC>}@$aYl+YxbFCg}sJIr2g%zGbS@Q%9w(9->?sJT!Nd2fQ!=1|Tq-hj>=n +S!>sJt6$v7*>hz?bc$G*0(h&uazbtDh3)R@dcEf{MN^epcuwZU?^-RI?>JH*I;AJK@0o5+6Uf7(T-;* +bBy5>bOa>!q!&E4989-9b|nYZ;=)6gp5}Y8Ig(KpwS$og(;RDVCBx{D}Et`e2srz@2oCg+F+Y{PRzGrmYqC)#!g&kli5}V3!+`)aXO6c}ig@XLgjJGe_Elzf +@-2rX%E{nrB-YYk^u%)K^wjWPO(JiB0Y5IgL-5K~TnOdpT9mNSxDAv~79c)+2auYUUL=;vn1v&2igIj +ekCNYa`AxpE8s%^P3K@3^SN?qH6@0wW6a64+Z!&)N!!|0}OVaA|NaUukZ1WpZv|Y%gwQba!uZYcF_hY;tg8E^v8;Rb6k|Fcf{yudq^81PQ!$FO`tk +3+vWtEkhlXT1}H{k_+*c*qLps$rgxMNu`0<6nwTzvngViB!Z<@IVnUz*#=~yG&N#JbG3mwf|OOUxMW4nJj|%VeI +=i+b%t8hFa_5J9Pe_Q`R_q1Uq}mD@{GbRhQg_JpfClyRr=RNNeQt#xz<|gQ@OH?q-!g(L%Qa|09z`}3 +@W)crxJYv#nP}Nb>7|M?2%1wt|y<_{kQ4#)AS?uZh2yR6ga^>Y8Tfr;F*Dnom;ipB4hQSCCz{=l*;;K_>N +4KghTub_0l6A?K}I2=uNQI`-ZYxDewfey +Z=uQf94k3H=JW3y%FhI*x5JO+1}qyiU#bhG~k772}=v49C?#rkNLQxTLs^&j|Pn&W-!u$$;QovTp93oA9~D?Yn3x5sOuV7IIzcgr5*L_yV?GFJE72ZfSI1UoLQY0{~D<0|XQR000O8ldVxvOL +y@BYX$%ScoYBtApigXaA|NaUukZ1WpZv|Y%gzcWpZJ3X>V?GFJowBV{0yOd9_&Ej@vd6efL)o4vLim# +UJ2e3ly8A4U%kvY+4|27XmF&Hfvc_Nh(`6$iH`n7m<|gTnf~{A~D4|Gn_edIP!A2{GGPErkab6h=$ax +XI;&@iZg}Zds-dnj;Y0Rxm+yxu@_R4R_u1X+btR?j-(Q8%PO>2#69omk=1(WTeh%!dfu$|8d +KYS6qLZ7SM{j#m)OKdeN6GnR*4DVY+3tk`Jxj{P-o$&RekZ>d!5nUq4tZh5Df>}b2Hxzdtvha}W&LEv ++w2Uf<<%SK4BRGPLe_#9mni~Jn4ImznCRpoJaOnZA)C(!CLfIjt*7Z36J!`lz#&9BdHUY75EyS;sJ`^ +#d1nP-w*`x30c&nvT*l_qOtnM0YHGsbIk(lfr{c=+eT_3mHTuTg#jKpLpcA%1@DP6fFEE4po2L7wtT7 +vxQk$EIyT?ihT1kGv?zD@cj4gLv_uN91k~V0+rt$}GIK%mW)ZE+TCphXuKE>ra`ckh80Mv-vew3M0C< +@OCRiW1rrLu4w^bwj*qdQP5f96Jy=Dhxaqc^V_2h-ek|J!#k#iR*z9c9*Zev>d2jUv<&GfVq`c;njkO +;?U+roSCGxsMyTNm=0Nmsw`^OkV-PDS?Oe;R6uKFK;U-v`0?R^%ALyBu8u$swkEI+iOtEApUw +ol6{5Ar16hF+LI_$BN?ORAQK7U|J1yX009bib=kY0PC}tJ54Tc6tW3OCf43&Vy={+Orq%=DkTj&%UJ- +NOnpFXcgCi_+LY1s-;rBZb5X}KoPX{&&}OLgEqe9iLDmO4>_(CD*WlmhzTh%m;^Hjt3!d=S@{RAQP}{ +9qvgYbKQ$TCTv`pCH6$B_D0HJOzMBq#N9N4~Qu%ES#f7VS-(GW@LGQW`9?#hxUJSXGFI+uf;i`im)^W +C>anAL|;<1$Fd9^@T^AFAdsG|6bIIkBZLDt6HQF50m!*SWEZEY829<6z4HtmhL7rZ=fyl!q#Mebdb+?x)H8hq>;Ttf +a*A1XoaaRnE0r=Vmg*k<#KCXER9^i(NU7ldo~jBFVoRW1Z*6AJAFw<2_9%x_CU&}f$?Y+8(y(JnNly; +4U-cFj;FBK*nqO=F5@lV`AblKMcKM{prEAOl-5=u1S>iDLYMSuE{~( +Uwosj9E%nvN+5?3UlxU91L9J;l*jOI(eqII2RRxJQLpM%XyHAxrTF_K+ +jYj{2-JDspX@G~j)qMMdwnsLYs9$WRS;thwBV?-40k!;lLUP1`am5Qlr%y&LN_>}AM!ABgMftcfQu2N +9 +bfH7{J?yz=ex!tR+mSDGsnOPTqOfD2BU0{Pq6~k +(KgHij=OP-v4Ylzi#5pBQ@yCA9a2+GTyo^OZAUN(utPK%OMu$h_C1X8Iu3(x#n5pD};Rxfa6SsmPnYp +h$&TCQg=7duYRk7=+Rm{Y0do6>ZXgK2YP7sE3rOL-41+7bWABV_;MA5CnfVG+8A&zhUNg?ydK?@y30* +P<>W%3J1f}TYxjkBH9?j@6aWAK2mq6v+seMV1|K1srqDZ~i4pQN6V^idCX86o2y%l^<(sbLXMzA +y`#lGf35xSAQY!pk)_u0&jXS^&~rV3ukcBtgHw?%c^e&upD+al4rsFU=bRXG03JW5xHx5bq3EV$i}BZGQNgSE)JA$Ll2?ktDZ#4`48A`vGWdJl)F6ymhGLPA6|BnRK?j%3$7%MMvq& +NK#&^vygdpcYA24Gpx|9Hc%sx2og!}d)p;*Dnd1}Ft2*6Rh?aBek#uh;9@Y=%b91Q4;-pTH@;)?;z1t +u;+y-&xMKAPr+*nBi7*gjZJ_&`!uX9s|2@s=o2|(aI>Q94+Hcp1Pvs;5AZSl~1dew3Pl5ltj;IBojxb +)Ku+G-m?IANfpbd$vxm1r~23@iFP%< +gI9=}xc=4OHfzlQ};~;o2Z^nhg<5R)PoJ7kl`T8wNVD_G>80XA=zekPhUBRS|F*GQH!Iy%6VU>@>ZgX +@JxcLFs(OE|i65Yo|FvV&x9PD7?K7|tuNc3N0Y@HUAc)AGY0{B7Nfn169{m6Wbf97tDiBIDJjZlg2!w +t^KCvYj1#*EPsob3+GRPAV`2a;OwKhb%kiINS=D98n`S&xohjM_x^Xb4KO=K{%_^VF`UEbjDbau0z8M +hHaC9wk&aPEL?FKreR;;yM?C$(~6`Z()=ZTJ(u1!5e_T+;OhZ+4Rm9-A?jAMFsD|bH^vT5hoha8|<=#XdPf;^MaVn8X^F#vcD-pqqC~$o69TEk?AYvg4xR* +qXnGL}|qP^~$QWX$%JZc`Vl3;ct7X(1^z(~b_D)4j1SPck(ERpanxKUty2k750*vW40bH|NrK){HHQw +aP=Z^0cRYlVs=k+@n9b>?PhrLBrqFiH6?6(WA;Ce3br-imBzgdjA)m=WLO4Gz#Fb6eaaC;x^ghVy~Ud~9y}_;cZ3DwISvaJtmt^rTgVSp|#O;}R0`lNK#&!A_e9WsL-rSnjwyO$s2*Aw`wToB;}QC?1}^Lz*Rf1Y7!EX&{ +0vw~S)_8qMePapd5mF}5;?Dl8%6$@OdpgAu+)K#5+aW2YZ+}u`5i-6xYe +w$M>&wu6@so{D>xCKIAVpC7Dl8{t+anVMdGDOTYhj+$J5Gj=J@+Ev=^ylI_D@>71}a*H;cJt{7dQ(=B +Y`XUC4vg6gA7Y;7Ec449UJ(fsMKO&W`G$=^+&jrCzE@HtjPjXh`YN6jlUjRy&)vCuLdMwg>z+Q1B|FH +~Bf%p)e&KB1|dwB*NJVfzHyKDy#?7H~Wk;xl#93DyTy-b=rKAn=-`1hf%{Md)!vja%7zemwQUCue1^? +42TblJ`APPhLs(2~2^|4R2IfqS^vZxJFCftHlUticr5I1&b=#u+Y^W0^2fM-DX!KrSQBf?662e))%(E +#B#EDObW#W{J)n@6xmD8(BnbIWL}Zq$S=bK?^%Cf*w5soplI&LP17)qbxQIlFREB_0ZBuQwYA|1o=)) +^Z=wH*&dL +gv6_g65o5TAhx^O8<;K&uI-eXPc%Mw4*Cd{&V>OP6asCXXBcWepY-2`74|l>^U%w61CG^IjmInS74LtTlohR)L+{lUkfP$?ux;yfVJ`P9I#| +S*0Hg5)2wa3b=1p(i7pfq=z=n5g=^qhDMLz&r9I|_qon5u(zbPTfi_(;$JX#~)re=#a>?!^i}_));%9 +_ElL&didB9VGYwR}5uPf?@x?e;r$+;lv+$O}f;mX`%r!xqYKN}J +*M|1@J!MSE=-sq*r!82`Wudru>U=buJYKN4fmz3;Zz>r1fBK1>NHww-grjl7!}2UEsg%P274r?6zl}H +;TvG@Ig-TOMR?6+dW-=22a1}&-7j|`Ded1=ly;yI5H=tYZIyNKgjuvj7*rGTnF!YNP>gKQ_)~k%u!aJ +j2*uiM!B<$_holg7FDE;qRse7h&Ja_u*B7Rm%<7CHlG)PSbN8_!ze*63_`C}~Y`2)eM=p9-{MjEZ7e6~#~Uz>c)@6aWAK2mq +6ybo$B)|7dS +u7S8jjYo~YLSX8*KLz;yEa#qxKfSCE8V6=k>Z1s#bR-C@X27^u~TI!t5)c1)fJi8O3}zt +-O5a)@KBXf)GCMfc_mt$*tK0FV*pbg>*Kk=^>*#4s&R$1*t|#!El*DJvQ|wi3bo(EBKEe-OW7W4sqF* +he(7u2ba8TW)u>X`c^xOWvdUBw>->u_V=jLF&L04~k`1gG`={1+@ajasRi-yG@!uzamBe5rY2^QOIUE +?VUPyh^tt{=ycB(#pm +t5svWHvwT8kUd_8E`@keDabW&QCJzWM}1729!(S>HL&3*SiqqK+?KMk4c@j2BX(`CX=oy_zs^ZtxC)| +e%O?4Bjufl01VVHsj;hF!o4H!9n+4rcceEzU;Lard-=n&za{TJynXxX?O*3-c2%A3ZoJ9-AVG>u&AQz +=e8W$W(W{B&&gr-`JKPx~53gs)YuiFb;x%x6Bz`oqABoGZhQ~B;ebNI$O_9hit*o>!0hgc&fcJK-H}n +C5{pT$_Om}S{ax(ysL%zg_m2@uwF>veXbHPtv(8DFL?C3SP@_;4%u{e +huzue7>(#BbVon(LR0zN;9|NuTP(X-(vv!SR%nRfY>Tkgd@I%x2r0dw@I?nvbc)K6^X!~0u>E@4j$Dbf;+oa6XDVE +LMSl;fy3jU@P!W-2Kcvz28gWdwyo(9G?}U3)^@fqa|X_PJFt3o3_3|0+^09x`Vge2*eN5^Gdqqg)2CV +4Lj2Mj=ay|kk8A~=Q?^+!;TDnD7itSqaZJjz0s+r9mrZAQ;fZ*4g@R~}Iyre-=vwabs~r4eyrbX<78P +mH$TU0lD9P|$Bfn?9;>v+Yu8A4mG^&jDB2k`M+ +*vUWipbiMnMK}73-ZK>g8bj}SN;yi6NR3Es3)@?zR0kU9I5K!l`+DXJ-2ilF# +bC5#cwn^Pui{7rD{ANxO!f(u|+ ++Arkh7;C5gsnJf_S?&JuZ!w?b^Vh;&q1T5yT`&RjI086+K`)>k621 +T1I(R6hsMQ$wup^ar?d-RSNJ4oz_#o((}FeMa=#Vfu7LCR>2U6@H~t{*5W2w9A3yn~d^is6kl1Vt%bW*fc_J>lq97(iL07t +$?OY2X`uyx{52~Qsf@4&k)yFzLg8=!ghI5|%#~=Urhme^K4u20wT*j^XvW&zsuH +bKgzajr*YeZ_1Lutk`N8i{uI>Qi}d3(cuKr&5?$xc|$q+x9B +92PWsL2d%Dcm%Gj#CKrTWndLW5O2d$3XjRWLaTc~j7q|p9PlU53 +xe~XvOQ&SP%Kbj)pJ37C&2VCB{`J9fJfsk5%al`*qRXh8uLUgA!RRgvFF@%Lx%apM}K<~rZ?(Kp8-ssU +W2O%AG;HYElHzBLJ2ioO@3DOAT52#(D1miB-(Bw#LWWr1`{t}#v53&cICyP;b^%DC4`IY#;^uEJqH&M +W%3Xt=Wcl4JC=Cq3->#Gdz+YkW6I9lA|WWp6d!-8iHO73l*{L}qFVW%$BV*f?wx+Vputvf)2#y9he4{ +UQTX&_li>`w=|xRKVnO+Dh;y*j5mp@dlYCNDk5l)buTd-grxSVY2cTov}a%nEh4q%RG5D;0z2MabR$r +GCUAEUWg10#EuQdB@(>f3?kJW$D0%a0GB;U&^@$dp*JI5z9QWV|A|A=M}*#Zpo%?Kpkl0vQD?GHzb2< +@^HdXh+|c3|C|oMz_SGk=5A4#cb5TA?@45tQhh`r$KDRk)Of4zCvWmnxbQ|wr#NxJ8Yz51UiT|PUYSo +|7P9!135W}lkD4_Dn6VByfyIf;R$kJvYZ=khz*Bu#;9xgr6p@Q(|$A<>Ou@w#LeYi(B1a^O8CNbM~TW +O@ORi$NoEfG^xxmYdDW=@e}7;-NA1jyJco!1|;<&$W{C7}uS`9VA*H{OR&Xsu0eNfG40NevODcB(;LP +Fry}Bd6cKp|M~nuT%#n&>#uJ1!50WZ$UCNbV;UID8zx&}F9o#AGkRktL=Bz_PdiUWPwr1zmiA{O72}^j3pc!vifTs34I)Pv5>(g>r@^g +1wE}how0T#j`V?ia*&F&6RWbu+m0UQ)_z427=?y>vGa{EI}9$pVD%Ns{I8JWUhmz@T8OUowFpxdVgO= +ViGtqkj}T@5TT!6p$=cO5&b8?9sM9vcdQ-ZHJc}uEk8y(&1tm`{#P4O-RvqD)*#i~HDOpoI3-wBKu> +So>7(KmwsLy0dy^(GUw4`y6M +iMuOrcJ7fyTHA<1IKCvW*C(-98CZBV2tmv1HnV)TP>dv>Tp}AsDhj^CkvKdXikZbQLFTz;yHkb*~8rq +0+|WeV)^ykauH0AK}Nx6nmC0MP)6j-#3-VC7-6w3aaVhXkNr`B2Yb;d#1j{Q(P8zvtXJfBc}`}KpBRC9riua^)-5R0*^0!VHnkp;veF$0748 +wc*%D(rdvp$?A5_HvyhupYCrhYfY)7FJ6p>s^lHdp0kEzG8%EYh+_XoOg3^||*r~>K;@McpY9CR$!>Q +Mc=G@PFSjOXY&$Yk&uKcS_nmaV8HCrM0Zh7%%G4yzQu#1&JsodJ|VABVkIYTYB#Lx+0`4;A2z_LLUDw +zlD+PvU572-L>@qrz{x$~!PZHaq}|HR%@#r8;z>!iXa6TE(kUt#R0V5U|T;a6ig(@o_kmMI!;$O0dF< +IIY=L2h>72_mg1&CqVEIGdXWXo)HO2CO~;{KV=J)WL1^sg{#ci`NJMje*WUsf4}+ +R90mgw4#Wpty>Gw+of`9XdaV$ir!oSOSlCbzFnW9-0DD+>;-yjKj +|bGRZE*gVm^!V3W3^wNII&;0$y#BTwz|`~0NQ`m3+s)}}EE{)fqT5YP!A7QRb|1T^6;DkL1bp~ +Tt%Z34_z;wDToDBqe|DpK8V^T9H|ksTy$JO$~Zkg2x*HBLf6Eu4t*0`bBcFH)N!dBT|4*T9%nX7xr2n +BALSWX@iO71Af-FKouzyyQc1FB5)jMeevy(xql=r>&QE>&wDc0%wyvqDG-|KjI4_ivqYF$Z$iZeo$9I +i`l +P!DN%BL8}|DeaUm4TIhF9`dCP6L$|i+beq_UsOf+W74?oV%msYdh{ig6qg(ME=1IXk@s~Qls+shPkpn +cM>j~@DvZV=#`+hd7wxE&DKfdG-3&Gbo1)uk-D@;FH2~W^hCdBnsvtVjZUaX!19f0w<*)eUM?yD5%>T +Du=*1iTcFGA=HEm!L~5Oc+=9@-rr2(AL!*iQnjmS&rgYKl}4CvBrT)E}hiQ!w#|DZ2wUs^**>*d?RoP +@94yfIUcgYq~d>N;!w`+UqAZR2E>B>n10MkW-(wJUaN0w4XzM=-JsBGCb{`v^X4!KQ`0KcrKQ5BHb$H +lyZ<#V5Q0U7?Dpk`923{F5%KKdm~P(;s_uN&z&NO|M}%=X!ma_a5qo)O1XkD5}{-fWhz|v-4OiUX%9e +O=Ov<)ELIBEVTXp9GmOlmR9Z&HR5vorpFbhAbghYatBfUx_ni8gLbz{HgQdCc4k<(N=fQ{s6VGKweBb +LH?Ljf%dejlJ^2~?*a-_E)?t>K1g&%rh4ETYryYtm&KeoXu_~6FdhAAqlZJSa$gFc&c0_=P5p08Wj0v +=w(WSjAG(#}(%p!*WXux#MXv-X_M_zXRLSFU5%o}CepYY3guzMv~ksvturRD5>nl+U40KS(OgEPh99H +w9oiDMftWf7Clvh>WtinC}76UI1-WDegk3QK6tR`FE1}ICMrAxhfOw&N0kWb9)2zZ{}cAgb-Jlj4;UT +YDqIsR0>wt``IE|tIH}m&%D!cgk{jfK52IS|ETIgb7&^|Fz#$5^d+*xr+>^NPyR+BuOTCAD<>)OJjdK +2xpSh1FGn^sw4bV8-2qSj_ECnd(e-UgJByph85t+S;5S4X?SwZc! +LHzca@K4dXN0e>;7F0SSK1EZ+aKOc?=r{iMU6=2?+QeYc!LU=phra5}V33kB|ODyh(4+;>Q0A#)m&&@ +zY<2zQ32hHOk_<*mC5L+Y9B>R2e2xvqO(&@G&ak)bmwr4leLk0<#`@5FhYe@?F)%2Rkj*WNy$OI_0U@ +IgwaEEQ$)uEr_{ajB@hKCO?v&ckYT<38#-TSom+7 +eqs7y0K!f#UYwfuEoW8!p&${-7F*V?F&A_7m2jAq~XWi#hoqqjzJg2KO5FE#~E0-CVl+pFSzLk26f_b +3e+o9YhlV2r%kt!&zdE0rIws4&Fo2d($c9YitFxCD)HDFshej|NiH1BCI8;?*du4g~lf~8-e`tWjdoR +RbT`Z1G$S%wiT|DfLI_mLQs?XsM`Qv4>0zGgLZ?AJ-S!f;=M9OX~LesR9F#OOJM-5 +zny!YV}mF2Te`hAx*?PTs0mhYWl^0Bdu!AkjZT~(bPqU;p!BB&SA~6V-EMV1|@6aWAK2mq6V?GFJg6RY-BHOWprU=VRT_GaCwDP%Wm5+5WMp%7RsR#;0WlUC}1Et)HRZ#h+zcjAt!3~j)Ca0r~&wW=|XG-)Qj>lc6NrvxLsJXYQ|7dAnZ1CSS0b9$ZawEwLeScRD%V6B$1K5E +CHY4cib^Xd0kIThR{`_mT`muVT9;$bi=M3n1hqdTbBRT5bNck-;EcH$~qg&MB3b;cpjms_CFQ32Wdnc +?#H#xEHmmiJUE=1FyV~k0x#u$)X8G=bC*%=g~+!ARvlz0QwAm>1QY-O00;n+tx-{r;Tm@S0ssKp2LJ#u0001RX>c!JX>N37a&BR4FK=*Va$ +$67Z*FrhVs&Y3WG`)HbYWy+bYWj?WoKbyc`k5yl~vzQ+b|G*&tG8$AyTQew%1DGVT>`fQB8i1WXo4)p1Vk$G5Kj-ZkJ_{)Yw$QMV!R8MU +=89ceWbRuM%iKf2ogb}N(xHYXX#d18VjeBkmEiHAM{e%4K?PmfZ@`@Yw=~#Az)nSQA$yD(5jSG9+fd}*6)l#nZqdV?f>2J@c^egmf~6DBU$d==?3W# +On@!&lXmS^__rD#uZKQ*qb;V?GFJg6RY-BHYXk}$=E^v8$RNrsYFc5zCUvU~jNu<>h4+y +E!c%T$EF}i9J4--O`+gww##5T4=snGs+{3B_awJa}b&i8%y-RHZCMl0i>R#hcrMMU~kmXM864QQb$6V +joPyr!)awWYRQX`|L?Ep+Lol@blx3Abfdi}=y_b6(;9Y24mtRz1bnhvfsCUC(D<*!{P~;%4!g5V1KEo +)Yj+WF0fy3hOT6PCKD|ks&MA{*AI!hHBJr-@Kzc!?i|p(7%k~Yo#7%ysps@68t~|SG_T`LU$WuIb)JH +$XG!LDRBd&= +^72kc*kC^4K(d9FAk!%7K${MC9{4N3>C4R_$S2+R2rd?QH}bR$ +AZWVuJz8figuw*{vl+6DfCZMzO>o3^g^5$P!0c{Z~X*4t+~+`?C>_h?#Vl10)RwMPro7vl*8GlsZm5ZIpr6wzH+D_eT=41Ig&g#-)OMZP0pev&%R{# +Q~Sx7&>!iKYgyO#8q46*+;ZaNFEsv)=a%JPZ|fJAOme&Uq9?G>~TI4pT&^~9S%+ZeS*B}x5%iEG~DH5 +{ll+NqF;rhKNOY}@6aWAK2mq68T}=dxC_DEWr! +Zq-Ur5T!z;%ljLAb^G!5YVk0$3q{Tt9;Dr3C1jIpT!^O0d3oNN-a@E#Z|RRue}2N3zb!6*#}6Ow?r!g +HqKH-}mgmlx(Hd%4LZmZv-)btr$PE2WzUnA4H6apZeR0y7=%rnYG3I$gFixTp-suQSLl~c#LoR2tYEhR}xh~fG6@FkA +D(-NP{mRJiYWrV5e&c*J_SlcAxn)b!y_Va!8Ol3gzHJAB5?m+G~D0QtbuMo#13@#Rvl(t|F!mi>e}pr +q5(ao(YQ+^ll&H)#Ck!oA1#5*eQZ8E}n^83HZ_iskPWV_2v{AbewcQCA?G{s@L%pf=>qNqzbyY}$zfq(ScMNYtchaY^M!pof_`cw+en0=#GBpa%f +_;6q*$WP&n007gat%0{MD(|1M_wtk6p+b@zl!H1{QASichDXu^z!*vbJ8zHJ>YGhihA`iQ3eTWTE;(=|29 +3j>$CBaPp0$i{A3rec*Z(KvMo6g8I_C&1+317dt*UESb!CW)wGhfQ>xxRH6W?r3=W2#V#rlCM8*|Uk> +hvE$c|6d^I`a6-Q$HfcWOV$Dzr`v$h;h5M#67hyI$4lcm|8Qj${7}xKChF~xpYp-gj60F`A>v>@9+S% +?s%IQUjPE;mDjLf3u_oVaXFcI^!V#R>N4#pul9WRT(6Mo3L{o^j5*xt6y1Y5xuFWOD*ZVF>9lvpzK3f +K!1&zFXMlNFmHl#<@9ZG`d$AzjS(yF35KK)?xgFi6x|vJA-S)UM_dE>XQYM2iLu`Ic9!GrJq1gJGw%c +TS+)d2b3NDTDSZRWCh5W|+kOw7Mb#*+w8r&SZ>m2>8rZa~a@2o`->;&}oQ!zWd4Tk+Btkdjhuh^8?hz +3XdK7!1@LxF+cMtBUtcb +8c~eqSa?3AL$jwhF%}Fg*C`!#qEJ;mKD9KmI%quQQ%*n~jOIIjJOwLYBPc7EtQc_al0sv4;0|XQR000 +O8ldVxvSev*iIsyOy&;V?GFKKRbbYX04FJ)wDbYWs_Wn +XM%XJKP`E^v8$RNHFYFc5v$R|uC9FKqMy0r#OHw4s}AN$EomvF#><#F|*k?qUuFREa?XE8=#>ri+bc8Rv+M}A +J{`B(Wh2DRCxc^3T32XW +w9ipDh(A>tIrMvCJZX7IPAHbYK +|zgdbq=)P8geW3adF_P(?Wz&LdXi=e!^QRAXwZkJ$C)a4Eva@^7}aMW+Mx?hELL1>~!Ax42=5&M>gix +?zL>IeF$YG9+!i}=;7OGgm6*H^yax0!i#db*|?M%e>6Ai(AiZdO21o9Th~^vQ_*Sb2Y4==Y@wrpw$Nd +=)a5`FvJ*xwMaipd80bLg +1BkzH2UjJ`tu0Z>Z=1QY-O00;n+tx-`)qfJ$n1polK5C8xw0001RX>c!JX>N37a&BR4FK=*Va$$67Z* +FrhX>N0LVQg$KY-ML*V|gxcd97F5j@vd6eb-kI4hl<%mmd&71=@7e22D3blA;LGK%u3P%&bHzBo(g_< +lj3ab)hb6^q~fJZILs>xtuc`?RL9YP_g_%xX^~xH8Wfa(khvQ)(65VQ1VHG=~~*3LZ4`~+wG!=H?35L +)Uv9$sD?+WhhO@lqf*I+6kMCm@LE&*pY+@LiHQm_C8deHT+3UUabZ9SR#SM$p|$?#LE~lMf +FLBtoVVvcI9LBfxLw;9f%yFNn!4W%U}lL>tNw$yKpPMawSEBwR=plkpat(ApC>j8@QlO>x%rXYNde=Q +m830G7zuiV%&_oAGo_5J1J-Jfli2ADppl*dhsn52?FVhtM<-X+^2oNthKx_5mS};%P@GBNBpbLY&?+e +T!&Q+^Lxz7U)7*r{jz|S>qN`)dnht3JC(cM;90d{)Sg#>&J}kFT1fPW8PP&1b%1g1`bq#RFo%}MX`dA8*R&U~O<~UM_#S&)y2 +B@_id{mOCPOcn0BY1_dhm`~@vOvp*!I#yP~krSMI8Hop*0g+FlmR!Ge@hk#FC36u%p0;(@lw!iVt5F=4vi^0Y|k$?9EsZDOau)l66pys=V0mXjPnJfC2UjGn+04aOGzp^_g(>Dk+my +$93RQJu=e_+R3S4({V1L`svN#%=^Z1B$xR2K1_8k|k%sbrf+jmPVmsM<)Jjd?u`NmBEeFV&It~WXzgh +XBoME=;i@ulT6?&zgz1=wiuO%0K}w!#rlI13{OTRX2qK_~4b?Eb+JHKoAQe)TdK_u=<7#ilVL_ru5kS +mt05vO5%E%G-EW+zFN#P5emD9_>7x;G&@&Wk%;HYi+sb^%^u3)b=}`VPZV-FoVwIV=@n)YRqsS!t`1j +uXQaDTszQi09($2p~5r@LUH3%f?05CF$;^Rb>1)gOzE3iy#Gh+{XwJW33*EFa$nG%$nR7K(Z5hj0|XQ +R000O8ldVxvJs%6vb0h!&PI>?UDF6TfaA|NaUukZ1WpZv|Y%gzcWpZJ3X>V?GFKKRbbYX04FL!8VWo# +~RdDT5@bK6Fe-}Ngd)ZGzuD9CoQ-jpuNo@2{d)yB5Yk~hgJE(9cp5+V>lFo0y*<^1;R$2{?n<;`tfov +IR(z)Vk1cTZ2hW;mHlPTQ&~>qe~0T4aT4(mcvSZ0n^|y;kumQ#kEdE$g +gm?8v9|^?7+wD~bJO8MHi>+T9}`(L^|s$jWp7R6Xh*=`$xjdG^g$L1*{qs6_>SD-2S}LfG;gKi@3 +pMcOiBKN&5~wY!PnW~sPU$}mUd=9Jb<=NbLcOSs$QQAB&06VJeF^lvLbmh-HutJQ+#+-*JVA_Eiad8& +E`03-b$H|Mw&yVKfDYboF +=eNL9%S*Yj(sKIbuSd_1lD{4ObUM@r8LDCwFA(HLZtS{S{hBU;tx2<~5_~-e7F0Pr8;7#V)H3AvGOch +quYl33vTXuh!?gMPWvVWD2>M#3b(0}UL*{nI0`8-B(W5>8>Ex#bCi>)W$*b2dUL3#pZoFq(p#JeXYgF +61#`(6JR9$HqRLM=&TxLbWEGp|QzfdIkO`R?qm>Z&=G-a}q>$J^*`@n{z%3B3(zr_dRMa(M-+axIE-h+zjbl{@kq$K3&0 +mtHTqNi$djQYqY9j9~Cr*D8d=1jWC{h2|~(J;7yfxrTpFvt{GH9l!KG1Dau5dIG}Yo_r51ao=9Zn={f +~=D|zSJ8ABooYZAg!WQSAoXX!?*f^yB#DjU(Rz3=^3tB(sE0T-9%^W5AyUKB~E_XU?&^k2`F{`FLN$d +9eh*F|&w{yI&lU}47xjK{h1rSLF?KBQ +l=5KDZIrb0+6G;78xzyx{?td8(8^G$O;V*@30Gs+T}91e8=7r?QYj?9zfb@X)ngR#G*?jVVY3os^jJcw(d(rXzhnXf(M@Xz#!W@7Iff)c#0U~)SGVKM-+x$4V|E4@?GJ1xSp7cK3;&smX(4aG=O8e!z^B9+kOKVPHtW5wrXMtQ*4f*HEnedJ +s5laVXcbwqkl7=4KVvotv#Rm|9`weceizp=UEvcg!kT +ZmRolifIwg(5QKH4vkYn0WE1FNw(Au^yz}P`ufx~T8>`b3nuOxg5ip8mX!^dbg8^jvN$3!=SRFjciijc +iI(BZN-G5sezh4NWW^y0ew9ahlgU)01^|81$l7jx>Y6UU={hMV;2X1v-h;M +QzfXf=OX<6M#F%CNJY?Kf=6TH5N$_%!;}-qOjdx<(9sy)^YQ;@gS{AsfuX>g8_`Vr|dq=;Xhv7$gf +0Ic?M`#k(&AVXch%VT6~0~o|Lz3u38%z?%*t70|h@1pa9b3*oty39H_a6BKp`uRj3=0m4uss4zS7j(B +0x7u_PRQXc%EhnX!6~#gN +mD|eHkSv+3)<<*+p>uq-LKi)xW+wCH;Oq-VKkKywb5?SpwmUqPs5vI3%x+KH +pZzt`&$_GCxC_YeH^hJAWSsk^)l&&3_Xbreh-q4Eg^3BJwIt;a?8IS+!MsDm=C9*ivA5+Z_gGjLY%S0 +*1b>Kj-&WQg|c2W+qV_bdXkT=nd~tIM{sBQ3Th1!Nn-hphlDC{3Ue)@{bjzQ9gkS1z +{b=L7S+*kY`mdg3Rz{hsaRG#z+i=T6%pqtTLQ=c?%A4HAoi1|G}o=I{-5Uu1fA_mo8MpQb%(o{diadBTL$@C!Xd=`@Hz}+YSRu$uo{5fpWT4ZUOJqNgP_vHNgwlx3aRgl0=N1uzE7+(Ta6x61S +wk3J!A{MqA~TH8ePnT+)vTeT362wJ1`QN@Qzx^<9HRgWXIcoAHF|}IHpd*qz|L0BGSj+umvA_{%)n$T +F>=Sj62KkRAegtfg0F4J523@t6e$SHHJbVy?#6Zlw29LSOpI03BTH8XLVRahOAs7H_E5YZkfj4F_UsR +t=X3iUbx$A~F~*`)Xz}%sbC71V3;{|oE9(5=>BX*OQ?W}_|=vhYyG+*0#r3ja&I*_y +G;JUu(EtTA$D+8*i$kq5wA=@`B_4>nDh3^-#^2!`yd2cb1gCNqV#VUUS7a^8OcPj6y8o)8G^Y>pqH2Q +&sxAwZylg&6d}KU_fZudokx2Rqn%0K3EIVnPaj0-rh!;C%pX=3)z$A4aZ&hLbZ`2slws+oGp81=BZMU +IGF9O(32Goh@nXZ08=I9ep%5d8!&hC0TEfE)J8)6IiC%O4b52A1+V82(%k*X(b2@@NrwV7_nSK8;8UM +jfA#BI|x+(AgedGxoANb?Cllh9zNM)I_;S(fS$+9NIVLOrBhcvdISvSVQ4U+;cWnVqP0ON8g~W-cAc- +%5t?3ek5}OGBTuX?V8>*s)5`SsKp7=XmalMMf)0-C8AvfX8^2GihW{kZjwoayDZ>%n)ah%Y*^>Yv0s$ +aqzIb_dbRf`g&_768l+rXZhWAb>5((?ltuiT?8YFLM#f<%DH-lWs|P!9SO8D_A)o-C%2gm1Ya}Bt*jJ8PiB5hl^g?%1r%lNOHF}z7?_hPqo>iAOD$@UUjYkvGK +JNrb*^ne{734)`lvRF|#EEOEug&A> +Z#-Eh{Ls5#8qZ9GPpC3_g{QTv^KWozvgf0iqN8mO`2qSF>48~k}LbT|OOEPEg3<xn1FUn}RA~v2Nd%oVAO+Nbd9p{J0b +OJ+Id;f~*0RLdKe7?Ly)9>qkb4%VUGdlQMgqTS41}&sSn&oH2=)N{Qnuwc*~Mi8EW!nZ#44Atu0?Z`n +e@o6Z{ii&xuu+bg{c|zYLUiuMzL))8_89Vz=a1&VF(VpX;3TeBV}rXOgqiMts;oQOhe9iyZ}_JXDY!l +XCXJeNS3tUji0Z}4An5^E_C>yU|B$t7*e6!;C{vqomiyHD>Uqi6-caQu^pTg$m=Dau^x5Z +9i7{bI*_*=;%$$?;o12I;my4L!V)4&vv}lx+%wp?8vg3i|PI}jGTbA(@FK|usHLXGv+>@^=I((+f6Uj +Y0@Me9#(*pSEmxf7+4Y?!*J$BVKH}uYk({qYcumgEc2CpKks-Y)-};imgza~IAnfG(|zVnIyvEWLC>w +*>OvN%JA-ziW0YqLcEjv@c(v0dZXCzXjOZE|!TxjrY)dz8P6y&KR_}1eIIWkLxE}Pr%Q2qPG-e&o?{< +74>_nCfXre9om7U2AB1rlS4TmD&&4Itf(DH|eGx3f1B3uicQH{052SUL!Ad?OhBO5La@C5!>gCSwI(g +X4D3d9D1x@ZXuA10ZHWWBrzyvjn}bUIlp{E9ia2>C}D=E0}OX>mZxymVbT`H)Y;+zJ>LO2yUicAn +OdCWgEt+@KcF6BIt>|MQGh-VyL}$^`h-$q?Dj62^Uf4C+9)e)3cZ;1a}Wq5vaG)it>lHH6)!;?8ji=a0MjHe-=k)9}jCh9-e03OPauQX^rHb^!eqzecI62+o$GPd>@5m8B%MG*$RRM9 +`kWGM5_6fDf($xPLM9E5rg?MeuLX#lS5gkIXYh6Dj19a0iz;yyC>!}i^9?*w!Xmbh6vf4)412o}&kPR +a|9QxAmPhrpuws*3{!KmXb3?N)_MJY_g_S2(+b8%B6qjcPESA#;|m`p;nOeoB&&|;=nh)jjJtDw3dj*#NsgtbAfvZ^I`mF3JAG;`mTUyG~O5S7w(;aZ?NGu%UFEdl6kMXx +kb>S3vdeAc{Bop-UQXtnWQO}yiujHz^b=7PpZ`Bm2R6UFNlSa0Szq`_pH%%&kz`0T#aKd-$}WBa1m~5 +u-Rgyxg}VQkrpgbU@sL7{)`wX3s9!o->^t?X#hF3X!%JLl!bN0T5vBMyL}AiVnNhOv7`@W)3{KG*mDE +@VSFD3H

uXO%MbCd{r^kW33EnUxW)z8M~w=PomJGhx(ggDm(`dhTNwvlqM7g%KQdu`@S$R|9U+78w +Fc^9eH#BsYs?JojN>aYd?mi=M4!mquU~2Mgm{xlA$Q=PfIg5n2E!Vl7(dEEXbR#T0t6twNN=a +ib#4uolu)wssuw49Sa51Op3F2K~mYRr%|oB=47Wm0VsHyg#7&>|rH{yIc`$wF~~?n(oo(>Cv;tufIR@rhq$?&cy<%ph7aVT$E??yM(3m41#{(9fpCN;2CSCgaUrtN&#UO?_~+H^FSEb=8;H);%%#$7ZwA@%X=HAoo?me +vUsy-v({Iuh)Pe5*LW%8*i$A`WMei%np5Xm^3LzSaO4^J-%Gwn1*{LvPWv!@Ieabe+gISxXbO?t=thlFRe|ky +YPB+p^TTUia9E$z>lfJLXmS69K<7!=+&>*)K +Zi{cgCjICAHx>z*Z>#kIzqs5K(*aHDG;6#Fo#6UTV2!fCm82T8 +E&DtTTCAz~$MFgH)F$+5931HZW7F6AuVk-8Iw3bhzS9A0 +e!Jr2jYcaRgkTFuXvRB0U2}H1!%M?Mj$@#HU9Jid{*!8masSR +wGNweyU5{g**^Pk>l%zsVMH1mm7bSz~2yS4f)6m&1}XO9f}^+-G3SU+G&5pbpR38-<(wyD~NXNYN%n> +lG_Dzv5850&Q;&x)n3v1eclxh{F?R1zStp4$|674nA96=N|kdrO$Ar5Z{+{h<5|3?(vIDltFEz9e{4@ +`5c{HXD +#8eWq0TDtXei>|lS11J7BQ|})YP=7&06-FaKT}?db!Kbk!Xjqs)*p3JmmU~d|nG?a2tnx0Ch`i69)M3e%vATUs=Q^mQ{K| +_i3Fe(6j00I8{QDF-_sljD>2NAWmKpa!tSyU;OGWl43q6`Ro$NS1=Cfe$FnVR*nL9q*d)^Rwo%vj~pS +yQQtE;WP66Fw2o_THT88RxW)JZl|!#dj7-BUrV@tW8o7<)a%8||O{)`EtTtHWn}`9=tItTe#N_GB{Ai +pxaob?u%m4M2h((6MkdCA7Ifc8v=Q`t2>H57{BO); +ugcbk0whT|V?#6pesS?vtJqoQv!;4BTCZWCdX7k188uhccz`Xl56~8-_ygvNwhdjzQ1M|Dlg82>7M-^ +Y2s9uM0X(|JL1zfP^E@HJNYxZn+UC3vUFprE=|gg_3mwy!s~?d3Zn59v8bKt2191s99#uQ?6&`Y>nMU +>#rjjSA+phyJx3k+-D1b2ix>&wUbyIs +H$^RZ+@f-IjHJPzTX(3i~`Z)vJqx6Q=Og$QJQl;2A!XN$@iI+N#2|N`+AzzB*+IyEonUiZ`_cN}2!J9cKe=xJaTtdQt!{gpt@A;~&y9-YPwux@N^?6f!-#xB!hw3P@2b;({ +6>@8l)KD!EZB2In(a9DOKv)2Gp@^C*xLy8P2vskjy3L^76eCtHj`r(N +zCxEygXZ%%!3ifEDx&slUx6de>OPIB}$!1j-Fbp5g67wX3APU1G!I?D(fmFC7Y7@l^wp{fW<2x&$F9N +*W~rHif^?4-^MVIWk4x!Bo|S +;U;I-2Z4buWvT!e4R6atFkz=K5yz%|&pYg+s;6Px8{a1N=B@+ghAx9iKT>|U0rGCe5rz$U3MOKrV;BQ +`(-vEoYsM)#_gC_q?&f*pEe`fNlJ4jOmE|83+hq60iDD%SJBhW& +0`2VUNy!){(+VN&Fy36Gub0v)8H<1U&qw{n-?-O68fWA4seJsfXlxWxxL?n-V^#d&w(g={ug3t_vk$Q +z!7B=iS5_xio*bnLAlSR-kJhaYb2EqeyG`ff-{f@xyR5_jr!dF#-+wqDZ5e|{fCjynKhfdozVanl=F}8y_P8Cc!1TES +0#Coz?jg+hoBgkGI^Rs=K8)FrN*$#x{*CEuJ!?-uM)~0hv2`1?NIO2g86tcCIu!HA@fFt{mtptdapVs +*>rd?tjJqnzn?g9+TF;pn_(4Qeac#EHnP%r0@A_Q!*oif)?ZUqSffzgni`>vun0Tf|Fna%Cb_?GJq4~ +n#ubeUc|FxS{S3`z2tM~GM#dg(q*zAM&KcGWV&X{Fs)L5F`%5zodIc +=KerFVO6#b>1H13q=HBP;&# +bNWbCNgXliQ(#-kHPaSiAMGB`yRha1(+tIhuGo&~+k61{%#}GcI?RRH{Z+q +i%fC+yiFSu;c!ySn&I>q|?}@m7CzMI@j9u6kNVaR0=s;NX(G+VS)4Ss6WDft~O*E7vIy%vrFg((cdKW +smpqC$_-u3APo$-bQS4HnF9ok$*vaDm59)+6)y6N!L96fc*Ws1mmFDRtIt_F<%oFD9c=}aA&k3)0wzX +Qw%_wNLB0?=SVe;SJ2Q*hn(et3#*2=yqx=h&qg*waxCoL6m#$xr_|2xM?h=@S;{fXlUoP4vdbqZB3-GS!gcnU}fie*a7IXzVBuVs)hg#K=3teUm1=9HkgkPWDORIR@f$F)hQx$bDr#&}ZrT^ +xK=WwC3kbVy+2GK_MlWx6^9CzbJTDJkcp(OqiL}xu%WMXAu2-u~Vek+RHRMV+LK{&W}Are1k519;kOS +Kb8WR!meU2KvLbCBdEP;$~%E=I_2xHr+qKiUI~sF^^a*n|IZa4PnGz^{h~~)KN5&vOk$po>ec@Jg&{D +$S4LNXa>4MXRgIVZ;hIvu+XE#y9)v{Rb6Q`x7$er*3^p~*|B29|`5S(!+9g$D9*PmN+>Q^TPelw%Q;q +^8lns6U1T1jTF(ShZq~U<$T8$3slhKZy8@6@Tr~xN9X +#Ez4u-y+f;PyA7ca^VZC=sL^XstQpi}6@RYAH4!CZ=HG|my1lVh2#Upay{f>yrfi1DeEce%Uh!B_Y1J +8a@*UM?1d6<@O*jB1P6?eSNv1*cP=g|6(gm&WQ7zvd8jn%kQ0T~Xi_RbY_l1M-V?)BD~`Jd(Z +S|O5zE{C^3kJ5;y=Xi!Ou3CLj3=7Kl~Q!kDIiBIn>tBv;^{h2ISs7{_%{_s?&S-9v9otVH*2U8s|T8U +ZDGXTHPTB&IM?D**=3kVR;Dzh}JQOj0R}q`;)wrn8u#{NA9C3V!OrJ;0E4>lvGGY7aXX-LS(wyZ=(tA +#8u8sk6)agJ^udtqgPY!M;JP62_X`V+@p11f`-raPcSU-Anwn_w7UZJ@zDZR`+qwQ#^uIa}}q`hMiVR9aUu5k4ZymGgX-5A#yXx>{St3&(A`;{;bA|0Ch;QI79beF(6gOSz6p +)L3edG1x6qOZvgW>_v9TFxI~vnJ)J#t6*Yd-uZMM4H}AXS6hQt8iKHHAtxL#b#S!!N?kKfcI{%G-n3w +y+8EQ+)3mCiuCW}9lt#1;|X*NtU1SMiqgs?#}~6Kd^^hqJ@W5q@6aWAK2mq6?y-E^v9RR&9&hI1v8sU!hAm)&{SCz=98sUb!x +9x5u{kp)5ft_Bc_iNUkJj8%qCsNAjDz)`oJNVM!uAGxN;MGvjTvIuc5o&UP9oCH&YbZ3){MB{~bV|D7 +bmd8LGa%5o*mcqG(*&*eTz8t1CzZ9%!Tpd}MUXSp!NfEayqS%b6`PoFoj=Qgl-_vxQc^yTYUFW=DnfA +8*Y@BSX56&k+Mh6@;xEz<@lo_1Wr5yO}O$fdDNh!K0+|Gb~U0oH&WaRJ~1xKcC`LN^J)$J;Nt-(p_OD +xH(J+}NDFZ(a46$jJxv3$lWoeC%2QNkS>o!5)<4!F$^*BX4rDS##dxJ$9YB!w)IbJwJhTw|JUtlf<PK?LMOnvOen?8k7*1+)|nv5KT^;i{aKiFI-XJhNQ; +oj9mXg?v#Y-)|nK}0{OU)B=D-C)q~fVKkp2kPB$7*$Z{%F$l19rzyGFxWSgQ<`p9fLMRv*hfF~w+&Fr +$0Y0|r%Px6_AYwN?hFWY3`J8>#7Ps48QA)eOI5dm+b1ASvfHK2NpNQ|dPl8x=y@ +TsP0Z@nbH{|<|sR($UP43PdL>+j;Z$oL;Qu=RYaWj= +K`SB(C}{;A&*Q;YAVfJx4$Z{uE1cYl<>F?M-l%tHQYiB(4H%GY;kcty?jnIVL1a)_p~;fjsG0(37kNm +?ZIy$N$dfLZyFKkr0AzBwTkS3RJ}Al!rFfAPwu&x}_1Bg=YnxM63Pv()>gRdCs;bUJj;)sVPjKZHlVBi9@9ySd7j206JZJ}WNMIZp8f&L+ +*W89B0?@(!~mtD;)7V!JEFR#Yu-i@IW~x +?yLPYn4u6a|`d&#mIMw@-s){UIaUT*{|a>3a~H1JKbcEelvPe_5FwjyVoZTTC3nr-&g +6{}a{;AQcPn8|w1w)Hil1t7MJS2>gW-L7t0*f$p}7kQEK7NEAZno{pu2?!uu+Bz$_l(UT}cYtamV6LP +yEk)akhV83dG_ZY@^JP&M?STdX5^IEP6%;{xC3HAA28V-f1+QA%b1B$f!uFz+;)c$AQ?#3+V!L98<7! +J*;1R0~_O4g6;dzr;5CpRskRDG~*6TGK**wMatFCNa~^I3CwC$%R)vGYEAwV#+0{A)64(0%siNmQ8@=F-6sJv7H*>bb@2QKeONXKYM +pnE`#M?~lP-vaQ5T!|y3D(%MEiku~Ndc1Z)+~H+cyTsouR#Rx+byfg0%TY(`Ubw=G8M!_lxFTf@nLN8 +?yzg>HzI4z%q_nXsePO7c)J-}2h_oTX`znXqrf-^?c#k~0D`&LH6l}Lua}!wBA;HiDoW8Fb{!WVzkKr +S?EBO7^k1(}pT9c$_W7&n#oIz=W?dl-_Iz22G%tYlatBH&-rj;WY^}`}3H=W*en_7@JALx^^yPQYpPx +Pd+w{tPQ(ByntZ7@P@NR6ubtWAwVbYwzE6~{0$c`s71|NdrBNx#CejZncIs3ZEK)Jppk>vpKm4L_Bdo +aIq_FV-p=QKa=z>TvU8DIq$RmIib*=&}kK+-g23wBPR0!`(V76aTAtZ0ig59T9-AmT8fRw_-j(`T2n8 +CokaqzhxVlC@~Rp?6W5R(vbcG@jKv(Qxz-FwYu=B(<-TD{+uf49MnUg(T)pwkfU!oh?Erv7+h`l2n|q +2z*Y=9(>7`bzLglg5afS_f5rKH+!JRiv5J^enKb2$xDG-Xwd(_bH(%q3^z#7`XUSvG(gbEoZ9#N(PdK +BH*g%q2mp-Jz{C&b{KPW2=}?(D&rdn{34O{Gj!^7U0M>9Bp#V;uk!0c=o;qp4r^`#4z6F#U0oK3GHc= +D)7$wJXba8(E9x9PSoKWV +&2x_%r4jt|kv~>{>Lfp^y60r;tYuq7^6+J(#0ab*teHm?K52d8%JHY7+&!l4oL5mmo9&JJv9aB*ck_t +FIQ3`GPuhJ5N3Q!P+5<%?U1zSd&hZ&>FzZ@r59XZQY&i0SLQ0iZbjDR_wc%-#9PyIh+?}k6QUs8hV_e +YX#+Top86QysnNnZM!@9^wVX@H~8^?LENu9v(yU-Dlr|0wrMu<8P1#lr%)D`A6Fy|l2Bb6JD +YAiOLIl-PjX1u=4|JJZBHTfwo(4x&t<%9~&$r+|zZ5hI<0AWX$|nyCi(P!?f3Urk|FJTtOY%LKPe3JC +{@JOFV=94&-qvUpp_Rz~LWOO?15Pq(2lDbqT2-AjHWotc! +lqmIvy=cpiVf1RXBo%vC9d2_dZN8dgrahn=d8)?VURIp!rXJ41?BV7}@l|dFwrblV9-H_DE&Obv#BdI +_E_dJqDL%fFy0bEdwP*H(V<6&DnC_cH|gRiy$GDShjB(P>b?llmz{b;RsuDOcR#-qRf+c2*y8Z!wX0> +2GMH-=h4!KpCfQDkX=xK(V|*TxtofM(N +5)Uzl=@|}dS>jp4C5EKf)CKx35peJA^Ak^S%idP(V_w6>3Mw#j%OWl3ugHd0@2E!k2`R5ao?)yLoV-L +T+wNb7}1$vNw8q)|qux;uRgAE8bJ(B_eM(O|V{fX7p9+%_CUejXsdBOXOwr2y11mLci~yfVGnj +OYU%J3)D_q`;2ai0I-{rSG9nKQp(Y^^77i8X_Jr}B^5bEz2{~b6MhuH4xx3&4MK*Xsa)(fI(V}?uqb* +_rNH&Jur2w<9W03=ch?@mIG!idCi+rDn6susXeVKwAiEar^;jf=jNv +2nlLj}po@Kj#)h`eTA3#kKch;fvK#6q79J19=h6UDU?c;Z`$a86tUEW1F?hJW~1#XkDM2?lgP)g8#0% +)n9*Rx~N;h>yPWfX0GQqQWA%NCaH8DrX!VFtN+q=HS~>;v=N9RYdX}Herk&d9@n`B}aPCRnf?nVRp?> +qXzRTOhJdGuV}SP(6NIniU(_M4R``9&hloxCs74?LkoEgS#jQzO1mI>_a2V1+X=uzS3CK{)Ddc7R8G+ +dm4U_7LKLPsR#7P=4<9sO#!9}%{dAZ*wG!uR$?pgJAf$!MZ}W+bQhBd96V +8?t{5EtL53&<1ImCACn +9-9y0Xw!$C^C?VRTIi{>RRd!X1=0`-9-NqYdH3U7hZlO>bDgqUa&xa*{DtqX964=>vCw6~&^yf)1SW? +yXGg+5d{9jPr(wS?kuDVDx2@7l7s&e_bI%pIWnRrpP({KUJCdH7lET*>at3{F|q!uGB4;>`}XRQ+4p> +m#h3?X)=k)XP^qqC6?$GWfGuzy7Fsheb@a&!^hYZT3e+M1-)+0)Xt`|9m!xZi#4hAqF%7iUNduVJ|Ui +L$GFz^%)A$tR%sWA^~I;c_z$3P%Kjz(A%C0umj^QlWlplDZkb38B-nuCHWT +7Fe^wO4WUv5>GI!la0UdDA;`d_uXRN;FiMaI*@~?WmS1ncB3pN_LRA-J3vr!jwIPC +ROa;YriY(cieGZwPYDjHVprL{~Y)R`4Or+oH<_WJ3ru(fd8Db0~1@fpmtZJ$vz$XTMDKMx9`-kIHKx2 +_k(M`AxQ!pv8b;PoTH}Mx1PF}ap;+sv8Z9orqjgS;SQ9E8Goy^vf; +5P==nvlmB2I8CGeHu>(+kG>Ls%5RIuV&Ek~#cu&L$*}tUQUI*H!Q+^AvNAIc7MSFP6N^1xy8zJr5WSx}VWXQKu-#Wgkei|`L8JxdE3Mk^#pw(7`R5O*ZsbOXC=r@r-Pw8qIBqXIVNz{_Ug^46jr76 +$lN^b0i?&^tk0#u!oY8d$-XVs+Yivc%!69MKwH9}+iGC%c!m5W~Ob>Mn!bWSKd_t8u8O8lNhAzzXJHN +ei>odEp%YI8>bip{0;0dDu6Bj6jRTaChsA6aKC?BtkzxnQ3WFA?bhtKGTh4=){jj#N&pWe{tu;G +ZRf{Ro;GX|PrT6cZ?j*5>0T4jkM~TirPZ=5zt-Ht8jP3Z5sE)YQ4{4R5d>+Q~`i1U~E!4eQ*N)-jcHV +55XG_-^4yRVeIyu5C^BN?Cngjb=(%H;L57_%&5GiAK%hut_|cIVsJ7;U`rq(S3q*H}FRqeQJ3^dH6{gFTThKDa26;DeEe3#Ig-_K^^Op* +@e9@FKZLJ`Gh;jW@62X}kwzHP3N)#%+I*Xq!8^com?Yu^yzoi5K8PxL* +sXpqzGT+3+mMOPDh@35&EQL+U|r|lZzOy5;mOXDB-V=HeSln*Y!4O1o$-mr_o^E}l}mb2Cm2?)xt^ln +xhFDCj?W9TdK0PLc05f0EoD>K-KseW>Gi0a`%s5z(J+slXjzIg9=i++pREX1odIrUNSIylB5q$?yd+5~urwBQ?Poq(pyf_nHRL=_9p@Xm2e87d3X>uH~ugwKxquhLj*Ydlo< +R_3>fC2b&@hEwCuI5|@Js?yZ={nIjbpyh|^)Gt(Sdm^;Jh|qTsw8fU^@gq@aFbwkO% +hw-GKo2gb64<~JGm|>FNDF~MFuZc077c2L%6MNMlNL56id2lM86b5O`-NbmOH)H02&8Dk6RCSv}`6j6GNpM=^;&;GW?Men+P{ +EZr2c9g`9m**)J$AA59)=nN8po;(JI=S**gG1-A8%*Wl|T0eTV$M-e(&h-@Yib|+W)O4q*yt}!D^D}+ +V>619XCMC#{o8avB2l=!kIqC^?R^a0km$&132_ZcZkxxCWqqBEF(FSrz;x)xQByO9KQH000080F$jzQT-&7eoPer0QgG)0384T0B~t=FJEbHbY*gGVQepQWpOW +ZWpQ6-X>4UKaCzN4YggPxmf!nV)CoDKrKAzY&W^`DA$t-V&oFBn){x9(fssXbHLX}k8kGd@vHjoo-dh +hELFzWVB`$y@%h5oHE-^9A$AI!@}s730$PSR^$E~_RH`G@4Hy5=J3nxe=r^s+QJ%LJ33Q +@NHkJ}+C|lv$B1id+v`TrB~tyedVgBmc1AvQ_twCJdf~QnXo7WZ1OdG*vUB&o;VV0=AA20@WUe=D(_z +yby`tS+iKDVo}vxFLX@bj`34yWXao`s(GJuZC)7Qnk*MQT~$pA;I&AJ_c8 +lgW64P4SD_R(XZ+AzwAH%uk`KDZ{8fd`SbWlpojtTlD8?m!*17rDPWFOV5&LcljhT0qsRY}6&)9Sy9< +@14?aJZn;CnKRJthmjJ?Pg?Tj4&SXm47V6Sok?{BKN9GJJ9u|uMBR?OH5{{Sr~T@Ax%ws_L7=I$;pm; +6IgXN&jQB_JMO8x6^k{Q8nUj!mG+D7X-?ycwI<$MVZWGZymGtGwib?U`Mi5|F1bn}quOTz1EP#Cr{N) ++jhVr7mh`r=kTUNL=EuNt!}Gkl{UcIwgFkjm6DV=yD7cdcB{%-G@F6PZrfx4KPK`^dHf>ZR=0?pZJ7Y +BA!oY*ySLeJU@K>djHKyU{v&vPiNxWcq{ql>nUJ(i@nZTU^iR-fKtjQ7hZP9K(`&<*eEHBy +g>yNL0O@I0E?ZJ;fz1mNAKTp|B-mY1@<}j5W#>(u9vjxa6P#d|VTCu7uHms{_-YhcUs)DzGO)+E3{4x +hES2Z{Xo2FBkC+d)RAeRk~6LzxBK?_zzQQZjYbaZ%p@OK8XRxYz<$(9^AfG-iegZ=$|cHA!6?xROflH +D21_4v{56Slw1k21f873`N88WR^Kav`&oScb_~)ae!?!2k*Ynx8Ae3`B*&>6$V4n(EoH|dIJXa;AKbH=t%EAcrgnNuTxNs`Q +rI!mO&LD}14YA)7R>;i495Wq(8Vk6Y2I55wDhpA51DOK+t#Fs^Nk&QPaVji>$lA9$L?G$99L2;Av8iq +W5v44Dm;6vZ2isA%E#voq}t5Af3gHTf~3cwE|{kF6$Zd6_T#usfYO$W##cqVz7w`tnj1i_2d%)D9Hot +fPNG^Rr?Qp2@9IxecJFkL`yxkyp7TRrSKdU+X}Lg9VyO;y^Mr=seb1s@#?! +{h*k7JPK42q+n|?H?Epc2HysGN~u?=61921Kq4Qw_A@R=+(ctowNw-X?zUl&}gJN^o!fc!U*)T-UeKQ +_VNDgf|d=H@d%-Dxw5hvZSaC@;!_Eqthp2;O8{oatQ;E~|$TTv7WAN!^R +(ijdTA$Yw~Fbx)d(2fJB(`!Xv;pp!chE@=Aj0zg2(jZynQ1IFvK#s0?GvMQ$#4uRK#-r-eOv^n^2Y@3 +5O1OGTt;jS&X0G~cOxAr6Wmux^{YBE7-@qI)oH@8TMa&oN}%g>c#(cKzVW{yWKq3@aNZWVZ!o;5a2dB +ti0&3}8e`=MwlvGPR9xagjplJi3Rd?e#l$H>bd8~jPO$$7E#tsEocUM?W|l>#vbn6oQ`_Bnn#%D@u_I +|_~+dc58Oi9J$Lg$7y#F$*Q`GKhQGS4P3m1J}T?Mn*#pm7Kvnv0#G32K?<36t7q`Igwxpsxwv*Pp*vd +yY^Px1vIgs-@%H3-v$IzDGR`~rCA8iK%q59e?KcjPJxXq%y-~VGAgx>tuU6gzC;o|G4(W^f?0tkGSXm +8Ftc!^qfVeBHIk3a(KC{L6Z#SL^49Op()DU6>-cVium_}kPs`Q9Q%=vT65r<9>7AmYn%;C +#f9We~?0&mx;4zB$X3TORiMJ>g57EUZ4B&M@Wg7MHErnJWtvZqNWsvoct +NYgbZNkh^B@DS`V%!L8twd-E)9lvJ!@iT*egar5{o+dECRo3>BHQioJkUg~nzoWk2afm|m4 +5X{VkrAOyot&8}6J?RpW*m$2Qvm#{PAV>m%NyBRtcHE*^<4!;RffgvmQ8wA9f+=w$Np!VE}rBSJyAFw +%sZVla|z1Y#2)6?4I-f-7$Ps=+P&~Mn!82JIMW&_RTdP>p@B)c^5*2+w5)A9CWm#Pp8!x?J5hCq_v5%ko_ +y@QMWAxGBoFaM`6R>eT!~mG2=@LTPG$lRje?G+#=k7cMz+@K{eS}8$IB;XasghPy(;q(@k+tQ{mC5-3 +85`rHb*hC>w}YKouzt6N!BOmT5=*C#2dcM(2crS>{lkI>x%%2?8C}Qt#-5cKgwk3kd&*%8)$5`vz}Op ++?CP7WSq^l{FiklR5pd8)hj{K+Z(^0FL<5biwhT`_?1c$qUM?d~Dp#ZzRw&`Y>Ae8}$BLXiIU=~4Gbq +-UTJTo!f}=2TLK&7=sT!S9rUV8>BK@}>B|80Wb?d)*m@`cS9cRyS>h?VMCeev?ba^q@zilpm^dN07#z +t#$1qa1GPZ-<`4cW_szrWrGQEb^w)q$nD0RJclRSMSQJ?AxqSRj4c=~c-#cLvpFEn$3(jJ|G5LKW2_D +|&~kpP=DbXuYO21JQEgbf=87mV|yyJKKQ|s=j58(OD%DTr+_;)Ju_m&n^W1H1Sm&4Zfs~cWzy|CTjNPHE1m=|7UA?si+EbbT_%+ +$^#eVW2t2@vZZBZWP=G5@OKAfp#TW0{!SFM&aN@j%J^yp(8w^m;qs71Fuaj@A((7K9Z6GBl@`w&;BY( +oWrvhn)GLN(Wmnlo5}XSvLSA$&&Mn;}f=&(LPG~!lQIz+XnyLh1PMM#V#+<*a;Wrxmou@@cYEg4%V +0_MskY$7idNc^ul1?59m#zIH=Pc^dQ_@*YVt%;ci|z}m68Ol>J{2x|M)7C*-4HRh4P5F=;0OKTN5iO;16su>CHsl +`Xi2Vx;s98E&A5QE&S +YPZ7Q<|5Li)F65>z_=fK!h*O;31jECicWvH2-i#+}Db +(y4R`>J+hT-1s99O_pCIhA5zNc35 +DfGQS$3c^{pTb3DJIoB=gNJ`oLWw%GPG$izHbtR?dTA1&}e0?QVQ4x%WC#s +!nhRVj~jp22f)` +JhQ6U_bhrmV^3%7NjyxO(_M)9&dw#w*4TywW&8dxe$QLo!#B1--UuQwJYmQUfAK$v};# +?oLWagWSni6d>^p1EZ3zy*_EjSe7aIjNR!7?A`3dOvYMo~fTmB>ILdS~v6^}jQi3{0*RiucmR!+g7aj +5cg!8bjwh~SyRud#N$RwwrmIzMO=8+)EbwPrz2{VuC+}AhValfQL`z0rGV1I1a?t5qrDjP4;0u~S+2ovNp +ic=MI1(rh(R3S_O%HM#pvC2SB9{5$dntqsRfnMY;t=mAbyY`?obyDmN$LLK48UvVUFThVo>K`5-}pxR +`bu9YKOvnYw0&WpXe2oxtup+t+163717@W;2KOf{Q=+N;R-Zq!jDSAL=p|j9kw(i07m2W3u;xXrBuXA +@RkmIwqgL4hyuF-C%6`)F+i*J2FqkvRrZ4mM)6Q+pBafytN1D3bXD~_JY{42~P^ +m$9=1LH-%v;Jlu`uf*-)yXmqirRfnb^LwW;0=-76GP;WmK+xKKLx>`ZFo{!(Rfg_kCW4yT&oOS)<1&+*=+z%v*IcVv{ +Z;wIZ*<{s~60s_I?Y`h87=0Puma`567+>64HzqW4ChQW`c@KNUy;l +J4Q1}*usE9m{oG{;6Z_bDiDid^PYRNf9V}favtfd_i!OkY5l)5MG?}c*((8=M8!?`MmFi~d^-()LbG! +*_sDVkeOD?dcr(9dH;j?M7pQk@BB{Hks@b{1TZxtAC#{;>p6bQjT79sG@l{Va+(XLNk-7-KextGfiAD)bcI6Gg$8UX5sMPU8f9Dj`!nsu4}al-cHGU~o +Lglw?CMN@$z3b<==i-LAI1YGo30nebWa;<&kO#(WC046F!UtrP6I+U_s@1&_`bypMyDR|;`>&buYe#g +EKdIWX0Q|I*#j@iL(KfFs71iw&PX|c{4aKs=)L3BHp>GcJ8xwv})o@SsGVZpk)5J?4!=(4H0I;on=9U +wT65F2)${o&cOXS>gyK6|zUi_0=@gQ3|~-m2q&K(^s6eRD})1z_x5`p&(h|8P-NoQDE~=e3%Yu0KNO{ +-!>iCj-)l?5H_+ra3**b9l$TP-RkgU*RMF<>jz6VQYs*ieY4d>YnJjT{C$3S-kttLU~wJ>O)0AfpuS+ +ow-%jTO;s4^HvP+$z;U*f5KdrItY&VGLT3eVNhG{jl>CF#$XM0jklRlv*aFSI^ai-1B<37td +*Re16qAlYKu-)uAaH&EuFTOeF)G8r=~!Rj@bEurds44wfszOX0}!avjq?_)9bq4)6{W;KzhGkbY}{VI +-tfZ_*nA#}Y{}b-ZJ%jE>5ne|3@+w8ep>%J9qk3qF22d+Pu7qmQ2%oet!90TVe9z5oXOp)#wJt5dBeC +vP83aPWnXCB%KDPv?2?FRJXur@QCFK2-M7S^@n$fM;jg&rF^>^ph+BuHQOcHh5~Z;VLR{i-mw&`s^Z2 +Ek-Q~Y4m6}24^4Og8vBy1?Zj*)me+fmH~4aM+i2J}l<09Nfih)8}-w8tnoC<(KW}_Q6n?zu%^lC!@ +_Mpz$yI_!J-ht(l!~qSI{qU+3}JC-WD3{ufY70|XQR000O8ldVxvFgfDMd?Ekk+F?mUMc=m(!^r5 +SS&A1pyoY?uy>p|9;&)?+3VCCAqLlD{?T?Gt<-4?-|^S-fdWP-qv+{RW<9VXt!I|jM1=ZcXb)9Sk$v^ +d&$Zuhr)KtqOPsrdDTQCHr$Q7o~0-EqV2xhpGCviSH*bRc4O5xdA)p=*8@8_Iq%zTlx4hjmPOUJYx^< +ES3_IxMwap4Cnuu3Zr5uVjQrUS^4qZ4ja99F?bUkB +p{(NKN%s-|6DT;w>2v}gajs{jdrl|e#yqstC8#lfmJMc%YcRpfQ`E6bXE%MP`?Wc>gblx_dQf8L=*m- +hpU@_~QJE++x7?%RjIORxI8>!6No{+fz^YTJv)d0n&KL?$dh>tS)z)vl_`j5U|C)ywu(_ahcQZ7!?6Z +5;flhU{~}h(c6<&zoU{j&dw~+V^cAYF4*JZnavoF&l~vvv8@ZZ`+d9Lt0nOg>3KwzK5!|Fn11`Pb%HA +F)#Bm*F7~@gJtr;ouFhjTj#}I0{fqn2tFQ2TrICqG`*#}ilZ-OWi{rjngu%)l`>fg`*X|g)}7tU3;HE +i@>yQhu-Cr`kSI0Bcc)=pZ5XQ^U>OyL0CfAVZ~w-MF;d(oFEdq|jqSEhqHTV`jKVG-Hz8oaEbw2pYvd +#Z(D$<7HMD%og4=@FMOw11XPnSwV_C$?1I>UR!N7KXoo!fc?q%Z%w$AE_O~B!7@?pbN+n?yybZx<@HL +^?C@)?v)H`!K0A?wFPnE7x)2+i2%Y8Z!v3Rl3{c3lR8=fBHp=<0k=6;;Uyz_X!({lXa`8|+8B0r}p@6 +0zgP44?GXYKQ36rDAPZDH$byw5dvlc;ml%R_1`md

XMADPR^h_0VHu=>d2Ev<-Y)kW&t=_@!C$xrb +zfU533{SHQK=y%^8TXyh^Ur^M{nzaAPfs8JNA~9Z%a_kz{&~73uU|bf +8c;G9D^z%UHXM|8{ZI6=^1b%*KV6IO-yrkwkAn4zs3!C$PWdsx36|TjZ4|tL% +nSM4IY?Z2H8YqlsopG!Gpss`JX&l5b@Ra)Mi0Z}a}bX!+mO3kXEO7^4~0;jx$?Nd@)CE`@Ksf4NbE +0X*&@<*8V2)>KkAstu;bK>Kr#e=aRL;YF8Z&%2k6M;{75{<0_nMP-z<6fKz{sL+dau?M(Aq_^*;?5m6 +uxxcT#`5XHp2*U{fjNrUhpk5agaI*btA-Jhinhl|TF4f2p!MKbf-NNBq(B|RRW)wnS<2Sy)2cadXJQE +zA`4JD-SK(LscMI2%|7diQ-#Hc2Op^!XjDvhmk+>T$KdF&ObqY1(LIN{|A0}7Wt*MOXv~6h6Wz-0HIq +>brAnlLM{rBkvwkiKU@5;yo^x_i)PN4D$r=_y%okLwk|g;zDANZrD$uMNH^>FY4Om&*e2;dQl1UM$#j +w$Vz0spheu)oZpKWu6r+n4!#t3wro*~7bv$5C^h4rjvmpK@0h8Yv(4Q!lxXo3EkF^7(jhg1dbT~kx!B +Vy5zSEbor?_Iumk;4F&t;Q_Vs2x~+uF(dq6U}5K1OH%P>7%L(CMX+7!iJgFM?r}~FmNur1<$scwlWxXvGiQ5&psU%feV6yoDLS@M(3gEkW0jX=dUCkfZ11xb?t33_JSen;8>++uUDNK9B!CK?O{@M}x1lcp>eO2@J?i7`|m!b`blNdmdbYL+C +rx~4c{*5Do9@-VMRw%x#ay9!*kKWXS)Z!VFn_Mw#6M$}Dk%cC9gQUsgGs~eBmZcStVdXXo4@OGf2ILN +YiM=-Xk+t&GK$WN$?1JpJh1X_rV$OuSYQ)|{A%(k1{GWogWsmb-^!n-R=-UUskKVs|VG^NLi(oFv^Ai +g&3unXd8uY#GE6}BZNs2-XbAF8s5C~=_`4+MwFE+R>h0oI%rqDz4W)Jjw)u4j`=mO{|uYugl{V5r~NZ +i7Vb*O@NV5ZP`N7A6FAQsiH@VZZQrCX^|YtcBv4uIkhkWbMU&Eack1xsa=0VN+bY;;byO-t|7jebn*_kRJ3X9lJngIMwT!UU|h)A +g0xRuPS97BU*=V9vj@Jzfu#;$hn5+z&`GK?yZ&f&@XH3&R>sY}%5dPK5{;Zy1`$T!s6hVOCzdynq<90 +I>6!rr7#5V-ny5Wfmvd5IfH2vK+=vE#8Jf^JjD|b`k@P3qfHLyGa9_beK5Y4AOuT?mkMn)k?|@FuQFk +A91tR2pS6hg(JC+igDx)-b5Du@bA>Ulo?TY$Zm9P`s2()Yiv<-Vz#`?tHe;dZIc|4a65y_Nd*uOh0YSx*6;;VNfsD8o9FLVood- +pebZsdOr@*^Lu4lr?w#Xwfd9tIe0VInVnn;!{6ZS`#U^jo$YfzL(0T5%RAUU8F$Pb?;a +o&U@y8sBJzL7*fF!S5umhVK}? +MGv$z3x-QPR)r9K7QczPx74zB935FlzC_Dmx^u&SU<~0$zhA-=EY?*8;u=s?To8dOWyQ0sRnu&2Gu~h +c!bOikb?r`G(2HC*>{aY);DTzAO>%MOPmY{SHlLik8#lKG@&l*M-GKW~j)?oqZ7KCfvk^%+#}ri@m+w +fv4cZ1+#bsVsCH~zZlZ6gZOd8;j)zR)vqaV47g&<%+37--SgoB8;EXSZvG$Rb*HUs9jtH+r^m?SHNxv +qpF?_Fwe0=zo|WUC;0+8+G_rlbV!#)Z0UNXR*_^R>Z;NAwb4P70zeFKOz&v=i<(F6zV&(`5;Sl4UX04 +*7`4K?GGid&)Om&|nz*SU$DQT+<8-7~0YOWi;pUitC$s%H6tgDApKjOAL)z-3u916Mb-FOQ?u|Q$W=OpuNN+H& +RIgUgrJ4$Dy9%Y=|KcYm0St!_`H-K^+@0v+Ene+f1Sj+a^YbAMoo(?&`p=q`2{Js8>A*Z?R#au!^x** +ViL5iKLlSQ}{FT#^u`%voX|#ZiE9RwsOm4GT*oyK9BTzV(6x9`Hl~6d4Uz2OYAuhjcvfY6ZAj!J4yh=#4k235v3t4AyC4UNOSaYl@r`kP@^ +cE$VC^r*nr4^u(o@Fo>MZcU^1teQlfc`Kmr<=%s{p=*PlebWrMAU(^H_)A!6GVE78?bdEPee9!!X!v9 +1DSIA}->ge{2an4f`=d*C0Zr(|2#+jbbEj^XHWyAh1YibbQXHK6N@?IW&)@BKB7B^80ahc35jt30BHG +sEzcN^&U|WaIHQ*F;o}X|yfB<#DP_{^-#+M2S#GYhLJX<2a!qCP2wmv5{tBvn$tNy|Wf%4j}w0@5_h? +JFnO6fbJaw(pA16qE~N7?@(*BrWpbEyadZy;f2=4SgbHtm(ldH`86BddyfoC +R0ni)hriD3s-p>?y{c6*Aa?2vCW&sE;DypFu7Q4pKYkCmzQXd+f?1!aAu4sFb(l|i4rdHSE +(kMEzqc#??NWxWS&x&d>fTw2ak{1~kFDAXGS^$Ui4B*jStQ82MV#k&O3EHR(?{rl%nNQz*XfxObn;cq +~reAuClw!lp*lz0N5kgLSP&nXy!LZ0QY3@yqhjYK2k**ltM8X5-mIQzvW9s}O&`X;;9ehm2}p<{X}{` +n?eq#O2mVa0Wx|JTn?&!XoPDM4KYgLmZouJeMN^pqUNG-eRbe~jV{Ws60tU(G0r3guWcAgxK{DDl%Kv +4Z6AMV?=ua$nQ@vCK=;(U-4=xxra%<_3M>i6JOAJJ4LCz!MY};mT2w2gTr5D!18~+b7(*pQMmtI+D^e +RJZw#lEi$9JGENxFlb4P&kjuw+ykbxDcEpV0vaDB=x$e-KujS^NZ3^mL9wG52_t~ICSii90 +vm)6eoenoUFT};`YCk}q8ySE=7-0ilS659EO2g}&ax`W)?HSGmp +avGscS6`BwEnhg4M?zq#X>`iQ3Ci;m%B33J(tStxzK~eNPtIoxlOQ9!YoRp^pRpVigiObWTRd}YPF;1 +;m>3k%hWJFKqDV^6n+ph^^-+igU+HK-=>oX*^HC9u +{EcFX*#{S%g9sD32zt;kEf2T0%Hut0OTilrq~(d#31{;0wu@0$RM02kDu8unD@f9bv`4Z^;4Q4jsO(k +BFFR#bh2UP*)%ZFkuT74BTWU@6F3wejYXi>H$2)t3kLc;1lm+)9EeMtXDTWmglCtAJqJgvtl#wTsfVK +h%g;TLkEfH3CE$S^tt77ir8-Yv_#By;O{k#>uj#~~ZrMhM5M?*D7Q>0L>d-1Bp>Zx7j0@89I|LF;{^I +AG2(><_>s#j!_2Wna2aj&WXd(e`+) +#vo}Ump<`Ee|Fi7k6FaF<)|AdNN6kUVcr1;XxNMvOy5clt)dzEGkFcZ()pBQ6+CYwLtbwApe4865|Zq +Kyu4U8R}l(PLsRYtSRqX1#Ppq_YBNQt&z`m^i%>oDL|`%S{BQ3Q+axa`s@>Wp^*pGWb +E?x78s;wCIwT8>3_RwF!5P_b*j2K!frBfXf>y~teT`byQTTV%dir6eK=Q0-6>J-d2`ubU<_Z{wgMcG` +T4FXD3X{+Q%wb?OMRMU(#%pygI?k3pvNR$g8uiZTeEyUSDisv+D8&X-Wp?*EN|O4)Itq)dCS`RhLJq_ +Z=Iy@>xrWQOXUba_A?V%pO*L_g~Zmtjh$?w+9BJZ_iqZ%HiC~suIOkP=sZZ!;*i#n}Wb5!bfHu>_{CbLN;hoCg7=)aJ#Uy=PRLgX0d~wj&^C7Ki{189Veaa +*yAx6T~hbYd@InsGf@l^I(>*_J5glDcmlBTEQS-&~=QT`5Tpl_!TN9yV3L_$j&fQ7_{j9QtSRX`8l)? +tT3fNzPH@SsBjQ;Y)FquG-!2$Sn$iun5WdePB1J8-L8h<(l|+U5OH0))FFz-#&AD=Bt~hbilQDnA6N2= +M6UI!vO;9+Myz4BS&WP2eU*X8kfplzxfT_{fSHg##5c;)^&9io_Gg^M%uc<$jHl1Rp~&`15+?zCo?tVSc!mRIr`AR(zxXl9h7)^Fu4elV_8I|yZLN`4t +CmU%m*b61 +D0PoI!+p}01HzhOMZmb}xHNT=z^Q! +U>Rt|5&%bTZ6v8pZFNYZ2*EbBaZV_UiGcvR2G&N{jpy4qxs|XZ##|co^{C`x*JRpa3H2m1VM8Y2a_W@ +6}irK?pAD(@js+kHw858!KvGPNpidx>sF~MIw0&*#F!g +7yqOb}5x%QnBHF}#W6` +sNgrSwQpLa`zhvf;xlqQYF!P;6h7mo{}+owIhH|_Phzt*^iiv4uT&??Y!Y3pp?*Ch(M&#EfQ2I1w~}B +Zd%OxjIS0Ink{p`VZ2(ecjGmU_TT +p?!+_zT?GI+@@oD>B;qUSF*P#}60D*W1!l!t#$nqr +RwQ+l!W*Tzn-O{)UT_&zKH#UKL!M1x>ciKge`MCT>{t?99l-!9PMb*au%=+ooT7YF2v_D=y>$!EkCdl +9O(uD;OiA)bENluWx#Hax8c%@Q!=`2W*I&B{P5|M=)3QthrdPn`=A9wd#b&lg!HPf@YbC^<}edVg$rR +@E)E^H<-Il?9MeoJ;>HCTgXS)i&@-Yx``b|npP1>6-zgwp)Z@HY0I@yU#_DI&ZrO1)xpsV9U5XzMMPGHJ^8RxsH}Q4?E5ZHniwwFw-Wma`M*#nx7Z +XUAv+=&WKq`^_o)R(Gerb)^eoi>WKXx%K3jVQ+kI7LHxaa?Q*&IH-9CL%Pk&xouCVV&#eB$MHK4)+V- +m72_DG=NV&-)fc?Pc@3>X0N5nQ%Uxapqin +?`kmO4SEyjUI>D9M@B$VHi3lR$#=lXYJm>RrGufdX<+^v3~tkctrsdzT$?mSo<5!fwTQtj`G5Xne7hp +3+QhSwTU%FV1a_w4!s?q}DJTX)g`tcHxsXf!H8^T<6PHYZ)K_o+b0}Y4y#32&FT#*l3~vV*MeNKAD-V +A(8$SizPuz-Kqqnt{e3>Wf3-`I?(Rfv|NCIn3p@w+^GSQ9F-c;hKzFsGIzma*x>?_fUzDbI|;lXYZfk +oE$=nEe=t#y^VZYPq|@EynE${O^URCG!TCz|6#skdkidXsrf9WdnbW<6nD6VA^r1&F0#7Y +ME?J`V3y-Lk_8(AgZ-4K2P;?kPuo&2GIgu%GeZy~OQ>U`|<>SVy9p;*?@k;ZFDE|y!QrO~o1aT +-e7x&v2<|!{Ez)`&EAf2T_NUq;H@LH%4(W$uqa)z%stUeoe?DJ$e3jb50QBSvnuRtaQvWT3lfx!O6EC +O5xFDvWBI6L3aam7r(aDzhN_>w92ovQxj*>?u%RX)NOh|9mXp|IB@xfCMOBZ0FAHHx+5(2Jy8a<$GQ;)pLqiHB@?%2in}}T^bv1jyzX>j +V@z%et1BEnU79b)kLR!R3$6^v^rBqd1QEzoQ|a!xN~O@p?W0$8ii{Q!lrQW|Xx`9e09c2|&qi^recnW +Qfo~0IMw!!zS1i&Za#fU)jR|Zpg|2K1I*@~Jws^-A_#Fs3S5&-grD;Q;>b6;nci{k4lIk;X^bAfOkF# +sd9UE8){#d<=M8Erxbi~}sw>a3(Juu1ejws4%l}Db{sRcbf;9GQWpSXk2f+1M~d5s*m2Qh<34@6aWAK2mq68h&N5B=iShaPfiySVG7NOCwF77Kxv#x}FGsEE>T-0lAN&X9T`CCW*PtAR}{ +ku#jvXJ+Vqtxhb<_HEPFkY!AqDpfa(@3fL_1DSoky6WCbbvTIfaJ470TuBLeBUGt-y4Q69H55OH9BIs +^N>pj~0A-=-wBq?aC;GH)gdB)+UaC^$T#A1~R`L_Lq@rw~F1bwMV-A&f*mbEJE+wazuj*RWA+nPyK04+bwR?~5k2hCFkOKA?NTL)?mPH!mK4JM0^7~A;6`c=7W}Kk6@9Gv}t2%vNknXTy +(M~BDv)_NmZd3`w@@lnuSp#o?@reMbyXR_nptDK;ey2w5oVbkQ@kn~U)lHoQjB`iZO7($n*sDK%`$wO +BSTj5*yf6{2Ey=P)HWBjnZj_81ej5*k0ANmx*$2%JhND7Bn +))crH~#8&gaa&>00{oOtZ+;k=dnv@1C6+sqT4&P(ZwLl`>(BPf+@&DQCACCUhuiMrU1T`64wW7j}6RK +K-_mM!v|s6Ko}^-jDY7ZWOM+4?U}CI^Y)nc2+yGkeNaTQ<+G;E|3u>S04wD~cH-1L4#x9;c-7GN9hN%gw?u{p-*sqtbz5HE6ME?Gjig4&V9eQh~u@_I**fc0unl?&b$;RKK +2%F5aMJ_-SgN4SRP4X56m!tikUdqa(+72PmMx??QWtiynj`9qEN;t;UTz$T@ytSlmi>YGotP3arZsFO +MfUfKBBCknkjiCYD5!uty*ykp)w@P(KRfjhV#Siam`B7J?1K2op9m{i=tYHDUuf9Ti0#L6A$RHxYa +9oM|NCUcyaI`scQ5MQp!y!kAdh#GSAh$x;7;9Z}===qz*$hMIMa*Y%B=d2NHcQ<)XYh=T<#KO({&N>z +h(oO9yHt7~Um5HzG&$1j@t$3X=Xi>7Bz(Z$Lys7BChI-Uyo*LpKZxc*wNQOt7PNy*NttzGx6k{PEdNG +B7C4QHP$o|xM-0=I}wrhd!~*iA~-n?oa;u$og^Vo(B&TB$?$_Gog~w7%BFe2;<4_Cn%+q&6ld+i`6|K +NO%Cb`C#OM?ErKK`!=ZA}_=qGl%wfefGeM1a|oS;q_ax2;&YnjT|KSQI3*<=X=+R1S=-^rY}>WZ9nh3 +-WqIcr^;wXL}&T+ls+_0QW>7jm^6Tm^F!oQp`_8J`Gce;x0%Ou5N +^o%+TXxLP3_>MPS#u)UnwZNWVBiQV9QN6br1LbekIC=jouJd-3GN6xd2zR{-(ogCqHHefX3)1+7uXWL +Ksa<44Zd+^S*iF?Z5BY&Xr)G`}E$D9cs3$NJRo89cO|#LGfhk$0C5oGy~H+zmKrqhgq|c;F>QY1b-jy~ezMdy$g0$N0KnBj3`WjXbL#RJ-%>n;pahU=M?M6!nc8X3o=dV%o{=(^vI#yqa<90m&OUTzE~KPJbbz?=+mq>AYgkh~G4n^?c_tkKV)yw7Yl2nlVTS=4i>@8$LeC0Emk2?)bN%Tg4{pDZTbrP2cY +dsl3Ka@;hU_wpVXXJ(%sFTZ3!ye+mh$r)@B|Igg_x(>^hOnDgX+>%pG>voAvYDY%-&mBb) +)7aYXv@^cL!QS3=S6?`Qxq6M^yM+8(_BSpye3nGBo@E$G9rBr|y?}^Ry3LP^8Ra!o%Y}5(bZr^k|A*D +=3m0qXUL^`&z&25UCT9OJOY?%~g!cHg8`lchwTDTk_ZFJQj%xkL-KY&dO{Ouwa0Da@-DtmHZ!Da6=61 +1_f`WImd4Ex2n+Y%HUkrF>%fslS9hP9@dvGta={@6aWAK2mq6i(w%gtt^^rm_>ZZulceT6D`dM|ZmEbA$L**>JOYPHDu-mBbkFL +y?=beb!iOG<30B`IY{#;JnE5O7T3tUdyk0SiY0mpHi?hnS}MZ +(sz~cd;A`a$S=~ei^@TKBmMiZmZYf`I|RaHG#dTfIE9x#cR~vs8)b6M_C+QTAyVI`lQ#-`eza4rVLBB5$hU(OFT`PmJd-0Q@X_AxI&z|q_ +jQQW)IEF@$C!JbPEj8qWD^$mX9l0c=k>nX4V?}9cl)QZ-BI}praM~$aDwhLCHLe)+$6(-r726*V4gzk +{PQuv|D)xBs9L^wLrsHCD4%8wxQ1)JxI=DF*jsoSBf6Q|1hh8+1$y#h;U9KQIrd5r&luR-W|eVLL87$ +yF+p4sW>9JEC21hf^2G=>`pz(4XjI!bE%t1t$J`11){aqm~K*0vM1w@^N;EE?DzEM`t{|z+4VRk#e?$ +Ob}8nwN98|xsKaf-v6X*p7=v4aayWysxJzYuEd+2cFjgfZ>9N(R;mMuS*~J*#EZ$}5qpKV`<2dzEJ_0HaDTJbUKOroq<9sMZlk?7Jfg$B4z!vMymE-K +s4F$tp)A4ylRN2*EIl5xz$IRsfl%iIe%dgwsyequNW(s&`3*r=_>(-_Z^(wklLehp?G6>d?g&{Z`auS +eM01E8&q2gCHQ%*Fc!GZHg|9Mh%%0Z0YlJ0>F&4eFuO#ekBGX9kx249s|)GlBVrio%+z&YnWBrUr@te +{34v3g@TU7+fI?E>M$hN73p5J9J;4HoW%1(>~YRd1j8zqLhp;D?F@>7LrR%f#u&{MLuzTh2zn80^)5| +?p#Gv754qclmoI-zND1HDJf(~=d!MeY*pMrc&MV9=$z;N}@-b8Bsa4x<`35D85b-~Z(n;gPX?b4@zsR +yGH{{nL*!@86lXG@<_BzWjZwyRe%$uX)z}s?7Z7917jdo;x3&~r|GSoWPDwm}0!J-$UKcdU*1o;*-IX +J=@)Z12jXfA4;6tcC--qLT?m90W`j!E_aT_U4uRu5K$fV26UDNOg&VO<=uVEIypc#D(Fbjkhc6@c!$tf=;=xPg365i4_FIgG6U$;6sK?Vh&l0m)5PS&0FbkGk4$&`&B#)FZ9&#)QjM;IsuKk%Wb=P4NpEB>efX?mtFnKG44`Td7L7%E7e)tnSJc%CP@ngjR +3@j3(JB5*nx1k&G(R}u*w}Bop=xqZ4i_E5Y1*gA4N>cp4&0;fm9Y113(hJFj%N}(G!#AY(NGx`H2ka3 +8u%Qq4XIP1T5UcI2aWv)P)h>@6aWAK2mq6#fad9XSk{DAYLr| +7=v-97tyYU7=TTW7S`d~{S&}cOJjRx0UvtwDd-uL^CXBjJZZPWEEUy7#M_dJuo&(2i)O5EzN>wUfIo2 +C-Fp=vgpvfk*Qjd>uB?$=dQuglHZ*&1hV%Qnq!d0jM}p1Qr+WE~gHzFTqOb}Q?icXeK+{BFhDzHDlt$ +NXHEwdnJz%CY%H*EL;iVAZU0Z``u1v-UWr|9iosgZ6z{iFDQM+Pv4}-o1ML{D*gM=WLa)wmid8nZ$U` +0FD5l^kf{KB9;bN)&;No3|hyB>`JlH{by$kJ}>hd{<5t2oPOovMt&(u(PwH!qU^cbDl#NOC7bwWlT~G +XlflxqvdQmIH{C9;%Kzm~kB-;*jtli;*LNHyNXF6b`L4~1((Lbd#jp7a7W)&lKQB8DOw_>^ct7ufc5E +H8egDgkzhuw;_Tt&!vo}A#e*Nn8e*>qkBh43tEkX4mNJ8T0yBe@~hCH+cin8bBs-Lr0FuD9q-vGBc`v +(wm&VC>c1VXX59De?^Z}mPTb}om#Q;)Cp^v?lSS1$Jm>+B4ff_Lmvi&DDb{XeK}mSsrwEKAPL&I-O}n +OJpY+f%EU6@-%0G{=qH?8`(h{0Xj_U$B`w9}MVWIZKe?gf0G))^!C<*ED1@nLO)w-gDM(IS6}I9ocVt +V1{+c3x;#BW-Xrq2MV^L&IMZ@Y4}GFb5J3C4oG}b$O^UwF~=dB5{SY+d_cTEd`M};8xAT6L=&G^(2n2 +{G|eS6PLfI210E+5sMX>JB^sIT(#ke*d?ol;r&eOl?>LbVS{sof->1JeWj#}!Ju=I!#y%qJ8`$1mbBh +D7G>~hJuhJNH?qE=ww=M9=%*_4;n}VX_)8w%u(p_GcYc6_cC?FvD!Onjo#D!dK+8z%MJfDn@2Bjc%wB +zAW&EWgG{B6%?>pJ9NEu&Xynp(NM0{OkZCPu!m1A+S1*sk=@<*mR;q>hA%)x1yhZX@RG>C>Bo!&U|f( +iZTCCiJE-eFX;|zl4ANEU_a&Tln2jCV+u=U<25?9+_8fBKE5rv=;>4@1Q45^P-qx*JSYcSn{eMFzyb> +B?IBVRa8Gygm8>1SpeaRSyZX`^l-Ha{r`pL2bd)0{tS{4h#oi#Tjm1v3ADd?@$82;&liWX-!}Vx0St7 +tYOc>5fO2Ht7|2p5m3nN-UIJ7OCYix#saDLxIRknTFdPZbS1hj!{L)}2Y!t}Cg|<$qoZ2`YKf>&=twi +>O^~mfLu-3IRnP{uBpW#=Z2XRlK+q%BGSbTFm&>#bJ0 +WJ+e-3COQ`p_cio(QQKha}Yx`Fkt51Q9a4_6mr;l+PRv8iy-pu=ng{GmVB<65?GGCTC?-~9NW*4YiYP{=o|Qkyq@-VfC@0=vH@i5@Hwk^4hE~K!MH; +kjTT#QOaLRI9df8_<*mEDytRF$W{7J#Llb0CA_ZzLoS=}TowFN$ysUWba1=n@S4AdnN}MyVkF&w{rXY +A-FBy`MpvDgMP&=DEog|5&hCA#ECW`mh-(h7*a?LJrHLW)uS73(HGVJ0_N6+MD(tX8#36q}ETRJ4246D?zx%DuBEQh?hk<{=P=ggDtTQ +J~!W_J_&&n@6$=&VI(S&-t9Ad|sdgwumFtsj^P=UJ0Cir^B5f(!{8YDpQ`#PGjXN4dT#h +TVheigid*(IA}#RSVOxUJZ2W6b%WajDUqUgpvIWQwU_f1CB3v_aKqH7oq~H|?^$PwtZ3s+&9@6S2-$> +^J`3N@+NDA5*cOEylZ`wr#_Mvk0gz~M`V5v6P^yyR%mB4!H0-h`EJYX!!4MfIAi4rn$*-r)G%WGII&M +kS-8aZ^6phMxWOmVbb*%rMh(pG5bTV7}$nE2XLe-(FaorY%8b(+0>Xj?tor$_pYTb*A?EInb~J2 +a;>3L@C0`oy!cPHdi+eTrvj_Pw)G#{{(&TNgz5#6^{?gGT`t&%V78<0f&H1QVc{EWxZ}D+EV*aHMvl> +wBb=2Ou9-|7^T*;K9nL-+cis&1l(>gFbxoE+xM-wI6vP2Qu`&QbkEx(#FX{CWCPKP$n+QHR6)K_hbrrW?2B@-10)&0>$_Y-)#8uLxGO +i?o^802pVVx#>`OXbji5huy>r43h4ytT$fULr0lx_(=fQLI+TmTFe-rfTcQ!u9CFM4# +XcG+9+~6@&KX8JafYCApFF$e%rLizfMHryIdI|IJ{MbFgjtYTv-}lQw4w+Kt&O(X)!}YM=_|F +5tMc*w(w78V?ZlIA5i;8n<-K;$}ZJm0p$vnegUt&TE~23GK8-|2RM(u&*i3&%OTV93Pm*KfYp^gskrv +fCM*b|Bw-Cc5bvZAMm!NjE6oHLiA?#NA3s^_@TB32Qt{qA*Um(~HEl`8TFD{$G~g28krkq2(;vi--7yH^)rJD;qK8`29 +$6B^*+`ydvLD{kvE}FtKIEISE-oiVDkjMouU!qJWJKy3t(od$SEwCU^&pk`FmKOE1^p@8O?uGI{R+Kx +DSPP4kuwD*{I&!`HYf9qDhQcapEM0zf9rwNvE5Y6r4H8P<;fEK3iLhrnko3$mZ<62r +Or2vKa=W28cRKA3Zi%8w9_sS%GL*&C(ah(J^Ui>Q{FRK~P;*YVW@&>z>|KeMA(`wrlTp{JLtA$#pf;9 +NsWP88HXK|DRVV#>^^Rmo_vgop`kkyf|XsQir*HcT9MSX%(1ZUUx;<+ly+!LETQ`>4~6sw3<34m6BNU +3@%A#p(sQ+t#In-%8CQa>!uz8A1)XM#UxylD`qKnoRAs`?HtoMD$yH^vZ)zhEX+Dc%PNC?ZA!t7RjN4{O*R&H9mEjSxD3Y +cWcDKFCdpCYH2=B>@LJ6qih_#<=d?0Dy&YfcN^WcI91DRm +*&J^SHJD4DKh7EIqbxhTsRQZ|#~1XMdftekR4V!ff)r1Pbi;xp-eoH~(`nnX{*@BY+50Z|vNjP>szHH +Oy+-f-m=*+4K!>t9*r1e=hW_(|IsSG*S%$Rl|rVX@OQV&*Gsc^xoHg$3Z_{c~g3#5r-;^z3u_|kRZ{t +p1X_2f!~dilw+US+Cd^$7-r +jabVlbVX4H#(2oqBO&WG-GL^>H^-C!*v8rPE-}azscMzM5hs<*pR8NhUcKALnuIZH1U(-43_Q6a!E(GG)dKQ=2UucVEdNkYdnLSDpK- +dAzhOGuAd^ODi3Y$z$^Bg96qXU74GUh_TYDlL$1D}S_`TvB7fGco{lUA7cr>0)&~MEJ7;ZgLLl&%5ph +ubpeBwZ+)XL2A&cw5z#aid=qJg&d#F1NO8E?6Q_d&#U96-}KDp9EFjkFdzX(S0;Y3AAi$^h!0dL(v(n +X5S`Mz&5s_yT0m!y{F?3Q=SMsWEvMtRheP7QMCF}{%jh}6_2mJC}F`0#<@c>+^YO2an;zlS?Hj1M1Nv +|tGEE$ZIH&+X}I9Rqyau^jBrrEXtb=_jND_`+`jt6ZmT%D*$K1iCuC`e|A&zpNos>e29djb7;%#b%!ui!CDh%!_f7Wj0h7 +n2Qb?34Den-xH?nJ74cT3YjioZ_K{;HQ%j}J=fVmr%M(d-bXeAA&-gTmFdFx;Ok;Tk_Y+1JDp-<*Qk` +QjDa;5oyoaX~+rW2IofJo|rDPY0cLbit0dMy!tXGtG1Pp(}1`tML%s_5cWLKp!8Sbs8GNL}#b5)!mYZ +jF71(gS6WMHZt#2`o%S9y4zla(mMQ`J4pc49MUZsElMJ2EB1DhyAt;YVqlh_b;?DApm(0gtd6q#-0$mgao#jj72l^&peH;u{#43bp3B4rGB +6{^G#Gd+hj8u&3xGkr%)sLCs*a~FIv+8qh2P?*Vsec<96#$zZ&+FvB7{HlLkMMU|Pm_ea#N+gjW}x1vQN$ywZC- +DHO90o~ve^q5?rH_y6J(a;~?`GW1a&JrF0i4%>RH8M$j~lBKoiFdhUP>Jr{{|v9og&Z+t)z>ads_Z5x*Uw>5 +TBY#%w(Oc3b4`?J8vr2$Z}>6(#JOYYe#8+XN77Ueb2kGb%cXfX%F+y&?_+B-$sf&qWV&WURGf&usLJI +e8KM&X#6W;@>@}EA<6tlh{PZVnLXJmr7~SaW9X)tDc~>w%0vSIRZajKFPNg}Chj$~=b~007L1)uu`Vu +m9^6n!)(4D>@nPA-X3y2!9SgB~h+EI~pZ +kUFUqxxSpLZ~`h2O8alQ;5#-hBKWV3P0;c!1f(x^uVeX;9;%M`3^%$Jkbn^j70UQ=w3ZDyBsgz(|Rs4 +c9egHXQfJGJPHUNq6T18P5c_~fhqb9cpeGvGpa8+lz188DMdhfy3K{TBshyE>_!3t(>2qVA_tcahk8h +V;uFafpS-C!7F-VNZb;-uXBu8&)byAKONa;2@zxlzhk^JL_VU&LeE;G?o{{I^ONd?-AA!21W3(k0)tg +{YvjPDSGB8^#u$Z^v3nc&xekb2*P#qWG(t{)w=Zggd@*tYpoQB}mC~ICLO&!_(9ypB3<;ONYK8()pK( +Nu9An6`u9Q>HxMlE_gGYV}0Y#81}r??u{H_;yGwPv8=k$ta5c}Us)(dSX#4~gk9_c$onESYK0>0P^)> +ytzxc3an5>mT9hhkC0^vXRX?VN`fY_rzg%Bi9M}6^r`DFE~NTOR!dvSHHvqEia~GA3y6prR)`XOnKZE +OP_#EhS21_ls(;lT1m(`N_*aOW$onc3^x(APg>g4Fp17RV +4{4I)6-tb*uenWlm#9YC#q=NvO=i->DmZ1MTLo`?cthuSJxurbplCSc;EG(kas0y0ee~eYI$hU#EXTfb3QTk2~-AX|{J5QxU10B_fLs&OrUKS6^L^4{wLUAC^D*&`u0a)M +tv5Ej0JQWPyxER!#?KA&%f=rsq?T*l_J32R+KEGk1YP-f}aR550}zp^XeOmy*u|cP!*=^_+!_LN>i=c +|C9lfj}Mlrh=^_CwVfqY3P+kv9ja!mRe!0q4h0Nj%Pqt#lqyNbDZDdXO~-RKG_qPZ6vT+W(hq1vI%Q0q&g%4Yvr>1Y!^ +22cF}*aTyjsu?2gEH@q(>w-=54160BsfD;T-HMg~%>OD`F`b(IE2|P~KO9peYgL%`5tVpw6hMGY>GH# +pmjug?~H`c-DzBfp@pOLpoxu0=2Hu{z+_Y-6B`(8bj3>~c48>ary6y%jH^L{$qZuMrbEZk$=;J*pW8o +gkg8#Yie0^W_DZMtUPUQUC)Q$LNYZyg4`FqJh3Ifq!K7<|>mEcOaDshniBLJ}@~vo8mWcG~V;kkfBuF +;0&^Z6Q?Y5LCNTvS$eFf!BFqf!OfeCg>KaYqZrVUTI^b1Tj)7bAR<2<>OUtjvnkkc|La#VwL3ep~Q`Q>+zRL{|^kUsK@0WS!K* +LuIcu**S1YOZse+qLrn;L5ze}4T;*DX;B6#~Pip1MVh^wxkKmNNsvYc_fRUf@e`-ivMC@kz@5nO9}O_ ++7rki=G#5@D9I{mlwuU~*;(8_nF0)BWFXUOcmIYU{K!L1tGU2*8umq9{9 +b2R-2e-^9Z`E2_BJs#zrPm`#Kx+Q5wrkv`s)6V-wN@dUo)U2%v^39pIQ_v=Xzp^j2q+P`WS_)$32p(T +Tl6UlW6MGrTrJH{PiR$?6JW(f3!5dFnC|l~S063bE!lO1ql?vOX)%3F|6N++ONo{W2jJvNz7V66UsOX_rvvtq9$zZt?{ +Tu-u1?1%>WxJ7E(WS9>GF~e<7$4u0WOLXcP&Kp>uT}UwT*t&B+#&G3O<|c`}N|llkiN!4Af+x?_aQy( +Vo4R@~BVU6&L-ETP;eM2%L-^SYV?(Y<2ONlxmA>GFYllba_4GpI8`h${p1>{~kv87dY}P<|Od4k`zl+rjLCTQR$;KQc%et7xl*8Z=a?gE5`Dc) +QK(N70J9Jym{tr+~0|XQR000O8ldVxv000000ssI200000Bme*aaA|NaUukZ1WpZv|Y%g+Ub8l>QbZK +vHFJE72ZfSI1UoLQY0{~D<0|XQR000O8ldVxv_-F^_CjkHessaE2AOHXWaA|NaUukZ1WpZv|Y%g+Ub8 +l>QbZKvHFJfVHWiD`ejgi4l!!Qhn?|BMKTso=j0VctLX@Uu;rXdc~G(}nKZh^GvY;TCSr)lY6qX;bJ5 +GVidFMo3K1yr^gYFi3YY20ux*6~o@D_d^B7L_M~$Hi=+$9I$Qy`DcO$uzlD%H}=ok%GGN;CkvXHqM!~ +!x$bc%h#>b*@U~W>IO?K=)}`@JICGL5*AqgX}~C*_?zkpMK#KwhBNX9n<2r~5p~&I4Yg#UxJR_=Yc{H +tQYv+Z8Ey>Y9ND`AQsmb!n986{DZ?D7J&71y9s_wVy2j@i(k-U1n)g+B17`Ydi|F`M8R{Ygj3bCbp37 +dgwfAlSm)GYJbQWYRBP3p?Mdg}P%qB#hqJcURZcw`KFk*eFJ=HOFz-`ohSf?`^jNeHA1@r+>O9KQH00 +0080F$jzQ2+n{00IC20000004o3h0B~t=FJEbHbY*gGVQepQWpi(Ab#!TOZZB+QXJKP`FJE72ZfSI1U +oLQY0{~D<0|XQR000O8ldVxvqhtfd78L*hLrDMtD*ylhaA|NaUukZ1WpZv|Y%g+Ub8l>QbZKvHFKlIJ +VPknOa%FRGY<6XGE^v9RTy2lrIFkPEU%_>dvkll9-0t0nYn=Cx&C6|YnVv=_xtT?#p`j((*0d~XM5#N +zApiZUiZ3E5%H0`k1CvQhWRa}br;4S_=kr&h5mhd#?9AQ^S(klR)YWYE;V4)>ylU+$R#dDh8dgZwh<0 +DMCy_HQ*}g8z`axdJX7G%4b+akOy(nSk?|spVlc+j)$>4`4tggy4{2`cZM8-JI1S&v}HEsQy$htMmJM +cCyg_Nw`v#hT6Ws!C8OUtUdONbKu)ZJ0E4}}zrvw2?kyHdDI&YAd}iAHT)vX;ZhoaXKl22)`d_o8i!9 +JbQ$Hr|PceJ6A#Z$KfWIm~=tw6X&R^i{rQ4@D*CZ217&61W0vIEQn=;=5MxygM=)zM9SF^V#efLq;p! +71aUGdBPQ$Jl1`gvmGAh1X~0a!^8R{SW_499)y6j_kGv5A^|d|b9268vTK1!o0<;H%k3LpN@3sTg(Oy +Q`l>rOB8SuLr5-aYPEFl*tgH_Q*ogU6p5<)c)+g9lS%O@EtYrEf%;tUB<*=d}Q*@&3>bkTevLi1*m*^ +$vOp@LM^XfKfcy`Be88Z;opx76pmF{RbsA%CBiIt(Hyd>uTO~~$lVG_J~Q6hKGZ!6is8AZOP0j~<=$c +_~Ey6)bPi0IAVxjepZ+qw;YmFoA8mFyc_N#r-@?pRlPne}WH+aM?l{s#|e`QiK`yMu@Kye#q*bQpF69 +O+VI|0Oz7bcV+JK@WcvU3`+U&1A>H5cI^q!QaWELBV6wU`8nuP`HM7#jYre?woe~U|D<+U22&yO+YJ* +nN^^5bSXTYo^mQ=W|ase1n<*cB7-}z2J3E5z_0%kpe@96c)hQusg0CL>4xIHwqlt!Bt<1$JlW_)RIX| +Tkd{OK`+wa0BYpYz*DwDkegEBR%5Yv4=;z)61J>*ZZLw90k+|u~s0G2Jnl~wq0=IF%(G>ZBrCT0E4v2FKyNU3;{RXbkr)J9gaH&14+R( +sQ%>9L5u>khbbt>Y3W&m-x!S%^(R{ACD>sV3oPq1^A;8kxD^MeT@(zB*Ua-GxIy^JN6gVt^3<0_*K|W +~mxFto)AQpDwzt!#LR8;h5*4B2LU9H?!;w~5G+ZCF#I&`gv&|0Gt*k$P?3_R5ZE>(-pVU#&Gp(Z&Q6K +N~eBV_G1T=K3YgY$t#N8I!hWwxU6U3`x+MxcdX6}P_a@H1tst}b`>3E +T9IX3qa>H#q{7TM8o85k-+8sK9f6)6n3{;sd=-|?MJ1lcdjGLI?+18@$nZHOkfTlXF1L3hSCx@i`AP+ +pzQ+Jk?fzoa@%Oc9QB;-F&Xm$`tU?R?GVm{e|x{RVd|a(vR&8wqR6{dt2g=U){i3WlJ%MVF=nkEJO01 +LHKDXr0J31u5`HK^gYslJSd*O^);EWi=fWt!*%=3q2GO0p%wdb5A;xV7sQ|vXRV-f(-f9|skh=7s*h^z +aYf_(8V%2JJ9bkKq7LPWM#*TB6h+fYIKJLTgAeO<6TzSqR9JIyEJ#im>y86qYRDiJ`B@oZUmchW)%rl +@Q9TN(k1QU#*;lR+UXn@Wlw%W%0mySWf2@p;wjPKwOeIwOY+sMt!qMv;H?zkvk^HZO +^`8Tp30@x`E_ov$=4Ty-xb6rhd;;)ZgZso7Xk+b?S2;c@ +TIO=l@g*%T@KBXCXfDj|E1ZkfL71q`CnuDoWQ{UwlsL#JALs`&&J#1p4fVhO&D{o40!i48}>O +4~u9FusFbv-D_*{F`HDFglni$aakMPCACLk%`z-`BE31vomioEmM$D@3zk477h#&!gZu>3)H@6(q~S@ +i?>7rfz!BR*_=qXSpJalG>y)mKB&kWf%LNi1B-M>VF?D-su&fKkWqs=I4%n10V?q6cJK{T +uE9>nBd3DO#4vTJ884$^r|S1|BopO4E$Cf`n_Bs5;N`g!=Salo4y<6Q{IGVCDcE(mI%NtgUukqYYfm# +uUY&u7iUjEV!?zA^65gOuE@8sTgEGz-pS((`oYynQYBBQ)Roembkja`*u91`p4{+2-02m9HoW2iV_fx +Q8JI*SCqp1C=TNTT?@*+i*!bItOXnU7T2-`HcoF*M4MX@E&2`Lx=Uac(9c-p`-Iqa6IDwB5gfQ9}L!# +yYXpd2aR+QqN!vhj$t%I3 +^)%G1c$6%w16L??jpNuw6ch^S_n8lL?B8slI#85EK>0By>iEH{a`FHjVV0)s=6854R(h<7h*410uz)t +AmH4x6~HaDe|tZ%8P1Un}d*a8iJ)d8yOJO-B`?FdEo*VoO7(mHNodKclP?G7e%8VGH#pqs;ec}X|iUVnXAo#Y%%50|y> +fLEhf9IHz=8q(X4`;tpP7&++9Yj?a$R(_XjCeSn3CnV66nl*dh?0(bB;)hLlrHM%uf4p%SD8fPz~mJ3TM8(+y849m&DMjY*Pp52Ml>J<-sVXQT4x#y>67lu-R)B%;278F{Vcd@AsEbhJ!rM2yoeo +SJaOTI?3cE3O*sxFK6Klz%AJOE!q^)agP?Uo5Y{2#6-gh2@;;uqv_iN>Ko&6Qzw7H^v?=UAg9Fx}(hC +U`s~ipKfuD)aD9Q!ugxh=qPIU@6^uI70aY(KWBeodxq7d~$yT^EG>a0<>QahOEUIj*g#FR+;W&>~!GT +K1&dPlMTlGs+RYwxzv^a=s@(JB7k1MsDt68Hs8c-xVyk5IynAZlXLp6~$=`GB5$0}{{=LGXD^1V^A{p +!CxbMU5^TrvKJsI8i7Z(u)5Yjc-7c!h+8?S^miC39y7pq0+xU0w*m@!G3`Or)Z_Zg6IX;GHerdC56bA +7btWy?Scwhy&ZXApVSka?lbnTMtrKT38^3M=JgHx_y71a(G(fjG6yN^Ojr@YOMgp(a^7vQG+C>=JN!K +XPMmplHx5S>@V07@8j%n6`|l+V{M@Q-BKZHxZ#{HFn%}bmNDPtQGgB!NQ ++9|ELDPuINv+k1H@wnH9x?;iF9B5J3Yl>BeRiNT(vi3VS#GXJt4F1JT(4^>>i!Ampz$M1P480g&tjvQG<d#r3yF^QN>nq1vG +hnO!=R4lu-Wnvl8fE6BT!TgXg`9szV)(j}eX9W}C@)t^jy0g2P@Ysr*FvuKD8h#HDhg{cks=}|2zRp6 +pqe22#sTd%|3ulTfG}8*h1VEy(cBfj2%!B?jZ!p;V+zaHdrK_ll~&Hq-|p?*NTTj$>S>WE)KJQWhu6gDOk_NH$!={bRuTl>4kHdx(Vqjm@)7GR;LqJsEZWWyQ3oCz-FJwYYhCp +*<}pd!;1=HeveByhJX61{G-Z%tT<$1%U&YEY_sXQip5qwsFS0x`#ehcC_)7H!XFKh6@^5SBVaeE*Ew+ +?vz)9TTRD4_ggr2=yHJ34kqwW8>)7>lj_GVto|A19!W+!ZK#C*D132D5*EvQ3TpJ_QNdJE7KU*)>&%hNhRpbMLQFD(Q&U0Nl_6?ZAOKPTEyx#EYGa! +4a+z9l(bdLlNO|d6hI9t1VJ2EK1*kZ1mH|e!Gab-jtqp$@yi$8(p9)Q^`X`4K>^;bv`NeFF$Nti(QJ%V+=kZ=)RON%gPapH$y^x-IBBIz{_)G$n~wi~bb3+yT)|R5gMIk*RT`7LU +k46CV-@j5rA_TP+Z<1W8= +|KoIy$1!`*G&sxdtbYx)-3Hqggu?f_u?em!I4G5f-a1G~v;lOMPUI-ZMjt)E$OH4EAb(s2uU4H8#{xV +KIjYNd=L}4#}JWg4g5vkbk50L4an{b;*OS)T<5@YSh&^m%B6f(DjZy=F)`f)lg1dqhrHj2GUtl%7Ir5 +Fv5IhRvlc=g5SVFgn=QU$@ovg%LkfUMVB1VBbJiQ);EKcWh6N3H@y@(Rbn9BZ$ZG6H14nit!l0g4Dt +Mr&slE@_7VxPz1K!DuS1CV$)vf8k@JP{7(=WCsjSu3pV0@Thi`(G$@r01)+wj39hF~*pz!Nl7@0e3zc +%nJ-Q$X<6^v*=XqqkBdK)SzKT{X=?o^TwcCR-go+gt`}NMIip4sWq_4Z6S*i`O_VYjdp|(7}owfK~m; +Ql~1g7^m>2*CCOFOxO2Mp6(pA(BhX#q?)VPP0XUN@Lj$LF4fQ%BFKjQfOE&(?&*{9V1%-%Uy%x6sx+I +!kgO}u5mJrn)TbM{4fR{5ckUg(}@?Jyy4u#O?(^_zNsn0bFlsf}dkMFx|x8#8Q`Q>|ZW$`H3u5F%>yVlnr87M +s^qRJ#>yoAiy?8Dr#imK{Uv=w-HZn|G=MT?B}0sFhF^mnj+j(*b$u71#_8Xi(3dBt*k!$cMrUuSb0ZNVbq%a-fE+SMM9^;Id`ka +zhtog@DillX{G9R0Io?aimv!OHT~+;yAzss5Y=G(`Yicmt0u!i>AC%}@_|ZosI%*FWT)Ne*IwTn9>C- +%xoin`D;aIQ&I=cdtv^}eTd1Nqb)HG_su4>(*cIbJ_t4>T^tEi%zX;Z^iFxo4fX|2CI1Z}`ex$MX*Nb +$JpJ*Sl&GPZZiL{9rLZmtd^%|DQ$I7R8p+B9t-?r?~C->OiBm%_Nc!JX>N37a&BR4FLGsbZ)|mRX>V>Xa%FRGY<6XAX<{#5UukY>bYEXCaCrj&P)h>@6aW +AK2mq6CD%TAZe8E9!!s|vVLoUO~C75KfTeCI1ib@3&Qt*OR{0^vKH6%S%E(|Ea +s$9X1{lf!oSXBk(v+nf*Zd$IO24RMjoxgm^^b(@mQ}?!8+T1n>HAuhz^5F|TIem5VmR@|COwJ~6l7ue +?j*k+8KWBB_!fPe(Kp-(0IYUQmUO`6A8^a~~%*e;KsW9@WJWSj-BpVfiP5P2)_}ras>c((tSpvpWad9 +2=-r;j6f5Jq`OJ?Aml-F%TjyoVz_tE|W!s#fAj%L~R=j}vzsacXFB`nB7s+t*>;IvWlD-_5C{4k2?aY +xz{%NQJyR2!A8_?qJDY)qa#C-~q5k$54ES3ZhZ6qr^C;*GoGSX;Cc#`rW60A;#Wbt#N3MgoM3fGg>l9 +sT?@{rPJ)%DX^TF^sZN{#A03ZaN!}G4!HhT9Xrr^eBcoN#)$C`H(F!6jQ|wrKyH$k&)O{8R-gkyoxX~ +)Ni!Rm$IX1A_YWoYjD-2HumtmF5(;G*gNbhk#6Rt$3Y){It~G(mav_ +!ZDms|tsCn;Blc+s#C9FtAC|S5_xN}39Ve+#tv0@?z#PA3m4<+~%OWQK4wUqX+)2<}%4!pXJxkZKH6~ +b#t8-rpeSh}j-#Byj`f%5*Vw1;GlxB%Q9z?QlRj%FK76qivXf`modyaZ&C(@kNIFYObl&iY!SM_?CKk +abm+r=L1ykGS}d|#gT)Xa9f#-{JZw%+wGaCS7H%x&b|4WPZ5471OnU|honGq04ADji+6^Uk?m%C;(r# +2Z8L5=Olwb4@ifTqEj|&ToCPi!k1YAjH|fv#K0XD<4;2XtYQxce(5jaN{OARIvWq!G9E-*1u*sO#Bee +qow}bgRu9P_5cGD+iv|PvETFBesORJSciU_!~6IT#@GSQbZKvHFLGsbZ)|pDY-wUIV_ +|M&X=Gt^WpgfYdF>o)Z`(%lyMM)&MqmnHc}961n +&m^W(>U$5)rZ95?#|54&U=Sa>rLHsqO4C(Rdsrx^w)OR9vrNidM!3;lV%sPD(WU()>S9pcBNX}6L#Wu +vuR}84kvH&<#~=U({>}5YNce;+EtILi@a3D3p%?l(=&KFy=1N0rJYYqQLW#DsOn~|CBU38E +ML{r(40hAkf*Z4%_He;w%K)OAQh9VyWNH@{r-n%KV%Oce*56x+4EOVo;-T;FC$OsB5$Rg^&qbb1tJ5) +u8`PH%j$tzjQ}{NLm?m`uKU$45#KfS&$0p?NyHW+|PF{SywPQHyOig3|G>V3XX+`wMuOFS`K31b}s2NE9Abo!jM);ctd8;5e5=KVy}ncI@n=@AO +v<12^x^Nz641U(*nNqWfhd^I~TtT^4R`l=w;C8lfB=M0)!JCkF=ys1ULNltwdBkjKaLEY3(!vTO#^3b +_*N{9I;Z`g$JYKZ)q%dQ$@UnUR>PRMVOG{HrnT#l?BsO5jpecMfdowJx&HgldI-9BG5H@ +(X~-W5)tCEU-^F?U+xP(F8bNIhcyOO2O`FxG)!dsehD99U*`Y3?f`Yo$^_;Uu1OoIuyde!szOq_*z`Oi&7oC#2j}LE= +CF7W6c57d_D#qKYoZ +&4K8M+Gr4+k&PGK$TbG&6^>-H*ZoM>%BaKn5B`Jx5DFAj2fGm8jZ19)@37TL`xe?Sjy@Kd$H<)LFyTI&0tZSgJUJ>R +}o(jw{{|?`jJ_*fD`F2yc5ToaioY$L1QJhw3wZo7fXv6gw%$J~RhA+pUefgSv(J@g-j(CHIB|@N#6p1VMvTReuE;#mcHY +HT$fD1hcQY3d1Ww0Kooj+J{Ul3mS{ynlgf_=8#~;_s&zN!Y$$!0ve8uF|kdMpaI3y-v(lHB=K$xOYB% +%gIZ^kg)uXcoNQP-u{rxhqR>2ogEe<=5!OAOYJsd`!#spQDp?v{@&8qyq(>!bh?9 +wdEZQH2Nn~nnd?W8f@IQiF@g9@35bpxS$BaK$_c#?t9A4G?NF0$_2#Fjev!?53m)TLSobDiUZMdOQ^V|EM}J%gLp0Pr&~7-&|>`y=6O +=rbKo^c)GD`q&Lu>_e19M7T1tDf=iLUXS;w@R(&7A=r+7=AxVrBik&tl)Ea!K%H(Nr)~>2UK(@F?orq +5!tp?Fop9{eYR_eTQR#0dMGm=Nh=8g+4sZ}#I@TSG2aN%Cyq3s<8=xtoOs$lGVy6nHz-8U$(>^zjdbI +2@CbQmD7O}o;wme{^vZ2fy@=_0C=lwGCYs~$hIj%4-AhXr*X_TQGaR&g1QpBChpGOLuB+OEX;;>IpPI{k{0c~@DY@fIzxpz6w98i1m*kH3+QXNl`?i1%RVMdSUw4F>UZ^mNhX +ke|bT3%QYqbGZv@G!%E-X^9=9AUunc&`u7g&jwGnO;2XvLE3Ig)x}4L!2i3m*I%3rR<*zhZPlGD6!m3 +Q)_H-sh8Z4N#;nRnTSLsZg0~JgQ +-21jg?++`v=<3bw+#)N*ImVuFJeZ6^;$igrx&Q&fdG{;CQXIr)#JF!8ZP!Vq^@9Sri1c{@|5tO%jgA% +)uFx1Wdy9Rg~!@c|9r?L%9f&Gy4z(3ywcPsuLI{&KSx!m^RoM;nD1rEQ>wdKytL@Ko-PU>uF}msAJ%u +-lHgtl{k}KGkK0*OP7WP&xw-Sl!6BrB0;-I{Qm0^Lmz96x}A!!y#z}7vwlbQ-k_cvq~27`&tPx7j7y= +hc4lncbRi7VGY*1)xWduClGt!H^hTSF^U6Js^36cXk?Jdv}2kNG6$}An~i{DSFq)q!_&eGFOP#*B9L(wZFc} +^yNmHGNvRqyUb;&XfH(D>kh|yzk2J3cf5=)(}*B`+_vtG3*hov+N`7nMXJRmT?>h#hS*+6c--(p#UZs +mXkmf#qOIrx^g==&1X#-*T`jd#9dFr=7jl_n)-veok6!X>x98L@ZV?iz^G>4zuo4Sxrh;5WOJHYl!tMLdD^!!LsQ5sqC8O(0}(+kT{D9PPg_# +OqcL!$-R;cHY*j|CAp68WkMSI+U;g@ZS3>SFsr@_x9`qUEi!R*}m%hpUs&Lc8Q8+P|A3aV +yvd(^qq|g))fcA{yZ_uK8y+$&eB;7r6oe+1^FNkh8c28R+JAN}|3ZwP7%cNE{r|@c`w5NPX*gzZvhChlI-pONVfsx(|N8K4cu(J4^l#7Kjv6uOf +%(J5{vWL&)zHe`WA~E6qg*2{x0^!{(%b3$e0}xqWKYK@VICmrRUo58MCp&Uf^AZtNE|AXoi@oNUYEOh +;^XP$aBd~X3Q$=vpQ3Y{a1Oe+KW$FsD}J7&Y^3;ieUNR)wzu-CNjTQYR}#y~K)8b=tq +|-k)7+)7?AE$kH`@pVeE&MDrvQKQ=vnl?A6*OxAkfdAp4@&QoauiIu9LuW3H^VJp|qJXT1iJU<^MIb$)pVWT +Rgnqd7Wz|ZLK%E;75JNSnaq>zkTx>-<=kaH=LY|wrckPPB&l#v*r^&G8Fge^BGU@{`&~ +PcGsr-(d*+c``tpmh2F$Kag^G40(43u{49f|&7k_S?wUIXD*(d`DpxAFRu*$(@?hF`sWZAkkxEqmPd{SQz}0 +|XQR000O8ldVxvBIxV)hYwE&u=kaA|NaUukZ1WpZv|Y%g+Ub8l>QbZKvHFLGsbZ)|pDY-wUI +W?^G=Z*qAqaCyaBZFAc;68`RAfm5bus#Tclee{g3*SblQX)npNX>%RN!_X9Dp{7WM0PUzg|M%Nnypy2 +pcG^46G>yo`VzDpJE*6N`?%GbVy1l#<&E?V2x@)&=Cw6&p&6`!*<-4-FD)C$1D^W`(^nj{t+D24mEq> +)iQ*L=UR5XfrO$=1*PrI(|^y?oR+3%16U% +lR|P22p$I|(GCuWvV;*NdZhN}6rE;G`P0*Hi|>DY`SQifZ>C3Hi%#`r&6{gGy6c+;m=)j>yes^7<6!wkDY>OR1;JE +T3TuTN+;SyWrQ!pJ`?BtMx!S+5Ydf`cdfiV~LX{UaAHMzw%;n(accQr(yfWS(wQB|+jmq*hI(RV_jvU +|78{4AWS?3xoDyWQh%{g}~=o*Z#_zAGqPKW4a1{y# +OntMh9<{4QQ=N8H{*EKvCBI%?}_fZz>+X2?o6BcOm~b`yKzOH0)t%ZVhQPlU5~8#ZE~u%YCD-HT>A2# +aG~z29hR*UR@SopSJHRZ~hPl)5CB`ea&leVaI%rZ)n5|cp;?#B@Y+tVyr5wjSm+5@w8FhexYHHUQ7)Y +5Pl!cig~fdpPl9OTEBfpFQ*t7w5=gr>^KaaDe`uQ?tw^??>fFKJMLHPeD<~eGC61GloP?k7_?t^?X^J +RJ*OC0TnvZP2gKu8Mi+3yG~ZLUv~HQrPG@udl5Dc1csWCjEZFHeeK8K?@xW4r?zQl;ogWTUi`u;z;%iob3WX{PAK;SLYad(M{0qh&AtLaTga_bb3> +Okk84sUrdBttIf#CQM3_D;kJDSpXK^`6qv?y}sJ^b7afn-Msj}l@q=%Q_Fzt$E)6vQ!tO_7PqrtP@Tm +iN#ZOqa!u5PFJww=WE|0OxhPeAzb1)e-icf!{A!p6BO&iFNtwz97{spOv*tuF@DDANwr>E_3$y9}Fjq +oFKQczcgMDf3+ru&%2?0_3*$>KotBM&}qf^BniY5c{LkoX+GdI^s53xwm`rKp2LrWv5|`adGvdznAlT +LL-CsdecBaZSo%Xe8U^vj#ejD|jt27}Cf$@(?EZtZGRpRWGNj`b;mvPrufgZ%Nt>JyWkFHlk7Np!&~n(uEl?A6fxF-lKF3%PFPTR0p`FyF%&D +Q8qppC#lR5vAni5$CxgxNzQ+V2_LaHufBc-__5*D6)UwRnTs4&`3emFhB(ZGLW?PYASx>1b->NS6zLUWeU~@QIPjgw2 +D5bvBIaTIZA_=u2uam5Qdcm!fr=i&EA9QESse{tr+EN|3G?_7bKb1p@v6JyC7i7Muj3X)QW<5wviS8C1r=IfUOw3@gT#;B1=*ub)GGud)9U$OU(A5(4i*wtq57q|;*(0OjkM$cvYNmwX^F+pOi_(u{3GGvg_T#Xs-n4;~Q36 +u0@1(PbdfWzuR)jB};=%a(f!I(4TcpeX2djscH3(*E+vUptX6bxa~@tOnd$>p1_=ksy0NH09t`5mlv! +w0`CV@bxjz@!EyO-Tc{~a#0M~@uf1{fem%$k6&D;Lq?%5k +;r2H{lUUs>VqcHyeW5C&|NNHK+`>K;s4orUc*gU6)jh%TEGY^P`JSaU_tmOPPOkTX6p~DG`NZLlz{2Y5-<3#cu-1#(=W$sD{No;hbv*C4nc{rR7vILt5>wK*QMq3G +mTpS~<4%6Mpdm`^b1G{fRtbh9f)vL>{wM+Z>zfobB7bW4yT*UE82ovvC9nyT4gj8Hv}SqQ#gzRb>+k% +>T*IPaVJ;{0jIu9_SF%+K-vp)<2zXWuAI1YCd*VBNz?J-EEUBstr}yA=2vu2LgS(rjn)VqpiGzsb{x$ +7NJY#m>S92MsG{8dcg?FT_7b(6)l++{=PO0X_L@nc-s>E#LVDOyWn`i#wbO1r1gp9SS$MOM|AKKtHfW}@ +fw-UX5T?E&ib7{2rE?yD52iQm7sNAvb-S)r@K_wP|@*k@UorE5 +(kw&7*~EHn1o@bZK4PjcGu>cqe(5BA^D3}(~jy)dq-uuCyca`uMTL|egSS}F{d(Z$tlp4`GC4P7r)ZP +7R3x%O|$A}$QV6X^3`ls-TFvLlb}&^R6XrsPsrAr0p%sk`r_FZA;-+!5Rtz8QC*p@}N>i7AhZEU>b^O +<;frg?dS+U#@S^w9Kg>I%ZhqlV%Q<_?91ct`SWaF&jLZsN0LOW_Tkdr^Ah^?={Jaq{GV>RXu +C_2kD==0p31*P!X*!2FMp1XR}#&k;mpuY}j3HcbekA9*wA)x4$71Ol_Q9YUwlXW}=sL#}yfW}L9$H(H +L!I3V0iZc2dK8JIk0Ux9e~Hwu44@PE^GVG9JLG54>-t(3IQSdKe)*7hn=>D2x0Y)(Qa@1!Ty{@_l*TL +EfmeBj|yWBXe#7O+GlPIL%r5QWLT%&Aoncrh@;Jx>FF9^TH3t|2Y-D@=*%0q4x463(Lmo&G|)0N5SXV +m#K$WS?|=DRW%;`20M+OA_A!I8^3N{bLO`0`jJ$Tg9YJz}{G)GjlS)ZjFEZrMvUTvt>|KX!a)qd(Ljn +Zt2cmM!0nq9kBAm^Pxm|KQNLlX>cQz>(l4sv}w0%>GCn%mk-WYRF?&o^PRr=fvw+^)-$uBL52>o!T69 +)(aF@Dx^=Ew-NX3w5LrryKgD=Xu?MIz3yBSSXs5>dOhDK{QX=BnpsO1+bs@Dkm(sLs0kY_RJVNK}hEv +KnPQm`2{~R=Z9uaOL-3|Vqj*@U@4_&&+ODNGep+{F-ge1iQFl0oLM-es|Sc!g0RK-0kw!>#U`vEenGg +A~%_xu%>Q8z;BhB(#lB_2$m=Cw9JccR)D#Us!{QQ`WQ0Vhy!3mVFYmoOwMlCHs7s+hO;swS#?ZLm6I^FpLaMa*t^kVa2$^LQ+TX +-~z(vzSLmUF(jFcHb1v_^J9xUfqeP6!)F?$RVNhomJT-2vEk=C+*(~$n{s$u!ak9ShN+eI0UgrRKkyr +icl@%|?OLor!YjCp&PQ~U|1MOFx8Xvp9N^(W4Tbzn`X?C)*wC<^DBXO;p+W}l@Zn)W@`hW8=H*!5N!4=rhM=yLGBKx&F}ae)e;T +wR;^o@#)F0>^D`u_+v-6xi`>+{wWX;H3Mg}KbE;20?G_1KGuYb0pLP@K?%mATySS<*RIS=(U5kp4Z^d +z?ut|ap;*Wabe~~jxQPEM25$#<=O$@^s?N5TO*v0;2_S-#8bHzVDL*68N+7+h`xy)D!U$aVyhg*mDe_ +?zdBDfyxhV1hYr;Ox#WB0h;{JIkDyX|N8jq*M#gX%*iV#S{f#ytY#KwLf +!V)Stsqv6K)zfem91QY-O00;n+tx-|WXL1_J1ONc-4FCW)0001RX>c!JX>N37a&BR4FLGsbZ)|mRX>V +>Xa%FRGY<6XAX<{#CZ*^{DUt?izWNBn!bY*icaCzld!EWO=5WV{=i1e^BpcT*_1GwmJux*2)>7v=TSp +bM)!g?)4WpqOgx{Y^T*0=xolt}gn0^apFxcy^k$F8IM@vC^C&&oIz$!AHNjQ^`Jx7F@*_a+(}@| +AP8lm)E|xYH8!PdL*$r(g+*1sFg|ex5kz$A0D6P?^NUscc6JC*jfb@g)4;`84V>Q^JnMIOfJ;8nAuTo +(7Kh=()}Wr}`;{VG~~MXl9aun16GjIFwu#ExBDebNJj)#b!f{J~SF!uf0j#VTeKQp~Q2>K6VT03|h!D +OUN82>OEk9UnNFdaa%~JCNPj&NxYF?tH7!p0RC%!Etd~#@I1U>*mt8Y~5nR>W*5xX^az~IRuPck5i0k +?6exTJ0FyC>jq(YFYqbvz?5WzUH9swP2+l)gyG?OmyaJd4V^;FaimR{oW>5=sy&ean0_^yNau>jP|&T +LV?5P(Fppyf?gcYtW;%sg!>BUG&Euh#yoI89a$DC~LEc0M`r9R6{5 +j;hLlJdu+L=?Up_ZF=@8$FE{S`rtHjhyd1`XYgB60p2?Jpoj{g!xW;sBXgs!X*@T#F5ejxTA^`s +ICdjL~aO44UX%w%4R@0THlSble|A@t|sOq>-jm{G7ddy_8yC$gG#M_lpB}oN1%T +uM;2;?Ujz7K|J!;Su!{c$A?Z&HE;&~_-$qee;$4Gxc~AZIc*DGH{a?CAMddLg;;+||A7=8eK!0BR^Kl +td^s2T7GcS$M%}*VExzn?dLDb~ZrypGsoaMoLfUmLm3#rM>e@+ZOw%QHcXxLg-!y)x7GD8SO9KQH000 +080F$jzQ39)pQHlis0M-ux051Rl0B~t=FJEbHbY*gGVQepQWpi(Ab#!TOZZC3Wb8l>RWo&6;FK}{ic4 +=f~axQRrg;!l~+cp$^*RLSlhuVN6?0G;o1lhV3!?K`DABrH5Y3a)5DvKIP+w;HQxzqI9y~|J*lhKk!fX!7gf6O^$`xrZA0P +Yug)nApTo)D^zV_{lH!vH;_2AM`kz~<_n)gQ_?86q35d$jfm*i~_p+^2B^^b=H4>`LWt9KWe`eV`@t_ +@9p@&*8zVp|4BlOWo0YQ+I$sf<@Tb~Y}`?E5prlgv +4}!g_?Q+`hzpKaqktWpkv6tgX|ikXRk6nf3mE{9IS5g5Tfr4n(495MQjtV-PeTw0KPss=KUG!e?LQom +kcJR_ty-#t>dVAE!Or#O)?#~fg77B{$_C*bWQXD@gFpMc;}7JJRoUE0Hf(Mz5ReY!_PXM{x1y8Asq)x +JbioE@tKuMCi6A!K!Hu$oMfGg0s4BLX4Lb;kxEBVvzHv4?az#ZQC;`);7{_-+Xr*2}bk5Yp*1PQ40B6 +K8Am{I`7zqNZC5o)v>m2KVe +mz*O^?ep{%#ffR1Am=WyzdWNw%+xwxQljS>oJ=V7Uf^vz;N7hs-L^vdouXJgRP_(B+&{S3Sw0dqe?JR +jw!kyIE@LKtI#0i+9Y2^y5SxqeM9|s*R+W7N2pxju`i4(owrs8%nAl>29@dCedTJGqR$BF&yn;PjD2( +khp?-jVvk}34vSLkKXnWIRD1`WuE6Naq|V^8+ +*5!r*;_-*M3@-A^6oQWIAT)q0kW>+iU($@kf#OB_5wPS5sO0NMi7S9Xb9SRJbRQj#%aShnJ{T#vlr8) +*Vx8frN}Bv1GYbYGaB4&FDQ&c!Yn8#o`WIbHK1%3w_3zaPr+Ag+5Vg*YEOKH9F|}E#WU!OKuOHO +=RFOt3mS36S@PS85;Xrp@h})oVevdsyfVifj@QV6;TkOVH6LojEbpH>C8jpP8f~88%w8X{u}0sN-&Ka +*^9F0_3?Xbb%e^j7QZ-!3JPmWnZ^7O@;8nVP@1P0K!s1~EH#awfk&UPuxkCq1DG^Kph8Na6O}sxBPT% +yegv*U?o67>58m-)0jgZqQWj`oWuCV52Wlg>j`&;~ZD;6YoWEN@bL@oMcj%g%lzi;Ak7&ofE;Z#xeHn +4A5F6cF;UR|4(53;e*Fbt>3YRdhHhv{F=aKdn{lbf)sZeOjk90cv1jdyoWht6G=t5u5A^SH$$0`IG)q +3U+YmHNiaMgS30%^r`h$!Z<={Tgju=jqohFyt@-&gZ6sopfczdwTHin=YkZT;QbZKvHFLGsbZ)|pDY-wUIa%FLKX>w(4Wo~qHE^v9}S8Z?GHW2>qUvX +8xSePQTUjw*k7xX3A76fgFqR0Y)mQFTjid0BCi5ujB|Aa0IiF@AF+=j6d*R)4mr|<=YF?+=HO +fNiv}XB=Ex25yYs-ZJUe!ul$eC1<=S=V)m`PUQWKw!jE-h-wL@ScoO-=G!$v?iIf6q=ny+8Ra`~2tG+ +3DHGPBfh}gWFr5@oLRARw!)(rP39%of=;5fjFK3eaeT8H#O$GSvEns)WeO>} +Z8;@b?wZ(As2F{d3f5%CuUKnOQ&?Hc$vDTfcefSNmvD%+#v}-LPx@){@9_xO3=b>Nd`#4J5mz;Vb_v! +D?8q2b*-N|U>cC#!Q-rqvbhK}^N;?|G1wN^E1yYXH*xS#jvC4~(nVgXhK2~UrE1a^tNAwXZW!_7DtLj +%(`fw#tVSxsLVYOVB>Lp?&@!Hauc3$&TPnTaL=AJ;d|)<<DXZm7J9Y`%GVzRr~rW0gV1& +PMuuE%~B;axu|`t9^Fumilf%k!DJ>1|k()uE_u9LITlO$_n=<19y;sRF>ABjiO;uW)6Z1(tV9i@YZT( +=!`h#2TFr>+URTdb+Pj9OoKRyk +yrHK+O?}9+sG|u;{}~{#jQr7bc}h@S1``fdl8IPxhDw1HtVyN}~AEOVWrTP)-|w*s;y4<59x3x!s2a# +g5GDy)w=D#jDH7PN5K4q<<^kL0lXky}pd$7l@h{h-lUB)AlpcddpgU_C6P-cZ@k~jh@%r8u)7vzv#4^ +$;cA3CU}qT=+)7xdtBFqLq4FujbPyJ9XJi;Wu)MPp-IM?DG%wcvTuy!(w>i=s()D7l~jP`wVzD3J4x7?;5gbWKr)LSY +*qyro*T?x0Hh?m~MogArl*s@~}mbdcssT1F#r5ISNO!<9_JXw1IqH3f0oo4Xcj&NoB_^6>^8MbW##JG +%CRhE|R;wn#@U6w!tyqOmO9%0ATOy;}(}n9Y~_vNrs`AQ;*o7^8doo560-+Ng%3cBA(2ebuWzTvzpwe +NXjUhwrK3SeZTB#2j@ARWo&6;FLGsbZ)|pDaxQRrrCM!|+cpyZ?q9)ffLr+>3qd~yrvmL>UxM~>L9#_r>@5_oMca +gB(xIsJxOrSbETDB^G5z9D#Z_CN@+x^n@7>ehd}fLZ^b)-UxmrpJ6s2*TD^wlwv`XfS +8;jgo*2ek_U^avE54RgaDd`XA)eOah$r-NzgDf~O~diwkH%;-M`pxF{09$cbARWZSnuKCBiy>K*1**o +4n&nbAH{QgT44v_KX%fHgHZOpu=7MgEyV-qE7hI9>+@uT%8H}WkFplMiQmfOTmNW|37NP!$aWnFYT4R +Kww0)*<*9*2RG{pM$HpyX0Fy$=22hJ(+Vb6Ee${ah^MW`^Ud1%n +R}ricGqu5HeK1JQH#U$Q@Mat8X&*==`(OALhbt`@$UHgdYIv0tQv+jMK&Q~hlCaW_7#*V~$dM}@6_?1 +X4;@X4j^Qq|(g$D^n=_;awUd-@YSyu?5sg(1gp!7s#-8!_XRZ{5m8CKqDE$5q7WGJ{$Fo-*hib+JI`g +3Fcx!-}o2ztOX-BJ`=MC2U(ayls1Y$l{P$I%lci2z?TDg>GlXR*Dw5e!3E%Jad(^E3KOIN^Vw4h+5S6 +#OhTGT5C7w6)s+VcJ{2rhE;GYX{#!uC-`Yav&s8kUdw=W>;<~0cy&?Jq%5*tw0UY({G8BJDsrA^Z}9W +G!IAEJk^|q1V6h6U7tuYV_dwmXqJn>>YNd^je1PoIZ<1T3ji_pIgrE>=4VwMJRxgjJzp&3Z(c0>GwmY +pZ?cQj!#?7AXrET4DYj`b!1DvCM@MtjIxx(-Vm4cibUB1z3R@;Opci`MPD~jTNP@+aQ3vw +HJRNsiM&aAv_o~fDL8QpDn +bM&hfxZ}#xlpEgK6`bBOu4*PNGEv%sjJ!UhTRd%#GR$I)9(!a3O<;X@f?MY1W0=`xM*RO~dY%5j(_o5zt|PC|Wd`zXN63vr*SY!s +iP-|6Nk7Kg9HmSt+k86*Rn&OA-YCZ1DHoGB%M3t~+H`w(1au*KCJ_d~w%g+@kMh8e9bDhY7bRi=O;R9 +n~Xf^7sZfp>;Q(cKjD?{h+>C0l(rE>U|PL%~Zq^Yg$J>#aLj%cFvBKtggX4;T>FCEVU-%YhmWLE?eH3 +Gpu4z_P0+lP@Ch+ls{is?5o0DLe(HUQ3m%ym3k8e4l1RMcqI)F^iwgMSQu$&Ns +WS)L165X0hsD>u}N#==W89JEzSOC_pch!NLJ;Xq^oIe1hv{H3qvWNu~-f7&@;XMlcGJiHwfgvJ=T|75 +zxI?0Q_Ky;!o@@q}6<^Duj9jh2DzgHQ`8d`5JWuZ>4)P#s8VQbx*(2O|UX0X}3trdRGfJCk&5-jCsiG +htkKDa-HyMz9n#73@R&c!>m3RU@v}Lx;C%b1YXF`TV+_~V4Q3w|Nh?tj|C|mY@Wf`}WqlD)!S;jX`C5 ++5kM&DoW)|^wjz=O)_i +a%ge<)zL@!Z70M7?+5Aw;%3wDEdL2|njuFmF-E0DQjv2s~Qa|PJOT10q+vV6o0krEZj*{0 +!J(gP3!6|mU~Y6?2l4+x+&!gN6mbur@fPj>6&QP;3R(M9V-EUhhL~%B~CP4GxEU=L!J{0*aaCtw +%#_}eMkJmmhCxqjJ@AO_h)x>Hyl$vNDJ(EV>P(m4o$9s>m!s!+U!&EUWy7y=fac5gn$qIjkDgfrw*KQ +yXea3=taBJT~iPJ26b1E(?>}j*d{WKx|FYHerviJ-l@n1^k^-74<`90j${Au@18iGyJo2f%k3)7dy%fEsJ{{rj8Ouc7ef25byU&e` +u!c>aJ0o0pY>J#M*k6VQzw;&__9->dd^t@p6|Aar}yXLS ++5Me2xytf=7MwUp`;t#x47V>ioR?pL*vMhEhEU1Ol&L_Q|R8^OVW5a1)yOi=$-aVA^R42p=zIIdT8_? +I>`G|CwKQ($a>)U7_;605|Kd|D~`^-pWUzzPtXKQg<{D15+xDxy9EtIXmqn6sHfsWsm#0IFU|KkD~#c6I2`+z42q4_LB|G_AcF)a$NTrX?*s?6;hR-0o;XgCP*9y7DU-?TNdrm*3*? +T1Vp&34hIE24A3h=ihi1+^}|1$h`})-`oY5AL)Wxbz1pE%6MVe`!`9#s(0XE^u$?}!D{RQFoXc<%f`+ +1V6e$OO#*B&+ee`BG8gd?(QeM{G}UILl-q3LltD4?bAjVv_Lh4u~Dc2)DZxc{unpH=wlea +-omr5cPXd9SQ?c4gHdXiXc9*quL#$@Rz@t0R|s*E?PqbDsL!C(BN?rNA0yg6)IZC-7QOd4d8lGba265 +D_6I#Ile}+9#*(}p)rHHCkJkziEB$x+S(4AKhz`XD;RDk6v72q08e#}l@Eq9?&40-4LA728F-1BJ{kc +nk_l~Dz#yWT9r7l=?c936kjXrGE)x2rOX|x|qjRY>A*I+t +aIu$4pnE=CZ75V43vxs}kMfyufWMFeB-2Swbq@&-p-o@+d3l3*~@{WU%bNw9Ks&>Q+9z>j=qwi2upwN3-$r+@By8tP +m0tiKREP2K=5I5X3<|&EQT8*gPz@cuB1J?VZ58x`{WnI#N8lf$zH~*C|Ae?xQM^wRORvBZ}Ff$msnit +!UuWcfbOL*y%4!n&3WeeS2+DRV-!U}J{`S!?q8ok5dI3NPkE7sIjvJL%GA#$Q!{2x$D0|XQR000O8ldVxv00 +0000ssI2000009{>OVaA|NaUukZ1WpZv|Y%g_mX>4;ZUtei%X>?y-E^v7R08mQ<1QY-O00;n+tx-|AV +uY`80ssI-1pojZ0001RX>c!JX>N37a&BR4FLiWjY;!MRaByU4a&sZ`&{oz57=X?jZ@5+1Pp* +P%OO^`@*(j7`j6d1cqYMwpLjZM5$RW`|YD_=M&lHi$C=E_{c{(P1EF|l?0`!5H?O&0^cG$qppm@3WT+ +lbOfELfan3~ND{C7cpLYR^Z~XyEkB>u}?wKg0 +wQ4Kp`RR6!`Uox>BNmAdJfJ(4G|f@q!yT>-LU-{YWi#xjOkMeWf6f83F=OekBS8?3S<<=T_lnGTAg4q +Ocu1<1}C=RvH=sNk^}-jihfZfFeQin3zp(mrNvl^`g_=VNfJ*J+`$;H9F>Z~I!t*sqV@9*et=@9sVq- ++$cSf4cv`DeDWLZxZ0EXFX;3B8g=t71mrVx}p?iiv^3AvKB2moDHE@F%EBFO5V-j+Ov)kGc%Suj+{Zl?ZOLN?iv^^ +Wa2u&ph|{A@v^I;0Gf6Q=d>qvtN!nrXm*udiYdZOzXM?tUGTY-h=cw|)ae?Qjk-ASc-@#|cUc?h_@6~ +>vDoJG^ic90L5w3~@K)f|a?Ez&<5%-EXkPzW*>%FC$Ja43L!T7Sq}JB@&`~$0|XQR000O8ldVxvx5Frm6b=9Y5hVZs +9RL6TaA|NaUukZ1WpZv|Y%g_mX>4;ZV{dJ6VRSBVdEHuVbKAHP{;pqvDsv-phNfR~xuov6(_9i?)%q+ +??9@$t9tI*oiD!yn0noB~z5DImT>yNM?Bw#boJ=g?WwE>1ef9yU@pyb`nmlJ_$qmbjJQqr{qH-TaW!S +~WEM>*+p`(zMX1vN+U2>C4wHjrGHmaC62D{?%csv?CV^>STa#@ygT~rH}%GCO2i;$wW&A9por!uYOkrxrWV;=CUSjp%1bRqqg=@qOADpKN`6asmw&G{kOcSQX^&AHk2~urRcsb7GR10D%)Xt35J*Lw~clh)kPgA_oB+Aigoee)w=k2 +6fq+nOoEp5$AbMrRlJN*o{pg#J?EzV`0?Un^5(Da-uyjz|Ka?6dj12Lkw4OWJYw*W)S-ko;6XkwMZ{( +`?i4R0cA=z^sf15gpb`Av)HvV@H2Viv5&KY)zfj^c_CdpTxefYDshT9^=@K`t+~h@B#x(4do%rd&8W@oB-gHr;(Y-p9m2R0P;5FB16NuWiUM{LC(bnzc?axN>;8)=n6=N+@an{orryA9dipIb9;Zc +c9_c6vLQr+A?SJC|m<0z)w(MfOf9sYWBCHg*l?uA=5yri9ib@sNtzuqn0EXgjc-(K@`hfa=87gdbGRCq3<21A{MfWB)rby5tUF)_2$j5dc0`YcPJG6um9H5`@ym$Kd3vV-1e +Qub*#K3<0~8JI27@y?+jUdZ8t4NkFMtey)3|kR@U=iKZ1yr(oXK^?yx1iarV=(BCz@s97tn=iI3h&^# +m1JowE!zBhCv9LfUI(ZOL~pGzFsn|hEgHI+cIcXLg?DIFCneLMO7e_>Ytwz$0`n5PVmbd=q~@l$ +CFunMtm4%|P^UH=D;ItQR0+dgta$IT1-}=dIZKyZ@zh}H-b1rMNyCg}RkISRNExmAxE@kv!8{}d=2ij +M*)6C9RM(0%<8k~mRO(>G>!2C`^wYyH#}B`bW8?uGH0@@Ft=hH%P_2!XSfIC6A~5!YR{Z!02Rc;1=V= +$)F;>?nMuC-2F40Scub2%aXM{Vy4niOKt};<=LpW)}YyB9bFEMP0 +BfqVg7IjFtnsv=^h$vTn6?5)UoQyPs4JN~|B*4U|a1z=_=DrnZJ5 +YGGwWnt*Gd9-$82hFeR&67hBfD?rq&x&uo5Bzrl*Sv02K{z0dddE25Sfj`nk~-58YNdH36I<`T%igBD +w`vaiq}_YE~-&rwRp2h{{1bo93(lOqSKeI83Ge0%dEV%1wlDjcy}3;A3TLh8+dmi0rhG-qWN6XNXF}v +A|+JPPUs(J_4gL1_1cisxVLk&=UZ;RmN5329m6G0WkxUyuQ}u4*q@Ig6H6PQQ`blxZG%Ye!l`(Z{h&Y +tY@H@S_3tWT9<7HH{{D8dVMuKEtCe_1zJPawHmJdM#MIB;2-w4zIW5x@wQ<4J&GV>N~DS8Hb)zB*;H8 +sIqBvW)bslC&2$=}ZtG={F2S+7je!qWr+cp~Uio!S+zLpY(k4k;J +hR0BEk$q8N96?kzcPOuqMO?A?7X*9geC+b)9IVBN#T!FM??;7~M-I9_?Lxmg$%eSQ${LcJZCB_#ZW)` +)FeXF?y)KUko8OGCDB-E!I3p+{Fc@tJ(1I|c@EJNQ;`iQeN#;e)2hF@b{< +Z|WYiP9SSP5BW4i&E7wvs&SWK$o&WA~)Tp7Q}73-tBna-Ww)!h-vD^(_xP-MFg85sp{`8%HRuLR6W{> +*bc`LFleH?mF6Plg!%?rDQU{$4nc+d?`A`g7Ydw<8v(1?Aj=T$SYA}vI7nT6SJVUkYD5hM&IThT7gZ& +jo(|C<7uO26K0`<0oeBu37QQAE=d}w$Y`6G<*EE@I&?S(O+#t+on;B5^$cuym4(@O`aDrBSr& +A~1I*Z75b%y~11JdCQoYe}l33rt`4A%&HK9X5^AYV2as)Y`QD1;$YKeYw)kI!A*Gu+aE=tS*t0@6y|32OJa}@sEdZ~;Nb&x~Mt~o +-)ds1gG{D|qQKvXgfv|rKt~A)5E=rY!gW`25 +8)up(_Vo@W#F;`zbLgM;T*{sr!9MljSdPs|Ous_~u}$ROf`yCY7qfK=@D^q*~^{2P&#$O48-O<=4QWJ +?M7xR8vmTjqF7cXOJ}E^XOk*MP`mw53DNI-&v`L4xj(dA38s;6O$>CLzTpv*dhsIy*a?T~B%xEXO>MI +tFrC(N;wGZI--$J3Bx7$o^};`I%in<82depPiip)iXh!g>X#A)-L6AoC2E`*k_A79x!pIop+pPdZ+p8 +*YD}_mYD+R3lG|^}b|Y(e8kmQ(S-^Xk1)q^jtsYx`ky42-Mx{!^&1SSDXl +mKY3$64JHr0LC&Bhw%ySkue)XKMXcLvNxo8|C#5V`MY8vBjn<2NFl2z5p^sVglsY+9vd15ksvMF=02mSldhsPZci}zZGRGyo?ghHcYnX1Y +rS>+$D70B+r9&R`v~6~)lgXAq}(1F?ftLCkQE$ODI)2ZRhE`w0MX$Vf-yh*(O6=tfIPb3gBS-5CT^O@ +CNZSrV%479eu~h +h&Cz$q!-4i=a?h0xCTG*{-@d!Nn&71w+K?lC_pjIB+^q^{Dc|5LF=Wc5Jtzp^3-NI;=wcK2Otxq1=%{ +yZ4zB-YY$F2i%GY`UTr|gzTrD8)v>5+NzFz|sm1|Arr}nxum52>2wbLzmRkE^QNA5Nr?+}sVd6oO&Fb +1LH(4QLJGZ>Ahw@F$S6OsN#!2b>-%DSURk}G09!`jO?2>A;o?~9B`B`@hU8#>Kae +;56J0jy%z))D*mxPA0!b%|}^nD}{<-825S=%MaiY3NS)HJMk#o +xz}|IpIAZmHs70SUvPq@J1<$h$)4T}I)kwPYNLNEN^cqQjU8SanC=aocQZbg^dQU`9L<7mmcI9zuVJV@pvimL}MACKADK@5b%9fq7M3%*T%^;haMnI5)(P*ctA;?df*)|J5~US0PhVCO- +fOT>cBW&alW2?m^lG-MjX*GUZd9w7%3&b=#7-)0^U3KHC>J6;=^?KlOM;pDdS?$In`%SxlCJNs(73zM +9V7SW6)h4v(IH`{KKouO{J+jA4tr)pmuP4oLZ~ryn=XQ||3&hm-f8FK-h*^j_r) +9wCL$3Q^r-okY06`hNcIauTtl7uKjj=bPEthabv<0KZb^Z=1QY-O00;n+tx-`YO7O;P1^@s*6#xJ!00 +01RX>c!JX>N37a&BR4FLiWjY;!MTZ*6d4bZKH~Y-x0PUvyz-b1raswODO$+cpsX?q6|JK1fC##ZKF_H +Q)|gF?7MUH0Zhkg=eU=MB8j6Q4py(Mv(u$BPr_5a$efaA8eUA9-n*e;qfHLao*FE=0s8;X#`uIU%{5i +4P5?m2`^4x!aJU1M6xA|ncTrAvKIcpah$r$GQL$#^b-ECr7XNdxnLFet}!T29GW<_Fg +_jd<>7B)lSPmact?j;#xC0QkYBM*1Qw5yUi5R^?!}lN+8kM%F407B)s$DruhO6u*O%By@lDn&yJ>)Z9 +o&7-TV#E1oClVc5j0C#59z3&~>P%Uy<`E#5yqUw#hW{rbzh--3^SU0j@ByvL|lJ;PJIj`rI2@H-Q71R +pYqU`RZIPem3ZUzPR4oLy=<{xnuwuE8Ah#USB3YtmU)y3% +iaZ6^^}lkKdI`xqbTeupnomy`Lkl%%rOZ?DcCn!YjYly&$3KfQ)iT^5EiIaSJ!-rdrL2shaj8C9ML77 +CBdmm_>W74~AhGs>9`yu&o%13S-msdefRJ>Y&?u^ +as1*DOL5%bmu6Y0oi02npsN2X>W3$Bp0#l^eAqVs=F>u&@x4CxPR`xkL(gu%xi&JW@K!X~M6&XwZcKB +A~#X5*7)?T^j+07EuHksv^gv!lOl~3zy&W;NIQ^w|B0ucq7s?=~l^@$29d^gDP-`)5WkgPtm6ZfWF(B +Y$U!Vm3qEWB#i~Fb#`RDVG>l?frv$^D@)aSKmO1s6m_*|ZXE>dWBSYtlSX5dx`PsfuNZj+Mg&g7(NG=}YlB7Kk-DQ*QwxRB8D0%9j5O+> +?&mcLQ~y$Pu`~lcr|&f +Bqm)wd~;@cYtNcWTYtW_>U?j7@y#Kq!nS4H9ZvVlXkSOsFFD*J^G>lEbw#-7Tj8Nf+;bc}y2>l2%f`4 +obZp~xi0XFVSTd##J39~F!lXu0uBv*L(qKMblue8snAp>?9Yi_R>&_ka$fVJud)VN{R2}6+Wp;MKQ(C +oz`d>FR+eT{z)m^pz+v-g*(zbKJ?m>C1L3i%Y_MR!cN@ljb+w)QPeLasJUTfbtw|BR9j%`2Mi&sHg!W +3Vk$W;4JBlFDEq-9i7(xN~cTFpIdsX#nzMV3q(9kS`>2%i(`osLg>#tS}Iek^5;eIV9mEVNaGpdWWsr +$q_2L6%jK(U7ee-e*R?U&=e;i*KHwrdSq8Vkb<|H$qY+yXwnu8Ql@8ZrOSM+)*u~^Ze8qRXM}~6`l{D +(9SNsWpS)3HxUARP2H82Xn_|w{Pgp=-vnSepO%<+Wdoub>#AAb@dCCam2gdBR<{W@_EC-Gd<7;gh3Ty +!<{@_C<^Zc4wh*XX_O0Gg`FCSz=v@15fk3JBVZh=4c42hrTUF`bT1i+)7qu8`4Vtads-I|kK-aCxx#+ +0^DVLo}u;==|f<5TIt+4h7YGkuMlv`39MqeGV6>^n;Ueu+dIsRIT?1}Xh|CPl1scE?EZy4;AB}N40J0 +Sf)jRYul?3d@EY7U(+bE=YGO{`b1q~YU}u4;K&eQNVvQ~S<-QfKYIqdjxQ=1hI<->PDrHC{tC4eIu}? +|{8Oi013D{U92=%^KJLFZ{!RJFooOc%MM{qr$ouw?SHJt~{kH+=G7sP)h>@6aWAK2mq6{Sy+%` +Hu#M1?GHAHHrJxI)#boB^&Hovt)HOuBEPIS@#LIY@AOSbaw+F;BS|g0ah#R;jr4&&Y!vL+jS?0)E!wq +AI0@F;PpM~|d6YcuyuwD~U%UyDB&7$3;`=m!L*7#y!6DthCi>(sBlqW)}17sQbgu;2L@M$HE7c?RCna +OrIe^cspsIyv>nYg=Wdhdt$kE9GoPEYyW^|Ia48&FFF1QY-O00;n+tx-{lT_oo=1pol{3;+Nk0001RX +>c!JX>N37a&BR4FLiWjY;!MUWpHw3V_|e@Z*DGdd7V~WZ`(E$eb=wJP#gD@j)F%wCoRhtBLI)ka}oRlt +CQjc=^XU}kr$k5^PGC)m_QQ~6^p%ZpO3-SVZ-PA19PnjPhNJd@{)-&hZ9&gjO=JU%B$yROY<14!Ltcb +C>qt?De_%c?Xst3~ly@VnVwT8GKyi3YaWqg1YH`>k9_)osgpOd +f8Ca>`4r%}hJ#l*loJV_07%DHA0Vlo>nos79AGBmJUj5+KQ?KJ$ +Q%AnsaYtW|Y_6jT~~?1`+q~wKkVsVr3iY--NYUI#v6)PNehi3}oL$yko(QBJdOJ|8M5!5GbopRnCKry +tST3bhDPFC +e5Zlu={$uG)zM!jyTA|6)$m__y?(t)E#`NcONJg##WJ5+3rdlfRxwvF(xJz@zAPi! +K`TyJS5Wi{d?Yu)vP{OHp)5TFZcI`0=Ui|cg+srLwfh`L5Q{& +FRg3Zu7dzqkNZojL!fvZ8wwkREG(k}09V=G9jcv=E*&;xRUqC=`qXpUC;XWKMu12W@5+|ud6t@pLNy1d*dzin0-rr^u^Sc^;C?lQP?myBR&LM@i3@V}!OgBqpTKNye)TwbDuK +%-fV>})UeJTQYFi+-2q=^-|VEq2GlO)xj_WEE025S0g9qvX^FPk$fQP6c3;r{zB@{!DA`F-YzEp&)ZOv!xx0tQicO=mCAC_ugj^-bQm +YMVM3Yk?E!UFO`9@W|HhCp9FD-3#O+=@ZCIo(G7uV;fH}v-UlD<5@IXOGIIiXi4FVE-h>xnMcV#_b&Q +gsVw&djZ@C$D#`78SEX$#boh4qpe&yV7(o*mE5J$nxq°D>B{eoIgPJU{)LUf*6_U0nTfNOM~n +uKWr6whx0MvpGw|Xa^b$ZrB3mPyng$edzxsFfD;dv^*<+4&bZ|+xAbE8^a@&L%0Fjk92i#sI=Rtd)-`f|xv++M +o1lv2qyoYE{wl8P_MP%V@h+VJMtvtMbysQHp>E=!&cQged(na8igB^`=|fFBw8<#+to$;@W6Qzf??oM +b~45v$-8!Xldg)57Y8ON%<_EvPuvVb^@yRUJ<=+!gQ_(k;!2T?;_L^wt*b%BjXy3+FOn`_=f<_{MIpLMCY*BMS7R;A?VqmE`|H7eiOamJl(B?sfG+KRxRp^+~ksB5$tX1vE465uG>@+ +y3>>h-EqaR4dI1#2@bZ^Sj-oZS~V!2`lRsVpE%Tg|pw#yb1df+R+f-% +|Vw(&N|*d8W8hlFtb)Q(=G;>2A$=O-slxFJ3Sxo+;T}Iuo8%-$4%E&&fim+VM`H7#|;+&cQTv+z=tW& +;={+0WzQfcteWxD-?=}8rXlsoxgeaoK5o_83~_UA0rmrSY82zZlTnboD&NBj42^fce^7{AWs>1z*@WR +_Qutnuu%M#dgQYSA9V1%fEKtred7X#7T9s<6<%Q>F9n1N1_+oYtg1*LmOO6z!$}x7{t>xYhBk09hCRW +mhJ&e5vN9dNJN;^+?@Z5$uw=uTG!tVUFtTI7>2jhgHk-EV*DeBrG&3g(Z0MaZ9Ifs;no#(0%O?gFoXg +&=oLoScubG8+&;+e^^iUUga*Wp8Xp2)X+6@aa!-d6hL-ht>ge#)?EeOvCi$79 +mKLS@Yu(^E;x7mNj&L70aQtX`JL{4#Se~KS25$-GvXKaY_y`Sk{Ei41ViAQ=zBQSBF2LM^up*W&`+)e24}Yyxe^NPO}Uy0j!G1S=aPo;d?_*3xz1yD-^1QY-O00;n+tx-{g?D7~s0ssI;1pojg0001R +X>c!JX>N37a&BR4FLiWjY;!MUX>)XSbZKmJUtw}*b1rasg;Y^%+dvF{_pcDn!xC`4hmFAs8I-o`#v>=(4U4xXqy3@? +?*+iZnw9S@-Q!FJP`qCVbfmuA{9l2LWqBe`|jtOm@NyW6|$^27Dzr|j$Z+3e%&CW>@<#C#rstS;+ehA +W+O0-uFh6h)bQTU+B{3iA#yj&XzenIkOqW*R3jvj!80<4LmhS9Xm@9ol$Sb$zx}{&Ya0Se*>0P!&l2W +K6A>C;hHg{A^4^_*{(7NjpBy<%CLPEgy9>9_i4&kUoq;lh9XKKw;6F7Yq(*tr@;GuEx1%8ZdHP$c_lE +<;t3u19J50^_#b8lsyjJFmBWRNgEF>p8)ht8ix@I#1<1cd)JL +sPcxXh$T*H~Lo#q=?{y)yNt$MjhJ6Br+>i-#sSMcVPs|y(QVf;ya=GCYLA?SPBOVaA|NaUukZ1WpZv|Y%g_mX>4;ZWo~0{WNB_^E^v8`lwEI|FcgOG{VR^z3-FepHj%0-Qg+c +S-KM2!)Q^jbB4mhZtU5Nbjk5gv9Rs0_7Nq$GupgiEp4SJ9ZK;ieT(5aT!gHux_#a2e&H +ddYOd+nfgpKG3C)4Mr+v@=Yl`DqV0UexLzr1RJ%d1`@y_t8=FysB);u9zPxbdik#-m>1Bjb3~pAosmC +$7nu0GxZv_@uTfuAPdrz2mm=D@h2MFK74P(dG1Ej>Z`t<$7BR$-~S9m;>#OC)4EBehK5@>n=*Z(tr{| +*1P~#Ih~>kR1&V4W3)M`L(Z_yL}B=?IUK)sc6K(~@cbPZ)T>~f@h4hngHu=xIE}q#49}h1!OS>hS +{`(^nW-$BeT(;Wi=epdWxAhP%qB8jL08s);0O9XbT3tw{^+EabHrzP>^ji&f_Ha+$z%3R!R-08?xDbl8#Q%;cNUga6cFE9tNs`tT!~S{&37`w`AH9LL;}iI|I-vd4DESLeO9KQH00008 +0F$jzQT%p)Tx$XV0DuGl03rYY0B~t=FJEbHbY*gGVQepTbZKmJFJ*3Ya(QrXX>N3LE^v8mRNHFXKoEV +`R}Ah$VsPZAJS5OU8cI{zx+bKQkOs4sM%K{P?lQBItH1B;%5I$!gD=p6k*t()4CHpl+OLo6$Ib2ChuhDa`|qpOr`5-zpyrk1>jLzZQC}i_3z59SFW +?JFEQ+GW1~z*(At0X{-pSjQcQ~H_-lT54hVx_FQ|fw>$j{GnxOfN3HW$ujvs-kLjfDdiG@ij&3*Od{{ +u+bVYAK7{aHlw)snUuu35V8*zH1O1Fu|O(fN~^NDSF$Qzcn?W?T)Omr0DGYfYzgh6HOeKXMY4EY=H91}q?b)2PfucZ5hCD#!_I*kPR +Lb$(Fplk5kdJi&oXL>)o`LF1q12lfNi3IiQht#Kq>HgRv*B_7jQt;|R@F)DjK&s?KV2wm%vuAw9_2Cg{GH5}SR-?}XNq{9PjkhOoBO*aDsv +F*2I<-27VgIQ|Na$2M1<>l4Yw6XO-YMX+d4yNA+qoH@I(~en1YJE90#XESa57DyUTFqwkJya@ml6_c2 +RTo=0yU5r6EUy>p`m2-^JnmhNKDjpqZpXh9=lPRSt#J7%lCST)_ybT&0|XQR000O8ldVxvHhT4W`UwC +49~%GwApigXaA|NaUukZ1WpZv|Y%g_mX>4;ZW@&6?b9r-gWo<5Sd7W8pbKAHP{;pqvIv+&&WJY$H^EE +T-BNZ5$KEC_Rw=C09%C(n +a;EZSxeD+|?fpSD9W`Z+5YAvZ&u2clGne4sxTHEY-@1M_0%h3!lQsk}EzJ#?NwMS?013)tpPd6xp4?7 +j8Ch;mcs~j9p&coxfs6IJ1#z&ZK2ZJH{3KQ@sR}S99mWCFp@@U-LMzaa1S;;HJBOt-H?b~?ljBEz8Nfa1qZKUHfkUiV5bY+ZCj;%nyxUpnjZaeIQ{kLa}$5fP#UEQ7=qs?xK!M|^LVMT93_}J_UhU-icu&OUNECZYK6 +fsQdjq&|Ma`mp!v%k86#@Ks!%IcK_4nVhpgwQ%}TYa>82#Y%As<@yM6+&5;o0BA$k0Oh#Nym^StlJUF +V^+m;jpKuZgAaz6p{&Iu3Gg%nUoK%-pqVXgfatM0y%&xWkOj<;ga9#2WaJbqL*fwzp*+PtfNlk3iNXT +LoGb0C=g()WIh=n3m{GAd^XC%IC|;bNP9|}s)u4x(j*87O2Q6Gg0T_^mujru_Z;1RH5&yYf`=#ruofw +ri@uyCxSWlaQDDUF)TiARCrNSE&Qxq7)2%c@2PASZ@7(Q!otf}T;nE86YLlnnAg*34QE|4KOQm(49E? +qzVDDii+-HCI^E8PR{2{A4)^1Va00TAt6g1>`5{+0jd4?GkPP&$Zx<&F*y3!MT+qR}X1-Flw@^2YApR +j5K3Awi38lZ)HitFw1d65;|!yolJkWT`U&8xCG?Q8e6Q +ISIUozICi*i}a-kF{%p$=~zVbq;*+HTj)McW8x;Ui-I&Ma#neI%w%@j!0kVETPGbnevrrA}F(}pp)W7 +rH=sGxxnX2HD8Ind#dJ&<8W!+nStj#(?I^zzY0iXscLn!E-)uPC-=`Z+OqA}>~U5p{DFoH4f>l}4S3@ +JHzg18|TS0Te40iD&v#&-el2x=fb*F##j<&GdLOnLwAprSsKidh&8IA_5I`-)r=`D{0_8l(R6}t5^Mq +>eZ~Bwt*8F@2;)VfWN0wGc8=|2N8AG>=im_QfD{>n5TQnh!)ZS8WYX~E0c=aC4fH)$)q=&0F`CjVEC0 +1B8vKrw}o_L5JJeuXyGfUoMs4VbZ&%LB1OdffECv31Cy3)rI6V{BLou*35m>#nDSb0*YC@y5P&sXJ#i;qD4jT9k45gjEa0iQoeXc*VF8|u_-bb0{bK*AymB2GO<@Mk_<6&f~$gv +p69Qxk!6;}%=T=Aa?@Tj$1KSUi1#o#Btzx}WLkTo+I?INUvvZ=l2wuSz_CAAsCaNgorpk_t4JPOw7j( +vrt#JZmWus3Pt%sQMnz3bnyqhoy$zdf01f_7c=~P23H;s^cMuJT>LpEn=-j?XI;p_boTSA||+x2%fw= +`6)^g7YWe2rKNNLzLRu7HwnlN7p8Zn9+POJPwi_)IujIZMGR^M(9 ++Uo4d_|7omSJ**!$e@>21Ui|gtkEcKV&96e1nIOwF9E3*4lNP*!9<@q8u;DQN3Kc%`S4?rb&=99lwex +6O+K;1AEA0~-t&mD$yw6eg6GbG?{4%Vq5lSJHTqQTZe7Ir%_RnWG=Wp(+m-CNjzl~bC`I?N)PHN}cRY +^A?!~m(+4UGUe?^>88xI}72WAUDpOijafZ|tYQ(rwAxt+0scVh;m@9^&)!j~BOheeR0%L#mb7yU~`q- +`?o@{N{JOc<6t5b9Q!qyQ>Sh!@H1_QUg$&nMgSS8~ +1IUI(rGJJ6NmDqb5;CqYet=|p-_Nk~udDbHZXkv9w(bN6byITr2ufDKyutLcp{sCXd5o6=`Nli@&5ASNf724{}5}`S+Hks77rVaBU>~0;un%-8hS^?Ch(X7(fU$}pt+VF2%ZtJo>+7eK +SuYvsk+60$@FDLP28ww!Wej5(txd2g|M)S7{DXJcr+AjBp)!hU^di^kM`MVa=0SEn0M#t3ugGrvS_bw +@;!G8fzO9KQH000080F$jzQRkX@9RL9U06PKz03ZMW0B~t=FJEbHbY*gGVQepTbZKmJFJ@_MWpsIPWp +gfYd3}($Qq|hv!+yO_JfC@YN%+Khz;6LWKGI$S+Gt(- +4$(=;4B**k>^@<;i1AJE$ngpt`u-*zxQ-Wp?TzhUI@F|^9-4(Sw<2?BoEhT9w{5oU>|TyW&yiC43cGl +8`lIQFf3mc>CG16~m1j*`mg&^CI9UH%*9c|j2lq{QM5}NVxj17Kzc^DQtI+dc!JX>N37a&BR4FLiWjY;!MXY-wU+E^ +v9RS8Z?GHW2>qUvW?dSORSNB`eZq$bdD?x?rALByEAB7z9e9Y$BAXl2kH%*>B(RMULF4T?Z^55{WuKy +gNS6-Q@({?HQC(2>HP49ptjASZzS>Wh)BE7${cBdsYC&MOiUuB**W(24gq2rd5ngPN3?V?i{pHJU4UM +7%ponE`Fs#v&p1XvVt`A)@cg7YNRqiGc84HSnA&=ldvvz|D-z|b~n5sDW1#};*!>Ip^51l>vOREE&-%m%pbs@3-6Q?P~-qN0!egfIklP7~xHDdj{{?Mxfu5f|alnJj>I2rZj#`ZG`nMPCUqoMPTO;Cou +o{u>TVp{pr3(Hw;6rwFiL!0v==rQo&Z%4A9M58fdk3#+j1H?N@I5s0(Q>>k=RFXoMNJu+Hf?`9>g*DB +l^-Tg5A?I-4@VELEsA0XYsILXw(1cpr(|nf=U*xV0~it#x(kT +vDk65Z!`41S~Q*6%X*QAznPHPqRh)xv0R>J<&WiZwOr;eisg&-sw_{7vn5-t)@M0gWoN6!hG&cZDAIH +%o7LH~`DXR})SZWvK=PA=FBcaOp+ZmBk@si74oe}oW>ok1ahT#by1Y$aZ{Mez>z9}5hpU_0>o?md2>_ +VYz(|)=h&)->WOX(;ES(+bd-3nkL^pyPq@LZ%{>oWnApXVRDH#g>N-3#k@a8r=e4wKBi^*34a3mi&$? +1mPQ!Z#G7{q9WETRS6TgZeE^3`mG_Yl-KH4=36of5&KCo-Df{WpySsz;NjR~gEaw-{#h+I?_|8)rpuI +AC9*j$*r>Kwn8k2RZ)MPzc$uI^MqDY?2wEE`Vw$68|9pRkUvC4wXYYJ%i}FgpvzZQ|t?E0fsy0dyO`3{>2$kqh3hds~t;HWE +GWpQ&`ClHh7rgfpZOnXLz&#CoYH#BF+>L+P>dKJ66O?S+s!+XS?PteGi;qdB?wJ>D;ZC7PdV7N@zQ-k +(g8_P5dUNKA{o7n_WjNNkIC8xlI3=n(=`4%BAF&(3^%t9K!QW@6dnJ?gDdx>J&X7DkSd7AI3N*lLjz< +RV80|?~;D{!}l1^zy@^GJj0$v9S%a1EhZa=c4hz;hN4kZ0E4K@mAVbnr$Bmdk?05!E^8Q8F2+3Dyql! +ed7uy|-w%YXw!vsXkNIQ)DdmBy_LVtkxWr4WB>JZ|oJAXQZDPl~MW7t#j?0n*TchZqOt3v|Q90C5o8T`p?=2 +s&tnFCM>_mX`ZD$8dcurPi?TQ}5JLOD;Nx=;oxNPTJt_7oo8!B$?)QXVjU@3^JwzT^y-sfy)x4SxIS> +})K%Mha3BBqJ!IFHF4YcFmP{nQgXG?*xQhZ7jqzykTEDvaAD;AqD5e7-rz*jOOzr`NNF7_AR2JqfZ$h +cJW2Vza6-U2pA$hw~WK{wyKoUEAQSX6NwUD_c!JX>N37a&BR4FLiWjY;!MYVRL9@b1ra +sy;yB;+cpsX?q5NqA1ncifVJx|WazLg%^G8?Q>1B!A_!z!rfn{gsF740ujqf@-I0VEmO+v2^V( +Z@?dC>?HUX~RcSG-8YQ!Z*NRb^T((TKrw1p?nnQ*xWHlkmjIYUK_lm9e}iINrY0TIpmI4~b~3EKFKTl +eZ$Y;EOC@H`RkVe!*^Q5Y=9J`{~`M?BeS3;`i+4!*n{Cz5#5O1IK5i8*%M(aCYJITIM!ke@Fv=|0*l4 +x0CCHP1TJ6XH*HBfF9f`O&8)Fzay}}`}BfnKpl8J>%`C<@3@vWLllWZ6h?f77QY!c{?cgljNPsUfS0S +X1TDmZIf`PXm|8LmKb8u9u_?P)^J*pFNE)_Ti%L8SO$6XFD}Wl9;U@< +WR=eQFxBL5;o&L=5LPy^6$LFl(nwOsM89QeSV1fSY{KhJBX{{hVF`KMnfVDM_h& +k-kTh#!;T8M*1rx`k2GNSDQgZmSQGf-2*+HQIPCW#Ia~qlMUON(yQzgFf*KMJtYxxdbGYZVG{b6EVndGKRX?RM;1Zt( +$ffIL&PQFu>^VtNq&l}&{n+Xg;*%>3;YRd+0A=og#XZ)AN7CdGS+$xh-Di(8(cgDmJY2q90KeFQ_Dii +5lnJ}-BG~0cmaC?+6vjjGOOXr7w$I-*WmJeN^2rsGuKwdd#nkB^#qlnGq@j+|l0?0fOu8?k!K6? +aXlSKP;t8SPkbH{V)eh70QjGGU3rvKLAve +FdZ;N-G7Sagb>pC~cnMpcwVQ+siVmw};t;%v5KV?3 +Oq$UFAwJ^|6}4117NPJnuzj3@(SXu1mGFs2J%q>~h>mkiU#%9x7CoP72*-c{NSQV@_)|p0ZBJAXp(|I +!c9m~{C3qc9Q;2&P_E0Sjs?*LV19(#2>@{No*+~n!tvhu|v8Tzvz(F%=n-e#EDf%FK`_bn4A4|`rELu +JAbx4nPivPx(iIavc^ +JhV9ShO{&`G~=00Z;?5nA~n>}dD;N}-?76k#2QMsTY2W0=-?)t|w+(m0UprR@cW9rW +e1a$rS8}&gw#z)MK59d|uf>5KnSgdW{mO!I6u$kGdQEGhS}uLtp3R*1W;2F6n3LUd>;9*L83hnAflb2w%8L!(8i(0#1T_ +szW>L@02?a!)c8K_8>vM16J%d5w%l}X&Q74;ZX>Mv|V{~70Wn*=6Wpr|3ZgX&Na&#_md5w|5Zrd;nhVOa`& +b`<`DmdG%Kntux4h1@UsIy)T#iD1evgA>6(!Bj>*U7q~118u2DN6tUkxG)}GjwPNB=3kf2r2+7vd1YHdy1;s%tOdefBL?JY8aT{(9Av)rw8f%|&b66U&zax~j +Sd6PVKr&)qO@$8bE8?R~Xh%a2kdNg~9l=VK5;Xlxh#I?P1zM3iP%0(f0OJPvpTX$F@!Q1E<~?Q%jSw7 +6F;p3&x_X(xF(SQT4OJ$$%^L@PQNm%NBhi@ip2V$LHS{}fJu!OmOw+~5%5Zr4;ZY;R|0X>MmOaCyyIdvDw}690cc1tBA_o4)1wM8l2cRZOxL&4k^~vdP*`bDU#Z6%Vu4%Y(Ha5dGwa%l1(PdS`;Kr^_(;%yr@Lo5 +IUD4ZyT2C`^m&SUx>0{_f5{{_6e)&QrMeZ+}r@igWF_9%PeQLw9kdRl5441FhlM7Z+YIZIwm))IfXZ@ +Hk?+xO43_aW};3czqi9b{CMaO0AaAYq4B$W(Ic?!jBM7|}JW~KNbQtm^)pSsb2A +YS^8bsCrE^isl0hq`SyszCdmYtt|C_%2*23LTiv=CXFGg+}k@?KqD!Q7afiIRQ#$;>*3 +(f$mL~{O_4Y;v8(juMbV)5B7PrfCyQsaTobEf!|IDtwD(o<#@vU>mk+=KpCC}`YEfcylpB|~m$%_&lF +BQ*1o8F6*~=6ni5Pc?*tEQ>s^x)tIXtZ-QjDu?3tVDT$%OB_!4qhI9{ZBPxXmZ4P0fQabdungM-<% +3y6S&RzatXYYjYZ7@SX!W?QWTpNmoW%^k+%xJmuuOuLV+If1%x~^NUUj`s6Vh}y&K2Fk%Gzu@oV=vGf +o7I0Z>roe8HQ1O=^lTg5`l5x>%r!Vf8r!*x*hq#RTUWO3o7c2-DE3+p@$v^6Qk_sHL;ZIUoJ>*(Bq{6xWO~%O$OL=<&BJIS+j&(BR6P!axB{bGj0tyf>28R +qcOxJPPEktoT`fMd^0LW9tA+zrh0oC8((F12w306<_^XWYrJ4GHS4?AEEEX*o1-eI+pj0&B4=`JhyA= +oY*vQ$VSOFiv&&~$HOfUo+nA<&Ac=!YO(9iA+-Vjaek?9JFL7){z@|I3vB@ +ShyYR8Z7F`CQ}Xt!!M>|}n>jk_ao-D+P-m2wQBh1Bbk;P=0EU +a?5A4-lUueGXR!q4A%;K#3RGCW;vP{Q+H~F}}kv`(wiqk$J^(^TR91O8>E*a%=RJt1&>;rHz`BzsQCF +T-*Eydymr3NwuM~h)6EZgGfa1btzZEZ!&B#Z=$6~y#B2l=bCe5C>dfoM@dz<^X?&J0-yG)tvz6qEy#RwC`j{CJnW5h5=OBxVY6OCz&9ikVul4dv*H)WIXYUVs#wTW3ePB5E=oQc7 +al|p!x{O;0psKG#o6raT|cH8MDOnUa~*$)Vq2p6!tox(AVeFNkDIjHqB&arS`{qRY$YM&BSxljw;^{F +TTAF}29$CkKI`&3u&n!yk|{~xHyYjhyV;b)$;HL_#kd^YO1qs!*mruGeS-+mf-`hkXdfA;vvKl(>6C>gAGEd)z+#M_I;V!@;Ed)>>WL7BW8PMV~#}6CXfu8>ZY-HW}+ +!1)>=lH=~I2)y_*c};Ao)WO;@o2N>vVHtIF*$0sYZ7Z`7nzFGlDR{bp8+szMut3@qtUa=X>zuVAW?PE +3MlKkh#(_Mc@}&%U2Ndp~`48AQFw9rwRBU*cblObW>sa{A&`@?!ag>{^lU?Wu}VhEX)!Jw&_!{_Smvl +S8ovLGrWUWq3Wt%X0;#-kYWBd6g<(^ZY=S^G3lgysBHz&3=l8X5#5hg;HHTr*}22!aa3uV;H{0#}&&$ +URIvv7*dw^9IDRHOa-2=VQ}2FQ!blz&XS9h%ag10`1I6pWJnnLE*QVYS^U2&yHw@y_qucJ0&?%E4az& +@jq+6UmP3rgvXdZ3XrY=Z1mT_aXDfQk9CNm0?6)cL_xk+w{NfT6biLs~AsNJ8jdU3plp`77Qgts@{AL +9pcMWZ2Q#cY*czE8&YuNL6aZeZ6>Hw*|iK2LXj&X$}vwl1|Jw5;EPy94eEp|Knv^BZWO^GAyu*Hz=>X +p>3hlWw*B%_qP_>X3qT9Uwpy`1>2!*m@~NwcXVN5}L|jyljCL$Z4%ppbcW7>+Kj{g>+QiyHH^n +gyM{IncneKvBVSj6_q~8t@8PO!R>eTzSBZWRMx$cFpfF(Qj%n2(zRo +UZ1R`tk2uDIDti0v5C^4M~gR7H^_rS>!L@^{0JauU(Qx#IQ6uUK@{{3|~75#W-SI8Ss|F~Zoo7wX@TB +|*o@ds`Zbie6?*%!DFe8|hC2&3!i;irM>dmSFt39rFT>8>|qR5@~cSM!F2s>`>` +Te-r^vR85K47%o^0kc)8T&D`8? +`1>0w8qkCn%J*Mxi>*pItcDfN$kQFFhv1Yd+N=_|E@@#L`J76I^zccvkpe%3g~VIe?dm?@ucgEsn +1#wcOR@ly&7iW4x_06d_o7`Bs>rTutN_m%C73#%)jqVgM`^%?Cn^jk8pR_5aTT;?v_r2-d4NEb8qtKe +tey+Wn{}4}$9RNatL`EYU|lEowJ4YT29Rk@8svoaNUvR>zK~HfbY`jB4mJCwh5A7EoVv;(#xpc^`d>B +-MQ}^=mJLJ>c^Jd+jb)))#MT`1E&@=KGlJuBJHjyZ(#zuwFoQQI-~I3|FeO880)+bgu^FZo**fQNWR9 +wNMrV8jGhU6%czrRun!P?gwUhj6#toXCy*)Q_QP0w{E#~&1S0z+NB-T9rcp20}G=YViNlPGISg7_W3B +Z+0k+Z-ox7U_AlX6d;q2Q@F)`fF6CyNx<%#>A^u)Rt0fy6h!WgQTR-c`l9|fF-pgFwy_c}k2J=YCxc95HC5kGU= +pUCfP`VH_UMbN(Qi7c>V*lN=^d@{%b?8>YE&3KChLBl5yYD`6pVq)uo=`F`K5mwKwN5S5J}nyU+fPs= +?<;7GJ+WvjNJIJCczgEvty<8G*%vx*GPo_^LYK@Yu>h}N0hI7y$@_*q>;ZlQm=p;eioXRdnAL01!+zW +@fgTEa{E6pq6YR4`lhPjf08h*uh(A)oNSC$yPmGOn%19N}LO`A^Z-may~ZAl>B%4`WoD}gRa9|+L%!uE2UewPmomhe8d*?E6o!)3pitj@M=ymD^xKTt~p1QY-O0 +0;n+tx-{b^$g*WA^-qkZ2$lp0001RX>c!JX>N37a&BR4FLiWjY;!MdX>(&PaCyx=YjfK;lHdI+u+G(q +%*c%G%u~C{O(v7fx^6Z}CC=vNd@hEPAcb5Uc*rfw=39o-X~UAdbGRafb}J}JsNE%G +FrK1(ts?b}7F5*+BH$?IJy7bgq3RJzU4vMM$rju~Pci*!>KRV|X4Dzc`QF@HZg($D8bUdy{WOK0YZtg +5^)Uskd%6Q#`8b)wcz)6}-hiq#6{ZN3(^M_H)!u1xB+d7#!!oo4o1oz(X8PBHd#Afue))RjShA>TKW- +=?*!>Y~W(yIPuQmuVTrw=!Q8m3dj-tl~^9ZrBAm>S5w^B0#- +C&0$K+98KiCGrC3n#0ee2F4;Qfg5U#Oje@E#rf&kHz%jxoSc0#7Ta|?UqdGV#Q(PIo!Cl|uJWRiBm~$ +SyVdK|AQJU4ZV_Nq>AMj3sQX02>vsb#m>w^GIUfsTdW>BLn?@+BmKw`61DcQZ?AdD-ot?3=k^?LKVl(D6j}+1xqZFcX +L^KGWP`5aFQ>cR#j0A^~j2O;&lj)kg>32;!W~vQN^1Scwt5z(@O=?8?(?!#g7^#s~De;kHVp0NH8N%D +6oqBk=|ZB|MA7!*9=C&D$5rLOpjDAh^jX$Wgb*&)~)BiTD>L$r#e(NJ#HF*wzfkz9NbK8m$Y`@2O5wEghmSl+LQMyE#olqlI0fmA4!>*R<;sx^ +mHR#NIb@Adzf_x4(wk;51e^yQ(p8$+J{(GG7#`psujl~mC!pSUyweSR#Xp-i*MlOI5{E$A?1w8vXRj^ +WCXk|XO&@N#Oj>TnDV)IK_i+@j`^_$#EOW0!MDJ@s086rra$?lx_{_t)u^2l{2L|e2H!*L6xB@U?XsvgN +evSJ8$nGKNDr6+rsV*%9NUv3=7GJJl|=2V5D>1rvMN@c7W1S;OSp((K@?4mEoH9IHui@?5E>cipcgLo +VB;MpO}&nh9Wf}I(KS#C?VhZFP}%@S0ODtQ7Q|#Y;ur}E2AcE&aM6GbLY6n9xPwrfJi|^h~do?*?QFk_;Gl-@8h;^kcgK&c|E+S3$WJI7!JD1wL9Xq0%0KJVXNUjBkXK~bqlyapM$_w|?OU$=q)6qXSM4dPEzjvgXL66 +9|&@Xi38c$$NTc2y;)^20jPn>sdkblfaaWElboDx#!X-Cmtuhc3$09$fZd6oXnyL0?7X4psfhd=z#tW +0oI-{yQNPPD6dkPu?RTm{p{w`ifuCb7s3d6(7UfPZreB?&hQtr{0Rqz +F9ALyO5FB*&bTIifGlj&Ekd`nmH&DVf;z&sv6ouNQ@L@X|<6uh-06DS$AHs)Z4CGdmZm*~5rCvEy-Lr14N==T@AtIDv +86Lt-n023Kpk?Vh@Fu1@qbj|LIeNE5yI4&~`gn*e9MfM?$i<81{B53k-j$8$y*51W=NSZ;TMZi$Jv>P +kH0+fYcdcQJd23ZC#+wD +^(?8NQ>L^n3@JCX9hPX42tIt9YPcs>rd2p|p(H1W4HHN9ii&kmKc;p$x5y*{^aAv_))Px<>uA=SEKGT +#)-Nkt1Y6z}%6}*{ND?WDd`P1>hJ%2t|3ok+=HZFfV_k{b-gvE7N&*88Oe2TK(5h&~u +>g7iQMtx@~V9k>VsplT71I$ed9$}I@ef_j6VlwjY)@$8ru$XaUnhW((oK&#G*dfkC#i3nY+_=4n@4JJ +T~8{HgkALp4%9huoBV;xz~&u1Cb^_} +RDTX9ANo%QOck9vv!-?&oPbIu^?eXz{IH|FnoZpxh-*oq)tVt0v9rll1URxCdd3!1CgKG7*T7=ZCwUw +8nKG4XWF&mi3%U&@DfunEONmXi!=rP-`V(mEuxi9RkuoX(G(RX26_V3eM)+g;h_5QYo$zqq6kmj6uX0 +7eWac^kVatQve2)gcpvSUW@5eoV$ME@6;?HQ&}>Xqi_%eHMJmss!5a82l{JGjE+QAD|AS3M$i>#0bKv +WPFTq@>|s5MM$iPmTw$!{^b9B0F1H;nx5+1VB!Q9B5xD&~qb|FN(MpF{4x68)D~QW*g%YnxxFH-)fa? +_~_5ze0FcZfi{~4Mv>oJ+4-Ms)*3JL&@JEouKfJr?M4ZCxg-I-S2KtDr(Cyo@Otd>uc2a(VIMIR;rHa5OPH7&y}d8FHX7CWAo~w{oWm6Y5VwPd1*f<@^RS%Cuu)+6~OH7lXf| +Xc*mi(s3!~ql^5;XgBFC(&jF;U8r_%>J>uq2-|=3EB)mCf!Pmm{1!y%g3lh;GHUAJgE!;c{!Z5WZK +6%$6sR*umV2a!hDR-sVajoLiT~#cLmTkN0(=x7?u^xuutXDFGW+e5CXKkA@LA_=}aNg!Lrm+U?N6+a1 +KXJLs&WRU#EdJyF#z$XXGFZFh?1D*2?H`99O+w3ogIyayZC5jY{W@tDThE7S-Yp;FJi{`5!<`Z+l1jc +Naxx3nL&Gt&86>E0Ws75QK}Jxkuvc^z>BRr(eC$WAtGXoh?6#zx`mD&)ptS`{-1EaMGJC*!@61iklW7 +O0Nqv90Ya%xto2+89=HZiy;owxQ|9?$XX|}2HYqaRK>POQmcaOhsXKu+D-7|HXA7@-f_c(|FsR5UujD +LKDw%LB{CMY3^DtOp+)<0US!P%0$pIR34x!1Y{|Q110zi){OHl6M=j1*SEFT7%#sS0=s8dWu(&$CTR@ +~UlX7{jvyXvkMYO?oxS}6^^YE+h&cFTYtM5kG?d)_czSJFz)Dn_YaYbqSV3U-rnBj5Akvx1tjfL%a(u +6#A*(7(=0eq`5&P;cJPuRiPyASSHlmr8pF(a3E3Wl12QGyeJ9gAbuKN^K7`?bN{P3Sr1A;U1Lw2B=@O +iM(~+oaS-3qXG_aL|D_s~)Zq7Ti=%j(gY|5zI;XX>aE2{#-_oyy5*?)Ai3Z$^LTb8O0 +8qO5Br8$wtyNoXM0FMN#E!lg+qx~g&v)bj)Dcu${Ndy%*`M)H?uA}PE`T0c8+Z<=@lJa$PIV=v7uj+PC +ab9kIJl}=nVYE1D)664JWLp=0RgEoe8Z$nv0RD>!cQP-VW@+Cva%WhU6|RT(6ZXyH|@j#xDRKI7FL2~pKYq>_p4UXx_N9AIxv=)c;PhV7~ +gK?2zQ~ldJ2tc;uK41jc{R_>CnY(GR9!lNvVTXROv!i!1H6mJvwF}Pm+eiNk54XlWjISCq|SlG{$R)Z +os|CTZPG~FN*nmCE82fBcA&T!h%nmq;9^cqq18HTK94R5*S-<;kPcg+#0ISVjG9FZZ~7WFoSCk-29J +eI41SK)JNz18Qh1<5X^`ckS!=ah*-ks&5ItbskVpN`SS@v*SS|*=vMiyd9MP{~v-F>#<_4QF#vZ5#=f +ubg^yj%~7R~u%xOJ_iZs@AZ*d)LzZ9o3_ehz5FN0vsSJXs}r&4k3wcN0wt|pRKQR$;J-r)pzfZjWA|X +tr|Mf!7CuuNeC*SL#Ocson4{jl{OP>Q3zMH{8?yhX%Ezq3ul%+0pQ7Mo-K-eggZ@qO2ag9spN}rk*3n^5go@=cm|Hg{HsPw_>a3yHoCIfj!>RVgG2aM>OCAxo2?r7{eS@z=!^vOI&y1M3n6NBA3j>KYB5%hC +;i;EumW9^Pjj{ej?``YpvclV3o;tL1?yIA31!`0sDWtUNkXY6GlA;Ld8s;wP<5F`-?l8V( +^@rt=$E6b(}X<-eJOWGb$_wkS!4peya`bc2W$k(=Q{MjpsN?)4~*_;mCsDK^ea`d!`i`@E>1p->Kb9y +XJ#zkg~4@EH~zQF9LBvyux|JGn`GHwgPfBfjrbec2fN@C=Plp&Zc9)F(MVC +LPtG-iI&24C;Q$RN%p;m1ddX|`ksPfv7lWjg=f|!A5AA3W8TLw2wN0k74_(#sl7F8wdP;6FmGr7@wMe&8S +g)t%X5(nY5uq8l5Na=g>kwiFP=Lwm*fYU%G09)QXdg^b?w&QWo8P(x0>kiqkl;KBR%kg;XGDuFi^}Q! +Xo;XE#OEL<7@vY?P-qF_g5y&1klJCswa}&Z}7o9wZ`5z1^2i7TRW5kM_6msAUWZ9ovbyDn8h# +)fjxqYSkXNkf**^PXL!pr_^TYK=fN=hf~2$=H$uf%TG5DBq_0N>%ME-v* +a08c2H{}QjAsL0!DYso0mg{UU2<2X<0;I};08ywza14@h6j8FLuTB%worR+!Rx +vx`RW1O$QuGM8XdXFLtBk}f78tlV`==l27EV2&=TfiZd3?$Mb!7yi1oi6gAU9q>KDv2wB=R0(hr;=;Z +@|kL5mmk?1M8mS-59`j^h@x$dM9!@INx;>*PCP38&7(!aK$t6eY~5-dV(L!TSN?I5^r7f +LPzR_v%FY<0i>LnN+k4?4<;HB`^Rt+H*_RGytI?pqW`LRx?>#RKc}+?swpvp`@o1lM+XG>i9Ys$IbL52X=)+1oDsnDez;dV7A^_ +c8QAl7?8{)}ikAalS2cR8hzorV54*&3fo}S5KOXLATEBHz613cW!f*I^A)gs4_+$q+)hkHo&GQ~0Jhy +FHI%}GXkwr7T7iMY!%WQn%U2Al3H=IVyzTc>9kaLQimm%sGfccct +0xcuMUKBA)4KNcRN1PB)Y`;eal0Hu{o^W)s|3*fXzFtVFzjAH~RQU*LO1`ycZ<_$@61w`qlUd|-L8^E +3>@7KWw)&K#4*A4msH1a4NK(8KSsK4X_MPAbA805I_%+tIH^8bZ7Q#SeTPUDK%!dgf9YeaK++6#9(D0 +yQ0VH!1-SA1>lt*5H~3>jG<+QO^xl-`N}nmXZ$!DnB4JS_TNu)UzVk6Me~9>UW?+fz`lD)W~C3({MBy +AwlqwyJBD9{^=H7T709uf6($^TxJ!7ESSKeq+CkFT)e#f+V-X%Q!%>w@bTJK;^RZllOKKfIB|}jI8^e +8*i;$chNP*hSHT`@yVJwtjT?eN?%s42x-5Xqiuq8n!k}2bgYldn$BIr{0x*cyAvYC-~sefSX5%2U}zPfG?lf|f8YR?o&AY8MpP$=>i7CBCIOE1gp_`dV7>P)goO5X> +H^}QJurs5+f&}I!f=!Y-p6oIf0-3Q6|ws~0&Z)a2Ya}&+nj)aq$TVpMg0wAAT&jKjVYrjayvpc02Z>m1j(d#=lOOWAj$WrWAJF)GK)Gizy;E1N{xse?B9 +fC*dHt^^QPwfAPL3E)wk})ZjLcLgW~Sh +%>b)W7ESPEafV>O3u$0dT;df5=sAgubJk=F7%Pd)$f(fb>(T7tiIWJZ@ZBm)~;41S{AfF;0tUBN2_+w +OQJr3tK0DF6nB@!C4sFPD1#L!zH8cE&|`D?mZ$Q&;c^0%G5tsy6woGqQ2HaV}b0?3(;nFS++gJS-z_u +9L0uTzC@_sh(H5s!oJ2z~Hhno%g3!XMrJA-sI5zdzI))W@5hg1@x15qKNMqc+&Zd^$o5-J$UEsy{T6H +xCn9UFr>Bknm-bag_<)mXfa`XH5Ct?%Yv{$tODZAaFJIp8aRd0ySG91u+dvGBYWic@yYznCYZ+^~qj}x>_u}GIG@5{&Vf6JGj2J +{^Nv;;QoV%@*Z71ZWS2CX+m@QQkQCpm<72f;sTp>J4a@p5lm#XG9)b(_NCKoxt=Ur%Z96smI^ou!QL< +Hei4eWwzp%13af;>z|p)(9Sty+yM$&ey(YfY8VK8u`$k{ +?w^6{TG8GwNB2z`Z{QxZTf&$N({Epm(owgDSahp4YY*4=cJmAXh(e6iW&|~6QkQ^+)GOI4JCHg9s8`u +`eI5q#ZxQ)Ov^gr(rx#h*{(4YZ-oHNo6Oo>=kDgVrW&+Dv&3b~*uz#yyGM$BwdU0_=s)|xecKB%zdSY +f4N^7G1-0s2V9<9+yi-Yf;~}MT+raEJ?!Au*uVErFF@Nyn%8?hkqiJaV2p^1{PHP;@@hJozs8e9$SqS +l%I)_gW>C>0+>8o(uGXQpbRM%YDNw~9hZ$3)xpKWQI+8vlWZExu-E6*P{e*@;~>hhZJeYy4!aGF|zUG +6_X%an6kj@@oPA>UBIjQF6L<&t=VD`tP_UUG`1=`S|fM||9%u@Bg|;q5!EbJ|WC1iDx(%pULAX$W`%q +Nn0qd?~&b-wM7rTAYc8;w$lu_|BKuv$3epF=Hd;FcX}=DHSknYh*G%Hc!sOqyGg^O9KQH000080F$jz +QRkd6Es6mE0I>uB0384T0B~t=FJEbHbY*gGVQepTbZKmJFKusRWo&aUaCxPa!A`?442JJ{3acD8q;3y +@#04ZIgg_kNgiw?c_l4L;N9%oyj?YOn4D)#^ROPjVRisxjkNd_ZqDS*bU@y6HSNTZFSC<<`~PYr +U_TKdYRikw5AAU3qK8a4<49ett(#f#(+S~6TW9#RhO(k|edF|KR73(zL2j9Tq{>RQw*o*6H1l#M8aaV +>=e)M8MHf)JvzDn_`&?n*_}*W_9i@ZNkIzog9@R_Xjg0AFnS80gbz-buCZGLbw~s#TkQhpAyh6Je84z +*PnB*!6L-zmYOpN>NI>spKXpMhFTy$>T#Pv_BTa$@6aWAK2mq6MmOaCxOxTT +kOS6n^ioIO=HCL@Iunw@R#3F)&jN6a?Le5kiScPFh1^XKfdje?Q00rA}H_D{UUy#y*$teCO6es|u2&* +xS9vBmq&?N?YL1MwNSuN%KCLwCAPTZiU=V3a5q@7bUB?HmEzrE5!WHpG+E|TGT9gLz$~yrheTf8jafP +49$@g8O&a}^U}$i8Z%J{)MgHE^eL1KjSFc}OI|YkC&Sv(t?4w^O5zP#o^#7DwO0C++TM!Nuu7P$Q_F> +^Oa776-0nWtupe~*^5)mwujJy#<;BnB{;&0Vwf;_|6(^1t6QIXi9a^~c*m*gJ&Au-2AlC3)p)q`my}# +!5AT^*cWVqA#CXChMd2c;`6PHTL+j*B$wncmG&!QxeyrOD|Ni4?#vK?lxWbp63Agf9JVRuSKqxU{H#8 +aW-Cd@A`MqEJD1@}l8p4tc>iO@MP#-3t0`xBm(D!tNlI`!Wd&Mgp$c89PP6dT-mSDh!QxFu``I85(bG +-r*-^iVZy;;k*HPD3^q-klJrt`Nnjk{9WssT= +!$Mz=i?2^<++op3{U#TXZuB10e~r;_D-6Y9yhuxWMF3fk>XvTwyD&J1#xSH;yfm2h?l@fHb@Nt9;tyazTFl*sxPo1z)d&Pw^nZ=ClFGBS-Z9%uu4u+)>_rI~RlJUCKxqyv0$+6LNq8s@x{^232>oZVb*mfx0}< +*X}-NEjiFU=ornG1DAqz*&oGVgJ@$7!+w@PX$zK9pE@L1?_zAef<+*TIrd9^0SY{rrBmT3_AH +PT20l?S=k_dlU3WGl1DU*OF#UG+nEM!9wk2?#k;AGo26iktddwD)a5rR_6%JY&Pjq(w`o+r?05vf@%{ +tLf@&>rH}~dY#LBhYJ}!p*qs~J&g+KCe+ur?`=#sFO3jVIyhm_;sKf +vObH96z2R#}}Wu>APkAq$uZ?RJ?d0e%F1|96OL5tis2wXoNFQg#3nn(y6b`Esp;_T8U75zUu0A{mj?QK)B8^p=4H=G22 +i7v$InPLzejv}O#MJW(X2F&_j)`1;GV|L~7&|+ZfuB=liTc0IWP0tmIWay~>xa$q`ug%doF6XBz6Gd@ +kETQ7Zps>%mQ#`ET9W}Yzz2M6ayFHuX>9%^BQQmEu-;ib`F=1|H-i5844==Z$QIU +l$*NhYOqP?@4p2(>j!S)c>|WS~SP7Bx8xLCC=h3Zr`-77YQWJtFuLTZ{;^HaaJ7<_UyDR9F$jj?ekK^k~IQVH!O`qsdsU*rql +AK4uKHG0H(+ntI0&r1plK3(!q9i-Gg9(T@bUGo&gaWJ|OwP=@@jEgdwRTd-BaE)bSNH5jy`2l*Kx7X+ +_(j92?;W{{hzR!G&Wn!KbEQk87D94Q8eL9@WQAh=tXl+&9uIXE~-k}RX5XBnKqw6|ZU-T-=gh3Y*d$= +sTX!VTk7>X@(t;b0t3`0K0sY0*^GYTs%SG6_b}s+M({(XbT8rWQXn= +)6lsA!^UP)LQ>Gym)taImyO1H#m1$Dirt007h-cw4c1O1Gv*PcmtTMYW!2!t&cBMpbqGCz0TDjUS&7q;Wa038%$6+eEs-B&= +Fs1q$!<3&eW8ye>i=o_nvKU%lY`enw5oNXgBU`HFM`DZ0jMY4-M +C8@zx=ll>Zh@Uu%RMI?rH;8V-*7#^7B|{-KVu3}+hB=M%upwbAA_;ny8Y=sO>_T9!?8Yo~WbocU+7)u +3eHl5dC|S?SNdPuuE?e)oJ}<(-hI|KGiamR?kNSG@rqkO88nK7%1O@@k{ccSrn}S?1Qxg$yu1D)OZW9 +jAmqkIW-EJZB)LB4rws@VdcQ(*xM$IwDX)lG^tZYDNA@ +LzmwQ-9N*juZ8jUHvVaIyhMmH!17zrsf_=GW +FUuSs3;)R~cb;$m+ahn*c7Olb^H0{C-Y>hmk~hKqNp!qF^0fE%+JhuJl-yatuNc4JkX^-Hm)(CY{svG +>0|XQR000O8ldVxv9S6%m;Q;^u<^%u$Bme*aaA|NaUukZ1WpZv|Y%g_mX>4;ZaBF8@a%FRGb#h~6b1r +asrIb-?+dvG*-~A~>`r@$6AE3~^wA~iAgfi$u3E{Z-1hP_uwkEgjLl#dDP +wMvT{p~mP<8is1FTZ3NRTn;AXArMWb*yklWthP{GW5pc48D_uEXzu(MLOdGgEl(o+;4tj8K!%s$z(F` +Ef4Hp$RI;_)&Ur`5!fAUP?3$D=)f9G)FbaSw?(hgJq=c%Vx<(6$^~sT8w3u#bX}#?@fz}!)+)AX2Aej +Ztf%nt6D+;M!8K_VYDnT{kjn<%vzEc(z;t?tmv|A?AvWII!O9pKc3ljRJ0l)3TMYk-NdwRu1Gh)d6YO +zT@-cap)YsD?2473813Wq^y}>(7_j_i~papQOeFY0jCW*~)#-=GTv8$=P(O?(L#@hbWi;)Bt@%+U*_; +3T06!`m3Hv*HQ^1Ra_?}{H+q)G5{!}d$_&bIY4oF-#^eoQAjxNq3#TsrCLF^7RqVu=4^IzDTATH8ro6 +5g+zcJg9XtMyTv8>ggXs>4Bb|Duxk9wD_Z-{Q=mhmH2Aj(>sdFHlPZ1QY-O00;n+tx-`+A}jVa1polT +6951w0001RX>c!JX>N37a&BR4FLiWjY;!MjWps6LbZ>8Lb6;Y0X>4RJaCyyGQE%He5PsLMxG4{|F-z; +S3lA8ItS#0iMV(?Ol0cxPlTCysHIj1T4g2pqijpkJZsKj});vUt_}v}v?)#2X_@+?Wg4vlM$hF!)!HY +QI(xR43#HHoJ#CBJ3xdQI7?>~R|oVL2fagaZ&jO&I%4^@lJ8tY0E(^;Q1)0JEe= +AX@7zAgqSaX6axYw)zgSITJRsj>aY%il@oXJ=2mFW)QY_easAuWin$r^QnxYbOcgaa!TojagZ#|uReXay1ab1NEUD +2zK1!CtGRD$bhug_77oH3YsU_-%!kDk%->Bvmr!tNG7Nn +6AN+_E6zUxh(S>HD-w_ZBbee9Uv!OO3kxz9LE!geyoJFj~Rx(G_Rc$_H3pa5oa=>WXlaoYibEOp*fWm +n0dHo&|YeBP`R5GOtVeDLNj9WUJL^v)K25Bb-#Wy_$kY{mw&wk^-|BOU&R@`&EZOyR7lb%TM9H#pf;5 +khXao*b-n$Lr-M3ooUx45=m$gt0z)-Q8>Lr{+WLW@s>i*GJ06ijuAN{U^GfS>=et6q@i4ge*jRo~reR +cux54018WO1o0*-T~H_VQE{g|||28BKd)L(C`28BMhy-2FaVWKo&)jQR+1uZMk7gV-%gEXO`h~giM?N +OaAOD?jLkQvQPE-Pjv8P|ibrzz|VE-tUmXK=nH9+XUo-4yO|l+m0fUJzMGy9%O3b3){TQT^7``Dt}BI +Izar6*o%Ib|jqwuS%`SqjSeCENLX(8ThcXYdY_^q(elzXehUo;u2FveIQ`%N2B1R1cDlFv6f-ZN%2H| +QoG9i3Dleuf-g1GJ0L0=o?%Pyvre42OY0{_=V3?N$AhUk=xYl*9D+`m)$(K@i4LJi8)1~u??Gq#D(Vs +BMAoJPnS6e}p2o3nu;^7is&Yrf`IE(;;TDA|zK-y@BtnbRu>I+F>=-UI=KP_v(!8ARovhUc9|cedAI8 +aW805s>8?v|6``ftZ4%`9mH#rIZQ<@B3WCo?I=`!F;-FVL!IyN#a46&w%8uTw{P9mS=@e|0ekz0S$o_ +Ve{G)}9!xi_=p)(%Cs?sD6P>s9%t)%S^Hy+P6h)=Jq&8-B`+qHif`!&B7xccbjYiMp%5&A#Fw +d>ZMB`t1$Os>G)szctVN4Dv*x`vId4z8xY%ua*L%Eqx);4kLW<|I-n>h&~6|3bT$9U7enupbq6C)1{r +gz86p1KI80uhSBXd-VpS-X}ws#>>z!UfAOnm4{eibb$HyU?r7w3#%0!8oN`Wf2j5>%O9KQH000080F$ +jzQCg+;4tERy0K_H$03iSX0B~t=FJEbHbY*gGVQepTbZKmJFLQNbaB^>BWpi^baCxm-ZExea5&oWE!8 +$nDZXKa5P!urg0^8l(U2uDwAeX(vAq}*&M8~|yq)wFVH5U2rof(o6DapwmPy@S(rQvYi_{ +87chN~9^1yHZy*<7=afrWUFFes<=b7y9v0sz?7-8~>YW)@7wLVa(at26>jUOwzqjxvml;KPNlA7sj(U ++d_O!e{XaxLUO5UQ7K*|Ss@csN~J{AuKCG+ze1V~&%}c1QmE9Cjd2m5Gf~!3tCq)=GBqy>jt?)ZN{=p +UYFU^h)4P(_eqjbobRp7Or>3qJ4F1F4b7{(gA5U{}_F@AorTAuCY`bzNP3D(%k+37%_a0E#nMnV7{M;`r_IQurG+wf*l0QwVDF2vIMsh1*>%+PQB&0lR%W7w-iAP +q>Nkcyp|`TCu-lXrQEi7sqGI4cU`5b~Qu8z&=HjLn7czX?4L(CMCFBDgu|phzy>;Viao()O$?-hY*8>t4;)=CbVsUO+!m-&|jh5_<%>sb_PDR19EgY8|v4WVuk +rM}eIhu?h4~@a2_s87n{Z^~JfNJ2AqxwWDeggAIpYndCzXEH>nC7TkuOc_4PaASavoCp9$!8hQ$NhqS@1#vDUW+W{7YA)3&u!>T-hwN3 +aG@LmC0Ci!q)zn)XB{0*ukKJH>ufUtZTbJ0**)M`}HJJ#3O!$ysdtNjG-AyL!x!Tb{(d6)tLd0&qGmr +41L&S6T5f5_f0cU#5B53i})R$^#>VQdTbU~z@{zVzJu9Md@`BHiHx4aia!0;10OV)g}n0B5aH^|L*)bJ+che +f|6;mwTCu>e;fGC)PBbn*ymj33qZiTil_Q +1pf)GD`%dW|Qpv+Zj30;&uS#Wi6KXFjtxl4=2F!Lc(5$(w8f8TN>f%;L+|*gsw%8|^^gDBxY4u~e;j$ +2U3T|B8Re(>!wdj?HuTQIQf*vSv_L6E)*kM5#_3Fd7*FLQxRCZxC#ohwKvck00Re{6=eJc3QKouHvB* +^dG<$peY2an&04Q~o8qcx-O@@O*_1xwh1NoP&W%h;b|J>B*vSO@!pysNk}99r0Z8j(EDC7KGi{A&_PV +BK-pO33p&!68rGKX`#6Uk@a4&k0%gypr@>@tq*Pw6>L}tR$2y@VMvrKe`%yzx1%Q|d%B-azCsJ|}>E)|Aw{7(zrTU*@}SrWe*X33$?p}r +7mx8uWy~DunVfO{Gc|wK$9P#E(LX5-UOS}Rt+~ZY&pGZDsR*|Kn>Nn2Pg>Jo*rmhRL5Qu}~?GCpXLa-Mc3`;mocJ0bG1d)J +vHJq6yQf+j1Z~-$?>zkFgXM&7v!i>gEugcWm!D`{&_8A34rJXv2b2Ets0(-5612OLiWWE8kV>AB5DU? +xch)$`5Y%bQ#gWLl2K=@A@nkHc4AO0l(KIdKC5LW&;=oK=B?$na$b1R) +J_TppOcgDdC2QhW{?{*ybhU0=D2!~+H_o9OeD=_f(^M8;uU>K@EAnG?aM1|0Q=A$>Pz=nAtd +V8`(b`4tW&e`O)Q3}=bP2V?WvWPg^S{Skpu+}DV=_ko_d7RDT1n6^lm+{m-Y08|}Vir-%+qp4jbaZrF +3`7h{UCxkfL2BEjb#?5BP?snQT+;82aQ#>ym?_%9xAEtqQ2?vO(M>MndG6R)46V9|s4OtA0#Satdw2c +u4sT;}slpdGS2ve~#Rz_V8fpe;b_CW~!M|=*H|OKVpl-M@p{-86(M=s0&Qd2?0a)++Y44=irN5fO)C< +o#gM-6+byTd!;5cR#6o^oq#V*0m#ExpeF<2tNnHQf$*3^T5gze*~j4jvMfeJMGhP_%lRB)w|-2<~r4{ ++H8TgHhSQ6QxDhYP_dAizdg1l;4Bw^?B71d}gP&F1sad{kIU)w^a`1NBp%IgLmvl%kvk{%*DNmkUJx7 +dC~K-W_$T-A`LLj3ENK+lgGlfh>-vAf7nQ0}dbQ1cwM2UAY7Z7pvnU&)#Pp&)JD1ogBEV-OG)H +MyxnSAsCoB-Z!*=7}xkb-SXVda-)e7E$PZ~0_6TP^ch6KSQQ@(4Ne*4gfW~Romk6JJAwYvY-bZ9nY?s +W)n9?d(xesb)L!r^nkKN-in)P8%-+TBi5&J4D&WTzH@#HqdRj`KSVdB)8dWSKjC?V96upZ#{Mdov>y! +Nc$4`=1IMf-Za9BM0lEzM}?r4rvg=4W^j13pe2Tz9RY83*VV`9L}v_CoZpRb%dJ}==Pn~p4}dtFyc+8 +e}8gBM!yB|yBgoe=i59;r9{hhlK}HxVjWB9-;HGM5TArVCL3uc-?7J~S6_M*86<}84NZ_IS)w +bPjjKd(A{5MZyWDIXQMv8QMWnDYWsSkwND8PD2udZi%$$=qhaWpBRtc!JX>N37a&BR4F +LiWjY;!MkWo>X@WNC6PaCya9ZFAeW5&o`Ufs^OP(v)JG^gUDEoNMb6&n0%6IG5h|JRFFGB*YZK5|C{* +ll=DXE&!4sDPN{{)AEBY5x~Chv%Ao$Qd^cJtDV_ZB1xFsmZ~z0FSW{dMkMz8Xyo3Dsw$NKB8{kwQn~g +oa($?jaaocl@Nzdn0*QA`ZKS7eEnl``eJeVee&kr#l`u>b1 +>U#;PtZ+gNLYw6i$kL#Li@DB6bdpxKUNaE=wa7@Qm2iz7#)jc=fJ;HzT5wT(P-dm>efp#}QkqU6IX?u +fW`AvJxp!*&k0wqY=7CRIuOqDP9ZnlHN^{q~KfdKW;l>-^(J?Os&Xes^Zn2WsZ^*I%bzezGsCHnaJ2m +RZJB^Gqd3kHs&2)p6_SYmsvbQLO>$9CCYQM?}QZi`@8d(XUXE?hxvH9lX*51#oaifrN!$Pi&x3 +}7mLNq^Mat#20pNQlyWT#0|ph!QNJI*I4)0t>ibfWV9$q4mYH+Q8R!Fx| +khZ#&_biIvlu^4)ydVQ#SjicHlKKyP*yCIP0FLwR>qcO*8`uu9?PsW9x>3azljLdbW +F8xh~l%CBG2kKD_NlL!Yu=A2E+lgr8(D{1+j|tu(&`}Fv!&SZJEVcZGg7cmUrh~4pg +Cx)2UH2PA27UxAKQx4oAfXxQ1$U{p}%54N&OTaK<#jMm|kD3nO88x#qL1MM2Kc??B61xGdN%BU&^^kr +C6eE>Tw>Hz~f`EG^*MP8DTR67L`I_K?JB31Bk#JO#0%72p +VtNE+~0kqb}sMEIGV+Xy;)dn2vf_L^yPScn_6^xDAP0V^VTvLo9@#5|%JteEiLuebZq$>p|EHk(Xd|y +Olho?h9}xWN(@a4j*?VxVB$Q_pwdHtBus|c-yxe1H#20^SF!YgtXb^C4@y;2`vh6KZG)Z2e(E&$mztG +N-m+V(~TjiMPse!rAjS92rfjUv=R_s*$~-Q`eJAWWZt`2L=p|K_o5MFwqOD(A9jvy0ux&4nZj9OYBhQ +VOjOoVhfKaJU3~fHjF@Q>W=M~blX!q1tIMdg=7sCW3D&-DV?{5zg&(b`;Bj#hcmJI +I_#kX{k#IE`!Foulyq2RP${*}NuUqXJvdD!8FghV%(HSWBI+*gceCQTbxaF$T+ArqVRtfeAps9CTOvT +#;!9=oRWd?!B&C4KhWrEa1hET$h+K_Yw_<@^O%6SHP^{!nL1cPi_{CvDGUQ~yHOX442TL7YQK4H1;?XZZY*%#OI!}yj?=R +LwydB~S7u-5DysWQ{7g;5gY#v+USp8RiD1;2$4`dOOn`6mNu_rD_o1QHSuB2$rbTVu7>mo2tCweK?J#+x-LCpW; +sNcW^Mnc->u745S0hvq>kFw?s|jBflRL>IY6MdFYYwwvCX!Ico#xyQdo@!P&3?3B%5m4SkmS8m(2t1n +1I@KN@s_=9gAJ?3CwAmY23;}R7Zco~tCxGd}xu-fIJM3i`LdtfE!5G#$Zz1i+v(NGT>)$KgB&g}qlQf4ig&!X);q^^bFfY>Go+U;XQ-Us& +g5Ly)N8B_T7?nISk{5$yU%p>Bki$Qd1zW2frpT>v1f0w$!&sL{OUTCaC2#4SS&E=`Ey +=1J?jfAi^-D+)GH=r=1wWWodD{Y%rKqcME#RloT} +{-!h={RsCVKFwuNvAtG$1~n{g2B5r{EkPp17zvJm$a0uYDCpO4vZ*zs}vLCIoLOEZO+xZ_$ryXhT=YF +ShGYEJw5Jn*qsc7E@u6=Zh8rUEJP`U5cnf4jo5R_3{D*jx$a(2o>2nFZ0%u`?REXM+E|#eb2te_c!ev +Ua^v%2;%0^_#lPrRyp@fK3C31je=9M+bB|c!N);sU_Q3_Kk(Y2DdvV;RDB^-<8!QY)0{cc~6vvUA|pV +Wq}$h9)|8$PNA;KVki7v9%*kILVzx?WVRo2k$8ydmv3|teTWx}f1ba+8g>;Gyf3)!In?U+)x&2A>&=g +NeTqlyJE}Y@=z*4iU)ZbK>qDUZs7CZjvV;3u84lUx#K@jO9KQH000080F$jzQAf(9jLZ +T60C@!f0384T0B~t=FJEbHbY*gGVQepTbZKmJFLZfuX>MmOaCv=HO=}x55WVYH4DKN<*lU_V4~8B}Xw +py`LP!reIpfvX65W*+ec0W9-x+D`CTXZKX4f-%^XAPP&1SPJAHWf&ZUoy89rfgrbvuX&lWif5gS=S>g +B=>Bp89bZpI`yW(6bx@bl8p2Mo8Xwa3IK$IE{Z}$$hFwPtbdvJDS76*w&~a_`TJf)A~TL&8|(>Gn7rE +ylE6Z*fAmX +B3qQO*s68`vK7ql#{4+{)QNn&t!4PuYQE@+Z=a}7>2n?EXa1ne?&p6tOvnQv0z)dGwacYq((trUI>+5 +r9`H!s+>TXPiS)MPahl>UtOpbGI!isvDHpq&%=n63X9;i*Fx)&*iK#`Sf)PrYz!Y{z!S>AGbUZe$9(I +4utj#DrCO$Zw@mJc9YVHasJDnHawNu1%il~QjTd@r)dfL`k-PFb|Rm!ZbObyJL@6=MYIS;SJ`5f6yFK +9Ug+6%yF89?^n$2cP{aXk=SG|=|{~_`Qi56p0#3yUUyD5AYOXU5BvO8>$7kfR2O-^#{Xz$MW0bTL!(ZL0wne +gh~Oji`LfBJr$_MMkFvIC~uNpceLB+GsX+|KbeRdF4;Zb#8EBV{2({XD)Dg?OJVb ++c*;b?q9)6(6w}Rm8M;^K +ScJL9TjTiIz4RF}VKr?m>F;_TuF1{Pfk?`Gm$Up1$dgy?xgkdUyId7>l;))%J}`VlauL^%!zpm*(_Bp0k5cIgdqryG`Gj4FPjG)(!0m?E8o^P& +lhtW4FGr&h+E>)<*cm!m2>m0CMQK{_6}U(Y)6Oqnzkc=R;^cczKR^^JjNR=hdNk7Y+HAotJpKHDv3*v +Qzj7KLRJ>!ZB|@;jAAD^`uh=!Vs`Hd0}rE729?B{jAB^Mn`_Dg*jX)4UCIjFFQ()(Ym=~G%1TUfr +o)i1IEHYxw{^}3l3NeFJ`C3`s?}#DpE1i6RHNeQ|Cjgn1sN61~aqarT6b$5+- +UORjn*QC*w3Y|=LYS!Y_7xpTEQw2orBZUm|vk~O&=@kJjKbgLkBFuShNGA0vZ63Ij)6DF=j4bewAP2u +Lt0?3*v2q|W|tk*ck3s=8l=b^K5wJM9Ws>NJ>0>?N5I+N%io@phkNVQRpnLGg{DGelB9JQSe+d|74s- +wW{R?W{jD8GF`HVoy0Euml`aaVNnC1hhC{^>ZJ{cohO0~cTvYj>&A8;R;oTZKmLw+R+$$n;%5=m+OyA +YgkwL7&DkTE9RiaG=7NrJUPUQ8`97n$=1bumjqSLvdu7*%%=N@4o +v+Gw1j(X1gTJQ^kHgGF67)xk|!=b4Ge*%BmTcR$6Z9NjA`h()kak(D=!RR9kvQzo-=rh=tGg+v^gtP| +ZYA3uJ~zG46DlrQ!VcE3D4Jd9m=13Z#Ss6VL;lpq0=bd_MSO6YW`LNFoD2M}qHR?4-m*^?*i@R8*JZb +%a`!PjEZTATnvm=WZiusL8~EsA3d<*q8o6X+kVKI{#b$e!Ygb{b)z8E^RDmirJR2%yk|d?*WAnSF3Fd`K93 +nj1YMiGma?*i9`_E;i)~nhKb&)(Q;BtWzu6ufZLZ-~*ik17c^hD(LlEWRP1dVA4zQ*uX$5v6_n7qzT_ +rCW1ZA5gKX2$VwBa(Tpq=8`s}+p1sF-1vwwPp*c7Un+oh{keA(70*cha2!erPoqrN|$!y7s1*oG@ShS +q)dz*vEG4VnLaT7C1V4+RB5IL2b)Pf+r!o*aG!t;%BJ+%m@MX+`@%(cKifhc*7E=4>hSe45g7<=@sai +o^YmE_|dFaXK~7t8^QMX~W;>x?Zmss>{YODxXE?`D2jpOB9WPq&d^!n}aTy-|o)D^bXHU{d7LgZUMI6ipCf;PYLyl2*mPG_ZMKxgEmwP3Y;tSM9)O&{4_yT+dZE3>wx8KosA!59HFuMir +(sajcJj|+Ww33i%Pk +N+0zav@GmcXx>gDi@c;q*^*6oGzAuZh#&i!!h-VR{M}A$(jN%A)2kIv%I+fZqOe{wo5Ad2To8lv49Y| +rQdJGwtjmHW=T>$~5`|fRnIicVuukOtW!r#9rOPZ_!_88wlzF^=(nBC{qFbQ7f2nX;_wMOa6=`RuH4n +x*o9-1Lg#}*OhRWi#>q3V_XQJ>TCQR7J~)TDE+67J*AMh=X-V|VV +Hbl?-A@jiUo4uswZlAC}aWJDsGdjvqR9-fxki18BN)#mH%6k*yU)Z#6-Gc?*~ORXz)ba1c$t2I;XXb( +&f9IV#W`T%0K5$fRZ@bS01;wng@fT}jRPcDkG4n?vDb35X!oe-4Q1cx@*0Yhn*!oE@rHMrbXU}YNWFi +UM;SI(W|NQKrL(4m+6!ox0lnEM>mdNsshEBv_4|L6tHQe@5tA3S>eaF7YchO6|c5hXGo)-7)JMcRa^X +(#TT5<(yt+a~jQxxy?|*G;8c=TQJSptgdWRCSp(Gb~I}ZQ&59O3dV3&Jbomea@gXuX0&@RKpqg +26o-coFGKfUgV2)DRh=51=C*`!5!^L-FuUd+;{W9RUKgvR^y$c(vR+d=9Z^4{is_4d>buYK-t!V6SJm +S?1$Sw0LhhcT~!!dyB4K9JH78GA7*OZu$#$5dKPm-R=C`00zSM`r%#zb>4P*Fwi6Iv*)L8U!EL6=oVQ +nzUx0&@r9f*1)>33B8mkt;n&o< +rKOuIL*%z)HRMH+gC;hT4;f!hfp_gltL4m@M~?f0>R&V8sHkNyQvO9KQH000080F$jzQO1-R1hN7E0Q +Us|02=@R0B~t=FJEbHbY*gGVQepTbZKmJFLiQkb1rasjZ|$<+b|IRo?me*ACf?@SoeihV$xKx4Q+H2q +LUCqk!i2QlVb+IdC*@UZt$^2>vjNI%WermIW&q(Ry!drbK6R&hYsQL=EqGw{c=A2nqSRlvy0j1C=#n +Z=1Bx}0_qUqd*y^C_zbS`$z?ECq()J+#1%ZC%c-#3E($C$Au(-m4m=1>APL^L)|n>!E`{R{J>+dLg#f +B4p2VQE1EGAg4URtsU2PQ1w8CgdCm&`jDO^H<8N5wzPwtr18#GDUmRE6C9;@j))K!7TTO(>&ibfbStz1R|pGTN0V-a@ +c?bl7W@D0TH1T`g7>73JMJfKb4S54;Zc4=~Sbzy8}Zgwtkd7W2nZ`(Ey{;pqfb3a%fY_%IUv+TOn3+`RlirZ`s+4+1X2Wb$fAfe(@adFMF0x62 +QNJdWi5!IzNUtm6rxDNfI(vSeQ0eXA9w9g|(D1%~$C8C}HOpXRmI5o3ZP+*Eh4*?E3s>#x76KUYLE@zkU)1#k({85r?4{K?C%@v>l(i*)I+Pkc|FuE&HD7p*(-4rmI+KFzcQwH +PC&O5xdVo@uOUdOw?!FMaTYJ5lcobY|#_W1@mp7o-Djr2>XwiO@lH{!lS*B^up58JOHM^C#^S#sCLVc +0Qi*!X@#^jEli6|cBK{gB@qf%pv^NbO`HfOl*k!!uGD7{3&DBc15wu~&Iu?3a+#(24A`YD-61UM`rDT +DX3HnuL5u`T5Ry`~H3F9xojH-Kyo^hY>SF%%JFKF_KQS8LS_~A9tV-3rq>&-pKpaZtI27VocGJ9*@+j +0Bxv1@!}!RbKx9daG=CoJ`7IB8~PHn-k@3BFSEal)M;xZvfNsUB-3GUx6$|L|EcmzQ!keLY%2_kk?e4 +l$Yr@52P5XSRDL2g5E`sZQRBT_Z8+A=7Hng&xVWg++nZ;TCmEzclvq?BJbC=X9F?Y$1WMe*G3{|-g2o(gj#GO2Xt6`%0=bj{LRc-V_V=IC^ +6IMM;o?KW{%17)#VR9+@Y8cP@;%qMTUcl453^*)M3<0LrY{s3ep7kuvrS-f1YFB1^Vi$G7f8pH!zQ7U +@e`TBX6N2@xF>Ph7VmMSGDs&%p92yS~NMImFVDbyD>J+x-SZLAd~ +MDf#0qklY1efS^?_Q{OccO-e(hk)%?8MCgN0l$Y*MIl2cISd@vVi0tW-NB&nT)h%x3GR}V8oRi6AdVP +_xtpQ~xd?O(_stBSP*l8DNDww9G0OHZaR|tEaYzreJ~-Q#haGx1u@TZ$XhJ`yFgS#o3yLhyy^00NVSI^a!!@fJhHzI! ++r4Yw9W;hM5P8%XA9EAkSfMi3wJB-k(J!_m_uno)^gGfi{zfc9=ey|KtZ)w6K>r%;wNdX+u_RJEO!(Q +ZaL+B$-oSj|Tz@dLeMMMaGG9tRkfAuAo0JCQa4Ym4F_F9p)t=FzgVlkhasB@Qo(fw0Xx7p8lu74HoJ? +PPvi6Hl_irF{iiN?FsANi;eG|NDjwItIi##4Q7mSdY=W&WYGq;6~UJdN*LO(D!3l+X=ul#*k(hI+}E2 +!YK~{W<6#*qj~0UZAC-T|NnzLwN@*Sa@}ciL!gxCU@eypO#_Zra$`7iUjaCDs4p7P3QwZ&gzND1 +CiyHF!LcIZ+rvZeyx^An;&!X3RfxdY|yRJ#wee^&e~z5fGHO9KQH000080F$jzQ3%%z1SJUo0EZj^02 +}}S0B~t=FJEbHbY*gGVQepTbZKmJFL!8VWo#~Rd8JwFZ`(Ey|L(tnb1*~#9JR@(AwvpuUD^d}(xU4FT +@VPgMB8j+Nf4>HUXcHNcgKfB*^blAXc3FzJ$U!K7d;-2|7z>HYBZa*Wu|3SDmJScwyK(2SIGXZ +gecfd7D6SX@pwEM&6;Y-(sb79wh?K{lD>wr)S@YQk%;e^sEt`I)h8ezi;MgV+I1ThooAPpnZ6X7=UnsMqFVm@>J4~iwq^Nr#NgBO(o!hJ=iV2W=CRuq%0b;G>|Q3gsTQ9g~OI|CsbnkMJRXG~72N_*4Fcq6tjuvKQU2E`diKLb3j~98EJkEeweW7S_^eEVek;MqZjO|Duv$<*ab5LhlZUXDNej#Co= +A+U_+923V?09hmltu?3_ActNt!^opKm=?xk+l-A?>80@73Yn9hMjlI0l~J43ii@Qe5zy(7+>267|7PK +1IE*vodl6r~2o3OovL3(W-WrVNV9RU-jSteVjiVlxS~Ni`x_g8kUh^4B=IOE3gDv@*O$BRBFd)14YrOzFo+Ld+Uj)l40p3A`FEM+S;P^X%z9ltr367VUfWQ^SS|xI1h%4Y--Q +#CN1w|(8;{vpU+Fn-Bt3Yi6eKHQjUMYCTc(LMZg{q1Y7xNxB3dBzzUmyL_={#$TA|(r*^(uLUD_sPnT +^4oO%hM&QE~Jje&&CsWY(asaja(G??mFOi0}LC%a~qO@qc$VB2Sl&MAXwcupTfcb*pk4WoO=Lr3m^wm +%kmCdtla1`=_ef%^=L;CZ{(4_E#TZ?`3#KIOB{yGrt@umTBoU_Idfk+=bd%65DM`(k!dpj85JR`o=J0 +$#Qh^VjM5i%KPC`uw{+t&%=vfS@Jv&ZK|^8UGF=pa+_nbZo`go~t)Nj5LIbF|k{R)WtWoB?$(7A?AIL +C@_z*yC;3SwMk5C+B%LdL{HEVEPZUo{XbN1zr^YgdfL}5D-fY_xZU%Qcc>Q*=N;}H0s&ez)>iO+YQ>` +pWa4dkfo^PstS8p5A~?*D;o3(ssJvfDJPmJpG0Dj_YbBdc{#Gc1g|Qsa(f(YMXIrszEpg03e5H||14R ++XB|68ygnBMw%ke!f&Nnju(C-vR$N%nh}S(sI?7`GmbVcHb)7yK0tKLY0TQm;F89QLhkp2RQUmhh(ak +5&%{Xnn59Ip(;Uoe`W%qor2O>ccE-Wb(oB=pWk#P*ch-^f2}i|g{gL%(O1!a%Nb6l5|~{~jXvzGbr{> +CY|ri)?S1N;xdfjiaLT2#~8gr}L?tf|?2;3x@WSK?-U+lJO7yO}4k6U&S7t{{*+cE^N#> +t=t#A5BJOj`vhmO8mLb$M!HnJMVcP(L&!#AwpbPQ7NRbBM`LJ6jc(q^Nt^m!zmm-K;WhWHaH4q6W>_L +2r_$aGi@%G%y!uRnxS!srY}2wMkaEVJVfOxf(4n=`q4e_@OPeT#9aY4MY8^YVsqEm{MNUA%gBxt2@Y4`YXb@-+0(kT)M>j!Re*~puuVeamJidYujKWp{O9{YFn5L#{TyU< +bz~WOk-@XIdW(CKe?65+Z{B1Xm;}8k-#}1G2V}-(42CE*RKt0xP2Ou780@Tph0jw7#p@czqvgZn6SD_ +H$ppPKf0R^8RUJH?%%TyN8WHnve%hk9`Q$`+*!2YfY2P|R3&yGz8%w7NC__yG9SVzPRf$c#aD$ +JX$rpTG{>~@7+=~2)Fv6ZmgvbJf!IK`UDIV2u4B?ei?Xd1=lcDOSunmYu!YX@z!)LplEU|SsbnsQmfO +pzpsZ^+-!tw9LuiPNRuBcqU`&qm~b0<~4w;il92dK@qx-?%~+P{8Diw{ZIrW6lEGUD6A=TbOjcbze$? +<5V4O1HCf|nlW1PIwDhAV%v2cCWmnx;Qli&T7&ofio2dW(02fKD=&6P*xzsuATfZ!mMcz7c&6($mqS= +m0n;Tlf>5Lj%yU@YX-sgUA^i*>Vlo-zCbgiP-iR4qRp<(+ph+lTLJ3LeM)(lM4~VsISjPo6XvBsuuoz +T`d=5~+T|L31O(c>zJ4v2niVuE`BR3!xCQbI8LB_oX(9w#T3VG`ix6gZq55g +6cLbt4o+wP75dDZ0e7z#xng3^dR!r+ySMKP*wz#h-G>Kn5Y*EjOQ5t=@N|hsS)}Cm0lTOBmkw`9Q;I; +RW0LVF1>Dc#u3)Lqps@#Hau!-=Xg`-fKDQk3&{qA^_1~{DeR=4LJrPT{QT>=(hwEh(&k6t*7gbW`6WY +5H#S*@JNRj9eC)%g0oVrpu`ML`Ll`-Cn4o-T_-(V{{>J>0|XQR000O8ldVxvU+%$CO#uJ^X#xNM9RL6 +TaA|NaUukZ1WpZv|Y%g|Wb1z?CX>MtBUtcb8d38}uPXaLzz3;D>goBviMiWn72`Djc45*2xrE~|Vw4G +%-CE~AlTregQdTRPU=Dki2MxQMu1Owg$C)hwj0a}9fCM8T@Vgt(@tvHGa5`i_|BPXCN$u+3lq6e}@*x +3ZFu^Y2OXeeF?L{vW^aG@m@Xb@Xu<(dfd*0p8rq98}(OV!Rx_36K;kzi7?W3)oN?-Cpw)SpT8S#1}4c +zS<+uZIt#;bT30t*S|N55er!C5iL?|MVqO(3(FfQ(jyhla`mtpBxxktb+qJ*=u#xGOk?GjDW_j;cYkr +7rU}=HqCO|$!PJRk;>vY=cHJFAo3!8vpqUqLh|BsY$V4j2Xm%g +`?9)?!^Y1nq#rFbG;YSwtyPB`GKFuiqUh$&z2%eyP7$BJcINJ7_HU4!<_Ri;%1T +LZIDn=KSf;G(I4HAdpT)XbA&>st%i?1I(1W_QgB=>(a&YPH`rP+S#Ix|=_Qaxj~f*3^visKYsvbz`h& +V(pA-J@EKGn|15TY&IBD|7u)kp^;6-x1bASGbbN23eRP&RZ6aVn~kszm~bpE^YA{_#~i?Fp|aLX<+57 +3yw}AX8YOn9TlR`TOI)ANlQ@*SCN1`ww?_Z}0v*uZb +zSeV)GJ-f&zyrLfIiwgu~?(Yevy8r3WQ7gulN>Vlyp0$-j8A50Czw&iS}swZ3|*OS542u#FL5;4|tKu4BcQ)Ixl1gOEf37L26l*`R!=HfUWSNl5HD$Bb4xrU42hgwj~n?0jW3`}L> +nm+a?}{5@=>!(uYkuyu=P$}nv_gU80ib16Egm^TzusBO$H8_ZxkVi|?^HXR>hgr;@icxlCkxC*hlGa5 +!&(r>JhP2@9dJYP|MfZFy9B>O;PMDWybsp=nKNxd%^;^hlkbLsw$?*I-m<|LSOBou{NpI|qc$zlQ4`EA>1voEt@IM4{( +k|7F*fePMl4OM_4a;N)f4R_If=qh6G^~Z(tKGPC#%07#h&FbDOM7z%Ws3B=-<=J+m_UG(n|R9cOc9oJ +vWf2aXp7oo->pH)wz}uwbmDN#&S?^JNDc}#@tYyNhSJaXE=EVM1fN%2!$VhT0{hs=ca(h0XvgIzTiwN +kKpceEZKV4EBOhiGnR1$ba$774&U!%&9Ntim8A>V!!p|{my7!p<^<;wU{J_cs{aR08qeMCu@R2XsTO +wbJ!=aKGCzJC53cSTVk%^filM(Ds|=es~oldBaIm}e(bn{XBKB)(^O`B+aaQDJ8UugURs){P~X3A?1% +!%OHyRNp|I(#EkH6(im!C_2oVH1hQ!XPQ_Ly9s{?gO$y +Q#d=eZWG78>qAsE>Q?keu*X)3|_P+#ge)^CZ1P}an=y!ex_#aP*MUWdagh|Puw(o+G2V2V)d1f5l +r%qgQ_ezd~QY8w2>KU79WLZ=1QY-O00;n+tx-`dy>gBG5C8z7HUIz^0001RX>c!JX>N37a&BR4FLq;dFK20VE^v9ZTWxdWwh{jB +UxC`qkm^bFxk)>%JMQ#)=R13vUT%C&+K$iVKqMrwrbq< +P=`79R;b@7&$N*o<6WW8o-YUZRVE7qG@YR2cPE*mXU^ZV$?J}>L#5?FFSYn5!cUb&yr5!@7;B;ATCuO +$q~9ym@)wnD0+uG|_ME|p+hnJ=k*J0zfr&k1fEs=w(y#eTovCvQ?3b6c{-?S2gpES;SFT +^9PY;hKa-Tv{-M_ypV3zE&P5{NRjDU?jM=9-=Oi?Nq_yvhkvB6uP$HzCB6Cf{rl_p@5W|sGv&0L)s>c +Y>E_2r3_dqtw_3cf_1n6sa+1}QUVLXJy*87~vqe$mB%D;&sS>)`q_`xgX;Y`NuC*BkYfg_QV4;f6BnPT6gLvaSf0w_Fx{UIGhb3}gojA<@`&gq*_SVAH0V +|6)Gma(i{4$|rf;rqkW>8nw{LF#lHT52UPgvdP!w-UopQMZAK9Xqt}b7_iH_*)pOogh$ksxy>fDWIU? +J(81Ny=QoTy^>V%6fQ_YR)kAGNaz1#w~BXxuf;1Qlctb)#b?%Ec5-bP5BN_9&g81B!DND=nuC{+Y1ZA +IWaoA?cJMvD)J71w(3R#E6Tj_bPT^8N+{*NlO4ApsKY`B!TZ858jSU`0Gui^W-qT6 +&*d+&&OW+bTPD=rQ^BPQaob(BUxB~AqU$R=lm$~Fsw)z9x36|GYq=8j*iy8=m1(+ouB|-8Yk-5ltV>Y +2JiBlw*Q8r^z7ogGGa*)h)ic%>|O>3DNLSQ5WJ%Kn{vwu=ttAKw1mf*W%QP}B}`PpqxWrgHH-zKiV3=svJ;`!oT6mRcdg#NJXptL*68Z+E4r! +twVB#g8};1*+f>r6}^03qpWEEg_Hk5>%-QHRr98QEtWjn+kj%7h?hIQ2k%)!!V8hmx{V!^j7U97qU2v-fpIHUk_9}T+?{`UKd^`(Rdtgl7GWv +OjR33#1#3WYR;npP)QqF7JbfJ>AGhCc%yK@YnAubG#P<;V&=e5fL2&4a;9AZ=)P6m$%OaaeU|f7Iv@!t<@onjfgBTYHW7qI3&&gJ%w8 +z=^jI2Z9FOQV<1%wCW$FPHetWoeT7wimhLTSNsG`X{1|IWY$aMr^hOGGuBjl={R7louj@ui^WIu}xQv +cX6Q)^Qj4BEh&j`yT(Lu-Z8bh-K4YY6hAOTsUwbq&bCcXvx$1AvFetn@|_=*_2JDEZgN5&Mu~-sI-7Z +%xd8Nve?Ad^zZ|ULFsz15W#PCx&rB_(`Ygp24MstLT~8(QQz><j-{s8|_=%o +pikC!@^a6PzC3^rSP@te?Q{p8{)D(V2Brhsjvt8V`W*g1js|4ymE0BR0+!#ul?bjC!#&rT9n+s~D_yH +j5;@Ak`c!CwAtFc1rgy~I%6>#iEB&OVh?OdR^hT{(!5Pt3=muk&`2l1I~lGDG&K4)Oxivpj!{oGFnRM +5}@eu5EC!C4Sh3C!Bi`Z$_lJ%E9<0^LtBuo}Dq%ijT32I#Ef#t!XaG!fRzuXT41}Nni-TAns8CDvQXONs6`PkzG}G- +E$SfD0938&orNjP)(xCc65d61YGU-e72ygSVA%Km1p?s@KekU6AlkC1C_xLM$iz;3r{bQQ4fcT_Q1{e +g8cuR)NHETF{2ebFF~Y2o@pYAzO)f~NHDudWj#(rziP#RscUdg_%fIVztv!HI~o?HUcf?O-W+$!2AL<00_h;OqBo5Ol$f-7D;sf`yya~&2r_0e) +hmyI5Jd30+=>>6d=R42(@XN75s& +evI{deBw)3=MJFLZH`zJh`^=!R8xATK)REo#_7&KV7cVUO9WL;~r05B&_4^IJY^b*iDy1gYp*e~56x) +`f4J9@@r +7jarLf62>~WX|V`5nvW+%sQikwJc>oyFA+1U;kI2IA1et?*lVb; +mLg0@Y@Q5=<0^3k7T6JS;1z2InET$;dD2Dn_VV`iRZ0bqUx+-PkFiP{Nizz%&f5I={p)9mz{sswMq{Kr+Mu0-qi!gClVs98m)L!-&J=!DbCY?yri4DEXN$<}#lyFGy! +j1I<6TY$GFGK%5DaE71B=+l8gI;O^IIQ)nb^BULX?zI<b1=}|6N9fqxYA>| +00MHyrXQ(tSdG^qyaM7@U@faQo%2U+cs1!rR%;8^;9<@e@19(_b>0yrm`l +I@Jp5V=Z|F7Ur*jqX|G5KXiiJUz|Hf>Hi&$XScprmoG?;k%+*dH%?=M&Lc^84gvKOa7^3t~$EyEv{DP +hEDHy6;Zm9`8=x^)gy?F`yZZ_nrnPN>9)mrD951O2;p}!Zm?~p#_j=ijomK +ChID~q3l(C#?+ADzVDPAsel8U@VE-mqB?O)RU~7||Q6)Wg48v4WWuh&z@lI7o#ybvkNwqzHBDN*AO<< ++k-LeF4c->ZG +GPg;q3Mt}fm@8Lo*#OEru9Q2I6TcN1>=j#-`03eKzx~b2mtI;$`<%k +IHCWh`nWJ~8Z6yH3Lh>cu-=r(G2ET(7d4vWc;9Ve~+o3(jDk?~yd6_D()D^{0T<7k5h8HWyNlN3kc>Q +1!mY0>-5rp}dR}ayBF&GivTgMRhYovy@NDB|EXh?N8CC@}0efos3104C>1>?hCCgyebjpMj4UAvcofF +~g#vZHiUHk54`0V6`h(TixpUa+%~WzDd=^KR}vjP#fpY}9gh*UdP;e+H|M9XLej#^z2Sh4j!0>=_nW$ +hkjkT#B6{@Y1n&B^ehPNS0@SrKinMpE=iGv#^BkS8WfrIF=YVCjJVk9T((|ZK* +hZW7CM4=ZEA#Yb&#RozjT`#v3!8gawjk@&d@o3(%hLSYwnz)W`Y`#H`(*S5~MO)z>jP!nj^;E{_>Ln9 +O56J}{9ne>wLOa=)DLfoKRfFe;%Y!GAAS1e7B1E?*bPbVuD+Wc*VL^2pU8V~TUYMs)MVr5K>btf3W~- +C#PkBbqJ97a+Dn2&%mC?9z0id!jO#1kR!o(3mn~-$j)&0%K@qn}TbL>L?(p-E+ntTg9$Kjqft9vs?7#W3a`qv8fsCebjxL~bZW$7isqT1EK_nVHZ{|R>v%ob%(Y}?${#acTcKnp@- +xeq;5C!^jJ#=9w_0V~m={_reM&)NMQPGXm@Fs&r|XjKY0YeLUcxl1+N%z775l(x=C?jCXL(iAT<9S67 +T$jmnrBw&{S#vQ8spgty?S^1jxJxmSpGrp{<^vO{pPpxl8r7q6VWAV6@{@=0^7`_Tdobj3BX&e${?7G +2>kx`b4x!rb7N~Ea~kv-Zkw8-W~zCus8-7QWuSUCngSWtCyc-Lnm#8uFGZen`IbN0b28_hxZ~T`o-3o +#2Bzifr!JIbGlY{(J6cDsBsvdjt8JfWLIb42MWBFV{1GE@O!2i~yk`(JO-0;+iDJ>RA-BDVhIBZou_!<#;@P;WWDP^K#>0G +6Hh}D-;fbYGRdp%(<~bx-GlCK|`l)Cu}iHsN@6Cb20W-kEetg5)!aC*M$KbN*h_T>_ZY(q)2P$+XDR? +9Si72hKx@Jv-rE8Fr5`*ivbMQKFmnA%NK(k27=Qb>NU4nK_%a{XruSeni;{6DNp6kfPEG*|2PDwt1Wp +z!bo!p3EfU4({8!Xn^efP8oE4L0;#b^6&v!*JTn-yXQpLh_@VWKfoS*PL|lavbbZ>-_tqRmAuhs6n`e ++7^SM+_oipp-K2BO7o#H3d4NMy9K2Uc6oJ*+bbm$X?-bFF;qzktJ_GZPmjx`h^f2KmLm2vz_|A7`D@j +E&I+VbV9iq0lIJe_2GET?yDw{-8f?mgm))%#(VdAU?`mM4)d(^HG!EJ-G4pR06$5Nk^7;|6mXl&7JXO +MX>z8EXc~-NdE6f2UYbua8o--Eyae-%-@*48BzgVDbrQ271UKpp)EmIuO}hO+V7O14I6I~>OODIM +Wa(NosccJy{?v)9qRXmlmsy@4u+i+GgmgwjpLP&{DtFX`7=8ttpDutw_pIZ2#BQ(u+p_z}qWekRlx6G +GLu}XojK}9=@!T~OCyrw5%b{roP?D@P{fQBwf+r#59&|)!OVs@YI{lsJCK~VZCk@H-a9obMZBl?*)KT +(6r-oZmVJI#tX-~prc-;54Mg65)bJ$F{+->){1jkljqjeUH_}stq+Ob9Gjhs8HNmekq;ZRISP)TG{tv +K)svXn`JjUy)JNzIUd8tzY>IhXN=iU0z}A3Au>m%yXNzo6h#px}ATTbK@ay@=Jv1{$6!7Wq=#dYA;{n +iXr|B}u_d;h`cwd_RX}nq|;wcRC9G$a0>E3b00Z;D&brNQx@I8c3;f{^`q@e2l6y;R#fM^JtZ@ROA%U +Wo=UW!i9(95YeB?9oqv$#x&62BcAOI#E@Lc3EmB%pvQQ$HnmsjC&LRj&AjVpzc8$rka%Rci&ccPkvO9QGhMa+w0S>T=S6iFjy+ZblfkGD)|~L7j?s4-& +B6b(w>HsK49vs*Wgi@$!38&Bb&MCCsZh7jhT^CrndA&(*aGGsJY7p3>8)h>?TALx7xTFn+#`)0aXw2; +XtH6@~M77WyQ*X3%`)6i!k9vFU7s;jzsfmOuu6D(!%YQ<-N>A4yt;&M2IC{cy +5D%kGu9Z6%Rv-1vMpH5RwW-tp*n@@pkZmvKln;@G9CwQyc-LAl}cBRz&h1FIVSJ*dpVin2MqiiqWMM` +8`ESu`VUY`0|XQR000O8ldVxv&D-tE4G#bSZ!iD=9{>OVaA|NaUukZ1WpZv|Y%g|Wb1!psVs>S6b7^m +GE^v9}T6>S&wh{k-KLvXSLz2BK@14)~dEs;F7w|G&o;np2Xc%Pp^p5?k$Rb_s$GSiF)kXZBn +2>4+gxV$eH2rH&5!AU9JUN=1G!o<7~ykJWWMbF}cp`Bw{y$l_JeIB4Qi{^Hi`RkKuisu?iQ~Rb2{ya? +H|Qv0JbxmK;gV>a5xoBAP{FDKFmeM2g8|S>`DV0<|UxSezDlSuuVi^Q5jspq?iaJ)Y#N6^LXWb7_8+h +E@?5egM*lGUJI~S8*bJy~+@evk0~m!07%ZX)HrC-<>e{gKZQE-vtG))>9gZWf0~W2rATS9#-*2sCQ*r +l|ui9b#WE&x>^UwFUUldYLZE{v5pj@!h+ +(@BTElauZ5_BT5tG^vxKk$ +wmPt7jHW-zmKa5HgL0U+Q#EczH(OX6&q6PNL|ALV^`5u}1#CI! +e1HWuSE4Njk!UP@f55PbrU8WWdBg#XyR@c6rNHO&IeKs9Dt*(r8HxHGgyiu56p157U6APSL&67$5cpo +;S!N4(Rv`|+WcHsRbl^@%^a8xk|LEqlC-I))_J7F5KHa00v<&HD2ZTElwuj*xnUxw%mJjgE*^&+EtdrJ~Am7@;Qt-Mp{w?7Ed;pg*^bxWG49f=7I(3%q}x*Vh8sU- +Z{Gg(yVna7lef69GW%+;5+?nv0p1nB5;!`L9R&>#g6Kn)>)g;Dyh&eJ9Ay_54UUH5sTrCLd%&EB4hb# +!Mi5@h95xK^y1GoXCiFT0Py6J90hX2A#?@Mh^&8Ppv4Ud;u_SpULJfA#C~7l#8y76DIz%jlgSENlu~n +kiH+wVXGd8c%fdI^kas*}iI!DlcagPJIT*s0DJj*hU1fwKN(sqyzL;EaKIw4l&n6?!l0Dv7HaI2e`^Jb9O64F|GuipLRsHj!V`B#J)Dtk@0%|*b((kXVO3U@r+L|I~1#snKr&2AiDAC7;_Tv(ypvZ +kIi1FROAYtrcHi=PuJ5X{9jv(*Lel;&uGIO6kkFvp>lh4kf>Q50F;gw4?Pu0z1o335c>GX3x{DY +SzCuZcZTB>7{Q7u}ct{N;V4=ym#Xbj4kHcPH;I%YqgqhsbdtqQIOKyR0QHnA~T*51_Sn7z%w+$H2I+q +EcFppbc8h5|}0v|g^`v)Q^?7IVSdZ%!Z-oLAJPCwwsGPT%0l1(0 +8d6pHA8tBuYzXv#W0!Lt|8?b3+SEfz%0WYRhVF)j?J?seNx4=zOD1u=)YKU31Z8GL~rkEF9Ee +$6Uji9i7@a_Tdz7Frp3QU7m@7)r{s^&1qfD4^;_+b^FX|q(&5Xp)jFb)rR +1qe^BM=>#~H{+IlCQeIlUxnQe>R&t6zHbBz?kn-h +LOaXfWucbaKLpwW*_h7;YX;5y)GsrkdvvCnEvYEP2$;r~!Bswg6ggboC6P99bV# +YA7u_892zuV=ve{|NBGvPsdkp-23;b29R!F=}LzrgTE^Cx^PcC9M{ShMJ{9VR*;45)o< +D?Ra#C_%T`~_C$|bFuCy>zvh3vyRk<5;^aFz#nS;FnKnsWBO`<2aLOUoR37Sel8CoXLwQ$%V2J{hnHz +MSarLa#}kYKL<376goq+Qk!@mCy+4v5R7;nu(VBgB3dVB%OUWI|Orkh1`5egn}6(>n@1H6#{Rx0a=OG +$vRhMXf8Q0^Dg)(E*rr2u#n&-wchAf*8Z{3~*F{njqT%J?%(DRnO=K6vVM|L+SUgwE#~!+#sM{*Xf`c +(+VC3?v;bO#0J@HhQ`zei0dzjT?)2i-Be?5Fyb|^9Ep7jy`!=nhIFs*+hQ9z4(N5Ak_vDAm^OsEDGX3 +XjL%c-7ua4N-!1y~*w+2hJ78RD=6n$I4buamo$eE`CmzI605IS>SB?M=Q);nx`v5PKE#FCqkFrixJk$ +0owH=V-v5Rsoi@tj?d;`!rFb!NOk|k9Q_I<_$s%WhExykc{svF92EcNvWpe^B)Uj5dabg}0;#R}~xo< +CgI8<|*=QiCKF=?xeb{4%y2awvFJ+A2UpFlZc~j)h@eVq$1f`h*_p(;g9+*rm +5GO7tBffPp#Nk7XL1ZDJJF%U*lTbxJ62&Wk9DBQb0JNY&Efi8eNa!^h_CS6o>5bfs`dbAY07-xzqa5$ +tkjXL=Qp76TA+}NxA+lY#-L%fBpRMJa{p2baLg8Bdx{4KiEf`$Z?=`K(SAc~p%A@bFO}A)%?BX^JvY+ +B9-lPC4Hdg5)Jw@eeR4fG<+!^*F+q2YIdubt=6tBNhQ*O@35FSlTrfx>bV0vhZZTrj3**{>j{b#N6`a{Ot7E>ABaL%CH4WmtYZlBW~E~V|F?}c{XJyXN%MM;?XmRQS9#gN$ +})s#tUFMi+H(>vy-R(+@Bxf`qV!;L#~g{PEQ`q_jCP@m+bT$xt>qi{CsitY;p3);#!0=NNDT3*($3K? +()>1&pssa?FYyiT>ayr8b8E+r@7;vA1%(#7LT7;+|xKLbD1xz8EiVrxAKX9+7Q#s^}UhqJGC-7{fXEC +L*ujqHTG2WYvt9!xgZHUi>r%n9lSDHKYm9cikLE+p%yniCE-+< +=ZxwlibW+)Z<&?-YsdOQ4U^BB4W*xrUr2MlR)t-HeH^!M;q);-&AbXRYeV^jt!pg@JNo?vCW1Lq +<#200=2GTP*gs~{HXu(OSm#5BqOf7~P9F$`j$UOLP;j@ge8MUC1_v;!J^!{dbCB*O2_f4d~XjkXMjB` +1$k;QdZsOE`U3w1L~3_NYX;YE(i6i4_Fa5){wlN|iU`ml6GaS!Uh|_%v}4n0rZ6FG;Y;_V^As_8Pc$m +3P>n#@g7eF_}V9T})A8hVTdKG-jCuRhxv{uu?5yDwHggU#hT6AO;#f^XA?DFy#pM4$s5A?X{~Y +V(?UHLx0rJT-oD=wIXHa`DpZz(B!3{B^?c8=_~nCfMdqXO5B~tnEC`3-L1HBnTqa+BFzMy^J&y`!&iu(c3pD%K +n3wkI)Ni>9$>nVY%DHPL|XahsL;DhHDZ*HI$rOJ!T4d*saS;kR7P2PxevE4meEzu0t#Ukmka81{Ttq+ +!;YKi&o)QlNeygppro*eb*?Dj3Jh%^0<_8lltPGwBm&kXs8$abwDEfXEh7IO_T-69XHWVn1bd1ba=YaYwK_<2u=&GgFN7ol1 +-u{Sjh<>D{ztg4fK06!JFRajDW3;m+=M{nh@rro3CtH|ydsrZUzxij_bYIvX54*T|>l|8nzUZ*q4=1s +``|H1X;D-*I4rN5FFF9b9HT-u^_si6yB>B8r_NZcTz`sc?D%bm8P>Yh}_fgA#qLB%Hpj?U-xYSO+(VP +4WP)h>@6aWAK2mq6V?0Z*FvQZ) +`4bdA&VrbK5qy-~B6aoyir|$jqj@Gdts{yXiVZGw;+c&2D5>)Qz2b_x3t +#q^`RLx{O+-TD?oR^^MeN*OaAN_TBPEOOb2Ak2Cu1&!VbUHdS7x^4&`ATEK|5eUl>rpTFnDdA;2N`WE +#2MWtInVvbFpH%;B}ixRO%TDs|X4^JW9>jqII)rCkH +`~0;R*dp2Z>|kY+x)GxkG&_};_I&6b!{dcQ5tz8^KvlQ0ifFb&co{u|9bVW?EL%Z=l_@e^z+M?FJ68( +-4jsJFXURbh?-2VHgXHhrq+?6PIE{aCEW{7_4kuZNZ>l}Dn7jG!VwCSyQOFACINWDUQX@Fu0N#(N?>Ak$c~PxvamLVI*fm +@L>tDJh(a+1HqoXVXSpx-hCN5?-D?P(!%;fOM$UzDS{|7xwvaAB>$+9^#E96=zjg(06;hZu40MRW^MM +8+VAc@1JUCzbH*J4@MB{f4Wh<|^QpaCniFkC=3o)T?|ai@AMEbPmZXudg$|FAz +8|ODU*uBm}-o{DyNw$6ukx?EQzQ?>{_%vCiIqn5C@mh6EVSq`zx)E)*UjD^n4iy&d` +^N+h9OqOBfZ?R?pbY%g`+Xc32Gc8qn=P-a{JqYn8WK7FaqQ5UEAcDtZr0OSCh?+nqsj8RdwliuHR<7f +K^>cJvoL|m=~a)On*=m**XWx6d5e;>#V +XFYb_~DX)VILf;Tn(?d2H*X0FqYlBH{-nKuKOe+w2|8I9Py<^i{o+mGdJQ^7Fa^m*2PMqF$ncAznggy +Q+{)xkq0F>iMV*cxZ>)phkiJ`e*b08;}mWr7()}=w|W2&(l>|YiWqh +e!X~Z-FplM;Mu7^2eYCs}EbA}kk&oTM_;-N;V1U8WGaU$YXg_U#6+@uj0Pc7oASh-3JM=|jwz_F? +>zc+JyB<^{G&<^css-6&sG;AaV~-wuJnKWT$d?-DnL!$t}Q10ukLnm-b=e^)ajtBj4;Aaums)Ie>wvQ +Qx1<=$I%pjT+52`Ni&bJZF!)(T8Uxj(%ZrhJ@O-aN7|vQ1ua&;sjC!U>(`6v#cpXNX83WlYg}PQHQ6& +2u^=MnpB?bce)(7_A!WK_HaOw_0p+h|6a!s6=SPmc?k9!61ft#9p?c!rAI;K*ymFZ!CTQBx$BI^kBws +S*eU)AjS2Wcrd?!4{v*?R`ZOZLT3GgNzp&E@)=_EJ1w$e*heNx(JP6XvF&ur|_S +c4Z3dR>MgT6JTf>RHuIiU +3}!_YD#SGcL`HYw{BrCAoDe>N3>kc&3i_145#(L(sFjQP-ITm +x5&e>X{525IiGgN2OsL3f65u6waGDi +2{M7?V&?@BhEDc?dMGf!c7tIMYvktmh;zV`sNUvH1#Kcm{=DwWf{++spTw+>!O#gvz-$4Km~uTH53>W +$yK4I$O6vLXSoH+tJfv(I$5%&vv}jU^NzYS@9@q0x#=&(p4=n9~pYd;09zmE_Kr#({jY0X#y8RaUlod +knbeYL^(9r8}!vYK3M~)~o3b^}u1rfRKK$b9XjZyuH-pQ3(s}=gAN}I4qaYl9lh^~RCeKr6(Fe3Q9sC +hP%UZ6Z~1sI0$kB-_OzkKYp<5ujmvB6RZNQ9=-DIIV|YZCC`kQMri2w +acjd#N>EeSk)AqI#$fHkJM23SOT)3ffYj104c@vRVIzPZ-on4(V~ZGgXTOFGmJM*-#^#U63``K&V=s` +m2G|P+h>O=`Wn~f%(f#s~7dU*d~9Pn+&u`qxA;&A+A+R`xDpr@AAJ +5{?TjRw9q%z>@s3J53*HYnH~Tc5l-2NEyPAW07R6oDS6iyaeI?Ds)jgeu-om8#Ezol27jYC?X=XuTP= +7#h)2vc5Khg6b8j4zPx<;xe3||={mVl9IsLOJYN;^}#&}rJVCyEoMwQ{q2*_*RwoT$s4R{LL1LC|5m} +y{b`@`Vs4itLgxPW#3Jnd;Q59kAkzKcF~b28NSKHK)ZmG&b}8W`Mw2I%il-?S+)?L*Pj=r<&T`6(}^F +)1}My$M$CGkt8i7Y2MA^bjYSXBgtKA7GYvIca3w_T9(A;R&Q?d&cb!!8OQ&@`#qJ>;gxO73@`d)}t}< +YLxV<)UoBnoZ_+c8>_O(HAxMO1;T=Oo(-g95XsHXIhMAt&_3Zq+&+aNQnz*N55ep4r^dEKRFixQd24{ +R;N6AodWl)nQYZ5mw6uqj%&dYl+nEO8rw(4;7VHt+RRa`zd)@(#tsxwtH0RCbL+dGIIb0L1$AQ7F2f> +;FcVP*MfhQ7oj$rCt#wnqWIA^2ygAE!kDW^D9D~iX-^5!i~i4GN|Q=CuKk{P~MH?nd;eB2h}2D+6JvX +g;4d2h$)>{ZXu6@qY@5=m!%e{$s962hcd$UH_S`hmjn@q?C6Rh>M*bI&BO&lVHqgsF#`OcwGV^WA7nZ +ycK$@WFRG*D=&x^uS(*%RU-Py5B46L%PfbejbSPOr>aUeC)--L9)-ng1wI|+XdI@!p%CYW +S;Pj!QQX?}fK;>-=u(52uETH+w|ZOcjlr27&{CX{t*)hRId5o^4dfo+O9GDGV2v0IR@ss)9!aG#rG}Q +nFff!_RPstI#wQF@SbY@4?~(sU{IAzS>J-)8G8XC5@9i>0_x}pFaVvsFvN>Z0$9TM#7sKloe +S$;^$&;%!$%Lu?LnC|^{rq~t$W15m+Ge!=U#N+d?@g;T-uJR)+iE6)AZ6z@xrU}FckyngH!ZD&&iv_J +Qrp_@$azk#?&Ttl?IBNA?`8tATM&Cgwj*O@>W8$QuKVrdML|_g380NWQ_}`*t_C_D|~#2_4?wu2{ya+ +YA2BXu@WsW{R+VFu3_%+mDOl7ZL7clC>*&$TScOqhqYuefDC`K#k5PaT%1Cf-?SQI$z=Ba!)c#;=)JD +_0ZgLA`n6b$z>ji%0vCNE9c6c&?B>HF*mU9)!>%Ull@9yct*3tDf;XNfIz{m2bkrmY`~pLp?6ADF!%R +|h2o-(~X#xR#2E|k~kjLVf=i`|HsmqWXXnR2KqIR?Lmm97!tfib-^PwHggDB`H?Xghf$^~W5iu$%H>% +4GVV*MZ{rB&`jzt{7YJr{T~v-L4$lzq211UOqkDo=qh4yc48CbZhBGH)yguj{g;x`fjsZ&o4RdoD4^? +T4rDEzL|>r4QJL37T`cB?n@L?p6_al(+3E4{N#{%36nxsEHP*m8%^y77j3Upnx8E)tpuZE&4WdKYMCK +!e3NG49Cl3h2`}NG}yR3SF+x(nwaJsloU?~65+>G9tSn79=55D6@Nd)Y6!K82`WNwVY-!f9N5=$o3;j!ek +24)>Oe1nTr&f?VF+R~0fc^7DvOr91V4?(LvM1m$uXkyLM&cdzQ!Dr#qt8Tk#}n6>0Z=)6)WsjZt~S=# +txb(J{B--kw$w0#vIuV<-v||jM!6WGW?z7`|PFk(S^4OY4P>F`Ir~FGf*}gaEn816gJWL)@X6K}(Y>WGK7+`?_29JCvnK5!CRcQCNeiYjaElmgt$8eyLa_i2eci +ST_oT<{OpMuqP*gEY6W2N>5HO{cu}1g;k8+Xu6fa*pwx2>h5}D&uD=M@+~GdDRj5BJ<^Q(Su^16XY&%W$t9u)D()qc8*#KppSawM4Di*>nU_L(_+1s9M^vKfPAs*qV?9Wu^2@^$5>cLd)$QN%a_>JpN(-&2C4bCVe}$(OIx;{P^_&SRZM!{4ovR9~tE@Y-tlf+(JB= +Up#SaWT}C4%ywL9X2Z6jiXUiqKT?bw^q4)JA%(`wm^O39NM7rmML&0z#7f>J^Q34+k2srQS@?*>ByinknUGzSBKDOB_;K6zcj%Sq|R`M5vtt +P9%ZRFF(wXwAgJV;jL?%~3N^v-kuaw)3fQJfQ55j9lKxzzQR!#{2P;5mhgV89V1r@HO3rj)f@HH?EHS +J>LZsF6d($z458?U}<2+ItOW9|wk{UeRip!Jq}(N({8H3cBx%(34AdJcc +*mD>r2HL8-%Oo0EiIVhK*j-$~ffo~7;%^uGVd1DM7ty=e9*c1Bq%TG^Eo%5)oy{&nh1F*pvJD^e3suu +LDx(1x{`N$PLg}9(l>$Pkoo)kE^YR=6LN%mxpXIi4KzMOk8@LIN56y8^{VnDhOBiX+@9`+U2;n?_FoY +J>|WY+wenMHq&IoGBpq&4x2f0A#lfUdj(XBz$DgULV)SIGgDJ2wL=lZP63$89}0P+*aA8qY9ANp*Lc6 +!R9V%^ydF*EFBod;=U`UE#b}SF~STtBTCX)fMpT)z#t5+3$lAb0Gc?L&?uHAG&*ai6@BnCv->+<&scj +ayGnYb#>)|@yFvQs=$=aI6a)HB9p&%dC6*wad&VdaD0Qx$Ly-BVpz0p^6vzM_Ru!im75mK_@1C^$(w( +<-GFqLrhEdU86RoDXumlL_`;t5Y78sWndw6D#=sU2QuCJj>TP~4T}c(hmS7%HtxbVs_!uRaC# +0*TteFcmktN}TzSKx%*Ome>*ItQizcQU92p(#72$`*bEa%USA?-Y7uW_Km^o*{$E$3&)H{F@Bo}B>rT +s!lw|5x<(kc_P!`kD(+W@9s!?2bb2EK_u60Os^(&NxKD71`5n6rmeh4D}ea}yi+Vi@IRoXL{A>-` +9vY6IT~Xspi=N?N}0^#ZT$<~c(w6%{S9yaXB_4F=X@f{kNLo-Ww;R=K@=vm;&>ulk%>Uw2XsBu2WwOB +yHxyyD4cHRF=@Qf7)AZ?#+u$oHt-`$E$_zE?DbnkHz$duT;&*Y8q*0%<)p1oNU_YuqYtIe8+Y>j^Nes +F@G7ey(@IXe9i4JNm9g*WCU%Q;As{s=m=gjYE1Tx~M&xQFAZw~}rGk5y<@imaSTcQ$tyrbhzkGK2X{; +|@!llt+KCx89RB*G7&*%@{Uz~m&_2N>_$9YXL7^N7Gh6@@L%;G#u+sC}b4;@t`C1#IT$4)hL07<0ITO +Er_(KPh&qMN$7v2(O+eg071{UCtNw`;*Ji47)kb#4Mi;tnVJr=cqP0d2*oF?d%|P&YsCq8r2Gj9?Rdr +eA7*z5rg>|T!A6v%K_v#X2x|(?!wXtD0hnA-=Vj;{No|<$i&hY{gel9eW7b^={8!kY}@OzW9Wf+R-6M#|c-U&KuDizGoj3&SQ)@WFQtHoynnA9>B@w8?B +`guPQ+~c>HC<(|6?AF`m*;+b#r^t(y%bMSuBJ^^&-;+Fn)(h;4z%G|JvwHu78 +{-v!((F*9bhjzCO-lx}yyrBbcgHtM|3Z*Ett+;gfHaBAM#tMF;!bfeh#^xX%aMKN}6HyR_7FKTyi!D# +MlIJh_`!De`I-F|j_y;FzhvqW^#yVh`^%+JG&>pTP}sc*Et7uUTQ?{g%Ufv*?2U^!d +vlpTB&Ahqh|2(m??i{;gGmZZ9fR_k+7+=KLbkk?*yn^qHdj4aQW(4_?HR($wg1_%KY>2Dr=iCz2$l7@ +98LvOM?RvIrImoPc^3`?_Q0Jd2MK^e_Pdng%}m2fdrAp0B=n^Znm?_x+16sN@r`5(s^ec+}2o#6zX>g +unOy(*ZuNZ14gSN=}i3o3}hTcas1T}oSSSV*q3wgz12Ex3=s1BGm1OusI6E3x!l=`GW+za0tho*z +^^Vu2#aC0*767NMGC+c}kV$`or3Jq4E|IIMrL=6I}7XSbNaA|NaUv_0~WN&gWUtei%X>?y-E^v9RS51%GH +W0n*R}k7m?bgxequT%ha%iv{G(gcq&?1K*5NK&^u}g_8Nv+on^56T0lw~{i2GOEE>{{f^aOTaMM>)^) +%qm-ychuF!3FXBK|I(A{)}khh@6=U_yf7;PV-bw7j$ji+M^v*}TF#QSFrDzGrO@ye-3M}=)J2xPRT@! +L=T%KZu<>Nym|oXnNun~*z)>w!+x9^&H3^BZgNf<%7Is;0YZ+jKbneJ`1vjyBrWL*Q!I5l>EJt~9sVr +B0=pB_MVp`*ZkV|iLAE->vSvIV%wOQ`I8(&x%n%$${`YgK;*JjhD0|atZ_^OtDFwTojqpC(U@{WMpvh +Qk*^i1!LQ5?#U+8ac}0q_A-UffCD6PE)Jg6pXefAaE1X^m&KUXz0%u&8SlP_ER;8z>_X{3_Xd5)pPUw +7Mmcdv%`=A?2M^I)UjU^x5^zo4@|J{{7}!ycTbf4{>>Kwn%p+dmR=+8*__(rSxj$s6w6FND(PeATmcA +i%p}&D)u%Zu%VbVf+1BtowHujT6G;W0xp0uLW@-dLq;J`YXk4XeAl9G8*528AQ~rOx(Jc)ZM3NmoAKn +R8xeqOS}NH^`n)CZOd>^weWQF6A%kmR%t$$bSmHxNq|+3fbPo1X)eOkcUQRCi@Y~JJ@8$Ko_ds!AOaX +TB|Jm*t*mbg{8F&bs%5px>B9&;RP>&S8m1uH9+M>rR0L%T2=V^s*aVBX_K&aN#y-wLMt|&lbCMW{5ic +6y@F9RacnSeP2I0L0HUXt4o`?|paLEcgqrw37*5UhW7dAU}h>6b-i+Dq(qm}f^S{Cnx>pPqd1m$ujX^ +7+*-FAGfmYCLw9GUS5iuQGwpZl~lmz?6S}`la~%>`Pt%=T-*b!aHTT5C^_l^bKyCg7Bvt#tI(t0Tb}CF$bK+vmG?XZsklNMM0+EB>?jVheP9_C7gsN?eqQXmST(X+r}X +LGYE`L#L%vF*IEeY4p73rQJKm2VG4nQPz3Btzp;lYoSAoY*^6>%6pX8@%jH(XPjAtdlAt!r?dEN)!em +o+>C$QmgbKliZqw^A#FEAXkhVhYi;XKL=v%JU`;@NzE90e$fn;k~xD4$Z8#Y0D?seHGBg8cwhGMGjgM +G0Wb15HQ#-ZJoLD2p8!!Jw}(uQ5%Qn?bQznOU=WjtB8Onr5w*PDUD_fg6Gf;6Ljw8?O>;Sddr?>N@E> +2iPg-;U$supOs|C&dSug8%06|o)}!yTdOK&A5Xg3U`X7tiXMq*g^mLozBQNu3`4x1J(B>1Z$V~fJc|# +XYqbnK(!R)`MdSUFh;Si(-4TDdSavT0dkICZki`1%PGKqE +hRMnV4DsBShMyAb)0d}2PIi=Rf{?CY$P7!UX!b@A|;D2^m=mP>0P|3068wO+}pA%Gd2(Wjf_f?BE5b) +#{Kwerjc=JGy(PR~#FxTDxOyY9@%auZs8byqX9(}IPRA-%8WA}8!5pJw=+3v2*2RDjQf4^aqDms(UiN%2Gi|@BA +O3+JF^_?kZTXb=mTdow7l#d|CfLQHp$gX^5YkUobVbxZUJLLNl{k*O#z?}Y6@ +}L{Bc7aJ*Ss6xIL<_A`0$QCuYJ_pP*X8OYu}UJe+ayM&swn85s+vJ+0c!Jc4cm4Z*nhTaByU4a&sNR@=yu|DUJmY +j%!pj*+PyGt^Z1HQrs+t;E30gMZJh<8AI8HSmZgLBAMqFX{Xk5nNjMy(tPwQX*2c!;^{tJ~4YnV +o;T7+se#%)#4AN^q;p{jLyox!S+w7>{pRzNaCgK15w@6l2YPH(CG>pPD8-4EIA_mCX*$_yw})Xm%6eWP#%)WSHcZFCdxowbMw0n)pJmb?au0cfkca$=or +sjn9b7$o(>Xk0B4*bk4hu;Ilc|6YK#TSL)MtY*QbQTj++{YIh$QvKVUP$3Dj-4neBftM>iKeV^A8z>{ +oTvn-+8>A$-i%JZfre!wECg*`ux@Q=CeneTbr9(+nb;t`~d%MC`tT)op#uV9mA;4uXrRTJn>L5T(J>B +Hs*0kN@~ND)6R$XfrtY>Ni#oczc_md0(Yh|<>Pi3_xX)CO2-i~_;C0WL$#8A-oYe +FTp!rbPmgOR#}IqDMoNQ3MB?nEyB55H3nZ}0e0vkOU=0^u$lS_s1uPr|&z4TquJ~q9^aDj3?ccH< +?cSHc)F%vM6dleY~-`w^HdHWJvdty*7xb706nU9eL8lT-SxzZa}KRHSV5>n71$u`WdVv(cg85>2HbfA +#)FRU;4mF$4UZO_AO7dBxVDUkHPvzs06eZawo56eR9rb2$mj_ugq160=hF# +%28VY@g{fgCuBkebv&2*44U>?}0A@+n^MgxNvDTBveia!wol9=wOUcMkI21(ldk_<0YOP)ym-Ot%OiW +NbKQcyFrsNT)Os)8Fj7l-11{|ryAUJUCs~H(`N5LV?rf`*hA4Ay;p(+?Y(jg^iWI_cQDD)sbpy2Q^$z +p~T4ut@TqN#_5M~k(Hi9_aEWD$sJG>vp>&&U2}k?eWT!HMDjn(IWTXn(R3xB#Go*ytD4Gl4V&JT2wvS +OCZA2@!EWZZQoBl-8Rp0G$F`$y0WoWW3M^H}2)|*94KPi4^6#XnP;j20YL|;3K*f#+F1^^((2xJiQjl +C34RuG{MlHB!V!GQX0`wp?Mub`1V}G%4reGfA;Nb|2YEF>O;!{SN{y_w<^{sAcjS2d5{K>X+I-^JlgnYCi?MFN)4mLm|?=BGJAIr%q0Zr#KE^Z +o9t(>F)N4}2?x+?A6Dn*(}a4P>k>+eCH;I~RuYqkL_LL63y_k` +LJbqy~f2BSH6JtQ&zdmcNhSrRS`wvxFp?*CC#P#R*juQnMl7RpdH?{*fj@djv{eQo{}SR)RNv$l&q{$ +OA+Y+o~C(5sm=2mox^aaga0cuL!}>3Il+Qj5fS0Qs#g&DSTlF#l(Suv{qpM&22fmgi#!EOsU38V4_|l +p&(3fiHFRJ7)9cfN{o+DSgi6XT0xK#RkcJTujT+q{PrD#*7nIfqL`}?K6X1%D^0)$*mxO*o>DL`r!TP +fZ;|6}RKu^msX*#p{-RTuX48+t%G01yoo=O1Rf@abC8ui7gs(!nAmX^_8U@-}d!sDw(-Eq`)AQ5AhXSKuQ +w;fi}n<3LehptmAwXy)$TjhFGCQCI5V7LolG5Op9z%GYbE5YY{*>P!fwe))l_$fm3!QMXPIt7~U2=0C +XllofB#!Ekp{s!n_=i)38L+~6VpnQsr!ajI9b$P&gYgRe~MnuJHIzm6yR9$M-;xNSBuZV+cSY0Pz8}d +_?0NGQojP6t{!=YNi;*v`I3>~R(e +(Zh-?Cs$L%xI4H*Zc)a?JPt9=$D!**^=rtT2+IIMq*+RV&YzZE@ +`+l&$C*?LaI#(`q53DwZEz-~{ayC4Lcup)f;eN+fNQ{@sZJJda05+4)nP&*LG#lx4mpD_&7Y})C6nl% +OK5Y^5@^~@VMbSM9Q|p+=y08A0YSx1phu +D_(Ln2{{G5Vbdgf-){K^vSEYLB-CEpB8tJ*D9!2i}Z!bk&fPfz&JPw);Q)gmiuG(+5$Ql4CeaOR7Tt5 +vkLH=k~A?-dQVFRb_vEw_hy|4{Fh^6tCkRus3d({$7MbBVSaPlNVNe`vScOpDDWvY^R!m(px%pK~-&- +Bp_rjhW51CE3UDlQjTClKY_YD?b7d7RHtP<}!`Sg1uPKuiIE#uJ>iHy6Aqntp%04@2erUBuuD02C~Xg +RROQAz!uTls_;@>8{5SjV<@MnaP*<^B%L;`*|(PB{LZn}qRe-b?I#;gwjTYs^=!|g^+(%6meBR46UFs +Et+9iG-aK@7+^Oa6&b$r`BqV-kI3^}xjNfoKdH4PcvV4GJ4{+@JfMYrqiuOz1Z<$d#+EnR|Qu)APTRX +tGsF|3-o9~Oq5=^w%rO}yf?caJFHs+OG3KMv@BcbBf6Ou~aa>$4qUL0qkorYD@+|#++j}-st{bLs-bR +{18!aK(_#TDfr`Muv1r06a(8xFZ7v0#PxGd*b17lBm44A7cRJrJeRQrJ)!2#CXftGI9KH@EYqa94;fP +d3$#5{r0U_b`Z><1-D~+iPTD@*Z|xeskI*zbQ!7^cXBy7STckCs}G-2gyn?=IZI0wG84fStBWi;S~f5 +vcyZ^pD>E?8-F~Z=V^>7JkPs$BYqE~$iH|AiyMd=#HG{*ym+oZRoM_H?gwLj(a9z}0V&n>i%oAs8RhK +w03_oAH`9bbOELO+k760K- +jo0>kE{RXGzK0`eOH%EHcOj+Y;A`HSs0zgW-i>&$fAH#PK?k;O3R3+WZ +@}g_T;d~*_k0jaJRgAg0}%f{fcV2XDEvza?cTR%op*N5_s@@(I_|vl2`AX( +koQ7x9cjGzc9qVYy@ii6T-n +yY@`d%1x*T@TdW`O3Dls>lDFoG4f0;5T!Y>rxQ>ts28T`4D#QHRWymy<djWUdd$6tf2I|;G|ZVf12p-3w{$W(uQjuvEkj0K0G+DO>h4WE^p-ynIt39HRSf$ukqy!N +3{j?05IE6+h_84Y@;HDPO3;Iqj}G-qXea#nfu$}(oUN$?&{Bdmea&c{Sh +%9wyFfU1(ESN#_OA;>vxj_{U~|M;SzU)eX5O2Xw?br^4F+nDT{`6I;(dkPgb#6(IBf(n>__x+w4#8Rq +f?*ud1{x3&9U%503iW7>*0&-2+GlIgjvF|%;h(@>4K#g6kE?><|nZ2;vB&ofuTSoh!3GK%4=PtfFDy3 +ZH>sFU~&c?Z*@3&_E9~m+4nI;!$MuqASpU7F#R#Z5=zTrh#^?RUT7%mJ@~^i18T +e(cBsC8RHHj8id#G`2YG?m`C3Rb;+mtybf03odP=jnNJJ+XD+<@`RLc~!MnF_k510J?>a|s3jvavc`x +O~8`J8%(3tn)AOn-c=`YH`E{<*{kw|!Q(LqhIm!v7F?4W=Ncy$Z6x7?EI-!q;}e?dHbbkhKVTeFIGPz +|*cD}5Dlb9XW&2s-PkbcZZm3&hwX9>&b{CBSS*pNyz@{~~_(Isann%o&;~S5FYty3Ne~bwHUS-j +Mz|8ud;LSYkG0rrEV+u`KuENMf7;!%!7yMW|BACwI2`rDlm#O{Dcw7>n)l0l*-&~uy9IN7&!}@$ts9XM07vV&uy%Qtu+^8KjLFAiza})HCPIBI)C6Q}@``IQ2W! +lo{eAIG56=2ND*_hHRRF{?Gs4?b!Mho)e)|1;4+P*_nv;Ff|Y>jPMj!go1zjG+cje1aT<@1{bT**mwv_l`Cbk6rr4vv +Z;Gu2J`vng<9dUV?RTq<&EpgjO-y*%rl|9W<0@PrNvWT)~SD&fROm-bT8p(;jZOob|Gjb_u_qF%e$sQ +n*^D5w71OGMpnef(2#le@srCX5^((7e>x${IwZE&A?~{)kcS;xoUE=+ssfPm~_42PU*>{#kQRq&_|LuSD3#vngf<7|d3tff&Ws`x?|BwBASa8axM>k$p!Fr=DguWJ~580RRl#a;_>nN8@+%pIUEZZ +uCiQ(pnQ4GiC7PgdU%GGjq{tj#gi_1Z$dg;Y<8$phG%E#b-f(kZgUu#(uD0;Xi+LL&cmq3$N=b +^=2(Ey{I>H2(aLUW4E^HZRlC(gs5_QzzS7wZ6K5kKgb=B6vb@dfC4rk!xl|yHeInV;u*mOzRCW}W&bO +M&4su{-20WWI7?hwK>NH#9lLy8iT@W+O9KQH000080F$jzQS$b{e6JG#024w002%-Q0B~t=FJE?LZe( +wAFJo_RbY*ySY-wULE^v9RJ8N^>IFjG>D^Su0OFl)D#Mzr0SCSgXab{e#lcbXD%~hpbT#AG&tSN#^kd +{?f``@>_@gM+_vghVf`;bYX(J%Cy)9EymWy2quLabl1XKbBjca^Lg#nLioyxgW`#&^7g2aROSma}d>+ +sV8w_;fm*OvDa%v2>l;pX#9O&wW~#qP$g;O)Yl-peT6O2w5s-7UcY&E!S^1ZJ9Mv7Vh1?PAfH;BuQEn +Ny6T+?-u1Dzn{OnVQ=5C`Pq`aTAUNE39L_GJuuGhwf?#%f*uY?@ +5xVLN+Q%PR`kU@vlXQR92))iA?`L`|Zo8NzOMcF^`j7E$5d@23%;1#vlgxUougehv$y5HE-IwoamqUY +L!+MFZ223f*x*U&EDb0%Tr0%>DT8X6AT6&5XTOqv?)tOa)MzmItGGpxv-k+ybRMXM53XK +@*;cEXv*>OYG}msoFKY*h+Z^*k*-Vvda*kOT0jAzlE*5W_AN=796ZZPH3gw3%LR8;4MfqKnWByD`?-a +4h(8l|N2gye5d*k;`4OTCq2+dtADYlFy_+JJ73%I)`|z>ciMoer0asKp8lbe-OKupr3%<;07qI`^9`7 +=ZIbOq)l&JM+5%^-0`|fIz^@jZ&4FC2UI~91|L%a9<6#TAWYC?}#J&6mn*f&-3@Q3)&6|`I>>sUa4Cf +R(MGQ~9ji10@)gsro1O#X-5}Yshz$8?RJt{3|+cQw5rpF-%sStOZCBN{J6O%#>Kw{AEqHS;S4*2Y3_a +g0d39uKLK$J5uPZ6E(uReddy1e*y_5R%BI|MX}l^jT6X`XAQA{$i$K@<3Pz-?Wp_2EPf8p~L5*v02-U +xx0tjhj~ZV?O=k2!!#9_wPN2kR&5&f7gffv>qk5N(@&xYTLrIjQ;ac)6=`Xi&&hZfh!mic;DF@yzr0+VvI +VS>Wt+WkLK}Z=*;J@yr@8w$f}>ih`$qI?5{=Xxk^NG$uyD?(M0PlFCpGKMhY#{VCbh_ML%(&+3lauh9>rm)4Y+Cq_>Nq1Rh~3(OXNNHaZSh;1jrySs@evfe(6C1 +x+@H~O|WE*#3*}!=>m;MbqF!a+PVhM1HNp1s6fxS_I%FRI9^gZ3kGGc7r5shEL1c?Mh7JTf~Wb)TY$H +C+ceer4?nD1u*%f|d{?=W_3aOIxnKPB>iH`jpUawe_xnj!a|T!B@;6T*()x%O1b&3xdd6V$4lUA}dsd +gH*_Kggmku~|&=H@PU|YPPJ#Yg$9WgiS$cf0OHYp3Uj~c7? +yIX`SjMB8) +tj-8Tt^$A<(a)_jnI)FsN^1FNldW|0Riq|005Yd0#AaKV9#{al7fDA84B{fw^1WzOxNOZ-dnb>nr$uj +^AYL(-x~g@obC#4>QuJyrA +4@U#Iq#0v`C(4yn{Q;ZX)7-cpT@H48|tvT9PTjk=O$#h)R7aTB0)hfZBktBwA=Cl3?%ic>AM9rURfgy +5+WKnh;8mepc^iJeIWpD$*&jxeU)7O&*jzUZ`YqbCYQfnTz|a&_=~RfK4fU;Q;3(r_5TSLkw^w)J0wS0g +6no-1QbcvPeDaaNvNT+Bf|!O^jNqAog_j!Bfrqj5p}PRp9Yh9!eaXF`TIqKHid1#r-P0&_O5O0c>}<< +DdqB=dU}*VZX#~Ww7_VoN^eO|j6)Yg^lik0jcazG4iwnzgxaMIIQKPg_MGc7j@2N5+sI57gGA=E)FaH +U?yJmfNQtoMjHM?mIL{Z~U)%(DdPHA{Da01?i8HJDx +ZrK7S1%OG_P%w^4rcT7gFR20&dlD*L+)zwnP9;bQVAWlaJWhm4gR{2*_~0)O9{S`N>f8}wMW0!owK(qS@ALu +FUfZkixm$rTm-#2D%uSSY!v(viJL=?N_4X#Uf4>ImFPh3O`M7oZq2?o`sEWc1wRGp@A0GeQ)`h1kL<9 +v)rc>qP4~5dL}}Nl0&PwdJq1L&qW1uaCEq6v@Rm36p-J}&fOLO&$=2^&7p6d0z%79qNw6q-6*&&H4LZ +Swybc^BaHxhzJ30q8C3e#r_WkAwJne0??KN9n0Q+tdI>U#BUk@2sv+NN*Qcv`lF(yk8rE73tf}x+R0~ +#Jd!zZtj)qK&3KI+-dBUR{|1M7;YJixIh4W^Nz7QK&xUxG!Jqof)pT%Uq_b;KF_Rqo02qt!rz1dbQ~q +%Lu2Bw`HF;p%mfzalWOb}?|yz7`Gl4oV55@F21dC%9(SJTxaucCtSivOj}ZZ3c>ibX+C(3uhgo`!qF; +@bpu@OA)f;^>9x-dziAN~pD#R;CLCA#A3Ovo9SS|zV!6Xys^}L0Qx`5=7Vg@oYIF_cv7uuzLWQSj&2UwC(juLo6s{4os4^rOJLkt#Wt8{M!6Pu_d +Xe*)Jl`(Z<6%nXtW9@O7TBtxQ-(j681FrihLli?-L3(ibLz*>Y5#W%#&2;)zh@H^bn6@%^;v=jpl!Mo +?nRyT&t^2-w{_>|@-8c4sM(1p{grP;GQFEu3vGVI_8_x!bsx4A$P7EDqq+yfMB>zo+Ug$ZE3!P1l)CS +JGJA^SwViK(clTwJg>l88-K-9ZBv=&}>_}fi$^#1U4iP289OS8Ho@jzT!<0Yxluv3BzL22&C-gJq!sR +)ZJd(!_GegA|(qOGLsxXcti3{6RIhb|boO~7n}`EZ`w5gWf;$J5Xb&A4AGX>LW>0i*Y1`N$^b1vC56pO_(B7buJroL(Zm=Gq=>RLsB{!3Ce{s*bnm`-__?8k{1<&W&tqmchbJTSO)B87jl +Gwqirf#T%6;S@U27(7_&6(IG_K0#i|a2L|-Yaweo_{1ohLT6Fp+dJ}{*&_K@tIu$IfReJe{?S~O*k?z +)c%3_mo?j>d5q=Ec1W)ob)5AX1$S+{QWAOJ>N6c|$J_Ui#W)Pt@ycbm@soYo8uXwk!UC|GX?&*q*|jq +Jwe6~y-#VsPZfGu0dl)2;-q(_t8ndI6dfr@K_5M~H5q_S!@d-{9fID9JUw^5zj|oma8FUFuNx&eah$W +Lku_>Cl7Mq9_I1zlN{0-3mQXmkInFxe7HDpv-auDDlOD@T1>&$8a0|RyUDhynwU$uu+=2m=hbVa}nb8Gu$9OKfYH7BOV +3<5D+u?udNyrj28`MZIva0zl$copUn&W$$`PoTnpBr>6z1E$!dVV@=(>=^Bf{0qM+AR(sf>}XQ$fIVv +kXuObJXr0k1HQD`YE1qYLnV0YE<`uY}bAy;1nQRTi4WiFB0N-Xh|G0*t~HNR+e>fP&f7ofkyqK#QZ*TuarQ6XKB$8H& +%17#}n)xy2rLe9MaGqAklk+dyN0H^r`Ea0`g2VJp^iJb-f|Y?nYR2tZguV!ZjRe8if}HgkG;jgJZGXo +xud$wMSOLwZQaq;ARYuYxXTk5XdcAP+Y=)j+&9tLsI07vaQ_IM$F|ULAEq+pj&CSqyPukvZ@6*vn58n +9xO;Zs5F`w{BpdFaItMWbbUbd_BDp&mJVo|lcwwDGDC?_|1WmjGxfP; +6P}m9hdIO8VWGMw%+7fbg;3*=FVREB-CMyjrEoeVSHg>jLr9)@!9}CJ4Niihc +FFd3>%rKA{IU4%zU3%6C8ul$OcqrUt4HUZT*_?~6;z3%S-el?r3=HbXd=pcd8g;I{(Al4 +6O(nW1GrA1JMZen^fRKYf0ez+({)n}RpD3?dM?b`bqpWB)wRMQrx%&)^+*7$`-{Qa!I=^KW@&vaz8oc +oK6)Ekd7Lu;pLZ&(8@MFV;=ySxQ;G2ah3eDWFvEI&r{rEP>cY(R!MP^ylJ_7TFDH97tYuWw>LV31ZIH +Vmnb9$Rl_7u@vg{8OkNT$4vnsmR^v +RNcJk7+daaOIS5&(tWBcE1#|BijC1bpc}At5ljcY@zF82mg3VAGBu!!-AJWa@dCRF57dQzW +81te&`9~%WQ;8wbTba#C-C#(FC>pNwy`;gB|mUo_;Hy)#_L(dOi#J$IOcCuhEcl4ROZjHwu2+Pu&v&~ +`d;>dUx46uRB7Fa46K5#x6srP8ifo8r?9_*T~eC064+s;Zx(eTIRaTzl3_bvRvKCSLQc@6p+=ulm4GW ++h4f6;&hPqu<~5M9!{ShF1~YZ2JqjCeb~fZ#n_CATItqG2RyV2<`3o?X@c#URvr?m5%*NxrQuZf*!yWQJMvNA2gGGmI=5|nLiuK)YZ2LOT~D9MSF+}%69*Ty7)!C+=Em>CR!2 +jW>VTa@YKvJy`pKly41|N9#M_l-DAOZa#x^Nj}^55)6yEOR9jG0ziOit18|-B~<_fAp83_+6GNEpqWR +dMx@_U{inE9Q+v|EQ-09#tV@bm6$6DAW|hR(o70@JC?Ibq`4Ru(^;0r`B;jZw7R5bG>`~D{7r)>&Z`( +o$54I-PZw@E5m$upWmV0#A3eIcxrt&zG%Cu;ql^owN6!zQ?H``(ZvnDY{I@)lN{LebW1g1K&GUtbXMo +E%J_ii5_(l|^h$p3lZ&iV~-jr#T=98gN#YJ@!mlB{PsjABKd|ovOWiW&Ox&?q#aV|D@PsG8=rucF9$H%*erw98d;^$Ct)+k;7;;$#eVrEAPKC`D6N%y#0 +bLZ}Didl4C}3cSK*zDmXW|CAksA9K#r)5pt%R0jZx$@#M>=PsMkrJrt;q^Z7(YGx|>YgUVo +$@6Sdk3LD6>rVQb5*Z?*aWhDw_{sPA8ztqCMe5()}{rWPKx8@-$CLmW6^B9+tSzM|b#QYot2fMnlu`& +AX@Zdi{J^ZwHa4dG9$w=ncX$hzR^ZGsKYi}rek7PCO4K_wcC!^#2=li=S`yg5K4d4Fv821|D&+hKJBl+p8ggKp6!ci?y}<@bHY%< +V;LK>I&3g+gR(N_*E{p#qV(j>;b8Az+?5g34#wIqH$(TofS8ru~1Hi2u$$Aat@mBN_j;|xv4R5RMl-$ +v)kfOcNt1v8H+}}fD9_#`6-faMUAY#_rhX0rGIFmqg@jx8W->k$o{!J8Y{IxC;hEca3s(wOW!!^;A0x`*pM24z^X- +D4=;rpE=($1nV4$Bl3^+j1s=@S`qIm|~04XiR<)E%AoG5Wh&#U|rWqk7V=OXpL+)z;w21mnC^*A<040vb`VqaONnNTOhBRQ28~h&m4CW_cnZ(I?;oE4LN9kuPxp@x0i9AtC>#Kw +Pl%Ph{tw%){yuo~@b#b{JsiC54}K62;oZsUb20d#|LS!TeerrL-ufq$NCxytsu&O{#Y6ZWeKCL;#l!s +EB57C?=s*i=GZihz_VvvdgI8OlH+>E3zqBnk_*cf`$41*^4uD;ePC%4_S2y6&2v80snuilYb{*6Xeg^ +K=7@h!Xj8HF;=isu8G!nfbzXd&Mr&9f@kW=qfXd2dq!Az)H<$GZKsVnCt^cSqF3(+<<`xo;pYrGjDHF +i$Rxg2a0G_+Lk-(ynoB5Zh%=Vgf^=o?gIY*%wYh+v$Z_0xn}7#h=h2;!Sad^G^`pT<}UT~b)}qR3zXs +_hM`{1B?^+Gl4lR1Yr1!!Y^}(LBEZQ&A4Jm9FL)jt_z(+S()%M`$wMq^%lWS!z70@zI?id`_3tGv%DB +rrRs)+Jd?=mQ7KEUx2s4eywA#W7lyg0EbXHTL;-XAw+_+C*vAo--3ll0<3l4LSAj50 +!Knf{8916``%HP(p7WuegL%Bpmh>HZi@(uyEi&#Yg&94X8O=)<6|<~E^36h#9~pj~JTU2<@Jz`WP`g> +fbD>|O$gEACWq5+q1G5!xA8DsKWt1aMX^9Jg1r++LcS2p*ymi+nyk2lPO?X2oot#idU$;Iyk9n8{+Kk +y~5S7}b;}{jk1ic1A~WjJk2b4N2KBN&Mb14K(S0@;c~u%xC~@(bkOggbghp4vmkYD11WfN-08+ +6yrI1;Q+--Cwxf?sf7*1dBRlJ!lre$G97ghvqLLYHgqzLK@-4#T3kq9BDXE0J?xDx-D&*%=OsU?y=Q^ +)&yCUC1NhDP`8==Yn;N?KjUM?EPowtJ9zF6Ww3qA$l%M1mptoYAn%jlPMjx_bp3p#}LeKD#u` +ykdx1eIq3j<@HA6*y|q=PLWewO)Z(I}9fPe(H}g0HTpQ0(Bx7vd#8{`&h1E&%VLjD-O2NrPa)e~J?_P +k6v=5~@>>S1!z`zJO=`JOz19Yr4OnNAoF9z@9fBU+6~{Pn?0WOlF!tFU_O=nl^a)GOc-9#%kt>)Ukfl +{38d>)@%54eH_vquHrz;%Qyx4Vhoi)oY+Sfb8sWZR~Q-QW=_l_f4xPWf&#@~{{sZbldp4?7zB^t@yC- +r{+7$i`6LcyWj|e%Qaay$f=BypnkG30`t|o0`q6xU|B+4A!Dhn<|7CnFQ3vZd`9x|}UU1~sYOjMmQ0Y +lRVH_w&h7On>Z02GVo55YAM!SZ6MQa-wQzWhp0|HfRNo>BzrP03`+5%<{fSF;YLmDu%R1yR891i3OfK +6Nti$8#$IKGnQ*~l1v51$vs)qEx{Q(5BpUhvF-?xeM=)%L@Oda6oGRq=cTxIyQ6O{3x1TAi;=lX^Ph_ +`OUtwZKP>$S}J=s3N|O(~PK$801C1C8x7$VP`qC!xC$HBS8M5DdR=+^jkm7)?IzAkd+@x()PQFD7nzN +Q=kSa(?r9sbj*kVf=Cqw)*_m)Q=+e(?kjWzXR%V!pJP3yu~44N3ySs9{NL;eykJ|+5|vAJMJM+a&ycm%A*%_L!@M3E$vKyz#!xAWJun5BIYwase^1c>rwbefov1~X7h +4ZsM;ZEmQBgQ#@VnmT(kq08>T3t9{2D!z*6YJ428S~4ru!*%^lx{%_pV7X{m3SsbZJpg+{-%wQ=OOK^ +fbQJp@oZsi9Atw|`a+ +*q~`EmhTG=O=WQyA5!66m_`zY<`Q&Ids(;-t4@&#y2|c+@|lOQycD}L26-q!K}eiq>Ei)?qXj?lSpi` +@y1i?<{;QiRnB!Q1{mr*1C54FJe$!nUMFbrP4pys^3~%nMgJKLr-5mzt_LC{3Upl)26C%-H#U(?TNz)Lf(#?xFofQMy@<}n3U +YtrtwQPqtR-#y5>W~^P*QcBVlIAwBR)06KG85Jhtg=Vol*TZ-)$2yCS#E=En8kCE-U2QzX`u{;Oc*QAL<%$lICvnwjh@nEu9ZEg`GFI~e24<}u#RwoX@&_Eq+`*f!Nr%d$k-H +^0p((_(M$@B5d#;2?V8~Xx+z4g;vJ>l-~mZNlLSQ_)09L@j6E8{)sh$mnysbGrIz0$iZ7Z#S!Nq(a;M +eEk}2^ZCqR^u(Hu3VgKJHd(GnUW1food2_*`+s9)kP!L_i1qr=g99!?jOV=ncco{a;wNgqn_a7 +g26=f*6+vXlWWHTY$Y(E2Sdof=I`zO@W0Dy__lj%F$RHw??SttFcf-(F<29ZgGg))m; +t9)}(njdEs{Z{=Wr20KY5cY*hXRH#{&PN0vt-1yTxZ>lYOh?WqEe&4S{Jptx;mB$Rd=yn38hiE5%N!J +5i#`hwfj&goeddYzvJZvoqDjE=?-HJ%NsOWi{(_~ZZ-@XEIg(`to3}ZQTCQPd79CyM6NC;DmNQ9%TlO +U2$mafNs4MqNhBr49!!soxE3eNi7r({ +E;ZOsL+ILd?=u;I?J{{xxOB6Xb@awR*~Ux9kFcr2a1U`*Ue)xj9OXW{G6mRZCYXN8j40%uMWmRvS>r5 +LH3#AQMuLtg2`G*<+L&L^;M0)&|ogG?TTP8mZ3b(Z=5jMG{j?spdcW6l@j+-Wo^R@`x6PKZl-Dm2c%*1U~lyN;Maz&9Kg6SpY@0`sIxZ(q#uc~538Omli!Xr)~ +N*+PYM>U}6vYKY!Gp)TN#(KpVX2#d!xb|eMRc3f;-9f#;WSYe6knWMq@D7V +g)-h>oH#Yrg>u8n|+?a*aM1=e#Kw1WecDdIsJ8j;6`}OGSKW#=VK6Y8kK|4<{U12`H5K6Bo9J=JSGIbgOcN{>A%l#ndzJYsS_$~o2Tfny=?e?>8b$u_kU{l?r8u9% +N7e8bOHe?p2KI-O!e(iWgKItpwsO$@N`elcWdl|RH2g@>@YF@y#6a|D$&T%gHqWuT4drVN(t2ICKo+| +BW^8@%x)FghI`ld&aiPdTD4aIA(rv;l$a~3aYzTqa`d)mX@7RX-Va{X=-g56!i^Xam6Jevwt;CE9-A5 +v5xBX}$$tbG6FGqq_+kTj{_3`@} +?tq^sF#2OdK3Hd3jKH`pkfef&?_0&8ziD$EtB9`PyXC^yBZJf +rO#O_xB@V0MfmQU64GQbaPZC|BEQLq?>M6+Byg=%)T`SZZ0~NyznX--qe-?{4g0IWMi4N-~<2#Y~pfqF< +c9mE)>r*RH$P@)uJ~pW#52RUH9}ggDCe$qqvdfsNxVQ`XCI+-e(jLmj1LSG(SH4h0gRlv~(}PA*{dn)E=K9D!ky0=&MG*~L&?=nmo!-$bJe3cBqG_>;CojYfU}{J7x&oX8p;P +!0ZflgrWpjOog_9(4ZJge?z?Tn_sdleFvd|1qMvT6C=*wMus%6oN{mAn|?$N +Hmad4z(1Dblt<}q7HaXFM~c~0*WPOycMPt^rYO$N$AIySqWYNLlFT!?HOY$eIJ4chsmhEUhCL0DV|2i +gZ)u&v9G4T?%|&@Dab*%Mb-0php5gYvB1;om=U}OE&OuS24N>aOwC>UBBUFy%=*I;#L9w9qPzv|c8Jd +dq*6NMB{WO9x-1T3I8{D=|Ik76O=K +5%%8_IV#Nmura7J(-d@%kO^E^Wll2%K4vB9;xinl{N@j4NmF(Fz!!gj7dl{k%qs#MlFqLaE{=5irfKi +z}V(M(_frQ>{cgv`9;3V>Wv>Pvi)o(dO+y5yy%~taf^V7^`nTbr&=Z&i(!3?nvgLDSffkTUMK-pTxKj ++Z^;}7OoYWjhDI{=FPvV!d(t}Z02_C+tF^PAZN-u!L7{ynDcgDb1G2KndNQCY`OTLYxHarc;HvPn$*} +jj8ce80lZXLK>etW#J8*j{80$EW-!_c=S7jhZ2yc00*wnKUxQd;gny>-PtFX +EE69x&d#vE6y^pi~tOEYo0Lt#qabA^y1A225M{;D;<42Heo2Nr)vrgk|gqD3Cj`Bv+#u4Tz^Ah@k`o;G}mz^|6?4OjBz?^7!ziUWksCW+>=#8*47LL +a;o;KDHdOS)--j27=4vzNAvMA5Cc}K~?qa(csnvLkz21;R%RO(PiQLvf%RKw^QZt+iE@{?)&w8MnBj1 +#9FRZvC`qSr4pO#nsSR7}Lm!)OfB~-?hJB$T>`L^uNb|mXV&pJ*2GyY1U_ezsqoKFZaIc34o6TqJDPvw> +*@Wf{I)LIlg^SH~5T)_#x=*+nM7vK-N9EYWDQ2bF=7OUlNLU@yXi{yn9oE?Ni}=3RyAX^1rTk+kT2(_ +H*}E=+he5c`;X9wY%d4<^_pVLraJ7-Q(5-9wuRALH%eV6tR$F0xri +WdV+CAFqV`h#H`f=NjaeRGlk&3lKp0I*Y=IDxbJ)T(94>FZOC61759qCNfQ6tKRQ_ +!ON1oW~qAsj&H6tLQX|=|Q10MATjk=m01eT5ucG|Lk4(blMZTWhS76&llux=u~sB3J8 +8V+{SKWKMZ`>kcfp5;qXj_wy3K7w``HldZRd!~pzXLK1J&T7pkXkJ(C_38mdLygsA;8+S@+&hk^xSv6 +$)9ga+YC|I|$dpn#@Xe}nU9sz^7?hBuO}V_}f-X0ix=mIt?G{%U1)E&a!#X?B(<0=+Rn+cw3!sb5`n| +s!As1cO6+Fa)yB@z*ghyv=I&GdAj++E +DBItAgIYYR{-G$*MOm_d+vpTcFITwxQBNNmGWHb7{l3>Q;SjnK6)`9+qF +D_#rrVA<&El#ZYNvmmdZxBc-FtHl$Kf5T88Ez$S^Eri9}>ap0AuEaT)d~7Uq1;b8YA@f;)&CCi6K3*f +92KTn+K&=8s=Ny>78Ep>4_ol4-(%A;OgFFc(Mu+|9 +-u8GQHn57B@3YF6*kW@UTt>XmlkV-a8f>r++ktausSF?J;Z@1C=^zZ2#Hzsu@1CfhRUzYCeCO{#@cb5pzRhOIP_9zf97}55 +=fp0il?Z00C?3UNC24BA;&ep6@lU2F!O{HIWt8d*kv%fc6=Xbj&=F=p&#w?u6E;UfnzG%3LXqp1 +YC~~Bxrs$!n5NUhjl3@qU-O{TdhPsV2@O7gi(6gT{belx0>=gxQ6QW)q*pP_P!N9x4?stZz`TFWSMg1}Av!!2x2{9U4G=F22*Jar~6lS>D1_%7h~21v1whd5&$F~vi+&M{AX&Y671x27FGzn%WH^(`mk(MGUJ +wqdoF*FKg^;dsGVE3nAC%H%BtM(Nt8-cANyVd^OK5}+{Tr!Smg43=ELL~m0pFK`(DaT +oecQ64RG_n)qD(NCQJvB8M8phUV*zNuoJXr-=46vU5WQ3tTi<^B)xU2&>6tqPWw=XeeaSQh`Wx(jVEC?6aAQv56gnStPui?dy} +O{q)LMP-sJrC!z#MgKZh58i3XL%G{z-kUk3IbBBE7|Q;Uc@%`=K0Y{V0mez4H1h8QeBNhpXdOJCc+ra +)v7CDz#8HtVqG3$8T`)>8arKe3Ka8*8*gSH6)rSPmOtnK)k#+Q9{(|yS#8RN2=mV()uzUM9EFoB24x> +7NEgSCH=_TZpG2ES&`<|kVcrglv%b#@l2#P(hzfV&!xn}`9KZOc1RBn&arg3xXwq$eTDy+7qs&f$Z{T +!uT&PROCi-bo?#XmZZsQ9f0@&%PIpaik>b&J#NbZeDM%Y%pPgoiS}t#B5PNV?;AS%{DXVcb&^yqip%< +@|-UylE%BN41hqYWolj$UXzDwH;D_udYlE+nd&kWPACOyK+ER{?ZYPnp8Hzjok>*rQJAu+;B&XU4ggJOJ4T|9DUL|( +-Gfw77M>JpJf;c@teJ1GH*$d)VGJyRiF8yqKk_u|FJ&WQrXKM3e^ZHd(e`iK1P!i4c(C((QeL#qc@bS +Dswh#UE4>0$C;&SRyhG?;FW&YBAXL@&XBHrH{=>*J)xU@=*Wp{Ng6MvYZXvcC2^VP^C5}6v|j`lax+X +v;QJ=kx+wb?`52os6FV{GoQ6^#G1{WukY@lo*VEXp{#r8rtgz5pEpKO|rP}`My)Rx52LCnezgDfA +C)iv3?xmAd-^WMN1McZwo2*zdxBkbyWfcaZbmzX|G^7^W(%$&F9{;->A?iqsGKD%mKTGY3QH+S{lUA4 +Cp7$XhrOQWv;XbJmT%CvhC;J$SXwM5#bRG&hU^9=(f-Z0AZEZ_8aCCgl978XvmUUfDgXvlMhY +Y*3{dv!)&UMHA(Rnvqofv&G-w^x<=!0CKoTJ7wno{ul}Ays-G_l&a9z1h}mqJr*P)g +Ig_Knn-$nW&@l&C!pSJ8RF$tVEbs{q-O`&{xu$F6+LK83P0?x0VWmAHBkx-HWNb;bYA39_u2L=$45-Z +DK9?;uwmL^4vj@&cZ+Ph!gYyS4?=~GhTpiHwXx?!?wJ1c`hi{hd1lCVsrWy>L!ECG-fuo`5WU$FLzH* +_m2;CqO+lEJN9KG7%t0ONp2{Hy>V8|6WTHBS1>Bv8dWWcXcX4df(y_KlZEHkEXL}CoZ^FeYPcfn8}g1`h`B%<9PsIr1F2&>c1K&C+!P4w@KmOYA@_I=V4k9BO@;g%#3cCmjq8&VrS(| +93@@pxYHczPtOu{mYOCOl%qj5S^leX0N`MMq=WT*!xwRW${)LG#yKz7BLMQ*!JAkO%=}R^w_|j*Be>2 +@$nYG_Sq)M?M3Sw5kH#;oEc)KGm~Zfey}=5E-|z^-ks|`&%}?&~_T#Uk_E&+J&*5wF{4dhIO!bWpTdv +WbNV;gkG#&d>T(=x;}J_3zYHI`kkc;>Gd63fC{A2?o#V*T&~~kg2wsU#hW91WpS0=p=dn5!YjPCYzVh +e14omc<6#6?i4Jb@a!dNN+QH9jh4<^Nul~FTbJ6Mk;VC@h-HQ8r-u%}<#EJF~UTt +r0J#m(4o0F9j0_@s8i$XS$w=X?SH9}@%`Cmsi&(vQRk3?b{kLEYU9bOHX +7@;eqFBx@_b1a*Pw{Y8b9vlPCXkNdSF4F_Cay=t>9p)=)PpdWI|bc_y~FmMV+3O>tgn +e|Qiz5O45`?*mhP7>a4SlU7-73ip`d5cj|y=c! +4jed$!N}wX)iU1O+Ip)%p%0xmZ=I)0nau#WK10^-%B!7J9*diGjd;um(P7}Ds+>!W2Q-eOQKQ2e58s) +k0lX^}9wWr3=D(&NMMd#Tl+33y)#t0G@ECav=I{JzNa2PNUc$&JmE2}C$l=239b#sM_&3!X^07zmX*1 +p!H|Lo-CoL>HqNdTz@A{A$ZYcz=qp?6@MZcpBbC+wV5mOiCJjG)eS$-*0KN_Lbk4Ac3gNMMze*;iU0| +XQR000O8ldVxvUM&(~f;#{J12_Qy7ytkOaA|NaUv_0~WN&gWX>eg=WO8M5b1ras?R|T98@aLP|N0ad> +3T@o6h%@pEi;z0ipQSOITL&C*hzNR>+m$mrqnUn&0#n7$Y$?n->Sm<(aokF9#8Ht_j+s+C=?2XLZMLj +VUNAamN%>9{Gwp}Zuc4cKFiMMF*{2qot-_#eoQ8Dn#WUCWbCK+Z`eAW#w!*EnzJp(-adDNcKIfdTot@b#Td>h+wl3DIcr;?kVwtT9=uvTK)!^RFs>{Yf{Lg&T_P`hEXbvnVG< +~ySa{V+<>VpQBL;~eTW;UDeRPO-Wf?lAb2mSOWOJ#X#A*OPczu(#17e!W^{D_(0E<+)D-IEC7xYb7=9 +vhXK;3*?~JY9O+Girjc@+cXtQw(Ii7)%j#0^==BKc@Q8jcEAPxAkqrS|g08b +09^`;a}Zhcb7E&jL7;&hrsDQKs`ypXl}35DAjC+7{Ld&o^!{hRu7DLR9MH8F!=k|$|iMCl}MjxXE3Vz +sPFyp1OQ=fw+l++t6l30J`ID@+Wtvtm$kR8imrv@}l7iwnP}K2x$r31ih_0cGSZ;nzpH|L{Gh%U-Z91 +38I*y*y!k_V_V7?Ax+hMM)luDcy;2K%2WzB|ZlWm#qty&7eqn9+S))XAS)CA}ScpsNI$;A3;ZI-x+8h +Z=aWp=N8+&L4Ce^{o}hZ{-6K39p_NKtyp-;21n{&-?HxY%=yUP$+@ffdz%$!i{+eFhImR7rrAQGlFwhach7;(uogu?7$WtxKeH`ZpLKa-dh7toWdEN$SQtIs$U`kiO&>LOmnWGGpDo#aKp7%5uK#5W +*`(H8JoVvWKiP|i4efEBf5bSBw4Et)NR=y0r2sx;-$kXpZ1PB$9TCQP7JK~oImQN+uWo;}I%JN8l-jD +*ZORG@!dT_muwC!l3eTQ_`@#Pcajv^ugUCqxF?pUimOMjA{|2er%(q=aPM?8^scr?oAS +&`FXh-1vh@P~N51dXKe!m5|h=i(w}8T_$g)T>pJ!wQl?F>(lUhQ?D=AC2Y(P{f6NG>U&2jl}nVi&=D; +B~!k*lBf&hZ}$6#=svWvJAAcZ +MM)J*N65Ak6BHOYA@* +pF3OFsE%?VSDe*P|a_zy1Eh577K!AOAg2|Au8!S*%mO5BO^|UvpQjssAcELOT`umeJSH9BwFRuYp!dY +$ZCha}Z?T#>FDaKi`FH%1H>aDC%T65^Xibe>JHO(P!W!h0P7F(qP*TU{NHKD1-yQaZ8MgKGGM)jG;Hx +;p2I_IyYvCXk*Au1xev?p!d)w6403JJY%mDvevZC%2vkc+50Wn*WG~KW%+u!oG0=050Yfg6#*6jSf(F +8KJ2rrWIi|OjFIOwPr!C_DUHRZZhV897_H}p=*Q30Wuq&nDU}q1jr~BT)IUisvMw4cqpBXaAu20&`?2 +WEW7<&xFA1$2F&99@NC5cXfx*3~vm*zL{;PHvh87!)s$u4?6W>`hJ(X?y>SoMA+VxenHh7rU(1Fo@yr +A9YyG3tt@TZ|Q{Tq)~v_R7okCw|gS_uV+QmJv4o^@EmCh#4&0XNy2_(Sh265G}$ZfR9if%RJqS&k!EI +c5$Cs3UgCLSz2eV2_v*+K%px(T%M+2b!LzXDU!j8v_xw(6Ys8Iw?**tk&_bZy5x48!dy3z5JSn;VtJu +j)nT?mWDwHV|%O6VeeLwh>!51&2G2Kh%8LF|QB +l#3861(;JteS#ndvqA~) +TF{)t(Aoxlj_N;KpO5=DMPo;E_GCMI33{_(tBHe5p2wCuB4*I#pUb6mXKW_J33X4sa#teusV0e)f7%_ +q2d$ig$9VlaL@H;7vS&~j=3`K;=mG_{9@dir4l9tE6tYbV!0FBGD6*dGNT|*}(6sG}6@10ue7u01iH9 +%~hO(X@!m4!CZ%AthF6ec#STBr +*s0~a@Kqji}RDIs0pUrEy!#tCe>|-N&fS!m0FY)h1k~Z%*&vNAKYTm~LzZq*Zqduv*AWJQb+=x=d`Xk5S;mYRPiyp^_b~&b(`~fcibSW=VU?dCiQ +XX)X|?K8VQg=jO<;8>hV04PcR&C6^vARR{d)AbAI?6!e*e?ytJjLuM{^&qc|Pbr1-4o6$6o*V;IL=*s +-)au_u#PKXnhK)H;I2}j6_AyRM;AlamSj#oPZd>n)OTfR+MRjxkEzb)hLtwZ65t=&{EoD+f#D$j2Q-d +Q6m>a327EmJVA*?u**TO+*ZWx>l5eEB4#2PNYgN!&k$XM8abmt>zvY?R(v@NGzwPJN81iO&Ev9H*YeVbU85ku`qa1qGv$~8&+yS& +NWM>)0kNRO0MGh?vOv9Lo(=Et;kHb3Cg&~zww=NgWcQ+>9^n20r6JK@ecnJr6LK8=aboz8iv*1)edux +t658Yb`S^mCeBQCLV&RXi?fF$S8v(Ge_)Bkr$tMn<|O8hOf%3Jlq5!t#e=&#P|3E%ocIarVY*eSmTprK1TQ@t +QuN7AfBbRu?(OUMwmBJtLVecm(|jH+bG1;$IS>EA4k6?Y|CnV<44$pB_4$Q);)(N7&_eGN9M#EswZd& +7bYwiwCZD}k+fcclt*O>JH)t3q#LIqJ$-$9Z^suZbu8&UHqtdd^`@F0wTq&}T&=(xrKK^lte;j=RZFp +%6Khq*h}5P)2Khk*()b4EkYIGMdkE-;waVlRuyn4`syHmq}za;`7-2_^GvNYjSFCO(c(v+&Kzqx6L%k_XX3Wfr;r~{#6(WnL&Pue$-jFR_#IV8T`|oT-|3CwQexI|M$=74hJ~RUV_x~A&L +)IEPGgN-xS!TFbhG`7geqRh`ppJB4U%5gf}2gKG+ow)- +`-74c1q?PUpGI^$IqO((c6$Qmy>A@2u2i4S-8NxIgvz+VZ}wp{Li0~0-9wqJ=-R`9{`k-gni$c9vHMo +Qfx{FEDFsOp+X?^DBOmK!yDg(k!HMo@;aNc*BN2P)`0{?b>XNqr|NXe%`_vg3{y2Ijo;xl-58;+8zLsst +kl}6#=}9Y>EDgIp7r`y%uu9L$@?wAMy|<#+L6LM!sgPvKZ#I+@acrq6=REd=NJ=cU^eYpiUTQf<#^C0Q^B7eRJcvPNxxOqS6ugG?~p}+Whbna+of7Y=ugu9sIIbBzhhd% +bm!!6&dOao{s_j#|w8I3LXQ`+}8osE|NuzsY6%sC5FQJbqCB>!Ssl$B)<@DG`omE&yuCoG}2k%Jm&(% +8qmsBbko5F3;&5nJy>yyJxsvSgD;8LBuer69et~=vf&9E3Ic}e1h_k2qpawNiO+%1)&vG&sFNLxHQUY +A#KO*M4YP2SEmsM;rqHGz(lS;vAS0GD(T0D`1B!G;sE<;UNE?kiIze*&>gbY_b4ODPCpW7*6=y#QqDa +3PxMI;7s;=TW!a`h|z}h@}7=H}iy!am|uy|G6aQ%vLo3Wf{Q!-HVnb8S7^(ZQtrRQ`Q;RG0sNLGYCGt +Xq{$RRNL$}_@6Ya`h5u6T?lS&n$6auzWpLz8&}lZxo=xin8PsjV`eRyftb$}KapZUM&VfCm>I!Gx&6z +I*$giCQ%4YzEsb?wogQlZ*!*YSMO$obcUV{}~vKZl|}~>Np%(6zCQz6ocYPx{uX6(P|krYBtmFc6-C= +_;@(1*--ue9e2i^DY8cY>O->w!I~+{urj%0P&!yb9o#`$k!Lx;#;BdCdjX7dyZdO$n($jo?uYf6II1?KNjy@^->yZW?2s +KPLnn12CrMXGqSXp<_fixJ#~uw<@uK46$B(8D&#&dIS8r3DkK12&c<|b2Kw*7?-=W!-w>KTpc0 +#2+SPrq4CzS$!*Q6B^sqeUADp?b2gAjp0T|v7Uu0-nYS*}DTkm=gG)wmkM*=jsZDf-&XZ3L~Aix@gI) +x*uRV)-p?u1d`bUe8u)s_m2RXd+(Rf+!nF3RUJ4 +I;E#B`#WpeU%)z`dt4_3{7;veYS2ArUkT +sI;{b!Bn%e~g;0_v77q)V|MVn<4%#{D0fjI&4;2kO=diV0SbTo_#G_iwz7Z4NIio^9bYM8Un??VHavnMC6UOzJERHjJ|vQ>g>;_KaRdT`~K|1`wm`(U!qrDG|Pq(KQuKrppW%W +c5vn=iA7MutXG`kqY(OkR;S)9A~dz;{OadFp<=+1H5}iR!mF?;mBB;yly-mUx)K@Mw%+UQ{0XK>xC`1gYJ{wlLMwSLF|h(&tkOyeq#IFU#d^FwSwb1tm5f +lvwOP}PmbF_th-t(|n|4Igh+dwu^EjoITb)#k*-e=-@Fk}vQsQ$f$uUWJiU|gpxh2 +eTb(>r$ts;Q9@eQH_5ptcE)L9uUnUAXF4j*?@ +A)kx;qspFJc`uqvBYi&Aj2>+~Q`Mt6 +N^-S>FK?lD9%S4$su#3!h(pFFKYJn=F=q#K7o;t2hQ=n#~~p&S(O%sR&AYAssPpE!Ey;6;b +iv`WG!qEK%_tb91O848whkOeTJDD`S|!jNKctl=p{9nqlO=;GJHQA>c3t?G*zRtm%gaW<63Y{X(Sfrp +ltF9>$Npa$Dr{HM?TteKGL8!uWeV01mupvuh%Q1N0jh?yIz46f{rcJWJD_RqAeJs;i|l_lx{${T$^K&f;S_GJv`S|!>zB@Irj5fv@q_$IW|9EpQBu +#J2%%`G3oqJ?o4}0t>|%>@aN$d<SeOnBqrD!N**G47X_=3IGo+-Y{LU}9+(L3gPdUaf{@z^}visWd5j +;VxH@e^o9Zo_5FpuagRHu>Uc@I$rC#b_e^qOklE&T5^(w?@c`1=KkGD>#FFk;$XX8q5;sSV|Uubjl3k +4aBDK)UC~y)sVym?%7)5DaI2P-s+BdBt{28#Eq}lIR)LDBy(t~yii^7Zrd`MkRoFtdU%o%VolzODj>0 ++2?uoNMO5#V4Pr2zLF~14>?F)G+UO}PZsS!W#o*B@9du)-d1gKwLU{A;KMRb{DYglL|t1QngtW70!)m +d|4HZBV!=`^`ariiRf*qi}Wh)^CWbT^wM{4h&UBN^N+oz$1`rm5u26uqX&kpVwyzMjVAOWV)!BD;)D+ +%J)HK?qbUM%TWLfW#Yw4EJt-;|J^acvesvxb|@D?8vZqzodANAWf{|>S}PW7oi1UR$D|CNxII3TUVV%Vc%XQHxc +cjaNSpQuYq5IqO*c#$vjWXNce3xRtEqip6bCAuLC!&HuivBeSYjo@2E?v2LyD4uY4G_-Lv6EOaax85ip? +J922(oV0!2vj`PxtY{vSyMD3hgKbt8U9yrH?&nAEvKM8P(!GB54zr$KDR(NFmNO|JVoA9`*wb$+E@Sf +;b9(l2kMSJ6nnv=MiAkDoo9+*dI>2UWsriKGN2vrS2~)lkdhrR?F`C?gI}gE6Bkv7ylIMN;kFe>F%7OabPm@a{9E0pBvlBc{(Bn +s=f-vDw +PEqZ1~(RZf#)85$7Gz7^X?&DsfIx(N6#Xzj!=o0F_6S>&y3aL;=rtJ4{~Jy^2!3k0As~-f2aWF7VRj- +8jk<=xCf0#?usbEUIGT2Pl3jaz^m)f5N{v>iRwQi8X$L?#!9Gn<>2nf?f6f47tFz#Tt=2?(u$4Mc!V7 +W(rJ=^I_>_>!)}ZyBfH}p=LgQV7k5FB7&!Rg!BR`T~e#BYFTxW!~V}Aq!xCX>Xs&46U +Nt2OPxnY?^P(S-gRcSh5LDbvBzIqq{ck6)?_==vSAc5ywZQ+SVMs$Ks`Tl{(rrCPsY|5){WTB}1d!5l +jfqC0kQJD4ND2jM(AxZH;aGvDWF(DSosNr)lh&?xR>g(|#HJj%de}XAohTn3T#(9En8GP?tQ4t=VKzE +ItwnXSuAZ$1D1)@8y1c{ag`c)W!{1>E?D#c4R)Wv1?5i;U2Z^xxP|zYwB-yFMCGu!dctdQ=Uqj?g_UTPMxO%niGNiAGNv=kDnlid( +Pb)c7$?y#_QK_;ERV{J`51aGRU46E;+5ln`5Fk$NUu%{ur=Xvx}ti>od%tQ%u|qlE9pFq$7iQL4VKUPDT232n-*Vu9eg +n!>CrKGt%**rW+%0b<;nX=YY&6asd~qtT_`_0m=ILp6<)p?yXH>7}UGAGNjm)B-^$`oIC+Oj|COeV-O +g#cW@a5Xsz>Ph=I!Nq$JOSC+_fg48pQG%t!jcALs5Xb3V>OdFGk4+G{1Pj ++LHD=~8JI6KkXEpvh(T7E7gTl=b2E9hbqE_p}TW_Sjdr4!W}3H+`e(m8x8S%h##R%cs98*}8;OVC)`& +B^ELu(87=npcEmGUejjYwX23{4&S7*IV?|m`IZF|s7wG8-kg1^*Y~xB8f|iT(LWY% +8Mjl$YJYHSKd>L2u@w(4On+Fylo5QSaGki)oKsz!BdY9bs^FEH*&u?C_{^7Gj*6%zcCIpsAon5yh-;O +DQVAgQhU$E*)`Q{jqpLl3b`ADC3MQt{&%97q=r?<=2B_)DcYsKZpTfo`|{jV*KqN!)WyAI892oF7~ow +Gd-GDwMXE(^75|%`WRYEfb;{^I-N-m=!t`wS +%J@dF25-o(-M1A*a>^%w3UKFA<+E133NBe{|8qN1t@p+OX!U!H3iC+iaueTJu?Adlw7qzNHem>8}8`Q +K?;_LA|ncSnmaV`A9LRXn(T4EIfTc-+Kw*KTcD&0y%JhuUf8k9^_WMEEYaaqI+m+on&e@or7n%qkNjG +C3^GRv0ZXyRqwm&-F^vX1kh@EtVIr&(99hqtw+s=e)Osi@}Q6a4k4$%7pRBmsUe&V+0n0>sqBEPM<(N +tgk2MJ2d^QHSmz@Q{PV;UOX_A;x;9#6TmUzc|P|^p!eDW=HhJ9((=E8s^tk===S=DM^6XOj-ShvxYncTlD4)tPld)bqDBDE%c(&We$KAK6E#suJx-oyc1|=s@2Yux!%L1^>8cZ+hW+XO4#mz7{_%T%$ +Dp|jW6H0^6+;GKwg=pS1(=_5;;sJ_gt3|NBhlyK`WQuC!(GWY|w;np-7TgLuA~~OCi0{4s%Q_-oY7w~ +2!1&z8v*_ri474>|ud>5>B6^*b%$`_}pLlSGoLbY2hM81+h586BiI?)sxhNkP#gB=e=hv;W1py$&YS> +IYP3I0mdl%A_Uz)bo}C*D +OSD0%0Amxn|>3-jCzq-f_(0#j?0DlkC(QD5OCzoi!UB`}!;1g5xDy7-T!D*Z%Hn0T+)CBlC9fCc_G2L +>_Wx8G3?g%SeY1G#Xd&+>hTaq9vaVON12V>w8-?-SR-DJ%mRbUHGzQ=N=ioX+kxn(bXW$nlnBP=&$}v +c*WsdK|`kCr7vJpPX*nHP^tNfw5$B`%qe5UPMs;hTi-_g9lb9U5w7~k4?e?c^pMv3kKGO~j-RThf$my +huq+isg%=H5Z#V3kNtAy>YK^@P&Vn=Jzing@l)$v>kNz7$ogXS0sWA}L}yhI4 +4#Nr(9hAMemrl!BQi=jdSTcPF^wRd=0Zp6h1J?#BGtsaP(}^cn|jYrwah%0BZnd~TnVL|BZp4N?Mw3z ++3F#B^0SN%^Y)c*ZIp;sI}b6*MWt9DB(QgK{`6fFz8|p)o4=CkQ#qfOq9Ag7b}!aZ912-#(AeF*qjca +Z(&>n7}Y3Y1kWdP4cJdjWm3eJ_x%*foWXei>i+o`0~JG6x-Db`;!vX#H5JkCV)6@ZFuJ5G{c!gRO0K1 +W{*0UkQ+g&ZtYt4lpbMUR`EZ$O~$z_!Gz6$(Y<@gp79FiHif#Zi~_5vwX0 +eS$NB#bNB>W6Vbt3TN})nwyvFZickME$Bl3P)WE|c(5#@R?0)Rc&R9Gl5xSz_e{ +fd=O_i2KOEoq#n7sEYj-(G^;t?ge4NpvUzt9^$B%AmF;ty_4v%M5WE5`nDXy!*0E46cOLl +7Xi%P?am`zcdi7_*1*r8ZZ#OIQ~3Hg8n8)Uy&ziUie1q%?8BoAbyfqh=>hxZSh~!ZoSG>5zXQY@z?#{ +r(jJKsyjhkaIwuV-x*Kxg&w`5NAdK_cX)vA&3=9vPXb}^z%@5zm~%Z@C1bv<{`}@uuY35E9d@3UPIJz +#+Cq3CB0~i}4u>F`QWIg*!koi~^PV2Jyk3afioR7Mbyy|K$d$ZjXAu%*RD{>ui;HNl2dcfJ22ezaXkl +GMX|i0;@$g8+Z}mnnE_-pZfp-SM6pcn#ar7CwG#WKbi&Ta%8yrR7q{wSJ%BIi(j##3+FxS~n_MJi6_Y +xX4KIPgrH|;z~C!XuZK&MkN_@Zl1U%8XN9rpXZe*fw7)9-sBoz6S;b4507&lOAcP2|a0YZ7%W>b(*U{ZN6EP9D2x-i1*SK!K-5CpFz ++o(qZ_J+R(=n*L4pRfGoJUed-s(ME@=i^J$bP-Xx@bf6crv6q0D1dhGX)9kGr?4?x$Y)f{_kG8)F$wX +ZVsY`yz7TCt;yVTL8cZ%7wh8w-4g=9RXvi1t>&KyX|B}jw10?|-Ht||8#47 +*l1rKH0<-koe@FnlYj*~Q6-30HG>$CJwBG2U!pDEeMpic;hUpR*+?7!8|;&Ib=to)rLJAbFz!Kd4B$} +=NF6oE_8QQekz9{=6bN~*;Kv$iQkh3R7ADo9XrqC4uc==SL$@?hIDSMof`Z3cOV7hH<6<)PcL*svQNh(jD(KcYSWYonwLo!Bl3ca~pHeX$~iOkD8JUr~)Qa2>68mjSCB7>w=HnM9y8{c*Wtsr70`iIdnQhc4voI-aA^Zl|O%-vN{+(?$f*j)7MpaB0!rmYOv +Jmr+Aqq+E%ud-D+!Sj;LS5~40)ybRr@@jHQgC`q#CkPN30)DuKqVQcIFI!`*Gm`Zr4#L>A)%!7SbAF9=h6;*6A6(VVM<6lhh?R?ZiMDQ%+C21AEd9aW(0yxdj~2Q)=hsBu|jPo5@_VV3yvCj72(8 +{+M|58lRNj~`6&GvjsYnmxCW<;llt9i6Z(O=K`^zSVeTSC^oeddcM085`y<^L&b9$(V)o%134DB +uBdl@uL +=j8GEY>=YMT#{(mTX`z%WQi-@ul_TBV?@@n>H-UGs8WXb0Txb_eu#}B_iCTYOsX6AKb8y-%9eI+=CPw +*0AD7GoQJn9F#oZgAb+LGW0qD7@W0=xk4xC#H6(vE@f(+)F&0(x +=MQ|^M126&8H*GeH5_*!Sa1Xe^GF`&zrf##6qkNS>?@8lg1K5qbTa4!>&lvF4*>R`|m`|QMfbYQ4TT- +(k=I6f$@_h<-%IL&OpE_n8DlAtARZv +vC%!=Y<$S3gqQ>FrPkmIx+Q8J$;Z;FOwnp^{r +RuFgLX~?|eKvPtWW9%r`+qz2WYUX;moZI1DGrnfJ3Z(%mRl3gks)4$_VKq`!8E+%qmIiz_Ur_>GEDcsA!a`ZuNJqW(lQ +ddjZKlp`ordh4R0}W-nAB?mvunRgm6WTZv&4Tesdyz^`)1{`5C?#6nuyQA05)L;dxx(7J=V?bL)qPtf +qWrk1BQ+m7lKwv)u#6Gu7L~r3)}zxXbv0h(<9a3 +*vYM&c2~RI&fo~Q0|&isqqW6F`%R?6w8D7|@|Hf*dnJ!6oy+?E;U#n502n-n-G|^{ARSxp=+~>(f5ta +N2gj<8mrCGP>i3UCC54vnrf|5;*y53OoKzFc!d61F>UTAh?Qn@+jUr}W%gQ)nEGza5b`Jwys$X78#2& +iz6x@bFy=PtL@wtjO9x4j;2FDw@e}3HQiBeB1OFiv%aOf%y< +T3Irkp$>@ +BZ@k1C%^g-)=z8IQ`SB?_R%&#uHeBL_9QvS0NgdC>tJN#dw`gE)2Me!54(9_#I&4zYV~|U2q^QXoP_@ +E&p!N2s{)uP#^+ZTm~wqB0TWI#hwPC}GsGX)(x9R1e9G?vXFB=^ +AK3KXrzChGGylT|jAcDDA)Gj$9B~26rFglC>Qu0TP{Mw#20aW{_=HL<)o3y& +$qfl{l)<9nAWin`pU=(Q83U@@LFv2<$2G(x_UA +4gfPk^w@<42)?smFa$2v-6qO+Ne)}%Xf>6RgTbWxm@oln3Al%i;jqDvqd=S&;zG5+&9#Sxo{N|!6FS} +}z<`LY)^tXNQjPgE93$Rt{y71)nd#?aW!cam^C7H=>z0h9TiB9gVh%J(Vsw$nM0x?Dl8H;e{87l|jW}!>XP5E8IG$zVnM +JFQlGr?}MT}lJJJ2V)7Ok4YAYUwRwwf8d? +z3LG#&rW4r&`@VVg5V0@-{XU2y39wrXPjTg7uy6Z?rbS>_QSa45ViPbP@TfP%4dXgkt~u5FEr`)(Mn@ +zgNsLZ&kF!Sl#7$R@vnb(l~#iJ`evx_jx${kAPwb`xRUd_E}Sn^b^&=z!{K9=tby+O>|$uP(^yV;E3` +|omo)T`Ra~0LtW?v9EQ+4!tdmLzqX3^iiuYwEA4-As3wvLy>aX2Q>u9ilNVoy$qURXk-lylcJPJ7o&p +yQ!KYdx@dPKoLyRK`L{4h02bJJ;yJ7%1SdH(vqUiAz;QN$*iL18Jyxg08_(Hbf{wDW5PHb8ew4Ri$3E +fJY(5--l+k?gJs?CARc+xoOvpRR|^^Z+V9Y=?kVn<=OuUsVV8p)mnf*OLrix*&y2W7whONKAZ`6eByR +)`@^k3F^}QN`oF6lR-szW|>i#=$FUgZAqo=m~BqT*CiefuSe%OuSqPq-16AM7MAcPi(06o(9>Mi+Pg#bp_kc)vI#_L@;01?HD~$!O9B@8v#L2Db^j%?);<8t5k480Dy%v$*r5oM~aK&3T)&b<9On5!!%@;<}Xjlg-hc-Zm$eKBhZWZhWb@iXDm;pKGJTCFTa2AySW0wrH^G&^ +~va{ZIcEmV%5>=%zRe}YbGp&BGJ69{fz7 +%e#?G2j@gdmpU5ZM}!of~Ou-sVyY@@&&C0Zm4 +NhyrI;#|6WDR$fJu#d23pLPP| +s5hQ_CTFs%(T!ol_DYNkZ(BSm0t558cW`&L>T6EEc)xO$|MA^80Ztfp^q`kV% +!F)NTiYWR>{9ez)j)%ys)Um-RO6_z2S6xJRCO4E)J@~NByTq-DiWrQ4bdV{?q6E!$CBUpFP*J>@T3I#v9ULoQsm{fZ}L^(+3?~r^zpC475%RR5; +^iipF#m4IlNMA3nfv9zN~yr*;Ro98?ry-9h~g!bNZURU}sbrep2H +x_PVyJ;iEyd6)hvK_D8Z9sjKcoakz=l9zc)_}TKbv`x9NuA%Qd{!ux)z~UMPn4l)-F$Z#8UaDcp>4iP +uY9?azP15W$GRHhcFh@6$QGcP$u63(HygohS427SjpnWIG$qsl^2D!Ha}M;>!Ns@WJF-AKba?la|Hx& +dqm=~)y*O@&0@aQ2H{34vAc>S7jnFsvKT)TLPyY|Lfih~0f@Dp{GShm{IOyeKDEcd!g{c14vt#(VE71 +yX5Ie^k6`H#=E-%D&9e1|h$gA(pvaE&h}N7ZAI#eOZf(l;6_Gc4SVKXrz_4QCM}*tdjoeiYT(8&HBiF +yx%(3VlcU$fZGJ=v8B)SYTeQ8K^+3qbN(dDVgeM6#e=wS&W`i9PY?TF|#MXjXp8wW(M8ZB$6ZZC^%2q(KR6t^I$+xvVE-Ks-9kI7Wa!s|LoXTs%2-S&s +6jK#(o37hErK4Qph2)1Nx<^gZE*L&9l_mYdLKm&oS0iBqWi!+hsN#YK@VY}HUPSZ4zaOvDXP1!FdWV{ +1G<;cpOt~S>+&=B3^)GKEdhInzB`~y_X77W+1s=kbK%}4i{&{S^62ORayYaiF`i)L%v#L(1TEy!I}oG +c!NTkD1I0S_fYjB`6xb;Hqq?dG22ckgen8h^EgW`-ibiGM7KhzsN29VsKkgOGTUn7>xiPZv1LnraCS- +0*kiYWWm|$^RU;@`vhlvSH9nTEfEKc+FN*uRc#T+_sApkj$2D-+WGO_9c}T-o3R`fVVM*XhSL6XaJz8ppi{{Tw)%`=0zd +@Mg~n{4Y#0#C3vgPc)v#ycXqd%GKTSWaV8>yzb6qn=&Q_8&i467Cg0nPhR!@&)FI;HNe!iGYo^?fsWv +BHqL63X_oeOp1QnBtFs}{WRp)2tw+;*;*G)$JvYR~Z*2#g*Hs~n-!ss@t_-xGR&}g_+5&~%u4qHa54M +Gp*E^+IeB8y&b$1gYyisM=#VW_Oq1|;=zKwAa+0EZK{7exT*wr6AcM;EZsUER6aFNHI-Qn<{e^_0j4` +q(ZnK42Whb}CupyRrG5%A(o$&7to_r4Ut|cdxF9b$*QuGf-(F1BQE38ddKwp(@=Z(L;2Vo@dAfl& +4K=*w8?PI(@iyBmDPN`iQ6~bl77B9-XNeiuc^RucR;=DRDZ%w^n~59&dXf^Cp_js;1{>T|jKg>5Vn*qz;-ot>SXotG!U=F`n!l#i +3_YA={qlg&TjlZ_|AG#}5?IG8PFQBlI%-fXe)1fIXjXNw}ax~_t7)CqRBwstpnwzmHq1n;7G8l3lnx1 +(?8NfA@wcX2UI$}-8bASr|ExQK^~;HrqSDjs)(NfF0EJ_$zGQE?S_gDMZAY!S@jqJ#?hu!@olS_U`~b +aA%8veh*JD)UKo7ZouS9|uuc=A$G6h`~4?&8KlzMHRLXTiJor++(oefTb(IV +Zx7$U`VJl(ygWKSI{!yEcyn}qf>7T8*n{BR!Ta;0SKl8Wybs=e|Nh{5z1+pq|nCTS0Z|pzjXJZ3bL#=}e_6%sdii-?b0xXqiHY@UIbd9|n +6)`-7($LQh?kD~#lj#iV%8qt}+p +3_yL%d?q)Yw2%*Qghg`wdLWmX&1%@}>7z|p^%P5^Q=YG)*o=4*`jwy~`eAXHaU}qT4le7xvGw3DO- +lN{{4FLRj(A|(fj}w^eC>=06mQN3|@gRuP7!{>9Pvn}DvjxbF6soBR{eZ=cl|!!E37!S5ZVUc(AAZ(ixYsy`P|2B0dN+fSf~axLZ(5r#fZJ +0eJtBZJ!UVtWbi@i3L;@T2Y>wNqxx>lvTTKOybqnNg#I#2qaNj=Au7D7=j1|4R*!vAm|26EJ1)z<7(9FP@6x^bHtBWlH8 +5yFdn1KGs>sT3^q2tjVtQ)SrySb-Q3u8KO28b%7oaVVw&Db8(3V&o_Y}JfSVDFVN}L8_nqct73A=)&@ +-|jOC%XQhvt!3dcpT41A)z1G8^0>;*SyTTO_Al=XcN?Vt&(L<|#8B-Zrc~gE&r&H{rGjSeMUVL8k$Js +osn3*^S_VAsRu6;0{>I=2ejc$2Qwy?rm~l;^5d4{YG$zCmw@jys)x?lhGDl2POgiS6t+$#oN4y37k0< +r&%oCnBB&;Z0-ZV)?dKRp&tFxe*PAb^(HCG%6jw9_Vd#Mp1AF_|ImJZ2;zXXdC-Q6tRZY%!2 +s7rrA1h3CH1*1K_@&C+hKA;$reOi*rO2!iMy?x-j}^Uw)E5UWE%6E-L2p)Y$ZEeJ6pll*4~%9!T0B{u +q5pDFhDLu$8B-e4xZ1d>FDY&bL54+5@v1`!*acfds$q)fTqQk&P#cNR^nY8-4yXe?)LZMnA +Q&ktG{0axNjCh@@stOfxpH^vvOiw{c)0j35^=L-By8Hz^dlV0&(T#erm;qr@FM(QMNy21{SMoQ%mDDf +a!VFKZfYHXqhJI31d7cVzlX*6xpR&eX5zWLq=s0dEAi4&s=k#O>TlE!y+^CAho)CnDEU>F(Db2bZ3jr^Oh~9^=;_^x#DFjo*!ZS3niuoNJ-zv +<_gb*906tW?|q2C&0ekq0kDFZJp6}a3Wb!W5-z%bxQ96-v$N-XMDk?X!iiocbLFdzrZyzNv`Gv3B$mm +_${$02U6HEUib95A9*7-e*oKXUY46{v_rCp7AhyOd(R6g<&ac2WQr(2n21WDeS+1G#pFPG!OH~*0W6l +?!m%(Gyd8EWyEWKa&x?87<>|f7VO6RoS!NF63@MD-0p13^6OFLgWDjK=-^OV^!!45_lF$!QHY!>9a6- +Zk5n~_3-#$nT{VKnS>EJy{BRWiQi@+QB?0!_1^Ei0&^)4d;9z*A1nA|MR=Vd@5l02m0emYT`y4dqkw1 +%-9kUB+esDKM`06?K2p(3XRir89a`3A8VuzZ0Z#Ff#*;rt3aX-M-!ffj^-)5AydF$i-|Mo$W&^wiW0u~Y}-K<6VAad4{3`OuJUB!<6ONW4}!9W(&-Ii@q7bB}xR6CT~G8VH%N;`yM9z$m4N3yF8j%vwfyir|Mdy>aW^N7yj}qXRTIkHHK?dXn`_k-w!UbDeV#P2bk|I;4_p3JGj2H +X|F`JM2WKdb(FYzy`8t5Z=I8mVJe^Mo>bE$3_{HeTF*I|Ssjs9M;~%1HRzvTAFU +4coklyF;*GW#l`D=BMQ4yt#;UDSZG#l~v8DFo^_rh%knaxW;(jf`SP!NmJQ^A1_Ghm$zi67Sss)eZ@y +@{$QHA>do6v_@&cAx<#0USIRFAB^#ozDa(Hw~9HvX2C(M=7$kFVm7SmEp@nVpl$n}LYw;2&y2 +&gL^35Pm<$m8ZVE64wqc7Jopst5Bkk`E6Od1Il5tl=C&Ufc;j}NmdsTTZfj;0F-MG^7u*~|q$9;WuZSWU +s(GdN~ln-xsm6g_}-cRHbO`CT>wVkBhKz++y6LHj!X$Y`;^Usu!A0R17ljokjFVs)o_`K9La!yj4hz@ +0`nF=7I6O5MQUe>Z=^^20TDP`%1i^#s=JZ33qcToAQ~{$>_J6&qk7jW~6R#arKk4z>0X9-^Mh(CI6nKaB47V#A-pj#|v35Uc$s4iwP*NQg;ED +MU-9fOT8W~h^4(WNp(hiL1Sp1C8K;CYpC;?O+&boAIK{j2Y!+P-k?t}(|mM8I4zQ^1i0mS{ILS|&JA2 +icAmgV=p*plNHz}DB4YxvDZ0LQnxW;Ym^N+aZ=)Gcgso1spNX*3a`Im+MsTWHDfx|;9i@Jx&-0>K(26~4z#va-v^9HFI{i(5UuJCB4?7 +C~{c$`%LQH+r`=$hKouAG%M{{+>~3DCLqk8>fq2aDsg{RE14(Y5q +%iLc{;&Mq(~zcDanC}qa@>$VG&0+WV{i7Oh_Asc8PJ%*HH;i_f{x1>r>;7;SkkKjACfp1rB6r%^epcc +5oF}ViqLwLl{r{<21$V$ReHyf^2szp!z+)Cdn%-+JAWRH1wV<=T+%C{uI~3md;Pv +JRe{AlVYN>dw16ogPZBIiaU||H@gq`4A|0V(0eBIzqE@e*rAZYUbYG+ITGx8f4CKgh2s4i+4WZGqF88 +R@aS2dutRCV+WloZj2J$M-SXMb-%#in?!afWaG*&WxB3>A7chIPXm?2DJKQ2cRl*21jF%Veohx9P`Lp +ONd4PJDE7Fw{7fdXs2#a06|hV^=M70DAGP0@Ok%<5nfA+5%o6@&>iU9EebY;nOmSj0TCR#yiyTT`g%ohK#G7tau9RCj+0i4@#%&yUTt>$Fcd=m+ +69rGxym~5ZsnD3b%!8Xap3#Oaps3VX~V^nb&$ZWBJz*aI|>o0RsOv!mt|P7p8UvO5mXE5~u +-0KBur?QpR6sQrSFNqmOuzn$U2BjBFO$@~p;9Myk*hrej2=fea0WShDCzCJSv&jH{0p6z;_J^+Ia~Z- +S$Y4Zb#m=r&KrCEjvieL1rL`YNNlOuE-flTlT|#*m|p@_eYwm^|GTYXQa-&f*>;1-=ko;4h$t{#tnL7 +}9-TY^#d8BHB?c+?2qXd7sxdg~4#amq1Zr&;4e=x(oPX%GdZ1x$ZD7q^Y4^ifG?q!x-hM17JjI%zJ>K +7CoIXZmE`la0Gb53LY?9Ji3-wa_4uUTyTK*FOyj&Zo>|=8eSAlXDGjn5 +Gqzai#OhPIZ5!w7+wP8b*Z;(5^*hgV9)V;Bb;%Ac2voUiGkgMnyoFB$S2rzGLt3rJY4v0{}_`GNbpX) +we$Ug0<&OHl2tXFbP0kS_TG2q{2I5WH3b{A{d`n>$S41zFXBg)|OF`QvSoSVJR$LP6~!rx9S_`Eg-_= +J+Vc2z6gz?o7eMDc@3tJ5*&3azK>lO?*xXGwaes!XHe<|v!ZD@8zEdKMRagxPPs`0RPhW*diS2Rss{- ++GzRA{0hYxCQ{I5S`fa8o`$4z-i^8M$0ht*5Jh5Z8?ia=)=U)ssA93E%$}?Mqzi2XW46*&kS`1%aLnwuQzy&y5TUcsobqwfJmZ3?5!WT&ArA&X{7^4sDGaN +2ERjo#TXhLc%U$$WOPSSmk>6!(SHLGz^A43=WY}(*TKa|$tZQvSpS1UU%BJ(s-A15>%(nirr~1`1#jXk3?WBiR+^ywg4(u8bdhz2n +(_zLnG>?W_DYO*KISa+ty9WcD6SZ@vvN1qH=rW2zKPa0gDXA*o6nP>Uw|s>jtszt&-xZ=m!1OjHw{gF +I35-XnkF2Cle(LD&tr(;U?FrQp*a`bwb%w)eKxl5$R$a3Lv#8?XKgVo_m-onBGeIQ-}|`RgCywQJpIW +<2fl7WYZyem(dvuM(NCZmyW5tl+0?56!&~TVMT+ycD8|21(_95q@Ia;t7@T3_%86pzscuaNB)GbRF?jC~&XtKzqEeR +=9?r~k=-zZTplsOV~c?}Fr&((Xu10pur*(5$7s-!}vNni%^br8uOW(tRU}FQrWHGoxr;h~hzLH5o` +V~e3G)9gPmWSmjo~Z5;c9B_dgLCOHBP;=hsl9}ctgDo657TIY9UK*l8KMZ$L$7yGz(I7-qa!w6E_(^@B`ss)m}6ni{WQRX4U^yE@vZ%1*5>0TUnH7GG+V{L^qfXF2Xs24tvB|b*w8 +vTD^Zrpgx{~Uj+VW`a3`pj_y%_0d{$c8^<+AY$LQmjF62(hjx9!y9hGP-jXv-h@eCKB?jiz9geF>Yg6%9o=yM;M#6?DLO +8h>Zp*h*E418r2uFt3A7~>Np_!8?jKxK-v4?noM)}xHydrV+@{7IkU!9Q5dkK0L@FBqS+f@>^L6<9cw +a3)ddBKXwbk6Z&GEwT0t?t$8@KpVagTUX#DECkgIW+;iAE(8E})J)9C|vD8(=p-(1nvTtC# +g_iJ@lYQd$Ntr0tW!RKX5>7m^wC35?wjWU`uo=zqx!m`bhXwNssZ +TN4;9a%M>(LEZ!H0q*cjh1z?dQu;W1aOgDuB%nXm!Yb+b*Wo~A&7z0+cSG=RK`NqrXi4GqXMS=jMnzN +0EWS-94%UgEcqmef0`%2I)rWF)L?t&a0EEJ`??vYU*-#HaKnIVC}Nc=II<{I#ZXYI10S>X46 +E)fW$yN$|NQ4Kws*eR-8LJ-RfE2&Xc;ld_Hk)-eA?XB=OqT!Vcx=p!x#_}mYt4)C<4_&3KitrX}K@?I +nZmHb--Soc4sIp&)I%H@?r934-07oN!170I8+L>E73L^-{t;iJ5_idc^4>-PE=uXUeNAlWIRv0CS~d7D#6<~nkAZastB6-u&*) +djDMTK{xILPFX9j34C5`ibBPKuhMQztW=f3{xxtN#O@YwGdh_VUJD8VKN9R0xa8h9Do@iY~Hjdngg5g +w91|LQG5Lqy{}`r<1>14mmU{A(3JaglN7*S6wE7O=FbqOy-FQ(H`Q`l6wUZx?$uRMOq};M(S>>$E`ZO +#JLPjrjB@H2@dl>!lB?@NUe(E$~lh>uIF}xH3XSa>j=>D-SF|6VuoqO#~MR;SyThS~3yro}GAApMoCQ +gn?8rxc)?lvAbv?Lmjb2F6#yGtj1m)93?`iH%5yk1do4w0}Xu>%c^hE@OBNq6G2HG5lvQ5X%>XMwA;Y +2FD_lv$T~VyGa7P(Qft+`3)sBQ8r90arcDWFiAD`^sHV8-G-Jv0q6JN~fWa-l=CWC3_(@IUQKhj>4Rr +}=Ebmpe_FsWyB+jPS`C+y&1=Hk|2`|}~xx;63R?o~HS=hc}|>cp+Di6s;Lpn){4=UZI3-a$6t8{RHuX7JvW +YA8-yXxvf>Q>!?Alyx#)q;yTGY$G)nw8}wyp2cJpAsH0C#Btvw-8441WRp#rc34`8&)xf3^)`66&;71 +f#F@la2{xKlcAPH4#0Ko#J7(p2TsnM%-wDBoopYWhJyABKb~_#S2AeANgo{$>HabZ@&S$bY(h8#=tPx +?=Do+7CNdCxy{S*bdH1UkQ{!r}8- +tTysJ_1lKA2uswPkCQpx}q*nh-5YmEHxDOb{Xrto#nfZ +ruiT_|s;-+LiP7z +_^>x{ogKt}8(;B~OpOeb61~@?F00XQNC&!YmVSUeTt&yzmW#sSVjRq27L;? +Xw0b21kCMja$Pkp9$gMDSG+ApQkr>_^rXF`#p(JoRUP27ZDafkI5fIm=@5bn>0!e27@#ztHGe7tv1it +uCs*xRo7Sm<5P2h_rU-=2|vnsifM92jE2DgJKGryFi3@hgE%DXYZaeQMCX?`Yw~fI!%7H?RoS3|quat +RKudv$@TlBoB;ko`Nq$WMGq?{5R0O@rHr@7vkfP9|;Y_+v-sv5;TRik--69JLkS@y^dK$|RuF~nTMi~ +keQ%G4{iiF&)~84lKWJXH=}>Mn}=tB!ka#T*DUuYTJb9>2||QJ@!$%SW87wRW13XG@}7T3vYW +V?^k6kKBrY2oq}&kVIOOvWbhWud=eAvffKEg-N^U~vbPN{bQ(CAV?LKv6=YOWZ=R2)*ykN7q8@L&26zCqD)N` +;XBjkQPWpz@7~TOycHNWf#TGO$sZ<&UKbd6U-_GJWlLxh=jFvx21MGgwp?j@e9x4`o=6~J?2}&jsb@$ +dLy5RP1IjarloD75Tq!zTQ{*@O?=Aug0*9Iih6Q=VB +q@@A)ws6t7Gry>hl5NSJE!32cyt6z$2ph3Ea6a86>3?ErQayD$Tqppbq+&^uxXAYd5{ED0dXBkF)u5f +B2AH8+55dY~0t9E&To-GPYlC3WfOHkT1bx1I}MXbkmcuNSceh)j7vyA*OUXWc+Hu +B{`+Vjlpl6q6;wq3AT4@!goH<2_WYwVZVO55QPA`0~py*IG}a??fh=gyN5tO+sb-(=sZe`1`C{ku>s% +w8UpP2W#TAS37$7X@iH!8JGF?LXrnbRyqqG*;r4>+a7?Vu(;rC71yW(OZ4^ol_Vk%DsN803vnUB>M6y +i%1e)1nRJ*E?oy(urZbd7Movc^T1v~C@rR%sr#BxaL3&dfvIo85H~3;)-lUTcH|ec-Q}G2yETjlp +b=e`Bb-KivN~FW;blKZ1dL$26Te^%~Gm2pN&bH5*75DS|}l`Yu!| +@phh#qF}`Iz1~CGTeYd~w8jU=W`5h7KAm?3CZdz0uTiYCG{zQ?WBZJ^JEoyhQ)tTNCaS0MFgfb`6>Ky +cKvDkz@dyY%3ah=1C2tLR%MYOLxJC=p%=$!5u(^9ONM4q +rRAwBn#**2^C3t}{FlDBTyv`!)n(OnKEJvaA|wH06||0`yGcIXsDh_EDNH**s^;jljl!hzv^8hgBgK* +3wQ%>5j&?#Qd(O^-I;%m?N&tf=0U7|MQz*q3eo{L_eNPEOnR1Lo#+Y=BI&DXb(kSc;Yiyxu2AMtD~(+*3bqum=5OHluavpS8Blt3WFv{-0Hewn-cM1?e|e%) +8tt#IJS9IJ|KDzm!)Pwh2+dk*b(gHkh8zdYQW^tbGt7tB9k@#guPHh-MzNx6Xo|L0<(#!J +qAE7saSW&rr5(&nj2$1-bzJF8tKk@~q?0|$F(F)T{@2;*39Pdsf#c}EQ~-$;(A6}^W_}i=yce`~w^4b +H1PnhAq4<*)0RG--{pww=HFG(7h_=rY6-CoFnev$S*NO`(E8~=iUR+1;(8)t0y5MHlSh4S;m@)j&lZG +@6qPR}R;iq2zV4T_)qT9C}ed+*+_i#Y4l7Yyp0_+VQnH2Pnb#M_FwakV{FkXZ4Ms#z4rOCL*p9@~PSv +Kt>GQPZYoM<|KVho*{pP650>{e1oB+Jv#DO5lB)J{Y$T;arHczZ29rAOu8-yRD=c$|-_=*sZX9OLYin +30QP`tuD=R_(W1-GIXd!9M2t!kV}YUt?H3O6JsAE*nBOdI4qv!)T~N0vWSPj7^77sz&UKz>dVQ{B~R3 +o@8hn()uyePikVm9G$6zXx!Z4!}W(sQ3>No4uvSZR$@0wd6n8m<&L|x6%zI074xs2mZO#1 +dKHW-w-3|w4@Qgwe%i}D*8n}dmFhgI%L>*)OOt$`?Uc)Q3_xvF5ldfw{FD)8$?%aGJXU_T+D>U$-JH7 +(m)>e6q6cTAEQNbv6uvimG-BM;FvE|N9kL-WVRHLY1!Pm|y4BQr=+u1@n>WY$;P2Jd-{_eA< +9$LGsJF=&&w<2>yA-O$G&PCXZJE_1p7m0CID-7FOK=K`MQ1*6xVE`;qYLn=B`!Zp<2)|+*H!%$3*UYJ +ahkr&#|sg!%FN5e+8C(s(Gi~=0!akVdMY)xZH@KVdpU0-Gb!W3GCXy{cq1N5dE$)9sTL5M`NBGVws=r)&K<#{X@qfAD{fLJ +dx^W!&cw+p@aM6dbmnv{6Z+8teut7nThLBR}><7O#-9M29uN9Wskj&pcMF^7Bi;AmoUkCVX9^g1`}!k +FMfY$J0kl0%~a~RnME$E~=WXsNC5Jwzs!8cXl>+;S)UB+1Y;S^w88=Gq^fE^Ff<5$dX_&8{uA?ulgy> +*@jiPW@d}Yy!L{f9hVs3q0z&}NvFEoFPl#1jdGst=4YLA$m!cUR@qhInS1UEYsz?d-YELPyPn0I)-t^ +{xP;ZyP~LEQ?PBTJV_kugMyaVNZVI8tfw8CDh&q_-ahq&x(avjgyCJ$kBP8KJwT2_5%@N6LTN?txF%l +z$VAOjV@`nSvlS)`T>T_0vt%l>}YaJn8cm*NR%NX_fypka@D>^CV+S8>$G0+PRMyRUMRqMh(u?$!G0^vTERzl>rEfV)BT`QAeH>*S{Qp(|YlZe&!(xA#s@EziVt=WiUi!I+0 +JgjBJQq>GcD#gC(*>LyW9FkDv$n~MOagVR74&7AI=t&NMCv+X>7p@UwA*&DB3vZ?Bk&R>pfpb46sKW` +y}9Y2qkyGs(>l)3BXGKExd!Q+Z$6j!@awUi9Q!v?qX?y!+6+D~_X4_gmXc)H4k(5{bA=8nX8f>fK}gn +&?*sK3gg#F%Z<(wGFOz*Feun=z{LK8J_!|GAP!i43#qx88(UPo&GN0MtO=(Y1{;F3?Q{`eze!u +>Rmx87y+Ng(A%FU3az*Swq`1-yqPeBvVhow)Dy`414c;KsKdQ}$V^^O&*RbRRGBcL1AUOllYV;|R$ti{cSVK3CEXMiWo5;!Kl!ce1m0kbuBPLwb+Sd|< +5g#bydK|4eloN9wW-f4TFK7TH&J`HVj7Had& +5HtJB@y+G_bg2(*TG$ru>bms@Md^Uy%sSwa`>+M}R7tUbDDV~$e*FvKvD?GgSM<3G?vH2VNV)ovNu+x +X6J9b{34EtS_7nv9-{t|7vlg4b0tx=CYXA$j$T&1E+HLO;JfcwCB{XsJ82@;Kr;^eQ%i5;Q;Z94}$;=A5#4X9}#aP&X +4L4+hWA4_;zg6X9Z7&abYBi69*2cO^R)CR7O!Yh)$6P2xMpV^yMEJwib8@~$gvql5$?@GM2|QchkC9L +Z8{++9TqFK0glitxtYy(B6jRc9enk;l#(YD+%yZsgI!9kqJJD{1p93VF#$9NAqjb51z&~4K1S} +mAM?pfYucTZjeAfftrl&VhFZZ@5P$&59fOSng#8Ixa+8fPp +4ai1Y&zK)0UD;=pp#_~s$(sefj<%3e#dP{}_Ep?$mMaVXh!*Up}#6-2i&&S=*$Luj?E_vBlhw`R7&qz +mN^>t2G>;B%-65}psW7T!?wJ)s!aQ}hmd?VO=L67kvRy6Nvtga}bYX#~!A+Xi_p_A`?&+NxYHk8fN)P +()i(DwkzwO{9(AR?fvR2%pdloS5!w!Sv8ZY)4Fbo@bQgm +zm#3&Mz%vL(-&0XQR9 +{3Bvwe^=*!r0cMZEOD~e*8vYGS>*xs(aahnIw%s +bTGJz5D})iqu7+b4y1P!&7*?ev<-v3BF@T34^fuh&1p(i?tc%@l*R9Mzb)*!I3$)4+X}D|nswWePvVA +!>sA14e`$d0j7^&X}lHon`MFhhHp{50%?!TA_Bx1UF$509sB&Re2m~J8|kBYo3H!&UvY*y%J@)-2GoL +FV1!u2TCCDR~-eqpM7#0x_yk*z=8KQ?&L>Obh0bzu;%yfN&Q +Uc*NVK7hBaZtcKmdk1kFU@9mpakN)i}9UX(R!V<30TU*$$@Y0O2TKQ_&Fa$}xm_hhDE|C`R(5mK6rbd +-|7M%Qs)`Ccw`yi!=%$MY$U$jd*2uvFnSDP}Ok?qbM2>*H3MmthCe=vYqoJDDc*(*g|^qb>u9v__?_F +o^pc>{y_S~PR?COA0xNAT+O^_t1}BGqKd0va>a~E2&tDxJ9|z~B!JF?-UIj-dXGhS+5AP4&y*qs0H9GSa8+v&dygh}VM~AOJ +gAYML4%sJxcHg@;cRGq1W>FtUPo?`b8E8?d08khR{R_^2&vXY2{czJh>D~Xlo1cH@gZ6!!pXP@cJhEZ +)YuNeL*!G~#rV}``6!!0nV4RFedjmU+2pgQw3$bfpen%%HHGRlq$LMl{zRbI0J}?mztvq0iuw+JLP8x +P^kqm|kcH*x&b%%yMHD|FG}_=Oc8GUowbgBg7Ae;{j&U^jgd{>irw$+WfGT>^_we5K`K6B? +S2)se)eV20x7s28<=a1jw6_L!`&rKHif)4@~Le0`5E|Cyy+ +I-v4@7HeW>`$#0DLJ58rzaus;%(Mto1G{HD6S)htRM;YVEA^qvZ0w@S*loS36>9rC6PGkpo0|sDVX6G +DiR)nQHQ73hi?wPKR)mO@ZHh*VIO$?`!hsu@MHF4^<%+hK=c^qWz1Z*5?QzTG(qqGf>&9|$hk@Z3F0- +MH-ETJfOpKG-m7cqOE|)Ro4g24p|v6z$EBskx>Fzms=e|a{7GX~^2ns$-GFpU!qS+uB^Hc^=o|K>b2J +=bQ$J=`*GcfDNkVio3rsUv98=|jDAPvG(t;z?gzMzAg5RUYwh*UDk0V=T(lZXLVCBuY| +M!14fj68xKssBLudF}YS*ZPU9#C!q +Jf$Dtp{48{@|25B~$zsg`YIQ%%Hp7`dSB{Fa261S{rO7?Hw0x%Ap^i+&gjsmy{S +};uUoE$3!v!zKfsRPfrOi9uBmQsPUEJ)#k?N&jQn3h+zqd#{CO-iKoL#;Q{sJO8$EpQX&wAN@$js{ei +B#Q1$$S7$vpU%-r<2J@S0!)aKratWPvY}K59GF7?ODt#v+dmw-Or?0~Qn;6}ahbd;V#Y*mK+$cUpaJC +=j%g9ffKoFEJoufwfVF|WCT071v9M*mb%K|?%Y6+<{y*Gq|ULZX{agvEKm?uo_0cuM7I`dJ9%Us +<^q8E6PNuy9`J&7$RDXftf$yGw8oCHwF#1C^=LV3#!NGo)nc=fUuP%I_*hCYWKAE>|TJx&-Yq0ax*Kb>EcvOA0y +|dNDYTe-LufE#-8vgEl{iiQ?zxwj4uMMI4@TYll8>L7%GHuLYfHztK51i(KL~VYKj~b@jz~bW|(6?en +GhAlaxt?BJ=38f1b~kD>OfQzUdAZBp&C=5I%DW@k0tW)NcD|Lno-3081kFWC!==0yD%f(1WO>1MCD$( +DT?$!kUKiqdPVXbYz02qd3Q)k}btHUaiQ9R5UcOR-q7f48P-dC=VK3a;-r4Q-dYvG|Y)62nV5`&RYva +9bx+mUq^6c9DgfP+)^wzp(`;tkm)pjj%x-Vb4vx%yfS|aXh&nlg;ZDw@U@Au*iZMXU~Dg8Vny~en2IP +!Z8OX>Uy<-?jim>uI4%DvZeov9GiN{6WD +j%lYWLWMIbVhZ*NO9%#%%+ORkjWCr28l4!MvxrlrVErSXQ}clQ94E^WrIgb~5DkY#e49{gEY!6|AGJn +KFy=hol9%gt@G;x>eDf|mLwpyx4y +lmQGM$1T7vY1EM=>0r@Ox8X`0|ad`)NZ9hPng@Gh)Ufgg=aB-^m{)J?H$FusdD_ZGo!+&!X+ww+_A#S +~=`=fr{65jJcWjiRE(_Flp%>qa1Fh~M9&(Um7+-CJdZo@BSc!f3UL+vwSNDE3M;M!crLo4BD0^>AWoa +-t!H9UyHQo4fT$%QhIO=3!~VdpdAXVhrT_U2#mUaue7%De0%^}rpBffJl94WE)~Q9Jh#&xw +I>t=nT%5Z^90qY%BIfF1PxXgGg#xx}uY{F`xS7QwxHwsrgF$*pr3knroBS>()RU+5AjSi54Wt93_FmA +0iHgQS+T*if2?X`}a;JG`;nsv--=F*PbSa>y65g10cB*r#+6`L1hTR2OZ_xPV?fOc2!4%qsH{v8)?Tj +d71oTFdrmOM{iW46fbiCl`MQq=P4!R31KUl|1alqvWMY4%^=2iYA;{aqhfw)v;91z-Yw>Ec`XNQ<%6h +}%}j1w4@AOkWPgf(gIq?0VP-|;j369y+vLl~!&9^GL$G-FqUtrY&SxXXJM_vfId5>$7Nd6J0Svmd8oeV>)6`(qM`#p(hz>dXmY4ZKMQv +x*bQMMygk@F|l!J2!0Bxk#lz<%!#SP2sAOm#S7Vzd~b@FWg8Q_nnq61GvqG81q2i_&SQ45kkO7smoQT +UwcWEuNWOGQDYGF*X2eoyc1b28D2nCt5`*|roEM+Y#n>IREYC4c>2zhLOq5QYwd|XQ?7tbfx+XI-G;J +b-L5H)RVG#FZV%xry*UF@3o=F2y3}qBu$I+O>tVSv7g|N1?V9+A@BRXr)=l&-1#tF~z&tNwCNKP8`c{ +EQA`h2>*{6lnZE5un>T6KT_hc3rVpq!`6B2xARyroQtD3PI4xn+m7YSa(ZG=3_6o&-8`v#bCdEFJS5d +Y0eOU|7NtH2FXT<1>NN?H%!DciVsUMm8&D6#}QGz+o4pL%;MW6l|rL5f8~Lu#lXVrlH(?p#hHnGRefo +;B&XDr69Jr<`j3;VXQWEM^oE$;fBff42#^Z9&pD4z-6H#7c=EfwcfRaT)slT;wU-qAunOdJX2V*k->a +aY#MEyFwZL0v$&&8_~yYKOU2AMh$YJ!c>Wvsj~F#KBEK;1Gm~hOQTxY5&{Wjvo%Kydzd5H$e{@t`wP5)mK)VbR= +c<4Ar!+H3{L9F#PyqeV_1=hEsVWhw07A5H;F1}5k+L+C4A0g(T+F-VdD)J(JnNU5GbFiZ9SPzVd`M!( +#1FI4U95h4T=Kr-+60=YNCE3;<=l5O5RdEi-NtkBro=Zoh`h`5y;+ek^hd2Pl1q1D#7vvV8sn`YHV++ +clX-g?vWq6u61A8+xx5Gt-WUXb|!-&De6Bc%}K>`hs3MFjN0N^`_lpe5v5yj=}B8Mw~m_~@4ts@0%5; +VmMMa5!WM3^N^zjqf|)$Si-QG8;Q*uzWDravTCs^UYze{m4(*!nl1`p(r`Y*Ma3K?rb$AzEcSV6`aB% +`R%5F-(X7|u-7vf{KI${$X^SH+DKzDdhuBv!CqgxFiTO7CxO9V02M@9n<4bNMtkahGmTyfH_RWMjXD`yZN; +;npxcJi(gna#ZPdwbM_03JN;G(|4c&r^U)Ea|+;jHQhxIXFCqD*`AQq@D}2D>I1`k)Ec +t2^7=u^2?DI*w4<(j&1PaI*)KuDv9d1iTUWQU~NtPM`w1-Arn12O5DBUhCt<38NOEnft)FrJOm(+f&P +`JWZcm*v#P$yGc0S|=ZUpIWN(7^}gy0gOYvBv!2@ugQTP5D`SPsfkm*K6B45*o%*u&7P!^YnC)W_@2ivfR=BlljLd@{UL68xQ6gEBM7D@{0cepLh%&@qdXwtg~%5?6l +F$qKqn^VBW5Kj*#Fg^fVkR#6Uv3i(P|J`4frRD%i$kVWjA!7wjG0|2`X{4m2LKipmPyAO~&v={n7iuv +%b61Xp7Pz5+G-vWWAOn+jc*XwK>=aC;NGQmio+0z~&RP^@c#_W&(Tpk3DHdtg)b3n+piZm3Wl6xo#dk +f8wdxQM44^t!K-(KQYZOZbLDh`pk?Js3{B?6IXOT6%==*mro6PAtAE<&r8i245w5(O9jIqoX~nUQrI- +T36_wb6Sk!A|AiS4Da4Z&4OItB$K>>QYD66ukz$yzIlEyfvP!1yJVx=zH;jjvoYuE6SM@rCQ++C+l1{ +aCUp3U`hpjP!B05r@u+6`3`2;A&W)-25$x};@#4X;gI2Ck-6`)XRWMeqRQ#-1t@wGsidEI_w`x_j`>$ +M8_1>%3-fDi6%hcJM@B{0hKS?M}>?lvuSlAkk{EjPxoo`ezvKf(XrI@0mVm8wu_X7;Rfj0~F=K3IHV+_sr$M9Fs +lU)GgJmJaqVyhc$=|Hd8uJCrj>_Z9<=|XzC2%GKjByA +vbSunsD!?zA@#GT>l_>2-Wa{0BVw`A{s}l>Kr5@=5`n#j^Zt(W#>`dG|s~4Q6S>8F<+Av{yFBb@5w&Q ++%{`@D8CAF;b?EkWF@MP|E?PSdb$&(ICnoPUSJ(l&ENa_O7)exMpQFfAjHBQ6Qh~Odab@(w)$S)(~Y) +Oi*hP~j4z_J-N#ju|0(!9wG&?;us5`JDPw0EJ=o(f(VK80UoLcFe)k;c?`Rab=L)~e(h4fsvUO8ERC +VTh<@u4foOHsM{PI8p+pHo0x|7JMUP-T>$l_X3F+fo(|*!yCq>iW0*6D~9;6*an3FF;-OstI+BjkB^Y9hG@ +-IgOfxMu&?ecnf3a&aF{};PX||S1>M4uVH(WXabH8Nn_bais`f^-w5ZRhHks7dD-cONC0iZ3dv{^A3hbuz!U1^#wjT>}G>^b(E#H;fNrCYR8L*eIKoUYh`Jz+*!O +vv*)x1#p|o9_mBCS1aKlQBXL8BJb;SUHUGl!(bV43alfND0?l%AT>(L0)dN#Lsk_5jkH;4|~qu$=A7@ +%MyPu07ioflqAE;3#3qA^wJf%$KBMHmJd5}u{#W0NKkmEW&g0B=1CFj;71sBqp*Fm%^_Gp8W<KNl-XY+yS@l8B!mL{X566f5KV;jL{jlSl@_42yEdDp +-mpnV(*Y%td_=^p4glru5@q6jkr`I3W9|*andc><6Y)mb4NVKc%1bOjrKV#HyD681tU-z4|0DVgS +133m(6^q9;X)Cen^@E0SuG9;7{5h8@<+P3^kYwD~ttVnLXyInIB-*FeoY`8aF&OJmJjmRFE@g@T0JF9 +r_hiGyH{cGo&^w2XP${3n>#CszviqPL^G3G6Ex1S8Wb8RI{-*QdntBiqSzJJfKA+MH%mavIKF=1M0T3 +uuS|IopLc{@XqFdd+n%g$GdAs_!+`~Z6oYBe%hD!t8Q?1(z7gyp$F?*rrPsze|v{9k7@1(&k9K$7uOf +?PQ7(@QWZzpidSsy^J_Z(#QsLiKFYAbjuoTW70KaK>|-Wl(hR}Xt$3_OYjy@(HD!>TA-})MJ#G9+7@& +yBAqC*nEZI|Zg+J3$eNN4G3DXc;BvMbF&=5pm4N(fUMCiK5G5R)@MUv(rC6+20X)Esm5?=Njh$p=oKFvMkGy<*Cj{$kuii6L?_~;ND1jgSwZF`pP&+ee36#$Le9V>T5Ru&1-Zgy^KMcqUcD-1y{$gDPhy3Ao8s;9e< +c?@9d`K_``>r$?lh5!IPU0lRy3O&*{yFax(t&pZ?gg>T+;phTtSYqilZ$olxFT+ziZI9zB!t8H&$`0v +l-u?Wc_TXF>a)?WZAt+oT5`oo&4e_XUFntcu{g4i>Bm|HMxngqPv`^Plz7@*^7bzH=e0D8xNpQRsdk) +rXO=OmFZ|vEpI!!ovgxP6(^KPW*DiN>5kb_qPm+VuzwPnJW(HBKCVHO5_@{+f>E*)a}*;9K-!~-}b+i +)t?(%%RO8`ltYsq>N;N5nEvC~61wV@rEiXP>DXW+bPs=Q)m?Hb_T0EM-yDft(Z}d+g>agUBqUZF^N!( +Xfq|)XG(a(2(L!S_=!Dp>mRmp}oQF(}GuU+XVC9EfTh)L3G^5ysw-kY^!L07mau|)o^1F!rn-Z~==nU +nv5@jQ={M@J?tuTcjhgVTyq?9N!AkkAq*wj)lrnV;mONGf4%#1|CX`~ZRo9R<&IwDKI!Pgq7ff@{){t +uvS73xVUc}#T*ObANqHb7EZRiYo?tWk4W$~!U1qJ3i$$T+i$wlqd3qojnRStPx*+M48K2hnF +;(hNp(+R}qE941DN#`iVxVy|N;jf`8HLeM>I$U!`&k$|WY*6TSXuHO(H!r_G7OavPo1|*<5G#BQN1du +(l~UZp0hv-AlwnOC`2Lm{*D$V>UL0%HBL%Yaiack8ja)ND$NTFei~q^V785-E4Ok^A!-+SanoBPLCFc +UcT`ejn;*En(@Ag&?Y-9Ry~XyvmF=BzdoLG!H*f~+L6v`Cd*0QB%*G03h$)B;EqUb$(hg=tLJ6n1RdI +GHKxoO!FUdIF(mX@8I#Q5CohmN(Hg;h$priO_T$h*lJxZ>wG0ktyP)vf6ckDr;plpO +En8Fg(2SxUVxHy|B1B2oW|M`y;o!STx!(!Vfpk}zq2xjZ=iEe^5#An4r$*>lrBquZ(CSkrz|)sC|#5KeH=$)^Y^zo9N~^Q`sX3~3KV!V>PvG%YQOn3?C`C3lF>b(4AzNL9fNG8u9QWJS6 +p{#Y_V+_6TUtg1pgl#(duMp7j0~(ec25z+Sm?%!xs1(!WM7&kI_K;(q^>+7BCQk1b+z*{3R&(9RIN(c +$a9CJE`TTd{M2tTbtaWbNM@?|IIUc;JS5xT$n?8Vcen!tBx~NmPA!vEYHRDZJfnaOj?m))JBAei`Ko( +X5MY4A3zI~QnsY!<|VwGc{nxUa&T>r$fgq{3uD1j=iQQb;|93efK9sxUs8jvw2BcuHzi~HT&$BEh(=U +6V#blmG`4C(nawlQzyR@_PAE-j*y?q^+52Miv;Wz06#dKtsSMWY@x-_AkkX~2(f{m<6H<)F8ce1RKZX +(dYhZ26LBucWhXPMeJS|XZKda(NvyMh6u38Tsz^3*k;W&~xDC}mCFe{rBs!51d{CmOB38(1BEBkO^71lu3DDtI7n2gY4?nZ7)UIQYjqo<^JN(kc;_3J^&$U|+UULZ! +6G3fS)+O|MHEmn%umuY}LbC1RKlBE_d}bz+7z}#79xxELz+<6?xLnQPka^!V+I`7XrxLwqH_7ZgAJ|5 +)GCh6RCPA`|Sc10TU-beGcy06Mrwl9;xV@F|xM2Y(Y*GBwSv-D9+2opxwglPc@tc +-|wz3TO5fP&s^SR)aw9I9QAXG9Jl}Q*SXneqy>#A8J?~P7FMA7e!jy5JX<5LX`<1mHeL79|Z5vu==jS +CTdq2VzofEcO)g4e~YjMd9c+G*r2D$s7A?BSQN^(x8`#wec-QNb!xUZE}3V +ipIVmmb$M3|NY9MSqq>hdHD4kUwynT^6O%_%=@WcRD^~S{bs%Ghkfdg~1Nxbv1L#;!)To`D>#8EpDV(TuFD5Dt9py*tL@y8^RwIcorCcKp; +ecSo!&rWJvjyL2eNuO~N|ADA?JQ=}sibYCglHtR)<6Q}&z~41S&_lso<7uPA6r5bP;X#8-1HXhaskds +T#@1tHZ1ai#&7h+91OA`pWnHpQ5phM7=g;1y_LKJBnEp_VkA8K*8&=?qZvUvZJ27O2t+@ma^R#>Y=sp +g$$_gJPw}cy!7FNyDX{hQYuL6{!13DaC@U)+?hQ;T9KYY4LAvki`MQxY-fm$T4v$fu6{2iuuVNOVtyPq5+sbkseSKlMryOT9`DV +v$AhzD&Jm(zuQ?~N{z=8OqcI#-;Yk&^pAV$hhl?In$vJ%P#HS{g9NSor>6G!C?eWG(`lW&wU+&3DJ9t +n^g3_-uIxy_8|&tM+#L(npW@Sw)le=`_l0?wj@3Q2*BwJdRkL5j*B0Xj_6ynqHO>ik&^(jna1G=0IVQShQ1Hfe#q?7Ip@i##X0gqu6Mw9-(a--NZ6wAsLAHB9W +jZ9=uq!umzM*9A@f}K}^{8*z~Vl@fPG7FEkMA?YV>a=0S*~iLdJh3h&u}0IF0!812O9P3K-MHE;-OVL +d3`92%>!qcO8~e;P;Zo_*ktb+%o0=CNW2i_?+VlMN7g@xVjVFUzhS==$XiF7Qv(nbq{HUE(REJY)aR- +?e7y^BAXVJ#)*{ua7}BzpGS!Gn39}`K6{(`S{>@{^v68a9aF6m;bT3JS~ +CIXK8<~Vp<7`CJ4hcZo{;SbC3wF3g6HG1uZF!k*bb(Lz$Z>W1qE)OS%>s#~;yJ1zL=41AO*Rjc(SE1g +vRv^~8>QMmHU7cxSX52B4>v$RqrD>(`&Rf9?nw^FZRB=d}!9c=1&_<5-*^+%eH +Jwj%B%@{X;%BqQ2sLr*_*^l0RX;9-x37x#?SJ=%w27skqT1#Oz$I(zT&wy4o0U@7SkXtA?0E$oxlhcC +AoOQE~NNXLTENWe`F%Q9MXfX|gPA&h4Ozu;#E1aSpbrXQv|cP)J0?yY|yI6c}AcMKr2}ZDdx1KN!deK +MFoa*hNM;7@$tAp>b?GpC(m>YnEg9mnz_%93+O)9<1XoRfz!qanm+~DIX~Y=Drgt$3kP+!oHCW9hJ)F +(-Mt|H(T|RWj-q7QI;Jd_J# +`W#@uZ`_BO1AeJU`y0{^qVrkVc-D(u{Q94J5HF5))X`@_j#cy>h?IW$e>oI}Ea2x+{4cxYz!G^bNXs< +c6a;fc-$;D@aVPHgc83|FlZD7n+xoD)3v4ZGFN4pfk3C7Zszo!GnX2=9FXen`Ov01ZQ5&RzN=m^-dc0 +HQr<2f4s4Cj^H=+PC8xB4;%YSM$)EYatZ?(JkOb3ba?Ndgd|@n;2rcj(FV60LNVSAd>Uus%dp*?|62A +@(!=g_nSdd#Zeoj#^&kRD^(0e=uu>1x_u9*WB|AAS^&$U!PX +u~X2Vobt+vN@uu3iHlR=4<+ik@o4ENuYt%g87d&G-2Uv)xqJljbaoo@852=Oly89mP7#qUlLYDnvJ(}pV-2 +q@CFSoDx@kFF}+U|B!TnMS+z*xR}A3M8tevbe(v|)dY +Cdu@q6=DvJsptT~FZ7@aVk1Dq@a^ng%5C^fUVOb^hb-jSDO!jOF +}7aO(Ur>72#X9^XdwO?fY+JS&HqM3mlJUrcvo$mG&_MJcjn&)C;c6{kpG#mxnJG;Th#lM0-{dudk(i! +kA`;ki&VEP%1gtirKcegwBl6ZVlWd-9LIiar`K<)y_FKv+8gPv2S@2Qa2x^{>OS77H3zU*{^5JN!jZR +1Xv?tSIyU%lBsLbHEbYb1cP^+vM2jo8`wgt0(nXE58lYmH|6D{T7fPigwATGL+}RC2CQO67HamvN}7h +$8rp=OZ@fH>F-?Co|EE2hXuAoapsm;^J{sCY;{^6R#8~!N4LSMkeK%u1O`T73#&P;LKO#=zgsuAtReLr%)xB)7cK>NJ&WpNc>?hJb +3x)b+6aM$!c_V#ht_#l-3bW8h7?(d-a-oZ-bmAcjGnAZT&uone_`QQ%!>CwQf@5S#u4Ji0ddJj7Ymqt +pix@`}fc$ylZl2(@nt|8Qr|+jG=iZgbZ3xLj7=ThZ@rvpRu;cKPFFK^5;1Q4_T(Ne1)wlt%l)D +MC8cn$zT-o5oflbP71=FVAA5)NODS05+`*@O`LSbd0}35bJ$i8iKL7LU(r?(|B~nUBjo=PxmsAAihz* +^$p);HE0KC^1yK(|BN<#IKyYej%|9xg>4plR5*3aOs6#C%01>i?QJRO&X+9 +L%m8_p4-Fx7jF`OoQncBwMrUeqwhe;u%5(Gj-a#m+!^b)kx%R=$W!=iuYNW#JiZNG-eF +1dtZD;Bbc|8z&=9B&-tI$cqqZZG%lX^uuHOhWkk#xmq2ldH@v0ceG~rBsDjpV2m$SisF*zzzkt(Wrf5 +(X3#&r{KaYb#_1|-#9~R%O(}sFH4wBlJ;u^%=pXCxc!Gtd1~1;KaXz;|nM=|ECBywm+^cMuWh_XK>=m +RI37r@LSS<+=_E)ZPrv*0T>gZsEc!Wp!inlG5@=`1wfzWT{RaR6wC>%^O;-Y;kEoxuX>kNcc%C?{?J| +kbUMVuQcSCk~sW+4mrL}Lh^5nz$cG`W#yAB4zC6LTtLRw*>|0;%3Z3hW9_<)jXc4CBg0+2dI>!ykx*s +e3S}P@t_V(bbVLG?;sd*T$rh;*K&R)1(SDm67o}#FHSgI_%kCVA2fhSV)5Ds^F56^2ODw!Jv@vi4)g& +Zo8BSU$r@N?1aA9qt(fwkIOmFdi>h51(6@_7iI#{AbM)&Yq#5;McFR@&`tf7#pq>d!u;Il>M*XM +Q>!{ns-qsMH8nIq%`e59HczuL>K@Xqp?A8F^inDQ_CpMM{Rb3v^NJw$ +NrqG`fg>{y;}LQ79{*$^joLhrG5Ijh+&@+0ce^K8vGKN#eNBF^7>VeW~+8lR1bOHw1^rP(EX9>yZ2i@ +-IUtW5P(&920k;e2{l6O*?GL>QC5i$xP6wh2t!*5D;m`XZFgO9l_AgPBpu)h*mvrb3^6QPm9U`WYCry +H)Fe8{ID2KW6Pt4+K;*%aBN>gcf=s73fH#r=R99@#8ZmC*jM}w*YhA{&7BuClkF6> +3WS$P&f-UO|itHp-N>PJwI3ak4l(ZbnvjL#)>7enkOxdEVCq;3yP0PHjmvtHA3_h7a3g;Lzp2H{&30` +ZA7OBSxN(XAjwM~Ejg2iA8$rP?TL}acdTrSiW?3!jdsGRd|tB5Oq8#d9L^M`mBu7UHD@De5wFdTYZ;@ +eUdjsys(V}wl<-wkK2NJB$rhZ +Mnk>ZE0C1-Juvw1hTT^QxtK|6RF07axmEs8e7Ic4Er8qj@Wx75HhVru=SQa}y0cL6k$Y?A&u+%NzXfC$OIyLkrZf~Q?~EFApyFpX>vOE9e +GL*<7!Rb`0|>hytFG*UQOR6XqW;>+z2wK3Q3<1m+NW@Z$I^P)I}PYW$D)NLuvf!1U@~Ht_SZ|=%?&gF +M}6SFR0=NXy}3Sq-uhK2PWFPIw||9yc79bZXo^0R_pJzY7I%y%K18j>c9!+s-B3+^qBjbbth<`owd>t +waVgY$FQrDaJE5f}3CUPBMp=1VCv{x9-p0lT>7eZ(NxqBBC;E<=M5yaL9m5%iYr__ezfoaN{-k#?ow# +~E%Hg4ugzD~1I2CjS6(Y4hS*}*|)&i1%Ovw=LNBJ_mvt71|^f<*G&t;0 +p!V&o+Hb10d0y4oo(5X=FM|}-2qReJNYW~1$LA|X-`5&DOmqf=@apS_@dpu^sl3FoYs@4$WPUq@@c{Xn{q7FUPA)5pRLvS7xk~kxX +S1@Mpc4L1TRO!%!=w5qsRiZ3SMw_MRBVVrFYSyGBRld +7QK)`)@&)9OSAV7m=d-Vi4xy&9K>-pJ;dMT(WlB4`3oyBICG$V=HV5SGEM~dh81YEku`?n&O&mtkut=A~_VUhDI9$!cvl}v=OIfp4TVx +@PV9;3=gK1W0x)c@YZ5e-CnU_dR@*{l(Zjg^Q}D|JlUEvQ5?-fNhZ?!XVe;!l&J9OteEl)%Cvy_h=fu +f2~(gpQLx8}g;Dx3=9gOXo364V&ca03`1#5Ef;flP&?7m4=+%D%o|X)M`%#D7H!dtTZ0mAQfIFkCK$c +*%58gvL%9z+Ax^{Msq*7OV$#fczlc|Z5|cbRCW?|V)T1yIY&jGe)`&*j5f)%& +@>ue>k;5SfIQNB7p)0MVgh5wC68`Ku%Alh~GNM>D{TA{K38(cxTDn^!vEgGxFwS|jL}HN!S>#-12PpC +gaccUAO|=|XT=7r|VVsNd@;4x*nDP6UiWY^-7^Ftx76BXmCI|Z<=yf^ohalj?ANwVrMxxmNM{TCYJ-}Iln|(g0(nZy3uSUbgX37?(T +HS>OwzNNi}r;!bDN&t$k?)Lr7=np>~dm&Sl4N%^tLTNdwx(T%OT1*^>!KK=t8)JXA5%!zur173{I0#8`~5ItBhiUKzmIal2hzn#25d#LH#%q%dz +Y7pVld56;;@(=*m}QTy9#fU+qAqH&@hjLRzSMmp1AsEu)681Y=(l&Q@T6KWStUVN_LV2P%;@9L!so3=xsXfOPu^sL7!nmypUaIQlVfB74w +?~1*2ZE*2rwHFiVDGz+iP$MFV!Ls1GA5T7=pz9w#%3C^J!hj!rfwK;qH`@_Ezu+Y&mhi@$p+ty6s8W> +PyoHXd7Tbk-^)VKq}RwDnjEz>-sUJRi+i!KBXo1LfyLQ4P|f!y26##tBLvDoFSV3e^k)Us^vZcae+K# +hyhTa{Qq>Pb>0L9p@Z(geJ(3<*KnNu3>8UWcG3j16PQJWAm&(f+d0tQLJ2f;KQ2d25nAr1|R48?GKj6 +LUEP7v7m0q+}q-qB!IKUB1pYl0yTr~)Ga3+5{y!9jLPo8Blz#z-Q9z4zui^#AcfeFuH=tYk_k!eu#Sb=$Ag2l_T*Qb%JAOx=eKkR#j+)XIlWqL +PD(6UZY}#fd@%&xz5(M1@H5M!2}kdl@{in_SOqkfm5*m&jD0y!Qr$-zdDGRtd1%JaEG<92*vZBD=u0#7fJ(Of=S +VFTliG6-ay!%N6v|LmOZj)@!g6Z;$=qW= +R6c*Qp^_-@oGtNgMt$MbY5^2?24PM9>ukLv9GcMO%=O*ldW(gB +qBC}`~1yM*M}o<;p#*XVf^k{c+J(UmrB@XBtlht1;^c`JFD4Kot%XbwH_1Y&OTeHe*LZnV{m-Nmlo#T +j!JhoLBY5X7&TF=OcofT7=bIR8{owpDF&6Re38{^ +J*(Ou$bZ%EZdfGW$~mjY{h(~*$C7wIu;-8m^?Yp259eW#C=>cHZ&L_Rf(hqCz;Ss@2tddh?eUN+%rJ<_rvUZaV4DP%n(j`< +HAwMo5%s4Nt-;>bcyF2bb*-94}8x9XI)daNb-h0 +gQ^WT%5MJFdNWcpZsAcKdzx-n8kMC2EdCIcr9Cyp`~#SV?KTOu+v^P`V)!LB%1{$4&TBKOMg3u^nTUq +rbJhBdT*m81Vc7q^y>F`;pK`)r7ioZdjkX2m>TvOD|>ZFstl0e)_t)Xa18uyaPLB*%0F<^a2nQ1ml +N+YBZHQPhC>#H6+o~}&U4{ZIY~~P0uvw=Y)U~Qb?7*lO_}|#6gu4>u^AG42{i=R{Rr;hjZ{hBEyJ@d+ +j+YCV`u-_!7YDZA?vZE700f}JI?Q;3Mw6k+Zeo;88DpVnf_lI#<3$yk$X +oD?!v;OO~?J^WeB=o4Gy+mVJ#lKV_Edk%FX4cH_Y#k3m(@bg(#7Tofy}%8=?V4)X +by_+*YcV;OWnpUK}SO`d6jej(3>#jMDE=^i%Q$>4pF!F@6=@xNj$7i3;&ZpxG7vUkK> +qxc842=7}rH`E;PE`n~7=gXWAYk8lFc#5Q8P2M0mh5Y^_2Y5v$Z6thcG>z(Hy@=)a2#G~3=xHUd?0!j +{1P|26SNLFqT61YBBeARLqxJ*0EG+;B_ne=Ndyfv3~>Z^*6Lmz&V2&N*v(%d;}du0r?VJu7alCMV$2U +WA7K7)3W885SRPNrR4+sfiLgDNgp^|ePm3|@s5GCiog*1gDwptMa5NdT7C^2Y>WV37OCh%23H(>$Fs +5Io%8H0Jy7fALY!@7XiH;M#*srvyJOHP~^7kMW~PV$cbF6`V&eBxq;&MYY2Wcpff8o$>wN^8E&k$VMB +b0jwxqB=KP{8sdGPXzeBBr1+vdWbh)ip>u(|I_$vM4q{l3ooDb2K|%d#pUcAN+-u?aYb3KldbdFY?5! +@yVo0c^VWn4w8qo3d-v}_jcGc)ya(eypA82)#~ogy`^x4RJCnV0iH_M=jCNp7!OCece2H^>T>JXP7A3 +U9bZE!Nbz{<(8H2TxjAIW@-%^Zq0q2EaZ&|A?mGcSvBZHHnx)D`JxhJIvCd +My6$7U&CAC2r--q$%+DW(aOSVZUn3E0j0bem$YB%l;eDlHNdiCxsqvif@1F1s0~xqB#AU083kRC|u0a +Yu7Z;mNCTS~*;69)10~xAwaA+KViN$;Mo)p^z8W_-!^l9gHt3r0c(09##- +b!9&ncA+l`gKW?sYGdf95_J!ARURNG1CXW;PBFja}-D%Q%QC_Iy`AoBAR_q_Ey0V%_NkD2Nq6A3KrSK +m7FT6SJw%3vBa&ic-opQ$lHZP@3six5DL)W57OOO>^ZoRaGn7Zplil-KKYcA*x>}h0g@HnSR+_B_h4r +9$f<|uN2bGc_(O0W7Uqn1z8HR<=9F~KBB(0gs&!h%#rH&dtMw@Vv}iKje1~|JH&IkCS_egGh$Vu9%Za +(GV6r;IwA>g`;3RWI*99dsyz?|TOZk*7TuPKPa$d22xt70R_UX%4m5P@>FuWnK1fA{(?60ucQyIB@E2 +sce)yN8QQC_x#2fL9b9n7aif1suCp1L{tKOn7!wvfKis@OLNgWmP}-I;%#97slZ0={V^Z&A$bwfeJcn +AhT-!G~|qB=T*E3_XiXg_`vL*jdrY&Pz26aqO^>|9>`SmLud^%FTeg`Y75>T_x1Pz09l<&V>e*18$k( +%?v!BpUC8+aH!{4bCXQ-MS$QFZG>s#Q}WAVA(!*f6Ekgs?5l);;o3>r?1EF0iI5G49Cn8z^kR36t6cp +GjP-4XLL$Fyv?M1MW@PVRB_*TPUSF)$H*2lCU)MJ)b?VTxvh}*X^Lk_J9{j2JJP#)%vVaN+1}f+6%^^ +9m^=Ht5N}z1LZBouvw$9r-uHe=^`04N;WDr?=3I^Pum{K6Ojf1K4{PA$Lj759=!(*Dz9MiVu;>;w~i% +Z>{^OP3@)&Yt)wO|phJe<^m@Q26p;vY1$Vm#zYTBGorv3m*Gru_bJ{ip@|Af=Gx6P>iWz>ls7*RYYap +lNT}mI?<355kZ4J4vmV?B7+Yl!7jizARHHq7dE#*`re&Izt;rqJt>h3MFwgr +J3h7&XTwNkcxn~k%EuEv1jF>u^H{AK2%@)fb2B- +=Zf=r;4SciN?{yD3R@ey~QXdo;nhdnHreOPpb=p6lb|>gyRry2EcH`bHMjDicqg5A`SieYqjCc=63bB-wKU80MSnT +`m63mg}d?FZ^e$}KM!J^s9+yti*Hve#ldsE6%oMnu~IQxxKferrZ98M!uE2g9UfK-;HpPQW$$IA3rgq +?+5Sj(Otl4?V7sUrhRBM&v&EK}KO3qe+Tr5q?h^{hrtQtU#L+9+F$LdL;`;S8E>f-H-NSJFHsigLu>C +kiE?@+);ZQTV7>_V$;}lb2UtXjxAg?>fw%vEm{#GkUSGK@H=E;E+HtK{m+8i)|$xo$mbKHBk%NGhni%jbieDWlktOVMtdC8V%Q+ +h#u(UNfJwZFjg|AUN;0gMIB6E+$o0-6v0CxuSVwXZi1|9L0BlOI(hX1s0=uWI|c$n;gu3$prGgU+Q|<#?>qH#TlTYx94K9ZZO24;P#L>mg%xY(oQ!^QpNHdHb +RYnLX%AkkrH&-s_E|*`~xb)p|8JvV;aL!Q_-McPFn`N&99{WNQ2KC3CqV$W{?1bv+WzUtYaryN(xb!v +u3?*3w#1skQ1svJt-z^}Ba+zx^T-6~^Krdarjsy7JxV;wv&!YSkOmYu=uEW4bZb(x2{v&lw}%$PL$mz +^sn_pzN*-t`?9cdiRTe{1t;U-Bf*wurGxi^u)0ySykc +u@PISBe1}$uU}JsS?s8twK7I4ZY_P0!yIGsx?f8-(G(RDn+g6~zSAh-^Co4yU0CRp3Y{)4G^Ik*l0v^ +lpW^v*kq`QS9QYe1DG|+POY^%Lfp-Z +%tx)xd6LAN4@ZaHqeN@o9h5=f}hzM(6>xbXikzxfk=r48sM2@P23awktXd8PU3;(#gL$_hC1Zw!@5dj +4!Y+aFykI*`(j-UX6St(A@P!o>mP!>Qztu`nU +sz|NooUA)+y&#-z@68}@4D#NapH3Tjdn393pz;4cx!u@k->)ptidL~2hK}Ky_>C*$H>i()07P}EJ`)B +=qbLd35OsLqAumll`=&o}hisgmGp)m0^Yx?p;}`v;yidjY>#Lb9dhOHcNgUOGefMvG>GwJMn%4t#o?k +^u_+SyB;O1*we9gN213Y}8Y0rPxZV^)e-E7SQt3_OR8@^|7xvy^2F;pC#O)r+Y>#pvP`{#BFjZwId&O +&LmnVIGi7toN~`h=Vv(ecO1{RRShh~xlj7*ZZQickr|QXhs@V2F%fX_!>w1KZ%F_*ZU9R&qt+8Zu+sDK(Bs?K7jeS +1Zyj;_%GycqEVRqaOPhb7Ki{*qOnTy`t|Jf>*?#)qY8$&OLhnOSOTZ3D2K#xH8i`_DDX>?y^SL18TT; +6uesj$!|~A%-!qa%09;A#3A-2;1%%D5S1)#yxG56v*1_&W|1rt9TTj06pOU<~_2{MlltkUFZ@jYe>g) +OX`tCZtdiKz76<@YL`+{FS|Mt7xr=3?Xb|3A*`S4O6xdiCDjj;sZ@O +h_m9E#89#3t&F;j&w`0Qe0gG7a43OEwV9y?q8f`+DLa&=A5}X0 +SeW94mU-0RNAJY)*h8&;F6Ro{*dxxAd%-ayum*U454{2aHqK`wU0uS@ngAzklpwMWQbQtd*YiB&FP;?UI<*B6a;x@^Al0BA5IN)lAZ +NOBQZx#$&6Z(7x8v9Za7}{poj(+xDXsrwOV~`pY87M(zpq#_mmSZg>U%X$(+$m@AXyfLtB;YqbaL+v? +TPx^^629oV=Pt8rg3EG_+qq1@-e&d{_5PW^qWty&Ef!XA5+{2($rmnH`c9FlLGP9-=~nH3UjDwU9DkIcLb^XBHAj}Y$+D`?INRvXyiQdc8MsnVcQD`>|)kQ3(cs+`1 +j!7#$kspVVd_Hk)Z@BD|3((x09gIuHtKY*frg($M*slB`^pN$WhhM!a^bh9v|D}*T=`6cbLk>aa^Z_EZGnQ# +#v?$?BnCtCs64mJ5S&CG0V?sBsvu(*)ioEHf%l#N@}Ct06&trnhJOEy?0d2} +sTe{)-Fg#&NZjkSsuPIU9x*}ti+w@f2t73`6cl|3u)%u4n}GZj|%1l +qxSg?xU(6=8zBvYb?|J06~hWuUB4*xj?{WID!F)^0URjD@A^7WWwDv`XJ*0~_zKuyBJx6c(_l?$5Y0| +CUxdXW0mogpQ{e#4MNsDuXKsE$Zk;X|zBAS87krvn24?fW0G0)|l&jgcz1a0v4;-Ol-#DEzy^y@bT|^Qe&et>qE{wYNq*o&$ +<9*Ky5-ce{ZA2J~R>-3%H+JC&d;oX5t*1hWUgtg%6f*c;=a+8@0gqZLc6?%4B}LhEHQrXgc!d!Dzvh@ +mSVW_AKv-SGsYciJW7-n)5;ybQM7f=loyURlU5nMQxf)7wV!YCfSs7d2a)QPRsevgod6At9E216w^GMe>{N8Vu4N=xdf5HToh|O<)>yAra!K1z#=4BbdK4#-_-nIimJX4*jq7Jh +(4eZ-Z(U`p#Vg)M?f)R10GSzOQ!^Yr&BC9cv3U}r*M*BS_$~SM`2;iLwJUd6kxmvqPVCm4q@W +RDdxlVqQ)T~X`-Y*qYRT{&KRtFqkz^1{WsYKGKx6l=hG_3Lng`V8}uct`q}oJFEGsw>VGzT%rG6;R+! +Tf5(G@GNLl;^5qDL_t|5h?D(suUEPQEcE~yY=R_Y4yd)di6=Gy1cZZ68>+{7Fwhic&Mqoa83lEcp{6I +dv`H*NXPOY17r1+T7qerwsh0YUoDoj5hlO&BQ5oIjQS786&dP)1`j?e(zuSRvP^bY>U<^YZ`%xGc;iG +8>|YY0WEx3nO@-LNgF|e0Wq>+v7?+jqM#Y9a^cJXWch1v+jIKvM4m-21OiIa1yYU!NT)^88Kbss%)B| +*msf4v)N0xmW@Lbd~FaHzdIO+va2Am_VL*7_0uyrCDE_GGar#ZPu8O&v)5tC7(~|&9z9vNcyzDCmlPx +%UryvSk$OXxI3fEn0DfKnZ4;F~r%Gg^PJpbAsn(>bXe0C`@ChCrz`dDpwD`BO`B`RFQ{Rlx?$f^drC$?`~swd>20zghLMSovn4s +r6K0C|qJzsBVtsCb+h$B5JMoJ_)0+MDsT2b7s0x*9pfuRp=ylH#(7T4&`jLgk;Ph4A(qx|h|+)wL?ho +)cCsxhf>CE~?km^%~f0_ng$n1R@vVjbdn`dhQLG63Pe)HcYVu?Di$CFH)^+C(lRO^XXHRX;e0H9ot08 +;mjNg)LNzAtJE6~POXAp@sTZ&p26=U%>z?p$SlqKzy@DT(UlQ%ifo1rd2PUbb6M)-xX#5Rh6WH`g@UjiR{JkH69 +0hK!hhbIW8rUQ-xWD!=u7k)NeSY947&qi8e8wWsnQ!w!Qetg9n&gdW&$Cb+> +|(mbVyopXsKGntDif(xAM;B)V`y?zywyD|I{-$1DPezr+HAwn{%w2y +pj|+f-Xd1!FLKfv(7+Vm8MpZ)R81-vSei)160srW{PE$r#Gyhd(d*G5Iq>t5 +B~CcPvp*U_C64sHyJeui9IhqotohQeY2;gg$3m|fWL7f@pW1MOXEaMP@5t{mOPIzXO?fya10C7Npr_E +j`~VyCMm?W7+Txh0BE4Hf?Vn6^&254dOE+v5PU)pywT9KG7YC>&#Rv! +i-*OS=3?ISsjU8Sz(gKoAu +7}&Uz*#m!)l@8M>gcb}g+KNW0HgH&I5I`+QS%(jvJK^!9y4=~yjX#JIZ?emhG)8u(t!=A1A*l(rrN~{}N%1BJp~=uYhXb;;RE_b^s +#vf&RYsYz;kFWKo=*h~0I*eEQQ$650<}c)&*TwV5{U|eAFd_U7P>UKM`7G62Ic!XRoWZ(ll!gqgZ5|1 +=U;reD74jK70OnDFFdSr1^y1TRtV3(nyJ$BV$SYTxoUynP{O={EO9mFt<=MOVX)I>ce8GgQO=W8;28T +Zh2ghEPul@jsRLwEG`O*i3kcfHO_oF&s(SRV<57on@;)I)$YwiuER03KESO#BsZW*?hk3#loBLaI#JQFLEl_VkF-EGuj*Vmyk0jUG&P(sAeJi)E^qHz`0Y?=ZPq +`a(od3E_w7?h#562Q`Q5F&Ar@{q2y)*x1?;QuJ8=smJ3CeZRM9XHx6RU=xnPLCze1>M+FdUnq2zJN$_#zo%b|!dmDfke}3-YmV +d2q}~bHGFmc+72#Eqj(>Xx7?#9XZCg8OmX_oeR-`k(seuJ~k(#adJAJQrF;U>-DX9hHtNdsl|C9ByVP +N2W5=MeVFM00v|_A%xIYSkBjbAk2b8!q+I$2Bc +_Ezs-kX+l3{K-%n!EWNX_%g)Yap>1`v|1B>_;gJ@C(iQk26&dB;mGsZCd?1Gu2p?KnsFbCerv>kx;v$<;0r$TB?=incqluD2~7amA(`A1lJ|2qu1|^s%Fao{ +)Up!?IeQ*8ApzBSKB~;wI$0BKW^cx-h?E?6#8U4shRyzo_DaY=r}%*n**iX+YAVuQZTToh?4Vtfr)em +y21k1Z>4wa}~8O3st)XJptKcSrZ&zqA}%_#qUbPsM~KFIc_hFfZ>^ikN +el#j+U+cBvbmBk5Lpx9ku#eUU%@wNvVjn89|aC~%IoC?}HkWH#AniN&*XM>F0b*P(g*zS&cKIgI&E{y +DSj&Uyed^QhCNK<0svWiiQlHjjo$Kq^o|2XXs^OgwC1chhK5I +&(Mt!)WaTCNd#?;EzPq78C*Fj}GaF|E*TSnkZ;Wlq4*!!ifXLOs&^kEut3J|^F!{lOvL`bn0sxFYXx$o#f?V0cvsIF0jw78vDmbpR{Es?wMvq1K +Wcg9t^F&PX&3Q_)ZN??jB`Ztoq-v3t;`>!PSUrFo_mc$}VO*@N%9kN +%cWK*r?Z%jZ8lQ)b8cc{+jFhM9CQU;X|2-IsgGqy3kUp!UJbeE<(%ULEYdOupOuarfKj&ywel4)Cvnw +9p}en?dr9beDc@Qp|PRe2t$ffRk}PvQ_X0)%cbYP+I?hcjPWmZB(_>z$HjMHL9Y(5#lU7`b7ZgTa6!R +#Pokr9fluN*fxPrDjv&&F@taoCN-W`GnEO#jO1Xs-R~dgBYfDwpAvPZc-T1)N>IRCQy$@xZSccD>Y``-+w_Nct1$GdPK+Ku*QM-oSRKE7x +*nqA`#m2UpSl5kQHG1}_adkWDu#&ow19^%B52?)>*q4?TLCfNOw__l?8;00rI+|??@*1Ls(ZNEpaD4a +8BjicHry~D#PLIrBM1s=h6vgyAm~8^L8em$6iM|fsF4C?12Y6jO#djimC*U5n12BKgFFD8M|re}r@Oh +DQb~{f-^bqH<^k|<6OqB-z-n_g=_?KOf3xYB-9clWAlQc0xH1-vqiGDX2eb^{Le#mQ>! +udAwYD7@RtqU5Jo1p?&ct%O+1vM!SHxa +83+eqTt%OC+wYtcotwhT|FDKy!OJB-pqnl`WCRATWOwSMHcE85w_8{ke`pUJEETDo~@sc343 +Zne&`8PTjd+up?>ut(R(%s{y@iWGn)G#tOpV%_AfDu6JN3*o{05^$nPX3W%0fM_#$5#30z4ppQ%0T&( +Lu+QNkL3C=AE7zo|-@}zurcVVv-gKhIc&sEO<4Be#CY+V@#*^04UXNt2`N*W&Hk2lJhK^*YNLFe=&S} +xt#?jXMH^WC-PokXGVm8OFeSaR5Z_PCve_XR>69_0Bi>nUplb!4U2w}ng$)u)W0^J*9b?;@9X1Cpy +`+f*1c;t(%iu^TSB4jcR_D6-Cy;aEVYgIli1;m>kzu?%Ze+*o2h@ty@#P*_DQjH5U+sB>t_*;)di-6X_=Xj5c+xj=ES+hv#6=tDn{r_{HRy6W35z{BtcvuFl~H +(OCrH)Z}Bh;*=l%l)&D)?z((og;#jb&A*P6+8wd=0#on&o(<}BeI-{#aLyZoh%(m!C3or^K+S99YC(; +vKU16!%t`^8|vu`=;y4&DkZOhT9L+N^)&{dJO@&)=;0yV~BG8Q}G7x7qs4&USzxRKFbGoIrI#6B+JyF +NnvW4<(75gQ*E8F^V?WZ|X1k>n>2FJstnjP#T7_)U7Ar9Bq)RQ4Xe%VyrenIte{e0=QSW2p5ph^}{G% +y(VVTS==$oVCf^5~S4R1i0of?@OHHx7oCR+Be3{PkbAdT`TuZ^`%O-^h^To8n?o$19aFJf-fz7!?V-K*-cEz=n@%lV6o`>g{IVFz};Q6pty@S^xPN>gUm9zU5d%a{3JqOWEYKhz-|o +If(xD8(vxgpBSiOSZ0M~r-z3#dcM}OaFzsOa5ObR@QTuEG2DhyWuIaS|uv}Rbm5o0k-=1^rHOnVZdHC +%@1zNbUA!p;s^U*fd!K9t(sIxAl4434vKBL&QXPpiSp9BROlD5DTC~ER)MN)?7Ya)p8%?RR< +dX&xbC8ro*{UAT{iM46qu1R7;{2CGqdj#_ckIM5gjUR;FpraG64$rNP>E$vU>IMT$TGz^G&Wgf&@4tinOisN_~^8t3`-z&7P?LHug?HT(@PhI2mkRg2BJiBqB`34_J{MKanKl_x>R +J=a1mM^xMfn_6W0Z*xqoWUAE~Owhl$ec+=~LHk^C*YWcn)#5YC>4+HO)+JR8sUc^SE^^%PkdwQXcX&4 +Xble)1P`C%VDM#NglXLPm$)N}i*PgsBG_wlqz_iDYH9EyCz=wxJh`@MjQ5!EF) +9UhiVLuo_7%+*@IcNY|j~6JfzU$wnX6DCazMd$umOJ>0@OfR7&Lou|7$cJ`kgEa}j@5A9AgnPaiJ^%W +bDyKhrXz6DFbCO`<2tC9gIUZWJ(>ndtFm8inpPYu%HNe}2Dun<7`P02a|EwEHWUa?j9E&{bk!*<)Q5qAJM!mo(+1^hFV*oKky;+v3$(g%Z#k5L39ZMt}jFNTA^UL&-qNH8zh*j1uf3n3aW$F->UCE`Cb!GdK$2^0K_KY&%Ou1)$Koqm@-Lz|-{ld5Y4GlNgxWSSmAcOIKFP+_c1?TKB +ToMudjlK|XGTJtrVsA4zsHeoJC?N|B_L3xuxc>vV*K-h@(G+3wYq01GE3h;FF2bQ1?L(<|M1xx29a}gZOhy#?h>CtyT8}4jrZ8fdu*p}J +iJ4#&dGQTxEpnVXbz#CwZoS>1W$JjkbRkSr}JKBs%p8SNs+|nlgW5W+%;4N;Sf0eGq!UxH|z|Hv5EE0 +VG!t0e#v=|`y=3)Ve*tjrMfEH*X#M3vem2EvEvAIF%QY&S7AaWOfye8R%un}8Jw?k*lw4}>0q4BJT|` +IdIGKej$Bu*(ozW|Xw9#v;o$|lguA|-{LXZL2|FEUXei#%n3gA^It~a~4~&R(k&bBnO{U{XdPZrj*{L +@7n_7W$cRblQlsRQSLg2=%q7h`MVukk2-Y2)Z>4?bev+Uh02zq$+I7X3M;25bl29|#|>!RO(jUjv`Ga +^Zb@>Klx$W(8^`BiQr!&=^`sOdvrMcgb}zMI#;rL(&+wO1w)Vxa}rG!{syISdvkq_o8r%`1xyc`Ue~m +u0u>AEjGxsB}!l-}ws~&hVEoQQPulyw}~ESel4=$C#mna)MtJ=~;(vy(#;=9W_4Rw~uWdx;yN62yz2g +!_=5pbqaAKIvQ<0IBQI-&lk~M`9XMUsM6#hI(bG>3M9fH=N7f0ZSg6b1GxystMtK!Hj3t~0@xNNBCA^}kU;#?n=0@)oKe~v7PE`uvtJD +g=RdsesjB&!ljgbs4Cj5hyGr1;-NimQJ>bt(u^!`cjViz +RI1P20!Z$&B@<1$7tEjn*zxfJ}4RXG0p^CY4h2u&|Z@$8sh4~$+m65?htEltCJ`?YW&tbiduva` +(jzJe#Y;b>qsCpz4^ZKzt6F3vP=_Z9$csuU*r~|lWxQ$|BC|m;AshgRJ)vaQ#i`mcU%L4xns9GX +xSJR@ngsLPFaO%ct>M1~@35LIAQ|Krp4106peLo4r=uEeA~5VE9DHI +bP2_404D^7GO9??iF#Ho!pO)o^`YfHEWi#K|X8Ok1N*EF;60jWE)IAfzq6xdaJ3u=EUudAshf)LJ8@D +^>9Vj-3Cd?>NvU9$c9Y|E*rg+q-U@ZdR5QoAS0mbBvbqlFK%ecJluL +H@5+7Kp{ET?c{y(3RAlE;YfO)JkIj&w9h7Fi$Cv^;8zuXVjv=fpVG8vSHGlruliSr{?onF#IncP;QGHws*gan3!aP0b-Dnb)(Mz$@mQByjC5I&)$!!^$5 +`Rg8=B~U&7m`eb_Es@D+D1M{~7{bD&bd$5N<`*%%5Bjs!1?_xft@1-x*YwD(nQGJ +}deS#D^e)Q81o)CRZ&E@vd-%qNOOk^&K+Dkzo~_*+_1@8NEuWF*!J0Xdm|4@C*Dg7et%6Odp7IvF5`S +Vkhkha8>`{Ygziz+m846G=#nX!@a +%5V>r@B)kLO=e9lT@YOiO_FtB2FY6UAiJbQb!3W$fLHEgeXu&seN%SIKg-$rcD-jD^Z8jha +>h1YR-(~05_R&Dj>!^r}7!Yb@>idia~9KV^D@n(1m%#kn*|!X!Py&unT5F8lBq&Lb_{}81m+uPB~L$A5&gm<%ba>-BqS@5IX?YdAh#~^{ +^6l7u&N?(!c8r(t>O|(ll@pg{KfCIGmCs?Jhz#lLZb6=Y$D0!qG)nL)d$%qDa$t;`cHT-RdkNZasF4QI=`Iy|VUNE_|$8#_>knfd&XK;ErvT)|wylvS|NmKJ4=l9YYMyOU7V)4JK#|Cw!C=M+!Ac4Zvs`%3NCLrJ19$t`-pxg;nZfQr> +g~WznuiO}Mx(dg}`1UZkE<9bH{Tg&)dDExG;7+#uR8OcQmesEJ{`u5Bl6zxk3Z-C1}o<4*9EJ=e4IR{Z+Oyg%rn*dRI_4%TT4@G4}qIXZ=XV!~(L$_!2Ro +yf2x>)}GZo`F#>>ZkNk8PSdot#juGDMf?stx?|axK*Dk=0ea+FH#WT7OJ(R5FB+-N&G~{7W +(Qyq@GG8DFq?f@%bZP=VS=|hDNfJD#gR|@eRza6tPLO<2L#+Dw0r@prZk{UR&1igK!wbN0fWENagtMw +hza^TCbqrUIL|a=0Poifab8RZWA7T|5HZzMFu<;5)Egw2Sic~>fuDFTO_DaC#0{<2JWRX6qK{Dz&sk~ +6Al^@PC)zlB8;#WnfM++zOPLCiP^UnubyLfgpdGom^5BJskE4sq +VT7ZfQ2G0htStsgstql4M^ZJ+Lkfl~p8+UykQSzd7i4`!mcBhh{f43ldfrR)037M5d$S43-SNX2&ku@ +6mV!Q!$g7nsXRm#NxJ_Xlt6pm?8@zN;*H8j$uecGf`QPsa1Bon7%u7MW%TnjT +rbe|if+_L&amhe{#6^SRy^?BSke~NYXMa!zIp_1c&2CjEuWL6+7h~bawqhjCI>ziRF0d6);+f +!YvpcJB+VC1ER`9jkQRT2~7WQ(*1@|3Gh1OQ76NbuOl5?ykg?3Wp!7Wb>j-tzFPK7;vbPk1`&A$-kXWp*TX9eY`%j3K21;K_>>25SEVs9{ubh*nk|1B5werGzh~nR9l{Tr +AqWkz64ms^E9a5Z?zw^KdaW!8v@-Rs`v56r$q@4@r65uZi^s?n7|9FQ3hD>Owl=I$4e2t?3l4IEl^9uRKbpO?9@FKWx_4+Z*?Rtyn35Mk7I=7j9r11N7S^6ix3 +ZNLw0TBNrnA6;7r}7u#f9)z|KjVThZYqgGC{CTu=bRZyH9S`X4XJn>Fn3~(vEj&LVSVtkmIup-RYC9+ +WQ`puybUb`OwFYPCc@a;F3r3>)7>JQTMg>6LuEnsw_lNt}W9}iqG&e@P5et|}$a^MG>2RJ}~Db1OA8! +}`PCl-t8v}>m3T4 +}Ub@9mj|z%_+rxZ7ZEoDs{ML#*(u&9_5~DqBiYxKESj4mTOg=Wa`9szAMKx)}lv`-l*j#i3y?0Khhbl?7xbDsdc6QJAGpzJBiMIGW`#e-^r2T-;Hh;=d+S{#*j3I)267SvhMr@RQk< +IUWs6gM8`D(eqzwBt%}(Jk2EJIwDWm8j1c+ms^$T|x&;Xo47)-2%dH~s8$t*pYqc0pAq!5I>J547XS5 +2-$ICe>QJeUthhO48i7V0%dy(GB*H(i?tWW0MqPD)U5K7}eL^XVX+RHA+U$Wienx}#42j<+ZS)a-CTw +qS>^=rPR3Y(X$J>v!#dP<_eWA`6r@k1N5GM&;`0;DxV+ub$7wO}+r*n96Er%7thYmg{)TiMYU{BBYW{46R-e!nDGloq&29pyV9|?MXb2o +KEwqYSEM`=c4S9iyBN!K;m1Z6dy_z6T-Qa=<9M_f7o`m>ROPtq$qTr%KvDB^A{Ru(^!0Ty0U`q%ZMLX +Y$aqwu~24iaXx57!I#1nRO7%VEF6W)%!pDKn(Hv7%no$B5OD9o-=UMW3jSp5-6HhlQi^+Yz#z +OTJZah@Ob%nJ|$g4g{6aTqv!aai&D<-qSwK$x8eOo&yVO@ZJ=W7q8A>ariypcbMyXrK0ckHe}oZpbkt +W7FnjZ$&$)GOM%OnMGY@O6(&l00B0b|hkr6wNut6MQ>D +V_Gj6KFnkWkjJk{NyL+HXD087Kj+YhKdZ8lHV5gqZWrlOK;G%DWE`!BkiXqnIm+alq;w8?I__`J9YNb +if7Z(+|^>4t-qj+S?{?P;}c-KA%b+Zd?Qui3GJ@ly0WG{Gc9Yv-5H95!49n5)caM1c6?_;D?ZVzAB_9XK_iNylL2#JNwovpi7Gmwf}NZXTwQG?Y2aVBm1IA&SN@GBA<8Ha**&a{6_UZG4VGyEK^#0%#OTx_$Nk!Z}lFQk?$b_-)qd&Cxy&ILJ3&PDs2civ96U6sc_HU-^`JjjY!#};jDgN`*X{DU}?(EoQQ!;j1K_GLKLI*;;-biYP +QiKGQK~MhhUnnbop*XM|zy79ld0Sh?x-#B_1Q0TV9`sIsdNatCvgOb`^7VM90W~{yyZe{g-ATGTJ=0T +(Tk9KEMV{K5XSem40%39ns(9GEzv(3wMJ`fcCOgUfz|_dWmg?(AaeEHFC^O|<^OrdY2fb`MZDEwMtX5 +GIcE?W69mM(_pc8kd_17cH(P=>8-S!CR0FdRnP}2pWaoJMi)S}5TctPe-R4~A^;QFJ`TQ|3NU>-Afzj +h}tb`)L*DLZJNFF=M5o|Z`r1Ms4liWCh?3OM-1%}HT72nu$M?ux7|T~!JqtKk1~>(=dCx0AEM_#_=9= +hH}G3yW#CLCUEM$H-x|3K#4I +NOZfoNuX$W)Nac3@*Ko>zHWV+jr=qh4K|UMAOfsORyXcc9qq)Y{a!C4`!U2ETLhbdL8cZ& +B_!0SsW8h1189zt0F5qPRYQuH@oP!X3iqofYryiI#yyfE?8AWMZtbUx +mi5KkN&52~DCXv)imf>Uj;SK&<$c`eqkzz{c#9|{}PxEZk(8PKCKDaq`ubalO5EpW1uiVlut-88JbD-p#wi_{z4B@KKFrQ!?3h#Z|^Y9hLBKz$BZ=;%a_U=HJt28_=SNXIx8c1AR4 +bQMISZ!`S!6NOsKFQ=)t?rrF#6c%Dl(&YHSQiPC%D#Sr&tKc}rb&ARACX8aAkq_RRf4XN$p#s5Sa4wA +nUKq7|dzL#6$mNcoNsX#ibiq5rIy_Mi@GIvg%gBsn;M@>`m4466;(xcd*imot~k)_Ho(f*whXA&6Y@5 +g3=$H$fSX1juXAab9mdZI@gsLn`|hgmmem$*K2>?WL*8sEUANp&`r&W=)utx;`oTZmu&u};lUx?`LrH +mUDrIYthqbYfJ|C@MV+&=J*29*-rT9CnkKMBuF7OgUR|ZklF$zMilDgXt=vZ<9;XxF3vP(u`))2zA5I +rSYq>vP&pz4+!5Zyksf!z?N;4%uJNLu*eKcAUkL_99~EhPa4VRD6J!vW>_osYt?Cfz=bUSk5b%2Eo +#^O;nBw)|ALbJ|<8VW?;>8CJy+5iH;^5PQna`$LfS5+Yrxu%^L8If#(}nBrb%l0~0%Q;r^!00K0`8GC +*F)Gp-kbDvR2bScP(MfM#3clWpC#2#Jeb9aLHES*>a=ZW6L$u`!g>jX#d?bh5mgPO_IEJG^^|Ieo>~S +MZDp9uqFYn4^Gl`DXIZrsA+DP{*|L8Xs2F?FnA%w4kX0nu~WEN#`UVU~Is(M53JdB`U8+l?K8wyk_`% +#;<1;Z!F@ZC;T8V&CgFU{u`k?r*x+#cF8>Ffo^j&&(!2WE!VgGJnwhkSZaz&ql~0(<@KM)`IGYw9;R= +^LX0o(#+c%AFb2%#vnG=(j8~~G8K)$#p=duk9iSPFjP4BfBX-}9F9Q7~hjcRS*GXgzUqQ?68*GVP^iQ +C<1ja*dVsvdt6?8yVo-)jxFh%8IYJ4%FVRkvt>P9nK%AVj7DnVg0^HSRsHPFp;l!aLZ0iTjbqnD7Wt8 +#Og>IR&d%>W!L0ufqD;yT7R9`=7pSs+0gZUCNTBeE8PVK5-Rp8ZOz_=x74f~H~|*IXN98q_-2r6(FqK +-TfGTX05OiQ~f$Kmt)VYz>HPfSL6$n +9K#7loTF$4wDT%k@O1|xPwi|2fvq?y`8J(~mviP7umUG#!8FB~9c#arf?o6Kw4aY{Dqcy!>-x1uk8BO +TLJR8o@e?Z#0Zw}(Np^R)H|{47x3+h8;rmW|W5IRW;bHY5Dj&AV#(abA5O;U&qmBFghzf1dBY3My?U; +(b?!p&V&8jMiM-e!qa*iO3qJja$Oje-j*_^DmQTfinVrb$T^q|xowbDHw_q&#Ev|}v;}N{Ov($i)7ebY7Fk2qNccE0KQs@Rlk1CL%NA@=5ThJvH +aSDt9~6Dfln{a+)2x&Yhla7d`?}jpx?A2&(>*?fE{7-MfeKmfFDO1Iql?Ma#6l)HxC}Z5WgnXb_A&}% +K>kBBbDQm>Em*hvk`}=(RkubnUtNx7>AN4ejc{oSO2|lsJ6llqKO1viVYiMcM6^M +=D}UR(V{I|^&tyq&B%_Qs+ccvCoPspj7)v&h7cLC#@OGP72Vk*e`w?58pO48*4v?bKfCHA-9ZD%;T|e +0(Azp@the068cjpvtfZreXeNi5{ho8jz&9|?$6@b3BH%n7Z(rz#zbfBpcGf6bs)DV9{s72FF{BU%(@F +^`w+Eg`YrRex~&Bmlyiz73ksxa{7Timm_CZx|n>-1W(be(uAv#{9M)Nna^nf)%_6teLu%^e`QmG|Pkc +c^)KVdpQ0tQ&zZ6jYA~cC^SMK=eO$>1=Z_PU9nJo=31O`-a-DRSxguM|dr7Dwatc@h++>v?`qc)u8be +@a^};AZePlxE~+daA+UlcOal_&WghFddzvAQdD6gaTLc7-#Ff~gtRRrY$Co5Fv2CUaX>H{Y(yrjFGW20S@yE8ZhaA-vBTYUG4U6KB=l80^+IrW4vQD +nxKPT!zG02+nPM;OSCWfx$*@HD``#wJt*O>^(rD8#L!z&aSZ4f*q +kzlb%adeA6}Z{jg9<_txYPzlY|a2$AkqYVI!= +q`O{Mb$x0PvD#s*=vSsU!Vfjbl!x$!Ltxg{lLtxWXJ@^S|-ubn2v{qpw6%=UX4wbM|J&XRVf}<5G-9g +oZPz#B7sgW>ux#fDx+**`zw_q!1Gj6F9SQI!MOXBSUVVlTsxOo@Z +`o9X*01A;j>Xs1F+xq4V^9%#>sJ>JNg3E7Oz!02Cp5WWffz^h<_AZT@apEtPaI2O*h4W28@Yzz?_{L8 +;vYKoV9{BHxvB`pdUrFMR+VI$YnQ!7}^u_{6Q;|@uXG_nyS_}3ooF-YF$oci==RhRMYjKq>4Rju20n? +eg4@xe9Fy7XD<9eTb +RO@`x7(Zwd}R%4VD2H^csjdIuE^ +~{eZ=um|wc6Eh5GDUg)A))jF)$&rl*Vtv>J0imgI}pI@V?!}cbKr(Y0wW|alBhr{2!Pn2O+6=SsIz +*Tu+kf;ZfCtr*xQfHu`)#b+Ll0@u-4{Gn+d}Wu0=FfA;woUsj4G)8;R(WO~vC$YxZzS>qR52mE|XIuj5 +CWpAQ0mDpxZ@|*ft%UCz<0EED+m{eKQhMDcuL+X;Nz@h|)V7LDfv=m*eBtO)(pU4;hNQJ~}?GN5GzE@ +5(_RA6H+$t2#(Efb(vnjnenUc^?mCyt;={pHwxEP^W_H?{43ARZT`?)GU*CGaC{?-_b@;tPp4Ylm4JT +yNq>o+?~O(v#_h{L08uwEbpqD16p&ef4MaFQR&I}Ed}3Xg$ntar%8{HjWK +~&D&bc+o$x|a^r_yho^T}YB2M~-w>@Gzjo%QsPjLOX9`zQILSwjCcKc-;QwGi$2V-~kXgsKm3W5R0E| +8E3av$SGOyIkRY4-EHKULOCq6A8fYggAq1oR{X)@A9Lp+ptgw10Yu{Q-i&@jpfs03`P<;{jrg-(fk57 +!=&|#e+;JpcT*WjV%al@WMMiydWKUe536f<4=qrku%2xub5$G5em@@mlRV41WLYPZbeWh#&-6KY>#kB +$}|Z{L#B!pT+ym0jr;)8@F>R{0$v|mzC01U-8oKxX)6^g!ic724o)yb;^Ty&ZP)cZ_9%6xXwUBLCeL< +@ERjYg%*%Oel{Wdgvy?SE=hYJ%Nig$t+ +S8A>a+2MInRF}{WoP0n@^L+{Tu~dSW;Ds*%ga>E|hc9ggRVO3U1`J7olkJ2%>PwVrGUOO$$^&+jA5Jv5+E-TeYBA+7`aK|shjqCMoPsV&>CWW +I-j&Q`q3#nD7gG~?BHtKM#Dr87F|ln1;Z)D!8IN*bd}y8$sGkSRh=N6yYYW7%`Xn+Stv6M0kbWfB%Sq +U`nrfxoFj6a_b>+`Maw&Y<8Qb`>{G?z8Z9^|aU{QleHB;T1f=U|1j6~yInBtu(sgAj^S#b68P7W^$R|Rv;J(5MLQP>{bO(D%ey;rJO9Gl`8~VyVNdolj653Ej#`nnUjfZ{rn)QhWQ%H7fj(@67U)Pv$1pePm43o3@M3vqs|fFNANG6!>C{EG&kL?Dm1gHdxjAHA=gH|lfmCLUn#c+D>0;qWteg_jZ-rlqZDg +0l3E4+R_gI0WYD7m;;^Dsk65dCw@HzzM^lgZcoSf!+Pzn47|~<h`{370o@GFjwzYOBzzkHa4 +#T>VLi>-a(Y438xbl-4${QdxoMCY0bBBgZyEW6L#Gv6mfg^l8>6PCG-8Kn{ZP8GTKehsLm50araE`kt +)Fc+|k*cbb4W#Hg_qtbtm6J)s7GaZss=1DSXAf1wiq|j&GgQ_cb@f>X7nA>;!<`vkesAr>1X_XTUZ2Wu@8N{bF(*hi>~!!R4X@mAnATFB`tICtH_?@ +z^lu?t$Q)VnxW39MS10QB=SmC>Y!c|?-!LB5q8;kot6p>3)Cn$eaoeog6^uv9I<~0l#kf(%xfi*wh*6 +?NkrBsR~=?>psr&U7=lW_K^l2lMU*m)x@OyFmQaE2{NPhRnNEet +cucmYj=lMNo~-7lO+|ze+9k9E=CEOrPQtKfC7T|J(3!N^4jOV`M+13%`vc#EjuER9h&IGN>8!HQkl|C +Pje@^!m5aAwTi5(A;@M^{`e90eF}{lv8Kxjl@c +jF7M)+LAD@@5A;n!jh`g64zFUcjLEgc{)pQ4IhXqKPLD#S0=?nAD+F(Zln5$0KK44!=C0^X*gw5A7e2 +;F43RGvjB-8HQ+@yvVA{G^p89r>8P1ZqFQM+cd)cjn$2-P%f9vu7KXx!EHdVzC>5)E4FY*kt@{s1!c0 +&$qp*ccPlUMA^ONmAQKtM?J|Xq<4cae=ygV>5=ahklioSly;06Ur;_Y!tUF`c=4_ty%|H=OW~Kpq|svnd|+ +)JJ&6o&3#Q3O7~cRBWfowsJ(0^$=^7QQqc-gwQNx;70J(#wNpuSAqpV1LF>36ovC66KKyxG@?H3zf)$ +|bCa!{V+{%29<~w}A6PMGF49sCj5Oz6Ga85@71%#z7d;ao97z@wxG1#~F +iHxdljG{aah5(#rX^(xzEj*u*!O4%>c&h4RXP}uhds3$+5io7o(d9C%H6rnJob#hW9suf4z10y|vI}% +bE5w#VsBPmaNX3^9rv~DRD0P)JMvHuz-9WKN_KDj!9xsA6=D=IH_7U}{4#lS?`>d~0u_c5TX`u|7iz| +b9d02bXNZzt09KTV}I(&B&(W!^o8cv18Kciglsny>Y7zK}aQ<$xDB#Y6ik-;RXh)Gh-)+uJ!qReZc7l +M+xo_(^Nl&mPWfusH$8bC)_-d4U^H(l2-ivZC%CMuj%z}Vv9FOamaq5?{44(DNq)hzg8^(4JjHt=n6? +yM=6mYve+s2fp3_9)!0RvlCO3awoz;4_|mxtMn8Bhs;N#OFB1P(mZ6L|HhGPm?c{di~SWeiz*@P9$`o +JEW~go5uy=Qey7t;~t09iIYd-irk^eO&}KE{nY~AOe|IT4aP8@?B@9xy$FbwWX}v}phohp^E-Ep^1K +@(dEpGwv?QRR|0$A2pJlD2DJt^>NEcfsm7B)$vUEOXr*pP|1uv3p3U$H*;UMl6hFN%yIektB1ixFItw +ujQG|tP0%&sm)k0!X##!;(Du7vt$zojk9W#_z0LnP%0E7b541VGQF5sGUn9^X<>R-PqOpPemJJ<3y$= +9ET$F1tb3l0`uUI?fyZdIK=z#6;BYcUyXH%@mJq}(jt@y&vYD8*iZKP9L)$bXPvgv8EJGd=)xxTU;2j{I^FbR>0ugJ;kl$3e@5>&adTMWALc-iIH_br2w>e{wR8H+R@=+y@OVH-AosQ<`ZpY*m +Z_o#{1uvcsur(LF@u`ZaVAMDXa}3$3RorOImVtDG+a=4CVCnlhixY)`C3{28POd#`x9N06=2GQm6q3C +D3`0r=}`=5q8b6o<4J9+J0|f`nE!c-mhA7yAbvW>K;FZNXFpKnmHkEz4?k@r)itPo2!y?Q7ruOUbfjz|!yX* +E8uyP}4Ob!P9+am^*ucX0g@3l&M}brHZP?or(q=2M`Wwmd`A{^>y>TWfFvfu=3i7B>e?IlYlH`uXPde +W`tT}*6;9!jpK--6%5>MgV8#AHEb$lT6p`5NXwX^9ZQI(okJxD|--Wdqir2pj%Gk(B)w9*#eRLdp3Pi +jP<)~LoBkrXa1Y3q@WKPHJlh1O(lNOfBH6Izs)F|Gv7gbb*)q=tEe8cDr=xcR_&x#KY`hG!r)(NC0`4 +0CYG(334V+F4|}lNX9Pl46Q)Z-Hol!fu!?L~Y(VU{f(cm$XVMWJj!R=tz*ji$+X*`3cr%E**Uv+Br4C|519`SmUv>GS)mA*d=aP=B*nUZ~KDO>Jo}*e62W`~}`*1_|Y_V>21+*=1Vzo +%A;U=tDM$>FD67!Q<8%|Re@{`&|odcSoK`;KkUst<~@K?Si=!C!0p16(X@9r}H$xD+;6PZtp%tM!_u| +*yD+Zw8B%neJT1N`{cQWoTEtef5X#(_#k~?^9d;hW6=-?UyurL;KW{d%cO`^ +Hcaly1gpkKWuXra$+rMMC9&_w{%3R?$5MJxsRM$VS8(*_p||mD<0aCg)g!TO9OG;ousQEuC%_cZs!N{ +8`Zoj{!tH1U6F1p=Fb4Kj3NRw@3jJ&(gGUnzHln7K!hqdiU1pe-bN&#sjDon(s9EmjBfR&;a3`z*0#s+HQ;n}`3bydJ%tzJ7i59)49Sb^P=CHNAOv^!}ZWb_0jaU5ZaztyBvEdb} +7Lz4097RkAWg-Yh>`(w9n=TCA$RRIAJS!a-ZAmBoFLpdPj_KYu)=l+ls*$qf(F8v|>*WSDr@6CfW$Op +JS3VZ@y$wd$O@9`SiljY<6=`A5CF8C^_ej47T}zBBuBdkE +v3}(i#S5~a93%4$;>Sc4uO}eZHqNwCxw$Eiz{YoUC0{hrHK6tM*;WjJ)QiYy;>ZPEwXPD9cXciYMF2qnXn<8DjTr_3uGo1zNzyuDX))69I-`X!y4Cmq{*h1L@gus-Srql?uw1<5azSbN> +Vo-rfTWPyC8c$C8OO)k}keBG|@A~SR=Yb*c6iFhC=E_R@^h%Ip#jMFNTr4tlgc5nUZqb4~pL|h5!<~g +v1+6@8PGpUwQmbp5Njz+f$BsH(s=uPQ_-|G31gUw;?S0aHg(=V;@oLl +dBHfPFxNj#xXKNMwH|}GXBxWeJ3b~_}m%^7P>Zoa~W8&?zoDOxwMkzRp24m1sj|@h_(AN +BMt1xln`LvsL==?64AoVG>cW2z|p+Y}-S5JN|iYJoL``w+5`d8lD-)e&Hs1r!y3|ISWf8MzA=c +CX&BSc%p4_0-P#e>6o}#aKMqEM986-;|J~U-7cdDU3@@`(zz_zyNNfh{K2UyonnvrSmH7+5Lus%pg1` +;!N7+m@_1Z#g?(`>&Qh(7850m9L(82Wr#%}&OL&%+8+aDCv{!)r+%wLi~p`rU-16{ +7G#Fk(3iR)nDz(iQg6pJi7>rscnQjpKDi&28Z*wLXGYXKW5v7Ie&P_#!cRuDYDtg}d(+cB0XQvJhbHV +$31BmZ<0y3f6n7_}=uZu7ilke8yw2tlnDCKxqq5&ZW8&sh{r19j>atZdn#1tZa3@Yyym;Le_gY7) +PVnDXGmxlpZunY?OT5CAe&$C!*-=dK6)GFJJ_k3X#w0m}5ym+|%v{m|i`IY&qLb}R0{K}V1`!uX^jMH +gyf`dht>e1OL9S8LVM@E~J_*?|PP2*gDYlVa8HwDGRU$dW8H-Zmk9=}T7HRC{JWNOFS>~aJ5-3_dl~p +&`PGP*zeLZu9L_VZtXBDe~BQ~f;fs&u20wFaH$Evq=e*}oY@pzC?$UwSv>2u0>GI!+3F`L+7BD)+rn= +sN`&8KLh#+I^QQABJQJQ*EvOlJZ#K4n`uwA?kd)yzlItMe@HvWvLxj?pQl*d~T9L>rLfV}CJNKk5=)N +Fapbmf5ZS;xXd8+Ng>$cCW9iC*Q)8-3?vd`*Gj?c<8nA@L?@&oHV*#Qx6~Nwz$}CEf5P%PSSSxU?Y6s +ntf!yJ@z^PTX$G{*SHKX!YJv@*;yW7K|ZK>@&rvK;i>(wogAu6xA|=7({f)EL{@&KajKNx2nd*uvo0m +QuJka_#F_?Ru0>IwUaIwQ?GT_Q>%TleO+_#)VQZ6AB%s!8A#;xZ$N +oNTsXL?WVDlkg{^IEB{d8Ey++-86$#l@gQz_mtS{Tx7irX=Y||8?ya?`z +0f%c1&jiv+VYIo1G?wc1`Hsw=35~&lFKd6hO%-Ho!9Y!5LaN0f^BaNVl@r^{0NmNqt+fV%NH`_-A1(T +HASzHi5i#&Y$!0Vi)19SNj=%g3BFr$b41Tc|6^V3VCcehA-H9slE(Mm{IGBowFl}>=A?$x;Bav5mRi1 +PVKd_3Qe`X6P=q1l=~fk_zS8hxMpyW&trn8$~zS7PYhS{=QZ15eQL?1@L_y(~^H3l-;Uue_dNkTw%Uu +U5CIhgEte?%Mvd$9vDv53(lNrr>-k$))8lE}es&fynjKi@m*k-Zje0#1~C5x;8V=U!3%jYm^L%Cj8s`4FC +B8znvz{hH)Z7g$giZwsS(w}4LTj}WXxrtE--ygXkjGmYMg7~wW%800n!BuAISrrq6q3 +`z|@QJg_r|Bf&1mLw_`oP_vfw%``X*fwnCpjlmNYcqTubA+SaK`U!{WYn)t|BBBf3YtN&ZaV}{-_v?o`oU>b<1E@f&Zw$u5EDz{082ztT2OB3M&SW(ET|Q5jTRo3)Yz8dK$;CzX-{)V>K81wwXznn=PF +W%dxpX!Co2mi_>fc;6oG{Jxozjtdm_j+!{Dwr6dIKm4!C!9W}HUqj(%BqFkE_OIn>^Z@GrV +VgAY{57Kwz$}>94w)a*;3;azP+*{e9MYUE4n}5E+gusD@kOnTo6Fb3$`muj^}yK(#qjsVPOHF383Q}8w#170R;5c0*y)_(uoj!sf4<_MyuPra<_8X5Nic|`}7(-$V&zb}tApTt +@X$k5R{45mqz@Rvody8Gk*~D=%yW!D)C5Xczc(Q5Do=BOI8N<0)w#OPyPmG +2iPQf`CXF7~z!jK0Wg)(;ipQxz`>?Uy0>H%w|#NZg*WXu(42oCl{t~9)Xf5|a-E+m;24@}6Hs5h4i)m +$jJNt6bfLOS~W?NKN$UTYh~tZ!-{Z9NDnD;pgH>cADk1v6<;BJms1<}EDj)723DK%+fp+PmMPgqZaB_tZr`eJHPQo{^jyvS+*> +27+-{+msKJ?@i1;hvrCq2ziAY;Ha4W_!`5U{}gyl) +xg70GaRn=)JV^fe3(dok$D1<;m??T6?_pR5Q1kL=3Ij<7ks0v@|E(Cm;qZY57hHFc{^@ +g5_kvnpaz|ZEP83=e_D`xVmOS4l6bDFv3i1l;XH^HY}sB>i<_BwY*<>e1gXt@fPQDa^uEa4Ll+Z%fl? +{B=D}7Tvpar*5|?8iyo?&4|(XZVipnekyM*PWYmNF1rCg0*@VN>%!FI`5Qaf*pTG_whhqaj(#`WESKv +#<{3f1du$4Z_ID=6_m$^FoLyzQOJgb-wmvdfB>Q|i?XjPKxR>y+n)ite-seX0*voSC8=6I1L+RNwH%j +MYnCU~}u9R^{m8+wK`Z3tmcHVjZ{J=C?XUiI|qhPu@&Rd3S-mZjQSB#@fU=gVR;^}b$9(qSmvT*_7lT +`v`9d8g>Aqa^&2G-33dU6HtqAog!`b4Uc&gSVx1+!hgbFq|A;i$?rvPZ}p$MLI^5`MGg&snSp?-H}KW +SuJHsOIn%nr|DEW$@Y=NX{#t)Kp-tK9Y#ICp5^JFt(rU`iW>l{>R>pAR#phwe+<}&nt#q2~Yi(afekoRp`XLuMj_~(wyy +I>Kj;$PKCEY55{(s4daej$6m*jk4*Qzztpcm))YVK`LkN9 +BIE{3~8Bai6rBgHUPtb-zS43QcL%fa`No}JJGNu8eVS*MWqYVCNIehNEtrkLA{f?+W5#Ga7Ct0a^z(vDd9aL`8 +~<}(*wtCNG6BqKTS9(e5MQpxN;z56Nj|Xav{pG|(lXLHU+WDBCD1snUBTavYUS0(Zt1|AUdes5_E +={Uw#dZhnqX5eb4rJY%n*nF*citwTu=LVc<6GXecVW6`ZCs~K!rPC$kz?Lno+^g`Ve2w*Ei%a?u!Dv? +39YzFyW~(*I9Blb#Y=K9N5@Pu;k;7+!Sy*WlYCXs+OJe`S%0B`*FLFU*l{s>ShgIIi8Jmm|b>3pA!=? +n`KHhx&uv_6fhc0az(DF^msO=(wJEl&PC?}$H=F$L}RnY>9Ef>I-6=Tt}#LLtc8gLEOE$FvdGM-75}N +N9ZWUQaArP``f*f=&<+p9F(L?N3DYi5!A$kd}Zc6O8GX+_S%huh +l!5GIEr7emgK5aLDR@Z%M=Kn8;9SHYV+YSCo{EJ4>ReYdyN>5VTH&fTq?>s8LR3z|ceuxj9A$x=3)zF +LBva}k(Ct(e4qx(8p>vJ~$!#7;#i3$w?1;E<0Ivd8@TKLyCe3ljnk!!U#|W`GUJl60Ggk7eH(n}xv=u +~gI1SG9uxehg=SITh+CeWIned}3hW;rt~q-H*3W+uGV{8nA! +vwe53nY@gfn&UF&n@KQ>knwX=Tq7d-qH?I^1moq8Icqa8g)HW3vzl4Hd=h&5GoU0=Ht83dETkL<270s +J44C}RCLK4xVHZCTU~PN;yb_> +47!IGhE@a!S_9z+^pPpGvP+X}6V)nv}I{s*)s`^wjsA1{53*CL=1@#`;lzG7dQpSVH**v8046THwUJ0 +*}V;U4Hu%mPGJy`wG64$s`bKW0X`>XLkSic)QozW+q--di!*_Qmt+?abryY&S$JcySO2RWU-#?Mcr;B +|H52V4B~qj0hrsVzmNH4hhrn1z~NzWzbKMy7M&tG;sAB9H=JSNTzFin=zp_TW-Ae+sJ3cYHn3YPxQ6e +*=|ldhSbm6)wkQF|H6Kr(hq(MxZkGD~(5dcnsXfS<2aFT#tW0K1w~bw4^i72P^5m0>lqnmB6zTEdSCJ%)Tv?pRCxL;zAd1?dp^dgsWbNf +5jf0a&I4h0>T6FmrP<2h?rrERbqZ6^%`{i*?W!snk-dEJJoZro8@~PKaw@TnNU@szZNvSN1;N?$bvWqv3V +Ja6{N!~!3Q2(!p&S@D0vMEas@(qwGyjVc8a)PH|iH%5Fs{YLb1mSG3G=##@cKK4M*5o+DjN9ZBBiHHI +V{_fwuso-y02lzh2vJxG8QVJ(rwEDvlSB#nYqku22oBu`H|cOrjdROhk3@QbPfUhDqDTws)k2@kp#}u +o|19CFY79j03V4`eUm%j@F(R*Qp2~% +jnf?~;h|3efDj(&LZ4{)Q_L`1eORroR?80j-h^D +*SQ7A(PRA`b7EHpi0rilnf&+5im9ZnD{&6^pFtQl1#Jz+S41*+MVfS0NO1sAlSR9s}Zw14EzTINOZ_r +Ohf)n@tMbBznagtv}s0ou3)f`$f_F0GWmrACpQ>2%=T3+I=LMx#;>8q=lq)Y4H^kT5dIJsw(0_YLuoN +To`PL6eT>M<({E`#!GP$OKHvR{>2gH7?Z^eVCrlpM2BhcXBw`SAcUsFgrHSS{BTEtMXbWrHahPP9@1Z +teF6{fdh6s>eP>;f44mKyS)Wn-uxorcTsl)jJTCqr{uei(-UUrq;H0m@9S^@<=B=wULcanwV4SWl7ek +MQC4}S{OR4P0SA#+Ywt$oCUcE=xiD{i)Qf<37?r{ph%u7!XE%$j_t~}=d6@8RZ9)?Di12XZA1wY7XvQhh=@uLKOnMqYa-x4A!pHq-27Fbczav!ch!S;%86c4M3dQr0$!lr`uID5-U*acZ5~hA63B;3aKQvd +ZhM%R1}4&U!nU*bPcIc>Rq{QGa8rEWb9@*S7lFp;tB~(hD3&b6u1)&r?Zj-G;QqpSIUT{kAA+%91vfg +p&QvDwT93mJWZb6KYtDZreQ>!IoNU)}9mf=a!sxF1hQhyG#nm3YnPzsy;9N^^ovyb%eOARjFi+Nl-$T +g*`MYO`?7lQIK^2HaB2AycP7{jmpkz(I_|y`T?1*w}NqSkNw51Q7aRTqzQ+RGDx(Ni7!lVI7{PQ=Z$x +xnb&xVG{N0G)QNXqhQKu@UPR88jU3Uu^EDRll9!_=;Pj;C39_(fl`N_~udoL#>YesxAO;6Manx#3{A+ +7OV(kJi3AWB-NwBraOWK=F4rd0XnRP{x;*oTNt!gZ9qjFFilo$ecdQ0G9MI&qfILK0x6eUo1?tv|=)^ +K18*8*-Ngliot*=Q!(XlE2OXCG^+_S^)W=OgX;8lNlJw~$IiH&!=!oz0XT@mk0hP7h`!k!sIP;>H%C- +$<#)weUWKObkXdcba-*ZZfubD@cJ4E`+247igAB*}+gT@cZITrCK7pfI;{VA`sr6 +c{GJsCA4X;X^86RipZ@AQ&!0a3CHwE`um0@$PwfD?%`*eUXFquMOZMMCJ^PnupFR7wXN{qlpq|M +G)>gP(u;{b`^{Xy=0d{y%>C!JmKm{$G6gzP&k9YBod5{_hWd^xr@K^nZT%Gb=3Xsr +yp6tz|1rYkSBlh;^XhVc=GcXPd<6^Mr`S8V)pT79`J64!#;B+kue@Jj?F7$27eEb&1>UO{LU=-nr +JHs-@ESYNSP#fkcE|PwP*oUJ_yEoo0J>}?Y#+V8@3*7i$oHY=fz3F5&TdQs=;E +KzzR7U1@L9wrqZZ?|#WG4Wdyj$wIf0BZjG=`Y)jc@W!dMc*0U>Ospx-tknMZv%0OiNJ@f{#d2F`XDQZ +GY3MAHS{HNusqUO0ltUow1Hu>>y40Hp4D9&Ftf-J%7}A_OVLQ?+A$6kaU3MSU*~Sf&#eJQr?@;{xvZN +vClsxOlcgpy~9#-`<6YZ?8vjJT4)vkZ&kxw%}GGhz}&Fs~1@Th74U@gI^HSvXP*gQQUzEIDANw-!e6% +tU3}X=ZA*WqrCCWY*R-;)HhU5{*gK-wBK4$r0AC3&#mS*yKmFrYvW{4 +=(c6jX1sbIv2g%HyDj$j_ymPfCmav96%`~*)lnTm;Lp3jCEJpD9V|+#}ngF4{Ft%}885U{K)~2hY?x2Yi1vrlDRUu*3l#zCpgetFGnpp#lcP*2Mi +JY-8=bA7HTGJ(z9DLT{w +Z)|9HZLzLXkv%bW!8oEx&9;ht+e$*wGeK%Ts;7a!p_2`afCTQH~0JHoctm_+-ObuFg4(8+YjAB9Zeps +(&V8`PQSE*LXeKLrtQP8X|zE`ct!DEsGT;sgp`7AL%`; +k*VBS#_LQa-*5NW1HB7n1%-Wm5+-F2~vVmh7hF9K^$U&npwqW7fj!NggMV2i~@Al6UP34%aaH{7t#nt +srvfE$=DGjL5a3RFfhO}fZ7G`8f#K0`vw|4g!V+7$Dzq$zR(b8HngQKfEbO24|cj;%HER{0p4=y4kuq +?-mUFPZDI+A8ztb{8x|A&=(+8H{Eg8W{z|w(PGV&Hh(&A99bI+uY+f} +hY3Ws>7Rf0#JeLjYt?bH*3@dS5w29q%e!l09|bYuuH*TWp(!sXBa4rLV_na7i1H;iQ_G!doC&Wf2Myw +Bq}!`$^Ac;A~#JrP0Lq2>{oWB`KZi6dx5F&3N&Kf|oPHKp=K)Q8QWGOr%1-IT$7Fnqg?Y7lUhY{6w;Z +rL(Zh{>d9ZgOmchj%a4yW2#63G!BzojU!&WW1a(0Y;9z1Lihd#VuYr5v14qa;PaBEK(p+dy<_jl}v+ +8uk!GAzdn#9hZI0ceA%-17pOWJ^zk&#XMlvvf-bkac6GYt!(?w +=6#&BXrglE3#V5U}1&x43*N_;OGq7}-AcFccCU56AXZHhjRK!}f&VQD198BY`n1#v +79^Gx3a(QvcW`LUyxkvFSu*KH&g!pIf-et#9EJ(^~Tk&GDp(>mquh^f?ozYnKT4;B+%b+vzH;nr~{(S +@=*KAvF=d1vg*Xy>W`EgYu}*#2qBZ$ +1<;X>@NW*8*c@T_n3Ok12?7iTm8D7bKgN*t@f1ph*C`pfA89gp|6m3CYKDen9sP=&T%h_m2w_`BsJO+ +iA_j%B27Iq0-WN8W`6ld*t90rzC36cx22-A{~ww(Cd0VEWEso@e^&M81Qz(x)?`AkbpW9wDEWylZFY) +cUwRg>`r_#(CC!#r}ye5zI(uH}?AJzxtkYDtvt`I9K@wigz_@kZUWyW|vnzsC$2-!JgXJ`6gOSiFP?e +_nE6*N++gvAkAGHTcy`u#077Yjvn0a++ZvF-22W0#8iz^Lyf@)}TA-_2H5zf60=cv+NYSf^e9ng?#G% +w0^(SO+e-;Cg=p%gs&=@sUx5?F6e;vm;iGUOU0!krf${|aDMQvj%4R7`H_&3oeX|tC7m6*KO|Z_j=(` ++?+;%W6ly}jFY5N&c+*@lt~Ch;q7-7WY*Lj(1ukQ~fm%t@7Ic}PnZw`|_L^ZEPS1Jv6uP4VLxg4^ON! +O{SzkRZI?x|%ZA>&ui=7QeV?5!;Yr~)w@)cs)S)!HS-rYU#+jrl7`>q}#xWz@?!SG-X8w(42*I&QByI +-J<9rm123+WtTyL%VrFzp3PI?DU@)f&6nHDR;`zgz$Rbr+Dj32fTq?m=m2&LWhzDBR1Yj|mlj+4Bxw@N@zg^s2-OU +l?{nh;sH$UH#_ZPRf7uWY!mv`jmmb|^Wes^_$b#o0*-;;~$U&-IEuHVfG18V^v_EZYg0L0{INtS4{-7 +)5fkQPQHS+ba?JO&qz`*ng2Ygmg>EfF=-+XoY=d(9}o3Ir8ti&!jPN;a0b8>u~eBRE^Cj>sz=~VxH$Kpaz1;VF +Q9;4=kclDSIjUr&is?^3^6_8ioY1PrM_19oVs3eax;|UlrSM*6Q<0;8l9%v0_WC=FZYhs#Zm=b2zusS0TjXAnXi9}_u^PAG8{@tmtD3M9+Y`9M%2RZ%XliySt9E#=C5^^--Al@V2n +ZAum8)n>)SLGpxUbT>wY45O4kv1BiWsYlU<=a!)DD1F+y7>bQxm~CL52$EhX8^oDyANB%5iH2FM9a*% +gGR3h>3mep-7#C0HZB*ou**>AN9HfN30XU9|htc1GeNQ3e$9#k3aKBp)5q#nh38Gcd&La%9Fd7LNDCA +#bT^gH)?G^EK!j2J*anjMIcZ!9>!i@Wo^;{3I3rqv1(X2rSsT=p9bioTy9ga0T1nVaEA=0P5aMsK?Xu +UJ^K!<7Ki0hdiau^aFg(W(^Nvy +U8wfkI4PayBk6iXcE@YqU(0VWD;31=+Jl}q($vabb>V{MuIdSKDOig(;g2ND5ATac32_qg?XZPvQQ7x +6cwnEtR2*w`+pQ(19-r3(H`6e1uW2#cOWdQVH&@Tug>UZl~7V^3GIRw=o}ikU62O7;h8=gqaC +X(K-0Z?ZC%ep%4o;|T3x~HW%Gy_W>S-GHs2F*umu8A)Te_1#(4I8+$nVD)4i0LCK8o>lXK1lttajwG# +ZbGFNuLEwpSw@}n&LUS*QB-LIeUbf{-t`i7`>5x&+E3}7@W>PcPtxjUv*fNfjwPP2h9a)u;(w+o-a!$4ZG}&IsaI*uz^Cg +z&K`x$(V^8dFHALiIsM)hcrT_wK@mc;3^r6KL99(EpB9TwBy0P7L8}{i3^<{iqJljM?{LxlE2g%LK@p +?z+DPdWv470!B(^usmlxTfkICHc3Gk|{*9drYF_U`7=ebGa!P#%_Kfuj8y@z}B%W23!{tQ~=F{r)98)@#25!YjYZ}%KwM=UeG;AIVL@87j;4T)u}da1qu>sC4~&w-`) +qOw-Xbx~!ByRtcS+Dma7bTE7^t!vtFO=Z^$^bMdF|7SVcaW%bY_(-#geK`HtMeeYD8HFFUd +vSQKfm%7j;hh38=m0-t-%r4>_n62Kr9I0VakDlNQ138B(a#kSVIvyYc6#KI@p{xD#;0Q0uv?@g^KF0$ +(561=z +~;^+OXg%%Df69ts-$_rujAzJTG4zD+j;<7t*ewiD5UhrNq`Xx8>ct+|P +qGF>%$BW_xX;sjFU+H7`VqRkpCDajG@3VTvi4N0n(F^%rjd_Jdrg?eRP%r$VJ}F6PCxcgzBl +^8B<*oF-RzZbO0~+-Z0~@92iC_&}yW-5F6;W>Xg-m*E*{-Yw`C9xphQN7+#y`t2XFQ*LD9@#Bn9?2M$ +Rka1J5Z6N@Wc6SfMp_1k?3XqXR+l9Nn!QAh6?ftO~jJ2fca`(D;KOn}yT?j&wX+1&e9YoxusHMT`-IA ++$rFX64H>$m^0zR;?()v|fm;$5XZ?s(sz1lrEUlg*1-gyxCnNNus|WNuDxD~4V(wI%eb(xl#=0>}H(d +G?2XF+t2{RTBOb3Z|C_o%=s5KF+OZfF8toJUh^mbSFO(L{@kTR*E`2E#E%F2sP@oc7;4Azb$^B6Rqv} +zw+Nsf1idaW?sEB_G5lJ4L=n;589us)YOq$1+HqdXDHVf;}={E-w#RAahkdB^o`dpdr8?ACp)y9@`Nb +>C~6q;=9gl196sU$mH^#+Pm +g^nhK=)tTZU$mVgLiA1JZ5_m{u1VCPx`^bmR4ueIY%0P4yM+)SCaGpXvklT@1#C|ZtUrCi)=F>1p=Of +_rZ45Fh_|B +zmWDTpwO!!Ulp3VLzm2UxH49jWgMa@}csFR4nb_9)JPW99>Ou`E@rveLO5hGHs}0`(Px#jITbOf4&j`F*!WD`dyrV6o+TO +i@%T0K8(ciZx@r}%S&-S0b=9Ri<9v&q>j&yPCkDapZy}<1LoQJl{gunj<101)j1WZh>edgk=*I=3IyoGlj>Lz<)5Bkm3F{o_U= +0zFc@$qh9b+Pvc?kcGuEytQSec{qv#SZbj-alSs{;AU`0{up4kzPF6wAlS`6*Tt1q(RmLJ}LQBliEWoR*py@?okL+$A +5O;QF2^hTN% +o_(-6%12Jg0Jn`dHCH=f4e(gB9{b>Mb_mB@3&UkO^H{aW@p#~t0 c{Aypn=R#0;{Nu^Nm;45Y`aGK +amu!Yz=7r*ZT3E<4uB!g%ce|>!|4i3Z~Wbb!p?_>7c*8F#S*W#xGVeOB^+aZW-CIIx^j(|UOR?)3P5< +uK68BuxwKKxcDMFzZch8KcIE|T$=(=+*)Q8H7Zv}q8z$x5eAR~bqfGfoeGyBz=bv0`@NKBmE6az}=#Y +~^a|rjnD|nX`~P5ysK&u!Tp9m}Di}N0@a5kHZGnc@&^!ws4O1;euzx@G^8W(CNYkAD3h)b{y8=5BJ_3 +44HrYdm;Xlt=bJA+*OKwM=JLBfOMAH1ym^ssDov_5kLMY_TLP}EAfUoEQP{E$Js7;92YtG=gS#1yHJ8PThLj}j2h{`L_(X4gyOZx&XQFX7Km +8CS;JwGC?7q!%)~iZ=M4I!<0OfbD#{Cx&?}HoC2_5cnsQ=VKfK+D)(`tNTD}a$Z_t2A7Ow9*5P4YWVM +Z8(D2afVI`r#73C1|=i?BVTBSTP3upOjAE&_fvadtos1QU5Et;k)-lKPmP6X%VT)X{%pC(5b9oq=zn1 +W;-Ql(V8xM-z9L?v9~4YIQ^*{fe2_zz>^+bK?HB`XEy;so4kH1w?F_GK`Th*u_6gv@s2;h(9LYtt`=i +F0{s_fe8Uw9%k6kkc0!Tad)gg6c +&Hs~{idmjgWiXD>@HGH9k#cShHKyULh=eF(@hA9?QLV!yNM!AlKU1&DwsnSCxF00V?gVRz{qxs>!hl#G9bSb`q}O%95gBF*!qj|9?1IBcVbB-)0??BrpujZXHr61Cyk1uuTG3da*w)YtsJ-z6reHbL`Z&F +KZEuW4!CSXSEV;K$I;!pUw@ZX-qt4ptA`d{i&fP$o4}xl81pk`epaoMG)vSgltzb8HGHtb9U!ek`OR9 +B#*SfO8|8zPt4XIjz_CpJ!o!jh-3ZHTrJe~sBg`3Se29fn(K*tz|VgZ2AEoE~xK*MMx)`PV)c(kz*r8 +KUCxEJRIRNP@RCF+W~TtEsXhEmuuUmRcTzuptGAo77EqKB~yk1)i}bd#Op#Ki&%$55E4VI*D*ChhNe0 +x1lkYYkEwda7{|%|$TWeo>*WMhmr2Vs&~Vo*GmY<}QjKB9)D9Yfjpms#&-u~h*W+|@Z +o!u7~>U1b{~WOwb$x@uSz*8N?sS^~Pn4N@t%l~J}epccW#4)HvgOB81U3(<|;6sZxcAj;EgLbIeEjIX +gpxKJ@9(^^+!$neBUR-#sRp(-w7f*AiVQih +{e{84u(Zqdl3OIh~qz2_hE# +$zLbm1)AWxtpd0RD840PFJ}d<2Tq@_$av%g287X*+)TH0{BU^GwMHVzC7TTtorlyk!!5GVQE<;zqY}j +rbo6Ab#i~C5^tXg(SDjFqjV1aOf@d2$Vs@3BQ}VpL=a&izSCH%yb^gN9WHx&Io-O!1$bmgX#FdSsmDB +%d54*4vf#KOg;o2DZ_mB;xLpnBiYF+f}cQ)tWovzhN#S+MlRnrK!5y(hVWOgra>tH{OKm);4Hf2`uBL +88l?GZ(pHl*6+X0?@`&Cq_`MyWkh9}Xy}IbDuQo#Hr3`bSNUss?4^{i>E+77=QcQhx^QkI_DArHzwl#YQWtns!f9|yYJ+$De6d(L**uXhd9C_;6`-~1KT^&AL)ToxwiP$evL +$r+@m(PQa1*XPzMzAF7tFTH>@^fp)-OKRklRH*&laJBD~6fE#RPg^LA+I@*ab)@k6mNvS? +6x&#J`A7)&2gpXoYRIW7j6(bivVIET+u@mO0rMKr^oLrDF|c}&>BL}N8Z*bjjKsSiow>=tgnWK^nr$F6tGeH3i@*W|i<&C4~qQP#YnX{HLp{i%Xf@vk5d)NVO@yw$V8HWn4vQB&?% +wNl|?jr!8$A9q%IW?l=rE9+&*ohVW-DbAtIVdT0YlDb_secZ4gX|#svf_S-BF +NhXtKGZH-DNOzXAdC}l9>>b#XLm=Ka +->rl^VSAm24;T|iv{jBD>ZUNDOyK;MHra9(!Z;kXmP8* +A6Kl&fa1 +0ySW&5MPr_Yc1AyM&8}NKva}wxpdKRd`CE%&h-cgULF4sFd=IU#MrrN=!*SpIZE?(DGJ2%SZ@9H!!FM +YSq^A;0qwz+1)7y~u|oEtAn8Sdal9$rW@_-L*bw?zIU +4x%klP57tcrYP<$ar5XoCFjxBWfxOpg;(Dk%~^(d`gGhp+OklE_`G7BEOuxcY!3x|H<+v=b}K?gxDN4 +j-bj5g3QAU6;$}r-c`9aJ>3N@oO8cO;P(%tI7n}D&b>2_5cq9kZ}&RGh%s7WW7SU(iyo;`nl|7i(KveL{Eq*Hi6Q8B3SlR +zV +W{t3#A+7%WbeBdad`qPf(*9d8=npz`k<@19;pCyA?i-ZfNB_47Th@nZ}*`^L{fL?QwKhr +4?>(G~LDBQ{(9(i0zE1YrgR9%qSAg)fAar6ymh&91_WX-9Yht?oYy_=)OtW_BuHVL?17^iX$ +k@c_<7B;lGlEQXoSK{|uUJs{FHa=6!-S*d9wOwn1RZVo0TW5%!pWcE69VO +Duq;MOSMqhfQOV`t9p~zG&rucmreg>ky(kP)e-t3P+#CiEyAWGW!E~0IoQk^z|ao&b_dPWHGR6n*MX4 +&g8E;sm%kqiGo*rlR2B~Vo@66yI$S$z=lb(b)9M`D-ijSs3C{K!nvb4h>q`iaKgZQvUkH5n^bhs(O>b +?EAm6>fy5<1Fx#q0%U|d9^OwBZ%@8L{61KCm?X|Qaih1LOEOvo#fLjsPZYAJ|&@2YWX?XnxhdKU$vnl +WCfwXdOPIO1&yJR4~6IAQb5anThXzk!PSq^?5fCmCO^yD}LBM*&?^Y97tIFle +TB+3)X`Rb)WX9)ZViL>FUn&9tqOA+##1*`AnFAn$`9qLRR|XJ*j59`!pE)(nD1>hC|hgZYkKc3}^$e~-IL9Nf8&XFt)W-jCUiQvVrf&(J?Nn<|DCWKCxfWHyqqhCBEJMC({451t!_?vy^#){ +i~qYY_b4x>>Lrtt?bJPDeWf3=QtEUn;DeJ`ld+uc;$C@rdX^{vwI_!!y%P^%r`1G>!Afcl5zEmP%+cp +fXt59(8RFh5r-(~^thk=it1^jP5ae~}pT_yPc-Pb>?!H8io5v+Bm+S|Wxnz;I%%Xr^PUW3q4SK?8sqj^X +mU@ib5kxAcVFs0yad1EABoldIIiQwLt&J+%2dpyS&FL=c8OV;=3rSdXv3+9(9HyKWr;hHAsd8LjpB3} +xcq2l4@{Wy+3i1}z+r2ADfApt%y=@SJaA5ZB!ZlnwAzhqhiRB#xxi$>iCF9NVPBN#~S?felWCgK&?s&O*BN=16zfsnE#MC+JrQlYfJ9xxZk{v;(njQa{yCFu)^)wEuTRw{X`sP~vcp%;wJFppdLgyz;o?viJ)4I)ln=j-Q+gq4jP}7!fL04F=#_*L#vKmDa(+~)`b +}~)|K|WayBSIYi8?0G=bJ~%uY}~O3yJ)i{v>heRKe583D}xFOf7^Wo1j%rH@25tskD%m>z>7`CQ7*lj +`)bmD$obM#)5l0U~Zck?6PZbZ$PTDx0>P7EH5gjD!afm3US*tr9mti}YC#;h8;Ex|+S>n4Y4lQ=M9K% +OqKgr^`SuI2=kHb=;y8#-4hq9!zu$NO>mtz;Zn0zMPG>&69_MnWoq-(OII-h=UFm=cVc0dQ+{urf|UE +_Dql2>hfoHyLG4XOFHmgCxbBpWtTIe;TqBfS;eR^mnuCA#DTwpB}|J}45r1)9!bMHh_I0XSB#epqyoF +sY9yr{C{NfH-q5k=c<#gST?=Dal!J5EmMROM9gdqjS!2Vb8SfIjoyCd`6PHzs-GG5wxlqj|^mSRU2O) +?7&mRp@EDEKfb1a|J8y>6DK=1~MNItwuvsEY=qnzHs2&XuU@hzRjxMzP~X*jbbu*!t(WxS*VpKwJORh +4FboM)Be-~hbUG}-r7r@HX60crVe<_;Uq4_%e<%^?Dfj6>#Ijyy*Y9wjiz3cw37=Cj+7dps-+2Szk#! +4vEGN$SXr&!`MCyUvtla5Mu8M`A;iT7wxvsI#xgcVozc>Yf3(1r8b*Zd3^=v0oCZTPjn{jg +Ye9R!cd!h)M2$as>5bxugRG8Z}424Qmdd-@4 +{Ra>JSngl8jH43r%XC +?XhXUC0Qunz$KBJZ<(9L5m@in*nC3a^Ym4VmKd40yc)7!N-s4xGlBh%Khho>Uql`e{D}}cBA04d%MwD +n5Xl4uZw8_PY$vKWrmt#7DGZz4ZHSPkCO!VOn{a-nW`ec5pNgZCW!qeEsd(%GluPf+v`$zZ5SOviLS;QktXdxycvyPM@||6MufkS~2)k$XtobXhlQHB+6BO=U&9nJA?}`*A=9cyn4jQ`E2=W7`#aCSZwg;<~wkF=ucKZ$ +KT%-rR5n={=ExuJgj(aFL>>+3^c@?85Y%s&FjzI}!?|Yfp+0nu~){&|fBp7Z=A9=kW4!{L2|$n048Wu +b6H@|9tV`@ap)ob}Y8uE2qn?T3}-cjDPjJ8FZa$cQfGM26uDdpBIBBqDJ4=c0_$zDKzQ0^uer|l1P=* +Z5x@PvT3WeW+U;>{~4NoiZE@%Y(XaKxju`hfZ1PFZNs<_qN{B+uZF;k)L?Hbqj`#{7&{B9Gmf>|6c&E +4*3yf=f_wciDp*s$EOn}MtGFsT<`f2HG(pug6-}$)N&K`4z``f+*EFChw`3I?5iwnD7of3-D+<(NaHi +a8!iO;Hn{r~DM_Gn$M3)`CBR@37kC{Z^OBek=ghvba4ojgU7Zt67KG`#dXQ8~8AzcosHmj)H0@baHv> +lSBw^O_}09WseGpv>S^YAQZgLBGbYNaGHV=tyQIo#Rs;5e2Srusq-JV%?3B!m>d83wdZ9PnA0|JD+pD +dFi`-k=XnVmw3E$FsJ@_dmSWH8h3WLWRVgC9d$$Z(9%OyB8pA>dvUM!-a#D;NwL7VzY_eprwvP_qmeA +CLNW`sTSKyTWDHCSN%M_v`44@*Imbnli-#y9A_7gPp9V%Tw{aVCZaxl9W-qfS3wy_sK-+6Ka*s5g|}u +4ORzH+x7W4XL;F4%EY>!08O;!&v7yG+23MHnNbF`3*D>&lIZD|b32R7x+1$NZY0&g!v}Uq&UwSbwzhc +9ptwria)&AzKT`zX&)lEmFw0oC^=#W$FEVJ=|SMx@$Fy_rF8lD1A&^l#+!mC4Qg5Goxjlf+aKV9xudb +qCS(~=q$4-C=fetc=tD0#-{x4;-Sg+KtiS_ZrIA#wxm0R~%%oV9>L74<3lWM}}4D=EC$cehs2g6`KU* +ma?lGO^yXl~%)$3^h`CsyU9zA}aQ(yLUE18PU#Dz6;SxN5!1h!ET<-Uj6&7o{Txz<;k2~!#-n)XXd|r +nZA6fHyRt4Dyqv2J{nVmS_H4ejT&9vh*v+U*)zJ|;08*$DWUKUAvn2CZ~t8r(xgRej|MerZU0G9^BARzR~`wRlx4joQAEifIN6FL-Sd?YA|X#n +4B#KBWk~O~GiDd}CqZi8fb}RK)-@+Isp73q%i6aJ{)D7B4M^Rb>6&nc)*1#|FyW+~5?B8Dc%dk?@_z& +Yqq;bjrK8th;J(LcfP92q|L}ih6-m5YauInvO#z@1Toj@Jy?>TU +zl;>4?l>XCz6he^$%(C0c(bHr)m!Y2#O|#L9Wo&@!E-IG_LdP;*vfmm2TqAX#)Y>0#PuncoRQklSCu& +e|3|9z6f|B)W=`YDxtN4+itle5aatGqE8>?O0eNAlNj(9sjW2OMnG$h0ck{I2p~jL68sG>e^pjq)I}l +#YLU9bO!~I4F2N9%G+#nCz4L-qLj#3)Apz7)LHWfDJu*uAVTq{Kg5qAM%923^zH;yPCz;6Iv?w8jQ6= +6!DAV+vIE+{<1MS2IY+sTE#Wu4DZs(an5Zdw#>cnF^+CGRff>MA%a9&sb}ZM)X!~rbbg-F^yme!QqjHjrdDSI(l$sm`o@Ze1R0_1okbSH89CWzzzfem91QY-O +00;n+tx-{C0yy#%0RRBC0RR9N0001RX>c!Jc4cm4Z*nhoWo~3|axQdubTv>xa>F1Dyz>fXde<0iC+&e +#9?&-sqdH76P(j+{_m%9HVFt94cBS>ThDgmh0~1W@;+GpmY|bM53RYDr>p%Cb>a%)kM=j5PR)k-7Y`sZrCuY-p7Nj0OqVO@}a02^>-#i8E&W#{K0 +>zNM^qQmMPKnnVMa<6d#`LYEZ~QYt_z62b_W=wWGpdIDUVABtN0_F4p%x#zG2&D&+hIOm^@CT;O9|ZG +1e_WB1yD-^1QY-O00;n+tx-{0_@eQw0000k0RR9b0001RX>c!Jc4cm4Z*nhVVPj}zV{dMBa&K%eUtei +%X>?y-E^v8mk3kB;Fc3xeImM6z1a;v~P>Ksd&rpUqwV`b$Oj3)tH?=9a==Q(&hd)~D3T;aj`y||h8v; +v$n@=PSS~5yKup@8@2;&D5uSz34fStRxbSIZu9uxHJU*K_|81jW^l-63+HI5leUBe0VRh)%8N@PDH8q +oC%p-j$>y|C>J%WKAOl9;1K*qQyo9JNxv0cH{mfn;6v|4cFPi6LzpmjxBE{Lyc_IaXg#O9KQH000080 +F$jzQA(S6rvd^101pKK03ZMW0B~t=FJE?LZe(wAFJob2Xk}w>Zgg^QY%gD9ZDcNRd4*F!Zrd;ryz3RL +dZ7SAxf{?SO^W7_8b#xr3Bp>-L?x0TsRZroyIhj8+$4=IGIwWZhcmL8tZ{*jW*C$ns_N*>#H_Ndcm~} +Y$5aA1c$&cn{~FOAP^x3HpKsfIfIhSRcu{Bt+FJz!&scAsg+Zhs4q5Aw2|R5)+{@9qw#Tw`n;aq +SVtp9+tqvg+#Y}4vtU?ozZs^IOst#r{!Bx!ygkdAq|!WA$j%ZSo>9?R>e}FosFNw5*?0L1m@MW;H3*} +Ew?=!&V!TBHvJl&}w#CaVEc>X{=;i;MwqAVL1sX4lt$;-q&;z>k`w8Vjk;CJUHmlvRbdoO%`_8=3hI| +hdsIHFxBkx7#yCBbwQkG7|^yp*nKjna6^zaI@Ga+55XIoy!sBpCqT23GY>pE5o5rY$=PP3F^Q~d={O9 +KQH000080F$jzQAcSQ2ayE;01^`b03!eZ0B~t=FJE?LZe(wAFJob2Xk}w>Zgg^QY%gJCVQ_S1axQRrw +OCPa+cpq>_pcxv43i5(NYFhM@I#lT-GFT`ZK_kDLf +TAUiCEwh&f%tH8&eOs4SDH#U7NwHfj_FA1-BbvN;g1S;V*YH;h#+sa0ys@AS>*RmgZa=^GW8Jd6RJGM +gO3=N~Jui=NABKB58tp|sh|)T-ZgMXqoHcKnu@)(JynOtKQ(yhmVzDSCHzwMlGbbCFwtBZ<_=x(6OHp +wv>O*k?dsLNS8}|3|^Ox;%&6Xb?etXzHEdN6gWa0>|7RHJ)wG-b-=$)C&zv22|MxSpU&+elOhugEoFlLGHt(~WSM{;``VIv-P-Wy?ua!kXa;DP%Vl`~6V))@tH{|G1j8aa-2i6BUg;AihN_u +WxGNBX!UhHKjKE;l*KV1ImZMJp=2e+S)y6G61FHclQssr}JZV<&#qu+_p&wJ}tHp)V6v6#q9oMBZk;s46QTG>&^I?KK@F>ly?ARw{|@?T!EetwogZrT|S&yCQ&jt+iI?dbL7#&X-@akgP^Z-1 +KGbHly@JGID?BYy${-Qp(fVapFgDR&$xRf|+R0k0EEToljnBdXW|)ZRuU1(zD5c_D;55oWO08nI{4;S +9jNsY2xJS9}pjSdD?E+`yG*j>ci+5d(rhp`t@@I6p8FZeL-#K{J7jp4Th1*IP^kvzaE3@Fde`QWI=D# +HLoD$wc|{>?zJhEwK2kh?l_6ID<8dg_u)gXa){RF~NL+R*Gt-2!w4mWtkm_r-VfV|5pC{=|pBCyD +FUv*b6t#P}Oe4Qmg8xdv#-ZXg$0eR*ZGiqku-rfZbar%P1mcVy&79^XA#F0G|mUycav(R9?{KPF6-Ih +FiIO}gsKBejG2yP{GjRJK(g75B(MLSZ>#?Y6?wtj>vo%*hYDf-Gpl7)o&fBLa^*%7v-dVC@(D3s6e~1QY-O00;n+tx-|NV!TZ<0RR9c0{{Ra000 +1RX>c!Jc4cm4Z*nhVVPj}zV{dMBa&K%eV_{=xWiD`eol(nfgD?=h`zuzQKuY<5NICR%h*U*A^p0G6N! +%D4*-I-F<=?x8G{B`w>jMaOW_D(rWtn(8ASkK$>EAz45!}CSq4ohx(^_oMk#YMG5lcvDjkWA7fr%i24 +gsYWQPv2?-8IvMYKKdxuLI5A$279DDqODhO +#GVImIYF9;u=BM2@rwF61RwHZBF8y-1)tJ(_*V^$7773FL0KP1`i$9f>}&idZfuNyEn?n4RT*cfsxB6 +Wk5uwz=iNL_8kd%Ph0Rben^=srB*~*IANZnA=NpVlgz$^;zx91Pst_LrfWTxc#%9jCN!k9)n+L +!t=C5G9WN`S%~;Rs&#~8XMTP_G;$i#Ary-`R84-T`y^B8?%CjMIZZILl@X)wLGWpLYwU<>5& +bQ3%kOj*X@6aWAK2mq6;ay#n*Y1uQpxBbfSDr4F)S-rD^aZMZO!df5@)FNA1c|)lH(Bnzu8rV#%)y$qOlzxaY4$q6~p3i4) ++?jKddK_`tlBycTgLerpGOvJdKmg9GG>*X+`=7p=H@N6*6fyohr?pHB`Be*Ab1Luwu+WnPJlhjs8v7~ +cGHas2J!?eodSiroqQUDah%Nf-m$iSk$_YZ?>j=b;{4b5K>mLjCaO#qHG0yE*GFUv`)0-R0M}D32tIrDUY +GtFlmanPs4Xa`7uqR41BO$hzY7GEO*CC6gSKy0qrX$JAC#@OPW{6a=YUDgAQ!eQdku#gMRE=p~c2*fqaLdMGCBun~XW)7CXk@b91( +0y={9)bJV3czM66kE*Xv(J@FET!N89@T>EszLLPfn)n^yF;H&hYB&lNe;|Lb45ld=JL%|k+a=461?c9@ +W5O#X$|4Lt6xoKw3t483LI$qERcqLLmX!}YjgVtl`I!vZGvdDUNVDFhxrlIrtCn^LFr>Y1NA-7)O#55 +KConZQ4!XgI?23FM1!vh5Dt=@O2%{-0j2dEO3L}Wt#x+}T5IuM1W5k09ZlX{sR^Vw7*cFF=3C%u_PNP +$#@kyoZ{5)zW8^4@uk&u2^T%;`cHi&*LMG@XOn!BB#Ch$Q!AIu4qX{H(%jE<=Jt)O#XIy_VQ3_>CgTeoqDr_Jbs+TD;`|15Q62DVfdO%hhxCcvu@Pe7-G<1m?&mTNWtr! +#ENpJ-4q7t&^SsAhDims_4F`R$Attl%%2!qf-BC%Qm>vqF*t9en$`RstRCUV6QiqUk%{D~LAAKwgH&B +UZuVbU&OkXk^!MM+z>{Qd%nNMDTp@l51Cq$hSYj~sUs4*HU9~TRU^4N%26l=@>8ym|7*=bI77<9ddL# +i=0^w;e@gtH6Rqjj#cA^S<1Bn~hkSH2{&P>rj>&@kqAJ{+n=1pCf^^mZJnNi9Y%_(>w+TAR*pJX0p6ZL(!&S|`F}TadoTuij%@8TK58;Z(%N3SgsMa +O+~jqWOU<1RDBJ6gno?}>Kjf{dgnAK8MJN!ifVvU`SBopBtc2_O0T5n)KNOmy(REs=Kw!H?>4+W71|z +ucwCkzs=v`Ufk>^(^^uXKC(X=Dp%})}$&=|_FOIn=aLci~z`etRL$bG4V)OC`85*lRz*p0F~gR~U8__ +9msI?(%e=ri=u5Y-!C>sUI|4MS|PsQ`2F^vE}QSJ)oFZ9$A)pHO3x+_aA&oLsV#FWnZ*o)b~HIr&{%J +7ktF;eCnK);+3|S`Ch2Wn3LeTc19F`w8GcmWVpBhvM53ir+IP%F`pJU<*e*!&HwuqyW{H;SvfW1mE{y +5m@sD`!Rd9=E)sX$f`)=a0){s;9K5*TIXA+8IMnn5mxmu?T +bhFJn@Je``i0y8XN!u|NXCLOKgd)|c)D08QF0&p(!oTmcdTegYV&me-bI8qLYg2NmrWfdAn+0F?J%#9LUJQVFfXwV3rFHl-=n#_#Ndd^?ylEHfoJ5P(Qt*4Qbchj+bYeq +C4aI2sbQDM+Q1Uby4D`d;4^6#tv}qT-fZcoB3Wk`<395RrvA8;1u|??HmfS0{0JcZmD{>y;f1F+q?fS +B9ozv@89=hG}(CFkw>+{yZ%1Kk#V8NKofC!|u5YibgHY37Yut#vEr!kzS+dvREaRLBZfw{UP>*0vcA6 +|dBV4op`QOgpv3>mY@sUZf25G&*TvdI*lnYqT +ShU-jv$yXWEf|Lpg*vtldBoSc#1e4>BmB7=W9;ZB`Sf*bFTSJ+heaXgM%o4br^y8$R2_}l>IYe9?`MH +r{->VIYiE+=t>`_G+uXZR8gWG=EFw5_!jn}QwYT$~!ZON6=Ah%l}7s^DINtvx +EnX6c2G*gIN!Zwwmo;7Q3gh4io$~dD$}QDJ$;fexHlBb2`Qcyq#+_Wwzgr_8EY5nf}@sK$*DFdqa<4p +5B)?%gqkYFT2HdIPxo62Ev}Zh<0VWwI_0fslE;RUK+@%ndC*;tk$l4MilvtOL|vj_t`NWTqDquvtWHB +X&>#%^v?t=y+y-4c3mQ)_zeIrKdLze3ZfR7(t@f5Q(zSA4I!u`<1rOg0IodSc^a4v1v2P)fLwHgUt@4 +UEgH8~8cOvL(A`hVuHFU}%6$lvO%(jiUc6GkA!?IuHxwX9R2o?On>8Q +I6a8r%=YWNbkz6E~og5J(*vj_dHR~4wq`qJi!$A8J73?@_j_f(Wodhy7y`OaSlWREGYPrU=M{DYgf1VCj;?aZ- +eNekU(j5z*W}U~g`J+9W4Fg3R?M0BZdDTYEC%en)q&R=t2WjCkd`_YH=pO40UYIXyVzR)g-@(D=Va)K +r3{t`D9WPdRYK?`Di`Tu^7=U&A9b#pHMuEk#2DIIWD;P&{J-rWyn6o4L@5a6a%OY2 +mdmYl#d(1Gd;bGbuI-iZpkINBQRrzgsTUA{hPPY&SqUeXDEVz|wS+qTAVRWg{=A8^yBavKSmLRL}XWH +4D2oi?`URGx2nLXB*%8pntreX&+5?t%*wg +{p*gNYK$%05~bGGHjuFkz}fZ|9Z_{!)mR#}P!`zM8(SZLd$qWnjqY}aFZ=rBW%R;rKfhu>#js~1H2?@ +%I@8VK67=&`z~by7-biZJOJt3ro7c})y6+~NWKBuh=pVpxN;Bd?=ieL;xSf}#>)nB@%e$u1K}3f%^Q{ +(Av)xKO$KmPJjhZD{J<{n8KB(E`_A7;EYb5;XZ!PXY9QqTB-G@~pR*sUqU|;pMJ=E7|9xJ*&ZNct1ue +_4m-T&ZALkjRMJni$f>$vI4fUmTn&of6_vW~4vkk0@`w3a&^!1=VvD+kW^Fry#v@#jUnSE)XoX(L@+Z +16xqn!_C3tI!|6k;Uk?p_k!t@@wqdS`GV6s6Mh9JFyrSS4Bq>ae+r*`h0!2)V^Fulik8-&xbuTl;CMO +xs8h2E}cV$yh(Smjoms}=LkUwN|_EkS-ij_1nNZjuG(&*CrxvR@uUGB+7yUOtF}emHch`_CxgQ1$;0J +u`e)1Ab%$qpBm(n&0TOf8-hCo5>H_%t6WsuRz4FucT-#1p()L%U80>N$7ZUa8eozfBdPGbc4@c7xhu? +4=^ksMJ(dcFf@!HPp9v{PaS}B*kp7Dq-_SMJ#K_`x0ut07q>PffXz3eWO{ZjY?)-7izFHvQ5`~s;5o< +Jdvty>g?b!a-Q!BH4&oXS+MuG@^dlccjY0?VncnNh6vkQ_>aeqC)$1wYAblPaEN1E~ic6);0d>Ma%wT +NdalEsa&F6t`@|a!Y^s_k4!qPv}JZhZ;sctWtg2{Sbv6K#_JWz<#@KTW68pIl=NBhX~{7%Bq#{KZ?vg +Xkk6tfMLkRX$bMQAiT7WmuiO3W;kjgG$JP`|5Wiqu$Ds;U|f`5eNSRP)h>@6aWAK2 +mq64V8a$#_AWpXZXdA(M_ +ZsRr(z56Q$&S7mJm5V(F@F7hbpg_?S-2!{)76L_$EUqb1AgMV1`@W%US$2a3iURc^v8~~oH*eky-2~r +}@npK*heSUd6UU!l7K??pDn@!z)>caIpN-|uLG?X{m9M_CPV0vS;k8^Y^Z!pBBIz)OkP3cqH7RO(8pG ++(8r{;tASy8vzj8RH*0>!7Ry7%yJgE#-4Nb%0o)i!cEjvoBO4NV>nMm6D$cRrP7Qe9`5+jv9QN{PE#T +m|E+PlOqMe@yvGolxZ{PYnBDy3j5U_{Vn>VtnXNB}y(Ae6zu9))LSFjjLq{zsb$iBLnt`Hs7aLmU|>s +{K&e6GYS=;H$D+lSRFP*9UIQ8%5L|Go15D(kiV@4bG_NNU>G5KR}BM&teijzp1&QvNX=5vRp;B%{^4V +pX508NnY}>C`%|n+jFN^>)Xd@*%k=5Ur+LGC+KkpBv_j^GY`W!!DfUX +@l;{;`L66IzvkLSRjLhxa+HLryDfRJTv#Gs~MUOf3uJB>E`M7~6f$lVK_zeb)5q*h8n>u@^lJCCD& +NPjIqbJPlm=lZZCajj_I~zo}E-$_doQB}erLM%h**#bGjyO|}v!5L{^HvJS%ZC}@q)U-qM8A5+iz$%b +H23MIiPtzi27B=@(v0-}Ly9~4%=C4LVj^jzRvJx*r_g&>%!lda$Cn3stZQtKj^W_lPHZE_D2n1%*=J= +V&(zF3Z&ftS?WA8by?MC0ERzDA%cHVduWxEWb@046Kf75vkV)Rdqgr8Sl1FLbV8qs9?`(s78O(riLC7 +kEih6&P1&yuR#c>YuSUmlfEiC6az_s{`N^z@LulMuyan3r<(rKZATkCCJ$%-cb3ttg;yrc5%H3Pz=A- +F7SwpcY1Rc{6Q`#7dNYCE4?SuLj}B#&=4B6bQeYTV7~g9He&^Fc1!WATmkeDS$-TW;6WP +F7vo%EMXLYn9Yxc;Vq3j=+Ch3)1LAz@l2one{uqxth`Sd+r&HH#5n}pn^E_XH*TB*Sx<)c@}>~9L(^U +wp;p`l^zdnsak#sU)=JV;2jOYT2q~WP{gr``L~Ju6!3BE(bMn0JmZSU@7dKi82LvA8rTkQU%a<0E|vb +D(*6xlO9KQH000080F$jzQIsWZUatiJ0Ok(>044wc0B~t=FJE?LZe(wAFJob2Xk}w>Zgg^QY%geKb#i +HQbZKLAE^v93S6gq}HWYsMui#V|l|5UsW2eQ8<)K^Cr9jhet%G7H3W1iWm<>g0Bo)Uk^51tzk+P*EPU +8nzmvj9N&-qANltOBhVn%p|Wsla+niizj%cUp~DKKSGr72U$ea(d|u+Fe1BUECkNar@u-<`5~GPb;?e +;!#68DSdtdds)xr^%c1B|1StACFK!L;V%%|BL!(i~jkd{|Wtdz6^T3UPf|6Zb~Xif^$t|Xbp_4)sy#v +lfj~g;Aft}nEey7aSBPKTx`OD6_P|(lGj4NA{UBv;pG!8k~P7ZaipDTr?o>M^w32{<+1=#d#9_Ck#H~ +=fYFp;rO+Q(kuy?Bsx(bQvHC_*W3`SL+-|VslwXF5uzUoLR4KUfDVbjo1kL@&Iu4AkF{2rp-rRV7REK +OnR0IsGRMM4suh#_XoUTb@1ZUqWr3=Efih9l4CCGX2h$>V{aZNLlAuR;LjERkRr4XZ61Wl*2MtQAuxr +k#BWh$aX=aGHdxgq&d_RG7o1Tj?+9_BJ61pdTqBW +Nxu(cX&<7Cxak~Q!mnGXij8~0o=7EK-G@?-l?nZG370tW4i&g?&CGr8+(qTtw&{A^i)_qLs7I7i@_S? +m>uSxU!m7$UVEi%Jr(E<437=Hw=#KGcTtG9bNILN)JW}1B9~d3Fkx5xOJH6HU)x3ViJi1rqoJM<@ +>M6(fnyLq_rsyN`?7fPbSVWJgIuaMx@_}E*wRx0K925avJnXQ}s_yjheM@P|-RRZn?Xw +r(Arp1sjR)XUdBlVWV(cv2iHWxP#rxGX=5V+w!y*AOj +ET7GOdud%@ +i&CI*mWI94~^KL#lhRbwfF7S9fnOg1JpJ>Q?XSVqeH8aS6Z%uF745=Ao1uicD$+CW3u!xQqC-H7 +}dH#Y7XL{Bfa&kln9Q}J7p@iu+v(D?x~eO0)=>PkFn+R +Tzh@&{Fv(X{s&M?0|XQR000O8ldVxvx5&L(7zqFXvl{>aB>(^baA|NaUv_0~WN&gWV_{=xWn*t{baHQ +OFLPybX<=+>dSxzfd9_(vZ{)TWexF~#$|x+kikgj$pfNBH$zIxh=q6~4&4Xc#DT(rMEs=^y&Fmz|fA2 +ZGNYur4uxJN{M;6JC=YBJ9TG?rmQ^mf$+Hm_9m;ULKlEOd#R`YzbsXEz^mbcmNz(grK;#M2=(9+^@v7 +UA8*Pbb@GNrq|(0#|0Kl2)HeJ>OfifevgZ+M~I1z91RmTJH8UpF^D{fDVm!sZmvi^m$iHT$f0`qZ+`W +>d0??DB7~b|ouh$#(fkGZp8_^@hNwV{or%sw=7D2W@S6v0_vk>>{us`Mj`{V^d@= +ZED?kYtmIsiBjX(~pZCCtK34#Vw&J1<6{s=@J`nomr2TZ#dnw2_*=LlTV#K;MV55l%ZuEi-3aJSMj+8 +J6gXFkpODq658KqE=hH(oMgp7HhdFM52tSfM33Gy*^j?@eEa3H+2nl5=&!8uWY0Wf`JKtV{GiCE_8$Q +D?})j&kbx|xU4oazw`E@@J-mq*~P8-%jJDkW3szK=p4XM|Wm9R$M&X!`|pym^r|H-7o`^-3~H@2@^hGcQ +7lJxe!xHoQSgCdY{!J(wEAQsrmPG^XjdpVd^eSwWhFG=H%zmx;Q|66#(L+Ph={>W4JpyaI*e;aNbJM= +GJraAy&wM6-DzgOsCE|^@yl5$N;M^~Mjf%w1#30=h&p)Nb+TK)0Dw`z*HOsGzv(0MB_Or#h_NR!DHs| +6lWOU}peYATnxLe@!ZLtrrLAa*X$mMwT|vUdCW@9u03 +penPz{2xAl~OJ_q|4ap$@GDkNcrNPyA}jMCNH3c9~a+rk +!!z<%dQyArz+?D=`l!Cg)hhmI~xUbg(0^kq{<3OPJ^DX_j3V=zMEKZYvxt~3{wRW(>Z0OTY!ycyGY>Q +wb4jlQaz(h8itn3^$&8SrJ^owJJd>aL?l2s@UF+p*BS%UapSwz3U;`uQ0G27v7n>UOAr?~+hUArF!6z ++Ryq|H@2Qz$`!zQIwGFmPEzA7muu*g=K%-5V|}bQ2i`PL-n9GPlrS|<(T!3D7;1fyMgNA=}-sW2+jeG +xAcG#l_N;f)dfE$gf{46R~BN9e>~gQ#E^_#mR*}Q(;+K@$Inh`E5fRpm1SL1o +I*ePKG3dZ8m5V4FocPU^uz)InyOb6UzfDICIG|n~7-2-K!V4TR4x4m0LH6&1@xYs|CO3h2n7@x}5ruk +Zh5$=ec^x!Z%;c0uHzx132F{g;@g>D96xjs=Ht?9yv_Sggj&T{9;o2#j4SaSj-K^ElifMnacGUW@1gO +*_Y1-Koib%>)kl!8$9zVxOT%g)$l=NZzZ~(dzBpX?F~b=00EHg?e?c!Jc4cm4Z*nhVVPj}zV{dMBa&K%ecXDBHa +Ak5XaCvP}J&%Jh4Bhi9qD~;8cCW;6>dl?Hqg*gYq(G2umj3#-36Kz)$$lSk{L-Nt-`w$RSzVgQU?nX%Z23Y-5{lIxa3D78Oo`8w8hZzmA(WyO +5v4D-XiYTF$T@JXPsQxT8190!!l`F3z^0JOw6{R%Y0vnPawFFBLpyRB!ci%hwnq*?kEg`k-HPyad;!5 +f$NRo?Xq+^C#m0X^OnFHB7b|D^+ATGE6KM!smxj6OA)Ae#WRqM*%C6sBr2!UrDy;i&cP)h>@6aWAK2m +q6MtBUtcb8c +}pwG&sES%%gjlQPfkqENL9$pEyyn_QE&r_ID-Wgloj&w3lq80z$%MUQ!@6aWAK +2mq6qU%|N_CU=Gsv|9%R2(UIyfB>ltq}kGP+IyAma=l)X}o%r3Q7dInD^)RwJy1#ZFbd%^1ctN7FNXV^K5uGj8y$<`m;!(uj@WstMPK-y?XR +1GrOX<;GC@w`O!OO{tEgGFoM9+;Blp6$4_%qr$~(}OL9VRUNAjAEpT3Cn~GJKQ1C9E^gRPlqJi#D4EF77C2Lkml}AsXYeG9HO}(R+X~wJIp@tw3A>l>n2Gy +fObw~X_ul;tq`WaeI@Ya-Rk$yiv5?34bd&Q)(EXUNV9W(o?6mo +0Gfm*{O(h5VXKuJ_h{Hgd>$Op#TozB0Y3Y`mTxXdsCKDUUzLxD5T%icr86A8|()saF7=j&v(zFObhtn +cR`>(e;e9j*Io$?k>B)Xt#!UlH+&>upa7#t~Z~x!xbK`0jf3_V)8}dtTmJdk4AFE(X`jHZ+USQyHB{=cuY-k?g}R#-Qh)RXyKC85HO9KMIuBa1wk%D#WZ!6q*@~L+ +0%hblg@n#_`iN*9%;Rv0X+&2f-H)nfNMVGY2W6V4=!BA)utG`9NR8U52J8;d3@Ptma8z>XM7BB0sEf; +>30!}1wl;uzg@G)_EOo`ySW$|9Q41?ox(#VSWu{O~nGNgJdqHlte8+9b6sT&KLIeokc)G>FLxE+!j}U +Idu0{N5o7XhK8f>E_oy#+SGD9NnHuJ@7kmzAn-^viDO0k|aWQ=-$O-@lpuHI9x<390f^9@ovWK&uygJ +jAUy$1vn_TRLmPD1V4T>w#cQy{0@X4jw-A%#tns5@?;%$MC;CNvsUdfzWmi9CWnzv88V!7>^mOwLc$> +6_Ejk&1Tx&*3_zFhN;DnLA%$MtTt~CC>kWpmjSG`tUgAlFETLJ4W>ihN2$z4kz{xFB^Z=Me_?TX)AGS +r2RmnRS!Vr-KKQH0S5mG4JP-3jG!oKpKA(@ +)R_nXVGj@&a)ftWtSP}#U)oaHhwpWdBKLvjr$I&}2jpaCLV5xq_-PDf45?$Png0ouGX9wQkQn#zsG}? +0L?BbbZ4xos9^n(-u(sgY0fJKKc4S9$tj*~Fj3ni)=b8gDFiNdKas=c@?Im%r7Jl+yY5I2OU192!tl8 +48Mi69S8WAVt#{>A(G7v>0&t*``C*7XsPDXNK{7L!gGX582m{MD=9qo+7*T`b}Po-*+O#zu=lN6Ka7d +JuEB1Tt2vgfEql`342tB4VZ2LZO%?k9)vBL4Gz!M3Eo*6 +V?J@?OqixmgfR`6lQ*wBH53=n72zNYLG>3p{c5hQgAgz2$nXDh_Q%%+`;C3^uV0_JH)?K+_?r?QhMo> +f_R=XFV1<1sV6}z)04j2$^^EW&>G4*z!`R()5cwN!uJN`aAoF6%;NWLo#58k6!}{{=X!3n<&~^QJDvv +%6GmK-&9;qk)ESy0;KkzNi+kO;*zGlMkemrml8|PiX114&L#}_i^Gr1g<%i=K9A5CjM|83E9Fdx*HH$ +zxY8xVd)_zxT$0(fd0Ub0D3bUL5;$Rcenp5?eB98D|c)1UO%_o?yY?*C^QHbkn*VY?bzon#|qB#g)7N +*aLv6Mpr$yARMtmx)yg#h(x!5iTqpj%gT$=m6d=x1N{X2cZ9$p(AXAgOlqbB>emKCidvKK9ni&^F=oc +hx49$zqIPzKLUh!9ej@a&-n!XBHw(-ZIQKZ_VE4(P)h>@6aWAK2mq6V_{=xWiD`eb&|nu!ypWX?>vRqQzB(Nz@% +Qb%T7B?+8Hr$Iy4FqCT;ijGf7HPspXW|{(gQN_bDDhsea63LZ!eRhnO;0cXH%n5TY*yR%guah&8?Z&) +LBZQk^i^n55C>2Tcq)ML+*snO9BtRsuo@<24a{qIEQdnwo51gaAGkd$#3*%SttbzVCol1E*m*B`8Y__ +ET!*4wx6@7ymXyLT)mwpe%)@WJPIu#18N>xP-L-hygcxu7?owHM_=d+)0`*S;X2}g`V)1S%kQs +>(_Igv>dYu@!YhJZ^6raj|;h31Z0j`dqw3%EH!OgUDS>(dPeWgYgJ#0Zf9jY>NJ5HX1CkDqaQFqAJbg +o!U44Rka-taf!HAE(wP3{SC{Zb2xpgns)o^H=G}W@tr{z83>S8_Rn(gH(cmALj)ZqiPrC>s@z4v5rZ| +8hM$h&;erE`X7IK^wre@YcxwSg*Zi|0VO9KQH000080F$jzQ8$qWnLq#l06qW!03QGV0B~t=FJE?LZe +(wAFJonLbZKU3FJE72ZfSI1UoLQYODoFHRnSY$FG^L&%q_?-Dp5$z&nrpID=F4dD9=bOO6B5;k1tCtD +$dN$i;q{ZRZucAFf!0HFw-+KP~rjrP)h>@6aWAK2mq6K;k009300018V003}la4%nWWo~3| +axY_La&&2CX)j-2ZDDC{Utcb8c}a^!@t&E--QoQO9KQH000080F +$jzQ87UEMEXzy02)sO03HAU0B~t=FJE?LZe(wAFJonLbZKU3FJob2WpZ>baAj@Gz1gyxSi2>9&r>+6Z +gz!gZ_zi3*cbEy2_z8x%?WzZ2?->+r#}-dFQ@IaGynWgRMc^J#gbji3K+_hT5P_3q36_;c6)u@0VgMF^^K8Y3t +eLn#_37z(CHl7V3Yg>leE6NoQTam&;0-W4~n5G>u{#Ew9B2(g2i9f9l^beAH#h}sd!4x@HVwu_J*P3= +%-M~CY)dlva|3{W4%JBHlR(JsMv8NOqZ9f|JHa2L`$Cfw1;F8i1PS*Hr|9g^&5bjQRW!K-crPWTb}^{Mb}?v~?Z|i?5CdI6Ed%}M` +iB!`MgPK!rlm*<&syTU6w(w$NGzUbYcyv^g=2H&$g%G~oMb=4kuXNV@YO>bDAys@SwoaKgB_hkJZfwu +Lo8y8+*RX^%ARD4^|)MjIJUJ!G3g^zy+)FL4^TXhZvHby#Yq&{(?^@$;t+L!BFxAQSe)dA4L&L~ORRq +EY&Xo1@SI>+Y$}Z~aS~WU6U0d?*%8tNE(C=$CNR{a>%x7bRRG_x9|(H9)UIEWLsk7T +BRe0Q=!H+d;CfgU~ms+sI4S{z_#FK8$u|&!T>5`vc%!dAsdFNz_mKu+?D-SeDuf05seE&%V!gBl4hBfWSO4IV +MFSLPlnyxut7N7p=pLMGug-1p53<=e9$!5DeWzeB^S-+?3hA?*ThrU_EcZ!yTsr!=I9oG@+y6ytNk59 ++^+1~igd~fk4B#^&bLftP*_2?)bUXar6nDN1CpJm{>G2pU^J;sF`f5l&C4;W`NL^}<`TJDi7xYzwi!vG^btFvyKd;L ++tr{dyxsUiQTP-^a)vY9WPX70B{q(+B-=HSix5WZS*_d7Y?|CnGn2$M93f*I?KI2fme#3xCVV(TAH$L +j@{KuORV7fnyw3QBnwvAkMxygH#^jz6_oG}@DMv2%X`1{Ob(qz(mk{(Y4%hv)!5@?4Pj$lG3g7NF?%a +5Gm_Wke!4qn2Vjhp7h|l<``M{mUWd@wVs=daML}_=7Wp9m+j5Fprq`ZfF7sD*0JkmsHui4pM;Rfj}sD!6 +ZZzQV(~T`H5fu;wSU@!z2n1mNkrO6`YAP&e+cv91X|KqV2;gd89fJGyIGDZa~~Z-phNX%}|feM2AZl +q>n?YxmTHn()QR5?Q-wQ*;S3yyWFb>H*etmE!`IR24QbwRClHHvf6&o{mUzT23dMExHibVs(wIEt4<5 +S>W6)<@oFJPhf=>#mpn5j!peC3828ut>GUp!U0c2p+w5l5;_ax)2U9sN3B)sAu$*rXb!@ws*vmKb)z8 +|{;s*gf68zE1UZZ{;P}zG(06b^kJSm>K&8zWl*7!YymdB<;vh=}+_k2i}z+;&C;j)&Ov)pWVqAaj(4qg*HPrP6n(@}0^2&)^oDX}unw7*2$>(mIWtV+*ErBqaN*Wli7`XheDuO|p)kV)q{&e8Akc_U +bd$Mfm%N95ETbw%Eg2mj__!Ttp!b8&u1k&$^B;hMrRy*a0FxIpc5gB6Ux=3EtQh|LBeif)4`BZOH>8-5_~dB5LMeuGLZ(Z= +@y%Hho_GbGF&P58`6@hZ9ZRreChF*B&WWePUw1pfmh=qBNBG2ZcPMJ~A-=Id7OI4@SL>j_^MgFyBe#a +*nd?JWDvm`psTNy)D%w4NEe{uVI$0F~DWdaA_9_x%#w%(Zz$ZRB2d*(`3p;&MhC}spJH3u?Cg2uLUHY +DRkAMU=JO>VCW)3}*Q22b-1Oq>O%3({KwbGdM#U6D_`cT6bi$U)~0T2&M4K+oE!TvLf`B(WnKBXV7Uy +xW$z&~!_WUO}xgMj}0VQEKLH*AD{&#uVz%SV|x=JDLWRe9Vv&9PwHNUon?m5T!I70}ko>tKns#%o_k* +5ZS#-4#Iu%dYaDzNOsy=v)VaxB!L!!EOM9dHmeaK%F^}>n3#dEBHMC(#9p8*+!UpPxe)Q5R_3D^85NA +amt^-Nc;*$G`rUG`QZ&rosAqH=0WaXk5XY{M{0}*bbtqQ7@r5rr=IyftOF{+4UJoj{@RZE(>gFn`r3! +S9-NNy9ihdgJ?)Vfw(qyK${8ut`|`c?P<)Y}M|LanfY2w6KHDZ((Hka +;dUgX+&d5~6f!#OUxS;@T&2lZQjE3;fnGWzp8ZC#JBToZSkqeFz~Q +WEo9Rnn_o}+e9#X9YMi}W*S@eohsHxb9y;q~ +aeP!1;XBurs`+&W9i=OdKe!m$4Bb<;5?}f6#2%HSDu?P?YxHH%k(Cu(+iW{bV-wZ>`L(pwy1Z3C$czKd +A&!|D1viEa-#FF6+0-C$S`@;L8Uo#zSw5qi2pj_;KKS@G%Wx~evZ=4S~2uP7@xkY1MvMv^-rAO-y7i* +wtw6Edzi*Bg1||H`V~q8d;_W(NY#+oF#y)66%`Wzsc%Cs6RofYU>87e2%sDPB}xNy1lk&fSCI?^JV~z +Vm%xC$UhTR7!)bbzz7)Mnq8&=F0|S8#ggAx&2Bi@&9gxn{E(9n~?kIAFXdv)`t|#Fg0|-F4&J=~~#M# +?W9br2J*&#rYlRF%L<2JF2fr1Bu8(SyNu(c%#CXW8ze7vmYIcG$a+x@sNQABd#^0jsdS0DTx^YaR#}ICPOAZtUE^>LTz|`vWgN# +5_>@o?xw(VSClxxGwmkCbb?USPJq{s4Tiwt%X2~e^|FajoTO7p2U(hzF7clAn^A9m|bRu0_zX04dCtY +!|Z}sfX(ewhX>zZ9)NkmZ=4x&J^=Q^$}RjT&i`7QYvOA@bWkH89?1uD(>Vmf-wHe}oct({IPy9j<|Yj +E&DBd$aOa&TI_IyYITZdt!iC;m$ffKcCBRtY(sTChr6i0NmvlwKc6J2e(uG^Z+$?KYq9=ejXQx+13|v-tsczjPaR2kKFOV^{)_5ZeXLmW5`hUuS{x9QB_3d$c~T83- +TIa^L+Ty_Gl#>Qt^mX`Hg%=?(R9S*opBXMNWs4M7{=_C5iMZ5ZQL}o?)~A9udq?5;K@xVapt_{ma7Y` +J!9riLM%6iaDaX53x^Dr{r}l?_G_VrA8sGEbPZrLC|44r%+kLkLx4RD}B7lW%X5@gN;$t#=Y@IrW42c +qI7Z-*W!5-DYfq0Dvl7!>GD7zPQ=Eq3^Wlx?97VB`YXhNuT1-JDVXs21Kt1#=A!()mjDvp-}8r?fHin +YkkAt$GiE3%QmdnsHOKXpJuwVwF~=kxandlP%@7_g4VqdE3NhEpQmEYEhuXjE<~2UTqVKks;+i>phe? +CL(a5XPR3DWMaoaBkeRI-$OtiO8%*`jLtd>hZN-)(Ch?ggdd}GG#6vS7JBd$>{ZN1GVFy&I9S^jyxUi +76Bk+7Q5Yq4$l4u-`04QpXQLzXFJ0yKTbMVj%Ha#sn!sm)`QA!FqBp-&+daou3cAk4R!q+}|aZRNT^R +evn-Db$-%;U75eV`*iGDY4PRm(eZwSnoSSThLozY>}-(rhd=tO@8FOs862O@dBBQf*+s4CQrsWyn>Cq +T%7GG<@NwXRq^=nm*)OYCGuD6?QcZrH}(0yzbLo(zkZ`XzZCsf_1OackS1RxXxgQ>IDHFG6o$z!KMeJ +2Mf`tpH9ra9zg)@ppo$Wl@F70Fgji)Fuq)d>44D{Fa{h4o_A^3_g&c8MA_G#{33Wskb*3pec^+@NBh3$K);nXqv3nX(HOe=~@dEHA +<~OO@aB6T}rHl0Fpu9Rlk#~#U21V8m*`fXpTsZ?I~*Ps90*`0a%s@d|PrZIVjX{ +sb(+{-)!4MFhHS#-~*we(F|j|Dzy={!qkP9(v%%B}xEVBlrPw%c;JJVgO(Pr~@FFef68IAm~CLB2NK$ +>whQm#{2>rA4~D6@%<+%R)5rgGrZT(s(^ndfWLw{ssZ7vFJO{VgSEN^Wy-fQNVndFV;-?T`hjc5(oBD +p*iRvh{2_#SPK_Gvr2!%U>El=Kv2Z{O$FJZ=2|5@EX8{qsd=tW8b^fYdd9DB|1uz3QsDUa5mG-p%DrD +BXEfsGo0Z`E_`kj&B+c&dXY2Tt}wGOC%H2CHR2lN7vo#5`H68O!$6j4GF8E}QBhEwYg1_Avog*b-Jv( +ouZA3P5YqhN%oot#*rdYuq$sfF|x)^G1ESCS%rI4_te2FQcJsdI|!jCl@TbVS&@u{Bg?Z_V-|LR31b3uDR2^d1M(s!5@wpK1pA@jl7~YX?aPBNY*bHHpe`cmlAJDe^?KMoR*8!kkRqY +qm{;GUoihlv9mjVvy=@H4gOgluxEE42<8{9w?&ktxaG?sa9@aWq5akn4x?bHU6B=gW|R~k9k5T +@ok|9;5CSaR+G5-Raa6%2Y8;;j!%~R4{J(r63>FeZHL`#x-KT!p!0D=x=jpY%ykw-mpiX!lN3?B3f +D(7b^tkHOG3dHTZRp25^;BkC(RD3|lCDk<#Un82OpMdE&!9*0j`E)5S;y{VAW%tbHPH$~i7kmZFgd{M +^4@X#O%zdvC~1q=Dce@nRudhV9sPm{?z(-r8P?t=k#&zwQ%H+Yjmc;hz2)iuGCe3*PZBb@=A<{!`;0h +yae`)GtXuM(rqKm8~dHvC(Sp#?uwdDeCR#&UP@d!`{AO0G}E0Yi*sbKn&11#Md4Giz8--X1fqTIkAI* +vPIU<0Qf^{^+z-0Du!vmF3{hQ05A$otU4G?b||q@5TKHQLQk+&xfA4@3czov4QL9zdf&k%gm0-0Xb8o +ub^;1ry8{WIpsO_>$ZL#TSAd0otF4`NuP*0L5+Jap>Hg~V(nRG?7zh0Xa{It#J|*!7$o&-0^j-aDVAS +}IXZrAAE2C~HlO`D7`LKT~D>?pqg%1IV@7RmzYMk+@@O2Y)hEK)&l?+50SACL!%lGxrr{DS=e)SIwxo +AK7{vt3C!^Nds2OF26=}0K6I7;v;xzKHL)i#H#@XXJ5>mu%Xr3_u3X-=1h;k@E_v&xo>k_VLC7@*>UvT2<@=@*fOjKY>tWp6mc +(UTi%K6EPX3v-}r=Rjjdy^yimSQ6?Tr&#`1st`Y^e`ZL-eoH9c;3Vd8L+Y2-Y1W^x%3^=j7W&%ww; +p9Z)$ZZT9z5rAIyk(2BdSn3UCt?gFY1GGg93swmg%0Fn;X|ZtTSedA!n1(WkVby#JTkI<*JWe7wrAVu +~?R^^+c-UmW-2ff3~s<^fX+@@0tc{D@MQdcmfw*ckuIaCY#w<`2Jo?td^ZbM=X>VUz45hT-drIYvP=o +V+lI<>A}vINQwaL217k{k{upyWf<^i^RUmaW3^TG=;ZTu(ER-b#neJh5v>;DnB{7s)f;mh~!e}I@@MoyutyOW^TpxqE%1sV4CY6 +6k>5kwokjk;90gMl!le~B(Y%c00>8O4ZI6N0@RKoS$KMpG~b2Cq>~bhzRTh40XJ1TfI9DcJviCow~K4 +M%38HSCzgb`iQ_48g1tH49fMjK@1NS*^9%+kp#)&XCnYi=!)=fpt&-?%?$*qPIQgIn3&MY*3&;N2YAgL@wS8~t(BJIosm6_;d%E*|z2g%1WHo!n=+}MyL(IXNppCi!NGw2-)iMjj9Pv} +xXj*>=U1(Lhe-^q)9U&iL?o&?fOE&)WwMyUBLyF|QLJw%Pn|_Vn;l<#76u&dRDj&)zUzHQMR|nsLoRB +Z47n_wTe6{tA8;WQ23@>S$)U$hpSs9+Ueq7mm+vOj$52S_9kP{!D9?Vlc7c>+ba>@-3?M)OX)ZQT{?t +yl|gL&bUI)w`z$KcETJ_jZFtYaaUasj9|y3-8Gt0l{VjPjK09Gse7lvs4@>zi4Uyf)y^i!%|+NI$BVc +xWy}iTLNRazkMpl8fkP^A)?N(iM`Zv>~%RZIb5_4aT7@q@H>{9@ju^x@|y)_%VDHilQ6avoVOsrs-Z; +(btR6nuLrFP)w=lJ_PFZcD>0DgV;;rF+f6LYh4o|rV{$tclC9fri*&nnke-&!fRhh={*UZaK9a)CZJ- +|$TtL|sDkC%n9rSTBJ-X`Eh@6%N?pFEEB`TX@fBQyCbahh_(J`-JzPXDa(An#BU}_0%W)h-Y@&g=`}%xp27%c33$YY+s8e6x_6tH& +Ie~Rdr@Yl5LYl#ft0o~g%^SgUI$qZG@UWnU@8mqk)cy+=QkD`=S$jDnd|oV(?f35__{G8{kef|*Vl8J +m<78`XW8|bjL=z;r!Mpfrf&t_o|~%CXova?iuM=q_OSFfV>PrL4M}6)IR2x#TYpf;$72+Zg`(CH?8&e +I(}G`O9iVj|11O{6gZ&_6|FZEfLa?vjK|1sUrspE7d1W(EUiMN=cJ}t-L-2a@it*P>Yh5KA`R#n_%jR +rKZWkzK429v%Xv&=4yzER*9TCSlqLz#5MPD+&Y2d};yH_lq-8^r3~etUR6b6y?q#*%x6ac76&* +s6Oo(<33P1?T1z8^bEQmuJ&b(nPcU5L_VY>@B=Nuf_Kp+&)VQ_Bw_WT2Z%v^^r9chGMKjrj!0Kb*R|R +I)^<2EW$neYEA}zAk3nB=+OBV6|cCx(e);yP$CeF$UjVJ1>dIbh0wNK6=%6xZao~wWi?5MS$JLa?F}= +UlYA&c$WYLWdX+5S(-V@yZj%V#b#&i#LiG%0+(ibP&2jg->>2RBVbv3UHq@v~zTBXKba0`nHPid!gxm +$ZL*vDl;q*aQR%mT2fdmqFUbailP{!z3<#UrCbQnD-zdIW!f!hLb;O*bIaTsdm +7ILGTj5CZDtOKM+7lbCcWR-@TxyCrwA@Ini@|?kZ?6(3okopOs1Z72WFGC0iC`RUze%zsTGc+8#I5a>ZUZ#y8LWL-u#712`u=29y~Pb}MF +{QpXp(0_|A{i@er5~eTc-%=(FUp>1&(Hb2 +Nq%`0=fVRN#>LCXdhGgD^DqaK3!)%9BtEnA@|B^DHZ+koztpQ~Oy4u|Vb0g8!E&#|DjjR@Wz@5O*Yiw +Hbu6>89#qYQ{TNHUX(J +?TQqk7WP!I=F4NdWm?CNSpXqf|x=eXzGR8Qsrq#9?9YvXp42;_4?4_IDM641ReCCbF}c`GHG$-`d~RIJac~rgOzmG&Uxlt=a +YTy4u=YL&+tah&QF04@6}S`7C;?H$s?oQfVOeq;ELEC6ph>rCZ#wcJJbrk^hlG2C7e4^0V|qnB2r|_- +5G`R(6cBEnzupCpvzQeIe%JIH!o|_rQo43U)wga+AX%xOPv;Impi#YL6D@j75SIY@9dK +V=S_&aX&mQLeqVtHdVd2AjZq~qr<*`VcVwkwpYhGP_`*_Tu)2QQ@P}A41g-nsvbNGthc5696WfJ$0MG +D`aTZsiDU4Hq&Q~ExV;){mL*UU{lo>Ns`z6Ar!x*6pGeR>o2yPSww_FjR&6wn1DD>{0B5i9EIG#P7R= ++=qWq`T1Jy?VtJMSgYqN)m(ujB6JPdTR$`J;CB^EO5#aW4*JF +O_(&$3eN(M}r*E^6}*8Mc*3`U`MZsGehi^2e?Ja%fYx4GbuiDe@yp*9nXdDT4m0%NCCqtqXe7R*?MS5 +cEJ@WOMTShRwSXW(C-d|cM%(wgJ*|4U +Q8Bs=exvPnGc)>%&9n^Cs-r~dk!6M4_2J>xz2s4ee8OG2h^PF(&75b2c*rdHV5A<-!CT#KD1ASNSDUK +ge^Vo6d%Jh~EeK*hN`_;SW{>Dr+yz)>>exT22fn>p%7d-Bcs8(JjR4fI?Yn7620Q9ihE1*0fzM6s%Y7N-~v@ +2m&TM>!BxfrtkCE>LelqB>T{(%3EK_%4cdjLFY^|B;ussT!^)-X^`fytOPw|sTI#P4uHYNbp>wlcOgC +?j0mGx(b_p>F~P3R7@(;YzmvKg{sIjcd@}LH&=vV^Gvj3~FzbVg!9U3V3$Bn3!6x?)JFgbRTe*P)gK~ok`STD5Xkg9qwc%7^Xpex3l!?;gT-*4@%U>r0<_MkNNd6Bes`8 +XtXJZwz2ghNS+8)-QkL~cw<_f1v}3x6N9g-F4HH(r%X`l?u}bE^mEgcra?6!oK6!ENeU_0QQHgO>ttW*IsSa8PNo&^`J6(SwjFXjEK1cp-_UYyR8GF~**@vEg&L5o$ht+?E|^N9{u9_2(y%WD>Y$`KeXOUg}{W +mQ&zqc%8z^1KgBoWn7GRC;=7y +r8XH=&yBYuemhiZ>>^(}&66nJj<$yE=voOnG(B4aB +qxp$>OaL=DOm~KP3p3AMXoO`j_=HJV5Kq@nar_^T$Ip6J^|tqyAvwRyfF-e1(%eOCD!tEnfp>p3wTJe +vLHZz+gW2;>cTG7R-7`Qb+x&9cB6f9b1`|94OL@3n=?7m +A_jOD=*G(TCDHLU)otiRGPz-k(PCHbEu@1Bmz6S<$2hxNm|@Qk^o2;25IuTGx9Gmv{Ne@FV!r%^yEcaD76 +>bl*PJ`b!25rzVhSgKF@cN(|Y7&E9#>!pc)nMN+Mw7a0qP*n;&kOw++Q3=sdOKCLK148Cgb1oQH>GP-gU`5HGtwy*J-d(?ke)LZ=3XNCmgh|o=U4-Jdc3;8vk8@vs-Q_17| +35g*C+7b&#gB=6Gy$U|$uPgde1N5E>O8r|^Hb;=zyQOmp#y%qhcbM1*C6Q{oCtUU`kNGibPaUG-%0%h +{Eo=SR+a!d0g%tgHKGx~Gfb^k4;Wd;rkOSDF#fI81Yd(F)^Vftcp0z;CSHA2DYE*$*6hA)7sKlZl3oc +0m~!=!y~8cYY>j$c*G#RM2w>JVS07%F9w6Vb5I_z7oz(;efWaM$KN9)6z$lhq;{Nt0+~*<75(ABkKW! +C;?Ky+fNYxsa_#JHjkYe_Ipd9r3NICJP@!z~u_4fn+ivzs#?^fIgIA2XCL0hy%f9KzQl*R8dXf4$C^v +}o9=sz7tVEXWy@0pYcjV7cWmd~R^@12rD>XYzrU;%OTipo+ao(@;acU?z +?Tpnz|k7t(Mw|At%`W(C5Cv@?tqCQ+Ntt_2un|PkXz(|k&5?>HT=tt1ZurDPQzj8?0NK+8wNl@;wBo~ +8u4-4)wbS@^^h(**+`Gn#py_q-ngWaKDGVbhNeg&YZICFReLXTa3d;@yK{9KEs;Kwhw +-^3;?qgJ4Ckw8Y(nETelqF24%lcghA6WjIFhoG}%=W{@!(PB=afATp)8F6yN)Fdmu=2)bSx!^-6!@{ZJny)C +WtcI~mOM924{nmwI+E*a)aW&&$lxW~n=N3R=HEP(^*hQ~mR{+F8-4I5g5Ost#&jfdodr~sfE<3=!R>APwVCR^5afh^5Xz;l3Mt4}a1Sdx(gDgr9%_v;PHhM?e(7`1yv{_{H$@6{ +{hW9A1f;Xej=&nihsgap@M4G8}EG9+$TSCWFaQptS<`u6qZqANAuh|xRBc>S6_z9sGDH}H?nIOTbaQp +|!5Q6XZUvR7J)B_*F8|$46nELX`6Oh^)Os$k`$jT_NPAEH&nz+qtkYo6@|3xOIkJoDR_CW}qA6-zSM5&a0oP+Fvui-}d<(ef!DXh0?#|Zp8bb1S(oHP +%?T=m|Xoy=xP%QMup;U-x(gQS(XvH=7pf|3{M(fttenNgjvZJ +74I_YH{6XTR%1=_KC&U9*8X9#^2(2pSg=kkS(mgXn7lb={I0@@cPQ-JTtrdtLk+Q&B?4L+5^H2^jIZ_ +@n*3Yt_FPeb_?F(ub4K;cBbB}n&G|SG5T2kPP6Yg6hy24f@x#G?^>=NgKTZeCweo{%>F;Bc3_z0V&_AMDKL*6U+dx0I7)V+>(g`sO28HI^6z9g+op}4@EXOT{IOKpZCvgT5YJYllw`yW11>U+ +iS87t#C^afcV^(M%(yRJ;d8r-FN$ai;U0UwtYMsTX{YYGTTv1l8bjT@ +TZw$wu7KxW^K#ac_tNuaFO|w`^Z;XWifYJ8ItclfJK_kFhHEdjA*++tEcM9anQ2y;s{_iX{$@krX^q!2mD%#n$5^|2AnlN2}LF*>oLUi7(a9NXj&XV1QNgMmZTWV +($8arKpAfzD64-5$>2J`&9SqT3j3qEU))s3y-!7g&3pM)t{kP3CqYcnl#@FPcxnmhc6SM^8DlT~1elY +J17_9yN8ow4J-5+u7Y;ALqS0SH6`J*PFJ0p6;#CnfzgDd3w0Q(f#HT_8w~I*rcw$ky4X%spgr}58!L_ +7(v>fY`ImmtTEAiJ_iz@bIaqX2+XT=W9IaXHktEMpxL3QMc&87qGK>@%(_t*oT|9s;!_pQsMEYJH>W; +vztK*41gzruX*q&EO-G-WBmRRmp1+xxe(-=9;Z;7+7jaxv!?LNTfI=*71m;t=!-f0CRf2`9^ItUn)|Q +miyBNPW80hC6=AUjb(9b)}w+*KK?bi0;Ruk}pRG}Hf)vva@Ny%}vhhXDdrhgW7@UV@%uL+T}4@$?M_j3hOEQa)a`1p>Np~M{7nuHtBplV}W^|Fk9I-+0jx3<2l>gE6R-tXA-`)+3>u2* +PZf=7klvBLYcI^sofdV?!0g71{OOWS``w`5Du{!@~7G+jZ<>iy-aWoQ4IHhZ+)Md!)`ywd*T4O?)gxL +s*8m2Fi3v3EH@4x`on{>d%#ObpAPyOHfXrn3YTkq*r>wAA(g-m?Pm?|Lx_VncUylLWnjvN9N19w)rA6ewo5A)8D#eplu0C?6IYDm3E1t>#;8)M!*TpCrIO>oV624A`Th(e4w74p3Mflrg+ +=k3=CMsl%Tn;yGGd^uTE>6O~|s906Sk1*9pr_cvaJ^7=*4e+x?7%FBpc8e&d&UcpVpNkX!k%>`fDLJb{Q$7@KN`hv<>MOmBF&;I%C!zVcx%rnP96;?=v}Ko^u +h(aLu5wIn3(O0G^rmHliYf|z7Xwc}PD+B35`5rmOy=xGzTdV1<9Eyq;o-^J$MZq0TlJ(1CuBrfsWb7r +_1IeqdblT!TyK?LJT|n$A6eGn?gl}@{fl{SPD=>U>1m>vjaeebgP%Q4z1~Fo%1S}v^5UuEwHSW=`?L) +EH)z>!`uvubVL#>uQS>hZk=}tr*qebd_#m^Tt{7+Mn79tN^Ph(&5Wf!1kt&b+8jnlB&a;=Ty?o<9AN&k$laizW~k@6aBVpVzuqb9nk0Dp +z|KS!F6s07pw;?*-C$1&#meo%#0q_E<#fY_YOrAYMwn}KOG$2O+a0tg2+}zf<-u~=J1d<9(s=0`IvO^ +ovv|1959I0*$VHyD+u|~9kJjiZD(CY2?5O=B-K2_kUHs4KfqVS<$aeMOBCVYc;dykn#RAwTGIi +UUVIjOYD$k=?SxiV~cD{MYm4;9+Igab)CD7FE;vCU|VaY$Nfn2?&Dg@%&ZU_CsaL3^vW}}=__JOACUG +QUZd9~W+L^dLPmId!iY>#=M$2GY=Ax^(zca1rw~xb4Km3qKR3D*u +VUJ$}t-d8^|6qGtgJ1v^GZu=X3g)KWeZu%SF~A(flYbK0w%;J(ZP=d5LLT&o%u)I9~M00&)CTM?-F2-=d?)`mC-T8GAZzQS|6WU2F5(QVV1q +_#Ct{)Rd{<>p2%A9iGrdXGC@wUs?2@HV=ih)15V4LL!A&xvD5S;~@RFWjLIgz_TyWL<#Uj7Rh>nvvvjd+oP +*mt3~bIf&Cp+2d{)3@TtFk-PIEBbOpsLo8TJrm?SObWi^w{l}PMZ3 +>TO(lD1*?X^i>yCbTJ4aGhSo*=_M*=x;uW;DHp|RZ`l5J0wsEmh~+%V7zJ@PRsZSwwI$<*{b(UX}itS-sd+Puzb!?Z@HRo5hp@Tu|%0md0{H+FOm_MQYT=#3#M+?-+&Df-4RiU|rnY2MI)~mkd{a2xw$PtRY(2`-HZXT9X&o_^xC +}raS!C|3?W%t`3tzj}(3HCqvMgWu +uyU=0zznls^d8e)jAuIm_EnK1IUZUV-OF>5*`{q|K;^vb*ehsVR!xeS;$xjMH0HWA)kqsFSkA5mk!JP +C(0e%e$Iwji#lN&e@idbVLluwXcMzB|=ayTqgVdC=TMSb?h}Z~yLvTZ6=&P~sBbAHVxgMir{V=ZlFFFXD{EU>3(PScPz=|MK0y!b}1=5j@UpYD-{wBp)J=3Om#WE<3Ft6ai-h?a>)S$X0BiN`fM- +1JkQea-BkYnt=K0f%p3QgVqInyV{*Tpk^c#a!=d$c^NM}|j-M#$DVA8OJA;Fbia%3qhyY`gQqGOKM2` +olPO$z!+)LVcE8)GM1g9~@%CXw+A|e{{A=)m4zTgKf3=fbMMvUD7tnF-t#N^ +awZgKgf|^A7dQbzAPEn5cpLmls@Tg5JQ*69u*|dEdnX4v9W|IkSB70L(juRx+hN`nzS2JHKS>>(waqQAN +CRAo_d|UeAn>eO}71l)#~COP2i|;C(?LKaPkOr%O{#1udar}q0;R(xpxtn-K*5xJp94PJIJ*|7=Ic`nAPU46 +P>yPG(9O4~KP;z8p^UzZrneWuf3b!C +e8OMm+P`f2p^)-V`+dO5H~ahre+DP;r(G={*=EqOb-{<@O}r#o$IDT2U60ZDZ!lO%K+AvP%l6N^S_rW +gPVi{eGXsgWT}6Sbq{;#^NW3<%7ED@&*Pu=68(pWv*10f$!L47Zt1W9kx$X)gYguNMdL!3^!A<&wjMm +E_*a|GfdRJ?qW%VY3R@M@@shT3l%2x)lwJWzAyTAy9t-Y|78U0&naZcJsxjz_5jQA-FnZ|xtv<2PZFT +lF6zOCAVxsnH*IguBe2eGsdpMt?m75I79M}tw&2J2g&Qr;M{fJYZ +{?HPV2UOADy_-=CT&wXNyWOsb-Qb$l=&Dp<>=&s!x1w;x{U_?&U0a$I^t)1P;p#h$=d(}8 +EUR_{dZ((rnD_t3#uSTZSiFUh_)|EIm5Nu-+`|Niwk|&-3Vw9FqujzJlyejtt9UM)&bfZf$W4JNMRV| +?5g=Vtd^=^r?^ysszn6h@*Y32;`cc4E%i0Ud^VBlk+(KIYaUb^#v9nm{JSwVBLUr<)M9W)=s ++#Smv6^k;?_AD)i;<_-YC7wDsDaizYzb@- +g&-kdX@B+ZEeXgocr)ozXkYA3+Ri|7UR!#f*mT!vcP8qdwo@B?m!&X3ZdK%yz4zRX9X~~Py6LR`-F2& +50$=j{P5UIT<@ck=FA>UQLkATtCl)R+TK2l+KH@}6+P++mBWv_J%Dh$6b5W`k6cijvB=!KJcJY?ghx)8^TVR{ZYs1Fna^E{8}$nTrmIi?=ibby#NarwvfCW#Cix}twM)^O +i?0cSVQ^0w3BeT5OAi~~lF$Mce|73%D1-WU`75;5Tf=!E*nce8xP(^sWwKI7O3p+nZ4Z(wOW7HcnzuG{Zxsls{hn9nCMB4IX<_K`Mx44Ft(_ +%7c$K9*gcZ+rYdVO{9Vjh~>`=p%nJHv^KOZ +{pgqRVt++~h+G%?CBLAe6}qA=W1--61|@<%*8trRjl}={GBmSNTsLLW1(rZ`C1fDrno%Xlng?MUIXB) +!VM6>@)>iSFb4456txVj_!fMqMP2SKif>*bV%Hs!0UCpERB$#^(d7}z>Nguhp^zkWju?&#@AY#2rrF@k_c^U_2)BHrk^3a8%TDXX{5v)$-f- +44}0}A_LrxDnP<1KLL)P${jEG*@lJ{9USC$2%Iz*FxNA`iHU7mV*l*f@IKN!Dho!g+ +*v^7XmHD?W^>p!a^|egJho(m%%6Nb;GaIsTMClE}|N6FQuGYKE~S=g +m|TbfTE@i9CH<4Qt-mKT-F@v0?pFE#aq+@8Ix%)NIp;?oYPceiY=LMoIke9X(SdQddUvr_w{$I$aGnh +zXxSykC-qRKSlOT@@-s0lyyOY@TMx5&b|0BX^5wfr_>;(F_1741M%C`jm<~gRsS+v!_(j1y2*S=7x_;~48WJrjmg)y9NG2Q +HLBz_L41!HQli2h&SM}{r0URb)NzPz%zCx0}p$*R$OeL1%@KxN*-|RM4159u&9g +9jW~At*U_x#21&*#I)g=r7vEr~aC=XmSeucjQo1@JAcdS +$;WTi!pB3%LRBbEpeIxz^f5Rnsqtt%^s`u5kpuyxF_nallN#A4Ig@8ND~opl4^Zg$Sur#RTDXN8Dj);9|M +1JKTD>KPezb?djs0Sq$esYtbA;lhTpB7?H{@mY+UNn5jQetxSlAOeFZ%h!4OJ-3~{1*Q(GRxlMrsvk2 +U3F(M)oY_zU(fo(VMo^4RT*}lG~EQRec7qrm0Kb<=#1Nc@lPEmG#K%{>0X^FXJup?W=nbr=ahTmO*0Y +_6P!cq#{r0cixYufhm%T`>#??;rz3pGJGZr67HUOv!`QhSFUpQbYvhXeA82-v5p((O;Y=;4yZM +Q~~>9v=_&4sf$u^2&M9gzgvKLD5KY&^=)_xwPY>bL$BBYH@MCr{NOB1V79ys3#tHs6y7{Va}i~HDu-GT6;S;rgGZO860YAw3BxC@O?NOid(n$M%?~5<;cx+VaPKMm% +p1{?*MNwB?5(jCImD7qPfGK(IHhmLTd{=6*OPQL&IJEp7_MpUnC)!KZEAH!Gj=p21!G?cpvA6QOUDRn7Kffa8*Z2Pw2>(x>_M_H>ZZ^{r*xK0rS;EI=Vvf?eiO|veDxB%~3w?$TYuozkM-vu25>~GTl6=4 +otC0G-GW6L3H3vkKT34Gn+6?~R`@E$8m!tB0lp;hzl +CCMonz?Z-$8Nx$;wgyAG4)5B{UK37M5P)*<&spw8DjNuK*r<4=##u`oOkTu>T#~8sNKw-U_o4C;e$kJ +OJul!j_zPULY9$k`k}w;%~OyKfm?&I|u<YozjAVBlbI1`A +QwcKV1S#CteotIvKLJSPe1ki~4YJP2FVDQ;aGpF8wX>UxBWOUf?CxWVNadcB9+1*k&-y@nN_>ai@Vs( +6cFWQh4%fnabx5*{yfJURqo$eo6o@23dXT{kcYHT!*<=5RpA8YkNt^0oO&M6`n;_s&9hbWjyg)Yj3^F +Y3;qZJ%uM^kzOlg&I^YjD`*@qTSDlC@tcL)iIW5kp*Cqcds$f#N7x2d8Zm;5roJu8;%i*qTwnGH2KlY +aPs<|9(?ZCyQ}^c)nJ?0D5ttYfg!9y9>isG;g=j9^`IiT5^z1T22XiI@h%YZ*Nl^^QVa(`Wl5U(>>aP +I<0I#e*V=?2j$Ty+b70+=0oh*82j@wxc$n-Ox9nxT&4|D0e*qoCqnNl_*|TZtjK)4gu!Sr3!_sb<27bb6<2*U3Sxq=!a4y3v*YUl#4 +miuq5;mhI2stcxB_>1P>_T@g@iE*`YNwYu~`f=#)7IO+QoN2Gu()MyV5gTC#NyF+n>UV{SSf3t*feyz +yJoM7<8N;(Y4U^m^@T@?sFt39}ui!KfsUZn4r80Re^H>J|bfWlGD-_pbpg{pix{rA5ahCtID!s<3jkn +}TWYh2%F(cQkKBP*9+uKX}UTdUeh&My2)!28A;30`~QClpgw}Qmt6-;-c%Wa*$-ml{pCIjl#H6-g8*; +L|HO9VAnr}XQA%nM^(nvKl@94559kX&^xpmem3~kUxM~MqM|SeBOn2iAhG<5fKdpeC<=m55W{c`CO{k +~KXU4d%B7keQqVIA?l?GGrk{!NQ2 +I#luQU4gUzh$|TVyx~J{H)xSS%J1B_s4AmaQQLIJ%rTDWdfbe{d?An{BTTlz6*T^R82gY<960%3NJ4MXPkkMztjsrIA!wX +~}uF%4Qic;Op2-;=ktgm@k=)%~^6ENL|bL@(C=P(&d^DiSO&yXhct-mkI$3C2;s5`!lqlKS{qOTOxpp +3gPDoN8BEZseU!@jE~Med#P_WJJM92@39xnOw5$e3whk?7T? +K+)lE91pP9~T#S^`hIQOiPCh9x0jm%RK +Q+Uy}Z7<8yGnWUnqpVuhJsi1&1i6O}B_$A7WQnl$2Ntk|)+K4UD|UtMyeiADPO;yIfy)?R6YFqj$E~< +~WJY*kuNSOZf-dv~hWpT)UYIV*fU83tgJ*ogA}>>SMi*n_eSB~-q3^Ry?VhnuU2sIZc<$-uBC0>dL^s +$0ae8U(wH5(Bl^r8vujGYP#n+KJQ!0Ia#i|oEB}U5w1IeyK<7Z_-|E6&WODkT6gunD*M-9eJ1)O@vi* +}%nHfwi>qtCeIxo}!{@OZM&&r1xXVVzQtgIV9+i|qaymcC5|0&jjG%6#4{vd!jaLeRVWj4P#ld9bE+o +)>`r;wSP|RFlgEMhIJGpn2d;>Vl=0=y6#W4$DL5=v%!m79x{cmAnL;^crGf{UF^g`$A7)kecFwI}wV} +%7AH`zn<{pSz7Pwatg6nQK8FiSzhdm{d%Ix9LpLWF`)+-uR`yFDrGAzYsCH*E`1sB_~plY%fy`4lWQR(2HEd4@Bpjveou=otQm4J=KjHnrTobdcm3$Q78skBQ(vyZfd`J43$ +wp9j~=~KgCF=g%*3hLdeU)}yjuy;VqtPb`aFRzvbCVV6?e)Fcb271Y5OiEfSXBM`x_2>#{QsF&8~B5N +cNRi+}u*By?}`xolkKKM%=ta=+~JWX{~1z26~xikk~;0-=1!oexYaj_Hu*x*rJ#Fks(UwnpEOM?`Akz +BFbS1^yuUZ*hwx1mgS6KCkDB~=bN!7CY@~l2z7v$9Fl5=`Zxp5y+)C#H@cs{ +Q~sjFuvIZCxADF`E9S&uREt3ql!$C_*>?ZA#A_{4Y)&)vf#t`SY2aRSmFAr}KDh2xgIrbp;kwabIVRb +OFK6xT>sn-DusyJTR&C0q+b^h&?b>Mj}k2XCr8G;zv{E`Y{$pULI==gOH}mS$^M^cTHsd&JRS68ABPc +mDeBH(Y>d*%mI_J|P_Z*C%@q!~Wq!-%$$)2tx^opb!*-L5w6w9ENa$pipWF%?JpEF_8RJg_9)y4mXk; +5v(B&7_X%0B_vw4ugEo|qJp)0;gg#X1N>=N24dUH;Z{olqjeB5+GhE_6j)ZT?Rc%XM9EqKS%~Zz$-l&yzm=DmSwkWAZ_W*4!QGIs9rjzJnht +L^CG~^yEn75w&B;cvo!ELi=kb}~mx$kBCi&+A&ra?lj=ecqo7g5bQVsrhI}W5Y0e57OW??L{JF;*N9->}oJL+R*ck+l +YG=MzCF?GL0E4AIXM&#g&$T$U`X28Bv-ix!R@8;e?+C^54i?en8b51Ma^E&;R5^KLO|WC;6U_N1+R7Q +W!;27!0ByLZB1|kqAuT$O4@xh9W5b8E6vJT7UPc%|d&V9zy)JH^0E%lK-R0+LcE)9^HaO@aMIR6$i<6 +v}idL-!zB5$PNV?dPexlCr81zW(1t9bUJENS3-V8$6K#Rt|Wj}r5atYPLM0@4#u~}J+|`3S0vru4K^k +05aArQ&B53>1$F6Ru16@qc-x1jmhK=Y%8aAmnZwHk)i9>OiMA4l60Mg7xS26OvA1)B +6AexOhEE&6=W(%wrFz}5I>SpQwB`dba9Z?-7{|Cynvxw56+3`NIpueSD7zY$}38vGYW@qFFK-S)xmKm +dcI#L@AG8yl!K9$akI5{ZwV0eoDI*gl5(|CI_Qdhc(%vm_p}VboCEnzDRhk@!0KazWfq=c0Hr0IPEf? +VT&*&LZYM;zl8-Eey%-`YE~%9!*R9aeksfO6-%_=tk{zvb|?`cp`3fs3`)dZn%}iIHJpn1b2QPrvt{6 +)?P2bq-PSeC5V@-Mqq+8Xla#)C4X6#o#Uwo2^v2%9e^V2J{s9IS%YuUx=Jyw(iV`QI$Hg}L^O+9>R8V +^K9^jnHyz@N-%h(*n>R{gtX*7)dPW7F>T|4B-H>4=ay~Ha*?;!CIZ#ZGNkn@pW96}*i2h-);K^)>h*7 +#)fzEprNF$rLTj{>j`dZhsEL7`}Q4!>M3nqhZ&J2F<^g9%H&hDNo=l(c+XMS-8KJ}ycoXY;4WHn7;SJ +etMz&Ld!DPJ;S?74!FD9|zoad_)DFzIlp>5rX1+xOQ6eB~9Ycq8$nB=0(iuXsv-UX0|C8c^)yQaxSWJ +^y?F3*dLJ$PxFw!HCfP^b+7Ou8gW=7hnvWdnmKF*_@=(J1e=vW$i$QeRFR1@WsODCUed!38Cu$boh%&>z@;k8JoDWpwf?<|I2g!1fRb=-?vDLU>JgeAV}aS1TKjv1yKZy5(r2jC_<3X@)r3iuRTIHbBB0Ufx*Ic6n2F_W +Fx0zt0rHFt%$nd>Avpt#%F&h?1wBw_T4jBUw>qyUv +xPD&2m2igCB>({&6-;2^7q^l)#SC2}}n&r416y<@Zwv7JA@~^7CR9oL1FKV)r~yO_Q_Zc#5Yx#k!4LF +t+h9kfUJ(7qtV=vL??wSfqUn`7=^_pW`F4tdURm)pfHgxyYYp75OM=nxd_kyn6`y)jnO +pX@rfl1i-AfKtOWr}}%1nuiWiw3qrM!(8*)>LGyi;ZXA(Q5!hK%jE(YfRtl}>&DF0V$0Z?j>xT$Ey{d +h1sIysxGNRVXKsG(iMng-1~G+GEZ~oi6DIer>ULN#MvyITsk|Ru7ltlWMsVLa;fr`gOPe)4KU!&8KueE9%J1H`_vu +(iZu80iRKS6I*G2HTh62lmD{s5YY!9;vGfSPim==rC^>N{{6G0skI~R<^uun~rpp{UD!7E;Y$vS3?fh*M;+Bjk0X +6qRE>ufT*ASL#>VS>MUJANTbC%?uU+%|hupPW_GcKLyCOYyPz)DZiH_BjNCr4(b9L*ew#RX@M{^tgLxm|APq~4>N6jXk>D^W?0{(VbURe_c> +Z{ET0ulT5wGo&({0s^16**J&;D#`qDN3ZoF!PBS%|vJ7c+Z)}Oag(-kmcRlV!S5{J;P8l;V@vrG?7MI`XLs6Q5P%AD8BYMzMGuv^sf_O*yrR*iMG#)&91 +|BmeO|bLYtICao9bNA7>5k3?g~S72y`Umwk2PN6grmHc98gf|bC%S#sVJaUpZOLzp9+kDXJzbm`^h{E0Ks?@qzBLQ!Njf>vC^BHU*C}j_!)ZGyO2%6VPL{mTQY6IMb3{MH_p^)7|OKJnFyr{PgA8GXW$f&<*zhi_Gey_!-%P)q +)B}wd>T5Tq}o~6@Ngy*-wFJev%`8MH98ofxfTlfvL|281E70RqwA+PVOQMA@4UcZu3(WdT|5TvB8+R+ +V7vY)c$FIE2J-GvlnUN>Hc4d7=*@seJ|FY398~arK_Tx%h2(`3rRhcngLdkSu!J~D_oT8oRvnZ*_GJW +z&OPA#qkUi$3^;Pap>9)lHF8BG=*kcS%X&18!`j_FKJ8w*ANg0HC!TQH8Q^rcZ4h^+(L#cD4BQ$x2c+ +d`vqV*~?We684gKNwE5>HtF}ZKt;rRIe2y^Wny4-4L +2g19$QOtTw!CLK{g!{NlIz%3>`YdPBxqH?SgVSkBh1=EjMg+NrdBc21X~B27tllE&6|&0n|@2exZn)3 +wHFuIT7^XYl^wlOpvjGmjjkxRzJ}Hbr`3-STl<{UZ}meDuN7hN4}>|=r;Zl+3*_Xx;j_T+6ZKA2`k^3 +bL~t>O(26o>dNspQd@BHLwZ1|{d`F#4xTt_2W5fX7_{5CFg6Z<@{MyUoBuL>F#Nia^OE2$-ZFlDIV-m +>e-1kYKiA2qk@N8(aizq0}>gZ*NtDsf}2A)#*;+!)bXwtn^bI_pR!fZdFGX*vgJ6Pd|3XE2 +*D3cRRjXi|!8jmB^c8I6ZFB?RaGQsUl+s{4IU7IBngQ3#ajF-&XPk5glt600AnT)69M5T8*@@|fil-~zAQkYV3>g0W=@!Vl5S_ST;MmsEO|3bRzY +ld#LZ~r(UOll-KZ)jUT%l7MA;gBz1Qf>n4VK$`c%zZvBR*>r~?!(zRE8>K5%M$xGiV3UeGk_$GjJ!W4 +*gElp#E;+Z7%Lg++$bofn-~Tt#>3j?^GL0m^fB57a~LNUW?PgL3*ERm^A;#nG;TkM3hK!NwHDOE9RWQ +ZHFNDcQH36(YB+$EgW82>H2*O^&Ow^D(=zBpsgIjJ|sFlC-utH`7-%E`wf@&d{B2?0du0dkG8E4wq`> +k^#PeQTLc65!(SBf7FOcryp%&7w{f?IEe2WJ2#rAA`jf~&IZ2cOUED-GwXcDrhHU@R9b=(nDxbO2a|a +kbC2e139yTvg-mFVh^g#(7dt(*v0VOe-eZ39AI^f0RVkn~KJgg7{#i}eo-6_=TCFf096cu&Iu^Vb=N= +V#Mt`d5t~-CWFR<>crEiL*964MJnqbl*y*XFLzVh2p^XX1MzjGJT-1Oa|5I7;nA{3~3i87b(eEtf*{Q +l?l_rDcL^v|cVHsTi>;{b|jB+U#B>sV-XCBLB@m?V*k;Ca`?wVmuwFvv@{EJ6SZZqsWyEMYL=L +>4{e&r>4Lbf&Az(r=`N;~S0R?S(>gu37>P1$e&X@>3pBZ+7{n0ZtKK#A+zOWgF`=hMY6nkW%s5!&&UY +%tJN7)3Wg1E+K26B6)v8b{8(cMXj&&!)rGHp29QLtCDM>b-Cx>buUt{2lxE?;!#x#z)8R^6ne1nQ+w~ +TbN}d}p5D>yd1m0atTH&e9qsJP!oQNUV02t;r7TmBj;eN?{bNi}FxnI%vyw#xU9+Xg`UflL2y?*{l +TsQc`0eiOH?50QP3+s2C^CX|XQNr+C#oh!{VIqqXp-9_gxXij(Bnni1Tl`_g%IEt#E(gTMXOeO`ZdF6 +mUZaF899DWi@j(TO7e=008)%a$vusyAx#9qh@J;7Y(g?BqUhp*-$Y#KAPXrzh+mWa8pa`p!Ds +Vy^?@qr#t>i46?D8M#9)qCUq?4^X`}=wvyUYru%O!6s#Z-CEk`U-}Jq=DR20Ir@~;JrI&2cLvioP03q +H+?AGdxEu50o-@8{j#fh(?U5E!9u6z8)XIldVL^tv*ufKWo*j;WQZwljyU_B(by*DB-OXy^`DVY1Ea5 +bkdcA~l$95v_++1>xQDmrbHj~5Pv81#MG!YOD=Bb_QMn!Gi7ko0E@4I-;Um(N{;=YUBlixIbU0o9)5X +93&xf-ZHi)uXRFI_Ma;I1BCPX@U$C@G0e8HRD8z_NpAqm)GIL96Ou9$M*srMnphUnPbp!d($kJUn<0K +EMGi+oLlggjxw>BV(&)G3PY%-j4^wVb8dD)@9+Df)|^=AfaDKrygmc8~G8p0c+s)-^6Xe0q4{q)|l?z +1ZT24Q~?+c%^klL=}&RnXZr&0JO4x6#{E;=25jEa|3%ye(Bef%W4Zz}@PZ!A0c{#4f#|0LQJL$Pf?wt +?Cu&EifO$MW=z>7G4~wxS;UV<;tpV(#80H!ewMHHFOk21|!W9wfklU4)JUTRd@&Y$K&Ue&WqK_$^uP^ +kh7xs-io^OvQ1&r*&gGOp1dQ7YJBlC24)*V~+Daa3}2z8O#pAg4ho+57gZ2Y`}%-w2nxjfP;_Xd!OoHdLSC!4mzW~B8=7BBvzTKgrFx5pBKBdC4%P@$OPmR?cpV%6;v8? +e;EO~$+eUQNfQateefs3~vT9jqwbP%kmpz7u=_0Grd@#==A#+#|mS&Pw +C(G)yV%UTk8IsnzzyxUpZ$S`n<(0jb1a>KPl3XIZ(lD&{qh!}W0X@Q3df?hd%ow-S6_;lvMj{AH3*Rj +08lOSQdvW?B{Z`yvZp%F)=p0xsq6q_-mybq)hYaE`%g0y;r4!PIR%bmFLxXc;Q={TuPb=$4T4`N7&WH +b0vTX0boF1ke{q@*L7+c8#dnkmn4m})#xV?90x1ed5Ew-ugamOE +!6_12-dz6wv*2%ukl-zN`a+Bc$+h0L235!!LPg+PM7V5;@xO!54Sx`Lbqs=_wS5EyYg;KGH=zJ{6IF- +Te^$BKXl=_Z7o@f;tj5^CA|EbquRhpYU>ahpxnu0F1c)U7UDbr3wJWsxMTVP5A++hBZ~lz1zt;Gc`-n +Hu+BjH4Lx@^$DB9H1mrwKu3h2q&-YE5tmXIJ%kl#a1cQbJpo_e@{@b%}6efKlYgsm{w_i~x4!B+p?jQ +LTUX9>M(;M*Nc@z@0RVOph9{#l#nE8h@M?%{WY!%gbea3^IpG1Vx1<&geFI8-!uIDB!jmH~c%M9-$)y +H-DnxNxh8%Qx>|mpkZO=ZL+}g93kQb^R-jA+T9pKT<2+@6AMns)wuQF?nOn2}!8>DoKK9FTq(`@vDy` +1@Ap;H<$eILY4?;kSTz+1DUwlYJl@Yb%Jj<4>!-fYG*V(&eZ+oH!cguAa}oXP!K2W>tNc9=KIu{iJ$J +B20Y0M4<;;)M2w@N(>$&wRfX|UKeL3aq#SCnhIhd9;ZO|H-EuPNF&5XBgNR`a2Ob27m=eO6dC+YNh2_ +gB;UJyH5p$^2XBI5ghErMDT&6Z5gODhcce|ZOMqLEu#2rIyAZKi|=OvI=cx)H&)ukfrta1*|c4ve5DK +2-q+gHd9cZIGi_arnBKFa9>r!@$+QzW1~Q|_*r_-^+5q1!#d{(5C9W>l|lBtuXduG}w(_w<|1$`6*m- +vu@&b@?`Up_T2~i&`E6z3(2dR~;4XOY0E$ls9;2hGd$fZq_c8>uIg-?{p$-NrzVvK@{tA4T@ERaKjY> +a5laKM|PiUZm!)i*?6LlLua1M8$yb3oYA>C8YD6A(sLDikl}Zg@6Hc2RTHC(g#thW!n7R0RgHF+@7mY +Hl&4(Sr+fCGs&}P|H2|5;J$Yr(PKrQ&rtn9iMu^XJ$S_$RQ +W-)D!(fQIFle1VfkB^YvOaq*TlW7~_<#QegCPFbcL)BjzYg`|FaHZz&2jYC>ly!5SH<)LVE%u28}ESo`7L}4uQ-Ll +6tuu71%t@?KMcp=mFJHTBtbwhg@P3LDZDNS75W?9B3OMn!gy^y1)I5tA8s1%{tBEvxt3R;&j;ctXd^g +mRTU&&D;QsdhDdZpIh0)6Y817}4s6=_T +m00|C6Ak=lA@6tV6QY$|`t%`aC?(5+8~uAMqESVe-U-%=9!O%Q(gDz&Tfgk?>fMa1KgV)tj2dOm_*N$ +s}A&$1`qRW?MecAW_H^bd`lT4CLHPG16iqNQUj&#k<7W)>td4NfJIV8TagK8aZkq3Dj!|;y*fcz}BLx-f#08`21#W?VD*kd?iFUI^2V_z1CD!aO-eJL=~Bddz}d=L3i)sPeH1Z%6tXr!W->Ztv +f-6zwciJ3k`^BgI#_f8hyqW~U0e)JsH}2;q`|g-KoJ04|GeXq##c9SGtv>rzRpFY6T{#Dg@g=jnlE6R +r~tbG~Ia3Vlp!bRNtx7rWJtHNyct-^)H7MoX|LkDb});Yfy#6pkTN;q!@_ykl6X?O`~+_9g;8*hE(z$#2UupFI%&7d) +u~;K)(76B)k~qaZIOeye?Rr(fp-3`6lM8zr&x5!5#+5yH(Xyc*bhJ7W4$ebK9(rOKY^0OGOd|e)legQeH!)F)@z)6=q- +qZX`*x(`*naW?N!`Z|i|U?N3FRh8MxmzM!<|^~6<0fD(1~lfJodiemu+zxVk}6xd*CDnhKr3J;_gcHi +l?VsL{5z*&csY9`wPs%hh5U}kJL=q)%elc8Va`A`Q_c^Iw-nY2E@OboLJQplQr!p;%#(r3zA51%i*^{#3kFOwt-!)N6%g$xOwZ)yyx0y&(V+oIX)Dl9?taJsKw0J?v$silAD?_+i}2`1K)z6Z0*{3eV8$~ +ciq5votA$y9SzD6Q%rNXz9;zeXanC|{avPYmJST$mSf{iKWF_vCjG#B*8hcdWPTIV(CCjb&5t3?`uu* +L-S`&|aD9HjfAav}$W#CM1N`Q%@Si=v_4xtcKEQurYS15-udM9U5Kxu0(!Qe886?8wG?1D$5%P}P$=4 +HR4cXn3OzXIJ#z&ZrnFVGz+qO+E&-Z+z$+!o4XKp#4HxO}=>SX8#kv|eSj +o1fAC52caUWj^zPE3AD9wN#-8gp%Idn?C;3A_Lk#O{#UJNh(j4($KM!HCc0;714R)h-!B})a_l3`wkE +|y#cfI083ulP!1Du{PlwWl8s@Ny>7Z1+U6-Mp-F^F;MD^`IaqHxy6QMtVZ7xu6RMtQkAt!8ZDc?k$F| +^1H2y88^i3MQ=b?H|a(;@G +L4Az6_y;2J}cxY7v;OaMoG>lTmVab?aE}>PFX@=s$<$0YfDO{dW?ytVQCVr%*)rO5uilCsbE2OuRI$I +9?TCoV;3@D^He%jIP0fRw#`iE95_L;i+N9Pt?U5{NP#nlTIqOYj`x1X$|YEf19%$GP9`EJeF95iq=X49BreK@UMJ{NMbcV4ZpNB( +3PT#Y;z;gR?eW{^#w+)5e^Zp@kg|26C}ys(65RmO8^loCf4;nfol +Swouud%ORYvVv|_vfG$v60Qx3WHT|sqQ8mXiaK(ywOG=!U)6&y?Af7HyYV45*>jKMc=N!|^_8X1dJ)U +wg}(P9oHq}i;_Gk-HH8c6yrIwtd^@Yc6<>^fJWHFF9R9~~%oW11RSf9-#bpmujAiX#-oR9jhSpgX{S( +F7uM!2dae#ihKo5i!(}(4kj>oriEBx^8&}w~5*L*fz3H)-rQhw!WY+G~Uzz2z74f0{4Rc8Hf=H9GZQF +QGRz2{ft<*DI0C4IBUI2ZJdfYJ!Us2h4j8Wj}e*B37GX72!u*FKOA)K +}u7w%g6Jy9?yo!D&Tebr`wDOGGO>@Y?+k{>fxq>JmI!4MByXs0SoHtzd*da+5KfC6k)9f~ek<0ec?r5 +8L5**vl49T2ySZ&&jJtGL^e<{iB*^1KQ6MO!CLNj4y-@XH-Nrxs<5gZDm^=Kn-i&n-GyzQ8Wx8{7DboOnI}azxOv_4~gs?XPZv`aGpZ!W=g0f@l2A@}`% +b_1dF&4C-{-VoLJRmAr{3TJ@|uA)U_;B)Q(Nz+(=_c-K$J3 +P!8s#2dj#ZckavrwEQA*io8@>(>#2;QN8IgLv5l2QyH`^q5p=UI+mry?5;|eyY@Yd9~)*;jxIh48DY3 +NGb1+QR?h^Gx<>YzLxGJ*KI)!hU*96fyJ8&N#E{>BK6j<`)G<(Pz1>Pm?B@^v$p)1vG$2AfJaJFo6&Rj$$aXP;z=9<0M1T1oNSo!Gc-&YMcYm1_up{3p_6L79jz< +Uf>ZxO$4-y!CcJ8sz6u-AdXslFc;_o*5vRil#BysyakQ$H!Zu>zc0Z7RnOO{8sukPnK%k0^S}TN4&Jv +=@&(_389@xH{R^a`@M?dKfXPy9)k4l=&XOeksf^TvQ+@%3c_317K^B?`Oayj+dP +dOqr}R5#^e0*Kr|D3^U7ozi3MaxgyJb;0pvG9*+iD7gvj&~5!}Xb6GrKl4Oqvn@QDL^z@#HL($m=q@2 +BqX|hvmhFG_F;tgxRyA^W^28eVXYbXe%j0WW-i{vuVwgA69?%kFxQ=4+OHkp4$_AdDNLf7^t&XZgze# +wf3Ov;r1dEUX*B1)vA)xJyTotd28UbkwXgF6i>Q#x-+*Ecex#;@s_9oixeEk`&o$l=03U(&#t!JR)v) +2L|nH1jrR1U2@B>L1d$*d=go3pjtx9TkXefCf{50ZSoXf(xJH5GJ`+{OP*^Sn_0oK7cZc(d!>Zd+Lr( +4Um~Lpo)9)Hz7O{A(H61VYg>RnW)1j@ftMJ7M4<4Z+?0(A%@6WUdc8tgw8kb+r0t({<`oJDf84?2?GMEu!(~1AvfXMHSy|DkAZnXC|uz%_2<~(HScfk0McJL06f4}j!Dtb6ZEHH_YIE~`W0+kHD& +`Fwr>E#EF;W&vC)Q4jXZ@%gaNapKE0EGgOAxMxR2C@LjYHx$Q8=ZeFZa|VC1HNGDf?@e8&cm!(?S?N)bKXtYJ-WDBJCwXSWH^f<9y`- +^iAL>%D(SFH;lz1=VS>K^=k7X5d7=RlPd +7J2=Q>D9%4V$d-WV~=$Lm~6IV7VS>%L)lOdbuO?n$hxehUIxibjNt)&i;V(yo+ujzyMCF^ +D!Vcy8(dj6WFv3rxZEPcx@c76b$4QarOZw +=mieY;q?Kcfy{JA(5ubibQUBeBVg;o-nvwF}a4v#TRo!CsO)21Wt$1CYM#yS?rz_CmA-SWI7Q9?z!JD +tQ`uiKPa<*Dlh-#boB$EX8#q4X5ZlNkMGp~r~W_r?;F(rBRhP@_21mtHvo^23+ZK$g$bh!kjP#BESOI +b1c}ikji5M9El+%y9$stE3kWY17+AeW05y?x&9EXMG0c!)UT|Tf3!wf)Czrwj!Y=rmV5>vVg5MY*#S1 +0HV;~U-dealoVNT+}e-BvR5~~G$_A{$J0zmZ=6fC@W+3!MQsc1dV1c+V$*INqM1|h4HPqb?OEg=K7YW +p%2;P~)*uowkr2JC<$@P_470N($)Rh17lwuZGv;qru`UyKJZ2^sZwP25-dxwfiG%UYy(>$;PChuaH3{p?)_eevB3fDhU9O<8!M%qwI5 +To&fe-=8t`r>Fe=8AE@1%HNyI|AJBrm#0EHhK$Lmir;x^37{TqTMtyW$vX$0#~Df}L)58hs`h?9oVDU +mGwEEk+oBlbrj{)E9BEkUl_$GR#DX69n+%h$_Alt(M+Vi8V6*ZYWbMh$Y_;@|IQKVM$MV{up>nU +?=pQ}4w$%nHf)mO^G+#G#&5B5;I=)Hy-*}OWeztNxcJUp6{@3(k3HIEA_`!;uSlRLY8%2$RG%WakH@3 +&UGAJLjS&JNP+tpst!UF^jZVtL5peDtV;+c(t`dlIQ`=do%dhaoV|yQnbQWNXdW9KnT}#wnI_6b)l>= +oS!<{*|JQq!e6cl(*^bm5xg9Vn334pS>L%Dw_F&4hMX97Y+3xxL+uB0w}fhEgR;=@s%$T089pGm)&*) +-|BaXHKNq`NPr&Vex^V#sh_B`tsCNHv_XYX+{@N?Ch|}W^2jLDCz#oP!s5^0hvV{mx(0Q`{B5tL_sw_ +Vjbs13#!B5U&vroadro%4u*4{(f9HtZF(vj14UxGWhNle4mPoU5jwr6&PI^_b9?A<18wo8{qgg{(xPD +Xh!z9hzd2B+@79L~zP^&FeB5YDDz=;bx_DQn3O;>`EZNhNgvF?Dt74l +*{fnyhE#FAJ4V~zv2>mOtJe)?^63>>?L$6?t3k>6Dx5MvMa+qV<{$dm8Uw|Nm^P@!Ye(~W|Q{U&_NL6 +MJyo;;+>TYH4gU;{kR0;YxE+%Snk;CPpP!X^Z!1b{_~xDN2&j22j3X&Ap}LE^n$PyOfLY8E?^4=#ZY8 +z5~CQ5hM5mL!+_+`s@eqHY*WCF2@DL1ku>nVee3p$B9KL1STp()ae#GeJOknYz(FrvZRb}B!exI8Jtp +9FT#N*nXgXV=d`0M=)?|^jBaJ};)-KSEtfqYnnl8LKNGGI_6Lw8n|ZEuziVpxQ%3!!F +7OW+HK>Ap)*Mv7Flxzyjo&oJEkV-K(iQQq8@I~eNE$%Dy2f8!BJ`_k{M98w-(O=|u@+Y( +pMG5`2ik24%VO2SJhKao+gSfhlZKaq6P0F;4M~G@53Vh8s8yZo3651ZC*0~T2M*@A{Swu7uvU+Ak!CK +r!Lr@%c@zS%N6%AGNjF%7lHA@gd}$2_QdMMp8}sy&_v-lS^}0c{=W#~0jobJ#)Gk!HVJy_yX*EdfxkMV5X?MzV7Fu9RB*$zDsQ1wwJm`o4&25Vw-mN +{)Ywp|KxGr*Z5x?>MsHf7Wkq0yu +e#7@|w2xUBM+G&lP7Uxq0)m*57mWqxOm@ynP=*n+u1e+7b2i@O1fVW$c%g(R?OK{epl9ddjn3I#S(*Z +t$ON!b2CXT~9oM;Tj}v?DsWWS{^@>)~umr$^1Otvv8{XeFJa#J3J0`=KNq;qF4^-pLt86LMBL;y5eM3 +>}(45+Z6Hq`8mRLC6Ge>zJLj&0l#E^m&IE7d_?!F-0EaF7Rrp-NxOz<39Ecr?Hm?3p(BQ)jw%}n&|3> +{eQ-SUXgi!7W8Nc_-?P5pG4o1L?_xN`sC{;2Vcy?=f|duhgL=e|UMDH{k>APp=~U?JeCi9{%&gWk=71 +6KvA#tUrzx8`*ipK?5q8|}xc6MG3)PqC*(p`MxXFe*@A0^73T*ot?qurTp67ddlf*lM#zNpt1>0B1+- +lT*dB58n)uu-;QQ2~AJj~Z2N1>6y%;(P0hp;XmtbFbm+eDVt^b%qCz?M_EV@BGZ?)ftoQUbmt*z+Q&b +BVff*#x}=HP&;mT~T}WDvNH@SEog{I#^ciK0||(VWv%FVB7-^$X%WjhHD(;Qe&Rs_BDBDO)el@q?Mj8 +7v^2WHSFxqDON}*)$Sgf!`|wqQq=>Cvo*cFE;Jzy2rOxZCM>dWLb_I7a +OnW1<%pbhp@Iu#K|cmA;z2>Km;m3}lg_bQ@$rL{55YKBtYsIhh}uhs~C-NN%*9X#Tr+>Q?=z8{G3xSt +^BV00q~KVDYNZLSup?3~LDt`F4=XB6o9j9(Y#sWygjv0f#rZZIoUa8G*1Tz||jD3lLR#1&N1Ix?|MZ# +({lq7&Doso^P8HQWSpJfiaqC&cT@r8J8vHokclNFZH!aVlx(c^J%|=LU-!3PZWJ1~N-cs^Gd?JIVH8+ +^$J|QuL7L$h%w3RpH7xOUBfAz^`ZN6hWowSu7Qw%iX>)Z=Jm_lu{O-zAc~ULteY7>df|4lIw!Uiskh1 +%&_p`aVB2p0~>~CNUCrapI)`ui9vUnoU~`{4yBsqE>->=N00PzlLi|(a_Znn`N;#_PytFcL+m50%oRwH~+N2@$W2q9| +zYL{5a`8>RjChmA#X-h!*%{DLr+$Kp3w +4Rt$y{Kqm8}M087O+vI3PR=7XrGuD45JmC;*ipIf?^zgs+pizyJ&Z{XbX^UV>wAT{!`!XCjb5{Us{iK +=;j+|Dt1ipb~r(53ggj{ZPkNu)f!^4V@)G1#NX}kxXD~F_P;c^BFig8I$O~ukcd8G +O*4tip?^@J_zZhk59)V`p?N)CIC4dF@Ily~<9dw8Z?W3!Ow{eG6+;khf|UE_%@S~vZ4f2p>AuJ%{rrF +zFH9-*1bdk@)OyW$q`3s9Yi>4}L|Ra(90-y*UlClw!?7qhiqSdGKaa>7qXEuIVfT*0UXAsGCUbwk(X+ +qSCcqZnKYp-qm1iynD3$26Pr`i5mGnZE6K@3E`!AefT+FcYH6#VDlpMSU;4-LOw9{jfKr+T5HDy)73N +XE(cCy;sxNAy@3skv<#eU#2a_v4}6fhY0cm+gNU64ZIyb3*~hjJc+400^`IH3fWJJTM|6_IQutmmdpL +lLcjhPgHJK^Pd~;*abdT^TtTe0)ttl6resB#_j%c2WqBil57(NYWV!hVZ?-Sxy3#VTORJ#PZCiGzoRQ +lDD{OZ)V%|Jrh&GWBFnNRLu6lpM7F|NIN7l#Yuos`zb2nU{%hp8?|{xfkSK&MP)EoD3!~^%E +5R*mXBjGb5tX>36v)hA@H@)x%)GTCS(}6ZvD`Q^x};bb-XX3NQGSL$ANQ@=}IF?Em&i~+!E2^gZ}Y=6 +u;!I1x;^P)U60zIYq=2R!V@AKQ+1CCF +RjT`EJVp_?+;stZoPSLN~+WxB-*0Ip73k}*<7FYw#HxyuS%Mrj(Ckf~x8iS4;Y+ +-gkQ-NA&8yo>T2g3kE7itPf>8eKx+G-fkAOm#WBOqHvQlK3cURzn?6g0&yCr=^Zkjo`3=(mtboB`9M3 +mL`Ie?`BZyyyT4>^_q~eOZRUf1H5(H~mTK?5_m+^)0|!@;Xs|u?*zU8#LmnC$V?POAkut-&Cqac+grenTckF;VB7l{fWiPvKdb2mv7FHG +_Y3zZm!OOpKtfHpQ2>kAG!42yXTV=y0n2O>R6VyW&1~ApRN6v?-dRci*UNmYyh2{V|%qeH=WcA?LL20 +!1`JJ3i`G~#X)(cH?w}BgyKu~DlMDI;ZZus=*{f*z3F5xfK0Db7&mr=$}{n~=>#~U8E0ZleXWmtWB8^ +|bRDW-sucXMtg;?5a+(_jQ_S6 +oq?*EISZ$SHN6kQbjEC+M`Vi5BOSLxh(6m>dtse9JC$U0?^1K#lr}ZC_2n$JrhZ=reFO#1JiN&4Z%7=U%@eNzsi%C)9x?x}ZQ#|YzB|Csv{^+_0nDk7qKn?>kVA-Yiy2 +%>0%oEXK$}OC)a6E=9${lf6FlL1BIM(OMR;35G%*pLP}7eM+Jls_$72eEIBV^{b9iXl)r4#1}}kzIB_ +VZ|TnOo--u;JJCe@WH`nMsn#bJz+Ht%@g5;sVu8aQLw~BlvIwRa_4BgQDfUIL#GAo?s%4F18G4)!InH +PMub;{Qd};vwP;wjk+AHNg++qiEC)wRh**og>oEw +)~E};7rI5@ab7^U6e^P#3_%wub_c14#m^J7IGhUu7MovAg@UzP4S-SW@hB&xkSubI6rUu2|u3r-HGFc +qoZJ=3&Uki)sBIliaC2_Ou}sJy4k)v#e|pB>$QD8nKIJTR;C8r4X}NwV+P?d+@9{X2=|;JvNn43a4|}A(e3UOvG+pM0>%muU+a1A`gACJG&Wj@ohT +~hZ_tPw)8`Gw4#;_ +6D6H`HGzH9lG!XC&RppHIi70U$DwZPYSiKUj2b|lrq@K&pD*GMLYD(Mv3h{)VM9PcSXo&66}6a_gG{_ +G4@hDrF0JKn(P_3e0#usTMpaLkQ^EK40N?ncHpx!G#c=% +1q{jaL2X@|$Dw`lA`~2A6@7=$6_S$J)xLk}TkCHWfl-t~aRwniELS6IJ$VUvfF33T`g!sMjL5 +`qQ>ky$KQZX31x04+!w@WwK6!j&B&ZrMksN4oia{EF+07Cp0Y!%#Oxon@hz^y2T`qAF^Rp=*pia$zy( +Bp3OUBpM_hu_jfjy8U*c+aK8UYU6Pkx!H*n<%4{5df%t +85@iEz5tLl<&XGX4cxlu*J95kkwqST)nQ3aILu2w}#jONRLaVX2W=Kyf6oEiLfB+^WY6g&|8x^13k#M +qVYNg`_*&b9~~SV`ge{FBp;yPcGT9B`EjCD?ReV{=>y(zkDEsb9RxeN8|ruWvZ;=DH7qUpT6k!AEJc) +#YK!OcZQc;w?Owym@?{cs%J#W=J;^LrlzYxv(DCJ1XEfGs>iK?0ZWX(4HjhjE@G+Cpxr{G7;;ipPK8* +Lw?1>(vtD1Pjm42 +co)VnKVB+EnlqH*kEja)0C%SAf-G9@_bon%kr_B|&J9MCW+yZhysJBi`#(lUC~Rkjn81X`O1}53{b>P +8=l)J9$rB-0Rk(z3LkV$Jhm!{a01N*J(afJEhqv+R@pbu-iEIF#Q?3e`!_vO;1wtMSKWafqu^$4b#_7 +e3)`I_WR3D;Ti7UneF9oOtLp{`O+Z0I?)^DloBmdpAYuSH7-3eYkQi3!|a$bRW-zyk+B@da-+$TlLxK +Aq+H@KFTS!QfQ;6n9T`8g@bkz_lzYL$i>IYkQVX7!Y)Mr!`0n}?RKna#wTE^JN5lzSDm4An<1vJAyqG +r9B`TI*VoiqdgbJchPp9gxAzQoW`E&?lZ0AOKGFjQLTq3=T-t9J?N<4OeCw#J5z--ArAMMGbEd5axq8fyls~dYjkfd=`={{Ubfe9yo!4xZ{iTau60#rC +(4}NuJA&J%+iuOt2*IDp(n6HZ9>e09Q_NS*^(Wc;GOWF_fYu%{*tlp9S{I&eCm#(|N8co-_?5j?>PRS +x;CuG{x%yy!wdow6v;3sO_0F1fuV7jCQz7RD1xR5g85KeIwk-(VK{)XgaH#K3*-?rCcti!fIMdFuGxCQetkLXJ_BAOmG*Sxahz% +l3SI!?tw`N7S*f9u?8J`gC9D)#tUbMTnfG4h@&uOGn+pY{vFy?1ay#+OzmTor$KbD^)DOllE)ruEl4< +T)fkk420UJ(Rg3`e|4nbZ!lQ>IDIo?+-s?cta0O=QXQmJz +dqP}Bb9|Rjd}~;Pz>)Sm_rsfiM1+?5{US#v(08ZA&<^Rx$ +|Rh!3CFY#B4i1(E1s#~byQ?onb7mf_(7g6oDoct7>*Ev$y9Xn|WFMBQOve&EOu+6c7%08;kxj-VgQzS +d)AYYR$cX7Q}HoQayyBJPIDe?lLY$_&%dXAz*ILogzpi2k67A-`KrI83E{IYd!@-yM&9%gn@`e@)>e2 +_`A;g5wrlmR-$5=P~gW@Wb#<5i~|&xfrKY0cCJtW~?Ux5=~3wic^wn6NZaVd;dQ>t?I-)Z=bjqBI0mk +$Ocev2bduTuWyYt3yJwd!)6$;Cr??TrS*kMgz?kz?}P4(8vtDns8onA^mwBTKh1QpKF^=q$yxfNu?j9=;C?`0*_)fR?ymnC!#B>o_WF&rD0=eUs% ++bl4nEMSZ<)(nqAenB-0GoFa|iI{O3*>pvz-(_1I +{#~buPyUwQ`#gNYVCp|=C-EOU*57+Z{NTVzAq#+GC`?i)jS@Hl!^>k5As3dr;QIph3)6+k4=eKcC&5E +7go>}cG6hxh1(mUEEu6n4@>kyn{No0+1zN#eOR`qmF)$F5tkb5T*^2^_O&AU8=Q$3#!IpQz^s0LSe>S +4{0o$FbN=zZ2Oq~{d2Yqfi_(KD4bkJ^=uRfs2I@C(#U{;7A0jw{f0>OZ7v$tU2H| +B1@qFtb0j3e@~Ihl><(icXnkW)iaC-0-V8{s1{;lDSH_`&-DdhvK@7_*H!() +w4Jm!ton5i+L|Bv4LBBt!5#9Fw6UmOFKAg=_j~j;ZiA8xlz#2~zAT9%8z=yu=L!a^zO=(dk>yn(C|I!@{G@0fUYko!rskV-8Eqjhi}P;O4uX} +-tRyeXq2}n$?qXG~xb3#LS0Zl^5!<%dEyM2;-Q3W&Eb6&rl(u=8By^3gj}3L36N78dI~758`>4;+VSL +cj=5{9NZLdyO#ooLc?<0pK=xd9lUpXW-L%|xX&_>uslJ}%O^yCf_4uy@!%de{l)KAwgg6J%=*fA{Bi8 +V1Cmr}(i^M>#D3={CXdOn&mexW@z#GsvV1DBHxS%CKku1?fx%hoRc+-`%;rNVh!c49bYeVCIYqbKdD@ +RjK}tBC2~NH;;J5Zm4Fu)8~2riMH^0zD_FfkRgvQHk6NF8z93@%+{}mmPlLdJ&AI#`H?hFJ%97H|NnxeT-522N2QQov1v%@~ +_+sYBJQUkV^f}LdyNPL1eV^DHlOVJppPa_mqqk*#iDsMo>%kF%h*!NAq=zC|~7}q71 +D1Ksq-C`B9MOOjZeo)XuQ{E +PzLKho|0FSZvd{xQUS7ESssh?(CYW!@wpJCI&D}RbjUqci0Pq67LXqurvX?*MNbgLhpF)BUNOzGpcO&h34`pr{$J!mp$o64yo +L7Mi0c_t3#6t>ND^Zn`?JiQ8KhXbq|x2AuM{6W`6B_+%)4F%zRPAK(U+mawlTX86vQ_Oaf&+Dpr8OeN +ivS&Pco_DFpmL{B>jGa|q_zl+|BUsO&7}<~!zB{+xvvuxp#-8-p!Q5_-G27gx#et7vT(_gUm@r;koq9 +fWcC0vAavY$J!$8dW9#FibowO&KJ?gFJdYgK|&W1dw&~akv1oq?WyOTa=qo}pxp~I;)-2hOMOU0=00ro@p8OC``>gb{22^G?>Kz-U +$_(6C$zIDL(tMT#%d%=PID?i+N<7$=9d=Jm8G25{foVU?ysPC`p**{Oht%>& +;5o5f@Va>-_qOp`pxsfn)oQw4sh+ +3rVWN$DjbYrV_))#a%H*JJq-33QP=5uy9W2CLy`UqrSRN<8tS>-XQ3aY#_meni7RsycS@SiWK5NAOcwZVjv)((lzl5gI+mel`td_&<+ly5J`}}UNAoXS(6($rFb22!dI0D6eOz2wPBq +^K<*f9oPiE+iUDQUCEOs_S*PWw%S%iQip0p;iVn0E*QsJK)4Wbm{aQznzk`^f`l6$_tkbZ=b}as+?wY +W~;Q}Q@-;dER%(MBBdHz948Dx~9Pbp>WpQMyQMj85dQpzBs3}x?>?JcE@t$P3NH!0;Mnh_U-`!S{bW& +G^37InJNR11w0#Lw(;r6myc!6 +tfe|T4QW4(IKZpC{O6gxTZa}=d5c_*E)vn9KBMGvXSi0qMBI?{M)qyO+pq +;SVOjWLw0;WiaS0f^~duXoz-eo2*tH;)yuhze6St*(_F>+MRuW^MKx_YPKv%Ou2Yd@nWC75I_~S}*|c +`gJRbrs99&-7l&zt~Egbtp|FF4cf94)bV75SOSJ=AsqVCqEc%bbyx^e7g_vhAi$M*cp?*03`&Ci8+{? +rAI{^d;cvakAn~y%iA#|1Q +UGM{0lc>us7AA`lprd*@F(4@z0pJ0m{W)kE0*Ze$xQc`Z442A5Uk|;G6EiUAGKy)ye-{8-STpu(ZuNmn1Z{DAulgvO%#Ot^CFgaN%^7K`V+T(eq?@B5$?TdZ(jb8QS))^wkYjr8n4tRFSAtC0$ObpY|1te@1%etJ<;j<8 +R^}?4Z9xJ21HOxqga#eRS^;otA&M=9kg3-)K1hkOM;>k>CjxvD01TOmjFRlOJ!9GOBo^LK=R5Ni(ZaO +_HdKaIel1#5}x9884(Ne-6*MjpifF4n{E~e3$mMdCExk-!8mJW(fbOdprnyY +w698%2%orvx4Bo!{$OMo5uhx^_ptAd{M_k_l$USEhqp}@)SF6KApBQi4~NmG?}Hz8Y+ZdB{(3E+%ICWo0Q +6g)yD}{Ed@qBJWo{G=ZuuaeNGa{4euR9NI~mf^=lyyJ{Iu55^cq$y(9;~bF_3m6F0f@MO6srgr{L%l)MWBz-^r^S&CvRRqzHd^9X!6O6ZZ)<0G?E6r&!nZ>>(vpn{5a{}_~;a) +4HP&`6#1j2?9^FXAg}orxc;tSU^t?_fRuJfh8~ff;^VbMX>EIo8~1{VwUdF!`wV;)VTU~f6C~ +)cH2OGW=(1makUpl!d>AJU2gnno&x%TyBrc;#AQ|Gf=)qh5ApEejzVF?#ylO80}^cZGlahsO%vMd*7h +3vX~km7nF(n!_VdC}QJDvWI~}%FkxI#3)=+LRtPZ_8r|U_$-#K&xag#D4=`$sQc|_dZSZu-*-fgzen| +yoDa5|(GP7c|460V1++8jnXTnP02ibj^tsEQ5Mwzba_)HBW2sW5IXPLCwNqd}0CQc0YxDSOC<5g^a4u +pJR!E#T*q3spJEcX*@iF^DoyKFCF!xNJ@he~qd?ktqH*+-vcF5WrCX4Nk!S$ItUW-~^0+9d(fyf@5IZ +8>bNhBVdvw2@F9PnjnA&FiqkxOduacU04L>z?RS|TNCc&yJX_>AYXqj(GRkcX%q;Jd>C~tucYe~S-Pq +)!YD`_ECCz6S|Bhfh_R9!6fDpbNFOH*P$VHiP5UQN7s-G^b-GTYgRp5;XGvBYKLi8yk7U(i0VRtB92; +M|*_OBpw5%~8jghPpk;|(T0WuHhI>5J_#1fEEzqTDJLEU-0eU7?xT-d1ixK|5C4JWm`1X +AHPmzvmGpVTB1;E;rT>jM0vnB=>QGW74827dZ2{PPPCYO~baT*$8L9B|RgGWQp*0jhk`L$aJd5APQ4`2>B)WYYRh`=X(uvSL~TV +xxNEc@sd@e2ih?dtTuydBVluqr>B^)m`0q(ZSzxSTYsg35kb_d-iYAacJVQbr!go1scD8+S*gm}=!XdHJl0R5?Go(!`-p_ +u+Tv#lQ#gbPn@@9dK0BvL(VflS~MFdH<7DiXF`{BBJC&7fOW%NKCBSwe(<)-I +ZBr&vCFdK4@>X=<44Pa|K_v#%J1MGoXNLoc>>2#pu~cZ$cK$z39-85QLBI@w!+>z7XF4rdx +&BB-`b7qnEd3(LK%edc@3B4auB^ElLAR@FbLt{TjFK{_;nRV#neuxXuubJP)vh=U+zID>TWfnWp?1Pg +zL#miQW7)c@Vk})wKOXgu1U)C-&Jv2yW7`$F+^uSYdjLf+rJ5fhQ(tiIwk*@#`05UoYA6*W++C=a=qQ +(l;W=}MlF!k0Vzj3bh5S``30rS#;T9GkvYy?%ajRT|IUr*yG38jb$5VQrAvR>It%#4e6IE*Hp{0C_?( +|AC(8ET$3fo?<7=&D+56u>MD)#&+%DjQSC>TfFnVx_=7OB(p;#r}^-4Uv1I&9jK$Yp!xBLtc6+gp(Hv +QwS0(7W3>wUgOL`8svC8=X&$EkmlFj`=)ij`{G9R6?X1E5iH4FO}%zzc!R?`_e{kBqnUyTdu-avO%xK +fsXNj@stULIBmFZj$FzLuA*OSq|JPlC9md&Jvdeyvoi2U+MV?dUc#W6b-u3H^8yQu1C=dXh~n>b&&`K +xd)e~n!{qCcqvqolHJ~H25fCEydD(t9Y^ieeZ{bKEExs5zQRSj6BpRAKOLhsxPnnQ+$nKt#oW<{t`gT +Bap6(n}y%d3}Grlq@GKmLnbuaSkxpRjo81~07aZ92>d1%Aab)u`K)=RIWy)krSFJ25Ys;K*c*`@V0dj +xRaOZ_E8B*(nPxK|mfFd`wI@9dd};^kz054HUH(Fv|_cw)$Qe#&VSMl@i6T7^P%w^4ULQ5z`w|&CKG-JN5r3!p)T;%eM?p)S0WOUTcMvrDT%+2nBLZ?c` +ch4bXS|zvnD4X_yd5Nt@8v5+fzv{*=8iSkc(&00hd%H?qCbX$Pu;5j?wzw?+|8?jVa{S)=hAgoB%`4w +w{qJw}j>$jS;#*Te_(RpRhz5CjKyjHhN&hx+w3_qaD0sloK+ZZzK=*X=aitr8bM&uePbdud?Si2T3@( +5R%mwh(1wIFw)C+o(8Ib)XXz+8Pz6AXEux#D0Rlt!$SIAxiHtO0)~#c><{Y; +`VO168yvK1@u)P*7T{?JTLGIPyz^iPUf5P+52;_>8dYKYkof)=-rd8fAS8ag=G!mxBGP>m +el6pq`>pUE5FF5-)y)6H9aq!WzdB>|xmmWhbw$Nd&T|T?rqelt%y;h%8a+@0_UK(g7J!eF}(8aDe=jr +w!DZLXNn;>%}suJ1gpkAvI3IjYoIcBq`&b3i1YI(brw~*MTSC_vwFU-mX@5Kfa_tjcf%jT +YTfx-d}Ndhjq5{HeNGSU=eY(9-@T67TIh|=tdmv6AIHEG +MNSPeDzbaE7V>u-|hEa!Kev8!pkRg5ulIYW%@|5{ZlqsxWwLJN1aQi&WfPtp+*$dN_^4i@O)^~gD23d +L~)Vs;(kF>+W7Qt{-eJ>;*5~bKoa{*`u%j7Ny^D@x{5*6f*ds!JccG|kzJ^5?bj0cM45HoCTjDF+^rT +#ZZjomazAF}plD0b=G@^f&?qFSIjB1uTq=~_dE5|slbu!8!qDre!&6e?>gJTW_OlcVe)-PEL}iODA&r +d6Wu0frcHKj{Ax +|4J_Xj6=*5vTOIqVGEW3RyOd8?Cl7tR!NuH6KW@*`6ULXG+Vo4WUEc2wJ%MBn)p=bh*l-kgYjzzYOOc +!@VW!U+Mw{rU@9<@c(yYoGpZ+_({Cv=B_pl4j-@bBxRzrp(713oRSd1DJaBy?;_i{^6zm&VlZ8Imf{J +Kd{uI@h#@e`S601iyLZ4NcNC1@B=zRReH +I{*ZA2(`Z_OpCN*&3SFPp2;$V8WuDwy-kabA4YULEy7$=kK}7X_CI#7wER{>2OrLU)F5*dTnzT*bx30 +e)hTSa7~`AxfrZHswij@xoyC50|;lriBET`qZ7c%DZ7t +na@PPW-Gb3{3Woqd_;b-IFUF28vlE#zEg|av}<~b&WYz&&k&RQC9PAJS8uxLa6e6TXmIrIX;p;zC8Pt +u{goJnS`3-`6iy#!61NwtRTJIkyyHzs*BcYx9&-ir>qL0zMDm%0`>X^x;qc#K*?5vX9#_Zt%xm;1nkt +;KL2g7gTDhN~kxmkkhd$^q{`*CYQFtayi9x5-nL4+a5^Vo^UikW2mRKx6NvS>P{gv%k2ye_O}>jWYqj +oVfhV`nCFuz2hQ9?D&Yuu)NQ9RwDv_Ay4`tiE&8|q+^UxM^1Szt>%sVdb)AwTmz>t2vf_oEa%+W9M*+ +RJ9YEzj7>@pLTW83u!x8oUEs$U2ak}N^^q>ly(e^JA?F5g#hqvbkxuU1s>eK{$v~`2TtdQHmC$12@P`R})xX_pGyqW0iwXnAhNRq2Gxp(90*DUL3mQD?Ef&{}hcbo`j`B}BkgmZ&H892RV?1BMkV# ++gj;yDpsLC6|YQU=H%1LzH%px<{Wx|4ROswQlh6_!e~_5JYb<^KFM+%JLUr`o{-$J2L@15E*q$vm4Y<^Lwz$bAJa;0tp7=WOHmpkxbT;P!?pW3 +*w@H#N(z=I47t>{$M=gX9bj+U`p7nQt3^yuUxWJ>Wmx-=Ewb@SpDQPi_y0?SCNsaBi^Tpch^Il#o-J8RK{X%9yB?@$R>t +K6Uh;cTACT)+{>s7}Fn^~9K49(<12Lw-k#?e%&XA|MKzfV_~8^l>QF8Cjl3?}(^Lj@#p +Z6`D~?*6QoCoU&+_(NJI%4od#b;a2styf7cH0O1dm#4Ik&Y8$ +u4)BAJRcjy~ybh-B&b;nK;9e0C|)eLBX`i0QBuo=04IT*xec;k}YVaduk`sLl@43kJZ>`6B&rW;31ze +~WgXdLTe=;`T+e+E#fgOpWrQU7{CkapzoWp7p8gp@3)7HwIgpAn}Zs{je|a$m2@zv+q|yiS6nX$iNeIxN1E*fy-f{4-@pLd`(!?L$F?J%)t4nRmqWhQ8`ens{@OWM89y +3rz>)k8^I?)@s;Q`%r@Pm(w=EP}aiPugv`Mo{ELS}peYL?Wrzgv%M?Zt*Q)M?F11(& +cmz#T<0#PCp)9%%TH=i~!_PBNC!a+zKI!qb}MI6SpL^kQLqdU8B_W8hV0#4cGgaqJ{k+pdj9^cCvk{n +DGHPYC3E_F_;ZP4d?xNKhWFo;2oHqfBM1s@u%QiM_$)qbPZg8lk<-Ww#i +|cjKYm1`pmdlgL}qdDoi8-|$ZSJNTW7Qxv{)m&m)VhTQXt$h(nu*O7+zE2Q4mNZWARnc{bL5lMEWhsb +wyn7;L%f?Yas;{>~!biCK=Y#VorqQ4h3yzc5fW%3v61=-DQ?(~Y*UO;y~oINM}*alA4a83@b$o*WDp5h8E6A5{u4 +GlieY)2T7cRMGmE1&Uc#hPm_Xwakg9P=`w>8DaILU9tkwP6Tm<$(xhsEdE-18_14{#+^k4s@uCd(+Sx +64-_k#%D$)U5P?h7*Pa2dXvfQhbvtMCRU+Y+3T0-tl=T*@T>SQY2-StVo4AjhZf=BjN5esnc6NT@i@F +dINORYj?kHBpMwMD@Zyzoy^NvBPz*zYvxL&_cSg+_^SC56_L5F#Vr3>?Fjf3+kS(CKNXtDh +si?02cVWt*_E&X*5}|(lXuj7QNNQrVhmO_^pSB+9k?*-NaMZ(m`+Vr8KW4%vVAZE>BL0qQjc}4)&#>L +ua@a-Iz7%j_B=#Le9EX;NYEnd5WEj3tp$og!_DY?#?|T?o;pfs!``881J0TK%Qp*<-ag7w>|GvbY+ap +vqN>NCCxfXvKUal20Yu8i=3{ZuYkNDfkMS6jI>X0o0m4EU$M#8yK?;e4V}8Bf+h7Z3a7`ghO+xiG9*r +wdM{=5EWT6`Ofy<}8KA&TLfWLLHcuf_E`MC}pqcsl)Kcw%0|qr1mJ{I59qo@ +Y(i&X|gLz1l7MdS^O76AOwm*1oaC_{ojo96|Da2F@7p0g)kB!F@z?OU62B$s89QKNc62qguP7!qJ7mV +cssA|rmSy!p`-?4>+%Stu_kp$-F}1I$(QhHey`>b{#fdgF-B5VD4m8}`j8JHQO+))@@|_38pnoUn-vO +BUvi(WtvT{!d{j^JJYVfSl +Y3iAdGn0Smz?Y;HH;hbPSr}mRT;K$aS0K>dMjaUAhzMMV%}L+FJwepjY%)EDa+(L@at^%#ea|c@ZXbn +|Gf>^_)}HC&cs-dR3O9Hk=BqG&pSg*14GWsOhv55(g`;5T$X%}PfCjkX4`shG7c8Y;c|b$hb^MX&X#& +`Ok7g0S|ebHVQ4@U^t5xuE-XzKth=@&ZjO^xbCYTZPRO$t^)={F8!e-#>KRr($pfDsQ~D|LP@kj{pwj +Z--C%+%2`_ME?pXvk^0E@5tZDjuP|6}cz?d-Lk%ePC1|8}Yy40Zw9ZY70@jIY1^u!ieCW+mdM&(fP7C +UAw`+=Tk{`ou#obF#2MwFa%2sSVk`Zhl3x2|txO4bfJa3!d0e6mQ2h84*^rJJpRIQoJv1am2#Cp@S@J +YTj*$Xn#L;_0B)RNB`(X|6B*3kiXmstwu@G;}U$e#J1ED#v14O=iSGH}=nv3{f2fmehe5PlF~l*HV5& +TbLAD(V}n*;2(^e*lNT>f?rA1SoTfRw`t@+bszBjb1kn%l6C!H)`HZixTXS#V$0@ip_pS&4A?&Z +JU&q2?N;Gx7BMNvws0<#g1W2vUE=@`<-gAJTyYWCdGUW`*ci0Ub9Q_` +RuS*gJjt&ViF+@E~xiqxzT$GBh;nP&ZUN-D{ECDSMZgkG|Dz6>hNFOAqC^J#v8*+Cke%o*28hZUS19- +w#h&R$8^?nbZXK*3P9crka!&4IIZIZBXKh=~({iafo(u4Q7!QIn6o#>zi316gBkJ2Ti*`oBpa|K#jsR +%`O=bQ5DP4e7=j6AefG$meaTt{mHb86ewEl4!CNZhvoVW^SP~vnR1G8b|%mDI~MvUH{4TNv-`B*k_er +CY7(&PgAtA5u0Tlo9$EC#)JyiIF=aWFl^2oHO4pC5nwom@fo(-{}1;!w*QTc9T^E@ZU*~eB#Mc%kL^0 +cpkLnK29TNC#8v=%TIkqyVf +#X3x2G$7zJluopE?5tKzmu=cUq`^ol_iGO@xlQ%f2MYMiR+^Kj5E-UIZ@({(j5J4>?rcu){;1m~MObN +HN}J@{~VmL>_8S~nuf&AKa)3InprbHdD++t7)WvZGGZ{v^zTr{iQ9-Er~>qgONPj!Ep;jnS +ZY7a3?&sj16Ndk_!KE+SV0{79U#FvAXlHuvL=*M(&1F8!VD`vf)P<58sRSF8n(;bHcHMafiCj*s;4@+ +|}up$xDFGsQ{xks#MaG)e3HEC(XaJLR-oJ;6M7Zh50DvD%)?S(mtnaXGG+lg*#Fvv#;gD_}reCa!Bo6 +t5|I2F1&1)obp{w0fczd9h|6NxP$rjJ(C@(yP7WD)VB~fjs&)Z5b?3sM?(n2Fi_s7<_8Z3-QFT#xFvH +oh}OUho)Q`Rg~AHX_NoGTWFpCkL(NjMfjKXznNdx9{$5_UkT&)U4CSMG)&?I3K2L)LnuWf7>v_6juHe +#&@_xe8!!BHIeepjA@ue;c$-bd!M;X-LwhyU#tl(==Tk_!^DKh=H~Bdw+>MQ?J&%vz``Y?0IZ3_^7Vv +l37W~drMEk-39qrkU-GVFK7q!2(g#WdL8{gSn6z!rW^qcx^$3V!QYl-Q1i&MDs#69&AzKf#YnHc2#Vq +e{Ow-;^nmVPgaZ=4Z*Q`(J4;^=nZ-}+@ydwQDwW-DnhDu;U8=jKWt^5x*E@Z8ktr!CwJ_N!l(=&XYC1 +vhrTEY)&b(XLog7PT$R{V9#1ab-mSzK2h~g%=?Leec96gmusNpLrSk=*0Q5jn5W+m0_=7uwU0W{_&Z= +o*3BAyi>bBWOfRKb|-!&`W6cxV(mVGK9WPzR^}>hKtUX}4os@VkS_P=a-u4CrqKk9aeIxPMsMo(q-=Z +V{5&>_!koA&I0JK>)z$gvTW4Xo43ASZAVqCngDf~5>ErNHnndwVs7Fl8VqDubtkE!Oa+Waevd|DmK&@ +})4VfKqUE-+cD0Mt=0}bi%OC#Vz0tG5@r;{@q_M#NRh>i)Uo;uUxW=Tog+`txdwl_R!kbL +B1^FW$n|Gzlgvm2+MS<7zkC+~isTWH_}Ea)0DSuy8IlUHR~QFcj4_8tXKTSY-8=zEI0@w$FA{k +h;c#38R<-tos_D^X~H~cgr9V7Z6Z7$EApr%GstRPm(-rd^ndc>pd1B_StA09dhVB5gjf(iDaQ9kJwY$ +2Yaj+P#_=!=v1eq?YsGieH9rc5*qO1kV;gR`hKthfdkgM7!9X|s7CYbghq78^JjX3q-Qz`iw>}b9y}h +`s^q=wR!yEg^2K9(@KR^=QK;Y44G=iG4|s4)WRsHO>Bje3GuG+Kyc|je@_PY7UGv1~XEi}_E4=t{0}1 +~Q!epdJ9Q;C#5|{NXXKFEM%J;mJ&UokWR7b?I%mRk^)RPcYS7^LE^N_6)Yp~@9DB?$__tYwTc?^3p`1 +FAskOsW-czoe?O$X`J#IFhn9JL%hz^{NOlNalR6%}M2DI}%%o!KE9vs*WQHGN%q$bv1h2|SiZsu$qbG +_wo#gbiE08>It_Ep3i13h}53&ety&_{*1TPZsi)bIW$`m04Rgbc^UF)m64QKq=J9Z$CmrVK5PKjU~5D +?yR#n-02o8Z828ntl4a=Ec->1w$#q0i1?DQMQ!dDjKP&JRnRura`W&iTv%}*@U}&Ez9(dwZERP-Oxu7 +npmD4he1v_u>cn}3npJRp{IS$G@K+5QDDn;BLET+)P>vT|m1ewy-B_B$&vIY8JLoo1uvnW-p4HOYo$r +`sA}X;#(wCE`l1%BhZNgj4s_RapOSdB3H5;0f+BuQE5U2v9k)4>cnpr-Nu9&KtR#YO^DUOZyA)SUdANlMV-3}KzLv(FOH7jMGq{=nmA`u3 +dV>ZHB0>K2AVD3wr!U>K)}T>y&|v2rUx|BppH-?yiCVq2hr?w_h%!~5oDI0knB>L<5A0NJn*7Ozwy0h +23VD1sc_QJ-x+Y_ejOYnTS$LhhVe4FM?E*t$pOU?fWR*1Y>bo_;79mvByjpBu +7WihFeM<0He{wO1QX1F`pUx;kPC&*-dI(6OWbe(($lu$o0G3#s0&9?h67At8z}v6t>FY!GJ&$Xq0_ax +2e_2U~R$_igekQxLbPDHWa}{d|=nbm{#{=;f0Zgv;s<9VBhP`{vuU9U@SLQ_w>xYmHfH6-d<(ryO+ZY +eegFm7BJYw1`f~ZOTC5%F4#U4|HNH959%=K`hPvre{qkxPP!=hScCdsAId)G|HE+q;)3msbWiSmMgjl +ZF~0eZ|IP6~)uF&|5jq5;FbdijBMD=lcD&)qyGk4NPR2LZmcYQuZF>I^HOwIYx|TX?gk +_805JdBYV3WD!S9fUC!>E$l +PcxhU{DuBlfF}slC>7ukTFuY$BHI%VHZ_-8OEg+)F~^Jt4aN7(su>5|8%EajczuuR}RqwpofO`+y8Sw +e|WzpYQ<-vc!|kG+&q5WI=yy`|O70Dr$EeMIqL}e9?*${w_qf3%GvYxZy4KYwFU~9Bnc_uJ9&4Ka=Ebkr-~VhbSN&~G +EH(Dpz||EN@ZQ{L@rWFN^8Jr6y1@#|^{J>g3Z +76f$H6jZ!CAEs+6`Kxud98Tf#lmxyHmTCg~)CDnI86oZiw@xO@SFc1nRSI>>Bucdd-cDHca~RV!ZM}g +vYy+2KqtD4~QOnG=NaOZXRV&=}v~zwZ(bKZz18Wp>Nd`4VS!lMd(+$$oCU-eTnzEyS3O&?5XZhrMB_} ++!M1%ZUY{%@p|z%DYwiK+nzwYVp&xv=$hEL8zt5RXxN?i}sXaaX_8br~Pfo5>k4Vn$Zm74WkoUD~%mXQOrf^| +*}b>x4*pW7H5H09FjPel}_sZSVg|qGNJ77u6YLV?5)Lv66=VfPq53SPe@h{jm|{ka0}&a_lRZvMa!;% +vdqflX&N_E-_iMdB}&h8Z#m=nU3xC%6;M}3Rkc2l*Pf7@-3c7kg4~2D=>*30AZw^{h}Sj;g)n5{U{CM +1~(43ToVZbY21*KHI`f0r>>IGj^nf#&{U;Jaz5$Nj00W?`8s|=XH6QqgNZB3b773v+`)@SVax);6J1} +V>;iSk_yiqwsN6b_UpECVLNzadB_P-D +K@s1?9#H35Xq8zg{Lush{5r$@(+LLnb%yz;6AbX{4D(MXm@gI>caAf-0x1=+R +izhFe6Htk`QY@~Ht|n7&n$bg8F*)#xyN*3eh_=e1n($)Q;?cMWNvS0x!tokY*bjZYmqEVeH8VdT7yU^>D2Zy$mQkEqo-Vl(rrJxYpRN*pD8_=J?^d(Cpo8mxGJ@1qa0JAMOlZUq$XS7AUH +4R9TUg#%uo-CLnQkJrbeS{QMJbq(1byt4A%k0<7thc6+H^Vsv=&Q(CVpZ)nQiYmd{YvO_b|}5W1jbAc +Z1~n>Pr5DD}##&p0q*_H7!w8D7o>3#sl*h&YeyzlwPya%ZkP{V8jb=s%kCL@xADydnG4MBy3-DzC+Vf +(2TmMhY)B!1;GXu_2BxuQUp)gfKyUL~3elFcE8jQ^CuD6QIU{ +Zagcm8yfM($>Wb`q01j1|X)nN!{eVyH0wVb$Bez7p_n^=E(1{r|fWey)4_-O)eSpW_&e!!Svr@b)i7V +f3e!Z}gk@r|R#^cJ-u!~JB)Tb+t +Z_sb&RR*1W!VX_z1Z}CSI{4MXd?49>ZKh&Q$Is`UuYF*C1;r;#p4|)F&Rp9pVYkA#nCLBl`N2#~V`>| ++`gFdRj`EQ05Z?S2u&}RL+B@(Kw!VG-f_~V25C(i}=?7{q#=K_58VE)N-0X};$|M|J>_Rqhq{*ynd|F +XUMPu``8Qg^tN=XOBM(6EuifgSQ%)gj?lxyq54lNdPN?q}VbB<+qLZ=V~3xFh|isds(%@aV?q`& +~%q;dM$!;q>EAHXfYCZ<5gElKq4Vxh+e~knuT^kUb5*NUe`7(o9nG*W$bR&rvc+FtWZX`T}=3q862rY +zM??4%LM_}IltUgxq!5YTx(ISZwHRoS*CA`h!67fgDg*7&1IeAS~s$-N3Y1h5DT8NL>@~K1LF9?9x~S +L<=7#(#L!Jx(+K2xP@-2YTL)FEi;-9g0&e=Qj~=2GclS(_)c;LCoV|uI!oIFc5wL%Xxh_ja-X=y#fC%eC%AqfHG7 +1vv$OObpms0qEVTj;E-klz(3oHr}PabMODsAHD3pTA8(hWfqC&8EtdR*eN7G!C1o{^h81pQ=R!w11s2 +lNETIhp`rQuh9RwsM^n%N~pH#95E=baY^=cs^vZE}{|Dk<33gH5wwXgJg+EdubLUO!5oe0ff{C7tOo( +kV@XC61+~iH6yA3GwwW6W{F?!c?M>n(7qnW!9Z+_p6LhlpdaT}pp_h$e2KKSd8>dV&4Si2Fx7*jSdlF +2egwkQBUR@^jG|Vo^WMfsZq$RmBo6FWP0RO>3|P5AEtm4bWZQR(k%}x6pL?&PU;MWDTl=vt0$^DS=b~ +qH97a3j+pc@T4&}aVws2n8f@84{np&{((bwdom;JIo@Y4ZLiS3^j+ik%?_lsGq={oO}`WHzZ`&`2L#@ +1WF=a@%?xRosFaMUPO*cjOs3v4rwyG9F}Z^8=aEmstBWtG7do&xVjg#YGBr+~2S3$ +rFcnWXA{84v00}c;6tr&zo|3P8lbGi9u>w~Z^i=7tPEK;Em7bo?t4hZnS3V3F3Nhp?`itfcM>Tj{TS+ +&G>A`l_Lm&Ga4Kxokkj|(1m6&CUq@KKV(2K9)`kdu0DA5;34q~O9IwbEM5mwg2f#fT+R)zGM*{#p0?g +|8mmeGYMa(sEFk1S{$+2BI6o$;)oiLD@{z^iwHUCTRnYb&Pl70f6Zz}jnb-XMDlatudOn{= +54k)_Q0bn!g+)!?Ng#yd;ug&k&m-*6XMnkoe$Y~sW>60%6Y2VVZ~Bu`Hcf+B7ukJAYrP0|w}oRq)eQ5 +cSm*kbiV`ay@UDLV8l<+S(NbZ0k`n76W_d+(w~Fd36S<$rWJ)g@=8>Tm2X@!i8M$m@;&;VcA1?vR5@4 +h_tKy9iTN3m>%%KmNrBalHI0w4Z$9H}iP!xfgAGs)g`>In=iR; +17rSF%eK;Le0^xkdqIq!eFy#(RjRDyi;gi`y;0r~bC-_>@I +cjoRlo2CEXH=TVVP7c>*98)2PzKp;X< +7Bu#Z*)#rdm1aqw^uq}4CkG)Ycbiw4?F|QHA@W6E+KUR8lf2CslIwTagE<0+jjP2s26wJw1==1G3q)J +oWE)p+ho^Do!RHCQ=k7D5F?AwuzQ|lpM1Ov;ib0yqv;cgnG5&p{-Ci~5kI9tO)b8^+8~B1?9_tyRVTq +-&)8#e9sg_e9$#f23S+}|}6~oN|skGRFTUrCZ6(}(gng2MSA}4w#RebD%q$!xwIU?t~%##+3YT9cNZ> +3i0jN&PiWC8;}Os9f=^~pWDGa}v4Hjcpha8r}+4%g|v$DC_pqrM{ +0cxhj~>tuI8CZD@HlZV0NAw=Pi>``aPt6V)!bxJBk7qBParGkr4Jd{?2g@bW(bxI0x{#1~5@clAdj%5NfD(*x +o&)u_N=K932|$y4_Pk4~Ey5n!*bx(jqUYzM0k1JY@iTDZ*H-D3P!5pQ{HAL6_dQkJ=w#-S>U%B+8pd^ +~mnOQxp218}^&J(4P+Zw{RL0dm$tR@6vF)_|Q9VM$o$?!uBT$cA2;&-WyBP4YEGh9NK^lemk&|(Yx_9 ++_Q1$htv?h!z>c-XqUcq9=5Z^*seJTr5oh_uE;XlyLX~+N7VE!inr@Q!260m{T8L&;2VK=b-V4FBXk$ +Vi{t&Q+sWeOZPP}*WgOu5LOZ&n?ye&7Ht0$5zlBqDhtuBsTR1KLr{Gkvnc^Fq9z`9x?U9V<_CCitzNb +IJ`t6O;`d96nSInNg`I_uGx!;f3?Mpv%X!&D!1%AcX@9;|f5xfGw;_F}F)p90z`U@A*TzS4>6r-OclTj1~T_V3^p_`q9qn2ZZWKMoYriKBo&u#nFu~LwBV-r8QaW +?)WaP<}h$P`v+XKUe+OZqblO0G`mJ_(;e^GG2WosQt^JcSY?0FOC7DP={!r<=8%W3uHBvo9XL)y@mil +Tc$jfU$@5sF>a1i7id2>$FZDX=9KN|~`r)PCBhlY3;BY1N)VF!8C1V|kt49)77&M*lp4--^{=gnu4WU +t9o>S#`!9>agrPtGPSF`qQ^YPLPZ>o^N_3xN7K)}%t9c3_NR&0!#!Or+VQWH3(9zaDe{kV3ch>o +5V`*k6Y~|w;qaaL)bc*)ygcX-cLT-&sZJ33dP}-JI*)GW2Q3#=G7MpU`2e8y9e`_aMBrv?zN5rgjS~A +BL*!+M=8oEvw7&u6&1a6Jm3#!67felvwX&0(hQ)QgY(R~gONih>D!ermX>^sFld#*vn;|@b0Gp5oEHj +9=VT?CBY8=?HMytp{J5Q%lQFs`##!PF(IS0}ORqmw`6Xsf45v~vI;xy!irhLdSsK +$RufjmBwYQ>yo@C4V5n|(dVD^6ts0=2-o&n~IGq5* +otZgh#+UZkX6E=$er~;$|9hH;uAAL+&zdf +=n93(Uz@3L%pbqRJX4*0dg}}QprC*)^>P?*O$%_1aF)%ji!$TDRzZ*^=pb?A;*=p)}L}3YWAz&U{i% +7PV=SQ$8|}q2V2--!vvZ-Tf!i69S@ +89H&W=CNOx{kNC6>ochqr4faxvpkjZTbMUZ`lb-e|ROp*Gu`!mHZPq +b~+y}{uFf&^9r+fRXtA9f}y&|mZqYrgQA$WxAtfBxy+Zj+#*vkC4^@j@~_hcIL?G51<7-;5d1nJr|Ai +b`n6otu#av{*TU*a-8vu)Ad$LsE=Pd@p0Y+O_oPWUg@?8T$ZLn!8T2 +bq%cl7DxJRG^l9fm%IwQ_UC%!P-LrmmOsh^=OCa;cTz*p%KY52nz<5V~ZosX^VO3=+I-eP3U!Id!wng&M}`Rt@dKPSnO-Xo|CI9C4^fUJCc@0C&>vC +k9sHD~O)-79KIOKp7m@{(~NF<6k5P8hu*L(}0V*!OfJTK91Pe9A +g6&Uv{?y?ZxK)NP#4ROhVEP8p%;d3VkiDyv +R~KqO#OLZ(vJY}#RPMkK>rwG{=*@kLCp8ve}WhqCs7Ka5E9wj)JYQmRHJCO^}zR>=mrVfq)or2gs}HQ +9Toi>gWn>2@w=OQ3*^$z8`9~0UPs=k%-u=y9XjoeN^gttUEU7aU9aMI)^!W4KGq<250BqPXi)IBHjm! +YM#vt0k#EVp?Xd0my#)!~u>+6yE~ag`?KB(6?Q%-^9w|m|mvj`~1HA2mpk(hw+73yfx9`W_i|zdiF{w +ZaXLEIG3;Nvo<9`}rzL_xw9^U*FVzTAK_2Wl~d2jolhnSzQr5nvBIqEX+Y@0GshuFkSKV0!4}j7K~v*ua6h3iKPvrP=r=atUjWlei4^+)HJa}An`vy3_Bkz9AA +T}ChmZtT2oRnhI6!qMTP#aAm*FqIwM!tKKF^Irqb|GhxKZ6jcP2SfHbXs=*MRQg2E*%?eq)`y!>)RC( +s=nF;F2RaUHdDcTyiIKbi1=YA;x!jg2sfmb113)Li75?M2^h?`6Bb0OJPD2pB;`RpziE5-?(6KHum|f +{dio^VTWJYC~dB$t(0HUU^P_$;wgoQ}KFCTpv)g$05`UlTI9EkmfBE>oUNECzk`@dm(=%H{m1z7yZt`{moNMNh%6*UqvV +b$5Q$*{S)H~Ke_rN59cDcJPN(kY-&2 +$TT2y~YlAwM)&i5}F=DA^lPxVMQ%CNMLrrohuZfJThQv=5% +JL(pUPjMd$GqmDH3;I$_zLzzclLkK1|V*6827nh=virgI<_QV)~BGK_lR@n+pZx&bD!%G572TgNhwk7 +3}C@1Ao9JqUKj4I7l2k2?u$h)sE!Sj*eoezLTk(grS;^|#m^h(Au$Wvx0S>&^*gbDGiTy|x&yR{%@u| +e8Bpz9fI4kxgrI=!=ip1S0LvMAv3!MFnnxxU+jWLu)%Nkyl9P8{wl7X&r=dfpzoHZVS+X<0jhkYxJ_4 +jeUOKGAMEikcR7s{FKQX)LiLEV5i9Xw9o6<^us3K>(U=5C=zP#OlteDo+Aiw? +iRtSkVD%LPjese~*QJQqSNW<7+-zy#J~PkeEaZKEXbx%ck^mPx6Y#^uVzT9lGC$D69h4C$8EF9t#XO= +CqLf@CppAEaS#H0831t*Q=6iOX%2DGn12=kp@mr3OR)-xdR->TXZ}z6iLs`>~*R>n*5H=QM26OQz+VH@40o|W7jy&_x*vuH*>Ozol +D=`8;t0pI>OTfEVHxb&r8o;vXK#tdR>% +sSBRKd*!+~}yK*H#_h!RZgOVCi$?Mi!#KSmgZZt?A(L2B4j`5Rx(P&&VG17$+(aI-ff+UA!S+K~|EcR=mMF`BDTxMYVEbn$$)Bc{pUSuOr8t?$}Xya9qAkhR*Q>ViPQ15 +$=3BwXP!gx_@>;??KF=Y5*^+mP+s*E(S%k=o5RSEM|@!r7wr-{;*f{fC)$-J{}xZVp;97gXbWGU5KHj*r#HwM2=M}(2cye|$9F_Y)^2;3fCwX!9YN#NS +CUC|s^(mJ6o6IadftdKMkg9tn;=r +Z${H$1nYg#(Vlic-vuC@gQ^%%1-oGE<;XTTh!Sk$|t2pVGbSOrCO!gV%|eaT}F9B1=x5+Ld2E!>mQFU +WzMf&z65F}ESGI1mYNN;u@jR1e9VZpJ^+0QrpA2psp1$!*#$4VJ^qz&?ITW#Lt!)wfE*%%`viAYD +6P(@pCEV9X_llz5Rr>CodGKBioW8v~w{UwmW=r>y;Vo__-U7z)TW@ZQ%D3y^C>KfZ;`b@_mYhrWuzFW +G4))|S{?;v_sGUA-Bnm+n^7@&4@;J^XyOFLL}}ys +oc?=YKS#xJLzkn`<7GD)cHiv{=!Av?+dfw?rE;D$W-}X4%Z?GQ(ixOusXXp=%=c|4{c{%Z_5(w&*)wQ +IF>YcP-(~ir5c$55gn8;SoX(Bh1%dAaiDAX3Z?K_dRjrL`G^#2nGWQjn+-;tta9c;sHn#aWhGYqpA{f +<)=%iFL&;ovJ2V-$5#z^qf5MPKLRh76nAg^THji>;&W}WP0FHyu7f)KT3n>zTn{`n=x8l?^c&&{=i!O +L9OHiGRTbAnwP7x^gFX93n{V}|!~9cg5;tz=h8S4^Hr=yhFgzc>aR!db@W_AZuKiJ<#Ci!g68N +O?vBs9=*K1#KZZz)<&t93DiMYa&FCrVa)cOInv>Y9R4u~H~IdK_;^OXmW!9iNQdb)tiTwW;?M@KWOtez|A==&K+K;v}|J3;}9CZ+Ep&BX^_){|%~pGQ0l!Qp&-p72wbV~7RzC)rF!&B*P4B2$#N{ +kmf8>qnk_#Ot;`8Pf^1C$gXz29=dvSFug5>s}s2Te(~Op5skN +v@fS`e@gMqEw9HL^liKD$eaWcdo12I2iyDdTJW^!iY9@QY5{5Qcc3Ttoc3N1xt&$YFohI8AJhuiVm^(cc8gts%~l^IrYT=7dy3f=ur-(rh%1pR +3(;VZwP}<1J(%^jZJN?>P+9>Y|k&WDv>UxgOgp_0^w~f~&Iish6{Ndh52{9bbhs%XJ}D=8fZME(ZFwA +;?~&{ILxPYZm;eDB1RS;bL&iNA=!02=Qlr3!r5F16`#AzAAUz4eqNr;I#fax66^YCH)6l$}>T*(vAWs +-n0NC2j4zFK>46wP7VL@d3;%so#y;q0Ca1V@>u{B_*K(M?9kH>R3pYWuZl_m$D?RrA<%QI~f}PJQMX4$|cgbDjWuBc;kh>6>US+a>e!H(cp8_9X*>_|ww?1%d5vyJ#ZSdE&u2h4Xkm +^j~PNrS&Z)JT~#tO^si$mB&U>Dv=p@)*z0It4@dR(Ml`Ra`vcmu?+yn(ME9I_T(`VZ1?Z~+>VP?*146J$_NM`59GykOH@r +tV4D7KwarBGRb7H-5z`20($&BA}lJK(+YMy1K=9$n9~UFOYD_E-*d=om>eRJ*Mq=rxmCs-fk- +lfiLt9SJ!TlbC_B~7Mb&WhTB1R=~^zfgZY+PybsBR4k+{ng;S`5;*+=0^Q)z*GT_hbD|{SqABD6Q#M& +c#b78Sk+Qu&LQN}258oQrv`Hccp+L7zzVLH`>E|Yte_1o1*-Bgop-aJx^V+$^{lriF0k~G!^B5&$ +%zteV=>ON(-c&!K=Ko-r4_N%mA^x&S@}|B)ZHcSZ{x0Z^Es^XkkyrO%MHV>Us1jR2-!APz(w`#Z3PhW +H2)Pj?Gjuol(=Dor5Su-}Leq+1>*H$4$I#B-pm(@L|ASG#Zjzksv&!KO_~1Pq80Q<$ag+W?HtTnq)?YPAE`CA}KUf48_>kk^%25pjQ4 +Ju`(*1P-|DD;d^Gx=w1D4_L3QS+T1WxpU05aKc&8Yqy9Y4TsSBp0IbT)Zo0lvsaGhflphb_;?SFrnZx +}VJ!_$Sl-Y_`C!rn@d;zml3}zi8nJn-<;%Y}{DfHSEb)KK@!4Fz@2HmB>^?Munm6=cMllCJMgkh#BDI +Qn?XiM#>QsSBpItg>_NaAlWb`yE@C2XI!#Y(US4dr~!MdPBHk#%R!LR{9OrRRfhH?-t9sz?M`9S9+YK +3LnFOV!J*HjOj)w}Nl)D4g19W(+ha6f$Lg&HrK{_(mb7sb5~+Mx|DLLaL&_qL0H+ww!P2z}=*YC%h=& +TDKsB!~EQHG9e8l8ab8C3)A$kW#Wf6r|=Bcwm3&mj4Cl1ix0XFAliQTQv2 +t9nO$GmZQ$*F6O4{yU)I|caR2eaEL0&_G2^q959C3(p_Q~B|QwXZEP+8%x +J-@w5O$i7>QJ9t +`?p)Y}c5gm>=K==m>);3y;U-u)+?teZD|AWmP9_i@XsU|lTi>@%-lSRA{(t2@a~U`&Ao +z?2PFlFz<5|_g3@RMPc3A@zwbcYJ>^qs5};|VHxGy@idUJ99ZnFRTiA0!&4a}GOF^3L0TxZ}k>2N11z +pNzj;7*z22QKXbawR!S{4aE5wlNC>e7zm;oeyW&XZ)O_*aLL+rJ&Wvi{2zILr9rPyOc3t5bFBe&eiv| +3A9N@1B{Pr^Ajx8;fwbe*nvdH5`L{k7WNJjP)1f^4ZZ +WaDjQtDp6`h84c|n4;1R16PpQye@PPI#FAoDc#A7@LoxtuG@D>sugfja`o7L<>kS9C4IU_srC_9e{E} +*jBkN0YVVu?$D5#Sx;N)qHxkeWe_yZ|CBFKA$lgwJ_50#ICBEi$!{%U3U1sa!fsnX`SXd@r-K&0%?@ek_;yz2NA%`vu3AtOPidDR +ktiRl-j`ZnNg6PFf*|N&h^aB;Sezzd1>WldN2L+rm-Ai2MhO}`WO8y^qACLI8q0UF4=vzP--|}CMtLp|m&3$FH;X?i#!GrO?Ly<{xPDW~lt +l6Y)!%IZY4Tx$3SsfS&61me-OM;D^R9u`b4jkBWrWqM0wUg9gt8unaKwjyIZo_2tB6f}}wj(-Mte ++&=)ZmIx35$X-=WeTm{h+Ud{MOW(FRWHugBPE-rfvy@ +-l;A+Jm%Zd=`KRe=0TPzX1=qD2rVo8BWG_=lc_@TW0V4qYgtGhXkEeg1Xjhc_+-tpY5)(>6)ifDjh2f +XkkXT!BM&JFI=>Fw)k0c0OHa3o0{R0|UmkARN*bt*H`zS0FD4lhEjX=K1A{KJ*-<|6>hF#u+-8TYy?| +6-4i35Cl^16K_OBdW>J7~v+QPhrL3}@uN{iq8;$Q|3?p1pFr5WVZy*cmLh4K=iZ|@*dMn+bg^Z>Z^-C +_N!{v=Om83$RdJ(lPpJPIwNRj^~)2Za7@M@-=U#eB(~l=(fq#J_QIA2;zm{<*{AZ~tpu3x2cz1yK+Tl +f=K2|NRA*+IN2Gemf3Hb4k0O4>|;SnGe5JegEwKb2yCS`0o{v(shr2-}C-9z?k|_{JwpErK}iV4NgBaOdNr9K8b)aXA#far*GB}S5D42H%0J- +v=0M_`aLZQZmTjebt7p3UlW?(>#HV{%!s^rI=-w;nbDtF188zrG1cUElkej^aUMxqF8_N_*wlTKoDY1 +>WI*uE+6Zud6E1#6wyF!!2mgyq)^cT8U!6Vp40?Lt{w3=Fm)#)XWjX<=XBmdGVli +sGasp9M;B%1z9`cAOI4$FU|@7Uy}qY2us(8_(BUZX(KsPMU;%CP{o{49@Vd{<@n@QkZ?KZkf7hr%XS2 +A#sGN^Zj5Hqzd!&c16Ksc@CG^*iz1UHx%&F;hhMuTR5WeaLUkmFc}w?;JLZBC;@Wx^22*#!rFl#cG-8$;HyKAG>+@sg_7kVTQULc#AMw4wP-HWkQdD_azYb7V~XvVE9e0?+I<;8(9${K(RcyL-L*+w0%a_^Nujbzs +@I)jn=|O}sao`Oc~WzIJLN4gQ-v+-$Gcn%vCi$^HH8>+?@qiBct?3Ha8S)6u;znw#cw>RtCbX*_fLX2 +-zWWu2RNs}YogOCmM(YNG7}0zZv7nI5xz9H@)u=8Oceva7+d%kRAgH*;+p)Es61L>{MsNEj{}KKM{)zy+xtQIo +%O0pj_A^u*%w*^aiYUxnR2Fvt3cqM0u3-m=v)PD~PsWvbC82+It{2fMI2)O6j`}cJ9>WtN(DT=`?y;w +E&zkyra&7>|mB-<#*U5uKMK1T^oN)M;S@5mgo?q(hO{<4@3y5RiAK8Pux|)1!UA6N>s)ufhSGU?Ia8n +QcDhtoii&Y*nc^8ood)z}zejgkAj=agj(p<^O%F6YS^@cf+rk%c3gl^3Yup1VKR2z)Pk$Lx3%U`h<$& +>D)XctLZZ!t8_Zw(X+bj>3Rsx)Xjq!x0=?@N-VR1Y+gUL;upTRL`lo_tM8E)RrhVEfJs#Bk90u7uW!U +2e>b3Al^6;4(rge^ZV1-{R~eqxUOz$|_kmhNZ| +^y!C(24iEW5HaBKd_SWTG#2Amr9-(Kvzmq2vfH{|3QQ4TjBT)7%{B%%{?tyBeE{FDE`PeX@C^K8D^2D +pU9u4PY?=CtRq6+)0r)Yr&nn?+S<+Wn8TckJ&oh%Z))@}kLl+6;!e7-!Btv8XK_=)kXd+L*A%c%f%(5 +8odT;7|sh%TxeX^l!F0E!q&7_jDnSmN_prYa*pRY&Vm??9%Z)VIi#1(MalBmK%dQZl~{k*UhSrI3@er +98TNVT3ovs*9`IojHgFYUrFfHH0rD($Q64JQ_44qd=BKsS +1!sM(gSTl8!&n0dVADp*>VA<96(P>TIERKGZ~%>Fh+#KYB@vbnQTmnt>2ROLcH)Hf(iH3<1!HIqf$M2 +$*z#80q!c&oK&Ci?*|x)J0*D^hwyMyjuC;aZX1sa%HI#|%X!n}_e=U4vw9f$ZG95ov)`P&%i}h!epBw +ZL!sM`zJ?k=G4D`nN9!yYYrc_+<)`@e;J-3(Y^d;wUUx8arZ$X;Xh=cHL5(v4=9PWCDF}Gfm#hW@43ICN@Cm5SH( +scWi@XQwzuK6kE;lRoSI6TXJm~a+UHHkDeTg*Zc))hE(HbzgaY~~Edy64DjPFua^CNyw2H$;YkJq&X< +z92I9Q-<1S#$)-RM35=xaOzeY@p+n8AA4(l5yDSkeX$yfn_y6|oI`OwA>}6Kw`_)1wg*n|r)tFNSTBf<3&#b>PB+ufJ>H}>?IOUq+@>z-o0$7}xpxp}t1aX5Fne5$@diSQ7gk@2q!7$3Z +SuXWB74997l#6n!bCW&@$VupKx}xQfTra#$*H2LxvEtgQlOiM5isgY?JSpX{F054^(l4?4GB@pYOTO;(qyZ^chqTn$JUe?{&Q5CvXFO`@|yr|a2U!raVWmE5 +DFD-F@%S;kDY(adHAekd_m?8W2Q>X*q5ru%A{d~TIIpCWf~%*wr3Ij7lA0MAN~<&J~x`lIv3D#_XP(B +q4t3?}558Na7BBbKGHIvD=Qu6K-n3$B^RNM*Sh*Qk15cVxfqXn*V|{Jx`Y4`25CBT)zVs>W21XtVyt` +r$}wMpb8=d&N?7BFuC9xRz;i6iTWZ87rzTK_6wtMT@KMQ6gL67$mK?H8D{Of2*CtYa~}&cB#O@OBWjf +-?O*f9_?773j4&ZIustyTTA1``9f4B1$ZykyC({9w}$4f3SoamIE)!ZS8F;tU9cI4)&9tE&jKD95Yd! +490csFj*GdxA1MiBN*6iq*$|%+f4F7z;=}d%(5~*57UoQBc45)iH3;4zilY-l)eojo(bQ|k1ByxK4lw +Vp!{creGXSr=xt2-2_6y6 +o!!`f+6c8ghSM)$rgIk3x=`{I-xzw4<}nrr1+AS-=&h0oef+N|A{|WIxO}SN`mepNW>O8L8zU;yGLTy +cd@-K;Kr~^w!BD6?rox1Wd2pd5FFo%b_r-3W$Qvh>>;2XyEl!Ak6Pn(P$=2D4-)&kMY2sh*%c__c&95 +A+tsb3ZP}k53C4%hK)QfYp9@69%TF~{ZeUM*%@|+xlnmB~pIb=4aE(#<+Om +RYpX>?ULIqoF#TZf!XY~s;0>)y%7VobhdqvFU_e=~kj`@mQTU6({g3_Lm-+EpBoQMJT{Qd_z^ViwfBz +fxwxNhQM5y*sXG$@&2~$kxa@)jo&v7yz7)K^*esG;7s0Z}; +mgQ?8qi&9Kj8r@?LPq;SuR{wBXc}5xUeKi%&rSU}`!#OzT881y{Zbp8MJxqN3vj_ina0OZWlY*ol;Sh +7T2y_`$^j_3bO}cSy_8eNE~zpji<@85i^E6aVvIxGLoYJP=yM4dr$D#_&bxMoV|~mR`1EWOpq)G=BxK +{_yw`6vp&n{ilyN4@qt`x`o6A1IGejOd;!4|h_6|0WG(Soa@|eo?Q#;uJzFHhF{)wmp$SP@6^P`SkaY +t74HwZJN7wh+Il3zkOm|h^?v(*-JsWMOWHl~gPA_7THHA109(p9Z!=oJylFs&{I(OPphn?!be~7e;pB_q2bC{iHewlY +A&lqV#6;jt7}A}(z)Nly@RUk?^a?W3H)FP4ZG`@ER^c8~!*axJIT#@yZy^yRF9qI%I@Tq3pjb^zp9&d +MWFFy>aeY~c486VOl10(F*5Bq~J`4h0iv+>VoR8iIemEZL;DMk*ekFnWs7+&lWKX6yH2OA6#}K|l-_l +;SAqhXGy+r+V;ala7RyXo=Ux0k6#>TjEOr6-js_K%*uN^noaugqo@AntQ>MlhtB|UH{Owy7$f3_9Q?3 +o`*z`zlxlsr@{j{vN +C>Dqv(_)>t&?&vArnSen)3BhAoXm*eox%*F=SO(nL(F0G903uuTF+;XI9%o$kx%g;AhRWa30T3(Nxt5&_mO^OTujK^(T&;=Pauu&yPm?30|8oBph +(|x6Uh(cWl~eBW0|T55*Bw)PW5a(?he-pSq_75bPRk)Plsd(?c~MX)R%_oI_Ur!7ST_nR)$h&yKsW!q +*|K17$D0Ff^jOkZZyCJWu4LO$ezR6n +^FCMwB%R-EKEJX%afqk5B*;iUsHzX>bLXhDkLJSU#4W!pVwH(U@#V77VJvf`J3+^~nQW&u==Ug{JW@R +eLJFGldafY$0R4V^oi7!(IFSD)xT8K3nEoJVQE3e#2`CVmGhU0Tru_RPnw|2p8ddt`cG=1jEdSdk@#y +~c3GMSA9P^Fi`Nwy^H`h=C!chW)P!dOJ8bUD?!dBCbrYM@kaRMb_2*=USEI4%6zRGu&Cy{KKF&Nv(n* +_d*X5d}78iBSf7eW52APh}5eHN73do`fD{kK_rn|3rsY#|i{+1oJhp_2mNLO+{0HnduYzp&s|vn$!l- +)VZUNW-@|Y)nvkOXWekL5T0NF$A^oNxw*6uBPLroSAO5Ul8)OGu%3l&AiNa1<(B`GW$!q%z3lmuHWb~ +wlsl#f8lY}G?4gE$kb^r!_VoUBJdN3Mz(9=WU!}?WY6&{w|}!@j5vg!TlvCw_3AnxOy-w*t<5$P&bI% +%$mLhVY)iE$TQS&dc=lJhFXc;tn71`tTTbvU#`1Hx2vR1AUwzB3(IOuHQlhqHi9D(4Em7Ocnp+QsTJVUyyHx2h;~H1o;Epx#n#<#II$hJs$LX35-}w?D#if#gizlc2y}8Qx-3`eWED-L{= +I{HFFQ4({&|K|4IDpeTH2r?gaN~TJj=Y%)NLk$Es;+^zd*xooM~VdlUJ@1S>SLUq(EDld`)+s_g>gt; +aH|=GXee((6b?BDMkdbdWaLf@13->XT_N!b4j06Tt1jU9XNJ&~F#UCjf{dRI2M7jMb1;j5svo0&nCB9?X2}SGtR7P$ad(vPV1Qm($VnP5SBkor!HgVH{~nFE5LjX!d|w$OV$}dtEpEQtpV9h72 +Uv%h?@W}g<6}AF>|nv6r?^+!xL}>;w{gS>ad*T3m{n%bCiyNK=Sr}}g)sZdkFEOx4f|tqkEC2=U!4Hr-Qt}ii59--Jq#6rhOJ@h>49>lxQpV{f2P>rUq>Hjh13k5ee`uv +>s7gu%>N8uQAW_izVUUaAgv+3$(G{OTv#GnI4RX^!355Ezuwel)U> +^_oP@uh$Y6*08F$@pT(dnQ--Qc4-eKH-(G&_3D2n_Xa`?vwe_+)w4*a1=?^7u-VrOC?|M?Q%U;XjbD_ +__2)kDYWUAHUQ7?>EgJwZNC4Pf+!4&<)+obBZZ>r0H>0}|Ax2e~3sy34Mt7?%u<;UGlW~bF|F>yV$|uR@J#-dW(P)ZdF6_2r^Q$lbgP^OzAK +&PvZxtPTmMhN?DoIB@*^Bwei>K)spF(x3v*n4+zTs!VWQR5yeQ(aO?U|Lyw{~%qHds?D+|PJY7Xm7Ry; +aPTIw6uv@g*}%AY$;Nq}B00mCE9X4>)aF!0%AOc^uNdIGzI3$ceL!v--h9>p +JhnV;4K~rRdxv&h}$lXcw?}qvFlE#b;XeWBme%PIYIm&jTFJu$LGMCdqA-kk1=K&F}>4M-GpfKy$c4F +NgJ98K`$L=`l8mOBF^;UsYeL#p%HJl#4u$aB(`74=eOwT5}&bOe4Z+4zMk|9vd +LxG@>XUak)vcAm=u4DZYsX##t!{=zRf7k^w__L!N#_%Kxgbn+UlM!|Je8xw|CNeU~;F`1hu`FzUGA+J +_^J%k82`N@$OZlkPbf-X*EI~_3s=>P_ShSVkAlV$Y}5;BB1hYrwd&ZpI4A+pF$bf$gVU6`F^L8%ud5T +1tdEUOnSy(Y8=tY#P+6BjT@P#&G!$yq{sWD+_w<8xGdo7;fQP@I)vf}hCPu+H&##ADVD>2h_?9{^Z%m +o#hWZh@sY=?X2*q&!Bs@$2v=E1YOcRl8Jao4tuHP_9>9pbmYj-Mz>BxSk6V(9$y*aR@#mG13!NA~cfN ++YNZSSL5N;yiWQlFI+PY&jVcn=uwQlaGVwBIJ8E5&Xp<-uS=7So(v%{++Q@m#`)NWGsEz_J7=1GX9&!k`~3>(+_>i3a +Ez2vRaUg`zxUw78w{W?gIr`Tu1Iy>I9tiIi}xjkY^YBbR91`jbX(M{Vso+(?XXu-&bsz(Hfot2bA#`YnW)yBwYF&fJ|t*$Zez(<6$5W`=#XR9wHrNl0re6ljCzslGk#2=k +!C%gF{^0F0OY17G;DIOR07G>Pi<0564)b?E)6;+ +s^0*XG8@h$+|f;rSgqEM=fQZ?vFc(@ehPpEF$Zm9ON$=0VHE_wL!stJi=73hqiw_`1IT&KtAKR1?y99xP*lYk`F4dWZ|N)lHS&N@nO{+}9449C=f?fJshP?^(>e`9 +rEzzf)6wQCQW_|D#sP<%OxIWNzvq0h%-som)dizj`8T>NeY-vCHmd#1Zmr`qWSs#e#P1sCCmWHBzjh9~ +EBIbKb2@tQJ_T9|rVZ%laMT}@dC<0=5xL~%@30EwREC5Pg#IAa`OfesE1n+&r4(8+cVk7klCSCEfivA +V7#0TQKxZT2Mw1E?h!Q8JYN+0%~Ijudls +I@@?mz1v37Rp6OeDcH0hn4(WjXH9Ul3`^}UpTw0Dy3DP5PVEp8pPu_OdB`+(wI7Y1rG>9kXF0)TZyePOBP`x7LGI +u!gGM2!+6KU0=O68{)Rcs3+X-4G5bey-K*jcu(TvOIy4G(Hzq9B|;AGhJX*C4`)!BPbgIZ!T9`A +)a@d%<9`k#$&|N2zXXaNInyIZw2Mur9&v^+ox=5GpQaX$ +f&;;l6~#M;u$+kH!+rt&%z*ini}8a#hYJJDAww)g;^InsN#e0(X32jaNNfI;0khgSL5;pw-=9YA)(nI +?FzAt}ivFQ@BE7=zdozJbhwHETg4!<`3c-fF)OS@!MOq?R@s*XG0 +TQSM}o^Uyv3RCN%2Ar@MGV`jqLeo#`R(2fsYL*%%!|6at9y_9l-OjE`adtO(7AT3H(69}b-fBvOuebv#`4~#q60~9nV@u6)m +jaLP23URm24CalTkRpAv{)d5d5grD2`ru*~j_-e_OSL0Udh@>vHGE+|d=DlnYui3w)!n-3{E-m%U1KT70(*q{)Sa~G-_tqm<@p8ZI!lPt7_$+3qk_%dofC$ZCHQa`-JYLu9>_-`ugI +Tgv}DKU>c*r@?EJi&$G1X{8(+fmv3yvAuA%!XP0$>Z$TZW9L4hc(8-k*%Vvy`hDnibIEVhHB3HoYAj& +I>!FQMu=&v!un!*&wcc=458mey+*@gN`p)c(t^k*O+21|s%5MiF=HCF4y$PJIf@i%c54^ophC-?%cs7 +9uyQ)HZn-QbrR +&A6%H#AM#q9lN4K-WA8HIF;peK!%DEYVe6(_((W_PwR2&%_CwYj$sM_%mv8Y<|aJh+WF?0krAdPD07^ +0iAjN|DGy6^v+3km)IUJ9JZ+8E)14jx{I@!8vicm>!6A@p0+TXFEgX@{f@%-J95mI9lz{%{R7Ve_?>9+MsR~MUsWUb5F9-YL_d(?Yel;p0iAj}5t +T2-UelJ?`uo3}+sP9pDFEIyFKf>eeng>1H?fQown9s?ZZ_3b(^p}XA2YMTvM0>?55s@q+RJE^=ke}Eh +wQbLvE$OZ{zHtz(*cAjl+*{wTRa=e1($5>akV*g5!#YW+1IscuW^fItaN*vc>8>u7JL8(w=sGDrV6KY +4#Bg|8uc}@&QOXwnfNTdrXWd#6b0OSjxC?Hcxx=_rB*vQFX>VVfeUle``1}lxY|c+L~p%R^idB?x|y= +4Y>M7@abaK2Q%<5;xh(11ncI|}nffF<)ZqZE}wgMl$LhHK2?ssnf=uf!(PmldT;y*v`$65}QfIcPvZ30v~v4Plo%3$PHGfD4S$mrhbY|9PoGK +y&Sty$X7jw`iy)J!&Ac64X^q3GrgQ~S{?xWT)|210LsXt8(E#*0nMxPX3vv)GQ=F}BxTrd!jr)omt_o +y@VTAmi9Bg@x}m9mJNX$g!=ZH=S>X6GsfSIjd9N_t8i2z8N&iMM=7zJ=H=O0U({cHX-)sob +PZ;EgfZ_O~Fn;K-PlEnc1^&Z%`(12m^~W|2ny3aoY=47GAlb7H%oet1H-5tkf1~An(VMXLiVT0Wcmp= +QYSWvTf8GXsHm!d$E8w$feLkyyQpspqv)j>x1JdwqJ`&dD5c)!>nqDi#^czG*_VKb9UU1f1)n_h+=RY +3}A1*#E`6nVRgV!PVqq@^-ba92sK9+6aG@-5{C@%<*c@0z^QHnD1F$CycS&Np2VMTg%Q098N3{RUS&* +sAm-J|8owIeB<$38{La;x_3^Yk-vnuC)bW#&XX!0a9$>5G8g;z=zgU6*y~t(_Td4kCl6El3(**$kctH>J5|w(KJf={)#FsNKF! +3^^b0Aieu0EKcQGR4)IdgTrhuao-s16b<8#itN!(C$r)z^fs|c5@^HWi)B{45}*B{?!2NrpM^_c1Mpc +|Upd({m+0qUa~VesWF9)ZstXD3Z7MR%ux;RSqv|3KN{*Ptl`|0Asa<>7w~*Iy6)17d&L!(hdgAXnu+WL$t2%SvlY +`BRTcgh;46(J^z5%(5HwkGXEU0wVHW+V58#y4a9bW(=SllA5H%J6KeY-uxzVzC+`y +lzSE~1^;+=80fT*Ey);k)7g~Ts!^-h=1!p+O)9cb!Or7PBITy?pfR$y__J6nwBbk@-NSu$^aq+3nwK> +CcU{?Jp#bVVK|s3ql*%M1uWy(4_;nAknhh7Xz^2{x8ZIH(3RUjQaSfx&FnXVj=Qnojiia<0JRo +q^%C8Cx8z81RJL-m*3e1_LH9H&r8*UY$M&o*zQSE)!#GoQ2o_Zsn4isRaX?&CLzt1yn}Gy-f4X;3l-H +o+m@y%uL6uHAqVu?*_J@|goCVBMhm0|~80M6F#7SmtaTzSv$5 +-;Ivpe1#GXY^QCss$#uL#hB@%?^?>~LBR#2qf#Cuzb9>gg{dcx&}d9fJ2r&loeyultlty6D1xzn>BF8 +-M980YABAZOLEdfpcW@-m!S +^UYqSCJZM*3!gutC_a+U{2KSr9G`$r9X2qsg2^YI}4R1vY1iB@r<2`0gXB*lV)Ta0V{bh4CG2Xxi{>I +5u8C6?X-(kFTV*NQtE8mb1_|j>})D6cNg)iZ2Ss0&OdJ~~_DOlZwbM@VO+WMZbZhxLLWAM29uN5?KA>ZIr!Nt6FTofR1j3i-cWHF%BKba>ZX3m>3>-r@A;L>Mbz^c +QUtss>Am&1x0_RTE68MVfr?FfiUWtzJndlxfGGaXyQim$Qgv_@#Go~lGJn&q+!TsvGk`8-LuXb +Bv;)#lx_;wu+nLb=C%2a8vXrd#8xlx?3NekpeWqaqkZI38(3Kv9NuoZ)n

PSR-b$MBAah5WE#8_hB&4J#t>?SOx6jBwQblrxwDkRW0`{g1FQsm(j}UdAeu +!kekQbx%_|0d$VOnv20uLov+AuSsl?g@dlz7AV7%D>V>{<1PBmce?jiy>EY>~5s~NITV+*d+xFH*uvj +3p=9t|W)4*}W*f#ml1b%htuvMJ0$Ablmv)?*N$uPMDZE2=icJTf6xYEE97xpQS+^Dy^^0;vakJy +*CX_zK3#kMw4aK&z-X-AszHH11G~zn@$~fNs|r3SRK}ImOs0Mrn9|P_`VLS7{5yik$#2ntxICyt&7kZ#Z58J9yEAXRz<)uy%GW|yhQ4^aE6KLL +rAt{u_$?FR0@62QCc+6j^=@%~oRv>;ho4RrV3Hf&+b4&n|BL6`@Ne +*p=%KM)M{l)tgpn#qSkw+fY9|;KNSRQ+4g9P{L{D{WFS~BtA*PV43*3G;?#{kv7NMPN1y819Kq&(qtu +@5s}QK?IDfG-cO`r@RE#n_vlK|kNo=0{Iw(eJ8uHcRi4(;OBXuQx!Ypj1lPUPNRQNRjPDy=Nx+&wHGf +6p&L##|xkj4&8-mC)~w>ROCP<3Wfc72tmwgZNFP&GEPf-?_=K@C{^w7!#UonINsR7EbllqWdtUkW=5& +M1A$TDO_VN(^aYK5ymPh$1&3X!*PP0>*3`{tALZ$ +O^AiN{l4T7vVzcSk`N%H>ivB@bKMkj^{Y&jO6@$T<;`I7xl?_?Ei;W8`5QqQ2oUf%@cAKk=qDt>aE5d@>=#&z0? +FCyMVDWyDE1;n7ksFZNxRm78NzyUbbic5;$J+K{QQ +5@FpGJ|K{4=tJ%mkTFy}svZ-)oWb*BPiT7u%#I{~(4uULVD9`c*n!{>U)(Z}E#3`Hve@gwhyZk$nINB7FBapvi3y?Z`C}HSeZY1JQaTBR_H-(UI-P(H)8Xy1(<_n*@(O(Bz|c6@MU3m>k#&qK@8$9ct~kCnk>F;!oEF3?Dd +e2SCtg+VB@$$q&C&3>~ajN7KVTl|O|?BDh^HO!zH!A-UrX=_~Er-{_yUS1(5SPq`+5UKaV_MYe01x!c +|PgItqw2W!RvHAgkTj7!$Y`1A%bec`x<)N;xL#?n@d^ +TBaf-2%qJX_Jr9^xtpHT0RmifdQyU>@TR&*QD_2J^<1TMjk?}dwv@7=!>yzhxc7Q7z|w9>&WbBHXNvl +*^)yh6`mkk~tJ62;)`Qp1j@cks-Oz1}V@2=!vjlkqgcsanYLNrnuIDQ5t@N;YMya%662)4Xw5;U}ltMH12oZ +qd6VS`H&YzEyZVqXd9nxtals;qBGnc`5WvIn#CHZp3R<0tJo>Rb5ArU2*jc-;`H`Y5W2HD;hk0xa&&2WJf}>V^F={C5gQVAM;Pn_?gFda(&_YOcj!@+`-qzjwkj$$Ayo0EI_M3VHe21?>r+z8mL3Nt@G3pB@kiE-_C&r_Lz=C!Lh-Skv@Cl+9*zJqsSt&MM0EKk(I=pOyf?!CVb4&fcg+t&cT +U^3Gd@AQZD-C;j5O#%3h;`?&E!87=UHfh>07>E`PI$W4HEmX9>UnMOVv_vx%Ej*6D?C}?fG6wwYkTE? +isI+J7NOS+6T$mSqq3K7qA9w@lB%`xq0N*(NF8hA_Uyh>zW7$XIy?sQwJ2vrjm`_09ptEsM9Sb!aBI@jYSFGj>`}YEo^T6#tvruiS@?GimCHD7oU&H9NC-qyA?$Ug1?mH; +`EYECfm=;40$hiBtMu}Z444(->~o#{X`b?eIaHmOo;QQ#SJx}@Ia4u%AoJplQA>3z;RE0YgBn^p7nhw +=W<9v(Fmo6+hKODBTY)|!NLUP-Dyg7MdKQ@NlPm@;Gwv`Ptw8!R4YCZ)Er&4?ra!i>wkPC9%hvt0%JtaB1}(3G +j9iU8ZR=(PrWT)C$XKLIXT+AT&U1xcde1`)=`mb%g~^ws7h#Q!(bh2FD$+#SRLLp9)?S<(@CYv({YA}>D6)XoNeCzxBUFE#X!+Bnd*Q32J@n- +fXaOLjrLXUD~)S{F*#hkf +(FA_(Lydve>?#M;}VKomL)*k&`E5-P^qnWqu?0M)2mkp!aW4$;wo+oKnJ1BgAM?QsMdBY~Lqk*|G_F6 +*|E|QLi^jsR6EI8R3=RFJ5BmSNe?w7Wi@2ZLas`l+)J@5}| +w|_k74@_t<{?mTx^urTRB!^&na>%hC%q#@*wMCf%4=jJk!KX)e3-yb{X>^1|QSxvp4u&)I_#GpMx3Rx +Y$fH$xe~n>B))YdH2=SYzcLtA)6jloZJ82=mvCci=9pT=fCeZcQ;yz>`UL4V3n`}l!K%;uvNIPm|sz@}~P4oJ*c1$0#W{u +BPMs`yz3e|1Dk8dl3_(MkzbH|={zWYw$(27D@kdF}^YdUIc|q=oxkm +VT)pyHnyC4|Fm>Zar4--^FeK2Kp*lyT2i_bnq<}3z_ag*lxn>>^1!OP1+XZ{@|Pdf8w1iOgu|Cx^ZFG +{&j|jjKx>rD(N&Z>9HbB619V&vr0hZ~kb#t_vq +t(|rR#T1g+eZx66{d!HE5yO4ugR?wsDy6l`2{OEZvL2=BtV{S9;a}_*!XV=mZJH4it98j6%*~vx2hsf +(}Rxo+Hng)8t-;-y^V674q!jPW5H01Dn@;!SNU?D{GUIU$eU-v~|lX6HLrjeOXVX&btAqdaN-2^dEkb +6?uleIaWBSKsn@!^V4TuAKCM|!!2`?6nz5rE>?u5!9`>3P23x4KdCwKpIB+g%|pT9=q3r)GssQ-_@El +|8*s|M}MY=mM3|T1_zUzK#X#s(PQA0o_$+3qyfeK6P7d0}~p{QW|}lZakQSt*0hT8%2$8cntkZ +0n~wV+ov!dZVG<8KDyj*t8^r9(8Wm;Xfi}|R-f?8D>Rr@ve46kjz0Hq**?#ZV>0f +b>!wSG6e{oFiG?;J+_+0kDn;m1j#pW)HWv$9ewx8W&xTmp5gWs9>5IAFaP8EW&e~R`8ZSzECuBvMv*x +T^Dn4A~p?#gm`TZmvk}*n$%zTN_tCAIhM9D*WPDU*r5FytLrM}7^ +0wfhV{~onHOG~qy|7O-b^heV!x{UbZ>Q$te;m#f6p@adlfZs-hSN=?QVA_ew`dKcIzpwE*@$)OMqt)F +SHc6idvK@0QAnN!WI2zsWEtNgyCh!Uc!12Ts#fzF*Bx90Zs##%CS<0Y_~t>uimM+#(3WQ=hy;D-fLNS +;vkVuhDUljKc2CAV&AXGiwEYalq=BIPO>&%ddU0;z+dMO3>87nh;b*9kX*{g}71VFBzpSQLL +Zd8(JYggVaif+UdPDZe)xRC!j6rgd%y#pZygpfhB;boK{IrECc~*%T?FkjQq%k;&xdT6{m&k87sXCwG(_ +@aU+iHRLAW6N^-=OI2#ZMqG1+6FWGXhB;#v6P0052@X1g&3kgjOS|7BHD2Z;#ta8@54t15g*44LUI6s +^B?uds5qyCKwa4V^c;NG>#5PX9&^ASq@?u{SO&tE&_8}9k(?te&AQxu3o6pj-p1X3Ub5)_W^n_!ZFA% +Y-r5`-}9r#$`$aYQT8PgNL19^C!Zj*IZG2quCLu9mMY&e(70&)H;9PixCyr1r@~hD7A%aXDMdfL71c_7fs0Am8V?-D^V#dKo5c&8QJ`@;t1Orklk2TZ*Vov;IL0AKM&7MI-DhT~}6(GU93#$g}Jmxg2MkK0NbQB7mvvZK +xA6YQNHzO(k8tTzbtV1(CWl^%WI5bHil`dn|m5C&O}W+^KC +Q{&WWbLhS)!C!gWd!QgetePqNd^2oI(YOBe5jTb(Qm_MU>60JogDpLmo-RZ$kD%_<*=Ra?QP9o0|Rxb +ZqY$<1V?QlqM){32K|r`cBSoU(XG>I)cmQ%i0^HeAkC2#c48QDJ&FS+8(v;c2yAuJ3C-#A0_g+gH>qz +su%CM%#-5Z3Q<`pwD6=dw4J-g>hoJVtrqT@v6F7Vs9d0Mow}L@SLd=WH3_fv`v=|xgi&&fnL~^NJn6- +xqA(%y)#)0m$Q+zTnVn1W^Xdi!9ye2I3ykM!4xv&@ztEXc9?1|g3L4n>=IW42nO}iXIE(^G%+m(A4>Z +!VQuaA{xE%`sb7`eUB32==|69wV<_@R!_2f^P#eLU|34H6u{ECR?ml^FQtfKbS<$P +u>Rw%0qtO^}8+K`wgq|=)1S*mQhK}{CcK)l{f9D|qy+ef^)=krBm+?1_EC_&<&$=yY2&QvN=Ady(-5) +rwOPWIuIiv*EOvjU(nwTg1-(EYNs&4qJ*jZmDrBs$){4amSVn2TrMBv8#-+u_XCzN~Z<4rN;-Lskh`M +xRBEqE$xf^x;`*oOxQAwt0d_e9oTLM1I|)>>PJ=L%+QqWkZ-M7z^?kg +zpu7{_dYw+QEB+n;NC@-Oi6Y3D7lj&N(P>w4630KLjVTq7^~NNYxB4!eEMDsRj1=ByHlus!mfOL@1qE +Xret?^-Y<+FGGC#0n?KsM0hdn+xV>xEta0}WS+@s#((bRsIStgxR#zp}!LHL7>AgeD?C~bL_GZarIk1 +}76w2YvbKxAvre;7Zm~~B*=xb#P#+lr0QZqHWN(SY@vZ^R=4z3zLb73)TjkS<;>Z&j(f0ckn3{eXM4!&T +oW{_Vm-WW?U#v&UiH{Lwd*|l6ZVFnS7^XV<`=8I0{1J7;8X4w+TEDfV1tupbR7QiX5RRF6t8GlWtK$Z +724FD`aXkaAL>QN32pChG_L<&)+^hg${)MMzbOswFz49g|9*iGl`QKSOfiM+WgI^+S#V`!GHb67gYiA%jD=aK~s!@R6gYcEI=ZmOki6tRD)9AGPZpKHSikJ^FMR1|I+yfu9Bk^dqpngGA)eB +S?ZzV5Jpuci|fPZ&`{>uFU{@o4wEBEJbiAtgK<6JGaDRy>Y^B8_PKRkdzZ? +E)8krZ{m2Dn`sTZ7%tDZ4gzS@(^XEiw0-Rf%_Sj&mc1bMk#wFk9V3xYff|1XwIzPSTqf+xx9*z|hbHp +A9D{9E(1{20CYj`CaMCzKnzT4u6A12q6QzUaoyuwRavcs2e>z1?|Z~li=3*>Zkuque!p-B +q%W*sxQpUgTOzI;9Nt*5ok5@LfG2dyxLR7GwYin29SPwI`vQjr&q@1vL+kBo3MXbP2tvIXL^sMx$t(Q +!5cNFv6@&#U2<`ffY)KDIz;|yjfo8+e+}>=RZe(1wg{vYDERuQ +~kCRSFRb6&;Rh*S{;4Ip<~#}j)l9P?xom2`RqaHn>*T!Z21z6rWBz9t~%q7?T91bJti^kg3_gcQl+{0 +t>Wn1iC(UKYNbgl(8m@{teQ~IvOM`P{jDqKuJwCMOHXyo(eK~ +p+do*On$7Ax0-_*wuJu=YI +zeshd8Q85cZY*HOYcr}5aO0eJRpOTgVzQ{06}OMlLQIdRE3dl!?UBqw=TOj4s}8!GLa;jL+a_5_bxPv#&N-J}D;aOj$=}!`&>U2Hv|LVc-a*bi_KG6tK~|yZC0k={?G@|>8AdXTT~WDpU>%@k@&b<{E+RdCiOeh3WzQNr$;BB&T!_TCGWYZ9HAlt^gmrnbF +!IfvZc7iPH9Yk!@J0=gEJ_Y<5b*jsGXW9?Cj=*QYr8*4S({riH)D~K;7H>Tm)Kytm3sKKe`4k(C1XHS +&L;_r5U^}<-Pj*l!U}KrZ3v+yp4xp8L?w_g{79z%2JzFsAtZ$Vj}a{X51i>Q5G=xfO0amOWWyt8o1jP +k3LYK3DIj>zB|^bLrnF;6g7~zsq`%?8&p|D9U{*N(>MI7W#`@cteIX;R?v5%T5`5{$|;-diw#g0^M7<~jtKHS$J`U$>%I4 +C0LYxBv?F@t-$}!5G+c6i(v8TQeEht@~ukTz}4>sR;4uw=e9>bVt{_$w+3oAv3t(i6(QM3@ +$XFg3cRx{=}Z31BA*DEXb@b{J%N{0oJhr-o!8LNOI}<6zO!(Dpry4o$}F+8*P}X974_1=?etyMW +q=Q%uBKH+5%*S=$OhqkIs}^xvE&wRMTJ8|7btUm9BxuE_4lVQ6C!;++U0%n>37v(@yi&w&f?lVzywzc +UXGzw=rC@#nWqZwZ+)7k_p7RQN*7n4j*UaF}t)}giZ*;L?io$#rEI&bN^LX6emsPNxn@F=r=mU!cky) +y}BN>~|`SS+bB(x6ltcmZ_o!il1*}AX{p>2N>^h`?xZ{oVi75}FQ7SDilr(s%bb|4@RrRKi9_=+m(>+ +-K`Z2u%!RE=BV8DkpX@;9K3{&af4$*H(@sK+}S2@~z$e#{VB`q06ft(s%Cq*r$)umHS4cQ(vG4Z^Z6sU=Uk%{zB14^@P3n30|62aCc;nIbFm+#TRuX?~5)4A07KnZOj~x>Ke%Eg;5QU +nPh2!x~HPb-#!j3d5s%X@8CVykhAHw|s&n$R}6=Mn}KG(Y*O#P +CR54h$AzH;>Q_|9q^BEV)PsQOIBgz$PR|dCzpmE#|NL5(GWT2h9QTEqdvV7B>q*odpCFFhpGbklrbG? +ybqJ`VXMi5^*BWjGal@=9sN_I7avBiKK-*@g4GqTSkrO)mps)clB2U+qB6_3b_v^Xj}qvw3%OudUou` +tXF9k3*d`GR)b>4bBET*3KB;eQ63CI0)7S^9Zp`=9N&loNWS3Pe>F67`693@A5K*(QqKdWuwXjGn4@3 +7ud&Du*AGNi2UZq{qhZk8wA? +jMGXGx*Lh<|%ULgCFkVCbL%Hj5h%^+ZFmOW=xgff$RQ_ElT9({Qv|codk*ar=H-Zb-Pmr+10Xv8X(sC +H;)x>j}8~e7+mU6Pu||3hpw5mTcBW?O@)@Y!sl?hpLP7E*(D;WikruV#;HYAC0q!XkKLis7#D@z#-D} +Dl+tAG!YmSmAbe(UiTi-ygEBoP2c>Nd*P?Vm+%fU&RUyn0x7Z+r~pw9@5{R<))v{ZGs4FY%7WT^FkOs +SnO)5d3HfHl>{wn=DHIna<&>6G>^jd6UNiBefXf2aC}5#_q9PJ=wbvW__xcVOR*k*+S`SMLh +7QCGpp!W(IETvpORt!NuLnYi373)W%$8vM=OJ5^b2f-8!Co<o`flv-O)- +f`PLtLBwE!SYTcm?QOVcVN$0r2}lw53w2MQo4Ea7>g4g>W(O{=`iG$Z;LmwnZrN;m*g!|gQ4FPxA3*4 +-taKQu|5KtK;$nPL1EKiLv_!y>K$2z$AcgY^Sq$;l)4a11{4lGTax#Rr?u9$>e){P7TOVJfx5}@$P;A +Lm~%Ym!hkN-z$eDG5)zY@n&fpAFD*ymCo||ZC0rv!KpN)!N;Tb-l^M7Wk*7Z+A2udxv|`2>F1W`a?{i +j}qka(+Jc<9ZDKcK29mK`>t-J&Jhj38bf7||5E%*ns^fwOs-9-KLkUw_x5g>Y0kKizl;}nd61cJi^1R +?|u;uwbFFbWbR0fQj2FBLz{MC|K%_z_D)(xZR_`A{JoN<-*}((gkywEH?peE2{?_*46}dqlhGNP>g!f +WnV9yTjl6Bmwq~A$gR%lF+g7@U^}$@P1Sn@n6-H9DW#nWRD!z$xSwD@69s>$^0A{V7gX=q!%sp%C(O|05o}9)!1`?-(C5^n16S#oOQQ^v~MXOuaLrx_zs@-A$6T?k) +?WvF2glK;XxXDwq90TO@1WQ7&A$l`&(7ay;jY-ZAh`!DDn^LVxFFu)p8wn|6}Ka+$fQf2-m)n`_!AU+ +p{OE+8Yn`IjYLkqc6BLB;9JWCKeQ?@KILO{zZUF|H~%k=$|-b9_B#{Zk-Vk +Zo*<0ZS(V25nd#WZmf6eWWun*sqv)(y}n%MueX8%@G5H%5Z}X-DM*;{1o{r7Txyc_o?yw*9E{yH+?O5 +v`Dasq8XYyDXx#nfHJp;F$-_QbZGRi;Q69k8|88`*k*0{4lmbz3A}eXfa(kOto0yucUzv-*35%Eqn`4 +6cT(a`(z>*~ud9hT7!5P15b9ZoKWeO81CKsG-5z-4(|z(KEXq{b8{pk`_^*Bf>m}0~Bvm=^!4_8c5-8 +zZXE@#FJjyMpW6Ty!t+!JL1mS`<_`RwpzJQySrv2dcCQVbjb?S2_^K!pE_j;>5|Jj1C>X}H8sau^*JY +~Op))9b=E>>N3qs`eX;tPH#K2zO-y_6^5IrqDc$6uGXPCD7?DYf484md+hEX%yyj6yyO!1Wcnl>giu2 +Ax%@k_6~pOnz1pbdHF!9eX?GDEu|;s;Ak!$oyGV&gEKA-aT92?tKFCH1yX{P{8D2s1=kJZyMLRDpgV2 +XX9D9xHh{x+(dxz6ses#OGJe3O-QxdDiMCY0agW8Cy1yR1$zs)*D8-XXxzbd=_;F$)8q9xudKNy1t*1 +En6_2?Nxim{5U$cDYMn1n3C@Syj$t5TRqOoX^}f&$LGOa{R#1M_>iXG|d1@P0VxyT0I +++F4`=c6`XJXVR{aPy&d?_9p@N~zEcx{avL@JBK;kskxGagOW0BNh1^=lz{pz4fKcD?9$hj+WzTW?}~ +5p*^-?-<}+vdMwVjDOZmR%j-bOcu-vVRCAa_Aw6y6Y3`$M2o6g$`i8UYYWC}w+bB8+QKpeA?#xChKy3 +OCX{|x-VIaR8o&Cwh4s%Hqi)_7rI#wWU+G`%Fa_O0YAIav+=-hU=k5D-B`LKJ;GBbA*9C;v_g1e(>a#qJ%+)R&&h~WElsE?;y`iW< +UR0&P@E9g-NT58{DCKY*ns@w%+_x2L1aDR&Ko1&b?FYqNM1mSu=^Ul)}f)wQseOx(B`CYEtmTwje3Ji +6?qLbs2#F9;a7EYvvXCxZszimrD*eRF8iOOD)>J`Rlh#$m#7N<0aYOs2w^x#9Kr__wxcQnMe$DvfZAc +!zI}&VAdHhRO2F7JNECvPZV&k>$q2v1u;U{zuw$s*$A{pLY-4b|IDpm9qXHmxG(X{=<{>gXe&XneRAb +oTlM~oMUI4;h$(9r72uG*bZxQ($g8vFtr5_6B@W5k->SS;fbQ~oj#KD&Ue$=+ZkG9bvNJ$)#?)}{Rxc +iBBkQm2D`7W3og(c{xV`|4-A$s64h}^I7Z=))ck3gA!F@--u8(3s+ekn>HsY|l<)ZE?O@7N*Qhh+cl%D+`=r_0#g*k#dKFQ;4bp(80z$& +&pq?JpeLN}H>qNa9Ai@O03p|#;ux|`a%Hj%7owS|%Y^)!J+wz%czljXWjCXlEvpJfsfg9m;N}t-(zL0y^rfW%6!1^)aG!;d +~!T9P-xnK1S(~VoWpKSU0_L_UlyJpnkgsu=<3Y^QuoF9fKtx1xMHT4mO3(B22yHiWiLtX;X)aCKmGRI +_C_eD_5RQw4#38*QSMDlHVzimWsuNNyxsR_O-)4uNLM@Nw)2WIV +I3doKpmohVqnZ?)rYOjV52iIXZN$sQd2DC|%}vD6QQ&3(K5(ypb9p{9>z}9m1X~h|*5d>d; +U%GGt(`d2NOUPNB-Mp&ZBAwZqfs0G4kj^c=EWw2D>)AiAK;U@bQEKZUA@B%b5?dG>Cr?2thn6Vsb-g> +YrTe}k%IG0j+ty|~!A%;_+qg^t?7duAc%bkF0r^7b2Kil49j-WvmgD~i=pP^-E)4$#3M?(PavX@=w~a +u)RL^4>oSZ*CMKonF^z5iD!zS+sJBI#=)XxyuFdsf*VpKA9I_=!(*Sax8rk*WOmOrv)wZo%X%J9B=x{ +sxOf-&u5g-Ia4aHPOB=g12<0crd0zJ0>C-@zTlOK?PbWrm{6DQk`7d;6@w*~WZwxbRknPa3onu0k0&i +AgAtZku9N|x8E6aCGt_A8lWqtt+`8q+%y?z{x +&MUj3+=`sxw3*mf@N-d^4;u43>&=`r{5K{MGKzig&Fu>>)vojDjMZE3VA2I5fC93$cRyNW@xm_F~G4ppT%;$A^nD&q9}w +2&7rF!p?=yoWDoGMM$P6py;*Xc=(5DCOuo?B+QQawl~Rj_=_x&bhlm_f~ILi=gK_w}ZDcIW3w@*Rv!i +VPUf+lz52>i1zJ$I897hii%#Mqj=Ti#6}*o!HQhbJou9&vCNC?WcIniZhqSV_giGFg)EvbKmq4Iz~%< +}#Rci|L`VqfAq4|JYHAe|TsGX0a`MOfEpZwaX;12Zj;fIV3|0O5uwSAo1169H2^@k5aEDVzXbM +ND9baKEgb@f#z$gqM1V~aaLSf`j3k(j}6Cdf8AU=}y_?OHCbig6k=6kcpbg5U*_?F5sc7r|XeF3fHJ-yW7s=WZdQ;EJY6}4*#KKIb{HL>WVf%j1^F0Fb+9?f +P`*X7bVab#^tN6xf5tIX}ru)^k=z=OE0#OPRoC!P4=(V0&%!MjQ(9ygSE1lN4FkB*TrT)3Q5TIv}~-8 +-kTOVnA~c#41_faqAP2D&7{^SR3c7qN&&gkFQ*sv3<*sQ>mJkN(crU5F%&(g`O9gyw-HIMckD058%)x +t`LK6!)V+%nMri_^FG$bj3qyh@ebW+9JTY33=FTGssVM!&`@e3q)hV-8-f!apwIf3^10b`-|mgQa(O* +2!r+4OsVaXa0-QF9TiT4biB6{ZE`r65?Ebe)Uqu=@_w!R1JExZQz+IX1@ThqTsb65jXfPCc(NC7Lzy> +?7L5Z2uc)ob3$5mUfFr2+u7UCXEYuil7(J!qTfQO(?_%_JOnX^4%9(@n0^#VMaoSKSBCHNm +c`Cow%>Z&^ayFU?L$5g}PMeyiZ!wMnYaO#F=`#DjbB^y8AA*pqY{A#4>!X~bMTCS+9r4S+^njZ9A}Ke +)_T;!-Fu=ZZVo)Y+Q`gTt7`!efu2X0SGhvo^cbc9J +>PpZTm2)Z%dFIV0Xg0u^~No_CjJgcvgcDAdQudQKW&O8I%>OSc+Y89|mfuwlHC5yPnoME|jgX055N#H +8B^kay(#9y_2MX~c)N&U)=SHa^m;B{uaeU*$Z=R}w4N4sz%6Iw5yjg7d0wN|0n7aR4>ESq}&M5gl%D+ +fM0`*&9#yFdp(x;(!`?-5Q!EuY>)qS)3e^v?K&#lUBA+TXe6=$j+Y?b-=NDCIaK?_WDc=GTSxQUJNK* +2@lB6w9U*y~PN+3@v-TslBz()>2%1id_nVZP-e@i8JYD%w>Nf-g4WpxgOR4sq!W_(u$ZFCClGy>q5!v +V=$)%%UEY71N6nq!W}6Le2^b;sH@cJ9wH)c3<5mICxFc(2?Prl6oorUlbBxaYm$g~WO04H;1*PgdvoV +qlRYBTw>Nxw!)^Q-bMjN-C7H?uFE!cCe +&ZurTn`8F=rHtK+bqBRF>XuuKY}PVx>phK_|8@D1zzy4rHZ-OrGB@=Nfq%aasYakK*cgWk6dN&F9q{Q +`T0FTCYn-<8_vsJUF0<-g*6TeNTcuc&K&6f61f4)#sDh*LNDM(q2nR_N+#wf*kT{Bf2!g{q_ +(CZVLm}#C=<5JXAF0j*&mc!Ah=h+M+|dF=9CBjGrv-cmLS*_I75@}{?O+Z4aP#cIXGcZ{#b|Iulu+=X +*Fn<*k|p2=cYy~m5$V{;`Rw%aU}{qD2MyQnIB4PmC+!ZX5_-i#btdG63`B9Q^R +5enyS=&kI64k!bK#M~UBeX>X3p(g}qLr|^Ziq`2flbN!P)gY{%<{v%Y`3%UfEcEy>DgE{PDjNli6S5@ +WLtF{caBvT%&~%`=4Z%XR2?3Ug1dCo@zyl%vER;IfjY6*{`^UUQ7laDx- +K#7m>BWt)p@F1FLm9bBX{1;a_Gzgw5??espJF*_&8ng+rZG3WlayH?rrg~8{j?w!aQ&ycR0ml^E{Tz| +oSGt<;f_muQqJ%xiZNftL&TX63Mc;#(hQ)R^Dhc+`hvImV<5@u&cS))!$a{;H!azsW&AJB7yEVuT(+a +a^9E#cFh4IDK#f3HGQ_(O#zz%bTr0iRf7yYH7aWiwu%<{d=TThK!Prb6@mwC(byOMu~Ey^O~Ymyl#$` +ZL%gLc(To;0Hz3RIi)x4pYN=6oIop;>q=W7u6@cX~p^upn;MAu#}s{8)))P;sm*S_p%^>yO&Q>(-y+h#>#%nn?{MrJub5s=qkGI5m|w%XJ;AMX!6%05R>ExX2VoNdwB%M9 +E!YM!sR)AdfbPsBQNZy81U_->mxJK07?pYYehQ4Uh3>Vlk}%q1Z}BtgAtbW?fh04dkDP$e76>w4_(NM +Qfk{2>36M)5BW_UA?s`J+)pv4fSIA|VhYF$^IPh=NIkL@8{?ofrz^1ocx5Y~oYzxm!U5`eb~*1S8@jx +q~E!&UEr|`-Aw?ocr_gnG`!33WARq*r7v09(}#h$Ik8>LGU0)*^OEpeF6gHVQ_aNg@6Y+$}f!KmkiD) +X@o`xG4^f+!7qp5M*;~7zgBearZqfrH%BC8AN|Nl;U5+l?8sP!(5HU`I<67@aC#$0*y7KO;>A3SVg&! +wDB^r@%8|5FY}ve?HTlYn1WR9;EZe`+`?q&r^Xcu2WdZ&>2Jx^gz<B +yIGl=REf5`r#C-CL2N(_@dhRiT%Dbos?HhheDkEY;G+rG9t`b!(_q&F`h&!@_KIg>^#pCGT6Q^0T06p +NS8bSq_3ee2T0nrkS#FV-e>J;3$7yOmacEviEaMY3K0fi-f7)&Jpn4RgzR{ +mks0Jo{uG*Ec^D*uCOs(&!k-{~v+wr+h-q50o(FaDE({$&;Y;~?L!peRfs1iG)3Ac*1=v9F*XFN2^k5P? +A$#`d><8q-bCVf6uN8I#?*?vmsQS_$^X#DXT4r(dtLtua()%OJcIS4-_jt +S&I{~&&p6GqWTL^(aYg#i7<0=h4q`-uDRqw*d+7WV`@91{pRoSXgl82NB-A;&4>5E#j&3@k}>)JF0X=K#BZxn{QYY5 +BQvOY#B{#|d^Z~XRP2}ZzF2-KzW=hIKE7>Jg&&zgZR-zekKD3;e>OR6)bGO6qs56Ip6cq@=ffU-!Ac; +6!Bt}Ed-hq6X?yY ++^hc3Tlg+`h6G1r7@+KtF&iGK0$XokS)wV!fn- +zdoB00xt_Qvk4h7+R*YB$6kM{odN{ry}$!(zHkcfVJ>8uzDx-n}4Cr*!F2dDQ=6?!C4i#g=Ztd!Axnb +`SMA!kc}E7a%}*bB8wqga8Ti^bN|&GFh2bS$m(qN9V}#86+(hd{V@Wh#52B%mAJ+FLu&-eZ5)`52ZCC +{LMX;sYt@=C3?Ax?8@ZkOwCJ^;}k;B^CVk@HM&OD*O<2f6RQ)p2npmZ>c`%hryHcY!Q5F*;^dN&ZoY1 +TOSoIzRdqD+b}8DEfL~fE8K~mq7{FW78+J51ml5J|kObMJ4%8&R-bm|VtQME6>Nm~ +Lxo3|{#Nn6^L>_|-I0@zD?VZ|9g4R?z$0>9qw-_2WoMrevmr^x1;yO%Y-T~fSF0$}%s)J^rSR(I~-(> +Ms!Y4#BfQEJK71EDh>Mor$`PRmy5eXee!$g7%Sy(E6!o%S0Av`m2E^wb)|`(o0Sm~SB{3qusspySydM +c%t~D$nvbLl>on!z(c*FT!^uT?~Cl69FNe9_^XiRLwc5nWB|4QCHItH8l$HxSNx=W_B*j#V`e5bO^e} +QE`zSTUg0h-W?b~4x-*h!kZ@qCdqM08Os~bGA?vh9W(O_^JYIw%vtXQ!3=$n)@P7`FJP*?9w~!#~g@`o6dMZ=#6*WTC +(IeSe4^K1E9u-TfYjfV&@rDTu)LI089_5Rxc@qY(Pt;Ng(RNsnX~_EBui}b^5u{f9>zKX(+>> +9QQ1mAC%CO$pMy9*+z!^!MH$L{;^^ur0m59!9;Qz4(3J1KPxG(7aL(}NdJWk2wJyR(Zv{cF41%|G4J2 +a%pU2x0rzLtrR7_Kd)v5sAoAJUtj=(NXier_LbAWWr?x3qjxOve)WBf +>w52-ob{Xo&A4%cqDe^VKLrov|5Whs^M3EBa{~X3-#gqM@Zb2o!|eh8!0&D9B{(#=FNZzcYVeQ^761k +1d772DprCmq%EK4>MA`Fr&DV=XUhz|MRyW^#lA1nbOaCH4*@sDWGgzW8JxCCNyho?*gzLdP`vjfNRC4 +04cXo%>#o6#cVo3G7Al%_h207z|8a%wL$P<@(To@+jrUM~0*XLPH9w+JaPit6*F93e;3`S~_`deErY4 +y_X7nS$4KB!vKB7>PN0_m4)=a0WjMALIOIlz=M`%-3#NnwX~Ov8N0`Dt>`)})Mi>f>C#j$?w3 +--k75SwQ$8R*G~N6&qAbb}TZt!!B_=-R^2np)2LUCD4;|biwgC^rN@kyUB|11E`|0;Ef0 +N|j@<8qf4+N=xvzy@#j5L +;Es_WoA5Ap-MW?+3lq*BV=op5Njb3esN4JaslyvzXc{+pQja^rvE$G~t=DgAZ<{>7-+<}Fl5@smok7I +@rMen(OjMi;tQMUH>wVf@OJa +&R?8dLPn^F`NUzmQ!fUF%wRK8U#8*0Pu?TYY1IJgw01PycriXKQGs;gWnq3o9& +6ZFAD+!kX>pVG=hD_JawtbGbs;pI?zrk$kqWYBfYs8-ifk5pwna$6cbQmAdut)yEqrP<6Z1jcDN^XGO +BAFv6#9+~muTxpelL+aTLFAIwQXlB$bHPP8LNj^>=2k@={-szG

uG%6u2OtfsHo{>709VtLMQdwId~?lur1`2J3^LjkcFcH(+=scq+mwV=KauqR6)5{napwOuoc*7^j{gMG{^1( +_64uhlN4Oh5RCMy>=!Y(dqvLuE)Eb$O>=%`N^tP#E`6N +An=Z=v{`oNn>e4t$NSFjfUGJivS6c-PAzN4Xy|U9fu>tk(52gjnkvhcqr|p2fj_1Pr)-j5H?91nb +rh3c0Ocw(j)16+zb6L4ExIgoArRTxAA*e`{O{(4&lb1K-$xnalii@(jEv7_@@xgI&u6r1b5jH9Ppn)T +FW&~U)3S3FB#WkM&`@V45FXX9oimEJLyaR%*>cavh|qE`L=B>!6(z5=>yuI9Jw>w8ur|MfWPxZ%ceAu8S?A30uENq5Y|c<;y;w-7B$+b7= +p!Z471Qo6+Zn1eC5FWo_hV#YC*WBfOBF`u!RvswaXUTNiy6!2&H5~5Cu1pIuq!OXO2b!xn8cJ?>dx2D +E_c2|t|Xx0-fGTJU8hqmTMw@Rx&bUZ2xq<6QR99LG;ouim9wzE+TA343s?-z#d1Oc@}%vBytnCrq5DBi~^++=|^pv +q%II8-nG`;(NkSq2HxjY>+h3&*_QOB#WDDBbM8uX_90p2F588CUKI2Q5+*+93dH)L=g0+b{zi5(H0+BpX`e!8g?WP^6cQs!n1?->!4DFj|L6==jn +;vv?kf7OM^Lt%ivE_C59Yn1SI>+N|HxkW%@~gFxiJvp7|_H|H6(lOh&il_a1^;GzADqKHf94%K5B|cC<$akp{2GM=Uu<}`C78E`Qc5=bQI939aM +a(r?Y2A)q_|KpIHJhO>Ny#Z&R_2z>IkG6gD%N@s?~Z^~=AUZP--8!SuJ8hUzT@(fvLYZ9!hr9`luc@i +7QGVPe63wRk`-6nzn?CA7zYY;5xiwD&}!c(Za+mow@=oP#7F6y>x(Y)3t3E!16c@z4nD^;qtaS-bQ(g +j!oax5aFJGX3Hu*9buttPm>z-}8f3J1^g@Ptpbk*~(8STjO5EDa9ef@Sw+2kSoI(CS5SXYjo~2Z-`8? +P+g0Je3Zov?rN2*sUvZPrp&zHKM8x5;Q|?PT+Zu3oLBhWPl?aIKn)8_>1^lFotZf7wGc)0`=7>YmWdGtSwUt1mfPXclVETvl_K>BH(Aab&!5+1*u +7Oj95UY|C%=38-B5fbR`Avh6KH3E7~g%OtjWd`6&jj?XVM;#7x-t~1;*wsRKZEFRz&E5mWsC4LWFT5+ +kGB`*TC7fKKJa~O1k(&N|5waM5gmndKk52=mmqVRl6T3c?T>0j#Q9}Rro23M)F +8f;8CR%IjhIjw>tXBow>C26Y9_;=pUhbHxk5mt4m>kF1L>KYsGExXlm#cBZ9_4g0h +XI0$1g|_E;WhJ&VAbw$LIUFzU~;Jr4IkudhI`kipr_;@I&5734hO`~WBVUDAc$G)yPQf|f)(H8{-xQt +d&n$Zl6-9=27V?D#x~?JZKMH9QoRMSca$gt3HbE_Da{U +5m>AjTC~l%(6{2}+`{})K5t&S9F$bkS1cmaN+{j2W0gTJ{Kx`IiDfZz0^<0;MqF&H-W8&ouN%x0dFHn +Gh-E*k9%M(HaXuR2v`eCJ)22xeP5a$rRuH5F?#Inb$^-#WRcb%)##$zDqd#g`s+7o+eh3qs7|7>JM>5 +cbomibaO3E*O}Zv{W=*E1+RT0fK%{9X-f-4RqBzvtjGoL6TLn_qaZ@nvQtmnv%>{qsFO<%M!5z_|s!J ++s~W;%!@5jrS;M#8}4e7woKwU<*RvLuHlaIcL-Y8n2vSeR$1st2Jn2&3K?Ou0nf%dtKs=_}Pt1pf5g9FFykb1{kSQh*4b=Kf1U64QGS(NgS>vE8w +oTf-32J}Yo-`09$^M)h(=$JYqpRyjW6>J)lUM`l*436f3AYa`3(Ku1@`g=T7l#R6is8kPhck79fhQO# +g71aYn`&{@*byE2#dzVIy1oY^w{S*Tq&+MiUJLi^|BS_YPd2O~yBaDz`&iP)teyw?{?P#KW#M)Oss;j +4#o3&$b#j0@ZYY`v3(J@f6{fw#b9m;^;2u&Ib(cpz*a5VbN-xx}Y`v%%@|zs23B{V$8xk47SP4@_Al` +t94c@6ps>?)eQl{qavfbQaMBO_3N(qwt}JP4D<=kAMlBq|qHn?Jp?er+q~^dgw~S_z|XN*au%A2jvy= +Dd_9~vrel?P^Lmc8WzH)T$phwWT?|z8$pdY$-^cYFmu@3PesA8CdvviMH_unY|3+QwNLU6j;MAAM+kbvvq#qwdQ7XppSll;94%0X8ZC7U*6c_y`7CnKp?+d~=EJ^K{I%9kc|a +$0`39Y?L3A;6DMdH-m`TapO1jBEQ{d1~k3Y_H9J~p_mq6s`XJsqNxgoCRollMY0R87@KTZz(d#8UQj(C5S@?Ebw0s=P9m +{&bwWR?$_ZPgX(VRkqEE={>yU+cu{CW`2nOHHVk`{rf7B_~ErVy=}IqgfUJ$E7!49Wc9U3c~4K55j`g +-Yhnf_b;M(TE&LW;NsD|3D~5@hoK_MY&A_*)F@+H(7)Jv{L7rXOMw`_lNgmX +yUo?}|9U<6%QF{a;)~)^{=my$~A~!`!guIg{R|C4_d3)O@se=dUl6V8et0dL>x +(ZVxP00;<^+w3;7@*nUH>v{NONr!M(whUSQovLrj4@p70>s;g +s&mvOsrPq%w75jDbPROr-M-U2gY)+@C<*n(hFwUa1nRg +mN8M2%vbTqaGYrG#E`keu+oBBz_uj$f2wKm6H~YvqafJDphtzEDp#~FiO2HFt_@db7U@L_+G5zGO`W +g!Rf#nXSKGLN;|BzVI6}jEuh!rwqvbA1n`gzc&09to6+nGz$5p%{9ZMreHR5IS$f1|p{5uA!adgDA#C +!iO_wj&>9S$B71w +1iD2G4n5@OdF`Jkb-92TgoRkvKG9@o-V>^9%3U`u-FOkDPzN;6fIZaBkwnWBT%hiL*qqVy+<+oB-mXU +E2@2(jA+&@CFR@&yrbh=cb-$3e3vCquMJeyL62h5ocT~|-1L>q-)etbXI^DY^4Q+DF;z{bmFwWZ|@o0 +CtXp~XcxR$D@0i5sJB0pVDJror0d6F#rAXzJ^gb!W5@iPk+S=3X=VzUMd);<`XMdZ|%1IuLy(R4r&5q +(NuV)ePZTv8y#3k^R-J$AA +JLD#1M%WLKGs4+!Y{2|!4&uyk0CTJNyGgHZ&^-k8=~ArG5#6{hjbxiQZhSVAlP={uSp(E~v7YCOZ{ef0HoZ4Yp{NWc(vEwxRM(o4P +f{-6wpARwVevX4V=A&+%CLhUc^0>h-O+Dmak2IMdV9|X8SPs{1#hd7$h8+m}$>H_w+OJrLQ~ERbaSNR@ZYqFc9B{FZupaa`hyBycnZ~21sK@E=3M5d@4ln3T +4jiz#wH6UR$_gh3CX7b2VQ|bB_%lqhlJ=z&!^nvGr0G-;oY57gAB^6eQmTGFv@v`}K;=IgvGG7DnU^8 +Wi-Nd#blsB3|^&%q3)IjA{3F2@M)oKoMCfkteg%)DDcHhxO{N?x~b9Rh2JZgDaI&&krtRi5Bo +eRA$!aOO>SCUtn=H5lbaH&vE#3n0D2$?(w?VmlN6jt!EnH|uSyQw%&%2>jGDcSck2ml +;oxIbV3#SGty3sc&vw`X(V#V&nOis_Vt^0RmWIHt~6lMm@8i_M6yq{r?h?Xom#{W2}#u#gkps)TYsag +YS9x5i!IO_c&>N?v(?QUI5@>O9{x9Uoj3(jl-~b_&HkPc9i}&cyTRc+TZWuwGT0C&$udkf5)#amvuBTD5*KvpmQp_LSW28!(N5RV0Ji579%yN5Xfmd)#ZA&!Xbj)o3rrF;gAy>jyPN$rhGIXB*bg^B9M$GDKLTs~qjY=dfxt)gf=K^GrN?*;`f)ns&m +9U89|3h<998Cw`r3|3dh~emTO7H8-RtckJ&heVlHx}R{h*^{4!?8oQG9~=7(Y5SlfRw>`Z$#BM~4F6L!`RX>Iw9v{95hb +^hGuPgqhd>d55z7+Myg};~%#DPdk+6pVTZ+zu(Z*zP(hS3|gzpH+4hj(zPzMMGqXzS4Sti82=HO3aW17~+%SE|l+5YOPPf_I<81z6z!p)35uFpYaXq7G9F6KjH9$eC)xmJwu#U!uX*$JPF3ef!m8m +5028mFOA3l8g*VTCqUulQ!|=pXalp6vw+y-k?ROa`-w-c6vdluGh=#7qF{2F?O;MFqmNcIqUwfpSVdd +nDHFCheIO8c)hPMPoM_$sY6-l*=M+BFn0?$_Kj~ctd>c1qgi(?@x_##5Zm(Dg+y@#XUfTPM+KhzG9r} +SmAYh(wYa^@ndQOGJZZ!L1F>)g@WHh+~X2;pQWzC&>q$4=&s#UryqU!A*N>O6la&ZPz4m*aP&5%t8FL +qcyh?70XlbUL4q;6yZ|IJ^N$pJ9^-h(u +~_u!@$pmhuKp4! +|brVp01p(Uro_x&kE#RTX$r%>SA<&`zO@7{vKG5W6kcc1s_1ZMs%!WqKdqL1Ito;aJpY;e{4`dQ(jv| +b}vX~-jHv+a@CjplwNTYHXoG{C!vPKOU(8pEAnV_v(Tp;&mal~>6R{T2!Le|4`=-mWU8Kp9vVgatzsR +f+eR}5^@$Ioq0%P^OzEz>pZCB7(O!90-Cu=9lQ$c<5yo@}%jXW(gix&4H+!}uaSvkOw?a_5NZwK{Fna}qst*j +rH1Z7VwicHdFb{SF7oi#Ywh0B~h1R8Xxp$D<0?TC4qQ+geL +?|+m#+g$dIS1b?BRGDLjOs1xx-Qz`}PIuA^;Srwt@1()HoYfX<1A|9p=kq&~_vP)2ztc!=lBOm$j^LCKifylELCa?&iJc=-`Ds3J1Wik8>!k|8ZcA{Y +@N%{S6$1{R{`~KMc&k6iK2CPVL|a+r#NSxQ3ZM$fox{6Abp#rjJ7*7e6q}jwuT204f>%>DD6-9CU=*p +E|@L_J-`y?ayaYvIFL1*#TLw^s5Zq{*R!KF%c3!4*fFYg67An$E*r=ltjp1afN*5UykAD;=_qmARjG` +5AAi19Uv;9j}DIf6Zh|-Glm?~&Ic1%^3e^6kJdhfI0jPo>xZ$U&m{Q*g0LM8{S^-4=EMJc%MUmR3GBe +=Lg=zCF`CzTR$e!|`D0TbOZ-gH?QdhC0|EixVW9Uv#Xx`J=l-V{=zu`L2LrvieJA~g2DNVuTYD%cv#` +Q)d>7p5h%0E;=)jVbkVK+eb+Pe60Glg>RqZ~x7%n{TVBRkVwpYOMH +{Wn6wPD<{1ZxxpLnGSnCEA}-EnL>@e)Uf>x*~`QX=B(ANw#%#W~l3aI+NIpw}YvhRZ*pboj#;9{-!h +1OFSw1OJ)vU?_ry>D_o>422^fv27AN{!3HT?l4dqr>UPZ@g4j^pDx;r_)y+cM?iIS&VEM0vJV^az7PI +s-%WpB_AJPQGl9mBvS&sf(aruHCO^86aC$To?{V2~U5*#YksL!l5f{0CpMPaMb_+pdM?)C?Avih=1AM +fe9ZY;5W) +iys{qyyBY}~}1{%Abj|HH-u{(omYjMHCqw;JkHH`xw?bOU-wY7Q?$4o6x@aW%lyaDuMYOUV?LlrBtH7 +ZiPJmmnXQd)jg1Xe7$H5(6tqpu9Ab{F36A3lrd0O=H{*(8-f_=9zUF>Pj6s1XQFYEE8e3F+@^#tNa|6 +K>c-=3ixTI>W^6};pBC7EV2vD?Qyfuk=?rEBr&OpJE3T`$B}DeI_XI4{_X%w|4W6#~&)1>?61P$!pQ +ckz3m#T^=7b5tKPjb5PTfN9*vu&H)>#qxA9@=2i%gE)#h9_n^g}m}!B8F%fZ2;vq7$B@B!4sA}$f- +{l??jcm-dhYq`38JRk@CvBk6gxIc3w;DR+JL`u(og#W#9`DO|2V5h#ve_MxjGhdVfb}4^#b1-Z#B>I% +vTlttH|}~lDTv{CM}rKk9}^qjZPOLm{@zUi +yPtC1MhJE83(+h0(ytck)p_^1UoAn6D%u~G?kcOvex+o6x9B$0zffQ=2`}<89C4?2Y^Ot{D4|3W%9Yq;U#X9X +z8%&cZ0wL&R*h4r#Vt#3QekJ`c8Wdk&oJ3|G7}@fqJ}QfY{K+X1gOUJ(Pd*rqDmJTwsb{e%*=5npYB& +lgm+)XS6zZ(7byDTUU|8??vwlk*r-ff2=+00Udo^+_Tu_zK?B2G40Qvn=E6j>TXES}&nRdecv^5lE(j +y1w4TpqHnDMf0Q*#l0vsm%@{H|aOEEx2L+c*q+N~tOM%#c9{va0r#xSKu<)di|_RuDagJe8wXpxk&cmc3yL&9_F4(6|`_~U +Tx5A(8-1IhJ}NLK@6#Lh{NF5MBsdGg4J2zO>-MOma7z;aa^5k1Y2v|G}OTIpkiF?5NN)6_@fBbvbILQUg>1MPb~Nz?uGy2peS +DENcStF}R{9HUspGxQ3?HXgA(H@bSt=oz#r#YuTvcCS0Ecgu_{Cu(RVE_Zedw9l>1We&Dg2Kqp6> +j!uC`}JOkwc;sKYB=s&#WYY9dXRjoJt?D3r_zFDULGGFBs8}*&O=lT%bQgGe^jT9XJ8|q+jUI;AGAmX +CTRAz5Serw(740Sd-$&^z2|_kH8MO9qcndnH|v~9Uq|>{7Dp{-wI|-afDoZ^ta=gLkkBzGDctPS=eVX +6Fq`3!5yULrsuh~z}UOvh<2Z5T($b8dxE(KYhMMU4oX!nlC6W{;wwwt=OCW54f_lE>(`hK26RU_0yI +Q-^q1j%4cZ*#y>H*$@C~_m!w;AI$14W@=_UX1ih;j<$%?}N%-?-s3N1elkN-HlQee?o_i4R?GdWMFw{ +Be42=s~#2^9vdsxx1BQFk3`o(j$laJrKk=9mw*6|MEvGrngFTOm#lcw2X?Bn3_*4P&|pUQU*kU-t?#K +hCYnKeee2xCU_ge#Z+7GqmW7z6rcaqW8;qedOl!*qvMh!M9L6Z@7rvd>NKy`6u +?x@G~kk>P@EI8ymD3X8}JY>>-n(oCMIb$)k;aXpUzS7M4`qnmU5oAo%g$5YY%iP^O;X!GErek}kdo~4 +?NH<))h_4bYqN1zMod#oGB3 +9c3I*fp(YaRzJ(sch3Ro_Z5EO_O$wEZ)BVLL$-EXdEDR3U>xJq|$g +fFUp4;IHyvv7fkwtr*YNkl@#E7}7ec!pvDs+{IF!iof^4xh@&GoTP8_x{#<+UBVMblGEx&ayn+ohH{x +)9|yVn-*mIN#G|Q*?=^&aj2i3J<;p3eMrOTbMRFE9S|bYOFuKBq`^CMw0VIds`aurcMkyQPzwuxk-3M +gAW#pj|0m(iq=1R`n+iCI`Fi?cxv7}bNjIl?EX>a+;&aMhgn3gl}V!jrW3CXhzr^_dCR&4?b#&vVydC +SnfuDsVkj!Pm|@*m_BS5*zOm(pEWkxO?{A#(Ug~%V-q%yZv@g3;;;Oa22MxeqCNO`}*mBU^?0>dwuPA +{#{Th62;7;2kdWYy5y8c7Rk;avJT*g3993ZC8AKKWQB1ybE=3ok#|Sdg?wmm}w +tuCQ;^C%|(Q9y~&O3sY>-#$u!u5$v+x|J|T0DezsMBrXJJ$`=7gOn;`fIx_G16Q$IRmfj_I&3Op)Hq= +&%mXkeLP?-y4?MzC9p> +qU?w9hFBMkrY9(OEFR3wWgvhW^^)(NDI<}9 +zD>DJLj|TM!*w{RHD>y&j3qE#-P0%hPxNy?7>FOHFSHZ+bfl{P*C$u=?GN_$nDg$S6#gyCf3yBe`w$E +N{^x&F3+KP2;rPFHlHZd(KRv-8L~jTb$8ne;Xas>_5~qJoQ@o=s;;4FMAB6OOsC%y^N6~d#^q!|!_ry +8En~vBQ7~up0VT9lg??DnE%+qgBR#taaXU*=ObDeeeuIS3>L|B#d{bPJ)3iOY+S^mfy?rR6_PoyqtI#(xM2J1pvU?B)Z>yVkx@JRu8{mU}mFS7F-LIC8_9M6RZon>iY +jH&IK88)u@8;RJC~-jUz%UJVGsA6X3fq-BB5W@W?4AK{wYd)k0pQvjdZy%+lr`E+Iy9Z?uJf}d;VWjcOnJxDw=Ts#-gL-&|nkPoF{V3!*HW+oVZli%f +c$5{uh*I2v`(Zbql!B+kTiqvWvH7nXK_mSJ-S=<5MZnMYpD=L1}HQo;RL5f5A<~_1I0|@mu#D&lc@R4 +9Q-v{qnzpDK?^X*OAd%SxChvgCZ^hkVLB-+uUt=qPeV}bjhq?(U^$na+xTkl#H!rd#@3O?1Aa7M`~f)s@Fsq!X +}oni_G$<8x6&@aXWr$75on#LoRTX~ZEmHDkewcI^C&M|d60R@kwzWnm}V?x3*pX=WjPo5Uc`VosO;k7 +y0~CHUzV#_Ts!IH2W;Xc1ymdw#fOZhJrUs*yI%qdzOV^*c`gciw+@q?TEiJ3O;I0 +sJI){@*+fOa{mDO#PH2%3oE-Xt-j)6eDaZZ+-Jdy}^1&$t;XR1qglHozBg3ia=!!1J6Z+!%0ywr0c;~KgAFtcuydD1=AXEDq{Eo$+nvb71_AwaOnGJF0shkA7;XCa7 +8cF|-%fJEWF64?jqcTD{>KtU{rAIxOUnAk{pJbnX93^f0@|=>}OgzStRGm|-@KSnH7Z_erph`fqAk&C ++gJQ+-Mkkk4&(utzA-B=EE6hA9To!}azrd}+rUf5~&ueq#p1kSPnhz{p+iG=(NIbzkgopj=!;7zo$Vx +Yes2##|Q0k5dk7XXsQ#ye0@Urvd?DcI-#O2TfD$GPU{X%@SN@?$OZL*{lPN1=I=G>oJ3$EZmVykGEOq +uXYW!TEoLP;l4EdEu-XJD-ll2l<7CRb~H>5aRsx`uGaRkr#M7k}h`V)6g)xX8a;{C{X!Mo1VYXbguTn +5MTM1pT$U9kP#uq;Es|50$IEyBPm1BKLYW61-bn$X#9)+k0!iT>C@nx9}~_8h!Z1!@EE5ZkUJe%|0-) +uliWBFUKghpLloJLEf&yzZxZm$UT{qye;##tM4s7;k)XO?s=gNub}i^bPtku9X;GP(r=$0?0xz0ZFRp +_@870;(T7h$vR^ye=W+g0BvxHHj%AbYxf~^s(q-cd?&VKSy6;@h&VN5Ah=FgGIP4!(q_!C4f3ESfz%$ +mjB9O+x-_}5j8J7+OF4spA +$H;jZxsVjIAWv#`!QGC>0@RvnL6%=NeXh)x={(|zxN^{Z!W)hnss{jr^vtN)d{=QoVN(85@Jlg +R+mjFVwVHd_7!mJ!mt@lRg3vi{1Y +4bDwJ<8(>#on?yb8a^3w?6_5|>{9^RY=vvuXx`^D)}Cs8~eUawf_9%mKe!T~*pSe<3%Q7Go4EChFx6; +KjJASt*fK(G?3_VOeZj*eCTgb#O=Ba&j>0H?~7l8^JVoE0f5$_irf_qjLqjhi~-Y}=gVo&*4$4A4%km +l4yEi=jlMi*;J0QeNPXa#qD$zkv_O!LeyxkC9U(3Co32)Jk*Qoav#QKQ1{mLd4rS{`OE3QX%Vo!(dA>^^WYK7?&_pc(6=qBD +ujaSl*tNO@Si{K}dNlJMh1%9B+Vk4G|j+bYbR=n-q#Vn9Y#6o}Qh{bM5r5lI!#4c +Gd}DPaEv7>Dv*W=HP}uK({QsHfGXikEZRtx~E}(^f`(?7mxc51T;5tf@^W%9-T^-Q8~k`x#2ai9nT~U ++S;X*2kWw`2dL7T8G{ZkKGxkGXGs5rOsxv+k~jjN=DKlPJ=6Dab^G#M`lGng7xf0NGuj10$7Z11rG(i +(=2t^7=KcPn6>o;k8^FoiGrBBl5woAO51EQl)ke!34jxxEUB^q>WxYzO^e%9tOPBltlB6}S4-f^b)(Z +e%qC?)+6m~t6Y)P4SVV(^6#;l-zdB|rJ9A3@r&7D89?fohblxF!Q3LYT$RSZt*0!YjWje|JNM5|?jF> +V#b$BW)y%;J@k@r&ml#?l`mh7t=dD(i#CCX2{&jM)bc{2+ld5uh*iaU@K<7YDOK29rPBb=5j-amDm5u +%fAj4CaXJIos_?&5~6l99wohbM5Jg0#-7$#F0sQB2eV^6ww!G9fYFP_*V>zcc&t;z)p3$Hc~2Q`a{mK ++Xv=+oa4vvVxBC(^i+cTwohSrh#c3cP3Bx6dq=A;8dEg3bU%r7dwAivEbw(3Hh +OP;OX(_oD_{?6oMf%w&78VKyaG+asV44_oNMi?&UWq*t@EC^W^BQ4@m6EC_3Id$9Lsd@;4&-dR~rtds +wA=m*p;OL+-~BZ>7Ez+OtpaTXbe0XA9pQq2ZpkA~!JmE7RqD0*~5(X9$0rc8lL;2NAw^p3~_5>i#p@M +Q%3W9KY?c;9!Tl8xp3Hy}v0*_Ez!j=I9S;9rFE*`}o{nrljOOB{lsaB_&&&Do~L(?A^;>rlg|(3sX|U +%3QyjRsN8Y+J#N`)XPWF647{h`hcJEs=<5BQpUg4EK#k@rZe14nLqts2+eOA>wH3U{Re1nIv=UHzi)} +j8zsn?gAaCb8-^Poq8$=FmnZKum{d>(+v;#z4eSC-cd^t>%}labvz_}SHT_)%gF8C#uNrEOylqT61F) +UK5UNz%VX>7wtqF)%0_KT%qD%3~5_6kZEbJ!@ks;_TIH`iJ7I(fP(o$V>h`|BW&V}Rcc4;0FgsF$~BF +OQ$!7e^5$T?e)2##F0#revluX^tfCSyI?Qxn~xMG-K41iHygoQ_kaT&|C1d*daT)*O>1hVj+2>nn?ye +)hY(S<&HA4j1L6_G>HTY$NB_BYprT9|F^b(=x4pAWB>;vbI(?Wa{c}ThTLeHRQVA-W?U3&-1og3AblE +)Ekpdec38~0q_TlXoQme9BcDdHvdUo@7Pu)yo#_4pI9|L;J(6ve2q6jUNY$iqO!E(-VvDn>z)5(Ikf{ +O;49(3{0rfQPy0;P#^4)!of@i@B1CurQSox7?yy{7h+BKh8U2fyA#sc~aUb7;!#FLEa~}*QelAfK2jK +x54`bzTUo1YIZ3JK>t#`v?&W;lKWQ!|*G7gO&qNgPZVawK}7-jX5^GuaL;yjM_H~sE&DC!*9Ehk(A5i~9|>CFs^~IFQB{* +(Ef#I}fEuIopSxS8*(sOeuIKkJA{jCvcD%ylRd}9Z;+cxQc(b<4Gz7(e4H?^lxPns@i4z!v(7Un<3PTX~W%n>e>@}KwafJ5fofO_XafA1N(MM@1+LJfCa0&by@^$xcNd6 +XtdnXU{UdoeTZ|ot-Jxc{|%PI6$J_+^$QyBjiygi&Tdhheu!rU(;RPeo-hzRyP6_V`I!(p=5rINQnX9 +Vw{f}(fGv6~JNd$Ed4_U*g%P`tMj;pyAtDA-F*``mlFk9%zQfo|A>{>vsIbf0*q-0z8{WLZLJ4jAoTe +VJHF`JbAE-eVFaqkS);T+KQWg;g_|k2?Q*^^Ug%VOyL;`j7U?8yjcncYp4_07W9beDi?Zm@f1BTyRhC +wo|+e5$OAL{O4i~d})liE%y%e$J)@gAluQZ+Zz61CUpG14R~)XS?Y_q6J6WD$Tv_TT*WKq-L(10fAGP +5L1v-+^sTmHS1y4ww{_fFYueN?9HZ~j(UFORdvQJ-sQ=fG!8ZO$(sv_48XKP|w2^1_q_#lC!@qzC ++RFyE*QG|--D^tzm0Wbb2cgD+S(wrP$X+}B-S39Cj-U>0I2m~%8h!{y*_M_mq_aK}`?KfASp-7@T^U& +q5DydcJVIR$sMJKv1;OW0;M6x@JE{*p%#FK$gU-{}6qv?LX3&-D_Q1EiOffe11gGQ7Y-7rxqVL>+We_ +UpqMuD2%Q01ijQt1HpTE-W(2KBLC3?#dSN?Lu|NQ&#*F6t-P4AF`xN^ab^g^JD2_)&OfOyPyE!xs|rO +Xl(GWXKC{9$9p%Erw$_1?S0Z^f)Z~pdBvr;Dss+*=IKHQkLq4g>vI%dIdG_{`cazRq8-bt0)-7L@wzg +DhUfS93(e&1#L>dU*-NQDTX74_Pgy%)refb72lXic9*_DdTVDG|Ysa^Yj|%mq_gYFWYpp(7qAeE0aYF +hz87|SV9nm@Nxfun*B$=K@kAQMsm{TXPp??7vomaB$bJEttA*CF-Imw=SR5topzjQ8E?T&{GPmnM2CS*)rxpwsLM>v2fn`p7~pRsnC!^NY-ZM6ODcCLl5%|VQt=8z_w%fr;I4 +uTU3*Yrk23uBWou)+(!iPw*IKm=Pbh +OK2K#!pBq(zzY#v}@NCut2QSYEnQ1V&7@=d1^etjiY;TA%7c$oy)KH35zy7wl7}G*c@M4wLWUNcm!HQ +Dpjhgmr}{b;dd40$G^{;DMW%uaq`jlyOeylYg^G{#n@s5gA@kEp@*pBM6r^TaXWjM?1kBWjUW?vwS4a +3j{qPKF%Kiqs#D(yuWOKTuiKjDaN1osyomBKYD$WnNRc>Qr;))RVwp~C>G>RSbu%;;A4oNfD +bRUdF*Hugj|OeRjoqUn+7b|>Mp?2aQtS-A(u5i+s$jZ{|Jt|acx +viMCQ|3PK)Z-KGhE$6=l8vg1;{|FjxC;0&yVl+-7C2zh6K@^sP1=hI^ +fIm*a!pBf`OcMw-}jMKtoBRtw(K#mPQxwtHwI`>C;D?|k20-Q6KR?qK(S5>i^#HwvTAUa9i+N0o~nP7 +0n*3hbCk6N)@Tk~KE3V0VXE9KsSSq*XJi1EG%WZ!OAv7`we2n +ZQRhxI^P4u|t8;`fjH_O+`hJ#l9eE4P(Z34U$fr~b@lGggYXJ2&~WiX3)~a%KIId +<`$jgxzj1XW-8p~!o+{e8eX`5ZY)b$Q?@9T;ZVwfReGZuZZqy@RpWc17Eh;g-Yyq3L2>x>(`f6*JT_E +H$4}Ep~Tb@Vj@$xOXx3@z|mPqf}-#v7FA9)41Y%=!PCGYv?mfa%m2QlAB_H_R2VC3+f?T;Qp4_nxBKN +S=9CPv`*7RdLQ>L2s(nN#n>H}a<--mZPUr_?dczO3hWn*Fi>?~VNTjXyl!-+4UXUp?R7c|71>J>TDXJ +m6P@L|@Gjm8)N0bjh_N{x;~fh%~PUph4-`HflNz30k$$2|>#|f86{rt8al0-;4);;f^AYFFC8Qhce1< +7sh;&x0Wfl(2@drVi>bSid6$Ob32kf-L>uIArjsZWm9sBZc;zZ>)j*do1maC5lQX*>Tt~9D@!y702WG +UxSrA_zL3RH>{=C7AM`LJQ7GK4V@{CdJ$ZjF)C{!hMj5Bfkf**)(1IlMOKFawM!9*Rv5|0DTDL0_41(8UG0E +>FL~`Y~#hxiG-HzJzz2*Qkml%rfBp?6FEa@ZMll2Xj#grfoh|>$bHm|H1oJP;#Ua~vynfsOl&&m^iU0 +s29WeaZ1MI+kjX31Wn8&iM4%>zj5Z!g6VYCij7oA{2wknn6K2s>|1^}ty+87+E?6sY2;*)!KgAM0QvG +W*QFd(`9Lxq~B2B5C#I_6iBvz;-)C;MRb#x076%)YxkHI +Z0Aaq4pF&HgSLCnmDb{&5hn@y1>oE;%;9DJ4ax5sCh09HwcBaCd&xJmoAE+g641Rd-+cD;ooV#dG-Ew1?X$4Z_9t8`oMc*$sYbEDnO9N%b!&L`Ns;7a4r6373d4 +P5By18?9^E%&UxbD^_n0?$`)3qY>w-)(4_7s(MwfCcFPl^*%DD{3~-gh=wKdFM$K8TUZaTh7BmNaSX% +{_%47*Sx-5L8)9WNTpa$#mny&uAS2OrD0M#~NgVFNg?oJB +2mq8^EswMt-LIE_F}vn6$Fsd46zk<%FRh-Nze%SHGGo{+aH7QzE-?C%od6Gx)m0rr`t2U_KQ?pA0V+U +G~}cG5rGJfQZDGq-$%}d$YkG(%DBnJ==|hJc`qJ6p@##u{A#fa$IW~Qii4H)1}wdlr)l1?4=RAjSCz! +i$~Vc_nt~llsF5rMbpiZ^-oImV%>#7Z53I&3vT@37w3<^eM%kvKmTPCKdX2AJ16+A*75ZoKME?sBuNk +iOwuHZVHmwD(QiQ+LLr!dX&fcL^fpQNkh+oL1luY19-rTt*p1^uZ-bIuoIcp2?b{yYYi|>1AL1b16Pn +>W@&)kQ=ltCl2fwedo2sX~w#S}yMc-a18}WyK6_%qtX}euFP2QBV{M0z)s<;mkB?m&`eD}AQ_WO(4_ZPpt_AR>ZvlpM{am@5#w|kj^ +A2yb(rdiA+W#6Q}=2!|vy71iD4&3;=a^fzWs9LObE|2#12**#=vC|Kau)X;C8Z-a=+VACY;4gLS6-Oc +@j7`)&#(uM$j-sEDtqoFKu#jE<L)c!i8PCe +&-RzLcSNBG;H$zb3^)CMOR3XWd9L6Aq+v`*ZX50Sla34-yilC}}+V=dr1GooK#4=`|ZMAi%_J){~d;d +w-@ma#2h?!{51yJyp9l{>aV?Op#KSO+MYRfig3s4^^%{-=ou&maf~szalOZN>$PK-^ed<1#qTP7 +FI{KA#c1aml%hSYc^|gvKzb1#fW=KC1b8@Vo27J>>V-D+MB+zfT~}nIp;RhC}3Cob9ZAuhwMK^Zny$N?OgL*bx@>=Xv4nY%^C +NJnc#2`mhi8(402pJdPU$TkgvW}RXQjYOcm<4O1G(bPPNOOmZm9_p?yXF;?k5fZAE!4$7q4C|Pc!$Tz8uH)vVApWym>p1nSmJInliIHt>%ef%$1wvtn_{MQFO` +hZ3vx1%Hde|^5T;j53Gg>G!)4>EgfUA@s~?fsMlz2h+Yt$;hWd +)wH;zF#cxP(FMy{zA>Lj>e+A+8-b!dE#c;HDVj|ev%r|(K;h{IJPWF;d9PVShM7q~*;CJl@+10goK)H +)|;JeXKi0;ZA8_UM=U6Ku^f1~2RWY)o6Ku^F=2zQaKyUU-*fIkh48B))#fC%DGBG~M(Gg06VRFt>)-z +zX19+Iw5ZTrqpC-$+}7|kct^X+Z>u4-mBGz^4|`B`lcw*P-c?YZ8V>`|Id$1UN#jm1bp=l6?w))1L=?KcRg5hEloj1@xHT@vbI$(~3NCJ=PXL;yg;>5kIe-9XjdZK{Hh~O?}Z)!$ZMNEFY`PbCs%CR>q~c`K9E>RQ$R$4@H +%4mbW$#LqVrmR|cZQB%I#* +_8~eIWI~g@%o;93tIpccf1e!N)<;+~_qj2#>#{oe5SQHJ+pCC@{=Za}`#PIiV;d_1!+9P88HZ0gVGWuIW{fhqvZ&{+ZquLf8VRRpO+uaU6%I?vgtK2y97B +kWJ{MZ(_H&VSPLz6w5x=SiVd+d$h+MK(eXSkQ!>9;5n`IjyNg1d7$==42!hE;N(ok8LmwAW}(8O;^K{ +v>t1p--NbzH$-xJy7PFZzA-|N9Oud(eXnYdT$)MuJUo#fXn*31ke^JRTJKC@q?y1EF2<;E%WSS9kN(^grQaOQZ_vVa%1plk4M-2K4k71 +h*J;a{$fwc?U6j3#|x8}RK2TWz0tI20@3Zc2aOS}VJG;o +97rd}>=-do^GaXz26?&Ypnn$(51WmtHIX$On*5)xRQazX2GO~rnWb?)yMYQSVmpZ-Lph)Q)d~II +x`b9M8GQzq<+2jPd2}#n4Q@gVnGXk*T~sw0%{qoW>u^Qv>m=+(Y>O(opuni<|T+{x7CZc|lqHHNS$fy*>ET-ThHilzjHtQ}m=TRkI?S97u+5WP3)}s<_Z|g9WAihbQKF$qV+hmAk}d +p65(uwSM^ST}o0{BW&)q0IbPssrr8i;EVqJsI#_ft+F@?qx%e*jM#vYnSmJg3+u0yUKFOYkTpHg_tsE +f{m0Dpa+ujOjilZ!9VYtWrBn)!ouHP54>@@|wqp(%W7r1^pmoxmat=Na}>ezp(qJZAz>Uw)9X{?bJKU +#*Y8=K_hJsHf5%gAOF^C|+^{!MJ7mwOwA>@(a~3s?*cs +2o0PZ388xfD{}6#B=LeT9J-FP8M&(D7+G1-gFMF4diJ*%gCg${~u2RirPAPSOfYxN}bg0kd# +8b#RWX|GG_t58Mndjc(|RMEh4db_jfrCvLutFg&|Ksn-}(VZ55tAchEcRq$^w^MS=kPB-T9Ir=7$EkZ +NrN06d$iM&spwA_LNF*kJ#!92XaWNt1FzDPWxm2&Tkoq5{5hVGQxo*+HuP#~rT{NPqZRi;B&=C#?9cT +a`!LWxtIRUz_0hgn~Ua3cEQhBv4-Agt6M2^UIk1ix`VOhGP2(Lit>@ypC1l`1A!2F;Y@nf{A4`fD!5b +?F>iFdaC>P0XgO|{9OoM$mT4YTE$ct(xuE0rRC72MpGWW2Ss)lGN8_P~0jOElMV#ui9ak=17C;~n#x&U +O?txC6(vUkA9n(%4mz?g_G-ml_D8>Zbg1SnQ2j67nx+hLG)P?=6CvP-hU1-YC7hdF8-X2_gd|sg5q}+ +2(X?SzNg=&p31B;haT^J7kSb7Iyp4M1+*?Nwr9yp?gryQh9G~%$ns7WK{jeC$p4~nmn`lvZUfbUiI_Z +ta+2QtLg&3=m7pBlx-_6{k+nAjg{q&o@$Ecq +{l!Ha5}f)B!V!1w~n?$4@;532iqh6@6e`njL}Liy1YJ;10%v8rbM$>8{*RZWz$Sv^+07b$&vXn%BM&N +A?Nr(#B7kIKifplp$7+foDQi=5182X>yVf#md>!I#t{a!@AVO#U>V>7N`p4iRG|8{g9kNa6sGuGa=}T$r^|Zp66G+$4i#tN7*wQIb=hS5589pvx#=tzXimlzL=EoXvSV;}WvWGmv6fKLGBtzFDNdVKDR2;(iyi0Vrp75ds+Pv0 +Bo{*16hmksMxxq^*lB{?Fr^6W38n|6;9m~qpUpY+2*F;))cQX39cQ<;N%9b)>zWs>p|6D2uU1{f}<2l +Si;Q@@fvh$I7i?M~nk{9h7NSH-&-Ai@mlH9e|4qPYJRDACp{F+9 +o)A#!?hogx%u#||{snMS{X0ONeDrW9M-CGQEaL9-p@Joc;~t=Q9L@)oo*^SUu;39w&ZSP4+M@D$Ix{G +OvlgV-z$*`ADweTZZ+4Bjc+OqdaHJeWZ2D7bK%6*jQaJYt9uFSt +hq^aPwvX8W!jlyVZ)h%(W5SorScXqNft;(@Rl#K!t%6%<;NCZ=G3yHZ%#B)ZI_O +sJCxvyL^9UVg^>lhUw&Nnnb&(lQjCU)Yn)gu`u=r&En&Y#937liWC(xW4W)bZJcwf3_P;%hio+xZ~}~ +<0fDRvU%?pfz0k5RpJ+2>MAeCZZaPaL4}~4|56So)1$+XY>${X;tq!s;?PX#cy9U%fXYUke4TgBC)Rx +AsaHq+h|E>N73ns;xR!uwURg54lmgucpjiURA+1}C+>x>inHqJ$`J#h|^ +yVFS=zOC2jeIjiGIJ;OTy^9-ccqa*WT(g^+5Wgk(uS{>>I-eo63o2~;!5^Xq@w-Fs?RyyzdmF~yW{2% +iEO|?D2J}Ahv8SQn-LEZxcGR>Zws4=dBjG*aA4dCC|0-S2@67?e_#<#amV30AOmU(3YmA&F`%me5>F0 +F)KL$-ZN&$WiQ?$PXP5bY_e*&8Jy8-?lXws&*WG-wLeR~gNmd%`JcDXQsoSh4Xxuo{0OWM+$I?qlPD$ +3oXs1S7!pP*5gb68Wz`JmLo5`w1`ei*0idXCwR13;o1FVmMfEe?mrO^ij^6xgG14U5-9X+g4Lq|%xj0 +v9aTyficHE~a@xjz^3LN(Ny7o>vi!OTL-9|Gnb)A8X^lw?T83vI3&xkTLfp13DZZ$LDt5CZ%6LyXQ{l +`v#nwJ=dKHV+Ev~!PJ4%qbi|hV +ZwUas(DVmldaJ59gx`nC{QeU|6-;KH+oPvi7VOqHaCh3KS#*BIVZ-g)G-wI!Ub=0537xrcNLJ% +6oA#96PFoDA~Mo=_DlY28SOd?5nqO{jqAbje) +R6%OTP^o;hlBC(R*kNetQGNdo0`{%I>h8?6u836#YucWeYXYTR~=TT}yZQ-z~;s?*L1^{dc#B8KQfVd +}Eaeyw@VPK)G$)y}3W!Ac^-BSg_wg6zr48(OWKf@}A3HjszxS?Sn0a#>9pRLe)n$(3|`z{QvQx_V{?KPx_t4vA9PY(T8*2;{e=xJVxPhyu){vj>i +!%%C;y{Y}Q(rAfPcY2RSn%Nxh&JhNs8DJpjLE2_|f;!p$g>19gZ<39~w7Gs~oXKc{Q`C(iUV}XtS`k< +6cT>d$HwOjbAn38=sf&u}YW=^PrUt&(`%3GID5a@>a&6LY)uBM%Q1~ESj(6H}knq6(!W2=6!Z9iNXPG +in9(1(xGV@8qmJ2|*tyB0jHn18NPfw1objjJ9aV7P6_Fg&luX|m%GY@)(>+}r~DC*una$9#4(h{#8P( +f^mz7VlW}Q_%XWeLq9hpZEJAVj&nw(geLBEtJGyd<$7H4P!WhlN1g?Btf7sLVjszLcP_#(>HR#KE_U? +w*mLN(6<-Uf;|ruyi0f~^>xIeb~Lu_1;4S;25vUY1yg%u*?tBe0|0MnsNg-%uw7w`l327wnO{UK`rY3 +Oze|TCu^$Yw?b>0y$6AWoqumxHDP%)f?>h_L5NzA{*AuJe99f@8f)HnI}%+2 +>%c^2byG|6NjiA1?jYy~=*HIDANof8VC@&#;lu=BJCe`PlRU4->z|5-RPbc=HyC{Qet;9RX#H;U{DZ*&-|datQO%%?*M0g%!HBsR4M4U_UISPInQJreLSbg;ZDpWj+jI +1-2Q#}Z)nJ%8eQZ9j^0Z~hFUSoGsbh1#UNTaP4koz1+$XIjy*TJ|e7T9L2 +k_8vLb(?aKIgUS(SC;c?&62H#|9eAn=b*KpOtTn +*0Z6hV6vLb0UY#zPyZDq5T({M-DRdBL!}6HvlJQ%97Cas>IOJKL?w95WWO<6vLRunW9MT$qAMF`UXrz%LhVP*e%yhKuSdTBFgYz1luD>UK)VlfkfuC>Es`RW8g8{413c4{ +3XNw0dL=Sup;T8c2vH7whfsZ75VdaTz!1K}S*7q=2AmiJ@^Zw;J;({7>QwBO(kT +{JtKM3-cD+lNDU^a}AD+RHqR&TUeQ(OofMGq58U%V|!XT%3(&b9UdYvS`HQ+ejsAt`{pRUey&PFQZ$1 +>WI?U%`Qu{VJRv8Nh3f?DYiG(fmq^W%4QwNq~n#rkR?picKy*d7aFZ)wI|#FUzYCA%~%VrN<=KOG5_0 +Yet$!a9*;L!YW=DXjgUQ0%fGVRfYNM;r>v@JX@;T7G02w!7Eww)+wZiXR&bN0(gbEg>P2kXtX^~U)#z7-vh;MN(t!{H5ZSnvc+Aw1>n1Tp^*6CLLvY2zgRuWL{j-`Y +a|8Xf(;qyC7Kes#nThzTNK2tr5_#|ezuC>^~qe1fJo;jHeMSg-^HMn3H}2dO*^7T0E+*S;qV_nak@88=qKiJhbp65&(Qd)oHdD+{ +H?O)aQ{?^?9f4rT)x|@H}6m{n=QFok98?0crcMj);_P+KTnT~Cu14j*Gq-S5a-4eacbJdVv}At;ddEQbHuoZvaG%=pf^MVIn9Fk0v|rYK{1Lyq;(256n8W(5t +Uz%BgE1O_lh6FnO?Bfq^=O|GB%D=L3amqWF+fi9^0#)^V)YAfp +pzV@VX&RtJak#ZA2~FLH)O_NHLw$e3)ot`RG~iZ0v2_dG>k{%7#-ExcJ{>rQZc+<*-oW)m|`R~IUOf;1(dsAAjKHEu6#Y&-H=^piG?&Vl2a4xHAC@w*- +GyA3uW~YNgX>B8JQ8bfV-3Xo;?88oqudWvos<@?R5`wg}J4v&BqgK2$w@)?Nq$sq+5)Nk5T2foFP +8!x~<=Pl50@Dj|Zcgl`#Nm0Y=iC)3#AXE*QJ!OM+yXwQ@wc#nt2PPbyB7T`fUPWuzo1? +Nn!m9)i(6#A3&M1i8`=*Q-6BHD-U#NGJWVKk7u%j<1{vGr(72%jdAtL1L=>oy&s6ch<7FMElT3k$V4S +PV0|jlPa}#M*KhSc;GfQp`$CEebfBhQ+|j-EIzBb39+G43^r|=o;v-JyMT(*hW|eUuBBlX$TRAxijpm`nYvo@D* +1+PId=?H?eC*AGiNs`dJRg^lBdIml)f0n18I<$fM-O0k&naZoRaI~lNdi{n$lQLL?*|E`N}7{SBNKvT +Jq@6eTnvvrFL=w;h0%fs?7BrFz>Jh|9H5su4G)5caujFQV|*bxe(Av)jrxFp7>WtP_p-*>vwK7*@lvY +ui;TI46qEoW+L*Ftux$!wzM<|qt23B6x4Z}|SBtsHaJM*qdpd#)g+9V5382wsn_@Jdh1k1i;L!(H&pv +stOJy^wJxUyGIM1Rz&)5Oi3Wz~3+|vx0`*Y?b0@BCDUyx}5C*sVz48j2~gBI=N9EsYZHyApZ$qd`Nt0 +~7;iFqq1nJFJ$!Ju8B40+m@|lxa#N}$M{y4KIY-Stzs>5=Wd +vbUJJ?&LWlMcR0*Pm3$3pF4um7v&SIK5U#wDr@ts!yW_(!R+pOC*eOo+B+By#6whdJ9ivZSbwt`TRe8 +UNlQL7t`K(18uP8w|9dK3Q-%zfzY3Ot^e5y9|-H`tA7}zN6;jUVK7CJ5We9k3?t|bR>2UCq38y)5QxM +H_|w84^u{A7wCA1>axcr_;a(lvFiVi^2gBg4LWb{?LP+xSJXHKIDBf#^Ft&rHecbIk7qlTP2;S?52=q +=OC3~+kh41&-zV?AB=&w-~6~Ei4(H$|x;hqHxuzj9xg6|1%ntbQ^qkW;hIQX8nLWXvu< +@je4De$T-B`IvU>eiTEid{Z;zy(#29h(+OusO +M{}>dUI=j73$iGgCFWBX9|Rw~rl%2+IY$g*rbL`53gTpQR34F2AEBL|uC>)9zs=y7u5n +x#(Oc*>7Yb<|6zNszbrbtEzgQ6}ink7`_@jLrwC94JZ7i!?@%lVY?ttkxrLXu +DNG>7FO0QnPObUv{mYt{#h?dN7OvrO1ZZY;^ZRU!i^jQdGpQgD^ZiEt& +*e{p6{F*AQ1@?}&iJklPLmP7q;)# +||%jt-)E3*7wOR;K&w|b7$`{h*i4vI!Aby!gr}iJZ$`focSl`0^d#+u3t`OuC&Ha&-3*rY&R3k++aya#?+eur>oHtExi +*BzH*jEl7kX}5tFZp$`L_-85XOS?tO|G*T4ieE6F>;Z#>Y3dkvei(AFxo7bGcLB0kzTKza*`I7=`VVs +XQxae0EiVe&^Qj{K+#Wli;rPyO{_&6B>h;)&unf_>v1`QEaKJ4N!GVuiy^S*26MqFZzC3{86?8*6q>f;G +@W6H|_H16}Tc)@Ii-`tV74a&+Z%QFnidPvKMFcgjf)Sip}C`JbhQ4d@fq0!k7mK@kHrWttn_N%>0 +QW>=w;cBm^S{*g`#DwfR9Z<32`v=sl^BLTtj*uv>FrqR--<)jY37{3T#mP^HCe-sqj}rk~*yAhnwolS +4elY|r+W6BjeDp@y+wIf$H0teS=#6=|6?UfFTbFJF!V$H9#cz2bg8VZ8%fBVu+T{blDq8AQ +x9l~!XVgVLPY1R?kKsF6-wEq*FHP}X_^Ub(tD2TjYn=8$!ianuhJ7(#ZYFC3zN>d(Lr)PKRIso1P9=7}1}QP*>XLH?s7{1lxPKmv%CV~vyhtn@X~;t%CZ{PiY8cPzFv0vG^@iwjnAev;)*61+ +^3akYW&mRH{J1c}6rK@Zl^?#&u6LWV}EQhp`)!G!YI#VtFyvQMxy*BLm+G>6GL8|z@XMv8b7@(x2P)nP +alm;7G7!njplWiPk5RTa@Oj;Tl;2dHBZ}%FO9f|#+QD5t++CULa71IL +Oul6<2dK`qgy>O*nE*gP&kR9S3S~hyfiURzUsxRhR_ka2zUNE48nma%~zxmF(B$UnR(VC+3;C9hJtxD +jMQVZhcYY&v|f_o7GE4{0JX6=SPg2B?U>G#AQK0oWo{Bcq;pweEHg*`#Fav~W=pz~TB+YywscoPNAIk +ParsqHjznBxWm4oe1+fpL?c6L}0ONYUf&-a9aC8~#i0T7kaUQ1X+kAhpL{`0AaV{?J0g*s`4mrJFqT7 +vcxreT{^Lhb=P7o^#GHKQQZTGh;jDF{6(EkM&_@6HMlN0C`v +3pA#v9lGUUuv!pyW>mVj3$WMUEVIIAMc%cVY26MP;9T~!S7VlKH((Z1zyl(r%9r3!GN8_O})KjyeF&h +w@d-?zMKgElm%(+;aB`Em!n)RH)+^A4(374e`dd}?D%~d3iwal;O+&1U%0{SLyvEBgWk6VcO}o|M?F5 +kSU=d_*{)EEZGW#HWi)+vf!`l1f874Qd*DCW{=R$QKiU4id*E06%CGG3vcE2vYN)VsIlrbEEtp(k+Ok +ef8%Y<_h5*;Iru*|2;S{@!U~yN$BkRbKJqW`>NDGJ8^DxKD8b^f6&YUQdv7kcH7vr#E;Lk9wFX+?i$fi;gJwWyL-$hVXKR@>D37Yz7}9{zaf`TCTvl +509Fncc#!II5a!|3(nJ%KkYm8kM;Oz8qCbr*U=@m7hG#k&<+!txX-Z?0>LY&bVZ*T0ieaN85 +`=ukQj`bi*=`s4(mIuI7s2fDVQMvELivbEb=dj#T{_}8x`yT(xZS?n|hd;ggm%#$}L$E+0I1cZ#J_#5 +_VFH3M8pk30Qw~A=wt;xO=cN&NH*=d6+n{&|?dk2!{=~@J#sxdifcTtsnY?3*^gXtF3kNnE2+?~%e~S +z7_k@u6J;)m+cm6mI?-9vn0ylFC{mMe_BSMLNmEg_(-VESoa06uLOone-Cxz^!%55RyZ6UXv6X{OwjN +h|LH&eg8ievlzus3yJGu+8LULc??r1{feA=-sS>unw`-9uDZ(IDc9Rh#0 +#Xs92@WU3r1^|Br|F7VEL!hD$u+e%`xT8X$8f4!LSGc&DwLDGi&{<89Ue`m7i>;ALUWFfy4=j?&tg2N +M=RDkzFFqi}7uoIXgEu7z3u53?BZ855x!0n@Paf|+NQcx1WTM+kw3*4c=*~5`+^dh6%SJTUK!Jlt}5vtn_^VM!?I|26}zwp}Ik3h&-N0b=6swLNO*V1Ir$K58aSe( +sj*LYxgcV-5*6`x9hFFqqhYHf~9_53AX1z6X*X;Df}=x7|0@Vk +bFyPc4&ku)$yOM`{?ZA~CrqQ`)0&@VzMAo_iu>A(ve!dy-Sl1=ge>uqm#A=J_w)86 +j6UUOFqXF7qfmQkH@p0h_0xLvKq+1#G=lOrgmcvvriuZk>sN& +Vw|>MIKXU((PNvL+a<u;{`Z_z#X1G>j4gvO{1))N?lL!0k{AQ;1;PZbq6M2w?5&1?g| +8$jO6qU5grpHjP`R`~WCF!?tBd)wsa)2iP&shvRgo^iD;vn@%+d#)-;cSyYt6iD~4y}F9;YTJ7%YI7v +SFML<{?vC2Uw!{4bn0gmtsl8;otANEjH!pq9At3j`hVL%Zcn=7OH@Xk-ccbPznYNw0T?Hk(TZ7`A(HE +kBitd%&cZJ`2oRkC=k*p3dpcj5fvIzhEbz;4t{4`n{Fq3a=fS%CS>qJ&L+8|w(*gMJrUO6-M{z}pAeN{ +QR|vCmNrA^1iU4#DVDuPVT!9VL7|Se9;g|m0rFYD{YN?w;2MoowMcAk9pAD++G^15{!)=agpV21(dh% +44u2rAXhcS+xkQSpUNw6$zKW&b&X(z(CA$!@^zd`<$x;Cq}|9-o4)BMc_?dI!;SAH^jfBmWtL-&g-eh +`u+U=rH-z7$21FiPP#MIjWtlU4|XCTSESDH26V7@-h|`qcix@D8^(up7p2Egonmbx^@Bm4l{lYB06K< +>)KNM75y*Se-);iK_pB9kx1{^LfcK=ny#RphR%!coZ`nkCVgI(^0ZDh+|6L3y+LQI0 +C8nW0BeEw^-s+0`_3zH84YCu_TmPTfEhQT7c5#d>Zvqh$Rnr4@OB>t5DyYBXnOg`+N&9Q! +3R7*`V{HcQY^rZ#&4J=0PaQzgoJj0&`xR}E99b0AlO}6t#*hHC$(06|o%-uG;&wXhpz!bNG3#*0*-fG +6}d1OBHTw!@X79j7}uOX^KKUtyo>%jLXd~b<1JNTh4i)imGhm7mI|Di7X?HI5h)I{p13P7%YP+9i5e! +{bU-%S?g{jGfW_96@T>HWDHd;PHY`upu6?~5{9r1!q9A2J{N>%b2uaNngrwk`e{&1Gk~0ACr$YoVvZn +o*fGk`0{cGg-IPvrbdRE%NM%fq@ox?&%rbg!}3GTyU6m7jinDfjDX49z4{9<@&hxjBsd9OH11zux=qi +K*APgmG>&mp=P!@_`2i;$T&qIpqzWh8X0gpHUd>>x}1-igB2u1HV#QWBzo>%F;_HrZJuabcrACk5hsM +hBtAGV4GCW_a1-_pK)aT4V~Dk|8>}d(Bh(p3MOrSwkuj6YbF=mr_1R}puAGxe#mZhEqlMdIl?FdbU2_ +AFN5!aF*z^4SgdL_XPOZ9ndPdXUL3h(*7rv5#f|a}Ajf&<3@*q)yRT0uahN1$?@D +g8F1iQtgRIaHVRbSWNHU_A~|;lA|F4}lj-j|FUp=459#3%M^apL6^GPBL9y9qq{-E2?2(^xm9}Wa_TA +$Q>v>q3T<5sVNTxYNTUpMW|d%6VDI_TLS;!8c#!re8E8!BdZwNY=u-FR{fl-V3t0b1`F%xU`&9Z*zzoKEB9 +6PS>I;Y6w(Dif+(#|u?T$v5<4yGt|RAD(4vv>3)FLlBzX{TGB +w~Yn_jh;b;PALs+GeH3!F?9yc(ACh&n{w`qA%r;yMe!_BfIlGZ!#8d`;(QPcB0v|!b4mUd824RBt|1L +9wwbgKxDohrv1#AtcCfv-u2@pvS|d*Qgl6B!+aDeN|n6LiLW;n>wv#!cI2foLMw!yQWt6T@I4;$D&MQ +@6-FPB2&5O?0b!j<^_inRQtd(q!e>&Nzr^v0TiF2sowIdU3D>%2#|^5M;B>(QBG=Yvj?!j&6A*jQ85T +v-k1Jl4>;299OsA8LD}(Nzx0T;)gb#kGb-g^7|@Xhn|*tRW6qNM%c$xa3Q^YxlX}A6-z)DAGs9C7=f? +b6F<@l8vyEQnqNW4j6p8ZT&$fL=q^GPX+NxPi;qW#D{ZQD%$ZmCTT@s3NsL-N9bz`5rI#QAP5*%YGS( +B?`7OEeZ-?al*Kgvk(ed@%|9_8O|9cN#%_RBl`F#F&^5up9Zj<>?Cs|Pc*PM*abol?G|MMFH!T4`KUi +n|YrQP^j@MZZmiGRCK$!}d-FFzs5|JU~Rfm{FbzJ4so(I|xy7){~W9&L>aA9^SMNSWurT%plF6P^Mu>No8QTA63+r)uuaV)=jyg$lhqzl@ +jnMD;2E?zk&wHef@Az{cUP$cFdKbQYGpP6MbF}YySMVlxQKv0@Pm*1vfQ0rIxefY;*qbkdymc_Y=&rm +q$5Uu;Xrum|Yi;gaYyLZ~wcfy26nqR;bz$~@j!r!~+2>sAEX4je()mXqdJNkyx*#g|j@s|v%?nTg;YC +}%YiB#ZQEi;f+P@pj?qTCVD)Op* +q5%Y&)lxH{2LX)oZ)<`9YPo6#LuV|1i_=^O1&c#t8&`O)S6~Z!h{PyfkZ1Q15vK4b?39eN2BRt-I%E& +kOiF5A3t&1^k@{_Sy3S{>}sY?0Ery=Yf4DssQ{-Rbfh=)Addkki{Q*|0H1r%HJE)3!@R`L&txH7j+Ob +A3zjP2rc&MdE~0jC#y*$P=ZO{ROnd1(C~n0s}*YuGp+)t3nF(ia98dev}o2tiVA=Q76UeHv0Q{40!Ul +XxP}C^MQO3L?=&aDL9Z4?|4=d$o`z8Bq_HuThY2~Y2DexV;C(z%f?A`;qk6QZ*|f(KnsXl9hAc_Au%4 +Tq9_N_6IUN!@)5wyBHz(k9eN_vQ(Ett}Yn72iM>%-IBwQ0(KDuMhv|Z3XaZY4v-{ia@f{KK*p}w}85x +$(0j_Q|3L82DG&z9{qgw!@2Z5XKG84rlK4%6+_l0|488g9L$EZQ?eCp0;Mp>lpdh5F<_BC5LR9`Fpc2 +koK@NDVp2HL=m%*Iu;?UA?w@A)Nf?oOonIU=RZ!&M*+|rR%pJp@D~>i{bVy +xQttH^PJ?VjJ*>jTdPbzju6bg$nNPlJVbo3}7cEgdmYqHMO%ImI;>Uz$Q;Vkxs;vH_xh~x%`;R=0uoMNwuAvIrQW2q +nyl$YW3tN|Tch=$?30%~080oBE@M#!AUv4}U*g%(gkxV=VPR@cN%E`?*3^g)2}*iB(5uk;d#pz23eg} +=!=2fnE)oG9#dyp_+j?KGzoMzLTc!=f|jQsTzq+ye3VlU$L6>~r>;p7>Wurm%%=2( +N1c2oRdEFJqXWg*RXD+?F|XD$8rJoJ4n?mA1L0Jwu{(mnz47F;RmJTnLfd<(G$^aoUh*&V0bohpN>p3 +9Jx=SD!dV474r*t+_3>f{@Mfik*-&lOVNQ$xpb4_(XYb&Ta6ZlM8NSN^lQ@(jOgv~ee5#%f>G?93!|` +xCp3jaCUv*Z#%y>+Oa;zBV6b_Sx(GToRba5q+!Y3f%YDJ8$2_Z*A*zibC*XavBL=vG#rE&xtGD#rVfA +}>f)dfFusI^6cgen+bpV>7Cgd}g<5>>!3T{9Wd(6XH%3MQJ+&_d<0c|OWBel41wQCvgJw-1%QuCMBG) +J$8F?iGNfT*{9kgUwaL>fGtfqiQ$Tk~y8T2qVumAYTddd1BIa +Vbi6YuooH6=f|Zn)aN%$Mh-F2yKeyX^o!5+Y~?Hj1V^aYdPPdc^Nga2_D +tKao*(UoO2)_5RibGmSoytz8iBvxfc9{a%Y4F|;yBp;#j2uSM7jpOIA>mEvb4Zx3r)dE`a4 +2XS`m%i)TQ%xwViM1G5HQVZn%`(FzxT>|9W2b|JIrx*!FL&_k%(MN>C^bVF-?)Bn=S=NkAk)69kH2#0 +GA+9})>6pW@s2UD(;FX2j0%qTj=*H&hv>Z!}2nC@~6mRjFi`K>rlq(r>2pt~Z75dC(Nw%Tsi^PhO?pF +nMnzq<2kG_zTiZb_K2NE-qX8#Vd}lHol*wx@S7m^-p1%%n~KvnTu%0vHVmBxd;S+8cVJDt +N6p6MUYpwB`nCe`E>i7;wm%(P!@2v+ulVZe2z +Vy@rUtCmbJ9%WgR53+{P~>wWFyB-PL`32u*de4HcmQ1`*qk)kH}eT#t)#S$1V&&-^|D8Hl6w +-CrhRw;tRoLnh#eMpFLvDrl9N{467&+=pWPqKc%&$@nJRY~Oqub1d3Yv4Hmr_AsabG%%0e%7u1y;mcf +2?BGIQQ&wL-YYYI)cflgo~@aZy-^i9@RvIE?s%p|6G6=nSL?3+1zjCLrIgotI^S(|I%!iVk{)@|`>Tn +I#gQH45aOu4M&=Vn0P&CBHFdMn*uY5i*)Bz!1&Vuo^(Xl?uMKf$yMl#CDuA!9e4)lUi8Wq88Vl9_i5W +Ib=6~G`|7UCd(G35E^?oRrK{SbDBuUXELSQsaK$}gbQH&;F0z(sRpIYI)2?qaa#?f$Ji9&ZRzkT7i>5HOWJckPQQrBh-vE)5pV>7VWuV!G7|H9yZr +R4jj;htjHj50;-zG1VuyHYB=pMboFUf}5d=k`XD@Xb9=KX&uB%gDPE2d4H`aunJV7RjH_z!>(17@YfN +g{ArIan9j3tGX1i#PDe8M=rg1Q`D>)cgpz^RD`0e;MDq0wq}T9czN*yEK590%QZCaKh{1i;&3EGUW4VFv^o;ojVzfD-K$nQ*L`qccHwa`%q6nDKzBqIP1%WZY}$1 +)&mM3+M=tm)H^s>mg!4wE-DGj&3vD5sfJ=F!RX^6MqPfgBOu`U2MM*A?#&gB7tdPn_1v03C%SecoUUz +t35_C2rQwtq^114x(Gf^py--&9yayt13k*|JYeE+22fyalvTB;J+%IrH(8`p}lkuWWSW*o7D4)<%oP! +U?NPOA%k%!%L1mF_#&37WRMG72dow3%8UhYds1Nj+r#PikRPr5)Om9kQ2O}b&5JHo)TjoE&`JTV2Z#m +Tx4&x;NZs4%)4Fu>ihj*5J4PtYuRc5)uil$E}r2pCKI2*>%f-~(|=4O`(#|_H{G1?qHy3> +<2t!$_ERiaBAE)dsJndXZT}!=eJZpcrgZ|}kL v<+o>TxygP{NPj$m$sS%?-*uQH~1W&W~zS79REa +h8KDjs!H$y^6rMBS^_3Ja%xN}P$J;`}dcIYQ$~!ZqR^}mlaTf|cb3mr)m-7_g1?$jYufWJJ^PEc*6f4 +N7r*_@$B+W(B+@L@{UTaIE(K~nV75j!ioZwCXvu}uF_c|cT>3VXVEEB>|dv4BHb#L+UTBD~+1)g>1Xd +ze_X-dzkY;be#C}O>Ayv+f#wKoG`UvNE)n8VQ*&$(2DC(rFoWQa3QdBrE(3)QC+_~$a&?o>^cFIrekY +uy?nfE9=-C_;%8UkLK@fQ;?O6GjKrP3+=?%47b}z5B|~CjpI8Cm=iWg6UFodM5nBG!hE*kLTt7dU_mz +vxv9QC*ne@o7Rw}coPfISDT)3nr~?siB!}!l`nK)8$>H5)wuj{O-du*ifnkEYrKG +o|=syjSuRAzP+z)W3F^(aVi$vFOrPJ4|@)IYI(9d+Hyk$9 +J{Nl8g#aOTp7v`+dUg`aC<;(Ke6vykRN$%wM6i6}_aAi9R%Kj;=l1XunHMJa!ZWd?PLGrH$W-OFKZ@D +;B8sJ8|iUV;^thyRq2+>}>%1`}j}Z#t$seFK>hOHCFq91^V$5*c_L{Kr+Lg!sv1vZ<91XfLD=##)*4P +@NEMeIDe9$AV0SE8&WKY)XP*%TO?~3A4OLiWC>0e>_%Zd$K?CPJTZZ_~hgtL*-0AZQ+2(6aq6lX$)h%!>wVSR~7;5bqA +DT8Ohk7@bUGLCjCmPv>qxMCtrEB53eS8Phdi$!RoNC`i*{Abx+Oe>pVSP%TUig048aq{bh#d`G59TO< +B}`+hWVJ{XfwbS-!tD&Sz^kRwDAf`TL9Kf0(}CU;S$O#2=kD5R5_)Ms6Pe^Q!lIBs7WdM +j?6&)o=0KJ`9@N!$AVy<2j1l%?-W%`3r@yx8^*J?xr&NA`C|D$+_^Y>4m)o9}@aaK#$-2_%GuVxA^c^ +yv^;tn^8=Yy@b78jHd7AD{9wYK=3^tP0`)<1<20TM1%c!8twY5(7WGjvvJ!w(EHmc-ep`v;!Vj9cI|u +UPe%(Kjh(l-e9H=+gewEh6)EZkgnU+8(S)B(UVXY~#`P&=ABEeQH=L7gL$zcTtaY`%Qx8|(^+ZzxPMrzMdNSJvn8Y2>U>zNAC7(O;&+Sn4|f6V+xT%8+w&;?&}+ti1+y1scM(~~y@ +9R9AA#6tjMO%uSWZE{yt}BLv0DUxzu{8LA&2w%+4o|*au@+}Wfyv0M|%XV+zH?Yo@z-hN;z2rU6f@VZs->@mRQtOljHEf-aXeXQm6m8GJFg`Je=demkp +I2O@7q;7y5hCN!~7CLrpggA6y}Vr~!q8edlFP&ia)M(VxsQ@xMfGhL@sSW{>q4_^vQpv^siy38Z2@3f*7*x>)n;f9rgen1md-n +OFH;86!w@=`cs%KfErCUf8=i&;_~DcN3PU#bgPvR{dk0H$bzU-@4Nd0q|MCpaK ++jZ85#usgt)s2N6Vw(2`)II3W%MVAY$HVDwtkxaIEFy?Es@ps-0_$%)1JMYHHCfvN{B*R#5T&w2^h$$ +m$Yvay*HX7rr*40hNg8MmLZnEky>zQ4ifkK(56OohyPn9Vq2MHbRcQt~-qv1Qz0x&kSc52qTcD;72 +P^diL%Y_%P;d;w)ea4^?18y82eLwFTeBI&$1p>DAqATn8H+KTSW6kx-MsuUFalfR5Y#*l5O6;6A=0_r)2d~tqRnM@6xx5|pnpFKYek387)Pg`niyU1O-!%o +{TSnUS05>2kQ;I5R}i+l$9XMZB58I*{!xOF@t2#(n>w;MWmx{87We6GMPMx5lQ#$A+PK-5KkQu&8MclfK5h9hq3qKTi{7e_Uurq^H0Hu`%iRks3Db0~# +XT}um8019%Y87@LHEu2j3JZN<7TNk$2nnM!a^SsPCT4D#2g{q6#!VRO-DMBb>V3bu`Nvz(;+R{0`Xx0 +*|UinWO~CXcrb1VDKA)dxYEV#pwDcaz@+8@SA&gDn=Q|s_#|i1zk@>m7f?$B1QY-O00;n+tx-|=p*kA +g0{{RE2><{a0001RX>c!Jc4cm4Z*nhVWpZ?BW@#^DZ*pZWaCvoBO>g5i5WVYH43xt +GKc7q~7d(+a=$Yw&30y(myJ@mJChNR?=b%Y!gQhYP>-pr%#VDsAs8rN#O`wSy>n?GfxD9W-d8uX+)T@ +6$5-|`g2%U%cQT{{{Ck2HE4fc6O522#c-($0c$O?q)1G)j=F0ef&BGzAW52`z;x#?k%YJb?>EL4NvN0 +6(2~J){kzx0T1>M&Dq_YcMFByj~gv^ +aNMKE)qTo9o;!%e@?S7|wkG8uuZh>`g8Cm(s +!EecTze(E6?7&MKE!O@a75L}OQ5ebaLjLi4Mkj8{L`6aK`*-x}&=W&x$yOkG5!2|jPC7CQ>!AX|9*g9 +5@KWtC{ECh0rJ4sFI3~FcGRv9=buNBi&En9ixOqY+gM4M$#cbA&679!e7qYrd?RrYOKr^dX|Mi0+Vk( +&UM8=0UhxL#Sci%Fb}sJ4q2QQgrK+14+Ee%}P5ZEB@T79#=Ebzc%Ik<*U@6aWAK2mq6MtBUtcb8d6iR5bJ{Qvz4I$}!XYr@x*?fflF7kIOyVgu3^vVh0%5O%T3d1@IfcEHe-qYK+t8Vx01y}xU5W*<9_QS}BtI_!SE4+j4cDfL+xrUst6jL?O&rBhLmYI2C3NN6R6(mf6 +!jx;H_^L7p+yE2lXQ_x^$dqTb-Ks>23d|b8pei)Ttod^r&R~RE)7dQwR4j){waR%yHnQrH;2=sFcxdV+%0AEw;28*M9C%WkX2;0a-6fTMe;o)!;yUnUKp-Z5=G20S +=tG{7^e~rFIdCPlvCwZGaZgSMgOg8#vy%b9ETWzF7Wm=K2VX|F)9GYN7T_kbC~e=1QYr(J`Kd!6XYFA +nxE&>yQ>vI4%DBbNwg)%uK}*<^vDCZ?ptbncHx!t4L#}c!Jc4cm4Z*nhVXkl_>WppoMX=gQNa%FKYaCw!TU5_P +2lBVzTSA^7BEiEMw{vFZ1GZN6yQ(79>qR^=K1{GCFlbWKE$toJLzkcm`ENXkDVWeFylB|>Gc=(68*=w +)8?&o*E`|ba>k3aqMlP|WGeDY6sf4_V6@YCJn_VE4o_BYy$_ +kVHs_RWjuKi&Ob&E7w}eiQ$E{ORG*e?-IER}YW*`isZA=Wp*`Zr}ZCi~sRa&mU>)r(feyKfK-E`{egq +InN`S_|3O}uzmFE)%KM4zS*AMy}5h*``ybN$tMr5-#*@d_j3&My*I!AL%gzWe|i4+Z`)V*um1LU|Ks- +l7Cn5sy?xle`t|J(53jHB$5g$#|L*bmZx7+ +jAFF$;EjL-l0@bdoqUwP^0*Dqr@^!n}Hi$K1`1AW0cd +y^vZO`9qKk?d|AO0~@pV5)8ua0b=Jw)@)?jN_i`}jN0{`=kIn|NibACz}byIQ>6Vy)kM{+9m7YW~Cre +;=Lxb$b=7@%ZkOAN=MN{9~jqxBJ&N`$Noq{1OeuKz|9d+P=HnetvWJ{m-v%qlI|y_ODN#{mYl%Jlj6{ +;;-Ake)RO|M_)Yq>mTF2G1KwaSifxP{>Puf1Yd43s>kQA-~JjMj|Tqo>C;dCB|h=d$4@?g^6anl{<9~ +~zWDU(ueZ;>e7b$Kef81PXHP!)=JSu9ZeM-#^s6tw{`7-w`}*$g-4rvKzctDKXNtd%CVza0nS6Qo_WA +v*H#zjb#`3<24!(N1{qX$ncd^Vb?(V~)w&$@$e){$QYYksLy#AZxjgS0eLjSnkf4{wccze73@^~M%6V +~@1RySJt$NJue(ZBfMb{i$$^!)X|y^1CHIzIl{{rA!IXRjU}9&fjgAKtv>t$+C_KD*aa_V-KM%eH;la~_&%b*`U&BD3J-`3u`Ro50P9`?O^T+7oSC0=rKG6Tz +hd;l5asMjb_}_kb`}U_leE8unzx?vS-OHapc>BvAj`HD;@sY<5|JnI3_1L!e-~Z=r|De}8OT1LaeD~5 +=$Ka(=>bsX#&zH(x`}NXswxjdGy&u<0=Nd=z0Z(4u;XdA3H2r(ZG;ja(uCWi_EAL;w{(k$X`hmXZY4q +{o$KUwe>-b=F=fn3#-^=^)+wcEr|Dfz6H`1>^g+Khw$36d!T~Nn=!KAWN53ggJzIn@L`tj!%KWsmQQ` +3QjyLtMjr#CkrKl$_c_Ss**dh*FfpMU$OCtp8%`sCwpo;~^Ui*KKP6#vU1j992oet7yhr-qxe?iL&2rxZyHy+EIFZsI}WxSNs->9sgYMgsu16uwed +L;*)2OALUrLrSR7|&f9h_-dyKx>!aM(Ia;>c>P?|r@rHPM8~bgiA6t(H*ILHy*7)Z*qaQ6ESkB2~wuA +oi+c<8c#hrni@z++f-G0P8%oZ>Ew-QfpC3-aN<%)J|jklKQTRgDc*3Mu1;hUo;BPOlwXW@OF$++5`{U ++wf$!iREr{^s`nd3We>vG_2#E0gL9`)$?5pUUIdoy#f7^OD4Q+d`k566BJ!-$#L2gBW24}RlW@vi7}= +`~toMoMM&cV~LBBAx!m)aHyZL6hHT_nbHJ@#xIJ9?n?j_`!-}6er`GeefgxI(O`$xJL2l)@XdO82JbO +d89qW5N=|6;~%vhJa}MiCq@wiI$JEoepc2w`mv&KrN=zPYn{g9ExlufGv@1z`HJ-|*=~(>D=S{!&oCW +lwb1=NCbS&g@$D@8&LAFH_A^==3_KPtjIA>+%xHwc7CsiwxB +F>lv2kun>~xH?N0ZS|tUva{jt+37T`O?Oo6dnvoPY5@r9u@COP&Gb{?*EaU6Nn +dV)y@`RIlV3HdH-)#fa-SHIhRKhf-z-ZRhZr#J5Rklk^UM0RXRx1V+-O@4J1BCmYokwegws`)*OcPM`lUqFhJP9AwaF_e7jT-%Jyi5R&T^eq +nIxRXMeW%liI~+LoPLs>G#BZa!FN`o@Jo~keW4z3-D;^7QteCP9PY6?pPM7c*;d%!>r(Mjn5MM{kNH` +>dR;*zBv+=`cUF`-AW0vD_bnB=(9~>SJ?gzeL5}66&3wN;&p2c1XQ)Wg^!np1#I<}5%x9@xSb^SFx>M +^S^BjSyT|KqKM_=AOFNMS&je|6^UCB}mXiYbk;*7WNgTr#6uF(3gBz7|Vf%lG>u*6ob$mxC3oE-e-pg +XOPyQGo($xz5}dJ#a}h$vhCr1DLZ@F^|QPEtYIzg)C^(hw2S19XMK7UnQI;m*JM+wqg`h +HfuGN&wEzBx4k90xTvg*y5=L!wygxo$k|pOuP~R?5_URZs3vv;EXK{h9*?t;S0b!mKYax5YDGthbTep +HSE*rSTe$M7r!vzJ>%v8mjE5MQ@23`i^l`afD?r7eGoJbCKSlWqhlc8@8yg*OuEX34O`511D8}=V?bd +<45;ZE7=3g#o-lDk4m>_dEQ=8m?qaF}R$~vlud!<`Ts^@hF)W}xy&SGCkbw6K{11|niiyY4FmU`sb>? +ty%P|JjCYLVu6YPtQuSh|?>}_VYM6E6SqlsHc-n}uRM0`#J7_LV1CV-#&V)gj4e9Y-KlypTq)^E49=_=S6Z0|cAok +1?1>*%;F1j=Q;B$Wxo0&to{ss)_8a5|1j=d3%`~zvj-~Tqa749c&zcH#s%8L^=+a^g4kY#2 +>_DU*tGMY6+bn$#Rp8ztzgCp_75x68igntOn5ae*U0Q#!K!!-aeXYMV>uvmMTA*SVIT3W{_+1stV{TTJkeS8EiX;*(wRx27h+{Zj!uLms??~7U8g@ +)apv-UdcL-xn$Cm_A%A#h2rCV1@j15`FTO*TNCm^5SW!D{Ju81n)XPZqgj*wd$0W-0UI*nBr(NFCgzD +HwAkmQHL{!hy&Pt3%u_yKNXj2~eaKWi`_naDC1Gp714Lu_jfq0lb;+Dggunj4{&H2DL;M7L70lqNQY) +$v^RRnD5T?4<~%dOn*YWz{hl!F$3iQ&mGMEffa(cmhPAivJso~4UVJYLc%pAemKD;7;Gc#Rwge#4kYL +{$?`DL%EX@o*C04LjWG1GX*Vz|hfzK4EK*q3Z9#X)cH&Y^cw}BXFQg@hG*-aG|zX9gT)!#w>7QKvQlF$wN0dVP69?uy84$F1m +C!<}4ix0=WHE9lVo-z#r$(MwQRr(7>dir!9eDDM4OW;Z93t7OUH#*oPoDUp1ux`We#AM*4`kCzpE(xQ +Hg@qX}kTC%X$p6_}tvS==0StGNo^;*+bmh2?sz`FS8G?qDEkS0 +c9))LyFu7opiu|3x<9Lh~0JXTo2*oy=-d@Z}Z@xX528Mt2f(E*uQAUYdqNx}bCaB5p}fEnlGO%dNVa$ +z0VArm|$=SU`b>%Pl#`2^+$=sKyLx#q;FtY8ry&5zKFy=;(P@s61o@2a%DonJ~sN0d!6zRB$GJRS +R-%=4wq!Qor#?Z3@h!d1TN{rc_HMyfa~pLP3Rj+$__85!!`!NDm@zVkWIRW`IDB6mkwYK`yaTYH6_K!(aq +y9e!iS(O~Rkqt~U-9|lt>~&7b8;L +`yL3%`LF#&|kQZ&TwWtZ=}M#-!utir^B$Vb)#Kzr~HoyX~&Shvn-nkaRT$gpmcM +8IbwEQ){flHzd*xaJ8Wh^9HjUClo@ujnb`vN4vV@4;KRiGqZshQ=%C)C=m`3+oBx-Xlu@Zbe4f+KI__ +@kI!liB;)aG?nCnONmpK-h2xrC#j@E~%_rhr$~rHy!;jECHzxX|jX@Y;Zgfh`E!yH~d2}d$o!;SFT$N +Tv80|SZx8r4wGtJRQN9GG$KB3NDBVgsci9ADoPy+aTIMoyOaJmrY7=O0wDZ)hhrQt;sdI>W*xGSEdkX +RbS2i+;9W}<0Tw(qWG$6}TCy$@&9iR0S?yQOWhV~+%)pma(@IKd#cDxuZ$qb%??%ElX;SPV;k>flNqp +;!0FX9LV+maVp|CQ8S&gnzzQaWtBlU44BNa-clFAPW+>1}8ghRWy>M9H){ljYUljXG2!;Jt^lW3Lr!C +4o#iH;5&mHF|J`=WtMU}9q)KxJSi$eYrVlO=VllC^YyxbuMCQ({dfukcis#d2KoJFvdtCqY2M?d{Y9V +3H)&V6nPfRcp%Rj}ZDDcA#YkyMNW6$wX%y>hdLUL~xhUknbYT!RY5s8_UTsGXWSc<{WQlX$YKAMHk{( +=o8xwTvEY_BQh0ClB}tT=WHB+g(GLhW4LZ%!vg6&$y1rkF99cmz~vu0d`V$^&0>m)qn_A`q$P%`C9$d +od!psc-3aS}i8n#}DIJpgA|8CxnEL^uDQ;KrStDc?fa!3T*Gwj9vg;x-#YtRQc=IeLGs1Dr1ANJF3t8 +u#T7fyBsSq1%I9v+L6jLZ{1R!(momKO5k_M11NQQRf73M)NG6~%-R0l9XLBnvAX$;Z5IS{PdWN%7%0N +il2hZWJDb~dQv6jxk=0=AwCMS%#bR#3NM4F)Hnor9FDP?Nz_Vn}ln?S|0{r$%ZTc!$&!Pv3SYl=w15? +&L#DnvT?hP!WH{pDnq6O~KE)@J!IgUCSWsO9?_z+wQ@B8$?TTAGHybVx#w_m2}@70%C- +?jIIj0cwo2F>?!@zp^zloojdDxIC+rV`ZJQ$3F|80hLjI4h7o59O^KtKIgllQ8Fib7oAb>1oz!u=fFEc*N@c1HYo(E3=SQILUh5km&Fw$M^1}^DHK>BWJQ(^%3w%GSm3&lHAkF7<5oQMRq-} +K2q$ruQ=8WP66TV+>#v*-l(p1<#^yDQ7hWky4R}%>5RY6!@1Ub*25{C +m~}fLk$aP4Q|A0=^)46tep)v5l?8kH$xTSG29#``y^SBUItfk!%ElJ~<=wdCQO +!3a1r6F}Ee72;?!2F6kG!*qE__LXHrx^Wy6PrYJ0`VII7_v2>xMsPtOR74dcn +X09m=uZ4AW)7fQajxRSGx;-viJt^251(>w3@N+?2wbZkby%>cN97eezdDySgZ)!GzLdRIek|RN_l)4r9~_AMX=DdtHW?AOj4<#2SUq246GSCY3sGHAl0SFt7M_!k3U|wO!>wCnY1lx+ck_V01k;H +T;G~pk`6)Ff!V>^8f>|%XMJ;!`+znd!jE{@Z0Kwib$W%Y`I$Ymtc#?1n;qtAT-O`%`z +Vmzp5i8nxSpl5Do_}>AMTS|2wH>+n20VDOuK0d?dT(#=r(s(Gb1!F>%a-zI6X$>8AJR}REdyK_VI0e52JZGSfp@FkEO@geX%NtBjk5dqNAsTR~B +m?3x-V?S0%MX4*5TL1+CKuaDRX-Tvz8Dhf3R-<;`x@Ey#B@b?XS-ErnDC_irILqDb2UvzLsr{MG=XsQF)sU0;=uh!jNL4`<^sU^)F{UJP%eIc$Ob +cnEcX1jq)+S1$X?oS)XhZ|Zl!Ne0&=mI2l*B3sw?!s)ULLk6lYK$4#F8UIb=kb1)j9Nt%ew_00)?nCv +>_#}@Hq7U75&)cG&Y?V~X4ublL-*RN6d8P&GR(A#?iCqFpYpFwQ^yGc*QRn{$$Kynw9ARaurug3Yu+2v6;WZp#WiStz!jbTIL)@4D@2e^o48>jq!arO{70Tx1S{8PY$QU_q!V0s?BmF*jgMC&&%}R +<-a+gy}QS2jH=88o;GB3tou^AbfQL(`B~~i6T#L*Ayb*qJ=K*B>t)nq>roJN_=a2EXIN>8T#wx#{q6` +YuE|wq04pbdgtZ)nBV*?=9xS#O1s!^#1{+3Xrv1XNJn(pQBn@U0U)WtYe)Cl1H&;}4G~OHq&L548IRG +u22yeX{E$sDJ{(@n*T_+ZM(kr4xK5aWb{NL>cG%vmSG$2rhR(QA&BK*-$_^VYs-qApZm=#BfSWas?Q% +24jDQ+3^=n;O&H7MP_e%a$@p>IC=)j9L@L82eR=~Ba_#*&TwG2Bp$S{zpwdic&NEg>}VXx1 +wbzls3-d1T|e`3w8$SLq$v2JgHDUqA_sRI?!WfyMapz#iF7Tpjd13FbL^#KU7$_M$iE`Vfe1Z>yuE3swFP?c&6*~1X`boM<(WRP=9_rMrc&JmO01aN +R`(+R4UbklL)gl5h3Xw-+*&E)mH7(gifib{^RA{nV)PXc8KJZzoQA7U_Fq@-icFS^&-Jc5EDve>aGP_$-pU=?=5Xem4Nq=|)P5^|%Oh$Hn}>ItrP(Y<@ +QmFSY?1ve+y4MNZe+y7~()X|8E;q~;Bcf8t?vuJj14P$l}cq6BaV2+7|}H6>q9pMSMG;3rvjRcaPfG* +ja@ym?z{1Pu^!?o@Bo!;q~M@`Vb*9!*~3S~qmBBNLU=USeWoQk0HclPuMNV*ZSQQY-Z|&&k1SbQ6R|$ +3$=Gf6={`Lt$>wS>a0Ho=hQkYlwtm`Zk*9B;-{9Sg;-g#co4H*~nGBMEGEk@S +Nupo3aj0iCt|$dm6>bzID3P_@u_k{;-97d(0xp%Xh<=(5de5hWtI5lh#A5{;>YiFucu@M|Txf@8j>H3 +2DS6MT?iDt9qqedwC7d3oBu!i>FJ;hA>w3e1um{;NSX}cs6Y!vVq;6jJi|(~FtAD2lF+q{l^DTpUV^* +sp<*A;>>~`NDJ`4H;n?BtBsrO`|A`Z!MrvC##3iqc9Nk47}eT~?QHd>q7^$%I)HY+DxzIXz3uN^BN0I +jN=&`$!P`t(G~?lA-`lwjYi^1z}twkff^rFk~JLE=7iuXVRRqy6f`o4=8CvRCMIZTgsIYY+(3hse7JW +zk`s?ogq5;j=?r0tQHSOHOI1_9xg|CV^0*%2Q?ZNDzj?DJ-rIeE_Sa=zo9LU+Orx?*YfSS-&-b?;g;@ +7c{xWiDR5DC|S)Am+*-!cChB8eeJRbbg$b?=W5^qGm&1i03F=b^{_`uGPM!*n+Tgt$Ak{KmSwV+{8>f +!I$D}F_8`qrndHtB*p;5$Z#FFuFm`-d2r~Ki1Xle9L>O$4c4d&htXK|=8-STFS= +3%XJ}kU7P_RghtrLTXWhS|du>n;MIO&{*v)kwMm3sQT(y4MnR~R?6j7_1Wl(~4jsC +O?wtG8-_vyi2?{lqdNmmt*dlUP$_@~jNbnRD=o8h#>Q)qT5M*6~rJcbihCf?u1Snc7o$^5nRg$vDIN6 +dz`WS9;kWds*Svx!gmv6=>vR>HKy(+=rm}Y}3D+HN>3cFm6k#+N|J~WaFzHJ%=0F`7xm}jht=Ti4<7h +D2n8PLK*+J6HxO-c6Deyg7ZeoT9AYEI_qO1r0Uo66QM-m|HDJ(M13k|w&8y5$Z$9!a8Kr@NuZQ%Dr~K +At5!Xcio?_|$VXbgz{xsN)|tNh~P^5}?BI-nR7SRE1O~LVj*&B@6y{GgmyU#vBHyBijX+urCIPZR9Bp +K%ES)MMGRe^)R5d%#5Yv=PfJLbU#5Qtt5{Ks~vVm&T1IpR6zGU0|C1nYA8&vJ*ny;ICl9GKz0wPur`N +3pm)=sHFU2rQp}o7x2Yemnm?E+ALwfNNwy9&vxgt1^JM|p1Y3>Qe)Si=ghaPOrPg7N;9{dOKu^$yNr} +EwTm-GyJQPHrJ~D+RH!(rD)(zcj&B}vV)A})LGA4O65g-{sru?2`ZIT-&^9#hFhPf-qJ)EyxH+8QJs1 +lwUEOASfk9>(XEdYQRfQcQ{lw*Feb7N^jWJo;gPI;d~L-#t!k2lY7sF=;n1R&6*&h!}sMdk0%I92C^2 +EXqf$5SJ&93$_mXy{%Wv$dg+sl^oikkIi&Ac3UH>a({`qOigx4;hjcj6}!m_fs|{{R6t!Dw~^u-PGbV +J%RpPnkmaJt1st6LnRe?OtOq3=RZ8xVOfcGIVY^b){}`aUbUzUJnWm3O!iUz5IK^^y}SA>R`u{i7s3o +!ftK~yhVHdMunjd~%JU@R%%W>*>4sz8jcDFDcdXRYBeN6&g}L-$&7Zbj*>sp<4oA@ng;K9E +xmR$gffQ*}z-b`T$ce|=Hm623%OU6xr_f0L9xmY)MS@!}NuN5!^Wu_dvH +_z2!9vovCDEb>^k3Q2fncsKq1}>?R{kAJ|`Z#GFV^2qJ-`6T3Bt96%Aj|IZ*$yYaZubu$d +^THiFV@;Q=iG(pxA@oUIYkpq$A}C)y5quA*fh4RbC5s3u%& +vQ=wV9CZ6ZX;GyB82v5c3Q3y!}K|P7G&VYT7Pr3vmQH+f&jLJk=&LPkc&c9seB$%k!7v{K#8+MC(mIA +s)?+k|NlKV6eZe!UyxzFfU2D;~>ykUq$DbI^Ebg#`MW?23(S_y)iOYHbOiRL_@ydQRuQUs6_hIw>dI= +;T=`R=CfwRu`b`Mb6atIi>wN@`Jb-$;L(Hz*+yZeDqF$SNHw+`O&;taQzTx>rS)how-=Bv-uqPw+i41 +kSRM0oUD7kw;1li!6ZvR)#t6Q{X;G%aaHO3MnL2*~eCdzPoQw*n1>N2z6uXfRw0I#-FU`W +2{VXI=a`>db;w%n=eebiGe5elV3y{OlTOe2zGfOXhaxWR{A +?N0A6;e6JvbrED%QbAa9^;w+U!$}Myt{aTnuLXIesg2yadopq)e@5)RDQeJ%cMM2xnpqdu&3RzwA-;m +N=*fS8OEymmq)OTm5@GT@dQ3Rdo6JgqFXK1KfLGpRo`qKsClkxOY|ptV`n}W}HFd9f+khvUy!pi4gBv;&y +J)`%3R$wzJ)C-Iiuep;qn1f#G~3nRz$G14vYMPpAA89VD_)Rd*Det0YWb{gzyxFGRtb;1xd==wU;VCK +a0ygfrEJx7pJ?N%hw(r(y_hKF7(iLXE3BZ-yoiPU?%5-&pBIio_u4#52qWDP?~Seu0IZ-&7?@p~GC~l +7o7w7eQ{M-E05cB7x8usQ(7kSlLeuI*Nq3XzE>#^6P^O=dCRA^_G(J|)iWh2FIXr9Kg6UGsA;%xYq3&H=RxMH@M&%p*&>+k01{ +hf{T}8+Dwf=S)OSDulbB^4(Eh_9e^b4Wgt4-TRG(oyLro!3fI)vt8$AI6xcy1=cW@ingdx3N2^e&*Ig +2)_FAm!d(vBe4cV3YJ;M(!7~HNd!o^fe8^dq_%Mu7-(=^F;lWv*6+Y416SeaxxjcP~L&6~yYhf$fMPI +^$8^@Q6I&Vb~BX3FL2)4y1Z-9aGIrL)i1l+PUI2GGG(}Y~AUpl<5?sd10ZMG}JfgAEb3n-%(lP#~Z;p +iJVQsvy)CQSz!K8C>2D&>C7FLj*ZiEp@51bvmFK#}6AE>G2mbFIMcHMl%FYfN?(hVXFa$Xjw>bak(KS +Z{6e$O@gQQdiz5cIGhv516X=@6XES9midOD5 +rK5^blSCFU`R9U?V=B$R((6r=*#Y0T@mHb&p_gay2kD-I^+7$cK3H3%-b`6|mDft-RtYzwaSXHm>v5u +edqN95qT&^&@=Ywk6P(WoN8kEyz<`pYQS_tGz{&1ndVCMKFqATmB-TPjLXVMTzkd*X1X1sh>pfWG=*( +?a*Pp$tAFIogq4M72oXV4he{HibUD2&+xyT^NHao=^R{{=@Otm#x#YR`+B0776=wXmu=5K7jb^?7c@j +6BOr0;+xU23jhvr`;!B6vv0dhi#?4I=q2Fysi=hBBxBNAmwVea!;=jcL;DGth};rX$2TIu6oNRodO6F +*TK5DCx%hVT6P|(Pvy>ln*uJOQp8&+NjFvYhJ6~+G3vXJI(au{o?dkc(DT;3yn{fUc{k@L!>?!G;Ln; +?PT*m`QEl4PqMk-(v_;BIV2}nhM~96Yq@P2{7exWvMPH(JOL>!;7G)XB;z;qIP9t8lOY4yWkV~kpIr9 +=?0$I_j($3Jm)}HSo8+3w8m#u-Z?I +e@sbZYfLFp40m;YsM>eL-Gn>XHyi!LU^8d;@Vv_67b`dX=L<75;AIxr6Gogw^t~Z +CV%wCFCa08vfxnP4Io1^%WIs5BGv$=>MGZ|aZb1h)Mr;z^*L|1>~Rv!y)tNMK>^-W9EG}TvHl;-7g)W3P8G8t2d +L%O5!#XO>-*YT09chrYX`1KqVyQMwZ*#g?G@s0($5hb@$~NI*aMtu%q->3BMIK;hndhk!MW_1WuW@e7 +<-+?QD1+=hPHDW$I=0SdC{uIg|rMI;Oy1o2J-1y;7cyc$IybT6NIx<^jG03mvxWwI38+8pX@zT}m?Zk +l|HPO0~*uX!Fh(Fs_`tH)mcte$Eiz405U=g$QvtVEMX50c>?BEO+#t5+P7lkHf*|_T^zN3mbH&WWA7c +dpF(h8(3Ka#D2WU^6-K|2m}Iz2zM$=cI)UYar54pOVU}ry>?{1o3jqlU-BWdM~%pPsYd?hVlzI|IU*= +FU3a$$&`_$x^EKo$=&iC{_!3LJ0K*QcS}7VfYJJr!>pfLYQeP!Cb#J5q-Fte(zh3y3N1uE8b#$+rWCT +4LAhn^Sg3~qKGxf^ch7r_j2qZ`-Re~uRcd#^XA37Dp=6N!z?Khjk8r>FmKotP*P|GbtM&-Mz!tsc55w +#o&@4P|_gp}X4fit=Aq`KGBjqb5Hm=lRn-0TqGc%2^JqkG}c>1CjK5Y_a|xPok#wC}qA4C?i!c`>6Wn +n+Lj@-8`WNw>!DJ)D3Omj}ss^E*5aPYRs&iMoil#3lbgn#8)<8SjSyi+L6 +E#gZuDwMUuk1@wp(#O5MuH```flC0R}Ce?n4*l +X3J@a0@azK*zmfoG=J$F~v-jI`rVdH$ssm@@*Sh9`@5e#IFlN3V)mL5~imR@=5;l1AlnSQkxpBX*V|h +?g`z1$nH(v1q-D^$3q*#+ojv{?Kjfd0&mPG+?IrK`D<^%CS6sIkOdp^M{R%hOa*U`N;X*~}Mclp#)`0 +SYdLKAHSfa82Y)T>?aO2U!cruV&g5B=3He910)@se7P`?)+80Ay^f=omp$lM8-P&o@TiEY6q3l65bIi*>pnGi;2a4Z3pg5>|q>kDoxkR%nr2-|e!01USdo%wu9(s+Z!$lsL=#4 +n!hJgj^`1P^Uuk&pdH&yGB@d3yVzop2p>NvfVM{eBFc)@_=O7lQ2Tk`PvV2aZl7_R=pmn^UIKYat+)d +TD9V^4NXd*rj&A=KMtESAi!hfbM{l5z9uFLfMTS%Dnuo;mUSuM#4~80Z(v^%X(-f1;`dtZr)rYDs7vS +G)QfxMWB^j+{4$Q4c6jXAsMGvDHv`1(Nr8krH}wOBVyN8@)ZT<@aiE3GPiH4s2der&w39fMPL^kb1yW +=Gt$^@Jc{(%K@i0q{6)C@AT`F&Z}MSRr3g-$t=aSv9cNr`(fJdSw;>7Kt)yXK!Il)3Q_@SL&4DSQn7d +KdVh(tYR>AtW}embz!3E}-Gv0y$}d0T(ak$~z`v(ozd(}X-6MIA_sIKR-K54L1sYHaL;e*4!Sfo27d6 +RL;s&5T#&Y&GBSV`9EfPm@WnJ`F<3#1Nyk{Tpzg%q39pGL}lD)CqTi-pNcse*w4SAl}(n<2E+(Z_*k6 +-|6)v?QJ`X{+-V&(ma%FJZ#u&KuR(E(!a-kv41n@Z&5`?#iwbAW!~kNXWHmX7cm54pY5ADEK~khHYRs +Qjq=R6HOd`%Hhvoj8$i4xi4Hb-!?pB_`WlF1CA{bJ!)H5S>00hpLItD_HCEbbZzXxCn)FYPv(-m8C^* +`|_l$3NvigN0W~kt*y**GH94Qk+rqy%_QrZ2hQU-zej#`79@`jTKv2FO&|80fs<#ESdFFYRR=;$$ivv +MYb)nyJBPIeC65l~&+|DXeOKUmk&EXmPw5DoTz)edqRU!FwWg?p_M*=|czZH^g+mSj%aF6l+d~H`n`w>~Hg&Fcn13uXiuw)EZAus$834;+_@_{J-OYZ@QvN=U4{MgxE~#6Up4>fs%~Y;bDWdO)|NBx#=Cc!Jc4cm4Z*nhVXkl_>WppoMX=gQXa&KZ~axQRrl~i4C+c*$>_peyQFAm_kaf<-g3kpTxtV%dXknq!`a!@Hk+3p>h+(76B-TU{v_#BZ#0d6(3RX~qe+V`)6 +~k1)Iw2gGA8M0Y<^3n1ip)+)G`&`SW1;-?I}f0r*VW1we%9mM}A>tc5KPy3a;grnViY}D}+5zWlBngCd-+0dwLk*N$BjOvA`E +5lX(?FrOr@JQ0>_k?&#suWJx1-P)bj%*`k_RxmGd-cqCKSj!8J$g_zr(of-ro$w3GW4CrfjABZK+!`& +}z9U}Cp(>>mHU~Ch5-4Z_NM>lr?cni@LDRjdgk)4YcoGZ;p>Y8>7@9_dc6#9y>qBT?LI4@Nj49KOQ!^ +QXMazWALnSMs|c{Eu(KOh%Q;}redGs$9y5zGixS)qLe;UF0I=ka$SqTX;cTs#N$gW+P*PZAnT=M>Q_n +lFa&aum&Jww%wVNxwssFdr=rW?nM+WN{A4!obOly^zZ7OMgat9R#Y3w&I1+=9DESiUfX^nqkf+W0oTT8Y`g^!?FYu$=qb#?YsoHr;oTB=j$Z79@ZVWDe?qGRC&4XPghI;|SQhPu=d_hwkU +QF3~bUV=qD$PbCx2B*@u}-(bI`%tj)~Fx-3qR4gR9^Nf&oNFD_Otr*fWdZ=dgDAstq|!}YCg +i^`XmV_mmx?d&Z)p+{YA2k|{R0-#5ioLwnW!2afSQ +QwIoK`D|jk8*{9IN~g505Lcds=6vHq{B8Q~vEa6$b|gR*?4fLd~sz34I5B>%vNea(~12uUDOTf3?L@^ +a$3`Z|EA7`|4ETp_?l$3VvUuWnWrNH{q(AYXnN@O(`~4!Evb2@lE3&P)h>@6aWAK2mq6RBUE?o}TG``enw)$N3++tlu +2+bD&(|r&|<4!1SEnFHb3}RN59WvH*0aas7g{vY}F +D_mJB3HajHP53C%PQ&!CBm=5jZShE_&St>8ID;{#a9?1y0gPCbT7S8C?|A6*r6sJ(EUP>13x}LOy$Wz +Xom~7+AtJ?R4~+YZ0t2Hf*CosPoZ$7ir`@gO}6iz1|il@0#^*OqGVM!NAvs1X3(SobvviFwxjRfGy7bXKk|wZ(`fg0Bm<=KaH)Q(j +oarWfSF8{u+gIoAa1le#2*13QN8@e2TP&^c&D13@z-hBL1O1jy3IX763Q-=kXVfj-tcom#8+@EWqPG- +lzy2uV(+prA`QRcQNqfsF&;uHLzNhZVKU=54e0z`JiWd#!r6OO1AiYII-g^qN=w+ggY2`8SesR?cWke@03gQq6#6~|Kh;~T`X_NA)p&x5QHVV43uWkyBgM3&Z^bQN%eW9O4RRSWZQ@8t?MT +ymE)tMVHixPEM|_LBPf1j&vEz^>iw(UM+@%iSiQE@=+yshwL91KPKlx!IPtb_b({aGmyT%5CzgD;Z(h +}It?OpD*J)n%d(C#s>eTR~xYqt9+|>S|vrRi@o~WHAAJsk@oIS6erPSYC@=&h+c3!eq=BnlK$F&-%9XgMW9M4v$B4azeUZx)eLk-1ep`!o-(`WGADMYq49T)2 +YLI0Wl<(ePN>jbSPaILPU8wAwJf6`s(y_KA)E-QHxRz!qMq84A{l$RQlRG?fa5zl< +hGil+f2gW0FhOSWmnJ8t3)lEaZw9r}lE%IC?Qflj2!!f>xGkRPt@1`s?KVoqP>Y8Q>1_wih9b}anAW-iRbFsVKqRh4?6 +rXS-})S=)FhglkM(GAg3~El>Dqld~Ad!g3c;A^+kBb02E`ksc?lE{7`^di$2nUZv9BG0hQpzPCU`py5 +FLp#eHO87wp+YOMhg!_8Tem$A>KO5rU7-y9VABgzB?Mp`Ef0oT0BU3OAU?mHU&1vW}cXTA9o66(geR- +QnrkZx*n1^p(IlhTS}VR(>!*_!5lHUEFguFQ3~+3CvTY@v1f$qg?(3;jfjqJhmR4E7h_;0?}S=*8@Go +MF#!t1DgqA9~p*nwZRZloKj|qstJXhfAl+SiLVs5HJ{Oj&?p_o2)P1aA+aZWsd$PrbT`!OWQA2Y~Q$<{!VHZinZ#DDWNvOz(8BV4`!pW#XQQk4o%HLgj)ev;2^2-#S6Mttit_@7xI`J+Ve!hE+< +eLe4mfX<2unJ!HE!M5V>T+Ntbi0!IGSZc~7~ANO>xb%iK0A9cNJ{iqb3RHw*4co%AEy)0`A(+eM$0$n +&eH;|o!+d}`og;c^JF=lxMKa`>7FQ=l=>QO(M3r$4YpgN!ywB2Xnz((PZXnImO=2XsQa8;KQXeQT{Hw}x#yX>Nq#= +eS0)uk6i@!q#JjGxHF#gKCYZu;_4P~e_8Mr7{zoN=F=bTPX@N+0qvPyt{?uM*g&5`w +ks76LLz(;oh7BVBtxXh!6Lzm@@CFq0(ENaa7b!7!$Hf0JObCM(TX%gGrtHXz&QBQ_l(ek$UI*!hxjz(D^=64=VqAq`s^?oz$0={{ +pF_mzf{K>h0Kv(R%A+)Gl6Uo~iaA_M^{M2QWLrd@8f|AoicY>r$*VhvcOsF_VlhWGP=XxAa01%gofO# +eJh8iE%(QT*}dl9}^4PkPnN5Ew7@x;$Y*wbdM-_9u3QR94$R`?;^&2L}K3JOz~vlmo%fD|-cB_kFYbV}frR@?pW3|EGanv6ud%!5*Qv`|k(`M4tM +bxJDinc`xJexfq&g5_>dR>p(2g3Mu#t1!AT)y{yKyDKWusQ{OHc8>MMUj_S*oIq?CUL@4BGs#msXs_& +<%UO^x}ukLy%T}R#~Wb|`qAaCX(c4yAWpXZXdDT^IYvV=`{_bBf5RP*=N42jMn&tv^96M*~*v2m$p%k%}M)q>+U9-DN +P=Ec+>c#SlRN{Uq6@kdJGtWNr%!{tBsvmghKMlt)8ut3*c^@7|linXt<9pS(g2e`5qWPLjCZMN61a9D +2{mq47^n1IFB@dWY8Un#lS_sI;YZReF$t|bIM|?%0cBnx`U@I`me~i`yY=;N1TuDPe^-k&Z2LZ!W>C7 +HzWEMkMB`M)*%%@XYjgm~ +ye!dU6Q^3F5y7a)z7erINK^~~lb|u=CW9v-EHD}Vq%_5ERmh{nnPM4II +*zqPy)}h~Pva$w&=6C2LW!EPnZ_%@0}3AT0Hr}-26oP7Hl@7 +##8BCY6>15vb0Op8=#7@jAk@pfu1i4kDWQdk=VY1X;sJw;5vnX-vyOmPT>O{5%fSPrCaczjCHQhU5agg?sVEWouAtsf +aRPlbr1B%kMCS6SB*xb)fPOIG4(Q4&5h1fs}+~)xuqt`&w~xq2JMbcNS)lTN5(nYX=-dV8i8QO6xJuL +;$3#sJaVL&rIDoqMd16KCg1m)21V4Orj=_y;(}WDeyk+sp6)U6uEaTjZh;HE_V!4J7zgjyB@+32J_{^ +0fKOS&J+zMxvm^~2{Q1{O*b0sH*D>{opG$EMj%j0`lBQ*4(|j&qp9Q^>qigY^4)Ta`d7*o#Av622**% +&4?Anv#?0&j?p<_IAI^+219y%Av^*h-}7n|(G%e%~%Y>THFX7g1Ce4JzIv?icH$%uz213XFd5;XT{w6 +T^M`4d|WhIg1uUBa$IW48YPCtD;^4nl+&=5xJDEc*1ZIY{t=CU(^8m{Q7?%aiUripjh9ouS69JZjQBH +qBwrzEV>c@P1x7{{7L4^#+sW_|YFO&T;C;D0`_ZT^g5OcI1Jgmcw|m@Spp&t75+k227ZDEQ6cFWpF6K +spA(~ZRfX^m_u}f1N`HntmZ*~WdtF8Fx7na#$p+^(zvs|QI_jV>Ts +^dVL{!$f4>(lS^Z^eozBdjPvZwrO9KQH000080F$jzQQ((hTE7PX0QM6A03-ka0B~t=FJE?LZe(wAFJ +ow7a%5$6FJow7a&u*LaB^>AWpXZXd6iddbJ|K0{qA4U6@M^nKnuBbYj??Gmk@}li?IuErLu`v7Saf2E +k@drWLx*w@97zV1cp>XRZ?cAryr-gPdDf1$3OIO_<1~~$#^iF&WH4Iay|HiPRO30ozr41=vvE_R9-}b +I1nULx{CjlQRLCBl8-{CxbfGXPDMt6$b_H8ntX^lXIl+pB{K=JPvTKTaUwLuA!SEYLw+i<)b|pBqs=B +)()ThMs}x^#5^M7Xis>fS_T1OP%S1rS!f1SH%G0bXDPU@yQDe}gH=RxwDvpXf)Q=*Xv202+kqZ4N0vp +L7R+*N|9Pu^MW)CMsSDt>L8yT&%+)$g~VMbX@H$}FNm64dQ3;gqqcsZ<0=uNr>`SbLaCL%>B^jRpOVg4pxM$*UQi +S&g^1$ikYe3q^&C`atbymW*{G1MFQ-;$8HXWN{9oX{JmyR}woY#~-^cp3YTbSM0<38xE+kS@J_=^TZi +iZmdpjM_DlgFm1Ufj*)9XelU9MVLn|Xn-tz880rcZx_^`ex)z{*{nZZe0>X9qyo1{u+=0tNhF~dQE5+ +Q1ssQhtKn>Li5LBkmOmAxO07t`Tf>$aO}E==cYo`2iEigOIrX98^wUq0&-vLIGR6HA#Va(;Y +Wo%5o`o9ixor63LP(p+SGCv+oT{uk_o&OIY;%**T9VsN`~7nidkzDz#R +d+Ip<_}yLyA|%(9;0M=jq#_Dis9d#jLm8od-%n#Dpoz*43pj4d#-W8T_pfSCabNp(Acjz_gpJu*iELu +d8m_Cnjd0y&<(>vTWyZIYp43rsJ`ESc!D2l9Y*qX#(ad;Ru~S&mxUqDoSBosy%7(Uk5DF2L;4JgHbOQ +8GSuwtyP+#-DvH}oXKUSd(gz`_l>^Pm$AitLWMxgJ5%2R{3y9Tkl%OVqQtfHc^?=-#vGA*1mUpAH(jc +?zdJDv9T=f92any)Vq;sssUKo5=M>?e#%h5wc5F)wnTVjZLh9=v+>YWMdSW{OZMW*F|(tVo36bap?j- +gr^6_Ld^+kx(mU@ZCvD-@Nvp{r11_cEWou^!C4+^m{%|@bLTd-#PTrsCv7>tP{G&OsX;8P*x-&@XojY +SSz(ByEi=jrAolR2sA`#^C(+#NO8{N7-WRZf)5o459}swhz1*kAIS|UE2uJ5lwPEc9U5V-eD57DxW`uG+g@RoL_@!Lsah}4z|K(hP#>LW)Dh-;+JBd8sPEdpcgd&Xc1VM=38kU)^GUgnuA*&V+y*E|E6R&7AE8FGh)nX-{NjxWD6f +@85JH(kYLQzqN(u^rDYwz%@X*-D|*8%GQY?$!Mk8_wYzsU6*iW!o#YXtR)t%xH`YRmsiwuM-35$Xb~Av(=RYOr{D$U~7raRXKgQ>3V$;7}LZEb=t+?D;yz+~nfpA(eY8R3lb +RlecV*CNSwQ9~`K`=4u)Q72I_8?l@?dgGTBMLhWwvZcoDQD3zciQ$u5orZHbBcn2EhR9^I6qa8uuK59{&y0bzw%py{L;C*SwwC725Z9*VxGeSHc#BTuN!Df2A&f +-QX=bWL1#m-an|Ui-jy%lBYA@2_ +k=M+9eqo2039xOiL?aT)lu)yG&|h=x`}idUtBex1BD)IUWeNuZ1{qj_gDqp&AEETyo)#$HwMZU*W6M2 +b{xx;)4(tuq!hhh-d=eM1>Bk$M`DP}B`~yia+w&2uUM{XCgoqEDy0XVT`Qb>{oVe7voC={t^dGN2t1?cQy#D(-se>p4LuKd_kcGqd{~LRVTdsrg{bW^2ZV`% +<-4|A!DseMR#^4%kc`6|44s$j9g4xsj|;sDL{ve#op`SM0EwC{QJd%NWy32ud4D4S8`2fxXUB|&a3F_Ss=GFfJP)h>@6aWAK2mq6fBhaQ$-k3zMuFDHyT`kCcaQGT(cuqWc0c +#}bkn=)_J>`%yt%vjlV0#WY8=sM#&l=oROUj_l}?zXrA+@Ll@gIQQ;K1W8ntULmrla-6E9flIUCX`xd +RyR@3XV9m@`aSR^&1kPU_s^tC?#Pz5tl+wJGhfVc|HT$uc1BUnPvknlEwH%u(~|gxViJ{tk$P?h$pAq +Jj6dG+@hS!AV)kmCl`!lfr4!v?ph<5Zwy%o$jTY8kx~MLWYiAb2R)F?SI!Yn;YsbMCoQ}>L- +&S|L&ibYO_6KP9$5aCGV$*H2O!9lGxfM!lT)P%M8;RM$^zC&QDC_>VF!XWMqTkwZ68U$9 +77P)7EmJ^WE3Hk7F12;u^|pi9)A#N6>AUua(>Bq=5SEud)a`%zNf9|}G|(x(E=o_K0nSBqc7CFa&G3Bm!?HfH6SID9jQbE(_0zUibDJ`{8z#B*)_ycG_ab(13|QM~i3P?*OqAa#d<{{E7U +X2cQP9urfOsbIDT5wcfZF;rWdu?LErgOucxE8F$mb+9 +5!4tEjWwD<@+J&TkO}8brqZi;fV=J1X;pdUiGO6+mLr=`C}` +mInct`<>j>OL;1$QJJ+QB7nEtO#F(sxlb&Z1L+M|S7*CT3Qi=$l;x1gBaa7hECKbsk7D?4anPqr_eBH +Q6`dNk5KI7uFT7m8CRy$D9+8qoaq+1Q&Aoev*akpCce!t~gYZ@qCujjg&L#6Cv<+x|3wvx0p2LVE$=Us)gdSVfT^jQt-=Dk(W)?o +jVz)ScLY2{KV$Fs?-KRjjH^zi(hJ`1~<9{(mTLxk6U>AyA0vPa)O5K>HU^O9KQH000080F$jzQGABwW +k~`60B!^T0384T0B~t=FJE?LZe(wAFJow7a%5$6FJo_QaA9;VaCwzeO>f#j5WVv&p2USnE`>zBl;&WF +Nvsk;*eK!@t?hBW>avS=*QEaU9rF<)C6U^_*z@t;zM0wSc0WECNB8j@vv?BClL+J4V)7H80gAU5gJn?XN;vnx+6b9dI( +*7HJ0&PQ^>MuU9~RA!dC=OcI#lugKg%Ug(N2-m> +Q-RUK%|DNshO7@5ws$;JQCN-*#dQU@UsVxB4y2t_5DP=mtu#x-+u>VGAym7LfWtTbUh~RWTtK`XZG=M +yMT?wF;PlbMX|X4~un*aK6D)xLSqtbTi^yUm1?lo{mg%yHk>hxhgBPZ&)}JJVvX@10%w5Jd4v!t9}}% +^C(F$U91pd8LrZJvYv%2EZ3{$B8mDyLUe9%+su!e{MzD@DYu3@S&$b}xnt=Y9rgL4E)5+)me9rrc(Ib-jyLb8%Pg1q28eau5AbcsNkactJc5MbQ&}?gR2gFfjE(bc>SM +^*!S!%B_%gg141smRp3e@V`Q1M*RJYUNNg3>GY$x932I82Xm_!gb_+z3MG>)_8IO*m_UQ&dy&@O9KQH0 +00080F$jzQN2Q%F=zt-06zx+03rYY0B~t=FJE?LZe(wAFJow7a%5$6FJo{yG&yi`Z(?O~E^v93R84Q& +I1s)2R}A8d1322ay9G843ap~osS$rcvQgw@&=O@6rAULM5~#m^A0^pNS{vBqNt&7WIP+#W-R}8A55uS +Nj3(n~I7^1~FqucsbRo9e>C$q?X>P<;C?+Y=87E<>&_9KgEYN04DQrRK5IR=E2}C~fS1$FQ8`3$sGaQ +JYac5Ju=P(sTsYJ@0(8}W1?6s+XKuim58hdIub3CI>RWts66*Hb|U*W2qqh54PgS)%GL2))bpioMReX +OOJTW(%?)>IN{<&4;rPMe;+{sIfpl$js25OQloK{td99XU;l%I&mj>xVQ_Yz#A%S1C7~lhwI +5@{W$nZ?qh8{vVVk-MX8{i9_iM;ZrQe`N|XYIHt>_Nk)*@`CIB2#+eiW^k3C^u5108d29mF2`N?Y+(J +PD+h@B1xMFjWpG*!z7{6Jf@HqVZ0nit4SEsVihmu$uJ;FI6p}2#XKkSQQ{nwg@%$DcT7mzl>UPDS|lhl+O +b!THm6)*qKM&%?5qFPL#frat{0G#p!XzlQrh+D%?Qj6rti1zg5}iTK88LG`t*5#Af|puv>*X|Byv!Xq +}HZS5865(It_un{WKWd-VFY{9T2S&SS}qJ&L02c66tn2xzPm$>5iG>K=@%p1N|!+uA=Ao@tq^Yo~SH# +M2o|_P+RLTZUswsLh%DKsy&JKOdC%NDK`Ex%iZ4S4Ww@4r=@h_p>jNeH{otkdruf^izD^o?ytLbGF?y +SkHbl)(@7<>wlO!b-g!2x3v3I_Mo#Osz|vW-dzQ<*wfkdBte@UHsy@{b!4YtMiiM+9V2$j)o~gO_G1n +6oD|Wsderb~S&yh7(Ll-}e(Ea8)#@)>veP~TP$s7KTtT`A!gyuOnT)E(5p6@Bv%y;o8#Q%D^!@m}4u! +bFswe=q~581lvC}`W%wPFSTRaC=WX%t=6#a>-vkW6h$w!Mgc#=BUO9KQH000080F$jzQA7l+$ +-n{t0DT4k02}}S0B~t=FJE?LZe(wAFJow7a%5$6FJ*3ZZF4Sgd99R9Z{jczhVS_mqn_FeDzueWNGml! +pe`XnB&^g^Fv$Sf8k>!sc9Htycj7=OtM;&~<^q2089(#kxwyD+Tp>WMz-$maS#CA`;|6$vP-@I*Rj6{ +kQKhj*(hV;%G_d38GhbuNak{)T8&z~+z$Nqqm-Yx;W?Z(G$L0Nc%X866)%MD{pi3Pm6`4dxf)pdZr>P+<;Z*mPtSWw`uK#kI9%aP@)6&ADvU0G}3P|ExT3(W-(Ah}Wnq=d9Y$Ytxy>vTTz5; +y8I2H)Y@N?z1&l(tnK*ythYJ;fd=od($Fa$Qp3!(13F{u^2x+`!8E(eR2EmhX0A4@LpEo)(MwF{r^Ir +p4ksmi_|^yvR!;HktZt$h<)n)9>r{*={^@2P|e`;QIA;$8JBmQ@7f$wOgx=!werm>K^P?c$FY^# +b-G-?_R}7|zlNj_aNa(msLia?qw(7b=j}kzqB?p%z{zV9K&!P3=$SMy%B_ +QGC6OI2~Rh<#4jSWe_&ht{0uaT-C2C<;MpvkHH0jV{w9p@SBWx3KYvD%Zc!Jc4cm4Z*nhVXkl_>WppoPb7OFFZ(?O~E^v9RR&8(MMiBnauNWm#1rp +~%s!GkJkxGcU^Br%piB4%%S&Kb}Rn0ElU6OLYzO#P8IGDTKwf+Lk&OAHw%rk>8FPk5@bKiMW7<)r^8n +|#bo((_38Q;s+B`nqmGsRb2uoQ+eM&KGY@-t6U=18@Ih-^-)boB%`oILOG2~)X61u_BCfI#yQizx2HL|8^sldfA&5qI2L@>hzV+4Mqek_F +abC$#3ZwXPXQXQD&RenoOqlu$<~&^~zJWJD85%GW=6kc2qNty!N%>MSwYMxK3K6tS%rhl+1ADoHhzU> +_bDhHz5eAruf0T;iH!|kQ-kNqIrgCi72GvHF9KM@Az!)`U3hz*$qH5;5Wy&K89`gu=MqnDY)~44LQzM +&5P$U8)N$?rFH-MbZ?cGnPG+E%v>6f<^h+U8h+RWJeshe9H*rBBNkWx2P8R;}qP*oZO7a8oDxTh}!NQ +FL=j9`hd)0phiE+LRFeDW6WXAcV)OdsLX!1o8!#p4b664P`_{mYT~W}9*Xrm7SZW>1L|z{K^3?f0OkXK;SC?g10UuO{(Kg=4nTldQf$d=BKbgZLXaCtOvY#!Pjz1UBehpkf@utE +_Jq{t2stSV7>&qw|4ltirC4S4QbIe=p&~KKljOriN8{6K|tXno)Gj +Xl~Q%#PHJOaCj*M@UG@9DH~pV_eSn96Eax6@r}wX1BA2aJqT~jgXw8&HvsH3Q)l>KE2o1>?pqXdJ(vb +#1th6D0ZCJGC0uSEVNnlSV`AHFiVn=gQc#WA@?br%OJSBy8!Gf1zRA?TU{VJn%q&H=B`~B}>FbOBKdv +{C>2D7W))zxr%YWpy+Y%OSb3crv3!LQS5wW5@14X%!ArMGLpXy;gfi;IiwGaIX#gPj;n(z>wg7j(474 +PF4-61h}fCQ(u+MuzGJ6a}Msn$I-yNUH&v=IP!FRjvg8%$6wv<{O#9^_o-y8vou=xV=kRO=kl~d&0;J +ipMC7U0NhW67Jz5=a7E(CB_88kkbYZ!?wmW>C*BLt1!tLbUT#-i;C@|ceI_`FA3^`4eU4voMVKe@0|* +V{0l9G)ZSb8`zE2VMH6yP`|CN>ONsU6c~raGWv>FT2#>NmTjoUBS +q6-+MP=Mxgk^VYlU87l-_oxD>c(9uX9)DHUFo8GpF{6=pBcP9k%MmLnkseskntY>+>?hGi^vwwClNc{ +@<=-e!tP`BRb9gzmpy+O@arw~nv*%)abV#1?Z%nT7U9G_8+okMEdIok{^7 +sEl(z`zistOTklASVFuf1G#TVil)@6aWAK2m +q6gTaCz;SZByb%5Xay1DZ17dY +87x0p4Yk;$fC0HR0-CW`^Fl=L{b|PY7*SyuI{^EHzW&@j)KVQT?ty~bpLy1dLH^$;pm8e!Fltt)rEGe +(d-&cIB)kF*O1_QlsbaJSVB+P_qHn>Xm}$Dwht5UFWYfM)>HRjVp}#9xwc$8u+j62e2|Vel?pry0wxC +fcV*z4Vk)s|GMTxyDFWMbef(EVJ+=4;14G|a%XU*q5y%k?=ZlD&T?s|8rgQ9S9KcEA6!NuN6+^J@S*S +Y>=;Z5zE`6yUJY#~v!7=9DE%Ne +RAZ1wV0MXE66>UEd9U65Y)x?i-c-g&yw)AnNa4B7>a5nwf( +6LPvw{26pz69aJl-m69DpMCU5F;E2TzD9Mk=-+pHrlE02dR8)0WF)4dJ7|_!BcP|0vbQA=9Gk|IOsVz +xEd-_X4w?1W;z1fU4$KD?(q){h!g#Z+X#jdX1=s$P8uViFMMkau6j2EsCRGSTV2=d-NEe{`eLThitD$ +GWKX7!je&7iO1Qxs2aW+cO}%l2iu!r0-5T7|=r3A>ZqqQ}qNhV0`gMKKYTUHzI`nV!e$QxT0Sqal6jL +&}B>zgWg&`*%W^yD0VLSeE>bJPOJ`T_s!B{*M&?qysxIyxO;j%`;O0dAsH>gxMlqiw*SaFWWWbFnu74l9QzE>}tAI9ru$7Hi9sE+6Ug +aU1FKyiOyX#`mX@PUCe2(iM1Jfpi64S0r7L*A+=uBF7--k;ZaIl!E&Od6#Gc(qng3%G}$Ax#6Ob#*gmveMys%Wa +0z|!9^9pgDndq!&JCi6e%Eex?~p&*O*%t(JH~#(^VPZQ^u9FP=<)Zl=?LGy3&hZo$Dd(Y3)9P4u3n*+ +B}}AJbSrOq_%y8bIL3epGZyO3k#4NN*r+!(u9%SLr>pOo%kzv@$ZMZAogCrb&%`}B9ycgUzC8XXm1-G +1EvIRX?ym~3y{igeI8cQz{tqhrBU@PEwRHTwUg23=Sm8NaRN+}$Sm8NaRN+}$Sm8NaRN+}$Sm8NaRN+ +}$Sm8NaRN+}$Sm8NaRN+}$Sm8NaRN-0Ms=}`hWpbhCs`@VVXpb9}DfGLL!hxIEBLCYEV|x@?7X4R?yG +x3m=Y+!{+up0Y1{tL%$mrm^Y{?bxI8lXMrf@(WfB7_`d!$g!6dv7o&jZ>zsjc0U$-ovPoDD8Yz_(hWW +1QmFZ|daOkC`rMzKIbc!b4$(l$l0%6Y;hqy|4Y9NiV8UuSI$lhV%+d%za6(9CBWjCB0g@^g(*RY#*fe +mZXP=@;^*^Zv}sQklt^6GBOGm&o0d3z%L+TV^yzly1NgrwK{n?HOktl3r%AB!6?U+3 +XtDQ5e4`1paO?+;1wP`(|KetgS#0JLI2bkEG~%Z7)4+PMF>hYKE!9gD5LL|i*X&yv8h{%uPFo8K%x2? +C3AyfX-FOmlk>xYoA=foo4m;SvU<{smA=0|XQR000O8ldVxvAUDL&Dg^)lr49f9A^-pYaA|NaUv_0~W +N&gWV`yP=WMyR& +UoP?pZ`X-`?HI!abh_yy#2kl8=1&|&7%p=aCQ@h3r(SYgCG# +1fPi#1&mBD7=`jkk8CWR^dqiNs7Zy>%)rH0Na0!hS(uH?&nTg-nv>b74|?2w{oI`R_`@ey!$Wv2{zao +Fg3Lk^tAjTpO&= +>qc|uEn}>c(o|*E#gA%koM8GhmY)vMuq5pUTER@DB>X$N!^(GP^Mpl|hyG7t27<4D?2UxUjd;OmO=%T;t`NOW~(cNf5EgH8bey= +_4w&>Ip9lFHWUix%h|bl*{R!LqM!9ZerL>hwnwASORYD1is_JFx)uU8Iz*)2%YrK?g0^UcGKMuP&Q!u +9`$s4=d*$>JB?UI7BWgm4#MoYH%5&mr*r$bjDiEgj{+SO$6sGTnWjOw+y|Wg)62Fw;Ld#R%SPdBP(vV +mbbC%aXU_SGaJkza2m(5P8oM*?PMq6&wTAnK$CZ=I{}$NciMhG?i_5iFub+~gDbWBXA?^MwSab0gMYO +pAo4I~T>u8&AQ+4~-F~G~2_t4qx}2s`J)I$@5QY$1Zb3mHFw26VYIwBB*4<-bOttC(Rh<$v6gHPH4B(a`5TJ#?!0ct&J(qcY)dMZ%`^tJ#bT~Ty6~e??99I#O3}&RXh5*pZSFE_%s +{d=FMHP9##+(~_`ZBUesPW>VsaU?E40Suj|~4#j;F)j9~^vqHm?Q!M$M-mY2 +@Pb|C0PgL6jmX4&#FoUlmGx*?ihV(JTo%@6bZKce;MJ?e~WF*X0>gJuUH4*?>zGFINFRomka<;Lgi=r +M5{kE4dJJE<+CFUuh)X!)W5Sr+(l+OuBgKcgk~jpW^q=X!$bOC%V53N>P+#7- +tWP(^S&A(3HTzmUjHO=Su2ud8P)h>@6aWAK2mq6008PV001BW003}la4%nWWo~3|axY_ +OVRB?;bT4IfV{39|a%FKYaCw!QYmXI2l7_$cuSkh6MrxSKsH{t_wJQMzPiru+4QS;3f*LrOqiOoEryG +0OU%&A@1@=m2q+KMJ`&4B{M#klhOXjUx-~LzbKm76RNqKzs;Ng?!56k_>PapiP{FAY_PHvSK?|0?tas +SKy>f*9IIK17J{dM{2@ZbB(%ZvQ|;lrn^{hN!M!?C=%-0!Y#%9|W>_vGu;v#b5hK4<>0`*nAD__#Zk! +@F|x4VpRr$?oR*&Be#v|026TTwUkSQtxldcMoot ++WVR$zB&AExp#S4&KY}M&Ue?ly3O0;-*|&z5UDKnDajz-tO +Oh=GCXGx49j-zS$i=Tz{3}k568f$Ghv~wEVcc+8uK@&py4r+`q}mkN0nOSJ%68aa}(0?)v>7l6nLq&% +ZEI9vzar(*3^d_W7N)f88Cg^G%7n_3LV1D4v$o^>-IH@SocJ$i&;p^yhM!+BklldH0(l_+zJU%l=BT? +^E{qM-t49{+4D{Uhm4M>)pFgm#0Y~$CkgJz4+_XmoLh_CqI|J-#b6Q_vFRT-{;trbbd|!ZIt#OKBfu2 +ExD`X#nsK{WIPG{^zi(_UvtL2`)7~OUi=LAkIr5^dHDQ!dGz$W+$+!SoxeDH@bdA!^YZNF`Ln0bAKoq +H`EK`B#0c|SLjGOE?~>$)LrU`P?&e~DdA)7@=Tz@?GI;s6yubK$muh~q+owg9i*%8XpZ{MvygXd};(l +|=9|HZp?BA8E!_8^=?YK|dN$dNQc9Y5<`aMmfe{=V=Of?5xT>axRRq#BgKia=b(vL0=hvR9vf4IJ3=u +h`@?hv&Ocj`FQQeHmKH~;KkdHCdq|0Af}I!VIMFHlzQ>fQ11pG?aR`Rnf<`FpDI`|ovT!VvB2i{4vf +&d}CBUiGdn&))7X$`4;{7r!`1pygjTO4C^WQogHqzWlhI@0amzK<+%*%?67be@qCx{KnjqlZP)K{O$bJi=UsJJ-GMy)emRSU!0%afBE9<>62II_ws*9X}&xBKJMQA#}8jUKl_ +h|`94<*g!SP4#SxQ9bNSDwNAcz2_2sUdewma`lQW;bdUXEq-(NjF|KZ_zPX6wslscZ~e?vZEIIUx!Pf +J_tXnnp@n4%R$O~)x +t`PI`Ul-oYd$7eJx~x^y1vkmRC$yJ?7@qL^KC1nMb(q6;oPNf09A{xv}JH?aWx9x?L-RR$QfQdSJVF(-j{$+ByrmAXzDO_`>6qYJ<%W5EU^D}f=7bw8aI^H_gFlf)XGVvG4(SfT +riXRMbX;#_-yObWE=SkYUjBv9U~bKw)FCBRSA2OyQtRL&?J%Dse>NVlxqX>=EId}U)%mMK+U=!i+TwB +ysUif1(D9TNr(bK50c{Ga4;>Rn69xB3EmxOE1i(@mu|CY9flZ^*?t6EF%)pCk_$L0~L6# +ENGYY;FZ*$5cvb1PE+1!6sOV?cs0({?P!8#>QIeD7Or{t)N@OQAeaXgd8G)wA!-iF&8eNbJ21EjC?1< +*jN+m1_72mVm3sebT~E-p2Py&YiWSpI>{!WqAXVU0Qx3P0tpW*TVC;@b@G9APp}F8V#yggKw^Mq6%=R +3u?Qg2dDjr`h#&DGx2&0>`pRR#uU0T~o#8Z%xuCiBtej*EpHSMyJ6IARr +7jsvjEW1)0SUuoOVrqEhhw&}@j7;ZlCl&KG~OvS^7zuh>8$B_;w@Ww^Q=^xfDBV%JcaY-L5_`VdyMBE +EtLj9?7lQ|9Ie3=hf86YhweW1IN_a3}>x*k~Ey-~j^)B3vItOE?rG`JfAp;DU$^eq`1G!PIXm1+OqD7 +L29N;*Q47R+9fJERyk&{MRZj`*URxwG6DzP}QM3#zIb!`^II_k!o!L>5d=?5R+?e?v7b*`%W!a +SMI2_;{gM4*;Is(S&2$j-Lm=Wa%I$)l_CDU%3N-_SG3%5k_M&$y{R)oGREFPjSjZPBCa^HAuPQ8N}Q^ZZQRK72@!jin{=NnHUk3m}fTGi2Gepg*FC$R6zue2-x^vZW)vk7i#)#SvN*x6D +<%7I$8ka^Dndvtv;F^`4y?)^PPmV65}iJwi0|2Of|*^a^Vo&uTo$#4$+%f2mhFAZ%Ad;Jyv}gwR`l-KXf3on;&)pe+M5spx7r37FDYr^26q)Tx2qHa0a5siaKFu0O5ui +El2nnb+NNyFtFe=qAYIKK!|R-*tI8Y6RH)A>}QvGk0XoPCBv +{8D|wGhvd^qRiFW-7}L6HB|eRghA%Cx3F=r8UmIA*PVzxzKsuM60~kReaDxf6+)Qgx%kafUof1u@kbj +!Kn{~3=s%;9eGv+W5BP%FXnG*WDQ^*abS=3;;*|JE6We(jEPWmFA!(kXYC1iG^TWAXpY^<96MkUS~nYL+h0)FlFMAFvhUU88xNkU4uHxqs;Y0fj%A~QG#o})K66|S_|CJPe>3ScmTjDe>VB3uDNbIV{p`ACE) +%ez$^1%|W^RthmbBS&mNNeEa?zJqFX0yai6ISPzAU_f;>^r(RG(>wAoiTH$fMnp<{(M9LTpeG&{G%#&eT9Jr$y(`0a-j1 +6#@W|Kppn(9b`BO4eE0WdO4fnr{Z8BK)A>&3_}XtB~L85UM$&3$eJnHNxPY=AET;#C|qy6^BFZ3iQsj +gC6`V$g7|Ac)!6o~cx6)`om$dk{Zlju+VC%Kp3svYF88& +ZJdX!6`JaAqQ8If6;H`0;+#+ta9miv+ij}8BP$&J3q<8nw|YQvTXK?*h_zU^V +bgvE>OlrjN)RacsQP;XSgp*75A_F*GPAY*4>ll5$1A|%WSBBl>4hYd`t%aHp;or0$hY$8WW|0wsG9p22pi(q%u`L9a8G-<;WlYluz!M?5ZsjK+ubpeZ)-x-*?Xb{cp(`_z=tfLw$!ApSW +stZcIiREx+4BP;o!lsDwGP4}D_BwOwK&bJdqx69)yCPwNhU?Ki$we%NG)86sWR$^45G12c396G~({-^XA*LAXns{g-?IPG5sX`D +uqbeH3FcPE+`k~kkJ%1b^ZJb$|Cr+cDDa;D}3f5_si%|&IV=kpw%5atkVZ+hx$My6SV({p4KHz5Lt7+ +4=W$@7Yn4~>u;0EbRJ|Kwa7r<^@ERNVCLARowfb~K`+h(VU@idieOCZA>W5*eZ*c8R4&G?(eiYeHvJy +GgUE)1K^Mj63>G!n=Q{+C~NJs^GR*d9V|3jg6M3ahN*KqXfz9NFT?+FNg{Zs +|phMs%~#%*mn>FpQ@|REG*>Y7Ly<$2Z#&eKvdC&G#Rk&pg_^lG0AKC~=Suu1^q)`Vg<|AaRqlFLQKHWg2pk-6=#g#1p2#)}GRSaDtMgbb$EOW +WLAR{BsJIN=Wf@Wy^7IM_!1R!F|$iNt*HkmvA5%h+G9#&Wm&K6NbXmW7~vH%bi_DyZx5N8@>Xch%cv7 +qA>w1k32O;GvQwta;(s6;`T1OXoEv!I*`^5QT_}lag +;Zn{i)Sa8+lVm+xM20;K@L6GLhC+g_UFSblYmV01lnr0%JM)0p*%t$0HtUSW*B8Kng@IeU9faVQORkZ +Nf|X3JyV-T3)Sp`yj$@#Ow~0lqU^VBzD8|iJx)=8k7STqWCTmwdJg2RP4$rFxKZ$9Bq{}{0h9;XM1&0 +Eu^d9=1J?_JLm?$5{*}!pOh7Cs2?3&IOx91}CQ!{q76`IYodWqUTSbpyRF6NJXkfdSDT}=vrV +ylPQf85c_iU{MHwG>Jo2-*0@uZLu1o0}i<{)4i7Ew^JhtgEFjcbi|Bg2}21N?{JFg1OdG>XPUgxsutM +p3$+?PNWSe2U^RC=WuFm9W6Td?}j94>E(*X~=ESXhN+WJdXxY@L)Mb$!PKlV2rfFfZrPS`AJkr@yZ6U +=1s%q5U#8s(J1g$><*Y$>bII8>L&mdPw#ADyYOnKeHBMLyTwHCun-yPPX^|kWgg;F_Evah;)6jD6kq& +l$$;4y>sTcp3y+lt@WsB9MR?!?2se^sjn*tXk=rUZqjEfC|G-%!GLi)1_$saRwDTxv3R08O$^7#v +5pEN(GJkb=_H0Hr=ve@G1|@Y@Q@}6*>(}8XQE!dlm~;<@>&UPx3v6c+NmhNCzQ+h2jvjBj6*U6_VF@uRi>(f_&+H8N0-w0W5!^ONs%TjN;S@eNQ +4Efr!jg-=MBze2aQGdzJ~{tO(Wv>x9-YQd1Tt|gAvhEckD0=9y&6tPGiReJAF5lPd0;1Ir&aaanDHEp +5|n0IrA1V|@j_gvfKjDmRBg_KNWpP%o!p5mp*&AqNlY{JK)-ue#Qvcbw^w1@_m)|kAW(Nv5l>okOSK04ONCf+LC&mbV;K1ZNas{Iioq^FP +3_pu-t%@b@USyD76Xuzr>9rR#N4-^fD3&j&G>$+w&C#~&vgNM +gZAbNQ%$crX3C~FD{h84O4#al>=hyIhy+9V@~oJ1}Kgd0pw#*!)IiU+GS#!KIt5z4~BDuL3>mg!`f1O +Rs1!juBsLJKpWnON%00&|qf9&h!~#v4Iipwi;uuyi^0pnGMsQ=~BSSa|rsf(&Hz@Y~vp(>rTzj?`oFe +A$+VU?)lmQ21Zrf>_`5ol#?F +oM!=Cqsj!7gmX)4AwBAAkfH9i%gs&4;Lb$QPs#^W!JH%hAtFo}h*8c=$ +~SDBen$J-MON=TXo^j#cdil+|bO*TiRmP1V7CL%-;4LmgEvd*P*ThK9VS-L#*q!49pn8pp0 +zYhP(?1F#LJ~9+GBxz5!~BpyKWcb#xT;(5!_H6h-ic(e2G2$Z&!#7@#}Hn;##k(EV1yV+ySmV%F00J~ +uZe`oq<-r-R85ExSO~_c6stK?GP{x%CP&{Jp!iQvLUPD24IMXWGj{9wD6#lyLmxPk}@)5@&L=b$`I +uCS}}~yeK_&5Uq0MrHm03rYY0B~t=FJE?LZe(wAFJow7a%5$6FJ*OOYjSXMZ(?O +~E^v93RNHRbI1qjJR}A782XM4;7Yl4RD6q0(r$&5(WTVKFKuaT=C`B41l|cRa9{HN4Hn7VlX)cFn&J3 +sBzI>=Zcp6PWI+A#EPAFZvF%oy78|CSm20VmqR8Y-(ot!CNTozz?3yyzg4Qu~q@|aLeB@VFX3 +LgLLH+^;;-~CgCbkSySyozR!b_tae(l!S-4B3iZtUKkSr(piTGczm->(w3!P?fiYU8OB-BR!K=f44QF ++8A9DTOJGD5qiV*_Q68;nQ?UV|HLlPpsLZnt8QSGDGrMW~?2 +PaI|e~ZgW;@*bqq$L}+LLzf<>tSi;}j{mRzCLZ5=(@wNkEmyD&3@C|=-bK4}|f^d#6oF!(Z4;CEVoJm7*$!JeGTFOm< +;0RD>B0VXgpfHH0+0?#dMG)G@Qj0(mae8qi8t}W127H`79X(L<#dz;zrC%BA+BK09hI+nX?yCxqay`X +s-i7mD5JNGTNN6#6*$66WP}PtB1R +qz`2Q=%F&kcByZiZ$c*_a_>L&diQs|Kks`)%LJBdhX&Kf|F}fjtyW=8NkO^FHo`jgTWeORAN^|{(WFv +d_G`}(yb1gH&U?tgc9DARJVvb)*+yzUrbRnX(s(9&&oKosr@3op`j9YKM$hr%J4c9hR6DGq6Fuk3U!v +1wl1^rigK?|X%9L>9IN7BZ;q?5emd`D(!%f7OjZgAJ#b9{3RLJ7UD#QJLbG +aj4JH?5ygO9KQH000080F$jzQOw&()iXK(0EK%103ZMW0B~t=FJE?LZe(wAFJow7a%5$6FJ*OOba!TQ +WpOTWd6k{rjwZ#mrqAmtQbMD#r2=RCWklNJEj1XtTN?w@G_pJ=sOc_D$xRo#x-nv|e%A9uBp%7$(hLV +hSACh0krC_nUGIwTz4!k0f7^#2|MBT(+ow-I`uMXiKi)q4^z)DYWBV_zeedSI?fG|i+vkt>f4zV6;`R +2?!>haP{_XashyQ*5`t^(W{rm5Kd~^Tu#k+^c?d9wHyEpH)mvPMpH`lFC-`u~uk30Wx_xHQk4?o;JZV +%sX@BYP@as6j^@7}(A@x$H!HSGPvo44`n;|~vy{t^RkUpzd{zrTFEd-3k>)%MNLj`+`ydhy6uKl~hz` +tIHKtB-!YrSlvy#J{}!gYC)d*V{9$eY-uodwciz_q$i~O+I>f^X~Efn;+vffA#j)zm30a+n-)M{%!l> +{`FrU@4w&P-(rUEws#NP7eBxI?%~aP|5&Qm_uo9ec>I}F`}XnfZhQOi?Yp01V!zvde)w^F`Qpv?c=zi +5?HoQ9;@$S*&8y!$JjVUsKfJpC_GkX|?Fat$_Pc+q)F({j%QcbhlZP1I)&1RecOReg?7!bVzKy?Z`Ga&lZH;)l#a{pF#X +II7yZHk*{yHZ8^Y%J+62&M7hgU5;`1**{$Sg_yt})Wn8o~8i~P$He;Y%7{}3z +r>h9f(``2&htN$go_iaq@^{ef>7k|HtZGL%o9}=~_2o?F^=l`!geEsm|ufA{G@{a}m-FE-&_U7T;?e^ +2-eaKEo-#_hcjPj5Dy$zv%`N8ehQe5=n&EHj~~4I>9-^O=KHwg +@i+g*vr``1_Wt|-w(TF(oR1WL%I&!R)cR=rsil1Vsn_|ZwCB41G|nZ9}RjYe?KmPUW-|ru!y-f}K`G+u+um9EKUVM +Xk`DA@zC&XfKl<*)BQh8A_Me|WYM|J}?e-ev$%mhQ{PmYl|JTRNzx3l8J=F2p*Uvxy`jclL|Ie>Kf +A)uupTz~gx(S<_ZqwNJ+tl{sHYVO~Q!VK>toFE#PtW) +_Vk)>N-r&bE9JK28pFkw$FDsevDJDT5?|@m)vldK=ku0l$GgXB<o&N$u1D>A7gK0RC>2G04W^ +X|ExF|ji?C4O|?J$CzKWslnU5esIWtd%R~zmaoVpS_sM65#jhC<`s`n(t7+ +F7dM{6i~cg>zTa$Tj2Z9g0>mUjr(&bd!a|RD#f+rId&XwPvpcg$yg-X}&!w~Or!p7MDQ!u`7{^U4FIy +SwnR|?$N-WBDD6Yuy$?WzshHI>L>|Sh0VOP<{7TcJ5VvTd+1@avD-1AKetw%`X3WdDJt+Cn;5{rTug& +kugr92+7m4T$Nyog(@!ia|*@yac)8J}s~ge(@87Yk84>fd=jYLVD?W^yp_2q{m>W#&#%&{J!YKm68)WFWvabQzoyJOyK;I`kyyEAZRk8`YXh)TRW +Dul%gWyIj9TYKTt#1yekad9p!9#(kK&bsHk#O*wen|PftY#6+_0kuFkQqvr<(4(;Lv4f#7F{7%5B(rnF!+;$Z{PO6ZWwI6~fQ*_Rv>f5)Y9Lyy +f5`-6fU$Y+cc4`X5oBL+004s6QFUc}$x;*9tYc2KL)*!bbVac#XR+N!KZ#r?7EiTgXZ#v?)m5SPTQ2l +f@e(mvWwFMsv2576knMQHU@3ey@4h<-)&*y_hvUJ2BM`h#?`zz)gYP@1>??5UJUWIEl +r31~uyzefhW^-#S9$FG!DIRgGf%}LV7ypjV6ih;NnS7fA+!+19T>MkCZsHz|ZpA#aqFO@D +~SXpEDy<-VuqZ*IKE`(_7cpGz9xzW6sUD4B=yMC(x8h~pna; +lT!NV|?A<`_0&b?y0VrG3TsR+vvhMwONexrtN#iGOwN0_)UhhB^KWVd*!SaJ0LJBfL3Dr{(T!H>p9?Q +38HmLt3DjE?5wJYutux#Dic2PeWjupim|MexFS@+scS_#u2&sBT>YN5B$eq5?R0OhUXNLK4pj(Ne>CL +?}qcZpXhe8xrr{=c0Cu6~kfY@Dy`k0v2plOj`v_I0~IU;m{0Im{@gAF`!_WSC>t76hxi4v!QuC79b^DB^#dz)Jn +ZnIuo!&5DEXN5B%7xjjTJVK71?Vm*j4t3 +h^;-HQ9!Hymsq*pGyN3ab-A9TLT~k8U`!G%vI%R9dx&ps?!dD-I3gUwDCn2g=09g%~jze4ZgQg~^r?Y +gBbtzGFF-ROAR)67gtgGm4D!$c3G0I8L107}$9I%kW3Reh@L?AoqdO&IUFZ@8z0eiy~klq}WcaJt0ZW +q$J2JCO={o0*S$`#DhFLUL^)L&SB%L+FZCKL~;!r0ZUfFPi9ikYcxO1#Ez|LJc5vwEn}g>be_cFxWHI +)k{A-B!QTv}*5(xgmV6Kd4d&S}4w!s?q^wa+W(MPo@?L;SSq>|yQOhJJ`5 +>z3PdBd8i)|Fg)GGs37mIj?&R5IaShjifFJc*iU?RD`e0KDDSFk|hNSoEZpRK9L`5nW!=VCLr;IYxVv +N@?QO!FP!E4|_s?eM#wu(G}P%wmyaEK|kicxOrD;Af}8-c3vrOm|1)tA&DVxt9V5NmcvNhj8U1v*s{h0pGWMMu)?wUXe}le!Heu_8KKznn@}NkJEj; +vIy=jf&saF2h&Wh{3(I2~O~kbsL!7&>*Gci%knvs?JgOe$H)9pgof5XgnkYv2f2LS|7*Vu+T#maK^w;NW3HkBIxnM`S +|%kQ5eQMZ$~|fF<#hb}TtQB48=g_NufRa2ExKvhy$ne2{xG*${B&&N~{Wu<;4o$0ge@GmeNY487h8Ss +X-cEq;XWP>)cnjF4oIF~qWB9YHQa8Dj3JN?0O-$AMUlC2o;O-GtKO3W$}6gkm;WM+}a8+?6koprm}Dr +h74T(I#Q7i@6Sw|5&c+0Ab1OQBunr`Ditez$+oHjfFNs*iC}EOF{nAU3}L~jskhQ*D$+#?1--n-_RDI!7z?-hz*8q7jnLE%Bbf-4A-0m`b_ij$bA_%C)9>B}tsX#i%l8b9)>A1zA +Hi3n@A*HVPhVDpHn$nJz>PQ5fC>)z02LQccOVqm5lLP$)5CrC%u(++I;0-M5m#OBp0_$Vkj%mKtT=ZO +dEr(?2|Cqb@B;rtaZeX>v|dr7i)Tt+B@%!oFtc9M9IwQnR1NJ^yPx;9f;&=8~NVkqeAk@0z**$6<{G1 +eM~3%$ucy2gsdkHimO0MLVIV%z+nuv+Y!sS|)NZWa6h^XkCF`@bwj1T0-&6ybXecPby4$b^D`1eueGI +c}$6?13p&BQhTdWqS$n{*~N>Ns2rVOGt8+#7hRx-&tA0)0D)24*e~9F#YYxNO%QIF?8suTGax3lJ}?BB&7RC)bz$055fWS_@_`=(6`KP`#2E20)`a*xf!}ON=m(EV+F1on+5GJ +=(d3emeYUrm_TfQVPsj5bV3sHfUQnHn$aO}YGVa`^KQgO_8zwtqUX`0V*xN&=xYnj%>c`ta3}$g#=^!s;w3XdNc;*$b-DjRz_O7ycYSWNsvxQ-^vjPO!xTDPL5 +(-e`-bOFM0Syx^25l#;3TeSGg7~B|1&-(cr6CWCLI`hB$|be_aOjdOc358@=C5#$@$~WOd3w?_L7Pb0 +ZTQtKh+H#FK}`P{9~iLu?BE*=nH8lm3BiE>81P#RT*5=c6nyRas%snjLMCjm< +mY|=@B;gXAIX17`2IEK2;Dwqli9Dvmfm+TZYU>gYAM!II)s4C3JRKSOQLyQiTyMfDski=3beFwAiU## +cBx`|=nsjQ8RRaFSPR&O#MFdisEtW+Vc7E{>mv#S>5y;%$uf4!4akqD4(*J2i!g!Y#`J|kd>K?n+ywp +aKANjDH7bsHATHcTXu1Bpb;!qxT#I&Or}0}M4UTM)j)hInH#yBs@e0?I=}hyCq*7#P$Wof3#q6eR<9Lh^NKVXvkA-c9V+hTw#%_SaT{{b) +*DXUPVK}jKe0w%Qz@{K`)URrpcQ{#Art~#%1T0~?cspaNhN=~=CC*B^<)n?*%%F6GMafhU2#iRByZ)L +=R8GGvMQ8Iu%c>iVInDUoGFJ>dK4YlCgpxIfq?(f;)LAwojc&#yiq$pafzPWxl`u&>ZTKro?t3=8yyUBi50j8rX-Xtj1lZriX>?_979!!?W=JXS|9F)Uo+yS!J%BhNHfyKew>%MB?A`10?J$)vIxk> +=paE&nRSh^8kA7b|1z~1EDgV&iC;Q<89$bSBuYZWd3mAm*iPXBixk;Kbz<5dV9DZ3fufVe&6t@8l1dT +@=^EI8djTW3b*I}a0=}f~NRI(-$6djs*BIy_|_yqK<;ER +AO8`8UJ$*N`huIV79V8%s-?Q8RL1T5vWPG^h?YSb9BsoW&L%(GD6D5SSpjJ|=?8MpSN#l$y*V%1*Oz? +6il<&wj{<1$dt38^FzYivbxWd%~$H)5xA7|~;=bgM(a_8K?>maxKXxj`w*YZxo2zJ?>qn4glU5}O<4c +kyg=fVppG?{)dSu>WixuXtM4A@GNakjc+8#gI({3f5ANnRI~vW|F;ZIh)Nh4NfMSOO7)L3xc1BMk-a7 +UZ<8~lr1V!6Fb!x7A50CPplxj+JU!{I3l4`y%-^2+BcP|X0fi_jAhL|fpjSe)ufY}kP1tYeIn(kjME) +R-;grkuWbz+0ZTpv^xQ3mBfw8cWvnMEKoQGY_aGE&x^J^hH18a81XNgKwHXm-8GK+am1~Ek6mZZ-i`vRMS6(-a#6d +BTaS+_#Kf?JO%N@~Eh5f650I;TOldvr30=3Pt1AbQk8d=Otkf)7n)4opd?PdP^L$zi6?H9f6X3(02%I +IO~1eZVVaSrzQ+p=CY^moMuUY1++3m8gK)WZ`{s`3+UsPL~(JX19FI&M-)}YIKNV6WW3^W%J|x^3pYH +HhD!f-`oN!LluWCCJm%Ct)Y2D-wjxx>S+$Kg~Ga%Pnw3-wG@?rr5|nz;kM?Gbpn}7RCx+scEg->YGRp +UY$iB}T!mQ_Ow0+!u4v?I#snezwphinLNAr7`78_#-a2O;fi4^{tH;Ko8~xh1S}o%5z|IU4`t4jo +7}UK+43p`O9>IIAQDCT3dmM(mb0^@H!SnQ-6DKa^Cawm$Ga6+VZ^=5aU#ZytpslnU?9^rJ3B$F0Q4g! +V*nIU_|kzX30c=_7P5KZd5Rf=+*%t}qY&3_QEt{ULDu7vZoLJUo+z!Jx0P?AT>spADEJuMI^;x)Bq=E?eBHGl)i1we!O+h|MzFFuj;EQ!DqK8eyiu +e}EFEZ?K^EJ)ITXK9*5>oKfHcg-mS9^NLQt6P?o17<6irrRtE +E+RKD#xi?DJ675TmjVh!8__pP$c+7UBh%-YkYvPprG++h|^cqiFC7FY=DeZ{6CQKi*WF;CFx5Mksn;~MHUa0D!A5-Q|k5e1s +mHlc>14RFilZK`Ul2V@YyjgqF>B#YzXbY-THZZl-G0ynMj?j19e@dq&pl2T0qD%}P7c0@@3(p7VUrQL +K0R_K+ELAp&ydMy)qCFMTQK_m^NpyGEZKg1h@u|Y@9v&ayZsG9CqP^Fj#U3OGRf#5B +h5lBM%|ynRah36bYEI;De%!8sL0HmMI&e3uc#@(R9h4$b(~8$dT*!+6p)+7&nRInPhoUJx#0HkQLAtG +!WfDcbL{L~@?q=caJ~=E#k)T+x9g-fI#CxVm*+)+)I)ME+gy%KL%k*#5$$PrsJ`2R%< +fQ1hib-5=aif4^0%hEn5NUcH5-j0$5WFi7W8K6j?`;QUl~q+&dI4UUq1TXTsuh0AeBGjdBfqQj9&_UZ ++h|&7vN-K**!H%9NL)Z02yP(%|t;Bjm%_Mn!!EEDh2vs0HaDStvR3Ocki{QS{ApXXL~3v)PQ?M`n>Up +fYqV`*+p!8W@BHdk&8b=LN#j3^ct9(`Ac>Gzdhn7yLvx?U-zC8E*}^{xZC^=2>+%+c~S@S)~u*su#yjIh{JGwANI}5MRiXB|gYQQ +okngRf}OV3n#ts9!qT1a*&h%i=?-Xz^7p?KYkF~A^gY{E$tk^tJe04IvrMS>2wc345$Sb)b1$!Dk3G6 +&B1yi@DQvU8aX(oF6t?kAUB07|z=IF!5I3xktS`vTBQ*Ju@38l>9<2Pb7+F#l?b42D1g6R=aIf?299!h)Ws|*K +%t5?F=87RJ>%qggq&MR^yL6yIO_bDGa7i!M=FufYc@dkB2!*kTDvjoLxKRBN3dc(i3}QrD+d8d#Z)x?>S)0J|=Su +%;Eru66Q#&?Z~f+O@_JuvBSBRDKfPw?iE1z_(r2%xQQC1PQQ{uqlN?W2IRuv=qJ0*dJiYwy@0x={6sB +z{vg}ic5Na0R~?-i|XMKg*EY>r%0bjGLkl{&Q%i4QfWxHanpew0IwZpL&PfG0Fu9&97DQIG`eMQ)J*GDp;szbs|qL+Al(*Hs(wszu>m!LmxMZi-3?f%8yK4>s~5%m3G-|@TS +d@GTnYl|HUWjj&fqBl^(T7`JZtu{NRgh|2#(8)4VCVS0fL8<>N0#U@V`O2?T7V%>a>wGj3otycoo;(P +6l<5m`J=8n__PeDcVMpOeH)l>5>Xaw`qvsDwP<^WG-%NPBw~DeOYa=r_*Gy+Qq>vNK}h)Na^Q7bGR-xGd6qAV9gD9=_S_-;^j%jT5MOd<8PlYdl5h2V +WX-PC96&znVDfF4g0}ynP@s6=OSL0uUblYt(INdyX=h+un0`LAovG!@D-k>O6?3xmK0LEb*S1RL +j3O1i2K%Nf~Y2><=FPYvFDU(rq1b22>uwk4yHAytu2d7r1o4yp+Hl7{WVtF+l9-KtTl^ +l6b(7Q&o1hLPw>mda`JEHRPXz(@#qjQQ~^;o0heY>;mIVG)a+vAVW6Bidf_Cp-uY<07j{dbi+4)5$gU +1pz1isH;7{LAvd>FgJxv1K!0Ui8hlIGUz}A^VO`YYo0N{2(Hz-UAt|lf4P51w~5d?lL;1cS2VBNzSuQ +FHXK+NvTz}6)ct_G*FIw8c(!h?l2C(mTdSo+J8v&{^&IP13E*f65qTHZ2jq04*kKRat1yLk6biaV +u2;2|!~SOH(u=@&%eUNVkQa<9--l3s|#dhwMZM&doQVfykmCAUpelez7w@ZkQwIp$bLUwj}ZOoEYK7Zvc@D{s?Rg?Hm +d5&-fMp-GMcbDc#y0x$A&k}AYi=>CKIdNJt9TOh2(X~3j(mY7FRm`AUbq5o&Um6# +jIFO)_zEt;3Ru)-ghIo;sQVzFfI5RIC^~N+T3 +m2T`CRfwon7gIP*+dCe1D1@g>c>kO}}w3Q2WtC>E1n(`-l)FExkg*T9`T??43%!hq*@qY*{Wgo)VxFv +(A{lXCM5Ibj36C|w*UffPFo6QEHw~HUGXGcCW`lHFq{ZQ1v%ITmgis+Hob5uDE(&+LLVw#d +#YrMAaRFwc*aCB2cm<@}Omvp%p{&s2x`2x_o+v394l^!QhA``Hzap-o&TPUWr}^=!{kPM$W+VXkq+ly +@60<}b;n3A;7D{F*dCDGu-2}l%#;C<^eVuz>h91&wA|Q`B`2(nSJ^~4t8g7UrnnA<1;Uzh4(h{Khc83 +#2_I??9NVggAF709)VuoU0zzVcgcRJC#P1jKJdRGx;R`NtD4Y}F}>|QR6{(y8_SeSx)=!DkE0^TfaAu +i-;8{k_tM;(TDM0>FQ5=*{GLdH7PtEJ$8bX%)M8$D__>{E`-j0wB=mry#GP_i0rOC)Zn?7C$MneOT`^ +v7;VNLxc14YRUSPD^0#c_x)oBT$g;;Wl$USWg>?gv=~;bT8>^;0RbUab6d0Jglu?fQ?#!ZaRoWC*3Y~ +dN`7p}51UC9$xJNZD8pN^7VVOO +?)`4l!U}dV?L+S)~8WIiG8dobhHwk~Bh+Pq6<6$M#)pK(|y3J4wvghi^lEb$a$iW?6aEED8=r1k;q*M +AlDa8W5;!k2G1bMY>9FT4ksd=Fg6?=pSBcBC6sgk;-XHxkslesSf$AJ?X;KLq7qMOxFvX%nUZOM}CQ4 +kV@JehODjb_R1gRZvM+BM}A2|2+wIYg&-^HzJE_G@5DLZ-=`L0 +IpPtnzKQ%SYR1z-~;NP2aTwz1kYo}@#wI1Tnx2mvvfJMDi{cBo#vTME^0Fo`D$Q2Al()!m>Xs)c_fZ} +J2lO%OB*um61mjurMWWKj426a^@y~yn>1*Ih-R%`3 +`Sn=@z={8#$HJd@)%aBir3p{Pd^282#<4LJw{6;|tAL#ph4NSx_ +$sG$aw-+Y<4V?XDF>w6-X#m1HicN0@vt#+GSe}X!3e`n;oXy(U_skXKI6{Qa)mp!))>-lvDjC2jmUzr +BN$2sz{-}7Y{eI7^VBU2P9D>jSo{O*<^YYcV1=W24vP`n3?lof6@3=Ov7_cBl!oL(rdpD%8EK9Pe%uGLs%pOWPS@|UF&Et}Uz5U=C_( +bzG+X9#D!a2JpDC$k5z{jC+tXcIPJu$W@6Z{>hd598g+X*sp7#W=vJ){8z{un^(8BTJRse6FxV=lEwjmk +0$gK^OBqsp@cbmty&IS4vkXX0Zn`-U+5alW9(4vRERj5Z59|^&MLx6P!|=Eh|HYO8JI!-8a7ffvd!LQ +J=)k#RH%PZhow3D3d;sEE6~E3hfk5FWjJJEdne#ODqISkR&IV&!kbhZY&tVZRu&Ylrm|xSJ35l|y3r< +@zVFNq?#|9ZbopKTMAa+fz!$%HCw*}Ze3(0z901-;|EP}~h!q`g0tMi9$RWJdLl#y!pUcJxSJV>{cy) +hr+X#hT?6*LI+t^`nq1h^~{pgdhDN`3;%E)+F7;J&mknD>BmyR~`ZAws6AXzk})==s4*CBEBwuG6>n= +Fx6AxoS;ZR@GwY9guD}d|vWcJCVwHj?3vIj2skFq~eqo>uZy{32Ah@tH@gP1^rrM4~|2QwP{2+H5=!h +1{XAoof-^3AaAx*B0tn-9Lc@*WoPARd1*+uoY2P}d8irThoo#7=-{%$>MbweF%zcD*`7P=Y4d_3(1YWc?l16ezL1POf^mY< +2ucZ&xYCQc?QHXY8hF^8isp9kqS$&nDxw=7d86sA-uOPDT_8=~)SKnnPlc0q&P)6$#|pI+j2$YH_$=z +Jut$nUUUKt{gM4RKZ{0IT@7I+GKRG4V7!-3?kY)+tj5q}x8k;|}?@CJlrSQ!422cDIPlg +5fUTop61ZxC?VU!-g#m-e2!-@us?lV?jO=^MWAY)XH$9J1MZf<>a?28LfdJ4THTl6AqEOuCt#zbPzuX +qK{p4a+eC7cU?JsZZxHc9x6}(nmBe&(#;z9VcJ{S-wlNW{0~t)ZTqnmIkZ!Ya3D`uRO-sChOn2DCeaM +{EbOEzir>Fh8kkMDeE~>$_J>V*rt$=i!?TnL8HRd62o+?QQKF@+9)X%P#oiZK+iA|f+c3>g|IwaeE4G +f3HaxLZbgp*62Pe7!dLF+RZS(O#x(GyLfAJ+5fo*{|SHxfeUdd0_(ZZ~<75;{a~?R5ZZO$M*Z+j|WKrZrx4#^ZtDuyK? +LYnN6q`T3#rUQ-x)*wl08a^BFuK0SI*TGw$$Wra)hFmExq}#&wB-J0xGVM0ccnImK?PN?1BV|b0JyTM +qiPCmajIaT99ba`wx}{cDvwb4!ro?xTS8I;cn3%O{H;VOW9?K%m?B8(dT}8SE?!sfNZ1tUxepbvw&8l +bFvRn3vfwp(4knoht5Xb6Wv-`H;K7dTn+;J?Uh3-7!oa_y;~%r|sm>JdX$?!=cPvWT +Uiol*i#ox6OBwbxdVY@@LUMX$d8SRRaMJAK}eBCB_~^G4gEa;RkCePB|=!CWSF*X+;i9u@Aa<=z|BF5 +(;viMM2NO6mBHZEgo|-IVAZS7=)!s?U;+job2=yk?;%|-klJ-h)9Y}4o{mVl3{-`1fV3~I@TF_2c+BW +)CK#pvsz&7ZD%;vQ*Q(P#I|O;U~LeBvR$%uA$!-sN?N-Hrc20*@UEoKR$7bB1_Hdr;RlX{KzJ-S9$)WvCfAPs@B +Q+bgRg`JZagl)k7wcO+7N;E+uI^97cdURyx)p-DdkghmE?vyFVlhq5|1ZhqD7RGq|ufQ4CheAO64|FK +5~%-HH%5T>&X3QF#Z|tMe=Z#Q^_A;gm*be)VF39m`DYesjsn8rXy5@S~F`PQiP+He;2!vgYibfrm%6N +Gb$LFg?rx++S7YNNeDOBO5*C!G>{S5D)zF_=lp9>D%q(EY4WB459%3;=v{EfMuG?2z5xe8L3FrrIMuy +&;H=-u?&J&ce$Xfv7J<&4hUk^JxEVpKY&`b*IH{z +}ld>g*!`a&9ajn3+L%QvjfNjtodJ8TCim&rfka@HL%(;1#A?r3n4^+iwb1HMQQFej&5B)Eu%LCkq#x;@oWwHqIHV=cYrt?H)s5QI8h0gj7@yBF=`PyYZ7ziy#gXP30CEXp +uW~YW9%BbH4^AV37m_q+3KONTa*G;-n2s}@d +kKAR_rQqCrAg(fi=%l0}~&D2{{Oc$%ElxVHfc54pg~O0?CA&Ww%q0b_h>+ +xTq!_(rxt&<4K#Yl8D%{(}T!yZ62A_eGYgj_55Ty1@(p|(C!hIyTZIqj_HtYi${3lyov`JfS2~ut{NJ +DNQo-t_D1bRfP=kxR0Gp#@+i%UsB41+4WP##=>QH2zch1~pRi+#DKF +6p+bN1jj6Jc=GJgr|Yd56CBxV~D&PU{S(BR}z6V^=+<<7heO@)_l(U+4AC}*>ZTn)Svq4q0ma2eQRBW +m87G%WttwlXH=x6d5~_aXq$(0%L>b;bHhA9sKIilr!Rr4D!86WI;GsBzBL#`T#LBD8OAYV;$Dwyu@TZ +T1Qmo#t72V0coh8#jme~3kKTZj~lH+1YNV1~`X^{hwuOz=)fP}t!F2 +(NI3?d%{F&=W#Jw&v5{+2>dF1)&gIQ%UX1V`ba4J1cd=B}7B@K^^P%T|+!k1Lse86G4&`)1*%?~=KQ= +T=7{=R-xRU_+iv_gU~}xWjnCkqn$Y5dneVSK~Q}*2DS&kKK0GwzxY92u(WGXu;iiPGzXNf?bM^OgJl)GIfx>hDZTslHGqDW*~A4VC2PmVFxWK3z7v +qOsyA1nJ*RY@RJ%L+8W_@TCdSNjvASD<{ZSFcCjB-T!kK0#g$x_p3N5ut0;b0ADRt)}ZqOGVw!+qNzx +;z*q|_|B@+zE-?!i$u%X^TX=QMkA1ElH%@jY`YK&R;1FMb7WykRRmj>Cvi^*2;t-zCnQvI62{zo3AFj +;i1PpbHi5la1>E9Az;==#32bKhHQqn)x8?I>{iAPx^DG>h6mBG1d_g5zt4RAMQ_d8rL +Vs?j}qQRbx>GzmWbe12c8)~+Wqq!bVV|$4j1|>J`=~@a%x0I^86$e}lbjNS_EdeBunb5S@@6+owV>m3`vhqAI-Sb!rk3ff;4^zRIECHNnty^`n(+_UP5Q +`Hn-;ZnH2v`Q$ZjoU_HdF1LwS3(~1Z-O+JDlgIhs+F;uu|sNw0Iq9-|5#ZEL#ETHk-tGT!QBwWvPd8* +_a0=OTe}ma!6{zV&Px`-w54VSt?nlueUT0(rvbn(HbF|Vb0h+$aC5X2iD>dBAE`Y?qk?N4D2Mll?Ak~pj%G_1e!1 +4tuBh}Qx=NC2N>B9L!~r1_I%B_uzA9rpebHq*R>a45EH5UV5;-66m^Pe#24wj{ +KB{vgp=a}bx@N8s~3-K$EF1)~?q0Z5g|4<0o<+zQKF^8)m!?Z%8f=L6?aJpIzqi$7TR!{nRic#5lV3` +VHBTgKs@iSGGGS7r+7wn}&RfEWw6Ku6ir4{Yf^bf%33^rRI`DTThV+fXM+sKv6K^D>)|Zi|Pyp6bRxc +tjP45=5bK-s(3hnHr0>yWLn9Nl9ixBHOFhMBRd=KmyF~J)0A9-vk-8lLrs0W+=$Etaib74Xx*g>Taww +tfNPPsi~RTHzTjuh6zuO!C+L!6gBp-zA@W45X^Ur2sOD=!^z;~89tPrF;VO?^J4e2OwIAYUl=7++vLO}7CWyt`?4EQB^gK +MMT5|F1%LH$w$WbNj4-aM+x!;ujAsTLI~|W_bpN^`~uCY<|-I__D0xVM`{8c>29|tOv&k*qQH1`!cvW@M(5MP+8x~L#5$kiRmh)en?GzTH05O7x?*jVeGN>& +VkjwEXWm<7Wm(wwTx0i0`I-lAVJ1#TXB)L?*)O}ID!J%9#EE=87+nT(dJMcfTRu@2&oy?&Y^|F-cnek +EL)blsDf=yeesHZZZOz1F6{w?5NhRX5as%``JW1W7yR8oRyqaA)4f!{m*(MALZ!hRK?MhNqCwfe63ZswMvj)HmcUY+=1;yER%ebBV^ +XE%gcSaj*1&w15UDxGSVJ5Ehp@#peCDvoAodODFg!KX!)ZK49>Pqi^Q?3;*v=)_jA?5=rokaGY@Va*; +iN=T*d#K};VGSY-s%rWXKRMvUR3!TkolhbMt=yP)h>@6aWAK2mq6 +#xjbHVe`%Pte^}Q(fJ3yM6gX{lU{{O5;&9n8 +pL@k7v=pbfvc4YE!ahnpwG#S}2N4#v~mT=7&^D1jcSCMJ#9?OGjFIiONTQWo1gXWODKsI8Z-j?^01RL +Pb$&nF=qBcKB&aV|PD5Omk!R@zk>LoYA`8G5-3LunkvPELxesBz2j>K#x5C49pM}Om}c1kZy~xSg=yF$GPr2LxzmiK-qCL1J-&btjlN-xXw +6hP&MVag18V7clzf{l6AGs<^c*f0;WT-9KrNg`7W3OP$)Z#e#OTTj?P~}J!DO(Az5x;TN8?fQ(x@Mfl +Ib9hX*gR@Nb_)!jH2Z@T+n>En9t%tKom0{EpE)bWb(=49F&EDlNoyCR2gl>D`U(lOKcPg +{6)(8w`Qn}-t77X13r{FsE5iJ+ois7zA2r +Az}|oA_3rO_f8O_qmN6pNJ~Ws<{?8-QZnbi23JQvKx)s*3FRfXlf6TA>6HO}RWxw_uAse%w@3IFBu8Y +(g=do&qNVih+5f<$-ag&+sGe-z$PJ7qv^Z_tfM#=NzyF`d{R6CralRW2&pQ=~!WHp&R4#urks)Td<=w +4vwvTj@p91E;QPOFu~%~`EFj#Yk$Hy>Bw`gGn=b!k@-oB+4yS|ko8tRU{og|<6COZ|X-@5D+p9shv!U +#`3H@o|gG=n>pSzhZO{@9R^Ohmo$dDEMQemVIS4-Qcae@6aWAK +2mq6SfYp<6%#~gFaxy} +b4{QiIC)2DxW_Eq`v*=J9`dhxV;`sLT3{d4(m-uuDD2j%6P>+<#e&0lWbUfq_@?p|M)n}_n}yZ^Yky} +iosKmGK}+nZNck9YUw)$Pso+sE=M@A>57*N;AXd-HgcPkw&=*X!H6pRe!B-H+w*cgD>7zq)>Wcy;yj^ +?w=m=I-r7e!c(s?%rQAaQWu$e*XQ{{q@!3_3QG(J4gKcM_t`B*3a+qs5g)0!_Ph{^*oOZ@w;#Tq&&I3 +Ezf!HLwSDvaDD&R>(_H7pWVHEyubP3mn`$chmZbm{!+@HukQb?d~f +{Uw^jh_U4ECtNVBC+K>0w*X7~v$H%{AVt*{}?tUq+uHKgW>(@6AbNFn;W4U_!`VV*a`TS3JuWx>Q$De ++A`#Q^E){ocsKRx`qhkyF&+w$f0LuOk3bp7`FKCAiWmmh9#Ugg7I-n_bg`*2;Z9?H-B?cvRDJM{$E@@OV}h?sR&{^%_VHaNo&o;+^!aE1lutbQ^x2osUVg{yzj*fYtEVqslrO%1UY?Y1o;-i~?6YsbeDb_ +}^X>C*zJBralTuz>U;nzrZ07H6@_%mej~Vi(yX@ra>&L5`+lRUI?{d5knc(f~^5*KV*E!}_*Eg}Kaup +Z(`Q88O3~%q={>Am?Bfo9vAIr^;8ID_jjk8QGPq$%NYHuPcF+^^QNn}|8|=rc#)5Par +0w_{^IuT?*6iTdiU_iTmSqdpIut5%g41ZwUlpP+-*QgzE&>t>ARoGoB!DMtuyeNQOn04|6^G`*-w7*hrCdi +Hr~H*w)Zd8o)_9Oj$dCm-oLPHc_Bm27wRX=^6LxD={$RV4Rri!&3MXlwz&L*kE?zC!-w_b_dkA=zxFw +a=W*^#_wPUWHt%8Te<&aJeO&`6`RyZztLr{}>D|wP#NU1D)eksATmKJMHRpEsHlF(Mh(G=G%d0o#O>j +*NiK9LL{Q1SjJb~|De)r9@&z^kw{pZhKynO!b({Eos`}(WzpFhd}eE9j>8=rjo<-qODzyAJ<=THCT`>&sW{`7g?@!>_?_Ig?NabDIj`ep0exa?=kKgY7?*S_#;y{!9^zl|+#+0OjBR +{vRJr+d5XHGgYuSuZa#LI!LZp{?t2S;n5B_q@BD`EajW%iqRwIhJj?tY<#b&TY#-W54X{v1ELHIx|W? +M$3RX`pa@`=jCXbQaN|tvmcl1*8E(abgo9U$&!VC1W`+FG?G{kyrM-Qja~ +0TJq4k?}LwIWk>CoCDXaAc@JY{u1iL(Yvwf$p4mpm-!hr(Vc)W{nw1?#R@;s((_Aycnt8R}vL094GEA +={d$BQoJ=RQV&x8Axg&k{NWttb+uWZX`2b<9{!jc*8J^Q@m!z~Nvg(LII&h?W;^sK4$tf?<&KDKa1J< +rSxGVda#!%P|{ri^Sx!4Mxz6V9noXwN8~==axbnQrCR^NUwhx<#4Gb(MvssQjZYD&vrH`Zk4^qYz~IebTf2aax#M{<#;v>FHh!J+k3~%o2! +P`Fl@FayOhu7NipmkN=|{(>v?=-zqXUj*zo|ob<4K&Ge7mM#Tt5Eh(~1+2itIF`(m4UTx~c-&47*b$u +42UCrjC!Toy3S>_x$d2T$^VcYezG^S+f~GS-SeEHR+6IYUe`kdQg-Z1!>TtNxAOZXC)U>xe~SN_cwX1 +ecbn3u=N6v6ANYKpKC)>!lp`<42mlpN +AsbYB4q#;1%XPuT*}e`q1UECUZDR`9Ie@e-0L>adip61v_2fKaOED^T?!cQexl+K$g{|6R6LpDq#+UH +P%qEzEwE?gNi#+j}CDs;S#=&zSIQ`BH^UuJmS4^t|rgit^vkhIytXPrb17rti!w$Dq_!^bn`W!p@nGl#1;fE5^t+u$+Xp1`Z4WHqRSJOsf +M%jga4V{T86~jZ2O!=9InOfVs|-@<;4sBkuD)B4&k(^c@J@Rt|tOBf7+kiTfZDI~>1a$s8u`A4mg9*w ++QBb3$H#tDpwH4DBf3W7*?5)$@lyHNr`6IK<(31FMyX;D3!ZjWbqSi7wR;u({-B{J=>D^8!`_;Kc6J{ +mL6%Sp%^Nf{79Xdp-u9Pr={dTt!gdC1y01r`O0$MX&_KTqQ1;~zi{xJEF(Nazz1h{1U4NnG3XYE1kP6c5-D8;L_ +?=Kwq)GiHjNSXIwT1~vlQclBfCQ`w$IGxlM^AaJdM+WVS$; +HGtx6J>du-b};1yf`y1~Pz*+0@fL#7@LD@oFEnpL;3@__|%1-3n2-po|DIK3|S +U0<}=>Yfx#IZN%=%F!U*kOenT=0Eh;t6SD#X=M(G6GO7V+Bw_h}AbYM(BiA+_tjU2Ye^5#tyNiHI|U$ +*hx5801GAbb)6pUYh854N|S$J=X@-G%SQ53)|6AkY&gQgRwW`ZLnDM)$1Y`M!Y4#~WAQP!e3pf7+8DH +w@S%&sIxo6j4t5mQU8`)B!-U#aHYD>0LS<37?72YuFb-0nIslfuCw6F_vI1-?INiXZc|5q|f;Y(kww! +Wdz-E-#WW!L3;lAe3N0TmO!!IiTChlYRhanC2V%Ef5H|#4Q01yy0Fq_=~As}JCV0Wg)sQ7XNLK_J|;f +>)+gzc((0<|uRQ_#9M0=?nn*nlQN*h!|g5I!)I#AOT*3KK`#G3*@h(J^O2xk!J?&32PV=1P!SSJn;FH +GVH9LyKrbcG}rk*>>ds&cIjVAAxcKA#xNUd!&brjAAtv!0Ymf#AO)eDs+I@!sRy15sBxJWm((FK`kBt +|6tBJ88YB}Vr;CjLhcW?l#t)S$iP=M){$?5A{8FfP5n+16MT&XCQg`N1r@zQnz3Mq`|i*_u9En$?ZAB +_3ut_#>{8tYbB2!2aDtUC=IHEj0s;9GCc!kzCYj6(2TU%g(cm%UXFC8+pqF#yM>xv@<6v@&N8JgBkOq +12Cif#QH>2K3+Nv<15l@zYn}NxpitrdhGMTM*ZqC!lK?q@;cofFU$wQVpn-&ko1c9ot8DQlGm3@_&2t +#D84HH>CdD#T}Pv|?@3)o%okc_(%x%z~?mBa-5JuofF2CjYJYq0bNVUC$2U9cx>Lz+y-|<9@{Djq_QX8%Yi)ybzx%6d%gh7sCnRc96nnJ) +}+xY-J-K#~laOeE?ruB^nbF2-cMyh}|mk;|PU*Mpvp11LW`Zj3C +&rX^kgK6-}q!9Wiq=(urjGWSLIN8ALCyB10OSXFSqtGbv?6QKu6qA)aRMm%Ml3TIj${BW?^jaVd+KM} +hYYYkDyJV0R!v}tBFGe_W8M__Ak@}k8YT~-b*009Vi5YB~^4r +|wH-L!e$;31-@DKGBQlzb=Tu=P9p+NQ>f0TEN$F5O}&9S*Szg(z{IH~^c>$tz-jHazKAWvAKK6L*&q; +ctb^BZf_y*GUg?je^~`Da@h%Er(*1JFo*<1OvQc?f4dp*BGnh8*pfd)P?xbcR8d|6%+%kNa{VHfkqrQ +q?-VkdGtIEVz-&8A=vH%Rb1WUVvVw^-<}eJ13ctO$R4oyuHH=w8eayit5gKLUjXaF36ssO#G)NxnIJXLtSkIE@P2?hDpy +8m;{f2mSWQ<%`mXS|I@L4TFp?=cSIC8FD!@#Gxp#e5_Jkd +SgI!$naN<+7nZnmp|Lbp_*DO(+CU52`WVO!!+MFMxSc*8VEPw?4zBc|F=Ktj+gv0->d=tISWe-KVK^A +vbYN6%mJlmRvDXf$&e0 +{W4a4r4^;!i7ve8C_Xo@nu$-@CoJbz`t9pQvzzAyTu3Y0KssfKbI4$we|i-z$uSV<-MN?fB@vMExtT1 +;t0J14siT9U^>A<0#PZHgoi+HOipfreO7DL^E2AiZ(^`=*Z~1o=1I#o7;%q}Ex$B-}P-2@4_FIKo2mW +rgt_hl8H7*|n)pZsxNHu~Y4Zyy6g~Evu%~XMztdVD>{*WJMfoRM8Y_s025HbBs}$p2Y(`U{TjeK$}L* +pcFt6avUHAGC`ZVm`vbin~{++7Ozxv%{Vln9Ip_sj5vt+V`!xa$-4zhAZG4iwbIGa54NR{XRp?JmHQe +_Z`FEM*LLv3BAQ`A{Sb~-Dely{WM`<9FFK?CLe4hT-ig!r2cd6+aa38tVnSv;Ry_|TpSaxRhciXxBg% +LPtid^y@Qga}g(Q4rkf)UofdF4tlx`}H)_(M56c7SgYcfogjAj`en`U|BXR&EGD)bi@O;n(L0WESCLJ +lh(47gyha^Q1HLhyWbD3g_@ITIu0pGy2NU2DRKJRP^{C^519nFXv&gy4J{<26%LachJ`LIO6`iXr1bN +9h)^o56;{!D@l2lc%tA35@B>ghNVY(iq7YPlnHoryfRI}T+Cd=H0sAOqT7! +s#G}*?~#7#dk +c(W{MODG-o0DNwnt`I55fx!ePp}t8JRiEfx;mSb{5h%QzFR>!N79_stBzG>eh}!bC$@neabA9VMvBTm +Q?5$YfT9D6U*^iPM#F2cFV!6jLg7Nynl;*ORmZlwfsiS1>Xc+UZXdbO^AXC)&}C;m#VR}wZAZ|qHiZ*5vjxn?EE&7o7sdW&TLQrc<~} +=PSlMwXRgt@r^Wce9!2)G0>5kzL^rr;2C|pt|Sti;H+ZpH`uzx}2$|eKL?g+7DQU$fNAzU}OQ!$~W{F +pqBMAstS0Uqv1SC&pIpjZyANL2(+X*N@!>cL6r9VkdP?Nq^mQ94c1r$KnS7~O(wA)X7NaMWs>2r|VWd +&lgnRWpR9Cdnnc8qkN3iG?J}h||;$A$sJvo02>SN3;yZv*Q6(2V=K*f&DgJ50S5{ZCj9`BcyKf!_{5| +9GZMNp2_EwGY-iBXJo~yYK(Slke8BW?EDSoHGpdG1MG`-gUS{UhUtJ&M;FTSWWMmXW^QCgPl)Mux!G- +J4q{LuQMXNtE~`q8+xN-jA&HC9n5cn7j_yPwK&AU`rJ<@pj@x2A%b;}HIJOF3c1z*giKVO6RZ1j<@@B +7=N?~oQi3$3MKuIPTdgAJ0HpqLOXdiy4iA<~IFbz^8v3quJpSN>(^8;5~ +NPK2i+R*5ta61QR4?3l$b37V;J^#kPq}`MaE=KuqLLU`Joc?Ii$UV{AsnAM5Ef~L-4vosO_eCR(UP;b +8ZT8fB_7@9xkIo@ldCwQ7xI1Iemj>*#`1v+{@^Ef%nvO;7|a9hHx +WCq$BV%qB#M3)qAdW?j#k(NH-CZAexMGESpO^I}*`BoJqOR5ANW5KUmd!xAV2q$nUEO%^o2bxe6oUDN +(B^U|4CFcD9|q|?fQNjg1IHb)+o=1%i$%o0MVyV$CCS_9c7J(NEvF;p_v0f+2Eb1+h!Hu=~|YkkX_6! +3D|)u?5G*z??gWKy$ksbAWR8c{a8i)@O)5)}00%A2iWa1R=Ps?|FS8tP7`Jy8d)cUb$gqQBcGAmbn@p +xQRf-cbSuhPT>=V);~7h@z$#NH1G8j8@2N4Bc|Aq7rHffw-G$9#;A7*Q75bZyweq?f(^@XmP0S3NeKC +7}$#qbjDIcj6FG<#z>?B%I$$uG%o0-6d~$9D?aSC{-3MpO2(sku|nrYu94XfzKuva3Rkq97_ +%4`oqaVi7iRomOuZYIK9yOgh_wpct?m8$k%IW48y+4#{E@6sgRj%B>owdV*n3hG|8EXfw;AQw=h7@B& +FE!ay;5r*_gbaR_0RNLaL4(O{dY4L;O~T*G1|KXvpM?%F`A5hKXQyGpns3}U%r2O?5Gm7Py}MJQ;U7P +=SZ4cRu)m~|iaBo4c^PaF>JM@BSGYrA{?W(Q3(Gq>n3D>QwBm#y}45UW?wKu_VQtu2W*(hLhUkc5VKR +=WxQCb!uvs>wnjRHWvl8c8rrxr}fe3cPYChq}WwvY0d(hskL}-wC6qR;4-)4y}{5$<-*l?3So(afeFJ +b}oabWodS9*mi5^w&-thZ)zfu_JeFPiC<4GYUm00da9_E6iwWvit*HA@_T4L3X7^S8Ci@HthIckTt)z@^&Z +^#x1nwxZeoK^4>aFUk@Y5@ckg750@it5_T!T~!SR*iJ7t;MIn0Y^Ncxmea;QrJmK!R%!^sm)%9PgOs< +BF%nu6qzoOlU=p!U+e4LvEY-2uwpoy66zVXIBddoUg)G#jT$8QERyQ+NsC0o}HLBeM^{LtAHj9-*rG! +2s;l-SAH#4Vdy_kbo+a&?lMC_SRP(XqjyUm`n0!K*O)mp5$nv@GovOD4v-jAYEV9giJ1GbuXTE#~G!D +SmuZfKnYa#7BiyMSvv^JJP-*T(D#u6FfTJ2AZM0NjJE&6qNKUJY{~wmLbH5UFj@$zE;NAYJRQ!g?4Y( +Y`9F@~SWkrWKUxYSCu5vW*=|Db#b700-@qthTQ&}X-2owNWCe=~8|HwC?>3Mhisj74)`-o97oct>vR6V=p`2Q+SRxLM&2pW6a$u{{E#aeESDl +9>(7++cH?Fy&}71SAcU7ouNoxve9CAW} +E$6=7~f{cxsh>(WF%DO&OCuu!ml00pc)`ddz|uHb=ZL{@E-i`S!lWv;p~{9locoL02m#U%OsGVF&N&c +4jMs@Zkn49EyF3X>T%b|qRA=s9j#Kop>D1dSJY-i$21M-i==N7B{775D!#4SqnJ1P!i^oifJ+udoMwxrcKPV|4?FtFl134Gp#h~h8F|!UZ}Dy)?A6|4w1Iok~6gfDKO;^l5#{{cmTTTFu(#OUS +!Z6n>uh;P{7g%TnJQ!zRSX8$iCP^rdDgmI3=rk+NG%u1yT|wnw>sgzTHZ$4c +M`%J|t0pk?**2;g7qx1?Mt0JXVzVlI2d>;`)NZ!!dF!RkRs#0W1nIPpN||AiR?@T7r&fVn);ttTxF%^ +xEU^6U^CZ)(p$wM;RclovSXHP6A_55goYg!%(+^cn=S5Gk&QCW5H?&7TSgb}*qMlW!G*R2tgj +&v6@=MhUkh}uEjHF_JEsfv2AFn&6;->tpfS@GWGmj}vOa_=jWi>@_?k!$KM6 +j9(GJCBy4GE +oFnGyeKc#$)p8v@egf9F>NefQRGG;tFR+T=4*M=H1e3`E^|HXY4!=*1_qn}28VYGhh6uxtI8$@)oTO2 +i&99jt&Q-j25VK^N)-F*EhNmhql#2`*hM23FZKd@`{PuXhwrZ5go4m|4VviKU_ND?o$OvKB<|b8Nruf +1XNE$Yva>yX<_xpkg(ax8dvRrUZbCD5+q3m3aLs}xg3i7y1}W(2VYd`{gqKcDxtgMkHAu*xrT10&81S +^NV?#}&r?$C>)2k3($FMswMqd54W;UX$EyO93GyXHr&#lv +SS5^&{J?M%aFOecVfp4X64K4Whl|o7h +t#MJ_wHEMalIyIn=+XQ%5gWzp(I(~i!e;sdWzEht}5NUGq1u8Y|9tywcq6)+%nyzEDF$GM^h|^eNm7* +CbP0<$wrXfR$$U%4ED4it(u_%%vR1xnrSy4i=ATLzOvf@%e7&IURADavm?9B+}`n0w;`UR+br|Sorx~ +tkaOF-@M2%&@V*Et*es`2sfZdQ5NcrY=Jzav8=4dluyZcYEOwG`00=?t@Y3ES?cNX|NO4=LfD5hKU2E +xDHN}+CW*SHdqjpT9?eprgh7B}%_sVlHrs$B}J%BVMEc%}|lRn%-uWQJZhhK0->&{ +O=%fx{ct^J@+WLsrf=g&L^sYC93>pwfs+`01@6ub2>ht)6eYjT03i6Ac1@vH}229{k!6vZ}a4<*poFt +5;xyjFrtBC#ncosU71qtyC_o7h4-ChIVsFuV-Vr#ao%D1ghW#1U$cp!M+2_<-5&(YG07vu9&*n!Lix* +C;n1`p_2h^xNh_QFX!!5`$d#RqMN#wcO8H)8;iIVQ4xabEVlX$2UG7M5_D60 +D-a_J`u!}aeVaV7dAiKS*EU$Wz3@AJVKw3Mxc@Q-ac%3wkC@;pCWG==rI})hyP-@z|8n$|;mgK9>qJ&+VmUHZau?mZTu-p3U&2L!kqQ}BI +ZP~V`adWx1XO~JzXyHI&q&LLpWiJa3P;P4h!=`yiihYq@Q#O&K)ut~tmDoz +qL?E(cV3pLVR_~x1j{r&(V6HWRSK!H*G0gr}uku(dfeo8H3gA;}L#y4q5#nC^br@b>@LM}hos0Oi+fi +yhi$k01nI3vk4T~gs>;$f2^d<2e>%98O{JGXt#N=5V8{QZPuUyn-f4_M!L3h}F?gb0)xGJtx>LS3`N= +j|>iJ3H|v{Jo1yxFG34$!yZt>tbJO3o;~=D{HEm>0*iS5iypV(1(}o!UtOhYILcEMT7AHc)G65_GYTX +zWdbX1$R_6yj^PfLC+jg<+~0F%3M;cbhI)ufea_FB`9ly5lgV#vkC8XbipDrRO(J5S>f2$zVoyn~2y$ +%Dh(ocl)0dPphJpH;241&g7KG4jZBuuPB-=(m^iuRGhFwdEQXvrY@*qr#v*X5t8dUdmkug``t2VcW4@ +90T#6AnXo2h*NETo0Hl#s_V*YDfV&9raCSU&i4d!sv4ON=e#wJ1HWr}lRqa;ucxY{;*QxLGt}2P5{ZB +agBGJZ0XG`a4<#FPP6=c6d#12M_5`K9N>oM}e57E0D*QJ}q(B>X`znj}u_Ow@9hZMnQ^_JDrm@~Y!<* +m%aZ}K?gBi;ZrRl>x*`(-)MYDG5$*a6|!PH^L^L;r$1yW`~`$HbMfmLrH#K?WfLTFT7C#hBc{L|Cbo=FSyozR!b_tae%h_EyB{E?sj>TbW?6X7X +;tqS|9nc=z_qRM)W%aQxu(viPai>Xu{@$!DVl{^M>BS8pE%!lk{Io+TvguKmb?Cp2+>H`A2gL}ZDmRC +2ns!UL(|%Cj6U=aYm{7BVe8;hVVTL9!aqaU9o43yOlY#4OSh+o5uSw3|1lQ$(&VzJL#Wa@+6k&X+tM9 +9d>Aii$PP;Bfi+unGp$xiW&jUm#@aCnN81o{o3m5>AS68qp}qnA&fPm=iF|nbiLFC~ZlliewF6_DjHQ +;ZUI&3Hr;T`Gj5%Y8jUs`+$hQ7pGgL;ecl`o#HuR2ULE88>JzI(0 +!S?+zU9g)}9k&Q})wc_JF~4k$UYsR;?7-MruC7l3gYZnbAITgn;I>cVV +XwfQRnw`_AqCi%g7rR6E?FlRoFl-^-WjXgQkP_lAu|ri62c@Lpr!0xd%U>*c{k+9}^a$>v|6+j9@9R^ahruqjD +EW1-mVIS4UF{#cdW%8{y{^RiO?VRebbQtL1yD-^1QY-O00;n+tx-`8Dbuo<5&!@WHUI!40001RX>c!J +c4cm4Z*nhVXkl_>WppoSWnyw=cW`oVVr6nJaCyC3?{nL@(f;ng0<}L_o=U2nYuanB=~Z#;M02+6v7Kf +zc{3h}ge2A!sUt`$>R;bycL5TVXeW2mc|FsfO#+Mkz0WR~gM;oL_2%r|c%m-Gr)QJfGxg@;>hu@&#M* +Z(ZQNv2bEn#V>ZR$b=*NzzoS4_WeP3X3<jaY36{Mzk0#Amrc +n7zl^vw9zW%vgZ16vw=1V-i&Wke1GpnM)=+eY$x?uvllyzZ1ZM6aAMX7qHN9x7#@k@~CTs~BzG*vgW) +~Xw0P4Q@AVf-}D$|9Lo5T|F4UNLKzx_D66Njfi*r5dOexKd@Vt~cc(&z!hWP?}5&U2I5Kv%(l<^I5qD +V?U`)Ua3fDsxWb4g*@agmCoWntHBFNUn=g{ +cWY#Ec)ry|kMWd;6V&v8_qRw-W*QC;)lu7WO&L(5xiFz?S@uxY8eFdBLbV>Zfcq`g?1g1ACg*6JlbJ( +eZM$%X%8IxT=_xJ?_A?O;;q^3qy*37E34+>bTK929+Uwyb!qsb@raddMtn%sT*32UKgyoLRQQnFm72? +#@~LTBX$jDx`C+0E&D>=?ZnUyScQ5%=fgyUE$@tvbKDQ6qIdy15&lez+LjsOt|m*H^b^LwKAqUd5!$E ++yA0o`K{thbH0jI!UdF{t4!_U@(o<;9jpp+Bi)rn0>3t96mUci??H +)&-TuzI`}-H0-OFCs?GjhZH8b#rE@L2GZwgo)>-fCbuOmy&Pfh@r#p_4ub^&$H +w|&>`G2n^$^n$OE)bQ?Qj9m*kpSElf&T!_gwEk~-mv-d69;v@mOmOOv`~c8_#Yn=Xlswp+`6LUg>4Ar +xm+u?>7j!wznhRpu*Vgn~o1Q?l6~-(C%V{PE@A20!j2)%+{5kj}lQ*XtyU^R*qEymBxpWRAc7csw} +%`nPjRpEh3_wM=Y;M4FLfu?3e%|CU~_4N{h0CaN0Pm5GuW$8enJ2+^5DmZb}hKm3&754$)-JkNDmK~Q +LKhaE5z5i{{$$X7$<)H2y*nWVaC$<`=>Qz$17-Dr`@i(ah|NRq8aC{ILzxKv121qF&Td}+Qq0$Co)gP +@7>EHXuA;y#j8ikPXWc+`GD#%o-GNfd^Z!=b*E%els%~>P^YszXU|52wEv +;oTW{>5MYKBrYs>m^x~RxzD3W31s`9X0qQ&X;%tH}k5B3<^@YHd18B$GmiqA5RjbodmHhiciW7nQ32Q +bbsrWT0%-IGDmP~WLESW4+^dP60j(jxJVB(F3VYlM=(|Hb)ES5u-px$bYvCT2 +?K61xGuPs$t&aA1Ku_YKF$!=k(v?iTVoMts|8M!DYRWOY3C2CV0J%Ftk_8Y;?NMXcbD?zEb-*pD4e1`UD9j(CT7J +n8Q9B<{-a5z+^j1JX4ogK4N?Iei4Lg}J1!Q7o?a{^+bW2pU6^yIvN>|E<^eTG>}=;a%~8~rs#lopudok5bYpCseK#C40a(?mKRH%_JauY!P0or7K&obXsfA1I +4!h6+VfyEGvd`#r$P@7B$sk^oF&|8Zet%hf$~7Jhyh1%5XF&q`*5$iqCJS +v+ridF90W^F2rq$;-Z0P(`o>BAb@&H0DTCglQAHWQ0#?3wu8=#EtP9yVVzg7vO2y#9{NZfb)AcYfe-x +Yba66&tlcd_EUZLNSb1iKrPRBj3mWosR0Pxj3QJ8J +wtPWtXCtqfgm?!;YFNITz72T6Q4diC8QElO)?lkyQ1mFSF9}3 +%H8D!6+t~mx$-5d37Wcu^#P04gVF8jc-)H3aH(CPAbO0G5u_#D&vh9FuQ)?z8{}(*A2}#tl`0C4V^pj +t&Qc@fhE7rk+h&rajK((ayHW*76>3hp2%LIF?TX7hAhbYaiwvG@r{a69*7*pDgWEd~;Oh>Zmr?Edm}H +dZF6nPiSrFV7ZNd(MP~-^7=LDogHMyH>ZEvF_-DgBqPYS~P+DA2pEhGTB1PS>ycdyebNgZr<&~TePp{ +6`#%`WwWh`Q2AG011mgF%L1F_i1n-Bv;fu{oDw)rxGIz|7_=eu0eW|0){3v4?n6*&0?zh9&Z?GL^RL; +?k+vDY_McRNc{q_*A{w;!}pF2xC$xEheETOekZ70b9c+Tg~TGD;!@w$H)Y7n=^!)hy`-*eIZEfzo~gN +4jVVdcmCD)h_y<~t)Yw?FCFk`%}8pM1~fGms&0v{)3x4E`~w;QQ6CSFkIAiI@R`U0I#5f*)7uP~q-ZL +(ZAML$#iX%9;AXZ2vK9`x1s3ouxq4giD{UPz-jR|0+fT0cClp1pZ=b^D4y4ux-G` +(Z?zN1l>Bwu>MUZ^29@KYIAS!g6dh{{!3nup1-KCp@`mDC`mMJfn+P&4`_K;cywsI$TEfkOK}GPa;At +PukG;oe?^p4GMl?zNKA(W^Z|IS1`j@F&$!X-$v76T2s3mG_;GC!>q|UqF21G-*-MM@)IfBur2KAk5M<2K4}Q>MOW%iL2u-n*J~FDiVkCMX?Gua2G{qoEb)2 +K_f8@wrTIwKAF=9xS@yw+jazuQi0|n7M0%oTdbrS>pq?)ddf?RPAxpwc)t^MbCIJgM#7)PB<5T$~PTm +p%MCgoj?ao4Mb=KY^RBaZhFag42ReG>aed4(M0Oy>W~jTysV~3H4kAd5~4*bMYBbanRDAnig0&k%^BB +xcMQJKAmnQT`T`{zQd5(eSyH-eVH=qN)3n54wYOcL1#vYqCU)^O-IV4Yp4tklR?KMpzOjk)4KCFTT#H(x^kDOa>l>R!u^vO!Ur@M_#Z +%p4K&|c@eb>0n%W)Oq*~CiFf#Pun6|!(fxV&n<4I@&!E2#9Ui>B*cLQ&nwfS<1)ei^7fkPsQqrSQ{ +%f6aaS>FX0=iz>vlKYB=(m)-S?PS(8QglD#7&`kJ8U8wHOZVK{Q8!klzVpv$8TE5?*+M~-SP*C0y`$Q +Muv(kacbPC4;5ZYwNk&`78a~UTAHHD?0PLcC(&w1-_5pPh+bFZi{5w!b3c&xLPBe_*r>7Itmr~@Fa^uXCr65Y;-eY?;GR6jy9Rhch!>F%0l3>Vlm)V}?7Fil#>y +H^;wdBssnx%z3S$q4$0Zc})SNUk~MFUyLJ`__|q#q$U2KG8`xL-qM`bnQw9`^`+silwi&)a%!+uenfc +?ogm!wd#}m;Am^SqG^sRQ0AcMq5OUxym&<{Fn3=*4^Cc%5%=XYRQpQaJxT2wee54!tC +P;X=m{I{+YQBcOYovgg6$gmk|4dK&uJ*w@G%C6=h#eCyfFpo2LsAsD`(YBbDmMZ>+WLDFyz?`W>Xf;npVGw7Nt?QA^?l~f=6kH +!e?aq{ohe@*)Df%?Cf_Vb#*RhcIvPMnCWPd@qe|H +>E7|M23Q^7V@^pMUe}dHLe&Z@>H>{a&vceTfV%1dtGiG%b)K5{pR-eDnI}7% +lo^VH&;*h59Q76&Gp?=d6U2S{NiKR7k4*LH`(*|*MGgfy?=N8Q0{*!Prou|{{EZmr^h!}@2>x^VQ=p5 +9`obFyZZ-y$brju_YeE~HxJiWPuFkDj~_JRKVItUfwA6w$V>hFRDSd2r^VKqImEC2{PXhc_O`s_w~yu +J_2c!!U$5WpC;9UJ?&;y?$M^Y|zj^%hzvefk{ORi9U(0tlw|{xK`K5eT@(!QM(|!5w!_&|AcjxoxRNd +bE_;B^`fm!?M;rhBf-v9LUx4g06l@Ist%bTma@^Jn3=5Y_76Y*58?%w{>{X_Qu<^Ju>PapW|{oUJq9P +aw*`r((yk8}8kZ@w>IUq9xZmOotIT|ea0eE0sx+nYDp`RkiE*LRQC+=5b`lt7|mpMZIw*1SB*Z=(O_pi&dZ~k2V<=M-Z&%Sy6=ilXTbEflObN%*6H^00 +~2)-@(R1a5oPapEebAUfRfBEGpye%U%hz!>2U%2(gMEYHe!&tATM@#XhlKYLle`~K +y3-@bbOc`2{1uRl&Pllg0t{C}qSryTN^`<%(Q*H2eBw~zbL|D4PFm^XO)w)}kc*Xvy7H`h0bsB)ECyUOMBhKGZjSQz^}S5czxn*KG|L}d-TmurF2Sqp{?*M-I +rLYz_xBH%<%|2rCw}^;XW92~v*R<1!%F%7RetlI{a2oU^ZWltqw>i`4*cqh#mcAp>EZsDa`ht%>BpZE +-~aom`~r}2Z$2hQ-rT-V`*54jmloiCPI7LKoWNh+y$5Vh*KdBlyT85v%LmQ*AFtkB-CeUJ57+ +py?@;>%}W|M2@4uU@}=@x}MAUwr$`4=yn6A! +o@b95eeQvCo4)+v^|wEK_44`u{NdY|zkmKR|M@o;rPSjx4X)Aj%VN{BX*4tc!B@L<^O1kec3EQDW$;~ +%qh7|*=Vk3jzYOc`GMZ%%the=x{9up5=Te$Z5!Mxz-SH1jf7Onv!S +Qc)9DGEL18xZaC!tif*wH+aKpGg*Uf^SLC>IP&@<>6^sMx(^sMx(T&vQf(xcL&(gPS7@MPT4bKFMHM$ +cTRTr#>hx;MHvx;MHvx;MHvF4*bT>Bh#gPLE#qxGUFeVOKwhB=p$75|1j(r$;TlpP#$<8xP_tHQ$=L<7i63)S7q&aX*4i?b2UH3UJ0{f8WFs%X`vXn++vfR1bOU_^pf$ +fyj$aTmc%cV5FtNevMWnAWqanqMvV1@H*4Q~1iBb@jxu{3UAw7Ho=6I>9OcJ8e>-E#k=hma%NI14{6u +o4W(*G+$MM}^VkeS%vpa)BB$|7wmO1Q~26!@L!+mrrz#8)+w-ZZ(&^u*Vbc4QG@+Bk)_AH{+Sry=$s8 +mzoT&l`~?P`4YDA8_h2Y7AybM405Z^7^X?)AG8~m#x?vgyMbBFTcI1<1lwt{aVH+&0Qn(%IyTg?p`JE +0o1m#QjfR=lB+CU3#?1|uyM!6xE-_MtD`?!A>*ly=S)#&n;^zyduZ+%JRt?EavzDFt%74iTVsNZ^J|K +6l8JQbr^ +NyX|OY%zGQ4_#5nw~z{02HcVZ5#`mwyURo+Ph(b+WZ)7`lDhGMqOk~eJfh +DeRv+3?S*;wB8^im0+c<0R5^wwz2kbath+zX1+3;vMVAsmvfLZ${X6u-K@ASa&I*!--dB5-yjB7UZ!~ +we=4F~KvV8;Ptr?R0ZZq#w3j^O~K+0bLsWA1fp@DgZogFt3OPn?%S*RZ+`dYKJ9HLExcD0L$kXwcBc5 +;WKRuFXptyd*F=fyoIb4-(o49vUpU!7&@YzllKN0vn6hnEl3_XG0G_5w`bRgO>!1Ex=`f%K(=FE^z_b +&=aN>;4#2sfX4uj0UiT926&9qK4d(Sg!Fts>w){~d +y2YOa|f|Y=&1sDl15@002NPv+5BLPMNj9}EVp$8a=zSpfMFKL*_Z0HGA0+JSBB)~|3kpLqBMgoik7=i +OQ*nGp;XG4#%*R40!4XhCF6;v}jkRk9fnor~0Ez(=11JVi#HeM%BdzT>GYZN31(E?I14zOevY{uC3^r*6iWMkUpjd$-TritP( +`g3HwmTzvNq(RwkgPxw#+nU1fn>#I;2yJ~Cs3?BP31u_)0>$c^?~LRn`GKB5vI5BpBrA}tK$3{I +5!f{mJ!Ul_)0>ugxVbj^r11MIYSljmVBY8= +FpeK;5K(YeK3M4C#teC9|6f01yK(PYF3KT0)tU!_AwAGWZ4|quhk`+iop|YVTkgPzmVzw$!teCBe*{X +2u3PvgzsbHjnkvh+Ho2(mHsbB>{pA9|1NChJmj8rgE!AJ!oQ2N%uNCP7cj5ILPPQE^qm*j`WH=SnCOd +5KE5mb+c644;?O}h@{;^OPq5O!O2ce5Fw($C10xNL +5UpgxwZKRNBM_%-=mADr-|IHvB@L`Ju+qRv!)!G$(!fXqBMpo+Fw($C10%>B+0X-wG%(W6_+r9K8dzy +yg&-;$dV-M#Mqu;V&=ZU_Fw($C10xNLh&ssG_v2hQcu5B<9jtV)(y=EUjG&7(=x{^lYDhp$f(~j*Q+! +T%))bG4WkFpSccGWSOB(c}$vVm~b}-VxNCzVwj1c){!?nOj2O}MfbTHDvNRPd43trN}N(U<)taR*22O +}MfbTHDvNCzWW{cPv~MmiYjV5EZ)v@DGaFX>>VgOv_eI`*W4kq$0qT}PdXUsV5EbQ4n{f{>0qRTkq$;W80lc7gOPs57Ykm}!Ab`!1SJh|E*pA+5ovI!TaD1X +5j{5|-zHMo!AJ)q9gOrd9$N5{4pur?>0kvJG8?0DnxLsPji%EKnn^t@;SQ*%p0Y(NG8DM09kpV^q7(qSE%}5V0GQh +|HBcs+mF1%!bl>t@;SQ*$8^pf1c^aLXVj0`X`z{mh21B?tXGQh|HBcmUCTzJUfRO=41{fJ&WQ@MYO$7XhhjGnocul_PQCoWP+6mRwh`P*pmrHCK#DuWP*_iMkW}U +U<4s98+w3|2}b7TB^lu7x*-*3Lr<_Wu_ve*X;JA3MkW}UU}S=k2}ULunP6mskqJiT<|StEk_lEOSeam +DVoxR*A;!*zo?v8xkqJg77@1&Xf{_VECK#EUmzcpzCRjm2%!Z!WlL6I9e}=m|#1OEi?i2Gega{075sV)zS;pscpFd5Jl^WPz0hRu))U*pmfD2pO`WCm2~^WPyb`%EF#3FtWhN0wW8IEHJXb$O0qeof;{phU( +i8z>=1n>z2GEKN#OQP0&=DM$>5q&7`4cVx$wbWkV06htb36v3ZGQIG*DgJ&m45Pp7BT)9LB-bb2~Hoo +hKgoE}b(phwVS^AgK&JjV@s20eqGLC>IP&@<>+=~?MnxmKk|rAMVlrAMX5<|UTlc#d1?+34Bm+34Bm+ +34Bm+34Bm*|=7tN2f=pN2f=p$L1wz&W;?n)3ejF)3ejF({s>s&~wmp&~tFDL61R?L61R?L66N#EW_~} +chYmxbJBCtbJBCtbJBCtbJBBhtwoPTk429~k42AluG?bW7Cjd|!3r{DN9XEjS{*s7BWHE8XdR8SlSS) +f(K?!RN2Kgz(Yl?yB;(|ZP9m+7NOP9LnYRj0Eju5IL`#TgrrZPSH|8Y}96G7DPU@{7J(!*TE#u^iitO +W%MTdg~R-}_X2^?R6wg&29AvQ2@7O=7)NOrblAUrvGRJEOVvW$~23U0(PK2FS9kPV!;!3p3CF%t3aC7 +UxZow#wr&!W7kG9-$&p=(B{qH&X#6nLr=Od6!e(8`QRF0?C2sTl!6!PA)(Cn7UrmI@(kA(Awn!BG)3Z +t@btccR*=_NVUMj +4Kh`5zy%i{aNUCPSojBrBREo+o%wESO9BJp>;XezHXMYbRCe-T!B(s2gN{UOXrYEZ4W;ymOABeqLL^r(xf(ZArvMak3?~9Nw4A_B6#~ +Y>eHaeSu$YGRFkG7vDs~VvRI=D3AdBaB+9FIW=9re9HWu4%~pe}_Fz}AVgk2aU)v^* +d{sJMsAQQ0(1()Jr@?VETuijucCT5#F243c^pD+S9TT6&TvMCqclR(PDb6)jqFhNh)YAuD-o?L2^V^r +4sK4nlbE`2GQ^HGHRQrV6yhX|4Ry=NMw@2Um2f+hgVF9)o{qiBP9o^^y7OdtN91wHeUc}$s#*tB%tP6 +xybo{68STq-Y9g3q>;u7Uf&G^zMbni|-u5A%3f&X<8~7#lg=peR2@^0HZq$%BttkP^;t}K+L7Yi?Et`tH52<^h9I9sjx8t6n59F`5P`gI{AQed;pmw#VYW9pV73)Wt%7!HkO(&k?`)VMurCr)A-4p?a{oA +jKq1+oag&!gKs4B_5e647;}jtn?#@|fCu9mlEQd7&T+ETGYu_?Hh8EjB>p2g}OC0&DA|9E12}vzuu?= +y<5xIlMb>fhaQDfa4R#u@CM!0Txn2P$Oag&!=m#xEWAypXab0HonL}*SP(n$L{0YX86G%~(M%xtRcB7 +`-#euPx7+@ur(mO&IopS +lBTGQROf8<^WjaehI?^#!-gKF;o$`pl!1)%r}m@khn2Yt4`w6(ZMT8mqJR! +@Ek!tAdX$9klvkjV^(o3gG_x48fxyJrpGEGG&m+{2(|xbtp#GuOLckTzCngv>_}RbwSp +}igvxmWPY*rO&b?_SLM!Ca3O1#JVX9!qi}40k#Ta`btW4TqK52=O7=(u;`R#{0F#=_081SKSN|AuQjzfRU{SKQ|GwUm#BsTJ<32*L6S3!Wg(|v+SXW#A`+omO$5deVL^H}0 +ySeXx}Eq{CDXq#M@|4z&_o^e&UT=p@2b`f28L%uh%-_xmF%(;@0O6AW<}<%Q%HV796*();vuTkDz@ +1V`6iJsH3ycB#}xpp`0RjuDmECx9<*Z}dtB;XN$LcQA{14GiqIet6!uV(#2w)jMOHyF=?^EqDM&^I@8 +?}%-_CbaDShGEv+@n9c2d!t9I#j?TCqDbVoEX}IYsqZ)f$>RyRO1EcK-1I9ItoRJfGI +!cdK)$UfD1_gbj>z%w_S49;BwjjxQ^mBfbm-zX642>YhGZR7@F>^uZH)N;a3JxI)w9q0dOF5+@Q55`@ +`*F^1@{*VeREQ`M!%e{s1jDJ$WHWK-L*a1K(tA>$HRs$#=jRv3`&^H@1W;%0#{>M8HP=!l_(y%1sPyq-b1XRl}4PY7E +NU{=%ty4R&u)L?<7~HJv&`3zb@G_kz_X^Ib7zEFKBUvee+WhpMOMIc~>J4wZVckEcA%!8Ecp4ZgmE3@ +j|@>N_%mLa}EHB?nZb7=6vRzi{ea3tF!!OhPZQv7?&`Ny5C)PzGSa6j?W?!lNL$Qjh=#!#CnhR29a!$ +xA#`Ud7`ozM%TUT@jC_k>D)060krm-Um40-Hob3Cly>o6voz-U3IUdoE&H5RPA_^XaX;o3f&GdyN(eg +7$7{M3a55mA5uWsf~iGFv*&z}!ennp$Kk{SeGB(N22Jee+2c0Di`jRr +w3<9D}FIz_qD^K#UZI;4nAKGMG4`NfQGl6vOI|)9z6B>NrtTxiNwu#TM*Yb`)EJl(Z3DIRvY+VVwHz& +RT}b+@^FZOas|OjSDXk352!<$sc1Hy(vF^g8GZ_%4XbSXINT-4~$svcht2ofc8FjA(IQf$NB}p!% +n(1VN&R-}Dmc@dI5Jph3P>|&-7QQGL5j@-JH+S7DPfs#3P;guZ!9_Z-Y=@#;HYxgg846h-5tx2I6o4V +`QlDzR&x_zUsMEy~5naKdom^&68B?fOC|v{{771DGQu*XksCqLd)S)_MZmz%gF?FxbzHk}R*p;|QOl( +(7stxUXZbmBDP+p|MOL8x8aH`KDEuRo4wn;Wf07n75 +;sW1JdM;J{Y0{i3Z#kima6yV!6jau_nW-Ls6{HUvN-glOQf>WG}s;${S?gWWC2;fAghUSVfLXZiv6nO +vAy4@dv(f?3O_ZduaiRep?$A7YiRZn0c1V!bnt3N2XZFf5o?W%Z_zC>uJjT`6-&-YE(WXCq$&f%V-4)x?grpkDEh0D)gCzP<{y(=0w(qxXy#$ +JQh{{#QAe_?HM8raPw=I@R^?;6UjZ@Hd!2>ddXFhfu;MBdEtA3pcrOw7pELkU%2*A*3U8Ud{A4*49GP +L|Ey<{<(E+a~``3`ljPOW;OPS;dsKvteg4xW!Gn^Mh0!xRup>SKZob=DQ*Ytq=Y>m0We2WU%F$Snr1> +R^~jDi(9cX+ZfXS~FE^*M06xivJ6fYzFQl@N%f>f+NB*~h(Z{3J3$rB

^e9-FELU5bwz#0{XxYy&a5XUb*WPCQWeYE%mv>a$hFr@BkXj3NROj|In5mc$rW;414Z`5Nb~b80 +f6TSvqdUQiT+A_61lwj{4s9fjE;H*qY~0lVYM2Vj+)ooAsuk87y?$wy68awDi|0UL!07Qvcpq +H37uI?AoW!juN2~k51-4)bVyMH1#5useWX-iD1mcY|> +Rx>bVj-162m0X9Q&|@1CAURIsngg{9!Yk3X~_m`L}w`>X(z9y?zOn&*gdN}i|CSxF>*)PhpD42MAl6@ +Ee2l)C`g1jt6sr;g-Sf`?vV%E@v50e(m_?ARyl&UH&((m5Vjpq^#t4< +MZA3PCAiP>N_uFHxKm@;(Kpv6RRoRA5$(=*R2M7dmyXCWQfu97AbL>2fmP2Xcf&6GbK%P^CDkcppdKN +PgLrL28IRr>;TWt4r>nBCaaHL?kqool}Ql)U7xgiXGaGl6fVuZ3hfcL~jwL;>5$$Ibr#Wrc@n|hN5TM +U>j^ajZ`RZhByn|4Mz!k+TI6<3zYj@hg0`js!lF5GohWzDLti}rWBm6?T3?L3D`QO$jD`S>7j$s+E`> +RHE!qp+m1!yC9r>~hldtQ(RP=Klx&KP!&{$QLf%q}ffR0{=QDnz?lrnXoK3z60nk#W4r8m{zDn?gDPf +TILMh4=*XC9!t~0bZJ5Jq*y4O(MKZev?QRb4|A`XPz(HT1CoD^A=TR;Id?S`q61BCRg`J8bqb+05Nu~ +S+Ze!68Rj%$H9Q9fbhP|Tr2VnjMaDMdMN=r}~I_&$&B)V-RrNXlh$e#bDbu8;+)jAn)7L5^ieSy-~sW +hxXSh*S1vla03RFLkdbmI19WS5E5CEx;t0TIoi3RpYpn6A|#3NKrf&aSNArl`5Zgj!xaH4XIY9L@=oi +Q8@*I5J;sqDSahoE)XRMG-J2#Lh%NJQ?* +81*^23A9Ctm3w32Cf6QM_g;|%Fxbs;u^N3O$9yFM+cLl^de~tacBk4S3-EnMC_v&58*-fF4cnm*43Yt +oUP=17h?^LsKVvdcV0Fy9=Op4T>v5zGldtCGq@}{N(%AvEU;D_okCt9(-$Av%+2-c3a@zy|$)3c$J0m +%lJRbpK95@JTv67QqDnun%x1WdKEAxZ|a5g`5n4GTz`P01me>84ofykGJ-6zY|>a}atUrdDMvhZ0g!B +JdKZKV1p=seBsbQ*jm#tY;l|jteg#g%apC$hJ62Rz~T4PWNQ@sNjONMs>M}LML`R +dduVlfcZ2Fc*uv~QW$Gyq(YTxwb}>u>Hq4goL#LRAP@(|a6?z&uYMD}Q6}_bB7`gIJII_?oWX2_rgV8 +q1VGV~yjD+7pYiM#69VD@ZyUZIY4lys4DY2>)P8s?`)s|#j^pdgPNP&xQ%Jw6-Xn8Q?vh^}Ka!@;?ZW +0G+y4VH$MH=?5M~goJG&E$AG-t +g2ap!-vcp#TbS?3BB$Dj~{Ra)8HXdOwsdH*}|S*>RwG8nl~GC8b?ELlOhgk&a4pWPFG;1O{8%#e)vJ^ +Zo`#%spq)L<8*0(XcJN(LrS-*cF;Yi=sxa_XCPbZ%GpR?ni9?TJm70~T*xW8#Dnal;`GhKWpKrWm8+K +AqGXN^isSh78jr3Wg74P~PHB33eyMx)u5E?%AW>d5n?ox@EUr!x0$q5Nu8eYh$bCRI>MkI2NW^)+@Dk +1l7I7g;`<$Gv@yy0S12b_29jUHj`Y`OF_bzA!p{QL2Dq88-<0dcZ%HQGzgIc=6%DCVxqm9}coJn)ssB +2rp#mptaRLwa~mYMd=t9cs=aksPyX-bPuT5;K0F;R^0RyI}KMnU1Ok&*Le;`et1K06K|xX-wID#tHUs +oewAUGAI%#8R9j-Zv#4RfGn6k_!T7Ook~GQ^gJAQeVQ!4G*RF8_|_Ax$sop(cuvPD&I?8M-7RK`}Bpb?7eF-MSb{r7Yy%rq1t7p?ubS0t +zqD%u<@U8;Ls>vWE#KM!VDs|_8NFnj|nzrAI!b@eiUn$Mrbzf#r7lztHfS5FcEF0v|T$oj(jWDD2MS?MJvo0m}cTG($!y|7U;RB>K@Y$;wD6* +jIiKm-|~pjWvl(JG=>Qk#Ze9lm)~Q1@!|G#FSY;!zc=UTUB^IOc(Kp82F~E8@o@Jq&UkZ5tm_{*naS+ +~ZRBsx$ge5Ejjj>W?XeV7$LaL~CL(1?1QPwm$xEnvjky^G09WL>Bv3BmI}Q>^0n@F&jWR@HKbS$l~FICi`A9xN&XmR-VvOgEJR18t~^|Y=6A$b$F7Gw;@t0J0wx!3dK +=ZyibGr&w~HhRQyag46O&GAHI_=g5VrL0C$u`(Td4Z!->7@F?brvgB?=C5L{PJDW0NnKu-mBq&XdW5lA3w6Zc} +*D+u!QDBqC&~CuOR+axuftY}t%6rwMNyT-Q=n8fx9#r=#;ak*RGNg1Hs@X!X?2ziq$tQ1mF;CZg@kqP +;Nx{FARg$vjexvTyI2Phl0j9Dy$`W=NTx|U=uvg_J9A4!GdQVPMa!(~!YyekE{2Z4&&eBF7nj@ei0Vt +IGXWf7f;!$7~LcuATRxHWf9LLa$+&B?v?cB%Iz1mU*pUjI0uL2vnI}9$~x+13q^s=DI8h+6CI!OJI?N +;^oan5h@l9-$NYPHz2a&7W2lXnxjL<=n8P(?jzGGHHi<5ZQM)+?!`32&UK?$ssXiR1A`74YsVAEtDss +wP6^eo{SjI)kvbh9ov^b?F2u5Ip@cb+4sqA48l(&?y%1wkx9L*d=(#G_hAgqoMb?Buq@da-*8QGrmyW +>ynIv*+M;Z1yK|eku3lU%DYRTrX-U?7{W9;=nBqFWxGn~uAP4i)xB1|1F*>!fD8%hQ&9!G0S=^MPTMJ +b9Y`QZR>E540=kUSmvj3!>Rt^cHkRs91R_;-0d;tFAZ1o=wG7q1xN7i;eY(I#fFKQrA=|Du3hG|VRB; +(44SJs!L9(OKJNk~J!<41SNM*3%f=ydOmS|;c0Ei`_iCi8V;d#~@W_=aRDqyZ)qzx*Qq7=5o} +DVx8-BD+xojk%&Mo$Hom*U@Fn1Fh*qyT8F +)lr}UDkQd$u`ZgnZGEwB-LVIN?uF4c|z-goW5l2y=_Bv2C*-*pv1-K!s}qUGO|ciO2?<#eYCVlh5Viy +|MbGX`S906_VcrMN|JfZY3diI<4ltALtVt_kp+(s=(FzuG-E!aYO@FjvvGjz~!NR23oyY0IDl$yAxL{h})syw3ZDm!S6<%6!N +VDSDK)r;tTQ5yb*Re#oTXsiIX3ltc^_SnRGYLFp4p4>?DL5mddAYB0NkdZnmPC6&ITvY;SJ8RW!t)=g +x2DG}q!rAn!cJubY2F)kZ)BVymdkO;?qiG9Ne|l|x`Df(W&C%{fehc(b&1j+?y1b%;D<%~k0kpR +Q7S`8=UOOdsWh15WM|mjydjRo_FNgI9zRl97+KU1}sYuY{DgNmUv_$F)?C4 +m>vBsnori=AIJLp!Too$d?K)NZh-Qv?+tC@>*ABR^uX)nv%W5$5bOlY@MJ|_iB{n7%^2>b(pf(h{i={ +Z(Q1!wERQJhqX*mU&$P*#S+9sv)3MXp({&GaAjpwpQQ1P!ACm;yh1QO?jN1{J{da9J^j$DR3eZR$UOcpxSfP>?+-!Y)XEfXfU?@)9D0k0jH-_mtK}uOGXX;t +teNe4BVJWsjTPyqL=6mzq{aI$gxTyg`KK4q>DC6n?VRv^(g8rG}M|3Wwv5~>ayz}Ds``+v=#5`F?nI7 +C3SKREwm~WL5FtTs_>v1Z5^)=uh%XUMfQGwA5`glY^_)4>h#8I(I2fj^CgzG&T-)-obz!)P2UG2hDsU)0Pw +>a4ar`3znwb4QId=d(>Wt0BXy2y*Tq-8?-fg52;i&A`&BzjMU!!+$MHTs6q2ee5AmKvf2aai>|Z;{ww +$-^j^6i5$w=sEloaWyFh)}Rj?+mzDm^RP)m72NtHGsUDJYWW6xyqMTL70;}#sC($&7>C)Gkp4uILIz|*yiBv_Q?aZMV*|E`~x@UMm6IMe%H +smU_LQdb2mfoq5jh@vVz%lRRL#deci*mXh3#?DPDh*Lm*&I9!&_|!nl;q{KV1-TnVH&h@6aWAK2mq6hWqtfZ%<{Gq{jBmOvH`b4c$_`WMw}2WL8Sz*|X_?;)mlGr)T2T>Cy4o)v@^D)%np+V +oTd+JI}=RsubsKbz9ZNS{yZtQdFII-TZI0UKi^7-QA|H=0)GMV!p1*x)*cR=3ob1PwT3$RL|$-$8z1= +m#t`)qMsO3wLdHSZeHA%Y}l%)JN31_Z(8$34JkB3D@F98s26{2TGjuqSyanMeP~lJ)N-`cec9f1(B +X@-H{w;&)j}T>ti(+zHeI>gtRppoYAb#| +y?%NA=2{${y%j$nUS1xaUBCTKwN;u{XO;czNY&lFg5W}^RkcOkKPti10I!cPk6x-Chd-RYI=z0Yr9U~ +nK0Cg;5+~=E;!s>1US6Lby?J$bDK6ezUYuVY9|&<(mQb-)=9H4XikE80yGChpQT9c(?(EXvD)V+q!1Y +3`ijSo-^SrDSqC}xw+dpx9_WUzR<=M^-kfHvssOv&@^HtG`u +Kd@gtmkSq#m!oQO|Pil+}$YsC~3=Lz7q3Nfut?(Tjis*^3|$0zGeD7DwpcZ+opZo`Q<)2QX^{LEr0FB +_hNTvH;(ixiQ?boC4XbT>Hcyr+SyH_Onubv)c?-ROP@*2w^V($pX~3{oRjXnjB@h{@7#=(nxl#NB+bv +%|CHuP#*So8S-O{fS*dK#Obhy3^zd8t__?pd3aVw#-P^7sHyX9N$&JRKFK7+AL%ZDT0^c(CTN?daJH< +}N`llT=G3`mCcEsGg?NR;HYxMv9%L+=^#OK^;ZLB%cY35!z({%21ksJKx429BTG4n@qH$xtAA0eArj7 +pBt-}?HaF&Yy_Nt?0PP-2jjm^DeSVY^=Gbb*!YpRfbz-6BmI^x2<@`y8A0b_UEZy+&b+1nltpWAqQwE +n$>APkIiO?l<@}jR?7tajNYh%`0;(8@pcC->to*Uk2=um@z^gC)C>`dhrIM(l?|I+-YD?aweR^0zmkQ +Cl(?ZJ6_@z6?@nueo+=4*3dC?NJwKKWi`qt`2F(Fguq=V-DWs^3t&%iK<|NaS(Nl-5)Zq)ERJ!(w8$a_$o-%#TOz#OlVM5wfCy +v3$OX)5BI!ViEl(KWFa{~BzsMj7$FiO>k2os;aj}O7( +LR7fOXP%)bOu1lxJF4wvFAr%1lmj@q890fNIcFUE?7hQ@g&124+-F2u2q5U-F$Mh6i4tMKU?^Q9 +Ge@N2L=GHsJaN?SS@aN5QiI$|EFo9EZ}F)WSMvgHTQ +ctcDxo#NnJG6K(EN|2g%od1Okw*T-C=VQxfJ&fQCT|Hax9W=iBoVa5sz@C{!QeCD)8BN2}PcxhPD;XI +mq9wk0a7#AQ)5kDYi(fQm(`_%u$Qizz~;bc{m$lx`ScyyRJgLo4sob;n~&_laTM1D9B(iGxPzN?~ikC$|0gusE`DWf&a4At4$2l*&v;lntc_@g1_2!o`#* +kemZ+t5j^60aKGb107_9vw1V>>^Sa4#J(4bZ~&kcH2F4IL@TBH;_)Z)34DPDnRfez_0+pt80AA$Bj#l +gt)>Zxb#%S>sUy6xHIuBIV8%4k%`tr8l?nQMq{GEo{Fbw1P}_FTu%fkVpDDd3ag9;Q7MrFim>`Y1v8$ +|F5fy6=|CHtx)6v-pOn(%5i*0YN|XC>t;*7{q%+K5cz(l6HZ%!f%(6mzJ+LBI(Gr41y-`T^ +nd8h##VFCPe+c`b7yqT)gBkWT!{5lUN^kTH{BR5-5*0wLk&QS1%Fv-;SPejJhUct#Z_&QvnYqbwr)h8 +aGE%QT|>W*kvC$vl1?kA|DOaR{Y%!n6!sV4Fk#c@EG{UliKROhB8>8#V0d|p#7dayr +Pm#_$1w`ZLOp=e91uLu@G&AjQ)uv!jp%8dWy1(Otwp9EN2pMN!V$YLA#y3&i-EQ{0FZ%()KOK@}$ppa0JmgXIXX#*Q`rLb7?xTk7gluY976+OLZFHR}^&p_sgr|8 +jn&Q!%wLqGe4|$X*g5#628jeBmEYFt^NNJIL5fngN2PNOUX0`=a=Pvj77aNnxeL ++WiT|YfN)pTzvn6w4V^{9N4HzPHGB`F&2!UAgRK79!zug0nddo7D!kNhPKpw+P2Q)=j^FZ{xuEH}Wq9 +nen<=G|-%efZY7Pw);ohjU04GX!%d-%!AlC=LOQ1EIB_j3NWg7O$A+05kkZuD)J7%4LyA0K|FX-J6eD +e+S#kC}!C=Qxk@B4cQJ4go6M%0P#33?h8EV9Z7iVPN})#ZAi8$e9Ad=dKghN2%hBgpI06-0Ni|JurA; +H`H$!tCCi^zwE{5PDi5*oQZ1r8nni72!k>>7C +|D8^^GV88+t=~HbH+TD5nTOeu&($pAJbHTA!k&&xZ%bVxot8Cdv!LYZUxK81^)YH#EPD!*3|yyM7+i< +A|Iutl?uPkIU)UG)`3Wh@OzUhu1xMszJLR$(AzQL{lJc>@$LCn2L~I$t^)up)Gu<9baM$rx>PtR5gvAsZ)P0iD+ArM^vAlDvjf|%<+XxDs<2eE9H0TgnK5 +QY*5VMcRku^=s4ZWgWET78606Dyi0^OBvV@vr~~`@!F^9WjPYVt7;8W&Fx>bm2bCRY=Sf_UGELF_P+% +Nhb|+#R?3u6~fjfjXd(te{p7@18ceJGgR1koPYe}!Pi6rP@!-yCHA-f3crg+(>^H-ufsPWUMTA9)U1=1GmU^48pb|!=d^81`6N19k(oHagusA|}{;6FkPiKZ2P +ev_RhL6YuoPcmBakCnhf&OucJC6|SfojTX?Raz`Q9JbrVuXq?d@sAYqN0_`*x1-32}Jm5w9PCGb!l++w!^yZh51MaqjDS6zl +1Ve(aXR?_2@w!isawlalZXbLLmeYZv5XyzoOCKcaB!JXypa!9aXR9#0o^!l=mWuZh#^pYeeKzFn5gq| +yb)@EUUN)=miu-(r)?QRy6klr|`Fgu5W2J0$IP1}Z?vPv71i#u>WuOSvWPjo^Wlwt!C;9(fK-Jev7&+ +1%5DPFGE)&ZWUbw9$q3;6U5dkPcK4vr+gf8D~%2CFnlR@g+vOKOdAI2h5O0oF!yL{5!mtd3Y@}>)H9q?C9|N_{I6qgc{Oo%6)7kmY>d3w{hmOzA-@JG^yF7k1yMB3jeD( +7D)pK=L#<4m5`tX0I&bgDPXQ!{#RL>8u4}%ujjyb<5mtr=n>Z+g3cDr)DbmHlM`s=~0Z~9_AYsx#Skbvb>$F3W`)W7d7B?q~XW!dbn!n{KL<*V`sdtDml&Y_w2^CeP?+5BuFcT9!TV$u-47J +QL;sJ?V%iLw&br{vk#&Z#K%TZ5P=`A1n3cRtakkcQiy*o2MZCvyV?`?Ops{{HHxJKn0t>S_-Wnar4-l +!RMQ{)em>yY?e#?Bxa|dJ2lT{QnO~MA8l0%E#^w%h>iA83T+tufa-_3c@Qi0zSB<(>wcX+tnH=esr8e +Zc9PGuZ2U>H?n^C$ei+>zQF7k5<;SYobVghz=;_ivV7puww|bGvq*}V`c2h?B>0aef`k`q3AhQNWQ7@ +Dw>iK$Oo|Rq|9UJSWENivO#TH1N6zi@e_$<}(40mx=r7T0^&|&?rE&EMd?=TtkqM +gZ<4Q`dml<3x2t$tX)TtsFO%x+5LN6{%t(dIBuHTNs^g*(7AH)eMrP8BqYt|TPr#Wk(y9~zGxix3VR4 +)jLDvRCSTFpi*16vD$G$6^O8UY(XEaKS&`+y(l|EDOMfy(W`F8C(cg2TN+-;OgFDk7W?Zw*ks<#^J(X8UWs&CmS2APA +QTxzyXxCY{Fg}H?*;wUvG0BF@XS)3{KvL=$&TO{FtzXoXhA;LB>E9dI}@{gr}WHjdjK6gz4vD%SIj{(BdKdMh^U#Y5A6=qz=Z +KMTPK8;PVFC%4TmzQ4sczQL=Nw?&xZlou +(!;NCI-H9c_$E!hdIH!?Fv-&*r(vBjTguT9r{{l-geyu7;A7dIa +#c!Jc4cm4Z*nhVXkl_>WppoWVQyz)b!=y0a%o|1ZEs{{Y%Xwl?OI(=<46{L_pc~TYt` +M7n{kzskkGpiGz&9mX+S`0)KADH1z2P3tnG9UyW0Q0=h`XPEq{d2u+lyZmPuSy_ug~Q{ip)@&71xo@# +*lF<5O{Rd~kSrc_==eoE`i_46J?Qy%AUUTAbzaU7SXVILH=S#D(~r{VPtA2+t1>t2CZRWtNM166>@Sb +FA6%jOcM1moX&&uD|IdTk2e7x1#LPiS?(tEauTtGqrJ+7I@5;SzbLru{h82dVHSisMHH_^H^!@nu>DL +wS0uB`%=6+crWB^Hie4bEuum!X{@-nOdS!B%QX;jltF#P?nj|x%#-bJIx +jFH)Q&XP)*5|*Sig%(!jEV!N$@>DKZ*p=$c^MqF9p`qg^1Hi?LD~17bt|I-;q}0MvGOUZ&!&A4OlCFJ +HGn$?8}wdKm96x+rPNjKfU_;5o^ITW)Z(yQ~a<*3N8e^%A>S=1aK($e0Xv2D_Y5|^Zkpf8JHms%T&iOfEd8;WnC@*xA03tdKWQq-=0MR*GUOcvrk`lb= +)xsH)hB0`BQADs8xM-rc)VAaRhEePeUwLYBu`N%!m3zBN%ANbnJ +&mdq5nYMP{L4}mHLme(lCMsggTDy^v@T%T;*vs9PWwY@!=72PCyuWB9$K}k=P(N&RB*4;#i6e{L>oJuv8pH|6T1Z*j3y2{RSR4`QeXaLZW +rEo7@J>0;+Une6{RIHFe-=ZX5c-{#hr{n7Z9pZ1|od*K_?e0i~ +9dJG`mnkR-mR=47@0Cp@2vMi3;FYFu}cxdy0EjshPqlaD(1}8_R)0Nh~KGfKo{;msk$2l)^fNbqebg) ++wx0b>7SZkJwiVA_^i3A_^iQXeY}d=0b>t5DOs|(inId(I?i2(@ISQHCQUJRA7l1!BM$iKh)@C +lg(TmB6iy3phvLBvwSvU)DeFirNDV9rQUei6J4H9XD-wrFa3&OqP@Z6%3WFRPk=h!KhMEZt(+wIcPC) +aBa)>@b{fL~P@1TB6xg)D=H+4p8ZUgVV=WXt6e|DumyV4JLrFNHTw--rmWJ8NFU5UzK7rab}G7^(jo= +dq~x0F^FYPX)ID^05|#5<6rs+&@zCQdhMI#Jb?W_3SUccoqUH$}80AsAJ~$t$s{LR4p6k=;scy3)&=+ +x(f$jpnJjA**?FTf9zl(?8hU2q|lBbyva(AAdn6?0lA$I7AovpDUftb+HE&!Cx?b8|OGgj-}#rv&qgZ +oGCkxsvEHd;Z87-Q<}~-X1OT+1UqV0OQ-q{hc=w^`HEmC2o#JrE%PKw?`pWzEdxJ%;!+z&yr;y?6*R( +X{aaSQp+FAUX^VD8k=Q<5=w7nAWzS4^UkXW$E2qg+}e~rXG +S&ZmH%u6TXMkbUojk}jYt-Sbt3iorkK~Vv9)y`gzNaXtF(SH2;?RX!XBGjaL~>H`^oWaRSSLoZk-1Pj +a+jtebW&XbFG6wI+lJg6YZ8!dumXGYZPkjy>y!HYu1AGG;AzOHme#`wiX6CNI_g~E?!8VPY&s#xrXJnCu(2y +|$N$=eb{FFPS2Fwd(B*!Rs3Dy=Et>5p=D;0tc)bt=EeEHeJAW0^5zAtc7Rffk6=ZHvd#(i$| +r0#O)(K5Cwkz;dO4TnT{~z#tRWN9N6=aWFGUH9NOq#qZUlG`}SewATc`=-vD18g?1hU&7Q1$d+c<(5O +?%-&j)7Lv8SZKH#@V_u% +4}`6nb>0lKg@K?**tk6%PgCP%D3bOe!C|rX3Dd6Ia%%^+sybMU276;9R_~DEL!qxf94dcwHZ$_YrKdJ +4$g?18Om^APod^yraHFxi1cl2SQHeq*%ya)OKqayauBj4H5@30$xW;^2izVH9Z%Z6|0gtgV0*GT{kXf +739YNLLD0=ace(ldNix9>2c{eJm5XwgTlfwK?bfN91>H!<79!`AW*G?BGM)#agN)^Y+JJ!Dc9r)aaEW +sJ!9X6k`EL*ezMFsTmfFe#Qwwgl<50s60<(j#Jm6i~ZuLA096@hKvi-=Y44JidTd6-ievDFVncE|HP+ +M)?4w(H|b%gn|Vq*+}azumHA{Rps0vdCM*-3PgE?B##8@iVc@IEUSzi9wwQ_U!9Y)y?}2dBDq;Z>t_ok~OMJl;I}TPv?oR*y~KW<=(5x~mK;S%p?!n1(B*X+J!nk)bbNXCVLBb +pK8$~=<`dXlMRzp!wgM98QTo>R{^NPSwO(m^(*Gyk?)|^;9~c+e_u>Nq9bkZ@6aWAK2mq +6?Zm?{Wv(u&AaY5ZBffphke-nxPQbB_IGxV&UV>{gX5h~Y=P{Cx53VDVs@M-*GU@9*iJT$SyHgW>_5qD7UBB#_AX5( +QJLjzGE3sLWE042dTQu?nv@Af{vLmiXW2Z?S$4%rhfc^J#bq&x=CPqR$<33n*qMSzh-~@;EB +vDZ9L{H1?;8a?&-w$5b~Zd%g39iSc*@6;AO@wmqA%Q<5#%XI@!amEf?q)tTK$d;kKmX(S^Eul-`pUj+pPp_Xoqv4~SwtFlk-u6~aythErwm@@QCi-^a40z3J>B^ +OBep;6AMBrhCF}S0&yRM`&e-1ZDcfcz+o$LIJD(4>Pua=m)05+~-A%^M;#h^4g6Rr!8{#Xdyv-2FXp2P_d#Uhl*{C=ez&a(8n@)tvNK;N_EiltfUvmbc^>;Qee>_UsquMf~qHh +mTf2u10)8B%bD;d{vyRPW8QEce-mtSCwJa2sQ}6oS7M0T+yYK10u9ZkZX!sCvh!LsT;+_cU62n3a3o$I +jumOe*Fl+$z1E?Qh=pbBZO;}sQh8Qx$OarJJ;u=E)W@SUVMi@y=bv{HNHK-qs&_Ax!47kSzuwsZy>V^ +t2f+Zt?b67Qk_=x(TX0+IvA)Fe+k}<@`5FbN)3`@qCc?|VqI5{5sl5;eHhEQ`1=fDkzT0W@MjNlX>;& +OxraRG4waRG4waRG4waWO!HoPeBwoP?Z&oRpQCG1N$iONdK~0mLMRNDPs5jv)bt1Q-%PbpY7_vH?^Fk +PC*Dnh0tFhzAhgg7_B1k$j2dOC(<+`4Y*ONWMh!C6X_Ze2L^MERmW^gjkYBT*62O3z(o=Fczw@jG~YH +N7i69gTsuG3^_xEASyKzsDbZHkSHaORN`FFFf_!9Atnql0pigh8_;i34^<8PrceX8G4c^kFu;$&F$M= +184QOQmERU&3d0c(wng%|k9e`5Rue-_Kw>n6W`a0k#0d02HVX)f5FgMreup$28jua>0$aRNbH%+kp7$ +e31)}ysNH2u+j0ow;RAiCRssu#L<1M3}irF5ZAFnO*pegOP)CYB4K2+wg#_Jb%Q1b)v1{HGH6g3qz6+ +0C@6*_Uu7FnQZui~e%ras~<;;DydPml#&vI`o%BpxMVBcdacBRCWJ5eZhrH>}8#2nL(!Bn@Bq<%M5f_ +{HRx7ka2Uw&u~F+2Vy2zuZQXo%9J#NWzNie&ab9FD@5P0S0w +{FR#+g8V8K?oo-aQsLFQ8#YJ>=hU@DEJyW4Oh+XVHlL9Y+fkhn<59_w;Z%QAv<+2wCRZq`sA{Xi<5oq +HUFxWcb-*hM@fLANRm~NTXfAP4iC2|8kuQ}!5ipfLkuYnBnEdbXP4(#s#bk^2Ve~NyQ3R1S(F74TQ3a +7U(M8yB4Y59P5UmCj%z>y#%OlpRc!L<62#J;k;*_xA5t@n!)pL;8HhqqV?g!(t0$6Or{;pd-2{bc-^D`gL0%R*%7=8CJ4DJS7XJ);c4?H<73E#M}G +z{3~X`6&tVbvpJ(QyshCY3^1>ZMAzL%7L&AMply1z1>$iQD1^&i40IOMnW&ESRbw~${k*8Cn^)`PgMJ +N2M^B9djS5E$9Ff4eC +_f89JzlEh;?T^$Hx(*EmYsi9ZR{`a}Fj!9`QM7eot`qCpshSZ`tREQB*Xx2t) +?jMI$xgXh;)Z^2Xf!E%X)g(wkR}eMCzTXS(zOR`kvbXvm;={Ky{kCWNFRGTWl!X)NpB9zzs`Gi)2s2% +!DTl{MExWBGlg4#)0rnJa{%?nejD4=E7kc1N(`$>^_M-;3WxQnHmcO4y5jn`kBO`LT>ZijijPb?;#NMnXN2HoW8kT*CmtGtWMMcy| +^6b2G`iv~Ljrh>rN(J-=LW6c~QI|{l?;VHJU*-%$Mx9n2*(=K{$4%EKe+lf9pJiGc`u;RWe#H|J0dUr +v_j86BrCt6n4-fCYJGWulFX2D*l>@0Mxaj7vF$xfn*ir$@?bL%M$B`)Ep%6FZe6vt&|QyAgJn;F< +|1|9)3bCp_a-NGBVyn{uZcF>s2LU~uyMik%}iJ~+I=-b;Xtp5N|g<58~+Xq`j~SgvOlzV?gG~(G8f_W{@Uk4#lu +kY`cEXQ9LBS=8wKu&m_6R=o7~pR#0>t8XOy*JJEe@0(h$-mwL5_R?2CUd`#P=_!5T0bOOD{0aH)w;d|M@_wF7qS?hfD-!ym#6|W01 +wfi_j)(Luj7sWT9M3P}^qO9WznH~k8Rrn$i)KaaEAxuDyhx+l7&m^a-%|dqx~E=MM*pkEgjc@zKhOJ8 +zY3_nO~2INg|7}i2ajRgH2YD!B@37MeNerj^k}yiz0mX=yxu=Memfe4@6aWAK2mq6J@UoqHX(H2m%B4x*Riu +;gelWwqS5+o^#ehL(uNrWnrPm-JZ4)@>hq2Bl+$#ohn?gfp&NG3VY%sew3(uQ8V=>DU3hwqP1>E!s}@ +bvPK-kqEs{7F4?UpO!5>R!-U8s3F*5Ya)h5EN$gA^ArbMFBoPJgnky9^^?%^C%Q?PIJuJaca@yILt#x +{w}_XC|Qb>l3U6t}3Jo?);tU_tWs(*j08HmeTK3OV5#(Y)H|qkittv<*)^ZJ1_c^^fcuj0 +Jn*yS9`VQ?!5naf+8C{4>q+i9N^yDCk^EA9!!Od6M>pk=keF)MobRI@`Y4|{I2o~m)Cv?8f?~}OlA5= +x*O&X+Y$=Yoy1ZBx>{s_a~(mGkuJcub3i!dwUK}1eLy!b6iA^(sp!rQg%TEz>vBdyLw`jFKezCZm)Cn +AHT^j^dwg*WG`n<$(^_#~W*I1?0Pw3L0>y<+M}8gf|~LPrVU3wGa<2r({oe-&wl9^yN!)>a|9gjl}{a +%n%Jxs-yhVf30JL?f*wcRDFho-Qbi3)p*bj|Tw4(MO~e-3VG`;&v6eK)_u3bbR&4*~cr|KmAOf_Af5> +Pp>||#au9rQN*uA3Lln8!3DvqG>G#x3>xnO!6|6yE~!Apw&Mkq2Rvm9BqAcrzFnE$BY@DiG$m2$4|~V2Lc(Pl{ob#CL +_i5K)A_rSO*GBzNgC4Us#@zE*UBqT=f!>E}BxjTt5d@s|i8xP^UbuiznC8^6R0kM7X(+z+oY#)?7{&}eKMT^&g7p7 +ikWe{>E=cv1p9N{4f`k({zR^YXc?n;(k{pNHO#FQ%;41W#<2=V+61 +;U@w{R<6&Te;<)63X`Qw=!j>R2LYB+c6Gce3X(_fwUI3j;J3F5obR9PuK_j%Va07yJszICzc?lq%c)p ++s0>~Z`GiEF5QE8UF+N~hQS=hjoHM%myuN}Q)?>$1)93LRY>c-j-UdX!y_1<&As8<_1&&R~}A`oES31 +4O~I^tSu-v6_{F1GcpVY?B2gYCTYEVm%f$09{dd%GJt5`!la{#53Z=8!LubjlO}b=cLX-J5#us2ZLC^ +D;DY~=sG>Oj=pC^YZwbWOOMi`#ynTm18zsb&aWS?NZj=d&)e0CyZTBTjsqRptU`6Q(lysCaJ3rk>xmq +gvDfq5H^#Wp!>cw#MS3=gPuJQJg-tb4@uO!YtE1p|pgt=T^}X60W3FD0d9?tBIv?0IuPYCf{`zz8`Jj +uJABaMCCMpXytc539P}W}igrL_XorBt0UPukI8qJ!h*PgE2)T^@Z4qcUX0(GD5sQ9k013cRTyCRv^aB +Xa3Mbh_%A6|`mr1i`*vycB}9N2qtZ4GO*b8Y|Tm7~MvfnNFjM*m-*2kPX#X*KfdILb8+de2BdxHs~Ki +MsOp2AJ>ahhkP-L!Z)^tFH_5yrQB|de0QV02XxBgL=LBjZWTh!Zl`w4JUJ +G7jhaQc77Mz-SZq*t+jJofg`$AVe=x4tp54e$uwa)fF)GjAOtp)vL*v|e<;>_lNHFPmo&ka31=Oph;bSshkX3>~yP~G+O%W%J?@g~FCWxdS?v-&z} +q6wukfoq>TqF_^Gp96F|bcQ;1XI8&2Bs~57hcFD$@6~Y#O!dfn9yRe+`$)n= +~`)Nq4$sL0>BM?HvCVUwQuL0bV=RtEI)e3H5sk|8$66wqEUexkr7kp}JCFDc?0-$d?|_m8ao12$-)t6 +w~tcGMop|^)ksq`KrWq@s2&_dONeJd<&zP^+kx~wTSQJE9BRa$a9fm%25zy!mX{#M1CCy4*~<|5EC2u|0001RX>c!Jc4cm4Z*nhVXkl_>WppoWVQyz=Wnyw=cWrNEWo#~RdDU85Pvb}ye)q +39n$`$fax<=S5)xXYRiHyRT5bv;)K8H~3b5MP8QW<(JDUH#-?8Jke9H~?VJTH?SDiZNJJ%{BfA~=UN5 +_M&XP0z-b~3oU8PM_h)yco9f%b#(fo`7_U4`zG>pLEu1QSJWL>Iw-T+egp&Ub&RFv86E*$E>R(?rE;9 +0wtdL3&_h9L{_(Z{0%-GvkWpljEA3f&j_L{p%mIH2o +!{2cfR#m(~^-SGmR50)AxHdzn^(X-?G&NH0`;e(2*bhQ7kj|=m`;GX*sI^mpc{}?JoQScbQLd(xI4`w +uWdWH`4iZNO%SW_CCXgz_41C+RRp!^tMXL{2-mX*&mCj&xjR;Vq{ +xYA%45-UZuV0Ka|fq~{|s8V4YLS_l#}~1^;|H9R-xm^ +a{vc}i^1^Z8&>p>&(6NY{76>#Li=0sO2~W@0vGospL&egw; +x0G31wIj$F_s(*)jBLMU!^z8gpaPwFp=O*MJN~ZIzeCP%KQ=%`HKRmeL2Fp*~N3cHif*>^MIEZ2|Fw#0>`whgqzC#R-QNIKb7e^Q8V5s(2Rq$*_Gy(fs8BeD|j_e;m)8G +(;2DOO_8RF)D2K8ibQ%p*$iB>D*&{_pUz)UZYO}KoQvf(+pBLBbCR+B?F9-GM&2MbL%{K>d3f1yW|xk +MBH$6do{Wmei;l$7yWDcllBeFn49%h?L84ZVr{{uzB3!aY;5x_o!LlcBhAfvGaEZaL!F*UJz>%zu3Zc +F5?3BOM8|WdYYHLIc^v%^YkE+qn<~|^3_1jf1dDD5)3|mHO<_rNu;{k16y36MZ8xH6FVM6h@vsFJEE% +j?ERosrGsZz9EJ*G#Eyg>zhqtKJOW1UPrqh8Wi!%4WUBw_$cNC1}>-$ +PQ1*tROQvGz|fmf)^)?pf$&$#H4LuA>i8Fc^-^ywiIY=7_tr3ARGu-UktR^ +xjYFX8xm|t!eRn5vcVLcI#3Hjq|HKs8gz!Vc@cVxi69vUlwc;|Rtet-z?AThSQ4BHD-+ZsVkAJo1}7fJGl3Rr8^mD?LlG=ZY#_nRpaRD$j7Wse(Lx-XBFP%Tw(50~XfQ +r-RlaT4;7~MspQW(u) +2pl?W-r0Rcvbo3QSv~{k!pPa6BB`kIws-Uq=^LUk2w%`Lj&BrpemTbR7DlBSO&O0o!C2>4Qk7`I?f*q +=`k7%d54RV@ji5()uPB%@7MnIcICx#1g1JQheGOfn7vkC)()<#0Chg-4LW~_+AP@2cfu#*JNqYB4WLsD|0^JKzlTwXDxhaCCdXUZ +u%^z=wgT_dd8=w$oX8ei`^hjvV#vJX2UXZ0|%nO`hEo+`goRdqGYhq%FK&)(5;nynsCIzKz+j31@*LK +PUy)AMfuSnapwQ(S{YM^@~+jc~KHm-_;qIK3F5DTxDqaahaAsfpGsxsFisLu(x#FL`4&HtSjiXPXkpV +#BODz2=F8|K0){e@TSDJ;SAM1hQBYSIH}$pz>B52UZ~tYz;+z6sT0B>dBxf_SVEfIR~*V3uYJYWzwCW8dGXA{LYK1M8c7`F5x1)8i1ZgwQMJLg%~&O|+KMk_nip1Qz#0U0qr7 +HxX+8=)4t7RRUy(Ak^lYdXv6UCf<5l+jd~3pS|kNxI2&qgE|q)a +hCmkNLk!iXJg^ZadjPm`#zd%gi${Kaiysd3z*Ur87t!iefd&D$;u)$d8y+SFT>V+#BC~T3;ov=~PfK; +@g^0uKVSkx-7dk7mB8_%yQzCH(g76S{^j@S1)Pmhd(_AswwpzHds%zDk3VUH2uVs*MTgo_5U|6wzloV +X9F)3rL8(_z88YB4WwBNCSm5eQbACz!4T9?Kv%}6*m0sS +N%4wcI8F_`@B>T6p!Ny+LeN$^dP!1`*tmGN0*`TiWHNPEffj}0P<_Pk7P(bj`HYjGJzR9kLgI$li4Ut +&fDXUveZmsvXK@~x^wdA(RMk{gfZeA$HK~Z{*7jlSoX`8dHN7|5$o2&HxJ5&9>kk{=>F1$N}{|^ST$U +rOyi>F}AET>L!WO2}ZvkKLkxLtN^m@)}jBBFNe5hvAxvq@PsvtZdqwH`<-wq{7w=>ITavr +uuVYddHtn+`B%1pY=^Wgz7c@lHyPL+aTKGZ_q|@Fbcwn3P&%_bnl27zvkkPLH4HnMc;(KeE@kJy1%fZ +^5H{58PBKg*zrcwAaePmiBZU(q=DQz=ymynjD+fkQqz(0pZHtNk*DHVg&;X~yhxcD!brs<-+57(`0Z8 +uMD4ePBKuAavwNwEd#3S^@n29&0|XQR000O8ldVxv!@*U6)d~OrFfjlCDF6TfaA|NaUv_0~WN&gWV`y +P=WMybDEbsAHj +@Zfk-U=J)VtXKzK515k`nDWw_fZnur*Xm;&6E8%$X4#=+!I#Kl*U=@#Kt7PY#dHu8!!#>G|PbX^rix; +1yjzNIK8s`#6mfI?QI0;(|VBe~*(S!u8|hB8{g}ndLN1VwsjSh0R`|r=Fy78Dr+}^1Dp3xy&iMqtfFO +_GhvzrqNtlZsRO1aGB4ue02fGbdlxN{b??vQqJghx$@XuD$13w`4US#l=SBCE%C`@3>RMWJvvAdx>U9 +WUCKh{-{q`|AS|iO=wewuWN95gs7m77Jj$1fwYywODzd +xs3BcadGF#9zN-3AKxTxHNh?1go_FI-?{$nC9Y +~*_8o|gg>>5SrZ<@N#G;{*;7=o4f`w~`ixyjvtacz`W^J-PmL{^gnu&c4ytgUicS58I3q-rM`^hPa5(sUbb0s*GY&qSoSs~NQ|OORuFsCHuITvuk`CzN;PU$9@XP7JC0%^Eyg0u)+9SG +>Qd6wR^pV_9dTL54(qlf6bM4G2EhN37!iOiQT%3+eF_p5j@#Sr?Q;yX&SvPV +yO4DCRDo$SJk$!`y$pYHW&z+n`ne;BQv+3 +#C6l~(~Ai@{*ODyuA^=|hx9Q;4Uigs>~jc%0nL>km@+Pm%m-ga*?O2+ +u=SH%g0;zeKTLA({d425?#4&T;9qRso?A>%V(>JVxJf)d7|(gYDlQ_`8?f|*B|u)>f`1JH~Y#!9U~ay=wsp#hC_U-=+|JW5D-@6FcfgcF`3{{;G5&V01^ +TMfpb!0%0|tBa~cDIz{OA*D?`Pz3JDH4CJk{tRL<2T?nl4}lO7*392|$h5#s3M7~mM<7~vS>fZYgo2$ +zpwH-g=$4+kR{j$k-~;RuE!7>;2$hT#~7V;GL%a16UK?8dMg!)^?_34?D03&k|T +5Fl0vOcI!+GSgS*m?+ekA{VwH76~~VKr{mR7fKuh7$|{&JOa4_!V%DgP+|hnG*pw7Eyf@`0Z|1sR%ya +yFe>^A0Sw1#5a|Tl0;?0?(^y@Dm$6bIY(PAL*g!zK0%{bHCAtR&V5l6a5THf@ISVE0P=$&~LS6HwN`k +jR@D!&UHvjJ?|IuzD{-?XipX?&Ki3IH~qDoP95>+)j=qAH0x`}E6yXhuj)lF0#|J%BWY82gW(yzP8pz +bCLji|dxXmu0SD6l$+th$NnEF)hx>A$#}V6%%KQ;FWH;CD_|Vn12Pzb#}smBl_p#(u^9yEw;wYQTj(H +tFw;!r|DAb0+$h!C+4eMW}{ziBWs1`p5Rh<4Io)r}7?~By4$Y3%17?oBSFyt?o2R?<=^f%duX#@xz}P +4}3R;=Z>h|@zr_tQRjgf^iAg0wQ-@o+3E}uV7)*85ja)|_!uer?a2val6`uvS +^MCb#(4=e*`%jS}0dJcGcE*j7Jx>O^PaMYXUA%bHqfcL&}Y)7Px7mls##MkV?+;j52ls&SJN#U=#yYI +ZjeP6onScA>4r?GZeqL?4E(N~&rUKi>~51SZOMzN@%-&-5Z)3mXt@(x0a%@*eL**{uarkIbqC_H)mLE +fDB@n;uk!!J9yLfuLK7qRC2Cb#?~A`mw&tEcoIV&NIO1(yj%kD{o$96S}~xZQ{1OvQ{FuaA^d)t%XW; ++*;q93u|1|->g2{#dE=|V^(F>lS%jA&|0^0wKfYcelm4yK{U+pMuoiYMBKu#%Uzn$fnmC;1(Sc#bCsy +Bc9jKJ@nNs6344EL_rzW3pt@nQps#fIVND&fx(~P;qTTdF-wwrS-dx$y?_{^$WI;cP+N{x5!k +$M%7UjBTn@VJ%*9Y=K?_Ik1nnKU*^Rl>87x2Fm4y>^n*);tv%0B?It$&NXyWv9U`s17eoYnFPh#dwHA +!tku-P|NAe{BwmeS!MbU4s}yOZ4A$%d}%dwdu?9Ua)ak9IAD-YmF}x4>5e>pQd^SW^oIYP*rK&YE3rw +s<pIfLYGj^Og@Zu%LSbEbbii8wx7(W +M*{Gw}ePOIo&`yo}cVlP?y5W +a`bVo5yJWdY?AG3EETB=IW*2nR*2RbILsafoa_rAXcX3avo2kV58;M3$w@VRD@>WKY8^WOw@dQgQqI)&=y20_f7yL5_zP8>(dp7* +dude-9gb#?b?5TLCa6U)CzW`860|XQR000O8ldVxvA`j9(@(KU|8Y}<+Bme*aaA|NaUv_0~WN&gWV`y +P=WMy#li>`sCfgA +ee`_)hoV?Z$7LBE!3P{r|+L4`iIys_MP`m+&*b>n +a7WD8YSW=n`sdj;yn9ToFoyR=ksM6Popx+#Waa^T8b&g3_LUSG>yv`Gk??HbdoJ}F0uzv_Q=He3tbk| +XrY>q6( +>^sKhzC`-#czF)%3onrR@Ekc|}`Jdt{P9F1kE;3_~Fe3P22_Ol}O-?+{_&GQ +eZ8ei8!sqK7o7OKp+hLj<6EFw{AUv9#NI~8QlB~om(*+qQ^bf=h1q_8*sehD}gdrrr)p7Kwf4$b_GEb}K@ +IVx+`90+BESBlCTt;<>R-#*x_qrk#oPE#oSv64|hyW{j;x)PJAxo0%dyG-JE|y7IIT})8L>RIUdi9h7 +`618d@M;pzV|pwi#Gw{D@_ctdqK=GpNEwR-iMx&N6Mf*_p5Ba9K;5_5WsVh&e(`s)Nn#|43H_frNsJ;f%HQtXEGDec$bIF@V1#pwGr%*o4RP+_S^8o^_vqiJ{(YPiA90LRR$_*MC-> +33kLF3>3tYtnQzgVoh?+>8xS!Dda3h+%8jTnYeKA%zFEMu +8_LBMiYKG>b9NkTC(B@WOmni +9{Tpiz9)ugAd4vehPVQvs0LvIkvqgdfp#KOks|bsNFbQQ5`X~Gghok7&@n;>*-it&i5Sv}K1pbZZW;% +{BV0!z1b_&HJsQzT<|xvJbBH!@AVShc+<+6bsUdiPPzAJVNC+s(K$IBL61Qzo8p`62vRIJYn8;wERXzZ4a_OR8x5rJX|q=UxQ&9ADt^Xw$q4v`f}vLRKr_p+luupES +b7m4c8sTvbyE4C7#m`2%h&Y71?XZP^9KG(vqb*I(O{ZeD_EU2(WVZ3i6ljGK-*Je~sHSONQqk)56yV52}y}@%q@cIVx;5+2@WI6w}QoyXkd3E1P@Im20BG0+mecd +PWLtKImpe*^uk{-K=>E3((~E-o)*nhgJZE%I#4y<@f`PqousvNmO*Zp=FQfM*7qWVvvAZTAHeAchCK3hi# +8p26TmqD}EUN7+aSI#{Ym3>hdlE3e1mIxEiJsC>IOTeFN~-L{aMAbp$6`L6t&9D2L(rg +aT47OXhT{JK2Z%9_eSFptFGe(yGXiT*eVWeCNhMYD6A>vrH5mJ%{6_zzs!TjtIoi;<*toEj; +^~qtNu!rbMX9{lmgk +&_MME!rfkL6qiigCW@*@F*Dsr6q@LqhdwE8(??-mOSl{xheZkdcmXF=9`rcgD;=qk|UMq86l+$mF*m5 +n%cEW}@;B}%&t@bt44(~4dz}AVI--=$01Ea-eCc6u|3EybvNzUunD%*)$Auub!_||H%FMu}b^B8H~T> +G?JPM+t%vvTdbvDMAXaBCD#yx#K~w)O&l0k*}SEqdJ|oWGuS-dL>Gm!qQD+N@T$*fu^_Y@&@yJAx(Ew +;e2ycqOzwojsBGN(5$WRXz5ZiiDRs%IDj=?9T`5e%SQB(EbHO`L5=m!@iBf?#po#iK^Af-_pAov6lnO +dl#}|PxUYNPzQl=B$wTdjs93^-&|{*-Kxw+y~}}Vll7Y`m;TzA^kh%$t>@mZ<@T8^rnl8fp8Y$XmCCa +L7yV3$6F388CmOnD@D|V3KC;!uYXxh!Wj?T*M}a8uEzxB%0^E7ez-u%1%+O5lGlSucY^UMv44B(BGVBjAmZ$O{|Aer3lifz +Ly&tqt)b?bgpXR{*?~!$|E}{*uJpUsEZxry_3AWhyectasV{h8i`Tx_>FW`&>op%`(WeRKvxI+pLcFI>)b7gcE~D?X?&i_r +{ekHFe#@u93;Nb?MxQ%iWSPf5XfXfSp&C`L7V$Jn?iN`Q(>D@#)hDhP8Vn|iKEJ3&{i*fhPN$Fb1?OF +&%TnhUauOwl_6@K?mv?D2*XZ~KpgsWAFI8s(h0ExXI^Gk2_rCWZ@4rw>0|XQR000O8ldVxvwKBtG$O- +@eUMm0qCjbBdaA|NaUv_0~WN&gWV`yP=WMy(|8Z)9a`E^v9>TFq|TND{vDDGHNAk_ +GKyH!WFmum{IuXN+-d!*(#p$)KgSO@t-|l1idk>}%|M?0s*u54K-ZY<4w&6vdg-hM+|@tE;QN`l`C9= +mqWkZHH#rJWd}DXj$IxO!SENV&EUWJ$`q3PG_e_$LH6_^!DuH=rO!mT5eT$}Fc@605Y-rl?)dOg&BGGRDkb)Mu4s3zbuLPi2oz$e*jSm_-Z4)W%s_;5J`md36K +DbeZMr@ma2-QqAdZRcY)l73EsjVuht1OL}$mn#6QEfr?)7T{=t>y3(=*U8zFlpVfTr$x)V;d3?8oo3D +!32N)rGALXCuGEN@y_=$E17M4_Ibh#=Yv$T@<^Iv~F{P~}p-bTfz|Nc9L(9JUc6c>+l7Nrl%=s^LPHy^e2C#N^($Jf_%a&bk6ba{ +Anb9(gQ?C^>%KU`g2Tp#ZeT`OfE)?oI5+(3K}l}{OvoU1a5lVa`qM})V4fyta6qt6Oqo~ao0qX_x5Sb +bLvlPrCx{KXUt=o^afDa}fszT`2u1FCkS3oSOjJ~Cvs>(fX;C`vyi2*EX`pTzf2eUfBZ?$g_>D7EPOL +(C1N5W$WJ13~oR`f#uWy`basU$(43FFYugqtU@S2eX7`k5L}YK%Qbvgk`ael4M2mOcmNeQeVLvO&CqH +QhhBe4SUdlP{+u+pRZK8%+qQ(JfLFrbO*h!7Rz*2E~7O?E7gt4J5_-S%)Vs#yqYKvC_qL}wS7m%Bou| +k0)?1vqPs*LcxTX-j&AF;*J3x>MUM1@9Q~bMdGO5tk@NpW0m;y(aNnmroZ%GrI7brKV~pYX2+zlXPeR +}8=eXX}*V6ZBZ-R#y+}pzh2!}$`7N2??O2!!5gM!g`g9U^MQlFS4Fo|#qTuWFa^>ZkYSU_N9!o9#f>3 +b+32~)L&?4-nC1(vg^tv|@4fcCx>)EIq3 +RB*IuZKP5357epZ0(=_2~La$$AZAIz*r@Fo=Klu>9yB%4^fW?bxdUScWuF1nYZ>y_#D}`-+aY@Va6Z8z3^wi$LB2`36 +R2GX%$t`&K82xUI5Op3J3vB +374}yji+u`71(20V{d2WGO&7`tyvZPWF^kVR>iqOHpGSOgQ>w#$MfvJ$Paa*j@d3zSPk@)7mU}}-w7p +w(MRqoG(O%}P&JUM8Ap_r-4CMK4nVzULpVVpU7_C{WhIi%KG0~s%-=DJ~`U@N$kG07yD48uUMy~fQ(Y +qY7#qWLsYsIu{UBG5e=3{2!r{)>8L(YVA(#ByQNPS|IS@LldY7KqMg(BvL(gd~IWuiBZ+T0H7ugEc3X +vB8kcGcegax4n^Qg!@=2xCOih@rq!}jg1X&y#_1Nw~yYcY%8L<=iE2>V0$FNdC=$Irqvq@M3aebJ&?` +%(&yFE9A=mF3`y(*i@Po0CQhomkYf;l5}FhEpVrqe#MMAyYqAK@LYf0Udb{*`nKq}IpGD3h% +Mlvfy(AWw>M#LZT4Nkpe>u7C}iUH(<<_QEE59r-Wd3HTjjg6snfQ_w>7e^NVX3!B}6u=B%8>ayB;RmE +?H7*5g?`VzBML!-xb2GgTag9X*kXIvdUxjDJ(CAv!*-*e +cg5Co6C?Y#;(6c^A&R1}7ec=s1=&)-$<*QjXQCTaw^j@=vHdlS%|_X=z>>VNfUnklwXvHEZ|-_A;1M?ak8sLOy8t&#?9$cE{ +2>-L7KChV?y>C?-6+@%ml28k+s;H@7Y8h`K-sBbuLXv1or>hLkvG&lN8Ai;Ss+`CkR5KezdvBf)P}JA +9=S0J{JR3Kh<|UlF&Fyx0?S1XUeHnG12YA%Tj(}iXhosj;J9A9bY33~5BNHwg@Mb69wu7E-H_R6^fR$`!F_jq_TF +f_Kkn<$bXHW|w;{eWxg)_42GUvAU3Iuevd_G>p>0ox*LEy$1Ibs}te!D(+oNrX*KVM?#d9dI-(`VYE% +>-+ymdEG_l+g+-3^$Je>Vngn>^|BUD<`Jy`62Ka{sQg&Ec78T^_bg?pOV63>pPC7rG?wW55qHQM9gp+ +=ahHK|j9R{YT=DTkzVef6G+=I>G!h;U6B+OZ|(i+cLY&^e>xkpQ6Rf1KRY0o!dAIND?NqtgkajVh?{oBRcM3tq=wZeRKuaa&KZ~axQRrl~`?W+DH)o?q4w~Ur0+Rh9o4-opj*f79GJHhE`EjS& +ms?731aBOCs*q-;CdR4Itszv-8X|Z)aSd!0p;QC;Q2 +?HL&qxg^ez6;}kzcCr&iZ^#<$P`SNVxAHbJXEb}sfBL96-TuP_Qrg%WD>*_)E?8Q-)AcH+$BTNVzCOi +=PE9O5Fh1I$mjtL!$8Pb?n&k`oW`l8Q5Q>rt61RJ5??HRj)pNR +=>}?zj-!Fc&d~UQh*rDX>yDntd$T+0cWfI>YX~hEw1%UuG48d7Fc=R9mffjhaT!ZfOv&7r4*C@nO`6L7IZmg}=>=!;+$#fy+Uq4&V25C~O)cgeALuswIGi&pabR&Z +B%)e2nesN@E(K9;~nxXGtz+Vq8x6=;i4k?La$v9-Fc*Dm!&O$Qj;C^__jPXFP=mrqI4rV=+zHF>uzrF +g;Uv3j(}3>4Z-4I*Kp$buC%eWE}sJeb)EyG_%~Vdo#mXpNly_!0huD@_|en0QkIC`H?5$^$mhtkDk?> +Le6Vhqr741$7d*p~pGy#3fgle4i;5t=qWX$k)S#>*uS+Pa=y}J*<(+;BVrc`M7T3`t_dml%4Q5h4t8c +g0>0W+*ysWMh|^U!o4LOCCISnyVyjbruDGYf$mTqN5UW}DwZ{TVF6~La>|9Q)@t}xt2NKZ-4f0`8>bV +Wemgd^&sQhD`uThf;%l7G*C4(|fe$-qI{}j8i0{fg8+T27*L(Sn#&=D8*Bk +NKA6*D{Lwq+W--nPKM|?Nt*|;Y0HTUuzjju_3%|d+meyXIAT8DAB#CN;hFZg09-bJ?Zy9h^ow=rK%^> +Lrw5#QYoU*=+T7xU3wL>l3U@9zBl&?3Ip`TLQ@G>OkN +wF`}oGw==Ygvn;Ek54*2;c0b^=LDa>GJlP-I?4he7m-3ERY;cOpVsI%^$`#Ge)PjyqFq6L(#wus2$X8 +dFS$g1L@w7V$G?%4OtW$1TOzI#HPNHJntJjrYT5@i>xI81itbc)!`jf)x7hUp`_H4AML#Vnr4}7`ATC +IJRxEFv9C3;xgLwV}$Kf~&I!-xc{xp%(CtTrFST35VK%`R55Er>JE>s;PRSq3n9WOap^+mw8lyJ=Z*Y +WVsP1Ddm4T;02Lfe^#v0&T11B_|)4-!7te#2)d9*i^njTBW2w6QOL;ZYoOqSl#b$r0TN+y&cqP%^cW0 +etG(*5&Q(_1&fZ>5v)U4Q4BMcF@G9JQq{OCXreNr&YxqoEHm#RD@whu}`^=K|3@WIV_mbnCrx6^st=4 +Gc*lq9?hNUQf`<&8)@D>Mn8MMH`FQZnPUD@crNd++-Jy6?iU+&4t>599NJ{Yu`edaIp^Dst(ZQf`3T) +Bj!V_PHF6$1JBSy_+*fVaMzOJ;>ESng!6|Bw=5Cwj588IQBS;v}ZzQI&&#=in5ls1n1>R1dV8A(u!rl +|rW+D=*TD7L<{PCoOt+QH`cO$$g(#5KOL>_*N4KxX +LP99*zT2FLHi$2O9KQH000080F$jzQ8slLP2B_l096eD044wc0B~t=FJE?LZe(wAFJow7a%5$6FKuFD +Xkl`5Wpr?IZ(?O~E^v9RR_|}(MiBkZUopCa)?=|SU-R=OQ(!538I3~y1CggC!`jx{Slb(`Bi$w~4^`!9`Cqz%a{ +zg*~FSS_HCqjmXjH2n*tdz_wW~(iJ{aD$1mGjLM$_%Djsc55wG)<%v98`nOu~=wdZ>{8!W~M|%<~!)z +&{m}s_>we-BH1Mc`3(6o{7q^2uT?0btvyO*2oWq-!+M<@lz$k{X~YTm(F04?$Z47`ViCZ3Bm$NRlb_J +Wo+Yb7-+@hJwoilx3h-G?Ziof$ZEV{UIHBuS=MZg=*n|L7_l?aTJ+QHk4J5s#7&X)f&uR$@rXdNL!LC +p-d;lPben(Hzf+mLC#Cj780E3nGrP(5J06g`b-X +lD^cf--peYV*ThVHmOo6%t6P?x4%#~t?Oqpm~Kxig*2`YlwP`5>_svr6P#;s}sy1tl>#zKD|@^=FhfL +4t8eEB}>I=72G3A^B*V&Gub2jFntweBn|EdP5>2snBxYwLtHnXG_%uN>SfkZ#LW +(1Tbh-K0B}7;E~}g>U=1(`kR|{NC;m&1X2d^iY3%|C1Z(s#c3MCaJYwI2)}NV2|qA!Rz60#%7uw?hRR +{X!^Z@y%BObGw3#C=?5zzIeV+sYC-HL*llTS#NF2L30VE)4YQBAr4JuIWPht&a+B;s$Psy-z_#(cdct +wkM9a&i7l{~+e>+x^_o((sQf#7nHExrvd!v=39pfB*ZWL&+Z{^d2T6#WK(Dny}yCoa>)Dnvc8hOdO^4 +5b&#x)i~AaAh?|uusd^0m(SSO&I@ +6aWAK2mq6P6Z*_2Ra&KZ~axQR +rl~rAj+Bg(_=T}^5UO=K0=vHcX)CWj`(lQVwpwVcxLMCy*9b-qfGo$p^?=c?(0V;JPAtm>odwlOXwz< +2z{ZM}}8c%654hGYBK>f)q_(8wH-qr4CzTq@8Vl5Pt6zG(bu=JpR2`L#Zlz8FBB9m;GvD{J09Z#G#lm +ObQ9T~<-I04vK{=%isxgnjAyFm^7lslWSoFlZ|7D^<{39T$XO|H%E1H=?+vyUf+Gsja}l{?1krI_(td +5NVqj_N^!y6tuc6gS~5>PbnF$6AWG<>rN_`$+<=oDr)6^VMzRZ$yY5n0cm9$h8q$dPnHck<%2GZll!> +5pPQTnAAS6-{##Zv;%}j>nztoxhC34j;cXtDOQG=(o3Eh&dKV`y<(huDs@2#Q)GB5?7k_;=ZLBFy*8- +d>QrQ<4;3nf2!2+_&DI{3A59lD;TH4Jh%0W;Q&_B|NKiZx30IaAvy}Uo-JJ9t`bOeIBQ(^Y-+6LRTp; +h)_Im;m>b5$^)eekJ2tak_eE--3xi4&>>5?QoG{?%@5}YPYNvIv|29Dtcgc$S{dy-b13d^%XHo*WaJ& +xz!W{WxXrcd +_zi&u$c5B3Kvm0iw7+@&iPSdFXk +yc2rrVK7b^}H!S}ENTCchvI^8O2)c3JVu4i+_^&_f)lKk^upD#uX5vqVzV*Rm-=_7Kvn0viiZ2ouv)o +O`k7I%9;h|jdEU(1P`54RRJY(~qa!2P*g)-9J=6Ngx>mzj__%3r2h@dMI7w!qz5zaVdtuWPj4XwC`F- +Ww+x;9L74EPbJW-V**f*;#KiE18pvmzgu~E>q`*-6%WSbeTFc=Q4Hj{{v7< +0|XQR000O8ldVxvY4+g{j33(07+>%wKAk=!sne6z`54=oPMpj0gOj8F*{IJB2j@rMm}1{*rOL)PoSg^Gwc}YXJMyQTIU&3C|LeG}RriByW +uv#ux{28PqYupJ^-Rcu+`Y~YT$c^Sz9Ad(kO%jCDr<7&dr{y_=8+$~4?p|?DU6+3!C&mcajygCmT3%1 +7_rD_7mMh|_mcWU)40wgu!4nXrCGo^3;kL200sNV7XF;smd64C<%qOm619{-s+zUCgLUt$8!kbk~9gBjDl7g^fAF_{I_aoyD;Ns +Z#JP09$HR?usv?RwG^8@zYibVP0Y~Bgt2PpJ{xo|dulvyX6U{%v8bG$g)8)$p@12Tk)K0r5O6VB!#pU +vGGF)Tn93SS_PIDEui3#!D)YZ^d~S54o?Or; +~%2*$0y^n{%FLG&xh=QT^tO@Cr6iqgCV=P9A2D{`gO)eoTp7J8k1_|WfRXJ%Ud5>a>^siaYI@4A8>j@ +D4;uKH`YCe(`<7GdK9zZ61iJ!bq-zMyN>G%lvRU%WX_CvepF)*fdhR9dSBt}LN2TGTZ2w-*K4e8z)qI +;mkXz01oUHP23a4wz8}=sp&v$K*V6;w>J7utHKVB;j9rc(MfJn_XP-+BBGpP|7WlWU&b>MGWjJf%(mA +#48^`0L2s%*(j(m9XrCq6r|F4b)Bld~CufRpej9T`?7!*>6>rd|rxN5ns|G@O0kOn>9<=4=j_m(^71- +1^Km~9I7OqshOayPmN*R#0b8)|+-@EctKzbW`lHNPqNP04T6vLAuB1i#f)oR`c6}- +&XTGg5Oc|JA&U)^SgrIrTDV`UBT~4eyf)K2;3BWv#Z7h-&FH^g5Oi~dxGCf`OVBn;FjQ9lHa6o!MA2g +d?NT0HGd-b6E)u!d|S=81>aWlr-DCK^QVG8Rr9&vb2Xm}K3DT+fKsDa;(5ZO1(c +Eo)2r8q|q2gekzH{V{PJZlT_7pP4AW}7Ljx^9$lUGpEoTnr>P}_;m*zXyh&9dNZsZ625lc+4f*N!b(j*B5oFYgqN(tS}hpqlJTY5#6j)?e((76kj0lj`?ST7DG#@C&|fc4ExBn^*~p^Tpp-@St`f9IN%?xksl|G|glIlfTE2!ddDl +}{PF#0BDci`o80nw48ZVM0^k<(vQu%7MU%VR6(y2PD!Cqwug&Rc9P=0N!G(v3YkF>8Bl?rUXUSuLEl&MN0DFr;WL^xJL@o}sqWoB>`E1~!}Rzl(^Rzl%8R +zl(^R-!hQYCevYP&kg2kT{B!P&kg2kT{B!P&kg2kT{B!P?i_RN-$<5_u@EKLh*5|gv3#-q)k{o94n!$ +AdZz#IF6N&IEs}}IF6N&xVgsc=3*rzj$$QxE&IvGN=O{VN+=x1O0sA>7b}tD0ScDLpJv8fHc5~9Nbi6 +mA{3vf_ykjV5gJn{KEcBZ^KH0NnDO_xa^vrr +TTrTlVu8tYPeNcQJ{FjinZc33P<$*fB#s1z!m+@R_;35TzVRr5={$?TGz+)LSYWb`c#ML;Py&hthQyJ +;h_q(>?>Bi|Ul14=5VjDQO`1b&T2KEl{)O&SRZrqyZZ1H%J4JK{`jP?S?QW8@H>2c3vuC?|R@OSX87< +Rtuk>hvRU4+(Ko=|NUvv~x7dOtUOM9)6k!E1Ck?EE(GVwrC(#RC*vBt>!)cD-iq6cYZz8p51Mx#=Z+p +-fA{}DIK)L4$aOfyz0_096{XVFNE~??3 +ddfC#F3YwaO`DB9C;ZE$6h9j7Q9R{B0R*z+T*odtO>%{AJU^ls3hBd^Zl9pJTbU2Tfu{fbvm%%)4^Dq= +kUm{;DeX#@Q*6|=);6@KTS+){A_$+ihTddWP+(%UJT7k}Dh>1o6Z_Yf{zg5wcKO>tgP+>&tq +c?OV4{rWV+Gf@9C8&|=A9o|DVm$QKS`0^Z*=3#qN}ebqe^82|Nm0vkHX*9ov6%T@kz1q_Pp +JBOhQhM;&@kW1Tm5Qy=}53Zei?$wp8_B+ksC?7ssg%@`VpT*(J57=@hgU~Oz+T}H-c)Y^Hp|a*=x!y& +}&ieH(@;Q?18)`XD1+1WcnTDZW21!SiUFp4XoPKwPqJ}{x!20b@>OnP}Htq +C9b7z(#eU8d4I6HJWJlBlQmj@lYTiq){M?!A6bP#Vig8&R^iPmyjg`etFW{RgMM+*Lw2n0X1=|-gRC& +ObDKvz7sy+M5?OCR)UF|WQq9b!#Bo)wp>#8BdI*zj3U1<2ZL*7-7_4;@jf|TZY;+R?m76HzB?u=mP&f +(NM-=L^?&TWNMGR6G0pCoh<@nev|N5!i%crd0?)6g?{yQz0NCU;0FhBAa)RN4neEk%)wSXgkLE ++e6ka*5tyyhH`^vx$GdIJjf7b~QwUSiRQTM8d^h}LCd=ZIi^2S~kb?KdUv0m9t$rCB9(_Z(rrl~a_dBr}a +g<87S+Vd7_nObY>e$%BlB@fxwwf3I3O54=hPe0P{)LI=~>+E@Jbxf_Zbsy@{o05m@>RNZtTcvAi-4}5 +S+qImjYv!J}oM~$2w*5&Oz2c_iA$z*k+w)fGnOg6~`cwIqvvkec^Omzr&3bfy+WqhoU7PHA3r$RIvUA +^hk@urjZC$hXx)oW~HZ^;7^Q)Sxq@!Q?rWN@czv`96Z&wvJpq=GS^qMGR5}_**V>HSH8Rb2Dxe#Nqik +kwA=DWWu{|8V@0|XQR000O8ldVxv9(C^?p9cT{85RHlCIA2caA|NaUv_0~WN&gWV`yP=WMy$RT#iUYRF0EFiIy@)jF5dYBZWKQ7T@iw&&4E$x0eA$%0qr#*uV{9|n9LA- +}|-A@`O6U(PDkR%?KZpSOYvJ<6PAx^gi+EL7Aq&g +ch2-E57(}33lpoC*MUpKd&wvHU(jVQ)!(ck0cK?a~Xpcti{^aQ!WRVK&BEhjGzTS8oh7na@`{53b!@# +3C>O4TBebeoACr`@zyY8fKj>mL27*U&s?a`#$nfBTv8cs*U!Pu-Lxs0U{D=^DI-b1{A$+ZBIXcC)yG7 +kL->6LKMb7^J2GNjpI=qi_NRLExcQ#tg6ztr(UZN!RrGQ@nU%nf<}^{=piVJ!|qXGRF^t-Yo>0jn*e3@Is^Bx}smQ>i=wMT~tJ~Z=VxuTvfE3%NAr=95iQHHOah%p$LO{1}aVUAak$pY)|#8Z?BmZqkP>LK1 +%{r9~preYbRhaNSVE??@zfr=wYL7>GR-}{&&BJt{+WJRhwHzK10Q$FcY6tvw{gWHV@MNkBy-AUZTyB{ +WK69k^Y%EWuU1C{bEOda*r#9NlHmIqzW1sIb4y^k=+a+FrE2!B!`*_EfKg{Od)r)FWC>vL3g1TWw}Hs +LfcbvXZKYjl<(up_;GqWz%3RcEBktg7j)KsGRLW@1HAgwICxN%f+0$}OwWy(>W@N~)|V` +_(CL;FH#TRoP;ogt8|T1m9EGC&mhnZiuyM|ZFOsaUO|YY>nknZ6$RnY)ISSXp?2 +z{pmtQ{e7sfUgL#1Qhu{;(c=ha!>fz%RGs#O=IUdb}C*tWJAk4Mw--D6wwD^N>xiwihu)QLU?nq5Ld!zc4h^W3vh(tVbY(9SnTb2yONJNu5D|G8* +*C%pv@>{i3IJ#}jIHOJ=YAGeDJ-AJ+9FN%%01QGNk%!FXi`RjezfW^Xm0suF_}nlque|2h4(>t+@eKYsv9*ISU%jx<$_s*!_niI1#>Gtox9@l@ +N=zdFZEPp%{iwu3f;2NXUQ#BeLRx@K!=Gcr@a^RU4$C-BV#Bzzd+-37IV3efKM(%hVA{X6x|4z)X2~292~nJRRQ*>-%$X;)c;qZGH~^698*!-06`rz=zE +g2)u2urq@jF>H@(8^Z)xB45)%Z`C{B%D0gNgNM9=feK3hjrwqf$N^K7;s;+blF;zMmRLlb7PGTC?6rD +J#z!C2x(iHD;Iep%`r8#1DDG2zMLqU=Q~ySBbaue_vK-mj$o(B$~P9J`}FeV+IN6H!xhiQLN1vpD$mI +kq#>V22e`_1QY-O00;n+tx-{m{!gHV1ONcq4FCWp0001RX>c!Jc4cm4Z*nhVXkl_>WppodVqa&L8 +TaB^>AWpXZXd8JovZ{j!*{?4x$sb4^%IbcPvx7B_C3N2dRL_k%wS|O7-VAa^jcHnZq{>Dit1OkOSOO? +pXJdfwqcJJ=;7c|>1-2wEvt@gleL$fz*{e&~NcZEBcEGY~XTQEU5w4_ggY3R#;80Q40f^DeMsPUFWX= +=cyhI&RS@X*vL>=?R&8HQ%hbVIpZQw1^rlS7U618THK))YmnRVbK843k3Rr&>!De;_f8q)OzTqQp=i= +26Uex)o8DYaQWMO9RDL32K!}6)AGf9cXY4V{5BnOf^*->L-!3q%exjLyWJeOW#of&?o8xMvN~MTfse` +hX#ypzxzZGk0pIs%U6QahxRn}U6$J}?o}F0nZH0|_zEEw&%bDTJB^Aul5X+Q +M6R@;aPOpfPxdx5jwf7);)u&=yO9S}btF#8zw0kQk#8Yewl7D|TewUTp80hZ7XS_?HUH7`~(iZv-j&r?v=-eqFJX)` +i3MP@*ph=qrz1jnr6Oi{jr72lYs*6P((s_a{38GcIksFL3W_+s@iv7&xN&?jD2@+D1ozIuFkNa6OQUX +MRY2O%u5t{)ly66Ez95PbamrC|?sOTRYF3Q>uxDF_;v8G;b*Ia)RkGp(&v5!#h +Gx=rA8M5eijPf~bgt+&W1O(pUt`UoePWyKl*HdXY>c6h0L6?8uaR|0Zo;Y#H3z+4G +Cn3@|9yV1HKsDl~15_U3(H{~!pcQ-~->FM($bM +PDtHJ1x~2=m#o`Q>;I54*1~mvgH_xP8uLw%&WTVLJSOj=@BQ^gp|I#;uIl!I!`+ZnjjQi@6Cc=SGu%v +^w-}Lxo@bb;OWQd^x(jU4NGf*?krMFJiDI{smA=0|XQR000O8ldVxv){$p2AO!#bz77BYApigXaA|Na +Uv_0~WN&gWV`yP=WMyAWpXZXd97A|Z`w!@{hv=UYIG{-2p3YFbZykr5g-XYehC{@Q59L +nUSO|g7wxXo(ocVHZDSiSxl}roZKX{Gty9Dtxm9H$;c864JL-lTh+V9{00fA~LatMI2w}(<;crqQej`J^ ++*wmBLeQ~Q8>TjTui^c8PD7?qDcv){6xdATMZ^OH4|%|ZX5?$yTAN-MO5NE)oU9PKlYmduy&=YNZgW2 +~rD37#R(qcP0<`m^o>B09H&;lO>g)!z-=ao=(1ZZe||O* +=Dp(47xEGn&q4(}~k>5jl+QCAMN#iJVKk1ms3S$&eYJM>?hci1um}7=^U7sAQ +mhib2q^@;A-*IbO_RPUj@iNVopcu{MSq(Z`k>XM-`jBV#n%Wea1egSmw>*Dq*P71mD*U>Q3tVC*X{Pz +W&7P#n`rL9a_*u2xcAB>a#5=-mE2Hkvk2C{(#&j?T!26NXD`txjtsxu8P>(A!^|`}&0?@!xL9d}QQP> +znhUlM>n10TJsG7Z`w+n7b7yBd3vfOSoLFR;V#|kCu2eght%i4Or73T+<`SGm2r>PTJk3)~tK8{jY&<4g_iPZ2)8TQdH7IK*5FH9-G%r4KEO +|K{X4LeS(n2D7*gIf+f2Ojxi75l4mz;8bJTVJ5QH-!RA#=^wCiA8Ui2kA?Jc1v-)baC?m8!=JOy-IHO +*$;!A0CeMUKw83bNzQVBFZ`)-fPlqx2=eh@)LZ@8Y%)7cnztd6s})2F*&<%m-~OTr|FR9S#w&s;1txf +1*yK2S+dP3eeNqY~*_&CeOywr=Ms+p03gwI28c$qr)IW(>;EUwzft5x7CB?vX0Ch%->g;!u`MBo|-2W +xN*D3kp?}Ev_B?O6@XJYk2pwWb>y0dU~nm*GNz*@sip}UG1N5L-G`b9 +Ioq9x33PS=d%4&xMB_y?|k?VZc?xB_Pg$2eE;EiebuY=UrFOJA>-BB!#9;*w_m>DF|9NZ=1QY-O00;n+tx-{RfJZ%W4FCYeFaQ830001RX>c!Jc4cm4Z*nhVXkl_>Wpp +ofZfSO9a&uv9WMy<^V{~tFE^v9xT5WS0$r1jpUoo-j0;<3UknQuy<*U*Q$mArX5~v)xp|FNQ^jhJCHnN6CQFW^aJLA)Y?lVbUhIYke%^+?)pm}Fn`KIgJ{tAcqkov +$?5k_*09lI{OAzI0 +9xa7e-pXi;O`d%1_afJO<<-rl&Fm`DNckEiYvp_6ZoneI`3w?II3g^D3DEjji{s&+{0$ +8j%-@c@fnF&D=bB%GE}1=&s~On6G{9EXEHAP^gUfcdd8XOZO7$gM#FXxWGE;QiI@fF1WfvJb~MH^;rf +$G4!xQD77YtR;!X(iISlT?MumuCQmPBv5({)EY;NCk9J9mWRTE~zLYAv1ouTV{Gqqo^WD0 +%D#FTk{SYr=?fbGCM*G?Bwvh%IMD;%rFUNu2vdv`95pbz$rm_l^N_5Gm6PJ9^>>E$ta8?9!uQEwhLnv +C7{@n+M*+P$+!g3tcmix)5UF8xX5a;UIjOBuhE8 +8ab9OSO9<%TROhd%ibQ$n3h4Z9hv-c{TU{mB|mYnd(!}`v0{Lp1%9+#2L2cdh-pqS(&ynhja;jdn1y> +0FeIkxddn#6hj85*yRf}kWY2g7YnsO*x-brN7|A@d`UC4?C_ed5KA@22l471Ob?1%i-YtO}qd8 +>f#Kf4Xf2qgYUcN?}sNJ2kqfmd(b`|0Hxo-;w{HtEQQOfuEb@g-O@bF* +%{{0}P{m|__PW(@)_-_AdNNktK*C77ABBWn`^XAo0^=9RWRXzxB;y=iGv-PS~sTEWaKN&--#L(Eq@T$ +bn+{N&^#PE6-!;d9~!(9w-N(`@dG5l0wc)5$Ad0683vGPq@&V*0da7chX99AWFr#0jq-fTEknDwp*Vb +<}*MeOeM5Va#o(uJ^Ivjd7e0_LOns;u?;e+rr2pH#vHh2gmNRLUspt0N;B(O^lW#Qq5xKAJ# +gC}8KatLGFxr-AWk!>o8-%4-NVmj}{KL;Xo-a8s4Rx=vakcBJ6^gVaQJOCU-roxCv=UEehq%8yq@}w~ +jA29NKt8J6Q+!)oA_8=G=W^v!5s9ov;#EX*`qK1m +Zz(G0U3!9s@I9v=5kyWK5zIj&T)qnU1WyQ2aIY@$l-Dj}pKD#-vmv#%BOE^a&GMneae!yLRk8&ilFJttl=XgqfOZG=$el#MnWUWbXcjla|A42bKH +{!_*$QNJ?qfsiy4wG^co+42V;1EbgZ0Rbm5FP~31aaz}GMjTDUEjc{RQV^!DN)u)wy;s&+t>@IoF&PE +=&8o_-Dso@A41Y~9ppBR|kS%;AgJQ-zjAu8?d+sMkSWSb9`qn(B( +c0nwa03gq0~u=Ud34_m{F_Rg8&XN~owePGmGr^7mJ)@aZ_rM|-!k}45~F0XTMB5cp7$^DoG +yq!+QI2N;QT)Xst*!sgLe_TO@(WWZn^Vdd${;QbvrxcLr@3dckSwqzr$p{&Vk2)v>WK#bQ>R{Ewm(A9 +}leF^pI;xL)v+?@n>$;L&CmDYzEotp&O?BF4Eyc#7Y;C8OTFsY-->W5(@rTh;-jU(LdFR~jmddZ1uM> +x4TOBgzio^m}+(y646`QaBAL=tCfw=^hqH;M#bSgPcn%9KVQ;y3jl6l0S(k!GMNO +nSp+US(>J@Cps*98P+SSlr^vSMl@ZmW2klSGksE|3@MoSXQ$z6+83pAjift|!ce9DG9(eq_|mdIQChN +D`d+rko^G{l>&UmAP*3k6*6Z`DderC?WYSPO{{3dGQxhvi`_TkbGUdY^z>k@t^9=qc0_U(5Eh`5G)^H +jatkq^(nVREE2bHd*LL#dVEuhnR^(mr7>!}H?|k5;ElHl7Tw3U3v+v;51_Rfag!G`4-k#i +UNZCp$8le#ZYL)~XjIm4fspz6U>p!?aACL+E)9-+&gmqXI3u((x=EnMaNsxp>rrY?`^&J@9~+4?cJxq +Yfal2Ul$>(Z8*zb;)#30F|fcBZad?9)dsdbSwrMFIv%KX8)2-q_Xt% +Nw$>OP`%cEN)jDEq6;}P53yPRV$vaduqvdB!8+D8hvMcYLg!!O6XKu_h^N_g3d)xU86h=zBd&dTO7Dz +OGgOvJzw%Xt$5s6IL276KeJJLBqUeMttBT!RyF1_)S-F7!}TlZ|4KyDNRdOE@>Ll<3;XNPMA)zz8|X| +@o{QXMdz>Ui*{likvNkDg?cEOUl% +*Sr6^>5dO;)nL`+OTM{X)RhV~iyjg5u_KrKD!XoBP;<^i^G7(qmijyXSmTlk@pCV*Xp9r!?qtmXjqvI +pDqUb%hlBO*V_vNQ3CN9c$CfS;so4yFHz9Bog=hg1+3Xs+=d71lxTY75h3nwJbOW0zjn=m<+l)F953#=JF0^Hy@$&RwUdXgnfbo?=Heljm**dNvY#goOeaIz@ojjTy +2C%=li17FB?M~(SFsfn5r?5n5SWHc{>?a#EU8uylg(=FLMMV5Mv)_YM=m$0K&D{Ma8SI1M#s?x$&_We +U~y!a6q;VuMym3Kh+!^OWsem`1`}9rOUBbwkt(=0TS~Py&>nW6e|L9F6lcRN7;p|=5v##Njp`kfs*<4 +;MzLjXq-yKVJy`%|k$QtU<1587xCT;az(|;H&031OergS8OBJbY(WO)&f|jZIAYl)%l{v(b0EG$D6+J +b=KqQi%r6PPL6P9iZQ!WxJr%-KBWqQ}cXJ-LZ)T9)iQJ|t~=J}Gdn7~sOqtFPEhD~A9>qDo;g%H0M0% +J+^Wp^I{8TpIc@2E6c;Ku6jvek@TkP6z7DfH7cHwCamqPM_l8fu5M&bHuCX#z}?v}@`;{Xv9O=m)J4E +D>^zY0kUEK(X+361=#J00z!0d>we+zzJR-D3&@+UYcLU#Ig-%L`+qwNSG}NCxV&n4POW`c$!Qn!E2#@ +JP91z_hIaMFo5~M3ns(Gbl|~!;muv&wg7y@U5krmo@?^H#VJu{k~*27i5S;a>8~_iO#*oW>*yV6%rP? +BD2V72*=&DkhFpqOSua5j4SfKXf{>;QABxfL(Dt27msk$-?b6c6Ru{hXDJT+eoJQaie9Tg!9&;&G7oM +axMd)lm*xpUQ-@ESr((3~(e6oD@fbERF^N3uwTB(v5Sn)bi8qG$@B~?$;D?Xti8GSVK(pU$g$Z6^8fW +pJX$~Uxaq%w-vOknx8qovPAtaM??D({}V^pvqRu7+gGSnF&Twg|?zp+5^}?#Q0D=!toxb!o0-wHqSo9 +?&@e*RexdG%uWc?h`yh&-&6T9SNoohK$Zl7`8R?v<4K9>956oRC1FU^~=MYMcy0(zCKAx$j-B5l6 +4XKG?whYUz6Wozhej`HB%`=p7uevgPr{o>_yx#NfV@&OAcZDZ0xoisUf*7 +P#=s-7%A?h%=!-+yDPmHFb?IOl4C!Qj11P@sxHw)r-@#QpyNZjkP(?>w5crp=eC@c?z|p7Ngg!QQ+p; +~+^_r;;ZQN!1_S>)=Hwb6;31UgVnr{s&@_$P{34EgZq3mOK;f%sb@W15u1G>?t=?Qk!-xcjhoGXRGlu +N}?v^((oBix*#4+S)~@TW)Uw_3+3_PQEHj_kl51{3G`{&x!~*#%WHLacT#k-F~7mDO_??Ls^0SE0ld08!_k1(qWe~l{(Y*r_I~6V@6Sco +asL2NO9KQH000080F$jzQAfv+*SP=y0P+9;03HAU0B~t=FJE?LZe(wAFJow7a%5$6FLq^eb7^mGE^v8 +Gk3CBSK@ddq`4z<^cb5!;MhAk37nmrhm@d7$y*rKbvCQ7JL#i1EhkMvtcjNA?`8>V7Kfk_g&A;8%?S<}lZg()hP)h>@6 +aWAK2mq6MtBUtcb8dE){A +P)h>@6aWAK2mq6>`Rj)}Ztl1jf`Ey}|iv4$=)FON>dXu6Ixy-GX%(3X42Jksm3Fx_7-1 +MFFxU4uCJMZh9w*@I6OZsT`WA(n+o6&?||Qh@z2B7~UW;<4UvYxUpjVwmUoQ(#eh$8-dXqHjp-MSKzp +@2wW5=ZCR;X40Bv^{q^d!DSAhMya|cHd=IPs9Vb2v6HydZqQ*>HUn=B+u9HS8VdtQDEArU$6{nd`43S +3vUj!1SfFqm8%xVBw(krHovasY!tc0<0K-XyOivu?$ghpCNqXEFOP)`|>$6N3YWN?E}{uP{t74k*c2a +qhRal1~8OFmLQXlI08?wqiPuoO@RpYfNb2XC;Xnnw7%(x}Hdzzu8A%cJ;v$X}9~q<*eOOhUn;8@%$vA +!r=Vy<^-MzVl3{({#^jA*yGCXJFTuyAtbH_ntChq0zb{RxIBL>|E{{se40B0}E^j<7C-4+%!Art*HA3 +WDVP3i>dhK@4wiz1!fP~uU{UT7h&Z&NKUN9qmIRxDVH$~ +ee08E7bD5-bh~-M5D#huD7O-#Q(I~##gPTx)@#Do)29K9dFT~;T>M3TJiI%&BT$sNCH$RH@yPpwgzgv +74oED80CwxSa3hR!%N{9Yyxl{>C$0q-bS$NiKf1)@eVHjQ8l1}>~LgOCkb3wY1RP2#8H4>I8=3Z3C4M +o@)d>VRgT0BQ-C8}*FN?A)$4dOrUwV=J&OPWx1$MV%g8b{I#D+CN~e%ET7$c@3D7$=E1kui(@(pXX$}gj8|1Lx|_uQw24ob*IG1P +9{)~$Y}eRVdriXz-Riy}0v-hQH~C{)%EBp+rYFHl;#gr>IO5Vb9H4yU6OZJ`4UQzSS;i^pzFFBk{_zc +fVXOR>((kt$`rr2eOrvbs*R?QrZ;-WE42NHg)#zn7kEfB74h$A~{4T-6W|dmNHk*3u;6P2o))W%f&ft +OnBOk2qx-^=EyC&793FecS9cpCFq~*@-lJr<7{pBE;ebv3cf|y<@%H_e$2@8dA%dSLne!YzVN=4=MWbK$zM^#fmN@CY4kr(O9KQH000080F$jz +Q3IYN(6ayl0Pg?*03ZMW0B~t=FJE?LZe(wAFJo_PZ*pO6VJ}}_X>MtBUtcb8c}rLsPYF?pytON +FmAaF}DQ4Wa+j{AE1-fZE-fn0V{>A-PhV+=fQxx0uOOeBXd`b(X&l^}{8dZW9|F2=-*^(H#LRM`IH(A +W^hQumrf|7}ff9Lr)+UPkmGpA*V5@2{kZC3+9fuv)t(SFW;OP)h>@6aWAK2mq6r(cT$007(x0 +00~S003}la4%nWWo~3|axY_VY;SU5ZDB8AZgXiaaCx;>QFGcj5PtWs&`cf-a~!e3ZKk>50gRi_66gS# +T&L}L6nnwC8rdg_qx}0@$qvSFzG)un2SEGj`*yAU*5-=%S$+^~lPK~b<5VS-lY1&u3J212+SM6Ji;3Yuq1SeYVHzJiNF#K(A?Sd*ng^J-(wajOorxWAe-XAu88 +63Ycf0;D}Dnc0v0N%m_gF&w;?e-<@2m6$pG7dk>{HSj>N~y$NaLIh#fL8YW7euP$YTYnooT)HuNl4da +Twhm2B|zlv*(hM^V!&SlNTEoT66|@W8@*3hln@Q^-S!y-cCiw9%rj0Hmx^N3sbaX=gHDV$QpO`VQR|$ +@nF8n*PUNUG(Tf`Jlk5e}(JN%nRAP1+2Nq7juKm3OOm);+XM%7P$0A6~#QE*(i>(RIl-bqALWPoAx@C +v<*+zZ+L(?6g%{HKPT}H2Cxb2I*@?uZt%#lW|-L5xqCuAlrJNWqNMQGrj6n0?@Zd@_6kHqo(Y4#fGsG +`1~FP?^r@oU(A#U2g)kFTMQE9$5DvSj`kxE*r%fBM1D%`oca53{_l&&B&pKCgW7 +QwjIN(5X3+%1A&RtI_p_#8~9^QRinFLOKwXHuR49)@?pY&ARu-Wb6DJe-{|-WuTPezFScz)e~1GFa7t +ca}k}$SMJRw(CJ#Qzp^_4rZF-#OHY?6vQ1fRC)k%v_8q!#XRD`##F?`j87+b_bYQ&VeqGsf9F&Ho>dV +xfLj6Ptd5Lc1r%px5Cr*j>&IoUKr8n`%iemYx08EohsSb($>UI(1Jh)gk?l2gE`XODz)_Pa +cj3TinBJzIYf;%Sf;4K{%Z1KO~N2>1U6Dj}M}@r9F6z8AG-$Q^QNFD5z}}?}IW}z8u=tzfem91QY-O0 +0;n+tx-`U@N9Ew3jhG#C;$K>0001RX>c!Jc4cm4Z*nhVZ)|UJVQpbAVQzD2bZ>WQZZk42aCxm-`*Yj4 +5&qqO1$zELR4U1@P9IJ+t}N?fCysq%JL9IdhXYfP#4|WrZQq{a=3qRG$5z9XXL0qj%X$riNb)zg7t`Cj9gxfCs(%jPbE +p2y%K9-FS*#+nWcP51~e8SF;7Qu{Uc8S4X;jV@S?A7c^<9!dS9&X*KV|_zrG+croS?Pt{dL;p +otc!_72`diYC|(3eceot+(vIV4v+2CHXAj)a25T&kzXI|Tj;Ni(q51^pnRLV%Siqs#l0CJ9SD{`@lwW +LK+oIvw?kF9o4QC{f~xELadK;C{+8+3gV;$S|JcBT8fnAxdb2w@~}XUZZrr;<&HnJc~~Ru!ZFO79PAxU=K_A-y{ +z!66grWxAf%C<#EA2kEFsV91ab_*;8?boU#k%LzFLe9)I!Qc9PjPHoCYr(e4IsmH3;}}@0ScRKjg94J +2?FF(cxeJ_NTqoV%?u|CSut)sQndBU-~#TefAnk2UspLp{8E4R~d!RWJ%{?U`&Qog!#sGgIOEGEPM;8 +Yj-t><=_p9U{%9Z3h1kojho}SaR{xxc?7+7G(39gU{+ITpk;;HFWmG^}T0{}0GIAYd~t&O{J#!KS}=CTdQW1| +4Y7@9<4U($)+ta(Db5OH^~kxL76;Tf&0CijWh!B?m?8J)}l}nDUjt$_8}{Yzz}Jy1Km}!GfkxRhVXa! +C>VBzYAR`kWevgdn#ohnIJ=wOiIJjP=n;!K$>hv6-b;|a$66fxX!XTKsF%(R3}lc9cY9a%(&w7kEF-0^^w +)=lXWsI?fZ0Gr&jCaF46 +s6y{36FPnQtMwOXBe-Ktfq?_i~N%Uo2ic5Xdc@GOE7zpDqa2Ggup-Yw}GR7fUNXGXC9gYGc`U@D2Km>qB}OH_kdjOKuNY%m{? +@p=xXlRKl|9Y6|$Jdkie!J1HZ1c6Eq6Qh@<7IUjEFAbxYH=i<5v_Cor1*}Eih^n-3qJ|6I>3+R#bFMf +HQsInZK2O}Lr4_)LqFK)8S-l!I8wYvqVc~L;!EmcGwff3(eYciHY6$ha!6SWTd930ZGMZsCMPeo2tWK +kM_T>iunw)U_Yx1q^S{1*v?51G=)G#AzGo^BYB2+9ldsit4IHA=Ps!S^Kg^O!Q2|2H^XZp3)mgc7egPY0i7H=jqBtpHl&dol3XWN>;p8h>&SX6h`(9*OAJZTdHpv(4J@vQ78H&1 +7=5SzEns)BifTyu7~O44~h)d;ew9=KPmQoA&3?hso95XfuEjXu}wP9kql2-?nMrpI_XyH~c$iIZ1ntXYODvOEt#C$WOGM1H +RyY*c5=&*}Tl4U>6$}q@Yuxm#PItHBCZ%8Iri%7vZc@5cZmMXvag)-oaZ?4Lm79$BC2p!Yzmc1icAc9 +l0PWnQFe=c#(8wNIrpfd_K5Qk&x26Zd>gBr%b7Dhwcn%hTAd&`+uoLgRl9A2J)f~l9kAMyRK3wG&TxuD)T*&T +mJ0RBYQH$9Mtg^)3G%rJDrtjX4wqEoH$bzcbIxT4GuUuK6jHAeC*_!=DY(I6JV#Ox1Ch|!YfMRuKI~e +<*heH!M?f3h(?|_!)@nS%@ZRYm<|)q-;U4pp+y`r_C!noEM=aL9)sw~1DRQOfxLsKY_?-M5Uu?BQs8$RjPGuo`7BWO~BVrJ%d#mp=q9qMPAWx4X#Ayzf*JYPAR>rctybFtdmCZ(zImQF;AcZ +kxIIBk>M;Z4}?^%o}D`oGp7{-x(K%An^NqsKo!{r)8%uRI(ijz9yk~-US++j?dmi!e~`%vVQ9>ha&eH +Gpae6@Vh|O6%}aIDT3V?kX)vEO4{rX9?1FXRBc$(cu-hR8}&dXSAW=VmNU?W+`)0PpgG$c>b@pFh#i* +CW$Tk?jj4YUw{L6H`>_&Q+lsN23g(L-WqDSDTlkssEn{j!d}j!zU54njvcZs)MN~q2QZgjYNvE1LyJQ4PS<)k?@H^$JxJSlt1-TD%3XA3pZm?l4X} +$Ice!Ks*GXgtcfs=mR?UBx@xl=b|yaBX*yg_@tzPkJE!T9pj7%LMeI{i5l(!+t;VpOk!*w8d~avS;@{ +T=xK(ASvmN>%b>rSb#}uWqpecxqtwa)HjlZAVjOZZ`+;i?m5coJ70@{nN?iTUEy`7eBoJp}x9zp+NTW +{{qBwXiP&H>Hj1WLV#fl#q^g69%F;*$TZ;`6gau|l$Sq&hN4OHuwubR*2R2Q@z_7yP(9o=sIV*x95`K +;sU@ +5}Y-w|4E^v8`R85c5Fc7`xSB%udrmGOa773|RB%lH8Z~#=f&7?Irb~Sb=`S;k)my_+%ja1d18I +RwadE*(Z)UhVMKN$F|Br^vl;S(bxu!ftLuNEo1zyAP>7c0RkjUf0ArN#s_B7C`Bt?%yFP;h~1#LJ^11 +I*xGZo1u0NxL_KZ##>wbrcn(N=TX1+^7?miyLUY@2u%TeRHNLij)Pm(I!`wfeh}H#NLENohdpIJ03Bg +L*EB{d=LdOu)E735;74Mg|2*An +0|IZmb8Zq_o+LoK3S^XMfaIVu*LG^lj|vo|lmGpd~!S1v#?Ehko>NT~6yGWMw?!HLiLBK||b``2?^d^ +gqCXx}OBx#5_858L*9e2H>!T!GMJt49o+%#%Ptl=h`5}{Rqq_A>F(>akaydqaTl9Rzr1!vwFUHLG(01 +Tkt0nG_@P4GkQC`bZNURnPht;4|b=7B381EbHvwnPILm-*S}A0)lqPCrY`R>R1Y9(jw1KFf=gSfz}1z +cf6yisnh5rCk;Vtkq#qJL0J0|XQR000O8ldVxv2pbF$Pz3-092Ecn9RL6TaA|NaUv_0~WN&gWV{ +dG4a$#*@FL!BfGcqo4dCgZ_Z=*&Oe)q2!CE6Oc1m*G;H4lm7bX|Gv$as~ksujX;2(*~7W`;Q4U*9tfh +QVC2Nn2@AWQ8;5_8rb`j>(8_b}W911o?xeo`}4ZeDat`U`NhR&n|3o}cRDZ|7f@-J_eg`D +Dm7}1o|1eWk3N)5=8ceb4WfAqb4gKsnS+qv%gxk*T)8Pd0r2 +rCU|hrsX_~I7t21b_L6Q6NmB^LA?=0=LDz@Wg={k2KpNjd!_qvf!!cEsyT5~QMDWSOS_M@KShV)vz*0 +yq&Taj;DPVi-Nfn-+&1E9p%9K-S@vTLeVPzwqUVxvjXSdUFqpBC`DyX7JF4$fXRZ$w?|A~k$n`hOH$z36(;)mi%$y%AsD!a8srDDDS#7 +bi&}H_yZ-6C<2Eo-cr1w_xkxepTHY5f&4$w@MEpp{IMDy`JKIPQEc(eQDm!{F<_VpX~p4#NJ*v%NQ5V +hyHGmv$PAo5|Zit=)qYoItpEB==C(8{Mrg-&MSXQ^G#kjBh +PU$JFtWCiFDIX#g#Sd7Is!mBO0o;ec<;7pP2y41N%;AI28kdnrWwKHpScx&dw*jX=TC8q)lf!m0s +2LFVdSvq!nH}yy7DGC4^5vQ7@2(`u%BA<(Nv-N+M2pG1WB7U41RzCMO}kWVc*hWxPsZ{7 +hITEkIh^jVdUWkb;`zBF6ATNVoeX_NU>FV`8xEk#70z#q(X{6ovZi8LJK$&}}^@yt<604DZ9oECOlNA +204+FNQ%}^{-l=oCTq?84!rY!P{FN47!i +ceyqjd!GoS6?fu?aq)VKXI1q%dsb{tr=1R{-HE!o4|6%GlcwYu0V}luwWeg15ir?1QY-O00;n+tx-{; +DAwlg1pojh82|tu0001RX>c!Jc4cm4Z*nhVZ)|UJVQpbAcWG{PWpZsUaCz+*+in_1^qsFb5>gBa-h!Q +`Q6(bTm^e-ysK8O;C$yKrY_iOt+1X$!tKZ%;mtAI-1w#^7eJC&9Gjs0uaUFVWvEuRFOu&0aeKGSXyz{ +w8$O=x{ol_6a#}{yV+)Ml{C6L4+p($xWN(fwE_4d +k6l;-@KmifNA}j5k>Dg@mH{dkye+etp*a1OIlRZQzf6P;f`Vm!p1vpx_e)_ioPy`u)t}LeI15l<+G$WetrmzPT8FylHyNGa+~!WP+qF%an+Tk9TRqkP2f={Mv&0uN)ureApCP8w2@zYSEm#r=80TyWVn*`NDsG;|Zp +`r77i$)w%={F58aXr&F`!I9n6Mx~>BJ9bz>qU;j;L=RIn4Xkg1s1%chTIA536H_aRI1w4AR`lS76(V>JomY6$uz~>(wwUHxhMPAn +_~s`W*~nLuF6t7VVR5_HCQBOn{>>YB*{s0Ib0p`|$XkJD{Ph5(6RR*Sl{ryLCy7y+QDlwT#k&JWH+0{ +xFeFx}E3l!kyF1IMB3RNzMj`pBbZLP??7sCA+2PlUssl^YSkudlk#y?|`EzR3F5v1QIX89am+NgAi&> +tbW2aD23#G3s-nRImTMkiyO3-Ob(2MDrgf5^=)FY)BU;&RQlf?BF<>p(n>1s4p861)JEva-@^!nSZ##9GDfUB__~AOJ +{T$G?a6L4FC@E+H|hGLQGsC&i#_577nfpJXlPnvVAGv23zo(rX4LpVqgv+X_xmg>hS-aiy^N=f|7mEg +GC3!q+Iv6gnUBK|SA!V$WP$@68(8}|@KX}m6IzbcvVAUpAomMgz*6XFYHve(?=!r}w_fM`);%|)HNP% +pixOJ)SPt%!IE6DSa|bu2qq$yLGR_GV$x81gF}+h8QBIEaCU+pBM+RkJip49jvtn1|W1)T1LDq)<%US +A1u}ITgMJrQ{>;33UmI~we`xdNr`TJ>X*y&SK00pwvmqZhbs$u7zw7||$xNjcntqmFZk#We{iG*WuOj +1>~#)osQkm>q8J)O{v|thQ9 +Ji&q#T@r;i+7{b>O6G=4$~k$pha3HVFD>TXf~Ix6f`}Y;Tt3r2!td_Qu#zO&XP?50>y1DS>oVx(*zck +kh)+G9>;$X%&F%Nd|Q&dU1~toMwv@B?p%~xx)!gIO^4jBf}6ss0IF|3+X0bD3SC^cON%jP(L~LUwZJW +NXRWAU6IBM1q~y5cDqE}#%hIH?Lld0>z2R_l(ZI@TH}}zE51A)FTV`STjxDl|$%hZNI8titnizHYU#n +!ZBJ~~|BtHF`mRj3eBrtU{%)}xSy*ver=5_=}t&;vN%XGVrC|k-YtviV-k)u>?Jo^77;D@1FHSUttV| +r|EPUUrOKc%)u4`*{G>=w9G)0`3#k;uW^a|&ROgHCg!*(Wh2Puc1v|DVw4%WSr{c^C7))yto-RXOeS_ +|c~Mz0GP%n|`dF9HPwuZS04%(Z2e>wf*GQ<~)c*EQ-go`nH@6aWAK2mq6MtBUtcb8d4*BIPQx$^z2_?|?XVWHY8w} +*vFN`i;=tf7eV9 +*Y^NDN^@L{YzL99Pb9SAKlDcS}zU!87#M(-P`){eYbs!J5YGaRJ9|9(iMdmS1L)qks4`{B(Q+-G`I_9W2MqkHw`?QhD)}Ld_Vt^sA=|r8|OB0C}U0v#3<(Mt)>*88;}9qaO2;#Oex +@#2-k3&a%r8*8};!`UOx+0|XQR000O8ldVxvl!>J)HY)%Cz@Y#D9RL6TaA|NaUv_0~WN&gWWNCABY-w +UIV{dJ6VRSBVdF_4cdfYaa;D0>@rqrHdIVIY%yK~WYW!jPDj;0gKW64Q&6m^9nSrQ`_S>eTUwI|=Vud +%PUPqOC%fB*; +sj};~DdF2qm8Q$IXb{$Unu>2uk568npM=f3Mnpv-j?Z3RygvQv&BfX4bNmt7?JcTuDdzJ<+q6|WpNnj +{Dl2GyU6*;=q;vkhwqv1nK$cITEkG+QJwNnQ+ +nK_?;3gt&)OmbMy4HL?j)hU$nx|88%DKQz-Q`Z&V4?=ZnM0}3ZN&nkzZ=F$#GdMvYS^?RU;c~Ens01EtOItQH +<2ii-0EPNcKD*5i1hTfoHHs*sZb@Ovh6m<~@|!aUKGd7b{!g7DDX%T)@5ee?PoIf<_?E?) +7+L0V9oucA7OpS8{H*RVA6RQ7xo)%AT@CEwm`>u+^?ohDh8#*O-MxGM@{GDoD-iphbitG=gebcFr-;@fZJBG4nLU+i&~Imk=atU)GtAyv^mXogkW0H5{e4 +szC{Ra2I^UbPu4)rJ=vf7;%55#@E-b)c^-DDxH&Tvg?b(pgGeNrdrXa9h@mA(ErfsCzcXe=m<#$n50m +PuLW`!N^zRi8wg;QrHc~Q!zH%gaAwfzRAn$DDN;b*GY$FRui7~66rL#`Kvj%Dh=auxdJ5@jQ<*h4<~= +Ze||TX>jnRoQ4`-nQ{643UwHl|GW7G2T6y#>ys64|6&y~*lit!qbf*HL?CqsM_${hGD|b=)@U^e);YS +~w3utnB_I(wtR$6TOy56VUd&+!RdBZvhEd?HI(coH$q)Ohf)alPu(>>L1sazMWij|y+80$LAE|{ut2Q +#4lEOW56^>5Xe2AGdjoAU32w5LnKo)R_Nrf4$EmeQPbhQ((yU0oc4;)OOStsd3vpaqRgOK0hC1CUptJ +9-@TGt2P~iaaDup2317G&gGYZCc&b%+!jN{7mWi&M&3@=w-^Dq=4qAUr1ubF+c{rA4g5fr1g2P0~#pK +K@58kg72cd<&TCTK%KtV`8V^Vs1boVYt5u!oyRyWqj&RrkhnOil6rP%o0D&`11L8U#WAb^`~-2s>ler +3)59l!fTazBjiJJ);qSwzoxVo7IC}Jms2FBxvk1%T<`J^tQMHJ%>%Q!Hz&(v2jY%}9PA{)a1z(hnNDA +A;NM-(_Go9SMqW(z{k^&0Gq2Zh5>7rSds8gzR8D$jd%(xGP0aN+u@aU=osEGs(Rd=vlZ2_Pkjx96PHT +}}2uZ{S=IIU~&S@sV<`{MJ*MgjJtbZy{b2*K0s?(bh=+W$D<`eTd_tLVzjL;|jDU3 +zQ;^)P#5@>b82Dt`R1z%IG@J>f1DNz^uwVi`ODrmN3lu`8O!VIR$$Z57uB?%6o_$vj&CW8oU+10GO$5C3GOMx5y%aYtymj$%nA{A9mVsP=K{s|NQ}fMFz%`Xsh$`f!#-G@6mV@lW`1 +mnxUhF6~$i!RL#EJF}+SibjJa~q7`6$c04@q*#gJnKJpC$yD?PeZ52Z(^eZ>mK-$4)GC4oG!1^BmoFG +1&{z>;IjkCQy117^HIh*QratGZd}+482Me3(fj +Mvs`-3Q;~)@p}4=lfA}GzgMYEgBM8l_@sAHNbU}FlC2Xz3C`pKjtl?32D#3z)KD#MEkqS%8bPiU@>Jy +ijwhu=;Ac&nzB%qZY;Q+qR#;CH!KZfHF-R%G&P57sOAEP}APyhV#?Dfgj#E~HTA9 +&wP#A(SXvm*IXFkiDm(UmlIxutvvg|HhPsLj#3ob9{?j#Hr*n$iVSb4|P$Oeu>OTfH>Zt;V-*?XjBr4 +};*o4D*%tz1QiYG2M6rK~LSHR$RTc#@zRC(8ulZG?TbLX +AiC0Yd>lB#ScIH(D(6i!Sd1|+YcU9j3NtBB6(CjEIV+^7TSY{*ut6%y=@FOvx7#`;zv)m|0u4jzX9&6 +zwJ^05oDlRO~9`|^sV-ub34+D`hjmHj*>F1i?MW$)QSaL{h;nQejtJ_Y(t~R_G1~X0`!2VdJ>b#q~{r +#$OF;;9@syqw&1KVfCy`&|1g9NEFoY|Re~RjK|m)rsI@%k*$WE7^)v^)dY_V=X^Uipw$l#YtxcG73V^ +V0y#i+gtsy2zz#T~aq5GEDUG)u0!pk@wN6urHh674q-Wg6((H4 +DXP`R=?%d}VCYoPRw@9Sq9`H~s4`6551vK`3$wh2zw#48`3dJ40efkL-uy!G6C!1|V(+$wuNoHUjuN+ +|-ey%x_`U}PA0XfFzWG^ +am4CC=LlvDB9PyH|B92TZ)wLZtKv3m*beh>qZL^y&!3@=p6LKDq+LGJw(HAXbIY)K?@5*}G_s`t+;uC`3AEyK4 +O%fF{1*s&z7VEMFlA%kGc=8)DVMi=U)DaN`r2&x^@4z8sFW`z%DS_R@Sn2HW)H97pm)v3B*yawa-DUZK~QIZ6*W#85yNTN%CuJ^(QrCVMdLX%HG=-|DLU05Z1MibV|Vhda +S)Wh>=_Y5_iJD`GRW-l?6K@@7q1@M=^qW%&LAZ{2&Ug3!Y936@5~SbVgV|x^I;R`B`gD1rCXI5uv|&Y +363c+KqzA}fC+6Wkfz3fFuH;HIFvKV=B3#`=mZriSRtU$!02o+qC+;@A{%b#>!X7qha_8W7^qzrDc@` +s=l1^LhirD^{JcN{JGgtz_(d{?Q(G!)a&x=tRvSj>q;JQs*00uMQn+13s8=4irQ_MM4xNed&(Ygx?C< +xlgooAB7|Ys_It5>d(RR0`6fmQOt4PPk>OsF)c3pGL(1-A0s6tf3>V}EIW1_9!nf|Co!VHQ^1Z*5BF7 +urC+aRL4j&&icf~RFejewaHgG!PLM(HLzpX&a0{-Wl(O*Vh(n|#FEAnFl+Q?q&2a5Z$gJ-5NT`(J!u{RyaOJ89- +NYj2b9zxU22$+RZ?@m#EBn$8g-qv=YGpk#jQIc0ICc0G56Y@q}MZs77`o*b7A$DsG0P3Y`tAOuNZ#Pv +~MjyV?n(c#P3Ux?{~G`E(EJk$5oZLgF9d*^vm`7uph-PfSAcg8dLe?nr_ih`9qxLW$phRYE!`@$xP$v +cGBPHAx#7a;`A{U~_^~k9CgytFv$CZ!TVZ&Z(?+Wtyx?xpeR(OXpSU?4^$wgUh4Y)sOYV;PT+d`|#?M +$;gm}IV|=$21-#*^9#xwO?_Lod6#dLdz;*ae1%9kn|0Y%amqPJDR-TPhZb5}1aK9n-Y7$6P2MgzKR&YYFh>nYL?qhKJ1x-Co0EU4SFY?Px5dD#R*X9Xx*W=~JZ +m0{T<39KrAeRIf^n*K}0JbV8EVbg~U-B+l31l)dA^5h5(^tx@#|1GlCj0b{X2V%^L67b-KuD>Rrol9r+P!pV4uAF>An9j>;UN_|`aP&}bhWIB}i<+Sm% +*&ab1GLiy*JUqmG+!9U2aW6jhE>Ok0SbYB^#@`(m+|_HzA1mGcY@9!@*6&Y$J6(S5dJM +|gg8>m50GAFH5E%3a6)o{>G+`2DYxZhikx)vx1_tL6fDG}Vy$DOA=5hAzMk&d!S3!Ply5oIzBK6=*=L@zJrozEf^wkx0rhVk_3h&8{5T`TsvecxpIMm>t*OS)MkK_awq0Gy^Y>xU{8UO%P +g*~oDOF1K$$mA`K%;_$;fR?9JR$=QQmi}hRe!(wnxvvyCbpzo)(cK@&4D55)&OWY;@E8M8v;cbIaDR~o0uX8+>J3EF~^#StE#-t)1^H4KKAw-X3YkO274H^%OU?Z$N>F&D5=ptfuYHS +`}|)mZ2BQb5;MnWnLa$VFuiaUOt}eQ!;D^3ty5YkhoS#3pB~wpf37{X@s|pRy7~`IaQ7(|jQVW1X#)w +08};yV+(a;dO+BrBy11mt4wDYi=4M;)c3}@7&#*oo`>Djn7|D-{(Qse9z>=P_c#D;CfYLvUKOTH3{yA +E%{)b4LICKJeJb$G^YtBCTVs|4@zsa2DzDpC1p5Uzs!PBYuy%f8);O0Q0?tmUdxa#-4Zjtuz(rp~vjm +)sl3g1Rq@olvFhy+9r*0;Pt4A5434O$kCI%1Wjad|KXEQ_fW&fjxqVRQ_W;IYTYI2CL;)cmF}X`A4-DAo;I_*>F<4S|QHQ(*4r9pPc&c=d=2!m)DB6#QA^gL8eWeae%?j3 +{AkWO(3Dgc&%58#ZAO?{wo^2UMPKP*DM(FXxjw7tc0PI+%=u9W_s17EA3LLM~IKsyz`Wj^eo@ulK>t4 +5M-2*3?3!&n&Oxhf8gP9@wXh+_n0PV@EM&my29i*g;w}7D*8)0znb0ZLLvJpyDfL-Ckl3RdTEyq)E3q +AfFb4G%lp{$V5&T1fLdsol=CB{JzS +Xv{q!QIYF1CdCInl>cz?xCKhy!G5G)*n#91scM9Tw${f^9K+{2vU%vnKs%y6|qWnHu!|)(BX; +f3S9U|otM;5O#yPY_Y$yeC~dHnt{h!)Are69`kufhAnUne +?F?@24q-*-mJpr45+4X^}@RwfpP==TGq>LAYX&@g6ssgU%cr_O48tn8oGpt5RTDm`3z(nu!V28aS0dh +-G>Zh-wljfsnd!>zbnt$p+yzfA8t#P~cRdkGTB0-j@M^y82~cpV<^7%gg!E>?6Sh8In#0wkY0SpXm*V +FX@!C%Xv7KpRDOwI+`VKiKmDwC3?`mP=><$Yr(q+vhUj=RZfqO*!V%R#*nTYU^7kEU-yoOrIE}jv%A? +i>UlA#dKFq1n@J-nf?1;&B>Z#hNXNEtgo#Zt|BbxueZ!^!wjwDMt_1NX^QMSO<<5yylCsby_2U*ePxh +R3|J}8xSb0ToSrQf)N2=^TYn5+vU%99Ip%!~pE##Q`LfLLx|B6NvXlLYszV`Q2+qd43SXzo@@;Bv#YU +v&mmmgNW$+3Xj(BY$hdz>8m~;ySxKIu|H*I2BYf_=;P0jC4t(PUTs@_1YaNH-3DK=h3Dv9(ET0FE!V$ +v;x$b^KcPp5_KDyziRq(7ckfr0D)d-;mNrS;}V#>e+z^Nu>O|W}KK%DZzo +4w2fpK%o5rgLmCmsJmVB#5^HzMP4t;qO1_G-yBL2ICBlHI!W&1h2{GLc%LJZqd2CZg1xDY-H;5G0}0Y +`1DtI)@B^8*5lqroDFPvv%_gOBV~v`%{N2zoC~2tFPN#1ZT|ZAM7rjs*CfzMsZV6H9n!I96$Hj<@*Ja +!9W%1~`{Mok_v*GV+=&W7I>A@uI6N+wkHCG*R%!j{51)Pd=@(BQiJxG_8g150PM>NaawUuQ*JRx8Z6;K?HJ3~0|iqE<454+ +rG9x#h|jCY4TCQqEX^+nO#WP)WO7uIIY}9KdECT_XckZ%|3~cUgKr<;zOs=Todx#*bUkGH#n=>YE%vm +&(jHJ?}z(W>UJu>x?Qqe2R;UjzD1lPAK=qGu&CcO)*`Pu#-kP05Uz`nR1}zUaIBvkV%NzjMt|s_M2Ma +6DMMzl?$@FNr*!QPHzyp2N7PMZFcx7yE!-$D&^f|cykKn-huLFcU|%o@$)LZY4fP+k|TINcds`&y2vT +lv3ImGvndvN@~pV4Ih~f2?R8EyTzEkVCD$Clbjp#2?==;?(@4ZY?Wdy~JabWiE0*S|eQlS#AH{hNt~R +WGq;JjHE`T32xV2p4K@F@~;!Wi!zbS!(x66qM@&wd3p+!Yb9B)(2nyOL*j^5Cb^D4!2S(mR~pL{nJFH +e5Bn2Nug{Lia!bB3%t50h-klu1dI62_ztg*eY{iU_YdM+6=2I-0i6X+GWttiu~eb+ur3`w=L_atS{r& +h>pN2@m7Z;X!LHQBhEJoi!C=xH-ipZwnz;r+>`}q3skQkM-%=sNtJp4m-rB;s&dcld*Wv!QG*hM9Otl +mUgmghiWpXJMIJXf0tKoGy2=_B(zXRK&<&f@5>{MT`uwCRPeuO&##6C#`QQ8?|TEHXR4@_-RvUyq$JEV~KNjgb=845P +726H;Wsd9q{YLmJ3xn>ndybbGB%e#>P{OxNCXP$KS$^@rsFKV>Tjqce}$~^ZX{}V`J^x +XasYaKc;(KpLUUfH$);HvZRAYVFTZKFkN@7YeSEcR=nd19v9mb%l8gghdnmI#=xo!uKk~n!=?pN>eXr1Unt^{|WZ7 +0(%^Oi{M1ePr@bg{?GyndBoPp_hM$y6XgK-Gg>ZN +fWiUS$(+hI%u-p2B2qTjdD!iM+L)#mQ(QHP?0_Cl>=6Y7U# +JD%*2?T~Dp$a~jR&f^JIdB}SVh5vAZg-Dm$2_7U|Q8mFNNucqWI(ZU0b52(w!qbmJluMzy?2HH=tC8) +YsA6VD1G&b1Uwn&Y#`qSdN*BG|r|=t=K-cYZ#oGdWBzi=Jb@ov!uC<$qptot#v0^s!@j~?^yd1l3pU0 +<`94`-FjZDe`8~Xj|&alk5nP+=BH!hTtV`A}D?bdDkMpaAd;|KR%%+|a1dB-XCE1mnGP}k`-<_!i0w) +s`o3+tTu17?I$s~}8og2@(`0zw(Ou0Xob#Zj4B6YMgo?noy1PTgShZnLT%Q~icQhT!gUnp~02emhk$L +U-U8x#%3Grprz1RawyC5Z;$|b*?N4)!V;-k9nFGMVMBjc`cy1`7ci)Z`Ejq+u_^cmi6YETfHXAf%QMN +3&x$H)p?=J$QL1@w?;EV-mkY}uTC5J`;Ntd$X26M$6fdxOAPO(3510Zpp^)ljmL}_a;Gwjt{1VL&UQU +wPrs^_qGq`3RY~QR+U~3gmaz(%imJJ$|uZx+G0FDd)^hBo?k*+ +R+U&&*x&EujT$Zjqt_!_(9lTASTX&j1;-e7>qWrZ1?ElWgvl1mh9^3)9M&T|tWDJPJnLrI$x*7dchBQ +5TE&tz_PPqPS+}D$o8b=dak*SYRaRs6r350d-+K0(UJ*jo0ySPh+_=Z@Wd7Rjt+$Ew0RjaCcX=h4?M^ +}8IW`vB@Fm;1yeM)qo8d<$1#i(9>I?mK_G#r0UJ~)rQ)pP9umuxt? +!~361scL;Fj=FJF_LN@KppDkMM;+=DU9r*w7k5z!HQG9no?gd7S$=g3B9Fk5$V1xkrh%OaCZ3g`N_+R +(-)^FuicjxUq%Oin_uC-j}N|>Up@Ste2tg+YA$0?>rLZJ0M~`UN0YBP;M}5Cou +07u4S@SXO4#&_s_NjU3E5RF$M$gP!158^kPqO08PmWUFe#Xt(*6??57PS$GhUOGQiJkivCL)HsflD)@ +yKpqg7IeiZ-jRTGrVUiw2*TPs*Bt6zTvUaqY))u+;#~=fE>h&j6S`B+rvKF7$2V95vo$w}e_fvol<2{ +Cn&GG+pCFN>+|-ccH2Bx2Ufm<$A9nuEV!yxJfAjwzhW{IKXAbX&cQZYF|8Sn~!m7Uq54O{PC)y9v-9v +L%c_X3$TDA?!n>H&=wXGU{sMe-h;Q!Xz|JbV*|Lm2UCGTbjhnskAwf)cF^{#CCFV2G<7AV0F8fO%DiP +H1`lr>6_{(g(}{}aYJ4R>BV%w0EJ-2AS_3)X3!b522tJXWoeTy$YB-Tn`L`=ZTt;>*5jRew1?d-)x{g +7?+4i;I)jFP%%T$A1m}<<%eYI{ob3ml$(ieKI+E^ay|Cvszz<4=2AfPhEb0_WJoCFuXYX$NNtv@V~JK +{QPWq_#Z=mpVODmPktEgb!qha@yZ$Q^v|ao224J&=0id{SEhun)qihizrcKq#S#6l+Kp`)9LI|rY6Aa +zn*3@elfF;IGP}72I~x^^3csSxaPgbG=!FjYm}KX_&@Z$@iP`on=1f#DpYs#Xi+8N!C@fvx*UNC4W9E +i?vd2&dOC6~7V_^V`qRii>5&^fi#T0-1d(EwN6pb&hq$N|!+jn%HKqh49MrIZB+E~(6is8oLb(^VZt_8oSL%m!nnBd{%UQ;YTHB(^6bg7mSU-1CbUNvvQ!SbB+ +5q*mrDtKxNcX9AbQ$=x#FH51jC?rl-l=&NqMlKuQbqFBK&*lEO)?VsmZ3qI?IHpCLGA{Gb6?}6 +aNUc!c$q_@LeJm;fVhbvDm*O0~DJWfNq!AxfBVez`mGPIxNWAgC%Ox +J*4kjM4N^HLgTJo)EAcc>w`px%Op!XV)ObKr9F>mSMBmYX&Br{CzAjM3|4KHk*K(Y;O{M&L_uENYR>| +1f$jvuv1@aVaP8;V82EN0 +S-euzWjOtxmYh&NS-4j7)&fFK#U6OLMBPUn1u`Mk*V!N}v*W7P4P}!+MWydG>mkyl*blvSHTrt +cY!qv&)4dY4~zrR1O99|=`Kl)cszq6a<7@h+sMSlAv`Z#ceL2v1DgA)AH_R5K$rG*&4XjqdaoqpaJHRa*!=#!re8zm(Hx@o}Uc}qY%m +wzc?08+GdQ!Y2fy`V!>ZYDL#8{|C{c+2hqUNo6wjqW0%x1;x**O+m|NEqY8ap2az%LSxgF&TSgEmlla +o_K7-Kn-3y1BGKBTld8=y(%4jZ{EG{w(adRk^FvExziF{V&$9kQ18@nBMeGa^@CkrU5&Q_JDPaQv&KVDZ3H6M|P%e0lAto|7WlY+~OuS)MiP?h17Ih8tBlz;+ZX1jvl`B*d +$Hw&?I?Nb6aG|9=5cO9KQH000080F$jzQHDTc{P-^b0CUFx03QGV0B~t=FJE?LZe(wAFJx(RbZlv2FJ +xhKVPau(WiD`e?R{%=8_AL2cm9gD6p99D5Sq6gyrXYvi8HHMy-w12W`m;un?Ql=VWS(<-5?43_P<{~> +iuYdnz7H0TZBC#&{bJgSy}n2%< +;6H!JK3t3J?Y6&e>g;{9?C*+JWZyQMdQtRcQ%|Aidm*xyFP@#fet$OY@B6H%7umBnuRpwd@#pV9ym|K +?e}r}ij~+dGd-gW_@(!vI3*F}G=e(1LP*%?g03_V4=^27mEJKD-re2fftOE78xo`8D8Yl6_xyn>GF_7JuPZXKmZGvg1nh1 +?)qidX8SnA12wWvk#}wPd}W_zJ2lX?DgrZvq|>Dzn`7GoP`e#viRra*>|VU{xj?_mZNX_veF~3i?$Q9 +R{XLlTiV%4HZNcii`lwu)}rmVlZ@Nc#Y)V8MrLx^(eYbREN0>!VRw`4u7%AvU!T4I%R6{3TKe+`eAtc +;4i09sqN;#$PO|eHx1=pEH@F@7B+LH{)bgV4dT1dQ?n8V0Jkci0&#tas)XQd|tNrLLP*DC6=7fYMT9} +fgxGC)JOZsgzV^qvw>SsT`ee>?adyQgfpRczI0C*%t9;J@_-PyA@@1E!M*Z=xjb`fEgaw +F6*0YVeLTYfLn+q@RqVJ``K*NiE1f_v)kb31+*xOs_X;|l9fmd^;}Gm3j*IOyR2^770|~vYif}#n>G_ +Lzs%qIX%sk)JH-_MLjLw&?$5Y}$j?`z2CfIEAD(>++)o_n<;*Klv_oroh7Gd*TH}&O82OVCuzUK@*?QjwPmlx>#g|v!ys|y&N;!W8f>ridr6%xbpkJaPhU3OKQu=uN +&acwOQ4%L;L#YbKT=3EDXPd?Fe0fZCGousrnIhxe>qu&p(c*K+2+C(2rw%7JLedpNe;44Uz@8E1Ut`& +a7FwM9(CP{0j&a+R(~I{dQf>iE2Tb(cH(=;o~u(o+qz?$|nGGUTr`Gi>s>>+Q}5b0oU%GgOib@;Au>< +hJ+){gFzxOR^qCdZ!mbfqrN=Fm8Wcb_N}HWmSPBXl{sgARB98jcqNlkdnmoarYV4b0+ +{8{0q7nuq#xDXw#*Rm85vJ2;5tj#w8C@D~&R!@WD(i9481ZaNUU(fEs9EeLL_PGP6HXl3^TsETIfHsf +){sI8S6YtXsh|qiBtCc~nt!5wh_>;ByC_&u!)AMMk!ubWtdi?6#;j_DPD*pIR|A|B+IxM&U#!kzvQ4= +-{V21xQCMw*-B&-o$qF$`JY$T>vQ-1JVT$V- +s^!v+A-EUxLTlm&@V?;107hqV~khZI;tZ(3yUzea@fJy=H%rQWUa30_|+>r(u<#_-X`Er}Vyy=f=+0 +77AQG#Nz?;t270TX0FjoPVRm^&6Ja&_OLV4^-Dcz?Rod>k~hXWdQ>zC|5^OwL*Yim+D{88q?~REX}bg +dMRp?Qwh%FlxIJc)$!vhgE2>k@mL)BcF#FlaWu#zWf-4fm@{PUA+#(ZMe8N67Zt|C~2mw{prt5S@WJw +!ePQ~Rv$LKJkoGRN%uurOx@G-#m^-$oSSG10jgNKucoYM3nU%OO#%!VP*Govct+Ern*r+-#cDJjqmIE +}b|V%rp?nY{#2#p|C)^jz4-&N}IqN!k95HM!PZ#2Hb2ZAz(Ud*uz}n=)6z_z`Yl=q2P$QBr!0PYlB+W +?emL1HNpQt|`K*+#?Pe@P&T|^a}VpLuthj^5u++zFqA!o?{5SVk9u8&e!;H*D0s3@D1PM$S9^qs +_$tDL!*&3xyN}war&5Jd(0b&4FT293jpl-8^i~K0RxB$%+fX+3{R;;UHZqXUBduTkv#;iudiQuz^o-8 +0Ocxrrf&nfUlkxv}fb>Jqq&+2murV(M{>ilSLHI%v=VRWFKm;rea}{^eFK2m +SRiGNTV7qul^YXix#Gk3eHy!vZ%e(Ux-?J%kAu5TI3|)}=oZv6hwJZ`VT3za#&BY<&_3gG*F+Vkpz>{ +kp)5g5*@-1I7j#5Q_%g-?%YwgylBkViRi}1UV9PTR||#dVr$47U*zCBq?;Rz%DM=L&$;;_rx_XMBV8% +6PD?rk4cRwADL`acgNaGvn8xs4Y0rJXP-FfS|#tBJOLxv#YqNaZ}^rp+Tj5!edo?${y5HlpV=z4ky~h +G?`@vGZJXP2LB8sYZmwVIt7Z79JQqNk^LVk?{hODQrZ$ZfN0d|!SAibU8uF(^s39RtS(kC +C->Pm$ddr|p-Tf(vTqaqY&aY!+#KKu73uQ_p3aYOAQ7S})5MRt4rcFdNp<$Y)zO*{W#;3oBa^(K?aKi +u*Ni39(R)+-thw=oE~L3v@|iw{4>{~FkqBL#-x+A|G2t&IJT5K+{+xlwG0bz`u3F%C9pUDYGUDb$bI8KG7wU)XioT{?ttBgxQcOeYF>IGjn@)E +mWclbedm<#9pYiKCDn9q^2>u`Xc?*EkHKo_qz5&!Q1so%bHR>*7{0G^tMZ@*XssPNxCSY$(t +P+emXiR~_>R(|6rLubb?VYW?V#{X(I|AGh`uXOMDXs^EmaN4kX|x2^1w@L11ySJoIMMAwe7(4o;f?u` +OeC<;y9Nmy-puwl8UJ`wdX_W4w&Z7>@m4Y?RTUn9avLc#l_X*#MPdK~zw$Cg2@sKD&MxM<@rE +wPxPW49EY#2$)?s|GI>aG)U(F0n_3J&Q2~GLsBxDLDhm%sRV{3ajBW)EYk>PJXr_)Qq`?~NbAR}teRip4iN$Zy>sTVW^qDY@ +OdD>X#dw_!!@p4PBci3%aklSd)P%4HFgF-TH9ylB(D3Hj7WW@}%?9Ri>tb0WoXC<||E4HNgtu|fHVu> +!b^@Rz1C8EeXB4YU`Uad<%B+dZTADF^s&auO4vh>I0rUXl+FM-7`1V%`SdcM`MWA?h<3kqOE&n@}5ah +#jFxuamOOToliFu)@Om{|Zv=sP7axbr-{tXTF24-}I;_GX6~oapRmHu)Hk+%%OSU#g=UD(vD>zPQjam +0*hM%QEDNK!XHI26n;xYU$a#YubgiOUzg2H^r6kw1>+rYT>OtPuxjV(p@bBW1tKw##6nzNc@+Y+p#2|asy9Nf5h;mXsZ`&@@WIk~ycAQ#@(&>kn5D7}Pg0|%t#+87)Yhdr>Wx%lk +{D{^+Qj>iot=`1C*OjGP>J8V{i6&T#P~QtTst3A|RKze1;zd$c6hy&+zFnYS(qk{s&`O<9$|L+VLtD; +5_G;m;Mn7_`x$k7Gw+)tMyXKQ%Bm +KjAx3gQDBa#XoDYke@-S}$>C>t#|6)0a-HzpHRLk;v7c*d%W)d;mr0%Y?ka>Y?=U`QeVGP?$b8QWqFSpOm_aH`-u9B*WMhc@G?$!&I4uff7%{~OsYpux<3tRND~Rs4)>dZ=Af)fvTRcvT +L{gu9sRLn&9@`X7Zpi@67XvJHJ$;+W*P?uPO}f>B>;{CTLKSlQ_-=85sDoLI7{$u9ML&5o%9|YJ2qA^&hGxsrH_eDq#zK*-Pdsk0L>vY7%tCDhb +AO`xy_AOUEPST2g8GGMcc?s6MVWX>Pz@Ix2Z4|OA*);qjN(qv{|67OGHN;_63qmb^kb( +Sxk@=HvoDfLWKR0|)O?&vxAYUu++j5r~McE%#_p}abgHvrIBhh$>hCdQTMIPr@x@Wfh|x&deBh)CJjJ +OkJyo`9wzjR5ScknHEE4otvgJkq6S$kWj?IS`5sk{Z;Ws!Qmlkp(o8Dz6pvG|kTL3xq}CqkK(o#cNz#M*3>sf=P3zhb7gz= +)JpS+nJKDKv^F*{kPY?|{d-!3>T_P!U|9baYG(igYyhIcRkQ^uiZrN1miYGeEPjcVxc5QA?Co;$kZ~3%HBc9+5zi(f8Fs49;uHi&0bye$7z0zQm +uT7mZ`DC1c`J_A1n!Y!2eQm(MkBBcyf4t?T*Uh+)&J9m2b +M>_$-+nhXqzHP}M-apjS6|e9S>fz*w{iGDJ9q9dUm0y#NHIrWpA+f;P)dMRFS9u^?)`XF92r<&q~R6*Di-jVn7uv@`bUG>c8eS)w1^Cpty=!MVaa@`O2h!$g9Oa@l%Q7q>-OVYDk@iODN~4 +NH-Ub+>*NJ!Of>OkDFglK*U7A$sl3so+QGbf;iaQ-&$JFfThaQcuZl{y6&}u%=Q0M0-RF{^44PD*J5u +#g|GV`>vLOFeiWXMBeVMImjv?bA7dMfh +6)MLvkvmgzg9(UT-u~0>PEI>g@zo{hUDdu)KMQexQ=w|B-9yMHvgcEgm>UrO+XO*}W71ou@9Uh>Xi+e +yuH(Gl>58AP2EdUh2X)klyon<6^h&KhNSu93I=268wFLBx9m+T2g_ihDZqZ^HPy9~9zExMQJd47U%pY +R8}-ooLdemG_SI5Pma$q77yVV-o4cHa$Kcb0REQ5kZvD8opV-Z8!iE@Kh1PeY&BsqWuzlwHB(z@`-X) +XKk#DUeVvbA8o=@W^A!Y(=FGEsdIHLS~zai!w1Z&6=~Q3d=3fQ={Fm*a +RT3#MEuHq&j8$0I?W&2P5Om6I&KA^ +1^QATkPK6kGK;;l}M$Mz&i*Qga^}6}rde3l}fq91Elk9aOt_;0XptU{Dq4LX94IqAL;>3Z@fgTTr(UF +P6*ljC!469SA!^(}{u;6i*0-%ciJ8U~*i^uQ)OIMr?U;6u>sXZQNpmJD81M>d}$9ZQ{Z}3VKt>bF|ZG +@3bD=++v}&f~B?eyefz56citsS>t5;{n}lvq7n6f$6ft@vW351wbc`Jca){cE-G-!y-M>{eoN2;)qs_ +UF4$GxxhQ35!jOJ&?(nJfk+d#M<-rG$NfMqRpZ%z186^$G$N*UwZMg;f=XX(U+1)CQrlpr1;pS1O(4E +~WC9mInI6LM`iPN_)I0oh#rL0!As9Lmj#4WZDvazYqOPk0>F+QX#m`1H9WK0k@gIR|JS@SlPCe4CyD5 +LC5lxs?jy~7429k~~+bJJ)phl6#g3l=i~-2#%gc;JF%w|1!t{r&?LOzB8UYG0(MNi0wBu)wUPwps7d9 +Y4tI)IOb@c$=Br8kHAhMl^^dXT*Pqt#L&}s7#MZdj=+5o*FAJt&n}R_flC$$WmsyC7tF$nd#;TtE>dH +A;9=isXbN^3XEIX*kwO1E=I=YlKPvpo2aA&8oZ&f?c8b-A&BT?d8bK+ly1BrTb!Q0%egUeITAw=>#e} +3w3E8s&e}~qSl*U|Oy^?`fvQVBbIsdf#Q|J4dM&m8cbc8n#)Kp<1$OhG(VZ05{lRM%+$>y2FKP?7@*Y +54^kC_0byLJ%Y53)iWunb2Qc=?CR>5_*NYvPM87Z(}FVl?7gbn$FHF*4O3Y!5Uf{LE;gCulqZn$%h7M +dzn8y9P#bu8oju*oQ&<1GTBo~xf3h;FJO6NRtd5-V_gRf@H7Df*EOj|%nD&tato<&&nZiPmH=h901r4 +ZTcubZW<~w{t9W1OGP3;%|?$MMKu(degJXiHDsJqIOaoeffuPqP;1YhKp{TD1$W*nb<%vFxlq`F*UU? +*g1RcEb(&whvsENQ_xj7V^y)=xchaOR5=HVOl#fD!9=LFhe|+GQ{!>LeUE>?XfWB0 +j&`}8&z=SsCf110I#cUZH+Uj(nf=mE0EY^mpS4T*Ow#7=eX!RE9Qt$S+D}5$-y>S)VT~~* +WgA3LDZ~&62i&J+hQ4l9%T{&mVYAT@kC`gQ}qrFh>xwRK3B{sa+ZFKOD}^K*MGXdtolTWqF8u%z_iX1 +)zQ3j@(`b1${`o?!>Lm5q~+=b?iq*eO-fy;#Ajs@rt9o8RK>;cS-bKJN;q^B}9h%w?$ZL?pb^|D; +868mvSQ-Npo>SW4n}tc!;s8_@4g_QDi?(z{69%{{x;7@=S>kajqyyK9gD3+*G{kud2xnz*mNMZqj`%< +Q=lTaKNR%pQ{=b5P9pzm{jYgC +ho5*u7$o85+#M@3tL*12?H-XJF5HQh9oEYWkAAg>Yi$Nk}iyNLP9~xO$`gv+%w9uH<|hwW%zTM{o4{l +cIY)oM`(@$&aO6;TsEF&FKP!CX3HocXrUmZ_q5QY?!l9%`!dfbkx2J{M?4PNc7=61PR&J9itUowZUdOl4MnEt3V?9DA +(Zf)u;0=hwPTiRoBPk@w^n#=!5gJ5e|D31&oB@%Dwjb3t#nq*#}d3*yrA5E#*ivMtEx;c(xW@R3#ZEG +io+u4lhF$bV@Nzcl0lW*37z2RI+~+eFN>0rz{9i)p{f-u@Dwqd5dCvk^V=G^7~~mG|BAg?5{pJNQL2- +{?SQhZ`MZedpr~e|2G0zB2ypSNV`SDlfOmp8(tejOn`3ejAn`u{Z(w(Y_o#obB4Rga6ri$jt#$i8%RB +Jct9{5c@=ak~c)1HcJ=BV}*wRwr8Z}R+dWvWl1GVR*``6c!G76-4RXuN^9sa;dZg=XE;rDt}vcfMvc* +t^8>zc0rYk)=|=+{W@H`bNjCD$co)2GDo3e1%Ld=U>F)OAbW1jsNBK{+ENx742sIfCd{_q7y$3Ld-dd +irEM)xy^Pa(2L}$8kAHm=%vPKvo)gPz5YTA`jMJsI=viFl>g3Y?%C2SO;S4F;IF3=}WBpr2iSF(ao|8j!v-Oh=j{A*KNoPCAuMJY1u=a5Bs| +orjU>78V#ze0ac>c%W34lN@3zeCb1G +Fhd4j_;yB>#et$CG)oJqkfBtdrQlinl%3YR(S9VAt#Pcpi)tLIN9G@BISh=n2`)n!_Uug-2$I>Ezu_@ +p9QiK=O|00aoXLKnwC3eB-aJ}F5ev?g2=lasl#M5;w(GY`~_R<9^LrD}v)!ChKc3|ACt*W_?FJA37m- +b62cio!0)~3Dc{k@#VUFk(0?sLJ)%mVp?WaLdN6I{^LtP~5O9J7Cm +-eZ+;6{%UjPrB9aOe>R#?8;?2A1dLBz^NDaJ}}`*n?ZaRHBkxb<j&N|pN^_H}o@BS)VdzvD#M=9rYaiBD&BF(jJY*22=HadPVpmJhyAS+4Z0mSGIH60w1Y?h+F5 +Nbj*u^u9q17pKAceSJN6nJK=`53mVezX;T^?97V7CHeKJ-?S?i8b+YA%3LzubHyXU-!)kqGh_6H +Mv20Vw9~EVMPzfRnmDU8e35-NL3IE?lP!~paCFjR<>I6a;HYy`KG$M6KabU#CxBk +5t?z4f`Aa~KGgy64wJ_`E1y%Lm@4bi!D1MI=FUcOSd=`hI-tD^I>RwX`v3YY{h;Z)`6YI}@tbiN1z&O*l8gNEwNK+Pd$5>jmA1f(sU{{bY +aGvIB6dp-7h}?ixGh=R?ZumYYPlu%uCJ650)I*2?7u0610htO_An*XsTTS(h$15P-pkFdO)%#Ps-ns{aygB7{-qb3?E9VGyJESS$so7dP3;BPvRQ;MO%RxDvpWvV +oco;>6{Pkkd$`~X7)u=q3Bfdzf5nX;uWo~E>-+z-U%>Lq?5N@pv2p)NYdHLORP_IUQPJ^;{2*XN6U7m +2&dyRRcFIdU(Pfg&;C~N_jFv+w2l`+XGk%6F=KZ6YJ)(M8L~|lm^tZ~_i)_o^J9*Dor#n*j97A}vT6` +TtFsjdf1o3XuQhLrT0pbEJYmB*yGxi7$^vK;gx6U-aAp{-pK?zw +NQpk(kzbe#lXbSm<^_%|jw8ZTDe9>hI$|#E)$ZW7%2KP*WHpcUh`p$)oAhNBo{zew7xv+~kXlE=7OGW +qh6bLkUO))e*B|jGcigGw?>Y&|_F1NqN!B`*(`SOO$AlgRUQ(38+3veyI^bcb0dkSTFgVZf&!< +;&_=Q7|HwKL0UNjQ;|`xn$b=q_W)5SPu)21zd1b|GUmdDbV;_e&_pW2V4}lV1_NAw9f#K82S%5*!Vn% +7eqgcrsOEc$+DzK2s4I7$fZ#3Nv28V +&scPBL?@|LF1@4Wk6ua!cp%rfO`{30T7zetRKxMtPelxukd{V%}gx$hLPE$)cX&p0IJBp$_c&{PYzS!8|Y1 ++4l_n%}j>`a1p&)^{po)_wP8c7yufYPg1gBLN +W`rj?Nw7LyQ6f8Ba;)ll5?6m5d3Gt#8#yyDTvYeOnBCfVTNJTZ#a#X+%TX%LB7xyTu%z9x*fH{h;Yg& +5Q!40~8OPc7fPx0u;lOOM2C7QA>vjH{~7eGSz}>tk+wo?w@lHh+ +9pCe8@Af^|t=vLUzO@nxd0(J~~N8)4~uPI5))9;|{kUcqxIi-`R*W=C{;(q^oG(Vk}l1lV4}rrCBe>j +LXNF&4@fUr5NqdDfG2EFABe92EuP&MQ)E_D@g)9M +fI%(|q&@^O!j&%U^$a2T+@AQyNQG~Q{s$UAws#=b(Af_>KXM=LC)rlAn#e0Pa4(AFc{{wPZE=6w9(tv +`G`vF^RA3HHbveqv4i +h<6@3S=FN|H392yx#%`=ryjp%|w$dZXOj&VO~gT8Xd@6eDctZU#G9I~%#Ap<5EVh@tm6@GS}b8Qzi*$ +Qo~}3`ihvyofvb+$E5=ZAtNc{Qh~cvPpErGm7@7|f9wJS>U~nXnKxf?Pzzfs?Rrph$9WuJI-&4^JTB%n=eRHWXBag8{xO49xao^J`nW5YH=f@wz*O%zrN$z0LLEp?4jiM{~ADWklSujOwx~n-sOWY+0Su(E3p1=8^_Fg +jxvH+xxp>->A?i?;{R)PMPU@&sTU@$NMF#Z_2MnX@Wqm^k$q|+6w(rG2L&q#xh>2s`W!q98?eN@C8md +EHq$MI!2Aj|`2e{peCl{W(2{B7Zm&mDucAa6nMOMjTnxs4{rR>+Sth-;g#^wpECOQoHZ}} +`{PfTlr|_tYzArG`520K^+|gmqO^Aq*hiYL27^|yds=njnLlkCx +RtHYyo`^&3&Q#G7zyr5>mHWNQB>ui{89CRU)G>#%cW>)5RVqX8{Jo0|Fc-$Ihe^t)0q7fYFq5H|VqD4 +DQ5zI&5I5DsQFEiA-H+j@+<#blb+rIn@RM|xASUOsdn4$%3c*W7{kzAllq*^oAp+qTyrzGQh5>D& +s36OlHERt5fYs98!9DoZe{2KMnP<$6!Oys(XV&Mt^`CNtZ3ET3SA7R-MD#3J=Pwe7D3RlJz<>2sIccb +hUp}ECZuU~oDXG}>BW0lD2_$&3bY%(zG8~zi_Ns)Id>xQ7fL +}luh6CWxWh-U2&KNKTP3apCpJZ4v8~Z~j~DmANqrZ2qqk&yakbyo@IO%>ag}UOVfNJPv|@XJYg+*?nb +CZyV`pM6r3scBhxRKf*%fhPYf5CJH|EW@ZWd`AJFp~FR*iKG4gK2r4{(%3OSC@JC^q%^d2X`wf>p@Dy +$JAL_^IfC@tV<_9%uYz#Q*SSF)B}jYlX4vd_^Ws-V}7^Qdt>1R)`}CzZ>b`L81fc$XB;4GVttjQ&tPh +2%-D@5~DzYNbi_oIr+Pu+G1z)u#gX2uB_oY#J*O&rxLcO-0~qeNu(UP9AqAJ7{UP0RVd)~RBDVWcJE>$$!Fr55)`{MyTr68lFjqL$v5-5?!pt2gDBzWedv2My&YR*KQ{jM;p5>FS!UIm +8?>yAv7F-3^X;%X06@j9AQKhEBqugMfB9H1<}8wAU)dtJd|eqp%@3zX84j$Y?TIL*cjbZuwYggnZ&8U +nSibakZcyJa#DYk{lm$bNhyCd&r8on3U_KJ1v+KbDAx}0z9j+?$ri-rX`Ls;@2u#onm#`CYka!`%s46_sC@BBhm*xUy!D(o}usn@AW5br| +FvDmP3`XJ^7lE_Fd%b;NvE(%#p)()}9CA@=%a(V$vE#1h=zQFn!UR1m35MR!d+5;zOSne +&)z#33}Rx&)?1z%SEvV+Z!YbhInW6)N3kPMNo{*?bJVYSdb7kBCI;(AY}Pg~kRwG^5YPxH@Su(q8kGp +;%8Sh@j_}CxTPH{g#l=710I8wyTK&Jz&u?^oP`5#Ai^)SGc*oI+-K_kE +hsV|sP;rQ#pS6tZh)*dzLDXJu5I`M1LD*O$NTosBh9F%Od0O(};SFe3SDhEwbc!)}u+t?aw_sJ(X2CH +!#SOh7jcJFe;b+XhD_9{xV?zR;IuN_fYK5^XCm9b&Xv^iV7}We0UtM|KRH~q&dc+u9E$k#hJ!|<)m%V +|1)K6Bu8cVZ;2WBSfFHHPN4R7PqHXKJQK=%IyP)h>@6aWAK2mq6he!-uYb6DgAbwIiQ1KgHewrB+f1$8&#c&NU<& +SMQMtQnTN{-%zv@+~i$qq6G=fNQOb9n40{7>OcmyK8!IB0nUuG~$vTUT9rtuTxs@cK +gLt*Ar?Jxu@T#%D@CJ2p~|%zD|l=85`Fq{O0l~SAiT>Mj&i&R0+H&Wk9{aP0v +_9rJud*JQ4V?wl%<|RD~7mGaJ$;D!Ja`Mf^x6j|cyk1AD8=5MTOqbP0+Nvx_JK +bdu+##Pm&DgDPG6PO}vqpAWa{_V)dg;%#1nk;K2j>d%aba;Ko{(T2>%m6$oC*J%z%qg2}8_nG|=*Y(a +8gU(P)lCQx=TL8C>@D0H(T(bjvwa21?3*Y)+6cVW*R5dC^HRyRXiWcG?!I(e_{2$s;~efuvVK|lW7QNZ3~dM9f)ZzO;#jx;F;Ot +|1ha)E;I&{OgVAR_7L0qU8-cUdI%YzUZR4zi2!(eXZG4M!_myVIzeO(O$mEQs*QWUY +GQee#XXW~&6h(}_G4m~NYmM*re#4rQobhlAeWedM}Y3^S-feE)ZJp#@qH;W|BvhW=U4Cp0LvjT<%@6p<&MQzS;(i3)a`hvbvYw9~2?F%A@$ +efEOWC_q_p$n*l?L=%+ +xsf_fh@p+S6df(DTHA1@rKxp(MgT3Cam&G8(+vr}4`K$-JyM*YJmDI&M+96C#OdnA3m&iOk^;4TSe~_ +EG`s!6bk@>v#8w?3;T5#D9t4OJCn%9!8j;S`C1MLP6Ka^7%3J`ukh~2v0s>)G%8?Zizm78jT67b!iz| +z=&SE1gv0Q>}*63)L%Q^gV>IT0WaLXl3CfhBS6jwnHo#DM=E +r2QWkV9RM%48H^xF4p)R-h%5IY!5*t4#V0N8L%0Z16QXTgLe_S?E={kB9jzac$9TSZYx9}Dt7_+sMA!Ah=C3(WZ~VVrX=$Qq +UC#au~n6H)rCxIHOeNZ27%?wrt{lL=&Hru=8 +$TgvoId6qNM2}Fl@J$5xJjhCg&C8NA@fzk8w}ibsv=}KNg0f&InVt_1JV$fLUnMJ-aEAZ&3jX%Dlz`s +cflEkI~X`(3Q95gKJX$3!pm76nI}am7xrnGM#{(?U@{l)-uvN(rHAbWiD}yOv45vgAYz$MMu8%p1H-r +RBYN9L{H>B1cnCTOVf3n=GJ;&~5W3EDD_*V~0uBWn46vHyAoc=x3@{6L0#Mgd4;2E3XUWQnjRN09Ph4 +utXo-+K5DsYT5TJe8eirqCadQS|yTagvG$Llht2>ot!ho+pPq@eWfhs3e0^D#e6Vn#LfI?+$9C*OfpX +~r6rl*}CXcj_=OUT+do+Q+mc%~TFg}bfFq`1~~&%ReEAA|%Y-UuY@CNRnt1co`qFcTqYkVc}YfsepqV +K9p{8ji9DmZuc)EW)b$k_$!vXjN~*;8EpL=g^AT%roGOe3BIvV%~@+`ua+3@=k6u7g))&K;R|SxUiA) +00;8E8@Z?W;86YLiq!{ssZ5NuBR@&Pk;obo7DFL+xG|rxv_V2_B?jNJ-DT9%q1@7pxVIv6M`Z%11oYP +ZVhlzAG^B7?R8_gvF<2$%2pCW>ouTqoYIO@H73n4##j_+BjO>WpPMt&?oDTQ~iu*x;lPwj8A+oFp5$r +UL1dXY3!R3;~2Ee1`t!W_6l?IqZxf+Te4>y4=wgd&5@OO^&P8?z^IFcqek}}~^kpXNroTK;b#A~eFEX +OrI*`W)2=V}U6?10Ibx;kB_n4mlh=viKz8nX}H`w^pK$9PQGygl#Mmc}4-djd|8{9sVy-@(w>2{;URx +aRLWHM)*GA}+|fAwE5*tJox4o?9!ucFs=%Zv=w`a^?MKca!41pE$1JeNjayj?s^W%0mP4;vTF3D(YwG +)OIGm6hRbMi5L3zP)i}8NVcaqFGeudyF&9V1g&v)iUDgdZiSq|g0}2EFlqEmnm4nq{Z#pFaYM^DU`3% +nU`ew9ztN!Sn3u108f+(=hx>X;ItNkD>{3ID-dq0q(f5)D6n +EV(CDD+d|+2vEYDE&J8F-4tIby+u-F@Emph!1@rx}Z7olkFG1yvXraRLcu?EkDsY`MUR2roy#2V;EuL +H>KfE?&W=gv+P>mf4i@|(b90A;!4k|tJt$m)C|D5>>w!rI*2#d?G8|NlC$14bY?^P`*Bm#;78gJuByP +_uvehM{Hav{hh?-XUnkA#xA47eXM8Xe{6R&j6wBv$6++%I2gDUwpx%`L&6^LdpcOxk2|pVp`|ug&;@~ +TgZ$+Zju;Z-AS>F_mH-dmG2cdl1zgC;*#p1#_Cm1TbuS2kmLwEG=P#c=Un^XXdUDL&^!+vUqJmLzIEk +q&mx$o@GjPV-eaB}4IcSv!Ncv`Qq%|kYykd9))G*aM|T>Mn6T|J8*SAI4f(}gtU9xL$_BB6TknZAk7d +L+teYO`U~XRF4jmWT +l-B)R|adVRx@KB&|(A*Uz0kK5H7i9LGHEO8Uy=aPh+rMD`~R)xpyiL7L38V|a8T{%f#0H&y;bux)M^1 +9?)m$r6{}L~sn20pem4Tb&GRFqSE;Re`vnh*RILxB}JC!jK{9v5B9JqK4gZm&bWfVVw^R_uke4;Zad* +5c1=!)LTLl)K5z+IkvW^-DB{xC}(;mk?A^O6eonM_zyO#P9%6xyz5MSC6N=&#JMJ>s)OnDaP62 +aGelHronZWfDb2d4S2--Dr#i7t&Z};V&+n9w4 +VFBJnK@PCDG*D};Fr!?tbkaqGc51gA_62f$bLk=DPw`cZcystT +X20;y*g!J6kG<~I9z6x976BM9Bs(_8H0^spwaGkYKIB*inlwhyJ%ty&P2`y?@RO7j?&*PQnld~7Q5Fp +f`?(#YZh(g2X5kXX&XQL-Pgme{QSP&X;haa6umUttpuHkfFQ74?iG>(V4EqDg0_%Vw)xY3BWL&FrMvB +e*|+_h`(B%tJkY59(NFt*Vqo^~|MqhKmH>znmKolK0h%(<)8J4^Zr(C+_P(bPByC-ex6PfG_e6Ix +9PNQ13gToECG|&N8?uA$2&^0=A2c$Jvd4CbXHUZ1hQZcwU(8xa`#2}2I=TX50`$8w*UZBA*+OFK9=|@}s +*#_F({|zOvkN_jq{xA?YW~sH{&T9cFu#0tCqs9*=hCB6mqX8JDFmOJo!PztLqh5mN;n4M3AGU;y@TZt +TET`}Wk={Z|;|msTFoL+XKM%z^pS~c?NF7>|9%6W)z}T*v99~pyuLk_k6#8WNTw`*0DtJ#-Z@^#r3Ut +fsU)P|IUW4wnwY$8IP~6Y97Ta18YeAZ!KZ6Z9#)ABXhD8g~)R@t9{Aw_M(FQ};5;ds1wr~d)!yY~YBr +vTP-$Gm^$94Z;ePJqk@n)qXu;jeP^-SQ_nWbgWf6^{O*ggb`zWGphLmnLeR0qr0V;w+j|db=ut=N`1#7RAjW%i}7_bR_sz=1OAP#zzgv2DxF|0LE?{ +&GEcqE0wPby~914t{96OH)+#H+oee-u}x8LKy7QSA#Tj}ZGc?xW`D$K2l<=Ld*D~7A{jY&2@JoI4RSW +QX`saUp4RPVp6x^fV&?_We#A{FnY!Wp>}*}<$r&EU0qScdZzUvL@Q645=N(&sil4?B_kyl;j7K5uu`s +Hu;|7~7EAA@G3@TgKqbX~O2L#fZcEh-dQ2I**VA~nn^I+{fQB&Gf19xG`lxpGfL&=+8DH%BKII6e0;t +df(^Z_|$dLYGaZN{yNQ5GoW{PV@Ni}QyYew~>1+(x^;>N6AZQq_GqJ|5i}N$`pA_iRN9u_TCPPomcNX ++pSY8`0b%$zAOF3$S@pXwdc@+xhU&TFP>XwYp%roY_+-G%END3#-q&-i%sRwi_MkOh`q#F($e_i5;U{ +PlzYIiN9*5L$qwrrcO%l;AOI0c`vF7Py--DAX`oq$ju>{cG*#| +pqEK8rr|Is(dfk`HI$jKTRDy??w`Il7l_Id)x+9^k1Y-=H=%9!?!gNS<0Zp* +Kb#tdK&^!t1>C+59n$lbBy$>g2zcr|L}&h%>{QrqAWk0dMmeHZ(+9lA&u;T9fDvDw3m_*CH9iaov)%P +}piyHR`%8WuNVbJrP&xpwkp;kSC_;9```E;j{Hd(6sx`9m0)!ZB?0aYfG-p;e1;;3N+ai;8Ujd-X2FG +_LB%J>PqRuBRkr#iYheyTR1LOj02xG7>Ioh>M8VD{B9XxR)9;JBv1&!LHly)9h!+`ve2oVoU6yF&049 +Ez@!Z{!?tQ0{|*cJJ68y5w8`u4n)gR$kt4hY;H#odPNn94*RHNoaiRfHQw26&>U2`r9E=ZLJ2@EAN0( +H;hBoT@YW#{%kKj)*+F*%3a|rNOq0<2+`Q5p`@nCq(dTYGbFQz1jW1rzy5spRq)r!)LomNGTUnrmZKq +WtCxo4P$e7=1ScF2~j+1k)~an2}h8`wpX_4Y&=%8r)sP2ZfbWhxqtY!D_pK`b5Lxo%WMGD|4zyg0R84 +IF#ZY>e!s{2C{p-^gD}X8xj{sM2y(j>hu)Hc+Z60CER2iB1$A_bCX~$6(guArrQqWOSaq^lPDNi`8rv +O={h7HImX!dn3Jm6m7dz}q(EZuR@Sq}L=f=t85yRY9S)uiNvXL_$bn1%}&(pXxZYhz!m#bJ-PP2`$V$kem4z}cQ=;4^ +m!Z0oxatj!cUuOaQpjH4GR}=;=A`JohG#ILq$eBAVvYF~Q@4~>vci`x1C@zETi`Q27U%HKNshyF)yS2YNfS9~?pU{_~G;j72q)E)eDf3VhtGCia*+Ogg?k*2&fyb%>GT74Bg@s79jb4^#-b>Jd9sor#OyKMko$ +g7ZyM(7QkFrXkkz(T~o0Z>Z=1QY-O00;n+tx-``Q7SESGXMaD%K!i$0001RX>c!Jc4cm4Z*nhWX>)XJ +X<{#IZ)0I}Z*p@kaCz;0{de0ow&3snD_DE7qEeZO-H+|4b^0=CI?X$6noZJq-Q&12B~miS5~-4u9d*+ +GeeV}Q00b#H>Fn#Cvpj7qQNRUoadE$Jad8wJ-#-p!MUv%c9$6w%^gQJ6^;7PIGmf7N}4#FqH;Pm +0i=`sBCS@4f6kGH|A_@CK2f@0rivox>LB&ds^zDk1^+xn`=gIC48zKzQ?__o;ONnB^}4nCx15JP);U1 +rlwUBI_RnWn2WuMyU(G!4Fg_T=gFS5Kq*Z5_mU5Q?dc;r=mRi-iG=^%YOOV@Sq +jNU&j%c2|y!BMa-KT8) +C~CR-+xVx8t`*#YRg*RNl^Op~lkXZ3e5nM<7hD)?JmrOxY7P^WKe0^I@YWeVM@>Jb4YtdD}9UVcxXhJ +qKMvv>-?P4p3=0qRE9w-0LPC-cE)G2j4w@_1)8#6Z`{3%an*7P!g7dU&1%H9}myM^Z0oF@c6G69}f +q^gD2lTe);O@Yq#u|Z>syVD?~&MpU&X_FuFg4KYtmFu;jDh!FR8J_ntkD1$`JC93<(SP#G_mM +0ScAY19?2wbzb_4A6SW_UrJPRzO&~LM429ydv8T5x^hP9uq(qdDeeG)w +!Qc=x(@!>v7^$7bpS;w>McmXKm;&Tv5%cW6;%Z7v5vZ&I*5Q-hlV7XO+!*)UsD{`>^IN+Kf-foNXI*3 +aYXduO=n+2dUsEU;qdY?q6(Oc;6G6k>>wvKQb%5+dQRdF(iU8&VJ2Z2cN2#{0@(`XUVo6`Ww{50L<^( +Oc+PqQ+c4Wr;0%vtb#!DJa+flv|Ib0nCn0)p@$p3Yz`*3e|Otb%Dei#NzB>!6Ca6?KM}crX}9eVE#5v +Dg65f@KX9IIA~^XR32mY?euY5U^&++<8z*O(ZuQO#?L|=`M)Ms%n!4M<<_r{@2eLO}I30*-TPoCX-Jd +o`zMroZ}k(brj6kBh*rW`>d+PNCsIAn+XTq0r6H5WmQ3#<+Gy1NnLJ-ihx#|Wu2{;sf(=2fD%>(2=Zb +YPhpr9(0s5cV3FZaetP)~upRsaBc5j^EEcXE>DqaE%cPIXLBGYS*Xb7LI~**fW#B!7O_>dh5y*;?qSC +W*i>>QMq{KN?xM-D{f^KoG-vU^vrq*hwzGAOAb4dd~sVit#=@=n{9Gb1DVv!Ki8Suh^JqF!>QCdQnUl +ah7`39IGybOnoSy~0}jh{y^Lq+gx|R6#7D|TcF7R1=5HolR%s^`LN@fBE4mEI!%L!lN +!qXT^ge1498g`Wp%bJJ^Tj9bi~s4qI8_{y7DrKr#T5087BeJ%#U+ulmt49Ej$x^TEJr>P*ZexQB#6Tf +t722abbx3DbqIfk4uylLj>~BA8!iv}IQ{KZeWt&l@AG$6X8PNJ=Whxkpxn0LrHcg>Oy8#T_x5Tj6+nw +$ZW7Sd+$!s2J{SpBj|{4A~1ZOK^@S!Gay;gj(DIA#}*}tp^byTiAdB$y)24rBJ)*Ip;0(P{Y8W|;1&?Q?OM2b +$|fqiI>J@WOYTS +GeEWC#4SXCnf)@@272RaH+Yh{BpC}Ua%z>V_YpBtFHO@(6vwv7cMyQ5O)%(7`iS63VkjaHw{O|vWZ@PW<=15pRmfbf^`iYIB%32s0=JI +FKV-oQMy{!+iL$&|qNUw_v5G!&Xu5QUo?2th>-DAU+`z)KlzOyG3+oVirYUImWR`bK$5HT~xP|~bM56))-E;L-$qa54#JBO*CL@ +DPhHkHkX}Fy>_(?>?%zBf?3*pui{BU*QHch?Ct~X-g*lJd@EBcx1>vzhd6HZKDhymK|sNxLVBKcPQlk ++WlL4!qh19Kpi$mIhsLDxVg42liR)p|{y!yB;PP>gChgv;A>Z8ZwHFdNXk^g9+eY`aa#Pqrjh16&4q@ +McP?omB-moypi@&5M-LH?sN3ZMIw@Y~*UFQfNS`fU*lsPKR;`be?JsYB?z|w;9`}3L5gL4ptFk(dR|| +tQib>q{6`qGQ^uvDx+JCbKtNvk56U~_68k9pq;)Ma*St{QY-%Lqxch39uiVztq+8e6dH->Vi^%*A)&3 +uj9wFD3)qomyag&M5V31NGC{*JHIqA7y&`qEwuwx3j;ey`5^ZX94`jL7)VL2El{m**7X~2L+@!J=V;{ +a>A2l$uVRCI&$|PZUUeQv`iZUg8oXH3cWj_`D9q0$uYc%U)t|#)P(LzXvnOzkH(DAxV=P62lbP_ch@4 +QWn%9G}wkgve2|8rLbw`cuoG05lj*8gf{pfvh~%17b2!p4Py%+TICgup`~!kvUTMhd7+WQE(`zJ#2W&p+emuO~D~x;qc2w5gxI}&;aY77NQ*7Ks7aj6V?Gwhpuu$Q)qAha)lwv1kV +qr!-F2D7m3`UU<2B%j#m{16r?5S_j6FeI%PM^DgGWUi(7QLM4(8PwMg7_u{ay-Vd>k8@m@97^b +PtWsn6I1^5!uu%q~Y+U=bpByy@u*#$aqxv;7m=WneTb8}0FOQH+3A7GO95fK{|8i_O|p^4bi>se>3F* +?2F?Y=O8&jR(V6jP~g@5*2`3-?&Sc_09yg +#F*?v+UY4G&qM}gxYbk!Ht7+NNUk`W*RB580!q8<&YN_0L%gy0pgTZjPqcdxgq{j^gXbXyVJ$E*KK8U +0!?#P5U=cnU~;gICm4RSEX3hmBZ^z`F*>lg7->Tog)#@fRy#z&UaZCv6$R5-{u5Q>=u_KNKl-?Cz3xu +_kc(Q6FdmC2(bXTs{}NX4VI3^m=VkNIhp$!kis*#}z;wRQ`1jIX^6TRasCcW^hGFGK&RY&!@5AMGe`R +5cOI`*04Nxq3e$>6#nanMCABlMiH3^zvanXPpgM+ADy;%>Q~ +&)uwyN;j-yFSbc_4A!|H)1+GeM#hQHotY;-M+1rT!mvg>Mktqhi`>M-(C+=R-EyclaSTfTsZGw~k7Yi +P8$?DK3WN4vm=*Vs@?$ibY?7JF@VL82&(6l%>J*HTLAT-t7AsGS~X*VJk!2bW>2|HJoO`F&|+$RRJ4c +W`9?;f9i_W6iC96x;X*$$_Mr9?xE0~sELM87mJf5WOyj) +Si_`iE1t^N2BiDXC<>)lsn*JprN)9#|t&4TYf~uJUWkH)o6#ujAT^%`|dnpZjqBkMVrLetzRtd4Xs@C +!NJ+`sH(~sQK#!s-ttF-^Y*3ii;cytmNn*Qd2tTr^DJ{EWRr4!2ZWgHQA?tWZeU1S)2 +vh*|8AoDtY+h#U$hKm$Ecd+%a^NsKEK0jeMjv&vhG3GIFylvzjyLzJE%7!liXc3R9u5b%1lMVK6|XzP +xai?3kIn+9H4458PVvu2`1OCjWK!~FE7!LaCtex9n<0#e?OK2dRw-)^}4_hYzyPkgC2h*7JAF`*c~ykr3tRGZmVyIpH$XDWU{jpGhdz9iGhIX)8_pDk`y-eL +2YcJSR3TWp%f0b9!!RoyF5ZhBkRVJA+=ON)g$kzCCu3A&dTVHtVbu?;mTj5b*i-m8X#kpehE*_4LzZ5 +TD@bQB~V6L8jq{wRa0jBEoF@QPNesxk~71*d>tKrnJ4QjC?RMfxNX8c-(~-L_$OM8Sc0c%&LN9l+A!o +v=z*OBNO9wzRpKEvp7|$~`q9vTf-|*C^IhOI}s(npG%br=v!n?64rc!C?4!ou|?St~u3Rb~<187^to@ +98jAyAb4X+&+_&A7~$j;)ocn^G=fLGLdT-4nl!)m+tD;bD!{IzE4#bX9&~k`aR`ga;s(6{tVbz2xGsS +ClgHv(V=eM~Ph4Ny{uZa}YNId^ZjH7SD`QJ>*UVuADXxBl2LfiVKHosd3Z^|frTbHqCRZHL}|BSk;eDvs1+TS-JPS +*5<0!tNF_}A}4`tE30wq9$;Q`0OYEr5!>5X=_0q7y&4w`*SBCFQGRe_BnH4qNdjFHW@8+%V+62xP~ml +XEE;2J!O66LmaA{yOJVUK??C75vOK9rzX5VZ_Z*yxJ#SJjWME6~BM~8kV@Vhqcey1y@6~PI&UE0-Agoct08?ubnlbIe}0$bUZdPGP}~Bbiyn7?!o6MBv +wkCAb=wv@cChlsp!L7|n)eF7!5%UzZW)Wr7uO#5|OZ?QkqSIPb4S?iX(*ed7L1AF&U2n(R_A5}yTrK4 +*W$g}-1UJh-fO-1>_zIi-aZXHF~c1|3}i0eD-KNoCbhFM&OuUvyNgHmenShRk~M&S^_L9i|}_DljeK+ +ri`WdBH2MI)B)fpG~JskAlyYVfHE7*E3>O>hK$=NBIx5=fEw16ima(@{YmcvwH;Gp}P&h=%CMU((N(v +0odgYa-?A+4FB`hkI(Na4YA&!3a~0*rB2Iv3^D~|AiRV{u?0nJmC0d%`6g$-CB_mGJc=SwhoezO0(FC +Mq?1+eE%O>_Vhrd##EF?zgR%an5ft5_{p1_aarJTrtbsT9_el@?5VnQP5qkC?VB#F~Pf!*Z4lQqx-!f +03?X_A!e0+}nw8>wXJ(iC!0ZupsQvlCFheOag=VUzIwlrbvOoYm76}H(Oxp4QE9@2s2e1MDF6#>a^p_ +1$?PLjI_lH~3pB>7O`k+jS7@nz8p62nqSly@sDA=re=7`#o0Nw|I$bcpD_9{idGcZVOYY +s0ApWyhWM?D4*J;d<0*(6t7F}tBy3JUF_6KXdXU9Eh+9o>IHe&Y`hw0%&{)+45-#=-kKXy22I3FZ&C(9oq?Eium_?z_iXxjj}9FJ-z&-||634l +_~P>Eh@?Z?M3_J@xi|%{(X#4zJ2|ei)<~@$zi7N|P+EQ)qdOJD5qD2)x4nmAeW9! +aQHWA+Yts1}di-X&T|wA9DIm;DL^{j7#OtN{S8Yo21%dju05E{>uJ)_2pPb0%9b=^PU0@k+4kj1;CQs +(DW^$zd127!I1`5A~nQ*2wi_eiP$g`+t=g6@aq>}!Ml@3=f50Y+#epk8_1hecr$=EgLm@c6L|3ms=dk +K?GQeEJpB3qTWP_=b2c_SJac2ggBLcugAgHh^zPGE?>=*T_qhcPdIqEA1arYV{PT+c{LHjIp)@*nsye +9f6~2aU(5N_D-TC0~;_DC^JA8EU@z4d@ogszu1a_a=^t%_EgflcYC5u7{?eE`V+G@p_mcUt~}`EjHxK&Pta< +jQC7s3I_iw%bVmyptaEFhm=rQYjrg<91<62|@tpo07Uj+*bPl+(D|84{QwDlXLhw1MP9MMj8Y +RM2Gg&eeh`_d_<=7g|@PdOF_sxqf$N14}IsNNK#u4SKe^d2gY%cM{`Ul1=C{CvJ>B=_NJL^F_tVG4BQ +bSVTY{mpA0ULh4YtF^UEjn#Wz0w{Zq5>XXcmB2afH@ONlMGra|Pg=9f<##kSYy(3&?XE!k(=^J*{*y@ +tUeo`%bKHBDmR1Hs_ly?du`(Tf2#bf{MT!{M+q5Q;P_-gJO*TN!`;E2aHUNnOD~gjWUaD`QYiNgteeq +*ffwk=k$pUYXY(s^J}01s}IqWjOUXsLvl>V80M*dS-j{{hHG&+P8Wo>$Bfm_*lCNdA+j^RW&+PWp1Kr +1|f$nTLFfonw6WpYVs~}%Hv8>J|GsJJ^1lU44NWthVlnba@MGARLGBlMNzOu1fSR0dVsnhZEs-o7jAn +?61JkeCX<)cuozU&Vgo&kt1I0d9A%^Xq0}pz%mhgqFPX94#ASwcpRmL`ewuS~Y~e+fN>+)okrE^|A^( +_+Yzep-j472fxwTfL6g50$fElZyfXwN1Oew6Rzr#P@qSV1{L{N0kB#CvHfUeJ8G6O~qoY;afpm{m_xC5;y{up=eUOj4{Vh!1(4g1zhh +M$Ek9*M=t@Z*P$sMjJ#~0em2IebSlB#l;lOmyW6)a^@3uyKnlo)3`oewq^S|7?j_a)OF?o=MDq<1di84=4J8KQVQ{ntVc*O?q_g&M(jiump}Yn)rN9uxp(Il#YkNzeD +Q*NT_iP1H1E9lPW1^EVPTufYqJveToqk8?w*4c!1-&N{Ft|>@)T?Kl7NDOzwnZ);w`HmrgBH!<)mfkvrl7Gq@; +t^6gEdh6;3>6tLB8{YopZg+|GM}tob}~i`$x1)=bwQyWPl9R0fOij8+45GF0gT)~U_2ptU`)b5FB#Ke +NFGiY1+Tu>Er*)A|ZIoXS~0zR+GfDw5qi{LBG? +~@cc1IKw;?v^)TxMlg~?Ig_JBwu{~?(G+!Pd@+jU0km4vWIv3h3l4sTNvLbr|%~5D*61=;k#8lE2_7X +uiqpe58q5}zYUQ&h9|fBwlnA1H<%QjeHH21bR>p0l& +FDpgM2mL{2`Mqi&zgG}tvUYkYS^5)t}tS>|*MvUP=%$!b^kiJ73eC~{A{f~fGN`@d +hymM8oQX~L6z$44ZJ;Bq906x9dz^iMzwm@fDoWu9KBD9115M}HM%H=?4Jfj{()W;b@!oe6icrtXuL-F +>Fg7(BIEf?jGLJM|@ZwGDNp`#D}epnT(JW0-B5o7)9Lu$Ns4IZahLf7qPCbPgccjn?_)v3>9;Uo&;?v +fpDmCv0n4U!wxRQ_!3QXNrxNn}b{-S`}M?}xT*lz2AMTjEl3vR$?}VhmFlSTo6dOsc=d7~iXcU1*!!b +T#-n6z5#WIcY_RYv;RGE*Gh56?%1D4o~jNZL`oR*-2@@t^dwQ6Jmr5Gr=#4DRP;_b5vD83!q?yPJY*U +01uzJ-p)t%fJqZEl7MEX_cR=d6UuyKa%M&Ru^hWBJmt|-x`~PoB()`oRd>YB8anox+Vy&nsH+Pg(Nmf!;V0Bw +5Z_W>WLP+_0TDujXXz^8tcz5H#*rPX&Iyz3B-u&%NvG!3%H~%jx5+*-m=!OyI>K-4Yo%u5z$WRH69;@ +Co+2w(SOj$$S~Cp%x=()OGW`|0CwI8AMJxB0o&9U@c!pf@IF-Ft%=DGfb*c4s@Ozs#bc +#xQ0NpNuxj>h+sXbG3zsnEC(>5@I{-y;3>No@$`~H#=fJJOS(0BiFz`xq6evL`eD79Lbu +GG5dRMH2S(0jx;i5J-#qz*5T%$FTq#;1MQqqC@*{I1cdjrfky$p{scejP-%@71iU-TZS^`yxO_i7~25 +x=|*wewY&6#;`o6R5}Jbpi8&Ay_*>MCRf`kf1ov8eb`v_qrvEf5fs-|dZ&VFg!ic4*X`KROFOefa +6lJRe59^|wx_wJCnO6IQ4@weO&z{vpld +hq&5Ss-hr`KgcM;$3Wj~mlE_$m%C>hSFRmq!=(ABE??e0A~h@T))5ElB?8Nv~JHcJ-Oc9p@TexY}Gte +x{#t+6jUFp=u738QcpxV0)rC4P-aLoa86)1alfOhDJ;$aNW)cO{wRg2z~;|6}6A5S9@jCT9oi9?^{zBUfq?tVy?!VsLb>x-RJ6R`QFEI4Xq#9g6kw5*GWi!A3VYx-$|nlqMtZbja3<8pD}jj?*^k_X9 +UA1c#5g)V4?Dn53ju_FFuy@UN2}TUMrRsV_TV5h(nnUfje7$;ysUZQu0T$}@6`CYZbMpy568Yx6VUW+^APUkAO@M)i(cD7vx +$fF}N5fq8h)l +f5i`c#SG1z4D>t2#CYNp@af$9rL$fM?bcK^QkKfIV%(djmjMUZWB&2> +w%}2-`7_PXkst|ffX?!C4%LzkMH@Bi!2_aMA*~-<$N(omqakjGj4?N<+Q=aPDT;Z^$H`Wrf-yy#o8nVKTV +I3)!CN?R5zNwT^D6-*Ohl2)g*}o)$U8_W0dvet}v@x*(;2B*y;SJ>K7p6?;yF*5mT`jf-WxictJ>ez~ +rCJCB^g2GEh;g&_y}e2|ueG=8qSPGF{N=8R^93&a`LP^apuRTpx%6*p*xzQPm_^_c>GA2gV!}?_uzx1 +E$2VPt{P^4Akw7V~DGQLQJ+XzFR~I&$B>9u6XvyAgt!SuJ2AVuf4n3bNQ1={A2po=6kwLyD+X4UV9Dq +x)}cMsc-bt0|JK&^{i^Ycda*BaBVW*?Qf*p2>2u<-Si#PVcg^aI!x0NV`(YJGwOj#soS}9?yHi2*xFG +5*#+r#=uhEzWNeYsk&nbVUPtx`mC*BQGs932;9A|nl!v2YUbf2Nsz+?zD2rZ6bO-jx<|fo%!WvM!)xh +vb9CbgzPG?pI8h`JAX8I1mF)nQ9CA|ZY#aDya<#kWaY|DWP5Tk38b`P)9bV)%zyhGz^{JX%KRc({L3G +=Z#Z_|dd3T!ydimB}TAx3ftZfqlFqVJQSpFf}<4j?L{->C#Bid{(QXb$XoWcKwvZIa*LqvJ_K4Az|#Z +8sGPiEjT0(Ori#gd8$z*UruK-k}Jpl;~!q?riSr!7~_dDT+RoOHj~Lep_aB>L_6&{oQ{_nT_3uoo=Bg +KOS{=?i*gG(}NL0*Lci(!b$KxjS;7zrW)NT3LW@#$3`FMrr+n+7r{HA*50DK?~`bNb-_xKj>+uAlA-~ +^lZWye$a;3ThG&zza{%^v>Mw}NqaZ+4fjKsXw(wDx6wC>A-CqYZvf|XKEf#tp>T3|uw<&LCsWWYOGYf +@ZW$ko|3@cW9sTFr33cjV=Q)BdTjQDnUcQ2{~l$_1xTy6SFCW&6R#udyvfv9_#PN6D}X8^)&4Ukh#dI +d0U!Pw6W9u~i;+IQYDFmfqXn`wn1Z+YEFNwGIDeNblIzyvLJz`CWCPGeJ>G3F2{0ScC&OAj$q8`&*gq +vQ|*I;ntHXxXDyXS<5F|IO1czyLW(WG^zZ4(nxdEh9{FjZtoR_PzrUF;~9r%b(Cgb78qLV&}cvOx5pw +>$a-iKD}a>k{f|~R=|sY^zVGq +cwwtgH47g?)`6F>vf)NF3=4`7}F1nUvs~0V0p3*TD$l%2(PnEeU0Mi#oFz;YTC-8E*&<@c2;^~Xv)6> +s`2mI;NhtYu(Tn-5K7>QoWG4~ug+ +m-E8BltkKmOtA^)<%KoI|IG-J*E>2FXHU%>#))ibTBR+bUu8o|Z+67llrd#5G=lD;{OWc$@mrGzwN7b-Zp00^kyMd +9yfz30mTV4Zoqay|4fhwzl2g0>CC$S74=dIRAreMyI{684ESIgTd(Zf=eO`kW{G<@Bm4aFd~GF^cIcS +m}ANtIlZ(+5s>5?$jKH4-^|IMMM~_Mtl}`5~026OVYPucMHk^!~5YoXj0f)_W74a(^oT&cLZm#M9BHJ ++qVwEokc_8hK6|mZGOF7iEeq(_gzNmd{5k%qbeJ1Qy=K>$QQFo4SrcV$a$G%jLo#87h^E22u5*JmKA&3aAwKmWn4?s**Ih)yh`{t?&5D?BRz^D4L +4Q93H*3ciaHWO-q4Y$uwit@2|-D#(x~LPuq_n_BeE&i1yQL_EfLGtqL6e9a-Ay{N~qFZZ +CIDkX*5bFH-5kGiV~b5sr{&GloGgS!7hj78vkG{>{J!ULEU23XeFjd@+7KW1JQuFEVM?my?IIH-X+ku +~?$ts-jv%;L-w+RUT#s1W;m&Yat86*q3XwfYxEZxd{}``o!y!e7~l$5P|>-5YwK}cr>k|%0+s+_cE)BpI6qBJz#^UP0Vq40>7+;+7^Od?c#<0{?1bzC6iGT&FYh{5 +l7CX)f8N-r;okzj!d!XTp6D|Ax09iHAL9r$lF%5vr)dITD>^A3bWXy@aFF^RHcOqL4`426Upsfz{QphBGZk +neP8nC)=DI=<$%cd{1Q0$JTUgw_UhP2#E>KLT3ctki=T+*ESg5Hr`k7j)BMNq$@TJ$1KHRwQo&EN +Gx}0OFB2z%t?nGs&uwe9BdX+iVpO#K1KBld5IXRYTukQ_qJPODXG2@oHkFXiIKn+m^k>Kk7;w=2m`RRrcC94$RGs!4!cUgA_D|DvE9>r#8|+NHG9y^SgH6CCrpz%8heID>^ejF +x*rZSo~Zb-EA+1tN>>m=dC>z+_`WmBU{N1z!+b6Trs%qpGl}-7>Q=GhMkBgC1g&nvbSNWs}7Fo^B|Ob +Axlt=Qq9-;z};f{C;W8Y2+FG$T4mNoOEm!CZ9zai(ZeT8Cb*fF +oJx-Xaq9NfGSh9nySF5o_l=^pwY;UAt9Jz_c~qekV@O?;D%1;T56}m~VjTn0I<&VDb3=n4* +eJCSz*~%@4}MLzQf%e-w05o`IgKo(6PeymbDcEr$K8gfHxzozW1^{&tr;3<8wREs52TBp +WP?bW#5DkyBZztb3Jk$$w}iNioBk3r$*Y^aMtVI)oJS@DdZ&utD4lztY)H?6O}2PLTouA6z?qI4;1xh +56kfi)4Lx3h@hNmnMwJq1>K>ZwUn&3H`X6Wa0F`&FAG{H(=YKKRPiRTux4)hG<;YuJ@a(S6WvuBHuz@MV+8juIY`NbyfEUGx3b?RbyOF=1zmtue6srd&c*Ub{ +4pw2lL$AUq(s6Us+RrN05RGb>9Tx@M6QkpdJtx|N(oz3+GA6P?1qE`~Go5FrfPoPJ08RTMS5{k}42rtm$>V|HocUA%_xz|Jf +vX3;%c#;3LAEh+u#!UlPls2V*T?%t;-{gK*N-N8phrmv$O=6hEOuAUA@i{)YIz+ykG-dS!NgVFMP-9P +Vm*Gt+|kmykn=akQ5-S1QIC;{s}4Zu{`nt?@psc<;79h!=eJp^nh0FL=8+JTx%iwu2=vLDK>{FV14?K +M?Cru3>t7ceq4+C}r!csGsP?NKl-=Er4`=TWl7t3u;!P=D}$08mQ<1QY-O00;n+tx-{UrZs155C8z%I +RF430001RX>c!Jc4cm4Z*nhWX>)XJX<{#JVQy(=Wpi{caCyxeX>;2)_Pc%s5^sj2D>02Tv%90l$z&a8 +>uG$9?H)U}%TOdFv8D)>AT4XAKYrhP07&qVqr`2d%1lfVz{9&QKs#)-J7STDlWaC-WicK78{Z6e20QF +PEZ2E5n-|PI@YvqBFZM?8-%ED3F6JU*7h+nh!kn}BqRis3NJQqtsteB9hoghTlZ!*YxGz|k#q8kpFmTUxuHm!Vz0RB=zCQMF!SV6o$>rg@;KR|$VQc!1zx&30vwxj=e_Utq@DEQfWPjkF3&aZWdRKB36^b +`brc<7y>_F^gTA&6LWu7U7wNU&b4>OsD1s}2%XBp=)KtW*(CR5bPbZtQb`2vL!HE1ewqoRBMzexXH`g +_dxeb_yb1j+!La5l+Bi8>ByX03eb|C5Of)H{}_tijp;F26rL34S^}zc@NYj)5llAU6pT50Y#uuEu*Hr +HB;T$jud#-*{Ab;{k&YDBjzaYEQ}}Es$u~k>4*nJRia2Bn0d^-~+spMVLhZx0*0 +shIzOkIAeAR6yOsGC(=AfXd}C~nw@ef(%}`uNdU4zNO`Wl^Jtd_d!uwN6dZ8~1aUoDWE@a!VJ%(Z%`Ue~0w&?&w@Sd^q`Gu +#r2~*g4*Kw1zc1yy8UQ8dSzM#Cn#0Cwtmdb+I{|knUhS7++7^^y42#w$XQFlH4&`dyt_Mu-l2_uCavjWi-$6i{BsRRaFW@<1(;ab{bUD%;U?_P8J)SK0Ek~(Op_0Ctr?THVxMgCPg)FwO +z!hJh$cu(0TWd48~jpE2#8mlsYsRJ#JJIpRhXfL%l-FZDmTTkbILUI!aBjM`+L7Fc>DmuXV8_r?z-C6Hq3HA+` +A<~p#k^W5o~-XKz~vizIM+H^duwbR3~9Z;NG2vm^PF4s?N3o+v9a;%E1_5fbs5k^(y#!&p+d +UTmV44T|FKUyTBMLVTs16l7axP7T&Cc_5RdvhAk=lvN(q}nz{h%VO^0_=Yj2eDFz?9^4)8rC2oWUmpq +EBd{Z6XX%uE_X%|KmksuSfvX*?LGww~(y2E#d1>!=jdGch1XbH)?QF;O16*3x+hCL66Jrh@kIqkcKW1 +TNsehVR3V`pQH>M08cm}1=5j8|G)8wsg(Qds>Wkh0#8l0eK%vOcf!B2HSKqBDMSK!X11q%2<1;LO4v(|oE$Wwj?7OGbGj5%S1)vSX{!gLj`Z7`rnfJrDO3nEH*35oA;A20`yp;9&rgeiQ6%q5=+WSLhUDH +p!hZ@fDAD8NH&IlzUPWC;4DNob)o2LV_XQ`^eG!sPS^$OOd-E3aGpTVNSh6M>Apg9<7p9AVNtyd$AmA +bQ1Tc!3Nhk3xVoP{<@DRD3oN48CLnz)n)*1yp*AFl9W?MLvq=Ji5gOg6*6&wEcbNBw3V}F?YrtcWl@K +c4XMrb;~*zQjF8E0zKW;e^L9Qxybh~^Kw%*s6!@H;29w6I+?KR8%8|>EP$WoP9;T49F&S$R6!2@7^>8 +!Mjte=hso-e1DZ7itGmU{2C5-}yu%VdU5_+7P2S@4!)Se+FJss&6_YR>eNAm>=WX_9dv)kxOCMJtL0+ +LJRM}tMT>Kp7d{w1V-1*yRmCbQQh|SS0fqXXO!S9y21kd|*6jK#%`zkbiEzMN@pt>Tl4c3IItyuJR)U +(N>zp;My@pUU$+w*>whts0P?*}yvdyN$ftwg2Es2&~}Qj-3t_$g(xw%bh6GB2~X1~n*Z>&2re>XUkx% +1@e+(+qYtp*5Y@r=|ol4`+*T3?xDRe`n>EjE3zRBI7U)c^h`bz%NV8!RzuO3iUZc3xZA`3%*$5aYlf7 +T(dR}v8~=dM{+w`qG_jcDwrTC)^o9S_NR8LT*u&-Dv>UB2|Bk*;}T +HYcYK|FE>ioUnr?$dEY`$mEyI~L2*-_xiry3^?sppar}Pu?M>YnF~Mb6Cyt*qr_QIHLVY=eN8r#6n2! +ST7;cbn92%F>atJ$Ue_F3+uoI|2%CWdCb?FPL8)65il1*c|s#=o_+g$Fq!+MtG+KgAL)f2IP34A0xa +Z@;pP<@H7;H7#lbrswAnuWw;e|JR|8Pz8sQA5aH{BWOm*e$0~lku28K*i7Rn1pRW+@py(5tHX +L`6cqb%7!rRklR`ORiDzY)_dqJc7d$J}l?@zn^u3MRFE2z~rjQ9ZyAFj}=Z#~K%S1MkphQWSvS<#eLj +*g5EL8pYR1aAPY?5K_guUC5>JY--V|THTmgO2zrN?mXPE4 +;`t=Z@uiPwRB&u`rl>$eHW7tsuu5)$ZPB5$lNQQy37HX(HTEL2^^4I7CMM6+JT&VnSZ-3F>Va07q?(u +rGO^ZFx<}u`Y+X<~p5U=yvEsaz24Jul+E_PfOlFzDdoM|*F7HHigxDa=7*r*qVGV)w&QOl}tl^P*)J! +$_QnOov$-$25c91#T&;mraRfGu^EbxxD#U68Lxfyyz_kOTB3t5f1$fSF~F%?Lv=ZIaAl;XvL|Q~EF98F_PZ0M2S#_WYh+9X-^)h|*iM|TMf~uyGClA~h*EKY4jxz^JwnUwT5o=Z5{9T-|H}ZMB%kV8jV>Yt6h=*wIS=A&hEAgSyr@C#@@9+OJ7g +P@~E)n7#>Jh?I?u8aM}SHZy$nw+QsRmxl-DQndG74WSS`N0`Vo{{zfBdYP5wV^#`ELrWmCzgW+8Wynx +BLKl2%h1Fs39PF@@wgZG`NGiw@#ke6A85#5G(yOXIS!bWGhzv}&KEv()}pT;8}?KA%^^nUuV(yPN?nD +r>7?^5@8wSQRgFU^h^9OgVtM`?0v{yyLg +PH1ufGt*V2ptu9To4x>;F{=GivYw;L8-c!OEHMKDmY5B%#L>6#=B7l-Hxs#(p)61brCS>(HAXs>)vsv +qetBA6b;tmMslw)Xy5C7&D@tmw%2J+#0lnUlo^?9$4XqAp#vukSumtY#`-YX4hjK`aGk*M{3YgCs(uO +VCPi&QO%!?z+5*|jjIGJTPjy46wqENZ8$NpW**Z?Zb9x$vhgM^CGwP00)2i?JA}AS!OYUyE59c^uqlu +?)_2OM_NS3?N+sF$AAS#B|0{ax3UhQw>6JIQgwN=J;rQ36#O5wXncItxQ)p&%3dIP?9vxRnV1AL>n&D +u@UuEzU?-G@WDY!Pr!AA(Vsja^{>>H-9j +RSn8nKdDw-v-5xp9Ceeg&htCJ?tz3|757jRV5cY+T)B1K8tJx)>fFLr7Z9;7sMs?{~Lz)_oP4U#H&MpXvvyVj?Y2ud$6H}F!OiZ|e`u?NQ3g}`~)jMGh2?AWO&9fODpSyNc!2 +um$M)h6`&hh?`_pfF%=ROWcWI9-qRk0Qv=Tk`7-3ZDoFJ8Z=r{H>9+TQ!7gmMlwc1oU>OZqTWpm^ESG +kCupNeSO_@6N^<6HT^*yeC+UJI7TBcu6}(cZ_o?abTnNB1mbey=8o&WdG+M_+H(<}x9eT|P}XW_w%_p +Dp2Bih{|8V@0|XQR000O8ldVxvwzr680|o#9BM|@q9smFUaA|NaUv_0~WN&gWWNCABY-wUIZDDe2WpZ +;aaCwDSZExE)5dN-T!6qnVt&WhkD^?hFfh}{e07V)!=`bJ*R7R$4HZrM^RAOUTfBWwEB2$*!8cr;c&m +Hgmj>qKWrxQ}jITyVFH5}I9fhj`aJYf{SZ;XVurDAN&gh5`{jFAr)XS2)eS#CClP%$TGA1`k{ +UHta>=HsVpTm)Qlbaa$lQKf;~0(juDOgwTW1#%*5svelqWX($@Pbw;w4P7!aXA3SsP%g;T?25cOeVbc +OaPXxxY(g&F#_ONoj4jVS`X{P`cBNd`pwoTD#zZ^4sW!l9E$272{$?ULq4%brp7 +@A5XUH>Dgh{KrYKlN6Wx?6UEG#5nj~dKwI;JiS~cj3k-Y!PO5+d4aKYc371zWe;UPGgIU?o*kg!d +Sevv}wEwz1ce#Q;Z`QKK;bUIBZq@wHlIVGDh*-pp?98b3681iGxw*wF~%7(n}V4n?OpLN;21H?Y$T^B +JOfb34}g5M8dyE481KD#a$lB2HyW=sr{s*eF)F@%dg1fn8_*q9rDx%B}3&-oZ*Hw45;vuZKMc!0de>c +=)AqT;B+&n(0cjiN}oF!B)#!FIp3HD|JDL^=85vPrRj8m??!ereeuz}8-n4=HrbO1|L0!i$j)N&yKLC +6|-ClV3aGJsdG{B6R`y0VSHsK)_q*%gM>hyAFmyUiPUx>tJIqbsuL>pd5580*Awzwr{uZinH?6b53tb^vMtkb)F^TD>)5JM&36^H>lS}mbtU4$~ +s=3d*tWw#OZm36jf?3Hc>g6BPnn2NSlZ<}|^a>OOGsn_4MJhDT|bX>*-qyV409;>*P0+n!IRAq#+k3p +lc6*J3{4p*m`wPKrojv^#p2d;+T>M%S+$ex>SWqmiYr=UptJ;zbGeg=OOUJB2CtAyZl&s;>$FvskKdf+%uxGlvhMnM-CNvb&eEe85P3L_J(_Odw$@ +nULmnD#HQJUA&JBRH*kHt5azRT1rsxX!cy*+M%fU4a6F8 +u2LZ#pd|<}ZerXsF{xfVH!`;d-dS|H?9ztjk?*~`FyD+zJqpX8c!Jc4c +m4Z*nhWX>)XJX<{#JWprU=VRT_GaCz-L{de2Ok-zJ&K&AQtbVyoaob;+zZ55kNbg^YWNlu)~3Jeh|2^ +9!104P~a{J-DK>^F7+QcCW%*LQr0MFP9Cv$M1FwX?fh!RYZQn3ZW(TiV=H)8F7B%A@ +~R1(j_n+iZ4ydDNMeT$pB1*?Za!#+0jUDTQ<)inT;)v^M5wy0PmUN0Nn7pPe!v +nD>ji?7+;Ft}t*OwUBe#{wf+9^coqD;Uoqj?&Yo+wphPqvM0uhw;&LV*`85s$frce+=bc(z7Uzi)0RT +9{?d{c~aMk1zu%!4P~cQRaQ}(DudmP06s8)`#{8>mRZG8%?nu_%z14b;WprBWpR;bvt}jareX6%6Er0 +>k)#1|@*zF-$&~EqlRfD4Pw3LHOp|uj7Nm7q8>#;j +`Dz4-UV!9=c@L7}9LDD=DK1$G#bHcAIs|1gW5}?<=TE=D?$=zj02Bsb?ryIb%+PN15e1MmfI$56;BZO> +4&KE(@dVyfjOHmIABFFWfPdb<|0NvQrQuIsjR4C}p6kKW`-gJLl +pZUpuxJYLR09Nb~4=d7Mp8S#dv;J57Vwye?`OMX+%*=PYW4u9+~K{!|X+lYjr2g1v2#)_IjH#XwWcb@ +*%{SX5-(uMvdy@Qg^a1v%96R6&En6-JCq@%Y-FY)*5^SaDg!)gzZH&uC)rHs%x;?k^E^m?^_^ewO(5z +GM6QLBYVyQvml)W*{<{=>%PRRX#V{^tXsf5{5Qs5y1l9K;cdRsTr-gUuRQUJj8cuE(jXzIxAXAFImrB +Pi@5$be!RB_|3sV7>5rRdpA9yD3E^7^-@*YDLiZ(Q7lCxuCgd9Az*UiWBJA$$L +Rs*8WIb+&yJ}Rx8CzCGU{Ho$vD~S(pTZhFl%V4VL63V$`-63-=pLcQMh#IiI8uF^$Gk{Qpenbj=&`b_gc8 +q22F5&@~22S@qX8ub3hMW0^#gBQ&Ldnq*}5zrCua?%{J&M)(!*35?e}4#Ld{`E2U?T(`ZIcxSCfM#cSs>Mr4g-$Oq67tYo-;{*LXDVv$hmdM*^mARcG{L)b; +emnfmGA_}`UJW_Ybu;y^q}9e;3~Nx&nB2%mEiE= +`pfnZL+7*@1An2eC>;PZq9%kMgMvS=%4=2x!etlw{v4PW9P{g%mTqXlrzy+4wjk^vH=(n1Q)a34W&&V +7g0m)pA~G841K6qY@~=+$CU$eV5$ioK{)j-cYfZnMn9S7u_CnfTyLC}?g!*`_%D$r +XtPR8KYWQMJr*0M1JoJ8;B`8iPA%u#*K0gUQv}Iq@n0xN4e3z5C?J?d|P&K>>|%SzSI!+0By$Th#c^X +d9;IldUY>`2#qHCnrY}QaLa=ez}}fhM{?W@NEBNYR1W&aD^MNv!g%Y_==G|_QH`7A6?EYrUERqVsU( +8yfUL~cKE6<&h3patQq23H@c}KR;vPK9Wg^+U}#mCsuejRYMs1&^KxpE%xoRQB-5AESJT6jW66Ax5r) +L~Zx0Wiy?$6iwt?$ +RnPh%x11n1JUcv`BzaEK8dX8|B$G6O)ZMtg3>tn(<(%1Taq)3mEFh$l?i14iFDUbyDG$v)2VWer1Pc!1c +caV(;Ipq)S2Z$vIhO~S(nu<5EiV#tbFM(+_*yM!2+JwXAp*ThaDhJ_XF-U$SfG{SNkW%B%FA6M5V)FV +;81w~S)ABqT&i^2o90C;+_xE;wmAyFy3i~Y5 +D6hRg6H+q4)c~Fhw2JFdIP~h}M~!79?*S!zYVdrM+07hv!=O +UYAOVVf+ZflN+IwENb2`4hPb)a8^MKKj2ageVcMZn#RNutFbn$cGF$4EKhHL46!He0l7|KV8erKaSnE +9j0srTM}bnCud@q23~iwxSD4f~!N7}+FJFq=Gw*TvSIiH^nP7ab2IB=`Pk8jyx;WJ04K;G!X0iUMJ$d +;2*l)Nk%$!-WB~UOR$GdqHKx$8vG}Hkn9MFri`1qZSWG6G>xx=KTD0Q^CXREM; +#nW24{cA&1Kl239D4N0_GpcJl3FPYe74j9r2_L&B-6$kxr+rL$djeVz@9}Ufx}EkrZXnGfR1w0-0JGQzJ$Iy`QO3@^V^;sCJ%r*4Q2DA8~H|0sIB1pD^^f +4VcWK&L4Yq394CdC}5}5HAG4VK0dMTK@^du-x6hV +E6`Nn)z-(7ZcFfcE99Tx3t7(@i7DwTZKaszKN3FH+W5&S=`P$G{Rpa-Tt|z^pB5Zyz9PrAI}w)<*aNlGlJ{xo03n??Vi|9e_6a1Vk7L&2)+7m19I +0Thh_Z-r`n;E2~?Es*)Va1N6u$w1SQPTA~TV#4tm +D6u1-|O6b_w90&ap-D9*6479w-NVaRNrCkRfAxMuygNZn<86pg<7*6AZJ;f;+YnFDQG6F_+b#CJ|FT-`@z6vS+|C{o +z_D)X^x-XjIrb*5^_~ZOv7`qEp@;CQ1H%dhKzjSymp`e1--^E_w1KB%EAcG>S=-EEPYW{k=!5r{r=J6 +!Qt1f<`;Yg-3)BY@QuGmcfJ2<&8CXxFLNd9=sfZyMmDF`Hd$Z%HUKR3sE#>N0n*S&ld +mE2g3`33ygTHOBbPrz +4-EE-k$z`E4j7y{3O-N?3M*B!ZPc;|M;bNcvq4DZIGi@+^3?EfXuqM^S(230Q%5OS_6yojsYYV=LOPf +30q9_gZ*mCZ-N~WNHA6p2W%}jw~eGwpXWICKcgmQS82hW)Fo)VP7Mhbux?SKlRnR&W%Ht-HTl;7wWl%9CS`r~q +MbH?Nr!(Q8Hz4x@NW;3aEF`u!uS>uajJtO6xUD%Pm3{!&U&}>pPV{}0|0DMksP-I;5)j}h5T9g5rJ!l +VqC)3x!idgWZ#Pr@lu&vvuS{2osO5O5J^ZXQ3XH!j$PiE{O +)16Ho$|3XdpgW-l10XV22RCp>m5HBf2HJaxf8{k!)G)ocaKUZYgy$T3ozI%iet+VOdsTKGt&g4*C&=d +hPISFG=ZNvQv+e>*^s1ZEVMMGc8hsoK5|pi{COD884LK4`3s>4pySRnr8OUehU6lD+A&Ga7o9C3 +9t>ergWD=uprW+5x)2=cX9ApTb_EilNOQ)wEW&_}xUO%VPC8bdp)ZOg(n5N*fAZ{`=~4R(njhb%pGEJ +-@bBR9@8xb=B%!}T_~YsJ=#TrOzn?|oOFSN(J(dp#fBk)kQgM7BAi1r3j_|~S$8TS~+CTcCqt)@xJHy +HL(?5KY7`D47H$U^YUr!IGNBbwQ5loo!Ln?#lQ9VGOHjg~zu=Wq1W8oj-Z>K*TtDTzo36aCWnu-j2G? +bZht;e<4CDv*m7gr1oe@^>*mE%sXM@e3AW0n4z1W +@;y8?T3_#v%yF`3o<{SzL^5jhtGb{X!EmLaX*{Xh`^b+nL_1ml!tA_ +;J0^!5~pj{F)MB|u!u?5$Zj0}aCox+F8*%+@4OlEo1z{}DQsq8SXzRcK_^nxD%b;&(RV*y(_4izDiSvmU>G_}VA2RvzXk!*xVT_ +ggqMSrIjTAYkNyB0RMDCj!2ENrsr!%6oRY>fuS#<$XGx0j6pa#@E3&kY+4h^-A>4cvxV2XzAuAGcPS~8Lz9Z<3Y>`gE!DR)gb8ble +cwIuGj?;UWsxhZ1xJoM`YY{XA&0BA!S?c*MEBco1H9ax*9{z+Gd>g8-k5n?)7pYfdtffx!ji5S8k;;Y +-F=z_wtAxhfAlw86X_6&2ET$9RA9)!>NWxYUStDSyueznNdwu^n|DI4`ZNrN&sdaCjEY=WdsipuQ7j7%*nIqR$QMaCVKLSu>;DuMIs>e>chhnD3 +g0xA5xEy43^G+wXi;tBqq0x)geZ^{<0KFqJXO#}P@fAS;Fs8u>=*1^hJZBe66JBz~NT6!!gb$y^*fd{QArhMEGe7qu&D!&w9AeXDL||NFV5WYV34GV+9nlTH5X +Evz=BdXAy7IhltFrt9#9~ze%hR)kf_7bZFRpV3n7Yy%h8ahBhS)4%1ZgZxiWAXlm*qzoWAjD}JoFXrrD2*^O3?GBI0};N8JD(3;u)ZLDo)B8^GCK&#y+Hc+Tn=#R11%}hH`$U +{F(-X5c*YDFlJc*qsSw1{R&3hkhN#ug40cl9t69U3$5&Ma*Z@ojexE4J9B9D%kF?oKf?V;+W=A(A;Rm +=xPxX*##Vnt&DGtcVkw>~oM0ZWn&m^0-*5D|6P93bjioW}-60Eg=}~{oLeoH9O&sxhB;UN|Yj5v`q98 +LkjlhIe%L!*L-wV$t;tL<>38d@>|KMVU&%8%O!`(;qE^0N*EA*hp^!WKv59BAl(5BPq#Q{bch(g`$R4N^>7+V1W(-RQLPtgI2~;D-#s2O9p6@Qw +sI33`e4T$)grRaN*lp8uy7d!rBiixPZP`BD~89w@lx(#pPGuDC>R>?en_lzp*zpVv~T^k7t!&1E7MHc +rzWaxGt245Jx#5L^u}OOan?-x2pWIFfJ${zIRh4w;w5K$XW4Cl+4J7S4PS>=UT)`Xt+VyKy6?@13CeJ +yohs=+_QQ5nMbEtYULG^PI#y^PYh4g$l90dl?z0m+XYr?x~6o9n4d42=bDnaXD-50J{CpX90+1J|E^dQkIC@ +8?#B-ZC28ZX +`bk*&PrO95>xA2OwzvFngc8J>e&@btpVCzfp*=BN_GS#i|e2jyu61SLY1$bS9};x3yM|)ey7)3qF>+g +XI#A)_feb16dm@2_@9PhYqv7hw@&S*wsfEn+q}Nj?ePquC{jjooQkV-tW+US8dVh5m$_XrNJ`h&1L?P^bxCB$?dTmih%JKjMDG?!ymiy?Ux%Yz6CV9HA=!@p#8;<$T$CpwszkrPw +17enOu=A)nwEK7&U06ICB{21=oFvU3t0L$1HV +U)H{D>0fZAiDK1@-73&YV953s#dk*7WO5En^h*}(doE_e3!1<;|I0MTMK9CCIC~*Q0{=HlZgt$@5bIiT}2>CUzvd*HHI}+Cb?MnFoAiZeaH>&0*Pa_P@?%Z=*vwl4j2i>w)~%i$c{cVB#@mOxn(Yrd(PQ~;F#U9s*sVQ@Z5ofkL;{m90vC=0TZgeLOk&_35wBz|`~|y}QogzI$he50QF!y>~T&tR6GN;XHpNHD(vzU$AwN%6 +vO#2erBQGd>xOM`QN7D36ug?i7n&PuUNb&tF`?e}7{CmN`GNYknik7|7nswa9CcGF33O6YR&M+7&swE +;j0(SAxAQ4tdIzglBLeD#l^FTvc*)PzBs=Do*^+-^A)cF`lRF^~VpNKfQbP<@3i+ +*Z2_VMw_bGvn1IZ)S(hd!sNazDh2W-OhqJ_RHEWpJsO!8D_M)RvUjquS6Q*$!p!Y$QQNEXc6(4Vv$yp +wxH~#Jbu5Lu`6f$!HPQ;kR*G)6@KPv;}#OT`9EFLSAqB&tQWnK9Jx3gsFS{K*YHX0oOcn-_ZQFYqddsJIiXhFHkA7(V>2kSTD~2 +T?PKmmlJXIje<>sWHUg?=Ry(6b*6(u8Yw^@l7G~D70NPo#7bKq%w25pm&q$)CsB&VD%`NGw{INrm>qU +iUK=Y6UaKL70-k*ft9Tt<=NrcvuE!5T}>IHJwe=T11W&dwqS|eN%`Bz@yttJ@x6O9XP<$3PEMMCwHkk +AD}grDQ53hCQ6bS^p`ZQuxy`m57v`oiOFg9z)6;rk1aJ4Pgw3Id!HHeKpHUY~+Iu5QtdI8E ++((#kdJtnQw~7&DqZ=EuufCfZ>oS5RCHO833j7eG$Gip@V-qBS*dpMyk!HmrT=E0z$I}^nlfmLz&4hO1{43Tj5pY`mo-ieK><+#6b +_JT#(F=MY1Mo7(#hb?Rl0RO#x7nTI1@-4mD_xumbwrL9q&a4iDf3C*F1ic}uhW3QbkQsC%A+E_LAOIG +7296~ZAdb28FffGwhlnO86wKv8K88tft5$4F +$tN3JX_t#;(*iP3h#C3ps-xr8-Y#ffk0+T?gz@D2|F)Fs08}6(W?Eug^k?Y(UA$}V0-S{tXT0(XOdq& +UH9r%Pm7L1+|x-CUEXbHdQ3q|w6<~s^Y&;Tky^`d;!L3pX&2bppzBMsR!|ZGI3pkjRkne5t}$Bl9p!b +Bg=NXcmZdTEh7cA;3c_|Jn)Y8ec{noh0TgkWaRn^<7^*;}YAmR#e;&i50vQ|tQ1 +Y+^0=NrL59Bt{Uxm@I*P&;bB+WLZMN#|zDN&Qr_$=DAV*(>FSCN{G7R?R3gECNg0YfBze^GrnNWPl*+ +SU1z4yqWghVM51lNu7JiR&8s!7!jNH$?$hky!@5wUKtjUcQ;z8LGvq}6!F0JUKe!Nz~MoYTq%ix_o^3 +Kkr=Xv6NS!EkO@7qHs!1Y{CQo>eHJWD=!cOk{1LVic$`(`i4QYdQ6<5<7K_2I(riL+A&i9hhGMSG32F#pbSw?SH^D +PdZb#zdf;3BPY!)myT4>Vurq|j}dD4R0#*t7^s@0?w8%@LP6&B#+j;J2EY)0Q;^+}`FV6Ks#RNTZfFc +5t(a7$p=;d-SKyvwrUUZl~c6IwK4v|+!w!paM6gHk1#(4HB@=D<=w9Bpm!{^JnM}o2nr&W&E8e +)Lc3qO(FYAh0}WH*57rflzepUS>o08slAwj^?zX6O$HxDcU8~yP8XS}c!C-|A^Wbs=+0L-H{gHzSBBT +-V4oiQ0x;i3AjDyerm1PS-hqq@SY3E#YdHhY5gstmvO?wt%r7hQvMxAX}!|3>U1#`M{si~oBY@UX|)$ +Czq0J*N%bM{*XSCOG?1daj!{di<)A?kdh0Hc9$&IrrG!WIxN;x)Imj~ZfyJr)O83?c*6N9Ol;aQu$f1 +dTln5g(Jt$+QjXG=#v>!a3=OC-I=q>QsyqxNK^p22l$$?`3ErwD|*$i&N7O$w>Sq_&o$&Cjg)a92PBC +&6mCzQo=ModSSzHadL_?x?;3<GgGF!+f>KPAz1c3-vAyVM#1|fKGX5K}Gqn}43H`Os{Yj?< +A#DAPYTd#_5B2Tn{Os?3)U%L-!NeSpW8+8n4zIYgB!NoaDa^zc#h*~Ba66Eu@jkSOW@wJ(3Cf-x&U3! +}zZ<|x9US8zVGy`0z$Y^w;u5XZpC@KPnH2?V)=24Bnog+3i*LjYJ^8ou6&&b +Hs_kEQ1BTPORYl!Z7N35`q^`EEZyfpvT(mu(u#+Vj>R~E7pkaz1x!axWi#xY3kjXr>}mx`|=JM_kIY# +p^kOFIf^F#(MuMb&X&HI2wdp~J-MnhzX|n%AOaV-?5HQT`>8hcGju=k*0wRmT@g9Jb6#j!+w8ET+q_UJfUqbkdxgJTa +3IgzH0Vb7bMp*3B1tw1Z)ei+evT`Zbwtxvje0z4I{yZc!Jc4cm4Z*nhWX>)XJX<{#PV{&P5baO6nd96F` +a@#nP|Me7zye^UxiHeh%xmnjJvrb~yYS*z{u``>!B&VW8NMcNpTmrPL)Yd)9-Fw{Mdy;#T>u!J~KvJ? +ZJIs`aB7sJuzq`>qV8ic*Y@UWuvOH#mTnvB0C%uE-0ehWh+dNvXBy(ST?D?~!7en~-1N${ff-SoazC@ +W1!_K2QPXrH{OqpD9cD0qOG-222LT-Ybv$M2F!azpw3~qSN0$4ARc{D3z3cr>)=WCuwgmuk1JD04y7Ok^1m+aM6axuB=>7Q}BT*7|JpQ$MCa$epEnHO_e{ +o0D2g6YrGbrwigzW`hp(Q?2-F8N$ed7_9lVE-OvXHm@cyqt@)$md*?Qx_3#R=+J|6qhetoOPM;Jb>*F +*pdU#dwc`1WxgFCb?!L)1Uy!Q9&2A}3ZEA;n8kd+qGWoDcgE+%KE*EcZ1ah%@Izud2525Spo*0_J0%`i&BFl!RA36gJ#1IB-SFz1!z~ +4aJGr$3ZB6bkX?{{WKr*I^6vU(dOo>0oxVE-naVk-6CmZzoc}m@;(wPB$Ue!>{&( +Ile{j6s_3L+&tDEV~>D#OGlN$m67#{4fP;He4B_?eKR@}Pf{6G4bZ21B@hTwvK9cUCyC{;mCtT0#p_cV}A +zy%A{i8@FH}u%8Z#{(vpy|NBC}H)hOoQjoT*E4YbJP_~>SG_alFTnir`(T~H +piv?6(JV?vFog9-VU#N#i!1<{qc>lOd3^&wlz`v`Awuq303JC%1x)iz1h{QhDVWmo4Q#x|A4D|Br9fz +|W3A$N$Ci17X9H$X6qsj%0Zo@K5OlzfJZoM}XLB<8o+Op#GYge|b9q9+T--Sn3@wqv4w>6Tu10}_G9N +b)!j*sf!sV*LM-#T+6M21w0w9)Pebbrg)WUb)}u8 +IA(uRc&2ld>$>dsTaPrf|@gx95eypj#=8f7pX8#9*B +D+a3x8m?J?5J^R%>PG>U;N9>meY$BDVLJKBfFvO3@U%@2<+s)Z5LKY_M>hgN>!Efvm5T-$6=BC0YiA5 +uxr6Rg_JmkFf{7Y~bIH=8Cq165hz)YL)ZDj6(JPII8K!S7Wy66g=5B}dBuQ70{_y*(j4WMZTg05z>*K +5p+#59pG&D>HV9olBEfoyxv_7-4X6Mq$5fw)3sGbX2HJ~AX4);s74=6ogWbHIeKn)T_6AY5IY45VFc+t>B0wFr6_nf +!85Dpa*M`rU?P6{Q!4SSactXLRw|6;6S=!!+Tz{JJ#AFJ3kww-XY!Gsh0hfZ%eeRLG9z1axjG6NcGN{ +Yz(>%xIX>v(79sW>dLOx`m33w*gISZm#<*0}jI~0yZ($;*9kTP60V;0fw +x_&&2P0MMj!K+DkjIsAmKbzart?a6!$1?;Jt+3f};aq6uMsf<$_-LF*q;(nn0j>UgbcdTy9-Qn-oWJg +O+mk@~;tZRD6r=h%Qby;O#x1Ct;}-v^@-|yMmho_8w!z9I`czAuBgY0{{IDa_w{@b}?}WR{E_SQ-WaF +aZ_ypXGIi;Q|;_K%pN!h304!dFEjRF>dPyHfO@B3kaqcOqOvOyQ6NsCx?68*fR^5#Qo-A-qWP+n37Mu +K^)LiOpHhic`0YV_#u12G0&P+etE3n1D{zE`TE}OXWo$m6$wVNr(vhIGZ&LQMsB_0_KU?Cg(1d6Vwxb +pyyMxLI9*^+|m(s-{oqJMLHBez?4X=ol@xoXVs~hZQ6(qM58vZ%R1EB3inup7r)4mv{r%{p>(ywJ7D@ +>r%=`mYLnH`Tto6W|Ll3@|A{g99T6ViFggGcDu(?X2&CPoJ_PnL4kA^iwQ0HoE@U#DLq2s-^VUyk(sa +E@i2AReLLAIT^it%LchQ#{a1YA61r3OH;;hn%_;aC4)#kWH+)06yeJm% +$hIANfvMUw7L*#c{3$&#MIIi#Xqi023z7{91CXht!-%Yd`)O;@AC8_k>_~HeJEtB!|F`{wbKMyxeW*E +Bg6%ybRCF85{XFhK!ZSiSB!z{*al;acBE}$ZMm&0II_jsUU4dUS=TqYB;kX4$YpprM81obc^&Q8-)g0 +D;XkFI-!?Qm8`BQ%{JS-*FGOdlQ8qo+R8>Y0XtQrfCXBbiI*s+=P=%li#1*NO)Dw@zVGrVhzY}6A<_! +I`vvjebzq5uu0;@1W=oXy||g4BGKJYtPlCV`t?rZ8++73KrCLPCuNQxe&?gzkqNHrQIvPnq0h@yzAITg}K7r-3{W`(|6aC +%ZrCdu@?@{O(Bf$qhybfZl>`^>}?nlQnY{*_;zI}UoadY~ +HUB16DCUvqs0Z0g=Grfa_{8tzTaF*y5u@03|QjOtFFoUhJ6+|sFjvAV-v8s=ua{-Aa1OsL@6BL`XgQM +r)`|Ko!jTXxlLmV)QsL)3pU-ASNh~q8oZU})EPeddk_!$`RAgbBo@Whc2a%=+N2|KGxt^ +sl1zyJ9!=2mfCV1PS6xtUzB*C$t#o0D^PetL6r`i@=y`Q+Udy9T1Ze|mKK$5T&5gNkI7?)>k6?}c~$_ +T;I~rF`3 +%-e!b1_*NPl>sJdw((l{mOTWMbQtiiPL}$6K!JQIFvnu+VS@bwIJ(5*U_eA1g7l{yxit`lMI@9o4g|Rc%^NGf3(jmCFxzuOUW18u!Ed0T!(!7ilYz;)`?fP8Pcf60!K7SKPJeRg$=@ +71L&H$^}Y89zTgOn*p*3~dNVXp}@L$^`~bNCZSxaG)B3RdeM(tLv(XsEd6hhCE+ivg>ctI0pZmLPRnr +bhtx48%Y|s}rr#`rD^ojbn*wCfZrSGqo%IW2bK|6F{wCRl!rw^E$00x+^`P3CKjdG1u5PZm0xhz4*pF +jHC3fWQ^2QNvs^WHzz_%qre7EB<-aa`k}4S +MR*fJ&Y}XbgdzG(IHVp$AAkMS~rhRv4+ZyOJxKi!)sllKUST&K(-LVP?F%Jo^jWwh$>O`-R%iE{BN;6 +uG4we8t%5XyE^}c@R911!b0E3_(wgz|lHR6DA`l>iRoka=c5c +I6v#Xe@^rJdg?{SOk$?zIk>K4!voD4#Pk8OW+Im7$Kx88H`_(LS=lYxn6D?Z5^KTUVjL4%gVY9E?rC) +yEuM6vw5axzpY;Ug5%EKsjR{7w}S5Y?2jz9|owSsqmS@G_vzmJsQrCAs9SpkeYK^9RuKxfY;<5W)Y2$ngIW7bX$s7PZ{xO3#=q#UmdJ8~G3RYVBmb5P$Y93)fg;kQKS?))@+~-EuMHzYdcxs!3wZEvtIc)#2qd +DCIZG>$*YX4?-kI8+lN4pBF;2F^cTYV@BK#m;~Q+y8``S`izGx1HEI2xX#kBlAAQ}V<3yiIHyUmUYDW +^C3Z%%c)L*eXZVG^%RB6)2SpS&)omMx`-35z*SCG6c)sDrkutCGehRm%zwFRk6=<3!-%Q2LOGU3?aQf{ +|2eKzs!NI})sGYaJn1#^pRDAOV21>CDr5!TpsG`&bB^6|!{87(W#`rvr^J-wv_;f_ +f>3L#xmfNCuDwY{MOJ?m!+E%;!ap<%|XA;Ve)e3T&vHsA`>dNmAjvry#f>Q_Pc!MovC!*8_Eb*P}Aki +U+!rvTd=c1l7U<9m^gSq2lV4imPL`p!PKU;kLX4u3ry+T$s`f6%NHQG9OQBAaht}a;stmSLhf5WZ@yp +LNrjPkn1%FCzXs`Z@@Z*i0IM~B)ryvoMRt_^-YIQPu+T#RZr#2`ILXcmP%?*@LI&7i5)())OqUwzr1X +pNg(`Xo)(#VL~Xw4^_z;RAhvq%Iud`1;zTQ9H?^1y7==_#O>V+}Advd~gQ#*uTVSs%)s|7DF28l3wcqRumpXe&IwRp()eDTa@muwn_S +fNYt9PBrk2R}3$?R~h9MaB&p~G)~OgK}=+&Px-6C4~dd+q6s5|Q74FS=R^emqCFlBxsq7V;MRHcmZ@Hva!8`n- +)))9i?MU~Dm2gLm=3}cks;F}tC1FRmF@53c&x3d_qOTC$U#T|UpNpDb=y0B6^QMvcf9 +;28Df_l+YvMnYibBdc^u8AbsL~OAD_FO4g>9G3815;QBaGb^I +n~~W917V)hiwf)mfo1HnWjkhP;VdM-4{Qfl?BGXc!=%M8H$4 +r^z2Z+6Avr(xAey3s;%oCSHXwgDci^KyHQs{2JZ8V6`7BK#V{>R{-;DEYM^G8g!r*6aYK-MU)0{PrzQ6@s4MBvM%rVJCDL3HR7Ulh&CfHE#pk5U55%H96sH1Dp~8gcC>j3E%> +&v!;^Dm8uGqEd|mzpEkK#`5=(<8XY@01=x!+)X3h+PgrTFEgE$mx+kDgP|RA@?kZ +KQ0#kn2QVzA1V!AG38D(*&cI+;GnS{Jil2fw7hCuF3eI{&vD+y|_9_&>lVY0aE+sWT54TEoy2Ku@6aWAK2mq6SR>|2D?NFpL@gRFz@&Gul5V^S}S=fxoP2uVpc>q`iCfe#7E-ufEUs$hy +3>4c~pZ;lc0ZJ@nwCkA9cW`_}5b2I0}XM;^^9yQeDeJKtTkdQN6$dcI!9*54gn-_iNYnTfyUKfi6}5q +N%3nKm;64xLJ9vh7-8A!E3cGXWk7>MBho7%MZ>P_DA9=`!hJOq{hhM#shv&o-dV{d9=Fu>D(5g8Ns~+SZgmIm%_k9lh{b@8D)a#t +1fiZ_~!Hfp2OxAEETxd?ix`u}!O#2FbX6}V&?$_X)a~f8!`7Qu{mZjl~Be~L9vl#1Xs{ybE|?i7#QqVRi6qx!iV(YCJzHyiifkc1h;QNdI>}P9K?m3ZgL<46R +m!On#1%s8M$)M{x10rOsyjkttRt7t7%|#O~3RcY8t?rHeyXoqNYPR-%yh&QIlNBdhKeke9+Auw1noAF +z%(K*+z2&Lj0sxF-lHzu!2#J2P+J+i!BHT%L)gT_vPryS}Z|4JKN*+{S@j9x(4m4?*RuCA~g<5jXmTM +sK$Q85#^o@`(6NurDU3_s(zza6$Z(IWeO7YC9nnUU)EEcII07BkfPH2 +IQhOD7Kbv8y^52!s2VshsJ!C~D!$_`P8R~)gI#BcVDjw +9T@BpTSUh-%*zV$*CC!tw#k3Hn*=bj7s-hggM!dW+|#%R~s0#~o!0@c<4@bkm<5??wZakgA}##GtuXR +fOxssR5FiXStieBGvXN_sKe{9yi)Ue +#VVW|CLrCEo;v>hLPjY+~}kbE$FwGDO!VN(^Ms^Ubel8CDuE}@TnD!$ht2TljQ2bLZ(fDjIN%Vm32q7 +akYB>`Kn-q^KS{$PMey^KuCg6 +N!ks}^-2J8vAdwQ3yb(pZM;0k$BcRtq>arV+__pezgw`ZZd9ARhzfww<3EfMC{U>y +q41nIeqgfoC34jUsmUV#JOHKxw)32QR4Gw$@3Nfn7>aw>4wBrq!-8{YR+Fqv%Lb@pv((eqK|x}CGs@! +Ct6~!mbiwzrX_BpiQm%_4ZaV@Ihkl#{t8^f)toY@3xIPm$85LP3*_eYsysAG&9On6BPtYYDE7XJL%B5 +gY(9a$-MiEcWMRW1^0A1P{B8yZn$OSm?M50Pzqo`XYQq@0EI+?$Ck}_2lLycc2k2dl-Bh)3uGS2jTYH +^_h%#HT-G?q=yCK@9@w%fheoJAP5RPUiJl08|Aup?-wqz%LAzv%p)qeM~(J(KInWouBAu-DLY1jn +V}x01s-w!UvEcQ?6yjc2*vUy$kJ!7r)gv7t16MvN(SOA>eaWKDQMa-7V0T;1jvrzEtsWE>Dn^Zv1HrQpd~BjApVy1GGjcyaf!mjY2^Vd80yM~2Uz8$zt|xTs2|Q~L)k`Um>LoV< +omKUB`Hn(OlT<&mtod`CZotjlqVCU}k6sF+3r^?UzVwZ7V&80lf +9L +C$E3Jsc9y7eN0fio9rNp2`9cmQAIXwYq}msv4ntPdO!E)*O(7MFWu+Uj5hq}XW6aYzXti%Wq{Bne7AU +r&`gWJ;~H#9W$kN-NRSVG3eSzcI+)#Ck{>HabaIy%b-EFMupWX;`IHs_wxyczv@tAZ1S#xhV~?QCLN; +fo30#{RU9($i&$s7|%yy*IfmImDOjn0aBe)fi_jC@r*qLT+Zr?81hGepOXhcq^pU@Dis3+7TEPTaxEnK$Ja@PG($g9Nk2j{AQRAHV0o{XtE~!K?|7RZ3nRhpV{v$U>WgeVu!svflHD&B>ml +Aj97Pk-)X)<=u?y=L4D$mFpoBuy;M$;_N0zCSlDfiOwz+R}V5Cl-HnkTIy_sM%LaZDfFmsu#;X~sm5;trV^4FP9uu%3F0TsE%dsJ1}E^q +EMeOiB($2uN~2AaYCWWdvxn22}nN5Mr}~l|7_TMS;FY+?dS>B?X^w`^*k8Ueb^$#_!(%(>ssb*8^<12 +Um26&cNst8XbZ~QLVJ`W%VE=++OeK;Umg?Bxr7*$xUv!jbR|G_MQs-|29g`+FA?&Ny;sI5-#&4}Fvb-`M2qUwKY=bgzIsY}x)Jo_YOzU#`K=DAyt| +H$>0CMvLM1YmSDY?8hvY*K-VIoJ59^Dc0;BuZ_2Sudr$L%R4#nIlFD!1>%6u%h+Cnq*)=Zod22MAOBW +{)%v(@1nwg2g{^SzW|_{8cPkvFyNT$!ZkCdEy~+^Tj6MV4J@157hyL4IsSop>W(Hn*&WC(8`y@&!>ey +Pm#?)K`PHW+Ice+X_Rh)>~}O@TniaCy|>aHs*8|^N*Si9coU+Kw~!m*q0Ym)hz;2G2wq3K=;&#f-aPa +G)V*P%{9Zvv_@YG&+m@0YWen52#L58Ut5MR$_B>Fme1PB)TuzKQfjaan;F+*+ +359JJ?-aKp4>T48SU16Fm5suqNyqqLxVOKEm3@0t;LD_Jb^Vs_&=Jr8Zkh#dtzz*+?y=U(}~eA +a%dZAHGd{}67#^5fgm#Y2Xh-{BiXV&HGqVude6Vs04gl?TFqWlf*p!)E$KnY0oFLOv^z!wETrzb}sc`#W!{LqnTQ7sYd`{e2w3PZ@)uneUeG8U*MWH!J*vaLfilD+G;7$I9Rx>hehNj-i$KdztTlmyVQOLB2cXb)1J)wQ+o6rMenIvDv6=;rcMig@osDu??x3r2HYEPiAC +iHV9DH$?YJj@snU(5-;N1y@+!+oL4VVNu(%O_?tZx`wL*Es>-i=-b4)!bjP3KAa{U9B2~s6?*Pj{ZV_ +d!$7y*X2Uoz@e?hpYl3h23R!TmBSpW1`E$|Y@JDW@W-S*?l`p=1RW5cb%vNX0B6}=7P$aXCFup`1xjx +tAq`zmAHB!+4vM5RR;#D^GSft$%)z?3sdYffUODo@gGEyZSf)wS8Aw-gyzaI^ +k6h4|i!4gW9%g+1Ms=Uu+GJHwK5#!PD4UHoK(16f2y4qku`!$Bvq5mUiu^b`$()ODyC+2T8d=B%)^7y +~!G65IzsQxn{%UbR<*ikI&><@-H3h4W4-W%u*u(vIV|IVJ)e1u@HTKA#@T^>(E4g}=)TpZ$^=y!$TW~ +8{2ja_Mkp*-XbFF{J)ndTW)nJt4j>bXm2d_hfSG@%lT_H|ZEM}PNHk%C#4UO@FPk^ys*ElFQ_QV1J<* +4m#SRpp{GW@hxabd9^cl>dEnjG#IdgZW^Dn~F7DLABL&~?YrwZSMy9In9)%K_Wa4-pnG?#Aal5SLEa5qL)Yo-*c-U^G+I?2#{`FmC08w` +g_G;YA+D!Gt7A_i)Dml+94!F0-7nZ;En19CISVqJ8)Z26IMl@?;Y^WW<8Leyvia+agk0eUS~`a!85aK +9-CE)Aj!h2a+Oas0qm`wk*uvVuzC~82@Lew{yGuv;Br!e&B3 +Nhmk_8yVr_;iprkJeH;j*PzUfl@7TVF~37U4Psoq(X(GF@i6r-i#yOy-~lxSs+#^PBi=@~bh)7Tt+0s +yw3>)t(V%c*zW8G(9Np!u+;+N!Hy|-1U0MOF7>t?p_$9i@O^yCK0uCKc2$X7r9sg1o$Jc)*H0fbs$l> +K#)9p189u<%q7Yclx+Qmpo?|mCiq%SC^lV6ztx6lJQ9J`)=D>lDp{D +%Q)HIT>d-LYLliLf6oc~K7%z%WbGUsAAzMALg0XV6-f?K;hC>f%%nU??Az}>bfFIV2MT}HA$S(kn$nB +dC3JB)R;r88xncD&O5WpJs%(pQDX2wjy35D+W7~mbc0Nl|vSP<^-niQJh8eCbIWQf)(U{A1`ItGAbEW +=IT#c3q78gS_Gk{c^aK+zgE);0Lzyn!fhSE!STYPjE7kQTd>F+n+YK~RlbLny +9)j&)%NxsGC^NXB1vUaQW8I#7XB=yuk2=X6VTc*N9Q`5+|zVhx?m{1!*R0V0_4G&FHDjnu`VdT<@m<0 +NG+FWXY2>?1C(pvT3(^Gn*nR=)z!VRm#DlSmxXvi*mNj7V1b%~lec4?pn}RKT5BQH`ncbStRhavYn=f +GCFIGAU}a)W9ZFi${B*&jx>zR&IOqEpS@Eb(abgb2A3wcMXI_t6P^X(uMMc;R&rptEKPfyh18$g2h@+c8opeQYu +`60#YeLAxw5z~IakE9c~xHfDL=>&HNnO+Qf>G7my2q%fd&l2RlS(0(ZCy2GqNGMI|lg4Afn`wKV>Gt8 +g;N|;U(%ii|34zKqR5N8Cs#9VW4 +HCJ_YD`NoCT}2ufpx}d?W;&*)()2{)1Ia`SECPxRIoz3gsciEQw>=~hW8JW-1Zyu~bLw#0!&ch%+6b) +F*g@6{vWN{-CtHzV6~@BkMd1e~c`8*61snO)nxs7$OE_jl;cT+j9ml}>>*e{SRUY5WCMQFlp}J5mFh} +7|vJ0!4KV7ILKZlSsU%5}t_3D7WA>1v*ZDDEg<{^ZiAT|Qezlt>IxvnKX%$2K51yY-0KT46soW}LdC2=9w;4cEUu|P*Jmj8vK +o8~CnwHSxtk^vWFv|E{27c@=me2Y%61$KZEziY?pjGT4J*9M|e`P6disR04T;-k%2TRmCx{mEeqW^Qo +6-2)wBRNbHwVo-r%Q!fEx;SLuE#i<-_!D-@a9*DU9=(^-^u3&~&jmbWrE|e~et0evHNaLU&snSoSX=twxS3v)tq-7<5F}Pn1 +*Y#RVISg)v?{f+BC#C1f5>Y&Xj(P}Fgh|6pKJf@K?xN-viwy*)Tg)6z77hHm`Pjbl +o~e_)d}dsvNzGoflHpGk`VL=`~Bh=&ySBxsl{P)GA|6bzLUGU`2TJtL_0ED)rTw~&Q5Q1y`fpdhiG@{ +?J}5utI}KHC^*-1qS?s;_9?3qa>WhR5SKfZD$iq@Mki_oIkp!3!e11&QaD9Sb1bydPum!jJI9s~J>`Y +R!ch;k3A)hiBIM59~*Zb`uD~JeDfYkXgBOKCu4D1Qo*?^6pGM!bTR;i0aiyo`Xc4O{Wm+pG2MkEwe_= +;h`lve}-Eb|F#My+8LZ^A3mf*vE^dv6a+*|m+P###fU_0wyPC+Z(*Q0uo?#Gv55j+V9WHNlNMQLP>p< +O$kfYGx*mHR9uhR3VStjT}{6>&5GJEkirw4zhoW}d-NAhL_uId~&J%{!SwJWgkKS}{J*J*cWtO9iAE;J+Q1xN{IN7`61kZH^O6Z*{y4xTHx +**GrRvJ7FK{clp2fztM08*b@g~(;poEAJqedC-Hf=zfvUW@=B)&b082;;-DwF7pynzIQW!&>%^Tt^9G +KVF3*0|piso8QLUi!)EwABKr@#@eWwHTn#-Ef$s9_6^=GBAhn +=sU_Ud*rDL}O>BRSza&rs;XcG{1w}bqcqiD*j!(*?vSZW^^Uh3@&h*>d8F}*YW}$wdAeT#-(T>ANQL) +zQZu+@l>RC5ZB#q2i^STf^XwQ!j0FUd3RARza019P= +u=ZHKJW836@_LuLvbsIwa~fT)JR`@U0m?)E` +D8pYHaU}SDw}@?O8XMu3!GjQWYzXaw^9X`#tGw~0&@9pP>{A0J$bh>DG7-Cwp!K&yP*bYB?|Q8n;)hd +yr9%cD_Lopv~sd|k4;T1KN(2TQ6j=rjK~x%;tk1_98{Q{*}!9Ufl_0DBQ`bVT3Ce#R6ezeEO-F-6<$J +q#rPKo17{%Mht*cN4JIySV;W})1`020{F-tnDbNkCQt&kXKG%i6+fU%{o=*Hda1_t4w>}rAkKkGQ*xo +@Ofy4CiQiwkO^9^|X?CC(yWn|#yV5M0K;;DC()`!ef3J^@Yb5IJN!2nQ75ZfhJ+8~Cun-R0zkzi2y=u>Kyr3Ye$IZzOL~f!yjD#YpRP@qJ!4Jpp-EyE0^|R +lBd;M*44P&QW{FjsHkg+ZsxajQxni{O&dw3w~UQc=3jYbHR%L5igF}kmb)@1_Ne(_u1(MAV=bWz}Ul@)wovr7o3N@_i~^_K-K=DHYaf`}T={zHLQLW|cY +*FE`0$`8H`yzAXrU1>IF1FQu8AT!Z$v+|p_Snl&&{odP9SJm~6KwG;D2_+Nf`<&)_jT6J*2djxxH7 +GBKrHn|GXT^aber51ZnE%V=#ZP7j%bo=NwFgDyI0&ZM@<#-#f=Ug6&_?H$MY1a{ccHTOUQ?sW@cDAe= +q5ikpibTKAo9;X1MSr>L>;c|LrS4^|_?!~I-Nu7>sbUNr~f#ltL+ +FvO5&4fG(VXqlBC>(h|(f!slUtVPR}apa3vwCemPqg(aYPv}{wT){#IuZNs?KTIvEvT`l=KtM0{9Z~{ +Gu?a|)c+Kj*d>agPw!An$xB6c9(xtxLjwB5vuFsX_v#X?;I#m?P%UFP(ZJ!{owTeSSyaURZD_$Dn&5p +mXpA($BKDgo!HaP=YEIwgogrhzK_M#NDu6l-f6~`D~UV#^7_o}B+cE(+KKxPDrHTRd8Qy^wP!tr*fkA +)7|JBS5(S1tQ;)wNc2tqso{7V7)`6b8B>8TaFpSIXMiBQ(cWx4Wu4{bXENf&qqC8KXb3ov%twLB?te5VW{?AEw9OE?_H|$`PpR8kX}B^ +BsCik`T1PbR61Ad_h>ee>3;>VP@bcQDzF?GOW&RF{(wE?)K)-!_g`32LN6~b_o^QPk +H4=!&7`jj{?F(}Un`SXEO5Ge{nLF5Wr~+R7so}W!ekt$*sLF^i||ECl +Sv~L00=K$?(fMOwly^VdIhB9&(1Y`a#k(l^fM8fhj3nD0pnz%p*>a;o>EuwJ})y)avhnzezDw+u=Luq^?Vll;Ra_R~R$EkoU(w)NYgbZ*~~U>Vz~wLMmhz%OCXnA +lB;g0C4}aIaqQ7+NsJLd-&o?7gB$e2;y>YMqbY$$Q1Pk1rSFYxrEyM7Y5FY@$;Pgkm8UD_ponxXN^1j +|S4##w@mzO?1N+`$;mK7n5o6z*KJ$rqzp^jdO)uvE8g^Z%Srgg<0Zu4d!MI<|Tx|({LTeNnuuTEw|FZ +BV5ZI8u%{PGLr@bP +#2+*4*;Zfmck(BT@Ac`9JV+$f&;1l4gVmL2KNem0pC|m2fQ=|jI1h=E<0o@Llw)aq)!>Pape+V&AIt0 +jxV`t&DpAuyuVl2?X4C4@0uHiHxRgahH>;(x+u;8ie79fK@3Y9m48n8;PrQeKapF+lt?i*0u#Ypj`vl +J(L@Fj4Hd&&mgX-jDVAw2~`8vEe(hL*aCYn9Gk4dvx3ZGI7*&zm}9r|^~`0W@EL_5)I=fL{Q5Xdkd^M +ABS_2&eDD+~jZkayX14poh>h9m7#6r{Ex+Mqs{^UDNXfW0$ZA0;B}!QxZF#RbK|)Tgigc6;XheS)=N{McAKJN;*DOZa*ax^Kj; +|LFAne0Jtwx+fns|6}^XJHf`6>Do6teXqtJHb< +I&4i%vY)vDbtFVy5~9g*gD^%P5a?W~Hh-&PDQFQuJAz{-J%_8Rk}r~VT+1Val|7o~)`b^jcBXdda5{!0L$6lj#1RYEiDO2v(j`v2DuPDW)JIp*3rXav&JMf +(qKp_2wZLr3^@-Y>QtBM3ySIH_b2P?^EgYl_|w(T&kTZREjCvJCmHVTKe$(R?_dT7w0p4su(f`P6>Z6 +py_xY8A}ik;A{e{@4|^f+px>Y7yKGA#+&^&C|SD<@GMYLb{Y9>e_lME3E!3}Ll2zV{Gd#ij8Tj@!GV!ed);>vORaYCIIxwD?B;xR&x;hbw0X2TG7 +IW59YBDZz^N^}l{sRNR;7hWnn1Y8u6KyPUhmM?Q1)i;l_(PrAo~GrU)_TN( +*FUjb~LU=)+Ee*K(tf}1^T&Be(nX@Ai8FD#J&wJC&r$np!?ESFl7(CLKlEB7n0$TQm@8*aet!@H#pur +h8rB)e&cj9&n|Q_?eI6_b|MS*HlX@k +mAq6Ulrwd95uVU6Oai^R-dC6Y|uTEUy_p~!x;z>Mr4OMlVsGqQgShGi8L-5#okqTS?Vubb?+7E9*#b; +x09vl$hq&DQXzwv2Fav+d=VUw)OzFQH}#<&z8EdlNIZWgA*;&U=LZ;FD9}^&mszScqF9^slT-s6LY|q +juN4KsuLjVOVcgb6$Wh(@TB0Tn^H%wYE^RK&K2UL5vt%Lc&QHuJveX3YnljH`I-wZnUc-6IbH4X%)mn>}8xRiDWNisv_^wiBqN +n42}fw(Q{%1+C_o#5pP>vSWREpz-KirPMKnB+iJmLl`(x`BcFp&c^Cx+wQfy8gej@5KcfNc>zm5G8X9 +4}fnt84;^F#rG%P=dzrmI)Og41}@6QtlCTvJ=TAVe-7F?RAWQvz2Y_Q^MUT|r5t4%SrGfau&{f73$Cf +=#{kjC+z815I(`X87x&!dtN-$C!GFIo%B@0K+Tf0ew!2gJ$x^T=<|wn%O#P5_ShGs)x$xD&d1kO2@$I +OCW{FT39o=;J4P)SO)!>2l3ONF{u#huqkSySWG?E%M0}8nOZCivT+6l<+B8I0F^@<*H#DfU~wL7#Y0t +_$??#nv#!N|Im;yHEO{ivT8MFHxx9#c93`Jmmie{;?QMb>`0K`0*G=-92ykH;x>@eJe;T;#=NPrD^7V +rd-A%)*}PF(!B%=GOIE4WvZqhNV{9Qyj*!;|(XJC85%5|>~RxAKG5s&J8+Zv3A41$T2xKACvna+HG +T<2et=wG_^K_dWY0mviB`ctG*Yp~Q7l;%P~ +_t(oe)k}q97*E9S63)rz$ww$My@FR+7n`P-osRJOJ}iDSuH$IR5GJWC4Wu12l7v)kj8H4L`sa2| +C6_d1%)p?f2s-8errTjamU4)E70;PqO2`A}UlM0fyG-&5wNjH@-FOa#10)Nl)%CvQEEyx0`- +-)B;wGu@;=y^HuSzb)nW28vSH9NB1-?K5)Pl3qzyS@Uvu$zi!DlDw2!2$WoG6uobhox|_kX>5m{TA{KAOO=4lJ|1$C +5)v%}qBMfw9(2X-Z@;t;8UIFx~C*>dPW~fb%$&D}jN4~r=@+CC<5?twyx>(fYo1cj11CIGL*`%k5PYj +~8P-;%RM{H^(D?kD0NyCCgLhSH$C2R&>R2Crtn}*2x|EyVc%c(nq1fB#|eiFAM@QQwf|8DVo(3W_g{3 +JFFBI=5Ah5O|v_iJxg!P_`D+3+?D<6g`~Cagf=PJZ&0Q2?G{fTx!ufVvmUBMXP)?Qi1*ke>``8OtD}Q +-1O=yxo9P*-gd*fczvLS-*+OUqRGO)FT+xslS~&f`wsz^4Sq;nQ*0Bq<~c8L+r5}X +4jiGzp_`LP+@c|IjGPLM$bd!w)&3NLidGKtW93EW;pk?J7NZoWQ4eXr*HL4PCRPs3G-9qtE_C$sv%J! +L;>W2DYv3dg`4YDc7BV%s2yVMxTLjn9oBh!`+z4Gs@7-)ezVjb{gPD>`4K}p}xO^>0Zku5No=glFy>^ +Yh3g@%hD*W2ta22+aACJ*lfI1H?(Zu#O9#W%f?B>jZ +tTH?z#q8AUcCWGEHMmo67qd}_kDn{T3t;GF|hs1}dVSi31;%13il~R;653xic*4_s-9ff%G1c4QkEhu +sHP&%-Y$tjc$>LPeC0nxbXuaHVFZMDR4g(=TR<=Rd5wDr9Z76xk(Wm1UPj4nWdykO +3A``VdV#WR-zI$SbmG9B^sS{YW!j66zR)2(DHbCHBhSNWu@k2OKVB>@qb6>dVsQlxpg~;z4xCxEh#fc +^q83_om6MSub?nrp5KhRQ`pn^4!YDn`X$b5bg+R(%U&7lW^Dw(S59hIZQiIVOt5KWYSZ!+Rjiq&v&ob +y5^N?JO^ymv!JN44kkJQeciCJBipy!{lNqR0EP0t@uTAqZoJbUm;T1Hn8sZ^e`hw4^poReBNh-b6WqJ +eAq0bL`}_fO?n(s~#v_^iAn+kVRNj*tV)HCXXxy?AlL26Me;zNy?z%^~~-Y7j9MWvl3W$Z$hw8&Sj0m +Y+IG1zod2$qQBw-s?96tJ!! +8E4C=J|mqFUW74TCd#~tnKI5`!HF#;QpnjJ$8=fvV?v7VK6{3IWS$Sl1ktDm7}2RRr^jmPtR%vb>U=w +lG{S#mL5X9qwDMV1y6z+2G#VP_Kr+g!F^q8+H%Xa%|a1xn_vc&UeOEQ2J}CDnEYPVqiuHO6C6tUKXmiVm2}jqNG&y1FbxaN)%C4ds?s*xw`l)ET^_pa&^&C<=Rf= +<*4h-Ccr^+$f?y_EuVZ_@#~hXJ}NfX0vV@bstA#t7F%X|Iv10XpzV4~c~ +wK*<2odAt}pfGc{0#DFXk#(J93*MARDv)Tl3BcJEp +}8fx1C!SWjPyFsG~ZDupvprYO623MiTgzNp2GQdqL5*n(5eONulJBByadfIWRG%3!Fztwv5UULP(Z;S +tK8%dEA)$Z!U5kK5P1-r<$+~ug?^P#cuC!ZU52=^$+%~HwmbvlTMHSyc>m>nz4QHw~mJ7{ChL!2qVYTWbf%TR7zs5gs+COLKXqDY2Ocs1j +=;hgWE*=X2m?-wF-w({!{8<9GII#MtYK&p6+edW!0n!&yaT7s!!dlgWK?&ZYQ-|n#aShh`YDk(Az*>Nwv0k2Hag>(g8O7g;RwWZ;1U}ayJ6*2&2-5PR><$m$AX>v3iw}d}SG0oMC>M^sFBD) +6LnAUPLy)PLoweV5y3RbYkd&TPMx9h)1~~doA=P+h(7Mlp-w@<3<5XaVlwI+$5MG$bPL&{A_5Cl8#_eJZ4i%#Q_ty) +rS^Tbj;P9)6@mo%H?%OB4|d?r!96~dmpl?Z3mI3)PPKOZINX^(BJxLKv%TH>;!^?oc+YZ{bj`&Uampqpyge0jL +U@*ja%g$A=ApFLyJZut65E2YM6M=@UUZM;wJrU9)2Al;siuoY!TD?4|Kp3~a@H#^EC8W<^K7r%Lw=D(4X +Rc@kTAyKAYV)9aZc>MjP_WmXy7cqqppOEV!aurL!BI1KEmt^lp)ZU@E%@`a-)ZAQmHJ+QzOP{czMeS) +nF=tU6w+^d`Llga#O17$fJ?kBEj6Bo&fHj7k= +_TzU*)q@FK$`#hWu*lz7RLu%w+~h7*NBUGix-y}tkrlG>6adEKMmU=1(`yh(PQCcpkr8wot?tHA)8k7*jKz3tUv8+^HA4p;D@Iv1VIF~lKXew`(qsn*ux#ZtbQ3SDeK;Ve-!SLCe;`XPLWsEj)ilzz$6c^qE9)zpBq;VfAlzWqzV6rJ0 +(n1B)&u{G;p?)SN!!;*x2-3-QYSO+5T?hrWo{0KKv<8&K +4Mh!KRMy(SZ=Yfhpgnt_vjB8Ap7B32>P-UezsKRUumvh#Sa#q$TS-M`Y7CSgP(djIvbasHJ +M_iiPSwFjN(eC)<;&wdbE0s{V!mM*-z~<@Z+UA^DdjFzspN +lv3p3$0)`ERp~Y>75yAig6YJOXrtWNV*FODTFK;Ca_a*N1W}?@U<3*a7n(869`H?}FTXD7UaxG1CAB& +Y21}h9wmb@glAbzK`#OxT@JjF{Lp3J^KVYshUiXC}SD-!$Ta-~(gh@KxVqUVRO*gZ`?7QSSm4jrBw<< +P;L$7lPERaHyLhdzdxaR~ia0bS38TH7kwR#q7gyvK_k7O=VlHHqqq8V7-)X?Rl50-j1qRH_-dHsz4V- +%ry1WC+GC(JonciCoK945F6{e2z~e$Z50#)IEUMfhNlu?qGeJ@d&PO78!3ctLt;s^{j`iN~KHZ!zo&m +&<_gNf~MSb)9CwnSX6HPzOWRKnyP!kDD;pyT6l=h2Mz9Ocma{q6I?(APBI2vzjRNlK|H0_tkjXz<}~M +jf5G>KRCKrmif!{|Y7;HwU^hmaO531sS?Urqx7Sc2WhvQIyzI7#AzK=Z46NUPtzj-VS+1rmz(2H1a-E +f`&j3M8BFjNK5%U=0d@o6kK#GkPhN(gykegTs6(k#`k(=JbDN3$N0+QF>)tKTE3tHbo*SzR0LF=8I3U +YDV;zBbB;6gU(eV1nb)4Peximw^31Z>%`M5^s|e4yQ;gcX_#T!#J?)mr&^ZDob|#!zRx)iuN&3|08eH +T;AMAxl2g--%N~{L7G3ZIf%Q=*;+gTC6aEv}rZ1eK$!6;~=QqA|E&07CupIRO +Q=Cc`zMEKgNI4C%Ix-$L;|^G2m*6L>p|hM+mNg6c_I+8iWzO_oUx~Rwj_}`WyVKHiF`aLqn+b{S2TiTuvzr>#bpF+LQ>L8SR;jiwPO&I69ko56 +D`CP5FixuG@#d?C=&dUnZ3g&KXb?KO`+hlItICm6wZ1#ClSakTW`M@akpfo_4ghqL3v@Ettr$EAxw|c ++<;cdA(%6$!m~nD@k0_iNH*XmSl{aMF&F#%_Hoe+C8@C5Z+c<9T+uT73Ujs*kO!C*ak)F^wmh!z4M~7 +fGbtz7n>npnnx-_%2^}d@dpzm!;Ya1tXt@mZkEJc+s@pesVL6&)YyvWfnw!Zw8epC4UZ6P|Algz>nw05E+A9QzBeXnPx&hQ5l4i3E^G=xLDJ&!g +-ScnL`J>%&xwK>)c}ssml%-6A8`U*%;d+^OBv{MGH&P&CjbRm=OCD{Dw)b9-v +Q48jF*^D}s7}10GKcbT5luD`-R5GhxY>cP#zxQV@tCvhjDRHC}3|xf3OgXi^EajSX<$9!?R1G*lNoR; +&A9#==Sc^~73W4?~2xuY_&;*#%e3rQ{1qmq2sHD})j0OgS0xT`|LljkM`}~$VM?0+ef9^&^Dues5YQ@Mj>g=Vqaz_)8Iw_LVKAt$V+3-w}VbR=&J?5iRN9!eZKrJ`3F1Fs8VRpf^k6 +CN~_tH_tpWZivHS`KV172 +`5r)N9wDYeNN!guD90QR(r&{T4{at((r?#x3!_PQU$Yn*Lt$SB*mYT?5KGd1L;T)9ep%8gQNAzViZ)? +^)ZnE_Ps%4sPn- +Wn|5tU7q;YnD~vq-9l&6xa$m9O0y8RrO{kBL)#|fZJAzVT!js6rX!2CihSb??Ft)VrW-&@X!@@RTU +MwUDeyvKnda5*uiAj9Q%DTY>54e+Erl~$uahmWRfu^L%8Wu!mf&1Dx<**w#6~T1=kFh*iQ|iWA{@dC= +8+z)WNqkBPg15JL)ofuxGKkda>7xE|%!U=Fnm(4q|DvKypQaw3IJdEagtVy6KXSFKfEAhRMOEQH%k3vLmnHa%fLYpRG*&)byDyB1&;*eS%#8pKNo +p`tC72C)PoR&g!m_QxSEb_Fn}}6&FwwpCf5{F{i`j +2bXUVqmxDO(f|TA!?jTU9sZ^^Ljf-~Ub-0lbeRy5(V5&wcXnnPpTG1>^SYN#c1J5s})>l9}`S8b9RB( +ZpLA-7{lot)OUe<2fYjhv;P(v#0u4YK}b7mCApJqlT3+cm2G96XW`vl9Yx;d2wXv4k_Qv%xIb1g#&iz +>~upqtt|bW=O}!+L{aM-#?T(?L9ic5f*Nb1m3AY`=m=Nwm~&sE98_OAhT)uN|TtWJg0NtXGI%NpFK=~ +_@4_eFM6K{(teql`0rH6%wv?w}G-Xa=CqZxcQQ@%nCsfuM*iD~!!uQ-3>&7HN~_VR0AgRDAedvcDHV2glqnVFqNY@|xKXB5O$V@@NlU5(z}GCP=y+nL;IKE{(HK(%mca1xV)>Mfe>T_y@HPvYHNElO5s?&|BM$(0DOhuQ}pm1J +WWK_zaMp{x~w>3+u{_Ay1DvdOfmQ;uc&63J>o|;i5=9EM;OMB>a{}wf)datRdkoT&T1IYBZ-B9RMZoj +i0;;DVq5#f9RCBb8HW!4CL(qZnWq~6&yAEZSm{o;d0uCylc0M0`|IQksWrW@jL9*hH??4)U9b%Qby&o +}kA0>z3)9AmV%JZ%K&1uwd47tn$WbP4VSTB22$DaVy5BNv$6dH0YXQp+cNQ>l&6Cn`m)d;ldpc{>HBl +>nQii&AJ&g1XSGYK|5(L*WOo9%X`7wEWKQ!h6WPD+>RscmNqCqm2(Q1VWo1llN$-_~~V8eWV64;P$7` +??DB&;fvUAB)?m(Gk4*ZA{xujQTJ@SvZXW+ZRP}Mrg#9$VrpuHUnw(0Dh{g3L@fhM@NU{S3aylDrd9a +DY`R(R6n~xGsjp#eMeh|@6AvIKqLx({AlrYAmQ^&aMy4x#o2iwG0WBeZoE+RrTaNRktuxke;Tr{KjZr +6WB8Weuwo_jTPUg#XPG&0aWH!NH2mE~ie-j}7&h^fbE+Bqft!+;VHnRA&5lW;|>4i9YpzBt1;)(NV+$ +TpR7Uf+$t#XqEctnXACeb}V-6y@KN(Rw4YTo7K$>}asU~hYEgaWI)s;QKnuZ~n;pS@CnJ*Ti`-VoSr}qq(?0xkgs;7}x6Y6Pwby7WD+E;3IdgLBC6|^ZnQ+xt+&s5oEHKZt|;gZKsn^D{Ry8HRBvPh1{v=6Lzoa9nNji#{p#P@fe0MtHG!d4v~>UySx*u?=(3*I0l$n*g<_KsJdHb7FA1r~xP^)sJ*yK~0wL +qq<<12ht9ASnrcYyh3pB2=o9NDntO{!!?l +0GZw(96pQH8Xpz_hWe@yyj<^I35~_gQf|p_YAuJ}W>adk))8Qn?oV +N+6<1b6SA}InrrG=LoJe+G)irnyoZG{+ZK?cc+bTT7fh9e|1_hJSYAorxgkM(4AIv4t%52ir1%(a$4~ +>s&2pgHK!GyU)G#fJc{~S{*_KEKyt)-zcs>Pg(ulq7)7#Rs-~fBq#D|l9xF^qj}@jUWooq9{UbeAVEO +4uD$+Ew=h0mCW4SagR}IEK#M8~Oz&#!oyd!)R-0kSt%<4V~I+`zPUMhmW)6}Z>{)on}STv|ry9U0&OG +SK?mkN`vRz(tCDoT@HD(Ijmyi^?0Jyg){kMdCA9jR7rPk5;KYeKC`dZ?hqd9UzLfel5y>eNVx5qj0_q +dZhB(&no-Hem?6(@S{)z1tLV#wd5(^?6m?B^DlX=s2lc +LQT5GUD;7}3_jRuoi3zTx-9x=rq?p2>hMm9CX$4NG{}ZPbrw0;FD{!GsIIS4=AeL}ifs4|x2ZrK5eBE +gU=1DlMI5BXg(~2KlNDS|lPAjmM(M~Hq`Tf_OR#3+FO-?IDFybqnR=6kr1E&?Vd79ITb-(|=JYs#X{vcRYj39gVAzshBC#Spm|By-x~gvS>SyQD^M23n+u4ya1v*^ +?i}b1q>IyQQW=4Q$^0xsBH!BWLAhyW<|4;c?$kw@Hg-KPNoF@egJ=)MQ8Fma(L|uXfxFwilrFn1wuxc +NKX7VDQ0hgp!OlT&lq$mj-Lhrh~E!GR3{uJAz+q>)_ww_H}am!UczvTdO>1UhOm3@OJ0Y#kz%$Fqs&Ct9= +PcYtOJze^jxFp&?8e{sLXym7k#F0(f6Q$Ibqilf7F0a-!!g^vD>$KKIE%j3^Rp>$6F47_{(ZdfK-Vw4 +?t=K2JA$^ylg5R~?7H)ahc6#Ve8@=RzA~bSaLPg$LynH2ihT#ds)>U(j+_RjD80Rrv^C;y1dq +k|Aps0wknUsZ2G7+`wW2SMp`6K1g{n{CXYPX8SdVXywtCwim1sCJO=!|zxxdzWf_!=6`!SzY`OS;G%rP3nE&x4RU6N8L6gNa(2l6K`a%U9M#RQgQ>vXMezknT +#HNtl%k?4ouw9yNzKN54^f#BmPKe(NIjMOi%k{Am#@#Pw%SRY7}jnGu$sjAMyA?wOEx5cf5rE0@Uv=-$R5l{r;AF2i@2hG6-pXO-O~U8T +l>`X@FfKhlwi5_kY`HuyHca}O={Z93e8MF<*iFQBbHtN+BV8ZrB`gDSgXi~`nO^fj@X7P{)TOnt-BK2CO4Li`hEkwi^osh#qtx?^(>KPRc)@ +f_7C8#hZ-pborjj2M@%!BX`WBL*IqAfw3&o_*_mCOXZg_tKBxF0<9yyASjflIsh^)iX2y +5TGfv$feZp~phx|68ne=ikH{)WzWCid>IqWU6!BP;i24BVNy^d(ZSIuD>3a>M3pJ}BMh?@-@r>y(}_W +F`Vu!;|`co`^mhDI1PV>@6}RdU?}(vk;20TC~?{-*zt8F}-n;-?rUB +&0>lSK*y^WpnYi#CtQoKU(}u;vL6VsVn|b;vGMyrYtEACf@NHqO!2~>BKu;R#N5^|1k01hVN60_Zao} +Aiif6zk=_n@Qzn+)b*?Uta`jg+Pq3h#SSjTm%0a*)9bgjNe2-Ya_oSLtmaIT)#M@#A}?Q{F`8zyl@Ib +M2Glu)FDRD@ze}fMjZ}<05-9#1t%NGY?jdf-(1Z+T88R3{75UM-l)<2RTB%fXD=qq^p?t%wkmtbBc;lJm#eK&ywrr>X5!Ou_PJQIG!EEx)5 +7Tjely55_=oA-v!Qal6T3i7g>{5&OKCOUAyr%3rgD2D?s78jPR)9AoSKSTeIQ>{TH8`om$lVU4i!LkE +vNXK>G!IB-87KLTbc&agkL~O=Jq>O2B#o&lWU1FsJt)8{ON*O?ol$)wJ>x8Istt+7K250?47i7xp2SaWEoEh81E5ei}rY$HPd&(uzB^^K%80Bn +-;cgLsv!sw&vnOVaTp94@pDDu!BbUw0SYOuMMAyF-qLKQ{)=oFm+Di<`8gyNsS1$9eubJ-cbh>%jt!T +uu~Fu@gTVBGFHX*h7j*yRJT>>4~MQ%iibsSo>g5eUV*Xx(fBBt5E3i%Ec^x+rZ-~h4L+Kyzz`bg5b(|7ymG{jhpE+ND9axGAD`RFL!l(6j?!+&MD62h)Lp3KC@gWS_g}9oN4PkqaX3v +gK8-1tW+RU*coU7OF>aq7Y`i0bk_dv;tEpT42%I%qB7BNh?+m_KIQQz(TC#88<3pI=oXRgHyS&1gj1p +?}G*_u3Zk5qfQwRT9VjYnNaHEWYjK254U(e6@hN_y0Fg5Hv-RfDe6Zql_#`yxZ&;}nM3kGm@YmreM;* +n1a%sH*LMd=CsTDms{2_)1h%3ZJ0{j^-esK#(X3nh!)71VW%;2DK}K4wU1F>8)GZk!_=G{r>se|`2jXE-2`b-Um1@Av=R18ep^`?=QMYwx}G)wByp@b?Py-`RgFKR(&PTJYJ~oO1M!+gJc;cdq!5{Zm# +xpPQKuZ>X_v>HMqidC&BFm-3k00lG*-z*yIbM`JSo1byw6GoC&V(L>8fj#Fs2$4(#ciK_jZ)Ta+;Cz5 +PubBTp8Z-%J%nA+{iDB!N^-w~WI4+cs$wqh#y@c16j`OeT>CcH4ug%5=6qODq>KGZE1#7R9|j;+? +MH&25=oQ%~xC^;diY_1a&78MXJSbUhF`p?)7~kNnj%p!s0UUxk{46N(gi(f$u9<*%R{cOX=+lRqwv=k +AY7aK98kP0{%W!1YV@*rZZEo6QEV*PN +ZdmO=A}z;YZ*)>VP__=#uUzJkrJ9!L@7c +MEHChE`P^ZY1=MN=MR@Uek;O~%chG_obnH%{NG0teN)`8kx{sComJ3<)l1O>Q35dirHb<29DNtb=Mt!o%z=JY_ +6>T0UDXI)>gAqtLEpyc5X_%-aYRow&y03ON7R1{~2iUpiD+im-jg~L}vl`n2gmBx~lSf%tVi#mmJJhopcHDgJEIFamO% +ObuomSRb0N#UupZ@OraoTIEQi!loAkyA7Im?5>+Fc5|sjDEq##OW~UvY+1zLB;pQWv<~a7X;L;*&*#4b6qXhY) +@hRet3seTu&+YW-nx;Z?TGVDBk<^R9>`pHNjI%CYpthJXe=$zsuyEO0klwJ*u?L{~zr(+52aj{EaY=& +GnkaUbx1;R(*0&4+r1;gUZt(yLmJ<*ebZk2F+>9>l3{M^a4HX;#6>bc+v<$GP+Q +|E8GgsTB}**i#Wo=|)Ff36h^FjJ}TC!x5|AVS!_3M=epqXyTpPZ1Wpk8~|J+dgy_)@i@n0}r}(O4DnV +n~hIswL`h6-`qt)AdM(tPY69xlz&*^DO*rj;R(59-IoU|^wd+lrT*$bp~^#h3y##2Yrhs0%0u)*$pQp +&0~Uok8Mo=6@V0Hb$-{1d#>DL&)!&h$aa-%)iWv>=kD(~arFc4q~~tqw(yRLNycsWdxw0STo!4-o!(ttg}$z6U(;o4E7uf*=NG0c*4ASj@`3cjv69f@BGfGlu#Lb816ANO0ed&eG-I^L2Ry>1 +1qE+muMi+sn^?S?%0tpp%J&_g?zjOHwBgp%5h1a5**r48b<*B^6e&*(V=IAt~ZPG`NzjFHbYIc@qH|J +h^u0v>q2%*_J!g;7C%=)&_q{4;6$k-`lua->#k$LB{PwMev=cZpv>zV-z`I3MW9|T8wwSKyJc{z47ZJ +NEDG$;ZQdqZVE=*vWkU;GzMGwKfxfs_X3=IE8g7yAm5JPJkYbo(Nx_i24QMOWDi_Oyl&87G`;vuv;9& +Q2P4IP1^bMO}uzLy8DibHXT{D2h +&?NL^ql8@7C3MlOFSgAPUDJguFSL^cY1}aN7_pDgs8u~9gohQ@EFR47(J#2k<-I&^)P-dRS3BiX%yv| +Sqb?*RNWWAnUu4*Jk24k4EIOD@byOYT7^}awpslMN7LuJhhqp&{Tjg549vlUtl!ZTOrCn})`jc|^Xf*EVB@0|t_n0L(OxRR^|rv}I!6T*%-$nA*w2cKj>?`3)E +F+^Tm0I!#hwQpH9Tayqk?2@oo*#ciAk(AjwK&>sec~tK&3+KosxT3Nw{F>W#)orU&Z +0=nV`Q{y(O?L{L;b-#;y%pMl4J5UB;fi8INI7N;%3j7d^Tl39*p!a;TjfCB#@E|XD6RHjXg=GEiZZ_L +oghKar8vw`h)s}XkYXH{b&LCi#rrJ^2>Cc{1`SW!CsGAZNXlx(^Yrp3bEV}Jni^repGicq287PkQSV! +f7s||7k}i5Vv5Qf4FNUZ#kEq}EX_3Jym`U_-BByeEv`0y2=^Ex{EFFQpvbPj%Q}vq-pURsJ^{r3nYpa +ot6yUT5jTG@UE+;-p#I5vwFc)pG!Lp~)ouWZ#jl!L-_2WYly301@_8_Vh+_L2x^6{l}t|RCn$*gfzUP +>eP-L9Q5Jr7lnBl~o6!Dmkt=1|q4V~2h?bfnE5`-MyAT{RS{BZZ*O^wM{phpg>P6mGu3YBW*Uf>!qgl +SkJ{fgMARkCLQG6=tDy%hKSv +*FA{BR&|s+fPXl<+=bUT3;u%h=@u%pJQ7)m;*#wFQllmv<*9;An2Ir7UVRxllXmm6#YdBfzdtOsw|i_ +5h(tp*A@Yly$;V6;Y5ZnHP#V=LPA`gby^NM1 +offC+1Dj&+2@^D95*S5rK{qWIbgSor0B}J^!3BQxT+j_%KrDczxT3`)m+%^VkUmsf_wC-hzV7d}Usrr +bN{`vzD$|cn$YP1o(OqH!g7N_+;DBzT7~4btM52)2^Tap0wTV*e1!`fPaTnGrc}*17Q7Z~7P!v|9VyY +G$Mz^MlDM?XLI>!?$`+BJhQYkP^dXsb$Twlk2isU1#&>}9?<-xiF)^oy&T^i{- +VZ{+;>6oytf%TxUJ_YLs!nzLDw}kaMSpO-k8)1D;ScPWhwZd8s>q=q8U?n+(6@9w2Kvs`W%UPcNLR%}a2LBa~*O6o4GX9WGiDzrBH2y2a?KNr>uf_`DG74!?MP-S +;aSg|@L9TZk9zDpknE0l;xZ{;c|Lzjm1vheVOb-l25g!M6D^@r6ZtT=rs6$@(staf1ygf&Z8gJ4Y&*8 +Z?g64t@6#t7?BSnm?nP*_8RbtJ4o!fJ-KyRb&WdXun5!|J1=9EZ2dIq*n;^+#cy1nalLItA7v!a5z+{ +lYp6*6lfBIytj}t}NSBm$%7F==}CckeRn@fO36xe@Y<;}ZqNtj|LCf4>*dJ}FR-% +Rnz}7b5sbm&XX5eIOy#cSNer-lz2`TlWgdZ$!9K8DNtKnWx|Sb0;V9Qt +UfM2Z!2ZiUh*nDGdm@k`9lx|4i}tqX(p^}zAdip8btlsQfYN{0QQ=X&OjCZzkjF{xbrl+16|O^`J5AR +L45nJ+(sh*llFR5Yt=-fw+dCvDIlebKzB8Jx%}lX-Rb>oj?9whlOUH^T563s2j>`t?ZRelofq!AI;k3 +nD@N`t^t-g*Eo}RmTU}?u!X#=11PE$b6JuR|V2f0)dU7_o3z9%Y2rP)h!#RTRzrGt&+n~r31lTI`}Trrg4e#JVkJv;1hy<1Um@cA=pCTid=ch8Ts%jG +9@x4GS85ChRhl=YskDn<^?iq$*d)_j?B6;J$BfcXN_mAS{fWg`x68bgu*4tFf(OOdF>{)hTrlSYHQiubzLtj`DqKGxELk1(kH%WiTk!kKicgeIVq*HgD-UO=+t%|a*t!D^b$m^G_x( +!K#SI$fo(l^NzOW@YtYLy#$))vKZHPj4Fr<7X&-LQQV1v=FA-#x ++_%TqGu|-MRFUrmZx5_B@nJ(vsvcXYr;Y}$p(Sp8k4MB2rZz=)+d8=_vple$*-QT1!bWy`gwzTltmkNwPWI2Lo>*YxSG&0jKr&slN +F=5V{^e)vezHsq68xE9#UyDG-P|qfUgBI|@(ej3u9m3D^m{PnM^2>Uqw?qE3my>z}wX04F9KR}8k+M3 +K$QaYb+M>KZ@G8UKlM+$?gp-{l&g=8QkMYg`&+O1SiQwKY?5I^&PK+D4MaQ@n=7A200eia$;T>PnvOj +BIbNrj`cw+PhG?~SMX5M>yP^&{$EAgo +OW!Y5HDH4Y%nfRNLuCD{IMMj1xK%|_@GYzNhQjbVnnKl>&KsBFsFLei@RhQ0dPl9^YEP6(gURIxy-zh +A$&Y?RC=))C@8PQStTa_xjR`oWz+Y7Kqu*Q>;YY4_3D+vc)i$VtdnA+%eM8||kvX-EQ9=X%=T2|OPJI +&pe1kwH${-(@laDrJ>9Yc)$s!%xqfsAU1TMX3_sa60GPBarm*E5 +!l8%M`FudT6~`fC#&d%Uc|mj!cbquiXSTymFct%N6BIlT}Ki>PcDWk7HCcl{N94WG~Fv(h7|yKpYdn4 +M&ijU8BS$2^(99dw#HzAhgpzj&+%R&-s9Zw8R9)becv#JZ1|2NBSB6PZj;au@Z*Y? +rhg3V4#UG!Lg$1e!S-J#%7?DFY~Ny;fwg}0 +lEbJS4JyIo?NUVQ@U74l3&Wl!qc4|)dw|Lc~pPm+KxMl{Ykt$CnM8NL8c!eQ{BsTF +8C+oHec^_r*Z(<<~`o#dAGe9Cw9g1X(>0BE)?sJNXX9>@0*p7?u?ARHl+%es8J@;#Kmq(sApR2 +!L5$V9*cb)mp$zr*Pj`PPCyvWw(^T~%VKxu`c|Q;lS#eB-QEU!Yhjel)ESk^Y4)~g9M7hT{<1ngxq7g +;d@+e!vzU7EV&FODZjhN_UbuSEW=@h$KPxL2?(VpDqF`^5^eNt@HHGymWl^KjLxnh+rS5~?S%?PfUHy +%e+rYht?C#oC{h>lDj*^-77SvxB>6dSmMrcy64mbWY-Y+THbuMg%!PW*;yw+D-JqFw*1D6jn65Dh%eU +J-+M2Q3k~$xbMUhB=|Ds00lHYT9M%LT`cSdxG{9Xkbq7oHYHA|lf$TiP +Fm66I%nu(uaJ4lY@N?}TkdMB|E!_$2XN(2oxlnI=t~si{wNXVitZ4HAA;L_|oPam6OA7?vV^E>f?;F`bb*n|`E ++y{B{H3A>fx8 +JjLIobchGyVlB0uBO%U20419VxoTi!tqvuu)asH>eb(imEGmbfWo4_Gr4tht_Ei{Ay$FlU*ZG}h*1P7 +8}C-nt4--Wzf;STI6aX*B(s;{EdbF7FT#?tB`RR{TqA>f!_*J6T)v*kyj^u}iM;4m3gj)Kw!#39dnT2 +g!9PT$--N2xKS1=>+PgoyHX=xK##=4#5OngV{uORUbF%9>&uB4UvwsaL?iL~Cw%%V +Q$u3l$;8h_^L)K-5ER*Xmg4ws-q!V24`4LEKCll2yIUA`%vzCWkOiId_+!h}|*Hlx3EGt8@!4*P@Q-Z +4^AxTlBDO%d$!|U5ymzk%WGzsXoB{R(u@N4&cCGq`X{SLE6p<#8 +$#7XR9euPn`yQua4Zh(A~r|@rS2krH^lE#AZyInO$fLIBEh0jOq1`sohel(iyKn>GM0(?UxDV+l`6YD ++I(bhQ3J?!CD;q@U{b98#y(x?*1kCnAUU-f4IuILDNnXHs{y3Ku71jr)?R4(_siG_n$qlUnmR}x4QN^ +4kd~XIZ*A_J9wck^(PnAz7Bqa6C{6Lx(BMrp3?a$FD1TWr_?$Qj+D55*B1Z49oMK`c*jaMguuFZ)X^^ +sQEq$XS*;K+@emA1p(Dx0I|L61s)zbyB|8TIm1MYNT{F)JWM-Yf2dsk+r56v|3Z(46P|=aqiP+szytt@sO-HMb=X( +bXck-x?5AmHSRL5`o3OIWxd{%=x9Z6${wLN1;PJdEtNE_asFm4m5%3yBDSiK=G9ap-HsYHm4@ckRQ{_ +OHI<(>R8zULc{P7k0mGO$2$|yxmtvZBhuFNI{>w4%z~7aJ+6{7Yj+mGKm!>TQjp%56e(#^hg7RJl=AR0&ShD5^~SpHWnKl>4|}(NY=ug-~Nu68q~~D%AqIaV?c!LKn(4*SK0&a$Qxc##$;B +g^f)ptAw_=KTJ*K;zu=VD%V|YsHPG*-ME@c(N4M0F?+q5$~9MitC~uYTuW*y)d0V)rgDd%M&MJ1fm=~ +gX;V~GPE%E>yr)r7iEz!Rs2nC#R3bq0Dk|G+R8-#b`&Cpnr8}j09hFMy{YE8~r8lgka^evp1d3B+#&9 +c6K~em=lFB*tN-C#Zr=-#xBlMvtS}K3~{aPx~4*!E%D%V_XK}+SCXPePd3CXW1EtOqocjHj$IxNo^>rd%-k#;EIUUY|(;>cQkNPO^8Hd +0J1Ts6wfktPChL-dZ5H2Y1EZuMw1`|Z}?nyk;|)5XrHL>T?(`XDXxIaJqQhHTi_}I{8;3j +eF~FALL#qXh6t76-evKa9Stc;0(tnB5fTpzJ^`l;+mrB_Vl7J3-3r?e~(>X}nlzv-BiOl2@t +E`$6D@~2ic;z}WzTqDuy7}<{7hbcF#V(w_a)gdtwAxV0)cSy{-P;E%e`nlROG3z4lG!zRsKF)65A?4G +mZHSPgB-E(lkp84Zh{*BK=hf94CGv&^W&d*|yeBDH%uXPn|=4Jy+N#;*B{Q?~9RZFxIFX +*Ok%p@^3uzDhqO%}&E-UB?Iw%4F8V+Kc>}{F)7Ml^YBFGYlPxieq!A5aLgX0|v*l+DLaitX%jfX7yOY +ZzG+6o3pSES6OqjvCM?=YUsO277OqACevv@;nE8iFR@i!V{|+Qfn=;+XP@R+Y+&|K!tik<6ml$rN_?i89?t)7CXnCd9GRT3Y2_--c!bF|~ZGM* +LJys0oxczM=1?WY{LQgGq8s{T~i;)dO<<+2)~6V&ih%X~!)r%t(T*VTT>c0tqj{9AUK^~_=5JI!9Lq1 +?k!Zl*}pUsinYz}9N2Ooz;gIr)uEUOR;HL|Zwf|C4jX0E +&{%(8iy;YM@l&yKEP-?9kaMVrJ8dLwlO0uia&vf42-gKp)t^6s9htr?h^q=GxPb$|X98=7K4pPl5b;I +}3Sz^OCiQD~gj{Bx4^?Md$DUKJXyP`V2iQDYbO%(;hP3LV!O1@2UVv_XdwPLYSdVZGrm5KBO(o#M)(W +uj+Sba@b<_Aa*AlF{v{u{C(T&eO=intVenYZ!+}Mvzi9P2Fp5ba&$; +Vo>VX;9{S}ZE<0bG-IWFh{F}tO}Ws~Uy2cKr59~oaPkRGNt$aNM-r~pH@iLx-fj2F@|aTHCZxP{k8y2 +zStQfdpPLohrm6#z#g$swo7Hd3{aoJ0ZTbb!m31pN-8&1NTjcSXYiF<*;#AanTsneu>ffttWYHtpRU1 +<7I#9}OabZ5TR*nk2*%8LUQoNxPO{z=S%DPQlj_q}^C2z@ZkG{!X;De> +wU>a|aHQsho&W64&HjFzuvraLshDYz~|$?+2sJB)a^Qse>|oWwT_BN|f@$<(+ENHQQv<*R}~E<>_JbJ +%qxD+V!Bo!Bnk%`I(S=+D1@p5!rX>m$X|GXUo|OsGh*Ec%+)Ezt>!t +W5ODhumc``+3o8j5a#%K_8?~Ry3gvE>+Pe8KzcDRWR8oSvz4~=yB=mvT+`!U +B(rql;S8kjR$aHeU@HH<4lSCnfy*;Nh)%kTvz7%hO@o%em#n3h@9pZli8qT+(R^L;7nV=%STaf1oy0KQo^?}$kJEZb`6+tiJwwXPO@5`O7vHI6QP;*Be)Z;`n1ow-b@+0 +};1qYNNnL4f;f#`m76a$xGgx$=it9wtg!y?WuEABE9LnRqv{-_HgY?5L{%Ce7 +{l;0N94FMeYl{iw;wBKj6YgRka9$s}pe@Z5@%WqA&{|DjgHI3rf51r6fYV>}{l%?p1YmI6mUk=&Ro~T +`9VM5oMcyUt)dlsVCCayHt%Okzgir{Rb`sqok)$((<{q=(WzMn%>);lP^I3|7}v7J9%l+z4fPMoZf_M +Z~FzuHA)RS^Am+86A6i~{YjhE7vi=$!9Vg<XK^V6Y`c%p+cTpQh0%wVGZOU7OmpT@Tsapy)!n5Yn}Q*H3I%98-9+M)L44S+xzaabHP}(T(zmlzH$ +{7;ulP>5YLrg7)c5Nt?n`}7Zq(Us!Tqeb(if+Y8(ry(n_HnkDa*rg;_S3GmF~M~`%Bi*+u9Yx+0ur)Jexqs`=uE-!|@ItM+kK3Z)?OO^6=S(+@zhOm^)QLZz`3A4|FpIZhT +;{NQ7=RC|{_DNB~Q-URoMWSN^pl4b5pNR~bX;~{J&L)c6qr`&WBHgj`G*vu^;VKaAe9(l}#0GbN{bUp +;oqP#NksaVHx1DBWX=A@YB~&40IO^DFWxEAT5T@{6^fb(}QX0%_7%tKeY;H1f(ZF7K5%K>t^X`=nlQ;w +T=d54_o^zT}CIy%vqk&3zI~tlI@O#s#ZI3Ip^}=$x^2 +{RSd&z^1iYr5|7E^N=#MHh4@}2(G~C4W{)i%eNCb7w(!mOz8-*c^nF{OTJB@(*Sg%++p$yU*rglsz14 +ffxAQ$bz8kTNY?Wl&IpT!94enq(6tZW;30o^{3URB)r7v6+(;#YzBU_&IpFu>MGy1niu|VI-1{6T0S` +0Q{Z1?&oiazU4`3qGOae;nqc0*f(y%nx*ymWHAA4|M+Qu)j}EwH1fY&+?Bcp7=}K5HnA|33dOJUd8)_ +?X}n!A}IfH|yA~1a}Zb6QmIo6a1NABf)zFM+s^O^tb3(M}k0tkp%Y;{M1#)P7oXUt(oNnn6HbYeTw>BoemT0l<@>>j6~~Y#%iePM-K{TbLcOh+$ +Xb1Y%CkVLN)dwY&eT!Q6inm>>d`wBG`BqDO{rIZv>l1epRROQm@AE;7CtNE&Vs`((DR7%fIerZY!gaNk +o?~@2ygvi&pB~vlXM805-G}wIBVDA4w2%(cpm+&Ut+!IADE`;5|1`+(c +r?H1;XXnmQ+q}-hQ}5;NV`$a7jc?m_M!)tqb?DgX=3D$bcj?-#`>j0!diLra*r#v5pxbT_?muAQput1 +#2pKwT_?@9)BTOSl-8I@AJ|-eEYV5e^nAp4H;_n%sFkxciq{&IiQ>NZKZTgIvDYH^%&q=eS&&|lpx-W +ZPPHx`))_j}2VE%%I5BzCS;o>3|k!y`wkZDV>=FYL8_U93=%^}{f5|>zrvNUP|s2{7~6C3f=JaP{Zt< +@^R1qeFYvepV;$5DGqq(5yK**B4TrF+=8CVbE)#}iM6ix5ruPo(~BFqL+Qa2Y^h!U-F>??4|CAbOSn( +Q{ZtpN8Dx$OdZCgj>2ubDjvBL6qc^Emic0au0-l27RDiw4EI40|MwbRZv|ZQm9W0{+YrjmEvWx2b6GV +RjoytuvEirV4E3JOd~!Mw4p4~r=qV2U_sR9&!IOfyG@iHIAD$&CvADAHd#_R0!MI;-0xcjF4h +JyBLz)WC!?+ +8j~l2R{Lw~t)HxuVq2mi`lb(U^|GZaP$))N*Tzg0x2Q?;x2%jc*qMAOe@A}c(zM^1-!ON6d7`F}ZUKe23JCydG}Us{wpgE{n%>agfq#lf)xs7C%m*nPCBLEO)LOhA +{~;`_#rn>r+$;*la(m8I{Lu>*2ySdT-G+PwZ1RNEWmEbVm1mmj>$U0J`77znQ+l~f(c-Kk)iie>aNn< +{|9kkQVNPkHyi=9b)pYCIA<8sY@I#R3M>E8j6CfmBO9O7WzC8}s)X$CMhY&IkqR!@tcUuGe25ai)#?y +tg3)x&vG5?bn=nON@Jbk!_EWR +Qt9Ek82b!@bVTZh||R9pFwTG;goFVrHGmOdzuhnJ0cRv#w<3k%{k10?51-?w8H12bun4Lb};hYsQr=t +o)*x_>a;d6S89onGYZzGNGqv7Ma*mHIo@H+J;q((-?n2TaxJe)m|Zj1=C*um0Ux~DvoTJ!PL)RS}Wx+ +Q2a4AQp`VcsZ0@So-+2zv60q&qBQ5z?_EmWG|VB&-6DF5v=bVnHbT%GBxX$D%G*R5K{@v9Y_fXeUq@x +iJiVE>ho3$wD#{Dbu)&lL0tSR8Oz|o*1^f0y{Zvj093c-As!9a$A{(KDVzYm +^(>;8h=f7kn6{})X))6!o_6MqduEYbYwZtzbVf2ror;|BlKxB>s$#s7c6bA6p={7-X$uKw>vp9UPDtN +-)3!M}PA_;>$)jeh)fq(AMO*6)T%R_Jc{exvl()7{ubT>Qg|mn?OZls@>-GUsyFin5gtuUh@*M;`slV +~?*{`^1w^J^j~b)~$bb!*kF7?S+jm{{5ww|MAK{H@*7W<}F)a-}c6vZ@vA_yYIbUUa`G$#|Jxi?cVd@ +-hKN&I&kpN$A>@p^s~>8d~x*H@h`vn`ozg^zCCsNyYHo{AF9v%>&LS-=YBeW;pdB&YA^qCrS9rA{%sH7;4`C|A_L3?)ElHkJz2;dd2>j#*PcfRJmcL#{RIzzDi?Xt+D@EV}C?r$E9 +SdeXGU}#bvGJ^u#fZaTayWEIBhLEq8vRE!CEpn*;aB`4;Q=*;$r3wwRpsT;FnH?6p)$|keWw<(kMJujj8YkYQk78sc8Y}*4%j%T102Pdt%QboT!PW@|;2@VV{>N{UhZlNxZiHEF3ilC8;~v#y3Rk}VzX(yS-vfe$V#*4WoOQjL#RH&FV}8s+LQdKP@0Jdnwyx7&r +xQbHsL1E0p^IcqkJZ>e5y08epCb5^xjXYjcl>&Q(wk&EjB9ROk2R5+%!u-ZhAnTy8b&*%(3M?mO&y-E +19!J%7c`dC7!4SdBosyYI3bmTJz?ml8tHxB}B#2Zy?oUKiKj!EVEO|F*`HILUo^=-((u|Gcs+K{JhjT +mVnfBo5dQ?Z;(CTI%sxg&LB%pK|eKOBYvpo734$#Gp)Hf^DH?wcSa5JvRLP3=A?>Br0Stq1Mauy+AIN +7$BmL|3h9y8@q3C`JF?PT3!8V7G|9{9&d;=EfDQ6(saB2ijb*2)GeN5orirps>5|)-HmwF>(=4LOwf+ +J2e4sUX(%1o^*QeXBcfWvC1$%HxgOr=VqhHT{L|b-t?tCPQ*p1P-K2G!H&;*}Z=h{)Z`2j(e0_rI;(* +rE?@@xxlYdN3U#8L{=q+7dif +7_NdAbLsdq)EfyW^X|Nj2JN;<4FGWB&yVf(`l^1fRaBwKXYDQwk1XFN2jM{=G&&*Lhcxtmo{6Q$Eq;K +Hc=;MUf(nhI7kok6U9{D*K{?v=>O+#E&EUD+p_pvK-f+~-O4e&1^B<&DBEnAS4A5wlySXa5}8AJ5 +u3=4RLKh^Zv88m|5DEhW?GqG5+<2{*CGXa9hjxZ>?naLYrk$ZgOUtB_bo$%KoCz=nfaoSQ^q!w53H;iD7 +2o;i1gPqA)#SYye73LzW!Q$|M%4i0Kw3>O>Ziotv+|-5oXYo~Sq)gVVCJ8FMj||3nfe3Iqv>B!nchC| +#n>O8+rL%?J^Ks&2NZHkKG2mmHoDBcdPhh_{2uARdDKr};IO~}mz?d(IG1k$|w>nGZ>C+Co$na1` +DTI4#XS*4&g0d%pmlpBSnLcGtC7Lzl_YMCdvwOZ>=39IfIh#MY}z}THA!|_q^u(u{Uk_h88!L7u>>;w +HI_gS7@u)ELr?8ck>^v_Pbi3;_v=WUsDs8;e(dKw=5K+_T@WneBFLsP;i4`sa}JT1*CYNU@>GL@WQFq +VrnOfvp{lrU-M;*&i(Z-wbU>&Y+=hQ;md#Me0Qm(sIvlrynpJ1^HHqDtMlSx@Wf>b7D&bd#ayW;wO +jEZlepnqY$%`$INCgqbaN``FgVWpRVLoyrf8JC+%ZDY1I)w+;y{8;eRM2lR>Psr^@?j49DUe>%5AyhK +Sy0O{z{0t;E#-5%|(mP`hp|mu8j-L2P!7SH0)`F927PVcZF>0Q9saA`-+>;SoQ+`RQ)=W%el3AkclQu +qGu9aAi`V}c)O%j0Ix~Ywkq$qQXf^Bls!}fol{~tf)W5eC1PN(tkyFM)T+I81EH}LoP19AKB^Z)+`{B ++NE=C@z%{C=eRj_-j~Uh-5-tnK5h2Cj(2CxXy@g>`oyCa=326tk6LwpRSwX#8$g;=(j4>G~;dI3IG80 +&wrCxDQj_!0{i#ac*^2u-#>6f*&XMCxiB-YXTM1vR;JidJmn!}a#lJ*JXEgy% +Ui?*gU$5ZvoRZ%Qiu*PNzmF9E&lP`vAGs{lGW*Xye$76ze?YU(e;l>{k*E31OxeHr&9?tty#L7O|8*W +vp8wlfA&}$)553_z>X2tGUAVNT;{3O-Wpn-Wvbp4$6XNb}^WtJ*Zlv%P8;))WXeQYu*JRVIm|Jf!e7I +u1PT>zcd+OOP?DVtJv(uVSfAM-@n?M7|grhT$2C$T)Sx4`U&yW7u%pwWQ1S +1JT35F63CI})3An+&fC13=#7tHJofkbeM-~_>Of+GZ<5F8}fN3fe<2SGW(I|N$@HWI8OSfhkrMX-#Zn +7~GmO)!gK5K&V|L^nfKfiX)%%j +ocsXS_YGfA$43BZqkC%y~tdZe>9{g9L98v^wisK8+2^#IeaLy__frSO5K<^gR-r=+drqsH?|bzj2$-0 +kK4hZOYxxovd4o*EJ4hz{B{DHjqd>)|9Dgz~7aOc=o +Q_VMD2Z;u9qG?%!X3{74TEUimo?+QrWyB*&A7kOjQj3p+>bQlE;ZqfvALGq4YPGjqQX0+99pYM(=psD +tiJoF>)1v^{d;+ij%9e&zX#dKzfb-9!L{`6SO31??-X8N|9;{Xo%jw~eUJX9j@_%t4~hW;82Srfsh*^ +3`WZNIAR9Ms97|44W|^6p%x<^K6;)hJ|HW+0nl( +Yh){6#f}GZdNcRNm(wFw`P`dU~DwUWD-b4y30a*rmMJ$^N+MrVj6vejWMap)f^q`tp1BB@uq#z5_dDh +f5;;uaUp}PWf~0I)F`CxB_%E$nzOQcIMWliEYZIr(P=LB@N}t}n-r3Xfwx{+TAQIA1 +K87RzSkmFFEJxrvY{S*kJKD$XJ3t{;ptuZmFFr9OR1P5CYxf^`uGh=^L|6d1p9vqyYbm-|10eiA+AwK +fZQX(5auNOj=T|4cUt1@<5uVDo>Zw{TyhZsV2}$-wc%f(Hi0m!W7r4pZ%&<&(WN%j2qrB*ZXYpuafgT +$0B+wNzxuaAj#CB1OZ>B*BPzn>mA^d&M=?u)&DJm*_e_+n?j_oq!xVMTny`&%a?y*F1P{UXl)b?MS3 +Cb;-dj4kfbgZugP;LKA2)&i(ud=xOs<%BXai*jmtrKnGzJ}fvmm<=90n2j1WiiL-VvzV9|QFaq1Okhb +#No?xWscgoK8EkRdST=X=T$YuU#pcbM$E;SX=syYz3)y=6X!ghYlTLpM3HOJ9_je`|`^#+1b-a*x{czJ9+Y?;ESrNDt6)Q5A55^oYmCS +uuGRN30}eDF^I;81jf9HX$-3vYfXI9h8lZ2YQO>fCN_!>Vbk~owvgY?*6`JAD}R-J!VjtaDeFk_dr|z +s6n_-OkE8fgDgIoFzks)A%PIa-6#o^9UrzBqrue5c@%vJIGsVA`;@c?xN{as?#otcx4^jLh6#pxV|1H +I@qWEVi{zXmvL46rZps7zDO}|&!7~8ax=HxHZm{v)R@Z?DTe41Asp#Gi6AkMF0F^sprm+>Kaj8Axw@%x`*eD!OLzq*_8Ltks+ +2T=Us6hDsQ&!+ebDE>-{{~X2NO!42N_`4`R<+=Je#Xn8)YuxesQwn!e3YnC`LzKevl)?^5;UuL{)1I@ +RhH!Ra0%sTR=j_sI&Mv>o*_A`w9ltBZA3*U(Q~Ze(e-6bjp!mxu{#uIvH;TW7;%}$;2Ppn=ieIgXZ%| +606UFaJ@q1GIz7)Sd#lMT8eZ +$AZ#>7NM#zu@D9Uhr7AgEuzK7r%L^;T1ej3ICOk0DEBWJ>UD2rzD3fZ`t;9}yKhnv#!-2p>HrJf%MZ^ +y$;9r{W(IZw`+QkBE$*_`qvm|KQ-eQtFY6jgM8Iv0eRdNf|g$P9d;Y&w$?J5TDYIjg1){o6@~QXMggi +06|KCz9|%cbT}eM#HMuZ(4n*JFK`U(6+lSFxYJMR)UiW{yGMxt!6HD<0K|`ogl{W85qwzjE# +zqj30YzmrhCm_}>;ZAdboDM~E!cQcD?$0806Z^oN+@sfgpFV&er7A_ukn3ICMHA!eWuOKEf&JGMiI4i +v!cpEBG##XKmAGPsBQZyh^UpwP|jA7S(|hPE3V6&o2(r98HWAfo$Ng*`@(2oJx*)95vLbV__md`y&rW +xUE=F%d(@L=4jFTHm91psZpd-77UQDPe>BT6ybq?V|}ppco%Jni#3xKm5*NgF{+*8g7aq&xkR^%R`4o +MAZAIq>Kq4Z))e`HJq#wDM&pgvOfQm2m~2#YU|-+hJVCpV%Jz!?~n2!1~a#5-)?+LMEqzI@fu^=^yMe +ouYFj2IF)0J#vAEJ3U6}1GbF+k)6iSyA4)%x7%?Vl*oa2nn)In?V!}r>@@BCOpZG@JoR=5X8jDAtAVH +%1kCEq!nt&!{xnefDkv!M3oTAEe6DLj-^2lP#IJfNa!h*Zlvdk#9#u~x4ERABDo>fjmbC +&dtEHf-1^RdSsV^2Q$BzyYlr`h`T>)CV9Jtt&^&6_t1dGM{b-V(CHr{yoOCrRGeM6$w;9Xr@ZAAKZbg +Hzvp&A$2O8+Pi{DOO!w&CZ-T!+tt%fF|NJw%di5$>eTlPI>HW|ZO+PybAFSL-10A)?RdZ;dTSx=l +!!*$SjkV`n*bx36o4|Lo`}twEnjdGc^3yba*J$F?fS5ot`aBwJSM{g(!zsR*;>S|_X%zo{ivJMBf12X +IM)CJh{Q7b3zjDfd<&^(h<&-W;AJC;s7qNBKS*(I~@$WNe&>*PD?h??Yi+`7%xA*XC*X~y0v(CMO`t< +47XHa`T<85u}y-UyD{rXYZ_I^DE1rG{l-Fn>~G^l&)LG39(yS8m_?bfqT(4aQ0gKkwE0s?|=A7n8222 +q^bZfe)Ii~lXR4{BpDv~K0)<$Iga*hTN%<@WAv46WfX$gf8yADvIHL3p~i@G_7w`vtk? +W<>>uAbe}LrXK&z9k92rzz)Q*Xf8zN)TNS_;M<_b==+Og(3czQOeOt9^MLmm9rc5OzREJP +cA&z0FCH_Y}o=UpDHy9q}is2FLAMngG&m_~h^Y+=ZXTSUL#~;6^vFDqA{p(++$^81lg$rkCUV7^I@#C +-V+O^B2)9HdojvP5ip~+uK2S-v+4!@=RP}dlkZ|d8(Z*MYDR_$&uuK%=Y(?$=chwNQH|NQfZX&%krfB +${{{rBH<8c+FWpM8b}D*pA?Uvrv&bNCYtoW|KNB}u9xT2Frb@yCCysHi9!GiFQ(lj{jbaBgAp5gFiud +Tp%$?COyq9KGp|u=D243#qNG{e__$ym9nJZ@$S1KmNuWZwS0k +pFYjM`|dk_@Zdpy=+Ge%4sl3Efcq(m^USNSzFN3#+qOay*`gc{$N0RwyvUU+S0<2L4cu@%DEO9JZV7Q +Zo%h~x#~mm;|H#P5Af)?S@jrk5JSSOZb?@H2hfx`>{NaZmczJobyPOXkIKaR7;tPQ%)sMg(_7f*g@MF +i0iFeSX0?9nWB%Zr)?%cUr;=3!9ru54%zwn=a`sw_qpMLu0x8HvIHRW{~;fT&hsJ#s%99AOkZ^fVFDd +gn_;I9H`PyuzK0`OPqQ0*!-rbPw9*$q_ZZqT{|eh>bYm6a=~9(xf_lz@iq+qVn+!5>GD9u;+P^5jYJ4 +jj=Ys0|DA@ZrM(&^AyXFi~%4JBYJ)?_PmF>X6z$M?GA-c8zNvdcQ*Mb?~P)e8+FW|Ki1qoQ5I6|DmCw +eZj{7;J<(We*X5`Z*!`1PBOD-!zh2$$DTcV1OWHlyLXGWa^%PnVFwN91Hf-+C#WOf_WF;UTaI!*`XkP +V?%{mU2e?O_^MU1@PyCSczn|v(=ZhB)Q(NiwTkwDHz4ulJ1_llz8Ga@8m#7ax1Mo$eqg+7`>H@gKj=K +NqtFHvWjxtAi17Gj~XaU|Rf7J1_XE=}ijC1qHoSP1Ce&;^ULv|AlJ2=0cXz2Sc=e^$IeC2V@>+0&B`Y +rfVU+)IsuYy_^D*T>yf_4CYN&brSaYs0h_>{^YG*BH3-^=+OL_^N!oL{WtJpB;ogWq#+P23Rvmo8lbF +Rus*3F$?=Py!mL9?M{W~0ia(7RTkg +PdDwoLhQZVp`fukv=>6Z0KlR0{`}FBEjOt+}+8O$mrsx2#H^*NnfB0iuKs@v_+9&B0wNcRUCFe0jLln +`l>0kUto^u3GG>8A?%a=KgGYtSVsG!o(RGlv2)Z^}J4u7iW6+?#(?M3~03GfG>G^PW5558_phe`{09enilz +AgNP`6KxT`zZd`{JR7VcxF^_K2@P1;cL$02&d>TH0>EQDD8P5`XuU8`%s_MlW6GihTON(v!p5fd-dw& +=6@RFG0tCCA85ZA57fFqd%(L&1MsJQkC#85#$Q@ElK*Y~DE=(b@HEkYCzblo=|sa6!ei1mG7V~b1`TR +^MxQif7nOS@=eL0dD*u2tsr~O3$$Zol{?y+K{-?IK67mq*oJxmE3uwT2&>U|8fAo`EmxS|I{$%2RCmN +n78rIun{PWLpKC7B&kT_31Ew^X%NwLT3+cRiT+cRiT+cWy4ptnUbmm1@bc82kVSl{oZRDfAkkB|Bo0kqA%(~1+-V-4cvgcN(=ga^!J$8px?w;g|Q9KdrL$4n?%Fb#UuE +pMJE0-(a^X(|AqRb)$_vniu=a!WtkD&F*kx2rA2a={a*gn=LZE1S{Y-YB4ad%KlS&5{|TR!z#DkM1Wv +#k?E!eJb%H)#D<5P01&!eU%4K))cZr5Kh=whNL<6-2v}e%ptU|+Dg@#q2A!`hOD1&H7kK~Kfq67_i&? +k-1$QZ*uXqx}gXJ8D290Az4aU*}}rI$G5A{DfC(o#FQdi5$l_}5fk;kc8(vxI1%wy>FK_@~mI(I>69- +^HJ{-o@ACjpmQ$nEAum;oLrjG2dyvzQ6(aEnBwCO+#ZkTB7CZ)jEE%;tBr2iU|I`Bb2|bwCC3}?fE%{h9?yo{!Dzd^1g8H%#>-sBV- +I3pW_Ig{$7l~d)f6*XVf{3zpE!qm=K$jlk*{PMSDaWSiE?#ph3%Dzg8zO(WV;Dv6^~5-|>oD#z1>6Q` +&Q*r$zY(_@nNlqoYv|{KXev6tWj&8K=|93knL{G_*uVOLc+=ebSc2H_)Dmh9>%%=AOqqUw$e29mqmW(E_|NHlVM9EChKJ^8q|)&jYGh&*<WsCw@#z1>UpY+6nc%c8Q^RJO3M>^ +x<A#N#476Z+_ctw{eoK1unn?Z9@y7L +50S&0Kijf+UQ&NKRuhjQ);I1S(Y&{KEG5L!M8m!mmk~vI=}ey&xfhLZ+QJ-&6+j5q@?8h>eZ|H(xpp( +zW3gHd3JWTD0iAy3SI&YXcwRpxPgwwv|tSa<1qLhV>H?d)*~>Fgd1ce)E#JP;vw=ce}yvot?NICOl@~ +vUS8hUfBMs(t^v>Fk*03jHzaPF>$1oUq+?qx%;Ef1-QE@ZrOIQ5lw?J-_?zyMhLk57rH-eFz#-Q&V|dT%6#o=bn2`;E%FK +nZpje(GJl6z#XzF_y@8!+5y@C+62-?A56GkqjXCA{r$~U@6Ybou>&^`V$a9tM)60!TKPvUR{-XVz=!I +VlWc)g#iBh>eRJYB!2=khP{wK;bv+UND9RN5|7)+k#$S2m6)^_>^Pm3|@le)OP7?KPGiZ!lM7VD!w}+ +U#?{TC1H$r}c{Dc0V+T%*RqrJfdE~sy`S>jV6OU#=$PxP(S*2VaSz6SiQ@*&y*+9m1)e1bYapRARKU` +M*BBh&}RbD|et7^2_wxa)Z+t$l!-3W$S#27M78@DJuh0N@U~o +_XdOtTC?h@bLJpxV!OJ<$o&g640Rbi%rpi@{pUxkD{BgnG+HzL`;lNAab-ZH?0PgDk2+6fi{~Ndq{I&C68hciPFEIv +z4t2dB{RjFwj7M5JP`0nX{yKl+i6;aFN3J;O@p>J1%Nv7_Ds6Qk? ++Sty?GJgD!*zZNL}2g}xKCsJN4S`nTW7@7LiET&R5s{-^P~M4f-NM2ouSsqWvQZs3M`Q1|3eXXuNtmw +-Je&;r~kkKfbJw1~fU{YRZkwNxjN?;-!-9s6Nb67>_V^qKq-;MA@Sr)b(A|1K!c+qpw9jMso_WuR%2b(YOoz!MiQ-d2{@(?Tg^Au3Mm- +K_hsb_~;tR2olv5#?>x=Fz$Guj^yV5Fdz?{d-y|C_wZsGT;88QzmECvYoq7SKf&1O8rdY +0A7ttprLW1iSTW202>go_lgp+~F+CO2M=_0x*+Vf$D`t^ma@o|uZ1~+y0Q(&e&iD8z;Kf>y6|vq&u!r +DcqxmAJ+Qe4dHIvhp078^_Kdb9Z7IK1JGJ)^c9(4d>CH$$M;A3&x(p9h +IC<|A_O?eiFE}gac^p=H=yeC(Z5dr#4-S{)}YKpQ*pCqJHTN^-D)dK7W>E+boiS@eRWef?gzVoSl10- +Y3IaDE9eG%3AIx=Q%%cj`PtwME*avkbigT!#7Z#wc7o3^{k1yey+&;*9gv2pL>}4&9{&+_Dr$ghUrAt#Eee}^J-~ibP^9PKN=+`k8p|6H43poXTu;ZB~)$bQ#j|cmmSkuP +-4%Xzc$M$RaV-7%b&>WgCWU2Fe%yW@1-16nf+I<+W3E)z0B8S;^OPUtebdBmd=8til=KDE?g@sw#{ +ccsBg$ddEmBkTaEfMRvSVz?6kG)syA162BN3*g=gS|fNF@Yb0-J4}8hFhB$y9lN#~kXl2hdMB&Fq`*b3InkS{MUAs0(iwE)spToq1{Wh$rVt)Z^!mmG`_p5t`Km5Y +Em2eq#NZxBho4|gjHh;(!3l}cTDJm+;((b(i2dtZ*Ebw4`9eYjxQ1<(<&xG|*@FVt^u(#n*_LmmTk>R +nWnF0sFj|c1bz8mM?crUo|9x&>^;-S%EzYBXsSkuJXxXO=M7svhz_9nz0my&;B+E|g-I1N9J+SjoDA( +J_s&eW%#dMXKR5%Yb>=b#(7pbTJsydhKU8)Cl->#8p)YunE#`wM6j*dM`OVX-CBT?TlxeKhuNwfv8^^ +}quUgrS1=4UVynB$^?B6%Ho3b1^@7o1hG$m_32H@`ucO4Hi3O6m$FY*q~L%@@FV3ro#6PThV5US +pP?Q8f9+j+Tvb)}zbKPrnlx(ZWPv26<7@AIo_pVO_7Oz|hcWUMmYN7CH$jw#qmB~gBOm0eEXxOoXpW& +Frlix5npxVEmQL2B6D3VnKA5zzG5g%#S_coIlUaR!^Pl_kIl$$fv)4Xruk~H8efB}0zhRxFVeJn2bgi +1vq1`XIH5RPZ&4e-JU#c}WX#a(ONPqtP`N^wRts088A@s*_99~@QtsBH~ATJP)@H=c+zuh$Td!6_pd2 +AqSKZyV6V^5nlZTw@8J(h`lSh#SZi+hN>X!{WVQ5KLND2qtDVa@6ECx?TlK6wvx;tF}ph^eoY{TO|;D +VXQLoG$Vh<15g``ds>zwJ>jPa4ue3oEWUFIUGE5{JrnxG533UT%JD+$^W4JhyELR^oI@|`my6UZr&AZ +(}6%BIB(uOH@?F$d060KCC(4>=In{T2j5;jF1US0jJp=VlgE-NeS;NCCj`H&IT{RJ#s85~Dm{DloPzg +}pP!#Kdi3bm2_eC8z;r70e|2>(gy$I3#=t#-Z(x!-p#+_7$#1f=<*%$z^jpXGT +`NqJ$V2-aWNw!V=TyW4){p;U^mA6*NUkkkXOL_Md|73d$GoYIr1= +5W5$e!us_Vnqs>Rm!P>%z5hL6hGwKDNiw$|;<#^Fw#+nNH?Qjn(eg^G&`d8+#8s;R>9%W}|yV!thRlU +3-&KL3;?;A1s(4j-?ekN^~KGFfKaq<6$#^L$En>TL`u3Wj&%@rdyV$R8{DgHv*E`6lq*#j&Iw(!W=(u?adFkgjT_zh^lTW;GwAet4X?*~+OA!@Fwgoe^id7+cMkOsV`G%pO%Q_ +&`mk;tlmq_t@=x5ZD!uFRT$E|_;XHrF(<#KV2S2Zinb1Fd7u*{4^~?NYAKGA~g}Ua&L=AnxJg6Bd%ok~%ca4^S#`c)%B9!|<425NF;>7>g+Q$I42%nFtr(Nz*irtG?w|7GT_5Kx#9 ++(M)%Ag~IL2NW`(fONaiYr!#a +s4gy_t4ivUlV;@j5o?w%ys*~m?I9xf%7+P*f6)wjTnY}sNSY5iOpgFXrd +*8^XcFJJEZgSbWn>uNZcC@)v~;s#M4&Twl#wkAt|4J{Qgh;%U +RN;NNJ=8_GYP@6ErrCJFmOJBjqs9$}n-eIqV|?SHu8^@!6rZtMqnfwdyMC$!m^Pr_?4&PLn4XV0F?uE +mz$q%0;J4qxL-hwn!Y@0=!=ju!a;5ML8tWMsIz+Y|1%7J@qxyPt5swMIVNXBc-5z}?mw`*2rc{Dgb0h +587oLnqv6?N^u1jCA)|yW!HAk?t;QO?*~zPEK0p=!_|mlQT2M=h#ts+2ch{N_tvma!$9*KuUI2PS%** +ZYf!rA~`3s`y?6_nVCF3FeWW0cW7F6P9ST%9Ywp7DA~MeWTcgwotNXjedQrSLURpk#J@Fn_r*8GQY^+v~`kRK&Ru7M#GBGAGCN?&HK)3+L^}CFqY1yus2yVrJd4Q8KgX@WGQQv9m-ziBju#hNR3c+_4n!oHBWt7EmQZY|5U$L8*33-X +RWVxpEh30)$+A@+B4cJtz4_pUe#{Xf2$AEU)A5%&*;q!V$3z3HmZy>#y3XLXl3>=dz(|uRpuu1tl5!g +@Q3*lzJ~ANC-}``h1emEh|ff-zooUwdePcz^|a&c5q7#gS28Er8S6}PwmMbL`_5<1ImhQZ7PtV@N5aW +%q$6R(At@w}%pl8133-EjOPbP_)SzQ%A9h50RR6dBogQIyG&URij2OO^4-t1*eXaiXe*0bfxP8WMB9k +RnBJd%dFj7F)k_z$)d6OI=$H*DrS0frv2hb$Cgg#AI(Nfx$MX+erg;8cO$@;JaHi+HNl7XKS*ko3~3f +WTjEGuRk*cMjB_Ok=*BUZz{V72T9r8#i>1NA2Dw_3bbrXA4!rCrpR-b>HWr|a|d#rkS}i~f=xX8gvuV +1$~tnD>}N%@i|Wt}}O=pPJv8ln>w~e43aET&ol}`!#=zKLNP5)0%FNk$DpLuD}9OF8ta^Ynf0VQ8%gw +)Ka}Izk|2u(Y!P7#wpi$EKlT5@fCa>_lwD5p$PiJt^U@1ReWhMdMnE7SOV^S=vgFHCrF0KctuF8} +zgKfAkhcE2EteWpp-r7`kB@vBvL=L?g*aHZqND;}6Dk;}PRAqtI9a61mQJ+1PFDHx3v_jH5=4@wrh8@ +)>G2HCvjB$<2GsaDFR~;2n7!{|kSOzt4|@j9%cO;zkiIdWb$EQ9LB_#B}kvctVtlV<5N9{jL1nVJ1fT +8(FQbyRGroY-^GAytT#JZoO`OYlYc&*aPfwcBTEP-AuNX5i(w8!CV!|8u_L4IsKe_ooUXKPKEQHgPSl +E!ra|J+K|2^K(fd)Ak&-3r{pxbKon}xI68|ipwH4R^e{a}L)k6tR@Q+9S(MUENmPoIe=4Vx^U95Cq|4 +R&)RF2R)cNXS^;wXEchp<7G~nT0(9!uut$E)3m1rj_#Bq^s-D!8SkJ?|_qhV~Z&H(2$Zsp;=^Rz1&No +JF3I)$}UgfdFmsT@$gP=fl`#$5ha{ta&{zVi=}!{i9iqcjnC +97+-YW*(b9%G_$KYz`?&;OSH9sl3_ANY^?KlV2RE}aKiULz~y*T9{o&h1V|rQJI(#3QoZOw +Wx6OeTU+s2Nt|FB-le8p0Gsc~wOnxZb%8tZo&V-25q(Cp7Mf!e?9#)_W8a*~A7n*iV1&~`KukSU8kPM@U9=n7g4*tDLO(QX_&EcFR>nYvOfQ7hDs)z8#3s;>F9JZ-A>h&Ee$ +Tw9_QYax15JzQU=KL?zw()a4R;Rn4NWK1&tXcT~+)fz3$JIxNJ3Od!_9B3w)qs??P+nj7ZYR)&GGMAg +BU<NIm&IqjSdPFF{DEGO1Ua0WZWom3|SWe9v +)T%23zEOLC|A-*K|yAz2c>0}OB4|eke38NioCqS5VItL`_4M3P$dXcsPc}`-fVA+b`%g+J&T;x6xD#AoF5iVMZHh^c5qJ!upx +(Xsx&}2*W6tN;sBmi;`7D-~b7$s6gy2ua{L@rpqX`%qE=^SxFd;_!9#^1@G05Uin&^*P)h>@6aWAK2mq6@408Y=bS3OcZ11dGMSR$P +uESRdK3RwX!_6pRQMY@ar02q--qnEq~7e`bIH6VkF0Q3RxN+H>Ve0c~i7rIk%>lt}>fu(2d#j`x3ZrFq_7wC(dq?X&H1N*8=JPi?ta1XExO*efQg|UP7D6|F+GVMbPH4GF9d=4$NAnK&S(`sH>x{6a!^hgx&`dQQ;v0e_HguYhZftTWZZ{Fwr@I(3PBG?lm+ +Z}3vcNvgH_*tXcF`(-bgFGAt>K7*zOZXyB^l$WADMdsn3nZ{Cly|RnQuY4@P%eI*c5~$-0DR8`Z;Sp%>7)#NHO`5r3%rU!~@;T+R +UWKrM!;pTX+)_QndAr@HVwBnpkAaTVp%~H$`(vq#Z1 +YxzzRp?{eeeAwmA6o&pPf0#@P+Tb9FD?+v767Pn7@B_<0%~p^Ov2H~-B%$rEmD69#7c@xn|%lML7paV +!o2}qme~HhHq0|c3NLdxb;q@U*J0ejAWY|0+zQ&$0C*Fy^O1S3CAf`B)zcGjZSax7BkNK>h8-L_5V(V +$H5aem&n~R~T@9-bjLpNn;KGgf_7K>358`4&db4JwMyVck1NIvBNJ-x((zpg`(hk@wxeMpadVdPy;%b772 +@7h4o?BxGn{3n++zmJC)@Hmb;mVOq@FsfY@gDE{juXnv*t^YH(b?y0Gc(2tA`M7dhRL%H-#z*L7vR(% +xlvfQ#4#xZ@0K<1C6;$f;lPKJcJ&05wg-9#}DC*$-`>axJocvAeAtbmIM=|`pXVxtX$)J_?lwbaPn1LFBHi&5IZeN!d&afPSgGI@+pmyYRHo}MNtO-b-#Qs67&#o^%u^0o?3coM +!ua^O52qXEyP5)y;ffPx?{{Q~w{g>v(yfvFXW`%<1Ml1gL{yVQ)YV>Kx)N!UHe@i!X1V2u7D8#U>yP} +WVjR30-}(ciJ6XQ`s6p(5xZj*I5p%ey%SE7t@_5$XW0d13~(Ce&FfV1Qpp;RS@p081?ckY>$@V-UGG0 +eP1#1Y85Cp%kE@5`bY<)*$VVyqbTK@W@N4gh%FH5yK-JQV??2eF;eVQW!!-LB4E_%pK5Dg}Qc0X-F38 +_TirUB>;V1uP0JrLm(L9k4#$v#88{$k1R>jMu_Yk?DEsYsLMlr%8n#X=pgSw7`yFOoFb&2h^-#{65E- +1+y?;NAwyl)sc@^M!_B8~BPoYqS|gRfS67JPYwv2d))tseCF&%YH6X_k$L5qo0+`#2aHU}75*t8t=k8 +iDy1F1!7OD%<57fKtYAIHxRnaIqhdnFp^Etv$(ds=N +EwF_Y!MVgB>XE#|r)m6;y=fH6;@8IVBYZupBagI4t5j>f?5rjv)vu6$Lj0RDi8XG=j<$&RfY)8W)^q? +`C^!!CPR#Q)$7W#3fYXaihen#1feoDS=1>z@r_JL81D|X=BbRQVdw{#$KNRr0QpDT!n0JG0n$HV?GYT +i?;}rBbf(a@We&Eqi(R$23rFJe5Qm*A+iW2W;4!?IwQ*zOVAzdu(XjoM*#mZ&ov=%g%5~>Gji|O>U~K +#dC<^J$<&Wx08~a3_{6t3fj3CyO;Y4ptOV++24E|WBzttn557c<`U)oGHTaY^-N()Xha4$MsyOzhkLg +n1K7T}n)HZrP1J9D)=C?G)QU=aTfk$7Y%$5ppqHazi?Ddw_0H^*!;n`-u5Fa0h*#U%_?}s_e^+z)ISr +I3}?s^+0){jhxKMa&#ElA^g-UqmfXuJB<8MwRHzlsWBVvyt=$(_0HGGP9ONsW#6ioQl&4^A7Xfy(D23npP}Ue?W}1#jLFk?oK|ZNjq+uqdO|?@a=#XBvfUYw9GNsA!D|Q847`q&)J6@BoPM +3jVZL-7t~kbAap;+|QZn^;Aa|@&j8T=T(7A)k*PcQ5rCKDX01dByZS|*Pu-V5ygw^NL=;;k_P&5Uhhr +8+ZIGrrHG&wA-9FRj3w>g-wOC)FQZNO~CurS5u=T5|Nw`wjk9?hPG +4H5avRT$$4MXZf!_~dz(B=QW{|&m~kI`0||j-i8VImH2~j*c(DX#RkHcRg<1Zv^$fK_M~vmj$DQ@d{2mMdoc-4%){uH@ZfWdw0sR +6`hNY}nYBwNqp{^;X(UT86Dd2KgrCjB=I45Vh=m4bN*hYY{m!KpemZ3fY +@J$|UqE0`1zrcD+KFsh+m;?EH#`q@=j(>tNelB0&`29H_6bW@1BY^LtQJthwH9CQ653f*8QQ9d=+vfB +s+md{GEB3h!`@B=$F4S!k>e_Nz0dTQOV5`;nxIts`OM;#Qx43e$d*vD~j)mGJ!Fv+G{jnR&v{Fv>t69 +JVPQZ>nT?ltN-ZkNTu}tX(&PBtvc;RDA=|SkevcUS)On}0nh-^;GA{v;fy{=YGz#${1QXh`r0+XZ-SK +A?%dPh7FH!EsPNPWW9CcvUupU5_wn)sez*3TE1O>d3lylHAZD)=<3yGigjN#(7Zk% +$>Ia4GvYW3Y!o0)sj=Uxd^*v`lDA1q+e-axq}ivO(t#^iP7TP`V%WziElIE*x=(Mw+I@Ok;9pQ5Z7HH +tZlB3iJ#*3ZuqLuq-E#}gcBkJ=B53ph;2H*T1F!<6&<)A`e$`DdNgqzc`>vJOAUUjm{g3qT3Mprw)OS +c~JOxN#r_>m|IpQB?R}bF`+hFt3EWv0xGKaKO_euKXcRvJL7i;4K<>bhxM<|VUb@TZpZjG0C`9m)6L> +z77unRk@u7mCrQ+HZdP8Bvk0i|+wCiJNC8EOOKsWFUCrqf2+wF6IyJ7^ktX_^)p*#>>0ALhqSo<(a`m? +&FzN3=TpHx*k2N0-TsyT_m@XF~@L=+@<Pyf&DW@BG<6L08<*6;HyLZC|7@_Vzje +5U+Bu+w$>7$QuSz7Fx1v$2m9@hRo1No6+D1mzn#W9R(4?vBfG#4SY +q>?o=omH=cIvy;Wh7#@?t^IVk(uVae=TpY!r-oWMRqA_tIa3m{+_EwR+XsG*82_~_Bx`@?+6&ecb3`~ +!&?_0mS^~tG{GN8+LKWonGL?vW{pQ}3a^b^;$|dD^8Nnul{RmvS1u81QTgI?f9(-wo$#`~es`PjgF~cu1BQJc&gc^L^ShwBsVi+FYxV>FU +LxhFk~tOMReDgJ;V_F*C +x(|7U*~g%Igy`kO-$RpLqd6bj54_m8`Gd+$rC*nq0#?pZqfhDxM(t|Q&y!23Tgd5MF4oe70P*+f%^;D +`jNl$#f=dZ`jzm8p5(*QZ8K3aE0NCm;N8>8eZoCe%D08!%QqD&({~(<8eH)#^)9l(IA8Uz@9Y9&+Ts? +q4yvWHV2_HL3c<7X$eTu-c2!Z83gbG}pz@-w>ku*Qsme;Ai4X9Y1FggxFufwl)HEym?PwM&xf=%Fji$ +Tsn74>fQwzGUsLyo&qDaTs0Bo1{_H=g8lEEomD7=zHg{)D(3MOyF%$7kS9y!9Yi%wT0!D{ +s>p0oKAR{l?JV_KMz#Vu9OD8CJq&K_F4V4p2x`3xGWE{NUl*8+wT#7D9Ka}m0Af&Uq|`o3MnkWdUoDS +Nn;r4K-idwPtHXx90()M36WJ$Y>6mWjPXobkG=6YD8?wI{9s%l`ytU?{U5b7F*x?PhRV@x^Dzc +=qdG3x*!u9&2i6C>jTdS)aEp+7O0?az_mUFTyqyiU{J1-84wTQEk>@}jKfaW?=X2P~#Xs7tEwLS2V}E +R98_MqHTN1JkJGoL|m-v2p<_2X|uv?HcO+#^5vTWM4SVCwQ8OMZLI8VUTmDL87zNO9zMa<_Hc?_ac$L +@eX)+%7%3J>13tc24b7Yc6%bT%<9AU<2r>JR&}yFv--B#AbTJ!XN8S5MLz*H#tk~z1uA +E3?#eIn>b6?fPm8LvDvBtfIv>t(yH^*0!jJ~33xfTrRpfa$vCzn+5z1PcCI?At{D;QW%ORyI=$P>Lhw +x!?_nS{?@07_@R0MAy_g*?X5U(#viTYZtfKP8#5pXvr+Dd+QnA-#h1S-@Mv#Ck*a? +P-fu=FQj;(^U@N8@@}BHNMa+!T^=CSh?-9Vzt^Gu*-KOtV5N6hylI6u9sO^3C=PutTP2`vAGdhbStLa +Vy5X*gniw0OIa3TmlEkz`lc+vR7)lAn2DFBSt1dQa5fMJ}mVE(4(Q>BU{EKpyvY)Mnu?u14 +6~p^e0o5s<-ZiZ~Lx1Ycs_f7Q}Ce@l}vQxeg_h}{((TH8iZ0x{-r|bhdAj^+L6PHA{(PVYA5~W!7}6k_IQ}n +sITcF^`V#qSYp}20jzZ_l3!TODZK8$wdw?7UYyz$p@!8{A>-AUEn7{s$4Ii4uAUO&YySg**8Y6KJyHL +KG!Of*i1&t$5Y^`f;zaNK`6g*p%o15YNe{0oz#P}cTSORtRO$XE??@Q(DE;QZ5Oo47ea`|L1fc$#0@P +*Sm*ou}Se+&+2hVuI_ho5g#oi{fJQ99w@=#IOd@!vlwWY{~+ZGGmQ;daLh|_uY9s-*};n^J#uWpFV%h +2jT#&a}7c8=>T2REn4y0F9Ns@K|w#;2-mDDVBW&;dD3Ic=7$%IT!QM{4jW>{k!4`TLQ^eT|#83-6MTa +fZF@B5fz=8)nF-&Hs7W&~K(AJC~=vfY0uhC&xfag)(FH%z(h95A~Z05=K%$!m?@Y60=AV&#I&tD|C+1;XC= +X;+V2`Q!38Y@7+N1^A5o9L%n<|N2tNfK>^a9iCP6IJOMd#ixi&7ngH`~o@YO@X77=jOGR;OE*|H6Qh{ +4;kr`FsDEX;>(onyef=Y^!>eS4*B4q-~Q2;Q&<@wkJvLJi`#gBH6IthN-{K7#!!63~YsSA-sLD;;alUTTS*tIbC|J0 +H5wq~Ia9FbY3h_ixQ)xFn3VD?6Q?k_=k1XM+69FZHpfWyuj%oA+zhvXr!Rwk6v`>e16d}mM}72bgOXj +R$0*r1kfiNTpkzinWVumad@mlfS%0}x2ehAeK+BiPt!+E$xcvKgu{74?qgi6$;HLB>%qnFCy7CSv^(f +X1eR4>_^ZjrmJlh0S7OJDOXyGqaW;!RBO-Zs#mGx?uJZ-pJkWFvYyE1S(7j;TKlQb$F +qJs1%BF=1AwUISJQl^Z5oF!F1ZrVl6LK+J$mhput(o~obI28+SJz{GxDMmPCb!>bv|k&p{auUS&nh4t +S*{LTQL<@Y)=kS1M5wb%qD->dh;a24Gt$RmKddAEU|IF?A +zW{F7_r52AXpAL>99%w8~mS$+fK;$E0osrG!0a?tCd&`4F2dab3r$AlWr4kFer~_fE4cm+uk4l3L^_E +ziS-+-QtP4@m2l+Sf{EHy9#dC1F|?9*i*x#l*{6PXNMg}fD}>My#B=3ONWSo#*5YsxuvX3P8w8~WNreUGzpN#L74`ewJ;F1uLRMCE +2Je+$6C<5$5`sU)JCHfXAU^lIfJ1uMXKB$pkmn7N7UHg{5V8Ci}~aX-cPH!W5t7JwGDgJ;qsdPYd#ykX;AyugQ)hsY3yv01y +K(TYpA2jET;?Bfz8;=d`@)l-+rq1*4z5PKwO6F%ibrP?gHeaCtIA2eG@+?jF4&OZx&ua7zR8x7YzMrm +$r#8JfidJRZ!O#6EW4uwuTXH%W~LlO@Y1tms>qp{fEtYb&OELq}w*$DJcj#~b(3Gx8M0Z2~3`U~v^Nc +YiU9(09oLGh1wF5%rE(*Q@?f&jnC2OGBHqrEp!5Xp^?EDbda)3yHlmaqV;2brYtVQOOD%sW-BgpOt<9 +T)UU;^|Jk5vKP5AZXn{8dxbg+pL?bM0XbLcuaYMz{VV0s>a>(N65ebj*0m@J4cIKOl`=&(Ag1?dwyi_ +VD6=PFeIo1N<{3h;2~v@@{T8uiU8{2P&ULHhN5!0WA-E5lil)o6^)~q?C7LB)u0+%1G0Ms0zz@C1C!@ +6BWgSYpJ^Bh3-~3H#6rr!Mx1~@BA%rRIh0*ntt4mu0$w`4Hm9GYrFV86LNy6r@Q?*K{DDWUuBBtwFxe +}cx&sCyB|r-xegd$%8Wudtfzyt5|O#*neAHCzGTY`U&y8O(}_)D-`!kA+(aeiC5q# +qzbGiPJ@%aK$SGDW*T&3xON+4nMPS`MwU-Lk7uz%mSI{BWVw{Gq#9ZNNm+zY8gFbUWV4^s6;DB)5aO1 +hepDmw29_9hDw>E@qZ&Y2!N>7FWYMiBM!|*#bQlg~g}viF;egE_4nRXY;9`frDO|}0taBxDLaT`Xxd? +n4d~9ysfyf-Q`ucQa{B%@uyJy}}WHt#AG?$mk`vC1;iiXO{j2@F*A%QgATbQK;=Jyq5nLr8(_#?B=D* +g7A_Q+hjx+a&aEB{PmcSNs2EI;xXaMj=Y5*fqn_pZT{rR3vS2db_+;MFJaO0!A`ZF);|H4Ji7DQ*jP1 +y<5Z*0I*#U{&Fae&m1V3#);bYXj)&2#9F1bp@|!FRp+>ZmLH#HY^Nmna8!xet4f`7o@tR{#uhPoW6AZBu07 +jO=-fG?PN+S|r)~`GMtIgFnyVS)b;6!lnQr>QL{zrJS@oN{(4xnYALn}xtP +_~fkZKrVbxp_2DYcV33)nDU*qvNgyBMl)07$HfYoZfg*J4G^VLA^@mtz*nE-|zd7r9B4xQ6oy9yJBZK +dvLlg@gqy)56=VY*Kxj@h}JnSQajcAb>h8H&L-(PK^$2*s9g3(G9R#*(X5E=^F#`5?ld_^Z}3?TW +|$0FhprGMDUl=@8MK5800P_Ui^?vo%e-_p<|Jufm(W3s{by*QSe9S;G9Yy}#|0U~Lz^Yd_gzb@hZ-Ld +y0>Ai8@{Jwf$LY};M9*}xwjYT+fjN_(La4tJqFRbE3eTED`C_>r$rt2 +PpMh3|~gP{f14ggh(Ebe0G5*?ldIPV0Y-(QHPZ4TG6^{Ry~hjmu8Dc@%EckuynB`q$$e^*l$se>YBlL +$2iRBCYfY_4_;oCL-%fQ +7h%JDRbP&Cia#su$*<-dyI2T!oXLf*ToM#BrbaMxjPE!oibXfSI-1|7`tEBM!YS{D}e5|9G9mR8z5?B +G*!@A*8M#2d$331veIH)r})OB?YkROnqVYk<#lH*EsDI^#iO#c~tcfgas;8i(YV&0dOm*_ka)sqv_5J +7pX@fc{ASE!pJvSS`t_ChZ^C9+O`c>bR&fTGBT<0R5G-?jO|3;X&iF3Z9;I;5Pscj +JU?YzD~#({*U(g>3!4^0FWrs8k8RLTA?UIoizf=fX5`rVi-e#=H(nw5ceMkGJg&9u +$Hk!-NjNvPps`JDch{9@5ud=E)x=Um|QADn;gRP#;=Obwg(@lHM$$D!2 +w&{oUMK{;$$Tg_LCJvI3UmM=D;~I!qB;0Bp_4HAG%2wmQwJ*mP8UNj}bVk#d?O4hgkTbgP|1%VB}oQrzt#X-UL?;WqOIKVSW%81 +XqPl!n_Qw|C<4-XfgR2eopM)E}7RHY0QT7n;wJg!Mq9>uWVt+{Zh1&Chj*<2!6Bon2OqGiG1L%3i=0|4Y`vvl8xNQSE)GgdDK3ZmWG}m=e=uVv +Ae_}UUtbrF+XmGK(s->FFKYyC(MP!+V%EO+d3= +au!(pq)8GT_(s$I)8X~hmsw-HVWNEGifZwIPLptL~2x~yNfOXKDU>&@nFNENkGbjtx1D9-)ZTS``+$~q0vzG&0W2ZlzJm@Fz1z*Q +P@jW!0z58?e$Eq<7y#;}uYEvbr$yF>n1^E}q>Rojy_E +jFw`|2F*>m6czUeUCqM10Fh^uPcaFP+A;s&Buo>j*TM4Tv(&70pTF^iJvb$t6nv61iy8GD1pn77=Qtf +29x_lf=`+)&>T@Cx&v +>_M78V89jhUdZKdniojHnqeB`rZ7|%XNF-2;skG}vAW&Nq$=HgM8CfHBP}%|9*6b8E>51;8{$hn!iX0 +IpR0y0IELQkUPKc8Gx-cdB66z4)CX!K2^?IOQOjk^N)kJrbe3Q~YNxo)N4qvrNo2K!bkp#}}M!r(_LZ +vos9#*aS;Mc4b;Uc7JGvFafyB-GN3D2*^j#lDN8U9FK_8AU?m<(+=0uM~vGUWC+|3-Bq&qo|yXnL=%d +-CTKk68SYVY7xPCV~tqN`tf85qGC9$a%cSmD^*2%@*Ki+Ld8+QXA5vzd +tQZUUXDOtTS6d(nZ=U2egmfUp{b=> +7cdyKX_D-jnO_35C$d$Td?q9jAHBFiMt6`|B9fL=VuZ<$Hco%YVe{Hc~o!TGqA%#C&aGrDiIjt1A2Sf +zeAcS6adC-hYWs?yZ9FQVU+r`M76j=TyPk2FwKfEBh;`r-QWah2CXeD`eeey&kRX~^a298USNH)6IAf +T>KE~qu58-1mY*ZWZCU0^kylr7+}l=;5_5n8HQXBUC!-sv`L9m(moBpAOj@5BYzVx~ +Zpk232QD>=ExGKLWDxK9=|!j#0EM*T+%wauwmnL^mO>L`V|QghTD}zVR))*C)BO}b`J1w)yf!>(RDZY +RBH2U8*PL5IB%2hY&|^!8=2iN6PAO-~>+?ayfzdo5;pNc9l=dQaLxZ74h@$@c0YPI0}*cCf +YvCre9huHi=^dZQ2h0rg#hR_$hl&D*kJ9$pk9g-)e^%t{+n6Pe}IGDLhD3bg?6o>zyy4JZ2TsutLBm4 +^Q1-CbP&QqA=*Sw6M`Ho;R+eU^$jSSqdoca=)9pV+k}b?^}cL6j +(w3kbl?oRvrqRy##spF<9hUTU=1SH`s3W&2VS?zR`vEhxcjZ0eOTxRRF+w{_wj?O+#a284Bo=Yas05| +7MbHzOYL!;T>N~J^c{t0R*rhDPIVPju1tO?6*2PZfxzSz>s_h*lu37#09xhdw09<&(`sJj^x44h7VDM +qoD(3Y_KtG;OkgBxf}AZ@yYY?{CTnlSZE~T%h73&S$c6VcCCcmE!q+P(iiL=Cf?4ckH(0n&|HV_v0}|vOG?SX3B!z +CMSbPGqyfC8BMtBhvOxqKG}wz5%t61DSS(YCtP9EEaCfYQe>?iFx@5;!~o5aC1yePI;+_vgzC|Vr&W) +>d;Y){IdM+sJqAD7%T55`H-47n)U-K0oLCv{kI9EY=EGA2$ZLV7pb@ +S*%5+;}6RGBh2iNOy2s9$<(6{2@ErmeD2-2|J%?wgu2k9TYA4w4qHO#6kK|(ZvkmB^8?l`hyh>{PGsT +fcu{iL`Z7Q}E3$>HzoDCqu=N*s^PWFqP5z^`Y|4Prg|kM-UHNphBs%h3dn7nV$zw+PNwIENV%$$!pqrk{bct)fS0l06m- +aLjQCUVG`($u4yC01iM^K$_UVbdDtxsO@rKISGqM#NIFK81FY<66Yq1tmSm$l1}3267}x%Bp_CeI>TR +qy{JYvj7m*AOqc_SEK7~6ItjzN33j{-s3S3N$6QJJlhhw7JJS*?>YCJ=fvLq{Fu?Z45N3LC5?A4GuAy +LjrVV7tbZPJE%^qs#tZ$+YNpVe_p#B{QY73~Xf5 +d9kkNJHm9r9S0AVC6BJXYC+(}4YYEivnIlh?Zs8Mcorc*9X7|X$B_@z%5{|{HhB2SAt{*uBH +rJN$W;wlSaU$=z1;yBNE!CoPcaUFm++Pbx!g@>VX{3-zSVt6^x2M_;)S`y_(^mUF{ +7Xxhi-5s#^Zlst$O{93|I&)sH`VlQ;SB#f=um=cGR-Bg^s{V`KKaY=E&L*-?TR##Rnh0wkWamIWSG|k +8FuHh#M@A&@Bdw{NABi2A0Mn^Y{@Wk;`4sF|mU-E?c*LX2nY!aRq$`;tA%Pqlqt6W=JjXIX?-aSmSzl +{FR;UJrKIH+ssYOJ~7E?F+Yf#WFYOd+S3lu0lLC$1#)TX)!A0X&^~<8d^~)*Yu_F~uB*rHEwS+=}#Ka%L=1&SRMZF +@znuV?X8H1*xNeck7`uzYj1?nPbz#7A;kEH4(D}{LAK7;@qFn4P%|3&|^WLU|A%)Iz1&}SqKMBHFN%S +(1(=y@)6#w>h^6|c#g!MHu9%Z{`4w;TEd@x$)76u(+~O6D*m*Vo*3;!N_dPXyu^3Vdt3O1v#RqUeQPE +szS+ZRl^Exqkv)c@g1_VtRayr?bqQqs +AH^dzosOfF4G>)C?qDj^3B!Ys^p0Qq^5&h}DVvY2$K{14_(vo_tU$+^s_Jk2I^r-72GwFX&dD8fgk#F +4WBj*=TD8N=D>rT>UiQCR9T77@WRPw@s@Q>Wb}~x%BTsIy(_ceT!}2mm^B5vWc#U{0-SOq`4627 +})bsr7+52i8T5Rsp9l~!3hmh_*x>vvle!p!f-W%)q5IIM-!qTWiQ}~Ks{|P4TQtx_{Ki^_pKcG|lUDR +R}ZIpLQFiF!cKvIlCCnRCtnrxE$ld2;Z#Ehft$h%SjsAV+T85;)AN&3E6$>?|C6-k--IMPP;K49%gW; +xueznRS=@ZjL@z=X^@i5KX_`HEz=z(rk4E~bHd;rX~1o_FHdBH6#9EHi%%7j5Xp2B6GL#pW<@T;_lPb +x-Gw33%GyCPqq9Du{8;`4Ysf8wrLr12?Scy7)qH#Y|=9-fn`WGSUH@K^ZbwPb}WFFM6Td{~T#SG0gh>o7mtU3?lSV2Q<-!lG;c +*F`f1`W~5k372)fm{bW6=JBGf1qh90s3fj2>YPbw);DG~w-GRGHb_`m<@H2}14`F&R!`o=&j0`Kk1*&*%gmvZ_g_MW=?5!!4Q)Z2Xk>V@JP{)An72Zo`Jp{xPXPtk-hC6 +%WD!E=nqX6o%uJTTp(ehFeK89<(2Z5XRPKT%Fh(j+rTSY;hJ +WSt4F%p`RYEFF%Q(E-}s-+4GYya-bLoTSjgu6!O#=QBHskR?d2@LFQ{(Q*Ly7b?~K<<7TE7zsAAB)Qn~MM0L}&vNe)B0r!J%zO_DQ|}R$9!%o%v4lBZq +)>LX)J!TC7h7Pck7c-YN9QkT2YIFPZve@T#ICUGX*>ZaUGM-y^U?Fz6P312G0vhye9i>kXSc8s_Q92Ir9UZ&3d^I}W}0R&;-hih+MW72oA6>O{kQAR32IvFS&*j24 +N#i*9F2FYJsx-kF`xC3dF&M65F>ME8lnTZw+chSe|jgHY}Hw$yrLu324(LAxRgEqDav&bE#+o1T71Dn +Aam=zVLo*ZL*{O?;R-gBC@({4w?0*D{gZ +jMR(+3e#+AxICybKV6yGBV!S%Z(gypXRnjMa`%|vUNt`1>3R3y|TliW3%!L{%HAkx-0vU?jmaWR)#`v +DiJ%}z(OBUd*rkSB)pR(pGz+y6M)>dztf>}yIkT6#bKe=G8{@1YxTvo0dbf}N+iyHv_#-gJTFQ? +*xMBkK#&(|Sak^o6|nID1o6NE>6XF30z(THbj_+QyG;LI#1;4snw5J&Q~~sOIWMZf`?SE(FSzf#RM$0@2n=#f}dfhCDi1s27l0Mr^$1(vB-;e=sS0c0puCp?9-w6*H!4)U6v@knAwfhC +C{1qLfazNXnTQ8y(<6xiQR^#=0P-EfBy1*V1?R!?b8HSvG~8{2WsjDP~KwZ|9m`gU5t?}&_%i>TmY@d +RERj3;3DSL66U@Uu2iIoL1unv(r&pFBcjg|_1IlH|TFzh$3P-s+#U&sW|A$k9%rKO~!EnPck}ErOgOY +!od@caQYE-_q*O+v#I%oLo$M-H3f!%tYwNP7JCTMrVlxGoJH(n|$TK(sr>^?5H=?wl*Dw3)qABoezxQ +M3J%=!Q2}0wed9kJr8R|mSF3TIYvB}gp%HXVVECzIEW5rIfLX`jQg^!>g(edI7gi8AE6w!`@Kqw(P;BMz>`m*&tq_%+uRgC}*m_+Y^V0&+_!%MzcI7{FJS?(JlnJ;d +qf<`E)=ETf%d)fd0cfrTZJDH3>L?*T{L|YW4Cr;|>?{P<70kgU%M|zz$zBlQ1A1a{f=137sy83lBz6- +<^Y8M$S^$=CjPu2rF{wt>GeD=*ZeJ9<~FD|GXT}545|LHYfBTdNZs#Mz5Nr3=GH<=!*+L=^QgaHpTcy +B+s;gJd?3aONG7k&Id3~(dLv#=XJ8Z6nDn^1TIIvE(E`!BceI>^&VGltyvrOFM=ivPXt-n4s{$g?LI4 +nc0f*HBWl}tWQb*hu)%qp3)Y)8`jmcK)t$n|PTwZ8@y{o`xet;Ht0qW&?<=3C$|?SwMk#EUEUm??)u( +jd>}!ms1Pb^=Dm+-^VHFh>8#dsnPc9dcUjFe6%EZ<8>w(1e-bzpv&benw|SF6Iy44!hxYJC +rMgYZv@=LwUHU@Ye%>{edp+XNEtH&@>GGpalHzB5>1%KU4^=D*p7~Pk*4Jr#i!Biq1QaH;Dzi<>7XvU +2z2SE^xWg5va8lvtCt%AOgUvg+d4wdaot{@o#m8#jGesc2Qc*aLYj}Rb5kwrvMTY0o2WSPJtd99yZ%0 +vAgZSA@--5OySwKm=2Vd6@*7q@9eB+0t+dAm5mdQ8Tjx8Jq*ZK<3ksH+@M{GTsMGLM&(^n<7un9&4vw +h0S22`y!1e+-!lGVE!7{%Uf%^w+xjA#>zNtP1gyg5nNB>U>vk&lO52jzS$Inh`fgcPh%MSDd= +-;!bUQ!3k%vvW1(1qdV9gOUyfWF4pWwZ>Q{HG}#!jFN?aNSYlbKPA<+|puAPou7Zf;@h!N>NC^~kgJdU65YgTI2?_5R!;;*G6B@JA-nw+As~n^-$ERz_ +5I>Z0WXU*s;cH?pYDQ|rkc;td{=AB<&y3JRbC`S#EOxwtkhUe5A?q;G>F{aBz^#_e(@8J7C=9nsx{0lliExBA`ciqXD^*Nm~fQZQz}w${(oDDGAmS$}L~z~+_W(2Q6G`VM1 +^?pprU1>Ldf`*c@P@briB12C?s-`DlTK}qu1>ZeQ7CphxsyDc|L7nB>BukgJ;N0nOLsPW?*UG7+HN)0hVsnD2p6Lb3DNEpj)Elv;oGxty%unA3 +#tfBrs;iN=^?vSWkCliyAMaB=Y*#UBMpiJdlfGo&=ikdY8$^77fnpuH!xkbTz6Lst-Q5Y5xtrL6ZV=u +c3+nofTUg%H1ES#hkTq%d +=#F6u(pW3t>)A~)N~D(2Eyh-eif2&_dMuF4KGFUG@bLh=ie7mZkNLH+YF-o3n2f=qzu3lw6J>kppf|v +MM!a0EilBH$iQ#KSByWeL@{@{=wDIF@Xe|=XQvb0nP8%_TMBV|UjW58Rd*)}~AZ`2!fxuUO)`tNM{gI +gmzd>Ei=fDemUOI;*_rZqrJ8jCRX894;B-Zqkv*gctXr-0gP>@qgw#AM3?glpFBiK6|sA#XpX*0{iJo +ve-cj3)w46WIvIn)X9ZmD@x2kaMkKj%>jcQuyYL&f+R2P0dsF)p#iqrW*5&O0e~DRE)j8sl8pTwX}CF +mZgM@53PP=0gX0kcv-%NKC%dckxP|hLW-HSVI~yM4C1O+0fyV`|YYs`f9~~)iwi0yo-l*#czM0JikM7 +pI(un&cyO0V{9S+_6r!EQ0H3z#q>))b`m-Xrp)B=nbce5@hhYqa!>N~>4UDQW9cYqu +gI`~=ZpPG!b)=;ZC!AH6hxi54Vt>#YB=w9k!Dtbf5{iD&ny$t^5so5{;x?0u{^N)Us`$x}dh);Xh)|h +|v^W-1BA;CX-b1H&YyWU%rRS0a${B=^n#Adh66XAYh4}l-M&oNijHqzq^}tMixvPMq_F +6=9qqMn=d*dy!{`phvNyGJDEP}YP~E%eJ=?c~{GhE+{z$ryO%UBWYuUuzwHvV|$YHnPScZ_1=z&-R=q +y~ttBZbSx}c`PlJezVq3*VR`kERB@hE0ZDmpQ9pYAbGUm0gx#PzrI!xMe6wAKrm7c@lkp^uQZ3e&`DK +u5|RbeV1t(NSCoPe`KI9yA|~mc{&~Eu`0bcx|WB{|IL#$xr&vbhDh>38Rm6Ir&JZqV(S%;NA*K|0*HW +1Qpd^j(sZ8TPr*T7)D=dOagq|BjxOp_MOz6FcCNbkL;xh(9-l)PyR4D6$CQKbu4EW`uIkl!uU&uqx6x +uqx53#C=Hzc>ayh9n?0_QTrqO{v09Joc5QCVIr_-zLT|bTJSO)8R9ml#dqls1)+xO^oQdwxG=tGfa); +hyxI?pfF2CUjtp-vNJ~CFs{h_a-1;ScJ!f)IOdNg-}wo_Vy6Er<1`ad7BVXbLY>xKT$U-XIY)1ol(*C^D?QY|!<2$!BPvM1HKWn&|edVO#*u%XE&5ZqLoTP2~0rJN*pzc&^tS)1M+U!Dyg;o7z+n-)T7t)S;Omj0{Q!T$fx-SyHQCW{T|jcznbhIsN*r8=Y{mXE%AM|dm6brABnj;AGj* ++OG**T3g)@Wgb@0o()vxu)v~QfMUa~Y%hbEWEZgxRCl(vQuMLCLB$=`}HI+ev>*F5**QlsxM%mGo`IGZDQXZRRfqv#y^z=s5jf_; +uXsGgkzhhTn9|TY3Y1Hdp8IG!zVZf$q{s%cM@#0>N7d=rSLmV9s$3(LMWBjV2ci%ih@! +2U%2KPLdc|o{OXJ;({us4rZL3zeXENY7RxFj+Cw}&gukkF1RM%~QB<0{lY3Tu!sJ;e)DvJavFMgMxj0 +;O&_jtfKCkhiOI1BolP100j186E}U)_o~_WQ5$7P60{v~DDEo)BRAbl5-z@1bv!BVUAG%UXj)J +ua6!m3XUwSZKgXMTaHHw}BHmObk2l5TDanwhmZ5B=?)eGqlZ?Ne7jNqHU*j96_OIU^Z>sFVcvGETcFN +0kBBDp}gom5DgdCa|G$?!Z$Zhv{BKKbsk2KXO)b?K_($xAN8Ih(oo)c-RQHo>$Kh!8$Fxb>XKf=IE8# +ByeV>B607MF<1Nt+P-hQ3zY=EYOwTMZGV*oZyVZ#=(ZTsIh3uW`Mci!Py(^J7m9r`S{1#bQtGj)^U|n ++>sLb4+aci`j@h)o3zePd#PCo|;Rd%dcai%cW-2-z{@_;<1{R384iku~aboI +v#KB__v9wTtQrL}kSDVIonLqW*gZzjD(xp2u?nyz;diut$gbPQC7?Ga$0Alm7a}!GhzC_5yQJ@oS#>9 +uf{d6|k5FwWiu?%8bv*f_grFTiB4xy`dd+q5*j4+ZhX&4VG!}$Pqys~WLPH~owJcu?0>a{09IA)Ti$k +@T;!vSBgvX&u$Fj=?gHU)7e=6>*aERIRICR{X4yGWsHEr%F{vtlU@!_*OFRlyn%R)9wwn^7Q2 +ox3upS@@>-EGaRHz7zN1-~Agh5l@)FhZvK60GZagEscGUS{8Z6K=G&t4FSipy4r47N~csmLS9Y^`2{a +j5WX39d4fwQzdx*Om@OqPm@Od(ywu{O1Isy8V*4*j1fEfl&$*f>EV{^py(I!7`G*Hk=cTiYgTUm3yur +_Ww;psv#JW$~_>=9l$U~l@|+0b&f#hyr@8C5n~eB+Z6O?FeH@}3rXb(eF^YSA*tjcp8OmkXo-iT^3>) +;Pn?d&qq^CMNA(=6p}U`lqY~!!V{PX}qk8w9xJV`hmn24`k`kg(UA@)x9nq+sea!U#8jb4M78JVXQ3c +-_jcNyFx;in_#iLQp;J}1<$;xpdV#Vm8Qx`;~DvO>vbwO0BG9H!6Pf@A-@u*ZJn_Vm_6$x1T)j#x+WH +uO;sw_b=`>2naxkywhqx6zK432!{J3~?}IwvI6jT0^!l4=nTN%cAKq=O-;sN32!x+pu*p}tU?6z?cCK +PZ)5*GHrqW6p*;S1qKlRQC*qr7}AERxcjVBEHP)tkZa6lM5nqgiGO{~ +h-sxY{>M;N!{VW;Qok!y)z@YtRMi(|9;&L#{GUQqZ8ZOzP*uM$pA)KTz4@F_RZp4E2~~yI>D*9N3(X0 +ks_rnyLRF#S%|lx1^FvjU=0tU!phbx8jfbh4agR#0$~G?B9Q^cxlyX5XqPD-rAmtKGX2{qRV0 +C-{xcq>sx*qnD{(~C{+a%r7ABLqH0;95cU}#8D}c&2uc7$WB +`V2;&~ye`f=7mZE^~5ZK;8o7e=evmJqG#7r}oUtxEO18s}K||M$f?R@SWj>7p^7O7OEsaqGl}Kx$q?R +5h85uMU6n-|?E)z%Bpkuwk4if9m6hQY*WRF9_^YpZY%k{BW+w=3vnM*;3AFp)Psi`Cl6r>eA2uRIfx) +hxX!Uc^mMvyp3`*ebTKVr%{{jVS7Q6*le~_IOr+#RTlL(chZ^Y<*F~<%ffsRDTLrWa>xcqHAWvTLaC@ +>fL`-YSr#TZ$1XxiWC>}r&`oxs5&x^r&-Qr=GT#Ck5?ICOHBnwRaRsK@edq~{2%t71T3l}=^hwhxExSWyyB>MBzT~pqNrhH&^J0nR6G(jf-ne*Fd5!>#RCMg;*$+ +Y%*G@pF~{cG&90lvBNuo88dNkUA!f6Z`;jpba{xxe`>VS94FiI4umAY|9eh^x-CbSXU42#0(9oxig|u +op`~-W=vBay-+w30In-J?w`*GZ!I2aW&y({m+KCCcyN~ujFjuO(oqqM*?h>{_%@58QZSe4i1_lT-3rRy`WZTA8#sNh;&@-%$}Gce^Xs +G0{@jLCpEG_gCOovjZjprvgtgfyr +S2RLLDrv(0Ibb{DDXx`Vp@#8<{pfmfL9_cUAP`Rpmzs#5`5b+X3x4~10nmg13q=?8&s=5L +PLR%#!v;{o9rpy6Q9m(w+n*DMQ;PQ;bd{`h!&!eaFw)P2TE?zwnd-4zJIok0$k%OP*pGNOgITzkAZP& +cs$v+}D_lVKArtNE`%+4t0E+gXBB&6{R38toaJnaZuuk>c#QpdVY_RzCWrdh@lU@L=>(I(>jJoafT_V +DqRenG7v$xDT5IBOd)X(YaHIPa~L5tTV-5Dg@=MHB^Hksq2OmscH`Ft6Msucx%38Z89MY;g>>tX@C&{L6U +)F+wMGVM_${@*53K{3H6Gb@ZYY@efSVoOU36v?Oe}S?+lqE`3nt#{W{2klol^@Y-tT6I@25C#DVX@0N +1Gj<2Xgi-nD{E#!I+7e(3=jGP&erT{GU#6jY@3^Es4_)2_>1eU?Y@Jx-^_^Woo}V)6Lk)y9b3+rko=5 +8R`#S!!D%%J1^sLQ0%DtBFSF`$H}g4dS(btik5h4wtE(pJHB@Bq_z!ZThwpc7q|yDJzF$PB9CDqvSyA4LMNMK~n7zFem)~j-z2Sdf$CK#Cw +{nI;oH&_}Y63Fpi#{hvYlG;OAM5Mzf}qYz)E;GXyn&-LmrM@F>=_kruFt@U-js^`*d<~UW_f(kaYz5+ +Cb64P8n4NZ8RVcZu=peCikqMuQse0cXRvY%)Az3QSpr$aEQ7S=MD`G87dJU{lMUjG$-ZJd5M+Y>?P|H +`HhMP*N>MI$+m44JY1uF!FQ(I(T>tUIoxnNRtHOmaPJKv3MzQ|Li92hhKGYs?_Ybgm5vikodR +S1X*G=XKYkgdk10#uR`nTR*Y;th*KHt#5he8MQhL^6Tn%u$SnS0YdDhyd^@K1uq3$R`TWur6HGu*wc0a6;{1<*!2*7jHOiD*cPwgHgjG<73N_&zW#VMh^mr~J;C95xbfsNoG3K_%@{s7TnN0SS?fI>}-5K)IPQaF8u +N}{IHS(>P0Ca@Y#g&rmJ%o6MrWGKlTY~Y_Ca!Dsf8UqcE!C-1YWz%ezZ2Hg=+U))Dl62a7JizoLm0wn +1lrR_ar>5JNsEyqHaZ{-9Osdmk$zeBnrnGhxYNi$BSbFDKLPh3`s3xQekBJY`{77~^KE#xL?PJku$jNK0gc+W$Y*jl^Z +sKDH)Vt7LAyY|m81*yXAN)*Z=7OBEg8fagH6@N@#$u9p6N{py5OSNdTjdld(qF#y%uaE~c*A~`m_|0F +}{jMO~Ct~lv&ToG)qTm89C`2j7*Yb_hC73!_CCFj8?pC@&Q?jWpZri3sLdmAagrXCou4Ge-abJ+r$5d +i%F>P1ynxj0;!cOqs?1M|~5La=dBdEEO#Q8usGBKe}^i1&kMLNlJm7tJZZXA5fh)BM;SUDyd;fs;QU3 +h%8&|i^f?rJ+S`N2c%RoUI)IJ*@Jj?lFax5WaJ)adLT*Hoz!b&w>1B)>J{0o6FCXM)ryC8n549OcHhs +GQyqB#y-Y2IGId@jrdxEfXRuK^?F=wV?>l{r(pjg6^r2LFfZ#=$`9}s<80j1B;&fwd +xj1nOu6&EPOd+U+^`15$)Q1Oi-~J8ZsQp3u(%HlKCZ6GS`WxTGdmWg&PY+;WN)l^ +~#f@Um?OwNl^wLy2C?WIt{8D3q-c$`vP_j6&r~Y6=AEW-@cR_{6wU8CC$5QDJeie}CZS?2`{leG5=JY(-+lgXaUs;()@bKUrvd|-W^l==8&2azXky5CHS>qa+s`X+eRJ8ZvLH +SCMMswy((PTmQbrNMo~PWNYR)49@k!rei9v$e}Z%ruU+_@hl)(7Mk@7|CqV`aV$ipk2pO4iNl_Z`f}Z +3rl+HiP@{m!o>8$+eaXP>6l~K6qY#&FEkT$;>{P&&Cu6Z4S*m0`2{mz*B{jZo=_fZgM#prk3@3{xrqgTUlLn?oD`yv(R2bh@P_j{c@?35%S)4&b|uoMZe<+ +g2}fYO%XvEm>dmM|!BM3V3o;dC8_~een}$AyrXM8(c93IgA}2okDvP8}7E@!Z5u%Vn-zQ%QZp9!mHXf +BjJB9eKGF0=-*CUWRkwdE#goO+ajJ0uqvTiX$2{_8{W1Gi*9rMYE=`f@xil)mT(W=TWWj_0RkrZ +%8DU$bxa7z(GWNihBAEAPe +{`Pttp{PLqpzX_k{6|u%taiJ5EV2e;UJX{n>FvTCX&$R20`LPTVr4XF0|wRp7=!N`h2t0r3K8PI&}Ri +<%^;vomIxxGHUT;&I_V3?w1_J`FA-ch89Ra0Jo|<7{==@fEn}_xVLsu(h7T%dL(;xqF$qoaCHVd~DsQ +*g)YeLh^>vWALH4zSy2~uo(KcO*&m+eVntq{NBB;)u@zvx$4Z}uK7`RxPdRE!NkMs&-W8m1AQbOffA& +j_4_XAi;L-6%yD@iF3y&YEPIS;KY`O2*A3c4&whV(dRn +AUjN9X5!naKJV0|41TyTQ*(KJf4dz6#gM>+EPQEK!>2MLSPlSerQ4NWyHN_@jfZm4M&HCE&eCdgr|~IXs+dDl_T#on%kK$}dl%_l3$uKdNz*zN$8HNw{J2RG~CGJY1QrTh~*N^mq?YB +S=2_*LA2Kpv1@74LWMvbCrd1NU<9A{=S9pZyb$<&>O4t`zoDrLfULRw%%GYTL*PM6ynJ!8RHBU(q`aM +idK5Vc^$B^Peut$N_;#pkUuKa*mqJsV8oK6_PD4TS-X-kt_`P7ObH@ggKRhV+42M-@Ay%I`NKRBr|tB +HmkyP#INQHJA_bO|u~oxk8ew8!_+Huy4|k$hUezB0b53@Lh-&;fBlf^!3f)XGgB(L}he4ZRDjCS;cPT +iv%cQ*nYBgWSw4tI3SKPHax(au#mewasObc-grVpg(Uk3tsnqsUibQ`UaZzM4VbT8>&*TXngFV~Z{#~ +`uKG)W}^bW``TW^<%5_R_`(TvmeuK#PB{9Cxs=xlp|pxPzsHPOz|m(0;oMX$5r8Jhst3)D*KqBN`-Xf +tk=3ji>#DOQ&nYP*lL4v_rk6c}-4n+06q-GwBG^8q4xvES-Zd#xN}(AU9$*Btff$zBG$XN__F^>9bS^ +#j%Eb=wjNvZy`UjlI^SkzrOylAZ-J=g-p}$)80M=Co-;QDcat)V2@JNT>DN&(mx#2HTn;P=8uFI@SKm +R&nVj-1g)XyjJWK1AIA^o{YoqSZ8pC_m}Z0mK?+L5$6U*G7SH2C^BHs0Y4hOsL|KrMS|HqMQ1M +L=;1dBK&GCVN_hP7DQIq3Hojb|F6>juh9R0rvG22|F;~Do9}jQFbP|7oKUh9K8FCa#U +$t?x0hlkc@*S%owPJ1N=cM1B}gqL^I^Q$e2YnX&n#6KmE&onhxuc7SkU(i+hxo-KsQrxx +Yf7IA`|mmL>KaGb|$x>cTP`Lk5jPGUE;{D*^Z6AL??9QWL~wz-wiN6fgE2w^5m2{t^bN*8fXQf)oZJaC!?m1Z4+T?IB?xEqTqz~v +?CFXM`o0gAT=c78S|fun;hQITqK +*ed8rM^4=tqc8OnjsP_T{cn2v3vp0|3DL#9V1MKn#LpAA +U8n0M=t++>OI9(?{Vz8Yk6Zj3QxOfeL_9%;`JVf^&ZI>vxq9cWba{1AF$QvgjQO^i+BwuxgE`LsaQ@~ +)=uqFTmNr?AtmCpe(U3GlTT+)ZL07Q$D?{7|Ls~okbdc7V@(wvFgi$JQ7C)xS8kdrv|=E$(o!2Os>7* +h@N&#yh^H6=La(1d9jQv3M%0#r;vL8xe2BE}QZ$U +LVlF6?TZCj|`9Al#eb>^If#0E6r>jLial?equqt+MuYxK0AK1}PU4>S422?Z6{%|kXW2n7x3V}Bf_PX +J5LqCf0wLB%^3$>JA;R$*W?2ccaU+8NMpIBMiU`+BsO(Vk^YsYcsI3)RZ=qPalE6wC!JQ~^yPW|C>@I +nYY8+oAmMm6<)OJ64dO98>FvR*+EG;NezDw1U7+>#8KRf|A-QsIWnYG^K>ov{jG~t03Z*#0}Pu$*%=V ++z2sa1%b#pCkSnUa3L%iqs~$i?0BD6PoC1DytICx#jj=c19g$_UQMiiD%|SF!qY?gwjg~Q(N0D?tOT= ++cJ*jihjz7)FIq!beRG1)p5}~I5LR>W_3Gy!P8)GN`~s%#Z913DI(bqGQ&J_5VMv%foFN8z07Hh$JsA +=y2U5ge_F@)s^3`SR9Sivfh9t?~Fl3SZDMM1^I)-G*rx+3=S2DyVzr~Ps@~g{SFImXXGaTQsmUlB8dk +?vc;n=^(Max_dUC8Sgj@^%(&G5Z+e#&qhkK|;Ai7gGQ14&=NY~W@!bsHgLoOkpGUli;d>EZ$8c00BWEw6%R}_x4x9~Vw6%3#AvQ1p8j=X(K +MgTU2R5joySgN>EM%5H-qA*Pu8$a~ABgJ{ctFX~&$LY=KeVxJU2^b7x@AX$Sfpc#5!J +@+Bz~J#V}^Nbx#)$@q<#y*9o@DC%Xe;6)telRDt8|5OdnvxX^V6mhuFT`HPg0-_)a?HSOD?~M72<8uE +1%sF~_b5Z{b~&lG(|!Ot!FweNxuJW~n*7CGd2$9zzoK3hD`2!)Lb6@#J*pB3BrLFVe8-1=#{gXJ +(KGh|E`ePVAnLy57;zbR@(?FLd4yQ-u~?9dz~(TFJ1kVoAD}^wDS(C{8s-><0vXD9CvaR><%>tv@O@P +g@H><+oP}s~eNsTMpsyD6$3Wm`sduTL6Ep2#mDE-VSk?iox}YFXV+-+2@NH0MGu1l#v_nOmcB`nPG;f +8nuC2n>1Y>e6&%9G)=_!gWB{ix$9htls<|=<<}`uP15PYZ#=k;j&D4~<@jGB{ +D}<_NQkQJ)8%dcv@DW*F6>#NMJ(LQ5u44&Cr9 +1*@K=i=+;(()ci^H);^?_|Ayf{+$tee(#d3>|_eHqn^cMUQ;GuMb(43FEx*xKo3KiV~^;!K1z9{#T;? +fQko0x^%tFfE9zy&mjfn_K(|J7?9sgW^xbi2*Mfdpt>9TJ#Mat_(a)EUqjE9iygqczsB{4gqaWDK=yv +RJg&t{{EL13-LTSGix~2czcv`ewzsE#QDxnXJXDjffvvf-6cIKEz9shjPBFN +9fEs{D8t7bsu(vhTBw)qdvl@kCRZCsk<1M)`5f9 +F1E2f2)y6UyepyQs=r&uQBu}D1bh#3MXys2vBO?ol@DPA{i_~gXSbGHfXkQCAR#nt;7jzug+?V*JB~3 +6I?UWd;g#Ia-@Tc +l)`O4A&@GzWv=%Iv`at}IsMUg$Zb@_KlggovNWTMMVW;{>}Uf8jDJbV~cBP+A1u#@CEU$mIFH+qR0Pi +KqWQ1bCb$)|sYsU%q5o!2J%49{y5eW*qyU%F`t0?#EBc)T+bN`jpy%peiz_mPZgB_I>g`!8H7YCumx= +t-WQr^-dogIx5I>n#XWF<*-+=DG>&zcUU4co>a2>qQl8qoY?wNpGi2r8B_f%l5V`7TevWvyUv&A#>qn +#nCS@;v8hkBO|^<+rwOVh-PXuN+1o+;g*Qg@%nw*J{iUmPkc-r-Eaj$^g{XJ3##!B-1_2q_2L|=I02& +c&nQ_kr`1>*m*gzNT;$n#ks2Hd*GXP{Y@MO-vd8AY!pokHo|0E)F%)>9^ZJJ*$+2hd(MOLa3zw*M;@C5_!6P;=lZqrzzq* +`RQw8#989=MAT3a`|!c?)d@;CZ8`?rM9>prif|x%e)+_NjzU9z)L#j0AIur}KR|TXh)B973oA9^!nXq +fSA5p$1BYyd(C#YGLJ5Y{6IZdOnZ$h{c9Jc!Ds2DvunvG2A4ieU!kLmcL|bjU5B +z`)rCbFh*W!YkU77m%TJz;f0l(*#R-(S>INpyf^-6$5W=h(6@a}`V*RRky?{ +?akmnMfV0jZEJ^LzDu4CS8?%!yeF(Cc>|RzhcwVS6~6Py_JCqHkPLlfDS2#7gK0Z~_V}GE1M}b>@U(a +7pyQqi{|7;v(R??fy~a`Ir6lJIhgd2PANCH)bWI-dMP?R}v8o#_gtFmTi{sRHij`n<+fSSeOn@n6VV6 +S^xGidGqI#C8NzyeG!Mvo**%|X!O5*NyAsDSy12tS^GIZGxRdLDTkf?_z4~05cDa3{u%dhpN1XKjp4_ +1p;KIf$F14LX141Zbp}sw;I=+q_hvgxKab|BYxPC9Y1oc>61!9Yg=6w)Ks6rOUPKFkL`;y5D51+oGa} +;lmUP7!@rx&F{F#^@zDU2r3l%PG47U*6-cDi?u`A9Jh_e#%6-c?GUBs+xN~kxFyOPj&7HRZ5@Ir)Q3O +6ZL&JD;jlyf{BH|h6zCPaOaQP|>#_s`>u`khCp&Q{<$3(AcE+`Lc1tKM<)?*^lC8}RN}QCQ`H2d)NkO +}bJ|1_q6j^ITpaNlcg)1$Q@(8e=Q-hBkcji=u1?*(LM<$aP8;6y`JIHj~~0Z26h7%H)$oH$s+#TN*A? +&iZ}?UJ+}!;K6O3jFazvgwQv4DB}Ysw|d}li$v*5%5iwLf%0H~PY@XA1)@d)lTiAa0TrAd!`*b2ongl +9+HkXSWU`;be_Kzc!vhtsD;3+k5iPi^Ks&OZ6b3Fq6>r4`s=vI_6j6?w-bwg2=)<(8E2!col+bB~VD$ +(>>4WHB3C$hJss$BldEygQEFvMIQAh)+N{Fr0?+C!tj?$5Xl$tbi`mNK!f5Q(z53B=yah+NyT*0CqyD +HXLytj&1Iy|s~9r}!to<^uJ)UU?Q6IFO*lz3BP!R1yg;o+`J7<>aIEFHm0nAqBN32)I{Tf$f@VX%gm% +SLy61NnZFE$U2LiAJ|CQ2=n8Mm-vZAKwcS3Vwbb(zRE*w`gq5wuowM&o*qw^C1PPf~ui@IO0&$8B{n@ +t>&0D?*1c?3N2V96!-D%E0e2vr=1i^cLt*G1gQ!L)c6o15Pk22(M1Z-nIbBcP)7va!t?jUE9J4RTlPC +aVmI7^9F4|MqjZ%O82SNYY^#2&Cr+4<#>I-h7?Xy6c1htCFUKtT=9R9KT2oh|e&2@umvM%E`eu5E@)* +{N0DZ85W+8#fdP?XIx3HRd0S8^{#Y-S=@AkrL*|u$yuG~2Fv~3HM+sX- +*v4UY-i9ly1~p;H&~Art{d!wOczO=nQpqlJc7Ayu=km*{8F38Nts>g2J7VRDJ@lyoZ|{kwHu%kX}m8O +JLRzlp+uW-XIN_H_fDUB&{ZOS@067YRYM=ryY8K0i6X!%R?jCd2X9s{)s_!aFVzC`gv!C0R2lR)D_r+ +dnf|jNTE-soX_te1=ZfpxN9{!C*$`!>Ze5@td2G`OiiiI73a1W->3bihW2-~!>*=Nf?Vr2K7Ggwz{%?a~IhL*|Z^?>3ybZA +5osKGHoB!PVaL9WI@&Y{6#yx&#H<@)cgF#wR)dl-=W*v&t2~`SFBbpcver>zh2~93$DfrS&Nkbl4Ofc +Uo@Sbq^nNA{xFRzc;3OarbTo31GoPhhr2l};)p!Lldar}A#q)L0$9JX(dH@VH?uww +RuB!+-i$&L|BIv4iilAq=R|LIR->D+#8UNQ5L8pk60RK)!(6=Hf<#*1~&VfoD|C}Od%08$Fx~iih=ow +5A^b9ve&@-s+u^In=6hSZBrd&r6G}r{bWyfPkRqYi)4( +WpB->nGxH@G_8l_KbyS}4bMp$OXY_}{Gv`Y!*!LlN{IrbJ9t1l?o;38QO8&~~nJ?7E7eAAYQJMbIBjZ +l?&EsWe8>-=zuqo&Jgf10B@_Jq~ZZ;L0HkK|avywEUW4X!|54L|;!a^c1QXdX$@D=rX1lx+H&6wj&UR +PO2BWVJ*D~bt0%CharXr7^{`-9;$Nako*m(8yY82OgHp&rW+dV$GYr)(l?Cas-cH+)zCL_)zCe;YUpl +UHMBQZ4UPA%I#CV1=Cq=8rW*Q@pRmj~q#8Q+Cs(aB6u7B|rah>t8hQ)W{M?F6U}~^;q8j>6ch%5y+*C +u;j#E`k7V|5rp~HSvHFVQ2Ts8E!s%q#jRMpTQyHrD;R#ih+Ur#kOD-9dypFq{ny_dK|uxA%@)zEi0x! +=&VKS4W-q_k=5+!+9C97~(2CbaR2eCKL?8B(FBaf<6CZ?KNMPZtFkMxAI663cfI%y +i#v8zbu3Vxgd_Xfz$FA78?^|}zy>kv|vLZHc@o#`8%Yc4D>Btqo!9<%;YZ1&PQF9U0!cX{!xR2t9Eu8 +Yz5<)bNA;rhUp2{)NUpeOJec(sDDH3qtCj?#xn&_VYTAaVrkR|iLi>pfeG&J|;G>1?K8`Hw$T}h0;JR&AR)<2p3J7OhJ%yZ$N{9 +WA^Zv*0p89YZ2!dx`%V^T`1NTfI1fGbKC>~&VHoWjkBY_qN8`=#;5?|h%TM&D-XK|4+v0m9~g?Gg82K +C-wjIY*Cw`R>^=;{$sIp5cqBpU9U}A_WFu^9Z7)lWZlUJ`l6j9+MyikeLmr5EurQbYL>eooGUt +A(AmB^Wrwo&jR{baH68scq3`x&QHuf0d>G750ZW9QZmk3-p(G05M=K;`Rs>{p|I^Z_gYr|-D52R2T^dxQ)(kaWA>V58 +te2`P>b*>!_4L-i6ZNSq!nmN|FGKhSd|JU2`<1>J-xE`+8gOU+;39h1p<0gItWYg}kyI;^koF;@x)DN +|OSH9xUbh2gFiQcocpRA$rXsITWgK=Ok(F`2euXIk&@9Rq(HNW`RDA7)*C9X*=9gUg?N+m-Ew41`bQ< +XV7XLywjZCd3>1*_Sz#j?p+E#iGt;0n;dS#HEDxiFjftPJ@7meNSOEKfF-1qEipMzcP!!0|Hfx%Jb4c +qw%B+o)$g{xg$6Dr5eZ`-)7Nv4m7r3=#hIK1d5pO0d<{EUTnhY)=+Zg1%KCB)Eo*)w7**387M_wINZD +Ufb);(p*0An(iHB&)aV!!l)@O(NX9!a6=l@L=TK3;ya{1SvHT{Z|Z6q}4g?WPue +k+s8JKFGDQ&70mktn$Rxib?2;La8^`jlKpioQYb86QeW>y8Z;J>n4URR9i|DV$=;MrlL{A#ptq7rUa^ +R({Lzp6xDk2vG`<(r}Hr-^t~Q9pWUD@?n~{jDf`pEfwF%$k8eUl0XEEIh1VB7)7m~~JLy&A3o-n)?vd +)v;&T3+_92Us-&rNZj=LXBj$G6h^&K=U)OY2)1LiS0 +rCgZU&GC~`?oyAIvH|JSq8>jh6@2BRd9*6%NsYcj#6_HE6ytNlB|cQ=nWPXhL_d~#a#7AY|rc0%a8nl?w{J^Pv)pJprfLT?<3u(8VL{^zUg-!lO9 +|u=;Wd6X{7hAWM@jC#lxIzTp2YsISh1JL)I`)8@Q*(nWt4~l)gg_-62Tci4hkBsnvY?7kmiRmYDV}dQ +Es6NuP*1D{HX=Vqb*e{TL+P8*egCn;4y`FM1N`KW$<_CcBi!sDt|A959-V^TJdjTJiK$^LZF|U^1|co +(G(`8W?^nt$=1hviwBk?xV54SHuj<#O$Al*dIo;pCBrYQbo^#mZ12fR8mKW44tm3TnROI)#?lHr$i6j +nT1G_XJ@zWcG@8)cW1eBLNAwCO45HKi6x_)OA>Hv2UjhMmGvIY=SydJ#8&Bdh^?q)p}Z{>OKiE +m5a%h3Z=fkhvjp@-0=CSwQ=4x$Bu`)1(_4B6r9L5nn*2LohDI^ +6KoFYYQI=$o(dg40T6m84dw@zVTvHjBiUBfaJ*-1EZXSV-!TAKDU{wlc +E5K#xRO6)<3;zxJG+7Gt`rTGHAtt82k5KQkj-NasM4VeJ!#OTaN+x#CxPuX&c-oDo_d?>;p(W{P)|{p>g<- +$k@q03079aFqkF>jCh4#__PijypP)~y0_(v{feMge7t6`!zRr*3%ZXqcj834n#3j=&K0L=LKBQQ544zIm4BZe0 +L&05Y#;oH8r6Jwu}Ign`z|ZT#+|ZJ(dj!D4$qxvA_TN4cJ%Etqn8Z+L$Q?ygO~XNfR?&|N0V*&ZFE|@ +HzHuCjHyB#?wC+{ETXR#6T`#sJLf1LJuMu5Ne4-n3iwR=<-3hzPm?#Ko +DXx#O3(79EZy2%KGuOJ|JuVuIW&azKDutI1T-*6=tC&^TMR~FmNlZzgSr9Q4$~a0$##)jFy*Sqbw|s1X*0{CeLA}6fimbq5 +f`vgZ3yosz13=QJUk!bacN2J7g(BkmdzNtO^oJr+GjkQha!!3~}ppjZgl>DIR5WSu&Zd0^o~c!8*(l(5fL0|rttd@iiA#aO#1M8 +&=O73;amG@?Lsn)e3RMp$KfH>c4Mbk(El-{4;)Qq3ZZk)!yC$%DISPnq0TZwveDR2VO$M&3P~lAqlu< +n*PHF?>18kJ~fY~U(jmQPgAxy;MXE^YI1b%?1)Srr)AL;j*=!8DTZ9dQY=13~b9}_Kd_lkY +;3Mm}`g`C6q4EPzA2l^4`gm5xfMc${BWz-qq;>6y2qyRiqQp$YuPlg1`i0s`8xan}Vt>qtE*sLk%u*C +U#!qK|gwO_q)YZiV;*@$bp|MW(CJx>&va8w-Wk>jO4-jILkYeBRN6gdZp0Gy)HY +L!~c0%v>UwONy-JE|IDW50fN+6VV|IcZrm1JGx+O2XNy^p5y2=I-u@pNhhy;wv#C7d_fL#bml~R+F!) +Zoao^4S*K1kRF#`kdy252&vh2G@Gb0ZVOGT?!NSh`2x*B1oO(*3Eo+cDLypV-5gpQMmmDo$Os7#vf#C +~~ZHEH!u5rbRn|Sfsm^;?5ChAy0j29v0`kfUL{B^9E!cCDxjDiWMt#DH`LH$sEeCiDI@E`MB`k`*?;P4I(b2! +}0VI7C+FPYcRR1Q<3+Pio4D;tE$DIvZE43-^Zu;pnZ0dr=kA^THVyk_2|^SJ65-o3NJI8?=j +~;lhQ^bh%wQV)LDxyjGe-w0xWJ +g`55%Vs_QBh-F0wI9uG2uY&3hPfGs_%jhJ=3mXPnol)fYJSvwu=Li +u@}Z`$rmLod@uWh04sc87A=La~?%V8=A?N5TuY+@a=Aw2>H)(^D&R+)7_j(%f-@F(^K +PD<5S~N!vkLllUA>ul;>ioboh-hB*M>t$a?rO`X`P~Pan+;Nx&{f&N3!znsxPZtBWCS%U#pXJUdOyMd +LiHO;jC>junnP$m~ozawYvy5Gc|`AAze%hYzxO? +NK&09!(u03I0mY8JEO|xR{t_EI8gSxi^7g)(C;E8O??{>-uBJj*=us6^aYp4DUv>buNkMpAi+Ri-qbN +8dVB0rg-jm_x772Dx#;5{St)tR5U(Emk}DELF0k>JM&xnlhY_9q6~%NS@6Vx@f@rf2~SOO;OTGH9Hus +ozW}Q66Baw6|ov5%xFOH#%q=$$@rnfd5lz>DSO0+Tud@Eb5X9;j+jE?hjj!A8lPM{w&%Gvmj(D%`HpQ +0I4}>{OFGTa4t<1-E8oe?FzwS90e|BT1pn{YOu|tX7srV;$?Zqa$)Z5G$rh@&`&Ou+(6^Yrv6#UQfbO +6okr5KAuX{_#XiA6hQnBp1|~bXnNklqA +GDM9LdElv*pGtOiKI24T~9{j%7z0kYDnHN{+3yHV7g_uSJP^DF#yZM|FF=pGO8B=h>QyIdHhb1C((ZT +&m=qa)oSUFA^oq|&dm5~O!QkFg+!sPQ;x4KL?Zy&g4?7MM@>IMw(j{DbwmmX`GT?XI)*#{UE9A=jq=g +XxWPrDvlxhViZe|8^<`U>u#bB(-g}#i+&?{SV}S8I9FS*3q1g=A6Y$SaWJEUYq|hWa4$}I~P*3@*K1F +oy*;^S6oB6(s~UqxyRq0pDa{e-)GP|Vy%shST-3W)9H9PDP2BuEHxE$L^J8X%njSX~!KRIJMV{ClT;xfSPVEQCa}QnOfUC&Cjjg +M$tb)CewLVF7N^RT+QVT76Zn&igLhO_d`SC9V{@hLOZZ}+HUhekh8!c~JxjWj>$01$6{DQ58MaB30W?RX2X-DaA?=8FU{s(qG_ +`8R8J^aX{yB~Y}i9Js~_4G5pfA+cOUwH8ke|+grf8P6-mtT4Hwb%FUKXCAkH{W{uo$`u9hmRbstg1eC +{N0)pCr{O$KJ(t$_docs?xS-b|Mio|I_9FpHBbZzChNs`~M31}W*BTdQ<)r7XohPP>S-ClAKR?fEpS^sgHBB_8%ADc9z(x$K!8i;g5h%&9A^({k6bkn_nrkoo4)6{Jzb1X8Ajxc|KK^Y6(o$OnPW^Pc>Bw&sU;d +4WV%TwDxnDG9Zt8iwa@%ZE?|#JbGPOr6eWoz1q^X1hk7!=0Ji;KTi! +aDwaZY!--;u=^S+Ti?kB7q%vlNnKGM9Rjj*n;bknRZPt`Snc*)yCEybke%wtNz1g_CmDw1QBQWd>wx~ +UvaRU`G1ri5v*sAA>#S)GF?D&ix^pr=2My?+0faN8<``0K;4vM-;Ho+hbW{g_c57<7A;X@#8bYvW1`o +u&AtRJb02(g>NJuP?e`fA-$e*hk4R<-L_VrmgD-0PlW7oLnSw+#!ndFJ-P`q@9EjufX`A}Wh58QJdV% +HwP9f)+D2vjU$Vsd70MbsbHC%m16}S +$>?Waz(2Fc%VZxon?CRHEm-VU7NGRJa36xeI~ml!{T3?C1xV4u1>DVTM#*3gn^=DO~G+;4mm-c6RPsj2J_AmaS{Ubxo5l_| +Lw=ffb%-7;aqyJxx}I!MfTeuD|)$(_0R##+fMSAU}l-1VNxqM4+5N}4jDrx-^7=v)2$y<__wc3_#U8eSUr_ +73}ib8sIm=`*&cEi@%062oA82W}$db6nW +rel&g_#BZ#3WbcuI;|3hjlfGg%(knd>(hDH^C_lS*y|&gPiI5|A!I(w;Yl&a99|0Ge#$QAHp(L6RKN1 +qHCm~~l8oSj8)cTd{Y(6R8Nx{ASNbe*5q_+q#-Iw%^){)+GLu=K%?7x{1RHW2L&2K+1(r;Q=Im+SNR9Z$&9WyBmJPB`^^n&>{-ugp!X(vD2pD-qMzHA7kpuL+EhZGkRT|3(Aa=-jjsps9qSd@JJO#Fh<=s~(CjAdxrxPH3j%5H(Z +1v+@ilT&`m5xo=vT;1n!O~5yW1e`U`i(+N>?@i_Bn(cgYQi>{{wW8Hq1%wZ7E=Q>>+=RZ|mk0Qna8gu +3+Scu^z5A7JmmJx5M|L>h4z0DsT8LCL{#D@426w0Z)Rj`(+-chZfqP59u*h?+UXQ2BS}ww1v3{_|T3+X|l7{C=L;1>^@>Os@KUVL+5B=8I&VLhF0f2A6{y(oqEZL7VEG>;rW4CcVdomb3N;AGF;tpl#UL>+@ +dDN!s$`jTGB0HMx%j +qSnQ@$2VH`aK2Zs}HW#mj~JcQv4(RfY*aD9q7aQ!nn|PY_CQ}bG?gZ`I`xO8NMw)^L)|teO$bt2?M%A +dBdQ*VPFS!V58-P_@I3CY^3o^QR90_BILZ}79XWoH=tJ_&?|t1+z<4^G?M)w4PRPDR{u~(P}jYaUG1n +mIM|y6L%ju$ZJ);A$6?L|-@(i7X~5V5VM8En$XuQV)Vm(Sx1|vXX#hVYbAGS`kI^=#qixO?={&7%Jo( +LYkOqA9ml@QA`;qYI-X#3{K8<1ZJ!?bCyW4_Of|7#W#yU0Zi9Zw42%iV1L+^n)(mh!Z?XDZ?Zl}Fqif +gRII^tt$Ul>#S0-b;#SlhIF;QKVt#sU)th~2?G80tQV^oZ|vzh9%S-n&*?u8zBctNwza+(ATt#@|NAY +tCoAAnhJe-RvF1MY_W2AzU}2f7!o{uey1VZe#r-RdYw!k!IgkLOZHtIKtpwe!#OJD?oqKYi^H5m19)@ +#npuLI7Y~7ReStOx?d9V%a8} +2=UJd`OOh^@cyV}vT8~6qO2i^j{uXpbUk2Vl;0lrtb|7^emorJunrXLD@8Sqo+%iU~&DFI2eUj{SCLy +g_*gK8N!`z3WDZ#AO4rSbA0UeOvDd$1k&K|26AmW9;#YKZT0-p_4Sd6BnWJMi!b57I|d!gv+Ob!zt2P +_quq5k91k7_I3O9i{1`iPWg_h0Pb`9B&c;@dV6eHJ}*~Kn94xWI%cl)KNDwply6h>SVmB$ML53gg`P> +yh?_qUm-)Ie&)EcY~__aPvY%Xn24*3v_MfBm&0y{NxmAt&TC +<6mN-4vJ})b0MYffPT@5~Stab<;pPQ4Hn{AC3?b!)yARHk*i7_uPYef!^Avw1#Ns_LaPBX&SZXwODFi +k8_d~UkcbvCt+2iPX&raQ8&)3dUzx23K|zt4Hj!L`LsOOxf9=*SkcrmYvP$+-)&(yj5Csdn-pFQdz!k +&smw_dGFO0E*%2rp|+}I49szDoxW^R#rRIUGjPxrm~|0zZl6$t-6xdM*q*W^K&w3vCo&(B$#m6Hx!jCPjX+*JqT!-P&SuCa%bvfohA;KVt=A@!&fw#`JVMt+kulS`Fh#sPAa6g+L+7f@CA6!CV-D$j_J +xx*>Ovm5f_bp`vV9#D(MxP%PUjUc*@B+IiVltBs8Iw8SR@2`Ps`YKJ}NLQZL7M8wn(Rmn|OXt1aWZA- +^29CSUO(q5nw2h#i6o&egg!Aou8$+@m}PhMdCLz2}_t1~B!6%&$v1Y=3gN?XOtU3G0w2jtDC{3yIOwlA8*xXSqGqz8>;;j`GM{E3242tc9`u132PkH!~CjD6y^?8G*Vlt-Rh#P6@9qTXhEty3l~)vl2qoBK0AX^evU`m-W%o&#w^C^&|V0MVjRJ9w2*Z5 +%eS#}ULDQtcI|`6ul`W>?OF=!+`q@K`uflBKfnL{uJ=>h+}Nkik9;_SkP}M{XEM$zin}}NS5VuVCx>{ +(0MD-CTQ7JI9`(`UzCPa0$9;VrhrS&8aW{WAx1KyKLOqW+h}+>g+V1>A`+?kk95)-eIi8!7c$m4|ejb +MldHlEYw6nSWYJw-r2))aPXK3v_uio5$KF@Ojhg-ROA$Kq0@t__$JQ4ahH$Tbq^9)b#Ic~p?=kFwU|B +$ +$eW%?$4fQ@X6mZSnxzWJ+dFSIiJGk!GFcm=bkon5r07|gK-?bc7y(n9KH_zPd)X;Q+>#nPsvX$?mGU> +Pf~0S3@CHX-FePHmYrL9ZtS)G->dr@?g5P1%tE#*iW2YUF7SH?CJy5`oXlYihtV8HayXnr1BYQ8>Nsr +iX7B=s^&I|{!#WPna#+h@4Tsen9^tT@!#6qH&*7^a?&a`#4tH_5gTtZ@@o(f%-Yz@d)AtDX%0$YDK)`#Idh;oma{`e%McGuzMG{ +F0E0 +q7&H;ObQ+t6K@Hl{$-XOmKj<6ag>o&j}7zrjRV;S@Faj$<3TQh_^Sb)8_)9jSAaufAa7ugXCQ`5f_M-I=rslM2Dl +F3vZ+u8z%v29aw{Q!1pHNiU*5{%kpV7@10I0-S_E)S94kvX!1_4m2O%yTA&zjmk>xoBU=e(E;J*yu^Y +GOJz8BzM;QIpO0ayW_4EPa%4^D%*0N}d-o`UZx;I#mcBod+>s-dvYZ7i*R0AIh2(PTeB(`-gtgwb=Lj +=(>{@8A;vZv>b>7t(^VAp9vAuuH0{GT4mR32y+!Th}04k}_mxG^}<%Hb1oQ2&1upu2}H^46d9BpO!j{&&K%J~i8)J&K+0UihNZTM +;dF9#T(#c&hAV;rvmn7k5b3pm17_z2VmSp~FO#b~$@VD&0qUVyJ=gBS2q4$!n3coORl;Jd3?J$?c3cn +;(Z@EU+YxvX3Wn{ruOYXKOCXJH|Jgm>P>_%j9I;k#H`cy{H}yI2{&0BE$s{1U?E13U>|BjB|Fmx?eB0 +&W9%hXc}sIF|tY(;Ally#U|a1brajX8~T^4E-(OjR1RYVey9nd}0gpzX#wY__6{25#XNf@Qu(=I9_6Y +VgUBq0elH~7{J*(c>Mx=at90h48W^9)>mxeh@Btg!fSZCq4>uL$IF=@UGpAJ|e) +&yBTe-0^I)?Z#w|*ejH!YggOHF%Hu2#uLAt(aTaF_z@R7iI0CSK4~qw3&{M2`KzROX);HDz{NNerO2N +JkV9oDYpN~-cEK3*RWR4@e2%iPp=5x>|z_$qSBLK7ijOX4p6i(d>d<%FSK>J=+*LwgedwKu!7r~-*u_5eTI5A#aEzW})503rP%fIa}v9fW!Z{I3A-c +mwzza2vp9-Uc299O3h9|zE<68Hgd1Hkv;+Xi?Yz$@_W +0Q@Sz-c_u;7J!?N0S|zE8Nm0Bu{h5H{M&KhbFi-m*nFJVBR(W?0{S1|LxjaAnE!167oKGJB7nP2@-Y| +Ss#AIFkW3e8hP80>C%EU~S<|fOEcNb(9Qn!dJ +l4U>^fe`il2g04ILU_-!)4ui$G0KQh22GRr4IO#_q-WS$WKqn$ugz!A1w0C@s%gaO|&of3N +ZH)&>Z~O06H%**@=7)asL1x;0QB*1ik`16W~KXa{2%q)iMK(3FL8V?K;LFa3;YBCENEu^P +Z7X(;Hv}sa)6&Ta~^JC_dv?P4??`_@jTE6;ceU=VJ62B7IHrbpXBxk-{d&L4>^wTdyXRvyv%SsJ3o@+ +2u +A;Ba8kZiMcw<>MaVHnyGS=Ff-DQ}%#8&QGA*%ExfExV%PC89d3yeMRt;kCT-!fVg)Usp%MxhTfDEIv_XWS~-S~`#iZQA=>{$(YUe +{(W{}Z%7uQv1WSHXQqo4NKQFbB1n*L?&2wQc75?=)10s%jQ4YRDaK=|P(%WwS8JLu4m7vUU1A0gSF<60FnhguEac|hHK(8m8Au;p-Ae^MF0!=%yq +cr?rFd+xrREg)*n#BIU47w^F)_>oHMg8N^~|6@)=-g*|H-G5Yg(?J$}gw>PbtbT^ +WSN?N}bU^(6?cCi$a|#{V@ueIir87biIx_)A(uLm^0CB<3Hw1t_~>QQtz36E3m)-x6czkO+H~AO&6br +`*RO>YZu=Z_>_F2fzJ~@ANcg}4N#EJgE+7M8lOi;N0Y?FL^5yQJhEZKhITw&R#rw{eDOu{>Z`9(9{=E +j56G8ae(BHXq|V@LP<3i=uqn+`N}iF1{ONwE ++W^AfEvW@#G)5&ZqkE;h&z-3278Z>2&>*4MT!0^Hk&E!=FFKx7A#mmZomC@v +UKTEvN?S^S+QaTS-Em0S-pBSvD@vm|Jbx?6M52cEBV8QDdd&Sv7~TC0@<-Dp6tvul1J@v_+lVX}MoZn9_39`gI&|DM+G-o1OtYp=aV`?5FRe3QI)crV#{Ng= +N_D&*+VqvY7JW8}n%6Xf*i)8y>gv*g^lbL5jxJ|P#stRwGzuaHka{gm=WLqh}k@!~h+^UDfpY-}XW&C +Qfo@aHia#)l+Ayn$(SWgxo)-}pmg?* +;6~ZS%cwEzfxxTUR^besHs#+m71CsU2pyOIr}=fO(Hzs_x--#ulr{^_uO;V-fLcK?{)48!*68x13Gx6rqV~L%Qowy% +vb!`Y}+e)So5za5en5Fpit`sh5Ej(5HD~kZLLCU3KZIRQU~wN@a-ACC&RzO@JS4x%J3@~ejUSaXZX(; +p65(E&hY0L{)!X61&`2!M~LMSX7UItd4zl(;WUqMr8X&7Ta$9VFDW-ilk!U%DZj2E<<>rO!av3EEg9a +x@ckHm5W|mW_*o3UnBiA3{CbAp#qfI={y4*5)WKKNIPfIHKgIAq4Bv#|TQGbG!}n+S(F{MA;a4&I4u( +IfgD=^vYSVvZGKCq#jArq;`xq-(ra{SgZ}|)brr$e1o5MLlY~*8;k%pS*%ahsZ&qAE^ut*>&-|;ILEg>`PVvidUO#t +_=_8Sya8`AUq?y`?tp*f4qKA%z*2WqVf2iC2p{S4Y+O +!kBqQbBEuuSO5DKLn>H8Yheet#;gROZu1|YDsoj9<&HP&SRMhcJVhYJMYcOum_$S71-8qt392stj6hw +#_B>x$ItGRV3P_XbAo?W}vsZ)nvG$+Cez*PR%@8CcjuZ_tF-5jCM!mdFyEcuYQinOJ3mpWYACLo46Lpen?Hb&e=`S=ApN-^_{_5#Fwo%Vpj8%$f* +eCzs2LrDThAxlEKdrMOm#;S?tlc@HO_n^HQC-RZxm~PJ8CWbZnRN2XUaA$boJi2f9^CZCbCirtL~!Do{pKp^`?&l{IvZcK{6K~u&G0iBei_5BW%$n-{%)N6Gf(+5Px=3vr^xp(dwP2M;8;(*sM*t_aX>%-{({t()5Za{-D@>_g3mpD8a8dp_ttjz3h)o`SL*vV_X}uHBcL|lQ1gi=p04lH*e~F*8h% +e}UwC`_H4ms(?QuVbY4(?zPk4INZ65GgwQ4o0SE=%Nvs$%0A9>WXd4tEQ)xZ}4?p{w;b*t(dfYzXT6^ +#Ekk4km;?6HP5s#o`C`|@f0ROR}7l|dTtInVE3|F2CO`UeE~H)Z^J{^tJvjr{$6`~`jWx#5{#A0Kh5O +sR!uC>8Yw0F{-pAJB2r-Glq_V855TKZF+-yew|0f7nq8U +R{%DtUcEYd7V#%W@w#rj;+s8%_}PHu_`_;Qin$!Xwn*d-?L^&vV?_dinC@?|=H~r}G?p&Rn{ +5=^P(VUcY|*GOtU|9zTA3&1au|Hpk7)%|AFeI6$MxLmLM_p#UH5hkuYY0`p&*G-=Y1kKk3!3c`8}95~ +R>o*RFD>hR&i^LQOiJ9g}#^XJbK$5T3V=nyuj=;X+f&cE^y +J^doEyVcI=FOW0-sjGpqwl}}p7!qDOZ)ci6ZZjza|C>UmSL8!S+i#HrcIkBbIKMzefsp?2?+`2)YQ~I +oL2)k{G7$VZr!?VX3w5I;F)Kh0q;D_X0sp0yYaYzO1{o>F06y|bv;4eF9kR39S9r#N+{1r8KZu>c4xlg3pCIaXgvfM|`41Xc2JOEfdWLC;KTLG3+sQ^!zvA3 +_7ZjcN~Ix?ZK1_3BEKE?k3ak3w8o7aw_`b^!p`7ZN}~h1UY34=|G190066#=eTzEFHVPWPC5m7g!kLE +LOH`5eGxsHB;s5KezY@op5*;+iF6k&uCZ*AF>((vWw`CcvoMfRTqYbohRH#5=!1qMYeMi*y6j3B-_(r +p5)|p^w&!4OI44>3wyK2uZx2ZPG9=Ei=PAu?eInQm|wyiJw^BKS&dg4k4^d5TcN{6Hcx(+=$`Q>_gZ$ +dC-j_X42CWZ(a&|dn1=mm|2J|~HKGEUvU(b+R-(CoPtd=mTA#_W@Pm7}E@=S%?Dr_|?ZIT97)+}sbRiqlu#9Oyi)R1%BGb^H@%Z~0l?G|gph4O*d{XPrnC~AG +H3JRIfA1}9{{>>0uS>(9{k_nCwzX8`L$EnXhol8GARd&ZTfiTFa>G<3<-FFJvY3XIOhd+475~J`L@!@ +t8j6UXKd0I=e3IqZU3&%%(w;$sv}gDvzpY}JUtIBroguz(p5^SIL3UR +)0X&B#yZd|!QhksLPurdt;&od1=d$wryY%ElLQqWgwe3m|`Dbvt!YpH%o;LrK}+;;8S`Ergj1Ng%);s +~7q4aj*UE%*+xR_0~6hIosd0qw(-jGsm`h +rf{e->FllCXj{fuvg#>+8t9_t$TO~fk1Hni>2f@llVupzk<1U_D$A0z&PM(F>?vqI= +2reQPFuzoVrz_tK;1`RfihQ%5U^FhP#Fq%1xX&7Rr_8B2bw*@CuNKap=D!2Xi#vi;;SlsxgbqmyV2k#xqg^vPP#)8;m1z+6%rw9!NqbIbpY+Zc1 +HGLPN^da@sZ7HgOv67}kEX_$1)}gtMqQ4v?qccwANWiC@7%d_6W{>+X3d)Aq`{Sr@@Tnp=Qf?*xr9EM +YoZ;~gJ`Q}&uew|yh5X4sYb)USdUUi7-@E_N&}k6F*rW=wfE{*Zn5?%g2=djI|RMec=MX7=paG=BVeCk^ +G%QJzfD;FH!TSHPZ`hEn`YS*;%UG=Kj5o$NcQY15`;wOVQA%9Vt;oS2wMW5 +s#Vz#Fjvz6!Yz@=>e@&|uGdR*j?Ezwvq_bG*}@Wsb2}v*-D23-`i*+qP}BIM?~R#J^?BmhFcO84^Eu@ +ZgK=M}-`0HXHTs-J70$_E~!K%{OV`!iBV8!2*E~*7v{{G$0lrPDnbih5-%mr_e*hLd=mr$4vX*1O7K@ +_log%bByt7jsbgyPg;@`3H0x|{t6Bbo*fw(ITiZDx}L`C{&pKSY;dp*6JMjGq$FaSAe{H;(L>}2pM3I +(&r#7WT|?(A)F-F82K8rsc>3msUi1I(F>1VDaL`Vjl!^Yqm@&DJc +{c6-5mjHl$|Fni1#L0vF%`+t7E=AiFCq=+G%SHhk+>%U+>v{|x2$tmYVq&-TeC+Vs{?I`+jzx_RS9A< +MhM`wxp2EutASW?V~4OQUJirrj7YU;vFAIa2VQ*Ofw-Km+UobOJZf;YthkAP|S4_lVK373@b~9f|LdB +SChcrIg0x|9S#Ey5IdD0JH6;CnO}CeC@T@eg~e^lu5^^9Thcb<5qboF0KI}ghV1122IGWsTSe;^0)M7^Zu|D_eVK>!`9+Fa^Ql@<{ +4uXS|B-w}$9fU?uxyEQ3p`aU?1AM?tZzaG5Tn3j2_yFt;YYz!`2V$Q*HTVSj);LDeDHyQ1FxA+MeN&N +;utxJao@$?%~aI7M@8#5B7Z~v1OLzVn2K}Q8;-yQ@`lZ_o{C%|E-p^^RUCJJ+rSNUL5E-qGiS~u_E{oM>l<*B9Wd}S@I`3QAFP +Scfjj70zI-|M7}G0Ns&v1&JMowKKl6JAXpnxfG&;a<_#lqmVx0h;LaZ%iPha2<*~lCMbsgwEbO}6%4K +2dM{P)lI68P)&A3nl0#=6piBlg%|eDOtk`|Y=de(U)zJMM!nLDzAP7y#U5eT4JcW&Z{40)PGbmt#*V^ +b#=$bjbaF_z(Cx#3MZ&;O)kZ8)?asB|@L24Wol@xi^oz3FpumSwCQ(`CjG9mH!*uo%rkHqCSVw=QicZ +1U)@HUBH7b+z;A-FLVpO6SPR&IX_+XfcpLi{DBMGm(YKX-!tU;t2|odo~NweK{ogfa*#DS$PB&+wFK0 +lKnrl^IUdB%l#9Q9|3|K+%99E5d*nYjM_mpbx`pGXpMEO*E_eWYg}wuS*a7R~iie21z+b=r$$rAQ{{t +EjJCVP@|3MEBj}SY-W2`yBd&oiV??MhZhtG$vg&*TJg{W&V%?}%Qfj@M&JUuT<-}Sx-*X6zi_zW7M># +Rq=bB<8NvO-+-e8{+?;q{q+`ycL@1J6A?l-Kc63I~@R6DHhNs?zU<2@_5!is6cS +-*j0o;v5wf*Zsh<8s_rg+&7S8z9l9mrZ4CFX7>4b3>%M~A?JQl(djA1{YCNcSVow|O9qh@Y# +&)myu?FBZXgseMhRgLm*14D$c{F$;*F4CZ^bPg00q50vA8KXmuavfRQKDUT(FZZV{@DlDXCA;4#IH-| +j?#P6qr^UDs>0K0E1w_G>m%wzs51uh@nA`v^g>MG^=mZexl#J(Fd%>Az`zCZXY1l +Pu?L3zVC>1u`O*JzL9KhD-X`?%h+1nyjR*RO8Wn1ts1v^Mg#ay(^COP)dOv>h^Yc0>dhz1LQF=TuH}o7wG}PO$r;7Rl_JlXSop8^Z;f3Fb#xO2j_Nlct*aYgG` +uUMpOq@6|e#(?7!}YaS;DCJ-@B$6{>!>wlYxO?VnXn%UeMF53wTdKLCn?b_bnYlb+vqM5O{zW@JG0YhWc&Jt9NapG=0?RTB-gYI +rgMUlj3L2oEZl`%$qk)_&xYt#6I|c=mPiwUBuk_n$u5b4$!4Dhu9`u^l_xoSt~1Ve#8{)b6`&wJjVKp +ZPB@x?ph0zvVklbZ4-WH8oZ2UC6Z$c#b3ZFQ07$KU`xn8ph=N_Oou4oBy?J+44EId$A5gtVdl2wI$B8XyCwsg6^{Rnq +6fhnD_IC4IB0;YCPDZf9|>G2(mzZjpMSjUI4yJJ(SOg$Ro$9-=0 +I9ZLTG{?w~iFM*rf_mlM@+y}jp{sPY>u3ft}Ls8cX6=}l%!T(I3K7BaG!=5~1K70;p3opI&lBhAmE^s +dzcp&$9kuRgBg1nt+c;`OmcFym*ho#?>Ks*{VW{mI+cve;JD?(o2HRy&^aGr;seet=EpoT{z8{Pugt+=d$KMG9H3*UabW*x)22=GIl%{=+ev>#_CVoh; +QJuw+}vE~-zDb7Y(?EadC-R6nz%n;hkf14zm?f;d!-moxs~|sE&9EFv#bB@t`kmCyX*T`?&Ej6-euy+ +@zATRYpjo^<;$0^x7lnr*+>1fa^=c@ty;CJgx_&E9G7{FQCV48;(Na5k<84@i1hUI?b+GcLY^{)LC$Q +`hxG8Mr|sOi6Z@>Uc#Ko5f7fA$SQ|rMb9fE%>@oE@CKb^{)jx#c8{9X-H^Gj8tNeY(-fb%=ZIqfD4${_6SU+O@inRjPDu +KLKTFiK%)`~SbaEJb5-uIIuM2>Tf*I-Mpt7Bj-jH90& +#AY&=on&c3=aH>%76Kkk{#)|o`OZh|h;On8MkY&Gq{RB_pry*}4=GZ?)4-Y>LyfF@Vfm#u0Ld?c~5@ +4~;M(obd&o2RsmR!|gbmy*A*1A$om-kfFdM$kKrc_nDz1_vzp76#sH~a-1afbJ;RT6KC#+w81wzbL%{ +)!IH@UFE-l)ymMJK;@hRkS<3#e3Es)$a5bZ&|CV1V<+(#>Blca-w%q+{pOEF23W&#CJ*@G%O}AIyDl0fz8x@Wr6JrL +A8xuQrqIS;TjENaNj%SG(+-FSe_}Gy#Lt_%17xkCJlNc0#_pxWp_?VI2Bk_M1-{{1M`0=Ag#EkLv9v5 +pIgg-Xe#dk>b$ix`mkl=tafbUKoQ10VQw^4sa69=fMGzpCNsWeT-&vM6YiB`)eQmJb!rS&|&** +*t7`qyqAtfH(dS;bk3y_((K?qT<~``H8SLH1C4cY7au +fBVb!VfF-jl0C&f%Rb+}$ewOrZO^rDw&&Rk?0fA;?5FI-cEwT6;qLHocsu+YfsP% +9voTQxjIg4`Ab5`f%=H%rtEq&aSo_t8KCD~GJvuyKii)`t()wW#QW?P=Ezy`h**{;}%1?Su|JudOgriI_Rd?iOi +Rk_ujS9Gk>BQz$)uXi^Fm=zt8Yy;xy{;*wtn2*2;d_hH^oNwFv;d^a6nJ?>$<9UgJ3h5*Xi{v-3`hLI +&zoQR1L}pqu{VAJHU&}d0kDiMxoI>s;_NYUuo#H*=%n9erWIObiU!>)!x)uI>lZ-1v@zii`nckQ6P}C +9X#1UKFc7zTBEpXB9y(GG)CDtmA +=B=nrmB%R!33AU0n)uNsNkVRco^Q@#VKUFz=xoO)uU^NULW<@=p;8#Di28y+e%G~alC&Ve75tSP@Z_(hz%gx=t47b1h +pGo5)5D;W=r(ciMq(}+%BD~|AhriMAbqOfGGhq^D?$yxS||b>oCYvuvpOvVfFWU&N^rmfeIQc;cbC?A +dRb&3l@^m5gjh8+e+IEZXB-qU4p1e6`NVV-!-1d8Aj_ezbwFYvzsfW2q=}#^J_9D{W=}jz+sTavSCz} +5;ax*803{bi3)N@wbzLpyO*9zqTv$Z}9O6XreLRb^avBYGyRumU;E_nGkkwS01ACo50tFvPYDM9qgu# +SG8|Vqpg6b+DQ5_C6piO3i`DmbF;R+ahBphIP!t?N1xa){P4;pz%GFaoR-Qal>2G0Wz4e?VU5(Gc4vw +4wDvgqS52*be|gnPAXq72isZJ@;Xqxt;)2IhMoE%BpxL~-ckW>MY}pHv^|pO47wViL8P0|BU|Q!*Hhf +{$)H__>4y`__3wBW^>edO%P=<8(epzNtPAyoJ^y8MkdShWy}U&;@A!bg*cFd^7XIB-~ua$?zZKH8B8U +damFeFGY;`_Y~r|6S1E>$Y)^~qbd_o>uy8dS*loQDtan=XaO*K^wFLTLeeZjpm+G=0^6NO1K|4RHlIU +F4M^jnA{B%L@kR%P7AtOV*umMbg)dHbuk_WqTC9I2kB3p{6Qe_;17gMX_hVp-Eu)D~pozhHvdb78ASo +;tH(8T6D|m1CBlX^eTTol`6m#RdOEWM8+&=ZZ!E3Jp~^2ENE}2^f0qwm|IoR^_LTAH8;ic4I0F#^jl$JqAxLf#& +ZhU1Xl;(o`lLQuqU!x$P`aldE}^UXkI`AY^4c_p)l+u{D`57q$Ka_Av$kniy(f!+fyQ9@3JXZt;u}0f +6+&pC)a3$=0cqTzp@Q~6wP=Kf2g)rz)Y>ww0&@U9#=01`6>HS()DI|$4cvn=7=@dm#&3d5ndVJP<$N-C9d64W+B$6nchM|{?{`_$0TJ_`(tyjVmggVQncZ6pB; +&V+ev5r*dPI%Dt64{cLD@!XPs8=Jr%5%NrHYer)-%>UU1ChVqahF#)jfph<5j=fDS7rQs~?*|-i9ccK +AaryF^?O&5C8ji>w?YHu>D#Z4wKT=qNf|-mfkg*2eL?iX|9R6aK=h&jl-mn9|393(lTONE +(10C$gU+9EccIWKcCC+fvCi)jzya$aq{-g*7!S3~~#>1R8i#S-|m%9=8?!KB4~`q=Qg6Le&FhigJ +z1Ai5d!4`~O(A-puV#>s`U}VzS-H;2cn`a2eHz-jXH%b4Bl(dlqW)3qZvo2+uBFvHlm2st8?=jgf$q2~pv5CHhHL)9G)G_BbVzv8e2mv>9; +Zv^aTfE%?1xiFTdLH=*FUZ^&Qo*j+8p>{Ie%6!dVC=GS;O4X8cg(|HhwQLf8+rI6_Mhg1!p{oys9B+eLK`<>cFPF}oDToe3?CFXIVnh^m9I*szWGSXSlZjF#+wj6} +icGMl6epcJYd9&o62VADeDOzR@&4OEX$76!zbS&e7m#81aJiOnw_$jiOxy&~NMN#OZ(AA0{3?rCK`iE +SAb%jFkZ4*z1LwIw|Y|1k=2>A2WigEbAfQCY3sAFb@zoU(`zKX^hvOP!Qg#*A3kpc+(;H32I#8d9gA`Ieu9Do<~#nIccTA7r~_g}P|l(V +L5(_?Y!Z(6pP|M^%}7mPKR+^|N7`V3ku(CueW(xlsBWYq3`IblaYRd#Ou_!al|%lns|wx53(%Z9=h(N +fIs{k}MY^&^RHXo;h8k3pmD7_ODUx~Gf*naP@vE_;U4khCtobvFO%+o>yY9ql^K81cz13vEPhuTuZ@S +R|kjSF&kJ@pqni$K(Pz6S4Tibla$HbZNc6DiV_+h*jz3p6S*p@y~Xh5;hxX4O=+f5S!D5#;4Z4~^%{! +FCbW!hj|(&FkWe;86ZN2Yn5!E2}}@g>Hy#|uGqxFPWLvPtkMf~2Umh#^_41Qw$JH>&|zUE*g7G +1&moRW%@C`K(QWZ-Sg6mZ6S4tjVhP?Xy+wDgTE3}T}J63gviKCP#Vg+NQ^8{_$F= +8$sIM1HFS{V5}lz|(h$ +WANt21$LpE8o7_Wo<+@w&YBsu<{@AnVCPu{)xaJct&|0GFZwJ9eVscUoA{EA16b1bS7gXYRCo1#A&kIdq4)Rgew=oTXX;54o8^ +D-of8igMGL$15>1JfGV4~U=FRY?S~hd_Hj_O^7vm3U;``ewJefH^ouaXA@q*_glxM`nFvw<2$HSU_>0 +BDoW)LP3rF5CK~TNs7|_j6%V**%X9nHJi6Xsj??9(lxLi#eXFHa)eR@<@!|$_34*r8vQU_hJN~dH)IC +MNY!YrEoEk1t8j1I5qgx9I!R+*EYH9-aLycEjT#3b +cVblDh}i5L>nnI>&=`Iy{hj}gp03?%GCmBtJBVi@Ql!WuJB_~D5Di78k&8kh{IE!|Kk5D|-pf-as5>P&+V~IZJ0RUms)h24cqGP|u* +o-e$8VvJ@I(05I3cPUkBAg49=GMU12!fi*q41*tA0u@E7S2|e;z)>!C5m6oRoM-GOl +;kS#K#<3PaFGEq!}#M(*vC(2E6xqgBwVve6r*%%^N=VVABhO(K1bn3SO3{Dq>I*Fbbh#{jRQmYAi!{m +81fCHR3Q#lp26lsH*&<+Ozp0g*B1 +f^Ut#uc3EJ28(|!-u_n#V`{%g7_Y_PhJa%9T>%AR{pgz`P*F3G-&7i_iJcQ1u1@KO@lL0}cFaK0t!Zh +Bktu__nCsbM5H$cA9yTSF_2!k8T$1&5a}4_fSf4k$g4^`kL!(tko8gyNMSAT~VvY_cwCvVj9{`WNm!a9YTx6*I8PoU`P-r;)$$jUQ2?uQ<5KiN-Lh-PVu`>s6FOcF@@sH4R +~Op(BAS%sJNa18d=m%2P^TI+#nWHfyU&1%IY}qDtz}L054@76DdDNsyKjKgDiYnF2O@$6==u6msL4!M +z21T2*QLLiBgE9P<>^255A&oA7u+ZXEM9Ys4Y9ZGq$*h_#3iWGRP2j5`3kb5Xp{ZH?I#hNwwj`gCA*1O +4NrEC=q6^&_29u)E?Hw`W;FW*w3n6TXZC-3fU4M~K-7qlK;v^ARL;KXSDjrJ$IE&9F6oj{U3Mom(ZUt +N*R$YMv_dG~guGEi;c(;vpo38NRZXfiTKnjLxy#tI`q;ok*A7sz+p +Xavg;)WdIcWTWt;qU#TfvynQIKm4K3q^#Jc6ApYIIrf;N=*FQi1RmPS&c9gW!-H7=hfaLIe;^(u&Cq0 +bQ8~&7{sjHIhLU!e!Ac=719KV0|b-)Hm%T`qL1%n-sltv=Rzpp$nf~8$~rq3!b|8s>Edm3Ia!G!9A2u +!S0-(BdK@{cnd9?NqjU41;Gh!81TaNJq`|OW=J7CJcbx;<;_jN#VImG8xe7MhCRMP#an(EOnwd|N`nU +G?~NIwiCo>FdyafB+xpf;=O0!Z48l;C&sG+ezh&&#wzDY7zCJ`uZu%LHgY*xF;YKtHpBMg5iS$1DJYV^{-HJh_c*%`# +BO5-}3NsnDc`*kRR*^+?4=N|Or&_9F=42_90pG+Ds>q|?16HytK1YI~FfDDM*Nz0Gfh1NA}FH5}Jgfo>Pm?z*^iP+aLn#+>O$*^6GU-a3>BZ-dv# +#*j7#wV2`ve{)Uj+B8-!%eYm8S?ZkVJ|q;r*pGJbq7!4ng>uY(Sw#WBJ7dZ5Yix>;T$RWYEL*=HkaOo +*gtD|LNMy#QwX>95YPlQWA%HNN!kLeOkg2q@p}+G_A>RsY$A%O0#w20!XW-(P5lvjL~Gga^YMFr;_DI +_7lrexR_G3GwP*N#}78eTpD+^Vycuys;<@|sFvuAkWF3Y=vkem&Fzp?3d>{A#C&25#NWJX@`n&rph$o +GQ+k)O@e5BAtF%RSOefWflp$)j9Z>*~_moXXYy=@VFvg4N0BlDK1h8#qcXlTT%wq%Si@~r7F6CW@`dL +VRblLNaLJ3erAocLP!}I1D(CkSOoLF;2^6G^@1Nv)H +O<=5i%bD|4I4I)-D0+knwqc8H40U7)~`ZglY38ZEoVQ#Xm*QDdF%I@c?wzGp!8XKmyaMlWC|l)>Qtb` +&+?x$wylS(jmjVF*B5aWH)(@@R1w}v;YyA{J{805WbzWyiUv}&*t6z;4VZ2*rk2(!1fIh>E7u3surWg +smSUq<2j&$QW^VxcG8Q4g6~(wGW>l;MSD^tBk{T7XwK{^V|3H8%^Lkagp2IkfS=vKXY7MPHGDDv*%c&BXi|Y;)hqe!K`Tc`~ +vrN?$fSx=shBI-+$e4~t0~IxQaxOsOpWcb1f-6iHD|@jy8AIa)-mPs7=uwX81oL$YkpjQ}mK=TO63va +Y<7iY(pD=6~8!uU!Mff_Ad`jZ09VEuwh@g=4#DnyCYdfoTKhhqR5Z-0btVFQvFkt`Km2^DQacyoz)fH +v^4l1#rX)NUqqRSUUcNUvM*>cXW=zm=m1#ZRJ6j(WFl<9y6n!i7Vbob#%k4fet@2v%m&AnjdO4LEh8WMQG%uL*$}JkyrJOC|P@Ad%J`s@v9LO@QfCHzACd1Il*p(pZ{0O!KJ<=!*4@AJXcs15 +)iR>=M(!~{$gwy&aiH?Wb0MyWNJ!f4a%WCRrKxSFgV8{*1I2^c8WF!PY8;Z1ccyMG#^9>=F&BcMx)?z +aUjtonm`(w>{S8|_%xArM4Zq=qFkB|&~lBbF|NXc^Eh%7v%xm^P<)L|nl{)%3T=&g}}ZN8*-FeC;4Wh +wZT73rc7r?3fIE_MVUw$soV>dhN*Cv`TjMgIr=X{R;l;pZAf0}-aUON!1H9Ofm-Gt>#vbMkJyKBI}6XD{4vZk+sC{6}1Fg$x4EV +U00l?H%ZW(Oz^0)3K8NbFsb$r&rbd)IdKv#hhg;P@#on0FQW7NU&mYV%ZtIwzU&0&&5IHIk5wkHP@=| +&)m{#w@$Pwif!|&%sT-Y-MQ!TM7vuB$t&5k@2EIJgfW2@*H30^>1mqns48cKR>LK!%?I_m{^ZEdV+YbaR9k?(_Bba%Dyu6QrAs#q)WFkt +!IK;^~t)DW=`=af}JmR68Ljr(?=*rY+(^6NVR(1GJZus^FuZw5Cj|MG0%lZfN+3WSNnjRKb+r0?5!Lw +L7Ofh@XstSAAQ4|5W;}qVduW$(2^8id;c}sPt8%C~02!*1J9ShdA&5m^!l4T2>!-bXB1%nFCPUU!Z+@ +LC#?~xNxVbu0$+T61;kd6eq06Ued8Us-C8UaCJqibj;C`AVb}( +NQ=uC}JkXn~aFaOr(1>snW-8Dy?s7CC5k5YrRux2EzO}<~=)w(Sfk-G04Cff6qdcITV779doW +9(*t?^>H}BpYAAj@a>tcQ>4%**LT%!#GPnzK3F;k1U(r@62h4)7R@-s>{Kp@eLw@|x3ES*Di=gCGhnK9PZ#$MPZ#srL +u|xCFtY^vW%ycB~U0OF$_$P{f1uGc$PD9@cg_&!Rdji_kA*&gK`q*x*`3Siai@vEi}SsbnHy0vI%16KEWNvp{5dI>dztC-?ZxG( +S18qft7>9(N&ZqrzIHczgiI<#0W-1}RC>iWf$O?y&zIa>N4Q0iNoV@K#(pF-1Q5y~Bs{H;2}jvaXlMM#A2~uCfqCoe)!{)*SchDkGt0^70(D==kPb~7+s1@pL)WqAK)Wi*^rqEkyj0D +awH|PcwVD-pIZi!+}DD0TB`JUsU^$e@wS0tdhmgWf(+7LfSzX*MaYoS$r>{L-iOZZK`A7@(XW+X3OEo8J$w$T*y9i23Y1*N*@4j9wdxvIYL1rv`~XIirk4dj-F}I11?SFb +RjY%?CrAIizju}#zInf&ygB?P5$V-T_e2MZs +i91J#&|L5%O(V-uMI^3E+M(5M>_{;O@m)$*5#Gi>gAQZ_jl&k?=FXXKC*$Mlcu|Xay<}wR#+tdHkW-dOSY#)BGLD8o +YR$0fi)eF>#wj=(N55o9#C=I5ILgDLX%F_>jAC8w+|fx3k!Z4|Rv^Hf}n!1MB3e3r%6F}yftle*bL4+}g0MX6 +mpbvO&=yU?OaE|5|Rks!RPsvvq5?+m!tyF3KDq{ulq&}mA__iSoPl-1m%v|x~VuY1$)4GIs6VoN07#^ +$$W)AIhK^YD3d9#YI5gZBFsrRpSoiqfSclkN=h6~GQJbYCuJ1;qO*7Fk1Eo#`FeVU+dAS_-?vU8=Nr+ +WiK>I2PNB3XUk${niSh#`7ZNtSAD8uD6Lta$`As;clP(I_g?dYjfQL5hp&`*jwH^l_;FB)^mek1>??( +EjuJ^QKA(~q^O0NUJr2nPsG0ViEo| +qra;82K=*NJMkgG|jFfVn;JInK=n+K;UI9w`UV@=ft1J>M7cJ_-W@8a0XjtK!^7hqWMpp?-R|Lk8Ebx +xs5+qceu|a4i%-qyPvq;)cmjncxuRi^c|N4(O_%?swAt5uj(t;N@g_#TH)5ofbtfV*#Eufgvy3tuxR<&AkJDOdEvqqQXN#=oStm6&_^K{vwxD6wjkCN!P +W@!BpB+5F0|1I!Wx9mxluIG&)5{&aO$h0w=zmOGJ!^)D&{?Uwisvw6_m%>0KC1 +6%X#i_X=u?$K`ol=T1(0p(Ygj&PwrWEAM+LzWwMOjakyvsRIZz2!%ktTQf$ouIcbO-YmVvC5%{Y{n?; +(4b^u|DI*oKV_Xe{|mgl*>W#<84@FAkAy-tg%r35CkiA=B5o|!r@?omLintQfw#bCvNn1|B!#10j%%i +#*cL#n0?($n57{p_|cupW(r?`s?O=q8+BCY-{{=S0C#$Kyi(rd2xr|?`XlCbeg^~$?XQRg&kCKn+SwaB|<-Y*n9lajU9(-v`1tfGQRSKj^alP3boq9k8z%vxw{vV8H +H~{>(4OgA*sAnMF%2ASS!^<%3;=+_xS_RuSZN%0)vLcbTD6B!noXQH;YS5WOFH{uX`=GA@J-tx!mIB&p0B>YnbJMust#w|E*Y3BMCq|+8dq0ZVXJHhlq+bBh`s44YVi@8*BIS` +dlk5q4YOgH`+*um2_t9==8Dra_j@<^+YKit!g)@QkXvDv(%06(DJ}aNCV5ULvbzctfGYz5ED{)L44{e +(1lI>r7s1>qc?=NBSSS48$(YJeURTtdqj3l7VwvvTe56Q91;DoE1g)H&Hy`E9=o(t*go&zGWLK?GSMj +V60zGWo!>K2ne*OQ7S*5i2R}Ha~EFnCsG%U~rs8Ks5Fax7yF|bm$dP$CYrv^=@eJ{QF-ZP9X;dDic*> +!1T4nhA2aQDe@=FK(}#?qCRvQ#?6CG%BqPc$%81eOdYgT255ad<>d9F6n$`k1Q%n=!)OeG%FXaGZToJ +ZCjG*Uk{=I4)yKMG}FpE5-m%E{gFO?BT$N3snC}1;?#2ncIxOh3<_%E>2c6Ob~A9HhZMay5HAIPdnz2 +3e(QgW3&k;PhQzPYjZ1pyo!oSs;4SPJxuUKwZXOBJ1c*>K=-T|R2otClX&h=koY<0XQlg#<*t=Z(Dbb +co+0OeIPv-%dZv!QK5vE{tnA?IXVuk%Tw +#%uAK9eiT6bbW=bP{(exbedYQ@_Il&SlnA-%vP?@NzJkNmH0c>Ol4EZ6;E_pz=cG>ko%1p1b#yJ;GHr +q5)EX{DO1zKxRi15-#Yk-RfLU)gE%^9#by~PwHvB)@~RP-#+d|ZvsCW`JmkQ);+QSeESxtuk_HsvagX +M^&rahjFMgu5eYqEjNPaQ~6@JHMeY%?h2p#xWfsxjWse-^w$kz8s#VW +<`y!>*vZg`%l`d{=Z$OOEMQTKf<$X~TsJ3@rnAA!a(?R{quxHg!umYiE9ykV*b1u^z!dEvMD#FK|l;Y +t+FeN=U7fQZn_NRF%luW&G6mP~Mi+eJOQguC!FuXsc;uK4~&fvPvwb90Mj)K8 +KA3EHREW7;#NLuxDFZ9hH0s$v4Ru<3i|lO$*#qc%;(q;=M^;S=^G6dKq5B(^PaL6^2iX!>;0bM^AmSw +Z%zR3hZW97zA+~QzR>niO~2x)rl&EEnYz+atlkxDdvsm%`E%;E?34_FIR<>B>H5;(EZZY+_EHgURF-p +uui!i>opS@L;ZkP0mY9;*3rtzw2C~}_7cxf#1Ttx-^nu`Cl$s<1-^1lJT`4zmDdT-zm%6SSi06GZU^m +dZ$mfl^V@u$P4hIa>g#R%wSAV>Kc(gK*MFvPH~>{VN?>>uPc@r^$_iFNq9R*)J!a +Elu4rT071ceu5G}oqfS8Z;S*#vj*XjJmTq(Mj9U%njk)`4h9dO2r6C`s=_kb-kzmxlVnyLG+X6T&)(+ +>lZY4a9}nv)x!jIj>-XADZ%w}i@muUFcB8N3_?uPm_xq?HV*>8f2n_kas>+&)!HhB@{8srFP^JW7nzW +`v(;Fd1ORuI|;XV&oK&g}oYAS5`PtBq{xJ0&Emj;U?t`iN_3+RfF8S%fX(`{3k+9)={ncrHnJ2v%HMV +heP#K!SbBBC-1jO4jkFOzOfrdmF|+J(@dkRMidt=cQdqX>@F}l)dMxv12xry=yY%I_xGJ=hTd_DI}fg +cAF(J$q4RZ{Y&*arYIW&4D=D@X9ZrCiy}sJ`jP!Zw64E2rEGZ*DtM0t-24W=UBPsxXqIp{F{H#k^&EO +B{9CmBB=XQ0yM-;6VdD?ZGK~|`0nZjSYvq}G$YoG?r@aIUgmt=<%LPT#@PGgS{chVc{XR_V(a9TN;VY +>AsoaVfa{5AL`w7pT2iKPzz9)sqJw;QG+fZqnwQTU({wHP> +z+##TJ2D+H(@whx6cYTSGwhR8Zk!-M07XQRPnjcIr4ClWj(xxu|#4`Ggi5KDC?da(+q&ZqEiKU{okyb +{Sq!+KYLvtEm8I$SPo^0K!{1h8(KJnQ;fftUVP^cI@z_xLx2MK4>U@HgTy8(ZcVLwD^sWh92x>_Nv|| +C`V8!UB&(fIc{OdryXUzN}^>!P1dk@*%qGs=V4x2JrW&teS)|j}*AJYS$MS4LV>+k)Upe+zh$v_Xw<3 +dh{>oQ8!kfh_NCK&v(_`=lV@|_`&STnHgRC>d&t}`?NdakH#7aExgk!1*wde1fiTAT7U%cE6KsCXYj?xW&1Jj+r7$`I0`|RGncYZQfc?FkdYx01H +M~Twz290NA6#paBT49Bw*j=o6BT0<^nbyoyB$F(;FLM$p +EX+9i&cX;%-!>~8fbVeC`M?07-{sF(e+Sze;J@}o}NKmN~Preul2%YZ>6?AwejRi2pgPuYuy1p2Y`Gz +#P%s6JO-epBPZ|L2Q`C^Kg$pfUSy9>#6Cv)o1rG)WWk +wFN0{=wD5@B@So0G>P4?tV8Xj=5brnd|T+NMc4sVT}@-4ZgXT{_`Y9CC~D8jY#bFS)vQIRTxo^zDM{R +bc=eYYboLaH_c{@25UE@?5Zo5=L98mVsMmpYBc}*SdyE`D`)k$*{+5h^c2`MJ$5@)UirW8}JKn$V#uB +M1JaO1J5;&LR^P1d4uPc-fQF0S2y_bOS7)cPIpiW8i;p-7eP1JTWanoBD;q$k<&)@GpKZON=-dxj#RjP{v&(6s*|Iq%~oAudBC9Mp904I?jreAjg`ox0#qy^+hCv@9?ihb?F}3JUQ5VoBZ|N(bx77_48k%@ejXUycnF +LdorQh5|Wesy$>g+=t%Tc8UL_-em?x=;{3(=i(l~%KltsU1MvRf^!=MNX!3Ob%&z{!_=jIEUY!5->-j +I#@}E>Hiu@XIC-+{0-#Vj0ol3>Wm%3L}CZV3w{pi7q7bJmyspjpgA^drbe?I*!)>4LfyC^d~*lpv7FK +z<};`#|fB6wc!LbrfV8uS#w9vZpX5p=tTH;s!4VSD6|;VT0m+13`vR`1h6ELpUmfmM{K|uYIRGLGY(3tLPN}i!O1IMAgMZ;oDA +oM#OD2muDB;2e~3Vo(Sihogz;+@1=$5f@zEW +i_UVY=TKwt=Xo=;Ni5Ip}P=QJ_ODF3ky($!8%2L8C%aaqD<0cl5vK4QsiY^ORggJWePir1E8Yh@{Hnn +rrnjuo?1pqn0)}ND)}PxDS3@$Q+m27P024|^!TP%@}3?G_2>=lS*vp55_=A=FjXb|G!;b(;Xfe7I6szvL}ZJ7(7&7?4C7XYuI5eHdd2W=}<$TQI4<1Zk9MOI{kaH`6?rGQ1D;nU +N1ly2dn_1z`48GH*9<8}PtypcMj9DyEZJG@Hj>?7?6o +QiXbvjRY=py__49jiCS2v2E1fPEQ&$MM|jnucN0RRkTCZZ8ydwgf&E`edWd;RGXu@OTtG6u#IV +z_b>jG!@B2r_nT5_#}+Y3qmLI9A7Ntr`Y$Spq +-=DcVc-dh^ntXpE=Mr`3HKiPh=!?FV3^Z~k`TN4u+N-!QCy$e?j_0HK>iwz8t%Iq7a*$blOg%ej628$ +UMO*gTtMF3AQ@j8rS0LZ%X-|1`sMX+=*kC52p+`;TYhN4Eg+Lm5giNeQ1D?@}43L8mKp$v{9=sWFK6F +?g&Nq3N8X!;MBY9tPZDtrFZ-A97;nmJ-He?)G%jE(jWR(1~$R83Jcar$pqO28o&x*Eqz%n+EtAQ@Av! +?_Xv&DH!Qg8iW50fPfol>+089qoSuniwlCFD{dpU>WeB-V1aByilEIeDAZcC=?~ +j;6vG@SDCHcQehJwsk?+bD4&g~O9CB9(y35XqAsP0rz5RH=W3S8O;usa6oQI6t#$-e3`x9{JCvu)R;Q +O9|6IMOh+sKwDi{@d%bT;pnJE_Tj@uePIB6)66LnwAnc7G(iyyBf*7sus{lq!9ZWb~yQ+r{-`QhXp2} +~=El}5Etvu{{1KT;G$Hswn(VC~B={Z>=;rSo8?jxD0~OyvSBuZ6ln6|9?)mOdfp)1u6C*~h*WqgON5W +c4Qh4bJG0DW4U;MuV;mW|$r1nwSp;B)tMeIU0c2F^IB<6gRpX%trY>Ew>KJt+ShKO8|VIPp7;K{_rS5 +J_r(q7G)(xrjT9x@BjWOCFrN5M|gH&1_fX!(PASqH3Hzk~GE?CIXhk1c#Yg%v<7gtwC*(Jpx+Eh1T>4Xzf}nE>dRs9Asve)5gexM<|KJcLDhcQl +0844BTW8>j{Y}fYT6v3k=zMpSqkiq+(xf<_!e#b&KG>{x}pe{UPj8lvdq5hyA@lf_4-o5t$eA0x~^nK;V`^hb%r1Uah#F?<_6%!+zGL9(c4{g(;~R>i9xD0N?k4@P? +AjqczP`@--|z4o*gTW#o|wO|Zf|8x&iH%40PH^U%<{~tcv`7gPI)y+rNCyY2SNd&IhW?|^I+0%jR8 +k+48PAssrq#^02E&<5XSBWs<2{M_GzL^&k(Df{afnFpvbKvwdLBfVJCB2p2J5i8G5SJe66091Z;joNe +-_iL5nhM!yTU7&-|*dw?mfw^*!%I*2tR90D=z4}`t_7l>SI(l_1V-t?HAgMI`=MI{+R>cxFns9Q_RIw +>bkYbH|XHKTRh{lhPNRm)l7ux&WrSsW3p|A+(f5TE#}bMDkT@{OFxnY!^rW3ajChWqizdbOx!m= +LGAZk?pj(~<0MrES6Ow}M*(_`)1@fRFPS%(eqME;on$GeqO=ub!s22I9p((QrLec0-SO~?l2y6V~NJE +2bSZ&=q{oV`+iIs~--MObSYg0@mTujIM6M)U ++r2dq*eV@XlwfQi($|tn*)$e4@f(dmPikN#10v~mdRe%oUpA{*3udvcIph~KcgPnZA=xHs;ySRF&)MYq6{T_XfPI4&JS!pR! +O@`B~$Y+@QE!-t10tPb-WnU;sUyHZ8*D~2~mui>B8PBNQbt-O1SFGTX3<>U;1`Zx52Nm$to8tpm$l?c +KVxnE$0m9+o5x}f?654qg4uVa|P&{RR)5FX&Jj3rMzw!q5Lg@!>%Dj-5ve`nm!93_Q?dXFd@(Jfh7v% +1j;U4jgE*%C;{u`h6z^|438_V)ec1ho)_+n(A=;1NIQESw_m9!tmU|mI2Hs7BQo{M-Sm#S;Q?gYF?9BhsKD)!7>-_};j#J71qoO4=f{3kr2Wy^Qtj^h?IYIcOy=wvu5w-Q8Bs4 +T~CN>nIV&60JHy!~n-RCB(q|xP9k_yf<-UPw6IZ{G!c)ztxmEa^)OAdDW-Jc*Y-#hxhiF(=iu0=KN#b +G3V0Ny>uy6_g4JqI)haQ-V7UZ@BpZHxSl*z1W=3;tp+`pDG*NbU^$kyj6pj0QTu2ZD|#R$SV5pP-dFk +cLS!PfgGa@fYh`HbOn)HHa#LExgwNHrtn$;fId=KjE;#U3ABTB4;pGs%$QS(wj3(3sr$pE9EF&T;@Wu +fh3EtWqbUGAQ_vccle>fjENW{tgG}4%CBA^29biIgyj%6>4PDGXKrqlSP8U|58w^5_HaYOXn0`c41q7PD40Cet8o{1HKM-nPgGhE;bRWC%ONvTVw1GWfNS2O9x|od%^qjOlJ7Gj_vF8M +GVq1D^EV2aC^{uHou~Q=du^EIT=kXQcq-?m_Wa{!vg9(M!`20@YrM3?a95;fWv=tx?K~@G%X#Ga7XB% +#uuTPG>eXb+WLs7$f-`o9c8FJaTNBt(TGgB9Z_ONw?j1!+%68rpc_kmh|Ln-3E>^xY8Rj@HwuXng6v5 +`H|gJfUPaPd-hCTI;`ZmN^%X=cel5Z@@+M#idf%dcCO+`FPq4Qjv +txnx9{EsE5$FFq(Y}9RfFD>hB;I=*+?$8xFdUIDFN=)L|46pk`AE7rMOmg$+ZUbijOKU%2H&)7u7Nj6 +q=;-b|I4o +cr6av+4AZ^)#p%jPnse~fGj6NT81j59TpOz6tF>*Uv+LOO3FeyPj~hi)jT|RMCV5;(g2$lI?$6SUF*6 +*3RR#ZoleP)@p>{`HOfvRBLayLd0osN@3MPvh~=E!QR&U9+^5`GP02sn<%uL_r;2#>XT#s4z51+ezBXgX8@b{%FS2sp +MI;+E=*Z-XLG#eVk|X4O2(JYBJL7PR=eqiZCJ3lpKvAf6+h{MQcrd3>MdM +uV?dJ{z^HCo)KAH6I(rq7aXhqFNMU#E-^t-GNLm+q&#ZfX++TCZ3DKO(n&;nsMg0+ntni7#I +Ay~ZMMguIk=JZpE`wvylVD-gRmBx8w@WT$DganjtZ+nYVD>l3@(yDRJJQY0j^p-7gbWGi*^+jnLFkN +`=^b|1Gr>!vn|$6zoR%nJkVv)+>)^OGQq7bCVR=Djblq_f}IXK#~qlZA_`g4u5!HtY|EJ^1yUU0iW?w +kfWXn4Kr{;@ZnN`zl$*fmeh{>_X3T&e=Eb-kzMEpSZnHi-(P(9{u~RTU1x7^uk&u1 +MtsTRf_k%L&OA1c_)R#AI9u~9hf+X}<^B~kV`-MG!+;7_X_{mOn{!5(@A_~t-#VNGgmVzU1a5LT4MtS_{wTlPit%FmXd1@0M4 +50C?HEYJ=0wby+)0i5f;BL{FVw~TpbAZLRTSyy>C+(bb2lZu<0jeSX~yR~>HUT|@F1z@ca>Y`v4{^Cf7%6eP)} +gb?P_Gy^h_IB3AxES0)FC}Kz +zq3D+!mNTG^Q=FMsBpJf{xtxRb(i*YITh0QHt-H+cvUJ4OuxtEEi&?K)+q^Q`ygY7g1QNqXyc!_yYHm +V5-rn43b)RPYY_`G0^;S{QWttgt{EEFgb}Mk79){zi_U4bu!GBRpSSW=o7lk;#@5-Y=0TIu)-jnBrh{DCrphXtq}&*J%KdP@0SZVcOet2?^ +eW@9@4rB +bspwwP4UN%!n{C3cA_Jnfr$(T5Fi{ExjBjb(k>2W|AD_;u+XQ_6l^8OXo)x^DXb)lq8$*`3cEZG@@o( +=w&gytoMt20FiDBH0My1^+NFK4rFlEqFJXX7i=coY1G)u-thE(Hd#=Pj)b+WS|^ +pRT+u0f*;u-X+hvowEN35b>6(!-(Pmsy8e>0bt(3Lo!NLA_-dQt`T|{6^L^oMuFTTBH8F)(!cvxOJ99 +1;avB=s_>oP}`WusUk*;tu}+ohU?qNK;ul?oZ&Ku6)o0tozeyh+4csHK{&9-Uhm_Z-v3?(6GTU +Qb6x|G&&VGpI;1?E;^bg8Y$cVOw*L}J8dPwliWW_zkXzQ>^=*Muvi@sU)JX0&338Dos}zx0y5dn{6R( +z)-2gJwUOS}N)+m@nOAt10o~l%w<~Re +PQ$U?%_wDlv^ZRfouyT?JMk{!#IX!lTjWLP#P9RK?FnFD8<8*H!7DKN<{0d6f8IR#!EL6NM~+2i=I`z +Dq)1V|OvOq^gOrsDj^sXqWKD=fR|0Y=Plc$O8X%(4r3iRKW2?gH99O23$~~6}G5?-z8*x)&L7iHJoQf +z;=YCp{jX_$ZlAS97laMZmWBYU_*ivx&nfd{{Rfdv(Q(1CP%aW6~hxEKUrj63NBEWdFvz$YH+004t6E +T?IjDq^Y)8q(`B<&0VDVzmSIEDt`Lrt95!#j$*?Cl5a5l~{G^aV8igC?LAZeVw3sC{ZJ^XZt{lA9%%g +UPM)m7=>Cx;$Bvy`tS*?~vYfiJ7U_EnT_#$k!j9pF6~P3)p&Fb`t@CQE4dd-H;4_0R>eDA +oe^)R(gf*_?^kQJb>g@oxOe~8XCk>5I$O6ry5p4Abinr*D+90syMj@dL(X%T^;v$QJG40*%?TdMb}G^M(lK$ol|6)(xjF3DUnjJt$U7om3r +BY@tT#^w3qRD^+aEmj748%LA&4~82FZr2;oQ5fW_LK4y~{5na3YHkB}sI5Q7yg+MVkQvrw4=UaMp5E5 +&>u=t`s5|tA=KHKx@7Lblqw@XYyZ`)d1S|||Pi|(jKk$>$%^X)$vT5+8rW4W)ux +E}nn!GjfsZS1jUq+W*=3z3u^19M-KPvm9XeJI`3dhL@4<_@+{#LQbYEx@4tPFYO +ZjrgX8H7d28h?<{TpeH97nb_kU2uz#q3?K4@#V&;FiV11-QS1k;BBdnq58>>k7h0Ru9{i1Y#YUFZtxf +p7a0I8pAA`^@b-Wh5d9=VVS7A_lFsfmT&mV7JXxt}m`rzVdxQrR=)RaKay9+e*q!1-*WSF(p>C;l-W3 +KY4%h&Gh2U*XQH_7WSAVp*6!_KK{z+H|%I@;{3W}ATg{LZ|p*PqckafY>IT%f*IsCmWD48aw=BTzUi` +!9D!n9MP}cKd2ZzErqnq%$Sj)%I%N=1O2->8pm9_R>28|nS8hGVZqO>-7^3iI9Fs)~BySOE>J&@<-Fl +2w6M=uwnHC+~Sdyfbr)%lQRa%Rvuxf{0s%Bx-ywt&(;9luf3!~~-ui`&hjq@s1=Vh}H1WUHD>W50IMX +Uh-qIr&9@FVQGDQP1!K6yu6M_A)fW~zJgv!=?*u?{R1->-m?=2jX?22^@lIHhSrfSCf`{T2`m%+6Zt2 +B(y9%G|9reK*&^1}KgZVW}&`Jdg*#z6LVXI+p^t3b7)D*aCtHUUYX5M}%k8*cv77A`l+1RFG=)2f$@l +;qxnLcL0)V;DC%VI_!+N<_+=K!W)wbZs@7fez!{jsL!K<(bPtj>EF&uNl9zA$PcI +^0vuS(4JF&*@L2vSz<$z0wzuJBY%ya6n;{yBCh_GRE8sLblSmxDUcedeBG +EUFKGJj{LvTd|21!0AnPB2{4p^a*w&b!pq~6X(+TOrX_U>z-2aHZw2*0aIlb*pNHLFh-hv*)i7ES6(Po_vsIji?L~9%)=RHE=W<3cy$D`PxER +>V^OQ%J!vq!WKrli|)wl3O4+2`Jj+q7Zt~o*r_UI4=UKWIMQ`W|_XT0#_DqHw`uVuzc~6n4zP4(7ZsXIkU#lRd{CUtUgj@OlYt6<>RlQsG~DSsS!Zqk}1v+hz*~5VSP%e9pos;tO;Yw +?O+n*~#54U?{wN*cd-X)3ODpeETs?4}@5G_(#CUs)A7^cYqrm$iu!{`%6%8DzxAEcvDrD>?6UX?^i)#8K;^eZkHY662 +jTf(}~*v(fn8{2nfv2jo%iduStpoae}6`VR%hZu;0IxQ0lrYjR7Fk`FWnDCdZ3Wm3qWM2^#&I>Ws{kx +JiF~(Y3X>{!CyPtF0Z&4N%|(T@kg%+Auqs+qvDtB7kFPdcjxj8&D`inrDe>xLTN*=PzZ^CWm7 +qeMu=NddN$&_IQ>|xhO5-JFs@l$ISNN&yv)!-|1C9?zlL@AQYz1ymLUtM*PFj}Yj-fQ$r9@9W7^w~zD +xy;DQ1L!FzaWjgJogqNxFrFXwawksBJ;P<(A-#}*fFvZ>IheRl4jn*g|LN?WIYQ(P%vKHn4lrCDF!09 +!Gq<({s*$Xj!BrK>;rM6HqfrjvzjwuiqNKX(}n1HDLAWkT55X&69DmwE3pXIymGx|d{0pC-JETbm5N- +NO~e^dh>^+akkAfY?zTkL5ts~PvMBt3g2}!Fuv|57l5!8IUDu#6<>^AYztXHUr~c1o!c>>MZBky1ck5N6(qR%H(+!FbVn;P=B^Ld* +`yR37E%%)iQ-H1gN+|@|WS=6_N97^A=u){r-zCI~soR9N}XcgILiX8y*gZ%zk$0zBqg=kIGtt(x}c*; +)Br;FO+9QIu2*%t%?MCg0_%Mq}Ha#4v(H6G5d>w+dnG7U*iI;aaza#L9snReo|;{a7fI7lFQ5m>#!ro=+Xfg7Kv#kRC +8J?SNv>4lld2UEs@)U=e&L5m2aqbU$)EWHmLM5DZ8LFvX>xTxfwZCk=5$3sA}kfDH#WjZ9JccZ>xtIH +qTs`V1*ioOIX^AO1B+YX`!0!{VW(MmeO5*(DcjglTX2Xy3h$B1~OAPibcvM8UK2K;`wYprxCi;I=zt~ +9gliu&csp@vJ4!;$mx)`{3bn8ATs3bQV*VKW5*?CXBT0bu`<7TSXrpX~umeCXqY*lE(e!Gb2cDTdN9XccKCdNkp*~n;T_&&gT6Zu4W7Rck%s}+KY!6OupAE +aJ;mee?6o$y+Z_EZ@L@b+Lm1R^54-d*8+2im7jFNPOeU!f;(nUE7E^RC-Pdwjtzg%Egt;EbvmLv??bnYk184iZnfG+|)EB!VPRheUc7nH+_JA1P9xfz3_4izMU +VfwjB-~tO*z8lXira$f@aP${pS#aK--Rt=D%MCc-s0upRc#|7CtJi?r>CbDE4+ocnuJ>!UfO8jzP72u +E&RT8Gh_gr!LYQ(VLp)rhw3Sn32Q`mkuXy&;8C~?+vm^|3DC~Y{o^sA^*~FatPtBjz$BzSy4?hZlTh~ +o<{KuAkdzr$_1)uM_GtIqQh#ky{X52d*g(KQVl1bWa(4_u!dgsCD2j4OA(Vo)QK-|cXisz5GY7znN>* +l(PfV=PBOb`{d|#yUsmv`bm7N%fh9hs_W`n-mw!q4=4EqfFTEiFa;bCv^d^j9d4Y5qL#PWLMOts$HxX +F;&ZSS_%U`6cJD(z^_n4SPqg@QihzO2yq8r9G_XhR2@o2bJ+#&k`#K`1jD>T-j98a(TRlsnof<-`uZ1x#-NjeBfxNmLhYA!cj-6nP!OMgrdjxYRMo?za$qh)~K5 +L@}qKKhRtB{3=7S*#Ia75Y{2T7Icx+^V=!%X*ghZ-~D{I+y@E(%v%Zfwr2<=9|Y_0Rc&MW(bJ0$DCly +wm)`8Di<4nyZmXr2eNf`QW+OE?*-$h)&3R={-Pcmj@;0X$jQ4#yhY}yxDLoJ{m3*F)*JB4E`XjSd!L_ +doInb|DrW~HVd4JIee&T(S$-ym5@fPGDh(QZYO!uAB(NYyDu2JTRVT2tst9+SJWy#er%6j-lQm?0qz^ +d0<;8utCFV#D|kRK)9-17Ao6;6m~_Qv%VEXOYaQJRq5nxb0I^rwi8P7)cfE4`vxo;(Iu>ZG8nl4+OKE +=proSnG{&FqSZ%IsUYm}a&TuIcXE!?0+!b|Lttb|IMPc~f6^EN#&8MqB&Vd$SV5)_eW4jC& +upajQY)`{mdgD%=63)|fuEmz3ks<1vMQM-m#+S2JDot=_fXyUdoRkXr10FE +Agk@TjY`*0w|D%kv>1e*uFegV)Kc>==TTiZRVM}NkhQMdF$Osm@-y#(<(l)jFxh(B=X1)0D$%LCD}}2 +3lpe-A+RpFrXP^ByeWSyw?v>-$C&V!(iN9O~)9Le*hxApC`6^i85kd{nY(oKs9_o3zd?HUqDVIOTj(N +CTMf4?*+9kurmp;mg3M!2&^Fe6e^7@}R3rZ`MO|x#M0qN=%n(i0bY7P;^!K`yT(5$?f +sU6Qh9%6bU2x)XvS4ShePNt-wFwUCQzQpkGrTN54!gzZ%Rf&HBw}BwhE&F@u_%B4stl@B1os(Quhq&o +>+#0w_E1mbhS}RbyWKV=C4ruwXO17uHEP#br{gsARZm#yc^iwPkq+rR{tL6Ieo43&aYy^w7T+s6@J7+ +9OUrqxOQ<^`*IZC6f}xuZ(3SiNLhIK=>gk; +2Y$SFMoy}hc|4N5X@$*70^Uy!O^L;Kqg{Aq(ctC;2fgXPOg3Uu71$k>{eS0+MX9cU}azh`bVD{tOksm +oI5tbaafe7`#UJA2I#yqxrZ3~j5AYFS)BKVcVa=rTe^5&U1QY-O00;n+tx-`N7!JlaumAu6 +U;zLd0001RX>c!Jc4cm4Z*nhWX>)XJX<{#TGcqn^cxCLpeRvc_wm97Lk))GM(gP$Iz9R$|4Qg}QATHgp571QI)=Y1&bDFW%pJ?|QE+x{JH+UG}bgxC+cLm`M~hAd6W+jc!(J?5q +Zf$v{H-cTRQBB%toy=Y5{{dH;ENNOxD&sZ&*_PMtcZ>Qqhj_nu@-48xe=PgNP_Afx?rF#r3%KKRR?@u +zI&rSvziK4@6_=G7~G_ioJJ(D0)lG~DyU{O{lMzym+x^Z#XieuMBp{=E<6m*45m|KX3;t-m2FE2BWi@ +#9Ci^~ImuGe7b7t34Oy&x7|354}D=hrZSM-=*(2=9j^H;eUQPzlg%#J>O5`-`3%W^!G4*uekU7KE!ur +on20bS!zgOHh<^RU5U7E#%RbiWH8LD5O`LLE4vvUR`~1Gse#`{hDl)zG(GWV_8KVh{{005Bs-cZAi^f +!$rt@+>1UXQ6s3WA&h-sMeb&GfrNiq4!%Y1LwBPW>6@3KtyxZ{Y@Hg=5xA5?O?@xM#u&w6HVe$dR4Gr +t=;qL*Exq91gfWOe?a8Rz}1`Ukqp%gY~I6wayTOW-H_4rVfppYd6t+ +kMYsR)O_1YNwJ8kXC@Sh3aY}Uq`%UEaJPyAl~v#h&TKL#Lc~CmSJ|8nZ=ClHOV+$*y0#$ +;}VVmmnO#viQ>Wti5qKw8x+Ipg+dqe +*Iv17sY5d>XLN3?t8PaFgx14C9vjNC_odzCFrcCHECZOwPDJ<>{JW=P^BLFAVsR +}Q&!44sU9@iLVm`DRli+BNO7$PTyh+$8=VrOhz?z%WDSf`M);P@r$uI<1;44VsE0iC5efbJS0jUtd-le>U!ipH8&4(i +PtcGqu=0XJc!Dr=B}ipJTM?w)ZB6eh^GpM3dpCiFOH<~yEbS;Jsk;}n@@+dLrd?8H}{@Rj_PAlOFT`T*P`qv{jRJ$D#k0LpRB#t`iRCl_~&o15c>$B0KPlf)y-?Qtkj#4_!1vjL+mJ`&k!R +JWk_u!2-a;8nEyVWXO_hS+R|khhlF+{UPAD_*NoL5~gx45CS>p_HF1zL01WN2|kp^9Y_P=iv>(T+<&v +`qbR`&Zr@9^>Uop`7BOms90;C`;QMuO;nRBYRz@D=CvgW-G2xj+0#wLYUy>?(swcE03Se!adMOoBz2r +vVGxuPZuNO+1qWYQD&7b0M18L?W&t9OEuNUnzg=-*-xM-%E+ZpoZ{~c@fFr;dDplWSKF=B)Y`Z=HP@7 +U@$(i8Kk|9$Too4`e?SnLF8?3FwhU;+|`!K6rT6E{j4u`3CGm}D&u +S++Zp?L%ro_K%o7>Zy01mROf@yZefX{~c?MreURs`=U>V9w(}hoIH_q}^0TSQ^7kP-5?KiH~Ix9bsA; +UC?#Ir{PLbF`$+mgsqMYCw|eOX_J4+gq`4la-M48DmQSQIC%fQq$$k=8zi*1m)S`nnJ?GVB)vKzDA9+ +e?{{RHh*h7C`@PqMAoA(2KedQrAVU&ZP{h#o>Vp35M}sb7z08UsV|}1Q_^R;eiMZS+(^?0sAjL{kPC`ofL|h7VB1=&2`Fg6 +{E>mu$81rb#84aVU-4w)}eq)foiS>}@fWJo>E9VQW^Pj&0U5N6qO1V_shjsA!svy02%V$bN~q{4*`T=p{ +fz+U>^X%N)~C~C&|SrsB*E8GmBiBjyXZoW0Ve14(m(oLOvnW6X^USL1&-Khm|4Yucp1G?1K5*3iZC2h +heMa?1?&2?@>uQieG0BDTV4pK%kTR0i-4(t5gpVSdiBfhz!X66YHcRawB}nZAyW!i9v0|3Mw-hPxVHN +lnQKVhIXWpH3-FkQb5tb{9Z4wvM6l5{dImkbOm>S#s2N9FR}6l +o(X-H>*89Xx8}xV>#7C#L}#quMD(&GwOob7E;Xmb12wpW?$W@>9Jeiyt*JAQ#3W3H|v#7qVN?H0Uap{ +0%z3MqEFPx>rexm4hj&r3<=jw*@|TIIX{A;Vm{=7%uQE_GIxXz#|uLKrP|4+$Gg^2F~z4wYU?aAtEj{ +o|0jCDRu?c#NgDrm2rN=>!ED3{QBs=vj)o7T5-3V)&k89e&MrP1@zi!o&Mt~ouI*H +Q8+G=y01cWOd!B^X#&N)qGNTj1*<)5di8{M?Qh@HC>j2%O0NoToW9NKmjM!*pglnU;)ws9-j0b`#|#G*#*XNaVQF$fXlCwh?PArH=FD5|5-%QZd~hx +zZJg2y%X0Y#a=UbB3QnaQZ1@tTsJ=ONRlAkS*bpNqT&T7Qj{nqa);*ry(}2VmqOe&1Y#M%7_J$SZLU^ +ApJXkOi5MoPrOqQ6-it_KC6RkaUnT4t8B?O6vciy3~roV6hX6#1$RLK>Mf +AK+5u3bQ?BOFAS@lp#|xoh6UnfOyOhJK)%06mrC>4Mr%$pk&A_V0M@>5v+uxW=11GuNCw)Z;8{&wH(( +JKoHN9$;`<~q4?S)7#={e?Xlk?K%*s~@*jecloPD(qoyy|SK^i&Mp#_w({lmpoHF9Z|~zH$^w*^+yRq|{Hd5>AgdNmbCKT^Q*o*3YLE@`^BI^k1# +`A@2jG8OVYsPrn5pB_mg(c{WJR0FVV{IRe&V$l)4g*)6Cj#RIBvjo(sNl2QPXe3qL`%BLbqcmXDY70@)8HSVA%cgwdA1N +5w$6@F4UW`$1+d>WPZwZYreHId+LBWv+_i9UznnHW}3-|-@0n-{$QK2!;qXFMncHHl%ne5|ew`sf+2{ +X8fEH(!;QSWg2h#O4~P(D0Dc#i-`looqvzrrG})6nL4D9XX)zT`RYNYRON5X;i#`yl??|A)H??QO&6& +PxzZH6#Ez`<97R1&k+=YVC%X8r`!(noKzjRzX2?`ZzA@6s*p5H6YH;xk&)HxkhdauI~k#Mq7w`2o%l4(C +Y=Rx1yv-1zl6FW^qWPuJQn6!{J&}lN_%d2`R6SlULNS!awNDLzWkEMhDX4skD-{$)W&1j3x^h$BkAXu +2ee=vTCx}n8WZnpyymg?#N9J_Rn#7Dn#utS;zxXViDU_+sVPf5@*h)tHmLex48Xa^TtaxgK&Tkj{l{`JJmlx|P+@`C6(V#GKNC7fb; +er_(7ZcTn8Td?pq~e>p>jVb_A1JI+r}lUelM<`wyUxAKtqq0C +?%*vLFdIw)|wkl(pt0M;P#Lgv>^y0+aBQ_8^T`m!bHSECV?%iG{P&H2h!=)UN5exYP*QN}Ggu~AiL!~7S_Gv&NUa1I-e)xqhCwOh%atIFSyQ +``-n1Y?FsV+~VGlQ)AFQ|hut0p286=Fx(&R5 +On#VM>IdEj#;7&fz-LiD1M%i6icDEAkCs0oxXOHkVv)O?FHtM>|HDg9G44>ADSrf$LD-e}ml`u +DG5Xpx|^XE>aCm7!FHj#TWZjJE7VUFrUsqenhvMJg;XZ+J)Tp1F`!HsDVMMun5^6@;0al2B$?_Z)Ivc>dUfW#S$KKYkC(XTN~VE~G^(@^Bz%1$)Sg#dLQ2NeM1o)$7ptIZ1JmzCrhhu?3Z`F>HLCw +xv})ZdW9RT0;)sDy5l4)|d)TOZQ}t2c(OWq~UvByOSa>i?9}9a@N5?|xaa=+0$i?yO#SG3J%4RRHzzr +qEeGtL_fV_JEs^zA>5&5f;ugx7OR~OL`bWV)xlY>zz0)h%w3d;W(xi=HnSmZAI2mGJiB3H25|b=OZRL|U-6?#I3%J55RKv3{|4gd)DzA+!i=i} +tX+i{u8Y{P}zvrDK=OJ(}osxn@#n2L+{F7hv50F~;e0<+ay7_`+W_x52ook1YW7;=p8&!3)%HD`1W63eCr@t(-d +GfHbNcDXI3h#x%KYH>UW_E|Q5DYIZ+&4fTte?l*g+VoW1nR*y|c@lRe|2S&=vh*wG3h0!Pv!uhx~ap6 +hhVrJ`S{*gL>$Oj0od^8+Sk<9_r_~eV?r!&Hzrpo3t)Du`>6)^b(qjVEwzpeQ~6J*%>)>>PrEas&njq=;eba?%O{sd<@&X@V9g8Dd*L46|PVS +;j2*i}9SsiDJm=B5P2>IxWpr8a#?Vix|pxX<0^d(3XQ5I-`^pnAd!_McuBdg<)tYMO2bOvuk;u9h0}3 +MU)qE8Yk#^XeBeg1sv@4UGt_aW^5h@NeToTp?Zid-JnpTD@q73pG2Xz>662fstH>i +MNojX&3N?N1fewGg00TkEvYipDhYd>lE9nLlmBU8O?y+?&_JSG2wVa0N;Dg)$g#K-T4z6XY0j;Kx7XmVNd|wlNX%SdmjPApI2SlhHPJY-x%h@P7J+x>hg6Lnh&Z^w?` +XV(u9`-jeFzqNnkE{#z>{?;T=N^q2MTwPu2yvMW?P41%dBR4i;fxyO`b5;HQ!R9_Qa)3XMh=mG)C(L- ++Pa-#2*<%3eMrj(CgOc&~_EONC)+G3U#NLyHG%T%e#N>_^fR$mcLb#6duJ41I9K{y%EjYz5;M#ZVyPN +fPLd>y49j_9CyZ%H1%1{V!c2d;Vn$u2AoR$LO}*3ILC6)>bOrP8HZu4QK;mpX5+hunfImo+pjoA(YlK +$)<(Jmhg2U7`FGH*R{A@B0@JQiaN37L``!KiDJuGT*bDjta7BgYP-I0zu=12~Yrue*%a!5jS% +TEP6CfT6{oLYFMU1JPG5mz^!0p*zJB*AyngXSpzjjSy5?ZDSqh?SL6nwHn-uPCa9Gbz0p@!V)s=KueH6ohAjL@TRsJ~>F`xB<9Yl>@|w1%<+*J3) +Avc$VkE7ayFuHaHPx!!SFU~09WPtRh5txYThB`NjIG0NeiJ7)e!^n$!u1X3f>nPPFO1uq?ax{b9cF%W +rxANDr5xQHvun_!Z&p|gv9%GBn@*Lk)Pr#o%)$^CA;v`1uok87!+FTZDqR3xF0tfcY9I8GSK%!c)g?C +_d`)%-vra8W=P|jwz$)EeU=6}wVYl1krR;K(bJ+HpOIlAzil!c!)YjH +{XZ?(%4`1N@wk1i6+8(CYina<&_8aU#a6Ju0M0~D$u7^ +z)TGB;xQJu7h=dx162-6R$KV-K8+~v$nE6cv}n0Hjw11jTJ8Mc@>;cgK=%UWDi#`e9pps+JGI1Z;acu +g(SL=aeS<89q}U|nNOWUcSzv{(&XJcE<8R +Qmo5aDvaTIYBKFqj`zRfVWhLBL!REv4tFK>mp(S1wPC +0z)OoKVa6%&l1J{KU>%}2ewW*cprE{ia8g6e2d1SwZZiX_M3CpwTeVhP6I}XmH6)u_1o8_qTLw_Fma4 +}sKu@4CxsRd+-olV8%&mgNAZK5ujE)-H)coTFGuJV%4K17>tPBN2J+oNPkiM&Mu7e16#>gK!TcL;84)&w`Oa;maij);WgZw3XIzq$(4xPQNZy+PHuQutI}K8$tRg%4%oVQlCwd? +*=*v8lW85q0+9*mY?Y2bp!(ycs9yI04a6#J^!UG6HES~`_;#0&SvoJ-z^ +KPm7lvH^)#0!h$JJ(6oozcp5kDZ9cBgO~OC?pH4 +lhDL*GacIIA&4Ht?T?tR#+6Z-L()lc+<{pF>^&9c1#RVyt@707C`V_UeJ&8%~O9F&2*j5+Wh2tM>;)y +P`xHAcT&!mq6dK!dq-`789% +%>SmbE={2XH}Iw8G~CME)#t7ZQ|?tW7>Ow;d29I%5$UHx^kW*O&XvhFM1BC#n?hQPL5&LPD-w2z8oVS`5>E0>4sNLV1WOwM}t(0kB^}b +x)l4t>WPm~FYw$>q|Gw3Dy1sv9i$sycVj`LjOk#-BpU+gb|Nm1d!{ki+XR!+kC +i34^23w31Y5U#UA59>ejqBM(TRCUV7@H7DuP?ZTCaoSzhuHI`7&`sk>B8v)Y{rZ;N;H0DufCh)=c3E``CZD(Q;?VE4qwU3cy1t#yo+;xsBW#kCGPfUZjj!D52NP6h(3|S>S?*pex7@nI&z +H^4h1XCV%*#yxXF7}=tKk7BkTbH!2R~Yu9_;8>Yju7eGcX@KD^)P$-0)xh=X$wYR>-xfGa6biNy;|;pPQ&HUA6SNqs%PDv#TFR6cr{gIQ8Bsaj}i=MF5 ++aeKG}KTfrs^ajgW^vRhbH(KN>i~T}FI%xf-zu1QwGHw$?bL^)Z2qpU!{%X{JXvCKfWYuiRU8vo=#9n +sPfQ*9ynY0!qs$SujwrYPJRn^f@S_$>Kp6*I$DK46V-eupF9R*=BW3W@~HYAqk$Jm^jQASt!Z6}*?uO +mcTK1P+Zg}xyJ)*TaAyXCdM_dr}`IK=qGhR-QU&9C*p=NMf+LGgE)Bb&f_Jp^5XJw5uu8yCQH>-0Fn +;f$QcjK^KSd;G-3`ni%$p1oxY3km&Kv<~N!cEtC$XyT!nw>jQP_-A +nxIa}SS^p2%&OEEABE@Deb{7(n7Jhc(-_th4Ud=BJ}p#qfPk?zeCJbrep*C_o)O9cY)s(l)cSjg_`p!XH^P!@+IV-~RTuFQXEG=UghL7QS@^Gw#SSv|1f^3WLE%rXlMwG>( +P1Wx`-W7&Z4!O}T7nc!L3Q5trRInbq8GXfpM}#OZOEHm$XVo;!8eqYeE#0-pnDTL2^STS9zM@R=_lg4 +^HD?Kj!mH%}}KJ6yq?S(xt6UqRm2j^gYnGl&smOGr2k-L(l%E<+|L&jn>8sEc}~TbAIGu^Zwc7SsrDG +T956+~f%5+j1RXcr1XAIyoTFzf+(Bq}yXoEM_2V;Io^SrcSf&cq|3cD&q#iMm`s#@-Ye!wLX@L1XI#l +e?dR6tw)p<8X2R39zgS7D3m&`rQh;X_zbpWW3s6;_`Q5_Xwv44rlr}_tik2^N|tzW(q;<=^MlK~Tdj( +z4S3o9c0*fY0rR2bl=m$@2TpI_=|$W1D-=z;sH1x227a2j{eFhOO5W_FT53LVby6*r+}evabr$*WzJz +|b*(V7-_G0SoJ|Cup$(}K);)tdyddLl!e-{Etl|Gq5LpIOliay=qeq0uMpaA}hq|q++THVky=%jiNpp +mATVLXTIL%j0o@v{?`Y +ZziEO!j8elV2+T)u(lN<2_U(+H+=!A|_o!w#^3+B8TFf_#EDAX-lhK_&?xfe~vRH@7YN?lND0Yu-cmv +5?|Z +De(srHQJCP*f?uE-A)-<^n5mA+B9bP67=bbRgvT?#6*IJqD@O-6~oACHAh=c$VOffV|cReNKLi+Z0aL +US{T6yx0}_FzAW(MqJM73Y_6uDj@P@++%|wArGB@UYtb_{*ssIF-XbTjWaWLkSv^~Hm*KO#>o}FQf-{ +LNa~xYTGsj8a%nqNX9p@a7`eb_xG$N4qtn0z-bYI-ixmDnF$BxZyK`{jDPwo%(YIyy)X8|-33OC3p3- +QomzS1V>m`emg=mLDXi6zEL1WgArFm0ZTQ{U(LQG4*5zz<&D-R`1YwH#k(>_t@s7+RT0v*lCidP@Uic +iBhxB6~kL>qBv6+va6r@Q9LY_LXz{N^Domz!LLxyY(d6N^ZSSzO=Epfkm3h>M7&UFee~jQ3w69-MfiD +Hvg(GlPCQ1FR6F6#B1%r6)g%Ru%5DxG->VY~ZD_fzW6mxYiYQvbd<+{7{?+8uRJ0Nlz0W8U{rVD4YmK +tZFqY0D@BhpYjr2$T~ghYlqc9&vFqGuxh8Mf%N}TwLo#j`!W)A0vqWO-2KKg6%qbNr3=ul%_l#CRfCA +Sl04yi@*@Ye&{Ytc;3At|hi=@DxkzROwVNJ!=`w&-qX5lL1W@-=yS8*R{^r-|YVac=En_)kbjXh!gV6 +OjlwD*T0LYKvcKs3DVK0oj$Vdl9b?TwM4n&6e$=^EY;T-u9Y-s5gB+HbNpJSb{Hje_gsQWRAyxKueA8 +$(%al1yuadH||A`>cs>mLYIvUZpsFISpJqnj{Vj8d9LJ>?0Giu2n1H8}H!*s{{rW8Ydb>6Y +zubefu!YQtCDzP}acxCxyWc}CLM}8kSaqacyfA6Axn4Uiq`lSw9`++_p}toT8I`4L?_Y{5YL-%myVtxN3NX-w<5Iu5c +|UUm5h1D+tJ&(baxIZ5$7o^y9Q$H)iJj7T@G+{+e8K?)aDr^cZ#5NctvEvY!`niTZI8?3Wstavwc)0k +pBlH=Cr!Q6FU8VObS&B!ReK8XW78Tx^eQ{RW5Q-x@A+IOeFsaqC@+)Nk=O{?TZC#%uNY2mZ#tVJ`PKz +B!qh`nr>uxLf;me`Du=0zVxZ^*6307e0c(f|)`M`2xPA1&WLM8&klY8em)bB9$5IZTy;^XEu2S^W-U0 +1EB|}w52kduko)w!n#mj<0T)_hWsO6;|rJh8Uv*Qp>3IX%9>1OsJx)9a3wRSxqYKPNazV{*)$$ZDLl= +J*;!NQw9hu>p*q>Z@1&AJ-mWajswzNen +j$e7hc1+Au{|G3MGk*ZuC|C5RDOzhVT7M3hsEw0@`>=plyG;d$xM%0C@BZqvlcT04s$-A<2Sn9%Skbi +XVy_XzX{Ad8%o_#&9<`2M4MXa#nUlZT-=)|uB368PuJPHABN8*+dfP({MGOoyGWa +4*&}i-Uoc2sF7PS7jeMro0D81TY)5xEDsCIJ>-W}I{q$Il0sLM~1!&z^(AdS&)pnKQjLu-IHBNBE!YSd!9oA%kzAr`YdTtF29qBT +Q?i%mvE~x-Usvd3H($?~=J4OS5Mqu#*Dc+RDnDL(74nMh$d!hA^9gUW1^MDQHdt6u?Xx*fkk`CRk0DL +$h3RnmR94&F$AsxGg3$wn(6ZYyBa7+N-VHqw6p(%~0JREKfBLFil(wZjVCAMy>@{?E@WrMw2~5NNHlt +im54oNUrU}!$J|M7UrjZdlx63V5pPJ4#UF9T+8nvurQ0aw3^Bm1C3)prHj-3RrdCcdBMd7JjjHn!yu{ +6l%WVff8~d&)9R<@CZ2{y@GsA?6T)6}SD@GrNSvgEWK)oSa~)D&g5y|zzCr3u +eMKdIUYy*uxquJkn84De-8Aw1~)a0RfPk}IcaZFgWJjY`T615{p)6gvB`1E7&ypp(%Sg>diijvbjT9a +~b%VvkTezyVgR!ijP7_6bmUL-rlq{!B;H%OMLcnvoq7xc#qlhb0UKI)p4j-a~%E!@SB*7Tenev#CpQ$ +lO5rP0*y-Wvwf3N)hA6t?4@^$Xx5n?Ac{v+$1DI*OV1@DdPvbp7tA7;7wmdxSh64cJ>t3_MIRoD#7UM +^D|@a$iX9-Az@zPqJkjqZi&^s=!*k$85&R4BdD1cz%*2LC_)tkw0B2{|Q>oPr-0;A6I&)>fW+O@?wEa!#5C9H6W-f& +|XdPGM;A=^7HKe}aJ~BLhu>G0kV22U3xNvW-f5z07D}&?z9&Vn0JgnAXpqQfF_28UN$1q~!dp3!U6ze +$-RqKjZ@6!;kg7Ozf@^x|xU*o8Rht7FG2jfTdm)BOtE-(4~p%f9o16uJI|3=Eafi!`%wo5JZ_|zlJFQbf4wy~LbTo6ilE(4@H&H$Mfe|Ekk=elOnwOjW>_X! +7lX4X~|8BDEp?4`BJf)Jb5G;(gfAue2xN}v@x=E#XtZOJe!?O3?q!4$%tE;cF!#a9~EC(ii^whnF-fl +O6YzHXqG|w#flG~IjDlsR5irX;GL#xRW|Fzn(e>8bKc@9HkDC{c$yD^&-BPRV^&;R%*u1-26$}0;j=o +1z=$=_=W?IFy +a#;@vhzs~VdU!`VE{0bRgj +oUf|J-5Cr=?UL1kRVEFcg6OP4l$TfSILK**Uy}X{|6*SFm7(CFvr~wcx^nTEU9WxVchw4%>&eK5jcBp +GOpwZ0HNAf?f$_r#3A!Hz_}Et1vf%Zjs_2Sgm9P%jl-882ZYk?=i(iRpoC3vwo2`SvMQiY^6mo9|(xW +p`_zvV1`fjYjxu1LVc7B1dHM|nrfLiWa1w4;ptb}=W1>ocZxKDg1YlSQeF0tw^nG1DyTx0r^bjArP>Q +|^vVS&i8-Oy6wM?QXSkAp8+R^p%PE{yAj1@@{plxOG@%m26VCaU^rLE4UkF86(Wx<_?2~si;qt~iV@2 +7{D@EB69qhRz7^!^cpAltl;#u)+f@)x7jG(%G6!VIAzEx1Y{7ynp{pX6Lpc-&k9DJ&{g=P53bZ$Pl6g +mB6dL00a#uPCdM3$PGxF=ws%;NCKeR3KM8$L^X2!s|G_!dK|QYLvhmEw?h0jTya78?Vae;k^*cir6sJP=H4ylD_rSww2QN_W5K)+24BJj?0u*3`AiQ!1258N +oIbngv!6cC(&t|K>_n%;4P=vjy>p*gt6w&0n<+q&z;`0C9Zci*y?V&dl&w($jpVLk@}Twp(>rtd@W*a5tWE{LDz*l&~HhS-0>cQgIQStIr&=Agk?06y!*i`NN-G +UyWKMCV{dKm>afeW48Q!0W+swo`+Tl_2o**eoV?eFE?7%kcK=c(W;9N`aV>V(h;H +BZgz2vRcFAOF)vxeY``A-_PfX@y%S|IGbn^O7_?x7R$T!eqo&Hf*uXlYV22RqW;#{zbC)*V~_tI#be)|aL?dmZ=0O-9^2J7Po}Zte*@Du&0y7V}nMfbVIpu3X?FFl +NQ0`BBPEh)LsWnUYv*v?F*3@4KZ36Qx6av^#JtfT1QmZp2MkgvC|l*ar|CqzqVubP9AZqm($( +*=Z0{KYz?#z;prYM)+N&y*dtg)b?=J|o&jptZmraA0`II!oTBEWeK?Ypw0eoAX%Jc?HPI8Bk3QC;V}k +nfRGGorv1w#QcIJ*SQV{d-;GXy!Zn(C*iA&M(_1 +t5JY5Whk$3MkY`}n>517iFEz5tmv@JmS3$k8P2L&o9%MIQ@ziq(^>Ec7CIvr@BCx8TmdMnc|FF9(p5! +5~ps?Nc&EsZgWU9yBKy$Po=7{){9S;b`Mpp2ltd59G4A>>iH&8JESzgY@`;;MKU2?q1(vZ{NmhfSQt92~h<+zfeA;XNaN%QLyBY^QqOfDOi0y{@LUEPNxi938$-PfO +F4~XrhAeh7JQi~la)F-f0eg>N&9-G?yR}`@PG?5MmM#$08dDY^jI&4i%y?6*K`U4>khQSz!sw70yt=9 +|V^d5lbRchna8=EwO&FQBy1Lw~)q)UNFHgYWw4O13x`2}hkI4!(I9V-y(J4~{7HR|IpEpRPc(SxK2Y| +X%NBme~!L(3uj)(}0#hTQ4}AiblkC<-th=%ReV9i+gnF3#%qcn+j%$(-!N{XuCAycbso`(bKFz{4GA%`!>@U)A%aJ?D+ +$*tvEFPkQO}I~fhE7apw%sFB#=lGuCnWH5bPV1>+-2G=wt>fJ$8IZ7_dQ1`ORGnVBcXm(H622Ln!uUu +dzBl+AT3y#t&M1{MJnyZM7wCl{r$Mns8y5MYSSCUU#B`1>`ajoCM^u*mIAADL`tnl2ax#|yYe!RQN%I|5Q_og7(Hd)cl@x`*J&x*Fw1580|6P2%a5QZoiCEO;iK&+(9TpW~EvJs!jz? +5dd(LRA|ryBuFPT6Uhc@Hf$U(O@&P8t2lLS+`^DLA~aOJ*2X|buY&^>x``aW7nBw^T%M{T5 +$HGpx)n`Gx%^6qQ6!)+ix?4ZXs4D>ReG5%n3trf&Ynk^JdHPEb#Fqve%mb85K9s_lbUW)n&gIBxY6>R +{a97{qxo`k@Q0lZW*vwyfLmqbTl{O}ojLfaTd_p^^*&`wY~@J^cBNDz}7FDcbXarM6Z&R(i@ +;X&6@KYv9n{$z5t9C{bEpMUAzj%}ChlequM6hnkA#J0e_eSW--CAJI|5vVBoqPFJtMmfw(Ob=(?1^|) +@?ubQr@@<;Y-gm}VL26jSX^=`F0kY6oi4XqeHWL#BK%^%(M4XxTh40em2`ZOD#TrWRh^G8Frcmrf*tO +n7g(XXyd{@jzGROG`}Ly&bakerc9Vw2GJVhDs0pS(ut2Uy- +=S?-RG*Tap6y)TuAayo=GU6;InsPkpB2}|yZCymAcTU*)S +U36(`#2};(G$9KbgiO4}YwCcb+`v!t8%gL^+~t$wSDTUSwthDsS_lEdGvn`k68$NKcua29Sx0L2y3}=A#A@6_8&&Wg%S&2&)<64Jz8{Mou9skHvY7OP1pkR3Ut`6>T8iO(&)8eiF^Gx3#H$~d0J+ojGOLri!=+V}BK9Qs{A2_HNU`CYqqqK#|08 +TGGacY$n_!`>1r%+4W8@MZMRu}2%eXb#h_@J6$Cqdip$U2Nba73E)Ht1qSq7V&NtH}+yZG{T_W$PR+a +E!W*GExQ|RLh%C21#qjyUr-}&yGvYG!h(KkX}*B?xBgvb^|>50w5 +i5yt*i>Pr7L5yq=rm1U*DL>OHPltraaB*M7ysN7KcvqX3YhNqYAGwR_WhOp&BL1}?`y-Q8=b|4glZoTr3(JOaTDxMxy)Oh1-%_{MGr82tR)Na|!dLX%VZxO%h5Y)oijpiRDarDX#c`@wsL8QSFnU3br5b4V&!`alp_z{M8 +mSaTFqHp>hQY1aJj4kZnoxeNM)_rMlUwO8p-6aS=~fR&+Q~B#XFe*$sM&NL-G$p#ih$(&66I13m0sWZ +Ch3I*lFxS`RNvR6*QQq!SH&-vtF3NZ$Rnl6U&^a2QQZH;D>(Ud9NbRUEKPvfplQ)e0k4L14*zi`w=-0 +M?lTM3G?=E?9jUEG(0MF7rgQrvt_t$gGL4)Q)HGb&1&y-WvLjV>T3QViPyiIya)!T|UQ7By(@;L2(ln +GV{1;#{x80^PIKrWsTuY2$XwUKHh3P_Sg>rtG@>iPBsZY*OL8n$ht7@>FDZ^`iDi${_x{JSnwY>(NHf +GSfel5WYL(_tpf?4iUvhWrHXa+O_+HfKUbNKirv~c5Hw?TtCgmc&y=s|uJts@InxMN{DUl};VmvVA#k8c+O-zp42*R?iAb~vA`s<3t3(&W`G}H=Ek-81$lx=5{Bhf!?^40b_W~#Ne2BLv^el +oDPAtR@pjzAzMyWrO^$~@H3rR`J=`$gMH&qBxTF0%f32R~G~)Fjf{sfG1Xa6x(Bv#8s9J;+ljhDgrs| +2AvCB4K|3JGJvcANo&x}R-%vdD!dF4_o-k;?06h=HJ;trSFGnpV=rFL05+qGpdONgIEi$Ae0VD) +a*sDkZ274U@G0!ihi_cIz`LaA&&yojk>;U(JO(3gY@WWi+?<$g)oyue^f4S_+e8Rv^Ns4|eXx3*D6U9 +&ERon~(T}VVe+FbEhJ{KJA1jzVm39Uj3b$L(A>AIs0sV_CX=-@ST8Ju?Efy7P&2J94M#ZZfj0aPuV;|&<93~M6%0$Xg9pBZBr$YB(EF +)HF^nSkNxwwB3IzjF};1OCd>fQ+!CjS|0l79zlJTL#uhpdp;k4(X#Hm~9!hS>%|T7%8PLj6yT!|yst+ +M2)DHViYo*3+dnuZ2jVt9rYC@Gv-OD=@H%@`k)%ZKz9y8%l6E$b+oXank+MBp93NMw~{fjY|N>wVmt~ +|wh*Fnwn`tp@A7S}u&!2?cflSl58YR|UTj!3ofsPnjX4M!)RF4dlDbE;M)BkDYbg15C+4LZ-dNZ(@Z; +;g_2srYlcO`u0Pt-|<0r*tzx&SF!C~F4&l$THt}Uu{G2L2pDa0mUSwjnO6DF& +xD<5mN5drc0rgMmSEfMSK++>x2GI6uSME3zleDT|cINo4c=^RG@OK^jO@lwHNF2iRC9C?W{OnbxN1eU +szoq2D2lbe?zz1D+GD)?dF5t5L=^-_Hc)N|C15&C0e+jY_m%R9urT7EF!u3(7=6AgkKFo +B57CvYJx0Ny}064Fd0g6D@qx`kx2m2E(ynTP7g`e-k7Sb^vb!tbW(%^$GRXMFuXCJPn2BQ2#Ijb8)*W +ig+)p;!)ThjEa?DjbL@y*qEEfB?aAlUwRBd=++*d_w1Aat#GmqbLzU1Tx +|+PXk1D#-bh39JDyH~jO5}O08WX!)6ZmrJoD&Y}kk=R04q6E$=sXUxtrx@_ju4Q5-GFTa2x&ZB5SrC) +Zx;%o%MASN=Jow(dD85V3-W$F<1O<1Z`;%!NqAM=vJX#^WYU^}z>U?Lu_E1xy?mkkf5m}6e{}98`ddl +ex|J~?{Ei%a3EPcFft6=9M}TTI=?GA*vIsq&q}>eNk}7wK-7`jSHAipKnjOI09fsDWM)TLwAvsuXENI +GaYOTK1wEj|6YqctD9|$*bEqjc3bE(zHZ}1!4fd9mYy703P36sbzP^abvsMYc=Nc^`iRW+tkx1}xyUH +G~%_NRYN7>$$b#m275!UQ?`^a@P*O#68O;M}9slX5<3_>jUv%-#W~3gyp%@{iyUeVJaw*k~0v*?D$WR +7gp$wkoD{rxloRR@5Hm%S(~D_-jk?2aWlerFb164H>nNnW0vMnGvS9IY$gi9_R`O@h(Wp1sM=$RLt;X +^uf!uyhu->LOmQ(V-FX2M)QNCf?-y;6vwr8cS0$Z5;=W89Q2#?6}w#dr!AScAJ +ghn*ufwTf$*4uL8zP>EXr&K`9Hx3y#A@hpSU>jhHmo=MkCGmrAey)@!yGj;E1dxUFw95)6`L1z!r@y1 +g+)wq^T)O*ax`++aG0ItF|H}-t-$`M9bjjg7h&3Xm#cN_tfd*oia`EBMN^{VvuX|b@`iPE_iTx8Q~VA +UdL9fgttXiLP>sQ%M48+{u}N8lk$2Dr!ZP$o(HA68di#p6sCCnMu2I3KUwFapaW6zFQTP9p +rt7P4rIZa`%P=)NMY0!EH9<49nf60sE_rdkku5of4Kd95Ea1Jc;l&T3DS`T9FBZ#DA>W?Ts_kC(e@(t ++aSO~?|z2}KF8&TN!0^mm| +gQB;9MNjhUPe^AwLEe9mSeDdFTuY7D5t{~5s-x|{jDnTT3HmH%YRTov29$Y7X`#l&W{v2NwPUy$?>MO +B$A9SAngLT3LvTkoe%Cmdv0$UBpey~a!S^X#NN*br~FyL}#Zy(XFk8tp>OO3;04^|)#%5CJXxc;jd-D +5AmkwI=oK?{c&CAgPfg9GK4H1_awN*cR0%Hkchv?KKPjJEjp8vOapuZrdT`GYV5 +sQm{x!eH*{_tj2z1=9Vc)0VZQTYTSxdR!6;maJD$}31CQCs%t4-XwaOHh(H`A-=s)lXt +Wd9TNzBjAvnzKT76|5jRIIfPdU%T!NFR?2xuXM|@ApSKeKRzbk9j?wSCoIe2#+-dd;f-xaqO%vJe +RJ6|w&)Ahl5n`Fx$rKJTHytZ!ZA3>a5rQKUs{zsN9Vf2r+I87YDYU{U0=oi=7LhEE2Zhp{=br7uba*M +peQnH*CQfSj6?&YsoVIEg9^$!`#x`UO<%+h_9Rm)wgYieuO95pj)XM`AEqMNv^e^qdIK +ROM-S6<5$h;TnXojzQeg+(wq_-E>!eQLWjjSA&Png>5Bb!)zoO>95W*)CVW|)Sl3D3z1UXS=GCw{`&N +9xuJDX}{jFw9_-{*+WsIA#<-Hi;M5hHKA1uNFMzdK^~(|AdKR%-moBZO+uL76jG>p#$KHLj5WU^`r(Pwjm5UZbEA +7SR9q`ng@S#;jaMxrovwi{8`}7jBO}?yhkd3q6gjt-UQyg@a~0oAH4hE-4E}6c*o%#hxahNhlBr@y*B +}rqwQCvV!E&?hfhN7UU5z0j&1cZBCN(H@;;uV+oZPC=ywB5=UwM_*zm$KAsG2 +68C^$?YmrdH_upU-p7xf~G8`u2Xm-{1fH9(eA|ne};|d1mIBnKLtO5e7|3cd@p=PoL;?@>D9~RSG7z6Q6^PO +xJ(dunV_Elf?))U277coyl{wz<45M+8Rp(AhNOX;7N(}Gex#6G3JVP(ml?uQpqeuK(Zg{DD4XVE7NK_ +9Ysq+qU=zXX1Z4#K2o4c^yOhhO9r3yynXSldMP^GfTaxKdrazf}WcrcmOQtWGo@9E~E*q6c)%5GRjLM +#%>oP;x4E7+b4Q0XawadZiR;%n>mloQuR|=kUEu(aJPWxcG)=h@DALf%4-IcRTFw(;J%xLe*`2x3qMQ +)CA?7ttbI@r(fL71f*0t|-J?M=R$?U18N2Jdu~lYWn@*%W7FHO1^zbkY{^EUCd%k+JJv+T1JOFO8JQC +9r%~Y2;;>?UKt@t=Y73UqH>5i@1H9x*2DTUs7@jjT7g;tbQl&7!X3ET2i_d`$kXLKdu+o +#o`Aa#g1=EbgEb@!$76I}LW^QI2=PWw5c>U7{?biO5?jdA}I=Hc}FF?Qm9j31t^`HucMbtPc5FMp7#? +mzv|?jJgu_n-2HPR#JB$h1&id0Iy%iIJ)NQeA#cFLAFtWWdV3@+0R?$M2*vIDf{9A&_aNA=8DBsqEnV +De!00RzGj;5S1rW4tHZr*u_RkQ}snro^n-7=TrJV2IHifD(s_M@tkGYk-6_9nclf*U+z0-Sw9czGmrLf6DZ;st4SSV8uDM?Lt`9-!V7TSbF8tb +2?kXZ_Z|3)-!L5w2SUZ+wU7t8;7Mq|&;#2I6WvkCF-JLMNQFZA|9zGqg4+Z~^LZbH};TRq=YM8h|y)P +k7N(J)VvyH;PGzyVV(EhT}$|o~6HZy^44{V?^E^jTUk +dwnb0Bq&cUzT(P5Uc{q-5z>B?b>~U>`NLwl_;XBN8%2qH_8GYkuGlD1ijDV>UL&KI +=pt2F>PeX%`cf$%}Pn)m#rbzNj8%on8oL1u(Pfu&I(4@!QqMrX=kk%Sj$s0P|G3AeHI9N_#f_lpERfS +4?cSRD9TMrN{+j_Ej#zm~K|8*bGnO-pC}j?tV-!1^1Qh+!=|tmlZ?ujY{epy@*!LCO_s8^SVI}x$CWqO11gB}B3oO+x +}L4AU|qphd^fI?vegXhe6|L_I)klUVa;MIE}m6V*%}0E5?g!2dIwuWV70I{9M(Q;wZM8CTccrZ&(@)^ +w$xD`hBt5aNPzYCB3N-Gvr@&@F|eLu>v&j?vGpEU4;JyL{O(#Gli9{Py~Ditloy`_Wn&Q^_39bs6|T8 +Fs=D}wd08}JkvmH>44yC`1biv +AnhWVds;Ga`6C?$y>f=`ODuGn?F+J?-9LsN$)@0`! +!JC`xQhz`66una=xcLNEJ=S_&Nqkdo%3&GCAMd6v6wxc-z;<^=_!j`1b(+Zs1?sg`(UwkAB*(=51e>v~6Ght6h5StE=!G?CY1b?_hBNnZE5SwFw`NVX@zx +q})X6+1NL6&IOhZ+hVWe4bFXz6YZT<<(Iw6Pk4LyZRQh0+@0^9j|?cVuR^%i2-i}dG39ebO0`fs&szc +tO~uooyPpsH%2YI&Y>QfyZ01W}HuI$~o8RW&we-92p)>Sb^r5NfmBvCum8`)9FQFXRw75jwSQd_LW!v +j+D=S4J>b5dp3eV5dIVB58QVC)saJIg?qs0h~5?OZ!uMN79Or^_s;@Z}VhIw|74;s;-(5^Eb>_}dg)bm4DVwpN9| +%`g>z?5h*R+sgJJSXh?*hA7REM$2j$Ry^;k6X0L*xXW&?_$S#Hd4%`1-&}aVTW@6FTu2BXM& +P)J+DwNDuytQwRLcoqDq#s7%HoNCjs`*L=#)C9>Rfu#t^fx6XY!)RaUSmZ7Xjr8m(_i!&0_w7;j1=;e +i184jpPLe#VQKhfQgVFR9xP)XGqi$lJ?6u)4kMF;R=>_!haw+updw%gN>H_*L4y_~vnv05zaLHh0&^0 +&Zb475$EJo^)-uIL>=Oj`J-_yETL=_Ul{5+EHggco$#`&8t{FBmA+b?c`MJ$;cLD+B&3KJr=dJ7?(38 +loq4*Cn(kcZ9AB){a&tryu{vO(U9te#p*3iM>R(^qKaF^EM({7l4^<`u5JwLqvq|}7>3ZcmMa5y9=>Q +GrMIWhi@u_(r)z82aYkvu_t;m6V{mzESYO^$*uh=f8YcCvVXyMCU50HYwuartTf@HPtzlflRbHrVoGn +W$7Hkl^$59L)PbVAB+-l{S=ISP~INl`26@xd4L7XtH2sV*rlLLF1W?{VFj0@C_yD89-Sh1U_VSGx +_aaZ2Pd(CXrKu`rK8mI3y+wP_p!d~v+)g5OnG-@HLJI?x0_(dGRbHtuv+>92qu=rz+g{}!YRYmj5T+q +DP?8eJn_0E@@ZLL&>oG-Uvli3j7WHzLFWn~NEBOJ92X0AZ>Z7$Qv)2dUg&1K9zT{!g3Wh`{s<}#yH=$ +p%cbgBKU+Qmq2oQylmK)AZIEW}^iS*8kxYiAi)q3$e;Im_G1^eR6#2*xf2HD0)uKiB_- +QyNyskFrMhA|&UnS1em`_F+afrl?vcIBpTZJnmC(kHf%LVHLKwQ3w3IB0~`BLQD7fX +Bel4?Rkp$T7TQ~2r5`rLG*{ouY9aEsJKSpra>9X{*0F+9^s{$zUaY*y*t={p->J0Xy^CIIE-dKXN|PP*s=DfDmyy(Za`VtMvXxA`# +96ap<}eoW_S^^duc@3Zq7#dcT#9XA&VR90UG!zH!ia#jFhV8XCSAJWnZzpi +>b$(hI#~YcdNAS0&e4GeofA`v3=%+W?8YL*-FU5YBgAJb}LYa*w3i;&ZDfrIeB*nltV-vn8nQ)vhwY_ +X_rz~HpZjzW@gTpT8k&1N!{ohRAFfVO0MTQn`xGS9U(-JDw!~Bs#X*drroK@Op3K|X!>*?t@;bz;Dpo +nI5HdC~#b@t?^>h_|Nm@i63AFph!e80q%!?`8uhi!~k_Z{TB0jvC>uZSDPqv|$*yd|o6 +;qD{52hN@`xH8-5dICK-_SY!Jiq^Q)2v04|McGJ8n6JJ`a&dwJx4a&Eujb&dmWFxbWA;_% +yS)-6?#aSz2s$Awt~( +GXQ54lKu*66Ow?Vvlv7<1+h-Oh5{UK44sxEJ4+!g9_1y)ke$%Yh-g}T9-8Mi(2t`Egdt6Q;#ZUCo|tn +@YbE?LM?^?B)8b8-c`ru#l2fn1SA*ehHqUT(`z@xe!NL0-mxR$0U@nzw$_}!0i~15XJ-8P;(W^`I+YbdI{rE9D~?wQ42N9!cnH)&SoXirj +Uv=Bu&BlA(|l&&2{uzxD7Hx+P<1J=D1Z!3ymk)x&%pnFZg^Q3qon}Q2Gsv_s{RVs6|v{$r=<|;ct!YO +;kMgh^Cgo3;ivF=UtX9gvk5YS*1n^tOCEgs%6M7^%r9lvg2@WjC$A})8a6=?F!@uAq>aVWnswO$%VSR +srdccNDsw$<4N#?a91&h$RgXjfqax{YYUIBJU&qIcM$$<+%^OM%%*2|#m^*>8lhTD~trMlIjYzQd3gF~uy{dS!sJ8MgL)d(|?^{Yl!nDZeP_N~{svDABf0MeSNL^VjxGt{ +8vl?9(qN}4jdDULv?s-y~8T8d-?%X#pZ;4Du_(#~Mynt2rSQIBY~h-oJ>_9T=R^+DwN7+~}B*o=T-Ul +qJp>8Ey(s%VqTcqbDYs1Y5av!e+#mwT_+>8*icZe(5>s6jQo{VN8=D4-fcW@sf>{*U&9LCly) +9da~u7dWKyoRQAVm%h(=)%eft$GG8M91Azrv;6)Ilu`r|!FEj=yrxzf8JH$V;Ks{n>A0gmmL;|@| +j8kt4xmy`Ag)d0(pRy3${G|nkoszGrag`Mdu6ktHVlCJ-S1?}jx|W@i9laYmGA#R|;mEKXYf^5%pur= +<9$297oV>T@+H3VfalXk%8H}43obkRTkvP@8sUz0UcW)%0>s#5JUOY=9Tap(!VJPN|^mU|qiW0Y)9hJ +~|Ov<7MbY$>Rq(RNOPRVh3Dc6y;@~bPqIwk7ehW3`BW!Sx;ogMI02A>@eI;N%lW;KwvX-h +K-WxRL>7wx?Vx=mZW6BMk?@_9~kaOl9ojr>wSsO$6hfInA+SYu_e!;6M^S2X0bk@9G@J +w^aKDe|X_1=TUqCOlFmH*M&54-{;%|)8laE5VDUa7aSW(VGdUu{`~NFhmSVdZ$Ee8th0(jwWJWy0sa^ +M<#9N#Sr~pbH84Efx>(_gqQ8cwF_KUS^&`6J +X1;H&shZgoIoq6W_q-b~v2XqSy)jmUnpLlHKA%o5vMBxatg^i9nCrP3oY^E|N|{g_WlJMZAKag{eH?d +QANlP>f1cHFf=jaoAG1E%+8j|*$cI3zmDF~In#&cWbn+uGL=9wco+`n_j21-@tVkG1*6Hh_i0&zt0;@ +_J?EJQo)0=J75j<8=U9yVy!8o~L#Lnez<2MXd(1jgqQ`8C;WOMIlMn$5(D1I3MjxIKS`o^yON-dkUBl&9UJWWq@~*jMjEg76j8gp;W~&wX&5xE-rJBY#vj-zQ(`~v^kf$=J~_6^?a+#iDTA~ircXd24~dDcU)H{*-}gWI0m)W>Up)!=JR$kO*`{%++*<+4qv&);?)>i>K$bk +id6Y!`Dw3`IVV*~IOsUhzWjt81iVf=GY-nDG;Y9}9jG@N*A-a!X4v89mf~sQ5!$Kj+SJ#nWc0^eBzx_@%M_L+$4s-vX{Z{x=7avr_#xnq}q;E~|6kmfi&AHks7(hzZbXsE +vb3^e6<;}2<&0^kT{qH7d7j;HLmlpLhf|W_(vfJwtnvou2Z8(SUYYJ=Dw_nC74J8#EGvx`ZZ%)K@KGw +20m*#6?9$iu4R-!cZ|cKl;vkrt@uh2PK2U}{K5^~|^g^8Si|!YWBAuG|$|`jZFWGr9xXgL5SlWh#`q& +yd$~`TPP+`B2WXbeQP|oed$r@v^DV#3>YNWh#4-{3Lt#EzdxYohxl;%e%JKSqWjg^Cx~XEvsE&+17Tm;teFEyOP;{{w#SBDwv7(^+BPD%EIo9FJMWggxDFJAc +~#S|y|L1lie^2#?6J>Wha(z7?S8i4usyaO$_DDU*YhDY+h4~5z^r7YJ6mkSl@u2q=rV99a;W_x)iLa> +-D7W?>8ZSm6I<3-aniP9B|)LgetQe@TESjwuC^T|K~6qghme0Y5Zk1x4^#75r3}8zM1);7Exv>{JlIr +(Ge$~#za{%Bt5W!I6nx&w8}>-`D`|!SfLri+P%tCYeOw|o<)?0?ygYU#C{xN^Jh_WJ;1{F$B`de)xUO +G4#d2B|yuZ|Q2q}1^&v@**@LAja7Y=vaHzHYHKSjG9(Gh=6Dr4@`b+2T_HwD*G*)Q6fA?@Gp=KZx}iM +p6`6~{o!aL*wn%?SNaZ~NJK_$Vd9L#vfI7rwz|6@izvud-`CA>D8{ +>wSLC_;ZU!w=5dvb`xnkIOhGjTAEs1LoSt-mE%A>NDiiwREO|VNX3Uy?{F74c}rl_q +OC!nt@tBg;s4B{JClWJ|oNYgJ7zdO_m_pRD2Ny^MZ^#Hb;9G8zze=kXyf_LTVnKgH~Lfujxo{1`|?en7o;C44V}vh_6XG*ozZYsu*EFP1CjSD=(&gOYKchOjIPXbpkU&Wy?EkLdBO5{G%yWj|w-$5t762FKbhlP5NR5fn +n)ljhE%j?hih7hIE3|wdBWpAQ)>PXM7DWcQmnECF%Qzn>saH97L%s4 +LxDy&zGBmCfa>_|3jVmXcG_IWKq;ciU%_Wb?(86+{h0TB#R*+lDpI?{qHG^^X^~L*bvChNg-{As@8;$ +uD_>@lfFD>wov!8LCFxdiV$FujG+)~0_Xx ++9-I5~YTr724X6vHEO-sTg08r#oX>zJc2e(!o#c}qJy%a0H)x-XUxyzdCA_Cr~9wS9wmBz+TzdYjzGkD?XTZl3lWI6^soqNZiDbwj=r +eA7!>Ro;YUyJ}?T{GFX9R4c10^n7u-ToV`DDt(;0I>AzNyBzhI)EV+rc4SgAN_FQ8Bu=?*neIu7dy?y +v3|o8hOG;M$Vbzs%PwIO8)J^)9T)x={y<@HUB;FsL=#2Movfmbuc6W~7*2q`y+G56c$(LeAGbBaw3Wk}#UPttx|0z@!mM +OP?huxAmlVClhZ1I5&TBr{hJW22)YvVCKyaGiXiL{+6!0mdTg*od^yA-mL*!m2X9+M!2K4NU*WqJ(YUwe%1HFg=yGX1Of1916TE(g;A +PBl3im{<@1akwt%mKaECb5=^2$3MNL2QDU&@CPEDMo}#Z9CSo|h( +PFrW6;a|&5zQ`l(CAW8#FKKEkEZ?3Hq!@0sQm;SO`G1L^hlTR#Dsir!WT=V%IA@8MhRo +p=ru*>6|?Bt3tIYhac)63%UDrKphv(Be(OdEKaL1CD0?yFYjKi^3J9hHkOZU=GJ7Q)l50$Qrt;e`KqaBk*QLvmz3%=)xgoZ`Skn) +xw^8vtp;Y~s2t8=uAyH4JLIA+9YHQSbewd))ki^Eo%p?|ZPDY~xkM*wT)Y|=zysiSWqs` +>`u)Z7o52)by`I&VU*ErwAEY$xFXq?Bm0vEG6w;ke;qxe#oztkV=IC{?CPh8H-hToA6i(GDW-{hIG>K +B*P;z=HUWtEC5qj0~&Y|3_8pdjU&e8nQ3QlKftUuk_as+IU(j>+#%^)*ZZ|{2=HigZshv|A^E*{bT~D{B9)hPiEDv3|9i75`4r;p9#amSxuB?wihVr>~{18HwL6q54ez(=aF +UU|n*Pd=F{Z6J3dW!j1$ZwFLy-w#cP-~CcwDGMNb6qa<_!8BsFh9a9AaEG;ucOjp;l`BndYJN*Pq_-p3mAR>C +W2U?W{Mbe`c4XA#u5CTBrv)iO#TyDPpRQ~9QWQeE-Jn{jyhgCJ~|G1-g>@jKC@hT>-p+=>iHm@ +RPHhIxIIyE7|ht#yhD3HhFMd{@v*zE|J14 +d^I163=(*h-PmdXvS@ekb_#SC#J!Wwx2~_Nn1ku(>)~OS%T)4w?rn~HSPO{~|nrO|n>5h^1$@Y93ra! +YdjW~NY7i45^UIv$8YThI+KkLLidupBHJx=0ggAswVa@n#_n#7A7j5s9fbdtO>9r!hD$gK +eXx*z@u=w`6NtwpDu>Wmj$SIoa%xXxGeC8{#4!!Xq5Qz+bqzdw6sqwD{)QV{w +Qke4-Ay;QH{a5sV?d|QUAo?STj1^8y7vg`*(k>4;UC>i5wIa9W!{y(Ac;;hQ$xRGhxKY +#8IP@lE;j_Yuxw=cc8yYg= ++^)OfaE2`(Oc8Ga~KeucAGsd59_;bI;KRvGbf13UO3!W>>bjp9X1i01wUF%az0^Dl;+^_MkMgsn;e}6 +%zBeh{AdE9Yw_tELd2w$ho+5$7JHeSQ4IH{YH-^{>-P#dnq8|M26Ps-J#7d+wL>7cTz#+wawvF3bONN6>IXe@z|1|1|yo +)A|3~JK~1@|5xzeONg>2T8nrS**!J;!v;Gp6Y|yUOAPj<2KzFDeYwH@4}<-m20Jbo((RiKcAW0hNKKD +Fy%=KE=f#sVveR;AB-&DK8Kgsz`{;aY-klROt&?oA+37iXQ`sX~jWaAY-xfK^mNDI$kdtfAWjFO*O-9 +61im8*WgK}mji_xUPVrIPVoOoB(_%RZ{RejI4XJx5Y+<@SXHDZ6^;Vrz~{XJu1V!ZJ538JwL0-Hk;#` +yS(enCOW2|m=_n3+W1d#2n&j}S9+XVT+KA%u_c^(DiX{(N*kco!BvP&luUGVpky@PYY-Exo)bhvMR5D +zKoS!i2(w6uN7dkc8wyicgs&B;X)6bJxO!g%nFrHdCfd@%8nYnVUN!H@8;$SP>XbfHebr2x=!r2KVZo +mPJZ*4PQoOOtt3NZISi3C1Y%$&T?ec8b9jul*7nJo#UFKjmZY5+ETO3F?o48dFG64^RQHV_M|CR#GA< +U4o=O;vZk4BIp&;PYqr@s(>lp+OP!bn1%GrlEbvRG!ZW94n^SWsP#T4Y#!rRX-4G_vnwn-#&&!!gp*g +zfcnijxkwooK!gUOpLWF62j?0-y__)N!Jk4&+o0XA0*__S@UE!Z^wb=~bBHxxqBA#@-1BW +Bg_Nq*M6yapnI=6Yt|CTX)wHg;3T{F8WOmoL%v`E?YHDh!P+C)`rjm_H1{@-`bm>mz*af!yDb|Up&7NbknyHNIBvl{M;l#_@vYo?4el0lWx8EDb}^@F*h5lkrCbjlU2f?@v}I-G%s`@uT^F4z<21~Ndg +Lr`vK@t+Z|-WHPAx@7y4gB4*EZ|ctLHP3L`oByRIFpBQW59^%S@PRotl$3OLWj`O9xlIG1udU`LMtKU +}u(pm4*Adk%`fX?LYcu7S%V`}`?8ti +rPjUL)?ewDElFZSy67T;Oh|3Dr836be_8J>iINwTs@!97G +2%nf8*8DKmO{~`84>=+W!0M_&0gGhRz{xHB9HmZ5A=~oGYlv#rG?Rs9ye3MtQ +ENBjr#=hZXj~Gdc0WwUj1P$ZTsK#g59!&dWrn9tMc5}jMnKc9m$u0s@%AiR#-Ld?>!_UMj5K +T1l+--&kVc~`9F0uUkanUiZ7A^%y1u)+HumFz25A89+W0XtEiI3+3HKP5lbWXSjZ)|a4jTwpQ_2&Hh} +KkdtCsjk5tWsbufN?9Gje#$Fn!eI6ezEeq(V$*A`?mRNER_}iMBlYk0pBha|kNxiCoMgapeB$yvKI+bF2)N19?=Uqh{qI<^y$PDpDNb@Ueez^$UIH;60`;Sa0X0#188%{VRw9) +m;}YsI%$hpgdWHM9?y=eAl$w=sUtQ10?6kz(jO?f!JEi*_rEBC?E6>l?Sdu)Dr}+lM#TS8;pr#szVPu%p~4#=X|G*z8Gp)~Q@;^1&B_6ux7qi=(Dsd>Tu`yh>wiDr +`M=C$D6}l*LHA&n2hIJ+--TD91Zv;$d%0JSQwO(zpgvtrXonhDF6w;j@IGUGNx5` +E%kT2Y9Lyr?OF;MXK1re=txrb`XZF|Padc!(BP)_`es#XG<=im@7(|M{QvgB_b|9f`Q_F-qVZnVIa27Ry3 +(ON{`JRoyVALqzx&^X=zpI76A$DGTjzAy@z6}HDd5{HTnUElhB&bo^Zh#w=td#~#>fcq_)dmrsRQhSfm-V?MqBQ^I#%}mzPAFJh^rMXWPf>+P+jSs#N%hPc6*1{KRIM36} +`I^5&^DolUSx$hZgvYe^bs9b!wEUjd+_!4@eW3Y&s`BOy{}L6o1maA^$%cz9Ikr$wz9BZJ9+ +}3;cT@{{|n`-`wEyZ$|9D>1lXTTJ>*u(e!^7@4xf;zb*sX^Z&RgBzTd2Qvdk@H^BD?XzW&&Ha|7wlyR4cP&D?yA;UhJ33xz-U#K|Yxh*M7}PmF6g{kiMdHiA0j5y +$R6W)>;OGLQATGW?OFUmgEdh@NxRn3!)wAG+~ti+F}$1HoE?)dVXD9wb;yP((1BAeSJGU_3zr!7zfM1 +knT*f^dQmg5Cr{1h*4(B?ure6SN}mBk&}s{z?shj?C`~P7)j?I7G0U;B|u62sROHAXr9FM9|2yrcatp +?>2%gf;58h1fvLsA#H-&3EC0(5}f;z@*p@wu#cdO;B|sc1kVtxC0IeQj9?)_A;C<7T!MQDh7ni@dTZg +k60{@mBe?j5MJNOx5tI?UPOyn!HGz%b9s)f7uD;aPIP!0OcN16QihI2DC+Gyxc#6vUH1UYy9&ZvUdVg +#AOSu1Udj9D9HTOD?hxX|4!Ixgd2k0n;jjxu|wLNC9f3`Nh*B!rg*C2?>W?0)lh63&BP2m&THVi0hH! +W?W9HdoH{UXpGeZ9i<+~MW@U#I#%kNVA)2amV9(r~1i;IT>}##{^4;fW!f50}wea)*4pPA1|VA`|`!n +S6D#nA3M1BSY(PNBZ~F(SZ9i4YbWkuGHg>zT_gg +`wnsw3Ni1b_OV=5w41=Ci~4)3!EWLi-hWv2Mp_#zKSn6N!)&F$w-dzkCGDIXNCyR`X3}Lt1)q*N4r2j&(V#Nya^wUp^H{N(dl$DigT5CLKRvx#eJ?=x0|(R75AN08t5ts-UtW!OO23-?@ +lcooHGTCx>jH;AaNyt`)!_oC|26Vg-zk47od>b#3pe0beel<>>FqrH8UOj!iw;yDIFB^&etG2hSPD>` +Md{PK*W3GB-n#n0K_Vd?{P8{d!n_t|)G;aU3iZ8I+^hMp0|zO@VzA4%`q@W&hNuDf{o?xvH+0x|fWrd +F{rkvpd6A;?901|}!TM1LE><5bEaUJ8rMxtH$Hi*)MtI_H#p;Way_x?=LQ%aDp3mtxs(N$!jGO8$d>3 +ku>Mg3dkcR2C1nd)3LZN(PRifY=j=ZBD+IPiD%!antUUa&wBDThe96xX~%1K(61h +c{I{{V+qnPkn)EM7d8o&;`@b|+rGW@_h~PMhX&#*poj6%z@+jCJhCvKd>dvGJ)Jsr5`lq%A}AYv +#L`Fu6*w|R+-G~t*L{d_c7&~^Xm@r|2n430OOrAVhWM*cHsZ*zlyu3VaKjzGtBi7j?#PjzJ5UDW +X1-;*MidjQCoLe1g&6NHOlT6qAliG4XpT=FOWYN=iz^^5x6LBab{HR<2wrR!~;T3 +TP@`BSA=|dpOA;YHpDkm{Js=_7{#AR@n=%}B@}-H#ebFJZ>RWsDL&=7{0oYIisDzf;@?gw+(9X1Pznn +ug(oS6-IT%!N};N`6hHTr;@k)+&QFu#!g48oeOZd%4@+14wiLe`#gCx)BPsqQia(v=FQoV@DgILw|22 +xglj0ww_+L=`N<(~KjRV(H{I(ST7K-1Q;@?j32U7eo6n`4UUrh0zqWC)~{xL)R+E0r57@eY`21O2vkDk35>I;C6JE?qhW3>nfY>pxakfJwPCj*2a2B(5g9)`E-of6r415j-Rj00Z}9W;Yc~uzz(1ZJO219504ZPt{G(#xW8>oDW8& +M_3PAo{ZsYU^#Ye}*#7D;uzPZiyS^)Up+O^v-p{5_jS?F9#2}b~pf1G~Luy|r|d`w(C6Tvy?{3rZVqI ++6^LL8;hX7Jz^Em}|jmw!rM?-Waq7|LKc`QJQvFr(1Uo2o&SvB1n*G{3HAI2?}oH +;d@;yc}5K)S?=9CDyqgmC1p_Long&M%Uz@5``dlhBbBfvA{nng2XjW)cAuxBw&^%&70k +s5)~g2MzSV^F@5zJ>fbyxK9cwtYw$+;(d%^yy#6+mJr7CN{Ev9d8j=`-! +jPEoE83MN?tKaZ)78{vLgnXZEH*(}i)<@=Ahq!c)r)Lfn3o~NGio7WC+WZ)?>C +w5O-#*eQsGS@7sT4`ys5-+;G9P~UVXQZ-Vgt7XlHw1LrOpD +=%`*Un?xPmEb8c%Qb+fcXf9t9J>_;WLhcjOOs~GQ_72F@Z+(xzyP%yPe|qrT7+#A4l= +WQT%BXe*wi`L-Ajs`1>h-O+WV^J>@@o%Kxi+N*k>WXw#+*FSWGhScs?9C8wfA +q<>}Ha))*ZTb>eQuEkLLcSTbt5*n_D_|=|W+f`?v2A*dtK1>u_7w9yc}a(VPM_YufbYcDHou+M`M1t~ +YBAW^>oudieVKb)`7BUe~N?n^rg8)}x89Z{tQ@UVgWlOl>^9+uU|j6W_*g=;7b~dLK8R4n6SP)W{3z- +_Xjv1-&)t*tk)nK&oH2bZYC-j(jP~P4rIr2exb3rDI@^9)Y-Dm-4?YFfbr6@RmTPuN^&D^Sk91b!Dl* +Bt$qS;XE{GXkoz35C-A#p+tLieh8O>+`~c4S8Zpn;n6?o@HT*#mg|4V^H-KdfG<9wxW0Y+_FyUi+aNn +PYSf5Y7CzyYIK@W+QA@#}VdxzHyB-fMUB7D#55A&%g!r2ufBf-e>UZ8cbLPyye*E#r)71BT^TQ86oFe +ngTSFTVKV<-L3NI^Epd0>i_@duTMZ($c{vDd5AO;UCHx9rJaaJ9q9#CV18C8soMaH*Q=+Uw +X*i_R~*4T}tCi^3C@i|{X_=1pj;bk0K5K45I()R31O#Bof>@c;>F(tn!#(wzcumuAl1R%NTXlBew~3I;l=pB`|i8) +jW^zqgr9u<_178iQ>RYJfBoxU^3b6}^6=rq91d|vM}YfDiu3r(FTXrz>(;GvNM(z0I2?E8=H^B(S+XR +7^lIRS&w~PQyz$21l9H0UdiClB-nEL3j_!(d|1ADz&z_Z}%PjBMv11?N;gavZ`%adXmAUwQ@ZdrD*=L +_Io>V@JJM71gAD5qh{yD#cCLKuUVUuL;+)qFKbdlulcS=+F?YH0L&p-cs_T!H~e&gG3zx|r>`W4}b&V +N#U>q9s!LEJx!Kj~A*%LTw+2hgAc%0vg?uhXI1b*M{=4urD{sLWkpbO-zu{CDlzwV2AW1Ia`YXxO=PC +*u$KICkt9m%)h>C-@yWqE1j9X7k9ABMhh;C=Zw@H`E=(dGEdV7=M%@)qja{xP1AtG(PnHJGocGpXzY0 +KZF1I^XDaXLoELxAt9Y1#{l5}{`>FCx88b7QkhHAnYj*w|0s|B`}Z>d_kH{Jaa}oj^eEdw1KI${8|n$ +l2)J$eQA+DEDI-3RviE)|d%T0oF{SKYCgsR?rF`y`l)s!me}w8vyFY{f_U+r32LuH4Asv1RwU;OlrUC +eZ=in>oL0JHI*irUhef1Rs?BF^04SXR7papn?|0v@pzLzrk6DchpN*Q)g%6L__wcQl77tGX1cWL +EBwR6W4_Qg$oxT%Zr19gFBEc6oCdRhbw3SE|4SOSRWnWJ9v&Vg4{s<(eBcijS;$&@W118m4-ndNjZ>k +?N2oHA-Tyts^Xt_2{q0@mn4mpF|qh9DH>II&}6H*Q +*8sbR)2Y;&4FyN4sq3^3S1W{eMeW#RNcl>$$sV!dKsZ*yuR1Ql}&(OBiM+aoRA^8IT;g5a+@zBl~pQM +viM?u4vQpOSuF+{_rALO+>KM_3I5dOdZ`m3aVrWSw(9dtVCE0g-@`2F|a<>5Eh$R}sV$w#L}$cJ+*jK +p34l5+I7QjRz-Wjtv3Osmf%GvRuD-mlhYv`L+}tM$3t+iIPr7WY6y_)|GA?%lh02WroYfIsAbC3pqB;e1KxESfIqc+vh0yG`TVSK`P7U7@(H404bgxnmDo78hJ@qL$+w}J-ZzxfTS|NA(Z59-68+IyCNs%uN2524QKbm+8z2J{CF$rkWOJGp +sYqzO@FdZ&&Zgp@e@4oCDv1U~%H&gOeMXxU_jyfy1`T?B1`T?BMw`_2El#HHsq?K-&(Ob+p5 ++42phI0c>Z>CNjy!j!;+h(p3Zio=l}U(RpEVt$%l7*5M|+{mfB*jdJEJUgKz#+?zzw+Tw4m)rdyjDq+D-IT=-cp +YpC2OMAR0E$?JqaY4wD;+hPw6nA!?JBPmPp|?;Ru;W<*KH9jyX04&9%34dI!1R*$7l$DYVT +S837;jv8+gG4PQV-W0eI_Wf;Qf$AEW;TjgbFc3kS+=M8oSu!)tSh2C56F&!FK6jfRyP4a-17<{-IX3e +k`rE$61iFb#OnCiOSy7=7NUU;fc%pbvu{0eI$_XXNwGKQEyd>0m6AtJRZBmoCXekEP0TM?d-YJfeZ>! +mC8XOIm$Ko3ze8P_D@vC|Bf0$Op46a%onibP^2@5DoK*hB-t7p1L~5-AC$ge}F&90?R+ibrEQJ;DHC^ +#*G`9o@=2)rv-79!>`JnMg3$M(eM`0!1bAEK%1o3=e5)(tUEqrPh&nKL?p&t9C|`e6CNNQ_>W;DMdp +_O$qD#j>eJ<7NbDig^`Va6&*$*8$6y+eFefC+_y`amKl$6Nn)2F*=xEdW-D-%3ulU|#94fUC5sHdH2= +xGf;EnBv%oZ3#=rArr?l9D2yeDX<&emOrsU)pRoxp?tnuGe3F`6ahI(1q%w1$d)xKwAY}2>K|-19(uM +4?bm=)xXhrWBqhjeb#l1m0EpXMs?wj@PGU5w@sw$jMDM%)~#FL^z`)Xw6wHJYDc*oo_OL3dFP#X%EZJ +(Sz1~uAAa~@`QU>OGCmmJ17Fa9z5xA%P6x&?paJbE2jr)2k +3+BVVncK4rPJ*fI7|fnaaUfpP#K$pAT$(9D3lYYZ0E%(9j20u3X9UAjn&*%d)Vr5chb>jvYJ7TW`Hpl +5Wko01wm+BY*}S>e2#$OzCN(ZGC^uMEQ2Hh5Bbz$3Xx5{G2Gc^`DdF=kINi=YRR-2$lCW&p)hKu|gIV +6`ftae7T%IfBr9b-F27D%F1HC)3}ml2{fQyfKK2BI_lDbISBN_kbCses4JL{z&H|a(2-DfprxLN$p7^ +#@aWIZ{~$8e-L<*7xnJLZ|NWPNXL52f1M0L+!)>?SCTGl;!R3HHL!aBx=>WdKU!U{E*Z?N#1L_FsL*4 +q0KHE62*UlAxCHrAXjLQQFi+L2H}L|wrgF#VEl>h#eMts?La&%LVe!0Z5z`7{$Spa>Ic)1nwlzy4I9R? +wPC{s#vi-}&tV7Ns0V0&;11ms@&jEP^#FAMbpq+44JO<#Q#wVhTD7uJxj(Uc_ija~Yd${Lia+u->OVS +P0T?d=A1Yf(x&^)}=K4V8ElJ*32GB==$9f!nJ`wFGc#8J_l~-PoFTVI9_kl0H^b*GduZd3zwQUoqkDN +`o?Svcj0f8Rig|WWgEDGF31q-!h!`0B(+)GPa7ZLrUT-jok3fK2l9h45 +dgS@uE!sL9CM6o-QC^)EbcD+b^V|CT?88RcCkJ>z;Coc)OYhZ0WyWYww^hC#vf&)>kwGif!sruz;o20 +75JF{&-1+&{zmyn8&S89txF3`%(0IjKVCla$RjM@M!xHSaF8X)I^NL-0C#F&{gIIl@OI0VE%MPvA7y#g>o5Rx>vQwaoA3^q(bo^C&3xL!!{fh#y9<9~zi8B9jJn +O$$^@`>?OKixx)2_;0bj@#+D_1-<4*eNQ-4w3ufQL;Q2k>0r~bQ0AAenq7JbfBU%x}yzzyY~ugRgz&= +z4W0c%j81-Mflf2EzdD*nd#AAKx!wK9Qz5B&%4SeFApwqWkrvxnPV@BsA{@(%n_4@e$2{EfIX{>J%FY +A0OtKcE49C-fJze~<(8N9a4jV~jb$dz6Ddzl(CfJKB7-wP?p^Ou_3KMDyQ`JL3=8y_%diB=5$y2>$xK +1^5gaA?qYZmq|xZsI1Vhw)vZJ$AjZYZumC?^1ycwf6GxlvXDBL9W!QB3mhwjlXQXrfLhWq@wM*YqyL627^Cw8R%_JQddl-5WbRd1>% +;b~mIvM6dvCbE!&E1zx!8}-NqOk!Yg+4Vk9KVk9nXs86T{d-E~@B@55TzYgP44UDSHc)R70y-}v +oA-ESVi6ZBs{oH{0-b|mpU<`QiVaN-YArhKQanqA&)3@7vB+A`T5eF}|VQ%TQFGJ +c1F@`nx#T+si#wQ?%Yfnh!vbMkurfV;m_*FCY`#`1VnU2DS{59ASRR9Nf8I^o#&IO;wXwlYau-1n)CdgypHnn}w^N0RpTq~`+{tjI5Y|_>z +)=yXGW6z!WPR{$OHV%--q&o5#p{8al`E5scpz`cIZQlQZ^N7_))z1*yycPHKU_2 +X?l&p(2$une)wMR%39NS-^M_tBYu2pnf`Wof*il~Ex7I)Fv`DtK?JXNVXX*rnwT5cgv_2lTa5i-iLk;x`7LL0Q1B38N6|E!Z4Y>HPWeo}`_BYkC&2vlCT)IwgP~4foyn=KlND$<;9+^Be8&@faiMno +*T-k5htTnz5#JMig`){Ktqe2LdsuvS+@ILy`78V%1C?H}@YI-RMHJ@!}<)`p;u0}p*%t$#NNJirU +INASag_1hQktEm(9$)iEm>TUm_W6z#FJA1)`1yjL?rAwD`yN7lceIMF?$O8BQSw!B(HK!lH`AGio%_m +eR>d0eOq-(A0YWbs2!8`}%birecuc$7%=F;n~h3RF3vUq2Cf~-3Ekv#M5CpGeDtC7c5bH^h4di#G$-( +Al?DJkhhL_`G7yJBrRBO^mDTC|AAcfd(+3-q=UA1V<)K_zdGZS>8 +_<6S4jdS4u~=q-j=6K^=1iP8ac@viki7TadwCvs$&w{JccG7cz;l@3zy56__))h{#)C8|+=nDvSJnTz +b?Y{o>OGGG(br>L25U>CXUTEn#xdOu%{A988@(UbzpbR?@!j*)H~16(kvHid-(f8g^Tx5Uu{{3@9Hvd +1#(YP6ps$hWGN8{P>+(STM0HkH)?||9eA1Dyu^VIlKN?fD2d{|t%ce}3vIlECn4=#(dbC7YV114HW!H +KE_^!*L{*8!kQeX8O@$-I4>v0;N{~**Y8-Mh)*XQ_=26Q{{8*{mkLCmFNT?6&QxQ>7_K)Zl=zy-WOyN +xyzc<$J-W2v~dH43i(ix)3WUAJysl0N1}IRl5ulPAl-z(6^C_;AKepZC+(hY${Oqqi6MF7cIDUcr%=* +Iz^4oImnJ`{QspGLatUrv@>Y?P|lk+ZG!y$K)fgs>io%HeX!TW|1SdS*B` +ZS4L;TF3nPxZ)!KUt_@h0$#=X0)ctVA`=db*UeY@rc@udE+eM5dEk5P|5{`hN8Jn_VNYNLL9^2sOv@z +hgK)oOP(Zrpf=(#U!4x#!rO!g#J!vr|UC%okCldQlXBSpr3w7YEAFGwe(|wJ{WnSuIXbUqb`{G +gE|J@`tudt@Gk^g&^DnS0aty0$Dy}3$mKbzZa7IBJ7N5Y@hip(7^?))SZO8Ug|$|U$$>lMANf8zHlK>@9LZm<`FPv1OHG?=!5icP~U +nWhV?Dzd(icuYeLt>cw^)05>5kSj-iAH%5Uu0vAoWWHVk|?zI&bAQaFIelhECvw`1IZvC|yu5Y8j0zN}iciuFN!BZ74`lqKY)t}cG4d=u;ab0)cTZV+byig;rju-FU9ln+=24D<42gE7(*3ja +Q?2Fcp!Ud>mjEo%aJ2TGEdP?qb$GL`GkCB{t*8DbIr^<#XU$s+Y35Vbd_;I^e!g|;#H?B7nNzc}^9OXW=VkZLpESifH8sE6)Qm}aIr%y1wr-PhruI+GpW1zT&k +p9Pso5Fn)_hx%H7`FSCwoALp522w3~buiY!0{O+4K3=AS*O`47i(HVU +dHr{EbC-zzRT0-9mALD5hBB^)2&(NEc_1WkeVNxJw4}MYhDMlJtJ}wE{+(`Aw4xK-`Zhdc#j4m*JR$K +;oQS})WS8qhl^->5AUJ#b6`SbLS%Gw?C>FD#%PxRy#Iag=!E^L9(V;c3A!$*eNgA1z#vOdLeSkoX+ie +}%?v6CDhgT|^lZ@ELB9uG-*Z$?Th9eOU+Vcr&%-@e^t#xqQSi9n)xjHs-w6IT_)M@2?$bN2cT(@1-m` +oEqxVa__w@d5r%RvkK4be#?^E38pM75H^G2Uf`kd}_xsPYxW_{cAy|r)mzLvhj`zH2%y6>BPEB +Yq(ySraOzcu~J`n3+}5;8obAY@_4(vS@yJ3@|xG!E?^Ixy4`x+Sza)YQL2|KR?k`p@kDSpVC@;=-nc% +?$e`?CJ0q!ncHP3;#NN)PV5=at7QtpkToA0jmbA9q{&mJp;ZNaC(5-K)-=42L=qhZD80y+rYU4Hw=7! +;5!2k47@P#v4{;3TOy!}gbUo28xj;BG$v?P&knst^h)lP-m5tH#(t;zUFv5Ktq3jYKO+3T@VNsn5AYs +%Wx7L332*d(&>x-2c6-WJ9A&%d-nTzp69z~&%LvYR^UvWgV*9h{2YEB{~DL!SMhFKgKKd;Z +o;j&1Am0OaWDQ1e}Qk~7&4X2B8g-kama(@M%JZga_um^*E(jkk_Xw-vVEMt*!+71`qwDr&Lwn3L{2>Et^3PNB2asdw +ISTAXj77?gq*qa|n=T7|OFv#1lDLl;pl-UvK);7Z(xTkwat6JNlW@xSorcmz)-Q%EeCLGC3<#3K)o#p +K6i1KCdMNtg_g+4NqTL>JMOw3v?2c&NEdmdondJFJ8KgPmg+*%daxzF@c51Rl-5&F|*l<@5LgPPycUr +|`x6F`mw!;+yyu{t_?a75p_`!}s$8yqUN04|pdJ^C5nxi(KI*yY=p2x5Yi~hTWU)h&xT>h@Xkyh;ngQ +yery7(0j();{Cxp=rwxZms&n5cgh36^dwO2mDgl~TA)(Y24MTKnxdIrs9(~r=v_L=&-07@u$f?$O|?s +Hmd&%juy5Nx+h+Tby=ZUPz}UePkuxOjf$Dt0*$E^Q&|1`uZlQH}GkyiXfsf#$K<*L{y9erK4w+8~Sw! +;44)P{xB$Mb;x|?332Z6{>cp-m*zsuXiXJVVzD?gDpVLW^FDV+fsjk6v0yp3%50I$GOC)1(GppVf^{3 +v9plXx_f=Fs2LE_$AZsmm6!d{)BtviI2#i{_lK;F-J{_#Nk;@b9<_-Id~p-fC~Fw_Ts`zh%>G$nK8l0 +Wl$Xdl6kDHz1EAI-O;+c3$HiauYg>2VU4qkPpi_ +>V8$Cf2Vir9zCEF{rO`KP~z`|{?D?7c9Y#=OYC+#WJhge5z`CTjRUtUb1I!W=kLyiv7Q}vqW;sbStt) +}Ky~OaYC|Jv5}u0F@G_hYocG{;_;2_u?t$8D1nqm-Vb%o|c8lG?AK`0xviGF7$2;m>_6EF3axV1Muq; +xS)K!(Ex9C!RM928rPxpW7KjjDge80ed&417D@%#LKf4~p>gZ{8T>IcljW{F8R8D^C^YL1(JbKMM@VK +Zvt?L(lZ7}S*7GFuK^S81#46+2+VcF+z-xR!stRtq}ooLJwoDdnB``TnQP};X&!AZ-Fs)yo-PLgXBT7wCu|PUeB`K;jI7J#TU!|T_`D(o?QYETPRRI0KSOG`=NLvTv3xoq>=aZ*8L8sKIb=skp +qfsK73waNs61YMwWVs84(J17ZVu3So2z<5)s(2Vjk=Z1fWRYT0Ox@-Pxi|J8J2 +@kQ=>AVqEs|!z6(^xf$rJL0o?+WCxiA>P`?E9X8?gLU=Rcf1;8N$B#MDWDbOef9+g0(TJ2M{s!r9b2G +yjRp*oMLcGaOeRhK%egih5NI;casO4sT-U9TH-lWx|n{xM$|ZIVrjNi}Kz?YN-Hhna4@37H~OY)VY2s +fN3S|6QMq$9Rm#c#Ow*{6EIO0Z>Z=1QY-O00;n+tx-|?8nXOnzyJUMh5-N@0001RX>c!Jc4cm4Z*nhW +X>)XJX<{#THZ(3}cxCLpdwdk-)i^$z-Ay((X1OecOJIdX(FjJ@OX7lN$ga%FMnFJOLBMEAE3Gul0#?A +pNoXn$-GqyM-{1c~K4fQ}`|UjE_MG +!f(SvIRvmgi-_%jSas1f+T0^xuEr@>#pQS18&@22j!s>T%9an-Cv-(TunQu@UAN*DgnS-kK^KYBuOKJ +u8eH25Ru_kZN{PMhic;S-NOHX$=J%@wPoZHWBhi_5NVivOkLZESi8o})c)r^2K +TXe5-fNm#DZVO}|Gn6A13mBke(@r#FW%SbK0$c&*<>Mj&4sz~xDH{oke-w#2zw#$4<1)>8~oV$6qtnA +dy*hn@ki)=QY1`T*qj7!1?BNV@yF%ii(Z8lBTd3Yd|7J}-k1*0GLx`3txtvylkg~Xpx|3U81a8ti{5g +A(46$$$rF^vRw(e?@lEVR4t~Wf{a2s;S>vC$hT +m?nKnVshWn>g~0VEJ~a;?G4;MP*&^db#qDa3>l#;+E(j%|l`f~zR*MU6IBtXd+Z(q3*Rfb=ERH^7vHUM%3C^IgTt{PBd^kRqJ%LNcGBiG +xg2ObHe+BxEWy2@2vE2KA8_VOL&{*WqT$fD_DK7i{vULjQ-T$JZ?e-;QmmZvR%JuI>9m35HzB4iO?tk+ib7>3LsPuS~9a_`Ziqi}MH^0fO$@ +RvYwhZNp;9||x$D?|ZTBb~0~TB9GHtY&u;TrGw!_OBwd|p=Kx~K1+O#jI_I4cVDCo%%Y-JE8 +I2hDkZ1{67$mVmApTbOT05oJ_tyh~iu&l<(+m_kmcuUe@4e`(fU+cd{`5POKEi0^@_x?K>; +rl0wtsOZD1|7oZo=y39V1Y7pOPzg$DjW4W9j=z;d6C{R&v2?$LKv|pql;Eey3L_0zmFV*61gD%T#pSuO~jFUr)0s0*khX5DVi4_$vottnc=&Jzm +{@l&?%p%;JbF^b4acwZjAjsOa&Vf+sQ1D&~>n>h>fL&hwSgJla%#C}&wE*VjA*fordk9TVuu->Cqg0R +fUM9ZHbxrR&EDx`f$83eYk~{z5-mxb3Wr55N%BjKa$KT(!S*zTHPF>F`4giv|6dyl)taFiXyb@d&QYS#)JtHGR1U!O{WRziM;W9mViF{OX`O +4oGE7EB=or6<9}h8<(0FniCPHH`A24k5R1b@6HpN9_T^8p9wfYu4sNX7?Uk$0dMd7iopl1fjOmFbtTo +C5s64bx?uXIBD98xYL17bW!2aP`LICWHubFJX14fdV*()@=O=HA=7Ef^k<%_4Kv-%Gkwc5wRdAE^Y;+ +B9>>$q2O0a<^!UqlUq}2;s9_b6^@n)(7u0LFQN5Idm>C9Nn?kIq +EhT>e6@!_sMj_p|;bkujIpxV08hE9|-Zi@Vgj+29W;!fbZ`^0wc5IQ0hlr1SW +R9AIjT`&zuM{=XMPRp~z>VDW{e{Ae#XpDdmDmL>nxA2M6OqgA5Op0aC!0cAuH%(@rlz8*6R)&hz=@@@ +<0L7=tYC{qvj0t`jOV~>Zimk*O8iR>Q4xH!WG$5&qa0Rpm6a;Z;81`C;dgtiiwI!-&G|!aTMPv}W^dn +4;*Q7QjVfP@1n?^6jM*n;|HR&u-pB_0{8QNRX%~;V(RMA+d2zrR)qB$SWyEzmq*F}gCtDChf9+`oyiP +h#37~tn}XddA)z*36=q*){47(^~kK;Cob1FiwoFbAMv2>`>2tX|q5elxF|@W|^aghviL;&^0jGD7aI4 +*^M!h9Q*X=PB0kv>rW0tllN7br!LDH}1LL0MNTTz2OoY0zqmZJig;w&ITs>Rz6quXsV8Eq^&et8lL{e{wJA{7EqU;&r^CyQ@FJ_nVOqmW%t*&VH{aK2Z5wA2rfXwh)_@# +`9k+M(C4lW`5Uy0LTxLCp?mX>Fhm_@KDq>lFnvy0P^|GhA^ef#A`vA&UBJL17X)(0lLg9j{+X!9eoC~ +l97)fp90&ehK$jwo$9DNRgUbCIV8kw*I#Zj!_L8zc4q^z7S1D`X!Bp;ST0T72p+^gMZr|C#VSSiWBEv +Nx(jiC{AoZ-CH2q=vUPP2E7J-*;gu;3}Q;85Z!D)CjU#PQR8N}LfdFM&t{z+)F8g97dFx!9b2aV7@qN +3hp#KrI2b(pA8A7SViko#FGrAYlW6ayav$(>M*lMeWtzv(W}y2?RWR8?uby1u!w|adtEpvR6F9aNMvD +1n8Lqf&ZB08X3IK55&P4e()>pp(LC;iDe;ps^w-@M~zhTOF~5SAdeg~I0{EE_EWbA3Ff=aLu*`onW=DF7$h7goYvo-;9UiWZ +13H3Eis_FI@8K&W{En8VyaICI7s#7VHbK7ff0AQKV@0p-_br1L%R2V6z8U3&_+vF%s-S5hL5sv!AH_G +B&`U=o7;<@$PiNmspL1e3mPkn3CQkpsXNZ;#Rc7%HEQESQX~`PdOIE%@9gCAL)t+32M@Sd<~!Z^i=E6 +9yyOdd*mzs7SehC>ZkWp*+e*5CFt@9S`l){&^M0=K$H$aX)8j_fZ{L$Pa9SoD+hhwZcTTFi9CPUdpL$ +hv>Cy-F5mX5K(-%j>KiJB2F%f^O{VrO^B%GAc9(e+!ped^O4^wn2FTM&j1#;$?O1(Bk0ifyMVvPrb1a +-F}$+|;QeaKs8JG$NKOcuk!o3>?G)`#moRpu%nPN2jBgBv&%#la88h?gc1O#EUG;fZ2+Xscmzps5ET +d?%!8$H!w@_HC49QXV|?epecRI;nLUG>5`p=4N=)E=-`tMBvEWEfQ>W!|^wW$1z<&#=Sm-%erYzw4Wigs*^fLn*@_sVS=Wbte;{461`Pp_rq)DA+d5VL0aaxX~>!VW)}uJaChXQ=vMJZo|; +6dD|c}~N2(BDo!Em#9vT}HjtM?=)H~d23S4J&ypJeB0zGA?jX7 +}MEjMKrp|CYyMwsoJ0T3%;^I9FJbZzG(qe&T&P_11!}B3RacHxgeD|kocf%W?x`L1mRVx?Q0o$rk%7T +o0f=_D)aN~vw?J`?ihaeJyomN#tZ&Lxj9rf8JK^e@-nvuh`szU+m+q5MfOb2GfTABrw4Lb_hcNpnRVg%$1z}+>lm!FQjMag@VqbT74zTT~!?Ln?#E|8-9;z7YX<(w|Ddc++i>N%-24SpY7 +ZYfb4oXCi%QHqLERGpKUWn+g@Py(`pr^M5)H0n14V~@OwQ`>(#@E+A71;pxht?71@w;Ge;rP8pJ6-#X +grbn!9$f@_{f&2!153EwI`g@#{3tY?wwm3#|fV){lP&yYT25GY!2+p1WJCJXEa6HWLa+m|>Y +o0Z2Vjn$MFYp4i<{l83RE^qEU6zsOp`-;SMNK&r;l3ireh;tDBSjMl<%g1^c{B*&6R#jp=mWI*kW0HO5gEt4q-u;244k`+y#9&}m}?kr@U*|H +ofIqeKx=0sE+$n5-^3po2^IWr3~YsMuzwP#v>KX4{HbcM&qo-^ig^t|b +Vs!-@c097UC#!E3Zd!x9_*%+NT9uOK-(PShTr2b1ugi&#)tp?QxA`hNm +FZ#?Dy96Mue{>qGd{L6;As(mdYtr;Ajs^-8C|3;z6+|mcDYSrjRDxJi{unKRZQu=xl%;MPONg!1 +5461+GqTw5*;rl(Ycb?B1h2gl%7)m4Kjs4}qO~18%M$tms;T%>W42Ab+9ie!F&0Y)?ZD-Ames;uotAmUxZ%_5CuSJDR3p$ +IfG4**dkV2Wc_MVv;|;?7SN%Um(?4NrY*>i!GNt|H6)1D^J0cds@DlZa3+YXS|^qfn}nXX +hWNaf&dXmFQ~`n{nT2FUb>()^;gfynEX`Jotja>htbmiFM_#E`yp0Dv|dkq43Jd@~sWPuY-;tg@)ZHe +fj=wjKFd?OWJvtfR7S#U3^@t823jvIo<0mfBcjWE4tIod{etW +~q}OZ<*8Swb{xP2l9A&T3KFNFv-{|8+EeBTzU!+)o`{o0>Y+Hv1i38?OjK_myrhn6goG9JoApgdl*b{ +pN#wg0y$6Fi`a=GcG~=u&0pVRmDJBiO=XsjqQ_6pkvhFrXl-SD6iM267=@=XIEL8IU9!13-iapaM1AS +0uEH!d9?%Q%aBUxy)4F}M!>jheeyTx}3BYpwI}5XHN;+l+vd5x|nLXu_!`A14O}`sjrjMlO~@wnIwSV5 +%_EKmxBal+_@~Z$=8lpT~8?tTU;Sudw>Tx;38c +{t07VSO=5?(IupKDBj>EtbR3_0;{k@31qdmbT+Ivt+%^NLNK8KV3j{(TBM35|Ne;7cL?GrwvXgj>j8L +O}13iT!RknVo*{2r`z7?KlM%>}&f;LX~71CSUy_3J9@p1c+^-hkP%wL1sINsOMZ-83Mv_M7_C+FvSk^ +wo1A4#z$$;Ju-vLhV;Q2_$~$e3K+BWl1bb-0+(!Fne|V<1HeL|3E$RwfkfU@~BZ0h=?OmxqAV~I)HlP +G*s3;l;x{9^kkZ(9y{+1J(Q&nlR6tr${_f)Dg7jI{js#tl%_%#Zd)wW{|+qFM3nog$pkh9;!9h@J|o8 +RFGlr(g6CzN@9))3_HIszwPT07FWR9giH>V8+IjECgA|vho--*{^;}Z$V@*zl{ptm_bsusDU*V>0$G7 +HGRR8f!duiK!WF>Xd4<->umHn+9?ITW!6)J(;p`csN&)x}H0Jiwrny{Y`>qo{5<2$yDv8dr50>Ka +{P;ve2=qxb^NrJ!bcem>!c@c+#9o0&hIf6L92$w7rdbY+VhwzukG#EJI)3D2nL7?@#i#yq%8m%vzYv9T~Y~hE3&aI7(peBy~G +D)U+xzZ%k<5_12y&0XR5o57@Z%amG(;jr2&*7y-B~TQ_516+qJ3yZ3q_CM$Y0}qw{vsBTeNnV})vTK* +&?aVb9aF#V2ta7mpLv;;a~j$-QKc^r2l)xXBUVgR?PsQRsq~9nPTZe6fo|~J>^U!=Uc)T_}3D4r> +tl(kyA+-kC_I}G!^Iwh%cplUcdd2lm?B>c51Pi0pNn0~bf(gXLt0ATq%^0=!hQ<{Udo;t)vIobr{w9| +797vkAXqc!ypUC4-)egsm<2s)9=dGu0Tb>Ww_R$CEeG=5BEtnI_OG?U(kXI|39g9 +LM1???}B0g8UHiGiGk^+nPOU(CISlCXlYq3eJ27yqjMXN=x=-U>+lYGQG6TiU8Mq&Xd1dCmR#cqcmeH +e?X@6k*MK^vqDg~;vN4e+}b7ylI(>HNyK;7Y`C|2XY;4{(c)$i1Y*B#?mRs^X_>V>403`}0~lj`m^=2r?mt^t-{QUPPH8cZ<*5gUcV-Qd$^~)d*n&%t#046+Ijix8i6rIi7T0=98orMV|d%% +Zm{?OxD{?Jk<+6G>922jMFv=y-%nPl;^C-aJOx{BD*06Q+T$eSf%U(Y9RhvE1IM6;DU$6>@czj=QEk@Sw( +x%4cUC+$~|9mHp~!Hy%TMj;^|HWDyo2(?8_a=K3fBUhBu^rlnsxcB4_S$2yYo@QebjIFLTg_+>7EW-d +%v)=9*vNTKo9K=p@9Sbzs0e2>|#Z4Ky*$aFi%$v+U@!Ym_wrn)W^~Wr-`7kRy4Kq}l&u4AvjlRm0iq- +4MQEtQ+&*SHnajHiEMiF3f1u%gBGD*;P*$XpUWNwm-ws_Y||5L+-R5DRR`?Sa5xwNl+8sA@G>n&#h5@ +P2ER{0i_uwf7~*aUfeVcF~lnLX@yX|xFzu&!6&+l&HVfDHm7cGghR;kQSz +76A!MZbIhN@B@<%wfl{h;QLS?(LRnxrU*jWr0Y?}RIJ+2Idm3vEA|qR%h4|q=O{8AaE`#PdJdG{0h9D +PZbnc0@|#c%SM%22=-+j6&ThHuxLkkMEVFHLedNw?pub&v6hKH^|9F-dYdSoYNZLcPF}C|%K}fW5Q0* +SHY9N4#cGIOL?oO0wdY9WKg&ko$@b_#h1#q+Wr|vW_zgArTVO@w*q>L1iJ6=0@o`E_>upSbY80DG|g-1)WU +=VkKf7byq=T4drUrS3-1BaGCmLkNU-Vbyt$O{;L#y2~-q(1S*lz4ZT>6%u=SQk$%cVX!1I2dx+YdELI +K!SnO&N>Hr_#3a#|h^L>B;a(t{=T;JJG&%sbOg}&;iXUB48Ku%E?#r0oiEVW8(pKgJOKBh}zr3I?>p` +vpm?kY>~OasUseHSgL%!Cg=&|Y|$Gz^u`ldRN`+&6QH>X{@~F6SwU3LI}z1y+IcZvDQXvuIq+H0Z_v{ +T{T#r7X5s7X9-?7CU6=ujfFPHIyYKmZh1ph?Qx)v3`)veo3GEMe7R58Tgbz$Yid=N=(k%UkNdjxg!=l90xHSSo>}RaPs%3 +3us2VgxGM!y+^8f5nH^;#Yx!`Iqb8`;UYUXL`8OjH?KbA|D +c0NBS|GMYxu0J1!V8qtml^~Av79efS;)d-nY+OWT&N?vn3^d_w=gNx|r=vJ*_8rBfT!OQOL+AW9hgy$6(&JK`j;7yj2HfipBuD>3~(dYUhz`;pj*` +&RKM9%TEzsKSbLV$h&{(k5mSF~d#!za|oW$sBf!F(U^qbT%^;W+nq)LOL0&$M>nbX^rdHa8HOg?<;8s +uyXU6RH@e_OL$H?;x`?w%Z#nuzAvy9HY)}Zd0S+aTJjIDTAT94 +qMmTd!Jry%w3WTTIVZl7mB`K7YFb?=Gd$jTs?Pzc3t}8<8Xqb=y@|xN&Um=bg(_*Eeh!=qgW))$8AwpgCEy_tFa7vnC{yOK?UGY}s8I!`;ecVSD&_-f>+DMjT}KV%HfPM80aS!lu|MP;z +h$z{x-4BR|DgzHrds4u9Yp^ZoXIFf<}#`N}k(*CWYoYz$9B>5%oh?(zk7Lkt~&+1^r-vGIL~LScj`m* +-WUE2iAPl+r*=5PkoGVfjFhXE*m?8d!dm2HKt7^)Rqq7Krq>GeEpUX%d;zZ?8-_sxfmEq>z}c(xdkv= +Gi-s^vDhVZG@ID1;sYDGXTYSVNJJWhH0D=@h+t=riB&?MPT<5@x2FJ(HwD=Y`ut9>j{3DQuC-j!>)HD5|xfcXIS(^( +q%)ercF?P*g5kXyImziKK4 +-olX;O=C*)#FKA-wiLyBluH0*xK442>B0Klz}MMkvMV$1h&m+5UpJlTx!K +^N$5?p5JczeT{`a1m(A4L^Y9>(6dWkX?{6aM(){WLQ!oV>;PZ4Ea59)Cg^SGEd4R_4m4;#ibZUpiT&t +e5DgD)R=?ah%i;{wN$K&+t18gJGB(kQJ)j#9A06BvLy$pE+q3K!t#aYm;UR17QVm`|}xf!Itn?1W%T_+cBquul@4PAY-*(Mm9ks7ef_aKx0f%ZPi)**`vdX@q`TL#R_CgcV^hl82ym)I8DB^e*;R +@Mp+&tat>b~zQgELLWrSwe{V>p3h|rb5sgqFzQWkpJ3TRDA$hy_9JKa9Wi_yv4=OUU`jWE>1#4(A9t8 +$lH#NHf^Z5s);%0#6-dEfSir7Km7}*l>pl;^A9JH+!#ux;rJEAtC?#df((ly;yG?Ncc}?!*m|-KcS1S +Nle*9@G)W`KX{H?QG4QRiT!BYnV|f=opuj69sQ{|DYLVD!p7XTXRgCE{Vv$!vgSDhd9zn^W4Rr!PGwT +PuQw6<6=Daw_h=o&f2_thb*jw>ne`Oyjs1qc$n;l0c8M(~X@>{V5hXhyE#Eb`(nf4|05#IBM{z1;ru_+Sp1$X;xoUcJrVWioDYPbu +mMiBiO>90;DtdJsQu`X}1=wP-&eQ$uBRQBJ*|dqY$qQbH3!R^Y1FMs>BRM +@%tNLA*^MY<=l%F1xgW+|rL!i*_|SxbzgZ_cHRu%v)!R<68SAdNYs-rW0#nU3XZByVn<>4^OxDI_i}> +`BoGwzA_;GuYik<+p6{X4PR=s30 +e7&Os>x|2aBOdG!jGm`&UN$8f!3#27C9HqZQEAf@CFQJ|5poT}F2JS4q_885WqgS${v1yN<06#mo%FmvLDJ}gRrT&6~s&`#(q^3F3xS3dP+?5Qyp0ORnF&(uN>^TAjR08C-awPx)3s(X> +jy~miF|(4ySs2ZzcJN+;5oHJuw(|MNRwv0H1B3(z)go|civfpox#p1zF*E6y9aYOd#`d?eY`s9Yls$uef*-KEGDua1OT7e7MA=;yFKgu|qLoVkP-0#uT>10BY|_;g2#}54mq8vhVc!z;sG&2q0Qs}C26q +cuIA}M`yh8TMB~atVB_uj^iWRzWFXE5cO9DKnoC7=XRqTljf_osRQR+0Cl+?0R`xP}$H~%D8q4|ds!{Jpe`BLH*sR})uz625%){@baDh{e4qa}8YQmG9dWM9deozYl?~qLC8Nqybhmjr}42+|Ev=94f)v~u^8`eiY$3j1)vdlV*La?47V-QgC7T!k#7U0Ni;i*p +Tz19S4lCX;)-mU;;9n_2N(Y#Q(I@WiNpu0|h2VfDYepjHYRI +YYRnMId4nj?$v&q_VmZz}-i@qUY+YbFzU#Ch)MksiQ<}xd0tIjRutqa>@yM^4hzR~;!i6K#>muQ1z0& +X=jIEhH#ywA`xN@lvBZI#}`2J`d8imTB~+`QdyJ|U}hxoWqyG*WJ87m&7^iOxpoy$h*rHHbI6e$Dsa7 +Xnu|J5lEOLo9MDMcy+471xMav?pPvL#r*JhcmqSkGh=Vv(Hfuuj}f(xvr~~@p*Gh$~bXdp14jndAgT7 +a&|$Tw`D_z%F--;^Im_>_TU-lSW;eA@B=w~*T`DLfn_$E-@Jv=*gcl=$QwWf@R-Y@3|AwWifFVb7S^B +-tFc(n6{2PUJ~C=7HdF!B^oLOBt_*Le#HO1=58LGMYCB-M+GMC1&|Ks&&P?|FZWwT74H^$N8<7t$9oX +v`IH$9I2tV29KLx-vl9B$KCY`B2#4H)Ts}%#wMpWHVuGk$ +JnPZP^JlInEmz+~rs6Y(?ge{5dCr8(`kbzs8|qPn9w1*A``n`gNv~4ov5;4SZ-D_|P`+p>4pS1#x&oB8tZI)^%%VUMGJ|4V42Lun>1*}D*<1@< +qvl_0>n)Wg33{r#rV^Mz3cHIBXXq5IES16b}pCu6;{LRJ+o#VE +9etgGoIBV>INU-knpcKQv&Kn;+3*1F0e7jF}*y;JQaQm8^+bT0^DoApoGeoQYvi=eS;AY@tN9XeuiRf +WlZJ7qYE$7FmyDuyD>#2ii!}A!E>P_*lQaODf9Is@gd#aghR^yIVGB*&(`CHq2~ZY7 +Q7nfVai9C@goJz544exSNrhGxIR#~x?%FZM*r>qW>1GakveG=a>&3sq2Q~f0^B!Qzc+{*=ETH-4#Om~ +a=gF|StK)I({kshPLU`}E8LVOyWB#lu;bgmW(n_wC))@!n;`dWTukc=s~n-HXNX{%wo*&uglpy9Y +oLyUZuAd>o}5z(${x!yBZ()6l`oVB<5j6c?6NGc7XCQ8KO23HptnfZRK&(O+2`c2eBIMZ~T1@31ZghCtQUzO +s&Ofz<&LUOd=_RwhA+cpPI9gPqg)Y%$`4`Lm415kt`x{ELLqc=2M@JB8R}H+4`h-D5c4Xyyr&rb-&m` +HZpt*=_?a9Cb&`(mY*14{Xu$GZjeK;!M4%)LlGp7@ktoR$vWziAsk5p*h5%sA-Lhu@~dN%NLn@W(IBbU;$RWP5h--vh_G?z +iG))`in-S*qF?^J_Q_RquQvV8rIDj?zU~i|*~~4zZ}OJ4A0~9;mF*JIWCHdPC +gH>kYa!`6!-nIQ45Q>z*9fm?Cgzh?|b$n#G(U#vV;9;Qt(<1^f=Lo?JYNy^=4)?|OY9Vz%Kp{(}M5BB +{rsQm0@Eu-(c)i51w2ily*r*k^!ulSv}GrzZ@_(2i)8It +cBmH5n3O+pQVUN(2s5C%pSr6`#!3GOYLj?#r1wb6=&HgUuDZ`*a~e(s`2hr^rocSycWRR#_j+^j(WeB +HKRWD@t+C8WmYEqUIbQ$h;2ZLH{S$A3Y9SEv$nbPt8Xtopzm`&ub!|6LW5jrJYp+y9|Hc>l@-WoD-tJ +v@K}J27>lOWMV=3q4la?(KNUKP!oLN2Ye|*s{Q;CY}#`{tlSD +Y#dT0l@XA3eMLV$&H6SvR0Mt#WeH)XCdv}UUX7}4! +vldMOfn|yu*rvn3DBOa6T6J#>R=pL=1dRfgWH)Aka>iFM`y2%RlHUuy(oroK@Rw!v@*`dyOi +3{Lq|$dBi7r3P_p<4+6uxrqJekX5uqJtGND&tjzMK$q6es99pv}4(L_a6mp&@AHsf$#x$F_j#P +6YQ6Ge7E9w!uT4zt4lBIsn7WY8A_-+P7Ms{L3X7+KAC*nLuF0PkYdz0@79=3(%eTH~_sP>aXAX6HlJZ +;9I_-2o61y;{(0NJW~1KvE=&3HkW`f@TINCj9l5YBwzSBBxQH>~Oxqo%Uwx}6W31o`pKIcvN(+TJvY6 +^kKn`8g!u%Z6w}pk`>G<6wMUBlDASvc5!%&^wZGDaFcL$-rrkvfI06@r`*>4GQMIq?1zH1xehv!&~*k +1xAZ92;exKHFUMTX;R))kM#uDH~NBD_~qTY_yr9cl<;_j?Rh(2FiD!Tc@}UA{M&%);s46W{&U{cdHbapp7Ri^&E|`K7`jojH%Va~Dp} +l2zfo>>@Wp0lzOCVhIkr&lu88_0s5QbydPr2%+3bld7vp)j1q-v#woUS}=;!l5Uq0^9my##E4`BSJpi +q+tt%fyOX(EPFNLXueV9CD3&luW7YjSD(XC~V=GxBri?{gMCq?WlzqwHk`80B%7>-ISyowce +gHM<^Osqg}QR((AN+v0${l?bFcEW%@O*WbX9&PCmf7oY2pX6k`Q&3+WU|IxsD~v1}9~rQCb8u)e{|RG +jY>fJ|{8mWA@#9K*E6HE=k+KlRb>KzA=sPG`8CJGxPMR{xTQw$L^BUirD({V{y2tPNB$$rLL2IKqP0s +;-C97mO+3`JpC0lL6a6AJwR_ +;!si0drw#(nFQrCab5akabtxEL*zxcY +(GLh-uI!l8j&E>YSei)L!HH&Wplee@8aq3KvPu!*Xr4%mHpS4<8y+s-W&7Pv*zGsvA1JQIqmvDn4hkL +u^B4fqx}{6THj{@_QUB?&L_JyFKaDgjmQSN_s~s?0e+wFe^kT=cwvjfaMY>feP@DBV|TYfWu68QkwDD +Le!(#Aj&-&`e5uK2{w%aISC0IdZ0pzK=2S9Er2N7E6(AQ7Kt9$BkaSz68U>h~fI^kz*`nBEx4|IfMfm +LkK}nde!vZ206nV}lHb3xZSHBC(d#*1$^DKH%^JPkLVR``y@V3#bv*hiU)bOEl)W-l9YIa=}F1GN<= +mmxp5a*6?FB^3&{ljf{lk?YLartr|!hAKr_q`B0X2OQPBcdN8;TA#HpW-aM23{1wv1=LrP946rV|cp( +s;^ukxD=lTqIfzRelWtJ}3kO8MnJ!(?E&l;riD3V6;m)s?^>jMM>AgraLonEKSr1 +baVb>JUD$`HH-xLtQ>uYHgh?Z2rG*e{S?xPaVrhfz9Iyu3G?<%5K@mhf74_Ay!`yGi20CMSBM?b^d-b +TgAi^gTQ6<=y;fpbZl7SrCWmCX)MjB^RJ%+^sjX2k#crCn6gs8LC=r5W1$Se|5zjbvYaxo>r!bJAWrobnUowuomyhU3)J0NCi85dJ|k+o4Uq3J**>QKX9-PClMQ2gyg +!bj&KC474MZxf4U4wxvE<-JB|`cXt^jO_L2F%^NB;!`lr)TI1v!F*L+i9Ex_OQqzPpQ8gNB +w{SthCnK{GJl?*B?huQtz!76G=fPpPsDnUwgS&OxejmT7(kRzKqT)$M3!_#?(%O1I*?4nNRruFG?%H^GHVUGPe9k1FvAFQm>lUX*}ib<@e^3dv)e +s!YDP!{2%M_DL!`UI2mAUfc0BaxuO~y#r0jB&1@$WEEi^|mw#en@NLqbPMmO%vvg26v;nk=V!h=_YPp)=)JfU{#d;dvaxv +2O6_cv+P?sy~8prz@v(B7W3xAj4*nr`SxM*N1!$~~(CSF+devu; +3&?4Vd3;qEG8^$w#|dkHlWcN&VN^3c;?e#ccC-*q30Q|c_pDj;VusNKuP_?gDO39yKg;a68scTN5ELU +jyqL#y+F2p0*|^oPbyEgRiTfd_%MgAUbmU2stCokX=TT{F<~zVqqr=&EZ*GJlyHjkDLTx%W()-!J~Q% +Xyv*LXPmyvaGI+8-%o(`2}kS&A1)Eo=?li*pJm3vKd==g_5eWIpP%w(75`(z4M9OJ^#b53K%(m<$9w)8~*p8@2Mcpj1Z6I +FD;fy*zJj~6&tIl`{?-*E@VUp@27St3jlGJXSSn)Mh$Xa};6}}q~zX8vpRQ`;{!hecA*T$Z{*z=kcdR +9)4b*lDJ%S^GNp7b7b#EPeq@Z~{eni^dwR +=h&##bU*16Y}JXUEWROQSX^Q%e7dnoCi|6)VZZVthm97U0DB_O;kHA{Hr%}<8A_hh=UAEKyGWa;dO3! +&$N;+vpF`j1j(fuv2gm*!Qv*t8-8N%ue|{5-ki<5qh1!(pZAKJ@_g*L7gouO-Xz)ordusrH8u{(_nrW +YM&_f7Q`Z*!h*8k&OFsq_R`#=zbb+VnjV9XmRU8v5X43K5Ay|J|^kzRswS8M@h(8;OSUhjASYgKt8rS +s$rhTo}J(F6&Q&8Dxl<-O{pex48eUalm7dHy4K%8r$V0k)lIeE=KxcYM$7yo5e;&M+9zVMe;}AxqAXOSOT~(}uw*cngu+ej3LdCD +1C@uRcXS!1l#d)|bw~>~4ui+@w+v$!FgWVcHcRG4R57&b9|Q=MhbyrT1QJ*g)I3DJ +m0tk-pC_}~RBv96SYbwdZnOgAd#iFHXU-W$uz!iy6A9iaQQsoJf;IF+rA?@h5vN75HpyeGzNWls9(J& +Jm-c`ISySIXiPK$lfgiqhc^Txy%Ongy4>HRfz5ylU*t$vL#tU+BCzPr)9Q_qKB3(=V3#_OLSe%&SYh3 +`peer>pe`rf$=gYq=L&<-*58!MtRQd^BF4DG?4Dr^IQw{9^8o{twrhieUxB6xxyi}0q3EF63&|DHwPL +_*+3GtGZ<3hxW5p-OE)ifz$O-^j<&yAerkx9zH8fQE*yaH`W0(vS8JwVa8oFsm&@a1%QbGo2JMsNV#& +WKk&HsWVN{*0ggVZNH!os9w4Tu6wY;CX)8LJn{?3{!ij=r@V +@!%z!91+QEKd=UCia1g&)+*~(kEM$`@J7f5{JQMVfR*-}FW`Rae0n`~TOUskbsHMl6zF3T9i`^?$3Hu +y-O@#*8~vCo_pF$YomC#-optthc0(sBT@hcp_edL@eCq-85rdtXWQ^Xdo&F=ReE>b!Qy}0#t}z=g5V< +9Z-)uUahjlc@->OFa%5*ilNGYscOqff_A}@6{x?HU6pTrSRdL$)@KAL5tG>~NgVPQf>1nt`aHP|Dc!w +Vq$NV_S9v`Qp3@7Ca8c&tdenTl8_KC+G!NNS!tmUvSl@w6EEH6+#`$%fW|T(804_Y=XVF!)3wh}fwHv +2R#D#$)EAb-m=|fqPB7(_#f4@*|<7W62e?W-$02fZ)7j8Q?lYixAm~x8O`TB)m8-}Mqlj(zF_eh$_y^tM1VXz6OlmrjzcRM!8^MoIssK~W%)Tz+F@gl*8*q|% +Vyf~BEM#BFkb1|6ckxuRz=;DqI%>)s4z=Up~KsqbYzKlB=8Rh<;kJ+i``&){Sqr%@Nx`1Jii&c{5|f1 +Vns>QiT8XKKqnlC8h4z8E!nIk0lCHVsa~U-EBQy!$-0+C+?{Sj225ueN9Z0mw}c+41GHO_EA%ueV~j><-lY#mG&m +TtBq?@nC{L6`uR*S-%%OjTbqx9xs(l#^P8uRhjQA~L(>9}p(FK#}?cwt9beSXWm9g6%=aa-vnIma^&o +ukWfz$B{&4jf`9XZY7r*`@6^M^JiAY&1{^4s@g#v;m5KUWkkZ;#zHwOd>IJAMs+t^}(IHB6Cn&WY8QQ +J3Djk6)O&*?#2M!FujE~j3f;$=HQ5?pVx(-jfp=!QQnX&ULNuhDKv^s*oiL_)D* +7Fj_7rinpsq!6Xrx*kgA*L)ZBF&?6;O%h(R)8{vEpN^IQ+wINIY}x@kdIg`4){Tkzn6oi9AHBEnC*~u +Nvj^~nWx(abPP=^AiCg(&!`>PncI*myW017wM!kZFa?cF}c=+WHJ`;a)%%gaHOD(GJYbzj8>Id;RVQq?)>&Ja +pW9wBh$)c*RI^W1~icKjZgJ$~eD?yDpGnz^|s^{VedVZ2;`Vw(9%-%Qqr&VJt`9=O2k<=TXegMiF{Fq +Ifkr32*Pk{eFNxzBjip{!OxD;VC9^q?C)BHH|)q6qQ5Phu`OV%J-nwHSd%5a|{~U!yZE#qS$DHI1bU}FL8}Gr=Fka)!@E+;x>Gh?)M89J={_z8HzvK>Afs*`D$^ZhN{H$PC{N<~hCU} +#JH5{dnR1J76t@IDj72!C_YX)QNCo-Dl&qPp(yCQ#wUMQv(?8bWwr*Ms+@&Mq&QTsqd!wFRlQ!urlq6 +TfMgK3`bV0LH00+TXC%bXJPsKsy42v`;f?ntQT^j*Yb8IH#n#m`Oi7tzN8lF&t38+RA7SBKH;p}yOSM +h@>C}SJiJ4|l$4z&p&+-Ja&+_ixp7$jZv;U3Z(#r20V%_cf!WNDr2xteb0`h?c7oNEmq^JM#= +m8J9WiVOCwOouCDZ-prJ%Te;<#vDJhoEA3*@;1GJCF%#70|~> +X&;^{swP36RMTrdB!PIi}00G(7u!;4KBAv3>SyYJVAQC^(Yb&gE*LuULm41U2S<}ZxrD$G +=#M;8O;s4KE8!Lh8sISH>%Q5=)5!biVJqw$e4NhtWWDVVGcd>>%1*RL~nr^Ua>)6f0AgpKzVeZ|-}tX +un^I^;E4;_jNy5yKz9AR<3svCH9S>M*3%+fo02A|CcMFSS6r*-y8%a%MBYBpZD?#%Ds2Eou#B210(D6 +fQVVW?_E3mzd5|uBLY0qFaYT|Hg;qW +q~a4V_9X|&^8B@s7>`B(iTsSBpU3D79*t&H`cKO9U+5EuX9Idkd49N0+%p(=Z+ZUD`^2H`hJHtR{xAB +(;hk#wb>;d0N$QQmGg^IcdH%Z)2Q(8qA$m85D2=^cl(MXdZ+_VmL1MyO20BK_ZS1!XC~wo2Z2^`x1yIY +n(ugujT{-CLntuykq~TW9hdCVW5{hm}2DNIctJEEbS!^rSwUg;M6#IFvDyJ!D^^9qnZUrs4;c}nEb?Xo7cCujIXjnQ}Af|yVWBBO)g_JessubC164$vgWvAx9n-+E8r5PZ#prTV54lM8A3(9 +(&N;3SW27ixvQX8ijf{uzHcPC7fSOF6ObL~{DWuDZa6@lXv#iLw@*4Q?GXrc?dCmG2xFG?M=8TDnJxk +@K?`PPbU!R*RTrJo!wG?nFz4$_Tq={R+jod|**yCZskqXpYfZcLdAUBoT}r>7%$DAOuCgSLrIWy-`4qjzb0;>-#`vkY_-Z|o(#2Y1| +#>qp*4wOBFk{968nAY+v5Ikj}ITpU0n(Qaeu3^_dLlXA#YZ!_$%igfDLmhgA(7|?M%F#K!z$$&S}SIuD +tskalzj3RFk`fK2Agom*IG3AtD70Mlu68c#bK-8A((F6~|)qSu5a+7bp1QDGO=ar=v^U;pg$1gww=34 +Z$iwj!vgg>caRY|Bf$%(OSo-rL`5E$@zDlH{JAy!{dLQgJiG?M42wY+17Voqr2DnMcZF4h*=^Sj=c-W +>eKH&WH_9C-rrro?GN(e5x-r4`+qKs3mC>4zSa;krd_Ua$C?Xx4hI0C2SV9*Kx_W458!R$YjJaOj-l1 +DH=>bT!*{KhlTCWQ9>#qVKlP?=$4}U6FTRkt#AY1q4;Nl-c0F{5O)7z`-tem$IxKn)OH7x(@Z+myO0X`qO;u!0&hmviH}acIg~+;=JTJAF +TUdI`Q3o=%fpeB76e&V+XEJTp$y?0g(js;`_W8I}OJu>cwlZUd*6gd<(reEqP9(!_t4BitjwD#S3SnG +CPhAmjS$j8V_3WW|pOwcjlu_@y`6>;l7>OvMJt~Gm_^_a6@0z)sO%TelmOM9ic{enn`2-V;F10^UYkt +lKqh&ta?l?2EuPW)hfg;2!*;bI!K9P*F3*RD=WaFMiWS)F7@1?l{Z4>Ev>}rckqiiljmV5^Bo>}N_+5 +Uba&_PT9FHMeJcPd`8ijiWB|9ybte})M36j<=e+z|60uAO%o)zOP*|`_eA_Kl +Z)_F3KwX{|pxyZVspExIY1`ToDpIp-ZlglhM<`@4Mp`@%cVxjyGP&$*xXJkRmGA#{DvBB|Ci;DCt?<*s?^ +0hbAHijwnJI#N~_g};nXJ&hFE@^hlB+$ulN8G?wNKw0N3 +5wj6V{yVmq~zD{e3at))O0rb;@ehd}o)7+Jo)Mn2+hE2P@(I(GfZ-mM7mN&%YIqD7YyyMxolhNVzS$h +Z6nfQHAu1TiUTG!a|^ySKR&3HzV)qTd(d2-j#@pN|1HDo;NL^5uvb*|n`@pQVzbIRM*^b(z`^M;#VqO +;aS-N!pAGu5_(rmAMwRqKO`|H9bWhW?htTgz)qYYgUkcp+zLuB!|$H1#wYUic!a;?*FK0(Z)l;e}5lN +;{dtWjIVf5H8Le26L1v1m<4wP!5iz>pAIoNkf{&91S)p&>;k&h~8=A!SI73HL+ +lzRsFQ_mpqn#|1U~2z}8(w~u$l&1TG$2CMW7erqoy5olND2(!8N`Tqy`fz11_T(G#xh9Ze%FrPRrnl02G=^eka5lp +G~%UbjMz`Ez)?#H5s)*6)wEuCp{4s%R-@sZOlSNp^~9wf${-N9CWS(~Y +#?Ovm#W%CLNlIlYt5{qf`)?Xl}8oZA-=!Uy`W;{(Vp%oYu>DSgnuthh+gakcA73JpC1>U(la6|C!s&- +_MjHMleVL)zII1?EXM}yb_a!jSUA9ZqNZS~4}L)Gue!Ly&&v;lSFsfHOUBjGrn_a+YdT23E!_<3 +&9&}d0LwKU39aWQD=F#HA^s_1*E;bq%gv*$B9;t``0M?5A0?zhydm$1_4OcF4}Y4C#X>ZV!JL5(?JsOMag+6WNi`O~d43(ra8#TohM|C83&C2>OU);sqk>;ATOO$P{Kf$owQa}C@CME8kD1-aXp#EO}M +_<3^`M&8W<%;NW_vLA$S5mUyl_|trqC@XX=JF-EM%qZ>>m5(G4woV4hC92^4m@&i_~j)|t;p1xc%CUk +8 +S+s(wY|L}fE59mFMidma{jk)j?sN{Y}Hp^Nk{(swuiYboAr2@b%sC$>+v2p<6-sG +OFS_n^-08iPoXE}n%^8p)ol~`?BXJnq)XUn_PomPcYcS@vX$fK +=#U>gk`XxxLm4T0w&oeYYtHDJn4~%(yGL?+o}k^lrcVn@~P5qA~3x)h`axFfj$r}(2X=uQ|)}t~KGXVeNxr!%gqZJzE#z8b +jij;p>CKKnYjobha+QWhn5#p+X6eT13v)1-T-HQxJCvB5}dGreOCpVF<)}4*pi|$wda6Nt%$du15{y@ +`6Z%CqP;Lh8zpTqtWLlPiSPUbRr?l^2`j=Tj@(owW%?S#0Wj+ux4^?;c|th<}8vaJc`8nHj&0ne|#IQ +Yc7yfobx$;a>5WB6lRDuhoxE9)X`i8WMI13L?L#hasEVz^s)?lLbFIPG0T$`7DZ06ux3P&TP(R5$!!Q +pERuU8xhv!@2vh6HwKiIdwV|9CfM1lG4LAgg*nDt8F~1~!X8D-IS}4bu**8%E#b%M{CtSg}ZXy|zKC3#~{T45tQn +gKfdHFP}>M~J2D2sCcViM(3=T|;iGCksN3-Py^+!S)7Lda0at&!Z0ky``k;w41IH!X_XIc1`NsF9|)_l&3bPLrWZs8NdirjWL|Vy0@lG=|Fixb~2kR}1CjHu?rRhTpD}F7MpHLu}?DFw_KJ+D1qeoA +lo<{BwN%pK||t&Hp#T-{|vygZppQ{FmK873vr~UfCulMg0-{-NigO#!D^SRKimoycvPKbTRJT+k`UF; +5)^I62IIg_Ieg(rGDhPnMc{g<3=vo#`CMjRN90R*Q&Fwar}k`^=$&z@UhCom4VQ~n-o5Rm};hdN4k;J +qqI$V)*PRvb7LiRCdP|JaHNi>cF2{i#tgSHsk*R1YPao+0LtG)fUasxqzs_v$I~c`CvxZChzZ|h37;s +l=XDzw4B|n=CpX$W9Cc8+dpRG!vVCjQd3%299=@#Kw+`pW9^@-s{sF7NJT}@D$_G64RrgnP`Cccwe9! +y(&$*%R?1P#Z&(=}3-oN?zz9u5CDNGHyaPzn66+N@=kIICiunCx2~#Ue +rO&j!wahCPrGEQNz3+bBq|1IS!!~tQolsifih#o`G8fC73TxpS9yX--=w#nCwL=Zb>#X7`4#Wp2Yg*n +*#nw@+K@eIv;4%+vaL0wD4_agyl$(tdL^~jYt~bHeFbY#z31kfQL4@JmBrIiJqvT4Ro9q3Z)SMvOzNv +?DJfjH1YP#iOv1;Q87Ayj>r?mC%+;+3@EkLH>}8&Fn2)}PZ%JzexbVb%%i_(ur3zF6!9b5Y7WGK4fv7C)`-X8q{!3Vw_xy +4>mYEYE&EcRrd)D}ZJSN$1*4JBT_Q{!lgM_H(Vw#rv;+v@V;akreGD&irQJSk3 +X}Uts@{G?#Uoa*rBej0nXf4xWRv)8y-iN;=^G@4gG)E<|&;5Z~{#R<7q^{0d{`W+2z0Otdxr+U%@g31 +oV=iRKOT5QQOm!WccP&sStQQ8LB%~!}TIcPihF!ht!86J{kQnnGcN`7sk*|R0SmWi$MY%}7eky +b=_(q~hC!6D52rU3D6V+gDdF?nw-|JJeRqNJE6IF96{%9c7Xk8A#q1|4MansHbUnovho^b8+jEZtXkwN{MA{h +jmzeuUBvs^#fXloNcaoBDw0IS{*=Rt{g+Q9C|~byVy93K@Fk#41k;gHic|Fbq+CCk +#o-J=_qkR11eRrCb=S$}(ZdR*HpTu3{I49A&;RELLU+LyD3q3=YL43}s5nGM^TIWvDRIZI+5rm?_svH +(@5eDEehSCI8CBrQA$xQ<{aD-^+SZn5i8p$Ap>Ml5$X(iAzeYFw-?D%Co{uXLyyZ!c0AxvPGEbOro+; +n48I5DaQiQ +?u%$jFcFMQB-|>)AT}2V*GBUp}%>3H524N;?8D+09ZzS^$VctyUCxv-2nI977tz_OL%-hJkPMB$-uB; +H|S~5F?xt`4V!rVaSxx)MqnX`nM&WbB(!rVyaWMNjwJVcnA$=pkrTgV(G%(RuS1PQaA%q=d#XEL7_=2 +$W}3Nu&2c~qE(khxx%NmI7+k}#)`d7Chk3UB36VYZTavoMn?Z)Jlp&n0uYFz1ljCCrP-yjYk?t+6s+n +9InVEzIR)HVgAQGN%ahMluf-=FMa_3iCr`?k3Dz$*dRVZDhV!D$0V)&82)w%N6X=EU}=qt%q7uBR{y0 +Uz7PNk1<6Lmp6sW4&f37mjlA(ap5u-E~;?ZBwTXf@||#5>r0LIEmZsc`j%J(tP}xn6j6`f1;}GFkn5)67JA)o_iU?L2b6QH=jvz~?*4RR>vB7@r +dw#iniHy_V9kXV!?M>fh-Z4bp{ne5@5*>VTb^eHV%guU@@=nCyECfxxb}Mu);LU9kEwe`)zT))My$LC +V-Y?;F396(K`zY(n8SrJ2#a$M-LfDfw?jYQ73xn}=vJ_Cz3#f8F!xZgqXswk7jmn|-IpY~48lJ`?znw +r1?sq3Lc9@y0$kT3Kh{))m}m8vP~FX8dUqDrdIe*YdpwM>WQ=tWrwuq-;Ji-zINE;F{aXAuZOiWq+EM +aW@M~_h*Ao$KHPl-T2QXm~sdrdDM6_EJQfnblUi*sTLPk(xb7;AB1IjE@E3=Q=6x3nAf_jD1R-x!y3v +6jLl^2Rl7FV4&!s^HMpI=t%D4K6Q+Mew9Ks8fe7HRbatkYZ70K@ZjUcKSv1Ijbo_@@nbP-vi^DELpxf +~T#Qvfyd!Nfx~7-!2P&y^sY@Hm&y)1@Fvn9Dao)!Ml(oc(m|&YJ&2u5CcE_GsM8#l><+r{kAoy8^rw~ +OYe|-OjR^s`sBbJRxYhnV=L!^;O8;T%Qt%zpA5KJ%7D+uJ5yPMHMsKZU78H|LqZ1p4|n<2(Mfk{5;dE +-M9oG&8SwW)NdD*z^=x`rQ9`CIbGu;dwEU!WSczun& +LyaKpqKnEv7zpzj=Lsljm!aTuS4@R~C>^J!_k#@+79bTrbs}$WUTY1kpJaHxGPDuCraC2v3L(dYzRFNJiN4u+>MgW-&Jz;ol^di)da{JyNcRsV ++#+FRC-FHmo=5=&6)pLOyG!YlXJv7KlvYpCq}6G!kxQ!&(xlaU3u$$ii%Y7%trL>!-MOTCq$a6OLS{_ +~K_qb=l0ip7X}3ocHXmfzMIw8r!b`jSc0cM9t%pd=yyP7cRki6Yk_tZe3YY +T^M*K738J@nT)JvZIJB56C9i@a2QF_Wts1PsL5+G^lP=T)L1iJ!LYfRT*i(&gzth#3Ldoipw&mJXZkS +2WI1Ni21QDB2<{p1$dXj079SrGW<+NKoH2)8o6EmDq_S@Ajvgx8w5WP5d=0Pbxjnee9hnmBkM*AcL2) +sc#pLZO3=i-Gf#)-5GMK{ttj=W!A65bB^>-11_>mNG-t9w6E=m}tsY>-n}I4H5yE12kI`Ub7xP?=^~( +$-S9}Gr$|B)|*qJ>AYqgLVca^8oB^$6KNgLguu@TA#mykgdn)3^33x2LDTk`rKt@OdwV&&vfxgd*6SN8s#fS67#;+8&G|%#=#~B7xR8yih29Vb}Q}>svi-hp*B%{yu*0`5te +TF6>{B^TfE&-Q~*)jt&=TpGMDR~+`{etBHd^7gf)y~Z6nehZmKwS&XoGS$uRYMbg214rh8Y%GTnXKmF +W)9M7odik)oz*myqZ-bBS)+(zjH34VB$>e5D^+o|+^i{z+FHJog1AHPMwA?kH3F#YOIPO;pr7R+2`j) +~F=gy=qXaME5W0VmcwwjnX7(Zm*uAQaCg{t0&U7l0Hj%|*34ucR$+#_`N5=NsLea7~o^(-q|3INHy@JarhC;y$BEaZmp +g6H*r)z&%3zA$=C}4OKVs^BgF@5mZ|G(h#b0!%$3TU(vau$dcewYT=EBYk-RfF?tn}<~DPs{3O<9PRI +w+gwGH}6XoX8%}1XyDxV2a?uUG$+}VDj+gQe9}9_Sfi%4(f#bxe +|yhHX@mtR-pj>OPO)`+HM{E*7)QBB3dU~IC(us(oyRpZ9EyOrOrOLljrZ~xq>iAKnAqqzG>pZj-)rs3 +qCkMWEky4yYk(aBy#5WOl*#Kx5wDmxLx07qwHXiUnXdTcU0e~=GQ$}I-EaTnZ3Ag(!ti1+$~%B1fo&& +0>|{k3tQPYJs7U2OlLao_n$rD+YF1}eXJjoWAvJt#GI8Zqc_hRJh@DuKDl2@9A1etEBy|28-Mf(PL8- +{z)i8k#th=r}c@Z_+pdt_7Vt<~8`Fy@5rO_Kp=1jV=>@2cYSdUrccI$L}y#SNtX!s?KuV{;%ts&Im(L +(@9~_HN8g$Fg>K{uy6`!s{cW7t&D!=`%8R(uH{Ay^uI?yrLfXB1v^`zs%a_i%}sZl^*`$(Rc;YGQ_yo +9Gstr{(aNw&O+Jji9ed}1#VN$%an!fbcf$=M`7oA3!Mmz4-zA9-7}b9yqIwVb6mOM2$l6uBMMAYHSIX +qHr*|vMPw&>V6+(b*LxoR*?q0?v=$59A4@6p}#h2;b`u2hL^=^@VbbhNJ>FhQe@W4WwZ5RgTr0o1U#WYGZ%wyZOEjEP)g4K3R8EhGO>s|fe2KQAF!rPq!WOQuu +^;s(dGA`}_WLQJO4!|3c>pQ)OHr1t^%Z>5&s29bKF5`990@iM1y9(=Bux(8XX=#bmB}`>8#nHH@YIxF}}t%g+GI8hI;c-i1;-1D!=qj*pA83!tZJb~wVlZRC9( +*oS16G9g$QuG4Tf%zoTA{38^yDCNf;ev_u3DEPsDdC4eR2;hHYOY~JFs&vqq%*o`CtKc&rQv+#cZ^}!&xz!<<1)k|Z)(g)iF+U +8c;@O18=fW)%wg31-rK3p@R}3g?qk>qKf?ibfB`I)L!d3SU^$Jl&-!YNRkrfS)nh$uV95*I;iP$RLu2(=zYHXEhyWM%$zW-GaIr{El-&Cn? +ths$D;Z1Sxx78%^EY5M1Y%42S``1sL9)ZEA%e#ijSIni7vl;&*nMBYaEG>@jBQWBXP})NHZVpYo0TbQ +t<;O&t6H+VAJ}b_zZRLxG;D4x~qhaEq)JS-MUU>TytLS%9!&FYrpw4JFGHto#Fe;3ANNmW?O3_6MxG~ +x{ee9ndxS6ULaIFR!oj4Jlf4rQ7nlVVFO8gLm;vyG+Xm94Ya22Gi->Uxq@f!3!IyrIKx^R(VM;jKd1~ +0RmZeU(QY{p*ip7dl3oH5n+u=iPAI)Q)E%1y +3DU{rua6-J_0>La=&`V$rw@6Nn2fd^Jby|Eyq!Xo`7nSZg*#QfP~3KNvLhH-bU@ei6YJPlVo_uuqM7_ +!{0}g$I(#m()wEcX;(`O#anWqsba$@>~=dMn8asyo##E?^l14u}zvBB~_Y`IH3f~}>xq@`+ +Htjf1QrIyZo%aBhiWPmZk&|HI=W*1SzSoG7dFG;=#J}f#l=c^Zp{a~tkS$7i(XS~JL3Mm&NOOgo%2%? +UhRTr$qP%zqrQC~BZn%Sws7>SHo`Cv5dv-N64AS)X53|JdcU>Hx{?f4NKmGkVa|nmPuUPMBM|bD0UtO +WQbK9>v*4-H!a)s_rF^A~dB6WA3xZTInbGQ5H?z}TZ>hAnlxGFna15UdA$8~qA!CT6SmGAP46qI-P&2 +s5cv;>K)m=despB_&h-mb6&S!>dbaNwgB1)>W}^7P`GXrIh}#raF_NM($V1n)$!V|Z%hwoPEiAS;&TH +8EQ^wUy(b8J*!}vtD1(nC9)GoLlb8LFICJ75NaKtZ7laQ7S}8!vrV2z;`S!iMFGyo(qQUUm2>Z_&E2f +GVgKPvm91g#&6Ucwn<1zjHY>8+T;9=AX@JoQbtiYOiJbL6!DMKw|C#|6t=)#?|TEYJRg|Wr>DfP9v2{ +X(tbN}w?Vt&P(zz?w#f?=Wzgeq^0**yry6Sp5-4U-&)t6mm^%zLUzRv0iF+8uQYj>(cyq +yg%+er7Ba(Xi8jRgs!=tka^9aU5Ul~v_8!O%EawmbmbUn5gIm!y1JViEo1Y#xd-q|hz-v +pBZ1}=dkf!-XAM2em!{QU9>x9{d1Vw*Y9y0m2y#Pd3tbk@GxXMW^+6(<#R-j*7 +<8be8GAr@(%bJ^X5|9dX6q6X9Wfz*CrVyLiy+*s9heZ}}hPVQhoa^u<|mu~jHlUFLBuvSC_s+{5qmyc +pP+i(TNnoeuk$Hyp65lYGQMfBQ0`iRuXy?251tF3v5F;u_AulMr*z(WJ~S#uO9?*wBMR=z_dCe}(qO{ +v;?+PuBHS!c^_2dqbFA&Sv;`dxmbYx1Xj7qVi-s0ijxu9+IDJcEX?QP_K;f{oI&lh5nNRk0lza6vVXi +r{gPsH3ooag~=N&+)4@?d2F~qN1$oz>`MC+SBzmn-6DP +z22vmQD-Zs3Z=jkknY7R)G-l>gcr_-_C{U +wCa{KpvQ6a39BMLNOAH1y9qq1s(|FnUzDG4BS#~(byUr-+L47Z;1Vp@e_49Y-B*C`XS0vkR1>l%a2fs +I_U)Ju93<`OPs{1(J->dRHhe`=_rdnDBTORYq1!qiMY0rIWG?7W#mlhgUkrRPtQ9GAo@V;I5Suh=2wB{X>f>ct1D#H_0yALxK9Y*DOKTtUt%$Llb +&nWQDaAJ_Dl=rP|1{Xe@3FR5>=y&2X%P8fn!#AURfX^rm>qsY0>i9wrn$}7>!RR?BbvxbU@zr~&+eyq +S=}L^nOS^H~Ku3PfOa<`PA +_}ka=|Lh39j#=VQ7iu(Op;Vb?2B8~HXFt-d&qa;j?O6@rJ9Z|??c-*XvJlD%k1;zu3#dEUYzULI(EwG +S#<_k?3yg0seY$zZMHLMUhl=DHuzXePhM)BRum`)H&H;Ed-&mgg(a2jWhS!jjhg&tj}Z=%VE;Pd^(8s +FF&U7sm6?IR}+TGij2baG4G|(VCUoD71zbj9naH^^7hnp@rHHCc~!v*3{8X*xV(g73B+5EYj=Zy$P#a +JtkaZJG;MAYkg{fYUu1awzNJCA7q2gZ7 +^hnnd+BV?%{*LmET-@Pxf|7ZylyIT3tm^#ln5}xacfN&|*Yx$VN?jgs?xUK?0jc{98(f!2lC`!qm8{f +SLj`?r5cP)in1}=nl~&q^&O4M<9bXUj)$4&43~wqTE%lgTyWGUQ;b7j&d~sJ3(aH0+lKG;jb)aw-`FD +oDjk>c#)|zgelzBHxO@s6`OE^x(Z2B5&;M*WL!(hRBzNCk^wh0}GGN4GCh*Gn@af)DOIAP9$1tfX)G( +GZzzgR85>q`0X7F9h+!3K(8O~3m=`}W{FJDo<#LiyQgtkKV7nXasuBIb@mXzpmLToKsY-4|6UhR-Mc= +aK{V$;&>1`OLk&S*5@79}{jWWSn@qOdczmv;*a8Y*OqFvhOQnys8?kkG6CVYh27D5@`qm0-a2jt#r=D<(=16zd@m=U=ucBK3Xp^I64q9`)#j{_Hd57zlq>kJ@Lb;{TcNyY>L +ejI*p-L>F-S!1qoFLH;`JN{he0wrdF(-b}dHt($EH*=jqZy`|eNs&pRYZeaEzLg{Wu^5`-TH{pfxsR;$(OXsB1C@J +y2`Nu3mX%;>3~3sn0OC_CkY{k@(LUtoxE{VH0=#}?(SfMmZ>^<%m>>VjkjK9=JrS=>TyNH;Ofoz_U#A +bKHLdxCMh&y!E9mQG)edF*Qw%kx>v8rWHi&YRT6eJ +ytn@W#TX)35eMY5o!9uS+SnRK4d8;U`$U2GhCYakT?kEn~q%1Qn=Wu5GBvc2|}zYW@BNBfm<^8|Ddqe +i`_q^WTrs7mz?ceTfr04mn(f(brWiw4)$^LBo~6<86fO4YneV-)?O)?>h%3ivE5-|Cr_ +#_v0SW|G)>FwuqQhAR3*V%Tm;*{L#qx6aZ`8X>!o&{rhyI;fp}whsNl(*;_Gt2_ZC-BIpodrP@*9M9o +e#=`vZC3i6jh_F+7-Wm!T<`PDI&iLE9lYBORdL+?ioAP&iM&5=m* +=CAfr)mJc|+x+moBGllaO^zkvD7))3g`xE9k`~+>tBn#2+kpBa{q&Mlj#AI= +miI~Tjxtp8YDU|$C-{BRGdj9Y`jdI8-+j_=37hXe>0zJq5uV>C{d$wC`tFma36lSP(gET==?W#_vJ0h +mDqM@~oQhYCAfaiT+U|wY_pfUILg_abUU8vxe52M0o#rK(9#ufsuJ`(TfZXr2^6RAe$33fZ9Z#Mvm42 +CyPZ+lE^>y6-Yn97&fC**pt}Mm)7$#BzuT_UJOZjY~Z#p#GS~FY6m1@>2GiP!p1zSD)y|Gv5!tB3LD5 +Smeesd&d6^($az!v&vknJaj(!AmT?F6Tp#rK_^(KN3Q{(2#Asa8!lZsf-cMMb33*XJ*}I;k-q@q-uWn +$&?aF`}shXY=2jC@z}MpR`$W&?NmS%KCYv7#_^Hc~7fP#owt@KvyBA=eOs#36msZ=O|e+c9MT=_#`PK ++v24-JL$-xl91nSB=GpKN3Y~=ZHFMC8SU%5cD%rbYi3eo+dyY9uE@#C9Olxa9G-74?oK}T-S6jhIfuB +Ax^hQ*QI)ad+r(;zzq(Ne)}#b8R%_T)=fPk5>BqH88c&+F=S9Uvx`wV~MV`$_TNIucE5Ep}+pEgC8?U +6Y4Oh1;Y^S6uRwgmmC=5Z4ij~QXw8(_X&5x{_;LmUOX_28l5TQjTOi@p_Q?6pCD5Y&0tzNwscF29chw +?*iyDUgkHlA+vVE=`uyq}K4yCi%_!oNybFX7t~DiU6luuFddhfA0#;d}|560Vc*Q3+p=@C^w+l<*4)* +#H5fBpf2)brK#NEZ|EL{#C+F8kFI-O1MM9y%IJ^ctXN&CF~S0U{49hNH|l%#S*TN@YfRlNx~fxHb|&Q +7&TBpql76ES|yw`SLZj8m-1XSh;_oy^UOnTr)7MLRR%b>ffGHS+M0ER4gMz +%rH1z@L8@&6mMF1DGdw;EUA^V%wOBhiWg(bkLc^M&XZKh9QgzRJjmx33C7%@s{A%jocEQHlAV@OvI&p +?pDBYF5zJpBS)n$<>I%LV_69PEr&}!a5&*x%of2`j1ZLjr5r;mF7hwrKDmfj$ZnV6O5h#_ZfN)^Tt0s +DxW8SdX+&ynj-ULENVkNiN`4Of75QQajKkrR!E-6FE`e()w^PVlfmhH@`6B9^JS8_=DNG4+ZshoiczB +VsT%NMVr(ryA#LGg2v4dtK8^RLdS_EuYbM8@1$n(+U&(GX;IaSPQq#BgROUKD+ab6bF%xSVAZXwTS+w +vaiEAL{&aPhiP%(=A)c{L&h2jb?*@)g*N07Y)Kk`g{k{5a}g_x#fv@e}py%5t~+@jV@QX3Fw$`g{bZO +E~wat^PaeM_axn`SPLBr17u49OQSvkCEsvG(2uz!V4u=e~cT%3!>8>r-tv^f3iH6@tpp6yK67KG59Jw?rq$p6}};ZtXA~4gWt=e=b +icpYuPrO)fP2t?iU}UBc_h5Z>P|=3^7}1a=?KMJ?&Ly(amU-_NI)LWnv_Wx9mhUG37F7a +@d(xwM@U)$q6W_XWI+L~9cxmIL-ej={)BHwSlda=S*2h?9Q>j{+o2yC~*kdTDR`Uf4sWyT7Nt!KGMEU+WTthofUSYmY%ft +llGi%g}qGUhqN!((v$YvHTtCeqO`VrBkZcQACq<)Z~IO@FQNGcmBnm6#%aA?I!nNx5hZ>3j4}(Rg@{S +DL{JgtS8l`kALjcgYr?*Whg>4(8v+C2yOq~~W%#|G$7`F4#n;OFas1hrVY|-9FDw48gA2Kp@|m-E^5x +%9K4%htMxV=a`Nz0>B6m-eE+_*&n`f9&*nIfRyq6O5PU?ZQ=LS%o@Uat@`r&H!}C`H6o>6K{!bK8 +Deg$@{ +1*j~=@6b=K7u-Vf7(jNBu;&+8_ldJRB4-Vb9j$X%x75sJ~I*8-_6GRz}65mIGz6XT%IqHu9lvLU&E*2 +(c+_CS+85N)M&$FB*St%g8#O}{QN{=$wqZC$tq*E=h>GmwEHT=4JAu2vro-)m5_CY-Qm( +aOzuVQQV^TzF5>ty-Nn4%O%7)vm4PkSndd8K`$DHX*Xd(eW^OUJB3(+0@DpyrN%#mC;x8v$gool&95y +4@<#y)hay*lqh0+AREOt9feKzpRo?mSDbC~HCHd{$CcbwstFxN$RC_crZa1@68ng62;2n-7D6rv9e3y ++BGY>0~P(zRR6Ro!EI^o;A(yH8(Zzy1T_2M!uM3SioYSgzbpN&{Ig<&{jtBwcK$98vBvLD_cQ)&kt?eFg2^1y??f9T;y{_yByk3X^XkAM2}lYjZ^-?lyV^fS*s_x$!9J70M5rN6(ttF~_Up1 +rT^+h2d+)z=Qb{>Gt(!$;mc`qta;9DDcpd+&en;YW=hpZMhDsZT#snm+fQKJ&$w&0l@}&9~p3J=b#n! +uJ<{xTOA<2ZWA0{GT--{7>iqe>(kt`+(fB|Njd9)A!17zxL1@_8>p|uiMz^icr0u{jN6lyW7||wz1#S +#(r-b`+aTfbcLwD{kb-F`ixF%;#$1)5p}X%`}Q!WusFYD*$h{%s}S=rxX&uJJEtzZ#h&NNC@v^*F5w< +?Bp&!@<(9fkd9K2x_Usae+u?H;ZUP;%0dwvm`^1tm5px!1&K9iVXa{&WRu@_Lqh|?p&dM+g?e^m;vQ5$ +IWn#*&g*}A(_RC7 +wh#QWe&$OhvN$T^u^@{y!2fr9(FgFI%?$b{35w9Yvs?(!X@?+x69OlyJY+%x$9JP+1gjzPtJmm*n?aw +*N&5NUAaX@i_=-+G!_;cvvS?Vd5i57Z=t}KTUcbzH@ZrUB@TPB(OzcHbGvdE7HKQVS;b@_{{j@KF}K* +5>p;MK#GzFN3VL{(a87$}zOlervIH>%ngRW2t!x4Zte|-=AY-W#e`d)-(B-RM#@pO>=kmhhMaBY7*cJ +Yzc9+Y~o0Yoqk*$2Uqo^=XgwTA%1Aj2D;{fotJDnZ-&uVA4G*9jVy11LzzsTdO%~B@5RB1a~gV{jDEC +r;U2w`Sz_`b;Q0^18+#=MezyRoFe=+M3e(leazeYURa6FGh-;6k2CqTJ=v9!r@64OUXh_Y{krahv^fwz~}{RMol-^s3L^I7XN(=Qo +;e_5exF;$ULSFY2~`R66;SB^ZtGE6)C)AA?Up+BxG_?>U(Rlz@u(OpWU&6+uBSW5flGkCyYW3J2v)uJ +{jTp7OKVC1o=sAL%-rr7O~b!EJcdD21sb1rgIftMPG*q5S*DJ(GBmpEL@um0)u7NV-j%9IO2(LC+G%F +LOv#J;3NZf*3Jt*gJUof+G4V{G~i^NhRy^1B&T2a+Z}pD}hv#45{QX@Z-6-FzDFO6Si;AuXSeF_8wo( +)p!@OB_Y^1x2#ooS$D<>YBf7O!9C?{zCRM9>N{nRnNNSN3gER;jHU)LqlY3xZ`As*t?$ChcP?e=0*|z +7MNH0*>#-)Sf`NzNjgIiGbDFnhLPcp=w4y0SH6MuO76^hIb)lzYV6j~r8bJ=r1ZL?zwOtbv9OONjvis +Ghbxlx01Z86hO-{YusdUFdkl*l-FL5n#ko4O?)j0RFM=6Hg*iJl1~mj=aE;Bw7)bHMf>;>hz{jBr*Rg +QqT-Pm(bxSs|ZX=_bJ2yr&gw^UDAvvA0qbaSuNW%q~ABwc}tjF}22937z1X9$1eofLA&GQw)^QDFP0Y +geiB4bvK{@5@U3)*8rdo1XPoi6gL3(~P5&=TFP6YG|*2R$J~j}OmZMl$x&$W}Z*MjMqy-6+Q9CNs8Bh +A)8m4nMo#LnjtCvXi4dy7!M}?C|K;^g<(pS!8l|7OCsTI$?gKh5OqW^h4J&w(?^EbrAt9LKn?+#t3H2 +k7mZ1Sa+gqjm}=pJsV>iuBz?k(DjNCWj+&Sj&kZXy|vt<4X78$j{*5HOmC&<>j{i?!F=L=Nl%aAp{#f +QUe-H#59_UanRTv>aD>ZpZVZ-r3<+Q%y8C&2-y5T6F)qCMAuI;@j~N+V8-1mluZ&YCF}57<^BNzhoF= +yB|2+JDm?X;@FuHpf>L2Q0awO|My=!xHV{03sF!xv)>zl#YQLP;P%0Vl;f=tF7c)ylms$hN+ZxVz`QogFAi@vesyJJOk>xE=vs}g^)}3FZeVQKiT3lke=1`a@MfP7u*a})7 +MDMb#m&rSamiCzoGz1z5)@@XO4NHKhO$1c=UAWoXIY=*XILNIHWnqz$Pw)853&UhLVP@+^w!R1>|MN0 +Nl%ZydKQ%&#iE?8?UV4N{6t$IT*^(1ZJO7LD_ZtLn*WRij1}Uok^Z_aL97ePugksR*}Awe^eIuuEBY4 +HW3c&2&ebxr+7Dbzve7a8dmQ9@JY|+rn}*JcnIaC%Iek^hgS4eUl$&eR +W&d<-MIKmxds%uAqO-m;LK>&@bx>)wR#pqR*>9A0u%-1^Z;!ztU*!hW-m}pxewy^kWgM+r8-Ds9nztL +%R;;?OOEXz@HB|(^qD-(b1h)G}4S7d3ioUsu@eb`{z&m(?GwCxZM!9+jOMSJA(BF&fakE4foz~?>(|d +WA}!bTAn`gV*qZRKCg3nUgrcYpaK1EkC`E$r4zM}TG3bI1+G|xjUD;pebiN((2h2>_EEa{FczQOgT;T +{vpKf$s)la0T^!LlQQ5rSPuJ?b7>hI#ZB?9m5l-W%Q++7MD3>UPYb^K*9y&xF%tsx(sogqQAMoRKIsVgFAgzgXu$g86aT)uGs0rtgY+=pY4mT8k%t*e#_N#bpQX4*7~81D@1RY6f-r; +M^lMX8-%%$pCu#1|7}X$h9+rJs+i`|>)XtiDI|~kA!O1#|vlvH#E9U9Wj>w#dY+b01h04$- +17&qjWuWNjh!*;0Q&Wz7ediE1LDqk3wDT%=)&@O|yGk8_5Q_F0w)S-?Kr<7uX=(x2)Ay;Mf=<#|Mm|J +NmS4J6q{2Z!=>#{aW4D!ENi;ti$I&=hg-M&$)F0|F51~@2m4a9$urHYjQeNniiBvUH~%%V}-vm$7{uv)k#!Qe8_;A3P_w&^4*VIis+6QITC +@T7r^`{Abid?%;o`oOG`+g-(bnoc78pK% +4@oPNy$>4$r%oN-W+Dp&2TyKpMm^d$3vi~7xH3eGpt#2OxYPcdY@Jf3GDEHjZSnB8%qj{U7+Wk0INOM +L1oU^o7`-oEfnSu9B`sUXD)Y8%nfbol!@IU!sI$#ZU-@Z4tpa=+c#@1rxQW5iWl?b^DSk0b_bOS@aW(_KZg3z1}Q(X8TSg~j=(`{b5YQgW-?G09z=M;I){F52*kC7< ++Mhs*7xTIjNux!6E*6HzT?>}zHrKBPMfT_}{I8Fn5W{1HBE$pH1OeF_}&27>lo`7*j1aGDo1SKxJV*Z=-0p +EHN-E-G*d%9YW6b1WpHCoB+0h=ofWTu!~(FtmH|xjk(C5Y#RI6BHk}qS~rFTUUW$x^WLEy57y(#9s(` +X7_2q@nI*pdfc;VQ8`*XzXGw9MAPh&;ZDDz-%f5s@#F$EXUSMLiK{JZ%b_c +s#_A}%$hrKV#0JR8XnrK;~uK+Kf_OpY0gxEy<@avCmM#;KM7Za+9?t%go8l6x?<8@|lk9NLxYb0DN{VSw@rNl$}^XNpvgVO%6q~}qY-V@S&yQJ?8>Hm)OC%wfHemwK%d)spOvFBeM{vVD1@5c +X+#{d8IAysDn_Uwm+oW{Qj{(GOO4j-KsJ#zAqp +6t{k$|LhS#=q)eZkmP(&$Q#eIBsMMj^A>8SSDePgmWd#me4 +9;nuIA5CP_F%LZgJS5=Kd=XWF`1(y5B^_n3tB67G;t!@pJ9H%quqLWhJo5?Uopk}zJvUJ~jhY`i4Xlk +mT5-W5Oo@_mE&Si^ho^#19hg8}+ih!(_dX=`~M~?Y7g8r~iND`6+pnfHqH{e0&HbzXBvbq_$qQ{ +7TgT|D{LUD;h3et^67!te^3(fve?nRN_52%e^F1%@75f|`*K8%@RehBazyyY-=>&uv}uP|o=7D#hB;2vq-3wRFiI+$AkM;Ng#kI}JYz)z +%^?jI=akMRp(o&-G7U&K8M7(D>vKpfHnoHanW&jma$%@+Z?3}kFC(KC>~WeWNUE*vCyRStOT5R9`3Qv +|pjZ%{Yn3-AQqD40(I#wB3PfVmgo9=u5~?*;rA?-mLJm^oC?lLZ()Or#Y7xEmFxu?NBf_DaN=T^X*Fy+bbrDO8}-^TkW+>Zg?H%idI3Gmm+sHbq>3>Y|C+o(un7x43DFP?KqA4Og!QW@0ucCAT``LthJm4Z}UJU5G0eL|f7og_`fqw(w-Wvo?f +)}Nk;K-@MTnnhnMnBLUyaKG5&R7=A8v);(F7O-$yk>?l4+Y#eL&U8IoH40vI)4;7_}mv7NsV_4Xyet_x&e0a%S!kG8M@FgFMDHJI~rNIqV)ku1P +X3mMyhdP4B&g`%E33)nqR;Gr`sqw_>sDS*GiyBTRU0QSkpToHJTfPb;0ox)rT_@@GdhxtjsON(UxxtO +s5C5*Y?PWO>ca3Ecn(*O$`0{>#bFC8L$GvMx0{@|m9N@aOA}&E!1^9z7<$zl&K`zV$$5qMt3E2Bi##X@H2srDPf^TyHKlr66( +?-B8>qJ=-Tu_a6iZD5Vzo`~!Z3cX|THt&i@LOpnxYr}_5FEcj;7J2?)QGlBaKhc9-%A4=vysLXlnda{ +dqkg1@FTnt$h!hqa4*^*%!>iN(tH~5w)=$H1$gm3!7GA~)4gmk)BSAOTaY%)1p7aLdI@tp;OqxPJ*fo +T`+%Uo5wP3Cn9Cy!LEFQ^-2oW;2*yRY6Er@GI4~1@>`}p!t$@oO6Xr6&9goR=3~=pM +>c3-Ie-qe +?B0`Q!>AXI!W~baO~^oFJLwUR=+O#hYf&lO7l^`HE)ReQwccy5c+PIlK>w*BybYUXaJpXcLAX?}4SOMeS744`O;3LxfDB!sFP=Ba>0fxN~dSH$KOnqO_FbH_3EmZOcL1s%VeFhjb_Ck!Cu}`DbY+xL2D0^ZetFkZBI&-v=>0E$__ux3zNmMz~IVPV);F!o;2mE2nkW4nT^BW +>rr93LqCZLAODR77SPA^zAT7*A|bCOFmlLaTj|?SGv4|x>+16%D42VjqCwU-@7_@GvMmMMaKkAqxe>AN{evtm*ot*b`_W`wvwkqq7bkLWm8-F8#$n{%%By2*B+vuOE7}|C0xKSbE` +p+B8mWL3IAj8uY*MhnWXkE*>hc<>3#h>JPJawOr)h6dwF-+R~zOZ_a;0p$KmZ&-Ioc6W$y@r%iY>{W| +#wZ+5Y7?drzB@(HK{ef{1*yt;BGI+_k%oebw6Z$by}YP@PW)8P%o8-mw>x35a|JWAH}pQ`7{$;r%Sv# +}X7X0Y3Dzx}d0zH#G5_NPDni9P%5v%HSK{r21J)TvXxdhVd(0hnVswrvlglDNZhhx&ZMF1C8tm%9pXE +n%xsL5VAS?OLfD3NTyltwgKDR(!RXupuyjcs_ +YV{Aho|{GZcHTw!SF7robLX}(UW@O*ysd9vH7ca9$^zxfe&p4{gvi$*_(VKP<9yP0%p^Pm2M%Nj2?;D +IDT$3AKc1OPCYF(r!Fe}r+B7zM_H1_JjW@EJZ@!tW%Adp*En38Gx#bqNWXTfdbUJzev2x`~_ON>b`}6 +JN*)ywBS;Zm?+i+_-+f-s=_dC#x7g4j(?ujvhVAjvqhHKKS4R +_T{N#?9H!L_VLFb^Lo+L)Wp91@^kjdd6hLcH?wo+&hffJPe3BZ2dt+_hE$LBOc?4-I2wCrG+?9Jg^gE +7uzBhqXc{J$c8E#e*ReL=NNd%*7(0Y@O7k8x!Xwd4Jv +M@=A53HF$=jIv`8`Z+eu}AQ{o;2+{Qiiag!tDZz76q#tGN*Imm~gq#D4(s|AzQ=h<^m}Px-~iy9?tk8NZLXtrb6A=Lb4mci8Mo0vMn +!PIGYGWE7COugr6rao2A)WaY7#Wy1U7{t#){Dp{LhWK|O{-cQh4C23x`1=tbY2Ncb;-5nNW?%fFz%T_ +E3W4F5!0;F_>;;C8fuT8CWnYg_*|*bFcJ?-vox4Y6=buv9_lH$q{5ZrPhWHZ@e>&plA^uXtUx)a=Mf} +GR|5?P}jrfNU|9!;w`o-5v4#XgS9OCyw{6UC66!EV|{JDsK8{%(3{KpZ07vdlHi+}mEKs^3V>FEo7`xysJrue|0 +nVB&mb3yN}J!0XH07GPeK?@Lnf{7xhXD*2A+O>!9=QPImH-g9vAN~a~-MV(2GM)!W-~sv>DSo<{d`;x +vt!wWolC-RACn!`&AJU5xue~1@gD?2l#tl7GMFff&9}gwv5b7o5j}mvH< +WOd=1Ax(PqxH*vz&`eR{^o0OWu5kYQO&;7{jCXk1$`jsi&jar`4vZD6s@l4;|a;3;VQ2mK4oBhrY3Oy +KA_X;Rm&T@k?NzhF$K1!;*EBya=#`%Id|N$BPCPd5Y`QaUGDGR-z{c~W1ViQbcB^_Xy-$uu(15S%n&f +o*{;!y>8lX>83%Po9{b7^DlkL3$9cGR!8Q|AMiJQK6l5x@apXBob|z6Ht*_{Y}@7P8t;&sPB>i&-96? +%gM><>8<_?7EClvP3;^KJO;+}1%y4r+?xJ^bP6&xH8LP1jr`Lmpt@$VR)69TDp*>0bmyrH(rpt`QP&v +r$1fghRPKA?6HafWQ9rui5?g-_IU+-~smV!w<7ZAAOY16`pzK89pC;;e{9YT;Z+SC)oX%Z*0R{Vej6(? +2R|x;B$kMCq7~)PMlyTPo896ua})ZeVTp!)t7v3@ZERcu^)c;f!%XXWlzC=_5j;r#-2T6d-l7gZ&c^beNfMO^dB +;C;NXFY(NTu0BVq5^Z@}Qe2pb*MH!&eGf%WQt&5*?2VTsWQ&^a=)Pp^Ihha`rF4e28tjK(3?BJw69$8Rq<>99LVQ9(zXYDYUU=wCWxsyh%2pc~8%LXPf%5HWn^fl)hQiaq +{=Q;=h-Ce9co5@{_On0Z(L@kB`Mtq1)&Gv?pV=fPdg;i2Oy9nJiK+CG%D+LOp`qwm_*Imo&Y!LTKu^K +N1~iWUtDZoKH{xf8C%)3~NY&r?```b54#u4qzx?vcPrvx$i_b9joH%pl%qhT+zWw&wFR?B?`TqOwKed +1VeveM4OBgq9T%ycVti(ei6vT&rgnv}lG%$A=G-%KOK;l*BpBXoH-n@Ae#^8ZD?wxnuxf|S +v#QreZu*-+udT+MrTD`sgDS>u;6(kp~sy><5aXG$F4aA31X5!MeJ-)e|R99K}RAk;q7QCPX@j7An^;` +I1=^VIfhG-V}Dpk|m>BT3YBb#?V +kBS(%T-o={D<{^alAEp1BZ@y76m$_%afB~by!@EBJ{ByOow${hzLx&Ej@4ovkrxWGFX(w}IW25@sd+% +{O?t9==E?l^ve*N{=-@NtKTRT7bsWhCV;1ub=0A)#2MOhyF8X&WO4pBma?+kvAg8Oz1yw;DB +u1x>c0tqA|14VfG(>?BBoNOlaS?Z=cbXs;VmU7!23|{ASTL~c&o8?i`qkFgOz5}M^1{w5(G&Cl +c^Pn6^1+~dxC9HdAV<& +`3J3enp2H*L2KmSCYR+Z|dO+#F_tOA|?jMLmE3I7=Lr0aH^r`^;$p=MRZ*%U)Y$W~aGsN0|V+r6=}2c^66JwJpYCpZs +@3dC`8Y&EunBA>vhQ&`_KFM1dEW<6;dFgZ@|K;lGJIctqqrFnsLjv&u}A)#v>Iea0r;xFev?ZMOw5FM%xHsw@#wcA104+gz7XlFH1+z +}rO#k+^tl~2Np0#4YLot3F|^teu&p|#g`z(^JiJE!)yL!KFX0FJi$AcuKp%K+F+jiCJ=wKzgshtsC95 +ZPlM=Cj{uvJRvglJH=2fGT`fgK4X*me0ouz!C>_n3|619No}^8% +lsTnKYE6L(KxGSg2B#U9HDf?Vqt8a+F905?jpX&y2{!d#gN@iPM2n`PpW_Y& +Y*OTbfPc0&=_bW+{nn6n$Gnrc8dkukG&_a!EWNK@NJ +A8(<9|&#jr8Ai&RYRDrJfxSf8I&n>0T)P720$ms!a@WX7l-GIc~xnUgh04u4c>Ft}rkc20~@7yWAQjr +=P;h0qOM9H9xi(Ff?ZJi*4h<750U7?JK2dhhxKp-GQw*vLFDVAUqtDo+ +;;d*{o)ImJ(qm*nTCB`XiIX{s;R(esT`^2i42<9y<1Yt8+aKsxSupaia-9#BC!Tmh%F4v-Vhr`qeR +VGX#`xd2JeQ6?!gKY%^B;Wh!9HneX>UR+`iKtX=H?mCdNRYpK|m$Xw)13K +tH_i)vFhLkhN>qn%Ik2X7=palAWDhgP}eg_3?y(P1=y#2z^!zA?!?DtL>DVZn{Z^3>hM; +R;?2Ja%N_xOqei13JMC0UVr}i=f>_33x&c0-S`G<6|oTUDER;beSUX!mYn}p^9^ryjXv8LW3i*p^Hdi +aqJP`AZP#h6^Jhzc+qP{xjT|{LZN!KX->Drnd?+a?kp~`lK>GLZFHb%7lsxy`bFyH;0z(h^J@kSBUx1 +&mILKkZfIUSH@rA6hXHHLfzZCk<$eSy(FUAj_n)i3yxN +&2d>agg0l9Q7osuRNVd+)v1#0Y!$?ltlN?a&I3tXx@sfDhRt&mpdZ7w7{zZS-0B;MV80LHhjm<`u+&O +B*9RojZ44uz2xeQwL#fN0%ipFHhp*2^pz^!X^@l}^7D;}7{!jDg&zI@br=K1)Xpp3&q?mozywb=L7|;uFLK`@ +Ou~37+4i^m^-`~q|i7%;$0blPIL<(6Ay;>3 +xD5BLmQ+p##H7y50@m)w9O`hbq055fA5&vxe?tf00Z=Q@7 +`S!5)#bo@Bj>Ug2Cp!DH}VciOOF!(4KRE1@6RWFkw{n|Teos5xh4W +f}eL(W8gN#>Ps!cI^xwc%O5EafFgBs~h%+9AOWTE9^16v-J(7iFR9K`xl0O#a+;;Q>Sp4~>1SPc{A2f(Nxld@%3IOcg1d^1J}AFM<;}poShZF^LG?f7QoAo}+IZp#^@Uvnr=1mPk!aHMUiC-S{_b4f1W}5I +sOI;R$jA53tGZc!V1+Qm>f*l%o*`figaAXE6-5H)>6KfJLq1brRk9$8|~ +(V<1$%zyd&UW;2ddY#si{jf1`2v}uzpS+c~)v(;fHxNU8oxQXY;jO`z&%`9!&wCO)Wdky_=zvzx(+_6o4JYg +0U6`AwF#pl5Wy~q}}6D*c?jZar!p}b#0KeVWR8TnWLop1B6`morVr|sXt8(xDCwkHSAutoF|=s|%6+I +5X9u`~73@2>yYT&g~v5Z@F3@SMIJ6WQYU`s=S7yUQM+ugE*}qX#OFE3YE$hJJVbQ|&}e{Ra&APU08rA +98>{!gsRAymf3E#iG!w_u;ah^(s|UC +G>uS(H)j3Mw*u*(Db&k!Q<8{ulm2-@7j#HhZ1ddHO*8bj3nCA)x_xCh+W;0Jcu_E<8o%?m33Cb6FPDd +rU9$434t(F@5MySv4la!S7pvL<>)#h^>Hn*J-bN{=?C8u2b^Rpt^M@4!a3iQ~h1=CZw{WX!n?}!}w(a +=&K4PgCKvu4fi)ZA{o>hxLcnZ}%_)!u%qcIoeGmp;+>yhLN$F&YE&9fsRj%H76&O_Yf9`wrweG};S(JR|BmE)zj8S_0u(nLL!l!8dny7JZy!$>3_)iQBE%=|Ui&ISvjCwFNdAmOIFU +JCXPx@^}9;*VqHhMhBBRwj5o%9I@zGY6`XV=G%Yrda0Wy+K>?tZt8XE_pE`*M4jS|asa>WJ?3>AliF9 +uOptu}+VMULQRs(f)TcA+ +Yo3(2c=6(RHyx~voO5K*Z=Xnu9!4wQrgt1Q^&Y_uh2l +mnIJn%;%;j8ybu}R$lCV2d^L83l8o9!~fkgV@$t`UJ*4-YU5 +TOsf*KJp*LZAT+aGaM%-=Iy2mAt-QKRve`2!Pvu7tRTed77T_oQpJ_k3num>F9_a>XZA^j@qs_UHE_6 +n!JfKJdKp;wrf)U##}7;YO)@768<=+cl +KmU9@y&>Xp=&*UUy>AdY*bD3t?=k4#`X0Ne6QShMC2Jw=KQZ>?$&=G&&YYRbKFpmv*VsMmF1`=@k1Vh +s$RcaIdrsdU{XmW%J)}AjB#$X^HNCR>*2kw%=b)y`9+O|GF4ol2gL`3?H}GQb{C;xss}JPF-ws`r#|a +nZacS;AmJjLw_4?P?_2c8?zl@2AF?CmZ)5*!n^5m0Gn*0u$tSzv%68^9^KUIGs?-Y-fmuJM8djYIGmQ +1=^)<2sr-+lF&NFDJ{baZrw*x1-f;KNHo&eRx*FLsmjH<6`G$P_XNJO(a>mRYy4b;*pB_CmWvEhOQ)}aez^Mx@Bq8OdC< +aMV7IZE(7AKx&bgk(^(c(~7ZemE78e)C+ngIdL&K<1qvY0GZwdOB#OIJ3YcIGjasB%B#h +yT}(3oNDANFU)j2UCN9yNJxoZ;mql}CUV +;i_v)z%f^7kdqEZ1TZ_2UlO_+Gc&$QCnl|e<(U^4E*AYFUs=e%T28q+eppH_7tyhZL>b>SpSPGf!D_1 +=$`FMLIW~JkAwQt=FOY!eS%lIb`Ac<)IhN_*gp7NQBi^X9oM~>?FrORu5|ESlNMJv(XWQ=Tb<*4tGt* +aO=^Ajmf6sEcHQ6ItvSyVn8Cllav9&-4Xcw*^@pwMdQauC$BGpzHk6cu3Jp^?G|36&39$FE2Ozv_1?zt4<$spHDw+_wL=)SdLJ!G}kyoGQApJiL+y +@n-@%7T9=2DyO`Fs|cCWf=|jMXV@*^qAoITP{e`x@5V@kXuq*nz}gxNA|Gw$SJ&h=%I(qo?@rr<> +6OLWc~De%>AFsbMBQlUn%AMjrRN1NNz3dOo|Tc-C3E=bq}0UBwyDX(Gsb0(8#$rv@NubK5;IfVW#1MamYSHBJTfWM{_n(Znvju|Y5vP&Bd^vWaGsu-nKV2rBYDCk=efR;ku*L_S4kStFC#fSIVEXSQfAGY?zivC(Np=Cl6 +{l1lTyM`_}eW!F|&7C_PDW08R21B$#KK^*Mi-`M<%9ZCWS{wwXfski;K6fd-bUHwP=lMUjtg7N42;68 +Qm|gUtG_gz3;y#A;Ed@`}3>!od3H`QTs?qb;-$+vn4IOExoh6^So=ywv_EFt17E5J6m>bdCT%P<&ovR +$`i^*m*hiPY{IFxCUL&k1qNu2JO=(5xmeO6N`${WIt4fcQR+omAMd;bFdVW8 +>!ce_Nx?UwuuQN}tRHWCc(5vmz>s9I%kLWc|a#i28z81cgzA#@KUxY8x7whZg>*q`G4fT!orTcPxdA> +!yBHtQcg>Q>*mv5i1(pTj>;;Z(Z^quv2{MY(h_*?qJ{B8UZ{z!kUzn8zCKfyoLKiZ$}&++H^XZh#(7x +|0)Yy1`dE&g5pef~;+mH&vp+OI%jo0$Jcmr#^bw5VuHQB_gP;)vqN;@IL|#r=vCiiehrE~zT9JLd6T> +t)x%yluRZ-dJxhZ$EE>cc^!?H(mE}k+-hs<@fRX`2QdO2T)4`1QY-O00;n+tx-|r6S^E|CjbDrpa1|I +0001RX>c!Jc4cm4Z*nhWX>)XJX<{#TXk}$=E^vA6efx9UMw0OF`YVuVT>xzgeylgUr&{Gc*_IQ1=Z8v +?liiiIFh~w1L?nO$K+*Kw{qNV0c>)8Hl9Ro=xn4a^4uWS-p8kFh{`q6@Qq7L%YUg63KTC#&YV$b++D+APyb1h +0!lK1rJleuEF93Q}knsxXbSjtRS7W{d4sUdgb3aozdU+(b`&?Cn;^|6!OQpW&QFhDd^mr9dWJtjx +t(cM%!4GEE}BIpk|fCHWl=Q%KZCA_WR^9eN@w-Xj(jmnYw_K4^$p96YxNCq6HPW3`g>M4izb`ZG5*U< +iFumMR4a2)*Xfl=@J%w!X1eBeT3^qyk@^aM)W=`yB3GYh#nly1TYW7wB4tr$pUbqlRzFl4a(zv>sBbG +>rxEkgM&V1wUm5LKp`0YQqN-sCl4KaXf(`jksxVE}9g}tFqBs`NJ@Hdvt#I>hSz9d42rm=-uJlqh +av#k4HyulJ1M0!2i5C`r+{9U%M3svUQ}VZW+7xzJw_Q6LN^N6R6cBI26O+<=IcCB87QNAAhcJYQe{Jd +@a09l`_(y(@Bo=Z%WIJbxeyaEfps&**_<{_6~Rm +x24T4>S9%g<`LqZJ`&hfI(yMv8ALIql4c-$;j^CanC#OfRkN*NKg=HD;h#5cxNO3t!nkF1(IfIYvmy5SVqIXr#&BfNKc8}&sIFdD>_f +G=Yag?k~4coJH_#PSz_^x}9eJQz&b;V0GGN5Pn#axPgcpRqZc232rZZzZk(2-$R|-a0d%$k_w(`jkIBhj-yXhs^Zw; +}nDcF60*W8r9lw14>L@uo{@YPFz={8S9q5Gxx)QKq=0O<7zZ6*>QNe*V1`b^%wP*IPJ3ESzCZ|VGp%S +!j0RN1tFbsF1e?9qgKL7sW?|YYz20MHB^)~~}lRII`CG_=k7zPmf+6o*f1Mf!|>cym)^GY=4K4hOcMG@8A7;$Zyl~*^fsr4 +&VLIX>?SDAM1y^-(39tWA!n=d-deY#@{2V6McK}_iryBefu9D&mIj1AL~a^{BZC)3&P1? +&wqUX4yupB-EVj`g{_xAJ8zdEvHhZsYf%zAeH`+)_B6{U$-I~>W(xP|Vm4#?Avy;rLRj5^##DhdZC0XQ%o^EILjpaOI_0pHH +vi(62Gv=S_Mo~3KiFcqN-u_{#D%JPxdvss0o?!B6TV6_kdu!|&Las9ICY+mW&-snq`etc8fz8|bie#4 +!^DY+7?Ty0%EplyGBe1!FFqh~k{|$4fmYQTBz)8kt6;=cU4pj70>aZln;tWvHksi2;HifQs?9PT-=I! +~jZ%e+CzpMro?I8j4U|(H#PF1#alyD8<=bz+rN1w!0FZXH$Yv7~OEOkY0+PI`Dk?Lg4x*Ezli>NYKMr +CIfM%6F5!BGRgSzo8m{_tIB=BLBbNM#a8JX%38GTBvr@EX)r_zb|a>59Kub652OpJ +M=(fl>goC(XGN`B(&t8f1RZt)p9bHyP+gVlNPy4cIUaGW==1xGom6Ny5lL3I5=gAv)fY!U0>S^Qv6&? +-wMoUb-(qh#(0qhrWmHch&fsUZ(k~{SK5QT3H9ULxEH@UQQxMW>OsvvYMENJKG3`1Q1RZ^Z6?5zBfY~ +K8c@t3M9G_$*I-%HEdyyOw5%%;(6MPuOn5tvux(wm4aFT0Gh{FRRNn#Hik794m!o`Zj#~<=5vdZ>e&r +W1;T53~8U$t4Ppb6TeXAqVU|^w#cqLWRwK@Svh?VI6jo7=HY^Ym11Kj%xfH$u +~WtX%CTibO?iAb>{ZYz^|TfifeH>(6KLLy|?wC%e+hi&bFz*432B0m0N?V{6A$lvg9x(Y+D|-+4&2-s +mZ-EH8Y>KH(cbPKW4?E4p5l@{+NS~=mm!Qr%gL|;@EtD5A6_6*)@F7zhNk<0|i(oHDh6D$aHp#z;9Lo +rfaJN{Ah~o29iYudjXmuf+R?5pwlMSXXctc^}4o_j*k7H-a~WFp85~Sf?W0V~gRkUd`sU6VEQEuviooYC8>2 +!v0dy(&;^%g&Ou#y6Q%<7YvfOIym7&^4!4})xo{D6Ul~bRlM|*16v(1uofO8}Oo2$iW&)XwwEYwyYb> +U@&HXtm^9uE|oDzasRu7R!|Yu3_|ke2?)D9T|K4se}(nYsjJQCOSs<>EkNmHQ_8GId$u@)ioaWiCPzz +W1a#+h&R#odOAIN#M<*1avR5yos^_O$3@N%iET2v#SI|UH8vYdhgDY-C#5ph-gHU`k`#k~6DzU}_(7DQ(zaCx6h-@*Wm) +v6bhZ%E;-I8ZT9B{{iE+AsBE~gWZzGt7^Q^APfjk4vT%cwx%@w#e@@T^J7S+IDvkM +>J|+wxm|ihHJq|a+>uotc}9DU4m7UhREW{S8;!z`RZC +TzP1_~%utOOD^XK3RnhoI7_fW^P^9uBd2ULFx%AlD5XXUus2au0~XP4*!Lj0h`NM{TV +}xh3?=v7-aUcXaNM~0?1*~?ij6$CFG;d`rncD#azY=v5d5Uq|RJ^EWbvhNv=)314$4x5Y5`(zHu$~g8 +=|Ko^C^{$#(|Vj`U5!}dGwkr|C5F``71XbkvyQ*i>Vu5NL4>R!l!egm2n34c*8#B7d3qx#(yUw!ahI7 +d(Aa6ltwilXx-BEMr&VG`RN7Jo}CGu|BLU-|Sy_o+L%Lx +7-_-R;6BH~^?1lo*9PC;E4{rHGT?WN*{;i4!Xadk^@!jHN{|4et+itDpXfnX(e)4`@C3?cnUctYw{BN +h}qTuyR~X^iqxYd_{$&C=e1469KR1u+SCtH-C#zStrTl*C`6vh65yX8`ty8ygaYfgBVy%^ZozkTpC#d +innJm9%N5uR%l<`_&q^`QrWx>V*#O#Z7d1Fs0AbP_IoFVfnW?dSi +knh_u=0MywQHh-bEj=B+dR6qT^m#wm;xoF@=rv +IzwY}t%Ep#N9@S}1+y9{{styA6o^7X5~lw(sqHm>tj8c2HFZ1e4?}XGmIU3y*f2gm%NMSxO&aW(*hJ| +TTw{?3s<1)cZ!E8hqQNbzs)vRnLG5KayXmW^>Pll@)(M+&P{lo228+8p6E{802WzZt_MWLEvXVJ*f2} +pUp_))bq&&!z<(kIVZ;pMn^_5A#?vXuuW5v*uE7IAP`*DxjNh}cL3Q<&+XR>mSmbWy^@Z5)=o$cx3*wOPMR!UL<6)}LIZvU +j|Y*16hkBc%-ig^%Bzogcn=b99Pd&VD>RJ))nbCBIAf{w>YSIPbQ$m73X^;6u$3h_G +dipc-hhv}xDkihUozF|b*igUfz21?VW(cE}8Gl~f!-8urhUMXKm9F&qZfeWVa*w@qu+^T60zEIznvre +!?F*yD%}G}v!}-Pl_s*)Ym3Gs%NT2f@=P@U#p|WG9Vs*Iv<9T?pSvM@yBYZ#rpwgQVgcB?vyy5_?{pCPi1Ey}Me6RM44_64LLI@hX-ew9Pg +M68j0tIx7!*+*$yR5@cPLa8jl`M8qSA^^}jbzmD|UP;>xS!zg@O|^}SrZucQioC{65@DC>SSANxXO?d +Xd;&W-Ix9QXqHW*+5*-;SN8;)S1 +-hk5W+=C(wc-Trwyo+SLyE+B1l&+>*D7$`G-bX2`0*7KT#WEY)Z=nhrjLoUKF&bG5cT6{|ML9KRs +QtHt*exa*$gWDiw8j!c*!%s7U~|OVDVTkyjc{=Q{ej +Dus)P7zM<=@a~c4gAw5*nZ7wQ00fHV3-M*24jGZCsKw|DO+aH8oU|Pk#3#>&C)moC>jfy$s`-6jj~WO +a$3wlQzeLcwMq|wQ%)Dtp!7Lt+C*sT4#|i~Y%0URP2e!&N|b3nUa4ZTmKE1}j%|%$nT_y-1WTYa?zGP +#IRH)CW!TS#zY67Kv*1`X1SXcC3P)57&Z`ArhTjPTX$pNTO`KAKg??IQD|sY-sJkw$M!>Jwc)*@ZdTs +VFE#TR}P_RYD+lbs5=h3PmNtGNOVv=MW=R;W-Y`kS%4NukMp+<%TltHsJ_G6FSjOY%-2pxxs5*$81#PA1%Q_q1Gy=eg^Kr$AQc!jeXG<7PPkRDQ%Ugu*x*EwHVt4K6G*1^fK5gl-=eZG ++zTn4gSq7pt>LCFA9(Ah?9jpdB?Ur>nTk3E~aW?E-@;EqM4~urRZ4> +L%sVkjsmo9F`_ir7grmotv#G1&xVYMpgfwQGVHO|-h!Dvbqc<%PQ6?EuBe=&SeC4-`ErOeZzi}I4oy4 +|HoUQR!Em!t6#v`;6|LiN_MmT;>M@8la>Qr-dv;6TtJEV)>k{jExk4VNf*Hwa=e~*L26iC-cGq1|#!O(SiJK@l1XBM}keF2!v)L#e-%u#B%q3&P7>%JKN-cP}8nlWgVZBic +9t7`IvA~1SxwwMu>Q;aZ`=+=Rv(+~)umU)tv=ClgQbn9f(hh-eQDJJ)1WPd0iF#1tv5MuBju2bR!e?1 +jH@uQmvZZ)_Gr`X-CkxO)G(iJfus}Ps&!E4Hbdv5=OiYl>(nUUo5hW2+o&jccsZ~!(OK)U(OHN;~JXS +ZbcAQEqlhnnc8Vk97%D#AtG1{_NC(Pd)$B(4^Lb55WT;LS=k-`Of?AB5>0{B$Rf1Xo4Fn_XIP5VezwG +vOQ@jfgP(~|t;E!!WV*aJlexU~<@v=HYr)W$ZTL9Ic$*Qk#Va>oPB*)%vm6C{_^^5WSgJC2$vGUQGuJ +_&a|F4B)rU)UjqNX@gFLU(Bj-09>hJ|WA8hAQj2@pKK2981W;`hhI1?xyhAbYKJ@X=5L4 +bh9Qy6M@!^I~xXWWSpn>vNntr^>95}eZwVzeBFTIBL__nS>KpxWrhNp)DYY0pCYxN4)t!_=jp=74f0a +p_t`#%HiiedeQuac_^e%FS)IsT;UI{-Xqz2px%<@`60+Cc#Q6!f;PDb-J?ghJCQ%rJ-hx&?+;1e& +3q_2Vu#)3*M{(jx)BbW`I+y@3?#87l}jBF)*A?Kt@3b*sU!V|3(sw3eZ*ZEc9LSUVNg5JTCo9Wt1y*U +QMr|EOlzngeO~WlB;qLxCn?xjPz7hpHDF$6Wi5HdfH08OR_Y}=05# +P6Y*EwP;{0gvru-WY*I&=`@j+e7XHk_pSpTtRs{AW&1qzuSu>+q88nNt-v)r(8A$#=4NjK=p#t#vxwb +2~^jn>gZb_ta01VpFtqCuY&rh5}QD^I<}9!KfaCU%uh9ZP=oQ@KwVWxoMRqo_LfXohIF_9@r+^v}oLK +nC3iM;BE4yZZ+&+1j$azP6B8WtM6{|DjJ+MG5 +NQ0TUO2;dWGeJ_quT709&U+>hJ{$KvhjWOs-(XEk)LGPb$wI^v4DQrmauiTOl?B+GzBlt7O?W%890ya&7ttT8lGIR*{dy-N1+2gr+@3(1fwY +WW<@%b8B6B6s_Jyf0B9@agH--)bOHdGxJyiQm0hI>V2Pg}bIC0q#jIENn{8ADA8kvPm(R+S;I*J*wwD +6A?;IZPRW3;@{mE-^))DSlLRwa(x65%jMVGJR}ZWPPh`4!ItHl? +ByWZDI{i0@>expL2&$EBp&n`ik!%}Y-r3~S+f|(at9FO6v;Ftp&|*JQ3=qZ)E4ySHtbEyDRqTWekMJ0 +uX?xjm>*N60Bm41fP;oVHDj}3T$%-jXXm?nld4iIBwX=C$&5BVvcDgA7;LefH$(^CzxGPxnK$n1XvpQZyKn-#Vl|?9q#Guz5~kaA5!aIWEc7Jx +FwsQ$#sl^m{pHm_9C5jad7?E*q!`XXrOX9R20|=p800KeG=!-64&r&KzWAlDT7eqF3FyvpsaHCBEgtu=qMLhPc-C=nB0C>>5b~s-U=lM{(^6ezO~% +NtPa1IzQ@ONwQh&nXrGY+eLX}n(KAuHrAiUw|gzqA7djML@&U(O2>^1ZR^(@*J|rT5ws)Xor2se%(Kt +!!^dP!mkn-PUENL?>kk-Eiyr{$yo_|&4eAe{#{NPMOv>=6=(ygpKz{ZwI?%WRwsPXVm6wsP3dk9i)B-N#3$qI?OasWsA4WYs@Ffjt5Lfg|)gv2Q*_zDaI{ZA24)gr{Dh% +@O!Z`W4Hk+XnvknH#}f;iG`~9)%a+#%d3{U*)d#S8eo&o_~fU|ixXOxW$B9ETbFp`J#z9&4Y*WdyxVP +0a#K|o1bmp&(GwpwRK0V1S6fi*97E{4u1mh=`;AocA-sf2VDOhWy@*0p7g2pBAYGnEKgW0_ni0gjmzF +JZv$lTA)uaJh{oP`&SoxE-oF{rf<#lZS(QM6JCYN&^TXzh&&?c~m@mApU47kteODyE*>(S)%!~YXhmV +ci4`sbOif83d`-QfKFtM~deF)f3Ptz`eFk3rq#=*HH^Htu<3W1Hg|{VLaej%n~c^Lz|^_vzC=><4u*m +nYEc;F>Zx#qvx!a3Gm*gc727U|C1h36B`+Qe;e$%+oASk~l6`!8gGfAJ6B=*{tjS-VOK?Q97fJ7b(yv +X+*3HC>WXH+(W9Kp1AKW1t?ERO!-NAjKF^hR}WeSGHYkIwu +?$7VJknb~k$=AK7o?iGf(Rh;$xkH_5QXv}YVEXI2zhGb{H44Bo@c`-rHZp9`A-27!8;SJe6J`fOQ88E +Ra8B$?s+j#zy;svsCuuNAmB~DO{$>V_gh+hSJL>K%WnDp8k3KB2TyR&E?j`6Ls0P}V-`un_=N$1ysw5)_#seR*vPD +rQ{=6mUoUc8G^Djc6;Dx=FrM4~1%L9}qBKgbDhLIn4+NRM*9XQfC-FL>j$h0xn?T9b9zsmXr>d78QPDW-GO;SR%L?ZfKRm{`r_OCy>T4&rhG!Y~_R*R+1RX)+Lt +qNV4@uo&DhW(!D*C^NTALRd$6gEmH%1Y$|<;n*pRXksb38${CH>EENfdoS};BKdl5Xa%30?PqZ4hYUY +PFQB|3~gdg&f2`NyL;0?QcX}PmqW@JQGnTxa&yvk{|ftNg%D%4$+6@0oGg%P7JPc#jk{M!$E$M0Uhr# +yVJH6O^e;ADSPfo?`(xBL3)EUa)qmS?3Lwghp`z@pMBU`dz$Jn(u5oRTf-t2wgmiRN1>S;aY%e*!KYscR=0AKLR7OtL`mHwsEaIk6g=IxZyW6kLBOlG +_nux-g1RjbR#B<4o&D@Cu6uJ`CrDbh9>-UPd#&%*wI_0XdW`X|$>=2q*fH|3R&qLMGRyEFBBd{S{`|> +clL!#1>HGjQuY0FOrsk)|966u(*MX;?b;GR$*XVZA1_s +r8^snr_t-IbHCQ?c>sRkMACEw||x&e*9VihRZ8zVAQMcBg~UT68cPxnyVUq%EgnE+{>$mE_M2DpIng$ +;Xrg2b)B-Rx7VbDUh@fpkTbj?25K@=(Z_;rTYM70jm|Q-nI7!Rn3=J{H#Dx6;&TrUM84-RmjBI@;VtK +sCNL!gq?{a6Wx&x63Z4S(lw&?kFaRkgzs7HyTRdPf+62>2X=4WhTdVC(rmht{qD&H&=UQ;-SwIKUV-v +55th!WX&77;zQ)kTAoU-AJe+!_6FMU<>1-tkswqJbpU^o7>F)1)9X96ho&#RddrW}6`+-8!!`h_{YkE +8@Y7tF6rk8#m?2R%~B+C`FzVjK#SQ?I@L1AnW3{bUfec8+L&xOx(G7IHp;Et7OmJrhRXP(GkA9c=IntG&4=zi24i62DyoBJux^mVP1!#8Q{fLbmOZ +PS6#GOJootvA~4F@3m{r*qi(LHMA*movY0@8$>rtP!Bz0ly#=RbXyeD{1yxW8Wq7ytsGyMn}mn~~ifB +wBB0cK`{WxQZbOcVvsU7I}sXIc>MMyv961JpSJw_^dp{J;=)dI7zTQY*e0bR{xRe>YI!NrB|t`ab4mZ +-w)_GzYMD)vuy8X%*#$Q1CP0Yy10jCA$qqPye;ZR8HUHe_=-iP;{LTnhFk(gM+C2#8Qx2W{tI9Uh7j~ +ZjvOQ75~&rXskmr#{PrX{IXwb)tt}2UFz&&?z3D^Z%pzc35MqzH!HGbSA|J2#&I<$4dZm%ihIVptbJd +b++qqYDYm^aPW{dC_Zvb?oq%vfAPwq_+Nso2|k|sb6yAD!Djm2-%|FB$zzeUd-xIKO5`Xo=(qEYu4@9 +gZneE;_3@cj72o1^6X@P{)#=;}%(D6GudKku*z;|7CDhlIX0R1!s}0@LOaS&#x@?5k8sH#y+nxzKbYEXCaCs$G?ZkS5w(vB3uSt|c>ot~DKRejUTSf>=@F75_-d3wfz`j +)xpF9cRtM{c)#D0shL!ZwzR!VBu+L3>KC4`Ew2?En9~yP>d5ZuZRbqE`I_^ +yQn1DQ?^v7P`|r%=(~8A;uW~08mQ<1QY-O00;n+tx-|0iZ5l(0RRBY0{{Re0001RX>c!Jc4cm4Z*nhW +X>)XJX<{#5Vqs%zaBp&SFKuaaV=i!ceN(}1+b|5h>nn%^g`F)iww{IpIjlhj1Q^nxNl(Kd$TFR1QzS# +8xA^ZT*-`7J*mMz1@;yC1$x~RoTY$8cGKV{8sa|}F88&58SlOm?>To2;S2MW%@bMP*M}%)39j$?#t?7 +?&2w!Y#DnZJcB7k;?@O86VZ+Gj0&IH0#uzJ|;A2;_;`-jI}Ool!-nN045{MA@T9%}1AnM(auRVy?|Ex +bqHW9!z)$nA@OU`(AN0<2Gw?>u9i3#~baC4A4MkVoXTvnTFt>m+7#2uZC)sr$J0Xu`ml{a}od>+TqY6 +#)=9;llfdhT&OaL$K-VYv-&RkQLT%yYr^wwbD2b<+432Iq!GQX9FlM4E8LCdOvC=GYCdxHhXSyNUbw) +A%pi3Ggh7E3Op%HI=AA4BbEJp(rS%^ooUWhf{kVwGPx~(j?`YHD6fnsVPs#QKjUYw%)D3}WLaONucYi +VkyB+$cx7Vh%j2vj$RC}q>hZ~`VGdhs~>$!D|CIUc +Xrgz^act{FzoCwOkcJq+sOod*GPFqYuPPvGVi_IgoZd2y)VJnrFLvA@Vm4 +mb3~)*TjiUg!>v*G7yaYr~K1UIc*}l1*x&;S4hm%kg132=x$*d(XBx~jU~T|KAf@i&jn +s#@pe_L=G0&Ex;TUrtU>PR)yIf2i~Ab!(CrGjsOj>6!U(ZOz+5dtH_0eYI(Cv)Yla*`p;>`~q-o5_)#}9Aby~iJ6+{t7z`Pk+~-X6@RD_1zZF`KFeT=oY*h9+k9>N@ +{~-!^$+8~SaX*LKxb^})2YwM}|*^3zX05n>+BwFSJ^RXJ@5oN3`{ZJVmAR~8q!F|betzt(1F+YGSJ43 +PBaYz5!|vy+p2x3B8fRE>UW4*p}CwI`dp+QH*=pS9OU9%Rb~zv{S6xy#zs^+{VFo}C!@qdBXpC@kZdX +3Le%eUTMKwk+(4{k*dK*1V>lU)FV1k53*Eq0{R7+qEvUwe9}4%yvg1>HvWCLsbqyZR>piYFpm}iUv4Piv@6Kv4HOv6O;z +zM78|eWNzG7{k*Hz?lbPPe%AlbCUaUt{^&Q9LVUifKGFa6PJbb!@WcDPUFBKv3RaTeA}B9E+m#!;%Wm +v~<(_~5Ir?=0k_!^m^rqK#n>Vekd&6*YR~~&Bfxtz&a-Xek{2Bq^=uvNKutaYdKBFH3YVvJa)ph||0u +#z+a(QyHDzc_AM1S(K{FK*Kxw9qj=!~~?4xN*J6)1hTM?nL4FgP;}qd|5_=4J+@4xaDxy`7N}5z=&fABbuOSnPIa>Q+@( +tZDV7H5R~huzmpfoz2$23UVnH)tXgS3fvliL@;qT>w~~0B?JB(L$#LS0Vi*Bu!v}Jo%N=vNDvDIZiLL +s!KiPtyl4mmuk}B|{#3UOA)%W718_Ic^KgjM^|jrYK*y6!Q?KS`vu@hCDQvlIug{-;`_0oQXaDXAA`d +|>fNTv;eO%->)&KyowFY6J;0zxCSi~FQfV_YpJbmVLW7%y0E1a7mhZA0X=AP#p-q>#QEYv5ngwZ$d7h +EE}t@G9hZEyH(a$_k(y}L~b@S +=jRa)_s&9UX0up=`uv5>eh~|ch(;g?`5pU1WT5(pxtm-)YOY8z_yYtjs5eABxh3<+co;M09kORrn!Gd +@`snhGEo@p4Lm(F2S+Xe~wqvIT?W@^UFdHSl0GcaMRg_r!85B1fP3GBwg-z}Q!vO8a>kI>=s%vH6Lkr +scH_%zFZfx5CLH1L=g1|0KXAvCWEE18vU%Y<*>h-HP38+TXF3@Ms;uSrg2i}5No;Q)TMm{5JSd-Cwfi +)|c^V51cotdm5RrbsHQDj@Dw>k>G#>kADqd?M-fMb$|&&)D!n>)nK>o(xAx`rvCPDlHXs^Ojx>~qJ{K +fn3@Wyn%D4ki;+rj(yKFlS%Ag=ZHjE$%#KkwPQXKu@AIa^gSaS7KC|i$~NOMf3K$2M6#Li3bHLR1V*cbC{p +1<(N-}qFe?ULPrbtqUVJ66}CRxc$K!L-l0V9ARq`nn^Y}Xt6_s*7(=tF$JEvn_?racrCP0%2kLF=Hur +A5HtfVvdjn%!=rtfOG7k3Ppw$dV>tBad1y=yyytFMSLL>L;_&Yb&6hE{5|{`?ZXA?IqZtOylKuUV4DkS=NMqmY5YP9E$1ZI^H||!nRQlf0nBz0gA4K +qNN4H>auEnFCYF8oJ+NW)#jK1u{{JysU?v?Po6=T1He +FH08)dcnG*$r5m`lWAXrgi$Y&vtw(cykY*`ig%J9P+1=+Iq;+hlEgB7T*K=mFUA5n=Dz60H56>f2<4Q +~gITva6q2pGtU@#E^)9+bCbab6zW8U%sYL4gNW=XRYcWt6|_#3fhCgh&ec$|=Ws#9HE?V=HhDEEd|H^ +%^D%5z0r4Y<5h}OUVI+{T>MDAx^WLk27%~4Ewr*7*Mz2f2xkG0!VngAIF4^_Xik(`-3L%P<0&LWo3)M +H$XSqi1r#d>##{7jcjxJnec*V;2c55jNNQ7<*S$um$UFdt~5%8fMOL!Baq-8#;_IJ4zqPOSu3gG(Y9< +sCrVH|W;{H{rz)sO{T1lyl{bQOSFB(uQvIOmON-g|r@YB!gS|DKbLK&o;wpwAn@A9NHI=wIT4c5;3=g +Qq(dbw}x1A|airB8OH8PL?E4Fhy{C$oa5n6dia_wz|2)=+-**np-s4m0BU1Kw#B(Np8MS0^TzZC+2^P +(IqvTVC+3!9525|kdt?H;)18cQ>-IJ9(nHL~N8$vm?03{@2hof5mLinW0#LRBT~by#06#MV$n8n;$$P +-s{9VdKzfQuF%*I=T!@(_A7I+5$vkZk8RE@L85Nk(U;6Z+yzyz~*MaSZfk0lTfe+sd(Ved$Ean%Rq=+ +gr95VfXE<|(E%NIxcog7H?~_*I@+Iv9#hgjKmkjyfC5F;GMkN>aPell3XR&>^ +N@si+vtJ6D3HQK+dcYgg6U3=19iz!N0*)#t2i9;}&ZWg*YwJWQs!?E;OI9CUd0%Ju +6i^$JYu>i0;M_PTFD+@gLvqF#L;P`Y=!fz+UXvUvzBiPR)-2frDZUsZ&?_$~pxj?O|`5QA8iYfm5(H5 +Hb_PWf3eZ@ByGW6Gt^zOfkGv5D$UK=1QH13RVPc8>JdcSx-nyd@B +Y`;fvWBUaeJj|L&UJx09k<=_$|5%LxfsrpZfy3T_t{o=1awvc`wWdXQ_f6$W<(iz^Lfuy_W +52P*>N*OV7yK8JZs%#d7T((zg>Ka-S|&+sJG6Vt#0G${fe;CIT3#&epr1;w|=vYOYM7%nmwywO};4u< +ODN51p6WKO2M^oBxbafToP0hsS=*q?%{$uwB99Ci98K~>_!jfn(NSYX`&PrmT*9G{axb)I?79s!Rz=X +87y-*)i(cMgh1k1oV%MZGq?^q!LLoSx&xe}~ef0!dhKaMX7D!bZVnbHI(}G07|)vQe2rxe^Jfa0`Fr3 +^qz(TpBnmnnZAedWm&AkbHw0-IH`Dt!#(m)gKOqYi0vQ9(r>8JWw{524N{x#1D_!P^!S_E_2A(AjN3F +1TMR+Ieq%=xBod@UJXMsdBLZJC|{x*ata#ev6C^Q5>!Wp+8F=2$X~p(u|4ND4l&3UlA}Ni%ym`WXguF +5h(sZ#L~s!|N5W5HXGjM;vquSWs&Sl%J3_`yR}^C*ov$$65z|Ql9FgFo9RW7e8hGE!3<(LqJP9Stow9 +uY`du<|ydu_7SL|6xXBz`QH!#`*a)_~NUpz6frN4`i-p;6@@<@(tPK1UUv|lL$H0PKE$bqdZq6XS}YM +vYS`^KtnmoQH294Z%jEI^VNRZ9yYB@GUYt-Gy!1*A`|=z3UWm&aS~gCM#~ULxXKFoXTenYR_&DD +3`6)Sj6a~E}?)1HX=G~9Tb7-TTOU5MQ-d~4^CO++e>h=?iGbQH)B +M4W-=@ZbjIE)8v9b=d7O~EU5DqA|C*TfgwsrRk9|DU^Nz))8?z@PX6Get~RhwHHrzvx)3tj9dV>I4xC +g5SWMpdzy!}JT#-fhD58)n5(tVo$`GEzW&=$XRVK09Wl4>DmRk7IH02Rs;;~+DcAwG})?RLLLvfkX*%0*(JtRX+nw$KfEb +Jb5RbK{!|<$b8AL!S_Bd|ybrMuU$TdkN*ub+n*WU3~QXHZC}dq>mKvVN3;3n)Au_OTM4X4LFx&)!6eVphop!QFkSL9GDf*!&?X*L<>aBGvfYd`2OidVas(w+!pp!(<@;IEKehuHN?e1FM` +P8$H1*&329_)a)_O`r`6QRY5&0zVm1WBHr-^7S+G^OIjDDbGt3l=f|E1HNSZPUb-5rYLbJdm#-em_Y| +*4x2rTz<@RffgF6JSSeg&=5~JM>>~gZ$F^*R#%(A5@$-}t+{p^96YA?Dyf6^L3_+4(XNx#!WOHY3(PR +-N2c9xuHpV9pz%#^g`oaML?Uz-ivIO`xV50MZWKkIPt$%_+16dfE#4Xr7g&qQ6DxF4rL;y#bC^J%C1^ +yj>Dx%`eo51cK0-I^;j==7;@Ps7youdqjAR8kvR*?ExJ>wPfLNvwQV`USS&Vm{h3$Sd#!tiaOcG`P+IR{WrA2v5}!!s6Ffp@po +^_<*TyXW#Vufz3JOmvme0^E}UYjYm~mMJHXYc@o2@ZTTvcOFC$!5WmkYx6=1Snkr;_xiiLoH8~Cg8bW +3r_h&S)J8ui7ZZ+wJT85{DL*eg&*c9o!W$yymtwwRasy78J1_`YQ0^{ouEBw{w-&8nE5^Hd5VeL;ITQ?we&U~STn?cu3umUwu +9*3zBZ(Im=0K)hmsoJuI%7X%RJ4&dvzi|=2)`qOjBX9A4yPfj)XoI|vtnY(<8dTv4TZn +NUXZN^9uFg(3;bH{svsLts%5igoijV!LUDoUiA!xkuEs4rrY86P?0?QvP|2r_Jcesu)=ed5#qi^M4qp +2^r+h|O5k75l2i^LH=)@cJ(=7q8yD`}6Y;?=f%X(!%x&CPU9m64hYl<{}AmHO_Homvb&$OtI*Y)sM+X +%;r+{co-y3WC;|19D~J>%ssHkdtTDbXJ4gpWd{e0({l$*#2J9$RCHY7Xh`6XB=3D5UI@jQlRuQ^do^# +2Cmd>w+)Pi#3ai>)8}xbcXwokKiU+Jh;6o8<32|3Ff_{-i`l4*Js`I^XRa5t>i=P8ec&O +fCzBs#_IgR%}Yx8>W*XMi+%C`gRFT)km2B=MSy#@HHUcyd;No=cMJgU#j>N}H8<5NW@4Ar66akZq5Tg?Am=s5C*j^S<8=KYOnd?On&l$AQ`AyfidJJw3e>m)= +k~PH$`%$B}(Z!l8S1|F8do_p4d8FnhA@0vfTW5Ez8c3s3Z0z`P98H>dnSfd`sn*M!sC^-EsiWDO%%Z!K*9`8rM9 +lB7Q+>>1{%G{SD)PtO?!~;ebpgEU{(0F7u%FVJWRW?TFcyFS~q5E@-Tm%n_XUZXt54L;A6TNzLASduB +`r@neuZ7G`4Wh44ph}j8q~fT*RM{OJo(r44a~hiDIg(oc3EpA{#_5r@|Q5w~%c52N>U(+@@IVX%G8+M +J0;WH6~|tIvlLDv>WPn2x^-loHRVH8QkfS?o3#Q4mraYBtc@%t(b^M03xIUQy?nF+fDu%iNH+Wy;_N- +GiVo-D_sF*o(wwr@vAH=h<+t~<^-#X4r_v*nWLF;C|q|OG`VY=^a>Kk$1E)HMz>njVKsLhAH~+Z$v|~ +iw`&gQ!4JUa#FfRve$Tib%ehH76Tgbmrdv +96VeSbn4{U_bJniOI9NW)RSq{Qm`2@ixQwu-w2RV_7GH}*m?)^OvNX;OLrD9! +a!dzLQ2Lff8Tt=0L4M~Yv%V#_5-E+4hdgoD{8qDAy+jUG^((4`o~ca?UG2BhQ#l#`id;Xy_o1LvyL#D +buOzPA_z`LvJeqD`S5R1D#AVS!!+dM4{x8p_~Sp6g)Hc$JIX;R-X|dqW5G`l8{l-jIFix3*&3JDNYq{ +mZ$TK8_ETwZ#Xtx4qsHR5+_BNI)R^x9al-)J)D^tM6ma!_;n77S^ovv5hiXBjb1YA;q`5sOOKDv$ +)dy4<$7rU7C?DD>tA{7=g0xTGKMbx|L)2!`b?O*D&An$KZ>M+&q~~IC^~fg+)V1tVMZFB@-dz_sbxNugtgj+m +`Q5tum#ri8UDQ9XjPR8foae?S(Pg~%&5k_VAom^WVW>6OMBB(M1gA3LHBGiwsecPgF^;D=FhI1cDZ=3 +lBP^E#jF}a;1&Qx-Op@jGV6dqId6HP5Q-oSo~%vf4N+q3iiS)J+bxYBE;-f8yr +mFD|1<6G3mb2p;suESHbYBNTU9clP>ii`kKkF_4Y;H(o%!B?IFh*&O=un>LSk{ +1x?GlW^cq`>;}1$)9{bpnMHfeFV~E=W_a|4Z{nl|CB{Zx*Ebk8dMS@Lq=m*pnywybEMWBSuoY_ih5lQ9Ir}=>0h6oc-}*gYG1tYI=!g$leUC+n*b-@aaDYY$+Sq|wWCV +^NoCKb$h;wT43Bh-Nl^}iz_PEYU@ +ttYy72idReLU>~ey77D8AfkxsNrM7#a#q94Y|-9fMQ49Xo|kRr#t_)s_8|~KF)GC2L*j1_Uczv^MeY$ +c~iR=6LIYz&W0(!8ekZ21_$kclq9|f|xpSSb6eQ0)yPS=+RGs393Z|&&4)wZe8&@K9=bNB}*vryA2a$PqS+TGX@6aWAK2mq6Z*p`mb9r-PZ*FF3XD(xAXYEzXj+;Obyw6vRlxt$7+;hq)QVx+e +IawAOpn=xnX*4}-j4bEd(>&H79&6ZRl#Au*?&_K<7x-8b<0UK|qBkOBFW8?s)Y?cTC8zOR7H|gZ(Pj-qlYBV+VjP;N0RE^gdF@ +G7MW8E&q`yf~Yqa|4fT?mZgayUzMfr444XI4&FFF7ptHgNIA1ihN=R&Ruj7Bv%DfY%gUlV>|{KayWSB +AR-wQ9Hu8T%6)+ONSiL6MJ9)!g7<%^7Y=_9e1b#;%cJxHTL>S^J#qwXDMza4f?i=j8lNm4)#GpgC;;i +LaX}0!9y?N)tbu47erS#WumCjf*OQfx9oP;;$ycv@jWWVn_Iaf5(pIN4=9Pb?nlcOA=3SI6v`u-d=Zf +?AWaLz>TTm#hLB_;h`U)oyoL*F7La9cS%=Up9+%VdJ@(~W>^2#6_$0qHfMsKy24Bp@#lY2)hv(l0&~0 +H23tXcDccb1j=c*%a%{jqdZNd64ybYR@6|T_VRKw|^v8_CQbKRIxei!za&3BxiyN_v4z6Ms0y&_jp&Y +x|y(-s@{2$GCM3eXurcVC(f0KLOWbOtl9~rmLrX8m2(f$`uO9KQH000080F$jzQT}=Bqp2PM0On`_04 +e|g0B~t=FJE?LZe(wAFJx(RbZlv2FJEF|V{344a&#|qd2?fLZf0p`E^v9>J#Bm2Hj>}{E3i`XkV+&va +a>={t=q@3oz~YR_G7te_H3_0Nsz^uBDn>;4>e+210vHT{d7lB@XQO8$HcRJG +a=FdQVljG+PuBWteYTfocX@QVESSGHU>h%9Zm`oOXUBKNGELYxT@*KA&e_|vOy*$`rAYvT#+U&ImSt#tWYipB97{`+d+hJ!k%Dd#nME031CyOZNNx0(Pu+?}S=I*D$e7p*;I0A7(!nHMjPq33{K +D8gjVS!t2J)^UkT=QJOIhZYCw&W{rgQeA1tAwW)uoH8>U=tB8_(bo!kN+9S-K>rPKRGYTJYjY}YE_4E +G&T;x7(u5A6tcjx5BM#gl|?v>x$HPOJ~{fYgT2$qo89pNoQNWe0Ehw6_Z!&RAO?dq9t#Dj-+<3%VZx@ +I@l{sbF_=EgFR#yDT(Bij#FX=d&6Z(u$>+ogigzNRV3i5M02Y8{F+0G8@B}I=A=w-8M8O8G+FqaMRZ1j5jB8bx)p8Es$uC*tmP5hEZiEs5CDnG6(sryG_H{6+Q=HIJ*ijIi41Yw8@ +_XCj;o=)dNBS`lG1E4Vm2&1R)%;@T&ed5$HGFI|#)@6tEL3e}Fnk*k?8w@BMV}{$L#7UM(_T3{1+f&d +eT&geK)Z5u2B#BD$SqIjEpp*d6tInSvT>kcl;|;Ds;2z?dkR#pRsi@ZUr}19Ja;{ZKs{JQ4h9nqyfJk<(CXyl?#blj;P@SM&3Q0OR~hn7?w$YUpZ)E(i)TL! +&VR?*Bmv)MAUr0LV1+MXYthi6ZcWGPh?jVRumn)HzNbK#d#WB)I0sR|SHkEjwPmHS>@gq|0B^M|Y8nH +Uexk6VQY-d>(S) +F|kZV@ma=uEhx#J|(l

8zv7LOlL-d7Qo~YDs;hs4x$8DryT3r+tvZptE!>yuz55qeC +y!Vh=D=sM1(m9-k1UPf&o2SrqeHteUiG4>DJ&fPs_}IIcV-b^#cSeEZWJ^T?j4#nb!G~sK +LU&aR~+LWOu+N3Y1q9DhF?DV1J0(zhh3B0yL$pN60kWW5i$Is}1(NTcqdj$fK#nBaKzX?zuL9v8>ze} +wK0~Jr^pvSXR@|vU$((ed)6=v*nJ@e;4($wJsTfsk#1n{a01mMd0*1#W7I>y9j(ES2%p}E#FKeRs<@c;m|p)zz +cp`KR%?LVKVI=RWgM}LR~)OIP7A$sDAu#9yuL=&m)PO7u1G3=AfQA4#|jU+%Fk*rMnx{11Ne4BWyISu +^qkkJ^{h=Ev`;BR@rN=RVb!0$=pA7wp?dT{xWv=w{y)bwKU?;Mhj=%IjG>R)^wBRSFi$GBJB)@IA$UXlo9Q|W=^xqfi-xs6*oLoE~oQr2W@P9veHc%u^;Sm7z(gEcB$+_>J! +DxVSq5dU6&j#ns@f*(ZzjX}%-C*3uDD^qC)xVOos2|W1GF)YbB1kiy7zD=?nP}PZDA5A)j$uLeS~8Ps8z$u1U5r0uGRODZP*?rwq9#Ytd>6e{N#y;#}NX$12?PyVsAxjRytU%q;Vj4m;<*<^B3iZDQoT4Ccmwu170+Qs{SOVbZ8Un0+Y)+V%uy)4*- +`tcS5Ef;5)%+5HG$WZWljjIBG+>*bxjhRKjrBAwyq?|Gfmo%yLB0IYc8blN;Uhc6syl)WC*OA=NN)$T +nMqaZI@jNxd`}&4l}Q!Hf!Atlfi8i%vT>cfow@Xz3T^=>g`>I_*Ima`tNb!a0*8nA=zd)&aPh34JM2o +jn`n3Q9*251y^ypfPWD;q0sVU-sQz$@B9E7l1h- +@LYoHI&`H$sZaObSkk2mwzzuUzsH>#wz(YAwrvq)&Gb0Ut3Pf0orcQe*Ww1+*}dWlm5m^7b5NH4{F4l +cpNE+8!NI6c6pVZO>ZlEBgnLD|`El&oBWyFU7t+g8)CwI`F&Hh$47?p4Tn4NsmGjP%b#ThoGv&sA>j3 +nn6a|~-X@+7L947#AL!}=cJmz8C8uEx!zVCGV6fe)1$jUrQVGSY!t4`FRLNu$@_Bq3&kwE`21VsJoAp +&a%R>JSs49TWhlY|D=qX68{oQH1WvM8T!rCOjLk99Q{L{_lk-=(DMwl3}_w5vyfrQE6CtMO +zT2KcT;xwGoP$ITC24h-JFDKC_uEJan0-$b|jBf^P^cNLAmV2ox^NvW0Bg)3suEZtk&?o`Ei|U#yi6S +{K+eYCP`snPb=)pPanM_8~^nrmsEUdu!dJSfh6XJiLvmW!GiUC3+WkLOG5)C8pX%yBz3>b88WOk=B-* +PftQ)fpEm-lWZIa(Bi(A}GX1^n1Gd;a2IztMWG|No6XO4#nq91qz_V6Xi94bY{Lx`i~ietSC$ +i-Uzy*H_&&qgDBD!3YopmL6@zUCT^+7MZQG-Ok72yd1=sSjC!qHv#@j9gPNt`f?Bfwax}tVnfCuUq<2 +rUN|4@lU%a2m78>JNW2L{mc>wNt*mIq443f76bxZqiHCjnO<9kc%-zJ!te0S{=xW^&})k`qvM;y5AMD +gS9kP3{IK`#m;Hm|zc#u@Ry~pIJ3gXLUXb0*J>&Vorvuf%Z@Jl^L_0NhW$bO-_YY4zGl}-tI#a5<&dO +;FJGpy&DB!m|vnG#b_lB>vP9z4^|SxmQdWYRYS1`Ity3cN +JZ$VCRJUZ~^Zo&iuwxGTWkiHnnHZiP_k^)dPN?@D#>4J?NXOVy*yoaiYa0f+(V>v5OySNHtL1ASY297kDwo-E*ShO&95 +k)QP(6*iKBjpNzVwRzq{AS=U{{hUQ}3TR2y5Te%9`XOanooGRH(is&}j3_vJ3$GE86}^T4`W0)RTm!? +neC!h*=k}v@N5O6kyi!Yh;dY5}*-aTmOL!wgy5>2Ety#1I4q+r6biIx*NTyyajj(H2$|@S@eNr>7^mqK9%q?JvI}Q5oT`Y|x|~+8sl#y +5_Z5ta%1VWpRhBKorcr~b3>+!4K44W98s~GSYAFP1Dw+AheKN{9$(dNf!#gC?Wq8fMH9*0t79m#bNjE +0Uxhm9z0by>yCwpy`3OaDQNs&~QnGzIUIw^}N78}Z62%L*K^OUrdhBQ^Bc62mWA$uEztX;70s!M7OL; +b-46R`x<IE=ep)7=4WtT)Ap|p~Rof`iF +5Cs*JpvEcWgGUbk)YDG6TNFryZWeGiM +<2)3F_v-Z5goe0UQE423CllOQ$9o{#g+y`F`>n78-CEN|b_Oadl47Bm0b8?M^7P1kYpA?O(a4OOmC|a +t045}9x1mWm+CLHfBS2AD1k-|B?lfG^%97Gr2jED|nKczRQAct&TVs*TEd|V*a3`ytm+i;a(02Hj$6< +x>%*2&96T7$6H$;gZwqFyyXk$yv+zo6_#(Tpjnqq8sUp(Zii8KUuqN24k*-3Nvrr+YcOnM)r?UsiQ_n +XOyC_Gr37?ZO|H}Iy78RS;pGMCrucgeAm8QLT$EyXqLu$vNX0Ke6Dz&@K`HY3A>d +3I;c@x{m;}x+bGO`9c%`#Y-CsAmoztEU`)dX98~u^@p5OoRLq9(9eeE}3@}rbY5ED+64u4p%NN1skbw +a|yFxG{td5~m8bz@FJWbnW8hsu3mDNC4Vxy{oXrRmxB0a2B>CqhyXrFMOouctw7dKJBnP>=w1zku`Rw +J6lfaxoh*KvT7dM0FL65%F*F)KwFg+@@ywC7j%7^DI=>X}eB=t8H~AY&6)Qm&?8(!&&Up2M_rBTs7Ag +u!m#11ZBe67(xGWVjn1$8BWw$0)%9d#(Oaht507QlvezWAg;wpSZU-oEu&%$UP#AbMgHA=J~n62^svy +$QV8Vz^llKo&AlS7Z=YS0i%T~1|}_o4nJK9_1#!oENB2wRtG2}kLJ>M!1aJTJ}a=8PGUI7NIP*@B!I7$Q*dhOx@K&=t-wxh%s=yu2 +9+Wz5bgh30@n4kYkA`oRkjpL!(SaoupF34G@)Hk|CrZ&0PX!8p+(0 +GK_O(Z0**z+J~wU%XgjlOKo1_`eX)|2I5YtO{^_%kSZ#+=zv6e_%1E0P~a!LBk-6#Q5Jzs@^snB;3P+ +#_e#;cEY8hqZ2_e3pO2ppV4MWd9{X_JE`G%P>i+6o1!~WM7m +M!ffE93cg~}yVSK?15z$qn-A|~c_lvm0e%8S&&bDbdv)+cDq_jUOLPX(qA{$54^9fc{7TdP~W*siQVS +9c@bq1-B0QcT^xmqKq2SVW6R-B;)c=AYIQ7ro0Ui7AMTrV&6YBeASTj0E1RSVXf%gd-wFB<(PF-=a3P +&?gCC+Pf^8$ry^vQ%WSk(yCsAh00L-WLhy=hNqA3y(z&YjHFQZYVXk-NVyTlct7KEsXXy;R+ulF({sa +8IMSui`tWG{E#sE~QS{-7ioCYwj|7&5W?^1Lvoa2ITnxQ?2y-Ytjstk`FfXMWHvaLD04>9Oj&IZ(NJW +E_yo-|ZmS(uJ9p3gFk{k6rn(Soch;jrKvC14s#Wyj|F^axFqUs^(iS{Q_rWs+48 +d#HH}&YB8{YNnTwQ-R|3p;v?RAN$Jt(8;`XovL}Zi8=Jg;ueA9R{KIQRz2;RGk* +sZ-Y`<+G4@n)04VEaq;HZ>C&ISjUh$i#CZQ56npKJg=IqUQfBk3-@{#0z9wq|)BUK#FeB_1RF@nY|!Z5yAs%jd!211dN?~1_c +`;zO16~8NNyPR{s@N^?bu@zRmyy_CCjtO43b?0>39>xJC8h@eGll9br^c=tpS%nwb1VZEnfB&&3NeeenaU6IjV4QPW@7^{gEnoKYa`aSgcrnhZyT%V +201jykV96gq5g>6_&SshqUshwVfX9+yE;|mBRz8K-H=N*7Be^t@z*~a#TnU;4OkVgb_3m#KxcQC_ +NyxDgHTPzjPWGrjhpt~+4(%Ucy9Qk(htS1s<_X>L6OUzGc%x6^$i}&pht#vY1fpbA>MkwyLUAHG}%8mes}cO_Xi(NC#Sn7KOT@27rZb +46=@(XYs}Xu`#Z&KNi>b(sJH_%q>K(}>=ot`L`aF^S%`5KJ3U-QWdyrSRV|V_2NIB2#*WUa%v|2+``U +7F7tXctm@O_UDLfo)mermx?p>DF32vDm1yn8H{qSYd^no5g}#U+sX^Td(wR@S{$T?|eX +D!UL6@v(ix%p>mU2-RaB37FLLWt{?ZEcN0k}bgw9LjlKXMo81nh)|vN8*^OqVFFny>A3z5Gzxx5NA@Y0#i`(q+o+EV-&r +K?1)j_X*Wo-fJxcHDX#(iW?d?3f`lKwrN30}AZ8up?3X>W!Yn*G$y*yg0E@(`}ZLgK#^?hR#p5rDAs2 +&DmzJce=BFXdtWpvze87nHQFIPHi3NY5)%&n4-+!j(YBtU`G!~scN%`+3w?OrYnlqrRaU~khNQFVs2?YW*5cLi3I=*0(8U_Q$eCTC@5S1O!EP2_DveV@kfQX;+m6oY+N_{L#9sd@*h3jTW?xTBZ_Q)Kc@JhDG>x*6zZrHti+Nh57F(&0; +di@IACkj1mOd-iJM!DCbBd(UQ30*WFE$9t5@!LO4lxZomT+V +0&*S}q4Bp5@O}DVJo@#kQwMlvJON8N$5#?4;f=%edlF1tjII%aK(2UU?*q;4dr!qSqdWeDfMKGk_VeP +YpeTgsQ8xpV>Hb!q~((usX}j$7;tLLmH=H4ct +=+A@d%$y0}t9ao(gc!KhdA87Jr+%Re_`TylA6MD@xr&;90H{IebUuQiZho6ufQCQ7)eonQMuP)h>@6a +WAK2mq6Z*p`mbYXI4X>4UKa +CzOmeS6zBvN-y`KLuAlIhGPxYdJ4Xee2%iBu?t5j-AJLHtD9hDkae}H!`V1QgPhf{qA?(0OF05oV4fO +^V4o)i3A1%U@({&3}!aBzx}hZ8C7v{na-2J;&x;6kAe6+U)&by?5c{o&wJ7C&dzRh92aHuYFSosGEU~ +v4|DkaUo-W4Fin1hdI$4)MD@z3NXn%6oJhfYao~PwiKbof4!gyK1!xA4(k__r$=l+@(QJKu=3?s$P@F*DA_IVhv +xdo1U70Do$+{>G*{2FTjjJkt3E0@b60|a2)sN59(D|3JbIQ%1-RQ!~hy3FVE{04eWcx2NQdt2_&Twg$ +ec$|MusFzGeQI=QG3&sm)j4@-1kay)(4CE7y5icH9Km?`&pGse`^UE>NTvnwpQH#8wc5w(0E!7*Qxr? +6;qw~|37w-YkilM8`+3k1hc6#c4#%3cRDkbASObqt}OL&wqj^2 +hWazgb_~7VuKYDT +S`ry?e*F6PjfC?66qyfgepAPvcG=BgX96Y}`Iz6E-K0iIVID_AP7=^Qo8p6Ay^F!$G!P(I{pbs!!o}E +HVIP6dj2lfQ(o*XhLoDzHLpa}kcdyZdmJPCsrhX=<1?;NX}#c}R03n1{(=yF*ti)1v4(rcuYXi=nD1y +3_tyBiywPUkF%rx6uL%DgGkDnTL#jtV4RT*p-u7n7^>b5ahl_{PR)^cj{CR0pv8QRhF-lFupr{1131Z +zBA_yPd)JgPji4h?l?@3aEfjH6Q(TxwDfzLSEYScxex-O@V`9C93uxFW}c6u;SrxduMlh_i;4*Ztv0V +-p(+3umcP_>b@+}egw~7CSxkri~a+lOg@+Cl)xaAqv@WpT|`fxK7RVd0{WPN{yn;ej&H-Dz-pQ&*W+a +|6L>`etG(pz(|+(dk51C$I=M}XK7N}!{p&|(DRT8`bdlcxAIqi#7_3cmzd51_D$R#7XXS0FzUKNHG+L +?eNl|3E`cb9VNnNN|PINJ3Me2KzY;07;?cN5Ctvs6*3t+%E(~acIBw18~(P2^K1($;Y&|@e8|DNO-fP +fvT9F(`$^ECSu!L+|ivuS=)BAEf70xEhk*olfbErD^JJA?cAN61#0**OOxNTse%p51cN0S1WI-mm_H@eE_Q`!X>(0TH_NPx!9Z?DHW>^R4O+M6Q% +43siUuuuGrO8b~U0Mt!X`aLy}C-HS+4C4YeXB;|Ob3%z~4({Vxna_!|K6EbP;w8KUE{$K0vdbL5rsYU +#$qRzr`M9wG-2`G8sO6bLg%3L)qaUJ&)I!$>MUhVu*vUZz8qf2|r*h-$@cHT43#nd%x(}Sjt6e0MyqK07uTI{MVDCA4PRJr(DWb^0c +@sF&ES*HNY)NB-5)z0Xut^@hcPsw-Wd}YTv)Upr(=TSljpM_UR~J8xP7YopmcyMLuZ!35m-KphZ6F(y +0GRVc +c572{C{P^T&U3wUVPOPsBOCp^nYBl#Z&VPBW>+J^XmBM5Qz{c~R&UE>Q!Sb3gqjHf)*bW&^G&rY$qV +UBdqFn0dhoj1ro9XUoICU#qDjJzkTxtbb!MbBb={ulxu|Z^rHj)P1s9+!yl(eSO_R2yi)s-T86>mYPI +zv;U)b@I76_wyVClRyO3I|@zUvS1ja&%UKPnwXo>))Z!*;Z@@&-c+J?q&yzbx{NT5CsYqwH+hE1dcB5 +U3HoyQ`G0PIGk=uy!07g>LdP7Wejfg3~|i69rnO3EGZk~um&enHrD7IAfjk{$9Y^}S4gCu#2*#ruvsI +-O-Y#kVv5vqZ*7zv;^w_~CHHmzTiqVZz3@(bcrT{iaMR#tuiNMiCx&!)UrKn@yt`BiL}ZydHzZ+9xYV +4zpG8-VSS&-W!C(f=ek#y?y=c@T^AbpEN3+n1*OCx}4{6#Us_31fE?7p5Zv|0jBEr%=t~zKo2(l{f!* +y8EBAb3M2atlIV3lO}OLz=yN<@CNyOEq>AT*Z)xg$boBC=_QjoixQkL@&5CUy1WUsDs6G=D1x1 +g^jUy{j^tRNTXuXKgoK!sO+g}+_AmkL9tf-?F79&gVM4_;_IBD+*f3oXCNV2{3d`|j-M;!q)Am1KjAQ +S|Wr;d9-zRg@7-{#qtzu`%krsu6)%2qH2o^5p_b)`;xvHXx#k)`-A7tUyHSoEnJiJPMBpG5{!PAhNR? +Mnn}g5ZM{7K!odj+tN+56m75R?_yH_dRU;a=j8x-C9d^uC##ToPJnZ=9)5W8{FKbB`@oy3%k8HfLrFJ +YqSil4Dl+ZgmKB;xCOKNv;~i0h_v9&Ld?u{3hXPW13t7AJ4kL@L8|xM+)0MnzHhul-_qbo#% +N5TPN%j!urvs6qBaDU7__ni+RVY&@xUI`hlv-W*Quv0l`nYUNcmrNUCL#MdgP*M(1PnAnJ<7xs51x%U +%x@_mj8Bj66t>i2OQ8w;{@1;cnSTF9_+&G@EuwM`b*LRu<7;_M`3Lp5Fecdmr`|AFZAYrb$D81^=|$f +GuvsyazFMi`(i7PbcVwjU*j%pxA&r^i7V|g)$w36sB4&QP^^z_JN-&Yg-C5&;vnnp5F{q2TL?pK_4eq +MVDA%ukNe1_^A)tqhKfQ%6xR^&xvtFF9ixoGJ>rfp0Thg%L +La(pHIeOd|4_fXt@CJ0;K!&{{1e)*dF$J+rxnt?WIx)A_caqFq@I|NaAKDKuGcgYReKd+Qr4~AUc4B9 +@7yf@4$!*%-uAd#1-ijfEDT!=>(-9fm5$9l;8AuV5IPqiS)v0-gS@87?V-htGdUW525G_X|y6<)=k(|lRbQ8Y~P42J +h}tz}L02wd>B_;9Y=fj +SD|HSA6v_}p1q2^or8AI2p;xF|gLD<$BnBF|k*eW_Ep3?zE`YM`3_Y<~v??dF8S!F#fb-IID0cYh=`) +~F!0y8yeE*2+-6`_$@e@^K`1r}*zG8J3k2EB +En;(%k(Px9T8)`7+r;q;>?gk&M(&fTI`x(WR=FmUQmfXV)8?PN0FbAhTixU+q~*b-n$4lYeploFW3cE +(H_^!qi2vOl)od1BQI4m<&*3>JFdWAMWfvve^Oh%p8yJF73KhAF6$_o?>4~ry?fcqDjA>y?rT1Swmp* +5w=Lr`LL@GWv^q{ErH(mVR3xE&Zk`^+e=l3iws~~vplYDusf%7R^58M2v67({rTbD3-;v(0>fPAyP|^PvnRigiuUnHx3g +Wr(hU)0HzF2s?YQf`G3m&fok5@h(ubS|9)q=-q3m&H}c$^9zf4g`OcvL1H^hiOxFy5Sccx;GTsHmxn| +Ae##ECAa+*(nX(RhigPI8;=-UEF-(|7$M#wq$8v`3KC?vJzoP>%E{Tqu;|v%`2F&fnV69UN0wNC@JuK ++rJhWgfGvtCaL!^ +HxFR=j7=lL}%JLr|NF6{VooX!dOq^=CYCupwIU>oNsKVGj3UQX(OCUcmRSbQimq-lV%Jx@O+id2KGnY +IDHHGB4`Ns*SD2mbJSQQewgjqgqUNU)B84gv-FAwv~*dPl&Os@Dem@bu+f@in%(7Qg}f%NoFK3r(0tm +g6${?^<~aGB%#l93Y)`CFhnL%P +e9HqZc2Vd&A5N30U3CUU3vGae&ryY0xH(e0hUposMS+?@uFUsUCejr?+H9qqDA(41Sd^>t}*(l?$L2fS-~2sO%VJfUxKItV*scm^sR~)iJWXkNi`X +0tC5U7VuGB3_zW9aX>H=jXcjWRy~}dzQ%})XqOa6lQo|j(V$qM4c0g3&V;-`oHmxNv0=B5M=zY>(&1I +(EcS{KBGgyUf81vhE8G~4684p!wQSjTkzvY?{4>J~EKp{nEFSO~HgfLC2WK!>nSBX>IW8Mw@;n +90j*P^4RW6ji#!G2YTvh*D#1uuj$ATKl?PZbkgBW1TiZvf?w^IMsw<`!^s5q8Xx<;5KKfq!SvO8A +4%(D7c*E|>fMfm7P7x7y>VvJJNM+Dkk9Kg4DnH$8K%i@gI1W)d?ZHNMr2IB`yB5)xjs7GH7@WUlhvVVb%X +Xlra{Q0(_kH8Vi^G@42N#Dgf}WI(pY0mJ>x1{Bch8P4&hG}n!eI3J@b&2U@Nb95cLTCh&pA5El~v5$H +cz{L!1FIWg2xgA{HNRN_3Y6ajl_D{`E}>vcfalqAO5;C+`<1k(E|hY1M9#C?yGZx8h;)l2d~H%`R +8KAD*DA!=IY0tOusiexd5(VK@4Ro4*5f!N-Wdz0AKN_Doyf<~As)flz!hsHKy&@SyIWnaH_W)HXO2m9 +g$)7;=+pusA3d1R@Yf)%4zi3!IZOmiuZzH)#NwHR;r0*B9%8kw>NPyEmsg=fLEKxNM>2Rv)*)w;jcwd=7cE1x|}b|t8Q=27Q8dDmg#An4|k(qZvod=@IvW$Sp@*$tiEAKo|^*A&IL+N^K_C{pc_u&vQn25$X3swp9cWpy_f-Bo$up +x$Ex{p{-x#_*YR!CndkW@?NQ-5p_6MStqod^$cV8ffqe2vgRCLpeKdkJ2n`b;{W(uTl`lTg`8|+d#$I +IwU)_&>p(zex(cei +FRIgg}*dFm=M_Y_3-p%v&1P4_;%!~b|O%pwsmaC*rOE_C`~syR}nbR!HRHFo&la*$;~SVfvSxld`vA2 +U5zc^&V?Y1O~3hAsip!N=M_`FQXBPUd6PUxW^Z&U)Ks;aHMKg!(>aNLhQvv{E$$;eVR=&D$p@l{d2Z@3m^S_Jhq^rU3lKa{FWrS{IV*ED&q-Jo&mHY4k-*E#y-11tCZ_xu_e_y +XTaZPGInI!Y^>&eBxt-jP~#?i`{;>;R6-P_gCHHlw;WP~~kl``zcq9-wD`zxsaI1Od-%T>OcPuP{0VHBd!l22p83d-nI;uc9*a +z9CLwc%&#SL~SAh>lAy~7qS3#ZumQrS1C7c$W@?P;wieS9!EEM@hL9yCDh?d4@Nvg5C!XFBoJ<)1E^- +I%8V-C7w9fCau%@k(H@?A0D~~GtXnqyYvN)?ksF;Qz#=H}P}3cI#p>`}ZPr;M;*R4VAB&kC$X6fW40J +;s2?9WJrCkp(GmmWOw@di`@t+oK%mZW3%ony6{=Ul{Tz&FpkuGUCJ8M}0eK{@IvUO0m25b4UVz>Gd+^ +vfEre(KMloQ;qpz2!J1waDPdkgi^6nX$i!=S-VhE;7FgWBKljUoDd^A2}sQP|dKZ9a@}e$XHTQ!Qj|J +)=>#)yx(8dZWT-o`ujr?KSq3$1y+*GE;h>9Tx)iKz%KBrUkjMHIg@Nyrm9d?$(%cW3cDLa^ +|=w4!9$=37B%MyLbZ~^prZ@{>Ju2#PeyJt{n^P?~JOWAOIPakDMBIaz;hQ=kVrPr@PTgQuv#F##sCSB +73?K)ntC6~t#=Hd6G$YnEh&S#Wt@eA%ps(YN +)|-1b8V6L6=;g`l>=b#WbaXwPV&r6GvS`8h;?vA^mb-sNOzsX4f7a3zRv{s>lyDodj59TmN)D-9?Knq +r4YjJruyx@E|b+5LL?+Zu!=*eL8@YBs;Vz#>vPKN47j%OfGE-3xwsJEV7ejK{}FHNAF;WO*we4IY{;1 +l^PdG1kO1Wkbn+qvC1t~j>i>h(p}qrv+LLqW42h-`gwDMttLIieKaT9b_PQg3uAiYCpP$<~Hjhb{{W^!!Ce-@`YZN`+8-3u({Sp4+xG8LcrVp_Qd=^Fz;fCT;W_+^G@Ig!(chR@7H +YB5LMx6z&zg2hRJpDqb|&v(*^zWXUf3`M|p)O8?6$}#k%$|Zu9sCPH#UnaBKwxMxnhgJ@ +hGbdq4Qf!t#Mv#>=1=I6wWltJ;_o_p-U?mY5lsUn5tZ}$>yUBqi(F@>~N2l*Zyv=Osy_c52n$fZJaHl=>0WLSpP*^#5}1Oq +yNdZVyJdZRXWyMMy|R;vwbS;xfX1q0XIu-crei{U^|hmdEUIXiB40QEQ-Kck>D#QPjs&hJ4D)P(^>WU +BjL0X9+kU{kdKCG?7U0@7w~EDNT&6czY`a)23pIJwE>Rc_^b#D_%=qL1ECJ@8yeSN`sTVVn>9o{b0{l +WS(sCbJVtP_QN<=bv0Tm__lG7@q>0(Djg`blf`(yyvlq}NxHYBLV=1rKT;xyEivJw$a2H)0*;LHWn^*T8u$i`HHKt}>*qTD(xuMs^bGCU+(Uz~pT9lxqz*O|1=xnyF0|>atw +?ZKL(mBIA_#5$-W;C1STRz7v2KT$lGlcXeUrbJHMimbqD}%kuFw$_zf^o#~atPCmlv!r6 +E-Cp0QYriYIe1p$;Axfyc0O+dnvZRCeXdkG#NA_&v?=d!Qg27O*oY5BsN#sSP*s>PQg +erf>;L*;}x3(27IeLWlGBzLWq`SB8rsvrehiM*@GB3^riKPlKU`yHd;G&@+XfT>C!9?=!A)-T +?Ggra#EXYqCQnb>C`Sc3zekkxzm;a4{sm9!Zj7FMK7e5T}>O-%@IW +kH8>x;KvDM9Q00-hH|*4vWk;eHW^IRBI8_j5##3#}Lz$wq=IW0AP%{Gn@Xvo!T_aV7Sy9XfN10K8mnp +MFc68GGOoFUZcv8%MHqFsizXta{$J8nKu#26^`7ALUQ?!@V-PSD@kK-sYDdDLOMDG8)mAK +N`U|#9}n+>k;gyY$-5LNdXs1_Sddi35y3(*12ama!)knRK6GqJFJlKDZLYxiRf$3o?j<66K&8&5sAaM +lYa*vr!41QsmsD|r^L)DG4o1DeimKAx6kXeFOkW)oiZXH>_rx*b_$W`V6;UMb?hQ~74F#t=JvcE$(k9 +veRs;t0%f#RvS;(&Krs?n_H1UWOa0qY8Yzn;_x2+yL@IHdiqgRE3B8ZT4gJ5mhwo-NG?YLIPwB=ohOr +u8&DzY4Dt=W$0Y5>VJoe5Lv?uemCekuCM~od{C+C0QWoS( +1r_uU>qaB-B^QQ>XLt7BWBvILy6mj8B?H2j|a^j`W1oJ;PQw!rvADQ4#SoiDzzpYTJ*b95jfy*N?iEA +;-u}Xe_^;Z)EA#HXrrn;VyxjIkq5t4z%PN6|YnZFJp{-10x6jF!VaS2tujS)9Thg9i!~H*)p+P10V%O +ui=nG>e3rI>y$jmHmKmOMIs?Y`lFNo#YmrIRg$}lZ?hCjA5xu$YmCMie4v3r8m${#v!5o@qI$@(m^AL +*q)X>!vYB=09B= +^s6lz7K7~z1YWl9NqCrKAd^?6hS?u8}+C_I6Vu~Og$x7{0KI- +k>K(!jf|j8W$1+Bov&Rb*qInqg@6bfWevqk2D*1kdY9$bmR0Yi_Q#Bv!9|9kGld{ukLH*bgPN<8qQ}1 +$r`v4j8>zYtzM%wsKvsC7ww)p~dw_mh*4-DU;$;%U13QxIrTpp5|f^Ojw3%4#go!EQZO^bow7Y?In@g +oGm)~;F@?PB-}5_ZO>M+4|}q0y*WF4dGwwV!ReBG3MS|1=Up+(_Y5Hn|XnUMx& +PCRGS=WaGa1QmYkd1S1HtVR`Ld-Ae-}k^uZcD%%MrHowKB>#i9;u7(k4HF4|&GYSos5w4GjUoQrfq!P +c6*fuUo-dgW(#EH4`&Rv7NCRYPr-tyRYQ>;g(|8Y#|jzxOm`1}tZVa{A%`v}ePVLf4*=x(6iL_f5IJw +Y8<$)WhACE!nkacdTuXws8`={-oANrmdB1JjF<%M)dLHHdEC{S53DfuHBoKXl&P4{rk9wN`e+#YsNJI +eMskK%lojctM7fJgnxE}bZ>S0;gd&{PquS!=SlwS4z|iLLU|Vn>chw1wFKE{=XHzt7UZL8SN^uef +kido6^_);CZMw?T?(Rg$`pxQE;7t^Mb-}c;K8pnQQL|oA1V&>rTuG=WQAM8hUxCRgz>!3=KuGbkwsn; +UfG+8@HvSIO^1Lv=~fw*=N+!@$|ModEzat*~Q9L+l)4z)uZBqnFPu_mO{dBGG0nzU+Mn(YptFORVawIPz?#OCd3CNwUAna021GNyp9 +}Ks5cXpoEqXCp)%f}&lAw3k;FjxSk@*M>+<5O~b18cO;nk(Rx78Lj*aaCFPC<%qRLxU^=Iuh=cbhEXV +WJHnH2!ki>$&vW#(N+Ec{Cu3u(kwHQxbd +La1_0G2`kZ%mhyGOkni&e{R}Q#TfsV;Hdz?KtzEFR;&te`c60*gxzFDNu&zOVGIf<9C=f4r2TcJ3#Cr +L7$CnbfMF44ZrA$70nJma+ +b#ItgJ^4?{{1!EvOv%+V9);3cGCfC%%vr?#w-H&D=EM8K0v<99acmmYa~*XUZg#3+aUR>6JgAGMQZq9 +A0O~2KH&Qj=En4nvhAQE7#CAcZO*&ooA?VS4eN+004;!YdN9o``=F6SiwH4Gn1DE?IwF02jc4YDJ!!p +ty2jvZH)b;T&yFmtf&FE_mY+jFg9!jTZhAi(I7SMadUmo#N6x6ueB4eX5Lsn+dHB>46)P=etfj?VH*u&!9e+t~xf{bQS+iIv1(RrhBHt +3CZ_7h(_9x(xJr_{1qQv&#&h>oZy_s9@`|tK1?tZ_rp5cM2#sjMDJ$(4xN57yro$7)Qp^Zn +6je@m-R?vXgdygBa#Ne8zAawohJMuOXgP;~e*rEs=4CIwtHi}EOMN>@Hk<4QZu$ay%`311KE9)qtp1b +|%K=}!y;H{{;%|pwWcyaQw4$g4@f?l8_h4{5fPx8rRxk!NnQjm4o>XzBk$iBzEu#-exev*4Dl#7*Y3y +%~`=DEwly#28monz8J^5nfruBqBQrufyM9weNa6Cks;z<^Zrfxy5h4gCDg!P&XP()iZk!>3OiOB6ZWM +_ycECpz?_z|mA=o-6IGtf&od7E&OdXt?{)mz3~>2bZ+jShc8zRJAyU`iMGGTiWj;Y)R*J_#PEpNZ}F? +>Li?yWQkWF;L=K|1=f=1bHe}8Q@67yt~-40(bI=}kG_BG7KBN4?nL1I5c%3S8tiMJ)~Y;9uJg~R5lol +aG|nnsQ7SBeT9m0ti$Y6j32$8`#@IsidMi*LSkP*-Tb>y51$&;L#mP4M;NfC@!lP+ewna3iAR(VOVj- +0u;BgTAtKPT*8b$(Z7o6l03JXv2qdjJLNMuq8LG5Ur_))<-!j?obs5-bY~l(gb)RR7s +0s7?3MjeBLm**ig6)W+_T#CS)uo=?Mw`SLooRiBF{EJqNR|p%xg1N});x-*Acz5#0}(Kw`#QcsIfxFt +htX@$4FnEmwPDYw%IvAUtnoc#Xp7>jboiQ;7dDCX1r#qqGFssnFc=(E#zNS +_X0*#qDq<1pX>O2K2#@7fsnn>ObUv@!B|H@ThlA*>cCJK|pbCG@4zbSdt=dLuPMQ^5$I*4Ja&_So*yL +4Z?yE8(ChgdkM-zU%vdMTl4h7r +UWdHnfMq`RVb&+0pq(-mL5e+BX9&c@EKD#qlzoSC}=xVlnm1tM@Ha|AuE8HX$i2OrhYERG+f^Mjp|UH +xWXD#pPeg?M+j3T@_i*zHJrevNcDx0;U;NJ=#i3XrI$U*OMgM<@wt;Z%)rH4qt>eO%O3Zr3;(Gn0&#u +=czDa%DIQi)HlD4)QL7n(4jRAN#KpP96DPj`-OtwJCy?fqmq9y%uP`U(%Sr%4kzeJfBTQjfc@SEZVP0=AU& +ZSEA#`jncM;f{dA-_40?qjrjIUV_2+Ca#vURM*a}8x$CSx&QQgHi1xgRwi#J$6WW}M7&0xS!r7dQo}; +GQat>`zI<{}Np7e_*agfZwJwjCZQi +rEzsTXP(~x-~CLj*A2;M8}2JX{nH;Kx2yf>UQ+*5hUNP-kyM$6I}GJW2hE0}omyuO3Zc6D6eymPZp24 +?y#Fq4XrLW$s&+G_(11aB{1Za=*`dP$n4ZraLY=zfK>RP6^!)|Ie@4#|OP%vko2fSqDoDK=RW05hKle +1f3ctorhA@0R_6~4ttdJB6Qjg0;S|NqEnc0LW0Cif(ezk@G2ROlf>+~#ry&=qom4{BYB5iDmtd|n=J3 +y{5H}m|5A>Tp&t@24c@B3AK!`}0?BL))@Ylx_I2OvA=h-h@5x^+OVX&tGhmCqxSxarXrQ%8j;k>va4ENUU^Ms4VY)Ys?v?xZN{pa*FO +p!-eaEwB=^|hO)4AmQM(E?D!ecHRHq37<7P|7&0GW&fDESg2oskud4jO;hkA{QYhe(`a#!+k;R~c>+Wqr +BT0j8L7QnO-V$7-z%N0W9|w8T;nw4 +20%c1bx#W7vYl)Q!Q6wn}?OtTDIosY#AyBIfpFPob6C)to>(0`lLWOx>ip;wRN!n#h7Nr~)d;qnAgA$ +1l$PWumCK0WErMo<(~)Z4kj#NVdD5wd1nR0EOCb+?Zv!J}SpIPsgj{Y&|V|99bT*eJHsxHoP80n?gQCsOx(yP?T5tF<`Ybm8J|=J&O_He9P~!(i9!g8?CphU1I&Q;SuGYTCox8?$(M$2YyXw&^?Cq&; +{+OQg$VJF5weyLogO?2Gs$)^Z+8Y(6{N#C$b(NiXxD^w770R%r;D03M1=y{Ll>qRv>-zVu>E255{1~;J$Z78l=|WisWeDkA`kZQQr86o9~n^5pepP=m%BdezfZa#Nf0C!rQ`0xH- +VlU5*YoV#qpOsfW&7MqJ-rK6f&0e-pJiTP~BDMP#e4G}88`#@&fo*o=r+;Ku3N1`q|-GV ++H&)o|@rDsg52jt=)A4Bd>8^?=Z}4$d6j%j4{o37><3-%Jk@TOWIT5SPR{RLDs24(`f>&UQe}V_@1(l +Ru43Kj6#nBtNI1O#i*B1cCNx5spShxl`WRxb?MEo2y{G3VjedyxVaZ4?Msr3OGtkXfL)`b#_-h#TK$M +Fwm7_v()unJ=mUk%Hi4JtGA#OvR+_RCqqa}ebF|I8t5&(s=+$AtWmMNyyiEPr&7qnvk6xa-!&5t(G*ni0qWZ|ooR;MCI&{#L&h{1ZeT_?)=X7rlVjM2#|GP9kio8{4UIV*bz +_hHmU^DzBZ;ELoD{-dNXe1+Tqhb95at4wapIiQ%)?Rq?Xl}tP0?Ay2v)xauoj_i|Bm5+b`&VUg~XIWk +(BMie)x|kS*DE2Y4<>N^dcVk +3`XJ-u*t}&Y03^3?o4p*AeA7M^=6nFDSY=z;k0SZsS7MO2ks{F3W>786Ec%#8nYU!T}VjS7=qy-c^)K +dung{L~04v524*hx{IW6Tw%-fLHV=&u?j)@qkz_1CW|Bl5i$Xyg<3%!Dv9zqCA(F-}J+x0O_3+ +GuEy=F&B|M(t*N#XiWjbE&WKh1vIKa>O~UBH+l-19}-G;NqG*71Szv;aBjp-pu?)S3K=tFR9t5Z#ZN*!3$%53)NL_X?ikh%EqZ71pLzN~fyJzSEhm24Qks&=st5`5Q$C-+UJNrjnUGIUq0N6)y00X`p|IY4!3K(tYIoj{4|qhkeRKss1b +<@F(KymnLiFU;Rnxb$0!y{$fp+a}nI +qgMDVs^=rM|O1$QpM|1FXPfVWOWjrjWFs--2wx-oX0clE9o`@=n5~+kCPfH3%)R|h{ +#HLEVv7(|fsb~2#(J8J3j1f$A5>Kv_Tbz{5{UpaeCU(lhQeTSzbuF3JGv^tsye+N>T2*Oqic<0$y2m6 +f<(Q)a$L;pK^JsT(4Q-#V@p8IoGZIzB7~s&+^EkOwL9f`Eid94>d5QY8#cndXlBVuV%_ +!>BtRYaXP7&0{I+nSbx5hx=E<`bChX>FabCmxRJAbxUw)RBua&7Z)`*K=ddD2hgLT5xcGj2dgv{T)hu +W9Q3tV{mSl6ihZMh-G<)L|M_V%S&$s?RBdDp|25z65UfhIMLFD>wv&FZ+{-tS{fIyr1NAp4GnQ=+(kH +n?PDD$MbZ8n%w^-N*yI4ESHO<=xiGpu*)VUt7TIe3?)T?&jb*V$$u{qYp6T6Yodl2Qw;2MLN|+*K8;( +>vQ+!UHL!y^Dgf!qr*95VMz0Sqev)hSs{44!0$QMzNlx=6_cE_T7N{XoUac_csv&3|{a)41#O~SDV-s +z3GY4o^PoUW%nV}v;IU-Q`iShL1bDYj`U;{H +!TwayP~1*G7t<3CkCP9RM7AQ59Y6UdmaT6K_vvT_|+=Pa~s_qYiJ&ymnuV*r6@+>hR!8J)svAR@ +x2g>-DLm3nYp(cVbcw_b)XwLA&_INbFb6_}Q6gz{m4v?EQyJd{OQ-9r#G(%Xs8zB%KGtG%?>iWuCqZK +QVVj|~DSHM{j3nzP?5~;exCp*ApT!YJI^fEal?VAIuO}`*_0Ht~>uV?fU;hJ>FH6ck+z4r$tIs#;qYYcLVz$ +2@jn3(tH-ZX7V=P5#wfi3AM-|6|^MG=zO}r?iOV+ps6+}G-HcqVv3sgs9=Q&i-tlk@em0`M!^NrQ?=F +ia*B*tcEd5SIR~KqCwY +FX#G%NNeuaZf>sifGE=3v$~qq7lYI=k|&<%T9l#5#$kmL1#?XX;SAW(X~0w}Qn%4Vl)cvyx7zG#w#XK +)@3U1;?xGptg@E8ZN7Mh2zSwxWtiS%@vXrWYV}RQ9XRr)U`TAeYGY0E04H!v}&}+u99v=W0>#%`!^pK +h`M$i7f`=-dh+}5Z4wv&P{!5U5uzwZv9zQZeAVz7R-jn%g?j;?TyJ|4P+`0L8mO=lMUDtq##0F%&ceqAqn +NpR1|Cs@W#jePt%g;Ej2}#fXmFQ-9J8(vI^7c5oZ|0x7AMN%6=SB5tl~dMHlrJ%u>T;padUZCwZQq!OQLrd +%O-^2|(e`+EhnTg>Kw|@MxpZKlh?y;w{omW4Te9)Bk53KLO3>HyOnL3+bFF7{fpfW9+Dzq47eKiVarrZt>Fc=duhi8YBL^as#p5B{)2>afz#GT4rNo<}Hai&z4Dq4?f!k(Izc*i43 +L(}br$(|4C_we~9zPU-F8%#%lHtI2ki>opBmj%^^ZB0I#rvDFxC}K|#@&t11bD_^>R3dd_w{EWTd7yL +V4H0R_nk0%W^zBmwFH+8e3Da{#vth4~(8N$>Mvz0H8AQ_y&yRHHgK}%oqOYcH>8lCqqt#<6>ASW=$Bb +X5tnO@+$_qQdgv2XcpW_J&%Iinwut>$)#ktF8B9m5pFmLVN({cPT+mCayE1=a_OD)Yrds`KT72#s@06=C8MLPbw9}QBHM6Ws%eR5 +dP#0>K$)X=ww{iXA^KcfHll-R7l2=1m8>6gw!Ck0zq6pJD+zb1;*->hV)ri-d6f`k=3mYf)jaF=dU+4 +I}Z|CrUF{ltLqoTw{D{rsyR#_R9S20KF2kjxBe>OGqRdyG{2R(WRNwbH$;=>ltZ{piB+VRU +u7bLNo_Zl0*_CM?d1{6Pj$7&vBP_{{CFOJSaWai{)3)jUvx-FHh>%@L-n5dS@=7nqZF{TifAd(3_@fN +Px$n&4tx@X?8_Uk@7ZbQ(#X3cdQ@~Mzf-r%4wTlNE#tsC|Pj0FnI1EfK3BN*7bk@s3oYq2lhJ5C&FFa +dbr6`Hw)W=0{@(&PfU5Uw*`0z?Jboc&>en1UXHcf +t1yS=y*7Tq0S%iwWn|n0Hb7s^-LUYsKew`E;l#@LwYhSWrGSDXNsN@F80TfOk7gk^fEK1ULvL0*_s%c +X&3?}HeT&Ua^JT?m9|1!*M#<9Lr@h5hNI9skC9<he7c-89je&&1^qan!Fm%ey$VoK!GXBgRibM$svcgZp6+i&TY*FnRIPKb{Oi4v;%3|HuEq%0T5}{=k0 +@qtbzB-Pc+`fe0mt*`nUy(GM}UCME(~|L2c3J<{=I3ZLE3UZMwitp=zFByYePLO+}N0r&CKM!YfQ;>` +`*qj{}bUqd-|W|zTKk`_Jeso0gW8KbuGr;`>^-qqtWt)->kL&J%~{Mvgd}9X!3p1PN&xdtc_AFa2PD6 +eO|YJ?DV~@WnD_bkTUJyMNVG74X$SdD+0OIFeAAZq#{9EF$mfF%s$9deQMa3s-y^*mky>=&wk{bqNvB +$96BY=ZgqA@*TmG-*^04AOymyZKF;yH2zv`yRg*#3&SQdE%jDB;=Yh|QI!P<1pdh(lj}wUh<69M@KoV +?76oL42o>I08i;I^@MZV|1X%IA2#Pea0WWZ@3h-(i>x*=0uq0^@cO!g<7D>miDlPev3T@3XC5w?ckc> +WyN_7)SP%fbRp*1oYYE@n&0lUYZrVx#Ef3UeD-nAuhPtRv}4Cw%KCAOe#u!33nxuTzVCtu^kB<|IQ5K +V%%pKE?K86R2R=Y?2e_fSb5LXKnkWO+6gomu_cSs>_u)Q}u|aSy_R)(-7VK1*ZC*kecw0;q~1Ez#7k{ +XbKW!eLU;#_URBB>1a>&eJakWzIg>d?un;lJ49tFzfQ*a6c#(JAXM?i7H>}Fz)!ZL=E=Gw9u6C@zh74 +g9P9agLgW@LU2?lqgBi*RpOuNH$+oTtw$*rNSobZ4Y!hzlF_?v3-OINb2GGpeI$OIJukJ1;7s3UNGL0 +f`f3doDKBU*iB~W*oONMXNuIgyZlzt_dvU?F{(}@c+H=~)-*W)5;(tC=N1AFc0 +9-1S|3N-RtiVP2~dOsIdJAK8&JRl4ev!##-4J3x(+tcz&6b0x@vv?BTrSgFG1?E9t(Zbn^u`u=S#A+}aJ2%Q{7QIWeDPB`m_I^;qYus7vP*%(Ox(V5<+$bMUis;E=ftHB`)mqopi{OQCzV&TSEq-(iX*T`jn3U3pF4DIHnW&#m@c&h}#+z=68@%O6GJ9{8nwfCcxxR``lzL3G{cI0AEQM +-6J`+=$rq=e-u~of>2-V->rBiz**-knxgiyTEz-Twc9@RygLOAHT1C^B*oEuGZpQ&Tm$1cr#GuO-O&* +ct1{8;V}inNL->Zpr<*8WH%4LD;x=9QKTSz~VVyC>Oujm@~;JKME7pS9nO69iedW=Bm)HFd>Pc4t8T7 +a5}~*DdyRyS~pSrpzP1%V&ce_`lyUAlZN;?cwJgX31h#<8Uv@$mwSdCuAT{`XP9A0rq{Ro%5_ARwmXAu1IWVF5A7Cj=eziZ3ugB9kiua +;;V2g8R@q&TdxiQZZynbC^DZRGzdaCcNWnpX_+A+%5^Z_q$C=3?^l5co;Ov}_7SIF4K@CuNv$64Tqf` +CKerD-r*Rd{k`u=$3h07qm?Ar2S{GUZD5(rF;~cMdf4lOj5VaZ!ZFjNCE7dUY?5@<#Fmx +o=kM#$;zP=R+B`Yxs$AAiftD;(7#y~?#>FfVcis3?LMP6>230U%z*R3tSaBr4T3Lp&=(gRV(B8~QOe5 +*IUf-+u(HbWs_4?7@ysH?8+2^##Gc-^&v5O$92#Ah8n+UTAG-D0)3TQME)I-$7Nd|b$mTr&y5zI-f4& +54T-@voyk6b&GU6;YGJ8E}js)lAPi|LO1ll*Ln{VBfW@G*Luxbc8$dYM>#=4-|@rw3fV@O)Zo0`(OR`U=1E-kw4B93IiJ1`8jt-*on*2YPAOp-WO)rQ_aY6S~)Ct=pE+x +bp9tP0K4+_%(XoeaZM_oX(M?0|QCflZEJ;pV*jijq%o7vDpA&Y!XO|qv_S-D2S35zu<79s{ybF8^dUV +{fUfGw*&5(G+(%t7pT0Xz*VaM|==gqitF2}3K8ZEMOhQDr$>sp7KCCn-^>&bujW-aMC`T%o5--+?!tf +5NAHK-)JR;M55gPDk9_Q_p3NBKtdXj$^as9=lp;v)CW7;wtWfhRbMibz7#Bc<$~iobX|4v=lXN!qt;liX6#u#M)!Ow0<67CGu9i_xud!`U^4nm*XDvN!%ysUw{Fb3+*DU-2pX>oc=5FaC)1)s>VA%BnVk)YCrmCKYKG9f0Ckz(VZ{6x-<7;FlG$e +Ko<<>}y4 +q~DBkvJWedp?IEFw?^h2wNM-PWqTif4aLbArA$z3?yH^=gl{n!c6hzN8iES`q^oq-a&ZH5MB7j>dp6y +C^9IuA=bwZlX^Dd@@Ly>fp`7C&c>RSk0c82$@bLZ7`9+hWZw+|p^m@gJ-$jTi^JOv7cV*n5GW?cf8md +)jyI6#I9qRNc^4r*VQu%q12G#Vv8=HRvmR?27BL>erJMz7N3iiNUOlLi>yFcDm8o(4KG#X+ +a#61V*ynVzHjj~Q+!>54pLR$p^4~F2%_%9CjZf%G#i%9E)_Vc=l#@Vtw>j@BPwXBaj`%Yz7f{580#XJ$C7I5_U9FzZ(`) +e$>QN*K*y2&}xE2BfhN|>1eP?y*x{F(e19im3EnV)oDqPzrqNRl4UxT+l@do@}Nu3>N_qYdY7o^Ii!~5IYs7~<{)PeR!`> +4yx$4bP~Yz)%KET-#~YqAgTTytzKsYh%?qz40?V&MU}+$*Tn7PvLHkoOC(;OAE5#4;KW%)_o9?n7&F; +eSC@uyt2(`U|Uf0RX-Q@a9Aegn$^g1oCuUO(Iw3zCU@e^_HN7}bnkBZs0=IS9)+;UL-`h{f9))ry1b +;s8pp3a|SiNndGY5Dr3uQ<{hVQ^J4BRMmZ<2km2coF<`T-bG7tYX{H +B4(XBn_#1<<+?Tk>C#pK4^$w5p`7bo+kT<(v>s6>g`nk2-kd3~(ry7(lTC>S+hQf$Eo)#f@!tx6Ni+5 +8DhDIH+_dxM-h1VxV@J|V+H&31e)6?@e5i0R+lY!hV|tr; +M{y44P6*mQyu8*N{RZSW40^+$I79Pa`A_Y#==>h{+G%egKCmX{TIbysEWY&!L9$X^+X{PD-1{2ZrM1& +rz{nd8y8a@aCFA41_}^~Ni=@-y@=o@0VN^0&1&F3Kf^_us7)wrBz4TkvS^9p_brPHpJ_u&@-4BWv{K+ +8VnuElW16QkcvNvnPUlvH%siYVwLW%*tgUotk>OrBhufjA|oO`t(;d!g{u4~dQnR1b5Q#$b#U{dfaBA +*k3mk9kBr-zQ7sUU9j-0Kk?Fpoy?4M}4(vIJ9gOzS6yHxoJdnXH_q$7m5&9p^=b)!9#5gEO=?-|%HSS +o&O5E{)^)W~~my%J_&U7&@|{66Zzf9=4(jb=uMhFsSX +yhBcg=QVa}wHj%}*#&!?OyVUS=4*4ib7vX={R1x_#`RHv9Wc@k582rBwfbaj`}na_t{dC3WzMHfnP8Z +^GI=6eB(62C)gjF_=59!H-*Viq#X~?{QzC0Uw3PTYpfa +m!=8{BZfmfjzr2Ty`VIWWL}4b#MO1Z +yrdz;@g;r_1$qRe|v(tpr3r;!Jd(F)2+SbIMMVaXk5CfYxF68pDCOISfJz^B{}#35kmJKOLYony&eh2 +?hlbh)81j)pO-{^GqRFyZ*1tFM0HH@GP*z_M`|fN +x6?&C_d*3)cQ6>(e7Ri00H}~QI;*TK#mt;$wk|juySi&4rX)IFZ&{PdW+8E&<(vJQq*Wb3a|Kg4tJm> +LhR{IFC?d7N)R*r0p$Lz1tQQ*My^8PxM`TIrfgVpPFreexnGZo=FRc7=(fsUdhN@6aWAK2mq6U59004*t001BW003}la4%nWWo~3|axZ9fZEQ7cX<{#5UukY>bYE +XCaCv=HJ8#=C5Z?JK4$P7iii`|dgr-1?HqFoi9SmeB3Yn5l5)q0N_^|8_{p~$cmR|*`MI!z2d)yt(Ic +G2H@84h))=Axgl9d&950!A(fYIQ4gw5;A$Mx%1NJuwgEn8U&FO6pJd+$eAtX5Mm{M6;fcB|eG>cghYV +NGWvF$>_vD3bq2*)+lABSUW8SbY%G*6m8ITvH6qKALlO2^qc?w`fNoPT_;qngmc%h*qRg^2nnwA$RVwXb6-=uf^+%Qh#%2F%JvJF01EX$=6qH;zBkLA41ppjeYXht&#TGrI^Qb~_iD +0kpEPqna|!e#U59$rgX4kypUE=Mmjp8*ePuW)nd1MC!cK^=D(D@&mi1$}~_{NyiARI+ybSUkp!OEWw> +P8>b_!a+nI#rQAAZst+zX;SB#Dtwx_J +6;?X#$v+v}?PPe2J>I2WT`J-3JYzNpQQ(`p&tz=^loMjkvjS7I*jS&EW95UoRg9aYOY}r(L{T^o#ZC) +OlDfnsqB~mWx4b__9Aa8T)L6F1_cQ)nfHVHg!tAsf4g6k1_o0x6^+!qNm=SP`e1YfdyrugFie84-m|6qsI7Oq|S2c +a){XF@Y3O7)N%RA{sp^{L$2?2(@q-qNy~dG8Y`?vr(A&#i)mc0D(m&Bv?YiNp3k6ILrhsV+b3Tn&4+C +Y-X9OhsfqyIE$#s;LM5~oT4z@3mT%dW)PUHGMtpWNZr(O&@1&^tta(hSUNYckKo%ze@-0Va!9j +p_Jq_=h+}L{Lk14TDoUkpib-J{nC^sOnq*oyDYP(wnKJ7aftgw`Qvx&1tj!q>ky)EF8Y0tknr6jVP^% +JpGD0k~YcM0kGS6tv2(io}mJwo^Z&1w$vCJZt`4MsS=$Wq_%tB0V7MjV;LK@V@SVs6{NoqM*o|%oYjM +1RXY>XLW#L+uj#&RP(b~k%VMmt-Unn}shggAE4lzL@mPsp;EIA-2+!Y~JhC&WRo++vt}Fg3Rr=7eEx5 +z8sYav(-}B1Cv@VaW-W+%CPGV96~kIl+?KXvryBavK{t#YS#oBQJEU<|PeUnhmxf2MZe{1vyw)2Mcnr +unrdFU}4=U$eqHvQ_>Mo&dbq^(%0ujNfA~0=Da8abT0!l7iB`-lezAm1g0sbro=SKL+S(t9fu{u!CEr +2ua*=)r45oYr6E$iiPcfGlafqkdlkener3ilTBjxE0(vrI5AETlJ;*9@xe8*-frVA1QT5~=ccy +-F4U6X%#Hq$Z%9Gj3*yOotborxEmBo-au@PoQIHM*#@3L5eO!syx+yefgaPz~q1 +L01QCX_c6nVNS@^vB9g;*DisZl|_O5;~dp2oh`6YK6w+mj}`kZC_YYer}E5HR$f9Jy;XYEoMZwk6Oc?$7*0qsp`O!9!ApgV=Bo+|BMiW+ +*mh5-dlncD4ruw4YlT^B$?9osz`HXHCNQD8qJt{^D(EDCA9| +SPiC6N4Q)<2w*1jamru_HzRUE^@4G2+D!udjv@U#auI)*4%uW%@tw23soGe0M9de;Pu0 +nb+2(v<`uvw*>a_X)FT9yKnm7-S^>ZT~xJ6eRflt1Qph>C(ZdKJl3lakTWY;92)6DP48N@`0Th%zgMJ +38RyPC3;(DS*{DEE@)U7?aM4Ti2|bs3}zoN7(HOH +T%*bgeLOIF@?oVOD|P4OPU???rsM7@3wqF$w*E9Qj|yoJ6USzOG%2ZB`7*<#Ua`#`$PFbm$g3L@oPB!Q6R@CQrZ-n6_=B#d168Vh@O8VvtP23IHgH +MQ<6y|%ORQ6%48&ySv?u;vYD01NhY^?a?+DqnSx{rtEZ&*OJ!)IfLgez6qO&E&=7^zy3xF+HoUe+W*4pJtQUDESp%y%GE3SC&U-0)Kb<+{Ib&FSeRC(#JRA@m_VFZpK;N0%3NsGXr;{8tQb8>QoIr+YwuIqvWD@R_np}a=j842UE +Fuch2wcp!gq(zW9f6rI1>tRL?C>Fj!Tphgb16szgx-Q}5gJ#${acD%!}XgnpMtf#_f&i +p`b2dr;458^etzGiBY$j>r}Y>rG2yux(~%dbQr%@#TV69b#$oZfq9A! +)7I=#-KZtY{tS?;Hj$A+OIc*Xsy7}Xi_cKr_moJa48Y|uh&#`52JD+i!MsmAXz&dY5}7pnU9U>f8mD4ce^`cz% +b@a6Jvux!l1}!;U!05S$sK>Z8LxPxAq%+_CYAh?yP_BA9p!G(_i{U-1-_5u4)~ +pQMFQ{}ITaU20KRljx8;=Rnd4n=1;VL`1+jX#6B|AVJ1rM#y&cu7<3oadx(lkeH_Eo9<1|QXx4<~6f4 +>XH+3IwCd~wKiF?_TB3VWB_nV&=O`DGxj9^+mu=+WE#u+r9wzTx+RMwLTureoLH%tp14yYkQPFa4H>r +}OgYZYPxs&+KFy29j3mUM4>GGWWsdt6JJvbtw;moih4OPyfZO)WmXypn0&+3Bl`vp-&4U7lTCeg8 +jKS3jIxJ=T%@m#9K__1MN&k6nEA;ClZ23_m_-hf3grGDYJ~(I!Ac(nr +XW%Mf+j?zi9i`uIA}{1h=~Rj0X5`(04Rfwt4iprVZsoq!!QA*mIy60Xvk23Um-9GYoTZZe&d6}q!0s# +qDDoa()p?q&6RNEqb2fHOB7NI@Qfl197U+qn4PF*pkP6B)CP(Q@P&X7Mv2HH1`wI6q?k`EU%}1-2r~f +7!jLKo3l;%>7O9D3v5QIqu>@+8mRQPV#t=}9DJ&RQX0X}=g)gjzmYPPcF>!;U3K7o-&iqm6_Z}7ay{I3<@hb@Zr9)k_V(Qh(H-tI4G>-2o +jFK4!}47<27UmDGsDKz~MlJ6Dl0*gbQ*95bzFDRAZ)V_+Gm$vD8pC` +Ch~K8ot-?z4ifQ?T4V8Dr(?5pcc4YliM}iuF35>M4vFB3i^Z?jCO$<7}OLzb%N1=L7mjZQh?PA4Gash +W(g>CF*I}Pj&)Y^kSZ}KY2gs7VI=`qBe?1Y(^faIqJhhVUyZ1$DXMCL3gOoPzXtd<*mN3Cnb!cZ2656 +5NDX462|`db6D&;#DcV08EaQd%X#hw=fHVN40U!;KXn;h6aA*(+4f)f+p9YRJaHJte8Z7*V_R|J?XoJ +{j1PzGTXvnt~%cF&FEqrU?TMOS>@~VYbElqt3=UO<|l5=esfhJT@W3}X53+GyLP5?(SSM7p!H-X(v;A +j!Fp9-uCk@%n?u_90gN*%FcM1t`JgD}EGaCGMZDEe{OB>Ea2|FEPM!{@RmadBj&vNucQs^durTwU+}advB2*ewx)>F8 +_v+fQA4KAvJ_PXhaq0#gxe(p=dM*#jsHX3ZaOEq6V}>C5DM +HWMk6EFe0ONwU{MkRDt!pp$f!m7nK^rsIyN}*xitK0$l`k5%8iTFFM$SGtg^+mtYVRfK^b7KuhPrG|a +lBf+}bUs3ky4KrKM412SF6K^ss7PZyI=3?X&+N!o(K<*xBS(SY1U{y?@3P-)T9HdH~2Ah8ZTJG6I-HA +hs;-IglC1yw6@?#)Bcm?{jkp-Kzdp`y%`nV&+_cU34!8i6KYsT{?3eWDRq0V*s+Ma8hBHB}nW4iyfut +_B4Qq3X-=WhKCzu#PL8yjGPq<_dvM{#}1MbDS5>YW)v>vXwUD1>f_z^M2m^?@O0;9vol&)3aeT|6B6l +k4$a>auiSnyW)rP*%mfMf|6SdwwJ>;pkoe8X)A#E)j8@;rb#N{naMPNU2=IOUyLEE^TnT?DMGY9%npB +jD%gOI3EyFk_b*B4J}x2KNwq#IuR6?_K9nA9XFR(}jt3fSr#jKUI>~_zHQ9iW*w1(I;V%#MqQ&Lakz8SN`Tfejs&s>N~;o9ViKD;o38nBEcIiPdmy$ +j#*2%c~aGgW+lT(`0;es9uxa+$>g$;pS%Ai)DA@^=7+S-^&DO)qlQjIP##^xV(E#G#!S`m;IA+_Z#s} +8d|I$>ZK@nf19uGl;t1pA!XBHlrC58lky`R)p~PR3DMfOtgqEw+S3DkEhlg({`+A)2uvXjAThQtXC+G +KhnPsX51CJNB6PNU5NB_YCsC3;pKLp>Vh^@01$!-fCOiovqU(va<8JIDYi-zXIc`JFn_GqQ4?o$^ZPs +Gb2nF7vei#Hru%qtciT3xh<7;*4JKMQ4d1?;Ty`AcJ-Vb~;^zRqL?R4^}WG*Iq7ts2@IGwA)bYg7ior +bT}O>8aRELM(E;XuRWbpL-n?cN}dFY%SJTemUN*y+*Wk*4kiv2j>k1x;>;;r`;)tM~8UpTGCd*PA!5= +C13$f+??lfivpLLR}?D1$Lxg=F`Cq(|CQM+#J^9v({7%GTWc(a)}*oYofRB{XSmL81SQ>R{C%xK%QJ< +d*I_m55whCNkqSm77WpXKt}$dqDrrq-CfqW>7kux}nmOI80&_km=`&PO-;Hu5lKIq +w#$mM@pnJ$*+5MB1QkES2%!eet<-uT*__b1)f;y6RLj`bNm)#c<7pPU)_5AJ-kPsIqrex;4b?spWleE +~!IcOQV8eI{9=mQy-bQ&*DJ+_u{07e&-)*fRBlm=e&|;oIa0~GIVwXH#YUWsPq8 +O4ugv!nWPvBcbCj%*L;@jOv{!x%+t$rj%SbpY-Z;0XpxW1=fsd(0vxgBPJdmTZcLg=i~sZ9T~;gnj=b +Y)CYF3YnUFns5h%o_urc3?RC7Z?VpP1uUfrNqVn;pcnt0RNqD)Z$_D&X)=~Jw#+@U^e5bLWgYG9U2RL +jC;|rndXQJpxfBJ4kS-1zC{*1_WvF@pFJ)T|B+aD6CAlo+8J~i&d+5X8men*Q8Sx=EtIqpdht1Zj%`Q +Xv%vNmstADx9=Y$o4+;)dU;@Km2C?jrL9?)E7KV0{dZJ5E@u)W=+hsV2TElbUEaGnqrjd;9+TR#hL<*HE+)V;8%RKpe5 +BySlo%>#iOy%6!G9(?wG^C7(`NvMTbjX3?z5)28NA@qNhV$xTuvc{XHCmc;p-Pt&C4Wt3K1TML9yB*l +1o!?Sr_j;rKO0jl|3J+1Ex9_%$<;467*J?})=lvd`-Ww1=e1H%g5SN23bGeU!XpUFlG`$`TP(uKagmd*STc-R7@V@3Xf(#Plzs#9 +ty|=v~oAuuG00?TT+`Ba_lET2|QS?0^A<^ZpE@wM6A-Q63}|6b9*NA&M0HSJCC-$c~*?S*c8q1#^SwwJo?m2P{b+g|Io*S +hVUZhNQOj&$3RZada($GYuAx1H#=Q{8r|+a|hgqT2R$RU7>^x$H5v&9eOW2)1k?IcHoo1u{}KP4kSm` +&J!nF^2uW0K>o&29l_ZSXJ`^nJUTVNy%emNET&t7MC11yB*GMlln@6;BY*~z@Ig6ABYWLzNE4s+~!R> +hnBj`=S|E3B1_VgFQZgKP<$<=CLqL$G^*inuPRtk&EzT&dey{N3>PEEwm6NcC8~hqYqsvtUX1oG*&&= +i~!B(H!o868WISzN;chd4KKX2RQo^g7eS^Dcj%aef`>;yxIkxf&ars_jU&C2`; +_3Pl2ch^Q4MqDL=&CBM^Y|jbP)7ws>0cgFn0^5E5CQO=qiOs=8sHB2O}sIDg;0BfcIo@y7)J*jFw4s) +cxZ_yF>v8})ytAUsno&s7UC`@^7KsQxb$gqN!2rD}P#8CI`U|JMq_Yt`~jwY=L5t0UF_NI^JOEyt?mW +HYQzRR2>2;Z(IuRLf*Dtc183s=p@x*b*vhS~OW)HxY8WcWR_=crA3p3I4mkOJDX$D?EKiU!Lvazt4~9 +-y>>zK}|2kmzSq_SiuN5j$+X4sPtk`VAYolWL$r+)qeSvFHi6A$N_p=aSFnK9W{#uFZmp7A0Dmx`Rq3 +kO9OH0d%d1`jFJVxR@A8i85Y%So|Evoif%ZY>24q%!MsRHmfvPu1m*lnJ!c77HYs0$na1ZJj93Ixt*X +gVxoWcO3WXb*CxBYBB9n(EBS60a$KVvJD7!~g&!=#>0`xQ?YL%AloV*Ft9ShS)&K!4Z|SaFe6%YY +M!Qqih%;a0T8?TyVz2Mg0@zR!o`6#?Zxip<$-ln5zv!Emh!Am;|E*L6MOt#yPlGRRi9zE7S)RLYe_X| +H}I8O1!2CCFsCzlu*ibyw-bx?!}1WcYD}!<-d+KB5Ypyalgj~nBZu3olpsfkp)pp^1lPRRy=jTspUZa +Du>W(p>KU%ZST`6Fq<`BPZNwxI1wjywbqNs3e{Q902Q($i`*Ry3`31R7(5a+r2;z#PQW +D*VnPjWSaVy$2T$*4Fe8U?vkLrjWnyfsgZFE*=z#m888f5c6jvRy!2<}Pu@g +dR^*^?RudPAGMPfW;{ +79^jud_*2v$Ty-Z^e6qlG#E-ccnS^mJ0Bi6Q!4$Zz>fs>(6>~8zi+x~+NggrTD4;u` +&T!x+XdSkRW`sEF}`N*|@IsfIu`>becC42IwjQNoL^wafiR4x_kZnMAUNeYeNtmoL5-s51X$iGu8`o79#XF#%O3l +&1@ChOvVdIFT22Vi&wy~0WKns)9)NOCI%aeom9sLxN#?vV)+KFt@-0+6kJUNx8$vzLuX&dI4RpV9RKR +Tzlh)BSfQlpV*v#QA38mhHInn1S;qM}iV)!D%1#w(rCQd1VKI8r>4E}#Jj +J>>^*os1&@d8Hu)WDqHkeSK1}O)Sxi^Yrs?Rq2jMKH@L&Be2_$W +m&crVleY$y5q(AgQ^#kO7TbIK~|4a!ZU2Cn1iTR{0Vnc=&;yfil=NEL%OzsXAwet +e@ujbyKL8ey^z)qgOr9TD=&oYcOVdj^BbV$7dbKz?K|rA&Z{}&YYmVdEFnF&M!7Nj+;ae;}M5&CIjtK +K-nQO-FVE-K_aM4EQY#kHeWYtsUb^SxHLJ%Uz*J@JbLP?5>n2 +>>pI{fXi){ioE-l$n7NOrzvJ43dsA(>$~ng|DJXWTruPb5G+0#7KmoaOB#g@cNDZK8-^h*)O +lzTn5*vp1RWj>xwe*v@U24#Jg6gQCHiM9ip#w66udfuzJ9a`Y+@DArB6g$)*SJG+Ev}iKE)%A09+&cu +Uy#FU>C1)Faog;hIjc0{&Q1G#yJyV4NGpTcrttI8onq~F#?>IB5F-hewXQFC)laG-4m21yLXr@rzj~s +dV`NnjwTbI6}u^+rt^kKa?^9nO5nZa<71_?P*Lqe?3h@*+{8+?F|bFf!>a9du*Ff8-6rKxj+D>!h$^d}`UNs0QaX$pYmVv|y}{={ +p#yvj;H!6CUSTon#H)vKu7@ByZ8I<7JsQMSoy3n8?$L4pkkMb${SUf-~6c`X0p^M_RzY)fLtIpkWOdM +_GnZ0*dNZ3_G}(OaDHpJ}c397A0bt7cl<;C34yRWk8pN)A%_mTniqa59+$@~nEl4W0(mb}vBp$Dkih2L)N +-Tc@$uSXPB7%cZSP%?mOb_#sW^S*pUg){!$isOnm+O@X1H8JLlvAzKxY#c3m>r}u`<3kPJU1-64)3e3 +N;-6&&s8dyZk8-X2EijbTNfDs-$Nw$N*w5xnBYS^%Hj!b{@xs$q85A7tjscc9ntOA7jsJbRc`)|qb3J +N8o)S(GW{(F;vmJBJNy1aL-zNi$=n^l-|(GTs15&7p-2F(7A-;*5ngxnOY$62$SPW^*K6(mUMc8W0Ti +Ck?T1z(Ky7JK`z+`QeA^2;hccG3I#_3p>r{X5JY$YFumeA5JtC$-3sA0Vgs&mSvs4&kOirz2~PsGms3|8;Cp*W2jRx3)c4~yjra=EUx +mDOZQc;Tv}Hg`23!T5`ZD(6NUF8yl6n>Y{?u+MQ}pvM!Ys$s*`pWzNkyL19%?LocIYiT0E$aLR2LRwb +T)L?zsqdQZU3Kmot=$#q-a2Rz6S0h#vfohugILAWM)376v^xa`L2d^8LK7 +p+IxIHj&=FQoLa|-HJ9&9tp-hJ{=Wg1_9fu!TEVYKAsKif%q>LQ7pHmNK&j0_U%sX@9L$U%(0HzBpD0 +DYOP+5g$r1QX+y;Zd0)4WWUNj3!~0;kP|l_uA~WDf$80l&6i?-t~Bep`+9_Mh+fhA5LU3^M2SAsQk7O +z8g~OX#b=LES~SOeSncg2a+71<@*zStks|O*hgVm@)(f;0hH%7@Si_A*YaIbU8&UWn0_PR>dt8ECiRvS(}O%$Q+|ZS2cLc6t$wmSD +RN?__Z4j0%N+>JjLTIE8NkRmZjt^r%@7}BH25GhgjCY=AYFCn^zae>*Ky;^x{4;-z=`th`;Ifj}cXtA +s&6h?8)sDIb|Jb)~P{6*}MlB~SJ2bsxK1Y*GgwO*1^|mkvNk5UrM($&Q6*Z`UQDee36nM-s +J8K(a&$xyGeY3pDb&xvPF?e0Y>~Hcbm;$$a2XC-(o+%j$%N&NAyRdd@v%*69d#~kVek+T)k=$CggN<^ +}%WuKlR}0@8^$&oBNbwjtTwJ4Gue!TWk7`AIPR9s*#To|R@b9vMGg5%yI>!y!AD%ASfbMG)>Z2AwRv~ +_Ibq5Mnk+715=4eFjz37GSh;=QwC$xC)QEPQ9fbYLS|JtDSPA5u=yP;K7gaTn#5d)`k2ia*n4@RTgi +4`|$Q)H|!Qo7b}I0~v>RnT6w5P;P^x!@ofTnt^tv{3ZIrViEYi%#LWG$|IGclXr2=(bOQw!D*3^iWWl +VEta~sIEJKz_CMYGBS39nb}sLcCnKBs93rjVDqS{_se_IInqpjlt6Gz{O>OjCSa@2B2<^Tj$-UodJ#w +|U}_N`xDtsJ3~(B6kdPC&mDyGRXAq#8OvYwQ*AUD2t!nYFSNm?j-X*3ae9dft@u_XjVUpDx6wEf2cG0 +0dgmenVJd`q-ajcsWf2Z74Eo(7UrR~-TNdyN=?SrXqqAtsX9`>IC6)|qXeP~#)+P>=&!CGbvPH7+>oT +-H^T}f+y==zuU&ZvG*&mhj+TxhKyDT*Pos~u}KkIKMyBZPVG7qz~tYrZOKf-U-CngnhCsFo!Hm~xZJD +Cq@(8QvatYr0m6)484( +qZd7Y=0=*n9)<>vK2s=G|${35WY`zn8j-}YYE_SZVpT(q9?~-e>`LN|H0}$r5l3L}A0?cl1LU@58;fepabtoa-%RSBZDB*0#30Le{er4zyf +_QhKk#Uge0XS1LVJ4YQZZMj)xdn|_tmDKElUcm^4<=BnIim*8h<$)m#xWES@f7O4Fc`nX>Ll^QA7?>y +o6XvMaP71JGjv^P* +HilDJ2y*iFc*fK-vVTs`q=Aud*)QC!%!$5*Zx_++CjL39?w$}NUn<%wHdH%_u9^S!FFF(N6aRB5P3n9 +wBX$?4;9(QK%MQlxmxwTPLE*pyh?3)V=FDY4*0GZ?@fp^G2>y|}|yV~zuc=sdxh9^c!9;205E2`dl;) +X}a-uhhU#d}p=Xq%x0d*fDRI9K#T>$oTm3Pi(r1raXC#bBGA-S1OXbySDIj5QU^`&05ZBL~%8wr@l8-}wbcOeaGkrpln&!UNZf)_GB7V%R<$mSd5%Zr(Z)HC6K)v;%CjM4IgggG +CErn6%ctxah(@x$ZRG7!dVX9B-RgAfwcAwyD5cpUo +aYc_gv=2+Fzr*PlY^9z`Z$^k)2x8Z<5(I7M87j%{8^hkuK@qQmroXS*zW;nayq}Ad +DTs`+Tth^RzI}3sL1R5TR&Ge>IbR|%N*r`h~GS_b<6VD~2h66p3Xn{^9M{uzY{PT%f|zAD*4(reBOJf +vdJyjx?zgr5dAmZAg^a;|a-cCr{Ike>5WP>Aj|zaOfLOMtk&zdjIU{SiWjZUHcXg8I%yg$W`i4`i&mm ++);Q2u~Zn?AAS}43-%{x`-WglkAc*WLJw#0wEr<5yiV(L?6p8G-2E4WHfqf-o|S=tjjl`;il26Bt*cB +bz_(b7Pg4XpTyTRc9F}A3^S~gA~1LdfNJZJer%a1&V?CMz_-xbd!^#qwOx9NLBfn;fEABQkV|CD)F6s +yjcJ@*Mb%juEmx7Z>zI25Oimq%svdV=$)Zf8aW9WlxSqPTX}ouWSa5KF(x@Q3->LBqFJSoq_Uycy6(S +yf!U=l`PQLng*2A|Vj__XLO)tzlCjDsSo*ao+BVlnPd>vsgI8@Zb$zd(^+6306dC7H1tm+i`eB3vdE`rD$;u_zT;VzhM8^9NRkc0% +MKCQnqf>9U5Bzr76AYo5%7;~mYn+=HcXDtys^F~e!gvs)o1Nio1d_#a6i7h6lgfg#cd7z3i$9 +Gn#6!RO}H>+0{Ied0gugb!rX5WOt&xY25Fj|zs&@GBK02h3NjJbJh_}aEfEsNBeEtJ|MC=nG~3@Oh;F +B7rjC9Sb#y=84^o&rq$C2bnH^a?UM8F?Fg3OE#dtWU4T5Yfc&f$VScQ(iy!OpPbAWU;d7=!O^mc82lm +Mg|u9_Q}T7rTB3$=RIJ?7FcGi1k=_fAniV47SyWQ#8!&U*v)eEGlSx|F%KHaEf*e&A9zx;ZsMbo6%ud +egcwM^2)uB{+ACimt(&`#8;8Ha_SVe`NAx;C27X{J%$f*ERfooHIy40J0k^<93u0VI*L# +z??-(KqKerl@xTJb*ttC~c$6cEooyJ$fB!6O`4lQrt8*R1$YqY^gn)&R!O`aNjdNN{xE_RMSkMt;DLp5y_h(6c@d%-Ut+` +oNuE&5@GqZ7(QoA3CAmu-r|SxsLBcJnyf2-Fg)Vv +!*`dhJjTPx2fyM*y#><$2_oaggGQ|eIn<6B=7n#!*)d)DN`#j}#-k{ts+f$MIQ`vfSnF}XL{!n2Kozo +35=IhkucJ>u$D6N#@qDwxkV+Eh3wNxPZWtPg;BkrQrF9(~2;u*9PuKbQ!>ci_u$cwSGhW}~4MLqVB%u +#q%j?ReMwk+$;6Sw@%k6}$9fJ4^05t7o6GYh6dtkBn$DV_w04OnukoKyuTbvZ%^E*=|I5Qlf-ryjd@QyhRBbKL(qV)LP@*BBUkRe8{|!(}0|XQR000O8ldVx +vH4flyPaOaN@GJoUA^-pYaA|NaUv_0~WN&gWXmo9CHEd~OFJE+TYh`X}dS!AhaCz-rdvn`1w*Nn$0;O +kaxsg;S-R&b=d&i0GX=al&+cNR=S%sBOOcJqO?eB*B+Ny<&1YjVu8Nz9uY7)YEPD=+Ovi%&gh)`i?rL>kXOpF +(QPeCmzumfq%lHhHKl@@PQhOikbBHfcDAHo=H7wo?3=4in4iJcdO=`Ynaex<`pS5-ha-u$(a`F?__Ud_@?wM?)jiXaZ3rby`^lo1TaF_0vuJf;4`HSw<-V6t-u4VlB?kbL;?Aw!JIL{NL{S}16!l#v+`%os+z +5F|`G0-LoQ%fG(vA+8r19?{#m?fR|xIL~b0Uk!h|Mk%?=j>j~;mPkczI?vZ! +Y4`!SL*e^@BBk4eSnQ;;W#Pp@kUO+ +cPp@*s<1aH9TeQKu3$chBSkhMvH08pWq(%(L>buf$tbdVAn7;PxDP{UJN4*%UxK%s;x>0`?v6CIGpVZ +)^V|DnWm2{4BQEYNLG+fZR~2>!%#gYkqD;7kH7bxfq{kb4T$?kK3OFIfdaz4JhP9xpMssBKC{az6nC2 +Z09+NJ$L^fDbk==g^OSh9Zo^Lr7;n8j&>2G;4XKe+M)`DRCdrySzG(waV84q>@&L@c&YKi{^BO^|Y%#(NLeEM4sqy=FWPD2cL?1knppp`Ajh+Xw#7|D=9jjU`pQv(;MoYp%<8kAY- +wg=*P6$a;+T&4tM7v;~AkA@YN&lAD^F}pAy&OY&IgNMQ(J!R^lQ6C-O0=VNC%xpfos8J^B;8o<|wjpN +=gI$xHCgHgmztfOUI-!P-AG0uCxHl?d+Th&ZkveV-dRw<@z&DUMGEsA&<9r&Kxq18flD0+ahb^!xD-o +^C=YbVQyUCYCW0Y)lI%p%4cTso!Hl-zKdhKfykXTLF)fqQ4LlM5<}dGvV^keOe$b-5JwReWv;?8a0C` +5I{hpWxCG3PbL=B;&zv?z=+^CR8efDcaSk00~?A)hX!XLJ5ew|E6sy=JdtdSgY@s}_R`~qIK>y(M}0J +OY3QL|bKeYOv1DbzVkhh+=*bcO(9^WxZ{U-Aai0$QLI&yfpfMfBCp9vrai9jE3uZuEGzBKhKWPkwpo; +49jDdbBOJ2sru2OXtRreTua`>ToGyqLH*6jh#2xb_>3`VXuaDdI8Wej)-IoJC2Xkoi|&=u(2pISUD_$ +&VW=~JQ+)CNxWdWRoRzdt-AKORY3g+JhHfSv;YlT6#aq}VZ(dUAM<N+<3;>Cqv0=c#)~WAj5hBhfS_ZOftT4i68XC}am;f3J`oNRR(^rmXTrCGN1w +cjw9~KNMCuKRs0`)%od}x=PBVVVd;^L~PXWUGn}u?_<^T^Rw{ZbNu%S|Du)v@evhx&8HEmr_ndxG^O= +TRP%2Ut-nRz{JklyzehE{jc9!vee+#YTHi%AzmI5rAAR#fQ(8YnHBTa1C($?0o6>q7)qD}rdJ%nd+LY +F5RP!vNbryYd-jvpPtWAdzF@b1TSxCcYVd$#eqb3l?%eM$~ar^b54jQbWWXA5Wq_xwvCw_~MS6GS_!#2Ug9Gw7`sGFR%a;N&4pPC-sR+RNnEoM0;N)kFcU +gQpPjKKY$b_aGEZ&CD>o7Fh*8I4mr33<<9=aw1-#18~6i8r=bG2{!=I+(^giLz=(e3mO&`yP2I5-=cuC@BTB^}vRJIPg&-U}GX7;J6|cI>( +@Vs{1&bjtPZ@f#F|j1+$KPIDRFID+!-353kTOX411b*UJ{^!Mp$j^P|?scGdn_Vo5ZcK+f>_h5XymQH +p#P6BPoIODALIv1Y2HKv~<)?9?o!6H1MZvJ}kxcNV)Tz&jnaXh +X+ptYqgKa)eoA&H;9HYEuw^r%C<9{NVm;I_;@2i!;$5&Fj=0939%b|mYD5(JS{#TzbefY7}`TcD5M~! +=8B>3krSWTREJKX67h0iB7tM}A-auhl6U=n;=-KP;h7P&do55W=)*y-LTq3n&8SGbz+f_7AQzmA5xjB +3@rjOa&h-598ND|OL6{2VN90Dy2%Sl!->wWZ|R&}qszR8F +kxhURAg8b)bP0h^|);Xl+waalHnmQcxsGc!kLN84Nh$(kz}ax;!}MtIENV}!TC%v2qaN#BP&ie1G||Y +iAkjCdHXyAEr_AObqI)Xp({fVWd0>^*y2vy;&W?*rlqC~X+?W)Kr6s_QsN1FR4ACsXNX>TQxp_mQD+R +iIsycBdPyV7;Pqd0UJ$ybddF8-vaUfYA-Q~|0wzVdzN$jT=vhzb7(E(?mD&MhIGmnxJRBfWkzgvOmLE +x!vdp+wlvlb{u@-+y>W5yZX-$luj(uQjPnXD=@N_y_%0eN2^*k^utWJNOrBvei?RFf(xtT;B23jUs@g!#@keQ8Q +4HskwCEScKqBsZ>BQ{JPeK*zf8m~oaDjq_Qy>V7&_{_FNT$hi7<|26D_I*(&xPe#u=F`Q8O8~WG%7$= +|Ai!d#k#vZ01J0?jH!cRD+C9QX+vOyV?a8-h!H4m)?vvyB%{(&UA*Xy9$YXRW<3V3o%48MAD8#}KT%R +?g!992Jsz55P+VF@=j|4)p!?y5greOpJmfLWXs?SaWnaYZ6uu%XP59B*_`*oI8gYP6ZB5GHbyyey016 ++a{~r3D?l2pd%(EM)a#PiGt4BvEoZ@=`F7&Z>l{Xeozfal~mYpkuUqc~zA5stMDSa&lG58xf<{zKcQm2JSIL+^R-rC@%MC=pW+pA5++Q +Wptca3u?ZAWB(VmC?FLtkyBb>VdVK6^}sW4wU2%Q%nQHB%~afF!M!;D-^?z4$zzT<`Oc-8S&PHs-}v+ +K~|f@Ee;*QfS;xUj^sv0uX=o3rw9&gj^COyl%21MKtE?LkJrcwUePV!%M*VMuyoCGIus696Ye&dqY-J +RgxEClV$$bjFG7UPQVA`G=h>4eH4TSZ^i@Q|^*lmpqn@!gxQ|n4zeJm*Upl`SDO+xe{G#`-V8(I +*ar!%JT;>E?2e{6$M2>~;k5W69&Ixo*pmPGXoj@^2F6j>>ps(-<`n^v-`YpJG8u%^RstMp7*j9jTn@+ +B=t?iVVF~hTFeqpTDww@==b*f&!ADyZfJxx@7X6qorRuH|5px3DBS*={FW)-M@tn^h%C#U3=1J^Gq!F +8&8x54a`8a9UMpodk-z^|*Ps?zw8^lEx+(A8tKbU3WORcDCe3#RZJP-T~ +CDX;_8Bj5NI~I4*{IeaDX|`iHULuFC@@4YDP2dm4u0QZ_tJ&ZNZ1tA5hdl|d{CHfj8@V)5l$OswAFzD +*tIL2W1H_o>joo~mu!7w;?l@pC+$p}lmt}i?qaq#`uninpg>JUP&ziH^9HKAomD&ORXce}fM)ewyoWQ +;k)mH$?>(;txp%k^RK2+95HPvF*HVl!vqgB}1*NbsW2}Xi}hK?s?kn8>H;c)Ss=&IO=X1mZku_4FspX +}>lZDV~=&>UOlQt(uoaaVMcj$Dt%yQdaHhujvcx~t6V(inGy+eb?MS);J1dJ-XFa}?$8cE%^Yfim3g^ +;q$Oe8J?ksJ>z)r+3QFo4^fo$@DW^p@?_Vg@GkgtlivEh)mgpAL8Yh;(e=;&ce5_aND?vr$5X^usYHm +V_q?%Em&$?ZgQ(sBA?>olgT?Vl)tRl2rm|h#v +4CnRv2;y+l&KA5C8(spr-fdu3#>OYe;oEAnS!mYr#CnQ7K!atUKwvghTM68~9tWcBTGM{IL#=C#Z +Y=7NFLc$K0kghnQ1HDav-dfg=ma=Mf@_eZ^DVYOj +PEJ?bo=dkQs;Hw~QmBgGEvAENVcLU93N=;aq7{pkA8l3deuRZYsk%cl66z)X34+tEs(7le{-~|ikEr4 +o$L|9|>}&gdytS3ztgr-9EaA)JC@GRD`tz8n#Rq(?S$f+aNR~1r3If|>$~GLlm{ya@vlkZ&1y`W%gCOe9Nrxct`?86GbYr)+Z_3AI}^%JXeI~%@ +H^fH=>-nsjiLo*C`E_rMRqEh<0s|m#I{(vWmyZ->QVdRCxyD>{Z9=xIJD^8b{DNBEzcdph))Au&3O3s +oO=^qtUmzA;Kah*Yty$i)1EN3QDgk=d9#JMCi{wPp)5w8q_L16+3C5!K)hNRkPY|^qZ!j7xxlO5CY-k +{#=Q(Rh5*1%4COpWX~oyOx#SML597xgGas)h!=vo=5yeaC!aL0}^bnBa4)zKBgTRW%+2fsZ@T*7hf;o +=BGnA|VU4E0cHKmF}lgpTVM0#r9RZ^+!-tDwz;LYZ!F@18)QM-^ZUPzrc&}brGI)EeIg4(**69Gn#7T +?jG7>w#RX?$)VGPqUv?sMxS=bC=w-qG9{{njY)j|KULk|~@zvQxXp?VU-t9|SIW^7OXN?7Q$~<&(`-g +)_^BD%_a2EM2h;Gjkw5fJmm!jR?CmD=!4O?MClkwMvB2Q)3e8;eQ9NU%LKR`)W_FmWgm${! +{f6zn1K_PQo=sntk^l)0V;fwUQah2no4$nypHGUX#)~Ol#=#uLHw^#Zh8zt2J%Gs-P5=Yvci!QwN-V; +$+@x-4Zf${wDKeGSyP5VmTb=<{Bl2>q`*l1*YMxRV&nsQQ%ySLOn7GpVr4v)@K^*sR0BSo7C!1IjW@B +=_8gQ^#uiZ3A;`dNr`$Sv;pFeY@hWX?IfaT1mM*Oi#>w)$=>sfMWtymA^YPI#&v%j42q@30kUuM?Oh> +i=5XsO&(Pvj^#&o>`Y22OInp1i=aviP!tqs_sQ;|eHZ>&BuY=*f*n-lF)W*rFIE^>PLy!xi}}iye)!> +}yQaEDm4Wv_Wihsx1K)bRm~uEe5F;ZW~^1GkDu5y~3eaYNmQObAbXa7fUPEK8-q3!`fALn@U_~{nwT@ +@kdK&KXbv21uVSt^dTw#Dn`DT?&q%m%_{vKd9B}4q7#SS6GIdXHz?p9uCaATiRBZWi5&_=w{5YfD|RO +mseoURia(DmkNM=7xE|^)=}9-J@-1SFFJ9wMdf>ZL-M0*&EM0)Q$D8MS(=2~jWuu|rPQ}JyQT%7<(U} +cCuorpeejFerI$R~=hYs?b#TZiCq=HEig)Z@Et4DO=bg{9xQd3zzw>T*){Zm&Kq=`O0EkB9cU&V(xX0Y +N|0S>Kv=1kgTSCQqxPZ)`%@GdlH+9)zNnx?$bly6EhRy%>C2-%uEc7229CR`4zOS2%I>H-oA@8e%?Rm +13d#jzYw2&{CokQ%R#TVKgWXq6_sZA`K|a&@$=b!_Jy5=B&d`kZo7gpMB`DTbHa@D<~aGuZ>6zDQN<; +cAB0d;pVH^MZJy&4L@-GG3Zc>5c19Ja}o&d^%0OsY%FiJ;WTSg(_1=kxenUhC1BK+ugt +iAJ-#>1L!3iN<8aDL4ncqD&;^A$vng5`Yg!&VHRRWJ1>97x +AY{O|h4)9ixFUZNy;GD9AkwbOM}4wFXr=;uhn#WI4{%*@Uuz>kUFp*JQU19@wS{XRF?2OGGzwXR??S( +OfnzEBC=Uf3kwp0SX;h)v+SGnJlZwl5KEXh2?}eJqV>x^9B6eP?tJqZ{u0Q4Gg|^Cb8xsy0MUfukr{G +RreGxpnoRjJ?QMav+qUi8w@BsuX_bnzE0zQkp6q~??P?6euqn74c6le?hYzbby@v7chNdg*D^;6wliElxW> +b+HGkVic$CJtNrc?Xy#R=MXF6jFM +c#&YRh5cd{i5o&sPry-P;o~asr@dj*+Jtb-EJ(d8s4^0RAnA_U5CgN46E?BvU7_n_`vbLhD)!xgShR! +cA!+m;`(psZ#gQ7xL(Gjc5rAX6|+9dWfMZhZ|Ce%6xFJA7ix85U8)oFuG>^LIp<9s=P|=owzt{$F7YY +Zb%;-X*RK{Jt@j#k)YWeA^K{QN>w?e@i|TK84MuC>EA&4A)fi}>U>E{4 +q&ZeGNv+?&7Un{fX{=l8CsI0z_uRC{9a$(-53kdN=$5%L^q{a45*qKlt>vD>tskSP{E6BVcU`Sn8-@; +kn-x{;7m1@_2E?)?}jt()NtT>K=^gX|+;_Q}0C?K4B?QXl+rGWcJ>H0ENh`99Ph>)wq%ru+!c_;ryGz +xewyczkG%lxZ8*3CB2bCSmSuh`!DBtg1U7WXyO`dTuyku*cpK3moSE1`Ne3kzl&pnYD}a(p6J +Boy#lNT2NpW|Tyi1~k4G};#;|13+5XWzHdk8akpD +WBjb +JqvJ&lM*48<->r~Zec)U@Gm5UL5)L{*;6ZHU~SnHJMw_I%_~Pz=ifaJbVw3%?qm^~PlO$SKura&P$); +smx$Ce)+E)A?OK{zP}8*SN&J6LCE(`@#(zKOFbaz(3-vi&6%klszVg>4D;lg4fuDr-Oy{;*yG&`c@kR +<5NEn4w=sfUgy@PP^A|44@scVG^)pcq~6zo9vNHyA5cpJ1QY-O00;n+tx-{q(}_vl1^@s<6951n0001 +RX>c!Jc4cm4Z*nhabZu-kY-wUIUv+e8Y;!Jfd6idtZ`(Ey|6iZtprELnDaxb8um$sgHLbCB=vJU9iop +$3TB2h%GAWQ$61V7g-yNy9?JNxf$Rh84_kL)p)f&=tS=mbSGzGCPmA1eZMirIiseg|l7q`L)C1a?h$W ++eLLRhX@VS->u7iM3&#%l=O??-M`O*KrHF$foqccb&+tZIZs{{e9fi3#NWUSgndR@8z@t_){)MK0cd0H +g*rgKE66e|lcE&QR^rn7nv6rO2Ned-;+Jc$z3ROLTcLlRcrPl_evQQIa2!Y6fZPD!FbT!KN2&dwM$%ZWmB;*kp0J +Xz6 +G?vMXN9lds70jed$^-bwL2{ngeie2FRT#F`qiri|%k$&oMRjeGFWyN?Umpu&Dt>nI?AI2nr)>2j+R`6 +0hU*73Zd%AI_rPA^P1u)}sK^YPSiiI%AidNT6NQnJr;)HOMLTgIs;SkOkhfuT9v51;O0 +DVbpJ>YQdq&P>#a9@W6-}08!)CrA&jNWysU?_*P#+ny+?GcOumSxfL9`05Gt1V-aDi`fX6|};Vcd9g`%wlaWa7ZPM%RLz0<3uC3rfEdA7<;3q +(WIBpDMjm*L^ph*NFY*UO +iO>o}fe2XGts}-C~25em-|1U_-${q+&CL;&-*(c*#EVy)J6N)Om?4~A?qzT>>{>G&22ke?#GO87cncQ +=k&qc2rQg$@)0CzG%>@uK^R1E44$HSDQZ^OS(mCUy?y5n_Lwhdr6b-j{wjo_nZC6?`0rNpoh(#;zhKD +7oe7=}9k=SJ*j%ItlK-Kv(ixIMF+YZ@B#dGm7=la>`px|hcX2j>}XCe;27_WxXECMmoA|Lj=vC5|_gd +z>@NaEIVUva;*qz&Dzt4pk2ihbF_>Co|s{YXTaOGz`c+9yp^~mx$T6C54 +bEfrMFQ-PC*CbtUbz9O6)$<5{Sdl#)oZ$9yyLg+#_o4NE%V?y-pg6Ej_cAvHy^j~ik7ek +dhii4WBis`BUafH>vI4&$Hf;!9*5@3@q??*|T{TbXEdOi>f#0Waa!TZH;f6`KmK{ZyDo^HXZ-{m+UMaF1qpt2qH&&HL!R9_1J8zxZbK-CBo)mcrI~ZpRodDA@ +FA<61r^D&LbUK`?ypDy=D9zE6@E=f10|XQR000O8ldVxvTQUPCKu7=p2u1+_ApigXaA|NaUv_0~WN&gWXmo9C +HEd~OFJo_Rb97;DbaO6ndCh(KcN;m9=I{P1IG&xgy<@p}h?H2I?pc*3+v=8&vE{nDYHO33Nis{xOezl +@o}K@Ffjsbifdompy7#^9*RL!_1b{#w5C{YU$VHZ}d%yj*D2p-+fBUT$tv6{_^t^eV#$^%yR{wt93!< +ASkJ99MuS_C84Z`2zs0cGJ&L2H$%H%~BCCf*T&fdT3{i*jZO+xjz`s+U*_0<0!CuJNT_$x2-d{yxAw- +vO)yi=H-!Std;{eM$d6^7pWc`pk$vFC?D?=~t{z0d#p>eZ{$7muIU)kevU7e~Q?=4q2gNx?Or*T|kh> +dNbCsRBREvd}N$`-8fj1J(B^D08mqQw{1p{pMMZO7t4eRJDb-?ACeUX9r1m8%Ifa5GF-b+)MTvvfj&& +y@sq;li9t#c!kR2I9z)1!EKZT>1}>67>qlZsW!aZC$h-)>U|%~AsJo|F=_P79_ZDfHpvJ^otLh#k4o&%W!l1gh)+9TxI +W!e{g)&Bp?=U}z5>-!dpr)ss9f6*)T15*_$x4|u(_a*B>wA)i@#4Ub(_C4&gGKBu4^mU@lLuDIb@X%{ +-EOO*RoBhvXVG$19L&|kxeA44J8Nszt?44Q5T5+`$@Y=&)P7xtd7+H@!P?8N9#Z?iqxRm@HjVY4>noqhk4aoT_`Jk-B$kM*;d9Lz(Ss`!(yfD4CCBrd8fv9sC3N_mt{LR+LU+1**jk*sb1 +lFPyX$jKRa~R)uuIj-7S5Fj?fH#SOeNteN_uE!%zO@Y2X#!v;2uQu@%#L*0@H+&1$v$twIb{hjlZhqy +k#v*&>MES!ZTe&2%-rW?VM*F!p85UGJim+V1*|zroIoth%i^C^vEBd#VzH=bBElbhA-x8ZxRTmCl9{v +bIM`0-b68wNn05FU?w%vmppTb+`OS3};o(!yDQ^mF=pxS;r^gb*Y?KJ*;JNU8as!pSZj9Cq1@p8MN2d +3&Ss!=PO$gnzXewhn{+i>c0<}3TUG$v~4apdt^6L_2sMEv4-EC#`WL_X*rL>gGvNnJE^N0dQX3O{A^z +<+GzfrtvuP=NRrkKaC-kuY=T&kq>!2eo1k_%}P+GA#vOzEWtKb)UbYVpm}d;yY=TAwO +9Ki4O9hpH9~vIZbjHZHb`6Zb~kRR!R|V$^+k8;t19a~J$UAjS0$W3Ag(8B*lS@`8c>b*16ZdvzLxug& +TM9R)Z?BP-b1a$17uw3>fceNHEs6`RV*@X&#lc~*irJ%mdr);W_>X!P?q;1kxR_%9c56bKr9Lm=CpAX{L=G39HyXz4 +;+v#^LyC_M*Y*nmduH(laf9zF=YX7R%O_z1r*>u}ly(0{1lBlh;ZtfsUQ=zgN*wa%e*O9P!SnZY;QI_ +iFMHPB*(%r2R^Iwo6G###c#t>mKqfOOr4y^X)2RbE5}foByH(Q7exbrhEruTid9Fv%|qK!s|W#m# +2F6Jjf--bP(jVPg*!x9QEE7QaS;+j`bf6+Lsw;BAfCHCk5bd`I!zRo*GLS{?H}!y736sw1JL4oepQv|E +g|j($bmwpN=;)9Pd?5OdyBb8{un*xZvw5gVyI-l<(}X?uLyri(N^2)!(}j-WcGEe}Jr1x(XkMND?5;< +#;bd-b)Y`?{XFY}_iOE0lDf?G +h?%s>Sp!vV0fqfi0XL0uC%vK11B4+CR;Xz$_e?A+BTEACf@q5f;zv}s*CIM`!L_Vv+JU8Gma>>0s2o8sQ?--7OKeEVq1R(CX2D@?O0yZXJ)KG%BF +F6-OuDe+`%`Bv#mo;t$#I*#_rXg@#IqFhH;b{LUuOL66)RpFK0#uBpM+tgO2dq(>8HEqif(gQ5zKd9X +{@VdxUHTl+{dsm=sfmXv`62(KJG5g#6DjD1C?3i#ZDYM`X8*dkTTh6sEOICVMP2kxX;h@R2M;>1>@?R +khnp%6>-!;96hg$2tf&+WnJyptWDgJJ?@U@mDn0X2@+{_uSES+BS60fcJVA-TInUb4!H}P~2{nMn|`C>1WZVz+Yd-Z&hR~ziKk51 +>+$0lHdWUG0b#bvaOg8?#T1MY;e5>r}V$*d2yWH>KJ8W9GO;WT-$Yh0@yZ4 +y=r;mXp>c&XiX>n^x7lEcB{F=Qp`i$(!m1^1bJU|p`I?}_UrWl$3c=dqi$zW@8#dB!0tvf@Pg*62Hsg +e6rgo!9@2or(mlMPAAkJupiF{r5hZ#^vMjX>YJ=)ksNT~;hu`wjztVRS)Vx^fYZLlRX%XFpfwtEF_2` +inYQ<5GYc%!n>VJ#Px8HnodwcuhcJw06mfsAf)9E*N6}~+J@`}|C>f>+TDuU`iZ!g+1`OVT@VA${Xzt +Px+@J>yWt6iK__?CDZ8$Z6is97<6r6NhbgOv*Z&0{U6+)p=Z&NkYpg|*1iFJYpr*wepNwLOI>|5l6e* +XPPT*=%BE9iKhlLF0Q>G

%H{$|%hf)+_7 +C^XPyf9-1+t1gT%mfOp+pK0;I ++w-r(D8AOt|a=#jUjc+DsYN=jtlJ_RNx+b_}K6bU8WO~3UVlfYRmGhw#p4r8})j36EbHxT_$xp17yhB +jY~CE?_tR%WjgEQU<2C_#15AiwQmN)Pnl$uYWpv}W8XSpzkkq*>l3~}HJt9nl> +&R0HdxS9(uiuxGC1()E_sflf+=32c42yhVbNC-m>&$r9FX!tXyEJ?=G2GdCDa#)N_~CZ4_#vlU?BN{P^2wOnBM83Qs7r~K`k0LDxnYEYAc6q1JH0D(PYj!nQ +OGpSLUmFY681+aNB%~IZm!*Dj+)QW@F<^XULrKe6~zxY`)#aK=nP&X%D~}fPbZsg@t^bsrdw!_DIi|c~0?pPZ +OSqeiti@3iL#S-hnIPE!|)?WxNr4Q!dp!AtLc*={oHg0TsP#?H6ES8e1ryU{V2|7F>=TKP~C*8NK9 +U@cfd(w3+U1K`9opxRWZH0}daD+(55tRCmU?-Cf1;vxs2u)d}NSTuFSRZ>9VxSimDOLK=V>9=|k?}hX +Lf-TG8w-2zA=h+kFI9V)IK508<4V6b3?Ilv5%tg+<59a%k2eu!Z?KyokHir(fCx0LQ_q%Fvx`**VSkTJKaT4|Bgm14|wM~k{ +mA4ggKf8KAPTmGMHa{*a%sD8QIL$_AR$4a*N$Lcr_un`Xs~N~)wMbIbZLrWUvxjLhFLHW$nUoh8wPXi +q*ad#x;ls`g~LpBDI~r(Yc=#@Gx8#^i%u@s=>=j#uvct-j=v|qWJ|de6l5m?X~d* +kUacUHhu{PemeiY1n1Ubw?n9vFpXJhUm8@|Pd(2C5>49F>&BvXXHX4xG$j^59LG*jc0)iM3bToR@v2M +~RsURjvq%I!S*Xc299=tdFlz59RcDm2N_D~m-ox|m`DeM&?KElD3H!Y6*UzIH&jW++BcbOzJ+J;(q21 +gY+^tS9E2qAW8pBPyHS%!4Gf`EVEYMR%=ZXDu@PPxsCIvNrpQI*NQ+r%GDa=@`>tYEYsu}I3aeC(S_7 +-E8^JU51#+d~Fi1%xlbfR(j28s6$;I=9V|PwBZ?mBKbRnTjn%1 +MCbOOYpkpOLXXwdEl8}Q;v+wtu|Htubzx>!Vt_7ak(+B +qkU&%q$q7cbC=EF^)&%2oaIoPAtdW#u??mvoj_@=WDjq`B)EALt9J0?Hi$$@n_Gh*x5D%kRlSxV==e}`>;_rR*z~dA4WNBf4)i0&rA-4M6OgmNflAa`Y>B}qPtX&P) +hi6_ki>WHhQU}CQ%8^@#8{AWkVty4(~K1141sPjnwTDwzqKc-Gh_l;ZH^k +8I*l8KybSq>l;5e!Kd%ycYCA+E%U1DyiVSu0g7*xi%-*8d_^InBsyb2w2KC7yN-|vHD$L>vT0VE7;yl +ai9A+niYM-2z4EiGRH6<;62R(L(<~1h>Z1Nz6LpIokom_r8ca|U1y;-NL+|*XFQkV8FmGSnYgYI63+O +30cbpp27+P{P*y1NqwLGH}1dxvvdY<8x)8#izirDzyDIM=Y_iJ-%*>xh}sMxj(k;4k(Q$mBKj{Kfy?* +q_iSyIZo(MeTsVc%o7UM_EP=4hqR=zvtp0eW8J9fHyRI9?1nKr3*Akub6Z)v_dWaJ@0ONs-?-9wyA4i +vMt0{!kvDPkH>>f$EQtl2sg~_<8g=evID)5KwxD_;@&i|L^IIzf9DTa7^x_KBLO +r%eic~>{(SMe3=jsy6#!y**S3VN>wp=kG!j91EHc^fq}t|X`z!#fMv^6(iR#xmdt#swR^Mkr)UNCo1- +JjnJc-B#|)`OV-_U#bSse+3UXU4-pZczYhzNQ5E^6n&>o{#5*!{<6)Sr@74UW0kivrO#l85)BFo+L_j +y*;?Gt%>g*dLkqOE4A9)gN*o?M +#Odt$L4&O|&DLiW8!DN%dUY9BigV8>F)yFYEw7EcW_x0y40MTs=~@zivtHPEH#+78MfoYkxerXP61}3 +>$qerFoWn8`sFqU{FP3NXEFE|_yhh>UyScE6t>_K{HQJBj}fu#Zq;qfU2M88*;#T8dC0CSbik#(?b@1#?5%EXp8AlrlIGT{@*_T +a5yf;+W7FX~dx@?g*+9MdRO-bp&|R7e1lOAs-YPciCKS()$=EljozB_McNj!InLGf7@3)NK7cP{En-G +9HNyOoEzttZ1?4Tnh*1%u9F>18!{*KPdrXlOs +}%D<^64sk5}fUFV!zpniw^hz-s9i?0u&=Q3cU&!gBQ$8)O}FW*E9RBUz4mybi~WVEECYlvi`N*up7V4gtF~*`Ib*A4#UmakeLgLN)&msDjS^oDxSvClmCn#={#})&lWF;;B^f9;(ZPv=!A +3gYM)*WTI{9WR6EsPEN@-vP+dh;Z>YNjj8Ly_l$QX-Y +V5F4V~+CLk8!B5_Ik|k)~GLdy-t5MuYWxSc9iS0J(uD7Xw~(xyc9jlUT1P$Mi03V5XIY7I?MGLt6V2T +K4o-L;ppyNLph@%Zs7f!DEy$h*hc3|=NRKT+v$8qtJ?#hZFT?~Z65ugRg8DB%RWsBm7hW2=HZ?1Yz*M@=NZIY;7y7B? +7oO?xR)uT|#UB)5l{_Lf`I-0wO;Ln0U@wXVgqeMi~ec(Hd(9n+Vci`3aXI>9r7A)RXu>G*RBrZH3 +-j&O;=3&iWeqA*+47uo;q2(a#_uN5~V>1pQIhF3C{Jy+-8_LbRmR{PwtEEqQ25aqiUkoh4b`-)kTZa8iS91Ym;d-_d!k>Q=o;qv`?`B-vnpo;s4EIiGNXfg$(#3>?XeNG0fL+Y3Z; +6P8m^3Y}TOwLQSlNcR!zHEIaDc#XD_fG|qIe^@Kq+zgTXXmg0A9TZrul_>(rS3ywyiG&ob0f)T-IZvj +oQw@@%1>JN35nOYF?we#~)nqK<7TRH#HIaC?9_%D#y(GM`PyB1}BG-gbK&J*)u6;}t3HG)autB{y1|7 +p9Yc8(!Erd_4_9meEcl#x5xwEHYFtpx@RwrGFxN}bR-pNg-oR8#6Uk&g9y;4Fn_S<+tF$A4;T5D-MbOp(^Y6GasH4CLlMj!a5}}{H66jE8XH|HpJ>dbQGH4`a; +0$;7qMHm4A=`fkJ!dehUVp5Za$%u$C)N<)NEjvuLNA^q%n*GES9Mjxgx +d7~Jd;pE&3&PGNd&a9DV!#I%~&ec4t)P4rc)%giLg-BCMB)SMADbKD{Q?tbqj%J&MDyRLo5XOUbrQ2a)Pj1jj^&14-tr}HHq{4ih<@Y5=WMkQ0wI!gcu +{Yv_ +z_Hjze-q%$lbxQ#bm#h5^Cm6EM(&aoUb-mIE&mNuQ9o$;tl~KG1;~l3-`$U&-E-GCX!})27rifyo!0j +(pXZUR(8JpQMr8EFjO4C(DXV=lZC@#2xjQq4T3H{RG{F-kg;g7j!+W6OAD0v}ARyVpsfa7X>qW-OahQ +Z0b&Ovi#ODzIj5;Z3!g5=mWD_9S*#$Ob{0mbp_BTg-P6s_!u{+av*8q`k({tk~TKm4Je{5l+I7|B^0& +59L?2q3XCg^>Y-X>$f`hKKt)oylK0PDN@w+-cP$-Yfy*Et(>5h_12l%z_K;6#jg%KSbx9-rZgAV)U-I +7vgZb^#eWn=+P}Z>#%&uC(+OloDCXPOagimmy7z^T+VJxQ;X$P!6%uolIzMfK(_Lu@Je8>kxfzj(=3> +=iP%)GE_Su8jJd2cSfbRiV`m!Ap{adrb+#y3+@ZT0r_VP50!*N^e8@nU>RX$P`iI`Vquvz`v+rzrcNV +C^m$A8A=GiOhv1^#azXry|elX5WVo=+%R{FX_!k5vKdGz$fH&Jp~ozrje!fG{N<5fe45b*)#&EXu64Qt6)$gbsNkw +>M2|vQt6Gz9SV)RSrao!a4154R@#Wh1U7;2Ks|%F;wS#b672rFh|wlg5t~%FKY~KX#}1Hr6L**@UfXy +3uN}%qIEa#(tKKF&ZWQUH|{P>-2#IELZz6#bp?u8W)t1?F$%5Pa5Yy!y(~WHl~-R^*wuW{%4NCC&1jJ +18(%S;yl6k3;$u$cc?xk^!$eVn+2wbpYc!>0kN~^CeX{`Z~QPL|Z+z3CNb=0?&5;K +(B-)SoH1eslVpc!Jc4cm4Z*nhiVPk7yXK8L{FLYsNb1ras?L297+d7ip{ +VOnZy$O|(XdRB7q@v6?j-9y1u`{vrj`g}2ilijQ6shottx4s-Pj>?#0Fv^Nm))wZT9r!{$ws5mX!L~! +H`)0-%GorELk9nY(u-Lf`C*cW0V|Ur%vdoGSrKN7oTXE`*jsu&{5$4gUG{63yBDYz6qHX~z6?v5dnaWIS3Sp!aK-5qg0I{%z286CE3~i<^u7B@Ofj`2oPrEG*o-o +KB;gFt1-AyGkKZj^4Bu<3P84y*I6ik`)?2S|9N!srptUUM^;bG`|G(vI8BT;J;2ZF$S=Cp)nS(YJ50_(?bgw$_8X+qo5W%54#^g5>f)5V2| +>Uk-{H@F1>i5Ou51Lr*rd7>Woe=yqw4fUESzwsSAfSC=S(>z{)#C1{Za6s;8=)O8ScQulMOb|U-b +vJqR?~uJ1vmtx@n2m-2?#Eu9vvY4|r<2d2Uv&6_wJeMN@1dH=!aPh04`)e8W^&t~ZJ3zg)4_<%U@4Q)n6`QQ^9F9>!A=3fUCY>m=${%UtjUKa% +yfWIKIzSnnk}Nt3XGLzIqA4Unf@IdOUoQr4-#L$3e_-)o*rf&fVVtRM;WAImIVhFP(y2B~#Q<7^uXkq +^VDo&b26CCx#s>jWtNLFCYK9a1^MAH-bgXl=g3FV$?PAjw%9RgVD!U{g6}U4YQ|jr#KUn +E@IIjP4H9}U%R?75tX))MrRyB(xU$$6AbXdF&VG;Wb5hf=puU3c4M<<@SYAwYq6JVN3gF)wF=z+RffD|3#8BIQIrudkp(u=d= +HhA}|KVPcEnu$OGWfd3ZuVR2=gG|=#CXPGW-4%j8btkfGk2DwSXo5GHeZ=wOv3t>PAB#45Ag5#SbkT%>MB4n{I!!87xbz$d*a77qdtl&U +F{AHjb<~}nxFh?6^*eICC9HjjBDweOe&r!Yy-y>eX69pMdtETg-+Q6X;8-CGDO^Kn1mofDMj#(fSnh`GJn3cHG`p+ +69+JDLGrbZ;eJzN1OB;o}%dW2D_u-&hE~$VKrpv64~Yk&T@$u=tF|Ru96$YTnydef)Itf~b*22 +=UHHaP6{EIS){4@Z4hv9v@2!1>{+CP1L;GP}**Fl3~(T|B{%(jW~4Nt}Z)8|4Y8N_qM(7ze<58-3rXm +O6@dMYht_G#91zxy>!wK#z(~gGVw@@|nKu{MUCd@wWpY>>@)dUE?7G+p9C +!Y|se3%5b#ocBHKy-wHI}jb +(Ip;_@k^OdnQg;wVG595q0^;GN6*t1x>&aYW1RS|Qs^@0cVQ^@%Zd$a;bnS}l)ljV(x-k%qsNcAYvbU?jN6um*ZnKn +iYNj!J`ve89g)IEF`fAHBcpD2~zngGPbs^$`;N2-m8B#_XZ&mK+^~0I!ldgs)YFXoXV>FkT^hj55Zx2 +BUotq!X1G#uOrKorJR}!I0N&J6>J#)XNkaNSA>SH$+Vg^19FM=W}zUhP)tgn`??NWX@*jz${{-=z8#!wnlgzWb@(ofF?h(hx&MBV*tZbl`yj9q5A-2;-Euh}GyBnIihj*j8_< +=z~OqOQV+Jqi5FPYUNql>{MDBeLA|9XRaXO5a4QFDDa9F9gC{7Bne(*bod`Sue(cWz?maE5Wf>P6v$c;!G4-5pQ=932S3Du!# +AT-?2uD%xje024rid9cOgG8@WR<}5q4^xt~GU7D`1QLaQ%4uxXh;xA6; +%WA2WIlc*TC6f)hu#U(d#swxeRsIk3>{iygCE}XpZvLZ*Zx2@&U*Mma2sgJie^hB8zjh^mU`XDAz;$< +tBYoc5Y+h3M6z&iD+cuf@$nR_1s6$Zx=$)zM*-oP}gb@Oz`-PyK`0A5QO5BgoU-Cm#~qHe7>hjOTaeP +Q8j$2eb8uK?`)$7pC>iu3`cX$?AvC;x*~K8%DJe;Aee5{jICK2}J#gflCDr%A_bLTzTw%(wILRyHLKfV>gk|Y6i?B +7{1{c#wPyI5>um(YLLuaEjeWXR*t|oV?vJhwZE7lgO35;goJB3mWRR*FSwkR`;b<4J;W*bD0@8d4KrA +-wH8YNl{4R=2~VqxU1xWzABo3}(zd{D~LR2sPjw*V$1Avw7w^`o5C7Dtu)Q*MLQX6mJCVj2)ham}olc +=ap(@i4%o4M*ApM8tK#K?|VK^VqmDfzgrJ#Co^|)j>QN +j2v#0!2wu+rx8arhMwy3Y1}+FV{ZvW-0c) +IIt4&aq&=xehbMI@Y(cuzX?Z+l}t8}1#S0?9L^McJdX;V}n=6vQrXr +Kfm{ItoWuK_{wa{Jb?C_MKYQ&q8qh +hfmv#@tDN4fNQs{x_?C|MuV5qoOvMLCzt}(|tgE|QjPq`Xr6WngohzfXNfi;WIPtB-9Cc2{8qb{L!tF +8gR?o9kpdt{w8%%{cIGE%-J`_+qLDjT%P$(wiqcXv9D4S +b7GgHY35|bbjl{;aW#6s24r#!|Jxl3FpZG7(=`Qhb)f4kBn1r_3e|7$HyI>jr6#a${z?sV0MmQ*+^u%o1tFjW_+BhR2uHNShN+D#oq;!N2@P`Xt=KiM%!xz3@eX$G3e;42UwyFx8 +Ajb`XFL*OQ`UC$%%)o2l>C0gRtN9~19J$TnNRN}YLGNRQDPG3l +94iBq0lD;mwjxn1rClL049RAGjL6hfpAy*Iq(VZV=@@dJ;0-yNTgf0NnaqCRbvEB$~|&oK` +?zZOri91-Z6*J-(7T=$!H#0v+lkuYj=xTfpioMSouDadCL&7{ieCQLd-N>AApE;=vo!GtDcBANG60{$ +Se~46F`6r#+kZMo*qTne;`jSm`*kA01RoJz+z7z7$s61>b+~3IPeU_bM{Mav0sdwf&ulROp0g`{>Euh&pLJOq7HvF&d7m8 ++6!j}!OGIMh#&}iFiU1ixN?V*pw5Av7^wgI)Nt~5bVh83a^u^ +&|SdTd_W#5D4)a5oAPzCB_M8Sd;n8?T{BR^TesJuXC>~!k*8Fqo+G?Ig*!Wqi215Ts`0W@D8rG`||pC+Vg; +0I|AeoLEODpNALE|{z(KM9`@-|dyav{69VWzX$LqwKHWQa-|l^Q&B5@q4PXSi+IB|t==5T;0&{ +)YJROc$O7N}yD|@;qYFYfoAtn8MEq)rciueH)m6vhR?cm-fy@bLMJv2b^1Ko1U9b7%OXaP&g$I5=9s- +-BbuH;M*;gkwoVY4I>Km1soxq_T_`8Kf&CC7)U@?~^}H*`tWfLfbHbVP@b+SZtQG-|JkGlUg6!7QUa|LDi^(?R4)0SPO1u?+Nd=^)0|fq +-U$d`4?w#FCw8o@q+KH)4=UZo9R=&fTdSRU<1wrAjW#8i_42J%M->sOqlcq9YM}Z;sQ&eERR3zAS|S4 +^f$g%a;gg1g&`DzIycH3k)RBUbjVTcC61oRuV@4&x4M-q5TQ%U84Y=hzolfrom){d^8uPR7chWZ(C%x +_(@^X&O`+Z@Pa&Zs1`~f)gd*cL)kpwqwpxWtYd||>|D1%$`bf!MJY^Gl*z@hvX76B>Wv&*b(Vs$VTHZ +>KM>Kk2mQ!`C#n=hyJpAV7k#{ZGEC;JfuP0Cmcc- +0nn*dO?9L_Q%Xs1{@2#_QahT>rH;I!?KV9>yKdde%+0&2J;&FrqL3o^0sz-s`Y`KXX+ +&m97YuvJ)|tKst9bB5b+)NamyJI^WBAX?4)}8R7aImHi`|UL)p&Z(mKwdKExZ;q9bs-%uRm9T9FXj$&9SR&YFN<-*#@Go_qj&E!;(OApfz{95DgAlR(|7Am(A}XOmy_!U;{jUl>c(J2RK8f|(%dVrOX^70)RaptR77gWvTg+MAPPLU3R;5SHSr +MFT9z<*7o!rWlW0nO`$S~TGucg$D1Acl#BNP&6;V=#|ix?bw(zcV`zV*EJMYMb*+DpTX{a2?>iB`BnX +A4ZK?2hqbOu^eVFK9(U(6EB@>4sQC0?#u)z7pG6k)-7b2^zQWv@a-Z%)gXX@bS_DXh +&XrHwfbtykt4M}a8zU!*y0zQ>`*Und6U$xDid39)37Cb?R7cbvkl4loHgIt8z3VC@Y7#+z!Cq~G>_0a +FGvT*d+MwJ0{~6x2=-w!U=WKTt~p1QY-O00;n+tx-`*-)3O>0ssIL2LJ#b0001RX>c!Jc4cm4Z*nhiV +Pk7yXK8L{FLiWjY;!Jfd5u)>Yuhjo{qDcw>I`PnM1+lf33RZwVJizEtleOA#VGbU(Pm3VlJjF@|NBm| +oiuI28j{$S-`#un?xY^vEro$x6bN+9YF=MDEE)A&MKYXZoN|#9k>%%wHMkpEd;0+u +0fy>OpE^n_p41-%lzc{(M8c%P>Eur*lS}EJ)CIuQRWrS6FOZjr8Ays8nphd{ga#0u-v&E@zv*>>Bl~#+}IYlYH +IC(H*&=bk+lx&tq4SZm}CUdBN=>A@)1ZyRZ*q@=;QMq(ob=Hx2?$8uhJ)Tu&L4|QT@hj%1eZc4itrlZ +^AwptK%R@QZAJgsehGdT;PVHG%{x>xgY89evq(-^N_$nhB+JrNXiwtzj);Ndrl*cAadDZ@cxOQ7UPGB +zLx(&*_1XL&*0tgE%OL+t9Ig#h-0RnN8y0q#VH&B`()Zy=y*}yDBHC_6-OZ_5ywCT$F4FR +Y2ZmwjuU%P`W(!7?qTsYIRM&2nBovY)eVEr4mYjBqM4);s4S6Q=95u?c@n|jV(og-GZ$UV;%nCHkM!* +8Op-5bmC@tG*@HbX(8~NVIb`CE(4f`5B1~(~IPv>(V-h&A)c)IQK80VX$Z8%4o&d%Q*y!F4MX!KNETS +EfwAA;7^ai!9wzo+qUu?*cJoL#_hPwzt+uPT&T6#g0hJquaxXl-;57RO!cFNfB&tJBL-(;Kp1RAi#26 +T)qz*KGLOxDM@#37+xNR&XPy!{`Sa#^bi)yCVt)p0+)>pjYr7Qh#mzJh+SRAkSK6Pe +&e|yr#VHH^LrGa4u_*l_zNfmz6&9*;j>8GY3|B8AB-}ARTHe!56z$vHXg_ZCBf`R +iUO;(%jL%1RjO|!=?)&gK_yVP|P>XD@bTa&u{KZZ2?n-CJ#Q+cpyZu3v%DHxsduSv&3BwVv2%n)rI2<{VF)OXo)Mu@D8xs40>KDB +DWi|9-m*fFwvtw&SE9PLqi&aPjO5fW__t++uIfrDijk3I^ZPB~Mu@6Om~#Wy@?T6f4gKD}`EUme1(N^ +MWVv^~#Wq*gK)L%(KB3dlK!87|*6e_QUB*M-#DAA*k`y(Tl_5(?iQJqc)Z2rNIUXlqhm7%UrDhZML%1eoYjaZ>%Rzim?DN)dY?UCeZDyT` +jCJCCBd7f4cN(>CcDAuJ~CdgAemPgr4X0lw3*s+-NQeFzz;`)@ULS}PE|Mov8hw+Pl9=`bL==etvW9G +N)F}4M=^7(@Au`CDqE`=H}_z;?p^@67_BaoSc#YSLm4SK&WP$iy@*y*xBT78s3^V?;C)c?-N1Q +qHgz22@0(bWxG4S;PC*rM6K!5-h<`;2;@C~=bO@};=Mwsv;|YQ-Ldj3byY<(cVvx}3bq6P|ABC{bzXX +L@wWsTn_g5{{~;hJW=FKdt`m(-dmdd1`Px8j@}uWv^5ok5<>#&nSxO2K&sI;>Du)NvyyQE!AW-OUCpk +Ae@a_qjdZ4O1uWgSD;I>YVmEbqtQinhTJ-o7qIfVk~+`+CCc-B3O(JVuZ13)!7$h(kJFi*?EMen=>!( +Km2wcr01eJ$pN#|HszoqjffWS*G<_QlN7*G$<+RcA?(og&(d*;*5$zf&|eFbaXyRLmGjKD;zo;T~acq2myHYzS5k+4g}oil +lXWz~k@8z{wXPn +<6-{k+UA&QWF+uWPWyXc*4H4i_dUZ&YkMDdX8!Q156sn(iqmVi!W#a9_N{ +;C&q?FV%$8=tT;aB`aF(@TBNhEHbXVLXllWlZW{=@QKtx*hfTz^w0I+y?zBA=Hky}zTe_5e!HE!9l3|_-EZ@q|Cw4Jbh!VS1AfqAp4~z9Phj#dT1q?W2I +mo5(1x~Ng3-D?u;IW_KnSn$@(2Uug~&=VJ*zkK8AOl}&uW?Jl4nUJu4ms`fQFVn1^+=!?Pj +PW<+n6RjVQsYfY>^H6X-ypB53~$4?7Lq35TClsX1W-f4vTyz@VJsyAYTQ9m0v*!Q8>1LvOXlAx^v%$1 +ekK)`z`5n+pjq(KG4_tVGhhK>35hco=+eRRXNL&yn$3KEeYUY{O@T}1F1DNo3=#|vHn=8h9-+$PQB&L+45&(XcdZ^c>Ca#n*uJU#)0bwUB7HzUmq>EIR6 +*7LP+kU54%LdV0ltUyPQHQYJ@9Y*zFir{xsDdc)x6LHaN|`N%*AuD7d%I^Scd)bj0{yMN`MAfuH=*jir=u732D+!WNMsOU^XUZGt9v+1%MRG($plqOxVI*ol6i05-&|OpfXPY3} +dM&NDUn19PI%(vJRHmWChzAB=%H8bXbtcS)&4dTPbbwH>3W3wR3G5p>=W&&{&!+`2}RbRI)2B<}izOz +Ep|Ok+;Aa+_CDJW1?vBWcf%lKFz5*=xVtIPcHZz^X*hl6jv)F4J}iwg`CxciN(b=>#}c+yW~5~uY?+g +jdf{PM+CM6!Yf&x4`Hf??UkX#B8O21w^Lb<)!PHuWA1gZsF3Hmnd$@L2L?42RyizQ&|l+iSf#kGzqG! +s+pjW7ROH35;UYXqOT}f1ru-mOuFX&h4x-@mY?D}!s$XoM)Co$n?t4=G(wsMOj4L=00m(txYX4vmPM+G?V*vp3ePpq|4Eqq=Y +|~(>h#@z6;aIoE1{Q-dgp8e4BP>ld +_VEkrrG*YT79{*szhhwCXEd0*h8j*c~J|VfNS~$nzgnX}-e`n_8Tfxe|5*S9nyLLo8!tc3#;Hoa@vsm +bep#p(i4F%zZGykmQf%Dqj{udm<5rs9fIzib2_qe*$Ia{l3{|5L1S&gZM?%ZdIv(a1McIV^h8lkd>DRAmC*g7-`}LeCcXgE;tBI+JyVQI_wCk_XKdWTlN7q)gkY4((#d}Q*LW?0pnvxA$G&@&e^9us`| +g$Jn!XdA9xtkw?$!C+_z7Et}~n7?fEmE;q>Xdj@5$ynyY)CX*Nd{<~dHgRG6t;4K`l6*tN;nTJAD?DE +Hm<+@IXaJyH3?xIbCX{p*T*^YE!Jw=->{nzvi^*>W-Q9+=w}-*D3*|C(*_#dGtWT`ltr^Efa4HY16r*C6|yThc$6;{8hIv^5=}5i2pbwDcFfTYYNQ?Nu@OWFd>!aiMQM`Q?ge|}26>LnjwdR1e@;3GDa3XXEDsTA(%zW-{?xykr%sEM--Ke}0 +DITWcTN@y{u1cW800=Ouf*E0mg3!N8D{VB|pAA}5G;TS&51szmRo^^ikEEW;IYe`|o`}{phgZ$s{*8b +&2DV{gD?$x>#>iaKYgDJ~;aDdlttnKkrS@JTSigg{j_Yx4T?ul%8d-0FCzkXUlF+5aqOH~N1^FjDxiBjN$&wuQg9I;xOsz|^XPzJ|O?7Hp>Pk<%Y +k^Z1_Y+$o#UiR%NsVGaYn@mDrbE_Oxh?AjXC ++2tn8R$!%M(h#k>3K{r4sr*(9QBSX+ +FvC6o5sJN5GN-0#e!!!et#G2;;{muv$X*Mu4W*-)3$v+_DCtg$Kgf3nrV9)*s)h?gMnWgD9&1-g6L$uj#qT;QotUzSu2cI+7TtgRaoE*mFy81J(5@Kagv!T-fYS4o|ArT@2Yadydg|b*;vN +Yft6&!#np+#kEZGx#GpSOz@_c*Ymiyk45TGpPs{0m`3i>mnUJGXY=N>D-*_&6P?Lx(G=O8MT={W9;-W +mJ@M91LI@X7sMUBMKvKkDL#<(Z+~Hy4u$I6ZVN^4Yvhh+}#YZv4K(UE#Vv1Xgbc6o^P)h>@6aWAK2mq +6T002|~0015U003}la4%nWWo~3|axZXYa5XVEFJE72ZfSI1UoLQYQ&Lh2FG?&ZNG&Q>D9 +KkyD$UGEQ3$9k$;i)BC`e4sPE1cNRwymb%u81Ya1Br}H8fYq$j{F%=2B8p;^K;rF9T}K%+HIDSFlx3H +_)@tGg9XQ08mQ<1QY-O00;n+tx-`Pc!Jc4cm4Z*nhiWpFhyH!ojlZeMV6 +Z)0V1b1ras-C1pK+sG0Au3xcGa3JN%%*BVI2e&%FN#xp1;sib$hgNZUl(@3iCb{hH(y|)lzjtQexRNN +@*Gs=NIGiPMc4l_wnP+B~{eJ&y!6d=|st0~gbNEX#BAaO~_>4+P6eqK+D2Q56GHqCqlW8`)r&UfCoZr +i&*E?5)KGt-mM=lh5xqlI+e&~6cgR ++y&xJQb5>BqiDfZ#dI{>l&wu;*;|0R@`s(!X$06Yr`Lt3C`16AnI|7KZIc_d_ph7ZUrL +3Cs$@e$prxE$V!0m-!qrc{K9=gb3sgNlKJDY3Y!X%!ohXc-L&t!5lO9Yu|rAO08(Flh635 +&lEnN#2yTF)$Cb_q-czU{L!$v*MX%4LFVUf@gU=2XnNLbR!f;-y#&#XYPE{@!uPZZo8dZ@6Cz~i0-wa +wd*Q-$XJ0?6ptTgv{rx^YYK|^GGh{15`sd37%POis~KcSqXetnIh_LBm`YP%q5?MRD=TmxpCtYP8HMG +y?%jC>oWk<`o&}CrX2&&qd@6zHvs=39k^LF`v7fv*XTazmn3RyP{jOx1{Lzcjh?~mA&OkLq&__CJbQz +=9bLceaIr`e`p{K~R8MKldJdTlrOdkQ-g@(h$sx^8=r7|WRRTX^Zi68g@4cxK^TD7Ya7Zj%%_G%e4sk +kU-nWVA%A)8A4>%ABZOgx>k=d5l0Hj6DFofwc_$*Wq>IeUyJ9oxMbkkP39YJ-&O#+=%m$8Ahb8AMxmV +*vYh3wOJJK~8e){D(@=7CO!fqk0O^`GIZ?4acyl_E@jCD^lHgbQGxR?8z-van#YBBeQ)-SGcytAAN)p +(7yrmloFJNa*3=9rsA-dd*E8fCda_A?I3TECd(rYJoM>MM|CYP2bLvw1{5A(xnHoC^A{25Ld3V9}P^azSYkL-6M8HkDK%gUPn;&h;>@ONMK1%!<95G)tPTU +TO~{ncO%kcMOVw0+%pZi8BV +0QBxIol-h6)b9$OV$Pl~B1)D7h_KdK(>VaD~({GmXC%68LtXneK*iTpChl9dk6B#L@Pa6%q0Sd6Ww;m +6>a=&Kk>3>`B+mF^~fDIA+%h`DRUU!YF^ux*JyYVH&*)@}s_m|_7w|}>fwP@tpb*0{%~mjer}z38Ev)(fJ3=CXUin3YeZx#%5Z>}TM>ufdM#l5G#U3Vc*oY~ys2`t7ub5=5y=x! +@;3KjYAeM)9k2D! +tO?=%04u<*Z5zQ1u}%FAc~-y +Dzu133^Y9(7lmm(|WpwE%sypcZHzq(+0r8+4;axFgm!vO0ie34Yt;R`p)+%3#gQVt0W-Bsat)18!bUU?%BP2w;ZQB7}r#(7IU_~@obIj`q&q621s^zW)Ft +rM*w`WBJfjdGeop^yTx$GF9vG+hPG{3jL?D3VH$6iGkwTe*DK(7=vJUgz{3nXm>&qyNfXw!da8{GR$hTz^IMACVI4*-8Nv +tfl;4`GG5yEAJ4%GGrxn;It*nt!Y*l+6zHryS>6MFl3Qk<^S#E~eU$BwfnB#C;Q~PRz>TMos6lNc@s=z4lAgw3vyG&BX`4sPS(~;YaNIU$-m3shNb*c)P1P?cktwauS($M$ye0^tW$O@hm{QEL7apq +PB1)8rmV{p{|8!%O@RH?WN~Vi|)SGzNXn{)`?PNe{0&knh6Z=DA1iAgqiuhn+`5~x=iU**;hfWEi+!V +FBzTukaPhpc-@6aWAK2mq6nV$ik$A+q-GC;lWi7sD^SNf3L{D>r +b~5{Myn2#i)s%>^gS4x)UKh&7=ObMe-Uj9CaN{kIIY`J%|X}W*_w6t_~3n1t9924mz1t#3!k;S(t~O) +jnO8{@MdhA?pN)>eZrq$3eJ`2fb%lTvIchSC|cPF2i%@4`YOVsyvP{-dFK4{QrW=(3)c)9>>w<22Ve% +i4$?{oY$u^@kng!ANewg@%VQp2Y`$hWVQub2eUCKfPoyk&Olil8(defwv*1!pF)07nfwf`}h`RbyT1x +t86vDV*k6n;Ft*V_iop8lyP7p!5O?I1^r}d~=j=zkM7TDjS9e^k@)If%YY +QqVrGf=3hE}ZTPqCycUwGw`)KQ4{*S5k!I8R5QQG@Dd^qH+himz;q94@=!9&Z8;U(3FTNgkzO5LJf*3(C4pAf>sTx^h8#T*JIdhtbjV9ZdN`(~RpBnJ +a#j}=Pvp?WOzsi4se0-WkRpHH$doi@Lnm_Bfsl@Y%hl+G~2TojY-ojqgC(fg8`GSXeTi?vUe3w5Q0NV +U^Q8ob~mIrS%C#MAs>ovn^y2kWdhyTI4cvs9nPi|;{;g$2nA+~q`;*Z|?DNjxR{(Y-!(b}RcpFtrCzG +9u3LkMg9>BA=GG6x?t}-58fQ-1m#y9D_k#JD(kQwiy&I!{2pXD%bF9$A +nScW?djM@%*1?9nGF|I-yOfzQH1X +NWW{=EHO%T76!rDfb&|(bf!!Dxa#x~Vn3~yX1&fqQ6M_u*7><91snj}RTRVvXmTtr!*AfN6Zr`rMAe!KeMHxF(MZB +DqkloL|X+U6Fafjcum6vQdI#pPt-E#MF}0o(r-SPyPPT;PjdF +!C$1jo0x`{J?lP$ok-?h!sbezGN(pxE7WCnVv0iqAIjjhg=ru*v78;4kL76I;kL{`t;gyLWN7v5pGO; +`gTQwBDCRbu~}*qzq&nq6}@8z`Nd2}At4Nq2}b6VaoA9!anzg}N4zs*ni(|7P}c|G*`aVRmh-Tffy_q +=9V72yFk~4@6aWAK2mq6?X^#T;YM{C9yp-p83s}<0MJWHoUkdjMQ4a=7l9pmgI^R*BswF!mQ=n+6uWQR +*|blR3&K)4lm9x$Tuh7l8sW=CZ8oqG85ZcX%L~;HPeR2ai!L4;D|$IW-G0>@Xl*yHzZ68vl10wkk?8` +!VIbL!&BCx&gl(kq;zi8wu&q-;rj<(sFI&+t@HwRVkPn-5ye5=(`*_mDlg46S72Ps=na=w%=%IEoUs*CkFx+Bd?j&OC8ms7h%-AyRY6t}0G(y3wnqqN=fVV*@ppHy-Ce{XGuO<&D +rvZn=zPx0=;8*R2s3yaspt1m1Aw=-CW+Tt@WsHMcL|lk1F9$+n!*`D`{T`HB=60@UqEO(~4coKF`dOz +jNS{Le;cZsw;m0?(}gzwPUl%@KOg-qYY?^{yM>1FJcBlL~1pXqk=dFrWwJb0JqMOP_fTUJ`g)QG{45c +@1&FWg)mpJ6?WQ@OsR#rw8IWPG{*;CQvv8dC=`%`{1LwZL}m$Sp^|KZ8{iez#Tqaz!|N@bfxqF{kQL? +K=@JFpig8zC67$HaKaC)KX)&oQnWG~A)FtK|>QgiQkD94R|5G#lA2d_v>W6Qp +K7#JsOuZ5xy_vdgK2kHi-Biar>5--hyq`Med-@^#Ct}A8pC8aMf%D-y=7g|mOCG3WW(IzR3rhCy*Lt +XrVyy*O!JwOF>6wSGX2t+~Q2f?VR%JRLt5_p^0e0Zih<+E$n0e5>Y<7ZIfyhHKanQ`SjtCeGx9KTK|F +}E3y8Ln*5KOOBRkqV7?KH}dvtM`9Ufp)#D_nRN{OvS_cxBec6h$OV?oJt>ElDbE>Tab`TVqRr75XKR@ +3LM>hhXY#xI}@k$QSVE0jW5LkKS6a>(vN;F)AGw=m^Th`%l=1e7t*ncSm=--Kj{phFq;6Q@U +W*3b}%fuxm(Et}1QfPUl*s9A8VpQ^>R`;9hCTQq_lH$&xjP96_YvY24{{yPXrbR^?WU)!M@4#rsRRWe +I;&>fg=@&P{?XR5Hb#EiMlzVWtoNaBYN=a2a1fLD74%*_={9pwRo)T9#OSt7;oDEsbUhk!#Rx +SUHEf2AJ6;nd3^ur?%^J>J`ZQJ;q-nyn#0`;uJ5KdFGZ0Q!ZJ(mh;$Sb>I^qj+L9Po2vEP8t? +6{E-VQo|PZ&&4ncQ^3fsftbNNc6Nm7j(ym@3IToleR#SQv|2>V>IFvNj76xQ=>Z1-;;cTb3K{cgkuQ@ +_x+>CWnsDo7e;O;Z)Gr_O$0Lnwi*-*U8U?eI3O*p2&OuTPT8I +6g9*aKo83QR=GDbH?WJhn)4p2H*erNvhg$|aJhD+*K~5=#}0O1tKX(y58ze%)xp@+XTBc7qJVa`{u_T +RV^hCLUvwyVGn|NfiWSN@vSDDRluY$sjNsA +h~1$j*rQ%$Go01{Zt#m0#W9@^)Qza3wL0K(88MTPc@HBmbL?Pil~c(QL>AV_Ogt?Rce!kU;uyaB)|IT +W9`ba63XLy!^TRadM66pDNDl7NyIxfVm)10ZZABerV0<9aT9)CnsV6iY`*Wm{`24b)*&Px2@^*c!pA* +thT^I|MR@l_AHe&BWW|8vq$E|fTms#bSxR3|y%dK52`60$mX+>T$MnuJ!&V@1-g^wnw33cgUz1yGnJHO?P5YJ7~{Fii!OyFP5N|1)V(I0q=IvLzy*Tn(?+HdlpObv{6ZS&L+SfUr^e->{^Tg7nw;K +pbHw#jY<<-Yn0}u?JyM)We*@@`dM5OzOg2A5dkUr%M;8OTEu1TGTxvYWEg& +I_hE{Vi~rURz@8@udVS*P^U-TE5ft9=)v!|@SWcG`%Ek>FU+Bq>1ij&*8ue`?EWehH4P;mRm(rxyw`H`cn?X5n+ND)GFSSd+xt@9X<-uiZbeaBqZcL2dH_cKHX +#Jz*)b=2OQN58{_(@xvNJqpw==|UbIfLNw&lhy5f+lSc~=ZTjVA9mb-g9wE<3B?uX0nz8H`gAMDv +4%2`_*XANZdNx|KvZsD)HS(Pt*SBYFeSMB?35F{!+%{h5gPtL98toY=|Lmmbz`f;nZpnt(1 ++i>D4d+;1wf;oRD+g#a`!sP)h>@6aWAK2mq6IT{_6VkXb0f!C=I3YBptFvabah0T$zCBID1{woR0-tQh- +;b>XL2%dDj1)}Hrm&`>HHZk=PBE3{nVWS({(5MWr50R;y1&>eHyLBz=j+~@#GD>?x1H3-k_M@L#mzpxmMiQXMthlXh-Jv76|xAUKVFlzj +vY%FgG&~k87ep#znoEI7ES*ZCaf9u*w^>>-Deu$Db1_byNAn7<336Hp7NX3W2Yd7kp$o?pVE||I|UJw +ghYxZ5ov^`Ms=edu$pYSsw=b?aUDGABM$A=_Zw~#z$p;WB*-S=c3BYPxFjbcGXj92bqSVqrMp#)5*1m +Yq2A~cf41KR@|Cy;wB|mTCS0O3Fyn*K+lWY8A1CNFIW062c{~CyR91S*%P7IW-2c{AI<#pT-?nU{}i0 +e{ddJz$bl`Rhxa*xi@#7y0|XQR000O8ldVxvrV2%95C{MOnHK;69smFUaA|NaUv_0~WN&gWaAj~cF*h +$|ZgygIX>4RJaCz-mTW{;Q5q|ft7(Ea3$$AV$b;i3C&D_mAuF2(>46|iRLqSmswADnSnPlA3` +NP396kAs4aj)O+_j;VRGze9H%f;g(g7h*ewovkN96hrl6%y>e7Tdh0RhymWc}1#r>r#q@DOFP@8Z|pv4objC1+uNsa^fpz;C(RpEK!p`VP`p253_6-z-BkcgCl4=++^1{sDYhN_FVf+ri`3U2%ma-OgP$;Y)O=JPw4igGXc +<3__E8NyGWKK*s{)2AQ*0^x=c3hMLBa$(|YpcsS6ZFs#1R%4AuP*7H9^qoapGP&hSanuRrZkS|v86Rb +gMyD=h5&=YpcOjOK%r*D1*aLwhgIMdB7j)YytQgHI_e8HZ2&P1)Ut-CSCB+z0BH=NjLMoCSxg^#kl~h +7a^@drL{>t+8helw^;+*`86i{!OKo&cV!K1X~2_d;il;pegpifPd^DVd12*fzgLxZv`P)Y9A)`3QcmklM1wr%LT3~vOAX +Q^?3Kvx>M6qyGsV#-9GixZ&!qA!szY(! +vQ?5+co_=K@sKE)kpjm)70MKGC%_prEv$^0I +E@#mNIiFkio2Ht7~ivawa<;?dkUGV4A+3lr2{|pz%Jzs<{^YJDjbht2LEuilq-<1Wr@q+0!E>14|nIG +P}aOH<{LcT)i2`nc;=udBFlK_^t!E&+kP?bx|J73KG`Bi`ty&G>Hj!^?#1MgS-0julDY-YsT8%VlN7t +8y=|9l<7^wP8HNCs`%o0kS;QuuA7jp}S9-A)aV +StM+S|5ZBz@5MHT$lv@iX3$nEKmqJ8#xvR3i;+<8;g#kdum8Xzi(IGL9a`1GDE}_L9~g-Rpz7Yi}heG +3RW$cdKF>%&{2eWD$npH<}5CD<#{M~Y$UJ!Pq4N9}#H`W32ipoMR^pE?P6I>U`u9Qc2 +ga!ZZ0p=LtK3PJ^EKfdTTDJPTU`}!sXn52pgz$5>&(Yi{Jq0}949R;-#M2is6TMzA-2h#jgDW{IoN4M)_j}2uvt~D+=C69Z~H{-5U~MeMM5=`7g*9w)kO_x@=5I2L%mzoMmD2J-Sk; +sVr@23y0%p6oyc9&7I3R;HCf9j+wdgY6fJ+~z*7IrURko!@jAz=?u@n$O$WTB4+}04f@x(-iZ1N1^x#O7X6PDpFi^uTsM0C6cITZzX@Iu7&6tFhc`#F0ETJP%xINR^{s2)U9jSjJ@48B>+Q(PM%Wz8>)JY<2XsnL8}%W45+_R0JZh$Mo~2jk +L6Zl%Re|()ZQdnQjC;(?`n-pQNB~^zBQe8lkwN`$~P+Xwtjx2THQo(GUZfrxak!l^TyGct<6gHwR%5@ +6w?~xPMsS?nxV6LB#A2qFs}xf7Yq{4A`-^{fi1~S(e++>OTbPBHbOip+ijhdv5dDE?-CC3&#)msLO?C +-2nXG<{}`pw{0u@G1$7Gqb4wx_j&@dEUbMMWoX(D|J%dGAO$x|c(io1PRfA=x^~#Kp(j@-Ju+ByDL~3 +Tc!c2R1R(|1_(d4c;l|5TY@9-=E_Dz90IMp4kF{+OAd>c^51n2PkANCcada7`13z{!=5BS03j6pExhj +hoUL7fOX32rZ`dE9yPo?)JEFoq8{;E!>;eATKS?g8aw)TD|i>i%kyC=)VjNB5CGh93#(2rwnJ641tb| +Aq`Zcgs8+c06NN{)M|$R2=^em#b0z^yR|7iY9WS?f>uA|H9p>qWeF0x9n|s_l696{{&D=0|XQR000O8 +ldVxvm%HiS(E|Vgp9uf}8UO$QaA|NaUv_0~WN&gWaAj~cF*h%5WprUKaCv=JO{?2D6y5t*h`?YO977j +Fp^!y8eYAyPc#GMUA{6^3QJ*cjlAPDH%zvMI_2JlgX|s_f-H)Sl&y}*-Y~D?(@7MrdcG63BFqTO+TJs +fJ&nBnzkv%>LEKnN`Lxgg6uG^tc$SRfIja7jcG4%` +k>Fs8a;sa$?Vz6aRlq;5HKRGACc9+WZ#3W*|$l77jD{P0a|cQ*hy=!$-h%Ju$KKj3?r`9YJJGR1pV{*?LU6^Y1q@g(b*|Jn<6h&L(LEIXwmM&DJl8`Xq}n~ +5OWq=i|mFUas+%`zeMb7rzF`5Sab0XAQa(!nanUf70~YX)-$9{uXI8(T8Kil^bpIIK;g`IHtJmIex=! +%ojaBm*M2wy=$&THX@mglVasSmGDG%zx42)m2`>{q_!tDny-M?d}ObBhRf;eyLXWziZW +HxrKCejqor5y9;B&__8_7&_04U?XR`={^unz%`3j+DhsF=;3>x34)C=f=FO{ +(u7LA!X&;y3Gkw>VDMLMbPye`dqRFqYF>=mP#+0(OkJ>=ZZvAe^4>QB<=_{|C#FOlS3K;vU +OvuuG)n`Vh%0lR}#ZnuVf#KQ7@FbBfq)-mU<@yBzGM6y@FQNlA8QNHe|nKgi{=R1nivJ$Pr?d=} +#rydAq}mf*)lQxP%LtKcha~i9L~CZDs*pHJaX@4|$q@6?J(3WGfiO9~C?BVVW_h86g@wQsKAPzfWxE| +Kg`gZllrc$6So{xAO9KQH000080F$jzQT21fgd7Y203Rv<03HAU0B~t=FJE?LZe(wAFK}gWH8D3YcXD +BHaAk6HE^v9}8ryE$IQHFN!A%}4FH~V#pi>}#7u!n)4R)pt+I0I61Og+`HXE7Lh?HGp(0|`^NJ=CnIZ +ZEEV6g@g%eRFFpljC5+^AG`y;NCE^`=`~@w?fVZ~iu(5gz^vut(U>Xf{{diD0hRS)Ihh|p|XuXx2e +0Nc9~hh}y*^PFsfrrB(!o5R_Rz{gG4FW@$dTGy6%DU-jyxs{3k*LE(`_U +CP9vNohjqmrh%e7mGVfpj$60-tFJ|m>!D>w|3>D{1BO43wp99f9l!yaoRcQsDIE5rmA3zEUD$f^-DN1 +IuAx^}HvIICC3SE+AC*ovbhdP0J^tvqC|XvNEKC!B-z+r9S@=T_&|$GTtE(YC-CsBB1fxCJN=e@-tn?!1hE#|s@IGy?n73*j}$ +_z$iWM3V7c9HEWUpXKLtMWc^;hE9Rgd2Oj$8o{J9xAY0>k3m7OeF~!aw^bl} +!3qM+3mANXp(j)bXk{47%T+tf}vl=aRu79c_A`JMWZKZP`RP&}40_0R|ONgfXa`{FIupMymhUQG{cq4 +@w^Nd{q;SLa}SZ^fgYDF*}qppyxeM4&yO%S_#P5>m(1!=*-&I(x{T$li%M0h=8Fp#x%2@*=86$=}BeM +aznz+Z~{mhiW5?El$v_Jhnne=y5rzrmb?#scx)*s;x1{|#AKOw-Z;KhPy>nx##bop6L~wmAitHV_h

hnvDI}~vTc*I`y&&Gea)?KY5sHBo_Ym3}G=_!D5_As!(lBe-D5)M+v=}3ts#(ET9A+T9Qdn4lbM2U! +PYo4{f^a6A+DIoxB>v +lP$u{>&QAVKtCpEWot)qXMYgRnS*K&^#3>8li0@P=Z5;JA&awH@iMVtYf3%~rBl=>ZBAVcMblqS~!@^k?DW2hmgPr7zV9Yme3fs|BhG0{34xo^sAk5VV&_7a^X}PVe8`s+SzB|&ql +zNtSY$&NqLKbKn;i?oMCYQ(MahA=JAYy$%6^qfdK +f5>W$TR00}g!toM)b-y(P(#GNxoNn>&0CObdnOY&@c;MZ_3YjOlp1vd#ra+5FdS2r3$SVd@fnD3W +B$~FC7EAJa`ZDG*q%q|1>?rR5;X0bc&#+dBsZ2? +|Fp8}4bT@fY!OzWi9&pC;g5{y$jvdU$g{Lj$?Tf^^8_xq92dH;UkNS*Jltf6?vtOx-|g2}bx!Qo&mJ$fVRs|PD)t0Oy(uR9qD1&`Zr84|nXje@rSKBHykHN78p+Z~)s9;eTDNEZ4 +!KPerlJ>c7%7$FgV%3PybA*x1@6#9L$iE`_%m=EQpAD7SFaNUeHUSm_1tZJhR7T-UL`QZpj?AQA8<#I +5!-*qqPBCleEBM0Lu)J#8foWY@TEIg7p5ZC~5f>|o*&a_Orq=2(yEFre?sPY{GgOahLb$_;V0+L}(J- +owts>N5+lA{WL^TyihzsmiTCExy3|iYE;#dOOrVFZ#1>sp><_|LU1s)J}8g(tYy;R-V!onhVp5vv5wT +cN*y-Z9VFAN{1L5qb$(uxYx?Lf|u!+Jo!(Mqw!w;AEr3}kGGWAgx8?9$$Na*=+c9S_zI_=WX@k#y4Vz +hdKN;@b>-%-Tfwd=aX+)83ERF|Sx?#R8%{#C}?(7Ot@|RHxZH4;9x(s=y|_ZM>Fy1{pH7tv0Z)Jst!g +pK#eKB)}Lvxjpnd9%3q;DJx`XEU?g6vFJ@*N!w#}=Po0>-t}b7t^W*^Hf`v@&m>}#F2>c~#MLz&`0aM-r21&HfJ*625N0YU0VS|5w$6QPR(<9>#h%&tHq1lOa*qy+1!D8kM +48R2T!T9Qs_`%l*6MeXn>2VhQ|uF!KX`9V#XuY;ePqlDj=^)+*4!DS0dUh9w;S4rt1~`F;?*kl+LM_) +ijh=0}lY^P$iSumaPU3E+i|1m8FDZ4yuzvn>nP_UgJM7D+}vhR|RQWFk#A42r|s13(9YaCK{L1)jfud +2vCK!969B0!_k#4}eu5H`YL8DEXR$H)BT1Q<9m7Gv8KKHd%E^#W}vfVZkU?;1jnG5{8nH`I#EmV*ZlJQ^6BGe`HK%1zrV^~Jb(GG^Ea=++@tMZW)X+Ow!^ +($5Z9nqthW9A(e6dG`@s^NKo$P%#CKF_$s$G^N#?p2ixo(I`TXkj{ASo+=>gaiO7}tm8mum3a!nxMq6 +VKusoP)xa<&g&qP6zsBHK4yv;32iBJsOZ_XdQ9B5iI)GF&kq1hDakW2V;2CyQCM@RYo3gI5U#p*Ze3B +9qf^X&}dTV63DgZIWb?-fPsC?Ob9P6z}|+#6n&~(Nvc=(;VZq;jpnbxiG#ijed>R4}@mU!plxi_@>jD=^fWG3(KJ&gXk91`ICUTi{kE`1!?#0x9mgQ{~B_x{IM@pbQ*OzJ9 +pzhgNLZ_^5nTG6AhGrh;X`>`DJ!SF`Ray?-lN5x=F*1ZsNTn6DQCKIoBn1#0fLCDv0`y&U5&2Rd9w%_ +G?&6X3};xbKt`P_Gl=!TR+eqmrB +X!WtD^W75DNvq;hbYEXCaCy|d>v|hUk|6q@Pf<;d4*(e~Np^duS6;eDEvdV;V@q5~wx@^Y0!5%eRuim(QG +h7e<3~H+d8G3SC$5>1Sy>=u_v|-^U$;e8Wkud1BjX-N*{qpY_2rXnyICCn;o$J_@ZhwVT^E;Swl3Rdy +PlQV)6##v?yA%eg0W=fhZQt#{lmJrDcgfhlU)_>ON3CZ;mgex{AUgA+7kXPHZqWGI(;~ujF9vu#^uO`B7TW>rFis;S!ydcG;@YPDSgFgL6N8di2u!urBU+7< +>-)zB8Zf_dZz2fb5-)tr}Yb&0D7U)(n9YaV>vtZ!t2+g-aUZ}j_ie2|xym;7d&74z-BC4flE8HtZph=p<+iJ9ppb%EB=OHQRlO5yJ>E+(-)`N=Z`*v1`f|IemTpLd1I^mK1_W5Z4(Z>sX1N4ZMI`Y +}s&=!iF7)s6rl^*HQR}vJV9NEn_ERixf(dNO51ZR{v2u&CDc8XmtGdPWp?}sJL|4~+(^eno0d0iLM|T +0Yjemu~9BkIRCkGk)$Xk4MP=1(|t4;Qj9=%wvn>DvN%1(E%&2{#9{u#{s2KuNjs%5p=SrG6~R!~5*-7^LEw`7sRI7aQzO3hXXk{;}51n^8Jj`#J_kh^aYP(*-hK%71uf~Y-H +2EVqB`d^H#ArD7a0)MWc#5+Y&cj9X0dR(4Hy#k7qnlRr_U0O>+!)Xl>B1OJ=d!A=sp0o;UcP%VdHe0@ +>FYP|U|#Rm+j7rB*KlyxuMIizM7X!=Wz^;!y(<*SIN7JHcP|HB&j=x0c4 +<0`_jYh{6BB8s;~}3@CjGbi8Q&~RY=H;^3A=Q)xEN53hX4{ +)KH@ye&^T`BPcQWZ+zQjkcGOwCi7be&4R=dw1Ga~omSFu{by0pFTnKmP)OypcmCc}Y6M%N;TOQ;1xF& +N#WEgtY{QNb7YYQ8Ri+`6?sS}x&kcRlh +HHVu5#0_kfPJ7y{1#)p;34`gNv8*g4%=}B8|^ieUNPYSp!-V;|b!F!?v^wihNAGDKpvo4DpeLh>3MZH +~3-23>037}}_SqKA0F@bAkUC>=Mp_3nfK_nmr2iY5WjCaulux!1XtQwekcPu!o6db(a@Z@%0ltl6MG0 +df9nt|hll_v&7UlPLwSX@qkPRy6-SIRHBT|OY(My}@fzkl>Sa|1)cR{2v985tP-_giG;Zm)oB61PgcZ +w>!#wDEO)qO#AXq40zU;^=dO=~1Hh_`c!G%l8ork?IND1mtArb>&N@US|IU3y +ZG{+i+r6yc7t3lc&F=yD>+-Ug?F@Jz5XdpXKnq&#pMR0zPvq?I>mj^G$^m@$gX>$FiyWxoDBrH;*a+U +x3j>05?pkO#&IICUq#aIxec=x$L+OG3T?`YVdYk-9m!}bc8eA6lv2kGqk93h ++yCM~i`gY47n{rT_`9y2sqHfrle)%sDdbZy29BRC(zw>T7l&_5a)H?AdY$WrMuw} +S`ytXb`bZb7LhY7C1GLL2Z%b_UHwj>Kmz!-qd*ueedrWpnZOvai!{Z}@?5Q{{Z3Z2Zul`!_sXkYiiN=puT9?>$OIOBCRTE4B#B*I_-xM=oc(Z?#>!;Z+=Xn3;i1}`s +m(P*;lPumSizu7Git)kvAL7QEbGrX8W79J@az`w4WTO1<6aulvJw36=Q2kUK(wDSRq@(swFOZa%(qNv +*}oYYF62#o^fa#n3FtXWp4NUgNeunG%`mOBA%LVV_tf}YKhFZ+vo0 +bk>QSY(_$-3L-n54t$tTrt{a!vRe1i704lh}w&+bi8B+LSr$1hBr%8dWaKohSGT3rPZC2y!?U3+X*x* +1)nhtq|Y0)FrTLo7vS6+j2ADnr?8r@UB4wC+Qs-G&k0hlk9L_tZ%FO&=Z#6S~0^JP?sN$KWX8AgY1)R +ILHV2-{Eo}PWTnwP{YyLlh4jaAVcMs>t?$eem)vGaB};6S1h+yp3|Qr8mn$>I0(3yEw#Ww5laf#M9k= +!aE5;>+G^%iC@NpT)GfpCkXVz9SQC6P11V5sl7ZmdU<|)*>q$FXSE~*FMMrksysv=O(7!Fv!I%M{HpK +Ei+Lj-IY#Ba4K3PBQuub|RVzX#)AqN*cQYNbNxo}-UV`i*^N5ta6$Fis|>i5;UsZnewmZZ*GH%o@Bce +`V&5RTz#@y{N9RtJa7TdVyJCwziB>T`fGUE11Myr9DB +6jmV&)_Xj;Eiasz)JY(6$~(iQ&s0{8KhF~F^)6IB=lLS7O8IuH1noa$#yy#O*ukZeaFrTn=8 +saOZ`ZH*+aet}Cxy}C6Mh}!k{s@|f{0w&ii6|fLU^p$Y&(GlJrFAN})x@63j1|sEHpQ;Rt8(AzEJ=`D +erQbPslj0V;E7UzE$h)cpVhD0n$q0ff2tcu!pbP_}4oY2&O=FG%94}^aCoI+ClM)_mk!#RLx)4UM8ci +FnR8&|xMKyxq>%01?6g*WZcH^?c6?{?7%X(HG;voVyrQRs|{pBx{=P%#BLtuY;`ReJLzqvo(zW(;jvl +s5qXMcV1>|bAh`_4Uh{^GkAU%x(;zqRMXQ=wFc83~>XIGS)Pg-1Zt!|U=A$4QSKE}Q0hyF%Tw4DIDNA +oZgP_ten7mwF`ZL)6P@W8IHaSP%aUCVF`p{CTt5>@18D9~d&rP+o19OWO*d*gv21xwnu0y;_|{KzN!! +U|CvZf+vqU0%P!&_1hB^GCa}x092?eOe$?x%qB`b0gX_bhODcyH77#q9)lz(U!y&&C3>9c8a=93F1WJ4gT)SwKoVE^x8T^bs%8@xAx#321aTpChlFXl?VFT{P`R=&FleSy}%cYFlOklLk(I +HQWWUOpAzLBtqZyn0$mZmN@uodK=ejXy6Jwh^~cUvqYl*^Od0-ud+tLZxAYR&B3b6hy +sYPX1h_Co_;Jc`$@cTB?v;VJ2F82ufem-u|~!XW>=+Mq=jVpmPqP7tvi>ya%Kb9fgUZ_IPL%%46Uh|o)lYh!8aiS*T9B(*5L@8)$+->>(FQ#5=X=o9YYg3>$4_>@h^v?-*Vdb(hBb7-V|dG3>;|;M-EyzrQ}%~Ahs1NR3p%>I*7-DHzdohA+*syo +|H{+D*LZN>B=8s%hUHGTX5sdo3gD38+LpsfY~G-I9rqjnl2Aj^>JCfFKcp>VD+-&v?jnH0ykTgs=7V> ++vJ<4|MT@56#akxCI9)CftzM*yn(?Z(tW`i;vcBa=e>f3Eu167bb8awx62av8ToQDoifLWr!z +4W@|JOGBBYsPbrC7D2Mp~&#@f%Z(SVSlVLI*b;nOM2g@~_=C7|<(4L>uJM6Gr_NTV6mS3?H +Prq>kLZ<#U46y85u63xiWN!aL%ii?h25UY)@m$L3PiP(K_VF;s=8?eGQSe*monOY6vLMeaRS4NN2`>v +}fkCb5T~3O6ybfm~cc6gk3}QVboM)s)58skp{_yM +SVqL6v51%#b@@=_(Ux6qk?}Ty4>6<|S209U!hMW~&Luxb%JCl}IMN6x$zB(in7V}dAoA|_ylbP3gLu< +m{=I%@BG5IxgIyfa|{YEA+Ks|E+G~I8!6Xt`n7^Galgr~HbIoy^Y*9}$pA>|5cct;^xQDb5P0&FSPv# +X)FQG{llp9iPSZMi;uHh7W^R;wA_y!2!O+mB9g?Ulay1&tyK1)XphoFPB4I{Yr9jOeWp+4SkL7-44tc +h&NG{M*0%TlS1?2Fo2o6Pn+mMH)D;>2$9h2i*x#N~_qCQJ3YsWtV{~z{h^qG$V~+4Uj%D&wQjbTSDCnjiV8bY)P;mFZ42p|gkTHSWscgSYFQ4~y0*g~=A +Vv!$myTsVg6tQTfrmV`!zQSzK(z#(E*CoR0kG8lV&YB;3>85P%f^ym;e2te^#I-XI?tqLfNbN)Z61=b +24JA;I)GAum5-;iWz39HtTJPn_E_)-LJxfk9RDdZ|Tg9k!+j*xmf0&ioBweA1dm|q8ifxwlHq%>cb9b +LD`110LG$o!aQQ%+QGj6Qhh@i>CFDv0Nz7MY$%(jn5UH +*i|>%Tkvq|Jpw^G>@@$64^;vji*{-rO*I|4fG==-?~p;qjyV^Fze$A9`6H3*`^JP=0@yW}5672sa8n< +tq}YWt-4Dk$j$HD^k~&_|lPp^4^xA|Ue%}4?^HEZ7 +(iy&RKaSo2ZQ${Zb0aDVx`}Wu%|-`qO}w^ZeL +h(paK3WtC;eqW{EctFMZdy!*o^9Or5Uosm#q!b +MLo*zJO$2`~vrJep2%7=)zN8ph%WGP^3!6c5)M1v%VQ8z2vPum*1aBT4?CyFnE%|}Mf!KS7FzW}1Q9=u@oYOd-0|TX-mur%*nKqVF15Q*NrVl8LIJOcvIJj +GJx?_i_*3?xy(lBgf;hb~0ZI>*JrF-`pr{Q+{}dYRF=2qEga5gs#lVh_8m(v&g}&jhh()4aB_q&3c*I +DE72=Njm(X62wC`h$5Pr)sA!-$cS|Yqz}%X +oby^qUwycVsOY=&L_hLQe2S~WG#z93u9iXt!BZWRLJTfFB+T2EL%^_ +cWaCswvt|v5uxhwtF+90zXE#>&)g2KGm?X#<&_BJzJ{+K8d0W8c!nR}XHk@3E-bScWVHZm|4lC&0`M~ +1O@SQ5@%UOXM^66B!112>qLcx;MsOYy3#H=AQS9oP?Q_o5_fnYT10u{jaoPp{Fc}||-p5gKv{$i=qB0oYj19~y$jmf6QalPj-5|mrJ{(ChNR#O{L*AiTgS5)9i7bXofyPK*(2)U1g}J+MI|R(V +aUYWm9egF%yp2VA3x9Gj}dC_SzD!JBkvvO_8SiA&xqGW*g4rj5SJ|tM{}QH!ztF!$7uJ>A@l{8*{}&W +nox^ajVgl%PcQv-QJh@uRV!XjA +=5wcZAFu7HQ0Om0MgO%B}%DwQf`n%teDbEa`;&9eHeci_owDJBGqkcxC?@RVZnEkd+P{KxkGWFK#Gh; +AXEc9iu@sC#A{F={|{FSx||OmyI#Avk~TmLFUe|f*I)>#a%qEJ^rtA8Qh| +>$NB`l)$RQkNPZ2_+x#k)f=F_+rp%a1`;$LqK>PyJ0~HU;@Y5gbiQRjZ$}eT80?P>3R{GXjCp#e$saW +;aAy+RgEtvsvJS;%pV4K7k7y{xn&JeCj6C)@B}u +0#asXAmH3n847ODoiot@!8&Xb;!_<TYQZ~WE&ysCaNLGj5$5KEDIc&h<$801JP +RH;@-{nRwx`3A3qvCr^&FW4X|tJCCPN_eydlALd~mj{-JL$h``-zEf)l_jVnhJqEAyY+t;dhon7pVG5 +tJN9VB0oiAu!zpcvhm7dtp(|VAy8RhCJ_(neW?zJQ*See3TpM!f|*+;QLUUv2h?75*!!eayQUENhpH$ +#vutIVN+Hf7kyhVQ9C}>EyE3*222R`NJAQvoa9wh8X;g~@_(02XmGgQY>ABr`ug(&epPRPI}pY8uD=q>!(#kJ8q9DkKt(!gi5;~s +fgBZqZW!H&so-=wrw2L^Nff!9vXWieu|FE^y7O95$uB2YOA<1P@Nbzywg4}^n%2puPNd22Nxs^dl-OK +|a%ZU%AWy(d-_3%BOKJH$|yeWIbNaQ>K2BSnRa{yE85{_}L|# +tv$!c2TfSUm>}6(9A@EmX*v$(&><#O{l2+YB1CpxEBTQ%a8}efjSEu2qVmsZExMt~c5q+fjAhka9P4y +yJwR~r*G5&ul9!?H--bjsz$+rSV-|qWx*kV@y8L=(KmE`n?KE-w9Hc0Ix5Plv5@=Rl)<6MdVnAUAUL% +cruttemBN5<|RM~^}0CC1|3mMtfmRq@Ge14#^FMuY^h0`Eu_fcLTyJbl3Bxi|%wy`%RpF;`ZQtJ&}(e +#26g_f+3)4Qn+74rV_Q3V(q5-hKwy=H#^h-e`$2|_{B+f2ruaOL)ctqYdKkz7 +v>0a;raxI0C^trtypc><u>d^_iZc``D;( +k@?uJm}}U;-Jb?{LK`u(&qilYo*X|uk3co#UWsOTGHNEQEBy?xd;C>+H(ivZxiIZEjpn>5BSRW +$=mkYivI$U7it|L-({%C;Tt7&Nnng%S8XbK|@xoy1YV)N51z5D$E{S8~NK=GM**S{~G*`H62zk7w6i0 +tzlNaYgcqtbgjKqu?Fl-s3cgz>aiuxQ9C{bM?<=b2xleb42gy&_|tcH&|GCDS7>ltrYN+x>AJj +rY~gQ>C){Tyf%Vy+#|Jw+rR^DjH8iBcyRoPp@4*K{ICEDch0Ux-L)rI+-pimxsQ$rC00D4r5R$>5G7n +l>joDV+UHvFd=huM)0jOt`kgND(JlW;!=dPXyhqvbxE)#74jGUxItDmHk18CxJoCGWY3FJ^Btfvi*>c +FiEI4?UlX@PN&Wc2Oer9o9~-yeg`kKXSc24rn`)^Z`);j63>#~_l9cT55Zh|0Z-15vg)z2;k(JtNim&FL_uGh>;>_s<`S~&I|0aQn|YAKayr&x1rU0r*i!Ug7rHwpT9nCS +V#Gt;G;B7We~gClP}|0-)OlW$NhdBH*~6aev*-wc8N2J +|{yWPEu4othi2rkejdrf%jP!DV(djv1#`;-@Rd7MA}j2T2u){DP!JTni`A`?TM4sa(fAMBBUlPr1Pr@ +kexC4hEICsbQi&X5*c2dWfJ5M836IZ9n;FxcV@)x7as}?_~f*xPo8vH0|#R)$+pl*Axe0Vo+5!av|IY +0SL<#R`Y1w0}aNxsnIPMrUyaeLAli5UQf#CpyXC$nU8&p%w2RiXlsLQwOc|X +;Hh~r}Y_JR(jjqh^R1sMyi(RI*fhuo`oLp-$dw?0MVJ`Yl{D$*nD9k2tZLnY*zX?*&z*K!1-&RI+CdK +4?ES6{i#C4PBE4vB!e+f4%(E>_}!l@OIQs#E<%4yzbg!dbOSKv->oN<-IGtJ*@+8X +Q;V6Bi4OxIn0L~vMK+inh?qJ7n>EY1Phl*HV+4)Z@J~sO+f9(~nfBjljs(;^w`Tw*Ec@V6!(^WwZ?-^ +Bo@B#mux3*UcgvczqSjsAMr?yaJx@&46qqD|UYB%$5mU#2!i{%#(*(;sr;e{WBT>7hk69AA3HB +{XxGZ(Ay5*`|=8%^s-WDA@XRCFPJXFLf$qEqF}H_o%VSgx*$i*iFEGGJ>T?7WqPRl)SReQCXxFKW!U!96LXXMp>;$whU@zN)PCj3(hXPXN}95}vhI6Ch(?>G#5ICL=C{o7B@_?wd +P!|+q1E_87&juM_By?&qW6)UU&HQ=+?ap-Yi9d6P*kV{c!k)*m(@Q5UTuu6XbFPWz +J_>Rxri5v6ZKEoh^;Zq(Q6x-3`OWwTG{M@8FpV$plM?8R2M*@?J*{0VRAWZ4c2qHk-r6g4$Q&ojIUNN +0uhq|nD0b$RwCwX2bY7tKDVOElLWel?s?_PCr+PFTzb4(?7hpJnz1K#VbU6S +1E#U;xapF!^LDu)elv=A_>u_ox?Gm;i#lG+Vr}h2v*nij3)E$q{GW+=Q9lOXV`M2uVev_$xhVstPfE(D8iGLG6VZ`yPgk6?W_+V7v#CuGa|lzLV_j!x +qy?XCLkALX^2WdvZSR_>FK)pmAUtkY`;$ZnOZ(y$$oChQk9KoLo;XCN^}(IoDwSNo(|>G4aj2iI=}ARtblJCNLz^MNr-p6l77w$-^lc+nS%8=gA&l +5wCfY3J3~9?1VpN#U<(-Has}CDTi)ec0lgw8NbyJqXa0hzhtbkM8p0TAy +8F(Z$M`0u#98!9;(t#F_M(maqZZ6FLnChz89&PaHRP;?iLq8pHHk|%c1gBx%sCvqmkm#F9&nnPf&V0b +eL9jZHl|AGI2_y}`N0M6aeNWMFB_Wl^^=fglPTuBmQ0&J%XVHGTuA*ROoY$?utKJ?Iygzox8-Yv*@aV_re826RmD^-)1K#7I^<{;>U)Il}wh&pykhTh&+LVDi*!&-Ss#0S~uI70 +n9S@BCq$|&83rwClzE&T|m(Vg6heTc6apuXe>h{th$JB_jU4L?DoJ=fR6bIP3y3A9HeW7ad&VYhKI)0 +AjXm=TCRqRo%u-KKB3A?HLZ@d4f>Ki_;422Hp-i@KdKeKPk05T#9Sxi;5SZ&2+Y*!TrO;7Io>qKsJv@ +8p?NuoFPd6##$5X?I?7^7LG;+g8k-at8Mfv#x~^KZi2;+hrHw3DOW{e5GbzTntyT`-f*1ur3fOJYd)O +epC1%yeF-ZccilTVT)fq=xy6VX+;@H9G1Z>zLLcwWwQM?uq#}K#;+IPK}I2=H~TeLLljYP5R8r({<1K +z``h`GQ>DnjOdTqePcfl<#segQMmv9q1a^rfS+g+Iw(7cH*c1dD%A9NJ0puvj*T_@;l>Lpo&w-Ct=#l@pn$vtgp|;Z +b5qLHxm`XmPYokaH->@+hT}2Qjxp-v%HMZnLkb}{#c+QCnhPe3kII;sxyb`HS7n>VmlA_=W&^61M7<& +Bm$DEdfH3TgtJ#W0Uf|#H}g&8Nsx3MQb%jMplq!^@p+_$%`YsZ=Pt$`%d6gOrAm-^qS*3`cgtz8 +^~0o(Dzm0Mr@SkA*4pm1Oh7CKs}d$LLm{s>7tT}u@4fdd&WViCySSIbPfG+bGF6-sxYAeli{&ae>L&H +2~xek(ozL-5@+jYloQL3mqxRv85Me#~X?-#lXCtOvGW>*xwt +ho)H&N)rSdqvf8YSpoWPsuyKqv|eiDN}f&{)c7@PZy*O{d>GVJS<{8e6y`L)lC^!Ta?1H&f_Z6g5gAe +G;t(v0qUX_4N^3EyWugE9E0Z1GU+=MRlRG0a|9C~8p-JyXu4dYN_i79s$X@LiKQRPuiGkjQ`z^Vek!3Iv-BrEcB%@6@1JktbC#6gQ(P?#k0xI_5 +KHnj;}X9IVltlHpqau^^eK)bSDp0QWv=){}sRxK9q%D8(tk{bM2_O_1|F-Qg(Tlfkt&3+u0*LQjs?+F +RCrw$@)ep=hkprE7*}l$hO#y0pf>daifpI`;CFg88*`PG@9Jiq!XA07;ho+o!)jgYtjU8p!B>>k423= +HI#k-5JKo;r|h{#gYD|*=kbaUp-w)>ky}#PMmfhi||_yxDNT_j<})obQ>i&>%UZ7otCd{V5TwLMfp8I +<(t-C;fUA6)~8v%w1Av*XhS +C%n~d&XA*HYZp{Y!kA9SbCB7-ID>5Y2a;`6W@aq@`P3!IHR_>!pU%yzJM;sO&fzdIDHVx4!kvFI0v2`C@huDFEc+ffhz3NcMD`y35)m!AhLh3en2TKgL8rY!7-cgro2lyp1y2da2tw_KYaAWy6V#;fM@ +bse*c93B`#$H+=h_sucqLopG39_fpEc0Ob2H2atyu#e+(Y6Iq(Et@sy2hZ(Ne8y;z8Xb>wbkvae*pN}P}D* +kcJ?CoV)qcud!cJRf~$Wg^yh4proVMX@!9&fSP=GR;e3Sv{N=`LjmTJC^K$y?~*Ny`9Bo7%w*CQGMl^=xp9!IA61d8 +E=i!c>Rf!@CC4HLS`tWr-Ird^y)kN&|#rWn&r89@)+a6sPwtZ&o(YmLmpXbjV!Lt$v~5g}8v2d9{h*@ +KNKWQ?S}tQZu1Sc8_kb*eo4-L|w+l9PO;|+^!q7`@b*-b(6oHy!`(4yT4|%=HcVNyg3aQ>88ExI3Cfq +d_uXQ?8GQ*?L(TL1YT^HxQ3d3iSRHx?1Cb{sl;=irYb4&=GimYETsPE#f!)zxR(Is&=C^^F-)|f$ER6 +~u_YkH99)uX8|A2c?L?x7jIwNNo8vD-Sl}`GZmhrO$3}R8Yh)wo2!s_v1YO#rjowwuLAX@i_6pdS5*2=0dcv^)^QJDpj0;@i(}6!9oNBY)ZLXZ3X|d#cRshYLz*)O +A;L;PtDo|0V@)B`^!)Crws8t9eDu?^;u9aTgp1v||szSFhi34@gmK*T&eFGz3`rIWe4jWsmi@bqlM>e +ARt)h;N#8vEGdWUJb#BXig&lWgQvIrsC +(|EcDY%9H1^s{)rD5#lJPXRE9;9=vt)}sV{mG%hr<*&(>i&yc=#1D+sdDNJ+EFK9Akb+_7p)JA +o@WVFr5m=?{2G>{KgFHH7}Q?6afrbua^CXk)$$Vay1Svx5c^uk)#ZRUHUq6LH%;^vfHb~v;{pHbRNEH +HsuqZjtG=SyAiXloN1XC*O|23sTaKgmOU{?i|zq(lXIhRZUfjY*Or`FM~$8t_EbCZK6YLNNLf+8!{fw +yknT0l>NA;oH0`nMlNab^9wECBizHoJlNUJ1<-IdUreCng>15&V_vegD;m$guEQ2L)ICpw9eu*!|rFE +P!7g6xl&WXm9qDB+oU>X#2>k699qx_+ZZOsc9YTGDdHXsOHiZjgq4d^!$0jKe~WgRfjjz`*nTlLpUh* +yO_y#D;TS%I9o++yNkI`0|sM9Wh1KXtuOtmkx?mWD_2Wkd_AjSUDPgQ?`u;u)jOAr3t0z^+y+=(Wvp6ry)T69YV^+9(6lv3#iIl}QyqcDJyY@-y~?rb(< +Xstw&65|YGNrb&PT9||&G5DbhBSZ_Ij09KNq>?bwcr67Sm%zeRKz9vPEpKG2w!QsL2Ah}NKGKaf#I5_ +*?Pmlk-IR5F;@qf?HKOKzmgRsao%}+g&<=+Su?mty^N#&OTkU-UR1T%(L=J6Kn2^Gm`=9h +P6(a_`j0lFuBq>Xa4!Uk?WY(VKR`Y-;s0T=hfIW-hkb6ket_5<5QZDe6ndsajoAUm+h=rG10s6s{(rv +FMzirg-Zd$Oiqk+4Gs&Ac|tmait%W|0kuQ4&PC_sJA9A9%=nJ2!KW`yvo9X~A)uBF;7je)CVC<;mFvp +|k@=+AdHb&ing;JkO^BujI0<-Gr0#}i2^iuK?UGa)$WE!yc?WWJ-{S1(%hHQF+gAK`2CE(B)PVj6D6(#s`! +-2>I5C7uLf`Xm;%zfa8%L7&&^!etH18V;cn|h^9Z!5%`cUv!z~HIG2A#^3Gt*BZ-$$9`MxTVM^)*>1?q@H|iW-2^FB=!8gLa>Lld0=xoI +t^_zdI0S4k7>z>vW}ny5owdJ%c&CMwdNCu5zwGHY@b$TGr&W{xX}2lcm#>GKgW$f!%lC}Kd)$27I!_Z=hnuF>?e)_l1lHJnhULO=&M{TQoUe201unF7E;`k4Pj#2d6y2AI*sg=KTKg +?ns>q}1l#4%hX&We;9cqyTB3<+?x*hSxO*3A}VFOZ@eyaQRYti_;7z2PF6oKNm%w<<$p6TAb?r)c5jr +zhC}2l4YSq9I_L+Y@*&P*)OG(1vSED@1`rNsO2vBhl_X78GV++T{U8#b++*y?U=x?mzh0bM7W%``pu& +yV%(1+t+zS0q%C>yVo@BC%<~4VZYt;d{5HTGnmfAqi@el^}SA6%dnUuYOYpT^UUx9)BwoAfPZTr4zf? +}XGy{oQeA2s*^`-tiZVqeRE%%A|DPGi@7BLiCoXNRW1I?XW0wP(b`6sWH?A-#&M2DrgyfKutb3GXR$k +WmVf{mmJPiD|7mEMOe%JSv5h(h$Tt?x(bX$1l`Koi@vqH3+rVN@o;fF2b5Fyr9kKsY^l^%q +LgYIpF?f1Hm^$d8A=a|n}@6GOK)|`uQoT!BbZDzJJyHC>~`!WgRj2&iu_k7fhZPou0FsT0LfpMGkk8&uQnxD7vfS&IP8=wf) +$EU+xKfsG-Xu{eOn!WHXJOP=HW%L&Nm-65mZzM4SB@=MVNxgLCN!n9|?$RgLK!XQ={5-@tZqv(}lsp| +Nb+_ioGm8t`E`m>7U|U#{x`St_n&U!dh4m|BLGKYID3rm${bWx~=t4hp`^~@I!jh-mQW5Q#R7!O+(@8 +GgL#7@oiZInO*Wcw`WVtzfY(PRRGlyum}Y>$a-eMzahwj1jqebfU@--m9O!7!lR8P>@HG4N0nC77a{<5N^U!o?`0*9Xb^CI2g)6);vIRzA%}{N117*Eq`kb$<0&>tGefT?y`s(Bq0jX$$0)L7P4i?i`g_ +K0&){@nvt7Z&76T?x!*|TT3u~@}(U&SY&%KBn( +FXBuN1O#1h3_nEGJ`XcZnCX=&m{@=$bcp3grIo|k(pKdV%E``oC)waF4gJrs^Iy{&)WPvH^s%(h9SDt +kL$tBr!tu(R8RauqV<)Shmes}NrogOLCA!73CWmM_@pX|IAVu>%@NqWd{NvGS$o&GC%K$6a-uF6?O4O +W)4p?V`*M_E{1B`Y)% +JA(_80^lESX=*f3H^G6m_-0MMzZx_^Ddq0iy=l#kN{%5iYl4NwlSwL)zCpnvOqVtFSCuTisO4Vy)^8= +w4Kv&b!flO{z{TZNt_zbCFT0ISjDcpcg(&@g?2|%wSl*XDWo8ij@gO){G(;ko#Xqgb=;Qlv%-93RqPp +3ai};eO8r~PRk|KQet#-7%U!E<)+*0Cwv@TqL|S)snShXCJud=9s+5Q38jk@Q;*0kQX&H;hMk7p+tZR +027!N39ix3UJzW;R*@lwsYB^0L4Or&_QN&^EH|0%(L5Ts@+CSo27Sdjq*P(J7`s3(h3`>dX%aa=_A=G +eSn<0U92jd2lLD|a!N8cNX;(kYxOhqUJjF?r~Uszn4T2U*@$DL>~Iucn=>Tf_~@4?icklxHQb3dbU8Q=&heaPy@&e8nEU9~7P7;UwwBE8=dWDknG~8Jb +Ox+pePz&B9@pN>5!NUykUUCQa53+@>n+SZu&Vyjf=iT&=bQMnb#JC_W+6YsR +yq9kvNYNo5qTfGb1!n7l$0LlKM^{xnYwh+TV2Y14=dLRapP=q0VFL<49HgDaf(efmYbMe!`I<9d2wAg +ut1Xi&ljO|cTJC&rgNyBgr-g3*=4`3#rfcjo!m!Z&v~6K|)7D~%u_c|2E+yV=pR|&v-Nb1-P*lbg^?=BZsi378Xk?0cFYEwGtunKg!E6cE(EB%IOxeX{GrNugT*m0j4)j}892AXD;*5i!_~zUX-1s&Pu5+Ie(b0SFZ$^)7T$)`$;ILTZ +!0q|`xs!)vQb2Z-j4J<>dXGO0QBz!rv3DGUVt3AqyNrLa2oX?yo!V4AAXt*ACdFI@nefGkN^809>FPHU}UHAOmnNN!jA +#e4VoVD_x$D>{~0>Son>=hjA>ei%667AI&p^bT3m5B=`!+yq)>i{Q}J5d2%4QKfJBa2G?_T8?TjzU`n +%xfZgKzOlN@rb_vui9LbkV#o)7lD#hH=BRm{uU}E?9)0X;>~R(7 +arda^D3-1Az4|`4y!UkJ1zM&z?z#S>`=M?%U&EJxSw_O(Wlj9!SecJ}W3#_js|c%6bkQT$tS%e-y3vW +%o)G2r(`=OcHUla*Fu`K3QGI8())C3w*kdP3lNr8?GaG1l2cw^EIQ8Ah8F}t>Gj3}4==q4x9&68oT(4ArB4DcBtCKsZs{6`YOw2Yrvq@C5n3|YA7O`8dOduS +}N%&n9mlHGakqG9T*qQZDRv&X>!P$8@T*Ipk2Q>-JlVx?$l1C7_x`utTqfnA8cYV(jF3jP0a!TSj@5V +|<3`Hak5R#dho(Pzvydba4p(Q3XTD!gw89qjEXVX_P{fV4-LXM=KhgB$bnFG#QPGWa)I2GlI_3DXL0Q +#fW>vgJDmcT+%aw2L7wJbw>@*zo+Wm2EgcNK-E_FoL}@{F6FYf&x+-U}Olx+ZD;>H3lP^oD3mJpo&?8 +jjAp2;z1Qn!>-S9mdBVIlQ&Gqgm`o;(+Y_fy|AaWnd +nCg;hJllQ(x&9-9emctDF!BPmRr}%?V>QV?rsw@JM`;%!r!UUkZz!x9<-Rv;q805MC7Xfu(<}Y;eRc( +xI;Kur@U>abizOB)I{jDn6=9DGUXpJy_U?(1)0~gaN!aJ%L!8^gP4iH}9F9!rxUWE|!CHQ9M(v3ji+5xUdv%IS`nyk8L!8$ +!4{`qiXuAU<5zij###yqN3Zqa#)e=BPaQl=|Rb%bgVLdDZwGm5p?`Rhcs6hlW`u9;s?_@3z8crL1QSM +gW{hnCY0A@%H3UOuUCFCdy!GhkxRONqKI8YZoY}+8ydw-Q)xE!fbBpdr^WZ6l-;mbnl<#|15@cMC~V; +`Fet>JJ7e~|NVdd?|~UWr@_VGhY#iAhYuI{|M{Rd440xoqOVQNUASP9asTjVxAeb+`L9@=j}Eic9fj| +G`|i)je+V_$?5x|9b3JI;Ne$YAmH)7)S)r7tFgHiFBKMmFt#pKo^zWCKHo;gAi9E`lqt|P*qEr!ROf@ +f!zn&qP?A!JVJr~gWgbn<n`Gx7 +DSnPwLXvwmosZ`J-~;Po7!DZ)^1VE9ddDN2@8sH@TX}??H@T?eM?lW=476?_4Q`8L5TcW8+gf+Bf|ig +BZOr$b(JHTCi^KrDJw3x_&}0u0Yn0eMEf%1n+6=W^Or)J5B<^WIkcvu$5^ERT%X??n*M_iTrL!CZ%L$s!OqH2yli)M1DuElFpk0Pi*Zc=kKsjkR_tzlFact`1d)bJL~sS5TM^u +lK~e7s7Ec91_T=YZG?A0zHu;sC2C<#vEb+DV9Ffd^(?qi=dq+e?iOEw}>y@)R7jNk_=-8zX#y?QZVFa +c0f0|0?@TH-IY!^K6> +T!lUYHGA#9oDG>G1Y;(RU<#ziT>$3tdRxc+Z2}_6Icq7(|{xlb*y)DAMsC>qZP>1J*1~WA-r@H61G#k=$U7`g7w#q +IS&zfP&9&jn)(ZkQ^nS-)-F4XGmo*?}Ya6sqXalUnF1dbo +WH=kcT*6-psA3ww-gal;i^S6x-ZS9Z$0b}%V?i#70Q-po70moV%Pm48%oEBIsy@BIUQ^94grVIRLf;! +72I&w;$jAbLnE9%aW`VBeBV>HylF^JxRcdD)i{89? +EIDE_WwpW$<|6ujL6EaswKnl^yQQo!r5nQD~@RmOE7{9dP8qTvB58xtUvTO>bSi{FRfSz3m4%n6eVU`M{4hC*Kl1Wb-$MQuxTT@X0>4Dt7 +(L)p{RV#6@q`juqlW&536_$C)xn^uk48ruz8eC3%v!==|(w${tNC&ehxU!j9Gx|okW?mvU^rH5XKXQ; +xQ^ov+jaPCICw?(|D3DHObkG@h2Z~28bjQDg*&r~cz&cM>M5BAnT?eE*lzyX~NBocBrT8@8r=##TcA0 +(cr&58!pHm9aaNDil603$99(?0+Pt$%gHxBQLdN;f&RzrI0n7VNWY@KcZn?w+*jO#<*%#KI}}t1o^(-hgky;=YBf>UA^n!Wc=h +_-^OtYP1crY;efI3dTld$i*DqeZi=C6z?qtF;DXf4(>Mu%Bnax?3a9ixMCsDSTwTps=3-0h1gP&oQ4k +dLo8XZ6TZ@!LIH^YlgFJUq4$T&(gd+3TqILTQM+e1831a6)Yw#s`9oQV;NX7ng_3#9mBuLptFUuNxfw +F>7HRV(ZUO|M3U9jZ#tUP)C;=31LzdoHjfBE*^*il5> +sTzGADe#&tZwYe1oGDgm;1#5XtmLqtJbPd_w=^acOAX@hWy}^UHDn4|^ASi(UB_@R`VYcM3zZ!Ng_Hi_>fSagMVlz<41t_8GSY2NNv}OMCX7w`Evxuw&ADNUv$#e|^JW +hWmcmtv?^M~*dyei1EpD +4>Utxf)cwfb1zrb3pLbA&suFS`iDJWbC`GqLR3A+uBG%2CHBi1)Q=81i)!M6Iz4=7@gjebUa+c7+imK +VVQJCCFB$F!yakgenNm}v#eY3tU*5samV2{4|>=E53M_)YtJe^*pH^xCa&26Wyp~%%Hr)vtv0?=YJ98 +~qfCX~T^nq>K}YB#lgNu*7!MoJi6EY*}i%j$9@Vih%oZI?3%l-Bbe;S|n?M_YOv%V)68Fui<0Nf``i4 +|Spe6&8-kogr(T*yS#&bmBCeOMPA5x*!BLOqgSV#);IDkK#}7z)o#>?(T`IRhO7ybfCthAsWS0-n~D2 +LYKZkOo_@JTJ9Q)DnS@-M?C|w<4*l^VSmL*hxvhlX*ytjw8I`dMgXt=yqE#Y1ifLh29Z32b3%Q%4hz;U!|3C?8GRo20_nf?45ITXS&a33s=@Wcc9mEhYp&txL^T_&B(YkT@3DmZa(67p +XP%IyRmAYab<)p$$OmtP3M$UtH8(3 +v;SFc2ZjW`@bP3p==F`SXNF8Y;J8s8!do@{dD?SB4X?+Z%yD{fU3wyvWF?Q +;1WFgQ>O>{}Ie0*m_d8hS+%;-90UP=MmETn%bI4-YZQgaScahR=0{74cTvHSmY*>~BVB6E0%4WT#xlo +Chp>#VHvlv)$!wMM~6}8Pdp^7<(E#Av4;#xV$Nzz{FlBI$3RE4AvRja#@Jb^YiY#Z#>ZanVxOw&zNh2QMhDb8 +>DD?c6RCTL$b5WqX@I|>Hl&Exo=#7iVo?J*Y(JS8soR$DOYD>IL*>-nrfo1~pRf>#K6u7hm@Trw`U4vFk)(Npe6Lg<9 +F;n24aWx#FF4#|QmY0}!Xl!K#G&JH%5wh5+!#_R?iB{+zzlj?2+0Y#r{_*sGAR2si_P>wMKOLFVa*VIwYU#eAx2qk#r+~tA3kL&f>s +R@wk?Y|f529b?9~jtJj&J_mi#LCI{q{xnANa@1zr1?==Ebw8Z(ocLbcQZ;5A|)Qfc_hYo3Gixv@XTWj +2H;yqL^dK(+ZVf%!-g*jk$+?@q1QHDmqg6SG3_;0ZEVv(TI0$Xkgq`7w1rFx2xJ8zc~y> +5yf%~-3T0pZE&5uH-ClAXi8{8ptRTYSJVSf)ivQiqc#!&%Km?TJpuo_K3oV2v#g$IPE|LLacAUV@*_9 +i`0QiN;wM<#)zL)XwhMx1kb;q&ebSx}U`&Itg%eL%nSVP~#JXO8wL_1s;za$)dW3UtrN~b@oj4|h0I` +_7q{rEVVton3^1*}aTl}q88BE`J$=jvE@?#jIFjG4}jcU_VM2nGFMnRRQpkMr#M-Z;yp0Y~>__SEVhH +gr}$tmSK>P6;KNU5CXz{a8$CD(CL_QfusTn8js`^)7nuFix%r`MO7=)1kES`%S_uh{fiUv5FlDnOklq +FLq5Fy5yQ+Hhlr&3QaM_D5-Pj!DZjSS$4l`LhUGjF)1ekc@X@X{90d3wCK2T--{)Bag#DOe +9Tue}IOZ6N>pj0k3hHvZZy1A`i;3q>Vo~0d+T#c+EaELnOWe9YveYS^y$Wtl?PN4u&C`)@ca1u+T!yvK(GCLNyYsj~@SaJb&C00K=2}>W8!Z!4K!u;-3a8Dd9iK`Z0VVQvH~AJxlXbSmcL7rV30Ndbv! +HKM^^m0AuP8)eFF@@RXA*@EnEjg-EB_$?3dyw61TS +|KaV#Da0sjb-edEcW +FqDH2$p6}2BCaLJhp~+{-mHWw=|>@1cb#B%W97-xuVa?B?>f+RaFprG1QRNf6urK;3`MO~gyK&<*Me7 +SkZIC-S6k_v{u}jKuH0$E#m6R!6}A}+zFe`0R&g%yK5MKU{&SGCDrAZ6${e~?6^N1j7+{~t8`K$^G%( +J%QQf_VcoESKvMc-@q!?PGx~H>$ZM1<#;iGV8n`lMF@1K$o(9LIwLMMHUw5D?oHzwC_8iwi1V04Kcwx +~(5d!1}xsC^{FNv4987KoDsqx%+rP{Ur;+wvZ}ZEmR6QC{Q<*ijsI;;MCH#sSc9Q#nuT(wPD5a>}<)MA2w3%#A +t`^x;n=xP>AnC?+p}f#o{|_JrJkc76<@d22rF)%zF!0VLj~iE>SdviLW +2Q+75w4+9ho@ZKGgUkUD(rq{mXo;(Q6uSy>pIa1T-+7WYTg$k_wk +0)!28*%7n!NJlf*#X%VEkFb#~)al~gFz`F5;<@Ld4ujd~vev)21aXvIkT)8&Q8xb5?8Vpx>YKIkSb&a +?2;)3^kp12P@E!H!qRWgDcLDBeU3f>Mz<`(7&oz +8q?u09>Tt)1|ju(Ouq?WLZAV{s*_xzXM3+$3Z&j2X*;zgZgR@q>mfaS9=Ck{@4pj1Gl}vLM^nk(u4@| +WYUSCd+EHz0#<=sV%ecnve<##ZuB>1^kGSk)Ra#4OsT$ebySJ%z-YwPyDQ)XCByLsBRW(^jABUf(~hT +r$yrL9SYV^`x7ik0pyk7Djn&B6kB&K{1tK% +?G^QT-?Zw*E`>mOIZ0zNQ`sXKkE-A8aW@P9iDQIMJ>>JxkG8F@(K5*18rU>2jn;UxU%Fm{;GT4AOQ`= +7LB&{6Jqsw8$sAmSw9%kr|A?fORk^>@xG#^#y&nm+n2;?h7uU}zYtXIw}UqZk9^ZZ-z}et(?7QTF{67 +lD$@2Zkfvl(Vb4nh`1&nT$r?hxQj&LzGof7##fj-#_v!1)qy094@R7b&bY~jkUPABQwJz!WwS)4MjCn +Eo%kz3g^Xca|-3E*w}Gw2!cqBt;=JEDovc9L}{%=rQ?eJMzbOJZERb)=zS^)o4swk`Q^48ESK3OY7iu +)2H9E-99%{gNzJNiKA22G%dn_UV{Fp4QmG1)d$&;Xxg#HX3o=?h$LoJHv|1_r8T@RI<}casXMz69h@x +IDN*t6Z70|#YJ04!{HB3TwHz{f5+25Ki(KE^o+|1_y7)WSE@x*fqNaCotu$tLR&Z}0*FIgP_dEo8qeQ)6$#A;AKUR7Uni=6|S>qs?r5P3Q{{C +d7Xa>&bKg1a}w)j6!Vky@b1mdh93Ov5zpp+8-kzT^sKk0cmZ%La^+m8ZH|&=V6+v8R27ANAw|IIyMFTZ`)b|PUq;>#^)3M8z9kDK3f8(Y0wBFBt}ry-N@PnHeIlzpV0sbXgJF{V!3lpD?J2ne%x}mAm)?)kp +OdDMho+EHx<)t7qFS~S*Is_XHR&Gfip^KjddUBD4g~d}h!O{yU25<@Lr^xRvdCZKdzlPg+V>Q#V<=om~l`S(F8(DEVaVyj +N)}x+k=|m*pz1PPv~c=oJ0wiTl??T=+YOPTYjnA=qbEdFr0`+Yvg9)g`lzoKiPc)@zhCwJj&6iGCtjd +_iNZU4hyMW?MH`>t=f?$^1#T0zwh$ddN|5GU>YVQ^nxqC{PSSdWJzp)q5a_A@3S+V>;9XUnWVEjm+{_ +&PL=jHD+agnIrmQ)R*K&^n3-(ppy&q$S)4&9zrFGlru=q#gAN2`GxkKOvt!o7@}k9B9Tnh_ +Sl9^wl(j4I3n4xcjT)DjXlTl=izwWN^5)wbd{djEs?8NkgdVt&28{4mH<`T+e;=Ct@)q2iZj#aHaZ|A +{~z5f2*AYJA`*#<8y*{bcG-uciyWm?oJbgT60~yF#APdk%+fi#*P6I$LLfRG>%V;50=z5?u&)cZo6I_ +1{_|w!%y0gxmtTrtm_n{vQRgsq9+oibLDw*p?P0<22NqHjpM~L>%OH^uYIDy5sMvc*BP4W7x?ZvX1(I+IqlH`|n%9cf>3Y!P+ACve{!Y=&_Cf~*wTYViA9p+$98{)0a25FK&~rko1+iz9WO!BA)^sz +wUp#Cr9}Zax8>RrhNc{6M-2izuyp>CK>slHu8xx`1~%9XL`%P6s{+dcUiIH)Z$b;l-c+AnVb%o9)-Ub +9V3mTxhX2S9xniuKrt~$fi>xK24{r;3mBU9)$RQz_gIa-S#^^rfk&-(}yVWVq?v!obg?9a?(!#5?$;g +mlo*9LXCH~>yOMX$Zp}uD}a2VCgkcU^hjI<5nk<4=a +RYrAJ4M*{M$%&1u7?QylShYPZQMdP6*6|6H1ckzL7g)A9daav^WAdy6lj;~OkzV^VI5K5br&gq=}X!8bw7fOWgf{Jh3> +4f5#O}j@>LJ{ph}ZsW!Sbz<2Pa5pGUUT^II&9XmN`g+Y5uR>TW^zxlalSY4I|p8JisNEfxPgGRNco*b +^YB1|d+CCb?*52eXLi9hsw>=J90_4cMjEAX(6Qi{qHxf<39%_1p_3qq#_aGz+){&blS{n5IWAk|lk9i +#n_QUST$pKDk`i_u&?P`Ki(M(fHDlWn6)6+ApMZ`v0!%*Q^x>{p6D&)vBkxtw8A3t>!pSVTetf`U)+; +Di;ULO|cX`ufG&x9T9m6yX9ZXHgDC#A)YTj>8P7Z)(4WW<^H4M2Mi6u@r%vt)85x_a?DY0&>5yNPlPn +0ZC`qPWd)#>cujQ_|qTBrHeFTxT0IC+op~h)yY;N4t8|Q$|RKTeA4w-T4_; +&b_F}lH^yzLMVQw@cuTATHTyC{hdTCgH7CnKyCvVJ?p>9%%GAi!>7HOtUfd60Gcen4(j?QTC&8aC$t^sYtW=_W}d#i)M +Dx?gy&{p)bsBPnLU+=w8ZM!YCxA?H{G{b@cWC5%>gXm*q;|2F8wt^}Xk(a +7tO$;Cw74UT2CMsej9I06EaLVNt8h^czpc?Xf!K38CWk=%PysGJZYi-d>FbR&*U+IQAclx-kwT49ysm +aBkEV8e(Qc~Emb^Ntp2-dkwI(O5lmpmY}a_XwQ{s|UNR%A8|lPU$cKF6NnSfq_N?H8A?C9Z55@YPB=x1@8FS6?%FQv)W*mITJ%S +7Ozx)Xvq6MtaRN{>TcMu?54nU9COMZ<30gm@}5}^IMA-DHjitZJoq)W-z6Rr +*sKD&OQHwH=o7>S`i+)>@^CpoJ$?T4-BYGKFaFny{}m@l9G?9!9G_z{o8b@h`~l^`8J>-Q7@dy}d(XZG5+F<9)O+c?74wWl@ +GOq(r9I#4EULic8)u(V)zn7pcvP4EAh2kneA +piiuSX*%X6l<#NiO?eJ_lVIOS?ZE$NdDR@}z&H>E9L`NOeD)rAjjRUbymW7 +5g9twmgnPi2&4=qP&*_id&rth3`|7!5`Qn>>?Tdj&(zIEh=4ef#F?Af9fJ9SszCgk`>v@Yxf}pn^wah +#!oCOK8Ds#O0yrD?8b7HpgLB8x|*6naOcB==)88?SSZkPagln53#}}7}xP<=gF)`Ni8LP`KhFjF1pibY8%`CEK03-l2& +F66=OOSYK{s*Uj!78XHt~WX-FSwn1yYGMI;k;ujn~V>Q#Z8moo6}hAfoTp!A}C0oN`^5J<8Y^W+IAa! +D%zHlPE#PvnWBvp0p3i>>}MH5cb3d0n*(CwYeJLff>3P(XY`x*yn|uxSES8n>(iZx%1wlk|yX66 +0R2D4j|J8#XwjEO^yzuB?FNtst05G9G;FegpQ;NT0evvoc0Y1(cFJh)uJ!YHs>;Ts_a`%oI^rXna7s; +^S(O9;|E|LHt<~9xgtle6{=hF()7ZVt-vigLWvb#td%KT^y~#neAB740dbI|4-y4du=Hk^$sdB7X+DJE;h8)+mwc+YtR;h#-V~%J7 +I2_hZiD3z)tjj&FZ*&=rr}SBpLDX6He> +e6%v#4cle(4Iq6R^ZBY!+;*j%}?sL1BuAP4mi;ei^D8p;ry@kd;sVIb~(X7~VSnrPH= +0L?qMKrL)1;s>rrN(-@ECG~$EOjt|wyc-HEV8Y&SxEj1)yk23Dw-E#4?#-RjmeVA{J^R3!f%I%>{tW{ +hYnnqK~&kMq>e?n}0EIr1W21q3N& +ssT^LOIAyHf3~ymK0OR?2rVEW`<>C@)_PktH7bWxLe9;1*R35j*`*J>F`lfA9GA;P?4L^~Ce|a{TNSn +bqCEuXm`CZP%r@iPm#cdJy3SD(yO1$4DoTitifTu~;xxQaB>DSiF)^rg)SK+oPG<3hMWM2*VsppPINmvXTn#j8a7%ZAZzFsWI@N984{&nqNV; +C^*kIhOfQ@BT(mIh{OIBi$}92lVr3nemhW0Xh9TzV@rfs1m>zcrV{5B +v?-*n4djA4-o)z^_%X|23%-xe#wRvOoEp$H(%M*|;&3|vcqiZ9dTmVofjfl;p&bk?5S#b>d;&VS*`aR +EkdHnfn$;lr~APF~K1@!E3!icrF|6Iw5Pr!2R-WK~X#Jqw^YoCpPamc;^n$4(2k+@3LnYs>Eey2M3iE +i@;Q8WlxRq%@$B=7t*X|kBODPG}EBI3aj{~Bd&Jx*rw>Og6WxacFq!-6-!6qlKSrWML@1Zvz(#Zokp9 +@8FX#kj?j$u8|ohtn`3(bU_6MwQ57OVeW(w*+Fgp|Q9y3~o{MrOxa$YPQigj}jSS$!_y(8xPHbz!|W3 +m8oEG6Z-Q6ZoLPMt6AbsLUN$I45x|9&0&z6k+IaG7KoH8j+Ihif~dm)WZXx(xI<$~x74I$_Z$n$7{<6#1LCXS^$E+{?g6A#z2w&?}2qLAqd%2Nl2iC>wbdVOo(|&1qS`OQ%tJUx4`sc>#B4}cieMb|H;LlwmqHh9n{l6j4dR6*?wN{3}K7^F)wp@Oz%5a&+)5eFR*jHuYC?Y=^j3S*53hZsH2vuscC&}>r +C&3x;1#uytPovS$WO;u(2%d8j?bA!@S%b4dPf6u40>9kN5(eU-ou!M2{JMkd>{(F@>^yRpiz*_=~W#? +Ra!oadvNp|O8F@O`u6P2jDLHFkM_kC1CvG3k1^$$=>0|XQR000O8ldVxvLTM9AYz6=T`4RvCAOHXWaA +|NaUv_0~WN&gWaB^>Fa%FRKFJE72ZfSI1UoLQYwO3njn@ALX=T{sx55_5VlS+MAHQiE&#AqGJ0&Z1pB +}8Cs&lUqaGmhK#ckfSmgFdpfOPnD67TZ)%vI?NW_ +3<5T&V#`1jV>Hm3$U?OEf%Kn?X9N{n5{xBi@=Hspb8^Ul1LZg@(x`YEHD +n1S!2RS#qHXVXB&aO1gmFm-+DHq3krO_+fxg)x8Vuy3H8h33-mKKI?()y`?cp}i9%YOMx2A4&1psj(esDDF+Ib|7n%|jsG^b-zKX&P&60eB^vesVpEK~$UF5#Q +InNegqJPms!h_^hqVbZ%KSCjPC>b!!xFjwS6vBATI6_E8R`i6-v9{8sFw{9o=Lk@Qb5waX7#MJV{sZx +7!7D$NXUH@{Yh;UxE)L0DL`;N&<4Kc6eR#+dJuZ#~L!^f5LbgRIexR)7AW1pD_W$SSciIpy14j?POK)d&)p%PezQ#; +y}JZ>yw-4DwMkskb`S0FouDrqae$V{ND%i?zLdo?Js7&C@ks>ce(-EpXH^n@xjZ-dZ7HI7lc<$>r^)5 +5hqwWJVBsGH~*YXdT+(xFnLTa^Mr*hj_h-UE>Z(qk@w}@wcp0+GO;t&V@IJefBf0p*W?u0XRI5^DN=Egxc^V{_qOeLn|1byD<^yyLS(PXxS$?2s!{sM9yW@;R$~gv}D +|ZO8!k6)q?)3fKUt1SMs_klP0?5OYBo5QM26l%aQtm(9HDfxa-pes|^mfRz8-B +Tt!s!4=b5d7ja0l|%g)xeuE1Ncr73vfpV)iXTIV`%6Z)q6W*W_V}O1u|$+3+@MHzhiJiY3BY|jNLFoJ +4Y^*6T0dSx)~C5$QEb2Z{-SN9SD$>6ewcf?ux#a~Ld9`Wc9f(EZ2Lh>CFmRNa`T!}|%$FAzr|*4rp`Y3$-EIIEf5dtfs>lrIGV-s1F7`BZS7E}nk32lj +4^ILQhT~hURAUOF4f0sfFsoURIQ)=wjiJX3m*OjP)h>@6aWAK2mq6O>uL8Mc6yOMa^})pab4YUACUnc?y~jBINHhUIYCFmp5vp}HyuWByREqa +aR0c{W$Anq1Jp)h(0zV_?@-xe8Mo8~Ru?2O5W3!r!%QbeuUQKmpa(9Ujw~xiU$XAVn5albj;)JQt`$X +wYm-!bBCkqwR<2w^{*9BACyEA}<)3&w)m1!g45Lid{qIAGTd)1LNCkU +)MK4$v-_w8__?M&R`>_-?ul4tMG(*%T(=K9H1^3&*MH}*6M1Oc!r{_m^OTX&37$8*4fHw4T@t1FdLB? +LX6`FDtK~tvCDuL(ph$f$C!LIhK`E>9B>p@k@lr^naV}i?Qu7grMOxjb#>ucXYy;BU=4{oF2noC;sl2 +P@p;*>lc+1K|+~R15Zc9MrxsimUEorrTojBoNu69C)H0J8s?f%CJjXTdug^I*9kD_pqij1>yC`px?Zu +cY4FPa?6q%kbAFz)c+-MWYdD~~O4Z1ZBmzw*I03kN6Lg2Z{(KRn!9H2Z31Z^_)<{1gYK%y&f2&I3q^$owXQaqyy@wZEGLKq&Eegi4xOO~+x!@%xbMP3BMS_1A-HXQKV9$u*@nM6}{|XO?BX(KvT+J`nR4!A$Fk{O;1J97R$)AO+c1hQch7U7KUO`HW6DCNGjPJxBoy7MS

cJz)}~gT0Movl_yX9P7oYHr0W}_R%-{nWgi|tI(-adrOirPIG0 +$+FO`L7SKaF`t8K0}gQecS2#%0ElV+=|Rk{MFp|LVVllmrvEn1a`c~wB6tTXDOaT44b#jGyfb#5e-+F +-*C>eP*?wUuzK+!}D#qi!6OQUWs8(#VS&Sed+XvIwCz`brhDK)u}IhlKn>Ur7{N-cD0#r#nDO+S4e1ab5P|ClK$2nGMCREfkR{`m$ELHGp~-;{=?EpJlt&ZXAZILQ+3VJP#Il46F+d4OQlRHF$v{l +J%$;0k6k_qY_D8gP75XkvPQAoJLuQ3i~%?L}?=E%Q>oH4-CnajC~B=Qg=%~)r4dsMOTiqiFu +s)8Ad#vLYxX88|H$d1<8mfmA2)V9{fK~pKbHFB|0PMUmUy +S~A`%&JmVSPEfg^vXzUgCJOLa%=HkHTYvSy?smnX#n^XvV^8CawmIMZpz)RfBbTAZIrJ#(^dznD&+6| +{(aFxUst`o-%rUJiPyNo|AITx!sW}$f6LbE+)4}2p?3_&Asm1I`;QLZbnv!=cOAU%;6n!=JNR^r9zTv +)-P&wq)g|n9`nN3#i(6Io_N^yy8sg1$yY5|Tc(~W<_y6|*4${A>-ww0Slc!Jc4cm4Z*nhia&KpHWpi^cb8u;HZe +?;VaCwcB&5qkP6ovPCii->ij|-36W)%cYQI1U81Z2q}=?Q`)Ff)4=hn4|l)*<}OUMv1?Pq +nZk|q2VKLr7v1ak>usuw;mT~k3y#n{S9YuGTALCY18uDa*rd7|z!qEOsA-u&rt8M)^R`jYY!FtPytz! +Rg4|dvxI#|V+RD@lE_Jg3Ty<*N26CkU9UEoU`4y~fS~e;hKxNH^&QylHw823^dTuThf>zh3DNUnS$_M +aWtDC5Yt*TO~1zkc~6wawtJ@m(tQwky(%SVJ$U;^emIb$O_f;&Xu{0@+K4b1}Bxpk14LS~^#fZfd?_;xh#IVVYACfU5W|W6hTp*_`V)C(XK4vneLJScBaRT&=# +uCKTVQ%F*r4TW48c`T097!a83}Q}0Mxp_R<}{Q8Bplw*5hk&q4;M(o8W@oonYb9-TlZ6Uswt5o!LA(7 +CKi!&XBhKj22mnhY*+}2Er=w}jQ59u#Q=R2<8hao#4b=MSrWT?Y%Do(DPlT_*o4L*b=Jh!%Y1ga+?p*cmwDT?RxOvHx0SICw57&>janAEQ8q +2=u5NhPW@WBR+zNtVRit$dqS9rl?D1ive?I_xs!dv}8XmxL@1!??-qWXU{Lu|x_4>YKgCF#A)!G_A{| +6v#i%_?osT|rWOB;1ut0Lb6-J`M2Ee&;(Qby3#LRTD@oN_n+uz{p;X!tq$4u`rqhJd +LQ5X;Szs*^Lr=1b@FTP*)?WnO!*m{m!0!fCqH%a`W7eB-`}cK5E6pS}F@kC(Td?7Ggo57^{iP)h>@6aWAK2mq6bYEXCaCxm)ZExE~68_F#F;zZ@D(JN(w|9jQ8_1kc{KJhx@?>I?Dqfv4tes6`bhTh)Xe5Chsp}F29|2gzaw#?EHuY*VxL^68N( +ppiItm)&%u2h}Tozk>w*I-=;xMNuI4{l^ZKV95VYxq*klLV%mpP!RlH%eR5afgnq>8z)*rLgIEWo={T +$Hxy353KR~Fr}B{NiV^S<+e3BAQX-`J2~mr7UN) +Uf-@gKT;FVMZuq8Byo8CRENuEkY^G=9dtS9-I?f26v-mk1m^XB&QD)$gdoHAR=h&@4N69Tei`(=n8ZB +#^YG%bB))W6s{E5QG@G=7K>(RWUgWya9VHAuTWy6J8zc3pG`qykn;nyU&SqV~hC3HCRwE&7GFw}xf+q +jbxB^{9wf`0A2b#pX7MBuP?=JLnU|7ews30YVE|NxMm +-4cJ*5>9Q$q+7Tvme@c672(LW~GY#~mV-|vtxG`euVlVg28GRa;;(q*@=mq^Ew7lDNOvsmdY>^sBt*X +LNdq0=bGM@|JzgCC|xfUktWmH{l5bDl<;DCSKPTbJ+Z)_TZRo+o0>V0P?baqCwc^9UST;h$xF&&@4r) +a@z2VuXtJMSGh!)|N-o6;E}<=q3T#p*F&PFt;h=W}}V!*u$LoJ&K$GReZbTaNFZXA*7etU5oVDVt5%G +^3aP_50z8cva5v=?>K?b&|6KWN3ko9Ry;O{BH>Ch1MWsKFv=*|34t;%z`7Q?1asL0A8l->>$$s!$|-klm+_5mD&r +fmEP{6g>7}6bQy7Q)0gxKadVo{cb~U{vGTy8@rSDHQ%vpZp!CnL6QH}Hg0}`WyHXFOdZ^i$xmLmLVWj +qVG0eTB@hf|}s!iOq62dVQK$MKKW0Jxg3eFz&XKEqKJKOTSuZKh8B#9uWuY8z*=#kC_sK)@<^=Z_ls7 +K0K7vt4`mrD2oxb{KE2R(1pW3>H^qB-A;I&}ZC`Pl(=&!hYbGuIjpTScPgi%N9GW(<^3tQQ=I;NZT#e +An3xF$5VpEuo&*CCuoixZcyq>7^hHUI>kism48P=n4ED?bPi%IKdZmsVtiD%?h2qQcFyHjTY#jXaa46 +Aak?rZh#_YZzVeH0~!cy>!K#A3qSOYhQlTVw`<9MZQG!ch(g!AVy$)kJ;YDfe{bJi{`lecy34Ox^`t= +#a*5P<=LLMAq$4P%POq5*9Nz`w2yoc^(d2Ori4s6>SO*3>ZCSyCT)tGbNQTB@^5xd*6w4Wn-oCodaWJ +Ed-oP#~*^2MaE3At=H_&Ri=uBxg3c=JFV**3{p ++pXY;}D%5Fe_~(T*1imQkX(ZzkeXWtnkvyJ*R2W%Bl?fyu}2scizPsnH(r_oPJ(gKbi-bf`4%WQKBED +T{7;`Frt6KRjVVfaZjuECuP@MOaqujMjtUm;-*o?r6`8m#onbcb7_*%3bzOhD9RE1lz>NzckCi8)TwZ +OQH>GC439H@XLKE2I=1bdvS;-lPmcU)GAP~`-Eu}Zn39#V=U-Rv-KvCVq3qu%^)s(GSE2;1u&9LYvK9 +N+YlRz6v2AEx;tc}!XIOFDb>zs^?{Nhz;z#1!#Wh+QrX}81)>Y=EE5s}GfC^VTv=Dx;B%0c#>WO!%t; +^B2TXt8TC>-4HG{v<`T>0Jx`6P*J?(+T~ugHWvulX9WGGV+dBVRg@NhjXaJ?9K96-qy9zwrI2bAvsVZ +*d(7_XwtNeK>Ph`$_U&P)h>@6aWAK2mq6O=B!n1VQmq@KU7S3cE2oZ9;dGHGjlPKfFoPTBL- +>%)I$Ak4%8p^dg}D=bBa%INSgn>LhxA<4b*;wyDiE5hT5~&T46?Maj;!s+uO~&|}lUBM^t55qd5seS=aO9KQH000080F$jzQHZHIyA%Qd07wJ?04D$d0B~t=FJE?L +Ze(wAFLGsZb!BsOb1z?MZggdGZeeU+b#!TLb1rasWm3Uz+b|5h>nn)t&}2w_=xH#}!?1Nj4+Dy=JG+W +a*V=5!qo}67?Au34w$o-h#1ZxQNWRB+aCm=!+BL>Ll@Pc+e25XHHk*wi{1ec#FDhdh$?CoeYpdKU>Dk!IGwnfslu`}0z^<~I%`?UaQDK`udqA6Ixw+E5H +s)$qDv%>}z6#ochKvMv{Dn2|f$&LF)1&v`gm)S-#yF73pyl64=+Ux{!U!UwXe`!JR?}3#LuaI%k6L^9_~X;v9R!=2V%LkZQi4v#W3fz=zNQtOjPQANqmq06iy&4b%ztlf%yOZ8t~8vS)%f@YB;a`rS>6LFRFk-Xc6+1#^-pHUWSFcxFKGk! +JH%GSxgvKB>V4eL&mt|iA8xo9~`V2CNOu$Pxa>?9BC-vxXNp5cfKV4X1fX&uA;#GP!#H9Sh{WA>(`Xn +qMt=lVBhiMyB@6 +aWAK2mq6Q*xpA#y=WJ)UYO^T@5+Ms~iq!I9MKd+`+poLvAV7kOoMi55=T23LB@$> +f`rVBtkJ-t0Cv1@?GP|F$x>}z639k$WM@L74Lj1E9WmQHz;hRbn<>0^CpTXd6B}=x>lR6auC#$&3N>; +4|s|uc#o4lx)nGTnE#cniIR+j=UG?nx3qfMTtYo76YQ7}E{EnIq|E=|~`$Up63oF2oJemI4Iy=0{@Kz_QrdwZj=_ +0Os+nVK0JUX)`0BJS`zxfXd1#4F9$TV5|dvlgIP6*~js27mNV5T6!eLnJm6&eFUT3DW1hDDvV-Qx(HB +s!yJd%LZ@r<7ta4`G4} +n%Y4D{!e4k=>)C301cpSUodxvGMZN~zH#Y%1snmqcIarda028JMqAFM*qu1v@p1!-hi_cEuSMRP~U!K +QrPw#%3F!2dY)S`-imYa=8Vl*q|WWWNSdr`$AQ&v*hiWSfuEE?Jmv4QQz8E-Fi-{6RJY%^vmTxXR;yaLua#V +@54Sn6&hI;tJfvN>F&S^l9{A!W#9Qu#4=Gr!u)kvT^&9M!&nc+yhXLgh7TpNI0{B7-T^%6pevwg8{5K +C1AbciB7AK^9Wr@qZ`*}f4(Jbw5J#-VzCRlPn%G1fqC80qwjce57P17cMn_qHlErI6)yzIlsHPIKPF9&%B +ZG-Nl>p>vwl><0=O?JQyreUY6_?h}fxe+@pN{50C-93Gl{u;NI~*yR$xC4<%P^$P&jglT{p#K&Y1v31 +B+_)LDSUemRcpgmD7|gghYt6Q<)47+n>DuV=LF39FPi&Jg_xdlZFS?q+vIEm~5v5QQ0p>IEdGUk+k`{ +Vgn4g47DIEh5pe3R47#P=f0M)WsMkb7NpZOko~h8&szZNi`*kPCvGx{?NMc@*|rI6a&~Zz-)n3o1U^! +PCCoeG5hOEK%`Y*5T))?;HB55Xe7%AAjd_=_ +S%>=y(XUjC_z$kPsY+8ur^y5f}bY^*g(?u^+F`dbMUsp?HCoIO;#jcB$&>)hQqir*!GUZwdACAC@=$K5GlUTB@|NUFE+x1&p?9vFQecU74g8r47(&6U2R +4VRXQymlX9LQH&bwsAd!i7_(s7O7<9Hx1i&~$_CS`fG5G^4H)4U?0SbzB86CKewr3bq8hhrL +9^a_VYnfIjz%CqZY#Ql;@fHg2w~ERr>GvWN1y4^DYhm4D$rpm=*h~k)lakylkc@Jqg^G9?*D8fSZgGv +0%_)3Wdq9;!5_imOvrxn+0aJV2$}}Z-by@QiSOgqjfNB9T5N_qzqFaR$`$2yJO;a#H>;$Pk0b1lB-=* +HQkrmLK*h$cok<04!946*VLnGo$|sMLY6-&iNFhqR68Ltv9OeN+X}rBZ(MZ~tfNeTrTqAj!oZJ4-jF04_+nvEkw9i(rg+kolz9r +&oi?6NVdcu1VIPeoJ@kqR1o2%7QQCBB-1f_tFAbuG{?45eLL*xW(dq&bN;81F15B|aat)3nl(X;MsU> +7QbykgrtE$>e|L}()_|LJiNc1<3K@N*Dj$x7aLkAEH9m39*@*cm%ZLMrBYULURf@(d2NHzS>6S++~8b +51?ngP)6(%tc{n$B7wY9BDda@L7|9j_smE?hR7u@>m52O2jQc@tEMGI}<^jQ*juCi1Iry( +k|y4Kr~J94rcuFtA9h4q)gF@?zci`N3{AvXA7+(7yz+-DKtZ~&WzSSLnD=<%^W7RP$0~lLfojm{={2j +qEvU*z#F@g2|09GflKS=6$M4->=#s+DdyVvMT;1lQ>y9<+ooXeOM>$LRdY(W)U1vnAiMF+}#FaO4@c?1c+>Ma?WT; +p8>>WcFNTRSXL*&6NM-*?3#%jBCQHaA>@QO0 +oYW}$(!ncv5D?=wC5NM_QPIR_3~pknf>}$&jI!=LOlnZjt5?m4I)}(5S0}|_;DA6Qv4C(A7546z(O&1 +%FeN3#va6On->rR7WXwq;&fV(AV$(MoRC6JGs|j6FkIEfO~7E_7Ac4-?U3$b&C*krkhwnCQXgQXL-yI +VIx|;xN5B`FUd}=qGdoaATk1;xQxOM}N>!+7X;`Dbo*j#UY$hVX>oko9gfvstY8sVv%5%25aW5Z1VhG +0XKu>8OQ=7N%R6ape;JtJRmI8JMtAlbRb)mI^mhGs+RAB+&ypn2j8;d$qn_~wDxhf^KU|0w4iHYx~8o +}<4d{4hVI02r49Hsddrw)_K~id2VH8e+1l)I7sw82;jyh2N&yiHerzBHT$YGBnQ0g_W8pK-LLbZ$NC +MXYjg5lZu4VH!e^WDYG`Riej2xil=Ok}Zd&k8z^aR>$MdZ;(B>z&$DV^}6MyF0UIJ6G3N=fl9j1~U@p +&#do@yj13V8X}M^u};ggg&^vh}D;ap~ +sL%a6t}Q%qqKCnxAp19epL)CAFlAzsz(Hwi~VO$kqKNHBSxI_9i|KJwKh=&n$1{CKBmcS_h9I_c{$An +464n3?Upa4X%%*aDNz`Qia_MSVt5$B;%0(dAMdvo2%B4W#&X1)IThtwQk9b=Y=q&J>l=QMD6qPuNi19 +O{a)i^v=PAehNGFbX=6O`}#|nI<_2G6zn>l~~ +)<(yC>T|+W`-8Dh(I{zV639#uLD)Y5!mt9V1Ce +~tu_E43-W?sAK$mQkO(>PTb?3PBTj1g{N9qAG)WlO_xcW$hd%C@zKDk(ZnwBw^yURJ%~gx>=?I(iFfD +_jS}z^*HNNysiR@?>kCVvHb?&jlBje!BgFngaw|ODj_h(ZcS^?k4xuf~X!H*fq+KEfDFkj>a}MBlx$^ +d>ylE)C$EJ+twf$<+S8me1wq`Sba2|(LQ|qI4nz|d(`c86vVxKF3^vD+wS1N&o_6ymL;lsiAut=o$6- +-jnW5>4b-!`C`4AJJKcao084xHVhY*FS%d>78ZE6`FKy~sx-y|4;Aq^Sa659!a4n%r4Uo*jp&Xs(^jD +-Kb?nnVK~+wyuM$7`KNX@Z4wAvou*_nR~!%OEI1HPG6Vn^qB5bHB+x}jp2LW2rg7T8w>* +v5-E?ElTZ$#2m1YrW2C%eN@AP-2C~d_^jtDWjuPYcR{Mr@_|vke~g@a)ITzDOOl+`K?eBJles>plkyYkfqiL#zzRe7*=t2t}5jFd@ktdM +^MV=l3bCB($h)K;m>rVqF-Fu3}<3Pti+XxtK4Nnpq{06xF3c38+n4?|_wPY@a%w$R+h)-P1x|1+irtM0%A^HvAh96g`dVcSTPzT^;yEGmr0$TO<`TkR1GuDelrh7kZ~RSk+j;$v`=%O<9|zPdU;yK8(cdCY%d +S#%l?&>U%ADP!5}Q0I&LG9YAlP>`A`iPOpUw4-;|=9-zlDbuatcuLLjFuAIzv42Z9QE!>OWY +2(#K%mwbdGFY4UeR+g2K{F4`4FB_U9xX0=#RNac%Ac?KPD_nZY^ILy=m|D~0HV%ZxQtofkrp(I +@-M$e>@7VR#6}*T{DfO8KsZ*sq{B#M;q^lpX?i672BvIDOkylSUrUp2h7nkPqWy_uwgA ++)zCaK!_5UmH0GD!Fb5=`2CCN2X#8#oalB3|Tl8?ahj1FC_HCc3Yr&wyDMf(-Iq+tV4x6h-;m(|#)uq5l83<(6?5;f*o^lS?6C>s_ZA@)hft*IFb5ynb>Ahz9-l`qUQi7;<&_AeND4;-{_`022=D>o+j{d~Z&lz+U^{ +&1h3oR63t?nQJaJwQIR3nveGPLU_@U=71us%*iu=T}FX59ryqyXP@3m^5Qw%%sfOSHFe9KzuN;72|t) +5z2UQz9A{|!(}0|XQR000O8ldVxvwi2;va0UPXU>N`a8vpt2ABj_c4*m?2Q4$Ri@0~Q6^B`ufs{jd{dGQq-N1pB2(mbfzjg9sP}^#gb(IieQK +V#~Na+fqBooF&aX1dV3>SMb9g4R`rO+Y=Z#@dX4k$;Vz|~C?F{s%um{1(z`1|oRjt6vcc0N5mJDvDHj +>h|k{_6Z}5*D0a)EE2HgCo8q4{>}rJ{eEPF@d>;g-#g3#ha7IplEG$--ZZMrKJdptPh7WahG~MfJ{;V +)EsO@OdAF;TU)xY%7x2W;*TtxSMsCRKtUx@HBfHCX!%ct6_4~j@V;Fb<}$ZiWZK2cs)5gC1YBOOuiR0();mPC4_gP+LR+1|VSopdG^jwK_*pM8@n|)+65e +3YUQg+ARqUXIXuW(KV&IuvtbMAb7?~(y@6IEC$W$)~|#4c^wC`*%vZ$4`K0FugBmA?yII|QpGYBo?W- +F8dq7?P`wPnyOll`&ax2$+_z0eC|#v4yJE8(SZZ!h0Uv5_N>fNRkmgFNUb0j1r-w{(5Xv&t1oO8#Z5P1;|KyZlXBqlrXd`24QQQRZjh06pFVL+`zY^qwg+lQCo%IwAdoB_Whq=E13vw6 +3q6|pQ+t9KexsW}~5Cw-+O5@^3jbapf#E6^1i2A|EwStjv0V8f2P#Yy{Lpa2_pe%CHis +PxSu;~*H>Ma~Ia^7kOTK#rc`3PB_i?Za9(lVqC0kgx=p~xueBClRrh&fi+SO!Is8M-sjAcsG4p;Y#IybmNE@<4Oad^#6E_s9E>?F5t~BZa}WFgxqGS#yftHMiu5E*)kI%SYI}_S-;S1MsOA&kX{y5{YFI +1AdbVCsUKT$iRP0hSWD0z&d{JueWmJkZ&@yK>ji`k_KB +(g{6ZfB+P(R*8sg0(+C#yHFc19qfu<(28QE_{!Hv6xvOFkU$&_oT+;l(+pX;r@UqVl8rczawTypD?BS +aY@E>%$jfs8Dv`YPRj0(84m+|4%=`XRFEoT0e#R2xbwzo0%`WqDBi#1eS2Z|Ho(q5In=pI{lesT0;ht +rMpP{t9Z~uRGLJ-4@S%in;hAn9oWu)m?hIB@$tiD{~6~0N*D702}}S0B~t=FJE?LZe(wAFLGsZb!BsOb1z|abZ9P +cdF2}WZ`(HdcmEYU2Zf~8Rvv4+BB(KBO?EBXrbU|Jdgv7bZPPXzSyV|XPB!fR_WM3QBucj9^oBzZcix +c7;`e@&^d1>L9FmEc@?w5WDm@!M!#BNNzu)gk_O)V4tCUuH(feok>GdubT#==iRyhOwLQ`HSq8E%HFe +@~lP|Za_7POe=Oe!)Hl3aL-hJKGPOCdE8%0EfwpEO_A&kL#+IUm|d;?Ea0o^^=48m$(Snk^ +f7UZNZdn2qm +QX}xQgB?^Bw*`$c@>8UUN}N0$--pa!kfRZpBE!*wj#$3=HLl2#U7dFx4R#ee7GZAAc#lQbW{*j>3I;5zJ7Xn5a-)fM_kpL +tlSTHKdtb#aWh)u5rpLS`KQjBx9RB1oOaHhJpQ!;2lLcXxMkhh~#261Au=Wo_#4Pa6~c`A@GVJ0NKE# +C17^5?wcsr>JHN8gr>v64UMBTvTpsHW<2Z#X1p#S}~h`9*X1TKjHeRso5?VS)esV`{5w9OWQbaTq0== +rwWBrWeTSAGgrM>I=A7s%>SB$fLDR(u7dm<>GO49Hn0bFXBywJ4sSREn{mQ$4r_k?s-BRnB;(9ia9W6 +v2}S<^?x>DWnfHUrVyowjNJ?z4b|K@4eB$KAT7a$S9b%`VzLR~WLd0OJ{yqGM3QnKelGMYPm4{@q!co +aOmkU4=Y_$eQdrjslA#b>Dca46{qpkiy|Ed>$6kp>`V+0`1S+}#4Ek0uv_K?daL+;bI?G((ryWIj!F8 +?3)>erh1W7kUR2yJJh=lCe*P59C5nGmXUd;3OQ!Al5j7Mb7z(J5JhQfeEek~e+;frp~?1;6F?$eUBB^;3 +2jOm%0jeIwa5B0Ddh9`KQrJ129Lk_^n)BbFEq}opC!n1K($%PL_JFOCNyT;XATNMUIofSqVXiU*Aa03Z@rK&&%2fM&03uD#a|JVgs3I%XjYj#RdEwjf5hbEnBoZ3m_isw_sAB<5FmVo?b2586smL_0Z7!OIL +%?M;(Bq1SQf1Y43I@hA$xaWTBraGH}9|?o;_<>--U1^5X3&Nwu3bb1&-dHK4~J3-NaUk00%6L9?wPw@fzX~xlmgJ(BrgS)YtIo2JM+zp;=O-O}W7|6Rp@ccfV;NN%$F`?2*(qbx>@w31M6F&~ +ct$MCnDgWvC@ag9ybld&fZ#OX7p$Mx3tK-0lk#u822AOwJx8RGCbANE +aVfN)Qcxv-R~GUqT>4Z3r@AviXJd*2Ix-0)i~piTf6I9{)T<7Oml;UqhB^Zb)L0@@ZmdjVw5hlae+>F +#2=YvW=5?bcRT*Kl0JYYo^$xyeqMI%ls$V3HF*HHT(+j5TVGKSp55zAHWM*|2iYP*>ekME=n=aD*ljg +|fhRR5WLItW*PU*H#4E3A$}bBPmwZfm^P**smLB>a8Sdh?+|MCM0A#(pDsU7>@vxwT(XJwCn*E+@FCvR%vF0|cfl0Xq`h4Nttq0Gud6wJKNF2HF;rmm#FpgCB0%QI9~A~NPra460a?-lZI&NfvH@KK^mluE&VpOzU#ekL^f +|~_sFYR!v}^AEQOD6V8WXU^K7n)8|V*=k%iW!I^N%(Lx5Fdyno#<)okB$+~=?lV`~40AAdXwEo&$r9F +XTDFftyHR4T(HCeO)}gM)v=)FDE1*cEWxa?;?mT%Yvz$OT*R!WNwwhav~y+#GwsTRZ`SaxP|Oc`T;p# +&Cr*AV$z+%|Rd;H7AF5r;azq!CgHb{zg%|&qX$TOf#}% +(p;=?J8eR2r`4a6qvPJUIqFf@Q+QVovNLmU4>pdalM2hoET?ldg2h*VJ%4v`_TuEjS+a|tJ7rqCagTv +hs;Y4u0b#4{z?Oi~Vc7qz&t5qPC?Y_+gY!KQeC?zY6_kHM0M0wkR+5EGH7*SLIa?p@4k94)pC&fQhGLO@y&@rM}yW +{BI_-@k?-P&+tDAjua{L4M`q@NG)V5~1Z9fcM$Ruf1=Bc76IUP)h>@6aWAK2mq6U +qX@#1zW90n(@57yx5nd`yuheww30naHbA4}#anDx%dnB~oQ3)UzdN#4$(wG-5hlM~IKj|eP$_65 +98jW<`waUmX)67^0;tadO6 +ImKmI_zq7f?$B1QY-O00;n+tx-|0W`cC&0ssL02LJ#b0001RX>c!Jc4cm4Z*nhkWpQ<7b98erV{dJ6V +RSBVd9_qaYa1~TzUx;E$su;JmttRvA@q>;5K5XtT5>35k#}cpC9@0y^)qLhlUs?EC&=?DJMQ*y%Dzge_O4L!s!tJU9g5!C0i?eXONf!E7v#GaCETcP*$z4=y91xAm&UcO4p_+(G=)K0X#`J +WS3L=DoGr&e|>|W!eQf9{ZP?rl+*;bMCvan8k$s)>0b4$C3ItU17R{aFS)&34Bq4D2G7YK+7fN-=>_B +9446NdS$Q>l_=bvorwyXF|AlUCebEXDaE?0f5O`C!Cjzf%pj;%NWa|3;Cf@HS&1soSgm$6x3TZoKHbaIa2u!H!Z(x89pv3g_ +8~5rx*b0tq}gpCwZVxX|P)hutf0iFD_e-F~ODX0jg;4P4T-v{=3qg@=mn>zWt04|G@E{u_`DQ41|47M +`wO|6H7LDfwDb%@^DlI)jAZqovnJ=P;Int%HzWsNDH+=P7l}ppu%mLnJG1&>n!%?WYd6XZF`)?|At~WIoK5tbN&^q0Aol|B>^<(J}l!5pTGS +FVg{5Mr_vD-E-U&`oFVsOu0k2jIWE|X7Ed#JZ=1QY-O00;n+tx-| +ECl@-v6954IM*sjH0001RX>c!Jc4cm4Z*nhkWpQ<7b98erV{dP3X=QURaCzNaZI9!|k^Zh<(Km|$sf~ +tCoG*6@gge_w&U^9Ni_L5dV>6IAWRHeB6sdHRqZJJ2x2InEm83MYu>%|;U_BDMySl5oUY@FM`h~c9c_ +oUrteWjo^xfUnf8vwb?Be2LrsUsxsXLt&ZTnD3J^TCMGn;+Y?)G_C-Bxwg9g&U{T`O*-$Zu=<+G{B`J +ie}Ov#;pe|K(~U4pnzA+!QlETi;c+7S(Rws!oeL)$YW-RB|CSQ7&>N@A{g@n_d~McgDY98T+IC-c>v4 +p69h}%3RH6L^NAhO(#{8*XwXfSoOLAo*v~|cM9ZUdKbj1aB~=z7NS@6K37`Ox4tpoU$^k5hQED>vUr{ +E_eg8jspE1c;A3aIS29QO&*aBK?mO{{p8r9qRz)4lez!ZWU3Zb|VC-yG)VbC$Yw_@w1(~+DA7s(ZnFz +?|dzJ6C$i>D<+VtGuM(wIyRbVSH0c?Hl8ewaY!1cZ4{jHi48!A8UVLn_{1+qlZ-sJ`LZ&fK3PExc=L7 +)0aBzJj}Z>15X*td06fR-&pmC0-&N(mHpRU^gWUUr}XusGAT$Q#rIExU!-!bUYPrzDbPyUVLai}ns5S +@jZmQ_^o9A8^#FYFmK@xSlLD0UV%cuiBJ= +;jB+;wJ6O2dPx1iP2Bc`WqWLLLEOoVrQ4J@9cM`YZb^Oyv9A8;9}9*%t>z5{i!Bv}7QRb-;YySLwnin +S7aq7wIc*(4q6Fg^Ra4dng8D35yp1Dm$9JCvDSzy+oWj!c4847p%o1hik#DvqM8N}9gvP#eJ2$w#nOH +Wsi_Sa+xTf|tj(4cf&9=BS}~VAqE(Gaan-J+Ja+A!NhBW|dH|N#>3e?O%CHg@X0J9jpx{3(oLhR|z~! +sE2XP>HA1fJgL#o1+lZR55e2t2R~H4)9xqOhdM5%NZqM?y8}<*+HL~vsr0&U9;K@8DhvuIlEjxHJpTeO5WGq>f5%Nm~u)TdE98Gpv};n2V%*~GM@cG9v9*`;Bl%`C~n}mmm`lHi19u4y8#=ap7HjD;pL1|8 +}I-BV8oHCJ34aD&{3i_ROk6Af}iMghuu%o{S*%#AtZLoryG{}x~7x&p*mgC>JtYC*x!Ss5>fbe&QWzQjg|3m{DwH5{Bcmq}5XssC? +zMwPa|9d%^ukTqxc6w!>E{cQ=D0U_dkNmU(riUw+RtLt+YYp}5eCN->KQ_y91f$@~gcbpWAqp&_UPl9Hu$6=uJ2QAF?^_$gF%5^1K*m#Qi1zLa*yoVat +f)lu=~7M%|)#mrL#kijrE3Lfc1)ESnvJhy{lAd>tYszN>$yug6KFETR1E@fq+h^rjAG7XlK*oFJhcR; +~ObW?#H;+ETpMuGs+x&rS>A~yvh%DPDeM?prfL4qKac4vz`kU#+7GRdU#zjpU*v@*2aa|C1ko=bJWi$ +JIf(txps5i4C-gJk>Y4Jf4kVa1HglJyb9*Ckqf=ru9N-XW4QIbnzfG{6?AuuhkWFY4M$gGzTMdpWe~f +k`TkANL>sW#{IRNK@YKlST~k+tJeAz` +HSA}g7nH)WLc*7QRXl)2g1$L`4R}~JSg>A_Mv7PlO3 +W>-VsjE8+`j&CN1u?Gyv#x2NUSr>xbHb5;xb*Vc~`7lrW`i;WfQG{MMT<5Tpr-dj*Sa+G$!LzLyApX4#9d=Chl9r0VH2U|v2@j +|?O`EWpap4uJ#|9W?(ME%0KmcYW9gP!q;^+Mnc!EmZ=gH;SP*PNp;i6%k|^aS@B+lTU=f=-cfusN`t8 +GiAjWNyqOY{Cc0d_J+Kvv5TqIpb(jvy*&?GAM2qfQok1fJqoHk_QCpRO=!3fl(YW?2u`liL*lOaCBPu +CZmr*Wf?>GgFKEZFOlB4PDc5d3`P`c$~y>Ouw%F`^0fBY%@T8Y;|G@^;s>l)ONp8cR*Zy*C7gxe0fLK +8?hqzV>Q;;_vHOq-{2VEh3SgG!{Ykzjc@|(O-4wfyO-JkuyF*q_vuXAWXXV1O-;H^^kA~(`JL#rAx0l +@M=WM1C-oI)q2Zh9E@P2}Cx1S@HKWRf_c0X}D?a~Gt%7mWUPcz+zY`hXmh+>mPm`KC5tk~=ojDCgZnE$liu@tzrs|cv#Weft-ehDA&HjmvQtP7HNVWj +$;ldJJP@tHaNH!dE%I-UlHL&p@LfH&7lwDm)LvDkCbOI +};lm1f9%id&rH)F^kW+=UGIUONEwzNoyx6hLaP;C;#g;Xf%eQQ|palci4MwwtZA7iV8&6_X@)FV69XD +h+G%e3_(|$Fpni-xSCA7YFLwtTuXl=!j`sZwET!QfT}Zf5fd9Q*^AE=e_lP}Ipv3WC|x}v-SHv(K*(; +;FC=2DkJfm;dh}-uRFead+Jd!>6js)b9?ATKto5X|}6E!q@V0qa%F&v6; +L#xJkTxHk;|v!yF5T(|dltQZbK;MK+b^cK!jWKj!_DRilb--_RLm=xi1u(Os@Ojr+~#myt8dd~2FqOm +%?h=bMKoA->WG0-HhqGgUD=i$>fDL9eY` +o&CD1JV0tpk_^|J*aSZGRp`456LGjUNgK1^wL$Z3)hWI2I>A^*0vi6XbG2ATX4GwQS35#*)&Tx-6LU@s}0oDM&1 +@l&@WlIzpcxm02y0#7hFEeb!u4n|-J7&~BQ0wxUB+H^f>jJu6rQJ!D7{OU|&uVc8-6dgs`IVQ6-+xV| +?b?Bb}2zAl`?g8wwN9TOF{j8Jo2<;={|}`wERGCEkA177yXAKSwj$xBE147bI +)wHvv$w=O76Sd0lXiUzp{HRf}tBo^aC#Yqxd8X!HOaQd2kzUxu)6Wo0C*@a++j@~OHZB~SY!XMfeiZJ +dZFyZ~2xfa%7UcIJalgnjAtDxRD!(3#)!QRe{mk9Lo{#1*%I@FZ9M-p(89>28xy7|l**@J!cS=3Ap=Y +?^28-J028<1qOc9b_9~DLSKy-dJGl`^j}H1g&C#xEFlW+d(5d~}7(8`CsR5L^T9 +v5vo!qR1uRt_-N7G$xBV2- +S_F1U(rMtehFed~R9kp$6Dud2wz74x}e(%q`>)}elNkYW<&KF*MXfOt-qkFF}?aVbYyyt~C^)!J!SWz +x6D97VPUkvVIDyi{i*-HHA1eyS0yyKB9#jkzAi<~|@A_)b3ap{RUs1BavWe#{uc-22OcPN&?PuLf)Pr +$R!!iQQGy+X=VCl4Cr$9)B>o*-W7B3C6eV3{#!DB2yCo5v$e1HS7vZiG2-$dAd_UAM;<-%OXE!ajG!= +fC;&f5of(i8uZ>FX>v%iYiq`lf)JMVyVxq*_y6ir=>#MNMhZbi!I)%YuvkP5At|uRp|=*dMPe-GKkvO +$35TLOp)j%9|D>QZB*vvSkD+<6ycWlw4H0Glwxf~5K~WV +dO9tx&l{&j#RJj|+evsz*YE1g_rQIiX6{AZzyYTuBT@b~$g*tlS1Y6wOw&Cj!VRC{Nj^Ov(m?$K01WQvmT!4(B> +}?mRLo-?uw>0TWC@nLhBS6xGoni_bHLE$)#dHg*eL^<>jBn|GvIXW@E1H+wjEob{8N2kT@V&+ +>=N~Ygoi{d%;A3BsR~W7DQfUWvN>CbF&zBLC3Qqy&UzO`_9I%tp<+JU~fCpn#E!$ik1268wkGhxD4M! +bPa^zEkQPspb<=b75hkZk*ml-+QIk^3La-BH-Wn}-g3wYd-_-o#`}k2pa^4^JqR}@V!5^32zG;Mr3qr +zig~*L0IV^7^MR@XUif|CJD6$<-e){uez?N8;;sFyJ0|rghpWQqnLp#C%^%do?>q%FF2(Qty^qh#^&) +T>fSAykkn`{uc}#>}p9*RqU-;)p244~l-_GjVh=$`XqVej^L^K8^m?@az{HUs7Pj~z|j!Ajt0ezdf@o +CR@V_X@$QRUY>Lb|?bIva>dtogQiP!fm~U-PyzweZOG)GH|QJp=cSMX-Ov3W^gcY9B#Ln`*@im^ck~v +qo@s0-^@<^GmbysbJ<|?oO($bgxsnR!bgxop(0IjM7*mCIPw09OgM< +OQ|ma-_Xt&Z1vO~V>dz26d;xiAb=!AS_`zEmpgb}~XHgTkZKiD^9DYjm{{c`-0|XQR000O8ldVxvhhN +n(Hv|9xWeflSA^-pYaA|NaUv_0~WN&gWa%FLKWpi|MFJ*XRWpH$9Z*FrgaCwzhO>^5e5WVwP>^KKY9+ +{V1I-cnvah!=~;x=Qe?NNe=rHGgWSOB!F9`f6}3lbD5$Kuo`-KO5fa|Mk$c$8aeFKfpuYco}B +)Pb_NG$%_pz|)p*9>c~jCRSd!(Woj3+13PvMG_Uv=>S{@CAZH4ZQ~rUR$=xNi_5H~ac~+B_W~0gyGX4N71dP>E+^>g9DbT*f?5OphqZn6 +&TIlo>{%_-!;EAw4MPr~^+~ft5HS34e>S!NYSS#Os0+OfX%iPt$4(Yy&?g^1k6 +Va3ud%cC6SlXhs0k~rf6yH0up?P{ylFvCh5S^*8FdOQ3Ks(0pjRxtcioQis1P2bi!FRI-W#goF`Hj(A +Q5z*fJvfGVTQvF^<(+PCI_I=^xF?VhcsjEd0tLJMrU5a@4`qU*-+La1c^tw`7*e#T(* +S^?mRO>;^B=J-Ko~A5cpJ1QY-O00;n+ +tx-{}JxA|K1ONc~4FCWf0001RX>c!Jc4cm4Z*nhkWpQ<7b98erXk~10E^v9ZS4(f>HW0q+S4>?5vH@3 +zEs6pGeCZ-xBWk~TtW*wd<^a;j$8WHL#%Qq+*=+g7)d<~gw1GBuKMjZ|J}CU}x~@}t6+z)}&t6|xTRs#E<>RV5C&VN +I4lQ(g)gpjpYu*~L~?72EuHcD>jWSyJuMvp~*~O)9h$Js=7_{i~%)t3XW>ExYRk@EHSVUSnp0CE2DAK +qnf?jU)86ppAxGOTUp)NQcyOzyg+nQ%hVS>EYqGm{iEF(PAe_v+n|(R*E_lug=TGq*yLVl9FyA$EAwa +6w_+bGMzaL%;P=9{Ba;qvO>cP(|gc+3hPeq1&5&+5MF|hOqN)LwG_{+q_7cQkdvBPKJ(&vL2S>1I#*j +Mkx+FYTW;zugI_Us^pzOiIiS=>Fa06=Ir|Biv9+o&Va9xm@hvsF(`!gQYdVM2TVSYGFn#lef7vqyp-k +aL$R`CGOnt1%xUufm-8C={4Uw7^ZAIkVXm6z0kWJNDuu@RPQ*B`YOB?PS0RFm_f;%{L$@U6@J)Y?!7K!Z-RMGWMf;{wS;%ZCi8z6ao-b>xQAdU0qQkaFl8ZxJU +GW^lhpsuH#;+j05u?><1t!?J?oSxp{=ocCDoe9mAo{vTo$Qp^rMZqM*Z +T2Z3#2#P(L%G3tIt}^e=eNm4G_*faP9@RQ(q-*}U}gb{_UkOnfPM=zPjK9(7cKra$ZC +pJplOZv^Z{~|>1Hy1p=5w4<5@SoVyNA;`?Cpg}c69X`4Iv#t5*YD`PIZ=ATW*?mwoN +xYIaZ1K74P}NWfMd@id9&dk{7HjIw554>-@?rHhk+=<=M{~VdC}O|QM6C!zj`$TIEb46)%s?M-}&!1_ +Yb$LWxo9S`InpfaY4ilu@eH1mLH6SXUVZ9&En-TlL8e|>06|uDnk7{{eWJZ5~wvD`qB%01wOU!! +&>zeJ*c4G$LS%)4wVuiu{zN;q_##_8D>GhVS{EN?c$Q1Bvhv*QK6t+|yJVglJF +wE7Ac!Jc4cm4Z*nhkWpQ<7b98erXm4+8b +1rasZIMB5fd@zA76Nm_5lzzPFw#9g|(*cfAfdxr%?+fD)tZ<%l2KBlmoFCkT# +kVOcM&6iKD!q{XoVH!UhG}Z*AQU}AnABwR}DGVG{)>H_!Rwt360b3%ZyykmR2`fm*m3HEL4+94Sb2b) +_0b|c6E-Jn!hT8}kOA?KyR?=XSgbb)Q)IVrYphV3rW{_)j1U`@h=lLayUO!+3TW@Iac8swMbD)bim5t +pTf7YQj+D1#b;0dJ-VY_pN-5UrA4tHg23Y%yhg`*469aYKdOg9`x2vc*LmTrcB!1JOzRky?$w|oKf`Q +eM}!t@Tv^}27PxVZb0K&cfc!Jc4cm4Z*nhkWpQ<7b98erZEs{{Y;!JfdF?& +@bKAI;zx%Ji*^?9H%8V25Zc}fSHqA%Z?QW8Zo!gn_G7>F9HrEuX5|kZvXYX&n_W^(a2>RpNnYJ_MncY +Yv@BlnKyzd9?iG%$Ev8eN+x;Pe_c6sm&pX}`H?(Xh1@~<1IT9vNqT$XC*fBe6lowLhA33$0FCBUfKtf +-V|FQr&F#VTvIqCWpgE?Rt+wPIc0$VPlHKxv4bVzsWDR^(YL+hQfncePbJJA2}UzsZVcD60BqBHCJH* +L9H#Xj>MGq7}MR2|${ZyLm5eiuSUoU>1$ca+q>{?cN-K3kQgy|fm%R-hgeceqX@(n(`txqY}wX&$7!Q^bUDcfS5HSK +I!H!Hw?HVk6Z7NzM9U6h=`o8jj2%R;W(qOR;rlN|wnuOyC4xSqh|v-}M9yWX_=$@`{m>qTAauiw{;41 +v7I0qNOTW2UGL+>e#otnrh~->qds?YT{Q2^(w2&*d_M_0H&_ZlKy`vuHPsw5?udN}g0oR;p-=Yx$~Jw +0gue+q9Ra*>`7W@BfggV(|hV>h}u(Ty&85>rYuT!`HJMAWg)DY-jvpb_t7@utxa4-kOKdTtgc|AdalD +^8?TkP|WG#Qm(RzIH|6)vdBMv_Un0f0w6S1R?d(n?DX1tR%M8@8DJG4PsFAwh|CH#%haMMbbqfGFX{qlSj~`1t8671O^9wr9njQ7;Nh +uTq`HC^qG*P*oCsLZfAg#Sy?E+JyR{C9UfIziUAd{nwbJtA=O0BYEMrTl_l?Lo-ejhf-04gtd#;J?S>44Ao+t*Dno +eu7(b1Lo>Q1@sM!S7b22rma^%2@6>M7Q3&T8gQ!+6|jwY(Ez2TJ0D)ZI{EPW<=O1??8VuMm};aEP>?m +(GM@rEAH^weoogCuHVjgFi~t;8h*r=OYmO}Npooklo+exet$ +Nz%liK0hm$i{*3se4%Xe?jUcWt?z5MRu+dt1vPyX^6oRUnJHyByg +AB06km!eVUapMrs@425Db%RxAYD89FRJk9U!Ab$#SV%;U5UwKLEkxES{l}0B(Vz6vSXklGwC_&M=Qpp +Sve(_-<&F;3BUdJMR(PRIF3{V4oIC5Z5ie?55!~A3Yv5~hd9{8{wIHTW< +#zXI@r!z<+K@?PCG)jM}0mt3)evbrSELIXkd~T6E(^3@9Z?;kiiccTav}K5AcrSs;XeDA@$c4nSggw% +3_#cb1MAZV%%5no|M~i6}0I4TyAPdkq;2>uL#fkvEB@@Wx0ICJ|^q}3qDOag@2dtt&9R?N%${BPmcyN +4XJK7GwQ(BQV=S7Pr!bP<+k*tx(8-WT +b$oD&h1*oyTW9yaldiQw{<1stvVE#Lo(P5|B|beX*3y;)i4?di@qWeHij(#J^N~MD==|=2e4}w*!6fE ++juKG6JEwd(?a`Ia^(6IR=PjN0}A9YAdo+=mO$U=Lv +c4?O<=z{8LFf(D0H*17C>OVTNM_zC3Lcp{F5-%iM+1fjcKJNpOg{px;w;PXa-KBDzDHTGGQv%UmR1|d +0Q30VR3_Fq}KVG|_TeM4KZ0>HR7kiORin1Jc-*k?ICp649@yM}m$`$Hq(v|yA>a8De?_O0a2OxuGV$F +k32oC>k`^DkqkF|MZHmY?g!U2Awi;DH%tC2|}d%wJG&aI^Au-iPmRWqvpma=xtWvt?#`Ss7)(_uzSZ; +#FOZK;O;qwf8AE!$(a*s +m$GFv#7y-b^0b(x@}prM{b2s=5e>?M>oF4y5SEXLJ)wxMXgG*G0uY0fQ+;;$uZUZpkmBfIA(y8BZ!VC60$2%@7Xy{wmI6YKo`fYhxx8M ++mcXT)YCu^E)8$;)k7|s;n1`~BOGK3h_<$M4sHc7^PI51~8_5e +urMOi0z3=Q6n$lGy&^I*BY6I6Ctkw5?}(J_^Q!+vQ7zhG0(n^rMNuIkq1n09Jn32fDK^SEV27Y?T*AFkqZl4IuXR}+h__!6q00%{0AEf-!5=i2YmxvO +49Zu7kqh1T{576R6cIcIKwr1VP>!RK$XTt!ov|+Z-2O=URP{+m@q25cglV7j{;QdX8B7x=NfQ{IOMtm +O!jYPLlfL4c!ar_S5m~{H0t|)@DG>@ZQSfB?Tel{%e*y!bej$gF42~aGH5+IT5%!h~^>$o$ZFxb{6hG|VGMkD|Ift)`s$Ab#zKI@Re1@l12sN8Dig9+$2_*zNykfkx@p8qdi|9?+S=Ht;T)qszC +IfPV>b~%{P(=5(z>~Ld?8!wi_{=e%@3?v6P|wY2>^b6Zn#g!(?N1nMLU}@Gxt~eFp-hxJFjCk8BHRe#2#Kp)4)9b*UciX(4AuGa0Ac1O`Jkn4g+>4bvT!ajX=y%Y$O +%?i)4XDnB4%-_7$^vE_hENluEEp{;9y)OFUj*kV~M}PIY@Uw0hiaOdsI0oqrK@mvXz7urN$%|4t+OBU +wk$p~0QcxgP&@iSz_)?#QD5|aaZR(nt)L2W4sc<}A_9aIHFyQM?+9EW>8of5#KCcPkTIwe +Z-U)X&JuuU&1G&?0C^VaoC4# +8WbJt{i-RQCw3<%$P^MBZ&ourX^lrVkCI94Q5SH!V#}xpq0i+Vxmg%R(ipS +{&%1iZdcNI5f!6jpfRE|ArUA1^ou>%W;$$`W9c-uVJhI{#Qeb~M-sw!h*D0l6AF{a94)O&a(qW-9dx{ +@n=6crWLjwHQSwL-6L|t0*dIQgo{5V(IMFzAO2(odziu#>XjA4Q%X94x96&pr9s2+H0h(No``@9_VMb +mE>@Gda@@NO7^O||DVZ+Xgj;p#%Hl-<0fW_mzPB4pY36EK=U3M7e6(%0Pbf>QQp5=k=>@@T0IGH($C!#(XEC;8Oy^?w_hS>lgcgMlyX~VagG6tFY{a|3w2NLErx-^q+)@#`$dv&(xV}Ju +(ts+6M+}@dDcN3{BMYSk5IcqdseApyEqJ@4w8hMf(j>Vc1!^Khh#hcb$IpS;Jv5%iVJ$mMnujA_{w8n +zU)>e17-P`qE_)B+TTu|N{4~Ds>%w{k$9m<;zl`@=Ef32Zl5t8JoI)ifAuA>t;pw|ox^v~?=hTUf>sR2J02xbxpbwWKSoJR>NNRwTx&`z9oY5u(RmVTIP^mFs^u!Lz<#6G&r^kiSAS#zQ +MNE^ApX?lKdNl>RE+0_t;IDS6-kLH(S;M?3Mv#Cg_crTmFY^}t$-T?E@U=@gaIAuQ{{_?xsaTGZHo1) +Jp1P>`9yYx9!u6RB$yg2f@W??8;V#77OSkC?kz-7e@W;SoHk#08n|Fv%M!ZZd7(gQZwC?ntPd&9S1BPw-=``PfjS$JX?@j%_}Lk}WagQgaR430}Z6?Yu>I(rD!2pI-aZ(_MZw6{FveLO}48G!h2}a=AeWz{Y +r%JHa0w0G9zJt +_J?uN+{^Yb=6BzR)Y<8g62ZjV3X?(MVT$s0*!_vgJ9-=)z3U?t)N5kGR%=C5!mwTqhr;*$6x3*)n)Xz +U`=_2VrwNpefnM+1Q$DcHy4-i05rhT6sx6yXRR%&5pDr!mK~s&!#K#t>wK@8I8anj^b>VrlkW^AWAakEspP37aohJBSqlSe6w1s0FKV>(6%h^Ub&r6vcK+sM5x9QwB}**%{@@T>P8vrrYzAP< +LD!=wZ@NAZpgDsd$#|k2Dda281=Un26(22#m +)YD;CpF^pkCv^`6vXs>YiBDUG%C$x@g)upUJ<-*>FJN5-Y_9nptC5Z%)eh%Vt%L8bKE_!QXtsn%-my_ +D%W}kQe0+QMJ^B#9RN%1HVgoiq#W~+y+(WDE4Lce7%uain$vs1QJ(wnFCNvT>d~_xgI4b*>obng}p@S +=?GBs=v-5UIhhg*my5eZ43+nT*Pd8c>g-6_{r50xg+>hfZ_l!%-nYmIkBM^}s~!>fjq=(sU_NPvnAaF +L5S&uz{(C2&O%ERhT%i#U_a_JDP>cP<(C=p&NvkAG}s0B^;M8YBvNU1*++xcVIC3S$)7zroogsFSZYE +d`tro8?9U+w#m1Jt`A(M16K;*+`eeAAC=(M<~UdlInzk+(!%Y!Jc9E2JG2^$p#?EqXn1ccU-a$Yft=u +iIE4C8A-&;>5(eECt8z!GWR%CBm3oR_gJCM$BI*`8$*Z{#zs5cQ6q)c;5|w{-M^UhjkOytv4}wNq}-Q +-o12>hN|Cg+hWW^+z90z5z?hV1cLHMF6EE`I40=F=B4%1~laWWml*3TWP1l-*#NbUCk4rLg0gn7c`kq +Sc&AfLwP_hsK`xOFSCr2RnHNXG|tP2t*Vw#`u52aCekuq}B!AuBPhiGuM2rH=PqX`X)pNM4ToeA(d#6 +?Jl)IccB9S#y+kx;a$c!$|DHw9kma3g{1a>76a1hCs4qc|3tN%ZB=-^IDe_v1#kG(p&0o9|w~cr_XmH +oZtBNcSWhY#gt+*%POLf?)Sxk%wgc@VGj9v&brr;ADLY0d9Z-PjVHWVbV%(r*VFbc-%0 +jqfF4IBT`<$B3s`jpI9BLXt}bLCOB?NdEjx&r6R&&{b*TA?bIajQIISL>C&IsEZq=@q_IzWgP +PZkry_jkws}%qUx}IcdJ(&>z*tjy7fbe)U?N2jcaGb +%%)B1ra)QQ++w5WqI2!W;Fr7~;cl4;O8qi^Bos)-_NG-9ab8P0A4e3kSx%mjH{qd1SrT`;{$d^yxytu +~V?eDY$-3s!px$l9zR!uFcr((x-K4oxQe@s}VRmbc9Dmcg4V?W{Fx4L)gt#*ebh)<6*ao+ie|<>$N8kj>$s3Bt6w7Bc!4|D}u +I2AWl%$MoDrd&lBLC$_#se`3AV_{3lQ(C|7XK_b<&f|_yG>P&&iE6pIfcd+WyelQWB3bm|7hVE_idcxxYFE-% +oz(&VRFX|B+1=*hly?`#YnvBQ3(k__gaPt}WpwurrIn>E5Ox64 +=2S%BzObd1_h3Hk$aA}sR>Mp{YZnGLtScB7rQKld_>@)dg4wJor9P#^e3}rJ4s%JowKD25=OO|6w!%y +W0F8Ur+gK)1Jum-KINWnU5h@|fp6)v3yKjLQ-e5x3E}r(?cYodux1HfcvFp`_zBIL=HlLphT+rAKVBW +4-c=y}r>khLO%#n*`ixuYD5}So1(B4SAAr??>GDtMOTnL%=pk_@|;MFyHGrMz1mnI?PT$XJ%?jIs^rJ +pGc=KLDaTGhsA3^Xw;$gRR@g)~LhB!yDCnXq!oj@7DAmsD+#HOgiSX?7`2ypm +JuCR^jeL8VbwXxHL<;6Ho#}D?R~+i#bk2W-^vFo=9D=|dV#M&9rJ}*O`O#j +l!o;dvl)7}htt#Xsn_~TSJx}{DOoO%*^9DPGVv1NLG?v3DI>*3LSN#FidVD6E08a~b$A@7Yw;FkCTv6 +ovtJC*NUtd-1DzwunRK5l?`6cqRfvejr)Etw*e@=2l#iVWU0~ +`)ohirE34|9FH;KpRl{X)!pO-$gE*4j0IBI5}*ZR&YP*G5}?Zm;2dI$sE&cD4b=m4-xxa~pJt)_a-FN +ScmEf3szU6*}up#O%qe;m`M%^f&&y@0k%L5uzhH9X&!&=DRbFQ_g>(Oxv$Y>_cTpBdy`1|=x8`Zd!C9c<#JN7tAAjNuh)OCA1OrZ-{BY+U5>A)wPJ|Ns`>_4{`#1^8SMVn2 +vdf&-HlO1l@BTcW$E|aRd!+T1yHizN{Y^IY|8Lg6!)6sx(SR4taH1_{GV={Cj^q(K6Vqh23=KuVH9JY +3Jbh-$RC@OX>q~+Dep(5y`uVq`oPROGiQkGuk#oG+YsNEAddd0rmiSw4JqjMu?MValQ7C)ob%ap5d!L +HVCBwSXjVwzFmKtNgnlKy%qN+a>i54Cy6*>tE9bI02c>-$YG5WEN=ek52)Gk$**V4{U%?Gad)XPjp#% +vsg@z5^z<+>c8k$+YB;3>ky-rgPI_r@2x^EB~WD46K3sAPrADxIM64_Z~?T(#a!yrkTL_|*p@;Tml~YUhcsZm +df)suNNhg3NecfN3NSkE_*3W8b9{6jr`B;A3G+*Pg)&%Ay=-)Z76&r#E<; +jCf23HH;NgDjOW?Y+F)6Ce>RggZ&v# +Z7U^-kPXK<#JmR`&=em2fRTpBgn_%mx@r+W62H +Ui6DKh<{GiJ#z?_HW@BV{&^3+9>2we}%sf0_kg3}MHvt&Ylq1m=4PC3{tDA-KCNd0RyUOVTSM&pMh?>%BEmU}dq9*83_wHuZUpi%~ubd+Tew?-8 +g?G9%rZSfLM2Hb0-#lQD6I+3zG^T#Q8u^)>`#%q^h99|XD&eD`;2LeTLvuRU~0@(( +;M17~_a>E`AVbMSCW;`87Qo_707*VJ~qJDB-~jEkBL@ANsq>hCfBxirw%4`X4QPQBCP541#W!7W8{TV +c*tT}F$=BEJ`u1j$DZFLkdmFx9hetl2pmz-FTZ+HB`!H^QW;POZh{fBx+*)gs5t#3Pkr9VIewcaNN!Z +47^IFf-PQJhj3~am_uohGslgc1{v6y_xAoQ};K8LKM2B5pejff5*diLjFAs1{>Z=Q@Pzi_6We|*glT! +ShxSm664TD*86%;H>lNe%A)FWQ92zb_z|4A#)D7GVuf%bg(G)pKoe52ad^~R*!`}xqNt?xw4*zr1Ef-0W|)dYv>|M`d+;9nFju3O*nUe< +g46BX{I*q}2lRiVY)lFG&?U(99@H+n9pc6sLX||2KD{doL&Gvkw$7UT^V@2=aq%&WP;X}W`U<@A%WIor<0`ven-crZ@2|c +3D@jwSdv!dVhVJk`1r3B-$=3FHU&s@|Av}+26@Me>z-#q!oWB`=1#otZERiV$>TEvt+(q{)~LPLzeo_ck~|OD9A=APe_^D7WN_L +HLyS;8sNR%}a)ytQ@_nJQ*PE7|vPsSCCKhhht&mP@@Dk1KL@xJftD37z`B4uT!$67C_k+h#rHR+rbc44x-fJP&{02P?(9%?GxVi +a(vcdrQ3bt8bqE8XmDD@QBk36z)7TLo5%0mjSqsXKxOkO~e7PX`r)%qo*mHUE~y+z;y~Rn1kOMgfJ(e +thgqCX5F1w2#Uf0?OMZz=Cn2xjB~uWpS+^l)2&&104*cO9kcmyI>e0p-_!LG80tsvu^BcX2HkCz(z|M +NqNm{>%5rC8Zc8(h73KzwH?rYCxu<5vIUgW6Joik`u86@7Gr^wx`r@s#@cz*yKIx +ONpmWB!KeP$JIp(Rd-TMa39^wZ9_1f%%3ZyP1;MHl=SNW9 +us0nL5*U;KA8RwSKHe>VwT{QwgkiEdi=YRTQ)wgc+Q}jk4Vk$9$_+ipSa6U(Dk$K+mkNNB`m$zbYvr# +o145m8>^lZ$|(-IpxXfQ0QYUXo{^}VtrRjB|Ej3aYsrbE@hc?Y@Szt7fA_g{l7Q(336n0V&mJ8qJ_g~ +n8jH)i=HdX1zLq-RQZyzPR$p+I8s5y`LxqHDd}(A`FKW4Rq3VNY&%XZ6!4uAPgI9C}0~m&B!BEMml;Z +sdv3KC^qh21Uf*1IWVFuaq4*&x52_KoY`imwk3gUeDw0@{ooDe;n%MY +LY=NSVkGevanFO@tw>uDa59b$>lLr*G~zr&DIT|DZV`fANNiIn?bjO#HSJ%MquJmzO+0l!qE)v}EtAz +~Hw;O$@lM%T&BWyS{atohGfcv(C8sj&JJA@rUD3K``|SI$ziOoz#WN9Jv4m(9uTs@qX-Mamwlzg^lUP +9}u&~QPEZVb;Y{rzPq%j-guuBSBwmKdAm&8gedG+as65tb#zgj)zmJ{#4h{V=hETFxeigpIVE3 +&33`cI4`kIJ1InUBG1|{Xo6Vy#SG<+%ILk%v@vyCGWvsbjD>g)fnA?_f9MZOv +`vFhfbs-ea#Ws#HwQ01cqK(dZ}mNbP^UuNLJpD=sIhsaN~Y +@yXuaS6_X#SLvS{ZEBMkZA?}cdw+}m_V&)NGNabzvdOjDROL;!)JCQ1j610E;wQbRRb8reTBMg+rNvT +hbY(JAE2HZghK2Tvsx-z8r-qBNyw0>4tF)=F#t8Tmd>th;t8Bd~t6G)DellD4vCh_dZ&j6RwM=V`-<0 +=esq;GJ*NZaGVP-H#V_Uqfmb%i*SJ|T8<3Uy +%&&%@1wAh~NWmW;@q4!AvptI%K;!3a6u{yeHifg?*E_gQ_S5*m^JSt)SMg2;9Pe+zNVD8PLZmO1iN2$ +>#h0%q{aCO8?!b{6^1DJ3ve>gvXcgWB7`c}`g#ywHide&6gSY7IRri+`bDvO!y34U1Ux?vFl>^Olv?jRE#qwhN;#dwY-6s;q#!@-0#$EA&!b!LC6-`qQQ~@ +*P{Li*#{)n^sH3nw^!NX3O>NrM$rRFSnrk>av@o*qyUujs|8psR6c>_GOsWQZ`^e5_CL|0a9)af<8gZ*A2MG!xX;VTUo+T__Hb2 +1+(1vshO-gq!zOWPnTv5;)fY&ly|?yiTj_7@Kd^ZITbcdo$DVx-`PJJhx+(h`Xl$6p;A}& +tK_vv~k*H%nN4d!=s|>wMZ^~?`(i|8c7sJ4i1wBG6n~Eq4ZBl&3JGlU;GXgeMAFgS03_)PsjF5?=)j- +#^8IF*EHJ{!j`IX +gJjKZQ?d{w5LUDVSFpVbnqepAu(*n9pOAaeB8KHO-a5P~YD$`w%cw&g51evoxw919UQHlF<;+RG)0d=DT9|3wPQJ?!OLz38BkhjG&+&Orn$T%jv=wnjS=T?aBd@DRf^(*sd1Zu90QTNe|UCua-tSjDV`3bsTZW +B+X*ERkdxYJpm}zU@PGiYVbuHc@19F17>V=`QUG~MF&L7NBocANMOhJ9i9twHS}{D0b_q<^kzmKH&P! +#={DygJtZtDX_PH~W!1d4iCj>mewrfcFi2C+p!jOjp1~nK3okVuU#@^8O9;-o9ubz9oqz6ihRw#){gP +k{Iz=%jH;UQTug}%iPp?Ct54HyHD8KS@;^n<5`nMIJyh_%INy`QW +a0!;02MoSC)-zdKTY_~z+9^JauL*JuG*HOd#qcwXZ;)*3XSImp`&5CPP|FVDasF3;ux*32}Q6Nq}hRMk6VKQhrG!ge_0AXqOFAtUzUu`b;}344Dicb$Z%$sV +?@y-u%$hRM|-*BM$=~4XHsLfP$46;Yd2Pa-tdSpqM}IeKhOq^FW%M$ySkFR+S|yIBPiQ;ry-_SFtP$N +CA3KxSUqX0YOo2yOY;=iWmO>XVCL%*iGvxO=?U|fU>Elh_!KN$?YE-j#HEtW3|wg^ssJK`L@k8Ak}U= +JI2>vi{EO7oA=Uukp_6F3pA8q&9I?u1A{oQF3ZFj;P`iiUSZUW5z*ILZxkA8*Q61`s}hcJ*A_%6G(`+ +0eL5>?tG=J*CIe+^wyM(0HL7r)V1^|pD3}xb(sjGN%3%A!yO1?D;xM(yB4z03WKnLm!_i*Q^pSc`=Bu +4QF=DtfNACC_X9Y|85qo8q1u7en63cTSe+em*peUp!Lw-#2`-OC{Zv`kZ*X-KY9N6IoOZf>e(npAnXtH7=yZi5Qc+ +;gFz2zSn|#)-nZW7gEBEvxgZXjr=rxgie<-2Vjt+>05r#|gStGx)3T`+dZ5sM39wL>k +_I+8I9QhJG%J!iUv}G%BEUzWjpiBH+pLMg_)q`%{P$!yZ8UU%7oPQm%obA^briuxp=(%S7r~C}iI*+Y +kNxltF;7f9qj$lId+yzNL?zs*vxmApNjz2hqRBuTU=PbMh9=ISnBb)T0`@NfkIe;!Mh`Y-bzoJBgUlH +CaPZ{u^Jg&%2_s(EiExTKGliX!T4R_ft+q~RjyWKOv6yvQ0Fm6A9@+EYsXcx6$H(2x(U4nJ_!U*!fgD +czuXS-*Uk$*FwNK8s8;#%3tF$mHUG3XrZP1l)=53sgSWIha+r +M_9yN2s)PE#0g2zp>A5iy8$yrb=A!`=orn3!+QaV1BZi-LDuLF6yg&P$l6m)5JS2OwwG4ayym2@UAm< +pzybyO@raB`n>@0Sl%D1sBQM1R-#h-e@#`w-iEX;GkKC5}-dU-`O}kW@k7{w^4_PhEij +PD;yz`=RzI9wY}S4MUEs@)L$ASeJ1TkalRYD6C>`#fUuaks~&aI18e_!Ofuz!|?%*OW^c`}lnMg2>`LpAi={5v{;FEq*;J3cz +UHHDyVQ5#05B0Ahj_+x-oeE*cbV`H-TXFU)uhMtSZcL9*GBT!VttVHZEB`nXgOO6Y%=e?ySo-@F^8_> +$pvlNbgOW8#r%uI#?(2d!S1vodJFU9xYe}QHr7EX^E-Ess_d=Nwx0#V5Uaooe5=!GRo;(;a8HPT%vh6 +psln36{&Tr?>^=;W8*<2_? +qz4$j)PuUYB-HD*T@#(m^~n^t{OwhZX_jDa5j^9E>OJF>~1HW(}HL$+aKfO@ouu(%B~G%b(Ua1`RtAH +Hq;zI12ycLA*~5cx>a`BaOMb_x_I=#F;vNc@4!ilAKBqIX_euTXAr;o==@~!4n +u_sU>8CbCRf{n@=xsZfp@NXiK5uPH+^)-QC8_awI6~|O|)$(;sS{C!G}9E%48LR5 +Ix;Fa>wq#$w!@O(Kf`?_ig~%$6(a;3HQu4!aZnawM38H2=UDDeCXj^|CE^QmcM;HJt^Gr$%Fk`VWb%5 +0SLb>tEFHx$oL(4Yxuwu|JagIT=M^_*)(~;0316Coe1a?mbPp(O7jrh-3tZKQNsPOJHCf&iM4sF>k4- +9X8kuPN*vN7Q6(}AY&rI5u)$yfx+G@Qnp5Bd462h^by1bKus|3J4%Doy`ZXAV-Xlr)jekm8pI2R$pnz +q%UL|F9d2m&)^Mh)&Kqu=X!v^O5?~`ZAGoOG?Me&_-)2VpfjMlS~vMP|iGO6E9)!>KY!&ifl&Th(s?~ +l(1{sdo@AidL?5GBhuYFT2Qzu9DUo0edb#80gH4pTPAiU|Jn@i&HJAOPKTGMRQSVO2I50{ATTakTsh<4d@v|>j +Dd)9#E5!%|&i8>U-N9mbjQj?CUf4Z_|6XJTZ76u*oV(xJD7X6X&Ev-(U-0N}E6% +~ANaUwlYN4uda>Oj%IbctBOu#;%e}C<4gakb7Y=#+tW;Vl+yQB6%E`4_ibuAF;;5GaScnF}LPI0Mu~ma#7|uy!(vX5N$l`wMU~sjz7|fe3%@?`-O9_CTg%M%j6= +hCQqMy^PG5!<9B2-;#u#vdG`3pH-pckXqiC9M$S}9(|z!=TeTB3dLQEP4LUzv{-q?dha}`|^|1aeCSS +mKFo$Z(K{qT-Oarog0Ry5VC17fDQ5%~%jHMA|pZU;0e!~fYEChqEVZIr4TJoe6ZC|YSiC4+{x{IJQ+P +`hI#wLLXHX!s<)mpof% +SSRI}BhEaTD_8nRnh3@qyigT@AT2|X!*L3G+;BBs(qH*GmXf=0K2IM`?aX-ucqJndnoL*)u+iKRj7!VLp-QVW;FUN$vprR3jqAxw#2h6r+{YcIDhg)^ +gE+4PRR-d6FdZykALq@>g4#hemweR#Hppn%DeiawvavgE{doX=evZr+W!`0jBv?W;x}{_=Sg=<>2aFF +nZ~`SEdM>tLsT#kJ?WU}nPd!B)e8-RITI4oACN_cr#F2aQ#mt@dESxcZxX6}0~3RE@FvI!b_KEcy9W* +va}Cg?KKBlVeeVZHXy!R6%UKZ5@?kt8b$RpoIAHy~b!9`Rau8D@ni1YCbD=z@4kB)VS^D8JJWzX`TFc +sY14HP)avTqvhCdJ#V2(H20lybhucwbasIU9mJHNlvU(ln=u&(`k-A+%W>BC=XO$rgUf7OvZ!%> +ujU>6lm>P!dn9f(9;omgZGs%)7s2wI?Ji%C&YEjjS(16+?TYXQGFRX0R)e<;Fp&w8uDsBFYPp4i&h2t +$lUw2`Nw?VL254N9gk&IzMUy^+J0sGJ!0n!be%P^)zB@k{vnCsP*gHGTzz?|q)XIU?mMuAjXDT7PD7rLR*ic5w5LQiafOvu+xMV%s+EF}tS|MM+7#OBMFx9M +iE{kWl7YY3CGa=qfNrusVTPLo6#<>lI;W}xS^quQ;J%VYz+WU4Kql1|5D-sMrq}()TK52PK3F`fBwSi +7>ELqEY%M_xMQje|+JJ+|YA^BO!q}f!$5tDdzwI73u?8d{F!!Gf+F#R|i3~<>NlJN|j{>8xQWsl_5Vp +PuNo*s#EIi}ba9R969hLsj=!R;YPgr7|N(Kf@06qm{kqh?VRfhGr2S;23O*B9#ov}o01;hPN-m1Lh;%qpKS%sAbG{jzHK;D@;bX%x-vfoM5h2u*#a49Ar|ZSCjcrY!%g;289(Q_RUCrE1wLA8^VFN2GlU +yCD1rH3^nUuH5AFgiqH6t3Y5|qIPdsEc%Tl1i?Yl+l80sdF4novofn-7Qkc5Kz1N{8A05HiwgwkKWa~ +A|J*}}^dRg8U$b3QaZ*+*0YbmkzC2ijMoLous?uOxmDj51W<2V)JNv8#-TZ%t}vKBJ3S?j9Ijhp7J7D +&NdTIK^S_Wbpk?{X5xGU9CN3_;~vXqA&6Dg=w+prb=D^06+~>)p*m2=g@COH>GLUw_ +@HrLADgoRRiRq2acyVV45DTkHM1RMx+I{TG?sM73(s#LAdPRf#BDnWbX* +z@)(|OpjxTHjY`JUp{F>YJzvvf3HK!LaK&QIRHIs1(YUql7L+8vZYk^BW@z-)})XwcF?3YhOC0%fr5r +og5&fhh7^56+msmoAj+^1nrw|Ld0R{Sg0WIj@(CC_Bh!5%MQ`dQdNKHM>~rK7M-t8$10Y5&wN3?fVFh +x1Ib-k{_NQ{qP&n|AB~(1bGM44 +7sF9A&r#3UhX61686JFwiS5xB!8szT7a#$|+Nb}otYp4du1IE>>e2-n5UBn3|U^6b8g%lpUZ|QUlw+H5x1FS&)f-l4LhyHKOMttj4O?~9jf4*Akk3oz1u!3Gy9&_x6HStu^+Ogd4%tgukq%I5I}Q9pl8-)r6o{w3Iw +z#^WycE0l1tL&6V!zi#DVhwN3A+LrS(kP#@HF-xzyJ`sNt{pA`@NWel-sxv)YQh2zs_6D6%`e4KeDNOA~xCYX)o8pdZ=wWUH`?x0EQpZgMjvf)%pP!M}|)vQ*0oiF{KNkzpa8F53U;S`XL0X}-^3OoetS+UgNyUB<4ih_~bb8b0j|?!sMS_-85{ybfg9Z#7hM?_+{{PYz!UTpU7x}wRI8F116{`UD!cZ&;=&I +S5MA7@f>=#I90mBJ6ra0zs{h)$WJZ;$#9k8LcdM82P8nH>gv} +y6O8~6vU~YBCJN)*Zj((@FK2$N?=c6mVxaQw)@KSWSk_dCnGPyI$lxz3H4dzQKZ-E>6dgKKqvAe88P% +vo=Af@iw@gJ5Zkts1LPLKcX{qfoP+3e_W_VWFk +SFewOC}q`w(Eh~`j$n#@@1CqlO!7v?6K&DGZ)q8(p0&FvQ2uQpX*K6ab-8ZlCL5cZ% +8S$r!dmL0!X(`e#^fHP+%t)Q^#@rONK2buAcZD{)T{6eVqi_A!4jAAXc)wdF0OaXVaJ1ZnwGXlFw +g)O=N#&sc!*XMtd17~;*nOt>Ezvl$q?P^{~cF$KaaG5JE@|WLLpTDw~kn&xFj$)j|9;L)%CLcbhQk51g-JEGaL@%!VU+9T(d +eg-rmny~5>!zDR&*}WGPCFn?bpP-rR)|(oTp4o=rB(vUe-*gUy{H&fMA#sw46-TljL#oxc`z9tiHI=y6`$ElV +QPw+=9=YX}e{Hy)bmgzF+*Y<4*lVz0tQ+{cUds!pjZqQvT+Iq^#am8@Ks_c&7oIuW4Jy#M9^UBKva*c +q6}BHT1(Rm_Z?ku<}>{2gnuLw^i2v2~bM|1QY-O00;n+tx-`u%ins91^@tD5C8xq0001RX>c!Jc4cm4 +Z*nhkWpQ<7b98erb97;Jb#q^1Z)9b2E^v8$SHW`IHW0n@D=^7;C?&RH%d+EmCb_ifw9`)8X>yA*5JW- +}ViI5g(6-v?SM<#V$xda#9^^V)tRO*j>B@p0bl?C#*8H(wl46`}N6HkQ9Y|^5jYJek<8>30m +ovOJ-J|WaU{c*Gfyr1Zzdt!92FMrUe^qYc$iM1>M?M_Wk?!zcS~A@11moH_UIPvP}1_w5k#fL%YXJRF +!m2ts2Rs0*qw>jC*g@s`p^aprBTjS4IoFE0mY5n-#^|2hnzoyuL092ER9N-Z0g6#(HMu=UzJRM)@F^; +hG;xumC_X#;vTCg>97|5qy67@+*^OUW(3m)Gp4hzH0i$yok2ur>8~n&a{$t%C_Q8vbJx$0eFp)O6pG^^TQhUJT&B@4KZX&QE|OmCAf;d +goU>NC&cMQyq&#!zdf3UV2nA7Ks%OsIzVbax8zTObF}Hp9EhMQZIBoYe`-2kml>MNgAX|}E8WZTczPV=XF=}nm9Mr?T)eZ!o60mUgUka26j(TVlWES;=vG#@ol)8+%^c_SR&j3(Z%mlQ%9 +uR9Cy!I+{opHJQ@ve0DnI<(o#q8tkpL#!_Myl$e#Mc| +3r@G7JX?7nGS^$149l3)v!`ez9xG_0K){UQ=bFELl0HblH`vYpF96V@6^wS$UGuyr87C64tJHKt-;lv +zLY={&Fx!XIVfm%NBbX+3I13rxrYf_7}=@-}w=+KT7bl-W8o+;x4aRX?jY2{2YO=BFC;9RV4ygoMHSo +MrUrGVaOY)H-4KrHmW1%O0ZTd^nNW=Gx(mw?U7$k>f@tJ^;}<(GJ=q5(00bW(D` +V4$Jb91`lz9jCL-w#Q_H~|wD?If-o)mXz@?>io^+H}ANG6`mLZL*8Sd?&0DI&= +hQxRx6OHzS{2F)oPw6|mEKttt$*^U#blZo43sUcvSJUe!RpjcOGT=0hcAO&*N8ad~3!;HrG^;b3OrBP +Q3<-y3`Te=R469FF(f&YwjwTe%(WSqf76rTy8C)8apG>dOq3{?C+G7Ts)Py&KW(1$%Q +*OWwSVRR7!ILul;EEdFhLiYsM949kpYGw*nn83(5APMYvxd9Wb}}ic9AA{v>AvN!S)bv{Y%(2I!AW70 +wW$!8*`epzYZg|ReS#Orq+BkK;PG6tBc^e8I&J?$`1>*W4K&eP&B|x&sJ>=LE=-zG9jyXulXKip%Gl53;?V}^oj4(onG9!{r+(;=?I3d&)Ke+KqrvVnVG_yQke@{9ifP)h +>@6aWAK2mq6!0m*CM(@$U@4XN2G1?eiQ8=Zr +a8lP6WYuWn;8#c-mWqFNtVcGig{Z}hm|Er$l;poAMij?4FdkrP@wf-UqtWSCr=z*d#=a6Lo=$JWsp2IDEp-0aHyM%y>9D89?5_UQ!8#uAPu|pnoKvt +uy$A>V86#0tv<(s3h;JGqK)@BPH>Hw4sb>j_@*;^*PD?QO=CmyLXEWV_RQFNuJFT2u&o600_HD{GScfmEewIQw}B3Zf +)~*tFr~v$iRPLzVzn_1Fp}-2wa%8%Z36aO1$RlDE{CItbgZjGZ7gcw6@92Z04-)1l%u5=K%4l0aLRxR +Es{)(v(@klw;-C2Q$ctHh$(q(G^Ot53Qno-ZyQ_QGs!w+{Hnm~7>XBqdB%(L^tDek%q2L(mRLG)IdMA%m^#L^s~Dm9+cJ(Z9@#LTNnD|k%E?hP!ku77fREj +pf%$mK1}u!33mkU+2`3vCTUHx-#*WNl6I%nQ-1Hhzn}UlQN7}ePER_THJ$cO=i+%LiD#}Su760OqH)G +D%#xfXocWiu#AanHtWUyXbcV)Fk+#235`UV){7&wF{_w==4sHiHDtk199TA_j8*XeYClhevSJ +CX!P={k0`GyV+oc3$s*LXRkada4n;0Vou7X*JdNz(;qe)zgSA()p+{Z|DVY);FZwsJC-(dW1rzLY-rj +o||^Z2Tv+{M}H|y~}_4mk?KOYZT+W*OzKJGu@H-4<4dy=U2%XqDp+CN4L6M!Rp?iYZ;KGKv|trl)4ihTl(CedqL +;z}H=NMvLelP)h>@6aWAK2mq6wV>)$gxl!xbsV>R3vI~R6P=W;l3;^olZ2H^x+yHKYNon9uTTIBI6) +oNMf*Ga5Pg-w&{PR&=@tV;5%RMllvsi@FuRq9yXB-Le-sbc}XRlkkWGRG$KRjTHBq4aH~i!4fEa#^`r +ED=~h)7nZF%e<&?)_PVp-?9q&q{-AgNpkZkuUi$`d@A$Vm9FYo{%sNKLdP!?fX33FR40l<{D$IK+j7|9{+uo<&Gmb7LFrqMDgN*!KS)iO+z685lEAwR>f;i +ZmX;k`ZmEd_r+uks3}y(&`b1q-;VbUDJEfTx+fzR(qr)@=fBs26^@3#WI>s4S`TDl^@qQuB023YT@Ei +?F&|BFLl+mv;}l079KzCq#-tk;rXL7RGi=-u!6fD!I0#aP4$wYZD!G{Olm=?EfxQ2?HZBcR-6#VZeSWtdb65 +Ggu!e72QQ7NE&wJf&?NUZ1Xo)-E7=&!i*FY~e*@<{jxkD4#|2h(H1a39kvIqM0a^ul?o(^9W(A94pg3 +azfZzv_tE(Z;wy3JrvksaL=R_11FV2pS58s@IXD5fp +qt2WQ?ia=N>}>u)^8)ByR^-Jo;6o*c)s_(cP(#$2n( +c5;ImP>$dSXPH_;t@Q^FNHQ?L8f+wwm;aWi!@3{AdGVsB6GBQNt1=s(LV2kEd=^&>ON=Md_)T0~cPjA +xg6cBQUy!HT2;vA60{D|0LrkQIu1I^u4l*ROXmIIxZ%RGzi4 +cS(+D9f`1`f&T8e%0P5=X+2tK{)!}*A{ti14eFSU4XG04NI+Nm%y6oVdyw$&c_QRpOVJ_)Clvwh$@t;adSuv11pe3d{^K ++%V1tsQRVZPLr{#vGWleQ5B%F!-$mER@yVp24gd&_CJ@9T$w*Mp0u%!tAuG-_w5{?MAg~1INwHwVvqB +@4`rUw9mV=rET~|wOp&y}*$ +(wayG;V7X{S6Hb($1UjfSZv=%{SqCnSE~q;+! +`{O{v40@CgB^=-oA`i}$evZ};J8Q$!0M@e1?ph{R)!EK%qvZi-4=S0U&GYb%?q%KOD&zXfw<|{zFJmQ +r_HeU&{sN5H=ev6_K^qJt9t@{(cr+~d&?%=xJBQDSI}@^3QO2FTv(YefWUQ9#6S(ziq0(B(kswZ&>Fe +aSxp`-XsF+UnHr_(9jdk{ae)64b;P=y70I#!6s8I2cVz`?7HtXAX&X)kXBId%9n3h-yh>f6>U6`W(41 +Qs59XDl6a@7jsp69^kTl{Jyi}vNMs|L7xyr7vJ&pp@)H$yX&w(Z3*+u5vJ+?htVRzoZ*IJuiYJKGmSr +u)K-aqoTIw7U@=q+{n7X2OY`7*i&)B-Sa;bi0lBW;}dWd}@$xElBb1yHI1JTQdLZkxY6z?MForh{Q`g +O1!0THQ1*x|(osL9nV34A11yuIavviYg%jERa*+w0DT$^65ul73HQibhZ7nqgL}CD0K9An6jRi{u(O0RUs +2lLlxMDu=R~2FATXUql~A!5x*IN={TF@LV+-Tob`MPAsPiaEnOpwuySLvTvXd3IgJgD_M=>N+v~N~POnu8hooEoN=m +;C{?oL;r9xU%bfM!8nTDI8>=iqI3Nc +>g@cpVERlQ$VDG@Jr{37Jm!6bHDDwG*RxRvXoz2G});N;yMdd6>EKdZPnG?WIAd6*hh3QAmp!FIEGZW +}f|N70Y37s2AQAh)IYvQnq80Hcc_OfKpJRUz1QAPnrNi}N0ywM&grXN@66Sx9eW +xNv)US*(%mM~4&vRP80!c|_81;ebJ2QE9xjm`Iad>r_ecODMra(S3tpuKbn;u!ud1)RZ+<$@lm=b+0Z +pmpdrddR{PK?E$P3`rM>7TO1q+z6f10wWvFkDyQCLvKVJVray +zPc2bfvd$7dv*SIigW*#oq<=#%n%800^m=EX-#@dJb)hiBDG@HM6#rwSG1v_SXvyKH1T^lL&Q0ml>9G +VbJ2W$xKQdcVfv_Fhp%}DaEgG|3xR2c^-t2c8rqhvlnJF|RwXK +-Cb1)y|Asl2w(S`V-U`bcg&1DGClhk7F3t`~gFlgvNou4az!8-o>RAkpd|DMR_ +#GmFlyKvQA>FpdH6_hk9X?rjE<35n~(bPN!?7!U9_4THRstsz59)=m-<&GY8SNcuptN7Z6UE@qC}2XG +$nbDR`nY1b#m=sO0(ggxjzQV$rsi3aR?!=a7C)-JjLt@U+As<9z&d>&^+D44*|u9MR3FN}zS%vbs@yh +bAeF-k!PizQPa#&BFdA4u|Ogn?#?T1iE!F1b#CSb*ChAHkDDFdBzzpw3ueNe^6nw-@>tMrO`YMlh_Th +mnF!2u8fJ@wm}Yo;`ckvzl|?gYOuehDYAe67Ckv4Xyg2dMqd`W$F}AtI1;ZDYjSW88Yk{SfMJ7oWLxQs7oQWKVCccrZ+p}FyuI)D)!K@ +>b-vs3U`%!Sn7N_)okzRYpHi<&bSiF=8|JxghvZxtIeOtXkV|D=s-Rd&A%6D&carH^BE|gy<&siqPFr +dTH$+~JE4>E;ls8UfF0^Pb(fH%EU$FE+fgT2R3)Cni9sRM~y9%by8o2}A_WE8@f<%>nMQ)>7Y;Q?Zpl +pe$Z%v59Cu!Muc()d#H05A-YWV3Vy7^c*&c!vqG43v8AKH>xt>W|TYD8b`LBU4*Yuy?q +5DgLC2bJgiAiM?kRgHesptL}?9rjc;BamM#dKn7F|;`azy5DB2@1pC&m=(1fzTKUtt}%k#Xf^^)HXMq ++G|}<)CVz3RxW!%NzhsZiXr;$%)EJ?PXVkW=YY7>ESJGn#7-%?e?nGc}c|QMTWz;&}12$Ztw??$gZx2~QIo&VE3$kxsp|OKDlwbkPzJ3Jj#?Y?JO>T;v`-lt`6DG896FDlFsIt1?4Cp!mn0&~20n4- +foRm;Kji#WgP(nbCOv}P0^E%kNqeHo35iL*`af2cNm_6K_HbLVKUX0%XcYFt2GpKH>0m3pQ)35C^dE2 +2IiW7;`uyGTcOis{c3Zel_`9rq{Ot|)$T2LZ&_U46n88K|pad7f1Ox6k$FD&`YWX)KxOb%+DY&O+teu +HV}%_x*2L#pk3j3iU^x9qR1V3_Z)Hfph*~e~tnk42f +Z<3YUM{+DuFR1UIfy$gyJ^MIrUKuMN^BmYkrp%oTgyNoWM*xX(f^A76vly!75Wm3#2jkVKvf7{X=fLo +2`6_6z5M%Wb^h9wSnjA6hapRmMQ5CpvsG#C$#86P`{3a5<3RZ+Y%N%3#wJNQ& +(hi;&4KR)L(fWwdx;J*jy6daoVYBIGoz_nAd@dN-Ri;^K;bdgkbQX8dNk0S2W&1F6YRed%!0dMWo +c;u4$#`a~FTA}B>A#uL2hov=)#k$4S!#UO00p}q0x7{COa`5Ni*^T);b3bxtz>Wm>wMhmW +3c9;qnlyj%>BGQ@Rtg3{TYy~oj8YC1)xX)*$#V6nZE6|g{93lnQJoHlyVHp&*cB#ou2-n_`W2GwV>w! +lw+Hgdn7=QQehhn9r~?_yu{$6@0o;VeCN5*Si9Q>NB5f3v4LCI&zd1U;b>kT>DSR%e0*LvHCsRM-VFv +8D9ofLI2+gC9i6=0dGh3|KkV##=E?;|>p}igl2gc+w_p{LU*%JJRfV}J7PC8{K8pLGQe;{=cR`Av-m* +^cz;-j3&hBZtOEgGEY|~nVxgvyP7o_yzt#jPlB%2lF?v7G=ZIDTM#nWEhO1rGDne%D?iKR$J{E|Uu>+&lX@~|4^Coe7COQ_!<9=Y2H6?Wk8XiOq4gxj +D_#RCI<+(A1@nJnkZHc=3==GVrMG*h!Z>;|=Lam2R!jgeDqDvf5XMl;jSbJ)zB$8L56QDN{QIY_;ZPyrBjbIYco$w#rP*Or +0Gc*={5sJ!=pD@Z|Au>+H?(;mP6gkB2YAlfzTMJ)rv&D3lK~h +F(wpz3=uJ&FR!1U(XWq}v%{mYTsf82jBz{*_cfZ*(artF44kk9M(W~{s~N^hXPP?xRiF|eE&qQj-R?v +Mr%g&zd){a^cwGAO00=;i +*@NXgl|Q@xm>h7J#!QnyuSrz(I*++T0 +ob+pDagsHNeVYa}EjcZ7h3pm#^qbohd&7$K&V+3R9rQL9qn^2#cM!#FQ-O5GG4R4&HyEa!CQ!bDCZG-sH76k{Vq>0+2(n +lQO{Cur7K653wuIN{Y8raMi5Df8@gT)>_x4t?){NwGdwUyL|8G$X=5J$1AjE@54K148Kltja!2Ex2Gi#MC*}I +*~pZbUL_tn#<>fwRfQM}F_wQpm>MqXCskuMl#{60JKc&BS`X#(eIdHpDq!zI=pJZtc=ne-g~+}XMYoX +zQ^neJ6eoBBF--I02>#3RF55*G%z>~d?uKWe(vPoY^p`Ep+YyPC~RFdsYQiXzuhk>HKt;J&jqSMI=|M +6WVFFGzL!8;lA$M|dV$Fq$)WzTdr!wNBaUFC=6r@TuBIX+@u(0nPkN)w0%YY0t#>x)bl;>E7LTHLQDx +;g3zB!azPQqAa@51^dUy7^Dg;U}#;3R)UJ<5Ytt=UQA5{$}`WVSS5nb&;2tnS(I}#598<=iL}LQL54i3MJN}NjNjP4%x{R;Y1kk>Pvg)yv-2{LsgW +1fOsLuArop*+>H4Z2av~hDm4i;S)OxjkKJvDi*4oMdu}*s@^cnj9nswBJ8n-LCI!uWksSL!oQVknvaU +tWs0_}&=NN#jp(xmJMHFSxPE00PzZwZOX3ps3>PSPiE957BRHkeD6Et1yqks6a20`DzY{JqefU>Nk@H6TWAjit0q +cg}DDJb|UGdae#M)DdD6u$TqI4ltLgtg-`#||QX6USc00 +KeVj8%1hN+!l3VX?AQy?tKgUn*5Bo5xD4f;^)76hWp+vp*o50>z5a%>c4*my%DmPR0xvEoQxHkQ!Pk( +6x(sI@08j|l}niC&VWJ%QdzbFQ{xx~(aek@Olkt=Wv!Jy6=4-hM{~ui9icnbcs{)kHb6kHV5}dYgg{7 +zRu6dI8u}z{2=~tyGvn8X$eEe$lPizylBwi9-Vb3GGlEwYNv#BD=gDmna4|)*qO(m)@2#@){d=G0_6{ +0#)vtj}=e!9dG5w=aokwJJr=4eNO;WCp7ZN(Vv) +-vi?J$LhUR0#}g!K$12NZ$6GiU#E}DHPxi9?f}~*t(zKhSda#4cHokY=C*cL1nOtN#drWzE$_)X^xzi +UW6Angkv%JU+Fsv#MLlc0MwVj`F3~F=iQmmXkDk~1&(-scbXS}ec#N@zK+nyV!A$(S+jQxi%uKdP3L$ +T(DL%U?%~=FRskQoWT){d>3OtDs}Rc|g&~X+Pu5p!O??yrtf;;c0lvp2Z(< +K$l)GP)p87&bu@9?0{;)M^6DwWg^{Icupee^5^wnYSnMF@C|CeT$&tOqI&v8-SxDSO^4B2}=L$54rb>^|_U7ccTG2BWP}#1vwE5K_N(%M!os2ZeuFCe+u +X-QN9cNMgv9U>JYVles4fz`0kJVE&x5m3c5bVx@F;~IIrM`IfHDEEF(1WijZE!M37J!&td^;FPC+dZf +W4jZ6|GLv;9p08vwSc~UC_Kqj&v>{-Q!Q|fI(xTQRZkXv0gv419E}?%Cfzu&j>NYU)^eLtsF@!WAiftvE7`==2q +2j4#~EPkD1j_mSNx4z2CgC4od2r2K>^#nN9nQtq!j +C2JtW`DN3NwU)H!*Ja_B<&|Ru}m~?Xb=WfzBM5w@Z^TfCJ3?BS;U_0Y7?ZJ$mTWY%*i}aa2WX*khXkZ +>v9_ynSN~cDj@!SAf8(lW8^aM^d}7sx1c!@McdbV02Vsc`HR8W+M-9nyhM=dy7fYls4ih?n-p`?N;qy +gPuS=PwP>EXMOwj`w`1Z5@^pIUhfy`(iHCC;b4Q?3Brc*9JIJ-=Dxf+`*)M%yG(B1+c_;*dFNMeb1uyANMQ@9jOvkF$=?$O@zb`#x%G6l52cCEMl(E0IwYW;4W!rs= +Xe_`yJ5R>L8;skLnS6dOibkYC+ysFB7iwB(!-T)rtV;&{ok=-=XA~cD%ohiHE(Ic-YLg^_wLwU9Mg4= +l0*Ys>oW^!-M`+*?g4qm{}76Rt(HGWVJd><{|P@N;E(_Oy9_xhFATGQUxON0g%HKa{wqXbVqZNYEg}K +Km%A=2KA2wJtOkQE7TG=2wgRHCQthuF*J>n~E$%N9t$%J&+M_zvyDY=_9t +W|!e)sUAo?xc2T+32; +ef*B}rLFMA>%-@7!tV~BzdSq+j}QNJ_#ff7e>**N?{Q7Nf4qBlat{9~-o4A-Klt5${^NHrlfKR;r^lT +;VAQp+Ix;;_*uc88p2SIY*ST=@qb~55IOK3ScgvH~s+HhWkChu#Y@f*eU}yoFfhIm-1Vz4;^0ri{h^q +c^IIR`bujwh7bQOQ6ge+V&qaG#_1o);y$nI7W}Is$Mc3w!YuwIUpUROPOmucGy`jNac(^asx~QwMrRHTq+&3(sxY+sVJjvibPBM;X8qXQ +($uZhp2R3!CP3#y{0Y4hVc*&!ZRke*sWS0|XQR000O8ldVxv9bqYa*8l(j83F(RA^-pYaA|NaUv_0~W +N&gWa%FRGY<6XAX<{#5UukY>bYEXCaCvQzKM#U15XJX?iiSxOLL6Kj{5QB6;$}=!;7pp79^O?xzf};h +*sbrqyWIOJrL9#;Zsb+S@Din3AU5cfO43f+7VJrv{!G}K3MkfdV6^S1?=(XW4U!+VlPl4&VGqvlwW~~ +}J$%i0K@N|nA*e%^_vr4{lpd;|^wWnEk3>jw`BXQ^Yzhl=?}B&$Xo7JQV$wALNLJZ8TO~q>J7F!ermx +G=)bBDf=8(#mKtD-+`C)QOWXNc!Jc4cm4Z*nhkWpi(Ac4cg7VlQxVZ+2;9WpZ;aaCx0r+iu%95Pi>A5 +P7Lnxc-0uMGiQ1@a8_DmrA+>j2#Up( +t%PLT_U*lCrEnb<+V0Ad~$v#u7bn$%+t+Drb*^Wvqc`<3@<|ZHhdbB~|e;=rZYwD!ii|QJSbym|ms-2)F=1?QuBg8N*jgA{d^1XXFS6CNh3vtm;5fy)XfZHp5+ +sM|**#kNoU8)k?cs#HxG8xUEmz4am9ZbWnA&NKp6p!KYqo~^9q<;nTcx~F<7BwIUp*LTY8mG*}|LBoc +^@q2(lpNh=gtM|Rpc)$@TkTv3wrZ&O{NiL$o$~0sbF)a{`v- +<#@d?i%>LLGHa969?140S1jBIH07Cuf|UaMVUYM1+jRg^ve{x}L8+xEZ>%9%GQRauvs;*>Z_BM5e(Uo +>R-c+_#Et)Nz8%QNQgW=*9^w~CSoYe1V}ZSdW>SW5mFtwunY3^Kws@a3)R1DC;u(5D_UOd9VuCs6!O?fK6hDUasnh03A816DoXBY`P{@yc6WdSNe`n{PQZq}Jy;G}4RlD{T7@&3MwZf?Bb< +PE|a7m6SC39xSi`cyWza6 +M;+!q+yJe+Lr6bP^#!Jj9$#tQeU2Ui&hJ-RJ?R0k$(i%{(1jpjX{MRp?}y*Z;r4(JDA25`tuDW-nbT+ +lgN?WVgM%0BrS|$t!{f)uC!pR|y3qt +5UX=MSE5P6tk;!+HbVHaHnD10$>+%(~a8W{&ih1Pz%X>8agpj)c9)#YX16#L)2gTAG0_j-TuAttD-o8 +#4!s>KMMBI8A?m-(J5l&Vq@)E}rtN*RWG?@qI1U5DI*s+?;Go?Ic)a>NgdyV_+xcCz?nP0vo$RDk$~yuF>P_!cw?B^|K+f6%GeIar0!(-O_hMok+Y@AI9e?_uH*)ZQO2$oDVCbXZ&}VUb1@SG(coCNUcY`i<6^OxQeX8Gy(k;gF_LHHT<9#=1y{m+2`{(4B_0NXl6@S!5@1`8YFP +oueV$m{0{F5bgBsH&Yb$zG$F$621KFK)hkf+0+oh`Uq7OgAbQdcKP*0Oe_KlEu7F$eS1##EL$&N#RE* +bgiwd-edrAXO}OH;}_&eXMKc_aWn08w>u(@PscUkQ47%xKV=VL+9x2=1Y3w-YeTA&8{NA1*@H^Q+DCK +Tt~p1QY-O00;n+tx-`qLh1AB0RRAf1poje0001RX>c!Jc4cm4Z*nhkWpi(Ac4cg7VlQ%KaBp&SWpZ;a +aCx0n!H(K65WVkLj5x6p-(I9;A}~&ZiFC=XWpB6^Acq_M*7H6o~89 +6Nm%>(yQuWIdmvn^)#|fY*>e(7eQxs927fYILcZAtK``{i#_g%`fzm+`iQb+hY_Bj6{f(A}V&Xn`9mO +^y&zSUytrbnR07h;&T{7MgtJLBAG62MFS@(*NqXg)N?*`a4@V}_s| +5d{hI)FT8*%z>FPjXUE(ylr|2g%&zGJ5pT-J10{sIZ>L1+2dnIK1TX(TKn8)`Y=_b&bUAZ|n_Qoz^EKGSH+I}DOvU&9)2O6V@+Pzkxf+8XEni*Pbcq5EK#)+dNyu=uN==bXO*P)h>@6aWAK2mq6xkSJZ0062w001KZ003}la4%nWWo~3|axZdab8l>RWo&6;FLGsbZ)|pDa&sZ`;Tfe%G&P~9d8e +d#p1L0_W)lVMcsd@_f2=?xDZ>1tL8O7in1TtN@NQL&qaFH#fsfrbp93mebMp`Kiw{tuvk%XrI_8|$1j +CwabD&=Ew42Fi;H(`$CY4u2CTq%RWV`5Db{hRM9Fq1)*qx|$EF-AkuPZaM?VY%Bp-rtnw~l|Lsb&Von +QxEmlceWbwrE3t4~C3H|%zmtnXNhbNho}o#DU|0wR4UIEa;T#W>8k%Pk`T+fFd*eN*o%iF(K;(l9b8# +hz_8vX=d3lPOW{SFGq{5B#_x_^6>3U6!W3VmNP^J2IYtpARE)_dV*}eqIFI03$NH2$t?dKXi3u3?N{$ +`W5^7bdhV*$lMf?30Ot`dn48dp ++_Y(QO**wy>7$RBkx>$cqDgqe%p8qetjf5kmUL;E?5d#X!yoDu$5PS$}{KU{Kz|j-#6U?dxD6ce0Yb6 +e`ICBHex6Jl3fHw|(>WvFYypTFNXAy90==hEgyJ9%S(Vp~SIU(odVNh0JpB1z;7|bPDrxz=F#G(aEey +3n6zyZ8jSTtP8;fMWxx8ux%Cbskfk93q)vuW^ru$)5-)7_IMCAt>>K#nW(*SkiZN%6K1w)fZehT?Edi +}LHPxSE7=pV>XDz6UUzA1G0#!-;>x@0wU0;eLDm2)=(L~%-18UMTMZ&SLEt_PJ>OwOy1e|*AeqZchTj +FS!Rr%lTcVI0A4VC%nkhx2=P*#MSl|+?siZ?>jDSLgfTrR>GRiH2zsAExi_zfGcOef5LMbE+jAk8RRt +#ks!s3cONWR8TONWLqf5mj>vW%t>*7=tX^->HiC&28X?rXf5+w4;F_7^gXqv#J!>6k@FiSV?jKvy;mT +!l=#&3lo6?tdO6COzmps^@iKoSaW_#TtwK9I4o@nD1p>Zh(X0AXIh}5V`fN%RNOLsqC6rXlSF%HvbK1 +2pAOXd$N25Avhr7mx_XBrLq|k>tF-XkU)p)n>6TWDH-36$&Ac(eRI1?7=@9H-%ZRj0nc2{m`E**jU}> +$NgPh64VlctsD+j;Q}(?aQPxtJCu%(9CG?J>yA$Q+QT7LeO0TzWfc?jjfm6W6(4k*GYwfr>XKB;zM#F +O6wt(B&E9_K(P>*qZ^b~H|7>c3{67k&dI@RLfj_{ohCT2~2K3aNeQK$WZFDT_=>%)7UI1xZyeY`)3 +ZK>cx3KSmeHTRf+ZU@;s|dM&ja8-H&?hG9oDqaA2dWo7c3soW7Kd2jCnkM5+C(-RQ94&t4k}KTOr<_0 +ny4aauABPCP}Au)3IvnAnbwUiqel6cnZGuK5DZ(K2h0l>Ob +%f>60fnu*GSiqiE^6=!`d9#3HF~L5bQjU@_64<4LUPnFV)FRs!cI;DB}&#+?Y-;uw&#k63{sa4(R;X0 +y3ibD+lu#%ZFE0qWz4HqRjpw$=>Y1UsmCs5{((m13Ei+g^yQ>1BoO=b=G^b-ado&q}PLp`e1iCCHDp0>cXd +-Iz2stxKF39pUJs7u_Us%+rSYlfGCv5VJympz#&TZd;Vke$Y1I~DVTG#lz&j0a=|1zbkTXAX~T2|?^# +`LM*NNT@=qUNlkCy9gE<*tT+R3GyMj(H?m=7`*m7x#GHe~-yx)in1?lfeUQQ{8}`z-x#!lr}v^nLL5C +U5*>V7%?N@DfZ`W(`FhNFyuWq+#}NDymK_cC3@Dq&EF$w8Zfg}hL*@Xu;`#s0l7bhR8Z>yg%LVjeDnh +-$jg8Zr~%4VDBwW$Xjh@6^9i1sdK$kXG%{Zgf^|X-JRGufL!e55GDny^9_PZBc*LZ?XhDJm8cyhMjUlZ9dZ +ge6AqR$`2?9`nN&wHO3s!?G@iM5S9uKktdlhvSvbz$$fg)TadJ#+&lDprjpF+9h^q})fQ;4~OV0Ob)i&!_F5 +rl4a~KTr1b58mCIE(K{SMm-fAmf+=`NFqTFKU@3cVQ+T^ys%#xx;x_4Q~_^HBqp)xrmVXzLC(moI~^A +FOH{pV1~Vg{&`Y}P%e9_jc6t}YJ_d@eyD%Y%Qf>!N=H}A0-i1u!$iHl;>kxJ=L3|+}$tL{(Y#eQqg;! +vQ<;kv8UIa!lV>I@)3*zCvUXUxkK7*bHt#3&f?HNU)O)T)4BVk^+3%*gn>Y)BsJ=iO6>2D{C +Itbjhuu&Q`GdREFdy+`pbuFM+c3`8!QCWkh;BQEAEsC3ddCLyN9ta5!0S-k9M(ZA-fY5_Xh>q(jyaAmVc>Iy|J7vhy*RBW72&i$G}j`;XU}CdbYkP +`S50rW4jxy)V>$ioQYlcVNr7k)m5B2K3JI +hpj`<(ZlkJ-IMO`SL^`=Zp#Q0$)2KFs8&i`Zf&QTUh5sM6!aMn#OK +?JKJaouPQ&s=>^#T|{~+2Y3is08#kxfk-<%4z-M4?n~w$k+T{OzvZ26A_q_G ++VV0e8C~c2mTsdqC;k3_4UB3LD;+I(KUIxVJ@&a8?$eyu}}U;fTk1jF*WS8*iD-NZ_BsC4$2>P6vv(D +?2UPRF4@*t!S;&1VxUVl6R~Q4ydzxy`g_H;_7HW;^ex% +Zk+8W_@5L1SYA3p|6|h8RN(^lyDBb$YU{2K9=7h)26aD~b)CWLyfi3m2fK&<#0D^w}Nr9D~zRMv{M54 +S4=qq;lcsO0gJRvp%v7zFf{h@=tId1whuyeYU271S3p%mOAX5%IO7*fmx-QqJV8sMk>K~~niRYTiW*r +yLoJrbDp+{g$nT&VOHT|i7dB$o6OtKgneoJAg*M-qavrx`k~QQ@S2#C67)rl%g!sq@4fINQ3TaIfEyt +L?#Mn@3c2@Vm1kKjFm=^Sc14?bbONSQY~H4krT~#6FYCfk}4r1PFOa7$AUHUPW`2E8K=L{W)PPt@c9y1Vgjps=GWb4wJEiEUu?MMc&&q@U>_wh=W2=L#B?;%c5W +9-Qji0q4j4egVKj?BoV?Bu8+~cl_D~JZGEtIY6fas_t^Yv>c!Jc4cm4Z*nhkWpi(Ac4cg7VlQ)aa&=>Lb1rasja5x=+b|5h=T{Kf#RjtMUTg)1ZP;PJ4 +jr&d5d^A5#abN6kkq8X(EmP4{*-KIHFB^;@`-$WWQvMe3ty$d!Xf`|SY2lN=?{J7cPpT0y4n7| +7dJpgK;TO8c@Ucrmo>+1Gf6O>Nhi00dL8?)KH)e6F`8c>jwHQmbTcL$kj!9+P_zh5IQxG}?sS>sZm_p +ar^m?NIp$TSSOIB6-68u05aHX_OBe!G!{$0Bg4KWvMA&>2owxv}j-s3JF??S{m2Reo02F^oyo!^#NKi +MpQO@X4`-a_gfr%)}g0de4waX#AxFMQ64NQD>h1>y@hO*G;y7NwZ)+khJ~VbUV}X4Nx(Ge(6-c+)>MrFNjeK-5*X0+v5WsvdfP}QR39VqSICi)+EZ6xm&MNBR8I-fX<$qF +7~M19!hL38O+4EotXQOb%NRLe^zPPbP`7Z{uUbCp=}(1aw9F67pFAN{{X@6aWAK2mq6RWo&6;FJo_QaA9;WUtei%X +>?y-E^v7R08mQ<1QY-O00;n+tx-{7RJrO?0001g0000m0001RX>c!Jc4cm4Z*nhkWpi(Ac4cg7VlQKF +ZE#_9FJo_PY-M9~X>V?GUtwZnE^v8^k5A0WiH}#XRftv!PAx1=%}Y*Iisj-eDXO&MQUHRqqWoNir<&4*> +uG>jD4(8~^|SaA|NaUv_0~WN&gWbZ>2JFJE72ZfSI1UoLQYeUZU#!ypWX?>vRY1EB7(;||l>L#1`Aw% +j8YJOv3bGNe=9el%&Nq@tC$`2WA(HXx-uj=84*p3LA7{(9T>5H%-Epo0PQHYaF45ARBdFLbCA8W@5>h +TJ0@_6<1OVMwTilv0RaCJ)g@)t)dIVwK4|us#xJz|c{NK86g=kZ6m`$x>)rcmcUlPvuC_rik4|c~+Y; +(~&l%z68~|oV0W!Cef5R+gVw73w1&4n5j-p&O{y=6Y>e)$a@UA-ntG6VFn)ydU+IeE+;MBi1XUJaP58 +d7V1R2GVAdh%lGL_T<5FI>MHx-Y{0GUa=pV{ZtC(;_8sfNrB!>p$K%$}oY%Q`_UBG+Wr}}LO9KQH000 +080F$jzQInDWLzDmj0P+9;02%-Q0B~t=FJE?LZe(wAFLZBhY%gPPZEbIEE^v8W%s~o+Fc5{|y{CB8MH +F200zF3QqEjTskpv`>WU^>aUlZN5o1cMsd@W4y!d{>k;Rvw|YB(9aal#ExbyWk@RI-%#l2{@o7xijdJ +ggQtL9!vQGbTplZPkYN`+aJ&u{s_kRg)@8Ri(;Ob*aL1$oI4xONdB$O5!Ao3;q;G3FDtVJ0so4ZQc1u +1AZob-+Td3O9KQH000080F$jzQDGypz?mQb04SFL02=@R0B~t=FJE?LZe(wAFLZBhY%gSGV{c?-axQR +r%{^;#+qRb9{VP~@cSzNe)^>XP(A2%tZIhYI-rIKCbnonyy&B4*V#X4wl9Xa6)BnEb0f2Z?w3F^GX5v +T`aBy&NUN|@ai|wwe+h~=wd0TArlY+k&)ycZ9wo%nY;>o5c^CsWP3bm@*JTxaEO;)s2Yz`fao5tqoOIwrp?NmJl&0Dh3U`xI{z6yk2(-o>b%|8W%R1v^AN=M7a5FPVp}vef@T-#@}bR +}u{QjX)=Qv=01afHuk+SNl`n=-rE2W%t7f{E!;k=br$K8AW0I}JlO3Sh)(>3s#g8wZ*L8(c{G!<8KUV +FFYG1DC*-3tXlkeK-$84L^1E^1!6@K27{WeGpKh}n{vRdNbyaV(HYE%hoiX=h!RyE|wFZYhb@lMsl>3Ii=3~H_$7(*t0nxC`$BH= +o!TeDYgZ_s({51M|*52IaO_W8ie){|0qH@1o=JhywdkZQh$~K$oZ3Fsc1)^|M)ld%x4$PCSvSqO;+J} +<`w^+O_+S`R*(crO!`Dc_a#D~#mNykIqSKDn~wnVG6TD}2^5wq=KibJ+RQd0|12>I)x#F36c)(X{54H +#+zCh%8#yvypWCCP}d${58|L5WZuM{yL}WTWm-<*L@F5(%>^VF4BCf1R^I-4t!URpYqJA3S(4u +l3fA+nPwR&pjii);w&`hziPTzuk%E_;Eo$FV_3=#zX{^5%QZ^C6&NCo;9_!{C%v^!EXr+lAiJ;oJ#YT +G6I@JDg$YOu^Ipf9kA5$Xf1Bq%>xdlSRuEjr9i8MQI=DzuuGN3E~_>woq1tnC9BNOfV!Y07Rj-Slk;I +U_QWv*PK3zx21++B(_)&f2}N +A(J$gHIq`uc0of5{)E)OvX@Fd2<8o3;Ia?PNSPeX+?GxJj^AYQptN?0v5MDj(*kneNN%W7~yo^xM07XcIqZWS +d>YDDyjJ*mpUmJlhy2^-*Y9ibr@IV}2N_Ci(VqVa!fv`l}b(-H7O^e>Af|maL(B6VSa{=(g$7iE%s)z +#U^))zz9gsd>NiI84UZQY+*P6bhj*DuFOp+>Jbv**dq2y6rCi`|h`6?M9RoB>&S8$N)o0NW^B4?!|Ap +wf{c`*6L)aPq-Y#LpKTdOBT2)nL!W{tO5T>^Tl9)8yq0ji!kHAY{8J`^;?YXCJR3O6Y}9$lLQ%5jPo> +?Fm1gJDJaJ+O9*JcXztU*1$@n;|$DE{ZRpS8g7raRAWirCJ0AE2J^;$otfV^&=uVZG8t(0HNtT?-z^a^LE!H3g9-Un#&e{;z5u-GDYiE~buL%|GtwfX+h?Glu+jSBESgIXx^F4*Uw3F<6xU=o42?4X;a+gKtOJcOd9M%xc>Um2iIm(9!QFY@vB4tsOkb1cQj6 +3DK{Hh95-z$*6C*qGxc4?*gA(&Jf;``7$6q3?S9i1WI|}s)YT^Up;{9m8{?O5v3c3~>9As>xix +C8suma#elniIcM^7qF8`h+^aa@WurQurPYYV~pEE&Frx)W0my@VCb667PH7e&uSKa6gU=4K9uWI(uo6 +Wqy*a|!DSEc2tfVm_qh&R48jC}c!R;ker@~G;bQlyv6mH!ivI)P5vkVb;gNNy_AM`qr +~QhuD>0~z?B*5}LJlxM&mcjk@mMhykaA?B+p&;~tTq~rrQCX0s?}x<8BQmu*)6IukRPuEk*S0 +B~((gIEn7WEM9r&8R#AbQGXO{cZbvHM@PuB4kp}x$Lbeh9R1STQ`MAUy*QkTg&bpriLu(&28B~PEgEp +-K}C67pdrKYcCS!SB4DqOWzp4zQY??}14fZ;FitW;e?s-TNQ|$O022N1(+)?C6@@~Xl9ma~UaESI4Mg +H39tFs4a7K_ICQ~@Nr*~X7Yg{~;HPDbt(uC!q%U9~ +76CaZ}Gkeqt^KntJLk`cq^@sA9!>(P2AHrigazTZQ#brjlhjTQ;DR)M6RB!_}&NssUE%)<@Qgqx^g-U +AN{*gRZ;%MZ9q>cvWWq$|8$C5r^$&V#{pR)9&CTeV^;gMPqhkZgWSlL)@TkQ7+-8ySQDz|g3H9)^$zT +pij?+R203(VI*Wp5n@M<;GS`^1=8I}}`JsGpE6ZJY#1Pn +^+4JU^*<#ECLt0y0%vF}v_iUu^p3z*y8aOaJmKHUWwyc4=VjAI&-LcMp*q@c5+juPv^RckSl-l5 +B`f^T%a +-w~Hap<_M*9*Lp<94}TQrt86O>=436JSxkD{SP`SeXyko{55nrXA!6r7~UPe~W?G95QaXrO8PN*sTT%VhJs8F_lPwVx?uFxE=2(OD4CPU(deUXcx66Db{e>o_UiCeq(TU!jt$CHY +?#2X9kTNnSDXgc3q*4Ih4viFR@iS7c^FtJ&oo+29>f5A{jUDS_LOQa@7C8n3^xx5DJj(a`C2+#HjJq|0`Hmt3n{{JbijNhZ4( +u@$T@E^)w^`nw(#q_3}M`H&V5!Ci(j{4-Z(TF=^Dw%KbA!o(7EL6E=Sa^?$b}s?~blgBlB`MMoExc46 +2}_39Pv8fTJetyc=_OEOOuoiP8i8k%K$a1C?cfxO*sKV2r`sN30@jHGm1SM|BmkdO)I&d*+59`}ep4# +`PyK+h|acS=dcl)KAUN9AKK~EP|x!^jfxh7YQ{bm4Ng$_1aT&<_z>PY}3hgy!pXzJ(XKnM}px@#)Va7eh +W_EMwiFbO*b9Y$OAJ9%+4QUsfBJdaw(@h0E>X#6ekT)rw|>Pr9a>FobkbuS~;yh)RCtjU_mW)hn%|%%d+V3NW{!8fhqc~LwN +ImC)x_k^nJ{v=p`m>Fu5A$eVMBxACDFcSq7@NAu)Hoco<=t?ZE3^rN{I4A6fda4(UKy0+aTS+pPU7+7 +H2XPqHIXw!!53hltM@{Pk((2p7vnpz0|zePou!qP|NDKPudK8dsm8i;>8| +LCP*T62G_n0{QcV&!5JB3}5v9jaGQL!fk*eyi}kg^ZAObD{Uo1; +aCYP|bBpLCWNxfe3K3Uovv)_J{e!S#S;5zT;}~KV4A`yFGdzps;E5qNAYw#xwK4!A{ejop%i9>|g~urUm8%r2sZ;xGh>ZFy^zak8m!zq>90_ +SMO44;!@HSa~Nof|8yiq(Psm6W_o@WefC+DegWe#Zjn29YsN8NUfO_hWuWD-mFnSjj +P%Px*wYY9XIs5z?G`sxvm)V!so@I#q`K#Ia+4V@bgEnoPp7Fy+?Y*mhem* +;Y*4NKO_@B#s7zR7BJ(;yiyUb={7i+&je%`#stNO~Xo8As<|j65~)&@~XBS#>#*s#!?wfi4>RtrX +bPJ!2vbi?R=zDgKTOgxdw#8c!MFv7oCHDcZQEP0rLMMQi+nx3?uV{%P?~oLmDCj5b9DaQJPt->fjKSL +eG;hN+v&2MKP4dFc%Eihy1b)GGo@x5D9x=P~6A;$H^+8|JZ~XruLNi*}Fq0!WaHwz7faIs5b-%(EQCI +5Mh?)J24QK^f3S%m{HDD{85OS9k%Ayrqq)M|bC$lI710GWYrpW5c@EuH%0!VUl)fug4(@6_H=?&ef`b1;_&3*_ne;7h4mNCsCT3l?@U@*m%TVz^T=r +RSut`NG<-Fwjo~&qn7E&*H%PBydZcKKVUX&abpvy13b0~XsK%;$@f)x0|?<<+oW_!Xf%FFYxv9{Jr +jg)U{qI#ps1}FRnXNBbjuAmL1rKXZ@cw@-!zrghczU7Kqoex160yz?g>8e%=blHE=jfY#$C*41vk(q5 +$tM#j_*PxM~L(rO6H(+h^&n?+9}5V+wxbRMWfA_4=sjwjB~d#Ib$Ubt@$ylJy`Px)4Kv#tsvQ{4}XBKJj*agoS9_e +OCzx2`j|zRbW*1#7Ibs`fw{Grv&Fox_7ks%{{W&}{6gQm2dV=1)8eg~rUT0rPHApKiaj(jYypq?S)Cw +c;D5+urs!JMHZBKZ^b}xC%q<85-IfswgiuYom +O`j)+RdkPMYVF2`9NWb3vY4~+z})T9Kx?CtEi7O|bd)s$8$^h4RntJqtMJKmQkZTSDXHV$m%SCFFAR- +zWRnrtH9nq)98evP$Uk;-kHJMbmUiqp4DC%f22g>VX%ESFSy5YB5}hS2x!AmD8rL(PtEUkR^1Klz3SF +TtG6_{1>&TXP3_Zz@QxWV)lLa~`iO=O!&^RquennHRotd;BU$uRAGkLHQ4dp#7HoW+0;N%f=`|_QDSwuqV9+;cPuTAWQJ_mp<>?cWs5XY1_^B0AIoaBVHHL&xe85Zv2EU6ySX<3CdyUei0LBb +$~iZkMR$YE_8P}iCygRy>z+t*z>1Jx)|RaM#bT3sv^?%nV-fEhZ&9)-jD{$kLuXY68;?PKhtHfZ1}wm +ung7f0zi+I@?X41_QrA$WqIT=6fwq-!8Uu8HaldkW$E9c71#qK&*`I*db$;vQkRPIxYE$ctewyB?-?I +E=@K}1BR-vAJCk0Pbb#fVfx2Yg2Q$Vc4>uwy~RqJ(=w@UJr>$p()LJ +N8^5kjzh7CxLg^Kh4TY*RFx-@z(Jbk-Baf6BQ{&za4~9?!m1XgXXz;FPv%EnZ}D;?(3*v|<)c!l13=# +9hRJ&k~Dn#+LQzCdKhM4E7cMo8xm$pOh<5U-1pUb~^<;2g^5q7SVpK^9T0b09AJ6H)m592lcfZ7j4LXo;(DKbYsucSkNAa?%HnC-qxh*f<{Ec~MD$v?A|!IyC|rrxVHhGRS64n$d;c!)ycF*ncmTnM8VS8?$TUTt-kE-w_JwXLsN>S`=f%vxXw3ICU?Eg5tunbXSno12^kSp?$^51a*dr((zT_q#${>X7bRHu|X$U +*f}^rS_e1|2;6av|BeTb}bu>M#O8e11Fx>b-r7sh%t42C0n +9HIvF+=VrduVQc~&c~Lj20M^EL8+&sL;9$}D78c#$@sBaJXiN7jS=FbURbk$ZmTUT12$~-@9j6-GY7aF@?zymEs-m-Kg7F +yYz^^d7UsXhBiOUyIV7%}UQ61|BS-$d?@}RuN(M(KVM~w_ux+z}HTbro~u4}tDWQE-`EmaFI&nn!kMe +3cC>A_p`kaxH{?pebIZm~8t!^H?q*oxeNxGa-B)5x9yewj>acCWt8$VnGr;>?UrWnFa2|2}qOzKj_$1 +ARf<1cw_ZS=GxWwXI(ogb#g;a0^u<21y1j#!+QPDmT;|1@o>Y{mdOLhq{^9B3smj|FgPn(AK8lx_PAD +m=b@8+|MANLQ~Ajmp4R2(iMA~N85da@3qAc0;p$lqfk|XTalOWq$%9k#;5q+RK5*KB(Zu-@7qP@--f4 +Qa^~%V4pm3KNKIa@tUB%+?C=8bg}D54A=mHc#GP}e7nRq{4xKA)<-&fWre0X`ZLIiw6V6HK)-^)LYG% +rc@5kV~o&-oncHkmYQP9TTcN4BV=F|oxcUy-T(`;_FR@<>hmgO{1IVCKqi_p7k`bOOw1{~Uf5Li*2Zp +-n{slDRTi-%kL-l-%y^Rvh&l#L(m%bw}pdm)3#5Cmxx=HNfNw^>;O>ka04>i5pl(+1Ch0?&B;?UfGn>Gp&;an&@c2?e)}s-3jLKcUguFY>DuxgMBnCDX +(PC|^^#1Q9zJ@_uEd;d5=%qYa02Z{q$F$)i|?@7L|%(aR0U$+0~4Y#BULBnrjeu-doL#Zk +kN$s_F9Qmj?s!^N?C_o>~4H@F$XkowQM`k`0cP*tFiAe71pfG_@1k!ElxvEgc1+|baExZH|vt8Mic!Jc4cm4Z*nhmZ*6QZWo~0{WMy(LaCyxdY +j4{)^1FWpPrZdC#MZ`bQQR5p0>y3@D6lWw2DiAieU4($i8eB+Qj(Kg(f@ukLrNlPIZku?;rt=C$a&9j +9#ryODOJs~wB~ibr@q?pVe*`7SM(S^rKyj`U`km&tn1MJ82J%UzKGw9L3_p+ATs7yKf +s)Lldpl>*t8qLVG59nhM+$7ts#=Xkql|A^*6hkij@fq1xFGuTpQPXhBM5 +@uR9^Fn$p$n6HY}|eN&|mb%C>pIM+Es!T~`_hKXS%?zWRd$IDjDwmJ9fWh#ky!#=Zx1FhaFad09)v?r +yl^tiIuzMRg;aB4bw^m` +ZG^mHWm;86UGRV=4c-;9X4~Wr9n!N<$g*b?1^qfFU`_w +HbNy5T3oU!0TxB~}jse`c#a0LJhgb2ngNbygRS9P%Rz%~H(^7Z+-v-;T)L1!E7Pm(6?w!;)83qCAuIh +NuI78iQiWj1lmCx?Z&rw9x#+VY^?Fml!C9}hxM`MQ)qRvy>pW{Q%t}mQX&xZ3JKR;D +9|53ah#)=po`JEI17|UH0ZBPZ7ynF)rp*`M=4#UvsRF&XkbcDmlS2(Ocoy`Iw^RqiSS&gS!S4pFe9h} +M-<9>ly2eTs#g2Xh25?1ooJbERJ$ayVyR$GqR$Vy6Bj1n~KL+wem~!p4RAj7MYYE4PW(HCghW@#jyqv +ArUm(VpVkv?{Bscf~DmZjszr6_9S!cjA7OaNgU6oF;^yA%e6*|dL`;eLy0t-vBgd|BO4JkxD?g2&1nR}3CZ`!UXZ0hagZ=sG~+ +zGx?0sD&WTlV|KIjA^iVH0{J7Soy56nI@1{9_|)PNadcs;j%azKMd+95z(M0t3rCaA6So5(4?jbTxqN +Yod5rq@ZZ9T!xsUL+gCI5WoctwOj_4z92?f@A!240Ax3O#4UOyr7BPsB!H>D`ZC +cvIPcNKw|jYi~IuW!kB$vnG|8oZiT!9fgbRH-AQ#@k$b@(SBj^%eVY11=HlKkSmfqBF8h`*@U(c-sCXzTbO;QRQ9;vTnii3zp6i)ec5MV +~dWq&Ha7_imE08VrVIyLDpk_&xTHQ4_~l+Q)&<1~FHGFLhhJ9eH!Q!LYRL8?#<07!iJHLtY~=LO|K`x +`I(`SEd`hRDm(=o?$iTX$Gg5@%u8R0j*EJI6zj-mEn@~?cYsZm(}d+udkuTHdhG{{TipBNs)?c`t<@v +Nj1S)kc)bv1(}c_wxk0#@7ExoS>1+_VN9c=*Fgd*ITJJc$~_g}wp(zo)iEb9lkci%pb6Cy^qzCuxtnBwoMBwAjCp#Dwk(0p(zYA>*35o4K^Lp&P53(#<@8cyI~;h}y1ztOHLA=wE3i@ +tP}yga`|h(57jMqmv2S?Nq7s;ee?(Yf6uc*_m6hX68d1>|+mSe)-cQ+EDQXGW_NyQsKWB?<+lOq{d6-Zhhb#p5^0UL1L>r*i`>%L$Hsu#j-he!2w6JM!}B8=Hzl)n@WX(I9MYrmJ|_E +xY6eAj;QjMw~%%lqaz~i +vK5%A{cQG~-Jew5@%dU_Dc9w#UGU3M%L41Li58CVfR-~?&>R8w%ubl5A|0tu~*Z%&eW?DNsPEcu^^p; +V6>0Y4Z9)6)jPj~4+^Fc{v?l38C3kweT4)@jKHM5?AIv8Vz}$?Z>68$)Z+il(oyrg$@vO&8U4^(cuST6_-1>sVJt{ZuQ;pR-Q-rbvBYP=Vl1I6Ll +njGncZ3R5RhwN`!kj2N&{&UM2e)rS5*!Hh!#v%njT^yRL-qP_JKknX0sw>bcVSmm$dCketJSIVk)f=VOAm7*vButrm +7kqWQkQh`0~U`4b92sQz4z^c;c&C@zr5N;==MGN&sC|W8HrFUPuG<;X* +U$rA3UNQ`ohHvF=$HlYj!XxqWq<=v&>?xZ)Qej*vpC4E@J2bF;w@UxVc!Jc4cm4Z*nhmZ*6QZZ*pX1a%E&LaCxK)MGnWRpVyTc_ylKj^fcj>Rmu;9PJg*H$r6CSm8?YOj!rU9GJN`aIm2Z%oThB#FUP6n`7eP%JOqDJgX5l_$| +{qdlc7?&Z^{OyB1#WW=P=Lc_4O9KQH000080F$jzQI7}#4)_270BQmN02TlM0B~t=FJE?LZe(wAFLZB +hY%g?rE^v8;k-=)iFbsz8ehT4B)3qHA8#@GY+ACz2jbcJ0Z-&?&w!$D!Kf4Wyo3c(v`TwL}zm<0ex|W +c%LD1&gc>)@>Rc;Td*I`dBW9-zoAwc6y-;BjYu&o%x>QI4{+G>)r2-vF#MwxU<1*A!oN~`<<>KgbvU! +GGX{89S$XBGk92~i2bXC3wd|E01;>{=G|r;UO`nf$ED4{=PsHiyl54U{YR%MCt6T3ae^*s^*$ZdZWOb +|Cx{d9Gd}GRH`xZ4FK#c6oLlY48^KTl30ccjJ2*G0^GKx-%sU;$ivZ;(T149lD3fetmUJX1ELY_AH~t +mi+=yO9KQH000080F$jzQGIX8#xeu|0DB4m03QGV0B~t=FJE?LZe(wAFLiQkY-wUMFJE72ZfSI1UoLQ +Yl~!AC+cp$_*RMEG5yUDS0o$;L1qiULyCgsp7>$cP3bb@&bD>C;m$>S$-ytbla_p>F9-5rncW$2!o9B +7vv=Dsr6I{W1r;#;RhP4Q_k`imnm4sd?!Q~d1Y(V3cGbEH*PNA(<9aL58tkYOkz`I^)3v6SQa2Bg5XQ +O)0w4_jz#kg`x;WMP*yY+hY;b2*jWf^o&ua#4H&9ePJDwY>PUD_~Z{!wS<*cUx$O#dub{rLTEHS6@c^pK8?E3#aS-M?~B8!vW`7twWD>QHgh)u +PA*%t)sC8(n=S89xdX~NipP1Z9+Lf&7qTpS2Ty3B!Ise^K&b83FMLNE7u2~`z+Mz@Ab(T`WviTQ^21W +gwB<24rc6kq?a>Kw7vr<6s+hAorHMB;kl)Hi;{YovNWH*<1+nad_^a8mZ)#skv_(#Fg4amXi-8aKYp; +8uIe97s-4ErDKbODcA%_q_x5$8g@>6!@%gOR|-ZWeJK{Z?a93gEs>B4}MFm5A>tZ6D^X~DYkbDDt8Fg +uwVZrDa(mBya*ZxT5uC5zNeztKT+BARC@3r=F2PBI3xO{vZ +W8A2fBg3Oui`o;r*q?q;pF +Eq-m7K2KJl)B^_8r02+E$KNGQHJ+VJx@PBL~IHs;9&!c%Qj=V~P_D`Y+v(~R=445?e#e$jIUz5VXMck +WD7Nic1q52Aw7saf`IUmL}M`lX-(c?t4BU9McBEM}Kng)YNnsaw3`d`BZkrs~o*I~oSIUKdJEa8JdCc +*V3QBoXVAo92sBAqax$AMZm@V;}#zW1AEeNQW*lAILOGYraIYNSkbRR*Y0TNcQ`!sZ9UGdtx(BQGt5U +qe{uo*P^ey)OO2>GbZHZUVoZ@!6;;`U5)uDy;@0nuYQ@tm#ijm)QWdc1$&#{V +yA^f(<6vB%Hp|K&fyeU&*L-PbR~qGlGiN)I| +anz0|XQR000O8ldVxv#JD><{0sm9C@KH|BLDyZaA|NaUv_0~WN&gWb#iQMX<{=kUt@1V?GE +^v9RT5E6PHWvM!UqLt+SZ-}$9t#u*;K9zOo$a8n!ORpzkqsPLq7ycGEMV5&~%OY1XUnkA3pLkiy{C3W +Msx@C{!hJpyheVW`y)&!6tE!?Jr}Y?}kO_TP37+EnX4{7!i{yUnFviZ=`;6;NQEeBh6p7r(X*aCJvB=XtvDljYqU06dGWT_7%Afc_ZtE?}>+Kr+6&q$LGm(ic{wwf@uZY`_QYuwhD1p +$-laAbXJ5hm6xfP7(WUeifiisUm0XAJ+cnX=fJ8y1$ijlGM47$Mf1SS?~%-AK~kSjVh?j=lkE3{kC+Q +htRZFiX|*xC2Tv(Eoz?)kq{&ho|cc_7~M=OP!L`_t-pS1)3m*x8lGlJf_d#*$cRwKtPcRXemU7=Te5!WM=wWYpSDGIF7mTxUm1#A@Uql_q^ +zdeGAp$4-Nd{UiIjfR!S{tKsEIDlw$adhEU1us!9NG@ok6A|fv2a866M^7c-%JH8WS<5rj+Ig?dblU1 +0>D#n^^%&x_)%yXjc{G*d8^nneCCuFm6a#EnjI398edki7LDF$84joC5Co}*Z!;!+8q7Y&SKi-<@K( +20UGChxGDn*>v!YQUu^)tefOH+4>x6P^g4U5f??p{&M}mWszq0{^YPM8b0vi1NtFLK0vyRSrdjHQ)mN +onwC~jHhoMz#G_*Docili#lL3P}s>3k1gY0WO2Ym=Rq=eYz%|xakn7M@K=1I5x3nR3fthQ5ObXdP!3Y +undP1^Z%o>+Xd@+^jTBkBu%ee-Rw@PpN7kZPb}X=MooNZTvx`~Iw?cK|kyVpoi{p^q60U4T%$3w~2WJ +Zr&i$TOw>~#%D#=}WHspl-r!=mc(^~>FiH_?s<+{UQZ`}7lH9c5JCRMtqD7%v4nAMze8{c-aFtBcxLI +6r^C!`@>=y4`_o(N-GL+!)cOZLsnSI=YCMPS)LSaSCb1k#pZOOD(Ho&o(4uYxC*R{vC^4afDbip06O@ +oF_BS4RkaFd@IM@U61Sq?5UB#9`ud&9l)HtXu`bIns0krCZfbp`ud8>@C>zC|g=Sb#xQC($F(YkXtkW +E6c?mbVAPs%cN%%L_CUln%>+PS~!xktSCw+E$VUTdrqSEyfI1WA-N6gXYrR~6O2`L0xLsMI<|47xvRv +e<`Pd#o6}eBMX_A-YWl!pSb3 +4Oi`V?m<>&fv7_PpWlH;Q+EKpx=_1%;(&h(qhbSc>JyEuZ(yID4QDfQRz9A +|%)B42zNgih5wHI6#-_a2xpP=g0mYr@p6v_Ca$MU|ldqXcHnil9E3S3 +bJf9FKn9N3jgTd;LA3*~s3rl)r%yZbLTVS`$`YND05JmTm8sIH6Q?%~!uGI;?3g7bSR+}3IFZgg9lihkl^qct^&Lv}%T9+5g+VDHyo#GA!O|A7jx4s%?6E7fXx +Lo^)3Hvb(PrX*Y8cMhFFA^#!yu-_0Sckp1R_70ve^f64g#wY7mpnb?|IMBKq%UC_1p_9>bSgAgs(V?_ +_9%fM+AlATic*r&C}}{TfAnwIpp2~$uKvxwUam#98Mv&Pp&EfAfBgfWA1m%?+g@gGXJJPMF%7F+0vj! +e8X-57;@)Dd+M)#5J%HgnT6DGrLoVer(BD}h?CIpjM@T&{!)p?pW6Nnmr!b2i)I{DR&qz!$f_eAPz4T +ynX01+A5st77c~?u4%B$qK@&At1ez_Tsi6y>&c^~?qo*XT%y%?-q)kBTBI}m5llA81chF``(v5uVe7# +Z6po%&ZliFO|S=om5&uDcllQ|OIk%RKtkAyeUAvZ*$mhdVaP3!~N$BCbmyBqz}X@u4utiSLbG& +(fPjwt4unVJFi@XJCd8aTD^-B`>*GU{o_-@)^%-(v7Gv5}41DNBht_USgJ +IzcRz&ITZ5a?iK@;tcls%QHgO~K0Kno;m^4vmY_#rbxNV4{4*_&vIb!cNdics%(vN2^0aHvBK`Y_an$ +cR)Xv0WUdci&{44Ek^+wYuR*(gx(Kg1{y3&!e(Ui&LJFNvp(?^p|(-@3$6WAfGyeHsI?h{5;D(^rZ`i +pZcSltKWq`{g85C#OS%n!3n?@G+4L)tZFhn`&rPmLpRG-y&&s0gM!I$8_uik%}Vs|=l`*ZeKv{d@{jAN{5jn?85@}Ks3{(%MS+gq$IS1Z40%47az)jE_EBijl(fzH%5X;?saB+R@Da0iSKg^- +Tk4}FBJK47>Afi@rbxtoaE?{{kqkNBnf)IzfGyWoqec929MDyJMV+BF#5wy1PsoO-vSuQsj)j*b6aTl`E#&(v(fp0T +KF*`R9jl+|i(8?Iq5=JyNT*kZhgI-M(QD{tevas0t8WSE(DG!~?VBPrmVeOr*P=E6?v;DbAJnOc{b*P +4W5wVM{y}?G>h4njgJxssN$ +djx#ElvuJ$iytglOU`;i_rmpJ;WPgu0S;rHZ)t%_{~F|dXD#GaUm&f8OjNtF!5S_k-%RfZ!3zC;=jOG{Cb83icCZ^dkUEMdw9a9ER;%ndSc*EJcgq0->PuxTyL>X-3 +1rbZY<>v~E~gMtz^dGr3Ay^J^z7A1q20lYibqa`*QnMiZ79kWk#&Di4BN-XRztSY{@j@(^%JN`UEmQ# +D7e4rmjX?tPfpX<1z%cN#wu~w^1k)_7QGOtCt%G#72O^hY~r6*l%b_xCJIs^j5BKeZzEgoE%(TgA<{b +U14ta`Z3@Bbm<4oknSQ%J@x~p9=uKrm%^Z3+%mzJ={X{Uw->YT~8`hQpvUZrOuEdE&U?W!n-jUR;kZ_MVe3dV9ZSa7_Glo>a*)nhn{ +YSL0IQFH{0HED=P#jwTmy_ZK0hw!OE_smDfpvImIU%B8w%iT?snO9KQH000080F$jzQFQbnwV>WaCyZ${deQGk-zJ&K()8GR3bC`b-j&xdR +N!hCVp}3t*vBVZ@Z-_5|UU`1Ot#Ot8MzX-^>6Y0g`ey_wK#w?ORhIFf*9%89-|(b}Wk4byZ6qMJ(HuL +RKtZDUsI|kM#GE8J65WrE$fpY}b6x#b%Qg8~ar#`=ms2&#TcI@#trZgG(tSixs=2;RSx3G6X8>svTeI +0Sj**%K{K74KXa^fq4Oq$p>QWY!PB;?$|%V*UNl5}yIj6I6Gg$3DiZ}_jr^fs4Q=s|@RES +BC#(=Z#WVKy_45~_Q6&#E96J-cGRt|&_F1)Mx3`!7J!0^&8&LU(zW*Us99|Mz*c``0`*p+#2MaD}jp5 +vBRmp4xLZj~!!u2kXtF@536IJpgTW86PT?xb)5)J?gpsz&1HO?fDmGUqL_@&v>WJc5QQ^L%V-V}`iu0 +yqjUB8;au0ekA|A{E4Y|o!b&f+u$sj+ICDOL&i%UKccxB|X%&Z2ozUo4KohU{z5{FOQfpM!d2w5>{t7Qn^9t#FuXWhGI;e{8a7i;f=_#Gcqg`Aj ++h{9Pg^aWG_@h&H#$|~xo*TTN#amwX+mQGVBDPjeT=3%p0PL2r;MHze0lx))z72R6ZU?~3sOe`>PhYh6}B$X<7xf<6z +4TZR}q7@ptD;8!!~suOArUJgcos&xiu+tZuq2A4@5CfWrB +a{S>hC%<{}Z%_aI*%x1ie~Iq?@z3WcU&kkZJ3aZIk7JaRHk|W%w>z{N9|+QBV>RRP_y+~<47QN+3dVs +ixI-9fmz?ERgdxn=-o}`kM&WzipyP$7tc$YoktqW!Me2J@U1>&g=ERPRdf-tH*2bB;xC>;PvS;6=4r2UHu^xA9i!FIqJ?(SynmTSF9MN;oTabn^F{ +F@P*XLrU#!xmL3MBZWCI~cli;fq=(JOU>Uo*+su5OQ +0ORumh7Y|kWEX3SF=ho%r#P`_e0a*&ah+G1@3{bPkuq{AcX$3iLo+k#QpEP#EZJIKE0$&|UZKr4IIiM +N&YuB_d?O?T@*N8l2b9aRchS}L`Qq~QPblpdVB|%PtnuZGZeYc?8K_f?D*A8;M-A+^z(xKL@5&rJdbV +Z+JHqcyKJ+q$ns{h79oBQNSVJ+yEZ~yV;mJ`lh}~!(TKO$J6})P7qQ$Z`18g +6-pQFVV~&s-zx&h6nJ44>eOQVz7;6_bo>I0sX$237n&c-6?cZ}UVKW0UhyF{T6W~I$2e{sgu?u;|mgJ +$R=&&p{;UGm>l6QfG#yFH_4!8{$id}-aEY5c|(yr-|+mUO-2JZ#1gQgFwgR_@TI1C>Vi(d45Ai4xe9~ +w!b_-VQ$I2%Xt^9`>czA%U~TS0+Ja;$T}%z#l+XDkp_DpaNzDxM-G9coldXQdQo-~RFZ%5i5G1>5j~% +Q&B6>EUW1cvew7tE{6XU@kI?hU~ooxUTd3aPm_f=UQu1fq56x88AlZYFjIc2?qloQnrjzEzOo3yo?(# +zz+c9!4+=+j=}`S0crPZLV=F17=&7%ix#@$jtWT3n#r4?Vep3%(<0(&!qH#%_KD;)ista{Te0T=YwEL +^Do3ABVA$ZJfLA%nyS*&4FDw;&5SL==*Y<{xs^>9NMEeFV| +5O81H3}LW!OgJWFVO-|uNykvaFRf2zxuBTnE}I{}-<-Qlu3W_^jHm+!FvQnj@X +Vy{Upk>A=(8Y0_N_jfi`2Yw?t4L}V6S8Al%kfAbCobMDvy%L4V2M{5}JAfl&i2-g6rJ~p~RcF;O^L(y +>Mb866fSut-h=YNjPP!~Q`Z&M@6nvPAcLtXqF}Bkn ++0^dqlb`Jo#lKVmznzj`zP-3>>_p?e|Cf$omC(3_T#{U8fqk;4hoPH0Dhfuz$Ds0pO#7bfP}bP_QvT4 +FsYPIxsvB(LG<(+KVh{KY_jr%xGKS#Nagl%-(wPjzbniq{%^TVQr-yPxx?YBKJDcxpE7?AOfi#3NV_obBaRz%F1I_#xX~v!53damf$)VWgttn1vhGUS8av7a*Qps!xUK{kAV>3h-ZI&M=z2P1hnkMY9Zr14`vM}-w1C +UHGBM1sPiK=;3=LkEich|ez2#I2o8`8M)tQv*52@h^R37bcg*u4{H0p^fT3S1#`afbUIHL07?{!9;#0 +4@NTbq;_isGaa_rTg@8%v1#nD9N7ELcBuXNlF50&lTrU}Ffgg<5mzu&AIa&LV +ge@OWvLFYI#gz(ya&9Y+KjWMBppFLfbJa>Uy~35h6#2DOc+r47>p9c&eSjzk+8pu+-}hIW&I--yzr_#wqpYa;v84{l1O+S`_clN&K_hbJ`fo@=-h!ML5ikIzZ}~$2-!z8F +uq(-9C_tv@z~X!#A0T&#u>k@v1UBzcM57_N&k?W%?wn`bItLoQ=QiyBjJ~9@jmhSS&YsxPU`$7MLt{~ +z$-&{cirsPNjL#kJpY(Yr#a?gFV@jKfQl8p;!_Db{(hS}610cwGXE@P_d*e7Ao4FPC#XE}$RMf2!SXn2UmY@houEISPx`?aIxEnoCS1pBRP3?7pxlk`Sh!@GgFmq|R?GQ9=zhHd_?( +|7hF{5pJYat12-_ZhWquu)Lq$Jv>Sf_l@!-}7gAZu?MYi<>2+|9|}9;%0Gf58d|QzH=oUfZC-O*oZzeI<1eEF$il#!>* +u#jjh8BG>Q&L4$%(cRZD5sp{<{6G>sI;f{tb;o^muzly+t45aG9CAboutRPUNc&^d+qe{(7>*5>*D=y +y8$4RbpqgVX(p)gSE8+Xm3)5$g@1!ZNP5A%7_0D;^RB_WfiKf(f_ox5we&lw+WDh<3mJV)6b2uOPTbE +9USop&J07UE_P++w_`Tzx^-iupI69XqwKz%P6xYbk+z6Lu-JYK+*04Os})jZMo>0ZN+o3|5x;7T9DTu +IGLsG$y$3%gT<;oJutD3PE=4^@Opz!c2|;~G>&C9n9FyKt8rqTsmDvKfkdFc-l^GCgvm}M*6Z%Armzx +ed{DSciiY?w&_5omf5!SYp1$@48-yx=Az6V5UVnf7^CZ*}&z_R4K*R^u@9_}094b +^yNATFwwMTvVRrOa*LcFdSSAnzLNxz#saB0wk;+pJx8JG67p{AP?9wm)(Nr9CndBDtVs#dZFWNC!&wF +hioHs{t}hN!O)I5HZFfqk_Z2DX&-fC2e)hHoDZbg$b|XFhPnF=#-WfdR(1*;_xR`T_8GPu|I;JA3I)a +YO!K81JBT#lDmW)I7ZY#IA3f`wB+D*caUCUa>&xlwFydZ?D4F +UwX|SpWk#L#Er1tTiep>M$pfggu$>oYe02+bGEUfsAKP@f^hiIBhM_OS(D$ZE@jAYj6&g3SE&MnTe%CPjJ(YCHqx%=X+DC5Q(6^c=mDJ#Ty@)zmcFC!Y7LWys!tqc8naU2}DPwH +UMwn@hD?O?O!uCPG3*?s(E$J(yyfnC^S<-g(#iE!F_`xF7K2Jv`;~&FHWK<7NYxjyW*)V4~6ihrwrgd +23Gd4^xv*>GKu?afO#|3Ldgsfkho{60c@pPv8i+OAU@emIR&*U>4xj=$1!Aj3rNnJsWdRu|4tkn!<$% +o8~^6cheu(A4~>%t-p|*;AeOgKV#>TKebIDD?#^$SJ>`+{C88fhU^&kinpBU{xPu*m&Hf27Q%6-&u<6 +_%`PA>)|t;5qAlKErYo!nTHh3-D|Ng0uP}EdA!5+QXHc|9kfgkn9JfJhZ{D7AD_9B=9~Kq-Ji8|E-~a{6B?89I +pUd0nrWY@kC64HJm8{5h!++@7ZcrJm<~h@hsu6%cB7JgYKwEaGtvA)49!DweFhDcs`)V)o{G?~p|S#R +xK|DsYMvn&x|Nn#KZe5%RJt-wcOT77>NfC%5xTL+_&5C1ydxq&w)QTs$~AjC=NPc8^J5U_XKrs^yZ{J +48uje2?2L^57f?$B1QY-O00;n+tx-|d_=iAYCIA49ivR#60001RX>c!Jc4cm4Z*nhna%^mAVlyveZ*F +d7V{~b6Zg6jJY%Xwl?LBF4)9N2}yIxn#T +K|-LslVP9T?2RI(a{RQ%XWD!`pm*;yR4Aed%ApqKc`t=ZAClu_WB3DV4%~*BLy)RpO#|RS8XFT*zr*Y +pXYTeMftXEYlce~-*#=^F1#gjcZ;ECuO6Tg!c3I#6{#?|9aIU{9KD`r +txA*)1HLcCUp7)KVUga6zYRk6KQNB@-fMCDylon>#1W}yCJI%%VtHMxh0LX_=i8 +!RZsr@9QB!P%#@%z#_0_6^3GqyVCv`JfeTraKpYm;cW81*k2BBIl&5-;>!msnI{ah|LVk>wCFNW=QZ| +9&e|KY>i)V25F#XpM<#xKg`O}u!a>4h)-v5>;zTVtwY%<91^M86XKrY)suBX>Y`26YJhow}xpbLgu&G +5Jc)?ZtW7wY!}t-A97{rRe9YsuuHID=U1)Z|jevkP;Sgz9AZ(@0f`F2Y@K;)ZmAES8qRcUvECA#n9FM +Dz0I8NJxxP>`~025&!(Czs#Gq+ZJ{8cR`JDfBRQdGtn&DQq23J1GsicsB5Ar-TBLE)&4gT+0oIb4tHf +X%M2OjeCg;2m=j!AEGh?>FX5}`#`8H6{(L?;I-0)_t752oXxCo-6_#ZT7mtoJWDDwwJX+R(+02p@-W> +DI$vF*uG#VM2%DDLo8C+dw4h`(!IXTVbu-pI+=z();e7?wiGRGbkS<#e!gZDv;{D^?$IpDJw=R6kVfL +=3Pwst3)@gyr-fw=E2{xcZnPIODr^rwvfjPaj+e0M1|z}rm)W3FU2NU<7#2v*s?9Xj0<$nHjT1id+dp +Tmxp$%k8NU=IA;V2{2qGk~>t-8O=*&?-N#C0uhB9q*K41v0B@s(wBnOHr?;8IclkmKg$=7<}M(an{(t +Uc^sVRIp+(A0Llix70k7JFz6bl8+`w=2`48r~9*zyvIBYp396H^7o1V^n8aRVXlDSpS*5wfjonDgvuF +B%bmIGJ2i1Fixeo3X59aaF@$HiDYuNiaLuu*5_@Y+%R0zrMH@O-9UY)Azgcv$M@Q-|a!9Gp2|S +4DAEeD&n9xLQ6sds$tbvDO3akLxGDeR4Fvs^J1Kv^gnaxHJAi-|~xR-#xp0JCwjyY4$EO$*;wT3JR8A +8iy9vuO{RoZc&2Ll)_~H?5wTiVR{;}U_@h9owxf89yXrHeKqi9g2Nz+fZ@kn(+B^n-j^HAM7Rf_YSlJPheh((SCq`^y5^Ei@s?Yli~@w#Z<_RY{XNdz?Q)KL0p>>^ +}Z;aEhNu?BM53Q}46ewz~$(Z?d;U*x8eu_X15_053tTR%_s!)Vpr>)JKuhM=W?Y3XGXhA?pDuELqr!0 +!36)RyS2S6t3V^y#uxkD8N~ft?IVu5ix)O0gAy?$vIHEB;i{3#3Uk^LX?I!HLy_7gM!xpYMUhp)Rn;@ +2wp(pQ`TUVKDAJttSi)*L5gNuK!X9cf`vI6DsKkLmLm;SO*~3^ig>U3Oa|$x=a!XRu(tNAOW#}Zz5lT+bqvs!8GwklRd +VYgtLRPE$CrYPaFp34(jeeLK!A{xylv`;(Ln)J}U+7MB?vLAAjy>ZYyBrFoGq3>;dEzEG1xT&o@vZfS +Wkp5*XK#*!uqDM)=sH!F#x%fmlqy;M90NbOQ{hX=y|})x|<#4hEhY8gZbaw>y`XH_v|9K-U0i)d}H?A +%I-m6jhCaXv&L^5{m)i$PBCj +1&j~brqMKS3uc=D-CrrfkHU^OMNk`A^@68%owz~13tP1aze6>f_gDeahh#myeJMBkSBV6 +#T7dn!Pwr@sPL1}&oO4_C!>QWOhkx*H6fWCS^B|ZdGLRC&gOkHnyi*D+loD;8#2F&?xF-nYP9%1?!bV +&e;ZqHNW0jh>~57OE7cCbHVkbn8h!-v>HWi`t_$EJ@z0Odbo+ut^@9tgbenMaf+7E54NG&+_T5_5^<;yprVKHWPYdoi`xZqd3QqPZ4ZBRXtg)0Wh!}KgjV +BrU?0QG6B7XzPRNKx`E1V-EXMdBKm5*hEg?u;kWKvAr!F<>Vv^hHzjuLny>zY7hI1;is#nnI#tZX-QJ +1|gX?oYoNwsTi}&ay{w10#2$yJ~a54ZTfV0YZ`1KgUF+N>y1+tA`v1r%B~{inEwx90gy?COFwx}cA`LhCe +IAT{?KG&$A5c*H%-RS%hAvD{EA&XZEBzhNapBpkKUAc!D&mQ}QMfgfZ^GCDj +$wX@g5|K)z79^Gz3$iMpU(4u-c-`)$8k{kW@N>v)$Ip9Zr~^N^Ehf4kRe#9?1Mf>er1KIlHtAxCx2)V@Kl61daIryzo+lMR{fCxWIXy4(wsjqb^UIA{Ewqn`0*7^_rt +^M&}##<4YIS^4%>{3L8Jw3MMqRzqmvwF6GNT&yaN55fWS8!kPCG^h5t`59K$+)LA=o+X(V}9E?=&!zX +UB(333AsQTxa=gOP(?0Js8zUW3#rE2(a~u0i&Y(4>;lzcF44lm^S$N1)b=p18Sc?+gL?_{j0!Pa>*}- +0EsbK%fN>8}$vOQVe}N#~2YndpyZzpe4kse(d-PSiqM)20?=|4u$%BW&5Bidbg59*uC*Mn7adB)qp=jYi~fpmg +CVjDRK*(NskaqhUH*(GQEkjtU#kQh0d3aC@zU&EC{w4a0Zy8*6eX12h|nyXr5Eqo#3a?_$lZx5)a1MV +f|b9CeZGZ`HvSr(lW@Pj2?qI(+^G~_&@=ZU!J4pp}k&S_db=gH +-Y@n1gW^CMJ>=4Urh|Rej!Cj=}3wq#``jq;EvG2WA6X9L88e&-*EuB8|vHejUh%K(&oTMIJH4v;g=P) +-(i0TV4Bb#0{z7z8A3#$gXr-hwGQ%?jhM*V#}~`=;-TB$`p}z^sAo!S-!>RL8LJOiF- +_vL%iYSOAXw7{Et1pmY;odG)8AeJ|=AO#~Re3MMc$qhz={_TkPB^)(&Jk(tiKh;Z$f7C39w6m^a+qDHXyzHC`T*UCk^a@n9tv;Y-ax~UeGl!J +Ku=*d@4T=b6&21XQB=9QR`JEN>Ph=Du07GOFMiYBI^hYxtl`U%K>Q$+Lo>`DGr{+nOPdJ*5)7S}@i1% +n7d#=6Uv{Mvxg6rTCag7T<)HhEIQzsTSri~=2&dA_%xZo;3Y1EDwa)R;H*KN!Em?V)A+2(>1ow&McqIU+UMeFE=EKq9>^uSMzs;{h<(xnqfiG +u68I23=RNQxSS(6N6QBA{CEaiY_||1rcB*NsA<#HUs|%I&u_sTbUIOz3Icuc2yxl)xE+d&$QeKdk_Y6 +&*>LwMLkkTXPgsVJIIDqBN1o4PjtZ>X+yiQ{7=OUAuYJN1KtOjX31rPO|sTLTDI{^(lFf_rM9e0Tus% +#ZBWO7<)`I#RKosExkG41CldU@(U%ilyGk2U~-PXqbTQTLU(VuJ +w4m)vWsS2sjLo6IYadaNC{!15607F0@o6@0h2Cpe=}sOR6Wg1nj`Z()}WLoM$Tc@i76-V7VURnB>_0h +!r-PwY3)H;@Lh|HwX>-}dm=4R|0~e@6iW-hspJH`J&GVX&v>FyIpmg@4Ta+lo!G~$XzK@PkicMvEd}{ +twg(`yHw32>f>Rt+`yeUVJo~%oT0;%W3RM#)_rNu_7oVzrk{b?WBAoz4Pg?TaU_=I&6C{nDJJQK +q-fZQhMLLg)Tvr3!f0OkGuKw(% +WzzvP_t{h3C!Xx9BE8M}{mX0p_59D&@*bxduE8cVz1h{QHKX0~tZqDLF?R6AGB)6B#5I7b^{^leeqtc +O!3w8{7!BYlDlVyAP`?9S(=2o@US1CzKRj5fZAMJ`pdYKceswAcKIzDegpzPp9|3I==KW=^O!}e4iLL|A{^txIKPlaAm#$Zd5`9qGMD +$^c25pr!QEFI=C~B35>VstfcR@&Ym<+CuW871Y!PsL|pQ%FBMXbK3()TT{*s*IPH^UWz +{`~kG#f6s9XU)rXQftvqOPbegSvnqa|WN{;rDv5?=RNU=yn!>G6g3g|(K%VhPLONXyGXK1@^8!CqAF*S9EIbU6 +cc|WQwgC-2y3XK1y@gza3o2vA^msfjRf$e91FH9k~&ZAIMOP9#GKo{;RFWBFK;{}_Y)mw>dg3^d!zk5 +&a;L#S;XLPEHMy2L2+yo0)SJ^ZEA2$->Nn_qzvPb+#L1|3O*>|4`PPskD-2BlA*tDMtvD?~c=(=${=csH7KhIUs6l;l%DJs-u1(-jM8GqWHrBXzL=!xE +<|C`7X_0D2hI9|IWf6Y;$S}YJvp#M;{Il2?Mh7N-qopRL_#(R?UL!TLnJ$NIhaV*?qu2i+B2abX!WrY +qGDnAA@Njmt+<2i740>+RuI?ZGpCeHy_PT|<%BBD473`8uKY+6+&XL{D5Tk4EGj;+ea;aMI9$ +O#xUZ~1*z7>a2w3h{wjH&Y3_W*8zF(E6j_j&fLmaVCHBeZDp@Q>g@U$_?HGNN#E%evrnGFU3h88Kmq` +5x;%)pe>m=GLe729Mx8#2uHEVtVEl_!K7>Yyela9W@xTs;C7%E3^(*}E>q(wn +V70WF__75;SMebpyE3v6nYysY1xEbI#z@0$Xw%EIM?PD8>p8TA6Z#*4We~srPY{*&L^r}9ZjbtWim4b=6aV+<7rF`~735GcH#l +r0o*s~6>>!N`$7oAJ%Lc(yeRc$Q<>NZMAK=`QZR&AoH!ByF!IV&16X{E|maVoR9D2YG>iKqUYqfADwO +t(UZYcEI?fv$usnn_&2_SHotxC&kkJTHYc6WkwC?i^!UKqt@#8KwMCs9d>S +o=80!pRfN944cuWOoL?+5XWNC_Ea!J)ZSl(a2ShN=Rofp(Dh`67B&~9W>IEpxKAp2xoK3zGB>+TM! +k@t)w}VA)X?j)>x|kJm0E=%~-<~*Ic_#QQK3Bbqe}?kdhoqIX_hSkQax%Z +(4~@x>#-TEPG-2=Ut`BN-3Cf?QrbK^D2vJfItHFDdSSHx`UE=Gq0$X1P`uOf8)-X9WQJm$Che)W>N%J* +^yQZljEcMb*(xZmSV2N%zo|J5$9fN=&FVGD}VNhR=hUa=lqEHODdrjbz7?wH%Kf$e0yPDYDt|?|%C@` +|@!$VAL>3D_*n_>DkZBwrQ@6{?}u#2x_%CW1}AnC1Y<*q|3VUM1B+$5ym?Dk$ +}nd9?DA2^@-aflo1IUV@4On6rRJR1|YPW>- +*AVWf{z=07$B2@g_a72K&^>bk^6{}YXcb~})~-tf2#u==>5c#5DXo#C=Uz)GhBh#8K=N6S`mLIyJISd +nN@4Y1>(dvr)449htpkioqZw-sQ7ln#C7>XbPJiF-`hX}i*t;F)t-EeLY#&{@hr7zj-!)fbj~XUb`!A +J<9}iQ?ew*D>ClnkIL}=a2PSB?o-_99Z-f^DoV-C1g64&$jYi$2MHEZE_Sn_@xQA_yInFHH=K@Ufne@ +1t(-@M6^x=@!;q&_!){`lPL8p>N}3;>XSX)LM=|_4VLE>Iyqd|v@%|l8W(52`-_#xh~lo(S^eIOqpPW +G6Z}LOC-@19*m1?;Mig)(YK?B`z?(iODjuVXbE&@vb0-*&U?#Crv~HC?ls2<*3oaIl8JufhWB|;w9(B +f%HX7(m66SV3Xvee);OPToCyDW#Z{bdb;Q9+aE_dL7Cxd8xNfk*Sz!w&qv>*@HBOavP?It +eYO6A7@cG-gL$tp|nFFkyCXc~Ax>G$_ZYA&Z&Z%UmZEjwe4p`RNWlMRzW1(6Gl5Q}Oj~TmNf|M^H|wW +J;gZSdn*FjFzS$#nD+Kf=<~zjMQvmRtb1une3F(Kzgb2HCq?IIV7!CNflKekIR+ubXv-x(_NS +dV!PTG4{E8RhRKBeNaf)f +&_|+({s#Ox&4vCqt;_DjWxO*@#>&N09{f~A3cq^fHD$h+335A4nF~+k*Uwt+!%z_2hKu|w +R!PySu_u^gcPd{mevEJ5a{HS9(wzld6~~=yQa7Ls55333q@>TIIl&w14E@>sMiUYd-}bM3x5CGVu2U1 +Buk~swOz?My?XrN!ETqUBrteXrKvUQ*-Gh`c<7)lBm1zy#Hnksr`QuZ$`^|z58C_LiN8tpvzX%*X{Vy +D%wZF96MXHYs#N6*2p_}Pw=f-?DZMqM-t(&&fXCYP<|UEA@x}PSO1-)$Op>AOMeGqB$#X6bqcpH#x9) +(o5X8V#)d%t+xT2vms@zjS4!o^F9)4YeLj?bRA%lNY(^gpDq=_tb9jPq=Mw3wZh@!|4dzK1=JHd8I-* +t9vx<91%&%J!Y+(}fF#Nl=wcpKuSfB);d0BX#64LkI((pZy`2_ +3Gb`&euE(w8R_(^;Jlc)8xG-mogM0sTG|&No6z2_{>TD~ +LWXLZm?FlQ=FIUuF}dx_Qt^}qp323i0uNbmPYn6yn{V9gkC32F)KTZ_wq1jy$I^?FiT7})&r8&K!6 +)Bcd^nkAC%U1g!F!&Ou9l}=Bfmf)8>NT=pOQG3eY?3`J~$}a63deW~#a$wvK1n?sQ1$T-9@XwEr&rct7CZ9eA5Jk}c0Z>Z=1QY-O00;n+tx-{+A7c3|2> +<{D8~^|z0001RX>c!Jc4cm4Z*nhna%^mAVlyvgcw=R7bZKvHb1rasy;xgs8@UyJ_pcxn7?lb|-tMBnL +f9;jRg}hnqZpFiK8~pwN@6`jPDzerp=f`5&pG5=HInU@28eBm7+=-WI#7_Ak-rG4{nrH+hO?KB6# +rMy_MX()~T1TlJtyx8*P}tbIW2*)DIGfE5=z4M1VLwOT-4;AeD4cG_)e!jOlpHGGQ&)JW$7fcsjvD_K +EIP2bCz34yD1how92?VApKeraEeJHzFxw5neSIeqdigiCo6dDViuROs*~XzPexpM33@>9Fdy#Isk +N&&l8T&?cTgx``&3bLJ0c#FltIJuEA*otkqOfAFMQxq&K7Hg$MjJEELa-(04Z{Xv0qCtr{jlqp?J;w{ +)38ozT6dAKWbF;Ng2Nk)1FsbD578%uk=_k;3ur_il6;C6&1HPu;m6l&btP}ADHF@E5#+{5o6L^CDTys +1Hoo8A(z`&0W$6Qoe_Zigb_$+iZnOU6)#0h{TC0=qcEu8Flo(l!QB$JQEC(?}(HV5eJz|@B+WSZg`JO +X#L__B2Y0G~<{9W!hVunzc_073yggMw?BN_U)G%_^VHgXLO;kPW*NeA9>E-}%c@I1|FBnf0Z%gOeD__ +>0VnjHx193&ZpVv%^RMF>47GL?V)j52k6(4bLber|h8}fE6lE9lFEcnUY-7r~g7aK{5JeQa>OdMsL&# +BLqA(8CehnonZpIV15LkfE?jsgT +6jPzZDUDdbkM9gu%pIS6+6^h?8#4O2b9AtjH_QHU0UmdVgY&Fb-9!*rbJo%5*_ud>^N%!Dr7$^nv}!H +>a!H4TSQfJOrYO0|cKPaul14iG>)Pp=NV7E%RnZ)3y(t>S0lDw-Z>bsQJQhJ2lI7ZaROXXP&(WST-(1 +P5%b!JtzJ$>|gJhE4XC-v8G9`u8VLED3Ky;eB`F?%&qyLRvvfJ2!gV#Gr3 +(F6&15Kq`r!wX^d!nCm)U;=E^HfEwBDwHn!A8dOVcaFz9;Esk+kjxfcE7eXI={y5~RiKAus%{U1vOU& +m>HB^SOGHI4>weul>xDRUYRj-knlU@+51XH}1+9z#4eU=P>f;U29 +}xgUMp&82l$+4iLKNgkjm*$wey$Rvfnh)Te+8l*{)uXd^W~%0XRh{;P~m$?0C-fiYV`4)+!@e)L@RJ~ +I>egeQi0E@_Nf37p#gxN8K!NxOG9R>4-3Bd+k7!!-p-==a`|J4+Byx<%GI$VJrae^HU~6L1nAYi@vzNRV1$nh2k9|Wc)dl>Oui#0!KLUGg`>`K7Oksbf6hx<~vwfdPE3LSzOpKU4 +ZUu;dA+dZucp7=$-f27igQ3dHga1Sp9Rv_G`@#)0|Xa1N&%<^7QHGjZohjsyfK(c%eJja?nUSZd +Nun#hF=8qe~D1>rRW{_hfTiVN~q5QstRhE@r3%Wa=#XKOFqiVxY9H%@H9YH;48~@L4VJ3>svdTk!MZg +zE9kuY!$tk{P>QAtojN-b;4$aF;INcBM}Ir6g4O6PmZ7m)vIY>FN;*DI1x>1`qqNp6Od8t?WK1RfEGk +2PbR(xD%Wx`NCC0AkuNlw_{TUz;NejhrX{wAe@taBd;N82MsGLx2&!nT3*~EPgPFm#C4S?rh1*Lzy}8 ++ftBN&@joD4myZR0OgP^+k%dda^>0)>3fpMW>04mh8NQSL>ddzx?UwBiucVLFtzea%9CPDGF7aF=gC= +hhqyMOpYCr9A^&F^DpVcJhcUx!b>@d2}tC~1O>!y=bvf*`h5ddqNiuVeanu{5Cis-)*a +lpt~+uSJwLnrT)}viiAVLU^g#_jTZ`R57+Lz#l^%WP3Oc{W$X3E4f?(C1St9Kj!^HRF%a5V^_-niyP1 +(xnyd2{&L}-$0GsoQD|2+9=ayBG9{r>KDQ40lm#o9L +C45@EXw_>F)b_)G+sh$@6aWAK2mq6 +S$S{U$QA!zpJKou5Sf ++6w!A?D6$0u_?A-uy8YEe?g>6tHawIXPNG@k+TTRo?-uLDphliYG(F3SpK;m%TZ{B^3*JZvVVYsejRq +`+-$*#ytN!Uu{X(f56pGRhy?^u%3N+zkWOS@#p<-XwcLdi#?HKNjjMYn9jg#{JK!)P>$`I>AhE<_mRn +dF%ak=$P=DbLuBPY7&aRVo)AD~dFUm`w8QD32tUQz1*vc3vn8#3SJ@qAeezohN~MuGb^(H73JNZf2tZBK{9b4VPG7trA +GntANBU#ir~3Y+dr0CG|0cS#I@OpxVrwU^+Q +OSJkDPFz|K1+zDBXG*tI)a_JT3>m7jB+6rM811=W0`?M;WfAukD-#TCx=J!u?v>jG%>kO%h5n{7M_k{ +lfBW$R(0^82EAP5GKAz3IIsAMI-xH&+_q<41 +1hwMYBln5i!jEf@IyBE;DjNOMEKI)o{>y0egq)?R%3Ng*-&+XwNF_E^V2>Y;k1=~3Kb%~UXWDI_;nPo +aNDx{TF{D;s9sIdg5~>i*xGnuC3Y2W0=f|_Ze(|VI3AkMER$&>TolBN&xQ{$cGzUMBlV%^-2DV{f!&V +=8n&_8bMuDj{VX5^N?jRPDBCXR&#(A7_5rU)HJv%6y!h{;qn&r|5{-SNrtA>XluGD_IDf6oEkAoZS1O +?_jpjrSqjq+Uqb--^Ry?=Q0Q=Vl06};vmVo+K20fEwo{*8hjI+ot@z3_t@t%BP1Ob#>0Q&FvaD_GmpJ +89!!sou(6`ux9CsFj1&<@$eCnz0BjH7|e3%Uk5|Rms-6$7#y-$uXVH=pUA$l2myC*TgHnWp@ei2o*J| +%2aQFOaTgCm2d=bYow!;gab$Qk7@jID`g?(M@RRk5#2y;s8%$|kI+s>f=8<83W|?UbQFO8)Z!FEmHj_ +-7@ZO^QQt)YAczlfxPpMmL69c9{iiz)yX9a48c3e)KzyX@z@&WvDp|qsbI;0HOfjLr5VK0sM1txE;ud +&07|j3}rO;GBmH7?AL0%+0js1M}2~69G?lXc;W1|V<9QY_T8Cm7=-ig0&?_MF+EXEqorsT3hJZ>%99( +{m=HWIEJX_X@nt=;`;20GHbz+hr&Gm#lj{0=s>9>p+joJ4Y}vWiwC;u``Cl_X1K!cv{Uln$jD5Ao3c8 +KLc)%i+T!Kw{wI00L~Xc#PqLlArc9oEgz3+8FRR#{@oK9`qS!Y^*D07@}NZ*wi(_ +)Agi&Qcm0)2}Wz4tRWU}^UT>~cpY4A)Ur6prlxUX7dfJ#GWkL=)Ok}o#G+=Yy+ir`LUG@IVa*G@+!wb +;>G{b31-grG9)ls+MpoF}UD6i#lZs&oy=@-XCc!2ylocc%;YTS{I^|0S=gs|aCYbea&{DJL&Xg(jc{A0Y%^ +YNUFSF9XQI&au5M;_p{kK5GclYEfl2^pK~E`eg2SL2{VUvie#^nmZs=LOIFWAtzsFD4C){gC+bFb%`eS<^W{?m+9rQY)7JJTMqyn&RI3VHpog?eyqxD +p0{YLU$I_hORixvzYOm`3MNxy5h-!Z;A3 +jehkM_XHjZp|3f1#H!Gp=T326p%!6n9;~N-OwgCj_qCkt3&`vg8Yn$DRw<0yRx-yaRzz=zlJo2XZp9G +D^scj4pyu#sMv)p-91+J790*{wE{7AX;s~|9q=N$1~8&hwjG|1-_IX(`=eqQ-0dp32>(m~J@aTC +;URE*R9Wpl<>tfHgq{g}t)NH$lfQjOVn9Q0*lx&Wv02*mn@@t>gh&+XMsY^XuXrWY?9eL +yrI9@PfW0s&(y(io$WlPAzQ@c6FN&H_o9awN?YsSxSwIEb6Y}fOB8M*Ue2R*3HFw^9{!8zWMTe+ +F5LUfF;&@}1Qp|kcM{R>b_0|XQR000O8ldVxvFX~+;eFFdhhzS4y9{>OVaA|NaUv_0~WN&gWb#iQMX< +{=kW@&6?aBp*TE^v93Rl$ziHW0n*D+VeSkP4eY8XzcK>?LRd_>iPXdMTPhqNLH9U5ZplYIl9fw`WLEv +MqZz8v%wTa^}sgoHu)i +cKb1|v!2(t{08l`ZN)!drB)K=jp@Hj|3X@vj4tFG-R +HTc~$hTP!L)sD_(;mTwZECr#7v|8X#YUB!*z)(Uka_iIZ5C4#|T@)|o-4q9!X6CFCOrDY39b^QngtcP}9-hAStM3n^?6crwIHNy80h$XS +0#bMfqE@;|@XJ5t*X}OTy0Qq4%^~kiwG0Eo8SVxXZx}M2-cj0vbWMtMKZLELjEDO)ZJcP5EswQi|$T6 +p|e)SjI3@B1D5A{;lJx#+d6WM92@E2qME1<*TD#Hy0HwP+B~-^>(vK*zrP!1rQ3vk@b1_)k()4W#ONF +zzBBp`f2=w)iDh7on4F^X1@mi{7kY(v|z2=|sy34#<9{mC)GpHI0x1-aD#%A$S@lR-g>oG0nKaxkLo!?tg;%+hHB7k)!nB)Mzz#F=*@42D +osCCzKCn_O@+dmEM50b+NSGawTiy#*Y3&Eb4sz=<7rWaXF1EF#AobL7dal&h@9NqdM-AF)s;dK3RIJ# +HXBh5f3Ga|&kL3hXHfLXpefls~zP)h>@6aWAK2mq67Jyn^t6NU6)-eQ~o|N!+BknGH+E~ +X*;y(s=Tf1(hZdL^|h+5?bo}kso<-gOg4B_k_IsBY42n%tF}D+tYvXoS8b*$*_ictT~)k%52x52-@bq +U)1{mF31${Fb`=jk2m}90*N0T+Te*{Fsl3nSK0{>b$w7T!jBrufh>Rb5KHD#&RFw0e-{4I>82B=oOwu$fOOTwU_%KD9zsV}Vu$eBzl +&%_l-{bcb0V3q-N7xP00y~Y&B-gV20Y1uRmZnv<1A&}RCRbNKq~E{(`!7Gf`|A~~WqwR=BtTN7oHB8z +xdd(w2H@)24P+^fx$jz+>8)%uaGeQSsC=zXU3UELH@R8_av4yX;=8-{c5$w=x6SGnXiUEq*E`ZRQ!W7KNY@JhQ**AvhX%D%-SX +tII1&1?CDaG%Mw;EX53Pnu9v*TQmyx>n)mM`hqtFD$VDj?e?YA!SM)P$H3#`f%8ahlz9a1rON)~L!d2uY03A_bfTYF7SOBl~q}U0lZTqc9tZd4OHkfMuh-7kLhfi?$KS_wMUUarVDo{&4{uY +`1iIri;j`LLf)LECV?+El)vlWTjQBZe>D{fH92(ipvGli6R>$xx12Puxnc7c}0gCOHPpR2FSXs;-JLd +A`#zh#G&rQozh!k_cjAb;^WqGo82lfWDDye2v%0MvZ;_fIr!OZ4dRVES1aN}EB$`E(!1}F!1-Z4ZmO@CYIV3m44#$TOi~b>OA9w|LtFEa)*FufuGk~{17Sh`c?$}pR_Pq=Q&pC&Q=n1E9v)zcc)cLkKHVsNK`9#dNvOUAYu)z +FfojhN43KBjp2uX?!PUbpqu2Dzk0IcF+0X|d+!fzsdo~M@%3W(4wxU89pAz}AQ?_P!K4f)TgAhah0y1 +u(`K20_=%f{3_MDG`Sf(L6M5g5=JxThqfdsWINzlFkGe&NRwq+{*APhI{hJC$9x8&~jSN2?NQIS|+w9 +H`|Y?juD3uQooF>xpn(ukC^WQlQ&kx23~WQP~baoMAlh%chTII;=yC(NEdw@!3I@kD3~**5L6Jz6B=` +B1!^?=Z%T{H>1C1d2?Qjtm=aMfXFOzXOrB%Qd@E>o{bwzvfiIMUW1X9n;p3fomrz2{6|r +RtI~2ZW3f!AhheUUc(Iz0$nuaMXD+k_{fe%YnDPA3MZ4kZv=||lkM)dZTHi2U$wxzxm8&?I}*e!tl6F +~JOKTlLipEYf+S>4N*yC;aT}{`xMN3(8~}8}UOk}qEY9+K0T;xM^&N+oS+iDPkAMTllW2$vRB4P9+>I +(Tz;wB%_@K%18{i*-@fzOqeheBSoj4?^x?M`sUi#m5yERA$2*dyc#z!DU(#Bhb(s^b=Js2%zW}G3b37 +3#qa5+d0k2dbZAN(y3;3+m%CYu8Si!&W}(1$3IA0&AsUE> +CIgb#}tJk1t*dSO7gkD^xMd;6_#gPISWA;0U<1mdhr`JbAUn9;V7!S{YB^qN^-N +x%mhEdTQ?zf(GTW^S@Dk@@pX4PByT}LsJfo^88ej;Md@aiuH;Q`5SAc0}1q$Sf98CbJhLpKcoUocKA; +NvsWR6e7n@3zhf5^tn0e^u;kis(`0(Kc^jHA)&`+#ZkK2I^?=TEm;X@=GT9OfffFdKL?5#BNQud`B<- +)`h-lPL_aEA+iBU?c!t3i#gyP!mPLG|xJW=>)oU}`-E{&8tKfOR&gZ*0~XS}ri+ +;UV^55D5nj@011h&x96n?KJVy2C4IE)x#E|HHac?MHQ>3;de~T1`r**u>9(aFedTckwS*W)hus0*f16 +u_J&bs?7ASW$Mdm@u|9}%gm%6PRMeKhR}n?PRPD10q3n!35Z}>-AV-i@;W86=! +gDCfcwIGqYRd0Zs<+P{q_oXv7Q~c*u9yuPbGNiXZv=?WzQd!#=aqQP(F5-W=NbEBYukz +Yy*2%Hk91gyM2r0K&-`L5D0-Hs~9q@fOLb3K5|EK8%hUyslaNGHs2|j#QZDUY;c3BPB*2x-nQX;%0jH +WmU9rdel3F=o^r8gg9#C;YAKH^ocFoT%=;TfrI($bq6Fx8#m(0P1FlvNy_>iIgMqpC||Qz)sr=I{sN5i&^8x*wrer2fGW?`QD=SZ2nF**MNbmNZ +Oe9L<5weAzG~*q}!}fq_%kdUf4~w4RCfn15ep5kUvBS>pP)xyAaZ-BZ?CeyQk0O-iMFNv+3KK>(zQMb +G1QYwGxe#_v$X-a|*Afn!n6uEVlo%Smul@D5au9(q8iRS@;?qZw_d`lRt +cW6ufxY0;|45nE^D>PNX9$0JnIvL&Rtu`=98WDu3u%{Bq(!8yXx#{|NHn%NJ-(D>=H;()QR90&Q|G2$ +-Z_2s-kdhF@I(ed{jE(%g~WF!eYPw+ir9X$5%3k$?Q7r}cDT3-?-D&ofSw{Y)3ap3RV371O8g^CP$;6 +?G}Kejs0&_fIZIS?eWM@22kTkWzo-$Kd+fgpyG^*$)uFqkL?z{4A2HKM2^6HEPe?!qS{B{S5&VNC_D5p} +MuXAgDhhFk(N6gEkeE}X6Z#?N@*fz4 +k0+XW3w9kY=nm(|T+y>+g-dMnLxH +=mJ0$is*maO-(D9awPs|&R`94$to;4;m$;Vz=!$$n8CxGrcS7Kc)RDVO3+v{G;U<6Ov5lTiD#!z2M=k +H{Eh(07LPe7s)aMB5W^B%MYF<na>^l2mJT(6R%&Z=(sn|bla~Pjs`6vgsp?B)h9b7jQ-%IXRJq{Mz +;Rchk)JISp#Q=y(x9h7>f3X*IP&)L!M!LBKW~?*#IZE}H@0*T_>QNCrGSJu{mT6maJ7Ug;Pi%=f-J3B +ILDOKBH?`KMm$_N2?VY(X +=KR`y{3_7I`Bp4gxGLS!FZ;fAKDsM=4qlX%96DtSBk6w??)>o<2Frl#ReV=u7F^0>+!F0)JtrbC@|?I +iXQK750-FzlL-_6}xXP_x9^8igVBHWV~ka0MZGxbOxM-5%VwG;cOm?q-p^lYqNzL(O{>hewFQUMe;>l?>1M5)VJ+4a`Ei*v-m#daRB)H&FlBmDDI@jrzOY}ck0+~=K;l +(w#oI(tXXgy^q}5rLDFnO%A~5+?{cQmeu!>-1*`V%;d+-fH~cKpRXW?y8xznP?6B)bw@_f2C1Dc4yWG +nB#yDQvl9hszJMqDnlG|Dp)LUX7tSZ^w)y)lcp^#lwVQHKsSZS~1vpKdPfQ7>@Dr{5at|TNWPOlG`y2 +2t8Kk#o?l9-D`o#X*TsVA#$M^5iCpeIm1M2k6PX}shPCH#E`c>abulp^yok24ySb)Lif4B8ZeOYxkor +QqtvuQ~3pBYdc&&))`R{Xy{I<o1YsfobEAB>ELid}7E=ES5feJEy({ +EUqwz49%5Wg@B%BqS(8z7Ju~DKJI<&7Y_mg1)$QVo=x9*nYnFa6jy@sK`U~@9?{Z|Y{sNvQ|7{Q(uKcR3W6!y`8nl|{xN1(WNu~C)%!N7vw2x#K+$G2}^U%s +~{7L|iLsL?OPy*1nx3Kx$1n_;1ive-d${>Yi%aQ{HzqINn{4nyp$epA$CA3or!t$RpDc#s%Z)L!n(W* +fQzKP*wBtVD3MlR`|1opLUn<=!i{Yz_vI;Dx0Pg7@GE5JjLhw!Vo=Tj8Ue8wp5=IapZ-Tfr<_+fEalqLE6!YYFwin@~AXw;q5+de)w*1<%R^YbVs4ni7_%}6t2&u_Z +57*BnMG=slBQ&aJoh&^$%*cMVASV6hQ1M`%AMDz2Q9#N*__65yA9`+cHF~1RYV59k6qGz9(j&;Y62l~UEEqysUs$lkiS&-m|q2f&cj_pWn5cBYN{Jv +Mi|MJfqWuGlfkT@Lzy?|H_e;TMe^WiSz*b)<9hQ+@RZL_@fu>L#-i(43L6RMX7`n5#PKl!MH#3T#-!~ +yRS-Cz{6cfcq6qaNMyU3S=ug-Ol%*bW>0Ttj@@ttt31L8SYaKIW2 +b!i=H49qki*t8^0gT6MI8)P){1d=7n_*4tR*n?u<_^^fi1Z~X;_O&1+?EmBjmt@So1Z6h=+rY4J8;4b ++CEgM55c-8rado40+(B{9r{5@#@&6BF=1afKH*;o`ceyxp85D~D4Nyx11QY-O00;n+tx-`+978Iz2LJ +$q7XSbr0001RX>c!Jc4cm4Z*nhna%^mAVlyvtWpQ<7b963ndBs>;Z{s!=e)q39&_38sHJXRM83-0ZCT +#*Vlc1Ag9|i-Pw&<9RB&rk@#~q}QtV9~A-L=r`QJeTiWsIAdCEtlKc)9mTz;PoaGRYk)WGrj&SW>QDR6!7q+5hX`r+!~YM%V=?rWVM{WYB^xe4g|{r(+u +{9T}IW8@$^i*SGU2@2f*#Q!cHF0bDZKZxwTDvAT)ChfT=CS_@_vWzmVpQtWbzJ`uvX>@6nu(I4@*MT1JH1=)4dP;jyZwh6V$keaW5Ofzb_= +sW{?;8a)kP)|!Wx^J7K8mlj|%Y`z~oDrsg1JPAqipaZhD+sw#uB-*QlXN6jKEL@P!$~*Sq_No4b#nqS +uL!hb$tRNVjOpD2)6VVM4fSQ|MvoKi` +Gcu@ue$`i)^(8zbBua+_Oy2o^99kr=we-2BQ`d?H$s6hAGN({bD~VIjM1i3%Q@lFr%(A}eVh$bF(hfK +gHNo{a5;Rg4C#GAtB`8jT$^-r=bd#uZ@i=0tjtFAA>AlCG#k|Q=*y>l&!KH;;NLCCkGwyO_2Vkw=3`D1*8-?+-o_gQ95 +dob^O>O_H9BpmNue5(Qw;wdds<7SIX9cixT1wbs&>eSH}OutRP)myX^3Iwbf2Y2HyHtK^@Sh|T`@iF6#z +eLMW01G^WvT~83Ocm~!aAzBet+d6Yq`?%lA6!tx7U1E}UGtN$Msx2u%X8nfl>MBpa5OthH4mJXIaMjP +hjTY^)*OPgmKU#A+>sfF>@Wv2B88DZ=Ij88~5q;CO>9b~PZ+V|uZ9yFP^z5t^<83+&N%$AaXrC~Ddm% +ky`9H)$w#}cX;c*A*Sr`!i!+CqP8Z`!Fn87&$gY%g8?gZ)NcSo4^G?=`33|x6(Q!XL?h}YMu6o*WUbi +B@@E?Vv(_{fsb9rufSbSdM~B!QgWo-JxvF$FxDN>>Trzq}i1=BLA5JB!_hQ$Q&HuGMKPt*eA=4A+OlF +vy79hbud+;3HA#Laehx$8NEe{=|lrqxIcI +ZFfEKKcV!YLEuxNuka%4vo7@b+*>@!!~18E)!Zc*U{`eU@k4;(x2&M8(c~p`LE)ikXJ-6d04*k_Kuot +cw^z=bb84o+R%Xb9Fohvn`4ak$%m0huZgR1h3=)$+&mr}lRITY&>*<1~YhkAG$Xi4vi-;*Rp33)$eX- +M+rr!DPQ0-q$=OY;KL>4fxPY=VTzHY)Cl~$y)`4|c-oc3UTbuepH1QQRI +F+OM3|~Y5v^IKQAMMpjZ+9m&9H9|}d!sC7 +;&CH<$fgo50tJ1ipB|twq%(+mol{#rdwrwx= +%GjPAg5;4djjbOJt~97}y%2u~&E9pbjgEM3YwfBQ4)xI%3U9$J)B_m0Tge>y!IyeZqb2q&%JcxH&G{^*H`WJl&QVdZLjPH<|lK1x0(J+-SB?_P)h>@6aWAK2mq6uYTqH;iNvuGC!9z6j;ePw|W8N4*@+FtM569Y-L|~?;r>CcTpvl37(`O)Vz;{a}gB=0#qMFLjpAR5STxljO-tln3(Z-=Ky1J1x{-S+QEB`HDeR#r$ +5>3QV1DMA5*gRdh=)?)X8dttiW)G%YXj>%l=??#~V)_{dhXvH&~}#Fx3)*3lI`q^8`8Uq|QB`yv+yJW +M>97g;9ebz0<=g7eee-G`qRDz$4qYr<65$G9jiU*--u!d<*=2NJZ>Id|19ttLwxrl^1l_)RsK)Wu{CvpzTgMuU}=>=v&?{TBWdogN22hX0wez@VExQ8FvK=^^K4{6an4uqmU9ks(BmUNLTZOjUn3=hTl?SuFqP_HS`p4D#-x;D +IrEBM2PF-!%5AenZ8^sTI!%pC4V3cA_mGI#{21+bM)jH!BOxy~1_!FMN +>cMamqg}Hdjz+XQHi!d(h$|Sd9uCHX(PuMQkX4*zS0jBo{;Ze($)`4=us{^xhyWO3F?4}?JSQdaqI)Y +iiu(bP%b7j=lrVwUVXkWWt;snoO5F}rH~faD*Z@zNL93^&nVC*)F-sCl!d^2_(+Lp +>_9;QWnb&ckwx4p2DHm!+AlN9(o<{@5zu-+x*qB@#uJ03TbG;0stL84hx6HjY%bvm6Di~V#8vn6<00s +CV?^W}wDz&1Wwhz&m3tp#t1=@eHDdV%EHin87#vG8z5gCdULIFR6Yp7=7WipWB7m%<5zpg!#DHCWqlj +OGiN2W&?;63RUweg*_To2JE-Aie6Oevuds-$mhQ&%3wX9NQqBQYmZsyLDn)z7iB5QlguFF>H +AS%$Ncy +x;|Ara=BXdjYvEZ%*d5HqG(gJ%CktZbylT`!cH62H34b%ek9z;%F9GDX5Cs`xsq)=jsC1%Yk+BW63s6 +cQ=SJ2l0Lt(27gWs@8M?$4 +2y%R1!iveYa^=K#Y5yUk-1*rNhb1Dy*6lF@_T)J@%sq0s`)*7mdM{HWf2TF107D3Ai|?f188rO+B(!8 +lB^N9P1FJUmVxookEMx#n;?#^74^offU`y7oq`wF@9!?(-%Va$UR=LsYxxrkV^XR}Fb+OJkTS}q5+r5{q-RKRrEsD&0WIUeUi%qrio=D#Jo`%`;oS +Z{;U*hZu$kuhSXaVMzuyedONmCc>MYU$Cd^3`1Qm{_&_?U~KT%57z4-Z)lvMF$h{L4%zt3+=H7q}YKb +H6Z0pbbiYxGyDhz+3s3`qNe*l3&u{6nwMXhM%|iADXqEwO~!iz@MP*pj~|WJ!}Jb2tU1U7S9p^^*4t%X$q*aSWJq~#?jD@TMz= +Hpm8gSfWLg=;ckXk_{)1^g)z>p9qyo}tVc#?fV21QMvK_)_|Kx3VE63c+^p2mHRp)WQC06VIzd32%Bv +-;tx_OX( +?NxG16F}L`(YkoZs+&Fyc#Hw2)ZJZJSP8;B +@V3vt#Z-)KjvvW&&}Lv9N6r52jK +4P}0p`MI@3{5ECPJeKt=VLdt?j1c_u%&q3KPn%CSpt~8PyA=m8#LF^8&Vi=2)h|XQf4U}MA9&ej^poW +ZRGQ~wGRT)$?>DPhoSDZ+;;aNLd_E}${f{w)HO%5X1yLg|7^#uz;Tpz(9zM(Oc*M}EkRm~EbC+K>lqr +p#4UNVnE_qlv>^os%fPr`!?RP8|iL{$+jlQNFpC41NnOVkLE3k_pI!(>x5Ik{)lX$Hg~A&sD_r!XdjmBEA@`djuQv7gP?1gWa^-1dmD8H$HPZXre +%~oBx#23tT3)xA#aOd<-Fl0wjc(uvR}~3wi#L~9PL=bGji}5l*z%g1YCK)CApXKLsnXiZadJrW}!eQo +KqrwU@x8=Hs(Q?q5wV1DlMv%GYi+n_U;>ijx3#tCB`7oOF^1l9_iGmxYai+R`D(=QBDtAFKG#G6tblu +08E>LYM$Q&#mpcKGVY;!%}9NusAKO&$?i#Wo*9=1aNuRnUhw1f>HTr&UEQqqbWz#R?O2SnzS1X2>}0jPO%DkFaU +2RBIVdkFxa_*o-pf3uR*lT?jeRn#B|3`8?Gt|vRUNt~UVoloj?Ql0oOM%s;VwmQ2B`uJIvemKz`I +li#fnTQ9WoQh7OV0c5~XW%WDijyo1D}?!!IyX7FL6Pqzv4+2@MuX^Ak>}g6Kkcb$fh;E%Z;S0P +m?QEZILc)>M?^zuWpA}TQ}{6w{kPF^n3OI^OKG}5FM6p>1oEWUw4$Uym8tE10`m_}#$p4z3Vj!2<*k? +77vnDy4jklz$lEFOXLIpwl>{n4AHCx)e+Kq+|op +jdJf~+Tj(mN^lVeR1=FhecQl!Vky6RDFhtxz)JVjrbI#k>ODXG&y!W$wy*GVSvv8qRbj1P-8o>nNhS-A;z9 +Beas0LYAzkS^tFk#lGToOt)MgtJl3}bLP{}bm7#G%hS=$=p@g-Lpf7%c8PP4_>+h!a@;OO#3aQR?4k@ +asb(r3uw|IN?A1NJZ=A<%M&gr1t%QlOSJWd0opp8xFlogX&s}s;LoS6kqP&aBitN*3S +`shOjM`gu{R}v3mVLZ88 +w|p!YtZev*Ud?FvfHX4^^abCkft1og~=Rs!+y$LU=z^JcVKZph%DN2R*R{?8AllZL0h;KN6HYD4k-=g +0TiwTRQ@qKO*lDCL$r!{P?1L&kcs4;Wr>}*u})WO*(ceimhEwARryN>6S4 +;^KFm0cdnTyWrtH#6|(!@T>a_Ypb_k@1_a0`NEF*=8W5o_VJbNh&}&7F`Qma0?0 +BQIrbd5Ay~6}d1-ANq3nZ#C3rUT->l%gI(F*@TA)Drc>hX8hrA=$x30bgShP)_po7feGzM +Fx2imK4z6q?Pv6ELLrY5rf1IW7q|l4wO6;U@up@1QXA(E6j}(QmXb6>18_jA78zpS3hRC!$+N~$vz;U1NHU*f(v@u9{Z9O1Ot}Ko;+q-B +wLc^&+3s&q9LNM?mC0^m+CNeI;$@YX*F8Bl{M56>5y=Y1gjvYm@-$*UW;1ym5%ZIoD_}B%HK=Pdv?=r +jM^Hm|eW(^hrhD1z~?7lKB4a7wbokiMhsSk;38r}iI!#gD`%x;c=ELN27#I3;AbmQO1%4JD! +)uU-B?o|D;OP|j(d6r^55|s0!7XLw_ZW*&&uQtgMcAj-N-GQ`8wLa7VQ_wqhGU?%62f$}8s50Yr^_wq +Vf=0|=3bUuCdt4JT|2H_Nd+VgV~QWpB5o?3ea3sL +lSe+H(LF`~IUxOgD498-SlK*lZ9qV+jR>dWL*k<^UCH1l>H%C%f&d;J(&1$t*NwE}1;QElT4$rDb%aE +lq70_onO{UUfAPl3=UZKtlkPr!r_ZxU>ZY7pQ6T5Jk~l3G$f2K +2+>UwsI#pkZa|JOT{Gd5HLWXLKYk#yq=mRm5vo^^yuDDA0>u5@|d+w)XIsJ)@^sN@wn~RQy({d-Trj= +$MIvhO&Yvx3)dF6MaJbgr~H~l$E+D1A3t+ZGIz~nm6)!;O0%@y$I(YLUwXiRPKDk!&UuYwW~5Y4&|vY +?Ji;u&u*gi+)h-p5ZEci}&&-7x9wfBE^eswEUF-qpCpDBvv}Uyqcx2Q^1(a=^^+{r7`i#ST;U>|vE5< +|V1xEz#?p(!$#tgXYmNKpFf)acDhr{XL&Q=m*sC|!PzJcMBgf};gHM!U4~{t?y$x +*@Eo;v^(dG5qTabpphJCiKeJ(s#$E5}M>X>ReSO*NAM3c>{)*<-W%csyXOq#RHX7{jIxgaG2PfW>k<3 +R>NK;LnEdRv>Y3vA3z<*|A%ap5QlkraOT9Q4EWQIHl(@2%$z~(Qf)3MqZiM5?e9*hE$3YaSH)MmB|RT^!EFgIFCTb0FlSjj-J^yc_k++6C5k? +sUjzFeDTI&IhamFT$$k;9a&l~~Kvx+3eVtLLEKhd;k)ukd5_aWP1v4QvuWX(D9EJX2-ir|}O@9w>HLM +_1(?7@!W7d8sJVM-KJ^RAi1#kgriy+UcYkV^XUUJY|l;It}6 +;p!M%XIjccDfgu+IW1Lvq5E2vpO&(`&<9LqsQk-)6<{{EfwL?1o7P1S*oar-S>W0N(n#fr&9(QPwcxV +cM-r$nKVFq~w!2wZT%nX(CQa7THo6L2oKB1s)Ke(eUV!HQCT`y!Et55V|x%MY@bM +NILCzW!t`xTa6xq;=3e-z}?0CKAyZNZ*}IfOxj$Xl%WI7QgNx|T6WN8G{;&@(`;O%+m?;}AO!9-lF{e +r(1P_fg-R9XwkH%-~M?V2{YnC$AD|-(&&b+3*PE(+`reXh31K=M7tTUZz_(*WLD3P$hVYPs`h8FN3lc +odyYy+@c`g4%KQ(0nEo;s~X=&R=~enNZrcPF50q7JjmJh*Cs9TJ`fO^c=e0C_QmsC_`=do$3n}7 +f|HuK+=5RD+G`weSK`%bSb|cINJ`R%VxQ97spUw=3&oCJN5dxwcS$1{UFzHKN!d&S}rE__)5QqOWIKC +?B_%_;Q;EdLhi;uwZ1@D{L9;Q)IVTrQQmu6C0!=lhxO1^k?*Uk>hPO4@@0Wy_nUM4#(6T%ySH5gg1!b +M|_vDIJf71}75I7lqIyPy*;d)S~ZXdJy5ejtu{>dr*&s4>S +ssqDirOXx`+61F$23#Hoh7b6SS=cK^^}K(Gp1sg(Sei^Ov~f?h)H5Mj%P-RC3ni%zn);I}S&E5{qFb~ +JWj0zv((kYiXTdxjk-RG^4isP9ynPeNkg3Q`5(UBvQL^&_20EQ_mcR8|y7T2Sg7AEirjLy2KRLoN`{_ +a>w(&e~0sDIq{U=fSNt1-*gFN*x(ck$1`yqWbBmOhzu5CseY4?oR()|fJC{Io|=}j|9^4=_yP?E|2r< +43sT(!MP4mv&dM(j#V1F0<~kZyKF0;On>@O_26*eZpVeQ^zHiCM8q=gv`VOzTjww8|#+|6PP&S%R@DC +^b=4K?h6=_IX8ztqX6?RJTI}BeQ5@-`EJD|1_62&!_9(j|j|)uAVccWI=TiRm$KruT;ezd*s+HmxJPH +)w$7~tO32SHEI3zsc9kVmY^A5Q!Pu)4eOFVhqZp@);_!YBiVR?e-UEX(Y`A$uO~^Q{3AmKc;9T&)w=#hfx={g01!~;D^v@(0wKdZ8xrUFewXaq`2hYR`Q=nS#Oz30`eRR$QV*%IR +2lh89m1e7$;0O_sfT;+75W=CiqBA$ogd51R?`bP*u +{1<1i_n>b(der*Jk$o#e{5Mv<68Q%QPnE)7FI2Vixk8!Mdq>WVJdY5qpKsoBCeKdlSXI&Bb*-fBrIn> +&soqyh`!ZPWY_7_6I_XQkP&2gD8tb$(=>nWu%1PU8}3DbNCMkfSALfx=k7aor2y4~Gg; +U3&NraH03kOp*ASAOsI3zPBSzW`860|XQR000O8ldVxv000000ssI200000CjbBdaA|NaUv_0~WN&gW +b#iQMX<{=kV{dMBa%o~OUtei%X>?y-E^v7R08mQ<1QY-O00;n+tx-`bgXtBu0RRBK0{{Rq0001RX>c! +Jc4cm4Z*nhna%^mAVlyveZ*FvQX<{#5VQ_F|Zf9w3WnX1(c4=~NZZ2?n#gjp6+%OP@@BS5oF5SRlLoR +_p4hwNY4&4N2+a5|WiZpAB${Hb!o$kM{WOf^88+xs89*@3xdT%U*D0aPxFpwTCf)6wqjp-ewi@*dL85 +INf2pjLAcAaqu=q3}$4d}QmM1mA%@Dvy*7Db_P4<@$Kdz{->7uN-(Cm@f(A;*|FEsw=F4{X@VOR0;N} +K|KX6a(@=Cnr@>i1YqW*xCO?#VlHoEMPS2JK1{aiO+>!y8vyxV=-G__d6@fsIpx@L;})o{NOw>Y6CpS +Q6Ri=8>&rvD)Ae$Hv}>-Z=1QY-O00;n+tx-|nR;)W_3;+NcD +*yl}0001RX>c!Jc4cm4Z*nhna%^mAVlyveZ*FvQX<{#7aByXAXK8L_E^v9ZT5WUNxDo!&Ux6xfW9dew +lgl?xbsb;gF(-LTrKXs;bC!x#cB0lhNwS=MV2#lkUhJtM@!*pb!aa4(Za +fZ9Py&-G1<7Ec6W<;i}WYV!hYm&u)-*l!ZST32rtY-Ezu3+GR>)!m#e-PSLA^=J12MCX~30NQX!jjw%M?>;d=mUiBWkVDX-JEkPR(Ubg?A4D7W}mX`(_07% +1K_1yn{}o*&}qyHGv~=BW#sJ3;?#BgVtRimVTWm2{nh0Sv5w6|lb3&xGbukR9FkypCR|!R9qj)c{U;E +)vXgfC$97$Ne0*pZnYq54fU|gMw)uAQm?0#orJ*n9s`2;>d0(lo8AlbHE3YE&5&%S+SIF4hmfxkpnZ- +9gM0hy;^~=@qrfkYGrekipp}I>}k!xR7`f^iJ$jZ*U6W=>*Vg!n?GMK?~)&v%i9k(Kafju*3>OKi=x* +tx!E9pg+GNhvg*J^-sS9(1LNq)Cft}A7hsyX;%xn{asa?6qjeTp-v=&742iZO3U;F0@NHWw!xIPvWgS +2b=*w$S7OZTD(>snPP+=mKi<4y2Hek{uu?d&1rO4ZcCHi}0hPkj$x!7(o(9G8dT9@!uYJPEC(exf9l( +FQGaUu5bq#+A$YU%PijQuKj8QE#vx +pt|gesR5UxgD39USf%Jl8<*UuVWqa_UiMG-g`z8DwBTh@GlN2oSQQqlrY0>+9I8oRo8o6`o +;Z(-ar^;~2MZw2(n=P7xn&d(?3*y0zu#!Nv}-+uSd&R#%o +w92OpNQVKgIRV-kbO?SvIA=*cowq#+9Cy7Wm%Wb0pHF6J`FHptDAK+l&#Qv{PCP>>nQ;K>g;q{YzIVZ +XxCsK|a_qlX-Rf_%J2wIIHEo|Bq#EJo$9UIt!VK?~Mp)o=ZxsmeUvQ=VfEiajEmQ=5hrm9mFUfG`KN8 +p*G7w9Tdkv2m^;cY0oP7|cV}T5Y?w +G~%($$xtW+gWO;w(CX9e^5)Y|cg71pu!B(jpa2Fb1r*ME9x=^18JU@yh)O&6Hc; +xGw=FKz%Hxh0<%Cjis^~7{^*|OJOfB4DXSa4!N6gQC6vgH!~!a@9J<$DFAnWGg2EDqkn)(i}4{`X5zLs(uBBMbF9^L$;D=daLoxM3frjl+MLm(;$~fl +PrB9&>TQ$_vauvbm_)22upHrWgHf*RCn@crp+89!u~Ym1npxA;%7H3T75wvjBbZ7?7a&j17kq`|yHE{ +h=tF(Gl7wC+?P(ON_LZwZbL&fwHsA7iJ!5;Lp=JXEQa@EY% +?A&J91MKk|5I}Wrt|#itpk{VLfc63s`?2WONhS!-?#o(ahhBs~CmYmE!?l+IO!KoaU5~YLvb_0t{pri +HBmDMTn^%+j2b&@KYl7dD8xv?qtcR!O@7#&t!O`_d_M^85i6zxY(9dQUq?pBS@DB^}GI-NKNzB6(WeY ++FzgYc0%uj*E?WdxLT+nQR9vHsWPFwVS*Y}b6i+KL$zlLN~sSO*L62mB4DBujq`sP`T#~IqAPda3lfk +?0uWsA;dZc|}!F*Sc@!`Y+dt2%Qi>7Yuz~ +X^2AQIo_+n@Y0nPg>ZsbVkABmI<7uVsp8KR7O)%+B;(u+#OfcOa+Kqxvub1Q-K+rd~P!e`bdu+85FYo +IN=jBOL${LXbq@hf9bna@Zt7XG-*puJ|`4O@(w3-(Be;SnHBo}%!+b?o~NU^S^y(!Z!2q4e~uR|}qAa +8aoy;r+yw~*!E58C4u#noPPY9dM})w3g6<=9?g2%|bYmiNR9Z6je%-9nSFAg^D(9@68-?A#V)^8R``i +3T)-7Nm1iuNRGZnbr(9CgTadTg@dbE#@K+dQK9&9#XY(l+SD!<~sHQdyWgO!0==@IaPnJyF8m=+Z*UR +G`W>f=8RPdpi;r?Fb$>+7s$mn&e*!$PA8v@9JsyvMw0XIF)=u+_kv-_$&tVW-4)^)=k)2*-3B8bwDkV +xSX0=SVVq*T-^7n;CXX==bJfY!7xrPC%x(|N-*KYxTxdT*PSkk_K>7gN=$&YDomKSp03I#6nCXsZc2s +J7By0LfXl!mnKad8-`OGtz$`L-e0)au$)Q{&&&cL!UC9Mc5>LBjR~Nm=v +3@H39iSWI*LxU7afOZZ@)7n_$oY~0L`z$@;D@C!KU>{vQh^IPv{n0j_e3~t%1Ku*4N%uEwb*qU^?rUY +UpIMR-cN$zq$qxVi$pD%o{u%BCJeBhG~zsjVK^NrLc88%*ncKRM*twhCLL3Qtb6rm7A^I69?3I$OPz3 +9MK|FEjB*IV4F@1^|_^<%)&$u+71~)6*h`YhSexz`S^l=8!q;Xe}+IyxncDa<+kL$;GMmGX7<`s9b8* +ao=L0B+#{CI;IrloFCgyCjpqZN_Lpa9bk(T +ZW{%()1|xU;-BC?e4z1=P(KFxS9VO#s6>W3=pyyj66esm9j^Vuym5P2U)?jhP(Qe0S{fogfm8WT&H*uKt@rD3@YhusS=61c=;LyZS#0g#x*lQBCA_Rtend-Y!|NStbp138kpA%c|Ed+g +=Q@1EI5Dhlm&>0;$pQ_m&j~H~^s&iPPf>~LlI|Q*x9671_`h7;{`Vr???%_Fb__7BXds3~DGCZ#yT!n +cKb=0a?JK7`aI}H3KK*FIx9IVkbJJwzc|3YLIbP=}mvmj90dV4O8_fY=#vAy3{fH4_AuQD$6j|3cOM$ +fWRu`Tfq*2t+&@SrOWPa&}TuV_u70mT|U0*a>rVweZr6;t$rT;&`Jux@gt{zb;{Hya4sf`WhGAF0}P& +QtY!KaTfI8=AtVB=Uc_2!0(hiG7M_?01e|pXPop34^!|&7ZJlk1iUtnn!1bWW$L`u`lEkXDiz1KTt~p +1QY-O00;n+tx-_}i?Yq31poj*5C8xt0001RX>c!Jc4cm4Z*nhna%^mAVlyveZ*FvQX<{#KbZl*KZ*Oc +aaCyyF-*4MC5PtVx!Knx!cdBBq>x%(nFfuOmzEL0L`<>|vN+ERn +~%kKf&Wq&&|X-K?(P6I!Z0F>KaEt*x6jASu>@d>qTMM48C2hKHgpMJcn2@o`1xRHYNp)4|E4Il!1Vh|D`6eiY?2!+nf#E>5YGL{r?4>7T$co{b3pG$Z=|Dl1aRFtQ{xCxa~UoIGJF^grKfi<)J +fwc4pkW9!pA$as%F5w54VChO4zw#YxrnTjG`Lb?q|DM19Jr~(rdeFx+v6+4N4FAtS|s^Pkj^{+N33}F ++jlLWcFzr7|12f<^d2!xG~RB4k!aD`xPf$2Slts{*sRSZR}}ZD;aKdO^>{sn{nh_FSqH!%cIwGviVFxCg +4m7L)O}*Oj0*Bi=iJ;?*K$PvCuP&5@+YF4671K*wCLzl>6Nj*%=JtE#GAIidny7hP`$O^$TR*ZY`vJ0 +e;W?Yn+*(7zyekS8RE9aqfiRR&U`z#eaK-64O}piC-|XL4pFJd6b(v`7y}H_OWptEx_bikl_8~0cU>+Q;S +tKInHXE0kYL@KIEgW1B?tL>P5M#3b|zwe{Jaf{~rD-x=xiMbBL@X>2SCH{0W8TV3u3;O&tO)p>z0`eH +&xIF<(*CUO*J_QtssctpX`f>jB%racz{NM|8L?kZ7H$etnvwNbY +%=CUt;>R7~yhvD~rXj+;?TmIHgdp$Oa9T0E){Ne^zW1!C^sSmbcm|3sX*_O!l>< +xBI(=uM);JI*e{btrFKDrqi;bEyk_5BITkpAVD7{ysD!62A-pTn2Jp5|C3qF-sVx}|-Gqu>;8q|ohu_Mc=X9yQ!d^vuCJFjm(OU*fSwb=Vr(+GYrMOXwYXosUEZv&E}m7b +0p#|e4&3uSXpZOOJ)HpbV`*(5|1ZVyzY)FD%KL9caJ-(O4m#zFt<_;9Kh4Q6lgXfm9SdyaUnkRH6CXF +8R|}Vb&$ij>6wF8^I9_GiYcNVlbKmvG-|c1ZlUXSn$9A&~*LByPV%urYzRsTDu)9SNM2i=ACimbX6M! +Fpxv7ip@`-h%^}OpC^L^63Wtcjibnm^()P^Tt=cWda8{=pcBMSy{{@NW%m_WGml_(ucw-Ep@JT-v&MFUiM7aI@i5pu7329GGNc)%y4BmYFjjDm(xMsXF)jx{VH_t&P?!QK@_~p5(LS@kSPx^m9RF6?c{s^*gqZsKqR+$DV8$KS6k+-lPprY`jN;=naq8Q+fTB;0;fTel_JnkGbL{{31gR$hLE4tVl{8RYfV*$uE31>#apxrC{pdQDMo#Y|8|QMzS(lb +5^efqj{bpcVNeA;eu5KEc<^!g-2Q!M9)EUrl>ptGVPwfr@Zq7V`>lnc4Z>{*V~DSX7ZQc +9RJtusJ{w-S%;-R2a+)g`X;#OS^7Piq8DDi#n^`aA +;ftfFL*lCF8_aoR$PW)q<8>Qfvo%6jhEeGEQZ7)`mC>9LT^e>?089)<;FoBNW!D^{QH0%>{!6>{w!sv8YQjhq1mTtPTn`f`lXE^#sAOidTbFcRTV +0&%{7=Ycm>*c;NOBH^2lWM1qpbBgmj&tMhw-aTEv>1!a9B +_IHvb67S#M-Q3@t-&_R{I!|5K#ea`)-Ujc-_wQ~lhBO1c$DQza(wsuC?2LbaycZb2Ap}Ve=7JdPY{dS +yKcL;ifH;f=p2O(Ao#+DH6`S|WWxW2g_H;v+_@!jO|XBrqbVQ+5lCpXt;SDo;;i@ +op!{%zOj<=Nyam|OxC1Q;Mbv{1_ru%?-`oWW*VdfwxZJq)O#dKj`tjMsam;X^90F1*12UDh}!vzLzGb=`>Z*B+Aa}*oWeSHxbr`-D$Bqr|72E;HmVhoHvwuQ{3PcI#-Gbd%4VY37h`z=*3nJ8;$vpQ_k9P*bK`x#*W5 +GiJEYBw64_$Ra9(%kSdOj1nr5lW;n6cQ#vAILv_Zqh%SpV)-3P=*0Sf@9PEP!GZO051bOJAh~wP;LpC +2_{wpOh@rcolD9vfeO$OfMkg97VU0a% +T0{8~9?k5LO6b^IC85)jo3BYL6hZ$~va2udL;{tqg!l6bcKpAck +V_Cv#9dlKe5kSn`$d3Xs>TCEj17!n=jtftI2PCHKAWCTCO{TcMn3zPWL$||h0g-`y4`+IfWakDI;Hi`vUr;O!l{W^)}2L +!Dr$TKEw2ehHinAC9tH-eId@r$72O-`<&>4o$WWm+T7q4rMtX)ng-5BUSYeL{u@w(Vo@2Mi*a>~1bOY +82)H<#$x%Pyg9|gF;2K%-vk@6x0YbVX%idvctz28cK2IsR02oq=q->yoFO{tsMeOa=c8?Kj8uKU|G5dM;||j1gCl`UVy@+5|eVUkKD~f&HS%?c?{jEn{Dh(gP`~rD}2`KBkt +Iz6sR*(>_WTNpa$_S^{6HCA6e=4A@|y@!hcQP)Z!809tGdUk5SB_!a{DK;GLSJ9d=hD8^U5?Dea1ar8 +r9t=OQCqBZXN1q9w8OiN1gy_|E{`XRuyBK9B2UBk@nD%72^AzJZcg26+d60kzWb9lA^UAsUlC%VNJ7S +4!tSnE3Uz%K8)f-iGk0zP(jJ1NM@u^();Vk%$D1ni-(54i~Yj=X5W5wp;K3)b|-A=9iUy-*$u|Cc;kL +13j;x9a5QQXOR=bwdUzgNbi+Y86IO6eJ)AndFdhVrSWQU-X$lE$1cXgDBu!G2Y_a;lyoLdaeHF(BYHv +3Y#y%Ze@Dg3rK=U7t^zAX465RofQww;0ds)praZHeO^+&EHtu3SfG9&vSk1vaukbgvJZAoG*q!cRMp9 +=zb6}|yvXm)6b3#uwA_;ng0@-iwJ0w|g=bW?^sfcjDOiZ*ov$5MVwecuYoB3k|{-m~{TjOHr +&^V+rNz`l-5I4DH+QNWF5WY%61`Pra5;8FsswmMrhm%g=sggR2`Uv|2r19$X$Wx~?b +t(b7*O57lNGSAd2wu83QtGA*l!+N913n_`x*Wl~C8x}u+60hUf*}Mk?2w*nfx|2C2z-#rF0j(2T@wnA +P|m}pl3OIw6c&IH2!Z)F-*%KA0pwdr8Q|Gxx)@^prD+=KBdsAF`l5IO87`MR4!BqpBkb}y$p&3ZsVC# +6XCInC`k-v2(YFRWmO{{u*UgDdalw@1)_9Z(tgLNo&G3(NGC|xAc9K+wU|$2;yy9Hs*tev+G!(2&pzw +bKtW`4N>OzJUG=vPGEl}tZQMA{@G`NG6-?QUps^0~4G-4;ah!oEqvuVJvg2YK4J!%Vh70M;p+pAX(8~ +o-FxKoG0E)t@4n!5K1SsP8eqG=paZHsfr8^`8wmN%C%{B#-z`UCfI2{wY7;pk+DonnvY888U}{7;C&nH|88>is@bnih#T~8EQLPz{9HCLIvZ~5hY%=idQS(UZZhStT{4~A@rtd!7 +U)+4W{{LX<5cwZr|G48}+)X@2XX;&VLWmt0O(np3j=KySz5~qZBY1Dnr416Wf#~1UrI|3sI}TFaD8jK +AI~e`JbGUQ7x7!%qdgp42*WB=iO?d=)eO#=-wOCkT22h#{B?m;c&ukS}czOp=%5M6^7FTxwzL9m$9U`>Yy78jTkDWTEi2`b`sr{!;mk7dPF99(y8 +z0_Bn|L-rbdi`z`?5S#bPGbWMRke+ax$Pj0<^$x2dLX1N(?)_#GCu*UIS7|5uyYuBi=nVDNrnl2!aE@ +}CG-^-^6y!_hTVZ)w`Ck5ZIj8qnF9n}8}cIfK7r*jR2&#*dz=vbVMg?2wBHJ~?Pl-8H^t9d|35E$pT& +-MJ&8#NpZmxmL>hf?ZDj{C~;oKxM4Y%b0)1PM+Zpt+K% +0YiJlmx6hdL*#+GfVfH!Vfn9%Zf^Ve(ZiDSkY!zrroF`c*x9D=~5mh*jnDkj}*Y0JTrlzgx#8~amIJ+ +~8_+k%xHMB!R=Y-~&u^(6Kys>s`{Bm+NzW@1l9Gp$BAwO`Mx(?32H``shE#E(7p6B)P+P=uJ$bh&& +XchSmYz?BDO6_Y~JAEbkJ7M9Pg|?%lrkbu#eVj6zX)LoDQ+Rwe6>{(#qA><%!bekOm=&q{=>c}iN-h^ ++#7)n9=k~#DR?}%$Abix#O;h~gk$XG$>6VjmfVO7Mdp!BsxyNY+KewzQD!;UDa~h#Ga1L72gx;!l`bP +9qox0=PXdnGS9a@!J%b7-V$otJw8ijtMY>>-NL_%&JMT1kHtT-U-z0zlM{3xnga5fduh0y$02(aoLW3xUWe@KI}#u{#k +UqA-YKj_U=@Iyxjqo^8VKv$5=WgU^>a7;5ui%*>!DZ#wha4~rh2FGW=HeQoVYoAfAq}Ztq;Fj7LgeL|{#~S*D6=?@W^ctq6o|0cu4V3ZI=9Ox7pvf2=3*TO1+-h8Bta29NO5~L +6~RLg#lb9=qDU(MWiGQ^qzUv3$5XM1ie*|BqFBlfyb|d`zyRrL9mO*91dRay1&N4Oh)j?GJ~Ai(Pcf5 +WfPJ8^xY+`nMBD`7eQ+l`qhv0>V8>PZ5G8kr0JKh55}*TW52xOnlQcV7Mt4h@2|(#VW<3~XPQd1J5tM +Nu#%q~Or&pa~82~kw(K;u573u&zNedAMYnmfqK2LEh1s{=zr%AjOn_!C=WHL|V2MOSKQt;>wX~p1}Ff +h>|E@Y<22p!5If{8&}#B80VFxE<=8Wf$X1p`ES)NIU=WWcD;l3p<51Wef^9(1gLtjfHgS!MD+$|#c#G +lJq}-qAhR(OT0Wh~so4=R8TbqmV!|=&$5Ob%~Nf0+Z&<8fXsFkJ2&+a>Z$KcLFq6In#%pYW`jaX}e6< +lBSL9xf$MwZ@zvD42okRA7oOLfYnwI$%P_$UP_kc94J_b%`ys?oi%U`eh2aZ@iSQ<_S8O1lOl^|AVc# +qmY#T5BHF}c-7_B8OpN&b(AeMxx|b8N#T=*;%I};77ev%h6Kj$f>xq6MW +CHpIBnFo2jOeOGa2c(L%dYzom0kHwqUr{A2w|Gup!DZWR+{mW(szk7)+{>1%mK*B( +5)%r#O0O)tXfkMuEVv$MGJK-|O?tuM(Wsq#e8pw)NofScpAOQk`6#@=SYFhD&ViRPHaggU}7zF?mR9I +N9VDSXB>=v+obJ0cS98Fb^qvIZdgTdx9i1muluPb>5Z3j{lBAgyH3geQNgMJ-HtB6NoXaIr;q_tR&@a +>^!M+^K{(iGR_EROPJPk;oWP?iOXJw7A`FlsQTKcuMEfw%xAf;lJ=(^x76nj)d$UYeWR4J0H +7g+5qRbK)nx$c$0tsnkT3<>%FH%&5I8Bh9d4#jm5`YRTn1KM%yjT`M4+7dsm!o#8xvgI1OHg7cdQ3ox +D}$$KOf5q+ax{$*@B^17j_Xd@Q+RwBis|_B_H%zS6r-uQnT&rJT?{Y8QGW`5AN9oN(d~!vr&|FnCjIN +%AI11m^sj#ue;r+4^u+MrZYIO&RE#GCZuIfyYBYrBqwB%dr;E|`d+`qXUXO3Z)#&5s769LlX;1}jG@K +&9kHg8}1N_;4H@X_#{>Xg09Nk_c?91^)^uyZ5AcVWe&}Ca;cx`6{|RO?L0rXPeDmXE^!~%G_%Ob@7{bGML%^{A?rO-x!2}0a{n5vsxafcEzaLVsF ++k#ZVpGOceEu-R$2e{u{u|tm#@9Hd!T9=i0)O^k#*^Es`{&Vg*c1K9XbLFvG$&&i21yLP#smoZUJn@( +lHcYMG{L_=O@}s47sLJ)z?>ogvxC<;0%vZKfgJn(qC{WG_ba0?Bcm#P{=3sr&r!+CF9qnc>Ir!Z`Y)M +fNvi)yb8j6KOZ{iQ1S=g^f2HBQEULfq>P4{xZHr1kKiJ6NK9h?MEF!a->$c?VLV7P{)_(mVk*Ra|FT)K4Bc=L{Y=DK?NUX2^yQD8nhEHs1ez=3|t=oz`Qb|7w}tUQGhcVp-T#lvNQ +<6h=KVcmn2Cy;G(^ZV*oZ!L8U>A10oqm_Y!`uJrW&E<*V}UE|xAT4gv@a{LZjImrz-0B0wT(&J($?Q6 +M9vv13mfIUz;>>8_MH#C$K{*Uy#13$8klCdkNVW51%v%8;Tn1R5o{igF$WJlA=eye!amMl>kELL%pX* +uc64OQw+2G|xGNViyhROAhc|3N3?N*;+8Kh!Xsq0@(^3U93|uql#Dv4#SPq1`hND6xdt0gn+@p&pKU~ +aX_9{4%|;d>0-#P{+z?6S@pUG=P@u94Ax^aAyy@LKrRO8i^?qrjwFJ#BBO#_mI}8V=ao?WnI;SHehLm +v(f?D1pNWsI0JBX?<6WB0&qTC9hAe}cjV|@!{Y!8NGjQ0WkYgzzIH0~s02)Q3GD8g$AZ4^;i9WQ~@xw +~We9-VYtU{&iz0dIP4?$eYi)zXcH8>r7!sxs<8Qv8%RVr#fM`z18b)eK71zBAUTIjBrv};*2V*x5qg$9WjOu@$fXm~*yBZJvIvxG{5 +N2@t?c49Z?il1xONfXeMt%rlun9=FT0dP3FZ-XaZvDaN28{fak(XcA0Y%CbC8huhP2fW`hX7ZE(V8+C +B~rsPm*!lB%vPX}K}5PiWozdM#0I=ajHEHP=F$D>Cz#6=bve7jrg`-syz_^Hiw{Hm|FrL;*W&kwQ~%9 +3-}>(dAARt|VB)=}bUl6Zo$d-y_II5;cg)FiM>LQH&lUcA^V+`|U;TLc_VqVUL;0!QpE=*Z*KGBOgLi +}HaMkGgWNA?So{Fu}^@&n+=p1)-e4^|fI=@{VpCmDl5B8jyJ#${qnbqNKD0KGGt6-ro;l081s^0oQqpNo+PG5W9ebw>7IWE#LjeQ7f +R#5`M&lfO}|H%ncH00G30O*V)g;(#7?{zIoeY+!rdkKpg&;L~JyJLz9fZ!lA-@+&ro-R+pBZFwA*sGkxDLRJQ4Q5Vm); +%reS;n^=OZ29FeTDGNl_EBx_9@6LrOTg{2JFJ}_1oqVmvJg=bR{@!Fb9p2(va$nwzZiek7eUzO2nJ(6_y5S0{>2S +y#OqFWL&+nRR=wQ|Q8Fww-VItR5nAH4r$6)Y~{=rReo42jXUGvaUbhaw>Wd#z5><+%y3@GzU+2wzf{U +zYfHo)L?ab*)&;+!(boVQP8ftxk||BUc#TgV&(45sT&6KpOAXr**KR*@ukeo%BRuG&D4|E~6%xORx;r +iR};xcq}HHjVL*HQ8=&Wq+6|rqzQ-b7D)g54EnXn>1CJ{!x1_5UK)dE8ZE2!E93nj^0n?J(khS711Iu +c}FmlFY^|7s}iEa2i&~E-Le!^%qq&O5;GDktc&nk&4`lBpK6rPYN7n!ZS07?ZtH&~ZuUX`h((qd~oi_k)*nR!y`Csp?N<(y(wL6)Xe=R>c +(69(*7$?&o@5RSFA0u!s@&wO4YLVr3^*8H;Y5V{&@DGgw1L{){ubsw<|RH3@Y2hmWTB-Zk0THp{z1DGlyquQV&tX7Y=N4&ZfMt +X6p?!g@rOP5{uAJS-UqJ}NO--Y)fo6#B}m=2M_;Y96!8RFLNe3=dMy1{GZ&Hbe=dDMcr3KCclSuOEoV +tjCT*{MN@hQRA3P0LzWPznWvCx>SWW|Hg5u(%jjGm%T3T9~I|^oKDe(ke*q@eMIrm}NcKzOK<(MkoZL +5`V5_uVA@25#PczQ&nMW&=kNSRfANopU^3UWoW9@Ss1VfNHQ0VhChK|GB9e6>Fd+Jp9IZFN~MfHE)A73s-&Ds$u!p +@(NCk~=yap^!rLfX5B;f?{iR#wp0qzpub)tE|heD0oy=b=5gDbaXJ2g%1*}5L;3CeH+;ni7@AAdKv?I +JjJ3e@d{?0bgi1Ks +Xxad-O4-YbXQ8^cFJ}4!jWPRa7oJpGj0XxE|Jpqq|vVV$jdIJ_d_a3q1Bj8AJzIbeCY +kvr`v?GI0+$=e^n|4f1=GjY#<~WrWe3iyFGYW{vx-gr6j&LL9CFwq>S)JU@dR$(t9a7AR!6X +_XZcHo?T%b?>V-s*vI2md)kvefS$ctUS(fn}~|v9rq%6KQA=G))=|SK~dE?~5qG1o@dO2s?zpJ}Bf3E ++-QG429QmBgJN@h@F1gUbrUn4c)DEhdPNIr|CT(QVt4r9)&0g4yX|ml_B`hVBxI#8T@gJqAWgrO4Oks +Iqx0b>n2M>Y4))808EZ~oFnCP-Zher^=dA@1`UtGT8@-_MW4?^{r?02)pS2Fm# +|xR>>iG +K=a^R3{vst)vLFs;)D)#EvhQvAjZjUn@6lrlni*}MpJe>NE#Oa;^T!24uub)*?p!2 +A3)rSHdFN^^_O+ZGADohKMA{CV)#aHS;BQH#}ZfR=8B#!cJ7;>^J5Pjj9_Yeb0TUYbGPRn+s(~ziRJ@ +G&%fa>ZVmBr%Zy90bZA|86M7b%wGTmy`z5wj`Uz!u|d=b`QJJk?*r(_Mwi#poQ2lSebNI&M$u2L>!!m +7F*MyG6gF823VjFub`Mv2Z +_=W<65f{F{wxPGS>yo*&+NtaxVDcAVedTBAAX7_hUzi~1p>h)n3y}FwD`3uNmIeT72*fy@4R5H9dn-u +m&Q%|&RJhj{+;6ziqccXS(G_ZrZ1}3HhYB-sD2)NUT)V_Mx)p@OGKb0?RN0GfPnJFH_*|2Fb0{E=hhmA7n{Ca?w)RI7MM>E#D +#e^q`;Z4EZ1fM;f>r?=CMT2B-GNYr59UUnYN%NEf^J?qfq<#d_3HW(4DTD@LYakp?^KZ@p7fA%|taDt|sJ7kTtI1Fx!jSr;!;)Z(l9Hh$Yxz3NU>0Ye7 +@)c#Sk(%9{zYMJ=;PiHlVpIyFC&7y@oL#}2(@DqY?j^@Ld&I^In8tS4o;MZ_`=^aM8suagEUo=R2Wuk +g_PM#QJWvu+&RpH!Em4w#>rtZ4;8gnKf_H$nkQbECjYro!(#-D=~S*sF5f<0zUZK69#HwRhQ3pIFiOI +LBwNlC1%Q|RDAQXAWwI^&JOE^XQ!@l}C%!;1lm=9eFNVyf<`K?kL$wvurKSFiT$&W+OYo-TQ--dv~GD +OjehB|y(pO8VjMfQta7&?0c$_*yT$4fYC9 +c;$ejg-jg5rPot804iG2PM8sX{mO}L=y61=?8pIzop~+USOe`GK~d?x^VUjJ5EgCHFu%#_1BY!^Nw(W +Y)Elj4(KLrJ%YFIJRyjGay_Oy$@9D|}UsJP63%nBrqg~*JeARj#e21x;Vz5a$~c;T +v`T5(*(+`Weiy(gYL9m}oSqsIbN~IWDETP+n0JSYZ&(6g$y##S;hnC{|HjVJyK&Ys5$a|5;q5@RG8fMf&H*!i4X|X@A)s?z3#(*V+>2Mh@-snNpw)T4~XVowG)_A_S +5Py4Z7VLl+EKFc;L2uV@2iH9=g9g|JOq|OgU9D2u8Zb>3`F1wa9IB&F$T?s1xzv>DQbzFTD9H`|2ns$DN~fHdk(WS&pk{dpzEjpB1hJ#)s!2tgcXn8@KrkCn=K4@zb +Y}zO-b+_%9X0PHmXpoJMA}4B#jqmnu3lyV3KceB +qSGcaA$sNL5Y#ERZmxM;!WvEwIgT1Gio6z%H#^i#^(fd2em6;=!v!h4-yIxDR$O8Ux*lK5=xVLO8Dq5f}))$rmycODrta2yqhFmuuP;;Q4}BTX=& +WA_MjzN9wG*i$_TY2@!cu)^>c#2lH*YDH#Bl4lw&OJvGYO~2+W4k|OI+^SoH@|gI(uG!t>IkM-)B&#) +Z4EYY(K6(62S`GFnvay0q7ItE+y6HnR*Zdu=(qu1crc53f6?r1qab-`n6`HqKGG?~Uq +lD-!w(W*7kewoZ#KWq4oJBvM2?RWB|Pv-Vz9vZbq)y5PvnP95`>CVr +6#gu1=VTrDTQuaahGPlnEe8wb5xrrP6+UjA8Tj9lHtNF|oLGTfhK9D~A!72cjund%dje1HH`Nah#Y^j +#iQHVV@gdY2HFE$Y?M%vls!TF&s3cEcRg{SoO+BVQ$xa)tR3I!0W5!)kh^C*kJJ__K)|8|pksslLRf( +nh3|7kY~wM#WEqY-Ae6%IIwjsf#8Vo15{$%*CpGK46MeW-t1x6!BLW0PfD#9k)4SM@Qn +a#gQu)vWXYrp>9mo<6u#r!aYtyF8MGZ@fC3j`6}os6ICbN`~XN`xi`pU6C8hcvOZr{Eo_}ZqyaZ_rvd4cN8D>h6Hw +o$tOi;i(B(eMf>0qt)4V`?`apV~2LG!0I^%Xs(p2j-Sabmen7aT4|R2jsHr-(BD3a>+G=VLTa7i+O#0 +(dn(Znnz@xhAYY5Wp9KOW^CN3de?kChWb(4B?($2NJ2m0lV)q?i)wz0Z*;2Dy%Pao0I*n=+JP{e#b(d +TiURQ)G=D-8&(G%bk8hpZ`@LnyKIc0M>01K) +*J9}0n$NCDnH1V(W=MWg_1u}N!FUebr&QnF)rDQ;D4%#ARvZ5GW>-l>q$fJY}lar;Kpm-d*usq5H2{O8_;YTxLFk1aiLT_4!4X1@c +N*K+8%MV5Nb%i1$)d((dWxPISy5ZQR$b|kre-Fi5=@!C43-1fF{U>SeRv^7`oS=8$MH&9Ch1QY-O00; +n+tx-{3=2jy{2mkc!Jc4cm4Z*nhna%^mAVlyveZ*FvQX<{#PZ)0n7E^v9RS?O=wHW +vS`zk*N@bjBFVdpL`QkSVsvfd-3BjUA`iq6lP;#PJBBL@h~qGAR1L?|VEX>hij6^uZ&Mk3YVP@1UQN% +Zp2ri=wRWQ_||g<==56isLxCJ(h}8qG&k-idxgMR-}>Qp;V=)DJQCJ8X+|~2uXH7y!z)3XTOw8k%JT! +IhFcY)=?`tFZX{(x{fN^N+TpN~3ecli +T`!Y#@TTMA9H|L$mKPw{oA>d0zjuYe(1{k@!Q%HArhx<#KM4$lX}MH<8H}fNZ`_h)_B)ESJlpf(2+T$i`;xOplXqt9jg&$Th)z`2pgm>A%uY#Smw;ZBr+UpAJ +ZN=({%Gl~RDN-SFDo;IPydEbYz^(x0QjGeerWp=PM1-ai@Maih-hrECh-uh@T@=vNr`G$ULHX6oI^}^ +K|CSkEu8&INQ8xmQW?|@Sdxw5j#@VgY~k~dgtH6m6e3qiDXv(31uTJsUSV#Nxl3M_g~ +Z*NMjL)Y|-&v{WpzhD9i*y`mW!2%T+bhK;>8M3)s4t?tKf?SO+w5`PRZL|LHkZ*Om2b)y^ez3T_23mY +N${Nfv!nE>EmwCFF6&avsFc+XD#dNbw$aPNxN^d94pEE#C9S;fQ2c-=2;8zxsHDK`djopcP0w+?u$*(pP*43hy* +UMKjxf%CiPr8cTSgD5LiBLFNAEn-Kd2U5WCB$V;RYgjuc~3_#K)*S!E|5^mY_QafyO^J!{~Fvwlkh$8CMxpC|D +}QpOyenJ@Wu|-sGjl)yUgpt8spLwNHoh2!8gF-CYh{;K0o;ua`xw=GWrP+&UMS?IQOvrMkHA{xg_bM} +gm)STzXlL$@(0V=k^vJ;nr*$!Pp4h*E+)SB810Q(K*omGi((pyz5GPavL8ozc;c{BbIob@v-o^BbSy* +igb}w)HEqFQoS+G+jV*WE^tO9&%r)F@0AGncp)LPDIVmP=lOt$fndG9(WA2T{fp8lw`?(0!}{j2N#Ia +iNH1+ZwFKpB0zyw7ps>#XDeoN-N2ITDKb94!KD6~H?4oZf{Fd}WK;WRJyjl8>@mTo<-q@uo5XJ^xP>X +X*lutMhFBHWq&mdlR6ga1fjqbn4gafbHG`eEB;IbrdZx2(%wLY-nySm>T)|(*^p&!UT +dy20e@I(xBLSMm{p^pTE(7W3h|2;ihjg2l_{7^A05|u0GTc?v)g!g7(fjH5P(^;%fD)o{^+EoAV8kA* +Xl~fM}zN)%J6gV}%dY^Z}_^4S2bb5@;ZpD5%6yVtY3fvV@lj0aw^mkp0=#d-jgVUR?oP#b~YidS{-ER +txM(OylC?nd5_C5>LX?bObT2bE4D#;j(BlqefNwH~>jzdr +Z!oFNU4i2-8GNf5uD3>$5X+$T?0rc2GS!#8WetX2F5aCm!(@7Uf-6aP#jU{_|6I`_s*v%-!gPYp@mt(zlcc1rOtoY+L#{bX+9ZeEK8hEwgzv{$T&rfJu#MCMyUZE_(R=%{_+Am~*agyE{LD9_!x&no;}z%Ydm-la~(V +9~N$5KbLxinsRTB%rtHt8Gen(y6!CPPsj+!_g`suaz+%U%Sw#_`kDS3U>ak79$$HU@;06};=vtAm<%S +jAOn`VAh_|7Z?hci@R^u%DM?HiSs;!62T)4`1QY-O00;n+tx-_`00002000000000u0001RX>c!Jc4c +m4Z*nhna%^mAVlyveZ*FvQX<{#5b7f<7a%FUKVQzD9Z*p`mUtei%X>?y-E^v7R08mQ<1QY-O00;n+tx +-{37wwF}4*&r6K>z?a0001RX>c!Jc4cm4Z*nhna%^mAVlyveZ*FvQX<{#5b7f<7a%FUKVQzD9Z*p`mV +rgzMn8E^v9xTYGQYI1>NgpMvMZqBh{VcAT_nu|1q3%Z;&)ZCFmT#bRN|G9Bw8i#k2>*iU~$QV&w1 +WTo2zR}`&9&iv-Vnc+)nx7)4t!3oik>|z(AIK&~cqZc3kiwN2}-VRyl=|G@w8+-Nvkv-bOkH{fjh%D% +~;YVb7QHb^dIkrq}#{pgkmKXXYi27)K!04V>E;`@U +KYdy!+g?hE796V3{adi1dcgfDM^*$;3Oy`cMmgiMJi5#>AtIq2y!c>%>udunco3Q<2 +W;w^z;ayH9EW{0Apt0FMJT{lNW31WVG4u?61zLJ#mrc6Wx!Ec!y|jzlIVc8FDMRNP-yff1iftRQBQ*I +(2?r!9DI#EiLZ_`QTRS)oo-s9(91lux!wQyBeTEvX7qVxKoX-FeJ8P0VdiJJ3c}nSai(M-f< +yXJ9Kc`X2Q|#_81%p+hK@37%JMIcC%q8G4*U11rCdy9uV1Xyra6L-L7+VxD<{C5X?a=ejrzROy3^O9% +oPg$IL`O-nveB=pl$8fZxUuG={X14FFdSYZJ`GvT@2LwD2l_2PDofMTW1*Wb` +$g0%TJ^xJek?jhs%<;pNkv{*5?>CJLBHK2Vu*Jrom>HG`20^a#zjb_uE=^B973nnyyn;IqsyfIe#H9T +rp)7fwsY&``zFxs&4=i4-GxocwY4nh`nwp?8H*>WBG1SGtwO~NNJ2yBIb-z4HKti8yO+(gcY-lsUG%0|{ +&~LS2?x9l#+HCf51SNm7LC%pz2E<@UT*#UYe{QvscHgxksE$X@$LFbj96`-Y2=*{xZIb#c5~ckeUSu| +p#My29Uh?F4(daCFpmi$m3Z1|3CQ6^SFA+|E#}ZfU67N2J5Pxq8aeJ+^BC?g0+&}q~3PC!tK0SQWH5(=_SCN +_X=wQK?d!X8=uQ!Ana(IlhE)lo4w(n2GQ}mXUr}c`=%LH5s5WFbQ<*iq2^A^|7JkXj4VgtY)H_!R~vfhPHS<9};Z87Oit)z7#vjl6-Ow3k?99Zm +YwW8pK*VDA1^`#-`!w!MZke|^XS)t5wtS2;Osg*aT-YErEx0WW2FM+Bmc9b}^5hQ~O0aS*{%R$2QXPu +|$#)Z2+ElaHuxsZfkaK!7NVVADh=CU#2G$bb1+k-~X0T$6=0qlARgJR6n=!g?V +rF6mRTbqk`a9$uAy#_6k)&IQXo}eOb7mx0txfxl=kjJ+ZWwXz +LgIGHlajwp_GsoKp&=4C*y@8SOjuu%3UU9@cZC6#G9o36o9|geUa^JEzMY6?1}c`5*^pkyNC8wCT +D$HI2#N`jVo=!beCrepVEtle1j;e7Sh7FV1d_b*QOi6&Q4~=f9RwP;gy-%U9 +B_RxcSd*C{o+p+Z$2Ra`!*+{uwRdjOtHiMckyFIA8!>P(W`K6Qmj^R|FBBazWZKx^aS2k+HuVkMz`r_5eN +e6*@nc(8MNcS)3RGC!ZH81`At(PA>P>R8j->#{3u&9z~NVpmHSuKvm +>;wrN&lV(rlt7nbml@U%$Jo!RfW65fy*Jx1ry4-i@AY)03?ozNMbxSIe)lrpFW+|*B6<=!auM6{+J{`}Y9}+n1+Zp~^HGgf{g^dpg(djop9l}0*NU-Sp=JbCJaUzm@6+ +yqSvFs>BRw#X7WFgNw;?TEj%s$DHO=D2mmqz_e0{ih$TEPIh1k9mds{sl%?+g7+ +4^`P?1kyk?s}<->V20biC7-!as1&;vkTZuik!yj1#)<=r;yeFq=Ijog<->T`2Fq1du@cIOV=55zNV)M +9%(&6Aa&%2(&E?PtN{cRP1+pkgd~mtbEKV(FYNNeWsUmd=xsS9zS+U#EMo?SmW7u0-PWY&kMbv@i(@J +NM#O1yKcP)k34xRLfBD!LUATg%t@hB^xHKFBl<4IjT1u5+Xqf^E|Sp8sO*IZIAYEK +HwPhqa;SLHEr8E2kK0;8r<7=3tIpKxqlDvlLZ)t5EwKdWDAWFl0Q`eBXgcrr +*@T>KA5+IDlm43q3nw;Gbhy^ee!m{zGX6LK_OjA&UI))4O*&`duyY>CLSVzUtfL_)hxl@?DtBCGUn87 +Xujnw_)gRxQGqYX+y8DaL5EeMco+s_}ZZVn%ahbKeo{fb8~j_e)C1Y*_hYb=<=Kvyk~uIrWcr2Cs{^= +dO5?h%ajTDQ#n_4a?~u7YB~C~27k{6o8@BmZ8#cSNUXZ{u}a!0#>9Hk5CK+?PK8;Sjqr8^r5aO{|Vpy&Acs^r!~8One$SrMx%^n@|e%qQWA`_n}0ia1qd)m2h;Rxhx=ED5+$c^Va_WP) +h>@6aWAK2mq6NgpMvXRQMqu0^iV8{0Kp=grn|wmO_8Km9NNO5B`VfN +7PXWV*Zb*j9;8Uhc3*b}+SoEVocH`@=;?Gid8Ic;m3mN>SgEQ}rWJ)YqFX6(qq5$pTO;eX(WVp2vd+u +;u1zPC+m&jSkVc8O+is<6QS^1zmAY%6bj1X+{STDP5mwICBn#KbzYMasaTe9+}UxKi@IrIQ+?A4*i)L +^klgF(v4MzUf<4^p%jnTiZ!EI8=@@Ry~={RXUl1p~^K|LAL6bXYNzhZ5!3PPi3b}r*$k{&>U#WsJp(BMySt?L3M-L;VH;SHor4+Dc)Y +Z7O-CmR2#?xW2tvTwjP&Aed%)-2ivVM8In~J;K*-7r$S=5xDO1<>mR=?FBvkSSR +U|UuPd{`gHN;#m5};CbC^6BAv{O=8LqxKUy1uDEN&M%4f-3N5w69GKyw>ZgMwi!FN%;Vz7*2?# +4o+^%e-wBG@@fyB(2_^uJ*EunVw^34ed1niIS3zQ)vK2Ljv`x$R<4!MCU?4~rKck4J{*7I1V}6GX}H4 +DpfyhqtO12NLOa&Fg+RRqtv(q`HcOu1rh$S#=(}j}HmjL~E;DTV0mm8ES}~&se7t`&VsQS2gHS5Z*q> +^94ngpn%`3-;OSWd+|4Beq5pid}cw6 +Qk8915#bw#k1m2uiF!wFVyn|NFZyDS1@7-Hf(`v1J3y^+{h*?aD^<7os`LQ~Ojr=Cf6}kSj?~0@6_5hnIc!i4?$k2c!7PVfGKPUA69Ey +9U8r1G0t6<3~o;D7lm4X1I9BV049AOsjRz`0yA$vL~04xP~Rq_|4n@$G-6j6ueyyWy$9G?U}fG15{2B +js7L3oE^Qh0L?Y9|A{Mx1%4tY=vHNFJgBrK0K4tM(_4(ILEN#{q3|-(Brwv8UKDfO<5Xdn)?r)C)MU( +@(E%ZaUfZt@yc}il1%18I%(nXg9#d3r-OZrZ+dQE<7Ff*U`#^S@1a({X-ffEih=*I)Q%+hI5CY6Mc!; +0Jjs&MhFObb1eawpb=Y!{AG=h8sgy$j~I3kHA~HmUWylAAu_1oC?7Nx~B) +9k6XYjpnv818(i*%0VVklDR^ZiGnFi-AI--aU?se%r`D!`Cl)N)srcZt8bS7S`O7mKfFNzQO7D#Bo8; ++iMumf(p++JgoE8Yl0oI4gCBmPa&8g3F=LRuBRt&A1Oy6i>G%UxZWl?5S?Ak_U@ImEH2yfbbS(OaJh4 +OXZ$z}C}AmTWH51j0mTce6G=&_ZaPj&Tu<_dhE0?+lAb?~l6o~dJF-jr?Hesc0dPv=RXX;8ZalF>YSR +PB^T&CTiFu3{iDi*^OP$EdXN`#tFxwo$R`AucrRk%zC#vX%4t(vxa{eLh`N=+D9%D0XG;Zs#t(dLT=q+l3<06R8kxqFbPb4 +eBkK;y<(ji1Xm6;ZIs>z}Cqm=q4Jd9NbeI9HcBOmJ8*-E$isV>QR#4n(_~))dlr6G6*Ly +2u8D*xg9tnmc%EBl1CI?Ky09kM*bjqGJw#<4pYMe84si2-OA1V2C41*14pMgOk}*H>kjs|I93|Lns+r +MkFKx5Tot6P;3Q7*AUSlJhBWTZlY^evG?vs_NjQRyifI__y1s9bGu(wA!M|0lOqq?Wl!{B}mz2!smex +i+26NqMJ0BfJWqz9%kR&WY-+bOr=B%94}qJt2i>#}U!g;%R(h5yYv`ZQAprNY^&r;ifEAzqq +H4m5;qDJ7&p*xfc5y=heT~BNlTS0`__g(T0?q=O+9U32(K_BPr^ARiUEk;UKCx-vsbxVPMN;9r^e?b? +5)qjX;>}Xa(ZG5z#?zajnpszgv|o0us){r^dz3VT__FD;(f^PSlv#+GJd$~if#`J7P& +%zpf`XEWTSOQ=PL)yH0}YyOp$2OH8IN&>CJ1fK2E*bebVI&@UNSYy=?ubO6k*q~AgX! +ms+K>HZ#MwilL%9Iz*cPdug_Ptm^8_4&Z^TgJczoa>Sr;*LxnIfFVa$P^hxq(sp32cDC8IbI?OQ5@*9m#ts}G6qE +^jl}TkAgMsAilv%61ba;mM8->?{5ODS$k%}l?{SH7ueeR63#n)vOn+O9!7C_abPKt^>o6NOZ_ewQlrJ +=28XRi!ok~Kov$);GEd8aEs +9inlE|Fk#;G7Sc?V}c65#Xcoy{^Av8a2-4{(dfe?dcd1u=4Vq)nO`5B{krCR;sEz+<^V~;XdQ<9$l0* +6t*Bo0|%jcPrj6leVZJ+z}MSqpPR#So`jVyRM{-5=vh_5G9JltXXg{g6RcC?o7z{fE3St0qX@ZOD!vJ +|_g!_rUP2cIafAFp7xxE822M&LU}Z(rbYc0W-&hO@!geflT~<>A(=K$y@s_RT|vit|V`rhGuoVQZ{{EBpx%NKC9bi3iVz?h_tmc)LbOh012u^_Z+^3-s +Sb(2x$L42g}c0}QV~i_n?L<%uQD4YveguZDr4@8ppkw1kJ{VYDTiRS7CbmfE)G1|Cw0?hQh?Vm5RD+$ +nb>Btt=j$YGxs+3^RQ_P7mxIbzA}Xz@MsiiyQ0(Y+bTH!j4*3HpL_#h8aEPaSDH#9bb99?PPbzlnsB?PAbrJA=v5YgY(WZA6%^*cqko?;0liE5R-e#5u;BN&=5pp5he#i4J +YEK|FB;K~Lw#Uk1f7w%eZ7GZJ4&+g*xYi;sCdxWt(ssIR!s3JaO_iknYK*4%qB7)plt6W-82)8Lo^Gx +&aUbXhOA}4qWFr*JZZ~hhXLO>02d^A^}U*=&Vq>>+pwhTP8)+iY-;z$gr^Y^))%y>Y`}_ +xj?s&ERg0Zj$3!7oylbZhh +T`YX<{bNd;XZ!Wke3R+;Qrooc^{SvAVYT^H&y@O5+WM`BA0#Hi>1QY-O00;n+tx-{|IgG4O0001N000 +0e0001RX>c!Jc4cm4Z*nhna%^mAVlyvrVPk7yXJvCQUtei%X>?y-E^v8EE6UGRh>uSzEh#NZjgMEz%q +_?-Dp5#GD$dU-ElG`s@VU6sKsRpKe~b4r{KH-Op}3T(jFTwryy(1umw4qTi64c+PsCEja<& +n-u^XmxJ`jsoN)auDw{+uMIS^?i+;Ah-gfF65>iVG{-U?TEP%4lE*mMbml4y}WxUmHAxp0#t@_ZL4ih +1N^D;cJ4iX|@mKqjJ>E~V&RDU5EPikV9{0D8bK=ITuG;HS$dOGPY`H1<8DG5{bi$mYn0&JO&QugXAl5 +=R2$fN+*TJ&@ahSVePxfxnU}x6WpPpDYJr?j!M8mO^5JiJlA*3+nQpQ7jS}AZtLw2kxoHIfn#=<*ZS# +sS;I!DG$qNRjiGVJT0;~gkmLO%_9&UmHLPDQcOXFMHB?l16I(B!nu$2O5RcPT|=%ri|!>=iJLu)Qs9{ +Rz_wWDO{}t#r5gldCY9u%Xppm8s8x(SBq`{D?*?KW#Z+jywnJv(<5*l>e7OERnvTWfN?cAaewmz%Peg +Zg1@GN~_&mA(c=7340K{~3e*K%c_#j5-zlpz1&QAtn{Ojd(e03!*ra)|Rc6mA(L+a%G`1I4s-bMQk#@LUL#0>G4N+9lf8NPOg6&0I3g?>vN?0;bJOA;&L>-o*aKV9ZkjMr|IRz) +fiYf0mA2#^AA%fXM8q3zaB!lkS4~zz>B#0I66JW!hqW76VzdfT#Dn1%ipGxpFduUj~AyWV@P~I2JS}h +PsdysRPFe5G&viHlhN7e=P_Yj03EC$0y2-{^T#nJVwofOcYHm$ILFEyUz}f0;dKCYon9N{&y%b1K#Zo +7D-_Fz>BSjV69o%67eody&&Ny$gfX0DNEI=t9Vt6 +J!oJ-II7c4PDwE(ZO0n-b`0qNZ#Aa**77!=-d7Fn9b(s6{pLOlX~O`-sd%i;Ga&`YBzNOXb^ey +WfVfhxOc6zlh7W3tlCS|**2u-ezthIjxOF5k%o_GoRep!(+_4hQ})3S?HsN*6@xs;(`~%@;Y +!+Xxr5gd|jL-*n#xAf4KKkYcBY&v+y(e3N`OX9fpTgJbu@8@>2|EPBfBFC$rsGL0e)C5oKyE7n-iIMaZx{5FCcJBm0} +Ep#V!6};tKpW9(#-5a=l8$%hs*w*a9Umey%KD!DNwx02~;D*ck$V&fTM;fqB{;kGF5y&GhhuL$) +VZOlZeqThKb14iwaxu(>jv8u-A?u}olf7{t^sf{gCTiTfGYMhyRRhq3cY$?wDxZ0UuC9!k<(p4A`@WU +e(1zSLnr`lp +?IC-&x!Z8dcY8Zu^0p;*JojLVJ_A#utA#SZB8WkhqpAWd+Haf}nd$y$1XopwTQ(I6}LcsP73fJ=#<_U(7pz}IF_RdVSjCN^zoHHzHOav^fFloC +O4LZww6)3RlGm3-1rXJQ*uM@>cUw{xpyPZS)@I2oxpx|D2lTkL~EQdi?xp)`A~psge% +_XDf)nhynzD>p1dc(pdS}4R7TZ@jn_Me%Pin+?^?RP(z#THSlL$HBfp>eFbGuDTLpuHQ=H$ua34^m1w +GPvJB*-^Jf;NgueD+@J^z_bbR2f25j3ZOBULI@hOq;pKY22Fb>YNOBO_nH!4BeuNA#g^Ed^r?0VP1dQrIWZ`ZiEMDFyM-Y@yR9$~$Sr +D}ln#=+-0xcO}5+=lEl;2D46XNXC4;Lbc-tu{`&jHOGiqWoS2s3WmV(>3&^(VZ{*agK<^ufWK7D?fHV@x+v4N(+3BTuBlLB1!!YxK4<%@h3pMAQI!w88{lHo +I5L@6v8KO|q@N9B6eqTsIpdkTmAq1VxZHdyPm_(!)YzwVb1_}%{PmA=wt%2d|-<+n`lI7=;aGKqS +{xOaZCU7OhfnrLai-x{yLt38;<`w!_Ek>&q({-?KtgQ>dX6eyyW%{PU!UP)XQE;fkW?B2Hb}Hagy=@7 +-~yYCW#`sSe@KOlAc0KlD%s63cb0G#(#oVUozZlWCIkPVZOEj9MPZ@$RNheKwV~ryrkunFc&n1JVA@C}UW^^;T&wAode=&-$ra#Q36fsq+_9ci`76M+5lnpwY_9o7qho3- +R(eO^>PKV2Ya15yi?j_X;f5@{Y8rWBYYT^SrlB58>xQig1RMlW>@A~6`Tz9p7*mez6wQYP*-mn`!kt` +s3mj8QwM`0;trC%r73PXzJuuiD>`uM!vMLwSX`enQmDLk;c41;*%do8u(1DW%`R-7dW1 +Wbsj5Q^k3$a$2XuOFT!#xvYwsb^D!qz9?5S*6myCtF)TJ3oDT2*fzG$WErg-=q0J5#o{ztr%=G|vt<< +EPiYH=vWD$mz#hm$ke}|4&dmOqJO?+}2N_^sTok*vdm{f4`Qe_ZHvCg@6BPHJxLNp|lCyB{vdtusapS +wAIqM)xo{pP^dlsq?_bWCZ+-WjtC6CJbug&7QcaF`cJkW`&OTNv +O1WXpcrs!2hDLuTfp|KKiw=Qa~=4b=&Y>x^kEdFXy0SDQIsDP4oj|x6bPshc`{h&37w@`5+W?$T6 +7-WHoUPsZ@QZH`Sn!BM=udwyC-A!Q$cQ1t{%vOc1=W8#8RT|Tzuthm{Yt*AoVRg=Sg^eXRq$K@nDy!% +fl~yJ0uC{;|tz}rRdAf+kB~KWe1c8GDWP|cAy{EhNzKoXCX>LlJTuAKh>s?AZ`VYbxi&&U5MTD$XUZAMaT=z<%63hY^~re` +ZB4!67_E@%-%etI+uDr%TmdQ|Sh)y=abRNgBIe3ib27QI;;BTgk6Nh??uGP}21~@o~-dYgF*-P@)=sJ +*J+EfAt&!IAi=Q{O9q1?0QT2Od6j;+Q|7_F_PbWo~Ht+Si+mU->U}#C@+w1n63B0hOo8V`#zx=-O$@S +ivsqY8yL6ameIZNX*@#<>4CpzN6IwrLTH7(R}igmTf^uk?)D0#O(feGN|z*F45oE +vT{xZR?GjKY>nQw+Q^T5IIi%*)-D7Hyqu!NKqtB|024w_XFNhMkgb-+70{9{Lb8wqO=^VYu2pVLys}( +T%o@T(vTkN2L!95K@Yha5d6h&S(1(jQG3np_1W5^fdzMef;3w%YB$TN1giYX#t;E->S+F@O>Nzqz3*i +qMV3j3*Bj$f;BtU0^zi>#UW`*C+ +lVZBMIm0w<64K5Y5~`fv6XR$iEsZR>5DJB{2q6XIJi9>4 +@08wo*&bWYW{O*J=Olk?#n1WKdqX-pAL~u4;vmIfNmMjX2WxXz@5=Y%lfg61r38=AXm$F!%Ytx9;cn1 +E=B}**c%y5r!Qvj`19hBj{hM#kiUu}{tip)swokjV;0V$ESx*~7?++(sB)k(7~P{D&0$>iVcwBCb?A& +%8VcdV6A(kS2DQ +5uRQ0SQESog9=8z++q@F%t0bz9~*lE;db65~T)V0C@JB6QR%1896M1jW-(l@y3V5g0469a;s1!^qy-c +)%*616~`aYkSB0|)OZH8jMNTExISp;ZhB;usg +F1r8ob&SpvD41xwu3eyAJE62wiLh|s6et +O*>-*@{%96YPC0*!~Sh;jh9w$`BJm8X5J4{DstN7{*J!vPF}8mVdke74#2BW6*5;))>AP`^>udqmYa> +cy}N`1t7HQBQGt4EH>lhc)9)=^%lryp@kRK`U|HtzeX33F^#E +y`|o%SUjv^$AWe$r(5=^^_r%S$od?`cW%rP2p;R3y5ZanAjT3iP>2MAtK}9IRHte7l3^^@f$Pa$-2MC +Cy90qg@X)92ngrv>#BvFEUItDV#!0x{LZXkrqnr8sqI6bshAho2F%q6o +ljHT$S&_H}YSI^eh=;ip>1y`q{1!VSo$1t0*$a|vdpvmr&4NRN#8D^lIYH#9m*SZ&+)A?W# +R^w2((#$RZP^)g+=>i96|a&TIf-g|F~)z=h`7<{Z@8Xi@dhfu(h@Q@!wF{ug7)4e0N}@EXPh~4Sj6d>QD)y%acld) +Cz@S8p$xg85Iv+a2I&pLMR_zCFv%RjFHd$V02{;EqqId79I@0E4Y!x8hB;G!*#T#BbIPM1sg9(=TVjx +&P@aGdS#-HC_iKi*~gRlWpD1LZokqQpzF52IYgj=$d6*LIT##4co@MX3ji;~gbz7G?(tMH96iyv2G4c +pC#j=GKFrZihh?UEl|n5R7hv~Dy002u1a`kv{L!7t5EN1e`!tt6IqEDoav4Srl2t+e}<_6+zcJPB5I8YA)$ufJ)6JsoYLA2 +hguwb0WE8&5_d`Y7T{Pwd?vQi<}>VqxI)F@q=5H1)yYnvMXM2gWj*#FOo&x?MjxSBxEPPr9i7vdR3SJ +(u3b{~F?B9os1W{Ps*WT28Ka}u!87M1-#amt}8+To7%NOj3i=%VfZ72I}f|GE +gWWLfTxF%96!MdqN)P<3!;$%v_Ochl@Fz(W%tEwY+nw+f60yvcyA5PMWwO;wjq^y`K9I+xztz7@XWZs=mD9% +y78Klhnb%89Aq6#KU@XrkZ}a?B2jA)XOv-@_6_yezBX* +v`-#_4G)9vGsntN2oL{=VTEowmW~SB1b{UCW>n+g0EmAWDek +q6QSIsE8-`@4fx;st#aB~AQDbxOMpI%TZL{JVuzJbB4APF +eS-N=jUtK+pIMU+~OG6`xhb6y!nY?_dchy-}X{lqZKUia4ErVC$cNG`?E?)hphJ$pn_3u#1?>Q8{Ap| +Fv=^ehSLfW)w8sDPE??lha(k{28qJ#Xpu$D!-`r#G@=|y6eVCq(47|V_dE1@$9Xr3r@y)j^-Oi +{9YdNyI+cX@_`~n!dkc34H4dUvTH}npQ= +NH-GA=1tfPHsD%~mwFZhO$SN{n=`o1~S0CxZm-RZ>=o{Hg<@iEeD=4)ZAFQ=7C*M^Cb=h&0H$Kq! +F-`cly=^Lj_pSJ5|_s6#Na5qU%wQBRsq>mFgx#JVDOf>!5B#RihnVVuQgBZBioY7Vh|FWzDqWP5gvrh)Oa4#f^R +1lKMiZPY}Qo!9u}F*WBBLk+&bxCpU5f5SGP^>d6ydm2n26US9Dy|v1sJJaVB&&X5HN;MW;oPivF~RZ^+8+ +#6VW=oehdj{>3kj^YY19+S-+?0p8iotA_&|LX)iQ`^d=0lq4(gliFdYP~ebMd)_mjCG|W12T)4`1QY- +O00;n+tx-_`00002000000000o0001RX>c!Jc4cm4Z*nhna%^mAVlyvrVPk7yXJvCQVqs%zaBp&Sb1z +?CX>MtBUtcb8c>@4YO9KQH000080F$jzQNyyy8%Y8H0Ez_w05Sjo0B~t=FJE?LZe(wAFLiQkY-wUMFK +}UFYhh<)b1!0HV{344a&&VqZDDI=W@&6?E^v8ulwE7vFcgOG^(zhblf}u6E?$Ex7o~)jtK{nuv5qk0s~svd

ua{Ci +^CingE#+3yw38|E9k|b{5`qlD^5K>|V=`icm&V+z{G}hG=8d+jN6`jJittwQuo#Lw$I0Y2Jo3vC)Djg +RByP6C1E0Udip6ko~Po{vZMxF2tC$I7k`G3j00wIm<%}iWp8C(?bbv +L10{9-jP{i)zg!9@6aWAK2mq6MtBUtcb8d5x06Zo)7SMDO{EQ8)lnlndfgwU<_{)JyvbmWelDk$59}1I^#paVP~OBz&@L@66jB+qPpb +2t&v+@xxPwxMuk7Jz6c*PVG2|(=DOyT_u(sY=Gpr1W>Y4Scpm}F1Nji2E9+{;GZw1?>*Yi|F0XAMd?veh@7XW%58X5yUF{1nmkHoJyQ%5dXqp7MPMx1yO@`i9O`>1uN-3}vKJHv +@YVa#Xtq`k(K`K)T_YqEykUp_ZKJDWM0Qvl+fv;D`*F0-Ii7xavnC>$W(KxyEnOc|KS}Wu{b2NGZHvk +>85v1@de8nA$H;O9KQH000080F$jzQNw)H;JXL_06-Q1073u&0B~t=FJE?LZe(wAFLiQkY-wUMFK}UF +Yhh<)b1!pqY+r3*bYo~=Xm4|LZeeX@FJEbGaBO95Wo~p~bZKvHE^v9RSZ#0HI1>KuUolWnL{1&0X>Pk +c>UNw#VCitF|aTB2gMG9{379N(|sXGp!!N&2#PmjbCGk~7cDJo7>&N%D3fX(?R3m@R7Sv{= +e?Oyx@FPSu)9Q!nXq;}&>6%J6SO(pssV5*4i%Qq#&ReN9(aud^gcMxz}%ubrII+l8`Js!9_6U+F>`a? +o^n^@=K$OKl|y>tE${!M~Q$25tPV@fsn_x}s9^jEEM_HPeHGqRwp=mb2Pi9~>RD;DM{Ck3LWt9kCAR=G`$j)l|kPQT?X0(*ZZIx?c0rZ;&$5ZsATDuuy#Uw +MlOZ&8FUQ6nQbcNQnQ=wj#~i6BN&#FED1}U5Ul!LAD#r1vBa=&IQe*NTOa!?vH +cLowLBLub~4f;)#l{{8urDT$j}6;w!#(qXAC5eajH+@<*jfXYxumNhbWkl>J5$Ozf%qXwW$Bd(XIK}d +@evMXfThUG~l>bz2RA&W>vQ=>p^NG$76rkLK9_jTE-lkctYmr~x(`!YVjh?- +9CR_Z$JG;2yn+{Dm~kheJNinbA{9=rQy)21FnCQpO!)Y$E}3)o`VRDU=InUmw(i%H&Qm?2*)kxP`^KlYLd`B>+j}wkt?vgFEIMSi($CGw|P)!&e*bFQVBg5$}_}dR#%*nG$YR^ +iW1)p~LM)DS2HdoG%Y0~Olw0l`9&5^`}c3m4#f9ZqBQ=dPab~$>8(d#MgQ*yC#tmrDQ8<~u=t&swxMR +2)SEyc!jNRUInsTiG>>xz{jX9ef_CrHMec@EQdZ3MiP^isj!*YKeX)5fZS*Q8iZqvOyk%G$08dzAWb^n3J8lh?tI>c=FWYC`{6L#4RQHh8dYw%%sblSO?#9gB?`$}3-&Ms +@iii-!mIhlpM~qL>in~G*|l_NoQ4krSD*cylY5=Qy(~oc>GQ+qo~2!=gBh!e%LNj(ta<#F#f0VvUQ7| +c%zYO#Cnn{9EmjaHbazucys#OyR +$c^FNe*6Nc~Oa|G{YfY03CK)b2^yHkWV{8k`veJ7)suh!~Vc!`k=(_5RWn$$b~J-jn=glYbF6z7!Oa@ +8j(8!3j(SCq9EEk*LlYcx%D?fx;MrS5@H$;Hn~DYEif`U-IQ#TgA5pj6@I`N#ow#>r>hnJa6rH7<=M? +0-5wz%>7k-mXXFv&5bZ%Zxcp`UIzD|0hjf1^Jz^@(uQ*^BHBf6JAsnZzkoIdFP% +L$~xvlVrxNqC`00CC>`{wV^`}gnff4Sh!6ncTb&EPJWbD5?Wp}cG%8$>Nv*xP>n$?mO3p$%2aQ}#Zjc +JE)N+gBpm{d_&LmDFjsV@yBM;oX+@jk|Z>xgOo?Ki%9GE>>o{@vd0V%Tu+w{dSl-NyFF+(Fcd{_y1EgBPCfat$aCmzx^5YW@Z>#GeAKBgPXhfE615TKWlSrHi; +d{|Qh_0|XQR000O8ldVxvlZrq7umJ!74g>%IBme*aaA|NaUv_0~WN&gWb#iQMX<{=kb#!TLFJE72ZfS +I1UoLQYZIZ!mqc9ML?>vQ-y>uniH|U{?vf4^fh=3mUG;&~QtN`|oP13&on&5GqW;rq6KiK^LOh#o`tWxa4|Es}#yjUPyc)EJKQ|D^jfLNlx0g1yJ{|D3% +8Z+8)9a3N{H>gI&ukbPOy#k$x+y{+=>XYk_GfO?97G!qey4rZK-dJ(f2jiWE_EaxH!6ZMQg(7{n#=Z7 +fCB6ukm*7&)4TQu``>ceLjsp7@+J9L`7J=x~B@YTmGaP)h>@6 +aWAK2mq6?X>2cJZ*Fd7V{~b6ZZ2?n +omW|J8#fSs*RL4J50MOIovThEAP;Whv_=!#h?VxCC|1-iC9$E%Ey +n$n$mWYQys!#IDlD0b5xuYsd5OdlZ+gF1~O#TGOTMz=TWZZ}so2S>Qk6-fQ#Vk6jz1%?#*RzSbr;oR# +rvR%qpnSf%SZt17NGLh+ody)ashMx&CiLD(FRDqc9DRbCp6=gJ8!P3Hh-a4(rd?A=pa@j|RcF#`M>kH +`M=6Gy9*g@vg(h&8w^hYk+GAtC}(CD^U5WeF=hBemsaHu50ziW#=^_vU`VFBXznJ6~>{tE5!*cnaNz0c@aN2`O?z|ld3bv@b +9N1-e(G*gs4LHM;Mg6&QvH?5}wao@DqKLv9*l@?3Gv2c^7}M%_243{kpF{8Yqo}1{J?;H@XHx5`Xo$a +c40WqjK08>^M3JgnNQAI9D +krj%5t;ctRFn)WnYK+P!&}JqvE)UkhG+ryTyL+eV`^SWt$nYt`m%p(}w7@)Z>dGpia9%BRPDaN%M4-e6bDw8f>xM>oi51=m +K1Ya=HP%w_F7;)303-B)NpgZzXZ$8o*RoWrLcv@?yw0q^a(5?mF$H7^4=2{&Qz;;E}EEcfMdveniF)rdo<%jNX@@&N9UvwS +FUFWAAP2RM%&ItNd7+;J1g$VRq_`J=sw#+B95wNgi*fcK+;%elV?6CR(F=c*4jED5{-5JWUdG@SC3cW<2A|t>*)xe0>bZtVsSmu&H%#PfwiB| +MOcU);U*})FdDK!+GojX+nwE`_HThmrY9F>7uNboSpv@N`ZK=#(c`CprrcG&Qq43*Z=&_Y{+bp6jD3g +sq=ESslLHK%dWWLq@G&_dD%#X_N-PuH*o%_Nk%}W`yX1Q=BU!Zhojj~I* +#IWTi}{czW1}1{9!V$GkCl#mGDs6nVd{#fZSERkdUz;s$|KQB$DCpQOWjgTbiB%)ygi3hjC(eSgc_GH|z>$aX05a~B +KU|5H25{CD0r$fqvc~U4PSegls#-OeO@gP-TJU<^)2W0?#;^yQW|0O+6)pXmpAB|Ndry(eeM4p!(QCn +zLof~MHq(L%Zrzzv=eg66O;r{w<7>QacrzY(Ye1omH@l!nWq-QxZIF_y>%LVSErtWDmF;?3KTGr}B-r +Qa#$Kt#a(Nw)#VZYJq_MV?qy}I1b3q(}#7tI712!tX^ +@}Z?k2gm*t{Ik$&s5!F4l!|kFhgmC|)SMnT_fHl(zqr_7bE{X#8oP_yNSwo8wx7b`0 +~Z;|JZ7Wg?M?QZ}{#K$AxFp;elQmv@crvi|ymue;`c_6{&ElA4L3!75j}LW=Rr+MV?3kWp=ebp3k2nj +sF8sO9KQH000080F$jzQS>Z(F#G@j0Pz6;03iSX0B~t=FJE?LZe(wAFLiQkY-wUMFLiWjY%g(jWp!mP +aCvP|%}T^D5WeRr2KLeg30l0kuvbqjD0>i3r8JXeFwLZ$M#ZN$NxQVDfk62F3H5=;2|9KTyNTF~vLpA +Pb!fZy_JRU5ON73DQ#xU~=Z{r1M2x5u*(}%3Z}mYzIy-pD1khE81}u+BWDwBWR4u?Bp3d+}-tebrIAh +jJa_#E+L6@ARWe#fvn&_jTX?ix%VKd{Y&GXP6;PL+UPAS#7Rs>FDx$srlsLOjl&ogMDAx~2!=BLDyZaA|NaUv_0~WN&gWb#iQMX<{=kb#!TLFLGsZb!BsO +E^v9JS8Z?8ND%(+UokR5NrYoK9YUu_MJlD7DpeGTa$im-cVkbQrS`7bU6TgHf4`Y^Y_ClU_mU4y?VWw +*?U|QsjIJQdHjQfxW*Nw;*2aNYTU|B|v-UaKu-IByeDS;!S-*IWD%S-@?P;3UBEJ*2Xj3cid#MDZa(I +g-bNd=?CyVzv)=p|=JIN2q;7+PStV?{Qi~YGV+C+JmP+12Zdx4**)#J68$ofNn!g~K>2uq9YLxVNM{7aFu5t$FCRJXwi*>5t6sdB+f +%7e@^(YS5!vNrmDpB+6aq~)MyxyZMj+C}SE9LN6q{g&L%8)spo4Uj%G!jUOp@Kb}5`h+h&8>||Mz-wr-%sjz_c9&%k(Vi0@pwX}j{2s4XGMsfcv3oOQN40&5k0Swj#Eu +HX#+j=Ck^s=zm4eW#>w``Md3BJD^*L%0sYT1~wlmuWl5lz#gD`)5YwaGe{Kx)2-#h;-}ntU&P2*; +oCB#QB0bZG(;b@4jZ0eYYz#U5jj?XMqet^M_ZJ^p$;@F(s8juqqJNLXPl#w%ZCF+3Rt`+PkgP!@}{K> +s#w+-CV3(YaIgaP{{Jj}-R9YDZ~W&!_N1QXe+yfj%%qFs%O8lCA?BLTHdSBGuhE%yWw_+epH#wUz9|d +`+850`xc;sMK);bW%j{eoiD%>CXs^!b8bzg(ErIk=jXfMH9j7q@^~p!x@bl;T%@9p^&U0XQ^QZxZE_` +)r~onjx6BBXv?aVcED4Ah(o(+Wo&%lLDUx{4MNgu4rj5$vWydtu{aLcFJaw>Ri6OgPxTnqOS +`bt{3Z_x_(rkw1d#EvYKxW`l;Or61#dd-NL&h_ci>F5JdX_guJqJ3$bz5ftYFZdw~|fSa9x-4+#_>?g +23M8nTwZ}1UEf-P@E4>~|U)kg88`Ysxz#D`8~0Z|-()fqdQ3p?zn3_f5{ln;g +z6hsFCH+=yA_OwE~b-T6^kD*vB&K%|7$K9K?QmI2gV8W-;hR)WiWVbP&~4~X#Dyn9(JO0ARNH0p?`?7!DH6-j#drpA+m0 +O6WwK<({CNMW{|YH(-!{NrZGJBGDp(9i2eppO9KQH000080F$jzQTF4n^DhJd01XNN03-ka0B~t=FJE +?LZe(wAFLiQkY-wUMFLiWjY%g+Ub8v5Nb7d}Yd97B!3+wE0(jR;Wq@t9YzKpde~xNvmSsIF-`Eayr +ulo;$vx`Pp)sZ}%9f)bXYC$azKupld@r##T#Cuz30Z~eg(=O&ZmpD5Q502J1J^}uLrINQBDa61c?9%{ +U_TfA%e8v?mtX($Z%7+K`}@}4Qy*;60SeqI~AbTkr5n>d@NzVb6!%a`)Z*5FMgtpfy~!4letm*xtp|jgAHV-$dasZG5w@mm&f!k|DB; +l<#kT~Jo84Sm&$RwV#e2?x1_!dPdC6Hj_kS1qKd@tVtqfnp|4;(2eFYOv3`!{sVS~0bg9Ni(22ZcAFMpu!iFcS@?W*o=1;0sw|E)8{IAQ!3YX@(W#D5C5ZPC)FL +W8QKb|#kkEP;=48kkPOP?@4}N+^0Sg~UJVGul5o+Xe627J?--Y>%)-Qh^@I61A>}wmpIkXz6d=*Y8HL +lKfGWau8G>O$=?}8k|HeA`11;8lnb-TE+}PLca@&dXS3bM-%q^hWk@}1&=)FTibc;QSmyEDmTX-XRA$ +E6q!Zp6O~TeWiv)}GuAMumMrcUJ0!bY9y3PIbNQh`rby=0b#*4`8(IJa%YoA@YsOp9L^xrnNuuZh9ok +mTb~XnkDc~CyRhSR!EXvs!NJ7Vms1Qziug>tqAp8rmaB!55YdSkTxi2Yi6itYxH6S=?$ +C4Zl?EB8N6|?hgy`rOd{(fd1Yf`VCyO%@R>w?Y$3IalP5mH*Le5(ek$@Qm)#Ym8JJ}^c7#~g`9{ZvvxW6fiy#NQB@Rf-U+&1S?X&{4 +f%a4aH@Dhh!l0v9oQgFNQcTeTY@;;jx|(d01xS8fEM_#;m4sO=;w>l;j8>3rj|OR&+Nks_?6pY-zi6E +12q~@86Vr1RT`DOFt`FgRbsFH|i7q~~@%RrD=Wic4tXsv0#)fhajAAi0JR$e +?$OjIo`2kZW2;BF_?@YwfjLGr`Xr9{_@$QSF!Jwsl$B=G!X1&x=*=A`5s_~rTYr*#e=Ny@YsDoJ^Xj9 +PZs$OCNZ^PDd6+ +;)ww>+=h4O!NTv(Z%a*AUBny_Bgf!j-!78P)h>@6aWAK2mq6006f<001EX003}la4%nW +Wo~3|axZmqY;0*_GcR>?X>2cYWpr|RE^v9ZTYHn+Hj@8;J_Sm?lu56K)_9WIjcRqd@mP+h&WT+!O69J ++UJ8;RiD!z`@iC8e`9Ax0H{KvQ-lTFWmrM~rqtX3CccUA#t;z#S({0q%Vi5!dQ^QaE{#rEEgY)WrRW>DX>AboYeA69!E$So8B%D`Q#VyaX%^T=1E +V+A4KGu95`T7&z3BzTb-JhJCfSlM&ODoxl<}EymDoRt7P@2Zj=Lvho8_w#cYS*X;wk<1=z_AjwC>j{Y +n!R8L(eMrSE4R@2zpbd78X7nXt8Vj#Wd-B#3@cAgu4RWeS>2S?18`vVA*DC+dyK~H!w6>Bmm7E-wN;M +)30xvR)D3Ui8lNh$$tnL?y@{*>q_uOziRTs7|MH6n-i-a;BEJmf)LxH-;v@nZ3aOrDSH`#b(&PX^t@FJy83J7aSF@D +9zOWu``8)9`wgyiPCZO^vC()>6ksmm(%CZ#XUcO7L#>(c>Xk&9KNgAQB86GcNvQD#@oQ`|7SvIJ>v1V@TBPJ-m{xjex36Gfe^@`uxXw%f~n3T=iKU +lTP#V_S&(BWxT{j@ax3NwOwp_-&b?#$cO*|4?=!FUw=^`X+L5TW}-DJnCYbRdu6nVt0hXAO27prD?%{ +gXLH*NndGMq-JZY0bLa;dtjCLro3YZUOea)zya*foUE3R$RtIOWh)%!7JIPz1Txi4q6Y8-vXThX`y9l +L4gv|u*N3t}$yc}9QQ=3z^A2d%bqku=gSjh87*%EHiGVZ?mZOl=u`1Vqd3UDYE^WlE#KXf;bj5`>vqx +4KV0dz&j!F<687cXosFaNOwh@&lqC4)(NC^ipia#BzBfB5?1IP!qMh(C|727Rn?ss7AtE-oA>XCqMA} +N4P2b~`h_BK0Yc7Jttg&bmtg&X9;bV0;$_GYnoZ|yAkQw%=P!vk73f}Ky!#_;t5zs~XN&#bg&;C%9zK +Sm<|Pg_y0LD;)SCndwBY_Kw5=P706Bocc37!65^O}hFWY?6XO~_+=n!Iz9m|4(D|>ew^uid9tCg*f!bHu)ggFLOaqb+H9U28UM*!0xD;S(rQlt}g@Pv{I*ca;xVsqN0S +a*6XXHt;t!M3&N~sI1D1^jvY5i}pQ6rTZa6zocKMGwJ4}?wlXQDjPl#V!jv2F7bR*Vrwx!tB)zJ}w6D +>2o=WD6_2O*Rm(tJS6XGRm-a2{mb(Aj{? +egJT(NKuAzbuPpaRpkb*`1$NJ|Ajqc(F^trzCYV=j-ownRlcxOcBW%yf;4f1QI=G#FDMl9BsoKggD9r +kwpdS>3GuUZcr(;6y!tRnCSa>3$qV}a7QT}t`Dg^HIKjA1k|+d50uZm}WwCSOKY(iC@35B_m;d?h_3Q +Mfi~kyehL(tnj;NNqZW8;@SizBmbu9gq{kj(zh>kVf-OyOO%gowbaleNUyus)kcQMifHTzisCZPpuZ! +39h_S|9jI3hQOw9M!C_dph8^BDWe4Y3>W-8rvdZ}NhU@@1bpgF}!Lu+ef|b1c_T*fRw!pu@cl`an`@M +`J)gxS!=R$Qo!jhvAPQvqFFvdHTzxWCGjE{J|6*rv4$_l{HInM8RO6oWZ88Fl}UX#p&n-r~|o7(O|)` +OoA&b))3KxpI9bD9645|35l20#>1xLM9THLtzfc5rWfQuuo^fTSd*y=eF*gPAj>|Lf^;$CLH0K#vy<* +A8)S8+ASy9M-DRTS^n$FE?2f*~GyXOKVF-Eq>w3Pp{_phS^@%U+BMA^SATG9G~93UtGQW`34^s*B6)b(MKArvlasa_h$R>? +HNSH-@f>M%)XnPe~f)bujj9>uIHDF6gin+-=r_!f|cyB{9$y_g0rczf2b^)BJ*U5mMS~62V*)hZk1AT +>@5&Gdoht?07fiLF)B#Y$nhlk)*1xzI71Yl-CGWf*eIhV&QGu~sRd=sUo +fvw-fIU{STAr(JRCw<=rJS?kbV4~Y-%vDw#=Aj!nj6Hi%*j0|Q{SALUH7Bs3SznPB7Gg6-4pv=uoN!d +=AZN2SE!LM|R$b)`k?S%^jAUE+FLQOyq8h;Y9X_`ByR)<}S1;e=W3Yf$V6#FAX;K9i7l|LW|tY!hw0> +*n5*m*ZF#Hb*6<9FYiOuccUm2|P;N{1mzVjXG>i44KF->~B6!#>H&J5fb3#g%*X#KUwxnz6C9QiZsS$ +Sy%p{OK;X@FEX}LIQUZOe-yy-5_JHRa-H4my83{f<-gCBy3ZA)`O?tM_CUCpMHDC|n297=i6R(=JHA)P_v{FR+CcEG5gB;*oVN{RrDj%}y78j~%A);N0 +hO!ih#{tt>BrHT!AE}|AuL#BdDc9bicOi@C>` +^Hyh$)j(j+olDFE}0^h4{dOIW%T1S8C&%n9QtCeRhYB6I@9a~fHl6@UVW93!(t3RdIJY$!w3$F1)eGl +Ri(q<_bB2*LSHS1=Z-Wf~ZYxo$Ti>*@#uUi$<4a0Vi3^lV~!O+nKU&Dt7ws@I7+$^@v)m +VY*wBC$DwHA6@N=va&IF9osCEGcJ|m(i|fH8G~=%ETe()-{8ko^`o30RvXUlr|jMsR#POCx#=TgaSRre@$z0#8HzF{(n}K;`;wG5mkQH(zPN+Wir*qsP7!|Oqj=56K(Rt +$l3iOWNq(1UB-~$Vx_4N63x>S*5qS+>8wR^sA4*BzHyZ-Zw^U0H16`szM7sh|E+%ZVR +HKY$3MZtzm0|_$B)WQfxOVnx&7>Uz9(qJZfIjunK78jn;r=W6c{HFkOl6gXZQ_>^jbKYj#4GwosDRue +)b&6!4}jb_6-}H+|G=FIiAE0pJ=y-EX4z&atNGC0yI4Ktg7z*S2h_E`Q#+TnribcQXiP)nLRK~KT^e3 +sC0L^^@NiZHW6u#;#M3o^*S@8@m|Yb$=V?^ii7ip9XsTqa9!jCx{HNP)!i?i-i#n935s!)>>CIo^u7L +?XrfS(Mur3H@z+6GCLV@Ct(JvBL1(Sb(TR@sayiO~gl2^`KnujH|;JA;j!^vT|)3+xiqm{7c55h_ +CLhVtZYp4r^;@k?!h235MC1hmeeaaFE;TC?TS!4>8$bzU|&++YwP)AMxaMO`-12}xX)&NE?pkaFzYL_ +g}n)tF`0@e)I=&c4E&cq5DFT9Qdn2N7ZY0u%Pgm6NILtd^AS)Fl#Eih-SY`~WBuxl%NNA<4zD(I5%;M +;G3DJ{;9!WF=VqBV_r}i3z^q~qq@Em|fU)#ZidtYG#RvlG`S79=` +($XpFQ?Wm5bS_<84KoEkU)avtok$nB96Oi(0=EdQ=+vqT9B{VF3ZBa)hTA$M*mHp~5E>p>|21)uTqy6 +|a|r@(d{8DIX0NC&0unLR1-p0T{g6<^E3pIYt6L!$zGh9o%m$Vjb#7Yv*D>Q@(dy((%E5HDTDp84tp0 +K@)}LzB7H2!qf8mw3t;S{WzG3YVOD7v~6vc*?vb7pl#f5d=ZlI?s!t0HykMVA71JHv0I1MK9?VL0MS2$opEb$(yRQs +mohlWjF*5A1&SssDtvIR|+-v+s38>=3E%lJ^=}I!#HOMvahURR$G(qnqb>k*g8c}09X2#8OLoBitgg5_)`+2a=cWCx})I7Cw-!~)l}O7U)_Fm~_x;fL~p=8}=VBEf4NZ*9=9V_dLp^W42+JC%z>QK8^f_zr=)l-J{K +)UQF&E|=@@czeQLIk&K>46UNNQ<(%nrfFQ_i=P_n4AWBd98sc|dd6cpV(fy;ImPMnq +RkeW|t?939hbv@TiI6H*udd6tDQsFGhdT5zGwAL4Bx+Q437sEP3m{6v%e!U_@ +hLlc^Q@q_2?0bF&yscRHaw~L`6N)Q9vJ(kgZ`q#+m9x+qFP{;#dY4~a|}SdR)z^ +4;9&6LzKj6I$w(knEOQlNwQo%d<~-$L+hx1WaK-qBr>CWF6&^$-6a*ue%jvz{(?eu9ryrAt2@T}IODzze2y*sKM=K1FR{POCxW;&6zG&hc%1-!-`!e7^>E$Dmo{XYefvVZ+7(kD0 +Y_hw(JqH7m|v0K(OkGfc8rpBUs*AdMgDW(tC(H|+HKVCg|RMlTT?o^Kbg9JahD(s79Z$BCG#u^h ++dl_}K;`U&cm#pWRpj-usqpM2h@uVu~+LIrXy_OnlMUQ}5-EFR`T;>&*kq&1}6~9%iU0FaN&vHHd7b% +iGK^Z%42LvRj_3ztVxD^Xctb@;wN|yT)(+^zuAD`6p0I0|XQR000O8ldVxvV)kVar4s-EyEp&7Ex1_+sxR_aQ8mO#nSTJw5&MbPqT$i=~L7`MO@0DvCt9Toq+4}bk*vK+Z^T*0wFP1X4->Yra>CB1uEX`#Vr>W(*^!gU$8lK}W +gxEeO2t_ET_)>!Q7(VdiweZ#=K51wRrqdhS#B#CKgmbscvb03r_%w)QIXf`r52asrpQ(2!*CLT2`=Bu +tWurpNp$z+_HKLwQvc>;Jonok6nz@rVV0jS&Iek}Z(k3Ls^7gG7~;q8Mtc@$YgaVIZ +1SG=mOk@jV%cS%1(G_;kBn{(q!NMZGD^%oPc){<|}h7Bwebo!$TjiR6At3#v*5mhSuAa5> +;KE&9=3wLMFXeFj#EpL%CKWowJtQP+7-|K*&7NsuTsDmYcLvVN23dRqKrQ3)bF)WIfpzrzB!;*6%X~E +J9>~C`sTyr>h32GHxg7{`A|8kzt$|E#t|a+*#qwC&tunn%GHqPg`-@3U)TFp_QzvMnda$r`1Zu={$`G;%-|nV8a*TyMuGx-QPakj&46j4<9GmYTO;H^7;G%3T) +9F6NE%?dv;}%b +VBy3Gnq?fAz+A+?kjuIuy5tLI+iW2qIzdA?{6zbr~aSk~uC5JWF%hc*y|^f3(~P(iP%Rso0Wuhn(oNlp}(~X*)Ry==oig`|r@MkPMMY2bgs}eCUMOr|dOKDx +0U{$KQD$QC&wN4S!5WZxMP)83|s+>bkQWP?5LaHoPycNBx5971(2>_L)h4ed9b!|A2it| +{tM#y|ChU3ZU??#_ENRAc~f9J0?6Z>@ZFRs&X*j9^aW$FfK+hqbg-T6Ex7Ngqu#zGI%L>sm< +VkLBAI1Z=yf@*+&W=zD!)lS~6YNe|tREMgd})t(JF%>{>>fiKPK;oxz +S`$+k&oHTL`wCCxvrIE02s>Bf_ruR0AEMFq-G}i##ewdi8~(9K^Bz0kf4KnC|wli`7}=B|J1H_yAKG#i|4(GnjafpfI?c0 +MY(v44tQ$Iy(AEZNK{5Mga4?wGUY#6BaIt7ZQG@x5G{u2*dl(et2@(uV0hRd^<3`(PdWXz*boyB+*}z +%yhAm^}<~wvX*>tP_Rbbnn$NagIJ@vQLv?mMSR+9=u=7{Wmh8gx}zb&9#T+Ul&R7KtM!VU1ECDSxX9o +;#@MTF|G=Ci^xr=x4f^$yky0y#-PC(-RmoQo$Ml05a~9%Lwz+y>*l@MTSf_vIG-i{`-3p-OlAUO0Vp} +(d^rg3_itZ55bgldVrQ?j%V3Q{RGjI=i_Zb4bU5KdNQiX5D6IY +}+$R_Hu^fESq-JcWmXRjy*~yQoCxkSG*iiZw>(V!e7SCBg%jsJYr;!w#@B5sV5v6DUDn71^`msx=hv4 +cE5$_Tt)})B5FfGnheunrA;CCjIXTmVa>AFI0XWVyy-3cK&yHQ?#v7cjYgBD@Gb@c>x +k7Q{-?@wn!M0e1N9sAREZM?CRE?ylVHNn75R)>`u-b;-~LwXw{Q9u$keo`IW|R=u<^X^(JBMs-PvtiPzJ0hVm+pCD4$Zd6qIhpP&~>~gd< +`|nI48^8W;l<6T6T`T4=#TQ|YX-mfguvjcX77d1EYu4M{}lVlJ~vYukpg{`283ce80 +p$IY8d44yY#Q%F{=!4wg;pcfW9AQ1w6N>jo9=UO#9}Nn?68lblv+X&D +!PUh@xT~#5@7rb5xAZ3qEpIa^dz5SF*d?+F_CtNYXGo124mNdq9-m-en*LFpwVdgdr$FikCOjdVbSTC +zz^jy8yQIfJJmOLJ=QmL4E34E!pY{X^Y(v)?@AZ;uFP& +KMy-Z`*NDRbgk;V(_4b*3%(yh?V9t`(_iEEXfEfrEvqVpp=H!1{#y>(`Kg;yF)bCw$rBpFN{=CwVssV +2R)fkRq1O*v;n5Qs{mkX$qgBkV#qEnOcJnHASMAV311XKG{-uvNIakh2+*eafj&PuiOlVr%lQt~|D4> +I9==xJD+V$)-nSPU}~|6)L3yT1*MTOkp2ovxpS6EigQnEt5WGrPAvPvYiZZlNeqE=TcVH2@5wSaPqub$;{qFD5yQafGU5dZ*NU!a!<@w?yY&732 +!_$rERqI(*r!|DcUQef9Q+ztr7y_|$I%Ve5sfqF;lK=);nj^H%if7et<44ar8*kymF;yX=Caw)6Y!L< +FP_>zYaFfC;Z5zlWK>F++Ht0Cb)VV_5r$UgWTcnQ*LN0C^ZcopOdf|AnTJ*+~xll)(la0(W)6$=d+m* +_xSTqHE3+y^~YZmy^LU9hlTJT_@jY2q&whsybeKH_(e*>s)R#{U{=y>Qc8c}90*X*?WZG{a|zrhYv) +tH4FR&@3{*lirz6w^4M*A(@Pmtc#ZVJtW{e(1MrY$FCEcADP~#v=gL`b@jo4npz)h1iYa<^_k~yzpQg +#Xs{B1J7;k&Tn2?BjKFs2u!{bijI(*9BZ?rjUsz#?NCqiM2A=+R`rQX{^5 +)&e+fdwn7(zXUS*~KNQI=aCfytAU#zUPkYJaSk3}Tl#dy?TE8b%bh3EQNzb%VoN`uVp@&_hXN`<$`$V +NzPvuHk8T8MmsMo>?fUx-D`Tlu1s0y8i(QpG$|iA4MBxE|#)gn!_mq=mat(%mW5vnAuJH;qCc9JAXuE +uzk1L`mqXES|&Q8W%`C167)RRJLG$GO1G^-v&M*;e&XLRMGyP*Lm=Mv^)Z@7in~c2u#q-CavLAf-gJZ +JWT1bz18wcky)+E9CXjhV`gPT+M5*a3^vtqc28wrIWn@4+$0SR$ag@nLE`wX)2HcrYQ*h=^?_R+OxO2JXV +bfNurq%c`D+#)zHjJ^`1?~uC~UpEkUXOD7Jic)BDQBXL1(9oYu69v;8CAfx8x6eaST9jB;l;*+8n#Z2 +OTeyiEI$5021l$fctF>O8lZ^2ZXjoXyLS+-ti&Bb!RgH&#i1T$r*+1a_od359pdzHT;K^Q%;w3f-vAC +*TJ-b7gO6gr4l2jP|7DD#WS)egrFM)XdSbeGIe0mUi;x<;TwQ#==EPMVA&{B<N=Cib +CYg_gfnex7khQ7)wN(4*bophBE>LY$gCgd6wp&!SsIVziNZGL%GiPO=LkNxJEe55$bvg(sSucy{vVW; +iz@G)h-wJzWKn}yx3Oun>_>|1*FV3bo%Ty9qo_pqL*+qTcoY{A!+bvOPbboY{hGlwx;J8mRY;~(~jlI +K^ohScBI!VxU&8MSM~n1_2<@dVd3(kPcQvr^_UzvW52WD}+{7Vue?sV>#AIK*Rmn*=a7D=4gc+}5V|Z +_oYGnvY2+OH_+uoh1%w0z$*hXf31$OjW8SyeNP4xN%2r``!6q_OTL9tKahCK~TZPKfx$i~}Hj@x2ZFX=K@4M@M@tJ4ecQF_YIW&=B)vk7AN_+aVQSdY@^` +|sXicKYYwgsV8K&`X=M$-PoJy)#`>sl>WoD33#l$c-j+R$5pHSf-2QOv0?j@+GM7j&L9V{M3>DRNF1C +3*R_YLL|v13Mkg%|Hrkt3@fH=I2!MJcwq?l;S2=f95zq@y-`(lb|4(osy{hfZkGllvWWvB+AH%)!Tnn +X76L_a)xlt+iq-N2UPK +KN-nPNgiI1Ds%gt~hY$eEFu>$0=W^SGaPocN8jkfcjxiaxMGA5MesuBu+jpqUbPxF=d}DaH_@BShKiu +Fsz=4ZH4d&>Pd$&X&WH7d&LAEBg^YRNM7$fuTMs6#SthqhvE#m-&b*9#oNC&iGDsMyoJ)7{0m~i)Hg#Gt__QZ4SzVgmbcbJP04-a<}HhgNkQuAh}UBGT?scA+%CGO)4EBXO61(pXQLN+izA{li+-1j*qc9?j$ +%s-#iEcqDUv}GU`{W#&^OGG<7?K?&PuosB_fiDkz^~IsRpAtj(2{R~&09s`zw +6om%?V+Vv5&jXTe8*?I1s-&xlUO<`Kuyj8Uxt4epd{y;u@eO2w$jCJW|8i)^ePC7bykw`|O-n+kgOjR{2Ns~a&qg*&Lsyp==9YB(8PUvrle1~bb%?CW(pTu@6Czx +UDQ-?(-A{w~gnBI}vosD=EtMYC6=^&`Jp+aNB0hcKV}rNB_-1tf?^K3jhGyCIA2<0001RX>c!Jc4cm4Z*nhna%^mAVlyvwbZKlabZKp +6Z*_DoaCy}l+m73~^?kmAm_ZO5&}ycerrWwZ#imI%4UpXg*vaV_#@9wQy%kIM`{Lq?-R%Uc#fJBdWkyvWgk@Ilh3aj=dLwGKKC ++#)T_e}bDkj@nR@@3^cigg8g~RN?4PY~!sN_aEFbk*wg}&GzHy*j?WcljN+dn^hvwZRL$7k=~+%4~3| +Mc?h`@0MO8nIqDxUv)!UhOZk@UR1r-z|9g50q|A;t5(nOXTdHb)Meq&;6I4DYPc~ +$yqP08UtBQwTwY#=7pzk4Ms9n}Q7h#Iz4z}7t9Z-SWK_^a%|K8dExb`0esxMUi-iNjPf*HjqznXFAbt +C7c~dYgczyd_c{7gy=n!!F9pL$iw|py{WB_^V{|;xhFddi37eJ4jFp=*wV+QFM-iqY)d6CS?@u85wKEzOyBJ-Qx3zN!&wZxrkmXy90* +~5J8p5Ab0XGuEh}P1)~5!21nli2_WRk>>%?1n=ylUd3Xo8QPkyNQ=c=)=4dznYGIF^@JdF72?(2lZ5q +Wbv4ux7dw8i*iwL&oALYK^Grm_nXhCh97H6^r%>qPi=1BLzWr%i<1~NrNUa$e9y6kwd_x7CF_wx34)Gpc5bp)@ikdSUIv4zTGzPE8-iO0|lazQFh1p@_X;uyDdDmJ4k*?Z?7x&{ +dyxCas9iSC+pwVPyg`byQjauek0e{5zAHc^vTmdt(Ij(hbnhcp;tmYOUSFOv?6kWDjXCT6lXG%20J~- +sOWlMZ_%}|2O(M{3GaFHjSYXO<-6eA1b8JhBb1tkSM3@XdyzVJAX5$xVxv@f`*#QVZzPlHhFFU+(VSMaw0be|G1oUl7MH1`*ClByKDlP31O2NHoih(`N6tT1xJAMymOri>?3B0Z)x_U9VC+2X+Xe>>t1 +$W#FZlDt$s*Vq&v%!<8CT0L1EEOdD))kB)pa#BC`=7MEW7jJ(*q<^rTGpl^?OlK@zgKYH!RN{3t3X6mRkx&tolGy_25*g0_mjX9|o-%qzRhe%NAxGD#JmusRM1;QT3 +W_6&#iBRF8H7X&{~hdcMKR$6fk}raWMWS2f@rS=}lqF+*>v8G0-_xtEAt9=NT*nJMTPVuQWsx1o6gu^aR55<;5$}qy1M6&O!2<3uWs?7T_(gG8wFi78l;5SOr3HU%YK@pQ;reRu@U<*wN^oaRX;9>$Qk1 +;SHo1rCHIOlL=16EhMAfMt_NM8oKP0!9&V(KGVQY@J74f_=z(+*^TDNRx>;H>TULd(i)paCXOr7hM}$ +SznPRmT56gjUq)ko?#Sg{xatJZ1Fo314k3!LpE4sqbg>nuuCF4vG4Fg~-5Mi(*v-@QRPvh(y@JaZwo6l&(X(fE~){Vx^)o|sf0ruqo$IRm>oh%?Yw=SK-Q{ +@P|tCOk$MbBaww&D=iq%`uvj3KtXI_5dSA#k;6 +T5l1;t+N8aX_1JXYUoIvG{ZC<@x*c%lu8Ga_ef}QUQKEB@ji8zG=*U!J@l-@_A~exbn>k@?cp-FsuVc +ENqgWK9URF&heiqpNh{I1xJQI>8kCQlY+O!LUDoWPMoR9;%F*T60t+b2x)BRYK3EHh8`o@WXDM{8H4W_e4!hF^r9PhR`KE>?-$7!uPjw$7K4-BQ +IZluXPd8(x{OpjH-oDM|r=agZ#!!|Bw^~8B;&lTL|Oj{iWk<3}xH|P +E12cOxGL*ekA5@y?JMrTplk)v3g+a(me!V;PGi+3o{&nBEjp^xi5ARR}Eg?ReW4=Vq +?FBwvjKSeWEjrQGxOw)g^|(yUHmJ18ZNq=aIJs9Wk=}$HG2++hN*`J)zHX%1;SDad*^n6*tA9QuPp(3 +^4aTPB`c!EAnuhhXq5hM>@@45B)HPXuG9M4hI|`rNv2=mYke$GCu01=O>hn~cdqXJy*%2I##>b{&aT? +4mfc!Jc4cm4Z +*nhna%^mAVlyvwbZKlab#iPjaCxmedtci~lK=Zt^oV6G4MrxsE~6WUkl-Zj5|TAAyAyDPY_+jAvgFZ& +;5_!TUsZLt)Or|_yYp`b%dL8Kb#*A*dI@ +p|xPa1K*34SY=#fbSF@2o*&<3g<8<=7k}Pr!1TClrxxB#uL!uC!TQT^CY15}Zr~6$t +kNrI44zW+2e*YGP%*Xa5p7$3^kT=?#Ef+lLON7q5!SKc4?7|%mK&*r#;35dQnHcL=-sbdZ^X1m&FQYH +p-wdlG-UE{rPC~{YZWT*2d=OXXk6*0?f+AmE8ob +ipTz#Ms4f6UB25V4<&YEfC$X|?}7~}Tk*~yEy#{>2ie;mKPI66J;bzm7z-u=GozB{@=i4pUPl<=gt^X +=NUzU+J}e;b|GgMUd-1BXFlpf`NE3olR4ced4Apz~$M@4tz^U%v#4yWMY=VNcNrGZO|6B&{C9cLz!et +K+8m7`MO|1E36t6>vtF?rg(=;`6QJ-g!yjiA@K4hGx3P9{B8=Z1!ZI8IHj$hU5qZrCmpvtkki-?0;J~ +@s*WI-L0Z%I6!8voucDZXzn#>Ue%}}m64#i`4qSN1Rr@xBazD^G4Ks> +oT8xGC~!`}zTg|9ez{^EG>^405;zy1C6&Dq;`{}`TMT>k#gfBo^^8&7;by`2UB{us`qc=2bFX8GNx`{ +n1YC)+!_d;93Z`&2D+bp&1)EJgBf29``>X8nOFC0oe6&cj)UDpNMhQaA6WrrE0b>k(<<{POwH<;Cl_!;_0Yr2frZ#9YwUGtk?5`j!4eeL^6nHNee7fzk +q76M^YgaXA?NQ9!;N9=&>l*_j&9=pfo5V +01c@&`TjDO+vFw!A%2x1JNRXwk$_z%n%;#*vlYq&60eAc|W<5gf9}vHlr+vZdDeHnXb()Q%E*b4WZgs*pq4mHq{fIh@lw7SL?B8UWRU7 +IZ!(D!AH{;)die4M!_?I-=0gvzn}%_gLIndRZiz8402q(>C)XABf}cs4_KF`uyaUX>%RwwIYC|Y{Z3s +(_`jFQ^q(Y=NrfL#xSgsC!f+^7y4%l8MW*a +>4OGC+aqyLI1a)fTZ&>1tdY#phSIN#rWZ^&3xkgw%+AYfwHx$_0uviqt`aBVFoQG$ +Ll0UcI+As>Sd<`|gt;(W*b6js+;lKdVGX3n=KyCygIU31b}Gw=F9m^>ONnGQzzz=44oZYheTo3LYH|_ +J!g$g$uQQ%~ij$8llm)ytHLeXH;xvu$v9*EaZjrrsei27^9M2 +X21SSB^#6y%)K^HSnE_ySXVhZJb=tD^jh676ya&WUroJam9Ea5^JnDl+N?))xhye2t#I(WtA-jbGX%o +)G;CRw-?KGH)ENuH3vf@qOL!S92&E9f-&^w>DhSdb|(k?5a!0InH!6&nlE=qycc-`W%k(t?~g>0sl~i +$2o2!AKagnFrq10ioyd9rrD})Xd=Cn=kNS!Erj3rTp!;-`FKsZy}i3#j^)IdWhrOkV1Zc?ge4LYc&yV +RKGsD61j=1Sao}>o2NWMAK@$@7J{MrIEa>l6yW*kRY`f&nlNT7(IP5&P1`47ww0(H$T>K>KgI|!UEAauIZ0CHs$Lb=bwV4l`8N7y+&W{MC8xbHaZiM_oi* +u8>WEn=QDCkhFWMg|#Aym83!IFktC0OkqEi-DU(KSeAdp#mgEFN +~O@G}j4vq2k`2_ra3aL%Ry(E;`Pn6HcJSh~P+JFJ`_PG~Q#vgjgEpI|qmU|vVZs6a8w?S^j5P|B0NYB +T^2th>4X9+pAr$OYKer1#4t6$kx)yO9?RvNA{hLK7Qp$v=Ny1l_Igho-hYS3f^+FxjdT0K6ir%Vs_xWlNp3i6O&jV96==TLQKZxiyk9zu+IY{& +!(GCjdEYUpooGU~`Ih+0~7f?NjmD{ToP3Wxv^q*w&8{36Ui1ff%dchufu+ +w8AwryzuIOq2X7fb=%NEjg;dxRA&J9Q-x$XT?jIEgHh;BWS}!Q4Q!bs>N_Y_E+{~`)Pq;`Oadb`6a#G4%Eal=vCE;S +Curkqli)Wi`v&oy?=MZXl%#w?D*)DCzywd3TrKg;H!>Q%0#qT{@|XK&lPWKN5e=YG72yor<|&kp +3V35HiXF(EfWdBm)!&8hwi!NFkcQ>el-<{9P#2kdHuh$m5y1;QaAI-Ry-Mgs&e;YQb!QISY!rL{|%xY +CNeZsT3MtCEljY)pjo14yiZ7Nq{*h=SV)$p+v^0&=x<3NsD!I8Sv8ReZo04ck}|PD{Q=(UPhG;k581B +m!A%NGQrul4=B>YETkTPOUJmP-FWOvaRzK2)3YON>EFa;sn_ +Ujt!y5{8M;iv_zuazu7DnV!-I&ls6@~A8D=+ho>5A;rt)>%4glh@EP;v}N4m1?R+E606jO +jX*mPtK%WgHrm5W};s*Zd5vWF$W3MWyV2fJ9tner5fs!2&(mVuQ+(g1=2Ogoxzg#mfRIEcJt>1N9XuX +#}_BP+=V)_pi?RS()^u^X|ryBk%S5Ez2R-9C`5w03L?-I8_%eyUKabnrtsK&kBW*eS%%RyvZFNE8}x@ +I&^1DI-QTkx8TrFEXDr3E}56*ahUOOcc^rgzW(GsM87#yd_4(uGhEsq-865=oxUdUC1hD`E<48j9Q_2 +nDQT?^JE2`5>mv$_B32V^%`BCb_GfcC+#_;laV?}2NsIuh5!J?w#c@6ej4${@w~tcM6oOTp1S=tDXL< +nx)E9#k0F}Kt}}=qc~Vto=#6=3$r2JCakr3kGTwqy7&Y}|>Apam;)?yRlg6X9a??ki>>YX0(!9d#?A~ +I(Q9e~PzY#`vnOU-|PMYpXErNyZ-ht*Z2^BZYkZl<==&Bk!p;vSS|tWGmXngWe +IdRioLX=6hqJ5MG4fEEyLuFaVZ+VRN8$%|-jIa?v>)$Jn6{-`LbJXWm6ggfx2?E2a71tRaab%|WdZ=QSZ5<{cG5f*} +5v~(NOVPDt(nV;+psIibU_|KD9P=@~3Pg=@b0f=^n;W^qB_jv8cyrv1I1h)sf;LGiN>=JhkbsSay`yI56TFS+N +&!dbMm0Zg9zN0hq0S90GkS$ktoW!kN>BEpw)q&xsOxn8SOA7vd*A#TTVoFuidW#K+)b1 +w9DHixG6V+JAn;F`~n@JYIt#Z>spz1ZC1}7mYEM`mcEN4*(lFjt7W!}Pq%fA)%J=`;s6u?2%nq?9jvC +J*@>w$oT@BO{KoxQdM6jO)RBmqpUlt>nA4_1d2`Kz`_7ZSj*Td&GIaxT@1@&i$Nr9iaDsuKP0BKk@WY +Wvnx;9^s^^HBi3+MP40VVM+~zvI0xTC5&B${?Q{=b8B3(ps!$i7o40Iy$S;%UWYEyhKhe|LfHuRNZ1W1@}{`rxAy47wBr +~`|8V)Sy;DDnku@i#RLx#cr#Xq0@E~8=c!J +c4cm4Z*nhna%^mAVlyvwbZKlacVTICE^v9(SX*x!xfOobuVCc|%c-om4HgTeQ5PwYMT6biLE=Ro7J)# +`oRL^@hO;EcV*&l~`yF0JBU#R-Z>^A67xH{O_w#X7-5To!S=*RNWlb%rt|`1R+6ficT4}wKdXm06(p3 +22+ultk-tJ#d1YQBatD3TGZ5rcEqlyVV7Sww2KK%a9T4SFP37@4KiB484sr70lmg3jxt@$kX_xPjykH +&s7#f~D}bS|bneqB|@t}My&=!f1aPtz}x$)wQIIq@va>|Ib)ndT}g*kU`xF2p}gFWlC2x)ePLMi!KH1@~snqc9uA6PMFFIjHEN}iyy!nMI4sw!0|YP{&T)C85c@&OhJZ9JR8SW#K +wjo1;j!dqGFurwEIDkNK%Ep_Bsvs!d5tSl(28hyYkfJ?w3>~10c(Ruc+Y4l#u1F@T+4bIB`mcqennvx +zu;$IL37UP$ux%7k7k%rOgIV6L_PF%%KkcID%YSH~;e=Ni&6Qdq+*?{QO*_A*r*|W2&MM#2M)6c~g$x +;T9VrvX`ugUjB%|VKljbcBDyM~o46{nrl;+IA}lA8~K!|p9A0;XeEvjHZQa +Fo-m1Qe^J((D=S&4ysLormPxs?GMg>FPD|wG@?tKTC3jRjoJH#T;pkg0XO0)KaJr^GZDek53DZ#K}op +wzaiX(XlsR+Go|2rpFE+$^$r!$)GbR1I0B-=f#J;-vY2SN9`o)Mp6m3D +>=!uev&2@2;9N8$XVEXvJvK0)&fdpdwu%`C5>WwPP<^gDD-_DfPfY +T*|D-6^WdKe9(|O+$yZ2qa4clQ1YMZKR(~;fm?iu;-xA8Hr)uz~6t)=S+s({g#X5-gYMl!|WTs&bVW| +40n7A!zQHjEAeJ2+C4YBH{#XeyPUWS8n&d>rTFXO`y-?@Rc8tBSoDg=C_UBgLR`{9+Kv15=F25g4ZRw +zkef)#bey<0emiK%fg1xqK}28%MDeF(q!WvG?{DuvK0Q7-NGeB9R-VRZ@Nx?K@({7>am3CFjnd_fxH% +7e41V)RILqVA`W8%1)3e*qaXP>T}y?k_J@`XSRMi4d`|v+JbzA=Ws5DLeSw^P3E%sZ?<$IqP7fOv+|rve7 +v-3iHW*Si%?%Wa2^aCd6M;E^*_tpNI%^D{PX+UXY&5c-n(D!<8_36W7hu`!)oLRM~ +e$f8->KT$!m;vHA#tp`%YjJte;~lkVu9PLw-UDI!!dXSp0L-GMUnw!EjAGu;O +x#EF|vWhMlsMgySwFNQUVS=M`6H0ffQQRU8W0LN;b2!5{oOoA+;kk0-eM6x*Nil~OWk-Q7W)5qbN^Lq +Dhd6hO$g(gXceHP%FSzy-TDWkdYgiemU%XK=_0{BGZY=I7_z;QN5x4nj;_>SwSVz&Fi<`JH6PC9g%o7 +}*5^qUV<0+*K`&^S4cbq@UpVKts_MZCdnc*{?P6fA@IKFvr81V)-)k8Ol4>UIFf$~G3Xu!vykqg-!y6b_ +Rpv^KEONR@7sE@oSH*b1umCZqiCSNmiG*{zX%f^guaz}QDS@o@k^XC6)!w*yZjOD)rP)h>@6aWAK2mq +6bYEXCaCz-o{chVv68 +~RMu@|GDgi4H)Tzf7N8?YUvG3q!$ +n-jTUWct&yRaypVDg+`n%(^Tmoq{(3>>`pVDptNTY&pG+7dug1quo{z~q%Sp^ +6O;X`&HG(KxZSv%5Ap>%1Kaz+04<3@)hD?$rs4}6eglp +!N`B_o_J88Gn5STu*HnItzfO=4?k_)G;8K6%BKbcI$H%jx1n*lkVoSvPLlu59&ATlG0kwg?7cs%+C!VfI4Vlgh +#(LXIFRy3zeqBj6aPF`!5nMb~+${F~T3m_nzty?rTlotXvL5NJXQmDfy0VHve$mE9YhUPtW{!x?pXc{ +X1C6&Dt(Lx`9g1|@u* +!jptfYcFg3w!^*M(ng+17~#4}{&L<$XSzXm +GwB1X)|5C0Nmdc~y6w_|`s8IRaXjx5Cp!~lE&V^>+8$i-4`IVo0{l_920mc~SzCIX*e^sss+QAC(0I` +c>AOGq?9l!7;dsmk%;M(&d9CjhEG8GS}k%!T*6uGRYWSosgipeB1vdSh+CG!gwL~*1zgVR0#>T +FhUUm_F)j5Sl1gj)+5@L=YRoEmVz5a9jH+xQpomyxMH*u~s$%Zf#8fK6=DLmWO<*~)tF0ZITBI2jD@h +f#GW#1`e+LY;h%(M9pXrzmLG#c)>)Q`umWN$oejH)Q5tgXBWIWSP +TzZN&QWh90`gVvk+0g?47R{QnYIF%Hf#leR{(A3VDGIFbg1o+bIy%sGTt!9%hK5KeyDC*# +6k;l7V|(8xXz*lKNEQSt1gr9XN}*v$BAV(nVeTB2`W*tCY*329z6vxiKu-59#!4KPEEM1vr^&1Y-+L3 +br}%aT;_E2H7hYt7dBFjNhB#+eSakAf186D;LCHjhVPCLxu5(Wy2`@%FR +Y?;CheC>&RE)2*FeChgX+CSx-5*avhnJ*{<|4_SjIKC3cNio3PWT5;|MpJ*eRCsjDcq7a=S>`1X9FaWyb$ObN%{V78H#! +d-9ex>LWfE$>;hmJudZ?~mC*cNa>XDTy;^l;P&cAYt9$2~J)-_iNc#ogAFES*f^D-+`C|sFefn!s-{K +)p|OrC3D9xWIF9b1FPI-IR?`yw6+kPs4i{Z>8ij4Xu+zsMrqboYxNW^`h?LO8Z5Bgl$G|!8x;qy>MOU +SWy_I(yn3N*QRt*P%a#u0l!K5pW)d77!m0-7pji)GKEy*yd{@eL!riaKUweG;X8+x=RqtE6I0;^f?{^ +$xFeGcJ`CzUM!V5H6W;Yn@_DZOze5ZKo2SUUvIGEy?XWgus55qTPRN;FQUMz(*BOs;-9)Flh05Etv5Ymvd&M +}YDl_B`otO*D1si>4msYjp>{j+m>e_XteA+I2J8ji0hSX74nMKFmCShsZX*_%LfgmwN+D~w0Dz3RuH> +A3ITK569cvvP6{jRH+X(;e0ZYP0o1Nl6<#-9`#3C8Si1@<*zH8OxG(j@gMiJ4SdE!+z!{!CHMeC$h|w +ng4SqBpB8%yLGrwU=wtnmvFQ>dtN#v``Z}EZjKmv`NkkhudkcdFq+xK{`)3O%E^g!kMr9mUDjMj9V<( +d2Ef>-v7;gtxb0_NQbbRAg54%LBI3y!@sdge*EwsQzx~o&N|twkFDTwIR2pRk7ya8qe=LZ>y9>mJ(=s +Cv>JYuIoxznwbsi4L_4+W=Yv`r{se9C8^Xfi@QcI3{t)t6QK3g?9ksAIM62*G78U+G`@}zcs5=AXQ$w +`fTldcm8+@txSoqoVf=Yze4RNSGG*)K?{s@bM0?%tKRjpX9RGDF&8FjYN((dtwE^p%}tYls?U{Nfu7% +|x}XX*)z{WIoka{ML4(3{JNZeM_-c1>})T}BPPhMgP(qh{#13)nzIMCnrE!PGg8278}Vk^PiHm*F@cP +-Mn`C=xTtwVej*p+R*IyJHgQH;L3{_4ISb<0PWe{Ak28vdnVlVn=TPgqY;(KN&s83*OAOnwXc2N2(uF +!M!+YPaSC1sz>MlcyJ>~Tg^hL1}!(IS`w!_s-Mu51Vh(%?LMe>wT)~I-Cvt|iY3~4kY;q-{+o#*NEtV +5~8f&2<{e_gYGSfrNdWU@6aWAK2mq6O#^3?mIPJ8*y?`-D +yDPvsBwij?`z5jL`kST)xYCQm7n5DC2^X5vc1e?5m$28EPXoOtbRU!K0Lhq`sMq}EB +l50)0(lkWU6*ea#86MgSA~K1SF=ZBNaW4oc1x2BEV1z8Qfigwj;zX&t!C( +a1$DVwMG!Oem+;(EteE8Iu9_USkhAlJMZ2h}9lRF4x(FO5wc0n +u}s0;9QJcOd=bA~Lftq&y-p0GY8?&j6-*6|J3VP+xEwL~RoRY7#O$0ZO4IjsZ+zU`ZhagGsOZ%*?Q{1 +L+j@V0pu05zF!;iW?NWVV?+vDTQ2Y`fuLJifjUoNX@n3dY(1(V`nol}I_}qmH%(%2j1;zxP2dJ=a`kjQQ6Y +p!mffK}caOOW3%KPPAusMw{f(LgAcz_%V2H!jC@7i(@e2)I2JcRBqOvM44|*I1VaL@1%0Y@l+9>YIYY +{Ku=)M%M0G(`nyM`85s=%wUD#gM2WBTL%>r40w0)*{5?E)8`F16JTGM5EwYN*kZTYg-MVsoN@?gJPwl=-M6uJW`uwYlk-Vx+dy%7^`_x^=eMw5Kf|ojI4 +nbr~x>cArsqxqXu|{0Um9D2MmBCHVSP)+^B1)PZ;3S2Kc}LIHjS`77WG=2nYiL+JFEU0A~yo+JbmwqM +;#SKu8-90t4V1GL1H!7#!U~u>oI>MXWN_w{8|VIjBsQ68N^*Z;!*lvfnzcfaj$_)LYLBZ&-MLvgrh+0 +TK~`5Cjj+N2fvH0hmd2#~FyZPFy*q#au;%OBZ#Kckz9e^LMR?Lzi@M2X57#IE-#$4dI7lnUsbu9Z51y +C^C_fTFOAK{7R?+TI3};A9ru3>ODTkUF|GtA%8#Lq3#=8%7m_*!T{8kma}vmgKP8HNHtOyjgv`P9@Ja +)uFP<@!l;qnUz5t{7-#RW{XkqR;6R;?i)L^Tv2gc;!WHkj$B4UfN+agl)E?1Gbd!){F+g=4dj3*qEg^ +!sZ&dyVsBbOIC%Xw9^FkVLpCnX9Nz~ZHb)&|hwH0c88xKJZMVJE6JvnQ`JrvBYx{Y8BHERazE*dABe| +`}D7M$pV*uYR=Z{ieSDXne5uKZHUg74&8{WRHW&nH9t^ziS)|4>T<1QY-O00;n+tx-`>e=#3K0ssIR1 +pojf0001RX>c!Jc4cm4Z*nhpWnyJ+V{c?>ZfA2ZZEI{{Vr6V|E^v9hQ%#TBFc7`xS4^ppor-4LJtA@F +?s8a(_E362Vo_w00lal=*ERxFwZDD+kp!_+d#ocRj{WA1=RMD0Fvv3S*cye6JAeN +*QqXtYqGX0S1h>OWj>G_ss`mnmgdbN*pA6sb+!*e=DcpYgd<*Ln%z2|E%$epgp#`r{S{%dO{9yzZ5oV +9~({J-BY?Of-9pl1!>Om-iH(D77&sNFInbSB@Y>aAPZ-n4$XaW9DX_OfrE7T4iVSq?XMELpqDVWC)?hMeXGMbM5o6Hpjcj*XMlU7?F{w|~QfX$Kg$XPPAy28$E4SYED +g}IH8oCH*t#K;2#tlf;{11oT!(y?32L)0&z?!>ve(A@KTi9@c;J<9|RKpyvm=LF4jyk07u4JK4SvLD} +H=WJBEWb0a%PO9wEy_z3f5V^#wV@Y2MO2;_A_%W3*^_+K<00ZZnU*BzLRJ^xya$H@D}TDJGAH0NUOew +Gt1WHsNwm@5Ay(78sL`_`CCpZwzvk(k@jM;plJpL@6?W)YLx7%7nu;f@1Z>!`6eztGen$PQE&Cijik= +6K6q%ndTY*Q1vZj4X5?(_)9$Nn%JxKyXpe+mW&j+Ag!jEuHmZu!~_0iu-&a@86$scmjCWI8vic1Zblx4%XEKAb1jqfT)`+g!j=k)mIrW35N8mr>4WA3mml-b^#n<>~B?0ErDO9KQH000080 +F$jzQD-=Cr?~|H0HYZI03iSX0B~t=FJE?LZe(wAFLz~PWo~0{WNB_^b1!sdb98eqaCx;?OK;mo5WeeI +ED{8y0!ffuB(VheV8s$(KyeDlIavm=q*nGeG%0YGv3%*F{Uf~=DA3+}bNfsBOFH`^moMvKN3cwCIo~& +rot+uIMnSx!(ai{@eAPW}y?XVk)k5&OCq9YPJJ#cbaVD34u6&gEDe^I+0TPmkrIZu2iW4-^6g?$13gY +!cLT_&Q2z@lS=%_z9LjD7q)4MoAbG)XJk`8G=B1T4NJU{CoMhKdnf1F&*Cz5+fIHn;3YH9Q;iSLl-tx +}#Q#PblnTgM4UX+*&U;)P&Rf$aC`ia1i +8v0=qzvUgh;se*4eL4RO|Ht +gDYC)~u@72Y?SS$espz|o%s!{xi|`#mCnrcR)QNuCL-caGt0=trE|O?BQM5=Fk&s{T9l5~an>BO> +c2DOY&(G2QtvIu6jRT?&YdMy4C25;?Porgg&$@%7cSp5WQWkfQkKYZugS +}uO<}}(5GCRFIzc@gPu*^iHf%o6PE(XQ0$v|}DD11NxhPylRUC<7Msa*u^Ery3)kR>#Rd<-Sw}NE?QK-1Q#=3sz89|0*{`nmh8 +n&5LF>kZgV5PPVWF)J(HUH9w^>>*HphJtEK_M!efjT~Kk^cjy=y(G8Q=vbs=*zec-vc>9#$TToY%bS9oQz^g3lWlQsAj-W|M6;)e!aaz#((K5Sdv-w +N%VC;rBYVojGTCnXmzO-&Xn(%b- +%*~7@8vXEcx^6R8bJ#cC6bQOd +scA%(=Cnd)eV7d8ku6vF+V1F^8e8}kZW~?rsre+TSVs52K}c$lmFC=}HT&f!zc0&Vn)FjGcV9L&F~1z +2Z}XY{zLhV_FiEEq$FMggnN}mSv7BTZPsn;&*5sK|w?qPV)B*bf`1*^@0DoR=mc!Rjwcx40f-6MA_c` +3a13rc;cJwe}C@Ku;>Vx2bi)ImbL-AiQi3hm^Y~o(?*(Twt4zpC8Pc^9F;JF%~kEoT%)eLDFsFqV}Z2 +b>VO9KQH000080F$jzQQHRm)};gh0Mifv04e|g0B~t=FJE?LZe(wAFLz~PWo~0{WNB_^b1!&bb#rBMU +u0!wX>Mg?E^v9Jmu-97G!%xv=U0f7l7yupPS-XL3()li3S*RYFkml1mW~>O;{@5EEie1+DE3kGq+LJk +B46%vEK54~vD~ZP5^Ao~{Bk6grP&!an$2dTA>8kZ63XkbqIW%67Gx)yOq!Ff#^2ums~0%TMLJt#G^4z +fWjfEr+=y~Y;(BMb*bXly{4TwE+DOe8H#WVTmLqZGLow(_1CiW_i*)7|x{!-BukX%MMR`FZ@%ZAnD+( +g<BWgKb1O8JGR+FNbme92d?qFnvn-dECX-ctb6bjKp1KlflBFeCnH7x&53H^#mo~Pxwp=kT5r +^kz?t;o>QPfx3^-aAh>5OU#=T>`ByP(W;MVc>`Wmk~3b6bpCMQKx2w%qN4f0kTLIq%q0Q)y>%G2t~fW +_Q;eo0Kxis1vqybN~02yvD69tE;#rx8N*Swtm9dNmZ-${kS{ATi@3kcN%0iK6U-4_w37Rnch9kdD(yc +u40erzG8U2Bkj&2lttF2hlel$-hJVw+?x7~q`qfrJ+wJ>b;Q>%yqL} +PGNaXLcZ;s3PSV`W#aQ5JKXaGb)f%~+(YUqwVz;{0Q2nUJ^}EvP)oGWTyD?O!^-vlfNIk=j?;fZ-x7I +6c+{%x$zO|_AZDl{kR^aee)z>jLx!dS)hmQGyiRY^a=B|nJn{w*@B<+q|y!w-)TtULh{F2&(z5UKeEN +q&W?bd38ZQBytLQUPd6RB~xJ`&MjD9D{6mpl;t>(hgNztd@Ko(tFZy3MUu*ZqEL9Y!G>gm5>64@0;Y! +u=2)gmCD?(g%4MOhTx9Xu~xMp;?Dfs5AP_^7RVl +2h1jOi}@jQoB2`AW~*7}ZNA=Ne$0Hp>@s(lJ?1A&-z?uL-zMK9-yq)|-x}W+-xS}G5%W{#Bj%X-8S`` +I7tBNEW9AX_n0dlHWq!&0ih0KTn)wa$3G-X#Q|5QfbLRKVXUq%cbLJ1sADJ(hKQVu1{=$6eAN4B^UNh +e?C(K`&{v7#3FZ +&?iBk1bq_pNzf-jp9Fmp^hwYsL7xPD6#6LiQRt)4N1=~GAB8>&eH8jA^ik-e&_|(~B2z>~B2z>~B2z>~B2z>~B2z>~B2z>~B2z>~B4Eh +-KG3aB^$DofvAA>#yeGK{-^fBmT(8r*UK_7!Y#`$#Wf3HvY14LB+_ck`a<-*s8|FTM!X{Ot^zfJ!GP) +h*<6ay3h000O8ldVxvSknymBLM&a#{mEU4*&oF0000000000q=5hc003}la4%n9X>MtBUtcb8c~DCM0 +u%!j000080F$jzQD_JcJlFvM0FMIz01p5F00000000000HlFX0RRASX>c!JUu|J&ZeL$6aCuNm0Rj{Q +6aWAK2mq6P0000000000005+cRRaJ3aA|NaUukZ1WpZv|Y%gD5X>MtBUtcb +8c~DCM0u%!j000080F$jzQDQrDSaJyf0GJ;D02%-Q00000000000HlGp1ONbVX>c!JX>N37a&BR4FJg +6RY-C?$Zgwtkc~DCM0u%!j000080F$jzQA#uko<0l!0NF1902TlM00000000000HlFo4gdgfX>c!JX> +N37a&BR4FJob2Xk{*Nc~DCM0u%!j000080F$jzQP<=O3tSKY03$a503HAU00000000000HlG_8UO%rX +>c!JX>N37a&BR4FJo_RW@%@2a$$67Z*DGdc~DCM0u%!j000080F$jzQ8ZROU~mrr09`Qv02=@R00000 +000000HlFyD*ym+X>c!JX>N37a&BR4FJ*XRWpH$9Z*FrgaCuNm0Rj{Q6aWAK2mq6KlXc~DCM0u%!j000080F +$jzQN>=%dbkMy0O%Y502%-Q00000000000HlGaMgRbCX>c!JX>N37a&BR4FK~Hqa&Ky7V{|TXc~DCM0 +u%!j000080F$jzQJTj9^gjsz0DBq$03-ka00000000000HlGKPyhgMX>c!JX>N37a&BR4FLPyVW?yf0 +bYx+4Wn^DtXk}w-E^v8JO928D0~7!N00;n+tx-|FNPTS=3IG5yB>(^(00000000000001_ff-r=0B~t +=FJEbHbY*gGVQepVXk}$=Ut)D>Y-D9}E^v8JO928D0~7!N00;n+tx-|Vcj`1~0001l0000T00000000 +000001_fox;|0B~t=FJEbHbY*gGVQepBY-ulFUukY>bYEXCaCuNm0Rj{Q6aWAK2mq6V?GE^v8JO928D0~7!N00;n+tx-`O@56d_0RRBc0{{Rd0000000000000 +1_fjO7}0B~t=FJEbHbY*gGVQepBY-ulJZ*6U1Ze(9$Z*FvDcyumsc~DCM0u%!j000080F$jzQPQRfc+ +ms^05}Q&02u%P00000000000HlHOnE(KAX>c!JX>N37a&BR4FJo+JFKuCIZZ2?nP)h*<6ay3h000O8l +dVxvg|8vJTLb_A8w&scAOHXW0000000000q=EUK003}la4%nJZggdGZeeUMV{Bc!JX>N37a&BR4FJo+JFLQ8dZf<3Ab1rasP)h*<6ay3h +000O8ldVxv+pKr?eE1poj95C8xo00000000000001_fzr|d0B~t=FJEbHbY* +gGVQepBZ*6U1Ze(*WUtei%X>?y-E^v8JO928D0~7!N00;n+tx-|DzjPz|1^@so761Sr000000000000 +01_ftJ_+0B~t=FJEbHbY*gGVQepBZ*6U1Ze(*WV_{=xWiD`eP)h*<6ay3h000O8ldVxvK70jkRRRD2j +RpV!9{>OV0000000000q=C)f003}la4%nJZggdGZeeUMV{dJ3VQyq|FJowBV{0yOc~DCM0u%!j00008 +0F$jzQBj5I!y5zu00|5L03-ka00000000000HlFm;s5|}X>c!JX>N37a&BR4FJo_QZDDR?b1!3WZE$R +5bZKvHE^v8JO928D0~7!N00;n+tx-{|>Iy#-3IG6rBme*>00000000000001_fxPAb0B~t=FJEbHbY* +gGVQepBZ*6U1Ze(*WV{dL|X=inEVRUJ4ZZ2?nP)h*<6ay3h000O8ldVxv!m*%qR0#k8k{kd49{>OV00 +00000000q=6Li003}la4%nJZggdGZeeUMV{dJ3VQyq|FJxt6b!RScc~DCM0u%!j000080F$jzQI=C4? +Y0E~05%f<03rYY00000000000HlGX`TziMX>c!JX>N37a&BR4FJo_QZDDR?b1!6XcW!KNVPr0Fc~DCM +0u%!j000080F$jzQEB|3B7Xz`0DKJq03ZMW00000000000HlGN0097SX>c!JX>N37a&BR4FJo_QZDDR +?b1!CcWo3G0E^v8JO928D0~7!N00;n+tx-{he_xX$0{{Rs2LJ#b00000000000001_fmj6r0B~t=FJE +bHbY*gGVQepBZ*6U1Ze(*WXkl|`E^v8JO928D0~7!N00;n+tx-|U5i0~L0ssK^1ONaY000000000000 +01_fwu?&0B~t=FJEbHbY*gGVQepBZ*6U1Ze(*WXk~10E^v8JO928D0~7!N00;n+tx-_}owiS08vp=XZ +2$lv00000000000001_fgKA00B~t=FJEbHbY*gGVQepBZ*6U1Ze(*WX>N0LVQg$JaCuNm0Rj{Q6aWAK +2mq6)W +gaCuNm0Rj{Q6aWAK2mq6c!JX>N37a&BR4FJo_QZDDR?b1!#jWo2wGaCuN +m0Rj{Q6aWAK2mq67uaA|NaUukZ1WpZv|Y%gSKb98 +cPVs&(BZ*FrhUtei%X>?y-E^v8JO928D0~7!N00;n+tx-`)e!&G=0ssJ!1poje00000000000001_f$ +2~I0B~t=FJEbHbY*gGVQepCX>)XPX<~JBX>V?GFJfVHWiD`eP)h*<6ay3h000O8ldVxvZ4DW1Z2~G`aA|NaUukZ1WpZv|Y%ghUWMz0SUtei%X>?y-E^v8JO928D0~7!N00;n+t +x-|lrC_G88UO%5R{#JY00000000000001_flpll0B~t=FJEbHbY*gGVQepHZe(S6FJo_PY-M9~Z*neh +c~DCM0u%!j000080F$jzQ4vCcQ1v1J078-g03`qb00000000000HlFEcmV)#X>c!JX>N37a&BR4FKKR +MWq2=eVPk7yXJubzX>Md?axQRrP)h*<6ay3h000O8ldVxvd&wyNI{*LxKL7v#AOHXW0000000000q=9 +vt0RV7ma4%nJZggdGZeeUMZEs{{Y;!MPUukY>bYEXCaCuNm0Rj{Q6aWAK2mq6c!JX>N37a&BR4FKusRWo&aVWNC6`V{~72 +a%?Vec~DCM0u%!j000080F$jzQEiXSKe7V=00#>I044wc00000000000HlFbr2znNX>c!JX>N37a&BR +4FKusRWo&aVW^ZzBVRT<(Z*FvQZ)`4bc~DCM0u%!j000080F$jzQBtu44etQ}0Eq+u0384T00000000 +000HlFRsR00RX>c!JX>N37a&BR4FKusRWo&aVX>Md?crI{xP)h*<6ay3h000O8ldVxvtoHDQRR{n8E* +$^>8~^|S0000000000q=9s+0RV7ma4%nJZggdGZeeUMZEs{{Y;!McX>MySaCuNm0Rj{Q6aWAK2mq60HaCuNm +0Rj{Q6aWAK2mq6c!JX>N37a&BR4FKusRWo&aVbYXI5WprO~d30!RZZ2?nP)h*<6 +ay3h000O8ldVxvC3D%HIRpRz)CvFq9RL6T0000000000q=6*G0RV7ma4%nJZggdGZeeUMZEs{{Y;!Mn +Xk}$=E^v8JO928D0~7!N00;n+tx-`9AAw3T0000o0000X00000000000001_ftbkw0B~t=FJEbHbY*g +GVQepMWpsCMa%(SNUukY>bYEXCaCuNm0Rj{Q6aWAK2mq6c!JX>N37a&BR4FK%UYcW-iQFJob2Xk{*Nc~DCM0u%!j000080F$jzQ +O^o{N@@lG03Q?p03iSX00000000000HlGp+5rG?X>c!JX>N37a&BR4FK%UYcW-iQFJy0bZftL1WG--d +P)h*<6ay3h000O8ldVxvlF~tv5efhR${zp#BLDyZ0000000000q=8`J0RV7ma4%nJZggdGZeeUMZe?_ +LZ*prdY+-tNUw3F_Wo#~Rc~DCM0u%!j000080F$jzQS1Vk-3$}}0BAb^03ZMW00000000000HlGk>j4 +08X>c!JX>N37a&BR4FK%UYcW-iQFLPycb7^mGE^v8JO928D0~7!N00;n+tx-`+9qiBM1poj{5C8xk00 +000000000001_f&Bjg0B~t=FJEbHbY*gGVQepMWpsCMa%(SjbZKmJE^v8JO928D0~7!N00;n+tx-{!q +mjt>0ssJ72LJ#c00000000000001_fgT0|0B~t=FJEbHbY*gGVQepMWpsCMa%(SmZESLIV=i!cP)h*< +6ay3h000O8ldVxv000000ssI200000Bme*a0000000000q=8Zi0swGna4%nJZggdGZeeUMZ*XODVRUJ +4ZgVeRUukY>bYEXCaCuNm0Rj{Q6aWAK2mq6V?GFJowBV{0yOc~DCM0u%!j000080F$jzQI4VtDPRi#0EH+303rYY00 +000000000HlFH5CQ;jX>c!JX>N37a&BR4FK=*Va$$67Z*FrhW^!d^dSxzfc~DCM0u%!j000080F$jzQ +O{X6rNc!JX>N37a&BR4FK=*Va$$67Z*FrhaB^jEVRB_I +aCuNm0Rj{Q6aWAK2mq6V?GFJg6RY-BHAUukY>bYEXCaCuNm0Rj{Q6aWAK2mq6V?GFJg6RY-BHOWprU=VRT_GaCuNm0Rj{Q6aWAK2m +q6V?GFJg6RY +-BHOWprU=VRT_%Y-ML*V|gxcc~DCM0u%!j000080F$jzQHqd``(*+E0J#MK04D$d00000000000HlHT +Hv#}~X>c!JX>N37a&BR4FK=*Va$$67Z*FrhVs&Y3WG{DUWo2wGaCuNm0Rj{Q6aWAK2mq6V?GFJg6RY-BHYXk}$=Uu< +P(VPknNaCuNm0Rj{Q6aWAK2mq6V?GFKKRbbYX04FJE72ZfSI1UoLQYP)h*<6ay3h000O8ldVxvSev*iIsyOy&;c!JX>N37a&BR +4FK=*Va$$67Z*FrhX>N0LVQg$KY-ML*V|gxcc~DCM0u%!j000080F$jzQ9U0E(Q_mK08V-U04V?f000 +00000000HlEyNCE(GX>c!JX>N37a&BR4FK=*Va$$67Z*FrhX>N0LVQg$KcW7m0Y%XwlP)h*<6ay3h00 +0O8ldVxv_&u%k?*jk;Jq!Q<9RL6T0000000000q=C?E0swGna4%nJZggdGZeeUMa%FKZUtei%X>?y-E +^v8JO928D0~7!N00;n+tx-`CGwzD=5dZ)KKmY(C00000000000001_f%LZ*p@kaCuNm0Rj{Q6aWAK2mq6Y-KKRc~DCM0u%!j000080F$jzQ7}2;$$TOJ07`=Z03ZMW000 +00000000HlGkm;wNBX>c!JX>N37a&BR4FLGsZFLGsZUukZ0bYX04E^v8JO928D0~7!N00;n+tx-{hZa +=`z2mk=i9smFw00000000000001_fo!`10B~t=FJEbHbY*gGVQepQWpOWZWpQ6~WpplZc~DCM0u%!j0 +00080F$jzQF}oC>JkP308$bF03ZMW00000000000HlF*!~y_tX>c!JX>N37a&BR4FLGsZFLGsZUvzR| +V{2t{E^v8JO928D0~7!N00;n+tx-`VK+Nan82|v9TmS$f00000000000001_fyBxJ0B~t=FJEbHbY*g +GVQepQWpOWZWpQ71ZfS0FbYX04E^v8JO928D0~7!N00;n+tx-_`00002000000000a0000000000000 +1_f$HP}0B~t=FJEbHbY*gGVQepQWpi(Ab#!TOZZBV7X>MtBUtcb8c~DCM0u%!j000080F$jzQTS*F<| +hFF0IC8203ZMW00000000000HlE~c!JX>N37a&BR4FLGsbZ)|mRX>V>XVqtS-E^v8JO928D0 +~7!N00;n+tx-_`00002000000000h00000000000001_fs^I}0B~t=FJEbHbY*gGVQepQWpi(Ab#!TO +ZZB+QXJKP`FJE72ZfSI1UoLQYP)h*<6ay3h000O8ldVxvqhtfd78L*hLrDMtD*ylh0000000000q=DY +%0swGna4%nJZggdGZeeUMa%FRGY;|;LZ*DJaWoKbyc`tHhb8l>RWpXZXc~DCM0u%!j000080F$jzQ2+ +n{00IC200000051Rl00000000000HlFE`~m=QX>c!JX>N37a&BR4FLGsbZ)|mRX>V>Xa%FRGY<6XAX< +{#5UukY>bYEXCaCuNm0Rj{Q6aWAK2mq6QbZKvHFLGsbZ)|pDY-wUIVqtS-E^v8JO928D0~7!N00;n+tx-|HzRWo&6;FJobDWNBn +!bY*icaCuNm0Rj{Q6aWAK2mq6-UEd008(w001rk0000000000005+c3K9bVaA|NaUukZ1WpZ +v|Y%g+Ub8l>QbZKvHFLGsbZ)|pDY-wUIW?^G=Z*qAqaCuNm0Rj{Q6aWAK2mq6QbZKvHFLGsbZ)|pDY-wUIW^Z+FWM5-pZ +e(d>VRU74E^v8JO928D0~7!N00;n+tx-_|tBFyH1poln4*&o!00000000000001_f%_-}0B~t=FJEbH +bY*gGVQepQWpi(Ab#!TOZZC3Wb8l>RWo&6;FK}{ic4=f~axQRrP)h*<6ay3h000O8ldVxv{mNE|hy(x +tpAi56GXMYp0000000000q=C{d0|0Poa4%nJZggdGZeeUMa%FRGY;|;LZ*DJgWpi(Ac4cg7VlQ%Kadl +~OWo>0{baO6nc~DCM0u%!j000080F$jzQEe{K;I0e+0C6V(051Rl00000000000HlGdGXnr{X>c!JX> +N37a&BR4FLGsbZ)|mRX>V>Xa%FRGY<6XAX<{#OWpi(Ac4cxdaCuNm0Rj{Q6aWAK2mq64;ZUtei%X>?y-E^v8JO928D0~7!N +00;n+tx-|AVuY`80ssI-1pojZ00000000000001_f#pC00B~t=FJEbHbY*gGVQepTbZKmJFJW+SWNC7 +9E^v8JO928D0~7!N00;n+tx-|8!zhdt4gdfVB>(^&00000000000001_fs#W50B~t=FJEbHbY*gGVQe +pTbZKmJFJo_QaA9;VaCuNm0Rj{Q6aWAK2mq64;ZV{dJ6VRUI?X>4h9d0%v4XLBxac~DCM0u%!j000080F$jzQK&GMf3yGq0 +4D(e03QGV00000000000HlGGSOWlXX>c!JX>N37a&BR4FLiWjY;!MUVRU75X>DaLaCuNm0Rj{Q6aWAK +2mq64;ZWMy!2Wn*D +V>WaCuNm0Rj{Q6aWAK2mq64;ZWNC6`V{~72a%^8{Wo&R|a&s03`qb00 +000000000HlH8WCH+jX>c!JX>N37a&BR4FLiWjY;!MUX>)XSbZKmJUtw}*b1rasP)h*<6ay3h000O8l +dVxva4ZqSNCE%=1O)&99{>OV0000000000q=8~*0|0Poa4%nJZggdGZeeUMb#!TLb1!9XV{c?>Zf7oV +c~DCM0u%!j000080F$jzQT%p)Tx$XV0DuGl03rYY00000000000HlHEX#)UoX>c!JX>N37a&BR4FLiW +jY;!MVZgg^aaBpdDbaO6nc~DCM0u%!j000080F$jzQ8s$@dHM+e03RCw03iSX00000000000HlGEYy$ +vrX>c!JX>N37a&BR4FLiWjY;!MWX>4V4d2@7SZ7y(mP)h*<6ay3h000O8ldVxv=bCvP00961I|2XzAO +HXW0000000000q=CzJ0|0Poa4%nJZggdGZeeUMb#!TLb1!CTY-MzLaAk8YaCuNm0Rj{Q6aWAK2mq64;ZXKZO=V=i!cP)h*< +6ay3h000O8ldVxvJfzQXk_G?(MiKx39RL6T0000000000q=B`40|0Poa4%nJZggdGZeeUMb#!TLb1!I +Nb7*CAE^v8JO928D0~7!N00;n+tx-{rzIrpM0RR9h0{{Rm00000000000001_fr5ks0B~t=FJEbHbY* +gGVQepTbZKmJFKKRSWn*+-b7f<7a%FUKVQzD9Z*p`laCuNm0Rj{Q6aWAK2mq64;ZY;R|0X>MmOaCuNm0Rj{Q6aWAK2mq64;ZZE163E^v8JO928D +0~7!N00;n+tx-|uoG>kl0RRB81ONaX00000000000001_f#bLX0B~t=FJEbHbY*gGVQepTbZKmJFKus +RWo&aUaCuNm0Rj{Q6aWAK2mq64;ZaA9L>VP|P>XD)DgP)h*<6ay3h000O8ldVxvj(e2f)&u|mObq}49{>OV0000000000q= +7fT0|0Poa4%nJZggdGZeeUMb#!TLb1!gVa$#(2Wo#~Rc~DCM0u%!j000080F$jzQ5^@%K;Z!Z0OkY$0 +3-ka00000000000HlFR!~+0uX>c!JX>N37a&BR4FLiWjY;!MgYiD0_Wpi(Ja${w4E^v8JO928D0~7!N +00;n+tx-`+A}jVa1polT6951w00000000000001_fo;YE0B~t=FJEbHbY*gGVQepTbZKmJFLPydb#Qc +VZ)|g4Vs&Y3WG--dP)h*<6ay3h000O8ldVxvTBY_5cMJdk#3ld$ApigX0000000000q=Dzl0|0Poa4% +nJZggdGZeeUMb#!TLb1!psVsLVAV`X!5E^v8JO928D0~7!N00;n+tx-{37`1wN3IG7QAOHX#0000000 +0000001_ft}a`0B~t=FJEbHbY*gGVQepTbZKmJFLY&Xa9?C;axQRrP)h*<6ay3h000O8ldVxvN6Mv)% +mM%ac?AFf9RL6T0000000000q=8f80|0Poa4%nJZggdGZeeUMb#!TLb1!sxaA|I5E^v8JO928D0~7!N +00;n+tx-|IfwIku3IG5QB>(^*00000000000001_fm-GR0B~t=FJEbHbY*gGVQepTbZKmJFLiEkVPk7 +)Zf7oVc~DCM0u%!j000080F$jzQO1-R1hN7E0QUs|02=@R00000000000HlE<@dE&GX>c!JX>N37a&B +R4FLiWjY;!Mla%^)haCuNm0Rj{Q6aWAK2mq64;Zc4=~Sbzy8}Zgwtkc~DCM0u%!j000080F$jzQ3%%z1SJUo0EZj^02}}S0 +0000000000HlG#`2zrOX>c!JX>N37a&BR4FLiWjY;!MnXk}$=E^v8JO928D0~7!N00;n+tx-{5?!i$_ +0RRAL0ssIV00000000000001_fg%G00B~t=FJEbHbY*gGVQepUV{bYEXCaCuNm0Rj{Q6aWA +K2mq6gBG5C8z7HUIz^00000000000001_fhh_E0B~t=FJEbHbY*gGVQepUV{ +=}dc~DCM0u%!j000080F$jzQAD#%no9-%04fv!03HAU00000000000HlFi8w3DwX>c!JX>N37a +&BR4FLq;dFKuOVV|8+AVQemNc~DCM0u%!j000080F$jzQO(=!%MA|z0Bc!JX>N37a&BR4FLq;dFLQNbc4cyNX>V>WaCuNm0Rj{Q6aWAK2mq6b8{|mc~DCM0u%!j000080F$jzQ3ekq-1GYY0P-sY02lxO00000000000HlGg-U +I+}X>c!Jc4cm4Z*nhid2nHJb7^j8E^v8JO928D0~7!N00;n+tx-`Sd%OzI2><}}CIA2z00000000000 +001_f!Epv0B~t=FJE?LZe(wAFLGsca(QWPXD)DgP)h*<6ay3h000O8ldVxva)BrssvrOWZ-oE=5&!@I +0000000000q=DPy1pshqa4%nWWo~3|axZgfcrI{xP)h*<6ay3h000O8ldVxvW&$|!6afGLwE+MC761S +M0000000000q=B^s1^{qra4%nWWo~3|axZpeZe(wAE_8TwP)h*<6ay3h000O8ldVxvTKJ;ztN;K2E&% +`lBme*a0000000000q=Eeg1^{qra4%nWWo~3|axY_HV`yb#Z*FvQZ)`7LUukY>bYEXCaCuNm0Rj{Q6a +WAK2mq6jwq^aA|NaUv_0~WN&gWV_{=xWn*t{baHQOF +JEJAWG--dP)h*<6ay3h000O8ldVxvM`;)bkp%z%5)%LbBLDyZ0000000000q=7361^{qra4%nWWo~3| +axY_HV`yb#Z*FvQZ)`7NWMOc0WpXZXc~DCM0u%!j000080F$jzQO07tO)>!h03`ze03iSX000000000 +00HlHa4+a2mX>c!Jc4cm4Z*nhVVPj}zV{dMBa&K%eV_{=xWiD`eP)h*<6ay3h000O8ldVxvg_dL!5&- +}Jw*mkFA^-pY0000000000q=9Y`1^{qra4%nWWo~3|axY_HV`yb#Z*FvQZ)`7PZ*6d4bS`jtP)h*<6a +y3h000O8ldVxvmi}*T5D)+WMK=HdCIA2c0000000000q=CQ^1^{qra4%nWWo~3|axY_HV`yb#Z*FvQZ +)`7PZ*FvQZ)|L3axQRrP)h*<6ay3h000O8ldVxv^U?kq`U3y}4V8a$#_AWpXZXc~DCM0u%!j000080F$jzQIsWZUatiJ0Ok( +>044wc00000000000HlFaCk6m;X>c!Jc4cm4Z*nhVVPj}zV{dMBa&K%eXk~SBX>)XGV{c!Jc4cm4Z*nhVVPj}zV{dMBa& +K%eb7gXAVQgu7WiD`eP)h*<6ay3h000O8ldVxvr#-pS?f?J)vH}1ABLDyZ0000000000q=BI}1^{qra +4%nWWo~3|axY_HV`yb#Z*FvQZ)`7ja$#_AWpXZXc~DCM0u%!j000080F$jzQ5nCuFgE}I09F7104o3h +00000000000HlG?HwFN3X>c!Jc4cm4Z*nhVVPj}zV{dMBa&K%eV_{=xWpgiIUukY>bYEXCaCuNm0Rj{ +Q6aWAK2mq6c!Jc4cm4Z*nhVVPj}zV{dMBa&K%eV_{=xWpgibWn^h{Ut?ioXk{*Nc~DCM0u%!j000080 +F$jzQ8$qWnLq#l06qW!03QGV00000000000HlFeKn4JCX>c!Jc4cm4Z*nhVWpZ?BW@#^9UukY>bYEXC +aCuNm0Rj{Q6aWAK2mq6K;k009300018V0000000000005+c)IbIRaA|NaUv_0~WN&gWV`Xx +5X=Z6JUteuuX>MO%E^v8JO928D0~7!N00;n+tx-`iK=nlWPyzrNPXquS00000000000001_fv-UZ0B~ +t=FJE?LZe(wAFJonLbZKU3FJob2WpZ>baAj>!O928D0~7!N00;n+tx-|=p*kAg0{{RE2><{a0000000 +0000001_f#s420B~t=FJE?LZe(wAFJonLbZKU3FJo_VWiD`eP)h*<6ay3h000O8ldVxv@XrrZOV0000000000q=EdF2mo+ta4%nWWo~3|axY_OVRB?;bT40DX>MtBUtcb8c~DCM0u%!j00008 +0F$jzQ8~Ya5brqv02X=x03QGV00000000000HlE(ng{@JX>c!Jc4cm4Z*nhVXkl_>WppoMX=gQNa%FK +YaCuNm0Rj{Q6aWAK2mq6AWpXZXc~DCM0u%!j000080F$jzQQ%o9Jv|8k0K+5z04D$d00000000000HlG$*9 +ZV`X>c!Jc4cm4Z*nhVXkl_>WppoNXkl_>X>)XPX<~JBX>V>WaCuNm0Rj{Q6aWAK2mq6AWpXZX +c~DCM0u%!j000080F$jzQQ((hTE7PX0QM6A03-ka00000000000HlHcc!Jc4cm4Z*nhVXkl_ +>WppoNXkl`5Wpr?IZ(?O~E^v8JO928D0~7!N00;n+tx-{2`!`6W1pojB4gdft00000000000001_fdK +9Z0B~t=FJE?LZe(wAFJow7a%5$6FJo_HX>Mn8bYXO5ZDC_*X>MgMaCuNm0Rj{Q6aWAK2mq6+=WzaA|NaUv_0~WN&gWV`yP=WMyc!Jc4cm4Z*nhVXkl_>WppoNa5*$N +aB^>AWpXZXc~DCM0u%!j000080F$jzQA7l+$-n{t0DT4k02}}S00000000000HlEz`Un7UX>c!Jc4cm +4Z*nhVXkl_>WppoPZgp*QE^v8JO928D0~7!N00;n+tx-_~hy^`01pokU4*&ol00000000000001_ff4 +-(0B~t=FJE?LZe(wAFJow7a%5$6FJ*IMaB^>AWpXZXc~DCM0u%!j000080F$jzQNapeq7()I01hbt02 +}}S00000000000HlG00toc!Jc4cm4Z*nhVXkl_>WppoPb7OODE^v8JO928D0~7!N00;n+tx-`RH +^k5?1pol04gdfm00000000000001_fzk*G0B~t=FJE?LZe(wAFJow7a%5$6FJ*OOYH)CJZ(?O~E^v8J +O928D0~7!N00;n+tx-|*K?8YV7ytn3Gynh~00000000000001_fjkZg0B~t=FJE?LZe(wAFJow7a%5$ +6FJ*OOYjS3CWpOTWc~DCM0u%!j000080F$jzQ6>eK_&5Uq0MrHm03rYY00000000000HlH2CJ6v=X>c +!Jc4cm4Z*nhVXkl_>WppoPbz^ICaB^>AWpXZXc~DCM0u%!j000080F$jzQOw&()iXK(0EK%103ZMW00 +000000000HlFaDhU8^X>c!Jc4cm4Z*nhVXkl_>WppoPbz^jQW^!e5E^v8JO928D0~7!N00;n+tx-{+L +5&zV0{{Ti1^@se00000000000001_fy8790B~t=FJE?LZe(wAFJow7a%5$6FJ*OOba!xaZ(?O~E^v8J +O928D0~7!N00;n+tx-`KMbg(}CjbEJPyhfS00000000000001_fjnpl0B~t=FJE?LZe(wAFJow7a%5$ +6FK1#hGcht|a%FKYaCuNm0Rj{Q6aWAK2mq6@_ua4%nWWo~3|axY_OVRB?;bT4XYb7pd7aV~Iq +P)h*<6ay3h000O8ldVxv26-iFP7?qCyG#H89RL6T0000000000q=A6e2>@_ua4%nWWo~3|axY_OVRB? +;bT4XfV{UYKE^v8JO928D0~7!N00;n+tx-|%XvxYT3jhEoG5`Q600000000000001_feGpf0B~t=FJE +?LZe(wAFJow7a%5$6FKl6MXJU11XJK+_VQy`2WMynFaCuNm0Rj{Q6aWAK2mq6(^b0000000000q=C2r3IK3va4%nWWo~3|axY_OVRB?;bT4dS +Zf9q5Wo2t^Z)9a`E^v8JO928D0~7!N00;n+tx-{rW~~^#2><|5EC2u|00000000000001_fn^H{0B~t +=FJE?LZe(wAFJow7a%5$6FKl6MXJ}<&a%FdIZ)9a`E^v8JO928D0~7!N00;n+tx-|K!Bv3O3IG5wF#r +H500000000000001_fo2s70B~t=FJE?LZe(wAFJow7a%5$6FKl6MXJ~b9XJK+_VQy`2WMynFaCuNm0R +j{Q6aWAK2mq6c!Jc4cm4Z*nhVXkl_>WppoWVRUJ3F>rEkVr6nJaCuNm0Rj{Q6aW +AK2mq6`8uaA|NaUv_0~WN&gWV`yP=WMy +g9-jvQ02vkl044wc00000000000HlGEQwjiZX>c!Jc4cm4Z*nhVXkl_>WppodVq<7wa&u*LaB^>AWpX +ZXc~DCM0u%!j000080F$jzQHuUgpoIhg0NM=z044wc00000000000HlF+TM7VhX>c!Jc4cm4Z*nhVXk +l_>WppodVqa&L8TaB^>AWpXZXc~DCM0u%!j000080F$jzQPz=XG9U#20KN_Y03iSX00000000000 +HlFFUc!Jc4cm4Z*nhVXkl_>WppodYH4$Da&KZ~axQRrP)h*<6ay3h000O8ldVxvb$~}ba18(e +#V`N>C;$Ke0000000000q=B7f3IK3va4%nWWo~3|axY_OVRB?;bT4&oX?A6Db75>`Wprg@bZ>GlaCuN +m0Rj{Q6aWAK2mq6AWpXZXc~DCM0u%!j000080F$jzQAfv+*SP=y0P+9;03HAU00000000000HlG}cM1S-X> +c!Jc4cm4Z*nhVXkl_>WppogWpZc!Jc4cm4Z*nhVXkl_>WppoNY-ulFUukY>bYEXCaCuNm0Rj{Q6aWAK2mq6c!Jc4cm4Z*nhVZ)| +UJVQpbAUtei%X>?y-E^v8JO928D0~7!N00;n+tx-`v6{lZ|0{{Tr2><{b00000000000001_f#iM)0B +~t=FJE?LZe(wAFJo_PZ*pO6VJ~5Bb7?Mcc~DCM0u%!j000080F$jzQ6undb7>0z0NyA703!eZ000000 +00000HlGbf(ig|X>c!Jc4cm4Z*nhVZ)|UJVQpbAVQzD2bZ>WQZZk42aCuNm0Rj{Q6aWAK2mq6(;RaCuN +m0Rj{Q6aWAK2mq6c!Jc4 +cm4Z*nhVZ)|UJVQpbAcWG{PWpZsUaCuNm0Rj{Q6aWAK2mq6?y-E^v8JO928D0~7!N00;n+tx-{wiKQzxD*yn% +p#T6K00000000000001_fo7fx0B~t=FJE?LZe(wAFJx(RbZlv2FJo_QaA9;VaCuNm0Rj{Q6aWAK2mq6 +c!Jc +4cm4Z*nhWX>)XJX<{#IZ)0I}Z*p@kaCuNm0Rj{Q6aWAK2mq6iaP)h*<6ay3h000O8ldVxvj@^V3s0#o94k`cuAOHXW0000000000q=EB(3jlCwa4%nWWo~3|axY|Qb +98KJVlQ%Kb8mHWV`XzLaCuNm0Rj{Q6aWAK2mq6I0B~t=FJE?LZe(wAFJx(RbZlv2FLX9EE@gOSP)h*<6ay3h000O8ld +VxvQU%2*XFmV{#pwV58vp2ZVc~DCM0 +u%!j000080F$jzQTAvkEKV5!0AE`G03HAU00000000000HlHIVhsRrX>c!Jc4cm4Z*nhWX>)XJX<{#S +WpZc!Jc4cm +4Z*nhWX>)XJX<{#TGcqn^cx6ya0Rj{Q6aWAK2mq6WaA|NaUv_0~WN&gWWNCABY-wUIcQ!OGWq4&!O928D0~7!N00;n+tx-|r6S^E|CjbDrpa1|I0000000 +0000001_fraf30B~t=FJE?LZe(wAFJx(RbZlv2FL!8VWo#~Rc~DCM0u%!j000080F$jzQ6ukX{KEhM0 +1^QJ04V?f00000000000HlE@6%PP#X>c!Jc4cm4Z*nhWX>)XJX<{#5Vqs%zaBp&SFJE72ZfSI1UoLQY +P)h*<6ay3h000O8ldVxvuZk~a&H(@b%L4!aB>(^b0000000000q=7LO4*+m!a4%nWWo~3|axY|Qb98K +JVlQ7}VPk7>Z*p`mZE163E^v8JO928D0~7!N00;n+tx-|NIR?{F8~^}oWB>ps00000000000001_fkG +G$0B~t=FJE?LZe(wAFJx(RbZlv2FJEF|V{344a&#|qXmxaHY%XwlP)h*<6ay3h000O8ldVxvZx#Tp_5 +lC@ISK#(D*ylh0000000000q=DEp4*+m!a4%nWWo~3|axY|Qb98KJVlQ7}VPk7>Z*p`mb9r-PZ*FF3X +D(xAXHZK40u%!j000080F$jzQT}=Bqp2PM0On`_04e|g00000000000HlEzHxB@CX>c!Jc4cm4Z*nhW +X>)XJX<{#5Vqs%zaBp&SFLQZwV{dL|X=g5Qc~DCM0u%!j000080F$jzQA9!?Ltc!Jc4cm4Z*nhWX>)XJX<{#5Vqs%zaBp&SFLYsYW@&6?E^v8JO928D0~7!N00; +n+tx-{lmv5*<0ssJr1ONaa00000000000001_fv~R+0B~t=FJE?LZe(wAFKBdaY&C3YVlQ7`X>MtBUt +cb8c~DCM0u%!j000080F$jzQOc(+;Vl#Z09Zi)03iSX00000000000HlF3vJU`oX>c!Jc4cm4Z*nhab +Zu-kY-wUIUukGzbY*yLY%XwlP)h*<6ay3h000O8ldVxviZ&5F4j%vjVSWGrBme*a0000000000q=BBs +4*+m!a4%nWWo~3|axZ9fZEQ7cX<{#5X>M?JbaQlaWnpbDaCuNm0Rj{Q6aWAK2mq6 +4;YaCuNm0Rj{Q6aWAK2mq6c!Jc4cm4Z*nhabZu-kY-wUIXmo9CHE>~ab7gWaaCuNm0Rj{Q6aWAK2mq6dS!AhaCuNm0Rj{Q6aW +AK2mq6bYEXCaCuNm0Rj{Q6aWAK2mq6c!Jc4cm4Z*nhabZu-kY-wUIW@&76WpZ;bUtei%X>? +y-E^v8JO928D0~7!N00;n+tx-{cumljo0RRA(0{{Rv00000000000001_fmf~&0B~t=FJE?LZe(wAFK +BdaY&C3YVlQTCY;c!Jc4cm4Z*nhabZu-kY-wU +IW@&76WpZ;bX>Mv|V{~6_WprU*V`yP=b7gccaCuNm0Rj{Q6aWAK2mq6E{4?5a&s?la +CB*JZeeV6VP|tLaCuNm0Rj{Q6aWAK2mq6@6NWpXZXc~DCM0u%!j000080F$jzQDAca5A^{60KNn +O04e|g00000000000HlG~*AM`3X>c!Jc4cm4Z*nhabZu-kY-wUIW@&76WpZ;bcW7yJWpi+0V`VOIc~D +CM0u%!j000080F$jzQJy(*T4wc!Jc4cm4Z*nhabZu-kY- +wUIbaG{7VPs)&bY*gLFJE72ZfSI1UoLQYP)h*<6ay3h000O8ldVxvQj8HPR0041vjzYFD*ylh000000 +0000q=CoV5CCv#a4%nWWo~3|axZ9fZEQ7cX<{#Qa%E*p0PqF?04M+e00000000000HlFr-VgwAX>c!Jc4cm4Z*nhabZu-kY-wUIbaG{7VPs) +&bY*gLFLPmdE^v8JO928D0~7!N00;n+tx-{B+iOfy1pojD4gdfx00000000000001_f$rcC0B~t=FJE +?LZe(wAFKBdaY&C3YVlQ-ZWo2S@X>4R=a&s?VUukY>bYEXCaCuNm0Rj{Q6aWAK2mq6c!Jc4cm4Z*nhabZu-k +Y-wUIbaG{7Vs&Y3WMy)5FJy0RE^v8JO928D0~7!N00;n+tx-`;t4R=a&s?bbaG{7E^v8JO928D0~7!N00;n+tx- +|28MlBL4gdhIIRF4J00000000000001_fusl#0B~t=FJE?LZe(wAFKBdaY&C3YVlQ-ZWo2S@X>4R=a& +s?bbaG{7Uu<}7Y%XwlP)h*<6ay3h000O8ldVxv+jeS&o(2E_R~7&OEC2ui0000000000q=5<-5dd&$a +4%nWWo~3|axZ9fZEQ7cX<{#Qa%E+AVQgzbYEXCaCuNm0Rj{Q6aWAK2mq6c!Jc4cm4Z*nhabZu-kY-wUIbaG{7cVTR6WpZ;bWpr|7WiD`eP)h*<6ay3h000O8ldVxvF +atz%c?JLg)ffN(E&u=k0000000000q=CIG5dd&$a4%nWWo~3|axZ9fZEQ7cX<{#Qa%E+AVQgzbYEXCaCuNm0Rj{Q6aWAK2mq6P0000000000005+c|27c-aA|NaUv_0~WN&gWX=H9;FJo_HWn(UIc~DCM0u%!j0 +00080F$jzQG9`xaE|~00O$Y!02%-Q00000000000HlFXIuQVHX>c!Jc4cm4Z*nhbWNu+EV{dJ6VRSBV +c~DCM0u%!j000080F$jzQ5>5zEG!EE0Ix0p02lxO00000000000HlEzI}reIX>c!Jc4cm4Z*nhbWNu+ +EV{dY0E^v8JO928D0~7!N00;n+tx-|etV%R*BLDzyr2qgN00000000000001_fq6y|0B~t=FJE?LZe( +wAFKJ|MVJ~T9Zee6$bYU)Vc~DCM0u%!j000080F$jzQMY6CvgQH+0M!Nn0384T00000000000HlE;Y7 +qc%X>c!Jc4cm4Z*nhbWNu+EX>N3KVQyz-b1rasP)h*<6ay3h000O8ldVxv9n@?07ytkO761SMAOHXW0 +000000000q=7?i5dd&$a4%nWWo~3|axZCQZecHQVPk7yXJubxVRT_GaCuNm0Rj{Q6aWAK2mq6mbYU)Vc~DCM0u%! +j000080F$jzQH>{8Sl|Hw0A2(D03QGV00000000000HlGv1QGynX>c!Jc4cm4Z*nhfb7yd2V{0#8Uuk +Y>bYEXCaCuNm0Rj{Q6aWAK2mq6FJ*XRWpH$9Z*FrgaCuNm0Rj{Q6aWAK2mq6Vqs%zE^v8JO92 +8D0~7!N00;n+tx-{0n`@Ge0RRBt0ssIa00000000000001_fo3fd0B~t=FJE?LZe(wAFK}UFYhh<;Zf +7rFUtwZzb#z}}E^v8JO928D0~7!N00;n+tx-{B8xcel0RR9p0ssIZ00000000000001_fiy1?0B~t=F +JE?LZe(wAFK}UFYhh<;Zf7rFUukY>bYEXCaCuNm0Rj{Q6aWAK2mq6VP|P>XD?r4Z*6d4bS`jtP)h*<6ay3h000O8ldVxv>RtT +To&f*=<_7=(Bme*a0000000000q=5%B5&&>%a4%nWWo~3|axZXUV{2h&X>MmPUvqSFbz^jOa%FQaaCu +Nm0Rj{Q6aWAK2mq6VP +|P>XD?rLd2nfNXD)DgP)h*<6ay3h000O8ldVxvXhhWrehUBq6D0ruAOHXW0000000000q=Ae$5&&>%a +4%nWWo~3|axZXUV{2h&X>MmPZDDe2WpZ;aaCuNm0Rj{Q6aWAK2mq6VP|P>XD@PPadl~OWo>0{baO6nc~DCM0u%!j000080F$j +zQTxa#g&P|H0LXj*03!eZ00000000000HlGvOA-KZX>c!Jc4cm4Z*nhiVPk7yXK8L{FLQ8ZV`*k-WpZ +;aaCuNm0Rj{Q6aWAK2mq6VP|P>XD@VNXLBxac~DCM0u%!j000080F$jzQA*!tVEF<7022oQ03HAU00000000000HlFgf)W65X +>c!Jc4cm4Z*nhiVPk7yXK8L{FLiWjY;!Jfc~DCM0u%!j000080F$jzQBZoD7w``N0B$@003ZMW00000 +000000HlGAg%SX8X>c!Jc4cm4Z*nhiVPk7yXK8L{FLq^eb7^mGE^v8JO928D0~7!N00;n+tx-{t5f@u +k0000~0000U00000000000001_fxMLx0B~t=FJE?LZe(wAFK}gWH8D3YUtei%X>?y-E^v8JO928D0~7 +!N00;n+tx-`PBWpi^baCuNm0Rj{Q6aWAK2mq6%a4%nWWo~3|axZXYa5XVEFJo_PZ*pvJXD)DgP)h*<6ay3h000O8ldVxv$`@S>Edc +-k3%a4%nWWo~3|axZXYa5XVEFJo_QaA9;VaCuNm0Rj{Q6aWAK2m +q6xRLZ)|fea +CuNm0Rj{Q6aWAK2mq6XaA|NaUv_0~WN&gWaAj~c +F*h$|ZgygIX>4RJaCuNm0Rj{Q6aWAK2mq6>E6);005r}000^Q0000000000005+c`n?hWaA|N +aUv_0~WN&gWaAj~cF*h%5WprUKaCuNm0Rj{Q6aWAK2mq6MtBUtcb8c~DCM0u%!j0 +00080F$jzQDGzl)=L2Z05Spq04D$d00000000000HlFpLK6URX>c!Jc4cm4Z*nhiYiD0_Wpi(Ja${w4 +FK~G?F=KCSaA9;VaCuNm0Rj{Q6aWAK2mq6Fa%FRKFJE72ZfSI1UoLQYP)h*<6ay3h000O8ldVxvm&~=erUU>0CJO)n8vpc!Jc4cm4Z*nhia&KpHWpi^cV{dhCbY*fbaCuNm0Rj{Q6aWAK2 +mq6Fa%FRKFLQ8dZf<3A +E^v8JO928D0~7!N00;n+tx-`A@IRa41^@tY5dZ)n00000000000001_f$&um0B~t=FJE?LZe(wAFLGs +Zb!BsOb1z?CX>MtBUtcb8c~DCM0u%!j000080F$jzQ3IH{1_l8D0J#AG03!eZ00000000000HlEsT@w +IsX>c!Jc4cm4Z*nhkWpQ<7b98erUte}*a&u{KZeL$6aCuNm0Rj{Q6aWAK2mq6bMr0ALva02=@R00000000000HlF>brS$^X>c!Jc4cm +4Z*nhkWpQ<7b98erVQ^_KaCuNm0Rj{Q6aWAK2mq6c!Jc4cm4Z*nhkWpQ<7b98erZEs{{Y;!Jfc~DCM0u%! +j000080F$jzQ4&1ffolN(0Jj1F03ZMW00000000000HlF_(Gvi0X>c!Jc4cm4Z*nhkWpQ<7b98eraA9 +L>VP|D?E^v8JO928D0~7!N00;n+tx-{lh@!eoAOHY_asU7z00000000000001_fhW@w0B~t=FJE?LZe +(wAFLGsZb!BsOb1!pcb8~5LZgVbhc~DCM0u%!j000080F$jzQ9aAwdW{AE09+6N03-ka00000000000 +HlGj^AiAYX>c!Jc4cm4Z*nhkWpQ<7b98erb97;Jb#q^1Z)9b2E^v8JO928D0~7!N00;n+tx-`3jkVu= +1ONcN3jhEj00000000000001_fq?oG0B~t=FJE?LZe(wAFLGsZb!BsOb1!pra&=>Lb#i5ME^v8JO928 +D0~7!N00;n+tx-|$tNof=B>({6bpQYz00000000000001_fjs{c0B~t=FJE?LZe(wAFLGsZb!BsOb1! +vtX>4;YaCuNm0Rj{Q6aWAK2mq6R001HY0000000000005+c(j*iBaA|NaUv_0~WN +&gWa%FRGY<6XAX<{#5UukY>bYEXCaCuNm0Rj{Q6aWAK2mq6Kb1rasP)h* +<6ay3h000O8ldVxvf+o2{zz+ZbsyYAwBLDyZ0000000000q=Aes6aa8(a4%nWWo~3|axZdab8l>RWo& +6;FLGsbZ)|pDa&s +c!Jc4cm4Z*nhkWpi(Ac4cg7VlQ)aa&=>Lb1rasP)h*<6ay3h000O8ldVxv000000ssI200000DF6Tf0 +000000000q=6hk6aa8(a4%nWWo~3|axZdab8l>RWo&6;FJo_QaA9;WUtei%X>?y-E^v8JO928D0~7!N +00;n+tx-{7RJrO?0001g0000m00000000000001_fn`Ay0B~t=FJE?LZe(wAFLGsbZ)|pDY-wUIV{dJ +6VRSEJZ)|L3V{~b6ZgXE@Vq-3Fc~DCM0u%!j000080F$jzQ6b^(r4IoB0P6w(02}}S00000000000Hl +EiLKFaSX>c!Jc4cm4Z*nhmZ*6QZUtei%X>?y-E^v8JO928D0~7!N00;n+tx-{vk^V!J0002;0000Q00 +000000000001_flose0B~t=FJE?LZe(wAFLZBhY%gPPZEbIEE^v8JO928D0~7!N00;n+tx-{7BeKAmA +OHX;mjD1800000000000001_fg3~=0B~t=FJE?LZe(wAFLZBhY%gSGV{c?-axQRrP)h*<6ay3h000O8 +ldVxvf_5rrqY3~3<0b$A8vpc!Jc4cm4Z*nhmZ*6QZZ*p +X1a%E&LaCuNm0Rj{Q6aWAK2mq68003$N000&M0000000000005+cmv9sSaA|NaUv_0~WN +&gWbZ>2JFLZh?aCuNm0Rj{Q6aWAK2mq6?y-E^v8JO928D0~7!N00;n+tx-|LxH~)i3;+NqDgXc@0000000000 +0001_fiiX!0B~t=FJE?LZe(wAFLiQkY-wUMFJEJCY;0v?bZKvHb1rasP)h*<6ay3h000O8ldVxvbo3# +&ClUYveK-IBApigX0000000000q=9dP6aa8(a4%nWWo~3|axZmqY;0*_GcRLrZf<2`bZKvHE^v8JO92 +8D0~7!N00;n+tx-|d_=iAYCIA49ivR#600000000000001_fz_210B~t=FJE?LZe(wAFLiQkY-wUMFJ +o_RZe?S1X>V?DZ*OcaaCuNm0Rj{Q6aWAK2mq6c!Jc4cm4Z*nhna%^mAVlyvhX=Q9=b1rasP)h*<6ay3h000O8ldVxvFX~+ +;eFFdhhzS4y9{>OV0000000000q=6pL6aa8(a4%nWWo~3|axZmqY;0*_GcRUoY-Mn7b963nc~DCM0u% +!j000080F$jzQIn&t1CbN}0L4WB03rYY00000000000HlG~(-Z)3X>c!Jc4cm4Z*nhna%^mAVlyvrZ* +OdEVQyh(WpXZXc~DCM0u%!j000080F$jzQA->{DzgUw0D>0)03HAU00000000000HlGb=oA2OX>c!Jc +4cm4Z*nhna%^mAVlyvtWpQ<7b963nc~DCM0u%!j000080F$jzQNr|o9fchL06lI103QGV0000000000 +0HlGK@Du=WX>c!Jc4cm4Z*nhna%^mAVlyvtWpi+EZgXWWaCuNm0Rj{Q6aWAK2mq6?y-E^v8JO92 +8D0~7!N00;n+tx-`bgXtBu0RRBK0{{Rq00000000000001_fuRl+0B~t=FJE?LZe(wAFLiQkY-wUMFJ +o_RbaH88FJEDBaAj_1X>Mg-Wo~w9a&K-faCuNm0Rj{Q6aWAK2mq6c!Jc4c +m4Z*nhna%^mAVlyveZ*FvQX<{#Md2euKZgX>NE^v8JO928D0~7!N00;n+tx-|+B%Pa%BLD!AegFV200 +000000000001_fu}bW0B~t=FJE?LZe(wAFLiQkY-wUMFJo_RbaH88FLPyMb#i5Na$#c!Jc4cm4Z*nhna%^mAVlyveZ*FvQX<{#5b7f<7a%FUKVQzD9Z*p`mUtei%X>?y-E^v8JO928D0~7 +!N00;n+tx-{37wwF}4*&r6K>z?a00000000000001_fnj770B~t=FJE?LZe(wAFLiQkY-wUMFJo_Rba +H88FJE(IV|8+6baG*Cb8v5RbT49QZe(e0XLBxac~DCM0u%!j000080F$jzQPmv{U0x3W0JJUu0672v0 +0000000000HlFc!Jc4cm4Z*nhna%^mAVlyveZ*FvQX<{#5b7f<7a%FUKVQzD9Z*p`mY;Sj8 +Y-M(3Y%XwlP)h*<6ay3h000O8ldVxvtT~LVPyhe`YybcNC;$Ke0000000000q=7Aj6##H)a4%nWWo~3 +|axZmqY;0*_GcRyqV{2h&WpgiIUukY>bYEXCaCuNm0Rj{Q6aWAK2mq6VP|D?FLP;lE^v8JO928D0~7!N00;n+tx +-_`00002000000000o00000000000001_ff=L~0B~t=FJE?LZe(wAFLiQkY-wUMFK}UFYhh<)b1!0HV +{344a&&VqUtei%X>?y-E^v8JO928D0~7!N00;n+tx-|KvdJ4s0ssJt1pojt00000000000001_for4{ +0B~t=FJE?LZe(wAFLiQkY-wUMFK}UFYhh<)b1!0HV{344a&&VqZDDI=W@&6?E^v8JO928D0~7!N00;n ++tx-{XN#I;Q0RRB70ssIz00000000000001_fdr=&0B~t=FJE?LZe(wAFLiQkY-wUMFK}UFYhh<)b1! +pqY+r3*bYo~=Xm4|LZeeX@FJE72ZfSI1UoLQYP)h*<6ay3h000O8ldVxv!+g}>y9fXPKo$T1LI3~&00 +00000000q=B2L6##H)a4%nWWo~3|axZmqY;0*_GcRyqV{2h&Wpgicb8KI2VRU0?UubW0bZ%j7WiMZ8Z +E$R5ZDnqBVRUJ4ZZ2?nP)h*<6ay3h000O8ldVxvlZrq7umJ!74g>%IBme*a0000000000q=B}v6##H) +a4%nWWo~3|axZmqY;0*_GcR>?X>2cFUukY>bYEXCaCuNm0Rj{Q6aWAK2mq6V>WaCuNm0Rj{Q6aW +AK2mq603!eZ00000000000HlFZycGa&X>c!Jc4cm4Z +*nhna%^mAVlyvwbZKlaa%FLKWpi{caCuNm0Rj{Q6aWAK2mq6$s?X>2cYWpr|RE^v8JO92 +8D0~7!N00;n+tx-{8_GJ*I6953aH~;`300000000000001_f!5d+0B~t=FJE?LZe(wAFLiQkY-wUMFL +iWjY%g=giTX>c!Jc +4cm4Z*nhna%^mAVlyvwbZKlabZKp6Z*_DoaCuNm0Rj{Q6aWAK2mq6=}dc~DCM0u% +!j000080F$jzQFzcFaWV@408=Rd03-ka00000000000HlFz6BYn)X>c!Jc4cm4Z*nhpWnyJ+V{c?>Zf +A2ZUtei%X>?y-E^v8JO928D0~7!N00;n+tx-|Otq6++1^@sPBLDy*00000000000001_f#4n%0B~t=F +JE?LZe(wAFLz~PWo~0{WNB_^b1!URVr6V|E^v8JO928D0~7!N00;n+tx-`>e=#3K0ssIR1pojf00000 +000000001_fh8pt0B~t=FJE?LZe(wAFLz~PWo~0{WNB_^b1!XcY++($Y;!Jfc~DCM0u%!j000080F$j +zQD-=Cr?~|H0HYZI03iSX00000000000HlGdCl&y3X>c!Jc4cm4Z*nhpWnyJ+V{c?>ZfA2ZbY*jNb1r +asP)h*<6ay3h000O8ldVxv+XnpBr33%~(+~gvDgXcg0000000000q=BO?765Q*a4%nWWo~3|axZsfVr +6b)Z)9n1XLB!jUv+b3a$jU+W@&C^WG--dP)h{{00000cL8?+V08chkTMnk000 +""" + + +if __name__ == "__main__": + main() diff --git a/ddc-material-master/16.Python/Python-Scripts/fabric/website.zip b/ddc-material-master/16.Python/Python-Scripts/fabric/website.zip new file mode 100644 index 00000000..324cdc57 Binary files /dev/null and b/ddc-material-master/16.Python/Python-Scripts/fabric/website.zip differ diff --git a/ddc-material-master/16.Python/Python-Scripts/first-script.py b/ddc-material-master/16.Python/Python-Scripts/first-script.py new file mode 100644 index 00000000..262770e4 --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/first-script.py @@ -0,0 +1 @@ +print("Welcome to Python") \ No newline at end of file diff --git a/ddc-material-master/16.Python/Python-Scripts/get-pip.py b/ddc-material-master/16.Python/Python-Scripts/get-pip.py new file mode 100644 index 00000000..fa2b5116 --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/get-pip.py @@ -0,0 +1,23704 @@ +#!/usr/bin/env python +# +# Hi There! +# You may be wondering what this giant blob of binary data here is, you might +# even be worried that we're up to something nefarious (good for you for being +# paranoid!). This is a base85 encoding of a zip file, this zip file contains +# an entire copy of pip (version 20.2.4). +# +# Pip is a thing that installs packages, pip itself is a package that someone +# might want to install, especially if they're looking to run this get-pip.py +# script. Pip has a lot of code to deal with the security of installing +# packages, various edge cases on various platforms, and other such sort of +# "tribal knowledge" that has been encoded in its code base. Because of this +# we basically include an entire copy of pip inside this blob. We do this +# because the alternatives are attempt to implement a "minipip" that probably +# doesn't do things correctly and has weird edge cases, or compress pip itself +# down into a single file. +# +# If you're wondering how this is created, it is using an invoke task located +# in tasks/generate.py called "installer". It can be invoked by using +# ``invoke generate.installer``. + +import os.path +import pkgutil +import shutil +import sys +import struct +import tempfile + +# Useful for very coarse version differentiation. +PY2 = sys.version_info[0] == 2 +PY3 = sys.version_info[0] == 3 + +if PY3: + iterbytes = iter +else: + def iterbytes(buf): + return (ord(byte) for byte in buf) + +try: + from base64 import b85decode +except ImportError: + _b85alphabet = (b"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" + b"abcdefghijklmnopqrstuvwxyz!#$%&()*+-;<=>?@^_`{|}~") + + def b85decode(b): + _b85dec = [None] * 256 + for i, c in enumerate(iterbytes(_b85alphabet)): + _b85dec[c] = i + + padding = (-len(b)) % 5 + b = b + b'~' * padding + out = [] + packI = struct.Struct('!I').pack + for i in range(0, len(b), 5): + chunk = b[i:i + 5] + acc = 0 + try: + for c in iterbytes(chunk): + acc = acc * 85 + _b85dec[c] + except TypeError: + for j, c in enumerate(iterbytes(chunk)): + if _b85dec[c] is None: + raise ValueError( + 'bad base85 character at position %d' % (i + j) + ) + raise + try: + out.append(packI(acc)) + except struct.error: + raise ValueError('base85 overflow in hunk starting at byte %d' + % i) + + result = b''.join(out) + if padding: + result = result[:-padding] + return result + + +def bootstrap(tmpdir=None): + # Import pip so we can use it to install pip and maybe setuptools too + from pip._internal.cli.main import main as pip_entry_point + from pip._internal.commands.install import InstallCommand + from pip._internal.req.constructors import install_req_from_line + + # Wrapper to provide default certificate with the lowest priority + # Due to pip._internal.commands.commands_dict structure, a monkeypatch + # seems the simplest workaround. + install_parse_args = InstallCommand.parse_args + def cert_parse_args(self, args): + # If cert isn't specified in config or environment, we provide our + # own certificate through defaults. + # This allows user to specify custom cert anywhere one likes: + # config, environment variable or argv. + if not self.parser.get_default_values().cert: + self.parser.defaults["cert"] = cert_path # calculated below + return install_parse_args(self, args) + InstallCommand.parse_args = cert_parse_args + + implicit_pip = True + implicit_setuptools = True + implicit_wheel = True + + # Check if the user has requested us not to install setuptools + if "--no-setuptools" in sys.argv or os.environ.get("PIP_NO_SETUPTOOLS"): + args = [x for x in sys.argv[1:] if x != "--no-setuptools"] + implicit_setuptools = False + else: + args = sys.argv[1:] + + # Check if the user has requested us not to install wheel + if "--no-wheel" in args or os.environ.get("PIP_NO_WHEEL"): + args = [x for x in args if x != "--no-wheel"] + implicit_wheel = False + + # We only want to implicitly install setuptools and wheel if they don't + # already exist on the target platform. + if implicit_setuptools: + try: + import setuptools # noqa + implicit_setuptools = False + except ImportError: + pass + if implicit_wheel: + try: + import wheel # noqa + implicit_wheel = False + except ImportError: + pass + + # We want to support people passing things like 'pip<8' to get-pip.py which + # will let them install a specific version. However because of the dreaded + # DoubleRequirement error if any of the args look like they might be a + # specific for one of our packages, then we'll turn off the implicit + # install of them. + for arg in args: + try: + req = install_req_from_line(arg) + except Exception: + continue + + if implicit_pip and req.name == "pip": + implicit_pip = False + elif implicit_setuptools and req.name == "setuptools": + implicit_setuptools = False + elif implicit_wheel and req.name == "wheel": + implicit_wheel = False + + # Add any implicit installations to the end of our args + if implicit_pip: + args += ["pip"] + if implicit_setuptools: + args += ["setuptools"] + if implicit_wheel: + args += ["wheel"] + + # Add our default arguments + args = ["install", "--upgrade", "--force-reinstall"] + args + + delete_tmpdir = False + try: + # Create a temporary directory to act as a working directory if we were + # not given one. + if tmpdir is None: + tmpdir = tempfile.mkdtemp() + delete_tmpdir = True + + # We need to extract the SSL certificates from requests so that they + # can be passed to --cert + cert_path = os.path.join(tmpdir, "cacert.pem") + with open(cert_path, "wb") as cert: + cert.write(pkgutil.get_data("pip._vendor.certifi", "cacert.pem")) + + # Execute the included pip and use it to install the latest pip and + # setuptools from PyPI + sys.exit(pip_entry_point(args)) + finally: + # Remove our temporary directory + if delete_tmpdir and tmpdir: + shutil.rmtree(tmpdir, ignore_errors=True) + + +def main(): + tmpdir = None + try: + # Create a temporary working directory + tmpdir = tempfile.mkdtemp() + + # Unpack the zipfile into the temporary directory + pip_zip = os.path.join(tmpdir, "pip.zip") + with open(pip_zip, "wb") as fp: + fp.write(b85decode(DATA.replace(b"\n", b""))) + + # Add the zipfile to sys.path so that we can import it + sys.path.insert(0, pip_zip) + + # Run the bootstrap + bootstrap(tmpdir=tmpdir) + finally: + # Clean up our temporary working directory + if tmpdir: + shutil.rmtree(tmpdir, ignore_errors=True) + + +DATA = b""" +P)h>@6aWAK2mq6MtBUtcb8d2NtyYr-%Phu`N@9Nmj4xO9l +HO>i(|e`H&gvAqzH5bae1Z4z?VNx%J4r5gi7-sG3#xx1$bt^#koRK_v}t4mq4DM@nUjopE%ybBEP%f( +VnUmmBg>f9C_o<} +CJ4)Qc90W9W61RSR7ahxNJ-SN9NCI2I;J^0_wz@oEd*V(_q-fwN@;6>7^+xBxXFY?@ZUC4oCw*g8wDM +4)Xjo=J)$@F|w+JU6GdkR$8pXaIx=duC7LG~F5A*BiNYRq7kB)5uH>QH_+|jP7n_H`$+{bK22zXuOLl +b>`F|XzwwcMhVDuu)pC^QeXT4P)h>@6aWAK2mq6s8^EeX~AToilV)A2_e6~zhOaP~KZvIOlqFiVW+60AOs)?J~q5l!-OgI;*jfY94W3Aib4Jnnk|YJ +*Ng1Ga|{kpv)l&^K>8SV(XV+<$mHY8?a{!1#G)Y63H$85<@-{DTbUDCucxV6x07;%M+|!-MO9j<0Wi# +11q;*wWw~Jk1&J^A7l0*oU_7=O4mXm1V;gv{y`K?W($dDS*GDs|`L>=UQy}+QW*VBSKu9lNGW7TF8+_ +>8{Ie!4j}^zf$g5NMG?#$r7JFwd*iFi`ae1M^!{C6|@<7hU2_kIGVf4lf-PN95Q{xc~)x +H)+yD7ZSTFu#C|(HBN!o}6m1}htb9MfmJk{*1|JR5!La3y^@g-eNlcIpg@K#xukcX$%OtzJ!59<8S&nG(}iY +;;Zg+|Wh1kV4`#XSvS-lI5dD<2OBf7?{$GQX$dFHlPZ1QY-O00;n+tx-{7Od3ur0RRB+0RR9Q0001RX +>c!JX>N37a&BR4FJE72ZfSI1UoLQYZIMq)!$1(l@B1l+_R>O4E`nOnOYt9S712W}C2W&PGm`ACGZQ7> +-fcn^q01hYVcwfJzojO4RtOZ5jGQ7nTPLkjEeW{~%rz6tTSjH;q;G{WIR9x)$-X(N(=L$P0S(SitCv- +_xVv6FWUueb<^A&37%GpH=LX{GUH>~g2PGfvXYfd(#+U+2Xe_yj<(*tEy~F7s9`BVnhsi;*-YeFkyxC +0Q1EnxDkKXUx7LgB&Q^&>7%CV%*Amoo~E`ZcCM4rXgCxJ$v9I43s91E8UOFy#RmzHl#}bdwR({V?k@J +@w~NK<;^N}no>e8est-)?dPnP)>?JM9h6}MfBalPy^z2RzO$E-q#>wrjX(NyWEYTr- +bc+F$b2{cP!TdlY#y+X%iR1+OYvpm<3P!L2B%pyhj3w3-I@+qbNeDTpa}yZO8}{o)a8S78EApz!`sMSiE!{O)$%JKmfamvM +YteFXiV41kw;32%z9!|=AQFs>e}29Dnq7Xpy8K7>`OD4C_07)!h|R?Ed`94-q=JOr-wz@$=sGW+9$?j +@advswHx-QuxIHGDqGCoV1VBVS}_5xj3mkB$1rlo$gLhl%R45 +gl%;qa^GMKX_&0bL8w7%#nM2K2Lg3*F)Sg}xEjEOdSp~BRQ0LmW_@gVl+B!H_sJr-8p-1Dpo9IRs +CBy6=b487wpI6uY{+bvcdGF4f3s(Q%Rzk<&U7NK%q3Yxc&h5;BQm&;Q*k{i2&hYwQQl%=;9 +AZZ=@A;2K!T}A49$?N(;Xp`S8V>wD1a4`tHm1r}x>_%`Y+8R(uVroic4ksRGkua^~lX!8t|$IphxBDaLHu +^N!OaCns*b<(z@R)T^maL|Vp5Qe^I(nDVDsSLrY3H)^mrg;NrRvBtGTZEzs4y$7d4S>U8mmL?pA(wmE +@*Vq)63JQ$&~tH=04yb7o}>*_Njz`?wD1TC${~;*WrHRHc=JLXmw;iYHxN55*PI2i_ojN8;Y;-8H_r? +ke~e@Sl`llHNV!x=!!Uac`1yYQiQ?bKguou~^zMEc00R{>sr4Fs1EdSQ(pB@eW1-K04;lI*2e1Iz-4i +SisXC$~gJ@xc<0q0&Zd563{L=>V1Qw4$ggw=!@i*Nx=}`cEXuHa^q$L)*kxPRh7_D_}YODent2T8+^@ +e-^ctUSc3f>rmBpM-5cU75Ghf_M@85GIJe4Kdiq1(R31bti(U_GZ1ttJ^PoYIBV**jch6vgxeL^xifx0)kJYwtI6-ZSd&E>%DlkCSsm95B +U5e2OUg}g!Ahhh9-1dgLP%+M&^;E@UEl7sSv`w$bW>cT%_?0KsD5sDXp-_?+qnv@?XFds$-0UqjeM1* +ON@OEH&1r+mI7jXB}!$<4^?!G>JyuG=({c?Zx`TqLhs$WwSZb9!mQd2>^^Vh8-yecz~$Xc+}`}ULwXh +ZCW*pz#9KwAp9rB%Xd&BuAU337FR2e@qpLWF`v)kZ?&G<$GtUc`YCj$X*vct +f)Z|Z8nYN@)$FN6_JET@BzMpQ`XDjrF+5U<9#;w{VO&k9le1?0tsL5aPJe0of2`S912urZ5)*Pt`-;m +H;q$t$%V-Dr1jFhsZ#ogsV+>S|kRur28wv15RR9)Qqmz)s_r +KU}5EMRhT_voD7V^s2d?iN0Q{f!RP}H%0Si1m@1;WtkUF9h`nI2;ZpD#6E~V!~Lbz^GVw_LaJZ|3*Dh +G-fK)Oho@JPuq|F@lde!;gODUOPxfG;ez3DTYn5v3hjM`92-P#uBe}%x?QHn!ya1e{XQ9~RTx~Wut3S +|BaH+1KZ~9w5Abo%J?#s`Vg*p_{u5pxz2z*%=A;HMuycF-cvW?Bn17(!5g7=JFP@N# +i{Ag~o$TqOp3W)dBsIfc$wtp9%_B?}COwraT_Jmft}fm_-! +*9O%E6PA@xsCmlNKo`AecY3zd~>D2<^Va$3GWG?Q*X(LZ*H97*_}zESwr7J&YG-~89!`oC#$M9w6||H +iI&(D|csw7e363+T%K15ir?1QY-O00;n+tx-`*Gzp$Q3;+PxF8}}*0001RX>c!JX>N37a&BR4FJob2X +k{*NdF>kgkK4BOcmEZff+6yt=(3=FSo2|9lv0Bz +?_CZvI(rL}}_Z&~94c{2n9hFrhbgc#a%__bVNwD%kXd~g8TadMlEC*~kuT&*-UdkT?q4Vh=#1$`7@i7 +;519%6x=hX**Dc){{D4)tw5aBIxD2^k6*&?FQpcFqx +3#uxDC76ds!9c7A*T3U?Z)Ohcv~^ta&G`ISz-y&Ay0KP8j^Tp0fv^;}<#uj`CVGt*#h{HNGkZGh2Rs{*b9 +PEFnG=ir%N_QV3yy9Q2{IXm_=V3qT5#XYa+{EH8Bno?t}HH3#LJWgI0@!lFeqPnf7ot3}35E+w6u6Fz +OP@4Pg%x5p+GRSuGhBRU_==jm2_EaXO*CPtp~k{iRw@nf}m2gcTM4Rk&RZdSk{&%w3m+yho?^+6WGfU +jY!C_4L;umY-J1#h_37CH&U0m6l!1v0a;w3wE=W`L?6S;O%P&6~td6=6pS0)A*g;HoP3{e28VQ7g>6SAvxwnI;&&Y_cpiqFg6VlF3L$$(Zy`qk%1x83*Dcf4v$k`<1H10A|` +6e1)t8?Xq0Y(}9}#a0;X^!1*fGIN}%>g)%9|lT;cor+CKaJU)x+HBYaQ8UGH)qS`=n7A{5Rx*>HpO1B!Nz2z*zkPcDI7g&N|l&`NM#smNr +A%|u%E94MssZ~7QcYS@rLbM(||J!x_PH$1;%$Ho2`?+lgtYuq_cB~Q7ndN%>K#FKbw=^=V}LNrE` +>leUe&hfVdrsZafh0F)w8@3_SLQ;inQ_n6aUjbo3{2(<)r7e;Ln*- +FtjFur0tuB)QLe%K!=xd%K~twohi!jn5yX_?(v;UVWYIWUMx@60Dny<*Y}fO7Ks3sE$)bB5;DB=O>*# +_q2x$Q|k1(WQn_^HO_sf!5kxS#t8?IyqVsXi}htG(-)o3P=OCYQ?7?wfVi0*HX61D>Q5`K;WRYSUm-G +-MyKvTnB4D#`vVA~o7aoAYAVxF>R;EEp*j1ts(Ei@!SxWuY)$KQjDp%lOj;vsS;$)b^6WFzPB2W-VtH +%bzGWjRi^okaVTJI=L}R$swpN2trBMuADdCX~TYACbjk*5a^MQMOdIhpmJ|WdMJJ^rGQfgV$|^!b3>Y +u7Z<*4=?kuJ$>UC9chSCCl=`N}v*<5G=q@jkUv7E1@*xLzHP4wT6ED5g5hM&z049y$97)!|kvH^^gH~s?&PUXxz|~LdJ{n{ +1j-%^Z|6Y9{-V`?v$XsZgx7i|B;EhOaz_>y{qtZP~zrEnVnDAq0+J3L}LM$pdMFym!JSs1`*PxJm4b^ +f*HonQ4gf_!HH>VrcNUD!{XczuK^ulMD4_LF!-n< +<6Xd*{!Vho#hFRJyf5-_;IMy{QI!;vFkce=f6i;yJIogPw +?m(E+Lk_QqA*SUD55i&BJ0o4UKo0thfuf=83a_6v>ATxt@7OqRO#Q) +RZxqarjvIeGoQ>V)FaLpq_GJJCwOdDKVPNw|b%$MF7hU`oF%FL=EV2rW680Criux}H1kZ{n#}D9NbTw +^5^%k~*Fa5*3+B59hs3V~swVUJnw++a!p&`2kY~WQ@LLCMCz`mg}ZQ1qKj?Nq0!;FN*Ve3jli)Je!k2 +_l5b^~v406}d!0AZAaYuzke(ldd*ZHMa;n3MQWrGFyWFGxy$j=&wkY==JD|+^uCMRm0OqswGl*}v2`mD&c%-4josPLx +9JMX3kAOT0f`x(~C5-$Sto`icMJ&xbfiXL;rp9I^U|AFp8jJMcISiVQeFQ_Xw0i_Y_Cbu;haJ=}-9S& +J>ISY8yPyUfT-IVFqdUQMjE|8EH|x-EbYVh*ikeOPTF?@CSL@Ys9+(q$f^~=hHb7!qM_?jx{m#6d4 +!$A3+(giv=FOy6Cdp2CwjiApl^m);AaN*XB+O}ANW7iLeVsEp@bdSK^iA77a)KdVmTnf2%zPvMVqC07 ++_1IWD=3DU#qad2@YW9cNQfQXN5QTNgR62L}zi2eL=yLGM+bSvxBrVuJi4gX!5%eaoDCDz)hh#kPfGNbeT-!%ggZY70FI$MxPO)$ao#1)L|wyX4tg{UO0oC)NE`%YN56-EK6fScMGZBFS5c3 +PRKK_$@7au=Ye7*^HuoV(-&FMCjM7k_j^0_=pDesjSKFrwZHjZli#^Nmou1Hs@V%a8@RCn@@y)Y~m)Y +BA7Z)$GCy$>zy9l+uDb)(fkA1eIH?|7<-pIHHCpxI$AIbLidOswcR5%uhf0O?r$p!50!?#HS;ohERr; +{rdP^JNI_D-x+M}wysBAZH@WjF?-4TlD{-H(C%o&&9e0J%W_r2e=i4-oz{Q1m4<3crszaMm0Ayz)(YRY5li<4zpG*)|a+iGDM#b&el?!<~Qp*e~FH> +f1k$hI77>|;iaFq9(3x*c^ly&;SYGm;b{!}>x`vrWIf>P)L8GA?NIMd#nkmyjK3@qo@(wy#P7VmM}rj +@TK%c6w;WHDU?Va{&jK7q2poqGZ~e+(wC2I4u5##=?GyDollg$yWwPKk12=Bzs!y1%#N*% +ZjE}bHvu*z-yVq0>;al=g*)VNgpMtBRu#8pI?cU;WYan;m +N7@aVra{xkE_{YovFMl^SrSM&i7&`~_L~`!5-G_}ySoRRQM9&14u|vj&4X+Z1TV^BDK0lMtwmX|by}p +Ce9eoRDPC`?(dfKfb5?V?7Dbttm)q&+fEDSQj~IKV*o_o*%?l<9wje@mDRQo27<8TH8yxis|7EFC;4%ijn!k|<50Tk93qOc=GJyyWPg7^x}ml$VFh`JPMQ6m>jiQ+Qn?530%%eY!d0c0-O&5 +BE4eZ>uHc8{>)0Wrs_R7keKrI)f?kAff=jl{YtWzF((k>}CQN_tMFS1g`O +5Dcl@|r7VhG_<>R4Ojr@uC397HJ;y+Xb(XyJkuVTVu@A&XJU*jQY=CfyiH!n>;%$>*xHWOf#NEqsh=Z +n_A?}5@}UsLaLqPVo*qx)^_;k=!s*onMQ8_5$`3+5J^_3l~qwnELBd2fF +?`z3kt)6t7J$@`C|r^lzSK|RZX$5WCCQS~WkA>!v*v5nYEv8W?<3`?dLIgi+hQ1JVd-+b6s@bevMAk8 +E8VN>Ot=1xZR&-?U7i~Njq$PPV~#@*NK5j$T211pdd&3_|`3?`YS!T^5<5mU8<1<<;PrZKbllGi8nEK +CwK_#}Z*qetxY-G`$odz)@AI0NyMZI{IKElcYf?0!?j(~=dXT&KDCH%DVf3gD3$U$UfmL3Bg%CM~^3C +^|j`PXnIV!QYWLdI4VXHofA;V{zXK#D)kV`DH3IaCgPZB~#@_E;tK$aV=z75QdbJ@L*yI(Z59Ikp7AD +@&ZZTFQ<)K9a^*Rr*qs!S>#(*NxlS;<|WtyNJ!BH35X^ +O4Ll<)k4z{)CcXx9NI+D31%lQxgCBFtTM!2z=^DWg=e1mMbkqc-t^iDdz19p#4sZCDWhI~kP6m0_DNx +8tgj}#E!bppIU_YqBm<2wGGcH$YrP#LIup7WZm;!1?n;2i_y0*#Wh +!85A8bNzCzGxeV^!s%4nYnPd#X+J1DNC$7&n=Ohr0^R6#zMvJRa#GhXe;&Iv>xE-X8`CDnQJ99ejSn#$j>~zgOi%h%i`SFLN!$66eyVPc%gseAdK4(Xck$U8hPCp$6V8ZP* +oJi1ec6^q+cz62h_;vE?_~ghAPd+_+Pg5YM5btKVyTm7qR$yalgi%~y-hP|_rTk6B|8rHTRiSMhJ9C_?-eu@2j<^?* +q+9DqMO-khSN_2u7DVN+^POoMs6I=)=>p;7%NGVC +$kR^EMMB?3xpl;e=+m+En1lp3Olr1&dAMW^I$X;U@uIi7aVWN2F^lKJpwYa(pJDRp$*IfQgodiTqvK? +ViYYcLi2&6bbM((IaZcw$KpT^$wU?VUo`v`2()df$r`D8_#?6h-L&i3c=7itwPALAOY|4JDVOnolhpc +`Tmpk7fLy{8U;bxul@j6)Xn#iqi)O-pk4#lprjzAcths%)M`2t(zNA&4U?2)U9^r^Ld9YQ|s^K>hAte;EKKyKTy2&SX +h@CByBu%L^PYXbROJNi&ki#gj7R#)W;q`IxMkO7cepB8^BP)Pp2kw>2$V4j^f7gaNa>Z2*VMmlw)Z4Z%WMne9d#u1@-31Pz +>m!tX#Qx=%Kc`$5JOG7CXYcSk)r{!JxHZTRg4P{t*~Mm^S82JSShOXfV92<(;bit*yJ_8`VaE{9ZwbQ +(sgbEP!iI!vt@caUb|YM4_3hn}w%@u^EEiCiXW%EXUTMM*fW1Y&Y1bDX5E%X%PSlp%Pxe_+=G1{&_M(7|L +LP2bFs98VV#-TL)SaWY`uCflab>?YM)(KNESH~Py<7P6#Qkh$g%6?Gq9w?5fSWQR}ZF*}1I7KlMmqVo +nwhS$IegFfEX!mO5D_j*n8P6Za11FY%bA4SpdJ +Z$R`);JcQya#f1uKn~o8oIPj=X)z_jCMjOH8L@^pJYEV~b2duKIJhNfN#r>Wy(#4touH!V9;>E~L!N@D!=#b +YKPw4Bmi4xkN1Kf87lL2txyJg8wKR66wqKGP*`u?UmYTrA3`~sxqO3N$n_&<`(~a4A86k13B(Mfj4mt +g?6bdbOEb80!Auom4iZ$}R?@bR>#l7tI8jnY-3^)uu7%_C_j=h^)SWj{+vtL>M&+6Sl`FD;PP^o$^;A +gT^@_IF|`)bzoY38%C=obb>QgwpT46E5+9T$JF!$HSvwzhMTju3(j>TZ} +ykWI4ovae+tA1KB2yQl~qU6T%@y%gpWPc+ME4a~AqiBM{@nbb+VbiC2tR^-XMb4Fy{%1HP!?RmaZ1|} +6wv%YmR*-?PRqa3o)N*~pIWgRH3)}if;Sq1vo8$Eg8(fIf3Zh;Xb`q0G7Z->xT|;!Z8^8zMnzKbkr>n +Ljth{nS4;2tWV1Ymbm3-rU_&DgT-_Yxb6Yn6@aZ{L*_r`6b^gmzI~Vd-PQtSrVgoj(CZ$+hwXJlWK20 +l#bBoI`0+P2Ik|Nw*QA>8i}z1Ets*`m)r49TpX2=*vxxo${hhUGy1TdTsq#MQtmcSaZk~rbpO_6Y?Un +cQ?Y=98#y6VOPrd>9w3%sm3USuw$+GF%74Wg;y4OEH)V)iVX#Ec0(|D*E$+mF9r-n953{XKcm<%hfWe@>3(-p9Ib?x8p{hn +rU3p;&`)18CRxj~NSC%L<+u28vLFh0PhEsBVUY}g>WGi@{kqY`4ir4#`3yuM;I$`$aXlLl`hw0qjn)Dl~-Q(#!H3# +P6UEcaQNiVu<(&kNHg#G;U&r@ys@CTykVx=#dpi$Sn>D-u;F!>b~Xh*l*D{P*Me?dOmCI!0J;5lsXrc +T#?+xrzYr81d5U(?V4&gcTdu0F&0+oO|{DSKO9H&@Sf{{Sd#YMsr)Qp-(2l-%0_gFwwzwz-E2aE?}oY +HNM@%-SS)Q#kIFrel4jWmk>8yU%Tmp}jOQb8mw+L-F?9Lld1V5}m%l&by7Sm{MJ5UZnbB1<41}OLGry +$H|b(g}oUv&|A>2ygM8fmj`%fuVYgMzipFE<4hFAo%?-wF}ZtYPv%Mee@{xT4sb*#D|KGG;nPv#4i*4OF{nLP6ffF7%OG!Ef9_JGH9s)(l7!UwE=yiUMGF%dYh`Trkw0r%Et!2)}EpfORinP>K +2y&%mPiV(y0&I^t4^D2!12Vs}@S`#|o1=hvDrGi^z_V&_V1=c#(9fOOKJ!4s*yNV(^Zi(6aS`&E#c2& +m>vS%xbE|ZxKiL1a;>bR@yASWak@u6Pkkw2ibUQdnV*9^rqTVf%$>_gOO9KQH0000 +80F$jzQ8ZROU~mrr09`Qv02=@R0B~t=FJEbHbY*gGVQepDcw=R7bZKvHb1ras)mq(i+cpw^_g{fi9wg +03?Dg}(H@+Fiv13nT$LBcdbkd9rk&uL%B3OX5t!DDS-|hk+0g7^*X%1 +Wxju-b@>RV%IP?~QCGDVvl)}?Qt68ExlwstiJ5(N<76dtrBrVGuyn;`F +=0y}UCuWXrbQ{ZA6?2ancayZQ#vv7!OuY=@c-I`!(;)!7CcYtO6Df1Hl-|d*Wv*LZsvtTm$%EA7Dm-N70r@gz+5foHPY& +zro~^iFqKKxDif`)u7oLJH^c(}LhT@8wRW9d#?(7tvX#^}(d}b^@Gj80Zy}dN&#;{9S9&4@is4>{Fr32>qoEw3QV8 +Xv6n{_jfXwkLi_`=fg#99(BMIkiLTMA4TPF-$hNYd%z3n^x`CR+<8heY2N@>|H(#V*1Zsu1U*;u){_F +0%CZic5rm`;{mdPr;ZC5+0l%Umw0WygnQ-rP<)}*O$|?i<8#_wsthx0)FR2VW(Rpp+7J+|5K!Z9z{m8 +ZZde8z`oBs$-CMFeeg!UCgS_-koBl3>5h#=*k{)(!SE +YX3qWttZp&QY_SuaTSwjUsqm&o$e&^nflU`v_5ebUQ4oKqoMI;xDh@L~W!V;ZU`xHp}f+4}1x8UEj-# +6%%xJZHK3mlAr2n8!iIYcjr83t##uWNBIBC^AiH48&+Hc;+L%X?9)d@;4+JdRp-y>I##AIL^ +g{sgx>^dsN43IF34UE(+{D%+|Ll}URpjO_e(AAq^iyHTISgcsh=#v(BK}q*%Y^P$l8$e97%zJYd}(^H&I*^)xFZUkRKHA@{yQ(dVPI~M +BOmE)W<>v4VbOX5>s89&K)31Oqfgh=&29A2qzyxn-wZW=;1 +;Fw3i-_HSf_g}jMhy}fG)7R#8qZt^`d~b$8E;)+XI8PvmMWOK_;^T9O@B^6yuPQy#jT(n;_;4I3y+`J +Vd9t;Fx)gfUuVRbV=A}EZ29WKq3D6XIHX*dD`YdO=dZXNQf+g=ZxR5O&VQ>lj6Tcu{@P_`zuZTaqqQBp6*8>NCpccrl +z^wtu7Yo39*k$+u;)vftNUr{&KMi`*t7bKmK>kS}aGPGWZiB@q8J~H~9?$E%k|l(?X1GlW3hV@Eg_!~ +T02vhG7bb*Spf5mR+8sW2DrkF)$lVR-`~8P@Fm^58H}ZUFx$v@t$}9{~eXN?9kMc|$F-ztfb{bO=yMk +Ue2DCN06`O;cujd(OKtm)-XF|7GFzPkUja!qMsl_bCeoEmRP60N;sF2cZM!P+mb;1Hk<<|(rk`<(UT#yWe2M-ZvIUoU4Ot~P4ZyCXs>5gBe2E}kvD-r37t^Iu8Fi0@vGVVycN{7Qv<|4Hv4sQ4 +f^|0<7c@;sE-<|Lh9E_z;K+d1i(pZy0{$B|%GJHlu9#kNGCcqfMW~O^4Y5F&Vh9zJ!dw)PUR21kA;ss +|O|6Sk78nWKVvG$#K!k8j2*@oUMj606SC76sdehLz1e&5KQi-oYH<^G^3DdfS9p)g-Ef6q12`7*t58w +fXO6WDV}X2I>5!;UL;pGPNQg;ND7?p6yFy0v +K%j72Dy+hE=FSmrKC+%uc7}BtCpMj7m-+0n79SEXpw_F}RH(5unli-3X!oF& +bh>hT>(+=L(l9XQ;0D-;&1o4nn=$yjfuu%a<;`K3Nwu`Pwk@Ytp?3SwZh~?>;Nv=2pS1(14e!)#WCjz +m_6Rny-2+H@>q~Ml&9csM)6uVSrPzPW!Hr?#Xa403r;NsdRAH6lp%%Xf{Td5y!J?=|GaCO7lK0`qPk$ +6$R=7nzMWM(NGTIX3t1M-EAHz-S`XiJ8Pcs+acg+=8K|hbqR#G>jsMmAIvLD@)rpy5vV+^JKfsPf}ur +4Stc!V7`@#kG?Fa!m)NRZ|<0qD>MiF<%!v_F{%+r;BO|DR%+09oDCYyg1P(>cd#LWeoE?@r$f2n!e#R +vaLcW1hNFmK-uc4}l+ytE)nM_-BY6qrnkJDlQV*U`JFyl}5x(F^_W%??L1(11HKoU;zXWTC4AIxrI^W +FtSn_!p#04Y%jY0$y=TO-)QptFVQ3xW&7WK*RN3+vgvBGRG401BzC&#s0`I|F6jv6Gb$>CXcZK?AgF+ +vYjcAry0yL^qV)|=?UJ}|%z`>?)2Vx!x;5i*BdOOe3&#)RhW6Tu?P^xFj_oXAr@re4t_#^1IkqxeWFl +2^!UO6UV01nR!X6-Om-ovtLFSaxXf6dR>EZd?W#PnNmD!8h&=C5#(Y>+MFd!B-u6SfUfk@p +VZ7D}fq$fdpVbZJP;dbW8}g^w(7uFG#WpP7)S2B@iYM#1y5j6!rydqG5a8#imJVJJc{2Q_~{$aooj5c`s+T70ejPqBQ +;JkB&}uN2P#^=;bVV-g0QVzOBIP3gb{P9H4r6CKLl#~}iR^NXs6%OijUyc_bsUYCiGt6;0oIckFKi2U +f4CL0sj1ti3i=zJ(32P1Ov*NnZK^^PT)u28U$@~qj_kdOY}LS)c(bgv6E0yV)STCX!rnbzlw#z$7?t~ +LV(NXvpccc{n48%{^XNFeQ~UaT`YGP0>(k>m$L#X(=-0!S$8Xq+*X-i;H9J4NK00Oaj-idh?1PVK-ORP;V680ML@m}I-i+JE`EHpxjn1 +zxhrH}QeJywB{RUYLqc}a{_AX7P!v!~deL`9m_-z3LN0$B=L>rHHn__#E;}_7!*qsp#qp5-Q +VRLWyt*_?OU{KuTo%QEYU +;A6>r1>jy`w&a(?uJr}R2R2*$z&uzu}t-WM~Z3=hXX)hOHrD<=5Mb~sGj5PVnuCS~je^AB2AVq1IyY6 +Od*TIA>Q2p-04)NT1U57$+)5AwE2p+@R)`>lg?KxAWJ0+i0)7JG8ckmk7k6jgAy}>W>%Z0m@xoEB)G_ +P#-=Pu-YLqprwe3n&kbtiUjmuAjDGk8~EfIjx|Q!mv5__}(~v@cd3!;Q|7NkMc_}lK)Y}{5tyd7 +Z8rNYzsvF_$i)i)jf$AjraZwP)h>@6aWAK2mq6bZKvHb1rasl~`ME+c*|}_pcz72isj+p6+000WY$PqRq?%)22n!qFV%kKufgEMi#XsWyf2jzkR> +Mi!3>Dr<;eE;^pw%&v%$4$!nE!D^+FKZY{K6JHbk&?$}akmaA$hS7yRwWh^gCW^A)uPMENHk|cw{8T+ +sn*jbipC#x0qZ#JT`%&b*Y7HlDy78|t{1>=}h8^LNNu`VlS>0o0UEmDx#?Cbp;)V0j*RMo@}FVBDFr4 +fU{QmYNiGQT^^nB3G#TgDegm5mjd{~ip&yfTMTT64ROpLNMCq}s%9Bduu1d(#l8~?Xy`TFs6v3O +$=3oViTt>)r?&T`=XG63ZBFhZW})=B{nO>utGA!7Pj83ZwVgHwqU0PV%J4l(powG*QiWKum9W`{e^ +ENyNO(`S721ICXzV46t~DC7=|3sN+$@DJ{k|6nDj$uG#?;YZfd*4cx0E+pQ(V8>+cjn(7I(o~t&j`SR +q9Fpoc=vwIE=ybpOUn9kM{Qrzdod2ABHJ~A-AJv2%0q91;Z{?S0;nFgCq?}kQj +s&MV~|HN8C$0>diXqhV%~!*@ +Tbn-v>KIMb}!@LYI3;fLgE(e4jCI3Mx2uO`MeSPOuqic4pPAc3wPN$ZD3RUGI$AM`fYk(ZMuh7q-p=S +fPZehOly;Lk#O2U`za!vbuv7tzxTEEqLh)%(UkD9bX~12lSc6PZ+zc7-Z(m-I&xUaiv@&NI6?HEAq&9`*-`H>C`CX`lb{UW`w}ewY9aG&mg;9H2IydsnRPbq~7~~(wIh=*>E@pM!`!V4NgWqDaKCn*tl1R0bBqcJhHdxevkqMgysCs`G02OTN(ub6Ww{vusu2V>31v)IYGKfp6xG437sGoJm4Lw5eZF8T2b +f<}H-I;RwZsHRw(HAc@$K<1M2hx32nt*YR<2q|l+kxMDrMto)hr5B~49Oy`Wo4u9`st>c*YGr1Q4w2t +UyLMUoB>=f9MG64m&TOSXyhPnQ;X;Jn%zwG1C>nx?9odV3$3gm=`SY+oyWShrrS|6G6LuQ*l3y{+C9Hg6^2?V8-^0%a8#DK%X8-z2mSIsLY|wjg;GFUZrJ~JwV$xrOT?@!`{y{gwU&9Spw(e-C+s^7v2OviHesr>dnb5hIp03`000J|@I(*^c7=c3$=fDgFj**3 +!iscejiVCA+#>Fqz+(zJ^K+VS-00}`QiokGnXori204`ffXhZ&2WWFtpx&z241UBy{=$MCv^JmcF!O2 +)<q1Dh&8~U4reCqDuy)T5|9hs05~QraY6O<@<~#((kCU;kRYRe{Y +3QHuGSBJE7KOkhREv7gn=XF$6<%#^xWIUtJK!isiN(#CZS@W@?ekr35YjeK=)Pr-;k=_z{!NGl2$Y?{Mg|mIz9Kb+0WW +nTnKPh~;;}VUt`GqROFtCX4PkOVEA}^al43DM>Y8 +=mbOxtOXPj>d>{>eijZl{B!QCbS3PVVjZizHB1sjSd)D>^b7SlGJB$DQA!R>|us3A##d$K#vlxBWKqc +*}RyNq@xlJPlyl`WIgnx`?J-BoN|OI~eCgpBDN5^IgZt=<#hGtaOsn +@e@g!rVc4xKgK-23D@Yb#OoqquB$V(s)~SgX;oG=`T$@D=m+V;r0%V^t%6vk-wYe^S&hBK~qo;X8m@l2@V9kmix>4 +3%floPdVc>f~uz_|~9|E#iG%Y4lg6`%IF1Z{e`(PB#Ei!Ol{p)w?SxuqQGN<{E0jwxuslH>- +Lm;@2FrHdNl_z5wKBjPRM@}G9xYa?nuZM!>?j{I|Mt+~(TB$=efrgt8a?ztgaW^#(HK1~#(26ZI?5{^ +sdc!JX>N37a&BR4FKuCIZZ2?nZIDk(!$1(l@B1 +l+dTF617eOuPrT7muir7ObC2W&PGLY;pGZQ7>-fc=1q01hY$G$gjeii!;0)-?er^wE>Nw3sOqC+5819 +ic(!t45doi88nme2XeD$Aa-2VCWHR||NFd(8D9B$}Lgg8JTSDQT_!dD5rl11aSdH@rkhoq8I|RlG8C?-ej&Y=k +86WpC!j>f+rbCHpBat}>A~dQ&7HL|OHvKLse3ynH*fb(cNu)@6aWAK2mq6XJxtRZQqHqWOCo?&N99>y6LSb-SgFz|6S_vO`Gt|9L?1R)l|A^L}jH`Cg@RoF +KXMjjkt0$t!#_(AXKfpAYgexnY&k@bi1)q+J2@s3hi(J9^( +;;9mCV&aW5mNyN@AK!MJ?xvRYRyL-v#};e}3;*@`_H+5uFK>VPwfykg`}a5R{|RB*O#FO(#o$9)Qw=| +;8r$W1{bladyh0t~n&q%~&X(V^wbl*2=>+6Zv78?8BaKAgR3& +izf}z4Wc6Po3@Jm8Z$E#Bp^1ZrCb)1|@nk6&-u}o`vQsEjmqRBMTVZia_-e5V;dcmRKKGXS9N{7e-;cd) +>W?J(v#=aW3>1znlh4itW(#&lnr6Nu@R!*d1EgyFTJ1#j5dB68nO)t7bTyjSQMxc}u3~xvX%y{W|NOV +bn4nOccUWcjE=9@ONH*lqfR8O~G4Tp)F44dA&1q2-ML|U|Yvrz%U1ei}@|@U`u +FZGbV3zmMz&Y+>i?Ru|pGk0Xx;~_U$c00nl3s17)%OJA1E{7?dQRz2GWRv*Sk1EE7*{BP(f}BQve2e2#|E2;GDnKY%IwWMtK7lxW^-CkfWsd^NEeZt70TQO-AP_)dD +Z(4b`KtdwRUd^P!-$RdC_-aG&}i32YAEyg%RM7r4l#lkmGU>Ia{`z$hjOU|vaj+syg*=a>1Di#`WjU0zs(qT@}T4$j1EcZ`Kl$I*#~r#uW3j#>;+|24aD3oR1IOQaa9h&9d{g!G&52<9#?F>ILXdmy9JIIkjS+x?cE727i ++RMlXHMd;G{S!m-T%U$DYhH4rF=uK_6m-M>ChEyb!zMnhIWXYRQ@HxWN^eC|%-cYn5G{^BJ0Cb*$7h^ +a=x@TfbWx=i;Ldl5$;_D+N;>?rKQFU3rJi*Zr4@y4{&N`;C)mQrG?S2`o}Macnpfaj|5TtK+bEXg=STj*ViPBNdRte(&fWL7RmMV1|`$=4qIuRRd!R%n|z@a6}Nhj?~ +zW*V3I3Ja-yNu6Pnv@3zJ!@k9=*Of<;}7_4CjI2w4)9N9y5n7%~@=AXQY{#1hnyJ8ER8G2&9QEWZVc7R +2oYS4wJlZu#DD6$|dy{U+Y7d&99)`ttT=3tnHz#u#>3!JqnF2P}v@a$1(7PaCAb9_e32Q=zhCPP~o)O +PI2L_GJWR_8u++xsL)32Y&sD6fZz-qO#4{A@t}y)tppVNyLSFwUrt6ry8*yTmg~>3^$T0<~>#c{f5BQ&8~G! +w2qoYd-sPz9lPNRQv?4?Xx4BsU`iwK40W2`vDI=)PxQ_`A_7_!C#T?<`L_ +5J#dyD8OOvH)@uHXpsW-7%$|(amojtsb-Iu6`$OjsHjb`hqyWEZ!$^pH_jNix~lgvRo?T&Q30{=lw9K +iNXVb@~7^3Ai$G>i$4>W4X2Ek9>X+Gt35t;hv_ztsmTYNQ$p0^p!RF#9`t0=ZKhx!b;{T9h97KFG|aURxgVmy(9&x%P8Ws3VB>0Fh>@N^Ji +w!HBNp8w#3b_*QU&-2dM$3cI~;Vef%y50b%l$A&}{BAIS_ +YnDII1@SU7iXt-?AecGCU^&nH=cd-wQQt4qM4zPlK5DiaBifjV&JWgpeq4RVNV-b!@;Ab^!Wo3D#5}S +hJ5U(=dEH7wD}+)lX(53JGqs}k%PU&({>!ml#zSc@XiM`Ung;s0BmG5ofJU2mK!=oLOJu}e9YI_>wnB +sheboOS)JHRj(7h@-o=0$=i^Q+$hP)h>@6aWAK2mq69@AV`mB_7b0^_w*_b8Tk(kRkBWkDAdeMO!X9*U4_6x(! +68CqedAXai^a{=^=q%ts~5Ld+3UBrY{QmkpDxb!7iY!o*$eG|R?f(+<1b!UM^rOmPgDO0Xl&Jo5GcO6 +M|An5MS@J=hyza_rZ83Vfh`gI^DSNhY#v!74UJL6HlfYFH@?ReW9nbq(GFPPm4CLR&}6fBOjCq&fs8V +?FTy-f#_=@%_k64AR14x-j|eZUMfd+ladiJy^PQfttH-*MxwO@hnYIRwBCFs4FA$M!)(i`|UT#6iZPPfIM?HQb9oBupPQ#yhhCE|$N^c~lG?nxR!8mgfi4gaekl4=~ajRjUhO{CO8b> +-YpNN^*cmAN`RC3u*JMHXh>aLf)0*<8-@eO-n)ofn!L6Ner)kOQU!C5L7saEj;`cu_ +hE2v}M7zK!P2fT7#NOELFws^hg}v37`a5#q@+IYKXa}7b=0a953@mK;coi4dwRt9dI~I4}8&);c=B$Z +6Vy55U9*(ChfUlf*S{HRzSDIPUbr*YwXZy>xd^}XwNt+mXNl*WC4EG@k>Cy%{**fM)8XyG$s8><~4CO +5i-sKh>4P-r~EqDz@oSXC@R{0Z9EnM9#D`oC}}pgO-s)L4FHED%qCf`0j$f*<=B`G8fV?rlQ>z%aaN{ +>Mxw;U)s&PQ?=i#VXY3}RSjbEV5ErHvxh!Sg`PemjM3r;JzO=?pq-dDPDFC;E{(+iSLoRK=rjYuALR| +ZlN+%iOdc>qmDdg6tl6(O54$yzPamYPA%RkT!Fj1DUe7uK8QrEs5xEZyL+hc|ZOzQi)Y5x++{Z{MBy; +&}o4onP=C>%B9AzuSd3)bd+WO2b9Gu|z=wfl$qf3mozH2y=WRKEe0)=uwChR&8x0=?G~2MbjdcGxQ9-N +IW&r($jF%?eSB&rUCX+rmY53Z)bK+OyY9Q@)YWYhSC`-r27dzpVbH>bDxRoW_FlM_dug4$%SQaK#n5w +Py7X~q$R(P>AGH<1E$&n18bxw}L8ijyLONGV<)o1u_(dX99%N%%UJ3QUXuR{Kgisnd_wnZHL-z6ofF^ +tO<^w?>Ba)INhzl=_YR^0^6Z)>Q`?ga?~JvHVLQB1<6d9-)anyQ7 +ao^O{f%;hP>}NH(fBKLkm8j))>kmW7c$FOv{x%Bm+!5W3L1zrM*;wYysQ~00iTsm)kkJ&${Vx1tFI@g +09=73L6)P2}KM>gQSxhBmZhwkY-KaNaD|9eLk;er1N6-jdmQzOCm#FjC5S3R>QeS*IcW@po9FL{e}IJ +J^v10fBuvEns><)*GHO1mij#Ie?E*n5SU{hA)lzkpb|{Ici@d0J1o)wNlVc;EehAdIuMSpPe>Zcr*h> +~sh~FYq+A>X#x9lWJ{xXyHt}Un>ien_4(-5f_M!{<5c+e1FnDB2XYO9ecM=mPPmcSZ=3eBfK4eF(?nS +Y2*iAiHKdPAajt1wh1kqdrYw(F6&mD{r*VE|@)8^#m(%cqvz2>L(H25aj4a9O-up^#MX2Mm~p*THZmF +^mC6NkW)9*Z5li62k6DK^Gt@;vp|_-QLB0|70v@c8I8P3b3#Uv}`G#;em5p9nme67=cdf4nry<|c`yr +9JLXB86ti@koPeiXyy6@Ni#fqL38IfCeC4xM(i;j{Eh-OmNw$AbPi+-J%}`!u6!`Wjvp7n@28u> +1WysCTf}Ei_=nAeHGVynbFvvd$JhA~C#x}dMrDnryD0*?!%YX-(LG|CR+jpHS&1*Y1w~FAV(5mt +WE-SvJs|+=MKN6Jd{hrDvYKwJuo4}$iHA4Ju&n;#Q8WUWB4Z!5&c&_oy148Va!0o_~qm5JFY8M&zMyN;U%#>ocj>xJDVDiSVy@LFzUZ1XrP73$jDu?VNw +;q3Zr$zCxVW5|zmiF5R9cS~$)w9z#&FR8Dw1b*x~-fwjig8(Q2ar1XS#`i^Rs?NVHX!+?w}|OMoyROr +{a5hFVxv+6rS|m&1F~NdhBv)o?X(^(0001RX>c!JX>N37a&BR4FL!8VWo%z!b!lv5WpXZXdDR+eZ`;W +AyMDz~Mj;AIv&{nOVL%14jYeot+!Y5@#qRVgE4HzHmQ6fMQH6xX7D{p!!h< +A`&yz#ub+O +6&wsf%|9gD(q92nkbSJtvv?k|&s`161h-!Fczv!C4nb&${0q%}jw^H98}SwY8J94C;~-T8f67YU9Ny%4^(fL$jY +zYEw}Ndf|2H>d(A$u0!C7t<2K1&YA-lWFhHwa)RdB;kfBWO@!(b;mMP60+lI7XGV7z1oaio-fR`Z4zOrEj +NJw#i9e>PG?>>}DlkZ!BfAEQ@>82xP^Oq-IJ2wXitaC1o2z_yi1?yC;66NP%9fxm{mL=*min@S;cN^| +yFp~3Bv`*=$(6LaM=&c111S`2j=MbSu?S4uLYNKo0BL8fG4TS2K8vnc3{t6CHp9YN4y2!KtoaKV-{8< +!^_-hsTKn&KE`>|VWZ|9=eCQR~FXN+}JR&diKH#&uzRzmPDZiH?O +FMy1!ShD&^Z;Vp!W)q*e~mCGLJ!M&np?x}6jvuKi@@n1i!g2YvTEs7r;s7a&rPQ>p0Ib62lts|bp^@_ +)o;*V0@+AXKscD-Ls9TDWmTCUG=`w(X+zAeqlK$o@S+y;5QFvu8N)SMbxlI$@a!3R0bt5$1HiKGVP}o +9v<6X4gz_Bhgd77A>P$$s^kJ33(o7=z3My-(<&^23Gn1a$R{IN{P_TgE4TUwWS^L$j +ta`2GevWvaZGNxH+;HPWt5remwGnj9ZjINjoEl*3t_l!A;*Oi@!_)@(T0?4y+QNXe4wyM(rxbh~mhyzk=r +CV%cvGB3$%0(vC&A69LAP#!0OuXF5LV#ZyHBv#7k>ij^QZ2wbWA^Y3e*{VNH8oHrXp9M(Gp2VdM +Z;=?|I~6d9hX#Yuda~*`6<^oLsywzb;3kN(x@*+|i`{FyLL;O?A)W6u%fcpAHFkNm<@uA_o~=O^8F&c +I)zB&H`d~&!C9s+t@e~M~BUat@?q|AqaM??Q&iZfAgo1|*y|8T#y-oX*rl8k}HvYFn)GhmXebF?497> +QFwa|~eDWR+ly2PKnV?*5(YF^IZ=h7cyY|qD@YWq+)lVP+~wUDW(r5XRMtBbHeFdNa91$oIP`pI;4;2%I5G`gc0}R-(tAm%-pO8YpOxumN%mi^(Ra*2V6Sc`x1sgjL +g^1be$8{h3eobEw>-Ai_IB!1U&u+AX-5aa<9Qs}*h~-Fq*+zEX@^2#s`+^Dn6=F`#}i~+18#hCjy9uO +(~VIs9kkD#5ctXbNd>6^@5KtDc`&XIgp&4oD-!^=v7y~vi6bJ+4E_3?l6?Q&4BYv<>(q5tM~ix*#Z)z +=Y0BLjb0HF8CxuHvk74aWr9!sGJO=3B&0Y=D^sr~oUzpi$bD9(;%%UQ$m}=xn*t;J$Jc*?mDSjE?$ei*UPVUgry+YSMSJlr&2}JSuz +p6qYdZ{Dx5Zkwatp;6g|0bPiQWcXfiLI}`0Ahr57?Nj#pZcwO&%+8BHnv(pd{}~kYCFa;yDxy$*UG80 +A3#2J(9)@#2~NVb$R4Q(D=N|7gAqRVZGFuiOQrO^fL{EKJq^X!Jyuai*MLhN53oWFVP^J=5N@%=wEi&LkhQl(pPa)H&Dk-khtl)cT~=mnm-MwYxk*9AP1y42231I(cOmZk_3iPJ&qDG?i@z6N1# +x-!NQNumUPrwy^k8{o7)innVwxqWY523H1c5!zw(onB)>?iJcqOj9O-jpsnTl?6|$8okH&il4qh-RyP +U2a>tvL-+_0iCK(12WKIarW_~r3yAuFH4-5QbFljm8 +jJPVaYgCGeY4#T(i|6}6ZWM}@j6+#S9wqJ;}uaf#gaNK+|d8o5jc1CK~H0%=n`NBIg2)!_Q;-L*~Jmy +;4H=7qvmW$?gtJ6ZnJPYQkzj{fJwu)wS9TWi>zOLxE9uv@*e +QGZh^JqPH^@6aWAK2mq6NIEo004vl0012T003}la4%nJZggdGZeeUMV{B?y-E^v7zj4=)aAq)h2Ua=xY9+Z5*2j +*g(u@U%+{60u&XGW8Ae%;5Qa?!~sZb4#VCrB0EFl0Q}=Dm|us2D>mcs44G$x6X>>&hwToYDjDk1RCNe +`g_Xd-X+iUN8?xA3g)?KDyUid8HpvO9KQH000080F$jzQ6-rAhVusi0FxO203!eZ0B~t=FJEbHbY*gG +VQepBY-ulHb#!lIZ*6dFWprt8ZZ2?nomg#e+cpsX?q9*BA0(lQy7r@27bv=53)(e7UoZ@YAt^F#bCE@ +jq!Rnz?~X4LDa%E-pUtEvtyym5Q|dkqSx5PVtKG+nOrI8^Ri?%DSd&a(5&}(Xy +5dt3{E`E-o%+Gq!KJP=vRtErq20Z|T0tqnvF7-xH>&P@LD2*p+HmvSwx$L3)<62DUV1omDl<_OO_1nW +8@+XsKxKtxO)~`+eE02Q~J0zGjt5oe=wUNcXJMx(~R6hpqT{TJ^$t{PAlMNT1dkNnVgqZ+DM0R%;Ep#&)ojD0s!LPiDlsird*wvxicBRDUl6Ru +QFe>FP_jGJnO^qZt5Zzwi=I_6MyU9P?{Bir~>f2RB8m=G;A(k@QJTSoRh?+`&+3s2@b<#nw~S +Co{^!k?U%y7HOtv*sak6|pUkxYV0N5R$9QuH#qE(`I0zQMzsuO|&R12$eY2;jz*G4QoRJ2v(x>?i1l@ +MG^9gU)yerh9oF%i_U(LKP9#?|2NI0$94%X$QMELSt@j^X4;P~Mb#3R^JuI> +tG7_$}M>}9M-2b;*ns>9hiN8a$jeTi;A%zCUsEY{RfR8prsWnYf_aG?1^@?ZX;hR1R|UZgr8BcSlHtu +gN_g;2MD6q$yv4NAyV@SNaE;`C$fdqh{_#*)Ctu!cDa`YOI^LrQN%zr09*Vdtl)xWgi@oFM7_{xMV#l +|2QjlDn86;QOi3>z(~hh@BaezsvQ-Sl<*Hi%Xqmzo{|mx1;(rHiE@GG@o +R|WhMd88jMWp{@Y4!pG~Aq=toso>gx!!Li&0^WN5STu!W)4_Ap>NFyE0>{i5$4eKBs1h6-U(9rb&MC3JZwmE#0 +L9(oXoDLV%w^O0K +0WG;y@0@>>eM6mq7~lbXNje+O(jL5L@IVCNz&!3bI@E*RB-6vgN=MFBO-6I2v$@$kE%Nbx%yhpzcJerq6*uH6+qGBOOZ!iNSX?o=eHk#@F~mhY<=}jWgd&2k!KIEHVdY(wZ#n1_<;Kd +72a?kOc!dO7gg4)eaiFe>$dlbt@;h1LeKe1#XbOoWEIN;l8-Myg1GM;X*GLs4|35GiJZVphIgJb{AN; +bvJCAHg{tzOmJ<8=7v^O%2FI>eiCV5nIB;qK}LE}Zfz@g*UBK}d!{;#)4_?Gx>SlbP&lnRJyT`KNjbB +l0-7g->VBpb2(j~6KGZTbHF&$Bgtet>C0a+x&n8J`f|WE}NRa=; +ivJ19Iw3IF$+Vg7>S*D{2oQmv(H3c=gWB9#Q|B5G${^x!|1$(L3 +*WU;nTqfM%v#XilDVK;R9o^ra~{Q;-WwXHv|s+ZNA_xL*zJ{SZL;u2IbyOP()(S4wDE?Ph(G=X^rO>W-#6vpI%ccMvu0wP^3e9q%*IX_UN$|u?-(Vg?!4hYoris9`gwSLuA3q*{7l +s(idCByWaT?~45*GoavciVSV&w7#S|a^8_I0NC{7ZiG@q{o8SDYHraIwc%HnCfC +SL;K_Af?}pYiB!8y91V1@uz9)7BG%^=_WIL3Z@4)ok&z9tnsZ5iO+=n9h08=Ho7Nsx(BO~5(g`FB@Th +w3^zdhbCfZKOCZ7zh{T_XdKZTArTby?Zp6N=8|IvHGt8e;lKdnM<&5SgJ1Rj2gtL{=GpXjZlfqtAGpH +FStkF!OBF+3EKOPya*8^}~E9!ZXN%Z=;!=Z1SB;au%@qYnOO9KQH000080F$jzQHz>445teK09GUb03 +iSX0B~t=FJEbHbY*gGVQepBY-ulIVRL0)V{dJ3VQyqDaCyyIZEqvD5&o`ULC7d1rPBKDj39+kwK%^dQ +FA8?wtQ)DI4r1LO4{CPxgmEgt3m#IpCOm~rj>JPfuP3WERn;R;c(`e8PffJ|B7qDuH|mWlaK{5*Luw8 +qY^RC1b)jrixQ#x{eG{vR&vLDf1PK!628x(T`E<^_)5z-&xCKkk6EgsBm-FzWRXmIy@D>5n@yB#T3@| +DChMpim1&l8rA7H&yH6=JT1&Na-}RxK$`lX8iU*$y9n&cFeCQxl!ecLpBd2Px3n2hX=@W#|#@ND#R+) +It+`_^{*LL)M^gK&WaWLvDw{X~F__;QFyfdN~W`1nOAJdS-zMC7d=6Rgy??s$`i#_rzBa+c689L)xuA +yWobW_sp{r%m&Wxlw-{V=i)QFIz{kfD>k7SGw0$1fTtsXIo$H6QNG8Eu7yiyi)SBNFK5f;r7l +>S+$uKS)TeXbWZZyMLKZIHX`#=B{yT1kSoQ}zlG81^lEG&^~0#;w3}G2cvsonHAAsVwKQNS@qkl_xmejh`o>P<}NJlv#JMzBJkz{!K03LG +3ZK5y|5*Tjpsj#_Vl!s8%>Ea%(>DI2XEC5q!BV>1T-AY-iu=NNjB7XPhRmW-ujl)4V?gbce +H;|AH2Bo(kv{-qrX`5t%-@-@q3{#B2B=G=eMVkPla35%L9v*3|GQbf6!{YzWa~X8t3-BR2V +)(XAxZd5Wz%q+ujwJxtg +9;}tmtxQi_{FyA@U28$dO&FwFW_mE8GId%M$LVo(4ceF;Neijvy8qY{==G$#!acC`bOSD@oXyq>BuHL +cAF?EFz&=urH!}apGDzCzF|CUI6#fE;A^RxZc^8cb|KI}qU*15#j +H#bb-}j*;i06ab|(>0+{Rfj|ZOF3uL!kNH!{>pm~ZWAKk7rA}nZG&vDR!gr3gI*=9=^%+-A*BS{iw-7sF+;MWi3nNn*&6-GH_jLb6O=JpBv~a5Ruf1|q~exqK#>|2E5|?==^ +K`V+UX$UHjRi5L2X_z<=7MWHs+`6WSQK3?C$D`zTDOWcE!0NIQY5OSKTEWEEbsob} +ld7$xZ@19n7KqMV`N$+j)t=k +{A8Nd8ADAm!hwlw=lb5ap;{jFp(JB@cXohRFGXWCBf+q~#-{jR2>NR1gBgvR?@38u-q*i% +UJoJ#kP-%UIP&X@Z2P;8iv)J?IeAnsL~#e3T40l)c3}5kh>`#Cq|ey$?&j{2Eg=gj3vDvl6Xu{Yo$g( +z^e8T3ObRoF^WSUh?GF`01TM&T*dr|jH>r`}o+5>9;oDZmp=ItJEjNWa+Gff4dX0>#%NCcd==M;X+ih +em+ZlQdSFL$kl%#pqbf-#*kAuZ*;m_~<*?jT19DJfi@%5mSm3T(&pnYzxG+*X-`_I|K^1*+5y`0_6Em +Jn|{v}bMb#fbZ3T)ic&|WEoOjhi;#%U^qq6WPfGb>@mf-tN)jw0D3Ua01A5Z^{x5_syCuB)iEcUfMbP +(lVg?#9=_by*Lh$VFN~Ou-6I=45NPghQwG$QvAk+|dZZ5saD*yRN>w4IB_y&;?)XG~3g3Y0|iU9UhS! +B`Mlo`wqEd*-0A~fOsNBEfIIF&OETepY(tME(q#S_aVe>OjTNL#3Pp$&mzbTln|KOZYvMvm=GFRdti +H>bfKx?N0bB2Cf~Dl%r{-+|2IJm$&a1=lIMD7^S7`iK~d5Xnab;q +BT2E3R+Q)wH`5uN%jRPGmy3&w=3Em~29)JulrsZL)y^Msdc49G{I%fp(yEX9 +`4{oBKbbfdlY+(631W>xqo^cAXdivM3UwEo#qpHZ!daBesr;E#5+Gaf_Nh1Bzr2wV +$-9p)uWoRls +zoOtryaOx#UTJYA~1eh*yJ_tcwidk4egXV%VV(W3|3`cM0D^~59X=>Nhpoo1*%KYx*ylogG*KUB?A&% +f>Z?CL<(G^56%cmbrarSvQC=>QqjI#8x7N_g|!p)(X=s>NyrY$iO_MraKa=zz7?pf-Qcfo+rOmuwNGq +F_ra_k<8ee;B}AnNVc!JX>N37a&BR4FJo+JFJoDNyKScg=rOsl +@!%lZU(C)n}-i-QZbitx`Ov%WdJ?K)mnrRemU{OJeTRh7g3nP|DxCmfLh7HTvm@#rXmlE +QkH?p<6M0fE1Ak7Obop0F^&M|w30=N&M$r*ni4Ak?i)SoK(v3e}RTz`KIixki-8R7!wTU +T*X2KZA$1stkuo@EI)TGnY)!M9Ss2cp9otG9qDErNb|{qyDJ)%o@H?Ctqamt*mPCZd18K?dV~8Zq5(A +s0Y4HB(sHV5XNZh>|$Si)>ZMvYgFfFx}_J)2rFdUoX$E`+CWbkyI=1~#i^Wf9Ht0`|ejJ`kI1A%U99tk{Ir3^=MPGDFwD(9<)1xTklVF62ku>2iB{v8Qb +n7Kl~8t=7QLs?QBQyrgG+eR;{(VY!xOuGcqLAKt&2y*<5t+fPsKRBdzQa@FbGUoZbU1M-~x*X-)&_wO +&>zX29p_B@^r1pMQLcOaamusP3QyM^-vWXWq_e$6alG8Q*ANT8-~o7uSGB|a*~;+HU~W!bdu;Ua3;@I +$(cS2m2nU;rXc6k%M-8SlZFM0OeGYK%e+wmAyyG{$3(3B(+kB{3kaPWl&;zanLK68ty +`1ILVj6SrfVl~!#JXnGV9s0r#egoMzgqJ~?Cvi0#jkvipPXfXVu?g?ZI*@W2($BH#&|U%Lo?9UJ7}@G +>+_S*66t*mKRz!kyO&c0f3z5x#lTk$tXmBAW69M|8-hfQ6NOLS;T-ITJ8g8Ud+QwJ?s2sEp!Yc(z{z8?~bVmi=mkbw2Nw>vAEML<3bO@#X?b7t>RFvNx{^x8>>}`)-t-E5d$U3Y+ +lF7V#b!t-mT4MzvTyao!#;}E>Sp$$F-EGgq9+g#iRuE@*v-WiD2n!Flhw5Q9ES{# +0oe1<&-qFvrUY>kcm29peoJ@YC0MEYQbaZi+jQ}Q>zOQ!m28U&QN0kTbY)On&S{S{H@1Jty+0w;qj{5Pc&EPM|XO +zVY(e|LfF8J^O(VoEX=jGG!t#9(RRZCtd|hYuGu_J!y=aDaAewOJ14*oL-QE_`OHu#Uy*fc*n-(obJw +DlxVR_?)r-l5rmaje;k&S&!+WNJZh%h|71X1^M>P;e_lbOv$;mfk17hUtD740AVC0Yq*lb9%n^@PgNw +{k_q1o2iL4QFD4sk;Xv5=q;H*rcz7>2IP3Uy@?R!DAVClPh!;tO|E&mLmTr{dSO1j<6of;NrbMTo~_! +i{hnu!jKjU$|SQO`sWUbzm1{t=rCKW0Pq1AVIByZtA{QGw!|#=W+KT*bIq8%brX`eh+e&eiQ#~XIYwT +0UgK88v=^M(O7))r$EiA|Cw2|q^T?ruaGkD9M{Ff7FNYFN>2a?sGyh=0h7VJ?5itCt +nE|^V~(Tlv1J*G((E=py8AeO=+cqul(E;I=EIe>#ykjktsB1!Fw7#u?5QsR?Inae0%#*x}&;9ixu!?w +g^089Z{)xa`ft{J_G203_dI93iwf)WU{IO$~ta`JXkwvjYs-#PApD7nSTJyuU@+q{&KZz`r$!;~*jSJOfBmx|ozB}J2( +%S?2kvW`0l&z_3?1x!Si#QLZ9NMo&jH{$$a$b@K_FK}Eln4)7FnlTST}6#UDYXtx?=K7G<1Q`!TLlIP +hMmC5EofWp{EBhhHz#qfstD*-u5DLit2)-jM}@SV<=O|f7CIc4+B+on81kp$n#7f;-sHo*TY7Nft;ae +I)kkeV$6x`=Rhs=L=7@&+VRqx=k&y40fSZZLbF0cZGS(totV`TlmJma&&s{r;ZGFes;z^w`%I%7Wp!G +$FnwWj@|*ZU!n%Xb%<3wytHAj3u+ob~T)}&ebYkdqP8KYze~zO2m8fE{w*&u(>7^N18VN|tz4JrWLCu +`0>Ap{03hx>mDGc-p0)qi+nyYsVhbk4jAManxx?tP(x>(P4;%>`(I*TK{()^`7Nx*0snrL%?0iEG!eJ{8Xb3COCY>=MjDCYg=+o1O$udr){sv|_zqIs +T^L-<$5OmOqGBO(C+7EcQU%~?9xyb^dvb!QgC)r5ds~p%55H +WH>97^7_9iDM!VG-Ww4mR|?P2!*xNY;bdBO}0req6M-**JA;?7X;i27g(E#_M^9;SF&_PF@ZJ9;0$lL +vg5701m3OjwM~9GHn})l%*DGoDS{5p>_$lX(|@j5qa0r1fTwafYSP!^<#Qqqmky4uz=mxv;7vERSvcd +wOS?jm5$a9Gzo!7Pigyb0hi@+=`{V8m4*ZY$LyvkwX`^8PjD6ZhM$T#p!kJmQZz{s{d$8$Ofv)_T@Dw{BjT1?(WAB!nV3zvgL&JrggdZQs-zmZQhGiq>N>j7J +paflrU4ILF`fQ5fChDakM#&1svCb=+qV$)dxWEx`}u#a0f>Sr3?qh-I5kt!FLip3oUw1+M$4nAhndk; +m<&D2c(LnH`BVHSWQ^0kUffdRZ}OdhDdGuYVE@S|DhQD8LNC;1L)G0>O_8lVa5&2U~IT*P3y +`&Hxy|*BtAig|*Cph+Z9KGn|cvct5e(4jl*rC=FXw6^qZ65PCi+BcNd$E7M`l&@cJgE*!ieh00n`S?T +pxL1Z3S^unA5Du(;L~s=#RVOBcO=m$aOib|xfe=oa}EU=4u#CKG6uEGal#}HQ*{`3d44Ireeueb?IZ# +TNxSFi<;95NLmYDio2&pmfp3y9CLhFsqI6^#ZsZrOj}n$u5zY)@pDHd%3IZg189Q>&8L8}(P0c#)m1T +W`kJt7b2f@WH$+lHXN`p#1Su2T`*}H&M?*tMll%gjQh-+SAlX0WyT+|fN=)~!q&X%Mj0}lD>pchNcy2 +fAg@QaN<|AJ()OARrkXh@P}_jLADi3u3h>0*+^>3zu*#DF6R{x8wJ2x3Mcp3X^2mH-Vl9ad^ac`COUj +&nJcndo9ELKYAOD?r@ZsaRK=gyiTL`9P(9ksZx6>tUs^h}Pi4f~2Uy-~)D{0|7C_m~ycCZ`$Q_3;~ZG +*U5;$mq7;(VZ_3K5Q1*la{Bx^;fd*MKCojWDaN7$gK)<6CX@|kN_to_1~3Gc=pylxp5-rR*Jz$&CIT~ +xIys?pXHfBSVY5E61#oGJQOI=$uIm#S1Gbg|GeIz3izz&NjMD4yg~xp1b$P&h`{DZL{pq`N?-&X5E-d +aj^9~2XmB8Oqm5UY^bezPfjD>uVNZzbotwmgQD7wgC0g!O(@Ihig9;JIh=LBzWZZ5CeWVFtAp1!>z-d ++u?&i1l~`Q7^q*|fdE{4+g(4q55rD&)jfj6}1KvJggKopt-9eANlJ9U0mH8k8lf!;3cYRBRT5(!Yaxg +%bfrU>)+=1N|}dQ%9vLh0V~+9{4K}O@f+4S^so`NhX*E)HMs#i{DQwl#I`NPyYSWgd3hZo?v +1VApz;ZnB~;o8!_>XR90}cbPh>Kq7mSa+&w&7hv;%(>ZW}jH=`3bI!D`;P}V-1)4JD +6CNp^!1PGH?)LC6PFY&iNsKX|u%C=GIZVxJFLuHBJ;^;F%z#OnW?DIe)UTi*qw?9unzqG%zzHv+)%x9 +&R2b{a6jphh98+JHq#iU{N=V1QmNUHjJVl9SkFugX)&?JSR(QPha=WHO}Es>^Sn2BNG@7wA +e@;P=>kewKoKqxqSHl2W|_BV4$Ko=_N|I{ +>!-aE!fNpUkR`v~Qbq~VQ2dZ@*fI})Jimy=oAV{Mvj6mP6dOcyvj*0!YWFdfE&J1$-UE}uBAGTgib7=x*n%UypF?^W#WxdfFjRnNak +|XLT%9w+BAPKS7O?r>&7;2qdzr<7T{FRT=Is21$d`47lm9j0PD&N`kmKIO?!w0?)F7fjG=~M&I9aUx>>J!=C{-UIx1WA_T?0 +qjs3P_+w`&d0jsc(ONPKhG>;MO3;cvQ^URc0iqe>i=qR;z2MI~G+mtg|!kC_zR&pf^O+VeytWYsJOnj$A&3dRU|ueY +FY}DtC@$uHh-gsH_f4^T|J;@u1?98=4=Axv3JG6#d5+unFF=rjY0lxIZ^^fnyqCUO|y_ijFsmmXsMJf +b7O-?K=|oiDpIM^7yvfx}~)kG`Yg@FbezZ63m;6Vn+Kb+00;6?CaOo~lE_zoX5$_`wDQ_$h +RWyNF@r&(cdGeRXyN=lRCfGcSwrC7A}1=uv>+T)DO<~`1;a4Rql@T1$M)MS7Ti-fp+4?mja*yh{Wzr6&4@1wW_LzCa8IKr*Ml||||d +^-l9=ycv@HTx*3s<3B+ss2;v%A!ULqf-TMXq{{`s*Bh$aG7C_C32=;G30w4rL$vfmz{dTCer +>kf9+v!0Ch-h11)I(<(|mvZ}B!aCt=tI*wsmfz2)PnC5WKHZ{ew9w#~50BF@6wQe|Z1fSP5?;H!M)L|rr@_QmYQ3t;P!EZ!Lz4u?rU2Amqiv~2EKAX8z%s52b>U>w`f{wsWni>TudiK)+G+X2Yt%R_TwQqHZJTkG +akV8HPvvDUid5tl|{5)aS|L~z9Gqk>DA{Xl8(6nQhFfdMJrg5L|QIM%c^ +C@FK$juu!D(YY_;6_|d23+b^rW-}@%eN|~=j(l8RT+ZHqXn5}gca$mb<)M3hB;|K=Di8%0*c#+6pvJI +>+|ZGHmkF84c-Uc}I1V%ZGnXFO9vlAa_{C_0!o!}*)T13H7;Fe2My3+`1JE#5S5=j=qHtB4Ldv%1X;J +{)pgc0mPd+HC^A}>sF{UL7C5}g=nKyzJr3hmqR7@QTuFpcj0^1&=vM^E#>qu_^V75Xdj1u(9kRz=L=F +k^l$HT(ZATFm9mz*pla@mNgSMMXl}@8!nYs@J!&=dJKz2*>Z#UW--u;pXRDEqHnj4i)|A*t-t*+n~Q7Z&#C#Z$bIvbd(l +tmB!V!rmImY89_Ai3n&xQu~qCy@+apI=^`pPk;EzaH7=D{gj4ogyPN78p +m{!I2@D@YOz~w4qRZGe&Burr?nRTUB7YmuOW-oaZdCq9`l)KuC=nIDk;!>&xco9Hi3$E0&bvRY!Ixen +GWr-T>!WF}t^LLjh6@QJ>MfQkdG6yl17kE))(!%XmR<3AUjMX%4q;%eCl*lk8DQIHec ++^!FN7fjtU9R%y%Eo8e8*-seIuo!|erKQbXu&bcOx<&z(oH7rqTMGS#asrcgMe>8^!s-j5=W9b| +k`=n+&r}tlwZ`G(a=s3$|{_V@}{waJ2Kxe|}Jl%)Kfe{31}`k?~U>v>opJFbW0bZG +NRyAw}$B(%wg?!*p90_h_^hE&YsDRUV-+8OX3U`if^cZ^HH$1Xt2Q`HI&Kh-3cS5i?dQyMQyvmgF@>X8vRK +S;Gl=soT*o3#+Txy`k-t)0@C+Rnp$a=01Wk-ts$4P-VCaT-kE`2j +XRr%2-Q%YsLn42oKA7WP$DsC3E$mFiKF+cg6*E}ktBF?Mwo}HDorEr_}~%Ut& +oYVVjmVD63I>0(2sTrw3>ZvgB*7vE{409Z-$ekGB7qX;esk>ZvcWrnkrWWA43^2N=P*p3&h07tHTu1C +>H<(QO|uI6Oe9n{ug*Pt7NaH;(qg$tFMI(jIK~J6&oXs?NI}!jX4d9Jo9QWAsl(@gk*6Xgn_fUjZ;Bj +fuu8Rg%c_;ITtjotF>IOmioEPX8T0#DSKrr%MEqT*mPfMpI;xVT||$Vc^?KtFw|#xYDM{<9PM +Q*Rwpi<`?L&K9w{dy&w^+HU>>0DO5Uoph416XM~8Ik0ym$dd0Z0~_}NTtgz?(z;|4#K?v>2g!`46!!@ ++nT;$~a)vjW|FNkK~&AIA+=d=_?Gzsio0F!P?; +$WC1s=iO3n*sMv(C{J#&G=R)2Z`1_=*}_*pfl8l9rD`U-i-q0u^}%b#`Fl!{W2As`1*k7Ew)!-a;%xf +8WPy<$hb9KHmEB2u9^x*%~yO!vVt?4A^Xl|0$~EQ?AJ%De?X`fViq>>65IYwM5Mo*fH@AKU;+);fX^Rnw;g-m8M~NzZNuk-8`>#Ucs}3 +DnxtAUGlJWT43DlbEEov(6D7DinX%*orL}IX~ZTlpJ%w@L~O#9F%3y*8;i^JbyvLTgpgB3 +{sjX|6rr<4BECmhK`wTs-Mq07H3%&4W&?y4Nh!KV6k<*lN*ch%({ +ZZ679UHE?3{B@I+CaPci`j39-Pu_9Yz|74(=>km`0D6*X8b<7vxe)A%Dbp$;y+H*>o5$U&nwxj(qD|+4o6Sd8%r;+>%qker*J3&`@Q+)2Xu5B) +d7v&DY#unb^I7ez%Ve6Tcp;kgt+~q0dg$gdC@kq|^JJ&5>~_LChn*+=dZ2027L?W-SN^y!x*LSw-wi% +D{O0~SBYnHu4jyvvQagf^%(Yc!JX>N37a&BR4FJo+JFJo_QZDDR?Ut@1>bY*ySE^v8;Q_*UJFcf{yR|NJ@1?R&a3mt>fZD +mx(<_4vdkm|L|788lFtAD@5Hnuux?}HCF=N`^E_nIl0<3tJ#d(GJfv%HW>yG~98-GV|Wv#^2{A=!aQr +3z0YcW!33XZl^!dGv%3%LdwGgiST9U52?~r&_82 +PY;3?2gL!7>jFNhk!~kRj3=(+jYvESjKdvOj0!!8RRummDB-j$4Nq=dr;d*8=fablZ%DL%P?180iSfl +WAzleQJN9keSa~qUo{w+uaU=z_Pi0kr@&?!g+>nGVr+=C;4>m%QQ}a1SZk#+)UP2GmgS5*qbPe*Mw^C +>2eD1Oxm-Wi}TDKq*8kkK8sfYEVt9I-HT98)tNr0_iroRR}c0smk20U%M88cVMdt8?TZ8HITw4G1__e +YRI$sJ2U4aL;G!4-+uO>iXchjk?=1-epVz;xJE_D>V~15ir?1QY-O00;n+tx-|ZrU`h_1ONay3IG5Z0 +001RX>c!JX>N37a&BR4FJo+JFKuCIZZ2?neO6&lXaRYo48k0m601%d68w=iTKqDW +5b~UrV*nj!6X+8(I}iG=>1RPtB=9LVM{14WF6F&^d2yc^0ghE?5GjzJsn?LNY17YVesc?XDo +tYKgd$qGcspBrg#RfUDb`Mp|g{bDPF;D#r0k7K_@5CIk_nT^re?Lt*yrmA4O`=fVW$?GE1nePjU@x=X +*QqM(nJ65-rFzBwef%h~omg$xb>FHN1f0j%wmnQUb4j&_X2clid-RT#6luCu4UBttQ9io&xL?Vj(H~- +$@fosLa+r5i<;oBgdtJeu#G@fiq{~08&d +&=h+EX{KModrR%on--jHA`I70ufw1Y9qKBLxC({U9;(xWV&8VrE?0JXV?IN$LI5Mkz5%F(rpj57Snph +=zR*B|W^s>dYnmb|%ZnZ+nauPwz7j8HVLzm*C=T=M|D7ZKHRRe0xeuj*iil|fb0)(BHDUC_6?7t>1r} +BOzCTMUxW@-Z04Yf&)OvA;kHMB?r@r0)#or_`~fDb$mAAE3+j|;K-1vnuZVyLn&r^@chn}2cl;z0bvh +x5m5g1)q-RUIxyffBr&?vS-(exjt1wdckRy|ZK2i!^|J#CYLTDg%9MT}{4KvMUxT+RF=Y-hh|qQ`WEUzevs^I;2bNaB~UidFu$qr}Y6X=gOT^h?rm9-+#V87vKNMON@<;3KtQTlk``v|09Fgv_4wdKYue#2O!1=GosYw~3cym5ohPVrNsY6wsCU%sYjoH_b{futx$#9%Ff)g5gnNp5Zfl=_+-!H{c6bc_~d<$I^`D!&kc!JX>N37a&BR4FJo+JFKuCIZeMU=a&u*JE^v8`R&9&i +HW2>qUokio+o{*Ig;H30fwE1SqscXt%ZIQvMrY6Z)RQeE$+=rD_uo5`Ex+t-LJh}Bnpe&9%xJ?f{0%g +3Yk|-SRw5jvf>O5HsJ=8L0M=H351q7HU~Ul_##`u^(x`$k41<6-om2*-_A7nVL2yvAfsS`s!CQl>Wg; +sDhf$?$D%lxMfxe=c4H3M48~}Yg*&cZPmoxm}6h6|<&FFNN2A4(i9;vMYk9QEBot1n-orziw`hoyB8x@ +cz?>PsQ%->)oHl-yg58F0cL|R1Rm3x2{~y>)OM0-w90N9oHrZf}&tT6a`$sJ}eb7gM~%C7%&M_2;IsT +Cd|pE!UH_ljgukd3mXr&5GSyCbp}VLL~PnQ58AO#q3IRX^@MbeqEwSe!|vUsHw@fj&?xTiDfLHpV!x= +@tj1^y(Le2XwyyB&nE5N%k2K7qbk=88RooJXia|)0Zyl8&68(9r9>04j$Ap~e;!6W}}7O6km2Nt +6BD(^vDrKF|H$btkD7I4?fd%bkzXmbJAs>hjwyl$mJ?`hzyZ ++{Tf0k$tJ$tu*P;w}%Tyx7~;h@u?6hy4uVqs4do(=Si(IJ%?iA7rL`+Nk4Glntp8W~=XCZ!5RKFsz<0HF$a|DFn{gJnJ-sL=&iwG$PAsOUKhvh7th0MXRE^hDC +VAF{Up16E6TC%@U9wWb2X1B_(Y%5$U)(=83y7JWBDmf79=n9{Zlzh=o6w7=-TsFhE~sCuLF7Oe*v{g_ +3V%%I8~T!+Mme9KCEbEkw!xi*#$jPMguybCz$ZM(ZRV#lU{0p)QR{JZpZ;2jy^k>&`!%|DldEs-sGQt +F`1lk~(`mBHCp!zh4K+s|y=AQHkOoH7u;UHFQTEUvYt7oDvrQIxD8>ngI!6uH-mgxeP_Z&79ivJhXjrs#ypL<2-u;*9vEG>$L?!g4vV +zDS|sucMwnbyZ&SlxaQa!)nTO1;MOk4*(W!K!FETQ3NFz>D6H7Ef~~U)2m~-7DK*Hg>QO>m>i!A_; +*CIos~miT3|r*{QXEj-oa3Uv0v>&ZrLv;f3Q2nqOR_MJ_(9eAa8W^H1VG`oC#MNY|I`$JEwIDbYlg9f +dZ3mfHybzL}ru63gQ3~9DK`Ggyq{cNt4qJv +UYlEg-fzAJtxrGU+MJhxS6>f_=nq_6cD|0BI7pjj?1foeeUJV3&Ss}Sq%#Fr*hi1kg?L~Uhu1Ijv9*m +LSp^aF|C?4xJhN?CvrAJhc{4Cbb98^oz2Om=?zoGEv-9PauAE4rK+BQue4I&RDs +%QR=ApV_CqK3xFia{{zL$3O9+R9itT(*}1s;6|fGnxrgNZoFo^9Q?}Cmn$Ng`Urm*Y1pCW@b5L#2gVvp#DtHj+gw6;IVM7pdP0pLLDtM?FW)PWoh09yuS +k4N?jJxDum4C7CfB$GifpOW*KDvYK25EVE3$+uvTUp_xM`xIfIX+E;7L?8YDRAntJF25nMO-d6M!@_+ +)uOs6@{7z7Gs;D;i-ZIEzPyI%t**1d&-++JsHLkzWxS48c`KKb7)UU}?plZoO!~08UlHnhE<*qxp{1atAAkxNQ +c6~8Nan87GE5;TLL~1Q9*kg#7w*o-kRKR7NLe<`Yw`)|MQr6@Q(jn^JZTjsz1%;XBX;ZqPWa7F|p9;R-k=vqgeS9edf7NE_K<}4&HVyXX(r?Ky)WXqvd?E8*9EQ00^pKoYY#dps`_Fl) +~UX`~ZOnWmM9Mm$Rm`77kV;mimgtT+;x$~jIs3j9SQ#N#2csq7MacJDlsP)(=)GztB9Omf)qa@WT+hfp43`bf$hD{ +ovl8!~Z+zu~p3gsi#cQZ(2zLXiYa%IP(%{kay{XbZb{P_JDyZj<1nB!u2d)TWV&wk`eR<%*c8%*frW2 +yiBvM5O*yKp%9B!P2ucZE2%4`QlF2XmvI*tjG;Ju0VfvpbjmMvjxgE4wjm2JNnZ@dAloFtH&Jwj=Rn9 +1%$*s@dYiw9-S`VK(RD?L|Jx_t1D7<(oWC<%^@aUdbj|jvKSz!Bf2)!xgWw-8|MZ>Rsh7SBBEAs&Gu> +>wI{K$Os-O>D}~Vo*{o|EH3I0f0b`I0{B3H^0PGPmNM12}HCE{5wieg423P5=3@~X8?z~$T8J;l|M` +$JO}2EPaEbpKykOAMJxRO#oU+R%qEV9JktE8$=)Y +vlLyU=f) +R>7wH+`PwP_fZb+*51*31o&Mcwr%g>E8qZ;~QohJ=f3;b(?N*2n3zChV061r3mWlP`rHC*b1dMWZKmf +I%K30emcaVF((HhZ=$~0K~Otmk)nj`Gm>Ro&@Sp~h2`WFyO$esmj4LlZAWjp=wzJL$D^6~(j8RjUj?l +Kn9{$d20Odnr!y6-H2;Ue273+j{PFHA1nD(UPbbaT^cA@2!laxbWLl@_#rq1&0%p+=Z}z5ioM+0rZg?nl-t&N2?D4z@*5}H)TFFv(W)=NU2{VQAk7vrq!g;1^?h}tY^Z +2CCxzos#%y81wHk-7twvDD4rla<6yr3gix^b!y~2B+y6 +Hb)c;5EG+~qfm3mdq<{THDdNSviQnyhCzS!>a|IPjDlpD*So1m1MK~O*`Bi8bbBTNz1AVq$jj*9Q>^_ +DP)h>@6aWAK2mq6Fa%FRKUt(c$b1r +as#ajDs+eQ-pU4O+wK@c%jXeU9?)PN7?xJhfY_2uFOLEtll6}gf&rnoG3X-O^mzu!0e;6tL6N3T}_u| +#rbcIKP+GP6=G*<>=SOjU}>gvn*0O2bllC$&`hVBl{^BTA!Gro#=r(SsQgYdOz(76`8{ez>@NJ7%ev@ +hUSDnVZRi=V>O&v0plHbcHP9$(_hkRR&@$*E`SRqEz!zXdO>^z3>GGw^uUDWIjKaWs(VPZ(Za`DV8EP +Jj3+?Ub>KZE^2;P?y@Zz1Q#WwjVmKF9Vcp8a1++QzqtJVU+=H>FVEC`4%x!`xgaD`63h^)d+C-^CxK| +D$|W}wEq@dH3CyNw?eoir*B>V5KfXNwY4YaX<>kfY4=~`Y=l02f;bXaWIh^I2G5cO7X3Tz;+6)G!+_V +<=7%fqmD*2KR?y;Yh(M-+YJ+ql8p)C_-sY=Zfo@3oo_#GEgkD1JqtV(I?tBp2d`I440xC$6uSl0GVJP +_+d6o$RDUqH`^6Sifi>{8`oFc`q)*hGs=BxVu}JxMaI^{6NX1S&;3W;32;Q=Z&Lj?F#NU!1U!^&k9+* +rR{Yw|y$|L|G9}$%NdPvSAg^WG2RJ7}gBOR*-1m`CiP}O0ZPr4-C7_)rzeaaG;tafxw6b!?(=GxFK>- +JjgQkvC@V??rJH5kVGpHmr7`2sH?()U*!_~1i{8CEr$YFOkThi2ugU)o(S(|ejmwobR(;Qi(QEt +0R_qmsRSPVi(Er5HT?*dJ|hf=L;L-s$O^y-yhN^193Ax7eTK--rCy98@<2*%2$+3#J<8;*U<;X|oUo)SH4T%32j0HWZ-N5Om(L1m=Kgb~@skv_Gg1ek!fRDV`^y;$bt= +n1${gz*`WW)wJi8+2#QI<2f0GFiY92$%(!VzF2ka1X3ZMaDPy7AS8CwvsM>5r;sxl=C@d0iFj=RbGOC +2zMQWX)1?C;*S@rHq0a70I4@2Pv8@L#-hx#Qt)(BBSA$C*+#56UB|T(+aIu^V*3%1MLQ}l6IY+5{Qi{J?&pY^l_cN{9|om7>s(Obdzl+tC6Y+!Q^wNovAuPsz#oBmymp +ylu>19cG`vC9k;n0%TcsUX>8spYxgMIrKWiy6f{9Nae@V`8|Zz9g_C2S%wvglZ&6+a8c$a7_qcBT}2V +#qTXtvNut2kS%R17bHL$bh0BE`N?6+b;d3(Tl{R3RC0+T&3^LnbS|dE?IULsqm|7<-X|a3z=;TL=D)TX!042SX4`-K@0>UI@!BbTkdn}h`QB$DrRH}WO+bnYmYCPd+f4phh +Q#m50xXtY=QSh2p*h?eoM&4257L*5AFfGE$`uEH0pv>T2tJeGd6eG2@3cb~I-!owEnv;fhRWY`eK~H7s^Nd$9UmV*e)a6>cj(hw +m)~|TpAGl)g5UeP`r6xLs~!CRRM0#&5;*N +7HIP6}+q?`Mcew15<_>AvKTIk<~v}zXC`SV^8)EIqW_B8FS^|l)9*^^AccMEtj@TQp0Gw%5Y3YH4hW3 +I6`S$`Jt7aU0z)|oM5L{Jku!Dd5e`7tJ{N0H?OlC!E7h+xe9f +kgmh^&vTKk>)y`fmX4H8J>c;ID7h5Q%s7+0Er=u8Wq*Vz&b%X7YxOoiPqmMgLat%j~r1e+wLTRixvUR +9Po7=M@tvY&(TvhXhZP<~DF<9CihYrT +=h1^_?oW?b-dw&Pi~-5Xr3vlf(37mFENoGIVfeKSM3TNL!ybFI8G)qCF`Eqxj>xk{3)>r90fUpi8qC- +N3eI46*d5O&pwI%6h9H-_s|fdcpo&*~Dk4g4Bg +~qorp;>qxNs>1{4UY4OfU2YK40sxtO&(;4>l`0W9pY3L%&noHMZ*;`E$66s;nvAaRMPv1Q_d`eAx!tt +`NhMmDCaBR;_{rfbd)geA#DCsA-?Ysm1dK7k89n>O>d;c2)u+IE=Xyd@wzp?#moO~Q!2p{(LFYxD9!% +B_b#164v)LgqmI&EK5xmIrIxRk@Fr+D~h5Uzf6A151F)|C!7L^qkvH`cZZZPQ18;(VY<2Ay&5zP)Tt5 +on*VriD#w<_s{~CH`uQ3p|&YJb2( +ACb_M#$TMhnY{h*`sEcg_}wlYs@ZG^Pq3fBC@6aWAK2mq6C@0(89qtS))}lB=ayawM3+d@}dcmtEW0fS$o{|fGIAm2pHkqU(FEc4AzQ`I<(3-*v +UXg27zoAkxUL}*s&A#i$D(K22Iq;$_Dai!Iri@5hXCiB;eIdCTE7xO5Qt@U|QChHSM+$yll{_oR6LOv +9x7m(<$Etz~l4o_cVI^yh(5IR;q^&BN!#py<$|GTinu`YcPC~jvmhV|b#gX8;va%$sk>n26!UZkNvS^ +hvDwl*dc`}(!r;~}{SMuEsrez9)!&MdIKtJSEPpL<^7J`crG3yde;nbu$3`l&?s8UL{j7ri%4rhw{9hGY%?rkO9kvQjS9Y^%{>>liBmp9 +e`%iMV_Pbzjls>?nMaI>*Az?v#ht)ZYh@#v?lt|bWr7}P)m-a0(NP8c4TN0DMzknVx7PWDzz6KO0Ub} +FSBk_bSXGm4O1g}{F2OWLUcn3`E%4b+YosH7f$4ymEGLVxDXZSBq@KZmqI=Av8w2~gO?lfCfF7XWdz# +-m2CPoi>pLn?*!pdZN!u_`k%k`Xv|vuP@EIP{ThOiO*oN#_BPecsv6x +&Gixe}G)3I?whYkB;fl`W{DdmoPQv^p-qW@NJ@KPt1#$|bpJ>yl17k{$*C!a450>?tiTuw|^fF_|V4J +KCi6vDtUJd!rh!RofW7-A$thmh?(LdRqK328{sg?rhzoywPvQ8Ax8XC>#ZsmccXl{u*E1jg!W8LE8>~ +Zr}}ooC2%kGTwZ1tYMrT?2+xVm`o<oO7$=FvIUT}p2E6d>qgTJ!gXq(X}(ATJ_X&96okT>G@YXnEzaFiAE83hb249$v%is7yrS-vYyr +IHk-0C4Vv;zXi;f0fBz7Jk9b|}uSml1#!R33s*l*QZ4it2-=w^$$sys#7ic-$=61=r>rLoCtBU4LoBc +WBjgH3z?-t`B8yrxYnFiI)mHQ`&LMj<$gR-jf=aaId{#|nrS%$SK4rA9p~yU$4+hl(%5X$) +G+dwU`VtyfyG`&0$-9JZ$y-_r( +^!tgx~YE3h97_`2jo5y3q5MB;vKl6_bO-(r@o;8Isi53sfLrP$i8W6dH&?djy3ysgVE^|?P +Q)Dj`i^glM<%(GO7`D?6jgM$3P*LNGl-XUm?RKY1n~6l%bx+m +8J8@@4%nD?>&yGl35PU-eQMx*vkKaE^`P3!3q*4vyGe&y7)+HRi_(e9!O3Rt>yy+utWUHSv4F1OdYpu +x)>tIHZo<19cZ`@_*sOiV8v_xBPaK@+eyvK4q-Zkj3COD82arwX!FW;4O*8Y__NZA(Q_Quo;s?<#M|) +apzjc*=D;7IKhMrKEjAcefLSZL1K;$WgkYEZ7O$}a!V$JT!oK-kBZIzq^8)-h156;;gKfbq8yX!;^-9 +Nw#5ewcUH{0qM*C%KB=Zgx)qIT)X#1_mQ2p#XVC%k)DS_z_>Q-!nc(rA_7BhHo%^w(z&K_SK;}bSiFy +Y?^6V~={9bQud$2Lb6uVieza^&&qkmE<0rfLfe3!5t3dCaHPdV95xgAP!Ul +Li?H{VbiM-sTx#`;?u%{u%4LAkEqPAi*TI_*ehL0F;fhZ#0NzO0o3_!|B}ZiV#B@y5xt~E((Qp-Du>< +zVo6t9Tj+?4P(5stQ+wSV5sWCdMi4GZ_YbGaH%CJfrgr%B* +Q9Qsv2f-2)z>;c5Nz&EZFkVeXj(2kZoQPiF!x!7jc81cb2M3K)cg^3LuuR^mjGzE#-3s^|TKnb_4vJ= +PaJ|6?Kpu-f@o%RWqXF0=clG~SFGN+4dbm`fX?S$zcC{9(Pme){aiI=xxHyuQ48o!-2?UcbTYLU9ag7 +s<1qu3lWG>sLQ7BQMw2&(|;0U!JemFVc&r7thzRPOsPhNEMgm1d^}`+72!w%}bh9Z9T_wr!f;}A`t#5 +`+)z}@-87VgovIChXJr5kPfpP#EUywpjoR>TJ0~z>^l>hzA))EY{D>Eb#R~Bi3^i}&+V6(8IPvzL(9e +)H(0KYi@vYRnoS~A>QMr&&l{V|b@+2HFyRvY*fSHmDCl?v5Qo7w@>IDi2IOH%i-Bj~sFnWr#S{&oJ;M +f@Rhu2I^Mu%=qj;bJPci#fmGh`TTxVU7j@O+-mX9=`q7EZ6;A~3<&ItV~&+}H0drU~2Z>@EW1QX2*jRAo^64wV}D8>&|tV2Y!2x;*$;IyV1+v)0{7e<7bq8+JS4>s&e^0=*I|s$nU2C5dnljlH;|CunuD+DRR}(uFX7$oq{d)AHr@CeHb<^BQs@^mnvOy) +9AJL!#!tyE8i5ObEe&l`(3nAt&DB;hd>dh5M=LZSGx$CLz2MMR-xhb>lG&=sbNoe%)s1Kew5KSI21s-E)*C! +Z36PW{p&2wj-za5U?*ynV9?$~x?T)Ky!_Oe=V{&^u<5hW_MzGcjsHXK-fB9xy(nC?>*qxB;qsw(zwdE +^)_;Z3>9du$;yCi_^=Ah;j@(<4Z@G}DWy4Rn@d1YDN**D;_x%3eN=gH&oprb-2&>xEowjsq6+95EQ&F +H@RkkAPTFXWWGJ5a`>M^(iyT8w#B7RIVOZi-7xpBd`Z3_{R52BPr`496OhhpI8vnY@7j7WY8qu6WGZr +STBal6&4l1P!TQU1sV!kk4ys_h4#DMH`9{wSeIPSFlpzWV0o+FTeQmi!%#lGfd5_pti83EgBH5RE4E? +0_E-p#E*;(%aU#ESJA_5x4RMFc}P%Z|2(E@Cs(s=CYv*mnmnoCArJ2a_9LoZ(p{ +Dxhid*Y74OlFsP{)y`-ED5l1e{Noj+NXKTC}tsKTG2z7JB}2deEStL!2?W%sXZb-JMH16@L*l6e1Pow +mDwaUv8PiTj3O=jj-8m>`cN#;0NnHQ(X2rr`F7`+lvic$wphGrU%Zl4zBvwExt{8TN!jJHAew@u0)+q +3)LSqQC%{B#4FP&q^fJF!)?F5lbHmHEFI +-g8lD98a^N07-qqZN~Ugx_ezkIad`Y5sE4__(=F1g8sNs69YgEu*IiGE1r>E +D2wXkUQU62N>qV-TA{Md6MWfVX#Mk{xPZXmz8@A^ +p4$Sl|E&^iUd@+JkJ*ru|9vwrxa-S6WH^fv`3@N4)gUt{qDFji-lGcSvTahO={hT7lpH2;;!+qz%;(V +fR)>^bHSjg5O`nHEQ;jx8%^uM%6Az){v5BczYGERC?lvsN;7v88VCWnS*hIZ6A>x#j~m@9`wViB(cdgVV6?c7k^DE8AqRmI-lF7ORyuZ +iWrNsUgN0O5BTYdP6P^~7`1?Q4xBHyPn=QRae&{T=v>bjPu>?GAajjjV;mQVG>5%*lTd2rjJa=0Z593fSqNbeQ1JWom{qq?pR7$nT@V+%bgn*ZUPd@ +#paQcH6p_#?a6ntH6rg67ZdjFxqu;G-{kN1fhL{c!JX>N37a&BR4FJo+JFLQ8dZf<3Ab1ras)mUqfv1)a&Ne?e;rf +7Gf}1k?c~IN%|yoZfsIov$n#yMvGVTFK*M9Z{OVCy_vB4S9cHbrF&FD4Xe3IDle5wGE`=ioqJ;^Y<@ +QwkXFL7o5q6)^m-lEMro>ffr}as27^p-`05^fw6JqhaK$q*GRuF7%#UkXxmYm=ijfm)71!wR15!X-v( +cDMU$BMIV!vg%bOK9$UX)4{aE8cltu=N8p$*TK)Y5GN*9pCFl{z@Ba;IcCZ{Jf)v@ICLGcTV+G;`E9w +_|6DTarFaqgDkXiLV8zr^F4(o&;B<*@jzpGn~GA_n+BtvR8<;dfyhMv@+vL?I!GVR+TyT!p)pO)aSSr +^XQnCnK(XMfPYP1hs+Z>CLD7&&y$Zo`Rf_~(8Yg`=MT`4-d4(Rf9y1}EJ>qf2$1+|zb{w8S|(jMcYUB +>*tsDbCeG)k@;$b3pB}v(OZF&P5X3?82CuK{x6uWI$4C4rW<(ASUvlNdptoON&MpgD?6XM{Rz~g3jr- +?F;bd!ZVl-q!_N)(M#P~-&&wT{CBuUt?uj5wcegpB(+fYwy)^$+5XOJU^VFuI2_k7Sfe``5_u-zbSZS +l0m3$_$1WAWIrCC?sR$umk8-Y~zRO(X@4g$X0oD8;tih*mfvHBZ6@)x#m9az+Vz!Z<=0EBb&nUvsJVY +-pz{;fCS6B{{U?oAbVphsd?PGgzxP#~no%W=r;N_>*9qEfv>~%qdRl8piXSnaW0YpO+c0IUQ!7my&J?f)s{JZAw_cN`l+<~| +YSbnFE;CbQRI@#r0TOqj&K45Ph-hm{RSH%+HZwnIbCUCQ!%C@*LsiBTij*T=h=6B->6Fy78;z1w?rBb +Z4IM9>=X0nV^KSU*hjf~C&6TsV!efFHi^hfB0t9hl6$h`qC2t!6dv_A?_PPrnH&(MVW +#c?ve|v4J$wotjfkh)S>_Da2`-2L=g{;$%)cs&0^~#KfAG&Myp&L#Py|-8F|0q?pJ|}$HD%3Po<>8;6 +r=n&Dgu{ItZY8Qqtp&UKcUP(ZUJVlfy5N5F?3prXAl+y@{^d+nqqG~kM@@VmkrzVygl8@T@H{U9<@wz +n9~j{yDRoe-_#nN#(>g*fM&=To-+oJ@Q@9B;V?zHrz{rL29D77DJ=UU~HNquF@)tM1Ym{8?}f4BG(-G^Nm?Xj6)g=#HX~0=*d$Av{tqtl|E-m5=el@J*s`Ke094~*A;Sw*B89rB*nIKj-6V36iAb<}g(|9{K`vdX_ +zrjgRJY;^eJ^TRdyJt%E`_Ju5*aLd)%(D*OFBA3T46ZiYRh-7(MN+oXEm;yBeSf59qSH4G(z#JR3 +pZ3r_Pm<(U1s9EctM3M?LagqqJj664fZqmZPgh63A3V5UXd!y3GthL +0+*&F&e!QO~Sf8Oe3o}gNCs!d_0&CVnIZ#DzrZYxLDn5p3~`%l@z{#^Syxa-k0urHd|xAqPr+&<*wwj +QkFC6TqWG>)4zQDdA!@$eS~RXk3$H(0K*q&P}n-8H52L~H2bjpS^EGok_#aS +90|XQR000O8ldVxv+pKr?eEQTEgarTq1P}lKA^-pYaA|NaUukZ1WpZv|Y%gPPZEaz0WOFZHUukY>bYEXCaCx0q +ZExE)5dN-TLAW1e2aYmqz=j3LfG%CuU~3z!>xLo-1X`jjA{42KR6Ot3?>Ulkq+09d`HN^C@9yEfbFo+ +?cf5GyTfqvW9hX|_E#peDR<_t`8m>#5EO0J)!G5g;tBg`+N2iD?v}3k5y(-y8uue4QNtBFZ(=>v$MuI +LibHv!Yz7rY5H2Zdc$x3NCi8}AK+qa@TFGXdqZn&}{sOkihmKA;1L5tcm&Nls)q_ulj8+}1swuU-FA& +vHm!CE`l+RKZJt#oz2$pG`>6OIdMZ7=M_SKof|HQUv)s9C{#D=YzpgiZh|P~$i=6_8eylACNRTwW++M +c!~%)O6g0YqzFzq68}P4+{d@68FLWX9t?M2hpaZu7O&+XO^Ctmbp~HDPmLyeY8kXn5QhCl~LxLIK +SfhF;^6)=N;(qu5Szs*S8BvfW?7;c1E1|f2B@4G^nm3|!eXB&&1Q%yHJR~~JRn|MHY=%3NZzKPkk9Qy +Q>(@VA|CImo;qBYow?9I8HM4!0F#NpKsf3q$|4f=HER@VP9M+6sHn3cWze$qB)vc}!yBgtNrXxzaW@% +%}UWvTru3oc3acgrry=Jz@xo)4XhVV6H5yA%-0*6IBcdQnwrFd)=-&26%_flE2X5vXu@S1*G`xp*-80 +lfw@y=PcLzH=%g+lNyKDlH}p#^I@QOQ3keg*ddXMt~r7}tgBOA&K~G7r)rXd`?~Qp_~`k%CQFN5~OKQ +gm!-TT#eL7RaJKMVKadvf2;1Now;Fu7@znL9jE6$ZpvM{_w6eJIyx8tFrVCBP)|NIJ<$qXyIT@hTN3e +M>r&LFYCM$iaSa_ZO)($X`thkdY%TiQpPn5gp$spHwZEu)fdo4j0CST+K;#L~IRhIB%AN({@I +uj#3U;=)#?QON2Y0;Oxunn=F~!9dR>Cg5|vr#$_rs+@};`XB0_GPo!Tu@5JnxExirP$eymBc_Rfk^o7 +-Ck+@o|qjs{qGQ2!h{fIAp71uKW2GVB`^!k5VV9c0)82-$FIM6f#O_qxktcnR?~HER_8CsMMTbC7F|!6bM +uSFIJe~??U`nrPF$3r~By_c(^N{b15QH))saBMt6}m(-m9yxKuH^P)c%G~8ye&M;@x~0?H(b+=S|TB+dx!msU{1 +Uh1jyir&v7kR4fBi`a3OVZ1H_BF;MwqHq04&(|40JKQ>Fv?a6+LJn3tEXK-K(MMp3?hB)>;E{xXXEBQ +1Zz76J?7=@QBmv4*zC=z4QYPI_xlLVXP>9*bE!b!e*M4z}S6qr;1GJD_Z=Qf&@&MempAAyhU4|aT +_jjvfBbr`WoMVLgFXDkwqr1dRQ^`!oLPC$HN2-?Gq@N;1di=tiY`A4rA>yOrmFJk2~IN?JA7QgS@2|a +(0F}dBx7ZI}E=*%kb)=@3oib2Pi6+cvetw(O@(k(hj5OR?^%`db5e3e;boAEKP=|d!jy!SaIO+=*Yq< +50vFd_R4caNqN9_#qfH<$lb+*WBrr!&lm!yH{aC+=2iTTjGA~6@!eJ&9uVXWdbL^ENX5IsB|&KP1dKD +7k#-sHojETIUY&)@2Fv-f65oNtJLTv(7(jR-;kAJBu5Q0Uf0%E94e2_hgyOVaA|NaUukZ1WpZv|Y% +gPPZEaz0WOFZLVPj}zE^v9xSZ#0HHW2=vUqN^%Bz3m34g&@lONS!Mx?-IdB<+AA3uIcNZMHI{k(6D}$ +ba7*UnI&eZGi4W4J4Mxd%uTwN6%%oB3U+XbR$`o5x%M`sR^B_s%$jN?EBf7TQ94{f{TTJt(1S#?4#aD +TDO!nuhWbR&7`1Z+Gt*?bk0krwo0=Vp^9{GXLGco&yklrol(WIyjrcOD7h|^+C;OPQTJuV%JvCQSR&q$Ld2ODK@mkmPwuZQP?mymLzsoLvySn^6yLmgAyqdg(xXh +0%kIx8vjMS>uHI<5a8Gq5TVXE8jYj`2HL-Lv{NX;20g-LSZvy(2Eer?v`EE9AEc};*UFR4=GlIBb1yo +=p;V$B!~2Il*fP&LZ|1Q2!DrVEBHM~ZBgjFluu3F(<3y=`VLKWc1OMx@|!Om3IehUg`;)VKx`E4fV_5 +f}5yQQ@OpQ4Bxeu4;70=c!9@bZp!;s6n3;sph1n`3Eph5e2dtU_>19O17%jY)o#m{tNwNZZ&+g*8 +&saBd(ecr;Bpk4+4yXjTeav$+D6_y@Pz=wGRgjFAY$2 +?i8bW)jcl0NZWQuew3))slUh~_4Dj9xhIMZV!$|I0L+|&tZKO!Mzqf7T(KokXb0QlND^|{jh+sTILqg +?3IZWZ_8^kU|GPaPmxV-}e-zQ}B91PVh=@O7sGO57FUAt&hf`fxGK}87f%)~x}#bKWey*{MF)jdLtg( +t*kPl+ksBeiky#P;nI$JYA{= +8eeBAyZuB{$O$i&{1?&vLYQMJ#NXMCkR_T&w^zB!T=pB4(Es(dHcR#_6^YC`|i7Yvjzv#r}h(`9T-2D +FgVrVo7F_(Cn_PjA~lm(Gt$BEkYz{)>HCTUD4|ZWBKCTdq)+@9XPw#$?@Jg4(-5pzSeKWyt{L=?C6jF +Eea0$bWsJNTX)8j@Z9f*CorOt!Lc@7#UanV&!z4sn +Cree)&d&oQoneJy>dSI4XG^ +p8%=6YpqJ=_S@ +`6X7C_jupeO463HoXvkMRg{I`fs5W-HcuR8Tf65#i6Hu|~|?8lYQi@Giuq>;cNyygWnL% +acDDDV-`J?O%xk$cRF3HqaR17cr`dKP>hoq)COU?%?hy0064PK^3pChwqX-3Lw`w%DF)r=2pMK%dyRz?Tnm<__i=X#7@T6xtACZZERFXnrEN +V1zNo1Q}kss%J!^+D8l&f&4d6S!^|IL1_!q5a(6=k%7;-y|!OpU6UWa|8WQxlF&l@?BId|ZFJU{5n;4 +j!-$Me@n|<|cv(CoKaY0xRxiyiopJbImsF#whjgIIoKlEo+#-0TGhtWNl*NXZX ++pfDH@e2z01~0$bq4q!9&Jm%|-ikvL0+Fb`2-t_RzCiPr;jQDbWyU-G<>fuI?i<8Knv&cSJV)bf{n&C +o2W!=FyVsEx?0xv|^#*bR$7^ujP=siz!Fq0T50kHAnQZxqTGuE +T&{vZKy|Fjvf2O)W>8tg)=nBY_8iZm1N@jQwXW6p{Cu<7q!z_#B^T!fTc6jgR`_r99Z;UP%-!VVpS~s +Wz?eS3GB_9w5V(F5ZGbhqe^}|l!2`>Od5_x@ABZ=1QY-O00;n+tx-`vdc!JX>N37a&BR4FJo_QZDDR?b1!3PWn*hDaCxm&?`zvI5dE&d;>al2pqYIxbTC5L#=2~zv`|7Yig +R|f+L9;9E&1OBTw@8eLpwkgtJRMchr9dvd~tVo4ykK2!bz=clI<~j8jukKTJ2Frv)Kb0nIB +*@33~r5?8P$zb-SicY)gb4)~I%;!9G6Lk +!u5#_7`TZZ7WqdP#%T(^^8=bRzw{TtwZQ0>0>51pJ25A5YSJt(`0^ylN_Dgwj*$5fj$O*H`1Wrb9mXy +Y!A|c((X7J$&8<62ut9DL>|<;{;)YkzG7d{h&Q#cuhQ?vN=f@)Dc{W2y%?>nP`TFKZR6meo9_8)!~WA +*BIFme{L5x~&-7CRsMmj8Qa7cg)3wT*7S06R0!&O9?aO +w7{__x}8j>tJNu!Tv8_74HaRfye87mc)C8XEw>p>)|LL}yTzS9`F%S1!9RR7y7?C +th0D0hYFG5Z;c{r;@kVpk%)WH5~vbEob7s)#d#8H{hoc3F_wk_gV&Tt0z&m@$T$fia4y3_+!KV! +35$$vPcW|mkn;0{H>tL)0@xXWZJ)I`$#Zeg=&?=rS++yT!1?sw7>?;TDE5`Kf*=a7<+LD}N%plt3Rq> +EVKh+*x1oXCGb!rMI>p5%kk1M%kpWEvI20VG11@d2s86<$)((z+^5h=DFly^bu9}L-7?p?!`e5>c<#LBkc+`!sKf+s5U{8<&u2veiGEvMkct$lkx)F&;BHIQ6Gv@6aWAK2mq6jiqLuN!PO3F2lC3!fp#7H#V)OFB|YY6SW3JHv-WO0<(=+x3U&!I>fF{ZO()RkE7owF +7gTKuR~fHE@}W3}`#RdNWG^d+0@wswXu +m`G9@{HKuaRLqMK}+(KJwGXqo|;Is6qsHoic~3OJsC17ng%Ac86RL?y}tik1NPCJg6 +0UlP|)~(CQ#IBQ;79@yu6NHO4rTKV10OIE(9tFaRA?D1(0dLz8NAMqzEs!q$mqY$}O2p8ctaVSEU3*p +G-KIHAxsH6`Y2qAxX$X#_C2H8ZF?dEDqo`PPuUcR3W--32pkpOnJCeqITqdjVuQnMhk9KgsK)O6ol<;M3>@WH78w)2G3>0wbLvody;L_8O|fu57`9I7yPGv4r +71r}Z?XSestU{rObIVkM*@^hMD96w(C?Rv`wv$H;N~AMKi}Mu@sN<|3=av*k~O+vhCWsk5cflt( +loLWgHd<)?Shl8>J*$@61nr7^x_&k;DiYOo#fml!|^@J3FO0%yrzfABk<+&{<6rA&vx7uNo1i +CitM)JHCu_$0)AfMz=8F|Xx*?vwig|;1;uH$G!v;Fn{nNIHpi!oa&Pa_Z~{M +b%_F`D|J2d6|11ArLeTFtfV +@TM!v9b1ZgeN*a-V5rfd79&E)rYwwI0b$Ztb!TrEIyOf8pL+qwxT?zFiWw4L(4&70d#Y7wI8J%m8r9@ +fzR+L-5pRWEMy{Nak8*jsJ-voQ1xU;)+0eM}PxroKO*<50OxM~rQvaSJSh-5eA3r1A}5&RAiP&<7n)X|9{j2|pJ +fv)VZbCUHAqsIk5Ew0WeI@9;`I+_N*x{CUa%wm+8on#r?=_T&C5{$p^d_b~0b7c%9BbI$2ZiuSSs5fNLE&{(Vo1uMX2e +-WCmMmp76I}oEY<}b>w>C$eG4bSq+9AO=xb6ztzfG}nrr}ntgGqTpmr`HD->?+_j(mEaCkA +Zq%a4`WDJ(v%g$ntVM=zLHB|G_DZ$9FeO0jj9lc3URG=jrju%L +8$2#(tOc4W`>%PkJ4C27+wP@hsBU4k1L(0>Qaw@HBGctAq8yy{HYv$2=WVqk_uq!HtQ13C8G^YsJRzS +wxr|FH3J%`8pnx!h)~PBiYU>IKffrN%(Ht7G9NLr=z^Istgq`1bNPetI59SY#zN2KT6eevSd&i_({si +Xt|YzdalJjv-%t9vIFC)K0p*HL5fbkxo`C!pZ7V;2QxP9bASoE)LMElKo@Lkx8(0?rPt#lZbgDf*SHa`YQzQLFOBds3`yCDM34X&SPtV= +}S=$kfWFvuq{RvCgRvXz?T8GTJ&_Nuk9ES-m18EH-B=9%H(WWqw55>{+-Ct;4QSo8okbI#aB}T1r)UK +4DDOk4KLlfE@)&PxBknI|DXl@cSO#-_pVZ7uYGg8>HJ@6e^nd39bC)lki=+}yFP?C=AkZra4^c=aqko +Zb2Q{p{6>v95=5cEEZXdM(``-$BTTB!!-i~-Ic*d6@o7E#X-_3L3vY5*Eachrin56W-Ie^8ejG|O$1L +z~HPoZ3wmwSFTano&?c?$;}+dY{Pk!q6cd@6aWAK2mq6Eka1L?~8?BZ)C+9K +E7?YqTPm9sl$_g)&ol?x{^Ndww7wKL2c1OP}kjWsp4Aps^WS^RaRUXu@Qm#amN*33}j&$ybulgz%(vX +wABdNM)E{!xN2EbR?Q%-+Sjr}I(>w&yknZvO78cptpnHEy&hv3g$9N_yXVv}wdIC(&t`Yju2LIjdJPI +|K5$=Nuh-|7mxow-BN|=$R0Mj_*1RwnTO*B2 +MRT>JylzB#abvLNthrGkXfuU}=|H~b2g5`sv@C!x)X{APp6niV+{l^JOv$Q@If2kL*briTg|_9xMm?M +7^SWy@mBWVEuxaabrd7bK!h_WgR^sxi)IF{|4S}3 +-abYxsa{%*(oeVyODYJTAz^DI$M!gV5|;03wyHRd&sXfIiD*0j(FfMQ|^^a=WGPwZ +l~~eb2O>3>I$9&PtyKI7uZ<@NNLNc-wH&lj#c3aD7(Q~6&h+I+Antky!I@;nBtVl|Lu-i|C<@}LMRGP_tr0gxSU^N9 +@w0^(*2$1C!=2N)tPKZ9oOGKz7NdgzVH-5~Ki%Hak7da08ca7 +d}T$EHP!l;TlrsOj8_=KDUrN%bZ0Z7)?slTgAn!x?SNQhB{3Yu_rv+^hVDI@WB?- +1PWjI1&aivVlBDjr0+VeDyFS5V;xu5 +rmFZd2JQLZ%KgkJQ2FOShKrfCGva#M$E3!nAZ(i!>3`)li$>Is%>$j}Lgff$aa_ow2Bkx!PMKLbfStV +WJ54<^j>$@gOKBUe$L2iqM9AU7Rsqfo(k5O{=ugt +gKH)))}3)H8ub*#LeHlA*$Ce%H5k!|Pxqo+2^Zj$8k1{W+3yn8Kih5@&%qh9Elvk-x484pp#^`uyVG% +0Y5yF_0E9v$_VGz+hHYvTt4ej}k?z4WI;(8^WM-w24_!+fMdPjs4_64Jcaxv`0>ACA&co;96&g-@uKP +3l$DAPrKniQr!dQU2>Br=yfv%`ALY1+oR`XF)C%%J==1x6x5fPr98FZ3;$m)ls(W&I}arVGYXqmjTgV +dW5w>JCFA=ejD^u4;^1M@4LUx1!rHVI(o-{?R+h^p3|quN`kjKoWK3MA0M7}3GK$$!#ELd}83^S8>4s +^p0R?z2x!tLt$|fHh;Vz7gye@-wH#!dGOx+yDpWu81G8#3<0Z&U|_+H1OhqaaNxz;X+SvG790gO`eQg +9h(BG=NXtdpb)XC{#Rx@C9J&Co!03`_z`nQXZpMF_iog`-VFcWK|$MMG^!Vf)#g8BNb7*3+8F=JXLGyUo5Yi+0cq^MHwR;l&r9b?jD +e`4ZytdNjK+$jbyAB5oGKb=^^9)#}56#Sx5`%gea?4@B_o%>t!)I)c#OZ^0T+K9bCKz{dj;n$)IHqJb +=Tlb(L$Utus3cT?-V~Q|Po(UKV*|UWcM@z!>-t3rxqXRGq$^no^7@U@rd=Pbj6<01;D4ut!&=JtBfDr +i@yP0}K4Cscbm?-K4G0FX2Qm9i-@7G>$k!LOUa7qb_2;eocM&nikCgF0i@@k4%k%63X!tik^A;otR2G +yU)JB!_e9P)n5+~@*sxizTOQy55kp6uC}ZS~E`z@^$d>oAVvpqbE&%Itq9p0B%KaV#ZmuU +9^ECFQ8)TgyW>8bOq(+Ka$vycwobtfL$ +`{iL$IkkK);TtwzjY*h;Lo>I`8)ZG~HKAPdc2vG!p&K`H1+lLxL-bhwwuFf2F;D%$7TA|3E8t?9l_6a +YHE)ZbzWa*$WR?=wV&RCfE~*CW?+oq)TmSVl_y79@hV +dz&C0-x4c2L7w#4kGonSJQ}F&+2_c@4n1B|mu#c^@|1a18UVopSMDc?cL`_pxH3WT@xMHE%XWe7`w(P +U7GAofc~@Jt-1#_(c~N^w>Uj*-qQoKk%>d9CWK>-{o&tfV|@Npq0JpdSh9`VJkOIRWNrCRW=b+?N|#{g~osYv`|#M9EqYVM4tumXN2 +(rH2E5y7l)bfyXVLhy&Wg#PrT|4PT!tmTsY1I=0HiXzA?P5B%*+4o^O25RG`LtCp;RwDNZHL_l^il;+ +?r)giru}5CoXwbtL;cyYYva<3c!JX>N37a&BR4FJo_ +QZDDR?b1!6XcW!KNVPr0Fd7W5oZ`(Ey{_bBvcql9bwzhp31_V_wAnmqdT@W;Ffg%W0S~^*5C{ZOTr{1 +sMk)k9rmebk>5=*=n-aYriqYEi2lBPwgTM21OSk(xr3Ee2cTMcRVKAX99F1A}%Z~IrFX0yU*Xjl`ctk +xiF%Hxc)UQt%%qR~v$>Ih>za`ZA4eSlO`xdojzdtHk9n5=}aX(pL@Gn$aI-z9 +BAD($5bgzb*oTY4uc`LAFi%m-`-A%;Ldh;Eot@uvX?L>%h7_KJf)%4jH|d}D(i)zRwf8JlPgjSSy9gZ +gS4T#L>DB(Xoyxftv;?zL)94hUgLXwe}%SWTFCt~V*3Vz+6(>r>E=^<_4n(mf6{j!uCL!*|ApZ%CYCQ +|1V2_QMzEn$L9gQ@+=H&9E`Dr2Y@L!uhUSiwN5*a?5Ux+RSiUl3Q)N< +OT=6&d9NC3nCxc)}ng>aTb)2Ff}I&r$SpmnlC|m(TI?AbO_ko@IAIGirYxmIB_cGEJRoBndDU@g)dnv?h2a{ +>|f2yFU`Tk7NMnVDdOkpLnGxj?(0n(DH5>5uyRDlGg(hWT)3%U$qI9yOmJyAoe@H~X(w_krhWA9M-`_ +co4`7GA?Vuk{AJ}?w>(8`%Gp1HS<*#>$hNl7tcY`Gg=hL!O*Q;(GFsUg=nk9sy*&XiJflYgBwL&UaRkR ++PdSGip?xn~@N`1XG~IA>Y=f#78s`e++}jBn%}2LLfz!rkGg0*U_IX7%EgttJkd1f*t~`CBugdxm#1VLs=vpnu& +p5-cd&ss+3%_?b)*R!gEB$U!@J8U)XNkmA7#If>xr&X(~cOHiPMnu$@Qc@tZj+=4vB#!N$}OOLx_RB^$h?d19Gb +$Pa-d5iT8X$rgdH=&bcrMUcDt#MHsT1a~l6-s_@F2{E0WAW0>O@u{%JkTMQBEaZCD#AGZBj)S7*YTNx +~{Nf%=9%^jMKcKp;bC<9JXie*+o)L9Vb)ewAztvDIHj@?7_G>({IU59nIN66F160pxF!QtVT+HmJX{R +^^)zX(=GcjhM!a}6I4ukJt!Hk|kr_I~>n&$OrJ2bYg{XHUXt`8|ECFnVIuW*H`4(VBuBO}-!Hk#StV2 +-NyNpG1pWPnGZe3xz}6_#VVTx3V675c(fbO9KQH000080F$jzQEB|3B7Xz`0DKJq03ZMW0B~t=FJEbH +bY*gGVQepBZ*6U1Ze(*WW^!d^dSxzfd8JodZ`(E$e%G%cJPeXMTitU2?Zr*HqFq`vONSy02wFO_Ia8! +YQc2UI|9yv~uC{`;sUB>T=ce@i7r&nQaUT6<|7%tLx3?{OW2>q(VMn(o +*S)S(K7iE78ea_}fjmoRd~HXy!dgOAYY3#~_^ML>kM{9{N->+i@FP2)?EDVK<9J5U~$6m%C2nkB{#@( +#`MZo7eRH_2uQO%a>8~;`{@B_xj}($;g)&Rm3Y28?a4nl@i9C3T~|CTa2tb-Mc`=UopDnjJ~so;NxEh +qf|3(dhb3k(SRA~(^q?gMxrRn1v7?Rcp%!CCGGbz=w2)q{`+lX>juG)7&{@LAT`SmZ0F)9iH3h0uAu^ +H4GCdNBQMr-F%3kZQItdhMsm!WHEIKCxaD_1489f;l`cT1y=niWF{lCo>)wTspKGml!5$z`z?Tpo_$40t;-og@Dk+Sl*j%z^FhU5OB9)H&z?|o=%24`uT-$~Tkay@CHrPEgWGB>?2{e*}K`07Eq_S +<=%z7UL#KZcuBRvI@HKv@N#bSo=<50Yn;-T|y)JQu|5GH4Kjja*B$(vzHr>@CToLl>3`2-ly{(O=65k +XJM|BFR%_(ce)Iq=#gG&Y>^{P4}kqj5GDYx3o5+)n?*rEdC<;xg$b>GCOl!lzs`1+1aqmTgb^VsN@;q +K`0rqwD8E3+c3Up0{JWui~i_ewORhO-OB9FX&FIrcQocP5m4VFx^N$xK?eG#ZqE=XXfTu*bi2I6S%>l +dFuxo?lV2>(Y}>US1q(-lcjqVJI*w}uh6h-W}`JT>GIQ)Xui)!REJ3}WL@;0#5W!1 +a$1mgL#9Nqm+^=@3>vEV%SuV`ELc^e-g-TaH?+#$8;?{@=)dP)h>@6aWAK2mq6anvT&gC&wPhcoBQj2okS!dT;-H^3MX{h*B_{A9KC4%oO(l4-x=wv*y +CFQsl>AooTfHQKwuyXW2A!+_k(0D +pga|B3Cc_Pe+2_~CGPb9jxUHcxDC6M|1f)q@+ju`pwNS< +UC1|N^)z-6|yvmkWKG=y#M0jBEE4KlLW$}^h7uKC3VFm8F=-Lw|HWzPTT=aqWvwh4y59WoPc->HMtkA +Bb!Zh7Yf}CeD}gY56W562nob#Qfu5FfIEJY5RrsJ{U!3a#1lWf4VRWAy&Q~g$!Fw9Xl1{U7Xj)ep_Hb +hf2%Z>^mH4$19gXPx5mQ=R0HNx*K7jFEXZa`K0JQ}c414hoNQi_gI2H{1xs4>(bdv3Mz&alC*AP0z~2 +p*t;T}s`m|UXU{$*^eeSgCw5Y(At6E)~@G9I|rq*GizkoN~OINNde`V5v9Lf|08>L+W338xvTY@80KNqsGoD@%z&Lr19zrpv5_eg0SGnbi+blWIr80l4r_ho~TI@i2uFw81zCtvW*ft6B)<%+_1+ +H+07MJixx|MoFM_1&O;`S2t9zBZc5E5%?Y>jY&nw@amx8`h$^_x&S9-cje@(SUu&FuC7@3c +`Bd>AtCLqJqgQO^wi_JY1IC|?Nn-FWPY3M|2RnOLmLv{l@im;yJI9mKTjrmYhfkn|;_U7=g+%x(_1_d +u?Wsn;4hs1H6QV{*GflocX(DdYyZ8^A31 +Xz<2MrE=u))Tt>;MP0EZ?wVUk;5jp^U5%{>v5md_CDn1HhuNRMvpAy?8t&e(y9t)mbyrSR46GT~8fmE +GhM)EbC*`3*F5Q&5!_O}?87}C(oIl +Z=1QY-O00;n+tx-_}owiS08vp=XZ2$lv0001RX>c!JX>N37a&BR4FJo_QZDDR?b1!Lbb97;BY%Xwl%{ +^beM^ampDK14qBW5U4Cde6UUB2Ib-HitU5R^0%@9wEmu +|xumM!y?qU{+1N36f;hwOzxKBq%o9x@m)S$?LLfSt5QvdL*B-rm1T6qpYv5i|ShathcO5+q%)ex%$S} +U0am;SJARZD;&4pw%fGfOpW^H-NnW0^EYpjAI@K1JQ8iT#WqTAS(Vp~YPP+(P8!DRuE`i5w2HQAc9SA +v5su1LuPm+Vs>sr^_ybi>R6imGKzm6lPKW^0YluWQE2GkoH0S{54iCWpBcb;U;-Mtuv_XOrHrq)n +S^)+XCsyRNITz72byWc6l~R=Mi@n!WFehHY5Yo{2Z};I3%bNmjD7>b7H`c$>Bz2WUCdh@8KE{qyTN5d +Z89Xz%OEK4i>BUJiQRG<7o%UQ__LEK_Vkk93l>!m(WPxVsmuL}?r5TW;D9f;&@1A@e~)FGdmp6u$i4+709%F~v$#YRh0Tj%L6DR=^eVolPnQ!mG5 +XH6WC5KS`Dmc)KH4r5i6jPH2MHW~%S+vKh(+H_eWoITiY3ZAKM;iCXPtm0@Rpx2y!BS9oZSq{qAaNtw +_3V_-Vw@ux$OuWEhlTDo$t3pUc0{`6=pucxqv_>phQg`jPYv+$<7{X1e1}1prLGzS|<+Y~2q-6*8QNOom`~q-7DVPT@L7e8n&!pghci+KA9=OF&sOn~uwy1J#Q +N$MTDYB&vxZ2ZvrZVUVVZ +kDCV~tTFzPORA;Pkqk7mHOtV}sqvLn4&IP|KLvXjY#{*~QfOM247>zb!@8nb +!s{gqw2z21E$K_gfrKCninu}W1je}zE@hx}6@23**|))^r2m2_ywL5VC>nvZXe?l2eh&e3xnO|TZN^P +zeS5G&X>oCzw(EU;zLCsB*eANNCLEfAG|v;+KIE)i`Ah&Q{Hwa^wHI4rD2iQq)WZn-@H8^X6wYS%>I? +eJAucK&&=nkK&bIgNwrv=8xmO=Bs}ukoHI`)&r;BzvhyO1`+&-OKZy}~`<&=44!!|E-$udI>LBp^Zl_=d?YiKQ8$j=>Zox=w%M{E5`v6{_bRQM{WL2Y2M +7UmXa-??SgDdF``9b1y +V(w(4*qB6y2tllv>xqN+a!A6DStyo|8c6&`?IQ`df7#}^42=+CC=T4osN2Jl4$4wzcsG9gEx&1p#yEj +W8bz{?jcSJ6ZG0akTYeDF?Ly!z)%T1cK40m2E^u%IlK^I(ZFo(`+pdb=orJmrW$3QLwkXEILt1MO6=_)gTHt+moE@6JlNKB0N`+B*Z>yzw0)q@g1;E3iMEB@5-O^%%9fBTfUNE9p%p?X +M4i$}F53HCGOlE~CKT!s$mX-}m^WBJgF +4}s5OPJC00h4_pELw400j3KrC*C=WM#)&CBPacWpb+bNu~c)12ni$VeZjP>BGQjDR}CKskGaB% +GVEb|)Z%!RcCFK#X_s?ClTM{2x4hy{q;|CY~+sR<=R~wzDJYS(av>5 +}`KDhZ3?NoO5y#Bf*?mb1&a930aB>EriL`?tKuoV+5%7Ll(#&|x)mdxPT)1%I(n8s!C$O6(;W|A8gfe +PgpaM+1a~A#Vsd#`n?e(iYh~u_5)_t^1K^7>~+!F7_Eu^jj9nQm-7^ +{TiWSnt!vB<#IXsh#IbYv=xItUqBk4g{6bCz$>8Pra0Pvk(};+W0iv8tMz;1Z)6|qIAje-*DJyW|MIh +gsKl^6WrH@G#XTWm>wV=vU|aCmCDn5b~@- +`D0SpMs^Q38|L`sElNZ`K++n(Mswg}`!Umz9jHa)_d<)dzw>3Jj3+gQZ}@#)~QvQ70H1C4w3dy&^lS; +W%|5J&Vjbv)Cs|BUNWs_|~h6EA3wEr6=Xa;z*X*q>&z7HGjRY&{?`o@yXgV$DcqV;c2%rbNM1F^#GfLh|=kV1-fvHEgvd=FC2(B;_p{uySDA2+ +0MEtY;U+V!C(Pt(UU%qu@ +Ng-{lGvft@Pr*u~=Sghg^MZ^w($vMH?MNQj#Q6TS9rV++h@H6(kYuj;sqF +a@HC$wtns7psyql5FV}K95FkNSKl`xieS>pWpfznawwz}=3-sQK!Qw%7~RqWL^vB-jMc#sVt>Hj%>6Z +zZaaI(D|>>;Tn1OGv?x1JMVKT#@T;Sy#UC)qVmxKyFRz9z?2vlUWRQYrWf9rN#rZ{mrVAe8o)Bt4Uh4 +!%DUJh!*Vr7X5Mcd+ttP@2CKjcrx|RE7g34%vKFJkk-)H58a{F4O&v#fEWI2Y1R +2RO&uEJqDJnEV7-O2q$4|266c8UtD-~xbN0yv1>r5qw%H2e&s2>Z0H4i4y?{!gyosnCD4}$Et8HMUD+CDK5yug^88R1S +f&9m4rMUVuk(hWv7THm)S7tyK& +rg!1=$D>k+IuA^&D&OruSp`>;8?TTP7I+&punaFt0uHdMKHd?j!4YDUN?|p}_Sc^WqG(ASO*!S==Wn$Z%+&R`AA +rymLddNFOY%b{|%#_4`8$`hq^@ue-Xr!Dw6LVb-DC=vVRX4QoS-in9@&h&W_r;SJlx>J)L5 +wk^^G>`FLAKRlf|Mhl2Vag%Lk$*D1pmG4E>58!cXSk)8DwiIa%RnV8}S$L~WASoS#=i`xwG49+XWo&# +uGVmabRzsxxxa+xp5eL)7H27lJanMg@sORb&upja^<=jhV9;I9KTp|8&MPOw*<+06B{0L9u^H6>&>(@ +h}$4|xX^x{)I{p!oFzFerEQxqM&R>D#|8_yF~VO6XrWf>D{@QOSG$(ROH5n~c92Cmm`?{P84Nm&0(r* +FCpw2osTzM0WK;nTST-iN*Vrnuan;G!5F!%j9_n1G1kj+PqP5@IL}VTeIMzGV%TZWnwT2TvW+Kr}56e +Py)Wli-nAf}O}$!wE8R#@rrme$0-kO=-EGOW;B|+8pOh%T2Kje}NLVf(<@tD?EP;831{cpq`7h;X6 +t=GdyHo$BM7@c#pcY97}Ef@XG}HwBW9tS_Jl#HPzZtpGJDzZNPMU$xk3!E0ji6igc4KDyjb(d@5OVwt +brVt>M;+52lw@ZG16)ma=c@tX*urIhdB|Sj*_`Ex;$Mxz4D-{KB{(L7?cTlMnn=1s-}VRBRgc919Ai_ +xeDT~a56vA(O{qg24Oq`#Lx7tTkY_K>!o>tT@<{LN31=y;wC8TWG3zKsPmcV%A=`23{oG52BU5L%*W3 +t$M9niz2Ie0-5g1D{CsADk}-ft^8h*10MU%-VV?itua|mphJcz-mwHKgeM5LjT7Q|2RLxi3g(U +fm_OvY3FBAF*@qNVxaO&+4^^zgEyr`E!_6Jv0DlC@%|S+F}j``0o6W;-bF$rS(-UZXLQVMzqE(&Ly>6DH*c~j +7^i+G^5FB_N+^BIbl5Z&|Egju$p7a-xB>KmVEuUTV}|*YGrSp;&|aA4Xu+U5R7n5&1Y!z%$G}2oJL2`xH3ZUrl!I1}#RA7nV7NQjM4gx%*TF{!pl4U +96h`lM#AicR3hs8X==w_333P!nA8x!0-tJw?gZ`D4TIzWS8(HG#>EWD=Kcj9^l&K7dbA+}Z}C=tLDx* +nA2q?*nibe$yLv7oyz*$Pj{6}VXj!^$(79$>PvaL?=@a25jKxzjA%v9uw~=a9fu?K=L;974`r{O6~Rb +9fxQ`uXkoDXMWnj0JQ{aX1!_ey6k<(}KMtGj|`-UMNPZ4F!@95geJM3b{xP3J`fOA&mVNBr0xIv?*CI +x`89jvbqEBEe@t@`Xe(v;8Ym0PH)XyafFzn=nE+Y1K3sY^?L1PwMP&S$RTcmCK!ZZ5x+8(_z<0qJ;+Rx +Q9nmN-ptgeu)w?!6oAh(&D9#UDsXE +Mx1kK=)(d9rr}LeCjFt7>1IT2utcYdAG~tQGfYxMhgxv^Az9?stCGyo<81b3jECT3x>O|GuQDXMMP*Y^nH0HKt9a1d;(M5?Os#=k;LK%~*)4woF}7>)L(Qy3WWNbXCNa1>2m7lz*GddShWOdldT1Mc$9C@UTt +8D%!1AsS#69Y$Ub5UoffvhP%;d00p+3ZK~K#iYtj}Nl}3fbt9~FX=Ir(D;5p-AY<}qAvAi%0w~Fa{nP +Rgoci!wpUut4j`Sk@~V|fhBz<0}XIP*>Bh%!_?qb+MNJOMG#bCQ_ReTU)_yoF9)e0hs3kH0NAMnIyn5 +CoyeHyWFjd&c;_%%>BoN<*-EnQVf{Y)nz&BEl1evaHgOX$_lTv-~8ztx+KfoZPSWs=gY~l2tPX6b3~J +#fhreQ!;8uBIf13E%O74k$1Gmp+-O`x-3vwuf2NmSXwoMJc@^^#se?-sxcRbr}p4#7TB8ZM?8P^?7Nr +e30;%;<^|-ON2|A7mFk942C)v|ad;YcOt5x~9!Q)KMFT&?dyXCnSGDG{Ga1}FRF{FP($;NH6chLLXTx +}b9O^v`ouq_K1gd+%@%BwY)Ib#`B;{e%mgd~W#L_;Bh>ksaXxDSA)3;8HF} +CX8U($Z5W8^D)0T~?T3)+X(7Ii^uok)>|x`#{NbKE;ykRrS-5tW|e135|aQnW^Sbh%ctz=b*r0xBxa! +4h-^>L?diFpbH{<2)c7*q$3HcnL^x& +8(3?Fu9CSyHZrBcQrkR^_Kae!fbo??v|5)PulZm4K{0d6_XCcqg6rp1P3e{6b=;clKdm^~W%YhwGlw8 +$aMLD8t7;v%G2w5h2AEm4G`ALc|aH&^b#j1eP3a|*I<|YW`tLK5ZPIpd`qxRZ}088`8Put0VsZ%)O572aHNcoj(QD(b8UazTFALf7IbP3mPpw+@#h@qetg>UR4aAlkE=mhrOf$STKTWDtix72`hzif* +T{PcAyQ*mM@~u}uZox^ZL3V+F4JA_7AUzJ=Yzw*xUDKe-)iwaBcS`q-v7Tq4sAih=RJdF`y~2` +dT&>e!JBU3vg~_X~lozAv`*cyLlsE<9Q}t&cJmDT-6n-_sHBNcHmQE(=h>j}?67muK4KA$XqA$_;Gpy +b0i9oU}JsV<y`YE2+ylFp;M-DW$sqGRV0?6xbQ|qZ-TpQGwW}QOssX=2ydp^hO^)cAte6?P)h>@6aWAK2mq63ujO$l4@lI4{q!<&?QFI|9*tAJ{+>Dute8Y!5@B{_ykF)$0!*LL~el=UN!M*zkWXWi3M#0w +sy_x-5C#4vN1K)&9y3o~CQEe4lN3y1}14@q0b`0}Y0V51>w|V#Sd^NSij2ZwCGB@Ov2Ll25N)Fe9kM1pbY&~ro#a^%5Sp+(HqLJU`Sty;>D9kpU;R7%>F2j^uiyR%NZ$m8FG(%p3V4O +x6}LQo$;u8)+|T`Z)hw^(<(ba0$9#wv%JidBFPQ@qe;XqwL#|dIsL`8tj7m4z*Z|5%ge4nds +sZFSSxN|u2?2HD}f&9M8z_eXNq3{FJ39piaX8}C<2qUgm{SiZRv~HRyCw8$Pt}@zhH?w(C(w`I8Ap7c +7OpZCSxxfS#Q~m$vL+@qk?Z(Rurk3h#+ccNa%TXXPmowu`~{MhTGF!4v+`?;87;0iI&kiUY`d()7-)A{%XXP!+p=C~CF}w@0m8AUSyi +_bZfxQ4GNS7B~2T(AFvchUKAa*8-DIEblg +SiKUr<-6?%R|!XH}307%L9R+Wo-GHuAz)Za +f>KVu#&(s+@bHw-Ka{UIwB&fLVMtFLHjm{je^pazm2e78h +qGzoA4}t$Hj9iNy=IB|>v-S=hzK^0t$e?*?lHkG*fW#Q*6_GSV&?{hr8y@RD6M22&=t>Ku|VA>Y7B?v{WAC&eKaHH~(1 +q?VxS6FFmnkCct~{?S^jwg3>#47cv}Li1TnXfTLQ4HDS#Wh-*>t0(yhN;7-8jJD%^;zH_pPaf-FR>Ll +mx97g`azBM!)~LVDAW^6!Aa@r+N025`^{zk+amK?ZPZH9K@lTU%Gxjg +YE^E)AMlIvis-V#Yu>IczqfY+(|dh=Jo*@Vu5109zho_72({d5^g0^N+&>T)m*Z1(3F4BM=RW8PTZ0T +=P5wlfrrZfMrJFn02SisqV@GIcd4@WZxk%v{pP0;o3F9<;apfSSXi|4HgX-5mTfEBIonm?aC169z>YS>^wa6(pG^QxAS9+A1g2ImWgtxv~dUyQanMr0*3rtt9ZXxX=JAR^{rpsMdUE4ro>xqH#Iq9U4SC> +yQJsFiaKRK-aoRz|RQV`}|v^y_&M=9S0@EBvbTl7b>-;#>>*Rc^|1ct~0SlUr*W2ir!7 +Um2FzaAv)MfnLAlMN^$OuueA*}kd3`eep@*PE_7@u)}L{-n>JjnK1Uj@l7IW9jeWsp_gg%6S*_V=^ED +=@wnJuj>11dQpd+FBIfLpnowgw9qmBN&QKZ4Bfe$Z~<4Ni=DQ4s(@DFCkBdZC`)ZA+X%V2_JkSW +F|9H~Da`SuBVZ^RJ}h4^G5>_ij%^yp%;0FzbAhk`KT9FI%FNf}~1E1@&)cbu1DNesAY#T42c4trGo@ho+wi(iEAmx}MkCwntIgN;;;LwK;LSRZe(OG`IobEk3bGu-A#^;A#zn?b>sVph8!@9^w_DePi +MmYT4Lk15%t#CSX=Qhp=7A#1Z0+krc%d}w0iks9L9bzo=O_nw8j$%#Y7SafrjeR&d0VRc3 +Z0c5XhIKRD0*mq&bxR3Rt`Ad}~FBOYks^xq&b;C3#PCi6q0?Kf}gF6+;CuD|@SV4)r4IgP+dOG0m>+R +=&0G9?3u>4$n^{&@(<^kYTi1jx@x8vI(FT`FjefLS3&j6RM4KCR|XBCIe5!+2@GiZepzjMr!S|El-Q* +P{(ydr!q;Vkv-G&amdE8eYI{0_ms-=>%qsx3BEun&g4eQQKB4fWG_n^6?hSK~V$SS=qZkh7tc>$?@3v +w8ff7F7iKH8OeR;gT&b7VI1LU?f|*y*~^cz5NZ5X_1{f5V53beTQ +eGyX;|f#|)&X0pv-`#u%l%+0kf#Qppi9pL!&4OLD2_7N;R*9P)4$$1|3^ow?bCAU_lP|{?eQdS+K@he +o(!;;i}Fc@+Rr`|oz8oZQ?=5I{;n=j98bdvnqzBy&DVd;nmDbVihrW0U(&li$2eA@_t0BsI>WYNE)LV +j7<(4&W-xWeHv>XI;A5z51v6A}xU4MiBGVj41Zx8AMXX?GirR$XG@OR#**THBt5F9XLOop=*jEk7gFq +>4SN&N^(o_u%xFj<}R;%}O9LGq$gE>c=z>ohVXIOGGdp2#fO_2X?No_76|v1%hD_XyW|tVPV`0E0uVN +TmI0dC~4#s^nvEjr`a7vyIEMLEpA!jHzR??y>Do>?=89vc>F!H+1TB7ml}KvQ;cM@3Wa*FYC>QR~z>#_tHHo_Mq+sZDwmkE +b6jkh2nK39pr^rF~L?Jc>!>msNqeP-?3^{3rEy^-Q#n+jsNBck{RJQgXlL#TJ+V&3x{ ++dvebR-&D0=L~WVoMmDwO?!05=C4b0v^&RUh@~|sKQ{;uwioDV=M;6z&5w8>z6)iI$&Aw1LU{UXOv|2 +f&WApkPi(ub|99K-Dg)HM4f8f<~+!Bn`N&r~(s-IuvXCJPQe?Ga&|8;S5{xKz2H^;{(S65RY?4e*y5D +Ql9i4e7z;@E+#Qf9nbu?NRxv!D#5?BXdVbP!6E1BRyFMl`a+m^QqO+7{4EDh9RHGkzBxbtbp8`$ +>w04OXokV7QR_yTjIkL1rezEH*6oK9PC>_%VB)6aLOYU{L)skDpHFYm+~>j>Qp}S^*{VTgwI3z3L84D_Uj%S8Pq_YL#35Sh8|$^~R4YIdMYf@5y;xv2F_~v +tp-NW!7W#-qIeM^9bxepX*fh9A<<|wTPy6c1+PbDi+br=hG3>nzp4{pdqscVk>V&8Io*S*({=eLLDT) +PwF*TU2UQKUK+cTPr7cz7K*&K4@s2F!t?1Q5Kw2}TiFBV8&S7Se3*tNNP2^cw$g@7i8X6VsMyFUyPCv +G`>520hJ5ZwAysuV0)V67l!9_NpkFED=!`=YLSkBfuaK?XVfO%qbPVe7NHRF7!_g}c6eyuv)P~)1C1F +D!)3C>yxI0%5Vo8TLAz9zmt-600%XD|^}U0WM05Bpyq9M+H~J_hET2#_u?Qd@*|faq1MjZ0nMaR0W~8KWDs0 +!(9(O{esOTURURT-|6)4&-(#?p)k^&UH#)8@JE66Pr5tBnT(q3I>|&iV3L8m!f{y`^=q~QFI}S3&gJA +TN8REU#~pDQZ2kNw~j$5sO9L1L9psLH6949Kd^J}fUq0gx@vFQ8BBd85SbpR&kv)YV6-gvgqkfVOs+9 +yfnbmW9R&8lXuzRyhN@JmhIy3Xm|D;Z`U=Ye^*gx>e=d +hM(AmaYHpZE<26jBKD-O_M2I-c!z{RC;WFNk+3))@h*Pg(Q_LjiDMqa{W%|roMI6<^KO!k%S<*=H#%_ +VZ&0_bC~jUN|k_%9vrdc%f!nxOFpkfnXT4auImH<)bMOFAxlwA+j}4cs1LyW(Z5iDR&YxpU}H0E2C|& +~%*%QwYeWqy_7YjyC{V;Pt}C;p^V$3kTvZQStNI4NN_Cl+L|ai_Eh*gUweA+)hGvr%Pa*BsPVoD!U%o +;C|WeDqGyK!;C6EE>5QVAddTyb_ueEui;!|dvzG<<{;hvP&;%D0))8{k}SxMKE%twm?f)XFMSg7om~o +@10-1965^n8Mk#VTLU=6=`3?>ZwdqC(V{3w{2pmjPY4cO)ro}7~(hM5(ByeDrD$4T>w;4ddSIn5oiGX +#|JHCLVF5vQfgu{Y=e&Hf6L;aBYHRiH!i90;(-(SNH5;vs^+HzXdP?>q9hB*}iS`QRQfsgGB!@E!1@M +-6HGcl0>Ie|iE7K3b5cD8n?RDiq}*EDYWgi670vQ_}Igc~jN}EwPw{h1lEhMxTA?75^e0qw>kntvZS! +w#PX$_Ag%Y?Hudh_qBb;?toh;^mfDKh31G(j|}~94#URh>55R9SK+PwC&@>rk3OAWU4J+|J^6S2JJH4yO?5M(1H&b>(!jp?23=c<@_0_B6+s5}3^vfv +1w${{T=+0|XQR000O8ldVxvZw#RrM+g7_R2u*Q9smFUaA|NaUukZ1WpZv|Y%gPPZEaz0WOFZbXm58ea +CyyHTW{mG5`OouAiO9f1G2Es#_^sLSX8cUR^|7DcF3F$8Bg>5US@mqn5)SS4TvL`X;|=5iPD(35h8h@k%<; +6WD!O$B1`gCrg+{*rBHcY#zGCGz+n8$alWvwWU7o-%(Fa`F;C?;5oP=+>)4uU7(uC^bxQ`3)HfiZ~0_`=u^MVar}8uA3Ls15s1Gvg-~hM^I +Y`wZLyEdEhT_y+vFfRU%N7TRngc8n)U)L8MANOw)t`1yco77OOj*!&Z_he+F3C>h2_QdMDR!*3<<>TwG1 +W})_+Y9Pdb5cep$_i+5L48sx*)M^22`qus5TK +*WLqP*Hilo;NH;hPIDmH>hbumF0AC4Us5mk_QC5e(1PqpPTkAmB1LnpVq#9{lLzoIiATxPPv;$Z|)_0 +*CvfCcEn>DW(Co{m(Y%el&9YnlVU9Zfr`m^$omT<{9-Z3u}`~4h~<7s?@(HO#i3!Q*Ff0pd8zco(-)( +SN0Y=_}%UOod}BPFV?bglY&unYP{2w46dCZ)&O24*NU8mU?|if9~BB?WSXzz@EVimnxGYYO)ez%lG0B +I!`MCTXJK} +R%RC4z^>LXJf_v)*>8U6q>V5S6q)ecqPrDo^GLdopOKo_#{27R?W{;hjZ;943!TxE$Z#w`@_H`Gtj{1 +L#cx(X5_TvsLn8*rPqS$JS(lB?q(w8X40LSc}AS>SsyxIDr1|kk)t;o*iw0f>W{HaA47kv9g;KFTa?q4MD%k|U6)y31rSo$m&3^HhIwu%B8#eTWJ;vW4fp;@Z2VUmTXkd(>SZrA%abspP +JN4z$f2|!k51S +Et;5}z=?;oEo?(VKveJ|~md(y>|+RcQT5rE$ce?-8E!XT}r5NyR!y=^J@a~IqP_P;7m@&%rWktv5<+j +g=C{vw(lRBQf*k)ZF~5NQqq%ZfTDL8hW0pvWzkQRZPQ=)c5@^!Fj;#`>aBQ&6LF%8y8 +)n}3jH$WVUZL|+_3_Bdx851le7r+`6!QYIin6?haLVr2obHhDIhC=1V`RT{rXt`0b+)$S2m&8o%c7;Z;}7S!rH_nwTC*>t&K)!LdBQ!kHBm$q6CK^i&9>i_LEG|*tUl7=(G +A%u@X#3DGg&2(>=XOwmczbI^r!Rrd}?9ceR&V9A|8jPK}(Rn?v-J2d9&FGwO{l)9%x$Y`?T_-Uiky%m +J!Y=|7dt&pzbinX#*F;AOr1=V%}5LW_=HY;Dbl0FyH~HAMW2a^~m$~m5;-lNz-!;78@x8vCia?x)7QqJGPD$mz+x$0JfSosV;A*-`nqirZ=1QY-O00;n+tx-`wF2jFz1ONc<3;+Nl00 +01RX>c!JX>N37a&BR4FJo_QZDDR?b1!vnX>N0LVQg$JaCx0qZExE)5dQ98aquumDiorhgDPLVU@N)?# +j*?tf#s|FGHI-rp~&;Fk<*OST8$_mWJMC3lOrS}VPzMi_hfnrjM?78;?kLTS +w_3M?ZpRyUbddhiymfIg!2>8zwqIW2|6czMhF%f}AmRkY;NSBzD{WCK*KEM_((xz<*ta#2tnU92hn90 +gVVxEMfd&7Nu^LvQcnS1Dur>|=gbgAY<2C5(u}HD0&IuHX|L +FvtmYdtQ32k)flod)RL4lie!`25nQb`qT?-w=o>|BHMd=044GR!VB)HG9VRHXnD>pcUW_z+Em08(%=> +fQIex05`e)Q>tNkyTGSSfn%6bzF`Spv0+<{RSgLxvWkVAEKaHVaAQ`d>@FQ_*2T!U^#WTF?BEA8}*ef +zu8s3f1i%0Gi21hv-!1FxqbV7q=(N)xaesDCwYX~E_x`8_-aoBQ_EUUb#VP_lRAmKj2l@4P1do{ul#1 +j$fA2tcbI4=Zv=IkbcOR3Cf+68Y)n>;;F*IoS%Tql8x`9f!pWt{|Prn+Cd$1{ma;uV!lNWZ)j)TCjO$ +Y5fxjnp|}0Ke~v}h0v96TA+&2kqBj5RsY&f~gu^!}IzHar4sF`8B<;4s&dUfqmDi+JrRN|M`1)nLEvDe5`ln>VGRFijXm +7l&bZ{kPYwX)IpoM0X#jmpB+}N8DMORtp{--#enuf@?rHM3Rbs>XJkz`(yIuDkxOH+ +(?|}M68BBb}+81F@a074up<~QY%=tDGVeZR;u;HXj(ia;!-1GkiP)h>@6aWAK2mq6ukQ?BB+-^P=RE=ImB^XlygV};@&#Lcxnh;7MYFkKon5cKp^>Yrw +N^V;mg~-T8p@K1U8}TZ{N5m+H<0e<+d{@tp*ciz5n(0_Rah +EQ!MbQ0vQV%-E=_v{1UX$;HsUkBphGJF=y=0BjJ1)haP`2D|&+} +W@wZsu+{DR;A#MLXS^x+A%LyJ+5O#lACzL2Xd>Fy6N}tjF?`%gh>VtN)1&IYTy|iF`BdK@g+T;g5q43NB7!(a@Biq=va)RW4&lE*vPyDe0 +#3a?*(t0RUYXf!=Kg<6hIk&vb+r|H#1Y!X4yw~^6k)>%tu?gJ)X-D{On&7gcwT|?&PR6DA`urW3FCys<=}));;3gkT)it`(AOcPksUwvSu`t2<4Dum^o$qCvb%nX|X3;ZD&sSdMYVzyOe +VC(Xr#)v7W#Y-??6ZmzH07$TY1NJUe*P}k60OK!o~Yj4ZQUC3&{cCA%Pn%Bk4{2OnHm*dIjh#NmJXPp +6W-+hfi^RO66VDQNz>@o8~oRQMeI6={6R(YJEp|#kHy5rJQMQ2mk+)HPOzUbq~*cYu<8+I2;&j3KmJ1ve~Pu+?k!PBn1V&k<>k)tY!sJ_yNr3K!(n<9vy~D;J0rmZ14EA;8LOi@C1@r?Wc* +=$`9hKE=4^owS8AdDUsEhRO66WLso2pP?QFhzo?sDpa}_&NiU@5tT`6!wzmtiYEIT=b{+{1$B!Z|(7D;h24yrnuhp9t +ve%_rO|vDR)npJbHtz)aV+Qb0|gb5}O<_Ass`^L+OIgvpsCur=at_Clv)aVuMB|Nhn2mvZ9T&u6ai2c +3nWHLg-@p0XHs;Wg?Y)tXb=WL?Ze)QZafESwY~dBBlVCtf8K +x$f2qf+Z<9Nanq3tdGWY*gh#0*Xhl?p*?sp-w|*ub(;^>cn=cqTY0ZKKK-PHOHxPI{|~U|cd40HPinskqni1Uo4QHD36qOCvCJM;k-pcI*rHCl2 +$2sgt7Xium$BtN*0qMyXkh-czFKUa5D&^z^Amd@I_s4MXRvKE)BR*)gKRBDq$XH!wwR4=?N&(38=Bd3 +ec=k%AcZWtaL5r7hIHbucbJ&ZS3bLo<&{+@&JjwT;FSf2>W?)aHA)F=UI>x9iW`Y-OYB^l`!4wpew9CTw+(shi#B^{H!z*ZBRQ+KQ6H#h2Av05Sw`y!TBI(G2mHbVcFs(8$4G7)IEE`UYQ*wwL&j(sUQPWN=EbI2l +P1nfsFjSw4_rQb=gBlybrTRc!JX>N37a&BR4FJx(RbaH88b#!TOZgVeRUukY>bYEXCa +CwzeUr&QD5P$EdxXcH)Wby&_U}EN?i*cH%F?%8f4tB8=))ooh-h+X%z_Qqchim)$bH5(3$x_HE_k7Y0 +jh4!b$T~wo;V9GAvvmoS=9zKumK7$%``!f+Um_^?h^iy_tcy!{K2X+kRZcqTfX}1WY% +>&anlHTXv4Vm_X1SJ4VIso{RF+T(h2~d=5+O7w9kS6hi#TIoOFEJ!>b$021Lw!?CFEi2?3h%&Ow;kmh +@K=XS}$v+bJuk~&3w+gYB-=H;$-~>H4q=5N3~zLD^rriISY>bQvc}Y2T)4`1QY-O00;n+tx-`)e!&G= +0ssJ!1poje0001RX>c!JX>N37a&BR4FJx(RbaH88b#!TOZgVeUVRL0JaCwE4-EP}342AFg6hwD18%X> +B0XDSjx-A%*6~%T@6oVjJbfQ(3R7vj7+mEtrCvLOOfGvHO{nPr7hV5YGGXIs~dLy?c)49yZ*J=tT$h?Og2Zts|@JrtIjL@ut6FspY +0P43GLmMIrOG;HTqHWS^D5))kWnC*+lE`eoS9$AGlK2c;88fE$Z+uk<_~oI%AsLQ*uw!H#R8dV>-+uM`4zK{iy%m&vD} +I|R2sPf~LI9Cojj^u~Rq%%fi=IV|B3q3wKtine23Fd&d@Xr-pbygX>$ViE%6)QQA3*Y5+=#yL8UdQR9 +$sf}KCcI&u^X&#Gm>KZWzdp$hLumg{wv$L}-CN{3T83D)kFFB=~8xf0|E{q;TJLp5nVaSFe6G9$=BD1 +FxQX%e*j&`|DFN36zKud#&x|ZmRx6G?a9B4TkPDo!H@W~ns*UA#uPg8cPx7qI*Y8>6RA;5&;hKQ@jFh{cO?>Q(GTw9((953zN^I*n7#hdPA5Gh)KsV +qmk|%EaN^_kE7=_q5|r;P#O1_mu3oq${#9VclBQpAp4{bH?Sx|GBI~OP63q!$#W&Z_`a*K-EblnDj>R +n0AbJ_8TCDG3vG9Zvp=WP)h>@6aWAK2mq67_Q@U{Y{92d$&@&+}RDnzfcIx1@d&oB_E%2^-bHcK7M#H}MG+-NZ29NVB{GMsR$2-btj57)XPX<~JBX> +V?GFLPvRb963nd8JovZ`(Ey{_bBvI2a-Us)l|jRs`^Xt;@P#Z4flwhoUH0S~}ZoBvK=(Bu0?`z9T8hW +Tbf5Dj=~%^6s8{dwAw;CzT?o!P|dYb +eBB!^g)Y}jLy-PujXSI|zeOkJG{AiYof8j|7eX7>G|VoZD<##O80u?usrz-OWCeN@R=p6Q=p8pZsyps +pTHI$_cwUX!DM@&41*C;H}(^EZFe4}V==UR=IiEcj+-`D{V(aavOi*I)|rvF{pK9F91{w;*b%%I; +=M6=>Nj#2%!QNTp&UUM_05FFRJP_la0Hpko9s4=AB#1C>5*)N^?9`H4MXd?X +biUvbhZA-sk0V`2jlg0LwxXM!Y8^u7=XP{&5Ec4|Ytsd=hP-BO9rR*`YKM0JSD97*;dG!Uh=})Wk@#2 +B&BXm`Y}#E(l<9(Xn3JkYAl&kykH&A~Gyk`3APE+LNyuOy8B=p1^jCLEOl%Wx(&@)v!U$h9(K2u^*X+ +W;3{LpA(yFI3rn3Ui>`GnSB&mRp=@TmJ0s1ad#@S{9x3_1QJs;#KGAth)-`pd}nekeNW7RNpg=8QZ^3 +Xr4$gIekWN?x;^&HH>gZ$WZM)r#x-DlwOjzX+kp#i2rD0QfWd`&)HJ%*ph7w-q*h_@(p$t|XKTmoHPxj +);i+GbXXK#(}zdfZd_Ed?XYUr4GaN!JPp9PzZ)$ +J-Z8us>U>s}jr!y$t{_n>{1#WvR6%|ux~>GLH*}UnJt2ULpL?V!3j0(TUNk0AR~CpcposW-BoveJatmc!-qU-m%W0=2&uoDsh +{5X=fFG2~JEjEg&5+ysAyz)jF%DbS>3!;Y?+0DZAe<+b{J&xG1C_H!Y6-q#bq5vS?6Jc<#5LX~SPF&f +uNlI{p^{WgSkaAbJ$v5X^X}F%I6P>_JhC^>xU%$`J)5#0Tq)&LGW*zFhw?Z?U_Q<09uYS1+jD867)k&M9x4gUgJc~l +25j;*KdlvbPng@S!|(x^QS +VviKc37WE(AE5Ad(c!JX>N37a&BR4FJx(RbaH88b#!TOZgVepXk}$= +E^v8`Q^9T%F%Z4)SB%0Xk;0x3he{x!LID9$Rf?+iVolbwiB+#{Y;QyI^^Diu&8|oQ-|U(9-preE?QH` +GQbr@y;`?XSrf`Nh5_|%%@M5P`%%Uz1`g;@#=TQ!(__EgU*C +(%PaiJ7h?^g))#ug6^T^$nNcTYZxDlR$ZGA;SjEfVs^`gry3RRy_xF~?nQRaz^w7#4$_A-;6rm&$pWh +DJ79afLHAyKER@A239^{RU;ilWjO0^FtQ#?}ZzE;|=I>3v$aE;ymKe&F!*vt=I|HnQPi5%qiy^ +vGaod01`8mBMpw@QBX|G?sx%DkAQb&j5BdpckR<5j}A=|OH#cxnc0|XQR000O8ldVxvLqAK-AOHXW9smFU9{>OVaA|NaU +ukZ1WpZv|Y%ghUWMz0SUtei%X>?y-E^v8MQd08FOG&Lz$jmEAElNx-$;{7FNX}15~pJA+W#gE^TCHTWXV~J3SmPkP`ir>0N-+54x%M7j<3L +Gj(S(< +G|SK=fBojCi^au%U0=Mrdh`C>)#1t8++-aa^ZF6cM44NrpfG9MY!*0m0em?O0~QCR5G +ddO{qpaN^Vb*We_QabW-;Zie{1N@HH#%4ccZdz`523!K2UX3h&cBJ4#P^w+Sv +T7&)lolXo-TiPUG2Ot=d0G_deW7RW${WBWyz&;bvHSIX+u-f*(;Y(WuD>VIO^fcz70P;_CGC!v{iav@x)}%)88YSA2zMzP|qctzBKs$1#% +cG+x$yty3_92Iho>x-kt{Ao%C@=;#Qot*&8=HM_}LH*e`$yjYa!RxcJ)7`D_awb-T&s3`~msOkpRi$N +%+%=u$vt3FdPfSsz7zd9b=&^kB-9KzeG`k+8R)lcVFieUh?O7JmS{rJP%Ik`s67#ziJvdalV`I?L#1kLS$qeRN^SdI*K8P_Tow%hZo&ZoB(8*Pwn-&erg +9O6MO|_i%v!f0X%(4S(zm}~HIMU~Ac_LwPHpx)2G8>VaP(ENCof|Xs7H)Ntj608l!wZJz07Hyhl7tIv +?HPP?mj0XlzkF3=(J6OjuhQyCq1p!C(2<%(tHN>=Lj&_O{?MITNi5A=;MRjfx&vq+zeXEdbZImXK^9EFOr0@)9Em*lYl&R-j8D5{BV@nW&H2;cW^OC2fAxYHiW6 +ti;tuu&>bTW9ks9S^m+WVj#4mayb|IWSQW&Fj?yRb{$9G>83$8k>tHF(RlVkYmO@&+Ioi!F6(|+Z!rH +Yh#W}dcg^HXc_w}q3^`Um1JA26YSd#|lC`{tq;m;eWNm=3k+M3Fw6sal&h_S>8i=?HeL4f_$lJ-l{);qxaDR?E +=;grrW3(JW`|n_lwUJ$aUM;G^zst;{1pdNI=b7qwe=W@Wx`x#hQQUxc@Gp>!E#l953RxFw&~Le$j1D0+5oT=ElpXS5WE=`j(~iENDqW*5IKm+xL8z`%bb%3SC;`P?RG)K +dmw;3`8NLtILA6&t?~>l6nTp*MOXNUc>?W&BzTh=AX*PZwn@u1>>bbq2F%=YzqD93DIU{3<|?wp`y8~Y8z5>a~-@)S2(pLO=-t_f4?`kQJt3J_q@HfgbY_{f=pMKe7VbjS%-12%`4rT*(JyRl2c^YVs||N +Mx-s8gV#Vmu7*$5SZOz%K$Bf(p5v3Slij}fvn|C^0AnL_`u#BulPZRF0%@~CmUdENMrl=P|jeh0*90I +Z^Vt_W*<>m9@sX>a=!4PidCQz64Uoxlf6!kEsXVXroG#_sW4QB7$x0e{UTfE3B`v(8$0nP1bN$KXR!1 +H6dI;9v=W0F%})8&O=O2hw}(=97hf#yLEXsVEvu|W(VLN7S&Ss|Uh$^OMd9y|+NdKG-U-kM3_9v{R~e +yLj+KO?_Pe|Pz#)IVyHicN7N-$Fq1bK*qC*(u5CcN|$3{GDz+!=8!q5psS98fl)?{_cHfYb%wX4$vaH +;+RdO+aH3Unmf5GFBJ*(uywR+=@I}Q+X0if6s9~aC?H +2CL~Hk5`?DWJOQiDCXuo|idca1ldmV}hHHo{(L{x`qIj<@e{DfhL7?-B0%`n7{=<){Ve4X`msN{NF3n +md{+5HhlkUf1D#}aowx=OsP(U4Z{s3W6EI4n%xjpibo6D-2!}KMEagZNXSz0*lFnfq3wmvy~AphT}d# +qj+rkde`KZ77wkH*GbfGJ_N&DWbo>K3rEWerYV6%ed__Kcj|2pi+rANL5IfSs_R=1cWtj92XuFB}o`@uUH;^X>%g~9{hYM_dC%##<(v- +M@CLoFVEEQb9#iCo30=9azV}teo|eHj+9arm^OEQo>l5o+ +r(eeaVp+6$c%wLG#(SnLR55j?9DbMY*QbDo=`x#R)8mSATpPv)hD+yDtPzR91)}9jqJw@oGoq!;NP1R ++47-Bx;bUp*Shr8qn@jL=H2!TzF>QVvwuzDci6I(E>8w_8DY)iPvMFeL&X>AxGb8c>(gJ>$=-mJr(A{ +stOjNJix0?_l4gbEU-n<%=SPJ8r{1(I~PgIGN7h#1Q%)6SV3ga3dyufV+O#nY4GGjF3}@I8ro@p6SCf +%5kJB917K;9&tb3~Hk&`K1E1gQ-1%E#%PR6OHWm&Q^ilq;qHpm|9HdeM^POlzvLl`Oi=|BlusHL2%%o +NzEw7#ys#IrDs>98PK1KZ<7}Q)?jjO*NOKp&WBPsQE*X+r#Ix+#c73x +yws`_qhO6kVmW +qli;9GBh9|eMl%__OHH1C5B&#Qi7B-E^FgkQ4L7&suBM$@pt6QIp^B4ja@!$yF+j$HD0TyaYFdPJ9Mi +U9@lzIk&q$|KEA^n*1+V0BK$8eLHjm2>cIYKM<5?D#}6Sp`mxyFP83`^0f3~ZRR;oRH^6 +K-d&6Nk;u?Ljj&IvJaGWFpQITk{=6?r5Q;NY05583{V;3K!)D8hZqWkY`-1Mi0dMuwWu1zAgTs_u#DW +_oKo&oq@Vhl~9s&yh)($kUV!tPyRY0X~;q9W4P-KD1G_bb(6*0^vOW%G)DoRI`%%+DaApV;IufT1*2F +anLCR1MWBE?@v7_rCwY*#>ucA7nII|#h7XWi2$G+qpd;v@(H$q;XgNZb8#N*p`2#!kw-!Q^O@I!3J+1 +(x8(diAzEy9#<68}7G7#rWZqV!%p!iI0pX*{t#kbH!8?0*~D8&Y+7ah7P)?D?9PmUT)Wu{bT$eTJX4Q +6AmMobPNkzd_N%tOr%0w6DTF>{jaz~r-27rPRKFzD=`t&O@^l8Tm0fI|hZ)US3~kN1&4Og=Us3$BS9o +CmJZ$A0eO5O+H$r%C=WETtjU^Rn%H6LUH6iXuFrC!}UBTbIOxWImR{hJ*?%3ndpQD-c&Zvl2MZz|HyY +pT$58J|fKbd;bj4NyEYM!vg{<3nOdz^CZe8tOh248ZErQ*Lm16OCzo&hyp}G@MFubvY9h7=kBZmD>$0 +sF-oDxv;=rJMzyRC&B@2HvDZf*bzTFLRMcTK-4}KD* +4jrj?zZj7X&kx0B*o`gA2v8HZmmG=MlSD+>>BxaA)uoEO&RPv6wq{1fx3I3ovkLo%WXNT1O(6OXf +WDG(vPm-QF^X&H)1{DBjgFPXz!v~JjxyzxaL|@@1hH2MutHVpf_AnwC6IFU}C{pZE=q-(KqS3XA-G-F +`7jcU$xVG}XIB=UB9+}cZ9HAGT^bnk?ZEi>tzmODisUWa^tm>so>$N?2i|lGqXDEWm0r!bivz5>2IGU ++1rZ=D8N}2ZDbrSf^;gk|^Ro^v;-~nj6!^r7T-;)KkVN=(cj?yyPtuD0bE_=}itH)znV-Yxx&bb``m& +2xz7shIa>lX4)HwC%qknN4e(2iyvCahtDK)0(_9INXTXhh~dK@LIa0EQb2ZD*&aT#x1)s>-<`iaQ&tI +=5b57FtL<=7RtGco`6A77K0XDxwow3T-Px1-T?Qu-HdVJFvJGSm|`R#8@>isOk<8(?)7cHafymye$|J +t+Csysq?J|1ENPPit6YyJvxng4eBVHpTTxcBVWx&s6iDgihH7t{L!>8JGNbpSt94x!i4= +yt!;M}wa|50e^c+z0^=ms?o-*4FjBEJ87E8ZZ1if3*+W{WiQ`?f&W!Oo-gVpsSMqx6+Rvgd{8vXf7(9 +<%$_wk4829y|&N8H*0$nIgoKLtjfQyc(sCCkY*ox@^ioZ?9sL@oG4X1U5SA6ye7j44#6>n30286&O;#FbpQ+z|pCsG?MF@|td7W={)i$5F2zHr)Eo~cH +X%EjjttS`@wn8}^`HTc7FBXIQ^@4MKsxf(w5+@jRLhK`ZmzZu{SM81tpr| +!GcHdB;c7XT-d;k|!`t*_~6Dh;?f?#?+@rFppcih*Iir?f9`BM8-l(qRR5ey5X2Lb(rj^rjPmR?PMx^ +04)V`A$JXT0?@^@>iInJ@U{KunX#YxR3a=uUTLO^GP|vRmD?wwnrltMtcmDvne6xR0@g8|ebbkjj;N@-^Qb`0Xs39{E%Vp<|7%0}*0>xRXOZ7Qud9V@QZ +_usn|(ZpAJcMw&et@Wyp2H@xjFC*Z)96rEI!&Oo;0c#w_VuJ~xXX`VqrKApVEQWQnn<7)sn9j>MertL +W0<#SNbIxu5&#?N!nl>eDrB9$TtR59+!*JV{>R}w!zlXfv}GO?+|D5PnR`vDhmkB4a3)AdgfqEFe_!pPZ2_CYFEHjJS>A23MK5iik8w~(g +Vfx(%NyuU;W!*npr>3Y@H8CEwelE^Cva*;`>X3g>Vy2TkJ-CcmfGhR +MF1FWg+%ARb;UryQ216BB$M4vRYd(439{GRhc1bKOJslNLBOWTp+1-Gs<<<;ez-f8Nm9D7(H>QqWVa=6eOZJd6gVTi$`Q9wKJec8c;>-#0C$KBf*dgmiS=Qes71Jd$q`&=Jf +;ZilAK@T>2N=Y8Kb^e@^!tFhuvO+=LI_5N +->JmUnUlTkbYAR`z555G-`0Ud{zVSGmxy#DyVvY^GVQ-<=bsX4;!yDJo_VlFe;`+*-7}%K8-ZxVyLWr +$^WHc^-E;e^b~dHL@=T3kdRZ-~7#Cz#0p1-IX7)WaUWye6&U312QQ!wVEIiaCsx#Tnc$fDNCik&DQ$N +caJSyvYNyko3%IbuV@_4I(7E=0(k8xA;rxaE^-dPzQS4ILWT6AM6nYgRB>N6oP{Zg)du +UE)Ad@F=KXtrYO_4frvPN?Ty1a$p1d&=Z-H?gpLNu&Up`<|`a(!BdR*4;qGpG-8swib4#G+3)wcAf>e +&I8jjvXa*@*ez%c0C&$fd#C-~UYiOH|^oxZ78s$KjU-x_!vDsbZygTdanp}7 +|ZDrt~C+}x=S6-g62#`C#xtxwnvfY(7+jVTuP-$0}dG*K3RlY<2rZn`47470ei?(aM?tQ6NCgPoSfjo +Cq1pEb>$5eEaF(`$49EYN8kI8$r_!Z=K;UC&dUy%l?x}lA^WIT4T-@`YeUuzd@6c5h+?IUD9W3)98Z^Q4XS*hQCKa1qFYFISWWpCZkP4p--^Y +$m-d~pjvo%KbtD|ko$0%$p`h;oOH(*L`(K_3B_dS=Xe$X>aq7a&2}Iq&Sc!JX>N37a&BR4FKKRMWq2=eVPk7yXJubzX>Md? +axQRr?LBLA+{TgL`70(=T#JpCI7zFMd|*EEigkH2qrT~$jZTDdMexfER^Uf#ZZJ`+{Fl<%cFK0ZD=x+h*=OR;L!>*l7auf( +F+Y-HUDb=~aNOK~Zo`=)sZ-Aj1bY^2yW6}+!%(P773w`*k%U^chg+f$*swpw&2&9cU!hfic;|}g?{TJ3S^Qk5FwZE7m^5K2hNTJ{Cp`@_b2Z6 +WZlYgdHcLpUAbP%<%}A9RUthuci8tu(>-f;wSM!weg{}D|9maw`dPJ>h&;dfp;o&s4kG#O>}Z<8iFhD +iz`Dyt*R;W`igi`LRjFQ^W+~Sy2f8h*B`}rgrtvNj(WmC+2!K`7ZpyA$G_skfNvhwM;y1w0+@vZ>Ut#{PZ +rv<~d-V1wOlI-6XyuQ)s+CF;bhtlE&FlQ_Uta#Dc>49((?1s9|M23)^A~>@?zyXRY_IdHA6~xv?)%qg +UpeBu8tL9TApyS^T~olqT!VmGCD1sfjYq&jjCq^m&$G7qN!G7qHxticr1EktXTZA({{BwO%9)_oujPC +EcelkBKh*Gw_x1G1jgl5nU3sM(b6)Lh9?7%f%Tmcd87UU_-6u706FxN$hx*zbS+t65uR2>?OLgsb$k+52&+tp+Vjz{6Go{ao?C06^La)F%fSTc>x~dyE{-ZHiNAUVz +HX!|{ys6ByEYI_)IC;!3@eOJ(_}}j(=oGa8F$?-gOG?RA1${8 +&~?hltH*eM<(JlRG!p|N^1u*1?!1jw!t>eQ3YBTydDxNC1uEwD-z9wFyxneMiPVW2!}F$;(}4|vITp3 +-luKY0pXuGODc=840O`95FD%iUFo#PM?^6-j6AEh2h}?6Y&~%(O=4XO?TNpsFL6+5u^rKE#8YvzV*bvBtRGQ3^ +u-+MocL>=+^7%h4?{95L96p_iUG7y0T2g2a-g%z-B-ayr-R@vsM~ii-6p7X|+^r= +Xq*-(MH#kv25=H_~ZNZeF-G``2ZjUo1y`3JGsL6NLVz(|^v27a!NOl!im4go8uOP1n-zy=Q+El+&dqfNC|%3-)&Sbd24y;6TVv%`S`(el+L^|X +jxyNPwvjbJO|w)ZHkQ=PGLUIxmCAF}P;C3aTA6w61B=D9_E#>z)1I{WGjMdjXlfs8tI=Rzt*QrE-MAT&*RP^X}P<7Hr`be{8YO}=nunww7WXwKn)@nudJ)21Rm +&uy-s?@qIrXb|LBa%LZNoQ&wFMg#!0AYw>gTW)oV2}4|U3Is5AH +n~iFRVO?lK16??2fJp0I{fKOEv&9LkGx>T(9ZBxM8U2fcAqwR$9vZD)$=MBT#NG<#Gvx2Ewp{CRWJ(`k$+sbxRb=p&RN!-eMK8y5<&7K}MhbxI7udV(OV4|r +qLc^(%3{GA&Zl`!ag90kv@ZWE6gzO<~n56!U?ow3nSK^Hij +e4P?H6tOB!G^0=0f2sUZIyx`vBE<`2ObC2lQuP|2PzV9_?V?uiJoR?{NoO+jn!>>OE}FxI1OP2q)q}_ +nxheMR8;%S9&Q>&2@QYj&n*i55YL}4fYr4T_&8K{?}=|gc=6#@;yUhNPk_$j%^MD!cW4Y8|G=-#YWlZ +roAxwC)lv0!)ek3f+Ml<7eRe!cH#^M^~)b +ZZs#~<{wvun;`l|~AG(r-SFX`HISqHClmbq-D%>-CC@J8|yiAVqT; +DK8v6lH9y?vc>H+9QJk>C6yEg!7(_wvSeNV`$P0Iav$98#M>(|H9ajJ-_>G;Lhfh;EBC^hv4Ff@+}a* +@&uE?^3&3Vc-_jG!1Jdga+!V-;LlrRfQtIJ^HXY-gO=ZdqH+$h!zd=rl@T4H)u-QH-J`QfNo5X2ZqI*M)3w9{_2F~c(sHF%sBO(xdJb)*dK4DH3Tq8@cj)b9 +}j45f^ZG=hNn0fl;7ZMPts$-bP9YTh`MN9@31KcQ?EHkCe8mXPdZ4~gr6FaxkL=iXBw6XY@&1I4b^zP +f@Vzr1YDn-X|AF$RC0OkZI}W)Rl*YP#ttGO>8*==D9gLqW`agBkhK73K(rzLe1&OU=w$Cu$@DDuYqS7s>-EIZX2>!0D8Q!bt_hZ`*bxwRLYuR0_*WCa +Tavqru|$Wy_zrvCR7#6d7p3&Z3A$+PNsqDa`4FeXsN|sR$elob3X(?zi7>`TH)UIETNlnxV%Vh)oZ4R +KO50N2Pzx{ZummVQa&E%Z2s)yl4N54|Qfk(=2sL=SmT=N;t1U*BF?#`BK3`@jQy8VRjpq3X&6A(0*ZO|kYMfP54 +8T8l2Y0DIEV)?%w-PE&)U-{ayMC4YEibt9d+XoJc{6f8Irk|)9_`mwG(m|Jtiiybt5P6FV3>HOMO``- +g?}u6AB_(hMUtz;mBuzqG^k|DVEihROl5rzt9pzr`r&8^oSUSpSO(JtmTcDW-p|-Buj?cP0^DOZ3Tym-b% +#=Gy@Ep%|~`uVk+a^fBwbi-_yU=V$fHE2zo0SZPp2P)fO5YzFEkc(>`1KpuEk^CuUMIO`f6%0z_gZc_sWib<13lhMP}+gu<&U!{24zxO9`Q&y!(z^xh1?rI!~s%#2+B#iL$riP9;LJtGn`~o8LUdsWYqdp(o= +_kms1M;6KGBF})4lXw{G$A&db0($t{JV8py$+UP1NLm=zvY6QTxINJOhof!BA-C1}^Asi{2z7ZRsd$a +ri_KJ)V`*WyOLVSl=5DUyCE&_0Ofe}urpJ8HSfg^A}hM_&pLOcN){kX%;jx2yIT)r!-HBK-Lg@f7H56 +P#9!FdzzRbc-_076P|&rJiOJfZ0`4l^`uf(haeX+G&O;T&&ejK5D5;8uwjS!9 +;#h@aA{hx#&%W_NhMJrLrJBhtkBe{LSQuw)hfiKXc%k{;ppP6^z4fFR>LTJmFy_>|T~l!<0q-ScxyK4CJQO>B#@=$^0Gqnfb`gmR*$Ge9tzZAnZ?Xo{N(gv +2Fhzjp0zLBSBZLxg_WT}@^lcki86c2VHi^b%AwWQ@y^hXx_M;r;U_K!N=~Z`@@dZc ++w$&rJb<-BUO8Q0t`bv&vz6K2^w_1h1c&=r&^pw&FjVAa^i?8%s_QD4})h +3zd1=((8{n5C5E{=Q6jy#r`c{zyyDV4b$Q!`84bp_-}j{+8r#hLuGA5il`;2!>`M$i@pF1bZ`rKK<@p +6q;p!R#z@{-xb9QPLmINI#O%<2ee_#CL|wj*jx0072a9f{Drm?{j9;ugOI~D=TD_`T)lElC)Z!y-R2> +3>#@8-lU59c+s6)ya(B%V;OLUOzOryr-r}?XRipqDh4NLgb_IaKBz9Km7T0Bcm6{EEmq~fM!Ti= +{3$RQaEI=Li`MV0;M*YQi@W?X3{09vN`ikbJo*{H#Z?SA)1Rdt%Ks&IP)09QQ_HoGDbIQ!^s1ESz^`GdG;XzHkT|XY +-&>VKfuKB4c~Z)4sHnCgYzf!@FZJEna=rlp{ayuPfGL9` +f@kilS28~u4XkJv%=B7haHFv{su631E%)Xj>^c8)WT#EVkDmC)ckINCDBo+VK}|PGwb+(!5z;x2h?tH +&GB#gTUjRo;B-ayVypKh%ejeTDsxqljJmd>B>62mM(_@0E2Ch)hr{b2JRvw`p3CT{Q`hVnDmNq^fbk` +2KC{3hNY~J{6~rMKKy&IPcX+26$UWuhO%3dj7#3!V7%0Z7GWWbZr!Su!WCQ9;;p8EAt~16f%H*ibohH +Z1Bs}rZxG8zD5iYHSi@rHxypkYbmNT78Y*4hAwYQ?rIkb(j2b=+=Vk%0Fxus#1)sF2E4z$hv{)xVNBADXAI&-Bw5ZuH!R3GL*MbMx4Iy>zi| +033-TmxrlfX}61Q@mKzALLK@Bwt>PrCN@_{BjVAfyae7gsh}Qz +ylBw#UUdY-a0Lf!=vE+KO<6Zr)q)iwq}exq-hp1${$^I3>`F+vJMC(TDkxVw3PISU7KPfrT?WptA%@g +<^c@^$2}VMP~bj}t2BxF&N2KknZ&Kk>DR2C{CD=(<^5@v| +7QB@$t;G}CxLxcP%5wrGlNs9{sF_o&d*{H=MOHXvmW5{hZhbOg|q0|0&e;w?Y!OR`eFK#uSMd;Prx9V +t>i0*9+~kZDYzH{4D(R@CV;@_3~gh0hg_&no>)r^c{;{x<_$CJGmLkv8Z|pqUoG)wNROnejx@|D3Vw( +a;?uYx4v9tM&wwie@%A*Ft*#ZsX#fj3QQqlmL%aSpQ9sX#^t}aYF{Le*6OXNhSt@zXThzeg&>pb5g)_EHEVLmD2-b81iaeO6mXj_iPu)fzbeMk1xn33+2lLtPCQmW +2y6OjpLlR>OQb0}Ze4X)#n1QZKllq%V->!2(O>HU}{uTeC4`cU)3#GtRVavytZ1_w9t&O?dakGbZw6< +mqlpnih%8(NzfIkv8PpwL|ibqR_P2)!MbpEF&1)~zM^Y{TE7A!`FiBHoR4Y(p2=Po*I<|6`R=k|7^|HgM4pk`V +QWNiqx_`a|p--MVGo(=riTKE}_H!hnl?@Zf4@o$Q0qjXYIUwmKR+FN?`}IHF-ke8Ub(pC0P*F@wl*QP +<{9>m&{zS@Q+%bH8=$+#L#QxjIEa6b~mTh-y#al4h@pRSX4lpsX{)sp=qF+*ae89NSbZ@+HO@m_9dUX +F0yze?K<&ucZf=4N|JdFDK@m`$h1n!~OBM@Dbpd)*nJY?JlwIs)gDD);(xoJagLJAoB*N#HXS_bXUor`5nePV8(HVnVTt&hx#rvmb6*%EH{EuABpjSWA)bY +DhB&!^+1I~TTv-pOT?8cOc)vLGSfb1-7*V@>L0mbN#jU6I4I*a9AUl~DZZkSnwyfjBWH5rd>KEPBP;W +h7V>azDsm_~QO%VwR5FLd2rn|YoE&BQ%QWwM!2`E|yi**IO}tVJ7SYkJ&kt4@M +DKKyqDefWgV#u-uU!(!ayw;{c!(j#A(+bPs)I?xHhXS&x~O-a_kwlU!phlDRr~=?WLgM9CO@nwQHZMP +iaQw)PYO^yg%5gr{Nk?^2l`O^I}Oy@d?5?$byfv-HZbIF_+BfCkEb@`pzHQmjY0*yxYr!2cvQBk#fgp +R82_l9%%Ym<%QVF6rix4;sDOm>cx2QoVAzoDXQyY%DBOoD?fA??9ALddIC;H+~)+{sfoLcavAR!p3cb +SH*RW9L7XfcMSmaSIy&d%RVUhv^U<1UN{zVXVQ2D*)!M77L@&vVBPbTqt$R7S(~MZi6WR@=GH%b3EYb +!RbB4Yn(;$$0|s=WBCYY^S>ohj#ocf!q*pQAngcHUq7-Ki;^UX!c&n0K2#E4|<`QzM>t0LTxO_9aD9M#Rh=gv^JtO1wJ&1Ep2)$9Qp~3&3n8G +z+lEY|1TIh><1@PvT`CJ{*HpKX{c#>KQ$gIxEvu3&Bt(m#haddHa)f%WL88W9>1u`R%&ffDOgfRMN&d +jz=vr4^$wS9E_x2P!s#y%e%(L*7Z+?WxVeNW)_|wo}olK_jS1}Vl^ET^Wq6GmuSQGm?dJo*g!XVR1G058@y69UP*ZT;m|6&rP<%~rWwVPeq62HBDIU(r~Q@F~hF{I6A1&>_z~TBi*QCLN*in)L_EprX?$Okj;o}^JykNo17t|p?#!6az@MbW-#fG8hx){iN?q%lME#+0X)fzoKnTg%@sx6mew<*0363-|UbyrW=> +-Lse1T}8bo84tTz`^mv+50WJ0T?l-i+czV(`%G5*96g#o~z7Vp-k)XsJpnY%~KD&XQPszq{m#nk#E^2 +E~)z*YAZCrZ1lI9GYY8c?>NhjD`j~1pMs?>_UD+KpNIfVTtMD@^;w6k{XXKcl~!3!?IVg9nutW&;dasr)V1$SOjbu`|{%`Rhs +>2i}*(ncP34+m0MH@mLaP8u6>I+zvM_W_5Eupxw>Nn>$=3s2i~neu0?>G%G~icpAIM3Vda7d*asC1aO +D9aXdhlIKnuL%nK;%JZ~3ZRPv8D|tfBy|+%J7Q0k4?^M33yTDeidsu*z{zf3VMI+OwnsBKxZoYC~rM` +aXtu6SmG%x`Ju0;DP|Nl?u?2YIs=bSd9~ipQ+TheKT5mYoS4_X~J$oIoo^K+Y4zKU~3Idr-Obd8iVdJ +ro?N42rn9UGAz9=+Ff(V2d`jGgQghG#8rzoA6zuAlPirY+#e~u=A!8r(Fj`_hQ*4Py|E%$)5F%~SZHj +KTl8T_cqaLDKyb`Gor$g1BV2( ++who+dtAw6`-$e0PKT3z^88?q%C@B&Ld73UAY +f_I9zfPR2}4)Rv@a6_ijznj(JTi(EfWBlaPcTZ95@EDTHZ)5JvAoy58;weFzvk;IFDHILbVpvR{J#}C +AXQ$OPNJUQt^jp;Dne76L_d}g(YJ>^9?36hNi4?dhCr|IuOjISt~QZ-IVdH?>c736aN-AKTgCmk?G>QxunFd-5=UFtIIq`Fq&z1e& +=fcjXA``0r-nHG91DzlMm?$ZV4h*k4rMfcb(i+~LWMn+dgPFpY9yVpAGgvsmm}bJJo)ZKV1SQ)0%Xzt +pI1*R=hr&bn@bwb1a`O6#;&n9I~yl#KG-Lmerv^>#`dnX$er>)nPb9$ON5Y6J$V@vCFUC&y7J+Cp +I=#NSxZl|RXBY_?5bgc6Yc!JX>N37a&BR4FKusRWo&aVUtei%X>?y-E^v8MQc`kMC`e4sPE1c#D9K1HQAp0uD@ +n}ED^|$OPf5)wh6om=78Ioxr{my(ha7XVO80|XQR000O8ldVxvsVul+x&Z(Hs{{Z5A +pigXaA|NaUukZ1WpZv|Y%gtZWMyn~FJobDWNBn!bY(7Zd96~xYTPgoz3VHc${{wW`hZa9(518?$r1uB +gi?f9j~B7BBqVLf67uhrytX!`E(xVN$b)Cz=)E`7dE0|ij*CY$t@Yf=%}#EW+44v9L0JQ;ch*O6(gy? +?j)54ngmk5YG7-Izn(w31f%mpW9VYlS9zM%}?aKD40p6-7W&Vzh2bU;J*xQG@2eJD0Wpyp?zpvL<>#u +~UZsGR@fpofeYZ95#k5S1SS_mCwaIMU4g59K;5VFxS1h_IGO08u~Jyz1Rs+AF|CAsyH9;NgioyUMC29 +V%vOp%fr=w`xG=&T3zsx_amWC(-^+QuLRH1Lxe*&}5@M|nBSeCe-aaf@97D5IhfRY2V_$Or~wJ%e05( +#z)z(g5%Rst`Sc;mVq8_;?9xYp@jNW<2*wH1cPjnA~pWJ5!C{`t;BrgD5=)-V^6@GlHbcYR5 +DT9jVKxy-i}vSq%B%RkUP&s?A^FH8f5=NFJM-Szo@p!pk6O9KQH000080F$jzQKi?vk1YoP0Q4FF03r +YY0B~t=FJEbHbY*gGVQepLZ)9a`b1!6Ra%E$5Uv+Y9E^v9hSzB-0HWYsMui&&kNSz|Idl;|)?rJn%7p +%#GzzNW~o}x%}%tn?pQg-77`R_Z26e&`^#OcisDRszm|IXp1p68LX;Tiem)Tro2e9VMD?m-#f|1Z +d4Kjke)Grh&7bl4#p&ts>Dyk9O*fDadjx(`sw=^l6ZjhxtB@SAv<}HJs7$VN8j`=Nnw6kEB%@VD)!)m +6hvcFFy5tRd@}Cju>sj9$c|h$Q9iI>1jN*&)ck#(^G&mZJ2Jz|OWC$z0jB%RQF?bzeT)p1#^fJC2oX6 +)l&1saD^NQuv=iWabo_)9<4-WoL4*q*_@asW5`RT)hf4GSn{Pqkr$8nP9aSVdS(l+l%YP;aM7j_7jNz +Sqaog8vra%=v$n3no;z|$F9Qk!&{iso|yuBLe+1lcClAKs-@Mlw)|s9-g4Wpqm78(RBWNa$S!yflkz8 +R%OI*?{?Ek=OmxvY-v;kC;DtNPNuHSk#aTNZdqaW;}v{r0Ki?B_Ic{>~Ceh=e?yhStj{{Dp+J750~&2 +Ns5dtDQDA_u}W%{t$G?|+u69M1_8=s_#eo$X6 +bSO5@~6w!u+-4rF%WurkFCs-lsq)4eR&FDlqunbQal;PI=nRPOD_doClGQ*lJocNF_G=cjE;v4GyL*P +X~ohP*`!$hXZv}2dEGU&OZCd882f>6xqzY8!w`}SBGIeFa!zk$w);(-jK5qk&UgOJV_qK1$!p;am=Ca +j<+*d7^rm!x&Ria}poPJIRyE4tq6ZZ|fLVqs$pCdy&`soX#j*jaEOGcE^E2Wke~R0JU*h@MUyOya7~1 +m2tpfxR1Kl5$EC)sGMy#f +D;Rh1aw)GEYD`>U{zr6kkA#JQIk~x-)*TzMXrE@@FbsV>$7BruR<_lQD)=hBC%)mxD2Tqo4na9RJ1y& +}fOX!GYA$x$e+Tb48CKjJ4^W~Sb$%gPauhopv^9USL2H7TLF0?!QdxN_+9{|y8z2#aUH&tiRzzVnKArJkvZARLFV +D^I0S#4sxjmIqLa&7>t-e45x`hs;4UEFphbmkuwpb-3s6uHP26#w*=Car;x;rY$32D<_tpoYy7He-wPiV7ns+&E%S0NWD#ecp}m0RwAg-VxByYNPm7ko< +yOQj}yfqjSCo>hIcctS>L#%es>^?y%tVW;)FEc1=o)EuBt55G@V8`r;f?=}%wYsMG?NVZeOqdoO^?mv$$689wlEry~ +}`Ja1;KzWO>`@OWp2-tqm{E)~Dqxr}!)tCyRQfpj^;8FH@P`kf@JMX$CW8rXByM#Cz@OcLBw_5w~ipj +VN3PVtf@UNbHi$HZJA|Hv!pGLeVha{ ++c&NVuCD3KH!}B<;82|qHT|jLWd#?jmB}vDc_J_6fSTO}Yo`%zL5Q_ate#1)4^hRZl4tl@iEp2Xn2ao +noI*4hzO&#ZX$~~xX1Q}>F!KBdxmtn-NEFiZt!~h-?;7Vv+KE=K(jA2eYfjL+mPL&a~vmkn#b-+d}_R^V^EM!}!8-$d3?Kr7GWd%AlX4La)eui343h%v{XZ6cZ;w?l+^de|gl +;!rl!&jfz>K +MlosV>k_le~Zp@{ky*qd#UCPTA^Gb9o8_X?v9pBQG=#TgUPFep0P)h>@6aWAK2mq6*RQy#50+3_Lt +hPe7!WjTF)SN46hjdN1S6eeE)?mKRNOSkf8UXkY0*~lP*e|sMBaUO_wnxI#^?@qVpp>VRIN7kjyL!GP +N=)OcS2ea-A)?^4Od!;hD-4cnc^L0*(SOQ<q%3?eW~FwPF<8TOt~9$9ikrv0f?O +;4c=){;tXtfWhfu;XR#=pq3Zl#UN-L~j;uTiL)cy0uQ-Lce4jf!l-PhKco0|&G*GgFa0v;j)5YsUn2p +cw!@cub&ufd`#%Bk-pwR!KU!NETo_;Twhe*8{NQjp2tltTOx3Djy4tK-N$Yxu|sO}Hk*Qu?uUN(X+5NNT$%;EJ)_h;WdL7rs +^zX~W!?*Z7_3cSs(Wad8sqp*x98>n3j-kTo3^>yu26tu*Glw6LsdG<(^QY(H>A8ZZ=Q6K{Sxvb~&yBv +kh%r{38^xBJ*_(FS2}i$DpE%KU=(f6z1#L0f$b(84>Q3VPq?b)Fy{+f3n}Ms +!SWCxt5()#A8KQYsM^D{AJ|!gnIsp9n@6kVYamMcTaseXnitwk<~NbiYOEBVDiPRSVVP*JuZC;oVJQ{ +09CdK6UR%@>LMvJ;I(V2TnsPY{N|p_<-ioZT(%rEd(rRG%eCy=n^U*XF?4PA#q^_Xl7sOR^8;a}y`%^Q*o;#`%Zv!qdu-Ww(T+kBd>Za*vd~_p*vsy +;UpAfuXo{Y|Arb!@u7#BsAbd8S{nR9jYC#0&6)|vyDWAKq7=tu~fVA@vW +f0kvn)kLt@^{0Nv7uVpq@P`kqx!h(TYqeVa!Vrkz{O9UG~Ee%w&(giSP5}tp+Pw#MsP#-WBw+$1Z@R!vbuKWVaK^lZqD(~g?RPl5&Pb7gUSi^-F

zilGMXUD0Pg_LjL~VES|E@6aWAK2mq6000~S003}la4% +nJZggdGZeeUMZEs{{Y;!McX>MySaCyC1dvDw}690cc1Ir+FCNGoA<;0 +!_FP_e_O_%(C>BRNPc5MyMioIWpf}{*-GbInBaCrV@t<){uwOO6g7I1ypAcMpHc^_S%K@P?mt +usKt6C-ZFt(&q{VJxzY#ahTp)Z6QK=a+QF#@MVAYpT{wc;A|DlgT8`s8ZxS<#*l?oW6D7;Nakj<& +r7JwIbA}S3)vivl=P6r12dXLC(;~sUiwAWsH2dIvurA7XdM&v7YDf7Uh?R`0_KTRtYZjpgMm2<{e7mrACTt0|rW_JB@@h84vSlO0Btif40%Of) +L}^)*HipkH1ZP2qv`U8?lK?ls8PsuIENUqoM=Mc1DZt+_wIFD;_n0sd8?HV+^J`hS+HQr&40)L(u23% +wL!TUePf%S0IwV2$JOin8gAmT}2N6r6*9<&VqL49z`iBXe5G{zemJp1R04?&nQW|t;B;`s|4ibQ&f{< ++2OtPAvY@sqPMZuFMmiU1^1;~M`VOK#1_!)U`=s+>o6p{oUQTT6HCEekrq5G{Re#10PsHS9@vMdRp(Vh +)hJ@Zi5cX|MT%pR{+iK5+-rG(HL2+!Ud9A-yP$MoJkKSpuq6?Vcquc*luomJPZS-$VX;enxC5 +<)N!x3r#lqO>k%^{i7o*_=xZPP +PdNKU4oJ`>Nx8y@$ +UAxm&8mPBv}Gg_*x55i?+Ava)!51rz@7;^LQ)=Q1xzbYcc5)aV-_~T9CqVY$j*RJ9xDxLge2(a;L+2j +f_?Ufa;UVX3rM^0@{fhk%)@t$5Ks#dG7JG}=lm27MdVW*)4#~iI4vYa46PG}h$@zKI=y@eHbCd{eBbY +81`_T|3UfGpcD^|WTMJRsiu!64)VSwlUMr`Yeim9eV_KYmJxPmu)-V$zcIt9m?7rSGKbRyN|{bvx$GfT8qZj;!@f{{X`LAjg|eM1Rh7K3o`?3iw_P*#2;8Ikp@pGy-M +^iTE4z=?GgJ-S?Sp{oN*^94`%s6m2S`FV)<-rmA?>%_Q4xQFD!tM?9}M-Vl%3*-spW@r8|ZKJ +Qv&2sestOhYTsJ3xfS4$)c~^9TKmsA$T`l9bwFU>)PD3pca#kskw72O&A_G(E^v8ukxxqlF%ZS?`4mHYs6yQyycIl%R0I)(obG}xo2pftOJ4SuKkvOAjYj4=Ws +r}K7?3&HfI<$oK|F+(1!F`BsRg#4UWqF+96(r8OBo}i4dqRsEu;o;gCXK7(tbB!>p(n(3^uhw?=l4@G +G3(P`E2Hr<*NG-pV}(r_3V6B-qhLAd*$Udjxh@5R&AaAG*p?9nm1;7b+foz)VGU=C0xMcq*ENjYBGgM +_m-(hPv|IfFWKhM$sipHPM-7<8#OyD2h%5M^-NYy=LU4>BbNn$Pth@SD4t>KgY|%!;ElB}kO^G +KdOqc#`J0r7YcNY_(8}ME5$=cldar%KHC6j(%^>QUV-l`w4fiAJ4mxUdLuiB4^~vz1A55{CeyvI$Q-J +aCo9Doizv-@`Beb-3gq9+Y(7xM$P^oqAvnuv9T~WXA&R>sr>JS%$ii@6a +WAK2mq6zVS>dSkSkscJ!+-A?7Z`qeaF6vnBCLiltx+gg*cLKQsP%RDib7b3nBq{d6Hv|~q=SmY*GvC!& +I8Ra6AV@=rPnb}LnORKfo)T)KBPBP(GwH$@_?#?QQ=ef|(PNa5R<%xW#wXY6Wucl;!cRV&3&QZ&z!bK +kEKPjFm7uUkMu~~H-LSoIVOhoJ>QTj9@0}fiT$;@X8T-}QENn2J&%^&O^H>zF) +WS>0d@5l!7G9a0-hdlU#*|~R$+v1(0s-a?bHOZc422I-+L~dDZCHz>1cY0#&*3C<6an0Bx0!N+&P~JIjZyT|8tCM1@vqriWSaQx+?D6+q#2TR*D|%i +87n$e^vI<%zwn%^`YbbOC==;|3_k7akBlcsdbkaE?XRo$Qq8=z7|*1KT1`7?Km8okAv%KmwGr)2bSzZ={(%*nAre>M7RC{?)>0W0yN-29|97BeL~zC%?(iWQ +Hvra;_c^hWos-WNhD1N{5Cs6K5c^tuOdL(E*GB`tG*CDxx5eh*tJg_OIlrxlg0M*8pK#4{vOleu6 +B`w~LOBbt@e*@*S*(i<1Zo#Xm32KSItFitgb`_>V%KbOj7vtiuEDlTG6d=&3YD&x?RwySY?8t{$78 +Q+A8lb&V9?Qzs6v+}VQH*#O$a<|p^gr_L>r_@n7Ls!QrJExyW#;N*u0O|%$Z!Ef3TyT%p?R)ylP}g2n +LCj@6IECD+<(;%MO;fSE~>s7`XMPucgFtud%-K77@r>=F8Bw7b~)k0YSr1RF8ouYP0x?#+IoZnQNe@_Db +skO^D#U!*d=tMu?i*qlZsde1QIu;o@+OunjG(%5@-OlOozW2G9rm1}KaqQ`-f5`!5ytM#dOwP;=lp6r +g43*07~F!U2)ghaRHgiHbbowq*tFH5Eqd@bAie +yp92ZSF3y4GvVvJSIXz%=}R(Km%mCw@S^doZ02R|;H2Q_k3P4Js{nX$7|;KCOe}3K@6aWAK2mq6R008_4001W +d003}la4%nJZggdGZeeUMZEs{{Y;!MjWo%_*bZKvHUvP3|W^*oZd39A$Z`v>re$THsu?MI`GilNuhQy +?aw%as~p>5SvRaIn?OYtzaXFF~A_dDB3z$xSbh<$h8cX!_%wNX3JT;~Os4vl0YZyXmkcYDp{Bk-M8#= +-Zy)m^dpa=rLg{JdQ*zb-##8Lv+q&oZE=_EFOaKeXeD!XNHa)Sar3U~6S|%oU}Q&M472--OdeJj}AJ6 +wF%qg#t?-b!D(dgR(?BQR}~ScoBJwMx*e3ElZ|tBbY-AZi7%VS@DWq!FEAFAEE%!fJ!|}p;$#pgdpSs +Tw2G3@Ojl-pv`-j@S`ZKP|g+w%;A1ahU&T4Gr7fTJcah1J_~{}gv%^ie~~6Vo`zV-GmhknHJ8lny$^q +s%3xveU&9UBLhs#1$?-!Z@&>Nx#S!09G!+teIA#MC)~pc@o|tG5oPr(OQY{*TfUMk5eS~NOSx!|VYL- +`MEIedAKAy2P=eGAF1ag;NncNDc73SsaYd$q-(KSk)=G(i&7f!V8_EsOxuo5kFO~GB- +P5^r^KhSN`=O7LG`t5KMoEBAOQIw23fTKbymnfS15ffizkth+;Jy1>68eJbO@d%2rw`)vDfe2U +u6FQP)h>@6aWAK2mq6bYF0J +bZBpGE^v8`SKn{jHV}T-UvWzwECVWmwcCpU4;YGUE4HOUmpv4Qq0$mh8Pa@w*?Er&1dSwzg5UH~IvnELkd*6GriZRZbR`W%^WdCwH=tu1+04Sdfig909I_aH*|I+7Wr;w;q +MDQY%E->(uE~>0G-cT3$ACk~TZTDs4`@kpGEvh;v!j)umL2v-aPg?>?vR|G0VoXZq>i+uIMfzekbW&u +p)}s~$B(_)A)sz{k>|X!-lTeOR*oJRPJQq543idkO`Q3@N^br} +6d-k>4+s6M~?C}gzNtdQ^CvQcu@3qe!tZy-D3BWa7xL9>pys^$~d+E@Ni%Omr8@!VQ7-QQW03-7{OJU +4j)>*DP)w58HrkC*M7a-+6TrII^tx9hAsf)o1egy<1x+7Ugi@}FIG`6kaCOabQh)6AsY==b49k~N;1a +uh>yV`R$tBk>;P%&}h#NZ=tnkQ)y_DL26?4`;Bs55?pnQ;X>0lP{T4$0l5LF+S$T8oyXVsMY{iFq7vM +ysMGpfl%DjSiDbI`pohkgf>4_TmAM(yn)*&>7}V%_eaS*@59ypxc`QN0gwHMOIia0&~@3OeolBGBDPr +bc+Rqg;kGmz-g$gfLO2tgD)6QHng}|z1x0SvHNT{j*HE~A+`iP{UcU|+RV@rjo)US +Tq}uvxv`E(h8^K*&7Q#sA@UND7n)H$vgANUXbhF%lU1**{zodhw2~J4#mPyx>?gJ#DZzR|d117nQFA# +1A6nlp1|MLtAvgGlic9kqyog+d;2u%0$Dgn4spGg6{};3$rx;%_HN&Fk!hnnqqE7vt*;PZzv@F=neD$SyxKA6kg&(i$BX$WThP2W?Zk`m1@O{ +Dx_f&C_@sT%9A5qp7?Ooko!q^)Z=3=I;}Sht){hmP-q#GWnP*KkKa3tCoKKlPEe(vzb6gw3jHL{_3dB +bX2YYmo(8icI1hg0bh7A7TzN3rB^S&hg58d2Mf^b)hKGn)aelVfMG@6aWAK2mq6;+rCI?#C@+?317ZcL)a61(aU4f_RT=Arg(#X^vl5lAWV(SeH&#|E`=A!&>ea%Dg +X`~V(e~A)2V1H_!Y+f#Yg5*qSLH?(I{%Z9zeM1Kqc3vpb>XDnSGd(N_SKu4H|dL?E?@kd-u`iYeRcg~ +6zO@-@-!0ox<#A4oVU>%+|Wd&+qcL@5c9Jzu?ts&jH71HPg*YRVdGIb*ekLT^4`c$sB +7O>vC>}Um>DVgAe5E%iAA*{q2&MhM}??<|0MfwNKN;K`|e3<%Ijd3H=@sk1!R9^L8l4=i=IwP+N(n$$5eDgT(*SP_K!re^uBV_$z-AZay=u(PpW;TCU{aO8q9i8Z(Q)KprQK~2giN;RNsPM+b|25zJU{5ouYfq;jD&S6c|YN6~>}Kooo*S8{&f}jim&`L +;b|-v632MYuveYMVA3KEQei++CR)acIzpE@gvLkTn*k(U#O!nTR^~^He9VZBoFs(UE~o^r}K3}l`S>i +9W)a;YN7GkZFmU4kr{$28%@2$s$r*ARRJR!cNmJ-l*0daCqew3(1OL^4rFMiC1JE&N2m%nAJJ2JVJGhLzi5tI5e)qjB<21G>CKEOdbEetQo~y$V-M-`1j +RK&0+`emJ3&+@68gW5e2^`=C%cqL?eP2Ly}?tI1Wx`2P)h>@6aWAK2mq6?y-E^v8MQc`lx&nrpH%qvzXC@o6OsZ_{IEh*10%GL#P +5=&B36iQ1nb23XZQ;YSul$4aX08mQ<1QY-O00;n+tx-`Cr>kqk3;+OxEdT%=0001RX>c!JX>N37a&BR +4FK%UYcW-iQFJX0bXfAMhwOVa&+c*;b?q9)EafsbhwO!yo6_*2Y*><(#I-9@v=u3YU}arMT9IwjQ&O^uk`3dFj3?=0V-Qi +LM>s_e6oWZ#ki(w(iRhYI>IZO$hLyqd)jTuu(4m$LJHP$;_RswCmzS5n=GPytu3lgL47%7%48Kr&Dyl +JspXySkpuS}Y_#XepQt@9BY~AjlKavQNc=elBSz$ +!qoWCFhLm>2}^ZxneD~(_X6o&=tXuU`)@|oMiigx3EMT3x1Mc4Ut+9abI^GIA8_-CmFaUp_bMQ@>h|l +Q!Qa^r43~@#l>P#(T(x|^FUeB60L{y0yVUwE6vjr)Hr=XmR4db^6Z~Z<2P1Yw`wwY^EH({*N!hy+(fx +71PM}*Z4F99ztL(nduJE}aP_uf>!Pv4TG$XXm{d!E0)915UpV1#y`erA4meGXeyC00&^}0kKr9#W1Gm +N~>_SRjuX{-Y)!GmGte@Wq8b3B#t?0VnE|Z_Bl*2$7N<)cC=@AaSiU{EnU^r%UptNWKNKdT+vq90Jh+ +@_P`QgOOl1cSX8;lkc^S!*yPIm2M4sQuR_T+AUtS&ozLI!r)?AiUX-H8{0?x&qKINiu$@$)@SiywcCf +%A@(uqYc~n@r{HrA?CH&1xa~eGXw5l1IK2wAsL!K?fbG<@`PGK?ZeO(a)Gk#5vMm`Qy4+ux70BVgClh +J%-iWTNNA}m-xXwGPebs!F`XX_+4R+|1qFr)Pr-reDw@r8q#q+jz^m5KLGlufP{KRb!ZkqAD|1087cB +cL^}6QcLAN^p{Sc;jR|f~$-ZtNC~Y>d8pw#^f#M#!jJ)3X&59D$EYeVfcfi3zf%pk6gGyYka8ken{61 +*bzzxa826=?BfQ-q5D!dwGM@6a$6-@*4#U1OLO8pAfef)^51_4BT{1_fU&@7gDI5n3nR}-}ak2`VH9?vb;mp;d3J-&@?>Ce7L$S$~zc@cvBs~@ +oSXP0Rn4Fxk9(0Dt5(zD9~DL5h+WbTBaEQ3U^9d;N}1BK|?rCW3+&S_b{kYGi-J3*+VC6)ZOv;i$+m2IH>_` +~6vYfvo;_>XGxf|-!8xL%Wxc6k$MwPaO&01qOfmy7Fo+y+fS*iMm}7c8+|i{SrOk9Djo4jcWYV&o&!WYiz9#mY>il*LQ^4ji^9M>sEZ-jEA+u(S*{?sMO#`Xt0~_Z +vlz%it9$78mb6N9CjR<^S${*VsN@nSh6wn96x@^egmb1cZ6AK)8VvThJ-7`=AktG9JF#1pl03jqBSZ8 +wMkJ<`<^`(s6z~>k0fIgx8lQfGxC^z9N+ZrP16fT*qf!v{#QTrIHQy~|R1ISQFOr{lU&!o=hhzmo32T?jckncyCI?oR*!{{`!PCxIPB&4~2taO5|S! +{@K_Tbco*I*2(Lm&tjHn^hpJ=9 +|JoQ9tx{v|p;02pUn}gXibA%=u6R^&m5g&*%5diiJd7DEM|i;cut_7*37M`k2x-#q0JbX$#SU3L0P+~ +uOWUcBsA87&*tTy=)uzDH7*!UesqUmNeUDLE1>I8L +CnV=b^$ObHh<%-<_ApWQ8!JnYpA3o1f0PPsk-}A1IgZKqHef_Io%3DQT5p6b6ltB;s_g>rbeG_oVNz& +6bp^L{EZCq^j0|ffQ?~$+7{lS3SqNdvF;9`G^Y4NV*Z@*@1+xEAA;aU|NAqxdAz~z1mr~YLvkOyIZDu +3(Q7~Y*Ign?(J8QY7&=+f$rQ_J!^<^(fpJP724=xQ;cTEesQD4dW*SjBJ%i+V1&AhsX)h}VMFxLkTRO +I{I7u9C|6GGfpbsnGwZzGPgW^OE>$lD={0Q7`cQ6%6$Sb7HOV0KK>af3D834sir-;F6&pydp$b*cRO& +MqQ!4#k4+o`5EYB!wCJ3N?R}C^=!~GvrS2SVj~+G;#3J?DC?5;beMS@wnye*BJ +!|CZ`Sunrt+Q;i(v$qhyuWr^`j^vFvLE?wkBAv#~@}ErA{y?UAz}SfTA={3vmF3U1d!q-g$b1(@7?Wss0i~8=rxEC!yCd)TR489(x60 +&0Se9lMmS7MrOZ!eLbcuM+#btp7i? +EE*NqbIA3^qzf9iRD<_hyM&V>+ktxB}+xJ_A?jfrVz2gO2_C|8bLZ&Q3nFXqRsIbZfX)1XlGZ*1BhLD*ZU=(mdcY@qxGhK%$FLzRdy%WxX8v-H8 +&66W=PqKN3zHtPXhvSN|NDC;Ks2J>b&bRQI+Tz3a9wi;Qy;;Cdd0=GEZr+F81mJZr8?U%wY(j0sNVoU +(0u$>W6C?sm6OhIQ=v~YnAvhSYSMPO8q39k_g8w+NyE1 +*0;bhmWKy5>R3w?W$v7sWSV5D;aHuq>FhsvIZ;rLn+$l5={%Bkn!-SUVn%4zN)^pT#7{Wd*Ey+W`qN(GH^Gm|*$cB&~hxUn52zVnI1ckDeH{G4HqR&QRVQQ3$#VtLR_&$E<-4w6MzdH7j +*xeXQl{}-MZA|vK}FOr+7%7d1<%@=@}%$ou&eNaw?mCGG^q%G6Ts?ojq5isYCOkZi7&%4t%r9@3thw* +_q`~$4vdCb%3oxQ+B@bYYV1_*Qb4xLYJXXAdi4NW3^Y3!-uDxN%i<7<`=_x{%M>{U@Wx@|mEFL3f7P) +h>@6aWAK2mq6cK)-VX000>Y0015U003}la4%nJZggdGZeeUMZe?_LZ*prdV_{=xWiD`ewN*`T+ +%^!s>sJiagQZmFtrr6>ni_Fq6t#mSJp_g!P}0bvO_3@|?PmXdhZOa(b~nu>x=1U|yqWjr?I=yt_n$w1 +fST7Gg6Ic{Ju1hY(26B#nkEUo)W(6fNo#ZuwN?(lIw>lMC-F_s6@NsNOkslj|( +t3NP2e~r5CoI^HJH+VA%+BI^G=yp&sXqzrK9OsFi@h!W{NM-7;S9!vV%~0?*0B&D|`q6WW}2n_DD`uXEd9-CNOXvM(fg(ipTIYS_k%74B^bH!&L)= +(LN_Knrs4`EYdDvdu}~ADqcx!*jzZ=ojFXc`s*N2HsKe3t#NRW-FBHY24TQRrm^R>?x{Ob2`Stm_?Oc7PK$;HA1qCRsq-wwXwj&Q+u1k}ls%bf9f$_$q +hW-whAcb|=lyrab%R>%7!~OL0VTq0VKwIVoWKUYC>{$5%-UPsWm7P?NQa|H2jWn;Y`|9A(K5RO49W@v +Vy_}(kTmtuk0{>^<9L4GZRpxODI5X8*?zcjF9Jis}(np3j*@l|kQY&D`<#@_V}^T^={`qfu&3O%7o%lsO_Y~p+j7eAI+%Y4NmP~50S-)E%E@AAZtmx}Z;*y~-SoBRtTyI$f8Hmd0El_zB^K+NLfys1t_ABy!YoG9y^&#j>LW2 +2wIZ`Zf%np8{fJ{z%I@^24akYY_Xd{dN +ntgVGCB>QK}lvc%B)T{wB_Uz%={PK8ySstEzo_{DWPX9U%WqGTaY-v+e4KJLBw+p-FGj-?c%vexSYlEWUH^!elY>DbxUYAq^St(ZH^Rf$JSv-p(MR`WhRX+ +q%VQButW->y~24^hdLnmSs!VtSqx6NouwrC2W-|tv98 +wB32^BzcQPX7nl(ChNLc%jJ$g5lW_%(U7K@SK3V}=M7@>ZT&s<$V#O$QhPs+o0s?9EtA@2py_#NUM#Q +!UN&leDmYGJ#$p`k>eO-cm^O@}!n2VOVP&SfnsAOf`^=0bOnfFona^N23JlOMT58J)pR$3;*oD@Z2(& +12Yb@Qm1>JlO}ZAu#`6ywQMTXX<2(Iu>LBPueRnLaO&Dxu?qq)Uu$O?lfV0=fe$jbdsg?y*~JN*l#SP +r+x2v@5n6`im~tP!4O};HEC^*|9cE;a~4+7+-HGQZoJejig_{Wz)j8dD`#hVdtlzuBILnT+O6)_V&(wVk*#H>AumLg!Zr}`qzb`sXM8l;#an +ciVhjeF2o|40k8IL%mOmU=FVrjF8lyxBsRcxqU6*p83oa)>ME>ykmb+0uYS<4BC&~4KPITBk=_62y3w +*F^yIiYPGMuuuSZ-~=o_y*RYgt*KVVe5^4j5AZBt2qWv*9bnC8w;BSYiTTS%MISltdqtzPp58qnmKg3 +l^&EY$e)a~3|L1C4;kaDR|*?&H^G>oNzElthmenOUD7+a5or@>;s9={2GZy>Fuo#_qL>h@Ir<25h8GO +H{{hT~srHgW?f_u_gy41BZpK?>->i_EOLd5u_e?|433MoJdLQiY1)(p2T3d2*d3o;n18xi2G|104w7P +|i+8Y)Qo4F~32@=T0_J1AYBgm7v3H{&TH>yX~T^J`&96)UVxP7}}3uyvgA34bw0MkR?ok%Cg`t+& +W5h^N@v^n~8#RJ>o``ycw(fGuu6e0}Ry&o^HPGv2ykLx-Y69`Jj^5Azgz=?~+yJA7+I~M+vK}#p$$XW +DCQ6xj^A*PNrQV3_trXup8NoQt`_SHwXS9$N2Gw{M1zezK4!GTJ^bb2Qe4Vc3{wEuBA*nVPE-CwVUS0 +o2j4egLaArSxqIXi>EvrLppr{d3>E+9bEf)7;9}6nxyyAd535Y!1sBz`bLH{lLkJ#(?od1f?Ii4Zc_`fj)MII|A3dUGk?|yms{-PMxJ)=9`Xe_y>R +pcfk?7SK;Cr;k0=GL`LHC;%==lH25DN1~Yz7L(;MvW3JittXWD{iyf4X-=C4qS%*q8wEXJT$TW(>Vl< +bDOHA>g_8&yn6rVS5gEzGgOrNL?1E0y{Msj?YKY^Egaf9@6aWAK +2mq6pPZz6`Fl`e7rk3IT?-Om}glWvl*L@@!>sJYjH3BQwdXkQl=`3T$dsphisfmQ^qTuZ{z2U5L +sO5Y`hqa@CjQ=Ba)KIEiQN8;!Lc{u>PXudQ;lPNv=xqQf6{l3%Dm+uJ~GLyQ&o1VkI+Cuesq{kv+Hfp7E%0Fs5IA+wh@|Wo2Mc(weaQb&EwV0V|@AH)6MVk!}aH@eNiJ{ +K@It#}qGQ9kGTDXL1@+6YDrem-1Xyt}%82)4dMtc-gqOpz;ik!&jU1P>= +eHb{3=?h2{awTVCey!#VkxVrp3zW;P{bA9vMVM*G{TCjLp$6z+EbRtZQ8?NON*5!)4qqU=vTn$(_C!g +)kb)30SyO6z;2|(c*Eb}tgA^QlbLv~xBYMzDcu_|z%8Wn!RJ5JSF-+8_biyheFdzaO|vAs<*!Wd9q%i +YQ1!9E#{MoGqvVMoqOaP^W1if&>PQ-A;nreehg&QYKM+#!QcA#-+}+)tQIan1q=7vABo){_aF{<@zDI +M?^0th8dhyP=W4)NR#9u(gDYF^hvw_a7shna7PZtO92!Obc>W=aiK>%T=~xD^VsJ(o*E4HDA#;ixkv@ +N1IE9fY^$Xr@Z7L`%;;b36)pt4Fh12NWT1n6at!;0;Ry!DuGl+q~?0XOa-PI54aXgWndX2vw6(n`SmR;bYA93o<)r`@Lo*BH>)iMyPt={x{l+Eetpui12`@$9o9t`DZVKD9MY|nXMd#qxqPLWKtykAV86Piqr7 +&Zn8>yHdUbGfvFuq8zj7K^xFO*SHVih(B}Q}pVez<&imVAtRpt +2*Ut2&M!{z-sdbj>K&tY!w2*usy>(d*(Y}=4DjZ1CP$edO1Gi0P@ujIdI1TN5Btw)++@$&UWYzqGZT+ +iy=$Ojp4dn95=qq^USyIS_0r&u&97MRyhM?PUppq +eu&v^Q2%y*Lk7eQCF8tawMrrlDvITZg8#GpON2x@g)3YHTYIdY!*4+(Y$f`g%5FOEiwk2~l4f_G-3Ow +DqB8EQ~09-6e(78#W5&$%uX3~TOPMJa^awVa*K$9{(Yg-Pu>^WN%6!45)-M*)yWUW9J7<(_CDM4Jdd( +yhNGM_nGH^bV#M$Hso-BSyRR>f5_rdm&T`T@(mnP4uQZ$P^ygz_Lbm<^(Kr(}V=WDwZtfmr +6D0NfT*VfTD?DU*H(5Axu#JLinT?m#}SvdjRgDPe=d6lII@Ly-_^dFvrvvYP?X$|GRwK*jjcOsNnlS{ +tP&*$t4;%seNiON)P4tI^n@R8Za4DCvHKRoo%$vBFf-p<^&=}+3wTPyxl&*HsT +mpei;gX|#5QfNXxfXaWjST}$b-oBFac_(E$;^^yBC;8?`Eg~X0^-SJ(0ZhjZt$pu?wrT4U! +Lyd-|4an$IdI+3{?QBnVjytj;cf;8t@JKpLv^~7~(=wRtHbFly8#uC^e+r +eQ_lX4nVdSmn9m}q{vCkuo!ynG3MKaKn|hm0E6Bkj6QG|3O)5Ev2n=L1K24Lehw*JDvzNt)qqE!Lh{J +MeMu?U<;0DW&Gyq6^-FPaR}B&j6jiqfwF^D&k45nx%3e_no0XPYD+WS^7@%a?T5<1VUb(K$P^>~;)>k$oJ_PudQy$|kh=qln2yF{NOwnDFmHq-v ++hsF@c_psABHoQy!4Vc&O7K0QFRoN{^N~P&NaEfV0aizVCv=pq@rpE-d*K|kox4pK!$s^;`%@zxrcpPzZ7FiYuplbXZF#anB9K0Q1479p{J3E30!I#!&nr#myy-PN-<>ENz1ft6jH33AOj~(+r{>j*Rlm}{tLv*b +Jn;Do1e2^X&@^Ye4wt=B+uWeh`zLPT#pzt04B&Lu`Co6)CT*a;Hl;jtt~!StqrA!`jpdrrXH7)CN^_v +V`@+%Q_<4VA+b0dgUq?i3hiy(e|GN$9?*skGZ~^t2Tf7a3fFvfP{{m1;0|XQR000O8ldVxv>;jnG3={ +wWXgdG^AOHXWaA|NaUukZ1WpZv|Y%gwQba!uZYcF$Ub8~5LZZ2?n#XJ3P+c>hn`>)_Bc!=C}l(f5xeH +Xw7WYe_gyKGv-X%~mU5EzNJxzX2&QXFs5|NYGjNs0P!+r4}DUJAGpKW2vW#o-L)dER?jEQL}s<~Qr +s|@|%SvV&7Ui*+!EaV^nPCG@5?09KL=_^EYZ*;4QSI{bk(J_~wNMp~UCT{f^2&mH5L^Bv^D>xto;R5s +vAeBc>pV&Foko$SBCD9%=5>Oj0aThliI{O{%u~UNTtdIhScMbosxCzUVA6fDKWDL296_DbS+y@jd=iV +bn!n+R5|fEcaUo2kTqZ$X$wb+v-&CI2=Oo{3fD-$f%2XhzW^CR(6$!7_d70XGwQst1yhH}6$z)yTDe@ +=?pF|etB{L%oht!NI`8;EFnI!Vz`@!%a;?Y(h%ga2mb1$*&Qny{iyr@JuoM;gQT#rz8_Rm}iGi%2FdU +yB!>mX7Pe9{286{^TH;OOBAsw(RUMWb4pl~}-}Ovy?wPK+dfu@K-IKRyuZE2%t(-{V;UEgTje2<4IuDJK%M-wNrknlS;nML8&s}tc)(8?@Mz@ +pmy?-uf-dg2$Cph@xo}5N*I9vb0|phN!!8bD#;r)$Rk*iLQ}}IWDh?ARWbr|7(q|^9vFBAz?Q49N`3xxMqL|G!F*ML>5AA&KzEU(o59n=2*F +0te^{aX5~po0NM!bCQC!2b9={}QepgCxRcx-|-h7CqY&kgrGglS3*=??>U}C*qu$Bp|!oK>R +BuF0Y9lR2oyxh;n4HEG#uP#5_UWM;&7jG9gOCa-}R(!;YGOzL|2R0%$By`4*EvEa9KLTOI$jdGKiem+ +O3VTq#W*QgEiC>EOOCiqLwyKKr)6)l81Zj +lg|DFE#Soit)%hQ*y`dz>=VbR@yC7X^Ta0TFL6zsG+zE@@;ftdt-T@qI~19z))QoVauO;!`L+oC50W{ +B)bmU%|I?GrC0e@MVv7vKf3g``~88A-m*Vo(?yl-CM?TrP00t3;{-#@@i5Ccu3)KxTTMZU=$y0-sX@U +UXu17{Ea?WEM-*iWop)C;$RZL`31j4jg_2Tn0+W0RoV=7);9p +dy}6vaoeN5^+5%LsP01w4TpQ(IZg*jrg8{DEQP5*iAvD|aP?g9=(T%*#as?drKmWCRQwlbSYx^A{3ryi(Bx022GWCwI0EV05yYaPQtteQdsCxfWF`i +T!5`;BAz4<9fkzZbJfSjU{HnDXHWDFe^|36q1?m-+nm0V#`{;Bj-cW%N3a!XCAJR1|8CX*p@(sw*ilx +VYj=L1?HNrR|d_i8~R7O*~Y>#=xL6tu>o3CdBiPAe~pFAWD9z2jCdPx&oK#LRUeV(|9GO#B;612RX!-JgHIYGy)=B>qJ>e~4jT;03?I +(bMnX!kEi{o{|+jqX`U9bwZe$wmPMu$x!Dj#s;)O?dhcbM}1Bp6_3-W}Uv@W#JpnI8Fr~W$dkH21P&=hV& +vIYHjO|u^V?!xbSTCZ_xq}TvC7tdqz8i6L^b5y0+sohk!;TCVX%wy2E+^Na(tsrn*DFF4UNpJDGV?3a +pwDDK{&*KU?+PoP(tb@DD&YG +r9;GFhdNmx-A58eGKSnpT4nJPqE*I}^ +G!9s1T~rWzDLWoUj~@Pk4b50@+NjNNz6qT1$kbo)aI~gw&^$5m(gz5+5D=VnDGq{ADr1y8#PbK&m>{6 +vVCYooBu;5ErB2v|;o@VK@01Dlan^&NsHV=^=n;Y*LSxSac$`TRIHMXcGK=yoN@_d`Ks=;CIbhC3qVg +HrVYmf-_E7S~le$ZGmK!j-3#d-ve2l0-b0m(+iAa5{!o^UGiaG$q>a$-kX_*;GV%}W|z~mstrd^nLr+ +G<%o(av`SP>HqzK0?Ehvn66c<~m4M0$LEad***xt;w5={AFiuI6pxhOFKv8rwvKt9vxo)#uYeyU~QzX +Z8tm!JoZA2gZH}>l}YtXNn`|_!Go+S}31-LB9%4=^r)sy&0YO;b;zWDy#5O?A083IBl{&lPKXzv1`mI +yjhx5tncJ#!5Xz31R6jV`w&O1XEuLKc^$#iIr3=6Dw&GBuFM;(O0M_jB@(4+?>KBc7CcL#sLQc@Oo35 +cKX;R2zCnvgGvhckzf}PPZDQD;c6!jmSG5YUd;p_fot<^N0TwhnkXyi2x$o{T2uf+K!bjhd*<#emU-o +W!RhD?#QrOZ3GD6f3XFm*wlzazWF#QYBW}3%xEk%q2+rolTAJ7Ql6Ul%sOi?;B)YVN|X*KA8!Yn@oN+ +F(90bEmg2sRj3QFFUq*uB74Fs~BN)hRf2*foa>*a{wF=6^nxe)qel75wuqH3=tofD1NFm!jF>(bpo|R +9hI|ELF+h$0l5JRh|4|I0oY_^SVPnJDSy#1#UMD55Tm_2X8tY8zs3Cq*8jKZgAC=+yi#EwnbyexH?t< +0j;%Bo3nIkCcg9R8Y&uFsLjvVE3h)7GLJP&ZIKQxRTlto1PS^Spek^I_7x|aHwfkq5?%T-#*aVFX{5i +bk*bnE()Pc*%n=0t;pMjFO}{BunFhNw<3&M(C>&^#M@?E?X4R_YLKtE`B@7JeNMZ7q=wnUt5sUdkMG*n%3f3`UWG!k6IVVL_UvpvVi~Gp(>iowY`!%T +wKf)MgXYj&F8I@6G7+!OZ*Bw3nL3azqiNN&Qy1^Y*cW`w~JM5DMb9wcT4#+C8JtEd%N8wi1ZjNr;@O@Xs&>nzIPlo2Re|Il#8i3xTty+L} +Z#Vj~??UDtEOmO_WiRSvPEsX$On&fYAP+892FgWZwW^uh-GA^&lNkq4?0+(12jaGJm~?0N +WG;4AS($zdPCmHpW3b6o^aLpq)mdwwBS3f!#A=lpCfuY%**}WP<_iC +tCMw<*CDrHPgAYhA%Dh#+OIgre)A=*xmxJK$&*O0o9hrBRFSoY!e+OfqWwpce)LA4C}m`=XN*a2b-%Q +bUT7-M>0B5MHDaEMNM`G_hBY{h!CyMG?ByX&PEz20Yix3aCKfwNU<_JrnI4fu<(xG?3xsd9atOY^|>2S;QJvP9`+HF#V +B`b|DdU%_Z50id;f?)VI;b*Oh>8;EZ#?j0Om2++K9UB{=k>F}5{BKz*3X^$Y-Cqp-48qux)Pa=nh-T@ +E4s`}r&;J$r1@g7bi*J-Y2fRTH%9xc;@!}aJs_>NItWu%jM7Xuv#h9jfk%m4t_OWRBxaOg#}MP|Jyf5 +;3T#~pt7_%kCXiV4Qh+|)5SgXZ8dn5GXPW->%gkub@h0VFyoP2DPvsgHL9PK?rLR4%8wIc50ll#$a6V +m`+m!QOFjZclK{4f4mBWyB2(?~{Og!-QjpDX=iSkI{p!S9H!UGL{Bjcwg@E>^6>hrFb|4|#z+GC)Y_F&@`H6uR#sr-CwGl|&LwFAs(Yw}0)oGym%00r~O<$d}*ZD8u +@U8wqcSAYc~z$syFts?bwN!j`;Hx-9?! +nfr#O*LPp}O+_b*r7g&eV8C`5x$BaV0((>*gC7*LdjdZVwr4QLoy$~P?M{CMc0zhOywS&cuC&=(s2W? +0`(Xm#(w*qe&Ii(+;#uD1gYRiS%7ugkZ+6iM8jGVq7`(%!c#m4@jbzc{v@4IZiHMPQW9(NF=xQ7vMJ> +N3N)N4&gO>1@w{D|o}QdqYTfzZSr$RAxfo+LCk=Szi$2_I4p1A@rSb5y2@_s?^CNmWp!3?geH{b<+bn +UB4l#)l*G&*j{`z4Vn$MR~vL!+ZUY-SY?jCrKDDeW}Yz-%TnBZ+>^_{-*NcWwQBDw+@FnHW#eP7bTDh!Vn4j;(QcZ@Y44+S#Pv0lrpWdYi_27J8?w^55Q%v%@Te7 +-u|8ljLn5Q=kh;l`ih=70ES)^iHEPmiqn^ghn=9ce7)%C9jIZC7Pd^7WGA5vlzOZq&>ey*M1i~3>RCL +JPA^Y&JQCzoicpB3j`c-H?_gRdV;_%k>;P#`BAuwRD`OFJ%{7c}tKA_u=SjL!4wqxQ&Gwv(P>cw1_TD +sj$hW69`24gS|#p>>fj@Q7~G4Z(lS~OoB=7j3qFzj3X4&}CVLTZy&mB<*LQ)al@tfSgy)jG#fm!(^J( +15yIi^;c`FXv2+6HkntS#JB}Fin+7717sr4RNB~+0d>HevR18CSisSxx^!K6SAVs$|$A{bhM;-8Eq*! +MU%E*OHabx58*fiGwnAhCYz_f956||PR_@ie$4o;f_Qh`NQ4N{Ul#tCvV!H!8Lrt1ne`B?Yq=h!(ue~ +3z9kNjjl?zw3kCsCTqcxSc#_peRO9XJ5f*GeV=s~|l{M1o +}*(ydD)D28mmgLzb>I_`eH13WkmyzVi?jW@sEF&$Lc&4-uRf&sZnYnwP+Ur#s1;=@JLBX&X5D^byHaL +&wCxu#5;)5Y;#^~qEb-J5l0yr&C=fqCsjy|1Mz(CoB(j4I4H_N!=SZHLN_c9CCP-sFD(P)h>@6aWAK2 +mq6!%dndF`5Bgk~KjwuV_*XT`?Gxbh0_iqDE42-C_TIccfk{*>2Wh`HN8VuE +(1^x{fo8Ag0^qqWkzu!WVW8QOI&vss1y`P2JPboM(xqtKCgA``N|kK;z?FQBot@SH$&BUG;_+-u&3-J+>uY5VovOWz&$dF+%6%fGFN4 +_Q<#>VWEW_jgu~$W=FRoZhkLk$zj~d&8X?DY;z2Mlgon*TbH>x_49q{QiTFndI|p_m*3D-(j=i +T^go^j17JlHmGvS<#4eh>ZM#E4e=zKtMrYwgi4hiy>5-n5sl|ElIJA5Norku7|0^7lTt2UA1Uez~o$_O) +-H7PoahTuGVFt{;DQuRnYC>}@$aYl+YxbFCg}sJIr2g%zGbS@Q%9w(9->?sJT!Nd2fQ!=1|Tq-hj>=n +S!>sJt6$v7*>hz?bc$G*0(h&uazbtDh3)R@dcEf{MN^epcuwZU?^-RI?>JH*I;AJK@0o5+6Uf7(T-;* +bBy5>bOa>!q!&E4989-9b|nYZ;=)6gp5}Y8Ig(KpwS$og(;RDVCBx{D}Et`e2srz@2oCg+F+Y{PRzGrmYqC)#!g&kli5}V3!+`)aXO6c}ig@XLgjJGe_Elzf +@-2rX%E{nrB-YYk^u%)K^wjWPO(JiB0Y5IgL-5K~TnOdpT9mNSxDAv~79c)+2auYUUL=;vn1v&2igIj +ekCNYa`AxpE8s%^P3K@3^SN?qH6@0wW6a64+Z!&)N!!|0}OVaA|NaUukZ1WpZv|Y%gwQba!uZYcF_hY;tg8E^v8;Rb6k|Fcf{yudq^81PQ!$FO`tk +3+vWtEkhlXT1}H{k_+*c*qLps$rgxMNu`0<6nwTzvngViB!Z<@IVnUz*#=~yG&N#JbG3mwf|OOUxMW4nJj|%VeI +=i+b%t8hFa_5J9Pe_Q`R_q1Uq}mD@{GbRhQg_JpfClyRr=RNNeQt#xz<|gQ@OH?q-!g(L%Qa|09z`}3 +@W)crxJYv#nP}Nb>7|M?2%1wt|y<_{kQ4#)AS?uZh2yR6ga^>Y8Tfr;F*Dnom;ipB4hQSCCz{=l*;;K_>N +4KghTub_0l6A?K}I2=uNQI`-ZYxDewfey +Z=uQf94k3H=JW3y%FhI*x5JO+1}qyiU#bhG~k772}=v49C?#rkNLQxTLs^&j|Pn&W-!u$$;QovTp93oA9~D?Yn3x5sOuV7IIzcgr5*L_yV?GFJE72ZfSI1UoLQY0{~D<0|XQR000O8ldVxvOL +y@BYX$%ScoYBtApigXaA|NaUukZ1WpZv|Y%gzcWpZJ3X>V?GFJowBV{0yOd9_&Ej@vd6efL)o4vLim# +UJ2e3ly8A4U%kvY+4|27XmF&Hfvc_Nh(`6$iH`n7m<|gTnf~{A~D4|Gn_edIP!A2{GGPErkab6h=$ax +XI;&@iZg}Zds-dnj;Y0Rxm+yxu@_R4R_u1X+btR?j-(Q8%PO>2#69omk=1(WTeh%!dfu$|8d +KYS6qLZ7SM{j#m)OKdeN6GnR*4DVY+3tk`Jxj{P-o$&RekZ>d!5nUq4tZh5Df>}b2Hxzdtvha}W&LEv ++w2Uf<<%SK4BRGPLe_#9mni~Jn4ImznCRpoJaOnZA)C(!CLfIjt*7Z36J!`lz#&9BdHUY75EyS;sJ`^ +#d1nP-w*`x30c&nvT*l_qOtnM0YHGsbIk(lfr{c=+eT_3mHTuTg#jKpLpcA%1@DP6fFEE4po2L7wtT7 +vxQk$EIyT?ihT1kGv?zD@cj4gLv_uN91k~V0+rt$}GIK%mW)ZE+TCphXuKE>ra`ckh80Mv-vew3M0C< +@OCRiW1rrLu4w^bwj*qdQP5f96Jy=Dhxaqc^V_2h-ek|J!#k#iR*z9c9*Zev>d2jUv<&GfVq`c;njkO +;?U+roSCGxsMyTNm=0Nmsw`^OkV-PDS?Oe;R6uKFK;U-v`0?R^%ALyBu8u$swkEI+iOtEApUw +ol6{5Ar16hF+LI_$BN?ORAQK7U|J1yX009bib=kY0PC}tJ54Tc6tW3OCf43&Vy={+Orq%=DkTj&%UJ- +NOnpFXcgCi_+LY1s-;rBZb5X}KoPX{&&}OLgEqe9iLDmO4>_(CD*WlmhzTh%m;^Hjt3!d=S@{RAQP}{ +9qvgYbKQ$TCTv`pCH6$B_D0HJOzMBq#N9N4~Qu%ES#f7VS-(GW@LGQW`9?#hxUJSXGFI+uf;i`im)^W +C>anAL|;<1$Fd9^@T^AFAdsG|6bIIkBZLDt6HQF50m!*SWEZEY829<6z4HtmhL7rZ=fyl!q#Mebdb+?x)H8hq>;Ttf +a*A1XoaaRnE0r=Vmg*k<#KCXER9^i(NU7ldo~jBFVoRW1Z*6AJAFw<2_9%x_CU&}f$?Y+8(y(JnNly; +4U-cFj;FBK*nqO=F5@lV`AblKMcKM{prEAOl-5=u1S>iDLYMSuE{~( +Uwosj9E%nvN+5?3UlxU91L9J;l*jOI(eqII2RRxJQLpM%XyHAxrTF_K+ +jYj{2-JDspX@G~j)qMMdwnsLYs9$WRS;thwBV?-40k!;lLUP1`am5Qlr%y&LN_>}AM!ABgMftcfQu2N +9 +bfH7{J?yz=ex!tR+mSDGsnOPTqOfD2BU0{Pq6~k +(KgHij=OP-v4Ylzi#5pBQ@yCA9a2+GTyo^OZAUN(utPK%OMu$h_C1X8Iu3(x#n5pD};Rxfa6SsmPnYp +h$&TCQg=7duYRk7=+Rm{Y0do6>ZXgK2YP7sE3rOL-41+7bWABV_;MA5CnfVG+8A&zhUNg?ydK?@y30* +P<>W%3J1f}TYxjkBH9?j@6aWAK2mq6v+seMV1|K1srqDZ~i4pQN6V^idCX86o2y%l^<(sbLXMzA +y`#lGf35xSAQY!pk)_u0&jXS^&~rV3ukcBtgHw?%c^e&upD+al4rsFU=bRXG03JW5xHx5bq3EV$i}BZGQNgSE)JA$Ll2?ktDZ#4`48A`vGWdJl)F6ymhGLPA6|BnRK?j%3$7%MMvq& +NK#&^vygdpcYA24Gpx|9Hc%sx2og!}d)p;*Dnd1}Ft2*6Rh?aBek#uh;9@Y=%b91Q4;-pTH@;)?;z1t +u;+y-&xMKAPr+*nBi7*gjZJ_&`!uX9s|2@s=o2|(aI>Q94+Hcp1Pvs;5AZSl~1dew3Pl5ltj;IBojxb +)Ku+G-m?IANfpbd$vxm1r~23@iFP%< +gI9=}xc=4OHfzlQ};~;o2Z^nhg<5R)PoJ7kl`T8wNVD_G>80XA=zekPhUBRS|F*GQH!Iy%6VU>@>ZgX +@JxcLFs(OE|i65Yo|FvV&x9PD7?K7|tuNc3N0Y@HUAc)AGY0{B7Nfn169{m6Wbf97tDiBIDJjZlg2!w +t^KCvYj1#*EPsob3+GRPAV`2a;OwKhb%kiINS=D98n`S&xohjM_x^Xb4KO=K{%_^VF`UEbjDbau0z8M +hHaC9wk&aPEL?FKreR;;yM?C$(~6`Z()=ZTJ(u1!5e_T+;OhZ+4Rm9-A?jAMFsD|bH^vT5hoha8|<=#XdPf;^MaVn8X^F#vcD-pqqC~$o69TEk?AYvg4xR* +qXnGL}|qP^~$QWX$%JZc`Vl3;ct7X(1^z(~b_D)4j1SPck(ERpanxKUty2k750*vW40bH|NrK){HHQw +aP=Z^0cRYlVs=k+@n9b>?PhrLBrqFiH6?6(WA;Ce3br-imBzgdjA)m=WLO4Gz#Fb6eaaC;x^ghVy~Ud~9y}_;cZ3DwISvaJtmt^rTgVSp|#O;}R0`lNK#&!A_e9WsL-rSnjwyO$s2*Aw`wToB;}QC?1}^Lz*Rf1Y7!EX&{ +0vw~S)_8qMePapd5mF}5;?Dl8%6$@OdpgAu+)K#5+aW2YZ+}u`5i-6xYe +w$M>&wu6@so{D>xCKIAVpC7Dl8{t+anVMdGDOTYhj+$J5Gj=J@+Ev=^ylI_D@>71}a*H;cJt{7dQ(=B +Y`XUC4vg6gA7Y;7Ec449UJ(fsMKO&W`G$=^+&jrCzE@HtjPjXh`YN6jlUjRy&)vCuLdMwg>z+Q1B|FH +~Bf%p)e&KB1|dwB*NJVfzHyKDy#?7H~Wk;xl#93DyTy-b=rKAn=-`1hf%{Md)!vja%7zemwQUCue1^? +42TblJ`APPhLs(2~2^|4R2IfqS^vZxJFCftHlUticr5I1&b=#u+Y^W0^2fM-DX!KrSQBf?662e))%(E +#B#EDObW#W{J)n@6xmD8(BnbIWL}Zq$S=bK?^%Cf*w5soplI&LP17)qbxQIlFREB_0ZBuQwYA|1o=)) +^Z=wH*&dL +gv6_g65o5TAhx^O8<;K&uI-eXPc%Mw4*Cd{&V>OP6asCXXBcWepY-2`74|l>^U%w61CG^IjmInS74LtTlohR)L+{lUkfP$?ux;yfVJ`P9I#| +S*0Hg5)2wa3b=1p(i7pfq=z=n5g=^qhDMLz&r9I|_qon5u(zbPTfi_(;$JX#~)re=#a>?!^i}_));%9 +_ElL&didB9VGYwR}5uPf?@x?e;r$+;lv+$O}f;mX`%r!xqYKN}J +*M|1@J!MSE=-sq*r!82`Wudru>U=buJYKN4fmz3;Zz>r1fBK1>NHww-grjl7!}2UEsg%P274r?6zl}H +;TvG@Ig-TOMR?6+dW-=22a1}&-7j|`Ded1=ly;yI5H=tYZIyNKgjuvj7*rGTnF!YNP>gKQ_)~k%u!aJ +j2*uiM!B<$_holg7FDE;qRse7h&Ja_u*B7Rm%<7CHlG)PSbN8_!ze*63_`C}~Y`2)eM=p9-{MjEZ7e6~#~Uz>c)@6aWAK2mq +6ybo$B)|7dS +u7S8jjYo~YLSX8*KLz;yEa#qxKfSCE8V6=k>Z1s#bR-C@X27^u~TI!t5)c1)fJi8O3}zt +-O5a)@KBXf)GCMfc_mt$*tK0FV*pbg>*Kk=^>*#4s&R$1*t|#!El*DJvQ|wi3bo(EBKEe-OW7W4sqF* +he(7u2ba8TW)u>X`c^xOWvdUBw>->u_V=jLF&L04~k`1gG`={1+@ajasRi-yG@!uzamBe5rY2^QOIUE +?VUPyh^tt{=ycB(#pm +t5svWHvwT8kUd_8E`@keDabW&QCJzWM}1729!(S>HL&3*SiqqK+?KMk4c@j2BX(`CX=oy_zs^ZtxC)| +e%O?4Bjufl01VVHsj;hF!o4H!9n+4rcceEzU;Lard-=n&za{TJynXxX?O*3-c2%A3ZoJ9-AVG>u&AQz +=e8W$W(W{B&&gr-`JKPx~53gs)YuiFb;x%x6Bz`oqABoGZhQ~B;ebNI$O_9hit*o>!0hgc&fcJK-H}n +C5{pT$_Om}S{ax(ysL%zg_m2@uwF>veXbHPtv(8DFL?C3SP@_;4%u{e +huzue7>(#BbVon(LR0zN;9|NuTP(X-(vv!SR%nRfY>Tkgd@I%x2r0dw@I?nvbc)K6^X!~0u>E@4j$Dbf;+oa6XDVE +LMSl;fy3jU@P!W-2Kcvz28gWdwyo(9G?}U3)^@fqa|X_PJFt3o3_3|0+^09x`Vge2*eN5^Gdqqg)2CV +4Lj2Mj=ay|kk8A~=Q?^+!;TDnD7itSqaZJjz0s+r9mrZAQ;fZ*4g@R~}Iyre-=vwabs~r4eyrbX<78P +mH$TU0lD9P|$Bfn?9;>v+Yu8A4mG^&jDB2k`M+ +*vUWipbiMnMK}73-ZK>g8bj}SN;yi6NR3Es3)@?zR0kU9I5K!l`+DXJ-2ilF# +bC5#cwn^Pui{7rD{ANxO!f(u|+ ++Arkh7;C5gsnJf_S?&JuZ!w?b^Vh;&q1T5yT`&RjI086+K`)>k621 +T1I(R6hsMQ$wup^ar?d-RSNJ4oz_#o((}FeMa=#Vfu7LCR>2U6@H~t{*5W2w9A3yn~d^is6kl1Vt%bW*fc_J>lq97(iL07t +$?OY2X`uyx{52~Qsf@4&k)yFzLg8=!ghI5|%#~=Urhme^K4u20wT*j^XvW&zsuH +bKgzajr*YeZ_1Lutk`N8i{uI>Qi}d3(cuKr&5?$xc|$q+x9B +92PWsL2d%Dcm%Gj#CKrTWndLW5O2d$3XjRWLaTc~j7q|p9PlU53 +xe~XvOQ&SP%Kbj)pJ37C&2VCB{`J9fJfsk5%al`*qRXh8uLUgA!RRgvFF@%Lx%apM}K<~rZ?(Kp8-ssU +W2O%AG;HYElHzBLJ2ioO@3DOAT52#(D1miB-(Bw#LWWr1`{t}#v53&cICyP;b^%DC4`IY#;^uEJqH&M +W%3Xt=Wcl4JC=Cq3->#Gdz+YkW6I9lA|WWp6d!-8iHO73l*{L}qFVW%$BV*f?wx+Vputvf)2#y9he4{ +UQTX&_li>`w=|xRKVnO+Dh;y*j5mp@dlYCNDk5l)buTd-grxSVY2cTov}a%nEh4q%RG5D;0z2MabR$r +GCUAEUWg10#EuQdB@(>f3?kJW$D0%a0GB;U&^@$dp*JI5z9QWV|A|A=M}*#Zpo%?Kpkl0vQD?GHzb2< +@^HdXh+|c3|C|oMz_SGk=5A4#cb5TA?@45tQhh`r$KDRk)Of4zCvWmnxbQ|wr#NxJ8Yz51UiT|PUYSo +|7P9!135W}lkD4_Dn6VByfyIf;R$kJvYZ=khz*Bu#;9xgr6p@Q(|$A<>Ou@w#LeYi(B1a^O8CNbM~TW +O@ORi$NoEfG^xxmYdDW=@e}7;-NA1jyJco!1|;<&$W{C7}uS`9VA*H{OR&Xsu0eNfG40NevODcB(;LP +Fry}Bd6cKp|M~nuT%#n&>#uJ1!50WZ$UCNbV;UID8zx&}F9o#AGkRktL=Bz_PdiUWPwr1zmiA{O72}^j3pc!vifTs34I)Pv5>(g>r@^g +1wE}how0T#j`V?ia*&F&6RWbu+m0UQ)_z427=?y>vGa{EI}9$pVD%Ns{I8JWUhmz@T8OUowFpxdVgO= +ViGtqkj}T@5TT!6p$=cO5&b8?9sM9vcdQ-ZHJc}uEk8y(&1tm`{#P4O-RvqD)*#i~HDOpoI3-wBKu> +So>7(KmwsLy0dy^(GUw4`y6M +iMuOrcJ7fyTHA<1IKCvW*C(-98CZBV2tmv1HnV)TP>dv>Tp}AsDhj^CkvKdXikZbQLFTz;yHkb*~8rq +0+|WeV)^ykauH0AK}Nx6nmC0MP)6j-#3-VC7-6w3aaVhXkNr`B2Yb;d#1j{Q(P8zvtXJfBc}`}KpBRC9riua^)-5R0*^0!VHnkp;veF$0748 +wc*%D(rdvp$?A5_HvyhupYCrhYfY)7FJ6p>s^lHdp0kEzG8%EYh+_XoOg3^||*r~>K;@McpY9CR$!>Q +Mc=G@PFSjOXY&$Yk&uKcS_nmaV8HCrM0Zh7%%G4yzQu#1&JsodJ|VABVkIYTYB#Lx+0`4;A2z_LLUDw +zlD+PvU572-L>@qrz{x$~!PZHaq}|HR%@#r8;z>!iXa6TE(kUt#R0V5U|T;a6ig(@o_kmMI!;$O0dF< +IIY=L2h>72_mg1&CqVEIGdXWXo)HO2CO~;{KV=J)WL1^sg{#ci`NJMje*WUsf4}+ +R90mgw4#Wpty>Gw+of`9XdaV$ir!oSOSlCbzFnW9-0DD+>;-yjKj +|bGRZE*gVm^!V3W3^wNII&;0$y#BTwz|`~0NQ`m3+s)}}EE{)fqT5YP!A7QRb|1T^6;DkL1bp~ +Tt%Z34_z;wDToDBqe|DpK8V^T9H|ksTy$JO$~Zkg2x*HBLf6Eu4t*0`bBcFH)N!dBT|4*T9%nX7xr2n +BALSWX@iO71Af-FKouzyyQc1FB5)jMeevy(xql=r>&QE>&wDc0%wyvqDG-|KjI4_ivqYF$Z$iZeo$9I +i`l +P!DN%BL8}|DeaUm4TIhF9`dCP6L$|i+beq_UsOf+W74?oV%msYdh{ig6qg(ME=1IXk@s~Qls+shPkpn +cM>j~@DvZV=#`+hd7wxE&DKfdG-3&Gbo1)uk-D@;FH2~W^hCdBnsvtVjZUaX!19f0w<*)eUM?yD5%>T +Du=*1iTcFGA=HEm!L~5Oc+=9@-rr2(AL!*iQnjmS&rgYKl}4CvBrT)E}hiQ!w#|DZ2wUs^**>*d?RoP +@94yfIUcgYq~d>N;!w`+UqAZR2E>B>n10MkW-(wJUaN0w4XzM=-JsBGCb{`v^X4!KQ`0KcrKQ5BHb$H +lyZ<#V5Q0U7?Dpk`923{F5%KKdm~P(;s_uN&z&NO|M}%=X!ma_a5qo)O1XkD5}{-fWhz|v-4OiUX%9e +O=Ov<)ELIBEVTXp9GmOlmR9Z&HR5vorpFbhAbghYatBfUx_ni8gLbz{HgQdCc4k<(N=fQ{s6VGKweBb +LH?Ljf%dejlJ^2~?*a-_E)?t>K1g&%rh4ETYryYtm&KeoXu_~6FdhAAqlZJSa$gFc&c0_=P5p08Wj0v +=w(WSjAG(#}(%p!*WXux#MXv-X_M_zXRLSFU5%o}CepYY3guzMv~ksvturRD5>nl+U40KS(OgEPh99H +w9oiDMftWf7Clvh>WtinC}76UI1-WDegk3QK6tR`FE1}ICMrAxhfOw&N0kWb9)2zZ{}cAgb-Jlj4;UT +YDqIsR0>wt``IE|tIH}m&%D!cgk{jfK52IS|ETIgb7&^|Fz#$5^d+*xr+>^NPyR+BuOTCAD<>)OJjdK +2xpSh1FGn^sw4bV8-2qSj_ECnd(e-UgJByph85t+S;5S4X?SwZc! +LHzca@K4dXN0e>;7F0SSK1EZ+aKOc?=r{iMU6=2?+QeYc!LU=phra5}V33kB|ODyh(4+;>Q0A#)m&&@ +zY<2zQ32hHOk_<*mC5L+Y9B>R2e2xvqO(&@G&ak)bmwr4leLk0<#`@5FhYe@?F)%2Rkj*WNy$OI_0U@ +IgwaEEQ$)uEr_{ajB@hKCO?v&ckYT<38#-TSom+7 +eqs7y0K!f#UYwfuEoW8!p&${-7F*V?F&A_7m2jAq~XWi#hoqqjzJg2KO5FE#~E0-CVl+pFSzLk26f_b +3e+o9YhlV2r%kt!&zdE0rIws4&Fo2d($c9YitFxCD)HDFshej|NiH1BCI8;?*du4g~lf~8-e`tWjdoR +RbT`Z1G$S%wiT|DfLI_mLQs?XsM`Qv4>0zGgLZ?AJ-S!f;=M9OX~LesR9F#OOJM-5 +zny!YV}mF2Te`hAx*?PTs0mhYWl^0Bdu!AkjZT~(bPqU;p!BB&SA~6V-EMV1|@6aWAK2mq6V?GFJg6RY-BHOWprU=VRT_GaCwDP%Wm5+5WMp%7RsR#;0WlUC}1Et)HRZ#h+zcjAt!3~j)Ca0r~&wW=|XG-)Qj>lc6NrvxLsJXYQ|7dAnZ1CSS0b9$ZawEwLeScRD%V6B$1K5E +CHY4cib^Xd0kIThR{`_mT`muVT9;$bi=M3n1hqdTbBRT5bNck-;EcH$~qg&MB3b;cpjms_CFQ32Wdnc +?#H#xEHmmiJUE=1FyV~k0x#u$)X8G=bC*%=g~+!ARvlz0QwAm>1QY-O00;n+tx-{r;Tm@S0ssKp2LJ#u0001RX>c!JX>N37a&BR4FK=*Va$ +$67Z*FrhVs&Y3WG`)HbYWy+bYWj?WoKbyc`k5yl~vzQ+b|G*&tG8$AyTQew%1DGVT>`fQB8i1WXo4)p1Vk$G5Kj-ZkJ_{)Yw$QMV!R8MU +=89ceWbRuM%iKf2ogb}N(xHYXX#d18VjeBkmEiHAM{e%4K?PmfZ@`@Yw=~#Az)nSQA$yD(5jSG9+fd}*6)l#nZqdV?f>2J@c^egmf~6DBU$d==?3W# +On@!&lXmS^__rD#uZKQ*qb;V?GFJg6RY-BHYXk}$=E^v8$RNrsYFc5zCUvU~jNu<>h4+y +E!c%T$EF}i9J4--O`+gww##5T4=snGs+{3B_awJa}b&i8%y-RHZCMl0i>R#hcrMMU~kmXM864QQb$6V +joPyr!)awWYRQX`|L?Ep+Lol@blx3Abfdi}=y_b6(;9Y24mtRz1bnhvfsCUC(D<*!{P~;%4!g5V1KEo +)Yj+WF0fy3hOT6PCKD|ks&MA{*AI!hHBJr-@Kzc!?i|p(7%k~Yo#7%ysps@68t~|SG_T`LU$WuIb)JH +$XG!LDRBd&= +^72kc*kC^4K(d9FAk!%7K${MC9{4N3>C4R_$S2+R2rd?QH}bR$ +AZWVuJz8figuw*{vl+6DfCZMzO>o3^g^5$P!0c{Z~X*4t+~+`?C>_h?#Vl10)RwMPro7vl*8GlsZm5ZIpr6wzH+D_eT=41Ig&g#-)OMZP0pev&%R{# +Q~Sx7&>!iKYgyO#8q46*+;ZaNFEsv)=a%JPZ|fJAOme&Uq9?G>~TI4pT&^~9S%+ZeS*B}x5%iEG~DH5 +{ll+NqF;rhKNOY}@6aWAK2mq68T}=dxC_DEWr! +Zq-Ur5T!z;%ljLAb^G!5YVk0$3q{Tt9;Dr3C1jIpT!^O0d3oNN-a@E#Z|RRue}2N3zb!6*#}6Ow?r!g +HqKH-}mgmlx(Hd%4LZmZv-)btr$PE2WzUnA4H6apZeR0y7=%rnYG3I$gFixTp-suQSLl~c#LoR2tYEhR}xh~fG6@FkA +D(-NP{mRJiYWrV5e&c*J_SlcAxn)b!y_Va!8Ol3gzHJAB5?m+G~D0QtbuMo#13@#Rvl(t|F!mi>e}pr +q5(ao(YQ+^ll&H)#Ck!oA1#5*eQZ8E}n^83HZ_iskPWV_2v{AbewcQCA?G{s@L%pf=>qNqzbyY}$zfq(ScMNYtchaY^M!pof_`cw+en0=#GBpa%f +_;6q*$WP&n007gat%0{MD(|1M_wtk6p+b@zl!H1{QASichDXu^z!*vbJ8zHJ>YGhihA`iQ3eTWTE;(=|29 +3j>$CBaPp0$i{A3rec*Z(KvMo6g8I_C&1+317dt*UESb!CW)wGhfQ>xxRH6W?r3=W2#V#rlCM8*|Uk> +hvE$c|6d^I`a6-Q$HfcWOV$Dzr`v$h;h5M#67hyI$4lcm|8Qj${7}xKChF~xpYp-gj60F`A>v>@9+S% +?s%IQUjPE;mDjLf3u_oVaXFcI^!V#R>N4#pul9WRT(6Mo3L{o^j5*xt6y1Y5xuFWOD*ZVF>9lvpzK3f +K!1&zFXMlNFmHl#<@9ZG`d$AzjS(yF35KK)?xgFi6x|vJA-S)UM_dE>XQYM2iLu`Ic9!GrJq1gJGw%c +TS+)d2b3NDTDSZRWCh5W|+kOw7Mb#*+w8r&SZ>m2>8rZa~a@2o`->;&}oQ!zWd4Tk+Btkdjhuh^8?hz +3XdK7!1@LxF+cMtBUtcb +8c~eqSa?3AL$jwhF%}Fg*C`!#qEJ;mKD9KmI%quQQ%*n~jOIIjJOwLYBPc7EtQc_al0sv4;0|XQR000 +O8ldVxvSev*iIsyOy&;V?GFKKRbbYX04FJ)wDbYWs_Wn +XM%XJKP`E^v8$RNHFYFc5v$R|uC9FKqMy0r#OHw4s}AN$EomvF#><#F|*k?qUuFREa?XE8=#>ri+bc8Rv+M}A +J{`B(Wh2DRCxc^3T32XW +w9ipDh(A>tIrMvCJZX7IPAHbYK +|zgdbq=)P8geW3adF_P(?Wz&LdXi=e!^QRAXwZkJ$C)a4Eva@^7}aMW+Mx?hELL1>~!Ax42=5&M>gix +?zL>IeF$YG9+!i}=;7OGgm6*H^yax0!i#db*|?M%e>6Ai(AiZdO21o9Th~^vQ_*Sb2Y4==Y@wrpw$Nd +=)a5`FvJ*xwMaipd80bLg +1BkzH2UjJ`tu0Z>Z=1QY-O00;n+tx-`)qfJ$n1polK5C8xw0001RX>c!JX>N37a&BR4FK=*Va$$67Z* +FrhX>N0LVQg$KY-ML*V|gxcd97F5j@vd6eb-kI4hl<%mmd&71=@7e22D3blA;LGK%u3P%&bHzBo(g_< +lj3ab)hb6^q~fJZILs>xtuc`?RL9YP_g_%xX^~xH8Wfa(khvQ)(65VQ1VHG=~~*3LZ4`~+wG!=H?35L +)Uv9$sD?+WhhO@lqf*I+6kMCm@LE&*pY+@LiHQm_C8deHT+3UUabZ9SR#SM$p|$?#LE~lMf +FLBtoVVvcI9LBfxLw;9f%yFNn!4W%U}lL>tNw$yKpPMawSEBwR=plkpat(ApC>j8@QlO>x%rXYNde=Q +m830G7zuiV%&_oAGo_5J1J-Jfli2ADppl*dhsn52?FVhtM<-X+^2oNthKx_5mS};%P@GBNBpbLY&?+e +T!&Q+^Lxz7U)7*r{jz|S>qN`)dnht3JC(cM;90d{)Sg#>&J}kFT1fPW8PP&1b%1g1`bq#RFo%}MX`dA8*R&U~O<~UM_#S&)y2 +B@_id{mOCPOcn0BY1_dhm`~@vOvp*!I#yP~krSMI8Hop*0g+FlmR!Ge@hk#FC36u%p0;(@lw!iVt5F=4vi^0Y|k$?9EsZDOau)l66pys=V0mXjPnJfC2UjGn+04aOGzp^_g(>Dk+my +$93RQJu=e_+R3S4({V1L`svN#%=^Z1B$xR2K1_8k|k%sbrf+jmPVmsM<)Jjd?u`NmBEeFV&It~WXzgh +XBoME=;i@ulT6?&zgz1=wiuO%0K}w!#rlI13{OTRX2qK_~4b?Eb+JHKoAQe)TdK_u=<7#ilVL_ru5kS +mt05vO5%E%G-EW+zFN#P5emD9_>7x;G&@&Wk%;HYi+sb^%^u3)b=}`VPZV-FoVwIV=@n)YRqsS!t`1j +uXQaDTszQi09($2p~5r@LUH3%f?05CF$;^Rb>1)gOzE3iy#Gh+{XwJW33*EFa$nG%$nR7K(Z5hj0|XQ +R000O8ldVxvJs%6vb0h!&PI>?UDF6TfaA|NaUukZ1WpZv|Y%gzcWpZJ3X>V?GFKKRbbYX04FL!8VWo# +~RdDT5@bK6Fe-}Ngd)ZGzuD9CoQ-jpuNo@2{d)yB5Yk~hgJE(9cp5+V>lFo0y*<^1;R$2{?n<;`tfov +IR(z)Vk1cTZ2hW;mHlPTQ&~>qe~0T4aT4(mcvSZ0n^|y;kumQ#kEdE$g +gm?8v9|^?7+wD~bJO8MHi>+T9}`(L^|s$jWp7R6Xh*=`$xjdG^g$L1*{qs6_>SD-2S}LfG;gKi@3 +pMcOiBKN&5~wY!PnW~sPU$}mUd=9Jb<=NbLcOSs$QQAB&06VJeF^lvLbmh-HutJQ+#+-*JVA_Eiad8& +E`03-b$H|Mw&yVKfDYboF +=eNL9%S*Yj(sKIbuSd_1lD{4ObUM@r8LDCwFA(HLZtS{S{hBU;tx2<~5_~-e7F0Pr8;7#V)H3AvGOch +quYl33vTXuh!?gMPWvVWD2>M#3b(0}UL*{nI0`8-B(W5>8>Ex#bCi>)W$*b2dUL3#pZoFq(p#JeXYgF +61#`(6JR9$HqRLM=&TxLbWEGp|QzfdIkO`R?qm>Z&=G-a}q>$J^*`@n{z%3B3(zr_dRMa(M-+axIE-h+zjbl{@kq$K3&0 +mtHTqNi$djQYqY9j9~Cr*D8d=1jWC{h2|~(J;7yfxrTpFvt{GH9l!KG1Dau5dIG}Yo_r51ao=9Zn={f +~=D|zSJ8ABooYZAg!WQSAoXX!?*f^yB#DjU(Rz3=^3tB(sE0T-9%^W5AyUKB~E_XU?&^k2`F{`FLN$d +9eh*F|&w{yI&lU}47xjK{h1rSLF?KBQ +l=5KDZIrb0+6G;78xzyx{?td8(8^G$O;V*@30Gs+T}91e8=7r?QYj?9zfb@X)ngR#G*?jVVY3os^jJcw(d(rXzhnXf(M@Xz#!W@7Iff)c#0U~)SGVKM-+x$4V|E4@?GJ1xSp7cK3;&smX(4aG=O8e!z^B9+kOKVPHtW5wrXMtQ*4f*HEnedJ +s5laVXcbwqkl7=4KVvotv#Rm|9`weceizp=UEvcg!kT +ZmRolifIwg(5QKH4vkYn0WE1FNw(Au^yz}P`ufx~T8>`b3nuOxg5ip8mX!^dbg8^jvN$3!=SRFjciijc +iI(BZN-G5sezh4NWW^y0ew9ahlgU)01^|81$l7jx>Y6UU={hMV;2X1v-h;M +QzfXf=OX<6M#F%CNJY?Kf=6TH5N$_%!;}-qOjdx<(9sy)^YQ;@gS{AsfuX>g8_`Vr|dq=;Xhv7$gf +0Ic?M`#k(&AVXch%VT6~0~o|Lz3u38%z?%*t70|h@1pa9b3*oty39H_a6BKp`uRj3=0m4uss4zS7j(B +0x7u_PRQXc%EhnX!6~#gN +mD|eHkSv+3)<<*+p>uq-LKi)xW+wCH;Oq-VKkKywb5?SpwmUqPs5vI3%x+KH +pZzt`&$_GCxC_YeH^hJAWSsk^)l&&3_Xbreh-q4Eg^3BJwIt;a?8IS+!MsDm=C9*ivA5+Z_gGjLY%S0 +*1b>Kj-&WQg|c2W+qV_bdXkT=nd~tIM{sBQ3Th1!Nn-hphlDC{3Ue)@{bjzQ9gkS1z +{b=L7S+*kY`mdg3Rz{hsaRG#z+i=T6%pqtTLQ=c?%A4HAoi1|G}o=I{-5Uu1fA_mo8MpQb%(o{diadBTL$@C!Xd=`@Hz}+YSRu$uo{5fpWT4ZUOJqNgP_vHNgwlx3aRgl0=N1uzE7+(Ta6x61S +wk3J!A{MqA~TH8ePnT+)vTeT362wJ1`QN@Qzx^<9HRgWXIcoAHF|}IHpd*qz|L0BGSj+umvA_{%)n$T +F>=Sj62KkRAegtfg0F4J523@t6e$SHHJbVy?#6Zlw29LSOpI03BTH8XLVRahOAs7H_E5YZkfj4F_UsR +t=X3iUbx$A~F~*`)Xz}%sbC71V3;{|oE9(5=>BX*OQ?W}_|=vhYyG+*0#r3ja&I*_y +G;JUu(EtTA$D+8*i$kq5wA=@`B_4>nDh3^-#^2!`yd2cb1gCNqV#VUUS7a^8OcPj6y8o)8G^Y>pqH2Q +&sxAwZylg&6d}KU_fZudokx2Rqn%0K3EIVnPaj0-rh!;C%pX=3)z$A4aZ&hLbZ`2slws+oGp81=BZMU +IGF9O(32Goh@nXZ08=I9ep%5d8!&hC0TEfE)J8)6IiC%O4b52A1+V82(%k*X(b2@@NrwV7_nSK8;8UM +jfA#BI|x+(AgedGxoANb?Cllh9zNM)I_;S(fS$+9NIVLOrBhcvdISvSVQ4U+;cWnVqP0ON8g~W-cAc- +%5t?3ek5}OGBTuX?V8>*s)5`SsKp7=XmalMMf)0-C8AvfX8^2GihW{kZjwoayDZ>%n)ah%Y*^>Yv0s$ +aqzIb_dbRf`g&_768l+rXZhWAb>5((?ltuiT?8YFLM#f<%DH-lWs|P!9SO8D_A)o-C%2gm1Ya}Bt*jJ8PiB5hl^g?%1r%lNOHF}z7?_hPqo>iAOD$@UUjYkvGK +JNrb*^ne{734)`lvRF|#EEOEug&A> +Z#-Eh{Ls5#8qZ9GPpC3_g{QTv^KWozvgf0iqN8mO`2qSF>48~k}LbT|OOEPEg3<xn1FUn}RA~v2Nd%oVAO+Nbd9p{J0b +OJ+Id;f~*0RLdKe7?Ly)9>qkb4%VUGdlQMgqTS41}&sSn&oH2=)N{Qnuwc*~Mi8EW!nZ#44Atu0?Z`n +e@o6Z{ii&xuu+bg{c|zYLUiuMzL))8_89Vz=a1&VF(VpX;3TeBV}rXOgqiMts;oQOhe9iyZ}_JXDY!l +XCXJeNS3tUji0Z}4An5^E_C>yU|B$t7*e6!;C{vqomiyHD>Uqi6-caQu^pTg$m=Dau^x5Z +9i7{bI*_*=;%$$?;o12I;my4L!V)4&vv}lx+%wp?8vg3i|PI}jGTbA(@FK|usHLXGv+>@^=I((+f6Uj +Y0@Me9#(*pSEmxf7+4Y?!*J$BVKH}uYk({qYcumgEc2CpKks-Y)-};imgza~IAnfG(|zVnIyvEWLC>w +*>OvN%JA-ziW0YqLcEjv@c(v0dZXCzXjOZE|!TxjrY)dz8P6y&KR_}1eIIWkLxE}Pr%Q2qPG-e&o?{< +74>_nCfXre9om7U2AB1rlS4TmD&&4Itf(DH|eGx3f1B3uicQH{052SUL!Ad?OhBO5La@C5!>gCSwI(g +X4D3d9D1x@ZXuA10ZHWWBrzyvjn}bUIlp{E9ia2>C}D=E0}OX>mZxymVbT`H)Y;+zJ>LO2yUicAn +OdCWgEt+@KcF6BIt>|MQGh-VyL}$^`h-$q?Dj62^Uf4C+9)e)3cZ;1a}Wq5vaG)it>lHH6)!;?8ji=a0MjHe-=k)9}jCh9-e03OPauQX^rHb^!eqzecI62+o$GPd>@5m8B%MG*$RRM9 +`kWGM5_6fDf($xPLM9E5rg?MeuLX#lS5gkIXYh6Dj19a0iz;yyC>!}i^9?*w!Xmbh6vf4)412o}&kPR +a|9QxAmPhrpuws*3{!KmXb3?N)_MJY_g_S2(+b8%B6qjcPESA#;|m`p;nOeoB&&|;=nh)jjJtDw3dj*#NsgtbAfvZ^I`mF3JAG;`mTUyG~O5S7w(;aZ?NGu%UFEdl6kMXx +kb>S3vdeAc{Bop-UQXtnWQO}yiujHz^b=7PpZ`Bm2R6UFNlSa0Szq`_pH%%&kz`0T#aKd-$}WBa1m~5 +u-Rgyxg}VQkrpgbU@sL7{)`wX3s9!o->^t?X#hF3X!%JLl!bN0T5vBMyL}AiVnNhOv7`@W)3{KG*mDE +@VSFD3H

uXO%MbCd{r^kW33EnUxW)z8M~w=PomJGhx(ggDm(`dhTNwvlqM7g%KQdu`@S$R|9U+78w +Fc^9eH#BsYs?JojN>aYd?mi=M4!mquU~2Mgm{xlA$Q=PfIg5n2E!Vl7(dEEXbR#T0t6twNN=a +ib#4uolu)wssuw49Sa51Op3F2K~mYRr%|oB=47Wm0VsHyg#7&>|rH{yIc`$wF~~?n(oo(>Cv;tufIR@rhq$?&cy<%ph7aVT$E??yM(3m41#{(9fpCN;2CSCgaUrtN&#UO?_~+H^FSEb=8;H);%%#$7ZwA@%X=HAoo?me +vUsy-v({Iuh)Pe5*LW%8*i$A`WMei%np5Xm^3LzSaO4^J-%Gwn1*{LvPWv!@Ieabe+gISxXbO?t=thlFRe|ky +YPB+p^TTUia9E$z>lfJLXmS69K<7!=+&>*)K +Zi{cgCjICAHx>z*Z>#kIzqs5K(*aHDG;6#Fo#6UTV2!fCm82T8 +E&DtTTCAz~$MFgH)F$+5931HZW7F6AuVk-8Iw3bhzS9A0 +e!Jr2jYcaRgkTFuXvRB0U2}H1!%M?Mj$@#HU9Jid{*!8masSR +wGNweyU5{g**^Pk>l%zsVMH1mm7bSz~2yS4f)6m&1}XO9f}^+-G3SU+G&5pbpR38-<(wyD~NXNYN%n> +lG_Dzv5850&Q;&x)n3v1eclxh{F?R1zStp4$|674nA96=N|kdrO$Ar5Z{+{h<5|3?(vIDltFEz9e{4@ +`5c{HXD +#8eWq0TDtXei>|lS11J7BQ|})YP=7&06-FaKT}?db!Kbk!Xjqs)*p3JmmU~d|nG?a2tnx0Ch`i69)M3e%vATUs=Q^mQ{K| +_i3Fe(6j00I8{QDF-_sljD>2NAWmKpa!tSyU;OGWl43q6`Ro$NS1=Cfe$FnVR*nL9q*d)^Rwo%vj~pS +yQQtE;WP66Fw2o_THT88RxW)JZl|!#dj7-BUrV@tW8o7<)a%8||O{)`EtTtHWn}`9=tItTe#N_GB{Ai +pxaob?u%m4M2h((6MkdCA7Ifc8v=Q`t2>H57{BO); +ugcbk0whT|V?#6pesS?vtJqoQv!;4BTCZWCdX7k188uhccz`Xl56~8-_ygvNwhdjzQ1M|Dlg82>7M-^ +Y2s9uM0X(|JL1zfP^E@HJNYxZn+UC3vUFprE=|gg_3mwy!s~?d3Zn59v8bKt2191s99#uQ?6&`Y>nMU +>#rjjSA+phyJx3k+-D1b2ix>&wUbyIs +H$^RZ+@f-IjHJPzTX(3i~`Z)vJqx6Q=Og$QJQl;2A!XN$@iI+N#2|N`+AzzB*+IyEonUiZ`_cN}2!J9cKe=xJaTtdQt!{gpt@A;~&y9-YPwux@N^?6f!-#xB!hw3P@2b;({ +6>@8l)KD!EZB2In(a9DOKv)2Gp@^C*xLy8P2vskjy3L^76eCtHj`r(N +zCxEygXZ%%!3ifEDx&slUx6de>OPIB}$!1j-Fbp5g67wX3APU1G!I?D(fmFC7Y7@l^wp{fW<2x&$F9N +*W~rHif^?4-^MVIWk4x!Bo|S +;U;I-2Z4buWvT!e4R6atFkz=K5yz%|&pYg+s;6Px8{a1N=B@+ghAx9iKT>|U0rGCe5rz$U3MOKrV;BQ +`(-vEoYsM)#_gC_q?&f*pEe`fNlJ4jOmE|83+hq60iDD%SJBhW& +0`2VUNy!){(+VN&Fy36Gub0v)8H<1U&qw{n-?-O68fWA4seJsfXlxWxxL?n-V^#d&w(g={ug3t_vk$Q +z!7B=iS5_xio*bnLAlSR-kJhaYb2EqeyG`ff-{f@xyR5_jr!dF#-+wqDZ5e|{fCjynKhfdozVanl=F}8y_P8Cc!1TES +0#Coz?jg+hoBgkGI^Rs=K8)FrN*$#x{*CEuJ!?-uM)~0hv2`1?NIO2g86tcCIu!HA@fFt{mtptdapVs +*>rd?tjJqnzn?g9+TF;pn_(4Qeac#EHnP%r0@A_Q!*oif)?ZUqSffzgni`>vun0Tf|Fna%Cb_?GJq4~ +n#ubeUc|FxS{S3`z2tM~GM#dg(q*zAM&KcGWV&X{Fs)L5F`%5zodIc +=KerFVO6#b>1H13q=HBP;&# +bNWbCNgXliQ(#-kHPaSiAMGB`yRha1(+tIhuGo&~+k61{%#}GcI?RRH{Z+q +i%fC+yiFSu;c!ySn&I>q|?}@m7CzMI@j9u6kNVaR0=s;NX(G+VS)4Ss6WDft~O*E7vIy%vrFg((cdKW +smpqC$_-u3APo$-bQS4HnF9ok$*vaDm59)+6)y6N!L96fc*Ws1mmFDRtIt_F<%oFD9c=}aA&k3)0wzX +Qw%_wNLB0?=SVe;SJ2Q*hn(et3#*2=yqx=h&qg*waxCoL6m#$xr_|2xM?h=@S;{fXlUoP4vdbqZB3-GS!gcnU}fie*a7IXzVBuVs)hg#K=3teUm1=9HkgkPWDORIR@f$F)hQx$bDr#&}ZrT^ +xK=WwC3kbVy+2GK_MlWx6^9CzbJTDJkcp(OqiL}xu%WMXAu2-u~Vek+RHRMV+LK{&W}Are1k519;kOS +Kb8WR!meU2KvLbCBdEP;$~%E=I_2xHr+qKiUI~sF^^a*n|IZa4PnGz^{h~~)KN5&vOk$po>ec@Jg&{D +$S4LNXa>4MXRgIVZ;hIvu+XE#y9)v{Rb6Q`x7$er*3^p~*|B29|`5S(!+9g$D9*PmN+>Q^TPelw%Q;q +^8lns6U1T1jTF(ShZq~U<$T8$3slhKZy8@6@Tr~xN9X +#Ez4u-y+f;PyA7ca^VZC=sL^XstQpi}6@RYAH4!CZ=HG|my1lVh2#Upay{f>yrfi1DeEce%Uh!B_Y1J +8a@*UM?1d6<@O*jB1P6?eSNv1*cP=g|6(gm&WQ7zvd8jn%kQ0T~Xi_RbY_l1M-V?)BD~`Jd(Z +S|O5zE{C^3kJ5;y=Xi!Ou3CLj3=7Kl~Q!kDIiBIn>tBv;^{h2ISs7{_%{_s?&S-9v9otVH*2U8s|T8U +ZDGXTHPTB&IM?D**=3kVR;Dzh}JQOj0R}q`;)wrn8u#{NA9C3V!OrJ;0E4>lvGGY7aXX-LS(wyZ=(tA +#8u8sk6)agJ^udtqgPY!M;JP62_X`V+@p11f`-raPcSU-Anwn_w7UZJ@zDZR`+qwQ#^uIa}}q`hMiVR9aUu5k4ZymGgX-5A#yXx>{St3&(A`;{;bA|0Ch;QI79beF(6gOSz6p +)L3edG1x6qOZvgW>_v9TFxI~vnJ)J#t6*Yd-uZMM4H}AXS6hQt8iKHHAtxL#b#S!!N?kKfcI{%G-n3w +y+8EQ+)3mCiuCW}9lt#1;|X*NtU1SMiqgs?#}~6Kd^^hqJ@W5q@6aWAK2mq6?y-E^v9RR&9&hI1v8sU!hAm)&{SCz=98sUb!x +9x5u{kp)5ft_Bc_iNUkJj8%qCsNAjDz)`oJNVM!uAGxN;MGvjTvIuc5o&UP9oCH&YbZ3){MB{~bV|D7 +bmd8LGa%5o*mcqG(*&*eTz8t1CzZ9%!Tpd}MUXSp!NfEayqS%b6`PoFoj=Qgl-_vxQc^yTYUFW=DnfA +8*Y@BSX56&k+Mh6@;xEz<@lo_1Wr5yO}O$fdDNh!K0+|Gb~U0oH&WaRJ~1xKcC`LN^J)$J;Nt-(p_OD +xH(J+}NDFZ(a46$jJxv3$lWoeC%2QNkS>o!5)<4!F$^*BX4rDS##dxJ$9YB!w)IbJwJhTw|JUtlf<PK?LMOnvOen?8k7*1+)|nv5KT^;i{aKiFI-XJhNQ; +oj9mXg?v#Y-)|nK}0{OU)B=D-C)q~fVKkp2kPB$7*$Z{%F$l19rzyGFxWSgQ<`p9fLMRv*hfF~w+&Fr +$0Y0|r%Px6_AYwN?hFWY3`J8>#7Ps48QA)eOI5dm+b1ASvfHK2NpNQ|dPl8x=y@ +TsP0Z@nbH{|<|sR($UP43PdL>+j;Z$oL;Qu=RYaWj= +K`SB(C}{;A&*Q;YAVfJx4$Z{uE1cYl<>F?M-l%tHQYiB(4H%GY;kcty?jnIVL1a)_p~;fjsG0(37kNm +?ZIy$N$dfLZyFKkr0AzBwTkS3RJ}Al!rFfAPwu&x}_1Bg=YnxM63Pv()>gRdCs;bUJj;)sVPjKZHlVBi9@9ySd7j206JZJ}WNMIZp8f&L+ +*W89B0?@(!~mtD;)7V!JEFR#Yu-i@IW~x +?yLPYn4u6a|`d&#mIMw@-s){UIaUT*{|a>3a~H1JKbcEelvPe_5FwjyVoZTTC3nr-&g +6{}a{;AQcPn8|w1w)Hil1t7MJS2>gW-L7t0*f$p}7kQEK7NEAZno{pu2?!uu+Bz$_l(UT}cYtamV6LP +yEk)akhV83dG_ZY@^JP&M?STdX5^IEP6%;{xC3HAA28V-f1+QA%b1B$f!uFz+;)c$AQ?#3+V!L98<7! +J*;1R0~_O4g6;dzr;5CpRskRDG~*6TGK**wMatFCNa~^I3CwC$%R)vGYEAwV#+0{A)64(0%siNmQ8@=F-6sJv7H*>bb@2QKeONXKYM +pnE`#M?~lP-vaQ5T!|y3D(%MEiku~Ndc1Z)+~H+cyTsouR#Rx+byfg0%TY(`Ubw=G8M!_lxFTf@nLN8 +?yzg>HzI4z%q_nXsePO7c)J-}2h_oTX`znXqrf-^?c#k~0D`&LH6l}Lua}!wBA;HiDoW8Fb{!WVzkKr +S?EBO7^k1(}pT9c$_W7&n#oIz=W?dl-_Iz22G%tYlatBH&-rj;WY^}`}3H=W*en_7@JALx^^yPQYpPx +Pd+w{tPQ(ByntZ7@P@NR6ubtWAwVbYwzE6~{0$c`s71|NdrBNx#CejZncIs3ZEK)Jppk>vpKm4L_Bdo +aIq_FV-p=QKa=z>TvU8DIq$RmIib*=&}kK+-g23wBPR0!`(V76aTAtZ0ig59T9-AmT8fRw_-j(`T2n8 +CokaqzhxVlC@~Rp?6W5R(vbcG@jKv(Qxz-FwYu=B(<-TD{+uf49MnUg(T)pwkfU!oh?Erv7+h`l2n|q +2z*Y=9(>7`bzLglg5afS_f5rKH+!JRiv5J^enKb2$xDG-Xwd(_bH(%q3^z#7`XUSvG(gbEoZ9#N(PdK +BH*g%q2mp-Jz{C&b{KPW2=}?(D&rdn{34O{Gj!^7U0M>9Bp#V;uk!0c=o;qp4r^`#4z6F#U0oK3GHc= +D)7$wJXba8(E9x9PSoKWV +&2x_%r4jt|kv~>{>Lfp^y60r;tYuq7^6+J(#0ab*teHm?K52d8%JHY7+&!l4oL5mmo9&JJv9aB*ck_t +FIQ3`GPuhJ5N3Q!P+5<%?U1zSd&hZ&>FzZ@r59XZQY&i0SLQ0iZbjDR_wc%-#9PyIh+?}k6QUs8hV_e +YX#+Top86QysnNnZM!@9^wVX@H~8^?LENu9v(yU-Dlr|0wrMu<8P1#lr%)D`A6Fy|l2Bb6JD +YAiOLIl-PjX1u=4|JJZBHTfwo(4x&t<%9~&$r+|zZ5hI<0AWX$|nyCi(P!?f3Urk|FJTtOY%LKPe3JC +{@JOFV=94&-qvUpp_Rz~LWOO?15Pq(2lDbqT2-AjHWotc! +lqmIvy=cpiVf1RXBo%vC9d2_dZN8dgrahn=d8)?VURIp!rXJ41?BV7}@l|dFwrblV9-H_DE&Obv#BdI +_E_dJqDL%fFy0bEdwP*H(V<6&DnC_cH|gRiy$GDShjB(P>b?llmz{b;RsuDOcR#-qRf+c2*y8Z!wX0> +2GMH-=h4!KpCfQDkX=xK(V|*TxtofM(N +5)Uzl=@|}dS>jp4C5EKf)CKx35peJA^Ak^S%idP(V_w6>3Mw#j%OWl3ugHd0@2E!k2`R5ao?)yLoV-L +T+wNb7}1$vNw8q)|qux;uRgAE8bJ(B_eM(O|V{fX7p9+%_CUejXsdBOXOwr2y11mLci~yfVGnj +OYU%J3)D_q`;2ai0I-{rSG9nKQp(Y^^77i8X_Jr}B^5bEz2{~b6MhuH4xx3&4MK*Xsa)(fI(V}?uqb* +_rNH&Jur2w<9W03=ch?@mIG!idCi+rDn6susXeVKwAiEar^;jf=jNv +2nlLj}po@Kj#)h`eTA3#kKch;fvK#6q79J19=h6UDU?c;Z`$a86tUEW1F?hJW~1#XkDM2?lgP)g8#0% +)n9*Rx~N;h>yPWfX0GQqQWA%NCaH8DrX!VFtN+q=HS~>;v=N9RYdX}Herk&d9@n`B}aPCRnf?nVRp?> +qXzRTOhJdGuV}SP(6NIniU(_M4R``9&hloxCs74?LkoEgS#jQzO1mI>_a2V1+X=uzS3CK{)Ddc7R8G+ +dm4U_7LKLPsR#7P=4<9sO#!9}%{dAZ*wG!uR$?pgJAf$!MZ}W+bQhBd96V +8?t{5EtL53&<1ImCACn +9-9y0Xw!$C^C?VRTIi{>RRd!X1=0`-9-NqYdH3U7hZlO>bDgqUa&xa*{DtqX964=>vCw6~&^yf)1SW? +yXGg+5d{9jPr(wS?kuDVDx2@7l7s&e_bI%pIWnRrpP({KUJCdH7lET*>at3{F|q!uGB4;>`}XRQ+4p> +m#h3?X)=k)XP^qqC6?$GWfGuzy7Fsheb@a&!^hYZT3e+M1-)+0)Xt`|9m!xZi#4hAqF%7iUNduVJ|Ui +L$GFz^%)A$tR%sWA^~I;c_z$3P%Kjz(A%C0umj^QlWlplDZkb38B-nuCHWT +7Fe^wO4WUv5>GI!la0UdDA;`d_uXRN;FiMaI*@~?WmS1ncB3pN_LRA-J3vr!jwIPC +ROa;YriY(cieGZwPYDjHVprL{~Y)R`4Or+oH<_WJ3ru(fd8Db0~1@fpmtZJ$vz$XTMDKMx9`-kIHKx2 +_k(M`AxQ!pv8b;PoTH}Mx1PF}ap;+sv8Z9orqjgS;SQ9E8Goy^vf; +5P==nvlmB2I8CGeHu>(+kG>Ls%5RIuV&Ek~#cu&L$*}tUQUI*H!Q+^AvNAIc7MSFP6N^1xy8zJr5WSx}VWXQKu-#Wgkei|`L8JxdE3Mk^#pw(7`R5O*ZsbOXC=r@r-Pw8qIBqXIVNz{_Ug^46jr76 +$lN^b0i?&^tk0#u!oY8d$-XVs+Yivc%!69MKwH9}+iGC%c!m5W~Ob>Mn!bWSKd_t8u8O8lNhAzzXJHN +ei>odEp%YI8>bip{0;0dDu6Bj6jRTaChsA6aKC?BtkzxnQ3WFA?bhtKGTh4=){jj#N&pWe{tu;G +ZRf{Ro;GX|PrT6cZ?j*5>0T4jkM~TirPZ=5zt-Ht8jP3Z5sE)YQ4{4R5d>+Q~`i1U~E!4eQ*N)-jcHV +55XG_-^4yRVeIyu5C^BN?Cngjb=(%H;L57_%&5GiAK%hut_|cIVsJ7;U`rq(S3q*H}FRqeQJ3^dH6{gFTThKDa26;DeEe3#Ig-_K^^Op* +@e9@FKZLJ`Gh;jW@62X}kwzHP3N)#%+I*Xq!8^com?Yu^yzoi5K8PxL* +sXpqzGT+3+mMOPDh@35&EQL+U|r|lZzOy5;mOXDB-V=HeSln*Y!4O1o$-mr_o^E}l}mb2Cm2?)xt^ln +xhFDCj?W9TdK0PLc05f0EoD>K-KseW>Gi0a`%s5z(J+slXjzIg9=i++pREX1odIrUNSIylB5q$?yd+5~urwBQ?Poq(pyf_nHRL=_9p@Xm2e87d3X>uH~ugwKxquhLj*Ydlo< +R_3>fC2b&@hEwCuI5|@Js?yZ={nIjbpyh|^)Gt(Sdm^;Jh|qTsw8fU^@gq@aFbwkO% +hw-GKo2gb64<~JGm|>FNDF~MFuZc077c2L%6MNMlNL56id2lM86b5O`-NbmOH)H02&8Dk6RCSv}`6j6GNpM=^;&;GW?Men+P{ +EZr2c9g`9m**)J$AA59)=nN8po;(JI=S**gG1-A8%*Wl|T0eTV$M-e(&h-@Yib|+W)O4q*yt}!D^D}+ +V>619XCMC#{o8avB2l=!kIqC^?R^a0km$&132_ZcZkxxCWqqBEF(FSrz;x)xQByO9KQH000080F$jzQT-&7eoPer0QgG)0384T0B~t=FJEbHbY*gGVQepQWpOW +ZWpQ6-X>4UKaCzN4YggPxmf!nV)CoDKrKAzY&W^`DA$t-V&oFBn){x9(fssXbHLX}k8kGd@vHjoo-dh +hELFzWVB`$y@%h5oHE-^9A$AI!@}s730$PSR^$E~_RH`G@4Hy5=J3nxe=r^s+QJ%LJ33Q +@NHkJ}+C|lv$B1id+v`TrB~tyedVgBmc1AvQ_twCJdf~QnXo7WZ1OdG*vUB&o;VV0=AA20@WUe=D(_z +yby`tS+iKDVo}vxFLX@bj`34yWXao`s(GJuZC)7Qnk*MQT~$pA;I&AJ_c8 +lgW64P4SD_R(XZ+AzwAH%uk`KDZ{8fd`SbWlpojtTlD8?m!*17rDPWFOV5&LcljhT0qsRY}6&)9Sy9< +@14?aJZn;CnKRJthmjJ?Pg?Tj4&SXm47V6Sok?{BKN9GJJ9u|uMBR?OH5{{Sr~T@Ax%ws_L7=I$;pm; +6IgXN&jQB_JMO8x6^k{Q8nUj!mG+D7X-?ycwI<$MVZWGZymGtGwib?U`Mi5|F1bn}quOTz1EP#Cr{N) ++jhVr7mh`r=kTUNL=EuNt!}Gkl{UcIwgFkjm6DV=yD7cdcB{%-G@F6PZrfx4KPK`^dHf>ZR=0?pZJ7Y +BA!oY*ySLeJU@K>djHKyU{v&vPiNxWcq{ql>nUJ(i@nZTU^iR-fKtjQ7hZP9K(`&<*eEHBy +g>yNL0O@I0E?ZJ;fz1mNAKTp|B-mY1@<}j5W#>(u9vjxa6P#d|VTCu7uHms{_-YhcUs)DzGO)+E3{4x +hES2Z{Xo2FBkC+d)RAeRk~6LzxBK?_zzQQZjYbaZ%p@OK8XRxYz<$(9^AfG-iegZ=$|cHA!6?xROflH +D21_4v{56Slw1k21f873`N88WR^Kav`&oScb_~)ae!?!2k*Ynx8Ae3`B*&>6$V4n(EoH|dIJXa;AKbH=t%EAcrgnNuTxNs`Q +rI!mO&LD}14YA)7R>;i495Wq(8Vk6Y2I55wDhpA51DOK+t#Fs^Nk&QPaVji>$lA9$L?G$99L2;Av8iq +W5v44Dm;6vZ2isA%E#voq}t5Af3gHTf~3cwE|{kF6$Zd6_T#usfYO$W##cqVz7w`tnj1i_2d%)D9Hot +fPNG^Rr?Qp2@9IxecJFkL`yxkyp7TRrSKdU+X}Lg9VyO;y^Mr=seb1s@#?! +{h*k7JPK42q+n|?H?Epc2HysGN~u?=61921Kq4Qw_A@R=+(ctowNw-X?zUl&}gJN^o!fc!U*)T-UeKQ +_VNDgf|d=H@d%-Dxw5hvZSaC@;!_Eqthp2;O8{oatQ;E~|$TTv7WAN!^R +(ijdTA$Yw~Fbx)d(2fJB(`!Xv;pp!chE@=Aj0zg2(jZynQ1IFvK#s0?GvMQ$#4uRK#-r-eOv^n^2Y@3 +5O1OGTt;jS&X0G~cOxAr6Wmux^{YBE7-@qI)oH@8TMa&oN}%g>c#(cKzVW{yWKq3@aNZWVZ!o;5a2dB +ti0&3}8e`=MwlvGPR9xagjplJi3Rd?e#l$H>bd8~jPO$$7E#tsEocUM?W|l>#vbn6oQ`_Bnn#%D@u_I +|_~+dc58Oi9J$Lg$7y#F$*Q`GKhQGS4P3m1J}T?Mn*#pm7Kvnv0#G32K?<36t7q`Igwxpsxwv*Pp*vd +yY^Px1vIgs-@%H3-v$IzDGR`~rCA8iK%q59e?KcjPJxXq%y-~VGAgx>tuU6gzC;o|G4(W^f?0tkGSXm +8Ftc!^qfVeBHIk3a(KC{L6Z#SL^49Op()DU6>-cVium_}kPs`Q9Q%=vT65r<9>7AmYn%;C +#f9We~?0&mx;4zB$X3TORiMJ>g57EUZ4B&M@Wg7MHErnJWtvZqNWsvoct +NYgbZNkh^B@DS`V%!L8twd-E)9lvJ!@iT*egar5{o+dECRo3>BHQioJkUg~nzoWk2afm|m4 +5X{VkrAOyot&8}6J?RpW*m$2Qvm#{PAV>m%NyBRtcHE*^<4!;RffgvmQ8wA9f+=w$Np!VE}rBSJyAFw +%sZVla|z1Y#2)6?4I-f-7$Ps=+P&~Mn!82JIMW&_RTdP>p@B)c^5*2+w5)A9CWm#Pp8!x?J5hCq_v5%ko_ +y@QMWAxGBoFaM`6R>eT!~mG2=@LTPG$lRje?G+#=k7cMz+@K{eS}8$IB;XasghPy(;q(@k+tQ{mC5-3 +85`rHb*hC>w}YKouzt6N!BOmT5=*C#2dcM(2crS>{lkI>x%%2?8C}Qt#-5cKgwk3kd&*%8)$5`vz}Op ++?CP7WSq^l{FiklR5pd8)hj{K+Z(^0FL<5biwhT`_?1c$qUM?d~Dp#ZzRw&`Y>Ae8}$BLXiIU=~4Gbq +-UTJTo!f}=2TLK&7=sT!S9rUV8>BK@}>B|80Wb?d)*m@`cS9cRyS>h?VMCeev?ba^q@zilpm^dN07#z +t#$1qa1GPZ-<`4cW_szrWrGQEb^w)q$nD0RJclRSMSQJ?AxqSRj4c=~c-#cLvpFEn$3(jJ|G5LKW2_D +|&~kpP=DbXuYO21JQEgbf=87mV|yyJKKQ|s=j58(OD%DTr+_;)Ju_m&n^W1H1Sm&4Zfs~cWzy|CTjNPHE1m=|7UA?si+EbbT_%+ +$^#eVW2t2@vZZBZWP=G5@OKAfp#TW0{!SFM&aN@j%J^yp(8w^m;qs71Fuaj@A((7K9Z6GBl@`w&;BY( +oWrvhn)GLN(Wmnlo5}XSvLSA$&&Mn;}f=&(LPG~!lQIz+XnyLh1PMM#V#+<*a;Wrxmou@@cYEg4%V +0_MskY$7idNc^ul1?59m#zIH=Pc^dQ_@*YVt%;ci|z}m68Ol>J{2x|M)7C*-4HRh4P5F=;0OKTN5iO;16su>CHsl +`Xi2Vx;s98E&A5QE&S +YPZ7Q<|5Li)F65>z_=fK!h*O;31jECicWvH2-i#+}Db +(y4R`>J+hT-1s99O_pCIhA5zNc35 +DfGQS$3c^{pTb3DJIoB=gNJ`oLWw%GPG$izHbtR?dTA1&}e0?QVQ4x%WC#s +!nhRVj~jp22f)` +JhQ6U_bhrmV^3%7NjyxO(_M)9&dw#w*4TywW&8dxe$QLo!#B1--UuQwJYmQUfAK$v};# +?oLWagWSni6d>^p1EZ3zy*_EjSe7aIjNR!7?A`3dOvYMo~fTmB>ILdS~v6^}jQi3{0*RiucmR!+g7aj +5cg!8bjwh~SyRud#N$RwwrmIzMO=8+)EbwPrz2{VuC+}AhValfQL`z0rGV1I1a?t5qrDjP4;0u~S+2ovNp +ic=MI1(rh(R3S_O%HM#pvC2SB9{5$dntqsRfnMY;t=mAbyY`?obyDmN$LLK48UvVUFThVo>K`5-}pxR +`bu9YKOvnYw0&WpXe2oxtup+t+163717@W;2KOf{Q=+N;R-Zq!jDSAL=p|j9kw(i07m2W3u;xXrBuXA +@RkmIwqgL4hyuF-C%6`)F+i*J2FqkvRrZ4mM)6Q+pBafytN1D3bXD~_JY{42~P^ +m$9=1LH-%v;Jlu`uf*-)yXmqirRfnb^LwW;0=-76GP;WmK+xKKLx>`ZFo{!(Rfg_kCW4yT&oOS)<1&+*=+z%v*IcVv{ +Z;wIZ*<{s~60s_I?Y`h87=0Puma`567+>64HzqW4ChQW`c@KNUy;l +J4Q1}*usE9m{oG{;6Z_bDiDid^PYRNf9V}favtfd_i!OkY5l)5MG?}c*((8=M8!?`MmFi~d^-()LbG! +*_sDVkeOD?dcr(9dH;j?M7pQk@BB{Hks@b{1TZxtAC#{;>p6bQjT79sG@l{Va+(XLNk-7-KextGfiAD)bcI6Gg$8UX5sMPU8f9Dj`!nsu4}al-cHGU~o +Lglw?CMN@$z3b<==i-LAI1YGo30nebWa;<&kO#(WC046F!UtrP6I+U_s@1&_`bypMyDR|;`>&buYe#g +EKdIWX0Q|I*#j@iL(KfFs71iw&PX|c{4aKs=)L3BHp>GcJ8xwv})o@SsGVZpk)5J?4!=(4H0I;on=9U +wT65F2)${o&cOXS>gyK6|zUi_0=@gQ3|~-m2q&K(^s6eRD})1z_x5`p&(h|8P-NoQDE~=e3%Yu0KNO{ +-!>iCj-)l?5H_+ra3**b9l$TP-RkgU*RMF<>jz6VQYs*ieY4d>YnJjT{C$3S-kttLU~wJ>O)0AfpuS+ +ow-%jTO;s4^HvP+$z;U*f5KdrItY&VGLT3eVNhG{jl>CF#$XM0jklRlv*aFSI^ai-1B<37td +*Re16qAlYKu-)uAaH&EuFTOeF)G8r=~!Rj@bEurds44wfszOX0}!avjq?_)9bq4)6{W;KzhGkbY}{VI +-tfZ_*nA#}Y{}b-ZJ%jE>5ne|3@+w8ep>%J9qk3qF22d+Pu7qmQ2%oet!90TVe9z5oXOp)#wJt5dBeC +vP83aPWnXCB%KDPv?2?FRJXur@QCFK2-M7S^@n$fM;jg&rF^>^ph+BuHQOcHh5~Z;VLR{i-mw&`s^Z2 +Ek-Q~Y4m6}24^4Og8vBy1?Zj*)me+fmH~4aM+i2J}l<09Nfih)8}-w8tnoC<(KW}_Q6n?zu%^lC!@ +_Mpz$yI_!J-ht(l!~qSI{qU+3}JC-WD3{ufY70|XQR000O8ldVxvFgfDMd?Ekk+F?mUMc=m(!^r5 +SS&A1pyoY?uy>p|9;&)?+3VCCAqLlD{?T?Gt<-4?-|^S-fdWP-qv+{RW<9VXt!I|jM1=ZcXb)9Sk$v^ +d&$Zuhr)KtqOPsrdDTQCHr$Q7o~0-EqV2xhpGCviSH*bRc4O5xdA)p=*8@8_Iq%zTlx4hjmPOUJYx^< +ES3_IxMwap4Cnuu3Zr5uVjQrUS^4qZ4ja99F?bUkB +p{(NKN%s-|6DT;w>2v}gajs{jdrl|e#yqstC8#lfmJMc%YcRpfQ`E6bXE%MP`?Wc>gblx_dQf8L=*m- +hpU@_~QJE++x7?%RjIORxI8>!6No{+fz^YTJv)d0n&KL?$dh>tS)z)vl_`j5U|C)ywu(_ahcQZ7!?6Z +5;flhU{~}h(c6<&zoU{j&dw~+V^cAYF4*JZnavoF&l~vvv8@ZZ`+d9Lt0nOg>3KwzK5!|Fn11`Pb%HA +F)#Bm*F7~@gJtr;ouFhjTj#}I0{fqn2tFQ2TrICqG`*#}ilZ-OWi{rjngu%)l`>fg`*X|g)}7tU3;HE +i@>yQhu-Cr`kSI0Bcc)=pZ5XQ^U>OyL0CfAVZ~w-MF;d(oFEdq|jqSEhqHTV`jKVG-Hz8oaEbw2pYvd +#Z(D$<7HMD%og4=@FMOw11XPnSwV_C$?1I>UR!N7KXoo!fc?q%Z%w$AE_O~B!7@?pbN+n?yybZx<@HL +^?C@)?v)H`!K0A?wFPnE7x)2+i2%Y8Z!v3Rl3{c3lR8=fBHp=<0k=6;;Uyz_X!({lXa`8|+8B0r}p@6 +0zgP44?GXYKQ36rDAPZDH$byw5dvlc;ml%R_1`md

XMADPR^h_0VHu=>d2Ev<-Y)kW&t=_@!C$xrb +zfU533{SHQK=y%^8TXyh^Ur^M{nzaAPfs8JNA~9Z%a_kz{&~73uU|bf +8c;G9D^z%UHXM|8{ZI6=^1b%*KV6IO-yrkwkAn4zs3!C$PWdsx36|TjZ4|tL% +nSM4IY?Z2H8YqlsopG!Gpss`JX&l5b@Ra)Mi0Z}a}bX!+mO3kXEO7^4~0;jx$?Nd@)CE`@Ksf4NbE +0X*&@<*8V2)>KkAstu;bK>Kr#e=aRL;YF8Z&%2k6M;{75{<0_nMP-z<6fKz{sL+dau?M(Aq_^*;?5m6 +uxxcT#`5XHp2*U{fjNrUhpk5agaI*btA-Jhinhl|TF4f2p!MKbf-NNBq(B|RRW)wnS<2Sy)2cadXJQE +zA`4JD-SK(LscMI2%|7diQ-#Hc2Op^!XjDvhmk+>T$KdF&ObqY1(LIN{|A0}7Wt*MOXv~6h6Wz-0HIq +>brAnlLM{rBkvwkiKU@5;yo^x_i)PN4D$r=_y%okLwk|g;zDANZrD$uMNH^>FY4Om&*e2;dQl1UM$#j +w$Vz0spheu)oZpKWu6r+n4!#t3wro*~7bv$5C^h4rjvmpK@0h8Yv(4Q!lxXo3EkF^7(jhg1dbT~kx!B +Vy5zSEbor?_Iumk;4F&t;Q_Vs2x~+uF(dq6U}5K1OH%P>7%L(CMX+7!iJgFM?r}~FmNur1<$scwlWxXvGiQ5&psU%feV6yoDLS@M(3gEkW0jX=dUCkfZ11xb?t33_JSen;8>++uUDNK9B!CK?O{@M}x1lcp>eO2@J?i7`|m!b`blNdmdbYL+C +rx~4c{*5Do9@-VMRw%x#ay9!*kKWXS)Z!VFn_Mw#6M$}Dk%cC9gQUsgGs~eBmZcStVdXXo4@OGf2ILN +YiM=-Xk+t&GK$WN$?1JpJh1X_rV$OuSYQ)|{A%(k1{GWogWsmb-^!n-R=-UUskKVs|VG^NLi(oFv^Ai +g&3unXd8uY#GE6}BZNs2-XbAF8s5C~=_`4+MwFE+R>h0oI%rqDz4W)Jjw)u4j`=mO{|uYugl{V5r~NZ +i7Vb*O@NV5ZP`N7A6FAQsiH@VZZQrCX^|YtcBv4uIkhkWbMU&Eack1xsa=0VN+bY;;byO-t|7jebn*_kRJ3X9lJngIMwT!UU|h)A +g0xRuPS97BU*=V9vj@Jzfu#;$hn5+z&`GK?yZ&f&@XH3&R>sY}%5dPK5{;Zy1`$T!s6hVOCzdynq<90 +I>6!rr7#5V-ny5Wfmvd5IfH2vK+=vE#8Jf^JjD|b`k@P3qfHLyGa9_beK5Y4AOuT?mkMn)k?|@FuQFk +A91tR2pS6hg(JC+igDx)-b5Du@bA>Ulo?TY$Zm9P`s2()Yiv<-Vz#`?tHe;dZIc|4a65y_Nd*uOh0YSx*6;;VNfsD8o9FLVood- +pebZsdOr@*^Lu4lr?w#Xwfd9tIe0VInVnn;!{6ZS`#U^jo$YfzL(0T5%RAUU8F$Pb?;a +o&U@y8sBJzL7*fF!S5umhVK}? +MGv$z3x-QPR)r9K7QczPx74zB935FlzC_Dmx^u&SU<~0$zhA-=EY?*8;u=s?To8dOWyQ0sRnu&2Gu~h +c!bOikb?r`G(2HC*>{aY);DTzAO>%MOPmY{SHlLik8#lKG@&l*M-GKW~j)?oqZ7KCfvk^%+#}ri@m+w +fv4cZ1+#bsVsCH~zZlZ6gZOd8;j)zR)vqaV47g&<%+37--SgoB8;EXSZvG$Rb*HUs9jtH+r^m?SHNxv +qpF?_Fwe0=zo|WUC;0+8+G_rlbV!#)Z0UNXR*_^R>Z;NAwb4P70zeFKOz&v=i<(F6zV&(`5;Sl4UX04 +*7`4K?GGid&)Om&|nz*SU$DQT+<8-7~0YOWi;pUitC$s%H6tgDApKjOAL)z-3u916Mb-FOQ?u|Q$W=OpuNN+H& +RIgUgrJ4$Dy9%Y=|KcYm0St!_`H-K^+@0v+Ene+f1Sj+a^YbAMoo(?&`p=q`2{Js8>A*Z?R#au!^x** +ViL5iKLlSQ}{FT#^u`%voX|#ZiE9RwsOm4GT*oyK9BTzV(6x9`Hl~6d4Uz2OYAuhjcvfY6ZAj!J4yh=#4k235v3t4AyC4UNOSaYl@r`kP@^ +cE$VC^r*nr4^u(o@Fo>MZcU^1teQlfc`Kmr<=%s{p=*PlebWrMAU(^H_)A!6GVE78?bdEPee9!!X!v9 +1DSIA}->ge{2an4f`=d*C0Zr(|2#+jbbEj^XHWyAh1YibbQXHK6N@?IW&)@BKB7B^80ahc35jt30BHG +sEzcN^&U|WaIHQ*F;o}X|yfB<#DP_{^-#+M2S#GYhLJX<2a!qCP2wmv5{tBvn$tNy|Wf%4j}w0@5_h? +JFnO6fbJaw(pA16qE~N7?@(*BrWpbEyadZy;f2=4SgbHtm(ldH`86BddyfoC +R0ni)hriD3s-p>?y{c6*Aa?2vCW&sE;DypFu7Q4pKYkCmzQXd+f?1!aAu4sFb(l|i4rdHSE +(kMEzqc#??NWxWS&x&d>fTw2ak{1~kFDAXGS^$Ui4B*jStQ82MV#k&O3EHR(?{rl%nNQz*XfxObn;cq +~reAuClw!lp*lz0N5kgLSP&nXy!LZ0QY3@yqhjYK2k**ltM8X5-mIQzvW9s}O&`X;;9ehm2}p<{X}{` +n?eq#O2mVa0Wx|JTn?&!XoPDM4KYgLmZouJeMN^pqUNG-eRbe~jV{Ws60tU(G0r3guWcAgxK{DDl%Kv +4Z6AMV?=ua$nQ@vCK=;(U-4=xxra%<_3M>i6JOAJJ4LCz!MY};mT2w2gTr5D!18~+b7(*pQMmtI+D^e +RJZw#lEi$9JGENxFlb4P&kjuw+ykbxDcEpV0vaDB=x$e-KujS^NZ3^mL9wG52_t~ICSii90 +vm)6eoenoUFT};`YCk}q8ySE=7-0ilS659EO2g}&ax`W)?HSGmp +avGscS6`BwEnhg4M?zq#X>`iQ3Ci;m%B33J(tStxzK~eNPtIoxlOQ9!YoRp^pRpVigiObWTRd}YPF;1 +;m>3k%hWJFKqDV^6n+ph^^-+igU+HK-=>oX*^HC9u +{EcFX*#{S%g9sD32zt;kEf2T0%Hut0OTilrq~(d#31{;0wu@0$RM02kDu8unD@f9bv`4Z^;4Q4jsO(k +BFFR#bh2UP*)%ZFkuT74BTWU@6F3wejYXi>H$2)t3kLc;1lm+)9EeMtXDTWmglCtAJqJgvtl#wTsfVK +h%g;TLkEfH3CE$S^tt77ir8-Yv_#By;O{k#>uj#~~ZrMhM5M?*D7Q>0L>d-1Bp>Zx7j0@89I|LF;{^I +AG2(><_>s#j!_2Wna2aj&WXd(e`+) +#vo}Ump<`Ee|Fi7k6FaF<)|AdNN6kUVcr1;XxNMvOy5clt)dzEGkFcZ()pBQ6+CYwLtbwApe4865|Zq +Kyu4U8R}l(PLsRYtSRqX1#Ppq_YBNQt&z`m^i%>oDL|`%S{BQ3Q+axa`s@>Wp^*pGWb +E?x78s;wCIwT8>3_RwF!5P_b*j2K!frBfXf>y~teT`byQTTV%dir6eK=Q0-6>J-d2`ubU<_Z{wgMcG` +T4FXD3X{+Q%wb?OMRMU(#%pygI?k3pvNR$g8uiZTeEyUSDisv+D8&X-Wp?*EN|O4)Itq)dCS`RhLJq_ +Z=Iy@>xrWQOXUba_A?V%pO*L_g~Zmtjh$?w+9BJZ_iqZ%HiC~suIOkP=sZZ!;*i#n}Wb5!bfHu>_{CbLN;hoCg7=)aJ#Uy=PRLgX0d~wj&^C7Ki{189Veaa +*yAx6T~hbYd@InsGf@l^I(>*_J5glDcmlBTEQS-&~=QT`5Tpl_!TN9yV3L_$j&fQ7_{j9QtSRX`8l)? +tT3fNzPH@SsBjQ;Y)FquG-!2$Sn$iun5WdePB1J8-L8h<(l|+U5OH0))FFz-#&AD=Bt~hbilQDnA6N2= +M6UI!vO;9+Myz4BS&WP2eU*X8kfplzxfT_{fSHg##5c;)^&9io_Gg^M%uc<$jHl1Rp~&`15+?zCo?tVSc!mRIr`AR(zxXl9h7)^Fu4elV_8I|yZLN`4t +CmU%m*b61 +D0PoI!+p}01HzhOMZmb}xHNT=z^Q! +U>Rt|5&%bTZ6v8pZFNYZ2*EbBaZV_UiGcvR2G&N{jpy4qxs|XZ##|co^{C`x*JRpa3H2m1VM8Y2a_W@ +6}irK?pAD(@js+kHw858!KvGPNpidx>sF~MIw0&*#F!g +7yqOb}5x%QnBHF}#W6` +sNgrSwQpLa`zhvf;xlqQYF!P;6h7mo{}+owIhH|_Phzt*^iiv4uT&??Y!Y3pp?*Ch(M&#EfQ2I1w~}B +Zd%OxjIS0Ink{p`VZ2(ecjGmU_TT +p?!+_zT?GI+@@oD>B;qUSF*P#}60D*W1!l!t#$nqr +RwQ+l!W*Tzn-O{)UT_&zKH#UKL!M1x>ciKge`MCT>{t?99l-!9PMb*au%=+ooT7YF2v_D=y>$!EkCdl +9O(uD;OiA)bENluWx#Hax8c%@Q!=`2W*I&B{P5|M=)3QthrdPn`=A9wd#b&lg!HPf@YbC^<}edVg$rR +@E)E^H<-Il?9MeoJ;>HCTgXS)i&@-Yx``b|npP1>6-zgwp)Z@HY0I@yU#_DI&ZrO1)xpsV9U5XzMMPGHJ^8RxsH}Q4?E5ZHniwwFw-Wma`M*#nx7Z +XUAv+=&WKq`^_o)R(Gerb)^eoi>WKXx%K3jVQ+kI7LHxaa?Q*&IH-9CL%Pk&xouCVV&#eB$MHK4)+V- +m72_DG=NV&-)fc?Pc@3>X0N5nQ%Uxapqin +?`kmO4SEyjUI>D9M@B$VHi3lR$#=lXYJm>RrGufdX<+^v3~tkctrsdzT$?mSo<5!fwTQtj`G5Xne7hp +3+QhSwTU%FV1a_w4!s?q}DJTX)g`tcHxsXf!H8^T<6PHYZ)K_o+b0}Y4y#32&FT#*l3~vV*MeNKAD-V +A(8$SizPuz-Kqqnt{e3>Wf3-`I?(Rfv|NCIn3p@w+^GSQ9F-c;hKzFsGIzma*x>?_fUzDbI|;lXYZfk +oE$=nEe=t#y^VZYPq|@EynE${O^URCG!TCz|6#skdkidXsrf9WdnbW<6nD6VA^r1&F0#7Y +ME?J`V3y-Lk_8(AgZ-4K2P;?kPuo&2GIgu%GeZy~OQ>U`|<>SVy9p;*?@k;ZFDE|y!QrO~o1aT +-e7x&v2<|!{Ez)`&EAf2T_NUq;H@LH%4(W$uqa)z%stUeoe?DJ$e3jb50QBSvnuRtaQvWT3lfx!O6EC +O5xFDvWBI6L3aam7r(aDzhN_>w92ovQxj*>?u%RX)NOh|9mXp|IB@xfCMOBZ0FAHHx+5(2Jy8a<$GQ;)pLqiHB@?%2in}}T^bv1jyzX>j +V@z%et1BEnU79b)kLR!R3$6^v^rBqd1QEzoQ|a!xN~O@p?W0$8ii{Q!lrQW|Xx`9e09c2|&qi^recnW +Qfo~0IMw!!zS1i&Za#fU)jR|Zpg|2K1I*@~Jws^-A_#Fs3S5&-grD;Q;>b6;nci{k4lIk;X^bAfOkF# +sd9UE8){#d<=M8Erxbi~}sw>a3(Juu1ejws4%l}Db{sRcbf;9GQWpSXk2f+1M~d5s*m2Qh<34@6aWAK2mq68h&N5B=iShaPfiySVG7NOCwF77Kxv#x}FGsEE>T-0lAN&X9T`CCW*PtAR}{ +ku#jvXJ+Vqtxhb<_HEPFkY!AqDpfa(@3fL_1DSoky6WCbbvTIfaJ470TuBLeBUGt-y4Q69H55OH9BIs +^N>pj~0A-=-wBq?aC;GH)gdB)+UaC^$T#A1~R`L_Lq@rw~F1bwMV-A&f*mbEJE+wazuj*RWA+nPyK04+bwR?~5k2hCFkOKA?NTL)?mPH!mK4JM0^7~A;6`c=7W}Kk6@9Gv}t2%vNknXTy +(M~BDv)_NmZd3`w@@lnuSp#o?@reMbyXR_nptDK;ey2w5oVbkQ@kn~U)lHoQjB`iZO7($n*sDK%`$wO +BSTj5*yf6{2Ey=P)HWBjnZj_81ej5*k0ANmx*$2%JhND7Bn +))crH~#8&gaa&>00{oOtZ+;k=dnv@1C6+sqT4&P(ZwLl`>(BPf+@&DQCACCUhuiMrU1T`64wW7j}6RK +K-_mM!v|s6Ko}^-jDY7ZWOM+4?U}CI^Y)nc2+yGkeNaTQ<+G;E|3u>S04wD~cH-1L4#x9;c-7GN9hN%gw?u{p-*sqtbz5HE6ME?Gjig4&V9eQh~u@_I**fc0unl?&b$;RKK +2%F5aMJ_-SgN4SRP4X56m!tikUdqa(+72PmMx??QWtiynj`9qEN;t;UTz$T@ytSlmi>YGotP3arZsFO +MfUfKBBCknkjiCYD5!uty*ykp)w@P(KRfjhV#Siam`B7J?1K2op9m{i=tYHDUuf9Ti0#L6A$RHxYa +9oM|NCUcyaI`scQ5MQp!y!kAdh#GSAh$x;7;9Z}===qz*$hMIMa*Y%B=d2NHcQ<)XYh=T<#KO({&N>z +h(oO9yHt7~Um5HzG&$1j@t$3X=Xi>7Bz(Z$Lys7BChI-Uyo*LpKZxc*wNQOt7PNy*NttzGx6k{PEdNG +B7C4QHP$o|xM-0=I}wrhd!~*iA~-n?oa;u$og^Vo(B&TB$?$_Gog~w7%BFe2;<4_Cn%+q&6ld+i`6|K +NO%Cb`C#OM?ErKK`!=ZA}_=qGl%wfefGeM1a|oS;q_ax2;&YnjT|KSQI3*<=X=+R1S=-^rY}>WZ9nh3 +-WqIcr^;wXL}&T+ls+_0QW>7jm^6Tm^F!oQp`_8J`Gce;x0%Ou5N +^o%+TXxLP3_>MPS#u)UnwZNWVBiQV9QN6br1LbekIC=jouJd-3GN6xd2zR{-(ogCqHHefX3)1+7uXWL +Ksa<44Zd+^S*iF?Z5BY&Xr)G`}E$D9cs3$NJRo89cO|#LGfhk$0C5oGy~H+zmKrqhgq|c;F>QY1b-jy~ezMdy$g0$N0KnBj3`WjXbL#RJ-%>n;pahU=M?M6!nc8X3o=dV%o{=(^vI#yqa<90m&OUTzE~KPJbbz?=+mq>AYgkh~G4n^?c_tkKV)yw7Yl2nlVTS=4i>@8$LeC0Emk2?)bN%Tg4{pDZTbrP2cY +dsl3Ka@;hU_wpVXXJ(%sFTZ3!ye+mh$r)@B|Igg_x(>^hOnDgX+>%pG>voAvYDY%-&mBb) +)7aYXv@^cL!QS3=S6?`Qxq6M^yM+8(_BSpye3nGBo@E$G9rBr|y?}^Ry3LP^8Ra!o%Y}5(bZr^k|A*D +=3m0qXUL^`&z&25UCT9OJOY?%~g!cHg8`lchwTDTk_ZFJQj%xkL-KY&dO{Ouwa0Da@-DtmHZ!Da6=61 +1_f`WImd4Ex2n+Y%HUkrF>%fslS9hP9@dvGta={@6aWAK2mq6i(w%gtt^^rm_>ZZulceT6D`dM|ZmEbA$L**>JOYPHDu-mBbkFL +y?=beb!iOG<30B`IY{#;JnE5O7T3tUdyk0SiY0mpHi?hnS}MZ +(sz~cd;A`a$S=~ei^@TKBmMiZmZYf`I|RaHG#dTfIE9x#cR~vs8)b6M_C+QTAyVI`lQ#-`eza4rVLBB5$hU(OFT`PmJd-0Q@X_AxI&z|q_ +jQQW)IEF@$C!JbPEj8qWD^$mX9l0c=k>nX4V?}9cl)QZ-BI}praM~$aDwhLCHLe)+$6(-r726*V4gzk +{PQuv|D)xBs9L^wLrsHCD4%8wxQ1)JxI=DF*jsoSBf6Q|1hh8+1$y#h;U9KQIrd5r&luR-W|eVLL87$ +yF+p4sW>9JEC21hf^2G=>`pz(4XjI!bE%t1t$J`11){aqm~K*0vM1w@^N;EE?DzEM`t{|z+4VRk#e?$ +Ob}8nwN98|xsKaf-v6X*p7=v4aayWysxJzYuEd+2cFjgfZ>9N(R;mMuS*~J*#EZ$}5qpKV`<2dzEJ_0HaDTJbUKOroq<9sMZlk?7Jfg$B4z!vMymE-K +s4F$tp)A4ylRN2*EIl5xz$IRsfl%iIe%dgwsyequNW(s&`3*r=_>(-_Z^(wklLehp?G6>d?g&{Z`auS +eM01E8&q2gCHQ%*Fc!GZHg|9Mh%%0Z0YlJ0>F&4eFuO#ekBGX9kx249s|)GlBVrio%+z&YnWBrUr@te +{34v3g@TU7+fI?E>M$hN73p5J9J;4HoW%1(>~YRd1j8zqLhp;D?F@>7LrR%f#u&{MLuzTh2zn80^)5| +?p#Gv754qclmoI-zND1HDJf(~=d!MeY*pMrc&MV9=$z;N}@-b8Bsa4x<`35D85b-~Z(n;gPX?b4@zsR +yGH{{nL*!@86lXG@<_BzWjZwyRe%$uX)z}s?7Z7917jdo;x3&~r|GSoWPDwm}0!J-$UKcdU*1o;*-IX +J=@)Z12jXfA4;6tcC--qLT?m90W`j!E_aT_U4uRu5K$fV26UDNOg&VO<=uVEIypc#D(Fbjkhc6@c!$tf=;=xPg365i4_FIgG6U$;6sK?Vh&l0m)5PS&0FbkGk4$&`&B#)FZ9&#)QjM;IsuKk%Wb=P4NpEB>efX?mtFnKG44`Td7L7%E7e)tnSJc%CP@ngjR +3@j3(JB5*nx1k&G(R}u*w}Bop=xqZ4i_E5Y1*gA4N>cp4&0;fm9Y113(hJFj%N}(G!#AY(NGx`H2ka3 +8u%Qq4XIP1T5UcI2aWv)P)h>@6aWAK2mq6#fad9XSk{DAYLr| +7=v-97tyYU7=TTW7S`d~{S&}cOJjRx0UvtwDd-uL^CXBjJZZPWEEUy7#M_dJuo&(2i)O5EzN>wUfIo2 +C-Fp=vgpvfk*Qjd>uB?$=dQuglHZ*&1hV%Qnq!d0jM}p1Qr+WE~gHzFTqOb}Q?icXeK+{BFhDzHDlt$ +NXHEwdnJz%CY%H*EL;iVAZU0Z``u1v-UWr|9iosgZ6z{iFDQM+Pv4}-o1ML{D*gM=WLa)wmid8nZ$U` +0FD5l^kf{KB9;bN)&;No3|hyB>`JlH{by$kJ}>hd{<5t2oPOovMt&(u(PwH!qU^cbDl#NOC7bwWlT~G +XlflxqvdQmIH{C9;%Kzm~kB-;*jtli;*LNHyNXF6b`L4~1((Lbd#jp7a7W)&lKQB8DOw_>^ct7ufc5E +H8egDgkzhuw;_Tt&!vo}A#e*Nn8e*>qkBh43tEkX4mNJ8T0yBe@~hCH+cin8bBs-Lr0FuD9q-vGBc`v +(wm&VC>c1VXX59De?^Z}mPTb}om#Q;)Cp^v?lSS1$Jm>+B4ff_Lmvi&DDb{XeK}mSsrwEKAPL&I-O}n +OJpY+f%EU6@-%0G{=qH?8`(h{0Xj_U$B`w9}MVWIZKe?gf0G))^!C<*ED1@nLO)w-gDM(IS6}I9ocVt +V1{+c3x;#BW-Xrq2MV^L&IMZ@Y4}GFb5J3C4oG}b$O^UwF~=dB5{SY+d_cTEd`M};8xAT6L=&G^(2n2 +{G|eS6PLfI210E+5sMX>JB^sIT(#ke*d?ol;r&eOl?>LbVS{sof->1JeWj#}!Ju=I!#y%qJ8`$1mbBh +D7G>~hJuhJNH?qE=ww=M9=%*_4;n}VX_)8w%u(p_GcYc6_cC?FvD!Onjo#D!dK+8z%MJfDn@2Bjc%wB +zAW&EWgG{B6%?>pJ9NEu&Xynp(NM0{OkZCPu!m1A+S1*sk=@<*mR;q>hA%)x1yhZX@RG>C>Bo!&U|f( +iZTCCiJE-eFX;|zl4ANEU_a&Tln2jCV+u=U<25?9+_8fBKE5rv=;>4@1Q45^P-qx*JSYcSn{eMFzyb> +B?IBVRa8Gygm8>1SpeaRSyZX`^l-Ha{r`pL2bd)0{tS{4h#oi#Tjm1v3ADd?@$82;&liWX-!}Vx0St7 +tYOc>5fO2Ht7|2p5m3nN-UIJ7OCYix#saDLxIRknTFdPZbS1hj!{L)}2Y!t}Cg|<$qoZ2`YKf>&=twi +>O^~mfLu-3IRnP{uBpW#=Z2XRlK+q%BGSbTFm&>#bJ0 +WJ+e-3COQ`p_cio(QQKha}Yx`Fkt51Q9a4_6mr;l+PRv8iy-pu=ng{GmVB<65?GGCTC?-~9NW*4YiYP{=o|Qkyq@-VfC@0=vH@i5@Hwk^4hE~K!MH; +kjTT#QOaLRI9df8_<*mEDytRF$W{7J#Llb0CA_ZzLoS=}TowFN$ysUWba1=n@S4AdnN}MyVkF&w{rXY +A-FBy`MpvDgMP&=DEog|5&hCA#ECW`mh-(h7*a?LJrHLW)uS73(HGVJ0_N6+MD(tX8#36q}ETRJ4246D?zx%DuBEQh?hk<{=P=ggDtTQ +J~!W_J_&&n@6$=&VI(S&-t9Ad|sdgwumFtsj^P=UJ0Cir^B5f(!{8YDpQ`#PGjXN4dT#h +TVheigid*(IA}#RSVOxUJZ2W6b%WajDUqUgpvIWQwU_f1CB3v_aKqH7oq~H|?^$PwtZ3s+&9@6S2-$> +^J`3N@+NDA5*cOEylZ`wr#_Mvk0gz~M`V5v6P^yyR%mB4!H0-h`EJYX!!4MfIAi4rn$*-r)G%WGII&M +kS-8aZ^6phMxWOmVbb*%rMh(pG5bTV7}$nE2XLe-(FaorY%8b(+0>Xj?tor$_pYTb*A?EInb~J2 +a;>3L@C0`oy!cPHdi+eTrvj_Pw)G#{{(&TNgz5#6^{?gGT`t&%V78<0f&H1QVc{EWxZ}D+EV*aHMvl> +wBb=2Ou9-|7^T*;K9nL-+cis&1l(>gFbxoE+xM-wI6vP2Qu`&QbkEx(#FX{CWCPKP$n+QHR6)K_hbrrW?2B@-10)&0>$_Y-)#8uLxGO +i?o^802pVVx#>`OXbji5huy>r43h4ytT$fULr0lx_(=fQLI+TmTFe-rfTcQ!u9CFM4# +XcG+9+~6@&KX8JafYCApFF$e%rLizfMHryIdI|IJ{MbFgjtYTv-}lQw4w+Kt&O(X)!}YM=_|F +5tMc*w(w78V?ZlIA5i;8n<-K;$}ZJm0p$vnegUt&TE~23GK8-|2RM(u&*i3&%OTV93Pm*KfYp^gskrv +fCM*b|Bw-Cc5bvZAMm!NjE6oHLiA?#NA3s^_@TB32Qt{qA*Um(~HEl`8TFD{$G~g28krkq2(;vi--7yH^)rJD;qK8`29 +$6B^*+`ydvLD{kvE}FtKIEISE-oiVDkjMouU!qJWJKy3t(od$SEwCU^&pk`FmKOE1^p@8O?uGI{R+Kx +DSPP4kuwD*{I&!`HYf9qDhQcapEM0zf9rwNvE5Y6r4H8P<;fEK3iLhrnko3$mZ<62r +Or2vKa=W28cRKA3Zi%8w9_sS%GL*&C(ah(J^Ui>Q{FRK~P;*YVW@&>z>|KeMA(`wrlTp{JLtA$#pf;9 +NsWP88HXK|DRVV#>^^Rmo_vgop`kkyf|XsQir*HcT9MSX%(1ZUUx;<+ly+!LETQ`>4~6sw3<34m6BNU +3@%A#p(sQ+t#In-%8CQa>!uz8A1)XM#UxylD`qKnoRAs`?HtoMD$yH^vZ)zhEX+Dc%PNC?ZA!t7RjN4{O*R&H9mEjSxD3Y +cWcDKFCdpCYH2=B>@LJ6qih_#<=d?0Dy&YfcN^WcI91DRm +*&J^SHJD4DKh7EIqbxhTsRQZ|#~1XMdftekR4V!ff)r1Pbi;xp-eoH~(`nnX{*@BY+50Z|vNjP>szHH +Oy+-f-m=*+4K!>t9*r1e=hW_(|IsSG*S%$Rl|rVX@OQV&*Gsc^xoHg$3Z_{c~g3#5r-;^z3u_|kRZ{t +p1X_2f!~dilw+US+Cd^$7-r +jabVlbVX4H#(2oqBO&WG-GL^>H^-C!*v8rPE-}azscMzM5hs<*pR8NhUcKALnuIZH1U(-43_Q6a!E(GG)dKQ=2UucVEdNkYdnLSDpK- +dAzhOGuAd^ODi3Y$z$^Bg96qXU74GUh_TYDlL$1D}S_`TvB7fGco{lUA7cr>0)&~MEJ7;ZgLLl&%5ph +ubpeBwZ+)XL2A&cw5z#aid=qJg&d#F1NO8E?6Q_d&#U96-}KDp9EFjkFdzX(S0;Y3AAi$^h!0dL(v(n +X5S`Mz&5s_yT0m!y{F?3Q=SMsWEvMtRheP7QMCF}{%jh}6_2mJC}F`0#<@c>+^YO2an;zlS?Hj1M1Nv +|tGEE$ZIH&+X}I9Rqyau^jBrrEXtb=_jND_`+`jt6ZmT%D*$K1iCuC`e|A&zpNos>e29djb7;%#b%!ui!CDh%!_f7Wj0h7 +n2Qb?34Den-xH?nJ74cT3YjioZ_K{;HQ%j}J=fVmr%M(d-bXeAA&-gTmFdFx;Ok;Tk_Y+1JDp-<*Qk` +QjDa;5oyoaX~+rW2IofJo|rDPY0cLbit0dMy!tXGtG1Pp(}1`tML%s_5cWLKp!8Sbs8GNL}#b5)!mYZ +jF71(gS6WMHZt#2`o%S9y4zla(mMQ`J4pc49MUZsElMJ2EB1DhyAt;YVqlh_b;?DApm(0gtd6q#-0$mgao#jj72l^&peH;u{#43bp3B4rGB +6{^G#Gd+hj8u&3xGkr%)sLCs*a~FIv+8qh2P?*Vsec<96#$zZ&+FvB7{HlLkMMU|Pm_ea#N+gjW}x1vQN$ywZC- +DHO90o~ve^q5?rH_y6J(a;~?`GW1a&JrF0i4%>RH8M$j~lBKoiFdhUP>Jr{{|v9og&Z+t)z>ads_Z5x*Uw>5 +TBY#%w(Oc3b4`?J8vr2$Z}>6(#JOYYe#8+XN77Ueb2kGb%cXfX%F+y&?_+B-$sf&qWV&WURGf&usLJI +e8KM&X#6W;@>@}EA<6tlh{PZVnLXJmr7~SaW9X)tDc~>w%0vSIRZajKFPNg}Chj$~=b~007L1)uu`Vu +m9^6n!)(4D>@nPA-X3y2!9SgB~h+EI~pZ +kUFUqxxSpLZ~`h2O8alQ;5#-hBKWV3P0;c!1f(x^uVeX;9;%M`3^%$Jkbn^j70UQ=w3ZDyBsgz(|Rs4 +c9egHXQfJGJPHUNq6T18P5c_~fhqb9cpeGvGpa8+lz188DMdhfy3K{TBshyE>_!3t(>2qVA_tcahk8h +V;uFafpS-C!7F-VNZb;-uXBu8&)byAKONa;2@zxlzhk^JL_VU&LeE;G?o{{I^ONd?-AA!21W3(k0)tg +{YvjPDSGB8^#u$Z^v3nc&xekb2*P#qWG(t{)w=Zggd@*tYpoQB}mC~ICLO&!_(9ypB3<;ONYK8()pK( +Nu9An6`u9Q>HxMlE_gGYV}0Y#81}r??u{H_;yGwPv8=k$ta5c}Us)(dSX#4~gk9_c$onESYK0>0P^)> +ytzxc3an5>mT9hhkC0^vXRX?VN`fY_rzg%Bi9M}6^r`DFE~NTOR!dvSHHvqEia~GA3y6prR)`XOnKZE +OP_#EhS21_ls(;lT1m(`N_*aOW$onc3^x(APg>g4Fp17RV +4{4I)6-tb*uenWlm#9YC#q=NvO=i->DmZ1MTLo`?cthuSJxurbplCSc;EG(kas0y0ee~eYI$hU#EXTfb3QTk2~-AX|{J5QxU10B_fLs&OrUKS6^L^4{wLUAC^D*&`u0a)M +tv5Ej0JQWPyxER!#?KA&%f=rsq?T*l_J32R+KEGk1YP-f}aR550}zp^XeOmy*u|cP!*=^_+!_LN>i=c +|C9lfj}Mlrh=^_CwVfqY3P+kv9ja!mRe!0q4h0Nj%Pqt#lqyNbDZDdXO~-RKG_qPZ6vT+W(hq1vI%Q0q&g%4Yvr>1Y!^ +22cF}*aTyjsu?2gEH@q(>w-=54160BsfD;T-HMg~%>OD`F`b(IE2|P~KO9peYgL%`5tVpw6hMGY>GH# +pmjug?~H`c-DzBfp@pOLpoxu0=2Hu{z+_Y-6B`(8bj3>~c48>ary6y%jH^L{$qZuMrbEZk$=;J*pW8o +gkg8#Yie0^W_DZMtUPUQUC)Q$LNYZyg4`FqJh3Ifq!K7<|>mEcOaDshniBLJ}@~vo8mWcG~V;kkfBuF +;0&^Z6Q?Y5LCNTvS$eFf!BFqf!OfeCg>KaYqZrVUTI^b1Tj)7bAR<2<>OUtjvnkkc|La#VwL3ep~Q`Q>+zRL{|^kUsK@0WS!K* +LuIcu**S1YOZse+qLrn;L5ze}4T;*DX;B6#~Pip1MVh^wxkKmNNsvYc_fRUf@e`-ivMC@kz@5nO9}O_ ++7rki=G#5@D9I{mlwuU~*;(8_nF0)BWFXUOcmIYU{K!L1tGU2*8umq9{9 +b2R-2e-^9Z`E2_BJs#zrPm`#Kx+Q5wrkv`s)6V-wN@dUo)U2%v^39pIQ_v=Xzp^j2q+P`WS_)$32p(T +Tl6UlW6MGrTrJH{PiR$?6JW(f3!5dFnC|l~S063bE!lO1ql?vOX)%3F|6N++ONo{W2jJvNz7V66UsOX_rvvtq9$zZt?{ +Tu-u1?1%>WxJ7E(WS9>GF~e<7$4u0WOLXcP&Kp>uT}UwT*t&B+#&G3O<|c`}N|llkiN!4Af+x?_aQy( +Vo4R@~BVU6&L-ETP;eM2%L-^SYV?(Y<2ONlxmA>GFYllba_4GpI8`h${p1>{~kv87dY}P<|Od4k`zl+rjLCTQR$;KQc%et7xl*8Z=a?gE5`Dc) +QK(N70J9Jym{tr+~0|XQR000O8ldVxv000000ssI200000Bme*aaA|NaUukZ1WpZv|Y%g+Ub8l>QbZK +vHFJE72ZfSI1UoLQY0{~D<0|XQR000O8ldVxv_-F^_CjkHessaE2AOHXWaA|NaUukZ1WpZv|Y%g+Ub8 +l>QbZKvHFJfVHWiD`ejgi4l!!Qhn?|BMKTso=j0VctLX@Uu;rXdc~G(}nKZh^GvY;TCSr)lY6qX;bJ5 +GVidFMo3K1yr^gYFi3YY20ux*6~o@D_d^B7L_M~$Hi=+$9I$Qy`DcO$uzlD%H}=ok%GGN;CkvXHqM!~ +!x$bc%h#>b*@U~W>IO?K=)}`@JICGL5*AqgX}~C*_?zkpMK#KwhBNX9n<2r~5p~&I4Yg#UxJR_=Yc{H +tQYv+Z8Ey>Y9ND`AQsmb!n986{DZ?D7J&71y9s_wVy2j@i(k-U1n)g+B17`Ydi|F`M8R{Ygj3bCbp37 +dgwfAlSm)GYJbQWYRBP3p?Mdg}P%qB#hqJcURZcw`KFk*eFJ=HOFz-`ohSf?`^jNeHA1@r+>O9KQH00 +0080F$jzQ2+n{00IC20000004o3h0B~t=FJEbHbY*gGVQepQWpi(Ab#!TOZZB+QXJKP`FJE72ZfSI1U +oLQY0{~D<0|XQR000O8ldVxvqhtfd78L*hLrDMtD*ylhaA|NaUukZ1WpZv|Y%g+Ub8l>QbZKvHFKlIJ +VPknOa%FRGY<6XGE^v9RTy2lrIFkPEU%_>dvkll9-0t0nYn=Cx&C6|YnVv=_xtT?#p`j((*0d~XM5#N +zApiZUiZ3E5%H0`k1CvQhWRa}br;4S_=kr&h5mhd#?9AQ^S(klR)YWYE;V4)>ylU+$R#dDh8dgZwh<0 +DMCy_HQ*}g8z`axdJX7G%4b+akOy(nSk?|spVlc+j)$>4`4tggy4{2`cZM8-JI1S&v}HEsQy$htMmJM +cCyg_Nw`v#hT6Ws!C8OUtUdONbKu)ZJ0E4}}zrvw2?kyHdDI&YAd}iAHT)vX;ZhoaXKl22)`d_o8i!9 +JbQ$Hr|PceJ6A#Z$KfWIm~=tw6X&R^i{rQ4@D*CZ217&61W0vIEQn=;=5MxygM=)zM9SF^V#efLq;p! +71aUGdBPQ$Jl1`gvmGAh1X~0a!^8R{SW_499)y6j_kGv5A^|d|b9268vTK1!o0<;H%k3LpN@3sTg(Oy +Q`l>rOB8SuLr5-aYPEFl*tgH_Q*ogU6p5<)c)+g9lS%O@EtYrEf%;tUB<*=d}Q*@&3>bkTevLi1*m*^ +$vOp@LM^XfKfcy`Be88Z;opx76pmF{RbsA%CBiIt(Hyd>uTO~~$lVG_J~Q6hKGZ!6is8AZOP0j~<=$c +_~Ey6)bPi0IAVxjepZ+qw;YmFoA8mFyc_N#r-@?pRlPne}WH+aM?l{s#|e`QiK`yMu@Kye#q*bQpF69 +O+VI|0Oz7bcV+JK@WcvU3`+U&1A>H5cI^q!QaWELBV6wU`8nuP`HM7#jYre?woe~U|D<+U22&yO+YJ* +nN^^5bSXTYo^mQ=W|ase1n<*cB7-}z2J3E5z_0%kpe@96c)hQusg0CL>4xIHwqlt!Bt<1$JlW_)RIX| +Tkd{OK`+wa0BYpYz*DwDkegEBR%5Yv4=;z)61J>*ZZLw90k+|u~s0G2Jnl~wq0=IF%(G>ZBrCT0E4v2FKyNU3;{RXbkr)J9gaH&14+R( +sQ%>9L5u>khbbt>Y3W&m-x!S%^(R{ACD>sV3oPq1^A;8kxD^MeT@(zB*Ua-GxIy^JN6gVt^3<0_*K|W +~mxFto)AQpDwzt!#LR8;h5*4B2LU9H?!;w~5G+ZCF#I&`gv&|0Gt*k$P?3_R5ZE>(-pVU#&Gp(Z&Q6K +N~eBV_G1T=K3YgY$t#N8I!hWwxU6U3`x+MxcdX6}P_a@H1tst}b`>3E +T9IX3qa>H#q{7TM8o85k-+8sK9f6)6n3{;sd=-|?MJ1lcdjGLI?+18@$nZHOkfTlXF1L3hSCx@i`AP+ +pzQ+Jk?fzoa@%Oc9QB;-F&Xm$`tU?R?GVm{e|x{RVd|a(vR&8wqR6{dt2g=U){i3WlJ%MVF=nkEJO01 +LHKDXr0J31u5`HK^gYslJSd*O^);EWi=fWt!*%=3q2GO0p%wdb5A;xV7sQ|vXRV-f(-f9|skh=7s*h^z +aYf_(8V%2JJ9bkKq7LPWM#*TB6h+fYIKJLTgAeO<6TzSqR9JIyEJ#im>y86qYRDiJ`B@oZUmchW)%rl +@Q9TN(k1QU#*;lR+UXn@Wlw%W%0mySWf2@p;wjPKwOeIwOY+sMt!qMv;H?zkvk^HZO +^`8Tp30@x`E_ov$=4Ty-xb6rhd;;)ZgZso7Xk+b?S2;c@ +TIO=l@g*%T@KBXCXfDj|E1ZkfL71q`CnuDoWQ{UwlsL#JALs`&&J#1p4fVhO&D{o40!i48}>O +4~u9FusFbv-D_*{F`HDFglni$aakMPCACLk%`z-`BE31vomioEmM$D@3zk477h#&!gZu>3)H@6(q~S@ +i?>7rfz!BR*_=qXSpJalG>y)mKB&kWf%LNi1B-M>VF?D-su&fKkWqs=I4%n10V?q6cJK{T +uE9>nBd3DO#4vTJ884$^r|S1|BopO4E$Cf`n_Bs5;N`g!=Salo4y<6Q{IGVCDcE(mI%NtgUukqYYfm# +uUY&u7iUjEV!?zA^65gOuE@8sTgEGz-pS((`oYynQYBBQ)Roembkja`*u91`p4{+2-02m9HoW2iV_fx +Q8JI*SCqp1C=TNTT?@*+i*!bItOXnU7T2-`HcoF*M4MX@E&2`Lx=Uac(9c-p`-Iqa6IDwB5gfQ9}L!# +yYXpd2aR+QqN!vhj$t%I3 +^)%G1c$6%w16L??jpNuw6ch^S_n8lL?B8slI#85EK>0By>iEH{a`FHjVV0)s=6854R(h<7h*410uz)t +AmH4x6~HaDe|tZ%8P1Un}d*a8iJ)d8yOJO-B`?FdEo*VoO7(mHNodKclP?G7e%8VGH#pqs;ec}X|iUVnXAo#Y%%50|y> +fLEhf9IHz=8q(X4`;tpP7&++9Yj?a$R(_XjCeSn3CnV66nl*dh?0(bB;)hLlrHM%uf4p%SD8fPz~mJ3TM8(+y849m&DMjY*Pp52Ml>J<-sVXQT4x#y>67lu-R)B%;278F{Vcd@AsEbhJ!rM2yoeo +SJaOTI?3cE3O*sxFK6Klz%AJOE!q^)agP?Uo5Y{2#6-gh2@;;uqv_iN>Ko&6Qzw7H^v?=UAg9Fx}(hC +U`s~ipKfuD)aD9Q!ugxh=qPIU@6^uI70aY(KWBeodxq7d~$yT^EG>a0<>QahOEUIj*g#FR+;W&>~!GT +K1&dPlMTlGs+RYwxzv^a=s@(JB7k1MsDt68Hs8c-xVyk5IynAZlXLp6~$=`GB5$0}{{=LGXD^1V^A{p +!CxbMU5^TrvKJsI8i7Z(u)5Yjc-7c!h+8?S^miC39y7pq0+xU0w*m@!G3`Or)Z_Zg6IX;GHerdC56bA +7btWy?Scwhy&ZXApVSka?lbnTMtrKT38^3M=JgHx_y71a(G(fjG6yN^Ojr@YOMgp(a^7vQG+C>=JN!K +XPMmplHx5S>@V07@8j%n6`|l+V{M@Q-BKZHxZ#{HFn%}bmNDPtQGgB!NQ ++9|ELDPuINv+k1H@wnH9x?;iF9B5J3Yl>BeRiNT(vi3VS#GXJt4F1JT(4^>>i!Ampz$M1P480g&tjvQG<d#r3yF^QN>nq1vG +hnO!=R4lu-Wnvl8fE6BT!TgXg`9szV)(j}eX9W}C@)t^jy0g2P@Ysr*FvuKD8h#HDhg{cks=}|2zRp6 +pqe22#sTd%|3ulTfG}8*h1VEy(cBfj2%!B?jZ!p;V+zaHdrK_ll~&Hq-|p?*NTTj$>S>WE)KJQWhu6gDOk_NH$!={bRuTl>4kHdx(Vqjm@)7GR;LqJsEZWWyQ3oCz-FJwYYhCp +*<}pd!;1=HeveByhJX61{G-Z%tT<$1%U&YEY_sXQip5qwsFS0x`#ehcC_)7H!XFKh6@^5SBVaeE*Ew+ +?vz)9TTRD4_ggr2=yHJ34kqwW8>)7>lj_GVto|A19!W+!ZK#C*D132D5*EvQ3TpJ_QNdJE7KU*)>&%hNhRpbMLQFD(Q&U0Nl_6?ZAOKPTEyx#EYGa! +4a+z9l(bdLlNO|d6hI9t1VJ2EK1*kZ1mH|e!Gab-jtqp$@yi$8(p9)Q^`X`4K>^;bv`NeFF$Nti(QJ%V+=kZ=)RON%gPapH$y^x-IBBIz{_)G$n~wi~bb3+yT)|R5gMIk*RT`7LU +k46CV-@j5rA_TP+Z<1W8= +|KoIy$1!`*G&sxdtbYx)-3Hqggu?f_u?em!I4G5f-a1G~v;lOMPUI-ZMjt)E$OH4EAb(s2uU4H8#{xV +KIjYNd=L}4#}JWg4g5vkbk50L4an{b;*OS)T<5@YSh&^m%B6f(DjZy=F)`f)lg1dqhrHj2GUtl%7Ir5 +Fv5IhRvlc=g5SVFgn=QU$@ovg%LkfUMVB1VBbJiQ);EKcWh6N3H@y@(Rbn9BZ$ZG6H14nit!l0g4Dt +Mr&slE@_7VxPz1K!DuS1CV$)vf8k@JP{7(=WCsjSu3pV0@Thi`(G$@r01)+wj39hF~*pz!Nl7@0e3zc +%nJ-Q$X<6^v*=XqqkBdK)SzKT{X=?o^TwcCR-go+gt`}NMIip4sWq_4Z6S*i`O_VYjdp|(7}owfK~m; +Ql~1g7^m>2*CCOFOxO2Mp6(pA(BhX#q?)VPP0XUN@Lj$LF4fQ%BFKjQfOE&(?&*{9V1%-%Uy%x6sx+I +!kgO}u5mJrn)TbM{4fR{5ckUg(}@?Jyy4u#O?(^_zNsn0bFlsf}dkMFx|x8#8Q`Q>|ZW$`H3u5F%>yVlnr87M +s^qRJ#>yoAiy?8Dr#imK{Uv=w-HZn|G=MT?B}0sFhF^mnj+j(*b$u71#_8Xi(3dBt*k!$cMrUuSb0ZNVbq%a-fE+SMM9^;Id`ka +zhtog@DillX{G9R0Io?aimv!OHT~+;yAzss5Y=G(`Yicmt0u!i>AC%}@_|ZosI%*FWT)Ne*IwTn9>C- +%xoin`D;aIQ&I=cdtv^}eTd1Nqb)HG_su4>(*cIbJ_t4>T^tEi%zX;Z^iFxo4fX|2CI1Z}`ex$MX*Nb +$JpJ*Sl&GPZZiL{9rLZmtd^%|DQ$I7R8p+B9t-?r?~C->OiBm%_Nc!JX>N37a&BR4FLGsbZ)|mRX>V>Xa%FRGY<6XAX<{#5UukY>bYEXCaCrj&P)h>@6aW +AK2mq6CD%TAZe8E9!!s|vVLoUO~C75KfTeCI1ib@3&Qt*OR{0^vKH6%S%E(|Ea +s$9X1{lf!oSXBk(v+nf*Zd$IO24RMjoxgm^^b(@mQ}?!8+T1n>HAuhz^5F|TIem5VmR@|COwJ~6l7ue +?j*k+8KWBB_!fPe(Kp-(0IYUQmUO`6A8^a~~%*e;KsW9@WJWSj-BpVfiP5P2)_}ras>c((tSpvpWad9 +2=-r;j6f5Jq`OJ?Aml-F%TjyoVz_tE|W!s#fAj%L~R=j}vzsacXFB`nB7s+t*>;IvWlD-_5C{4k2?aY +xz{%NQJyR2!A8_?qJDY)qa#C-~q5k$54ES3ZhZ6qr^C;*GoGSX;Cc#`rW60A;#Wbt#N3MgoM3fGg>l9 +sT?@{rPJ)%DX^TF^sZN{#A03ZaN!}G4!HhT9Xrr^eBcoN#)$C`H(F!6jQ|wrKyH$k&)O{8R-gkyoxX~ +)Ni!Rm$IX1A_YWoYjD-2HumtmF5(;G*gNbhk#6Rt$3Y){It~G(mav_ +!ZDms|tsCn;Blc+s#C9FtAC|S5_xN}39Ve+#tv0@?z#PA3m4<+~%OWQK4wUqX+)2<}%4!pXJxkZKH6~ +b#t8-rpeSh}j-#Byj`f%5*Vw1;GlxB%Q9z?QlRj%FK76qivXf`modyaZ&C(@kNIFYObl&iY!SM_?CKk +abm+r=L1ykGS}d|#gT)Xa9f#-{JZw%+wGaCS7H%x&b|4WPZ5471OnU|honGq04ADji+6^Uk?m%C;(r# +2Z8L5=Olwb4@ifTqEj|&ToCPi!k1YAjH|fv#K0XD<4;2XtYQxce(5jaN{OARIvWq!G9E-*1u*sO#Bee +qow}bgRu9P_5cGD+iv|PvETFBesORJSciU_!~6IT#@GSQbZKvHFLGsbZ)|pDY-wUIV_ +|M&X=Gt^WpgfYdF>o)Z`(%lyMM)&MqmnHc}961n +&m^W(>U$5)rZ95?#|54&U=Sa>rLHsqO4C(Rdsrx^w)OR9vrNidM!3;lV%sPD(WU()>S9pcBNX}6L#Wu +vuR}84kvH&<#~=U({>}5YNce;+EtILi@a3D3p%?l(=&KFy=1N0rJYYqQLW#DsOn~|CBU38E +ML{r(40hAkf*Z4%_He;w%K)OAQh9VyWNH@{r-n%KV%Oce*56x+4EOVo;-T;FC$OsB5$Rg^&qbb1tJ5) +u8`PH%j$tzjQ}{NLm?m`uKU$45#KfS&$0p?NyHW+|PF{SywPQHyOig3|G>V3XX+`wMuOFS`K31b}s2NE9Abo!jM);ctd8;5e5=KVy}ncI@n=@AO +v<12^x^Nz641U(*nNqWfhd^I~TtT^4R`l=w;C8lfB=M0)!JCkF=ys1ULNltwdBkjKaLEY3(!vTO#^3b +_*N{9I;Z`g$JYKZ)q%dQ$@UnUR>PRMVOG{HrnT#l?BsO5jpecMfdowJx&HgldI-9BG5H@ +(X~-W5)tCEU-^F?U+xP(F8bNIhcyOO2O`FxG)!dsehD99U*`Y3?f`Yo$^_;Uu1OoIuyde!szOq_*z`Oi&7oC#2j}LE= +CF7W6c57d_D#qKYoZ +&4K8M+Gr4+k&PGK$TbG&6^>-H*ZoM>%BaKn5B`Jx5DFAj2fGm8jZ19)@37TL`xe?Sjy@Kd$H<)LFyTI&0tZSgJUJ>R +}o(jw{{|?`jJ_*fD`F2yc5ToaioY$L1QJhw3wZo7fXv6gw%$J~RhA+pUefgSv(J@g-j(CHIB|@N#6p1VMvTReuE;#mcHY +HT$fD1hcQY3d1Ww0Kooj+J{Ul3mS{ynlgf_=8#~;_s&zN!Y$$!0ve8uF|kdMpaI3y-v(lHB=K$xOYB% +%gIZ^kg)uXcoNQP-u{rxhqR>2ogEe<=5!OAOYJsd`!#spQDp?v{@&8qyq(>!bh?9 +wdEZQH2Nn~nnd?W8f@IQiF@g9@35bpxS$BaK$_c#?t9A4G?NF0$_2#Fjev!?53m)TLSobDiUZMdOQ^V|EM}J%gLp0Pr&~7-&|>`y=6O +=rbKo^c)GD`q&Lu>_e19M7T1tDf=iLUXS;w@R(&7A=r+7=AxVrBik&tl)Ea!K%H(Nr)~>2UK(@F?orq +5!tp?Fop9{eYR_eTQR#0dMGm=Nh=8g+4sZ}#I@TSG2aN%Cyq3s<8=xtoOs$lGVy6nHz-8U$(>^zjdbI +2@CbQmD7O}o;wme{^vZ2fy@=_0C=lwGCYs~$hIj%4-AhXr*X_TQGaR&g1QpBChpGOLuB+OEX;;>IpPI{k{0c~@DY@fIzxpz6w98i1m*kH3+QXNl`?i1%RVMdSUw4F>UZ^mNhX +ke|bT3%QYqbGZv@G!%E-X^9=9AUunc&`u7g&jwGnO;2XvLE3Ig)x}4L!2i3m*I%3rR<*zhZPlGD6!m3 +Q)_H-sh8Z4N#;nRnTSLsZg0~JgQ +-21jg?++`v=<3bw+#)N*ImVuFJeZ6^;$igrx&Q&fdG{;CQXIr)#JF!8ZP!Vq^@9Sri1c{@|5tO%jgA% +)uFx1Wdy9Rg~!@c|9r?L%9f&Gy4z(3ywcPsuLI{&KSx!m^RoM;nD1rEQ>wdKytL@Ko-PU>uF}msAJ%u +-lHgtl{k}KGkK0*OP7WP&xw-Sl!6BrB0;-I{Qm0^Lmz96x}A!!y#z}7vwlbQ-k_cvq~27`&tPx7j7y= +hc4lncbRi7VGY*1)xWduClGt!H^hTSF^U6Js^36cXk?Jdv}2kNG6$}An~i{DSFq)q!_&eGFOP#*B9L(wZFc} +^yNmHGNvRqyUb;&XfH(D>kh|yzk2J3cf5=)(}*B`+_vtG3*hov+N`7nMXJRmT?>h#hS*+6c--(p#UZs +mXkmf#qOIrx^g==&1X#-*T`jd#9dFr=7jl_n)-veok6!X>x98L@ZV?iz^G>4zuo4Sxrh;5WOJHYl!tMLdD^!!LsQ5sqC8O(0}(+kT{D9PPg_# +OqcL!$-R;cHY*j|CAp68WkMSI+U;g@ZS3>SFsr@_x9`qUEi!R*}m%hpUs&Lc8Q8+P|A3aV +yvd(^qq|g))fcA{yZ_uK8y+$&eB;7r6oe+1^FNkh8c28R+JAN}|3ZwP7%cNE{r|@c`w5NPX*gzZvhChlI-pONVfsx(|N8K4cu(J4^l#7Kjv6uOf +%(J5{vWL&)zHe`WA~E6qg*2{x0^!{(%b3$e0}xqWKYK@VICmrRUo58MCp&Uf^AZtNE|AXoi@oNUYEOh +;^XP$aBd~X3Q$=vpQ3Y{a1Oe+KW$FsD}J7&Y^3;ieUNR)wzu-CNjTQYR}#y~K)8b=tq +|-k)7+)7?AE$kH`@pVeE&MDrvQKQ=vnl?A6*OxAkfdAp4@&QoauiIu9LuW3H^VJp|qJXT1iJU<^MIb$)pVWT +Rgnqd7Wz|ZLK%E;75JNSnaq>zkTx>-<=kaH=LY|wrckPPB&l#v*r^&G8Fge^BGU@{`&~ +PcGsr-(d*+c``tpmh2F$Kag^G40(43u{49f|&7k_S?wUIXD*(d`DpxAFRu*$(@?hF`sWZAkkxEqmPd{SQz}0 +|XQR000O8ldVxvBIxV)hYwE&u=kaA|NaUukZ1WpZv|Y%g+Ub8l>QbZKvHFLGsbZ)|pDY-wUI +W?^G=Z*qAqaCyaBZFAc;68`RAfm5bus#Tclee{g3*SblQX)npNX>%RN!_X9Dp{7WM0PUzg|M%Nnypy2 +pcG^46G>yo`VzDpJE*6N`?%GbVy1l#<&E?V2x@)&=Cw6&p&6`!*<-4-FD)C$1D^W`(^nj{t+D24mEq> +)iQ*L=UR5XfrO$=1*PrI(|^y?oR+3%16U% +lR|P22p$I|(GCuWvV;*NdZhN}6rE;G`P0*Hi|>DY`SQifZ>C3Hi%#`r&6{gGy6c+;m=)j>yes^7<6!wkDY>OR1;JE +T3TuTN+;SyWrQ!pJ`?BtMx!S+5Ydf`cdfiV~LX{UaAHMzw%;n(accQr(yfWS(wQB|+jmq*hI(RV_jvU +|78{4AWS?3xoDyWQh%{g}~=o*Z#_zAGqPKW4a1{y# +OntMh9<{4QQ=N8H{*EKvCBI%?}_fZz>+X2?o6BcOm~b`yKzOH0)t%ZVhQPlU5~8#ZE~u%YCD-HT>A2# +aG~z29hR*UR@SopSJHRZ~hPl)5CB`ea&leVaI%rZ)n5|cp;?#B@Y+tVyr5wjSm+5@w8FhexYHHUQ7)Y +5Pl!cig~fdpPl9OTEBfpFQ*t7w5=gr>^KaaDe`uQ?tw^??>fFKJMLHPeD<~eGC61GloP?k7_?t^?X^J +RJ*OC0TnvZP2gKu8Mi+3yG~ZLUv~HQrPG@udl5Dc1csWCjEZFHeeK8K?@xW4r?zQl;ogWTUi`u;z;%iob3WX{PAK;SLYad(M{0qh&AtLaTga_bb3> +Okk84sUrdBttIf#CQM3_D;kJDSpXK^`6qv?y}sJ^b7afn-Msj}l@q=%Q_Fzt$E)6vQ!tO_7PqrtP@Tm +iN#ZOqa!u5PFJww=WE|0OxhPeAzb1)e-icf!{A!p6BO&iFNtwz97{spOv*tuF@DDANwr>E_3$y9}Fjq +oFKQczcgMDf3+ru&%2?0_3*$>KotBM&}qf^BniY5c{LkoX+GdI^s53xwm`rKp2LrWv5|`adGvdznAlT +LL-CsdecBaZSo%Xe8U^vj#ejD|jt27}Cf$@(?EZtZGRpRWGNj`b;mvPrufgZ%Nt>JyWkFHlk7Np!&~n(uEl?A6fxF-lKF3%PFPTR0p`FyF%&D +Q8qppC#lR5vAni5$CxgxNzQ+V2_LaHufBc-__5*D6)UwRnTs4&`3emFhB(ZGLW?PYASx>1b->NS6zLUWeU~@QIPjgw2 +D5bvBIaTIZA_=u2uam5Qdcm!fr=i&EA9QESse{tr+EN|3G?_7bKb1p@v6JyC7i7Muj3X)QW<5wviS8C1r=IfUOw3@gT#;B1=*ub)GGud)9U$OU(A5(4i*wtq57q|;*(0OjkM$cvYNmwX^F+pOi_(u{3GGvg_T#Xs-n4;~Q36 +u0@1(PbdfWzuR)jB};=%a(f!I(4TcpeX2djscH3(*E+vUptX6bxa~@tOnd$>p1_=ksy0NH09t`5mlv! +w0`CV@bxjz@!EyO-Tc{~a#0M~@uf1{fem%$k6&D;Lq?%5k +;r2H{lUUs>VqcHyeW5C&|NNHK+`>K;s4orUc*gU6)jh%TEGY^P`JSaU_tmOPPOkTX6p~DG`NZLlz{2Y5-<3#cu-1#(=W$sD{No;hbv*C4nc{rR7vILt5>wK*QMq3G +mTpS~<4%6Mpdm`^b1G{fRtbh9f)vL>{wM+Z>zfobB7bW4yT*UE82ovvC9nyT4gj8Hv}SqQ#gzRb>+k% +>T*IPaVJ;{0jIu9_SF%+K-vp)<2zXWuAI1YCd*VBNz?J-EEUBstr}yA=2vu2LgS(rjn)VqpiGzsb{x$ +7NJY#m>S92MsG{8dcg?FT_7b(6)l++{=PO0X_L@nc-s>E#LVDOyWn`i#wbO1r1gp9SS$MOM|AKKtHfW}@ +fw-UX5T?E&ib7{2rE?yD52iQm7sNAvb-S)r@K_wP|@*k@UorE5 +(kw&7*~EHn1o@bZK4PjcGu>cqe(5BA^D3}(~jy)dq-uuCyca`uMTL|egSS}F{d(Z$tlp4`GC4P7r)ZP +7R3x%O|$A}$QV6X^3`ls-TFvLlb}&^R6XrsPsrAr0p%sk`r_FZA;-+!5Rtz8QC*p@}N>i7AhZEU>b^O +<;frg?dS+U#@S^w9Kg>I%ZhqlV%Q<_?91ct`SWaF&jLZsN0LOW_Tkdr^Ah^?={Jaq{GV>RXu +C_2kD==0p31*P!X*!2FMp1XR}#&k;mpuY}j3HcbekA9*wA)x4$71Ol_Q9YUwlXW}=sL#}yfW}L9$H(H +L!I3V0iZc2dK8JIk0Ux9e~Hwu44@PE^GVG9JLG54>-t(3IQSdKe)*7hn=>D2x0Y)(Qa@1!Ty{@_l*TL +EfmeBj|yWBXe#7O+GlPIL%r5QWLT%&Aoncrh@;Jx>FF9^TH3t|2Y-D@=*%0q4x463(Lmo&G|)0N5SXV +m#K$WS?|=DRW%;`20M+OA_A!I8^3N{bLO`0`jJ$Tg9YJz}{G)GjlS)ZjFEZrMvUTvt>|KX!a)qd(Ljn +Zt2cmM!0nq9kBAm^Pxm|KQNLlX>cQz>(l4sv}w0%>GCn%mk-WYRF?&o^PRr=fvw+^)-$uBL52>o!T69 +)(aF@Dx^=Ew-NX3w5LrryKgD=Xu?MIz3yBSSXs5>dOhDK{QX=BnpsO1+bs@Dkm(sLs0kY_RJVNK}hEv +KnPQm`2{~R=Z9uaOL-3|Vqj*@U@4_&&+ODNGep+{F-ge1iQFl0oLM-es|Sc!g0RK-0kw!>#U`vEenGg +A~%_xu%>Q8z;BhB(#lB_2$m=Cw9JccR)D#Us!{QQ`WQ0Vhy!3mVFYmoOwMlCHs7s+hO;swS#?ZLm6I^FpLaMa*t^kVa2$^LQ+TX +-~z(vzSLmUF(jFcHb1v_^J9xUfqeP6!)F?$RVNhomJT-2vEk=C+*(~$n{s$u!ak9ShN+eI0UgrRKkyr +icl@%|?OLor!YjCp&PQ~U|1MOFx8Xvp9N^(W4Tbzn`X?C)*wC<^DBXO;p+W}l@Zn)W@`hW8=H*!5N!4=rhM=yLGBKx&F}ae)e;T +wR;^o@#)F0>^D`u_+v-6xi`>+{wWX;H3Mg}KbE;20?G_1KGuYb0pLP@K?%mATySS<*RIS=(U5kp4Z^d +z?ut|ap;*Wabe~~jxQPEM25$#<=O$@^s?N5TO*v0;2_S-#8bHzVDL*68N+7+h`xy)D!U$aVyhg*mDe_ +?zdBDfyxhV1hYr;Ox#WB0h;{JIkDyX|N8jq*M#gX%*iV#S{f#ytY#KwLf +!V)Stsqv6K)zfem91QY-O00;n+tx-|WXL1_J1ONc-4FCW)0001RX>c!JX>N37a&BR4FLGsbZ)|mRX>V +>Xa%FRGY<6XAX<{#CZ*^{DUt?izWNBn!bY*icaCzld!EWO=5WV{=i1e^BpcT*_1GwmJux*2)>7v=TSp +bM)!g?)4WpqOgx{Y^T*0=xolt}gn0^apFxcy^k$F8IM@vC^C&&oIz$!AHNjQ^`Jx7F@*_a+(}@| +AP8lm)E|xYH8!PdL*$r(g+*1sFg|ex5kz$A0D6P?^NUscc6JC*jfb@g)4;`84V>Q^JnMIOfJ;8nAuTo +(7Kh=()}Wr}`;{VG~~MXl9aun16GjIFwu#ExBDebNJj)#b!f{J~SF!uf0j#VTeKQp~Q2>K6VT03|h!D +OUN82>OEk9UnNFdaa%~JCNPj&NxYF?tH7!p0RC%!Etd~#@I1U>*mt8Y~5nR>W*5xX^az~IRuPck5i0k +?6exTJ0FyC>jq(YFYqbvz?5WzUH9swP2+l)gyG?OmyaJd4V^;FaimR{oW>5=sy&ean0_^yNau>jP|&T +LV?5P(Fppyf?gcYtW;%sg!>BUG&Euh#yoI89a$DC~LEc0M`r9R6{5 +j;hLlJdu+L=?Up_ZF=@8$FE{S`rtHjhyd1`XYgB60p2?Jpoj{g!xW;sBXgs!X*@T#F5ejxTA^`s +ICdjL~aO44UX%w%4R@0THlSble|A@t|sOq>-jm{G7ddy_8yC$gG#M_lpB}oN1%T +uM;2;?Ujz7K|J!;Su!{c$A?Z&HE;&~_-$qee;$4Gxc~AZIc*DGH{a?CAMddLg;;+||A7=8eK!0BR^Kl +td^s2T7GcS$M%}*VExzn?dLDb~ZrypGsoaMoLfUmLm3#rM>e@+ZOw%QHcXxLg-!y)x7GD8SO9KQH000 +080F$jzQ39)pQHlis0M-ux051Rl0B~t=FJEbHbY*gGVQepQWpi(Ab#!TOZZC3Wb8l>RWo&6;FK}{ic4 +=f~axQRrg;!l~+cp$^*RLSlhuVN6?0G;o1lhV3!?K`DABrH5Y3a)5DvKIP+w;HQxzqI9y~|J*lhKk!fX!7gf6O^$`xrZA0P +Yug)nApTo)D^zV_{lH!vH;_2AM`kz~<_n)gQ_?86q35d$jfm*i~_p+^2B^^b=H4>`LWt9KWe`eV`@t_ +@9p@&*8zVp|4BlOWo0YQ+I$sf<@Tb~Y}`?E5prlgv +4}!g_?Q+`hzpKaqktWpkv6tgX|ikXRk6nf3mE{9IS5g5Tfr4n(495MQjtV-PeTw0KPss=KUG!e?LQom +kcJR_ty-#t>dVAE!Or#O)?#~fg77B{$_C*bWQXD@gFpMc;}7JJRoUE0Hf(Mz5ReY!_PXM{x1y8Asq)x +JbioE@tKuMCi6A!K!Hu$oMfGg0s4BLX4Lb;kxEBVvzHv4?az#ZQC;`);7{_-+Xr*2}bk5Yp*1PQ40B6 +K8Am{I`7zqNZC5o)v>m2KVe +mz*O^?ep{%#ffR1Am=WyzdWNw%+xwxQljS>oJ=V7Uf^vz;N7hs-L^vdouXJgRP_(B+&{S3Sw0dqe?JR +jw!kyIE@LKtI#0i+9Y2^y5SxqeM9|s*R+W7N2pxju`i4(owrs8%nAl>29@dCedTJGqR$BF&yn;PjD2( +khp?-jVvk}34vSLkKXnWIRD1`WuE6Naq|V^8+ +*5!r*;_-*M3@-A^6oQWIAT)q0kW>+iU($@kf#OB_5wPS5sO0NMi7S9Xb9SRJbRQj#%aShnJ{T#vlr8) +*Vx8frN}Bv1GYbYGaB4&FDQ&c!Yn8#o`WIbHK1%3w_3zaPr+Ag+5Vg*YEOKH9F|}E#WU!OKuOHO +=RFOt3mS36S@PS85;Xrp@h})oVevdsyfVifj@QV6;TkOVH6LojEbpH>C8jpP8f~88%w8X{u}0sN-&Ka +*^9F0_3?Xbb%e^j7QZ-!3JPmWnZ^7O@;8nVP@1P0K!s1~EH#awfk&UPuxkCq1DG^Kph8Na6O}sxBPT% +yegv*U?o67>58m-)0jgZqQWj`oWuCV52Wlg>j`&;~ZD;6YoWEN@bL@oMcj%g%lzi;Ak7&ofE;Z#xeHn +4A5F6cF;UR|4(53;e*Fbt>3YRdhHhv{F=aKdn{lbf)sZeOjk90cv1jdyoWht6G=t5u5A^SH$$0`IG)q +3U+YmHNiaMgS30%^r`h$!Z<={Tgju=jqohFyt@-&gZ6sopfczdwTHin=YkZT;QbZKvHFLGsbZ)|pDY-wUIa%FLKX>w(4Wo~qHE^v9}S8Z?GHW2>qUvX +8xSePQTUjw*k7xX3A76fgFqR0Y)mQFTjid0BCi5ujB|Aa0IiF@AF+=j6d*R)4mr|<=YF?+=HO +fNiv}XB=Ex25yYs-ZJUe!ul$eC1<=S=V)m`PUQWKw!jE-h-wL@ScoO-=G!$v?iIf6q=ny+8Ra`~2tG+ +3DHGPBfh}gWFr5@oLRARw!)(rP39%of=;5fjFK3eaeT8H#O$GSvEns)WeO>} +Z8;@b?wZ(As2F{d3f5%CuUKnOQ&?Hc$vDTfcefSNmvD%+#v}-LPx@){@9_xO3=b>Nd`#4J5mz;Vb_v! +D?8q2b*-N|U>cC#!Q-rqvbhK}^N;?|G1wN^E1yYXH*xS#jvC4~(nVgXhK2~UrE1a^tNAwXZW!_7DtLj +%(`fw#tVSxsLVYOVB>Lp?&@!Hauc3$&TPnTaL=AJ;d|)<<DXZm7J9Y`%GVzRr~rW0gV1& +PMuuE%~B;axu|`t9^Fumilf%k!DJ>1|k()uE_u9LITlO$_n=<19y;sRF>ABjiO;uW)6Z1(tV9i@YZT( +=!`h#2TFr>+URTdb+Pj9OoKRyk +yrHK+O?}9+sG|u;{}~{#jQr7bc}h@S1``fdl8IPxhDw1HtVyN}~AEOVWrTP)-|w*s;y4<59x3x!s2a# +g5GDy)w=D#jDH7PN5K4q<<^kL0lXky}pd$7l@h{h-lUB)AlpcddpgU_C6P-cZ@k~jh@%r8u)7vzv#4^ +$;cA3CU}qT=+)7xdtBFqLq4FujbPyJ9XJi;Wu)MPp-IM?DG%wcvTuy!(w>i=s()D7l~jP`wVzD3J4x7?;5gbWKr)LSY +*qyro*T?x0Hh?m~MogArl*s@~}mbdcssT1F#r5ISNO!<9_JXw1IqH3f0oo4Xcj&NoB_^6>^8MbW##JG +%CRhE|R;wn#@U6w!tyqOmO9%0ATOy;}(}n9Y~_vNrs`AQ;*o7^8doo560-+Ng%3cBA(2ebuWzTvzpwe +NXjUhwrK3SeZTB#2j@ARWo&6;FLGsbZ)|pDaxQRrrCM!|+cpyZ?q9)ffLr+>3qd~yrvmL>UxM~>L9#_r>@5_oMca +gB(xIsJxOrSbETDB^G5z9D#Z_CN@+x^n@7>ehd}fLZ^b)-UxmrpJ6s2*TD^wlwv`XfS +8;jgo*2ek_U^avE54RgaDd`XA)eOah$r-NzgDf~O~diwkH%;-M`pxF{09$cbARWZSnuKCBiy>K*1**o +4n&nbAH{QgT44v_KX%fHgHZOpu=7MgEyV-qE7hI9>+@uT%8H}WkFplMiQmfOTmNW|37NP!$aWnFYT4R +Kww0)*<*9*2RG{pM$HpyX0Fy$=22hJ(+Vb6Ee${ah^MW`^Ud1%n +R}ricGqu5HeK1JQH#U$Q@Mat8X&*==`(OALhbt`@$UHgdYIv0tQv+jMK&Q~hlCaW_7#*V~$dM}@6_?1 +X4;@X4j^Qq|(g$D^n=_;awUd-@YSyu?5sg(1gp!7s#-8!_XRZ{5m8CKqDE$5q7WGJ{$Fo-*hib+JI`g +3Fcx!-}o2ztOX-BJ`=MC2U(ayls1Y$l{P$I%lci2z?TDg>GlXR*Dw5e!3E%Jad(^E3KOIN^Vw4h+5S6 +#OhTGT5C7w6)s+VcJ{2rhE;GYX{#!uC-`Yav&s8kUdw=W>;<~0cy&?Jq%5*tw0UY({G8BJDsrA^Z}9W +G!IAEJk^|q1V6h6U7tuYV_dwmXqJn>>YNd^je1PoIZ<1T3ji_pIgrE>=4VwMJRxgjJzp&3Z(c0>GwmY +pZ?cQj!#?7AXrET4DYj`b!1DvCM@MtjIxx(-Vm4cibUB1z3R@;Opci`MPD~jTNP@+aQ3vw +HJRNsiM&aAv_o~fDL8QpDn +bM&hfxZ}#xlpEgK6`bBOu4*PNGEv%sjJ!UhTRd%#GR$I)9(!a3O<;X@f?MY1W0=`xM*RO~dY%5j(_o5zt|PC|Wd`zXN63vr*SY!s +iP-|6Nk7Kg9HmSt+k86*Rn&OA-YCZ1DHoGB%M3t~+H`w(1au*KCJ_d~w%g+@kMh8e9bDhY7bRi=O;R9 +n~Xf^7sZfp>;Q(cKjD?{h+>C0l(rE>U|PL%~Zq^Yg$J>#aLj%cFvBKtggX4;T>FCEVU-%YhmWLE?eH3 +Gpu4z_P0+lP@Ch+ls{is?5o0DLe(HUQ3m%ym3k8e4l1RMcqI)F^iwgMSQu$&Ns +WS)L165X0hsD>u}N#==W89JEzSOC_pch!NLJ;Xq^oIe1hv{H3qvWNu~-f7&@;XMlcGJiHwfgvJ=T|75 +zxI?0Q_Ky;!o@@q}6<^Duj9jh2DzgHQ`8d`5JWuZ>4)P#s8VQbx*(2O|UX0X}3trdRGfJCk&5-jCsiG +htkKDa-HyMz9n#73@R&c!>m3RU@v}Lx;C%b1YXF`TV+_~V4Q3w|Nh?tj|C|mY@Wf`}WqlD)!S;jX`C5 ++5kM&DoW)|^wjz=O)_i +a%ge<)zL@!Z70M7?+5Aw;%3wDEdL2|njuFmF-E0DQjv2s~Qa|PJOT10q+vV6o0krEZj*{0 +!J(gP3!6|mU~Y6?2l4+x+&!gN6mbur@fPj>6&QP;3R(M9V-EUhhL~%B~CP4GxEU=L!J{0*aaCtw +%#_}eMkJmmhCxqjJ@AO_h)x>Hyl$vNDJ(EV>P(m4o$9s>m!s!+U!&EUWy7y=fac5gn$qIjkDgfrw*KQ +yXea3=taBJT~iPJ26b1E(?>}j*d{WKx|FYHerviJ-l@n1^k^-74<`90j${Au@18iGyJo2f%k3)7dy%fEsJ{{rj8Ouc7ef25byU&e` +u!c>aJ0o0pY>J#M*k6VQzw;&__9->dd^t@p6|Aar}yXLS ++5Me2xytf=7MwUp`;t#x47V>ioR?pL*vMhEhEU1Ol&L_Q|R8^OVW5a1)yOi=$-aVA^R42p=zIIdT8_? +I>`G|CwKQ($a>)U7_;605|Kd|D~`^-pWUzzPtXKQg<{D15+xDxy9EtIXmqn6sHfsWsm#0IFU|KkD~#c6I2`+z42q4_LB|G_AcF)a$NTrX?*s?6;hR-0o;XgCP*9y7DU-?TNdrm*3*? +T1Vp&34hIE24A3h=ihi1+^}|1$h`})-`oY5AL)Wxbz1pE%6MVe`!`9#s(0XE^u$?}!D{RQFoXc<%f`+ +1V6e$OO#*B&+ee`BG8gd?(QeM{G}UILl-q3LltD4?bAjVv_Lh4u~Dc2)DZxc{unpH=wlea +-omr5cPXd9SQ?c4gHdXiXc9*quL#$@Rz@t0R|s*E?PqbDsL!C(BN?rNA0yg6)IZC-7QOd4d8lGba265 +D_6I#Ile}+9#*(}p)rHHCkJkziEB$x+S(4AKhz`XD;RDk6v72q08e#}l@Eq9?&40-4LA728F-1BJ{kc +nk_l~Dz#yWT9r7l=?c936kjXrGE)x2rOX|x|qjRY>A*I+t +aIu$4pnE=CZ75V43vxs}kMfyufWMFeB-2Swbq@&-p-o@+d3l3*~@{WU%bNw9Ks&>Q+9z>j=qwi2upwN3-$r+@By8tP +m0tiKREP2K=5I5X3<|&EQT8*gPz@cuB1J?VZ58x`{WnI#N8lf$zH~*C|Ae?xQM^wRORvBZ}Ff$msnit +!UuWcfbOL*y%4!n&3WeeS2+DRV-!U}J{`S!?q8ok5dI3NPkE7sIjvJL%GA#$Q!{2x$D0|XQR000O8ldVxv00 +0000ssI2000009{>OVaA|NaUukZ1WpZv|Y%g_mX>4;ZUtei%X>?y-E^v7R08mQ<1QY-O00;n+tx-|AV +uY`80ssI-1pojZ0001RX>c!JX>N37a&BR4FLiWjY;!MRaByU4a&sZ`&{oz57=X?jZ@5+1Pp* +P%OO^`@*(j7`j6d1cqYMwpLjZM5$RW`|YD_=M&lHi$C=E_{c{(P1EF|l?0`!5H?O&0^cG$qppm@3WT+ +lbOfELfan3~ND{C7cpLYR^Z~XyEkB>u}?wKg0 +wQ4Kp`RR6!`Uox>BNmAdJfJ(4G|f@q!yT>-LU-{YWi#xjOkMeWf6f83F=OekBS8?3S<<=T_lnGTAg4q +Ocu1<1}C=RvH=sNk^}-jihfZfFeQin3zp(mrNvl^`g_=VNfJ*J+`$;H9F>Z~I!t*sqV@9*et=@9sVq- ++$cSf4cv`DeDWLZxZ0EXFX;3B8g=t71mrVx}p?iiv^3AvKB2moDHE@F%EBFO5V-j+Ov)kGc%Suj+{Zl?ZOLN?iv^^ +Wa2u&ph|{A@v^I;0Gf6Q=d>qvtN!nrXm*udiYdZOzXM?tUGTY-h=cw|)ae?Qjk-ASc-@#|cUc?h_@6~ +>vDoJG^ic90L5w3~@K)f|a?Ez&<5%-EXkPzW*>%FC$Ja43L!T7Sq}JB@&`~$0|XQR000O8ldVxvx5Frm6b=9Y5hVZs +9RL6TaA|NaUukZ1WpZv|Y%g_mX>4;ZV{dJ6VRSBVdEHuVbKAHP{;pqvDsv-phNfR~xuov6(_9i?)%q+ +??9@$t9tI*oiD!yn0noB~z5DImT>yNM?Bw#boJ=g?WwE>1ef9yU@pyb`nmlJ_$qmbjJQqr{qH-TaW!S +~WEM>*+p`(zMX1vN+U2>C4wHjrGHmaC62D{?%csv?CV^>STa#@ygT~rH}%GCO2i;$wW&A9por!uYOkrxrWV;=CUSjp%1bRqqg=@qOADpKN`6asmw&G{kOcSQX^&AHk2~urRcsb7GR10D%)Xt35J*Lw~clh)kPgA_oB+Aigoee)w=k2 +6fq+nOoEp5$AbMrRlJN*o{pg#J?EzV`0?Un^5(Da-uyjz|Ka?6dj12Lkw4OWJYw*W)S-ko;6XkwMZ{( +`?i4R0cA=z^sf15gpb`Av)HvV@H2Viv5&KY)zfj^c_CdpTxefYDshT9^=@K`t+~h@B#x(4do%rd&8W@oB-gHr;(Y-p9m2R0P;5FB16NuWiUM{LC(bnzc?axN>;8)=n6=N+@an{orryA9dipIb9;Zc +c9_c6vLQr+A?SJC|m<0z)w(MfOf9sYWBCHg*l?uA=5yri9ib@sNtzuqn0EXgjc-(K@`hfa=87gdbGRCq3<21A{MfWB)rby5tUF)_2$j5dc0`YcPJG6um9H5`@ym$Kd3vV-1e +Qub*#K3<0~8JI27@y?+jUdZ8t4NkFMtey)3|kR@U=iKZ1yr(oXK^?yx1iarV=(BCz@s97tn=iI3h&^# +m1JowE!zBhCv9LfUI(ZOL~pGzFsn|hEgHI+cIcXLg?DIFCneLMO7e_>Ytwz$0`n5PVmbd=q~@l$ +CFunMtm4%|P^UH=D;ItQR0+dgta$IT1-}=dIZKyZ@zh}H-b1rMNyCg}RkISRNExmAxE@kv!8{}d=2ij +M*)6C9RM(0%<8k~mRO(>G>!2C`^wYyH#}B`bW8?uGH0@@Ft=hH%P_2!XSfIC6A~5!YR{Z!02Rc;1=V= +$)F;>?nMuC-2F40Scub2%aXM{Vy4niOKt};<=LpW)}YyB9bFEMP0 +BfqVg7IjFtnsv=^h$vTn6?5)UoQyPs4JN~|B*4U|a1z=_=DrnZJ5 +YGGwWnt*Gd9-$82hFeR&67hBfD?rq&x&uo5Bzrl*Sv02K{z0dddE25Sfj`nk~-58YNdH36I<`T%igBD +w`vaiq}_YE~-&rwRp2h{{1bo93(lOqSKeI83Ge0%dEV%1wlDjcy}3;A3TLh8+dmi0rhG-qWN6XNXF}v +A|+JPPUs(J_4gL1_1cisxVLk&=UZ;RmN5329m6G0WkxUyuQ}u4*q@Ig6H6PQQ`blxZG%Ye!l`(Z{h&Y +tY@H@S_3tWT9<7HH{{D8dVMuKEtCe_1zJPawHmJdM#MIB;2-w4zIW5x@wQ<4J&GV>N~DS8Hb)zB*;H8 +sIqBvW)bslC&2$=}ZtG={F2S+7je!qWr+cp~Uio!S+zLpY(k4k;J +hR0BEk$q8N96?kzcPOuqMO?A?7X*9geC+b)9IVBN#T!FM??;7~M-I9_?Lxmg$%eSQ${LcJZCB_#ZW)` +)FeXF?y)KUko8OGCDB-E!I3p+{Fc@tJ(1I|c@EJNQ;`iQeN#;e)2hF@b{< +Z|WYiP9SSP5BW4i&E7wvs&SWK$o&WA~)Tp7Q}73-tBna-Ww)!h-vD^(_xP-MFg85sp{`8%HRuLR6W{> +*bc`LFleH?mF6Plg!%?rDQU{$4nc+d?`A`g7Ydw<8v(1?Aj=T$SYA}vI7nT6SJVUkYD5hM&IThT7gZ& +jo(|C<7uO26K0`<0oeBu37QQAE=d}w$Y`6G<*EE@I&?S(O+#t+on;B5^$cuym4(@O`aDrBSr& +A~1I*Z75b%y~11JdCQoYe}l33rt`4A%&HK9X5^AYV2as)Y`QD1;$YKeYw)kI!A*Gu+aE=tS*t0@6y|32OJa}@sEdZ~;Nb&x~Mt~o +-)ds1gG{D|qQKvXgfv|rKt~A)5E=rY!gW`25 +8)up(_Vo@W#F;`zbLgM;T*{sr!9MljSdPs|Ous_~u}$ROf`yCY7qfK=@D^q*~^{2P&#$O48-O<=4QWJ +?M7xR8vmTjqF7cXOJ}E^XOk*MP`mw53DNI-&v`L4xj(dA38s;6O$>CLzTpv*dhsIy*a?T~B%xEXO>MI +tFrC(N;wGZI--$J3Bx7$o^};`I%in<82depPiip)iXh!g>X#A)-L6AoC2E`*k_A79x!pIop+pPdZ+p8 +*YD}_mYD+R3lG|^}b|Y(e8kmQ(S-^Xk1)q^jtsYx`ky42-Mx{!^&1SSDXl +mKY3$64JHr0LC&Bhw%ySkue)XKMXcLvNxo8|C#5V`MY8vBjn<2NFl2z5p^sVglsY+9vd15ksvMF=02mSldhsPZci}zZGRGyo?ghHcYnX1Y +rS>+$D70B+r9&R`v~6~)lgXAq}(1F?ftLCkQE$ODI)2ZRhE`w0MX$Vf-yh*(O6=tfIPb3gBS-5CT^O@ +CNZSrV%479eu~h +h&Cz$q!-4i=a?h0xCTG*{-@d!Nn&71w+K?lC_pjIB+^q^{Dc|5LF=Wc5Jtzp^3-NI;=wcK2Otxq1=%{ +yZ4zB-YY$F2i%GY`UTr|gzTrD8)v>5+NzFz|sm1|Arr}nxum52>2wbLzmRkE^QNA5Nr?+}sVd6oO&Fb +1LH(4QLJGZ>Ahw@F$S6OsN#!2b>-%DSURk}G09!`jO?2>A;o?~9B`B`@hU8#>Kae +;56J0jy%z))D*mxPA0!b%|}^nD}{<-825S=%MaiY3NS)HJMk#o +xz}|IpIAZmHs70SUvPq@J1<$h$)4T}I)kwPYNLNEN^cqQjU8SanC=aocQZbg^dQU`9L<7mmcI9zuVJV@pvimL}MACKADK@5b%9fq7M3%*T%^;haMnI5)(P*ctA;?df*)|J5~US0PhVCO- +fOT>cBW&alW2?m^lG-MjX*GUZd9w7%3&b=#7-)0^U3KHC>J6;=^?KlOM;pDdS?$In`%SxlCJNs(73zM +9V7SW6)h4v(IH`{KKouO{J+jA4tr)pmuP4oLZ~ryn=XQ||3&hm-f8FK-h*^j_r) +9wCL$3Q^r-okY06`hNcIauTtl7uKjj=bPEthabv<0KZb^Z=1QY-O00;n+tx-`YO7O;P1^@s*6#xJ!00 +01RX>c!JX>N37a&BR4FLiWjY;!MTZ*6d4bZKH~Y-x0PUvyz-b1raswODO$+cpsX?q6|JK1fC##ZKF_H +Q)|gF?7MUH0Zhkg=eU=MB8j6Q4py(Mv(u$BPr_5a$efaA8eUA9-n*e;qfHLao*FE=0s8;X#`uIU%{5i +4P5?m2`^4x!aJU1M6xA|ncTrAvKIcpah$r$GQL$#^b-ECr7XNdxnLFet}!T29GW<_Fg +_jd<>7B)lSPmact?j;#xC0QkYBM*1Qw5yUi5R^?!}lN+8kM%F407B)s$DruhO6u*O%By@lDn&yJ>)Z9 +o&7-TV#E1oClVc5j0C#59z3&~>P%Uy<`E#5yqUw#hW{rbzh--3^SU0j@ByvL|lJ;PJIj`rI2@H-Q71R +pYqU`RZIPem3ZUzPR4oLy=<{xnuwuE8Ah#USB3YtmU)y3% +iaZ6^^}lkKdI`xqbTeupnomy`Lkl%%rOZ?DcCn!YjYly&$3KfQ)iT^5EiIaSJ!-rdrL2shaj8C9ML77 +CBdmm_>W74~AhGs>9`yu&o%13S-msdefRJ>Y&?u^ +as1*DOL5%bmu6Y0oi02npsN2X>W3$Bp0#l^eAqVs=F>u&@x4CxPR`xkL(gu%xi&JW@K!X~M6&XwZcKB +A~#X5*7)?T^j+07EuHksv^gv!lOl~3zy&W;NIQ^w|B0ucq7s?=~l^@$29d^gDP-`)5WkgPtm6ZfWF(B +Y$U!Vm3qEWB#i~Fb#`RDVG>l?frv$^D@)aSKmO1s6m_*|ZXE>dWBSYtlSX5dx`PsfuNZj+Mg&g7(NG=}YlB7Kk-DQ*QwxRB8D0%9j5O+> +?&mcLQ~y$Pu`~lcr|&f +Bqm)wd~;@cYtNcWTYtW_>U?j7@y#Kq!nS4H9ZvVlXkSOsFFD*J^G>lEbw#-7Tj8Nf+;bc}y2>l2%f`4 +obZp~xi0XFVSTd##J39~F!lXu0uBv*L(qKMblue8snAp>?9Yi_R>&_ka$fVJud)VN{R2}6+Wp;MKQ(C +oz`d>FR+eT{z)m^pz+v-g*(zbKJ?m>C1L3i%Y_MR!cN@ljb+w)QPeLasJUTfbtw|BR9j%`2Mi&sHg!W +3Vk$W;4JBlFDEq-9i7(xN~cTFpIdsX#nzMV3q(9kS`>2%i(`osLg>#tS}Iek^5;eIV9mEVNaGpdWWsr +$q_2L6%jK(U7ee-e*R?U&=e;i*KHwrdSq8Vkb<|H$qY+yXwnu8Ql@8ZrOSM+)*u~^Ze8qRXM}~6`l{D +(9SNsWpS)3HxUARP2H82Xn_|w{Pgp=-vnSepO%<+Wdoub>#AAb@dCCam2gdBR<{W@_EC-Gd<7;gh3Ty +!<{@_C<^Zc4wh*XX_O0Gg`FCSz=v@15fk3JBVZh=4c42hrTUF`bT1i+)7qu8`4Vtads-I|kK-aCxx#+ +0^DVLo}u;==|f<5TIt+4h7YGkuMlv`39MqeGV6>^n;Ueu+dIsRIT?1}Xh|CPl1scE?EZy4;AB}N40J0 +Sf)jRYul?3d@EY7U(+bE=YGO{`b1q~YU}u4;K&eQNVvQ~S<-QfKYIqdjxQ=1hI<->PDrHC{tC4eIu}? +|{8Oi013D{U92=%^KJLFZ{!RJFooOc%MM{qr$ouw?SHJt~{kH+=G7sP)h>@6aWAK2mq6{Sy+%` +Hu#M1?GHAHHrJxI)#boB^&Hovt)HOuBEPIS@#LIY@AOSbaw+F;BS|g0ah#R;jr4&&Y!vL+jS?0)E!wq +AI0@F;PpM~|d6YcuyuwD~U%UyDB&7$3;`=m!L*7#y!6DthCi>(sBlqW)}17sQbgu;2L@M$HE7c?RCna +OrIe^cspsIyv>nYg=Wdhdt$kE9GoPEYyW^|Ia48&FFF1QY-O00;n+tx-{lT_oo=1pol{3;+Nk0001RX +>c!JX>N37a&BR4FLiWjY;!MUWpHw3V_|e@Z*DGdd7V~WZ`(E$eb=wJP#gD@j)F%wCoRhtBLI)ka}oRlt +CQjc=^XU}kr$k5^PGC)m_QQ~6^p%ZpO3-SVZ-PA19PnjPhNJd@{)-&hZ9&gjO=JU%B$yROY<14!Ltcb +C>qt?De_%c?Xst3~ly@VnVwT8GKyi3YaWqg1YH`>k9_)osgpOd +f8Ca>`4r%}hJ#l*loJV_07%DHA0Vlo>nos79AGBmJUj5+KQ?KJ$ +Q%AnsaYtW|Y_6jT~~?1`+q~wKkVsVr3iY--NYUI#v6)PNehi3}oL$yko(QBJdOJ|8M5!5GbopRnCKry +tST3bhDPFC +e5Zlu={$uG)zM!jyTA|6)$m__y?(t)E#`NcONJg##WJ5+3rdlfRxwvF(xJz@zAPi! +K`TyJS5Wi{d?Yu)vP{OHp)5TFZcI`0=Ui|cg+srLwfh`L5Q{& +FRg3Zu7dzqkNZojL!fvZ8wwkREG(k}09V=G9jcv=E*&;xRUqC=`qXpUC;XWKMu12W@5+|ud6t@pLNy1d*dzin0-rr^u^Sc^;C?lQP?myBR&LM@i3@V}!OgBqpTKNye)TwbDuK +%-fV>})UeJTQYFi+-2q=^-|VEq2GlO)xj_WEE025S0g9qvX^FPk$fQP6c3;r{zB@{!DA`F-YzEp&)ZOv!xx0tQicO=mCAC_ugj^-bQm +YMVM3Yk?E!UFO`9@W|HhCp9FD-3#O+=@ZCIo(G7uV;fH}v-UlD<5@IXOGIIiXi4FVE-h>xnMcV#_b&Q +gsVw&djZ@C$D#`78SEX$#boh4qpe&yV7(o*mE5J$nxq°D>B{eoIgPJU{)LUf*6_U0nTfNOM~n +uKWr6whx0MvpGw|Xa^b$ZrB3mPyng$edzxsFfD;dv^*<+4&bZ|+xAbE8^a@&L%0Fjk92i#sI=Rtd)-`f|xv++M +o1lv2qyoYE{wl8P_MP%V@h+VJMtvtMbysQHp>E=!&cQged(na8igB^`=|fFBw8<#+to$;@W6Qzf??oM +b~45v$-8!Xldg)57Y8ON%<_EvPuvVb^@yRUJ<=+!gQ_(k;!2T?;_L^wt*b%BjXy3+FOn`_=f<_{MIpLMCY*BMS7R;A?VqmE`|H7eiOamJl(B?sfG+KRxRp^+~ksB5$tX1vE465uG>@+ +y3>>h-EqaR4dI1#2@bZ^Sj-oZS~V!2`lRsVpE%Tg|pw#yb1df+R+f-% +|Vw(&N|*d8W8hlFtb)Q(=G;>2A$=O-slxFJ3Sxo+;T}Iuo8%-$4%E&&fim+VM`H7#|;+&cQTv+z=tW& +;={+0WzQfcteWxD-?=}8rXlsoxgeaoK5o_83~_UA0rmrSY82zZlTnboD&NBj42^fce^7{AWs>1z*@WR +_Qutnuu%M#dgQYSA9V1%fEKtred7X#7T9s<6<%Q>F9n1N1_+oYtg1*LmOO6z!$}x7{t>xYhBk09hCRW +mhJ&e5vN9dNJN;^+?@Z5$uw=uTG!tVUFtTI7>2jhgHk-EV*DeBrG&3g(Z0MaZ9Ifs;no#(0%O?gFoXg +&=oLoScubG8+&;+e^^iUUga*Wp8Xp2)X+6@aa!-d6hL-ht>ge#)?EeOvCi$79 +mKLS@Yu(^E;x7mNj&L70aQtX`JL{4#Se~KS25$-GvXKaY_y`Sk{Ei41ViAQ=zBQSBF2LM^up*W&`+)e24}Yyxe^NPO}Uy0j!G1S=aPo;d?_*3xz1yD-^1QY-O00;n+tx-{g?D7~s0ssI;1pojg0001R +X>c!JX>N37a&BR4FLiWjY;!MUX>)XSbZKmJUtw}*b1rasg;Y^%+dvF{_pcDn!xC`4hmFAs8I-o`#v>=(4U4xXqy3@? +?*+iZnw9S@-Q!FJP`qCVbfmuA{9l2LWqBe`|jtOm@NyW6|$^27Dzr|j$Z+3e%&CW>@<#C#rstS;+ehA +W+O0-uFh6h)bQTU+B{3iA#yj&XzenIkOqW*R3jvj!80<4LmhS9Xm@9ol$Sb$zx}{&Ya0Se*>0P!&l2W +K6A>C;hHg{A^4^_*{(7NjpBy<%CLPEgy9>9_i4&kUoq;lh9XKKw;6F7Yq(*tr@;GuEx1%8ZdHP$c_lE +<;t3u19J50^_#b8lsyjJFmBWRNgEF>p8)ht8ix@I#1<1cd)JL +sPcxXh$T*H~Lo#q=?{y)yNt$MjhJ6Br+>i-#sSMcVPs|y(QVf;ya=GCYLA?SPBOVaA|NaUukZ1WpZv|Y%g_mX>4;ZWo~0{WNB_^E^v8`lwEI|FcgOG{VR^z3-FepHj%0-Qg+c +S-KM2!)Q^jbB4mhZtU5Nbjk5gv9Rs0_7Nq$GupgiEp4SJ9ZK;ieT(5aT!gHux_#a2e&H +ddYOd+nfgpKG3C)4Mr+v@=Yl`DqV0UexLzr1RJ%d1`@y_t8=FysB);u9zPxbdik#-m>1Bjb3~pAosmC +$7nu0GxZv_@uTfuAPdrz2mm=D@h2MFK74P(dG1Ej>Z`t<$7BR$-~S9m;>#OC)4EBehK5@>n=*Z(tr{| +*1P~#Ih~>kR1&V4W3)M`L(Z_yL}B=?IUK)sc6K(~@cbPZ)T>~f@h4hngHu=xIE}q#49}h1!OS>hS +{`(^nW-$BeT(;Wi=epdWxAhP%qB8jL08s);0O9XbT3tw{^+EabHrzP>^ji&f_Ha+$z%3R!R-08?xDbl8#Q%;cNUga6cFE9tNs`tT!~S{&37`w`AH9LL;}iI|I-vd4DESLeO9KQH00008 +0F$jzQT%p)Tx$XV0DuGl03rYY0B~t=FJEbHbY*gGVQepTbZKmJFJ*3Ya(QrXX>N3LE^v8mRNHFXKoEV +`R}Ah$VsPZAJS5OU8cI{zx+bKQkOs4sM%K{P?lQBItH1B;%5I$!gD=p6k*t()4CHpl+OLo6$Ib2ChuhDa`|qpOr`5-zpyrk1>jLzZQC}i_3z59SFW +?JFEQ+GW1~z*(At0X{-pSjQcQ~H_-lT54hVx_FQ|fw>$j{GnxOfN3HW$ujvs-kLjfDdiG@ij&3*Od{{ +u+bVYAK7{aHlw)snUuu35V8*zH1O1Fu|O(fN~^NDSF$Qzcn?W?T)Omr0DGYfYzgh6HOeKXMY4EY=H91}q?b)2PfucZ5hCD#!_I*kPR +Lb$(Fplk5kdJi&oXL>)o`LF1q12lfNi3IiQht#Kq>HgRv*B_7jQt;|R@F)DjK&s?KV2wm%vuAw9_2Cg{GH5}SR-?}XNq{9PjkhOoBO*aDsv +F*2I<-27VgIQ|Na$2M1<>l4Yw6XO-YMX+d4yNA+qoH@I(~en1YJE90#XESa57DyUTFqwkJya@ml6_c2 +RTo=0yU5r6EUy>p`m2-^JnmhNKDjpqZpXh9=lPRSt#J7%lCST)_ybT&0|XQR000O8ldVxvHhT4W`UwC +49~%GwApigXaA|NaUukZ1WpZv|Y%g_mX>4;ZW@&6?b9r-gWo<5Sd7W8pbKAHP{;pqvIv+&&WJY$H^EE +T-BNZ5$KEC_Rw=C09%C(n +a;EZSxeD+|?fpSD9W`Z+5YAvZ&u2clGne4sxTHEY-@1M_0%h3!lQsk}EzJ#?NwMS?013)tpPd6xp4?7 +j8Ch;mcs~j9p&coxfs6IJ1#z&ZK2ZJH{3KQ@sR}S99mWCFp@@U-LMzaa1S;;HJBOt-H?b~?ljBEz8Nfa1qZKUHfkUiV5bY+ZCj;%nyxUpnjZaeIQ{kLa}$5fP#UEQ7=qs?xK!M|^LVMT93_}J_UhU-icu&OUNECZYK6 +fsQdjq&|Ma`mp!v%k86#@Ks!%IcK_4nVhpgwQ%}TYa>82#Y%As<@yM6+&5;o0BA$k0Oh#Nym^StlJUF +V^+m;jpKuZgAaz6p{&Iu3Gg%nUoK%-pqVXgfatM0y%&xWkOj<;ga9#2WaJbqL*fwzp*+PtfNlk3iNXT +LoGb0C=g()WIh=n3m{GAd^XC%IC|;bNP9|}s)u4x(j*87O2Q6Gg0T_^mujru_Z;1RH5&yYf`=#ruofw +ri@uyCxSWlaQDDUF)TiARCrNSE&Qxq7)2%c@2PASZ@7(Q!otf}T;nE86YLlnnAg*34QE|4KOQm(49E? +qzVDDii+-HCI^E8PR{2{A4)^1Va00TAt6g1>`5{+0jd4?GkPP&$Zx<&F*y3!MT+qR}X1-Flw@^2YApR +j5K3Awi38lZ)HitFw1d65;|!yolJkWT`U&8xCG?Q8e6Q +ISIUozICi*i}a-kF{%p$=~zVbq;*+HTj)McW8x;Ui-I&Ma#neI%w%@j!0kVETPGbnevrrA}F(}pp)W7 +rH=sGxxnX2HD8Ind#dJ&<8W!+nStj#(?I^zzY0iXscLn!E-)uPC-=`Z+OqA}>~U5p{DFoH4f>l}4S3@ +JHzg18|TS0Te40iD&v#&-el2x=fb*F##j<&GdLOnLwAprSsKidh&8IA_5I`-)r=`D{0_8l(R6}t5^Mq +>eZ~Bwt*8F@2;)VfWN0wGc8=|2N8AG>=im_QfD{>n5TQnh!)ZS8WYX~E0c=aC4fH)$)q=&0F`CjVEC0 +1B8vKrw}o_L5JJeuXyGfUoMs4VbZ&%LB1OdffECv31Cy3)rI6V{BLou*35m>#nDSb0*YC@y5P&sXJ#i;qD4jT9k45gjEa0iQoeXc*VF8|u_-bb0{bK*AymB2GO<@Mk_<6&f~$gv +p69Qxk!6;}%=T=Aa?@Tj$1KSUi1#o#Btzx}WLkTo+I?INUvvZ=l2wuSz_CAAsCaNgorpk_t4JPOw7j( +vrt#JZmWus3Pt%sQMnz3bnyqhoy$zdf01f_7c=~P23H;s^cMuJT>LpEn=-j?XI;p_boTSA||+x2%fw= +`6)^g7YWe2rKNNLzLRu7HwnlN7p8Zn9+POJPwi_)IujIZMGR^M(9 ++Uo4d_|7omSJ**!$e@>21Ui|gtkEcKV&96e1nIOwF9E3*4lNP*!9<@q8u;DQN3Kc%`S4?rb&=99lwex +6O+K;1AEA0~-t&mD$yw6eg6GbG?{4%Vq5lSJHTqQTZe7Ir%_RnWG=Wp(+m-CNjzl~bC`I?N)PHN}cRY +^A?!~m(+4UGUe?^>88xI}72WAUDpOijafZ|tYQ(rwAxt+0scVh;m@9^&)!j~BOheeR0%L#mb7yU~`q- +`?o@{N{JOc<6t5b9Q!qyQ>Sh!@H1_QUg$&nMgSS8~ +1IUI(rGJJ6NmDqb5;CqYet=|p-_Nk~udDbHZXkv9w(bN6byITr2ufDKyutLcp{sCXd5o6=`Nli@&5ASNf724{}5}`S+Hks77rVaBU>~0;un%-8hS^?Ch(X7(fU$}pt+VF2%ZtJo>+7eK +SuYvsk+60$@FDLP28ww!Wej5(txd2g|M)S7{DXJcr+AjBp)!hU^di^kM`MVa=0SEn0M#t3ugGrvS_bw +@;!G8fzO9KQH000080F$jzQRkX@9RL9U06PKz03ZMW0B~t=FJEbHbY*gGVQepTbZKmJFJ@_MWpsIPWp +gfYd3}($Qq|hv!+yO_JfC@YN%+Khz;6LWKGI$S+Gt(- +4$(=;4B**k>^@<;i1AJE$ngpt`u-*zxQ-Wp?TzhUI@F|^9-4(Sw<2?BoEhT9w{5oU>|TyW&yiC43cGl +8`lIQFf3mc>CG16~m1j*`mg&^CI9UH%*9c|j2lq{QM5}NVxj17Kzc^DQtI+dc!JX>N37a&BR4FLiWjY;!MXY-wU+E^ +v9RS8Z?GHW2>qUvW?dSORSNB`eZq$bdD?x?rALByEAB7z9e9Y$BAXl2kH%*>B(RMULF4T?Z^55{WuKy +gNS6-Q@({?HQC(2>HP49ptjASZzS>Wh)BE7${cBdsYC&MOiUuB**W(24gq2rd5ngPN3?V?i{pHJU4UM +7%ponE`Fs#v&p1XvVt`A)@cg7YNRqiGc84HSnA&=ldvvz|D-z|b~n5sDW1#};*!>Ip^51l>vOREE&-%m%pbs@3-6Q?P~-qN0!egfIklP7~xHDdj{{?Mxfu5f|alnJj>I2rZj#`ZG`nMPCUqoMPTO;Cou +o{u>TVp{pr3(Hw;6rwFiL!0v==rQo&Z%4A9M58fdk3#+j1H?N@I5s0(Q>>k=RFXoMNJu+Hf?`9>g*DB +l^-Tg5A?I-4@VELEsA0XYsILXw(1cpr(|nf=U*xV0~it#x(kT +vDk65Z!`41S~Q*6%X*QAznPHPqRh)xv0R>J<&WiZwOr;eisg&-sw_{7vn5-t)@M0gWoN6!hG&cZDAIH +%o7LH~`DXR})SZWvK=PA=FBcaOp+ZmBk@si74oe}oW>ok1ahT#by1Y$aZ{Mez>z9}5hpU_0>o?md2>_ +VYz(|)=h&)->WOX(;ES(+bd-3nkL^pyPq@LZ%{>oWnApXVRDH#g>N-3#k@a8r=e4wKBi^*34a3mi&$? +1mPQ!Z#G7{q9WETRS6TgZeE^3`mG_Yl-KH4=36of5&KCo-Df{WpySsz;NjR~gEaw-{#h+I?_|8)rpuI +AC9*j$*r>Kwn8k2RZ)MPzc$uI^MqDY?2wEE`Vw$68|9pRkUvC4wXYYJ%i}FgpvzZQ|t?E0fsy0dyO`3{>2$kqh3hds~t;HWE +GWpQ&`ClHh7rgfpZOnXLz&#CoYH#BF+>L+P>dKJ66O?S+s!+XS?PteGi;qdB?wJ>D;ZC7PdV7N@zQ-k +(g8_P5dUNKA{o7n_WjNNkIC8xlI3=n(=`4%BAF&(3^%t9K!QW@6dnJ?gDdx>J&X7DkSd7AI3N*lLjz< +RV80|?~;D{!}l1^zy@^GJj0$v9S%a1EhZa=c4hz;hN4kZ0E4K@mAVbnr$Bmdk?05!E^8Q8F2+3Dyql! +ed7uy|-w%YXw!vsXkNIQ)DdmBy_LVtkxWr4WB>JZ|oJAXQZDPl~MW7t#j?0n*TchZqOt3v|Q90C5o8T`p?=2 +s&tnFCM>_mX`ZD$8dcurPi?TQ}5JLOD;Nx=;oxNPTJt_7oo8!B$?)QXVjU@3^JwzT^y-sfy)x4SxIS> +})K%Mha3BBqJ!IFHF4YcFmP{nQgXG?*xQhZ7jqzykTEDvaAD;AqD5e7-rz*jOOzr`NNF7_AR2JqfZ$h +cJW2Vza6-U2pA$hw~WK{wyKoUEAQSX6NwUD_c!JX>N37a&BR4FLiWjY;!MYVRL9@b1ra +sy;yB;+cpsX?q5NqA1ncifVJx|WazLg%^G8?Q>1B!A_!z!rfn{gsF740ujqf@-I0VEmO+v2^V( +Z@?dC>?HUX~RcSG-8YQ!Z*NRb^T((TKrw1p?nnQ*xWHlkmjIYUK_lm9e}iINrY0TIpmI4~b~3EKFKTl +eZ$Y;EOC@H`RkVe!*^Q5Y=9J`{~`M?BeS3;`i+4!*n{Cz5#5O1IK5i8*%M(aCYJITIM!ke@Fv=|0*l4 +x0CCHP1TJ6XH*HBfF9f`O&8)Fzay}}`}BfnKpl8J>%`C<@3@vWLllWZ6h?f77QY!c{?cgljNPsUfS0S +X1TDmZIf`PXm|8LmKb8u9u_?P)^J*pFNE)_Ti%L8SO$6XFD}Wl9;U@< +WR=eQFxBL5;o&L=5LPy^6$LFl(nwOsM89QeSV1fSY{KhJBX{{hVF`KMnfVDM_h& +k-kTh#!;T8M*1rx`k2GNSDQgZmSQGf-2*+HQIPCW#Ia~qlMUON(yQzgFf*KMJtYxxdbGYZVG{b6EVndGKRX?RM;1Zt( +$ffIL&PQFu>^VtNq&l}&{n+Xg;*%>3;YRd+0A=og#XZ)AN7CdGS+$xh-Di(8(cgDmJY2q90KeFQ_Dii +5lnJ}-BG~0cmaC?+6vjjGOOXr7w$I-*WmJeN^2rsGuKwdd#nkB^#qlnGq@j+|l0?0fOu8?k!K6? +aXlSKP;t8SPkbH{V)eh70QjGGU3rvKLAve +FdZ;N-G7Sagb>pC~cnMpcwVQ+siVmw};t;%v5KV?3 +Oq$UFAwJ^|6}4117NPJnuzj3@(SXu1mGFs2J%q>~h>mkiU#%9x7CoP72*-c{NSQV@_)|p0ZBJAXp(|I +!c9m~{C3qc9Q;2&P_E0Sjs?*LV19(#2>@{No*+~n!tvhu|v8Tzvz(F%=n-e#EDf%FK`_bn4A4|`rELu +JAbx4nPivPx(iIavc^ +JhV9ShO{&`G~=00Z;?5nA~n>}dD;N}-?76k#2QMsTY2W0=-?)t|w+(m0UprR@cW9rW +e1a$rS8}&gw#z)MK59d|uf>5KnSgdW{mO!I6u$kGdQEGhS}uLtp3R*1W;2F6n3LUd>;9*L83hnAflb2w%8L!(8i(0#1T_ +szW>L@02?a!)c8K_8>vM16J%d5w%l}X&Q74;ZX>Mv|V{~70Wn*=6Wpr|3ZgX&Na&#_md5w|5Zrd;nhVOa`& +b`<`DmdG%Kntux4h1@UsIy)T#iD1evgA>6(!Bj>*U7q~118u2DN6tUkxG)}GjwPNB=3kf2r2+7vd1YHdy1;s%tOdefBL?JY8aT{(9Av)rw8f%|&b66U&zax~j +Sd6PVKr&)qO@$8bE8?R~Xh%a2kdNg~9l=VK5;Xlxh#I?P1zM3iP%0(f0OJPvpTX$F@!Q1E<~?Q%jSw7 +6F;p3&x_X(xF(SQT4OJ$$%^L@PQNm%NBhi@ip2V$LHS{}fJu!OmOw+~5%5Zr4;ZY;R|0X>MmOaCyyIdvDw}690cc1tBA_o4)1wM8l2cRZOxL&4k^~vdP*`bDU#Z6%Vu4%Y(Ha5dGwa%l1(PdS`;Kr^_(;%yr@Lo5 +IUD4ZyT2C`^m&SUx>0{_f5{{_6e)&QrMeZ+}r@igWF_9%PeQLw9kdRl5441FhlM7Z+YIZIwm))IfXZ@ +Hk?+xO43_aW};3czqi9b{CMaO0AaAYq4B$W(Ic?!jBM7|}JW~KNbQtm^)pSsb2A +YS^8bsCrE^isl0hq`SyszCdmYtt|C_%2*23LTiv=CXFGg+}k@?KqD!Q7afiIRQ#$;>*3 +(f$mL~{O_4Y;v8(juMbV)5B7PrfCyQsaTobEf!|IDtwD(o<#@vU>mk+=KpCC}`YEfcylpB|~m$%_&lF +BQ*1o8F6*~=6ni5Pc?*tEQ>s^x)tIXtZ-QjDu?3tVDT$%OB_!4qhI9{ZBPxXmZ4P0fQabdungM-<% +3y6S&RzatXYYjYZ7@SX!W?QWTpNmoW%^k+%xJmuuOuLV+If1%x~^NUUj`s6Vh}y&K2Fk%Gzu@oV=vGf +o7I0Z>roe8HQ1O=^lTg5`l5x>%r!Vf8r!*x*hq#RTUWO3o7c2-DE3+p@$v^6Qk_sHL;ZIUoJ>*(Bq{6xWO~%O$OL=<&BJIS+j&(BR6P!axB{bGj0tyf>28R +qcOxJPPEktoT`fMd^0LW9tA+zrh0oC8((F12w306<_^XWYrJ4GHS4?AEEEX*o1-eI+pj0&B4=`JhyA= +oY*vQ$VSOFiv&&~$HOfUo+nA<&Ac=!YO(9iA+-Vjaek?9JFL7){z@|I3vB@ +ShyYR8Z7F`CQ}Xt!!M>|}n>jk_ao-D+P-m2wQBh1Bbk;P=0EU +a?5A4-lUueGXR!q4A%;K#3RGCW;vP{Q+H~F}}kv`(wiqk$J^(^TR91O8>E*a%=RJt1&>;rHz`BzsQCF +T-*Eydymr3NwuM~h)6EZgGfa1btzZEZ!&B#Z=$6~y#B2l=bCe5C>dfoM@dz<^X?&J0-yG)tvz6qEy#RwC`j{CJnW5h5=OBxVY6OCz&9ikVul4dv*H)WIXYUVs#wTW3ePB5E=oQc7 +al|p!x{O;0psKG#o6raT|cH8MDOnUa~*$)Vq2p6!tox(AVeFNkDIjHqB&arS`{qRY$YM&BSxljw;^{F +TTAF}29$CkKI`&3u&n!yk|{~xHyYjhyV;b)$;HL_#kd^YO1qs!*mruGeS-+mf-`hkXdfA;vvKl(>6C>gAGEd)z+#M_I;V!@;Ed)>>WL7BW8PMV~#}6CXfu8>ZY-HW}+ +!1)>=lH=~I2)y_*c};Ao)WO;@o2N>vVHtIF*$0sYZ7Z`7nzFGlDR{bp8+szMut3@qtUa=X>zuVAW?PE +3MlKkh#(_Mc@}&%U2Ndp~`48AQFw9rwRBU*cblObW>sa{A&`@?!ag>{^lU?Wu}VhEX)!Jw&_!{_Smvl +S8ovLGrWUWq3Wt%X0;#-kYWBd6g<(^ZY=S^G3lgysBHz&3=l8X5#5hg;HHTr*}22!aa3uV;H{0#}&&$ +URIvv7*dw^9IDRHOa-2=VQ}2FQ!blz&XS9h%ag10`1I6pWJnnLE*QVYS^U2&yHw@y_qucJ0&?%E4az& +@jq+6UmP3rgvXdZ3XrY=Z1mT_aXDfQk9CNm0?6)cL_xk+w{NfT6biLs~AsNJ8jdU3plp`77Qgts@{AL +9pcMWZ2Q#cY*czE8&YuNL6aZeZ6>Hw*|iK2LXj&X$}vwl1|Jw5;EPy94eEp|Knv^BZWO^GAyu*Hz=>X +p>3hlWw*B%_qP_>X3qT9Uwpy`1>2!*m@~NwcXVN5}L|jyljCL$Z4%ppbcW7>+Kj{g>+QiyHH^n +gyM{IncneKvBVSj6_q~8t@8PO!R>eTzSBZWRMx$cFpfF(Qj%n2(zRo +UZ1R`tk2uDIDti0v5C^4M~gR7H^_rS>!L@^{0JauU(Qx#IQ6uUK@{{3|~75#W-SI8Ss|F~Zoo7wX@TB +|*o@ds`Zbie6?*%!DFe8|hC2&3!i;irM>dmSFt39rFT>8>|qR5@~cSM!F2s>`>` +Te-r^vR85K47%o^0kc)8T&D`8? +`1>0w8qkCn%J*Mxi>*pItcDfN$kQFFhv1Yd+N=_|E@@#L`J76I^zccvkpe%3g~VIe?dm?@ucgEsn +1#wcOR@ly&7iW4x_06d_o7`Bs>rTutN_m%C73#%)jqVgM`^%?Cn^jk8pR_5aTT;?v_r2-d4NEb8qtKe +tey+Wn{}4}$9RNatL`EYU|lEowJ4YT29Rk@8svoaNUvR>zK~HfbY`jB4mJCwh5A7EoVv;(#xpc^`d>B +-MQ}^=mJLJ>c^Jd+jb)))#MT`1E&@=KGlJuBJHjyZ(#zuwFoQQI-~I3|FeO880)+bgu^FZo**fQNWR9 +wNMrV8jGhU6%czrRun!P?gwUhj6#toXCy*)Q_QP0w{E#~&1S0z+NB-T9rcp20}G=YViNlPGISg7_W3B +Z+0k+Z-ox7U_AlX6d;q2Q@F)`fF6CyNx<%#>A^u)Rt0fy6h!WgQTR-c`l9|fF-pgFwy_c}k2J=YCxc95HC5kGU= +pUCfP`VH_UMbN(Qi7c>V*lN=^d@{%b?8>YE&3KChLBl5yYD`6pVq)uo=`F`K5mwKwN5S5J}nyU+fPs= +?<;7GJ+WvjNJIJCczgEvty<8G*%vx*GPo_^LYK@Yu>h}N0hI7y$@_*q>;ZlQm=p;eioXRdnAL01!+zW +@fgTEa{E6pq6YR4`lhPjf08h*uh(A)oNSC$yPmGOn%19N}LO`A^Z-may~ZAl>B%4`WoD}gRa9|+L%!uE2UewPmomhe8d*?E6o!)3pitj@M=ymD^xKTt~p1QY-O0 +0;n+tx-{b^$g*WA^-qkZ2$lp0001RX>c!JX>N37a&BR4FLiWjY;!MdX>(&PaCyx=YjfK;lHdI+u+G(q +%*c%G%u~C{O(v7fx^6Z}CC=vNd@hEPAcb5Uc*rfw=39o-X~UAdbGRafb}J}JsNE%G +FrK1(ts?b}7F5*+BH$?IJy7bgq3RJzU4vMM$rju~Pci*!>KRV|X4Dzc`QF@HZg($D8bUdy{WOK0YZtg +5^)Uskd%6Q#`8b)wcz)6}-hiq#6{ZN3(^M_H)!u1xB+d7#!!oo4o1oz(X8PBHd#Afue))RjShA>TKW- +=?*!>Y~W(yIPuQmuVTrw=!Q8m3dj-tl~^9ZrBAm>S5w^B0#- +C&0$K+98KiCGrC3n#0ee2F4;Qfg5U#Oje@E#rf&kHz%jxoSc0#7Ta|?UqdGV#Q(PIo!Cl|uJWRiBm~$ +SyVdK|AQJU4ZV_Nq>AMj3sQX02>vsb#m>w^GIUfsTdW>BLn?@+BmKw`61DcQZ?AdD-ot?3=k^?LKVl(D6j}+1xqZFcX +L^KGWP`5aFQ>cR#j0A^~j2O;&lj)kg>32;!W~vQN^1Scwt5z(@O=?8?(?!#g7^#s~De;kHVp0NH8N%D +6oqBk=|ZB|MA7!*9=C&D$5rLOpjDAh^jX$Wgb*&)~)BiTD>L$r#e(NJ#HF*wzfkz9NbK8m$Y`@2O5wEghmSl+LQMyE#olqlI0fmA4!>*R<;sx^ +mHR#NIb@Adzf_x4(wk;51e^yQ(p8$+J{(GG7#`psujl~mC!pSUyweSR#Xp-i*MlOI5{E$A?1w8vXRj^ +WCXk|XO&@N#Oj>TnDV)IK_i+@j`^_$#EOW0!MDJ@s086rra$?lx_{_t)u^2l{2L|e2H!*L6xB@U?XsvgN +evSJ8$nGKNDr6+rsV*%9NUv3=7GJJl|=2V5D>1rvMN@c7W1S;OSp((K@?4mEoH9IHui@?5E>cipcgLo +VB;MpO}&nh9Wf}I(KS#C?VhZFP}%@S0ODtQ7Q|#Y;ur}E2AcE&aM6GbLY6n9xPwrfJi|^h~do?*?QFk_;Gl-@8h;^kcgK&c|E+S3$WJI7!JD1wL9Xq0%0KJVXNUjBkXK~bqlyapM$_w|?OU$=q)6qXSM4dPEzjvgXL66 +9|&@Xi38c$$NTc2y;)^20jPn>sdkblfaaWElboDx#!X-Cmtuhc3$09$fZd6oXnyL0?7X4psfhd=z#tW +0oI-{yQNPPD6dkPu?RTm{p{w`ifuCb7s3d6(7UfPZreB?&hQtr{0Rqz +F9ALyO5FB*&bTIifGlj&Ekd`nmH&DVf;z&sv6ouNQ@L@X|<6uh-06DS$AHs)Z4CGdmZm*~5rCvEy-Lr14N==T@AtIDv +86Lt-n023Kpk?Vh@Fu1@qbj|LIeNE5yI4&~`gn*e9MfM?$i<81{B53k-j$8$y*51W=NSZ;TMZi$Jv>P +kH0+fYcdcQJd23ZC#+wD +^(?8NQ>L^n3@JCX9hPX42tIt9YPcs>rd2p|p(H1W4HHN9ii&kmKc;p$x5y*{^aAv_))Px<>uA=SEKGT +#)-Nkt1Y6z}%6}*{ND?WDd`P1>hJ%2t|3ok+=HZFfV_k{b-gvE7N&*88Oe2TK(5h&~u +>g7iQMtx@~V9k>VsplT71I$ed9$}I@ef_j6VlwjY)@$8ru$XaUnhW((oK&#G*dfkC#i3nY+_=4n@4JJ +T~8{HgkALp4%9huoBV;xz~&u1Cb^_} +RDTX9ANo%QOck9vv!-?&oPbIu^?eXz{IH|FnoZpxh-*oq)tVt0v9rll1URxCdd3!1CgKG7*T7=ZCwUw +8nKG4XWF&mi3%U&@DfunEONmXi!=rP-`V(mEuxi9RkuoX(G(RX26_V3eM)+g;h_5QYo$zqq6kmj6uX0 +7eWac^kVatQve2)gcpvSUW@5eoV$ME@6;?HQ&}>Xqi_%eHMJmss!5a82l{JGjE+QAD|AS3M$i>#0bKv +WPFTq@>|s5MM$iPmTw$!{^b9B0F1H;nx5+1VB!Q9B5xD&~qb|FN(MpF{4x68)D~QW*g%YnxxFH-)fa? +_~_5ze0FcZfi{~4Mv>oJ+4-Ms)*3JL&@JEouKfJr?M4ZCxg-I-S2KtDr(Cyo@Otd>uc2a(VIMIR;rHa5OPH7&y}d8FHX7CWAo~w{oWm6Y5VwPd1*f<@^RS%Cuu)+6~OH7lXf| +Xc*mi(s3!~ql^5;XgBFC(&jF;U8r_%>J>uq2-|=3EB)mCf!Pmm{1!y%g3lh;GHUAJgE!;c{!Z5WZK +6%$6sR*umV2a!hDR-sVajoLiT~#cLmTkN0(=x7?u^xuutXDFGW+e5CXKkA@LA_=}aNg!Lrm+U?N6+a1 +KXJLs&WRU#EdJyF#z$XXGFZFh?1D*2?H`99O+w3ogIyayZC5jY{W@tDThE7S-Yp;FJi{`5!<`Z+l1jc +Naxx3nL&Gt&86>E0Ws75QK}Jxkuvc^z>BRr(eC$WAtGXoh?6#zx`mD&)ptS`{-1EaMGJC*!@61iklW7 +O0Nqv90Ya%xto2+89=HZiy;owxQ|9?$XX|}2HYqaRK>POQmcaOhsXKu+D-7|HXA7@-f_c(|FsR5UujD +LKDw%LB{CMY3^DtOp+)<0US!P%0$pIR34x!1Y{|Q110zi){OHl6M=j1*SEFT7%#sS0=s8dWu(&$CTR@ +~UlX7{jvyXvkMYO?oxS}6^^YE+h&cFTYtM5kG?d)_czSJFz)Dn_YaYbqSV3U-rnBj5Akvx1tjfL%a(u +6#A*(7(=0eq`5&P;cJPuRiPyASSHlmr8pF(a3E3Wl12QGyeJ9gAbuKN^K7`?bN{P3Sr1A;U1Lw2B=@O +iM(~+oaS-3qXG_aL|D_s~)Zq7Ti=%j(gY|5zI;XX>aE2{#-_oyy5*?)Ai3Z$^LTb8O0 +8qO5Br8$wtyNoXM0FMN#E!lg+qx~g&v)bj)Dcu${Ndy%*`M)H?uA}PE`T0c8+Z<=@lJa$PIV=v7uj+PC +ab9kIJl}=nVYE1D)664JWLp=0RgEoe8Z$nv0RD>!cQP-VW@+Cva%WhU6|RT(6ZXyH|@j#xDRKI7FL2~pKYq>_p4UXx_N9AIxv=)c;PhV7~ +gK?2zQ~ldJ2tc;uK41jc{R_>CnY(GR9!lNvVTXROv!i!1H6mJvwF}Pm+eiNk54XlWjISCq|SlG{$R)Z +os|CTZPG~FN*nmCE82fBcA&T!h%nmq;9^cqq18HTK94R5*S-<;kPcg+#0ISVjG9FZZ~7WFoSCk-29J +eI41SK)JNz18Qh1<5X^`ckS!=ah*-ks&5ItbskVpN`SS@v*SS|*=vMiyd9MP{~v-F>#<_4QF#vZ5#=f +ubg^yj%~7R~u%xOJ_iZs@AZ*d)LzZ9o3_ehz5FN0vsSJXs}r&4k3wcN0wt|pRKQR$;J-r)pzfZjWA|X +tr|Mf!7CuuNeC*SL#Ocson4{jl{OP>Q3zMH{8?yhX%Ezq3ul%+0pQ7Mo-K-eggZ@qO2ag9spN}rk*3n^5go@=cm|Hg{HsPw_>a3yHoCIfj!>RVgG2aM>OCAxo2?r7{eS@z=!^vOI&y1M3n6NBA3j>KYB5%hC +;i;EumW9^Pjj{ej?``YpvclV3o;tL1?yIA31!`0sDWtUNkXY6GlA;Ld8s;wP<5F`-?l8V( +^@rt=$E6b(}X<-eJOWGb$_wkS!4peya`bc2W$k(=Q{MjpsN?)4~*_;mCsDK^ea`d!`i`@E>1p->Kb9y +XJ#zkg~4@EH~zQF9LBvyux|JGn`GHwgPfBfjrbec2fN@C=Plp&Zc9)F(MVC +LPtG-iI&24C;Q$RN%p;m1ddX|`ksPfv7lWjg=f|!A5AA3W8TLw2wN0k74_(#sl7F8wdP;6FmGr7@wMe&8S +g)t%X5(nY5uq8l5Na=g>kwiFP=Lwm*fYU%G09)QXdg^b?w&QWo8P(x0>kiqkl;KBR%kg;XGDuFi^}Q! +Xo;XE#OEL<7@vY?P-qF_g5y&1klJCswa}&Z}7o9wZ`5z1^2i7TRW5kM_6msAUWZ9ovbyDn8h# +)fjxqYSkXNkf**^PXL!pr_^TYK=fN=hf~2$=H$uf%TG5DBq_0N>%ME-v* +a08c2H{}QjAsL0!DYso0mg{UU2<2X<0;I};08ywza14@h6j8FLuTB%worR+!Rx +vx`RW1O$QuGM8XdXFLtBk}f78tlV`==l27EV2&=TfiZd3?$Mb!7yi1oi6gAU9q>KDv2wB=R0(hr;=;Z +@|kL5mmk?1M8mS-59`j^h@x$dM9!@INx;>*PCP38&7(!aK$t6eY~5-dV(L!TSN?I5^r7f +LPzR_v%FY<0i>LnN+k4?4<;HB`^Rt+H*_RGytI?pqW`LRx?>#RKc}+?swpvp`@o1lM+XG>i9Ys$IbL52X=)+1oDsnDez;dV7A^_ +c8QAl7?8{)}ikAalS2cR8hzorV54*&3fo}S5KOXLATEBHz613cW!f*I^A)gs4_+$q+)hkHo&GQ~0Jhy +FHI%}GXkwr7T7iMY!%WQn%U2Al3H=IVyzTc>9kaLQimm%sGfccct +0xcuMUKBA)4KNcRN1PB)Y`;eal0Hu{o^W)s|3*fXzFtVFzjAH~RQU*LO1`ycZ<_$@61w`qlUd|-L8^E +3>@7KWw)&K#4*A4msH1a4NK(8KSsK4X_MPAbA805I_%+tIH^8bZ7Q#SeTPUDK%!dgf9YeaK++6#9(D0 +yQ0VH!1-SA1>lt*5H~3>jG<+QO^xl-`N}nmXZ$!DnB4JS_TNu)UzVk6Me~9>UW?+fz`lD)W~C3({MBy +AwlqwyJBD9{^=H7T709uf6($^TxJ!7ESSKeq+CkFT)e#f+V-X%Q!%>w@bTJK;^RZllOKKfIB|}jI8^e +8*i;$chNP*hSHT`@yVJwtjT?eN?%s42x-5Xqiuq8n!k}2bgYldn$BIr{0x*cyAvYC-~sefSX5%2U}zPfG?lf|f8YR?o&AY8MpP$=>i7CBCIOE1gp_`dV7>P)goO5X> +H^}QJurs5+f&}I!f=!Y-p6oIf0-3Q6|ws~0&Z)a2Ya}&+nj)aq$TVpMg0wAAT&jKjVYrjayvpc02Z>m1j(d#=lOOWAj$WrWAJF)GK)Gizy;E1N{xse?B9 +fC*dHt^^QPwfAPL3E)wk})ZjLcLgW~Sh +%>b)W7ESPEafV>O3u$0dT;df5=sAgubJk=F7%Pd)$f(fb>(T7tiIWJZ@ZBm)~;41S{AfF;0tUBN2_+w +OQJr3tK0DF6nB@!C4sFPD1#L!zH8cE&|`D?mZ$Q&;c^0%G5tsy6woGqQ2HaV}b0?3(;nFS++gJS-z_u +9L0uTzC@_sh(H5s!oJ2z~Hhno%g3!XMrJA-sI5zdzI))W@5hg1@x15qKNMqc+&Zd^$o5-J$UEsy{T6H +xCn9UFr>Bknm-bag_<)mXfa`XH5Ct?%Yv{$tODZAaFJIp8aRd0ySG91u+dvGBYWic@yYznCYZ+^~qj}x>_u}GIG@5{&Vf6JGj2J +{^Nv;;QoV%@*Z71ZWS2CX+m@QQkQCpm<72f;sTp>J4a@p5lm#XG9)b(_NCKoxt=Ur%Z96smI^ou!QL< +Hei4eWwzp%13af;>z|p)(9Sty+yM$&ey(YfY8VK8u`$k{ +?w^6{TG8GwNB2z`Z{QxZTf&$N({Epm(owgDSahp4YY*4=cJmAXh(e6iW&|~6QkQ^+)GOI4JCHg9s8`u +`eI5q#ZxQ)Ov^gr(rx#h*{(4YZ-oHNo6Oo>=kDgVrW&+Dv&3b~*uz#yyGM$BwdU0_=s)|xecKB%zdSY +f4N^7G1-0s2V9<9+yi-Yf;~}MT+raEJ?!Au*uVErFF@Nyn%8?hkqiJaV2p^1{PHP;@@hJozs8e9$SqS +l%I)_gW>C>0+>8o(uGXQpbRM%YDNw~9hZ$3)xpKWQI+8vlWZExu-E6*P{e*@;~>hhZJeYy4!aGF|zUG +6_X%an6kj@@oPA>UBIjQF6L<&t=VD`tP_UUG`1=`S|fM||9%u@Bg|;q5!EbJ|WC1iDx(%pULAX$W`%q +Nn0qd?~&b-wM7rTAYc8;w$lu_|BKuv$3epF=Hd;FcX}=DHSknYh*G%Hc!sOqyGg^O9KQH000080F$jz +QRkd6Es6mE0I>uB0384T0B~t=FJEbHbY*gGVQepTbZKmJFKusRWo&aUaCxPa!A`?442JJ{3acD8q;3y +@#04ZIgg_kNgiw?c_l4L;N9%oyj?YOn4D)#^ROPjVRisxjkNd_ZqDS*bU@y6HSNTZFSC<<`~PYr +U_TKdYRikw5AAU3qK8a4<49ett(#f#(+S~6TW9#RhO(k|edF|KR73(zL2j9Tq{>RQw*o*6H1l#M8aaV +>=e)M8MHf)JvzDn_`&?n*_}*W_9i@ZNkIzog9@R_Xjg0AFnS80gbz-buCZGLbw~s#TkQhpAyh6Je84z +*PnB*!6L-zmYOpN>NI>spKXpMhFTy$>T#Pv_BTa$@6aWAK2mq6MmOaCxOxTT +kOS6n^ioIO=HCL@Iunw@R#3F)&jN6a?Le5kiScPFh1^XKfdje?Q00rA}H_D{UUy#y*$teCO6es|u2&* +xS9vBmq&?N?YL1MwNSuN%KCLwCAPTZiU=V3a5q@7bUB?HmEzrE5!WHpG+E|TGT9gLz$~yrheTf8jafP +49$@g8O&a}^U}$i8Z%J{)MgHE^eL1KjSFc}OI|YkC&Sv(t?4w^O5zP#o^#7DwO0C++TM!Nuu7P$Q_F> +^Oa776-0nWtupe~*^5)mwujJy#<;BnB{;&0Vwf;_|6(^1t6QIXi9a^~c*m*gJ&Au-2AlC3)p)q`my}# +!5AT^*cWVqA#CXChMd2c;`6PHTL+j*B$wncmG&!QxeyrOD|Ni4?#vK?lxWbp63Agf9JVRuSKqxU{H#8 +aW-Cd@A`MqEJD1@}l8p4tc>iO@MP#-3t0`xBm(D!tNlI`!Wd&Mgp$c89PP6dT-mSDh!QxFu``I85(bG +-r*-^iVZy;;k*HPD3^q-klJrt`Nnjk{9WssT= +!$Mz=i?2^<++op3{U#TXZuB10e~r;_D-6Y9yhuxWMF3fk>XvTwyD&J1#xSH;yfm2h?l@fHb@Nt9;tyazTFl*sxPo1z)d&Pw^nZ=ClFGBS-Z9%uu4u+)>_rI~RlJUCKxqyv0$+6LNq8s@x{^232>oZVb*mfx0}< +*X}-NEjiFU=ornG1DAqz*&oGVgJ@$7!+w@PX$zK9pE@L1?_zAef<+*TIrd9^0SY{rrBmT3_AH +PT20l?S=k_dlU3WGl1DU*OF#UG+nEM!9wk2?#k;AGo26iktddwD)a5rR_6%JY&Pjq(w`o+r?05vf@%{ +tLf@&>rH}~dY#LBhYJ}!p*qs~J&g+KCe+ur?`=#sFO3jVIyhm_;sKf +vObH96z2R#}}Wu>APkAq$uZ?RJ?d0e%F1|96OL5tis2wXoNFQg#3nn(y6b`Esp;_T8U75zUu0A{mj?QK)B8^p=4H=G22 +i7v$InPLzejv}O#MJW(X2F&_j)`1;GV|L~7&|+ZfuB=liTc0IWP0tmIWay~>xa$q`ug%doF6XBz6Gd@ +kETQ7Zps>%mQ#`ET9W}Yzz2M6ayFHuX>9%^BQQmEu-;ib`F=1|H-i5844==Z$QIU +l$*NhYOqP?@4p2(>j!S)c>|WS~SP7Bx8xLCC=h3Zr`-77YQWJtFuLTZ{;^HaaJ7<_UyDR9F$jj?ekK^k~IQVH!O`qsdsU*rql +AK4uKHG0H(+ntI0&r1plK3(!q9i-Gg9(T@bUGo&gaWJ|OwP=@@jEgdwRTd-BaE)bSNH5jy`2l*Kx7X+ +_(j92?;W{{hzR!G&Wn!KbEQk87D94Q8eL9@WQAh=tXl+&9uIXE~-k}RX5XBnKqw6|ZU-T-=gh3Y*d$= +sTX!VTk7>X@(t;b0t3`0K0sY0*^GYTs%SG6_b}s+M({(XbT8rWQXn= +)6lsA!^UP)LQ>Gym)taImyO1H#m1$Dirt007h-cw4c1O1Gv*PcmtTMYW!2!t&cBMpbqGCz0TDjUS&7q;Wa038%$6+eEs-B&= +Fs1q$!<3&eW8ye>i=o_nvKU%lY`enw5oNXgBU`HFM`DZ0jMY4-M +C8@zx=ll>Zh@Uu%RMI?rH;8V-*7#^7B|{-KVu3}+hB=M%upwbAA_;ny8Y=sO>_T9!?8Yo~WbocU+7)u +3eHl5dC|S?SNdPuuE?e)oJ}<(-hI|KGiamR?kNSG@rqkO88nK7%1O@@k{ccSrn}S?1Qxg$yu1D)OZW9 +jAmqkIW-EJZB)LB4rws@VdcQ(*xM$IwDX)lG^tZYDNA@ +LzmwQ-9N*juZ8jUHvVaIyhMmH!17zrsf_=GW +FUuSs3;)R~cb;$m+ahn*c7Olb^H0{C-Y>hmk~hKqNp!qF^0fE%+JhuJl-yatuNc4JkX^-Hm)(CY{svG +>0|XQR000O8ldVxv9S6%m;Q;^u<^%u$Bme*aaA|NaUukZ1WpZv|Y%g_mX>4;ZaBF8@a%FRGb#h~6b1r +asrIb-?+dvG*-~A~>`r@$6AE3~^wA~iAgfi$u3E{Z-1hP_uwkEgjLl#dDP +wMvT{p~mP<8is1FTZ3NRTn;AXArMWb*yklWthP{GW5pc48D_uEXzu(MLOdGgEl(o+;4tj8K!%s$z(F` +Ef4Hp$RI;_)&Ur`5!fAUP?3$D=)f9G)FbaSw?(hgJq=c%Vx<(6$^~sT8w3u#bX}#?@fz}!)+)AX2Aej +Ztf%nt6D+;M!8K_VYDnT{kjn<%vzEc(z;t?tmv|A?AvWII!O9pKc3ljRJ0l)3TMYk-NdwRu1Gh)d6YO +zT@-cap)YsD?2473813Wq^y}>(7_j_i~papQOeFY0jCW*~)#-=GTv8$=P(O?(L#@hbWi;)Bt@%+U*_; +3T06!`m3Hv*HQ^1Ra_?}{H+q)G5{!}d$_&bIY4oF-#^eoQAjxNq3#TsrCLF^7RqVu=4^IzDTATH8ro6 +5g+zcJg9XtMyTv8>ggXs>4Bb|Duxk9wD_Z-{Q=mhmH2Aj(>sdFHlPZ1QY-O00;n+tx-`+A}jVa1polT +6951w0001RX>c!JX>N37a&BR4FLiWjY;!MjWps6LbZ>8Lb6;Y0X>4RJaCyyGQE%He5PsLMxG4{|F-z; +S3lA8ItS#0iMV(?Ol0cxPlTCysHIj1T4g2pqijpkJZsKj});vUt_}v}v?)#2X_@+?Wg4vlM$hF!)!HY +QI(xR43#HHoJ#CBJ3xdQI7?>~R|oVL2fagaZ&jO&I%4^@lJ8tY0E(^;Q1)0JEe= +AX@7zAgqSaX6axYw)zgSITJRsj>aY%il@oXJ=2mFW)QY_easAuWin$r^QnxYbOcgaa!TojagZ#|uReXay1ab1NEUD +2zK1!CtGRD$bhug_77oH3YsU_-%!kDk%->Bvmr!tNG7Nn +6AN+_E6zUxh(S>HD-w_ZBbee9Uv!OO3kxz9LE!geyoJFj~Rx(G_Rc$_H3pa5oa=>WXlaoYibEOp*fWm +n0dHo&|YeBP`R5GOtVeDLNj9WUJL^v)K25Bb-#Wy_$kY{mw&wk^-|BOU&R@`&EZOyR7lb%TM9H#pf;5 +khXao*b-n$Lr-M3ooUx45=m$gt0z)-Q8>Lr{+WLW@s>i*GJ06ijuAN{U^GfS>=et6q@i4ge*jRo~reR +cux54018WO1o0*-T~H_VQE{g|||28BKd)L(C`28BMhy-2FaVWKo&)jQR+1uZMk7gV-%gEXO`h~giM?N +OaAOD?jLkQvQPE-Pjv8P|ibrzz|VE-tUmXK=nH9+XUo-4yO|l+m0fUJzMGy9%O3b3){TQT^7``Dt}BI +Izar6*o%Ib|jqwuS%`SqjSeCENLX(8ThcXYdY_^q(elzXehUo;u2FveIQ`%N2B1R1cDlFv6f-ZN%2H| +QoG9i3Dleuf-g1GJ0L0=o?%Pyvre42OY0{_=V3?N$AhUk=xYl*9D+`m)$(K@i4LJi8)1~u??Gq#D(Vs +BMAoJPnS6e}p2o3nu;^7is&Yrf`IE(;;TDA|zK-y@BtnbRu>I+F>=-UI=KP_v(!8ARovhUc9|cedAI8 +aW805s>8?v|6``ftZ4%`9mH#rIZQ<@B3WCo?I=`!F;-FVL!IyN#a46&w%8uTw{P9mS=@e|0ekz0S$o_ +Ve{G)}9!xi_=p)(%Cs?sD6P>s9%t)%S^Hy+P6h)=Jq&8-B`+qHif`!&B7xccbjYiMp%5&A#Fw +d>ZMB`t1$Os>G)szctVN4Dv*x`vId4z8xY%ua*L%Eqx);4kLW<|I-n>h&~6|3bT$9U7enupbq6C)1{r +gz86p1KI80uhSBXd-VpS-X}ws#>>z!UfAOnm4{eibb$HyU?r7w3#%0!8oN`Wf2j5>%O9KQH000080F$ +jzQCg+;4tERy0K_H$03iSX0B~t=FJEbHbY*gGVQepTbZKmJFLQNbaB^>BWpi^baCxm-ZExea5&oWE!8 +$nDZXKa5P!urg0^8l(U2uDwAeX(vAq}*&M8~|yq)wFVH5U2rof(o6DapwmPy@S(rQvYi_{ +87chN~9^1yHZy*<7=afrWUFFes<=b7y9v0sz?7-8~>YW)@7wLVa(at26>jUOwzqjxvml;KPNlA7sj(U ++d_O!e{XaxLUO5UQ7K*|Ss@csN~J{AuKCG+ze1V~&%}c1QmE9Cjd2m5Gf~!3tCq)=GBqy>jt?)ZN{=p +UYFU^h)4P(_eqjbobRp7Or>3qJ4F1F4b7{(gA5U{}_F@AorTAuCY`bzNP3D(%k+37%_a0E#nMnV7{M;`r_IQurG+wf*l0QwVDF2vIMsh1*>%+PQB&0lR%W7w-iAP +q>Nkcyp|`TCu-lXrQEi7sqGI4cU`5b~Qu8z&=HjLn7czX?4L(CMCFBDgu|phzy>;Viao()O$?-hY*8>t4;)=CbVsUO+!m-&|jh5_<%>sb_PDR19EgY8|v4WVuk +rM}eIhu?h4~@a2_s87n{Z^~JfNJ2AqxwWDeggAIpYndCzXEH>nC7TkuOc_4PaASavoCp9$!8hQ$NhqS@1#vDUW+W{7YA)3&u!>T-hwN3 +aG@LmC0Ci!q)zn)XB{0*ukKJH>ufUtZTbJ0**)M`}HJJ#3O!$ysdtNjG-AyL!x!Tb{(d6)tLd0&qGmr +41L&S6T5f5_f0cU#5B53i})R$^#>VQdTbU~z@{zVzJu9Md@`BHiHx4aia!0;10OV)g}n0B5aH^|L*)bJ+che +f|6;mwTCu>e;fGC)PBbn*ymj33qZiTil_Q +1pf)GD`%dW|Qpv+Zj30;&uS#Wi6KXFjtxl4=2F!Lc(5$(w8f8TN>f%;L+|*gsw%8|^^gDBxY4u~e;j$ +2U3T|B8Re(>!wdj?HuTQIQf*vSv_L6E)*kM5#_3Fd7*FLQxRCZxC#ohwKvck00Re{6=eJc3QKouHvB* +^dG<$peY2an&04Q~o8qcx-O@@O*_1xwh1NoP&W%h;b|J>B*vSO@!pysNk}99r0Z8j(EDC7KGi{A&_PV +BK-pO33p&!68rGKX`#6Uk@a4&k0%gypr@>@tq*Pw6>L}tR$2y@VMvrKe`%yzx1%Q|d%B-azCsJ|}>E)|Aw{7(zrTU*@}SrWe*X33$?p}r +7mx8uWy~DunVfO{Gc|wK$9P#E(LX5-UOS}Rt+~ZY&pGZDsR*|Kn>Nn2Pg>Jo*rmhRL5Qu}~?GCpXLa-Mc3`;mocJ0bG1d)J +vHJq6yQf+j1Z~-$?>zkFgXM&7v!i>gEugcWm!D`{&_8A34rJXv2b2Ets0(-5612OLiWWE8kV>AB5DU? +xch)$`5Y%bQ#gWLl2K=@A@nkHc4AO0l(KIdKC5LW&;=oK=B?$na$b1R) +J_TppOcgDdC2QhW{?{*ybhU0=D2!~+H_o9OeD=_f(^M8;uU>K@EAnG?aM1|0Q=A$>Pz=nAtd +V8`(b`4tW&e`O)Q3}=bP2V?WvWPg^S{Skpu+}DV=_ko_d7RDT1n6^lm+{m-Y08|}Vir-%+qp4jbaZrF +3`7h{UCxkfL2BEjb#?5BP?snQT+;82aQ#>ym?_%9xAEtqQ2?vO(M>MndG6R)46V9|s4OtA0#Satdw2c +u4sT;}slpdGS2ve~#Rz_V8fpe;b_CW~!M|=*H|OKVpl-M@p{-86(M=s0&Qd2?0a)++Y44=irN5fO)C< +o#gM-6+byTd!;5cR#6o^oq#V*0m#ExpeF<2tNnHQf$*3^T5gze*~j4jvMfeJMGhP_%lRB)w|-2<~r4{ ++H8TgHhSQ6QxDhYP_dAizdg1l;4Bw^?B71d}gP&F1sad{kIU)w^a`1NBp%IgLmvl%kvk{%*DNmkUJx7 +dC~K-W_$T-A`LLj3ENK+lgGlfh>-vAf7nQ0}dbQ1cwM2UAY7Z7pvnU&)#Pp&)JD1ogBEV-OG)H +MyxnSAsCoB-Z!*=7}xkb-SXVda-)e7E$PZ~0_6TP^ch6KSQQ@(4Ne*4gfW~Romk6JJAwYvY-bZ9nY?s +W)n9?d(xesb)L!r^nkKN-in)P8%-+TBi5&J4D&WTzH@#HqdRj`KSVdB)8dWSKjC?V96upZ#{Mdov>y! +Nc$4`=1IMf-Za9BM0lEzM}?r4rvg=4W^j13pe2Tz9RY83*VV`9L}v_CoZpRb%dJ}==Pn~p4}dtFyc+8 +e}8gBM!yB|yBgoe=i59;r9{hhlK}HxVjWB9-;HGM5TArVCL3uc-?7J~S6_M*86<}84NZ_IS)w +bPjjKd(A{5MZyWDIXQMv8QMWnDYWsSkwND8PD2udZi%$$=qhaWpBRtc!JX>N37a&BR4F +LiWjY;!MkWo>X@WNC6PaCya9ZFAeW5&o`Ufs^OP(v)JG^gUDEoNMb6&n0%6IG5h|JRFFGB*YZK5|C{* +ll=DXE&!4sDPN{{)AEBY5x~Chv%Ao$Qd^cJtDV_ZB1xFsmZ~z0FSW{dMkMz8Xyo3Dsw$NKB8{kwQn~g +oa($?jaaocl@Nzdn0*QA`ZKS7eEnl``eJeVee&kr#l`u>b1 +>U#;PtZ+gNLYw6i$kL#Li@DB6bdpxKUNaE=wa7@Qm2iz7#)jc=fJ;HzT5wT(P-dm>efp#}QkqU6IX?u +fW`AvJxp!*&k0wqY=7CRIuOqDP9ZnlHN^{q~KfdKW;l>-^(J?Os&Xes^Zn2WsZ^*I%bzezGsCHnaJ2m +RZJB^Gqd3kHs&2)p6_SYmsvbQLO>$9CCYQM?}QZi`@8d(XUXE?hxvH9lX*51#oaifrN!$Pi&x3 +}7mLNq^Mat#20pNQlyWT#0|ph!QNJI*I4)0t>ibfWV9$q4mYH+Q8R!Fx| +khZ#&_biIvlu^4)ydVQ#SjicHlKKyP*yCIP0FLwR>qcO*8`uu9?PsW9x>3azljLdbW +F8xh~l%CBG2kKD_NlL!Yu=A2E+lgr8(D{1+j|tu(&`}Fv!&SZJEVcZGg7cmUrh~4pg +Cx)2UH2PA27UxAKQx4oAfXxQ1$U{p}%54N&OTaK<#jMm|kD3nO88x#qL1MM2Kc??B61xGdN%BU&^^kr +C6eE>Tw>Hz~f`EG^*MP8DTR67L`I_K?JB31Bk#JO#0%72p +VtNE+~0kqb}sMEIGV+Xy;)dn2vf_L^yPScn_6^xDAP0V^VTvLo9@#5|%JteEiLuebZq$>p|EHk(Xd|y +Olho?h9}xWN(@a4j*?VxVB$Q_pwdHtBus|c-yxe1H#20^SF!YgtXb^C4@y;2`vh6KZG)Z2e(E&$mztG +N-m+V(~TjiMPse!rAjS92rfjUv=R_s*$~-Q`eJAWWZt`2L=p|K_o5MFwqOD(A9jvy0ux&4nZj9OYBhQ +VOjOoVhfKaJU3~fHjF@Q>W=M~blX!q1tIMdg=7sCW3D&-DV?{5zg&(b`;Bj#hcmJI +I_#kX{k#IE`!Foulyq2RP${*}NuUqXJvdD!8FghV%(HSWBI+*gceCQTbxaF$T+ArqVRtfeAps9CTOvT +#;!9=oRWd?!B&C4KhWrEa1hET$h+K_Yw_<@^O%6SHP^{!nL1cPi_{CvDGUQ~yHOX442TL7YQK4H1;?XZZY*%#OI!}yj?=R +LwydB~S7u-5DysWQ{7g;5gY#v+USp8RiD1;2$4`dOOn`6mNu_rD_o1QHSuB2$rbTVu7>mo2tCweK?J#+x-LCpW; +sNcW^Mnc->u745S0hvq>kFw?s|jBflRL>IY6MdFYYwwvCX!Ico#xyQdo@!P&3?3B%5m4SkmS8m(2t1n +1I@KN@s_=9gAJ?3CwAmY23;}R7Zco~tCxGd}xu-fIJM3i`LdtfE!5G#$Zz1i+v(NGT>)$KgB&g}qlQf4ig&!X);q^^bFfY>Go+U;XQ-Us& +g5Ly)N8B_T7?nISk{5$yU%p>Bki$Qd1zW2frpT>v1f0w$!&sL{OUTCaC2#4SS&E=`Ey +=1J?jfAi^-D+)GH=r=1wWWodD{Y%rKqcME#RloT} +{-!h={RsCVKFwuNvAtG$1~n{g2B5r{EkPp17zvJm$a0uYDCpO4vZ*zs}vLCIoLOEZO+xZ_$ryXhT=YF +ShGYEJw5Jn*qsc7E@u6=Zh8rUEJP`U5cnf4jo5R_3{D*jx$a(2o>2nFZ0%u`?REXM+E|#eb2te_c!ev +Ua^v%2;%0^_#lPrRyp@fK3C31je=9M+bB|c!N);sU_Q3_Kk(Y2DdvV;RDB^-<8!QY)0{cc~6vvUA|pV +Wq}$h9)|8$PNA;KVki7v9%*kILVzx?WVRo2k$8ydmv3|teTWx}f1ba+8g>;Gyf3)!In?U+)x&2A>&=g +NeTqlyJE}Y@=z*4iU)ZbK>qDUZs7CZjvV;3u84lUx#K@jO9KQH000080F$jzQAf(9jLZ +T60C@!f0384T0B~t=FJEbHbY*gGVQepTbZKmJFLZfuX>MmOaCv=HO=}x55WVYH4DKN<*lU_V4~8B}Xw +py`LP!reIpfvX65W*+ec0W9-x+D`CTXZKX4f-%^XAPP&1SPJAHWf&ZUoy89rfgrbvuX&lWif5gS=S>g +B=>Bp89bZpI`yW(6bx@bl8p2Mo8Xwa3IK$IE{Z}$$hFwPtbdvJDS76*w&~a_`TJf)A~TL&8|(>Gn7rE +ylE6Z*fAmX +B3qQO*s68`vK7ql#{4+{)QNn&t!4PuYQE@+Z=a}7>2n?EXa1ne?&p6tOvnQv0z)dGwacYq((trUI>+5 +r9`H!s+>TXPiS)MPahl>UtOpbGI!isvDHpq&%=n63X9;i*Fx)&*iK#`Sf)PrYz!Y{z!S>AGbUZe$9(I +4utj#DrCO$Zw@mJc9YVHasJDnHawNu1%il~QjTd@r)dfL`k-PFb|Rm!ZbObyJL@6=MYIS;SJ`5f6yFK +9Ug+6%yF89?^n$2cP{aXk=SG|=|{~_`Qi56p0#3yUUyD5AYOXU5BvO8>$7kfR2O-^#{Xz$MW0bTL!(ZL0wne +gh~Oji`LfBJr$_MMkFvIC~uNpceLB+GsX+|KbeRdF4;Zb#8EBV{2({XD)Dg?OJVb ++c*;b?q9)6(6w}Rm8M;^K +ScJL9TjTiIz4RF}VKr?m>F;_TuF1{Pfk?`Gm$Up1$dgy?xgkdUyId7>l;))%J}`VlauL^%!zpm*(_Bp0k5cIgdqryG`Gj4FPjG)(!0m?E8o^P& +lhtW4FGr&h+E>)<*cm!m2>m0CMQK{_6}U(Y)6Oqnzkc=R;^cczKR^^JjNR=hdNk7Y+HAotJpKHDv3*v +Qzj7KLRJ>!ZB|@;jAAD^`uh=!Vs`Hd0}rE729?B{jAB^Mn`_Dg*jX)4UCIjFFQ()(Ym=~G%1TUfr +o)i1IEHYxw{^}3l3NeFJ`C3`s?}#DpE1i6RHNeQ|Cjgn1sN61~aqarT6b$5+- +UORjn*QC*w3Y|=LYS!Y_7xpTEQw2orBZUm|vk~O&=@kJjKbgLkBFuShNGA0vZ63Ij)6DF=j4bewAP2u +Lt0?3*v2q|W|tk*ck3s=8l=b^K5wJM9Ws>NJ>0>?N5I+N%io@phkNVQRpnLGg{DGelB9JQSe+d|74s- +wW{R?W{jD8GF`HVoy0Euml`aaVNnC1hhC{^>ZJ{cohO0~cTvYj>&A8;R;oTZKmLw+R+$$n;%5=m+OyA +YgkwL7&DkTE9RiaG=7NrJUPUQ8`97n$=1bumjqSLvdu7*%%=N@4o +v+Gw1j(X1gTJQ^kHgGF67)xk|!=b4Ge*%BmTcR$6Z9NjA`h()kak(D=!RR9kvQzo-=rh=tGg+v^gtP| +ZYA3uJ~zG46DlrQ!VcE3D4Jd9m=13Z#Ss6VL;lpq0=bd_MSO6YW`LNFoD2M}qHR?4-m*^?*i@R8*JZb +%a`!PjEZTATnvm=WZiusL8~EsA3d<*q8o6X+kVKI{#b$e!Ygb{b)z8E^RDmirJR2%yk|d?*WAnSF3Fd`K93 +nj1YMiGma?*i9`_E;i)~nhKb&)(Q;BtWzu6ufZLZ-~*ik17c^hD(LlEWRP1dVA4zQ*uX$5v6_n7qzT_ +rCW1ZA5gKX2$VwBa(Tpq=8`s}+p1sF-1vwwPp*c7Un+oh{keA(70*cha2!erPoqrN|$!y7s1*oG@ShS +q)dz*vEG4VnLaT7C1V4+RB5IL2b)Pf+r!o*aG!t;%BJ+%m@MX+`@%(cKifhc*7E=4>hSe45g7<=@sai +o^YmE_|dFaXK~7t8^QMX~W;>x?Zmss>{YODxXE?`D2jpOB9WPq&d^!n}aTy-|o)D^bXHU{d7LgZUMI6ipCf;PYLyl2*mPG_ZMKxgEmwP3Y;tSM9)O&{4_yT+dZE3>wx8KosA!59HFuMir +(sajcJj|+Ww33i%Pk +N+0zav@GmcXx>gDi@c;q*^*6oGzAuZh#&i!!h-VR{M}A$(jN%A)2kIv%I+fZqOe{wo5Ad2To8lv49Y| +rQdJGwtjmHW=T>$~5`|fRnIicVuukOtW!r#9rOPZ_!_88wlzF^=(nBC{qFbQ7f2nX;_wMOa6=`RuH4n +x*o9-1Lg#}*OhRWi#>q3V_XQJ>TCQR7J~)TDE+67J*AMh=X-V|VV +Hbl?-A@jiUo4uswZlAC}aWJDsGdjvqR9-fxki18BN)#mH%6k*yU)Z#6-Gc?*~ORXz)ba1c$t2I;XXb( +&f9IV#W`T%0K5$fRZ@bS01;wng@fT}jRPcDkG4n?vDb35X!oe-4Q1cx@*0Yhn*!oE@rHMrbXU}YNWFi +UM;SI(W|NQKrL(4m+6!ox0lnEM>mdNsshEBv_4|L6tHQe@5tA3S>eaF7YchO6|c5hXGo)-7)JMcRa^X +(#TT5<(yt+a~jQxxy?|*G;8c=TQJSptgdWRCSp(Gb~I}ZQ&59O3dV3&Jbomea@gXuX0&@RKpqg +26o-coFGKfUgV2)DRh=51=C*`!5!^L-FuUd+;{W9RUKgvR^y$c(vR+d=9Z^4{is_4d>buYK-t!V6SJm +S?1$Sw0LhhcT~!!dyB4K9JH78GA7*OZu$#$5dKPm-R=C`00zSM`r%#zb>4P*Fwi6Iv*)L8U!EL6=oVQ +nzUx0&@r9f*1)>33B8mkt;n&o< +rKOuIL*%z)HRMH+gC;hT4;f!hfp_gltL4m@M~?f0>R&V8sHkNyQvO9KQH000080F$jzQO1-R1hN7E0Q +Us|02=@R0B~t=FJEbHbY*gGVQepTbZKmJFLiQkb1rasjZ|$<+b|IRo?me*ACf?@SoeihV$xKx4Q+H2q +LUCqk!i2QlVb+IdC*@UZt$^2>vjNI%WermIW&q(Ry!drbK6R&hYsQL=EqGw{c=A2nqSRlvy0j1C=#n +Z=1Bx}0_qUqd*y^C_zbS`$z?ECq()J+#1%ZC%c-#3E($C$Au(-m4m=1>APL^L)|n>!E`{R{J>+dLg#f +B4p2VQE1EGAg4URtsU2PQ1w8CgdCm&`jDO^H<8N5wzPwtr18#GDUmRE6C9;@j))K!7TTO(>&ibfbStz1R|pGTN0V-a@ +c?bl7W@D0TH1T`g7>73JMJfKb4S54;Zc4=~Sbzy8}Zgwtkd7W2nZ`(Ey{;pqfb3a%fY_%IUv+TOn3+`RlirZ`s+4+1X2Wb$fAfe(@adFMF0x62 +QNJdWi5!IzNUtm6rxDNfI(vSeQ0eXA9w9g|(D1%~$C8C}HOpXRmI5o3ZP+*Eh4*?E3s>#x76KUYLE@zkU)1#k({85r?4{K?C%@v>l(i*)I+Pkc|FuE&HD7p*(-4rmI+KFzcQwH +PC&O5xdVo@uOUdOw?!FMaTYJ5lcobY|#_W1@mp7o-Djr2>XwiO@lH{!lS*B^up58JOHM^C#^S#sCLVc +0Qi*!X@#^jEli6|cBK{gB@qf%pv^NbO`HfOl*k!!uGD7{3&DBc15wu~&Iu?3a+#(24A`YD-61UM`rDT +DX3HnuL5u`T5Ry`~H3F9xojH-Kyo^hY>SF%%JFKF_KQS8LS_~A9tV-3rq>&-pKpaZtI27VocGJ9*@+j +0Bxv1@!}!RbKx9daG=CoJ`7IB8~PHn-k@3BFSEal)M;xZvfNsUB-3GUx6$|L|EcmzQ!keLY%2_kk?e4 +l$Yr@52P5XSRDL2g5E`sZQRBT_Z8+A=7Hng&xVWg++nZ;TCmEzclvq?BJbC=X9F?Y$1WMe*G3{|-g2o(gj#GO2Xt6`%0=bj{LRc-V_V=IC^ +6IMM;o?KW{%17)#VR9+@Y8cP@;%qMTUcl453^*)M3<0LrY{s3ep7kuvrS-f1YFB1^Vi$G7f8pH!zQ7U +@e`TBX6N2@xF>Ph7VmMSGDs&%p92yS~NMImFVDbyD>J+x-SZLAd~ +MDf#0qklY1efS^?_Q{OccO-e(hk)%?8MCgN0l$Y*MIl2cISd@vVi0tW-NB&nT)h%x3GR}V8oRi6AdVP +_xtpQ~xd?O(_stBSP*l8DNDww9G0OHZaR|tEaYzreJ~-Q#haGx1u@TZ$XhJ`yFgS#o3yLhyy^00NVSI^a!!@fJhHzI! ++r4Yw9W;hM5P8%XA9EAkSfMi3wJB-k(J!_m_uno)^gGfi{zfc9=ey|KtZ)w6K>r%;wNdX+u_RJEO!(Q +ZaL+B$-oSj|Tz@dLeMMMaGG9tRkfAuAo0JCQa4Ym4F_F9p)t=FzgVlkhasB@Qo(fw0Xx7p8lu74HoJ? +PPvi6Hl_irF{iiN?FsANi;eG|NDjwItIi##4Q7mSdY=W&WYGq;6~UJdN*LO(D!3l+X=ul#*k(hI+}E2 +!YK~{W<6#*qj~0UZAC-T|NnzLwN@*Sa@}ciL!gxCU@eypO#_Zra$`7iUjaCDs4p7P3QwZ&gzND1 +CiyHF!LcIZ+rvZeyx^An;&!X3RfxdY|yRJ#wee^&e~z5fGHO9KQH000080F$jzQ3%%z1SJUo0EZj^02 +}}S0B~t=FJEbHbY*gGVQepTbZKmJFL!8VWo#~Rd8JwFZ`(Ey|L(tnb1*~#9JR@(AwvpuUD^d}(xU4FT +@VPgMB8j+Nf4>HUXcHNcgKfB*^blAXc3FzJ$U!K7d;-2|7z>HYBZa*Wu|3SDmJScwyK(2SIGXZ +gecfd7D6SX@pwEM&6;Y-(sb79wh?K{lD>wr)S@YQk%;e^sEt`I)h8ezi;MgV+I1ThooAPpnZ6X7=UnsMqFVm@>J4~iwq^Nr#NgBO(o!hJ=iV2W=CRuq%0b;G>|Q3gsTQ9g~OI|CsbnkMJRXG~72N_*4Fcq6tjuvKQU2E`diKLb3j~98EJkEeweW7S_^eEVek;MqZjO|Duv$<*ab5LhlZUXDNej#Co= +A+U_+923V?09hmltu?3_ActNt!^opKm=?xk+l-A?>80@73Yn9hMjlI0l~J43ii@Qe5zy(7+>267|7PK +1IE*vodl6r~2o3OovL3(W-WrVNV9RU-jSteVjiVlxS~Ni`x_g8kUh^4B=IOE3gDv@*O$BRBFd)14YrOzFo+Ld+Uj)l40p3A`FEM+S;P^X%z9ltr367VUfWQ^SS|xI1h%4Y--Q +#CN1w|(8;{vpU+Fn-Bt3Yi6eKHQjUMYCTc(LMZg{q1Y7xNxB3dBzzUmyL_={#$TA|(r*^(uLUD_sPnT +^4oO%hM&QE~Jje&&CsWY(asaja(G??mFOi0}LC%a~qO@qc$VB2Sl&MAXwcupTfcb*pk4WoO=Lr3m^wm +%kmCdtla1`=_ef%^=L;CZ{(4_E#TZ?`3#KIOB{yGrt@umTBoU_Idfk+=bd%65DM`(k!dpj85JR`o=J0 +$#Qh^VjM5i%KPC`uw{+t&%=vfS@Jv&ZK|^8UGF=pa+_nbZo`go~t)Nj5LIbF|k{R)WtWoB?$(7A?AIL +C@_z*yC;3SwMk5C+B%LdL{HEVEPZUo{XbN1zr^YgdfL}5D-fY_xZU%Qcc>Q*=N;}H0s&ez)>iO+YQ>` +pWa4dkfo^PstS8p5A~?*D;o3(ssJvfDJPmJpG0Dj_YbBdc{#Gc1g|Qsa(f(YMXIrszEpg03e5H||14R ++XB|68ygnBMw%ke!f&Nnju(C-vR$N%nh}S(sI?7`GmbVcHb)7yK0tKLY0TQm;F89QLhkp2RQUmhh(ak +5&%{Xnn59Ip(;Uoe`W%qor2O>ccE-Wb(oB=pWk#P*ch-^f2}i|g{gL%(O1!a%Nb6l5|~{~jXvzGbr{> +CY|ri)?S1N;xdfjiaLT2#~8gr}L?tf|?2;3x@WSK?-U+lJO7yO}4k6U&S7t{{*+cE^N#> +t=t#A5BJOj`vhmO8mLb$M!HnJMVcP(L&!#AwpbPQ7NRbBM`LJ6jc(q^Nt^m!zmm-K;WhWHaH4q6W>_L +2r_$aGi@%G%y!uRnxS!srY}2wMkaEVJVfOxf(4n=`q4e_@OPeT#9aY4MY8^YVsqEm{MNUA%gBxt2@Y4`YXb@-+0(kT)M>j!Re*~puuVeamJidYujKWp{O9{YFn5L#{TyU< +bz~WOk-@XIdW(CKe?65+Z{B1Xm;}8k-#}1G2V}-(42CE*RKt0xP2Ou780@Tph0jw7#p@czqvgZn6SD_ +H$ppPKf0R^8RUJH?%%TyN8WHnve%hk9`Q$`+*!2YfY2P|R3&yGz8%w7NC__yG9SVzPRf$c#aD$ +JX$rpTG{>~@7+=~2)Fv6ZmgvbJf!IK`UDIV2u4B?ei?Xd1=lcDOSunmYu!YX@z!)LplEU|SsbnsQmfO +pzpsZ^+-!tw9LuiPNRuBcqU`&qm~b0<~4w;il92dK@qx-?%~+P{8Diw{ZIrW6lEGUD6A=TbOjcbze$? +<5V4O1HCf|nlW1PIwDhAV%v2cCWmnx;Qli&T7&ofio2dW(02fKD=&6P*xzsuATfZ!mMcz7c&6($mqS= +m0n;Tlf>5Lj%yU@YX-sgUA^i*>Vlo-zCbgiP-iR4qRp<(+ph+lTLJ3LeM)(lM4~VsISjPo6XvBsuuoz +T`d=5~+T|L31O(c>zJ4v2niVuE`BR3!xCQbI8LB_oX(9w#T3VG`ix6gZq55g +6cLbt4o+wP75dDZ0e7z#xng3^dR!r+ySMKP*wz#h-G>Kn5Y*EjOQ5t=@N|hsS)}Cm0lTOBmkw`9Q;I; +RW0LVF1>Dc#u3)Lqps@#Hau!-=Xg`-fKDQk3&{qA^_1~{DeR=4LJrPT{QT>=(hwEh(&k6t*7gbW`6WY +5H#S*@JNRj9eC)%g0oVrpu`ML`Ll`-Cn4o-T_-(V{{>J>0|XQR000O8ldVxvU+%$CO#uJ^X#xNM9RL6 +TaA|NaUukZ1WpZv|Y%g|Wb1z?CX>MtBUtcb8d38}uPXaLzz3;D>goBviMiWn72`Djc45*2xrE~|Vw4G +%-CE~AlTregQdTRPU=Dki2MxQMu1Owg$C)hwj0a}9fCM8T@Vgt(@tvHGa5`i_|BPXCN$u+3lq6e}@*x +3ZFu^Y2OXeeF?L{vW^aG@m@Xb@Xu<(dfd*0p8rq98}(OV!Rx_36K;kzi7?W3)oN?-Cpw)SpT8S#1}4c +zS<+uZIt#;bT30t*S|N55er!C5iL?|MVqO(3(FfQ(jyhla`mtpBxxktb+qJ*=u#xGOk?GjDW_j;cYkr +7rU}=HqCO|$!PJRk;>vY=cHJFAo3!8vpqUqLh|BsY$V4j2Xm%g +`?9)?!^Y1nq#rFbG;YSwtyPB`GKFuiqUh$&z2%eyP7$BJcINJ7_HU4!<_Ri;%1T +LZIDn=KSf;G(I4HAdpT)XbA&>st%i?1I(1W_QgB=>(a&YPH`rP+S#Ix|=_Qaxj~f*3^visKYsvbz`h& +V(pA-J@EKGn|15TY&IBD|7u)kp^;6-x1bASGbbN23eRP&RZ6aVn~kszm~bpE^YA{_#~i?Fp|aLX<+57 +3yw}AX8YOn9TlR`TOI)ANlQ@*SCN1`ww?_Z}0v*uZb +zSeV)GJ-f&zyrLfIiwgu~?(Yevy8r3WQ7gulN>Vlyp0$-j8A50Czw&iS}swZ3|*OS542u#FL5;4|tKu4BcQ)Ixl1gOEf37L26l*`R!=HfUWSNl5HD$Bb4xrU42hgwj~n?0jW3`}L> +nm+a?}{5@=>!(uYkuyu=P$}nv_gU80ib16Egm^TzusBO$H8_ZxkVi|?^HXR>hgr;@icxlCkxC*hlGa5 +!&(r>JhP2@9dJYP|MfZFy9B>O;PMDWybsp=nKNxd%^;^hlkbLsw$?*I-m<|LSOBou{NpI|qc$zlQ4`EA>1voEt@IM4{( +k|7F*fePMl4OM_4a;N)f4R_If=qh6G^~Z(tKGPC#%07#h&FbDOM7z%Ws3B=-<=J+m_UG(n|R9cOc9oJ +vWf2aXp7oo->pH)wz}uwbmDN#&S?^JNDc}#@tYyNhSJaXE=EVM1fN%2!$VhT0{hs=ca(h0XvgIzTiwN +kKpceEZKV4EBOhiGnR1$ba$774&U!%&9Ntim8A>V!!p|{my7!p<^<;wU{J_cs{aR08qeMCu@R2XsTO +wbJ!=aKGCzJC53cSTVk%^filM(Ds|=es~oldBaIm}e(bn{XBKB)(^O`B+aaQDJ8UugURs){P~X3A?1% +!%OHyRNp|I(#EkH6(im!C_2oVH1hQ!XPQ_Ly9s{?gO$y +Q#d=eZWG78>qAsE>Q?keu*X)3|_P+#ge)^CZ1P}an=y!ex_#aP*MUWdagh|Puw(o+G2V2V)d1f5l +r%qgQ_ezd~QY8w2>KU79WLZ=1QY-O00;n+tx-`dy>gBG5C8z7HUIz^0001RX>c!JX>N37a&BR4FLq;dFK20VE^v9ZTWxdWwh{jB +UxC`qkm^bFxk)>%JMQ#)=R13vUT%C&+K$iVKqMrwrbq< +P=`79R;b@7&$N*o<6WW8o-YUZRVE7qG@YR2cPE*mXU^ZV$?J}>L#5?FFSYn5!cUb&yr5!@7;B;ATCuO +$q~9ym@)wnD0+uG|_ME|p+hnJ=k*J0zfr&k1fEs=w(y#eTovCvQ?3b6c{-?S2gpES;SFT +^9PY;hKa-Tv{-M_ypV3zE&P5{NRjDU?jM=9-=Oi?Nq_yvhkvB6uP$HzCB6Cf{rl_p@5W|sGv&0L)s>c +Y>E_2r3_dqtw_3cf_1n6sa+1}QUVLXJy*87~vqe$mB%D;&sS>)`q_`xgX;Y`NuC*BkYfg_QV4;f6BnPT6gLvaSf0w_Fx{UIGhb3}gojA<@`&gq*_SVAH0V +|6)Gma(i{4$|rf;rqkW>8nw{LF#lHT52UPgvdP!w-UopQMZAK9Xqt}b7_iH_*)pOogh$ksxy>fDWIU? +J(81Ny=QoTy^>V%6fQ_YR)kAGNaz1#w~BXxuf;1Qlctb)#b?%Ec5-bP5BN_9&g81B!DND=nuC{+Y1ZA +IWaoA?cJMvD)J71w(3R#E6Tj_bPT^8N+{*NlO4ApsKY`B!TZ858jSU`0Gui^W-qT6 +&*d+&&OW+bTPD=rQ^BPQaob(BUxB~AqU$R=lm$~Fsw)z9x36|GYq=8j*iy8=m1(+ouB|-8Yk-5ltV>Y +2JiBlw*Q8r^z7ogGGa*)h)ic%>|O>3DNLSQ5WJ%Kn{vwu=ttAKw1mf*W%QP}B}`PpqxWrgHH-zKiV3=svJ;`!oT6mRcdg#NJXptL*68Z+E4r! +twVB#g8};1*+f>r6}^03qpWEEg_Hk5>%-QHRr98QEtWjn+kj%7h?hIQ2k%)!!V8hmx{V!^j7U97qU2v-fpIHUk_9}T+?{`UKd^`(Rdtgl7GWv +OjR33#1#3WYR;npP)QqF7JbfJ>AGhCc%yK@YnAubG#P<;V&=e5fL2&4a;9AZ=)P6m$%OaaeU|f7Iv@!t<@onjfgBTYHW7qI3&&gJ%w8 +z=^jI2Z9FOQV<1%wCW$FPHetWoeT7wimhLTSNsG`X{1|IWY$aMr^hOGGuBjl={R7louj@ui^WIu}xQv +cX6Q)^Qj4BEh&j`yT(Lu-Z8bh-K4YY6hAOTsUwbq&bCcXvx$1AvFetn@|_=*_2JDEZgN5&Mu~-sI-7Z +%xd8Nve?Ad^zZ|ULFsz15W#PCx&rB_(`Ygp24MstLT~8(QQz><j-{s8|_=%o +pikC!@^a6PzC3^rSP@te?Q{p8{)D(V2Brhsjvt8V`W*g1js|4ymE0BR0+!#ul?bjC!#&rT9n+s~D_yH +j5;@Ak`c!CwAtFc1rgy~I%6>#iEB&OVh?OdR^hT{(!5Pt3=muk&`2l1I~lGDG&K4)Oxivpj!{oGFnRM +5}@eu5EC!C4Sh3C!Bi`Z$_lJ%E9<0^LtBuo}Dq%ijT32I#Ef#t!XaG!fRzuXT41}Nni-TAns8CDvQXONs6`PkzG}G- +E$SfD0938&orNjP)(xCc65d61YGU-e72ygSVA%Km1p?s@KekU6AlkC1C_xLM$iz;3r{bQQ4fcT_Q1{e +g8cuR)NHETF{2ebFF~Y2o@pYAzO)f~NHDudWj#(rziP#RscUdg_%fIVztv!HI~o?HUcf?O-W+$!2AL<00_h;OqBo5Ol$f-7D;sf`yya~&2r_0e) +hmyI5Jd30+=>>6d=R42(@XN75s& +evI{deBw)3=MJFLZH`zJh`^=!R8xATK)REo#_7&KV7cVUO9WL;~r05B&_4^IJY^b*iDy1gYp*e~56x) +`f4J9@@r +7jarLf62>~WX|V`5nvW+%sQikwJc>oyFA+1U;kI2IA1et?*lVb; +mLg0@Y@Q5=<0^3k7T6JS;1z2InET$;dD2Dn_VV`iRZ0bqUx+-PkFiP{Nizz%&f5I={p)9mz{sswMq{Kr+Mu0-qi!gClVs98m)L!-&J=!DbCY?yri4DEXN$<}#lyFGy! +j1I<6TY$GFGK%5DaE71B=+l8gI;O^IIQ)nb^BULX?zI<b1=}|6N9fqxYA>| +00MHyrXQ(tSdG^qyaM7@U@faQo%2U+cs1!rR%;8^;9<@e@19(_b>0yrm`l +I@Jp5V=Z|F7Ur*jqX|G5KXiiJUz|Hf>Hi&$XScprmoG?;k%+*dH%?=M&Lc^84gvKOa7^3t~$EyEv{DP +hEDHy6;Zm9`8=x^)gy?F`yZZ_nrnPN>9)mrD951O2;p}!Zm?~p#_j=ijomK +ChID~q3l(C#?+ADzVDPAsel8U@VE-mqB?O)RU~7||Q6)Wg48v4WWuh&z@lI7o#ybvkNwqzHBDN*AO<< ++k-LeF4c->ZG +GPg;q3Mt}fm@8Lo*#OEru9Q2I6TcN1>=j#-`03eKzx~b2mtI;$`<%k +IHCWh`nWJ~8Z6yH3Lh>cu-=r(G2ET(7d4vWc;9Ve~+o3(jDk?~yd6_D()D^{0T<7k5h8HWyNlN3kc>Q +1!mY0>-5rp}dR}ayBF&GivTgMRhYovy@NDB|EXh?N8CC@}0efos3104C>1>?hCCgyebjpMj4UAvcofF +~g#vZHiUHk54`0V6`h(TixpUa+%~WzDd=^KR}vjP#fpY}9gh*UdP;e+H|M9XLej#^z2Sh4j!0>=_nW$ +hkjkT#B6{@Y1n&B^ehPNS0@SrKinMpE=iGv#^BkS8WfrIF=YVCjJVk9T((|ZK* +hZW7CM4=ZEA#Yb&#RozjT`#v3!8gawjk@&d@o3(%hLSYwnz)W`Y`#H`(*S5~MO)z>jP!nj^;E{_>Ln9 +O56J}{9ne>wLOa=)DLfoKRfFe;%Y!GAAS1e7B1E?*bPbVuD+Wc*VL^2pU8V~TUYMs)MVr5K>btf3W~- +C#PkBbqJ97a+Dn2&%mC?9z0id!jO#1kR!o(3mn~-$j)&0%K@qn}TbL>L?(p-E+ntTg9$Kjqft9vs?7#W3a`qv8fsCebjxL~bZW$7isqT1EK_nVHZ{|R>v%ob%(Y}?${#acTcKnp@- +xeq;5C!^jJ#=9w_0V~m={_reM&)NMQPGXm@Fs&r|XjKY0YeLUcxl1+N%z775l(x=C?jCXL(iAT<9S67 +T$jmnrBw&{S#vQ8spgty?S^1jxJxmSpGrp{<^vO{pPpxl8r7q6VWAV6@{@=0^7`_Tdobj3BX&e${?7G +2>kx`b4x!rb7N~Ea~kv-Zkw8-W~zCus8-7QWuSUCngSWtCyc-Lnm#8uFGZen`IbN0b28_hxZ~T`o-3o +#2Bzifr!JIbGlY{(J6cDsBsvdjt8JfWLIb42MWBFV{1GE@O!2i~yk`(JO-0;+iDJ>RA-BDVhIBZou_!<#;@P;WWDP^K#>0G +6Hh}D-;fbYGRdp%(<~bx-GlCK|`l)Cu}iHsN@6Cb20W-kEetg5)!aC*M$KbN*h_T>_ZY(q)2P$+XDR? +9Si72hKx@Jv-rE8Fr5`*ivbMQKFmnA%NK(k27=Qb>NU4nK_%a{XruSeni;{6DNp6kfPEG*|2PDwt1Wp +z!bo!p3EfU4({8!Xn^efP8oE4L0;#b^6&v!*JTn-yXQpLh_@VWKfoS*PL|lavbbZ>-_tqRmAuhs6n`e ++7^SM+_oipp-K2BO7o#H3d4NMy9K2Uc6oJ*+bbm$X?-bFF;qzktJ_GZPmjx`h^f2KmLm2vz_|A7`D@j +E&I+VbV9iq0lIJe_2GET?yDw{-8f?mgm))%#(VdAU?`mM4)d(^HG!EJ-G4pR06$5Nk^7;|6mXl&7JXO +MX>z8EXc~-NdE6f2UYbua8o--Eyae-%-@*48BzgVDbrQ271UKpp)EmIuO}hO+V7O14I6I~>OODIM +Wa(NosccJy{?v)9qRXmlmsy@4u+i+GgmgwjpLP&{DtFX`7=8ttpDutw_pIZ2#BQ(u+p_z}qWekRlx6G +GLu}XojK}9=@!T~OCyrw5%b{roP?D@P{fQBwf+r#59&|)!OVs@YI{lsJCK~VZCk@H-a9obMZBl?*)KT +(6r-oZmVJI#tX-~prc-;54Mg65)bJ$F{+->){1jkljqjeUH_}stq+Ob9Gjhs8HNmekq;ZRISP)TG{tv +K)svXn`JjUy)JNzIUd8tzY>IhXN=iU0z}A3Au>m%yXNzo6h#px}ATTbK@ay@=Jv1{$6!7Wq=#dYA;{n +iXr|B}u_d;h`cwd_RX}nq|;wcRC9G$a0>E3b00Z;D&brNQx@I8c3;f{^`q@e2l6y;R#fM^JtZ@ROA%U +Wo=UW!i9(95YeB?9oqv$#x&62BcAOI#E@Lc3EmB%pvQQ$HnmsjC&LRj&AjVpzc8$rka%Rci&ccPkvO9QGhMa+w0S>T=S6iFjy+ZblfkGD)|~L7j?s4-& +B6b(w>HsK49vs*Wgi@$!38&Bb&MCCsZh7jhT^CrndA&(*aGGsJY7p3>8)h>?TALx7xTFn+#`)0aXw2; +XtH6@~M77WyQ*X3%`)6i!k9vFU7s;jzsfmOuu6D(!%YQ<-N>A4yt;&M2IC{cy +5D%kGu9Z6%Rv-1vMpH5RwW-tp*n@@pkZmvKln;@G9CwQyc-LAl}cBRz&h1FIVSJ*dpVin2MqiiqWMM` +8`ESu`VUY`0|XQR000O8ldVxv&D-tE4G#bSZ!iD=9{>OVaA|NaUukZ1WpZv|Y%g|Wb1!psVs>S6b7^m +GE^v9}T6>S&wh{k-KLvXSLz2BK@14)~dEs;F7w|G&o;np2Xc%Pp^p5?k$Rb_s$GSiF)kXZBn +2>4+gxV$eH2rH&5!AU9JUN=1G!o<7~ykJWWMbF}cp`Bw{y$l_JeIB4Qi{^Hi`RkKuisu?iQ~Rb2{ya? +H|Qv0JbxmK;gV>a5xoBAP{FDKFmeM2g8|S>`DV0<|UxSezDlSuuVi^Q5jspq?iaJ)Y#N6^LXWb7_8+h +E@?5egM*lGUJI~S8*bJy~+@evk0~m!07%ZX)HrC-<>e{gKZQE-vtG))>9gZWf0~W2rATS9#-*2sCQ*r +l|ui9b#WE&x>^UwFUUldYLZE{v5pj@!h+ +(@BTElauZ5_BT5tG^vxKk$ +wmPt7jHW-zmKa5HgL0U+Q#EczH(OX6&q6PNL|ALV^`5u}1#CI! +e1HWuSE4Njk!UP@f55PbrU8WWdBg#XyR@c6rNHO&IeKs9Dt*(r8HxHGgyiu56p157U6APSL&67$5cpo +;S!N4(Rv`|+WcHsRbl^@%^a8xk|LEqlC-I))_J7F5KHa00v<&HD2ZTElwuj*xnUxw%mJjgE*^&+EtdrJ~Am7@;Qt-Mp{w?7Ed;pg*^bxWG49f=7I(3%q}x*Vh8sU- +Z{Gg(yVna7lef69GW%+;5+?nv0p1nB5;!`L9R&>#g6Kn)>)g;Dyh&eJ9Ay_54UUH5sTrCLd%&EB4hb# +!Mi5@h95xK^y1GoXCiFT0Py6J90hX2A#?@Mh^&8Ppv4Ud;u_SpULJfA#C~7l#8y76DIz%jlgSENlu~n +kiH+wVXGd8c%fdI^kas*}iI!DlcagPJIT*s0DJj*hU1fwKN(sqyzL;EaKIw4l&n6?!l0Dv7HaI2e`^Jb9O64F|GuipLRsHj!V`B#J)Dtk@0%|*b((kXVO3U@r+L|I~1#snKr&2AiDAC7;_Tv(ypvZ +kIi1FROAYtrcHi=PuJ5X{9jv(*Lel;&uGIO6kkFvp>lh4kf>Q50F;gw4?Pu0z1o335c>GX3x{DY +SzCuZcZTB>7{Q7u}ct{N;V4=ym#Xbj4kHcPH;I%YqgqhsbdtqQIOKyR0QHnA~T*51_Sn7z%w+$H2I+q +EcFppbc8h5|}0v|g^`v)Q^?7IVSdZ%!Z-oLAJPCwwsGPT%0l1(0 +8d6pHA8tBuYzXv#W0!Lt|8?b3+SEfz%0WYRhVF)j?J?seNx4=zOD1u=)YKU31Z8GL~rkEF9Ee +$6Uji9i7@a_Tdz7Frp3QU7m@7)r{s^&1qfD4^;_+b^FX|q(&5Xp)jFb)rR +1qe^BM=>#~H{+IlCQeIlUxnQe>R&t6zHbBz?kn-h +LOaXfWucbaKLpwW*_h7;YX;5y)GsrkdvvCnEvYEP2$;r~!Bswg6ggboC6P99bV# +YA7u_892zuV=ve{|NBGvPsdkp-23;b29R!F=}LzrgTE^Cx^PcC9M{ShMJ{9VR*;45)o< +D?Ra#C_%T`~_C$|bFuCy>zvh3vyRk<5;^aFz#nS;FnKnsWBO`<2aLOUoR37Sel8CoXLwQ$%V2J{hnHz +MSarLa#}kYKL<376goq+Qk!@mCy+4v5R7;nu(VBgB3dVB%OUWI|Orkh1`5egn}6(>n@1H6#{Rx0a=OG +$vRhMXf8Q0^Dg)(E*rr2u#n&-wchAf*8Z{3~*F{njqT%J?%(DRnO=K6vVM|L+SUgwE#~!+#sM{*Xf`c +(+VC3?v;bO#0J@HhQ`zei0dzjT?)2i-Be?5Fyb|^9Ep7jy`!=nhIFs*+hQ9z4(N5Ak_vDAm^OsEDGX3 +XjL%c-7ua4N-!1y~*w+2hJ78RD=6n$I4buamo$eE`CmzI605IS>SB?M=Q);nx`v5PKE#FCqkFrixJk$ +0owH=V-v5Rsoi@tj?d;`!rFb!NOk|k9Q_I<_$s%WhExykc{svF92EcNvWpe^B)Uj5dabg}0;#R}~xo< +CgI8<|*=QiCKF=?xeb{4%y2awvFJ+A2UpFlZc~j)h@eVq$1f`h*_p(;g9+*rm +5GO7tBffPp#Nk7XL1ZDJJF%U*lTbxJ62&Wk9DBQb0JNY&Efi8eNa!^h_CS6o>5bfs`dbAY07-xzqa5$ +tkjXL=Qp76TA+}NxA+lY#-L%fBpRMJa{p2baLg8Bdx{4KiEf`$Z?=`K(SAc~p%A@bFO}A)%?BX^JvY+ +B9-lPC4Hdg5)Jw@eeR4fG<+!^*F+q2YIdubt=6tBNhQ*O@35FSlTrfx>bV0vhZZTrj3**{>j{b#N6`a{Ot7E>ABaL%CH4WmtYZlBW~E~V|F?}c{XJyXN%MM;?XmRQS9#gN$ +})s#tUFMi+H(>vy-R(+@Bxf`qV!;L#~g{PEQ`q_jCP@m+bT$xt>qi{CsitY;p3);#!0=NNDT3*($3K? +()>1&pssa?FYyiT>ayr8b8E+r@7;vA1%(#7LT7;+|xKLbD1xz8EiVrxAKX9+7Q#s^}UhqJGC-7{fXEC +L*ujqHTG2WYvt9!xgZHUi>r%n9lSDHKYm9cikLE+p%yniCE-+< +=ZxwlibW+)Z<&?-YsdOQ4U^BB4W*xrUr2MlR)t-HeH^!M;q);-&AbXRYeV^jt!pg@JNo?vCW1Lq +<#200=2GTP*gs~{HXu(OSm#5BqOf7~P9F$`j$UOLP;j@ge8MUC1_v;!J^!{dbCB*O2_f4d~XjkXMjB` +1$k;QdZsOE`U3w1L~3_NYX;YE(i6i4_Fa5){wlN|iU`ml6GaS!Uh|_%v}4n0rZ6FG;Y;_V^As_8Pc$m +3P>n#@g7eF_}V9T})A8hVTdKG-jCuRhxv{uu?5yDwHggU#hT6AO;#f^XA?DFy#pM4$s5A?X{~Y +V(?UHLx0rJT-oD=wIXHa`DpZz(B!3{B^?c8=_~nCfMdqXO5B~tnEC`3-L1HBnTqa+BFzMy^J&y`!&iu(c3pD%K +n3wkI)Ni>9$>nVY%DHPL|XahsL;DhHDZ*HI$rOJ!T4d*saS;kR7P2PxevE4meEzu0t#Ukmka81{Ttq+ +!;YKi&o)QlNeygppro*eb*?Dj3Jh%^0<_8lltPGwBm&kXs8$abwDEfXEh7IO_T-69XHWVn1bd1ba=YaYwK_<2u=&GgFN7ol1 +-u{Sjh<>D{ztg4fK06!JFRajDW3;m+=M{nh@rro3CtH|ydsrZUzxij_bYIvX54*T|>l|8nzUZ*q4=1s +``|H1X;D-*I4rN5FFF9b9HT-u^_si6yB>B8r_NZcTz`sc?D%bm8P>Yh}_fgA#qLB%Hpj?U-xYSO+(VP +4WP)h>@6aWAK2mq6V?0Z*FvQZ) +`4bdA&VrbK5qy-~B6aoyir|$jqj@Gdts{yXiVZGw;+c&2D5>)Qz2b_x3t +#q^`RLx{O+-TD?oR^^MeN*OaAN_TBPEOOb2Ak2Cu1&!VbUHdS7x^4&`ATEK|5eUl>rpTFnDdA;2N`WE +#2MWtInVvbFpH%;B}ixRO%TDs|X4^JW9>jqII)rCkH +`~0;R*dp2Z>|kY+x)GxkG&_};_I&6b!{dcQ5tz8^KvlQ0ifFb&co{u|9bVW?EL%Z=l_@e^z+M?FJ68( +-4jsJFXURbh?-2VHgXHhrq+?6PIE{aCEW{7_4kuZNZ>l}Dn7jG!VwCSyQOFACINWDUQX@Fu0N#(N?>Ak$c~PxvamLVI*fm +@L>tDJh(a+1HqoXVXSpx-hCN5?-D?P(!%;fOM$UzDS{|7xwvaAB>$+9^#E96=zjg(06;hZu40MRW^MM +8+VAc@1JUCzbH*J4@MB{f4Wh<|^QpaCniFkC=3o)T?|ai@AMEbPmZXudg$|FAz +8|ODU*uBm}-o{DyNw$6ukx?EQzQ?>{_%vCiIqn5C@mh6EVSq`zx)E)*UjD^n4iy&d` +^N+h9OqOBfZ?R?pbY%g`+Xc32Gc8qn=P-a{JqYn8WK7FaqQ5UEAcDtZr0OSCh?+nqsj8RdwliuHR<7f +K^>cJvoL|m=~a)On*=m**XWx6d5e;>#V +XFYb_~DX)VILf;Tn(?d2H*X0FqYlBH{-nKuKOe+w2|8I9Py<^i{o+mGdJQ^7Fa^m*2PMqF$ncAznggy +Q+{)xkq0F>iMV*cxZ>)phkiJ`e*b08;}mWr7()}=w|W2&(l>|YiWqh +e!X~Z-FplM;Mu7^2eYCs}EbA}kk&oTM_;-N;V1U8WGaU$YXg_U#6+@uj0Pc7oASh-3JM=|jwz_F? +>zc+JyB<^{G&<^css-6&sG;AaV~-wuJnKWT$d?-DnL!$t}Q10ukLnm-b=e^)ajtBj4;Aaums)Ie>wvQ +Qx1<=$I%pjT+52`Ni&bJZF!)(T8Uxj(%ZrhJ@O-aN7|vQ1ua&;sjC!U>(`6v#cpXNX83WlYg}PQHQ6& +2u^=MnpB?bce)(7_A!WK_HaOw_0p+h|6a!s6=SPmc?k9!61ft#9p?c!rAI;K*ymFZ!CTQBx$BI^kBws +S*eU)AjS2Wcrd?!4{v*?R`ZOZLT3GgNzp&E@)=_EJ1w$e*heNx(JP6XvF&ur|_S +c4Z3dR>MgT6JTf>RHuIiU +3}!_YD#SGcL`HYw{BrCAoDe>N3>kc&3i_145#(L(sFjQP-ITm +x5&e>X{525IiGgN2OsL3f65u6waGDi +2{M7?V&?@BhEDc?dMGf!c7tIMYvktmh;zV`sNUvH1#Kcm{=DwWf{++spTw+>!O#gvz-$4Km~uTH53>W +$yK4I$O6vLXSoH+tJfv(I$5%&vv}jU^NzYS@9@q0x#=&(p4=n9~pYd;09zmE_Kr#({jY0X#y8RaUlod +knbeYL^(9r8}!vYK3M~)~o3b^}u1rfRKK$b9XjZyuH-pQ3(s}=gAN}I4qaYl9lh^~RCeKr6(Fe3Q9sC +hP%UZ6Z~1sI0$kB-_OzkKYp<5ujmvB6RZNQ9=-DIIV|YZCC`kQMri2w +acjd#N>EeSk)AqI#$fHkJM23SOT)3ffYj104c@vRVIzPZ-on4(V~ZGgXTOFGmJM*-#^#U63``K&V=s` +m2G|P+h>O=`Wn~f%(f#s~7dU*d~9Pn+&u`qxA;&A+A+R`xDpr@AAJ +5{?TjRw9q%z>@s3J53*HYnH~Tc5l-2NEyPAW07R6oDS6iyaeI?Ds)jgeu-om8#Ezol27jYC?X=XuTP= +7#h)2vc5Khg6b8j4zPx<;xe3||={mVl9IsLOJYN;^}#&}rJVCyEoMwQ{q2*_*RwoT$s4R{LL1LC|5m} +y{b`@`Vs4itLgxPW#3Jnd;Q59kAkzKcF~b28NSKHK)ZmG&b}8W`Mw2I%il-?S+)?L*Pj=r<&T`6(}^F +)1}My$M$CGkt8i7Y2MA^bjYSXBgtKA7GYvIca3w_T9(A;R&Q?d&cb!!8OQ&@`#qJ>;gxO73@`d)}t}< +YLxV<)UoBnoZ_+c8>_O(HAxMO1;T=Oo(-g95XsHXIhMAt&_3Zq+&+aNQnz*N55ep4r^dEKRFixQd24{ +R;N6AodWl)nQYZ5mw6uqj%&dYl+nEO8rw(4;7VHt+RRa`zd)@(#tsxwtH0RCbL+dGIIb0L1$AQ7F2f> +;FcVP*MfhQ7oj$rCt#wnqWIA^2ygAE!kDW^D9D~iX-^5!i~i4GN|Q=CuKk{P~MH?nd;eB2h}2D+6JvX +g;4d2h$)>{ZXu6@qY@5=m!%e{$s962hcd$UH_S`hmjn@q?C6Rh>M*bI&BO&lVHqgsF#`OcwGV^WA7nZ +ycK$@WFRG*D=&x^uS(*%RU-Py5B46L%PfbejbSPOr>aUeC)--L9)-ng1wI|+XdI@!p%CYW +S;Pj!QQX?}fK;>-=u(52uETH+w|ZOcjlr27&{CX{t*)hRId5o^4dfo+O9GDGV2v0IR@ss)9!aG#rG}Q +nFff!_RPstI#wQF@SbY@4?~(sU{IAzS>J-)8G8XC5@9i>0_x}pFaVvsFvN>Z0$9TM#7sKloe +S$;^$&;%!$%Lu?LnC|^{rq~t$W15m+Ge!=U#N+d?@g;T-uJR)+iE6)AZ6z@xrU}FckyngH!ZD&&iv_J +Qrp_@$azk#?&Ttl?IBNA?`8tATM&Cgwj*O@>W8$QuKVrdML|_g380NWQ_}`*t_C_D|~#2_4?wu2{ya+ +YA2BXu@WsW{R+VFu3_%+mDOl7ZL7clC>*&$TScOqhqYuefDC`K#k5PaT%1Cf-?SQI$z=Ba!)c#;=)JD +_0ZgLA`n6b$z>ji%0vCNE9c6c&?B>HF*mU9)!>%Ull@9yct*3tDf;XNfIz{m2bkrmY`~pLp?6ADF!%R +|h2o-(~X#xR#2E|k~kjLVf=i`|HsmqWXXnR2KqIR?Lmm97!tfib-^PwHggDB`H?Xghf$^~W5iu$%H>% +4GVV*MZ{rB&`jzt{7YJr{T~v-L4$lzq211UOqkDo=qh4yc48CbZhBGH)yguj{g;x`fjsZ&o4RdoD4^? +T4rDEzL|>r4QJL37T`cB?n@L?p6_al(+3E4{N#{%36nxsEHP*m8%^y77j3Upnx8E)tpuZE&4WdKYMCK +!e3NG49Cl3h2`}NG}yR3SF+x(nwaJsloU?~65+>G9tSn79=55D6@Nd)Y6!K82`WNwVY-!f9N5=$o3;j!ek +24)>Oe1nTr&f?VF+R~0fc^7DvOr91V4?(LvM1m$uXkyLM&cdzQ!Dr#qt8Tk#}n6>0Z=)6)WsjZt~S=# +txb(J{B--kw$w0#vIuV<-v||jM!6WGW?z7`|PFk(S^4OY4P>F`Ir~FGf*}gaEn816gJWL)@X6K}(Y>WGK7+`?_29JCvnK5!CRcQCNeiYjaElmgt$8eyLa_i2eci +ST_oT<{OpMuqP*gEY6W2N>5HO{cu}1g;k8+Xu6fa*pwx2>h5}D&uD=M@+~GdDRj5BJ<^Q(Su^16XY&%W$t9u)D()qc8*#KppSawM4Di*>nU_L(_+1s9M^vKfPAs*qV?9Wu^2@^$5>cLd)$QN%a_>JpN(-&2C4bCVe}$(OIx;{P^_&SRZM!{4ovR9~tE@Y-tlf+(JB= +Up#SaWT}C4%ywL9X2Z6jiXUiqKT?bw^q4)JA%(`wm^O39NM7rmML&0z#7f>J^Q34+k2srQS@?*>ByinknUGzSBKDOB_;K6zcj%Sq|R`M5vtt +P9%ZRFF(wXwAgJV;jL?%~3N^v-kuaw)3fQJfQ55j9lKxzzQR!#{2P;5mhgV89V1r@HO3rj)f@HH?EHS +J>LZsF6d($z458?U}<2+ItOW9|wk{UeRip!Jq}(N({8H3cBx%(34AdJcc +*mD>r2HL8-%Oo0EiIVhK*j-$~ffo~7;%^uGVd1DM7ty=e9*c1Bq%TG^Eo%5)oy{&nh1F*pvJD^e3suu +LDx(1x{`N$PLg}9(l>$Pkoo)kE^YR=6LN%mxpXIi4KzMOk8@LIN56y8^{VnDhOBiX+@9`+U2;n?_FoY +J>|WY+wenMHq&IoGBpq&4x2f0A#lfUdj(XBz$DgULV)SIGgDJ2wL=lZP63$89}0P+*aA8qY9ANp*Lc6 +!R9V%^ydF*EFBod;=U`UE#b}SF~STtBTCX)fMpT)z#t5+3$lAb0Gc?L&?uHAG&*ai6@BnCv->+<&scj +ayGnYb#>)|@yFvQs=$=aI6a)HB9p&%dC6*wad&VdaD0Qx$Ly-BVpz0p^6vzM_Ru!im75mK_@1C^$(w( +<-GFqLrhEdU86RoDXumlL_`;t5Y78sWndw6D#=sU2QuCJj>TP~4T}c(hmS7%HtxbVs_!uRaC# +0*TteFcmktN}TzSKx%*Ome>*ItQizcQU92p(#72$`*bEa%USA?-Y7uW_Km^o*{$E$3&)H{F@Bo}B>rT +s!lw|5x<(kc_P!`kD(+W@9s!?2bb2EK_u60Os^(&NxKD71`5n6rmeh4D}ea}yi+Vi@IRoXL{A>-` +9vY6IT~Xspi=N?N}0^#ZT$<~c(w6%{S9yaXB_4F=X@f{kNLo-Ww;R=K@=vm;&>ulk%>Uw2XsBu2WwOB +yHxyyD4cHRF=@Qf7)AZ?#+u$oHt-`$E$_zE?DbnkHz$duT;&*Y8q*0%<)p1oNU_YuqYtIe8+Y>j^Nes +F@G7ey(@IXe9i4JNm9g*WCU%Q;As{s=m=gjYE1Tx~M&xQFAZw~}rGk5y<@imaSTcQ$tyrbhzkGK2X{; +|@!llt+KCx89RB*G7&*%@{Uz~m&_2N>_$9YXL7^N7Gh6@@L%;G#u+sC}b4;@t`C1#IT$4)hL07<0ITO +Er_(KPh&qMN$7v2(O+eg071{UCtNw`;*Ji47)kb#4Mi;tnVJr=cqP0d2*oF?d%|P&YsCq8r2Gj9?Rdr +eA7*z5rg>|T!A6v%K_v#X2x|(?!wXtD0hnA-=Vj;{No|<$i&hY{gel9eW7b^={8!kY}@OzW9Wf+R-6M#|c-U&KuDizGoj3&SQ)@WFQtHoynnA9>B@w8?B +`guPQ+~c>HC<(|6?AF`m*;+b#r^t(y%bMSuBJ^^&-;+Fn)(h;4z%G|JvwHu78 +{-v!((F*9bhjzCO-lx}yyrBbcgHtM|3Z*Ett+;gfHaBAM#tMF;!bfeh#^xX%aMKN}6HyR_7FKTyi!D# +MlIJh_`!De`I-F|j_y;FzhvqW^#yVh`^%+JG&>pTP}sc*Et7uUTQ?{g%Ufv*?2U^!d +vlpTB&Ahqh|2(m??i{;gGmZZ9fR_k+7+=KLbkk?*yn^qHdj4aQW(4_?HR($wg1_%KY>2Dr=iCz2$l7@ +98LvOM?RvIrImoPc^3`?_Q0Jd2MK^e_Pdng%}m2fdrAp0B=n^Znm?_x+16sN@r`5(s^ec+}2o#6zX>g +unOy(*ZuNZ14gSN=}i3o3}hTcas1T}oSSSV*q3wgz12Ex3=s1BGm1OusI6E3x!l=`GW+za0tho*z +^^Vu2#aC0*767NMGC+c}kV$`or3Jq4E|IIMrL=6I}7XSbNaA|NaUv_0~WN&gWUtei%X>?y-E^v9RS51%GH +W0n*R}k7m?bgxequT%ha%iv{G(gcq&?1K*5NK&^u}g_8Nv+on^56T0lw~{i2GOEE>{{f^aOTaMM>)^) +%qm-ychuF!3FXBK|I(A{)}khh@6=U_yf7;PV-bw7j$ji+M^v*}TF#QSFrDzGrO@ye-3M}=)J2xPRT@! +L=T%KZu<>Nym|oXnNun~*z)>w!+x9^&H3^BZgNf<%7Is;0YZ+jKbneJ`1vjyBrWL*Q!I5l>EJt~9sVr +B0=pB_MVp`*ZkV|iLAE->vSvIV%wOQ`I8(&x%n%$${`YgK;*JjhD0|atZ_^OtDFwTojqpC(U@{WMpvh +Qk*^i1!LQ5?#U+8ac}0q_A-UffCD6PE)Jg6pXefAaE1X^m&KUXz0%u&8SlP_ER;8z>_X{3_Xd5)pPUw +7Mmcdv%`=A?2M^I)UjU^x5^zo4@|J{{7}!ycTbf4{>>Kwn%p+dmR=+8*__(rSxj$s6w6FND(PeATmcA +i%p}&D)u%Zu%VbVf+1BtowHujT6G;W0xp0uLW@-dLq;J`YXk4XeAl9G8*528AQ~rOx(Jc)ZM3NmoAKn +R8xeqOS}NH^`n)CZOd>^weWQF6A%kmR%t$$bSmHxNq|+3fbPo1X)eOkcUQRCi@Y~JJ@8$Ko_ds!AOaX +TB|Jm*t*mbg{8F&bs%5px>B9&;RP>&S8m1uH9+M>rR0L%T2=V^s*aVBX_K&aN#y-wLMt|&lbCMW{5ic +6y@F9RacnSeP2I0L0HUXt4o`?|paLEcgqrw37*5UhW7dAU}h>6b-i+Dq(qm}f^S{Cnx>pPqd1m$ujX^ +7+*-FAGfmYCLw9GUS5iuQGwpZl~lmz?6S}`la~%>`Pt%=T-*b!aHTT5C^_l^bKyCg7Bvt#tI(t0Tb}CF$bK+vmG?XZsklNMM0+EB>?jVheP9_C7gsN?eqQXmST(X+r}X +LGYE`L#L%vF*IEeY4p73rQJKm2VG4nQPz3Btzp;lYoSAoY*^6>%6pX8@%jH(XPjAtdlAt!r?dEN)!em +o+>C$QmgbKliZqw^A#FEAXkhVhYi;XKL=v%JU`;@NzE90e$fn;k~xD4$Z8#Y0D?seHGBg8cwhGMGjgM +G0Wb15HQ#-ZJoLD2p8!!Jw}(uQ5%Qn?bQznOU=WjtB8Onr5w*PDUD_fg6Gf;6Ljw8?O>;Sddr?>N@E> +2iPg-;U$supOs|C&dSug8%06|o)}!yTdOK&A5Xg3U`X7tiXMq*g^mLozBQNu3`4x1J(B>1Z$V~fJc|# +XYqbnK(!R)`MdSUFh;Si(-4TDdSavT0dkICZki`1%PGKqE +hRMnV4DsBShMyAb)0d}2PIi=Rf{?CY$P7!UX!b@A|;D2^m=mP>0P|3068wO+}pA%Gd2(Wjf_f?BE5b) +#{Kwerjc=JGy(PR~#FxTDxOyY9@%auZs8byqX9(}IPRA-%8WA}8!5pJw=+3v2*2RDjQf4^aqDms(UiN%2Gi|@BA +O3+JF^_?kZTXb=mTdow7l#d|CfLQHp$gX^5YkUobVbxZUJLLNl{k*O#z?}Y6@ +}L{Bc7aJ*Ss6xIL<_A`0$QCuYJ_pP*X8OYu}UJe+ayM&swn85s+vJ+0c!Jc4cm4Z*nhTaByU4a&sNR@=yu|DUJmY +j%!pj*+PyGt^Z1HQrs+t;E30gMZJh<8AI8HSmZgLBAMqFX{Xk5nNjMy(tPwQX*2c!;^{tJ~4YnV +o;T7+se#%)#4AN^q;p{jLyox!S+w7>{pRzNaCgK15w@6l2YPH(CG>pPD8-4EIA_mCX*$_yw})Xm%6eWP#%)WSHcZFCdxowbMw0n)pJmb?au0cfkca$=or +sjn9b7$o(>Xk0B4*bk4hu;Ilc|6YK#TSL)MtY*QbQTj++{YIh$QvKVUP$3Dj-4neBftM>iKeV^A8z>{ +oTvn-+8>A$-i%JZfre!wECg*`ux@Q=CeneTbr9(+nb;t`~d%MC`tT)op#uV9mA;4uXrRTJn>L5T(J>B +Hs*0kN@~ND)6R$XfrtY>Ni#oczc_md0(Yh|<>Pi3_xX)CO2-i~_;C0WL$#8A-oYe +FTp!rbPmgOR#}IqDMoNQ3MB?nEyB55H3nZ}0e0vkOU=0^u$lS_s1uPr|&z4TquJ~q9^aDj3?ccH< +?cSHc)F%vM6dleY~-`w^HdHWJvdty*7xb706nU9eL8lT-SxzZa}KRHSV5>n71$u`WdVv(cg85>2HbfA +#)FRU;4mF$4UZO_AO7dBxVDUkHPvzs06eZawo56eR9rb2$mj_ugq160=hF# +%28VY@g{fgCuBkebv&2*44U>?}0A@+n^MgxNvDTBveia!wol9=wOUcMkI21(ldk_<0YOP)ym-Ot%OiW +NbKQcyFrsNT)Os)8Fj7l-11{|ryAUJUCs~H(`N5LV?rf`*hA4Ay;p(+?Y(jg^iWI_cQDD)sbpy2Q^$z +p~T4ut@TqN#_5M~k(Hi9_aEWD$sJG>vp>&&U2}k?eWT!HMDjn(IWTXn(R3xB#Go*ytD4Gl4V&JT2wvS +OCZA2@!EWZZQoBl-8Rp0G$F`$y0WoWW3M^H}2)|*94KPi4^6#XnP;j20YL|;3K*f#+F1^^((2xJiQjl +C34RuG{MlHB!V!GQX0`wp?Mub`1V}G%4reGfA;Nb|2YEF>O;!{SN{y_w<^{sAcjS2d5{K>X+I-^JlgnYCi?MFN)4mLm|?=BGJAIr%q0Zr#KE^Z +o9t(>F)N4}2?x+?A6Dn*(}a4P>k>+eCH;I~RuYqkL_LL63y_k` +LJbqy~f2BSH6JtQ&zdmcNhSrRS`wvxFp?*CC#P#R*juQnMl7RpdH?{*fj@djv{eQo{}SR)RNv$l&q{$ +OA+Y+o~C(5sm=2mox^aaga0cuL!}>3Il+Qj5fS0Qs#g&DSTlF#l(Suv{qpM&22fmgi#!EOsU38V4_|l +p&(3fiHFRJ7)9cfN{o+DSgi6XT0xK#RkcJTujT+q{PrD#*7nIfqL`}?K6X1%D^0)$*mxO*o>DL`r!TP +fZ;|6}RKu^msX*#p{-RTuX48+t%G01yoo=O1Rf@abC8ui7gs(!nAmX^_8U@-}d!sDw(-Eq`)AQ5AhXSKuQ +w;fi}n<3LehptmAwXy)$TjhFGCQCI5V7LolG5Op9z%GYbE5YY{*>P!fwe))l_$fm3!QMXPIt7~U2=0C +XllofB#!Ekp{s!n_=i)38L+~6VpnQsr!ajI9b$P&gYgRe~MnuJHIzm6yR9$M-;xNSBuZV+cSY0Pz8}d +_?0NGQojP6t{!=YNi;*v`I3>~R(e +(Zh-?Cs$L%xI4H*Zc)a?JPt9=$D!**^=rtT2+IIMq*+RV&YzZE@ +`+l&$C*?LaI#(`q53DwZEz-~{ayC4Lcup)f;eN+fNQ{@sZJJda05+4)nP&*LG#lx4mpD_&7Y})C6nl% +OK5Y^5@^~@VMbSM9Q|p+=y08A0YSx1phu +D_(Ln2{{G5Vbdgf-){K^vSEYLB-CEpB8tJ*D9!2i}Z!bk&fPfz&JPw);Q)gmiuG(+5$Ql4CeaOR7Tt5 +vkLH=k~A?-dQVFRb_vEw_hy|4{Fh^6tCkRus3d({$7MbBVSaPlNVNe`vScOpDDWvY^R!m(px%pK~-&- +Bp_rjhW51CE3UDlQjTClKY_YD?b7d7RHtP<}!`Sg1uPKuiIE#uJ>iHy6Aqntp%04@2erUBuuD02C~Xg +RROQAz!uTls_;@>8{5SjV<@MnaP*<^B%L;`*|(PB{LZn}qRe-b?I#;gwjTYs^=!|g^+(%6meBR46UFs +Et+9iG-aK@7+^Oa6&b$r`BqV-kI3^}xjNfoKdH4PcvV4GJ4{+@JfMYrqiuOz1Z<$d#+EnR|Qu)APTRX +tGsF|3-o9~Oq5=^w%rO}yf?caJFHs+OG3KMv@BcbBf6Ou~aa>$4qUL0qkorYD@+|#++j}-st{bLs-bR +{18!aK(_#TDfr`Muv1r06a(8xFZ7v0#PxGd*b17lBm44A7cRJrJeRQrJ)!2#CXftGI9KH@EYqa94;fP +d3$#5{r0U_b`Z><1-D~+iPTD@*Z|xeskI*zbQ!7^cXBy7STckCs}G-2gyn?=IZI0wG84fStBWi;S~f5 +vcyZ^pD>E?8-F~Z=V^>7JkPs$BYqE~$iH|AiyMd=#HG{*ym+oZRoM_H?gwLj(a9z}0V&n>i%oAs8RhK +w03_oAH`9bbOELO+k760K- +jo0>kE{RXGzK0`eOH%EHcOj+Y;A`HSs0zgW-i>&$fAH#PK?k;O3R3+WZ +@}g_T;d~*_k0jaJRgAg0}%f{fcV2XDEvza?cTR%op*N5_s@@(I_|vl2`AX( +koQ7x9cjGzc9qVYy@ii6T-n +yY@`d%1x*T@TdW`O3Dls>lDFoG4f0;5T!Y>rxQ>ts28T`4D#QHRWymy<djWUdd$6tf2I|;G|ZVf12p-3w{$W(uQjuvEkj0K0G+DO>h4WE^p-ynIt39HRSf$ukqy!N +3{j?05IE6+h_84Y@;HDPO3;Iqj}G-qXea#nfu$}(oUN$?&{Bdmea&c{Sh +%9wyFfU1(ESN#_OA;>vxj_{U~|M;SzU)eX5O2Xw?br^4F+nDT{`6I;(dkPgb#6(IBf(n>__x+w4#8Rq +f?*ud1{x3&9U%503iW7>*0&-2+GlIgjvF|%;h(@>4K#g6kE?><|nZ2;vB&ofuTSoh!3GK%4=PtfFDy3 +ZH>sFU~&c?Z*@3&_E9~m+4nI;!$MuqASpU7F#R#Z5=zTrh#^?RUT7%mJ@~^i18T +e(cBsC8RHHj8id#G`2YG?m`C3Rb;+mtybf03odP=jnNJJ+XD+<@`RLc~!MnF_k510J?>a|s3jvavc`x +O~8`J8%(3tn)AOn-c=`YH`E{<*{kw|!Q(LqhIm!v7F?4W=Ncy$Z6x7?EI-!q;}e?dHbbkhKVTeFIGPz +|*cD}5Dlb9XW&2s-PkbcZZm3&hwX9>&b{CBSS*pNyz@{~~_(Isann%o&;~S5FYty3Ne~bwHUS-j +Mz|8ud;LSYkG0rrEV+u`KuENMf7;!%!7yMW|BACwI2`rDlm#O{Dcw7>n)l0l*-&~uy9IN7&!}@$ts9XM07vV&uy%Qtu+^8KjLFAiza})HCPIBI)C6Q}@``IQ2W! +lo{eAIG56=2ND*_hHRRF{?Gs4?b!Mho)e)|1;4+P*_nv;Ff|Y>jPMj!go1zjG+cje1aT<@1{bT**mwv_l`Cbk6rr4vv +Z;Gu2J`vng<9dUV?RTq<&EpgjO-y*%rl|9W<0@PrNvWT)~SD&fROm-bT8p(;jZOob|Gjb_u_qF%e$sQ +n*^D5w71OGMpnef(2#le@srCX5^((7e>x${IwZE&A?~{)kcS;xoUE=+ssfPm~_42PU*>{#kQRq&_|LuSD3#vngf<7|d3tff&Ws`x?|BwBASa8axM>k$p!Fr=DguWJ~580RRl#a;_>nN8@+%pIUEZZ +uCiQ(pnQ4GiC7PgdU%GGjq{tj#gi_1Z$dg;Y<8$phG%E#b-f(kZgUu#(uD0;Xi+LL&cmq3$N=b +^=2(Ey{I>H2(aLUW4E^HZRlC(gs5_QzzS7wZ6K5kKgb=B6vb@dfC4rk!xl|yHeInV;u*mOzRCW}W&bO +M&4su{-20WWI7?hwK>NH#9lLy8iT@W+O9KQH000080F$jzQS$b{e6JG#024w002%-Q0B~t=FJE?LZe( +wAFJo_RbY*ySY-wULE^v9RJ8N^>IFjG>D^Su0OFl)D#Mzr0SCSgXab{e#lcbXD%~hpbT#AG&tSN#^kd +{?f``@>_@gM+_vghVf`;bYX(J%Cy)9EymWy2quLabl1XKbBjca^Lg#nLioyxgW`#&^7g2aROSma}d>+ +sV8w_;fm*OvDa%v2>l;pX#9O&wW~#qP$g;O)Yl-peT6O2w5s-7UcY&E!S^1ZJ9Mv7Vh1?PAfH;BuQEn +Ny6T+?-u1Dzn{OnVQ=5C`Pq`aTAUNE39L_GJuuGhwf?#%f*uY?@ +5xVLN+Q%PR`kU@vlXQR92))iA?`L`|Zo8NzOMcF^`j7E$5d@23%;1#vlgxUougehv$y5HE-IwoamqUY +L!+MFZ223f*x*U&EDb0%Tr0%>DT8X6AT6&5XTOqv?)tOa)MzmItGGpxv-k+ybRMXM53XK +@*;cEXv*>OYG}msoFKY*h+Z^*k*-Vvda*kOT0jAzlE*5W_AN=796ZZPH3gw3%LR8;4MfqKnWByD`?-a +4h(8l|N2gye5d*k;`4OTCq2+dtADYlFy_+JJ73%I)`|z>ciMoer0asKp8lbe-OKupr3%<;07qI`^9`7 +=ZIbOq)l&JM+5%^-0`|fIz^@jZ&4FC2UI~91|L%a9<6#TAWYC?}#J&6mn*f&-3@Q3)&6|`I>>sUa4Cf +R(MGQ~9ji10@)gsro1O#X-5}Yshz$8?RJt{3|+cQw5rpF-%sStOZCBN{J6O%#>Kw{AEqHS;S4*2Y3_a +g0d39uKLK$J5uPZ6E(uReddy1e*y_5R%BI|MX}l^jT6X`XAQA{$i$K@<3Pz-?Wp_2EPf8p~L5*v02-U +xx0tjhj~ZV?O=k2!!#9_wPN2kR&5&f7gffv>qk5N(@&xYTLrIjQ;ac)6=`Xi&&hZfh!mic;DF@yzr0+VvI +VS>Wt+WkLK}Z=*;J@yr@8w$f}>ih`$qI?5{=Xxk^NG$uyD?(M0PlFCpGKMhY#{VCbh_ML%(&+3lauh9>rm)4Y+Cq_>Nq1Rh~3(OXNNHaZSh;1jrySs@evfe(6C1 +x+@H~O|WE*#3*}!=>m;MbqF!a+PVhM1HNp1s6fxS_I%FRI9^gZ3kGGc7r5shEL1c?Mh7JTf~Wb)TY$H +C+ceer4?nD1u*%f|d{?=W_3aOIxnKPB>iH`jpUawe_xnj!a|T!B@;6T*()x%O1b&3xdd6V$4lUA}dsd +gH*_Kggmku~|&=H@PU|YPPJ#Yg$9WgiS$cf0OHYp3Uj~c7? +yIX`SjMB8) +tj-8Tt^$A<(a)_jnI)FsN^1FNldW|0Riq|005Yd0#AaKV9#{al7fDA84B{fw^1WzOxNOZ-dnb>nr$uj +^AYL(-x~g@obC#4>QuJyrA +4@U#Iq#0v`C(4yn{Q;ZX)7-cpT@H48|tvT9PTjk=O$#h)R7aTB0)hfZBktBwA=Cl3?%ic>AM9rURfgy +5+WKnh;8mepc^iJeIWpD$*&jxeU)7O&*jzUZ`YqbCYQfnTz|a&_=~RfK4fU;Q;3(r_5TSLkw^w)J0wS0g +6no-1QbcvPeDaaNvNT+Bf|!O^jNqAog_j!Bfrqj5p}PRp9Yh9!eaXF`TIqKHid1#r-P0&_O5O0c>}<< +DdqB=dU}*VZX#~Ww7_VoN^eO|j6)Yg^lik0jcazG4iwnzgxaMIIQKPg_MGc7j@2N5+sI57gGA=E)FaH +U?yJmfNQtoMjHM?mIL{Z~U)%(DdPHA{Da01?i8HJDx +ZrK7S1%OG_P%w^4rcT7gFR20&dlD*L+)zwnP9;bQVAWlaJWhm4gR{2*_~0)O9{S`N>f8}wMW0!owK(qS@ALu +FUfZkixm$rTm-#2D%uSSY!v(viJL=?N_4X#Uf4>ImFPh3O`M7oZq2?o`sEWc1wRGp@A0GeQ)`h1kL<9 +v)rc>qP4~5dL}}Nl0&PwdJq1L&qW1uaCEq6v@Rm36p-J}&fOLO&$=2^&7p6d0z%79qNw6q-6*&&H4LZ +Swybc^BaHxhzJ30q8C3e#r_WkAwJne0??KN9n0Q+tdI>U#BUk@2sv+NN*Qcv`lF(yk8rE73tf}x+R0~ +#Jd!zZtj)qK&3KI+-dBUR{|1M7;YJixIh4W^Nz7QK&xUxG!Jqof)pT%Uq_b;KF_Rqo02qt!rz1dbQ~q +%Lu2Bw`HF;p%mfzalWOb}?|yz7`Gl4oV55@F21dC%9(SJTxaucCtSivOj}ZZ3c>ibX+C(3uhgo`!qF; +@bpu@OA)f;^>9x-dziAN~pD#R;CLCA#A3Ovo9SS|zV!6Xys^}L0Qx`5=7Vg@oYIF_cv7uuzLWQSj&2UwC(juLo6s{4os4^rOJLkt#Wt8{M!6Pu_d +Xe*)Jl`(Z<6%nXtW9@O7TBtxQ-(j681FrihLli?-L3(ibLz*>Y5#W%#&2;)zh@H^bn6@%^;v=jpl!Mo +?nRyT&t^2-w{_>|@-8c4sM(1p{grP;GQFEu3vGVI_8_x!bsx4A$P7EDqq+yfMB>zo+Ug$ZE3!P1l)CS +JGJA^SwViK(clTwJg>l88-K-9ZBv=&}>_}fi$^#1U4iP289OS8Ho@jzT!<0Yxluv3BzL22&C-gJq!sR +)ZJd(!_GegA|(qOGLsxXcti3{6RIhb|boO~7n}`EZ`w5gWf;$J5Xb&A4AGX>LW>0i*Y1`N$^b1vC56pO_(B7buJroL(Zm=Gq=>RLsB{!3Ce{s*bnm`-__?8k{1<&W&tqmchbJTSO)B87jl +Gwqirf#T%6;S@U27(7_&6(IG_K0#i|a2L|-Yaweo_{1ohLT6Fp+dJ}{*&_K@tIu$IfReJe{?S~O*k?z +)c%3_mo?j>d5q=Ec1W)ob)5AX1$S+{QWAOJ>N6c|$J_Ui#W)Pt@ycbm@soYo8uXwk!UC|GX?&*q*|jq +Jwe6~y-#VsPZfGu0dl)2;-q(_t8ndI6dfr@K_5M~H5q_S!@d-{9fID9JUw^5zj|oma8FUFuNx&eah$W +Lku_>Cl7Mq9_I1zlN{0-3mQXmkInFxe7HDpv-auDDlOD@T1>&$8a0|RyUDhynwU$uu+=2m=hbVa}nb8Gu$9OKfYH7BOV +3<5D+u?udNyrj28`MZIva0zl$copUn&W$$`PoTnpBr>6z1E$!dVV@=(>=^Bf{0qM+AR(sf>}XQ$fIVv +kXuObJXr0k1HQD`YE1qYLnV0YE<`uY}bAy;1nQRTi4WiFB0N-Xh|G0*t~HNR+e>fP&f7ofkyqK#QZ*TuarQ6XKB$8H& +%17#}n)xy2rLe9MaGqAklk+dyN0H^r`Ea0`g2VJp^iJb-f|Y?nYR2tZguV!ZjRe8if}HgkG;jgJZGXo +xud$wMSOLwZQaq;ARYuYxXTk5XdcAP+Y=)j+&9tLsI07vaQ_IM$F|ULAEq+pj&CSqyPukvZ@6*vn58n +9xO;Zs5F`w{BpdFaItMWbbUbd_BDp&mJVo|lcwwDGDC?_|1WmjGxfP; +6P}m9hdIO8VWGMw%+7fbg;3*=FVREB-CMyjrEoeVSHg>jLr9)@!9}CJ4Niihc +FFd3>%rKA{IU4%zU3%6C8ul$OcqrUt4HUZT*_?~6;z3%S-el?r3=HbXd=pcd8g;I{(Al4 +6O(nW1GrA1JMZen^fRKYf0ez+({)n}RpD3?dM?b`bqpWB)wRMQrx%&)^+*7$`-{Qa!I=^KW@&vaz8oc +oK6)Ekd7Lu;pLZ&(8@MFV;=ySxQ;G2ah3eDWFvEI&r{rEP>cY(R!MP^ylJ_7TFDH97tYuWw>LV31ZIH +Vmnb9$Rl_7u@vg{8OkNT$4vnsmR^v +RNcJk7+daaOIS5&(tWBcE1#|BijC1bpc}At5ljcY@zF82mg3VAGBu!!-AJWa@dCRF57dQzW +81te&`9~%WQ;8wbTba#C-C#(FC>pNwy`;gB|mUo_;Hy)#_L(dOi#J$IOcCuhEcl4ROZjHwu2+Pu&v&~ +`d;>dUx46uRB7Fa46K5#x6srP8ifo8r?9_*T~eC064+s;Zx(eTIRaTzl3_bvRvKCSLQc@6p+=ulm4GW ++h4f6;&hPqu<~5M9!{ShF1~YZ2JqjCeb~fZ#n_CATItqG2RyV2<`3o?X@c#URvr?m5%*NxrQuZf*!yWQJMvNA2gGGmI=5|nLiuK)YZ2LOT~D9MSF+}%69*Ty7)!C+=Em>CR!2 +jW>VTa@YKvJy`pKly41|N9#M_l-DAOZa#x^Nj}^55)6yEOR9jG0ziOit18|-B~<_fAp83_+6GNEpqWR +dMx@_U{inE9Q+v|EQ-09#tV@bm6$6DAW|hR(o70@JC?Ibq`4Ru(^;0r`B;jZw7R5bG>`~D{7r)>&Z`( +o$54I-PZw@E5m$upWmV0#A3eIcxrt&zG%Cu;ql^owN6!zQ?H``(ZvnDY{I@)lN{LebW1g1K&GUtbXMo +E%J_ii5_(l|^h$p3lZ&iV~-jr#T=98gN#YJ@!mlB{PsjABKd|ovOWiW&Ox&?q#aV|D@PsG8=rucF9$H%*erw98d;^$Ct)+k;7;;$#eVrEAPKC`D6N%y#0 +bLZ}Didl4C}3cSK*zDmXW|CAksA9K#r)5pt%R0jZx$@#M>=PsMkrJrt;q^Z7(YGx|>YgUVo +$@6Sdk3LD6>rVQb5*Z?*aWhDw_{sPA8ztqCMe5()}{rWPKx8@-$CLmW6^B9+tSzM|b#QYot2fMnlu`& +AX@Zdi{J^ZwHa4dG9$w=ncX$hzR^ZGsKYi}rek7PCO4K_wcC!^#2=li=S`yg5K4d4Fv821|D&+hKJBl+p8ggKp6!ci?y}<@bHY%< +V;LK>I&3g+gR(N_*E{p#qV(j>;b8Az+?5g34#wIqH$(TofS8ru~1Hi2u$$Aat@mBN_j;|xv4R5RMl-$ +v)kfOcNt1v8H+}}fD9_#`6-faMUAY#_rhX0rGIFmqg@jx8W->k$o{!J8Y{IxC;hEca3s(wOW!!^;A0x`*pM24z^X- +D4=;rpE=($1nV4$Bl3^+j1s=@S`qIm|~04XiR<)E%AoG5Wh&#U|rWqk7V=OXpL+)z;w21mnC^*A<040vb`VqaONnNTOhBRQ28~h&m4CW_cnZ(I?;oE4LN9kuPxp@x0i9AtC>#Kw +Pl%Ph{tw%){yuo~@b#b{JsiC54}K62;oZsUb20d#|LS!TeerrL-ufq$NCxytsu&O{#Y6ZWeKCL;#l!s +EB57C?=s*i=GZihz_VvvdgI8OlH+>E3zqBnk_*cf`$41*^4uD;ePC%4_S2y6&2v80snuilYb{*6Xeg^ +K=7@h!Xj8HF;=isu8G!nfbzXd&Mr&9f@kW=qfXd2dq!Az)H<$GZKsVnCt^cSqF3(+<<`xo;pYrGjDHF +i$Rxg2a0G_+Lk-(ynoB5Zh%=Vgf^=o?gIY*%wYh+v$Z_0xn}7#h=h2;!Sad^G^`pT<}UT~b)}qR3zXs +_hM`{1B?^+Gl4lR1Yr1!!Y^}(LBEZQ&A4Jm9FL)jt_z(+S()%M`$wMq^%lWS!z70@zI?id`_3tGv%DB +rrRs)+Jd?=mQ7KEUx2s4eywA#W7lyg0EbXHTL;-XAw+_+C*vAo--3ll0<3l4LSAj50 +!Knf{8916``%HP(p7WuegL%Bpmh>HZi@(uyEi&#Yg&94X8O=)<6|<~E^36h#9~pj~JTU2<@Jz`WP`g> +fbD>|O$gEACWq5+q1G5!xA8DsKWt1aMX^9Jg1r++LcS2p*ymi+nyk2lPO?X2oot#idU$;Iyk9n8{+Kk +y~5S7}b;}{jk1ic1A~WjJk2b4N2KBN&Mb14K(S0@;c~u%xC~@(bkOggbghp4vmkYD11WfN-08+ +6yrI1;Q+--Cwxf?sf7*1dBRlJ!lre$G97ghvqLLYHgqzLK@-4#T3kq9BDXE0J?xDx-D&*%=OsU?y=Q^ +)&yCUC1NhDP`8==Yn;N?KjUM?EPowtJ9zF6Ww3qA$l%M1mptoYAn%jlPMjx_bp3p#}LeKD#u` +ykdx1eIq3j<@HA6*y|q=PLWewO)Z(I}9fPe(H}g0HTpQ0(Bx7vd#8{`&h1E&%VLjD-O2NrPa)e~J?_P +k6v=5~@>>S1!z`zJO=`JOz19Yr4OnNAoF9z@9fBU+6~{Pn?0WOlF!tFU_O=nl^a)GOc-9#%kt>)Ukfl +{38d>)@%54eH_vquHrz;%Qyx4Vhoi)oY+Sfb8sWZR~Q-QW=_l_f4xPWf&#@~{{sZbldp4?7zB^t@yC- +r{+7$i`6LcyWj|e%Qaay$f=BypnkG30`t|o0`q6xU|B+4A!Dhn<|7CnFQ3vZd`9x|}UU1~sYOjMmQ0Y +lRVH_w&h7On>Z02GVo55YAM!SZ6MQa-wQzWhp0|HfRNo>BzrP03`+5%<{fSF;YLmDu%R1yR891i3OfK +6Nti$8#$IKGnQ*~l1v51$vs)qEx{Q(5BpUhvF-?xeM=)%L@Oda6oGRq=cTxIyQ6O{3x1TAi;=lX^Ph_ +`OUtwZKP>$S}J=s3N|O(~PK$801C1C8x7$VP`qC!xC$HBS8M5DdR=+^jkm7)?IzAkd+@x()PQFD7nzN +Q=kSa(?r9sbj*kVf=Cqw)*_m)Q=+e(?kjWzXR%V!pJP3yu~44N3ySs9{NL;eykJ|+5|vAJMJM+a&ycm%A*%_L!@M3E$vKyz#!xAWJun5BIYwase^1c>rwbefov1~X7h +4ZsM;ZEmQBgQ#@VnmT(kq08>T3t9{2D!z*6YJ428S~4ru!*%^lx{%_pV7X{m3SsbZJpg+{-%wQ=OOK^ +fbQJp@oZsi9Atw|`a+ +*q~`EmhTG=O=WQyA5!66m_`zY<`Q&Ids(;-t4@&#y2|c+@|lOQycD}L26-q!K}eiq>Ei)?qXj?lSpi` +@y1i?<{;QiRnB!Q1{mr*1C54FJe$!nUMFbrP4pys^3~%nMgJKLr-5mzt_LC{3Upl)26C%-H#U(?TNz)Lf(#?xFofQMy@<}n3U +YtrtwQPqtR-#y5>W~^P*QcBVlIAwBR)06KG85Jhtg=Vol*TZ-)$2yCS#E=En8kCE-U2QzX`u{;Oc*QAL<%$lICvnwjh@nEu9ZEg`GFI~e24<}u#RwoX@&_Eq+`*f!Nr%d$k-H +^0p((_(M$@B5d#;2?V8~Xx+z4g;vJ>l-~mZNlLSQ_)09L@j6E8{)sh$mnysbGrIz0$iZ7Z#S!Nq(a;M +eEk}2^ZCqR^u(Hu3VgKJHd(GnUW1food2_*`+s9)kP!L_i1qr=g99!?jOV=ncco{a;wNgqn_a7 +g26=f*6+vXlWWHTY$Y(E2Sdof=I`zO@W0Dy__lj%F$RHw??SttFcf-(F<29ZgGg))m; +t9)}(njdEs{Z{=Wr20KY5cY*hXRH#{&PN0vt-1yTxZ>lYOh?WqEe&4S{Jptx;mB$Rd=yn38hiE5%N!J +5i#`hwfj&goeddYzvJZvoqDjE=?-HJ%NsOWi{(_~ZZ-@XEIg(`to3}ZQTCQPd79CyM6NC;DmNQ9%TlO +U2$mafNs4MqNhBr49!!soxE3eNi7r({ +E;ZOsL+ILd?=u;I?J{{xxOB6Xb@awR*~Ux9kFcr2a1U`*Ue)xj9OXW{G6mRZCYXN8j40%uMWmRvS>r5 +LH3#AQMuLtg2`G*<+L&L^;M0)&|ogG?TTP8mZ3b(Z=5jMG{j?spdcW6l@j+-Wo^R@`x6PKZl-Dm2c%*1U~lyN;Maz&9Kg6SpY@0`sIxZ(q#uc~538Omli!Xr)~ +N*+PYM>U}6vYKY!Gp)TN#(KpVX2#d!xb|eMRc3f;-9f#;WSYe6knWMq@D7V +g)-h>oH#Yrg>u8n|+?a*aM1=e#Kw1WecDdIsJ8j;6`}OGSKW#=VK6Y8kK|4<{U12`H5K6Bo9J=JSGIbgOcN{>A%l#ndzJYsS_$~o2Tfny=?e?>8b$u_kU{l?r8u9% +N7e8bOHe?p2KI-O!e(iWgKItpwsO$@N`elcWdl|RH2g@>@YF@y#6a|D$&T%gHqWuT4drVN(t2ICKo+| +BW^8@%x)FghI`ld&aiPdTD4aIA(rv;l$a~3aYzTqa`d)mX@7RX-Va{X=-g56!i^Xam6Jevwt;CE9-A5 +v5xBX}$$tbG6FGqq_+kTj{_3`@} +?tq^sF#2OdK3Hd3jKH`pkfef&?_0&8ziD$EtB9`PyXC^yBZJf +rO#O_xB@V0MfmQU64GQbaPZC|BEQLq?>M6+Byg=%)T`SZZ0~NyznX--qe-?{4g0IWMi4N-~<2#Y~pfqF< +c9mE)>r*RH$P@)uJ~pW#52RUH9}ggDCe$qqvdfsNxVQ`XCI+-e(jLmj1LSG(SH4h0gRlv~(}PA*{dn)E=K9D!ky0=&MG*~L&?=nmo!-$bJe3cBqG_>;CojYfU}{J7x&oX8p;P +!0ZflgrWpjOog_9(4ZJge?z?Tn_sdleFvd|1qMvT6C=*wMus%6oN{mAn|?$N +Hmad4z(1Dblt<}q7HaXFM~c~0*WPOycMPt^rYO$N$AIySqWYNLlFT!?HOY$eIJ4chsmhEUhCL0DV|2i +gZ)u&v9G4T?%|&@Dab*%Mb-0php5gYvB1;om=U}OE&OuS24N>aOwC>UBBUFy%=*I;#L9w9qPzv|c8Jd +dq*6NMB{WO9x-1T3I8{D=|Ik76O=K +5%%8_IV#Nmura7J(-d@%kO^E^Wll2%K4vB9;xinl{N@j4NmF(Fz!!gj7dl{k%qs#MlFqLaE{=5irfKi +z}V(M(_frQ>{cgv`9;3V>Wv>Pvi)o(dO+y5yy%~taf^V7^`nTbr&=Z&i(!3?nvgLDSffkTUMK-pTxKj ++Z^;}7OoYWjhDI{=FPvV!d(t}Z02_C+tF^PAZN-u!L7{ynDcgDb1G2KndNQCY`OTLYxHarc;HvPn$*} +jj8ce80lZXLK>etW#J8*j{80$EW-!_c=S7jhZ2yc00*wnKUxQd;gny>-PtFX +EE69x&d#vE6y^pi~tOEYo0Lt#qabA^y1A225M{;D;<42Heo2Nr)vrgk|gqD3Cj`Bv+#u4Tz^Ah@k`o;G}mz^|6?4OjBz?^7!ziUWksCW+>=#8*47LL +a;o;KDHdOS)--j27=4vzNAvMA5Cc}K~?qa(csnvLkz21;R%RO(PiQLvf%RKw^QZt+iE@{?)&w8MnBj1 +#9FRZvC`qSr4pO#nsSR7}Lm!)OfB~-?hJB$T>`L^uNb|mXV&pJ*2GyY1U_ezsqoKFZaIc34o6TqJDPvw> +*@Wf{I)LIlg^SH~5T)_#x=*+nM7vK-N9EYWDQ2bF=7OUlNLU@yXi{yn9oE?Ni}=3RyAX^1rTk+kT2(_ +H*}E=+he5c`;X9wY%d4<^_pVLraJ7-Q(5-9wuRALH%eV6tR$F0xri +WdV+CAFqV`h#H`f=NjaeRGlk&3lKp0I*Y=IDxbJ)T(94>FZOC61759qCNfQ6tKRQ_ +!ON1oW~qAsj&H6tLQX|=|Q10MATjk=m01eT5ucG|Lk4(blMZTWhS76&llux=u~sB3J8 +8V+{SKWKMZ`>kcfp5;qXj_wy3K7w``HldZRd!~pzXLK1J&T7pkXkJ(C_38mdLygsA;8+S@+&hk^xSv6 +$)9ga+YC|I|$dpn#@Xe}nU9sz^7?hBuO}V_}f-X0ix=mIt?G{%U1)E&a!#X?B(<0=+Rn+cw3!sb5`n| +s!As1cO6+Fa)yB@z*ghyv=I&GdAj++E +DBItAgIYYR{-G$*MOm_d+vpTcFITwxQBNNmGWHb7{l3>Q;SjnK6)`9+qF +D_#rrVA<&El#ZYNvmmdZxBc-FtHl$Kf5T88Ez$S^Eri9}>ap0AuEaT)d~7Uq1;b8YA@f;)&CCi6K3*f +92KTn+K&=8s=Ny>78Ep>4_ol4-(%A;OgFFc(Mu+|9 +-u8GQHn57B@3YF6*kW@UTt>XmlkV-a8f>r++ktausSF?J;Z@1C=^zZ2#Hzsu@1CfhRUzYCeCO{#@cb5pzRhOIP_9zf97}55 +=fp0il?Z00C?3UNC24BA;&ep6@lU2F!O{HIWt8d*kv%fc6=Xbj&=F=p&#w?u6E;UfnzG%3LXqp1 +YC~~Bxrs$!n5NUhjl3@qU-O{TdhPsV2@O7gi(6gT{belx0>=gxQ6QW)q*pP_P!N9x4?stZz`TFWSMg1}Av!!2x2{9U4G=F22*Jar~6lS>D1_%7h~21v1whd5&$F~vi+&M{AX&Y671x27FGzn%WH^(`mk(MGUJ +wqdoF*FKg^;dsGVE3nAC%H%BtM(Nt8-cANyVd^OK5}+{Tr!Smg43=ELL~m0pFK`(DaT +oecQ64RG_n)qD(NCQJvB8M8phUV*zNuoJXr-=46vU5WQ3tTi<^B)xU2&>6tqPWw=XeeaSQh`Wx(jVEC?6aAQv56gnStPui?dy} +O{q)LMP-sJrC!z#MgKZh58i3XL%G{z-kUk3IbBBE7|Q;Uc@%`=K0Y{V0mez4H1h8QeBNhpXdOJCc+ra +)v7CDz#8HtVqG3$8T`)>8arKe3Ka8*8*gSH6)rSPmOtnK)k#+Q9{(|yS#8RN2=mV()uzUM9EFoB24x> +7NEgSCH=_TZpG2ES&`<|kVcrglv%b#@l2#P(hzfV&!xn}`9KZOc1RBn&arg3xXwq$eTDy+7qs&f$Z{T +!uT&PROCi-bo?#XmZZsQ9f0@&%PIpaik>b&J#NbZeDM%Y%pPgoiS}t#B5PNV?;AS%{DXVcb&^yqip%< +@|-UylE%BN41hqYWolj$UXzDwH;D_udYlE+nd&kWPACOyK+ER{?ZYPnp8Hzjok>*rQJAu+;B&XU4ggJOJ4T|9DUL|( +-Gfw77M>JpJf;c@teJ1GH*$d)VGJyRiF8yqKk_u|FJ&WQrXKM3e^ZHd(e`iK1P!i4c(C((QeL#qc@bS +Dswh#UE4>0$C;&SRyhG?;FW&YBAXL@&XBHrH{=>*J)xU@=*Wp{Ng6MvYZXvcC2^VP^C5}6v|j`lax+X +v;QJ=kx+wb?`52os6FV{GoQ6^#G1{WukY@lo*VEXp{#r8rtgz5pEpKO|rP}`My)Rx52LCnezgDfA +C)iv3?xmAd-^WMN1McZwo2*zdxBkbyWfcaZbmzX|G^7^W(%$&F9{;->A?iqsGKD%mKTGY3QH+S{lUA4 +Cp7$XhrOQWv;XbJmT%CvhC;J$SXwM5#bRG&hU^9=(f-Z0AZEZ_8aCCgl978XvmUUfDgXvlMhY +Y*3{dv!)&UMHA(Rnvqofv&G-w^x<=!0CKoTJ7wno{ul}Ays-G_l&a9z1h}mqJr*P)g +Ig_Knn-$nW&@l&C!pSJ8RF$tVEbs{q-O`&{xu$F6+LK83P0?x0VWmAHBkx-HWNb;bYA39_u2L=$45-Z +DK9?;uwmL^4vj@&cZ+Ph!gYyS4?=~GhTpiHwXx?!?wJ1c`hi{hd1lCVsrWy>L!ECG-fuo`5WU$FLzH* +_m2;CqO+lEJN9KG7%t0ONp2{Hy>V8|6WTHBS1>Bv8dWWcXcX4df(y_KlZEHkEXL}CoZ^FeYPcfn8}g1`h`B%<9PsIr1F2&>c1K&C+!P4w@KmOYA@_I=V4k9BO@;g%#3cCmjq8&VrS(| +93@@pxYHczPtOu{mYOCOl%qj5S^leX0N`MMq=WT*!xwRW${)LG#yKz7BLMQ*!JAkO%=}R^w_|j*Be>2 +@$nYG_Sq)M?M3Sw5kH#;oEc)KGm~Zfey}=5E-|z^-ks|`&%}?&~_T#Uk_E&+J&*5wF{4dhIO!bWpTdv +WbNV;gkG#&d>T(=x;}J_3zYHI`kkc;>Gd63fC{A2?o#V*T&~~kg2wsU#hW91WpS0=p=dn5!YjPCYzVh +e14omc<6#6?i4Jb@a!dNN+QH9jh4<^Nul~FTbJ6Mk;VC@h-HQ8r-u%}<#EJF~UTt +r0J#m(4o0F9j0_@s8i$XS$w=X?SH9}@%`Cmsi&(vQRk3?b{kLEYU9bOHX +7@;eqFBx@_b1a*Pw{Y8b9vlPCXkNdSF4F_Cay=t>9p)=)PpdWI|bc_y~FmMV+3O>tgn +e|Qiz5O45`?*mhP7>a4SlU7-73ip`d5cj|y=c! +4jed$!N}wX)iU1O+Ip)%p%0xmZ=I)0nau#WK10^-%B!7J9*diGjd;um(P7}Ds+>!W2Q-eOQKQ2e58s) +k0lX^}9wWr3=D(&NMMd#Tl+33y)#t0G@ECav=I{JzNa2PNUc$&JmE2}C$l=239b#sM_&3!X^07zmX*1 +p!H|Lo-CoL>HqNdTz@A{A$ZYcz=qp?6@MZcpBbC+wV5mOiCJjG)eS$-*0KN_Lbk4Ac3gNMMze*;iU0| +XQR000O8ldVxvUM&(~f;#{J12_Qy7ytkOaA|NaUv_0~WN&gWX>eg=WO8M5b1ras?R|T98@aLP|N0ad> +3T@o6h%@pEi;z0ipQSOITL&C*hzNR>+m$mrqnUn&0#n7$Y$?n->Sm<(aokF9#8Ht_j+s+C=?2XLZMLj +VUNAamN%>9{Gwp}Zuc4cKFiMMF*{2qot-_#eoQ8Dn#WUCWbCK+Z`eAW#w!*EnzJp(-adDNcKIfdTot@b#Td>h+wl3DIcr;?kVwtT9=uvTK)!^RFs>{Yf{Lg&T_P`hEXbvnVG< +~ySa{V+<>VpQBL;~eTW;UDeRPO-Wf?lAb2mSOWOJ#X#A*OPczu(#17e!W^{D_(0E<+)D-IEC7xYb7=9 +vhXK;3*?~JY9O+Girjc@+cXtQw(Ii7)%j#0^==BKc@Q8jcEAPxAkqrS|g08b +09^`;a}Zhcb7E&jL7;&hrsDQKs`ypXl}35DAjC+7{Ld&o^!{hRu7DLR9MH8F!=k|$|iMCl}MjxXE3Vz +sPFyp1OQ=fw+l++t6l30J`ID@+Wtvtm$kR8imrv@}l7iwnP}K2x$r31ih_0cGSZ;nzpH|L{Gh%U-Z91 +38I*y*y!k_V_V7?Ax+hMM)luDcy;2K%2WzB|ZlWm#qty&7eqn9+S))XAS)CA}ScpsNI$;A3;ZI-x+8h +Z=aWp=N8+&L4Ce^{o}hZ{-6K39p_NKtyp-;21n{&-?HxY%=yUP$+@ffdz%$!i{+eFhImR7rrAQGlFwhach7;(uogu?7$WtxKeH`ZpLKa-dh7toWdEN$SQtIs$U`kiO&>LOmnWGGpDo#aKp7%5uK#5W +*`(H8JoVvWKiP|i4efEBf5bSBw4Et)NR=y0r2sx;-$kXpZ1PB$9TCQP7JK~oImQN+uWo;}I%JN8l-jD +*ZORG@!dT_muwC!l3eTQ_`@#Pcajv^ugUCqxF?pUimOMjA{|2er%(q=aPM?8^scr?oAS +&`FXh-1vh@P~N51dXKe!m5|h=i(w}8T_$g)T>pJ!wQl?F>(lUhQ?D=AC2Y(P{f6NG>U&2jl}nVi&=D; +B~!k*lBf&hZ}$6#=svWvJAAcZ +MM)J*N65Ak6BHOYA@* +pF3OFsE%?VSDe*P|a_zy1Eh577K!AOAg2|Au8!S*%mO5BO^|UvpQjssAcELOT`umeJSH9BwFRuYp!dY +$ZCha}Z?T#>FDaKi`FH%1H>aDC%T65^Xibe>JHO(P!W!h0P7F(qP*TU{NHKD1-yQaZ8MgKGGM)jG;Hx +;p2I_IyYvCXk*Au1xev?p!d)w6403JJY%mDvevZC%2vkc+50Wn*WG~KW%+u!oG0=050Yfg6#*6jSf(F +8KJ2rrWIi|OjFIOwPr!C_DUHRZZhV897_H}p=*Q30Wuq&nDU}q1jr~BT)IUisvMw4cqpBXaAu20&`?2 +WEW7<&xFA1$2F&99@NC5cXfx*3~vm*zL{;PHvh87!)s$u4?6W>`hJ(X?y>SoMA+VxenHh7rU(1Fo@yr +A9YyG3tt@TZ|Q{Tq)~v_R7okCw|gS_uV+QmJv4o^@EmCh#4&0XNy2_(Sh265G}$ZfR9if%RJqS&k!EI +c5$Cs3UgCLSz2eV2_v*+K%px(T%M+2b!LzXDU!j8v_xw(6Ys8Iw?**tk&_bZy5x48!dy3z5JSn;VtJu +j)nT?mWDwHV|%O6VeeLwh>!51&2G2Kh%8LF|QB +l#3861(;JteS#ndvqA~) +TF{)t(Aoxlj_N;KpO5=DMPo;E_GCMI33{_(tBHe5p2wCuB4*I#pUb6mXKW_J33X4sa#teusV0e)f7%_ +q2d$ig$9VlaL@H;7vS&~j=3`K;=mG_{9@dir4l9tE6tYbV!0FBGD6*dGNT|*}(6sG}6@10ue7u01iH9 +%~hO(X@!m4!CZ%AthF6ec#STBr +*s0~a@Kqji}RDIs0pUrEy!#tCe>|-N&fS!m0FY)h1k~Z%*&vNAKYTm~LzZq*Zqduv*AWJQb+=x=d`Xk5S;mYRPiyp^_b~&b(`~fcibSW=VU?dCiQ +XX)X|?K8VQg=jO<;8>hV04PcR&C6^vARR{d)AbAI?6!e*e?ytJjLuM{^&qc|Pbr1-4o6$6o*V;IL=*s +-)au_u#PKXnhK)H;I2}j6_AyRM;AlamSj#oPZd>n)OTfR+MRjxkEzb)hLtwZ65t=&{EoD+f#D$j2Q-d +Q6m>a327EmJVA*?u**TO+*ZWx>l5eEB4#2PNYgN!&k$XM8abmt>zvY?R(v@NGzwPJN81iO&Ev9H*YeVbU85ku`qa1qGv$~8&+yS& +NWM>)0kNRO0MGh?vOv9Lo(=Et;kHb3Cg&~zww=NgWcQ+>9^n20r6JK@ecnJr6LK8=aboz8iv*1)edux +t658Yb`S^mCeBQCLV&RXi?fF$S8v(Ge_)Bkr$tMn<|O8hOf%3Jlq5!t#e=&#P|3E%ocIarVY*eSmTprK1TQ@t +QuN7AfBbRu?(OUMwmBJtLVecm(|jH+bG1;$IS>EA4k6?Y|CnV<44$pB_4$Q);)(N7&_eGN9M#EswZd& +7bYwiwCZD}k+fcclt*O>JH)t3q#LIqJ$-$9Z^suZbu8&UHqtdd^`@F0wTq&}T&=(xrKK^lte;j=RZFp +%6Khq*h}5P)2Khk*()b4EkYIGMdkE-;waVlRuyn4`syHmq}za;`7-2_^GvNYjSFCO(c(v+&Kzqx6L%k_XX3Wfr;r~{#6(WnL&Pue$-jFR_#IV8T`|oT-|3CwQexI|M$=74hJ~RUV_x~A&L +)IEPGgN-xS!TFbhG`7geqRh`ppJB4U%5gf}2gKG+ow)- +`-74c1q?PUpGI^$IqO((c6$Qmy>A@2u2i4S-8NxIgvz+VZ}wp{Li0~0-9wqJ=-R`9{`k-gni$c9vHMo +Qfx{FEDFsOp+X?^DBOmK!yDg(k!HMo@;aNc*BN2P)`0{?b>XNqr|NXe%`_vg3{y2Ijo;xl-58;+8zLsst +kl}6#=}9Y>EDgIp7r`y%uu9L$@?wAMy|<#+L6LM!sgPvKZ#I+@acrq6=REd=NJ=cU^eYpiUTQf<#^C0Q^B7eRJcvPNxxOqS6ugG?~p}+Whbna+of7Y=ugu9sIIbBzhhd% +bm!!6&dOao{s_j#|w8I3LXQ`+}8osE|NuzsY6%sC5FQJbqCB>!Ssl$B)<@DG`omE&yuCoG}2k%Jm&(% +8qmsBbko5F3;&5nJy>yyJxsvSgD;8LBuer69et~=vf&9E3Ic}e1h_k2qpawNiO+%1)&vG&sFNLxHQUY +A#KO*M4YP2SEmsM;rqHGz(lS;vAS0GD(T0D`1B!G;sE<;UNE?kiIze*&>gbY_b4ODPCpW7*6=y#QqDa +3PxMI;7s;=TW!a`h|z}h@}7=H}iy!am|uy|G6aQ%vLo3Wf{Q!-HVnb8S7^(ZQtrRQ`Q;RG0sNLGYCGt +Xq{$RRNL$}_@6Ya`h5u6T?lS&n$6auzWpLz8&}lZxo=xin8PsjV`eRyftb$}KapZUM&VfCm>I!Gx&6z +I*$giCQ%4YzEsb?wogQlZ*!*YSMO$obcUV{}~vKZl|}~>Np%(6zCQz6ocYPx{uX6(P|krYBtmFc6-C= +_;@(1*--ue9e2i^DY8cY>O->w!I~+{urj%0P&!yb9o#`$k!Lx;#;BdCdjX7dyZdO$n($jo?uYf6II1?KNjy@^->yZW?2s +KPLnn12CrMXGqSXp<_fixJ#~uw<@uK46$B(8D&#&dIS8r3DkK12&c<|b2Kw*7?-=W!-w>KTpc0 +#2+SPrq4CzS$!*Q6B^sqeUADp?b2gAjp0T|v7Uu0-nYS*}DTkm=gG)wmkM*=jsZDf-&XZ3L~Aix@gI) +x*uRV)-p?u1d`bUe8u)s_m2RXd+(Rf+!nF3RUJ4 +I;E#B`#WpeU%)z`dt4_3{7;veYS2ArUkT +sI;{b!Bn%e~g;0_v77q)V|MVn<4%#{D0fjI&4;2kO=diV0SbTo_#G_iwz7Z4NIio^9bYM8Un??VHavnMC6UOzJERHjJ|vQ>g>;_KaRdT`~K|1`wm`(U!qrDG|Pq(KQuKrppW%W +c5vn=iA7MutXG`kqY(OkR;S)9A~dz;{OadFp<=+1H5}iR!mF?;mBB;yly-mUx)K@Mw%+UQ{0XK>xC`1gYJ{wlLMwSLF|h(&tkOyeq#IFU#d^FwSwb1tm5f +lvwOP}PmbF_th-t(|n|4Igh+dwu^EjoITb)#k*-e=-@Fk}vQsQ$f$uUWJiU|gpxh2 +eTb(>r$ts;Q9@eQH_5ptcE)L9uUnUAXF4j*?@ +A)kx;qspFJc`uqvBYi&Aj2>+~Q`Mt6 +N^-S>FK?lD9%S4$su#3!h(pFFKYJn=F=q#K7o;t2hQ=n#~~p&S(O%sR&AYAssPpE!Ey;6;b +iv`WG!qEK%_tb91O848whkOeTJDD`S|!jNKctl=p{9nqlO=;GJHQA>c3t?G*zRtm%gaW<63Y{X(Sfrp +ltF9>$Npa$Dr{HM?TteKGL8!uWeV01mupvuh%Q1N0jh?yIz46f{rcJWJD_RqAeJs;i|l_lx{${T$^K&f;S_GJv`S|!>zB@Irj5fv@q_$IW|9EpQBu +#J2%%`G3oqJ?o4}0t>|%>@aN$d<SeOnBqrD!N**G47X_=3IGo+-Y{LU}9+(L3gPdUaf{@z^}visWd5j +;VxH@e^o9Zo_5FpuagRHu>Uc@I$rC#b_e^qOklE&T5^(w?@c`1=KkGD>#FFk;$XX8q5;sSV|Uubjl3k +4aBDK)UC~y)sVym?%7)5DaI2P-s+BdBt{28#Eq}lIR)LDBy(t~yii^7Zrd`MkRoFtdU%o%VolzODj>0 ++2?uoNMO5#V4Pr2zLF~14>?F)G+UO}PZsS!W#o*B@9du)-d1gKwLU{A;KMRb{DYglL|t1QngtW70!)m +d|4HZBV!=`^`ariiRf*qi}Wh)^CWbT^wM{4h&UBN^N+oz$1`rm5u26uqX&kpVwyzMjVAOWV)!BD;)D+ +%J)HK?qbUM%TWLfW#Yw4EJt-;|J^acvesvxb|@D?8vZqzodANAWf{|>S}PW7oi1UR$D|CNxII3TUVV%Vc%XQHxc +cjaNSpQuYq5IqO*c#$vjWXNce3xRtEqip6bCAuLC!&HuivBeSYjo@2E?v2LyD4uY4G_-Lv6EOaax85ip? +J922(oV0!2vj`PxtY{vSyMD3hgKbt8U9yrH?&nAEvKM8P(!GB54zr$KDR(NFmNO|JVoA9`*wb$+E@Sf +;b9(l2kMSJ6nnv=MiAkDoo9+*dI>2UWsriKGN2vrS2~)lkdhrR?F`C?gI}gE6Bkv7ylIMN;kFe>F%7OabPm@a{9E0pBvlBc{(Bn +s=f-vDw +PEqZ1~(RZf#)85$7Gz7^X?&DsfIx(N6#Xzj!=o0F_6S>&y3aL;=rtJ4{~Jy^2!3k0As~-f2aWF7VRj- +8jk<=xCf0#?usbEUIGT2Pl3jaz^m)f5N{v>iRwQi8X$L?#!9Gn<>2nf?f6f47tFz#Tt=2?(u$4Mc!V7 +W(rJ=^I_>_>!)}ZyBfH}p=LgQV7k5FB7&!Rg!BR`T~e#BYFTxW!~V}Aq!xCX>Xs&46U +Nt2OPxnY?^P(S-gRcSh5LDbvBzIqq{ck6)?_==vSAc5ywZQ+SVMs$Ks`Tl{(rrCPsY|5){WTB}1d!5l +jfqC0kQJD4ND2jM(AxZH;aGvDWF(DSosNr)lh&?xR>g(|#HJj%de}XAohTn3T#(9En8GP?tQ4t=VKzE +ItwnXSuAZ$1D1)@8y1c{ag`c)W!{1>E?D#c4R)Wv1?5i;U2Z^xxP|zYwB-yFMCGu!dctdQ=Uqj?g_UTPMxO%niGNiAGNv=kDnlid( +Pb)c7$?y#_QK_;ERV{J`51aGRU46E;+5ln`5Fk$NUu%{ur=Xvx}ti>od%tQ%u|qlE9pFq$7iQL4VKUPDT232n-*Vu9eg +n!>CrKGt%**rW+%0b<;nX=YY&6asd~qtT_`_0m=ILp6<)p?yXH>7}UGAGNjm)B-^$`oIC+Oj|COeV-O +g#cW@a5Xsz>Ph=I!Nq$JOSC+_fg48pQG%t!jcALs5Xb3V>OdFGk4+G{1Pj ++LHD=~8JI6KkXEpvh(T7E7gTl=b2E9hbqE_p}TW_Sjdr4!W}3H+`e(m8x8S%h##R%cs98*}8;OVC)`& +B^ELu(87=npcEmGUejjYwX23{4&S7*IV?|m`IZF|s7wG8-kg1^*Y~xB8f|iT(LWY% +8Mjl$YJYHSKd>L2u@w(4On+Fylo5QSaGki)oKsz!BdY9bs^FEH*&u?C_{^7Gj*6%zcCIpsAon5yh-;O +DQVAgQhU$E*)`Q{jqpLl3b`ADC3MQt{&%97q=r?<=2B_)DcYsKZpTfo`|{jV*KqN!)WyAI892oF7~ow +Gd-GDwMXE(^75|%`WRYEfb;{^I-N-m=!t`wS +%J@dF25-o(-M1A*a>^%w3UKFA<+E133NBe{|8qN1t@p+OX!U!H3iC+iaueTJu?Adlw7qzNHem>8}8`Q +K?;_LA|ncSnmaV`A9LRXn(T4EIfTc-+Kw*KTcD&0y%JhuUf8k9^_WMEEYaaqI+m+on&e@or7n%qkNjG +C3^GRv0ZXyRqwm&-F^vX1kh@EtVIr&(99hqtw+s=e)Osi@}Q6a4k4$%7pRBmsUe&V+0n0>sqBEPM<(N +tgk2MJ2d^QHSmz@Q{PV;UOX_A;x;9#6TmUzc|P|^p!eDW=HhJ9((=E8s^tk===S=DM^6XOj-ShvxYncTlD4)tPld)bqDBDE%c(&We$KAK6E#suJx-oyc1|=s@2Yux!%L1^>8cZ+hW+XO4#mz7{_%T%$ +Dp|jW6H0^6+;GKwg=pS1(=_5;;sJ_gt3|NBhlyK`WQuC!(GWY|w;np-7TgLuA~~OCi0{4s%Q_-oY7w~ +2!1&z8v*_ri474>|ud>5>B6^*b%$`_}pLlSGoLbY2hM81+h586BiI?)sxhNkP#gB=e=hv;W1py$&YS> +IYP3I0mdl%A_Uz)bo}C*D +OSD0%0Amxn|>3-jCzq-f_(0#j?0DlkC(QD5OCzoi!UB`}!;1g5xDy7-T!D*Z%Hn0T+)CBlC9fCc_G2L +>_Wx8G3?g%SeY1G#Xd&+>hTaq9vaVON12V>w8-?-SR-DJ%mRbUHGzQ=N=ioX+kxn(bXW$nlnBP=&$}v +c*WsdK|`kCr7vJpPX*nHP^tNfw5$B`%qe5UPMs;hTi-_g9lb9U5w7~k4?e?c^pMv3kKGO~j-RThf$my +huq+isg%=H5Z#V3kNtAy>YK^@P&Vn=Jzing@l)$v>kNz7$ogXS0sWA}L}yhI4 +4#Nr(9hAMemrl!BQi=jdSTcPF^wRd=0Zp6h1J?#BGtsaP(}^cn|jYrwah%0BZnd~TnVL|BZp4N?Mw3z ++3F#B^0SN%^Y)c*ZIp;sI}b6*MWt9DB(QgK{`6fFz8|p)o4=CkQ#qfOq9Ag7b}!aZ912-#(AeF*qjca +Z(&>n7}Y3Y1kWdP4cJdjWm3eJ_x%*foWXei>i+o`0~JG6x-Db`;!vX#H5JkCV)6@ZFuJ5G{c!gRO0K1 +W{*0UkQ+g&ZtYt4lpbMUR`EZ$O~$z_!Gz6$(Y<@gp79FiHif#Zi~_5vwX0 +eS$NB#bNB>W6Vbt3TN})nwyvFZickME$Bl3P)WE|c(5#@R?0)Rc&R9Gl5xSz_e{ +fd=O_i2KOEoq#n7sEYj-(G^;t?ge4NpvUzt9^$B%AmF;ty_4v%M5WE5`nDXy!*0E46cOLl +7Xi%P?am`zcdi7_*1*r8ZZ#OIQ~3Hg8n8)Uy&ziUie1q%?8BoAbyfqh=>hxZSh~!ZoSG>5zXQY@z?#{ +r(jJKsyjhkaIwuV-x*Kxg&w`5NAdK_cX)vA&3=9vPXb}^z%@5zm~%Z@C1bv<{`}@uuY35E9d@3UPIJz +#+Cq3CB0~i}4u>F`QWIg*!koi~^PV2Jyk3afioR7Mbyy|K$d$ZjXAu%*RD{>ui;HNl2dcfJ22ezaXkl +GMX|i0;@$g8+Z}mnnE_-pZfp-SM6pcn#ar7CwG#WKbi&Ta%8yrR7q{wSJ%BIi(j##3+FxS~n_MJi6_Y +xX4KIPgrH|;z~C!XuZK&MkN_@Zl1U%8XN9rpXZe*fw7)9-sBoz6S;b4507&lOAcP2|a0YZ7%W>b(*U{ZN6EP9D2x-i1*SK!K-5CpFz ++o(qZ_J+R(=n*L4pRfGoJUed-s(ME@=i^J$bP-Xx@bf6crv6q0D1dhGX)9kGr?4?x$Y)f{_kG8)F$wX +ZVsY`yz7TCt;yVTL8cZ%7wh8w-4g=9RXvi1t>&KyX|B}jw10?|-Ht||8#47 +*l1rKH0<-koe@FnlYj*~Q6-30HG>$CJwBG2U!pDEeMpic;hUpR*+?7!8|;&Ib=to)rLJAbFz!Kd4B$} +=NF6oE_8QQekz9{=6bN~*;Kv$iQkh3R7ADo9XrqC4uc==SL$@?hIDSMof`Z3cOV7hH<6<)PcL*svQNh(jD(KcYSWYonwLo!Bl3ca~pHeX$~iOkD8JUr~)Qa2>68mjSCB7>w=HnM9y8{c*Wtsr70`iIdnQhc4voI-aA^Zl|O%-vN{+(?$f*j)7MpaB0!rmYOv +Jmr+Aqq+E%ud-D+!Sj;LS5~40)ybRr@@jHQgC`q#CkPN30)DuKqVQcIFI!`*Gm`Zr4#L>A)%!7SbAF9=h6;*6A6(VVM<6lhh?R?ZiMDQ%+C21AEd9aW(0yxdj~2Q)=hsBu|jPo5@_VV3yvCj72(8 +{+M|58lRNj~`6&GvjsYnmxCW<;llt9i6Z(O=K`^zSVeTSC^oeddcM085`y<^L&b9$(V)o%134DB +uBdl@uL +=j8GEY>=YMT#{(mTX`z%WQi-@ul_TBV?@@n>H-UGs8WXb0Txb_eu#}B_iCTYOsX6AKb8y-%9eI+=CPw +*0AD7GoQJn9F#oZgAb+LGW0qD7@W0=xk4xC#H6(vE@f(+)F&0(x +=MQ|^M126&8H*GeH5_*!Sa1Xe^GF`&zrf##6qkNS>?@8lg1K5qbTa4!>&lvF4*>R`|m`|QMfbYQ4TT- +(k=I6f$@_h<-%IL&OpE_n8DlAtARZv +vC%!=Y<$S3gqQ>FrPkmIx+Q8J$;Z;FOwnp^{r +RuFgLX~?|eKvPtWW9%r`+qz2WYUX;moZI1DGrnfJ3Z(%mRl3gks)4$_VKq`!8E+%qmIiz_Ur_>GEDcsA!a`ZuNJqW(lQ +ddjZKlp`ordh4R0}W-nAB?mvunRgm6WTZv&4Tesdyz^`)1{`5C?#6nuyQA05)L;dxx(7J=V?bL)qPtf +qWrk1BQ+m7lKwv)u#6Gu7L~r3)}zxXbv0h(<9a3 +*vYM&c2~RI&fo~Q0|&isqqW6F`%R?6w8D7|@|Hf*dnJ!6oy+?E;U#n502n-n-G|^{ARSxp=+~>(f5ta +N2gj<8mrCGP>i3UCC54vnrf|5;*y53OoKzFc!d61F>UTAh?Qn@+jUr}W%gQ)nEGza5b`Jwys$X78#2& +iz6x@bFy=PtL@wtjO9x4j;2FDw@e}3HQiBeB1OFiv%aOf%y< +T3Irkp$>@ +BZ@k1C%^g-)=z8IQ`SB?_R%&#uHeBL_9QvS0NgdC>tJN#dw`gE)2Me!54(9_#I&4zYV~|U2q^QXoP_@ +E&p!N2s{)uP#^+ZTm~wqB0TWI#hwPC}GsGX)(x9R1e9G?vXFB=^ +AK3KXrzChGGylT|jAcDDA)Gj$9B~26rFglC>Qu0TP{Mw#20aW{_=HL<)o3y& +$qfl{l)<9nAWin`pU=(Q83U@@LFv2<$2G(x_UA +4gfPk^w@<42)?smFa$2v-6qO+Ne)}%Xf>6RgTbWxm@oln3Al%i;jqDvqd=S&;zG5+&9#Sxo{N|!6FS} +}z<`LY)^tXNQjPgE93$Rt{y71)nd#?aW!cam^C7H=>z0h9TiB9gVh%J(Vsw$nM0x?Dl8H;e{87l|jW}!>XP5E8IG$zVnM +JFQlGr?}MT}lJJJ2V)7Ok4YAYUwRwwf8d? +z3LG#&rW4r&`@VVg5V0@-{XU2y39wrXPjTg7uy6Z?rbS>_QSa45ViPbP@TfP%4dXgkt~u5FEr`)(Mn@ +zgNsLZ&kF!Sl#7$R@vnb(l~#iJ`evx_jx${kAPwb`xRUd_E}Sn^b^&=z!{K9=tby+O>|$uP(^yV;E3` +|omo)T`Ra~0LtW?v9EQ+4!tdmLzqX3^iiuYwEA4-As3wvLy>aX2Q>u9ilNVoy$qURXk-lylcJPJ7o&p +yQ!KYdx@dPKoLyRK`L{4h02bJJ;yJ7%1SdH(vqUiAz;QN$*iL18Jyxg08_(Hbf{wDW5PHb8ew4Ri$3E +fJY(5--l+k?gJs?CARc+xoOvpRR|^^Z+V9Y=?kVn<=OuUsVV8p)mnf*OLrix*&y2W7whONKAZ`6eByR +)`@^k3F^}QN`oF6lR-szW|>i#=$FUgZAqo=m~BqT*CiefuSe%OuSqPq-16AM7MAcPi(06o(9>Mi+Pg#bp_kc)vI#_L@;01?HD~$!O9B@8v#L2Db^j%?);<8t5k480Dy%v$*r5oM~aK&3T)&b<9On5!!%@;<}Xjlg-hc-Zm$eKBhZWZhWb@iXDm;pKGJTCFTa2AySW0wrH^G&^ +~va{ZIcEmV%5>=%zRe}YbGp&BGJ69{fz7 +%e#?G2j@gdmpU5ZM}!of~Ou-sVyY@@&&C0Zm4 +NhyrI;#|6WDR$fJu#d23pLPP| +s5hQ_CTFs%(T!ol_DYNkZ(BSm0t558cW`&L>T6EEc)xO$|MA^80Ztfp^q`kV% +!F)NTiYWR>{9ez)j)%ys)Um-RO6_z2S6xJRCO4E)J@~NByTq-DiWrQ4bdV{?q6E!$CBUpFP*J>@T3I#v9ULoQsm{fZ}L^(+3?~r^zpC475%RR5; +^iipF#m4IlNMA3nfv9zN~yr*;Ro98?ry-9h~g!bNZURU}sbrep2H +x_PVyJ;iEyd6)hvK_D8Z9sjKcoakz=l9zc)_}TKbv`x9NuA%Qd{!ux)z~UMPn4l)-F$Z#8UaDcp>4iP +uY9?azP15W$GRHhcFh@6$QGcP$u63(HygohS427SjpnWIG$qsl^2D!Ha}M;>!Ns@WJF-AKba?la|Hx& +dqm=~)y*O@&0@aQ2H{34vAc>S7jnFsvKT)TLPyY|Lfih~0f@Dp{GShm{IOyeKDEcd!g{c14vt#(VE71 +yX5Ie^k6`H#=E-%D&9e1|h$gA(pvaE&h}N7ZAI#eOZf(l;6_Gc4SVKXrz_4QCM}*tdjoeiYT(8&HBiF +yx%(3VlcU$fZGJ=v8B)SYTeQ8K^+3qbN(dDVgeM6#e=wS&W`i9PY?TF|#MXjXp8wW(M8ZB$6ZZC^%2q(KR6t^I$+xvVE-Ks-9kI7Wa!s|LoXTs%2-S&s +6jK#(o37hErK4Qph2)1Nx<^gZE*L&9l_mYdLKm&oS0iBqWi!+hsN#YK@VY}HUPSZ4zaOvDXP1!FdWV{ +1G<;cpOt~S>+&=B3^)GKEdhInzB`~y_X77W+1s=kbK%}4i{&{S^62ORayYaiF`i)L%v#L(1TEy!I}oG +c!NTkD1I0S_fYjB`6xb;Hqq?dG22ckgen8h^EgW`-ibiGM7KhzsN29VsKkgOGTUn7>xiPZv1LnraCS- +0*kiYWWm|$^RU;@`vhlvSH9nTEfEKc+FN*uRc#T+_sApkj$2D-+WGO_9c}T-o3R`fVVM*XhSL6XaJz8ppi{{Tw)%`=0zd +@Mg~n{4Y#0#C3vgPc)v#ycXqd%GKTSWaV8>yzb6qn=&Q_8&i467Cg0nPhR!@&)FI;HNe!iGYo^?fsWv +BHqL63X_oeOp1QnBtFs}{WRp)2tw+;*;*G)$JvYR~Z*2#g*Hs~n-!ss@t_-xGR&}g_+5&~%u4qHa54M +Gp*E^+IeB8y&b$1gYyisM=#VW_Oq1|;=zKwAa+0EZK{7exT*wr6AcM;EZsUER6aFNHI-Qn<{e^_0j4` +q(ZnK42Whb}CupyRrG5%A(o$&7to_r4Ut|cdxF9b$*QuGf-(F1BQE38ddKwp(@=Z(L;2Vo@dAfl& +4K=*w8?PI(@iyBmDPN`iQ6~bl77B9-XNeiuc^RucR;=DRDZ%w^n~59&dXf^Cp_js;1{>T|jKg>5Vn*qz;-ot>SXotG!U=F`n!l#i +3_YA={qlg&TjlZ_|AG#}5?IG8PFQBlI%-fXe)1fIXjXNw}ax~_t7)CqRBwstpnwzmHq1n;7G8l3lnx1 +(?8NfA@wcX2UI$}-8bASr|ExQK^~;HrqSDjs)(NfF0EJ_$zGQE?S_gDMZAY!S@jqJ#?hu!@olS_U`~b +aA%8veh*JD)UKo7ZouS9|uuc=A$G6h`~4?&8KlzMHRLXTiJor++(oefTb(IV +Zx7$U`VJl(ygWKSI{!yEcyn}qf>7T8*n{BR!Ta;0SKl8Wybs=e|Nh{5z1+pq|nCTS0Z|pzjXJZ3bL#=}e_6%sdii-?b0xXqiHY@UIbd9|n +6)`-7($LQh?kD~#lj#iV%8qt}+p +3_yL%d?q)Yw2%*Qghg`wdLWmX&1%@}>7z|p^%P5^Q=YG)*o=4*`jwy~`eAXHaU}qT4le7xvGw3DO- +lN{{4FLRj(A|(fj}w^eC>=06mQN3|@gRuP7!{>9Pvn}DvjxbF6soBR{eZ=cl|!!E37!S5ZVUc(AAZ(ixYsy`P|2B0dN+fSf~axLZ(5r#fZJ +0eJtBZJ!UVtWbi@i3L;@T2Y>wNqxx>lvTTKOybqnNg#I#2qaNj=Au7D7=j1|4R*!vAm|26EJ1)z<7(9FP@6x^bHtBWlH8 +5yFdn1KGs>sT3^q2tjVtQ)SrySb-Q3u8KO28b%7oaVVw&Db8(3V&o_Y}JfSVDFVN}L8_nqct73A=)&@ +-|jOC%XQhvt!3dcpT41A)z1G8^0>;*SyTTO_Al=XcN?Vt&(L<|#8B-Zrc~gE&r&H{rGjSeMUVL8k$Js +osn3*^S_VAsRu6;0{>I=2ejc$2Qwy?rm~l;^5d4{YG$zCmw@jys)x?lhGDl2POgiS6t+$#oN4y37k0< +r&%oCnBB&;Z0-ZV)?dKRp&tFxe*PAb^(HCG%6jw9_Vd#Mp1AF_|ImJZ2;zXXdC-Q6tRZY%!2 +s7rrA1h3CH1*1K_@&C+hKA;$reOi*rO2!iMy?x-j}^Uw)E5UWE%6E-L2p)Y$ZEeJ6pll*4~%9!T0B{u +q5pDFhDLu$8B-e4xZ1d>FDY&bL54+5@v1`!*acfds$q)fTqQk&P#cNR^nY8-4yXe?)LZMnA +Q&ktG{0axNjCh@@stOfxpH^vvOiw{c)0j35^=L-By8Hz^dlV0&(T#erm;qr@FM(QMNy21{SMoQ%mDDf +a!VFKZfYHXqhJI31d7cVzlX*6xpR&eX5zWLq=s0dEAi4&s=k#O>TlE!y+^CAho)CnDEU>F(Db2bZ3jr^Oh~9^=;_^x#DFjo*!ZS3niuoNJ-zv +<_gb*906tW?|q2C&0ekq0kDFZJp6}a3Wb!W5-z%bxQ96-v$N-XMDk?X!iiocbLFdzrZyzNv`Gv3B$mm +_${$02U6HEUib95A9*7-e*oKXUY46{v_rCp7AhyOd(R6g<&ac2WQr(2n21WDeS+1G#pFPG!OH~*0W6l +?!m%(Gyd8EWyEWKa&x?87<>|f7VO6RoS!NF63@MD-0p13^6OFLgWDjK=-^OV^!!45_lF$!QHY!>9a6- +Zk5n~_3-#$nT{VKnS>EJy{BRWiQi@+QB?0!_1^Ei0&^)4d;9z*A1nA|MR=Vd@5l02m0emYT`y4dqkw1 +%-9kUB+esDKM`06?K2p(3XRir89a`3A8VuzZ0Z#Ff#*;rt3aX-M-!ffj^-)5AydF$i-|Mo$W&^wiW0u~Y}-K<6VAad4{3`OuJUB!<6ONW4}!9W(&-Ii@q7bB}xR6CT~G8VH%N;`yM9z$m4N3yF8j%vwfyir|Mdy>aW^N7yj}qXRTIkHHK?dXn`_k-w!UbDeV#P2bk|I;4_p3JGj2H +X|F`JM2WKdb(FYzy`8t5Z=I8mVJe^Mo>bE$3_{HeTF*I|Ssjs9M;~%1HRzvTAFU +4coklyF;*GW#l`D=BMQ4yt#;UDSZG#l~v8DFo^_rh%knaxW;(jf`SP!NmJQ^A1_Ghm$zi67Sss)eZ@y +@{$QHA>do6v_@&cAx<#0USIRFAB^#ozDa(Hw~9HvX2C(M=7$kFVm7SmEp@nVpl$n}LYw;2&y2 +&gL^35Pm<$m8ZVE64wqc7Jopst5Bkk`E6Od1Il5tl=C&Ufc;j}NmdsTTZfj;0F-MG^7u*~|q$9;WuZSWU +s(GdN~ln-xsm6g_}-cRHbO`CT>wVkBhKz++y6LHj!X$Y`;^Usu!A0R17ljokjFVs)o_`K9La!yj4hz@ +0`nF=7I6O5MQUe>Z=^^20TDP`%1i^#s=JZ33qcToAQ~{$>_J6&qk7jW~6R#arKk4z>0X9-^Mh(CI6nKaB47V#A-pj#|v35Uc$s4iwP*NQg;ED +MU-9fOT8W~h^4(WNp(hiL1Sp1C8K;CYpC;?O+&boAIK{j2Y!+P-k?t}(|mM8I4zQ^1i0mS{ILS|&JA2 +icAmgV=p*plNHz}DB4YxvDZ0LQnxW;Ym^N+aZ=)Gcgso1spNX*3a`Im+MsTWHDfx|;9i@Jx&-0>K(26~4z#va-v^9HFI{i(5UuJCB4?7 +C~{c$`%LQH+r`=$hKouAG%M{{+>~3DCLqk8>fq2aDsg{RE14(Y5q +%iLc{;&Mq(~zcDanC}qa@>$VG&0+WV{i7Oh_Asc8PJ%*HH;i_f{x1>r>;7;SkkKjACfp1rB6r%^epcc +5oF}ViqLwLl{r{<21$V$ReHyf^2szp!z+)Cdn%-+JAWRH1wV<=T+%C{uI~3md;Pv +JRe{AlVYN>dw16ogPZBIiaU||H@gq`4A|0V(0eBIzqE@e*rAZYUbYG+ITGx8f4CKgh2s4i+4WZGqF88 +R@aS2dutRCV+WloZj2J$M-SXMb-%#in?!afWaG*&WxB3>A7chIPXm?2DJKQ2cRl*21jF%Veohx9P`Lp +ONd4PJDE7Fw{7fdXs2#a06|hV^=M70DAGP0@Ok%<5nfA+5%o6@&>iU9EebY;nOmSj0TCR#yiyTT`g%ohK#G7tau9RCj+0i4@#%&yUTt>$Fcd=m+ +69rGxym~5ZsnD3b%!8Xap3#Oaps3VX~V^nb&$ZWBJz*aI|>o0RsOv!mt|P7p8UvO5mXE5~u +-0KBur?QpR6sQrSFNqmOuzn$U2BjBFO$@~p;9Myk*hrej2=fea0WShDCzCJSv&jH{0p6z;_J^+Ia~Z- +S$Y4Zb#m=r&KrCEjvieL1rL`YNNlOuE-flTlT|#*m|p@_eYwm^|GTYXQa-&f*>;1-=ko;4h$t{#tnL7 +}9-TY^#d8BHB?c+?2qXd7sxdg~4#amq1Zr&;4e=x(oPX%GdZ1x$ZD7q^Y4^ifG?q!x-hM17JjI%zJ>K +7CoIXZmE`la0Gb53LY?9Ji3-wa_4uUTyTK*FOyj&Zo>|=8eSAlXDGjn5 +Gqzai#OhPIZ5!w7+wP8b*Z;(5^*hgV9)V;Bb;%Ac2voUiGkgMnyoFB$S2rzGLt3rJY4v0{}_`GNbpX) +we$Ug0<&OHl2tXFbP0kS_TG2q{2I5WH3b{A{d`n>$S41zFXBg)|OF`QvSoSVJR$LP6~!rx9S_`Eg-_= +J+Vc2z6gz?o7eMDc@3tJ5*&3azK>lO?*xXGwaes!XHe<|v!ZD@8zEdKMRagxPPs`0RPhW*diS2Rss{- ++GzRA{0hYxCQ{I5S`fa8o`$4z-i^8M$0ht*5Jh5Z8?ia=)=U)ssA93E%$}?Mqzi2XW46*&kS`1%aLnwuQzy&y5TUcsobqwfJmZ3?5!WT&ArA&X{7^4sDGaN +2ERjo#TXhLc%U$$WOPSSmk>6!(SHLGz^A43=WY}(*TKa|$tZQvSpS1UU%BJ(s-A15>%(nirr~1`1#jXk3?WBiR+^ywg4(u8bdhz2n +(_zLnG>?W_DYO*KISa+ty9WcD6SZ@vvN1qH=rW2zKPa0gDXA*o6nP>Uw|s>jtszt&-xZ=m!1OjHw{gF +I35-XnkF2Cle(LD&tr(;U?FrQp*a`bwb%w)eKxl5$R$a3Lv#8?XKgVo_m-onBGeIQ-}|`RgCywQJpIW +<2fl7WYZyem(dvuM(NCZmyW5tl+0?56!&~TVMT+ycD8|21(_95q@Ia;t7@T3_%86pzscuaNB)GbRF?jC~&XtKzqEeR +=9?r~k=-zZTplsOV~c?}Fr&((Xu10pur*(5$7s-!}vNni%^br8uOW(tRU}FQrWHGoxr;h~hzLH5o` +V~e3G)9gPmWSmjo~Z5;c9B_dgLCOHBP;=hsl9}ctgDo657TIY9UK*l8KMZ$L$7yGz(I7-qa!w6E_(^@B`ss)m}6ni{WQRX4U^yE@vZ%1*5>0TUnH7GG+V{L^qfXF2Xs24tvB|b*w8 +vTD^Zrpgx{~Uj+VW`a3`pj_y%_0d{$c8^<+AY$LQmjF62(hjx9!y9hGP-jXv-h@eCKB?jiz9geF>Yg6%9o=yM;M#6?DLO +8h>Zp*h*E418r2uFt3A7~>Np_!8?jKxK-v4?noM)}xHydrV+@{7IkU!9Q5dkK0L@FBqS+f@>^L6<9cw +a3)ddBKXwbk6Z&GEwT0t?t$8@KpVagTUX#DECkgIW+;iAE(8E})J)9C|vD8(=p-(1nvTtC# +g_iJ@lYQd$Ntr0tW!RKX5>7m^wC35?wjWU`uo=zqx!m`bhXwNssZ +TN4;9a%M>(LEZ!H0q*cjh1z?dQu;W1aOgDuB%nXm!Yb+b*Wo~A&7z0+cSG=RK`NqrXi4GqXMS=jMnzN +0EWS-94%UgEcqmef0`%2I)rWF)L?t&a0EEJ`??vYU*-#HaKnIVC}Nc=II<{I#ZXYI10S>X46 +E)fW$yN$|NQ4Kws*eR-8LJ-RfE2&Xc;ld_Hk)-eA?XB=OqT!Vcx=p!x#_}mYt4)C<4_&3KitrX}K@?I +nZmHb--Soc4sIp&)I%H@?r934-07oN!170I8+L>E73L^-{t;iJ5_idc^4>-PE=uXUeNAlWIRv0CS~d7D#6<~nkAZastB6-u&*) +djDMTK{xILPFX9j34C5`ibBPKuhMQztW=f3{xxtN#O@YwGdh_VUJD8VKN9R0xa8h9Do@iY~Hjdngg5g +w91|LQG5Lqy{}`r<1>14mmU{A(3JaglN7*S6wE7O=FbqOy-FQ(H`Q`l6wUZx?$uRMOq};M(S>>$E`ZO +#JLPjrjB@H2@dl>!lB?@NUe(E$~lh>uIF}xH3XSa>j=>D-SF|6VuoqO#~MR;SyThS~3yro}GAApMoCQ +gn?8rxc)?lvAbv?Lmjb2F6#yGtj1m)93?`iH%5yk1do4w0}Xu>%c^hE@OBNq6G2HG5lvQ5X%>XMwA;Y +2FD_lv$T~VyGa7P(Qft+`3)sBQ8r90arcDWFiAD`^sHV8-G-Jv0q6JN~fWa-l=CWC3_(@IUQKhj>4Rr +}=Ebmpe_FsWyB+jPS`C+y&1=Hk|2`|}~xx;63R?o~HS=hc}|>cp+Di6s;Lpn){4=UZI3-a$6t8{RHuX7JvW +YA8-yXxvf>Q>!?Alyx#)q;yTGY$G)nw8}wyp2cJpAsH0C#Btvw-8441WRp#rc34`8&)xf3^)`66&;71 +f#F@la2{xKlcAPH4#0Ko#J7(p2TsnM%-wDBoopYWhJyABKb~_#S2AeANgo{$>HabZ@&S$bY(h8#=tPx +?=Do+7CNdCxy{S*bdH1UkQ{!r}8- +tTysJ_1lKA2uswPkCQpx}q*nh-5YmEHxDOb{Xrto#nfZ +ruiT_|s;-+LiP7z +_^>x{ogKt}8(;B~OpOeb61~@?F00XQNC&!YmVSUeTt&yzmW#sSVjRq27L;? +Xw0b21kCMja$Pkp9$gMDSG+ApQkr>_^rXF`#p(JoRUP27ZDafkI5fIm=@5bn>0!e27@#ztHGe7tv1it +uCs*xRo7Sm<5P2h_rU-=2|vnsifM92jE2DgJKGryFi3@hgE%DXYZaeQMCX?`Yw~fI!%7H?RoS3|quat +RKudv$@TlBoB;ko`Nq$WMGq?{5R0O@rHr@7vkfP9|;Y_+v-sv5;TRik--69JLkS@y^dK$|RuF~nTMi~ +keQ%G4{iiF&)~84lKWJXH=}>Mn}=tB!ka#T*DUuYTJb9>2||QJ@!$%SW87wRW13XG@}7T3vYW +V?^k6kKBrY2oq}&kVIOOvWbhWud=eAvffKEg-N^U~vbPN{bQ(CAV?LKv6=YOWZ=R2)*ykN7q8@L&26zCqD)N` +;XBjkQPWpz@7~TOycHNWf#TGO$sZ<&UKbd6U-_GJWlLxh=jFvx21MGgwp?j@e9x4`o=6~J?2}&jsb@$ +dLy5RP1IjarloD75Tq!zTQ{*@O?=Aug0*9Iih6Q=VB +q@@A)ws6t7Gry>hl5NSJE!32cyt6z$2ph3Ea6a86>3?ErQayD$Tqppbq+&^uxXAYd5{ED0dXBkF)u5f +B2AH8+55dY~0t9E&To-GPYlC3WfOHkT1bx1I}MXbkmcuNSceh)j7vyA*OUXWc+Hu +B{`+Vjlpl6q6;wq3AT4@!goH<2_WYwVZVO55QPA`0~py*IG}a??fh=gyN5tO+sb-(=sZe`1`C{ku>s% +w8UpP2W#TAS37$7X@iH!8JGF?LXrnbRyqqG*;r4>+a7?Vu(;rC71yW(OZ4^ol_Vk%DsN803vnUB>M6y +i%1e)1nRJ*E?oy(urZbd7Movc^T1v~C@rR%sr#BxaL3&dfvIo85H~3;)-lUTcH|ec-Q}G2yETjlp +b=e`Bb-KivN~FW;blKZ1dL$26Te^%~Gm2pN&bH5*75DS|}l`Yu!| +@phh#qF}`Iz1~CGTeYd~w8jU=W`5h7KAm?3CZdz0uTiYCG{zQ?WBZJ^JEoyhQ)tTNCaS0MFgfb`6>Ky +cKvDkz@dyY%3ah=1C2tLR%MYOLxJC=p%=$!5u(^9ONM4q +rRAwBn#**2^C3t}{FlDBTyv`!)n(OnKEJvaA|wH06||0`yGcIXsDh_EDNH**s^;jljl!hzv^8hgBgK* +3wQ%>5j&?#Qd(O^-I;%m?N&tf=0U7|MQz*q3eo{L_eNPEOnR1Lo#+Y=BI&DXb(kSc;Yiyxu2AMtD~(+*3bqum=5OHluavpS8Blt3WFv{-0Hewn-cM1?e|e%) +8tt#IJS9IJ|KDzm!)Pwh2+dk*b(gHkh8zdYQW^tbGt7tB9k@#guPHh-MzNx6Xo|L0<(#!J +qAE7saSW&rr5(&nj2$1-bzJF8tKk@~q?0|$F(F)T{@2;*39Pdsf#c}EQ~-$;(A6}^W_}i=yce`~w^4b +H1PnhAq4<*)0RG--{pww=HFG(7h_=rY6-CoFnev$S*NO`(E8~=iUR+1;(8)t0y5MHlSh4S;m@)j&lZG +@6qPR}R;iq2zV4T_)qT9C}ed+*+_i#Y4l7Yyp0_+VQnH2Pnb#M_FwakV{FkXZ4Ms#z4rOCL*p9@~PSv +Kt>GQPZYoM<|KVho*{pP650>{e1oB+Jv#DO5lB)J{Y$T;arHczZ29rAOu8-yRD=c$|-_=*sZX9OLYin +30QP`tuD=R_(W1-GIXd!9M2t!kV}YUt?H3O6JsAE*nBOdI4qv!)T~N0vWSPj7^77sz&UKz>dVQ{B~R3 +o@8hn()uyePikVm9G$6zXx!Z4!}W(sQ3>No4uvSZR$@0wd6n8m<&L|x6%zI074xs2mZO#1 +dKHW-w-3|w4@Qgwe%i}D*8n}dmFhgI%L>*)OOt$`?Uc)Q3_xvF5ldfw{FD)8$?%aGJXU_T+D>U$-JH7 +(m)>e6q6cTAEQNbv6uvimG-BM;FvE|N9kL-WVRHLY1!Pm|y4BQr=+u1@n>WY$;P2Jd-{_eA< +9$LGsJF=&&w<2>yA-O$G&PCXZJE_1p7m0CID-7FOK=K`MQ1*6xVE`;qYLn=B`!Zp<2)|+*H!%$3*UYJ +ahkr&#|sg!%FN5e+8C(s(Gi~=0!akVdMY)xZH@KVdpU0-Gb!W3GCXy{cq1N5dE$)9sTL5M`NBGVws=r)&K<#{X@qfAD{fLJ +dx^W!&cw+p@aM6dbmnv{6Z+8teut7nThLBR}><7O#-9M29uN9Wskj&pcMF^7Bi;AmoUkCVX9^g1`}!k +FMfY$J0kl0%~a~RnME$E~=WXsNC5Jwzs!8cXl>+;S)UB+1Y;S^w88=Gq^fE^Ff<5$dX_&8{uA?ulgy> +*@jiPW@d}Yy!L{f9hVs3q0z&}NvFEoFPl#1jdGst=4YLA$m!cUR@qhInS1UEYsz?d-YELPyPn0I)-t^ +{xP;ZyP~LEQ?PBTJV_kugMyaVNZVI8tfw8CDh&q_-ahq&x(avjgyCJ$kBP8KJwT2_5%@N6LTN?txF%l +z$VAOjV@`nSvlS)`T>T_0vt%l>}YaJn8cm*NR%NX_fypka@D>^CV+S8>$G0+PRMyRUMRqMh(u?$!G0^vTERzl>rEfV)BT`QAeH>*S{Qp(|YlZe&!(xA#s@EziVt=WiUi!I+0 +JgjBJQq>GcD#gC(*>LyW9FkDv$n~MOagVR74&7AI=t&NMCv+X>7p@UwA*&DB3vZ?Bk&R>pfpb46sKW` +y}9Y2qkyGs(>l)3BXGKExd!Q+Z$6j!@awUi9Q!v?qX?y!+6+D~_X4_gmXc)H4k(5{bA=8nX8f>fK}gn +&?*sK3gg#F%Z<(wGFOz*Feun=z{LK8J_!|GAP!i43#qx88(UPo&GN0MtO=(Y1{;F3?Q{`eze!u +>Rmx87y+Ng(A%FU3az*Swq`1-yqPeBvVhow)Dy`414c;KsKdQ}$V^^O&*RbRRGBcL1AUOllYV;|R$ti{cSVK3CEXMiWo5;!Kl!ce1m0kbuBPLwb+Sd|< +5g#bydK|4eloN9wW-f4TFK7TH&J`HVj7Had& +5HtJB@y+G_bg2(*TG$ru>bms@Md^Uy%sSwa`>+M}R7tUbDDV~$e*FvKvD?GgSM<3G?vH2VNV)ovNu+x +X6J9b{34EtS_7nv9-{t|7vlg4b0tx=CYXA$j$T&1E+HLO;JfcwCB{XsJ82@;Kr;^eQ%i5;Q;Z94}$;=A5#4X9}#aP&X +4L4+hWA4_;zg6X9Z7&abYBi69*2cO^R)CR7O!Yh)$6P2xMpV^yMEJwib8@~$gvql5$?@GM2|QchkC9L +Z8{++9TqFK0glitxtYy(B6jRc9enk;l#(YD+%yZsgI!9kqJJD{1p93VF#$9NAqjb51z&~4K1S} +mAM?pfYucTZjeAfftrl&VhFZZ@5P$&59fOSng#8Ixa+8fPp +4ai1Y&zK)0UD;=pp#_~s$(sefj<%3e#dP{}_Ep?$mMaVXh!*Up}#6-2i&&S=*$Luj?E_vBlhw`R7&qz +mN^>t2G>;B%-65}psW7T!?wJ)s!aQ}hmd?VO=L67kvRy6Nvtga}bYX#~!A+Xi_p_A`?&+NxYHk8fN)P +()i(DwkzwO{9(AR?fvR2%pdloS5!w!Sv8ZY)4Fbo@bQgm +zm#3&Mz%vL(-&0XQR9 +{3Bvwe^=*!r0cMZEOD~e*8vYGS>*xs(aahnIw%s +bTGJz5D})iqu7+b4y1P!&7*?ev<-v3BF@T34^fuh&1p(i?tc%@l*R9Mzb)*!I3$)4+X}D|nswWePvVA +!>sA14e`$d0j7^&X}lHon`MFhhHp{50%?!TA_Bx1UF$509sB&Re2m~J8|kBYo3H!&UvY*y%J@)-2GoL +FV1!u2TCCDR~-eqpM7#0x_yk*z=8KQ?&L>Obh0bzu;%yfN&Q +Uc*NVK7hBaZtcKmdk1kFU@9mpakN)i}9UX(R!V<30TU*$$@Y0O2TKQ_&Fa$}xm_hhDE|C`R(5mK6rbd +-|7M%Qs)`Ccw`yi!=%$MY$U$jd*2uvFnSDP}Ok?qbM2>*H3MmthCe=vYqoJDDc*(*g|^qb>u9v__?_F +o^pc>{y_S~PR?COA0xNAT+O^_t1}BGqKd0va>a~E2&tDxJ9|z~B!JF?-UIj-dXGhS+5AP4&y*qs0H9GSa8+v&dygh}VM~AOJ +gAYML4%sJxcHg@;cRGq1W>FtUPo?`b8E8?d08khR{R_^2&vXY2{czJh>D~Xlo1cH@gZ6!!pXP@cJhEZ +)YuNeL*!G~#rV}``6!!0nV4RFedjmU+2pgQw3$bfpen%%HHGRlq$LMl{zRbI0J}?mztvq0iuw+JLP8x +P^kqm|kcH*x&b%%yMHD|FG}_=Oc8GUowbgBg7Ae;{j&U^jgd{>irw$+WfGT>^_we5K`K6B? +S2)se)eV20x7s28<=a1jw6_L!`&rKHif)4@~Le0`5E|Cyy+ +I-v4@7HeW>`$#0DLJ58rzaus;%(Mto1G{HD6S)htRM;YVEA^qvZ0w@S*loS36>9rC6PGkpo0|sDVX6G +DiR)nQHQ73hi?wPKR)mO@ZHh*VIO$?`!hsu@MHF4^<%+hK=c^qWz1Z*5?QzTG(qqGf>&9|$hk@Z3F0- +MH-ETJfOpKG-m7cqOE|)Ro4g24p|v6z$EBskx>Fzms=e|a{7GX~^2ns$-GFpU!qS+uB^Hc^=o|K>b2J +=bQ$J=`*GcfDNkVio3rsUv98=|jDAPvG(t;z?gzMzAg5RUYwh*UDk0V=T(lZXLVCBuY| +M!14fj68xKssBLudF}YS*ZPU9#C!q +Jf$Dtp{48{@|25B~$zsg`YIQ%%Hp7`dSB{Fa261S{rO7?Hw0x%Ap^i+&gjsmy{S +};uUoE$3!v!zKfsRPfrOi9uBmQsPUEJ)#k?N&jQn3h+zqd#{CO-iKoL#;Q{sJO8$EpQX&wAN@$js{ei +B#Q1$$S7$vpU%-r<2J@S0!)aKratWPvY}K59GF7?ODt#v+dmw-Or?0~Qn;6}ahbd;V#Y*mK+$cUpaJC +=j%g9ffKoFEJoufwfVF|WCT071v9M*mb%K|?%Y6+<{y*Gq|ULZX{agvEKm?uo_0cuM7I`dJ9%Us +<^q8E6PNuy9`J&7$RDXftf$yGw8oCHwF#1C^=LV3#!NGo)nc=fUuP%I_*hCYWKAE>|TJx&-Yq0ax*Kb>EcvOA0y +|dNDYTe-LufE#-8vgEl{iiQ?zxwj4uMMI4@TYll8>L7%GHuLYfHztK51i(KL~VYKj~b@jz~bW|(6?en +GhAlaxt?BJ=38f1b~kD>OfQzUdAZBp&C=5I%DW@k0tW)NcD|Lno-3081kFWC!==0yD%f(1WO>1MCD$( +DT?$!kUKiqdPVXbYz02qd3Q)k}btHUaiQ9R5UcOR-q7f48P-dC=VK3a;-r4Q-dYvG|Y)62nV5`&RYva +9bx+mUq^6c9DgfP+)^wzp(`;tkm)pjj%x-Vb4vx%yfS|aXh&nlg;ZDw@U@Au*iZMXU~Dg8Vny~en2IP +!Z8OX>Uy<-?jim>uI4%DvZeov9GiN{6WD +j%lYWLWMIbVhZ*NO9%#%%+ORkjWCr28l4!MvxrlrVErSXQ}clQ94E^WrIgb~5DkY#e49{gEY!6|AGJn +KFy=hol9%gt@G;x>eDf|mLwpyx4y +lmQGM$1T7vY1EM=>0r@Ox8X`0|ad`)NZ9hPng@Gh)Ufgg=aB-^m{)J?H$FusdD_ZGo!+&!X+ww+_A#S +~=`=fr{65jJcWjiRE(_Flp%>qa1Fh~M9&(Um7+-CJdZo@BSc!f3UL+vwSNDE3M;M!crLo4BD0^>AWoa +-t!H9UyHQo4fT$%QhIO=3!~VdpdAXVhrT_U2#mUaue7%De0%^}rpBffJl94WE)~Q9Jh#&xw +I>t=nT%5Z^90qY%BIfF1PxXgGg#xx}uY{F`xS7QwxHwsrgF$*pr3knroBS>()RU+5AjSi54Wt93_FmA +0iHgQS+T*if2?X`}a;JG`;nsv--=F*PbSa>y65g10cB*r#+6`L1hTR2OZ_xPV?fOc2!4%qsH{v8)?Tj +d71oTFdrmOM{iW46fbiCl`MQq=P4!R31KUl|1alqvWMY4%^=2iYA;{aqhfw)v;91z-Yw>Ec`XNQ<%6h +}%}j1w4@AOkWPgf(gIq?0VP-|;j369y+vLl~!&9^GL$G-FqUtrY&SxXXJM_vfId5>$7Nd6J0Svmd8oeV>)6`(qM`#p(hz>dXmY4ZKMQv +x*bQMMygk@F|l!J2!0Bxk#lz<%!#SP2sAOm#S7Vzd~b@FWg8Q_nnq61GvqG81q2i_&SQ45kkO7smoQT +UwcWEuNWOGQDYGF*X2eoyc1b28D2nCt5`*|roEM+Y#n>IREYC4c>2zhLOq5QYwd|XQ?7tbfx+XI-G;J +b-L5H)RVG#FZV%xry*UF@3o=F2y3}qBu$I+O>tVSv7g|N1?V9+A@BRXr)=l&-1#tF~z&tNwCNKP8`c{ +EQA`h2>*{6lnZE5un>T6KT_hc3rVpq!`6B2xARyroQtD3PI4xn+m7YSa(ZG=3_6o&-8`v#bCdEFJS5d +Y0eOU|7NtH2FXT<1>NN?H%!DciVsUMm8&D6#}QGz+o4pL%;MW6l|rL5f8~Lu#lXVrlH(?p#hHnGRefo +;B&XDr69Jr<`j3;VXQWEM^oE$;fBff42#^Z9&pD4z-6H#7c=EfwcfRaT)slT;wU-qAunOdJX2V*k->a +aY#MEyFwZL0v$&&8_~yYKOU2AMh$YJ!c>Wvsj~F#KBEK;1Gm~hOQTxY5&{Wjvo%Kydzd5H$e{@t`wP5)mK)VbR= +c<4Ar!+H3{L9F#PyqeV_1=hEsVWhw07A5H;F1}5k+L+C4A0g(T+F-VdD)J(JnNU5GbFiZ9SPzVd`M!( +#1FI4U95h4T=Kr-+60=YNCE3;<=l5O5RdEi-NtkBro=Zoh`h`5y;+ek^hd2Pl1q1D#7vvV8sn`YHV++ +clX-g?vWq6u61A8+xx5Gt-WUXb|!-&De6Bc%}K>`hs3MFjN0N^`_lpe5v5yj=}B8Mw~m_~@4ts@0%5; +VmMMa5!WM3^N^zjqf|)$Si-QG8;Q*uzWDravTCs^UYze{m4(*!nl1`p(r`Y*Ma3K?rb$AzEcSV6`aB% +`R%5F-(X7|u-7vf{KI${$X^SH+DKzDdhuBv!CqgxFiTO7CxO9V02M@9n<4bNMtkahGmTyfH_RWMjXD`yZN; +;npxcJi(gna#ZPdwbM_03JN;G(|4c&r^U)Ea|+;jHQhxIXFCqD*`AQq@D}2D>I1`k)Ec +t2^7=u^2?DI*w4<(j&1PaI*)KuDv9d1iTUWQU~NtPM`w1-Arn12O5DBUhCt<38NOEnft)FrJOm(+f&P +`JWZcm*v#P$yGc0S|=ZUpIWN(7^}gy0gOYvBv!2@ugQTP5D`SPsfkm*K6B45*o%*u&7P!^YnC)W_@2ivfR=BlljLd@{UL68xQ6gEBM7D@{0cepLh%&@qdXwtg~%5?6l +F$qKqn^VBW5Kj*#Fg^fVkR#6Uv3i(P|J`4frRD%i$kVWjA!7wjG0|2`X{4m2LKipmPyAO~&v={n7iuv +%b61Xp7Pz5+G-vWWAOn+jc*XwK>=aC;NGQmio+0z~&RP^@c#_W&(Tpk3DHdtg)b3n+piZm3Wl6xo#dk +f8wdxQM44^t!K-(KQYZOZbLDh`pk?Js3{B?6IXOT6%==*mro6PAtAE<&r8i245w5(O9jIqoX~nUQrI- +T36_wb6Sk!A|AiS4Da4Z&4OItB$K>>QYD66ukz$yzIlEyfvP!1yJVx=zH;jjvoYuE6SM@rCQ++C+l1{ +aCUp3U`hpjP!B05r@u+6`3`2;A&W)-25$x};@#4X;gI2Ck-6`)XRWMeqRQ#-1t@wGsidEI_w`x_j`>$ +M8_1>%3-fDi6%hcJM@B{0hKS?M}>?lvuSlAkk{EjPxoo`ezvKf(XrI@0mVm8wu_X7;Rfj0~F=K3IHV+_sr$M9Fs +lU)GgJmJaqVyhc$=|Hd8uJCrj>_Z9<=|XzC2%GKjByA +vbSunsD!?zA@#GT>l_>2-Wa{0BVw`A{s}l>Kr5@=5`n#j^Zt(W#>`dG|s~4Q6S>8F<+Av{yFBb@5w&Q ++%{`@D8CAF;b?EkWF@MP|E?PSdb$&(ICnoPUSJ(l&ENa_O7)exMpQFfAjHBQ6Qh~Odab@(w)$S)(~Y) +Oi*hP~j4z_J-N#ju|0(!9wG&?;us5`JDPw0EJ=o(f(VK80UoLcFe)k;c?`Rab=L)~e(h4fsvUO8ERC +VTh<@u4foOHsM{PI8p+pHo0x|7JMUP-T>$l_X3F+fo(|*!yCq>iW0*6D~9;6*an3FF;-OstI+BjkB^Y9hG@ +-IgOfxMu&?ecnf3a&aF{};PX||S1>M4uVH(WXabH8Nn_bais`f^-w5ZRhHks7dD-cONC0iZ3dv{^A3hbuz!U1^#wjT>}G>^b(E#H;fNrCYR8L*eIKoUYh`Jz+*!O +vv*)x1#p|o9_mBCS1aKlQBXL8BJb;SUHUGl!(bV43alfND0?l%AT>(L0)dN#Lsk_5jkH;4|~qu$=A7@ +%MyPu07ioflqAE;3#3qA^wJf%$KBMHmJd5}u{#W0NKkmEW&g0B=1CFj;71sBqp*Fm%^_Gp8W<KNl-XY+yS@l8B!mL{X566f5KV;jL{jlSl@_42yEdDp +-mpnV(*Y%td_=^p4glru5@q6jkr`I3W9|*andc><6Y)mb4NVKc%1bOjrKV#HyD681tU-z4|0DVgS +133m(6^q9;X)Cen^@E0SuG9;7{5h8@<+P3^kYwD~ttVnLXyInIB-*FeoY`8aF&OJmJjmRFE@g@T0JF9 +r_hiGyH{cGo&^w2XP${3n>#CszviqPL^G3G6Ex1S8Wb8RI{-*QdntBiqSzJJfKA+MH%mavIKF=1M0T3 +uuS|IopLc{@XqFdd+n%g$GdAs_!+`~Z6oYBe%hD!t8Q?1(z7gyp$F?*rrPsze|v{9k7@1(&k9K$7uOf +?PQ7(@QWZzpidSsy^J_Z(#QsLiKFYAbjuoTW70KaK>|-Wl(hR}Xt$3_OYjy@(HD!>TA-})MJ#G9+7@& +yBAqC*nEZI|Zg+J3$eNN4G3DXc;BvMbF&=5pm4N(fUMCiK5G5R)@MUv(rC6+20X)Esm5?=Njh$p=oKFvMkGy<*Cj{$kuii6L?_~;ND1jgSwZF`pP&+ee36#$Le9V>T5Ru&1-Zgy^KMcqUcD-1y{$gDPhy3Ao8s;9e< +c?@9d`K_``>r$?lh5!IPU0lRy3O&*{yFax(t&pZ?gg>T+;phTtSYqilZ$olxFT+ziZI9zB!t8H&$`0v +l-u?Wc_TXF>a)?WZAt+oT5`oo&4e_XUFntcu{g4i>Bm|HMxngqPv`^Plz7@*^7bzH=e0D8xNpQRsdk) +rXO=OmFZ|vEpI!!ovgxP6(^KPW*DiN>5kb_qPm+VuzwPnJW(HBKCVHO5_@{+f>E*)a}*;9K-!~-}b+i +)t?(%%RO8`ltYsq>N;N5nEvC~61wV@rEiXP>DXW+bPs=Q)m?Hb_T0EM-yDft(Z}d+g>agUBqUZF^N!( +Xfq|)XG(a(2(L!S_=!Dp>mRmp}oQF(}GuU+XVC9EfTh)L3G^5ysw-kY^!L07mau|)o^1F!rn-Z~==nU +nv5@jQ={M@J?tuTcjhgVTyq?9N!AkkAq*wj)lrnV;mONGf4%#1|CX`~ZRo9R<&IwDKI!Pgq7ff@{){t +uvS73xVUc}#T*ObANqHb7EZRiYo?tWk4W$~!U1qJ3i$$T+i$wlqd3qojnRStPx*+M48K2hnF +;(hNp(+R}qE941DN#`iVxVy|N;jf`8HLeM>I$U!`&k$|WY*6TSXuHO(H!r_G7OavPo1|*<5G#BQN1du +(l~UZp0hv-AlwnOC`2Lm{*D$V>UL0%HBL%Yaiack8ja)ND$NTFei~q^V785-E4Ok^A!-+SanoBPLCFc +UcT`ejn;*En(@Ag&?Y-9Ry~XyvmF=BzdoLG!H*f~+L6v`Cd*0QB%*G03h$)B;EqUb$(hg=tLJ6n1RdI +GHKxoO!FUdIF(mX@8I#Q5CohmN(Hg;h$priO_T$h*lJxZ>wG0ktyP)vf6ckDr;plpO +En8Fg(2SxUVxHy|B1B2oW|M`y;o!STx!(!Vfpk}zq2xjZ=iEe^5#An4r$*>lrBquZ(CSkrz|)sC|#5KeH=$)^Y^zo9N~^Q`sX3~3KV!V>PvG%YQOn3?C`C3lF>b(4AzNL9fNG8u9QWJS6 +p{#Y_V+_6TUtg1pgl#(duMp7j0~(ec25z+Sm?%!xs1(!WM7&kI_K;(q^>+7BCQk1b+z*{3R&(9RIN(c +$a9CJE`TTd{M2tTbtaWbNM@?|IIUc;JS5xT$n?8Vcen!tBx~NmPA!vEYHRDZJfnaOj?m))JBAei`Ko( +X5MY4A3zI~QnsY!<|VwGc{nxUa&T>r$fgq{3uD1j=iQQb;|93efK9sxUs8jvw2BcuHzi~HT&$BEh(=U +6V#blmG`4C(nawlQzyR@_PAE-j*y?q^+52Miv;Wz06#dKtsSMWY@x-_AkkX~2(f{m<6H<)F8ce1RKZX +(dYhZ26LBucWhXPMeJS|XZKda(NvyMh6u38Tsz^3*k;W&~xDC}mCFe{rBs!51d{CmOB38(1BEBkO^71lu3DDtI7n2gY4?nZ7)UIQYjqo<^JN(kc;_3J^&$U|+UULZ! +6G3fS)+O|MHEmn%umuY}LbC1RKlBE_d}bz+7z}#79xxELz+<6?xLnQPka^!V+I`7XrxLwqH_7ZgAJ|5 +)GCh6RCPA`|Sc10TU-beGcy06Mrwl9;xV@F|xM2Y(Y*GBwSv-D9+2opxwglPc@tc +-|wz3TO5fP&s^SR)aw9I9QAXG9Jl}Q*SXneqy>#A8J?~P7FMA7e!jy5JX<5LX`<1mHeL79|Z5vu==jS +CTdq2VzofEcO)g4e~YjMd9c+G*r2D$s7A?BSQN^(x8`#wec-QNb!xUZE}3V +ipIVmmb$M3|NY9MSqq>hdHD4kUwynT^6O%_%=@WcRD^~S{bs%Ghkfdg~1Nxbv1L#;!)To`D>#8EpDV(TuFD5Dt9py*tL@y8^RwIcorCcKp; +ecSo!&rWJvjyL2eNuO~N|ADA?JQ=}sibYCglHtR)<6Q}&z~41S&_lso<7uPA6r5bP;X#8-1HXhaskds +T#@1tHZ1ai#&7h+91OA`pWnHpQ5phM7=g;1y_LKJBnEp_VkA8K*8&=?qZvUvZJ27O2t+@ma^R#>Y=sp +g$$_gJPw}cy!7FNyDX{hQYuL6{!13DaC@U)+?hQ;T9KYY4LAvki`MQxY-fm$T4v$fu6{2iuuVNOVtyPq5+sbkseSKlMryOT9`DV +v$AhzD&Jm(zuQ?~N{z=8OqcI#-;Yk&^pAV$hhl?In$vJ%P#HS{g9NSor>6G!C?eWG(`lW&wU+&3DJ9t +n^g3_-uIxy_8|&tM+#L(npW@Sw)le=`_l0?wj@3Q2*BwJdRkL5j*B0Xj_6ynqHO>ik&^(jna1G=0IVQShQ1Hfe#q?7Ip@i##X0gqu6Mw9-(a--NZ6wAsLAHB9W +jZ9=uq!umzM*9A@f}K}^{8*z~Vl@fPG7FEkMA?YV>a=0S*~iLdJh3h&u}0IF0!812O9P3K-MHE;-OVL +d3`92%>!qcO8~e;P;Zo_*ktb+%o0=CNW2i_?+VlMN7g@xVjVFUzhS==$XiF7Qv(nbq{HUE(REJY)aR- +?e7y^BAXVJ#)*{ua7}BzpGS!Gn39}`K6{(`S{>@{^v68a9aF6m;bT3JS~ +CIXK8<~Vp<7`CJ4hcZo{;SbC3wF3g6HG1uZF!k*bb(Lz$Z>W1qE)OS%>s#~;yJ1zL=41AO*Rjc(SE1g +vRv^~8>QMmHU7cxSX52B4>v$RqrD>(`&Rf9?nw^FZRB=d}!9c=1&_<5-*^+%eH +Jwj%B%@{X;%BqQ2sLr*_*^l0RX;9-x37x#?SJ=%w27skqT1#Oz$I(zT&wy4o0U@7SkXtA?0E$oxlhcC +AoOQE~NNXLTENWe`F%Q9MXfX|gPA&h4Ozu;#E1aSpbrXQv|cP)J0?yY|yI6c}AcMKr2}ZDdx1KN!deK +MFoa*hNM;7@$tAp>b?GpC(m>YnEg9mnz_%93+O)9<1XoRfz!qanm+~DIX~Y=Drgt$3kP+!oHCW9hJ)F +(-Mt|H(T|RWj-q7QI;Jd_J# +`W#@uZ`_BO1AeJU`y0{^qVrkVc-D(u{Q94J5HF5))X`@_j#cy>h?IW$e>oI}Ea2x+{4cxYz!G^bNXs< +c6a;fc-$;D@aVPHgc83|FlZD7n+xoD)3v4ZGFN4pfk3C7Zszo!GnX2=9FXen`Ov01ZQ5&RzN=m^-dc0 +HQr<2f4s4Cj^H=+PC8xB4;%YSM$)EYatZ?(JkOb3ba?Ndgd|@n;2rcj(FV60LNVSAd>Uus%dp*?|62A +@(!=g_nSdd#Zeoj#^&kRD^(0e=uu>1x_u9*WB|AAS^&$U!PX +u~X2Vobt+vN@uu3iHlR=4<+ik@o4ENuYt%g87d&G-2Uv)xqJljbaoo@852=Oly89mP7#qUlLYDnvJ(}pV-2 +q@CFSoDx@kFF}+U|B!TnMS+z*xR}A3M8tevbe(v|)dY +Cdu@q6=DvJsptT~FZ7@aVk1Dq@a^ng%5C^fUVOb^hb-jSDO!jOF +}7aO(Ur>72#X9^XdwO?fY+JS&HqM3mlJUrcvo$mG&_MJcjn&)C;c6{kpG#mxnJG;Th#lM0-{dudk(i! +kA`;ki&VEP%1gtirKcegwBl6ZVlWd-9LIiar`K<)y_FKv+8gPv2S@2Qa2x^{>OS77H3zU*{^5JN!jZR +1Xv?tSIyU%lBsLbHEbYb1cP^+vM2jo8`wgt0(nXE58lYmH|6D{T7fPigwATGL+}RC2CQO67HamvN}7h +$8rp=OZ@fH>F-?Co|EE2hXuAoapsm;^J{sCY;{^6R#8~!N4LSMkeK%u1O`T73#&P;LKO#=zgsuAtReLr%)xB)7cK>NJ&WpNc>?hJb +3x)b+6aM$!c_V#ht_#l-3bW8h7?(d-a-oZ-bmAcjGnAZT&uone_`QQ%!>CwQf@5S#u4Ji0ddJj7Ymqt +pix@`}fc$ylZl2(@nt|8Qr|+jG=iZgbZ3xLj7=ThZ@rvpRu;cKPFFK^5;1Q4_T(Ne1)wlt%l)D +MC8cn$zT-o5oflbP71=FVAA5)NODS05+`*@O`LSbd0}35bJ$i8iKL7LU(r?(|B~nUBjo=PxmsAAihz* +^$p);HE0KC^1yK(|BN<#IKyYej%|9xg>4plR5*3aOs6#C%01>i?QJRO&X+9 +L%m8_p4-Fx7jF`OoQncBwMrUeqwhe;u%5(Gj-a#m+!^b)kx%R=$W!=iuYNW#JiZNG-eF +1dtZD;Bbc|8z&=9B&-tI$cqqZZG%lX^uuHOhWkk#xmq2ldH@v0ceG~rBsDjpV2m$SisF*zzzkt(Wrf5 +(X3#&r{KaYb#_1|-#9~R%O(}sFH4wBlJ;u^%=pXCxc!Gtd1~1;KaXz;|nM=|ECBywm+^cMuWh_XK>=m +RI37r@LSS<+=_E)ZPrv*0T>gZsEc!Wp!inlG5@=`1wfzWT{RaR6wC>%^O;-Y;kEoxuX>kNcc%C?{?J| +kbUMVuQcSCk~sW+4mrL}Lh^5nz$cG`W#yAB4zC6LTtLRw*>|0;%3Z3hW9_<)jXc4CBg0+2dI>!ykx*s +e3S}P@t_V(bbVLG?;sd*T$rh;*K&R)1(SDm67o}#FHSgI_%kCVA2fhSV)5Ds^F56^2ODw!Jv@vi4)g& +Zo8BSU$r@N?1aA9qt(fwkIOmFdi>h51(6@_7iI#{AbM)&Yq#5;McFR@&`tf7#pq>d!u;Il>M*XM +Q>!{ns-qsMH8nIq%`e59HczuL>K@Xqp?A8F^inDQ_CpMM{Rb3v^NJw$ +NrqG`fg>{y;}LQ79{*$^joLhrG5Ijh+&@+0ce^K8vGKN#eNBF^7>VeW~+8lR1bOHw1^rP(EX9>yZ2i@ +-IUtW5P(&920k;e2{l6O*?GL>QC5i$xP6wh2t!*5D;m`XZFgO9l_AgPBpu)h*mvrb3^6QPm9U`WYCry +H)Fe8{ID2KW6Pt4+K;*%aBN>gcf=s73fH#r=R99@#8ZmC*jM}w*YhA{&7BuClkF6> +3WS$P&f-UO|itHp-N>PJwI3ak4l(ZbnvjL#)>7enkOxdEVCq;3yP0PHjmvtHA3_h7a3g;Lzp2H{&30` +ZA7OBSxN(XAjwM~Ejg2iA8$rP?TL}acdTrSiW?3!jdsGRd|tB5Oq8#d9L^M`mBu7UHD@De5wFdTYZ;@ +eUdjsys(V}wl<-wkK2NJB$rhZ +Mnk>ZE0C1-Juvw1hTT^QxtK|6RF07axmEs8e7Ic4Er8qj@Wx75HhVru=SQa}y0cL6k$Y?A&u+%NzXfC$OIyLkrZf~Q?~EFApyFpX>vOE9e +GL*<7!Rb`0|>hytFG*UQOR6XqW;>+z2wK3Q3<1m+NW@Z$I^P)I}PYW$D)NLuvf!1U@~Ht_SZ|=%?&gF +M}6SFR0=NXy}3Sq-uhK2PWFPIw||9yc79bZXo^0R_pJzY7I%y%K18j>c9!+s-B3+^qBjbbth<`owd>t +waVgY$FQrDaJE5f}3CUPBMp=1VCv{x9-p0lT>7eZ(NxqBBC;E<=M5yaL9m5%iYr__ezfoaN{-k#?ow# +~E%Hg4ugzD~1I2CjS6(Y4hS*}*|)&i1%Ovw=LNBJ_mvt71|^f<*G&t;0 +p!V&o+Hb10d0y4oo(5X=FM|}-2qReJNYW~1$LA|X-`5&DOmqf=@apS_@dpu^sl3FoYs@4$WPUq@@c{Xn{q7FUPA)5pRLvS7xk~kxX +S1@Mpc4L1TRO!%!=w5qsRiZ3SMw_MRBVVrFYSyGBRld +7QK)`)@&)9OSAV7m=d-Vi4xy&9K>-pJ;dMT(WlB4`3oyBICG$V=HV5SGEM~dh81YEku`?n&O&mtkut=A~_VUhDI9$!cvl}v=OIfp4TVx +@PV9;3=gK1W0x)c@YZ5e-CnU_dR@*{l(Zjg^Q}D|JlUEvQ5?-fNhZ?!XVe;!l&J9OteEl)%Cvy_h=fu +f2~(gpQLx8}g;Dx3=9gOXo364V&ca03`1#5Ef;flP&?7m4=+%D%o|X)M`%#D7H!dtTZ0mAQfIFkCK$c +*%58gvL%9z+Ax^{Msq*7OV$#fczlc|Z5|cbRCW?|V)T1yIY&jGe)`&*j5f)%& +@>ue>k;5SfIQNB7p)0MVgh5wC68`Ku%Alh~GNM>D{TA{K38(cxTDn^!vEgGxFwS|jL}HN!S>#-12PpC +gaccUAO|=|XT=7r|VVsNd@;4x*nDP6UiWY^-7^Ftx76BXmCI|Z<=yf^ohalj?ANwVrMxxmNM{TCYJ-}Iln|(g0(nZy3uSUbgX37?(T +HS>OwzNNi}r;!bDN&t$k?)Lr7=np>~dm&Sl4N%^tLTNdwx(T%OT1*^>!KK=t8)JXA5%!zur173{I0#8`~5ItBhiUKzmIal2hzn#25d#LH#%q%dz +Y7pVld56;;@(=*m}QTy9#fU+qAqH&@hjLRzSMmp1AsEu)681Y=(l&Q@T6KWStUVN_LV2P%;@9L!so3=xsXfOPu^sL7!nmypUaIQlVfB74w +?~1*2ZE*2rwHFiVDGz+iP$MFV!Ls1GA5T7=pz9w#%3C^J!hj!rfwK;qH`@_Ezu+Y&mhi@$p+ty6s8W> +PyoHXd7Tbk-^)VKq}RwDnjEz>-sUJRi+i!KBXo1LfyLQ4P|f!y26##tBLvDoFSV3e^k)Us^vZcae+K# +hyhTa{Qq>Pb>0L9p@Z(geJ(3<*KnNu3>8UWcG3j16PQJWAm&(f+d0tQLJ2f;KQ2d25nAr1|R48?GKj6 +LUEP7v7m0q+}q-qB!IKUB1pYl0yTr~)Ga3+5{y!9jLPo8Blz#z-Q9z4zui^#AcfeFuH=tYk_k!eu#Sb=$Ag2l_T*Qb%JAOx=eKkR#j+)XIlWqL +PD(6UZY}#fd@%&xz5(M1@H5M!2}kdl@{in_SOqkfm5*m&jD0y!Qr$-zdDGRtd1%JaEG<92*vZBD=u0#7fJ(Of=S +VFTliG6-ay!%N6v|LmOZj)@!g6Z;$=qW= +R6c*Qp^_-@oGtNgMt$MbY5^2?24PM9>ukLv9GcMO%=O*ldW(gB +qBC}`~1yM*M}o<;p#*XVf^k{c+J(UmrB@XBtlht1;^c`JFD4Kot%XbwH_1Y&OTeHe*LZnV{m-Nmlo#T +j!JhoLBY5X7&TF=OcofT7=bIR8{owpDF&6Re38{^ +J*(Ou$bZ%EZdfGW$~mjY{h(~*$C7wIu;-8m^?Yp259eW#C=>cHZ&L_Rf(hqCz;Ss@2tddh?eUN+%rJ<_rvUZaV4DP%n(j`< +HAwMo5%s4Nt-;>bcyF2bb*-94}8x9XI)daNb-h0 +gQ^WT%5MJFdNWcpZsAcKdzx-n8kMC2EdCIcr9Cyp`~#SV?KTOu+v^P`V)!LB%1{$4&TBKOMg3u^nTUq +rbJhBdT*m81Vc7q^y>F`;pK`)r7ioZdjkX2m>TvOD|>ZFstl0e)_t)Xa18uyaPLB*%0F<^a2nQ1ml +N+YBZHQPhC>#H6+o~}&U4{ZIY~~P0uvw=Y)U~Qb?7*lO_}|#6gu4>u^AG42{i=R{Rr;hjZ{hBEyJ@d+ +j+YCV`u-_!7YDZA?vZE700f}JI?Q;3Mw6k+Zeo;88DpVnf_lI#<3$yk$X +oD?!v;OO~?J^WeB=o4Gy+mVJ#lKV_Edk%FX4cH_Y#k3m(@bg(#7Tofy}%8=?V4)X +by_+*YcV;OWnpUK}SO`d6jej(3>#jMDE=^i%Q$>4pF!F@6=@xNj$7i3;&ZpxG7vUkK> +qxc842=7}rH`E;PE`n~7=gXWAYk8lFc#5Q8P2M0mh5Y^_2Y5v$Z6thcG>z(Hy@=)a2#G~3=xHUd?0!j +{1P|26SNLFqT61YBBeARLqxJ*0EG+;B_ne=Ndyfv3~>Z^*6Lmz&V2&N*v(%d;}du0r?VJu7alCMV$2U +WA7K7)3W885SRPNrR4+sfiLgDNgp^|ePm3|@s5GCiog*1gDwptMa5NdT7C^2Y>WV37OCh%23H(>$Fs +5Io%8H0Jy7fALY!@7XiH;M#*srvyJOHP~^7kMW~PV$cbF6`V&eBxq;&MYY2Wcpff8o$>wN^8E&k$VMB +b0jwxqB=KP{8sdGPXzeBBr1+vdWbh)ip>u(|I_$vM4q{l3ooDb2K|%d#pUcAN+-u?aYb3KldbdFY?5! +@yVo0c^VWn4w8qo3d-v}_jcGc)ya(eypA82)#~ogy`^x4RJCnV0iH_M=jCNp7!OCece2H^>T>JXP7A3 +U9bZE!Nbz{<(8H2TxjAIW@-%^Zq0q2EaZ&|A?mGcSvBZHHnx)D`JxhJIvCd +My6$7U&CAC2r--q$%+DW(aOSVZUn3E0j0bem$YB%l;eDlHNdiCxsqvif@1F1s0~xqB#AU083kRC|u0a +Yu7Z;mNCTS~*;69)10~xAwaA+KViN$;Mo)p^z8W_-!^l9gHt3r0c(09##- +b!9&ncA+l`gKW?sYGdf95_J!ARURNG1CXW;PBFja}-D%Q%QC_Iy`AoBAR_q_Ey0V%_NkD2Nq6A3KrSK +m7FT6SJw%3vBa&ic-opQ$lHZP@3six5DL)W57OOO>^ZoRaGn7Zplil-KKYcA*x>}h0g@HnSR+_B_h4r +9$f<|uN2bGc_(O0W7Uqn1z8HR<=9F~KBB(0gs&!h%#rH&dtMw@Vv}iKje1~|JH&IkCS_egGh$Vu9%Za +(GV6r;IwA>g`;3RWI*99dsyz?|TOZk*7TuPKPa$d22xt70R_UX%4m5P@>FuWnK1fA{(?60ucQyIB@E2 +sce)yN8QQC_x#2fL9b9n7aif1suCp1L{tKOn7!wvfKis@OLNgWmP}-I;%#97slZ0={V^Z&A$bwfeJcn +AhT-!G~|qB=T*E3_XiXg_`vL*jdrY&Pz26aqO^>|9>`SmLud^%FTeg`Y75>T_x1Pz09l<&V>e*18$k( +%?v!BpUC8+aH!{4bCXQ-MS$QFZG>s#Q}WAVA(!*f6Ekgs?5l);;o3>r?1EF0iI5G49Cn8z^kR36t6cp +GjP-4XLL$Fyv?M1MW@PVRB_*TPUSF)$H*2lCU)MJ)b?VTxvh}*X^Lk_J9{j2JJP#)%vVaN+1}f+6%^^ +9m^=Ht5N}z1LZBouvw$9r-uHe=^`04N;WDr?=3I^Pum{K6Ojf1K4{PA$Lj759=!(*Dz9MiVu;>;w~i% +Z>{^OP3@)&Yt)wO|phJe<^m@Q26p;vY1$Vm#zYTBGorv3m*Gru_bJ{ip@|Af=Gx6P>iWz>ls7*RYYap +lNT}mI?<355kZ4J4vmV?B7+Yl!7jizARHHq7dE#*`re&Izt;rqJt>h3MFwgr +J3h7&XTwNkcxn~k%EuEv1jF>u^H{AK2%@)fb2B- +=Zf=r;4SciN?{yD3R@ey~QXdo;nhdnHreOPpb=p6lb|>gyRry2EcH`bHMjDicqg5A`SieYqjCc=63bB-wKU80MSnT +`m63mg}d?FZ^e$}KM!J^s9+yti*Hve#ldsE6%oMnu~IQxxKferrZ98M!uE2g9UfK-;HpPQW$$IA3rgq +?+5Sj(Otl4?V7sUrhRBM&v&EK}KO3qe+Tr5q?h^{hrtQtU#L+9+F$LdL;`;S8E>f-H-NSJFHsigLu>C +kiE?@+);ZQTV7>_V$;}lb2UtXjxAg?>fw%vEm{#GkUSGK@H=E;E+HtK{m+8i)|$xo$mbKHBk%NGhni%jbieDWlktOVMtdC8V%Q+ +h#u(UNfJwZFjg|AUN;0gMIB6E+$o0-6v0CxuSVwXZi1|9L0BlOI(hX1s0=uWI|c$n;gu3$prGgU+Q|<#?>qH#TlTYx94K9ZZO24;P#L>mg%xY(oQ!^QpNHdHb +RYnLX%AkkrH&-s_E|*`~xb)p|8JvV;aL!Q_-McPFn`N&99{WNQ2KC3CqV$W{?1bv+WzUtYaryN(xb!v +u3?*3w#1skQ1svJt-z^}Ba+zx^T-6~^Krdarjsy7JxV;wv&!YSkOmYu=uEW4bZb(x2{v&lw}%$PL$mz +^sn_pzN*-t`?9cdiRTe{1t;U-Bf*wurGxi^u)0ySykc +u@PISBe1}$uU}JsS?s8twK7I4ZY_P0!yIGsx?f8-(G(RDn+g6~zSAh-^Co4yU0CRp3Y{)4G^Ik*l0v^ +lpW^v*kq`QS9QYe1DG|+POY^%Lfp-Z +%tx)xd6LAN4@ZaHqeN@o9h5=f}hzM(6>xbXikzxfk=r48sM2@P23awktXd8PU3;(#gL$_hC1Zw!@5dj +4!Y+aFykI*`(j-UX6St(A@P!o>mP!>Qztu`nU +sz|NooUA)+y&#-z@68}@4D#NapH3Tjdn393pz;4cx!u@k->)ptidL~2hK}Ky_>C*$H>i()07P}EJ`)B +=qbLd35OsLqAumll`=&o}hisgmGp)m0^Yx?p;}`v;yidjY>#Lb9dhOHcNgUOGefMvG>GwJMn%4t#o?k +^u_+SyB;O1*we9gN213Y}8Y0rPxZV^)e-E7SQt3_OR8@^|7xvy^2F;pC#O)r+Y>#pvP`{#BFjZwId&O +&LmnVIGi7toN~`h=Vv(ecO1{RRShh~xlj7*ZZQickr|QXhs@V2F%fX_!>w1KZ%F_*ZU9R&qt+8Zu+sDK(Bs?K7jeS +1Zyj;_%GycqEVRqaOPhb7Ki{*qOnTy`t|Jf>*?#)qY8$&OLhnOSOTZ3D2K#xH8i`_DDX>?y^SL18TT; +6uesj$!|~A%-!qa%09;A#3A-2;1%%D5S1)#yxG56v*1_&W|1rt9TTj06pOU<~_2{MlltkUFZ@jYe>g) +OX`tCZtdiKz76<@YL`+{FS|Mt7xr=3?Xb|3A*`S4O6xdiCDjj;sZ@O +h_m9E#89#3t&F;j&w`0Qe0gG7a43OEwV9y?q8f`+DLa&=A5}X0 +SeW94mU-0RNAJY)*h8&;F6Ro{*dxxAd%-ayum*U454{2aHqK`wU0uS@ngAzklpwMWQbQtd*YiB&FP;?UI<*B6a;x@^Al0BA5IN)lAZ +NOBQZx#$&6Z(7x8v9Za7}{poj(+xDXsrwOV~`pY87M(zpq#_mmSZg>U%X$(+$m@AXyfLtB;YqbaL+v? +TPx^^629oV=Pt8rg3EG_+qq1@-e&d{_5PW^qWty&Ef!XA5+{2($rmnH`c9FlLGP9-=~nH3UjDwU9DkIcLb^XBHAj}Y$+D`?INRvXyiQdc8MsnVcQD`>|)kQ3(cs+`1 +j!7#$kspVVd_Hk)Z@BD|3((x09gIuHtKY*frg($M*slB`^pN$WhhM!a^bh9v|D}*T=`6cbLk>aa^Z_EZGnQ# +#v?$?BnCtCs64mJ5S&CG0V?sBsvu(*)ioEHf%l#N@}Ct06&trnhJOEy?0d2} +sTe{)-Fg#&NZjkSsuPIU9x*}ti+w@f2t73`6cl|3u)%u4n}GZj|%1l +qxSg?xU(6=8zBvYb?|J06~hWuUB4*xj?{WID!F)^0URjD@A^7WWwDv`XJ*0~_zKuyBJx6c(_l?$5Y0| +CUxdXW0mogpQ{e#4MNsDuXKsE$Zk;X|zBAS87krvn24?fW0G0)|l&jgcz1a0v4;-Ol-#DEzy^y@bT|^Qe&et>qE{wYNq*o&$ +<9*Ky5-ce{ZA2J~R>-3%H+JC&d;oX5t*1hWUgtg%6f*c;=a+8@0gqZLc6?%4B}LhEHQrXgc!d!Dzvh@ +mSVW_AKv-SGsYciJW7-n)5;ybQM7f=loyURlU5nMQxf)7wV!YCfSs7d2a)QPRsevgod6At9E216w^GMe>{N8Vu4N=xdf5HToh|O<)>yAra!K1z#=4BbdK4#-_-nIimJX4*jq7Jh +(4eZ-Z(U`p#Vg)M?f)R10GSzOQ!^Yr&BC9cv3U}r*M*BS_$~SM`2;iLwJUd6kxmvqPVCm4q@W +RDdxlVqQ)T~X`-Y*qYRT{&KRtFqkz^1{WsYKGKx6l=hG_3Lng`V8}uct`q}oJFEGsw>VGzT%rG6;R+! +Tf5(G@GNLl;^5qDL_t|5h?D(suUEPQEcE~yY=R_Y4yd)di6=Gy1cZZ68>+{7Fwhic&Mqoa83lEcp{6I +dv`H*NXPOY17r1+T7qerwsh0YUoDoj5hlO&BQ5oIjQS786&dP)1`j?e(zuSRvP^bY>U<^YZ`%xGc;iG +8>|YY0WEx3nO@-LNgF|e0Wq>+v7?+jqM#Y9a^cJXWch1v+jIKvM4m-21OiIa1yYU!NT)^88Kbss%)B| +*msf4v)N0xmW@Lbd~FaHzdIO+va2Am_VL*7_0uyrCDE_GGar#ZPu8O&v)5tC7(~|&9z9vNcyzDCmlPx +%UryvSk$OXxI3fEn0DfKnZ4;F~r%Gg^PJpbAsn(>bXe0C`@ChCrz`dDpwD`BO`B`RFQ{Rlx?$f^drC$?`~swd>20zghLMSovn4s +r6K0C|qJzsBVtsCb+h$B5JMoJ_)0+MDsT2b7s0x*9pfuRp=ylH#(7T4&`jLgk;Ph4A(qx|h|+)wL?ho +)cCsxhf>CE~?km^%~f0_ng$n1R@vVjbdn`dhQLG63Pe)HcYVu?Di$CFH)^+C(lRO^XXHRX;e0H9ot08 +;mjNg)LNzAtJE6~POXAp@sTZ&p26=U%>z?p$SlqKzy@DT(UlQ%ifo1rd2PUbb6M)-xX#5Rh6WH`g@UjiR{JkH69 +0hK!hhbIW8rUQ-xWD!=u7k)NeSY947&qi8e8wWsnQ!w!Qetg9n&gdW&$Cb+> +|(mbVyopXsKGntDif(xAM;B)V`y?zywyD|I{-$1DPezr+HAwn{%w2y +pj|+f-Xd1!FLKfv(7+Vm8MpZ)R81-vSei)160srW{PE$r#Gyhd(d*G5Iq>t5 +B~CcPvp*U_C64sHyJeui9IhqotohQeY2;gg$3m|fWL7f@pW1MOXEaMP@5t{mOPIzXO?fya10C7Npr_E +j`~VyCMm?W7+Txh0BE4Hf?Vn6^&254dOE+v5PU)pywT9KG7YC>&#Rv! +i-*OS=3?ISsjU8Sz(gKoAu +7}&Uz*#m!)l@8M>gcb}g+KNW0HgH&I5I`+QS%(jvJK^!9y4=~yjX#JIZ?emhG)8u(t!=A1A*l(rrN~{}N%1BJp~=uYhXb;;RE_b^s +#vf&RYsYz;kFWKo=*h~0I*eEQQ$650<}c)&*TwV5{U|eAFd_U7P>UKM`7G62Ic!XRoWZ(ll!gqgZ5|1 +=U;reD74jK70OnDFFdSr1^y1TRtV3(nyJ$BV$SYTxoUynP{O={EO9mFt<=MOVX)I>ce8GgQO=W8;28T +Zh2ghEPul@jsRLwEG`O*i3kcfHO_oF&s(SRV<57on@;)I)$YwiuER03KESO#BsZW*?hk3#loBLaI#JQFLEl_VkF-EGuj*Vmyk0jUG&P(sAeJi)E^qHz`0Y?=ZPq +`a(od3E_w7?h#562Q`Q5F&Ar@{q2y)*x1?;QuJ8=smJ3CeZRM9XHx6RU=xnPLCze1>M+FdUnq2zJN$_#zo%b|!dmDfke}3-YmV +d2q}~bHGFmc+72#Eqj(>Xx7?#9XZCg8OmX_oeR-`k(seuJ~k(#adJAJQrF;U>-DX9hHtNdsl|C9ByVP +N2W5=MeVFM00v|_A%xIYSkBjbAk2b8!q+I$2Bc +_Ezs-kX+l3{K-%n!EWNX_%g)Yap>1`v|1B>_;gJ@C(iQk26&dB;mGsZCd?1Gu2p?KnsFbCerv>kx;v$<;0r$TB?=incqluD2~7amA(`A1lJ|2qu1|^s%Fao{ +)Up!?IeQ*8ApzBSKB~;wI$0BKW^cx-h?E?6#8U4shRyzo_DaY=r}%*n**iX+YAVuQZTToh?4Vtfr)em +y21k1Z>4wa}~8O3st)XJptKcSrZ&zqA}%_#qUbPsM~KFIc_hFfZ>^ikN +el#j+U+cBvbmBk5Lpx9ku#eUU%@wNvVjn89|aC~%IoC?}HkWH#AniN&*XM>F0b*P(g*zS&cKIgI&E{y +DSj&Uyed^QhCNK<0svWiiQlHjjo$Kq^o|2XXs^OgwC1chhK5I +&(Mt!)WaTCNd#?;EzPq78C*Fj}GaF|E*TSnkZ;Wlq4*!!ifXLOs&^kEut3J|^F!{lOvL`bn0sxFYXx$o#f?V0cvsIF0jw78vDmbpR{Es?wMvq1K +Wcg9t^F&PX&3Q_)ZN??jB`Ztoq-v3t;`>!PSUrFo_mc$}VO*@N%9kN +%cWK*r?Z%jZ8lQ)b8cc{+jFhM9CQU;X|2-IsgGqy3kUp!UJbeE<(%ULEYdOupOuarfKj&ywel4)Cvnw +9p}en?dr9beDc@Qp|PRe2t$ffRk}PvQ_X0)%cbYP+I?hcjPWmZB(_>z$HjMHL9Y(5#lU7`b7ZgTa6!R +#Pokr9fluN*fxPrDjv&&F@taoCN-W`GnEO#jO1Xs-R~dgBYfDwpAvPZc-T1)N>IRCQy$@xZSccD>Y``-+w_Nct1$GdPK+Ku*QM-oSRKE7x +*nqA`#m2UpSl5kQHG1}_adkWDu#&ow19^%B52?)>*q4?TLCfNOw__l?8;00rI+|??@*1Ls(ZNEpaD4a +8BjicHry~D#PLIrBM1s=h6vgyAm~8^L8em$6iM|fsF4C?12Y6jO#djimC*U5n12BKgFFD8M|re}r@Oh +DQb~{f-^bqH<^k|<6OqB-z-n_g=_?KOf3xYB-9clWAlQc0xH1-vqiGDX2eb^{Le#mQ>! +udAwYD7@RtqU5Jo1p?&ct%O+1vM!SHxa +83+eqTt%OC+wYtcotwhT|FDKy!OJB-pqnl`WCRATWOwSMHcE85w_8{ke`pUJEETDo~@sc343 +Zne&`8PTjd+up?>ut(R(%s{y@iWGn)G#tOpV%_AfDu6JN3*o{05^$nPX3W%0fM_#$5#30z4ppQ%0T&( +Lu+QNkL3C=AE7zo|-@}zurcVVv-gKhIc&sEO<4Be#CY+V@#*^04UXNt2`N*W&Hk2lJhK^*YNLFe=&S} +xt#?jXMH^WC-PokXGVm8OFeSaR5Z_PCve_XR>69_0Bi>nUplb!4U2w}ng$)u)W0^J*9b?;@9X1Cpy +`+f*1c;t(%iu^TSB4jcR_D6-Cy;aEVYgIli1;m>kzu?%Ze+*o2h@ty@#P*_DQjH5U+sB>t_*;)di-6X_=Xj5c+xj=ES+hv#6=tDn{r_{HRy6W35z{BtcvuFl~H +(OCrH)Z}Bh;*=l%l)&D)?z((og;#jb&A*P6+8wd=0#on&o(<}BeI-{#aLyZoh%(m!C3or^K+S99YC(; +vKU16!%t`^8|vu`=;y4&DkZOhT9L+N^)&{dJO@&)=;0yV~BG8Q}G7x7qs4&USzxRKFbGoIrI#6B+JyF +NnvW4<(75gQ*E8F^V?WZ|X1k>n>2FJstnjP#T7_)U7Ar9Bq)RQ4Xe%VyrenIte{e0=QSW2p5ph^}{G% +y(VVTS==$oVCf^5~S4R1i0of?@OHHx7oCR+Be3{PkbAdT`TuZ^`%O-^h^To8n?o$19aFJf-fz7!?V-K*-cEz=n@%lV6o`>g{IVFz};Q6pty@S^xPN>gUm9zU5d%a{3JqOWEYKhz-|o +If(xD8(vxgpBSiOSZ0M~r-z3#dcM}OaFzsOa5ObR@QTuEG2DhyWuIaS|uv}Rbm5o0k-=1^rHOnVZdHC +%@1zNbUA!p;s^U*fd!K9t(sIxAl4434vKBL&QXPpiSp9BROlD5DTC~ER)MN)?7Ya)p8%?RR< +dX&xbC8ro*{UAT{iM46qu1R7;{2CGqdj#_ckIM5gjUR;FpraG64$rNP>E$vU>IMT$TGz^G&Wgf&@4tinOisN_~^8t3`-z&7P?LHug?HT(@PhI2mkRg2BJiBqB`34_J{MKanKl_x>R +J=a1mM^xMfn_6W0Z*xqoWUAE~Owhl$ec+=~LHk^C*YWcn)#5YC>4+HO)+JR8sUc^SE^^%PkdwQXcX&4 +Xble)1P`C%VDM#NglXLPm$)N}i*PgsBG_wlqz_iDYH9EyCz=wxJh`@MjQ5!EF) +9UhiVLuo_7%+*@IcNY|j~6JfzU$wnX6DCazMd$umOJ>0@OfR7&Lou|7$cJ`kgEa}j@5A9AgnPaiJ^%W +bDyKhrXz6DFbCO`<2tC9gIUZWJ(>ndtFm8inpPYu%HNe}2Dun<7`P02a|EwEHWUa?j9E&{bk!*<)Q5qAJM!mo(+1^hFV*oKky;+v3$(g%Z#k5L39ZMt}jFNTA^UL&-qNH8zh*j1uf3n3aW$F->UCE`Cb!GdK$2^0K_KY&%Ou1)$Koqm@-Lz|-{ld5Y4GlNgxWSSmAcOIKFP+_c1?TKB +ToMudjlK|XGTJtrVsA4zsHeoJC?N|B_L3xuxc>vV*K-h@(G+3wYq01GE3h;FF2bQ1?L(<|M1xx29a}gZOhy#?h>CtyT8}4jrZ8fdu*p}J +iJ4#&dGQTxEpnVXbz#CwZoS>1W$JjkbRkSr}JKBs%p8SNs+|nlgW5W+%;4N;Sf0eGq!UxH|z|Hv5EE0 +VG!t0e#v=|`y=3)Ve*tjrMfEH*X#M3vem2EvEvAIF%QY&S7AaWOfye8R%un}8Jw?k*lw4}>0q4BJT|` +IdIGKej$Bu*(ozW|Xw9#v;o$|lguA|-{LXZL2|FEUXei#%n3gA^It~a~4~&R(k&bBnO{U{XdPZrj*{L +@7n_7W$cRblQlsRQSLg2=%q7h`MVukk2-Y2)Z>4?bev+Uh02zq$+I7X3M;25bl29|#|>!RO(jUjv`Ga +^Zb@>Klx$W(8^`BiQr!&=^`sOdvrMcgb}zMI#;rL(&+wO1w)Vxa}rG!{syISdvkq_o8r%`1xyc`Ue~m +u0u>AEjGxsB}!l-}ws~&hVEoQQPulyw}~ESel4=$C#mna)MtJ=~;(vy(#;=9W_4Rw~uWdx;yN62yz2g +!_=5pbqaAKIvQ<0IBQI-&lk~M`9XMUsM6#hI(bG>3M9fH=N7f0ZSg6b1GxystMtK!Hj3t~0@xNNBCA^}kU;#?n=0@)oKe~v7PE`uvtJD +g=RdsesjB&!ljgbs4Cj5hyGr1;-NimQJ>bt(u^!`cjViz +RI1P20!Z$&B@<1$7tEjn*zxfJ}4RXG0p^CY4h2u&|Z@$8sh4~$+m65?htEltCJ`?YW&tbiduva` +(jzJe#Y;b>qsCpz4^ZKzt6F3vP=_Z9$csuU*r~|lWxQ$|BC|m;AshgRJ)vaQ#i`mcU%L4xns9GX +xSJR@ngsLPFaO%ct>M1~@35LIAQ|Krp4106peLo4r=uEeA~5VE9DHI +bP2_404D^7GO9??iF#Ho!pO)o^`YfHEWi#K|X8Ok1N*EF;60jWE)IAfzq6xdaJ3u=EUudAshf)LJ8@D +^>9Vj-3Cd?>NvU9$c9Y|E*rg+q-U@ZdR5QoAS0mbBvbqlFK%ecJluL +H@5+7Kp{ET?c{y(3RAlE;YfO)JkIj&w9h7Fi$Cv^;8zuXVjv=fpVG8vSHGlruliSr{?onF#IncP;QGHws*gan3!aP0b-Dnb)(Mz$@mQByjC5I&)$!!^$5 +`Rg8=B~U&7m`eb_Es@D+D1M{~7{bD&bd$5N<`*%%5Bjs!1?_xft@1-x*YwD(nQGJ +}deS#D^e)Q81o)CRZ&E@vd-%qNOOk^&K+Dkzo~_*+_1@8NEuWF*!J0Xdm|4@C*Dg7et%6Odp7IvF5`S +Vkhkha8>`{Ygziz+m846G=#nX!@a +%5V>r@B)kLO=e9lT@YOiO_FtB2FY6UAiJbQb!3W$fLHEgeXu&seN%SIKg-$rcD-jD^Z8jha +>h1YR-(~05_R&Dj>!^r}7!Yb@>idia~9KV^D@n(1m%#kn*|!X!Py&unT5F8lBq&Lb_{}81m+uPB~L$A5&gm<%ba>-BqS@5IX?YdAh#~^{ +^6l7u&N?(!c8r(t>O|(ll@pg{KfCIGmCs?Jhz#lLZb6=Y$D0!qG)nL)d$%qDa$t;`cHT-RdkNZasF4QI=`Iy|VUNE_|$8#_>knfd&XK;ErvT)|wylvS|NmKJ4=l9YYMyOU7V)4JK#|Cw!C=M+!Ac4Zvs`%3NCLrJ19$t`-pxg;nZfQr> +g~WznuiO}Mx(dg}`1UZkE<9bH{Tg&)dDExG;7+#uR8OcQmesEJ{`u5Bl6zxk3Z-C1}o<4*9EJ=e4IR{Z+Oyg%rn*dRI_4%TT4@G4}qIXZ=XV!~(L$_!2Ro +yf2x>)}GZo`F#>>ZkNk8PSdot#juGDMf?stx?|axK*Dk=0ea+FH#WT7OJ(R5FB+-N&G~{7W +(Qyq@GG8DFq?f@%bZP=VS=|hDNfJD#gR|@eRza6tPLO<2L#+Dw0r@prZk{UR&1igK!wbN0fWENagtMw +hza^TCbqrUIL|a=0Poifab8RZWA7T|5HZzMFu<;5)Egw2Sic~>fuDFTO_DaC#0{<2JWRX6qK{Dz&sk~ +6Al^@PC)zlB8;#WnfM++zOPLCiP^UnubyLfgpdGom^5BJskE4sq +VT7ZfQ2G0htStsgstql4M^ZJ+Lkfl~p8+UykQSzd7i4`!mcBhh{f43ldfrR)037M5d$S43-SNX2&ku@ +6mV!Q!$g7nsXRm#NxJ_Xlt6pm?8@zN;*H8j$uecGf`QPsa1Bon7%u7MW%TnjT +rbe|if+_L&amhe{#6^SRy^?BSke~NYXMa!zIp_1c&2CjEuWL6+7h~bawqhjCI>ziRF0d6);+f +!YvpcJB+VC1ER`9jkQRT2~7WQ(*1@|3Gh1OQ76NbuOl5?ykg?3Wp!7Wb>j-tzFPK7;vbPk1`&A$-kXWp*TX9eY`%j3K21;K_>>25SEVs9{ubh*nk|1B5werGzh~nR9l{Tr +AqWkz64ms^E9a5Z?zw^KdaW!8v@-Rs`v56r$q@4@r65uZi^s?n7|9FQ3hD>Owl=I$4e2t?3l4IEl^9uRKbpO?9@FKWx_4+Z*?Rtyn35Mk7I=7j9r11N7S^6ix3 +ZNLw0TBNrnA6;7r}7u#f9)z|KjVThZYqgGC{CTu=bRZyH9S`X4XJn>Fn3~(vEj&LVSVtkmIup-RYC9+ +WQ`puybUb`OwFYPCc@a;F3r3>)7>JQTMg>6LuEnsw_lNt}W9}iqG&e@P5et|}$a^MG>2RJ}~Db1OA8! +}`PCl-t8v}>m3T4 +}Ub@9mj|z%_+rxZ7ZEoDs{ML#*(u&9_5~DqBiYxKESj4mTOg=Wa`9szAMKx)}lv`-l*j#i3y?0Khhbl?7xbDsdc6QJAGpzJBiMIGW`#e-^r2T-;Hh;=d+S{#*j3I)267SvhMr@RQk< +IUWs6gM8`D(eqzwBt%}(Jk2EJIwDWm8j1c+ms^$T|x&;Xo47)-2%dH~s8$t*pYqc0pAq!5I>J547XS5 +2-$ICe>QJeUthhO48i7V0%dy(GB*H(i?tWW0MqPD)U5K7}eL^XVX+RHA+U$Wienx}#42j<+ZS)a-CTw +qS>^=rPR3Y(X$J>v!#dP<_eWA`6r@k1N5GM&;`0;DxV+ub$7wO}+r*n96Er%7thYmg{)TiMYU{BBYW{46R-e!nDGloq&29pyV9|?MXb2o +KEwqYSEM`=c4S9iyBN!K;m1Z6dy_z6T-Qa=<9M_f7o`m>ROPtq$qTr%KvDB^A{Ru(^!0Ty0U`q%ZMLX +Y$aqwu~24iaXx57!I#1nRO7%VEF6W)%!pDKn(Hv7%no$B5OD9o-=UMW3jSp5-6HhlQi^+Yz#z +OTJZah@Ob%nJ|$g4g{6aTqv!aai&D<-qSwK$x8eOo&yVO@ZJ=W7q8A>ariypcbMyXrK0ckHe}oZpbkt +W7FnjZ$&$)GOM%OnMGY@O6(&l00B0b|hkr6wNut6MQ>D +V_Gj6KFnkWkjJk{NyL+HXD087Kj+YhKdZ8lHV5gqZWrlOK;G%DWE`!BkiXqnIm+alq;w8?I__`J9YNb +if7Z(+|^>4t-qj+S?{?P;}c-KA%b+Zd?Qui3GJ@ly0WG{Gc9Yv-5H95!49n5)caM1c6?_;D?ZVzAB_9XK_iNylL2#JNwovpi7Gmwf}NZXTwQG?Y2aVBm1IA&SN@GBA<8Ha**&a{6_UZG4VGyEK^#0%#OTx_$Nk!Z}lFQk?$b_-)qd&Cxy&ILJ3&PDs2civ96U6sc_HU-^`JjjY!#};jDgN`*X{DU}?(EoQQ!;j1K_GLKLI*;;-biYP +QiKGQK~MhhUnnbop*XM|zy79ld0Sh?x-#B_1Q0TV9`sIsdNatCvgOb`^7VM90W~{yyZe{g-ATGTJ=0T +(Tk9KEMV{K5XSem40%39ns(9GEzv(3wMJ`fcCOgUfz|_dWmg?(AaeEHFC^O|<^OrdY2fb`MZDEwMtX5 +GIcE?W69mM(_pc8kd_17cH(P=>8-S!CR0FdRnP}2pWaoJMi)S}5TctPe-R4~A^;QFJ`TQ|3NU>-Afzj +h}tb`)L*DLZJNFF=M5o|Z`r1Ms4liWCh?3OM-1%}HT72nu$M?ux7|T~!JqtKk1~>(=dCx0AEM_#_=9= +hH}G3yW#CLCUEM$H-x|3K#4I +NOZfoNuX$W)Nac3@*Ko>zHWV+jr=qh4K|UMAOfsORyXcc9qq)Y{a!C4`!U2ETLhbdL8cZ& +B_!0SsW8h1189zt0F5qPRYQuH@oP!X3iqofYryiI#yyfE?8AWMZtbUx +mi5KkN&52~DCXv)imf>Uj;SK&<$c`eqkzz{c#9|{}PxEZk(8PKCKDaq`ubalO5EpW1uiVlut-88JbD-p#wi_{z4B@KKFrQ!?3h#Z|^Y9hLBKz$BZ=;%a_U=HJt28_=SNXIx8c1AR4 +bQMISZ!`S!6NOsKFQ=)t?rrF#6c%Dl(&YHSQiPC%D#Sr&tKc}rb&ARACX8aAkq_RRf4XN$p#s5Sa4wA +nUKq7|dzL#6$mNcoNsX#ibiq5rIy_Mi@GIvg%gBsn;M@>`m4466;(xcd*imot~k)_Ho(f*whXA&6Y@5 +g3=$H$fSX1juXAab9mdZI@gsLn`|hgmmem$*K2>?WL*8sEUANp&`r&W=)utx;`oTZmu&u};lUx?`LrH +mUDrIYthqbYfJ|C@MV+&=J*29*-rT9CnkKMBuF7OgUR|ZklF$zMilDgXt=vZ<9;XxF3vP(u`))2zA5I +rSYq>vP&pz4+!5Zyksf!z?N;4%uJNLu*eKcAUkL_99~EhPa4VRD6J!vW>_osYt?Cfz=bUSk5b%2Eo +#^O;nBw)|ALbJ|<8VW?;>8CJy+5iH;^5PQna`$LfS5+Yrxu%^L8If#(}nBrb%l0~0%Q;r^!00K0`8GC +*F)Gp-kbDvR2bScP(MfM#3clWpC#2#Jeb9aLHES*>a=ZW6L$u`!g>jX#d?bh5mgPO_IEJG^^|Ieo>~S +MZDp9uqFYn4^Gl`DXIZrsA+DP{*|L8Xs2F?FnA%w4kX0nu~WEN#`UVU~Is(M53JdB`U8+l?K8wyk_`% +#;<1;Z!F@ZC;T8V&CgFU{u`k?r*x+#cF8>Ffo^j&&(!2WE!VgGJnwhkSZaz&ql~0(<@KM)`IGYw9;R= +^LX0o(#+c%AFb2%#vnG=(j8~~G8K)$#p=duk9iSPFjP4BfBX-}9F9Q7~hjcRS*GXgzUqQ?68*GVP^iQ +C<1ja*dVsvdt6?8yVo-)jxFh%8IYJ4%FVRkvt>P9nK%AVj7DnVg0^HSRsHPFp;l!aLZ0iTjbqnD7Wt8 +#Og>IR&d%>W!L0ufqD;yT7R9`=7pSs+0gZUCNTBeE8PVK5-Rp8ZOz_=x74f~H~|*IXN98q_-2r6(FqK +-TfGTX05OiQ~f$Kmt)VYz>HPfSL6$n +9K#7loTF$4wDT%k@O1|xPwi|2fvq?y`8J(~mviP7umUG#!8FB~9c#arf?o6Kw4aY{Dqcy!>-x1uk8BO +TLJR8o@e?Z#0Zw}(Np^R)H|{47x3+h8;rmW|W5IRW;bHY5Dj&AV#(abA5O;U&qmBFghzf1dBY3My?U; +(b?!p&V&8jMiM-e!qa*iO3qJja$Oje-j*_^DmQTfinVrb$T^q|xowbDHw_q&#Ev|}v;}N{Ov($i)7ebY7Fk2qNccE0KQs@Rlk1CL%NA@=5ThJvH +aSDt9~6Dfln{a+)2x&Yhla7d`?}jpx?A2&(>*?fE{7-MfeKmfFDO1Iql?Ma#6l)HxC}Z5WgnXb_A&}% +K>kBBbDQm>Em*hvk`}=(RkubnUtNx7>AN4ejc{oSO2|lsJ6llqKO1viVYiMcM6^M +=D}UR(V{I|^&tyq&B%_Qs+ccvCoPspj7)v&h7cLC#@OGP72Vk*e`w?58pO48*4v?bKfCHA-9ZD%;T|e +0(Azp@the068cjpvtfZreXeNi5{ho8jz&9|?$6@b3BH%n7Z(rz#zbfBpcGf6bs)DV9{s72FF{BU%(@F +^`w+Eg`YrRex~&Bmlyiz73ksxa{7Timm_CZx|n>-1W(be(uAv#{9M)Nna^nf)%_6teLu%^e`QmG|Pkc +c^)KVdpQ0tQ&zZ6jYA~cC^SMK=eO$>1=Z_PU9nJo=31O`-a-DRSxguM|dr7Dwatc@h++>v?`qc)u8be +@a^};AZePlxE~+daA+UlcOal_&WghFddzvAQdD6gaTLc7-#Ff~gtRRrY$Co5Fv2CUaX>H{Y(yrjFGW20S@yE8ZhaA-vBTYUG4U6KB=l80^+IrW4vQD +nxKPT!zG02+nPM;OSCWfx$*@HD``#wJt*O>^(rD8#L!z&aSZ4f*q +kzlb%adeA6}Z{jg9<_txYPzlY|a2$AkqYVI!= +q`O{Mb$x0PvD#s*=vSsU!Vfjbl!x$!Ltxg{lLtxWXJ@^S|-ubn2v{qpw6%=UX4wbM|J&XRVf}<5G-9g +oZPz#B7sgW>ux#fDx+**`zw_q!1Gj6F9SQI!MOXBSUVVlTsxOo@Z +`o9X*01A;j>Xs1F+xq4V^9%#>sJ>JNg3E7Oz!02Cp5WWffz^h<_AZT@apEtPaI2O*h4W28@Yzz?_{L8 +;vYKoV9{BHxvB`pdUrFMR+VI$YnQ!7}^u_{6Q;|@uXG_nyS_}3ooF-YF$oci==RhRMYjKq>4Rju20n? +eg4@xe9Fy7XD<9eTb +RO@`x7(Zwd}R%4VD2H^csjdIuE^ +~{eZ=um|wc6Eh5GDUg)A))jF)$&rl*Vtv>J0imgI}pI@V?!}cbKr(Y0wW|alBhr{2!Pn2O+6=SsIz +*Tu+kf;ZfCtr*xQfHu`)#b+Ll0@u-4{Gn+d}Wu0=FfA;woUsj4G)8;R(WO~vC$YxZzS>qR52mE|XIuj5 +CWpAQ0mDpxZ@|*ft%UCz<0EED+m{eKQhMDcuL+X;Nz@h|)V7LDfv=m*eBtO)(pU4;hNQJ~}?GN5GzE@ +5(_RA6H+$t2#(Efb(vnjnenUc^?mCyt;={pHwxEP^W_H?{43ARZT`?)GU*CGaC{?-_b@;tPp4Ylm4JT +yNq>o+?~O(v#_h{L08uwEbpqD16p&ef4MaFQR&I}Ed}3Xg$ntar%8{HjWK +~&D&bc+o$x|a^r_yho^T}YB2M~-w>@Gzjo%QsPjLOX9`zQILSwjCcKc-;QwGi$2V-~kXgsKm3W5R0E| +8E3av$SGOyIkRY4-EHKULOCq6A8fYggAq1oR{X)@A9Lp+ptgw10Yu{Q-i&@jpfs03`P<;{jrg-(fk57 +!=&|#e+;JpcT*WjV%al@WMMiydWKUe536f<4=qrku%2xub5$G5em@@mlRV41WLYPZbeWh#&-6KY>#kB +$}|Z{L#B!pT+ym0jr;)8@F>R{0$v|mzC01U-8oKxX)6^g!ic724o)yb;^Ty&ZP)cZ_9%6xXwUBLCeL< +@ERjYg%*%Oel{Wdgvy?SE=hYJ%Nig$t+ +S8A>a+2MInRF}{WoP0n@^L+{Tu~dSW;Ds*%ga>E|hc9ggRVO3U1`J7olkJ2%>PwVrGUOO$$^&+jA5Jv5+E-TeYBA+7`aK|shjqCMoPsV&>CWW +I-j&Q`q3#nD7gG~?BHtKM#Dr87F|ln1;Z)D!8IN*bd}y8$sGkSRh=N6yYYW7%`Xn+Stv6M0kbWfB%Sq +U`nrfxoFj6a_b>+`Maw&Y<8Qb`>{G?z8Z9^|aU{QleHB;T1f=U|1j6~yInBtu(sgAj^S#b68P7W^$R|Rv;J(5MLQP>{bO(D%ey;rJO9Gl`8~VyVNdolj653Ej#`nnUjfZ{rn)QhWQ%H7fj(@67U)Pv$1pePm43o3@M3vqs|fFNANG6!>C{EG&kL?Dm1gHdxjAHA=gH|lfmCLUn#c+D>0;qWteg_jZ-rlqZDg +0l3E4+R_gI0WYD7m;;^Dsk65dCw@HzzM^lgZcoSf!+Pzn47|~<h`{370o@GFjwzYOBzzkHa4 +#T>VLi>-a(Y438xbl-4${QdxoMCY0bBBgZyEW6L#Gv6mfg^l8>6PCG-8Kn{ZP8GTKehsLm50araE`kt +)Fc+|k*cbb4W#Hg_qtbtm6J)s7GaZss=1DSXAf1wiq|j&GgQ_cb@f>X7nA>;!<`vkesAr>1X_XTUZ2Wu@8N{bF(*hi>~!!R4X@mAnATFB`tICtH_?@ +z^lu?t$Q)VnxW39MS10QB=SmC>Y!c|?-!LB5q8;kot6p>3)Cn$eaoeog6^uv9I<~0l#kf(%xfi*wh*6 +?NkrBsR~=?>psr&U7=lW_K^l2lMU*m)x@OyFmQaE2{NPhRnNEet +cucmYj=lMNo~-7lO+|ze+9k9E=CEOrPQtKfC7T|J(3!N^4jOV`M+13%`vc#EjuER9h&IGN>8!HQkl|C +Pje@^!m5aAwTi5(A;@M^{`e90eF}{lv8Kxjl@c +jF7M)+LAD@@5A;n!jh`g64zFUcjLEgc{)pQ4IhXqKPLD#S0=?nAD+F(Zln5$0KK44!=C0^X*gw5A7e2 +;F43RGvjB-8HQ+@yvVA{G^p89r>8P1ZqFQM+cd)cjn$2-P%f9vu7KXx!EHdVzC>5)E4FY*kt@{s1!c0 +&$qp*ccPlUMA^ONmAQKtM?J|Xq<4cae=ygV>5=ahklioSly;06Ur;_Y!tUF`c=4_ty%|H=OW~Kpq|svnd|+ +)JJ&6o&3#Q3O7~cRBWfowsJ(0^$=^7QQqc-gwQNx;70J(#wNpuSAqpV1LF>36ovC66KKyxG@?H3zf)$ +|bCa!{V+{%29<~w}A6PMGF49sCj5Oz6Ga85@71%#z7d;ao97z@wxG1#~F +iHxdljG{aah5(#rX^(xzEj*u*!O4%>c&h4RXP}uhds3$+5io7o(d9C%H6rnJob#hW9suf4z10y|vI}% +bE5w#VsBPmaNX3^9rv~DRD0P)JMvHuz-9WKN_KDj!9xsA6=D=IH_7U}{4#lS?`>d~0u_c5TX`u|7iz| +b9d02bXNZzt09KTV}I(&B&(W!^o8cv18Kciglsny>Y7zK}aQ<$xDB#Y6ik-;RXh)Gh-)+uJ!qReZc7l +M+xo_(^Nl&mPWfusH$8bC)_-d4U^H(l2-ivZC%CMuj%z}Vv9FOamaq5?{44(DNq)hzg8^(4JjHt=n6? +yM=6mYve+s2fp3_9)!0RvlCO3awoz;4_|mxtMn8Bhs;N#OFB1P(mZ6L|HhGPm?c{di~SWeiz*@P9$`o +JEW~go5uy=Qey7t;~t09iIYd-irk^eO&}KE{nY~AOe|IT4aP8@?B@9xy$FbwWX}v}phohp^E-Ep^1K +@(dEpGwv?QRR|0$A2pJlD2DJt^>NEcfsm7B)$vUEOXr*pP|1uv3p3U$H*;UMl6hFN%yIektB1ixFItw +ujQG|tP0%&sm)k0!X##!;(Du7vt$zojk9W#_z0LnP%0E7b541VGQF5sGUn9^X<>R-PqOpPemJJ<3y$= +9ET$F1tb3l0`uUI?fyZdIK=z#6;BYcUyXH%@mJq}(jt@y&vYD8*iZKP9L)$bXPvgv8EJGd=)xxTU;2j{I^FbR>0ugJ;kl$3e@5>&adTMWALc-iIH_br2w>e{wR8H+R@=+y@OVH-AosQ<`ZpY*m +Z_o#{1uvcsur(LF@u`ZaVAMDXa}3$3RorOImVtDG+a=4CVCnlhixY)`C3{28POd#`x9N06=2GQm6q3C +D3`0r=}`=5q8b6o<4J9+J0|f`nE!c-mhA7yAbvW>K;FZNXFpKnmHkEz4?k@r)itPo2!y?Q7ruOUbfjz|!yX* +E8uyP}4Ob!P9+am^*ucX0g@3l&M}brHZP?or(q=2M`Wwmd`A{^>y>TWfFvfu=3i7B>e?IlYlH`uXPde +W`tT}*6;9!jpK--6%5>MgV8#AHEb$lT6p`5NXwX^9ZQI(okJxD|--Wdqir2pj%Gk(B)w9*#eRLdp3Pi +jP<)~LoBkrXa1Y3q@WKPHJlh1O(lNOfBH6Izs)F|Gv7gbb*)q=tEe8cDr=xcR_&x#KY`hG!r)(NC0`4 +0CYG(334V+F4|}lNX9Pl46Q)Z-Hol!fu!?L~Y(VU{f(cm$XVMWJj!R=tz*ji$+X*`3cr%E**Uv+Br4C|519`SmUv>GS)mA*d=aP=B*nUZ~KDO>Jo}*e62W`~}`*1_|Y_V>21+*=1Vzo +%A;U=tDM$>FD67!Q<8%|Re@{`&|odcSoK`;KkUst<~@K?Si=!C!0p16(X@9r}H$xD+;6PZtp%tM!_u| +*yD+Zw8B%neJT1N`{cQWoTEtef5X#(_#k~?^9d;hW6=-?UyurL;KW{d%cO`^ +Hcaly1gpkKWuXra$+rMMC9&_w{%3R?$5MJxsRM$VS8(*_p||mD<0aCg)g!TO9OG;ousQEuC%_cZs!N{ +8`Zoj{!tH1U6F1p=Fb4Kj3NRw@3jJ&(gGUnzHln7K!hqdiU1pe-bN&#sjDon(s9EmjBfR&;a3`z*0#s+HQ;n}`3bydJ%tzJ7i59)49Sb^P=CHNAOv^!}ZWb_0jaU5ZaztyBvEdb} +7Lz4097RkAWg-Yh>`(w9n=TCA$RRIAJS!a-ZAmBoFLpdPj_KYu)=l+ls*$qf(F8v|>*WSDr@6CfW$Op +JS3VZ@y$wd$O@9`SiljY<6=`A5CF8C^_ej47T}zBBuBdkE +v3}(i#S5~a93%4$;>Sc4uO}eZHqNwCxw$Eiz{YoUC0{hrHK6tM*;WjJ)QiYy;>ZPEwXPD9cXciYMF2qnXn<8DjTr_3uGo1zNzyuDX))69I-`X!y4Cmq{*h1L@gus-Srql?uw1<5azSbN> +Vo-rfTWPyC8c$C8OO)k}keBG|@A~SR=Yb*c6iFhC=E_R@^h%Ip#jMFNTr4tlgc5nUZqb4~pL|h5!<~g +v1+6@8PGpUwQmbp5Njz+f$BsH(s=uPQ_-|G31gUw;?S0aHg(=V;@oLl +dBHfPFxNj#xXKNMwH|}GXBxWeJ3b~_}m%^7P>Zoa~W8&?zoDOxwMkzRp24m1sj|@h_(AN +BMt1xln`LvsL==?64AoVG>cW2z|p+Y}-S5JN|iYJoL``w+5`d8lD-)e&Hs1r!y3|ISWf8MzA=c +CX&BSc%p4_0-P#e>6o}#aKMqEM986-;|J~U-7cdDU3@@`(zz_zyNNfh{K2UyonnvrSmH7+5Lus%pg1` +;!N7+m@_1Z#g?(`>&Qh(7850m9L(82Wr#%}&OL&%+8+aDCv{!)r+%wLi~p`rU-16{ +7G#Fk(3iR)nDz(iQg6pJi7>rscnQjpKDi&28Z*wLXGYXKW5v7Ie&P_#!cRuDYDtg}d(+cB0XQvJhbHV +$31BmZ<0y3f6n7_}=uZu7ilke8yw2tlnDCKxqq5&ZW8&sh{r19j>atZdn#1tZa3@Yyym;Le_gY7) +PVnDXGmxlpZunY?OT5CAe&$C!*-=dK6)GFJJ_k3X#w0m}5ym+|%v{m|i`IY&qLb}R0{K}V1`!uX^jMH +gyf`dht>e1OL9S8LVM@E~J_*?|PP2*gDYlVa8HwDGRU$dW8H-Zmk9=}T7HRC{JWNOFS>~aJ5-3_dl~p +&`PGP*zeLZu9L_VZtXBDe~BQ~f;fs&u20wFaH$Evq=e*}oY@pzC?$UwSv>2u0>GI!+3F`L+7BD)+rn= +sN`&8KLh#+I^QQABJQJQ*EvOlJZ#K4n`uwA?kd)yzlItMe@HvWvLxj?pQl*d~T9L>rLfV}CJNKk5=)N +Fapbmf5ZS;xXd8+Ng>$cCW9iC*Q)8-3?vd`*Gj?c<8nA@L?@&oHV*#Qx6~Nwz$}CEf5P%PSSSxU?Y6s +ntf!yJ@z^PTX$G{*SHKX!YJv@*;yW7K|ZK>@&rvK;i>(wogAu6xA|=7({f)EL{@&KajKNx2nd*uvo0m +QuJka_#F_?Ru0>IwUaIwQ?GT_Q>%TleO+_#)VQZ6AB%s!8A#;xZ$N +oNTsXL?WVDlkg{^IEB{d8Ey++-86$#l@gQz_mtS{Tx7irX=Y||8?ya?`z +0f%c1&jiv+VYIo1G?wc1`Hsw=35~&lFKd6hO%-Ho!9Y!5LaN0f^BaNVl@r^{0NmNqt+fV%NH`_-A1(T +HASzHi5i#&Y$!0Vi)19SNj=%g3BFr$b41Tc|6^V3VCcehA-H9slE(Mm{IGBowFl}>=A?$x;Bav5mRi1 +PVKd_3Qe`X6P=q1l=~fk_zS8hxMpyW&trn8$~zS7PYhS{=QZ15eQL?1@L_y(~^H3l-;Uue_dNkTw%Uu +U5CIhgEte?%Mvd$9vDv53(lNrr>-k$))8lE}es&fynjKi@m*k-Zje0#1~C5x;8V=U!3%jYm^L%Cj8s`4FC +B8znvz{hH)Z7g$giZwsS(w}4LTj}WXxrtE--ygXkjGmYMg7~wW%800n!BuAISrrq6q3 +`z|@QJg_r|Bf&1mLw_`oP_vfw%``X*fwnCpjlmNYcqTubA+SaK`U!{WYn)t|BBBf3YtN&ZaV}{-_v?o`oU>b<1E@f&Zw$u5EDz{082ztT2OB3M&SW(ET|Q5jTRo3)Yz8dK$;CzX-{)V>K81wwXznn=PF +W%dxpX!Co2mi_>fc;6oG{Jxozjtdm_j+!{Dwr6dIKm4!C!9W}HUqj(%BqFkE_OIn>^Z@GrV +VgAY{57Kwz$}>94w)a*;3;azP+*{e9MYUE4n}5E+gusD@kOnTo6Fb3$`muj^}yK(#qjsVPOHF383Q}8w#170R;5c0*y)_(uoj!sf4<_MyuPra<_8X5Nic|`}7(-$V&zb}tApTt +@X$k5R{45mqz@Rvody8Gk*~D=%yW!D)C5Xczc(Q5Do=BOI8N<0)w#OPyPmG +2iPQf`CXF7~z!jK0Wg)(;ipQxz`>?Uy0>H%w|#NZg*WXu(42oCl{t~9)Xf5|a-E+m;24@}6Hs5h4i)m +$jJNt6bfLOS~W?NKN$UTYh~tZ!-{Z9NDnD;pgH>cADk1v6<;BJms1<}EDj)723DK%+fp+PmMPgqZaB_tZr`eJHPQo{^jyvS+*> +27+-{+msKJ?@i1;hvrCq2ziAY;Ha4W_!`5U{}gyl) +xg70GaRn=)JV^fe3(dok$D1<;m??T6?_pR5Q1kL=3Ij<7ks0v@|E(Cm;qZY57hHFc{^@ +g5_kvnpaz|ZEP83=e_D`xVmOS4l6bDFv3i1l;XH^HY}sB>i<_BwY*<>e1gXt@fPQDa^uEa4Ll+Z%fl? +{B=D}7Tvpar*5|?8iyo?&4|(XZVipnekyM*PWYmNF1rCg0*@VN>%!FI`5Qaf*pTG_whhqaj(#`WESKv +#<{3f1du$4Z_ID=6_m$^FoLyzQOJgb-wmvdfB>Q|i?XjPKxR>y+n)ite-seX0*voSC8=6I1L+RNwH%j +MYnCU~}u9R^{m8+wK`Z3tmcHVjZ{J=C?XUiI|qhPu@&Rd3S-mZjQSB#@fU=gVR;^}b$9(qSmvT*_7lT +`v`9d8g>Aqa^&2G-33dU6HtqAog!`b4Uc&gSVx1+!hgbFq|A;i$?rvPZ}p$MLI^5`MGg&snSp?-H}KW +SuJHsOIn%nr|DEW$@Y=NX{#t)Kp-tK9Y#ICp5^JFt(rU`iW>l{>R>pAR#phwe+<}&nt#q2~Yi(afekoRp`XLuMj_~(wyy +I>Kj;$PKCEY55{(s4daej$6m*jk4*Qzztpcm))YVK`LkN9 +BIE{3~8Bai6rBgHUPtb-zS43QcL%fa`No}JJGNu8eVS*MWqYVCNIehNEtrkLA{f?+W5#Ga7Ct0a^z(vDd9aL`8 +~<}(*wtCNG6BqKTS9(e5MQpxN;z56Nj|Xav{pG|(lXLHU+WDBCD1snUBTavYUS0(Zt1|AUdes5_E +={Uw#dZhnqX5eb4rJY%n*nF*citwTu=LVc<6GXecVW6`ZCs~K!rPC$kz?Lno+^g`Ve2w*Ei%a?u!Dv? +39YzFyW~(*I9Blb#Y=K9N5@Pu;k;7+!Sy*WlYCXs+OJe`S%0B`*FLFU*l{s>ShgIIi8Jmm|b>3pA!=? +n`KHhx&uv_6fhc0az(DF^msO=(wJEl&PC?}$H=F$L}RnY>9Ef>I-6=Tt}#LLtc8gLEOE$FvdGM-75}N +N9ZWUQaArP``f*f=&<+p9F(L?N3DYi5!A$kd}Zc6O8GX+_S%huh +l!5GIEr7emgK5aLDR@Z%M=Kn8;9SHYV+YSCo{EJ4>ReYdyN>5VTH&fTq?>s8LR3z|ceuxj9A$x=3)zF +LBva}k(Ct(e4qx(8p>vJ~$!#7;#i3$w?1;E<0Ivd8@TKLyCe3ljnk!!U#|W`GUJl60Ggk7eH(n}xv=u +~gI1SG9uxehg=SITh+CeWIned}3hW;rt~q-H*3W+uGV{8nA! +vwe53nY@gfn&UF&n@KQ>knwX=Tq7d-qH?I^1moq8Icqa8g)HW3vzl4Hd=h&5GoU0=Ht83dETkL<270s +J44C}RCLK4xVHZCTU~PN;yb_> +47!IGhE@a!S_9z+^pPpGvP+X}6V)nv}I{s*)s`^wjsA1{53*CL=1@#`;lzG7dQpSVH**v8046THwUJ0 +*}V;U4Hu%mPGJy`wG64$s`bKW0X`>XLkSic)QozW+q--di!*_Qmt+?abryY&S$JcySO2RWU-#?Mcr;B +|H52V4B~qj0hrsVzmNH4hhrn1z~NzWzbKMy7M&tG;sAB9H=JSNTzFin=zp_TW-Ae+sJ3cYHn3YPxQ6e +*=|ldhSbm6)wkQF|H6Kr(hq(MxZkGD~(5dcnsXfS<2aFT#tW0K1w~bw4^i72P^5m0>lqnmB6zTEdSCJ%)Tv?pRCxL;zAd1?dp^dgsWbNf +5jf0a&I4h0>T6FmrP<2h?rrERbqZ6^%`{i*?W!snk-dEJJoZro8@~PKaw@TnNU@szZNvSN1;N?$bvWqv3V +Ja6{N!~!3Q2(!p&S@D0vMEas@(qwGyjVc8a)PH|iH%5Fs{YLb1mSG3G=##@cKK4M*5o+DjN9ZBBiHHI +V{_fwuso-y02lzh2vJxG8QVJ(rwEDvlSB#nYqku22oBu`H|cOrjdROhk3@QbPfUhDqDTws)k2@kp#}u +o|19CFY79j03V4`eUm%j@F(R*Qp2~% +jnf?~;h|3efDj(&LZ4{)Q_L`1eORroR?80j-h^D +*SQ7A(PRA`b7EHpi0rilnf&+5im9ZnD{&6^pFtQl1#Jz+S41*+MVfS0NO1sAlSR9s}Zw14EzTINOZ_r +Ohf)n@tMbBznagtv}s0ou3)f`$f_F0GWmrACpQ>2%=T3+I=LMx#;>8q=lq)Y4H^kT5dIJsw(0_YLuoN +To`PL6eT>M<({E`#!GP$OKHvR{>2gH7?Z^eVCrlpM2BhcXBw`SAcUsFgrHSS{BTEtMXbWrHahPP9@1Z +teF6{fdh6s>eP>;f44mKyS)Wn-uxorcTsl)jJTCqr{uei(-UUrq;H0m@9S^@<=B=wULcanwV4SWl7ek +MQC4}S{OR4P0SA#+Ywt$oCUcE=xiD{i)Qf<37?r{ph%u7!XE%$j_t~}=d6@8RZ9)?Di12XZA1wY7XvQhh=@uLKOnMqYa-x4A!pHq-27Fbczav!ch!S;%86c4M3dQr0$!lr`uID5-U*acZ5~hA63B;3aKQvd +ZhM%R1}4&U!nU*bPcIc>Rq{QGa8rEWb9@*S7lFp;tB~(hD3&b6u1)&r?Zj-G;QqpSIUT{kAA+%91vfg +p&QvDwT93mJWZb6KYtDZreQ>!IoNU)}9mf=a!sxF1hQhyG#nm3YnPzsy;9N^^ovyb%eOARjFi+Nl-$T +g*`MYO`?7lQIK^2HaB2AycP7{jmpkz(I_|y`T?1*w}NqSkNw51Q7aRTqzQ+RGDx(Ni7!lVI7{PQ=Z$x +xnb&xVG{N0G)QNXqhQKu@UPR88jU3Uu^EDRll9!_=;Pj;C39_(fl`N_~udoL#>YesxAO;6Manx#3{A+ +7OV(kJi3AWB-NwBraOWK=F4rd0XnRP{x;*oTNt!gZ9qjFFilo$ecdQ0G9MI&qfILK0x6eUo1?tv|=)^ +K18*8*-Ngliot*=Q!(XlE2OXCG^+_S^)W=OgX;8lNlJw~$IiH&!=!oz0XT@mk0hP7h`!k!sIP;>H%C- +$<#)weUWKObkXdcba-*ZZfubD@cJ4E`+247igAB*}+gT@cZITrCK7pfI;{VA`sr6 +c{GJsCA4X;X^86RipZ@AQ&!0a3CHwE`um0@$PwfD?%`*eUXFquMOZMMCJ^PnupFR7wXN{qlpq|M +G)>gP(u;{b`^{Xy=0d{y%>C!JmKm{$G6gzP&k9YBod5{_hWd^xr@K^nZT%Gb=3Xsr +yp6tz|1rYkSBlh;^XhVc=GcXPd<6^Mr`S8V)pT79`J64!#;B+kue@Jj?F7$27eEb&1>UO{LU=-nr +JHs-@ESYNSP#fkcE|PwP*oUJ_yEoo0J>}?Y#+V8@3*7i$oHY=fz3F5&TdQs=;E +KzzR7U1@L9wrqZZ?|#WG4Wdyj$wIf0BZjG=`Y)jc@W!dMc*0U>Ospx-tknMZv%0OiNJ@f{#d2F`XDQZ +GY3MAHS{HNusqUO0ltUow1Hu>>y40Hp4D9&Ftf-J%7}A_OVLQ?+A$6kaU3MSU*~Sf&#eJQr?@;{xvZN +vClsxOlcgpy~9#-`<6YZ?8vjJT4)vkZ&kxw%}GGhz}&Fs~1@Th74U@gI^HSvXP*gQQUzEIDANw-!e6% +tU3}X=ZA*WqrCCWY*R-;)HhU5{*gK-wBK4$r0AC3&#mS*yKmFrYvW{4 +=(c6jX1sbIv2g%HyDj$j_ymPfCmav96%`~*)lnTm;Lp3jCEJpD9V|+#}ngF4{Ft%}885U{K)~2hY?x2Yi1vrlDRUu*3l#zCpgetFGnpp#lcP*2Mi +JY-8=bA7HTGJ(z9DLT{w +Z)|9HZLzLXkv%bW!8oEx&9;ht+e$*wGeK%Ts;7a!p_2`afCTQH~0JHoctm_+-ObuFg4(8+YjAB9Zeps +(&V8`PQSE*LXeKLrtQP8X|zE`ct!DEsGT;sgp`7AL%`; +k*VBS#_LQa-*5NW1HB7n1%-Wm5+-F2~vVmh7hF9K^$U&npwqW7fj!NggMV2i~@Al6UP34%aaH{7t#nt +srvfE$=DGjL5a3RFfhO}fZ7G`8f#K0`vw|4g!V+7$Dzq$zR(b8HngQKfEbO24|cj;%HER{0p4=y4kuq +?-mUFPZDI+A8ztb{8x|A&=(+8H{Eg8W{z|w(PGV&Hh(&A99bI+uY+f} +hY3Ws>7Rf0#JeLjYt?bH*3@dS5w29q%e!l09|bYuuH*TWp(!sXBa4rLV_na7i1H;iQ_G!doC&Wf2Myw +Bq}!`$^Ac;A~#JrP0Lq2>{oWB`KZi6dx5F&3N&Kf|oPHKp=K)Q8QWGOr%1-IT$7Fnqg?Y7lUhY{6w;Z +rL(Zh{>d9ZgOmchj%a4yW2#63G!BzojU!&WW1a(0Y;9z1Lihd#VuYr5v14qa;PaBEK(p+dy<_jl}v+ +8uk!GAzdn#9hZI0ceA%-17pOWJ^zk&#XMlvvf-bkac6GYt!(?w +=6#&BXrglE3#V5U}1&x43*N_;OGq7}-AcFccCU56AXZHhjRK!}f&VQD198BY`n1#v +79^Gx3a(QvcW`LUyxkvFSu*KH&g!pIf-et#9EJ(^~Tk&GDp(>mquh^f?ozYnKT4;B+%b+vzH;nr~{(S +@=*KAvF=d1vg*Xy>W`EgYu}*#2qBZ$ +1<;X>@NW*8*c@T_n3Ok12?7iTm8D7bKgN*t@f1ph*C`pfA89gp|6m3CYKDen9sP=&T%h_m2w_`BsJO+ +iA_j%B27Iq0-WN8W`6ld*t90rzC36cx22-A{~ww(Cd0VEWEso@e^&M81Qz(x)?`AkbpW9wDEWylZFY) +cUwRg>`r_#(CC!#r}ye5zI(uH}?AJzxtkYDtvt`I9K@wigz_@kZUWyW|vnzsC$2-!JgXJ`6gOSiFP?e +_nE6*N++gvAkAGHTcy`u#077Yjvn0a++ZvF-22W0#8iz^Lyf@)}TA-_2H5zf60=cv+NYSf^e9ng?#G% +w0^(SO+e-;Cg=p%gs&=@sUx5?F6e;vm;iGUOU0!krf${|aDMQvj%4R7`H_&3oeX|tC7m6*KO|Z_j=(` ++?+;%W6ly}jFY5N&c+*@lt~Ch;q7-7WY*Lj(1ukQ~fm%t@7Ic}PnZw`|_L^ZEPS1Jv6uP4VLxg4^ON! +O{SzkRZI?x|%ZA>&ui=7QeV?5!;Yr~)w@)cs)S)!HS-rYU#+jrl7`>q}#xWz@?!SG-X8w(42*I&QByI +-J<9rm123+WtTyL%VrFzp3PI?DU@)f&6nHDR;`zgz$Rbr+Dj32fTq?m=m2&LWhzDBR1Yj|mlj+4Bxw@N@zg^s2-OU +l?{nh;sH$UH#_ZPRf7uWY!mv`jmmb|^Wes^_$b#o0*-;;~$U&-IEuHVfG18V^v_EZYg0L0{INtS4{-7 +)5fkQPQHS+ba?JO&qz`*ng2Ygmg>EfF=-+XoY=d(9}o3Ir8ti&!jPN;a0b8>u~eBRE^Cj>sz=~VxH$Kpaz1;VF +Q9;4=kclDSIjUr&is?^3^6_8ioY1PrM_19oVs3eax;|UlrSM*6Q<0;8l9%v0_WC=FZYhs#Zm=b2zusS0TjXAnXi9}_u^PAG8{@tmtD3M9+Y`9M%2RZ%XliySt9E#=C5^^--Al@V2n +ZAum8)n>)SLGpxUbT>wY45O4kv1BiWsYlU<=a!)DD1F+y7>bQxm~CL52$EhX8^oDyANB%5iH2FM9a*% +gGR3h>3mep-7#C0HZB*ou**>AN9HfN30XU9|htc1GeNQ3e$9#k3aKBp)5q#nh38Gcd&La%9Fd7LNDCA +#bT^gH)?G^EK!j2J*anjMIcZ!9>!i@Wo^;{3I3rqv1(X2rSsT=p9bioTy9ga0T1nVaEA=0P5aMsK?Xu +UJ^K!<7Ki0hdiau^aFg(W(^Nvy +U8wfkI4PayBk6iXcE@YqU(0VWD;31=+Jl}q($vabb>V{MuIdSKDOig(;g2ND5ATac32_qg?XZPvQQ7x +6cwnEtR2*w`+pQ(19-r3(H`6e1uW2#cOWdQVH&@Tug>UZl~7V^3GIRw=o}ikU62O7;h8=gqaC +X(K-0Z?ZC%ep%4o;|T3x~HW%Gy_W>S-GHs2F*umu8A)Te_1#(4I8+$nVD)4i0LCK8o>lXK1lttajwG# +ZbGFNuLEwpSw@}n&LUS*QB-LIeUbf{-t`i7`>5x&+E3}7@W>PcPtxjUv*fNfjwPP2h9a)u;(w+o-a!$4ZG}&IsaI*uz^Cg +z&K`x$(V^8dFHALiIsM)hcrT_wK@mc;3^r6KL99(EpB9TwBy0P7L8}{i3^<{iqJljM?{LxlE2g%LK@p +?z+DPdWv470!B(^usmlxTfkICHc3Gk|{*9drYF_U`7=ebGa!P#%_Kfuj8y@z}B%W23!{tQ~=F{r)98)@#25!YjYZ}%KwM=UeG;AIVL@87j;4T)u}da1qu>sC4~&w-`) +qOw-Xbx~!ByRtcS+Dma7bTE7^t!vtFO=Z^$^bMdF|7SVcaW%bY_(-#geK`HtMeeYD8HFFUd +vSQKfm%7j;hh38=m0-t-%r4>_n62Kr9I0VakDlNQ138B(a#kSVIvyYc6#KI@p{xD#;0Q0uv?@g^KF0$ +(561=z +~;^+OXg%%Df69ts-$_rujAzJTG4zD+j;<7t*ewiD5UhrNq`Xx8>ct+|P +qGF>%$BW_xX;sjFU+H7`VqRkpCDajG@3VTvi4N0n(F^%rjd_Jdrg?eRP%r$VJ}F6PCxcgzBl +^8B<*oF-RzZbO0~+-Z0~@92iC_&}yW-5F6;W>Xg-m*E*{-Yw`C9xphQN7+#y`t2XFQ*LD9@#Bn9?2M$ +Rka1J5Z6N@Wc6SfMp_1k?3XqXR+l9Nn!QAh6?ftO~jJ2fca`(D;KOn}yT?j&wX+1&e9YoxusHMT`-IA ++$rFX64H>$m^0zR;?()v|fm;$5XZ?s(sz1lrEUlg*1-gyxCnNNus|WNuDxD~4V(wI%eb(xl#=0>}H(d +G?2XF+t2{RTBOb3Z|C_o%=s5KF+OZfF8toJUh^mbSFO(L{@kTR*E`2E#E%F2sP@oc7;4Azb$^B6Rqv} +zw+Nsf1idaW?sEB_G5lJ4L=n;589us)YOq$1+HqdXDHVf;}={E-w#RAahkdB^o`dpdr8?ACp)y9@`Nb +>C~6q;=9gl196sU$mH^#+Pm +g^nhK=)tTZU$mVgLiA1JZ5_m{u1VCPx`^bmR4ueIY%0P4yM+)SCaGpXvklT@1#C|ZtUrCi)=F>1p=Of +_rZ45Fh_|B +zmWDTpwO!!Ulp3VLzm2UxH49jWgMa@}csFR4nb_9)JPW99>Ou`E@rveLO5hGHs}0`(Px#jITbOf4&j`F*!WD`dyrV6o+TO +i@%T0K8(ciZx@r}%S&-S0b=9Ri<9v&q>j&yPCkDapZy}<1LoQJl{gunj<101)j1WZh>edgk=*I=3IyoGlj>Lz<)5Bkm3F{o_U= +0zFc@$qh9b+Pvc?kcGuEytQSec{qv#SZbj-alSs{;AU`0{up4kzPF6wAlS`6*Tt1q(RmLJ}LQBliEWoR*py@?okL+$A +5O;QF2^hTN% +o_(-6%12Jg0Jn`dHCH=f4e(gB9{b>Mb_mB@3&UkO^H{aW@p#~t0 c{Aypn=R#0;{Nu^Nm;45Y`aGK +amu!Yz=7r*ZT3E<4uB!g%ce|>!|4i3Z~Wbb!p?_>7c*8F#S*W#xGVeOB^+aZW-CIIx^j(|UOR?)3P5< +uK68BuxwKKxcDMFzZch8KcIE|T$=(=+*)Q8H7Zv}q8z$x5eAR~bqfGfoeGyBz=bv0`@NKBmE6az}=#Y +~^a|rjnD|nX`~P5ysK&u!Tp9m}Di}N0@a5kHZGnc@&^!ws4O1;euzx@G^8W(CNYkAD3h)b{y8=5BJ_3 +44HrYdm;Xlt=bJA+*OKwM=JLBfOMAH1ym^ssDov_5kLMY_TLP}EAfUoEQP{E$Js7;92YtG=gS#1yHJ8PThLj}j2h{`L_(X4gyOZx&XQFX7Km +8CS;JwGC?7q!%)~iZ=M4I!<0OfbD#{Cx&?}HoC2_5cnsQ=VKfK+D)(`tNTD}a$Z_t2A7Ow9*5P4YWVM +Z8(D2afVI`r#73C1|=i?BVTBSTP3upOjAE&_fvadtos1QU5Et;k)-lKPmP6X%VT)X{%pC(5b9oq=zn1 +W;-Ql(V8xM-z9L?v9~4YIQ^*{fe2_zz>^+bK?HB`XEy;so4kH1w?F_GK`Th*u_6gv@s2;h(9LYtt`=i +F0{s_fe8Uw9%k6kkc0!Tad)gg6c +&Hs~{idmjgWiXD>@HGH9k#cShHKyULh=eF(@hA9?QLV!yNM!AlKU1&DwsnSCxF00V?gVRz{qxs>!hl#G9bSb`q}O%95gBF*!qj|9?1IBcVbB-)0??BrpujZXHr61Cyk1uuTG3da*w)YtsJ-z6reHbL`Z&F +KZEuW4!CSXSEV;K$I;!pUw@ZX-qt4ptA`d{i&fP$o4}xl81pk`epaoMG)vSgltzb8HGHtb9U!ek`OR9 +B#*SfO8|8zPt4XIjz_CpJ!o!jh-3ZHTrJe~sBg`3Se29fn(K*tz|VgZ2AEoE~xK*MMx)`PV)c(kz*r8 +KUCxEJRIRNP@RCF+W~TtEsXhEmuuUmRcTzuptGAo77EqKB~yk1)i}bd#Op#Ki&%$55E4VI*D*ChhNe0 +x1lkYYkEwda7{|%|$TWeo>*WMhmr2Vs&~Vo*GmY<}QjKB9)D9Yfjpms#&-u~h*W+|@Z +o!u7~>U1b{~WOwb$x@uSz*8N?sS^~Pn4N@t%l~J}epccW#4)HvgOB81U3(<|;6sZxcAj;EgLbIeEjIX +gpxKJ@9(^^+!$neBUR-#sRp(-w7f*AiVQih +{e{84u(Zqdl3OIh~qz2_hE# +$zLbm1)AWxtpd0RD840PFJ}d<2Tq@_$av%g287X*+)TH0{BU^GwMHVzC7TTtorlyk!!5GVQE<;zqY}j +rbo6Ab#i~C5^tXg(SDjFqjV1aOf@d2$Vs@3BQ}VpL=a&izSCH%yb^gN9WHx&Io-O!1$bmgX#FdSsmDB +%d54*4vf#KOg;o2DZ_mB;xLpnBiYF+f}cQ)tWovzhN#S+MlRnrK!5y(hVWOgra>tH{OKm);4Hf2`uBL +88l?GZ(pHl*6+X0?@`&Cq_`MyWkh9}Xy}IbDuQo#Hr3`bSNUss?4^{i>E+77=QcQhx^QkI_DArHzwl#YQWtns!f9|yYJ+$De6d(L**uXhd9C_;6`-~1KT^&AL)ToxwiP$evL +$r+@m(PQa1*XPzMzAF7tFTH>@^fp)-OKRklRH*&laJBD~6fE#RPg^LA+I@*ab)@k6mNvS? +6x&#J`A7)&2gpXoYRIW7j6(bivVIET+u@mO0rMKr^oLrDF|c}&>BL}N8Z*bjjKsSiow>=tgnWK^nr$F6tGeH3i@*W|i<&C4~qQP#YnX{HLp{i%Xf@vk5d)NVO@yw$V8HWn4vQB&?% +wNl|?jr!8$A9q%IW?l=rE9+&*ohVW-DbAtIVdT0YlDb_secZ4gX|#svf_S-BF +NhXtKGZH-DNOzXAdC}l9>>b#XLm=Ka +->rl^VSAm24;T|iv{jBD>ZUNDOyK;MHra9(!Z;kXmP8* +A6Kl&fa1 +0ySW&5MPr_Yc1AyM&8}NKva}wxpdKRd`CE%&h-cgULF4sFd=IU#MrrN=!*SpIZE?(DGJ2%SZ@9H!!FM +YSq^A;0qwz+1)7y~u|oEtAn8Sdal9$rW@_-L*bw?zIU +4x%klP57tcrYP<$ar5XoCFjxBWfxOpg;(Dk%~^(d`gGhp+OklE_`G7BEOuxcY!3x|H<+v=b}K?gxDN4 +j-bj5g3QAU6;$}r-c`9aJ>3N@oO8cO;P(%tI7n}D&b>2_5cq9kZ}&RGh%s7WW7SU(iyo;`nl|7i(KveL{Eq*Hi6Q8B3SlR +zV +W{t3#A+7%WbeBdad`qPf(*9d8=npz`k<@19;pCyA?i-ZfNB_47Th@nZ}*`^L{fL?QwKhr +4?>(G~LDBQ{(9(i0zE1YrgR9%qSAg)fAar6ymh&91_WX-9Yht?oYy_=)OtW_BuHVL?17^iX$ +k@c_<7B;lGlEQXoSK{|uUJs{FHa=6!-S*d9wOwn1RZVo0TW5%!pWcE69VO +Duq;MOSMqhfQOV`t9p~zG&rucmreg>ky(kP)e-t3P+#CiEyAWGW!E~0IoQk^z|ao&b_dPWHGR6n*MX4 +&g8E;sm%kqiGo*rlR2B~Vo@66yI$S$z=lb(b)9M`D-ijSs3C{K!nvb4h>q`iaKgZQvUkH5n^bhs(O>b +?EAm6>fy5<1Fx#q0%U|d9^OwBZ%@8L{61KCm?X|Qaih1LOEOvo#fLjsPZYAJ|&@2YWX?XnxhdKU$vnl +WCfwXdOPIO1&yJR4~6IAQb5anThXzk!PSq^?5fCmCO^yD}LBM*&?^Y97tIFle +TB+3)X`Rb)WX9)ZViL>FUn&9tqOA+##1*`AnFAn$`9qLRR|XJ*j59`!pE)(nD1>hC|hgZYkKc3}^$e~-IL9Nf8&XFt)W-jCUiQvVrf&(J?Nn<|DCWKCxfWHyqqhCBEJMC({451t!_?vy^#){ +i~qYY_b4x>>Lrtt?bJPDeWf3=QtEUn;DeJ`ld+uc;$C@rdX^{vwI_!!y%P^%r`1G>!Afcl5zEmP%+cp +fXt59(8RFh5r-(~^thk=it1^jP5ae~}pT_yPc-Pb>?!H8io5v+Bm+S|Wxnz;I%%Xr^PUW3q4SK?8sqj^X +mU@ib5kxAcVFs0yad1EABoldIIiQwLt&J+%2dpyS&FL=c8OV;=3rSdXv3+9(9HyKWr;hHAsd8LjpB3} +xcq2l4@{Wy+3i1}z+r2ADfApt%y=@SJaA5ZB!ZlnwAzhqhiRB#xxi$>iCF9NVPBN#~S?felWCgK&?s&O*BN=16zfsnE#MC+JrQlYfJ9xxZk{v;(njQa{yCFu)^)wEuTRw{X`sP~vcp%;wJFppdLgyz;o?viJ)4I)ln=j-Q+gq4jP}7!fL04F=#_*L#vKmDa(+~)`b +}~)|K|WayBSIYi8?0G=bJ~%uY}~O3yJ)i{v>heRKe583D}xFOf7^Wo1j%rH@25tskD%m>z>7`CQ7*lj +`)bmD$obM#)5l0U~Zck?6PZbZ$PTDx0>P7EH5gjD!afm3US*tr9mti}YC#;h8;Ex|+S>n4Y4lQ=M9K% +OqKgr^`SuI2=kHb=;y8#-4hq9!zu$NO>mtz;Zn0zMPG>&69_MnWoq-(OII-h=UFm=cVc0dQ+{urf|UE +_Dql2>hfoHyLG4XOFHmgCxbBpWtTIe;TqBfS;eR^mnuCA#DTwpB}|J}45r1)9!bMHh_I0XSB#epqyoF +sY9yr{C{NfH-q5k=c<#gST?=Dal!J5EmMROM9gdqjS!2Vb8SfIjoyCd`6PHzs-GG5wxlqj|^mSRU2O) +?7&mRp@EDEKfb1a|J8y>6DK=1~MNItwuvsEY=qnzHs2&XuU@hzRjxMzP~X*jbbu*!t(WxS*VpKwJORh +4FboM)Be-~hbUG}-r7r@HX60crVe<_;Uq4_%e<%^?Dfj6>#Ijyy*Y9wjiz3cw37=Cj+7dps-+2Szk#! +4vEGN$SXr&!`MCyUvtla5Mu8M`A;iT7wxvsI#xgcVozc>Yf3(1r8b*Zd3^=v0oCZTPjn{jg +Ye9R!cd!h)M2$as>5bxugRG8Z}424Qmdd-@4 +{Ra>JSngl8jH43r%XC +?XhXUC0Qunz$KBJZ<(9L5m@in*nC3a^Ym4VmKd40yc)7!N-s4xGlBh%Khho>Uql`e{D}}cBA04d%MwD +n5Xl4uZw8_PY$vKWrmt#7DGZz4ZHSPkCO!VOn{a-nW`ec5pNgZCW!qeEsd(%GluPf+v`$zZ5SOviLS;QktXdxycvyPM@||6MufkS~2)k$XtobXhlQHB+6BO=U&9nJA?}`*A=9cyn4jQ`E2=W7`#aCSZwg;<~wkF=ucKZ$ +KT%-rR5n={=ExuJgj(aFL>>+3^c@?85Y%s&FjzI}!?|Yfp+0nu~){&|fBp7Z=A9=kW4!{L2|$n048Wu +b6H@|9tV`@ap)ob}Y8uE2qn?T3}-cjDPjJ8FZa$cQfGM26uDdpBIBBqDJ4=c0_$zDKzQ0^uer|l1P=* +Z5x@PvT3WeW+U;>{~4NoiZE@%Y(XaKxju`hfZ1PFZNs<_qN{B+uZF;k)L?Hbqj`#{7&{B9Gmf>|6c&E +4*3yf=f_wciDp*s$EOn}MtGFsT<`f2HG(pug6-}$)N&K`4z``f+*EFChw`3I?5iwnD7of3-D+<(NaHi +a8!iO;Hn{r~DM_Gn$M3)`CBR@37kC{Z^OBek=ghvba4ojgU7Zt67KG`#dXQ8~8AzcosHmj)H0@baHv> +lSBw^O_}09WseGpv>S^YAQZgLBGbYNaGHV=tyQIo#Rs;5e2Srusq-JV%?3B!m>d83wdZ9PnA0|JD+pD +dFi`-k=XnVmw3E$FsJ@_dmSWH8h3WLWRVgC9d$$Z(9%OyB8pA>dvUM!-a#D;NwL7VzY_eprwvP_qmeA +CLNW`sTSKyTWDHCSN%M_v`44@*Imbnli-#y9A_7gPp9V%Tw{aVCZaxl9W-qfS3wy_sK-+6Ka*s5g|}u +4ORzH+x7W4XL;F4%EY>!08O;!&v7yG+23MHnNbF`3*D>&lIZD|b32R7x+1$NZY0&g!v}Uq&UwSbwzhc +9ptwria)&AzKT`zX&)lEmFw0oC^=#W$FEVJ=|SMx@$Fy_rF8lD1A&^l#+!mC4Qg5Goxjlf+aKV9xudb +qCS(~=q$4-C=fetc=tD0#-{x4;-Sg+KtiS_ZrIA#wxm0R~%%oV9>L74<3lWM}}4D=EC$cehs2g6`KU* +ma?lGO^yXl~%)$3^h`CsyU9zA}aQ(yLUE18PU#Dz6;SxN5!1h!ET<-Uj6&7o{Txz<;k2~!#-n)XXd|r +nZA6fHyRt4Dyqv2J{nVmS_H4ejT&9vh*v+U*)zJ|;08*$DWUKUAvn2CZ~t8r(xgRej|MerZU0G9^BARzR~`wRlx4joQAEifIN6FL-Sd?YA|X#n +4B#KBWk~O~GiDd}CqZi8fb}RK)-@+Isp73q%i6aJ{)D7B4M^Rb>6&nc)*1#|FyW+~5?B8Dc%dk?@_z& +Yqq;bjrK8th;J(LcfP92q|L}ih6-m5YauInvO#z@1Toj@Jy?>TU +zl;>4?l>XCz6he^$%(C0c(bHr)m!Y2#O|#L9Wo&@!E-IG_LdP;*vfmm2TqAX#)Y>0#PuncoRQklSCu& +e|3|9z6f|B)W=`YDxtN4+itle5aatGqE8>?O0eNAlNj(9sjW2OMnG$h0ck{I2p~jL68sG>e^pjq)I}l +#YLU9bO!~I4F2N9%G+#nCz4L-qLj#3)Apz7)LHWfDJu*uAVTq{Kg5qAM%923^zH;yPCz;6Iv?w8jQ6= +6!DAV+vIE+{<1MS2IY+sTE#Wu4DZs(an5Zdw#>cnF^+CGRff>MA%a9&sb}ZM)X!~rbbg-F^yme!QqjHjrdDSI(l$sm`o@Ze1R0_1okbSH89CWzzzfem91QY-O +00;n+tx-{C0yy#%0RRBC0RR9N0001RX>c!Jc4cm4Z*nhoWo~3|axQdubTv>xa>F1Dyz>fXde<0iC+&e +#9?&-sqdH76P(j+{_m%9HVFt94cBS>ThDgmh0~1W@;+GpmY|bM53RYDr>p%Cb>a%)kM=j5PR)k-7Y`sZrCuY-p7Nj0OqVO@}a02^>-#i8E&W#{K0 +>zNM^qQmMPKnnVMa<6d#`LYEZ~QYt_z62b_W=wWGpdIDUVABtN0_F4p%x#zG2&D&+hIOm^@CT;O9|ZG +1e_WB1yD-^1QY-O00;n+tx-{0_@eQw0000k0RR9b0001RX>c!Jc4cm4Z*nhVVPj}zV{dMBa&K%eUtei +%X>?y-E^v8mk3kB;Fc3xeImM6z1a;v~P>Ksd&rpUqwV`b$Oj3)tH?=9a==Q(&hd)~D3T;aj`y||h8v; +v$n@=PSS~5yKup@8@2;&D5uSz34fStRxbSIZu9uxHJU*K_|81jW^l-63+HI5leUBe0VRh)%8N@PDH8q +oC%p-j$>y|C>J%WKAOl9;1K*qQyo9JNxv0cH{mfn;6v|4cFPi6LzpmjxBE{Lyc_IaXg#O9KQH000080 +F$jzQA(S6rvd^101pKK03ZMW0B~t=FJE?LZe(wAFJob2Xk}w>Zgg^QY%gD9ZDcNRd4*F!Zrd;ryz3RL +dZ7SAxf{?SO^W7_8b#xr3Bp>-L?x0TsRZroyIhj8+$4=IGIwWZhcmL8tZ{*jW*C$ns_N*>#H_Ndcm~} +Y$5aA1c$&cn{~FOAP^x3HpKsfIfIhSRcu{Bt+FJz!&scAsg+Zhs4q5Aw2|R5)+{@9qw#Tw`n;aq +SVtp9+tqvg+#Y}4vtU?ozZs^IOst#r{!Bx!ygkdAq|!WA$j%ZSo>9?R>e}FosFNw5*?0L1m@MW;H3*} +Ew?=!&V!TBHvJl&}w#CaVEc>X{=;i;MwqAVL1sX4lt$;-q&;z>k`w8Vjk;CJUHmlvRbdoO%`_8=3hI| +hdsIHFxBkx7#yCBbwQkG7|^yp*nKjna6^zaI@Ga+55XIoy!sBpCqT23GY>pE5o5rY$=PP3F^Q~d={O9 +KQH000080F$jzQAcSQ2ayE;01^`b03!eZ0B~t=FJE?LZe(wAFJob2Xk}w>Zgg^QY%gJCVQ_S1axQRrw +OCPa+cpq>_pcxv43i5(NYFhM@I#lT-GFT`ZK_kDLf +TAUiCEwh&f%tH8&eOs4SDH#U7NwHfj_FA1-BbvN;g1S;V*YH;h#+sa0ys@AS>*RmgZa=^GW8Jd6RJGM +gO3=N~Jui=NABKB58tp|sh|)T-ZgMXqoHcKnu@)(JynOtKQ(yhmVzDSCHzwMlGbbCFwtBZ<_=x(6OHp +wv>O*k?dsLNS8}|3|^Ox;%&6Xb?etXzHEdN6gWa0>|7RHJ)wG-b-=$)C&zv22|MxSpU&+elOhugEoFlLGHt(~WSM{;``VIv-P-Wy?ua!kXa;DP%Vl`~6V))@tH{|G1j8aa-2i6BUg;AihN_u +WxGNBX!UhHKjKE;l*KV1ImZMJp=2e+S)y6G61FHclQssr}JZV<&#qu+_p&wJ}tHp)V6v6#q9oMBZk;s46QTG>&^I?KK@F>ly?ARw{|@?T!EetwogZrT|S&yCQ&jt+iI?dbL7#&X-@akgP^Z-1 +KGbHly@JGID?BYy${-Qp(fVapFgDR&$xRf|+R0k0EEToljnBdXW|)ZRuU1(zD5c_D;55oWO08nI{4;S +9jNsY2xJS9}pjSdD?E+`yG*j>ci+5d(rhp`t@@I6p8FZeL-#K{J7jp4Th1*IP^kvzaE3@Fde`QWI=D# +HLoD$wc|{>?zJhEwK2kh?l_6ID<8dg_u)gXa){RF~NL+R*Gt-2!w4mWtkm_r-VfV|5pC{=|pBCyD +FUv*b6t#P}Oe4Qmg8xdv#-ZXg$0eR*ZGiqku-rfZbar%P1mcVy&79^XA#F0G|mUycav(R9?{KPF6-Ih +FiIO}gsKBejG2yP{GjRJK(g75B(MLSZ>#?Y6?wtj>vo%*hYDf-Gpl7)o&fBLa^*%7v-dVC@(D3s6e~1QY-O00;n+tx-|NV!TZ<0RR9c0{{Ra000 +1RX>c!Jc4cm4Z*nhVVPj}zV{dMBa&K%eV_{=xWiD`eol(nfgD?=h`zuzQKuY<5NICR%h*U*A^p0G6N! +%D4*-I-F<=?x8G{B`w>jMaOW_D(rWtn(8ASkK$>EAz45!}CSq4ohx(^_oMk#YMG5lcvDjkWA7fr%i24 +gsYWQPv2?-8IvMYKKdxuLI5A$279DDqODhO +#GVImIYF9;u=BM2@rwF61RwHZBF8y-1)tJ(_*V^$7773FL0KP1`i$9f>}&idZfuNyEn?n4RT*cfsxB6 +Wk5uwz=iNL_8kd%Ph0Rben^=srB*~*IANZnA=NpVlgz$^;zx91Pst_LrfWTxc#%9jCN!k9)n+L +!t=C5G9WN`S%~;Rs&#~8XMTP_G;$i#Ary-`R84-T`y^B8?%CjMIZZILl@X)wLGWpLYwU<>5& +bQ3%kOj*X@6aWAK2mq6;ay#n*Y1uQpxBbfSDr4F)S-rD^aZMZO!df5@)FNA1c|)lH(Bnzu8rV#%)y$qOlzxaY4$q6~p3i4) ++?jKddK_`tlBycTgLerpGOvJdKmg9GG>*X+`=7p=H@N6*6fyohr?pHB`Be*Ab1Luwu+WnPJlhjs8v7~ +cGHas2J!?eodSiroqQUDah%Nf-m$iSk$_YZ?>j=b;{4b5K>mLjCaO#qHG0yE*GFUv`)0-R0M}D32tIrDUY +GtFlmanPs4Xa`7uqR41BO$hzY7GEO*CC6gSKy0qrX$JAC#@OPW{6a=YUDgAQ!eQdku#gMRE=p~c2*fqaLdMGCBun~XW)7CXk@b91( +0y={9)bJV3czM66kE*Xv(J@FET!N89@T>EszLLPfn)n^yF;H&hYB&lNe;|Lb45ld=JL%|k+a=461?c9@ +W5O#X$|4Lt6xoKw3t483LI$qERcqLLmX!}YjgVtl`I!vZGvdDUNVDFhxrlIrtCn^LFr>Y1NA-7)O#55 +KConZQ4!XgI?23FM1!vh5Dt=@O2%{-0j2dEO3L}Wt#x+}T5IuM1W5k09ZlX{sR^Vw7*cFF=3C%u_PNP +$#@kyoZ{5)zW8^4@uk&u2^T%;`cHi&*LMG@XOn!BB#Ch$Q!AIu4qX{H(%jE<=Jt)O#XIy_VQ3_>CgTeoqDr_Jbs+TD;`|15Q62DVfdO%hhxCcvu@Pe7-G<1m?&mTNWtr! +#ENpJ-4q7t&^SsAhDims_4F`R$Attl%%2!qf-BC%Qm>vqF*t9en$`RstRCUV6QiqUk%{D~LAAKwgH&B +UZuVbU&OkXk^!MM+z>{Qd%nNMDTp@l51Cq$hSYj~sUs4*HU9~TRU^4N%26l=@>8ym|7*=bI77<9ddL# +i=0^w;e@gtH6Rqjj#cA^S<1Bn~hkSH2{&P>rj>&@kqAJ{+n=1pCf^^mZJnNi9Y%_(>w+TAR*pJX0p6ZL(!&S|`F}TadoTuij%@8TK58;Z(%N3SgsMa +O+~jqWOU<1RDBJ6gno?}>Kjf{dgnAK8MJN!ifVvU`SBopBtc2_O0T5n)KNOmy(REs=Kw!H?>4+W71|z +ucwCkzs=v`Ufk>^(^^uXKC(X=Dp%})}$&=|_FOIn=aLci~z`etRL$bG4V)OC`85*lRz*p0F~gR~U8__ +9msI?(%e=ri=u5Y-!C>sUI|4MS|PsQ`2F^vE}QSJ)oFZ9$A)pHO3x+_aA&oLsV#FWnZ*o)b~HIr&{%J +7ktF;eCnK);+3|S`Ch2Wn3LeTc19F`w8GcmWVpBhvM53ir+IP%F`pJU<*e*!&HwuqyW{H;SvfW1mE{y +5m@sD`!Rd9=E)sX$f`)=a0){s;9K5*TIXA+8IMnn5mxmu?T +bhFJn@Je``i0y8XN!u|NXCLOKgd)|c)D08QF0&p(!oTmcdTegYV&me-bI8qLYg2NmrWfdAn+0F?J%#9LUJQVFfXwV3rFHl-=n#_#Ndd^?ylEHfoJ5P(Qt*4Qbchj+bYeq +C4aI2sbQDM+Q1Uby4D`d;4^6#tv}qT-fZcoB3Wk`<395RrvA8;1u|??HmfS0{0JcZmD{>y;f1F+q?fS +B9ozv@89=hG}(CFkw>+{yZ%1Kk#V8NKofC!|u5YibgHY37Yut#vEr!kzS+dvREaRLBZfw{UP>*0vcA6 +|dBV4op`QOgpv3>mY@sUZf25G&*TvdI*lnYqT +ShU-jv$yXWEf|Lpg*vtldBoSc#1e4>BmB7=W9;ZB`Sf*bFTSJ+heaXgM%o4br^y8$R2_}l>IYe9?`MH +r{->VIYiE+=t>`_G+uXZR8gWG=EFw5_!jn}QwYT$~!ZON6=Ah%l}7s^DINtvx +EnX6c2G*gIN!Zwwmo;7Q3gh4io$~dD$}QDJ$;fexHlBb2`Qcyq#+_Wwzgr_8EY5nf}@sK$*DFdqa<4p +5B)?%gqkYFT2HdIPxo62Ev}Zh<0VWwI_0fslE;RUK+@%ndC*;tk$l4MilvtOL|vj_t`NWTqDquvtWHB +X&>#%^v?t=y+y-4c3mQ)_zeIrKdLze3ZfR7(t@f5Q(zSA4I!u`<1rOg0IodSc^a4v1v2P)fLwHgUt@4 +UEgH8~8cOvL(A`hVuHFU}%6$lvO%(jiUc6GkA!?IuHxwX9R2o?On>8Q +I6a8r%=YWNbkz6E~og5J(*vj_dHR~4wq`qJi!$A8J73?@_j_f(Wodhy7y`OaSlWREGYPrU=M{DYgf1VCj;?aZ- +eNekU(j5z*W}U~g`J+9W4Fg3R?M0BZdDTYEC%en)q&R=t2WjCkd`_YH=pO40UYIXyVzR)g-@(D=Va)K +r3{t`D9WPdRYK?`Di`Tu^7=U&A9b#pHMuEk#2DIIWD;P&{J-rWyn6o4L@5a6a%OY2 +mdmYl#d(1Gd;bGbuI-iZpkINBQRrzgsTUA{hPPY&SqUeXDEVz|wS+qTAVRWg{=A8^yBavKSmLRL}XWH +4D2oi?`URGx2nLXB*%8pntreX&+5?t%*wg +{p*gNYK$%05~bGGHjuFkz}fZ|9Z_{!)mR#}P!`zM8(SZLd$qWnjqY}aFZ=rBW%R;rKfhu>#js~1H2?@ +%I@8VK67=&`z~by7-biZJOJt3ro7c})y6+~NWKBuh=pVpxN;Bd?=ieL;xSf}#>)nB@%e$u1K}3f%^Q{ +(Av)xKO$KmPJjhZD{J<{n8KB(E`_A7;EYb5;XZ!PXY9QqTB-G@~pR*sUqU|;pMJ=E7|9xJ*&ZNct1ue +_4m-T&ZALkjRMJni$f>$vI4fUmTn&of6_vW~4vkk0@`w3a&^!1=VvD+kW^Fry#v@#jUnSE)XoX(L@+Z +16xqn!_C3tI!|6k;Uk?p_k!t@@wqdS`GV6s6Mh9JFyrSS4Bq>ae+r*`h0!2)V^Fulik8-&xbuTl;CMO +xs8h2E}cV$yh(Smjoms}=LkUwN|_EkS-ij_1nNZjuG(&*CrxvR@uUGB+7yUOtF}emHch`_CxgQ1$;0J +u`e)1Ab%$qpBm(n&0TOf8-hCo5>H_%t6WsuRz4FucT-#1p()L%U80>N$7ZUa8eozfBdPGbc4@c7xhu? +4=^ksMJ(dcFf@!HPp9v{PaS}B*kp7Dq-_SMJ#K_`x0ut07q>PffXz3eWO{ZjY?)-7izFHvQ5`~s;5o< +Jdvty>g?b!a-Q!BH4&oXS+MuG@^dlccjY0?VncnNh6vkQ_>aeqC)$1wYAblPaEN1E~ic6);0d>Ma%wT +NdalEsa&F6t`@|a!Y^s_k4!qPv}JZhZ;sctWtg2{Sbv6K#_JWz<#@KTW68pIl=NBhX~{7%Bq#{KZ?vg +Xkk6tfMLkRX$bMQAiT7WmuiO3W;kjgG$JP`|5Wiqu$Ds;U|f`5eNSRP)h>@6aWAK2 +mq64V8a$#_AWpXZXdA(M_ +ZsRr(z56Q$&S7mJm5V(F@F7hbpg_?S-2!{)76L_$EUqb1AgMV1`@W%US$2a3iURc^v8~~oH*eky-2~r +}@npK*heSUd6UU!l7K??pDn@!z)>caIpN-|uLG?X{m9M_CPV0vS;k8^Y^Z!pBBIz)OkP3cqH7RO(8pG ++(8r{;tASy8vzj8RH*0>!7Ry7%yJgE#-4Nb%0o)i!cEjvoBO4NV>nMm6D$cRrP7Qe9`5+jv9QN{PE#T +m|E+PlOqMe@yvGolxZ{PYnBDy3j5U_{Vn>VtnXNB}y(Ae6zu9))LSFjjLq{zsb$iBLnt`Hs7aLmU|>s +{K&e6GYS=;H$D+lSRFP*9UIQ8%5L|Go15D(kiV@4bG_NNU>G5KR}BM&teijzp1&QvNX=5vRp;B%{^4V +pX508NnY}>C`%|n+jFN^>)Xd@*%k=5Ur+LGC+KkpBv_j^GY`W!!DfUX +@l;{;`L66IzvkLSRjLhxa+HLryDfRJTv#Gs~MUOf3uJB>E`M7~6f$lVK_zeb)5q*h8n>u@^lJCCD& +NPjIqbJPlm=lZZCajj_I~zo}E-$_doQB}erLM%h**#bGjyO|}v!5L{^HvJS%ZC}@q)U-qM8A5+iz$%b +H23MIiPtzi27B=@(v0-}Ly9~4%=C4LVj^jzRvJx*r_g&>%!lda$Cn3stZQtKj^W_lPHZE_D2n1%*=J= +V&(zF3Z&ftS?WA8by?MC0ERzDA%cHVduWxEWb@046Kf75vkV)Rdqgr8Sl1FLbV8qs9?`(s78O(riLC7 +kEih6&P1&yuR#c>YuSUmlfEiC6az_s{`N^z@LulMuyan3r<(rKZATkCCJ$%-cb3ttg;yrc5%H3Pz=A- +F7SwpcY1Rc{6Q`#7dNYCE4?SuLj}B#&=4B6bQeYTV7~g9He&^Fc1!WATmkeDS$-TW;6WP +F7vo%EMXLYn9Yxc;Vq3j=+Ch3)1LAz@l2one{uqxth`Sd+r&HH#5n}pn^E_XH*TB*Sx<)c@}>~9L(^U +wp;p`l^zdnsak#sU)=JV;2jOYT2q~WP{gr``L~Ju6!3BE(bMn0JmZSU@7dKi82LvA8rTkQU%a<0E|vb +D(*6xlO9KQH000080F$jzQIsWZUatiJ0Ok(>044wc0B~t=FJE?LZe(wAFJob2Xk}w>Zgg^QY%geKb#i +HQbZKLAE^v93S6gq}HWYsMui#V|l|5UsW2eQ8<)K^Cr9jhet%G7H3W1iWm<>g0Bo)Uk^51tzk+P*EPU +8nzmvj9N&-qANltOBhVn%p|Wsla+niizj%cUp~DKKSGr72U$ea(d|u+Fe1BUECkNar@u-<`5~GPb;?e +;!#68DSdtdds)xr^%c1B|1StACFK!L;V%%|BL!(i~jkd{|Wtdz6^T3UPf|6Zb~Xif^$t|Xbp_4)sy#v +lfj~g;Aft}nEey7aSBPKTx`OD6_P|(lGj4NA{UBv;pG!8k~P7ZaipDTr?o>M^w32{<+1=#d#9_Ck#H~ +=fYFp;rO+Q(kuy?Bsx(bQvHC_*W3`SL+-|VslwXF5uzUoLR4KUfDVbjo1kL@&Iu4AkF{2rp-rRV7REK +OnR0IsGRMM4suh#_XoUTb@1ZUqWr3=Efih9l4CCGX2h$>V{aZNLlAuR;LjERkRr4XZ61Wl*2MtQAuxr +k#BWh$aX=aGHdxgq&d_RG7o1Tj?+9_BJ61pdTqBW +Nxu(cX&<7Cxak~Q!mnGXij8~0o=7EK-G@?-l?nZG370tW4i&g?&CGr8+(qTtw&{A^i)_qLs7I7i@_S? +m>uSxU!m7$UVEi%Jr(E<437=Hw=#KGcTtG9bNILN)JW}1B9~d3Fkx5xOJH6HU)x3ViJi1rqoJM<@ +>M6(fnyLq_rsyN`?7fPbSVWJgIuaMx@_}E*wRx0K925avJnXQ}s_yjheM@P|-RRZn?Xw +r(Arp1sjR)XUdBlVWV(cv2iHWxP#rxGX=5V+w!y*AOj +ET7GOdud%@ +i&CI*mWI94~^KL#lhRbwfF7S9fnOg1JpJ>Q?XSVqeH8aS6Z%uF745=Ao1uicD$+CW3u!xQqC-H7 +}dH#Y7XL{Bfa&kln9Q}J7p@iu+v(D?x~eO0)=>PkFn+R +Tzh@&{Fv(X{s&M?0|XQR000O8ldVxvx5&L(7zqFXvl{>aB>(^baA|NaUv_0~WN&gWV_{=xWn*t{baHQ +OFLPybX<=+>dSxzfd9_(vZ{)TWexF~#$|x+kikgj$pfNBH$zIxh=q6~4&4Xc#DT(rMEs=^y&Fmz|fA2 +ZGNYur4uxJN{M;6JC=YBJ9TG?rmQ^mf$+Hm_9m;ULKlEOd#R`YzbsXEz^mbcmNz(grK;#M2=(9+^@v7 +UA8*Pbb@GNrq|(0#|0Kl2)HeJ>OfifevgZ+M~I1z91RmTJH8UpF^D{fDVm!sZmvi^m$iHT$f0`qZ+`W +>d0??DB7~b|ouh$#(fkGZp8_^@hNwV{or%sw=7D2W@S6v0_vk>>{us`Mj`{V^d@= +ZED?kYtmIsiBjX(~pZCCtK34#Vw&J1<6{s=@J`nomr2TZ#dnw2_*=LlTV#K;MV55l%ZuEi-3aJSMj+8 +J6gXFkpODq658KqE=hH(oMgp7HhdFM52tSfM33Gy*^j?@eEa3H+2nl5=&!8uWY0Wf`JKtV{GiCE_8$Q +D?})j&kbx|xU4oazw`E@@J-mq*~P8-%jJDkW3szK=p4XM|Wm9R$M&X!`|pym^r|H-7o`^-3~H@2@^hGcQ +7lJxe!xHoQSgCdY{!J(wEAQsrmPG^XjdpVd^eSwWhFG=H%zmx;Q|66#(L+Ph={>W4JpyaI*e;aNbJM= +GJraAy&wM6-DzgOsCE|^@yl5$N;M^~Mjf%w1#30=h&p)Nb+TK)0Dw`z*HOsGzv(0MB_Or#h_NR!DHs| +6lWOU}peYATnxLe@!ZLtrrLAa*X$mMwT|vUdCW@9u03 +penPz{2xAl~OJ_q|4ap$@GDkNcrNPyA}jMCNH3c9~a+rk +!!z<%dQyArz+?D=`l!Cg)hhmI~xUbg(0^kq{<3OPJ^DX_j3V=zMEKZYvxt~3{wRW(>Z0OTY!ycyGY>Q +wb4jlQaz(h8itn3^$&8SrJ^owJJd>aL?l2s@UF+p*BS%UapSwz3U;`uQ0G27v7n>UOAr?~+hUArF!6z ++Ryq|H@2Qz$`!zQIwGFmPEzA7muu*g=K%-5V|}bQ2i`PL-n9GPlrS|<(T!3D7;1fyMgNA=}-sW2+jeG +xAcG#l_N;f)dfE$gf{46R~BN9e>~gQ#E^_#mR*}Q(;+K@$Inh`E5fRpm1SL1o +I*ePKG3dZ8m5V4FocPU^uz)InyOb6UzfDICIG|n~7-2-K!V4TR4x4m0LH6&1@xYs|CO3h2n7@x}5ruk +Zh5$=ec^x!Z%;c0uHzx132F{g;@g>D96xjs=Ht?9yv_Sggj&T{9;o2#j4SaSj-K^ElifMnacGUW@1gO +*_Y1-Koib%>)kl!8$9zVxOT%g)$l=NZzZ~(dzBpX?F~b=00EHg?e?c!Jc4cm4Z*nhVVPj}zV{dMBa&K%ecXDBHa +Ak5XaCvP}J&%Jh4Bhi9qD~;8cCW;6>dl?Hqg*gYq(G2umj3#-36Kz)$$lSk{L-Nt-`w$RSzVgQU?nX%Z23Y-5{lIxa3D78Oo`8w8hZzmA(WyO +5v4D-XiYTF$T@JXPsQxT8190!!l`F3z^0JOw6{R%Y0vnPawFFBLpyRB!ci%hwnq*?kEg`k-HPyad;!5 +f$NRo?Xq+^C#m0X^OnFHB7b|D^+ATGE6KM!smxj6OA)Ae#WRqM*%C6sBr2!UrDy;i&cP)h>@6aWAK2m +q6MtBUtcb8c +}pwG&sES%%gjlQPfkqENL9$pEyyn_QE&r_ID-Wgloj&w3lq80z$%MUQ!@6aWAK +2mq6qU%|N_CU=Gsv|9%R2(UIyfB>ltq}kGP+IyAma=l)X}o%r3Q7dInD^)RwJy1#ZFbd%^1ctN7FNXV^K5uGj8y$<`m;!(uj@WstMPK-y?XR +1GrOX<;GC@w`O!OO{tEgGFoM9+;Blp6$4_%qr$~(}OL9VRUNAjAEpT3Cn~GJKQ1C9E^gRPlqJi#D4EF77C2Lkml}AsXYeG9HO}(R+X~wJIp@tw3A>l>n2Gy +fObw~X_ul;tq`WaeI@Ya-Rk$yiv5?34bd&Q)(EXUNV9W(o?6mo +0Gfm*{O(h5VXKuJ_h{Hgd>$Op#TozB0Y3Y`mTxXdsCKDUUzLxD5T%icr86A8|()saF7=j&v(zFObhtn +cR`>(e;e9j*Io$?k>B)Xt#!UlH+&>upa7#t~Z~x!xbK`0jf3_V)8}dtTmJdk4AFE(X`jHZ+USQyHB{=cuY-k?g}R#-Qh)RXyKC85HO9KMIuBa1wk%D#WZ!6q*@~L+ +0%hblg@n#_`iN*9%;Rv0X+&2f-H)nfNMVGY2W6V4=!BA)utG`9NR8U52J8;d3@Ptma8z>XM7BB0sEf; +>30!}1wl;uzg@G)_EOo`ySW$|9Q41?ox(#VSWu{O~nGNgJdqHlte8+9b6sT&KLIeokc)G>FLxE+!j}U +Idu0{N5o7XhK8f>E_oy#+SGD9NnHuJ@7kmzAn-^viDO0k|aWQ=-$O-@lpuHI9x<390f^9@ovWK&uygJ +jAUy$1vn_TRLmPD1V4T>w#cQy{0@X4jw-A%#tns5@?;%$MC;CNvsUdfzWmi9CWnzv88V!7>^mOwLc$> +6_Ejk&1Tx&*3_zFhN;DnLA%$MtTt~CC>kWpmjSG`tUgAlFETLJ4W>ihN2$z4kz{xFB^Z=Me_?TX)AGS +r2RmnRS!Vr-KKQH0S5mG4JP-3jG!oKpKA(@ +)R_nXVGj@&a)ftWtSP}#U)oaHhwpWdBKLvjr$I&}2jpaCLV5xq_-PDf45?$Png0ouGX9wQkQn#zsG}? +0L?BbbZ4xos9^n(-u(sgY0fJKKc4S9$tj*~Fj3ni)=b8gDFiNdKas=c@?Im%r7Jl+yY5I2OU192!tl8 +48Mi69S8WAVt#{>A(G7v>0&t*``C*7XsPDXNK{7L!gGX582m{MD=9qo+7*T`b}Po-*+O#zu=lN6Ka7d +JuEB1Tt2vgfEql`342tB4VZ2LZO%?k9)vBL4Gz!M3Eo*6 +V?J@?OqixmgfR`6lQ*wBH53=n72zNYLG>3p{c5hQgAgz2$nXDh_Q%%+`;C3^uV0_JH)?K+_?r?QhMo> +f_R=XFV1<1sV6}z)04j2$^^EW&>G4*z!`R()5cwN!uJN`aAoF6%;NWLo#58k6!}{{=X!3n<&~^QJDvv +%6GmK-&9;qk)ESy0;KkzNi+kO;*zGlMkemrml8|PiX114&L#}_i^Gr1g<%i=K9A5CjM|83E9Fdx*HH$ +zxY8xVd)_zxT$0(fd0Ub0D3bUL5;$Rcenp5?eB98D|c)1UO%_o?yY?*C^QHbkn*VY?bzon#|qB#g)7N +*aLv6Mpr$yARMtmx)yg#h(x!5iTqpj%gT$=m6d=x1N{X2cZ9$p(AXAgOlqbB>emKCidvKK9ni&^F=oc +hx49$zqIPzKLUh!9ej@a&-n!XBHw(-ZIQKZ_VE4(P)h>@6aWAK2mq6V_{=xWiD`eb&|nu!ypWX?>vRqQzB(Nz@% +Qb%T7B?+8Hr$Iy4FqCT;ijGf7HPspXW|{(gQN_bDDhsea63LZ!eRhnO;0cXH%n5TY*yR%guah&8?Z&) +LBZQk^i^n55C>2Tcq)ML+*snO9BtRsuo@<24a{qIEQdnwo51gaAGkd$#3*%SttbzVCol1E*m*B`8Y__ +ET!*4wx6@7ymXyLT)mwpe%)@WJPIu#18N>xP-L-hygcxu7?owHM_=d+)0`*S;X2}g`V)1S%kQs +>(_Igv>dYu@!YhJZ^6raj|;h31Z0j`dqw3%EH!OgUDS>(dPeWgYgJ#0Zf9jY>NJ5HX1CkDqaQFqAJbg +o!U44Rka-taf!HAE(wP3{SC{Zb2xpgns)o^H=G}W@tr{z83>S8_Rn(gH(cmALj)ZqiPrC>s@z4v5rZ| +8hM$h&;erE`X7IK^wre@YcxwSg*Zi|0VO9KQH000080F$jzQ8$qWnLq#l06qW!03QGV0B~t=FJE?LZe +(wAFJonLbZKU3FJE72ZfSI1UoLQYODoFHRnSY$FG^L&%q_?-Dp5$z&nrpID=F4dD9=bOO6B5;k1tCtD +$dN$i;q{ZRZucAFf!0HFw-+KP~rjrP)h>@6aWAK2mq6K;k009300018V003}la4%nWWo~3| +axY_La&&2CX)j-2ZDDC{Utcb8c}a^!@t&E--QoQO9KQH000080F +$jzQ87UEMEXzy02)sO03HAU0B~t=FJE?LZe(wAFJonLbZKU3FJob2WpZ>baAj@Gz1gyxSi2>9&r>+6Z +gz!gZ_zi3*cbEy2_z8x%?WzZ2?->+r#}-dFQ@IaGynWgRMc^J#gbji3K+_hT5P_3q36_;c6)u@0VgMF^^K8Y3t +eLn#_37z(CHl7V3Yg>leE6NoQTam&;0-W4~n5G>u{#Ew9B2(g2i9f9l^beAH#h}sd!4x@HVwu_J*P3= +%-M~CY)dlva|3{W4%JBHlR(JsMv8NOqZ9f|JHa2L`$Cfw1;F8i1PS*Hr|9g^&5bjQRW!K-crPWTb}^{Mb}?v~?Z|i?5CdI6Ed%}M` +iB!`MgPK!rlm*<&syTU6w(w$NGzUbYcyv^g=2H&$g%G~oMb=4kuXNV@YO>bDAys@SwoaKgB_hkJZfwu +Lo8y8+*RX^%ARD4^|)MjIJUJ!G3g^zy+)FL4^TXhZvHby#Yq&{(?^@$;t+L!BFxAQSe)dA4L&L~ORRq +EY&Xo1@SI>+Y$}Z~aS~WU6U0d?*%8tNE(C=$CNR{a>%x7bRRG_x9|(H9)UIEWLsk7T +BRe0Q=!H+d;CfgU~ms+sI4S{z_#FK8$u|&!T>5`vc%!dAsdFNz_mKu+?D-SeDuf05seE&%V!gBl4hBfWSO4IV +MFSLPlnyxut7N7p=pLMGug-1p53<=e9$!5DeWzeB^S-+?3hA?*ThrU_EcZ!yTsr!=I9oG@+y6ytNk59 ++^+1~igd~fk4B#^&bLftP*_2?)bUXar6nDN1CpJm{>G2pU^J;sF`f5l&C4;W`NL^}<`TJDi7xYzwi!vG^btFvyKd;L ++tr{dyxsUiQTP-^a)vY9WPX70B{q(+B-=HSix5WZS*_d7Y?|CnGn2$M93f*I?KI2fme#3xCVV(TAH$L +j@{KuORV7fnyw3QBnwvAkMxygH#^jz6_oG}@DMv2%X`1{Ob(qz(mk{(Y4%hv)!5@?4Pj$lG3g7NF?%a +5Gm_Wke!4qn2Vjhp7h|l<``M{mUWd@wVs=daML}_=7Wp9m+j5Fprq`ZfF7sD*0JkmsHui4pM;Rfj}sD!6 +ZZzQV(~T`H5fu;wSU@!z2n1mNkrO6`YAP&e+cv91X|KqV2;gd89fJGyIGDZa~~Z-phNX%}|feM2AZl +q>n?YxmTHn()QR5?Q-wQ*;S3yyWFb>H*etmE!`IR24QbwRClHHvf6&o{mUzT23dMExHibVs(wIEt4<5 +S>W6)<@oFJPhf=>#mpn5j!peC3828ut>GUp!U0c2p+w5l5;_ax)2U9sN3B)sAu$*rXb!@ws*vmKb)z8 +|{;s*gf68zE1UZZ{;P}zG(06b^kJSm>K&8zWl*7!YymdB<;vh=}+_k2i}z+;&C;j)&Ov)pWVqAaj(4qg*HPrP6n(@}0^2&)^oDX}unw7*2$>(mIWtV+*ErBqaN*Wli7`XheDuO|p)kV)q{&e8Akc_U +bd$Mfm%N95ETbw%Eg2mj__!Ttp!b8&u1k&$^B;hMrRy*a0FxIpc5gB6Ux=3EtQh|LBeif)4`BZOH>8-5_~dB5LMeuGLZ(Z= +@y%Hho_GbGF&P58`6@hZ9ZRreChF*B&WWePUw1pfmh=qBNBG2ZcPMJ~A-=Id7OI4@SL>j_^MgFyBe#a +*nd?JWDvm`psTNy)D%w4NEe{uVI$0F~DWdaA_9_x%#w%(Zz$ZRB2d*(`3p;&MhC}spJH3u?Cg2uLUHY +DRkAMU=JO>VCW)3}*Q22b-1Oq>O%3({KwbGdM#U6D_`cT6bi$U)~0T2&M4K+oE!TvLf`B(WnKBXV7Uy +xW$z&~!_WUO}xgMj}0VQEKLH*AD{&#uVz%SV|x=JDLWRe9Vv&9PwHNUon?m5T!I70}ko>tKns#%o_k* +5ZS#-4#Iu%dYaDzNOsy=v)VaxB!L!!EOM9dHmeaK%F^}>n3#dEBHMC(#9p8*+!UpPxe)Q5R_3D^85NA +amt^-Nc;*$G`rUG`QZ&rosAqH=0WaXk5XY{M{0}*bbtqQ7@r5rr=IyftOF{+4UJoj{@RZE(>gFn`r3! +S9-NNy9ihdgJ?)Vfw(qyK${8ut`|`c?P<)Y}M|LanfY2w6KHDZ((Hka +;dUgX+&d5~6f!#OUxS;@T&2lZQjE3;fnGWzp8ZC#JBToZSkqeFz~Q +WEo9Rnn_o}+e9#X9YMi}W*S@eohsHxb9y;q~ +aeP!1;XBurs`+&W9i=OdKe!m$4Bb<;5?}f6#2%HSDu?P?YxHH%k(Cu(+iW{bV-wZ>`L(pwy1Z3C$czKd +A&!|D1viEa-#FF6+0-C$S`@;L8Uo#zSw5qi2pj_;KKS@G%Wx~evZ=4S~2uP7@xkY1MvMv^-rAO-y7i* +wtw6Edzi*Bg1||H`V~q8d;_W(NY#+oF#y)66%`Wzsc%Cs6RofYU>87e2%sDPB}xNy1lk&fSCI?^JV~z +Vm%xC$UhTR7!)bbzz7)Mnq8&=F0|S8#ggAx&2Bi@&9gxn{E(9n~?kIAFXdv)`t|#Fg0|-F4&J=~~#M# +?W9br2J*&#rYlRF%L<2JF2fr1Bu8(SyNu(c%#CXW8ze7vmYIcG$a+x@sNQABd#^0jsdS0DTx^YaR#}ICPOAZtUE^>LTz|`vWgN# +5_>@o?xw(VSClxxGwmkCbb?USPJq{s4Tiwt%X2~e^|FajoTO7p2U(hzF7clAn^A9m|bRu0_zX04dCtY +!|Z}sfX(ewhX>zZ9)NkmZ=4x&J^=Q^$}RjT&i`7QYvOA@bWkH89?1uD(>Vmf-wHe}oct({IPy9j<|Yj +E&DBd$aOa&TI_IyYITZdt!iC;m$ffKcCBRtY(sTChr6i0NmvlwKc6J2e(uG^Z+$?KYq9=ejXQx+13|v-tsczjPaR2kKFOV^{)_5ZeXLmW5`hUuS{x9QB_3d$c~T83- +TIa^L+Ty_Gl#>Qt^mX`Hg%=?(R9S*opBXMNWs4M7{=_C5iMZ5ZQL}o?)~A9udq?5;K@xVapt_{ma7Y` +J!9riLM%6iaDaX53x^Dr{r}l?_G_VrA8sGEbPZrLC|44r%+kLkLx4RD}B7lW%X5@gN;$t#=Y@IrW42c +qI7Z-*W!5-DYfq0Dvl7!>GD7zPQ=Eq3^Wlx?97VB`YXhNuT1-JDVXs21Kt1#=A!()mjDvp-}8r?fHin +YkkAt$GiE3%QmdnsHOKXpJuwVwF~=kxandlP%@7_g4VqdE3NhEpQmEYEhuXjE<~2UTqVKks;+i>phe? +CL(a5XPR3DWMaoaBkeRI-$OtiO8%*`jLtd>hZN-)(Ch?ggdd}GG#6vS7JBd$>{ZN1GVFy&I9S^jyxUi +76Bk+7Q5Yq4$l4u-`04QpXQLzXFJ0yKTbMVj%Ha#sn!sm)`QA!FqBp-&+daou3cAk4R!q+}|aZRNT^R +evn-Db$-%;U75eV`*iGDY4PRm(eZwSnoSSThLozY>}-(rhd=tO@8FOs862O@dBBQf*+s4CQrsWyn>Cq +T%7GG<@NwXRq^=nm*)OYCGuD6?QcZrH}(0yzbLo(zkZ`XzZCsf_1OackS1RxXxgQ>IDHFG6o$z!KMeJ +2Mf`tpH9ra9zg)@ppo$Wl@F70Fgji)Fuq)d>44D{Fa{h4o_A^3_g&c8MA_G#{33Wskb*3pec^+@NBh3$K);nXqv3nX(HOe=~@dEHA +<~OO@aB6T}rHl0Fpu9Rlk#~#U21V8m*`fXpTsZ?I~*Ps90*`0a%s@d|PrZIVjX{ +sb(+{-)!4MFhHS#-~*we(F|j|Dzy={!qkP9(v%%B}xEVBlrPw%c;JJVgO(Pr~@FFef68IAm~CLB2NK$ +>whQm#{2>rA4~D6@%<+%R)5rgGrZT(s(^ndfWLw{ssZ7vFJO{VgSEN^Wy-fQNVndFV;-?T`hjc5(oBD +p*iRvh{2_#SPK_Gvr2!%U>El=Kv2Z{O$FJZ=2|5@EX8{qsd=tW8b^fYdd9DB|1uz3QsDUa5mG-p%DrD +BXEfsGo0Z`E_`kj&B+c&dXY2Tt}wGOC%H2CHR2lN7vo#5`H68O!$6j4GF8E}QBhEwYg1_Avog*b-Jv( +ouZA3P5YqhN%oot#*rdYuq$sfF|x)^G1ESCS%rI4_te2FQcJsdI|!jCl@TbVS&@u{Bg?Z_V-|LR31b3uDR2^d1M(s!5@wpK1pA@jl7~YX?aPBNY*bHHpe`cmlAJDe^?KMoR*8!kkRqY +qm{;GUoihlv9mjVvy=@H4gOgluxEE42<8{9w?&ktxaG?sa9@aWq5akn4x?bHU6B=gW|R~k9k5T +@ok|9;5CSaR+G5-Raa6%2Y8;;j!%~R4{J(r63>FeZHL`#x-KT!p!0D=x=jpY%ykw-mpiX!lN3?B3f +D(7b^tkHOG3dHTZRp25^;BkC(RD3|lCDk<#Un82OpMdE&!9*0j`E)5S;y{VAW%tbHPH$~i7kmZFgd{M +^4@X#O%zdvC~1q=Dce@nRudhV9sPm{?z(-r8P?t=k#&zwQ%H+Yjmc;hz2)iuGCe3*PZBb@=A<{!`;0h +yae`)GtXuM(rqKm8~dHvC(Sp#?uwdDeCR#&UP@d!`{AO0G}E0Yi*sbKn&11#Md4Giz8--X1fqTIkAI* +vPIU<0Qf^{^+z-0Du!vmF3{hQ05A$otU4G?b||q@5TKHQLQk+&xfA4@3czov4QL9zdf&k%gm0-0Xb8o +ub^;1ry8{WIpsO_>$ZL#TSAd0otF4`NuP*0L5+Jap>Hg~V(nRG?7zh0Xa{It#J|*!7$o&-0^j-aDVAS +}IXZrAAE2C~HlO`D7`LKT~D>?pqg%1IV@7RmzYMk+@@O2Y)hEK)&l?+50SACL!%lGxrr{DS=e)SIwxo +AK7{vt3C!^Nds2OF26=}0K6I7;v;xzKHL)i#H#@XXJ5>mu%Xr3_u3X-=1h;k@E_v&xo>k_VLC7@*>UvT2<@=@*fOjKY>tWp6mc +(UTi%K6EPX3v-}r=Rjjdy^yimSQ6?Tr&#`1st`Y^e`ZL-eoH9c;3Vd8L+Y2-Y1W^x%3^=j7W&%ww; +p9Z)$ZZT9z5rAIyk(2BdSn3UCt?gFY1GGg93swmg%0Fn;X|ZtTSedA!n1(WkVby#JTkI<*JWe7wrAVu +~?R^^+c-UmW-2ff3~s<^fX+@@0tc{D@MQdcmfw*ckuIaCY#w<`2Jo?td^ZbM=X>VUz45hT-drIYvP=o +V+lI<>A}vINQwaL217k{k{upyWf<^i^RUmaW3^TG=;ZTu(ER-b#neJh5v>;DnB{7s)f;mh~!e}I@@MoyutyOW^TpxqE%1sV4CY6 +6k>5kwokjk;90gMl!le~B(Y%c00>8O4ZI6N0@RKoS$KMpG~b2Cq>~bhzRTh40XJ1TfI9DcJviCow~K4 +M%38HSCzgb`iQ_48g1tH49fMjK@1NS*^9%+kp#)&XCnYi=!)=fpt&-?%?$*qPIQgIn3&MY*3&;N2YAgL@wS8~t(BJIosm6_;d%E*|z2g%1WHo!n=+}MyL(IXNppCi!NGw2-)iMjj9Pv} +xXj*>=U1(Lhe-^q)9U&iL?o&?fOE&)WwMyUBLyF|QLJw%Pn|_Vn;l<#76u&dRDj&)zUzHQMR|nsLoRB +Z47n_wTe6{tA8;WQ23@>S$)U$hpSs9+Ueq7mm+vOj$52S_9kP{!D9?Vlc7c>+ba>@-3?M)OX)ZQT{?t +yl|gL&bUI)w`z$KcETJ_jZFtYaaUasj9|y3-8Gt0l{VjPjK09Gse7lvs4@>zi4Uyf)y^i!%|+NI$BVc +xWy}iTLNRazkMpl8fkP^A)?N(iM`Zv>~%RZIb5_4aT7@q@H>{9@ju^x@|y)_%VDHilQ6avoVOsrs-Z; +(btR6nuLrFP)w=lJ_PFZcD>0DgV;;rF+f6LYh4o|rV{$tclC9fri*&nnke-&!fRhh={*UZaK9a)CZJ- +|$TtL|sDkC%n9rSTBJ-X`Eh@6%N?pFEEB`TX@fBQyCbahh_(J`-JzPXDa(An#BU}_0%W)h-Y@&g=`}%xp27%c33$YY+s8e6x_6tH& +Ie~Rdr@Yl5LYl#ft0o~g%^SgUI$qZG@UWnU@8mqk)cy+=QkD`=S$jDnd|oV(?f35__{G8{kef|*Vl8J +m<78`XW8|bjL=z;r!Mpfrf&t_o|~%CXova?iuM=q_OSFfV>PrL4M}6)IR2x#TYpf;$72+Zg`(CH?8&e +I(}G`O9iVj|11O{6gZ&_6|FZEfLa?vjK|1sUrspE7d1W(EUiMN=cJ}t-L-2a@it*P>Yh5KA`R#n_%jR +rKZWkzK429v%Xv&=4yzER*9TCSlqLz#5MPD+&Y2d};yH_lq-8^r3~etUR6b6y?q#*%x6ac76&* +s6Oo(<33P1?T1z8^bEQmuJ&b(nPcU5L_VY>@B=Nuf_Kp+&)VQ_Bw_WT2Z%v^^r9chGMKjrj!0Kb*R|R +I)^<2EW$neYEA}zAk3nB=+OBV6|cCx(e);yP$CeF$UjVJ1>dIbh0wNK6=%6xZao~wWi?5MS$JLa?F}= +UlYA&c$WYLWdX+5S(-V@yZj%V#b#&i#LiG%0+(ibP&2jg->>2RBVbv3UHq@v~zTBXKba0`nHPid!gxm +$ZL*vDl;q*aQR%mT2fdmqFUbailP{!z3<#UrCbQnD-zdIW!f!hLb;O*bIaTsdm +7ILGTj5CZDtOKM+7lbCcWR-@TxyCrwA@Ini@|?kZ?6(3okopOs1Z72WFGC0iC`RUze%zsTGc+8#I5a>ZUZ#y8LWL-u#712`u=29y~Pb}MF +{QpXp(0_|A{i@er5~eTc-%=(FUp>1&(Hb2 +Nq%`0=fVRN#>LCXdhGgD^DqaK3!)%9BtEnA@|B^DHZ+koztpQ~Oy4u|Vb0g8!E&#|DjjR@Wz@5O*Yiw +Hbu6>89#qYQ{TNHUX(J +?TQqk7WP!I=F4NdWm?CNSpXqf|x=eXzGR8Qsrq#9?9YvXp42;_4?4_IDM641ReCCbF}c`GHG$-`d~RIJac~rgOzmG&Uxlt=a +YTy4u=YL&+tah&QF04@6}S`7C;?H$s?oQfVOeq;ELEC6ph>rCZ#wcJJbrk^hlG2C7e4^0V|qnB2r|_- +5G`R(6cBEnzupCpvzQeIe%JIH!o|_rQo43U)wga+AX%xOPv;Impi#YL6D@j75SIY@9dK +V=S_&aX&mQLeqVtHdVd2AjZq~qr<*`VcVwkwpYhGP_`*_Tu)2QQ@P}A41g-nsvbNGthc5696WfJ$0MG +D`aTZsiDU4Hq&Q~ExV;){mL*UU{lo>Ns`z6Ar!x*6pGeR>o2yPSww_FjR&6wn1DD>{0B5i9EIG#P7R= ++=qWq`T1Jy?VtJMSgYqN)m(ujB6JPdTR$`J;CB^EO5#aW4*JF +O_(&$3eN(M}r*E^6}*8Mc*3`U`MZsGehi^2e?Ja%fYx4GbuiDe@yp*9nXdDT4m0%NCCqtqXe7R*?MS5 +cEJ@WOMTShRwSXW(C-d|cM%(wgJ*|4U +Q8Bs=exvPnGc)>%&9n^Cs-r~dk!6M4_2J>xz2s4ee8OG2h^PF(&75b2c*rdHV5A<-!CT#KD1ASNSDUK +ge^Vo6d%Jh~EeK*hN`_;SW{>Dr+yz)>>exT22fn>p%7d-Bcs8(JjR4fI?Yn7620Q9ihE1*0fzM6s%Y7N-~v@ +2m&TM>!BxfrtkCE>LelqB>T{(%3EK_%4cdjLFY^|B;ussT!^)-X^`fytOPw|sTI#P4uHYNbp>wlcOgC +?j0mGx(b_p>F~P3R7@(;YzmvKg{sIjcd@}LH&=vV^Gvj3~FzbVg!9U3V3$Bn3!6x?)JFgbRTe*P)gK~ok`STD5Xkg9qwc%7^Xpex3l!?;gT-*4@%U>r0<_MkNNd6Bes`8 +XtXJZwz2ghNS+8)-QkL~cw<_f1v}3x6N9g-F4HH(r%X`l?u}bE^mEgcra?6!oK6!ENeU_0QQHgO>ttW*IsSa8PNo&^`J6(SwjFXjEK1cp-_UYyR8GF~**@vEg&L5o$ht+?E|^N9{u9_2(y%WD>Y$`KeXOUg}{W +mQ&zqc%8z^1KgBoWn7GRC;=7y +r8XH=&yBYuemhiZ>>^(}&66nJj<$yE=voOnG(B4aB +qxp$>OaL=DOm~KP3p3AMXoO`j_=HJV5Kq@nar_^T$Ip6J^|tqyAvwRyfF-e1(%eOCD!tEnfp>p3wTJe +vLHZz+gW2;>cTG7R-7`Qb+x&9cB6f9b1`|94OL@3n=?7m +A_jOD=*G(TCDHLU)otiRGPz-k(PCHbEu@1Bmz6S<$2hxNm|@Qk^o2;25IuTGx9Gmv{Ne@FV!r%^yEcaD76 +>bl*PJ`b!25rzVhSgKF@cN(|Y7&E9#>!pc)nMN+Mw7a0qP*n;&kOw++Q3=sdOKCLK148Cgb1oQH>GP-gU`5HGtwy*J-d(?ke)LZ=3XNCmgh|o=U4-Jdc3;8vk8@vs-Q_17| +35g*C+7b&#gB=6Gy$U|$uPgde1N5E>O8r|^Hb;=zyQOmp#y%qhcbM1*C6Q{oCtUU`kNGibPaUG-%0%h +{Eo=SR+a!d0g%tgHKGx~Gfb^k4;Wd;rkOSDF#fI81Yd(F)^Vftcp0z;CSHA2DYE*$*6hA)7sKlZl3oc +0m~!=!y~8cYY>j$c*G#RM2w>JVS07%F9w6Vb5I_z7oz(;efWaM$KN9)6z$lhq;{Nt0+~*<75(ABkKW! +C;?Ky+fNYxsa_#JHjkYe_Ipd9r3NICJP@!z~u_4fn+ivzs#?^fIgIA2XCL0hy%f9KzQl*R8dXf4$C^v +}o9=sz7tVEXWy@0pYcjV7cWmd~R^@12rD>XYzrU;%OTipo+ao(@;acU?z +?Tpnz|k7t(Mw|At%`W(C5Cv@?tqCQ+Ntt_2un|PkXz(|k&5?>HT=tt1ZurDPQzj8?0NK+8wNl@;wBo~ +8u4-4)wbS@^^h(**+`Gn#py_q-ngWaKDGVbhNeg&YZICFReLXTa3d;@yK{9KEs;Kwhw +-^3;?qgJ4Ckw8Y(nETelqF24%lcghA6WjIFhoG}%=W{@!(PB=afATp)8F6yN)Fdmu=2)bSx!^-6!@{ZJny)C +WtcI~mOM924{nmwI+E*a)aW&&$lxW~n=N3R=HEP(^*hQ~mR{+F8-4I5g5Ost#&jfdodr~sfE<3=!R>APwVCR^5afh^5Xz;l3Mt4}a1Sdx(gDgr9%_v;PHhM?e(7`1yv{_{H$@6{ +{hW9A1f;Xej=&nihsgap@M4G8}EG9+$TSCWFaQptS<`u6qZqANAuh|xRBc>S6_z9sGDH}H?nIOTbaQp +|!5Q6XZUvR7J)B_*F8|$46nELX`6Oh^)Os$k`$jT_NPAEH&nz+qtkYo6@|3xOIkJoDR_CW}qA6-zSM5&a0oP+Fvui-}d<(ef!DXh0?#|Zp8bb1S(oHP +%?T=m|Xoy=xP%QMup;U-x(gQS(XvH=7pf|3{M(fttenNgjvZJ +74I_YH{6XTR%1=_KC&U9*8X9#^2(2pSg=kkS(mgXn7lb={I0@@cPQ-JTtrdtLk+Q&B?4L+5^H2^jIZ_ +@n*3Yt_FPeb_?F(ub4K;cBbB}n&G|SG5T2kPP6Yg6hy24f@x#G?^>=NgKTZeCweo{%>F;Bc3_z0V&_AMDKL*6U+dx0I7)V+>(g`sO28HI^6z9g+op}4@EXOT{IOKpZCvgT5YJYllw`yW11>U+ +iS87t#C^afcV^(M%(yRJ;d8r-FN$ai;U0UwtYMsTX{YYGTTv1l8bjT@ +TZw$wu7KxW^K#ac_tNuaFO|w`^Z;XWifYJ8ItclfJK_kFhHEdjA*++tEcM9anQ2y;s{_iX{$@krX^q!2mD%#n$5^|2AnlN2}LF*>oLUi7(a9NXj&XV1QNgMmZTWV +($8arKpAfzD64-5$>2J`&9SqT3j3qEU))s3y-!7g&3pM)t{kP3CqYcnl#@FPcxnmhc6SM^8DlT~1elY +J17_9yN8ow4J-5+u7Y;ALqS0SH6`J*PFJ0p6;#CnfzgDd3w0Q(f#HT_8w~I*rcw$ky4X%spgr}58!L_ +7(v>fY`ImmtTEAiJ_iz@bIaqX2+XT=W9IaXHktEMpxL3QMc&87qGK>@%(_t*oT|9s;!_pQsMEYJH>W; +vztK*41gzruX*q&EO-G-WBmRRmp1+xxe(-=9;Z;7+7jaxv!?LNTfI=*71m;t=!-f0CRf2`9^ItUn)|Q +miyBNPW80hC6=AUjb(9b)}w+*KK?bi0;Ruk}pRG}Hf)vva@Ny%}vhhXDdrhgW7@UV@%uL+T}4@$?M_j3hOEQa)a`1p>Np~M{7nuHtBplV}W^|Fk9I-+0jx3<2l>gE6R-tXA-`)+3>u2* +PZf=7klvBLYcI^sofdV?!0g71{OOWS``w`5Du{!@~7G+jZ<>iy-aWoQ4IHhZ+)Md!)`ywd*T4O?)gxL +s*8m2Fi3v3EH@4x`on{>d%#ObpAPyOHfXrn3YTkq*r>wAA(g-m?Pm?|Lx_VncUylLWnjvN9N19w)rA6ewo5A)8D#eplu0C?6IYDm3E1t>#;8)M!*TpCrIO>oV624A`Th(e4w74p3Mflrg+ +=k3=CMsl%Tn;yGGd^uTE>6O~|s906Sk1*9pr_cvaJ^7=*4e+x?7%FBpc8e&d&UcpVpNkX!k%>`fDLJb{Q$7@KN`hv<>MOmBF&;I%C!zVcx%rnP96;?=v}Ko^u +h(aLu5wIn3(O0G^rmHliYf|z7Xwc}PD+B35`5rmOy=xGzTdV1<9Eyq;o-^J$MZq0TlJ(1CuBrfsWb7r +_1IeqdblT!TyK?LJT|n$A6eGn?gl}@{fl{SPD=>U>1m>vjaeebgP%Q4z1~Fo%1S}v^5UuEwHSW=`?L) +EH)z>!`uvubVL#>uQS>hZk=}tr*qebd_#m^Tt{7+Mn79tN^Ph(&5Wf!1kt&b+8jnlB&a;=Ty?o<9AN&k$laizW~k@6aBVpVzuqb9nk0Dp +z|KS!F6s07pw;?*-C$1&#meo%#0q_E<#fY_YOrAYMwn}KOG$2O+a0tg2+}zf<-u~=J1d<9(s=0`IvO^ +ovv|1959I0*$VHyD+u|~9kJjiZD(CY2?5O=B-K2_kUHs4KfqVS<$aeMOBCVYc;dykn#RAwTGIi +UUVIjOYD$k=?SxiV~cD{MYm4;9+Igab)CD7FE;vCU|VaY$Nfn2?&Dg@%&ZU_CsaL3^vW}}=__JOACUG +QUZd9~W+L^dLPmId!iY>#=M$2GY=Ax^(zca1rw~xb4Km3qKR3D*u +VUJ$}t-d8^|6qGtgJ1v^GZu=X3g)KWeZu%SF~A(flYbK0w%;J(ZP=d5LLT&o%u)I9~M00&)CTM?-F2-=d?)`mC-T8GAZzQS|6WU2F5(QVV1q +_#Ct{)Rd{<>p2%A9iGrdXGC@wUs?2@HV=ih)15V4LL!A&xvD5S;~@RFWjLIgz_TyWL<#Uj7Rh>nvvvjd+oP +*mt3~bIf&Cp+2d{)3@TtFk-PIEBbOpsLo8TJrm?SObWi^w{l}PMZ3 +>TO(lD1*?X^i>yCbTJ4aGhSo*=_M*=x;uW;DHp|RZ`l5J0wsEmh~+%V7zJ@PRsZSwwI$<*{b(UX}itS-sd+Puzb!?Z@HRo5hp@Tu|%0md0{H+FOm_MQYT=#3#M+?-+&Df-4RiU|rnY2MI)~mkd{a2xw$PtRY(2`-HZXT9X&o_^xC +}raS!C|3?W%t`3tzj}(3HCqvMgWu +uyU=0zznls^d8e)jAuIm_EnK1IUZUV-OF>5*`{q|K;^vb*ehsVR!xeS;$xjMH0HWA)kqsFSkA5mk!JP +C(0e%e$Iwji#lN&e@idbVLluwXcMzB|=ayTqgVdC=TMSb?h}Z~yLvTZ6=&P~sBbAHVxgMir{V=ZlFFFXD{EU>3(PScPz=|MK0y!b}1=5j@UpYD-{wBp)J=3Om#WE<3Ft6ai-h?a>)S$X0BiN`fM- +1JkQea-BkYnt=K0f%p3QgVqInyV{*Tpk^c#a!=d$c^NM}|j-M#$DVA8OJA;Fbia%3qhyY`gQqGOKM2` +olPO$z!+)LVcE8)GM1g9~@%CXw+A|e{{A=)m4zTgKf3=fbMMvUD7tnF-t#N^ +awZgKgf|^A7dQbzAPEn5cpLmls@Tg5JQ*69u*|dEdnX4v9W|IkSB70L(juRx+hN`nzS2JHKS>>(waqQAN +CRAo_d|UeAn>eO}71l)#~COP2i|;C(?LKaPkOr%O{#1udar}q0;R(xpxtn-K*5xJp94PJIJ*|7=Ic`nAPU46 +P>yPG(9O4~KP;z8p^UzZrneWuf3b!C +e8OMm+P`f2p^)-V`+dO5H~ahre+DP;r(G={*=EqOb-{<@O}r#o$IDT2U60ZDZ!lO%K+AvP%l6N^S_rW +gPVi{eGXsgWT}6Sbq{;#^NW3<%7ED@&*Pu=68(pWv*10f$!L47Zt1W9kx$X)gYguNMdL!3^!A<&wjMm +E_*a|GfdRJ?qW%VY3R@M@@shT3l%2x)lwJWzAyTAy9t-Y|78U0&naZcJsxjz_5jQA-FnZ|xtv<2PZFT +lF6zOCAVxsnH*IguBe2eGsdpMt?m75I79M}tw&2J2g&Qr;M{fJYZ +{?HPV2UOADy_-=CT&wXNyWOsb-Qb$l=&Dp<>=&s!x1w;x{U_?&U0a$I^t)1P;p#h$=d(}8 +EUR_{dZ((rnD_t3#uSTZSiFUh_)|EIm5Nu-+`|Niwk|&-3Vw9FqujzJlyejtt9UM)&bfZf$W4JNMRV| +?5g=Vtd^=^r?^ysszn6h@*Y32;`cc4E%i0Ud^VBlk+(KIYaUb^#v9nm{JSwVBLUr<)M9W)=s ++#Smv6^k;?_AD)i;<_-YC7wDsDaizYzb@- +g&-kdX@B+ZEeXgocr)ozXkYA3+Ri|7UR!#f*mT!vcP8qdwo@B?m!&X3ZdK%yz4zRX9X~~Py6LR`-F2& +50$=j{P5UIT<@ck=FA>UQLkATtCl)R+TK2l+KH@}6+P++mBWv_J%Dh$6b5W`k6cijvB=!KJcJY?ghx)8^TVR{ZYs1Fna^E{8}$nTrmIi?=ibby#NarwvfCW#Cix}twM)^O +i?0cSVQ^0w3BeT5OAi~~lF$Mce|73%D1-WU`75;5Tf=!E*nce8xP(^sWwKI7O3p+nZ4Z(wOW7HcnzuG{Zxsls{hn9nCMB4IX<_K`Mx44Ft(_ +%7c$K9*gcZ+rYdVO{9Vjh~>`=p%nJHv^KOZ +{pgqRVt++~h+G%?CBLAe6}qA=W1--61|@<%*8trRjl}={GBmSNTsLLW1(rZ`C1fDrno%Xlng?MUIXB) +!VM6>@)>iSFb4456txVj_!fMqMP2SKif>*bV%Hs!0UCpERB$#^(d7}z>Nguhp^zkWju?&#@AY#2rrF@k_c^U_2)BHrk^3a8%TDXX{5v)$-f- +44}0}A_LrxDnP<1KLL)P${jEG*@lJ{9USC$2%Iz*FxNA`iHU7mV*l*f@IKN!Dho!g+ +*v^7XmHD?W^>p!a^|egJho(m%%6Nb;GaIsTMClE}|N6FQuGYKE~S=g +m|TbfTE@i9CH<4Qt-mKT-F@v0?pFE#aq+@8Ix%)NIp;?oYPceiY=LMoIke9X(SdQddUvr_w{$I$aGnh +zXxSykC-qRKSlOT@@-s0lyyOY@TMx5&b|0BX^5wfr_>;(F_1741M%C`jm<~gRsS+v!_(j1y2*S=7x_;~48WJrjmg)y9NG2Q +HLBz_L41!HQli2h&SM}{r0URb)NzPz%zCx0}p$*R$OeL1%@KxN*-|RM4159u&9g +9jW~At*U_x#21&*#I)g=r7vEr~aC=XmSeucjQo1@JAcdS +$;WTi!pB3%LRBbEpeIxz^f5Rnsqtt%^s`u5kpuyxF_nallN#A4Ig@8ND~opl4^Zg$Sur#RTDXN8Dj);9|M +1JKTD>KPezb?djs0Sq$esYtbA;lhTpB7?H{@mY+UNn5jQetxSlAOeFZ%h!4OJ-3~{1*Q(GRxlMrsvk2 +U3F(M)oY_zU(fo(VMo^4RT*}lG~EQRec7qrm0Kb<=#1Nc@lPEmG#K%{>0X^FXJup?W=nbr=ahTmO*0Y +_6P!cq#{r0cixYufhm%T`>#??;rz3pGJGZr67HUOv!`QhSFUpQbYvhXeA82-v5p((O;Y=;4yZM +Q~~>9v=_&4sf$u^2&M9gzgvKLD5KY&^=)_xwPY>bL$BBYH@MCr{NOB1V79ys3#tHs6y7{Va}i~HDu-GT6;S;rgGZO860YAw3BxC@O?NOid(n$M%?~5<;cx+VaPKMm% +p1{?*MNwB?5(jCImD7qPfGK(IHhmLTd{=6*OPQL&IJEp7_MpUnC)!KZEAH!Gj=p21!G?cpvA6QOUDRn7Kffa8*Z2Pw2>(x>_M_H>ZZ^{r*xK0rS;EI=Vvf?eiO|veDxB%~3w?$TYuozkM-vu25>~GTl6=4 +otC0G-GW6L3H3vkKT34Gn+6?~R`@E$8m!tB0lp;hzl +CCMonz?Z-$8Nx$;wgyAG4)5B{UK37M5P)*<&spw8DjNuK*r<4=##u`oOkTu>T#~8sNKw-U_o4C;e$kJ +OJul!j_zPULY9$k`k}w;%~OyKfm?&I|u<YozjAVBlbI1`A +QwcKV1S#CteotIvKLJSPe1ki~4YJP2FVDQ;aGpF8wX>UxBWOUf?CxWVNadcB9+1*k&-y@nN_>ai@Vs( +6cFWQh4%fnabx5*{yfJURqo$eo6o@23dXT{kcYHT!*<=5RpA8YkNt^0oO&M6`n;_s&9hbWjyg)Yj3^F +Y3;qZJ%uM^kzOlg&I^YjD`*@qTSDlC@tcL)iIW5kp*Cqcds$f#N7x2d8Zm;5roJu8;%i*qTwnGH2KlY +aPs<|9(?ZCyQ}^c)nJ?0D5ttYfg!9y9>isG;g=j9^`IiT5^z1T22XiI@h%YZ*Nl^^QVa(`Wl5U(>>aP +I<0I#e*V=?2j$Ty+b70+=0oh*82j@wxc$n-Ox9nxT&4|D0e*qoCqnNl_*|TZtjK)4gu!Sr3!_sb<27bb6<2*U3Sxq=!a4y3v*YUl#4 +miuq5;mhI2stcxB_>1P>_T@g@iE*`YNwYu~`f=#)7IO+QoN2Gu()MyV5gTC#NyF+n>UV{SSf3t*feyz +yJoM7<8N;(Y4U^m^@T@?sFt39}ui!KfsUZn4r80Re^H>J|bfWlGD-_pbpg{pix{rA5ahCtID!s<3jkn +}TWYh2%F(cQkKBP*9+uKX}UTdUeh&My2)!28A;30`~QClpgw}Qmt6-;-c%Wa*$-ml{pCIjl#H6-g8*; +L|HO9VAnr}XQA%nM^(nvKl@94559kX&^xpmem3~kUxM~MqM|SeBOn2iAhG<5fKdpeC<=m55W{c`CO{k +~KXU4d%B7keQqVIA?l?GGrk{!NQ2 +I#luQU4gUzh$|TVyx~J{H)xSS%J1B_s4AmaQQLIJ%rTDWdfbe{d?An{BTTlz6*T^R82gY<960%3NJ4MXPkkMztjsrIA!wX +~}uF%4Qic;Op2-;=ktgm@k=)%~^6ENL|bL@(C=P(&d^DiSO&yXhct-mkI$3C2;s5`!lqlKS{qOTOxpp +3gPDoN8BEZseU!@jE~Med#P_WJJM92@39xnOw5$e3whk?7T? +K+)lE91pP9~T#S^`hIQOiPCh9x0jm%RK +Q+Uy}Z7<8yGnWUnqpVuhJsi1&1i6O}B_$A7WQnl$2Ntk|)+K4UD|UtMyeiADPO;yIfy)?R6YFqj$E~< +~WJY*kuNSOZf-dv~hWpT)UYIV*fU83tgJ*ogA}>>SMi*n_eSB~-q3^Ry?VhnuU2sIZc<$-uBC0>dL^s +$0ae8U(wH5(Bl^r8vujGYP#n+KJQ!0Ia#i|oEB}U5w1IeyK<7Z_-|E6&WODkT6gunD*M-9eJ1)O@vi* +}%nHfwi>qtCeIxo}!{@OZM&&r1xXVVzQtgIV9+i|qaymcC5|0&jjG%6#4{vd!jaLeRVWj4P#ld9bE+o +)>`r;wSP|RFlgEMhIJGpn2d;>Vl=0=y6#W4$DL5=v%!m79x{cmAnL;^crGf{UF^g`$A7)kecFwI}wV} +%7AH`zn<{pSz7Pwatg6nQK8FiSzhdm{d%Ix9LpLWF`)+-uR`yFDrGAzYsCH*E`1sB_~plY%fy`4lWQR(2HEd4@Bpjveou=otQm4J=KjHnrTobdcm3$Q78skBQ(vyZfd`J43$ +wp9j~=~KgCF=g%*3hLdeU)}yjuy;VqtPb`aFRzvbCVV6?e)Fcb271Y5OiEfSXBM`x_2>#{QsF&8~B5N +cNRi+}u*By?}`xolkKKM%=ta=+~JWX{~1z26~xikk~;0-=1!oexYaj_Hu*x*rJ#Fks(UwnpEOM?`Akz +BFbS1^yuUZ*hwx1mgS6KCkDB~=bN!7CY@~l2z7v$9Fl5=`Zxp5y+)C#H@cs{ +Q~sjFuvIZCxADF`E9S&uREt3ql!$C_*>?ZA#A_{4Y)&)vf#t`SY2aRSmFAr}KDh2xgIrbp;kwabIVRb +OFK6xT>sn-DusyJTR&C0q+b^h&?b>Mj}k2XCr8G;zv{E`Y{$pULI==gOH}mS$^M^cTHsd&JRS68ABPc +mDeBH(Y>d*%mI_J|P_Z*C%@q!~Wq!-%$$)2tx^opb!*-L5w6w9ENa$pipWF%?JpEF_8RJg_9)y4mXk; +5v(B&7_X%0B_vw4ugEo|qJp)0;gg#X1N>=N24dUH;Z{olqjeB5+GhE_6j)ZT?Rc%XM9EqKS%~Zz$-l&yzm=DmSwkWAZ_W*4!QGIs9rjzJnht +L^CG~^yEn75w&B;cvo!ELi=kb}~mx$kBCi&+A&ra?lj=ecqo7g5bQVsrhI}W5Y0e57OW??L{JF;*N9->}oJL+R*ck+l +YG=MzCF?GL0E4AIXM&#g&$T$U`X28Bv-ix!R@8;e?+C^54i?en8b51Ma^E&;R5^KLO|WC;6U_N1+R7Q +W!;27!0ByLZB1|kqAuT$O4@xh9W5b8E6vJT7UPc%|d&V9zy)JH^0E%lK-R0+LcE)9^HaO@aMIR6$i<6 +v}idL-!zB5$PNV?dPexlCr81zW(1t9bUJENS3-V8$6K#Rt|Wj}r5atYPLM0@4#u~}J+|`3S0vru4K^k +05aArQ&B53>1$F6Ru16@qc-x1jmhK=Y%8aAmnZwHk)i9>OiMA4l60Mg7xS26OvA1)B +6AexOhEE&6=W(%wrFz}5I>SpQwB`dba9Z?-7{|Cynvxw56+3`NIpueSD7zY$}38vGYW@qFFK-S)xmKm +dcI#L@AG8yl!K9$akI5{ZwV0eoDI*gl5(|CI_Qdhc(%vm_p}VboCEnzDRhk@!0KazWfq=c0Hr0IPEf? +VT&*&LZYM;zl8-Eey%-`YE~%9!*R9aeksfO6-%_=tk{zvb|?`cp`3fs3`)dZn%}iIHJpn1b2QPrvt{6 +)?P2bq-PSeC5V@-Mqq+8Xla#)C4X6#o#Uwo2^v2%9e^V2J{s9IS%YuUx=Jyw(iV`QI$Hg}L^O+9>R8V +^K9^jnHyz@N-%h(*n>R{gtX*7)dPW7F>T|4B-H>4=ay~Ha*?;!CIZ#ZGNkn@pW96}*i2h-);K^)>h*7 +#)fzEprNF$rLTj{>j`dZhsEL7`}Q4!>M3nqhZ&J2F<^g9%H&hDNo=l(c+XMS-8KJ}ycoXY;4WHn7;SJ +etMz&Ld!DPJ;S?74!FD9|zoad_)DFzIlp>5rX1+xOQ6eB~9Ycq8$nB=0(iuXsv-UX0|C8c^)yQaxSWJ +^y?F3*dLJ$PxFw!HCfP^b+7Ou8gW=7hnvWdnmKF*_@=(J1e=vW$i$QeRFR1@WsODCUed!38Cu$boh%&>z@;k8JoDWpwf?<|I2g!1fRb=-?vDLU>JgeAV}aS1TKjv1yKZy5(r2jC_<3X@)r3iuRTIHbBB0Ufx*Ic6n2F_W +Fx0zt0rHFt%$nd>Avpt#%F&h?1wBw_T4jBUw>qyUv +xPD&2m2igCB>({&6-;2^7q^l)#SC2}}n&r416y<@Zwv7JA@~^7CR9oL1FKV)r~yO_Q_Zc#5Yx#k!4LF +t+h9kfUJ(7qtV=vL??wSfqUn`7=^_pW`F4tdURm)pfHgxyYYp75OM=nxd_kyn6`y)jnO +pX@rfl1i-AfKtOWr}}%1nuiWiw3qrM!(8*)>LGyi;ZXA(Q5!hK%jE(YfRtl}>&DF0V$0Z?j>xT$Ey{d +h1sIysxGNRVXKsG(iMng-1~G+GEZ~oi6DIer>ULN#MvyITsk|Ru7ltlWMsVLa;fr`gOPe)4KU!&8KueE9%J1H`_vu +(iZu80iRKS6I*G2HTh62lmD{s5YY!9;vGfSPim==rC^>N{{6G0skI~R<^uun~rpp{UD!7E;Y$vS3?fh*M;+Bjk0X +6qRE>ufT*ASL#>VS>MUJANTbC%?uU+%|hupPW_GcKLyCOYyPz)DZiH_BjNCr4(b9L*ew#RX@M{^tgLxm|APq~4>N6jXk>D^W?0{(VbURe_c> +Z{ET0ulT5wGo&({0s^16**J&;D#`qDN3ZoF!PBS%|vJ7c+Z)}Oag(-kmcRlV!S5{J;P8l;V@vrG?7MI`XLs6Q5P%AD8BYMzMGuv^sf_O*yrR*iMG#)&91 +|BmeO|bLYtICao9bNA7>5k3?g~S72y`Umwk2PN6grmHc98gf|bC%S#sVJaUpZOLzp9+kDXJzbm`^h{E0Ks?@qzBLQ!Njf>vC^BHU*C}j_!)ZGyO2%6VPL{mTQY6IMb3{MH_p^)7|OKJnFyr{PgA8GXW$f&<*zhi_Gey_!-%P)q +)B}wd>T5Tq}o~6@Ngy*-wFJev%`8MH98ofxfTlfvL|281E70RqwA+PVOQMA@4UcZu3(WdT|5TvB8+R+ +V7vY)c$FIE2J-GvlnUN>Hc4d7=*@seJ|FY398~arK_Tx%h2(`3rRhcngLdkSu!J~D_oT8oRvnZ*_GJW +z&OPA#qkUi$3^;Pap>9)lHF8BG=*kcS%X&18!`j_FKJ8w*ANg0HC!TQH8Q^rcZ4h^+(L#cD4BQ$x2c+ +d`vqV*~?We684gKNwE5>HtF}ZKt;rRIe2y^Wny4-4L +2g19$QOtTw!CLK{g!{NlIz%3>`YdPBxqH?SgVSkBh1=EjMg+NrdBc21X~B27tllE&6|&0n|@2exZn)3 +wHFuIT7^XYl^wlOpvjGmjjkxRzJ}Hbr`3-STl<{UZ}meDuN7hN4}>|=r;Zl+3*_Xx;j_T+6ZKA2`k^3 +bL~t>O(26o>dNspQd@BHLwZ1|{d`F#4xTt_2W5fX7_{5CFg6Z<@{MyUoBuL>F#Nia^OE2$-ZFlDIV-m +>e-1kYKiA2qk@N8(aizq0}>gZ*NtDsf}2A)#*;+!)bXwtn^bI_pR!fZdFGX*vgJ6Pd|3XE2 +*D3cRRjXi|!8jmB^c8I6ZFB?RaGQsUl+s{4IU7IBngQ3#ajF-&XPk5glt600AnT)69M5T8*@@|fil-~zAQkYV3>g0W=@!Vl5S_ST;MmsEO|3bRzY +ld#LZ~r(UOll-KZ)jUT%l7MA;gBz1Qf>n4VK$`c%zZvBR*>r~?!(zRE8>K5%M$xGiV3UeGk_$GjJ!W4 +*gElp#E;+Z7%Lg++$bofn-~Tt#>3j?^GL0m^fB57a~LNUW?PgL3*ERm^A;#nG;TkM3hK!NwHDOE9RWQ +ZHFNDcQH36(YB+$EgW82>H2*O^&Ow^D(=zBpsgIjJ|sFlC-utH`7-%E`wf@&d{B2?0du0dkG8E4wq`> +k^#PeQTLc65!(SBf7FOcryp%&7w{f?IEe2WJ2#rAA`jf~&IZ2cOUED-GwXcDrhHU@R9b=(nDxbO2a|a +kbC2e139yTvg-mFVh^g#(7dt(*v0VOe-eZ39AI^f0RVkn~KJgg7{#i}eo-6_=TCFf096cu&Iu^Vb=N= +V#Mt`d5t~-CWFR<>crEiL*964MJnqbl*y*XFLzVh2p^XX1MzjGJT-1Oa|5I7;nA{3~3i87b(eEtf*{Q +l?l_rDcL^v|cVHsTi>;{b|jB+U#B>sV-XCBLB@m?V*k;Ca`?wVmuwFvv@{EJ6SZZqsWyEMYL=L +>4{e&r>4Lbf&Az(r=`N;~S0R?S(>gu37>P1$e&X@>3pBZ+7{n0ZtKK#A+zOWgF`=hMY6nkW%s5!&&UY +%tJN7)3Wg1E+K26B6)v8b{8(cMXj&&!)rGHp29QLtCDM>b-Cx>buUt{2lxE?;!#x#z)8R^6ne1nQ+w~ +TbN}d}p5D>yd1m0atTH&e9qsJP!oQNUV02t;r7TmBj;eN?{bNi}FxnI%vyw#xU9+Xg`UflL2y?*{l +TsQc`0eiOH?50QP3+s2C^CX|XQNr+C#oh!{VIqqXp-9_gxXij(Bnni1Tl`_g%IEt#E(gTMXOeO`ZdF6 +mUZaF899DWi@j(TO7e=008)%a$vusyAx#9qh@J;7Y(g?BqUhp*-$Y#KAPXrzh+mWa8pa`p!Ds +Vy^?@qr#t>i46?D8M#9)qCUq?4^X`}=wvyUYru%O!6s#Z-CEk`U-}Jq=DR20Ir@~;JrI&2cLvioP03q +H+?AGdxEu50o-@8{j#fh(?U5E!9u6z8)XIldVL^tv*ufKWo*j;WQZwljyU_B(by*DB-OXy^`DVY1Ea5 +bkdcA~l$95v_++1>xQDmrbHj~5Pv81#MG!YOD=Bb_QMn!Gi7ko0E@4I-;Um(N{;=YUBlixIbU0o9)5X +93&xf-ZHi)uXRFI_Ma;I1BCPX@U$C@G0e8HRD8z_NpAqm)GIL96Ou9$M*srMnphUnPbp!d($kJUn<0K +EMGi+oLlggjxw>BV(&)G3PY%-j4^wVb8dD)@9+Df)|^=AfaDKrygmc8~G8p0c+s)-^6Xe0q4{q)|l?z +1ZT24Q~?+c%^klL=}&RnXZr&0JO4x6#{E;=25jEa|3%ye(Bef%W4Zz}@PZ!A0c{#4f#|0LQJL$Pf?wt +?Cu&EifO$MW=z>7G4~wxS;UV<;tpV(#80H!ewMHHFOk21|!W9wfklU4)JUTRd@&Y$K&Ue&WqK_$^uP^ +kh7xs-io^OvQ1&r*&gGOp1dQ7YJBlC24)*V~+Daa3}2z8O#pAg4ho+57gZ2Y`}%-w2nxjfP;_Xd!OoHdLSC!4mzW~B8=7BBvzTKgrFx5pBKBdC4%P@$OPmR?cpV%6;v8? +e;EO~$+eUQNfQateefs3~vT9jqwbP%kmpz7u=_0Grd@#==A#+#|mS&Pw +C(G)yV%UTk8IsnzzyxUpZ$S`n<(0jb1a>KPl3XIZ(lD&{qh!}W0X@Q3df?hd%ow-S6_;lvMj{AH3*Rj +08lOSQdvW?B{Z`yvZp%F)=p0xsq6q_-mybq)hYaE`%g0y;r4!PIR%bmFLxXc;Q={TuPb=$4T4`N7&WH +b0vTX0boF1ke{q@*L7+c8#dnkmn4m})#xV?90x1ed5Ew-ugamOE +!6_12-dz6wv*2%ukl-zN`a+Bc$+h0L235!!LPg+PM7V5;@xO!54Sx`Lbqs=_wS5EyYg;KGH=zJ{6IF- +Te^$BKXl=_Z7o@f;tj5^CA|EbquRhpYU>ahpxnu0F1c)U7UDbr3wJWsxMTVP5A++hBZ~lz1zt;Gc`-n +Hu+BjH4Lx@^$DB9H1mrwKu3h2q&-YE5tmXIJ%kl#a1cQbJpo_e@{@b%}6efKlYgsm{w_i~x4!B+p?jQ +LTUX9>M(;M*Nc@z@0RVOph9{#l#nE8h@M?%{WY!%gbea3^IpG1Vx1<&geFI8-!uIDB!jmH~c%M9-$)y +H-DnxNxh8%Qx>|mpkZO=ZL+}g93kQb^R-jA+T9pKT<2+@6AMns)wuQF?nOn2}!8>DoKK9FTq(`@vDy` +1@Ap;H<$eILY4?;kSTz+1DUwlYJl@Yb%Jj<4>!-fYG*V(&eZ+oH!cguAa}oXP!K2W>tNc9=KIu{iJ$J +B20Y0M4<;;)M2w@N(>$&wRfX|UKeL3aq#SCnhIhd9;ZO|H-EuPNF&5XBgNR`a2Ob27m=eO6dC+YNh2_ +gB;UJyH5p$^2XBI5ghErMDT&6Z5gODhcce|ZOMqLEu#2rIyAZKi|=OvI=cx)H&)ukfrta1*|c4ve5DK +2-q+gHd9cZIGi_arnBKFa9>r!@$+QzW1~Q|_*r_-^+5q1!#d{(5C9W>l|lBtuXduG}w(_w<|1$`6*m- +vu@&b@?`Up_T2~i&`E6z3(2dR~;4XOY0E$ls9;2hGd$fZq_c8>uIg-?{p$-NrzVvK@{tA4T@ERaKjY> +a5laKM|PiUZm!)i*?6LlLua1M8$yb3oYA>C8YD6A(sLDikl}Zg@6Hc2RTHC(g#thW!n7R0RgHF+@7mY +Hl&4(Sr+fCGs&}P|H2|5;J$Yr(PKrQ&rtn9iMu^XJ$S_$RQ +W-)D!(fQIFle1VfkB^YvOaq*TlW7~_<#QegCPFbcL)BjzYg`|FaHZz&2jYC>ly!5SH<)LVE%u28}ESo`7L}4uQ-Ll +6tuu71%t@?KMcp=mFJHTBtbwhg@P3LDZDNS75W?9B3OMn!gy^y1)I5tA8s1%{tBEvxt3R;&j;ctXd^g +mRTU&&D;QsdhDdZpIh0)6Y817}4s6=_T +m00|C6Ak=lA@6tV6QY$|`t%`aC?(5+8~uAMqESVe-U-%=9!O%Q(gDz&Tfgk?>fMa1KgV)tj2dOm_*N$ +s}A&$1`qRW?MecAW_H^bd`lT4CLHPG16iqNQUj&#k<7W)>td4NfJIV8TagK8aZkq3Dj!|;y*fcz}BLx-f#08`21#W?VD*kd?iFUI^2V_z1CD!aO-eJL=~Bddz}d=L3i)sPeH1Z%6tXr!W->Ztv +f-6zwciJ3k`^BgI#_f8hyqW~U0e)JsH}2;q`|g-KoJ04|GeXq##c9SGtv>rzRpFY6T{#Dg@g=jnlE6R +r~tbG~Ia3Vlp!bRNtx7rWJtHNyct-^)H7MoX|LkDb});Yfy#6pkTN;q!@_ykl6X?O`~+_9g;8*hE(z$#2UupFI%&7d) +u~;K)(76B)k~qaZIOeye?Rr(fp-3`6lM8zr&x5!5#+5yH(Xyc*bhJ7W4$ebK9(rOKY^0OGOd|e)legQeH!)F)@z)6=q- +qZX`*x(`*naW?N!`Z|i|U?N3FRh8MxmzM!<|^~6<0fD(1~lfJodiemu+zxVk}6xd*CDnhKr3J;_gcHi +l?VsL{5z*&csY9`wPs%hh5U}kJL=q)%elc8Va`A`Q_c^Iw-nY2E@OboLJQplQr!p;%#(r3zA51%i*^{#3kFOwt-!)N6%g$xOwZ)yyx0y&(V+oIX)Dl9?taJsKw0J?v$silAD?_+i}2`1K)z6Z0*{3eV8$~ +ciq5votA$y9SzD6Q%rNXz9;zeXanC|{avPYmJST$mSf{iKWF_vCjG#B*8hcdWPTIV(CCjb&5t3?`uu* +L-S`&|aD9HjfAav}$W#CM1N`Q%@Si=v_4xtcKEQurYS15-udM9U5Kxu0(!Qe886?8wG?1D$5%P}P$=4 +HR4cXn3OzXIJ#z&ZrnFVGz+qO+E&-Z+z$+!o4XKp#4HxO}=>SX8#kv|eSj +o1fAC52caUWj^zPE3AD9wN#-8gp%Idn?C;3A_Lk#O{#UJNh(j4($KM!HCc0;714R)h-!B})a_l3`wkE +|y#cfI083ulP!1Du{PlwWl8s@Ny>7Z1+U6-Mp-F^F;MD^`IaqHxy6QMtVZ7xu6RMtQkAt!8ZDc?k$F| +^1H2y88^i3MQ=b?H|a(;@G +L4Az6_y;2J}cxY7v;OaMoG>lTmVab?aE}>PFX@=s$<$0YfDO{dW?ytVQCVr%*)rO5uilCsbE2OuRI$I +9?TCoV;3@D^He%jIP0fRw#`iE95_L;i+N9Pt?U5{NP#nlTIqOYj`x1X$|YEf19%$GP9`EJeF95iq=X49BreK@UMJ{NMbcV4ZpNB( +3PT#Y;z;gR?eW{^#w+)5e^Zp@kg|26C}ys(65RmO8^loCf4;nfol +Swouud%ORYvVv|_vfG$v60Qx3WHT|sqQ8mXiaK(ywOG=!U)6&y?Af7HyYV45*>jKMc=N!|^_8X1dJ)U +wg}(P9oHq}i;_Gk-HH8c6yrIwtd^@Yc6<>^fJWHFF9R9~~%oW11RSf9-#bpmujAiX#-oR9jhSpgX{S( +F7uM!2dae#ihKo5i!(}(4kj>oriEBx^8&}w~5*L*fz3H)-rQhw!WY+G~Uzz2z74f0{4Rc8Hf=H9GZQF +QGRz2{ft<*DI0C4IBUI2ZJdfYJ!Us2h4j8Wj}e*B37GX72!u*FKOA)K +}u7w%g6Jy9?yo!D&Tebr`wDOGGO>@Y?+k{>fxq>JmI!4MByXs0SoHtzd*da+5KfC6k)9f~ek<0ec?r5 +8L5**vl49T2ySZ&&jJtGL^e<{iB*^1KQ6MO!CLNj4y-@XH-Nrxs<5gZDm^=Kn-i&n-GyzQ8Wx8{7DboOnI}azxOv_4~gs?XPZv`aGpZ!W=g0f@l2A@}`% +b_1dF&4C-{-VoLJRmAr{3TJ@|uA)U_;B)Q(Nz+(=_c-K$J3 +P!8s#2dj#ZckavrwEQA*io8@>(>#2;QN8IgLv5l2QyH`^q5p=UI+mry?5;|eyY@Yd9~)*;jxIh48DY3 +NGb1+QR?h^Gx<>YzLxGJ*KI)!hU*96fyJ8&N#E{>BK6j<`)G<(Pz1>Pm?B@^v$p)1vG$2AfJaJFo6&Rj$$aXP;z=9<0M1T1oNSo!Gc-&YMcYm1_up{3p_6L79jz< +Uf>ZxO$4-y!CcJ8sz6u-AdXslFc;_o*5vRil#BysyakQ$H!Zu>zc0Z7RnOO{8sukPnK%k0^S}TN4&Jv +=@&(_389@xH{R^a`@M?dKfXPy9)k4l=&XOeksf^TvQ+@%3c_317K^B?`Oayj+dP +dOqr}R5#^e0*Kr|D3^U7ozi3MaxgyJb;0pvG9*+iD7gvj&~5!}Xb6GrKl4Oqvn@QDL^z@#HL($m=q@2 +BqX|hvmhFG_F;tgxRyA^W^28eVXYbXe%j0WW-i{vuVwgA69?%kFxQ=4+OHkp4$_AdDNLf7^t&XZgze# +wf3Ov;r1dEUX*B1)vA)xJyTotd28UbkwXgF6i>Q#x-+*Ecex#;@s_9oixeEk`&o$l=03U(&#t!JR)v) +2L|nH1jrR1U2@B>L1d$*d=go3pjtx9TkXefCf{50ZSoXf(xJH5GJ`+{OP*^Sn_0oK7cZc(d!>Zd+Lr( +4Um~Lpo)9)Hz7O{A(H61VYg>RnW)1j@ftMJ7M4<4Z+?0(A%@6WUdc8tgw8kb+r0t({<`oJDf84?2?GMEu!(~1AvfXMHSy|DkAZnXC|uz%_2<~(HScfk0McJL06f4}j!Dtb6ZEHH_YIE~`W0+kHD& +`Fwr>E#EF;W&vC)Q4jXZ@%gaNapKE0EGgOAxMxR2C@LjYHx$Q8=ZeFZa|VC1HNGDf?@e8&cm!(?S?N)bKXtYJ-WDBJCwXSWH^f<9y`- +^iAL>%D(SFH;lz1=VS>K^=k7X5d7=RlPd +7J2=Q>D9%4V$d-WV~=$Lm~6IV7VS>%L)lOdbuO?n$hxehUIxibjNt)&i;V(yo+ujzyMCF^ +D!Vcy8(dj6WFv3rxZEPcx@c76b$4QarOZw +=mieY;q?Kcfy{JA(5ubibQUBeBVg;o-nvwF}a4v#TRo!CsO)21Wt$1CYM#yS?rz_CmA-SWI7Q9?z!JD +tQ`uiKPa<*Dlh-#boB$EX8#q4X5ZlNkMGp~r~W_r?;F(rBRhP@_21mtHvo^23+ZK$g$bh!kjP#BESOI +b1c}ikji5M9El+%y9$stE3kWY17+AeW05y?x&9EXMG0c!)UT|Tf3!wf)Czrwj!Y=rmV5>vVg5MY*#S1 +0HV;~U-dealoVNT+}e-BvR5~~G$_A{$J0zmZ=6fC@W+3!MQsc1dV1c+V$*INqM1|h4HPqb?OEg=K7YW +p%2;P~)*uowkr2JC<$@P_470N($)Rh17lwuZGv;qru`UyKJZ2^sZwP25-dxwfiG%UYy(>$;PChuaH3{p?)_eevB3fDhU9O<8!M%qwI5 +To&fe-=8t`r>Fe=8AE@1%HNyI|AJBrm#0EHhK$Lmir;x^37{TqTMtyW$vX$0#~Df}L)58hs`h?9oVDU +mGwEEk+oBlbrj{)E9BEkUl_$GR#DX69n+%h$_Alt(M+Vi8V6*ZYWbMh$Y_;@|IQKVM$MV{up>nU +?=pQ}4w$%nHf)mO^G+#G#&5B5;I=)Hy-*}OWeztNxcJUp6{@3(k3HIEA_`!;uSlRLY8%2$RG%WakH@3 +&UGAJLjS&JNP+tpst!UF^jZVtL5peDtV;+c(t`dlIQ`=do%dhaoV|yQnbQWNXdW9KnT}#wnI_6b)l>= +oS!<{*|JQq!e6cl(*^bm5xg9Vn334pS>L%Dw_F&4hMX97Y+3xxL+uB0w}fhEgR;=@s%$T089pGm)&*) +-|BaXHKNq`NPr&Vex^V#sh_B`tsCNHv_XYX+{@N?Ch|}W^2jLDCz#oP!s5^0hvV{mx(0Q`{B5tL_sw_ +Vjbs13#!B5U&vroadro%4u*4{(f9HtZF(vj14UxGWhNle4mPoU5jwr6&PI^_b9?A<18wo8{qgg{(xPD +Xh!z9hzd2B+@79L~zP^&FeB5YDDz=;bx_DQn3O;>`EZNhNgvF?Dt74l +*{fnyhE#FAJ4V~zv2>mOtJe)?^63>>?L$6?t3k>6Dx5MvMa+qV<{$dm8Uw|Nm^P@!Ye(~W|Q{U&_NL6 +MJyo;;+>TYH4gU;{kR0;YxE+%Snk;CPpP!X^Z!1b{_~xDN2&j22j3X&Ap}LE^n$PyOfLY8E?^4=#ZY8 +z5~CQ5hM5mL!+_+`s@eqHY*WCF2@DL1ku>nVee3p$B9KL1STp()ae#GeJOknYz(FrvZRb}B!exI8Jtp +9FT#N*nXgXV=d`0M=)?|^jBaJ};)-KSEtfqYnnl8LKNGGI_6Lw8n|ZEuziVpxQ%3!!F +7OW+HK>Ap)*Mv7Flxzyjo&oJEkV-K(iQQq8@I~eNE$%Dy2f8!BJ`_k{M98w-(O=|u@+Y( +pMG5`2ik24%VO2SJhKao+gSfhlZKaq6P0F;4M~G@53Vh8s8yZo3651ZC*0~T2M*@A{Swu7uvU+Ak!CK +r!Lr@%c@zS%N6%AGNjF%7lHA@gd}$2_QdMMp8}sy&_v-lS^}0c{=W#~0jobJ#)Gk!HVJy_yX*EdfxkMV5X?MzV7Fu9RB*$zDsQ1wwJm`o4&25Vw-mN +{)Ywp|KxGr*Z5x?>MsHf7Wkq0yu +e#7@|w2xUBM+G&lP7Uxq0)m*57mWqxOm@ynP=*n+u1e+7b2i@O1fVW$c%g(R?OK{epl9ddjn3I#S(*Z +t$ON!b2CXT~9oM;Tj}v?DsWWS{^@>)~umr$^1Otvv8{XeFJa#J3J0`=KNq;qF4^-pLt86LMBL;y5eM3 +>}(45+Z6Hq`8mRLC6Ge>zJLj&0l#E^m&IE7d_?!F-0EaF7Rrp-NxOz<39Ecr?Hm?3p(BQ)jw%}n&|3> +{eQ-SUXgi!7W8Nc_-?P5pG4o1L?_xN`sC{;2Vcy?=f|duhgL=e|UMDH{k>APp=~U?JeCi9{%&gWk=71 +6KvA#tUrzx8`*ipK?5q8|}xc6MG3)PqC*(p`MxXFe*@A0^73T*ot?qurTp67ddlf*lM#zNpt1>0B1+- +lT*dB58n)uu-;QQ2~AJj~Z2N1>6y%;(P0hp;XmtbFbm+eDVt^b%qCz?M_EV@BGZ?)ftoQUbmt*z+Q&b +BVff*#x}=HP&;mT~T}WDvNH@SEog{I#^ciK0||(VWv%FVB7-^$X%WjhHD(;Qe&Rs_BDBDO)el@q?Mj8 +7v^2WHSFxqDON}*)$Sgf!`|wqQq=>Cvo*cFE;Jzy2rOxZCM>dWLb_I7a +OnW1<%pbhp@Iu#K|cmA;z2>Km;m3}lg_bQ@$rL{55YKBtYsIhh}uhs~C-NN%*9X#Tr+>Q?=z8{G3xSt +^BV00q~KVDYNZLSup?3~LDt`F4=XB6o9j9(Y#sWygjv0f#rZZIoUa8G*1Tz||jD3lLR#1&N1Ix?|MZ# +({lq7&Doso^P8HQWSpJfiaqC&cT@r8J8vHokclNFZH!aVlx(c^J%|=LU-!3PZWJ1~N-cs^Gd?JIVH8+ +^$J|QuL7L$h%w3RpH7xOUBfAz^`ZN6hWowSu7Qw%iX>)Z=Jm_lu{O-zAc~ULteY7>df|4lIw!Uiskh1 +%&_p`aVB2p0~>~CNUCrapI)`ui9vUnoU~`{4yBsqE>->=N00PzlLi|(a_Znn`N;#_PytFcL+m50%oRwH~+N2@$W2q9| +zYL{5a`8>RjChmA#X-h!*%{DLr+$Kp3w +4Rt$y{Kqm8}M087O+vI3PR=7XrGuD45JmC;*ipIf?^zgs+pizyJ&Z{XbX^UV>wAT{!`!XCjb5{Us{iK +=;j+|Dt1ipb~r(53ggj{ZPkNu)f!^4V@)G1#NX}kxXD~F_P;c^BFig8I$O~ukcd8G +O*4tip?^@J_zZhk59)V`p?N)CIC4dF@Ily~<9dw8Z?W3!Ow{eG6+;khf|UE_%@S~vZ4f2p>AuJ%{rrF +zFH9-*1bdk@)OyW$q`3s9Yi>4}L|Ra(90-y*UlClw!?7qhiqSdGKaa>7qXEuIVfT*0UXAsGCUbwk(X+ +qSCcqZnKYp-qm1iynD3$26Pr`i5mGnZE6K@3E`!AefT+FcYH6#VDlpMSU;4-LOw9{jfKr+T5HDy)73N +XE(cCy;sxNAy@3skv<#eU#2a_v4}6fhY0cm+gNU64ZIyb3*~hjJc+400^`IH3fWJJTM|6_IQutmmdpL +lLcjhPgHJK^Pd~;*abdT^TtTe0)ttl6resB#_j%c2WqBil57(NYWV!hVZ?-Sxy3#VTORJ#PZCiGzoRQ +lDD{OZ)V%|Jrh&GWBFnNRLu6lpM7F|NIN7l#Yuos`zb2nU{%hp8?|{xfkSK&MP)EoD3!~^%E +5R*mXBjGb5tX>36v)hA@H@)x%)GTCS(}6ZvD`Q^x};bb-XX3NQGSL$ANQ@=}IF?Em&i~+!E2^gZ}Y=6 +u;!I1x;^P)U60zIYq=2R!V@AKQ+1CCF +RjT`EJVp_?+;stZoPSLN~+WxB-*0Ip73k}*<7FYw#HxyuS%Mrj(Ckf~x8iS4;Y+ +-gkQ-NA&8yo>T2g3kE7itPf>8eKx+G-fkAOm#WBOqHvQlK3cURzn?6g0&yCr=^Zkjo`3=(mtboB`9M3 +mL`Ie?`BZyyyT4>^_q~eOZRUf1H5(H~mTK?5_m+^)0|!@;Xs|u?*zU8#LmnC$V?POAkut-&Cqac+grenTckF;VB7l{fWiPvKdb2mv7FHG +_Y3zZm!OOpKtfHpQ2>kAG!42yXTV=y0n2O>R6VyW&1~ApRN6v?-dRci*UNmYyh2{V|%qeH=WcA?LL20 +!1`JJ3i`G~#X)(cH?w}BgyKu~DlMDI;ZZus=*{f*z3F5xfK0Db7&mr=$}{n~=>#~U8E0ZleXWmtWB8^ +|bRDW-sucXMtg;?5a+(_jQ_S6 +oq?*EISZ$SHN6kQbjEC+M`Vi5BOSLxh(6m>dtse9JC$U0?^1K#lr}ZC_2n$JrhZ=reFO#1JiN&4Z%7=U%@eNzsi%C)9x?x}ZQ#|YzB|Csv{^+_0nDk7qKn?>kVA-Yiy2 +%>0%oEXK$}OC)a6E=9${lf6FlL1BIM(OMR;35G%*pLP}7eM+Jls_$72eEIBV^{b9iXl)r4#1}}kzIB_ +VZ|TnOo--u;JJCe@WH`nMsn#bJz+Ht%@g5;sVu8aQLw~BlvIwRa_4BgQDfUIL#GAo?s%4F18G4)!InH +PMub;{Qd};vwP;wjk+AHNg++qiEC)wRh**og>oEw +)~E};7rI5@ab7^U6e^P#3_%wub_c14#m^J7IGhUu7MovAg@UzP4S-SW@hB&xkSubI6rUu2|u3r-HGFc +qoZJ=3&Uki)sBIliaC2_Ou}sJy4k)v#e|pB>$QD8nKIJTR;C8r4X}NwV+P?d+@9{X2=|;JvNn43a4|}A(e3UOvG+pM0>%muU+a1A`gACJG&Wj@ohT +~hZ_tPw)8`Gw4#;_ +6D6H`HGzH9lG!XC&RppHIi70U$DwZPYSiKUj2b|lrq@K&pD*GMLYD(Mv3h{)VM9PcSXo&66}6a_gG{_ +G4@hDrF0JKn(P_3e0#usTMpaLkQ^EK40N?ncHpx!G#c=% +1q{jaL2X@|$Dw`lA`~2A6@7=$6_S$J)xLk}TkCHWfl-t~aRwniELS6IJ$VUvfF33T`g!sMjL5 +`qQ>ky$KQZX31x04+!w@WwK6!j&B&ZrMksN4oia{EF+07Cp0Y!%#Oxon@hz^y2T`qAF^Rp=*pia$zy( +Bp3OUBpM_hu_jfjy8U*c+aK8UYU6Pkx!H*n<%4{5df%t +85@iEz5tLl<&XGX4cxlu*J95kkwqST)nQ3aILu2w}#jONRLaVX2W=Kyf6oEiLfB+^WY6g&|8x^13k#M +qVYNg`_*&b9~~SV`ge{FBp;yPcGT9B`EjCD?ReV{=>y(zkDEsb9RxeN8|ruWvZ;=DH7qUpT6k!AEJc) +#YK!OcZQc;w?Owym@?{cs%J#W=J;^LrlzYxv(DCJ1XEfGs>iK?0ZWX(4HjhjE@G+Cpxr{G7;;ipPK8* +Lw?1>(vtD1Pjm42 +co)VnKVB+EnlqH*kEja)0C%SAf-G9@_bon%kr_B|&J9MCW+yZhysJBi`#(lUC~Rkjn81X`O1}53{b>P +8=l)J9$rB-0Rk(z3LkV$Jhm!{a01N*J(afJEhqv+R@pbu-iEIF#Q?3e`!_vO;1wtMSKWafqu^$4b#_7 +e3)`I_WR3D;Ti7UneF9oOtLp{`O+Z0I?)^DloBmdpAYuSH7-3eYkQi3!|a$bRW-zyk+B@da-+$TlLxK +Aq+H@KFTS!QfQ;6n9T`8g@bkz_lzYL$i>IYkQVX7!Y)Mr!`0n}?RKna#wTE^JN5lzSDm4An<1vJAyqG +r9B`TI*VoiqdgbJchPp9gxAzQoW`E&?lZ0AOKGFjQLTq3=T-t9J?N<4OeCw#J5z--ArAMMGbEd5axq8fyls~dYjkfd=`={{Ubfe9yo!4xZ{iTau60#rC +(4}NuJA&J%+iuOt2*IDp(n6HZ9>e09Q_NS*^(Wc;GOWF_fYu%{*tlp9S{I&eCm#(|N8co-_?5j?>PRS +x;CuG{x%yy!wdow6v;3sO_0F1fuV7jCQz7RD1xR5g85KeIwk-(VK{)XgaH#K3*-?rCcti!fIMdFuGxCQetkLXJ_BAOmG*Sxahz% +l3SI!?tw`N7S*f9u?8J`gC9D)#tUbMTnfG4h@&uOGn+pY{vFy?1ay#+OzmTor$KbD^)DOllE)ruEl4< +T)fkk420UJ(Rg3`e|4nbZ!lQ>IDIo?+-s?cta0O=QXQmJz +dqP}Bb9|Rjd}~;Pz>)Sm_rsfiM1+?5{US#v(08ZA&<^Rx$ +|Rh!3CFY#B4i1(E1s#~byQ?onb7mf_(7g6oDoct7>*Ev$y9Xn|WFMBQOve&EOu+6c7%08;kxj-VgQzS +d)AYYR$cX7Q}HoQayyBJPIDe?lLY$_&%dXAz*ILogzpi2k67A-`KrI83E{IYd!@-yM&9%gn@`e@)>e2 +_`A;g5wrlmR-$5=P~gW@Wb#<5i~|&xfrKY0cCJtW~?Ux5=~3wic^wn6NZaVd;dQ>t?I-)Z=bjqBI0mk +$Ocev2bduTuWyYt3yJwd!)6$;Cr??TrS*kMgz?kz?}P4(8vtDns8onA^mwBTKh1QpKF^=q$yxfNu?j9=;C?`0*_)fR?ymnC!#B>o_WF&rD0=eUs% ++bl4nEMSZ<)(nqAenB-0GoFa|iI{O3*>pvz-(_1I +{#~buPyUwQ`#gNYVCp|=C-EOU*57+Z{NTVzAq#+GC`?i)jS@Hl!^>k5As3dr;QIph3)6+k4=eKcC&5E +7go>}cG6hxh1(mUEEu6n4@>kyn{No0+1zN#eOR`qmF)$F5tkb5T*^2^_O&AU8=Q$3#!IpQz^s0LSe>S +4{0o$FbN=zZ2Oq~{d2Yqfi_(KD4bkJ^=uRfs2I@C(#U{;7A0jw{f0>OZ7v$tU2H| +B1@qFtb0j3e@~Ihl><(icXnkW)iaC-0-V8{s1{;lDSH_`&-DdhvK@7_*H!() +w4Jm!ton5i+L|Bv4LBBt!5#9Fw6UmOFKAg=_j~j;ZiA8xlz#2~zAT9%8z=yu=L!a^zO=(dk>yn(C|I!@{G@0fUYko!rskV-8Eqjhi}P;O4uX} +-tRyeXq2}n$?qXG~xb3#LS0Zl^5!<%dEyM2;-Q3W&Eb6&rl(u=8By^3gj}3L36N78dI~758`>4;+VSL +cj=5{9NZLdyO#ooLc?<0pK=xd9lUpXW-L%|xX&_>uslJ}%O^yCf_4uy@!%de{l)KAwgg6J%=*fA{Bi8 +V1Cmr}(i^M>#D3={CXdOn&mexW@z#GsvV1DBHxS%CKku1?fx%hoRc+-`%;rNVh!c49bYeVCIYqbKdD@ +RjK}tBC2~NH;;J5Zm4Fu)8~2riMH^0zD_FfkRgvQHk6NF8z93@%+{}mmPlLdJ&AI#`H?hFJ%97H|NnxeT-522N2QQov1v%@~ +_+sYBJQUkV^f}LdyNPL1eV^DHlOVJppPa_mqqk*#iDsMo>%kF%h*!NAq=zC|~7}q71 +D1Ksq-C`B9MOOjZeo)XuQ{E +PzLKho|0FSZvd{xQUS7ESssh?(CYW!@wpJCI&D}RbjUqci0Pq67LXqurvX?*MNbgLhpF)BUNOzGpcO&h34`pr{$J!mp$o64yo +L7Mi0c_t3#6t>ND^Zn`?JiQ8KhXbq|x2AuM{6W`6B_+%)4F%zRPAK(U+mawlTX86vQ_Oaf&+Dpr8OeN +ivS&Pco_DFpmL{B>jGa|q_zl+|BUsO&7}<~!zB{+xvvuxp#-8-p!Q5_-G27gx#et7vT(_gUm@r;koq9 +fWcC0vAavY$J!$8dW9#FibowO&KJ?gFJdYgK|&W1dw&~akv1oq?WyOTa=qo}pxp~I;)-2hOMOU0=00ro@p8OC``>gb{22^G?>Kz-U +$_(6C$zIDL(tMT#%d%=PID?i+N<7$=9d=Jm8G25{foVU?ysPC`p**{Oht%>& +;5o5f@Va>-_qOp`pxsfn)oQw4sh+ +3rVWN$DjbYrV_))#a%H*JJq-33QP=5uy9W2CLy`UqrSRN<8tS>-XQ3aY#_meni7RsycS@SiWK5NAOcwZVjv)((lzl5gI+mel`td_&<+ly5J`}}UNAoXS(6($rFb22!dI0D6eOz2wPBq +^K<*f9oPiE+iUDQUCEOs_S*PWw%S%iQip0p;iVn0E*QsJK)4Wbm{aQznzk`^f`l6$_tkbZ=b}as+?wY +W~;Q}Q@-;dER%(MBBdHz948Dx~9Pbp>WpQMyQMj85dQpzBs3}x?>?JcE@t$P3NH!0;Mnh_U-`!S{bW& +G^37InJNR11w0#Lw(;r6myc!6 +tfe|T4QW4(IKZpC{O6gxTZa}=d5c_*E)vn9KBMGvXSi0qMBI?{M)qyO+pq +;SVOjWLw0;WiaS0f^~duXoz-eo2*tH;)yuhze6St*(_F>+MRuW^MKx_YPKv%Ou2Yd@nWC75I_~S}*|c +`gJRbrs99&-7l&zt~Egbtp|FF4cf94)bV75SOSJ=AsqVCqEc%bbyx^e7g_vhAi$M*cp?*03`&Ci8+{? +rAI{^d;cvakAn~y%iA#|1Q +UGM{0lc>us7AA`lprd*@F(4@z0pJ0m{W)kE0*Ze$xQc`Z442A5Uk|;G6EiUAGKy)ye-{8-STpu(ZuNmn1Z{DAulgvO%#Ot^CFgaN%^7K`V+T(eq?@B5$?TdZ(jb8QS))^wkYjr8n4tRFSAtC0$ObpY|1te@1%etJ<;j<8 +R^}?4Z9xJ21HOxqga#eRS^;otA&M=9kg3-)K1hkOM;>k>CjxvD01TOmjFRlOJ!9GOBo^LK=R5Ni(ZaO +_HdKaIel1#5}x9884(Ne-6*MjpifF4n{E~e3$mMdCExk-!8mJW(fbOdprnyY +w698%2%orvx4Bo!{$OMo5uhx^_ptAd{M_k_l$USEhqp}@)SF6KApBQi4~NmG?}Hz8Y+ZdB{(3E+%ICWo0Q +6g)yD}{Ed@qBJWo{G=ZuuaeNGa{4euR9NI~mf^=lyyJ{Iu55^cq$y(9;~bF_3m6F0f@MO6srgr{L%l)MWBz-^r^S&CvRRqzHd^9X!6O6ZZ)<0G?E6r&!nZ>>(vpn{5a{}_~;a) +4HP&`6#1j2?9^FXAg}orxc;tSU^t?_fRuJfh8~ff;^VbMX>EIo8~1{VwUdF!`wV;)VTU~f6C~ +)cH2OGW=(1makUpl!d>AJU2gnno&x%TyBrc;#AQ|Gf=)qh5ApEejzVF?#ylO80}^cZGlahsO%vMd*7h +3vX~km7nF(n!_VdC}QJDvWI~}%FkxI#3)=+LRtPZ_8r|U_$-#K&xag#D4=`$sQc|_dZSZu-*-fgzen| +yoDa5|(GP7c|460V1++8jnXTnP02ibj^tsEQ5Mwzba_)HBW2sW5IXPLCwNqd}0CQc0YxDSOC<5g^a4u +pJR!E#T*q3spJEcX*@iF^DoyKFCF!xNJ@he~qd?ktqH*+-vcF5WrCX4Nk!S$ItUW-~^0+9d(fyf@5IZ +8>bNhBVdvw2@F9PnjnA&FiqkxOduacU04L>z?RS|TNCc&yJX_>AYXqj(GRkcX%q;Jd>C~tucYe~S-Pq +)!YD`_ECCz6S|Bhfh_R9!6fDpbNFOH*P$VHiP5UQN7s-G^b-GTYgRp5;XGvBYKLi8yk7U(i0VRtB92; +M|*_OBpw5%~8jghPpk;|(T0WuHhI>5J_#1fEEzqTDJLEU-0eU7?xT-d1ixK|5C4JWm`1X +AHPmzvmGpVTB1;E;rT>jM0vnB=>QGW74827dZ2{PPPCYO~baT*$8L9B|RgGWQp*0jhk`L$aJd5APQ4`2>B)WYYRh`=X(uvSL~TV +xxNEc@sd@e2ih?dtTuydBVluqr>B^)m`0q(ZSzxSTYsg35kb_d-iYAacJVQbr!go1scD8+S*gm}=!XdHJl0R5?Go(!`-p_ +u+Tv#lQ#gbPn@@9dK0BvL(VflS~MFdH<7DiXF`{BBJC&7fOW%NKCBSwe(<)-I +ZBr&vCFdK4@>X=<44Pa|K_v#%J1MGoXNLoc>>2#pu~cZ$cK$z39-85QLBI@w!+>z7XF4rdx +&BB-`b7qnEd3(LK%edc@3B4auB^ElLAR@FbLt{TjFK{_;nRV#neuxXuubJP)vh=U+zID>TWfnWp?1Pg +zL#miQW7)c@Vk})wKOXgu1U)C-&Jv2yW7`$F+^uSYdjLf+rJ5fhQ(tiIwk*@#`05UoYA6*W++C=a=qQ +(l;W=}MlF!k0Vzj3bh5S``30rS#;T9GkvYy?%ajRT|IUr*yG38jb$5VQrAvR>It%#4e6IE*Hp{0C_?( +|AC(8ET$3fo?<7=&D+56u>MD)#&+%DjQSC>TfFnVx_=7OB(p;#r}^-4Uv1I&9jK$Yp!xBLtc6+gp(Hv +QwS0(7W3>wUgOL`8svC8=X&$EkmlFj`=)ij`{G9R6?X1E5iH4FO}%zzc!R?`_e{kBqnUyTdu-avO%xK +fsXNj@stULIBmFZj$FzLuA*OSq|JPlC9md&Jvdeyvoi2U+MV?dUc#W6b-u3H^8yQu1C=dXh~n>b&&`K +xd)e~n!{qCcqvqolHJ~H25fCEydD(t9Y^ieeZ{bKEExs5zQRSj6BpRAKOLhsxPnnQ+$nKt#oW<{t`gT +Bap6(n}y%d3}Grlq@GKmLnbuaSkxpRjo81~07aZ92>d1%Aab)u`K)=RIWy)krSFJ25Ys;K*c*`@V0dj +xRaOZ_E8B*(nPxK|mfFd`wI@9dd};^kz054HUH(Fv|_cw)$Qe#&VSMl@i6T7^P%w^4ULQ5z`w|&CKG-JN5r3!p)T;%eM?p)S0WOUTcMvrDT%+2nBLZ?c` +ch4bXS|zvnD4X_yd5Nt@8v5+fzv{*=8iSkc(&00hd%H?qCbX$Pu;5j?wzw?+|8?jVa{S)=hAgoB%`4w +w{qJw}j>$jS;#*Te_(RpRhz5CjKyjHhN&hx+w3_qaD0sloK+ZZzK=*X=aitr8bM&uePbdud?Si2T3@( +5R%mwh(1wIFw)C+o(8Ib)XXz+8Pz6AXEux#D0Rlt!$SIAxiHtO0)~#c><{Y; +`VO168yvK1@u)P*7T{?JTLGIPyz^iPUf5P+52;_>8dYKYkof)=-rd8fAS8ag=G!mxBGP>m +el6pq`>pUE5FF5-)y)6H9aq!WzdB>|xmmWhbw$Nd&T|T?rqelt%y;h%8a+@0_UK(g7J!eF}(8aDe=jr +w!DZLXNn;>%}suJ1gpkAvI3IjYoIcBq`&b3i1YI(brw~*MTSC_vwFU-mX@5Kfa_tjcf%jT +YTfx-d}Ndhjq5{HeNGSU=eY(9-@T67TIh|=tdmv6AIHEG +MNSPeDzbaE7V>u-|hEa!Kev8!pkRg5ulIYW%@|5{ZlqsxWwLJN1aQi&WfPtp+*$dN_^4i@O)^~gD23d +L~)Vs;(kF>+W7Qt{-eJ>;*5~bKoa{*`u%j7Ny^D@x{5*6f*ds!JccG|kzJ^5?bj0cM45HoCTjDF+^rT +#ZZjomazAF}plD0b=G@^f&?qFSIjB1uTq=~_dE5|slbu!8!qDre!&6e?>gJTW_OlcVe)-PEL}iODA&r +d6Wu0frcHKj{Ax +|4J_Xj6=*5vTOIqVGEW3RyOd8?Cl7tR!NuH6KW@*`6ULXG+Vo4WUEc2wJ%MBn)p=bh*l-kgYjzzYOOc +!@VW!U+Mw{rU@9<@c(yYoGpZ+_({Cv=B_pl4j-@bBxRzrp(713oRSd1DJaBy?;_i{^6zm&VlZ8Imf{J +Kd{uI@h#@e`S601iyLZ4NcNC1@B=zRReH +I{*ZA2(`Z_OpCN*&3SFPp2;$V8WuDwy-kabA4YULEy7$=kK}7X_CI#7wER{>2OrLU)F5*dTnzT*bx30 +e)hTSa7~`AxfrZHswij@xoyC50|;lriBET`qZ7c%DZ7t +na@PPW-Gb3{3Woqd_;b-IFUF28vlE#zEg|av}<~b&WYz&&k&RQC9PAJS8uxLa6e6TXmIrIX;p;zC8Pt +u{goJnS`3-`6iy#!61NwtRTJIkyyHzs*BcYx9&-ir>qL0zMDm%0`>X^x;qc#K*?5vX9#_Zt%xm;1nkt +;KL2g7gTDhN~kxmkkhd$^q{`*CYQFtayi9x5-nL4+a5^Vo^UikW2mRKx6NvS>P{gv%k2ye_O}>jWYqj +oVfhV`nCFuz2hQ9?D&Yuu)NQ9RwDv_Ay4`tiE&8|q+^UxM^1Szt>%sVdb)AwTmz>t2vf_oEa%+W9M*+ +RJ9YEzj7>@pLTW83u!x8oUEs$U2ak}N^^q>ly(e^JA?F5g#hqvbkxuU1s>eK{$v~`2TtdQHmC$12@P`R})xX_pGyqW0iwXnAhNRq2Gxp(90*DUL3mQD?Ef&{}hcbo`j`B}BkgmZ&H892RV?1BMkV# ++gj;yDpsLC6|YQU=H%1LzH%px<{Wx|4ROswQlh6_!e~_5JYb<^KFM+%JLUr`o{-$J2L@15E*q$vm4Y<^Lwz$bAJa;0tp7=WOHmpkxbT;P!?pW3 +*w@H#N(z=I47t>{$M=gX9bj+U`p7nQt3^yuUxWJ>Wmx-=Ewb@SpDQPi_y0?SCNsaBi^Tpch^Il#o-J8RK{X%9yB?@$R>t +K6Uh;cTACT)+{>s7}Fn^~9K49(<12Lw-k#?e%&XA|MKzfV_~8^l>QF8Cjl3?}(^Lj@#p +Z6`D~?*6QoCoU&+_(NJI%4od#b;a2styf7cH0O1dm#4Ik&Y8$ +u4)BAJRcjy~ybh-B&b;nK;9e0C|)eLBX`i0QBuo=04IT*xec;k}YVaduk`sLl@43kJZ>`6B&rW;31ze +~WgXdLTe=;`T+e+E#fgOpWrQU7{CkapzoWp7p8gp@3)7HwIgpAn}Zs{je|a$m2@zv+q|yiS6nX$iNeIxN1E*fy-f{4-@pLd`(!?L$F?J%)t4nRmqWhQ8`ens{@OWM89y +3rz>)k8^I?)@s;Q`%r@Pm(w=EP}aiPugv`Mo{ELS}peYL?Wrzgv%M?Zt*Q)M?F11(& +cmz#T<0#PCp)9%%TH=i~!_PBNC!a+zKI!qb}MI6SpL^kQLqdU8B_W8hV0#4cGgaqJ{k+pdj9^cCvk{n +DGHPYC3E_F_;ZP4d?xNKhWFo;2oHqfBM1s@u%QiM_$)qbPZg8lk<-Ww#i +|cjKYm1`pmdlgL}qdDoi8-|$ZSJNTW7Qxv{)m&m)VhTQXt$h(nu*O7+zE2Q4mNZWARnc{bL5lMEWhsb +wyn7;L%f?Yas;{>~!biCK=Y#VorqQ4h3yzc5fW%3v61=-DQ?(~Y*UO;y~oINM}*alA4a83@b$o*WDp5h8E6A5{u4 +GlieY)2T7cRMGmE1&Uc#hPm_Xwakg9P=`w>8DaILU9tkwP6Tm<$(xhsEdE-18_14{#+^k4s@uCd(+Sx +64-_k#%D$)U5P?h7*Pa2dXvfQhbvtMCRU+Y+3T0-tl=T*@T>SQY2-StVo4AjhZf=BjN5esnc6NT@i@F +dINORYj?kHBpMwMD@Zyzoy^NvBPz*zYvxL&_cSg+_^SC56_L5F#Vr3>?Fjf3+kS(CKNXtDh +si?02cVWt*_E&X*5}|(lXuj7QNNQrVhmO_^pSB+9k?*-NaMZ(m`+Vr8KW4%vVAZE>BL0qQjc}4)&#>L +ua@a-Iz7%j_B=#Le9EX;NYEnd5WEj3tp$og!_DY?#?|T?o;pfs!``881J0TK%Qp*<-ag7w>|GvbY+ap +vqN>NCCxfXvKUal20Yu8i=3{ZuYkNDfkMS6jI>X0o0m4EU$M#8yK?;e4V}8Bf+h7Z3a7`ghO+xiG9*r +wdM{=5EWT6`Ofy<}8KA&TLfWLLHcuf_E`MC}pqcsl)Kcw%0|qr1mJ{I59qo@ +Y(i&X|gLz1l7MdS^O76AOwm*1oaC_{ojo96|Da2F@7p0g)kB!F@z?OU62B$s89QKNc62qguP7!qJ7mV +cssA|rmSy!p`-?4>+%Stu_kp$-F}1I$(QhHey`>b{#fdgF-B5VD4m8}`j8JHQO+))@@|_38pnoUn-vO +BUvi(WtvT{!d{j^JJYVfSl +Y3iAdGn0Smz?Y;HH;hbPSr}mRT;K$aS0K>dMjaUAhzMMV%}L+FJwepjY%)EDa+(L@at^%#ea|c@ZXbn +|Gf>^_)}HC&cs-dR3O9Hk=BqG&pSg*14GWsOhv55(g`;5T$X%}PfCjkX4`shG7c8Y;c|b$hb^MX&X#& +`Ok7g0S|ebHVQ4@U^t5xuE-XzKth=@&ZjO^xbCYTZPRO$t^)={F8!e-#>KRr($pfDsQ~D|LP@kj{pwj +Z--C%+%2`_ME?pXvk^0E@5tZDjuP|6}cz?d-Lk%ePC1|8}Yy40Zw9ZY70@jIY1^u!ieCW+mdM&(fP7C +UAw`+=Tk{`ou#obF#2MwFa%2sSVk`Zhl3x2|txO4bfJa3!d0e6mQ2h84*^rJJpRIQoJv1am2#Cp@S@J +YTj*$Xn#L;_0B)RNB`(X|6B*3kiXmstwu@G;}U$e#J1ED#v14O=iSGH}=nv3{f2fmehe5PlF~l*HV5& +TbLAD(V}n*;2(^e*lNT>f?rA1SoTfRw`t@+bszBjb1kn%l6C!H)`HZixTXS#V$0@ip_pS&4A?&Z +JU&q2?N;Gx7BMNvws0<#g1W2vUE=@`<-gAJTyYWCdGUW`*ci0Ub9Q_` +RuS*gJjt&ViF+@E~xiqxzT$GBh;nP&ZUN-D{ECDSMZgkG|Dz6>hNFOAqC^J#v8*+Cke%o*28hZUS19- +w#h&R$8^?nbZXK*3P9crka!&4IIZIZBXKh=~({iafo(u4Q7!QIn6o#>zi316gBkJ2Ti*`oBpa|K#jsR +%`O=bQ5DP4e7=j6AefG$meaTt{mHb86ewEl4!CNZhvoVW^SP~vnR1G8b|%mDI~MvUH{4TNv-`B*k_er +CY7(&PgAtA5u0Tlo9$EC#)JyiIF=aWFl^2oHO4pC5nwom@fo(-{}1;!w*QTc9T^E@ZU*~eB#Mc%kL^0 +cpkLnK29TNC#8v=%TIkqyVf +#X3x2G$7zJluopE?5tKzmu=cUq`^ol_iGO@xlQ%f2MYMiR+^Kj5E-UIZ@({(j5J4>?rcu){;1m~MObN +HN}J@{~VmL>_8S~nuf&AKa)3InprbHdD++t7)WvZGGZ{v^zTr{iQ9-Er~>qgONPj!Ep;jnS +ZY7a3?&sj16Ndk_!KE+SV0{79U#FvAXlHuvL=*M(&1F8!VD`vf)P<58sRSF8n(;bHcHMafiCj*s;4@+ +|}up$xDFGsQ{xks#MaG)e3HEC(XaJLR-oJ;6M7Zh50DvD%)?S(mtnaXGG+lg*#Fvv#;gD_}reCa!Bo6 +t5|I2F1&1)obp{w0fczd9h|6NxP$rjJ(C@(yP7WD)VB~fjs&)Z5b?3sM?(n2Fi_s7<_8Z3-QFT#xFvH +oh}OUho)Q`Rg~AHX_NoGTWFpCkL(NjMfjKXznNdx9{$5_UkT&)U4CSMG)&?I3K2L)LnuWf7>v_6juHe +#&@_xe8!!BHIeepjA@ue;c$-bd!M;X-LwhyU#tl(==Tk_!^DKh=H~Bdw+>MQ?J&%vz``Y?0IZ3_^7Vv +l37W~drMEk-39qrkU-GVFK7q!2(g#WdL8{gSn6z!rW^qcx^$3V!QYl-Q1i&MDs#69&AzKf#YnHc2#Vq +e{Ow-;^nmVPgaZ=4Z*Q`(J4;^=nZ-}+@ydwQDwW-DnhDu;U8=jKWt^5x*E@Z8ktr!CwJ_N!l(=&XYC1 +vhrTEY)&b(XLog7PT$R{V9#1ab-mSzK2h~g%=?Leec96gmusNpLrSk=*0Q5jn5W+m0_=7uwU0W{_&Z= +o*3BAyi>bBWOfRKb|-!&`W6cxV(mVGK9WPzR^}>hKtUX}4os@VkS_P=a-u4CrqKk9aeIxPMsMo(q-=Z +V{5&>_!koA&I0JK>)z$gvTW4Xo43ASZAVqCngDf~5>ErNHnndwVs7Fl8VqDubtkE!Oa+Waevd|DmK&@ +})4VfKqUE-+cD0Mt=0}bi%OC#Vz0tG5@r;{@q_M#NRh>i)Uo;uUxW=Tog+`txdwl_R!kbL +B1^FW$n|Gzlgvm2+MS<7zkC+~isTWH_}Ea)0DSuy8IlUHR~QFcj4_8tXKTSY-8=zEI0@w$FA{k +h;c#38R<-tos_D^X~H~cgr9V7Z6Z7$EApr%GstRPm(-rd^ndc>pd1B_StA09dhVB5gjf(iDaQ9kJwY$ +2Yaj+P#_=!=v1eq?YsGieH9rc5*qO1kV;gR`hKthfdkgM7!9X|s7CYbghq78^JjX3q-Qz`iw>}b9y}h +`s^q=wR!yEg^2K9(@KR^=QK;Y44G=iG4|s4)WRsHO>Bje3GuG+Kyc|je@_PY7UGv1~XEi}_E4=t{0}1 +~Q!epdJ9Q;C#5|{NXXKFEM%J;mJ&UokWR7b?I%mRk^)RPcYS7^LE^N_6)Yp~@9DB?$__tYwTc?^3p`1 +FAskOsW-czoe?O$X`J#IFhn9JL%hz^{NOlNalR6%}M2DI}%%o!KE9vs*WQHGN%q$bv1h2|SiZsu$qbG +_wo#gbiE08>It_Ep3i13h}53&ety&_{*1TPZsi)bIW$`m04Rgbc^UF)m64QKq=J9Z$CmrVK5PKjU~5D +?yR#n-02o8Z828ntl4a=Ec->1w$#q0i1?DQMQ!dDjKP&JRnRura`W&iTv%}*@U}&Ez9(dwZERP-Oxu7 +npmD4he1v_u>cn}3npJRp{IS$G@K+5QDDn;BLET+)P>vT|m1ewy-B_B$&vIY8JLoo1uvnW-p4HOYo$r +`sA}X;#(wCE`l1%BhZNgj4s_RapOSdB3H5;0f+BuQE5U2v9k)4>cnpr-Nu9&KtR#YO^DUOZyA)SUdANlMV-3}KzLv(FOH7jMGq{=nmA`u3 +dV>ZHB0>K2AVD3wr!U>K)}T>y&|v2rUx|BppH-?yiCVq2hr?w_h%!~5oDI0knB>L<5A0NJn*7Ozwy0h +23VD1sc_QJ-x+Y_ejOYnTS$LhhVe4FM?E*t$pOU?fWR*1Y>bo_;79mvByjpBu +7WihFeM<0He{wO1QX1F`pUx;kPC&*-dI(6OWbe(($lu$o0G3#s0&9?h67At8z}v6t>FY!GJ&$Xq0_ax +2e_2U~R$_igekQxLbPDHWa}{d|=nbm{#{=;f0Zgv;s<9VBhP`{vuU9U@SLQ_w>xYmHfH6-d<(ryO+ZY +eegFm7BJYw1`f~ZOTC5%F4#U4|HNH959%=K`hPvre{qkxPP!=hScCdsAId)G|HE+q;)3msbWiSmMgjl +ZF~0eZ|IP6~)uF&|5jq5;FbdijBMD=lcD&)qyGk4NPR2LZmcYQuZF>I^HOwIYx|TX?gk +_805JdBYV3WD!S9fUC!>E$l +PcxhU{DuBlfF}slC>7ukTFuY$BHI%VHZ_-8OEg+)F~^Jt4aN7(su>5|8%EajczuuR}RqwpofO`+y8Sw +e|WzpYQ<-vc!|kG+&q5WI=yy`|O70Dr$EeMIqL}e9?*${w_qf3%GvYxZy4KYwFU~9Bnc_uJ9&4Ka=Ebkr-~VhbSN&~G +EH(Dpz||EN@ZQ{L@rWFN^8Jr6y1@#|^{J>g3Z +76f$H6jZ!CAEs+6`Kxud98Tf#lmxyHmTCg~)CDnI86oZiw@xO@SFc1nRSI>>Bucdd-cDHca~RV!ZM}g +vYy+2KqtD4~QOnG=NaOZXRV&=}v~zwZ(bKZz18Wp>Nd`4VS!lMd(+$$oCU-eTnzEyS3O&?5XZhrMB_} ++!M1%ZUY{%@p|z%DYwiK+nzwYVp&xv=$hEL8zt5RXxN?i}sXaaX_8br~Pfo5>k4Vn$Zm74WkoUD~%mXQOrf^| +*}b>x4*pW7H5H09FjPel}_sZSVg|qGNJ77u6YLV?5)Lv66=VfPq53SPe@h{jm|{ka0}&a_lRZvMa!;% +vdqflX&N_E-_iMdB}&h8Z#m=nU3xC%6;M}3Rkc2l*Pf7@-3c7kg4~2D=>*30AZw^{h}Sj;g)n5{U{CM +1~(43ToVZbY21*KHI`f0r>>IGj^nf#&{U;Jaz5$Nj00W?`8s|=XH6QqgNZB3b773v+`)@SVax);6J1} +V>;iSk_yiqwsN6b_UpECVLNzadB_P-D +K@s1?9#H35Xq8zg{Lush{5r$@(+LLnb%yz;6AbX{4D(MXm@gI>caAf-0x1=+R +izhFe6Htk`QY@~Ht|n7&n$bg8F*)#xyN*3eh_=e1n($)Q;?cMWNvS0x!tokY*bjZYmqEVeH8VdT7yU^>D2Zy$mQkEqo-Vl(rrJxYpRN*pD8_=J?^d(Cpo8mxGJ@1qa0JAMOlZUq$XS7AUH +4R9TUg#%uo-CLnQkJrbeS{QMJbq(1byt4A%k0<7thc6+H^Vsv=&Q(CVpZ)nQiYmd{YvO_b|}5W1jbAc +Z1~n>Pr5DD}##&p0q*_H7!w8D7o>3#sl*h&YeyzlwPya%ZkP{V8jb=s%kCL@xADydnG4MBy3-DzC+Vf +(2TmMhY)B!1;GXu_2BxuQUp)gfKyUL~3elFcE8jQ^CuD6QIU{ +Zagcm8yfM($>Wb`q01j1|X)nN!{eVyH0wVb$Bez7p_n^=E(1{r|fWey)4_-O)eSpW_&e!!Svr@b)i7V +f3e!Z}gk@r|R#^cJ-u!~JB)Tb+t +Z_sb&RR*1W!VX_z1Z}CSI{4MXd?49>ZKh&Q$Is`UuYF*C1;r;#p4|)F&Rp9pVYkA#nCLBl`N2#~V`>| ++`gFdRj`EQ05Z?S2u&}RL+B@(Kw!VG-f_~V25C(i}=?7{q#=K_58VE)N-0X};$|M|J>_Rqhq{*ynd|F +XUMPu``8Qg^tN=XOBM(6EuifgSQ%)gj?lxyq54lNdPN?q}VbB<+qLZ=V~3xFh|isds(%@aV?q`& +~%q;dM$!;q>EAHXfYCZ<5gElKq4Vxh+e~knuT^kUb5*NUe`7(o9nG*W$bR&rvc+FtWZX`T}=3q862rY +zM??4%LM_}IltUgxq!5YTx(ISZwHRoS*CA`h!67fgDg*7&1IeAS~s$-N3Y1h5DT8NL>@~K1LF9?9x~S +L<=7#(#L!Jx(+K2xP@-2YTL)FEi;-9g0&e=Qj~=2GclS(_)c;LCoV|uI!oIFc5wL%Xxh_ja-X=y#fC%eC%AqfHG7 +1vv$OObpms0qEVTj;E-klz(3oHr}PabMODsAHD3pTA8(hWfqC&8EtdR*eN7G!C1o{^h81pQ=R!w11s2 +lNETIhp`rQuh9RwsM^n%N~pH#95E=baY^=cs^vZE}{|Dk<33gH5wwXgJg+EdubLUO!5oe0ff{C7tOo( +kV@XC61+~iH6yA3GwwW6W{F?!c?M>n(7qnW!9Z+_p6LhlpdaT}pp_h$e2KKSd8>dV&4Si2Fx7*jSdlF +2egwkQBUR@^jG|Vo^WMfsZq$RmBo6FWP0RO>3|P5AEtm4bWZQR(k%}x6pL?&PU;MWDTl=vt0$^DS=b~ +qH97a3j+pc@T4&}aVws2n8f@84{np&{((bwdom;JIo@Y4ZLiS3^j+ik%?_lsGq={oO}`WHzZ`&`2L#@ +1WF=a@%?xRosFaMUPO*cjOs3v4rwyG9F}Z^8=aEmstBWtG7do&xVjg#YGBr+~2S3$ +rFcnWXA{84v00}c;6tr&zo|3P8lbGi9u>w~Z^i=7tPEK;Em7bo?t4hZnS3V3F3Nhp?`itfcM>Tj{TS+ +&G>A`l_Lm&Ga4Kxokkj|(1m6&CUq@KKV(2K9)`kdu0DA5;34q~O9IwbEM5mwg2f#fT+R)zGM*{#p0?g +|8mmeGYMa(sEFk1S{$+2BI6o$;)oiLD@{z^iwHUCTRnYb&Pl70f6Zz}jnb-XMDlatudOn{= +54k)_Q0bn!g+)!?Ng#yd;ug&k&m-*6XMnkoe$Y~sW>60%6Y2VVZ~Bu`Hcf+B7ukJAYrP0|w}oRq)eQ5 +cSm*kbiV`ay@UDLV8l<+S(NbZ0k`n76W_d+(w~Fd36S<$rWJ)g@=8>Tm2X@!i8M$m@;&;VcA1?vR5@4 +h_tKy9iTN3m>%%KmNrBalHI0w4Z$9H}iP!xfgAGs)g`>In=iR; +17rSF%eK;Le0^xkdqIq!eFy#(RjRDyi;gi`y;0r~bC-_>@I +cjoRlo2CEXH=TVVP7c>*98)2PzKp;X< +7Bu#Z*)#rdm1aqw^uq}4CkG)Ycbiw4?F|QHA@W6E+KUR8lf2CslIwTagE<0+jjP2s26wJw1==1G3q)J +oWE)p+ho^Do!RHCQ=k7D5F?AwuzQ|lpM1Ov;ib0yqv;cgnG5&p{-Ci~5kI9tO)b8^+8~B1?9_tyRVTq +-&)8#e9sg_e9$#f23S+}|}6~oN|skGRFTUrCZ6(}(gng2MSA}4w#RebD%q$!xwIU?t~%##+3YT9cNZ> +3i0jN&PiWC8;}Os9f=^~pWDGa}v4Hjcpha8r}+4%g|v$DC_pqrM{ +0cxhj~>tuI8CZD@HlZV0NAw=Pi>``aPt6V)!bxJBk7qBParGkr4Jd{?2g@bW(bxI0x{#1~5@clAdj%5NfD(*x +o&)u_N=K932|$y4_Pk4~Ey5n!*bx(jqUYzM0k1JY@iTDZ*H-D3P!5pQ{HAL6_dQkJ=w#-S>U%B+8pd^ +~mnOQxp218}^&J(4P+Zw{RL0dm$tR@6vF)_|Q9VM$o$?!uBT$cA2;&-WyBP4YEGh9NK^lemk&|(Yx_9 ++_Q1$htv?h!z>c-XqUcq9=5Z^*seJTr5oh_uE;XlyLX~+N7VE!inr@Q!260m{T8L&;2VK=b-V4FBXk$ +Vi{t&Q+sWeOZPP}*WgOu5LOZ&n?ye&7Ht0$5zlBqDhtuBsTR1KLr{Gkvnc^Fq9z`9x?U9V<_CCitzNb +IJ`t6O;`d96nSInNg`I_uGx!;f3?Mpv%X!&D!1%AcX@9;|f5xfGw;_F}F)p90z`U@A*TzS4>6r-OclTj1~T_V3^p_`q9qn2ZZWKMoYriKBo&u#nFu~LwBV-r8QaW +?)WaP<}h$P`v+XKUe+OZqblO0G`mJ_(;e^GG2WosQt^JcSY?0FOC7DP={!r<=8%W3uHBvo9XL)y@mil +Tc$jfU$@5sF>a1i7id2>$FZDX=9KN|~`r)PCBhlY3;BY1N)VF!8C1V|kt49)77&M*lp4--^{=gnu4WU +t9o>S#`!9>agrPtGPSF`qQ^YPLPZ>o^N_3xN7K)}%t9c3_NR&0!#!Or+VQWH3(9zaDe{kV3ch>o +5V`*k6Y~|w;qaaL)bc*)ygcX-cLT-&sZJ33dP}-JI*)GW2Q3#=G7MpU`2e8y9e`_aMBrv?zN5rgjS~A +BL*!+M=8oEvw7&u6&1a6Jm3#!67felvwX&0(hQ)QgY(R~gONih>D!ermX>^sFld#*vn;|@b0Gp5oEHj +9=VT?CBY8=?HMytp{J5Q%lQFs`##!PF(IS0}ORqmw`6Xsf45v~vI;xy!irhLdSsK +$RufjmBwYQ>yo@C4V5n|(dVD^6ts0=2-o&n~IGq5* +otZgh#+UZkX6E=$er~;$|9hH;uAAL+&zdf +=n93(Uz@3L%pbqRJX4*0dg}}QprC*)^>P?*O$%_1aF)%ji!$TDRzZ*^=pb?A;*=p)}L}3YWAz&U{i% +7PV=SQ$8|}q2V2--!vvZ-Tf!i69S@ +89H&W=CNOx{kNC6>ochqr4faxvpkjZTbMUZ`lb-e|ROp*Gu`!mHZPq +b~+y}{uFf&^9r+fRXtA9f}y&|mZqYrgQA$WxAtfBxy+Zj+#*vkC4^@j@~_hcIL?G51<7-;5d1nJr|Ai +b`n6otu#av{*TU*a-8vu)Ad$LsE=Pd@p0Y+O_oPWUg@?8T$ZLn!8T2 +bq%cl7DxJRG^l9fm%IwQ_UC%!P-LrmmOsh^=OCa;cTz*p%KY52nz<5V~ZosX^VO3=+I-eP3U!Id!wng&M}`Rt@dKPSnO-Xo|CI9C4^fUJCc@0C&>vC +k9sHD~O)-79KIOKp7m@{(~NF<6k5P8hu*L(}0V*!OfJTK91Pe9A +g6&Uv{?y?ZxK)NP#4ROhVEP8p%;d3VkiDyv +R~KqO#OLZ(vJY}#RPMkK>rwG{=*@kLCp8ve}WhqCs7Ka5E9wj)JYQmRHJCO^}zR>=mrVfq)or2gs}HQ +9Toi>gWn>2@w=OQ3*^$z8`9~0UPs=k%-u=y9XjoeN^gttUEU7aU9aMI)^!W4KGq<250BqPXi)IBHjm! +YM#vt0k#EVp?Xd0my#)!~u>+6yE~ag`?KB(6?Q%-^9w|m|mvj`~1HA2mpk(hw+73yfx9`W_i|zdiF{w +ZaXLEIG3;Nvo<9`}rzL_xw9^U*FVzTAK_2Wl~d2jolhnSzQr5nvBIqEX+Y@0GshuFkSKV0!4}j7K~v*ua6h3iKPvrP=r=atUjWlei4^+)HJa}An`vy3_Bkz9AA +T}ChmZtT2oRnhI6!qMTP#aAm*FqIwM!tKKF^Irqb|GhxKZ6jcP2SfHbXs=*MRQg2E*%?eq)`y!>)RC( +s=nF;F2RaUHdDcTyiIKbi1=YA;x!jg2sfmb113)Li75?M2^h?`6Bb0OJPD2pB;`RpziE5-?(6KHum|f +{dio^VTWJYC~dB$t(0HUU^P_$;wgoQ}KFCTpv)g$05`UlTI9EkmfBE>oUNECzk`@dm(=%H{m1z7yZt`{moNMNh%6*UqvV +b$5Q$*{S)H~Ke_rN59cDcJPN(kY-&2 +$TT2y~YlAwM)&i5}F=DA^lPxVMQ%CNMLrrohuZfJThQv=5% +JL(pUPjMd$GqmDH3;I$_zLzzclLkK1|V*6827nh=virgI<_QV)~BGK_lR@n+pZx&bD!%G572TgNhwk7 +3}C@1Ao9JqUKj4I7l2k2?u$h)sE!Sj*eoezLTk(grS;^|#m^h(Au$Wvx0S>&^*gbDGiTy|x&yR{%@u| +e8Bpz9fI4kxgrI=!=ip1S0LvMAv3!MFnnxxU+jWLu)%Nkyl9P8{wl7X&r=dfpzoHZVS+X<0jhkYxJ_4 +jeUOKGAMEikcR7s{FKQX)LiLEV5i9Xw9o6<^us3K>(U=5C=zP#OlteDo+Aiw? +iRtSkVD%LPjese~*QJQqSNW<7+-zy#J~PkeEaZKEXbx%ck^mPx6Y#^uVzT9lGC$D69h4C$8EF9t#XO= +CqLf@CppAEaS#H0831t*Q=6iOX%2DGn12=kp@mr3OR)-xdR->TXZ}z6iLs`>~*R>n*5H=QM26OQz+VH@40o|W7jy&_x*vuH*>Ozol +D=`8;t0pI>OTfEVHxb&r8o;vXK#tdR>% +sSBRKd*!+~}yK*H#_h!RZgOVCi$?Mi!#KSmgZZt?A(L2B4j`5Rx(P&&VG17$+(aI-ff+UA!S+K~|EcR=mMF`BDTxMYVEbn$$)Bc{pUSuOr8t?$}Xya9qAkhR*Q>ViPQ15 +$=3BwXP!gx_@>;??KF=Y5*^+mP+s*E(S%k=o5RSEM|@!r7wr-{;*f{fC)$-J{}xZVp;97gXbWGU5KHj*r#HwM2=M}(2cye|$9F_Y)^2;3fCwX!9YN#NS +CUC|s^(mJ6o6IadftdKMkg9tn;=r +Z${H$1nYg#(Vlic-vuC@gQ^%%1-oGE<;XTTh!Sk$|t2pVGbSOrCO!gV%|eaT}F9B1=x5+Ld2E!>mQFU +WzMf&z65F}ESGI1mYNN;u@jR1e9VZpJ^+0QrpA2psp1$!*#$4VJ^qz&?ITW#Lt!)wfE*%%`viAYD +6P(@pCEV9X_llz5Rr>CodGKBioW8v~w{UwmW=r>y;Vo__-U7z)TW@ZQ%D3y^C>KfZ;`b@_mYhrWuzFW +G4))|S{?;v_sGUA-Bnm+n^7@&4@;J^XyOFLL}}ys +oc?=YKS#xJLzkn`<7GD)cHiv{=!Av?+dfw?rE;D$W-}X4%Z?GQ(ixOusXXp=%=c|4{c{%Z_5(w&*)wQ +IF>YcP-(~ir5c$55gn8;SoX(Bh1%dAaiDAX3Z?K_dRjrL`G^#2nGWQjn+-;tta9c;sHn#aWhGYqpA{f +<)=%iFL&;ovJ2V-$5#z^qf5MPKLRh76nAg^THji>;&W}WP0FHyu7f)KT3n>zTn{`n=x8l?^c&&{=i!O +L9OHiGRTbAnwP7x^gFX93n{V}|!~9cg5;tz=h8S4^Hr=yhFgzc>aR!db@W_AZuKiJ<#Ci!g68N +O?vBs9=*K1#KZZz)<&t93DiMYa&FCrVa)cOInv>Y9R4u~H~IdK_;^OXmW!9iNQdb)tiTwW;?M@KWOtez|A==&K+K;v}|J3;}9CZ+Ep&BX^_){|%~pGQ0l!Qp&-p72wbV~7RzC)rF!&B*P4B2$#N{ +kmf8>qnk_#Ot;`8Pf^1C$gXz29=dvSFug5>s}s2Te(~Op5skN +v@fS`e@gMqEw9HL^liKD$eaWcdo12I2iyDdTJW^!iY9@QY5{5Qcc3Ttoc3N1xt&$YFohI8AJhuiVm^(cc8gts%~l^IrYT=7dy3f=ur-(rh%1pR +3(;VZwP}<1J(%^jZJN?>P+9>Y|k&WDv>UxgOgp_0^w~f~&Iish6{Ndh52{9bbhs%XJ}D=8fZME(ZFwA +;?~&{ILxPYZm;eDB1RS;bL&iNA=!02=Qlr3!r5F16`#AzAAUz4eqNr;I#fax66^YCH)6l$}>T*(vAWs +-n0NC2j4zFK>46wP7VL@d3;%so#y;q0Ca1V@>u{B_*K(M?9kH>R3pYWuZl_m$D?RrA<%QI~f}PJQMX4$|cgbDjWuBc;kh>6>US+a>e!H(cp8_9X*>_|ww?1%d5vyJ#ZSdE&u2h4Xkm +^j~PNrS&Z)JT~#tO^si$mB&U>Dv=p@)*z0It4@dR(Ml`Ra`vcmu?+yn(ME9I_T(`VZ1?Z~+>VP?*146J$_NM`59GykOH@r +tV4D7KwarBGRb7H-5z`20($&BA}lJK(+YMy1K=9$n9~UFOYD_E-*d=om>eRJ*Mq=rxmCs-fk- +lfiLt9SJ!TlbC_B~7Mb&WhTB1R=~^zfgZY+PybsBR4k+{ng;S`5;*+=0^Q)z*GT_hbD|{SqABD6Q#M& +c#b78Sk+Qu&LQN}258oQrv`Hccp+L7zzVLH`>E|Yte_1o1*-Bgop-aJx^V+$^{lriF0k~G!^B5&$ +%zteV=>ON(-c&!K=Ko-r4_N%mA^x&S@}|B)ZHcSZ{x0Z^Es^XkkyrO%MHV>Us1jR2-!APz(w`#Z3PhW +H2)Pj?Gjuol(=Dor5Su-}Leq+1>*H$4$I#B-pm(@L|ASG#Zjzksv&!KO_~1Pq80Q<$ag+W?HtTnq)?YPAE`CA}KUf48_>kk^%25pjQ4 +Ju`(*1P-|DD;d^Gx=w1D4_L3QS+T1WxpU05aKc&8Yqy9Y4TsSBp0IbT)Zo0lvsaGhflphb_;?SFrnZx +}VJ!_$Sl-Y_`C!rn@d;zml3}zi8nJn-<;%Y}{DfHSEb)KK@!4Fz@2HmB>^?Munm6=cMllCJMgkh#BDI +Qn?XiM#>QsSBpItg>_NaAlWb`yE@C2XI!#Y(US4dr~!MdPBHk#%R!LR{9OrRRfhH?-t9sz?M`9S9+YK +3LnFOV!J*HjOj)w}Nl)D4g19W(+ha6f$Lg&HrK{_(mb7sb5~+Mx|DLLaL&_qL0H+ww!P2z}=*YC%h=& +TDKsB!~EQHG9e8l8ab8C3)A$kW#Wf6r|=Bcwm3&mj4Cl1ix0XFAliQTQv2 +t9nO$GmZQ$*F6O4{yU)I|caR2eaEL0&_G2^q959C3(p_Q~B|QwXZEP+8%x +J-@w5O$i7>QJ9t +`?p)Y}c5gm>=K==m>);3y;U-u)+?teZD|AWmP9_i@XsU|lTi>@%-lSRA{(t2@a~U`&Ao +z?2PFlFz<5|_g3@RMPc3A@zwbcYJ>^qs5};|VHxGy@idUJ99ZnFRTiA0!&4a}GOF^3L0TxZ}k>2N11z +pNzj;7*z22QKXbawR!S{4aE5wlNC>e7zm;oeyW&XZ)O_*aLL+rJ&Wvi{2zILr9rPyOc3t5bFBe&eiv| +3A9N@1B{Pr^Ajx8;fwbe*nvdH5`L{k7WNJjP)1f^4ZZ +WaDjQtDp6`h84c|n4;1R16PpQye@PPI#FAoDc#A7@LoxtuG@D>sugfja`o7L<>kS9C4IU_srC_9e{E} +*jBkN0YVVu?$D5#Sx;N)qHxkeWe_yZ|CBFKA$lgwJ_50#ICBEi$!{%U3U1sa!fsnX`SXd@r-K&0%?@ek_;yz2NA%`vu3AtOPidDR +ktiRl-j`ZnNg6PFf*|N&h^aB;Sezzd1>WldN2L+rm-Ai2MhO}`WO8y^qACLI8q0UF4=vzP--|}CMtLp|m&3$FH;X?i#!GrO?Ly<{xPDW~lt +l6Y)!%IZY4Tx$3SsfS&61me-OM;D^R9u`b4jkBWrWqM0wUg9gt8unaKwjyIZo_2tB6f}}wj(-Mte ++&=)ZmIx35$X-=WeTm{h+Ud{MOW(FRWHugBPE-rfvy@ +-l;A+Jm%Zd=`KRe=0TPzX1=qD2rVo8BWG_=lc_@TW0V4qYgtGhXkEeg1Xjhc_+-tpY5)(>6)ifDjh2f +XkkXT!BM&JFI=>Fw)k0c0OHa3o0{R0|UmkARN*bt*H`zS0FD4lhEjX=K1A{KJ*-<|6>hF#u+-8TYy?| +6-4i35Cl^16K_OBdW>J7~v+QPhrL3}@uN{iq8;$Q|3?p1pFr5WVZy*cmLh4K=iZ|@*dMn+bg^Z>Z^-C +_N!{v=Om83$RdJ(lPpJPIwNRj^~)2Za7@M@-=U#eB(~l=(fq#J_QIA2;zm{<*{AZ~tpu3x2cz1yK+Tl +f=K2|NRA*+IN2Gemf3Hb4k0O4>|;SnGe5JegEwKb2yCS`0o{v(shr2-}C-9z?k|_{JwpErK}iV4NgBaOdNr9K8b)aXA#far*GB}S5D42H%0J- +v=0M_`aLZQZmTjebt7p3UlW?(>#HV{%!s^rI=-w;nbDtF188zrG1cUElkej^aUMxqF8_N_*wlTKoDY1 +>WI*uE+6Zud6E1#6wyF!!2mgyq)^cT8U!6Vp40?Lt{w3=Fm)#)XWjX<=XBmdGVli +sGasp9M;B%1z9`cAOI4$FU|@7Uy}qY2us(8_(BUZX(KsPMU;%CP{o{49@Vd{<@n@QkZ?KZkf7hr%XS2 +A#sGN^Zj5Hqzd!&c16Ksc@CG^*iz1UHx%&F;hhMuTR5WeaLUkmFc}w?;JLZBC;@Wx^22*#!rFl#cG-8$;HyKAG>+@sg_7kVTQULc#AMw4wP-HWkQdD_azYb7V~XvVE9e0?+I<;8(9${K(RcyL-L*+w0%a_^Nujbzs +@I)jn=|O}sao`Oc~WzIJLN4gQ-v+-$Gcn%vCi$^HH8>+?@qiBct?3Ha8S)6u;znw#cw>RtCbX*_fLX2 +-zWWu2RNs}YogOCmM(YNG7}0zZv7nI5xz9H@)u=8Oceva7+d%kRAgH*;+p)Es61L>{MsNEj{}KKM{)zy+xtQIo +%O0pj_A^u*%w*^aiYUxnR2Fvt3cqM0u3-m=v)PD~PsWvbC82+It{2fMI2)O6j`}cJ9>WtN(DT=`?y;w +E&zkyra&7>|mB-<#*U5uKMK1T^oN)M;S@5mgo?q(hO{<4@3y5RiAK8Pux|)1!UA6N>s)ufhSGU?Ia8n +QcDhtoii&Y*nc^8ood)z}zejgkAj=agj(p<^O%F6YS^@cf+rk%c3gl^3Yup1VKR2z)Pk$Lx3%U`h<$& +>D)XctLZZ!t8_Zw(X+bj>3Rsx)Xjq!x0=?@N-VR1Y+gUL;upTRL`lo_tM8E)RrhVEfJs#Bk90u7uW!U +2e>b3Al^6;4(rge^ZV1-{R~eqxUOz$|_kmhNZ| +^y!C(24iEW5HaBKd_SWTG#2Amr9-(Kvzmq2vfH{|3QQ4TjBT)7%{B%%{?tyBeE{FDE`PeX@C^K8D^2D +pU9u4PY?=CtRq6+)0r)Yr&nn?+S<+Wn8TckJ&oh%Z))@}kLl+6;!e7-!Btv8XK_=)kXd+L*A%c%f%(5 +8odT;7|sh%TxeX^l!F0E!q&7_jDnSmN_prYa*pRY&Vm??9%Z)VIi#1(MalBmK%dQZl~{k*UhSrI3@er +98TNVT3ovs*9`IojHgFYUrFfHH0rD($Q64JQ_44qd=BKsS +1!sM(gSTl8!&n0dVADp*>VA<96(P>TIERKGZ~%>Fh+#KYB@vbnQTmnt>2ROLcH)Hf(iH3<1!HIqf$M2 +$*z#80q!c&oK&Ci?*|x)J0*D^hwyMyjuC;aZX1sa%HI#|%X!n}_e=U4vw9f$ZG95ov)`P&%i}h!epBw +ZL!sM`zJ?k=G4D`nN9!yYYrc_+<)`@e;J-3(Y^d;wUUx8arZ$X;Xh=cHL5(v4=9PWCDF}Gfm#hW@43ICN@Cm5SH( +scWi@XQwzuK6kE;lRoSI6TXJm~a+UHHkDeTg*Zc))hE(HbzgaY~~Edy64DjPFua^CNyw2H$;YkJq&X< +z92I9Q-<1S#$)-RM35=xaOzeY@p+n8AA4(l5yDSkeX$yfn_y6|oI`OwA>}6Kw`_)1wg*n|r)tFNSTBf<3&#b>PB+ufJ>H}>?IOUq+@>z-o0$7}xpxp}t1aX5Fne5$@diSQ7gk@2q!7$3Z +SuXWB74997l#6n!bCW&@$VupKx}xQfTra#$*H2LxvEtgQlOiM5isgY?JSpX{F054^(l4?4GB@pYOTO;(qyZ^chqTn$JUe?{&Q5CvXFO`@|yr|a2U!raVWmE5 +DFD-F@%S;kDY(adHAekd_m?8W2Q>X*q5ru%A{d~TIIpCWf~%*wr3Ij7lA0MAN~<&J~x`lIv3D#_XP(B +q4t3?}558Na7BBbKGHIvD=Qu6K-n3$B^RNM*Sh*Qk15cVxfqXn*V|{Jx`Y4`25CBT)zVs>W21XtVyt` +r$}wMpb8=d&N?7BFuC9xRz;i6iTWZ87rzTK_6wtMT@KMQ6gL67$mK?H8D{Of2*CtYa~}&cB#O@OBWjf +-?O*f9_?773j4&ZIustyTTA1``9f4B1$ZykyC({9w}$4f3SoamIE)!ZS8F;tU9cI4)&9tE&jKD95Yd! +490csFj*GdxA1MiBN*6iq*$|%+f4F7z;=}d%(5~*57UoQBc45)iH3;4zilY-l)eojo(bQ|k1ByxK4lw +Vp!{creGXSr=xt2-2_6y6 +o!!`f+6c8ghSM)$rgIk3x=`{I-xzw4<}nrr1+AS-=&h0oef+N|A{|WIxO}SN`mepNW>O8L8zU;yGLTy +cd@-K;Kr~^w!BD6?rox1Wd2pd5FFo%b_r-3W$Qvh>>;2XyEl!Ak6Pn(P$=2D4-)&kMY2sh*%c__c&95 +A+tsb3ZP}k53C4%hK)QfYp9@69%TF~{ZeUM*%@|+xlnmB~pIb=4aE(#<+Om +RYpX>?ULIqoF#TZf!XY~s;0>)y%7VobhdqvFU_e=~kj`@mQTU6({g3_Lm-+EpBoQMJT{Qd_z^ViwfBz +fxwxNhQM5y*sXG$@&2~$kxa@)jo&v7yz7)K^*esG;7s0Z}; +mgQ?8qi&9Kj8r@?LPq;SuR{wBXc}5xUeKi%&rSU}`!#OzT881y{Zbp8MJxqN3vj_ina0OZWlY*ol;Sh +7T2y_`$^j_3bO}cSy_8eNE~zpji<@85i^E6aVvIxGLoYJP=yM4dr$D#_&bxMoV|~mR`1EWOpq)G=BxK +{_yw`6vp&n{ilyN4@qt`x`o6A1IGejOd;!4|h_6|0WG(Soa@|eo?Q#;uJzFHhF{)wmp$SP@6^P`SkaY +t74HwZJN7wh+Il3zkOm|h^?v(*-JsWMOWHl~gPA_7THHA109(p9Z!=oJylFs&{I(OPphn?!be~7e;pB_q2bC{iHewlY +A&lqV#6;jt7}A}(z)Nly@RUk?^a?W3H)FP4ZG`@ER^c8~!*axJIT#@yZy^yRF9qI%I@Tq3pjb^zp9&d +MWFFy>aeY~c486VOl10(F*5Bq~J`4h0iv+>VoR8iIemEZL;DMk*ekFnWs7+&lWKX6yH2OA6#}K|l-_l +;SAqhXGy+r+V;ala7RyXo=Ux0k6#>TjEOr6-js_K%*uN^noaugqo@AntQ>MlhtB|UH{Owy7$f3_9Q?3 +o`*z`zlxlsr@{j{vN +C>Dqv(_)>t&?&vArnSen)3BhAoXm*eox%*F=SO(nL(F0G903uuTF+;XI9%o$kx%g;AhRWa30T3(Nxt5&_mO^OTujK^(T&;=Pauu&yPm?30|8oBph +(|x6Uh(cWl~eBW0|T55*Bw)PW5a(?he-pSq_75bPRk)Plsd(?c~MX)R%_oI_Ur!7ST_nR)$h&yKsW!q +*|K17$D0Ff^jOkZZyCJWu4LO$ezR6n +^FCMwB%R-EKEJX%afqk5B*;iUsHzX>bLXhDkLJSU#4W!pVwH(U@#V77VJvf`J3+^~nQW&u==Ug{JW@R +eLJFGldafY$0R4V^oi7!(IFSD)xT8K3nEoJVQE3e#2`CVmGhU0Tru_RPnw|2p8ddt`cG=1jEdSdk@#y +~c3GMSA9P^Fi`Nwy^H`h=C!chW)P!dOJ8bUD?!dBCbrYM@kaRMb_2*=USEI4%6zRGu&Cy{KKF&Nv(n* +_d*X5d}78iBSf7eW52APh}5eHN73do`fD{kK_rn|3rsY#|i{+1oJhp_2mNLO+{0HnduYzp&s|vn$!l- +)VZUNW-@|Y)nvkOXWekL5T0NF$A^oNxw*6uBPLroSAO5Ul8)OGu%3l&AiNa1<(B`GW$!q%z3lmuHWb~ +wlsl#f8lY}G?4gE$kb^r!_VoUBJdN3Mz(9=WU!}?WY6&{w|}!@j5vg!TlvCw_3AnxOy-w*t<5$P&bI% +%$mLhVY)iE$TQS&dc=lJhFXc;tn71`tTTbvU#`1Hx2vR1AUwzB3(IOuHQlhqHi9D(4Em7Ocnp+QsTJVUyyHx2h;~H1o;Epx#n#<#II$hJs$LX35-}w?D#if#gizlc2y}8Qx-3`eWED-L{= +I{HFFQ4({&|K|4IDpeTH2r?gaN~TJj=Y%)NLk$Es;+^zd*xooM~VdlUJ@1S>SLUq(EDld`)+s_g>gt; +aH|=GXee((6b?BDMkdbdWaLf@13->XT_N!b4j06Tt1jU9XNJ&~F#UCjf{dRI2M7jMb1;j5svo0&nCB9?X2}SGtR7P$ad(vPV1Qm($VnP5SBkor!HgVH{~nFE5LjX!d|w$OV$}dtEpEQtpV9h72 +Uv%h?@W}g<6}AF>|nv6r?^+!xL}>;w{gS>ad*T3m{n%bCiyNK=Sr}}g)sZdkFEOx4f|tqkEC2=U!4Hr-Qt}ii59--Jq#6rhOJ@h>49>lxQpV{f2P>rUq>Hjh13k5ee`uv +>s7gu%>N8uQAW_izVUUaAgv+3$(G{OTv#GnI4RX^!355Ezuwel)U> +^_oP@uh$Y6*08F$@pT(dnQ--Qc4-eKH-(G&_3D2n_Xa`?vwe_+)w4*a1=?^7u-VrOC?|M?Q%U;XjbD_ +__2)kDYWUAHUQ7?>EgJwZNC4Pf+!4&<)+obBZZ>r0H>0}|Ax2e~3sy34Mt7?%u<;UGlW~bF|F>yV$|uR@J#-dW(P)ZdF6_2r^Q$lbgP^OzAK +&PvZxtPTmMhN?DoIB@*^Bwei>K)spF(x3v*n4+zTs!VWQR5yeQ(aO?U|Lyw{~%qHds?D+|PJY7Xm7Ry; +aPTIw6uv@g*}%AY$;Nq}B00mCE9X4>)aF!0%AOc^uNdIGzI3$ceL!v--h9>p +JhnV;4K~rRdxv&h}$lXcw?}qvFlE#b;XeWBme%PIYIm&jTFJu$LGMCdqA-kk1=K&F}>4M-GpfKy$c4F +NgJ98K`$L=`l8mOBF^;UsYeL#p%HJl#4u$aB(`74=eOwT5}&bOe4Z+4zMk|9vd +LxG@>XUak)vcAm=u4DZYsX##t!{=zRf7k^w__L!N#_%Kxgbn+UlM!|Je8xw|CNeU~;F`1hu`FzUGA+J +_^J%k82`N@$OZlkPbf-X*EI~_3s=>P_ShSVkAlV$Y}5;BB1hYrwd&ZpI4A+pF$bf$gVU6`F^L8%ud5T +1tdEUOnSy(Y8=tY#P+6BjT@P#&G!$yq{sWD+_w<8xGdo7;fQP@I)vf}hCPu+H&##ADVD>2h_?9{^Z%m +o#hWZh@sY=?X2*q&!Bs@$2v=E1YOcRl8Jao4tuHP_9>9pbmYj-Mz>BxSk6V(9$y*aR@#mG13!NA~cfN ++YNZSSL5N;yiWQlFI+PY&jVcn=uwQlaGVwBIJ8E5&Xp<-uS=7So(v%{++Q@m#`)NWGsEz_J7=1GX9&!k`~3>(+_>i3a +Ez2vRaUg`zxUw78w{W?gIr`Tu1Iy>I9tiIi}xjkY^YBbR91`jbX(M{Vso+(?XXu-&bsz(Hfot2bA#`YnW)yBwYF&fJ|t*$Zez(<6$5W`=#XR9wHrNl0re6ljCzslGk#2=k +!C%gF{^0F0OY17G;DIOR07G>Pi<0564)b?E)6;+ +s^0*XG8@h$+|f;rSgqEM=fQZ?vFc(@ehPpEF$Zm9ON$=0VHE_wL!stJi=73hqiw_`1IT&KtAKR1?y99xP*lYk`F4dWZ|N)lHS&N@nO{+}9449C=f?fJshP?^(>e`9 +rEzzf)6wQCQW_|D#sP<%OxIWNzvq0h%-som)dizj`8T>NeY-vCHmd#1Zmr`qWSs#e#P1sCCmWHBzjh9~ +EBIbKb2@tQJ_T9|rVZ%laMT}@dC<0=5xL~%@30EwREC5Pg#IAa`OfesE1n+&r4(8+cVk7klCSCEfivA +V7#0TQKxZT2Mw1E?h!Q8JYN+0%~Ijudls +I@@?mz1v37Rp6OeDcH0hn4(WjXH9Ul3`^}UpTw0Dy3DP5PVEp8pPu_OdB`+(wI7Y1rG>9kXF0)TZyePOBP`x7LGI +u!gGM2!+6KU0=O68{)Rcs3+X-4G5bey-K*jcu(TvOIy4G(Hzq9B|;AGhJX*C4`)!BPbgIZ!T9`A +)a@d%<9`k#$&|N2zXXaNInyIZw2Mur9&v^+ox=5GpQaX$ +f&;;l6~#M;u$+kH!+rt&%z*ini}8a#hYJJDAww)g;^InsN#e0(X32jaNNfI;0khgSL5;pw-=9YA)(nI +?FzAt}ivFQ@BE7=zdozJbhwHETg4!<`3c-fF)OS@!MOq?R@s*XG0 +TQSM}o^Uyv3RCN%2Ar@MGV`jqLeo#`R(2fsYL*%%!|6at9y_9l-OjE`adtO(7AT3H(69}b-fBvOuebv#`4~#q60~9nV@u6)m +jaLP23URm24CalTkRpAv{)d5d5grD2`ru*~j_-e_OSL0Udh@>vHGE+|d=DlnYui3w)!n-3{E-m%U1KT70(*q{)Sa~G-_tqm<@p8ZI!lPt7_$+3qk_%dofC$ZCHQa`-JYLu9>_-`ugI +Tgv}DKU>c*r@?EJi&$G1X{8(+fmv3yvAuA%!XP0$>Z$TZW9L4hc(8-k*%Vvy`hDnibIEVhHB3HoYAj& +I>!FQMu=&v!un!*&wcc=458mey+*@gN`p)c(t^k*O+21|s%5MiF=HCF4y$PJIf@i%c54^ophC-?%cs7 +9uyQ)HZn-QbrR +&A6%H#AM#q9lN4K-WA8HIF;peK!%DEYVe6(_((W_PwR2&%_CwYj$sM_%mv8Y<|aJh+WF?0krAdPD07^ +0iAjN|DGy6^v+3km)IUJ9JZ+8E)14jx{I@!8vicm>!6A@p0+TXFEgX@{f@%-J95mI9lz{%{R7Ve_?>9+MsR~MUsWUb5F9-YL_d(?Yel;p0iAj}5t +T2-UelJ?`uo3}+sP9pDFEIyFKf>eeng>1H?fQown9s?ZZ_3b(^p}XA2YMTvM0>?55s@q+RJE^=ke}Eh +wQbLvE$OZ{zHtz(*cAjl+*{wTRa=e1($5>akV*g5!#YW+1IscuW^fItaN*vc>8>u7JL8(w=sGDrV6KY +4#Bg|8uc}@&QOXwnfNTdrXWd#6b0OSjxC?Hcxx=_rB*vQFX>VVfeUle``1}lxY|c+L~p%R^idB?x|y= +4Y>M7@abaK2Q%<5;xh(11ncI|}nffF<)ZqZE}wgMl$LhHK2?ssnf=uf!(PmldT;y*v`$65}QfIcPvZ30v~v4Plo%3$PHGfD4S$mrhbY|9PoGK +y&Sty$X7jw`iy)J!&Ac64X^q3GrgQ~S{?xWT)|210LsXt8(E#*0nMxPX3vv)GQ=F}BxTrd!jr)omt_o +y@VTAmi9Bg@x}m9mJNX$g!=ZH=S>X6GsfSIjd9N_t8i2z8N&iMM=7zJ=H=O0U({cHX-)sob +PZ;EgfZ_O~Fn;K-PlEnc1^&Z%`(12m^~W|2ny3aoY=47GAlb7H%oet1H-5tkf1~An(VMXLiVT0Wcmp= +QYSWvTf8GXsHm!d$E8w$feLkyyQpspqv)j>x1JdwqJ`&dD5c)!>nqDi#^czG*_VKb9UU1f1)n_h+=RY +3}A1*#E`6nVRgV!PVqq@^-ba92sK9+6aG@-5{C@%<*c@0z^QHnD1F$CycS&Np2VMTg%Q098N3{RUS&* +sAm-J|8owIeB<$38{La;x_3^Yk-vnuC)bW#&XX!0a9$>5G8g;z=zgU6*y~t(_Td4kCl6El3(**$kctH>J5|w(KJf={)#FsNKF! +3^^b0Aieu0EKcQGR4)IdgTrhuao-s16b<8#itN!(C$r)z^fs|c5@^HWi)B{45}*B{?!2NrpM^_c1Mpc +|Upd({m+0qUa~VesWF9)ZstXD3Z7MR%ux;RSqv|3KN{*Ptl`|0Asa<>7w~*Iy6)17d&L!(hdgAXnu+WL$t2%SvlY +`BRTcgh;46(J^z5%(5HwkGXEU0wVHW+V58#y4a9bW(=SllA5H%J6KeY-uxzVzC+`y +lzSE~1^;+=80fT*Ey);k)7g~Ts!^-h=1!p+O)9cb!Or7PBITy?pfR$y__J6nwBbk@-NSu$^aq+3nwK> +CcU{?Jp#bVVK|s3ql*%M1uWy(4_;nAknhh7Xz^2{x8ZIH(3RUjQaSfx&FnXVj=Qnojiia<0JRo +q^%C8Cx8z81RJL-m*3e1_LH9H&r8*UY$M&o*zQSE)!#GoQ2o_Zsn4isRaX?&CLzt1yn}Gy-f4X;3l-H +o+m@y%uL6uHAqVu?*_J@|goCVBMhm0|~80M6F#7SmtaTzSv$5 +-;Ivpe1#GXY^QCss$#uL#hB@%?^?>~LBR#2qf#Cuzb9>gg{dcx&}d9fJ2r&loeyultlty6D1xzn>BF8 +-M980YABAZOLEdfpcW@-m!S +^UYqSCJZM*3!gutC_a+U{2KSr9G`$r9X2qsg2^YI}4R1vY1iB@r<2`0gXB*lV)Ta0V{bh4CG2Xxi{>I +5u8C6?X-(kFTV*NQtE8mb1_|j>})D6cNg)iZ2Ss0&OdJ~~_DOlZwbM@VO+WMZbZhxLLWAM29uN5?KA>ZIr!Nt6FTofR1j3i-cWHF%BKba>ZX3m>3>-r@A;L>Mbz^c +QUtss>Am&1x0_RTE68MVfr?FfiUWtzJndlxfGGaXyQim$Qgv_@#Go~lGJn&q+!TsvGk`8-LuXb +Bv;)#lx_;wu+nLb=C%2a8vXrd#8xlx?3NekpeWqaqkZI38(3Kv9NuoZ)n

PSR-b$MBAah5WE#8_hB&4J#t>?SOx6jBwQblrxwDkRW0`{g1FQsm(j}UdAeu +!kekQbx%_|0d$VOnv20uLov+AuSsl?g@dlz7AV7%D>V>{<1PBmce?jiy>EY>~5s~NITV+*d+xFH*uvj +3p=9t|W)4*}W*f#ml1b%htuvMJ0$Ablmv)?*N$uPMDZE2=icJTf6xYEE97xpQS+^Dy^^0;vakJy +*CX_zK3#kMw4aK&z-X-AszHH11G~zn@$~fNs|r3SRK}ImOs0Mrn9|P_`VLS7{5yik$#2ntxICyt&7kZ#Z58J9yEAXRz<)uy%GW|yhQ4^aE6KLL +rAt{u_$?FR0@62QCc+6j^=@%~oRv>;ho4RrV3Hf&+b4&n|BL6`@Ne +*p=%KM)M{l)tgpn#qSkw+fY9|;KNSRQ+4g9P{L{D{WFS~BtA*PV43*3G;?#{kv7NMPN1y819Kq&(qtu +@5s}QK?IDfG-cO`r@RE#n_vlK|kNo=0{Iw(eJ8uHcRi4(;OBXuQx!Ypj1lPUPNRQNRjPDy=Nx+&wHGf +6p&L##|xkj4&8-mC)~w>ROCP<3Wfc72tmwgZNFP&GEPf-?_=K@C{^w7!#UonINsR7EbllqWdtUkW=5& +M1A$TDO_VN(^aYK5ymPh$1&3X!*PP0>*3`{tALZ$ +O^AiN{l4T7vVzcSk`N%H>ivB@bKMkj^{Y&jO6@$T<;`I7xl?_?Ei;W8`5QqQ2oUf%@cAKk=qDt>aE5d@>=#&z0? +FCyMVDWyDE1;n7ksFZNxRm78NzyUbbic5;$J+K{QQ +5@FpGJ|K{4=tJ%mkTFy}svZ-)oWb*BPiT7u%#I{~(4uULVD9`c*n!{>U)(Z}E#3`Hve@gwhyZk$nINB7FBapvi3y?Z`C}HSeZY1JQaTBR_H-(UI-P(H)8Xy1(<_n*@(O(Bz|c6@MU3m>k#&qK@8$9ct~kCnk>F;!oEF3?Dd +e2SCtg+VB@$$q&C&3>~ajN7KVTl|O|?BDh^HO!zH!A-UrX=_~Er-{_yUS1(5SPq`+5UKaV_MYe01x!c +|PgItqw2W!RvHAgkTj7!$Y`1A%bec`x<)N;xL#?n@d^ +TBaf-2%qJX_Jr9^xtpHT0RmifdQyU>@TR&*QD_2J^<1TMjk?}dwv@7=!>yzhxc7Q7z|w9>&WbBHXNvl +*^)yh6`mkk~tJ62;)`Qp1j@cks-Oz1}V@2=!vjlkqgcsanYLNrnuIDQ5t@N;YMya%662)4Xw5;U}ltMH12oZ +qd6VS`H&YzEyZVqXd9nxtals;qBGnc`5WvIn#CHZp3R<0tJo>Rb5ArU2*jc-;`H`Y5W2HD;hk0xa&&2WJf}>V^F={C5gQVAM;Pn_?gFda(&_YOcj!@+`-qzjwkj$$Ayo0EI_M3VHe21?>r+z8mL3Nt@G3pB@kiE-_C&r_Lz=C!Lh-Skv@Cl+9*zJqsSt&MM0EKk(I=pOyf?!CVb4&fcg+t&cT +U^3Gd@AQZD-C;j5O#%3h;`?&E!87=UHfh>07>E`PI$W4HEmX9>UnMOVv_vx%Ej*6D?C}?fG6wwYkTE? +isI+J7NOS+6T$mSqq3K7qA9w@lB%`xq0N*(NF8hA_Uyh>zW7$XIy?sQwJ2vrjm`_09ptEsM9Sb!aBI@jYSFGj>`}YEo^T6#tvruiS@?GimCHD7oU&H9NC-qyA?$Ug1?mH; +`EYECfm=;40$hiBtMu}Z444(->~o#{X`b?eIaHmOo;QQ#SJx}@Ia4u%AoJplQA>3z;RE0YgBn^p7nhw +=W<9v(Fmo6+hKODBTY)|!NLUP-Dyg7MdKQ@NlPm@;Gwv`Ptw8!R4YCZ)Er&4?ra!i>wkPC9%hvt0%JtaB1}(3G +j9iU8ZR=(PrWT)C$XKLIXT+AT&U1xcde1`)=`mb%g~^ws7h#Q!(bh2FD$+#SRLLp9)?S<(@CYv({YA}>D6)XoNeCzxBUFE#X!+Bnd*Q32J@n- +fXaOLjrLXUD~)S{F*#hkf +(FA_(Lydve>?#M;}VKomL)*k&`E5-P^qnWqu?0M)2mkp!aW4$;wo+oKnJ1BgAM?QsMdBY~Lqk*|G_F6 +*|E|QLi^jsR6EI8R3=RFJ5BmSNe?w7Wi@2ZLas`l+)J@5}| +w|_k74@_t<{?mTx^urTRB!^&na>%hC%q#@*wMCf%4=jJk!KX)e3-yb{X>^1|QSxvp4u&)I_#GpMx3Rx +Y$fH$xe~n>B))YdH2=SYzcLtA)6jloZJ82=mvCci=9pT=fCeZcQ;yz>`UL4V3n`}l!K%;uvNIPm|sz@}~P4oJ*c1$0#W{u +BPMs`yz3e|1Dk8dl3_(MkzbH|={zWYw$(27D@kdF}^YdUIc|q=oxkm +VT)pyHnyC4|Fm>Zar4--^FeK2Kp*lyT2i_bnq<}3z_ag*lxn>>^1!OP1+XZ{@|Pdf8w1iOgu|Cx^ZFG +{&j|jjKx>rD(N&Z>9HbB619V&vr0hZ~kb#t_vq +t(|rR#T1g+eZx66{d!HE5yO4ugR?wsDy6l`2{OEZvL2=BtV{S9;a}_*!XV=mZJH4it98j6%*~vx2hsf +(}Rxo+Hng)8t-;-y^V674q!jPW5H01Dn@;!SNU?D{GUIU$eU-v~|lX6HLrjeOXVX&btAqdaN-2^dEkb +6?uleIaWBSKsn@!^V4TuAKCM|!!2`?6nz5rE>?u5!9`>3P23x4KdCwKpIB+g%|pT9=q3r)GssQ-_@El +|8*s|M}MY=mM3|T1_zUzK#X#s(PQA0o_$+3qyfeK6P7d0}~p{QW|}lZakQSt*0hT8%2$8cntkZ +0n~wV+ov!dZVG<8KDyj*t8^r9(8Wm;Xfi}|R-f?8D>Rr@ve46kjz0Hq**?#ZV>0f +b>!wSG6e{oFiG?;J+_+0kDn;m1j#pW)HWv$9ewx8W&xTmp5gWs9>5IAFaP8EW&e~R`8ZSzECuBvMv*x +T^Dn4A~p?#gm`TZmvk}*n$%zTN_tCAIhM9D*WPDU*r5FytLrM}7^ +0wfhV{~onHOG~qy|7O-b^heV!x{UbZ>Q$te;m#f6p@adlfZs-hSN=?QVA_ew`dKcIzpwE*@$)OMqt)F +SHc6idvK@0QAnN!WI2zsWEtNgyCh!Uc!12Ts#fzF*Bx90Zs##%CS<0Y_~t>uimM+#(3WQ=hy;D-fLNS +;vkVuhDUljKc2CAV&AXGiwEYalq=BIPO>&%ddU0;z+dMO3>87nh;b*9kX*{g}71VFBzpSQLL +Zd8(JYggVaif+UdPDZe)xRC!j6rgd%y#pZygpfhB;boK{IrECc~*%T?FkjQq%k;&xdT6{m&k87sXCwG(_ +@aU+iHRLAW6N^-=OI2#ZMqG1+6FWGXhB;#v6P0052@X1g&3kgjOS|7BHD2Z;#ta8@54t15g*44LUI6s +^B?uds5qyCKwa4V^c;NG>#5PX9&^ASq@?u{SO&tE&_8}9k(?te&AQxu3o6pj-p1X3Ub5)_W^n_!ZFA% +Y-r5`-}9r#$`$aYQT8PgNL19^C!Zj*IZG2quCLu9mMY&e(70&)H;9PixCyr1r@~hD7A%aXDMdfL71c_7fs0Am8V?-D^V#dKo5c&8QJ`@;t1Orklk2TZ*Vov;IL0AKM&7MI-DhT~}6(GU93#$g}Jmxg2MkK0NbQB7mvvZK +xA6YQNHzO(k8tTzbtV1(CWl^%WI5bHil`dn|m5C&O}W+^KC +Q{&WWbLhS)!C!gWd!QgetePqNd^2oI(YOBe5jTb(Qm_MU>60JogDpLmo-RZ$kD%_<*=Ra?QP9o0|Rxb +ZqY$<1V?QlqM){32K|r`cBSoU(XG>I)cmQ%i0^HeAkC2#c48QDJ&FS+8(v;c2yAuJ3C-#A0_g+gH>qz +su%CM%#-5Z3Q<`pwD6=dw4J-g>hoJVtrqT@v6F7Vs9d0Mow}L@SLd=WH3_fv`v=|xgi&&fnL~^NJn6- +xqA(%y)#)0m$Q+zTnVn1W^Xdi!9ye2I3ykM!4xv&@ztEXc9?1|g3L4n>=IW42nO}iXIE(^G%+m(A4>Z +!VQuaA{xE%`sb7`eUB32==|69wV<_@R!_2f^P#eLU|34H6u{ECR?ml^FQtfKbS<$P +u>Rw%0qtO^}8+K`wgq|=)1S*mQhK}{CcK)l{f9D|qy+ef^)=krBm+?1_EC_&<&$=yY2&QvN=Ady(-5) +rwOPWIuIiv*EOvjU(nwTg1-(EYNs&4qJ*jZmDrBs$){4amSVn2TrMBv8#-+u_XCzN~Z<4rN;-Lskh`M +xRBEqE$xf^x;`*oOxQAwt0d_e9oTLM1I|)>>PJ=L%+QqWkZ-M7z^?kg +zpu7{_dYw+QEB+n;NC@-Oi6Y3D7lj&N(P>w4630KLjVTq7^~NNYxB4!eEMDsRj1=ByHlus!mfOL@1qE +Xret?^-Y<+FGGC#0n?KsM0hdn+xV>xEta0}WS+@s#((bRsIStgxR#zp}!LHL7>AgeD?C~bL_GZarIk1 +}76w2YvbKxAvre;7Zm~~B*=xb#P#+lr0QZqHWN(SY@vZ^R=4z3zLb73)TjkS<;>Z&j(f0ckn3{eXM4!&T +oW{_Vm-WW?U#v&UiH{Lwd*|l6ZVFnS7^XV<`=8I0{1J7;8X4w+TEDfV1tupbR7QiX5RRF6t8GlWtK$Z +724FD`aXkaAL>QN32pChG_L<&)+^hg${)MMzbOswFz49g|9*iGl`QKSOfiM+WgI^+S#V`!GHb67gYiA%jD=aK~s!@R6gYcEI=ZmOki6tRD)9AGPZpKHSikJ^FMR1|I+yfu9Bk^dqpngGA)eB +S?ZzV5Jpuci|fPZ&`{>uFU{@o4wEBEJbiAtgK<6JGaDRy>Y^B8_PKRkdzZ? +E)8krZ{m2Dn`sTZ7%tDZ4gzS@(^XEiw0-Rf%_Sj&mc1bMk#wFk9V3xYff|1XwIzPSTqf+xx9*z|hbHp +A9D{9E(1{20CYj`CaMCzKnzT4u6A12q6QzUaoyuwRavcs2e>z1?|Z~li=3*>Zkuque!p-B +q%W*sxQpUgTOzI;9Nt*5ok5@LfG2dyxLR7GwYin29SPwI`vQjr&q@1vL+kBo3MXbP2tvIXL^sMx$t(Q +!5cNFv6@&#U2<`ffY)KDIz;|yjfo8+e+}>=RZe(1wg{vYDERuQ +~kCRSFRb6&;Rh*S{;4Ip<~#}j)l9P?xom2`RqaHn>*T!Z21z6rWBz9t~%q7?T91bJti^kg3_gcQl+{0 +t>Wn1iC(UKYNbgl(8m@{teQ~IvOM`P{jDqKuJwCMOHXyo(eK~ +p+do*On$7Ax0-_*wuJu=YI +zeshd8Q85cZY*HOYcr}5aO0eJRpOTgVzQ{06}OMlLQIdRE3dl!?UBqw=TOj4s}8!GLa;jL+a_5_bxPv#&N-J}D;aOj$=}!`&>U2Hv|LVc-a*bi_KG6tK~|yZC0k={?G@|>8AdXTT~WDpU>%@k@&b<{E+RdCiOeh3WzQNr$;BB&T!_TCGWYZ9HAlt^gmrnbF +!IfvZc7iPH9Yk!@J0=gEJ_Y<5b*jsGXW9?Cj=*QYr8*4S({riH)D~K;7H>Tm)Kytm3sKKe`4k(C1XHS +&L;_r5U^}<-Pj*l!U}KrZ3v+yp4xp8L?w_g{79z%2JzFsAtZ$Vj}a{X51i>Q5G=xfO0amOWWyt8o1jP +k3LYK3DIj>zB|^bLrnF;6g7~zsq`%?8&p|D9U{*N(>MI7W#`@cteIX;R?v5%T5`5{$|;-diw#g0^M7<~jtKHS$J`U$>%I4 +C0LYxBv?F@t-$}!5G+c6i(v8TQeEht@~ukTz}4>sR;4uw=e9>bVt{_$w+3oAv3t(i6(QM3@ +$XFg3cRx{=}Z31BA*DEXb@b{J%N{0oJhr-o!8LNOI}<6zO!(Dpry4o$}F+8*P}X974_1=?etyMW +q=Q%uBKH+5%*S=$OhqkIs}^xvE&wRMTJ8|7btUm9BxuE_4lVQ6C!;++U0%n>37v(@yi&w&f?lVzywzc +UXGzw=rC@#nWqZwZ+)7k_p7RQN*7n4j*UaF}t)}giZ*;L?io$#rEI&bN^LX6emsPNxn@F=r=mU!cky) +y}BN>~|`SS+bB(x6ltcmZ_o!il1*}AX{p>2N>^h`?xZ{oVi75}FQ7SDilr(s%bb|4@RrRKi9_=+m(>+ +-K`Z2u%!RE=BV8DkpX@;9K3{&af4$*H(@sK+}S2@~z$e#{VB`q06ft(s%Cq*r$)umHS4cQ(vG4Z^Z6sU=Uk%{zB14^@P3n30|62aCc;nIbFm+#TRuX?~5)4A07KnZOj~x>Ke%Eg;5QU +nPh2!x~HPb-#!j3d5s%X@8CVykhAHw|s&n$R}6=Mn}KG(Y*O#P +CR54h$AzH;>Q_|9q^BEV)PsQOIBgz$PR|dCzpmE#|NL5(GWT2h9QTEqdvV7B>q*odpCFFhpGbklrbG? +ybqJ`VXMi5^*BWjGal@=9sN_I7avBiKK-*@g4GqTSkrO)mps)clB2U+qB6_3b_v^Xj}qvw3%OudUou` +tXF9k3*d`GR)b>4bBET*3KB;eQ63CI0)7S^9Zp`=9N&loNWS3Pe>F67`693@A5K*(QqKdWuwXjGn4@3 +7ud&Du*AGNi2UZq{qhZk8wA? +jMGXGx*Lh<|%ULgCFkVCbL%Hj5h%^+ZFmOW=xgff$RQ_ElT9({Qv|codk*ar=H-Zb-Pmr+10Xv8X(sC +H;)x>j}8~e7+mU6Pu||3hpw5mTcBW?O@)@Y!sl?hpLP7E*(D;WikruV#;HYAC0q!XkKLis7#D@z#-D} +Dl+tAG!YmSmAbe(UiTi-ygEBoP2c>Nd*P?Vm+%fU&RUyn0x7Z+r~pw9@5{R<))v{ZGs4FY%7WT^FkOs +SnO)5d3HfHl>{wn=DHIna<&>6G>^jd6UNiBefXf2aC}5#_q9PJ=wbvW__xcVOR*k*+S`SMLh +7QCGpp!W(IETvpORt!NuLnYi373)W%$8vM=OJ5^b2f-8!Co<o`flv-O)- +f`PLtLBwE!SYTcm?QOVcVN$0r2}lw53w2MQo4Ea7>g4g>W(O{=`iG$Z;LmwnZrN;m*g!|gQ4FPxA3*4 +-taKQu|5KtK;$nPL1EKiLv_!y>K$2z$AcgY^Sq$;l)4a11{4lGTax#Rr?u9$>e){P7TOVJfx5}@$P;A +Lm~%Ym!hkN-z$eDG5)zY@n&fpAFD*ymCo||ZC0rv!KpN)!N;Tb-l^M7Wk*7Z+A2udxv|`2>F1W`a?{i +j}qka(+Jc<9ZDKcK29mK`>t-J&Jhj38bf7||5E%*ns^fwOs-9-KLkUw_x5g>Y0kKizl;}nd61cJi^1R +?|u;uwbFFbWbR0fQj2FBLz{MC|K%_z_D)(xZR_`A{JoN<-*}((gkywEH?peE2{?_*46}dqlhGNP>g!f +WnV9yTjl6Bmwq~A$gR%lF+g7@U^}$@P1Sn@n6-H9DW#nWRD!z$xSwD@69s>$^0A{V7gX=q!%sp%C(O|05o}9)!1`?-(C5^n16S#oOQQ^v~MXOuaLrx_zs@-A$6T?k) +?WvF2glK;XxXDwq90TO@1WQ7&A$l`&(7ay;jY-ZAh`!DDn^LVxFFu)p8wn|6}Ka+$fQf2-m)n`_!AU+ +p{OE+8Yn`IjYLkqc6BLB;9JWCKeQ?@KILO{zZUF|H~%k=$|-b9_B#{Zk-Vk +Zo*<0ZS(V25nd#WZmf6eWWun*sqv)(y}n%MueX8%@G5H%5Z}X-DM*;{1o{r7Txyc_o?yw*9E{yH+?O5 +v`Dasq8XYyDXx#nfHJp;F$-_QbZGRi;Q69k8|88`*k*0{4lmbz3A}eXfa(kOto0yucUzv-*35%Eqn`4 +6cT(a`(z>*~ud9hT7!5P15b9ZoKWeO81CKsG-5z-4(|z(KEXq{b8{pk`_^*Bf>m}0~Bvm=^!4_8c5-8 +zZXE@#FJjyMpW6Ty!t+!JL1mS`<_`RwpzJQySrv2dcCQVbjb?S2_^K!pE_j;>5|Jj1C>X}H8sau^*JY +~Op))9b=E>>N3qs`eX;tPH#K2zO-y_6^5IrqDc$6uGXPCD7?DYf484md+hEX%yyj6yyO!1Wcnl>giu2 +Ax%@k_6~pOnz1pbdHF!9eX?GDEu|;s;Ak!$oyGV&gEKA-aT92?tKFCH1yX{P{8D2s1=kJZyMLRDpgV2 +XX9D9xHh{x+(dxz6ses#OGJe3O-QxdDiMCY0agW8Cy1yR1$zs)*D8-XXxzbd=_;F$)8q9xudKNy1t*1 +En6_2?Nxim{5U$cDYMn1n3C@Syj$t5TRqOoX^}f&$LGOa{R#1M_>iXG|d1@P0VxyT0I +++F4`=c6`XJXVR{aPy&d?_9p@N~zEcx{avL@JBK;kskxGagOW0BNh1^=lz{pz4fKcD?9$hj+WzTW?}~ +5p*^-?-<}+vdMwVjDOZmR%j-bOcu-vVRCAa_Aw6y6Y3`$M2o6g$`i8UYYWC}w+bB8+QKpeA?#xChKy3 +OCX{|x-VIaR8o&Cwh4s%Hqi)_7rI#wWU+G`%Fa_O0YAIav+=-hU=k5D-B`LKJ;GBbA*9C;v_g1e(>a#qJ%+)R&&h~WElsE?;y`iW< +UR0&P@E9g-NT58{DCKY*ns@w%+_x2L1aDR&Ko1&b?FYqNM1mSu=^Ul)}f)wQseOx(B`CYEtmTwje3Ji +6?qLbs2#F9;a7EYvvXCxZszimrD*eRF8iOOD)>J`Rlh#$m#7N<0aYOs2w^x#9Kr__wxcQnMe$DvfZAc +!zI}&VAdHhRO2F7JNECvPZV&k>$q2v1u;U{zuw$s*$A{pLY-4b|IDpm9qXHmxG(X{=<{>gXe&XneRAb +oTlM~oMUI4;h$(9r72uG*bZxQ($g8vFtr5_6B@W5k->SS;fbQ~oj#KD&Ue$=+ZkG9bvNJ$)#?)}{Rxc +iBBkQm2D`7W3og(c{xV`|4-A$s64h}^I7Z=))ck3gA!F@--u8(3s+ekn>HsY|l<)ZE?O@7N*Qhh+cl%D+`=r_0#g*k#dKFQ;4bp(80z$& +&pq?JpeLN}H>qNa9Ai@O03p|#;ux|`a%Hj%7owS|%Y^)!J+wz%czljXWjCXlEvpJfsfg9m;N}t-(zL0y^rfW%6!1^)aG!;d +~!T9P-xnK1S(~VoWpKSU0_L_UlyJpnkgsu=<3Y^QuoF9fKtx1xMHT4mO3(B22yHiWiLtX;X)aCKmGRI +_C_eD_5RQw4#38*QSMDlHVzimWsuNNyxsR_O-)4uNLM@Nw)2WIV +I3doKpmohVqnZ?)rYOjV52iIXZN$sQd2DC|%}vD6QQ&3(K5(ypb9p{9>z}9m1X~h|*5d>d; +U%GGt(`d2NOUPNB-Mp&ZBAwZqfs0G4kj^c=EWw2D>)AiAK;U@bQEKZUA@B%b5?dG>Cr?2thn6Vsb-g> +YrTe}k%IG0j+ty|~!A%;_+qg^t?7duAc%bkF0r^7b2Kil49j-WvmgD~i=pP^-E)4$#3M?(PavX@=w~a +u)RL^4>oSZ*CMKonF^z5iD!zS+sJBI#=)XxyuFdsf*VpKA9I_=!(*Sax8rk*WOmOrv)wZo%X%J9B=x{ +sxOf-&u5g-Ia4aHPOB=g12<0crd0zJ0>C-@zTlOK?PbWrm{6DQk`7d;6@w*~WZwxbRknPa3onu0k0&i +AgAtZku9N|x8E6aCGt_A8lWqtt+`8q+%y?z{x +&MUj3+=`sxw3*mf@N-d^4;u43>&=`r{5K{MGKzig&Fu>>)vojDjMZE3VA2I5fC93$cRyNW@xm_F~G4ppT%;$A^nD&q9}w +2&7rF!p?=yoWDoGMM$P6py;*Xc=(5DCOuo?B+QQawl~Rj_=_x&bhlm_f~ILi=gK_w}ZDcIW3w@*Rv!i +VPUf+lz52>i1zJ$I897hii%#Mqj=Ti#6}*o!HQhbJou9&vCNC?WcIniZhqSV_giGFg)EvbKmq4Iz~%< +}#Rci|L`VqfAq4|JYHAe|TsGX0a`MOfEpZwaX;12Zj;fIV3|0O5uwSAo1169H2^@k5aEDVzXbM +ND9baKEgb@f#z$gqM1V~aaLSf`j3k(j}6Cdf8AU=}y_?OHCbig6k=6kcpbg5U*_?F5sc7r|XeF3fHJ-yW7s=WZdQ;EJY6}4*#KKIb{HL>WVf%j1^F0Fb+9?f +P`*X7bVab#^tN6xf5tIX}ru)^k=z=OE0#OPRoC!P4=(V0&%!MjQ(9ygSE1lN4FkB*TrT)3Q5TIv}~-8 +-kTOVnA~c#41_faqAP2D&7{^SR3c7qN&&gkFQ*sv3<*sQ>mJkN(crU5F%&(g`O9gyw-HIMckD058%)x +t`LK6!)V+%nMri_^FG$bj3qyh@ebW+9JTY33=FTGssVM!&`@e3q)hV-8-f!apwIf3^10b`-|mgQa(O* +2!r+4OsVaXa0-QF9TiT4biB6{ZE`r65?Ebe)Uqu=@_w!R1JExZQz+IX1@ThqTsb65jXfPCc(NC7Lzy> +?7L5Z2uc)ob3$5mUfFr2+u7UCXEYuil7(J!qTfQO(?_%_JOnX^4%9(@n0^#VMaoSKSBCHNm +c`Cow%>Z&^ayFU?L$5g}PMeyiZ!wMnYaO#F=`#DjbB^y8AA*pqY{A#4>!X~bMTCS+9r4S+^njZ9A}Ke +)_T;!-Fu=ZZVo)Y+Q`gTt7`!efu2X0SGhvo^cbc9J +>PpZTm2)Z%dFIV0Xg0u^~No_CjJgcvgcDAdQudQKW&O8I%>OSc+Y89|mfuwlHC5yPnoME|jgX055N#H +8B^kay(#9y_2MX~c)N&U)=SHa^m;B{uaeU*$Z=R}w4N4sz%6Iw5yjg7d0wN|0n7aR4>ESq}&M5gl%D+ +fM0`*&9#yFdp(x;(!`?-5Q!EuY>)qS)3e^v?K&#lUBA+TXe6=$j+Y?b-=NDCIaK?_WDc=GTSxQUJNK* +2@lB6w9U*y~PN+3@v-TslBz()>2%1id_nVZP-e@i8JYD%w>Nf-g4WpxgOR4sq!W_(u$ZFCClGy>q5!v +V=$)%%UEY71N6nq!W}6Le2^b;sH@cJ9wH)c3<5mICxFc(2?Prl6oorUlbBxaYm$g~WO04H;1*PgdvoV +qlRYBTw>Nxw!)^Q-bMjN-C7H?uFE!cCe +&ZurTn`8F=rHtK+bqBRF>XuuKY}PVx>phK_|8@D1zzy4rHZ-OrGB@=Nfq%aasYakK*cgWk6dN&F9q{Q +`T0FTCYn-<8_vsJUF0<-g*6TeNTcuc&K&6f61f4)#sDh*LNDM(q2nR_N+#wf*kT{Bf2!g{q_ +(CZVLm}#C=<5JXAF0j*&mc!Ah=h+M+|dF=9CBjGrv-cmLS*_I75@}{?O+Z4aP#cIXGcZ{#b|Iulu+=X +*Fn<*k|p2=cYy~m5$V{;`Rw%aU}{qD2MyQnIB4PmC+!ZX5_-i#btdG63`B9Q^R +5enyS=&kI64k!bK#M~UBeX>X3p(g}qLr|^Ziq`2flbN!P)gY{%<{v%Y`3%UfEcEy>DgE{PDjNli6S5@ +WLtF{caBvT%&~%`=4Z%XR2?3Ug1dCo@zyl%vER;IfjY6*{`^UUQ7laDx- +K#7m>BWt)p@F1FLm9bBX{1;a_Gzgw5??espJF*_&8ng+rZG3WlayH?rrg~8{j?w!aQ&ycR0ml^E{Tz| +oSGt<;f_muQqJ%xiZNftL&TX63Mc;#(hQ)R^Dhc+`hvImV<5@u&cS))!$a{;H!azsW&AJB7yEVuT(+a +a^9E#cFh4IDK#f3HGQ_(O#zz%bTr0iRf7yYH7aWiwu%<{d=TThK!Prb6@mwC(byOMu~Ey^O~Ymyl#$` +ZL%gLc(To;0Hz3RIi)x4pYN=6oIop;>q=W7u6@cX~p^upn;MAu#}s{8)))P;sm*S_p%^>yO&Q>(-y+h#>#%nn?{MrJub5s=qkGI5m|w%XJ;AMX!6%05R>ExX2VoNdwB%M9 +E!YM!sR)AdfbPsBQNZy81U_->mxJK07?pYYehQ4Uh3>Vlk}%q1Z}BtgAtbW?fh04dkDP$e76>w4_(NM +Qfk{2>36M)5BW_UA?s`J+)pv4fSIA|VhYF$^IPh=NIkL@8{?ofrz^1ocx5Y~oYzxm!U5`eb~*1S8@jx +q~E!&UEr|`-Aw?ocr_gnG`!33WARq*r7v09(}#h$Ik8>LGU0)*^OEpeF6gHVQ_aNg@6Y+$}f!KmkiD) +X@o`xG4^f+!7qp5M*;~7zgBearZqfrH%BC8AN|Nl;U5+l?8sP!(5HU`I<67@aC#$0*y7KO;>A3SVg&! +wDB^r@%8|5FY}ve?HTlYn1WR9;EZe`+`?q&r^Xcu2WdZ&>2Jx^gz<B +yIGl=REf5`r#C-CL2N(_@dhRiT%Dbos?HhheDkEY;G+rG9t`b!(_q&F`h&!@_KIg>^#pCGT6Q^0T06p +NS8bSq_3ee2T0nrkS#FV-e>J;3$7yOmacEviEaMY3K0fi-f7)&Jpn4RgzR{ +mks0Jo{uG*Ec^D*uCOs(&!k-{~v+wr+h-q50o(FaDE({$&;Y;~?L!peRfs1iG)3Ac*1=v9F*XFN2^k5P? +A$#`d><8q-bCVf6uN8I#?*?vmsQS_$^X#DXT4r(dtLtua()%OJcIS4-_jt +S&I{~&&p6GqWTL^(aYg#i7<0=h4q`-uDRqw*d+7WV`@91{pRoSXgl82NB-A;&4>5E#j&3@k}>)JF0X=K#BZxn{QYY5 +BQvOY#B{#|d^Z~XRP2}ZzF2-KzW=hIKE7>Jg&&zgZR-zekKD3;e>OR6)bGO6qs56Ip6cq@=ffU-!Ac; +6!Bt}Ed-hq6X?yY ++^hc3Tlg+`h6G1r7@+KtF&iGK0$XokS)wV!fn- +zdoB00xt_Qvk4h7+R*YB$6kM{odN{ry}$!(zHkcfVJ>8uzDx-n}4Cr*!F2dDQ=6?!C4i#g=Ztd!Axnb +`SMA!kc}E7a%}*bB8wqga8Ti^bN|&GFh2bS$m(qN9V}#86+(hd{V@Wh#52B%mAJ+FLu&-eZ5)`52ZCC +{LMX;sYt@=C3?Ax?8@ZkOwCJ^;}k;B^CVk@HM&OD*O<2f6RQ)p2npmZ>c`%hryHcY!Q5F*;^dN&ZoY1 +TOSoIzRdqD+b}8DEfL~fE8K~mq7{FW78+J51ml5J|kObMJ4%8&R-bm|VtQME6>Nm~ +Lxo3|{#Nn6^L>_|-I0@zD?VZ|9g4R?z$0>9qw-_2WoMrevmr^x1;yO%Y-T~fSF0$}%s)J^rSR(I~-(> +Ms!Y4#BfQEJK71EDh>Mor$`PRmy5eXee!$g7%Sy(E6!o%S0Av`m2E^wb)|`(o0Sm~SB{3qusspySydM +c%t~D$nvbLl>on!z(c*FT!^uT?~Cl69FNe9_^XiRLwc5nWB|4QCHItH8l$HxSNx=W_B*j#V`e5bO^e} +QE`zSTUg0h-W?b~4x-*h!kZ@qCdqM08Os~bGA?vh9W(O_^JYIw%vtXQ!3=$n)@P7`FJP*?9w~!#~g@`o6dMZ=#6*WTC +(IeSe4^K1E9u-TfYjfV&@rDTu)LI089_5Rxc@qY(Pt;Ng(RNsnX~_EBui}b^5u{f9>zKX(+>> +9QQ1mAC%CO$pMy9*+z!^!MH$L{;^^ur0m59!9;Qz4(3J1KPxG(7aL(}NdJWk2wJyR(Zv{cF41%|G4J2 +a%pU2x0rzLtrR7_Kd)v5sAoAJUtj=(NXier_LbAWWr?x3qjxOve)WBf +>w52-ob{Xo&A4%cqDe^VKLrov|5Whs^M3EBa{~X3-#gqM@Zb2o!|eh8!0&D9B{(#=FNZzcYVeQ^761k +1d772DprCmq%EK4>MA`Fr&DV=XUhz|MRyW^#lA1nbOaCH4*@sDWGgzW8JxCCNyho?*gzLdP`vjfNRC4 +04cXo%>#o6#cVo3G7Al%_h207z|8a%wL$P<@(To@+jrUM~0*XLPH9w+JaPit6*F93e;3`S~_`deErY4 +y_X7nS$4KB!vKB7>PN0_m4)=a0WjMALIOIlz=M`%-3#NnwX~Ov8N0`Dt>`)})Mi>f>C#j$?w3 +--k75SwQ$8R*G~N6&qAbb}TZt!!B_=-R^2np)2LUCD4;|biwgC^rN@kyUB|11E`|0;Ef0 +N|j@<8qf4+N=xvzy@#j5L +;Es_WoA5Ap-MW?+3lq*BV=op5Njb3esN4JaslyvzXc{+pQja^rvE$G~t=DgAZ<{>7-+<}Fl5@smok7I +@rMen(OjMi;tQMUH>wVf@OJa +&R?8dLPn^F`NUzmQ!fUF%wRK8U#8*0Pu?TYY1IJgw01PycriXKQGs;gWnq3o9& +6ZFAD+!kX>pVG=hD_JawtbGbs;pI?zrk$kqWYBfYs8-ifk5pwna$6cbQmAdut)yEqrP<6Z1jcDN^XGO +BAFv6#9+~muTxpelL+aTLFAIwQXlB$bHPP8LNj^>=2k@={-szG

uG%6u2OtfsHo{>709VtLMQdwId~?lur1`2J3^LjkcFcH(+=scq+mwV=KauqR6)5{napwOuoc*7^j{gMG{^1( +_64uhlN4Oh5RCMy>=!Y(dqvLuE)Eb$O>=%`N^tP#E`6N +An=Z=v{`oNn>e4t$NSFjfUGJivS6c-PAzN4Xy|U9fu>tk(52gjnkvhcqr|p2fj_1Pr)-j5H?91nb +rh3c0Ocw(j)16+zb6L4ExIgoArRTxAA*e`{O{(4&lb1K-$xnalii@(jEv7_@@xgI&u6r1b5jH9Ppn)T +FW&~U)3S3FB#WkM&`@V45FXX9oimEJLyaR%*>cavh|qE`L=B>!6(z5=>yuI9Jw>w8ur|MfWPxZ%ceAu8S?A30uENq5Y|c<;y;w-7B$+b7= +p!Z471Qo6+Zn1eC5FWo_hV#YC*WBfOBF`u!RvswaXUTNiy6!2&H5~5Cu1pIuq!OXO2b!xn8cJ?>dx2D +E_c2|t|Xx0-fGTJU8hqmTMw@Rx&bUZ2xq<6QR99LG;ouim9wzE+TA343s?-z#d1Oc@}%vBytnCrq5DBi~^++=|^pv +q%II8-nG`;(NkSq2HxjY>+h3&*_QOB#WDDBbM8uX_90p2F588CUKI2Q5+*+93dH)L=g0+b{zi5(H0+BpX`e!8g?WP^6cQs!n1?->!4DFj|L6==jn +;vv?kf7OM^Lt%ivE_C59Yn1SI>+N|HxkW%@~gFxiJvp7|_H|H6(lOh&il_a1^;GzADqKHf94%K5B|cC<$akp{2GM=Uu<}`C78E`Qc5=bQI939aM +a(r?Y2A)q_|KpIHJhO>Ny#Z&R_2z>IkG6gD%N@s?~Z^~=AUZP--8!SuJ8hUzT@(fvLYZ9!hr9`luc@i +7QGVPe63wRk`-6nzn?CA7zYY;5xiwD&}!c(Za+mow@=oP#7F6y>x(Y)3t3E!16c@z4nD^;qtaS-bQ(g +j!oax5aFJGX3Hu*9buttPm>z-}8f3J1^g@Ptpbk*~(8STjO5EDa9ef@Sw+2kSoI(CS5SXYjo~2Z-`8? +P+g0Je3Zov?rN2*sUvZPrp&zHKM8x5;Q|?PT+Zu3oLBhWPl?aIKn)8_>1^lFotZf7wGc)0`=7>YmWdGtSwUt1mfPXclVETvl_K>BH(Aab&!5+1*u +7Oj95UY|C%=38-B5fbR`Avh6KH3E7~g%OtjWd`6&jj?XVM;#7x-t~1;*wsRKZEFRz&E5mWsC4LWFT5+ +kGB`*TC7fKKJa~O1k(&N|5waM5gmndKk52=mmqVRl6T3c?T>0j#Q9}Rro23M)F +8f;8CR%IjhIjw>tXBow>C26Y9_;=pUhbHxk5mt4m>kF1L>KYsGExXlm#cBZ9_4g0h +XI0$1g|_E;WhJ&VAbw$LIUFzU~;Jr4IkudhI`kipr_;@I&5734hO`~WBVUDAc$G)yPQf|f)(H8{-xQt +d&n$Zl6-9=27V?D#x~?JZKMH9QoRMSca$gt3HbE_Da{U +5m>AjTC~l%(6{2}+`{})K5t&S9F$bkS1cmaN+{j2W0gTJ{Kx`IiDfZz0^<0;MqF&H-W8&ouN%x0dFHn +Gh-E*k9%M(HaXuR2v`eCJ)22xeP5a$rRuH5F?#Inb$^-#WRcb%)##$zDqd#g`s+7o+eh3qs7|7>JM>5 +cbomibaO3E*O}Zv{W=*E1+RT0fK%{9X-f-4RqBzvtjGoL6TLn_qaZ@nvQtmnv%>{qsFO<%M!5z_|s!J ++s~W;%!@5jrS;M#8}4e7woKwU<*RvLuHlaIcL-Y8n2vSeR$1st2Jn2&3K?Ou0nf%dtKs=_}Pt1pf5g9FFykb1{kSQh*4b=Kf1U64QGS(NgS>vE8w +oTf-32J}Yo-`09$^M)h(=$JYqpRyjW6>J)lUM`l*436f3AYa`3(Ku1@`g=T7l#R6is8kPhck79fhQO# +g71aYn`&{@*byE2#dzVIy1oY^w{S*Tq&+MiUJLi^|BS_YPd2O~yBaDz`&iP)teyw?{?P#KW#M)Oss;j +4#o3&$b#j0@ZYY`v3(J@f6{fw#b9m;^;2u&Ib(cpz*a5VbN-xx}Y`v%%@|zs23B{V$8xk47SP4@_Al` +t94c@6ps>?)eQl{qavfbQaMBO_3N(qwt}JP4D<=kAMlBq|qHn?Jp?er+q~^dgw~S_z|XN*au%A2jvy= +Dd_9~vrel?P^Lmc8WzH)T$phwWT?|z8$pdY$-^cYFmu@3PesA8CdvviMH_unY|3+QwNLU6j;MAAM+kbvvq#qwdQ7XppSll;94%0X8ZC7U*6c_y`7CnKp?+d~=EJ^K{I%9kc|a +$0`39Y?L3A;6DMdH-m`TapO1jBEQ{d1~k3Y_H9J~p_mq6s`XJsqNxgoCRollMY0R87@KTZz(d#8UQj(C5S@?Ebw0s=P9m +{&bwWR?$_ZPgX(VRkqEE={>yU+cu{CW`2nOHHVk`{rf7B_~ErVy=}IqgfUJ$E7!49Wc9U3c~4K55j`g +-Yhnf_b;M(TE&LW;NsD|3D~5@hoK_MY&A_*)F@+H(7)Jv{L7rXOMw`_lNgmX +yUo?}|9U<6%QF{a;)~)^{=my$~A~!`!guIg{R|C4_d3)O@se=dUl6V8et0dL>x +(ZVxP00;<^+w3;7@*nUH>v{NONr!M(whUSQovLrj4@p70>s;g +s&mvOsrPq%w75jDbPROr-M-U2gY)+@C<*n(hFwUa1nRg +mN8M2%vbTqaGYrG#E`keu+oBBz_uj$f2wKm6H~YvqafJDphtzEDp#~FiO2HFt_@db7U@L_+G5zGO`W +g!Rf#nXSKGLN;|BzVI6}jEuh!rwqvbA1n`gzc&09to6+nGz$5p%{9ZMreHR5IS$f1|p{5uA!adgDA#C +!iO_wj&>9S$B71w +1iD2G4n5@OdF`Jkb-92TgoRkvKG9@o-V>^9%3U`u-FOkDPzN;6fIZaBkwnWBT%hiL*qqVy+<+oB-mXU +E2@2(jA+&@CFR@&yrbh=cb-$3e3vCquMJeyL62h5ocT~|-1L>q-)etbXI^DY^4Q+DF;z{bmFwWZ|@o0 +CtXp~XcxR$D@0i5sJB0pVDJror0d6F#rAXzJ^gb!W5@iPk+S=3X=VzUMd);<`XMdZ|%1IuLy(R4r&5q +(NuV)ePZTv8y#3k^R-J$AA +JLD#1M%WLKGs4+!Y{2|!4&uyk0CTJNyGgHZ&^-k8=~ArG5#6{hjbxiQZhSVAlP={uSp(E~v7YCOZ{ef0HoZ4Yp{NWc(vEwxRM(o4P +f{-6wpARwVevX4V=A&+%CLhUc^0>h-O+Dmak2IMdV9|X8SPs{1#hd7$h8+m}$>H_w+OJrLQ~ERbaSNR@ZYqFc9B{FZupaa`hyBycnZ~21sK@E=3M5d@4ln3T +4jiz#wH6UR$_gh3CX7b2VQ|bB_%lqhlJ=z&!^nvGr0G-;oY57gAB^6eQmTGFv@v`}K;=IgvGG7DnU^8 +Wi-Nd#blsB3|^&%q3)IjA{3F2@M)oKoMCfkteg%)DDcHhxO{N?x~b9Rh2JZgDaI&&krtRi5Bo +eRA$!aOO>SCUtn=H5lbaH&vE#3n0D2$?(w?VmlN6jt!EnH|uSyQw%&%2>jGDcSck2ml +;oxIbV3#SGty3sc&vw`X(V#V&nOis_Vt^0RmWIHt~6lMm@8i_M6yq{r?h?Xom#{W2}#u#gkps)TYsag +YS9x5i!IO_c&>N?v(?QUI5@>O9{x9Uoj3(jl-~b_&HkPc9i}&cyTRc+TZWuwGT0C&$udkf5)#amvuBTD5*KvpmQp_LSW28!(N5RV0Ji579%yN5Xfmd)#ZA&!Xbj)o3rrF;gAy>jyPN$rhGIXB*bg^B9M$GDKLTs~qjY=dfxt)gf=K^GrN?*;`f)ns&m +9U89|3h<998Cw`r3|3dh~emTO7H8-RtckJ&heVlHx}R{h*^{4!?8oQG9~=7(Y5SlfRw>`Z$#BM~4F6L!`RX>Iw9v{95hb +^hGuPgqhd>d55z7+Myg};~%#DPdk+6pVTZ+zu(Z*zP(hS3|gzpH+4hj(zPzMMGqXzS4Sti82=HO3aW17~+%SE|l+5YOPPf_I<81z6z!p)35uFpYaXq7G9F6KjH9$eC)xmJwu#U!uX*$JPF3ef!m8m +5028mFOA3l8g*VTCqUulQ!|=pXalp6vw+y-k?ROa`-w-c6vdluGh=#7qF{2F?O;MFqmNcIqUwfpSVdd +nDHFCheIO8c)hPMPoM_$sY6-l*=M+BFn0?$_Kj~ctd>c1qgi(?@x_##5Zm(Dg+y@#XUfTPM+KhzG9r} +SmAYh(wYa^@ndQOGJZZ!L1F>)g@WHh+~X2;pQWzC&>q$4=&s#UryqU!A*N>O6la&ZPz4m*aP&5%t8FL +qcyh?70XlbUL4q;6yZ|IJ^N$pJ9^-h(u +~_u!@$pmhuKp4! +|brVp01p(Uro_x&kE#RTX$r%>SA<&`zO@7{vKG5W6kcc1s_1ZMs%!WqKdqL1Ito;aJpY;e{4`dQ(jv| +b}vX~-jHv+a@CjplwNTYHXoG{C!vPKOU(8pEAnV_v(Tp;&mal~>6R{T2!Le|4`=-mWU8Kp9vVgatzsR +f+eR}5^@$Ioq0%P^OzEz>pZCB7(O!90-Cu=9lQ$c<5yo@}%jXW(gix&4H+!}uaSvkOw?a_5NZwK{Fna}qst*j +rH1Z7VwicHdFb{SF7oi#Ywh0B~h1R8Xxp$D<0?TC4qQ+geL +?|+m#+g$dIS1b?BRGDLjOs1xx-Qz`}PIuA^;Srwt@1()HoYfX<1A|9p=kq&~_vP)2ztc!=lBOm$j^LCKifylELCa?&iJc=-`Ds3J1Wik8>!k|8ZcA{Y +@N%{S6$1{R{`~KMc&k6iK2CPVL|a+r#NSxQ3ZM$fox{6Abp#rjJ7*7e6q}jwuT204f>%>DD6-9CU=*p +E|@L_J-`y?ayaYvIFL1*#TLw^s5Zq{*R!KF%c3!4*fFYg67An$E*r=ltjp1afN*5UykAD;=_qmARjG` +5AAi19Uv;9j}DIf6Zh|-Glm?~&Ic1%^3e^6kJdhfI0jPo>xZ$U&m{Q*g0LM8{S^-4=EMJc%MUmR3GBe +=Lg=zCF`CzTR$e!|`D0TbOZ-gH?QdhC0|EixVW9Uv#Xx`J=l-V{=zu`L2LrvieJA~g2DNVuTYD%cv#` +Q)d>7p5h%0E;=)jVbkVK+eb+Pe60Glg>RqZ~x7%n{TVBRkVwpYOMH +{Wn6wPD<{1ZxxpLnGSnCEA}-EnL>@e)Uf>x*~`QX=B(ANw#%#W~l3aI+NIpw}YvhRZ*pboj#;9{-!h +1OFSw1OJ)vU?_ry>D_o>422^fv27AN{!3HT?l4dqr>UPZ@g4j^pDx;r_)y+cM?iIS&VEM0vJV^az7PI +s-%WpB_AJPQGl9mBvS&sf(aruHCO^86aC$To?{V2~U5*#YksL!l5f{0CpMPaMb_+pdM?)C?Avih=1AM +fe9ZY;5W) +iys{qyyBY}~}1{%Abj|HH-u{(omYjMHCqw;JkHH`xw?bOU-wY7Q?$4o6x@aW%lyaDuMYOUV?LlrBtH7 +ZiPJmmnXQd)jg1Xe7$H5(6tqpu9Ab{F36A3lrd0O=H{*(8-f_=9zUF>Pj6s1XQFYEE8e3F+@^#tNa|6 +K>c-=3ixTI>W^6};pBC7EV2vD?Qyfuk=?rEBr&OpJE3T`$B}DeI_XI4{_X%w|4W6#~&)1>?61P$!pQ +ckz3m#T^=7b5tKPjb5PTfN9*vu&H)>#qxA9@=2i%gE)#h9_n^g}m}!B8F%fZ2;vq7$B@B!4sA}$f- +{l??jcm-dhYq`38JRk@CvBk6gxIc3w;DR+JL`u(og#W#9`DO|2V5h#ve_MxjGhdVfb}4^#b1-Z#B>I% +vTlttH|}~lDTv{CM}rKk9}^qjZPOLm{@zUi +yPtC1MhJE83(+h0(ytck)p_^1UoAn6D%u~G?kcOvex+o6x9B$0zffQ=2`}<89C4?2Y^Ot{D4|3W%9Yq;U#X9X +z8%&cZ0wL&R*h4r#Vt#3QekJ`c8Wdk&oJ3|G7}@fqJ}QfY{K+X1gOUJ(Pd*rqDmJTwsb{e%*=5npYB& +lgm+)XS6zZ(7byDTUU|8??vwlk*r-ff2=+00Udo^+_Tu_zK?B2G40Qvn=E6j>TXES}&nRdecv^5lE(j +y1w4TpqHnDMf0Q*#l0vsm%@{H|aOEEx2L+c*q+N~tOM%#c9{va0r#xSKu<)di|_RuDagJe8wXpxk&cmc3yL&9_F4(6|`_~U +Tx5A(8-1IhJ}NLK@6#Lh{NF5MBsdGg4J2zO>-MOma7z;aa^5k1Y2v|G}OTIpkiF?5NN)6_@fBbvbILQUg>1MPb~Nz?uGy2peS +DENcStF}R{9HUspGxQ3?HXgA(H@bSt=oz#r#YuTvcCS0Ecgu_{Cu(RVE_Zedw9l>1We&Dg2Kqp6> +j!uC`}JOkwc;sKYB=s&#WYY9dXRjoJt?D3r_zFDULGGFBs8}*&O=lT%bQgGe^jT9XJ8|q+jUI;AGAmX +CTRAz5Serw(740Sd-$&^z2|_kH8MO9qcndnH|v~9Uq|>{7Dp{-wI|-afDoZ^ta=gLkkBzGDctPS=eVX +6Fq`3!5yULrsuh~z}UOvh<2Z5T($b8dxE(KYhMMU4oX!nlC6W{;wwwt=OCW54f_lE>(`hK26RU_0yI +Q-^q1j%4cZ*#y>H*$@C~_m!w;AI$14W@=_UX1ih;j<$%?}N%-?-s3N1elkN-HlQee?o_i4R?GdWMFw{ +Be42=s~#2^9vdsxx1BQFk3`o(j$laJrKk=9mw*6|MEvGrngFTOm#lcw2X?Bn3_*4P&|pUQU*kU-t?#K +hCYnKeee2xCU_ge#Z+7GqmW7z6rcaqW8;qedOl!*qvMh!M9L6Z@7rvd>NKy`6u +?x@G~kk>P@EI8ymD3X8}JY>>-n(oCMIb$)k;aXpUzS7M4`qnmU5oAo%g$5YY%iP^O;X!GErek}kdo~4 +?NH<))h_4bYqN1zMod#oGB3 +9c3I*fp(YaRzJ(sch3Ro_Z5EO_O$wEZ)BVLL$-EXdEDR3U>xJq|$g +fFUp4;IHyvv7fkwtr*YNkl@#E7}7ec!pvDs+{IF!iof^4xh@&GoTP8_x{#<+UBVMblGEx&ayn+ohH{x +)9|yVn-*mIN#G|Q*?=^&aj2i3J<;p3eMrOTbMRFE9S|bYOFuKBq`^CMw0VIds`aurcMkyQPzwuxk-3M +gAW#pj|0m(iq=1R`n+iCI`Fi?cxv7}bNjIl?EX>a+;&aMhgn3gl}V!jrW3CXhzr^_dCR&4?b#&vVydC +SnfuDsVkj!Pm|@*m_BS5*zOm(pEWkxO?{A#(Ug~%V-q%yZv@g3;;;Oa22MxeqCNO`}*mBU^?0>dwuPA +{#{Th62;7;2kdWYy5y8c7Rk;avJT*g3993ZC8AKKWQB1ybE=3ok#|Sdg?wmm}w +tuCQ;^C%|(Q9y~&O3sY>-#$u!u5$v+x|J|T0DezsMBrXJJ$`=7gOn;`fIx_G16Q$IRmfj_I&3Op)Hq= +&%mXkeLP?-y4?MzC9p> +qU?w9hFBMkrY9(OEFR3wWgvhW^^)(NDI<}9 +zD>DJLj|TM!*w{RHD>y&j3qE#-P0%hPxNy?7>FOHFSHZ+bfl{P*C$u=?GN_$nDg$S6#gyCf3yBe`w$E +N{^x&F3+KP2;rPFHlHZd(KRv-8L~jTb$8ne;Xas>_5~qJoQ@o=s;;4FMAB6OOsC%y^N6~d#^q!|!_ry +8En~vBQ7~up0VT9lg??DnE%+qgBR#taaXU*=ObDeeeuIS3>L|B#d{bPJ)3iOY+S^mfy?rR6_PoyqtI#(xM2J1pvU?B)Z>yVkx@JRu8{mU}mFS7F-LIC8_9M6RZon>iY +jH&IK88)u@8;RJC~-jUz%UJVGsA6X3fq-BB5W@W?4AK{wYd)k0pQvjdZy%+lr`E+Iy9Z?uJf}d;VWjcOnJxDw=Ts#-gL-&|nkPoF{V3!*HW+oVZli%f +c$5{uh*I2v`(Zbql!B+kTiqvWvH7nXK_mSJ-S=<5MZnMYpD=L1}HQo;RL5f5A<~_1I0|@mu#D&lc@R4 +9Q-v{qnzpDK?^X*OAd%SxChvgCZ^hkVLB-+uUt=qPeV}bjhq?(U^$na+xTkl#H!rd#@3O?1Aa7M`~f)s@Fsq!X +}oni_G$<8x6&@aXWr$75on#LoRTX~ZEmHDkewcI^C&M|d60R@kwzWnm}V?x3*pX=WjPo5Uc`VosO;k7 +y0~CHUzV#_Ts!IH2W;Xc1ymdw#fOZhJrUs*yI%qdzOV^*c`gciw+@q?TEiJ3O;I0 +sJI){@*+fOa{mDO#PH2%3oE-Xt-j)6eDaZZ+-Jdy}^1&$t;XR1qglHozBg3ia=!!1J6Z+!%0ywr0c;~KgAFtcuydD1=AXEDq{Eo$+nvb71_AwaOnGJF0shkA7;XCa7 +8cF|-%fJEWF64?jqcTD{>KtU{rAIxOUnAk{pJbnX93^f0@|=>}OgzStRGm|-@KSnH7Z_erph`fqAk&C ++gJQ+-Mkkk4&(utzA-B=EE6hA9To!}azrd}+rUf5~&ueq#p1kSPnhz{p+iG=(NIbzkgopj=!;7zo$Vx +Yes2##|Q0k5dk7XXsQ#ye0@Urvd?DcI-#O2TfD$GPU{X%@SN@?$OZL*{lPN1=I=G>oJ3$EZmVykGEOq +uXYW!TEoLP;l4EdEu-XJD-ll2l<7CRb~H>5aRsx`uGaRkr#M7k}h`V)6g)xX8a;{C{X!Mo1VYXbguTn +5MTM1pT$U9kP#uq;Es|50$IEyBPm1BKLYW61-bn$X#9)+k0!iT>C@nx9}~_8h!Z1!@EE5ZkUJe%|0-) +uliWBFUKghpLloJLEf&yzZxZm$UT{qye;##tM4s7;k)XO?s=gNub}i^bPtku9X;GP(r=$0?0xz0ZFRp +_@870;(T7h$vR^ye=W+g0BvxHHj%AbYxf~^s(q-cd?&VKSy6;@h&VN5Ah=FgGIP4!(q_!C4f3ESfz%$ +mjB9O+x-_}5j8J7+OF4spA +$H;jZxsVjIAWv#`!QGC>0@RvnL6%=NeXh)x={(|zxN^{Z!W)hnss{jr^vtN)d{=QoVN(85@Jlg +R+mjFVwVHd_7!mJ!mt@lRg3vi{1Y +4bDwJ<8(>#on?yb8a^3w?6_5|>{9^RY=vvuXx`^D)}Cs8~eUawf_9%mKe!T~*pSe<3%Q7Go4EChFx6; +KjJASt*fK(G?3_VOeZj*eCTgb#O=Ba&j>0H?~7l8^JVoE0f5$_irf_qjLqjhi~-Y}=gVo&*4$4A4%km +l4yEi=jlMi*;J0QeNPXa#qD$zkv_O!LeyxkC9U(3Co32)Jk*Qoav#QKQ1{mLd4rS{`OE3QX%Vo!(dA>^^WYK7?&_pc(6=qBD +ujaSl*tNO@Si{K}dNlJMh1%9B+Vk4G|j+bYbR=n-q#Vn9Y#6o}Qh{bM5r5lI!#4c +Gd}DPaEv7>Dv*W=HP}uK({QsHfGXikEZRtx~E}(^f`(?7mxc51T;5tf@^W%9-T^-Q8~k`x#2ai9nT~U ++S;X*2kWw`2dL7T8G{ZkKGxkGXGs5rOsxv+k~jjN=DKlPJ=6Dab^G#M`lGng7xf0NGuj10$7Z11rG(i +(=2t^7=KcPn6>o;k8^FoiGrBBl5woAO51EQl)ke!34jxxEUB^q>WxYzO^e%9tOPBltlB6}S4-f^b)(Z +e%qC?)+6m~t6Y)P4SVV(^6#;l-zdB|rJ9A3@r&7D89?fohblxF!Q3LYT$RSZt*0!YjWje|JNM5|?jF> +V#b$BW)y%;J@k@r&ml#?l`mh7t=dD(i#CCX2{&jM)bc{2+ld5uh*iaU@K<7YDOK29rPBb=5j-amDm5u +%fAj4CaXJIos_?&5~6l99wohbM5Jg0#-7$#F0sQB2eV^6ww!G9fYFP_*V>zcc&t;z)p3$Hc~2Q`a{mK ++Xv=+oa4vvVxBC(^i+cTwohSrh#c3cP3Bx6dq=A;8dEg3bU%r7dwAivEbw(3Hh +OP;OX(_oD_{?6oMf%w&78VKyaG+asV44_oNMi?&UWq*t@EC^W^BQ4@m6EC_3Id$9Lsd@;4&-dR~rtds +wA=m*p;OL+-~BZ>7Ez+OtpaTXbe0XA9pQq2ZpkA~!JmE7RqD0*~5(X9$0rc8lL;2NAw^p3~_5>i#p@M +Q%3W9KY?c;9!Tl8xp3Hy}v0*_Ez!j=I9S;9rFE*`}o{nrljOOB{lsaB_&&&Do~L(?A^;>rlg|(3sX|U +%3QyjRsN8Y+J#N`)XPWF647{h`hcJEs=<5BQpUg4EK#k@rZe14nLqts2+eOA>wH3U{Re1nIv=UHzi)} +j8zsn?gAaCb8-^Poq8$=FmnZKum{d>(+v;#z4eSC-cd^t>%}labvz_}SHT_)%gF8C#uNrEOylqT61F) +UK5UNz%VX>7wtqF)%0_KT%qD%3~5_6kZEbJ!@ks;_TIH`iJ7I(fP(o$V>h`|BW&V}Rcc4;0FgsF$~BF +OQ$!7e^5$T?e)2##F0#revluX^tfCSyI?Qxn~xMG-K41iHygoQ_kaT&|C1d*daT)*O>1hVj+2>nn?ye +)hY(S<&HA4j1L6_G>HTY$NB_BYprT9|F^b(=x4pAWB>;vbI(?Wa{c}ThTLeHRQVA-W?U3&-1og3AblE +)Ekpdec38~0q_TlXoQme9BcDdHvdUo@7Pu)yo#_4pI9|L;J(6ve2q6jUNY$iqO!E(-VvDn>z)5(Ikf{ +O;49(3{0rfQPy0;P#^4)!of@i@B1CurQSox7?yy{7h+BKh8U2fyA#sc~aUb7;!#FLEa~}*QelAfK2jK +x54`bzTUo1YIZ3JK>t#`v?&W;lKWQ!|*G7gO&qNgPZVawK}7-jX5^GuaL;yjM_H~sE&DC!*9Ehk(A5i~9|>CFs^~IFQB{* +(Ef#I}fEuIopSxS8*(sOeuIKkJA{jCvcD%ylRd}9Z;+cxQc(b<4Gz7(e4H?^lxPns@i4z!v(7Un<3PTX~W%n>e>@}KwafJ5fofO_XafA1N(MM@1+LJfCa0&by@^$xcNd6 +XtdnXU{UdoeTZ|ot-Jxc{|%PI6$J_+^$QyBjiygi&Tdhheu!rU(;RPeo-hzRyP6_V`I!(p=5rINQnX9 +Vw{f}(fGv6~JNd$Ed4_U*g%P`tMj;pyAtDA-F*``mlFk9%zQfo|A>{>vsIbf0*q-0z8{WLZLJ4jAoTe +VJHF`JbAE-eVFaqkS);T+KQWg;g_|k2?Q*^^Ug%VOyL;`j7U?8yjcncYp4_07W9beDi?Zm@f1BTyRhC +wo|+e5$OAL{O4i~d})liE%y%e$J)@gAluQZ+Zz61CUpG14R~)XS?Y_q6J6WD$Tv_TT*WKq-L(10fAGP +5L1v-+^sTmHS1y4ww{_fFYueN?9HZ~j(UFORdvQJ-sQ=fG!8ZO$(sv_48XKP|w2^1_q_#lC!@qzC ++RFyE*QG|--D^tzm0Wbb2cgD+S(wrP$X+}B-S39Cj-U>0I2m~%8h!{y*_M_mq_aK}`?KfASp-7@T^U& +q5DydcJVIR$sMJKv1;OW0;M6x@JE{*p%#FK$gU-{}6qv?LX3&-D_Q1EiOffe11gGQ7Y-7rxqVL>+We_ +UpqMuD2%Q01ijQt1HpTE-W(2KBLC3?#dSN?Lu|NQ&#*F6t-P4AF`xN^ab^g^JD2_)&OfOyPyE!xs|rO +Xl(GWXKC{9$9p%Erw$_1?S0Z^f)Z~pdBvr;Dss+*=IKHQkLq4g>vI%dIdG_{`cazRq8-bt0)-7L@wzg +DhUfS93(e&1#L>dU*-NQDTX74_Pgy%)refb72lXic9*_DdTVDG|Ysa^Yj|%mq_gYFWYpp(7qAeE0aYF +hz87|SV9nm@Nxfun*B$=K@kAQMsm{TXPp??7vomaB$bJEttA*CF-Imw=SR5topzjQ8E?T&{GPmnM2CS*)rxpwsLM>v2fn`p7~pRsnC!^NY-ZM6ODcCLl5%|VQt=8z_w%fr;I4 +uTU3*Yrk23uBWou)+(!iPw*IKm=Pbh +OK2K#!pBq(zzY#v}@NCut2QSYEnQ1V&7@=d1^etjiY;TA%7c$oy)KH35zy7wl7}G*c@M4wLWUNcm!HQ +Dpjhgmr}{b;dd40$G^{;DMW%uaq`jlyOeylYg^G{#n@s5gA@kEp@*pBM6r^TaXWjM?1kBWjUW?vwS4a +3j{qPKF%Kiqs#D(yuWOKTuiKjDaN1osyomBKYD$WnNRc>Qr;))RVwp~C>G>RSbu%;;A4oNfD +bRUdF*Hugj|OeRjoqUn+7b|>Mp?2aQtS-A(u5i+s$jZ{|Jt|acx +viMCQ|3PK)Z-KGhE$6=l8vg1;{|FjxC;0&yVl+-7C2zh6K@^sP1=hI^ +fIm*a!pBf`OcMw-}jMKtoBRtw(K#mPQxwtHwI`>C;D?|k20-Q6KR?qK(S5>i^#HwvTAUa9i+N0o~nP7 +0n*3hbCk6N)@Tk~KE3V0VXE9KsSSq*XJi1EG%WZ!OAv7`we2n +ZQRhxI^P4u|t8;`fjH_O+`hJ#l9eE4P(Z34U$fr~b@lGggYXJ2&~WiX3)~a%KIId +<`$jgxzj1XW-8p~!o+{e8eX`5ZY)b$Q?@9T;ZVwfReGZuZZqy@RpWc17Eh;g-Yyq3L2>x>(`f6*JT_E +H$4}Ep~Tb@Vj@$xOXx3@z|mPqf}-#v7FA9)41Y%=!PCGYv?mfa%m2QlAB_H_R2VC3+f?T;Qp4_nxBKN +S=9CPv`*7RdLQ>L2s(nN#n>H}a<--mZPUr_?dczO3hWn*Fi>?~VNTjXyl!-+4UXUp?R7c|71>J>TDXJ +m6P@L|@Gjm8)N0bjh_N{x;~fh%~PUph4-`HflNz30k$$2|>#|f86{rt8al0-;4);;f^AYFFC8Qhce1< +7sh;&x0Wfl(2@drVi>bSid6$Ob32kf-L>uIArjsZWm9sBZc;zZ>)j*do1maC5lQX*>Tt~9D@!y702WG +UxSrA_zL3RH>{=C7AM`LJQ7GK4V@{CdJ$ZjF)C{!hMj5Bfkf**)(1IlMOKFawM!9*Rv5|0DTDL0_41(8UG0E +>FL~`Y~#hxiG-HzJzz2*Qkml%rfBp?6FEa@ZMll2Xj#grfoh|>$bHm|H1oJP;#Ua~vynfsOl&&m^iU0 +s29WeaZ1MI+kjX31Wn8&iM4%>zj5Z!g6VYCij7oA{2wknn6K2s>|1^}ty+87+E?6sY2;*)!KgAM0QvG +W*QFd(`9Lxq~B2B5C#I_6iBvz;-)C;MRb#x076%)YxkHI +Z0Aaq4pF&HgSLCnmDb{&5hn@y1>oE;%;9DJ4ax5sCh09HwcBaCd&xJmoAE+g641Rd-+cD;ooV#dG-Ew1?X$4Z_9t8`oMc*$sYbEDnO9N%b!&L`Ns;7a4r6373d4 +P5By18?9^E%&UxbD^_n0?$`)3qY>w-)(4_7s(MwfCcFPl^*%DD{3~-gh=wKdFM$K8TUZaTh7BmNaSX% +{_%47*Sx-5L8)9WNTpa$#mny&uAS2OrD0M#~NgVFNg?oJB +2mq8^EswMt-LIE_F}vn6$Fsd46zk<%FRh-Nze%SHGGo{+aH7QzE-?C%od6Gx)m0rr`t2U_KQ?pA0V+U +G~}cG5rGJfQZDGq-$%}d$YkG(%DBnJ==|hJc`qJ6p@##u{A#fa$IW~Qii4H)1}wdlr)l1?4=RAjSCz! +i$~Vc_nt~llsF5rMbpiZ^-oImV%>#7Z53I&3vT@37w3<^eM%kvKmTPCKdX2AJ16+A*75ZoKME?sBuNk +iOwuHZVHmwD(QiQ+LLr!dX&fcL^fpQNkh+oL1luY19-rTt*p1^uZ-bIuoIcp2?b{yYYi|>1AL1b16Pn +>W@&)kQ=ltCl2fwedo2sX~w#S}yMc-a18}WyK6_%qtX}euFP2QBV{M0z)s<;mkB?m&`eD}AQ_WO(4_ZPpt_AR>ZvlpM{am@5#w|kj^ +A2yb(rdiA+W#6Q}=2!|vy71iD4&3;=a^fzWs9LObE|2#12**#=vC|Kau)X;C8Z-a=+VACY;4gLS6-Oc +@j7`)&#(uM$j-sEDtqoFKu#jE<L)c!i8PCe +&-RzLcSNBG;H$zb3^)CMOR3XWd9L6Aq+v`*ZX50Sla34-yilC}}+V=dr1GooK#4=`|ZMAi%_J){~d;d +w-@ma#2h?!{51yJyp9l{>aV?Op#KSO+MYRfig3s4^^%{-=ou&maf~szalOZN>$PK-^ed<1#qTP7 +FI{KA#c1aml%hSYc^|gvKzb1#fW=KC1b8@Vo27J>>V-D+MB+zfT~}nIp;RhC}3Cob9ZAuhwMK^Zny$N?OgL*bx@>=Xv4nY%^C +NJnc#2`mhi8(402pJdPU$TkgvW}RXQjYOcm<4O1G(bPPNOOmZm9_p?yXF;?k5fZAE!4$7q4C|Pc!$Tz8uH)vVApWym>p1nSmJInliIHt>%ef%$1wvtn_{MQFO` +hZ3vx1%Hde|^5T;j53Gg>G!)4>EgfUA@s~?fsMlz2h+Yt$;hWd +)wH;zF#cxP(FMy{zA>Lj>e+A+8-b!dE#c;HDVj|ev%r|(K;h{IJPWF;d9PVShM7q~*;CJl@+10goK)H +)|;JeXKi0;ZA8_UM=U6Ku^f1~2RWY)o6Ku^F=2zQaKyUU-*fIkh48B))#fC%DGBG~M(Gg06VRFt>)-z +zX19+Iw5ZTrqpC-$+}7|kct^X+Z>u4-mBGz^4|`B`lcw*P-c?YZ8V>`|Id$1UN#jm1bp=l6?w))1L=?KcRg5hEloj1@xHT@vbI$(~3NCJ=PXL;yg;>5kIe-9XjdZK{Hh~O?}Z)!$ZMNEFY`PbCs%CR>q~c`K9E>RQ$R$4@H +%4mbW$#LqVrmR|cZQB%I#* +_8~eIWI~g@%o;93tIpccf1e!N)<;+~_qj2#>#{oe5SQHJ+pCC@{=Za}`#PIiV;d_1!+9P88HZ0gVGWuIW{fhqvZ&{+ZquLf8VRRpO+uaU6%I?vgtK2y97B +kWJ{MZ(_H&VSPLz6w5x=SiVd+d$h+MK(eXSkQ!>9;5n`IjyNg1d7$==42!hE;N(ok8LmwAW}(8O;^K{ +v>t1p--NbzH$-xJy7PFZzA-|N9Oud(eXnYdT$)MuJUo#fXn*31ke^JRTJKC@q?y1EF2<;E%WSS9kN(^grQaOQZ_vVa%1plk4M-2K4k71 +h*J;a{$fwc?U6j3#|x8}RK2TWz0tI20@3Zc2aOS}VJG;o +97rd}>=-do^GaXz26?&Ypnn$(51WmtHIX$On*5)xRQazX2GO~rnWb?)yMYQSVmpZ-Lph)Q)d~II +x`b9M8GQzq<+2jPd2}#n4Q@gVnGXk*T~sw0%{qoW>u^Qv>m=+(Y>O(opuni<|T+{x7CZc|lqHHNS$fy*>ET-ThHilzjHtQ}m=TRkI?S97u+5WP3)}s<_Z|g9WAihbQKF$qV+hmAk}d +p65(uwSM^ST}o0{BW&)q0IbPssrr8i;EVqJsI#_ft+F@?qx%e*jM#vYnSmJg3+u0yUKFOYkTpHg_tsE +f{m0Dpa+ujOjilZ!9VYtWrBn)!ouHP54>@@|wqp(%W7r1^pmoxmat=Na}>ezp(qJZAz>Uw)9X{?bJKU +#*Y8=K_hJsHf5%gAOF^C|+^{!MJ7mwOwA>@(a~3s?*cs +2o0PZ388xfD{}6#B=LeT9J-FP8M&(D7+G1-gFMF4diJ*%gCg${~u2RirPAPSOfYxN}bg0kd# +8b#RWX|GG_t58Mndjc(|RMEh4db_jfrCvLutFg&|Ksn-}(VZ55tAchEcRq$^w^MS=kPB-T9Ir=7$EkZ +NrN06d$iM&spwA_LNF*kJ#!92XaWNt1FzDPWxm2&Tkoq5{5hVGQxo*+HuP#~rT{NPqZRi;B&=C#?9cT +a`!LWxtIRUz_0hgn~Ua3cEQhBv4-Agt6M2^UIk1ix`VOhGP2(Lit>@ypC1l`1A!2F;Y@nf{A4`fD!5b +?F>iFdaC>P0XgO|{9OoM$mT4YTE$ct(xuE0rRC72MpGWW2Ss)lGN8_P~0jOElMV#ui9ak=17C;~n#x&U +O?txC6(vUkA9n(%4mz?g_G-ml_D8>Zbg1SnQ2j67nx+hLG)P?=6CvP-hU1-YC7hdF8-X2_gd|sg5q}+ +2(X?SzNg=&p31B;haT^J7kSb7Iyp4M1+*?Nwr9yp?gryQh9G~%$ns7WK{jeC$p4~nmn`lvZUfbUiI_Z +ta+2QtLg&3=m7pBlx-_6{k+nAjg{q&o@$Ecq +{l!Ha5}f)B!V!1w~n?$4@;532iqh6@6e`njL}Liy1YJ;10%v8rbM$>8{*RZWz$Sv^+07b$&vXn%BM&N +A?Nr(#B7kIKifplp$7+foDQi=5182X>yVf#md>!I#t{a!@AVO#U>V>7N`p4iRG|8{g9kNa6sGuGa=}T$r^|Zp66G+$4i#tN7*wQIb=hS5589pvx#=tzXimlzL=EoXvSV;}WvWGmv6fKLGBtzFDNdVKDR2;(iyi0Vrp75ds+Pv0 +Bo{*16hmksMxxq^*lB{?Fr^6W38n|6;9m~qpUpY+2*F;))cQX39cQ<;N%9b)>zWs>p|6D2uU1{f}<2l +Si;Q@@fvh$I7i?M~nk{9h7NSH-&-Ai@mlH9e|4qPYJRDACp{F+9 +o)A#!?hogx%u#||{snMS{X0ONeDrW9M-CGQEaL9-p@Joc;~t=Q9L@)oo*^SUu;39w&ZSP4+M@D$Ix{G +OvlgV-z$*`ADweTZZ+4Bjc+OqdaHJeWZ2D7bK%6*jQaJYt9uFSt +hq^aPwvX8W!jlyVZ)h%(W5SorScXqNft;(@Rl#K!t%6%<;NCZ=G3yHZ%#B)ZI_O +sJCxvyL^9UVg^>lhUw&Nnnb&(lQjCU)Yn)gu`u=r&En&Y#937liWC(xW4W)bZJcwf3_P;%hio+xZ~}~ +<0fDRvU%?pfz0k5RpJ+2>MAeCZZaPaL4}~4|56So)1$+XY>${X;tq!s;?PX#cy9U%fXYUke4TgBC)Rx +AsaHq+h|E>N73ns;xR!uwURg54lmgucpjiURA+1}C+>x>inHqJ$`J#h|^ +yVFS=zOC2jeIjiGIJ;OTy^9-ccqa*WT(g^+5Wgk(uS{>>I-eo63o2~;!5^Xq@w-Fs?RyyzdmF~yW{2% +iEO|?D2J}Ahv8SQn-LEZxcGR>Zws4=dBjG*aA4dCC|0-S2@67?e_#<#amV30AOmU(3YmA&F`%me5>F0 +F)KL$-ZN&$WiQ?$PXP5bY_e*&8Jy8-?lXws&*WG-wLeR~gNmd%`JcDXQsoSh4Xxuo{0OWM+$I?qlPD$ +3oXs1S7!pP*5gb68Wz`JmLo5`w1`ei*0idXCwR13;o1FVmMfEe?mrO^ij^6xgG14U5-9X+g4Lq|%xj0 +v9aTyficHE~a@xjz^3LN(Ny7o>vi!OTL-9|Gnb)A8X^lw?T83vI3&xkTLfp13DZZ$LDt5CZ%6LyXQ{l +`v#nwJ=dKHV+Ev~!PJ4%qbi|hV +ZwUas(DVmldaJ59gx`nC{QeU|6-;KH+oPvi7VOqHaCh3KS#*BIVZ-g)G-wI!Ub=0537xrcNLJ% +6oA#96PFoDA~Mo=_DlY28SOd?5nqO{jqAbje) +R6%OTP^o;hlBC(R*kNetQGNdo0`{%I>h8?6u836#YucWeYXYTR~=TT}yZQ-z~;s?*L1^{dc#B8KQfVd +}Eaeyw@VPK)G$)y}3W!Ac^-BSg_wg6zr48(OWKf@}A3HjszxS?Sn0a#>9pRLe)n$(3|`z{QvQx_V{?KPx_t4vA9PY(T8*2;{e=xJVxPhyu){vj>i +!%%C;y{Y}Q(rAfPcY2RSn%Nxh&JhNs8DJpjLE2_|f;!p$g>19gZ<39~w7Gs~oXKc{Q`C(iUV}XtS`k< +6cT>d$HwOjbAn38=sf&u}YW=^PrUt&(`%3GID5a@>a&6LY)uBM%Q1~ESj(6H}knq6(!W2=6!Z9iNXPG +in9(1(xGV@8qmJ2|*tyB0jHn18NPfw1objjJ9aV7P6_Fg&luX|m%GY@)(>+}r~DC*una$9#4(h{#8P( +f^mz7VlW}Q_%XWeLq9hpZEJAVj&nw(geLBEtJGyd<$7H4P!WhlN1g?Btf7sLVjszLcP_#(>HR#KE_U? +w*mLN(6<-Uf;|ruyi0f~^>xIeb~Lu_1;4S;25vUY1yg%u*?tBe0|0MnsNg-%uw7w`l327wnO{UK`rY3 +Oze|TCu^$Yw?b>0y$6AWoqumxHDP%)f?>h_L5NzA{*AuJe99f@8f)HnI}%+2 +>%c^2byG|6NjiA1?jYy~=*HIDANof8VC@&#;lu=BJCe`PlRU4->z|5-RPbc=HyC{Qet;9RX#H;U{DZ*&-|datQO%%?*M0g%!HBsR4M4U_UISPInQJreLSbg;ZDpWj+jI +1-2Q#}Z)nJ%8eQZ9j^0Z~hFUSoGsbh1#UNTaP4koz1+$XIjy*TJ|e7T9L2 +k_8vLb(?aKIgUS(SC;c?&62H#|9eAn=b*KpOtTn +*0Z6hV6vLb0UY#zPyZDq5T({M-DRdBL!}6HvlJQ%97Cas>IOJKL?w95WWO<6vLRunW9MT$qAMF`UXrz%LhVP*e%yhKuSdTBFgYz1luD>UK)VlfkfuC>Es`RW8g8{413c4{ +3XNw0dL=Sup;T8c2vH7whfsZ75VdaTz!1K}S*7q=2AmiJ@^Zw;J;({7>QwBO(kT +{JtKM3-cD+lNDU^a}AD+RHqR&TUeQ(OofMGq58U%V|!XT%3(&b9UdYvS`HQ+ejsAt`{pRUey&PFQZ$1 +>WI?U%`Qu{VJRv8Nh3f?DYiG(fmq^W%4QwNq~n#rkR?picKy*d7aFZ)wI|#FUzYCA%~%VrN<=KOG5_0 +Yet$!a9*;L!YW=DXjgUQ0%fGVRfYNM;r>v@JX@;T7G02w!7Eww)+wZiXR&bN0(gbEg>P2kXtX^~U)#z7-vh;MN(t!{H5ZSnvc+Aw1>n1Tp^*6CLLvY2zgRuWL{j-`Y +a|8Xf(;qyC7Kes#nThzTNK2tr5_#|ezuC>^~qe1fJo;jHeMSg-^HMn3H}2dO*^7T0E+*S;qV_nak@88=qKiJhbp65&(Qd)oHdD+{ +H?O)aQ{?^?9f4rT)x|@H}6m{n=QFok98?0crcMj);_P+KTnT~Cu14j*Gq-S5a-4eacbJdVv}At;ddEQbHuoZvaG%=pf^MVIn9Fk0v|rYK{1Lyq;(256n8W(5t +Uz%BgE1O_lh6FnO?Bfq^=O|GB%D=L3amqWF+fi9^0#)^V)YAfp +pzV@VX&RtJak#ZA2~FLH)O_NHLw$e3)ot`RG~iZ0v2_dG>k{%7#-ExcJ{>rQZc+<*-oW)m|`R~IUOf;1(dsAAjKHEu6#Y&-H=^piG?&Vl2a4xHAC@w*- +GyA3uW~YNgX>B8JQ8bfV-3Xo;?88oqudWvos<@?R5`wg}J4v&BqgK2$w@)?Nq$sq+5)Nk5T2foFP +8!x~<=Pl50@Dj|Zcgl`#Nm0Y=iC)3#AXE*QJ!OM+yXwQ@wc#nt2PPbyB7T`fUPWuzo1? +Nn!m9)i(6#A3&M1i8`=*Q-6BHD-U#NGJWVKk7u%j<1{vGr(72%jdAtL1L=>oy&s6ch<7FMElT3k$V4S +PV0|jlPa}#M*KhSc;GfQp`$CEebfBhQ+|j-EIzBb39+G43^r|=o;v-JyMT(*hW|eUuBBlX$TRAxijpm`nYvo@D* +1+PId=?H?eC*AGiNs`dJRg^lBdIml)f0n18I<$fM-O0k&naZoRaI~lNdi{n$lQLL?*|E`N}7{SBNKvT +Jq@6eTnvvrFL=w;h0%fs?7BrFz>Jh|9H5su4G)5caujFQV|*bxe(Av)jrxFp7>WtP_p-*>vwK7*@lvY +ui;TI46qEoW+L*Ftux$!wzM<|qt23B6x4Z}|SBtsHaJM*qdpd#)g+9V5382wsn_@Jdh1k1i;L!(H&pv +stOJy^wJxUyGIM1Rz&)5Oi3Wz~3+|vx0`*Y?b0@BCDUyx}5C*sVz48j2~gBI=N9EsYZHyApZ$qd`Nt0 +~7;iFqq1nJFJ$!Ju8B40+m@|lxa#N}$M{y4KIY-Stzs>5=Wd +vbUJJ?&LWlMcR0*Pm3$3pF4um7v&SIK5U#wDr@ts!yW_(!R+pOC*eOo+B+By#6whdJ9ivZSbwt`TRe8 +UNlQL7t`K(18uP8w|9dK3Q-%zfzY3Ot^e5y9|-H`tA7}zN6;jUVK7CJ5We9k3?t|bR>2UCq38y)5QxM +H_|w84^u{A7wCA1>axcr_;a(lvFiVi^2gBg4LWb{?LP+xSJXHKIDBf#^Ft&rHecbIk7qlTP2;S?52=q +=OC3~+kh41&-zV?AB=&w-~6~Ei4(H$|x;hqHxuzj9xg6|1%ntbQ^qkW;hIQX8nLWXvu< +@je4De$T-B`IvU>eiTEid{Z;zy(#29h(+OusO +M{}>dUI=j73$iGgCFWBX9|Rw~rl%2+IY$g*rbL`53gTpQR34F2AEBL|uC>)9zs=y7u5n +x#(Oc*>7Yb<|6zNszbrbtEzgQ6}ink7`_@jLrwC94JZ7i!?@%lVY?ttkxrLXu +DNG>7FO0QnPObUv{mYt{#h?dN7OvrO1ZZY;^ZRU!i^jQdGpQgD^ZiEt& +*e{p6{F*AQ1@?}&iJklPLmP7q;)# +||%jt-)E3*7wOR;K&w|b7$`{h*i4vI!Aby!gr}iJZ$`focSl`0^d#+u3t`OuC&Ha&-3*rY&R3k++aya#?+eur>oHtExi +*BzH*jEl7kX}5tFZp$`L_-85XOS?tO|G*T4ieE6F>;Z#>Y3dkvei(AFxo7bGcLB0kzTKza*`I7=`VVs +XQxae0EiVe&^Qj{K+#Wli;rPyO{_&6B>h;)&unf_>v1`QEaKJ4N!GVuiy^S*26MqFZzC3{86?8*6q>f;G +@W6H|_H16}Tc)@Ii-`tV74a&+Z%QFnidPvKMFcgjf)Sip}C`JbhQ4d@fq0!k7mK@kHrWttn_N%>0 +QW>=w;cBm^S{*g`#DwfR9Z<32`v=sl^BLTtj*uv>FrqR--<)jY37{3T#mP^HCe-sqj}rk~*yAhnwolS +4elY|r+W6BjeDp@y+wIf$H0teS=#6=|6?UfFTbFJF!V$H9#cz2bg8VZ8%fBVu+T{blDq8AQ +x9l~!XVgVLPY1R?kKsF6-wEq*FHP}X_^Ub(tD2TjYn=8$!ianuhJ7(#ZYFC3zN>d(Lr)PKRIso1P9=7}1}QP*>XLH?s7{1lxPKmv%CV~vyhtn@X~;t%CZ{PiY8cPzFv0vG^@iwjnAev;)*61+ +^3akYW&mRH{J1c}6rK@Zl^?#&u6LWV}EQhp`)!G!YI#VtFyvQMxy*BLm+G>6GL8|z@XMv8b7@(x2P)nP +alm;7G7!njplWiPk5RTa@Oj;Tl;2dHBZ}%FO9f|#+QD5t++CULa71IL +Oul6<2dK`qgy>O*nE*gP&kR9S3S~hyfiURzUsxRhR_ka2zUNE48nma%~zxmF(B$UnR(VC+3;C9hJtxD +jMQVZhcYY&v|f_o7GE4{0JX6=SPg2B?U>G#AQK0oWo{Bcq;pweEHg*`#Fav~W=pz~TB+YywscoPNAIk +ParsqHjznBxWm4oe1+fpL?c6L}0ONYUf&-a9aC8~#i0T7kaUQ1X+kAhpL{`0AaV{?J0g*s`4mrJFqT7 +vcxreT{^Lhb=P7o^#GHKQQZTGh;jDF{6(EkM&_@6HMlN0C`v +3pA#v9lGUUuv!pyW>mVj3$WMUEVIIAMc%cVY26MP;9T~!S7VlKH((Z1zyl(r%9r3!GN8_O})KjyeF&h +w@d-?zMKgElm%(+;aB`Em!n)RH)+^A4(374e`dd}?D%~d3iwal;O+&1U%0{SLyvEBgWk6VcO}o|M?F5 +kSU=d_*{)EEZGW#HWi)+vf!`l1f874Qd*DCW{=R$QKiU4id*E06%CGG3vcE2vYN)VsIlrbEEtp(k+Ok +ef8%Y<_h5*;Iru*|2;S{@!U~yN$BkRbKJqW`>NDGJ8^DxKD8b^f6&YUQdv7kcH7vr#E;Lk9wFX+?i$fi;gJwWyL-$hVXKR@>D37Yz7}9{zaf`TCTvl +509Fncc#!II5a!|3(nJ%KkYm8kM;Oz8qCbr*U=@m7hG#k&<+!txX-Z?0>LY&bVZ*T0ieaN85 +`=ukQj`bi*=`s4(mIuI7s2fDVQMvELivbEb=dj#T{_}8x`yT(xZS?n|hd;ggm%#$}L$E+0I1cZ#J_#5 +_VFH3M8pk30Qw~A=wt;xO=cN&NH*=d6+n{&|?dk2!{=~@J#sxdifcTtsnY?3*^gXtF3kNnE2+?~%e~S +z7_k@u6J;)m+cm6mI?-9vn0ylFC{mMe_BSMLNmEg_(-VESoa06uLOone-Cxz^!%55RyZ6UXv6X{OwjN +h|LH&eg8ievlzus3yJGu+8LULc??r1{feA=-sS>unw`-9uDZ(IDc9Rh#0 +#Xs92@WU3r1^|Br|F7VEL!hD$u+e%`xT8X$8f4!LSGc&DwLDGi&{<89Ue`m7i>;ALUWFfy4=j?&tg2N +M=RDkzFFqi}7uoIXgEu7z3u53?BZ855x!0n@Paf|+NQcx1WTM+kw3*4c=*~5`+^dh6%SJTUK!Jlt}5vtn_^VM!?I|26}zwp}Ik3h&-N0b=6swLNO*V1Ir$K58aSe( +sj*LYxgcV-5*6`x9hFFqqhYHf~9_53AX1z6X*X;Df}=x7|0@Vk +bFyPc4&ku)$yOM`{?ZA~CrqQ`)0&@VzMAo_iu>A(ve!dy-Sl1=ge>uqm#A=J_w)86 +j6UUOFqXF7qfmQkH@p0h_0xLvKq+1#G=lOrgmcvvriuZk>sN& +Vw|>MIKXU((PNvL+a<u;{`Z_z#X1G>j4gvO{1))N?lL!0k{AQ;1;PZbq6M2w?5&1?g| +8$jO6qU5grpHjP`R`~WCF!?tBd)wsa)2iP&shvRgo^iD;vn@%+d#)-;cSyYt6iD~4y}F9;YTJ7%YI7v +SFML<{?vC2Uw!{4bn0gmtsl8;otANEjH!pq9At3j`hVL%Zcn=7OH@Xk-ccbPznYNw0T?Hk(TZ7`A(HE +kBitd%&cZJ`2oRkC=k*p3dpcj5fvIzhEbz;4t{4`n{Fq3a=fS%CS>qJ&L+8|w(*gMJrUO6-M{z}pAeN{ +QR|vCmNrA^1iU4#DVDuPVT!9VL7|Se9;g|m0rFYD{YN?w;2MoowMcAk9pAD++G^15{!)=agpV21(dh% +44u2rAXhcS+xkQSpUNw6$zKW&b&X(z(CA$!@^zd`<$x;Cq}|9-o4)BMc_?dI!;SAH^jfBmWtL-&g-eh +`u+U=rH-z7$21FiPP#MIjWtlU4|XCTSESDH26V7@-h|`qcix@D8^(up7p2Egonmbx^@Bm4l{lYB06K< +>)KNM75y*Se-);iK_pB9kx1{^LfcK=ny#RphR%!coZ`nkCVgI(^0ZDh+|6L3y+LQI0 +C8nW0BeEw^-s+0`_3zH84YCu_TmPTfEhQT7c5#d>Zvqh$Rnr4@OB>t5DyYBXnOg`+N&9Q! +3R7*`V{HcQY^rZ#&4J=0PaQzgoJj0&`xR}E99b0AlO}6t#*hHC$(06|o%-uG;&wXhpz!bNG3#*0*-fG +6}d1OBHTw!@X79j7}uOX^KKUtyo>%jLXd~b<1JNTh4i)imGhm7mI|Di7X?HI5h)I{p13P7%YP+9i5e! +{bU-%S?g{jGfW_96@T>HWDHd;PHY`upu6?~5{9r1!q9A2J{N>%b2uaNngrwk`e{&1Gk~0ACr$YoVvZn +o*fGk`0{cGg-IPvrbdRE%NM%fq@ox?&%rbg!}3GTyU6m7jinDfjDX49z4{9<@&hxjBsd9OH11zux=qi +K*APgmG>&mp=P!@_`2i;$T&qIpqzWh8X0gpHUd>>x}1-igB2u1HV#QWBzo>%F;_HrZJuabcrACk5hsM +hBtAGV4GCW_a1-_pK)aT4V~Dk|8>}d(Bh(p3MOrSwkuj6YbF=mr_1R}puAGxe#mZhEqlMdIl?FdbU2_ +AFN5!aF*z^4SgdL_XPOZ9ndPdXUL3h(*7rv5#f|a}Ajf&<3@*q)yRT0uahN1$?@D +g8F1iQtgRIaHVRbSWNHU_A~|;lA|F4}lj-j|FUp=459#3%M^apL6^GPBL9y9qq{-E2?2(^xm9}Wa_TA +$Q>v>q3T<5sVNTxYNTUpMW|d%6VDI_TLS;!8c#!re8E8!BdZwNY=u-FR{fl-V3t0b1`F%xU`&9Z*zzoKEB9 +6PS>I;Y6w(Dif+(#|u?T$v5<4yGt|RAD(4vv>3)FLlBzX{TGB +w~Yn_jh;b;PALs+GeH3!F?9yc(ACh&n{w`qA%r;yMe!_BfIlGZ!#8d`;(QPcB0v|!b4mUd824RBt|1L +9wwbgKxDohrv1#AtcCfv-u2@pvS|d*Qgl6B!+aDeN|n6LiLW;n>wv#!cI2foLMw!yQWt6T@I4;$D&MQ +@6-FPB2&5O?0b!j<^_inRQtd(q!e>&Nzr^v0TiF2sowIdU3D>%2#|^5M;B>(QBG=Yvj?!j&6A*jQ85T +v-k1Jl4>;299OsA8LD}(Nzx0T;)gb#kGb-g^7|@Xhn|*tRW6qNM%c$xa3Q^YxlX}A6-z)DAGs9C7=f? +b6F<@l8vyEQnqNW4j6p8ZT&$fL=q^GPX+NxPi;qW#D{ZQD%$ZmCTT@s3NsL-N9bz`5rI#QAP5*%YGS( +B?`7OEeZ-?al*Kgvk(ed@%|9_8O|9cN#%_RBl`F#F&^5up9Zj<>?Cs|Pc*PM*abol?G|MMFH!T4`KUi +n|YrQP^j@MZZmiGRCK$!}d-FFzs5|JU~Rfm{FbzJ4so(I|xy7){~W9&L>aA9^SMNSWurT%plF6P^Mu>No8QTA63+r)uuaV)=jyg$lhqzl@ +jnMD;2E?zk&wHef@Az{cUP$cFdKbQYGpP6MbF}YySMVlxQKv0@Pm*1vfQ0rIxefY;*qbkdymc_Y=&rm +q$5Uu;Xrum|Yi;gaYyLZ~wcfy26nqR;bz$~@j!r!~+2>sAEX4je()mXqdJNkyx*#g|j@s|v%?nTg;YC +}%YiB#ZQEi;f+P@pj?qTCVD)Op* +q5%Y&)lxH{2LX)oZ)<`9YPo6#LuV|1i_=^O1&c#t8&`O)S6~Z!h{PyfkZ1Q15vK4b?39eN2BRt-I%E& +kOiF5A3t&1^k@{_Sy3S{>}sY?0Ery=Yf4DssQ{-Rbfh=)Addkki{Q*|0H1r%HJE)3!@R`L&txH7j+Ob +A3zjP2rc&MdE~0jC#y*$P=ZO{ROnd1(C~n0s}*YuGp+)t3nF(ia98dev}o2tiVA=Q76UeHv0Q{40!Ul +XxP}C^MQO3L?=&aDL9Z4?|4=d$o`z8Bq_HuThY2~Y2DexV;C(z%f?A`;qk6QZ*|f(KnsXl9hAc_Au%4 +Tq9_N_6IUN!@)5wyBHz(k9eN_vQ(Ett}Yn72iM>%-IBwQ0(KDuMhv|Z3XaZY4v-{ia@f{KK*p}w}85x +$(0j_Q|3L82DG&z9{qgw!@2Z5XKG84rlK4%6+_l0|488g9L$EZQ?eCp0;Mp>lpdh5F<_BC5LR9`Fpc2 +koK@NDVp2HL=m%*Iu;?UA?w@A)Nf?oOonIU=RZ!&M*+|rR%pJp@D~>i{bVy +xQttH^PJ?VjJ*>jTdPbzju6bg$nNPlJVbo3}7cEgdmYqHMO%ImI;>Uz$Q;Vkxs;vH_xh~x%`;R=0uoMNwuAvIrQW2q +nyl$YW3tN|Tch=$?30%~080oBE@M#!AUv4}U*g%(gkxV=VPR@cN%E`?*3^g)2}*iB(5uk;d#pz23eg} +=!=2fnE)oG9#dyp_+j?KGzoMzLTc!=f|jQsTzq+ye3VlU$L6>~r>;p7>Wurm%%=2( +N1c2oRdEFJqXWg*RXD+?F|XD$8rJoJ4n?mA1L0Jwu{(mnz47F;RmJTnLfd<(G$^aoUh*&V0bohpN>p3 +9Jx=SD!dV474r*t+_3>f{@Mfik*-&lOVNQ$xpb4_(XYb&Ta6ZlM8NSN^lQ@(jOgv~ee5#%f>G?93!|` +xCp3jaCUv*Z#%y>+Oa;zBV6b_Sx(GToRba5q+!Y3f%YDJ8$2_Z*A*zibC*XavBL=vG#rE&xtGD#rVfA +}>f)dfFusI^6cgen+bpV>7Cgd}g<5>>!3T{9Wd(6XH%3MQJ+&_d<0c|OWBel41wQCvgJw-1%QuCMBG) +J$8F?iGNfT*{9kgUwaL>fGtfqiQ$Tk~y8T2qVumAYTddd1BIa +Vbi6YuooH6=f|Zn)aN%$Mh-F2yKeyX^o!5+Y~?Hj1V^aYdPPdc^Nga2_D +tKao*(UoO2)_5RibGmSoytz8iBvxfc9{a%Y4F|;yBp;#j2uSM7jpOIA>mEvb4Zx3r)dE`a4 +2XS`m%i)TQ%xwViM1G5HQVZn%`(FzxT>|9W2b|JIrx*!FL&_k%(MN>C^bVF-?)Bn=S=NkAk)69kH2#0 +GA+9})>6pW@s2UD(;FX2j0%qTj=*H&hv>Z!}2nC@~6mRjFi`K>rlq(r>2pt~Z75dC(Nw%Tsi^PhO?pF +nMnzq<2kG_zTiZb_K2NE-qX8#Vd}lHol*wx@S7m^-p1%%n~KvnTu%0vHVmBxd;S+8cVJDt +N6p6MUYpwB`nCe`E>i7;wm%(P!@2v+ulVZe2z +Vy@rUtCmbJ9%WgR53+{P~>wWFyB-PL`32u*de4HcmQ1`*qk)kH}eT#t)#S$1V&&-^|D8Hl6w +-CrhRw;tRoLnh#eMpFLvDrl9N{467&+=pWPqKc%&$@nJRY~Oqub1d3Yv4Hmr_AsabG%%0e%7u1y;mcf +2?BGIQQ&wL-YYYI)cflgo~@aZy-^i9@RvIE?s%p|6G6=nSL?3+1zjCLrIgotI^S(|I%!iVk{)@|`>Tn +I#gQH45aOu4M&=Vn0P&CBHFdMn*uY5i*)Bz!1&Vuo^(Xl?uMKf$yMl#CDuA!9e4)lUi8Wq88Vl9_i5W +Ib=6~G`|7UCd(G35E^?oRrK{SbDBuUXELSQsaK$}gbQH&;F0z(sRpIYI)2?qaa#?f$Ji9&ZRzkT7i>5HOWJckPQQrBh-vE)5pV>7VWuV!G7|H9yZr +R4jj;htjHj50;-zG1VuyHYB=pMboFUf}5d=k`XD@Xb9=KX&uB%gDPE2d4H`aunJV7RjH_z!>(17@YfN +g{ArIan9j3tGX1i#PDe8M=rg1Q`D>)cgpz^RD`0e;MDq0wq}T9czN*yEK590%QZCaKh{1i;&3EGUW4VFv^o;ojVzfD-K$nQ*L`qccHwa`%q6nDKzBqIP1%WZY}$1 +)&mM3+M=tm)H^s>mg!4wE-DGj&3vD5sfJ=F!RX^6MqPfgBOu`U2MM*A?#&gB7tdPn_1v03C%SecoUUz +t35_C2rQwtq^114x(Gf^py--&9yayt13k*|JYeE+22fyalvTB;J+%IrH(8`p}lkuWWSW*o7D4)<%oP! +U?NPOA%k%!%L1mF_#&37WRMG72dow3%8UhYds1Nj+r#PikRPr5)Om9kQ2O}b&5JHo)TjoE&`JTV2Z#m +Tx4&x;NZs4%)4Fu>ihj*5J4PtYuRc5)uil$E}r2pCKI2*>%f-~(|=4O`(#|_H{G1?qHy3> +<2t!$_ERiaBAE)dsJndXZT}!=eJZpcrgZ|}kL v<+o>TxygP{NPj$m$sS%?-*uQH~1W&W~zS79REa +h8KDjs!H$y^6rMBS^_3Ja%xN}P$J;`}dcIYQ$~!ZqR^}mlaTf|cb3mr)m-7_g1?$jYufWJJ^PEc*6f4 +N7r*_@$B+W(B+@L@{UTaIE(K~nV75j!ioZwCXvu}uF_c|cT>3VXVEEB>|dv4BHb#L+UTBD~+1)g>1Xd +ze_X-dzkY;be#C}O>Ayv+f#wKoG`UvNE)n8VQ*&$(2DC(rFoWQa3QdBrE(3)QC+_~$a&?o>^cFIrekY +uy?nfE9=-C_;%8UkLK@fQ;?O6GjKrP3+=?%47b}z5B|~CjpI8Cm=iWg6UFodM5nBG!hE*kLTt7dU_mz +vxv9QC*ne@o7Rw}coPfISDT)3nr~?siB!}!l`nK)8$>H5)wuj{O-du*ifnkEYrKG +o|=syjSuRAzP+z)W3F^(aVi$vFOrPJ4|@)IYI(9d+Hyk$9 +J{Nl8g#aOTp7v`+dUg`aC<;(Ke6vykRN$%wM6i6}_aAi9R%Kj;=l1XunHMJa!ZWd?PLGrH$W-OFKZ@D +;B8sJ8|iUV;^thyRq2+>}>%1`}j}Z#t$seFK>hOHCFq91^V$5*c_L{Kr+Lg!sv1vZ<91XfLD=##)*4P +@NEMeIDe9$AV0SE8&WKY)XP*%TO?~3A4OLiWC>0e>_%Zd$K?CPJTZZ_~hgtL*-0AZQ+2(6aq6lX$)h%!>wVSR~7;5bqA +DT8Ohk7@bUGLCjCmPv>qxMCtrEB53eS8Phdi$!RoNC`i*{Abx+Oe>pVSP%TUig048aq{bh#d`G59TO< +B}`+hWVJ{XfwbS-!tD&Sz^kRwDAf`TL9Kf0(}CU;S$O#2=kD5R5_)Ms6Pe^Q!lIBs7WdM +j?6&)o=0KJ`9@N!$AVy<2j1l%?-W%`3r@yx8^*J?xr&NA`C|D$+_^Y>4m)o9}@aaK#$-2_%GuVxA^c^ +yv^;tn^8=Yy@b78jHd7AD{9wYK=3^tP0`)<1<20TM1%c!8twY5(7WGjvvJ!w(EHmc-ep`v;!Vj9cI|u +UPe%(Kjh(l-e9H=+gewEh6)EZkgnU+8(S)B(UVXY~#`P&=ABEeQH=L7gL$zcTtaY`%Qx8|(^+ZzxPMrzMdNSJvn8Y2>U>zNAC7(O;&+Sn4|f6V+xT%8+w&;?&}+ti1+y1scM(~~y@ +9R9AA#6tjMO%uSWZE{yt}BLv0DUxzu{8LA&2w%+4o|*au@+}Wfyv0M|%XV+zH?Yo@z-hN;z2rU6f@VZs->@mRQtOljHEf-aXeXQm6m8GJFg`Je=demkp +I2O@7q;7y5hCN!~7CLrpggA6y}Vr~!q8edlFP&ia)M(VxsQ@xMfGhL@sSW{>q4_^vQpv^siy38Z2@3f*7*x>)n;f9rgen1md-n +OFH;86!w@=`cs%KfErCUf8=i&;_~DcN3PU#bgPvR{dk0H$bzU-@4Nd0q|MCpaK ++jZ85#usgt)s2N6Vw(2`)II3W%MVAY$HVDwtkxaIEFy?Es@ps-0_$%)1JMYHHCfvN{B*R#5T&w2^h$$ +m$Yvay*HX7rr*40hNg8MmLZnEky>zQ4ifkK(56OohyPn9Vq2MHbRcQt~-qv1Qz0x&kSc52qTcD;72 +P^diL%Y_%P;d;w)ea4^?18y82eLwFTeBI&$1p>DAqATn8H+KTSW6kx-MsuUFalfR5Y#*l5O6;6A=0_r)2d~tqRnM@6xx5|pnpFKYek387)Pg`niyU1O-!%o +{TSnUS05>2kQ;I5R}i+l$9XMZB58I*{!xOF@t2#(n>w;MWmx{87We6GMPMx5lQ#$A+PK-5KkQu&8MclfK5h9hq3qKTi{7e_Uurq^H0Hu`%iRks3Db0~# +XT}um8019%Y87@LHEu2j3JZN<7TNk$2nnM!a^SsPCT4D#2g{q6#!VRO-DMBb>V3bu`Nvz(;+R{0`Xx0 +*|UinWO~CXcrb1VDKA)dxYEV#pwDcaz@+8@SA&gDn=Q|s_#|i1zk@>m7f?$B1QY-O00;n+tx-|=p*kA +g0{{RE2><{a0001RX>c!Jc4cm4Z*nhVWpZ?BW@#^DZ*pZWaCvoBO>g5i5WVYH43xt +GKc7q~7d(+a=$Yw&30y(myJ@mJChNR?=b%Y!gQhYP>-pr%#VDsAs8rN#O`wSy>n?GfxD9W-d8uX+)T@ +6$5-|`g2%U%cQT{{{Ck2HE4fc6O522#c-($0c$O?q)1G)j=F0ef&BGzAW52`z;x#?k%YJb?>EL4NvN0 +6(2~J){kzx0T1>M&Dq_YcMFByj~gv^ +aNMKE)qTo9o;!%e@?S7|wkG8uuZh>`g8Cm(s +!EecTze(E6?7&MKE!O@a75L}OQ5ebaLjLi4Mkj8{L`6aK`*-x}&=W&x$yOkG5!2|jPC7CQ>!AX|9*g9 +5@KWtC{ECh0rJ4sFI3~FcGRv9=buNBi&En9ixOqY+gM4M$#cbA&679!e7qYrd?RrYOKr^dX|Mi0+Vk( +&UM8=0UhxL#Sci%Fb}sJ4q2QQgrK+14+Ee%}P5ZEB@T79#=Ebzc%Ik<*U@6aWAK2mq6MtBUtcb8d6iR5bJ{Qvz4I$}!XYr@x*?fflF7kIOyVgu3^vVh0%5O%T3d1@IfcEHe-qYK+t8Vx01y}xU5W*<9_QS}BtI_!SE4+j4cDfL+xrUst6jL?O&rBhLmYI2C3NN6R6(mf6 +!jx;H_^L7p+yE2lXQ_x^$dqTb-Ks>23d|b8pei)Ttod^r&R~RE)7dQwR4j){waR%yHnQrH;2=sFcxdV+%0AEw;28*M9C%WkX2;0a-6fTMe;o)!;yUnUKp-Z5=G20S +=tG{7^e~rFIdCPlvCwZGaZgSMgOg8#vy%b9ETWzF7Wm=K2VX|F)9GYN7T_kbC~e=1QYr(J`Kd!6XYFA +nxE&>yQ>vI4%DBbNwg)%uK}*<^vDCZ?ptbncHx!t4L#}c!Jc4cm4Z*nhVXkl_>WppoMX=gQNa%FKYaCw!TU5_P +2lBVzTSA^7BEiEMw{vFZ1GZN6yQ(79>qR^=K1{GCFlbWKE$toJLzkcm`ENXkDVWeFylB|>Gc=(68*=w +)8?&o*E`|ba>k3aqMlP|WGeDY6sf4_V6@YCJn_VE4o_BYy$_ +kVHs_RWjuKi&Ob&E7w}eiQ$E{ORG*e?-IER}YW*`isZA=Wp*`Zr}ZCi~sRa&mU>)r(feyKfK-E`{egq +InN`S_|3O}uzmFE)%KM4zS*AMy}5h*``ybN$tMr5-#*@d_j3&My*I!AL%gzWe|i4+Z`)V*um1LU|Ks- +l7Cn5sy?xle`t|J(53jHB$5g$#|L*bmZx7+ +jAFF$;EjL-l0@bdoqUwP^0*Dqr@^!n}Hi$K1`1AW0cd +y^vZO`9qKk?d|AO0~@pV5)8ua0b=Jw)@)?jN_i`}jN0{`=kIn|NibACz}byIQ>6Vy)kM{+9m7YW~Cre +;=Lxb$b=7@%ZkOAN=MN{9~jqxBJ&N`$Noq{1OeuKz|9d+P=HnetvWJ{m-v%qlI|y_ODN#{mYl%Jlj6{ +;;-Ake)RO|M_)Yq>mTF2G1KwaSifxP{>Puf1Yd43s>kQA-~JjMj|Tqo>C;dCB|h=d$4@?g^6anl{<9~ +~zWDU(ueZ;>e7b$Kef81PXHP!)=JSu9ZeM-#^s6tw{`7-w`}*$g-4rvKzctDKXNtd%CVza0nS6Qo_WA +v*H#zjb#`3<24!(N1{qX$ncd^Vb?(V~)w&$@$e){$QYYksLy#AZxjgS0eLjSnkf4{wccze73@^~M%6V +~@1RySJt$NJue(ZBfMb{i$$^!)X|y^1CHIzIl{{rA!IXRjU}9&fjgAKtv>t$+C_KD*aa_V-KM%eH;la~_&%b*`U&BD3J-`3u`Ro50P9`?O^T+7oSC0=rKG6Tz +hd;l5asMjb_}_kb`}U_leE8unzx?vS-OHapc>BvAj`HD;@sY<5|JnI3_1L!e-~Z=r|De}8OT1LaeD~5 +=$Ka(=>bsX#&zH(x`}NXswxjdGy&u<0=Nd=z0Z(4u;XdA3H2r(ZG;ja(uCWi_EAL;w{(k$X`hmXZY4q +{o$KUwe>-b=F=fn3#-^=^)+wcEr|Dfz6H`1>^g+Khw$36d!T~Nn=!KAWN53ggJzIn@L`tj!%KWsmQQ` +3QjyLtMjr#CkrKl$_c_Ss**dh*FfpMU$OCtp8%`sCwpo;~^Ui*KKP6#vU1j992oet7yhr-qxe?iL&2rxZyHy+EIFZsI}WxSNs->9sgYMgsu16uwed +L;*)2OALUrLrSR7|&f9h_-dyKx>!aM(Ia;>c>P?|r@rHPM8~bgiA6t(H*ILHy*7)Z*qaQ6ESkB2~wuA +oi+c<8c#hrni@z++f-G0P8%oZ>Ew-QfpC3-aN<%)J|jklKQTRgDc*3Mu1;hUo;BPOlwXW@OF$++5`{U ++wf$!iREr{^s`nd3We>vG_2#E0gL9`)$?5pUUIdoy#f7^OD4Q+d`k566BJ!-$#L2gBW24}RlW@vi7}= +`~toMoMM&cV~LBBAx!m)aHyZL6hHT_nbHJ@#xIJ9?n?j_`!-}6er`GeefgxI(O`$xJL2l)@XdO82JbO +d89qW5N=|6;~%vhJa}MiCq@wiI$JEoepc2w`mv&KrN=zPYn{g9ExlufGv@1z`HJ-|*=~(>D=S{!&oCW +lwb1=NCbS&g@$D@8&LAFH_A^==3_KPtjIA>+%xHwc7CsiwxB +F>lv2kun>~xH?N0ZS|tUva{jt+37T`O?Oo6dnvoPY5@r9u@COP&Gb{?*EaU6Nn +dV)y@`RIlV3HdH-)#fa-SHIhRKhf-z-ZRhZr#J5Rklk^UM0RXRx1V+-O@4J1BCmYokwegws`)*OcPM`lUqFhJP9AwaF_e7jT-%Jyi5R&T^eq +nIxRXMeW%liI~+LoPLs>G#BZa!FN`o@Jo~keW4z3-D;^7QteCP9PY6?pPM7c*;d%!>r(Mjn5MM{kNH` +>dR;*zBv+=`cUF`-AW0vD_bnB=(9~>SJ?gzeL5}66&3wN;&p2c1XQ)Wg^!np1#I<}5%x9@xSb^SFx>M +^S^BjSyT|KqKM_=AOFNMS&je|6^UCB}mXiYbk;*7WNgTr#6uF(3gBz7|Vf%lG>u*6ob$mxC3oE-e-pg +XOPyQGo($xz5}dJ#a}h$vhCr1DLZ@F^|QPEtYIzg)C^(hw2S19XMK7UnQI;m*JM+wqg`h +HfuGN&wEzBx4k90xTvg*y5=L!wygxo$k|pOuP~R?5_URZs3vv;EXK{h9*?t;S0b!mKYax5YDGthbTep +HSE*rSTe$M7r!vzJ>%v8mjE5MQ@23`i^l`afD?r7eGoJbCKSlWqhlc8@8yg*OuEX34O`511D8}=V?bd +<45;ZE7=3g#o-lDk4m>_dEQ=8m?qaF}R$~vlud!<`Ts^@hF)W}xy&SGCkbw6K{11|niiyY4FmU`sb>? +ty%P|JjCYLVu6YPtQuSh|?>}_VYM6E6SqlsHc-n}uRM0`#J7_LV1CV-#&V)gj4e9Y-KlypTq)^E49=_=S6Z0|cAok +1?1>*%;F1j=Q;B$Wxo0&to{ss)_8a5|1j=d3%`~zvj-~Tqa749c&zcH#s%8L^=+a^g4kY#2 +>_DU*tGMY6+bn$#Rp8ztzgCp_75x68igntOn5ae*U0Q#!K!!-aeXYMV>uvmMTA*SVIT3W{_+1stV{TTJkeS8EiX;*(wRx27h+{Zj!uLms??~7U8g@ +)apv-UdcL-xn$Cm_A%A#h2rCV1@j15`FTO*TNCm^5SW!D{Ju81n)XPZqgj*wd$0W-0UI*nBr(NFCgzD +HwAkmQHL{!hy&Pt3%u_yKNXj2~eaKWi`_naDC1Gp714Lu_jfq0lb;+Dggunj4{&H2DL;M7L70lqNQY) +$v^RRnD5T?4<~%dOn*YWz{hl!F$3iQ&mGMEffa(cmhPAivJso~4UVJYLc%pAemKD;7;Gc#Rwge#4kYL +{$?`DL%EX@o*C04LjWG1GX*Vz|hfzK4EK*q3Z9#X)cH&Y^cw}BXFQg@hG*-aG|zX9gT)!#w>7QKvQlF$wN0dVP69?uy84$F1m +C!<}4ix0=WHE9lVo-z#r$(MwQRr(7>dir!9eDDM4OW;Z93t7OUH#*oPoDUp1ux`We#AM*4`kCzpE(xQ +Hg@qX}kTC%X$p6_}tvS==0StGNo^;*+bmh2?sz`FS8G?qDEkS0 +c9))LyFu7opiu|3x<9Lh~0JXTo2*oy=-d@Z}Z@xX528Mt2f(E*uQAUYdqNx}bCaB5p}fEnlGO%dNVa$ +z0VArm|$=SU`b>%Pl#`2^+$=sKyLx#q;FtY8ry&5zKFy=;(P@s61o@2a%DonJ~sN0d!6zRB$GJRS +R-%=4wq!Qor#?Z3@h!d1TN{rc_HMyfa~pLP3Rj+$__85!!`!NDm@zVkWIRW`IDB6mkwYK`yaTYH6_K!(aq +y9e!iS(O~Rkqt~U-9|lt>~&7b8;L +`yL3%`LF#&|kQZ&TwWtZ=}M#-!utir^B$Vb)#Kzr~HoyX~&Shvn-nkaRT$gpmcM +8IbwEQ){flHzd*xaJ8Wh^9HjUClo@ujnb`vN4vV@4;KRiGqZshQ=%C)C=m`3+oBx-Xlu@Zbe4f+KI__ +@kI!liB;)aG?nCnONmpK-h2xrC#j@E~%_rhr$~rHy!;jECHzxX|jX@Y;Zgfh`E!yH~d2}d$o!;SFT$N +Tv80|SZx8r4wGtJRQN9GG$KB3NDBVgsci9ADoPy+aTIMoyOaJmrY7=O0wDZ)hhrQt;sdI>W*xGSEdkX +RbS2i+;9W}<0Tw(qWG$6}TCy$@&9iR0S?yQOWhV~+%)pma(@IKd#cDxuZ$qb%??%ElX;SPV;k>flNqp +;!0FX9LV+maVp|CQ8S&gnzzQaWtBlU44BNa-clFAPW+>1}8ghRWy>M9H){ljYUljXG2!;Jt^lW3Lr!C +4o#iH;5&mHF|J`=WtMU}9q)KxJSi$eYrVlO=VllC^YyxbuMCQ({dfukcis#d2KoJFvdtCqY2M?d{Y9V +3H)&V6nPfRcp%Rj}ZDDcA#YkyMNW6$wX%y>hdLUL~xhUknbYT!RY5s8_UTsGXWSc<{WQlX$YKAMHk{( +=o8xwTvEY_BQh0ClB}tT=WHB+g(GLhW4LZ%!vg6&$y1rkF99cmz~vu0d`V$^&0>m)qn_A`q$P%`C9$d +od!psc-3aS}i8n#}DIJpgA|8CxnEL^uDQ;KrStDc?fa!3T*Gwj9vg;x-#YtRQc=IeLGs1Dr1ANJF3t8 +u#T7fyBsSq1%I9v+L6jLZ{1R!(momKO5k_M11NQQRf73M)NG6~%-R0l9XLBnvAX$;Z5IS{PdWN%7%0N +il2hZWJDb~dQv6jxk=0=AwCMS%#bR#3NM4F)Hnor9FDP?Nz_Vn}ln?S|0{r$%ZTc!$&!Pv3SYl=w15? +&L#DnvT?hP!WH{pDnq6O~KE)@J!IgUCSWsO9?_z+wQ@B8$?TTAGHybVx#w_m2}@70%C- +?jIIj0cwo2F>?!@zp^zloojdDxIC+rV`ZJQ$3F|80hLjI4h7o59O^KtKIgllQ8Fib7oAb>1oz!u=fFEc*N@c1HYo(E3=SQILUh5km&Fw$M^1}^DHK>BWJQ(^%3w%GSm3&lHAkF7<5oQMRq-} +K2q$ruQ=8WP66TV+>#v*-l(p1<#^yDQ7hWky4R}%>5RY6!@1Ub*25{C +m~}fLk$aP4Q|A0=^)46tep)v5l?8kH$xTSG29#``y^SBUItfk!%ElJ~<=wdCQO +!3a1r6F}Ee72;?!2F6kG!*qE__LXHrx^Wy6PrYJ0`VII7_v2>xMsPtOR74dcn +X09m=uZ4AW)7fQajxRSGx;-viJt^251(>w3@N+?2wbZkby%>cN97eezdDySgZ)!GzLdRIek|RN_l)4r9~_AMX=DdtHW?AOj4<#2SUq246GSCY3sGHAl0SFt7M_!k3U|wO!>wCnY1lx+ck_V01k;H +T;G~pk`6)Ff!V>^8f>|%XMJ;!`+znd!jE{@Z0Kwib$W%Y`I$Ymtc#?1n;qtAT-O`%`z +Vmzp5i8nxSpl5Do_}>AMTS|2wH>+n20VDOuK0d?dT(#=r(s(Gb1!F>%a-zI6X$>8AJR}REdyK_VI0e52JZGSfp@FkEO@geX%NtBjk5dqNAsTR~B +m?3x-V?S0%MX4*5TL1+CKuaDRX-Tvz8Dhf3R-<;`x@Ey#B@b?XS-ErnDC_irILqDb2UvzLsr{MG=XsQF)sU0;=uh!jNL4`<^sU^)F{UJP%eIc$Ob +cnEcX1jq)+S1$X?oS)XhZ|Zl!Ne0&=mI2l*B3sw?!s)ULLk6lYK$4#F8UIb=kb1)j9Nt%ew_00)?nCv +>_#}@Hq7U75&)cG&Y?V~X4ublL-*RN6d8P&GR(A#?iCqFpYpFwQ^yGc*QRn{$$Kynw9ARaurug3Yu+2v6;WZp#WiStz!jbTIL)@4D@2e^o48>jq!arO{70Tx1S{8PY$QU_q!V0s?BmF*jgMC&&%}R +<-a+gy}QS2jH=88o;GB3tou^AbfQL(`B~~i6T#L*Ayb*qJ=K*B>t)nq>roJN_=a2EXIN>8T#wx#{q6` +YuE|wq04pbdgtZ)nBV*?=9xS#O1s!^#1{+3Xrv1XNJn(pQBn@U0U)WtYe)Cl1H&;}4G~OHq&L548IRG +u22yeX{E$sDJ{(@n*T_+ZM(kr4xK5aWb{NL>cG%vmSG$2rhR(QA&BK*-$_^VYs-qApZm=#BfSWas?Q% +24jDQ+3^=n;O&H7MP_e%a$@p>IC=)j9L@L82eR=~Ba_#*&TwG2Bp$S{zpwdic&NEg>}VXx1 +wbzls3-d1T|e`3w8$SLq$v2JgHDUqA_sRI?!WfyMapz#iF7Tpjd13FbL^#KU7$_M$iE`Vfe1Z>yuE3swFP?c&6*~1X`boM<(WRP=9_rMrc&JmO01aN +R`(+R4UbklL)gl5h3Xw-+*&E)mH7(gifib{^RA{nV)PXc8KJZzoQA7U_Fq@-icFS^&-Jc5EDve>aGP_$-pU=?=5Xem4Nq=|)P5^|%Oh$Hn}>ItrP(Y<@ +QmFSY?1ve+y4MNZe+y7~()X|8E;q~;Bcf8t?vuJj14P$l}cq6BaV2+7|}H6>q9pMSMG;3rvjRcaPfG* +ja@ym?z{1Pu^!?o@Bo!;q~M@`Vb*9!*~3S~qmBBNLU=USeWoQk0HclPuMNV*ZSQQY-Z|&&k1SbQ6R|$ +3$=Gf6={`Lt$>wS>a0Ho=hQkYlwtm`Zk*9B;-{9Sg;-g#co4H*~nGBMEGEk@S +Nupo3aj0iCt|$dm6>bzID3P_@u_k{;-97d(0xp%Xh<=(5de5hWtI5lh#A5{;>YiFucu@M|Txf@8j>H3 +2DS6MT?iDt9qqedwC7d3oBu!i>FJ;hA>w3e1um{;NSX}cs6Y!vVq;6jJi|(~FtAD2lF+q{l^DTpUV^* +sp<*A;>>~`NDJ`4H;n?BtBsrO`|A`Z!MrvC##3iqc9Nk47}eT~?QHd>q7^$%I)HY+DxzIXz3uN^BN0I +jN=&`$!P`t(G~?lA-`lwjYi^1z}twkff^rFk~JLE=7iuXVRRqy6f`o4=8CvRCMIZTgsIYY+(3hse7JW +zk`s?ogq5;j=?r0tQHSOHOI1_9xg|CV^0*%2Q?ZNDzj?DJ-rIeE_Sa=zo9LU+Orx?*YfSS-&-b?;g;@ +7c{xWiDR5DC|S)Am+*-!cChB8eeJRbbg$b?=W5^qGm&1i03F=b^{_`uGPM!*n+Tgt$Ak{KmSwV+{8>f +!I$D}F_8`qrndHtB*p;5$Z#FFuFm`-d2r~Ki1Xle9L>O$4c4d&htXK|=8-STFS= +3%XJ}kU7P_RghtrLTXWhS|du>n;MIO&{*v)kwMm3sQT(y4MnR~R?6j7_1Wl(~4jsC +O?wtG8-_vyi2?{lqdNmmt*dlUP$_@~jNbnRD=o8h#>Q)qT5M*6~rJcbihCf?u1Snc7o$^5nRg$vDIN6 +dz`WS9;kWds*Svx!gmv6=>vR>HKy(+=rm}Y}3D+HN>3cFm6k#+N|J~WaFzHJ%=0F`7xm}jht=Ti4<7h +D2n8PLK*+J6HxO-c6Deyg7ZeoT9AYEI_qO1r0Uo66QM-m|HDJ(M13k|w&8y5$Z$9!a8Kr@NuZQ%Dr~K +At5!Xcio?_|$VXbgz{xsN)|tNh~P^5}?BI-nR7SRE1O~LVj*&B@6y{GgmyU#vBHyBijX+urCIPZR9Bp +K%ES)MMGRe^)R5d%#5Yv=PfJLbU#5Qtt5{Ks~vVm&T1IpR6zGU0|C1nYA8&vJ*ny;ICl9GKz0wPur`N +3pm)=sHFU2rQp}o7x2Yemnm?E+ALwfNNwy9&vxgt1^JM|p1Y3>Qe)Si=ghaPOrPg7N;9{dOKu^$yNr} +EwTm-GyJQPHrJ~D+RH!(rD)(zcj&B}vV)A})LGA4O65g-{sru?2`ZIT-&^9#hFhPf-qJ)EyxH+8QJs1 +lwUEOASfk9>(XEdYQRfQcQ{lw*Feb7N^jWJo;gPI;d~L-#t!k2lY7sF=;n1R&6*&h!}sMdk0%I92C^2 +EXqf$5SJ&93$_mXy{%Wv$dg+sl^oikkIi&Ac3UH>a({`qOigx4;hjcj6}!m_fs|{{R6t!Dw~^u-PGbV +J%RpPnkmaJt1st6LnRe?OtOq3=RZ8xVOfcGIVY^b){}`aUbUzUJnWm3O!iUz5IK^^y}SA>R`u{i7s3o +!ftK~yhVHdMunjd~%JU@R%%W>*>4sz8jcDFDcdXRYBeN6&g}L-$&7Zbj*>sp<4oA@ng;K9E +xmR$gffQ*}z-b`T$ce|=Hm623%OU6xr_f0L9xmY)MS@!}NuN5!^Wu_dvH +_z2!9vovCDEb>^k3Q2fncsKq1}>?R{kAJ|`Z#GFV^2qJ-`6T3Bt96%Aj|IZ*$yYaZubu$d +^THiFV@;Q=iG(pxA@oUIYkpq$A}C)y5quA*fh4RbC5s3u%& +vQ=wV9CZ6ZX;GyB82v5c3Q3y!}K|P7G&VYT7Pr3vmQH+f&jLJk=&LPkc&c9seB$%k!7v{K#8+MC(mIA +s)?+k|NlKV6eZe!UyxzFfU2D;~>ykUq$DbI^Ebg#`MW?23(S_y)iOYHbOiRL_@ydQRuQUs6_hIw>dI= +;T=`R=CfwRu`b`Mb6atIi>wN@`Jb-$;L(Hz*+yZeDqF$SNHw+`O&;taQzTx>rS)how-=Bv-uqPw+i41 +kSRM0oUD7kw;1li!6ZvR)#t6Q{X;G%aaHO3MnL2*~eCdzPoQw*n1>N2z6uXfRw0I#-FU`W +2{VXI=a`>db;w%n=eebiGe5elV3y{OlTOe2zGfOXhaxWR{A +?N0A6;e6JvbrED%QbAa9^;w+U!$}Myt{aTnuLXIesg2yadopq)e@5)RDQeJ%cMM2xnpqdu&3RzwA-;m +N=*fS8OEymmq)OTm5@GT@dQ3Rdo6JgqFXK1KfLGpRo`qKsClkxOY|ptV`n}W}HFd9f+khvUy!pi4gBv;&y +J)`%3R$wzJ)C-Iiuep;qn1f#G~3nRz$G14vYMPpAA89VD_)Rd*Det0YWb{gzyxFGRtb;1xd==wU;VCK +a0ygfrEJx7pJ?N%hw(r(y_hKF7(iLXE3BZ-yoiPU?%5-&pBIio_u4#52qWDP?~Seu0IZ-&7?@p~GC~l +7o7w7eQ{M-E05cB7x8usQ(7kSlLeuI*Nq3XzE>#^6P^O=dCRA^_G(J|)iWh2FIXr9Kg6UGsA;%xYq3&H=RxMH@M&%p*&>+k01{ +hf{T}8+Dwf=S)OSDulbB^4(Eh_9e^b4Wgt4-TRG(oyLro!3fI)vt8$AI6xcy1=cW@ingdx3N2^e&*Ig +2)_FAm!d(vBe4cV3YJ;M(!7~HNd!o^fe8^dq_%Mu7-(=^F;lWv*6+Y416SeaxxjcP~L&6~yYhf$fMPI +^$8^@Q6I&Vb~BX3FL2)4y1Z-9aGIrL)i1l+PUI2GGG(}Y~AUpl<5?sd10ZMG}JfgAEb3n-%(lP#~Z;p +iJVQsvy)CQSz!K8C>2D&>C7FLj*ZiEp@51bvmFK#}6AE>G2mbFIMcHMl%FYfN?(hVXFa$Xjw>bak(KS +Z{6e$O@gQQdiz5cIGhv516X=@6XES9midOD5 +rK5^blSCFU`R9U?V=B$R((6r=*#Y0T@mHb&p_gay2kD-I^+7$cK3H3%-b`6|mDft-RtYzwaSXHm>v5u +edqN95qT&^&@=Ywk6P(WoN8kEyz<`pYQS_tGz{&1ndVCMKFqATmB-TPjLXVMTzkd*X1X1sh>pfWG=*( +?a*Pp$tAFIogq4M72oXV4he{HibUD2&+xyT^NHao=^R{{=@Otm#x#YR`+B0776=wXmu=5K7jb^?7c@j +6BOr0;+xU23jhvr`;!B6vv0dhi#?4I=q2Fysi=hBBxBNAmwVea!;=jcL;DGth};rX$2TIu6oNRodO6F +*TK5DCx%hVT6P|(Pvy>ln*uJOQp8&+NjFvYhJ6~+G3vXJI(au{o?dkc(DT;3yn{fUc{k@L!>?!G;Ln; +?PT*m`QEl4PqMk-(v_;BIV2}nhM~96Yq@P2{7exWvMPH(JOL>!;7G)XB;z;qIP9t8lOY4yWkV~kpIr9 +=?0$I_j($3Jm)}HSo8+3w8m#u-Z?I +e@sbZYfLFp40m;YsM>eL-Gn>XHyi!LU^8d;@Vv_67b`dX=L<75;AIxr6Gogw^t~Z +CV%wCFCa08vfxnP4Io1^%WIs5BGv$=>MGZ|aZb1h)Mr;z^*L|1>~Rv!y)tNMK>^-W9EG}TvHl;-7g)W3P8G8t2d +L%O5!#XO>-*YT09chrYX`1KqVyQMwZ*#g?G@s0($5hb@$~NI*aMtu%q->3BMIK;hndhk!MW_1WuW@e7 +<-+?QD1+=hPHDW$I=0SdC{uIg|rMI;Oy1o2J-1y;7cyc$IybT6NIx<^jG03mvxWwI38+8pX@zT}m?Zk +l|HPO0~*uX!Fh(Fs_`tH)mcte$Eiz405U=g$QvtVEMX50c>?BEO+#t5+P7lkHf*|_T^zN3mbH&WWA7c +dpF(h8(3Ka#D2WU^6-K|2m}Iz2zM$=cI)UYar54pOVU}ry>?{1o3jqlU-BWdM~%pPsYd?hVlzI|IU*= +FU3a$$&`_$x^EKo$=&iC{_!3LJ0K*QcS}7VfYJJr!>pfLYQeP!Cb#J5q-Fte(zh3y3N1uE8b#$+rWCT +4LAhn^Sg3~qKGxf^ch7r_j2qZ`-Re~uRcd#^XA37Dp=6N!z?Khjk8r>FmKotP*P|GbtM&-Mz!tsc55w +#o&@4P|_gp}X4fit=Aq`KGBjqb5Hm=lRn-0TqGc%2^JqkG}c>1CjK5Y_a|xPok#wC}qA4C?i!c`>6Wn +n+Lj@-8`WNw>!DJ)D3Omj}ss^E*5aPYRs&iMoil#3lbgn#8)<8SjSyi+L6 +E#gZuDwMUuk1@wp(#O5MuH```flC0R}Ce?n4*l +X3J@a0@azK*zmfoG=J$F~v-jI`rVdH$ssm@@*Sh9`@5e#IFlN3V)mL5~imR@=5;l1AlnSQkxpBX*V|h +?g`z1$nH(v1q-D^$3q*#+ojv{?Kjfd0&mPG+?IrK`D<^%CS6sIkOdp^M{R%hOa*U`N;X*~}Mclp#)`0 +SYdLKAHSfa82Y)T>?aO2U!cruV&g5B=3He910)@se7P`?)+80Ay^f=omp$lM8-P&o@TiEY6q3l65bIi*>pnGi;2a4Z3pg5>|q>kDoxkR%nr2-|e!01USdo%wu9(s+Z!$lsL=#4 +n!hJgj^`1P^Uuk&pdH&yGB@d3yVzop2p>NvfVM{eBFc)@_=O7lQ2Tk`PvV2aZl7_R=pmn^UIKYat+)d +TD9V^4NXd*rj&A=KMtESAi!hfbM{l5z9uFLfMTS%Dnuo;mUSuM#4~80Z(v^%X(-f1;`dtZr)rYDs7vS +G)QfxMWB^j+{4$Q4c6jXAsMGvDHv`1(Nr8krH}wOBVyN8@)ZT<@aiE3GPiH4s2der&w39fMPL^kb1yW +=Gt$^@Jc{(%K@i0q{6)C@AT`F&Z}MSRr3g-$t=aSv9cNr`(fJdSw;>7Kt)yXK!Il)3Q_@SL&4DSQn7d +KdVh(tYR>AtW}embz!3E}-Gv0y$}d0T(ak$~z`v(ozd(}X-6MIA_sIKR-K54L1sYHaL;e*4!Sfo27d6 +RL;s&5T#&Y&GBSV`9EfPm@WnJ`F<3#1Nyk{Tpzg%q39pGL}lD)CqTi-pNcse*w4SAl}(n<2E+(Z_*k6 +-|6)v?QJ`X{+-V&(ma%FJZ#u&KuR(E(!a-kv41n@Z&5`?#iwbAW!~kNXWHmX7cm54pY5ADEK~khHYRs +Qjq=R6HOd`%Hhvoj8$i4xi4Hb-!?pB_`WlF1CA{bJ!)H5S>00hpLItD_HCEbbZzXxCn)FYPv(-m8C^* +`|_l$3NvigN0W~kt*y**GH94Qk+rqy%_QrZ2hQU-zej#`79@`jTKv2FO&|80fs<#ESdFFYRR=;$$ivv +MYb)nyJBPIeC65l~&+|DXeOKUmk&EXmPw5DoTz)edqRU!FwWg?p_M*=|czZH^g+mSj%aF6l+d~H`n`w>~Hg&Fcn13uXiuw)EZAus$834;+_@_{J-OYZ@QvN=U4{MgxE~#6Up4>fs%~Y;bDWdO)|NBx#=Cc!Jc4cm4Z*nhVXkl_>WppoMX=gQXa&KZ~axQRrl~i4C+c*$>_peyQFAm_kaf<-g3kpTxtV%dXknq!`a!@Hk+3p>h+(76B-TU{v_#BZ#0d6(3RX~qe+V`)6 +~k1)Iw2gGA8M0Y<^3n1ip)+)G`&`SW1;-?I}f0r*VW1we%9mM}A>tc5KPy3a;grnViY}D}+5zWlBngCd-+0dwLk*N$BjOvA`E +5lX(?FrOr@JQ0>_k?&#suWJx1-P)bj%*`k_RxmGd-cqCKSj!8J$g_zr(of-ro$w3GW4CrfjABZK+!`& +}z9U}Cp(>>mHU~Ch5-4Z_NM>lr?cni@LDRjdgk)4YcoGZ;p>Y8>7@9_dc6#9y>qBT?LI4@Nj49KOQ!^ +QXMazWALnSMs|c{Eu(KOh%Q;}redGs$9y5zGixS)qLe;UF0I=ka$SqTX;cTs#N$gW+P*PZAnT=M>Q_n +lFa&aum&Jww%wVNxwssFdr=rW?nM+WN{A4!obOly^zZ7OMgat9R#Y3w&I1+=9DESiUfX^nqkf+W0oTT8Y`g^!?FYu$=qb#?YsoHr;oTB=j$Z79@ZVWDe?qGRC&4XPghI;|SQhPu=d_hwkU +QF3~bUV=qD$PbCx2B*@u}-(bI`%tj)~Fx-3qR4gR9^Nf&oNFD_Otr*fWdZ=dgDAstq|!}YCg +i^`XmV_mmx?d&Z)p+{YA2k|{R0-#5ioLwnW!2afSQ +QwIoK`D|jk8*{9IN~g505Lcds=6vHq{B8Q~vEa6$b|gR*?4fLd~sz34I5B>%vNea(~12uUDOTf3?L@^ +a$3`Z|EA7`|4ETp_?l$3VvUuWnWrNH{q(AYXnN@O(`~4!Evb2@lE3&P)h>@6aWAK2mq6RBUE?o}TG``enw)$N3++tlu +2+bD&(|r&|<4!1SEnFHb3}RN59WvH*0aas7g{vY}F +D_mJB3HajHP53C%PQ&!CBm=5jZShE_&St>8ID;{#a9?1y0gPCbT7S8C?|A6*r6sJ(EUP>13x}LOy$Wz +Xom~7+AtJ?R4~+YZ0t2Hf*CosPoZ$7ir`@gO}6iz1|il@0#^*OqGVM!NAvs1X3(SobvviFwxjRfGy7bXKk|wZ(`fg0Bm<=KaH)Q(j +oarWfSF8{u+gIoAa1le#2*13QN8@e2TP&^c&D13@z-hBL1O1jy3IX763Q-=kXVfj-tcom#8+@EWqPG- +lzy2uV(+prA`QRcQNqfsF&;uHLzNhZVKU=54e0z`JiWd#!r6OO1AiYII-g^qN=w+ggY2`8SesR?cWke@03gQq6#6~|Kh;~T`X_NA)p&x5QHVV43uWkyBgM3&Z^bQN%eW9O4RRSWZQ@8t?MT +ymE)tMVHixPEM|_LBPf1j&vEz^>iw(UM+@%iSiQE@=+yshwL91KPKlx!IPtb_b({aGmyT%5CzgD;Z(h +}It?OpD*J)n%d(C#s>eTR~xYqt9+|>S|vrRi@o~WHAAJsk@oIS6erPSYC@=&h+c3!eq=BnlK$F&-%9XgMW9M4v$B4azeUZx)eLk-1ep`!o-(`WGADMYq49T)2 +YLI0Wl<(ePN>jbSPaILPU8wAwJf6`s(y_KA)E-QHxRz!qMq84A{l$RQlRG?fa5zl< +hGil+f2gW0FhOSWmnJ8t3)lEaZw9r}lE%IC?Qflj2!!f>xGkRPt@1`s?KVoqP>Y8Q>1_wih9b}anAW-iRbFsVKqRh4?6 +rXS-})S=)FhglkM(GAg3~El>Dqld~Ad!g3c;A^+kBb02E`ksc?lE{7`^di$2nUZv9BG0hQpzPCU`py5 +FLp#eHO87wp+YOMhg!_8Tem$A>KO5rU7-y9VABgzB?Mp`Ef0oT0BU3OAU?mHU&1vW}cXTA9o66(geR- +QnrkZx*n1^p(IlhTS}VR(>!*_!5lHUEFguFQ3~+3CvTY@v1f$qg?(3;jfjqJhmR4E7h_;0?}S=*8@Go +MF#!t1DgqA9~p*nwZRZloKj|qstJXhfAl+SiLVs5HJ{Oj&?p_o2)P1aA+aZWsd$PrbT`!OWQA2Y~Q$<{!VHZinZ#DDWNvOz(8BV4`!pW#XQQk4o%HLgj)ev;2^2-#S6Mttit_@7xI`J+Ve!hE+< +eLe4mfX<2unJ!HE!M5V>T+Ntbi0!IGSZc~7~ANO>xb%iK0A9cNJ{iqb3RHw*4co%AEy)0`A(+eM$0$n +&eH;|o!+d}`og;c^JF=lxMKa`>7FQ=l=>QO(M3r$4YpgN!ywB2Xnz((PZXnImO=2XsQa8;KQXeQT{Hw}x#yX>Nq#= +eS0)uk6i@!q#JjGxHF#gKCYZu;_4P~e_8Mr7{zoN=F=bTPX@N+0qvPyt{?uM*g&5`w +ks76LLz(;oh7BVBtxXh!6Lzm@@CFq0(ENaa7b!7!$Hf0JObCM(TX%gGrtHXz&QBQ_l(ek$UI*!hxjz(D^=64=VqAq`s^?oz$0={{ +pF_mzf{K>h0Kv(R%A+)Gl6Uo~iaA_M^{M2QWLrd@8f|AoicY>r$*VhvcOsF_VlhWGP=XxAa01%gofO# +eJh8iE%(QT*}dl9}^4PkPnN5Ew7@x;$Y*wbdM-_9u3QR94$R`?;^&2L}K3JOz~vlmo%fD|-cB_kFYbV}frR@?pW3|EGanv6ud%!5*Qv`|k(`M4tM +bxJDinc`xJexfq&g5_>dR>p(2g3Mu#t1!AT)y{yKyDKWusQ{OHc8>MMUj_S*oIq?CUL@4BGs#msXs_& +<%UO^x}ukLy%T}R#~Wb|`qAaCX(c4yAWpXZXdDT^IYvV=`{_bBf5RP*=N42jMn&tv^96M*~*v2m$p%k%}M)q>+U9-DN +P=Ec+>c#SlRN{Uq6@kdJGtWNr%!{tBsvmghKMlt)8ut3*c^@7|linXt<9pS(g2e`5qWPLjCZMN61a9D +2{mq47^n1IFB@dWY8Un#lS_sI;YZReF$t|bIM|?%0cBnx`U@I`me~i`yY=;N1TuDPe^-k&Z2LZ!W>C7 +HzWEMkMB`M)*%%@XYjgm~ +ye!dU6Q^3F5y7a)z7erINK^~~lb|u=CW9v-EHD}Vq%_5ERmh{nnPM4II +*zqPy)}h~Pva$w&=6C2LW!EPnZ_%@0}3AT0Hr}-26oP7Hl@7 +##8BCY6>15vb0Op8=#7@jAk@pfu1i4kDWQdk=VY1X;sJw;5vnX-vyOmPT>O{5%fSPrCaczjCHQhU5agg?sVEWouAtsf +aRPlbr1B%kMCS6SB*xb)fPOIG4(Q4&5h1fs}+~)xuqt`&w~xq2JMbcNS)lTN5(nYX=-dV8i8QO6xJuL +;$3#sJaVL&rIDoqMd16KCg1m)21V4Orj=_y;(}WDeyk+sp6)U6uEaTjZh;HE_V!4J7zgjyB@+32J_{^ +0fKOS&J+zMxvm^~2{Q1{O*b0sH*D>{opG$EMj%j0`lBQ*4(|j&qp9Q^>qigY^4)Ta`d7*o#Av622**% +&4?Anv#?0&j?p<_IAI^+219y%Av^*h-}7n|(G%e%~%Y>THFX7g1Ce4JzIv?icH$%uz213XFd5;XT{w6 +T^M`4d|WhIg1uUBa$IW48YPCtD;^4nl+&=5xJDEc*1ZIY{t=CU(^8m{Q7?%aiUripjh9ouS69JZjQBH +qBwrzEV>c@P1x7{{7L4^#+sW_|YFO&T;C;D0`_ZT^g5OcI1Jgmcw|m@Spp&t75+k227ZDEQ6cFWpF6K +spA(~ZRfX^m_u}f1N`HntmZ*~WdtF8Fx7na#$p+^(zvs|QI_jV>Ts +^dVL{!$f4>(lS^Z^eozBdjPvZwrO9KQH000080F$jzQQ((hTE7PX0QM6A03-ka0B~t=FJE?LZe(wAFJ +ow7a%5$6FJow7a&u*LaB^>AWpXZXd6iddbJ|K0{qA4U6@M^nKnuBbYj??Gmk@}li?IuErLu`v7Saf2E +k@drWLx*w@97zV1cp>XRZ?cAryr-gPdDf1$3OIO_<1~~$#^iF&WH4Iay|HiPRO30ozr41=vvE_R9-}b +I1nULx{CjlQRLCBl8-{CxbfGXPDMt6$b_H8ntX^lXIl+pB{K=JPvTKTaUwLuA!SEYLw+i<)b|pBqs=B +)()ThMs}x^#5^M7Xis>fS_T1OP%S1rS!f1SH%G0bXDPU@yQDe}gH=RxwDvpXf)Q=*Xv202+kqZ4N0vp +L7R+*N|9Pu^MW)CMsSDt>L8yT&%+)$g~VMbX@H$}FNm64dQ3;gqqcsZ<0=uNr>`SbLaCL%>B^jRpOVg4pxM$*UQi +S&g^1$ikYe3q^&C`atbymW*{G1MFQ-;$8HXWN{9oX{JmyR}woY#~-^cp3YTbSM0<38xE+kS@J_=^TZi +iZmdpjM_DlgFm1Ufj*)9XelU9MVLn|Xn-tz880rcZx_^`ex)z{*{nZZe0>X9qyo1{u+=0tNhF~dQE5+ +Q1ssQhtKn>Li5LBkmOmAxO07t`Tf>$aO}E==cYo`2iEigOIrX98^wUq0&-vLIGR6HA#Va(;Y +Wo%5o`o9ixor63LP(p+SGCv+oT{uk_o&OIY;%**T9VsN`~7nidkzDz#R +d+Ip<_}yLyA|%(9;0M=jq#_Dis9d#jLm8od-%n#Dpoz*43pj4d#-W8T_pfSCabNp(Acjz_gpJu*iELu +d8m_Cnjd0y&<(>vTWyZIYp43rsJ`ESc!D2l9Y*qX#(ad;Ru~S&mxUqDoSBosy%7(Uk5DF2L;4JgHbOQ +8GSuwtyP+#-DvH}oXKUSd(gz`_l>^Pm$AitLWMxgJ5%2R{3y9Tkl%OVqQtfHc^?=-#vGA*1mUpAH(jc +?zdJDv9T=f92any)Vq;sssUKo5=M>?e#%h5wc5F)wnTVjZLh9=v+>YWMdSW{OZMW*F|(tVo36bap?j- +gr^6_Ld^+kx(mU@ZCvD-@Nvp{r11_cEWou^!C4+^m{%|@bLTd-#PTrsCv7>tP{G&OsX;8P*x-&@XojY +SSz(ByEi=jrAolR2sA`#^C(+#NO8{N7-WRZf)5o459}swhz1*kAIS|UE2uJ5lwPEc9U5V-eD57DxW`uG+g@RoL_@!Lsah}4z|K(hP#>LW)Dh-;+JBd8sPEdpcgd&Xc1VM=38kU)^GUgnuA*&V+y*E|E6R&7AE8FGh)nX-{NjxWD6f +@85JH(kYLQzqN(u^rDYwz%@X*-D|*8%GQY?$!Mk8_wYzsU6*iW!o#YXtR)t%xH`YRmsiwuM-35$Xb~Av(=RYOr{D$U~7raRXKgQ>3V$;7}LZEb=t+?D;yz+~nfpA(eY8R3lb +RlecV*CNSwQ9~`K`=4u)Q72I_8?l@?dgGTBMLhWwvZcoDQD3zciQ$u5orZHbBcn2EhR9^I6qa8uuK59{&y0bzw%py{L;C*SwwC725Z9*VxGeSHc#BTuN!Df2A&f +-QX=bWL1#m-an|Ui-jy%lBYA@2_ +k=M+9eqo2039xOiL?aT)lu)yG&|h=x`}idUtBex1BD)IUWeNuZ1{qj_gDqp&AEETyo)#$HwMZU*W6M2 +b{xx;)4(tuq!hhh-d=eM1>Bk$M`DP}B`~yia+w&2uUM{XCgoqEDy0XVT`Qb>{oVe7voC={t^dGN2t1?cQy#D(-se>p4LuKd_kcGqd{~LRVTdsrg{bW^2ZV`% +<-4|A!DseMR#^4%kc`6|44s$j9g4xsj|;sDL{ve#op`SM0EwC{QJd%NWy32ud4D4S8`2fxXUB|&a3F_Ss=GFfJP)h>@6aWAK2mq6fBhaQ$-k3zMuFDHyT`kCcaQGT(cuqWc0c +#}bkn=)_J>`%yt%vjlV0#WY8=sM#&l=oROUj_l}?zXrA+@Ll@gIQQ;K1W8ntULmrla-6E9flIUCX`xd +RyR@3XV9m@`aSR^&1kPU_s^tC?#Pz5tl+wJGhfVc|HT$uc1BUnPvknlEwH%u(~|gxViJ{tk$P?h$pAq +Jj6dG+@hS!AV)kmCl`!lfr4!v?ph<5Zwy%o$jTY8kx~MLWYiAb2R)F?SI!Yn;YsbMCoQ}>L- +&S|L&ibYO_6KP9$5aCGV$*H2O!9lGxfM!lT)P%M8;RM$^zC&QDC_>VF!XWMqTkwZ68U$9 +77P)7EmJ^WE3Hk7F12;u^|pi9)A#N6>AUua(>Bq=5SEud)a`%zNf9|}G|(x(E=o_K0nSBqc7CFa&G3Bm!?HfH6SID9jQbE(_0zUibDJ`{8z#B*)_ycG_ab(13|QM~i3P?*OqAa#d<{{E7U +X2cQP9urfOsbIDT5wcfZF;rWdu?LErgOucxE8F$mb+9 +5!4tEjWwD<@+J&TkO}8brqZi;fV=J1X;pdUiGO6+mLr=`C}` +mInct`<>j>OL;1$QJJ+QB7nEtO#F(sxlb&Z1L+M|S7*CT3Qi=$l;x1gBaa7hECKbsk7D?4anPqr_eBH +Q6`dNk5KI7uFT7m8CRy$D9+8qoaq+1Q&Aoev*akpCce!t~gYZ@qCujjg&L#6Cv<+x|3wvx0p2LVE$=Us)gdSVfT^jQt-=Dk(W)?o +jVz)ScLY2{KV$Fs?-KRjjH^zi(hJ`1~<9{(mTLxk6U>AyA0vPa)O5K>HU^O9KQH000080F$jzQGABwW +k~`60B!^T0384T0B~t=FJE?LZe(wAFJow7a%5$6FJo_QaA9;VaCwzeO>f#j5WVv&p2USnE`>zBl;&WF +Nvsk;*eK!@t?hBW>avS=*QEaU9rF<)C6U^_*z@t;zM0wSc0WECNB8j@vv?BClL+J4V)7H80gAU5gJn?XN;vnx+6b9dI( +*7HJ0&PQ^>MuU9~RA!dC=OcI#lugKg%Ug(N2-m> +Q-RUK%|DNshO7@5ws$;JQCN-*#dQU@UsVxB4y2t_5DP=mtu#x-+u>VGAym7LfWtTbUh~RWTtK`XZG=M +yMT?wF;PlbMX|X4~un*aK6D)xLSqtbTi^yUm1?lo{mg%yHk>hxhgBPZ&)}JJVvX@10%w5Jd4v!t9}}% +^C(F$U91pd8LrZJvYv%2EZ3{$B8mDyLUe9%+su!e{MzD@DYu3@S&$b}xnt=Y9rgL4E)5+)me9rrc(Ib-jyLb8%Pg1q28eau5AbcsNkactJc5MbQ&}?gR2gFfjE(bc>SM +^*!S!%B_%gg141smRp3e@V`Q1M*RJYUNNg3>GY$x932I82Xm_!gb_+z3MG>)_8IO*m_UQ&dy&@O9KQH0 +00080F$jzQN2Q%F=zt-06zx+03rYY0B~t=FJE?LZe(wAFJow7a%5$6FJo{yG&yi`Z(?O~E^v93R84Q& +I1s)2R}A8d1322ay9G843ap~osS$rcvQgw@&=O@6rAULM5~#m^A0^pNS{vBqNt&7WIP+#W-R}8A55uS +Nj3(n~I7^1~FqucsbRo9e>C$q?X>P<;C?+Y=87E<>&_9KgEYN04DQrRK5IR=E2}C~fS1$FQ8`3$sGaQ +JYac5Ju=P(sTsYJ@0(8}W1?6s+XKuim58hdIub3CI>RWts66*Hb|U*W2qqh54PgS)%GL2))bpioMReX +OOJTW(%?)>IN{<&4;rPMe;+{sIfpl$js25OQloK{td99XU;l%I&mj>xVQ_Yz#A%S1C7~lhwI +5@{W$nZ?qh8{vVVk-MX8{i9_iM;ZrQe`N|XYIHt>_Nk)*@`CIB2#+eiW^k3C^u5108d29mF2`N?Y+(J +PD+h@B1xMFjWpG*!z7{6Jf@HqVZ0nit4SEsVihmu$uJ;FI6p}2#XKkSQQ{nwg@%$DcT7mzl>UPDS|lhl+O +b!THm6)*qKM&%?5qFPL#frat{0G#p!XzlQrh+D%?Qj6rti1zg5}iTK88LG`t*5#Af|puv>*X|Byv!Xq +}HZS5865(It_un{WKWd-VFY{9T2S&SS}qJ&L02c66tn2xzPm$>5iG>K=@%p1N|!+uA=Ao@tq^Yo~SH# +M2o|_P+RLTZUswsLh%DKsy&JKOdC%NDK`Ex%iZ4S4Ww@4r=@h_p>jNeH{otkdruf^izD^o?ytLbGF?y +SkHbl)(@7<>wlO!b-g!2x3v3I_Mo#Osz|vW-dzQ<*wfkdBte@UHsy@{b!4YtMiiM+9V2$j)o~gO_G1n +6oD|Wsderb~S&yh7(Ll-}e(Ea8)#@)>veP~TP$s7KTtT`A!gyuOnT)E(5p6@Bv%y;o8#Q%D^!@m}4u! +bFswe=q~581lvC}`W%wPFSTRaC=WX%t=6#a>-vkW6h$w!Mgc#=BUO9KQH000080F$jzQA7l+$ +-n{t0DT4k02}}S0B~t=FJE?LZe(wAFJow7a%5$6FJ*3ZZF4Sgd99R9Z{jczhVS_mqn_FeDzueWNGml! +pe`XnB&^g^Fv$Sf8k>!sc9Htycj7=OtM;&~<^q2089(#kxwyD+Tp>WMz-$maS#CA`;|6$vP-@I*Rj6{ +kQKhj*(hV;%G_d38GhbuNak{)T8&z~+z$Nqqm-Yx;W?Z(G$L0Nc%X866)%MD{pi3Pm6`4dxf)pdZr>P+<;Z*mPtSWw`uK#kI9%aP@)6&ADvU0G}3P|ExT3(W-(Ah}Wnq=d9Y$Ytxy>vTTz5; +y8I2H)Y@N?z1&l(tnK*ythYJ;fd=od($Fa$Qp3!(13F{u^2x+`!8E(eR2EmhX0A4@LpEo)(MwF{r^Ir +p4ksmi_|^yvR!;HktZt$h<)n)9>r{*={^@2P|e`;QIA;$8JBmQ@7f$wOgx=!werm>K^P?c$FY^# +b-G-?_R}7|zlNj_aNa(msLia?qw(7b=j}kzqB?p%z{zV9K&!P3=$SMy%B_ +QGC6OI2~Rh<#4jSWe_&ht{0uaT-C2C<;MpvkHH0jV{w9p@SBWx3KYvD%Zc!Jc4cm4Z*nhVXkl_>WppoPb7OFFZ(?O~E^v9RR&8(MMiBnauNWm#1rp +~%s!GkJkxGcU^Br%piB4%%S&Kb}Rn0ElU6OLYzO#P8IGDTKwf+Lk&OAHw%rk>8FPk5@bKiMW7<)r^8n +|#bo((_38Q;s+B`nqmGsRb2uoQ+eM&KGY@-t6U=18@Ih-^-)boB%`oILOG2~)X61u_BCfI#yQizx2HL|8^sldfA&5qI2L@>hzV+4Mqek_F +abC$#3ZwXPXQXQD&RenoOqlu$<~&^~zJWJD85%GW=6kc2qNty!N%>MSwYMxK3K6tS%rhl+1ADoHhzU> +_bDhHz5eAruf0T;iH!|kQ-kNqIrgCi72GvHF9KM@Az!)`U3hz*$qH5;5Wy&K89`gu=MqnDY)~44LQzM +&5P$U8)N$?rFH-MbZ?cGnPG+E%v>6f<^h+U8h+RWJeshe9H*rBBNkWx2P8R;}qP*oZO7a8oDxTh}!NQ +FL=j9`hd)0phiE+LRFeDW6WXAcV)OdsLX!1o8!#p4b664P`_{mYT~W}9*Xrm7SZW>1L|z{K^3?f0OkXK;SC?g10UuO{(Kg=4nTldQf$d=BKbgZLXaCtOvY#!Pjz1UBehpkf@utE +_Jq{t2stSV7>&qw|4ltirC4S4QbIe=p&~KKljOriN8{6K|tXno)Gj +Xl~Q%#PHJOaCj*M@UG@9DH~pV_eSn96Eax6@r}wX1BA2aJqT~jgXw8&HvsH3Q)l>KE2o1>?pqXdJ(vb +#1th6D0ZCJGC0uSEVNnlSV`AHFiVn=gQc#WA@?br%OJSBy8!Gf1zRA?TU{VJn%q&H=B`~B}>FbOBKdv +{C>2D7W))zxr%YWpy+Y%OSb3crv3!LQS5wW5@14X%!ArMGLpXy;gfi;IiwGaIX#gPj;n(z>wg7j(474 +PF4-61h}fCQ(u+MuzGJ6a}Msn$I-yNUH&v=IP!FRjvg8%$6wv<{O#9^_o-y8vou=xV=kRO=kl~d&0;J +ipMC7U0NhW67Jz5=a7E(CB_88kkbYZ!?wmW>C*BLt1!tLbUT#-i;C@|ceI_`FA3^`4eU4voMVKe@0|* +V{0l9G)ZSb8`zE2VMH6yP`|CN>ONsU6c~raGWv>FT2#>NmTjoUBS +q6-+MP=Mxgk^VYlU87l-_oxD>c(9uX9)DHUFo8GpF{6=pBcP9k%MmLnkseskntY>+>?hGi^vwwClNc{ +@<=-e!tP`BRb9gzmpy+O@arw~nv*%)abV#1?Z%nT7U9G_8+okMEdIok{^7 +sEl(z`zistOTklASVFuf1G#TVil)@6aWAK2m +q6gTaCz;SZByb%5Xay1DZ17dY +87x0p4Yk;$fC0HR0-CW`^Fl=L{b|PY7*SyuI{^EHzW&@j)KVQT?ty~bpLy1dLH^$;pm8e!Fltt)rEGe +(d-&cIB)kF*O1_QlsbaJSVB+P_qHn>Xm}$Dwht5UFWYfM)>HRjVp}#9xwc$8u+j62e2|Vel?pry0wxC +fcV*z4Vk)s|GMTxyDFWMbef(EVJ+=4;14G|a%XU*q5y%k?=ZlD&T?s|8rgQ9S9KcEA6!NuN6+^J@S*S +Y>=;Z5zE`6yUJY#~v!7=9DE%Ne +RAZ1wV0MXE66>UEd9U65Y)x?i-c-g&yw)AnNa4B7>a5nwf( +6LPvw{26pz69aJl-m69DpMCU5F;E2TzD9Mk=-+pHrlE02dR8)0WF)4dJ7|_!BcP|0vbQA=9Gk|IOsVz +xEd-_X4w?1W;z1fU4$KD?(q){h!g#Z+X#jdX1=s$P8uViFMMkau6j2EsCRGSTV2=d-NEe{`eLThitD$ +GWKX7!je&7iO1Qxs2aW+cO}%l2iu!r0-5T7|=r3A>ZqqQ}qNhV0`gMKKYTUHzI`nV!e$QxT0Sqal6jL +&}B>zgWg&`*%W^yD0VLSeE>bJPOJ`T_s!B{*M&?qysxIyxO;j%`;O0dAsH>gxMlqiw*SaFWWWbFnu74l9QzE>}tAI9ru$7Hi9sE+6Ug +aU1FKyiOyX#`mX@PUCe2(iM1Jfpi64S0r7L*A+=uBF7--k;ZaIl!E&Od6#Gc(qng3%G}$Ax#6Ob#*gmveMys%Wa +0z|!9^9pgDndq!&JCi6e%Eex?~p&*O*%t(JH~#(^VPZQ^u9FP=<)Zl=?LGy3&hZo$Dd(Y3)9P4u3n*+ +B}}AJbSrOq_%y8bIL3epGZyO3k#4NN*r+!(u9%SLr>pOo%kzv@$ZMZAogCrb&%`}B9ycgUzC8XXm1-G +1EvIRX?ym~3y{igeI8cQz{tqhrBU@PEwRHTwUg23=Sm8NaRN+}$Sm8NaRN+}$Sm8NaRN+}$Sm8NaRN+ +}$Sm8NaRN+}$Sm8NaRN+}$Sm8NaRN-0Ms=}`hWpbhCs`@VVXpb9}DfGLL!hxIEBLCYEV|x@?7X4R?yG +x3m=Y+!{+up0Y1{tL%$mrm^Y{?bxI8lXMrf@(WfB7_`d!$g!6dv7o&jZ>zsjc0U$-ovPoDD8Yz_(hWW +1QmFZ|daOkC`rMzKIbc!b4$(l$l0%6Y;hqy|4Y9NiV8UuSI$lhV%+d%za6(9CBWjCB0g@^g(*RY#*fe +mZXP=@;^*^Zv}sQklt^6GBOGm&o0d3z%L+TV^yzly1NgrwK{n?HOktl3r%AB!6?U+3 +XtDQ5e4`1paO?+;1wP`(|KetgS#0JLI2bkEG~%Z7)4+PMF>hYKE!9gD5LL|i*X&yv8h{%uPFo8K%x2? +C3AyfX-FOmlk>xYoA=foo4m;SvU<{smA=0|XQR000O8ldVxvAUDL&Dg^)lr49f9A^-pYaA|NaUv_0~W +N&gWV`yP=WMyR& +UoP?pZ`X-`?HI!abh_yy#2kl8=1&|&7%p=aCQ@h3r(SYgCG# +1fPi#1&mBD7=`jkk8CWR^dqiNs7Zy>%)rH0Na0!hS(uH?&nTg-nv>b74|?2w{oI`R_`@ey!$Wv2{zao +Fg3Lk^tAjTpO&= +>qc|uEn}>c(o|*E#gA%koM8GhmY)vMuq5pUTER@DB>X$N!^(GP^Mpl|hyG7t27<4D?2UxUjd;OmO=%T;t`NOW~(cNf5EgH8bey= +_4w&>Ip9lFHWUix%h|bl*{R!LqM!9ZerL>hwnwASORYD1is_JFx)uU8Iz*)2%YrK?g0^UcGKMuP&Q!u +9`$s4=d*$>JB?UI7BWgm4#MoYH%5&mr*r$bjDiEgj{+SO$6sGTnWjOw+y|Wg)62Fw;Ld#R%SPdBP(vV +mbbC%aXU_SGaJkza2m(5P8oM*?PMq6&wTAnK$CZ=I{}$NciMhG?i_5iFub+~gDbWBXA?^MwSab0gMYO +pAo4I~T>u8&AQ+4~-F~G~2_t4qx}2s`J)I$@5QY$1Zb3mHFw26VYIwBB*4<-bOttC(Rh<$v6gHPH4B(a`5TJ#?!0ct&J(qcY)dMZ%`^tJ#bT~Ty6~e??99I#O3}&RXh5*pZSFE_%s +{d=FMHP9##+(~_`ZBUesPW>VsaU?E40Suj|~4#j;F)j9~^vqHm?Q!M$M-mY2 +@Pb|C0PgL6jmX4&#FoUlmGx*?ihV(JTo%@6bZKce;MJ?e~WF*X0>gJuUH4*?>zGFINFRomka<;Lgi=r +M5{kE4dJJE<+CFUuh)X!)W5Sr+(l+OuBgKcgk~jpW^q=X!$bOC%V53N>P+#7- +tWP(^S&A(3HTzmUjHO=Su2ud8P)h>@6aWAK2mq6008PV001BW003}la4%nWWo~3|axY_ +OVRB?;bT4IfV{39|a%FKYaCw!QYmXI2l7_$cuSkh6MrxSKsH{t_wJQMzPiru+4QS;3f*LrOqiOoEryG +0OU%&A@1@=m2q+KMJ`&4B{M#klhOXjUx-~LzbKm76RNqKzs;Ng?!56k_>PapiP{FAY_PHvSK?|0?tas +SKy>f*9IIK17J{dM{2@ZbB(%ZvQ|;lrn^{hN!M!?C=%-0!Y#%9|W>_vGu;v#b5hK4<>0`*nAD__#Zk! +@F|x4VpRr$?oR*&Be#v|026TTwUkSQtxldcMoot ++WVR$zB&AExp#S4&KY}M&Ue?ly3O0;-*|&z5UDKnDajz-tO +Oh=GCXGx49j-zS$i=Tz{3}k568f$Ghv~wEVcc+8uK@&py4r+`q}mkN0nOSJ%68aa}(0?)v>7l6nLq&% +ZEI9vzar(*3^d_W7N)f88Cg^G%7n_3LV1D4v$o^>-IH@SocJ$i&;p^yhM!+BklldH0(l_+zJU%l=BT? +^E{qM-t49{+4D{Uhm4M>)pFgm#0Y~$CkgJz4+_XmoLh_CqI|J-#b6Q_vFRT-{;trbbd|!ZIt#OKBfu2 +ExD`X#nsK{WIPG{^zi(_UvtL2`)7~OUi=LAkIr5^dHDQ!dGz$W+$+!SoxeDH@bdA!^YZNF`Ln0bAKoq +H`EK`B#0c|SLjGOE?~>$)LrU`P?&e~DdA)7@=Tz@?GI;s6yubK$muh~q+owg9i*%8XpZ{MvygXd};(l +|=9|HZp?BA8E!_8^=?YK|dN$dNQc9Y5<`aMmfe{=V=Of?5xT>axRRq#BgKia=b(vL0=hvR9vf4IJ3=u +h`@?hv&Ocj`FQQeHmKH~;KkdHCdq|0Af}I!VIMFHlzQ>fQ11pG?aR`Rnf<`FpDI`|ovT!VvB2i{4vf +&d}CBUiGdn&))7X$`4;{7r!`1pygjTO4C^WQogHqzWlhI@0amzK<+%*%?67be@qCx{KnjqlZP)K{O$bJi=UsJJ-GMy)emRSU!0%afBE9<>62II_ws*9X}&xBKJMQA#}8jUKl_ +h|`94<*g!SP4#SxQ9bNSDwNAcz2_2sUdewma`lQW;bdUXEq-(NjF|KZ_zPX6wslscZ~e?vZEIIUx!Pf +J_tXnnp@n4%R$O~)x +t`PI`Ul-oYd$7eJx~x^y1vkmRC$yJ?7@qL^KC1nMb(q6;oPNf09A{xv}JH?aWx9x?L-RR$QfQdSJVF(-j{$+ByrmAXzDO_`>6qYJ<%W5EU^D}f=7bw8aI^H_gFlf)XGVvG4(SfT +riXRMbX;#_-yObWE=SkYUjBv9U~bKw)FCBRSA2OyQtRL&?J%Dse>NVlxqX>=EId}U)%mMK+U=!i+TwB +ysUif1(D9TNr(bK50c{Ga4;>Rn69xB3EmxOE1i(@mu|CY9flZ^*?t6EF%)pCk_$L0~L6# +ENGYY;FZ*$5cvb1PE+1!6sOV?cs0({?P!8#>QIeD7Or{t)N@OQAeaXgd8G)wA!-iF&8eNbJ21EjC?1< +*jN+m1_72mVm3sebT~E-p2Py&YiWSpI>{!WqAXVU0Qx3P0tpW*TVC;@b@G9APp}F8V#yggKw^Mq6%=R +3u?Qg2dDjr`h#&DGx2&0>`pRR#uU0T~o#8Z%xuCiBtej*EpHSMyJ6IARr +7jsvjEW1)0SUuoOVrqEhhw&}@j7;ZlCl&KG~OvS^7zuh>8$B_;w@Ww^Q=^xfDBV%JcaY-L5_`VdyMBE +EtLj9?7lQ|9Ie3=hf86YhweW1IN_a3}>x*k~Ey-~j^)B3vItOE?rG`JfAp;DU$^eq`1G!PIXm1+OqD7 +L29N;*Q47R+9fJERyk&{MRZj`*URxwG6DzP}QM3#zIb!`^II_k!o!L>5d=?5R+?e?v7b*`%W!a +SMI2_;{gM4*;Is(S&2$j-Lm=Wa%I$)l_CDU%3N-_SG3%5k_M&$y{R)oGREFPjSjZPBCa^HAuPQ8N}Q^ZZQRK72@!jin{=NnHUk3m}fTGi2Gepg*FC$R6zue2-x^vZW)vk7i#)#SvN*x6D +<%7I$8ka^Dndvtv;F^`4y?)^PPmV65}iJwi0|2Of|*^a^Vo&uTo$#4$+%f2mhFAZ%Ad;Jyv}gwR`l-KXf3on;&)pe+M5spx7r37FDYr^26q)Tx2qHa0a5siaKFu0O5ui +El2nnb+NNyFtFe=qAYIKK!|R-*tI8Y6RH)A>}QvGk0XoPCBv +{8D|wGhvd^qRiFW-7}L6HB|eRghA%Cx3F=r8UmIA*PVzxzKsuM60~kReaDxf6+)Qgx%kafUof1u@kbj +!Kn{~3=s%;9eGv+W5BP%FXnG*WDQ^*abS=3;;*|JE6We(jEPWmFA!(kXYC1iG^TWAXpY^<96MkUS~nYL+h0)FlFMAFvhUU88xNkU4uHxqs;Y0fj%A~QG#o})K66|S_|CJPe>3ScmTjDe>VB3uDNbIV{p`ACE) +%ez$^1%|W^RthmbBS&mNNeEa?zJqFX0yai6ISPzAU_f;>^r(RG(>wAoiTH$fMnp<{(M9LTpeG&{G%#&eT9Jr$y(`0a-j1 +6#@W|Kppn(9b`BO4eE0WdO4fnr{Z8BK)A>&3_}XtB~L85UM$&3$eJnHNxPY=AET;#C|qy6^BFZ3iQsj +gC6`V$g7|Ac)!6o~cx6)`om$dk{Zlju+VC%Kp3svYF88& +ZJdX!6`JaAqQ8If6;H`0;+#+ta9miv+ij}8BP$&J3q<8nw|YQvTXK?*h_zU^V +bgvE>OlrjN)RacsQP;XSgp*75A_F*GPAY*4>ll5$1A|%WSBBl>4hYd`t%aHp;or0$hY$8WW|0wsG9p22pi(q%u`L9a8G-<;WlYluz!M?5ZsjK+ubpeZ)-x-*?Xb{cp(`_z=tfLw$!ApSW +stZcIiREx+4BP;o!lsDwGP4}D_BwOwK&bJdqx69)yCPwNhU?Ki$we%NG)86sWR$^45G12c396G~({-^XA*LAXns{g-?IPG5sX`D +uqbeH3FcPE+`k~kkJ%1b^ZJb$|Cr+cDDa;D}3f5_si%|&IV=kpw%5atkVZ+hx$My6SV({p4KHz5Lt7+ +4=W$@7Yn4~>u;0EbRJ|Kwa7r<^@ERNVCLARowfb~K`+h(VU@idieOCZA>W5*eZ*c8R4&G?(eiYeHvJy +GgUE)1K^Mj63>G!n=Q{+C~NJs^GR*d9V|3jg6M3ahN*KqXfz9NFT?+FNg{Zs +|phMs%~#%*mn>FpQ@|REG*>Y7Ly<$2Z#&eKvdC&G#Rk&pg_^lG0AKC~=Suu1^q)`Vg<|AaRqlFLQKHWg2pk-6=#g#1p2#)}GRSaDtMgbb$EOW +WLAR{BsJIN=Wf@Wy^7IM_!1R!F|$iNt*HkmvA5%h+G9#&Wm&K6NbXmW7~vH%bi_DyZx5N8@>Xch%cv7 +qA>w1k32O;GvQwta;(s6;`T1OXoEv!I*`^5QT_}lag +;Zn{i)Sa8+lVm+xM20;K@L6GLhC+g_UFSblYmV01lnr0%JM)0p*%t$0HtUSW*B8Kng@IeU9faVQORkZ +Nf|X3JyV-T3)Sp`yj$@#Ow~0lqU^VBzD8|iJx)=8k7STqWCTmwdJg2RP4$rFxKZ$9Bq{}{0h9;XM1&0 +Eu^d9=1J?_JLm?$5{*}!pOh7Cs2?3&IOx91}CQ!{q76`IYodWqUTSbpyRF6NJXkfdSDT}=vrV +ylPQf85c_iU{MHwG>Jo2-*0@uZLu1o0}i<{)4i7Ew^JhtgEFjcbi|Bg2}21N?{JFg1OdG>XPUgxsutM +p3$+?PNWSe2U^RC=WuFm9W6Td?}j94>E(*X~=ESXhN+WJdXxY@L)Mb$!PKlV2rfFfZrPS`AJkr@yZ6U +=1s%q5U#8s(J1g$><*Y$>bII8>L&mdPw#ADyYOnKeHBMLyTwHCun-yPPX^|kWgg;F_Evah;)6jD6kq& +l$$;4y>sTcp3y+lt@WsB9MR?!?2se^sjn*tXk=rUZqjEfC|G-%!GLi)1_$saRwDTxv3R08O$^7#v +5pEN(GJkb=_H0Hr=ve@G1|@Y@Q@}6*>(}8XQE!dlm~;<@>&UPx3v6c+NmhNCzQ+h2jvjBj6*U6_VF@uRi>(f_&+H8N0-w0W5!^ONs%TjN;S@eNQ +4Efr!jg-=MBze2aQGdzJ~{tO(Wv>x9-YQd1Tt|gAvhEckD0=9y&6tPGiReJAF5lPd0;1Ir&aaanDHEp +5|n0IrA1V|@j_gvfKjDmRBg_KNWpP%o!p5mp*&AqNlY{JK)-ue#Qvcbw^w1@_m)|kAW(Nv5l>okOSK04ONCf+LC&mbV;K1ZNas{Iioq^FP +3_pu-t%@b@USyD76Xuzr>9rR#N4-^fD3&j&G>$+w&C#~&vgNM +gZAbNQ%$crX3C~FD{h84O4#al>=hyIhy+9V@~oJ1}Kgd0pw#*!)IiU+GS#!KIt5z4~BDuL3>mg!`f1O +Rs1!juBsLJKpWnON%00&|qf9&h!~#v4Iipwi;uuyi^0pnGMsQ=~BSSa|rsf(&Hz@Y~vp(>rTzj?`oFe +A$+VU?)lmQ21Zrf>_`5ol#?F +oM!=Cqsj!7gmX)4AwBAAkfH9i%gs&4;Lb$QPs#^W!JH%hAtFo}h*8c=$ +~SDBen$J-MON=TXo^j#cdil+|bO*TiRmP1V7CL%-;4LmgEvd*P*ThK9VS-L#*q!49pn8pp0 +zYhP(?1F#LJ~9+GBxz5!~BpyKWcb#xT;(5!_H6h-ic(e2G2$Z&!#7@#}Hn;##k(EV1yV+ySmV%F00J~ +uZe`oq<-r-R85ExSO~_c6stK?GP{x%CP&{Jp!iQvLUPD24IMXWGj{9wD6#lyLmxPk}@)5@&L=b$`I +uCS}}~yeK_&5Uq0MrHm03rYY0B~t=FJE?LZe(wAFJow7a%5$6FJ*OOYjSXMZ(?O +~E^v93RNHRbI1qjJR}A782XM4;7Yl4RD6q0(r$&5(WTVKFKuaT=C`B41l|cRa9{HN4Hn7VlX)cFn&J3 +sBzI>=Zcp6PWI+A#EPAFZvF%oy78|CSm20VmqR8Y-(ot!CNTozz?3yyzg4Qu~q@|aLeB@VFX3 +LgLLH+^;;-~CgCbkSySyozR!b_tae(l!S-4B3iZtUKkSr(piTGczm->(w3!P?fiYU8OB-BR!K=f44QF ++8A9DTOJGD5qiV*_Q68;nQ?UV|HLlPpsLZnt8QSGDGrMW~?2 +PaI|e~ZgW;@*bqq$L}+LLzf<>tSi;}j{mRzCLZ5=(@wNkEmyD&3@C|=-bK4}|f^d#6oF!(Z4;CEVoJm7*$!JeGTFOm< +;0RD>B0VXgpfHH0+0?#dMG)G@Qj0(mae8qi8t}W127H`79X(L<#dz;zrC%BA+BK09hI+nX?yCxqay`X +s-i7mD5JNGTNN6#6*$66WP}PtB1R +qz`2Q=%F&kcByZiZ$c*_a_>L&diQs|Kks`)%LJBdhX&Kf|F}fjtyW=8NkO^FHo`jgTWeORAN^|{(WFv +d_G`}(yb1gH&U?tgc9DARJVvb)*+yzUrbRnX(s(9&&oKosr@3op`j9YKM$hr%J4c9hR6DGq6Fuk3U!v +1wl1^rigK?|X%9L>9IN7BZ;q?5emd`D(!%f7OjZgAJ#b9{3RLJ7UD#QJLbG +aj4JH?5ygO9KQH000080F$jzQOw&()iXK(0EK%103ZMW0B~t=FJE?LZe(wAFJow7a%5$6FJ*OOba!TQ +WpOTWd6k{rjwZ#mrqAmtQbMD#r2=RCWklNJEj1XtTN?w@G_pJ=sOc_D$xRo#x-nv|e%A9uBp%7$(hLV +hSACh0krC_nUGIwTz4!k0f7^#2|MBT(+ow-I`uMXiKi)q4^z)DYWBV_zeedSI?fG|i+vkt>f4zV6;`R +2?!>haP{_XashyQ*5`t^(W{rm5Kd~^Tu#k+^c?d9wHyEpH)mvPMpH`lFC-`u~uk30Wx_xHQk4?o;JZV +%sX@BYP@as6j^@7}(A@x$H!HSGPvo44`n;|~vy{t^RkUpzd{zrTFEd-3k>)%MNLj`+`ydhy6uKl~hz` +tIHKtB-!YrSlvy#J{}!gYC)d*V{9$eY-uodwciz_q$i~O+I>f^X~Efn;+vffA#j)zm30a+n-)M{%!l> +{`FrU@4w&P-(rUEws#NP7eBxI?%~aP|5&Qm_uo9ec>I}F`}XnfZhQOi?Yp01V!zvde)w^F`Qpv?c=zi +5?HoQ9;@$S*&8y!$JjVUsKfJpC_GkX|?Fat$_Pc+q)F({j%QcbhlZP1I)&1RecOReg?7!bVzKy?Z`Ga&lZH;)l#a{pF#X +II7yZHk*{yHZ8^Y%J+62&M7hgU5;`1**{$Sg_yt})Wn8o~8i~P$He;Y%7{}3z +r>h9f(``2&htN$go_iaq@^{ef>7k|HtZGL%o9}=~_2o?F^=l`!geEsm|ufA{G@{a}m-FE-&_U7T;?e^ +2-eaKEo-#_hcjPj5Dy$zv%`N8ehQe5=n&EHj~~4I>9-^O=KHwg +@i+g*vr``1_Wt|-w(TF(oR1WL%I&!R)cR=rsil1Vsn_|ZwCB41G|nZ9}RjYe?KmPUW-|ru!y-f}K`G+u+um9EKUVM +Xk`DA@zC&XfKl<*)BQh8A_Me|WYM|J}?e-ev$%mhQ{PmYl|JTRNzx3l8J=F2p*Uvxy`jclL|Ie>Kf +A)uupTz~gx(S<_ZqwNJ+tl{sHYVO~Q!VK>toFE#PtW) +_Vk)>N-r&bE9JK28pFkw$FDsevDJDT5?|@m)vldK=ku0l$GgXB<o&N$u1D>A7gK0RC>2G04W^ +X|ExF|ji?C4O|?J$CzKWslnU5esIWtd%R~zmaoVpS_sM65#jhC<`s`n(t7+ +F7dM{6i~cg>zTa$Tj2Z9g0>mUjr(&bd!a|RD#f+rId&XwPvpcg$yg-X}&!w~Or!p7MDQ!u`7{^U4FIy +SwnR|?$N-WBDD6Yuy$?WzshHI>L>|Sh0VOP<{7TcJ5VvTd+1@avD-1AKetw%`X3WdDJt+Cn;5{rTug& +kugr92+7m4T$Nyog(@!ia|*@yac)8J}s~ge(@87Yk84>fd=jYLVD?W^yp_2q{m>W#&#%&{J!YKm68)WFWvabQzoyJOyK;I`kyyEAZRk8`YXh)TRW +Dul%gWyIj9TYKTt#1yekad9p!9#(kK&bsHk#O*wen|PftY#6+_0kuFkQqvr<(4(;Lv4f#7F{7%5B(rnF!+;$Z{PO6ZWwI6~fQ*_Rv>f5)Y9Lyy +f5`-6fU$Y+cc4`X5oBL+004s6QFUc}$x;*9tYc2KL)*!bbVac#XR+N!KZ#r?7EiTgXZ#v?)m5SPTQ2l +f@e(mvWwFMsv2576knMQHU@3ey@4h<-)&*y_hvUJ2BM`h#?`zz)gYP@1>??5UJUWIEl +r31~uyzefhW^-#S9$FG!DIRgGf%}LV7ypjV6ih;NnS7fA+!+19T>MkCZsHz|ZpA#aqFO@D +~SXpEDy<-VuqZ*IKE`(_7cpGz9xzW6sUD4B=yMC(x8h~pna; +lT!NV|?A<`_0&b?y0VrG3TsR+vvhMwONexrtN#iGOwN0_)UhhB^KWVd*!SaJ0LJBfL3Dr{(T!H>p9?Q +38HmLt3DjE?5wJYutux#Dic2PeWjupim|MexFS@+scS_#u2&sBT>YN5B$eq5?R0OhUXNLK4pj(Ne>CL +?}qcZpXhe8xrr{=c0Cu6~kfY@Dy`k0v2plOj`v_I0~IU;m{0Im{@gAF`!_WSC>t76hxi4v!QuC79b^DB^#dz)Jn +ZnIuo!&5DEXN5B%7xjjTJVK71?Vm*j4t3 +h^;-HQ9!Hymsq*pGyN3ab-A9TLT~k8U`!G%vI%R9dx&ps?!dD-I3gUwDCn2g=09g%~jze4ZgQg~^r?Y +gBbtzGFF-ROAR)67gtgGm4D!$c3G0I8L107}$9I%kW3Reh@L?AoqdO&IUFZ@8z0eiy~klq}WcaJt0ZW +q$J2JCO={o0*S$`#DhFLUL^)L&SB%L+FZCKL~;!r0ZUfFPi9ikYcxO1#Ez|LJc5vwEn}g>be_cFxWHI +)k{A-B!QTv}*5(xgmV6Kd4d&S}4w!s?q^wa+W(MPo@?L;SSq>|yQOhJJ`5 +>z3PdBd8i)|Fg)GGs37mIj?&R5IaShjifFJc*iU?RD`e0KDDSFk|hNSoEZpRK9L`5nW!=VCLr;IYxVv +N@?QO!FP!E4|_s?eM#wu(G}P%wmyaEK|kicxOrD;Af}8-c3vrOm|1)tA&DVxt9V5NmcvNhj8U1v*s{h0pGWMMu)?wUXe}le!Heu_8KKznn@}NkJEj; +vIy=jf&saF2h&Wh{3(I2~O~kbsL!7&>*Gci%knvs?JgOe$H)9pgof5XgnkYv2f2LS|7*Vu+T#maK^w;NW3HkBIxnM`S +|%kQ5eQMZ$~|fF<#hb}TtQB48=g_NufRa2ExKvhy$ne2{xG*${B&&N~{Wu<;4o$0ge@GmeNY487h8Ss +X-cEq;XWP>)cnjF4oIF~qWB9YHQa8Dj3JN?0O-$AMUlC2o;O-GtKO3W$}6gkm;WM+}a8+?6koprm}Dr +h74T(I#Q7i@6Sw|5&c+0Ab1OQBunr`Ditez$+oHjfFNs*iC}EOF{nAU3}L~jskhQ*D$+#?1--n-_RDI!7z?-hz*8q7jnLE%Bbf-4A-0m`b_ij$bA_%C)9>B}tsX#i%l8b9)>A1zA +Hi3n@A*HVPhVDpHn$nJz>PQ5fC>)z02LQccOVqm5lLP$)5CrC%u(++I;0-M5m#OBp0_$Vkj%mKtT=ZO +dEr(?2|Cqb@B;rtaZeX>v|dr7i)Tt+B@%!oFtc9M9IwQnR1NJ^yPx;9f;&=8~NVkqeAk@0z**$6<{G1 +eM~3%$ucy2gsdkHimO0MLVIV%z+nuv+Y!sS|)NZWa6h^XkCF`@bwj1T0-&6ybXecPby4$b^D`1eueGI +c}$6?13p&BQhTdWqS$n{*~N>Ns2rVOGt8+#7hRx-&tA0)0D)24*e~9F#YYxNO%QIF?8suTGax3lJ}?BB&7RC)bz$055fWS_@_`=(6`KP`#2E20)`a*xf!}ON=m(EV+F1on+5GJ +=(d3emeYUrm_TfQVPsj5bV3sHfUQnHn$aO}YGVa`^KQgO_8zwtqUX`0V*xN&=xYnj%>c`ta3}$g#=^!s;w3XdNc;*$b-DjRz_O7ycYSWNsvxQ-^vjPO!xTDPL5 +(-e`-bOFM0Syx^25l#;3TeSGg7~B|1&-(cr6CWCLI`hB$|be_aOjdOc358@=C5#$@$~WOd3w?_L7Pb0 +ZTQtKh+H#FK}`P{9~iLu?BE*=nH8lm3BiE>81P#RT*5=c6nyRas%snjLMCjm< +mY|=@B;gXAIX17`2IEK2;Dwqli9Dvmfm+TZYU>gYAM!II)s4C3JRKSOQLyQiTyMfDski=3beFwAiU## +cBx`|=nsjQ8RRaFSPR&O#MFdisEtW+Vc7E{>mv#S>5y;%$uf4!4akqD4(*J2i!g!Y#`J|kd>K?n+ywp +aKANjDH7bsHATHcTXu1Bpb;!qxT#I&Or}0}M4UTM)j)hInH#yBs@e0?I=}hyCq*7#P$Wof3#q6eR<9Lh^NKVXvkA-c9V+hTw#%_SaT{{b) +*DXUPVK}jKe0w%Qz@{K`)URrpcQ{#Art~#%1T0~?cspaNhN=~=CC*B^<)n?*%%F6GMafhU2#iRByZ)L +=R8GGvMQ8Iu%c>iVInDUoGFJ>dK4YlCgpxIfq?(f;)LAwojc&#yiq$pafzPWxl`u&>ZTKro?t3=8yyUBi50j8rX-Xtj1lZriX>?_979!!?W=JXS|9F)Uo+yS!J%BhNHfyKew>%MB?A`10?J$)vIxk> +=paE&nRSh^8kA7b|1z~1EDgV&iC;Q<89$bSBuYZWd3mAm*iPXBixk;Kbz<5dV9DZ3fufVe&6t@8l1dT +@=^EI8djTW3b*I}a0=}f~NRI(-$6djs*BIy_|_yqK<;ER +AO8`8UJ$*N`huIV79V8%s-?Q8RL1T5vWPG^h?YSb9BsoW&L%(GD6D5SSpjJ|=?8MpSN#l$y*V%1*Oz? +6il<&wj{<1$dt38^FzYivbxWd%~$H)5xA7|~;=bgM(a_8K?>maxKXxj`w*YZxo2zJ?>qn4glU5}O<4c +kyg=fVppG?{)dSu>WixuXtM4A@GNakjc+8#gI({3f5ANnRI~vW|F;ZIh)Nh4NfMSOO7)L3xc1BMk-a7 +UZ<8~lr1V!6Fb!x7A50CPplxj+JU!{I3l4`y%-^2+BcP|X0fi_jAhL|fpjSe)ufY}kP1tYeIn(kjME) +R-;grkuWbz+0ZTpv^xQ3mBfw8cWvnMEKoQGY_aGE&x^J^hH18a81XNgKwHXm-8GK+am1~Ek6mZZ-i`vRMS6(-a#6d +BTaS+_#Kf?JO%N@~Eh5f650I;TOldvr30=3Pt1AbQk8d=Otkf)7n)4opd?PdP^L$zi6?H9f6X3(02%I +IO~1eZVVaSrzQ+p=CY^moMuUY1++3m8gK)WZ`{s`3+UsPL~(JX19FI&M-)}YIKNV6WW3^W%J|x^3pYH +HhD!f-`oN!LluWCCJm%Ct)Y2D-wjxx>S+$Kg~Ga%Pnw3-wG@?rr5|nz;kM?Gbpn}7RCx+scEg->YGRp +UY$iB}T!mQ_Ow0+!u4v?I#snezwphinLNAr7`78_#-a2O;fi4^{tH;Ko8~xh1S}o%5z|IU4`t4jo +7}UK+43p`O9>IIAQDCT3dmM(mb0^@H!SnQ-6DKa^Cawm$Ga6+VZ^=5aU#ZytpslnU?9^rJ3B$F0Q4g! +V*nIU_|kzX30c=_7P5KZd5Rf=+*%t}qY&3_QEt{ULDu7vZoLJUo+z!Jx0P?AT>spADEJuMI^;x)Bq=E?eBHGl)i1we!O+h|MzFFuj;EQ!DqK8eyiu +e}EFEZ?K^EJ)ITXK9*5>oKfHcg-mS9^NLQt6P?o17<6irrRtE +E+RKD#xi?DJ675TmjVh!8__pP$c+7UBh%-YkYvPprG++h|^cqiFC7FY=DeZ{6CQKi*WF;CFx5Mksn;~MHUa0D!A5-Q|k5e1s +mHlc>14RFilZK`Ul2V@YyjgqF>B#YzXbY-THZZl-G0ynMj?j19e@dq&pl2T0qD%}P7c0@@3(p7VUrQL +K0R_K+ELAp&ydMy)qCFMTQK_m^NpyGEZKg1h@u|Y@9v&ayZsG9CqP^Fj#U3OGRf#5B +h5lBM%|ynRah36bYEI;De%!8sL0HmMI&e3uc#@(R9h4$b(~8$dT*!+6p)+7&nRInPhoUJx#0HkQLAtG +!WfDcbL{L~@?q=caJ~=E#k)T+x9g-fI#CxVm*+)+)I)ME+gy%KL%k*#5$$PrsJ`2R%< +fQ1hib-5=aif4^0%hEn5NUcH5-j0$5WFi7W8K6j?`;QUl~q+&dI4UUq1TXTsuh0AeBGjdBfqQj9&_UZ ++h|&7vN-K**!H%9NL)Z02yP(%|t;Bjm%_Mn!!EEDh2vs0HaDStvR3Ocki{QS{ApXXL~3v)PQ?M`n>Up +fYqV`*+p!8W@BHdk&8b=LN#j3^ct9(`Ac>Gzdhn7yLvx?U-zC8E*}^{xZC^=2>+%+c~S@S)~u*su#yjIh{JGwANI}5MRiXB|gYQQ +okngRf}OV3n#ts9!qT1a*&h%i=?-Xz^7p?KYkF~A^gY{E$tk^tJe04IvrMS>2wc345$Sb)b1$!Dk3G6 +&B1yi@DQvU8aX(oF6t?kAUB07|z=IF!5I3xktS`vTBQ*Ju@38l>9<2Pb7+F#l?b42D1g6R=aIf?299!h)Ws|*K +%t5?F=87RJ>%qggq&MR^yL6yIO_bDGa7i!M=FufYc@dkB2!*kTDvjoLxKRBN3dc(i3}QrD+d8d#Z)x?>S)0J|=Su +%;Eru66Q#&?Z~f+O@_JuvBSBRDKfPw?iE1z_(r2%xQQC1PQQ{uqlN?W2IRuv=qJ0*dJiYwy@0x={6sB +z{vg}ic5Na0R~?-i|XMKg*EY>r%0bjGLkl{&Q%i4QfWxHanpew0IwZpL&PfG0Fu9&97DQIG`eMQ)J*GDp;szbs|qL+Al(*Hs(wszu>m!LmxMZi-3?f%8yK4>s~5%m3G-|@TS +d@GTnYl|HUWjj&fqBl^(T7`JZtu{NRgh|2#(8)4VCVS0fL8<>N0#U@V`O2?T7V%>a>wGj3otycoo;(P +6l<5m`J=8n__PeDcVMpOeH)l>5>Xaw`qvsDwP<^WG-%NPBw~DeOYa=r_*Gy+Qq>vNK}h)Na^Q7bGR-xGd6qAV9gD9=_S_-;^j%jT5MOd<8PlYdl5h2V +WX-PC96&znVDfF4g0}ynP@s6=OSL0uUblYt(INdyX=h+un0`LAovG!@D-k>O6?3xmK0LEb*S1RL +j3O1i2K%Nf~Y2><=FPYvFDU(rq1b22>uwk4yHAytu2d7r1o4yp+Hl7{WVtF+l9-KtTl^ +l6b(7Q&o1hLPw>mda`JEHRPXz(@#qjQQ~^;o0heY>;mIVG)a+vAVW6Bidf_Cp-uY<07j{dbi+4)5$gU +1pz1isH;7{LAvd>FgJxv1K!0Ui8hlIGUz}A^VO`YYo0N{2(Hz-UAt|lf4P51w~5d?lL;1cS2VBNzSuQ +FHXK+NvTz}6)ct_G*FIw8c(!h?l2C(mTdSo+J8v&{^&IP13E*f65qTHZ2jq04*kKRat1yLk6biaV +u2;2|!~SOH(u=@&%eUNVkQa<9--l3s|#dhwMZM&doQVfykmCAUpelez7w@ZkQwIp$bLUwj}ZOoEYK7Zvc@D{s?Rg?Hm +d5&-fMp-GMcbDc#y0x$A&k}AYi=>CKIdNJt9TOh2(X~3j(mY7FRm`AUbq5o&Um6# +jIFO)_zEt;3Ru)-ghIo;sQVzFfI5RIC^~N+T3 +m2T`CRfwon7gIP*+dCe1D1@g>c>kO}}w3Q2WtC>E1n(`-l)FExkg*T9`T??43%!hq*@qY*{Wgo)VxFv +(A{lXCM5Ibj36C|w*UffPFo6QEHw~HUGXGcCW`lHFq{ZQ1v%ITmgis+Hob5uDE(&+LLVw#d +#YrMAaRFwc*aCB2cm<@}Omvp%p{&s2x`2x_o+v394l^!QhA``Hzap-o&TPUWr}^=!{kPM$W+VXkq+ly +@60<}b;n3A;7D{F*dCDGu-2}l%#;C<^eVuz>h91&wA|Q`B`2(nSJ^~4t8g7UrnnA<1;Uzh4(h{Khc83 +#2_I??9NVggAF709)VuoU0zzVcgcRJC#P1jKJdRGx;R`NtD4Y}F}>|QR6{(y8_SeSx)=!DkE0^TfaAu +i-;8{k_tM;(TDM0>FQ5=*{GLdH7PtEJ$8bX%)M8$D__>{E`-j0wB=mry#GP_i0rOC)Zn?7C$MneOT`^ +v7;VNLxc14YRUSPD^0#c_x)oBT$g;;Wl$USWg>?gv=~;bT8>^;0RbUab6d0Jglu?fQ?#!ZaRoWC*3Y~ +dN`7p}51UC9$xJNZD8pN^7VVOO +?)`4l!U}dV?L+S)~8WIiG8dobhHwk~Bh+Pq6<6$M#)pK(|y3J4wvghi^lEb$a$iW?6aEED8=r1k;q*M +AlDa8W5;!k2G1bMY>9FT4ksd=Fg6?=pSBcBC6sgk;-XHxkslesSf$AJ?X;KLq7qMOxFvX%nUZOM}CQ4 +kV@JehODjb_R1gRZvM+BM}A2|2+wIYg&-^HzJE_G@5DLZ-=`L0 +IpPtnzKQ%SYR1z-~;NP2aTwz1kYo}@#wI1Tnx2mvvfJMDi{cBo#vTME^0Fo`D$Q2Al()!m>Xs)c_fZ} +J2lO%OB*um61mjurMWWKj426a^@y~yn>1*Ih-R%`3 +`Sn=@z={8#$HJd@)%aBir3p{Pd^282#<4LJw{6;|tAL#ph4NSx_ +$sG$aw-+Y<4V?XDF>w6-X#m1HicN0@vt#+GSe}X!3e`n;oXy(U_skXKI6{Qa)mp!))>-lvDjC2jmUzr +BN$2sz{-}7Y{eI7^VBU2P9D>jSo{O*<^YYcV1=W24vP`n3?lof6@3=Ov7_cBl!oL(rdpD%8EK9Pe%uGLs%pOWPS@|UF&Et}Uz5U=C_( +bzG+X9#D!a2JpDC$k5z{jC+tXcIPJu$W@6Z{>hd598g+X*sp7#W=vJ){8z{un^(8BTJRse6FxV=lEwjmk +0$gK^OBqsp@cbmty&IS4vkXX0Zn`-U+5alW9(4vRERj5Z59|^&MLx6P!|=Eh|HYO8JI!-8a7ffvd!LQ +J=)k#RH%PZhow3D3d;sEE6~E3hfk5FWjJJEdne#ODqISkR&IV&!kbhZY&tVZRu&Ylrm|xSJ35l|y3r< +@zVFNq?#|9ZbopKTMAa+fz!$%HCw*}Ze3(0z901-;|EP}~h!q`g0tMi9$RWJdLl#y!pUcJxSJV>{cy) +hr+X#hT?6*LI+t^`nq1h^~{pgdhDN`3;%E)+F7;J&mknD>BmyR~`ZAws6AXzk})==s4*CBEBwuG6>n= +Fx6AxoS;ZR@GwY9guD}d|vWcJCVwHj?3vIj2skFq~eqo>uZy{32Ah@tH@gP1^rrM4~|2QwP{2+H5=!h +1{XAoof-^3AaAx*B0tn-9Lc@*WoPARd1*+uoY2P}d8irThoo#7=-{%$>MbweF%zcD*`7P=Y4d_3(1YWc?l16ezL1POf^mY< +2ucZ&xYCQc?QHXY8hF^8isp9kqS$&nDxw=7d86sA-uOPDT_8=~)SKnnPlc0q&P)6$#|pI+j2$YH_$=z +Jut$nUUUKt{gM4RKZ{0IT@7I+GKRG4V7!-3?kY)+tj5q}x8k;|}?@CJlrSQ!422cDIPlg +5fUTop61ZxC?VU!-g#m-e2!-@us?lV?jO=^MWAY)XH$9J1MZf<>a?28LfdJ4THTl6AqEOuCt#zbPzuX +qK{p4a+eC7cU?JsZZxHc9x6}(nmBe&(#;z9VcJ{S-wlNW{0~t)ZTqnmIkZ!Ya3D`uRO-sChOn2DCeaM +{EbOEzir>Fh8kkMDeE~>$_J>V*rt$=i!?TnL8HRd62o+?QQKF@+9)X%P#oiZK+iA|f+c3>g|IwaeE4G +f3HaxLZbgp*62Pe7!dLF+RZS(O#x(GyLfAJ+5fo*{|SHxfeUdd0_(ZZ~<75;{a~?R5ZZO$M*Z+j|WKrZrx4#^ZtDuyK? +LYnN6q`T3#rUQ-x)*wl08a^BFuK0SI*TGw$$Wra)hFmExq}#&wB-J0xGVM0ccnImK?PN?1BV|b0JyTM +qiPCmajIaT99ba`wx}{cDvwb4!ro?xTS8I;cn3%O{H;VOW9?K%m?B8(dT}8SE?!sfNZ1tUxepbvw&8l +bFvRn3vfwp(4knoht5Xb6Wv-`H;K7dTn+;J?Uh3-7!oa_y;~%r|sm>JdX$?!=cPvWT +Uiol*i#ox6OBwbxdVY@@LUMX$d8SRRaMJAK}eBCB_~^G4gEa;RkCePB|=!CWSF*X+;i9u@Aa<=z|BF5 +(;viMM2NO6mBHZEgo|-IVAZS7=)!s?U;+job2=yk?;%|-klJ-h)9Y}4o{mVl3{-`1fV3~I@TF_2c+BW +)CK#pvsz&7ZD%;vQ*Q(P#I|O;U~LeBvR$%uA$!-sN?N-Hrc20*@UEoKR$7bB1_Hdr;RlX{KzJ-S9$)WvCfAPs@B +Q+bgRg`JZagl)k7wcO+7N;E+uI^97cdURyx)p-DdkghmE?vyFVlhq5|1ZhqD7RGq|ufQ4CheAO64|FK +5~%-HH%5T>&X3QF#Z|tMe=Z#Q^_A;gm*be)VF39m`DYesjsn8rXy5@S~F`PQiP+He;2!vgYibfrm%6N +Gb$LFg?rx++S7YNNeDOBO5*C!G>{S5D)zF_=lp9>D%q(EY4WB459%3;=v{EfMuG?2z5xe8L3FrrIMuy +&;H=-u?&J&ce$Xfv7J<&4hUk^JxEVpKY&`b*IH{z +}ld>g*!`a&9ajn3+L%QvjfNjtodJ8TCim&rfka@HL%(;1#A?r3n4^+iwb1HMQQFej&5B)Eu%LCkq#x;@oWwHqIHV=cYrt?H)s5QI8h0gj7@yBF=`PyYZ7ziy#gXP30CEXp +uW~YW9%BbH4^AV37m_q+3KONTa*G;-n2s}@d +kKAR_rQqCrAg(fi=%l0}~&D2{{Oc$%ElxVHfc54pg~O0?CA&Ww%q0b_h>+ +xTq!_(rxt&<4K#Yl8D%{(}T!yZ62A_eGYgj_55Ty1@(p|(C!hIyTZIqj_HtYi${3lyov`JfS2~ut{NJ +DNQo-t_D1bRfP=kxR0Gp#@+i%UsB41+4WP##=>QH2zch1~pRi+#DKF +6p+bN1jj6Jc=GJgr|Yd56CBxV~D&PU{S(BR}z6V^=+<<7heO@)_l(U+4AC}*>ZTn)Svq4q0ma2eQRBW +m87G%WttwlXH=x6d5~_aXq$(0%L>b;bHhA9sKIilr!Rr4D!86WI;GsBzBL#`T#LBD8OAYV;$Dwyu@TZ +T1Qmo#t72V0coh8#jme~3kKTZj~lH+1YNV1~`X^{hwuOz=)fP}t!F2 +(NI3?d%{F&=W#Jw&v5{+2>dF1)&gIQ%UX1V`ba4J1cd=B}7B@K^^P%T|+!k1Lse86G4&`)1*%?~=KQ= +T=7{=R-xRU_+iv_gU~}xWjnCkqn$Y5dneVSK~Q}*2DS&kKK0GwzxY92u(WGXu;iiPGzXNf?bM^OgJl)GIfx>hDZTslHGqDW*~A4VC2PmVFxWK3z7v +qOsyA1nJ*RY@RJ%L+8W_@TCdSNjvASD<{ZSFcCjB-T!kK0#g$x_p3N5ut0;b0ADRt)}ZqOGVw!+qNzx +;z*q|_|B@+zE-?!i$u%X^TX=QMkA1ElH%@jY`YK&R;1FMb7WykRRmj>Cvi^*2;t-zCnQvI62{zo3AFj +;i1PpbHi5la1>E9Az;==#32bKhHQqn)x8?I>{iAPx^DG>h6mBG1d_g5zt4RAMQ_d8rL +Vs?j}qQRbx>GzmWbe12c8)~+Wqq!bVV|$4j1|>J`=~@a%x0I^86$e}lbjNS_EdeBunb5S@@6+owV>m3`vhqAI-Sb!rk3ff;4^zRIECHNnty^`n(+_UP5Q +`Hn-;ZnH2v`Q$ZjoU_HdF1LwS3(~1Z-O+JDlgIhs+F;uu|sNw0Iq9-|5#ZEL#ETHk-tGT!QBwWvPd8* +_a0=OTe}ma!6{zV&Px`-w54VSt?nlueUT0(rvbn(HbF|Vb0h+$aC5X2iD>dBAE`Y?qk?N4D2Mll?Ak~pj%G_1e!1 +4tuBh}Qx=NC2N>B9L!~r1_I%B_uzA9rpebHq*R>a45EH5UV5;-66m^Pe#24wj{ +KB{vgp=a}bx@N8s~3-K$EF1)~?q0Z5g|4<0o<+zQKF^8)m!?Z%8f=L6?aJpIzqi$7TR!{nRic#5lV3` +VHBTgKs@iSGGGS7r+7wn}&RfEWw6Ku6ir4{Yf^bf%33^rRI`DTThV+fXM+sKv6K^D>)|Zi|Pyp6bRxc +tjP45=5bK-s(3hnHr0>yWLn9Nl9ixBHOFhMBRd=KmyF~J)0A9-vk-8lLrs0W+=$Etaib74Xx*g>Taww +tfNPPsi~RTHzTjuh6zuO!C+L!6gBp-zA@W45X^Ur2sOD=!^z;~89tPrF;VO?^J4e2OwIAYUl=7++vLO}7CWyt`?4EQB^gK +MMT5|F1%LH$w$WbNj4-aM+x!;ujAsTLI~|W_bpN^`~uCY<|-I__D0xVM`{8c>29|tOv&k*qQH1`!cvW@M(5MP+8x~L#5$kiRmh)en?GzTH05O7x?*jVeGN>& +VkjwEXWm<7Wm(wwTx0i0`I-lAVJ1#TXB)L?*)O}ID!J%9#EE=87+nT(dJMcfTRu@2&oy?&Y^|F-cnek +EL)blsDf=yeesHZZZOz1F6{w?5NhRX5as%``JW1W7yR8oRyqaA)4f!{m*(MALZ!hRK?MhNqCwfe63ZswMvj)HmcUY+=1;yER%ebBV^ +XE%gcSaj*1&w15UDxGSVJ5Ehp@#peCDvoAodODFg!KX!)ZK49>Pqi^Q?3;*v=)_jA?5=rokaGY@Va*; +iN=T*d#K};VGSY-s%rWXKRMvUR3!TkolhbMt=yP)h>@6aWAK2mq6 +#xjbHVe`%Pte^}Q(fJ3yM6gX{lU{{O5;&9n8 +pL@k7v=pbfvc4YE!ahnpwG#S}2N4#v~mT=7&^D1jcSCMJ#9?OGjFIiONTQWo1gXWODKsI8Z-j?^01RL +Pb$&nF=qBcKB&aV|PD5Omk!R@zk>LoYA`8G5-3LunkvPELxesBz2j>K#x5C49pM}Om}c1kZy~xSg=yF$GPr2LxzmiK-qCL1J-&btjlN-xXw +6hP&MVag18V7clzf{l6AGs<^c*f0;WT-9KrNg`7W3OP$)Z#e#OTTj?P~}J!DO(Az5x;TN8?fQ(x@Mfl +Ib9hX*gR@Nb_)!jH2Z@T+n>En9t%tKom0{EpE)bWb(=49F&EDlNoyCR2gl>D`U(lOKcPg +{6)(8w`Qn}-t77X13r{FsE5iJ+ois7zA2r +Az}|oA_3rO_f8O_qmN6pNJ~Ws<{?8-QZnbi23JQvKx)s*3FRfXlf6TA>6HO}RWxw_uAse%w@3IFBu8Y +(g=do&qNVih+5f<$-ag&+sGe-z$PJ7qv^Z_tfM#=NzyF`d{R6CralRW2&pQ=~!WHp&R4#urks)Td<=w +4vwvTj@p91E;QPOFu~%~`EFj#Yk$Hy>Bw`gGn=b!k@-oB+4yS|ko8tRU{og|<6COZ|X-@5D+p9shv!U +#`3H@o|gG=n>pSzhZO{@9R^Ohmo$dDEMQemVIS4-Qcae@6aWAK +2mq6SfYp<6%#~gFaxy} +b4{QiIC)2DxW_Eq`v*=J9`dhxV;`sLT3{d4(m-uuDD2j%6P>+<#e&0lWbUfq_@?p|M)n}_n}yZ^Yky} +iosKmGK}+nZNck9YUw)$Pso+sE=M@A>57*N;AXd-HgcPkw&=*X!H6pRe!B-H+w*cgD>7zq)>Wcy;yj^ +?w=m=I-r7e!c(s?%rQAaQWu$e*XQ{{q@!3_3QG(J4gKcM_t`B*3a+qs5g)0!_Ph{^*oOZ@w;#Tq&&I3 +Ezf!HLwSDvaDD&R>(_H7pWVHEyubP3mn`$chmZbm{!+@HukQb?d~f +{Uw^jh_U4ECtNVBC+K>0w*X7~v$H%{AVt*{}?tUq+uHKgW>(@6AbNFn;W4U_!`VV*a`TS3JuWx>Q$De ++A`#Q^E){ocsKRx`qhkyF&+w$f0LuOk3bp7`FKCAiWmmh9#Ugg7I-n_bg`*2;Z9?H-B?cvRDJM{$E@@OV}h?sR&{^%_VHaNo&o;+^!aE1lutbQ^x2osUVg{yzj*fYtEVqslrO%1UY?Y1o;-i~?6YsbeDb_ +}^X>C*zJBralTuz>U;nzrZ07H6@_%mej~Vi(yX@ra>&L5`+lRUI?{d5knc(f~^5*KV*E!}_*Eg}Kaup +Z(`Q88O3~%q={>Am?Bfo9vAIr^;8ID_jjk8QGPq$%NYHuPcF+^^QNn}|8|=rc#)5Par +0w_{^IuT?*6iTdiU_iTmSqdpIut5%g41ZwUlpP+-*QgzE&>t>ARoGoB!DMtuyeNQOn04|6^G`*-w7*hrCdi +Hr~H*w)Zd8o)_9Oj$dCm-oLPHc_Bm27wRX=^6LxD={$RV4Rri!&3MXlwz&L*kE?zC!-w_b_dkA=zxFw +a=W*^#_wPUWHt%8Te<&aJeO&`6`RyZztLr{}>D|wP#NU1D)eksATmKJMHRpEsHlF(Mh(G=G%d0o#O>j +*NiK9LL{Q1SjJb~|De)r9@&z^kw{pZhKynO!b({Eos`}(WzpFhd}eE9j>8=rjo<-qODzyAJ<=THCT`>&sW{`7g?@!>_?_Ig?NabDIj`ep0exa?=kKgY7?*S_#;y{!9^zl|+#+0OjBR +{vRJr+d5XHGgYuSuZa#LI!LZp{?t2S;n5B_q@BD`EajW%iqRwIhJj?tY<#b&TY#-W54X{v1ELHIx|W? +M$3RX`pa@`=jCXbQaN|tvmcl1*8E(abgo9U$&!VC1W`+FG?G{kyrM-Qja~ +0TJq4k?}LwIWk>CoCDXaAc@JY{u1iL(Yvwf$p4mpm-!hr(Vc)W{nw1?#R@;s((_Aycnt8R}vL094GEA +={d$BQoJ=RQV&x8Axg&k{NWttb+uWZX`2b<9{!jc*8J^Q@m!z~Nvg(LII&h?W;^sK4$tf?<&KDKa1J< +rSxGVda#!%P|{ri^Sx!4Mxz6V9noXwN8~==axbnQrCR^NUwhx<#4Gb(MvssQjZYD&vrH`Zk4^qYz~IebTf2aax#M{<#;v>FHh!J+k3~%o2! +P`Fl@FayOhu7NipmkN=|{(>v?=-zqXUj*zo|ob<4K&Ge7mM#Tt5Eh(~1+2itIF`(m4UTx~c-&47*b$u +42UCrjC!Toy3S>_x$d2T$^VcYezG^S+f~GS-SeEHR+6IYUe`kdQg-Z1!>TtNxAOZXC)U>xe~SN_cwX1 +ecbn3u=N6v6ANYKpKC)>!lp`<42mlpN +AsbYB4q#;1%XPuT*}e`q1UECUZDR`9Ie@e-0L>adip61v_2fKaOED^T?!cQexl+K$g{|6R6LpDq#+UH +P%qEzEwE?gNi#+j}CDs;S#=&zSIQ`BH^UuJmS4^t|rgit^vkhIytXPrb17rti!w$Dq_!^bn`W!p@nGl#1;fE5^t+u$+Xp1`Z4WHqRSJOsf +M%jga4V{T86~jZ2O!=9InOfVs|-@<;4sBkuD)B4&k(^c@J@Rt|tOBf7+kiTfZDI~>1a$s8u`A4mg9*w ++QBb3$H#tDpwH4DBf3W7*?5)$@lyHNr`6IK<(31FMyX;D3!ZjWbqSi7wR;u({-B{J=>D^8!`_;Kc6J{ +mL6%Sp%^Nf{79Xdp-u9Pr={dTt!gdC1y01r`O0$MX&_KTqQ1;~zi{xJEF(Nazz1h{1U4NnG3XYE1kP6c5-D8;L_ +?=Kwq)GiHjNSXIwT1~vlQclBfCQ`w$IGxlM^AaJdM+WVS$; +HGtx6J>du-b};1yf`y1~Pz*+0@fL#7@LD@oFEnpL;3@__|%1-3n2-po|DIK3|S +U0<}=>Yfx#IZN%=%F!U*kOenT=0Eh;t6SD#X=M(G6GO7V+Bw_h}AbYM(BiA+_tjU2Ye^5#tyNiHI|U$ +*hx5801GAbb)6pUYh854N|S$J=X@-G%SQ53)|6AkY&gQgRwW`ZLnDM)$1Y`M!Y4#~WAQP!e3pf7+8DH +w@S%&sIxo6j4t5mQU8`)B!-U#aHYD>0LS<37?72YuFb-0nIslfuCw6F_vI1-?INiXZc|5q|f;Y(kww! +Wdz-E-#WW!L3;lAe3N0TmO!!IiTChlYRhanC2V%Ef5H|#4Q01yy0Fq_=~As}JCV0Wg)sQ7XNLK_J|;f +>)+gzc((0<|uRQ_#9M0=?nn*nlQN*h!|g5I!)I#AOT*3KK`#G3*@h(J^O2xk!J?&32PV=1P!SSJn;FH +GVH9LyKrbcG}rk*>>ds&cIjVAAxcKA#xNUd!&brjAAtv!0Ymf#AO)eDs+I@!sRy15sBxJWm((FK`kBt +|6tBJ88YB}Vr;CjLhcW?l#t)S$iP=M){$?5A{8FfP5n+16MT&XCQg`N1r@zQnz3Mq`|i*_u9En$?ZAB +_3ut_#>{8tYbB2!2aDtUC=IHEj0s;9GCc!kzCYj6(2TU%g(cm%UXFC8+pqF#yM>xv@<6v@&N8JgBkOq +12Cif#QH>2K3+Nv<15l@zYn}NxpitrdhGMTM*ZqC!lK?q@;cofFU$wQVpn-&ko1c9ot8DQlGm3@_&2t +#D84HH>CdD#T}Pv|?@3)o%okc_(%x%z~?mBa-5JuofF2CjYJYq0bNVUC$2U9cx>Lz+y-|<9@{Djq_QX8%Yi)ybzx%6d%gh7sCnRc96nnJ) +}+xY-J-K#~laOeE?ruB^nbF2-cMyh}|mk;|PU*Mpvp11LW`Zj3C +&rX^kgK6-}q!9Wiq=(urjGWSLIN8ALCyB10OSXFSqtGbv?6QKu6qA)aRMm%Ml3TIj${BW?^jaVd+KM} +hYYYkDyJV0R!v}tBFGe_W8M__Ak@}k8YT~-b*009Vi5YB~^4r +|wH-L!e$;31-@DKGBQlzb=Tu=P9p+NQ>f0TEN$F5O}&9S*Szg(z{IH~^c>$tz-jHazKAWvAKK6L*&q; +ctb^BZf_y*GUg?je^~`Da@h%Er(*1JFo*<1OvQc?f4dp*BGnh8*pfd)P?xbcR8d|6%+%kNa{VHfkqrQ +q?-VkdGtIEVz-&8A=vH%Rb1WUVvVw^-<}eJ13ctO$R4oyuHH=w8eayit5gKLUjXaF36ssO#G)NxnIJXLtSkIE@P2?hDpy +8m;{f2mSWQ<%`mXS|I@L4TFp?=cSIC8FD!@#Gxp#e5_Jkd +SgI!$naN<+7nZnmp|Lbp_*DO(+CU52`WVO!!+MFMxSc*8VEPw?4zBc|F=Ktj+gv0->d=tISWe-KVK^A +vbYN6%mJlmRvDXf$&e0 +{W4a4r4^;!i7ve8C_Xo@nu$-@CoJbz`t9pQvzzAyTu3Y0KssfKbI4$we|i-z$uSV<-MN?fB@vMExtT1 +;t0J14siT9U^>A<0#PZHgoi+HOipfreO7DL^E2AiZ(^`=*Z~1o=1I#o7;%q}Ex$B-}P-2@4_FIKo2mW +rgt_hl8H7*|n)pZsxNHu~Y4Zyy6g~Evu%~XMztdVD>{*WJMfoRM8Y_s025HbBs}$p2Y(`U{TjeK$}L* +pcFt6avUHAGC`ZVm`vbin~{++7Ozxv%{Vln9Ip_sj5vt+V`!xa$-4zhAZG4iwbIGa54NR{XRp?JmHQe +_Z`FEM*LLv3BAQ`A{Sb~-Dely{WM`<9FFK?CLe4hT-ig!r2cd6+aa38tVnSv;Ry_|TpSaxRhciXxBg% +LPtid^y@Qga}g(Q4rkf)UofdF4tlx`}H)_(M56c7SgYcfogjAj`en`U|BXR&EGD)bi@O;n(L0WESCLJ +lh(47gyha^Q1HLhyWbD3g_@ITIu0pGy2NU2DRKJRP^{C^519nFXv&gy4J{<26%LachJ`LIO6`iXr1bN +9h)^o56;{!D@l2lc%tA35@B>ghNVY(iq7YPlnHoryfRI}T+Cd=H0sAOqT7! +s#G}*?~#7#dk +c(W{MODG-o0DNwnt`I55fx!ePp}t8JRiEfx;mSb{5h%QzFR>!N79_stBzG>eh}!bC$@neabA9VMvBTm +Q?5$YfT9D6U*^iPM#F2cFV!6jLg7Nynl;*ORmZlwfsiS1>Xc+UZXdbO^AXC)&}C;m#VR}wZAZ|qHiZ*5vjxn?EE&7o7sdW&TLQrc<~} +=PSlMwXRgt@r^Wce9!2)G0>5kzL^rr;2C|pt|Sti;H+ZpH`uzx}2$|eKL?g+7DQU$fNAzU}OQ!$~W{F +pqBMAstS0Uqv1SC&pIpjZyANL2(+X*N@!>cL6r9VkdP?Nq^mQ94c1r$KnS7~O(wA)X7NaMWs>2r|VWd +&lgnRWpR9Cdnnc8qkN3iG?J}h||;$A$sJvo02>SN3;yZv*Q6(2V=K*f&DgJ50S5{ZCj9`BcyKf!_{5| +9GZMNp2_EwGY-iBXJo~yYK(Slke8BW?EDSoHGpdG1MG`-gUS{UhUtJ&M;FTSWWMmXW^QCgPl)Mux!G- +J4q{LuQMXNtE~`q8+xN-jA&HC9n5cn7j_yPwK&AU`rJ<@pj@x2A%b;}HIJOF3c1z*giKVO6RZ1j<@@B +7=N?~oQi3$3MKuIPTdgAJ0HpqLOXdiy4iA<~IFbz^8v3quJpSN>(^8;5~ +NPK2i+R*5ta61QR4?3l$b37V;J^#kPq}`MaE=KuqLLU`Joc?Ii$UV{AsnAM5Ef~L-4vosO_eCR(UP;b +8ZT8fB_7@9xkIo@ldCwQ7xI1Iemj>*#`1v+{@^Ef%nvO;7|a9hHx +WCq$BV%qB#M3)qAdW?j#k(NH-CZAexMGESpO^I}*`BoJqOR5ANW5KUmd!xAV2q$nUEO%^o2bxe6oUDN +(B^U|4CFcD9|q|?fQNjg1IHb)+o=1%i$%o0MVyV$CCS_9c7J(NEvF;p_v0f+2Eb1+h!Hu=~|YkkX_6! +3D|)u?5G*z??gWKy$ksbAWR8c{a8i)@O)5)}00%A2iWa1R=Ps?|FS8tP7`Jy8d)cUb$gqQBcGAmbn@p +xQRf-cbSuhPT>=V);~7h@z$#NH1G8j8@2N4Bc|Aq7rHffw-G$9#;A7*Q75bZyweq?f(^@XmP0S3NeKC +7}$#qbjDIcj6FG<#z>?B%I$$uG%o0-6d~$9D?aSC{-3MpO2(sku|nrYu94XfzKuva3Rkq97_ +%4`oqaVi7iRomOuZYIK9yOgh_wpct?m8$k%IW48y+4#{E@6sgRj%B>owdV*n3hG|8EXfw;AQw=h7@B& +FE!ay;5r*_gbaR_0RNLaL4(O{dY4L;O~T*G1|KXvpM?%F`A5hKXQyGpns3}U%r2O?5Gm7Py}MJQ;U7P +=SZ4cRu)m~|iaBo4c^PaF>JM@BSGYrA{?W(Q3(Gq>n3D>QwBm#y}45UW?wKu_VQtu2W*(hLhUkc5VKR +=WxQCb!uvs>wnjRHWvl8c8rrxr}fe3cPYChq}WwvY0d(hskL}-wC6qR;4-)4y}{5$<-*l?3So(afeFJ +b}oabWodS9*mi5^w&-thZ)zfu_JeFPiC<4GYUm00da9_E6iwWvit*HA@_T4L3X7^S8Ci@HthIckTt)z@^&Z +^#x1nwxZeoK^4>aFUk@Y5@ckg750@it5_T!T~!SR*iJ7t;MIn0Y^Ncxmea;QrJmK!R%!^sm)%9PgOs< +BF%nu6qzoOlU=p!U+e4LvEY-2uwpoy66zVXIBddoUg)G#jT$8QERyQ+NsC0o}HLBeM^{LtAHj9-*rG! +2s;l-SAH#4Vdy_kbo+a&?lMC_SRP(XqjyUm`n0!K*O)mp5$nv@GovOD4v-jAYEV9giJ1GbuXTE#~G!D +SmuZfKnYa#7BiyMSvv^JJP-*T(D#u6FfTJ2AZM0NjJE&6qNKUJY{~wmLbH5UFj@$zE;NAYJRQ!g?4Y( +Y`9F@~SWkrWKUxYSCu5vW*=|Db#b700-@qthTQ&}X-2owNWCe=~8|HwC?>3Mhisj74)`-o97oct>vR6V=p`2Q+SRxLM&2pW6a$u{{E#aeESDl +9>(7++cH?Fy&}71SAcU7ouNoxve9CAW} +E$6=7~f{cxsh>(WF%DO&OCuu!ml00pc)`ddz|uHb=ZL{@E-i`S!lWv;p~{9locoL02m#U%OsGVF&N&c +4jMs@Zkn49EyF3X>T%b|qRA=s9j#Kop>D1dSJY-i$21M-i==N7B{775D!#4SqnJ1P!i^oifJ+udoMwxrcKPV|4?FtFl134Gp#h~h8F|!UZ}Dy)?A6|4w1Iok~6gfDKO;^l5#{{cmTTTFu(#OUS +!Z6n>uh;P{7g%TnJQ!zRSX8$iCP^rdDgmI3=rk+NG%u1yT|wnw>sgzTHZ$4c +M`%J|t0pk?**2;g7qx1?Mt0JXVzVlI2d>;`)NZ!!dF!RkRs#0W1nIPpN||AiR?@T7r&fVn);ttTxF%^ +xEU^6U^CZ)(p$wM;RclovSXHP6A_55goYg!%(+^cn=S5Gk&QCW5H?&7TSgb}*qMlW!G*R2tgj +&v6@=MhUkh}uEjHF_JEsfv2AFn&6;->tpfS@GWGmj}vOa_=jWi>@_?k!$KM6 +j9(GJCBy4GE +oFnGyeKc#$)p8v@egf9F>NefQRGG;tFR+T=4*M=H1e3`E^|HXY4!=*1_qn}28VYGhh6uxtI8$@)oTO2 +i&99jt&Q-j25VK^N)-F*EhNmhql#2`*hM23FZKd@`{PuXhwrZ5go4m|4VviKU_ND?o$OvKB<|b8Nruf +1XNE$Yva>yX<_xpkg(ax8dvRrUZbCD5+q3m3aLs}xg3i7y1}W(2VYd`{gqKcDxtgMkHAu*xrT10&81S +^NV?#}&r?$C>)2k3($FMswMqd54W;UX$EyO93GyXHr&#lv +SS5^&{J?M%aFOecVfp4X64K4Whl|o7h +t#MJ_wHEMalIyIn=+XQ%5gWzp(I(~i!e;sdWzEht}5NUGq1u8Y|9tywcq6)+%nyzEDF$GM^h|^eNm7* +CbP0<$wrXfR$$U%4ED4it(u_%%vR1xnrSy4i=ATLzOvf@%e7&IURADavm?9B+}`n0w;`UR+br|Sorx~ +tkaOF-@M2%&@V*Et*es`2sfZdQ5NcrY=Jzav8=4dluyZcYEOwG`00=?t@Y3ES?cNX|NO4=LfD5hKU2E +xDHN}+CW*SHdqjpT9?eprgh7B}%_sVlHrs$B}J%BVMEc%}|lRn%-uWQJZhhK0->&{ +O=%fx{ct^J@+WLsrf=g&L^sYC93>pwfs+`01@6ub2>ht)6eYjT03i6Ac1@vH}229{k!6vZ}a4<*poFt +5;xyjFrtBC#ncosU71qtyC_o7h4-ChIVsFuV-Vr#ao%D1ghW#1U$cp!M+2_<-5&(YG07vu9&*n!Lix* +C;n1`p_2h^xNh_QFX!!5`$d#RqMN#wcO8H)8;iIVQ4xabEVlX$2UG7M5_D60 +D-a_J`u!}aeVaV7dAiKS*EU$Wz3@AJVKw3Mxc@Q-ac%3wkC@;pCWG==rI})hyP-@z|8n$|;mgK9>qJ&+VmUHZau?mZTu-p3U&2L!kqQ}BI +ZP~V`adWx1XO~JzXyHI&q&LLpWiJa3P;P4h!=`yiihYq@Q#O&K)ut~tmDoz +qL?E(cV3pLVR_~x1j{r&(V6HWRSK!H*G0gr}uku(dfeo8H3gA;}L#y4q5#nC^br@b>@LM}hos0Oi+fi +yhi$k01nI3vk4T~gs>;$f2^d<2e>%98O{JGXt#N=5V8{QZPuUyn-f4_M!L3h}F?gb0)xGJtx>LS3`N= +j|>iJ3H|v{Jo1yxFG34$!yZt>tbJO3o;~=D{HEm>0*iS5iypV(1(}o!UtOhYILcEMT7AHc)G65_GYTX +zWdbX1$R_6yj^PfLC+jg<+~0F%3M;cbhI)ufea_FB`9ly5lgV#vkC8XbipDrRO(J5S>f2$zVoyn~2y$ +%Dh(ocl)0dPphJpH;241&g7KG4jZBuuPB-=(m^iuRGhFwdEQXvrY@*qr#v*X5t8dUdmkug``t2VcW4@ +90T#6AnXo2h*NETo0Hl#s_V*YDfV&9raCSU&i4d!sv4ON=e#wJ1HWr}lRqa;ucxY{;*QxLGt}2P5{ZB +agBGJZ0XG`a4<#FPP6=c6d#12M_5`K9N>oM}e57E0D*QJ}q(B>X`znj}u_Ow@9hZMnQ^_JDrm@~Y!<* +m%aZ}K?gBi;ZrRl>x*`(-)MYDG5$*a6|!PH^L^L;r$1yW`~`$HbMfmLrH#K?WfLTFT7C#hBc{L|Cbo=FSyozR!b_tae%h_EyB{E?sj>TbW?6X7X +;tqS|9nc=z_qRM)W%aQxu(viPai>Xu{@$!DVl{^M>BS8pE%!lk{Io+TvguKmb?Cp2+>H`A2gL}ZDmRC +2ns!UL(|%Cj6U=aYm{7BVe8;hVVTL9!aqaU9o43yOlY#4OSh+o5uSw3|1lQ$(&VzJL#Wa@+6k&X+tM9 +9d>Aii$PP;Bfi+unGp$xiW&jUm#@aCnN81o{o3m5>AS68qp}qnA&fPm=iF|nbiLFC~ZlliewF6_DjHQ +;ZUI&3Hr;T`Gj5%Y8jUs`+$hQ7pGgL;ecl`o#HuR2ULE88>JzI(0 +!S?+zU9g)}9k&Q})wc_JF~4k$UYsR;?7-MruC7l3gYZnbAITgn;I>cVV +XwfQRnw`_AqCi%g7rR6E?FlRoFl-^-WjXgQkP_lAu|ri62c@Lpr!0xd%U>*c{k+9}^a$>v|6+j9@9R^ahruqjD +EW1-mVIS4UF{#cdW%8{y{^RiO?VRebbQtL1yD-^1QY-O00;n+tx-`8Dbuo<5&!@WHUI!40001RX>c!J +c4cm4Z*nhVXkl_>WppoSWnyw=cW`oVVr6nJaCyC3?{nL@(f;ng0<}L_o=U2nYuanB=~Z#;M02+6v7Kf +zc{3h}ge2A!sUt`$>R;bycL5TVXeW2mc|FsfO#+Mkz0WR~gM;oL_2%r|c%m-Gr)QJfGxg@;>hu@&#M* +Z(ZQNv2bEn#V>ZR$b=*NzzoS4_WeP3X3<jaY36{Mzk0#Amrc +n7zl^vw9zW%vgZ16vw=1V-i&Wke1GpnM)=+eY$x?uvllyzZ1ZM6aAMX7qHN9x7#@k@~CTs~BzG*vgW) +~Xw0P4Q@AVf-}D$|9Lo5T|F4UNLKzx_D66Njfi*r5dOexKd@Vt~cc(&z!hWP?}5&U2I5Kv%(l<^I5qD +V?U`)Ua3fDsxWb4g*@agmCoWntHBFNUn=g{ +cWY#Ec)ry|kMWd;6V&v8_qRw-W*QC;)lu7WO&L(5xiFz?S@uxY8eFdBLbV>Zfcq`g?1g1ACg*6JlbJ( +eZM$%X%8IxT=_xJ?_A?O;;q^3qy*37E34+>bTK929+Uwyb!qsb@raddMtn%sT*32UKgyoLRQQnFm72? +#@~LTBX$jDx`C+0E&D>=?ZnUyScQ5%=fgyUE$@tvbKDQ6qIdy15&lez+LjsOt|m*H^b^LwKAqUd5!$E ++yA0o`K{thbH0jI!UdF{t4!_U@(o<;9jpp+Bi)rn0>3t96mUci??H +)&-TuzI`}-H0-OFCs?GjhZH8b#rE@L2GZwgo)>-fCbuOmy&Pfh@r#p_4ub^&$H +w|&>`G2n^$^n$OE)bQ?Qj9m*kpSElf&T!_gwEk~-mv-d69;v@mOmOOv`~c8_#Yn=Xlswp+`6LUg>4Ar +xm+u?>7j!wznhRpu*Vgn~o1Q?l6~-(C%V{PE@A20!j2)%+{5kj}lQ*XtyU^R*qEymBxpWRAc7csw} +%`nPjRpEh3_wM=Y;M4FLfu?3e%|CU~_4N{h0CaN0Pm5GuW$8enJ2+^5DmZb}hKm3&754$)-JkNDmK~Q +LKhaE5z5i{{$$X7$<)H2y*nWVaC$<`=>Qz$17-Dr`@i(ah|NRq8aC{ILzxKv121qF&Td}+Qq0$Co)gP +@7>EHXuA;y#j8ikPXWc+`GD#%o-GNfd^Z!=b*E%els%~>P^YszXU|52wEv +;oTW{>5MYKBrYs>m^x~RxzD3W31s`9X0qQ&X;%tH}k5B3<^@YHd18B$GmiqA5RjbodmHhiciW7nQ32Q +bbsrWT0%-IGDmP~WLESW4+^dP60j(jxJVB(F3VYlM=(|Hb)ES5u-px$bYvCT2 +?K61xGuPs$t&aA1Ku_YKF$!=k(v?iTVoMts|8M!DYRWOY3C2CV0J%Ftk_8Y;?NMXcbD?zEb-*pD4e1`UD9j(CT7J +n8Q9B<{-a5z+^j1JX4ogK4N?Iei4Lg}J1!Q7o?a{^+bW2pU6^yIvN>|E<^eTG>}=;a%~8~rs#lopudok5bYpCseK#C40a(?mKRH%_JauY!P0or7K&obXsfA1I +4!h6+VfyEGvd`#r$P@7B$sk^oF&|8Zet%hf$~7Jhyh1%5XF&q`*5$iqCJS +v+ridF90W^F2rq$;-Z0P(`o>BAb@&H0DTCglQAHWQ0#?3wu8=#EtP9yVVzg7vO2y#9{NZfb)AcYfe-x +Yba66&tlcd_EUZLNSb1iKrPRBj3mWosR0Pxj3QJ8J +wtPWtXCtqfgm?!;YFNITz72T6Q4diC8QElO)?lkyQ1mFSF9}3 +%H8D!6+t~mx$-5d37Wcu^#P04gVF8jc-)H3aH(CPAbO0G5u_#D&vh9FuQ)?z8{}(*A2}#tl`0C4V^pj +t&Qc@fhE7rk+h&rajK((ayHW*76>3hp2%LIF?TX7hAhbYaiwvG@r{a69*7*pDgWEd~;Oh>Zmr?Edm}H +dZF6nPiSrFV7ZNd(MP~-^7=LDogHMyH>ZEvF_-DgBqPYS~P+DA2pEhGTB1PS>ycdyebNgZr<&~TePp{ +6`#%`WwWh`Q2AG011mgF%L1F_i1n-Bv;fu{oDw)rxGIz|7_=eu0eW|0){3v4?n6*&0?zh9&Z?GL^RL; +?k+vDY_McRNc{q_*A{w;!}pF2xC$xEheETOekZ70b9c+Tg~TGD;!@w$H)Y7n=^!)hy`-*eIZEfzo~gN +4jVVdcmCD)h_y<~t)Yw?FCFk`%}8pM1~fGms&0v{)3x4E`~w;QQ6CSFkIAiI@R`U0I#5f*)7uP~q-ZL +(ZAML$#iX%9;AXZ2vK9`x1s3ouxq4giD{UPz-jR|0+fT0cClp1pZ=b^D4y4ux-G` +(Z?zN1l>Bwu>MUZ^29@KYIAS!g6dh{{!3nup1-KCp@`mDC`mMJfn+P&4`_K;cywsI$TEfkOK}GPa;At +PukG;oe?^p4GMl?zNKA(W^Z|IS1`j@F&$!X-$v76T2s3mG_;GC!>q|UqF21G-*-MM@)IfBur2KAk5M<2K4}Q>MOW%iL2u-n*J~FDiVkCMX?Gua2G{qoEb)2 +K_f8@wrTIwKAF=9xS@yw+jazuQi0|n7M0%oTdbrS>pq?)ddf?RPAxpwc)t^MbCIJgM#7)PB<5T$~PTm +p%MCgoj?ao4Mb=KY^RBaZhFag42ReG>aed4(M0Oy>W~jTysV~3H4kAd5~4*bMYBbanRDAnig0&k%^BB +xcMQJKAmnQT`T`{zQd5(eSyH-eVH=qN)3n54wYOcL1#vYqCU)^O-IV4Yp4tklR?KMpzOjk)4KCFTT#H(x^kDOa>l>R!u^vO!Ur@M_#Z +%p4K&|c@eb>0n%W)Oq*~CiFf#Pun6|!(fxV&n<4I@&!E2#9Ui>B*cLQ&nwfS<1)ei^7fkPsQqrSQ{ +%f6aaS>FX0=iz>vlKYB=(m)-S?PS(8QglD#7&`kJ8U8wHOZVK{Q8!klzVpv$8TE5?*+M~-SP*C0y`$Q +Muv(kacbPC4;5ZYwNk&`78a~UTAHHD?0PLcC(&w1-_5pPh+bFZi{5w!b3c&xLPBe_*r>7Itmr~@Fa^uXCr65Y;-eY?;GR6jy9Rhch!>F%0l3>Vlm)V}?7Fil#>y +H^;wdBssnx%z3S$q4$0Zc})SNUk~MFUyLJ`__|q#q$U2KG8`xL-qM`bnQw9`^`+silwi&)a%!+uenfc +?ogm!wd#}m;Am^SqG^sRQ0AcMq5OUxym&<{Fn3=*4^Cc%5%=XYRQpQaJxT2wee54!tC +P;X=m{I{+YQBcOYovgg6$gmk|4dK&uJ*w@G%C6=h#eCyfFpo2LsAsD`(YBbDmMZ>+WLDFyz?`W>Xf;npVGw7Nt?QA^?l~f=6kH +!e?aq{ohe@*)Df%?Cf_Vb#*RhcIvPMnCWPd@qe|H +>E7|M23Q^7V@^pMUe}dHLe&Z@>H>{a&vceTfV%1dtGiG%b)K5{pR-eDnI}7% +lo^VH&;*h59Q76&Gp?=d6U2S{NiKR7k4*LH`(*|*MGgfy?=N8Q0{*!Prou|{{EZmr^h!}@2>x^VQ=p5 +9`obFyZZ-y$brju_YeE~HxJiWPuFkDj~_JRKVItUfwA6w$V>hFRDSd2r^VKqImEC2{PXhc_O`s_w~yu +J_2c!!U$5WpC;9UJ?&;y?$M^Y|zj^%hzvefk{ORi9U(0tlw|{xK`K5eT@(!QM(|!5w!_&|AcjxoxRNd +bE_;B^`fm!?M;rhBf-v9LUx4g06l@Ist%bTma@^Jn3=5Y_76Y*58?%w{>{X_Qu<^Ju>PapW|{oUJq9P +aw*`r((yk8}8kZ@w>IUq9xZmOotIT|ea0eE0sx+nYDp`RkiE*LRQC+=5b`lt7|mpMZIw*1SB*Z=(O_pi&dZ~k2V<=M-Z&%Sy6=ilXTbEflObN%*6H^00 +~2)-@(R1a5oPapEebAUfRfBEGpye%U%hz!>2U%2(gMEYHe!&tATM@#XhlKYLle`~K +y3-@bbOc`2{1uRl&Pllg0t{C}qSryTN^`<%(Q*H2eBw~zbL|D4PFm^XO)w)}kc*Xvy7H`h0bsB)ECyUOMBhKGZjSQz^}S5czxn*KG|L}d-TmurF2Sqp{?*M-I +rLYz_xBH%<%|2rCw}^;XW92~v*R<1!%F%7RetlI{a2oU^ZWltqw>i`4*cqh#mcAp>EZsDa`ht%>BpZE +-~aom`~r}2Z$2hQ-rT-V`*54jmloiCPI7LKoWNh+y$5Vh*KdBlyT85v%LmQ*AFtkB-CeUJ57+ +py?@;>%}W|M2@4uU@}=@x}MAUwr$`4=yn6A! +o@b95eeQvCo4)+v^|wEK_44`u{NdY|zkmKR|M@o;rPSjx4X)Aj%VN{BX*4tc!B@L<^O1kec3EQDW$;~ +%qh7|*=Vk3jzYOc`GMZ%%the=x{9up5=Te$Z5!Mxz-SH1jf7Onv!S +Qc)9DGEL18xZaC!tif*wH+aKpGg*Uf^SLC>IP&@<>6^sMx(^sMx(T&vQf(xcL&(gPS7@MPT4bKFMHM$ +cTRTr#>hx;MHvx;MHvx;MHvF4*bT>Bh#gPLE#qxGUFeVOKwhB=p$75|1j(r$;TlpP#$<8xP_tHQ$=L<7i63)S7q&aX*4i?b2UH3UJ0{f8WFs%X`vXn++vfR1bOU_^pf$ +fyj$aTmc%cV5FtNevMWnAWqanqMvV1@H*4Q~1iBb@jxu{3UAw7Ho=6I>9OcJ8e>-E#k=hma%NI14{6u +o4W(*G+$MM}^VkeS%vpa)BB$|7wmO1Q~26!@L!+mrrz#8)+w-ZZ(&^u*Vbc4QG@+Bk)_AH{+Sry=$s8 +mzoT&l`~?P`4YDA8_h2Y7AybM405Z^7^X?)AG8~m#x?vgyMbBFTcI1<1lwt{aVH+&0Qn(%IyTg?p`JE +0o1m#QjfR=lB+CU3#?1|uyM!6xE-_MtD`?!A>*ly=S)#&n;^zyduZ+%JRt?EavzDFt%74iTVsNZ^J|K +6l8JQbr^ +NyX|OY%zGQ4_#5nw~z{02HcVZ5#`mwyURo+Ph(b+WZ)7`lDhGMqOk~eJfh +DeRv+3?S*;wB8^im0+c<0R5^wwz2kbath+zX1+3;vMVAsmvfLZ${X6u-K@ASa&I*!--dB5-yjB7UZ!~ +we=4F~KvV8;Ptr?R0ZZq#w3j^O~K+0bLsWA1fp@DgZogFt3OPn?%S*RZ+`dYKJ9HLExcD0L$kXwcBc5 +;WKRuFXptyd*F=fyoIb4-(o49vUpU!7&@YzllKN0vn6hnEl3_XG0G_5w`bRgO>!1Ex=`f%K(=FE^z_b +&=aN>;4#2sfX4uj0UiT926&9qK4d(Sg!Fts>w){~d +y2YOa|f|Y=&1sDl15@002NPv+5BLPMNj9}EVp$8a=zSpfMFKL*_Z0HGA0+JSBB)~|3kpLqBMgoik7=i +OQ*nGp;XG4#%*R40!4XhCF6;v}jkRk9fnor~0Ez(=11JVi#HeM%BdzT>GYZN31(E?I14zOevY{uC3^r*6iWMkUpjd$-TritP( +`g3HwmTzvNq(RwkgPxw#+nU1fn>#I;2yJ~Cs3?BP31u_)0>$c^?~LRn`GKB5vI5BpBrA}tK$3{I +5!f{mJ!Ul_)0>ugxVbj^r11MIYSljmVBY8= +FpeK;5K(YeK3M4C#teC9|6f01yK(PYF3KT0)tU!_AwAGWZ4|quhk`+iop|YVTkgPzmVzw$!teCBe*{X +2u3PvgzsbHjnkvh+Ho2(mHsbB>{pA9|1NChJmj8rgE!AJ!oQ2N%uNCP7cj5ILPPQE^qm*j`WH=SnCOd +5KE5mb+c644;?O}h@{;^OPq5O!O2ce5Fw($C10xNL +5UpgxwZKRNBM_%-=mADr-|IHvB@L`Ju+qRv!)!G$(!fXqBMpo+Fw($C10%>B+0X-wG%(W6_+r9K8dzy +yg&-;$dV-M#Mqu;V&=ZU_Fw($C10xNLh&ssG_v2hQcu5B<9jtV)(y=EUjG&7(=x{^lYDhp$f(~j*Q+! +T%))bG4WkFpSccGWSOB(c}$vVm~b}-VxNCzVwj1c){!?nOj2O}MfbTHDvNRPd43trN}N(U<)taR*22O +}MfbTHDvNCzWW{cPv~MmiYjV5EZ)v@DGaFX>>VgOv_eI`*W4kq$0qT}PdXUsV5EbQ4n{f{>0qRTkq$;W80lc7gOPs57Ykm}!Ab`!1SJh|E*pA+5ovI!TaD1X +5j{5|-zHMo!AJ)q9gOrd9$N5{4pur?>0kvJG8?0DnxLsPji%EKnn^t@;SQ*%p0Y(NG8DM09kpV^q7(qSE%}5V0GQh +|HBcs+mF1%!bl>t@;SQ*$8^pf1c^aLXVj0`X`z{mh21B?tXGQh|HBcmUCTzJUfRO=41{fJ&WQ@MYO$7XhhjGnocul_PQCoWP+6mRwh`P*pmrHCK#DuWP*_iMkW}U +U<4s98+w3|2}b7TB^lu7x*-*3Lr<_Wu_ve*X;JA3MkW}UU}S=k2}ULunP6mskqJiT<|StEk_lEOSeam +DVoxR*A;!*zo?v8xkqJg77@1&Xf{_VECK#EUmzcpzCRjm2%!Z!WlL6I9e}=m|#1OEi?i2Gega{075sV)zS;pscpFd5Jl^WPz0hRu))U*pmfD2pO`WCm2~^WPyb`%EF#3FtWhN0wW8IEHJXb$O0qeof;{phU( +i8z>=1n>z2GEKN#OQP0&=DM$>5q&7`4cVx$wbWkV06htb36v3ZGQIG*DgJ&m45Pp7BT)9LB-bb2~Hoo +hKgoE}b(phwVS^AgK&JjV@s20eqGLC>IP&@<>+=~?MnxmKk|rAMVlrAMX5<|UTlc#d1?+34Bm+34Bm+ +34Bm+34Bm*|=7tN2f=pN2f=p$L1wz&W;?n)3ejF)3ejF({s>s&~wmp&~tFDL61R?L61R?L66N#EW_~} +chYmxbJBCtbJBCtbJBCtbJBBhtwoPTk429~k42AluG?bW7Cjd|!3r{DN9XEjS{*s7BWHE8XdR8SlSS) +f(K?!RN2Kgz(Yl?yB;(|ZP9m+7NOP9LnYRj0Eju5IL`#TgrrZPSH|8Y}96G7DPU@{7J(!*TE#u^iitO +W%MTdg~R-}_X2^?R6wg&29AvQ2@7O=7)NOrblAUrvGRJEOVvW$~23U0(PK2FS9kPV!;!3p3CF%t3aC7 +UxZow#wr&!W7kG9-$&p=(B{qH&X#6nLr=Od6!e(8`QRF0?C2sTl!6!PA)(Cn7UrmI@(kA(Awn!BG)3Z +t@btccR*=_NVUMj +4Kh`5zy%i{aNUCPSojBrBREo+o%wESO9BJp>;XezHXMYbRCe-T!B(s2gN{UOXrYEZ4W;ymOABeqLL^r(xf(ZArvMak3?~9Nw4A_B6#~ +Y>eHaeSu$YGRFkG7vDs~VvRI=D3AdBaB+9FIW=9re9HWu4%~pe}_Fz}AVgk2aU)v^* +d{sJMsAQQ0(1()Jr@?VETuijucCT5#F243c^pD+S9TT6&TvMCqclR(PDb6)jqFhNh)YAuD-o?L2^V^r +4sK4nlbE`2GQ^HGHRQrV6yhX|4Ry=NMw@2Um2f+hgVF9)o{qiBP9o^^y7OdtN91wHeUc}$s#*tB%tP6 +xybo{68STq-Y9g3q>;u7Uf&G^zMbni|-u5A%3f&X<8~7#lg=peR2@^0HZq$%BttkP^;t}K+L7Yi?Et`tH52<^h9I9sjx8t6n59F`5P`gI{AQed;pmw#VYW9pV73)Wt%7!HkO(&k?`)VMurCr)A-4p?a{oA +jKq1+oag&!gKs4B_5e647;}jtn?#@|fCu9mlEQd7&T+ETGYu_?Hh8EjB>p2g}OC0&DA|9E12}vzuu?= +y<5xIlMb>fhaQDfa4R#u@CM!0Txn2P$Oag&!=m#xEWAypXab0HonL}*SP(n$L{0YX86G%~(M%xtRcB7 +`-#euPx7+@ur(mO&IopS +lBTGQROf8<^WjaehI?^#!-gKF;o$`pl!1)%r}m@khn2Yt4`w6(ZMT8mqJR! +@Ek!tAdX$9klvkjV^(o3gG_x48fxyJrpGEGG&m+{2(|xbtp#GuOLckTzCngv>_}RbwSp +}igvxmWPY*rO&b?_SLM!Ca3O1#JVX9!qi}40k#Ta`btW4TqK52=O7=(u;`R#{0F#=_081SKSN|AuQjzfRU{SKQ|GwUm#BsTJ<32*L6S3!Wg(|v+SXW#A`+omO$5deVL^H}0 +ySeXx}Eq{CDXq#M@|4z&_o^e&UT=p@2b`f28L%uh%-_xmF%(;@0O6AW<}<%Q%HV796*();vuTkDz@ +1V`6iJsH3ycB#}xpp`0RjuDmECx9<*Z}dtB;XN$LcQA{14GiqIet6!uV(#2w)jMOHyF=?^EqDM&^I@8 +?}%-_CbaDShGEv+@n9c2d!t9I#j?TCqDbVoEX}IYsqZ)f$>RyRO1EcK-1I9ItoRJfGI +!cdK)$UfD1_gbj>z%w_S49;BwjjxQ^mBfbm-zX642>YhGZR7@F>^uZH)N;a3JxI)w9q0dOF5+@Q55`@ +`*F^1@{*VeREQ`M!%e{s1jDJ$WHWK-L*a1K(tA>$HRs$#=jRv3`&^H@1W;%0#{>M8HP=!l_(y%1sPyq-b1XRl}4PY7E +NU{=%ty4R&u)L?<7~HJv&`3zb@G_kz_X^Ib7zEFKBUvee+WhpMOMIc~>J4wZVckEcA%!8Ecp4ZgmE3@ +j|@>N_%mLa}EHB?nZb7=6vRzi{ea3tF!!OhPZQv7?&`Ny5C)PzGSa6j?W?!lNL$Qjh=#!#CnhR29a!$ +xA#`Ud7`ozM%TUT@jC_k>D)060krm-Um40-Hob3Cly>o6voz-U3IUdoE&H5RPA_^XaX;o3f&GdyN(eg +7$7{M3a55mA5uWsf~iGFv*&z}!ennp$Kk{SeGB(N22Jee+2c0Di`jRr +w3<9D}FIz_qD^K#UZI;4nAKGMG4`NfQGl6vOI|)9z6B>NrtTxiNwu#TM*Yb`)EJl(Z3DIRvY+VVwHz& +RT}b+@^FZOas|OjSDXk352!<$sc1Hy(vF^g8GZ_%4XbSXINT-4~$svcht2ofc8FjA(IQf$NB}p!% +n(1VN&R-}Dmc@dI5Jph3P>|&-7QQGL5j@-JH+S7DPfs#3P;guZ!9_Z-Y=@#;HYxgg846h-5tx2I6o4V +`QlDzR&x_zUsMEy~5naKdom^&68B?fOC|v{{771DGQu*XksCqLd)S)_MZmz%gF?FxbzHk}R*p;|QOl( +(7stxUXZbmBDP+p|MOL8x8aH`KDEuRo4wn;Wf07n75 +;sW1JdM;J{Y0{i3Z#kima6yV!6jau_nW-Ls6{HUvN-glOQf>WG}s;${S?gWWC2;fAghUSVfLXZiv6nO +vAy4@dv(f?3O_ZduaiRep?$A7YiRZn0c1V!bnt3N2XZFf5o?W%Z_zC>uJjT`6-&-YE(WXCq$&f%V-4)x?grpkDEh0D)gCzP<{y(=0w(qxXy#$ +JQh{{#QAe_?HM8raPw=I@R^?;6UjZ@Hd!2>ddXFhfu;MBdEtA3pcrOw7pELkU%2*A*3U8Ud{A4*49GP +L|Ey<{<(E+a~``3`ljPOW;OPS;dsKvteg4xW!Gn^Mh0!xRup>SKZob=DQ*Ytq=Y>m0We2WU%F$Snr1> +R^~jDi(9cX+ZfXS~FE^*M06xivJ6fYzFQl@N%f>f+NB*~h(Z{3J3$rB

^e9-FELU5bwz#0{XxYy&a5XUb*WPCQWeYE%mv>a$hFr@BkXj3NROj|In5mc$rW;414Z`5Nb~b80 +f6TSvqdUQiT+A_61lwj{4s9fjE;H*qY~0lVYM2Vj+)ooAsuk87y?$wy68awDi|0UL!07Qvcpq +H37uI?AoW!juN2~k51-4)bVyMH1#5useWX-iD1mcY|> +Rx>bVj-162m0X9Q&|@1CAURIsngg{9!Yk3X~_m`L}w`>X(z9y?zOn&*gdN}i|CSxF>*)PhpD42MAl6@ +Ee2l)C`g1jt6sr;g-Sf`?vV%E@v50e(m_?ARyl&UH&((m5Vjpq^#t4< +MZA3PCAiP>N_uFHxKm@;(Kpv6RRoRA5$(=*R2M7dmyXCWQfu97AbL>2fmP2Xcf&6GbK%P^CDkcppdKN +PgLrL28IRr>;TWt4r>nBCaaHL?kqool}Ql)U7xgiXGaGl6fVuZ3hfcL~jwL;>5$$Ibr#Wrc@n|hN5TM +U>j^ajZ`RZhByn|4Mz!k+TI6<3zYj@hg0`js!lF5GohWzDLti}rWBm6?T3?L3D`QO$jD`S>7j$s+E`> +RHE!qp+m1!yC9r>~hldtQ(RP=Klx&KP!&{$QLf%q}ffR0{=QDnz?lrnXoK3z60nk#W4r8m{zDn?gDPf +TILMh4=*XC9!t~0bZJ5Jq*y4O(MKZev?QRb4|A`XPz(HT1CoD^A=TR;Id?S`q61BCRg`J8bqb+05Nu~ +S+Ze!68Rj%$H9Q9fbhP|Tr2VnjMaDMdMN=r}~I_&$&B)V-RrNXlh$e#bDbu8;+)jAn)7L5^ieSy-~sW +hxXSh*S1vla03RFLkdbmI19WS5E5CEx;t0TIoi3RpYpn6A|#3NKrf&aSNArl`5Zgj!xaH4XIY9L@=oi +Q8@*I5J;sqDSahoE)XRMG-J2#Lh%NJQ?* +81*^23A9Ctm3w32Cf6QM_g;|%Fxbs;u^N3O$9yFM+cLl^de~tacBk4S3-EnMC_v&58*-fF4cnm*43Yt +oUP=17h?^LsKVvdcV0Fy9=Op4T>v5zGldtCGq@}{N(%AvEU;D_okCt9(-$Av%+2-c3a@zy|$)3c$J0m +%lJRbpK95@JTv67QqDnun%x1WdKEAxZ|a5g`5n4GTz`P01me>84ofykGJ-6zY|>a}atUrdDMvhZ0g!B +JdKZKV1p=seBsbQ*jm#tY;l|jteg#g%apC$hJ62Rz~T4PWNQ@sNjONMs>M}LML`R +dduVlfcZ2Fc*uv~QW$Gyq(YTxwb}>u>Hq4goL#LRAP@(|a6?z&uYMD}Q6}_bB7`gIJII_?oWX2_rgV8 +q1VGV~yjD+7pYiM#69VD@ZyUZIY4lys4DY2>)P8s?`)s|#j^pdgPNP&xQ%Jw6-Xn8Q?vh^}Ka!@;?ZW +0G+y4VH$MH=?5M~goJG&E$AG-t +g2ap!-vcp#TbS?3BB$Dj~{Ra)8HXdOwsdH*}|S*>RwG8nl~GC8b?ELlOhgk&a4pWPFG;1O{8%#e)vJ^ +Zo`#%spq)L<8*0(XcJN(LrS-*cF;Yi=sxa_XCPbZ%GpR?ni9?TJm70~T*xW8#Dnal;`GhKWpKrWm8+K +AqGXN^isSh78jr3Wg74P~PHB33eyMx)u5E?%AW>d5n?ox@EUr!x0$q5Nu8eYh$bCRI>MkI2NW^)+@Dk +1l7I7g;`<$Gv@yy0S12b_29jUHj`Y`OF_bzA!p{QL2Dq88-<0dcZ%HQGzgIc=6%DCVxqm9}coJn)ssB +2rp#mptaRLwa~mYMd=t9cs=aksPyX-bPuT5;K0F;R^0RyI}KMnU1Ok&*Le;`et1K06K|xX-wID#tHUs +oewAUGAI%#8R9j-Zv#4RfGn6k_!T7Ook~GQ^gJAQeVQ!4G*RF8_|_Ax$sop(cuvPD&I?8M-7RK`}Bpb?7eF-MSb{r7Yy%rq1t7p?ubS0t +zqD%u<@U8;Ls>vWE#KM!VDs|_8NFnj|nzrAI!b@eiUn$Mrbzf#r7lztHfS5FcEF0v|T$oj(jWDD2MS?MJvo0m}cTG($!y|7U;RB>K@Y$;wD6* +jIiKm-|~pjWvl(JG=>Qk#Ze9lm)~Q1@!|G#FSY;!zc=UTUB^IOc(Kp82F~E8@o@Jq&UkZ5tm_{*naS+ +~ZRBsx$ge5Ejjj>W?XeV7$LaL~CL(1?1QPwm$xEnvjky^G09WL>Bv3BmI}Q>^0n@F&jWR@HKbS$l~FICi`A9xN&XmR-VvOgEJR18t~^|Y=6A$b$F7Gw;@t0J0wx!3dK +=ZyibGr&w~HhRQyag46O&GAHI_=g5VrL0C$u`(Td4Z!->7@F?brvgB?=C5L{PJDW0NnKu-mBq&XdW5lA3w6Zc} +*D+u!QDBqC&~CuOR+axuftY}t%6rwMNyT-Q=n8fx9#r=#;ak*RGNg1Hs@X!X?2ziq$tQ1mF;CZg@kqP +;Nx{FARg$vjexvTyI2Phl0j9Dy$`W=NTx|U=uvg_J9A4!GdQVPMa!(~!YyekE{2Z4&&eBF7nj@ei0Vt +IGXWf7f;!$7~LcuATRxHWf9LLa$+&B?v?cB%Iz1mU*pUjI0uL2vnI}9$~x+13q^s=DI8h+6CI!OJI?N +;^oan5h@l9-$NYPHz2a&7W2lXnxjL<=n8P(?jzGGHHi<5ZQM)+?!`32&UK?$ssXiR1A`74YsVAEtDss +wP6^eo{SjI)kvbh9ov^b?F2u5Ip@cb+4sqA48l(&?y%1wkx9L*d=(#G_hAgqoMb?Buq@da-*8QGrmyW +>ynIv*+M;Z1yK|eku3lU%DYRTrX-U?7{W9;=nBqFWxGn~uAP4i)xB1|1F*>!fD8%hQ&9!G0S=^MPTMJ +b9Y`QZR>E540=kUSmvj3!>Rt^cHkRs91R_;-0d;tFAZ1o=wG7q1xN7i;eY(I#fFKQrA=|Du3hG|VRB; +(44SJs!L9(OKJNk~J!<41SNM*3%f=ydOmS|;c0Ei`_iCi8V;d#~@W_=aRDqyZ)qzx*Qq7=5o} +DVx8-BD+xojk%&Mo$Hom*U@Fn1Fh*qyT8F +)lr}UDkQd$u`ZgnZGEwB-LVIN?uF4c|z-goW5l2y=_Bv2C*-*pv1-K!s}qUGO|ciO2?<#eYCVlh5Viy +|MbGX`S906_VcrMN|JfZY3diI<4ltALtVt_kp+(s=(FzuG-E!aYO@FjvvGjz~!NR23oyY0IDl$yAxL{h})syw3ZDm!S6<%6!N +VDSDK)r;tTQ5yb*Re#oTXsiIX3ltc^_SnRGYLFp4p4>?DL5mddAYB0NkdZnmPC6&ITvY;SJ8RW!t)=g +x2DG}q!rAn!cJubY2F)kZ)BVymdkO;?qiG9Ne|l|x`Df(W&C%{fehc(b&1j+?y1b%;D<%~k0kpR +Q7S`8=UOOdsWh15WM|mjydjRo_FNgI9zRl97+KU1}sYuY{DgNmUv_$F)?C4 +m>vBsnori=AIJLp!Too$d?K)NZh-Qv?+tC@>*ABR^uX)nv%W5$5bOlY@MJ|_iB{n7%^2>b(pf(h{i={ +Z(Q1!wERQJhqX*mU&$P*#S+9sv)3MXp({&GaAjpwpQQ1P!ACm;yh1QO?jN1{J{da9J^j$DR3eZR$UOcpxSfP>?+-!Y)XEfXfU?@)9D0k0jH-_mtK}uOGXX;t +teNe4BVJWsjTPyqL=6mzq{aI$gxTyg`KK4q>DC6n?VRv^(g8rG}M|3Wwv5~>ayz}Ds``+v=#5`F?nI7 +C3SKREwm~WL5FtTs_>v1Z5^)=uh%XUMfQGwA5`glY^_)4>h#8I(I2fj^CgzG&T-)-obz!)P2UG2hDsU)0Pw +>a4ar`3znwb4QId=d(>Wt0BXy2y*Tq-8?-fg52;i&A`&BzjMU!!+$MHTs6q2ee5AmKvf2aai>|Z;{ww +$-^j^6i5$w=sEloaWyFh)}Rj?+mzDm^RP)m72NtHGsUDJYWW6xyqMTL70;}#sC($&7>C)Gkp4uILIz|*yiBv_Q?aZMV*|E`~x@UMm6IMe%H +smU_LQdb2mfoq5jh@vVz%lRRL#deci*mXh3#?DPDh*Lm*&I9!&_|!nl;q{KV1-TnVH&h@6aWAK2mq6hWqtfZ%<{Gq{jBmOvH`b4c$_`WMw}2WL8Sz*|X_?;)mlGr)T2T>Cy4o)v@^D)%np+V +oTd+JI}=RsubsKbz9ZNS{yZtQdFII-TZI0UKi^7-QA|H=0)GMV!p1*x)*cR=3ob1PwT3$RL|$-$8z1= +m#t`)qMsO3wLdHSZeHA%Y}l%)JN31_Z(8$34JkB3D@F98s26{2TGjuqSyanMeP~lJ)N-`cec9f1(B +X@-H{w;&)j}T>ti(+zHeI>gtRppoYAb#| +y?%NA=2{${y%j$nUS1xaUBCTKwN;u{XO;czNY&lFg5W}^RkcOkKPti10I!cPk6x-Chd-RYI=z0Yr9U~ +nK0Cg;5+~=E;!s>1US6Lby?J$bDK6ezUYuVY9|&<(mQb-)=9H4XikE80yGChpQT9c(?(EXvD)V+q!1Y +3`ijSo-^SrDSqC}xw+dpx9_WUzR<=M^-kfHvssOv&@^HtG`u +Kd@gtmkSq#m!oQO|Pil+}$YsC~3=Lz7q3Nfut?(Tjis*^3|$0zGeD7DwpcZ+opZo`Q<)2QX^{LEr0FB +_hNTvH;(ixiQ?boC4XbT>Hcyr+SyH_Onubv)c?-ROP@*2w^V($pX~3{oRjXnjB@h{@7#=(nxl#NB+bv +%|CHuP#*So8S-O{fS*dK#Obhy3^zd8t__?pd3aVw#-P^7sHyX9N$&JRKFK7+AL%ZDT0^c(CTN?daJH< +}N`llT=G3`mCcEsGg?NR;HYxMv9%L+=^#OK^;ZLB%cY35!z({%21ksJKx429BTG4n@qH$xtAA0eArj7 +pBt-}?HaF&Yy_Nt?0PP-2jjm^DeSVY^=Gbb*!YpRfbz-6BmI^x2<@`y8A0b_UEZy+&b+1nltpWAqQwE +n$>APkIiO?l<@}jR?7tajNYh%`0;(8@pcC->to*Uk2=um@z^gC)C>`dhrIM(l?|I+-YD?aweR^0zmkQ +Cl(?ZJ6_@z6?@nueo+=4*3dC?NJwKKWi`qt`2F(Fguq=V-DWs^3t&%iK<|NaS(Nl-5)Zq)ERJ!(w8$a_$o-%#TOz#OlVM5wfCy +v3$OX)5BI!ViEl(KWFa{~BzsMj7$FiO>k2os;aj}O7( +LR7fOXP%)bOu1lxJF4wvFAr%1lmj@q890fNIcFUE?7hQ@g&124+-F2u2q5U-F$Mh6i4tMKU?^Q9 +Ge@N2L=GHsJaN?SS@aN5QiI$|EFo9EZ}F)WSMvgHTQ +ctcDxo#NnJG6K(EN|2g%od1Okw*T-C=VQxfJ&fQCT|Hax9W=iBoVa5sz@C{!QeCD)8BN2}PcxhPD;XI +mq9wk0a7#AQ)5kDYi(fQm(`_%u$Qizz~;bc{m$lx`ScyyRJgLo4sob;n~&_laTM1D9B(iGxPzN?~ikC$|0gusE`DWf&a4At4$2l*&v;lntc_@g1_2!o`#* +kemZ+t5j^60aKGb107_9vw1V>>^Sa4#J(4bZ~&kcH2F4IL@TBH;_)Z)34DPDnRfez_0+pt80AA$Bj#l +gt)>Zxb#%S>sUy6xHIuBIV8%4k%`tr8l?nQMq{GEo{Fbw1P}_FTu%fkVpDDd3ag9;Q7MrFim>`Y1v8$ +|F5fy6=|CHtx)6v-pOn(%5i*0YN|XC>t;*7{q%+K5cz(l6HZ%!f%(6mzJ+LBI(Gr41y-`T^ +nd8h##VFCPe+c`b7yqT)gBkWT!{5lUN^kTH{BR5-5*0wLk&QS1%Fv-;SPejJhUct#Z_&QvnYqbwr)h8 +aGE%QT|>W*kvC$vl1?kA|DOaR{Y%!n6!sV4Fk#c@EG{UliKROhB8>8#V0d|p#7dayr +Pm#_$1w`ZLOp=e91uLu@G&AjQ)uv!jp%8dWy1(Otwp9EN2pMN!V$YLA#y3&i-EQ{0FZ%()KOK@}$ppa0JmgXIXX#*Q`rLb7?xTk7gluY976+OLZFHR}^&p_sgr|8 +jn&Q!%wLqGe4|$X*g5#628jeBmEYFt^NNJIL5fngN2PNOUX0`=a=Pvj77aNnxeL ++WiT|YfN)pTzvn6w4V^{9N4HzPHGB`F&2!UAgRK79!zug0nddo7D!kNhPKpw+P2Q)=j^FZ{xuEH}Wq9 +nen<=G|-%efZY7Pw);ohjU04GX!%d-%!AlC=LOQ1EIB_j3NWg7O$A+05kkZuD)J7%4LyA0K|FX-J6eD +e+S#kC}!C=Qxk@B4cQJ4go6M%0P#33?h8EV9Z7iVPN})#ZAi8$e9Ad=dKghN2%hBgpI06-0Ni|JurA; +H`H$!tCCi^zwE{5PDi5*oQZ1r8nni72!k>>7C +|D8^^GV88+t=~HbH+TD5nTOeu&($pAJbHTA!k&&xZ%bVxot8Cdv!LYZUxK81^)YH#EPD!*3|yyM7+i< +A|Iutl?uPkIU)UG)`3Wh@OzUhu1xMszJLR$(AzQL{lJc>@$LCn2L~I$t^)up)Gu<9baM$rx>PtR5gvAsZ)P0iD+ArM^vAlDvjf|%<+XxDs<2eE9H0TgnK5 +QY*5VMcRku^=s4ZWgWET78606Dyi0^OBvV@vr~~`@!F^9WjPYVt7;8W&Fx>bm2bCRY=Sf_UGELF_P+% +Nhb|+#R?3u6~fjfjXd(te{p7@18ceJGgR1koPYe}!Pi6rP@!-yCHA-f3crg+(>^H-ufsPWUMTA9)U1=1GmU^48pb|!=d^81`6N19k(oHagusA|}{;6FkPiKZ2P +ev_RhL6YuoPcmBakCnhf&OucJC6|SfojTX?Raz`Q9JbrVuXq?d@sAYqN0_`*x1-32}Jm5w9PCGb!l++w!^yZh51MaqjDS6zl +1Ve(aXR?_2@w!isawlalZXbLLmeYZv5XyzoOCKcaB!JXypa!9aXR9#0o^!l=mWuZh#^pYeeKzFn5gq| +yb)@EUUN)=miu-(r)?QRy6klr|`Fgu5W2J0$IP1}Z?vPv71i#u>WuOSvWPjo^Wlwt!C;9(fK-Jev7&+ +1%5DPFGE)&ZWUbw9$q3;6U5dkPcK4vr+gf8D~%2CFnlR@g+vOKOdAI2h5O0oF!yL{5!mtd3Y@}>)H9q?C9|N_{I6qgc{Oo%6)7kmY>d3w{hmOzA-@JG^yF7k1yMB3jeD( +7D)pK=L#<4m5`tX0I&bgDPXQ!{#RL>8u4}%ujjyb<5mtr=n>Z+g3cDr)DbmHlM`s=~0Z~9_AYsx#Skbvb>$F3W`)W7d7B?q~XW!dbn!n{KL<*V`sdtDml&Y_w2^CeP?+5BuFcT9!TV$u-47J +QL;sJ?V%iLw&br{vk#&Z#K%TZ5P=`A1n3cRtakkcQiy*o2MZCvyV?`?Ops{{HHxJKn0t>S_-Wnar4-l +!RMQ{)em>yY?e#?Bxa|dJ2lT{QnO~MA8l0%E#^w%h>iA83T+tufa-_3c@Qi0zSB<(>wcX+tnH=esr8e +Zc9PGuZ2U>H?n^C$ei+>zQF7k5<;SYobVghz=;_ivV7puww|bGvq*}V`c2h?B>0aef`k`q3AhQNWQ7@ +Dw>iK$Oo|Rq|9UJSWENivO#TH1N6zi@e_$<}(40mx=r7T0^&|&?rE&EMd?=TtkqM +gZ<4Q`dml<3x2t$tX)TtsFO%x+5LN6{%t(dIBuHTNs^g*(7AH)eMrP8BqYt|TPr#Wk(y9~zGxix3VR4 +)jLDvRCSTFpi*16vD$G$6^O8UY(XEaKS&`+y(l|EDOMfy(W`F8C(cg2TN+-;OgFDk7W?Zw*ks<#^J(X8UWs&CmS2APA +QTxzyXxCY{Fg}H?*;wUvG0BF@XS)3{KvL=$&TO{FtzXoXhA;LB>E9dI}@{gr}WHjdjK6gz4vD%SIj{(BdKdMh^U#Y5A6=qz=Z +KMTPK8;PVFC%4TmzQ4sczQL=Nw?&xZlou +(!;NCI-H9c_$E!hdIH!?Fv-&*r(vBjTguT9r{{l-geyu7;A7dIa +#c!Jc4cm4Z*nhVXkl_>WppoWVQyz)b!=y0a%o|1ZEs{{Y%Xwl?OI(=<46{L_pc~TYt` +M7n{kzskkGpiGz&9mX+S`0)KADH1z2P3tnG9UyW0Q0=h`XPEq{d2u+lyZmPuSy_ug~Q{ip)@&71xo@# +*lF<5O{Rd~kSrc_==eoE`i_46J?Qy%AUUTAbzaU7SXVILH=S#D(~r{VPtA2+t1>t2CZRWtNM166>@Sb +FA6%jOcM1moX&&uD|IdTk2e7x1#LPiS?(tEauTtGqrJ+7I@5;SzbLru{h82dVHSisMHH_^H^!@nu>DL +wS0uB`%=6+crWB^Hie4bEuum!X{@-nOdS!B%QX;jltF#P?nj|x%#-bJIx +jFH)Q&XP)*5|*Sig%(!jEV!N$@>DKZ*p=$c^MqF9p`qg^1Hi?LD~17bt|I-;q}0MvGOUZ&!&A4OlCFJ +HGn$?8}wdKm96x+rPNjKfU_;5o^ITW)Z(yQ~a<*3N8e^%A>S=1aK($e0Xv2D_Y5|^Zkpf8JHms%T&iOfEd8;WnC@*xA03tdKWQq-=0MR*GUOcvrk`lb= +)xsH)hB0`BQADs8xM-rc)VAaRhEePeUwLYBu`N%!m3zBN%ANbnJ +&mdq5nYMP{L4}mHLme(lCMsggTDy^v@T%T;*vs9PWwY@!=72PCyuWB9$K}k=P(N&RB*4;#i6e{L>oJuv8pH|6T1Z*j3y2{RSR4`QeXaLZW +rEo7@J>0;+Une6{RIHFe-=ZX5c-{#hr{n7Z9pZ1|od*K_?e0i~ +9dJG`mnkR-mR=47@0Cp@2vMi3;FYFu}cxdy0EjshPqlaD(1}8_R)0Nh~KGfKo{;msk$2l)^fNbqebg) ++wx0b>7SZkJwiVA_^i3A_^iQXeY}d=0b>t5DOs|(inId(I?i2(@ISQHCQUJRA7l1!BM$iKh)@C +lg(TmB6iy3phvLBvwSvU)DeFirNDV9rQUei6J4H9XD-wrFa3&OqP@Z6%3WFRPk=h!KhMEZt(+wIcPC) +aBa)>@b{fL~P@1TB6xg)D=H+4p8ZUgVV=WXt6e|DumyV4JLrFNHTw--rmWJ8NFU5UzK7rab}G7^(jo= +dq~x0F^FYPX)ID^05|#5<6rs+&@zCQdhMI#Jb?W_3SUccoqUH$}80AsAJ~$t$s{LR4p6k=;scy3)&=+ +x(f$jpnJjA**?FTf9zl(?8hU2q|lBbyva(AAdn6?0lA$I7AovpDUftb+HE&!Cx?b8|OGgj-}#rv&qgZ +oGCkxsvEHd;Z87-Q<}~-X1OT+1UqV0OQ-q{hc=w^`HEmC2o#JrE%PKw?`pWzEdxJ%;!+z&yr;y?6*R( +X{aaSQp+FAUX^VD8k=Q<5=w7nAWzS4^UkXW$E2qg+}e~rXG +S&ZmH%u6TXMkbUojk}jYt-Sbt3iorkK~Vv9)y`gzNaXtF(SH2;?RX!XBGjaL~>H`^oWaRSSLoZk-1Pj +a+jtebW&XbFG6wI+lJg6YZ8!dumXGYZPkjy>y!HYu1AGG;AzOHme#`wiX6CNI_g~E?!8VPY&s#xrXJnCu(2y +|$N$=eb{FFPS2Fwd(B*!Rs3Dy=Et>5p=D;0tc)bt=EeEHeJAW0^5zAtc7Rffk6=ZHvd#(i$| +r0#O)(K5Cwkz;dO4TnT{~z#tRWN9N6=aWFGUH9NOq#qZUlG`}SewATc`=-vD18g?1hU&7Q1$d+c<(5O +?%-&j)7Lv8SZKH#@V_u% +4}`6nb>0lKg@K?**tk6%PgCP%D3bOe!C|rX3Dd6Ia%%^+sybMU276;9R_~DEL!qxf94dcwHZ$_YrKdJ +4$g?18Om^APod^yraHFxi1cl2SQHeq*%ya)OKqayauBj4H5@30$xW;^2izVH9Z%Z6|0gtgV0*GT{kXf +739YNLLD0=ace(ldNix9>2c{eJm5XwgTlfwK?bfN91>H!<79!`AW*G?BGM)#agN)^Y+JJ!Dc9r)aaEW +sJ!9X6k`EL*ezMFsTmfFe#Qwwgl<50s60<(j#Jm6i~ZuLA096@hKvi-=Y44JidTd6-ievDFVncE|HP+ +M)?4w(H|b%gn|Vq*+}azumHA{Rps0vdCM*-3PgE?B##8@iVc@IEUSzi9wwQ_U!9Y)y?}2dBDq;Z>t_ok~OMJl;I}TPv?oR*y~KW<=(5x~mK;S%p?!n1(B*X+J!nk)bbNXCVLBb +pK8$~=<`dXlMRzp!wgM98QTo>R{^NPSwO(m^(*Gyk?)|^;9~c+e_u>Nq9bkZ@6aWAK2mq +6?Zm?{Wv(u&AaY5ZBffphke-nxPQbB_IGxV&UV>{gX5h~Y=P{Cx53VDVs@M-*GU@9*iJT$SyHgW>_5qD7UBB#_AX5( +QJLjzGE3sLWE042dTQu?nv@Af{vLmiXW2Z?S$4%rhfc^J#bq&x=CPqR$<33n*qMSzh-~@;EB +vDZ9L{H1?;8a?&-w$5b~Zd%g39iSc*@6;AO@wmqA%Q<5#%XI@!amEf?q)tTK$d;kKmX(S^Eul-`pUj+pPp_Xoqv4~SwtFlk-u6~aythErwm@@QCi-^a40z3J>B^ +OBep;6AMBrhCF}S0&yRM`&e-1ZDcfcz+o$LIJD(4>Pua=m)05+~-A%^M;#h^4g6Rr!8{#Xdyv-2FXp2P_d#Uhl*{C=ez&a(8n@)tvNK;N_EiltfUvmbc^>;Qee>_UsquMf~qHh +mTf2u10)8B%bD;d{vyRPW8QEce-mtSCwJa2sQ}6oS7M0T+yYK10u9ZkZX!sCvh!LsT;+_cU62n3a3o$I +jumOe*Fl+$z1E?Qh=pbBZO;}sQh8Qx$OarJJ;u=E)W@SUVMi@y=bv{HNHK-qs&_Ax!47kSzuwsZy>V^ +t2f+Zt?b67Qk_=x(TX0+IvA)Fe+k}<@`5FbN)3`@qCc?|VqI5{5sl5;eHhEQ`1=fDkzT0W@MjNlX>;& +OxraRG4waRG4waRG4waWO!HoPeBwoP?Z&oRpQCG1N$iONdK~0mLMRNDPs5jv)bt1Q-%PbpY7_vH?^Fk +PC*Dnh0tFhzAhgg7_B1k$j2dOC(<+`4Y*ONWMh!C6X_Ze2L^MERmW^gjkYBT*62O3z(o=Fczw@jG~YH +N7i69gTsuG3^_xEASyKzsDbZHkSHaORN`FFFf_!9Atnql0pigh8_;i34^<8PrceX8G4c^kFu;$&F$M= +184QOQmERU&3d0c(wng%|k9e`5Rue-_Kw>n6W`a0k#0d02HVX)f5FgMreup$28jua>0$aRNbH%+kp7$ +e31)}ysNH2u+j0ow;RAiCRssu#L<1M3}irF5ZAFnO*pegOP)CYB4K2+wg#_Jb%Q1b)v1{HGH6g3qz6+ +0C@6*_Uu7FnQZui~e%ras~<;;DydPml#&vI`o%BpxMVBcdacBRCWJ5eZhrH>}8#2nL(!Bn@Bq<%M5f_ +{HRx7ka2Uw&u~F+2Vy2zuZQXo%9J#NWzNie&ab9FD@5P0S0w +{FR#+g8V8K?oo-aQsLFQ8#YJ>=hU@DEJyW4Oh+XVHlL9Y+fkhn<59_w;Z%QAv<+2wCRZq`sA{Xi<5oq +HUFxWcb-*hM@fLANRm~NTXfAP4iC2|8kuQ}!5ipfLkuYnBnEdbXP4(#s#bk^2Ve~NyQ3R1S(F74TQ3a +7U(M8yB4Y59P5UmCj%z>y#%OlpRc!L<62#J;k;*_xA5t@n!)pL;8HhqqV?g!(t0$6Or{;pd-2{bc-^D`gL0%R*%7=8CJ4DJS7XJ);c4?H<73E#M}G +z{3~X`6&tVbvpJ(QyshCY3^1>ZMAzL%7L&AMply1z1>$iQD1^&i40IOMnW&ESRbw~${k*8Cn^)`PgMJ +N2M^B9djS5E$9Ff4eC +_f89JzlEh;?T^$Hx(*EmYsi9ZR{`a}Fj!9`QM7eot`qCpshSZ`tREQB*Xx2t) +?jMI$xgXh;)Z^2Xf!E%X)g(wkR}eMCzTXS(zOR`kvbXvm;={Ky{kCWNFRGTWl!X)NpB9zzs`Gi)2s2% +!DTl{MExWBGlg4#)0rnJa{%?nejD4=E7kc1N(`$>^_M-;3WxQnHmcO4y5jn`kBO`LT>ZijijPb?;#NMnXN2HoW8kT*CmtGtWMMcy| +^6b2G`iv~Ljrh>rN(J-=LW6c~QI|{l?;VHJU*-%$Mx9n2*(=K{$4%EKe+lf9pJiGc`u;RWe#H|J0dUr +v_j86BrCt6n4-fCYJGWulFX2D*l>@0Mxaj7vF$xfn*ir$@?bL%M$B`)Ep%6FZe6vt&|QyAgJn;F< +|1|9)3bCp_a-NGBVyn{uZcF>s2LU~uyMik%}iJ~+I=-b;Xtp5N|g<58~+Xq`j~SgvOlzV?gG~(G8f_W{@Uk4#lu +kY`cEXQ9LBS=8wKu&m_6R=o7~pR#0>t8XOy*JJEe@0(h$-mwL5_R?2CUd`#P=_!5T0bOOD{0aH)w;d|M@_wF7qS?hfD-!ym#6|W01 +wfi_j)(Luj7sWT9M3P}^qO9WznH~k8Rrn$i)KaaEAxuDyhx+l7&m^a-%|dqx~E=MM*pkEgjc@zKhOJ8 +zY3_nO~2INg|7}i2ajRgH2YD!B@37MeNerj^k}yiz0mX=yxu=Memfe4@6aWAK2mq6J@UoqHX(H2m%B4x*Riu +;gelWwqS5+o^#ehL(uNrWnrPm-JZ4)@>hq2Bl+$#ohn?gfp&NG3VY%sew3(uQ8V=>DU3hwqP1>E!s}@ +bvPK-kqEs{7F4?UpO!5>R!-U8s3F*5Ya)h5EN$gA^ArbMFBoPJgnky9^^?%^C%Q?PIJuJaca@yILt#x +{w}_XC|Qb>l3U6t}3Jo?);tU_tWs(*j08HmeTK3OV5#(Y)H|qkittv<*)^ZJ1_c^^fcuj0 +Jn*yS9`VQ?!5naf+8C{4>q+i9N^yDCk^EA9!!Od6M>pk=keF)MobRI@`Y4|{I2o~m)Cv?8f?~}OlA5= +x*O&X+Y$=Yoy1ZBx>{s_a~(mGkuJcub3i!dwUK}1eLy!b6iA^(sp!rQg%TEz>vBdyLw`jFKezCZm)Cn +AHT^j^dwg*WG`n<$(^_#~W*I1?0Pw3L0>y<+M}8gf|~LPrVU3wGa<2r({oe-&wl9^yN!)>a|9gjl}{a +%n%Jxs-yhVf30JL?f*wcRDFho-Qbi3)p*bj|Tw4(MO~e-3VG`;&v6eK)_u3bbR&4*~cr|KmAOf_Af5> +Pp>||#au9rQN*uA3Lln8!3DvqG>G#x3>xnO!6|6yE~!Apw&Mkq2Rvm9BqAcrzFnE$BY@DiG$m2$4|~V2Lc(Pl{ob#CL +_i5K)A_rSO*GBzNgC4Us#@zE*UBqT=f!>E}BxjTt5d@s|i8xP^UbuiznC8^6R0kM7X(+z+oY#)?7{&}eKMT^&g7p7 +ikWe{>E=cv1p9N{4f`k({zR^YXc?n;(k{pNHO#FQ%;41W#<2=V+61 +;U@w{R<6&Te;<)63X`Qw=!j>R2LYB+c6Gce3X(_fwUI3j;J3F5obR9PuK_j%Va07yJszICzc?lq%c)p ++s0>~Z`GiEF5QE8UF+N~hQS=hjoHM%myuN}Q)?>$1)93LRY>c-j-UdX!y_1<&As8<_1&&R~}A`oES31 +4O~I^tSu-v6_{F1GcpVY?B2gYCTYEVm%f$09{dd%GJt5`!la{#53Z=8!LubjlO}b=cLX-J5#us2ZLC^ +D;DY~=sG>Oj=pC^YZwbWOOMi`#ynTm18zsb&aWS?NZj=d&)e0CyZTBTjsqRptU`6Q(lysCaJ3rk>xmq +gvDfq5H^#Wp!>cw#MS3=gPuJQJg-tb4@uO!YtE1p|pgt=T^}X60W3FD0d9?tBIv?0IuPYCf{`zz8`Jj +uJABaMCCMpXytc539P}W}igrL_XorBt0UPukI8qJ!h*PgE2)T^@Z4qcUX0(GD5sQ9k013cRTyCRv^aB +Xa3Mbh_%A6|`mr1i`*vycB}9N2qtZ4GO*b8Y|Tm7~MvfnNFjM*m-*2kPX#X*KfdILb8+de2BdxHs~Ki +MsOp2AJ>ahhkP-L!Z)^tFH_5yrQB|de0QV02XxBgL=LBjZWTh!Zl`w4JUJ +G7jhaQc77Mz-SZq*t+jJofg`$AVe=x4tp54e$uwa)fF)GjAOtp)vL*v|e<;>_lNHFPmo&ka31=Oph;bSshkX3>~yP~G+O%W%J?@g~FCWxdS?v-&z} +q6wukfoq>TqF_^Gp96F|bcQ;1XI8&2Bs~57hcFD$@6~Y#O!dfn9yRe+`$)n= +~`)Nq4$sL0>BM?HvCVUwQuL0bV=RtEI)e3H5sk|8$66wqEUexkr7kp}JCFDc?0-$d?|_m8ao12$-)t6 +w~tcGMop|^)ksq`KrWq@s2&_dONeJd<&zP^+kx~wTSQJE9BRa$a9fm%25zy!mX{#M1CCy4*~<|5EC2u|0001RX>c!Jc4cm4Z*nhVXkl_>WppoWVQyz=Wnyw=cWrNEWo#~RdDU85Pvb}ye)q +39n$`$fax<=S5)xXYRiHyRT5bv;)K8H~3b5MP8QW<(JDUH#-?8Jke9H~?VJTH?SDiZNJJ%{BfA~=UN5 +_M&XP0z-b~3oU8PM_h)yco9f%b#(fo`7_U4`zG>pLEu1QSJWL>Iw-T+egp&Ub&RFv86E*$E>R(?rE;9 +0wtdL3&_h9L{_(Z{0%-GvkWpljEA3f&j_L{p%mIH2o +!{2cfR#m(~^-SGmR50)AxHdzn^(X-?G&NH0`;e(2*bhQ7kj|=m`;GX*sI^mpc{}?JoQScbQLd(xI4`w +uWdWH`4iZNO%SW_CCXgz_41C+RRp!^tMXL{2-mX*&mCj&xjR;Vq{ +xYA%45-UZuV0Ka|fq~{|s8V4YLS_l#}~1^;|H9R-xm^ +a{vc}i^1^Z8&>p>&(6NY{76>#Li=0sO2~W@0vGospL&egw; +x0G31wIj$F_s(*)jBLMU!^z8gpaPwFp=O*MJN~ZIzeCP%KQ=%`HKRmeL2Fp*~N3cHif*>^MIEZ2|Fw#0>`whgqzC#R-QNIKb7e^Q8V5s(2Rq$*_Gy(fs8BeD|j_e;m)8G +(;2DOO_8RF)D2K8ibQ%p*$iB>D*&{_pUz)UZYO}KoQvf(+pBLBbCR+B?F9-GM&2MbL%{K>d3f1yW|xk +MBH$6do{Wmei;l$7yWDcllBeFn49%h?L84ZVr{{uzB3!aY;5x_o!LlcBhAfvGaEZaL!F*UJz>%zu3Zc +F5?3BOM8|WdYYHLIc^v%^YkE+qn<~|^3_1jf1dDD5)3|mHO<_rNu;{k16y36MZ8xH6FVM6h@vsFJEE% +j?ERosrGsZz9EJ*G#Eyg>zhqtKJOW1UPrqh8Wi!%4WUBw_$cNC1}>-$ +PQ1*tROQvGz|fmf)^)?pf$&$#H4LuA>i8Fc^-^ywiIY=7_tr3ARGu-UktR^ +xjYFX8xm|t!eRn5vcVLcI#3Hjq|HKs8gz!Vc@cVxi69vUlwc;|Rtet-z?AThSQ4BHD-+ZsVkAJo1}7fJGl3Rr8^mD?LlG=ZY#_nRpaRD$j7Wse(Lx-XBFP%Tw(50~XfQ +r-RlaT4;7~MspQW(u) +2pl?W-r0Rcvbo3QSv~{k!pPa6BB`kIws-Uq=^LUk2w%`Lj&BrpemTbR7DlBSO&O0o!C2>4Qk7`I?f*q +=`k7%d54RV@ji5()uPB%@7MnIcICx#1g1JQheGOfn7vkC)()<#0Chg-4LW~_+AP@2cfu#*JNqYB4WLsD|0^JKzlTwXDxhaCCdXUZ +u%^z=wgT_dd8=w$oX8ei`^hjvV#vJX2UXZ0|%nO`hEo+`goRdqGYhq%FK&)(5;nynsCIzKz+j31@*LK +PUy)AMfuSnapwQ(S{YM^@~+jc~KHm-_;qIK3F5DTxDqaahaAsfpGsxsFisLu(x#FL`4&HtSjiXPXkpV +#BODz2=F8|K0){e@TSDJ;SAM1hQBYSIH}$pz>B52UZ~tYz;+z6sT0B>dBxf_SVEfIR~*V3uYJYWzwCW8dGXA{LYK1M8c7`F5x1)8i1ZgwQMJLg%~&O|+KMk_nip1Qz#0U0qr7 +HxX+8=)4t7RRUy(Ak^lYdXv6UCf<5l+jd~3pS|kNxI2&qgE|q)a +hCmkNLk!iXJg^ZadjPm`#zd%gi${Kaiysd3z*Ur87t!iefd&D$;u)$d8y+SFT>V+#BC~T3;ov=~PfK; +@g^0uKVSkx-7dk7mB8_%yQzCH(g76S{^j@S1)Pmhd(_AswwpzHds%zDk3VUH2uVs*MTgo_5U|6wzloV +X9F)3rL8(_z88YB4WwBNCSm5eQbACz!4T9?Kv%}6*m0sS +N%4wcI8F_`@B>T6p!Ny+LeN$^dP!1`*tmGN0*`TiWHNPEffj}0P<_Pk7P(bj`HYjGJzR9kLgI$li4Ut +&fDXUveZmsvXK@~x^wdA(RMk{gfZeA$HK~Z{*7jlSoX`8dHN7|5$o2&HxJ5&9>kk{=>F1$N}{|^ST$U +rOyi>F}AET>L!WO2}ZvkKLkxLtN^m@)}jBBFNe5hvAxvq@PsvtZdqwH`<-wq{7w=>ITavr +uuVYddHtn+`B%1pY=^Wgz7c@lHyPL+aTKGZ_q|@Fbcwn3P&%_bnl27zvkkPLH4HnMc;(KeE@kJy1%fZ +^5H{58PBKg*zrcwAaePmiBZU(q=DQz=ymynjD+fkQqz(0pZHtNk*DHVg&;X~yhxcD!brs<-+57(`0Z8 +uMD4ePBKuAavwNwEd#3S^@n29&0|XQR000O8ldVxv!@*U6)d~OrFfjlCDF6TfaA|NaUv_0~WN&gWV`y +P=WMybDEbsAHj +@Zfk-U=J)VtXKzK515k`nDWw_fZnur*Xm;&6E8%$X4#=+!I#Kl*U=@#Kt7PY#dHu8!!#>G|PbX^rix; +1yjzNIK8s`#6mfI?QI0;(|VBe~*(S!u8|hB8{g}ndLN1VwsjSh0R`|r=Fy78Dr+}^1Dp3xy&iMqtfFO +_GhvzrqNtlZsRO1aGB4ue02fGbdlxN{b??vQqJghx$@XuD$13w`4US#l=SBCE%C`@3>RMWJvvAdx>U9 +WUCKh{-{q`|AS|iO=wewuWN95gs7m77Jj$1fwYywODzd +xs3BcadGF#9zN-3AKxTxHNh?1go_FI-?{$nC9Y +~*_8o|gg>>5SrZ<@N#G;{*;7=o4f`w~`ixyjvtacz`W^J-PmL{^gnu&c4ytgUicS58I3q-rM`^hPa5(sUbb0s*GY&qSoSs~NQ|OORuFsCHuITvuk`CzN;PU$9@XP7JC0%^Eyg0u)+9SG +>Qd6wR^pV_9dTL54(qlf6bM4G2EhN37!iOiQT%3+eF_p5j@#Sr?Q;yX&SvPV +yO4DCRDo$SJk$!`y$pYHW&z+n`ne;BQv+3 +#C6l~(~Ai@{*ODyuA^=|hx9Q;4Uigs>~jc%0nL>km@+Pm%m-ga*?O2+ +u=SH%g0;zeKTLA({d425?#4&T;9qRso?A>%V(>JVxJf)d7|(gYDlQ_`8?f|*B|u)>f`1JH~Y#!9U~ay=wsp#hC_U-=+|JW5D-@6FcfgcF`3{{;G5&V01^ +TMfpb!0%0|tBa~cDIz{OA*D?`Pz3JDH4CJk{tRL<2T?nl4}lO7*392|$h5#s3M7~mM<7~vS>fZYgo2$ +zpwH-g=$4+kR{j$k-~;RuE!7>;2$hT#~7V;GL%a16UK?8dMg!)^?_34?D03&k|T +5Fl0vOcI!+GSgS*m?+ekA{VwH76~~VKr{mR7fKuh7$|{&JOa4_!V%DgP+|hnG*pw7Eyf@`0Z|1sR%ya +yFe>^A0Sw1#5a|Tl0;?0?(^y@Dm$6bIY(PAL*g!zK0%{bHCAtR&V5l6a5THf@ISVE0P=$&~LS6HwN`k +jR@D!&UHvjJ?|IuzD{-?XipX?&Ki3IH~qDoP95>+)j=qAH0x`}E6yXhuj)lF0#|J%BWY82gW(yzP8pz +bCLji|dxXmu0SD6l$+th$NnEF)hx>A$#}V6%%KQ;FWH;CD_|Vn12Pzb#}smBl_p#(u^9yEw;wYQTj(H +tFw;!r|DAb0+$h!C+4eMW}{ziBWs1`p5Rh<4Io)r}7?~By4$Y3%17?oBSFyt?o2R?<=^f%duX#@xz}P +4}3R;=Z>h|@zr_tQRjgf^iAg0wQ-@o+3E}uV7)*85ja)|_!uer?a2val6`uvS +^MCb#(4=e*`%jS}0dJcGcE*j7Jx>O^PaMYXUA%bHqfcL&}Y)7Px7mls##MkV?+;j52ls&SJN#U=#yYI +ZjeP6onScA>4r?GZeqL?4E(N~&rUKi>~51SZOMzN@%-&-5Z)3mXt@(x0a%@*eL**{uarkIbqC_H)mLE +fDB@n;uk!!J9yLfuLK7qRC2Cb#?~A`mw&tEcoIV&NIO1(yj%kD{o$96S}~xZQ{1OvQ{FuaA^d)t%XW; ++*;q93u|1|->g2{#dE=|V^(F>lS%jA&|0^0wKfYcelm4yK{U+pMuoiYMBKu#%Uzn$fnmC;1(Sc#bCsy +Bc9jKJ@nNs6344EL_rzW3pt@nQps#fIVND&fx(~P;qTTdF-wwrS-dx$y?_{^$WI;cP+N{x5!k +$M%7UjBTn@VJ%*9Y=K?_Ik1nnKU*^Rl>87x2Fm4y>^n*);tv%0B?It$&NXyWv9U`s17eoYnFPh#dwHA +!tku-P|NAe{BwmeS!MbU4s}yOZ4A$%d}%dwdu?9Ua)ak9IAD-YmF}x4>5e>pQd^SW^oIYP*rK&YE3rw +s<pIfLYGj^Og@Zu%LSbEbbii8wx7(W +M*{Gw}ePOIo&`yo}cVlP?y5W +a`bVo5yJWdY?AG3EETB=IW*2nR*2RbILsafoa_rAXcX3avo2kV58;M3$w@VRD@>WKY8^WOw@dQgQqI)&=y20_f7yL5_zP8>(dp7* +dude-9gb#?b?5TLCa6U)CzW`860|XQR000O8ldVxvA`j9(@(KU|8Y}<+Bme*aaA|NaUv_0~WN&gWV`y +P=WMy#li>`sCfgA +ee`_)hoV?Z$7LBE!3P{r|+L4`iIys_MP`m+&*b>n +a7WD8YSW=n`sdj;yn9ToFoyR=ksM6Popx+#Waa^T8b&g3_LUSG>yv`Gk??HbdoJ}F0uzv_Q=He3tbk| +XrY>q6( +>^sKhzC`-#czF)%3onrR@Ekc|}`Jdt{P9F1kE;3_~Fe3P22_Ol}O-?+{_&GQ +eZ8ei8!sqK7o7OKp+hLj<6EFw{AUv9#NI~8QlB~om(*+qQ^bf=h1q_8*sehD}gdrrr)p7Kwf4$b_GEb}K@ +IVx+`90+BESBlCTt;<>R-#*x_qrk#oPE#oSv64|hyW{j;x)PJAxo0%dyG-JE|y7IIT})8L>RIUdi9h7 +`618d@M;pzV|pwi#Gw{D@_ctdqK=GpNEwR-iMx&N6Mf*_p5Ba9K;5_5WsVh&e(`s)Nn#|43H_frNsJ;f%HQtXEGDec$bIF@V1#pwGr%*o4RP+_S^8o^_vqiJ{(YPiA90LRR$_*MC-> +33kLF3>3tYtnQzgVoh?+>8xS!Dda3h+%8jTnYeKA%zFEMu +8_LBMiYKG>b9NkTC(B@WOmni +9{Tpiz9)ugAd4vehPVQvs0LvIkvqgdfp#KOks|bsNFbQQ5`X~Gghok7&@n;>*-it&i5Sv}K1pbZZW;% +{BV0!z1b_&HJsQzT<|xvJbBH!@AVShc+<+6bsUdiPPzAJVNC+s(K$IBL61Qzo8p`62vRIJYn8;wERXzZ4a_OR8x5rJX|q=UxQ&9ADt^Xw$q4v`f}vLRKr_p+luupES +b7m4c8sTvbyE4C7#m`2%h&Y71?XZP^9KG(vqb*I(O{ZeD_EU2(WVZ3i6ljGK-*Je~sHSONQqk)56yV52}y}@%q@cIVx;5+2@WI6w}QoyXkd3E1P@Im20BG0+mecd +PWLtKImpe*^uk{-K=>E3((~E-o)*nhgJZE%I#4y<@f`PqousvNmO*Zp=FQfM*7qWVvvAZTAHeAchCK3hi# +8p26TmqD}EUN7+aSI#{Ym3>hdlE3e1mIxEiJsC>IOTeFN~-L{aMAbp$6`L6t&9D2L(rg +aT47OXhT{JK2Z%9_eSFptFGe(yGXiT*eVWeCNhMYD6A>vrH5mJ%{6_zzs!TjtIoi;<*toEj; +^~qtNu!rbMX9{lmgk +&_MME!rfkL6qiigCW@*@F*Dsr6q@LqhdwE8(??-mOSl{xheZkdcmXF=9`rcgD;=qk|UMq86l+$mF*m5 +n%cEW}@;B}%&t@bt44(~4dz}AVI--=$01Ea-eCc6u|3EybvNzUunD%*)$Auub!_||H%FMu}b^B8H~T> +G?JPM+t%vvTdbvDMAXaBCD#yx#K~w)O&l0k*}SEqdJ|oWGuS-dL>Gm!qQD+N@T$*fu^_Y@&@yJAx(Ew +;e2ycqOzwojsBGN(5$WRXz5ZiiDRs%IDj=?9T`5e%SQB(EbHO`L5=m!@iBf?#po#iK^Af-_pAov6lnO +dl#}|PxUYNPzQl=B$wTdjs93^-&|{*-Kxw+y~}}Vll7Y`m;TzA^kh%$t>@mZ<@T8^rnl8fp8Y$XmCCa +L7yV3$6F388CmOnD@D|V3KC;!uYXxh!Wj?T*M}a8uEzxB%0^E7ez-u%1%+O5lGlSucY^UMv44B(BGVBjAmZ$O{|Aer3lifz +Ly&tqt)b?bgpXR{*?~!$|E}{*uJpUsEZxry_3AWhyectasV{h8i`Tx_>FW`&>op%`(WeRKvxI+pLcFI>)b7gcE~D?X?&i_r +{ekHFe#@u93;Nb?MxQ%iWSPf5XfXfSp&C`L7V$Jn?iN`Q(>D@#)hDhP8Vn|iKEJ3&{i*fhPN$Fb1?OF +&%TnhUauOwl_6@K?mv?D2*XZ~KpgsWAFI8s(h0ExXI^Gk2_rCWZ@4rw>0|XQR000O8ldVxvwKBtG$O- +@eUMm0qCjbBdaA|NaUv_0~WN&gWV`yP=WMy(|8Z)9a`E^v9>TFq|TND{vDDGHNAk_ +GKyH!WFmum{IuXN+-d!*(#p$)KgSO@t-|l1idk>}%|M?0s*u54K-ZY<4w&6vdg-hM+|@tE;QN`l`C9= +mqWkZHH#rJWd}DXj$IxO!SENV&EUWJ$`q3PG_e_$LH6_^!DuH=rO!mT5eT$}Fc@605Y-rl?)dOg&BGGRDkb)Mu4s3zbuLPi2oz$e*jSm_-Z4)W%s_;5J`md36K +DbeZMr@ma2-QqAdZRcY)l73EsjVuht1OL}$mn#6QEfr?)7T{=t>y3(=*U8zFlpVfTr$x)V;d3?8oo3D +!32N)rGALXCuGEN@y_=$E17M4_Ibh#=Yv$T@<^Iv~F{P~}p-bTfz|Nc9L(9JUc6c>+l7Nrl%=s^LPHy^e2C#N^($Jf_%a&bk6ba{ +Anb9(gQ?C^>%KU`g2Tp#ZeT`OfE)?oI5+(3K}l}{OvoU1a5lVa`qM})V4fyta6qt6Oqo~ao0qX_x5Sb +bLvlPrCx{KXUt=o^afDa}fszT`2u1FCkS3oSOjJ~Cvs>(fX;C`vyi2*EX`pTzf2eUfBZ?$g_>D7EPOL +(C1N5W$WJ13~oR`f#uWy`basU$(43FFYugqtU@S2eX7`k5L}YK%Qbvgk`ael4M2mOcmNeQeVLvO&CqH +QhhBe4SUdlP{+u+pRZK8%+qQ(JfLFrbO*h!7Rz*2E~7O?E7gt4J5_-S%)Vs#yqYKvC_qL}wS7m%Bou| +k0)?1vqPs*LcxTX-j&AF;*J3x>MUM1@9Q~bMdGO5tk@NpW0m;y(aNnmroZ%GrI7brKV~pYX2+zlXPeR +}8=eXX}*V6ZBZ-R#y+}pzh2!}$`7N2??O2!!5gM!g`g9U^MQlFS4Fo|#qTuWFa^>ZkYSU_N9!o9#f>3 +b+32~)L&?4-nC1(vg^tv|@4fcCx>)EIq3 +RB*IuZKP5357epZ0(=_2~La$$AZAIz*r@Fo=Klu>9yB%4^fW?bxdUScWuF1nYZ>y_#D}`-+aY@Va6Z8z3^wi$LB2`36 +R2GX%$t`&K82xUI5Op3J3vB +374}yji+u`71(20V{d2WGO&7`tyvZPWF^kVR>iqOHpGSOgQ>w#$MfvJ$Paa*j@d3zSPk@)7mU}}-w7p +w(MRqoG(O%}P&JUM8Ap_r-4CMK4nVzULpVVpU7_C{WhIi%KG0~s%-=DJ~`U@N$kG07yD48uUMy~fQ(Y +qY7#qWLsYsIu{UBG5e=3{2!r{)>8L(YVA(#ByQNPS|IS@LldY7KqMg(BvL(gd~IWuiBZ+T0H7ugEc3X +vB8kcGcegax4n^Qg!@=2xCOih@rq!}jg1X&y#_1Nw~yYcY%8L<=iE2>V0$FNdC=$Irqvq@M3aebJ&?` +%(&yFE9A=mF3`y(*i@Po0CQhomkYf;l5}FhEpVrqe#MMAyYqAK@LYf0Udb{*`nKq}IpGD3h% +Mlvfy(AWw>M#LZT4Nkpe>u7C}iUH(<<_QEE59r-Wd3HTjjg6snfQ_w>7e^NVX3!B}6u=B%8>ayB;RmE +?H7*5g?`VzBML!-xb2GgTag9X*kXIvdUxjDJ(CAv!*-*e +cg5Co6C?Y#;(6c^A&R1}7ec=s1=&)-$<*QjXQCTaw^j@=vHdlS%|_X=z>>VNfUnklwXvHEZ|-_A;1M?ak8sLOy8t&#?9$cE{ +2>-L7KChV?y>C?-6+@%ml28k+s;H@7Y8h`K-sBbuLXv1or>hLkvG&lN8Ai;Ss+`CkR5KezdvBf)P}JA +9=S0J{JR3Kh<|UlF&Fyx0?S1XUeHnG12YA%Tj(}iXhosj;J9A9bY33~5BNHwg@Mb69wu7E-H_R6^fR$`!F_jq_TF +f_Kkn<$bXHW|w;{eWxg)_42GUvAU3Iuevd_G>p>0ox*LEy$1Ibs}te!D(+oNrX*KVM?#d9dI-(`VYE% +>-+ymdEG_l+g+-3^$Je>Vngn>^|BUD<`Jy`62Ka{sQg&Ec78T^_bg?pOV63>pPC7rG?wW55qHQM9gp+ +=ahHK|j9R{YT=DTkzVef6G+=I>G!h;U6B+OZ|(i+cLY&^e>xkpQ6Rf1KRY0o!dAIND?NqtgkajVh?{oBRcM3tq=wZeRKuaa&KZ~axQRrl~`?W+DH)o?q4w~Ur0+Rh9o4-opj*f79GJHhE`EjS& +ms?731aBOCs*q-;CdR4Itszv-8X|Z)aSd!0p;QC;Q2 +?HL&qxg^ez6;}kzcCr&iZ^#<$P`SNVxAHbJXEb}sfBL96-TuP_Qrg%WD>*_)E?8Q-)AcH+$BTNVzCOi +=PE9O5Fh1I$mjtL!$8Pb?n&k`oW`l8Q5Q>rt61RJ5??HRj)pNR +=>}?zj-!Fc&d~UQh*rDX>yDntd$T+0cWfI>YX~hEw1%UuG48d7Fc=R9mffjhaT!ZfOv&7r4*C@nO`6L7IZmg}=>=!;+$#fy+Uq4&V25C~O)cgeALuswIGi&pabR&Z +B%)e2nesN@E(K9;~nxXGtz+Vq8x6=;i4k?La$v9-Fc*Dm!&O$Qj;C^__jPXFP=mrqI4rV=+zHF>uzrF +g;Uv3j(}3>4Z-4I*Kp$buC%eWE}sJeb)EyG_%~Vdo#mXpNly_!0huD@_|en0QkIC`H?5$^$mhtkDk?> +Le6Vhqr741$7d*p~pGy#3fgle4i;5t=qWX$k)S#>*uS+Pa=y}J*<(+;BVrc`M7T3`t_dml%4Q5h4t8c +g0>0W+*ysWMh|^U!o4LOCCISnyVyjbruDGYf$mTqN5UW}DwZ{TVF6~La>|9Q)@t}xt2NKZ-4f0`8>bV +Wemgd^&sQhD`uThf;%l7G*C4(|fe$-qI{}j8i0{fg8+T27*L(Sn#&=D8*Bk +NKA6*D{Lwq+W--nPKM|?Nt*|;Y0HTUuzjju_3%|d+meyXIAT8DAB#CN;hFZg09-bJ?Zy9h^ow=rK%^> +Lrw5#QYoU*=+T7xU3wL>l3U@9zBl&?3Ip`TLQ@G>OkN +wF`}oGw==Ygvn;Ek54*2;c0b^=LDa>GJlP-I?4he7m-3ERY;cOpVsI%^$`#Ge)PjyqFq6L(#wus2$X8 +dFS$g1L@w7V$G?%4OtW$1TOzI#HPNHJntJjrYT5@i>xI81itbc)!`jf)x7hUp`_H4AML#Vnr4}7`ATC +IJRxEFv9C3;xgLwV}$Kf~&I!-xc{xp%(CtTrFST35VK%`R55Er>JE>s;PRSq3n9WOap^+mw8lyJ=Z*Y +WVsP1Ddm4T;02Lfe^#v0&T11B_|)4-!7te#2)d9*i^njTBW2w6QOL;ZYoOqSl#b$r0TN+y&cqP%^cW0 +etG(*5&Q(_1&fZ>5v)U4Q4BMcF@G9JQq{OCXreNr&YxqoEHm#RD@whu}`^=K|3@WIV_mbnCrx6^st=4 +Gc*lq9?hNUQf`<&8)@D>Mn8MMH`FQZnPUD@crNd++-Jy6?iU+&4t>599NJ{Yu`edaIp^Dst(ZQf`3T) +Bj!V_PHF6$1JBSy_+*fVaMzOJ;>ESng!6|Bw=5Cwj588IQBS;v}ZzQI&&#=in5ls1n1>R1dV8A(u!rl +|rW+D=*TD7L<{PCoOt+QH`cO$$g(#5KOL>_*N4KxX +LP99*zT2FLHi$2O9KQH000080F$jzQ8slLP2B_l096eD044wc0B~t=FJE?LZe(wAFJow7a%5$6FKuFD +Xkl`5Wpr?IZ(?O~E^v9RR_|}(MiBkZUopCa)?=|SU-R=OQ(!538I3~y1CggC!`jx{Slb(`Bi$w~4^`!9`Cqz%a{ +zg*~FSS_HCqjmXjH2n*tdz_wW~(iJ{aD$1mGjLM$_%Djsc55wG)<%v98`nOu~=wdZ>{8!W~M|%<~!)z +&{m}s_>we-BH1Mc`3(6o{7q^2uT?0btvyO*2oWq-!+M<@lz$k{X~YTm(F04?$Z47`ViCZ3Bm$NRlb_J +Wo+Yb7-+@hJwoilx3h-G?Ziof$ZEV{UIHBuS=MZg=*n|L7_l?aTJ+QHk4J5s#7&X)f&uR$@rXdNL!LC +p-d;lPben(Hzf+mLC#Cj780E3nGrP(5J06g`b-X +lD^cf--peYV*ThVHmOo6%t6P?x4%#~t?Oqpm~Kxig*2`YlwP`5>_svr6P#;s}sy1tl>#zKD|@^=FhfL +4t8eEB}>I=72G3A^B*V&Gub2jFntweBn|EdP5>2snBxYwLtHnXG_%uN>SfkZ#LW +(1Tbh-K0B}7;E~}g>U=1(`kR|{NC;m&1X2d^iY3%|C1Z(s#c3MCaJYwI2)}NV2|qA!Rz60#%7uw?hRR +{X!^Z@y%BObGw3#C=?5zzIeV+sYC-HL*llTS#NF2L30VE)4YQBAr4JuIWPht&a+B;s$Psy-z_#(cdct +wkM9a&i7l{~+e>+x^_o((sQf#7nHExrvd!v=39pfB*ZWL&+Z{^d2T6#WK(Dny}yCoa>)Dnvc8hOdO^4 +5b&#x)i~AaAh?|uusd^0m(SSO&I@ +6aWAK2mq6P6Z*_2Ra&KZ~axQR +rl~rAj+Bg(_=T}^5UO=K0=vHcX)CWj`(lQVwpwVcxLMCy*9b-qfGo$p^?=c?(0V;JPAtm>odwlOXwz< +2z{ZM}}8c%654hGYBK>f)q_(8wH-qr4CzTq@8Vl5Pt6zG(bu=JpR2`L#Zlz8FBB9m;GvD{J09Z#G#lm +ObQ9T~<-I04vK{=%isxgnjAyFm^7lslWSoFlZ|7D^<{39T$XO|H%E1H=?+vyUf+Gsja}l{?1krI_(td +5NVqj_N^!y6tuc6gS~5>PbnF$6AWG<>rN_`$+<=oDr)6^VMzRZ$yY5n0cm9$h8q$dPnHck<%2GZll!> +5pPQTnAAS6-{##Zv;%}j>nztoxhC34j;cXtDOQG=(o3Eh&dKV`y<(huDs@2#Q)GB5?7k_;=ZLBFy*8- +d>QrQ<4;3nf2!2+_&DI{3A59lD;TH4Jh%0W;Q&_B|NKiZx30IaAvy}Uo-JJ9t`bOeIBQ(^Y-+6LRTp; +h)_Im;m>b5$^)eekJ2tak_eE--3xi4&>>5?QoG{?%@5}YPYNvIv|29Dtcgc$S{dy-b13d^%XHo*WaJ& +xz!W{WxXrcd +_zi&u$c5B3Kvm0iw7+@&iPSdFXk +yc2rrVK7b^}H!S}ENTCchvI^8O2)c3JVu4i+_^&_f)lKk^upD#uX5vqVzV*Rm-=_7Kvn0viiZ2ouv)o +O`k7I%9;h|jdEU(1P`54RRJY(~qa!2P*g)-9J=6Ngx>mzj__%3r2h@dMI7w!qz5zaVdtuWPj4XwC`F- +Ww+x;9L74EPbJW-V**f*;#KiE18pvmzgu~E>q`*-6%WSbeTFc=Q4Hj{{v7< +0|XQR000O8ldVxvY4+g{j33(07+>%wKAk=!sne6z`54=oPMpj0gOj8F*{IJB2j@rMm}1{*rOL)PoSg^Gwc}YXJMyQTIU&3C|LeG}RriByW +uv#ux{28PqYupJ^-Rcu+`Y~YT$c^Sz9Ad(kO%jCDr<7&dr{y_=8+$~4?p|?DU6+3!C&mcajygCmT3%1 +7_rD_7mMh|_mcWU)40wgu!4nXrCGo^3;kL200sNV7XF;smd64C<%qOm619{-s+zUCgLUt$8!kbk~9gBjDl7g^fAF_{I_aoyD;Ns +Z#JP09$HR?usv?RwG^8@zYibVP0Y~Bgt2PpJ{xo|dulvyX6U{%v8bG$g)8)$p@12Tk)K0r5O6VB!#pU +vGGF)Tn93SS_PIDEui3#!D)YZ^d~S54o?Or; +~%2*$0y^n{%FLG&xh=QT^tO@Cr6iqgCV=P9A2D{`gO)eoTp7J8k1_|WfRXJ%Ud5>a>^siaYI@4A8>j@ +D4;uKH`YCe(`<7GdK9zZ61iJ!bq-zMyN>G%lvRU%WX_CvepF)*fdhR9dSBt}LN2TGTZ2w-*K4e8z)qI +;mkXz01oUHP23a4wz8}=sp&v$K*V6;w>J7utHKVB;j9rc(MfJn_XP-+BBGpP|7WlWU&b>MGWjJf%(mA +#48^`0L2s%*(j(m9XrCq6r|F4b)Bld~CufRpej9T`?7!*>6>rd|rxN5ns|G@O0kOn>9<=4=j_m(^71- +1^Km~9I7OqshOayPmN*R#0b8)|+-@EctKzbW`lHNPqNP04T6vLAuB1i#f)oR`c6}- +&XTGg5Oc|JA&U)^SgrIrTDV`UBT~4eyf)K2;3BWv#Z7h-&FH^g5Oi~dxGCf`OVBn;FjQ9lHa6o!MA2g +d?NT0HGd-b6E)u!d|S=81>aWlr-DCK^QVG8Rr9&vb2Xm}K3DT+fKsDa;(5ZO1(c +Eo)2r8q|q2gekzH{V{PJZlT_7pP4AW}7Ljx^9$lUGpEoTnr>P}_;m*zXyh&9dNZsZ625lc+4f*N!b(j*B5oFYgqN(tS}hpqlJTY5#6j)?e((76kj0lj`?ST7DG#@C&|fc4ExBn^*~p^Tpp-@St`f9IN%?xksl|G|glIlfTE2!ddDl +}{PF#0BDci`o80nw48ZVM0^k<(vQu%7MU%VR6(y2PD!Cqwug&Rc9P=0N!G(v3YkF>8Bl?rUXUSuLEl&MN0DFr;WL^xJL@o}sqWoB>`E1~!}Rzl(^Rzl%8R +zl(^R-!hQYCevYP&kg2kT{B!P&kg2kT{B!P&kg2kT{B!P?i_RN-$<5_u@EKLh*5|gv3#-q)k{o94n!$ +AdZz#IF6N&IEs}}IF6N&xVgsc=3*rzj$$QxE&IvGN=O{VN+=x1O0sA>7b}tD0ScDLpJv8fHc5~9Nbi6 +mA{3vf_ykjV5gJn{KEcBZ^KH0NnDO_xa^vrr +TTrTlVu8tYPeNcQJ{FjinZc33P<$*fB#s1z!m+@R_;35TzVRr5={$?TGz+)LSYWb`c#ML;Py&hthQyJ +;h_q(>?>Bi|Ul14=5VjDQO`1b&T2KEl{)O&SRZrqyZZ1H%J4JK{`jP?S?QW8@H>2c3vuC?|R@OSX87< +Rtuk>hvRU4+(Ko=|NUvv~x7dOtUOM9)6k!E1Ck?EE(GVwrC(#RC*vBt>!)cD-iq6cYZz8p51Mx#=Z+p +-fA{}DIK)L4$aOfyz0_096{XVFNE~??3 +ddfC#F3YwaO`DB9C;ZE$6h9j7Q9R{B0R*z+T*odtO>%{AJU^ls3hBd^Zl9pJTbU2Tfu{fbvm%%)4^Dq= +kUm{;DeX#@Q*6|=);6@KTS+){A_$+ihTddWP+(%UJT7k}Dh>1o6Z_Yf{zg5wcKO>tgP+>&tq +c?OV4{rWV+Gf@9C8&|=A9o|DVm$QKS`0^Z*=3#qN}ebqe^82|Nm0vkHX*9ov6%T@kz1q_Pp +JBOhQhM;&@kW1Tm5Qy=}53Zei?$wp8_B+ksC?7ssg%@`VpT*(J57=@hgU~Oz+T}H-c)Y^Hp|a*=x!y& +}&ieH(@;Q?18)`XD1+1WcnTDZW21!SiUFp4XoPKwPqJ}{x!20b@>OnP}Htq +C9b7z(#eU8d4I6HJWJlBlQmj@lYTiq){M?!A6bP#Vig8&R^iPmyjg`etFW{RgMM+*Lw2n0X1=|-gRC& +ObDKvz7sy+M5?OCR)UF|WQq9b!#Bo)wp>#8BdI*zj3U1<2ZL*7-7_4;@jf|TZY;+R?m76HzB?u=mP&f +(NM-=L^?&TWNMGR6G0pCoh<@nev|N5!i%crd0?)6g?{yQz0NCU;0FhBAa)RN4neEk%)wSXgkLE ++e6ka*5tyyhH`^vx$GdIJjf7b~QwUSiRQTM8d^h}LCd=ZIi^2S~kb?KdUv0m9t$rCB9(_Z(rrl~a_dBr}a +g<87S+Vd7_nObY>e$%BlB@fxwwf3I3O54=hPe0P{)LI=~>+E@Jbxf_Zbsy@{o05m@>RNZtTcvAi-4}5 +S+qImjYv!J}oM~$2w*5&Oz2c_iA$z*k+w)fGnOg6~`cwIqvvkec^Omzr&3bfy+WqhoU7PHA3r$RIvUA +^hk@urjZC$hXx)oW~HZ^;7^Q)Sxq@!Q?rWN@czv`96Z&wvJpq=GS^qMGR5}_**V>HSH8Rb2Dxe#Nqik +kwA=DWWu{|8V@0|XQR000O8ldVxv9(C^?p9cT{85RHlCIA2caA|NaUv_0~WN&gWV`yP=WMy$RT#iUYRF0EFiIy@)jF5dYBZWKQ7T@iw&&4E$x0eA$%0qr#*uV{9|n9LA- +}|-A@`O6U(PDkR%?KZpSOYvJ<6PAx^gi+EL7Aq&g +ch2-E57(}33lpoC*MUpKd&wvHU(jVQ)!(ck0cK?a~Xpcti{^aQ!WRVK&BEhjGzTS8oh7na@`{53b!@# +3C>O4TBebeoACr`@zyY8fKj>mL27*U&s?a`#$nfBTv8cs*U!Pu-Lxs0U{D=^DI-b1{A$+ZBIXcC)yG7 +kL->6LKMb7^J2GNjpI=qi_NRLExcQ#tg6ztr(UZN!RrGQ@nU%nf<}^{=piVJ!|qXGRF^t-Yo>0jn*e3@Is^Bx}smQ>i=wMT~tJ~Z=VxuTvfE3%NAr=95iQHHOah%p$LO{1}aVUAak$pY)|#8Z?BmZqkP>LK1 +%{r9~preYbRhaNSVE??@zfr=wYL7>GR-}{&&BJt{+WJRhwHzK10Q$FcY6tvw{gWHV@MNkBy-AUZTyB{ +WK69k^Y%EWuU1C{bEOda*r#9NlHmIqzW1sIb4y^k=+a+FrE2!B!`*_EfKg{Od)r)FWC>vL3g1TWw}Hs +LfcbvXZKYjl<(up_;GqWz%3RcEBktg7j)KsGRLW@1HAgwICxN%f+0$}OwWy(>W@N~)|V` +_(CL;FH#TRoP;ogt8|T1m9EGC&mhnZiuyM|ZFOsaUO|YY>nknZ6$RnY)ISSXp?2 +z{pmtQ{e7sfUgL#1Qhu{;(c=ha!>fz%RGs#O=IUdb}C*tWJAk4Mw--D6wwD^N>xiwihu)QLU?nq5Ld!zc4h^W3vh(tVbY(9SnTb2yONJNu5D|G8* +*C%pv@>{i3IJ#}jIHOJ=YAGeDJ-AJ+9FN%%01QGNk%!FXi`RjezfW^Xm0suF_}nlque|2h4(>t+@eKYsv9*ISU%jx<$_s*!_niI1#>Gtox9@l@ +N=zdFZEPp%{iwu3f;2NXUQ#BeLRx@K!=Gcr@a^RU4$C-BV#Bzzd+-37IV3efKM(%hVA{X6x|4z)X2~292~nJRRQ*>-%$X;)c;qZGH~^698*!-06`rz=zE +g2)u2urq@jF>H@(8^Z)xB45)%Z`C{B%D0gNgNM9=feK3hjrwqf$N^K7;s;+blF;zMmRLlb7PGTC?6rD +J#z!C2x(iHD;Iep%`r8#1DDG2zMLqU=Q~ySBbaue_vK-mj$o(B$~P9J`}FeV+IN6H!xhiQLN1vpD$mI +kq#>V22e`_1QY-O00;n+tx-{m{!gHV1ONcq4FCWp0001RX>c!Jc4cm4Z*nhVXkl_>WppodVqa&L8 +TaB^>AWpXZXd8JovZ{j!*{?4x$sb4^%IbcPvx7B_C3N2dRL_k%wS|O7-VAa^jcHnZq{>Dit1OkOSOO? +pXJdfwqcJJ=;7c|>1-2wEvt@gleL$fz*{e&~NcZEBcEGY~XTQEU5w4_ggY3R#;80Q40f^DeMsPUFWX= +=cyhI&RS@X*vL>=?R&8HQ%hbVIpZQw1^rlS7U618THK))YmnRVbK843k3Rr&>!De;_f8q)OzTqQp=i= +26Uex)o8DYaQWMO9RDL32K!}6)AGf9cXY4V{5BnOf^*->L-!3q%exjLyWJeOW#of&?o8xMvN~MTfse` +hX#ypzxzZGk0pIs%U6QahxRn}U6$J}?o}F0nZH0|_zEEw&%bDTJB^Aul5X+Q +M6R@;aPOpfPxdx5jwf7);)u&=yO9S}btF#8zw0kQk#8Yewl7D|TewUTp80hZ7XS_?HUH7`~(iZv-j&r?v=-eqFJX)` +i3MP@*ph=qrz1jnr6Oi{jr72lYs*6P((s_a{38GcIksFL3W_+s@iv7&xN&?jD2@+D1ozIuFkNa6OQUX +MRY2O%u5t{)ly66Ez95PbamrC|?sOTRYF3Q>uxDF_;v8G;b*Ia)RkGp(&v5!#h +Gx=rA8M5eijPf~bgt+&W1O(pUt`UoePWyKl*HdXY>c6h0L6?8uaR|0Zo;Y#H3z+4G +Cn3@|9yV1HKsDl~15_U3(H{~!pcQ-~->FM($bM +PDtHJ1x~2=m#o`Q>;I54*1~mvgH_xP8uLw%&WTVLJSOj=@BQ^gp|I#;uIl!I!`+ZnjjQi@6Cc=SGu%v +^w-}Lxo@bb;OWQd^x(jU4NGf*?krMFJiDI{smA=0|XQR000O8ldVxv){$p2AO!#bz77BYApigXaA|Na +Uv_0~WN&gWV`yP=WMyAWpXZXd97A|Z`w!@{hv=UYIG{-2p3YFbZykr5g-XYehC{@Q59L +nUSO|g7wxXo(ocVHZDSiSxl}roZKX{Gty9Dtxm9H$;c864JL-lTh+V9{00fA~LatMI2w}(<;crqQej`J^ ++*wmBLeQ~Q8>TjTui^c8PD7?qDcv){6xdATMZ^OH4|%|ZX5?$yTAN-MO5NE)oU9PKlYmduy&=YNZgW2 +~rD37#R(qcP0<`m^o>B09H&;lO>g)!z-=ao=(1ZZe||O* +=Dp(47xEGn&q4(}~k>5jl+QCAMN#iJVKk1ms3S$&eYJM>?hci1um}7=^U7sAQ +mhib2q^@;A-*IbO_RPUj@iNVopcu{MSq(Z`k>XM-`jBV#n%Wea1egSmw>*Dq*P71mD*U>Q3tVC*X{Pz +W&7P#n`rL9a_*u2xcAB>a#5=-mE2Hkvk2C{(#&j?T!26NXD`txjtsxu8P>(A!^|`}&0?@!xL9d}QQP> +znhUlM>n10TJsG7Z`w+n7b7yBd3vfOSoLFR;V#|kCu2eght%i4Or73T+<`SGm2r>PTJk3)~tK8{jY&<4g_iPZ2)8TQdH7IK*5FH9-G%r4KEO +|K{X4LeS(n2D7*gIf+f2Ojxi75l4mz;8bJTVJ5QH-!RA#=^wCiA8Ui2kA?Jc1v-)baC?m8!=JOy-IHO +*$;!A0CeMUKw83bNzQVBFZ`)-fPlqx2=eh@)LZ@8Y%)7cnztd6s})2F*&<%m-~OTr|FR9S#w&s;1txf +1*yK2S+dP3eeNqY~*_&CeOywr=Ms+p03gwI28c$qr)IW(>;EUwzft5x7CB?vX0Ch%->g;!u`MBo|-2W +xN*D3kp?}Ev_B?O6@XJYk2pwWb>y0dU~nm*GNz*@sip}UG1N5L-G`b9 +Ioq9x33PS=d%4&xMB_y?|k?VZc?xB_Pg$2eE;EiebuY=UrFOJA>-BB!#9;*w_m>DF|9NZ=1QY-O00;n+tx-{RfJZ%W4FCYeFaQ830001RX>c!Jc4cm4Z*nhVXkl_>Wpp +ofZfSO9a&uv9WMy<^V{~tFE^v9xT5WS0$r1jpUoo-j0;<3UknQuy<*U*Q$mArX5~v)xp|FNQ^jhJCHnN6CQFW^aJLA)Y?lVbUhIYke%^+?)pm}Fn`KIgJ{tAcqkov +$?5k_*09lI{OAzI0 +9xa7e-pXi;O`d%1_afJO<<-rl&Fm`DNckEiYvp_6ZoneI`3w?II3g^D3DEjji{s&+{0$ +8j%-@c@fnF&D=bB%GE}1=&s~On6G{9EXEHAP^gUfcdd8XOZO7$gM#FXxWGE;QiI@fF1WfvJb~MH^;rf +$G4!xQD77YtR;!X(iISlT?MumuCQmPBv5({)EY;NCk9J9mWRTE~zLYAv1ouTV{Gqqo^WD0 +%D#FTk{SYr=?fbGCM*G?Bwvh%IMD;%rFUNu2vdv`95pbz$rm_l^N_5Gm6PJ9^>>E$ta8?9!uQEwhLnv +C7{@n+M*+P$+!g3tcmix)5UF8xX5a;UIjOBuhE8 +8ab9OSO9<%TROhd%ibQ$n3h4Z9hv-c{TU{mB|mYnd(!}`v0{Lp1%9+#2L2cdh-pqS(&ynhja;jdn1y> +0FeIkxddn#6hj85*yRf}kWY2g7YnsO*x-brN7|A@d`UC4?C_ed5KA@22l471Ob?1%i-YtO}qd8 +>f#Kf4Xf2qgYUcN?}sNJ2kqfmd(b`|0Hxo-;w{HtEQQOfuEb@g-O@bF* +%{{0}P{m|__PW(@)_-_AdNNktK*C77ABBWn`^XAo0^=9RWRXzxB;y=iGv-PS~sTEWaKN&--#L(Eq@T$ +bn+{N&^#PE6-!;d9~!(9w-N(`@dG5l0wc)5$Ad0683vGPq@&V*0da7chX99AWFr#0jq-fTEknDwp*Vb +<}*MeOeM5Va#o(uJ^Ivjd7e0_LOns;u?;e+rr2pH#vHh2gmNRLUspt0N;B(O^lW#Qq5xKAJ# +gC}8KatLGFxr-AWk!>o8-%4-NVmj}{KL;Xo-a8s4Rx=vakcBJ6^gVaQJOCU-roxCv=UEehq%8yq@}w~ +jA29NKt8J6Q+!)oA_8=G=W^v!5s9ov;#EX*`qK1m +Zz(G0U3!9s@I9v=5kyWK5zIj&T)qnU1WyQ2aIY@$l-Dj}pKD#-vmv#%BOE^a&GMneae!yLRk8&ilFJttl=XgqfOZG=$el#MnWUWbXcjla|A42bKH +{!_*$QNJ?qfsiy4wG^co+42V;1EbgZ0Rbm5FP~31aaz}GMjTDUEjc{RQV^!DN)u)wy;s&+t>@IoF&PE +=&8o_-Dso@A41Y~9ppBR|kS%;AgJQ-zjAu8?d+sMkSWSb9`qn(B( +c0nwa03gq0~u=Ud34_m{F_Rg8&XN~owePGmGr^7mJ)@aZ_rM|-!k}45~F0XTMB5cp7$^DoG +yq!+QI2N;QT)Xst*!sgLe_TO@(WWZn^Vdd${;QbvrxcLr@3dckSwqzr$p{&Vk2)v>WK#bQ>R{Ewm(A9 +}leF^pI;xL)v+?@n>$;L&CmDYzEotp&O?BF4Eyc#7Y;C8OTFsY-->W5(@rTh;-jU(LdFR~jmddZ1uM> +x4TOBgzio^m}+(y646`QaBAL=tCfw=^hqH;M#bSgPcn%9KVQ;y3jl6l0S(k!GMNO +nSp+US(>J@Cps*98P+SSlr^vSMl@ZmW2klSGksE|3@MoSXQ$z6+83pAjift|!ce9DG9(eq_|mdIQChN +D`d+rko^G{l>&UmAP*3k6*6Z`DderC?WYSPO{{3dGQxhvi`_TkbGUdY^z>k@t^9=qc0_U(5Eh`5G)^H +jatkq^(nVREE2bHd*LL#dVEuhnR^(mr7>!}H?|k5;ElHl7Tw3U3v+v;51_Rfag!G`4-k#i +UNZCp$8le#ZYL)~XjIm4fspz6U>p!?aACL+E)9-+&gmqXI3u((x=EnMaNsxp>rrY?`^&J@9~+4?cJxq +Yfal2Ul$>(Z8*zb;)#30F|fcBZad?9)dsdbSwrMFIv%KX8)2-q_Xt% +Nw$>OP`%cEN)jDEq6;}P53yPRV$vaduqvdB!8+D8hvMcYLg!!O6XKu_h^N_g3d)xU86h=zBd&dTO7Dz +OGgOvJzw%Xt$5s6IL276KeJJLBqUeMttBT!RyF1_)S-F7!}TlZ|4KyDNRdOE@>Ll<3;XNPMA)zz8|X| +@o{QXMdz>Ui*{likvNkDg?cEOUl% +*Sr6^>5dO;)nL`+OTM{X)RhV~iyjg5u_KrKD!XoBP;<^i^G7(qmijyXSmTlk@pCV*Xp9r!?qtmXjqvI +pDqUb%hlBO*V_vNQ3CN9c$CfS;so4yFHz9Bog=hg1+3Xs+=d71lxTY75h3nwJbOW0zjn=m<+l)F953#=JF0^Hy@$&RwUdXgnfbo?=Heljm**dNvY#goOeaIz@ojjTy +2C%=li17FB?M~(SFsfn5r?5n5SWHc{>?a#EU8uylg(=FLMMV5Mv)_YM=m$0K&D{Ma8SI1M#s?x$&_We +U~y!a6q;VuMym3Kh+!^OWsem`1`}9rOUBbwkt(=0TS~Py&>nW6e|L9F6lcRN7;p|=5v##Njp`kfs*<4 +;MzLjXq-yKVJy`%|k$QtU<1587xCT;az(|;H&031OergS8OBJbY(WO)&f|jZIAYl)%l{v(b0EG$D6+J +b=KqQi%r6PPL6P9iZQ!WxJr%-KBWqQ}cXJ-LZ)T9)iQJ|t~=J}Gdn7~sOqtFPEhD~A9>qDo;g%H0M0% +J+^Wp^I{8TpIc@2E6c;Ku6jvek@TkP6z7DfH7cHwCamqPM_l8fu5M&bHuCX#z}?v}@`;{Xv9O=m)J4E +D>^zY0kUEK(X+361=#J00z!0d>we+zzJR-D3&@+UYcLU#Ig-%L`+qwNSG}NCxV&n4POW`c$!Qn!E2#@ +JP91z_hIaMFo5~M3ns(Gbl|~!;muv&wg7y@U5krmo@?^H#VJu{k~*27i5S;a>8~_iO#*oW>*yV6%rP? +BD2V72*=&DkhFpqOSua5j4SfKXf{>;QABxfL(Dt27msk$-?b6c6Ru{hXDJT+eoJQaie9Tg!9&;&G7oM +axMd)lm*xpUQ-@ESr((3~(e6oD@fbERF^N3uwTB(v5Sn)bi8qG$@B~?$;D?Xti8GSVK(pU$g$Z6^8fW +pJX$~Uxaq%w-vOknx8qovPAtaM??D({}V^pvqRu7+gGSnF&Twg|?zp+5^}?#Q0D=!toxb!o0-wHqSo9 +?&@e*RexdG%uWc?h`yh&-&6T9SNoohK$Zl7`8R?v<4K9>956oRC1FU^~=MYMcy0(zCKAx$j-B5l6 +4XKG?whYUz6Wozhej`HB%`=p7uevgPr{o>_yx#NfV@&OAcZDZ0xoisUf*7 +P#=s-7%A?h%=!-+yDPmHFb?IOl4C!Qj11P@sxHw)r-@#QpyNZjkP(?>w5crp=eC@c?z|p7Ngg!QQ+p; +~+^_r;;ZQN!1_S>)=Hwb6;31UgVnr{s&@_$P{34EgZq3mOK;f%sb@W15u1G>?t=?Qk!-xcjhoGXRGlu +N}?v^((oBix*#4+S)~@TW)Uw_3+3_PQEHj_kl51{3G`{&x!~*#%WHLacT#k-F~7mDO_??Ls^0SE0ld08!_k1(qWe~l{(Y*r_I~6V@6Sco +asL2NO9KQH000080F$jzQAfv+*SP=y0P+9;03HAU0B~t=FJE?LZe(wAFJow7a%5$6FLq^eb7^mGE^v8 +Gk3CBSK@ddq`4z<^cb5!;MhAk37nmrhm@d7$y*rKbvCQ7JL#i1EhkMvtcjNA?`8>V7Kfk_g&A;8%?S<}lZg()hP)h>@6 +aWAK2mq6MtBUtcb8dE){A +P)h>@6aWAK2mq6>`Rj)}Ztl1jf`Ey}|iv4$=)FON>dXu6Ixy-GX%(3X42Jksm3Fx_7-1 +MFFxU4uCJMZh9w*@I6OZsT`WA(n+o6&?||Qh@z2B7~UW;<4UvYxUpjVwmUoQ(#eh$8-dXqHjp-MSKzp +@2wW5=ZCR;X40Bv^{q^d!DSAhMya|cHd=IPs9Vb2v6HydZqQ*>HUn=B+u9HS8VdtQDEArU$6{nd`43S +3vUj!1SfFqm8%xVBw(krHovasY!tc0<0K-XyOivu?$ghpCNqXEFOP)`|>$6N3YWN?E}{uP{t74k*c2a +qhRal1~8OFmLQXlI08?wqiPuoO@RpYfNb2XC;Xnnw7%(x}Hdzzu8A%cJ;v$X}9~q<*eOOhUn;8@%$vA +!r=Vy<^-MzVl3{({#^jA*yGCXJFTuyAtbH_ntChq0zb{RxIBL>|E{{se40B0}E^j<7C-4+%!Art*HA3 +WDVP3i>dhK@4wiz1!fP~uU{UT7h&Z&NKUN9qmIRxDVH$~ +ee08E7bD5-bh~-M5D#huD7O-#Q(I~##gPTx)@#Do)29K9dFT~;T>M3TJiI%&BT$sNCH$RH@yPpwgzgv +74oED80CwxSa3hR!%N{9Yyxl{>C$0q-bS$NiKf1)@eVHjQ8l1}>~LgOCkb3wY1RP2#8H4>I8=3Z3C4M +o@)d>VRgT0BQ-C8}*FN?A)$4dOrUwV=J&OPWx1$MV%g8b{I#D+CN~e%ET7$c@3D7$=E1kui(@(pXX$}gj8|1Lx|_uQw24ob*IG1P +9{)~$Y}eRVdriXz-Riy}0v-hQH~C{)%EBp+rYFHl;#gr>IO5Vb9H4yU6OZJ`4UQzSS;i^pzFFBk{_zc +fVXOR>((kt$`rr2eOrvbs*R?QrZ;-WE42NHg)#zn7kEfB74h$A~{4T-6W|dmNHk*3u;6P2o))W%f&ft +OnBOk2qx-^=EyC&793FecS9cpCFq~*@-lJr<7{pBE;ebv3cf|y<@%H_e$2@8dA%dSLne!YzVN=4=MWbK$zM^#fmN@CY4kr(O9KQH000080F$jz +Q3IYN(6ayl0Pg?*03ZMW0B~t=FJE?LZe(wAFJo_PZ*pO6VJ}}_X>MtBUtcb8c}rLsPYF?pytON +FmAaF}DQ4Wa+j{AE1-fZE-fn0V{>A-PhV+=fQxx0uOOeBXd`b(X&l^}{8dZW9|F2=-*^(H#LRM`IH(A +W^hQumrf|7}ff9Lr)+UPkmGpA*V5@2{kZC3+9fuv)t(SFW;OP)h>@6aWAK2mq6r(cT$007(x0 +00~S003}la4%nWWo~3|axY_VY;SU5ZDB8AZgXiaaCx;>QFGcj5PtWs&`cf-a~!e3ZKk>50gRi_66gS# +T&L}L6nnwC8rdg_qx}0@$qvSFzG)un2SEGj`*yAU*5-=%S$+^~lPK~b<5VS-lY1&u3J212+SM6Ji;3Yuq1SeYVHzJiNF#K(A?Sd*ng^J-(wajOorxWAe-XAu88 +63Ycf0;D}Dnc0v0N%m_gF&w;?e-<@2m6$pG7dk>{HSj>N~y$NaLIh#fL8YW7euP$YTYnooT)HuNl4da +Twhm2B|zlv*(hM^V!&SlNTEoT66|@W8@*3hln@Q^-S!y-cCiw9%rj0Hmx^N3sbaX=gHDV$QpO`VQR|$ +@nF8n*PUNUG(Tf`Jlk5e}(JN%nRAP1+2Nq7juKm3OOm);+XM%7P$0A6~#QE*(i>(RIl-bqALWPoAx@C +v<*+zZ+L(?6g%{HKPT}H2Cxb2I*@?uZt%#lW|-L5xqCuAlrJNWqNMQGrj6n0?@Zd@_6kHqo(Y4#fGsG +`1~FP?^r@oU(A#U2g)kFTMQE9$5DvSj`kxE*r%fBM1D%`oca53{_l&&B&pKCgW7 +QwjIN(5X3+%1A&RtI_p_#8~9^QRinFLOKwXHuR49)@?pY&ARu-Wb6DJe-{|-WuTPezFScz)e~1GFa7t +ca}k}$SMJRw(CJ#Qzp^_4rZF-#OHY?6vQ1fRC)k%v_8q!#XRD`##F?`j87+b_bYQ&VeqGsf9F&Ho>dV +xfLj6Ptd5Lc1r%px5Cr*j>&IoUKr8n`%iemYx08EohsSb($>UI(1Jh)gk?l2gE`XODz)_Pa +cj3TinBJzIYf;%Sf;4K{%Z1KO~N2>1U6Dj}M}@r9F6z8AG-$Q^QNFD5z}}?}IW}z8u=tzfem91QY-O0 +0;n+tx-`U@N9Ew3jhG#C;$K>0001RX>c!Jc4cm4Z*nhVZ)|UJVQpbAVQzD2bZ>WQZZk42aCxm-`*Yj4 +5&qqO1$zELR4U1@P9IJ+t}N?fCysq%JL9IdhXYfP#4|WrZQq{a=3qRG$5z9XXL0qj%X$riNb)zg7t`Cj9gxfCs(%jPbE +p2y%K9-FS*#+nWcP51~e8SF;7Qu{Uc8S4X;jV@S?A7c^<9!dS9&X*KV|_zrG+croS?Pt{dL;p +otc!_72`diYC|(3eceot+(vIV4v+2CHXAj)a25T&kzXI|Tj;Ni(q51^pnRLV%Siqs#l0CJ9SD{`@lwW +LK+oIvw?kF9o4QC{f~xELadK;C{+8+3gV;$S|JcBT8fnAxdb2w@~}XUZZrr;<&HnJc~~Ru!ZFO79PAxU=K_A-y{ +z!66grWxAf%C<#EA2kEFsV91ab_*;8?boU#k%LzFLe9)I!Qc9PjPHoCYr(e4IsmH3;}}@0ScRKjg94J +2?FF(cxeJ_NTqoV%?u|CSut)sQndBU-~#TefAnk2UspLp{8E4R~d!RWJ%{?U`&Qog!#sGgIOEGEPM;8 +Yj-t><=_p9U{%9Z3h1kojho}SaR{xxc?7+7G(39gU{+ITpk;;HFWmG^}T0{}0GIAYd~t&O{J#!KS}=CTdQW1| +4Y7@9<4U($)+ta(Db5OH^~kxL76;Tf&0CijWh!B?m?8J)}l}nDUjt$_8}{Yzz}Jy1Km}!GfkxRhVXa! +C>VBzYAR`kWevgdn#ohnIJ=wOiIJjP=n;!K$>hv6-b;|a$66fxX!XTKsF%(R3}lc9cY9a%(&w7kEF-0^^w +)=lXWsI?fZ0Gr&jCaF46 +s6y{36FPnQtMwOXBe-Ktfq?_i~N%Uo2ic5Xdc@GOE7zpDqa2Ggup-Yw}GR7fUNXGXC9gYGc`U@D2Km>qB}OH_kdjOKuNY%m{? +@p=xXlRKl|9Y6|$Jdkie!J1HZ1c6Eq6Qh@<7IUjEFAbxYH=i<5v_Cor1*}Eih^n-3qJ|6I>3+R#bFMf +HQsInZK2O}Lr4_)LqFK)8S-l!I8wYvqVc~L;!EmcGwff3(eYciHY6$ha!6SWTd930ZGMZsCMPeo2tWK +kM_T>iunw)U_Yx1q^S{1*v?51G=)G#AzGo^BYB2+9ldsit4IHA=Ps!S^Kg^O!Q2|2H^XZp3)mgc7egPY0i7H=jqBtpHl&dol3XWN>;p8h>&SX6h`(9*OAJZTdHpv(4J@vQ78H&1 +7=5SzEns)BifTyu7~O44~h)d;ew9=KPmQoA&3?hso95XfuEjXu}wP9kql2-?nMrpI_XyH~c$iIZ1ntXYODvOEt#C$WOGM1H +RyY*c5=&*}Tl4U>6$}q@Yuxm#PItHBCZ%8Iri%7vZc@5cZmMXvag)-oaZ?4Lm79$BC2p!Yzmc1icAc9 +l0PWnQFe=c#(8wNIrpfd_K5Qk&x26Zd>gBr%b7Dhwcn%hTAd&`+uoLgRl9A2J)f~l9kAMyRK3wG&TxuD)T*&T +mJ0RBYQH$9Mtg^)3G%rJDrtjX4wqEoH$bzcbIxT4GuUuK6jHAeC*_!=DY(I6JV#Ox1Ch|!YfMRuKI~e +<*heH!M?f3h(?|_!)@nS%@ZRYm<|)q-;U4pp+y`r_C!noEM=aL9)sw~1DRQOfxLsKY_?-M5Uu?BQs8$RjPGuo`7BWO~BVrJ%d#mp=q9qMPAWx4X#Ayzf*JYPAR>rctybFtdmCZ(zImQF;AcZ +kxIIBk>M;Z4}?^%o}D`oGp7{-x(K%An^NqsKo!{r)8%uRI(ijz9yk~-US++j?dmi!e~`%vVQ9>ha&eH +Gpae6@Vh|O6%}aIDT3V?kX)vEO4{rX9?1FXRBc$(cu-hR8}&dXSAW=VmNU?W+`)0PpgG$c>b@pFh#i* +CW$Tk?jj4YUw{L6H`>_&Q+lsN23g(L-WqDSDTlkssEn{j!d}j!zU54njvcZs)MN~q2QZgjYNvE1LyJQ4PS<)k?@H^$JxJSlt1-TD%3XA3pZm?l4X} +$Ice!Ks*GXgtcfs=mR?UBx@xl=b|yaBX*yg_@tzPkJE!T9pj7%LMeI{i5l(!+t;VpOk!*w8d~avS;@{ +T=xK(ASvmN>%b>rSb#}uWqpecxqtwa)HjlZAVjOZZ`+;i?m5coJ70@{nN?iTUEy`7eBoJp}x9zp+NTW +{{qBwXiP&H>Hj1WLV#fl#q^g69%F;*$TZ;`6gau|l$Sq&hN4OHuwubR*2R2Q@z_7yP(9o=sIV*x95`K +;sU@ +5}Y-w|4E^v8`R85c5Fc7`xSB%udrmGOa773|RB%lH8Z~#=f&7?Irb~Sb=`S;k)my_+%ja1d18I +RwadE*(Z)UhVMKN$F|Br^vl;S(bxu!ftLuNEo1zyAP>7c0RkjUf0ArN#s_B7C`Bt?%yFP;h~1#LJ^11 +I*xGZo1u0NxL_KZ##>wbrcn(N=TX1+^7?miyLUY@2u%TeRHNLij)Pm(I!`wfeh}H#NLENohdpIJ03Bg +L*EB{d=LdOu)E735;74Mg|2*An +0|IZmb8Zq_o+LoK3S^XMfaIVu*LG^lj|vo|lmGpd~!S1v#?Ehko>NT~6yGWMw?!HLiLBK||b``2?^d^ +gqCXx}OBx#5_858L*9e2H>!T!GMJt49o+%#%Ptl=h`5}{Rqq_A>F(>akaydqaTl9Rzr1!vwFUHLG(01 +Tkt0nG_@P4GkQC`bZNURnPht;4|b=7B381EbHvwnPILm-*S}A0)lqPCrY`R>R1Y9(jw1KFf=gSfz}1z +cf6yisnh5rCk;Vtkq#qJL0J0|XQR000O8ldVxv2pbF$Pz3-092Ecn9RL6TaA|NaUv_0~WN&gWV{ +dG4a$#*@FL!BfGcqo4dCgZ_Z=*&Oe)q2!CE6Oc1m*G;H4lm7bX|Gv$as~ksujX;2(*~7W`;Q4U*9tfh +QVC2Nn2@AWQ8;5_8rb`j>(8_b}W911o?xeo`}4ZeDat`U`NhR&n|3o}cRDZ|7f@-J_eg`D +Dm7}1o|1eWk3N)5=8ceb4WfAqb4gKsnS+qv%gxk*T)8Pd0r2 +rCU|hrsX_~I7t21b_L6Q6NmB^LA?=0=LDz@Wg={k2KpNjd!_qvf!!cEsyT5~QMDWSOS_M@KShV)vz*0 +yq&Taj;DPVi-Nfn-+&1E9p%9K-S@vTLeVPzwqUVxvjXSdUFqpBC`DyX7JF4$fXRZ$w?|A~k$n`hOH$z36(;)mi%$y%AsD!a8srDDDS#7 +bi&}H_yZ-6C<2Eo-cr1w_xkxepTHY5f&4$w@MEpp{IMDy`JKIPQEc(eQDm!{F<_VpX~p4#NJ*v%NQ5V +hyHGmv$PAo5|Zit=)qYoItpEB==C(8{Mrg-&MSXQ^G#kjBh +PU$JFtWCiFDIX#g#Sd7Is!mBO0o;ec<;7pP2y41N%;AI28kdnrWwKHpScx&dw*jX=TC8q)lf!m0s +2LFVdSvq!nH}yy7DGC4^5vQ7@2(`u%BA<(Nv-N+M2pG1WB7U41RzCMO}kWVc*hWxPsZ{7 +hITEkIh^jVdUWkb;`zBF6ATNVoeX_NU>FV`8xEk#70z#q(X{6ovZi8LJK$&}}^@yt<604DZ9oECOlNA +204+FNQ%}^{-l=oCTq?84!rY!P{FN47!i +ceyqjd!GoS6?fu?aq)VKXI1q%dsb{tr=1R{-HE!o4|6%GlcwYu0V}luwWeg15ir?1QY-O00;n+tx-{; +DAwlg1pojh82|tu0001RX>c!Jc4cm4Z*nhVZ)|UJVQpbAcWG{PWpZsUaCz+*+in_1^qsFb5>gBa-h!Q +`Q6(bTm^e-ysK8O;C$yKrY_iOt+1X$!tKZ%;mtAI-1w#^7eJC&9Gjs0uaUFVWvEuRFOu&0aeKGSXyz{ +w8$O=x{ol_6a#}{yV+)Ml{C6L4+p($xWN(fwE_4d +k6l;-@KmifNA}j5k>Dg@mH{dkye+etp*a1OIlRZQzf6P;f`Vm!p1vpx_e)_ioPy`u)t}LeI15l<+G$WetrmzPT8FylHyNGa+~!WP+qF%an+Tk9TRqkP2f={Mv&0uN)ureApCP8w2@zYSEm#r=80TyWVn*`NDsG;|Zp +`r77i$)w%={F58aXr&F`!I9n6Mx~>BJ9bz>qU;j;L=RIn4Xkg1s1%chTIA536H_aRI1w4AR`lS76(V>JomY6$uz~>(wwUHxhMPAn +_~s`W*~nLuF6t7VVR5_HCQBOn{>>YB*{s0Ib0p`|$XkJD{Ph5(6RR*Sl{ryLCy7y+QDlwT#k&JWH+0{ +xFeFx}E3l!kyF1IMB3RNzMj`pBbZLP??7sCA+2PlUssl^YSkudlk#y?|`EzR3F5v1QIX89am+NgAi&> +tbW2aD23#G3s-nRImTMkiyO3-Ob(2MDrgf5^=)FY)BU;&RQlf?BF<>p(n>1s4p861)JEva-@^!nSZ##9GDfUB__~AOJ +{T$G?a6L4FC@E+H|hGLQGsC&i#_577nfpJXlPnvVAGv23zo(rX4LpVqgv+X_xmg>hS-aiy^N=f|7mEg +GC3!q+Iv6gnUBK|SA!V$WP$@68(8}|@KX}m6IzbcvVAUpAomMgz*6XFYHve(?=!r}w_fM`);%|)HNP% +pixOJ)SPt%!IE6DSa|bu2qq$yLGR_GV$x81gF}+h8QBIEaCU+pBM+RkJip49jvtn1|W1)T1LDq)<%US +A1u}ITgMJrQ{>;33UmI~we`xdNr`TJ>X*y&SK00pwvmqZhbs$u7zw7||$xNjcntqmFZk#We{iG*WuOj +1>~#)osQkm>q8J)O{v|thQ9 +Ji&q#T@r;i+7{b>O6G=4$~k$pha3HVFD>TXf~Ix6f`}Y;Tt3r2!td_Qu#zO&XP?50>y1DS>oVx(*zck +kh)+G9>;$X%&F%Nd|Q&dU1~toMwv@B?p%~xx)!gIO^4jBf}6ss0IF|3+X0bD3SC^cON%jP(L~LUwZJW +NXRWAU6IBM1q~y5cDqE}#%hIH?Lld0>z2R_l(ZI@TH}}zE51A)FTV`STjxDl|$%hZNI8titnizHYU#n +!ZBJ~~|BtHF`mRj3eBrtU{%)}xSy*ver=5_=}t&;vN%XGVrC|k-YtviV-k)u>?Jo^77;D@1FHSUttV| +r|EPUUrOKc%)u4`*{G>=w9G)0`3#k;uW^a|&ROgHCg!*(Wh2Puc1v|DVw4%WSr{c^C7))yto-RXOeS_ +|c~Mz0GP%n|`dF9HPwuZS04%(Z2e>wf*GQ<~)c*EQ-go`nH@6aWAK2mq6MtBUtcb8d4*BIPQx$^z2_?|?XVWHY8w} +*vFN`i;=tf7eV9 +*Y^NDN^@L{YzL99Pb9SAKlDcS}zU!87#M(-P`){eYbs!J5YGaRJ9|9(iMdmS1L)qks4`{B(Q+-G`I_9W2MqkHw`?QhD)}Ld_Vt^sA=|r8|OB0C}U0v#3<(Mt)>*88;}9qaO2;#Oex +@#2-k3&a%r8*8};!`UOx+0|XQR000O8ldVxvl!>J)HY)%Cz@Y#D9RL6TaA|NaUv_0~WN&gWWNCABY-w +UIV{dJ6VRSBVdF_4cdfYaa;D0>@rqrHdIVIY%yK~WYW!jPDj;0gKW64Q&6m^9nSrQ`_S>eTUwI|=Vud +%PUPqOC%fB*; +sj};~DdF2qm8Q$IXb{$Unu>2uk568npM=f3Mnpv-j?Z3RygvQv&BfX4bNmt7?JcTuDdzJ<+q6|WpNnj +{Dl2GyU6*;=q;vkhwqv1nK$cITEkG+QJwNnQ+ +nK_?;3gt&)OmbMy4HL?j)hU$nx|88%DKQz-Q`Z&V4?=ZnM0}3ZN&nkzZ=F$#GdMvYS^?RU;c~Ens01EtOItQH +<2ii-0EPNcKD*5i1hTfoHHs*sZb@Ovh6m<~@|!aUKGd7b{!g7DDX%T)@5ee?PoIf<_?E?) +7+L0V9oucA7OpS8{H*RVA6RQ7xo)%AT@CEwm`>u+^?ohDh8#*O-MxGM@{GDoD-iphbitG=gebcFr-;@fZJBG4nLU+i&~Imk=atU)GtAyv^mXogkW0H5{e4 +szC{Ra2I^UbPu4)rJ=vf7;%55#@E-b)c^-DDxH&Tvg?b(pgGeNrdrXa9h@mA(ErfsCzcXe=m<#$n50m +PuLW`!N^zRi8wg;QrHc~Q!zH%gaAwfzRAn$DDN;b*GY$FRui7~66rL#`Kvj%Dh=auxdJ5@jQ<*h4<~= +Ze||TX>jnRoQ4`-nQ{643UwHl|GW7G2T6y#>ys64|6&y~*lit!qbf*HL?CqsM_${hGD|b=)@U^e);YS +~w3utnB_I(wtR$6TOy56VUd&+!RdBZvhEd?HI(coH$q)Ohf)alPu(>>L1sazMWij|y+80$LAE|{ut2Q +#4lEOW56^>5Xe2AGdjoAU32w5LnKo)R_Nrf4$EmeQPbhQ((yU0oc4;)OOStsd3vpaqRgOK0hC1CUptJ +9-@TGt2P~iaaDup2317G&gGYZCc&b%+!jN{7mWi&M&3@=w-^Dq=4qAUr1ubF+c{rA4g5fr1g2P0~#pK +K@58kg72cd<&TCTK%KtV`8V^Vs1boVYt5u!oyRyWqj&RrkhnOil6rP%o0D&`11L8U#WAb^`~-2s>ler +3)59l!fTazBjiJJ);qSwzoxVo7IC}Jms2FBxvk1%T<`J^tQMHJ%>%Q!Hz&(v2jY%}9PA{)a1z(hnNDA +A;NM-(_Go9SMqW(z{k^&0Gq2Zh5>7rSds8gzR8D$jd%(xGP0aN+u@aU=osEGs(Rd=vlZ2_Pkjx96PHT +}}2uZ{S=IIU~&S@sV<`{MJ*MgjJtbZy{b2*K0s?(bh=+W$D<`eTd_tLVzjL;|jDU3 +zQ;^)P#5@>b82Dt`R1z%IG@J>f1DNz^uwVi`ODrmN3lu`8O!VIR$$Z57uB?%6o_$vj&CW8oU+10GO$5C3GOMx5y%aYtymj$%nA{A9mVsP=K{s|NQ}fMFz%`Xsh$`f!#-G@6mV@lW`1 +mnxUhF6~$i!RL#EJF}+SibjJa~q7`6$c04@q*#gJnKJpC$yD?PeZ52Z(^eZ>mK-$4)GC4oG!1^BmoFG +1&{z>;IjkCQy117^HIh*QratGZd}+482Me3(fj +Mvs`-3Q;~)@p}4=lfA}GzgMYEgBM8l_@sAHNbU}FlC2Xz3C`pKjtl?32D#3z)KD#MEkqS%8bPiU@>Jy +ijwhu=;Ac&nzB%qZY;Q+qR#;CH!KZfHF-R%G&P57sOAEP}APyhV#?Dfgj#E~HTA9 +&wP#A(SXvm*IXFkiDm(UmlIxutvvg|HhPsLj#3ob9{?j#Hr*n$iVSb4|P$Oeu>OTfH>Zt;V-*?XjBr4 +};*o4D*%tz1QiYG2M6rK~LSHR$RTc#@zRC(8ulZG?TbLX +AiC0Yd>lB#ScIH(D(6i!Sd1|+YcU9j3NtBB6(CjEIV+^7TSY{*ut6%y=@FOvx7#`;zv)m|0u4jzX9&6 +zwJ^05oDlRO~9`|^sV-ub34+D`hjmHj*>F1i?MW$)QSaL{h;nQejtJ_Y(t~R_G1~X0`!2VdJ>b#q~{r +#$OF;;9@syqw&1KVfCy`&|1g9NEFoY|Re~RjK|m)rsI@%k*$WE7^)v^)dY_V=X^Uipw$l#YtxcG73V^ +V0y#i+gtsy2zz#T~aq5GEDUG)u0!pk@wN6urHh674q-Wg6((H4 +DXP`R=?%d}VCYoPRw@9Sq9`H~s4`6551vK`3$wh2zw#48`3dJ40efkL-uy!G6C!1|V(+$wuNoHUjuN+ +|-ey%x_`U}PA0XfFzWG^ +am4CC=LlvDB9PyH|B92TZ)wLZtKv3m*beh>qZL^y&!3@=p6LKDq+LGJw(HAXbIY)K?@5*}G_s`t+;uC`3AEyK4 +O%fF{1*s&z7VEMFlA%kGc=8)DVMi=U)DaN`r2&x^@4z8sFW`z%DS_R@Sn2HW)H97pm)v3B*yawa-DUZK~QIZ6*W#85yNTN%CuJ^(QrCVMdLX%HG=-|DLU05Z1MibV|Vhda +S)Wh>=_Y5_iJD`GRW-l?6K@@7q1@M=^qW%&LAZ{2&Ug3!Y936@5~SbVgV|x^I;R`B`gD1rCXI5uv|&Y +363c+KqzA}fC+6Wkfz3fFuH;HIFvKV=B3#`=mZriSRtU$!02o+qC+;@A{%b#>!X7qha_8W7^qzrDc@` +s=l1^LhirD^{JcN{JGgtz_(d{?Q(G!)a&x=tRvSj>q;JQs*00uMQn+13s8=4irQ_MM4xNed&(Ygx?C< +xlgooAB7|Ys_It5>d(RR0`6fmQOt4PPk>OsF)c3pGL(1-A0s6tf3>V}EIW1_9!nf|Co!VHQ^1Z*5BF7 +urC+aRL4j&&icf~RFejewaHgG!PLM(HLzpX&a0{-Wl(O*Vh(n|#FEAnFl+Q?q&2a5Z$gJ-5NT`(J!u{RyaOJ89- +NYj2b9zxU22$+RZ?@m#EBn$8g-qv=YGpk#jQIc0ICc0G56Y@q}MZs77`o*b7A$DsG0P3Y`tAOuNZ#Pv +~MjyV?n(c#P3Ux?{~G`E(EJk$5oZLgF9d*^vm`7uph-PfSAcg8dLe?nr_ih`9qxLW$phRYE!`@$xP$v +cGBPHAx#7a;`A{U~_^~k9CgytFv$CZ!TVZ&Z(?+Wtyx?xpeR(OXpSU?4^$wgUh4Y)sOYV;PT+d`|#?M +$;gm}IV|=$21-#*^9#xwO?_Lod6#dLdz;*ae1%9kn|0Y%amqPJDR-TPhZb5}1aK9n-Y7$6P2MgzKR&YYFh>nYL?qhKJ1x-Co0EU4SFY?Px5dD#R*X9Xx*W=~JZ +m0{T<39KrAeRIf^n*K}0JbV8EVbg~U-B+l31l)dA^5h5(^tx@#|1GlCj0b{X2V%^L67b-KuD>Rrol9r+P!pV4uAF>An9j>;UN_|`aP&}bhWIB}i<+Sm% +*&ab1GLiy*JUqmG+!9U2aW6jhE>Ok0SbYB^#@`(m+|_HzA1mGcY@9!@*6&Y$J6(S5dJM +|gg8>m50GAFH5E%3a6)o{>G+`2DYxZhikx)vx1_tL6fDG}Vy$DOA=5hAzMk&d!S3!Ply5oIzBK6=*=L@zJrozEf^wkx0rhVk_3h&8{5T`TsvecxpIMm>t*OS)MkK_awq0Gy^Y>xU{8UO%P +g*~oDOF1K$$mA`K%;_$;fR?9JR$=QQmi}hRe!(wnxvvyCbpzo)(cK@&4D55)&OWY;@E8M8v;cbIaDR~o0uX8+>J3EF~^#StE#-t)1^H4KKAw-X3YkO274H^%OU?Z$N>F&D5=ptfuYHS +`}|)mZ2BQb5;MnWnLa$VFuiaUOt}eQ!;D^3ty5YkhoS#3pB~wpf37{X@s|pRy7~`IaQ7(|jQVW1X#)w +08};yV+(a;dO+BrBy11mt4wDYi=4M;)c3}@7&#*oo`>Djn7|D-{(Qse9z>=P_c#D;CfYLvUKOTH3{yA +E%{)b4LICKJeJb$G^YtBCTVs|4@zsa2DzDpC1p5Uzs!PBYuy%f8);O0Q0?tmUdxa#-4Zjtuz(rp~vjm +)sl3g1Rq@olvFhy+9r*0;Pt4A5434O$kCI%1Wjad|KXEQ_fW&fjxqVRQ_W;IYTYI2CL;)cmF}X`A4-DAo;I_*>F<4S|QHQ(*4r9pPc&c=d=2!m)DB6#QA^gL8eWeae%?j3 +{AkWO(3Dgc&%58#ZAO?{wo^2UMPKP*DM(FXxjw7tc0PI+%=u9W_s17EA3LLM~IKsyz`Wj^eo@ulK>t4 +5M-2*3?3!&n&Oxhf8gP9@wXh+_n0PV@EM&my29i*g;w}7D*8)0znb0ZLLvJpyDfL-Ckl3RdTEyq)E3q +AfFb4G%lp{$V5&T1fLdsol=CB{JzS +Xv{q!QIYF1CdCInl>cz?xCKhy!G5G)*n#91scM9Tw${f^9K+{2vU%vnKs%y6|qWnHu!|)(BX; +f3S9U|otM;5O#yPY_Y$yeC~dHnt{h!)Are69`kufhAnUne +?F?@24q-*-mJpr45+4X^}@RwfpP==TGq>LAYX&@g6ssgU%cr_O48tn8oGpt5RTDm`3z(nu!V28aS0dh +-G>Zh-wljfsnd!>zbnt$p+yzfA8t#P~cRdkGTB0-j@M^y82~cpV<^7%gg!E>?6Sh8In#0wkY0SpXm*V +FX@!C%Xv7KpRDOwI+`VKiKmDwC3?`mP=><$Yr(q+vhUj=RZfqO*!V%R#*nTYU^7kEU-yoOrIE}jv%A? +i>UlA#dKFq1n@J-nf?1;&B>Z#hNXNEtgo#Zt|BbxueZ!^!wjwDMt_1NX^QMSO<<5yylCsby_2U*ePxh +R3|J}8xSb0ToSrQf)N2=^TYn5+vU%99Ip%!~pE##Q`LfLLx|B6NvXlLYszV`Q2+qd43SXzo@@;Bv#YU +v&mmmgNW$+3Xj(BY$hdz>8m~;ySxKIu|H*I2BYf_=;P0jC4t(PUTs@_1YaNH-3DK=h3Dv9(ET0FE!V$ +v;x$b^KcPp5_KDyziRq(7ckfr0D)d-;mNrS;}V#>e+z^Nu>O|W}KK%DZzo +4w2fpK%o5rgLmCmsJmVB#5^HzMP4t;qO1_G-yBL2ICBlHI!W&1h2{GLc%LJZqd2CZg1xDY-H;5G0}0Y +`1DtI)@B^8*5lqroDFPvv%_gOBV~v`%{N2zoC~2tFPN#1ZT|ZAM7rjs*CfzMsZV6H9n!I96$Hj<@*Ja +!9W%1~`{Mok_v*GV+=&W7I>A@uI6N+wkHCG*R%!j{51)Pd=@(BQiJxG_8g150PM>NaawUuQ*JRx8Z6;K?HJ3~0|iqE<454+ +rG9x#h|jCY4TCQqEX^+nO#WP)WO7uIIY}9KdECT_XckZ%|3~cUgKr<;zOs=Todx#*bUkGH#n=>YE%vm +&(jHJ?}z(W>UJu>x?Qqe2R;UjzD1lPAK=qGu&CcO)*`Pu#-kP05Uz`nR1}zUaIBvkV%NzjMt|s_M2Ma +6DMMzl?$@FNr*!QPHzyp2N7PMZFcx7yE!-$D&^f|cykKn-huLFcU|%o@$)LZY4fP+k|TINcds`&y2vT +lv3ImGvndvN@~pV4Ih~f2?R8EyTzEkVCD$Clbjp#2?==;?(@4ZY?Wdy~JabWiE0*S|eQlS#AH{hNt~R +WGq;JjHE`T32xV2p4K@F@~;!Wi!zbS!(x66qM@&wd3p+!Yb9B)(2nyOL*j^5Cb^D4!2S(mR~pL{nJFH +e5Bn2Nug{Lia!bB3%t50h-klu1dI62_ztg*eY{iU_YdM+6=2I-0i6X+GWttiu~eb+ur3`w=L_atS{r& +h>pN2@m7Z;X!LHQBhEJoi!C=xH-ipZwnz;r+>`}q3skQkM-%=sNtJp4m-rB;s&dcld*Wv!QG*hM9Otl +mUgmghiWpXJMIJXf0tKoGy2=_B(zXRK&<&f@5>{MT`uwCRPeuO&##6C#`QQ8?|TEHXR4@_-RvUyq$JEV~KNjgb=845P +726H;Wsd9q{YLmJ3xn>ndybbGB%e#>P{OxNCXP$KS$^@rsFKV>Tjqce}$~^ZX{}V`J^x +XasYaKc;(KpLUUfH$);HvZRAYVFTZKFkN@7YeSEcR=nd19v9mb%l8gghdnmI#=xo!uKk~n!=?pN>eXr1Unt^{|WZ7 +0(%^Oi{M1ePr@bg{?GyndBoPp_hM$y6XgK-Gg>ZN +fWiUS$(+hI%u-p2B2qTjdD!iM+L)#mQ(QHP?0_Cl>=6Y7U# +JD%*2?T~Dp$a~jR&f^JIdB}SVh5vAZg-Dm$2_7U|Q8mFNNucqWI(ZU0b52(w!qbmJluMzy?2HH=tC8) +YsA6VD1G&b1Uwn&Y#`qSdN*BG|r|=t=K-cYZ#oGdWBzi=Jb@ov!uC<$qptot#v0^s!@j~?^yd1l3pU0 +<`94`-FjZDe`8~Xj|&alk5nP+=BH!hTtV`A}D?bdDkMpaAd;|KR%%+|a1dB-XCE1mnGP}k`-<_!i0w) +s`o3+tTu17?I$s~}8og2@(`0zw(Ou0Xob#Zj4B6YMgo?noy1PTgShZnLT%Q~icQhT!gUnp~02emhk$L +U-U8x#%3Grprz1RawyC5Z;$|b*?N4)!V;-k9nFGMVMBjc`cy1`7ci)Z`Ejq+u_^cmi6YETfHXAf%QMN +3&x$H)p?=J$QL1@w?;EV-mkY}uTC5J`;Ntd$X26M$6fdxOAPO(3510Zpp^)ljmL}_a;Gwjt{1VL&UQU +wPrs^_qGq`3RY~QR+U~3gmaz(%imJJ$|uZx+G0FDd)^hBo?k*+ +R+U&&*x&EujT$Zjqt_!_(9lTASTX&j1;-e7>qWrZ1?ElWgvl1mh9^3)9M&T|tWDJPJnLrI$x*7dchBQ +5TE&tz_PPqPS+}D$o8b=dak*SYRaRs6r350d-+K0(UJ*jo0ySPh+_=Z@Wd7Rjt+$Ew0RjaCcX=h4?M^ +}8IW`vB@Fm;1yeM)qo8d<$1#i(9>I?mK_G#r0UJ~)rQ)pP9umuxt? +!~361scL;Fj=FJF_LN@KppDkMM;+=DU9r*w7k5z!HQG9no?gd7S$=g3B9Fk5$V1xkrh%OaCZ3g`N_+R +(-)^FuicjxUq%Oin_uC-j}N|>Up@Ste2tg+YA$0?>rLZJ0M~`UN0YBP;M}5Cou +07u4S@SXO4#&_s_NjU3E5RF$M$gP!158^kPqO08PmWUFe#Xt(*6??57PS$GhUOGQiJkivCL)HsflD)@ +yKpqg7IeiZ-jRTGrVUiw2*TPs*Bt6zTvUaqY))u+;#~=fE>h&j6S`B+rvKF7$2V95vo$w}e_fvol<2{ +Cn&GG+pCFN>+|-ccH2Bx2Ufm<$A9nuEV!yxJfAjwzhW{IKXAbX&cQZYF|8Sn~!m7Uq54O{PC)y9v-9v +L%c_X3$TDA?!n>H&=wXGU{sMe-h;Q!Xz|JbV*|Lm2UCGTbjhnskAwf)cF^{#CCFV2G<7AV0F8fO%DiP +H1`lr>6_{(g(}{}aYJ4R>BV%w0EJ-2AS_3)X3!b522tJXWoeTy$YB-Tn`L`=ZTt;>*5jRew1?d-)x{g +7?+4i;I)jFP%%T$A1m}<<%eYI{ob3ml$(ieKI+E^ay|Cvszz<4=2AfPhEb0_WJoCFuXYX$NNtv@V~JK +{QPWq_#Z=mpVODmPktEgb!qha@yZ$Q^v|ao224J&=0id{SEhun)qihizrcKq#S#6l+Kp`)9LI|rY6Aa +zn*3@elfF;IGP}72I~x^^3csSxaPgbG=!FjYm}KX_&@Z$@iP`on=1f#DpYs#Xi+8N!C@fvx*UNC4W9E +i?vd2&dOC6~7V_^V`qRii>5&^fi#T0-1d(EwN6pb&hq$N|!+jn%HKqh49MrIZB+E~(6is8oLb(^VZt_8oSL%m!nnBd{%UQ;YTHB(^6bg7mSU-1CbUNvvQ!SbB+ +5q*mrDtKxNcX9AbQ$=x#FH51jC?rl-l=&NqMlKuQbqFBK&*lEO)?VsmZ3qI?IHpCLGA{Gb6?}6 +aNUc!c$q_@LeJm;fVhbvDm*O0~DJWfNq!AxfBVez`mGPIxNWAgC%Ox +J*4kjM4N^HLgTJo)EAcc>w`px%Op!XV)ObKr9F>mSMBmYX&Br{CzAjM3|4KHk*K(Y;O{M&L_uENYR>| +1f$jvuv1@aVaP8;V82EN0 +S-euzWjOtxmYh&NS-4j7)&fFK#U6OLMBPUn1u`Mk*V!N}v*W7P4P}!+MWydG>mkyl*blvSHTrt +cY!qv&)4dY4~zrR1O99|=`Kl)cszq6a<7@h+sMSlAv`Z#ceL2v1DgA)AH_R5K$rG*&4XjqdaoqpaJHRa*!=#!re8zm(Hx@o}Uc}qY%m +wzc?08+GdQ!Y2fy`V!>ZYDL#8{|C{c+2hqUNo6wjqW0%x1;x**O+m|NEqY8ap2az%LSxgF&TSgEmlla +o_K7-Kn-3y1BGKBTld8=y(%4jZ{EG{w(adRk^FvExziF{V&$9kQ18@nBMeGa^@CkrU5&Q_JDPaQv&KVDZ3H6M|P%e0lAto|7WlY+~OuS)MiP?h17Ih8tBlz;+ZX1jvl`B*d +$Hw&?I?Nb6aG|9=5cO9KQH000080F$jzQHDTc{P-^b0CUFx03QGV0B~t=FJE?LZe(wAFJx(RbZlv2FJ +xhKVPau(WiD`e?R{%=8_AL2cm9gD6p99D5Sq6gyrXYvi8HHMy-w12W`m;un?Ql=VWS(<-5?43_P<{~> +iuYdnz7H0TZBC#&{bJgSy}n2%< +;6H!JK3t3J?Y6&e>g;{9?C*+JWZyQMdQtRcQ%|Aidm*xyFP@#fet$OY@B6H%7umBnuRpwd@#pV9ym|K +?e}r}ij~+dGd-gW_@(!vI3*F}G=e(1LP*%?g03_V4=^27mEJKD-re2fftOE78xo`8D8Yl6_xyn>GF_7JuPZXKmZGvg1nh1 +?)qidX8SnA12wWvk#}wPd}W_zJ2lX?DgrZvq|>Dzn`7GoP`e#viRra*>|VU{xj?_mZNX_veF~3i?$Q9 +R{XLlTiV%4HZNcii`lwu)}rmVlZ@Nc#Y)V8MrLx^(eYbREN0>!VRw`4u7%AvU!T4I%R6{3TKe+`eAtc +;4i09sqN;#$PO|eHx1=pEH@F@7B+LH{)bgV4dT1dQ?n8V0Jkci0&#tas)XQd|tNrLLP*DC6=7fYMT9} +fgxGC)JOZsgzV^qvw>SsT`ee>?adyQgfpRczI0C*%t9;J@_-PyA@@1E!M*Z=xjb`fEgaw +F6*0YVeLTYfLn+q@RqVJ``K*NiE1f_v)kb31+*xOs_X;|l9fmd^;}Gm3j*IOyR2^770|~vYif}#n>G_ +Lzs%qIX%sk)JH-_MLjLw&?$5Y}$j?`z2CfIEAD(>++)o_n<;*Klv_oroh7Gd*TH}&O82OVCuzUK@*?QjwPmlx>#g|v!ys|y&N;!W8f>ridr6%xbpkJaPhU3OKQu=uN +&acwOQ4%L;L#YbKT=3EDXPd?Fe0fZCGousrnIhxe>qu&p(c*K+2+C(2rw%7JLedpNe;44Uz@8E1Ut`& +a7FwM9(CP{0j&a+R(~I{dQf>iE2Tb(cH(=;o~u(o+qz?$|nGGUTr`Gi>s>>+Q}5b0oU%GgOib@;Au>< +hJ+){gFzxOR^qCdZ!mbfqrN=Fm8Wcb_N}HWmSPBXl{sgARB98jcqNlkdnmoarYV4b0+ +{8{0q7nuq#xDXw#*Rm85vJ2;5tj#w8C@D~&R!@WD(i9481ZaNUU(fEs9EeLL_PGP6HXl3^TsETIfHsf +){sI8S6YtXsh|qiBtCc~nt!5wh_>;ByC_&u!)AMMk!ubWtdi?6#;j_DPD*pIR|A|B+IxM&U#!kzvQ4= +-{V21xQCMw*-B&-o$qF$`JY$T>vQ-1JVT$V- +s^!v+A-EUxLTlm&@V?;107hqV~khZI;tZ(3yUzea@fJy=H%rQWUa30_|+>r(u<#_-X`Er}Vyy=f=+0 +77AQG#Nz?;t270TX0FjoPVRm^&6Ja&_OLV4^-Dcz?Rod>k~hXWdQ>zC|5^OwL*Yim+D{88q?~REX}bg +dMRp?Qwh%FlxIJc)$!vhgE2>k@mL)BcF#FlaWu#zWf-4fm@{PUA+#(ZMe8N67Zt|C~2mw{prt5S@WJw +!ePQ~Rv$LKJkoGRN%uurOx@G-#m^-$oSSG10jgNKucoYM3nU%OO#%!VP*Govct+Ern*r+-#cDJjqmIE +}b|V%rp?nY{#2#p|C)^jz4-&N}IqN!k95HM!PZ#2Hb2ZAz(Ud*uz}n=)6z_z`Yl=q2P$QBr!0PYlB+W +?emL1HNpQt|`K*+#?Pe@P&T|^a}VpLuthj^5u++zFqA!o?{5SVk9u8&e!;H*D0s3@D1PM$S9^qs +_$tDL!*&3xyN}war&5Jd(0b&4FT293jpl-8^i~K0RxB$%+fX+3{R;;UHZqXUBduTkv#;iudiQuz^o-8 +0Ocxrrf&nfUlkxv}fb>Jqq&+2murV(M{>ilSLHI%v=VRWFKm;rea}{^eFK2m +SRiGNTV7qul^YXix#Gk3eHy!vZ%e(Ux-?J%kAu5TI3|)}=oZv6hwJZ`VT3za#&BY<&_3gG*F+Vkpz>{ +kp)5g5*@-1I7j#5Q_%g-?%YwgylBkViRi}1UV9PTR||#dVr$47U*zCBq?;Rz%DM=L&$;;_rx_XMBV8% +6PD?rk4cRwADL`acgNaGvn8xs4Y0rJXP-FfS|#tBJOLxv#YqNaZ}^rp+Tj5!edo?${y5HlpV=z4ky~h +G?`@vGZJXP2LB8sYZmwVIt7Z79JQqNk^LVk?{hODQrZ$ZfN0d|!SAibU8uF(^s39RtS(kC +C->Pm$ddr|p-Tf(vTqaqY&aY!+#KKu73uQ_p3aYOAQ7S})5MRt4rcFdNp<$Y)zO*{W#;3oBa^(K?aKi +u*Ni39(R)+-thw=oE~L3v@|iw{4>{~FkqBL#-x+A|G2t&IJT5K+{+xlwG0bz`u3F%C9pUDYGUDb$bI8KG7wU)XioT{?ttBgxQcOeYF>IGjn@)E +mWclbedm<#9pYiKCDn9q^2>u`Xc?*EkHKo_qz5&!Q1so%bHR>*7{0G^tMZ@*XssPNxCSY$(t +P+emXiR~_>R(|6rLubb?VYW?V#{X(I|AGh`uXOMDXs^EmaN4kX|x2^1w@L11ySJoIMMAwe7(4o;f?u` +OeC<;y9Nmy-puwl8UJ`wdX_W4w&Z7>@m4Y?RTUn9avLc#l_X*#MPdK~zw$Cg2@sKD&MxM<@rE +wPxPW49EY#2$)?s|GI>aG)U(F0n_3J&Q2~GLsBxDLDhm%sRV{3ajBW)EYk>PJXr_)Qq`?~NbAR}teRip4iN$Zy>sTVW^qDY@ +OdD>X#dw_!!@p4PBci3%aklSd)P%4HFgF-TH9ylB(D3Hj7WW@}%?9Ri>tb0WoXC<||E4HNgtu|fHVu> +!b^@Rz1C8EeXB4YU`Uad<%B+dZTADF^s&auO4vh>I0rUXl+FM-7`1V%`SdcM`MWA?h<3kqOE&n@}5ah +#jFxuamOOToliFu)@Om{|Zv=sP7axbr-{tXTF24-}I;_GX6~oapRmHu)Hk+%%OSU#g=UD(vD>zPQjam +0*hM%QEDNK!XHI26n;xYU$a#YubgiOUzg2H^r6kw1>+rYT>OtPuxjV(p@bBW1tKw##6nzNc@+Y+p#2|asy9Nf5h;mXsZ`&@@WIk~ycAQ#@(&>kn5D7}Pg0|%t#+87)Yhdr>Wx%lk +{D{^+Qj>iot=`1C*OjGP>J8V{i6&T#P~QtTst3A|RKze1;zd$c6hy&+zFnYS(qk{s&`O<9$|L+VLtD; +5_G;m;Mn7_`x$k7Gw+)tMyXKQ%Bm +KjAx3gQDBa#XoDYke@-S}$>C>t#|6)0a-HzpHRLk;v7c*d%W)d;mr0%Y?ka>Y?=U`QeVGP?$b8QWqFSpOm_aH`-u9B*WMhc@G?$!&I4uff7%{~OsYpux<3tRND~Rs4)>dZ=Af)fvTRcvT +L{gu9sRLn&9@`X7Zpi@67XvJHJ$;+W*P?uPO}f>B>;{CTLKSlQ_-=85sDoLI7{$u9ML&5o%9|YJ2qA^&hGxsrH_eDq#zK*-Pdsk0L>vY7%tCDhb +AO`xy_AOUEPST2g8GGMcc?s6MVWX>Pz@Ix2Z4|OA*);qjN(qv{|67OGHN;_63qmb^kb( +Sxk@=HvoDfLWKR0|)O?&vxAYUu++j5r~McE%#_p}abgHvrIBhh$>hCdQTMIPr@x@Wfh|x&deBh)CJjJ +OkJyo`9wzjR5ScknHEE4otvgJkq6S$kWj?IS`5sk{Z;Ws!Qmlkp(o8Dz6pvG|kTL3xq}CqkK(o#cNz#M*3>sf=P3zhb7gz= +)JpS+nJKDKv^F*{kPY?|{d-!3>T_P!U|9baYG(igYyhIcRkQ^uiZrN1miYGeEPjcVxc5QA?Co;$kZ~3%HBc9+5zi(f8Fs49;uHi&0bye$7z0zQm +uT7mZ`DC1c`J_A1n!Y!2eQm(MkBBcyf4t?T*Uh+)&J9m2b +M>_$-+nhXqzHP}M-apjS6|e9S>fz*w{iGDJ9q9dUm0y#NHIrWpA+f;P)dMRFS9u^?)`XF92r<&q~R6*Di-jVn7uv@`bUG>c8eS)w1^Cpty=!MVaa@`O2h!$g9Oa@l%Q7q>-OVYDk@iODN~4 +NH-Ub+>*NJ!Of>OkDFglK*U7A$sl3so+QGbf;iaQ-&$JFfThaQcuZl{y6&}u%=Q0M0-RF{^44PD*J5u +#g|GV`>vLOFeiWXMBeVMImjv?bA7dMfh +6)MLvkvmgzg9(UT-u~0>PEI>g@zo{hUDdu)KMQexQ=w|B-9yMHvgcEgm>UrO+XO*}W71ou@9Uh>Xi+e +yuH(Gl>58AP2EdUh2X)klyon<6^h&KhNSu93I=268wFLBx9m+T2g_ihDZqZ^HPy9~9zExMQJd47U%pY +R8}-ooLdemG_SI5Pma$q77yVV-o4cHa$Kcb0REQ5kZvD8opV-Z8!iE@Kh1PeY&BsqWuzlwHB(z@`-X) +XKk#DUeVvbA8o=@W^A!Y(=FGEsdIHLS~zai!w1Z&6=~Q3d=3fQ={Fm*a +RT3#MEuHq&j8$0I?W&2P5Om6I&KA^ +1^QATkPK6kGK;;l}M$Mz&i*Qga^}6}rde3l}fq91Elk9aOt_;0XptU{Dq4LX94IqAL;>3Z@fgTTr(UF +P6*ljC!469SA!^(}{u;6i*0-%ciJ8U~*i^uQ)OIMr?U;6u>sXZQNpmJD81M>d}$9ZQ{Z}3VKt>bF|ZG +@3bD=++v}&f~B?eyefz56citsS>t5;{n}lvq7n6f$6ft@vW351wbc`Jca){cE-G-!y-M>{eoN2;)qs_ +UF4$GxxhQ35!jOJ&?(nJfk+d#M<-rG$NfMqRpZ%z186^$G$N*UwZMg;f=XX(U+1)CQrlpr1;pS1O(4E +~WC9mInI6LM`iPN_)I0oh#rL0!As9Lmj#4WZDvazYqOPk0>F+QX#m`1H9WK0k@gIR|JS@SlPCe4CyD5 +LC5lxs?jy~7429k~~+bJJ)phl6#g3l=i~-2#%gc;JF%w|1!t{r&?LOzB8UYG0(MNi0wBu)wUPwps7d9 +Y4tI)IOb@c$=Br8kHAhMl^^dXT*Pqt#L&}s7#MZdj=+5o*FAJt&n}R_flC$$WmsyC7tF$nd#;TtE>dH +A;9=isXbN^3XEIX*kwO1E=I=YlKPvpo2aA&8oZ&f?c8b-A&BT?d8bK+ly1BrTb!Q0%egUeITAw=>#e} +3w3E8s&e}~qSl*U|Oy^?`fvQVBbIsdf#Q|J4dM&m8cbc8n#)Kp<1$OhG(VZ05{lRM%+$>y2FKP?7@*Y +54^kC_0byLJ%Y53)iWunb2Qc=?CR>5_*NYvPM87Z(}FVl?7gbn$FHF*4O3Y!5Uf{LE;gCulqZn$%h7M +dzn8y9P#bu8oju*oQ&<1GTBo~xf3h;FJO6NRtd5-V_gRf@H7Df*EOj|%nD&tato<&&nZiPmH=h901r4 +ZTcubZW<~w{t9W1OGP3;%|?$MMKu(degJXiHDsJqIOaoeffuPqP;1YhKp{TD1$W*nb<%vFxlq`F*UU? +*g1RcEb(&whvsENQ_xj7V^y)=xchaOR5=HVOl#fD!9=LFhe|+GQ{!>LeUE>?XfWB0 +j&`}8&z=SsCf110I#cUZH+Uj(nf=mE0EY^mpS4T*Ow#7=eX!RE9Qt$S+D}5$-y>S)VT~~* +WgA3LDZ~&62i&J+hQ4l9%T{&mVYAT@kC`gQ}qrFh>xwRK3B{sa+ZFKOD}^K*MGXdtolTWqF8u%z_iX1 +)zQ3j@(`b1${`o?!>Lm5q~+=b?iq*eO-fy;#Ajs@rt9o8RK>;cS-bKJN;q^B}9h%w?$ZL?pb^|D; +868mvSQ-Npo>SW4n}tc!;s8_@4g_QDi?(z{69%{{x;7@=S>kajqyyK9gD3+*G{kud2xnz*mNMZqj`%< +Q=lTaKNR%pQ{=b5P9pzm{jYgC +ho5*u7$o85+#M@3tL*12?H-XJF5HQh9oEYWkAAg>Yi$Nk}iyNLP9~xO$`gv+%w9uH<|hwW%zTM{o4{l +cIY)oM`(@$&aO6;TsEF&FKP!CX3HocXrUmZ_q5QY?!l9%`!dfbkx2J{M?4PNc7=61PR&J9itUowZUdOl4MnEt3V?9DA +(Zf)u;0=hwPTiRoBPk@w^n#=!5gJ5e|D31&oB@%Dwjb3t#nq*#}d3*yrA5E#*ivMtEx;c(xW@R3#ZEG +io+u4lhF$bV@Nzcl0lW*37z2RI+~+eFN>0rz{9i)p{f-u@Dwqd5dCvk^V=G^7~~mG|BAg?5{pJNQL2- +{?SQhZ`MZedpr~e|2G0zB2ypSNV`SDlfOmp8(tejOn`3ejAn`u{Z(w(Y_o#obB4Rga6ri$jt#$i8%RB +Jct9{5c@=ak~c)1HcJ=BV}*wRwr8Z}R+dWvWl1GVR*``6c!G76-4RXuN^9sa;dZg=XE;rDt}vcfMvc* +t^8>zc0rYk)=|=+{W@H`bNjCD$co)2GDo3e1%Ld=U>F)OAbW1jsNBK{+ENx742sIfCd{_q7y$3Ld-dd +irEM)xy^Pa(2L}$8kAHm=%vPKvo)gPz5YTA`jMJsI=viFl>g3Y?%C2SO;S4F;IF3=}WBpr2iSF(ao|8j!v-Oh=j{A*KNoPCAuMJY1u=a5Bs| +orjU>78V#ze0ac>c%W34lN@3zeCb1G +Fhd4j_;yB>#et$CG)oJqkfBtdrQlinl%3YR(S9VAt#Pcpi)tLIN9G@BISh=n2`)n!_Uug-2$I>Ezu_@ +p9QiK=O|00aoXLKnwC3eB-aJ}F5ev?g2=lasl#M5;w(GY`~_R<9^LrD}v)!ChKc3|ACt*W_?FJA37m- +b62cio!0)~3Dc{k@#VUFk(0?sLJ)%mVp?WaLdN6I{^LtP~5O9J7Cm +-eZ+;6{%UjPrB9aOe>R#?8;?2A1dLBz^NDaJ}}`*n?ZaRHBkxb<j&N|pN^_H}o@BS)VdzvD#M=9rYaiBD&BF(jJY*22=HadPVpmJhyAS+4Z0mSGIH60w1Y?h+F5 +Nbj*u^u9q17pKAceSJN6nJK=`53mVezX;T^?97V7CHeKJ-?S?i8b+YA%3LzubHyXU-!)kqGh_6H +Mv20Vw9~EVMPzfRnmDU8e35-NL3IE?lP!~paCFjR<>I6a;HYy`KG$M6KabU#CxBk +5t?z4f`Aa~KGgy64wJ_`E1y%Lm@4bi!D1MI=FUcOSd=`hI-tD^I>RwX`v3YY{h;Z)`6YI}@tbiN1z&O*l8gNEwNK+Pd$5>jmA1f(sU{{bY +aGvIB6dp-7h}?ixGh=R?ZumYYPlu%uCJ650)I*2?7u0610htO_An*XsTTS(h$15P-pkFdO)%#Ps-ns{aygB7{-qb3?E9VGyJESS$so7dP3;BPvRQ;MO%RxDvpWvV +oco;>6{Pkkd$`~X7)u=q3Bfdzf5nX;uWo~E>-+z-U%>Lq?5N@pv2p)NYdHLORP_IUQPJ^;{2*XN6U7m +2&dyRRcFIdU(Pfg&;C~N_jFv+w2l`+XGk%6F=KZ6YJ)(M8L~|lm^tZ~_i)_o^J9*Dor#n*j97A}vT6` +TtFsjdf1o3XuQhLrT0pbEJYmB*yGxi7$^vK;gx6U-aAp{-pK?zw +NQpk(kzbe#lXbSm<^_%|jw8ZTDe9>hI$|#E)$ZW7%2KP*WHpcUh`p$)oAhNBo{zew7xv+~kXlE=7OGW +qh6bLkUO))e*B|jGcigGw?>Y&|_F1NqN!B`*(`SOO$AlgRUQ(38+3veyI^bcb0dkSTFgVZf&!< +;&_=Q7|HwKL0UNjQ;|`xn$b=q_W)5SPu)21zd1b|GUmdDbV;_e&_pW2V4}lV1_NAw9f#K82S%5*!Vn% +7eqgcrsOEc$+DzK2s4I7$fZ#3Nv28V +&scPBL?@|LF1@4Wk6ua!cp%rfO`{30T7zetRKxMtPelxukd{V%}gx$hLPE$)cX&p0IJBp$_c&{PYzS!8|Y1 ++4l_n%}j>`a1p&)^{po)_wP8c7yufYPg1gBLN +W`rj?Nw7LyQ6f8Ba;)ll5?6m5d3Gt#8#yyDTvYeOnBCfVTNJTZ#a#X+%TX%LB7xyTu%z9x*fH{h;Yg& +5Q!40~8OPc7fPx0u;lOOM2C7QA>vjH{~7eGSz}>tk+wo?w@lHh+ +9pCe8@Af^|t=vLUzO@nxd0(J~~N8)4~uPI5))9;|{kUcqxIi-`R*W=C{;(q^oG(Vk}l1lV4}rrCBe>j +LXNF&4@fUr5NqdDfG2EFABe92EuP&MQ)E_D@g)9M +fI%(|q&@^O!j&%U^$a2T+@AQyNQG~Q{s$UAws#=b(Af_>KXM=LC)rlAn#e0Pa4(AFc{{wPZE=6w9(tv +`G`vF^RA3HHbveqv4i +h<6@3S=FN|H392yx#%`=ryjp%|w$dZXOj&VO~gT8Xd@6eDctZU#G9I~%#Ap<5EVh@tm6@GS}b8Qzi*$ +Qo~}3`ihvyofvb+$E5=ZAtNc{Qh~cvPpErGm7@7|f9wJS>U~nXnKxf?Pzzfs?Rrph$9WuJI-&4^JTB%n=eRHWXBag8{xO49xao^J`nW5YH=f@wz*O%zrN$z0LLEp?4jiM{~ADWklSujOwx~n-sOWY+0Su(E3p1=8^_Fg +jxvH+xxp>->A?i?;{R)PMPU@&sTU@$NMF#Z_2MnX@Wqm^k$q|+6w(rG2L&q#xh>2s`W!q98?eN@C8md +EHq$MI!2Aj|`2e{peCl{W(2{B7Zm&mDucAa6nMOMjTnxs4{rR>+Sth-;g#^wpECOQoHZ}} +`{PfTlr|_tYzArG`520K^+|gmqO^Aq*hiYL27^|yds=njnLlkCx +RtHYyo`^&3&Q#G7zyr5>mHWNQB>ui{89CRU)G>#%cW>)5RVqX8{Jo0|Fc-$Ihe^t)0q7fYFq5H|VqD4 +DQ5zI&5I5DsQFEiA-H+j@+<#blb+rIn@RM|xASUOsdn4$%3c*W7{kzAllq*^oAp+qTyrzGQh5>D& +s36OlHERt5fYs98!9DoZe{2KMnP<$6!Oys(XV&Mt^`CNtZ3ET3SA7R-MD#3J=Pwe7D3RlJz<>2sIccb +hUp}ECZuU~oDXG}>BW0lD2_$&3bY%(zG8~zi_Ns)Id>xQ7fL +}luh6CWxWh-U2&KNKTP3apCpJZ4v8~Z~j~DmANqrZ2qqk&yakbyo@IO%>ag}UOVfNJPv|@XJYg+*?nb +CZyV`pM6r3scBhxRKf*%fhPYf5CJH|EW@ZWd`AJFp~FR*iKG4gK2r4{(%3OSC@JC^q%^d2X`wf>p@Dy +$JAL_^IfC@tV<_9%uYz#Q*SSF)B}jYlX4vd_^Ws-V}7^Qdt>1R)`}CzZ>b`L81fc$XB;4GVttjQ&tPh +2%-D@5~DzYNbi_oIr+Pu+G1z)u#gX2uB_oY#J*O&rxLcO-0~qeNu(UP9AqAJ7{UP0RVd)~RBDVWcJE>$$!Fr55)`{MyTr68lFjqL$v5-5?!pt2gDBzWedv2My&YR*KQ{jM;p5>FS!UIm +8?>yAv7F-3^X;%X06@j9AQKhEBqugMfB9H1<}8wAU)dtJd|eqp%@3zX84j$Y?TIL*cjbZuwYggnZ&8U +nSibakZcyJa#DYk{lm$bNhyCd&r8on3U_KJ1v+KbDAx}0z9j+?$ri-rX`Ls;@2u#onm#`CYka!`%s46_sC@BBhm*xUy!D(o}usn@AW5br| +FvDmP3`XJ^7lE_Fd%b;NvE(%#p)()}9CA@=%a(V$vE#1h=zQFn!UR1m35MR!d+5;zOSne +&)z#33}Rx&)?1z%SEvV+Z!YbhInW6)N3kPMNo{*?bJVYSdb7kBCI;(AY}Pg~kRwG^5YPxH@Su(q8kGp +;%8Sh@j_}CxTPH{g#l=710I8wyTK&Jz&u?^oP`5#Ai^)SGc*oI+-K_kE +hsV|sP;rQ#pS6tZh)*dzLDXJu5I`M1LD*O$NTosBh9F%Od0O(};SFe3SDhEwbc!)}u+t?aw_sJ(X2CH +!#SOh7jcJFe;b+XhD_9{xV?zR;IuN_fYK5^XCm9b&Xv^iV7}We0UtM|KRH~q&dc+u9E$k#hJ!|<)m%V +|1)K6Bu8cVZ;2WBSfFHHPN4R7PqHXKJQK=%IyP)h>@6aWAK2mq6he!-uYb6DgAbwIiQ1KgHewrB+f1$8&#c&NU<& +SMQMtQnTN{-%zv@+~i$qq6G=fNQOb9n40{7>OcmyK8!IB0nUuG~$vTUT9rtuTxs@cK +gLt*Ar?Jxu@T#%D@CJ2p~|%zD|l=85`Fq{O0l~SAiT>Mj&i&R0+H&Wk9{aP0v +_9rJud*JQ4V?wl%<|RD~7mGaJ$;D!Ja`Mf^x6j|cyk1AD8=5MTOqbP0+Nvx_JK +bdu+##Pm&DgDPG6PO}vqpAWa{_V)dg;%#1nk;K2j>d%aba;Ko{(T2>%m6$oC*J%z%qg2}8_nG|=*Y(a +8gU(P)lCQx=TL8C>@D0H(T(bjvwa21?3*Y)+6cVW*R5dC^HRyRXiWcG?!I(e_{2$s;~efuvVK|lW7QNZ3~dM9f)ZzO;#jx;F;Ot +|1ha)E;I&{OgVAR_7L0qU8-cUdI%YzUZR4zi2!(eXZG4M!_myVIzeO(O$mEQs*QWUY +GQee#XXW~&6h(}_G4m~NYmM*re#4rQobhlAeWedM}Y3^S-feE)ZJp#@qH;W|BvhW=U4Cp0LvjT<%@6p<&MQzS;(i3)a`hvbvYw9~2?F%A@$ +efEOWC_q_p$n*l?L=%+ +xsf_fh@p+S6df(DTHA1@rKxp(MgT3Cam&G8(+vr}4`K$-JyM*YJmDI&M+96C#OdnA3m&iOk^;4TSe~_ +EG`s!6bk@>v#8w?3;T5#D9t4OJCn%9!8j;S`C1MLP6Ka^7%3J`ukh~2v0s>)G%8?Zizm78jT67b!iz| +z=&SE1gv0Q>}*63)L%Q^gV>IT0WaLXl3CfhBS6jwnHo#DM=E +r2QWkV9RM%48H^xF4p)R-h%5IY!5*t4#V0N8L%0Z16QXTgLe_S?E={kB9jzac$9TSZYx9}Dt7_+sMA!Ah=C3(WZ~VVrX=$Qq +UC#au~n6H)rCxIHOeNZ27%?wrt{lL=&Hru=8 +$TgvoId6qNM2}Fl@J$5xJjhCg&C8NA@fzk8w}ibsv=}KNg0f&InVt_1JV$fLUnMJ-aEAZ&3jX%Dlz`s +cflEkI~X`(3Q95gKJX$3!pm76nI}am7xrnGM#{(?U@{l)-uvN(rHAbWiD}yOv45vgAYz$MMu8%p1H-r +RBYN9L{H>B1cnCTOVf3n=GJ;&~5W3EDD_*V~0uBWn46vHyAoc=x3@{6L0#Mgd4;2E3XUWQnjRN09Ph4 +utXo-+K5DsYT5TJe8eirqCadQS|yTagvG$Llht2>ot!ho+pPq@eWfhs3e0^D#e6Vn#LfI?+$9C*OfpX +~r6rl*}CXcj_=OUT+do+Q+mc%~TFg}bfFq`1~~&%ReEAA|%Y-UuY@CNRnt1co`qFcTqYkVc}YfsepqV +K9p{8ji9DmZuc)EW)b$k_$!vXjN~*;8EpL=g^AT%roGOe3BIvV%~@+`ua+3@=k6u7g))&K;R|SxUiA) +00;8E8@Z?W;86YLiq!{ssZ5NuBR@&Pk;obo7DFL+xG|rxv_V2_B?jNJ-DT9%q1@7pxVIv6M`Z%11oYP +ZVhlzAG^B7?R8_gvF<2$%2pCW>ouTqoYIO@H73n4##j_+BjO>WpPMt&?oDTQ~iu*x;lPwj8A+oFp5$r +UL1dXY3!R3;~2Ee1`t!W_6l?IqZxf+Te4>y4=wgd&5@OO^&P8?z^IFcqek}}~^kpXNroTK;b#A~eFEX +OrI*`W)2=V}U6?10Ibx;kB_n4mlh=viKz8nX}H`w^pK$9PQGygl#Mmc}4-djd|8{9sVy-@(w>2{;URx +aRLWHM)*GA}+|fAwE5*tJox4o?9!ucFs=%Zv=w`a^?MKca!41pE$1JeNjayj?s^W%0mP4;vTF3D(YwG +)OIGm6hRbMi5L3zP)i}8NVcaqFGeudyF&9V1g&v)iUDgdZiSq|g0}2EFlqEmnm4nq{Z#pFaYM^DU`3% +nU`ew9ztN!Sn3u108f+(=hx>X;ItNkD>{3ID-dq0q(f5)D6n +EV(CDD+d|+2vEYDE&J8F-4tIby+u-F@Emph!1@rx}Z7olkFG1yvXraRLcu?EkDsY`MUR2roy#2V;EuL +H>KfE?&W=gv+P>mf4i@|(b90A;!4k|tJt$m)C|D5>>w!rI*2#d?G8|NlC$14bY?^P`*Bm#;78gJuByP +_uvehM{Hav{hh?-XUnkA#xA47eXM8Xe{6R&j6wBv$6++%I2gDUwpx%`L&6^LdpcOxk2|pVp`|ug&;@~ +TgZ$+Zju;Z-AS>F_mH-dmG2cdl1zgC;*#p1#_Cm1TbuS2kmLwEG=P#c=Un^XXdUDL&^!+vUqJmLzIEk +q&mx$o@GjPV-eaB}4IcSv!Ncv`Qq%|kYykd9))G*aM|T>Mn6T|J8*SAI4f(}gtU9xL$_BB6TknZAk7d +L+teYO`U~XRF4jmWT +l-B)R|adVRx@KB&|(A*Uz0kK5H7i9LGHEO8Uy=aPh+rMD`~R)xpyiL7L38V|a8T{%f#0H&y;bux)M^1 +9?)m$r6{}L~sn20pem4Tb&GRFqSE;Re`vnh*RILxB}JC!jK{9v5B9JqK4gZm&bWfVVw^R_uke4;Zad* +5c1=!)LTLl)K5z+IkvW^-DB{xC}(;mk?A^O6eonM_zyO#P9%6xyz5MSC6N=&#JMJ>s)OnDaP62 +aGelHronZWfDb2d4S2--Dr#i7t&Z};V&+n9w4 +VFBJnK@PCDG*D};Fr!?tbkaqGc51gA_62f$bLk=DPw`cZcystT +X20;y*g!J6kG<~I9z6x976BM9Bs(_8H0^spwaGkYKIB*inlwhyJ%ty&P2`y?@RO7j?&*PQnld~7Q5Fp +f`?(#YZh(g2X5kXX&XQL-Pgme{QSP&X;haa6umUttpuHkfFQ74?iG>(V4EqDg0_%Vw)xY3BWL&FrMvB +e*|+_h`(B%tJkY59(NFt*Vqo^~|MqhKmH>znmKolK0h%(<)8J4^Zr(C+_P(bPByC-ex6PfG_e6Ix +9PNQ13gToECG|&N8?uA$2&^0=A2c$Jvd4CbXHUZ1hQZcwU(8xa`#2}2I=TX50`$8w*UZBA*+OFK9=|@}s +*#_F({|zOvkN_jq{xA?YW~sH{&T9cFu#0tCqs9*=hCB6mqX8JDFmOJo!PztLqh5mN;n4M3AGU;y@TZt +TET`}Wk={Z|;|msTFoL+XKM%z^pS~c?NF7>|9%6W)z}T*v99~pyuLk_k6#8WNTw`*0DtJ#-Z@^#r3Ut +fsU)P|IUW4wnwY$8IP~6Y97Ta18YeAZ!KZ6Z9#)ABXhD8g~)R@t9{Aw_M(FQ};5;ds1wr~d)!yY~YBr +vTP-$Gm^$94Z;ePJqk@n)qXu;jeP^-SQ_nWbgWf6^{O*ggb`zWGphLmnLeR0qr0V;w+j|db=ut=N`1#7RAjW%i}7_bR_sz=1OAP#zzgv2DxF|0LE?{ +&GEcqE0wPby~914t{96OH)+#H+oee-u}x8LKy7QSA#Tj}ZGc?xW`D$K2l<=Ld*D~7A{jY&2@JoI4RSW +QX`saUp4RPVp6x^fV&?_We#A{FnY!Wp>}*}<$r&EU0qScdZzUvL@Q645=N(&sil4?B_kyl;j7K5uu`s +Hu;|7~7EAA@G3@TgKqbX~O2L#fZcEh-dQ2I**VA~nn^I+{fQB&Gf19xG`lxpGfL&=+8DH%BKII6e0;t +df(^Z_|$dLYGaZN{yNQ5GoW{PV@Ni}QyYew~>1+(x^;>N6AZQq_GqJ|5i}N$`pA_iRN9u_TCPPomcNX ++pSY8`0b%$zAOF3$S@pXwdc@+xhU&TFP>XwYp%roY_+-G%END3#-q&-i%sRwi_MkOh`q#F($e_i5;U{ +PlzYIiN9*5L$qwrrcO%l;AOI0c`vF7Py--DAX`oq$ju>{cG*#| +pqEK8rr|Is(dfk`HI$jKTRDy??w`Il7l_Id)x+9^k1Y-=H=%9!?!gNS<0Zp* +Kb#tdK&^!t1>C+59n$lbBy$>g2zcr|L}&h%>{QrqAWk0dMmeHZ(+9lA&u;T9fDvDw3m_*CH9iaov)%P +}piyHR`%8WuNVbJrP&xpwkp;kSC_;9```E;j{Hd(6sx`9m0)!ZB?0aYfG-p;e1;;3N+ai;8Ujd-X2FG +_LB%J>PqRuBRkr#iYheyTR1LOj02xG7>Ioh>M8VD{B9XxR)9;JBv1&!LHly)9h!+`ve2oVoU6yF&049 +Ez@!Z{!?tQ0{|*cJJ68y5w8`u4n)gR$kt4hY;H#odPNn94*RHNoaiRfHQw26&>U2`r9E=ZLJ2@EAN0( +H;hBoT@YW#{%kKj)*+F*%3a|rNOq0<2+`Q5p`@nCq(dTYGbFQz1jW1rzy5spRq)r!)LomNGTUnrmZKq +WtCxo4P$e7=1ScF2~j+1k)~an2}h8`wpX_4Y&=%8r)sP2ZfbWhxqtY!D_pK`b5Lxo%WMGD|4zyg0R84 +IF#ZY>e!s{2C{p-^gD}X8xj{sM2y(j>hu)Hc+Z60CER2iB1$A_bCX~$6(guArrQqWOSaq^lPDNi`8rv +O={h7HImX!dn3Jm6m7dz}q(EZuR@Sq}L=f=t85yRY9S)uiNvXL_$bn1%}&(pXxZYhz!m#bJ-PP2`$V$kem4z}cQ=;4^ +m!Z0oxatj!cUuOaQpjH4GR}=;=A`JohG#ILq$eBAVvYF~Q@4~>vci`x1C@zETi`Q27U%HKNshyF)yS2YNfS9~?pU{_~G;j72q)E)eDf3VhtGCia*+Ogg?k*2&fyb%>GT74Bg@s79jb4^#-b>Jd9sor#OyKMko$ +g7ZyM(7QkFrXkkz(T~o0Z>Z=1QY-O00;n+tx-``Q7SESGXMaD%K!i$0001RX>c!Jc4cm4Z*nhWX>)XJ +X<{#IZ)0I}Z*p@kaCz;0{de0ow&3snD_DE7qEeZO-H+|4b^0=CI?X$6noZJq-Q&12B~miS5~-4u9d*+ +GeeV}Q00b#H>Fn#Cvpj7qQNRUoadE$Jad8wJ-#-p!MUv%c9$6w%^gQJ6^;7PIGmf7N}4#FqH;Pm +0i=`sBCS@4f6kGH|A_@CK2f@0rivox>LB&ds^zDk1^+xn`=gIC48zKzQ?__o;ONnB^}4nCx15JP);U1 +rlwUBI_RnWn2WuMyU(G!4Fg_T=gFS5Kq*Z5_mU5Q?dc;r=mRi-iG=^%YOOV@Sq +jNU&j%c2|y!BMa-KT8) +C~CR-+xVx8t`*#YRg*RNl^Op~lkXZ3e5nM<7hD)?JmrOxY7P^WKe0^I@YWeVM@>Jb4YtdD}9UVcxXhJ +qKMvv>-?P4p3=0qRE9w-0LPC-cE)G2j4w@_1)8#6Z`{3%an*7P!g7dU&1%H9}myM^Z0oF@c6G69}f +q^gD2lTe);O@Yq#u|Z>syVD?~&MpU&X_FuFg4KYtmFu;jDh!FR8J_ntkD1$`JC93<(SP#G_mM +0ScAY19?2wbzb_4A6SW_UrJPRzO&~LM429ydv8T5x^hP9uq(qdDeeG)w +!Qc=x(@!>v7^$7bpS;w>McmXKm;&Tv5%cW6;%Z7v5vZ&I*5Q-hlV7XO+!*)UsD{`>^IN+Kf-foNXI*3 +aYXduO=n+2dUsEU;qdY?q6(Oc;6G6k>>wvKQb%5+dQRdF(iU8&VJ2Z2cN2#{0@(`XUVo6`Ww{50L<^( +Oc+PqQ+c4Wr;0%vtb#!DJa+flv|Ib0nCn0)p@$p3Yz`*3e|Otb%Dei#NzB>!6Ca6?KM}crX}9eVE#5v +Dg65f@KX9IIA~^XR32mY?euY5U^&++<8z*O(ZuQO#?L|=`M)Ms%n!4M<<_r{@2eLO}I30*-TPoCX-Jd +o`zMroZ}k(brj6kBh*rW`>d+PNCsIAn+XTq0r6H5WmQ3#<+Gy1NnLJ-ihx#|Wu2{;sf(=2fD%>(2=Zb +YPhpr9(0s5cV3FZaetP)~upRsaBc5j^EEcXE>DqaE%cPIXLBGYS*Xb7LI~**fW#B!7O_>dh5y*;?qSC +W*i>>QMq{KN?xM-D{f^KoG-vU^vrq*hwzGAOAb4dd~sVit#=@=n{9Gb1DVv!Ki8Suh^JqF!>QCdQnUl +ah7`39IGybOnoSy~0}jh{y^Lq+gx|R6#7D|TcF7R1=5HolR%s^`LN@fBE4mEI!%L!lN +!qXT^ge1498g`Wp%bJJ^Tj9bi~s4qI8_{y7DrKr#T5087BeJ%#U+ulmt49Ej$x^TEJr>P*ZexQB#6Tf +t722abbx3DbqIfk4uylLj>~BA8!iv}IQ{KZeWt&l@AG$6X8PNJ=Whxkpxn0LrHcg>Oy8#T_x5Tj6+nw +$ZW7Sd+$!s2J{SpBj|{4A~1ZOK^@S!Gay;gj(DIA#}*}tp^byTiAdB$y)24rBJ)*Ip;0(P{Y8W|;1&?Q?OM2b +$|fqiI>J@WOYTS +GeEWC#4SXCnf)@@272RaH+Yh{BpC}Ua%z>V_YpBtFHO@(6vwv7cMyQ5O)%(7`iS63VkjaHw{O|vWZ@PW<=15pRmfbf^`iYIB%32s0=JI +FKV-oQMy{!+iL$&|qNUw_v5G!&Xu5QUo?2th>-DAU+`z)KlzOyG3+oVirYUImWR`bK$5HT~xP|~bM56))-E;L-$qa54#JBO*CL@ +DPhHkHkX}Fy>_(?>?%zBf?3*pui{BU*QHch?Ct~X-g*lJd@EBcx1>vzhd6HZKDhymK|sNxLVBKcPQlk ++WlL4!qh19Kpi$mIhsLDxVg42liR)p|{y!yB;PP>gChgv;A>Z8ZwHFdNXk^g9+eY`aa#Pqrjh16&4q@ +McP?omB-moypi@&5M-LH?sN3ZMIw@Y~*UFQfNS`fU*lsPKR;`be?JsYB?z|w;9`}3L5gL4ptFk(dR|| +tQib>q{6`qGQ^uvDx+JCbKtNvk56U~_68k9pq;)Ma*St{QY-%Lqxch39uiVztq+8e6dH->Vi^%*A)&3 +uj9wFD3)qomyag&M5V31NGC{*JHIqA7y&`qEwuwx3j;ey`5^ZX94`jL7)VL2El{m**7X~2L+@!J=V;{ +a>A2l$uVRCI&$|PZUUeQv`iZUg8oXH3cWj_`D9q0$uYc%U)t|#)P(LzXvnOzkH(DAxV=P62lbP_ch@4 +QWn%9G}wkgve2|8rLbw`cuoG05lj*8gf{pfvh~%17b2!p4Py%+TICgup`~!kvUTMhd7+WQE(`zJ#2W&p+emuO~D~x;qc2w5gxI}&;aY77NQ*7Ks7aj6V?Gwhpuu$Q)qAha)lwv1kV +qr!-F2D7m3`UU<2B%j#m{16r?5S_j6FeI%PM^DgGWUi(7QLM4(8PwMg7_u{ay-Vd>k8@m@97^b +PtWsn6I1^5!uu%q~Y+U=bpByy@u*#$aqxv;7m=WneTb8}0FOQH+3A7GO95fK{|8i_O|p^4bi>se>3F* +?2F?Y=O8&jR(V6jP~g@5*2`3-?&Sc_09yg +#F*?v+UY4G&qM}gxYbk!Ht7+NNUk`W*RB580!q8<&YN_0L%gy0pgTZjPqcdxgq{j^gXbXyVJ$E*KK8U +0!?#P5U=cnU~;gICm4RSEX3hmBZ^z`F*>lg7->Tog)#@fRy#z&UaZCv6$R5-{u5Q>=u_KNKl-?Cz3xu +_kc(Q6FdmC2(bXTs{}NX4VI3^m=VkNIhp$!kis*#}z;wRQ`1jIX^6TRasCcW^hGFGK&RY&!@5AMGe`R +5cOI`*04Nxq3e$>6#nanMCABlMiH3^zvanXPpgM+ADy;%>Q~ +&)uwyN;j-yFSbc_4A!|H)1+GeM#hQHotY;-M+1rT!mvg>Mktqhi`>M-(C+=R-EyclaSTfTsZGw~k7Yi +P8$?DK3WN4vm=*Vs@?$ibY?7JF@VL82&(6l%>J*HTLAT-t7AsGS~X*VJk!2bW>2|HJoO`F&|+$RRJ4c +W`9?;f9i_W6iC96x;X*$$_Mr9?xE0~sELM87mJf5WOyj) +Si_`iE1t^N2BiDXC<>)lsn*JprN)9#|t&4TYf~uJUWkH)o6#ujAT^%`|dnpZjqBkMVrLetzRtd4Xs@C +!NJ+`sH(~sQK#!s-ttF-^Y*3ii;cytmNn*Qd2tTr^DJ{EWRr4!2ZWgHQA?tWZeU1S)2 +vh*|8AoDtY+h#U$hKm$Ecd+%a^NsKEK0jeMjv&vhG3GIFylvzjyLzJE%7!liXc3R9u5b%1lMVK6|XzP +xai?3kIn+9H4458PVvu2`1OCjWK!~FE7!LaCtex9n<0#e?OK2dRw-)^}4_hYzyPkgC2h*7JAF`*c~ykr3tRGZmVyIpH$XDWU{jpGhdz9iGhIX)8_pDk`y-eL +2YcJSR3TWp%f0b9!!RoyF5ZhBkRVJA+=ON)g$kzCCu3A&dTVHtVbu?;mTj5b*i-m8X#kpehE*_4LzZ5 +TD@bQB~V6L8jq{wRa0jBEoF@QPNesxk~71*d>tKrnJ4QjC?RMfxNX8c-(~-L_$OM8Sc0c%&LN9l+A!o +v=z*OBNO9wzRpKEvp7|$~`q9vTf-|*C^IhOI}s(npG%br=v!n?64rc!C?4!ou|?St~u3Rb~<187^to@ +98jAyAb4X+&+_&A7~$j;)ocn^G=fLGLdT-4nl!)m+tD;bD!{IzE4#bX9&~k`aR`ga;s(6{tVbz2xGsS +ClgHv(V=eM~Ph4Ny{uZa}YNId^ZjH7SD`QJ>*UVuADXxBl2LfiVKHosd3Z^|frTbHqCRZHL}|BSk;eDvs1+TS-JPS +*5<0!tNF_}A}4`tE30wq9$;Q`0OYEr5!>5X=_0q7y&4w`*SBCFQGRe_BnH4qNdjFHW@8+%V+62xP~ml +XEE;2J!O66LmaA{yOJVUK??C75vOK9rzX5VZ_Z*yxJ#SJjWME6~BM~8kV@Vhqcey1y@6~PI&UE0-Agoct08?ubnlbIe}0$bUZdPGP}~Bbiyn7?!o6MBv +wkCAb=wv@cChlsp!L7|n)eF7!5%UzZW)Wr7uO#5|OZ?QkqSIPb4S?iX(*ed7L1AF&U2n(R_A5}yTrK4 +*W$g}-1UJh-fO-1>_zIi-aZXHF~c1|3}i0eD-KNoCbhFM&OuUvyNgHmenShRk~M&S^_L9i|}_DljeK+ +ri`WdBH2MI)B)fpG~JskAlyYVfHE7*E3>O>hK$=NBIx5=fEw16ima(@{YmcvwH;Gp}P&h=%CMU((N(v +0odgYa-?A+4FB`hkI(Na4YA&!3a~0*rB2Iv3^D~|AiRV{u?0nJmC0d%`6g$-CB_mGJc=SwhoezO0(FC +Mq?1+eE%O>_Vhrd##EF?zgR%an5ft5_{p1_aarJTrtbsT9_el@?5VnQP5qkC?VB#F~Pf!*Z4lQqx-!f +03?X_A!e0+}nw8>wXJ(iC!0ZupsQvlCFheOag=VUzIwlrbvOoYm76}H(Oxp4QE9@2s2e1MDF6#>a^p_ +1$?PLjI_lH~3pB>7O`k+jS7@nz8p62nqSly@sDA=re=7`#o0Nw|I$bcpD_9{idGcZVOYY +s0ApWyhWM?D4*J;d<0*(6t7F}tBy3JUF_6KXdXU9Eh+9o>IHe&Y`hw0%&{)+45-#=-kKXy22I3FZ&C(9oq?Eium_?z_iXxjj}9FJ-z&-||634l +_~P>Eh@?Z?M3_J@xi|%{(X#4zJ2|ei)<~@$zi7N|P+EQ)qdOJD5qD2)x4nmAeW9! +aQHWA+Yts1}di-X&T|wA9DIm;DL^{j7#OtN{S8Yo21%dju05E{>uJ)_2pPb0%9b=^PU0@k+4kj1;CQs +(DW^$zd127!I1`5A~nQ*2wi_eiP$g`+t=g6@aq>}!Ml@3=f50Y+#epk8_1hecr$=EgLm@c6L|3ms=dk +K?GQeEJpB3qTWP_=b2c_SJac2ggBLcugAgHh^zPGE?>=*T_qhcPdIqEA1arYV{PT+c{LHjIp)@*nsye +9f6~2aU(5N_D-TC0~;_DC^JA8EU@z4d@ogszu1a_a=^t%_EgflcYC5u7{?eE`V+G@p_mcUt~}`EjHxK&Pta< +jQC7s3I_iw%bVmyptaEFhm=rQYjrg<91<62|@tpo07Uj+*bPl+(D|84{QwDlXLhw1MP9MMj8Y +RM2Gg&eeh`_d_<=7g|@PdOF_sxqf$N14}IsNNK#u4SKe^d2gY%cM{`Ul1=C{CvJ>B=_NJL^F_tVG4BQ +bSVTY{mpA0ULh4YtF^UEjn#Wz0w{Zq5>XXcmB2afH@ONlMGra|Pg=9f<##kSYy(3&?XE!k(=^J*{*y@ +tUeo`%bKHBDmR1Hs_ly?du`(Tf2#bf{MT!{M+q5Q;P_-gJO*TN!`;E2aHUNnOD~gjWUaD`QYiNgteeq +*ffwk=k$pUYXY(s^J}01s}IqWjOUXsLvl>V80M*dS-j{{hHG&+P8Wo>$Bfm_*lCNdA+j^RW&+PWp1Kr +1|f$nTLFfonw6WpYVs~}%Hv8>J|GsJJ^1lU44NWthVlnba@MGARLGBlMNzOu1fSR0dVsnhZEs-o7jAn +?61JkeCX<)cuozU&Vgo&kt1I0d9A%^Xq0}pz%mhgqFPX94#ASwcpRmL`ewuS~Y~e+fN>+)okrE^|A^( +_+Yzep-j472fxwTfL6g50$fElZyfXwN1Oew6Rzr#P@qSV1{L{N0kB#CvHfUeJ8G6O~qoY;afpm{m_xC5;y{up=eUOj4{Vh!1(4g1zhh +M$Ek9*M=t@Z*P$sMjJ#~0em2IebSlB#l;lOmyW6)a^@3uyKnlo)3`oewq^S|7?j_a)OF?o=MDq<1di84=4J8KQVQ{ntVc*O?q_g&M(jiump}Yn)rN9uxp(Il#YkNzeD +Q*NT_iP1H1E9lPW1^EVPTufYqJveToqk8?w*4c!1-&N{Ft|>@)T?Kl7NDOzwnZ);w`HmrgBH!<)mfkvrl7Gq@; +t^6gEdh6;3>6tLB8{YopZg+|GM}tob}~i`$x1)=bwQyWPl9R0fOij8+45GF0gT)~U_2ptU`)b5FB#Ke +NFGiY1+Tu>Er*)A|ZIoXS~0zR+GfDw5qi{LBG? +~@cc1IKw;?v^)TxMlg~?Ig_JBwu{~?(G+!Pd@+jU0km4vWIv3h3l4sTNvLbr|%~5D*61=;k#8lE2_7X +uiqpe58q5}zYUQ&h9|fBwlnA1H<%QjeHH21bR>p0l& +FDpgM2mL{2`Mqi&zgG}tvUYkYS^5)t}tS>|*MvUP=%$!b^kiJ73eC~{A{f~fGN`@d +hymM8oQX~L6z$44ZJ;Bq906x9dz^iMzwm@fDoWu9KBD9115M}HM%H=?4Jfj{()W;b@!oe6icrtXuL-F +>Fg7(BIEf?jGLJM|@ZwGDNp`#D}epnT(JW0-B5o7)9Lu$Ns4IZahLf7qPCbPgccjn?_)v3>9;Uo&;?v +fpDmCv0n4U!wxRQ_!3QXNrxNn}b{-S`}M?}xT*lz2AMTjEl3vR$?}VhmFlSTo6dOsc=d7~iXcU1*!!b +T#-n6z5#WIcY_RYv;RGE*Gh56?%1D4o~jNZL`oR*-2@@t^dwQ6Jmr5Gr=#4DRP;_b5vD83!q?yPJY*U +01uzJ-p)t%fJqZEl7MEX_cR=d6UuyKa%M&Ru^hWBJmt|-x`~PoB()`oRd>YB8anox+Vy&nsH+Pg(Nmf!;V0Bw +5Z_W>WLP+_0TDujXXz^8tcz5H#*rPX&Iyz3B-u&%NvG!3%H~%jx5+*-m=!OyI>K-4Yo%u5z$WRH69;@ +Co+2w(SOj$$S~Cp%x=()OGW`|0CwI8AMJxB0o&9U@c!pf@IF-Ft%=DGfb*c4s@Ozs#bc +#xQ0NpNuxj>h+sXbG3zsnEC(>5@I{-y;3>No@$`~H#=fJJOS(0BiFz`xq6evL`eD79Lbu +GG5dRMH2S(0jx;i5J-#qz*5T%$FTq#;1MQqqC@*{I1cdjrfky$p{scejP-%@71iU-TZS^`yxO_i7~25 +x=|*wewY&6#;`o6R5}Jbpi8&Ay_*>MCRf`kf1ov8eb`v_qrvEf5fs-|dZ&VFg!ic4*X`KROFOefa +6lJRe59^|wx_wJCnO6IQ4@weO&z{vpld +hq&5Ss-hr`KgcM;$3Wj~mlE_$m%C>hSFRmq!=(ABE??e0A~h@T))5ElB?8Nv~JHcJ-Oc9p@TexY}Gte +x{#t+6jUFp=u738QcpxV0)rC4P-aLoa86)1alfOhDJ;$aNW)cO{wRg2z~;|6}6A5S9@jCT9oi9?^{zBUfq?tVy?!VsLb>x-RJ6R`QFEI4Xq#9g6kw5*GWi!A3VYx-$|nlqMtZbja3<8pD}jj?*^k_X9 +UA1c#5g)V4?Dn53ju_FFuy@UN2}TUMrRsV_TV5h(nnUfje7$;ysUZQu0T$}@6`CYZbMpy568Yx6VUW+^APUkAO@M)i(cD7vx +$fF}N5fq8h)l +f5i`c#SG1z4D>t2#CYNp@af$9rL$fM?bcK^QkKfIV%(djmjMUZWB&2> +w%}2-`7_PXkst|ffX?!C4%LzkMH@Bi!2_aMA*~-<$N(omqakjGj4?N<+Q=aPDT;Z^$H`Wrf-yy#o8nVKTV +I3)!CN?R5zNwT^D6-*Ohl2)g*}o)$U8_W0dvet}v@x*(;2B*y;SJ>K7p6?;yF*5mT`jf-WxictJ>ez~ +rCJCB^g2GEh;g&_y}e2|ueG=8qSPGF{N=8R^93&a`LP^apuRTpx%6*p*xzQPm_^_c>GA2gV!}?_uzx1 +E$2VPt{P^4Akw7V~DGQLQJ+XzFR~I&$B>9u6XvyAgt!SuJ2AVuf4n3bNQ1={A2po=6kwLyD+X4UV9Dq +x)}cMsc-bt0|JK&^{i^Ycda*BaBVW*?Qf*p2>2u<-Si#PVcg^aI!x0NV`(YJGwOj#soS}9?yHi2*xFG +5*#+r#=uhEzWNeYsk&nbVUPtx`mC*BQGs932;9A|nl!v2YUbf2Nsz+?zD2rZ6bO-jx<|fo%!WvM!)xh +vb9CbgzPG?pI8h`JAX8I1mF)nQ9CA|ZY#aDya<#kWaY|DWP5Tk38b`P)9bV)%zyhGz^{JX%KRc({L3G +=Z#Z_|dd3T!ydimB}TAx3ftZfqlFqVJQSpFf}<4j?L{->C#Bid{(QXb$XoWcKwvZIa*LqvJ_K4Az|#Z +8sGPiEjT0(Ori#gd8$z*UruK-k}Jpl;~!q?riSr!7~_dDT+RoOHj~Lep_aB>L_6&{oQ{_nT_3uoo=Bg +KOS{=?i*gG(}NL0*Lci(!b$KxjS;7zrW)NT3LW@#$3`FMrr+n+7r{HA*50DK?~`bNb-_xKj>+uAlA-~ +^lZWye$a;3ThG&zza{%^v>Mw}NqaZ+4fjKsXw(wDx6wC>A-CqYZvf|XKEf#tp>T3|uw<&LCsWWYOGYf +@ZW$ko|3@cW9sTFr33cjV=Q)BdTjQDnUcQ2{~l$_1xTy6SFCW&6R#udyvfv9_#PN6D}X8^)&4Ukh#dI +d0U!Pw6W9u~i;+IQYDFmfqXn`wn1Z+YEFNwGIDeNblIzyvLJz`CWCPGeJ>G3F2{0ScC&OAj$q8`&*gq +vQ|*I;ntHXxXDyXS<5F|IO1czyLW(WG^zZ4(nxdEh9{FjZtoR_PzrUF;~9r%b(Cgb78qLV&}cvOx5pw +>$a-iKD}a>k{f|~R=|sY^zVGq +cwwtgH47g?)`6F>vf)NF3=4`7}F1nUvs~0V0p3*TD$l%2(PnEeU0Mi#oFz;YTC-8E*&<@c2;^~Xv)6> +s`2mI;NhtYu(Tn-5K7>QoWG4~ug+ +m-E8BltkKmOtA^)<%KoI|IG-J*E>2FXHU%>#))ibTBR+bUu8o|Z+67llrd#5G=lD;{OWc$@mrGzwN7b-Zp00^kyMd +9yfz30mTV4Zoqay|4fhwzl2g0>CC$S74=dIRAreMyI{684ESIgTd(Zf=eO`kW{G<@Bm4aFd~GF^cIcS +m}ANtIlZ(+5s>5?$jKH4-^|IMMM~_Mtl}`5~026OVYPucMHk^!~5YoXj0f)_W74a(^oT&cLZm#M9BHJ ++qVwEokc_8hK6|mZGOF7iEeq(_gzNmd{5k%qbeJ1Qy=K>$QQFo4SrcV$a$G%jLo#87h^E22u5*JmKA&3aAwKmWn4?s**Ih)yh`{t?&5D?BRz^D4L +4Q93H*3ciaHWO-q4Y$uwit@2|-D#(x~LPuq_n_BeE&i1yQL_EfLGtqL6e9a-Ay{N~qFZZ +CIDkX*5bFH-5kGiV~b5sr{&GloGgS!7hj78vkG{>{J!ULEU23XeFjd@+7KW1JQuFEVM?my?IIH-X+ku +~?$ts-jv%;L-w+RUT#s1W;m&Yat86*q3XwfYxEZxd{}``o!y!e7~l$5P|>-5YwK}cr>k|%0+s+_cE)BpI6qBJz#^UP0Vq40>7+;+7^Od?c#<0{?1bzC6iGT&FYh{5 +l7CX)f8N-r;okzj!d!XTp6D|Ax09iHAL9r$lF%5vr)dITD>^A3bWXy@aFF^RHcOqL4`426Upsfz{QphBGZk +neP8nC)=DI=<$%cd{1Q0$JTUgw_UhP2#E>KLT3ctki=T+*ESg5Hr`k7j)BMNq$@TJ$1KHRwQo&EN +Gx}0OFB2z%t?nGs&uwe9BdX+iVpO#K1KBld5IXRYTukQ_qJPODXG2@oHkFXiIKn+m^k>Kk7;w=2m`RRrcC94$RGs!4!cUgA_D|DvE9>r#8|+NHG9y^SgH6CCrpz%8heID>^ejF +x*rZSo~Zb-EA+1tN>>m=dC>z+_`WmBU{N1z!+b6Trs%qpGl}-7>Q=GhMkBgC1g&nvbSNWs}7Fo^B|Ob +Axlt=Qq9-;z};f{C;W8Y2+FG$T4mNoOEm!CZ9zai(ZeT8Cb*fF +oJx-Xaq9NfGSh9nySF5o_l=^pwY;UAt9Jz_c~qekV@O?;D%1;T56}m~VjTn0I<&VDb3=n4* +eJCSz*~%@4}MLzQf%e-w05o`IgKo(6PeymbDcEr$K8gfHxzozW1^{&tr;3<8wREs52TBp +WP?bW#5DkyBZztb3Jk$$w}iNioBk3r$*Y^aMtVI)oJS@DdZ&utD4lztY)H?6O}2PLTouA6z?qI4;1xh +56kfi)4Lx3h@hNmnMwJq1>K>ZwUn&3H`X6Wa0F`&FAG{H(=YKKRPiRTux4)hG<;YuJ@a(S6WvuBHuz@MV+8juIY`NbyfEUGx3b?RbyOF=1zmtue6srd&c*Ub{ +4pw2lL$AUq(s6Us+RrN05RGb>9Tx@M6QkpdJtx|N(oz3+GA6P?1qE`~Go5FrfPoPJ08RTMS5{k}42rtm$>V|HocUA%_xz|Jf +vX3;%c#;3LAEh+u#!UlPls2V*T?%t;-{gK*N-N8phrmv$O=6hEOuAUA@i{)YIz+ykG-dS!NgVFMP-9P +Vm*Gt+|kmykn=akQ5-S1QIC;{s}4Zu{`nt?@psc<;79h!=eJp^nh0FL=8+JTx%iwu2=vLDK>{FV14?K +M?Cru3>t7ceq4+C}r!csGsP?NKl-=Er4`=TWl7t3u;!P=D}$08mQ<1QY-O00;n+tx-{UrZs155C8z%I +RF430001RX>c!Jc4cm4Z*nhWX>)XJX<{#JVQy(=Wpi{caCyxeX>;2)_Pc%s5^sj2D>02Tv%90l$z&a8 +>uG$9?H)U}%TOdFv8D)>AT4XAKYrhP07&qVqr`2d%1lfVz{9&QKs#)-J7STDlWaC-WicK78{Z6e20QF +PEZ2E5n-|PI@YvqBFZM?8-%ED3F6JU*7h+nh!kn}BqRis3NJQqtsteB9hoghTlZ!*YxGz|k#q8kpFmTUxuHm!Vz0RB=zCQMF!SV6o$>rg@;KR|$VQc!1zx&30vwxj=e_Utq@DEQfWPjkF3&aZWdRKB36^b +`brc<7y>_F^gTA&6LWu7U7wNU&b4>OsD1s}2%XBp=)KtW*(CR5bPbZtQb`2vL!HE1ewqoRBMzexXH`g +_dxeb_yb1j+!La5l+Bi8>ByX03eb|C5Of)H{}_tijp;F26rL34S^}zc@NYj)5llAU6pT50Y#uuEu*Hr +HB;T$jud#-*{Ab;{k&YDBjzaYEQ}}Es$u~k>4*nJRia2Bn0d^-~+spMVLhZx0*0 +shIzOkIAeAR6yOsGC(=AfXd}C~nw@ef(%}`uNdU4zNO`Wl^Jtd_d!uwN6dZ8~1aUoDWE@a!VJ%(Z%`Ue~0w&?&w@Sd^q`Gu +#r2~*g4*Kw1zc1yy8UQ8dSzM#Cn#0Cwtmdb+I{|knUhS7++7^^y42#w$XQFlH4&`dyt_Mu-l2_uCavjWi-$6i{BsRRaFW@<1(;ab{bUD%;U?_P8J)SK0Ek~(Op_0Ctr?THVxMgCPg)FwO +z!hJh$cu(0TWd48~jpE2#8mlsYsRJ#JJIpRhXfL%l-FZDmTTkbILUI!aBjM`+L7Fc>DmuXV8_r?z-C6Hq3HA+` +A<~p#k^W5o~-XKz~vizIM+H^duwbR3~9Z;NG2vm^PF4s?N3o+v9a;%E1_5fbs5k^(y#!&p+d +UTmV44T|FKUyTBMLVTs16l7axP7T&Cc_5RdvhAk=lvN(q}nz{h%VO^0_=Yj2eDFz?9^4)8rC2oWUmpq +EBd{Z6XX%uE_X%|KmksuSfvX*?LGww~(y2E#d1>!=jdGch1XbH)?QF;O16*3x+hCL66Jrh@kIqkcKW1 +TNsehVR3V`pQH>M08cm}1=5j8|G)8wsg(Qds>Wkh0#8l0eK%vOcf!B2HSKqBDMSK!X11q%2<1;LO4v(|oE$Wwj?7OGbGj5%S1)vSX{!gLj`Z7`rnfJrDO3nEH*35oA;A20`yp;9&rgeiQ6%q5=+WSLhUDH +p!hZ@fDAD8NH&IlzUPWC;4DNob)o2LV_XQ`^eG!sPS^$OOd-E3aGpTVNSh6M>Apg9<7p9AVNtyd$AmA +bQ1Tc!3Nhk3xVoP{<@DRD3oN48CLnz)n)*1yp*AFl9W?MLvq=Ji5gOg6*6&wEcbNBw3V}F?YrtcWl@K +c4XMrb;~*zQjF8E0zKW;e^L9Qxybh~^Kw%*s6!@H;29w6I+?KR8%8|>EP$WoP9;T49F&S$R6!2@7^>8 +!Mjte=hso-e1DZ7itGmU{2C5-}yu%VdU5_+7P2S@4!)Se+FJss&6_YR>eNAm>=WX_9dv)kxOCMJtL0+ +LJRM}tMT>Kp7d{w1V-1*yRmCbQQh|SS0fqXXO!S9y21kd|*6jK#%`zkbiEzMN@pt>Tl4c3IItyuJR)U +(N>zp;My@pUU$+w*>whts0P?*}yvdyN$ftwg2Es2&~}Qj-3t_$g(xw%bh6GB2~X1~n*Z>&2re>XUkx% +1@e+(+qYtp*5Y@r=|ol4`+*T3?xDRe`n>EjE3zRBI7U)c^h`bz%NV8!RzuO3iUZc3xZA`3%*$5aYlf7 +T(dR}v8~=dM{+w`qG_jcDwrTC)^o9S_NR8LT*u&-Dv>UB2|Bk*;}T +HYcYK|FE>ioUnr?$dEY`$mEyI~L2*-_xiry3^?sppar}Pu?M>YnF~Mb6Cyt*qr_QIHLVY=eN8r#6n2! +ST7;cbn92%F>atJ$Ue_F3+uoI|2%CWdCb?FPL8)65il1*c|s#=o_+g$Fq!+MtG+KgAL)f2IP34A0xa +Z@;pP<@H7;H7#lbrswAnuWw;e|JR|8Pz8sQA5aH{BWOm*e$0~lku28K*i7Rn1pRW+@py(5tHX +L`6cqb%7!rRklR`ORiDzY)_dqJc7d$J}l?@zn^u3MRFE2z~rjQ9ZyAFj}=Z#~K%S1MkphQWSvS<#eLj +*g5EL8pYR1aAPY?5K_guUC5>JY--V|THTmgO2zrN?mXPE4 +;`t=Z@uiPwRB&u`rl>$eHW7tsuu5)$ZPB5$lNQQy37HX(HTEL2^^4I7CMM6+JT&VnSZ-3F>Va07q?(u +rGO^ZFx<}u`Y+X<~p5U=yvEsaz24Jul+E_PfOlFzDdoM|*F7HHigxDa=7*r*qVGV)w&QOl}tl^P*)J! +$_QnOov$-$25c91#T&;mraRfGu^EbxxD#U68Lxfyyz_kOTB3t5f1$fSF~F%?Lv=ZIaAl;XvL|Q~EF98F_PZ0M2S#_WYh+9X-^)h|*iM|TMf~uyGClA~h*EKY4jxz^JwnUwT5o=Z5{9T-|H}ZMB%kV8jV>Yt6h=*wIS=A&hEAgSyr@C#@@9+OJ7g +P@~E)n7#>Jh?I?u8aM}SHZy$nw+QsRmxl-DQndG74WSS`N0`Vo{{zfBdYP5wV^#`ELrWmCzgW+8Wynx +BLKl2%h1Fs39PF@@wgZG`NGiw@#ke6A85#5G(yOXIS!bWGhzv}&KEv()}pT;8}?KA%^^nUuV(yPN?nD +r>7?^5@8wSQRgFU^h^9OgVtM`?0v{yyLg +PH1ufGt*V2ptu9To4x>;F{=GivYw;L8-c!OEHMKDmY5B%#L>6#=B7l-Hxs#(p)61brCS>(HAXs>)vsv +qetBA6b;tmMslw)Xy5C7&D@tmw%2J+#0lnUlo^?9$4XqAp#vukSumtY#`-YX4hjK`aGk*M{3YgCs(uO +VCPi&QO%!?z+5*|jjIGJTPjy46wqENZ8$NpW**Z?Zb9x$vhgM^CGwP00)2i?JA}AS!OYUyE59c^uqlu +?)_2OM_NS3?N+sF$AAS#B|0{ax3UhQw>6JIQgwN=J;rQ36#O5wXncItxQ)p&%3dIP?9vxRnV1AL>n&D +u@UuEzU?-G@WDY!Pr!AA(Vsja^{>>H-9j +RSn8nKdDw-v-5xp9Ceeg&htCJ?tz3|757jRV5cY+T)B1K8tJx)>fFLr7Z9;7sMs?{~Lz)_oP4U#H&MpXvvyVj?Y2ud$6H}F!OiZ|e`u?NQ3g}`~)jMGh2?AWO&9fODpSyNc!2 +um$M)h6`&hh?`_pfF%=ROWcWI9-qRk0Qv=Tk`7-3ZDoFJ8Z=r{H>9+TQ!7gmMlwc1oU>OZqTWpm^ESG +kCupNeSO_@6N^<6HT^*yeC+UJI7TBcu6}(cZ_o?abTnNB1mbey=8o&WdG+M_+H(<}x9eT|P}XW_w%_p +Dp2Bih{|8V@0|XQR000O8ldVxvwzr680|o#9BM|@q9smFUaA|NaUv_0~WN&gWWNCABY-wUIZDDe2WpZ +;aaCwDSZExE)5dN-T!6qnVt&WhkD^?hFfh}{e07V)!=`bJ*R7R$4HZrM^RAOUTfBWwEB2$*!8cr;c&m +Hgmj>qKWrxQ}jITyVFH5}I9fhj`aJYf{SZ;XVurDAN&gh5`{jFAr)XS2)eS#CClP%$TGA1`k{ +UHta>=HsVpTm)Qlbaa$lQKf;~0(juDOgwTW1#%*5svelqWX($@Pbw;w4P7!aXA3SsP%g;T?25cOeVbc +OaPXxxY(g&F#_ONoj4jVS`X{P`cBNd`pwoTD#zZ^4sW!l9E$272{$?ULq4%brp7 +@A5XUH>Dgh{KrYKlN6Wx?6UEG#5nj~dKwI;JiS~cj3k-Y!PO5+d4aKYc371zWe;UPGgIU?o*kg!d +Sevv}wEwz1ce#Q;Z`QKK;bUIBZq@wHlIVGDh*-pp?98b3681iGxw*wF~%7(n}V4n?OpLN;21H?Y$T^B +JOfb34}g5M8dyE481KD#a$lB2HyW=sr{s*eF)F@%dg1fn8_*q9rDx%B}3&-oZ*Hw45;vuZKMc!0de>c +=)AqT;B+&n(0cjiN}oF!B)#!FIp3HD|JDL^=85vPrRj8m??!ereeuz}8-n4=HrbO1|L0!i$j)N&yKLC +6|-ClV3aGJsdG{B6R`y0VSHsK)_q*%gM>hyAFmyUiPUx>tJIqbsuL>pd5580*Awzwr{uZinH?6b53tb^vMtkb)F^TD>)5JM&36^H>lS}mbtU4$~ +s=3d*tWw#OZm36jf?3Hc>g6BPnn2NSlZ<}|^a>OOGsn_4MJhDT|bX>*-qyV409;>*P0+n!IRAq#+k3p +lc6*J3{4p*m`wPKrojv^#p2d;+T>M%S+$ex>SWqmiYr=UptJ;zbGeg=OOUJB2CtAyZl&s;>$FvskKdf+%uxGlvhMnM-CNvb&eEe85P3L_J(_Odw$@ +nULmnD#HQJUA&JBRH*kHt5azRT1rsxX!cy*+M%fU4a6F8 +u2LZ#pd|<}ZerXsF{xfVH!`;d-dS|H?9ztjk?*~`FyD+zJqpX8c!Jc4c +m4Z*nhWX>)XJX<{#JWprU=VRT_GaCz-L{de2Ok-zJ&K&AQtbVyoaob;+zZ55kNbg^YWNlu)~3Jeh|2^ +9!104P~a{J-DK>^F7+QcCW%*LQr0MFP9Cv$M1FwX?fh!RYZQn3ZW(TiV=H)8F7B%A@ +~R1(j_n+iZ4ydDNMeT$pB1*?Za!#+0jUDTQ<)inT;)v^M5wy0PmUN0Nn7pPe!v +nD>ji?7+;Ft}t*OwUBe#{wf+9^coqD;Uoqj?&Yo+wphPqvM0uhw;&LV*`85s$frce+=bc(z7Uzi)0RT +9{?d{c~aMk1zu%!4P~cQRaQ}(DudmP06s8)`#{8>mRZG8%?nu_%z14b;WprBWpR;bvt}jareX6%6Er0 +>k)#1|@*zF-$&~EqlRfD4Pw3LHOp|uj7Nm7q8>#;j +`Dz4-UV!9=c@L7}9LDD=DK1$G#bHcAIs|1gW5}?<=TE=D?$=zj02Bsb?ryIb%+PN15e1MmfI$56;BZO> +4&KE(@dVyfjOHmIABFFWfPdb<|0NvQrQuIsjR4C}p6kKW`-gJLl +pZUpuxJYLR09Nb~4=d7Mp8S#dv;J57Vwye?`OMX+%*=PYW4u9+~K{!|X+lYjr2g1v2#)_IjH#XwWcb@ +*%{SX5-(uMvdy@Qg^a1v%96R6&En6-JCq@%Y-FY)*5^SaDg!)gzZH&uC)rHs%x;?k^E^m?^_^ewO(5z +GM6QLBYVyQvml)W*{<{=>%PRRX#V{^tXsf5{5Qs5y1l9K;cdRsTr-gUuRQUJj8cuE(jXzIxAXAFImrB +Pi@5$be!RB_|3sV7>5rRdpA9yD3E^7^-@*YDLiZ(Q7lCxuCgd9Az*UiWBJA$$L +Rs*8WIb+&yJ}Rx8CzCGU{Ho$vD~S(pTZhFl%V4VL63V$`-63-=pLcQMh#IiI8uF^$Gk{Qpenbj=&`b_gc8 +q22F5&@~22S@qX8ub3hMW0^#gBQ&Ldnq*}5zrCua?%{J&M)(!*35?e}4#Ld{`E2U?T(`ZIcxSCfM#cSs>Mr4g-$Oq67tYo-;{*LXDVv$hmdM*^mARcG{L)b; +emnfmGA_}`UJW_Ybu;y^q}9e;3~Nx&nB2%mEiE= +`pfnZL+7*@1An2eC>;PZq9%kMgMvS=%4=2x!etlw{v4PW9P{g%mTqXlrzy+4wjk^vH=(n1Q)a34W&&V +7g0m)pA~G841K6qY@~=+$CU$eV5$ioK{)j-cYfZnMn9S7u_CnfTyLC}?g!*`_%D$r +XtPR8KYWQMJr*0M1JoJ8;B`8iPA%u#*K0gUQv}Iq@n0xN4e3z5C?J?d|P&K>>|%SzSI!+0By$Th#c^X +d9;IldUY>`2#qHCnrY}QaLa=ez}}fhM{?W@NEBNYR1W&aD^MNv!g%Y_==G|_QH`7A6?EYrUERqVsU( +8yfUL~cKE6<&h3patQq23H@c}KR;vPK9Wg^+U}#mCsuejRYMs1&^KxpE%xoRQB-5AESJT6jW66Ax5r) +L~Zx0Wiy?$6iwt?$ +RnPh%x11n1JUcv`BzaEK8dX8|B$G6O)ZMtg3>tn(<(%1Taq)3mEFh$l?i14iFDUbyDG$v)2VWer1Pc!1c +caV(;Ipq)S2Z$vIhO~S(nu<5EiV#tbFM(+_*yM!2+JwXAp*ThaDhJ_XF-U$SfG{SNkW%B%FA6M5V)FV +;81w~S)ABqT&i^2o90C;+_xE;wmAyFy3i~Y5 +D6hRg6H+q4)c~Fhw2JFdIP~h}M~!79?*S!zYVdrM+07hv!=O +UYAOVVf+ZflN+IwENb2`4hPb)a8^MKKj2ageVcMZn#RNutFbn$cGF$4EKhHL46!He0l7|KV8erKaSnE +9j0srTM}bnCud@q23~iwxSD4f~!N7}+FJFq=Gw*TvSIiH^nP7ab2IB=`Pk8jyx;WJ04K;G!X0iUMJ$d +;2*l)Nk%$!-WB~UOR$GdqHKx$8vG}Hkn9MFri`1qZSWG6G>xx=KTD0Q^CXREM; +#nW24{cA&1Kl239D4N0_GpcJl3FPYe74j9r2_L&B-6$kxr+rL$djeVz@9}Ufx}EkrZXnGfR1w0-0JGQzJ$Iy`QO3@^V^;sCJ%r*4Q2DA8~H|0sIB1pD^^f +4VcWK&L4Yq394CdC}5}5HAG4VK0dMTK@^du-x6hV +E6`Nn)z-(7ZcFfcE99Tx3t7(@i7DwTZKaszKN3FH+W5&S=`P$G{Rpa-Tt|z^pB5Zyz9PrAI}w)<*aNlGlJ{xo03n??Vi|9e_6a1Vk7L&2)+7m19I +0Thh_Z-r`n;E2~?Es*)Va1N6u$w1SQPTA~TV#4tm +D6u1-|O6b_w90&ap-D9*6479w-NVaRNrCkRfAxMuygNZn<86pg<7*6AZJ;f;+YnFDQG6F_+b#CJ|FT-`@z6vS+|C{o +z_D)X^x-XjIrb*5^_~ZOv7`qEp@;CQ1H%dhKzjSymp`e1--^E_w1KB%EAcG>S=-EEPYW{k=!5r{r=J6 +!Qt1f<`;Yg-3)BY@QuGmcfJ2<&8CXxFLNd9=sfZyMmDF`Hd$Z%HUKR3sE#>N0n*S&ld +mE2g3`33ygTHOBbPrz +4-EE-k$z`E4j7y{3O-N?3M*B!ZPc;|M;bNcvq4DZIGi@+^3?EfXuqM^S(230Q%5OS_6yojsYYV=LOPf +30q9_gZ*mCZ-N~WNHA6p2W%}jw~eGwpXWICKcgmQS82hW)Fo)VP7Mhbux?SKlRnR&W%Ht-HTl;7wWl%9CS`r~q +MbH?Nr!(Q8Hz4x@NW;3aEF`u!uS>uajJtO6xUD%Pm3{!&U&}>pPV{}0|0DMksP-I;5)j}h5T9g5rJ!l +VqC)3x!idgWZ#Pr@lu&vvuS{2osO5O5J^ZXQ3XH!j$PiE{O +)16Ho$|3XdpgW-l10XV22RCp>m5HBf2HJaxf8{k!)G)ocaKUZYgy$T3ozI%iet+VOdsTKGt&g4*C&=d +hPISFG=ZNvQv+e>*^s1ZEVMMGc8hsoK5|pi{COD884LK4`3s>4pySRnr8OUehU6lD+A&Ga7o9C3 +9t>ergWD=uprW+5x)2=cX9ApTb_EilNOQ)wEW&_}xUO%VPC8bdp)ZOg(n5N*fAZ{`=~4R(njhb%pGEJ +-@bBR9@8xb=B%!}T_~YsJ=#TrOzn?|oOFSN(J(dp#fBk)kQgM7BAi1r3j_|~S$8TS~+CTcCqt)@xJHy +HL(?5KY7`D47H$U^YUr!IGNBbwQ5loo!Ln?#lQ9VGOHjg~zu=Wq1W8oj-Z>K*TtDTzo36aCWnu-j2G? +bZht;e<4CDv*m7gr1oe@^>*mE%sXM@e3AW0n4z1W +@;y8?T3_#v%yF`3o<{SzL^5jhtGb{X!EmLaX*{Xh`^b+nL_1ml!tA_ +;J0^!5~pj{F)MB|u!u?5$Zj0}aCox+F8*%+@4OlEo1z{}DQsq8SXzRcK_^nxD%b;&(RV*y(_4izDiSvmU>G_}VA2RvzXk!*xVT_ +ggqMSrIjTAYkNyB0RMDCj!2ENrsr!%6oRY>fuS#<$XGx0j6pa#@E3&kY+4h^-A>4cvxV2XzAuAGcPS~8Lz9Z<3Y>`gE!DR)gb8ble +cwIuGj?;UWsxhZ1xJoM`YY{XA&0BA!S?c*MEBco1H9ax*9{z+Gd>g8-k5n?)7pYfdtffx!ji5S8k;;Y +-F=z_wtAxhfAlw86X_6&2ET$9RA9)!>NWxYUStDSyueznNdwu^n|DI4`ZNrN&sdaCjEY=WdsipuQ7j7%*nIqR$QMaCVKLSu>;DuMIs>e>chhnD3 +g0xA5xEy43^G+wXi;tBqq0x)geZ^{<0KFqJXO#}P@fAS;Fs8u>=*1^hJZBe66JBz~NT6!!gb$y^*fd{QArhMEGe7qu&D!&w9AeXDL||NFV5WYV34GV+9nlTH5X +Evz=BdXAy7IhltFrt9#9~ze%hR)kf_7bZFRpV3n7Yy%h8ahBhS)4%1ZgZxiWAXlm*qzoWAjD}JoFXrrD2*^O3?GBI0};N8JD(3;u)ZLDo)B8^GCK&#y+Hc+Tn=#R11%}hH`$U +{F(-X5c*YDFlJc*qsSw1{R&3hkhN#ug40cl9t69U3$5&Ma*Z@ojexE4J9B9D%kF?oKf?V;+W=A(A;Rm +=xPxX*##Vnt&DGtcVkw>~oM0ZWn&m^0-*5D|6P93bjioW}-60Eg=}~{oLeoH9O&sxhB;UN|Yj5v`q98 +LkjlhIe%L!*L-wV$t;tL<>38d@>|KMVU&%8%O!`(;qE^0N*EA*hp^!WKv59BAl(5BPq#Q{bch(g`$R4N^>7+V1W(-RQLPtgI2~;D-#s2O9p6@Qw +sI33`e4T$)grRaN*lp8uy7d!rBiixPZP`BD~89w@lx(#pPGuDC>R>?en_lzp*zpVv~T^k7t!&1E7MHc +rzWaxGt245Jx#5L^u}OOan?-x2pWIFfJ${zIRh4w;w5K$XW4Cl+4J7S4PS>=UT)`Xt+VyKy6?@13CeJ +yohs=+_QQ5nMbEtYULG^PI#y^PYh4g$l90dl?z0m+XYr?x~6o9n4d42=bDnaXD-50J{CpX90+1J|E^dQkIC@ +8?#B-ZC28ZX +`bk*&PrO95>xA2OwzvFngc8J>e&@btpVCzfp*=BN_GS#i|e2jyu61SLY1$bS9};x3yM|)ey7)3qF>+g +XI#A)_feb16dm@2_@9PhYqv7hw@&S*wsfEn+q}Nj?ePquC{jjooQkV-tW+US8dVh5m$_XrNJ`h&1L?P^bxCB$?dTmih%JKjMDG?!ymiy?Ux%Yz6CV9HA=!@p#8;<$T$CpwszkrPw +17enOu=A)nwEK7&U06ICB{21=oFvU3t0L$1HV +U)H{D>0fZAiDK1@-73&YV953s#dk*7WO5En^h*}(doE_e3!1<;|I0MTMK9CCIC~*Q0{=HlZgt$@5bIiT}2>CUzvd*HHI}+Cb?MnFoAiZeaH>&0*Pa_P@?%Z=*vwl4j2i>w)~%i$c{cVB#@mOxn(Yrd(PQ~;F#U9s*sVQ@Z5ofkL;{m90vC=0TZgeLOk&_35wBz|`~|y}QogzI$he50QF!y>~T&tR6GN;XHpNHD(vzU$AwN%6 +vO#2erBQGd>xOM`QN7D36ug?i7n&PuUNb&tF`?e}7{CmN`GNYknik7|7nswa9CcGF33O6YR&M+7&swE +;j0(SAxAQ4tdIzglBLeD#l^FTvc*)PzBs=Do*^+-^A)cF`lRF^~VpNKfQbP<@3i+ +*Z2_VMw_bGvn1IZ)S(hd!sNazDh2W-OhqJ_RHEWpJsO!8D_M)RvUjquS6Q*$!p!Y$QQNEXc6(4Vv$yp +wxH~#Jbu5Lu`6f$!HPQ;kR*G)6@KPv;}#OT`9EFLSAqB&tQWnK9Jx3gsFS{K*YHX0oOcn-_ZQFYqddsJIiXhFHkA7(V>2kSTD~2 +T?PKmmlJXIje<>sWHUg?=Ry(6b*6(u8Yw^@l7G~D70NPo#7bKq%w25pm&q$)CsB&VD%`NGw{INrm>qU +iUK=Y6UaKL70-k*ft9Tt<=NrcvuE!5T}>IHJwe=T11W&dwqS|eN%`Bz@yttJ@x6O9XP<$3PEMMCwHkk +AD}grDQ53hCQ6bS^p`ZQuxy`m57v`oiOFg9z)6;rk1aJ4Pgw3Id!HHeKpHUY~+Iu5QtdI8E ++((#kdJtnQw~7&DqZ=EuufCfZ>oS5RCHO833j7eG$Gip@V-qBS*dpMyk!HmrT=E0z$I}^nlfmLz&4hO1{43Tj5pY`mo-ieK><+#6b +_JT#(F=MY1Mo7(#hb?Rl0RO#x7nTI1@-4mD_xumbwrL9q&a4iDf3C*F1ic}uhW3QbkQsC%A+E_LAOIG +7296~ZAdb28FffGwhlnO86wKv8K88tft5$4F +$tN3JX_t#;(*iP3h#C3ps-xr8-Y#ffk0+T?gz@D2|F)Fs08}6(W?Eug^k?Y(UA$}V0-S{tXT0(XOdq& +UH9r%Pm7L1+|x-CUEXbHdQ3q|w6<~s^Y&;Tky^`d;!L3pX&2bppzBMsR!|ZGI3pkjRkne5t}$Bl9p!b +Bg=NXcmZdTEh7cA;3c_|Jn)Y8ec{noh0TgkWaRn^<7^*;}YAmR#e;&i50vQ|tQ1 +Y+^0=NrL59Bt{Uxm@I*P&;bB+WLZMN#|zDN&Qr_$=DAV*(>FSCN{G7R?R3gECNg0YfBze^GrnNWPl*+ +SU1z4yqWghVM51lNu7JiR&8s!7!jNH$?$hky!@5wUKtjUcQ;z8LGvq}6!F0JUKe!Nz~MoYTq%ix_o^3 +Kkr=Xv6NS!EkO@7qHs!1Y{CQo>eHJWD=!cOk{1LVic$`(`i4QYdQ6<5<7K_2I(riL+A&i9hhGMSG32F#pbSw?SH^D +PdZb#zdf;3BPY!)myT4>Vurq|j}dD4R0#*t7^s@0?w8%@LP6&B#+j;J2EY)0Q;^+}`FV6Ks#RNTZfFc +5t(a7$p=;d-SKyvwrUUZl~c6IwK4v|+!w!paM6gHk1#(4HB@=D<=w9Bpm!{^JnM}o2nr&W&E8e +)Lc3qO(FYAh0}WH*57rflzepUS>o08slAwj^?zX6O$HxDcU8~yP8XS}c!C-|A^Wbs=+0L-H{gHzSBBT +-V4oiQ0x;i3AjDyerm1PS-hqq@SY3E#YdHhY5gstmvO?wt%r7hQvMxAX}!|3>U1#`M{si~oBY@UX|)$ +Czq0J*N%bM{*XSCOG?1daj!{di<)A?kdh0Hc9$&IrrG!WIxN;x)Imj~ZfyJr)O83?c*6N9Ol;aQu$f1 +dTln5g(Jt$+QjXG=#v>!a3=OC-I=q>QsyqxNK^p22l$$?`3ErwD|*$i&N7O$w>Sq_&o$&Cjg)a92PBC +&6mCzQo=ModSSzHadL_?x?;3<GgGF!+f>KPAz1c3-vAyVM#1|fKGX5K}Gqn}43H`Os{Yj?< +A#DAPYTd#_5B2Tn{Os?3)U%L-!NeSpW8+8n4zIYgB!NoaDa^zc#h*~Ba66Eu@jkSOW@wJ(3Cf-x&U3! +}zZ<|x9US8zVGy`0z$Y^w;u5XZpC@KPnH2?V)=24Bnog+3i*LjYJ^8ou6&&b +Hs_kEQ1BTPORYl!Z7N35`q^`EEZyfpvT(mu(u#+Vj>R~E7pkaz1x!axWi#xY3kjXr>}mx`|=JM_kIY# +p^kOFIf^F#(MuMb&X&HI2wdp~J-MnhzX|n%AOaV-?5HQT`>8hcGju=k*0wRmT@g9Jb6#j!+w8ET+q_UJfUqbkdxgJTa +3IgzH0Vb7bMp*3B1tw1Z)ei+evT`Zbwtxvje0z4I{yZc!Jc4cm4Z*nhWX>)XJX<{#PV{&P5baO6nd96F` +a@#nP|Me7zye^UxiHeh%xmnjJvrb~yYS*z{u``>!B&VW8NMcNpTmrPL)Yd)9-Fw{Mdy;#T>u!J~KvJ? +ZJIs`aB7sJuzq`>qV8ic*Y@UWuvOH#mTnvB0C%uE-0ehWh+dNvXBy(ST?D?~!7en~-1N${ff-SoazC@ +W1!_K2QPXrH{OqpD9cD0qOG-222LT-Ybv$M2F!azpw3~qSN0$4ARc{D3z3cr>)=WCuwgmuk1JD04y7Ok^1m+aM6axuB=>7Q}BT*7|JpQ$MCa$epEnHO_e{ +o0D2g6YrGbrwigzW`hp(Q?2-F8N$ed7_9lVE-OvXHm@cyqt@)$md*?Qx_3#R=+J|6qhetoOPM;Jb>*F +*pdU#dwc`1WxgFCb?!L)1Uy!Q9&2A}3ZEA;n8kd+qGWoDcgE+%KE*EcZ1ah%@Izud2525Spo*0_J0%`i&BFl!RA36gJ#1IB-SFz1!z~ +4aJGr$3ZB6bkX?{{WKr*I^6vU(dOo>0oxVE-naVk-6CmZzoc}m@;(wPB$Ue!>{&( +Ile{j6s_3L+&tDEV~>D#OGlN$m67#{4fP;He4B_?eKR@}Pf{6G4bZ21B@hTwvK9cUCyC{;mCtT0#p_cV}A +zy%A{i8@FH}u%8Z#{(vpy|NBC}H)hOoQjoT*E4YbJP_~>SG_alFTnir`(T~H +piv?6(JV?vFog9-VU#N#i!1<{qc>lOd3^&wlz`v`Awuq303JC%1x)iz1h{QhDVWmo4Q#x|A4D|Br9fz +|W3A$N$Ci17X9H$X6qsj%0Zo@K5OlzfJZoM}XLB<8o+Op#GYge|b9q9+T--Sn3@wqv4w>6Tu10}_G9N +b)!j*sf!sV*LM-#T+6M21w0w9)Pebbrg)WUb)}u8 +IA(uRc&2ld>$>dsTaPrf|@gx95eypj#=8f7pX8#9*B +D+a3x8m?J?5J^R%>PG>U;N9>meY$BDVLJKBfFvO3@U%@2<+s)Z5LKY_M>hgN>!Efvm5T-$6=BC0YiA5 +uxr6Rg_JmkFf{7Y~bIH=8Cq165hz)YL)ZDj6(JPII8K!S7Wy66g=5B}dBuQ70{_y*(j4WMZTg05z>*K +5p+#59pG&D>HV9olBEfoyxv_7-4X6Mq$5fw)3sGbX2HJ~AX4);s74=6ogWbHIeKn)T_6AY5IY45VFc+t>B0wFr6_nf +!85Dpa*M`rU?P6{Q!4SSactXLRw|6;6S=!!+Tz{JJ#AFJ3kww-XY!Gsh0hfZ%eeRLG9z1axjG6NcGN{ +Yz(>%xIX>v(79sW>dLOx`m33w*gISZm#<*0}jI~0yZ($;*9kTP60V;0fw +x_&&2P0MMj!K+DkjIsAmKbzart?a6!$1?;Jt+3f};aq6uMsf<$_-LF*q;(nn0j>UgbcdTy9-Qn-oWJg +O+mk@~;tZRD6r=h%Qby;O#x1Ct;}-v^@-|yMmho_8w!z9I`czAuBgY0{{IDa_w{@b}?}WR{E_SQ-WaF +aZ_ypXGIi;Q|;_K%pN!h304!dFEjRF>dPyHfO@B3kaqcOqOvOyQ6NsCx?68*fR^5#Qo-A-qWP+n37Mu +K^)LiOpHhic`0YV_#u12G0&P+etE3n1D{zE`TE}OXWo$m6$wVNr(vhIGZ&LQMsB_0_KU?Cg(1d6Vwxb +pyyMxLI9*^+|m(s-{oqJMLHBez?4X=ol@xoXVs~hZQ6(qM58vZ%R1EB3inup7r)4mv{r%{p>(ywJ7D@ +>r%=`mYLnH`Tto6W|Ll3@|A{g99T6ViFggGcDu(?X2&CPoJ_PnL4kA^iwQ0HoE@U#DLq2s-^VUyk(sa +E@i2AReLLAIT^it%LchQ#{a1YA61r3OH;;hn%_;aC4)#kWH+)06yeJm% +$hIANfvMUw7L*#c{3$&#MIIi#Xqi023z7{91CXht!-%Yd`)O;@AC8_k>_~HeJEtB!|F`{wbKMyxeW*E +Bg6%ybRCF85{XFhK!ZSiSB!z{*al;acBE}$ZMm&0II_jsUU4dUS=TqYB;kX4$YpprM81obc^&Q8-)g0 +D;XkFI-!?Qm8`BQ%{JS-*FGOdlQ8qo+R8>Y0XtQrfCXBbiI*s+=P=%li#1*NO)Dw@zVGrVhzY}6A<_! +I`vvjebzq5uu0;@1W=oXy||g4BGKJYtPlCV`t?rZ8++73KrCLPCuNQxe&?gzkqNHrQIvPnq0h@yzAITg}K7r-3{W`(|6aC +%ZrCdu@?@{O(Bf$qhybfZl>`^>}?nlQnY{*_;zI}UoadY~ +HUB16DCUvqs0Z0g=Grfa_{8tzTaF*y5u@03|QjOtFFoUhJ6+|sFjvAV-v8s=ua{-Aa1OsL@6BL`XgQM +r)`|Ko!jTXxlLmV)QsL)3pU-ASNh~q8oZU})EPeddk_!$`RAgbBo@Whc2a%=+N2|KGxt^ +sl1zyJ9!=2mfCV1PS6xtUzB*C$t#o0D^PetL6r`i@=y`Q+Udy9T1Ze|mKK$5T&5gNkI7?)>k6?}c~$_ +T;I~rF`3 +%-e!b1_*NPl>sJdw((l{mOTWMbQtiiPL}$6K!JQIFvnu+VS@bwIJ(5*U_eA1g7l{yxit`lMI@9o4g|Rc%^NGf3(jmCFxzuOUW18u!Ed0T!(!7ilYz;)`?fP8Pcf60!K7SKPJeRg$=@ +71L&H$^}Y89zTgOn*p*3~dNVXp}@L$^`~bNCZSxaG)B3RdeM(tLv(XsEd6hhCE+ivg>ctI0pZmLPRnr +bhtx48%Y|s}rr#`rD^ojbn*wCfZrSGqo%IW2bK|6F{wCRl!rw^E$00x+^`P3CKjdG1u5PZm0xhz4*pF +jHC3fWQ^2QNvs^WHzz_%qre7EB<-aa`k}4S +MR*fJ&Y}XbgdzG(IHVp$AAkMS~rhRv4+ZyOJxKi!)sllKUST&K(-LVP?F%Jo^jWwh$>O`-R%iE{BN;6 +uG4we8t%5XyE^}c@R911!b0E3_(wgz|lHR6DA`l>iRoka=c5c +I6v#Xe@^rJdg?{SOk$?zIk>K4!voD4#Pk8OW+Im7$Kx88H`_(LS=lYxn6D?Z5^KTUVjL4%gVY9E?rC) +yEuM6vw5axzpY;Ug5%EKsjR{7w}S5Y?2jz9|owSsqmS@G_vzmJsQrCAs9SpkeYK^9RuKxfY;<5W)Y2$ngIW7bX$s7PZ{xO3#=q#UmdJ8~G3RYVBmb5P$Y93)fg;kQKS?))@+~-EuMHzYdcxs!3wZEvtIc)#2qd +DCIZG>$*YX4?-kI8+lN4pBF;2F^cTYV@BK#m;~Q+y8``S`izGx1HEI2xX#kBlAAQ}V<3yiIHyUmUYDW +^C3Z%%c)L*eXZVG^%RB6)2SpS&)omMx`-35z*SCG6c)sDrkutCGehRm%zwFRk6=<3!-%Q2LOGU3?aQf{ +|2eKzs!NI})sGYaJn1#^pRDAOV21>CDr5!TpsG`&bB^6|!{87(W#`rvr^J-wv_;f_ +f>3L#xmfNCuDwY{MOJ?m!+E%;!ap<%|XA;Ve)e3T&vHsA`>dNmAjvry#f>Q_Pc!MovC!*8_Eb*P}Aki +U+!rvTd=c1l7U<9m^gSq2lV4imPL`p!PKU;kLX4u3ry+T$s`f6%NHQG9OQBAaht}a;stmSLhf5WZ@yp +LNrjPkn1%FCzXs`Z@@Z*i0IM~B)ryvoMRt_^-YIQPu+T#RZr#2`ILXcmP%?*@LI&7i5)())OqUwzr1X +pNg(`Xo)(#VL~Xw4^_z;RAhvq%Iud`1;zTQ9H?^1y7==_#O>V+}Advd~gQ#*uTVSs%)s|7DF28l3wcqRumpXe&IwRp()eDTa@muwn_S +fNYt9PBrk2R}3$?R~h9MaB&p~G)~OgK}=+&Px-6C4~dd+q6s5|Q74FS=R^emqCFlBxsq7V;MRHcmZ@Hva!8`n- +)))9i?MU~Dm2gLm=3}cks;F}tC1FRmF@53c&x3d_qOTC$U#T|UpNpDb=y0B6^QMvcf9 +;28Df_l+YvMnYibBdc^u8AbsL~OAD_FO4g>9G3815;QBaGb^I +n~~W917V)hiwf)mfo1HnWjkhP;VdM-4{Qfl?BGXc!=%M8H$4 +r^z2Z+6Avr(xAey3s;%oCSHXwgDci^KyHQs{2JZ8V6`7BK#V{>R{-;DEYM^G8g!r*6aYK-MU)0{PrzQ6@s4MBvM%rVJCDL3HR7Ulh&CfHE#pk5U55%H96sH1Dp~8gcC>j3E%> +&v!;^Dm8uGqEd|mzpEkK#`5=(<8XY@01=x!+)X3h+PgrTFEgE$mx+kDgP|RA@?kZ +KQ0#kn2QVzA1V!AG38D(*&cI+;GnS{Jil2fw7hCuF3eI{&vD+y|_9_&>lVY0aE+sWT54TEoy2Ku@6aWAK2mq6SR>|2D?NFpL@gRFz@&Gul5V^S}S=fxoP2uVpc>q`iCfe#7E-ufEUs$hy +3>4c~pZ;lc0ZJ@nwCkA9cW`_}5b2I0}XM;^^9yQeDeJKtTkdQN6$dcI!9*54gn-_iNYnTfyUKfi6}5q +N%3nKm;64xLJ9vh7-8A!E3cGXWk7>MBho7%MZ>P_DA9=`!hJOq{hhM#shv&o-dV{d9=Fu>D(5g8Ns~+SZgmIm%_k9lh{b@8D)a#t +1fiZ_~!Hfp2OxAEETxd?ix`u}!O#2FbX6}V&?$_X)a~f8!`7Qu{mZjl~Be~L9vl#1Xs{ybE|?i7#QqVRi6qx!iV(YCJzHyiifkc1h;QNdI>}P9K?m3ZgL<46R +m!On#1%s8M$)M{x10rOsyjkttRt7t7%|#O~3RcY8t?rHeyXoqNYPR-%yh&QIlNBdhKeke9+Auw1noAF +z%(K*+z2&Lj0sxF-lHzu!2#J2P+J+i!BHT%L)gT_vPryS}Z|4JKN*+{S@j9x(4m4?*RuCA~g<5jXmTM +sK$Q85#^o@`(6NurDU3_s(zza6$Z(IWeO7YC9nnUU)EEcII07BkfPH2 +IQhOD7Kbv8y^52!s2VshsJ!C~D!$_`P8R~)gI#BcVDjw +9T@BpTSUh-%*zV$*CC!tw#k3Hn*=bj7s-hggM!dW+|#%R~s0#~o!0@c<4@bkm<5??wZakgA}##GtuXR +fOxssR5FiXStieBGvXN_sKe{9yi)Ue +#VVW|CLrCEo;v>hLPjY+~}kbE$FwGDO!VN(^Ms^Ubel8CDuE}@TnD!$ht2TljQ2bLZ(fDjIN%Vm32q7 +akYB>`Kn-q^KS{$PMey^KuCg6 +N!ks}^-2J8vAdwQ3yb(pZM;0k$BcRtq>arV+__pezgw`ZZd9ARhzfww<3EfMC{U>y +q41nIeqgfoC34jUsmUV#JOHKxw)32QR4Gw$@3Nfn7>aw>4wBrq!-8{YR+Fqv%Lb@pv((eqK|x}CGs@! +Ct6~!mbiwzrX_BpiQm%_4ZaV@Ihkl#{t8^f)toY@3xIPm$85LP3*_eYsysAG&9On6BPtYYDE7XJL%B5 +gY(9a$-MiEcWMRW1^0A1P{B8yZn$OSm?M50Pzqo`XYQq@0EI+?$Ck}_2lLycc2k2dl-Bh)3uGS2jTYH +^_h%#HT-G?q=yCK@9@w%fheoJAP5RPUiJl08|Aup?-wqz%LAzv%p)qeM~(J(KInWouBAu-DLY1jn +V}x01s-w!UvEcQ?6yjc2*vUy$kJ!7r)gv7t16MvN(SOA>eaWKDQMa-7V0T;1jvrzEtsWE>Dn^Zv1HrQpd~BjApVy1GGjcyaf!mjY2^Vd80yM~2Uz8$zt|xTs2|Q~L)k`Um>LoV< +omKUB`Hn(OlT<&mtod`CZotjlqVCU}k6sF+3r^?UzVwZ7V&80lf +9L +C$E3Jsc9y7eN0fio9rNp2`9cmQAIXwYq}msv4ntPdO!E)*O(7MFWu+Uj5hq}XW6aYzXti%Wq{Bne7AU +r&`gWJ;~H#9W$kN-NRSVG3eSzcI+)#Ck{>HabaIy%b-EFMupWX;`IHs_wxyczv@tAZ1S#xhV~?QCLN; +fo30#{RU9($i&$s7|%yy*IfmImDOjn0aBe)fi_jC@r*qLT+Zr?81hGepOXhcq^pU@Dis3+7TEPTaxEnK$Ja@PG($g9Nk2j{AQRAHV0o{XtE~!K?|7RZ3nRhpV{v$U>WgeVu!svflHD&B>ml +Aj97Pk-)X)<=u?y=L4D$mFpoBuy;M$;_N0zCSlDfiOwz+R}V5Cl-HnkTIy_sM%LaZDfFmsu#;X~sm5;trV^4FP9uu%3F0TsE%dsJ1}E^q +EMeOiB($2uN~2AaYCWWdvxn22}nN5Mr}~l|7_TMS;FY+?dS>B?X^w`^*k8Ueb^$#_!(%(>ssb*8^<12 +Um26&cNst8XbZ~QLVJ`W%VE=++OeK;Umg?Bxr7*$xUv!jbR|G_MQs-|29g`+FA?&Ny;sI5-#&4}Fvb-`M2qUwKY=bgzIsY}x)Jo_YOzU#`K=DAyt| +H$>0CMvLM1YmSDY?8hvY*K-VIoJ59^Dc0;BuZ_2Sudr$L%R4#nIlFD!1>%6u%h+Cnq*)=Zod22MAOBW +{)%v(@1nwg2g{^SzW|_{8cPkvFyNT$!ZkCdEy~+^Tj6MV4J@157hyL4IsSop>W(Hn*&WC(8`y@&!>ey +Pm#?)K`PHW+Ice+X_Rh)>~}O@TniaCy|>aHs*8|^N*Si9coU+Kw~!m*q0Ym)hz;2G2wq3K=;&#f-aPa +G)V*P%{9Zvv_@YG&+m@0YWen52#L58Ut5MR$_B>Fme1PB)TuzKQfjaan;F+*+ +359JJ?-aKp4>T48SU16Fm5suqNyqqLxVOKEm3@0t;LD_Jb^Vs_&=Jr8Zkh#dtzz*+?y=U(}~eA +a%dZAHGd{}67#^5fgm#Y2Xh-{BiXV&HGqVude6Vs04gl?TFqWlf*p!)E$KnY0oFLOv^z!wETrzb}sc`#W!{LqnTQ7sYd`{e2w3PZ@)uneUeG8U*MWH!J*vaLfilD+G;7$I9Rx>hehNj-i$KdztTlmyVQOLB2cXb)1J)wQ+o6rMenIvDv6=;rcMig@osDu??x3r2HYEPiAC +iHV9DH$?YJj@snU(5-;N1y@+!+oL4VVNu(%O_?tZx`wL*Es>-i=-b4)!bjP3KAa{U9B2~s6?*Pj{ZV_ +d!$7y*X2Uoz@e?hpYl3h23R!TmBSpW1`E$|Y@JDW@W-S*?l`p=1RW5cb%vNX0B6}=7P$aXCFup`1xjx +tAq`zmAHB!+4vM5RR;#D^GSft$%)z?3sdYffUODo@gGEyZSf)wS8Aw-gyzaI^ +k6h4|i!4gW9%g+1Ms=Uu+GJHwK5#!PD4UHoK(16f2y4qku`!$Bvq5mUiu^b`$()ODyC+2T8d=B%)^7y +~!G65IzsQxn{%UbR<*ikI&><@-H3h4W4-W%u*u(vIV|IVJ)e1u@HTKA#@T^>(E4g}=)TpZ$^=y!$TW~ +8{2ja_Mkp*-XbFF{J)ndTW)nJt4j>bXm2d_hfSG@%lT_H|ZEM}PNHk%C#4UO@FPk^ys*ElFQ_QV1J<* +4m#SRpp{GW@hxabd9^cl>dEnjG#IdgZW^Dn~F7DLABL&~?YrwZSMy9In9)%K_Wa4-pnG?#Aal5SLEa5qL)Yo-*c-U^G+I?2#{`FmC08w` +g_G;YA+D!Gt7A_i)Dml+94!F0-7nZ;En19CISVqJ8)Z26IMl@?;Y^WW<8Leyvia+agk0eUS~`a!85aK +9-CE)Aj!h2a+Oas0qm`wk*uvVuzC~82@Lew{yGuv;Br!e&B3 +Nhmk_8yVr_;iprkJeH;j*PzUfl@7TVF~37U4Psoq(X(GF@i6r-i#yOy-~lxSs+#^PBi=@~bh)7Tt+0s +yw3>)t(V%c*zW8G(9Np!u+;+N!Hy|-1U0MOF7>t?p_$9i@O^yCK0uCKc2$X7r9sg1o$Jc)*H0fbs$l> +K#)9p189u<%q7Yclx+Qmpo?|mCiq%SC^lV6ztx6lJQ9J`)=D>lDp{D +%Q)HIT>d-LYLliLf6oc~K7%z%WbGUsAAzMALg0XV6-f?K;hC>f%%nU??Az}>bfFIV2MT}HA$S(kn$nB +dC3JB)R;r88xncD&O5WpJs%(pQDX2wjy35D+W7~mbc0Nl|vSP<^-niQJh8eCbIWQf)(U{A1`ItGAbEW +=IT#c3q78gS_Gk{c^aK+zgE);0Lzyn!fhSE!STYPjE7kQTd>F+n+YK~RlbLny +9)j&)%NxsGC^NXB1vUaQW8I#7XB=yuk2=X6VTc*N9Q`5+|zVhx?m{1!*R0V0_4G&FHDjnu`VdT<@m<0 +NG+FWXY2>?1C(pvT3(^Gn*nR=)z!VRm#DlSmxXvi*mNj7V1b%~lec4?pn}RKT5BQH`ncbStRhavYn=f +GCFIGAU}a)W9ZFi${B*&jx>zR&IOqEpS@Eb(abgb2A3wcMXI_t6P^X(uMMc;R&rptEKPfyh18$g2h@+c8opeQYu +`60#YeLAxw5z~IakE9c~xHfDL=>&HNnO+Qf>G7my2q%fd&l2RlS(0(ZCy2GqNGMI|lg4Afn`wKV>Gt8 +g;N|;U(%ii|34zKqR5N8Cs#9VW4 +HCJ_YD`NoCT}2ufpx}d?W;&*)()2{)1Ia`SECPxRIoz3gsciEQw>=~hW8JW-1Zyu~bLw#0!&ch%+6b) +F*g@6{vWN{-CtHzV6~@BkMd1e~c`8*61snO)nxs7$OE_jl;cT+j9ml}>>*e{SRUY5WCMQFlp}J5mFh} +7|vJ0!4KV7ILKZlSsU%5}t_3D7WA>1v*ZDDEg<{^ZiAT|Qezlt>IxvnKX%$2K51yY-0KT46soW}LdC2=9w;4cEUu|P*Jmj8vK +o8~CnwHSxtk^vWFv|E{27c@=me2Y%61$KZEziY?pjGT4J*9M|e`P6disR04T;-k%2TRmCx{mEeqW^Qo +6-2)wBRNbHwVo-r%Q!fEx;SLuE#i<-_!D-@a9*DU9=(^-^u3&~&jmbWrE|e~et0evHNaLU&snSoSX=twxS3v)tq-7<5F}Pn1 +*Y#RVISg)v?{f+BC#C1f5>Y&Xj(P}Fgh|6pKJf@K?xN-viwy*)Tg)6z77hHm`Pjbl +o~e_)d}dsvNzGoflHpGk`VL=`~Bh=&ySBxsl{P)GA|6bzLUGU`2TJtL_0ED)rTw~&Q5Q1y`fpdhiG@{ +?J}5utI}KHC^*-1qS?s;_9?3qa>WhR5SKfZD$iq@Mki_oIkp!3!e11&QaD9Sb1bydPum!jJI9s~J>`Y +R!ch;k3A)hiBIM59~*Zb`uD~JeDfYkXgBOKCu4D1Qo*?^6pGM!bTR;i0aiyo`Xc4O{Wm+pG2MkEwe_= +;h`lve}-Eb|F#My+8LZ^A3mf*vE^dv6a+*|m+P###fU_0wyPC+Z(*Q0uo?#Gv55j+V9WHNlNMQLP>p< +O$kfYGx*mHR9uhR3VStjT}{6>&5GJEkirw4zhoW}d-NAhL_uId~&J%{!SwJWgkKS}{J*J*cWtO9iAE;J+Q1xN{IN7`61kZH^O6Z*{y4xTHx +**GrRvJ7FK{clp2fztM08*b@g~(;poEAJqedC-Hf=zfvUW@=B)&b082;;-DwF7pynzIQW!&>%^Tt^9G +KVF3*0|piso8QLUi!)EwABKr@#@eWwHTn#-Ef$s9_6^=GBAhn +=sU_Ud*rDL}O>BRSza&rs;XcG{1w}bqcqiD*j!(*?vSZW^^Uh3@&h*>d8F}*YW}$wdAeT#-(T>ANQL) +zQZu+@l>RC5ZB#q2i^STf^XwQ!j0FUd3RARza019P= +u=ZHKJW836@_LuLvbsIwa~fT)JR`@U0m?)E` +D8pYHaU}SDw}@?O8XMu3!GjQWYzXaw^9X`#tGw~0&@9pP>{A0J$bh>DG7-Cwp!K&yP*bYB?|Q8n;)hd +yr9%cD_Lopv~sd|k4;T1KN(2TQ6j=rjK~x%;tk1_98{Q{*}!9Ufl_0DBQ`bVT3Ce#R6ezeEO-F-6<$J +q#rPKo17{%Mht*cN4JIySV;W})1`020{F-tnDbNkCQt&kXKG%i6+fU%{o=*Hda1_t4w>}rAkKkGQ*xo +@Ofy4CiQiwkO^9^|X?CC(yWn|#yV5M0K;;DC()`!ef3J^@Yb5IJN!2nQ75ZfhJ+8~Cun-R0zkzi2y=u>Kyr3Ye$IZzOL~f!yjD#YpRP@qJ!4Jpp-EyE0^|R +lBd;M*44P&QW{FjsHkg+ZsxajQxni{O&dw3w~UQc=3jYbHR%L5igF}kmb)@1_Ne(_u1(MAV=bWz}Ul@)wovr7o3N@_i~^_K-K=DHYaf`}T={zHLQLW|cY +*FE`0$`8H`yzAXrU1>IF1FQu8AT!Z$v+|p_Snl&&{odP9SJm~6KwG;D2_+Nf`<&)_jT6J*2djxxH7 +GBKrHn|GXT^aber51ZnE%V=#ZP7j%bo=NwFgDyI0&ZM@<#-#f=Ug6&_?H$MY1a{ccHTOUQ?sW@cDAe= +q5ikpibTKAo9;X1MSr>L>;c|LrS4^|_?!~I-Nu7>sbUNr~f#ltL+ +FvO5&4fG(VXqlBC>(h|(f!slUtVPR}apa3vwCemPqg(aYPv}{wT){#IuZNs?KTIvEvT`l=KtM0{9Z~{ +Gu?a|)c+Kj*d>agPw!An$xB6c9(xtxLjwB5vuFsX_v#X?;I#m?P%UFP(ZJ!{owTeSSyaURZD_$Dn&5p +mXpA($BKDgo!HaP=YEIwgogrhzK_M#NDu6l-f6~`D~UV#^7_o}B+cE(+KKxPDrHTRd8Qy^wP!tr*fkA +)7|JBS5(S1tQ;)wNc2tqso{7V7)`6b8B>8TaFpSIXMiBQ(cWx4Wu4{bXENf&qqC8KXb3ov%twLB?te5VW{?AEw9OE?_H|$`PpR8kX}B^ +BsCik`T1PbR61Ad_h>ee>3;>VP@bcQDzF?GOW&RF{(wE?)K)-!_g`32LN6~b_o^QPk +H4=!&7`jj{?F(}Un`SXEO5Ge{nLF5Wr~+R7so}W!ekt$*sLF^i||ECl +Sv~L00=K$?(fMOwly^VdIhB9&(1Y`a#k(l^fM8fhj3nD0pnz%p*>a;o>EuwJ})y)avhnzezDw+u=Luq^?Vll;Ra_R~R$EkoU(w)NYgbZ*~~U>Vz~wLMmhz%OCXnA +lB;g0C4}aIaqQ7+NsJLd-&o?7gB$e2;y>YMqbY$$Q1Pk1rSFYxrEyM7Y5FY@$;Pgkm8UD_ponxXN^1j +|S4##w@mzO?1N+`$;mK7n5o6z*KJ$rqzp^jdO)uvE8g^Z%Srgg<0Zu4d!MI<|Tx|({LTeNnuuTEw|FZ +BV5ZI8u%{PGLr@bP +#2+*4*;Zfmck(BT@Ac`9JV+$f&;1l4gVmL2KNem0pC|m2fQ=|jI1h=E<0o@Llw)aq)!>Pape+V&AIt0 +jxV`t&DpAuyuVl2?X4C4@0uHiHxRgahH>;(x+u;8ie79fK@3Y9m48n8;PrQeKapF+lt?i*0u#Ypj`vl +J(L@Fj4Hd&&mgX-jDVAw2~`8vEe(hL*aCYn9Gk4dvx3ZGI7*&zm}9r|^~`0W@EL_5)I=fL{Q5Xdkd^M +ABS_2&eDD+~jZkayX14poh>h9m7#6r{Ex+Mqs{^UDNXfW0$ZA0;B}!QxZF#RbK|)Tgigc6;XheS)=N{McAKJN;*DOZa*ax^Kj; +|LFAne0Jtwx+fns|6}^XJHf`6>Do6teXqtJHb< +I&4i%vY)vDbtFVy5~9g*gD^%P5a?W~Hh-&PDQFQuJAz{-J%_8Rk}r~VT+1Val|7o~)`b^jcBXdda5{!0L$6lj#1RYEiDO2v(j`v2DuPDW)JIp*3rXav&JMf +(qKp_2wZLr3^@-Y>QtBM3ySIH_b2P?^EgYl_|w(T&kTZREjCvJCmHVTKe$(R?_dT7w0p4su(f`P6>Z6 +py_xY8A}ik;A{e{@4|^f+px>Y7yKGA#+&^&C|SD<@GMYLb{Y9>e_lME3E!3}Ll2zV{Gd#ij8Tj@!GV!ed);>vORaYCIIxwD?B;xR&x;hbw0X2TG7 +IW59YBDZz^N^}l{sRNR;7hWnn1Y8u6KyPUhmM?Q1)i;l_(PrAo~GrU)_TN( +*FUjb~LU=)+Ee*K(tf}1^T&Be(nX@Ai8FD#J&wJC&r$np!?ESFl7(CLKlEB7n0$TQm@8*aet!@H#pur +h8rB)e&cj9&n|Q_?eI6_b|MS*HlX@k +mAq6Ulrwd95uVU6Oai^R-dC6Y|uTEUy_p~!x;z>Mr4OMlVsGqQgShGi8L-5#okqTS?Vubb?+7E9*#b; +x09vl$hq&DQXzwv2Fav+d=VUw)OzFQH}#<&z8EdlNIZWgA*;&U=LZ;FD9}^&mszScqF9^slT-s6LY|q +juN4KsuLjVOVcgb6$Wh(@TB0Tn^H%wYE^RK&K2UL5vt%Lc&QHuJveX3YnljH`I-wZnUc-6IbH4X%)mn>}8xRiDWNisv_^wiBqN +n42}fw(Q{%1+C_o#5pP>vSWREpz-KirPMKnB+iJmLl`(x`BcFp&c^Cx+wQfy8gej@5KcfNc>zm5G8X9 +4}fnt84;^F#rG%P=dzrmI)Og41}@6QtlCTvJ=TAVe-7F?RAWQvz2Y_Q^MUT|r5t4%SrGfau&{f73$Cf +=#{kjC+z815I(`X87x&!dtN-$C!GFIo%B@0K+Tf0ew!2gJ$x^T=<|wn%O#P5_ShGs)x$xD&d1kO2@$I +OCW{FT39o=;J4P)SO)!>2l3ONF{u#huqkSySWG?E%M0}8nOZCivT+6l<+B8I0F^@<*H#DfU~wL7#Y0t +_$??#nv#!N|Im;yHEO{ivT8MFHxx9#c93`Jmmie{;?QMb>`0K`0*G=-92ykH;x>@eJe;T;#=NPrD^7V +rd-A%)*}PF(!B%=GOIE4WvZqhNV{9Qyj*!;|(XJC85%5|>~RxAKG5s&J8+Zv3A41$T2xKACvna+HG +T<2et=wG_^K_dWY0mviB`ctG*Yp~Q7l;%P~ +_t(oe)k}q97*E9S63)rz$ww$My@FR+7n`P-osRJOJ}iDSuH$IR5GJWC4Wu12l7v)kj8H4L`sa2| +C6_d1%)p?f2s-8errTjamU4)E70;PqO2`A}UlM0fyG-&5wNjH@-FOa#10)Nl)%CvQEEyx0`- +-)B;wGu@;=y^HuSzb)nW28vSH9NB1-?K5)Pl3qzyS@Uvu$zi!DlDw2!2$WoG6uobhox|_kX>5m{TA{KAOO=4lJ|1$C +5)v%}qBMfw9(2X-Z@;t;8UIFx~C*>dPW~fb%$&D}jN4~r=@+CC<5?twyx>(fYo1cj11CIGL*`%k5PYj +~8P-;%RM{H^(D?kD0NyCCgLhSH$C2R&>R2Crtn}*2x|EyVc%c(nq1fB#|eiFAM@QQwf|8DVo(3W_g{3 +JFFBI=5Ah5O|v_iJxg!P_`D+3+?D<6g`~Cagf=PJZ&0Q2?G{fTx!ufVvmUBMXP)?Qi1*ke>``8OtD}Q +-1O=yxo9P*-gd*fczvLS-*+OUqRGO)FT+xslS~&f`wsz^4Sq;nQ*0Bq<~c8L+r5}X +4jiGzp_`LP+@c|IjGPLM$bd!w)&3NLidGKtW93EW;pk?J7NZoWQ4eXr*HL4PCRPs3G-9qtE_C$sv%J! +L;>W2DYv3dg`4YDc7BV%s2yVMxTLjn9oBh!`+z4Gs@7-)ezVjb{gPD>`4K}p}xO^>0Zku5No=glFy>^ +Yh3g@%hD*W2ta22+aACJ*lfI1H?(Zu#O9#W%f?B>jZ +tTH?z#q8AUcCWGEHMmo67qd}_kDn{T3t;GF|hs1}dVSi31;%13il~R;653xic*4_s-9ff%G1c4QkEhu +sHP&%-Y$tjc$>LPeC0nxbXuaHVFZMDR4g(=TR<=Rd5wDr9Z76xk(Wm1UPj4nWdykO +3A``VdV#WR-zI$SbmG9B^sS{YW!j66zR)2(DHbCHBhSNWu@k2OKVB>@qb6>dVsQlxpg~;z4xCxEh#fc +^q83_om6MSub?nrp5KhRQ`pn^4!YDn`X$b5bg+R(%U&7lW^Dw(S59hIZQiIVOt5KWYSZ!+Rjiq&v&ob +y5^N?JO^ymv!JN44kkJQeciCJBipy!{lNqR0EP0t@uTAqZoJbUm;T1Hn8sZ^e`hw4^poReBNh-b6WqJ +eAq0bL`}_fO?n(s~#v_^iAn+kVRNj*tV)HCXXxy?AlL26Me;zNy?z%^~~-Y7j9MWvl3W$Z$hw8&Sj0m +Y+IG1zod2$qQBw-s?96tJ!! +8E4C=J|mqFUW74TCd#~tnKI5`!HF#;QpnjJ$8=fvV?v7VK6{3IWS$Sl1ktDm7}2RRr^jmPtR%vb>U=w +lG{S#mL5X9qwDMV1y6z+2G#VP_Kr+g!F^q8+H%Xa%|a1xn_vc&UeOEQ2J}CDnEYPVqiuHO6C6tUKXmiVm2}jqNG&y1FbxaN)%C4ds?s*xw`l)ET^_pa&^&C<=Rf= +<*4h-Ccr^+$f?y_EuVZ_@#~hXJ}NfX0vV@bstA#t7F%X|Iv10XpzV4~c~ +wK*<2odAt}pfGc{0#DFXk#(J93*MARDv)Tl3BcJEp +}8fx1C!SWjPyFsG~ZDupvprYO623MiTgzNp2GQdqL5*n(5eONulJBByadfIWRG%3!Fztwv5UULP(Z;S +tK8%dEA)$Z!U5kK5P1-r<$+~ug?^P#cuC!ZU52=^$+%~HwmbvlTMHSyc>m>nz4QHw~mJ7{ChL!2qVYTWbf%TR7zs5gs+COLKXqDY2Ocs1j +=;hgWE*=X2m?-wF-w({!{8<9GII#MtYK&p6+edW!0n!&yaT7s!!dlgWK?&ZYQ-|n#aShh`YDk(Az*>Nwv0k2Hag>(g8O7g;RwWZ;1U}ayJ6*2&2-5PR><$m$AX>v3iw}d}SG0oMC>M^sFBD) +6LnAUPLy)PLoweV5y3RbYkd&TPMx9h)1~~doA=P+h(7Mlp-w@<3<5XaVlwI+$5MG$bPL&{A_5Cl8#_eJZ4i%#Q_ty) +rS^Tbj;P9)6@mo%H?%OB4|d?r!96~dmpl?Z3mI3)PPKOZINX^(BJxLKv%TH>;!^?oc+YZ{bj`&Uampqpyge0jL +U@*ja%g$A=ApFLyJZut65E2YM6M=@UUZM;wJrU9)2Al;siuoY!TD?4|Kp3~a@H#^EC8W<^K7r%Lw=D(4X +Rc@kTAyKAYV)9aZc>MjP_WmXy7cqqppOEV!aurL!BI1KEmt^lp)ZU@E%@`a-)ZAQmHJ+QzOP{czMeS) +nF=tU6w+^d`Llga#O17$fJ?kBEj6Bo&fHj7k= +_TzU*)q@FK$`#hWu*lz7RLu%w+~h7*NBUGix-y}tkrlG>6adEKMmU=1(`yh(PQCcpkr8wot?tHA)8k7*jKz3tUv8+^HA4p;D@Iv1VIF~lKXew`(qsn*ux#ZtbQ3SDeK;Ve-!SLCe;`XPLWsEj)ilzz$6c^qE9)zpBq;VfAlzWqzV6rJ0 +(n1B)&u{G;p?)SN!!;*x2-3-QYSO+5T?hrWo{0KKv<8&K +4Mh!KRMy(SZ=Yfhpgnt_vjB8Ap7B32>P-UezsKRUumvh#Sa#q$TS-M`Y7CSgP(djIvbasHJ +M_iiPSwFjN(eC)<;&wdbE0s{V!mM*-z~<@Z+UA^DdjFzspN +lv3p3$0)`ERp~Y>75yAig6YJOXrtWNV*FODTFK;Ca_a*N1W}?@U<3*a7n(869`H?}FTXD7UaxG1CAB& +Y21}h9wmb@glAbzK`#OxT@JjF{Lp3J^KVYshUiXC}SD-!$Ta-~(gh@KxVqUVRO*gZ`?7QSSm4jrBw<< +P;L$7lPERaHyLhdzdxaR~ia0bS38TH7kwR#q7gyvK_k7O=VlHHqqq8V7-)X?Rl50-j1qRH_-dHsz4V- +%ry1WC+GC(JonciCoK945F6{e2z~e$Z50#)IEUMfhNlu?qGeJ@d&PO78!3ctLt;s^{j`iN~KHZ!zo&m +&<_gNf~MSb)9CwnSX6HPzOWRKnyP!kDD;pyT6l=h2Mz9Ocma{q6I?(APBI2vzjRNlK|H0_tkjXz<}~M +jf5G>KRCKrmif!{|Y7;HwU^hmaO531sS?Urqx7Sc2WhvQIyzI7#AzK=Z46NUPtzj-VS+1rmz(2H1a-E +f`&j3M8BFjNK5%U=0d@o6kK#GkPhN(gykegTs6(k#`k(=JbDN3$N0+QF>)tKTE3tHbo*SzR0LF=8I3U +YDV;zBbB;6gU(eV1nb)4Peximw^31Z>%`M5^s|e4yQ;gcX_#T!#J?)mr&^ZDob|#!zRx)iuN&3|08eH +T;AMAxl2g--%N~{L7G3ZIf%Q=*;+gTC6aEv}rZ1eK$!6;~=QqA|E&07CupIRO +Q=Cc`zMEKgNI4C%Ix-$L;|^G2m*6L>p|hM+mNg6c_I+8iWzO_oUx~Rwj_}`WyVKHiF`aLqn+b{S2TiTuvzr>#bpF+LQ>L8SR;jiwPO&I69ko56 +D`CP5FixuG@#d?C=&dUnZ3g&KXb?KO`+hlItICm6wZ1#ClSakTW`M@akpfo_4ghqL3v@Ettr$EAxw|c ++<;cdA(%6$!m~nD@k0_iNH*XmSl{aMF&F#%_Hoe+C8@C5Z+c<9T+uT73Ujs*kO!C*ak)F^wmh!z4M~7 +fGbtz7n>npnnx-_%2^}d@dpzm!;Ya1tXt@mZkEJc+s@pesVL6&)YyvWfnw!Zw8epC4UZ6P|Algz>nw05E+A9QzBeXnPx&hQ5l4i3E^G=xLDJ&!g +-ScnL`J>%&xwK>)c}ssml%-6A8`U*%;d+^OBv{MGH&P&CjbRm=OCD{Dw)b9-v +Q48jF*^D}s7}10GKcbT5luD`-R5GhxY>cP#zxQV@tCvhjDRHC}3|xf3OgXi^EajSX<$9!?R1G*lNoR; +&A9#==Sc^~73W4?~2xuY_&;*#%e3rQ{1qmq2sHD})j0OgS0xT`|LljkM`}~$VM?0+ef9^&^Dues5YQ@Mj>g=Vqaz_)8Iw_LVKAt$V+3-w}VbR=&J?5iRN9!eZKrJ`3F1Fs8VRpf^k6 +CN~_tH_tpWZivHS`KV172 +`5r)N9wDYeNN!guD90QR(r&{T4{at((r?#x3!_PQU$Yn*Lt$SB*mYT?5KGd1L;T)9ep%8gQNAzViZ)? +^)ZnE_Ps%4sPn- +Wn|5tU7q;YnD~vq-9l&6xa$m9O0y8RrO{kBL)#|fZJAzVT!js6rX!2CihSb??Ft)VrW-&@X!@@RTU +MwUDeyvKnda5*uiAj9Q%DTY>54e+Erl~$uahmWRfu^L%8Wu!mf&1Dx<**w#6~T1=kFh*iQ|iWA{@dC= +8+z)WNqkBPg15JL)ofuxGKkda>7xE|%!U=Fnm(4q|DvKypQaw3IJdEagtVy6KXSFKfEAhRMOEQH%k3vLmnHa%fLYpRG*&)byDyB1&;*eS%#8pKNo +p`tC72C)PoR&g!m_QxSEb_Fn}}6&FwwpCf5{F{i`j +2bXUVqmxDO(f|TA!?jTU9sZ^^Ljf-~Ub-0lbeRy5(V5&wcXnnPpTG1>^SYN#c1J5s})>l9}`S8b9RB( +ZpLA-7{lot)OUe<2fYjhv;P(v#0u4YK}b7mCApJqlT3+cm2G96XW`vl9Yx;d2wXv4k_Qv%xIb1g#&iz +>~upqtt|bW=O}!+L{aM-#?T(?L9ic5f*Nb1m3AY`=m=Nwm~&sE98_OAhT)uN|TtWJg0NtXGI%NpFK=~ +_@4_eFM6K{(teql`0rH6%wv?w}G-Xa=CqZxcQQ@%nCsfuM*iD~!!uQ-3>&7HN~_VR0AgRDAedvcDHV2glqnVFqNY@|xKXB5O$V@@NlU5(z}GCP=y+nL;IKE{(HK(%mca1xV)>Mfe>T_y@HPvYHNElO5s?&|BM$(0DOhuQ}pm1J +WWK_zaMp{x~w>3+u{_Ay1DvdOfmQ;uc&63J>o|;i5=9EM;OMB>a{}wf)datRdkoT&T1IYBZ-B9RMZoj +i0;;DVq5#f9RCBb8HW!4CL(qZnWq~6&yAEZSm{o;d0uCylc0M0`|IQksWrW@jL9*hH??4)U9b%Qby&o +}kA0>z3)9AmV%JZ%K&1uwd47tn$WbP4VSTB22$DaVy5BNv$6dH0YXQp+cNQ>l&6Cn`m)d;ldpc{>HBl +>nQii&AJ&g1XSGYK|5(L*WOo9%X`7wEWKQ!h6WPD+>RscmNqCqm2(Q1VWo1llN$-_~~V8eWV64;P$7` +??DB&;fvUAB)?m(Gk4*ZA{xujQTJ@SvZXW+ZRP}Mrg#9$VrpuHUnw(0Dh{g3L@fhM@NU{S3aylDrd9a +DY`R(R6n~xGsjp#eMeh|@6AvIKqLx({AlrYAmQ^&aMy4x#o2iwG0WBeZoE+RrTaNRktuxke;Tr{KjZr +6WB8Weuwo_jTPUg#XPG&0aWH!NH2mE~ie-j}7&h^fbE+Bqft!+;VHnRA&5lW;|>4i9YpzBt1;)(NV+$ +TpR7Uf+$t#XqEctnXACeb}V-6y@KN(Rw4YTo7K$>}asU~hYEgaWI)s;QKnuZ~n;pS@CnJ*Ti`-VoSr}qq(?0xkgs;7}x6Y6Pwby7WD+E;3IdgLBC6|^ZnQ+xt+&s5oEHKZt|;gZKsn^D{Ry8HRBvPh1{v=6Lzoa9nNji#{p#P@fe0MtHG!d4v~>UySx*u?=(3*I0l$n*g<_KsJdHb7FA1r~xP^)sJ*yK~0wL +qq<<12ht9ASnrcYyh3pB2=o9NDntO{!!?l +0GZw(96pQH8Xpz_hWe@yyj<^I35~_gQf|p_YAuJ}W>adk))8Qn?oV +N+6<1b6SA}InrrG=LoJe+G)irnyoZG{+ZK?cc+bTT7fh9e|1_hJSYAorxgkM(4AIv4t%52ir1%(a$4~ +>s&2pgHK!GyU)G#fJc{~S{*_KEKyt)-zcs>Pg(ulq7)7#Rs-~fBq#D|l9xF^qj}@jUWooq9{UbeAVEO +4uD$+Ew=h0mCW4SagR}IEK#M8~Oz&#!oyd!)R-0kSt%<4V~I+`zPUMhmW)6}Z>{)on}STv|ry9U0&OG +SK?mkN`vRz(tCDoT@HD(Ijmyi^?0Jyg){kMdCA9jR7rPk5;KYeKC`dZ?hqd9UzLfel5y>eNVx5qj0_q +dZhB(&no-Hem?6(@S{)z1tLV#wd5(^?6m?B^DlX=s2lc +LQT5GUD;7}3_jRuoi3zTx-9x=rq?p2>hMm9CX$4NG{}ZPbrw0;FD{!GsIIS4=AeL}ifs4|x2ZrK5eBE +gU=1DlMI5BXg(~2KlNDS|lPAjmM(M~Hq`Tf_OR#3+FO-?IDFybqnR=6kr1E&?Vd79ITb-(|=JYs#X{vcRYj39gVAzshBC#Spm|By-x~gvS>SyQD^M23n+u4ya1v*^ +?i}b1q>IyQQW=4Q$^0xsBH!BWLAhyW<|4;c?$kw@Hg-KPNoF@egJ=)MQ8Fma(L|uXfxFwilrFn1wuxc +NKX7VDQ0hgp!OlT&lq$mj-Lhrh~E!GR3{uJAz+q>)_ww_H}am!UczvTdO>1UhOm3@OJ0Y#kz%$Fqs&Ct9= +PcYtOJze^jxFp&?8e{sLXym7k#F0(f6Q$Ibqilf7F0a-!!g^vD>$KKIE%j3^Rp>$6F47_{(ZdfK-Vw4 +?t=K2JA$^ylg5R~?7H)ahc6#Ve8@=RzA~bSaLPg$LynH2ihT#ds)>U(j+_RjD80Rrv^C;y1dq +k|Aps0wknUsZ2G7+`wW2SMp`6K1g{n{CXYPX8SdVXywtCwim1sCJO=!|zxxdzWf_!=6`!SzY`OS;G%rP3nE&x4RU6N8L6gNa(2l6K`a%U9M#RQgQ>vXMezknT +#HNtl%k?4ouw9yNzKN54^f#BmPKe(NIjMOi%k{Am#@#Pw%SRY7}jnGu$sjAMyA?wOEx5cf5rE0@Uv=-$R5l{r;AF2i@2hG6-pXO-O~U8T +l>`X@FfKhlwi5_kY`HuyHca}O={Z93e8MF<*iFQBbHtN+BV8ZrB`gDSgXi~`nO^fj@X7P{)TOnt-BK2CO4Li`hEkwi^osh#qtx?^(>KPRc)@ +f_7C8#hZ-pborjj2M@%!BX`WBL*IqAfw3&o_*_mCOXZg_tKBxF0<9yyASjflIsh^)iX2y +5TGfv$feZp~phx|68ne=ikH{)WzWCid>IqWU6!BP;i24BVNy^d(ZSIuD>3a>M3pJ}BMh?@-@r>y(}_W +F`Vu!;|`co`^mhDI1PV>@6}RdU?}(vk;20TC~?{-*zt8F}-n;-?rUB +&0>lSK*y^WpnYi#CtQoKU(}u;vL6VsVn|b;vGMyrYtEACf@NHqO!2~>BKu;R#N5^|1k01hVN60_Zao} +Aiif6zk=_n@Qzn+)b*?Uta`jg+Pq3h#SSjTm%0a*)9bgjNe2-Ya_oSLtmaIT)#M@#A}?Q{F`8zyl@Ib +M2Glu)FDRD@ze}fMjZ}<05-9#1t%NGY?jdf-(1Z+T88R3{75UM-l)<2RTB%fXD=qq^p?t%wkmtbBc;lJm#eK&ywrr>X5!Ou_PJQIG!EEx)5 +7Tjely55_=oA-v!Qal6T3i7g>{5&OKCOUAyr%3rgD2D?s78jPR)9AoSKSTeIQ>{TH8`om$lVU4i!LkE +vNXK>G!IB-87KLTbc&agkL~O=Jq>O2B#o&lWU1FsJt)8{ON*O?ol$)wJ>x8Istt+7K250?47i7xp2SaWEoEh81E5ei}rY$HPd&(uzB^^K%80Bn +-;cgLsv!sw&vnOVaTp94@pDDu!BbUw0SYOuMMAyF-qLKQ{)=oFm+Di<`8gyNsS1$9eubJ-cbh>%jt!T +uu~Fu@gTVBGFHX*h7j*yRJT>>4~MQ%iibsSo>g5eUV*Xx(fBBt5E3i%Ec^x+rZ-~h4L+Kyzz`bg5b(|7ymG{jhpE+ND9axGAD`RFL!l(6j?!+&MD62h)Lp3KC@gWS_g}9oN4PkqaX3v +gK8-1tW+RU*coU7OF>aq7Y`i0bk_dv;tEpT42%I%qB7BNh?+m_KIQQz(TC#88<3pI=oXRgHyS&1gj1p +?}G*_u3Zk5qfQwRT9VjYnNaHEWYjK254U(e6@hN_y0Fg5Hv-RfDe6Zql_#`yxZ&;}nM3kGm@YmreM;* +n1a%sH*LMd=CsTDms{2_)1h%3ZJ0{j^-esK#(X3nh!)71VW%;2DK}K4wU1F>8)GZk!_=G{r>se|`2jXE-2`b-Um1@Av=R18ep^`?=QMYwx}G)wByp@b?Py-`RgFKR(&PTJYJ~oO1M!+gJc;cdq!5{Zm# +xpPQKuZ>X_v>HMqidC&BFm-3k00lG*-z*yIbM`JSo1byw6GoC&V(L>8fj#Fs2$4(#ciK_jZ)Ta+;Cz5 +PubBTp8Z-%J%nA+{iDB!N^-w~WI4+cs$wqh#y@c16j`OeT>CcH4ug%5=6qODq>KGZE1#7R9|j;+? +MH&25=oQ%~xC^;diY_1a&78MXJSbUhF`p?)7~kNnj%p!s0UUxk{46N(gi(f$u9<*%R{cOX=+lRqwv=k +AY7aK98kP0{%W!1YV@*rZZEo6QEV*PN +ZdmO=A}z;YZ*)>VP__=#uUzJkrJ9!L@7c +MEHChE`P^ZY1=MN=MR@Uek;O~%chG_obnH%{NG0teN)`8kx{sComJ3<)l1O>Q35dirHb<29DNtb=Mt!o%z=JY_ +6>T0UDXI)>gAqtLEpyc5X_%-aYRow&y03ON7R1{~2iUpiD+im-jg~L}vl`n2gmBx~lSf%tVi#mmJJhopcHDgJEIFamO% +ObuomSRb0N#UupZ@OraoTIEQi!loAkyA7Im?5>+Fc5|sjDEq##OW~UvY+1zLB;pQWv<~a7X;L;*&*#4b6qXhY) +@hRet3seTu&+YW-nx;Z?TGVDBk<^R9>`pHNjI%CYpthJXe=$zsuyEO0klwJ*u?L{~zr(+52aj{EaY=& +GnkaUbx1;R(*0&4+r1;gUZt(yLmJ<*ebZk2F+>9>l3{M^a4HX;#6>bc+v<$GP+Q +|E8GgsTB}**i#Wo=|)Ff36h^FjJ}TC!x5|AVS!_3M=epqXyTpPZ1Wpk8~|J+dgy_)@i@n0}r}(O4DnV +n~hIswL`h6-`qt)AdM(tPY69xlz&*^DO*rj;R(59-IoU|^wd+lrT*$bp~^#h3y##2Yrhs0%0u)*$pQp +&0~Uok8Mo=6@V0Hb$-{1d#>DL&)!&h$aa-%)iWv>=kD(~arFc4q~~tqw(yRLNycsWdxw0STo!4-o!(ttg}$z6U(;o4E7uf*=NG0c*4ASj@`3cjv69f@BGfGlu#Lb816ANO0ed&eG-I^L2Ry>1 +1qE+muMi+sn^?S?%0tpp%J&_g?zjOHwBgp%5h1a5**r48b<*B^6e&*(V=IAt~ZPG`NzjFHbYIc@qH|J +h^u0v>q2%*_J!g;7C%=)&_q{4;6$k-`lua->#k$LB{PwMev=cZpv>zV-z`I3MW9|T8wwSKyJc{z47ZJ +NEDG$;ZQdqZVE=*vWkU;GzMGwKfxfs_X3=IE8g7yAm5JPJkYbo(Nx_i24QMOWDi_Oyl&87G`;vuv;9& +Q2P4IP1^bMO}uzLy8DibHXT{D2h +&?NL^ql8@7C3MlOFSgAPUDJguFSL^cY1}aN7_pDgs8u~9gohQ@EFR47(J#2k<-I&^)P-dRS3BiX%yv| +Sqb?*RNWWAnUu4*Jk24k4EIOD@byOYT7^}awpslMN7LuJhhqp&{Tjg549vlUtl!ZTOrCn})`jc|^Xf*EVB@0|t_n0L(OxRR^|rv}I!6T*%-$nA*w2cKj>?`3)E +F+^Tm0I!#hwQpH9Tayqk?2@oo*#ciAk(AjwK&>sec~tK&3+KosxT3Nw{F>W#)orU&Z +0=nV`Q{y(O?L{L;b-#;y%pMl4J5UB;fi8INI7N;%3j7d^Tl39*p!a;TjfCB#@E|XD6RHjXg=GEiZZ_L +oghKar8vw`h)s}XkYXH{b&LCi#rrJ^2>Cc{1`SW!CsGAZNXlx(^Yrp3bEV}Jni^repGicq287PkQSV! +f7s||7k}i5Vv5Qf4FNUZ#kEq}EX_3Jym`U_-BByeEv`0y2=^Ex{EFFQpvbPj%Q}vq-pURsJ^{r3nYpa +ot6yUT5jTG@UE+;-p#I5vwFc)pG!Lp~)ouWZ#jl!L-_2WYly301@_8_Vh+_L2x^6{l}t|RCn$*gfzUP +>eP-L9Q5Jr7lnBl~o6!Dmkt=1|q4V~2h?bfnE5`-MyAT{RS{BZZ*O^wM{phpg>P6mGu3YBW*Uf>!qgl +SkJ{fgMARkCLQG6=tDy%hKSv +*FA{BR&|s+fPXl<+=bUT3;u%h=@u%pJQ7)m;*#wFQllmv<*9;An2Ir7UVRxllXmm6#YdBfzdtOsw|i_ +5h(tp*A@Yly$;V6;Y5ZnHP#V=LPA`gby^NM1 +offC+1Dj&+2@^D95*S5rK{qWIbgSor0B}J^!3BQxT+j_%KrDczxT3`)m+%^VkUmsf_wC-hzV7d}Usrr +bN{`vzD$|cn$YP1o(OqH!g7N_+;DBzT7~4btM52)2^Tap0wTV*e1!`fPaTnGrc}*17Q7Z~7P!v|9VyY +G$Mz^MlDM?XLI>!?$`+BJhQYkP^dXsb$Twlk2isU1#&>}9?<-xiF)^oy&T^i{- +VZ{+;>6oytf%TxUJ_YLs!nzLDw}kaMSpO-k8)1D;ScPWhwZd8s>q=q8U?n+(6@9w2Kvs`W%UPcNLR%}a2LBa~*O6o4GX9WGiDzrBH2y2a?KNr>uf_`DG74!?MP-S +;aSg|@L9TZk9zDpknE0l;xZ{;c|Lzjm1vheVOb-l25g!M6D^@r6ZtT=rs6$@(staf1ygf&Z8gJ4Y&*8 +Z?g64t@6#t7?BSnm?nP*_8RbtJ4o!fJ-KyRb&WdXun5!|J1=9EZ2dIq*n;^+#cy1nalLItA7v!a5z+{ +lYp6*6lfBIytj}t}NSBm$%7F==}CckeRn@fO36xe@Y<;}ZqNtj|LCf4>*dJ}FR-% +Rnz}7b5sbm&XX5eIOy#cSNer-lz2`TlWgdZ$!9K8DNtKnWx|Sb0;V9Qt +UfM2Z!2ZiUh*nDGdm@k`9lx|4i}tqX(p^}zAdip8btlsQfYN{0QQ=X&OjCZzkjF{xbrl+16|O^`J5AR +L45nJ+(sh*llFR5Yt=-fw+dCvDIlebKzB8Jx%}lX-Rb>oj?9whlOUH^T563s2j>`t?ZRelofq!AI;k3 +nD@N`t^t-g*Eo}RmTU}?u!X#=11PE$b6JuR|V2f0)dU7_o3z9%Y2rP)h!#RTRzrGt&+n~r31lTI`}Trrg4e#JVkJv;1hy<1Um@cA=pCTid=ch8Ts%jG +9@x4GS85ChRhl=YskDn<^?iq$*d)_j?B6;J$BfcXN_mAS{fWg`x68bgu*4tFf(OOdF>{)hTrlSYHQiubzLtj`DqKGxELk1(kH%WiTk!kKicgeIVq*HgD-UO=+t%|a*t!D^b$m^G_x( +!K#SI$fo(l^NzOW@YtYLy#$))vKZHPj4Fr<7X&-LQQV1v=FA-#x ++_%TqGu|-MRFUrmZx5_B@nJ(vsvcXYr;Y}$p(Sp8k4MB2rZz=)+d8=_vple$*-QT1!bWy`gwzTltmkNwPWI2Lo>*YxSG&0jKr&slN +F=5V{^e)vezHsq68xE9#UyDG-P|qfUgBI|@(ej3u9m3D^m{PnM^2>Uqw?qE3my>z}wX04F9KR}8k+M3 +K$QaYb+M>KZ@G8UKlM+$?gp-{l&g=8QkMYg`&+O1SiQwKY?5I^&PK+D4MaQ@n=7A200eia$;T>PnvOj +BIbNrj`cw+PhG?~SMX5M>yP^&{$EAgo +OW!Y5HDH4Y%nfRNLuCD{IMMj1xK%|_@GYzNhQjbVnnKl>&KsBFsFLei@RhQ0dPl9^YEP6(gURIxy-zh +A$&Y?RC=))C@8PQStTa_xjR`oWz+Y7Kqu*Q>;YY4_3D+vc)i$VtdnA+%eM8||kvX-EQ9=X%=T2|OPJI +&pe1kwH${-(@laDrJ>9Yc)$s!%xqfsAU1TMX3_sa60GPBarm*E5 +!l8%M`FudT6~`fC#&d%Uc|mj!cbquiXSTymFct%N6BIlT}Ki>PcDWk7HCcl{N94WG~Fv(h7|yKpYdn4 +M&ijU8BS$2^(99dw#HzAhgpzj&+%R&-s9Zw8R9)becv#JZ1|2NBSB6PZj;au@Z*Y? +rhg3V4#UG!Lg$1e!S-J#%7?DFY~Ny;fwg}0 +lEbJS4JyIo?NUVQ@U74l3&Wl!qc4|)dw|Lc~pPm+KxMl{Ykt$CnM8NL8c!eQ{BsTF +8C+oHec^_r*Z(<<~`o#dAGe9Cw9g1X(>0BE)?sJNXX9>@0*p7?u?ARHl+%es8J@;#Kmq(sApR2 +!L5$V9*cb)mp$zr*Pj`PPCyvWw(^T~%VKxu`c|Q;lS#eB-QEU!Yhjel)ESk^Y4)~g9M7hT{<1ngxq7g +;d@+e!vzU7EV&FODZjhN_UbuSEW=@h$KPxL2?(VpDqF`^5^eNt@HHGymWl^KjLxnh+rS5~?S%?PfUHy +%e+rYht?C#oC{h>lDj*^-77SvxB>6dSmMrcy64mbWY-Y+THbuMg%!PW*;yw+D-JqFw*1D6jn65Dh%eU +J-+M2Q3k~$xbMUhB=|Ds00lHYT9M%LT`cSdxG{9Xkbq7oHYHA|lf$TiP +Fm66I%nu(uaJ4lY@N?}TkdMB|E!_$2XN(2oxlnI=t~si{wNXVitZ4HAA;L_|oPam6OA7?vV^E>f?;F`bb*n|`E ++y{B{H3A>fx8 +JjLIobchGyVlB0uBO%U20419VxoTi!tqvuu)asH>eb(imEGmbfWo4_Gr4tht_Ei{Ay$FlU*ZG}h*1P7 +8}C-nt4--Wzf;STI6aX*B(s;{EdbF7FT#?tB`RR{TqA>f!_*J6T)v*kyj^u}iM;4m3gj)Kw!#39dnT2 +g!9PT$--N2xKS1=>+PgoyHX=xK##=4#5OngV{uORUbF%9>&uB4UvwsaL?iL~Cw%%V +Q$u3l$;8h_^L)K-5ER*Xmg4ws-q!V24`4LEKCll2yIUA`%vzCWkOiId_+!h}|*Hlx3EGt8@!4*P@Q-Z +4^AxTlBDO%d$!|U5ymzk%WGzsXoB{R(u@N4&cCGq`X{SLE6p<#8 +$#7XR9euPn`yQua4Zh(A~r|@rS2krH^lE#AZyInO$fLIBEh0jOq1`sohel(iyKn>GM0(?UxDV+l`6YD ++I(bhQ3J?!CD;q@U{b98#y(x?*1kCnAUU-f4IuILDNnXHs{y3Ku71jr)?R4(_siG_n$qlUnmR}x4QN^ +4kd~XIZ*A_J9wck^(PnAz7Bqa6C{6Lx(BMrp3?a$FD1TWr_?$Qj+D55*B1Z49oMK`c*jaMguuFZ)X^^ +sQEq$XS*;K+@emA1p(Dx0I|L61s)zbyB|8TIm1MYNT{F)JWM-Yf2dsk+r56v|3Z(46P|=aqiP+szytt@sO-HMb=X( +bXck-x?5AmHSRL5`o3OIWxd{%=x9Z6${wLN1;PJdEtNE_asFm4m5%3yBDSiK=G9ap-HsYHm4@ckRQ{_ +OHI<(>R8zULc{P7k0mGO$2$|yxmtvZBhuFNI{>w4%z~7aJ+6{7Yj+mGKm!>TQjp%56e(#^hg7RJl=AR0&ShD5^~SpHWnKl>4|}(NY=ug-~Nu68q~~D%AqIaV?c!LKn(4*SK0&a$Qxc##$;B +g^f)ptAw_=KTJ*K;zu=VD%V|YsHPG*-ME@c(N4M0F?+q5$~9MitC~uYTuW*y)d0V)rgDd%M&MJ1fm=~ +gX;V~GPE%E>yr)r7iEz!Rs2nC#R3bq0Dk|G+R8-#b`&Cpnr8}j09hFMy{YE8~r8lgka^evp1d3B+#&9 +c6K~em=lFB*tN-C#Zr=-#xBlMvtS}K3~{aPx~4*!E%D%V_XK}+SCXPePd3CXW1EtOqocjHj$IxNo^>rd%-k#;EIUUY|(;>cQkNPO^8Hd +0J1Ts6wfktPChL-dZ5H2Y1EZuMw1`|Z}?nyk;|)5XrHL>T?(`XDXxIaJqQhHTi_}I{8;3j +eF~FALL#qXh6t76-evKa9Stc;0(tnB5fTpzJ^`l;+mrB_Vl7J3-3r?e~(>X}nlzv-BiOl2@t +E`$6D@~2ic;z}WzTqDuy7}<{7hbcF#V(w_a)gdtwAxV0)cSy{-P;E%e`nlROG3z4lG!zRsKF)65A?4G +mZHSPgB-E(lkp84Zh{*BK=hf94CGv&^W&d*|yeBDH%uXPn|=4Jy+N#;*B{Q?~9RZFxIFX +*Ok%p@^3uzDhqO%}&E-UB?Iw%4F8V+Kc>}{F)7Ml^YBFGYlPxieq!A5aLgX0|v*l+DLaitX%jfX7yOY +ZzG+6o3pSES6OqjvCM?=YUsO277OqACevv@;nE8iFR@i!V{|+Qfn=;+XP@R+Y+&|K!tik<6ml$rN_?i89?t)7CXnCd9GRT3Y2_--c!bF|~ZGM* +LJys0oxczM=1?WY{LQgGq8s{T~i;)dO<<+2)~6V&ih%X~!)r%t(T*VTT>c0tqj{9AUK^~_=5JI!9Lq1 +?k!Zl*}pUsinYz}9N2Ooz;gIr)uEUOR;HL|Zwf|C4jX0E +&{%(8iy;YM@l&yKEP-?9kaMVrJ8dLwlO0uia&vf42-gKp)t^6s9htr?h^q=GxPb$|X98=7K4pPl5b;I +}3Sz^OCiQD~gj{Bx4^?Md$DUKJXyP`V2iQDYbO%(;hP3LV!O1@2UVv_XdwPLYSdVZGrm5KBO(o#M)(W +uj+Sba@b<_Aa*AlF{v{u{C(T&eO=intVenYZ!+}Mvzi9P2Fp5ba&$; +Vo>VX;9{S}ZE<0bG-IWFh{F}tO}Ws~Uy2cKr59~oaPkRGNt$aNM-r~pH@iLx-fj2F@|aTHCZxP{k8y2 +zStQfdpPLohrm6#z#g$swo7Hd3{aoJ0ZTbb!m31pN-8&1NTjcSXYiF<*;#AanTsneu>ffttWYHtpRU1 +<7I#9}OabZ5TR*nk2*%8LUQoNxPO{z=S%DPQlj_q}^C2z@ZkG{!X;De> +wU>a|aHQsho&W64&HjFzuvraLshDYz~|$?+2sJB)a^Qse>|oWwT_BN|f@$<(+ENHQQv<*R}~E<>_JbJ +%qxD+V!Bo!Bnk%`I(S=+D1@p5!rX>m$X|GXUo|OsGh*Ec%+)Ezt>!t +W5ODhumc``+3o8j5a#%K_8?~Ry3gvE>+Pe8KzcDRWR8oSvz4~=yB=mvT+`!U +B(rql;S8kjR$aHeU@HH<4lSCnfy*;Nh)%kTvz7%hO@o%em#n3h@9pZli8qT+(R^L;7nV=%STaf1oy0KQo^?}$kJEZb`6+tiJwwXPO@5`O7vHI6QP;*Be)Z;`n1ow-b@+0 +};1qYNNnL4f;f#`m76a$xGgx$=it9wtg!y?WuEABE9LnRqv{-_HgY?5L{%Ce7 +{l;0N94FMeYl{iw;wBKj6YgRka9$s}pe@Z5@%WqA&{|DjgHI3rf51r6fYV>}{l%?p1YmI6mUk=&Ro~T +`9VM5oMcyUt)dlsVCCayHt%Okzgir{Rb`sqok)$((<{q=(WzMn%>);lP^I3|7}v7J9%l+z4fPMoZf_M +Z~FzuHA)RS^Am+86A6i~{YjhE7vi=$!9Vg<XK^V6Y`c%p+cTpQh0%wVGZOU7OmpT@Tsapy)!n5Yn}Q*H3I%98-9+M)L44S+xzaabHP}(T(zmlzH$ +{7;ulP>5YLrg7)c5Nt?n`}7Zq(Us!Tqeb(if+Y8(ry(n_HnkDa*rg;_S3GmF~M~`%Bi*+u9Yx+0ur)Jexqs`=uE-!|@ItM+kK3Z)?OO^6=S(+@zhOm^)QLZz`3A4|FpIZhT +;{NQ7=RC|{_DNB~Q-URoMWSN^pl4b5pNR~bX;~{J&L)c6qr`&WBHgj`G*vu^;VKaAe9(l}#0GbN{bUp +;oqP#NksaVHx1DBWX=A@YB~&40IO^DFWxEAT5T@{6^fb(}QX0%_7%tKeY;H1f(ZF7K5%K>t^X`=nlQ;w +T=d54_o^zT}CIy%vqk&3zI~tlI@O#s#ZI3Ip^}=$x^2 +{RSd&z^1iYr5|7E^N=#MHh4@}2(G~C4W{)i%eNCb7w(!mOz8-*c^nF{OTJB@(*Sg%++p$yU*rglsz14 +ffxAQ$bz8kTNY?Wl&IpT!94enq(6tZW;30o^{3URB)r7v6+(;#YzBU_&IpFu>MGy1niu|VI-1{6T0S` +0Q{Z1?&oiazU4`3qGOae;nqc0*f(y%nx*ymWHAA4|M+Qu)j}EwH1fY&+?Bcp7=}K5HnA|33dOJUd8)_ +?X}n!A}IfH|yA~1a}Zb6QmIo6a1NABf)zFM+s^O^tb3(M}k0tkp%Y;{M1#)P7oXUt(oNnn6HbYeTw>BoemT0l<@>>j6~~Y#%iePM-K{TbLcOh+$ +Xb1Y%CkVLN)dwY&eT!Q6inm>>d`wBG`BqDO{rIZv>l1epRROQm@AE;7CtNE&Vs`((DR7%fIerZY!gaNk +o?~@2ygvi&pB~vlXM805-G}wIBVDA4w2%(cpm+&Ut+!IADE`;5|1`+(c +r?H1;XXnmQ+q}-hQ}5;NV`$a7jc?m_M!)tqb?DgX=3D$bcj?-#`>j0!diLra*r#v5pxbT_?muAQput1 +#2pKwT_?@9)BTOSl-8I@AJ|-eEYV5e^nAp4H;_n%sFkxciq{&IiQ>NZKZTgIvDYH^%&q=eS&&|lpx-W +ZPPHx`))_j}2VE%%I5BzCS;o>3|k!y`wkZDV>=FYL8_U93=%^}{f5|>zrvNUP|s2{7~6C3f=JaP{Zt< +@^R1qeFYvepV;$5DGqq(5yK**B4TrF+=8CVbE)#}iM6ix5ruPo(~BFqL+Qa2Y^h!U-F>??4|CAbOSn( +Q{ZtpN8Dx$OdZCgj>2ubDjvBL6qc^Emic0au0-l27RDiw4EI40|MwbRZv|ZQm9W0{+YrjmEvWx2b6GV +RjoytuvEirV4E3JOd~!Mw4p4~r=qV2U_sR9&!IOfyG@iHIAD$&CvADAHd#_R0!MI;-0xcjF4h +JyBLz)WC!?+ +8j~l2R{Lw~t)HxuVq2mi`lb(U^|GZaP$))N*Tzg0x2Q?;x2%jc*qMAOe@A}c(zM^1-!ON6d7`F}ZUKe23JCydG}Us{wpgE{n%>agfq#lf)xs7C%m*nPCBLEO)LOhA +{~;`_#rn>r+$;*la(m8I{Lu>*2ySdT-G+PwZ1RNEWmEbVm1mmj>$U0J`77znQ+l~f(c-Kk)iie>aNn< +{|9kkQVNPkHyi=9b)pYCIA<8sY@I#R3M>E8j6CfmBO9O7WzC8}s)X$CMhY&IkqR!@tcUuGe25ai)#?y +tg3)x&vG5?bn=nON@Jbk!_EWR +Qt9Ek82b!@bVTZh||R9pFwTG;goFVrHGmOdzuhnJ0cRv#w<3k%{k10?51-?w8H12bun4Lb};hYsQr=t +o)*x_>a;d6S89onGYZzGNGqv7Ma*mHIo@H+J;q((-?n2TaxJe)m|Zj1=C*um0Ux~DvoTJ!PL)RS}Wx+ +Q2a4AQp`VcsZ0@So-+2zv60q&qBQ5z?_EmWG|VB&-6DF5v=bVnHbT%GBxX$D%G*R5K{@v9Y_fXeUq@x +iJiVE>ho3$wD#{Dbu)&lL0tSR8Oz|o*1^f0y{Zvj093c-As!9a$A{(KDVzYm +^(>;8h=f7kn6{})X))6!o_6MqduEYbYwZtzbVf2ror;|BlKxB>s$#s7c6bA6p={7-X$uKw>vp9UPDtN +-)3!M}PA_;>$)jeh)fq(AMO*6)T%R_Jc{exvl()7{ubT>Qg|mn?OZls@>-GUsyFin5gtuUh@*M;`slV +~?*{`^1w^J^j~b)~$bb!*kF7?S+jm{{5ww|MAK{H@*7W<}F)a-}c6vZ@vA_yYIbUUa`G$#|Jxi?cVd@ +-hKN&I&kpN$A>@p^s~>8d~x*H@h`vn`ozg^zCCsNyYHo{AF9v%>&LS-=YBeW;pdB&YA^qCrS9rA{%sH7;4`C|A_L3?)ElHkJz2;dd2>j#*PcfRJmcL#{RIzzDi?Xt+D@EV}C?r$E9 +SdeXGU}#bvGJ^u#fZaTayWEIBhLEq8vRE!CEpn*;aB`4;Q=*;$r3wwRpsT;FnH?6p)$|keWw<(kMJujj8YkYQk78sc8Y}*4%j%T102Pdt%QboT!PW@|;2@VV{>N{UhZlNxZiHEF3ilC8;~v#y3Rk}VzX(yS-vfe$V#*4WoOQjL#RH&FV}8s+LQdKP@0Jdnwyx7&r +xQbHsL1E0p^IcqkJZ>e5y08epCb5^xjXYjcl>&Q(wk&EjB9ROk2R5+%!u-ZhAnTy8b&*%(3M?mO&y-E +19!J%7c`dC7!4SdBosyYI3bmTJz?ml8tHxB}B#2Zy?oUKiKj!EVEO|F*`HILUo^=-((u|Gcs+K{JhjT +mVnfBo5dQ?Z;(CTI%sxg&LB%pK|eKOBYvpo734$#Gp)Hf^DH?wcSa5JvRLP3=A?>Br0Stq1Mauy+AIN +7$BmL|3h9y8@q3C`JF?PT3!8V7G|9{9&d;=EfDQ6(saB2ijb*2)GeN5orirps>5|)-HmwF>(=4LOwf+ +J2e4sUX(%1o^*QeXBcfWvC1$%HxgOr=VqhHT{L|b-t?tCPQ*p1P-K2G!H&;*}Z=h{)Z`2j(e0_rI;(* +rE?@@xxlYdN3U#8L{=q+7dif +7_NdAbLsdq)EfyW^X|Nj2JN;<4FGWB&yVf(`l^1fRaBwKXYDQwk1XFN2jM{=G&&*Lhcxtmo{6Q$Eq;K +Hc=;MUf(nhI7kok6U9{D*K{?v=>O+#E&EUD+p_pvK-f+~-O4e&1^B<&DBEnAS4A5wlySXa5}8AJ5 +u3=4RLKh^Zv88m|5DEhW?GqG5+<2{*CGXa9hjxZ>?naLYrk$ZgOUtB_bo$%KoCz=nfaoSQ^q!w53H;iD7 +2o;i1gPqA)#SYye73LzW!Q$|M%4i0Kw3>O>Ziotv+|-5oXYo~Sq)gVVCJ8FMj||3nfe3Iqv>B!nchC| +#n>O8+rL%?J^Ks&2NZHkKG2mmHoDBcdPhh_{2uARdDKr};IO~}mz?d(IG1k$|w>nGZ>C+Co$na1` +DTI4#XS*4&g0d%pmlpBSnLcGtC7Lzl_YMCdvwOZ>=39IfIh#MY}z}THA!|_q^u(u{Uk_h88!L7u>>;w +HI_gS7@u)ELr?8ck>^v_Pbi3;_v=WUsDs8;e(dKw=5K+_T@WneBFLsP;i4`sa}JT1*CYNU@>GL@WQFq +VrnOfvp{lrU-M;*&i(Z-wbU>&Y+=hQ;md#Me0Qm(sIvlrynpJ1^HHqDtMlSx@Wf>b7D&bd#ayW;wO +jEZlepnqY$%`$INCgqbaN``FgVWpRVLoyrf8JC+%ZDY1I)w+;y{8;eRM2lR>Psr^@?j49DUe>%5AyhK +Sy0O{z{0t;E#-5%|(mP`hp|mu8j-L2P!7SH0)`F927PVcZF>0Q9saA`-+>;SoQ+`RQ)=W%el3AkclQu +qGu9aAi`V}c)O%j0Ix~Ywkq$qQXf^Bls!}fol{~tf)W5eC1PN(tkyFM)T+I81EH}LoP19AKB^Z)+`{B ++NE=C@z%{C=eRj_-j~Uh-5-tnK5h2Cj(2CxXy@g>`oyCa=326tk6LwpRSwX#8$g;=(j4>G~;dI3IG80 +&wrCxDQj_!0{i#ac*^2u-#>6f*&XMCxiB-YXTM1vR;JidJmn!}a#lJ*JXEgy% +Ui?*gU$5ZvoRZ%Qiu*PNzmF9E&lP`vAGs{lGW*Xye$76ze?YU(e;l>{k*E31OxeHr&9?tty#L7O|8*W +vp8wlfA&}$)553_z>X2tGUAVNT;{3O-Wpn-Wvbp4$6XNb}^WtJ*Zlv%P8;))WXeQYu*JRVIm|Jf!e7I +u1PT>zcd+OOP?DVtJv(uVSfAM-@n?M7|grhT$2C$T)Sx4`U&yW7u%pwWQ1S +1JT35F63CI})3An+&fC13=#7tHJofkbeM-~_>Of+GZ<5F8}fN3fe<2SGW(I|N$@HWI8OSfhkrMX-#Zn +7~GmO)!gK5K&V|L^nfKfiX)%%j +ocsXS_YGfA$43BZqkC%y~tdZe>9{g9L98v^wisK8+2^#IeaLy__frSO5K<^gR-r=+drqsH?|bzj2$-0 +kK4hZOYxxovd4o*EJ4hz{B{DHjqd>)|9Dgz~7aOc=o +Q_VMD2Z;u9qG?%!X3{74TEUimo?+QrWyB*&A7kOjQj3p+>bQlE;ZqfvALGq4YPGjqQX0+99pYM(=psD +tiJoF>)1v^{d;+ij%9e&zX#dKzfb-9!L{`6SO31??-X8N|9;{Xo%jw~eUJX9j@_%t4~hW;82Srfsh*^ +3`WZNIAR9Ms97|44W|^6p%x<^K6;)hJ|HW+0nl( +Yh){6#f}GZdNcRNm(wFw`P`dU~DwUWD-b4y30a*rmMJ$^N+MrVj6vejWMap)f^q`tp1BB@uq#z5_dDh +f5;;uaUp}PWf~0I)F`CxB_%E$nzOQcIMWliEYZIr(P=LB@N}t}n-r3Xfwx{+TAQIA1 +K87RzSkmFFEJxrvY{S*kJKD$XJ3t{;ptuZmFFr9OR1P5CYxf^`uGh=^L|6d1p9vqyYbm-|10eiA+AwK +fZQX(5auNOj=T|4cUt1@<5uVDo>Zw{TyhZsV2}$-wc%f(Hi0m!W7r4pZ%&<&(WN%j2qrB*ZXYpuafgT +$0B+wNzxuaAj#CB1OZ>B*BPzn>mA^d&M=?u)&DJm*_e_+n?j_oq!xVMTny`&%a?y*F1P{UXl)b?MS3 +Cb;-dj4kfbgZugP;LKA2)&i(ud=xOs<%BXai*jmtrKnGzJ}fvmm<=90n2j1WiiL-VvzV9|QFaq1Okhb +#No?xWscgoK8EkRdST=X=T$YuU#pcbM$E;SX=syYz3)y=6X!ghYlTLpM3HOJ9_je`|`^#+1b-a*x{czJ9+Y?;ESrNDt6)Q5A55^oYmCS +uuGRN30}eDF^I;81jf9HX$-3vYfXI9h8lZ2YQO>fCN_!>Vbk~owvgY?*6`JAD}R-J!VjtaDeFk_dr|z +s6n_-OkE8fgDgIoFzks)A%PIa-6#o^9UrzBqrue5c@%vJIGsVA`;@c?xN{as?#otcx4^jLh6#pxV|1H +I@qWEVi{zXmvL46rZps7zDO}|&!7~8ax=HxHZm{v)R@Z?DTe41Asp#Gi6AkMF0F^sprm+>Kaj8Axw@%x`*eD!OLzq*_8Ltks+ +2T=Us6hDsQ&!+ebDE>-{{~X2NO!42N_`4`R<+=Je#Xn8)YuxesQwn!e3YnC`LzKevl)?^5;UuL{)1I@ +RhH!Ra0%sTR=j_sI&Mv>o*_A`w9ltBZA3*U(Q~Ze(e-6bjp!mxu{#uIvH;TW7;%}$;2Ppn=ieIgXZ%| +606UFaJ@q1GIz7)Sd#lMT8eZ +$AZ#>7NM#zu@D9Uhr7AgEuzK7r%L^;T1ej3ICOk0DEBWJ>UD2rzD3fZ`t;9}yKhnv#!-2p>HrJf%MZ^ +y$;9r{W(IZw`+QkBE$*_`qvm|KQ-eQtFY6jgM8Iv0eRdNf|g$P9d;Y&w$?J5TDYIjg1){o6@~QXMggi +06|KCz9|%cbT}eM#HMuZ(4n*JFK`U(6+lSFxYJMR)UiW{yGMxt!6HD<0K|`ogl{W85qwzjE# +zqj30YzmrhCm_}>;ZAdboDM~E!cQcD?$0806Z^oN+@sfgpFV&er7A_ukn3ICMHA!eWuOKEf&JGMiI4i +v!cpEBG##XKmAGPsBQZyh^UpwP|jA7S(|hPE3V6&o2(r98HWAfo$Ng*`@(2oJx*)95vLbV__md`y&rW +xUE=F%d(@L=4jFTHm91psZpd-77UQDPe>BT6ybq?V|}ppco%Jni#3xKm5*NgF{+*8g7aq&xkR^%R`4o +MAZAIq>Kq4Z))e`HJq#wDM&pgvOfQm2m~2#YU|-+hJVCpV%Jz!?~n2!1~a#5-)?+LMEqzI@fu^=^yMe +ouYFj2IF)0J#vAEJ3U6}1GbF+k)6iSyA4)%x7%?Vl*oa2nn)In?V!}r>@@BCOpZG@JoR=5X8jDAtAVH +%1kCEq!nt&!{xnefDkv!M3oTAEe6DLj-^2lP#IJfNa!h*Zlvdk#9#u~x4ERABDo>fjmbC +&dtEHf-1^RdSsV^2Q$BzyYlr`h`T>)CV9Jtt&^&6_t1dGM{b-V(CHr{yoOCrRGeM6$w;9Xr@ZAAKZbg +Hzvp&A$2O8+Pi{DOO!w&CZ-T!+tt%fF|NJw%di5$>eTlPI>HW|ZO+PybAFSL-10A)?RdZ;dTSx=l +!!*$SjkV`n*bx36o4|Lo`}twEnjdGc^3yba*J$F?fS5ot`aBwJSM{g(!zsR*;>S|_X%zo{ivJMBf12X +IM)CJh{Q7b3zjDfd<&^(h<&-W;AJC;s7qNBKS*(I~@$WNe&>*PD?h??Yi+`7%xA*XC*X~y0v(CMO`t< +47XHa`T<85u}y-UyD{rXYZ_I^DE1rG{l-Fn>~G^l&)LG39(yS8m_?bfqT(4aQ0gKkwE0s?|=A7n8222 +q^bZfe)Ii~lXR4{BpDv~K0)<$Iga*hTN%<@WAv46WfX$gf8yADvIHL3p~i@G_7w`vtk? +W<>>uAbe}LrXK&z9k92rzz)Q*Xf8zN)TNS_;M<_b==+Og(3czQOeOt9^MLmm9rc5OzREJP +cA&z0FCH_Y}o=UpDHy9q}is2FLAMngG&m_~h^Y+=ZXTSUL#~;6^vFDqA{p(++$^81lg$rkCUV7^I@#C +-V+O^B2)9HdojvP5ip~+uK2S-v+4!@=RP}dlkZ|d8(Z*MYDR_$&uuK%=Y(?$=chwNQH|NQfZX&%krfB +${{{rBH<8c+FWpM8b}D*pA?Uvrv&bNCYtoW|KNB}u9xT2Frb@yCCysHi9!GiFQ(lj{jbaBgAp5gFiud +Tp%$?COyq9KGp|u=D243#qNG{e__$ym9nJZ@$S1KmNuWZwS0k +pFYjM`|dk_@Zdpy=+Ge%4sl3Efcq(m^USNSzFN3#+qOay*`gc{$N0RwyvUU+S0<2L4cu@%DEO9JZV7Q +Zo%h~x#~mm;|H#P5Af)?S@jrk5JSSOZb?@H2hfx`>{NaZmczJobyPOXkIKaR7;tPQ%)sMg(_7f*g@MF +i0iFeSX0?9nWB%Zr)?%cUr;=3!9ru54%zwn=a`sw_qpMLu0x8HvIHRW{~;fT&hsJ#s%99AOkZ^fVFDd +gn_;I9H`PyuzK0`OPqQ0*!-rbPw9*$q_ZZqT{|eh>bYm6a=~9(xf_lz@iq+qVn+!5>GD9u;+P^5jYJ4 +jj=Ys0|DA@ZrM(&^AyXFi~%4JBYJ)?_PmF>X6z$M?GA-c8zNvdcQ*Mb?~P)e8+FW|Ki1qoQ5I6|DmCw +eZj{7;J<(We*X5`Z*!`1PBOD-!zh2$$DTcV1OWHlyLXGWa^%PnVFwN91Hf-+C#WOf_WF;UTaI!*`XkP +V?%{mU2e?O_^MU1@PyCSczn|v(=ZhB)Q(NiwTkwDHz4ulJ1_llz8Ga@8m#7ax1Mo$eqg+7`>H@gKj=K +NqtFHvWjxtAi17Gj~XaU|Rf7J1_XE=}ijC1qHoSP1Ce&;^ULv|AlJ2=0cXz2Sc=e^$IeC2V@>+0&B`Y +rfVU+)IsuYy_^D*T>yf_4CYN&brSaYs0h_>{^YG*BH3-^=+OL_^N!oL{WtJpB;ogWq#+P23Rvmo8lbF +Rus*3F$?=Py!mL9?M{W~0ia(7RTkg +PdDwoLhQZVp`fukv=>6Z0KlR0{`}FBEjOt+}+8O$mrsx2#H^*NnfB0iuKs@v_+9&B0wNcRUCFe0jLln +`l>0kUto^u3GG>8A?%a=KgGYtSVsG!o(RGlv2)Z^}J4u7iW6+?#(?M3~03GfG>G^PW5558_phe`{09enilz +AgNP`6KxT`zZd`{JR7VcxF^_K2@P1;cL$02&d>TH0>EQDD8P5`XuU8`%s_MlW6GihTON(v!p5fd-dw& +=6@RFG0tCCA85ZA57fFqd%(L&1MsJQkC#85#$Q@ElK*Y~DE=(b@HEkYCzblo=|sa6!ei1mG7V~b1`TR +^MxQif7nOS@=eL0dD*u2tsr~O3$$Zol{?y+K{-?IK67mq*oJxmE3uwT2&>U|8fAo`EmxS|I{$%2RCmN +n78rIun{PWLpKC7B&kT_31Ew^X%NwLT3+cRiT+cRiT+cWy4ptnUbmm1@bc82kVSl{oZRDfAkkB|Bo0kqA%(~1+-V-4cvgcN(=ga^!J$8px?w;g|Q9KdrL$4n?%Fb#UuE +pMJE0-(a^X(|AqRb)$_vniu=a!WtkD&F*kx2rA2a={a*gn=LZE1S{Y-YB4ad%KlS&5{|TR!z#DkM1Wv +#k?E!eJb%H)#D<5P01&!eU%4K))cZr5Kh=whNL<6-2v}e%ptU|+Dg@#q2A!`hOD1&H7kK~Kfq67_i&? +k-1$QZ*uXqx}gXJ8D290Az4aU*}}rI$G5A{DfC(o#FQdi5$l_}5fk;kc8(vxI1%wy>FK_@~mI(I>69- +^HJ{-o@ACjpmQ$nEAum;oLrjG2dyvzQ6(aEnBwCO+#ZkTB7CZ)jEE%;tBr2iU|I`Bb2|bwCC3}?fE%{h9?yo{!Dzd^1g8H%#>-sBV- +I3pW_Ig{$7l~d)f6*XVf{3zpE!qm=K$jlk*{PMSDaWSiE?#ph3%Dzg8zO(WV;Dv6^~5-|>oD#z1>6Q` +&Q*r$zY(_@nNlqoYv|{KXev6tWj&8K=|93knL{G_*uVOLc+=ebSc2H_)Dmh9>%%=AOqqUw$e29mqmW(E_|NHlVM9EChKJ^8q|)&jYGh&*<WsCw@#z1>UpY+6nc%c8Q^RJO3M>^ +x<A#N#476Z+_ctw{eoK1unn?Z9@y7L +50S&0Kijf+UQ&NKRuhjQ);I1S(Y&{KEG5L!M8m!mmk~vI=}ey&xfhLZ+QJ-&6+j5q@?8h>eZ|H(xpp( +zW3gHd3JWTD0iAy3SI&YXcwRpxPgwwv|tSa<1qLhV>H?d)*~>Fgd1ce)E#JP;vw=ce}yvot?NICOl@~ +vUS8hUfBMs(t^v>Fk*03jHzaPF>$1oUq+?qx%;Ef1-QE@ZrOIQ5lw?J-_?zyMhLk57rH-eFz#-Q&V|dT%6#o=bn2`;E%FK +nZpje(GJl6z#XzF_y@8!+5y@C+62-?A56GkqjXCA{r$~U@6Ybou>&^`V$a9tM)60!TKPvUR{-XVz=!I +VlWc)g#iBh>eRJYB!2=khP{wK;bv+UND9RN5|7)+k#$S2m6)^_>^Pm3|@le)OP7?KPGiZ!lM7VD!w}+ +U#?{TC1H$r}c{Dc0V+T%*RqrJfdE~sy`S>jV6OU#=$PxP(S*2VaSz6SiQ@*&y*+9m1)e1bYapRARKU` +M*BBh&}RbD|et7^2_wxa)Z+t$l!-3W$S#27M78@DJuh0N@U~o +_XdOtTC?h@bLJpxV!OJ<$o&g640Rbi%rpi@{pUxkD{BgnG+HzL`;lNAab-ZH?0PgDk2+6fi{~Ndq{I&C68hciPFEIv +z4t2dB{RjFwj7M5JP`0nX{yKl+i6;aFN3J;O@p>J1%Nv7_Ds6Qk? ++Sty?GJgD!*zZNL}2g}xKCsJN4S`nTW7@7LiET&R5s{-^P~M4f-NM2ouSsqWvQZs3M`Q1|3eXXuNtmw +-Je&;r~kkKfbJw1~fU{YRZkwNxjN?;-!-9s6Nb67>_V^qKq-;MA@Sr)b(A|1K!c+qpw9jMso_WuR%2b(YOoz!MiQ-d2{@(?Tg^Au3Mm- +K_hsb_~;tR2olv5#?>x=Fz$Guj^yV5Fdz?{d-y|C_wZsGT;88QzmECvYoq7SKf&1O8rdY +0A7ttprLW1iSTW202>go_lgp+~F+CO2M=_0x*+Vf$D`t^ma@o|uZ1~+y0Q(&e&iD8z;Kf>y6|vq&u!r +DcqxmAJ+Qe4dHIvhp078^_Kdb9Z7IK1JGJ)^c9(4d>CH$$M;A3&x(p9h +IC<|A_O?eiFE}gac^p=H=yeC(Z5dr#4-S{)}YKpQ*pCqJHTN^-D)dK7W>E+boiS@eRWef?gzVoSl10- +Y3IaDE9eG%3AIx=Q%%cj`PtwME*avkbigT!#7Z#wc7o3^{k1yey+&;*9gv2pL>}4&9{&+_Dr$ghUrAt#Eee}^J-~ibP^9PKN=+`k8p|6H43poXTu;ZB~)$bQ#j|cmmSkuP +-4%Xzc$M$RaV-7%b&>WgCWU2Fe%yW@1-16nf+I<+W3E)z0B8S;^OPUtebdBmd=8til=KDE?g@sw#{ +ccsBg$ddEmBkTaEfMRvSVz?6kG)syA162BN3*g=gS|fNF@Yb0-J4}8hFhB$y9lN#~kXl2hdMB&Fq`*b3InkS{MUAs0(iwE)spToq1{Wh$rVt)Z^!mmG`_p5t`Km5Y +Em2eq#NZxBho4|gjHh;(!3l}cTDJm+;((b(i2dtZ*Ebw4`9eYjxQ1<(<&xG|*@FVt^u(#n*_LmmTk>R +nWnF0sFj|c1bz8mM?crUo|9x&>^;-S%EzYBXsSkuJXxXO=M7svhz_9nz0my&;B+E|g-I1N9J+SjoDA( +J_s&eW%#dMXKR5%Yb>=b#(7pbTJsydhKU8)Cl->#8p)YunE#`wM6j*dM`OVX-CBT?TlxeKhuNwfv8^^ +}quUgrS1=4UVynB$^?B6%Ho3b1^@7o1hG$m_32H@`ucO4Hi3O6m$FY*q~L%@@FV3ro#6PThV5US +pP?Q8f9+j+Tvb)}zbKPrnlx(ZWPv26<7@AIo_pVO_7Oz|hcWUMmYN7CH$jw#qmB~gBOm0eEXxOoXpW& +Frlix5npxVEmQL2B6D3VnKA5zzG5g%#S_coIlUaR!^Pl_kIl$$fv)4Xruk~H8efB}0zhRxFVeJn2bgi +1vq1`XIH5RPZ&4e-JU#c}WX#a(ONPqtP`N^wRts088A@s*_99~@QtsBH~ATJP)@H=c+zuh$Td!6_pd2 +AqSKZyV6V^5nlZTw@8J(h`lSh#SZi+hN>X!{WVQ5KLND2qtDVa@6ECx?TlK6wvx;tF}ph^eoY{TO|;D +VXQLoG$Vh<15g``ds>zwJ>jPa4ue3oEWUFIUGE5{JrnxG533UT%JD+$^W4JhyELR^oI@|`my6UZr&AZ +(}6%BIB(uOH@?F$d060KCC(4>=In{T2j5;jF1US0jJp=VlgE-NeS;NCCj`H&IT{RJ#s85~Dm{DloPzg +}pP!#Kdi3bm2_eC8z;r70e|2>(gy$I3#=t#-Z(x!-p#+_7$#1f=<*%$z^jpXGT +`NqJ$V2-aWNw!V=TyW4){p;U^mA6*NUkkkXOL_Md|73d$GoYIr1= +5W5$e!us_Vnqs>Rm!P>%z5hL6hGwKDNiw$|;<#^Fw#+nNH?Qjn(eg^G&`d8+#8s;R>9%W}|yV!thRlU +3-&KL3;?;A1s(4j-?ekN^~KGFfKaq<6$#^L$En>TL`u3Wj&%@rdyV$R8{DgHv*E`6lq*#j&Iw(!W=(u?adFkgjT_zh^lTW;GwAet4X?*~+OA!@Fwgoe^id7+cMkOsV`G%pO%Q_ +&`mk;tlmq_t@=x5ZD!uFRT$E|_;XHrF(<#KV2S2Zinb1Fd7u*{4^~?NYAKGA~g}Ua&L=AnxJg6Bd%ok~%ca4^S#`c)%B9!|<425NF;>7>g+Q$I42%nFtr(Nz*irtG?w|7GT_5Kx#9 ++(M)%Ag~IL2NW`(fONaiYr!#a +s4gy_t4ivUlV;@j5o?w%ys*~m?I9xf%7+P*f6)wjTnY}sNSY5iOpgFXrd +*8^XcFJJEZgSbWn>uNZcC@)v~;s#M4&Twl#wkAt|4J{Qgh;%U +RN;NNJ=8_GYP@6ErrCJFmOJBjqs9$}n-eIqV|?SHu8^@!6rZtMqnfwdyMC$!m^Pr_?4&PLn4XV0F?uE +mz$q%0;J4qxL-hwn!Y@0=!=ju!a;5ML8tWMsIz+Y|1%7J@qxyPt5swMIVNXBc-5z}?mw`*2rc{Dgb0h +587oLnqv6?N^u1jCA)|yW!HAk?t;QO?*~zPEK0p=!_|mlQT2M=h#ts+2ch{N_tvma!$9*KuUI2PS%** +ZYf!rA~`3s`y?6_nVCF3FeWW0cW7F6P9ST%9Ywp7DA~MeWTcgwotNXjedQrSLURpk#J@Fn_r*8GQY^+v~`kRK&Ru7M#GBGAGCN?&HK)3+L^}CFqY1yus2yVrJd4Q8KgX@WGQQv9m-ziBju#hNR3c+_4n!oHBWt7EmQZY|5U$L8*33-X +RWVxpEh30)$+A@+B4cJtz4_pUe#{Xf2$AEU)A5%&*;q!V$3z3HmZy>#y3XLXl3>=dz(|uRpuu1tl5!g +@Q3*lzJ~ANC-}``h1emEh|ff-zooUwdePcz^|a&c5q7#gS28Er8S6}PwmMbL`_5<1ImhQZ7PtV@N5aW +%q$6R(At@w}%pl8133-EjOPbP_)SzQ%A9h50RR6dBogQIyG&URij2OO^4-t1*eXaiXe*0bfxP8WMB9k +RnBJd%dFj7F)k_z$)d6OI=$H*DrS0frv2hb$Cgg#AI(Nfx$MX+erg;8cO$@;JaHi+HNl7XKS*ko3~3f +WTjEGuRk*cMjB_Ok=*BUZz{V72T9r8#i>1NA2Dw_3bbrXA4!rCrpR-b>HWr|a|d#rkS}i~f=xX8gvuV +1$~tnD>}N%@i|Wt}}O=pPJv8ln>w~e43aET&ol}`!#=zKLNP5)0%FNk$DpLuD}9OF8ta^Ynf0VQ8%gw +)Ka}Izk|2u(Y!P7#wpi$EKlT5@fCa>_lwD5p$PiJt^U@1ReWhMdMnE7SOV^S=vgFHCrF0KctuF8} +zgKfAkhcE2EteWpp-r7`kB@vBvL=L?g*aHZqND;}6Dk;}PRAqtI9a61mQJ+1PFDHx3v_jH5=4@wrh8@ +)>G2HCvjB$<2GsaDFR~;2n7!{|kSOzt4|@j9%cO;zkiIdWb$EQ9LB_#B}kvctVtlV<5N9{jL1nVJ1fT +8(FQbyRGroY-^GAytT#JZoO`OYlYc&*aPfwcBTEP-AuNX5i(w8!CV!|8u_L4IsKe_ooUXKPKEQHgPSl +E!ra|J+K|2^K(fd)Ak&-3r{pxbKon}xI68|ipwH4R^e{a}L)k6tR@Q+9S(MUENmPoIe=4Vx^U95Cq|4 +R&)RF2R)cNXS^;wXEchp<7G~nT0(9!uut$E)3m1rj_#Bq^s-D!8SkJ?|_qhV~Z&H(2$Zsp;=^Rz1&No +JF3I)$}UgfdFmsT@$gP=fl`#$5ha{ta&{zVi=}!{i9iqcjnC +97+-YW*(b9%G_$KYz`?&;OSH9sl3_ANY^?KlV2RE}aKiULz~y*T9{o&h1V|rQJI(#3QoZOw +Wx6OeTU+s2Nt|FB-le8p0Gsc~wOnxZb%8tZo&V-25q(Cp7Mf!e?9#)_W8a*~A7n*iV1&~`KukSU8kPM@U9=n7g4*tDLO(QX_&EcFR>nYvOfQ7hDs)z8#3s;>F9JZ-A>h&Ee$ +Tw9_QYax15JzQU=KL?zw()a4R;Rn4NWK1&tXcT~+)fz3$JIxNJ3Od!_9B3w)qs??P+nj7ZYR)&GGMAg +BU<NIm&IqjSdPFF{DEGO1Ua0WZWom3|SWe9v +)T%23zEOLC|A-*K|yAz2c>0}OB4|eke38NioCqS5VItL`_4M3P$dXcsPc}`-fVA+b`%g+J&T;x6xD#AoF5iVMZHh^c5qJ!upx +(Xsx&}2*W6tN;sBmi;`7D-~b7$s6gy2ua{L@rpqX`%qE=^SxFd;_!9#^1@G05Uin&^*P)h>@6aWAK2mq6@408Y=bS3OcZ11dGMSR$P +uESRdK3RwX!_6pRQMY@ar02q--qnEq~7e`bIH6VkF0Q3RxN+H>Ve0c~i7rIk%>lt}>fu(2d#j`x3ZrFq_7wC(dq?X&H1N*8=JPi?ta1XExO*efQg|UP7D6|F+GVMbPH4GF9d=4$NAnK&S(`sH>x{6a!^hgx&`dQQ;v0e_HguYhZftTWZZ{Fwr@I(3PBG?lm+ +Z}3vcNvgH_*tXcF`(-bgFGAt>K7*zOZXyB^l$WADMdsn3nZ{Cly|RnQuY4@P%eI*c5~$-0DR8`Z;Sp%>7)#NHO`5r3%rU!~@;T+R +UWKrM!;pTX+)_QndAr@HVwBnpkAaTVp%~H$`(vq#Z1 +YxzzRp?{eeeAwmA6o&pPf0#@P+Tb9FD?+v767Pn7@B_<0%~p^Ov2H~-B%$rEmD69#7c@xn|%lML7paV +!o2}qme~HhHq0|c3NLdxb;q@U*J0ejAWY|0+zQ&$0C*Fy^O1S3CAf`B)zcGjZSax7BkNK>h8-L_5V(V +$H5aem&n~R~T@9-bjLpNn;KGgf_7K>358`4&db4JwMyVck1NIvBNJ-x((zpg`(hk@wxeMpadVdPy;%b772 +@7h4o?BxGn{3n++zmJC)@Hmb;mVOq@FsfY@gDE{juXnv*t^YH(b?y0Gc(2tA`M7dhRL%H-#z*L7vR(% +xlvfQ#4#xZ@0K<1C6;$f;lPKJcJ&05wg-9#}DC*$-`>axJocvAeAtbmIM=|`pXVxtX$)J_?lwbaPn1LFBHi&5IZeN!d&afPSgGI@+pmyYRHo}MNtO-b-#Qs67&#o^%u^0o?3coM +!ua^O52qXEyP5)y;ffPx?{{Q~w{g>v(yfvFXW`%<1Ml1gL{yVQ)YV>Kx)N!UHe@i!X1V2u7D8#U>yP} +WVjR30-}(ciJ6XQ`s6p(5xZj*I5p%ey%SE7t@_5$XW0d13~(Ce&FfV1Qpp;RS@p081?ckY>$@V-UGG0 +eP1#1Y85Cp%kE@5`bY<)*$VVyqbTK@W@N4gh%FH5yK-JQV??2eF;eVQW!!-LB4E_%pK5Dg}Qc0X-F38 +_TirUB>;V1uP0JrLm(L9k4#$v#88{$k1R>jMu_Yk?DEsYsLMlr%8n#X=pgSw7`yFOoFb&2h^-#{65E- +1+y?;NAwyl)sc@^M!_B8~BPoYqS|gRfS67JPYwv2d))tseCF&%YH6X_k$L5qo0+`#2aHU}75*t8t=k8 +iDy1F1!7OD%<57fKtYAIHxRnaIqhdnFp^Etv$(ds=N +EwF_Y!MVgB>XE#|r)m6;y=fH6;@8IVBYZupBagI4t5j>f?5rjv)vu6$Lj0RDi8XG=j<$&RfY)8W)^q? +`C^!!CPR#Q)$7W#3fYXaihen#1feoDS=1>z@r_JL81D|X=BbRQVdw{#$KNRr0QpDT!n0JG0n$HV?GYT +i?;}rBbf(a@We&Eqi(R$23rFJe5Qm*A+iW2W;4!?IwQ*zOVAzdu(XjoM*#mZ&ov=%g%5~>Gji|O>U~K +#dC<^J$<&Wx08~a3_{6t3fj3CyO;Y4ptOV++24E|WBzttn557c<`U)oGHTaY^-N()Xha4$MsyOzhkLg +n1K7T}n)HZrP1J9D)=C?G)QU=aTfk$7Y%$5ppqHazi?Ddw_0H^*!;n`-u5Fa0h*#U%_?}s_e^+z)ISr +I3}?s^+0){jhxKMa&#ElA^g-UqmfXuJB<8MwRHzlsWBVvyt=$(_0HGGP9ONsW#6ioQl&4^A7Xfy(D23npP}Ue?W}1#jLFk?oK|ZNjq+uqdO|?@a=#XBvfUYw9GNsA!D|Q847`q&)J6@BoPM +3jVZL-7t~kbAap;+|QZn^;Aa|@&j8T=T(7A)k*PcQ5rCKDX01dByZS|*Pu-V5ygw^NL=;;k_P&5Uhhr +8+ZIGrrHG&wA-9FRj3w>g-wOC)FQZNO~CurS5u=T5|Nw`wjk9?hPG +4H5avRT$$4MXZf!_~dz(B=QW{|&m~kI`0||j-i8VImH2~j*c(DX#RkHcRg<1Zv^$fK_M~vmj$DQ@d{2mMdoc-4%){uH@ZfWdw0sR +6`hNY}nYBwNqp{^;X(UT86Dd2KgrCjB=I45Vh=m4bN*hYY{m!KpemZ3fY +@J$|UqE0`1zrcD+KFsh+m;?EH#`q@=j(>tNelB0&`29H_6bW@1BY^LtQJthwH9CQ653f*8QQ9d=+vfB +s+md{GEB3h!`@B=$F4S!k>e_Nz0dTQOV5`;nxIts`OM;#Qx43e$d*vD~j)mGJ!Fv+G{jnR&v{Fv>t69 +JVPQZ>nT?ltN-ZkNTu}tX(&PBtvc;RDA=|SkevcUS)On}0nh-^;GA{v;fy{=YGz#${1QXh`r0+XZ-SK +A?%dPh7FH!EsPNPWW9CcvUupU5_wn)sez*3TE1O>d3lylHAZD)=<3yGigjN#(7Zk% +$>Ia4GvYW3Y!o0)sj=Uxd^*v`lDA1q+e-axq}ivO(t#^iP7TP`V%WziElIE*x=(Mw+I@Ok;9pQ5Z7HH +tZlB3iJ#*3ZuqLuq-E#}gcBkJ=B53ph;2H*T1F!<6&<)A`e$`DdNgqzc`>vJOAUUjm{g3qT3Mprw)OS +c~JOxN#r_>m|IpQB?R}bF`+hFt3EWv0xGKaKO_euKXcRvJL7i;4K<>bhxM<|VUb@TZpZjG0C`9m)6L> +z77unRk@u7mCrQ+HZdP8Bvk0i|+wCiJNC8EOOKsWFUCrqf2+wF6IyJ7^ktX_^)p*#>>0ALhqSo<(a`m? +&FzN3=TpHx*k2N0-TsyT_m@XF~@L=+@<Pyf&DW@BG<6L08<*6;HyLZC|7@_Vzje +5U+Bu+w$>7$QuSz7Fx1v$2m9@hRo1No6+D1mzn#W9R(4?vBfG#4SY +q>?o=omH=cIvy;Wh7#@?t^IVk(uVae=TpY!r-oWMRqA_tIa3m{+_EwR+XsG*82_~_Bx`@?+6&ecb3`~ +!&?_0mS^~tG{GN8+LKWonGL?vW{pQ}3a^b^;$|dD^8Nnul{RmvS1u81QTgI?f9(-wo$#`~es`PjgF~cu1BQJc&gc^L^ShwBsVi+FYxV>FU +LxhFk~tOMReDgJ;V_F*C +x(|7U*~g%Igy`kO-$RpLqd6bj54_m8`Gd+$rC*nq0#?pZqfhDxM(t|Q&y!23Tgd5MF4oe70P*+f%^;D +`jNl$#f=dZ`jzm8p5(*QZ8K3aE0NCm;N8>8eZoCe%D08!%QqD&({~(<8eH)#^)9l(IA8Uz@9Y9&+Ts? +q4yvWHV2_HL3c<7X$eTu-c2!Z83gbG}pz@-w>ku*Qsme;Ai4X9Y1FggxFufwl)HEym?PwM&xf=%Fji$ +Tsn74>fQwzGUsLyo&qDaTs0Bo1{_H=g8lEEomD7=zHg{)D(3MOyF%$7kS9y!9Yi%wT0!D{ +s>p0oKAR{l?JV_KMz#Vu9OD8CJq&K_F4V4p2x`3xGWE{NUl*8+wT#7D9Ka}m0Af&Uq|`o3MnkWdUoDS +Nn;r4K-idwPtHXx90()M36WJ$Y>6mWjPXobkG=6YD8?wI{9s%l`ytU?{U5b7F*x?PhRV@x^Dzc +=qdG3x*!u9&2i6C>jTdS)aEp+7O0?az_mUFTyqyiU{J1-84wTQEk>@}jKfaW?=X2P~#Xs7tEwLS2V}E +R98_MqHTN1JkJGoL|m-v2p<_2X|uv?HcO+#^5vTWM4SVCwQ8OMZLI8VUTmDL87zNO9zMa<_Hc?_ac$L +@eX)+%7%3J>13tc24b7Yc6%bT%<9AU<2r>JR&}yFv--B#AbTJ!XN8S5MLz*H#tk~z1uA +E3?#eIn>b6?fPm8LvDvBtfIv>t(yH^*0!jJ~33xfTrRpfa$vCzn+5z1PcCI?At{D;QW%ORyI=$P>Lhw +x!?_nS{?@07_@R0MAy_g*?X5U(#viTYZtfKP8#5pXvr+Dd+QnA-#h1S-@Mv#Ck*a? +P-fu=FQj;(^U@N8@@}BHNMa+!T^=CSh?-9Vzt^Gu*-KOtV5N6hylI6u9sO^3C=PutTP2`vAGdhbStLa +Vy5X*gniw0OIa3TmlEkz`lc+vR7)lAn2DFBSt1dQa5fMJ}mVE(4(Q>BU{EKpyvY)Mnu?u14 +6~p^e0o5s<-ZiZ~Lx1Ycs_f7Q}Ce@l}vQxeg_h}{((TH8iZ0x{-r|bhdAj^+L6PHA{(PVYA5~W!7}6k_IQ}n +sITcF^`V#qSYp}20jzZ_l3!TODZK8$wdw?7UYyz$p@!8{A>-AUEn7{s$4Ii4uAUO&YySg**8Y6KJyHL +KG!Of*i1&t$5Y^`f;zaNK`6g*p%o15YNe{0oz#P}cTSORtRO$XE??@Q(DE;QZ5Oo47ea`|L1fc$#0@P +*Sm*ou}Se+&+2hVuI_ho5g#oi{fJQ99w@=#IOd@!vlwWY{~+ZGGmQ;daLh|_uY9s-*};n^J#uWpFV%h +2jT#&a}7c8=>T2REn4y0F9Ns@K|w#;2-mDDVBW&;dD3Ic=7$%IT!QM{4jW>{k!4`TLQ^eT|#83-6MTa +fZF@B5fz=8)nF-&Hs7W&~K(AJC~=vfY0uhC&xfag)(FH%z(h95A~Z05=K%$!m?@Y60=AV&#I&tD|C+1;XC= +X;+V2`Q!38Y@7+N1^A5o9L%n<|N2tNfK>^a9iCP6IJOMd#ixi&7ngH`~o@YO@X77=jOGR;OE*|H6Qh{ +4;kr`FsDEX;>(onyef=Y^!>eS4*B4q-~Q2;Q&<@wkJvLJi`#gBH6IthN-{K7#!!63~YsSA-sLD;;alUTTS*tIbC|J0 +H5wq~Ia9FbY3h_ixQ)xFn3VD?6Q?k_=k1XM+69FZHpfWyuj%oA+zhvXr!Rwk6v`>e16d}mM}72bgOXj +R$0*r1kfiNTpkzinWVumad@mlfS%0}x2ehAeK+BiPt!+E$xcvKgu{74?qgi6$;HLB>%qnFCy7CSv^(f +X1eR4>_^ZjrmJlh0S7OJDOXyGqaW;!RBO-Zs#mGx?uJZ-pJkWFvYyE1S(7j;TKlQb$F +qJs1%BF=1AwUISJQl^Z5oF!F1ZrVl6LK+J$mhput(o~obI28+SJz{GxDMmPCb!>bv|k&p{auUS&nh4t +S*{LTQL<@Y)=kS1M5wb%qD->dh;a24Gt$RmKddAEU|IF?A +zW{F7_r52AXpAL>99%w8~mS$+fK;$E0osrG!0a?tCd&`4F2dab3r$AlWr4kFer~_fE4cm+uk4l3L^_E +ziS-+-QtP4@m2l+Sf{EHy9#dC1F|?9*i*x#l*{6PXNMg}fD}>My#B=3ONWSo#*5YsxuvX3P8w8~WNreUGzpN#L74`ewJ;F1uLRMCE +2Je+$6C<5$5`sU)JCHfXAU^lIfJ1uMXKB$pkmn7N7UHg{5V8Ci}~aX-cPH!W5t7JwGDgJ;qsdPYd#ykX;AyugQ)hsY3yv01y +K(TYpA2jET;?Bfz8;=d`@)l-+rq1*4z5PKwO6F%ibrP?gHeaCtIA2eG@+?jF4&OZx&ua7zR8x7YzMrm +$r#8JfidJRZ!O#6EW4uwuTXH%W~LlO@Y1tms>qp{fEtYb&OELq}w*$DJcj#~b(3Gx8M0Z2~3`U~v^Nc +YiU9(09oLGh1wF5%rE(*Q@?f&jnC2OGBHqrEp!5Xp^?EDbda)3yHlmaqV;2brYtVQOOD%sW-BgpOt<9 +T)UU;^|Jk5vKP5AZXn{8dxbg+pL?bM0XbLcuaYMz{VV0s>a>(N65ebj*0m@J4cIKOl`=&(Ag1?dwyi_ +VD6=PFeIo1N<{3h;2~v@@{T8uiU8{2P&ULHhN5!0WA-E5lil)o6^)~q?C7LB)u0+%1G0Ms0zz@C1C!@ +6BWgSYpJ^Bh3-~3H#6rr!Mx1~@BA%rRIh0*ntt4mu0$w`4Hm9GYrFV86LNy6r@Q?*K{DDWUuBBtwFxe +}cx&sCyB|r-xegd$%8Wudtfzyt5|O#*neAHCzGTY`U&y8O(}_)D-`!kA+(aeiC5q# +qzbGiPJ@%aK$SGDW*T&3xON+4nMPS`MwU-Lk7uz%mSI{BWVw{Gq#9ZNNm+zY8gFbUWV4^s6;DB)5aO1 +hepDmw29_9hDw>E@qZ&Y2!N>7FWYMiBM!|*#bQlg~g}viF;egE_4nRXY;9`frDO|}0taBxDLaT`Xxd? +n4d~9ysfyf-Q`ucQa{B%@uyJy}}WHt#AG?$mk`vC1;iiXO{j2@F*A%QgATbQK;=Jyq5nLr8(_#?B=D* +g7A_Q+hjx+a&aEB{PmcSNs2EI;xXaMj=Y5*fqn_pZT{rR3vS2db_+;MFJaO0!A`ZF);|H4Ji7DQ*jP1 +y<5Z*0I*#U{&Fae&m1V3#);bYXj)&2#9F1bp@|!FRp+>ZmLH#HY^Nmna8!xet4f`7o@tR{#uhPoW6AZBu07 +jO=-fG?PN+S|r)~`GMtIgFnyVS)b;6!lnQr>QL{zrJS@oN{(4xnYALn}xtP +_~fkZKrVbxp_2DYcV33)nDU*qvNgyBMl)07$HfYoZfg*J4G^VLA^@mtz*nE-|zd7r9B4xQ6oy9yJBZK +dvLlg@gqy)56=VY*Kxj@h}JnSQajcAb>h8H&L-(PK^$2*s9g3(G9R#*(X5E=^F#`5?ld_^Z}3?TW +|$0FhprGMDUl=@8MK5800P_Ui^?vo%e-_p<|Jufm(W3s{by*QSe9S;G9Yy}#|0U~Lz^Yd_gzb@hZ-Ld +y0>Ai8@{Jwf$LY};M9*}xwjYT+fjN_(La4tJqFRbE3eTED`C_>r$rt2 +PpMh3|~gP{f14ggh(Ebe0G5*?ldIPV0Y-(QHPZ4TG6^{Ry~hjmu8Dc@%EckuynB`q$$e^*l$se>YBlL +$2iRBCYfY_4_;oCL-%fQ +7h%JDRbP&Cia#su$*<-dyI2T!oXLf*ToM#BrbaMxjPE!oibXfSI-1|7`tEBM!YS{D}e5|9G9mR8z5?B +G*!@A*8M#2d$331veIH)r})OB?YkROnqVYk<#lH*EsDI^#iO#c~tcfgas;8i(YV&0dOm*_ka)sqv_5J +7pX@fc{ASE!pJvSS`t_ChZ^C9+O`c>bR&fTGBT<0R5G-?jO|3;X&iF3Z9;I;5Pscj +JU?YzD~#({*U(g>3!4^0FWrs8k8RLTA?UIoizf=fX5`rVi-e#=H(nw5ceMkGJg&9u +$Hk!-NjNvPps`JDch{9@5ud=E)x=Um|QADn;gRP#;=Obwg(@lHM$$D!2 +w&{oUMK{;$$Tg_LCJvI3UmM=D;~I!qB;0Bp_4HAG%2wmQwJ*mP8UNj}bVk#d?O4hgkTbgP|1%VB}oQrzt#X-UL?;WqOIKVSW%81 +XqPl!n_Qw|C<4-XfgR2eopM)E}7RHY0QT7n;wJg!Mq9>uWVt+{Zh1&Chj*<2!6Bon2OqGiG1L%3i=0|4Y`vvl8xNQSE)GgdDK3ZmWG}m=e=uVv +Ae_}UUtbrF+XmGK(s->FFKYyC(MP!+V%EO+d3= +au!(pq)8GT_(s$I)8X~hmsw-HVWNEGifZwIPLptL~2x~yNfOXKDU>&@nFNENkGbjtx1D9-)ZTS``+$~q0vzG&0W2ZlzJm@Fz1z*Q +P@jW!0z58?e$Eq<7y#;}uYEvbr$yF>n1^E}q>Rojy_E +jFw`|2F*>m6czUeUCqM10Fh^uPcaFP+A;s&Buo>j*TM4Tv(&70pTF^iJvb$t6nv61iy8GD1pn77=Qtf +29x_lf=`+)&>T@Cx&v +>_M78V89jhUdZKdniojHnqeB`rZ7|%XNF-2;skG}vAW&Nq$=HgM8CfHBP}%|9*6b8E>51;8{$hn!iX0 +IpR0y0IELQkUPKc8Gx-cdB66z4)CX!K2^?IOQOjk^N)kJrbe3Q~YNxo)N4qvrNo2K!bkp#}}M!r(_LZ +vos9#*aS;Mc4b;Uc7JGvFafyB-GN3D2*^j#lDN8U9FK_8AU?m<(+=0uM~vGUWC+|3-Bq&qo|yXnL=%d +-CTKk68SYVY7xPCV~tqN`tf85qGC9$a%cSmD^*2%@*Ki+Ld8+QXA5vzd +tQZUUXDOtTS6d(nZ=U2egmfUp{b=> +7cdyKX_D-jnO_35C$d$Td?q9jAHBFiMt6`|B9fL=VuZ<$Hco%YVe{Hc~o!TGqA%#C&aGrDiIjt1A2Sf +zeAcS6adC-hYWs?yZ9FQVU+r`M76j=TyPk2FwKfEBh;`r-QWah2CXeD`eeey&kRX~^a298USNH)6IAf +T>KE~qu58-1mY*ZWZCU0^kylr7+}l=;5_5n8HQXBUC!-sv`L9m(moBpAOj@5BYzVx~ +Zpk232QD>=ExGKLWDxK9=|!j#0EM*T+%wauwmnL^mO>L`V|QghTD}zVR))*C)BO}b`J1w)yf!>(RDZY +RBH2U8*PL5IB%2hY&|^!8=2iN6PAO-~>+?ayfzdo5;pNc9l=dQaLxZ74h@$@c0YPI0}*cCf +YvCre9huHi=^dZQ2h0rg#hR_$hl&D*kJ9$pk9g-)e^%t{+n6Pe}IGDLhD3bg?6o>zyy4JZ2TsutLBm4 +^Q1-CbP&QqA=*Sw6M`Ho;R+eU^$jSSqdoca=)9pV+k}b?^}cL6j +(w3kbl?oRvrqRy##spF<9hUTU=1SH`s3W&2VS?zR`vEhxcjZ0eOTxRRF+w{_wj?O+#a284Bo=Yas05| +7MbHzOYL!;T>N~J^c{t0R*rhDPIVPju1tO?6*2PZfxzSz>s_h*lu37#09xhdw09<&(`sJj^x44h7VDM +qoD(3Y_KtG;OkgBxf}AZ@yYY?{CTnlSZE~T%h73&S$c6VcCCcmE!q+P(iiL=Cf?4ckH(0n&|HV_v0}|vOG?SX3B!z +CMSbPGqyfC8BMtBhvOxqKG}wz5%t61DSS(YCtP9EEaCfYQe>?iFx@5;!~o5aC1yePI;+_vgzC|Vr&W) +>d;Y){IdM+sJqAD7%T55`H-47n)U-K0oLCv{kI9EY=EGA2$ZLV7pb@ +S*%5+;}6RGBh2iNOy2s9$<(6{2@ErmeD2-2|J%?wgu2k9TYA4w4qHO#6kK|(ZvkmB^8?l`hyh>{PGsT +fcu{iL`Z7Q}E3$>HzoDCqu=N*s^PWFqP5z^`Y|4Prg|kM-UHNphBs%h3dn7nV$zw+PNwIENV%$$!pqrk{bct)fS0l06m- +aLjQCUVG`($u4yC01iM^K$_UVbdDtxsO@rKISGqM#NIFK81FY<66Yq1tmSm$l1}3267}x%Bp_CeI>TR +qy{JYvj7m*AOqc_SEK7~6ItjzN33j{-s3S3N$6QJJlhhw7JJS*?>YCJ=fvLq{Fu?Z45N3LC5?A4GuAy +LjrVV7tbZPJE%^qs#tZ$+YNpVe_p#B{QY73~Xf5 +d9kkNJHm9r9S0AVC6BJXYC+(}4YYEivnIlh?Zs8Mcorc*9X7|X$B_@z%5{|{HhB2SAt{*uBH +rJN$W;wlSaU$=z1;yBNE!CoPcaUFm++Pbx!g@>VX{3-zSVt6^x2M_;)S`y_(^mUF{ +7Xxhi-5s#^Zlst$O{93|I&)sH`VlQ;SB#f=um=cGR-Bg^s{V`KKaY=E&L*-?TR##Rnh0wkWamIWSG|k +8FuHh#M@A&@Bdw{NABi2A0Mn^Y{@Wk;`4sF|mU-E?c*LX2nY!aRq$`;tA%Pqlqt6W=JjXIX?-aSmSzl +{FR;UJrKIH+ssYOJ~7E?F+Yf#WFYOd+S3lu0lLC$1#)TX)!A0X&^~<8d^~)*Yu_F~uB*rHEwS+=}#Ka%L=1&SRMZF +@znuV?X8H1*xNeck7`uzYj1?nPbz#7A;kEH4(D}{LAK7;@qFn4P%|3&|^WLU|A%)Iz1&}SqKMBHFN%S +(1(=y@)6#w>h^6|c#g!MHu9%Z{`4w;TEd@x$)76u(+~O6D*m*Vo*3;!N_dPXyu^3Vdt3O1v#RqUeQPE +szS+ZRl^Exqkv)c@g1_VtRayr?bqQqs +AH^dzosOfF4G>)C?qDj^3B!Ys^p0Qq^5&h}DVvY2$K{14_(vo_tU$+^s_Jk2I^r-72GwFX&dD8fgk#F +4WBj*=TD8N=D>rT>UiQCR9T77@WRPw@s@Q>Wb}~x%BTsIy(_ceT!}2mm^B5vWc#U{0-SOq`4627 +})bsr7+52i8T5Rsp9l~!3hmh_*x>vvle!p!f-W%)q5IIM-!qTWiQ}~Ks{|P4TQtx_{Ki^_pKcG|lUDR +R}ZIpLQFiF!cKvIlCCnRCtnrxE$ld2;Z#Ehft$h%SjsAV+T85;)AN&3E6$>?|C6-k--IMPP;K49%gW; +xueznRS=@ZjL@z=X^@i5KX_`HEz=z(rk4E~bHd;rX~1o_FHdBH6#9EHi%%7j5Xp2B6GL#pW<@T;_lPb +x-Gw33%GyCPqq9Du{8;`4Ysf8wrLr12?Scy7)qH#Y|=9-fn`WGSUH@K^ZbwPb}WFFM6Td{~T#SG0gh>o7mtU3?lSV2Q<-!lG;c +*F`f1`W~5k372)fm{bW6=JBGf1qh90s3fj2>YPbw);DG~w-GRGHb_`m<@H2}14`F&R!`o=&j0`Kk1*&*%gmvZ_g_MW=?5!!4Q)Z2Xk>V@JP{)An72Zo`Jp{xPXPtk-hC6 +%WD!E=nqX6o%uJTTp(ehFeK89<(2Z5XRPKT%Fh(j+rTSY;hJ +WSt4F%p`RYEFF%Q(E-}s-+4GYya-bLoTSjgu6!O#=QBHskR?d2@LFQ{(Q*Ly7b?~K<<7TE7zsAAB)Qn~MM0L}&vNe)B0r!J%zO_DQ|}R$9!%o%v4lBZq +)>LX)J!TC7h7Pck7c-YN9QkT2YIFPZve@T#ICUGX*>ZaUGM-y^U?Fz6P312G0vhye9i>kXSc8s_Q92Ir9UZ&3d^I}W}0R&;-hih+MW72oA6>O{kQAR32IvFS&*j24 +N#i*9F2FYJsx-kF`xC3dF&M65F>ME8lnTZw+chSe|jgHY}Hw$yrLu324(LAxRgEqDav&bE#+o1T71Dn +Aam=zVLo*ZL*{O?;R-gBC@({4w?0*D{gZ +jMR(+3e#+AxICybKV6yGBV!S%Z(gypXRnjMa`%|vUNt`1>3R3y|TliW3%!L{%HAkx-0vU?jmaWR)#`v +DiJ%}z(OBUd*rkSB)pR(pGz+y6M)>dztf>}yIkT6#bKe=G8{@1YxTvo0dbf}N+iyHv_#-gJTFQ? +*xMBkK#&(|Sak^o6|nID1o6NE>6XF30z(THbj_+QyG;LI#1;4snw5J&Q~~sOIWMZf`?SE(FSzf#RM$0@2n=#f}dfhCDi1s27l0Mr^$1(vB-;e=sS0c0puCp?9-w6*H!4)U6v@knAwfhC +C{1qLfazNXnTQ8y(<6xiQR^#=0P-EfBy1*V1?R!?b8HSvG~8{2WsjDP~KwZ|9m`gU5t?}&_%i>TmY@d +RERj3;3DSL66U@Uu2iIoL1unv(r&pFBcjg|_1IlH|TFzh$3P-s+#U&sW|A$k9%rKO~!EnPck}ErOgOY +!od@caQYE-_q*O+v#I%oLo$M-H3f!%tYwNP7JCTMrVlxGoJH(n|$TK(sr>^?5H=?wl*Dw3)qABoezxQ +M3J%=!Q2}0wed9kJr8R|mSF3TIYvB}gp%HXVVECzIEW5rIfLX`jQg^!>g(edI7gi8AE6w!`@Kqw(P;BMz>`m*&tq_%+uRgC}*m_+Y^V0&+_!%MzcI7{FJS?(JlnJ;d +qf<`E)=ETf%d)fd0cfrTZJDH3>L?*T{L|YW4Cr;|>?{P<70kgU%M|zz$zBlQ1A1a{f=137sy83lBz6- +<^Y8M$S^$=CjPu2rF{wt>GeD=*ZeJ9<~FD|GXT}545|LHYfBTdNZs#Mz5Nr3=GH<=!*+L=^QgaHpTcy +B+s;gJd?3aONG7k&Id3~(dLv#=XJ8Z6nDn^1TIIvE(E`!BceI>^&VGltyvrOFM=ivPXt-n4s{$g?LI4 +nc0f*HBWl}tWQb*hu)%qp3)Y)8`jmcK)t$n|PTwZ8@y{o`xet;Ht0qW&?<=3C$|?SwMk#EUEUm??)u( +jd>}!ms1Pb^=Dm+-^VHFh>8#dsnPc9dcUjFe6%EZ<8>w(1e-bzpv&benw|SF6Iy44!hxYJC +rMgYZv@=LwUHU@Ye%>{edp+XNEtH&@>GGpalHzB5>1%KU4^=D*p7~Pk*4Jr#i!Biq1QaH;Dzi<>7XvU +2z2SE^xWg5va8lvtCt%AOgUvg+d4wdaot{@o#m8#jGesc2Qc*aLYj}Rb5kwrvMTY0o2WSPJtd99yZ%0 +vAgZSA@--5OySwKm=2Vd6@*7q@9eB+0t+dAm5mdQ8Tjx8Jq*ZK<3ksH+@M{GTsMGLM&(^n<7un9&4vw +h0S22`y!1e+-!lGVE!7{%Uf%^w+xjA#>zNtP1gyg5nNB>U>vk&lO52jzS$Inh`fgcPh%MSDd= +-;!bUQ!3k%vvW1(1qdV9gOUyfWF4pWwZ>Q{HG}#!jFN?aNSYlbKPA<+|puAPou7Zf;@h!N>NC^~kgJdU65YgTI2?_5R!;;*G6B@JA-nw+As~n^-$ERz_ +5I>Z0WXU*s;cH?pYDQ|rkc;td{=AB<&y3JRbC`S#EOxwtkhUe5A?q;G>F{aBz^#_e(@8J7C=9nsx{0lliExBA`ciqXD^*Nm~fQZQz}w${(oDDGAmS$}L~z~+_W(2Q6G`VM1 +^?pprU1>Ldf`*c@P@briB12C?s-`DlTK}qu1>ZeQ7CphxsyDc|L7nB>BukgJ;N0nOLsPW?*UG7+HN)0hVsnD2p6Lb3DNEpj)Elv;oGxty%unA3 +#tfBrs;iN=^?vSWkCliyAMaB=Y*#UBMpiJdlfGo&=ikdY8$^77fnpuH!xkbTz6Lst-Q5Y5xtrL6ZV=u +c3+nofTUg%H1ES#hkTq%d +=#F6u(pW3t>)A~)N~D(2Eyh-eif2&_dMuF4KGFUG@bLh=ie7mZkNLH+YF-o3n2f=qzu3lw6J>kppf|v +MM!a0EilBH$iQ#KSByWeL@{@{=wDIF@Xe|=XQvb0nP8%_TMBV|UjW58Rd*)}~AZ`2!fxuUO)`tNM{gI +gmzd>Ei=fDemUOI;*_rZqrJ8jCRX894;B-Zqkv*gctXr-0gP>@qgw#AM3?glpFBiK6|sA#XpX*0{iJo +ve-cj3)w46WIvIn)X9ZmD@x2kaMkKj%>jcQuyYL&f+R2P0dsF)p#iqrW*5&O0e~DRE)j8sl8pTwX}CF +mZgM@53PP=0gX0kcv-%NKC%dckxP|hLW-HSVI~yM4C1O+0fyV`|YYs`f9~~)iwi0yo-l*#czM0JikM7 +pI(un&cyO0V{9S+_6r!EQ0H3z#q>))b`m-Xrp)B=nbce5@hhYqa!>N~>4UDQW9cYqu +gI`~=ZpPG!b)=;ZC!AH6hxi54Vt>#YB=w9k!Dtbf5{iD&ny$t^5so5{;x?0u{^N)Us`$x}dh);Xh)|h +|v^W-1BA;CX-b1H&YyWU%rRS0a${B=^n#Adh66XAYh4}l-M&oNijHqzq^}tMixvPMq_F +6=9qqMn=d*dy!{`phvNyGJDEP}YP~E%eJ=?c~{GhE+{z$ryO%UBWYuUuzwHvV|$YHnPScZ_1=z&-R=q +y~ttBZbSx}c`PlJezVq3*VR`kERB@hE0ZDmpQ9pYAbGUm0gx#PzrI!xMe6wAKrm7c@lkp^uQZ3e&`DK +u5|RbeV1t(NSCoPe`KI9yA|~mc{&~Eu`0bcx|WB{|IL#$xr&vbhDh>38Rm6Ir&JZqV(S%;NA*K|0*HW +1Qpd^j(sZ8TPr*T7)D=dOagq|BjxOp_MOz6FcCNbkL;xh(9-l)PyR4D6$CQKbu4EW`uIkl!uU&uqx6x +uqx53#C=Hzc>ayh9n?0_QTrqO{v09Joc5QCVIr_-zLT|bTJSO)8R9ml#dqls1)+xO^oQdwxG=tGfa); +hyxI?pfF2CUjtp-vNJ~CFs{h_a-1;ScJ!f)IOdNg-}wo_Vy6Er<1`ad7BVXbLY>xKT$U-XIY)1ol(*C^D?QY|!<2$!BPvM1HKWn&|edVO#*u%XE&5ZqLoTP2~0rJN*pzc&^tS)1M+U!Dyg;o7z+n-)T7t)S;Omj0{Q!T$fx-SyHQCW{T|jcznbhIsN*r8=Y{mXE%AM|dm6brABnj;AGj* ++OG**T3g)@Wgb@0o()vxu)v~QfMUa~Y%hbEWEZgxRCl(vQuMLCLB$=`}HI+ev>*F5**QlsxM%mGo`IGZDQXZRRfqv#y^z=s5jf_; +uXsGgkzhhTn9|TY3Y1Hdp8IG!zVZf$q{s%cM@#0>N7d=rSLmV9s$3(LMWBjV2ci%ih@! +2U%2KPLdc|o{OXJ;({us4rZL3zeXENY7RxFj+Cw}&gukkF1RM%~QB<0{lY3Tu!sJ;e)DvJavFMgMxj0 +;O&_jtfKCkhiOI1BolP100j186E}U)_o~_WQ5$7P60{v~DDEo)BRAbl5-z@1bv!BVUAG%UXj)J +ua6!m3XUwSZKgXMTaHHw}BHmObk2l5TDanwhmZ5B=?)eGqlZ?Ne7jNqHU*j96_OIU^Z>sFVcvGETcFN +0kBBDp}gom5DgdCa|G$?!Z$Zhv{BKKbsk2KXO)b?K_($xAN8Ih(oo)c-RQHo>$Kh!8$Fxb>XKf=IE8# +ByeV>B607MF<1Nt+P-hQ3zY=EYOwTMZGV*oZyVZ#=(ZTsIh3uW`Mci!Py(^J7m9r`S{1#bQtGj)^U|n ++>sLb4+aci`j@h)o3zePd#PCo|;Rd%dcai%cW-2-z{@_;<1{R384iku~aboI +v#KB__v9wTtQrL}kSDVIonLqW*gZzjD(xp2u?nyz;diut$gbPQC7?Ga$0Alm7a}!GhzC_5yQJ@oS#>9 +uf{d6|k5FwWiu?%8bv*f_grFTiB4xy`dd+q5*j4+ZhX&4VG!}$Pqys~WLPH~owJcu?0>a{09IA)Ti$k +@T;!vSBgvX&u$Fj=?gHU)7e=6>*aERIRICR{X4yGWsHEr%F{vtlU@!_*OFRlyn%R)9wwn^7Q2 +ox3upS@@>-EGaRHz7zN1-~Agh5l@)FhZvK60GZagEscGUS{8Z6K=G&t4FSipy4r47N~csmLS9Y^`2{a +j5WX39d4fwQzdx*Om@OqPm@Od(ywu{O1Isy8V*4*j1fEfl&$*f>EV{^py(I!7`G*Hk=cTiYgTUm3yur +_Ww;psv#JW$~_>=9l$U~l@|+0b&f#hyr@8C5n~eB+Z6O?FeH@}3rXb(eF^YSA*tjcp8OmkXo-iT^3>) +;Pn?d&qq^CMNA(=6p}U`lqY~!!V{PX}qk8w9xJV`hmn24`k`kg(UA@)x9nq+sea!U#8jb4M78JVXQ3c +-_jcNyFx;in_#iLQp;J}1<$;xpdV#Vm8Qx`;~DvO>vbwO0BG9H!6Pf@A-@u*ZJn_Vm_6$x1T)j#x+WH +uO;sw_b=`>2naxkywhqx6zK432!{J3~?}IwvI6jT0^!l4=nTN%cAKq=O-;sN32!x+pu*p}tU?6z?cCK +PZ)5*GHrqW6p*;S1qKlRQC*qr7}AERxcjVBEHP)tkZa6lM5nqgiGO{~ +h-sxY{>M;N!{VW;Qok!y)z@YtRMi(|9;&L#{GUQqZ8ZOzP*uM$pA)KTz4@F_RZp4E2~~yI>D*9N3(X0 +ks_rnyLRF#S%|lx1^FvjU=0tU!phbx8jfbh4agR#0$~G?B9Q^cxlyX5XqPD-rAmtKGX2{qRV0 +C-{xcq>sx*qnD{(~C{+a%r7ABLqH0;95cU}#8D}c&2uc7$WB +`V2;&~ye`f=7mZE^~5ZK;8o7e=evmJqG#7r}oUtxEO18s}K||M$f?R@SWj>7p^7O7OEsaqGl}Kx$q?R +5h85uMU6n-|?E)z%Bpkuwk4if9m6hQY*WRF9_^YpZY%k{BW+w=3vnM*;3AFp)Psi`Cl6r>eA2uRIfx) +hxX!Uc^mMvyp3`*ebTKVr%{{jVS7Q6*le~_IOr+#RTlL(chZ^Y<*F~<%ffsRDTLrWa>xcqHAWvTLaC@ +>fL`-YSr#TZ$1XxiWC>}r&`oxs5&x^r&-Qr=GT#Ck5?ICOHBnwRaRsK@edq~{2%t71T3l}=^hwhxExSWyyB>MBzT~pqNrhH&^J0nR6G(jf-ne*Fd5!>#RCMg;*$+ +Y%*G@pF~{cG&90lvBNuo88dNkUA!f6Z`;jpba{xxe`>VS94FiI4umAY|9eh^x-CbSXU42#0(9oxig|u +op`~-W=vBay-+w30In-J?w`*GZ!I2aW&y({m+KCCcyN~ujFjuO(oqqM*?h>{_%@58QZSe4i1_lT-3rRy`WZTA8#sNh;&@-%$}Gce^Xs +G0{@jLCpEG_gCOovjZjprvgtgfyr +S2RLLDrv(0Ibb{DDXx`Vp@#8<{pfmfL9_cUAP`Rpmzs#5`5b+X3x4~10nmg13q=?8&s=5L +PLR%#!v;{o9rpy6Q9m(w+n*DMQ;PQ;bd{`h!&!eaFw)P2TE?zwnd-4zJIok0$k%OP*pGNOgITzkAZP& +cs$v+}D_lVKArtNE`%+4t0E+gXBB&6{R38toaJnaZuuk>c#QpdVY_RzCWrdh@lU@L=>(I(>jJoafT_V +DqRenG7v$xDT5IBOd)X(YaHIPa~L5tTV-5Dg@=MHB^Hksq2OmscH`Ft6Msucx%38Z89MY;g>>tX@C&{L6U +)F+wMGVM_${@*53K{3H6Gb@ZYY@efSVoOU36v?Oe}S?+lqE`3nt#{W{2klol^@Y-tT6I@25C#DVX@0N +1Gj<2Xgi-nD{E#!I+7e(3=jGP&erT{GU#6jY@3^Es4_)2_>1eU?Y@Jx-^_^Woo}V)6Lk)y9b3+rko=5 +8R`#S!!D%%J1^sLQ0%DtBFSF`$H}g4dS(btik5h4wtE(pJHB@Bq_z!ZThwpc7q|yDJzF$PB9CDqvSyA4LMNMK~n7zFem)~j-z2Sdf$CK#Cw +{nI;oH&_}Y63Fpi#{hvYlG;OAM5Mzf}qYz)E;GXyn&-LmrM@F>=_kruFt@U-js^`*d<~UW_f(kaYz5+ +Cb64P8n4NZ8RVcZu=peCikqMuQse0cXRvY%)Az3QSpr$aEQ7S=MD`G87dJU{lMUjG$-ZJd5M+Y>?P|H +`HhMP*N>MI$+m44JY1uF!FQ(I(T>tUIoxnNRtHOmaPJKv3MzQ|Li92hhKGYs?_Ybgm5vikodR +S1X*G=XKYkgdk10#uR`nTR*Y;th*KHt#5he8MQhL^6Tn%u$SnS0YdDhyd^@K1uq3$R`TWur6HGu*wc0a6;{1<*!2*7jHOiD*cPwgHgjG<73N_&zW#VMh^mr~J;C95xbfsNoG3K_%@{s7TnN0SS?fI>}-5K)IPQaF8u +N}{IHS(>P0Ca@Y#g&rmJ%o6MrWGKlTY~Y_Ca!Dsf8UqcE!C-1YWz%ezZ2Hg=+U))Dl62a7JizoLm0wn +1lrR_ar>5JNsEyqHaZ{-9Osdmk$zeBnrnGhxYNi$BSbFDKLPh3`s3xQekBJY`{77~^KE#xL?PJku$jNK0gc+W$Y*jl^Z +sKDH)Vt7LAyY|m81*yXAN)*Z=7OBEg8fagH6@N@#$u9p6N{py5OSNdTjdld(qF#y%uaE~c*A~`m_|0F +}{jMO~Ct~lv&ToG)qTm89C`2j7*Yb_hC73!_CCFj8?pC@&Q?jWpZri3sLdmAagrXCou4Ge-abJ+r$5d +i%F>P1ynxj0;!cOqs?1M|~5La=dBdEEO#Q8usGBKe}^i1&kMLNlJm7tJZZXA5fh)BM;SUDyd;fs;QU3 +h%8&|i^f?rJ+S`N2c%RoUI)IJ*@Jj?lFax5WaJ)adLT*Hoz!b&w>1B)>J{0o6FCXM)ryC8n549OcHhs +GQyqB#y-Y2IGId@jrdxEfXRuK^?F=wV?>l{r(pjg6^r2LFfZ#=$`9}s<80j1B;&fwd +xj1nOu6&EPOd+U+^`15$)Q1Oi-~J8ZsQp3u(%HlKCZ6GS`WxTGdmWg&PY+;WN)l^ +~#f@Um?OwNl^wLy2C?WIt{8D3q-c$`vP_j6&r~Y6=AEW-@cR_{6wU8CC$5QDJeie}CZS?2`{leG5=JY(-+lgXaUs;()@bKUrvd|-W^l==8&2azXky5CHS>qa+s`X+eRJ8ZvLH +SCMMswy((PTmQbrNMo~PWNYR)49@k!rei9v$e}Z%ruU+_@hl)(7Mk@7|CqV`aV$ipk2pO4iNl_Z`f}Z +3rl+HiP@{m!o>8$+eaXP>6l~K6qY#&FEkT$;>{P&&Cu6Z4S*m0`2{mz*B{jZo=_fZgM#prk3@3{xrqgTUlLn?oD`yv(R2bh@P_j{c@?35%S)4&b|uoMZe<+ +g2}fYO%XvEm>dmM|!BM3V3o;dC8_~een}$AyrXM8(c93IgA}2okDvP8}7E@!Z5u%Vn-zQ%QZp9!mHXf +BjJB9eKGF0=-*CUWRkwdE#goO+ajJ0uqvTiX$2{_8{W1Gi*9rMYE=`f@xil)mT(W=TWWj_0RkrZ +%8DU$bxa7z(GWNihBAEAPe +{`Pttp{PLqpzX_k{6|u%taiJ5EV2e;UJX{n>FvTCX&$R20`LPTVr4XF0|wRp7=!N`h2t0r3K8PI&}Ri +<%^;vomIxxGHUT;&I_V3?w1_J`FA-ch89Ra0Jo|<7{==@fEn}_xVLsu(h7T%dL(;xqF$qoaCHVd~DsQ +*g)YeLh^>vWALH4zSy2~uo(KcO*&m+eVntq{NBB;)u@zvx$4Z}uK7`RxPdRE!NkMs&-W8m1AQbOffA& +j_4_XAi;L-6%yD@iF3y&YEPIS;KY`O2*A3c4&whV(dRn +AUjN9X5!naKJV0|41TyTQ*(KJf4dz6#gM>+EPQEK!>2MLSPlSerQ4NWyHN_@jfZm4M&HCE&eCdgr|~IXs+dDl_T#on%kK$}dl%_l3$uKdNz*zN$8HNw{J2RG~CGJY1QrTh~*N^mq?YB +S=2_*LA2Kpv1@74LWMvbCrd1NU<9A{=S9pZyb$<&>O4t`zoDrLfULRw%%GYTL*PM6ynJ!8RHBU(q`aM +idK5Vc^$B^Peut$N_;#pkUuKa*mqJsV8oK6_PD4TS-X-kt_`P7ObH@ggKRhV+42M-@Ay%I`NKRBr|tB +HmkyP#INQHJA_bO|u~oxk8ew8!_+Huy4|k$hUezB0b53@Lh-&;fBlf^!3f)XGgB(L}he4ZRDjCS;cPT +iv%cQ*nYBgWSw4tI3SKPHax(au#mewasObc-grVpg(Uk3tsnqsUibQ`UaZzM4VbT8>&*TXngFV~Z{#~ +`uKG)W}^bW``TW^<%5_R_`(TvmeuK#PB{9Cxs=xlp|pxPzsHPOz|m(0;oMX$5r8Jhst3)D*KqBN`-Xf +tk=3ji>#DOQ&nYP*lL4v_rk6c}-4n+06q-GwBG^8q4xvES-Zd#xN}(AU9$*Btff$zBG$XN__F^>9bS^ +#j%Eb=wjNvZy`UjlI^SkzrOylAZ-J=g-p}$)80M=Co-;QDcat)V2@JNT>DN&(mx#2HTn;P=8uFI@SKm +R&nVj-1g)XyjJWK1AIA^o{YoqSZ8pC_m}Z0mK?+L5$6U*G7SH2C^BHs0Y4hOsL|KrMS|HqMQ1M +L=;1dBK&GCVN_hP7DQIq3Hojb|F6>juh9R0rvG22|F;~Do9}jQFbP|7oKUh9K8FCa#U +$t?x0hlkc@*S%owPJ1N=cM1B}gqL^I^Q$e2YnX&n#6KmE&onhxuc7SkU(i+hxo-KsQrxx +Yf7IA`|mmL>KaGb|$x>cTP`Lk5jPGUE;{D*^Z6AL??9QWL~wz-wiN6fgE2w^5m2{t^bN*8fXQf)oZJaC!?m1Z4+T?IB?xEqTqz~v +?CFXM`o0gAT=c78S|fun;hQITqK +*ed8rM^4=tqc8OnjsP_T{cn2v3vp0|3DL#9V1MKn#LpAA +U8n0M=t++>OI9(?{Vz8Yk6Zj3QxOfeL_9%;`JVf^&ZI>vxq9cWba{1AF$QvgjQO^i+BwuxgE`LsaQ@~ +)=uqFTmNr?AtmCpe(U3GlTT+)ZL07Q$D?{7|Ls~okbdc7V@(wvFgi$JQ7C)xS8kdrv|=E$(o!2Os>7* +h@N&#yh^H6=La(1d9jQv3M%0#r;vL8xe2BE}QZ$U +LVlF6?TZCj|`9Al#eb>^If#0E6r>jLial?equqt+MuYxK0AK1}PU4>S422?Z6{%|kXW2n7x3V}Bf_PX +J5LqCf0wLB%^3$>JA;R$*W?2ccaU+8NMpIBMiU`+BsO(Vk^YsYcsI3)RZ=qPalE6wC!JQ~^yPW|C>@I +nYY8+oAmMm6<)OJ64dO98>FvR*+EG;NezDw1U7+>#8KRf|A-QsIWnYG^K>ov{jG~t03Z*#0}Pu$*%=V ++z2sa1%b#pCkSnUa3L%iqs~$i?0BD6PoC1DytICx#jj=c19g$_UQMiiD%|SF!qY?gwjg~Q(N0D?tOT= ++cJ*jihjz7)FIq!beRG1)p5}~I5LR>W_3Gy!P8)GN`~s%#Z913DI(bqGQ&J_5VMv%foFN8z07Hh$JsA +=y2U5ge_F@)s^3`SR9Sivfh9t?~Fl3SZDMM1^I)-G*rx+3=S2DyVzr~Ps@~g{SFImXXGaTQsmUlB8dk +?vc;n=^(Max_dUC8Sgj@^%(&G5Z+e#&qhkK|;Ai7gGQ14&=NY~W@!bsHgLoOkpGUli;d>EZ$8c00BWEw6%R}_x4x9~Vw6%3#AvQ1p8j=X(K +MgTU2R5joySgN>EM%5H-qA*Pu8$a~ABgJ{ctFX~&$LY=KeVxJU2^b7x@AX$Sfpc#5!J +@+Bz~J#V}^Nbx#)$@q<#y*9o@DC%Xe;6)telRDt8|5OdnvxX^V6mhuFT`HPg0-_)a?HSOD?~M72<8uE +1%sF~_b5Z{b~&lG(|!Ot!FweNxuJW~n*7CGd2$9zzoK3hD`2!)Lb6@#J*pB3BrLFVe8-1=#{gXJ +(KGh|E`ePVAnLy57;zbR@(?FLd4yQ-u~?9dz~(TFJ1kVoAD}^wDS(C{8s-><0vXD9CvaR><%>tv@O@P +g@H><+oP}s~eNsTMpsyD6$3Wm`sduTL6Ep2#mDE-VSk?iox}YFXV+-+2@NH0MGu1l#v_nOmcB`nPG;f +8nuC2n>1Y>e6&%9G)=_!gWB{ix$9htls<|=<<}`uP15PYZ#=k;j&D4~<@jGB{ +D}<_NQkQJ)8%dcv@DW*F6>#NMJ(LQ5u44&Cr9 +1*@K=i=+;(()ci^H);^?_|Ayf{+$tee(#d3>|_eHqn^cMUQ;GuMb(43FEx*xKo3KiV~^;!K1z9{#T;? +fQko0x^%tFfE9zy&mjfn_K(|J7?9sgW^xbi2*Mfdpt>9TJ#Mat_(a)EUqjE9iygqczsB{4gqaWDK=yv +RJg&t{{EL13-LTSGix~2czcv`ewzsE#QDxnXJXDjffvvf-6cIKEz9shjPBFN +9fEs{D8t7bsu(vhTBw)qdvl@kCRZCsk<1M)`5f9 +F1E2f2)y6UyepyQs=r&uQBu}D1bh#3MXys2vBO?ol@DPA{i_~gXSbGHfXkQCAR#nt;7jzug+?V*JB~3 +6I?UWd;g#Ia-@Tc +l)`O4A&@GzWv=%Iv`at}IsMUg$Zb@_KlggovNWTMMVW;{>}Uf8jDJbV~cBP+A1u#@CEU$mIFH+qR0Pi +KqWQ1bCb$)|sYsU%q5o!2J%49{y5eW*qyU%F`t0?#EBc)T+bN`jpy%peiz_mPZgB_I>g`!8H7YCumx= +t-WQr^-dogIx5I>n#XWF<*-+=DG>&zcUU4co>a2>qQl8qoY?wNpGi2r8B_f%l5V`7TevWvyUv&A#>qn +#nCS@;v8hkBO|^<+rwOVh-PXuN+1o+;g*Qg@%nw*J{iUmPkc-r-Eaj$^g{XJ3##!B-1_2q_2L|=I02& +c&nQ_kr`1>*m*gzNT;$n#ks2Hd*GXP{Y@MO-vd8AY!pokHo|0E)F%)>9^ZJJ*$+2hd(MOLa3zw*M;@C5_!6P;=lZqrzzq* +`RQw8#989=MAT3a`|!c?)d@;CZ8`?rM9>prif|x%e)+_NjzU9z)L#j0AIur}KR|TXh)B973oA9^!nXq +fSA5p$1BYyd(C#YGLJ5Y{6IZdOnZ$h{c9Jc!Ds2DvunvG2A4ieU!kLmcL|bjU5B +z`)rCbFh*W!YkU77m%TJz;f0l(*#R-(S>INpyf^-6$5W=h(6@a}`V*RRky?{ +?akmnMfV0jZEJ^LzDu4CS8?%!yeF(Cc>|RzhcwVS6~6Py_JCqHkPLlfDS2#7gK0Z~_V}GE1M}b>@U(a +7pyQqi{|7;v(R??fy~a`Ir6lJIhgd2PANCH)bWI-dMP?R}v8o#_gtFmTi{sRHij`n<+fSSeOn@n6VV6 +S^xGidGqI#C8NzyeG!Mvo**%|X!O5*NyAsDSy12tS^GIZGxRdLDTkf?_z4~05cDa3{u%dhpN1XKjp4_ +1p;KIf$F14LX141Zbp}sw;I=+q_hvgxKab|BYxPC9Y1oc>61!9Yg=6w)Ks6rOUPKFkL`;y5D51+oGa} +;lmUP7!@rx&F{F#^@zDU2r3l%PG47U*6-cDi?u`A9Jh_e#%6-c?GUBs+xN~kxFyOPj&7HRZ5@Ir)Q3O +6ZL&JD;jlyf{BH|h6zCPaOaQP|>#_s`>u`khCp&Q{<$3(AcE+`Lc1tKM<)?*^lC8}RN}QCQ`H2d)NkO +}bJ|1_q6j^ITpaNlcg)1$Q@(8e=Q-hBkcji=u1?*(LM<$aP8;6y`JIHj~~0Z26h7%H)$oH$s+#TN*A? +&iZ}?UJ+}!;K6O3jFazvgwQv4DB}Ysw|d}li$v*5%5iwLf%0H~PY@XA1)@d)lTiAa0TrAd!`*b2ongl +9+HkXSWU`;be_Kzc!vhtsD;3+k5iPi^Ks&OZ6b3Fq6>r4`s=vI_6j6?w-bwg2=)<(8E2!col+bB~VD$ +(>>4WHB3C$hJss$BldEygQEFvMIQAh)+N{Fr0?+C!tj?$5Xl$tbi`mNK!f5Q(z53B=yah+NyT*0CqyD +HXLytj&1Iy|s~9r}!to<^uJ)UU?Q6IFO*lz3BP!R1yg;o+`J7<>aIEFHm0nAqBN32)I{Tf$f@VX%gm% +SLy61NnZFE$U2LiAJ|CQ2=n8Mm-vZAKwcS3Vwbb(zRE*w`gq5wuowM&o*qw^C1PPf~ui@IO0&$8B{n@ +t>&0D?*1c?3N2V96!-D%E0e2vr=1i^cLt*G1gQ!L)c6o15Pk22(M1Z-nIbBcP)7va!t?jUE9J4RTlPC +aVmI7^9F4|MqjZ%O82SNYY^#2&Cr+4<#>I-h7?Xy6c1htCFUKtT=9R9KT2oh|e&2@umvM%E`eu5E@)* +{N0DZ85W+8#fdP?XIx3HRd0S8^{#Y-S=@AkrL*|u$yuG~2Fv~3HM+sX- +*v4UY-i9ly1~p;H&~Art{d!wOczO=nQpqlJc7Ayu=km*{8F38Nts>g2J7VRDJ@lyoZ|{kwHu%kX}m8O +JLRzlp+uW-XIN_H_fDUB&{ZOS@067YRYM=ryY8K0i6X!%R?jCd2X9s{)s_!aFVzC`gv!C0R2lR)D_r+ +dnf|jNTE-soX_te1=ZfpxN9{!C*$`!>Ze5@td2G`OiiiI73a1W->3bihW2-~!>*=Nf?Vr2K7Ggwz{%?a~IhL*|Z^?>3ybZA +5osKGHoB!PVaL9WI@&Y{6#yx&#H<@)cgF#wR)dl-=W*v&t2~`SFBbpcver>zh2~93$DfrS&Nkbl4Ofc +Uo@Sbq^nNA{xFRzc;3OarbTo31GoPhhr2l};)p!Lldar}A#q)L0$9JX(dH@VH?uww +RuB!+-i$&L|BIv4iilAq=R|LIR->D+#8UNQ5L8pk60RK)!(6=Hf<#*1~&VfoD|C}Od%08$Fx~iih=ow +5A^b9ve&@-s+u^In=6hSZBrd&r6G}r{bWyfPkRqYi)4( +WpB->nGxH@G_8l_KbyS}4bMp$OXY_}{Gv`Y!*!LlN{IrbJ9t1l?o;38QO8&~~nJ?7E7eAAYQJMbIBjZ +l?&EsWe8>-=zuqo&Jgf10B@_Jq~ZZ;L0HkK|avywEUW4X!|54L|;!a^c1QXdX$@D=rX1lx+H&6wj&UR +PO2BWVJ*D~bt0%CharXr7^{`-9;$Nako*m(8yY82OgHp&rW+dV$GYr)(l?Cas-cH+)zCL_)zCe;YUpl +UHMBQZ4UPA%I#CV1=Cq=8rW*Q@pRmj~q#8Q+Cs(aB6u7B|rah>t8hQ)W{M?F6U}~^;q8j>6ch%5y+*C +u;j#E`k7V|5rp~HSvHFVQ2Ts8E!s%q#jRMpTQyHrD;R#ih+Ur#kOD-9dypFq{ny_dK|uxA%@)zEi0x! +=&VKS4W-q_k=5+!+9C97~(2CbaR2eCKL?8B(FBaf<6CZ?KNMPZtFkMxAI663cfI%y +i#v8zbu3Vxgd_Xfz$FA78?^|}zy>kv|vLZHc@o#`8%Yc4D>Btqo!9<%;YZ1&PQF9U0!cX{!xR2t9Eu8 +Yz5<)bNA;rhUp2{)NUpeOJec(sDDH3qtCj?#xn&_VYTAaVrkR|iLi>pfeG&J|;G>1?K8`Hw$T}h0;JR&AR)<2p3J7OhJ%yZ$N{9 +WA^Zv*0p89YZ2!dx`%V^T`1NTfI1fGbKC>~&VHoWjkBY_qN8`=#;5?|h%TM&D-XK|4+v0m9~g?Gg82K +C-wjIY*Cw`R>^=;{$sIp5cqBpU9U}A_WFu^9Z7)lWZlUJ`l6j9+MyikeLmr5EurQbYL>eooGUt +A(AmB^Wrwo&jR{baH68scq3`x&QHuf0d>G750ZW9QZmk3-p(G05M=K;`Rs>{p|I^Z_gYr|-D52R2T^dxQ)(kaWA>V58 +te2`P>b*>!_4L-i6ZNSq!nmN|FGKhSd|JU2`<1>J-xE`+8gOU+;39h1p<0gItWYg}kyI;^koF;@x)DN +|OSH9xUbh2gFiQcocpRA$rXsITWgK=Ok(F`2euXIk&@9Rq(HNW`RDA7)*C9X*=9gUg?N+m-Ew41`bQ< +XV7XLywjZCd3>1*_Sz#j?p+E#iGt;0n;dS#HEDxiFjftPJ@7meNSOEKfF-1qEipMzcP!!0|Hfx%Jb4c +qw%B+o)$g{xg$6Dr5eZ`-)7Nv4m7r3=#hIK1d5pO0d<{EUTnhY)=+Zg1%KCB)Eo*)w7**387M_wINZD +Ufb);(p*0An(iHB&)aV!!l)@O(NX9!a6=l@L=TK3;ya{1SvHT{Z|Z6q}4g?WPue +k+s8JKFGDQ&70mktn$Rxib?2;La8^`jlKpioQYb86QeW>y8Z;J>n4URR9i|DV$=;MrlL{A#ptq7rUa^ +R({Lzp6xDk2vG`<(r}Hr-^t~Q9pWUD@?n~{jDf`pEfwF%$k8eUl0XEEIh1VB7)7m~~JLy&A3o-n)?vd +)v;&T3+_92Us-&rNZj=LXBj$G6h^&K=U)OY2)1LiS0 +rCgZU&GC~`?oyAIvH|JSq8>jh6@2BRd9*6%NsYcj#6_HE6ytNlB|cQ=nWPXhL_d~#a#7AY|rc0%a8nl?w{J^Pv)pJprfLT?<3u(8VL{^zUg-!lO9 +|u=;Wd6X{7hAWM@jC#lxIzTp2YsISh1JL)I`)8@Q*(nWt4~l)gg_-62Tci4hkBsnvY?7kmiRmYDV}dQ +Es6NuP*1D{HX=Vqb*e{TL+P8*egCn;4y`FM1N`KW$<_CcBi!sDt|A959-V^TJdjTJiK$^LZF|U^1|co +(G(`8W?^nt$=1hviwBk?xV54SHuj<#O$Al*dIo;pCBrYQbo^#mZ12fR8mKW44tm3TnROI)#?lHr$i6j +nT1G_XJ@zWcG@8)cW1eBLNAwCO45HKi6x_)OA>Hv2UjhMmGvIY=SydJ#8&Bdh^?q)p}Z{>OKiE +m5a%h3Z=fkhvjp@-0=CSwQ=4x$Bu`)1(_4B6r9L5nn*2LohDI^ +6KoFYYQI=$o(dg40T6m84dw@zVTvHjBiUBfaJ*-1EZXSV-!TAKDU{wlc +E5K#xRO6)<3;zxJG+7Gt`rTGHAtt82k5KQkj-NasM4VeJ!#OTaN+x#CxPuX&c-oDo_d?>;p(W{P)|{p>g<- +$k@q03079aFqkF>jCh4#__PijypP)~y0_(v{feMge7t6`!zRr*3%ZXqcj834n#3j=&K0L=LKBQQ544zIm4BZe0 +L&05Y#;oH8r6Jwu}Ign`z|ZT#+|ZJ(dj!D4$qxvA_TN4cJ%Etqn8Z+L$Q?ygO~XNfR?&|N0V*&ZFE|@ +HzHuCjHyB#?wC+{ETXR#6T`#sJLf1LJuMu5Ne4-n3iwR=<-3hzPm?#Ko +DXx#O3(79EZy2%KGuOJ|JuVuIW&azKDutI1T-*6=tC&^TMR~FmNlZzgSr9Q4$~a0$##)jFy*Sqbw|s1X*0{CeLA}6fimbq5 +f`vgZ3yosz13=QJUk!bacN2J7g(BkmdzNtO^oJr+GjkQha!!3~}ppjZgl>DIR5WSu&Zd0^o~c!8*(l(5fL0|rttd@iiA#aO#1M8 +&=O73;amG@?Lsn)e3RMp$KfH>c4Mbk(El-{4;)Qq3ZZk)!yC$%DISPnq0TZwveDR2VO$M&3P~lAqlu< +n*PHF?>18kJ~fY~U(jmQPgAxy;MXE^YI1b%?1)Srr)AL;j*=!8DTZ9dQY=13~b9}_Kd_lkY +;3Mm}`g`C6q4EPzA2l^4`gm5xfMc${BWz-qq;>6y2qyRiqQp$YuPlg1`i0s`8xan}Vt>qtE*sLk%u*C +U#!qK|gwO_q)YZiV;*@$bp|MW(CJx>&va8w-Wk>jO4-jILkYeBRN6gdZp0Gy)HY +L!~c0%v>UwONy-JE|IDW50fN+6VV|IcZrm1JGx+O2XNy^p5y2=I-u@pNhhy;wv#C7d_fL#bml~R+F!) +Zoao^4S*K1kRF#`kdy252&vh2G@Gb0ZVOGT?!NSh`2x*B1oO(*3Eo+cDLypV-5gpQMmmDo$Os7#vf#C +~~ZHEH!u5rbRn|Sfsm^;?5ChAy0j29v0`kfUL{B^9E!cCDxjDiWMt#DH`LH$sEeCiDI@E`MB`k`*?;P4I(b2! +}0VI7C+FPYcRR1Q<3+Pio4D;tE$DIvZE43-^Zu;pnZ0dr=kA^THVyk_2|^SJ65-o3NJI8?=j +~;lhQ^bh%wQV)LDxyjGe-w0xWJ +g`55%Vs_QBh-F0wI9uG2uY&3hPfGs_%jhJ=3mXPnol)fYJSvwu=Li +u@}Z`$rmLod@uWh04sc87A=La~?%V8=A?N5TuY+@a=Aw2>H)(^D&R+)7_j(%f-@F(^K +PD<5S~N!vkLllUA>ul;>ioboh-hB*M>t$a?rO`X`P~Pan+;Nx&{f&N3!znsxPZtBWCS%U#pXJUdOyMd +LiHO;jC>junnP$m~ozawYvy5Gc|`AAze%hYzxO? +NK&09!(u03I0mY8JEO|xR{t_EI8gSxi^7g)(C;E8O??{>-uBJj*=us6^aYp4DUv>buNkMpAi+Ri-qbN +8dVB0rg-jm_x772Dx#;5{St)tR5U(Emk}DELF0k>JM&xnlhY_9q6~%NS@6Vx@f@rf2~SOO;OTGH9Hus +ozW}Q66Baw6|ov5%xFOH#%q=$$@rnfd5lz>DSO0+Tud@Eb5X9;j+jE?hjj!A8lPM{w&%Gvmj(D%`HpQ +0I4}>{OFGTa4t<1-E8oe?FzwS90e|BT1pn{YOu|tX7srV;$?Zqa$)Z5G$rh@&`&Ou+(6^Yrv6#UQfbO +6okr5KAuX{_#XiA6hQnBp1|~bXnNklqA +GDM9LdElv*pGtOiKI24T~9{j%7z0kYDnHN{+3yHV7g_uSJP^DF#yZM|FF=pGO8B=h>QyIdHhb1C((ZT +&m=qa)oSUFA^oq|&dm5~O!QkFg+!sPQ;x4KL?Zy&g4?7MM@>IMw(j{DbwmmX`GT?XI)*#{UE9A=jq=g +XxWPrDvlxhViZe|8^<`U>u#bB(-g}#i+&?{SV}S8I9FS*3q1g=A6Y$SaWJEUYq|hWa4$}I~P*3@*K1F +oy*;^S6oB6(s~UqxyRq0pDa{e-)GP|Vy%shST-3W)9H9PDP2BuEHxE$L^J8X%njSX~!KRIJMV{ClT;xfSPVEQCa}QnOfUC&Cjjg +M$tb)CewLVF7N^RT+QVT76Zn&igLhO_d`SC9V{@hLOZZ}+HUhekh8!c~JxjWj>$01$6{DQ58MaB30W?RX2X-DaA?=8FU{s(qG_ +`8R8J^aX{yB~Y}i9Js~_4G5pfA+cOUwH8ke|+grf8P6-mtT4Hwb%FUKXCAkH{W{uo$`u9hmRbstg1eC +{N0)pCr{O$KJ(t$_docs?xS-b|Mio|I_9FpHBbZzChNs`~M31}W*BTdQ<)r7XohPP>S-ClAKR?fEpS^sgHBB_8%ADc9z(x$K!8i;g5h%&9A^({k6bkn_nrkoo4)6{Jzb1X8Ajxc|KK^Y6(o$OnPW^Pc>Bw&sU;d +4WV%TwDxnDG9Zt8iwa@%ZE?|#JbGPOr6eWoz1q^X1hk7!=0Ji;KTi! +aDwaZY!--;u=^S+Ti?kB7q%vlNnKGM9Rjj*n;bknRZPt`Snc*)yCEybke%wtNz1g_CmDw1QBQWd>wx~ +UvaRU`G1ri5v*sAA>#S)GF?D&ix^pr=2My?+0faN8<``0K;4vM-;Ho+hbW{g_c57<7A;X@#8bYvW1`o +u&AtRJb02(g>NJuP?e`fA-$e*hk4R<-L_VrmgD-0PlW7oLnSw+#!ndFJ-P`q@9EjufX`A}Wh58QJdV% +HwP9f)+D2vjU$Vsd70MbsbHC%m16}S +$>?Waz(2Fc%VZxon?CRHEm-VU7NGRJa36xeI~ml!{T3?C1xV4u1>DVTM#*3gn^=DO~G+;4mm-c6RPsj2J_AmaS{Ubxo5l_| +Lw=ffb%-7;aqyJxx}I!MfTeuD|)$(_0R##+fMSAU}l-1VNxqM4+5N}4jDrx-^7=v)2$y<__wc3_#U8eSUr_ +73}ib8sIm=`*&cEi@%062oA82W}$db6nW +rel&g_#BZ#3WbcuI;|3hjlfGg%(knd>(hDH^C_lS*y|&gPiI5|A!I(w;Yl&a99|0Ge#$QAHp(L6RKN1 +qHCm~~l8oSj8)cTd{Y(6R8Nx{ASNbe*5q_+q#-Iw%^){)+GLu=K%?7x{1RHW2L&2K+1(r;Q=Im+SNR9Z$&9WyBmJPB`^^n&>{-ugp!X(vD2pD-qMzHA7kpuL+EhZGkRT|3(Aa=-jjsps9qSd@JJO#Fh<=s~(CjAdxrxPH3j%5H(Z +1v+@ilT&`m5xo=vT;1n!O~5yW1e`U`i(+N>?@i_Bn(cgYQi>{{wW8Hq1%wZ7E=Q>>+=RZ|mk0Qna8gu +3+Scu^z5A7JmmJx5M|L>h4z0DsT8LCL{#D@426w0Z)Rj`(+-chZfqP59u*h?+UXQ2BS}ww1v3{_|T3+X|l7{C=L;1>^@>Os@KUVL+5B=8I&VLhF0f2A6{y(oqEZL7VEG>;rW4CcVdomb3N;AGF;tpl#UL>+@ +dDN!s$`jTGB0HMx%j +qSnQ@$2VH`aK2Zs}HW#mj~JcQv4(RfY*aD9q7aQ!nn|PY_CQ}bG?gZ`I`xO8NMw)^L)|teO$bt2?M%A +dBdQ*VPFS!V58-P_@I3CY^3o^QR90_BILZ}79XWoH=tJ_&?|t1+z<4^G?M)w4PRPDR{u~(P}jYaUG1n +mIM|y6L%ju$ZJ);A$6?L|-@(i7X~5V5VM8En$XuQV)Vm(Sx1|vXX#hVYbAGS`kI^=#qixO?={&7%Jo( +LYkOqA9ml@QA`;qYI-X#3{K8<1ZJ!?bCyW4_Of|7#W#yU0Zi9Zw42%iV1L+^n)(mh!Z?XDZ?Zl}Fqif +gRII^tt$Ul>#S0-b;#SlhIF;QKVt#sU)th~2?G80tQV^oZ|vzh9%S-n&*?u8zBctNwza+(ATt#@|NAY +tCoAAnhJe-RvF1MY_W2AzU}2f7!o{uey1VZe#r-RdYw!k!IgkLOZHtIKtpwe!#OJD?oqKYi^H5m19)@ +#npuLI7Y~7ReStOx?d9V%a8} +2=UJd`OOh^@cyV}vT8~6qO2i^j{uXpbUk2Vl;0lrtb|7^emorJunrXLD@8Sqo+%iU~&DFI2eUj{SCLy +g_*gK8N!`z3WDZ#AO4rSbA0UeOvDd$1k&K|26AmW9;#YKZT0-p_4Sd6BnWJMi!b57I|d!gv+Ob!zt2P +_quq5k91k7_I3O9i{1`iPWg_h0Pb`9B&c;@dV6eHJ}*~Kn94xWI%cl)KNDwply6h>SVmB$ML53gg`P> +yh?_qUm-)Ie&)EcY~__aPvY%Xn24*3v_MfBm&0y{NxmAt&TC +<6mN-4vJ})b0MYffPT@5~Stab<;pPQ4Hn{AC3?b!)yARHk*i7_uPYef!^Avw1#Ns_LaPBX&SZXwODFi +k8_d~UkcbvCt+2iPX&raQ8&)3dUzx23K|zt4Hj!L`LsOOxf9=*SkcrmYvP$+-)&(yj5Csdn-pFQdz!k +&smw_dGFO0E*%2rp|+}I49szDoxW^R#rRIUGjPxrm~|0zZl6$t-6xdM*q*W^K&w3vCo&(B$#m6Hx!jCPjX+*JqT!-P&SuCa%bvfohA;KVt=A@!&fw#`JVMt+kulS`Fh#sPAa6g+L+7f@CA6!CV-D$j_J +xx*>Ovm5f_bp`vV9#D(MxP%PUjUc*@B+IiVltBs8Iw8SR@2`Ps`YKJ}NLQZL7M8wn(Rmn|OXt1aWZA- +^29CSUO(q5nw2h#i6o&egg!Aou8$+@m}PhMdCLz2}_t1~B!6%&$v1Y=3gN?XOtU3G0w2jtDC{3yIOwlA8*xXSqGqz8>;;j`GM{E3242tc9`u132PkH!~CjD6y^?8G*Vlt-Rh#P6@9qTXhEty3l~)vl2qoBK0AX^evU`m-W%o&#w^C^&|V0MVjRJ9w2*Z5 +%eS#}ULDQtcI|`6ul`W>?OF=!+`q@K`uflBKfnL{uJ=>h+}Nkik9;_SkP}M{XEM$zin}}NS5VuVCx>{ +(0MD-CTQ7JI9`(`UzCPa0$9;VrhrS&8aW{WAx1KyKLOqW+h}+>g+V1>A`+?kk95)-eIi8!7c$m4|ejb +MldHlEYw6nSWYJw-r2))aPXK3v_uio5$KF@Ojhg-ROA$Kq0@t__$JQ4ahH$Tbq^9)b#Ic~p?=kFwU|B +$ +$eW%?$4fQ@X6mZSnxzWJ+dFSIiJGk!GFcm=bkon5r07|gK-?bc7y(n9KH_zPd)X;Q+>#nPsvX$?mGU> +Pf~0S3@CHX-FePHmYrL9ZtS)G->dr@?g5P1%tE#*iW2YUF7SH?CJy5`oXlYihtV8HayXnr1BYQ8>Nsr +iX7B=s^&I|{!#WPna#+h@4Tsen9^tT@!#6qH&*7^a?&a`#4tH_5gTtZ@@o(f%-Yz@d)AtDX%0$YDK)`#Idh;oma{`e%McGuzMG{ +F0E0 +q7&H;ObQ+t6K@Hl{$-XOmKj<6ag>o&j}7zrjRV;S@Faj$<3TQh_^Sb)8_)9jSAaufAa7ugXCQ`5f_M-I=rslM2Dl +F3vZ+u8z%v29aw{Q!1pHNiU*5{%kpV7@10I0-S_E)S94kvX!1_4m2O%yTA&zjmk>xoBU=e(E;J*yu^Y +GOJz8BzM;QIpO0ayW_4EPa%4^D%*0N}d-o`UZx;I#mcBod+>s-dvYZ7i*R0AIh2(PTeB(`-gtgwb=Lj +=(>{@8A;vZv>b>7t(^VAp9vAuuH0{GT4mR32y+!Th}04k}_mxG^}<%Hb1oQ2&1upu2}H^46d9BpO!j{&&K%J~i8)J&K+0UihNZTM +;dF9#T(#c&hAV;rvmn7k5b3pm17_z2VmSp~FO#b~$@VD&0qUVyJ=gBS2q4$!n3coORl;Jd3?J$?c3cn +;(Z@EU+YxvX3Wn{ruOYXKOCXJH|Jgm>P>_%j9I;k#H`cy{H}yI2{&0BE$s{1U?E13U>|BjB|Fmx?eB0 +&W9%hXc}sIF|tY(;Ally#U|a1brajX8~T^4E-(OjR1RYVey9nd}0gpzX#wY__6{25#XNf@Qu(=I9_6Y +VgUBq0elH~7{J*(c>Mx=at90h48W^9)>mxeh@Btg!fSZCq4>uL$IF=@UGpAJ|e) +&yBTe-0^I)?Z#w|*ejH!YggOHF%Hu2#uLAt(aTaF_z@R7iI0CSK4~qw3&{M2`KzROX);HDz{NNerO2N +JkV9oDYpN~-cEK3*RWR4@e2%iPp=5x>|z_$qSBLK7ijOX4p6i(d>d<%FSK>J=+*LwgedwKu!7r~-*u_5eTI5A#aEzW})503rP%fIa}v9fW!Z{I3A-c +mwzza2vp9-Uc299O3h9|zE<68Hgd1Hkv;+Xi?Yz$@_W +0Q@Sz-c_u;7J!?N0S|zE8Nm0Bu{h5H{M&KhbFi-m*nFJVBR(W?0{S1|LxjaAnE!167oKGJB7nP2@-Y| +Ss#AIFkW3e8hP80>C%EU~S<|fOEcNb(9Qn!dJ +l4U>^fe`il2g04ILU_-!)4ui$G0KQh22GRr4IO#_q-WS$WKqn$ugz!A1w0C@s%gaO|&of3N +ZH)&>Z~O06H%**@=7)asL1x;0QB*1ik`16W~KXa{2%q)iMK(3FL8V?K;LFa3;YBCENEu^P +Z7X(;Hv}sa)6&Ta~^JC_dv?P4??`_@jTE6;ceU=VJ62B7IHrbpXBxk-{d&L4>^wTdyXRvyv%SsJ3o@+ +2u +A;Ba8kZiMcw<>MaVHnyGS=Ff-DQ}%#8&QGA*%ExfExV%PC89d3yeMRt;kCT-!fVg)Usp%MxhTfDEIv_XWS~-S~`#iZQA=>{$(YUe +{(W{}Z%7uQv1WSHXQqo4NKQFbB1n*L?&2wQc75?=)10s%jQ4YRDaK=|P(%WwS8JLu4m7vUU1A0gSF<60FnhguEac|hHK(8m8Au;p-Ae^MF0!=%yq +cr?rFd+xrREg)*n#BIU47w^F)_>oHMg8N^~|6@)=-g*|H-G5Yg(?J$}gw>PbtbT^ +WSN?N}bU^(6?cCi$a|#{V@ueIir87biIx_)A(uLm^0CB<3Hw1t_~>QQtz36E3m)-x6czkO+H~AO&6br +`*RO>YZu=Z_>_F2fzJ~@ANcg}4N#EJgE+7M8lOi;N0Y?FL^5yQJhEZKhITw&R#rw{eDOu{>Z`9(9{=E +j56G8ae(BHXq|V@LP<3i=uqn+`N}iF1{ONwE ++W^AfEvW@#G)5&ZqkE;h&z-3278Z>2&>*4MT!0^Hk&E!=FFKx7A#mmZomC@v +UKTEvN?S^S+QaTS-Em0S-pBSvD@vm|Jbx?6M52cEBV8QDdd&Sv7~TC0@<-Dp6tvul1J@v_+lVX}MoZn9_39`gI&|DM+G-o1OtYp=aV`?5FRe3QI)crV#{Ng= +N_D&*+VqvY7JW8}n%6Xf*i)8y>gv*g^lbL5jxJ|P#stRwGzuaHka{gm=WLqh}k@!~h+^UDfpY-}XW&C +Qfo@aHia#)l+Ayn$(SWgxo)-}pmg?* +;6~ZS%cwEzfxxTUR^besHs#+m71CsU2pyOIr}=fO(Hzs_x--#ulr{^_uO;V-fLcK?{)48!*68x13Gx6rqV~L%Qowy% +vb!`Y}+e)So5za5en5Fpit`sh5Ej(5HD~kZLLCU3KZIRQU~wN@a-ACC&RzO@JS4x%J3@~ejUSaXZX(; +p65(E&hY0L{)!X61&`2!M~LMSX7UItd4zl(;WUqMr8X&7Ta$9VFDW-ilk!U%DZj2E<<>rO!av3EEg9a +x@ckHm5W|mW_*o3UnBiA3{CbAp#qfI={y4*5)WKKNIPfIHKgIAq4Bv#|TQGbG!}n+S(F{MA;a4&I4u( +IfgD=^vYSVvZGKCq#jArq;`xq-(ra{SgZ}|)brr$e1o5MLlY~*8;k%pS*%ahsZ&qAE^ut*>&-|;ILEg>`PVvidUO#t +_=_8Sya8`AUq?y`?tp*f4qKA%z*2WqVf2iC2p{S4Y+O +!kBqQbBEuuSO5DKLn>H8Yheet#;gROZu1|YDsoj9<&HP&SRMhcJVhYJMYcOum_$S71-8qt392stj6hw +#_B>x$ItGRV3P_XbAo?W}vsZ)nvG$+Cez*PR%@8CcjuZ_tF-5jCM!mdFyEcuYQinOJ3mpWYACLo46Lpen?Hb&e=`S=ApN-^_{_5#Fwo%Vpj8%$f* +eCzs2LrDThAxlEKdrMOm#;S?tlc@HO_n^HQC-RZxm~PJ8CWbZnRN2XUaA$boJi2f9^CZCbCirtL~!Do{pKp^`?&l{IvZcK{6K~u&G0iBei_5BW%$n-{%)N6Gf(+5Px=3vr^xp(dwP2M;8;(*sM*t_aX>%-{({t()5Za{-D@>_g3mpD8a8dp_ttjz3h)o`SL*vV_X}uHBcL|lQ1gi=p04lH*e~F*8h% +e}UwC`_H4ms(?QuVbY4(?zPk4INZ65GgwQ4o0SE=%Nvs$%0A9>WXd4tEQ)xZ}4?p{w;b*t(dfYzXT6^ +#Ekk4km;?6HP5s#o`C`|@f0ROR}7l|dTtInVE3|F2CO`UeE~H)Z^J{^tJvjr{$6`~`jWx#5{#A0Kh5O +sR!uC>8Yw0F{-pAJB2r-Glq_V855TKZF+-yew|0f7nq8U +R{%DtUcEYd7V#%W@w#rj;+s8%_}PHu_`_;Qin$!Xwn*d-?L^&vV?_dinC@?|=H~r}G?p&Rn{ +5=^P(VUcY|*GOtU|9zTA3&1au|Hpk7)%|AFeI6$MxLmLM_p#UH5hkuYY0`p&*G-=Y1kKk3!3c`8}95~ +R>o*RFD>hR&i^LQOiJ9g}#^XJbK$5T3V=nyuj=;X+f&cE^y +J^doEyVcI=FOW0-sjGpqwl}}p7!qDOZ)ci6ZZjza|C>UmSL8!S+i#HrcIkBbIKMzefsp?2?+`2)YQ~I +oL2)k{G7$VZr!?VX3w5I;F)Kh0q;D_X0sp0yYaYzO1{o>F06y|bv;4eF9kR39S9r#N+{1r8KZu>c4xlg3pCIaXgvfM|`41Xc2JOEfdWLC;KTLG3+sQ^!zvA3 +_7ZjcN~Ix?ZK1_3BEKE?k3ak3w8o7aw_`b^!p`7ZN}~h1UY34=|G190066#=eTzEFHVPWPC5m7g!kLE +LOH`5eGxsHB;s5KezY@op5*;+iF6k&uCZ*AF>((vWw`CcvoMfRTqYbohRH#5=!1qMYeMi*y6j3B-_(r +p5)|p^w&!4OI44>3wyK2uZx2ZPG9=Ei=PAu?eInQm|wyiJw^BKS&dg4k4^d5TcN{6Hcx(+=$`Q>_gZ$ +dC-j_X42CWZ(a&|dn1=mm|2J|~HKGEUvU(b+R-(CoPtd=mTA#_W@Pm7}E@=S%?Dr_|?ZIT97)+}sbRiqlu#9Oyi)R1%BGb^H@%Z~0l?G|gph4O*d{XPrnC~AG +H3JRIfA1}9{{>>0uS>(9{k_nCwzX8`L$EnXhol8GARd&ZTfiTFa>G<3<-FFJvY3XIOhd+475~J`L@!@ +t8j6UXKd0I=e3IqZU3&%%(w;$sv}gDvzpY}JUtIBroguz(p5^SIL3UR +)0X&B#yZd|!QhksLPurdt;&od1=d$wryY%ElLQqWgwe3m|`Dbvt!YpH%o;LrK}+;;8S`Ergj1Ng%);s +~7q4aj*UE%*+xR_0~6hIosd0qw(-jGsm`h +rf{e->FllCXj{fuvg#>+8t9_t$TO~fk1Hni>2f@llVupzk<1U_D$A0z&PM(F>?vqI= +2reQPFuzoVrz_tK;1`RfihQ%5U^FhP#Fq%1xX&7Rr_8B2bw*@CuNKap=D!2Xi#vi;;SlsxgbqmyV2k#xqg^vPP#)8;m1z+6%rw9!NqbIbpY+Zc1 +HGLPN^da@sZ7HgOv67}kEX_$1)}gtMqQ4v?qccwANWiC@7%d_6W{>+X3d)Aq`{Sr@@Tnp=Qf?*xr9EM +YoZ;~gJ`Q}&uew|yh5X4sYb)USdUUi7-@E_N&}k6F*rW=wfE{*Zn5?%g2=djI|RMec=MX7=paG=BVeCk^ +G%QJzfD;FH!TSHPZ`hEn`YS*;%UG=Kj5o$NcQY15`;wOVQA%9Vt;oS2wMW5 +s#Vz#Fjvz6!Yz@=>e@&|uGdR*j?Ezwvq_bG*}@Wsb2}v*-D23-`i*+qP}BIM?~R#J^?BmhFcO84^Eu@ +ZgK=M}-`0HXHTs-J70$_E~!K%{OV`!iBV8!2*E~*7v{{G$0lrPDnbih5-%mr_e*hLd=mr$4vX*1O7K@ +_log%bByt7jsbgyPg;@`3H0x|{t6Bbo*fw(ITiZDx}L`C{&pKSY;dp*6JMjGq$FaSAe{H;(L>}2pM3I +(&r#7WT|?(A)F-F82K8rsc>3msUi1I(F>1VDaL`Vjl!^Yqm@&DJc +{c6-5mjHl$|Fni1#L0vF%`+t7E=AiFCq=+G%SHhk+>%U+>v{|x2$tmYVq&-TeC+Vs{?I`+jzx_RS9A< +MhM`wxp2EutASW?V~4OQUJirrj7YU;vFAIa2VQ*Ofw-Km+UobOJZf;YthkAP|S4_lVK373@b~9f|LdB +SChcrIg0x|9S#Ey5IdD0JH6;CnO}CeC@T@eg~e^lu5^^9Thcb<5qboF0KI}ghV1122IGWsTSe;^0)M7^Zu|D_eVK>!`9+Fa^Ql@<{ +4uXS|B-w}$9fU?uxyEQ3p`aU?1AM?tZzaG5Tn3j2_yFt;YYz!`2V$Q*HTVSj);LDeDHyQ1FxA+MeN&N +;utxJao@$?%~aI7M@8#5B7Z~v1OLzVn2K}Q8;-yQ@`lZ_o{C%|E-p^^RUCJJ+rSNUL5E-qGiS~u_E{oM>l<*B9Wd}S@I`3QAFP +Scfjj70zI-|M7}G0Ns&v1&JMowKKl6JAXpnxfG&;a<_#lqmVx0h;LaZ%iPha2<*~lCMbsgwEbO}6%4K +2dM{P)lI68P)&A3nl0#=6piBlg%|eDOtk`|Y=de(U)zJMM!nLDzAP7y#U5eT4JcW&Z{40)PGbmt#*V^ +b#=$bjbaF_z(Cx#3MZ&;O)kZ8)?asB|@L24Wol@xi^oz3FpumSwCQ(`CjG9mH!*uo%rkHqCSVw=QicZ +1U)@HUBH7b+z;A-FLVpO6SPR&IX_+XfcpLi{DBMGm(YKX-!tU;t2|odo~NweK{ogfa*#DS$PB&+wFK0 +lKnrl^IUdB%l#9Q9|3|K+%99E5d*nYjM_mpbx`pGXpMEO*E_eWYg}wuS*a7R~iie21z+b=r$$rAQ{{t +EjJCVP@|3MEBj}SY-W2`yBd&oiV??MhZhtG$vg&*TJg{W&V%?}%Qfj@M&JUuT<-}Sx-*X6zi_zW7M># +Rq=bB<8NvO-+-e8{+?;q{q+`ycL@1J6A?l-Kc63I~@R6DHhNs?zU<2@_5!is6cS +-*j0o;v5wf*Zsh<8s_rg+&7S8z9l9mrZ4CFX7>4b3>%M~A?JQl(djA1{YCNcSVow|O9qh@Y# +&)myu?FBZXgseMhRgLm*14D$c{F$;*F4CZ^bPg00q50vA8KXmuavfRQKDUT(FZZV{@DlDXCA;4#IH-| +j?#P6qr^UDs>0K0E1w_G>m%wzs51uh@nA`v^g>MG^=mZexl#J(Fd%>Az`zCZXY1l +Pu?L3zVC>1u`O*JzL9KhD-X`?%h+1nyjR*RO8Wn1ts1v^Mg#ay(^COP)dOv>h^Yc0>dhz1LQF=TuH}o7wG}PO$r;7Rl_JlXSop8^Z;f3Fb#xO2j_Nlct*aYgG` +uUMpOq@6|e#(?7!}YaS;DCJ-@B$6{>!>wlYxO?VnXn%UeMF53wTdKLCn?b_bnYlb+vqM5O{zW@JG0YhWc&Jt9NapG=0?RTB-gYI +rgMUlj3L2oEZl`%$qk)_&xYt#6I|c=mPiwUBuk_n$u5b4$!4Dhu9`u^l_xoSt~1Ve#8{)b6`&wJjVKp +ZPB@x?ph0zvVklbZ4-WH8oZ2UC6Z$c#b3ZFQ07$KU`xn8ph=N_Oou4oBy?J+44EId$A5gtVdl2wI$B8XyCwsg6^{Rnq +6fhnD_IC4IB0;YCPDZf9|>G2(mzZjpMSjUI4yJJ(SOg$Ro$9-=0 +I9ZLTG{?w~iFM*rf_mlM@+y}jp{sPY>u3ft}Ls8cX6=}l%!T(I3K7BaG!=5~1K70;p3opI&lBhAmE^s +dzcp&$9kuRgBg1nt+c;`OmcFym*ho#?>Ks*{VW{mI+cve;JD?(o2HRy&^aGr;seet=EpoT{z8{Pugt+=d$KMG9H3*UabW*x)22=GIl%{=+ev>#_CVoh; +QJuw+}vE~-zDb7Y(?EadC-R6nz%n;hkf14zm?f;d!-moxs~|sE&9EFv#bB@t`kmCyX*T`?&Ej6-euy+ +@zATRYpjo^<;$0^x7lnr*+>1fa^=c@ty;CJgx_&E9G7{FQCV48;(Na5k<84@i1hUI?b+GcLY^{)LC$Q +`hxG8Mr|sOi6Z@>Uc#Ko5f7fA$SQ|rMb9fE%>@oE@CKb^{)jx#c8{9X-H^Gj8tNeY(-fb%=ZIqfD4${_6SU+O@inRjPDu +KLKTFiK%)`~SbaEJb5-uIIuM2>Tf*I-Mpt7Bj-jH90& +#AY&=on&c3=aH>%76Kkk{#)|o`OZh|h;On8MkY&Gq{RB_pry*}4=GZ?)4-Y>LyfF@Vfm#u0Ld?c~5@ +4~;M(obd&o2RsmR!|gbmy*A*1A$om-kfFdM$kKrc_nDz1_vzp76#sH~a-1afbJ;RT6KC#+w81wzbL%{ +)!IH@UFE-l)ymMJK;@hRkS<3#e3Es)$a5bZ&|CV1V<+(#>Blca-w%q+{pOEF23W&#CJ*@G%O}AIyDl0fz8x@Wr6JrL +A8xuQrqIS;TjENaNj%SG(+-FSe_}Gy#Lt_%17xkCJlNc0#_pxWp_?VI2Bk_M1-{{1M`0=Ag#EkLv9v5 +pIgg-Xe#dk>b$ix`mkl=tafbUKoQ10VQw^4sa69=fMGzpCNsWeT-&vM6YiB`)eQmJb!rS&|&** +*t7`qyqAtfH(dS;bk3y_((K?qT<~``H8SLH1C4cY7au +fBVb!VfF-jl0C&f%Rb+}$ewOrZO^rDw&&Rk?0fA;?5FI-cEwT6;qLHocsu+YfsP% +9voTQxjIg4`Ab5`f%=H%rtEq&aSo_t8KCD~GJvuyKii)`t()wW#QW?P=Ezy`h**{;}%1?Su|JudOgriI_Rd?iOi +Rk_ujS9Gk>BQz$)uXi^Fm=zt8Yy;xy{;*wtn2*2;d_hH^oNwFv;d^a6nJ?>$<9UgJ3h5*Xi{v-3`hLI +&zoQR1L}pqu{VAJHU&}d0kDiMxoI>s;_NYUuo#H*=%n9erWIObiU!>)!x)uI>lZ-1v@zii`nckQ6P}C +9X#1UKFc7zTBEpXB9y(GG)CDtmA +=B=nrmB%R!33AU0n)uNsNkVRco^Q@#VKUFz=xoO)uU^NULW<@=p;8#Di28y+e%G~alC&Ve75tSP@Z_(hz%gx=t47b1h +pGo5)5D;W=r(ciMq(}+%BD~|AhriMAbqOfGGhq^D?$yxS||b>oCYvuvpOvVfFWU&N^rmfeIQc;cbC?A +dRb&3l@^m5gjh8+e+IEZXB-qU4p1e6`NVV-!-1d8Aj_ezbwFYvzsfW2q=}#^J_9D{W=}jz+sTavSCz} +5;ax*803{bi3)N@wbzLpyO*9zqTv$Z}9O6XreLRb^avBYGyRumU;E_nGkkwS01ACo50tFvPYDM9qgu# +SG8|Vqpg6b+DQ5_C6piO3i`DmbF;R+ahBphIP!t?N1xa){P4;pz%GFaoR-Qal>2G0Wz4e?VU5(Gc4vw +4wDvgqS52*be|gnPAXq72isZJ@;Xqxt;)2IhMoE%BpxL~-ckW>MY}pHv^|pO47wViL8P0|BU|Q!*Hhf +{$)H__>4y`__3wBW^>edO%P=<8(epzNtPAyoJ^y8MkdShWy}U&;@A!bg*cFd^7XIB-~ua$?zZKH8B8U +damFeFGY;`_Y~r|6S1E>$Y)^~qbd_o>uy8dS*loQDtan=XaO*K^wFLTLeeZjpm+G=0^6NO1K|4RHlIU +F4M^jnA{B%L@kR%P7AtOV*umMbg)dHbuk_WqTC9I2kB3p{6Qe_;17gMX_hVp-Eu)D~pozhHvdb78ASo +;tH(8T6D|m1CBlX^eTTol`6m#RdOEWM8+&=ZZ!E3Jp~^2ENE}2^f0qwm|IoR^_LTAH8;ic4I0F#^jl$JqAxLf#& +ZhU1Xl;(o`lLQuqU!x$P`aldE}^UXkI`AY^4c_p)l+u{D`57q$Ka_Av$kniy(f!+fyQ9@3JXZt;u}0f +6+&pC)a3$=0cqTzp@Q~6wP=Kf2g)rz)Y>ww0&@U9#=01`6>HS()DI|$4cvn=7=@dm#&3d5ndVJP<$N-C9d64W+B$6nchM|{?{`_$0TJ_`(tyjVmggVQncZ6pB; +&V+ev5r*dPI%Dt64{cLD@!XPs8=Jr%5%NrHYer)-%>UU1ChVqahF#)jfph<5j=fDS7rQs~?*|-i9ccK +AaryF^?O&5C8ji>w?YHu>D#Z4wKT=qNf|-mfkg*2eL?iX|9R6aK=h&jl-mn9|393(lTONE +(10C$gU+9EccIWKcCC+fvCi)jzya$aq{-g*7!S3~~#>1R8i#S-|m%9=8?!KB4~`q=Qg6Le&FhigJ +z1Ai5d!4`~O(A-puV#>s`U}VzS-H;2cn`a2eHz-jXH%b4Bl(dlqW)3qZvo2+uBFvHlm2st8?=jgf$q2~pv5CHhHL)9G)G_BbVzv8e2mv>9; +Zv^aTfE%?1xiFTdLH=*FUZ^&Qo*j+8p>{Ie%6!dVC=GS;O4X8cg(|HhwQLf8+rI6_Mhg1!p{oys9B+eLK`<>cFPF}oDToe3?CFXIVnh^m9I*szWGSXSlZjF#+wj6} +icGMl6epcJYd9&o62VADeDOzR@&4OEX$76!zbS&e7m#81aJiOnw_$jiOxy&~NMN#OZ(AA0{3?rCK`iE +SAb%jFkZ4*z1LwIw|Y|1k=2>A2WigEbAfQCY3sAFb@zoU(`zKX^hvOP!Qg#*A3kpc+(;H32I#8d9gA`Ieu9Do<~#nIccTA7r~_g}P|l(V +L5(_?Y!Z(6pP|M^%}7mPKR+^|N7`V3ku(CueW(xlsBWYq3`IblaYRd#Ou_!al|%lns|wx53(%Z9=h(N +fIs{k}MY^&^RHXo;h8k3pmD7_ODUx~Gf*naP@vE_;U4khCtobvFO%+o>yY9ql^K81cz13vEPhuTuZ@S +R|kjSF&kJ@pqni$K(Pz6S4Tibla$HbZNc6DiV_+h*jz3p6S*p@y~Xh5;hxX4O=+f5S!D5#;4Z4~^%{! +FCbW!hj|(&FkWe;86ZN2Yn5!E2}}@g>Hy#|uGqxFPWLvPtkMf~2Umh#^_41Qw$JH>&|zUE*g7G +1&moRW%@C`K(QWZ-Sg6mZ6S4tjVhP?Xy+wDgTE3}T}J63gviKCP#Vg+NQ^8{_$F= +8$sIM1HFS{V5}lz|(h$ +WANt21$LpE8o7_Wo<+@w&YBsu<{@AnVCPu{)xaJct&|0GFZwJ9eVscUoA{EA16b1bS7gXYRCo1#A&kIdq4)Rgew=oTXX;54o8^ +D-of8igMGL$15>1JfGV4~U=FRY?S~hd_Hj_O^7vm3U;``ewJefH^ouaXA@q*_glxM`nFvw<2$HSU_>0 +BDoW)LP3rF5CK~TNs7|_j6%V**%X9nHJi6Xsj??9(lxLi#eXFHa)eR@<@!|$_34*r8vQU_hJN~dH)IC +MNY!YrEoEk1t8j1I5qgx9I!R+*EYH9-aLycEjT#3b +cVblDh}i5L>nnI>&=`Iy{hj}gp03?%GCmBtJBVi@Ql!WuJB_~D5Di78k&8kh{IE!|Kk5D|-pf-as5>P&+V~IZJ0RUms)h24cqGP|u* +o-e$8VvJ@I(05I3cPUkBAg49=GMU12!fi*q41*tA0u@E7S2|e;z)>!C5m6oRoM-GOl +;kS#K#<3PaFGEq!}#M(*vC(2E6xqgBwVve6r*%%^N=VVABhO(K1bn3SO3{Dq>I*Fbbh#{jRQmYAi!{m +81fCHR3Q#lp26lsH*&<+Ozp0g*B1 +f^Ut#uc3EJ28(|!-u_n#V`{%g7_Y_PhJa%9T>%AR{pgz`P*F3G-&7i_iJcQ1u1@KO@lL0}cFaK0t!Zh +Bktu__nCsbM5H$cA9yTSF_2!k8T$1&5a}4_fSf4k$g4^`kL!(tko8gyNMSAT~VvY_cwCvVj9{`WNm!a9YTx6*I8PoU`P-r;)$$jUQ2?uQ<5KiN-Lh-PVu`>s6FOcF@@sH4R +~Op(BAS%sJNa18d=m%2P^TI+#nWHfyU&1%IY}qDtz}L054@76DdDNsyKjKgDiYnF2O@$6==u6msL4!M +z21T2*QLLiBgE9P<>^255A&oA7u+ZXEM9Ys4Y9ZGq$*h_#3iWGRP2j5`3kb5Xp{ZH?I#hNwwj`gCA*1O +4NrEC=q6^&_29u)E?Hw`W;FW*w3n6TXZC-3fU4M~K-7qlK;v^ARL;KXSDjrJ$IE&9F6oj{U3Mom(ZUt +N*R$YMv_dG~guGEi;c(;vpo38NRZXfiTKnjLxy#tI`q;ok*A7sz+p +Xavg;)WdIcWTWt;qU#TfvynQIKm4K3q^#Jc6ApYIIrf;N=*FQi1RmPS&c9gW!-H7=hfaLIe;^(u&Cq0 +bQ8~&7{sjHIhLU!e!Ac=719KV0|b-)Hm%T`qL1%n-sltv=Rzpp$nf~8$~rq3!b|8s>Edm3Ia!G!9A2u +!S0-(BdK@{cnd9?NqjU41;Gh!81TaNJq`|OW=J7CJcbx;<;_jN#VImG8xe7MhCRMP#an(EOnwd|N`nU +G?~NIwiCo>FdyafB+xpf;=O0!Z48l;C&sG+ezh&&#wzDY7zCJ`uZu%LHgY*xF;YKtHpBMg5iS$1DJYV^{-HJh_c*%`# +BO5-}3NsnDc`*kRR*^+?4=N|Or&_9F=42_90pG+Ds>q|?16HytK1YI~FfDDM*Nz0Gfh1NA}FH5}Jgfo>Pm?z*^iP+aLn#+>O$*^6GU-a3>BZ-dv# +#*j7#wV2`ve{)Uj+B8-!%eYm8S?ZkVJ|q;r*pGJbq7!4ng>uY(Sw#WBJ7dZ5Yix>;T$RWYEL*=HkaOo +*gtD|LNMy#QwX>95YPlQWA%HNN!kLeOkg2q@p}+G_A>RsY$A%O0#w20!XW-(P5lvjL~Gga^YMFr;_DI +_7lrexR_G3GwP*N#}78eTpD+^Vycuys;<@|sFvuAkWF3Y=vkem&Fzp?3d>{A#C&25#NWJX@`n&rph$o +GQ+k)O@e5BAtF%RSOefWflp$)j9Z>*~_moXXYy=@VFvg4N0BlDK1h8#qcXlTT%wq%Si@~r7F6CW@`dL +VRblLNaLJ3erAocLP!}I1D(CkSOoLF;2^6G^@1Nv)H +O<=5i%bD|4I4I)-D0+knwqc8H40U7)~`ZglY38ZEoVQ#Xm*QDdF%I@c?wzGp!8XKmyaMlWC|l)>Qtb` +&+?x$wylS(jmjVF*B5aWH)(@@R1w}v;YyA{J{805WbzWyiUv}&*t6z;4VZ2*rk2(!1fIh>E7u3surWg +smSUq<2j&$QW^VxcG8Q4g6~(wGW>l;MSD^tBk{T7XwK{^V|3H8%^Lkagp2IkfS=vKXY7MPHGDDv*%c&BXi|Y;)hqe!K`Tc`~ +vrN?$fSx=shBI-+$e4~t0~IxQaxOsOpWcb1f-6iHD|@jy8AIa)-mPs7=uwX81oL$YkpjQ}mK=TO63va +Y<7iY(pD=6~8!uU!Mff_Ad`jZ09VEuwh@g=4#DnyCYdfoTKhhqR5Z-0btVFQvFkt`Km2^DQacyoz)fH +v^4l1#rX)NUqqRSUUcNUvM*>cXW=zm=m1#ZRJ6j(WFl<9y6n!i7Vbob#%k4fet@2v%m&AnjdO4LEh8WMQG%uL*$}JkyrJOC|P@Ad%J`s@v9LO@QfCHzACd1Il*p(pZ{0O!KJ<=!*4@AJXcs15 +)iR>=M(!~{$gwy&aiH?Wb0MyWNJ!f4a%WCRrKxSFgV8{*1I2^c8WF!PY8;Z1ccyMG#^9>=F&BcMx)?z +aUjtonm`(w>{S8|_%xArM4Zq=qFkB|&~lBbF|NXc^Eh%7v%xm^P<)L|nl{)%3T=&g}}ZN8*-FeC;4Wh +wZT73rc7r?3fIE_MVUw$soV>dhN*Cv`TjMgIr=X{R;l;pZAf0}-aUON!1H9Ofm-Gt>#vbMkJyKBI}6XD{4vZk+sC{6}1Fg$x4EV +U00l?H%ZW(Oz^0)3K8NbFsb$r&rbd)IdKv#hhg;P@#on0FQW7NU&mYV%ZtIwzU&0&&5IHIk5wkHP@=| +&)m{#w@$Pwif!|&%sT-Y-MQ!TM7vuB$t&5k@2EIJgfW2@*H30^>1mqns48cKR>LK!%?I_m{^ZEdV+YbaR9k?(_Bba%Dyu6QrAs#q)WFkt +!IK;^~t)DW=`=af}JmR68Ljr(?=*rY+(^6NVR(1GJZus^FuZw5Cj|MG0%lZfN+3WSNnjRKb+r0?5!Lw +L7Ofh@XstSAAQ4|5W;}qVduW$(2^8id;c}sPt8%C~02!*1J9ShdA&5m^!l4T2>!-bXB1%nFCPUU!Z+@ +LC#?~xNxVbu0$+T61;kd6eq06Ued8Us-C8UaCJqibj;C`AVb}( +NQ=uC}JkXn~aFaOr(1>snW-8Dy?s7CC5k5YrRux2EzO}<~=)w(Sfk-G04Cff6qdcITV779doW +9(*t?^>H}BpYAAj@a>tcQ>4%**LT%!#GPnzK3F;k1U(r@62h4)7R@-s>{Kp@eLw@|x3ES*Di=gCGhnK9PZ#$MPZ#srL +u|xCFtY^vW%ycB~U0OF$_$P{f1uGc$PD9@cg_&!Rdji_kA*&gK`q*x*`3Siai@vEi}SsbnHy0vI%16KEWNvp{5dI>dztC-?ZxG( +S18qft7>9(N&ZqrzIHczgiI<#0W-1}RC>iWf$O?y&zIa>N4Q0iNoV@K#(pF-1Q5y~Bs{H;2}jvaXlMM#A2~uCfqCoe)!{)*SchDkGt0^70(D==kPb~7+s1@pL)WqAK)Wi*^rqEkyj0D +awH|PcwVD-pIZi!+}DD0TB`JUsU^$e@wS0tdhmgWf(+7LfSzX*MaYoS$r>{L-iOZZK`A7@(XW+X3OEo8J$w$T*y9i23Y1*N*@4j9wdxvIYL1rv`~XIirk4dj-F}I11?SFb +RjY%?CrAIizju}#zInf&ygB?P5$V-T_e2MZs +i91J#&|L5%O(V-uMI^3E+M(5M>_{;O@m)$*5#Gi>gAQZ_jl&k?=FXXKC*$Mlcu|Xay<}wR#+tdHkW-dOSY#)BGLD8o +YR$0fi)eF>#wj=(N55o9#C=I5ILgDLX%F_>jAC8w+|fx3k!Z4|Rv^Hf}n!1MB3e3r%6F}yftle*bL4+}g0MX6 +mpbvO&=yU?OaE|5|Rks!RPsvvq5?+m!tyF3KDq{ulq&}mA__iSoPl-1m%v|x~VuY1$)4GIs6VoN07#^ +$$W)AIhK^YD3d9#YI5gZBFsrRpSoiqfSclkN=h6~GQJbYCuJ1;qO*7Fk1Eo#`FeVU+dAS_-?vU8=Nr+ +WiK>I2PNB3XUk${niSh#`7ZNtSAD8uD6Lta$`As;clP(I_g?dYjfQL5hp&`*jwH^l_;FB)^mek1>??( +EjuJ^QKA(~q^O0NUJr2nPsG0ViEo| +qra;82K=*NJMkgG|jFfVn;JInK=n+K;UI9w`UV@=ft1J>M7cJ_-W@8a0XjtK!^7hqWMpp?-R|Lk8Ebx +xs5+qceu|a4i%-qyPvq;)cmjncxuRi^c|N4(O_%?swAt5uj(t;N@g_#TH)5ofbtfV*#Eufgvy3tuxR<&AkJDOdEvqqQXN#=oStm6&_^K{vwxD6wjkCN!P +W@!BpB+5F0|1I!Wx9mxluIG&)5{&aO$h0w=zmOGJ!^)D&{?Uwisvw6_m%>0KC1 +6%X#i_X=u?$K`ol=T1(0p(Ygj&PwrWEAM+LzWwMOjakyvsRIZz2!%ktTQf$ouIcbO-YmVvC5%{Y{n?; +(4b^u|DI*oKV_Xe{|mgl*>W#<84@FAkAy-tg%r35CkiA=B5o|!r@?omLintQfw#bCvNn1|B!#10j%%i +#*cL#n0?($n57{p_|cupW(r?`s?O=q8+BCY-{{=S0C#$Kyi(rd2xr|?`XlCbeg^~$?XQRg&kCKn+SwaB|<-Y*n9lajU9(-v`1tfGQRSKj^alP3boq9k8z%vxw{vV8H +H~{>(4OgA*sAnMF%2ASS!^<%3;=+_xS_RuSZN%0)vLcbTD6B!noXQH;YS5WOFH{uX`=GA@J-tx!mIB&p0B>YnbJMust#w|E*Y3BMCq|+8dq0ZVXJHhlq+bBh`s44YVi@8*BIS` +dlk5q4YOgH`+*um2_t9==8Dra_j@<^+YKit!g)@QkXvDv(%06(DJ}aNCV5ULvbzctfGYz5ED{)L44{e +(1lI>r7s1>qc?=NBSSS48$(YJeURTtdqj3l7VwvvTe56Q91;DoE1g)H&Hy`E9=o(t*go&zGWLK?GSMj +V60zGWo!>K2ne*OQ7S*5i2R}Ha~EFnCsG%U~rs8Ks5Fax7yF|bm$dP$CYrv^=@eJ{QF-ZP9X;dDic*> +!1T4nhA2aQDe@=FK(}#?qCRvQ#?6CG%BqPc$%81eOdYgT255ad<>d9F6n$`k1Q%n=!)OeG%FXaGZToJ +ZCjG*Uk{=I4)yKMG}FpE5-m%E{gFO?BT$N3snC}1;?#2ncIxOh3<_%E>2c6Ob~A9HhZMay5HAIPdnz2 +3e(QgW3&k;PhQzPYjZ1pyo!oSs;4SPJxuUKwZXOBJ1c*>K=-T|R2otClX&h=koY<0XQlg#<*t=Z(Dbb +co+0OeIPv-%dZv!QK5vE{tnA?IXVuk%Tw +#%uAK9eiT6bbW=bP{(exbedYQ@_Il&SlnA-%vP?@NzJkNmH0c>Ol4EZ6;E_pz=cG>ko%1p1b#yJ;GHr +q5)EX{DO1zKxRi15-#Yk-RfLU)gE%^9#by~PwHvB)@~RP-#+d|ZvsCW`JmkQ);+QSeESxtuk_HsvagX +M^&rahjFMgu5eYqEjNPaQ~6@JHMeY%?h2p#xWfsxjWse-^w$kz8s#VW +<`y!>*vZg`%l`d{=Z$OOEMQTKf<$X~TsJ3@rnAA!a(?R{quxHg!umYiE9ykV*b1u^z!dEvMD#FK|l;Y +t+FeN=U7fQZn_NRF%luW&G6mP~Mi+eJOQguC!FuXsc;uK4~&fvPvwb90Mj)K8 +KA3EHREW7;#NLuxDFZ9hH0s$v4Ru<3i|lO$*#qc%;(q;=M^;S=^G6dKq5B(^PaL6^2iX!>;0bM^AmSw +Z%zR3hZW97zA+~QzR>niO~2x)rl&EEnYz+atlkxDdvsm%`E%;E?34_FIR<>B>H5;(EZZY+_EHgURF-p +uui!i>opS@L;ZkP0mY9;*3rtzw2C~}_7cxf#1Ttx-^nu`Cl$s<1-^1lJT`4zmDdT-zm%6SSi06GZU^m +dZ$mfl^V@u$P4hIa>g#R%wSAV>Kc(gK*MFvPH~>{VN?>>uPc@r^$_iFNq9R*)J!a +Elu4rT071ceu5G}oqfS8Z;S*#vj*XjJmTq(Mj9U%njk)`4h9dO2r6C`s=_kb-kzmxlVnyLG+X6T&)(+ +>lZY4a9}nv)x!jIj>-XADZ%w}i@muUFcB8N3_?uPm_xq?HV*>8f2n_kas>+&)!HhB@{8srFP^JW7nzW +`v(;Fd1ORuI|;XV&oK&g}oYAS5`PtBq{xJ0&Emj;U?t`iN_3+RfF8S%fX(`{3k+9)={ncrHnJ2v%HMV +heP#K!SbBBC-1jO4jkFOzOfrdmF|+J(@dkRMidt=cQdqX>@F}l)dMxv12xry=yY%I_xGJ=hTd_DI}fg +cAF(J$q4RZ{Y&*arYIW&4D=D@X9ZrCiy}sJ`jP!Zw64E2rEGZ*DtM0t-24W=UBPsxXqIp{F{H#k^&EO +B{9CmBB=XQ0yM-;6VdD?ZGK~|`0nZjSYvq}G$YoG?r@aIUgmt=<%LPT#@PGgS{chVc{XR_V(a9TN;VY +>AsoaVfa{5AL`w7pT2iKPzz9)sqJw;QG+fZqnwQTU({wHP> +z+##TJ2D+H(@whx6cYTSGwhR8Zk!-M07XQRPnjcIr4ClWj(xxu|#4`Ggi5KDC?da(+q&ZqEiKU{okyb +{Sq!+KYLvtEm8I$SPo^0K!{1h8(KJnQ;fftUVP^cI@z_xLx2MK4>U@HgTy8(ZcVLwD^sWh92x>_Nv|| +C`V8!UB&(fIc{OdryXUzN}^>!P1dk@*%qGs=V4x2JrW&teS)|j}*AJYS$MS4LV>+k)Upe+zh$v_Xw<3 +dh{>oQ8!kfh_NCK&v(_`=lV@|_`&STnHgRC>d&t}`?NdakH#7aExgk!1*wde1fiTAT7U%cE6KsCXYj?xW&1Jj+r7$`I0`|RGncYZQfc?FkdYx01H +M~Twz290NA6#paBT49Bw*j=o6BT0<^nbyoyB$F(;FLM$p +EX+9i&cX;%-!>~8fbVeC`M?07-{sF(e+Sze;J@}o}NKmN~Preul2%YZ>6?AwejRi2pgPuYuy1p2Y`Gz +#P%s6JO-epBPZ|L2Q`C^Kg$pfUSy9>#6Cv)o1rG)WWk +wFN0{=wD5@B@So0G>P4?tV8Xj=5brnd|T+NMc4sVT}@-4ZgXT{_`Y9CC~D8jY#bFS)vQIRTxo^zDM{R +bc=eYYboLaH_c{@25UE@?5Zo5=L98mVsMmpYBc}*SdyE`D`)k$*{+5h^c2`MJ$5@)UirW8}JKn$V#uB +M1JaO1J5;&LR^P1d4uPc-fQF0S2y_bOS7)cPIpiW8i;p-7eP1JTWanoBD;q$k<&)@GpKZON=-dxj#RjP{v&(6s*|Iq%~oAudBC9Mp904I?jreAjg`ox0#qy^+hCv@9?ihb?F}3JUQ5VoBZ|N(bx77_48k%@ejXUycnF +LdorQh5|Wesy$>g+=t%Tc8UL_-em?x=;{3(=i(l~%KltsU1MvRf^!=MNX!3Ob%&z{!_=jIEUY!5->-j +I#@}E>Hiu@XIC-+{0-#Vj0ol3>Wm%3L}CZV3w{pi7q7bJmyspjpgA^drbe?I*!)>4LfyC^d~*lpv7FK +z<};`#|fB6wc!LbrfV8uS#w9vZpX5p=tTH;s!4VSD6|;VT0m+13`vR`1h6ELpUmfmM{K|uYIRGLGY(3tLPN}i!O1IMAgMZ;oDA +oM#OD2muDB;2e~3Vo(Sihogz;+@1=$5f@zEW +i_UVY=TKwt=Xo=;Ni5Ip}P=QJ_ODF3ky($!8%2L8C%aaqD<0cl5vK4QsiY^ORggJWePir1E8Yh@{Hnn +rrnjuo?1pqn0)}ND)}PxDS3@$Q+m27P024|^!TP%@}3?G_2>=lS*vp55_=A=FjXb|G!;b(;Xfe7I6szvL}ZJ7(7&7?4C7XYuI5eHdd2W=}<$TQI4<1Zk9MOI{kaH`6?rGQ1D;nU +N1ly2dn_1z`48GH*9<8}PtypcMj9DyEZJG@Hj>?7?6o +QiXbvjRY=py__49jiCS2v2E1fPEQ&$MM|jnucN0RRkTCZZ8ydwgf&E`edWd;RGXu@OTtG6u#IV +z_b>jG!@B2r_nT5_#}+Y3qmLI9A7Ntr`Y$Spq +-=DcVc-dh^ntXpE=Mr`3HKiPh=!?FV3^Z~k`TN4u+N-!QCy$e?j_0HK>iwz8t%Iq7a*$blOg%ej628$ +UMO*gTtMF3AQ@j8rS0LZ%X-|1`sMX+=*kC52p+`;TYhN4Eg+Lm5giNeQ1D?@}43L8mKp$v{9=sWFK6F +?g&Nq3N8X!;MBY9tPZDtrFZ-A97;nmJ-He?)G%jE(jWR(1~$R83Jcar$pqO28o&x*Eqz%n+EtAQ@Av! +?_Xv&DH!Qg8iW50fPfol>+089qoSuniwlCFD{dpU>WeB-V1aByilEIeDAZcC=?~ +j;6vG@SDCHcQehJwsk?+bD4&g~O9CB9(y35XqAsP0rz5RH=W3S8O;usa6oQI6t#$-e3`x9{JCvu)R;Q +O9|6IMOh+sKwDi{@d%bT;pnJE_Tj@uePIB6)66LnwAnc7G(iyyBf*7sus{lq!9ZWb~yQ+r{-`QhXp2} +~=El}5Etvu{{1KT;G$Hswn(VC~B={Z>=;rSo8?jxD0~OyvSBuZ6ln6|9?)mOdfp)1u6C*~h*WqgON5W +c4Qh4bJG0DW4U;MuV;mW|$r1nwSp;B)tMeIU0c2F^IB<6gRpX%trY>Ew>KJt+ShKO8|VIPp7;K{_rS5 +J_r(q7G)(xrjT9x@BjWOCFrN5M|gH&1_fX!(PASqH3Hzk~GE?CIXhk1c#Yg%v<7gtwC*(Jpx+Eh1T>4Xzf}nE>dRs9Asve)5gexM<|KJcLDhcQl +0844BTW8>j{Y}fYT6v3k=zMpSqkiq+(xf<_!e#b&KG>{x}pe{UPj8lvdq5hyA@lf_4-o5t$eA0x~^nK;V`^hb%r1Uah#F?<_6%!+zGL9(c4{g(;~R>i9xD0N?k4@P? +AjqczP`@--|z4o*gTW#o|wO|Zf|8x&iH%40PH^U%<{~tcv`7gPI)y+rNCyY2SNd&IhW?|^I+0%jR8 +k+48PAssrq#^02E&<5XSBWs<2{M_GzL^&k(Df{afnFpvbKvwdLBfVJCB2p2J5i8G5SJe66091Z;joNe +-_iL5nhM!yTU7&-|*dw?mfw^*!%I*2tR90D=z4}`t_7l>SI(l_1V-t?HAgMI`=MI{+R>cxFns9Q_RIw +>bkYbH|XHKTRh{lhPNRm)l7ux&WrSsW3p|A+(f5TE#}bMDkT@{OFxnY!^rW3ajChWqizdbOx!m= +LGAZk?pj(~<0MrES6Ow}M*(_`)1@fRFPS%(eqME;on$GeqO=ub!s22I9p((QrLec0-SO~?l2y6V~NJE +2bSZ&=q{oV`+iIs~--MObSYg0@mTujIM6M)U ++r2dq*eV@XlwfQi($|tn*)$e4@f(dmPikN#10v~mdRe%oUpA{*3udvcIph~KcgPnZA=xHs;ySRF&)MYq6{T_XfPI4&JS!pR! +O@`B~$Y+@QE!-t10tPb-WnU;sUyHZ8*D~2~mui>B8PBNQbt-O1SFGTX3<>U;1`Zx52Nm$to8tpm$l?c +KVxnE$0m9+o5x}f?654qg4uVa|P&{RR)5FX&Jj3rMzw!q5Lg@!>%Dj-5ve`nm!93_Q?dXFd@(Jfh7v% +1j;U4jgE*%C;{u`h6z^|438_V)ec1ho)_+n(A=;1NIQESw_m9!tmU|mI2Hs7BQo{M-Sm#S;Q?gYF?9BhsKD)!7>-_};j#J71qoO4=f{3kr2Wy^Qtj^h?IYIcOy=wvu5w-Q8Bs4 +T~CN>nIV&60JHy!~n-RCB(q|xP9k_yf<-UPw6IZ{G!c)ztxmEa^)OAdDW-Jc*Y-#hxhiF(=iu0=KN#b +G3V0Ny>uy6_g4JqI)haQ-V7UZ@BpZHxSl*z1W=3;tp+`pDG*NbU^$kyj6pj0QTu2ZD|#R$SV5pP-dFk +cLS!PfgGa@fYh`HbOn)HHa#LExgwNHrtn$;fId=KjE;#U3ABTB4;pGs%$QS(wj3(3sr$pE9EF&T;@Wu +fh3EtWqbUGAQ_vccle>fjENW{tgG}4%CBA^29biIgyj%6>4PDGXKrqlSP8U|58w^5_HaYOXn0`c41q7PD40Cet8o{1HKM-nPgGhE;bRWC%ONvTVw1GWfNS2O9x|od%^qjOlJ7Gj_vF8M +GVq1D^EV2aC^{uHou~Q=du^EIT=kXQcq-?m_Wa{!vg9(M!`20@YrM3?a95;fWv=tx?K~@G%X#Ga7XB% +#uuTPG>eXb+WLs7$f-`o9c8FJaTNBt(TGgB9Z_ONw?j1!+%68rpc_kmh|Ln-3E>^xY8Rj@HwuXng6v5 +`H|gJfUPaPd-hCTI;`ZmN^%X=cel5Z@@+M#idf%dcCO+`FPq4Qjv +txnx9{EsE5$FFq(Y}9RfFD>hB;I=*+?$8xFdUIDFN=)L|46pk`AE7rMOmg$+ZUbijOKU%2H&)7u7Nj6 +q=;-b|I4o +cr6av+4AZ^)#p%jPnse~fGj6NT81j59TpOz6tF>*Uv+LOO3FeyPj~hi)jT|RMCV5;(g2$lI?$6SUF*6 +*3RR#ZoleP)@p>{`HOfvRBLayLd0osN@3MPvh~=E!QR&U9+^5`GP02sn<%uL_r;2#>XT#s4z51+ezBXgX8@b{%FS2sp +MI;+E=*Z-XLG#eVk|X4O2(JYBJL7PR=eqiZCJ3lpKvAf6+h{MQcrd3>MdM +uV?dJ{z^HCo)KAH6I(rq7aXhqFNMU#E-^t-GNLm+q&#ZfX++TCZ3DKO(n&;nsMg0+ntni7#I +Ay~ZMMguIk=JZpE`wvylVD-gRmBx8w@WT$DganjtZ+nYVD>l3@(yDRJJQY0j^p-7gbWGi*^+jnLFkN +`=^b|1Gr>!vn|$6zoR%nJkVv)+>)^OGQq7bCVR=Djblq_f}IXK#~qlZA_`g4u5!HtY|EJ^1yUU0iW?w +kfWXn4Kr{;@ZnN`zl$*fmeh{>_X3T&e=Eb-kzMEpSZnHi-(P(9{u~RTU1x7^uk&u1 +MtsTRf_k%L&OA1c_)R#AI9u~9hf+X}<^B~kV`-MG!+;7_X_{mOn{!5(@A_~t-#VNGgmVzU1a5LT4MtS_{wTlPit%FmXd1@0M4 +50C?HEYJ=0wby+)0i5f;BL{FVw~TpbAZLRTSyy>C+(bb2lZu<0jeSX~yR~>HUT|@F1z@ca>Y`v4{^Cf7%6eP)} +gb?P_Gy^h_IB3AxES0)FC}Kz +zq3D+!mNTG^Q=FMsBpJf{xtxRb(i*YITh0QHt-H+cvUJ4OuxtEEi&?K)+q^Q`ygY7g1QNqXyc!_yYHm +V5-rn43b)RPYY_`G0^;S{QWttgt{EEFgb}Mk79){zi_U4bu!GBRpSSW=o7lk;#@5-Y=0TIu)-jnBrh{DCrphXtq}&*J%KdP@0SZVcOet2?^ +eW@9@4rB +bspwwP4UN%!n{C3cA_Jnfr$(T5Fi{ExjBjb(k>2W|AD_;u+XQ_6l^8OXo)x^DXb)lq8$*`3cEZG@@o( +=w&gytoMt20FiDBH0My1^+NFK4rFlEqFJXX7i=coY1G)u-thE(Hd#=Pj)b+WS|^ +pRT+u0f*;u-X+hvowEN35b>6(!-(Pmsy8e>0bt(3Lo!NLA_-dQt`T|{6^L^oMuFTTBH8F)(!cvxOJ99 +1;avB=s_>oP}`WusUk*;tu}+ohU?qNK;ul?oZ&Ku6)o0tozeyh+4csHK{&9-Uhm_Z-v3?(6GTU +Qb6x|G&&VGpI;1?E;^bg8Y$cVOw*L}J8dPwliWW_zkXzQ>^=*Muvi@sU)JX0&338Dos}zx0y5dn{6R( +z)-2gJwUOS}N)+m@nOAt10o~l%w<~Re +PQ$U?%_wDlv^ZRfouyT?JMk{!#IX!lTjWLP#P9RK?FnFD8<8*H!7DKN<{0d6f8IR#!EL6NM~+2i=I`z +Dq)1V|OvOq^gOrsDj^sXqWKD=fR|0Y=Plc$O8X%(4r3iRKW2?gH99O23$~~6}G5?-z8*x)&L7iHJoQf +z;=YCp{jX_$ZlAS97laMZmWBYU_*ivx&nfd{{Rfdv(Q(1CP%aW6~hxEKUrj63NBEWdFvz$YH+004t6E +T?IjDq^Y)8q(`B<&0VDVzmSIEDt`Lrt95!#j$*?Cl5a5l~{G^aV8igC?LAZeVw3sC{ZJ^XZt{lA9%%g +UPM)m7=>Cx;$Bvy`tS*?~vYfiJ7U_EnT_#$k!j9pF6~P3)p&Fb`t@CQE4dd-H;4_0R>eDA +oe^)R(gf*_?^kQJb>g@oxOe~8XCk>5I$O6ry5p4Abinr*D+90syMj@dL(X%T^;v$QJG40*%?TdMb}G^M(lK$ol|6)(xjF3DUnjJt$U7om3r +BY@tT#^w3qRD^+aEmj748%LA&4~82FZr2;oQ5fW_LK4y~{5na3YHkB}sI5Q7yg+MVkQvrw4=UaMp5E5 +&>u=t`s5|tA=KHKx@7Lblqw@XYyZ`)d1S|||Pi|(jKk$>$%^X)$vT5+8rW4W)ux +E}nn!GjfsZS1jUq+W*=3z3u^19M-KPvm9XeJI`3dhL@4<_@+{#LQbYEx@4tPFYO +ZjrgX8H7d28h?<{TpeH97nb_kU2uz#q3?K4@#V&;FiV11-QS1k;BBdnq58>>k7h0Ru9{i1Y#YUFZtxf +p7a0I8pAA`^@b-Wh5d9=VVS7A_lFsfmT&mV7JXxt}m`rzVdxQrR=)RaKay9+e*q!1-*WSF(p>C;l-W3 +KY4%h&Gh2U*XQH_7WSAVp*6!_KK{z+H|%I@;{3W}ATg{LZ|p*PqckafY>IT%f*IsCmWD48aw=BTzUi` +!9D!n9MP}cKd2ZzErqnq%$Sj)%I%N=1O2->8pm9_R>28|nS8hGVZqO>-7^3iI9Fs)~BySOE>J&@<-Fl +2w6M=uwnHC+~Sdyfbr)%lQRa%Rvuxf{0s%Bx-ywt&(;9luf3!~~-ui`&hjq@s1=Vh}H1WUHD>W50IMX +Uh-qIr&9@FVQGDQP1!K6yu6M_A)fW~zJgv!=?*u?{R1->-m?=2jX?22^@lIHhSrfSCf`{T2`m%+6Zt2 +B(y9%G|9reK*&^1}KgZVW}&`Jdg*#z6LVXI+p^t3b7)D*aCtHUUYX5M}%k8*cv77A`l+1RFG=)2f$@l +;qxnLcL0)V;DC%VI_!+N<_+=K!W)wbZs@7fez!{jsL!K<(bPtj>EF&uNl9zA$PcI +^0vuS(4JF&*@L2vSz<$z0wzuJBY%ya6n;{yBCh_GRE8sLblSmxDUcedeBG +EUFKGJj{LvTd|21!0AnPB2{4p^a*w&b!pq~6X(+TOrX_U>z-2aHZw2*0aIlb*pNHLFh-hv*)i7ES6(Po_vsIji?L~9%)=RHE=W<3cy$D`PxER +>V^OQ%J!vq!WKrli|)wl3O4+2`Jj+q7Zt~o*r_UI4=UKWIMQ`W|_XT0#_DqHw`uVuzc~6n4zP4(7ZsXIkU#lRd{CUtUgj@OlYt6<>RlQsG~DSsS!Zqk}1v+hz*~5VSP%e9pos;tO;Yw +?O+n*~#54U?{wN*cd-X)3ODpeETs?4}@5G_(#CUs)A7^cYqrm$iu!{`%6%8DzxAEcvDrD>?6UX?^i)#8K;^eZkHY662 +jTf(}~*v(fn8{2nfv2jo%iduStpoae}6`VR%hZu;0IxQ0lrYjR7Fk`FWnDCdZ3Wm3qWM2^#&I>Ws{kx +JiF~(Y3X>{!CyPtF0Z&4N%|(T@kg%+Auqs+qvDtB7kFPdcjxj8&D`inrDe>xLTN*=PzZ^CWm7 +qeMu=NddN$&_IQ>|xhO5-JFs@l$ISNN&yv)!-|1C9?zlL@AQYz1ymLUtM*PFj}Yj-fQ$r9@9W7^w~zD +xy;DQ1L!FzaWjgJogqNxFrFXwawksBJ;P<(A-#}*fFvZ>IheRl4jn*g|LN?WIYQ(P%vKHn4lrCDF!09 +!Gq<({s*$Xj!BrK>;rM6HqfrjvzjwuiqNKX(}n1HDLAWkT55X&69DmwE3pXIymGx|d{0pC-JETbm5N- +NO~e^dh>^+akkAfY?zTkL5ts~PvMBt3g2}!Fuv|57l5!8IUDu#6<>^AYztXHUr~c1o!c>>MZBky1ck5N6(qR%H(+!FbVn;P=B^Ld* +`yR37E%%)iQ-H1gN+|@|WS=6_N97^A=u){r-zCI~soR9N}XcgILiX8y*gZ%zk$0zBqg=kIGtt(x}c*; +)Br;FO+9QIu2*%t%?MCg0_%Mq}Ha#4v(H6G5d>w+dnG7U*iI;aaza#L9snReo|;{a7fI7lFQ5m>#!ro=+Xfg7Kv#kRC +8J?SNv>4lld2UEs@)U=e&L5m2aqbU$)EWHmLM5DZ8LFvX>xTxfwZCk=5$3sA}kfDH#WjZ9JccZ>xtIH +qTs`V1*ioOIX^AO1B+YX`!0!{VW(MmeO5*(DcjglTX2Xy3h$B1~OAPibcvM8UK2K;`wYprxCi;I=zt~ +9gliu&csp@vJ4!;$mx)`{3bn8ATs3bQV*VKW5*?CXBT0bu`<7TSXrpX~umeCXqY*lE(e!Gb2cDTdN9XccKCdNkp*~n;T_&&gT6Zu4W7Rck%s}+KY!6OupAE +aJ;mee?6o$y+Z_EZ@L@b+Lm1R^54-d*8+2im7jFNPOeU!f;(nUE7E^RC-Pdwjtzg%Egt;EbvmLv??bnYk184iZnfG+|)EB!VPRheUc7nH+_JA1P9xfz3_4izMU +VfwjB-~tO*z8lXira$f@aP${pS#aK--Rt=D%MCc-s0upRc#|7CtJi?r>CbDE4+ocnuJ>!UfO8jzP72u +E&RT8Gh_gr!LYQ(VLp)rhw3Sn32Q`mkuXy&;8C~?+vm^|3DC~Y{o^sA^*~FatPtBjz$BzSy4?hZlTh~ +o<{KuAkdzr$_1)uM_GtIqQh#ky{X52d*g(KQVl1bWa(4_u!dgsCD2j4OA(Vo)QK-|cXisz5GY7znN>* +l(PfV=PBOb`{d|#yUsmv`bm7N%fh9hs_W`n-mw!q4=4EqfFTEiFa;bCv^d^j9d4Y5qL#PWLMOts$HxX +F;&ZSS_%U`6cJD(z^_n4SPqg@QihzO2yq8r9G_XhR2@o2bJ+#&k`#K`1jD>T-j98a(TRlsnof<-`uZ1x#-NjeBfxNmLhYA!cj-6nP!OMgrdjxYRMo?za$qh)~K5 +L@}qKKhRtB{3=7S*#Ia75Y{2T7Icx+^V=!%X*ghZ-~D{I+y@E(%v%Zfwr2<=9|Y_0Rc&MW(bJ0$DCly +wm)`8Di<4nyZmXr2eNf`QW+OE?*-$h)&3R={-Pcmj@;0X$jQ4#yhY}yxDLoJ{m3*F)*JB4E`XjSd!L_ +doInb|DrW~HVd4JIee&T(S$-ym5@fPGDh(QZYO!uAB(NYyDu2JTRVT2tst9+SJWy#er%6j-lQm?0qz^ +d0<;8utCFV#D|kRK)9-17Ao6;6m~_Qv%VEXOYaQJRq5nxb0I^rwi8P7)cfE4`vxo;(Iu>ZG8nl4+OKE +=proSnG{&FqSZ%IsUYm}a&TuIcXE!?0+!b|Lttb|IMPc~f6^EN#&8MqB&Vd$SV5)_eW4jC& +upajQY)`{mdgD%=63)|fuEmz3ks<1vMQM-m#+S2JDot=_fXyUdoRkXr10FE +Agk@TjY`*0w|D%kv>1e*uFegV)Kc>==TTiZRVM}NkhQMdF$Osm@-y#(<(l)jFxh(B=X1)0D$%LCD}}2 +3lpe-A+RpFrXP^ByeWSyw?v>-$C&V!(iN9O~)9Le*hxApC`6^i85kd{nY(oKs9_o3zd?HUqDVIOTj(N +CTMf4?*+9kurmp;mg3M!2&^Fe6e^7@}R3rZ`MO|x#M0qN=%n(i0bY7P;^!K`yT(5$?f +sU6Qh9%6bU2x)XvS4ShePNt-wFwUCQzQpkGrTN54!gzZ%Rf&HBw}BwhE&F@u_%B4stl@B1os(Quhq&o +>+#0w_E1mbhS}RbyWKV=C4ruwXO17uHEP#br{gsARZm#yc^iwPkq+rR{tL6Ieo43&aYy^w7T+s6@J7+ +9OUrqxOQ<^`*IZC6f}xuZ(3SiNLhIK=>gk; +2Y$SFMoy}hc|4N5X@$*70^Uy!O^L;Kqg{Aq(ctC;2fgXPOg3Uu71$k>{eS0+MX9cU}azh`bVD{tOksm +oI5tbaafe7`#UJA2I#yqxrZ3~j5AYFS)BKVcVa=rTe^5&U1QY-O00;n+tx-`N7!JlaumAu6 +U;zLd0001RX>c!Jc4cm4Z*nhWX>)XJX<{#TGcqn^cxCLpeRvc_wm97Lk))GM(gP$Iz9R$|4Qg}QATHgp571QI)=Y1&bDFW%pJ?|QE+x{JH+UG}bgxC+cLm`M~hAd6W+jc!(J?5q +Zf$v{H-cTRQBB%toy=Y5{{dH;ENNOxD&sZ&*_PMtcZ>Qqhj_nu@-48xe=PgNP_Afx?rF#r3%KKRR?@u +zI&rSvziK4@6_=G7~G_ioJJ(D0)lG~DyU{O{lMzym+x^Z#XieuMBp{=E<6m*45m|KX3;t-m2FE2BWi@ +#9Ci^~ImuGe7b7t34Oy&x7|354}D=hrZSM-=*(2=9j^H;eUQPzlg%#J>O5`-`3%W^!G4*uekU7KE!ur +on20bS!zgOHh<^RU5U7E#%RbiWH8LD5O`LLE4vvUR`~1Gse#`{hDl)zG(GWV_8KVh{{005Bs-cZAi^f +!$rt@+>1UXQ6s3WA&h-sMeb&GfrNiq4!%Y1LwBPW>6@3KtyxZ{Y@Hg=5xA5?O?@xM#u&w6HVe$dR4Gr +t=;qL*Exq91gfWOe?a8Rz}1`Ukqp%gY~I6wayTOW-H_4rVfppYd6t+ +kMYsR)O_1YNwJ8kXC@Sh3aY}Uq`%UEaJPyAl~v#h&TKL#Lc~CmSJ|8nZ=ClHOV+$*y0#$ +;}VVmmnO#viQ>Wti5qKw8x+Ipg+dqe +*Iv17sY5d>XLN3?t8PaFgx14C9vjNC_odzCFrcCHECZOwPDJ<>{JW=P^BLFAVsR +}Q&!44sU9@iLVm`DRli+BNO7$PTyh+$8=VrOhz?z%WDSf`M);P@r$uI<1;44VsE0iC5efbJS0jUtd-le>U!ipH8&4(i +PtcGqu=0XJc!Dr=B}ipJTM?w)ZB6eh^GpM3dpCiFOH<~yEbS;Jsk;}n@@+dLrd?8H}{@Rj_PAlOFT`T*P`qv{jRJ$D#k0LpRB#t`iRCl_~&o15c>$B0KPlf)y-?Qtkj#4_!1vjL+mJ`&k!R +JWk_u!2-a;8nEyVWXO_hS+R|khhlF+{UPAD_*NoL5~gx45CS>p_HF1zL01WN2|kp^9Y_P=iv>(T+<&v +`qbR`&Zr@9^>Uop`7BOms90;C`;QMuO;nRBYRz@D=CvgW-G2xj+0#wLYUy>?(swcE03Se!adMOoBz2r +vVGxuPZuNO+1qWYQD&7b0M18L?W&t9OEuNUnzg=-*-xM-%E+ZpoZ{~c@fFr;dDplWSKF=B)Y`Z=HP@7 +U@$(i8Kk|9$Too4`e?SnLF8?3FwhU;+|`!K6rT6E{j4u`3CGm}D&u +S++Zp?L%ro_K%o7>Zy01mROf@yZefX{~c?MreURs`=U>V9w(}hoIH_q}^0TSQ^7kP-5?KiH~Ix9bsA; +UC?#Ir{PLbF`$+mgsqMYCw|eOX_J4+gq`4la-M48DmQSQIC%fQq$$k=8zi*1m)S`nnJ?GVB)vKzDA9+ +e?{{RHh*h7C`@PqMAoA(2KedQrAVU&ZP{h#o>Vp35M}sb7z08UsV|}1Q_^R;eiMZS+(^?0sAjL{kPC`ofL|h7VB1=&2`Fg6 +{E>mu$81rb#84aVU-4w)}eq)foiS>}@fWJo>E9VQW^Pj&0U5N6qO1V_shjsA!svy02%V$bN~q{4*`T=p{ +fz+U>^X%N)~C~C&|SrsB*E8GmBiBjyXZoW0Ve14(m(oLOvnW6X^USL1&-Khm|4Yucp1G?1K5*3iZC2h +heMa?1?&2?@>uQieG0BDTV4pK%kTR0i-4(t5gpVSdiBfhz!X66YHcRawB}nZAyW!i9v0|3Mw-hPxVHN +lnQKVhIXWpH3-FkQb5tb{9Z4wvM6l5{dImkbOm>S#s2N9FR}6l +o(X-H>*89Xx8}xV>#7C#L}#quMD(&GwOob7E;Xmb12wpW?$W@>9Jeiyt*JAQ#3W3H|v#7qVN?H0Uap{ +0%z3MqEFPx>rexm4hj&r3<=jw*@|TIIX{A;Vm{=7%uQE_GIxXz#|uLKrP|4+$Gg^2F~z4wYU?aAtEj{ +o|0jCDRu?c#NgDrm2rN=>!ED3{QBs=vj)o7T5-3V)&k89e&MrP1@zi!o&Mt~ouI*H +Q8+G=y01cWOd!B^X#&N)qGNTj1*<)5di8{M?Qh@HC>j2%O0NoToW9NKmjM!*pglnU;)ws9-j0b`#|#G*#*XNaVQF$fXlCwh?PArH=FD5|5-%QZd~hx +zZJg2y%X0Y#a=UbB3QnaQZ1@tTsJ=ONRlAkS*bpNqT&T7Qj{nqa);*ry(}2VmqOe&1Y#M%7_J$SZLU^ +ApJXkOi5MoPrOqQ6-it_KC6RkaUnT4t8B?O6vciy3~roV6hX6#1$RLK>Mf +AK+5u3bQ?BOFAS@lp#|xoh6UnfOyOhJK)%06mrC>4Mr%$pk&A_V0M@>5v+uxW=11GuNCw)Z;8{&wH(( +JKoHN9$;`<~q4?S)7#={e?Xlk?K%*s~@*jecloPD(qoyy|SK^i&Mp#_w({lmpoHF9Z|~zH$^w*^+yRq|{Hd5>AgdNmbCKT^Q*o*3YLE@`^BI^k1# +`A@2jG8OVYsPrn5pB_mg(c{WJR0FVV{IRe&V$l)4g*)6Cj#RIBvjo(sNl2QPXe3qL`%BLbqcmXDY70@)8HSVA%cgwdA1N +5w$6@F4UW`$1+d>WPZwZYreHId+LBWv+_i9UznnHW}3-|-@0n-{$QK2!;qXFMncHHl%ne5|ew`sf+2{ +X8fEH(!;QSWg2h#O4~P(D0Dc#i-`looqvzrrG})6nL4D9XX)zT`RYNYRON5X;i#`yl??|A)H??QO&6& +PxzZH6#Ez`<97R1&k+=YVC%X8r`!(noKzjRzX2?`ZzA@6s*p5H6YH;xk&)HxkhdauI~k#Mq7w`2o%l4(C +Y=Rx1yv-1zl6FW^qWPuJQn6!{J&}lN_%d2`R6SlULNS!awNDLzWkEMhDX4skD-{$)W&1j3x^h$BkAXu +2ee=vTCx}n8WZnpyymg?#N9J_Rn#7Dn#utS;zxXViDU_+sVPf5@*h)tHmLex48Xa^TtaxgK&Tkj{l{`JJmlx|P+@`C6(V#GKNC7fb; +er_(7ZcTn8Td?pq~e>p>jVb_A1JI+r}lUelM<`wyUxAKtqq0C +?%*vLFdIw)|wkl(pt0M;P#Lgv>^y0+aBQ_8^T`m!bHSECV?%iG{P&H2h!=)UN5exYP*QN}Ggu~AiL!~7S_Gv&NUa1I-e)xqhCwOh%atIFSyQ +``-n1Y?FsV+~VGlQ)AFQ|hut0p286=Fx(&R5 +On#VM>IdEj#;7&fz-LiD1M%i6icDEAkCs0oxXOHkVv)O?FHtM>|HDg9G44>ADSrf$LD-e}ml`u +DG5Xpx|^XE>aCm7!FHj#TWZjJE7VUFrUsqenhvMJg;XZ+J)Tp1F`!HsDVMMun5^6@;0al2B$?_Z)Ivc>dUfW#S$KKYkC(XTN~VE~G^(@^Bz%1$)Sg#dLQ2NeM1o)$7ptIZ1JmzCrhhu?3Z`F>HLCw +xv})ZdW9RT0;)sDy5l4)|d)TOZQ}t2c(OWq~UvByOSa>i?9}9a@N5?|xaa=+0$i?yO#SG3J%4RRHzzr +qEeGtL_fV_JEs^zA>5&5f;ugx7OR~OL`bWV)xlY>zz0)h%w3d;W(xi=HnSmZAI2mGJiB3H25|b=OZRL|U-6?#I3%J55RKv3{|4gd)DzA+!i=i} +tX+i{u8Y{P}zvrDK=OJ(}osxn@#n2L+{F7hv50F~;e0<+ay7_`+W_x52ook1YW7;=p8&!3)%HD`1W63eCr@t(-d +GfHbNcDXI3h#x%KYH>UW_E|Q5DYIZ+&4fTte?l*g+VoW1nR*y|c@lRe|2S&=vh*wG3h0!Pv!uhx~ap6 +hhVrJ`S{*gL>$Oj0od^8+Sk<9_r_~eV?r!&Hzrpo3t)Du`>6)^b(qjVEwzpeQ~6J*%>)>>PrEas&njq=;eba?%O{sd<@&X@V9g8Dd*L46|PVS +;j2*i}9SsiDJm=B5P2>IxWpr8a#?Vix|pxX<0^d(3XQ5I-`^pnAd!_McuBdg<)tYMO2bOvuk;u9h0}3 +MU)qE8Yk#^XeBeg1sv@4UGt_aW^5h@NeToTp?Zid-JnpTD@q73pG2Xz>662fstH>i +MNojX&3N?N1fewGg00TkEvYipDhYd>lE9nLlmBU8O?y+?&_JSG2wVa0N;Dg)$g#K-T4z6XY0j;Kx7XmVNd|wlNX%SdmjPApI2SlhHPJY-x%h@P7J+x>hg6Lnh&Z^w?` +XV(u9`-jeFzqNnkE{#z>{?;T=N^q2MTwPu2yvMW?P41%dBR4i;fxyO`b5;HQ!R9_Qa)3XMh=mG)C(L- ++Pa-#2*<%3eMrj(CgOc&~_EONC)+G3U#NLyHG%T%e#N>_^fR$mcLb#6duJ41I9K{y%EjYz5;M#ZVyPN +fPLd>y49j_9CyZ%H1%1{V!c2d;Vn$u2AoR$LO}*3ILC6)>bOrP8HZu4QK;mpX5+hunfImo+pjoA(YlK +$)<(Jmhg2U7`FGH*R{A@B0@JQiaN37L``!KiDJuGT*bDjta7BgYP-I0zu=12~Yrue*%a!5jS% +TEP6CfT6{oLYFMU1JPG5mz^!0p*zJB*AyngXSpzjjSy5?ZDSqh?SL6nwHn-uPCa9Gbz0p@!V)s=KueH6ohAjL@TRsJ~>F`xB<9Yl>@|w1%<+*J3) +Avc$VkE7ayFuHaHPx!!SFU~09WPtRh5txYThB`NjIG0NeiJ7)e!^n$!u1X3f>nPPFO1uq?ax{b9cF%W +rxANDr5xQHvun_!Z&p|gv9%GBn@*Lk)Pr#o%)$^CA;v`1uok87!+FTZDqR3xF0tfcY9I8GSK%!c)g?C +_d`)%-vra8W=P|jwz$)EeU=6}wVYl1krR;K(bJ+HpOIlAzil!c!)YjH +{XZ?(%4`1N@wk1i6+8(CYina<&_8aU#a6Ju0M0~D$u7^ +z)TGB;xQJu7h=dx162-6R$KV-K8+~v$nE6cv}n0Hjw11jTJ8Mc@>;cgK=%UWDi#`e9pps+JGI1Z;acu +g(SL=aeS<89q}U|nNOWUcSzv{(&XJcE<8R +Qmo5aDvaTIYBKFqj`zRfVWhLBL!REv4tFK>mp(S1wPC +0z)OoKVa6%&l1J{KU>%}2ewW*cprE{ia8g6e2d1SwZZiX_M3CpwTeVhP6I}XmH6)u_1o8_qTLw_Fma4 +}sKu@4CxsRd+-olV8%&mgNAZK5ujE)-H)coTFGuJV%4K17>tPBN2J+oNPkiM&Mu7e16#>gK!TcL;84)&w`Oa;maij);WgZw3XIzq$(4xPQNZy+PHuQutI}K8$tRg%4%oVQlCwd? +*=*v8lW85q0+9*mY?Y2bp!(ycs9yI04a6#J^!UG6HES~`_;#0&SvoJ-z^ +KPm7lvH^)#0!h$JJ(6oozcp5kDZ9cBgO~OC?pH4 +lhDL*GacIIA&4Ht?T?tR#+6Z-L()lc+<{pF>^&9c1#RVyt@707C`V_UeJ&8%~O9F&2*j5+Wh2tM>;)y +P`xHAcT&!mq6dK!dq-`789% +%>SmbE={2XH}Iw8G~CME)#t7ZQ|?tW7>Ow;d29I%5$UHx^kW*O&XvhFM1BC#n?hQPL5&LPD-w2z8oVS`5>E0>4sNLV1WOwM}t(0kB^}b +x)l4t>WPm~FYw$>q|Gw3Dy1sv9i$sycVj`LjOk#-BpU+gb|Nm1d!{ki+XR!+kC +i34^23w31Y5U#UA59>ejqBM(TRCUV7@H7DuP?ZTCaoSzhuHI`7&`sk>B8v)Y{rZ;N;H0DufCh)=c3E``CZD(Q;?VE4qwU3cy1t#yo+;xsBW#kCGPfUZjj!D52NP6h(3|S>S?*pex7@nI&z +H^4h1XCV%*#yxXF7}=tKk7BkTbH!2R~Yu9_;8>Yju7eGcX@KD^)P$-0)xh=X$wYR>-xfGa6biNy;|;pPQ&HUA6SNqs%PDv#TFR6cr{gIQ8Bsaj}i=MF5 ++aeKG}KTfrs^ajgW^vRhbH(KN>i~T}FI%xf-zu1QwGHw$?bL^)Z2qpU!{%X{JXvCKfWYuiRU8vo=#9n +sPfQ*9ynY0!qs$SujwrYPJRn^f@S_$>Kp6*I$DK46V-eupF9R*=BW3W@~HYAqk$Jm^jQASt!Z6}*?uO +mcTK1P+Zg}xyJ)*TaAyXCdM_dr}`IK=qGhR-QU&9C*p=NMf+LGgE)Bb&f_Jp^5XJw5uu8yCQH>-0Fn +;f$QcjK^KSd;G-3`ni%$p1oxY3km&Kv<~N!cEtC$XyT!nw>jQP_-A +nxIa}SS^p2%&OEEABE@Deb{7(n7Jhc(-_th4Ud=BJ}p#qfPk?zeCJbrep*C_o)O9cY)s(l)cSjg_`p!XH^P!@+IV-~RTuFQXEG=UghL7QS@^Gw#SSv|1f^3WLE%rXlMwG>( +P1Wx`-W7&Z4!O}T7nc!L3Q5trRInbq8GXfpM}#OZOEHm$XVo;!8eqYeE#0-pnDTL2^STS9zM@R=_lg4 +^HD?Kj!mH%}}KJ6yq?S(xt6UqRm2j^gYnGl&smOGr2k-L(l%E<+|L&jn>8sEc}~TbAIGu^Zwc7SsrDG +T956+~f%5+j1RXcr1XAIyoTFzf+(Bq}yXoEM_2V;Io^SrcSf&cq|3cD&q#iMm`s#@-Ye!wLX@L1XI#l +e?dR6tw)p<8X2R39zgS7D3m&`rQh;X_zbpWW3s6;_`Q5_Xwv44rlr}_tik2^N|tzW(q;<=^MlK~Tdj( +z4S3o9c0*fY0rR2bl=m$@2TpI_=|$W1D-=z;sH1x227a2j{eFhOO5W_FT53LVby6*r+}evabr$*WzJz +|b*(V7-_G0SoJ|Cup$(}K);)tdyddLl!e-{Etl|Gq5LpIOliay=qeq0uMpaA}hq|q++THVky=%jiNpp +mATVLXTIL%j0o@v{?`Y +ZziEO!j8elV2+T)u(lN<2_U(+H+=!A|_o!w#^3+B8TFf_#EDAX-lhK_&?xfe~vRH@7YN?lND0Yu-cmv +5?|Z +De(srHQJCP*f?uE-A)-<^n5mA+B9bP67=bbRgvT?#6*IJqD@O-6~oACHAh=c$VOffV|cReNKLi+Z0aL +US{T6yx0}_FzAW(MqJM73Y_6uDj@P@++%|wArGB@UYtb_{*ssIF-XbTjWaWLkSv^~Hm*KO#>o}FQf-{ +LNa~xYTGsj8a%nqNX9p@a7`eb_xG$N4qtn0z-bYI-ixmDnF$BxZyK`{jDPwo%(YIyy)X8|-33OC3p3- +QomzS1V>m`emg=mLDXi6zEL1WgArFm0ZTQ{U(LQG4*5zz<&D-R`1YwH#k(>_t@s7+RT0v*lCidP@Uic +iBhxB6~kL>qBv6+va6r@Q9LY_LXz{N^Domz!LLxyY(d6N^ZSSzO=Epfkm3h>M7&UFee~jQ3w69-MfiD +Hvg(GlPCQ1FR6F6#B1%r6)g%Ru%5DxG->VY~ZD_fzW6mxYiYQvbd<+{7{?+8uRJ0Nlz0W8U{rVD4YmK +tZFqY0D@BhpYjr2$T~ghYlqc9&vFqGuxh8Mf%N}TwLo#j`!W)A0vqWO-2KKg6%qbNr3=ul%_l#CRfCA +Sl04yi@*@Ye&{Ytc;3At|hi=@DxkzROwVNJ!=`w&-qX5lL1W@-=yS8*R{^r-|YVac=En_)kbjXh!gV6 +OjlwD*T0LYKvcKs3DVK0oj$Vdl9b?TwM4n&6e$=^EY;T-u9Y-s5gB+HbNpJSb{Hje_gsQWRAyxKueA8 +$(%al1yuadH||A`>cs>mLYIvUZpsFISpJqnj{Vj8d9LJ>?0Giu2n1H8}H!*s{{rW8Ydb>6Y +zubefu!YQtCDzP}acxCxyWc}CLM}8kSaqacyfA6Axn4Uiq`lSw9`++_p}toT8I`4L?_Y{5YL-%myVtxN3NX-w<5Iu5c +|UUm5h1D+tJ&(baxIZ5$7o^y9Q$H)iJj7T@G+{+e8K?)aDr^cZ#5NctvEvY!`niTZI8?3Wstavwc)0k +pBlH=Cr!Q6FU8VObS&B!ReK8XW78Tx^eQ{RW5Q-x@A+IOeFsaqC@+)Nk=O{?TZC#%uNY2mZ#tVJ`PKz +B!qh`nr>uxLf;me`Du=0zVxZ^*6307e0c(f|)`M`2xPA1&WLM8&klY8em)bB9$5IZTy;^XEu2S^W-U0 +1EB|}w52kduko)w!n#mj<0T)_hWsO6;|rJh8Uv*Qp>3IX%9>1OsJx)9a3wRSxqYKPNazV{*)$$ZDLl= +J*;!NQw9hu>p*q>Z@1&AJ-mWajswzNen +j$e7hc1+Au{|G3MGk*ZuC|C5RDOzhVT7M3hsEw0@`>=plyG;d$xM%0C@BZqvlcT04s$-A<2Sn9%Skbi +XVy_XzX{Ad8%o_#&9<`2M4MXa#nUlZT-=)|uB368PuJPHABN8*+dfP({MGOoyGWa +4*&}i-Uoc2sF7PS7jeMro0D81TY)5xEDsCIJ>-W}I{q$Il0sLM~1!&z^(AdS&)pnKQjLu-IHBNBE!YSd!9oA%kzAr`YdTtF29qBT +Q?i%mvE~x-Usvd3H($?~=J4OS5Mqu#*Dc+RDnDL(74nMh$d!hA^9gUW1^MDQHdt6u?Xx*fkk`CRk0DL +$h3RnmR94&F$AsxGg3$wn(6ZYyBa7+N-VHqw6p(%~0JREKfBLFil(wZjVCAMy>@{?E@WrMw2~5NNHlt +im54oNUrU}!$J|M7UrjZdlx63V5pPJ4#UF9T+8nvurQ0aw3^Bm1C3)prHj-3RrdCcdBMd7JjjHn!yu{ +6l%WVff8~d&)9R<@CZ2{y@GsA?6T)6}SD@GrNSvgEWK)oSa~)D&g5y|zzCr3u +eMKdIUYy*uxquJkn84De-8Aw1~)a0RfPk}IcaZFgWJjY`T615{p)6gvB`1E7&ypp(%Sg>diijvbjT9a +~b%VvkTezyVgR!ijP7_6bmUL-rlq{!B;H%OMLcnvoq7xc#qlhb0UKI)p4j-a~%E!@SB*7Tenev#CpQ$ +lO5rP0*y-Wvwf3N)hA6t?4@^$Xx5n?Ac{v+$1DI*OV1@DdPvbp7tA7;7wmdxSh64cJ>t3_MIRoD#7UM +^D|@a$iX9-Az@zPqJkjqZi&^s=!*k$85&R4BdD1cz%*2LC_)tkw0B2{|Q>oPr-0;A6I&)>fW+O@?wEa!#5C9H6W-f& +|XdPGM;A=^7HKe}aJ~BLhu>G0kV22U3xNvW-f5z07D}&?z9&Vn0JgnAXpqQfF_28UN$1q~!dp3!U6ze +$-RqKjZ@6!;kg7Ozf@^x|xU*o8Rht7FG2jfTdm)BOtE-(4~p%f9o16uJI|3=Eafi!`%wo5JZ_|zlJFQbf4wy~LbTo6ilE(4@H&H$Mfe|Ekk=elOnwOjW>_X! +7lX4X~|8BDEp?4`BJf)Jb5G;(gfAue2xN}v@x=E#XtZOJe!?O3?q!4$%tE;cF!#a9~EC(ii^whnF-fl +O6YzHXqG|w#flG~IjDlsR5irX;GL#xRW|Fzn(e>8bKc@9HkDC{c$yD^&-BPRV^&;R%*u1-26$}0;j=o +1z=$=_=W?IFy +a#;@vhzs~VdU!`VE{0bRgj +oUf|J-5Cr=?UL1kRVEFcg6OP4l$TfSILK**Uy}X{|6*SFm7(CFvr~wcx^nTEU9WxVchw4%>&eK5jcBp +GOpwZ0HNAf?f$_r#3A!Hz_}Et1vf%Zjs_2Sgm9P%jl-882ZYk?=i(iRpoC3vwo2`SvMQiY^6mo9|(xW +p`_zvV1`fjYjxu1LVc7B1dHM|nrfLiWa1w4;ptb}=W1>ocZxKDg1YlSQeF0tw^nG1DyTx0r^bjArP>Q +|^vVS&i8-Oy6wM?QXSkAp8+R^p%PE{yAj1@@{plxOG@%m26VCaU^rLE4UkF86(Wx<_?2~si;qt~iV@2 +7{D@EB69qhRz7^!^cpAltl;#u)+f@)x7jG(%G6!VIAzEx1Y{7ynp{pX6Lpc-&k9DJ&{g=P53bZ$Pl6g +mB6dL00a#uPCdM3$PGxF=ws%;NCKeR3KM8$L^X2!s|G_!dK|QYLvhmEw?h0jTya78?Vae;k^*cir6sJP=H4ylD_rSww2QN_W5K)+24BJj?0u*3`AiQ!1258N +oIbngv!6cC(&t|K>_n%;4P=vjy>p*gt6w&0n<+q&z;`0C9Zci*y?V&dl&w($jpVLk@}Twp(>rtd@W*a5tWE{LDz*l&~HhS-0>cQgIQStIr&=Agk?06y!*i`NN-G +UyWKMCV{dKm>afeW48Q!0W+swo`+Tl_2o**eoV?eFE?7%kcK=c(W;9N`aV>V(h;H +BZgz2vRcFAOF)vxeY``A-_PfX@y%S|IGbn^O7_?x7R$T!eqo&Hf*uXlYV22RqW;#{zbC)*V~_tI#be)|aL?dmZ=0O-9^2J7Po}Zte*@Du&0y7V}nMfbVIpu3X?FFl +NQ0`BBPEh)LsWnUYv*v?F*3@4KZ36Qx6av^#JtfT1QmZp2MkgvC|l*ar|CqzqVubP9AZqm($( +*=Z0{KYz?#z;prYM)+N&y*dtg)b?=J|o&jptZmraA0`II!oTBEWeK?Ypw0eoAX%Jc?HPI8Bk3QC;V}k +nfRGGorv1w#QcIJ*SQV{d-;GXy!Zn(C*iA&M(_1 +t5JY5Whk$3MkY`}n>517iFEz5tmv@JmS3$k8P2L&o9%MIQ@ziq(^>Ec7CIvr@BCx8TmdMnc|FF9(p5! +5~ps?Nc&EsZgWU9yBKy$Po=7{){9S;b`Mpp2ltd59G4A>>iH&8JESzgY@`;;MKU2?q1(vZ{NmhfSQt92~h<+zfeA;XNaN%QLyBY^QqOfDOi0y{@LUEPNxi938$-PfO +F4~XrhAeh7JQi~la)F-f0eg>N&9-G?yR}`@PG?5MmM#$08dDY^jI&4i%y?6*K`U4>khQSz!sw70yt=9 +|V^d5lbRchna8=EwO&FQBy1Lw~)q)UNFHgYWw4O13x`2}hkI4!(I9V-y(J4~{7HR|IpEpRPc(SxK2Y| +X%NBme~!L(3uj)(}0#hTQ4}AiblkC<-th=%ReV9i+gnF3#%qcn+j%$(-!N{XuCAycbso`(bKFz{4GA%`!>@U)A%aJ?D+ +$*tvEFPkQO}I~fhE7apw%sFB#=lGuCnWH5bPV1>+-2G=wt>fJ$8IZ7_dQ1`ORGnVBcXm(H622Ln!uUu +dzBl+AT3y#t&M1{MJnyZM7wCl{r$Mns8y5MYSSCUU#B`1>`ajoCM^u*mIAADL`tnl2ax#|yYe!RQN%I|5Q_og7(Hd)cl@x`*J&x*Fw1580|6P2%a5QZoiCEO;iK&+(9TpW~EvJs!jz? +5dd(LRA|ryBuFPT6Uhc@Hf$U(O@&P8t2lLS+`^DLA~aOJ*2X|buY&^>x``aW7nBw^T%M{T5 +$HGpx)n`Gx%^6qQ6!)+ix?4ZXs4D>ReG5%n3trf&Ynk^JdHPEb#Fqve%mb85K9s_lbUW)n&gIBxY6>R +{a97{qxo`k@Q0lZW*vwyfLmqbTl{O}ojLfaTd_p^^*&`wY~@J^cBNDz}7FDcbXarM6Z&R(i@ +;X&6@KYv9n{$z5t9C{bEpMUAzj%}ChlequM6hnkA#J0e_eSW--CAJI|5vVBoqPFJtMmfw(Ob=(?1^|) +@?ubQr@@<;Y-gm}VL26jSX^=`F0kY6oi4XqeHWL#BK%^%(M4XxTh40em2`ZOD#TrWRh^G8Frcmrf*tO +n7g(XXyd{@jzGROG`}Ly&bakerc9Vw2GJVhDs0pS(ut2Uy- +=S?-RG*Tap6y)TuAayo=GU6;InsPkpB2}|yZCymAcTU*)S +U36(`#2};(G$9KbgiO4}YwCcb+`v!t8%gL^+~t$wSDTUSwthDsS_lEdGvn`k68$NKcua29Sx0L2y3}=A#A@6_8&&Wg%S&2&)<64Jz8{Mou9skHvY7OP1pkR3Ut`6>T8iO(&)8eiF^Gx3#H$~d0J+ojGOLri!=+V}BK9Qs{A2_HNU`CYqqqK#|08 +TGGacY$n_!`>1r%+4W8@MZMRu}2%eXb#h_@J6$Cqdip$U2Nba73E)Ht1qSq7V&NtH}+yZG{T_W$PR+a +E!W*GExQ|RLh%C21#qjyUr-}&yGvYG!h(KkX}*B?xBgvb^|>50w5 +i5yt*i>Pr7L5yq=rm1U*DL>OHPltraaB*M7ysN7KcvqX3YhNqYAGwR_WhOp&BL1}?`y-Q8=b|4glZoTr3(JOaTDxMxy)Oh1-%_{MGr82tR)Na|!dLX%VZxO%h5Y)oijpiRDarDX#c`@wsL8QSFnU3br5b4V&!`alp_z{M8 +mSaTFqHp>hQY1aJj4kZnoxeNM)_rMlUwO8p-6aS=~fR&+Q~B#XFe*$sM&NL-G$p#ih$(&66I13m0sWZ +Ch3I*lFxS`RNvR6*QQq!SH&-vtF3NZ$Rnl6U&^a2QQZH;D>(Ud9NbRUEKPvfplQ)e0k4L14*zi`w=-0 +M?lTM3G?=E?9jUEG(0MF7rgQrvt_t$gGL4)Q)HGb&1&y-WvLjV>T3QViPyiIya)!T|UQ7By(@;L2(ln +GV{1;#{x80^PIKrWsTuY2$XwUKHh3P_Sg>rtG@>iPBsZY*OL8n$ht7@>FDZ^`iDi${_x{JSnwY>(NHf +GSfel5WYL(_tpf?4iUvhWrHXa+O_+HfKUbNKirv~c5Hw?TtCgmc&y=s|uJts@InxMN{DUl};VmvVA#k8c+O-zp42*R?iAb~vA`s<3t3(&W`G}H=Ek-81$lx=5{Bhf!?^40b_W~#Ne2BLv^el +oDPAtR@pjzAzMyWrO^$~@H3rR`J=`$gMH&qBxTF0%f32R~G~)Fjf{sfG1Xa6x(Bv#8s9J;+ljhDgrs| +2AvCB4K|3JGJvcANo&x}R-%vdD!dF4_o-k;?06h=HJ;trSFGnpV=rFL05+qGpdONgIEi$Ae0VD) +a*sDkZ274U@G0!ihi_cIz`LaA&&yojk>;U(JO(3gY@WWi+?<$g)oyue^f4S_+e8Rv^Ns4|eXx3*D6U9 +&ERon~(T}VVe+FbEhJ{KJA1jzVm39Uj3b$L(A>AIs0sV_CX=-@ST8Ju?Efy7P&2J94M#ZZfj0aPuV;|&<93~M6%0$Xg9pBZBr$YB(EF +)HF^nSkNxwwB3IzjF};1OCd>fQ+!CjS|0l79zlJTL#uhpdp;k4(X#Hm~9!hS>%|T7%8PLj6yT!|yst+ +M2)DHViYo*3+dnuZ2jVt9rYC@Gv-OD=@H%@`k)%ZKz9y8%l6E$b+oXank+MBp93NMw~{fjY|N>wVmt~ +|wh*Fnwn`tp@A7S}u&!2?cflSl58YR|UTj!3ofsPnjX4M!)RF4dlDbE;M)BkDYbg15C+4LZ-dNZ(@Z; +;g_2srYlcO`u0Pt-|<0r*tzx&SF!C~F4&l$THt}Uu{G2L2pDa0mUSwjnO6DF& +xD<5mN5drc0rgMmSEfMSK++>x2GI6uSME3zleDT|cINo4c=^RG@OK^jO@lwHNF2iRC9C?W{OnbxN1eU +szoq2D2lbe?zz1D+GD)?dF5t5L=^-_Hc)N|C15&C0e+jY_m%R9urT7EF!u3(7=6AgkKFo +B57CvYJx0Ny}064Fd0g6D@qx`kx2m2E(ynTP7g`e-k7Sb^vb!tbW(%^$GRXMFuXCJPn2BQ2#Ijb8)*W +ig+)p;!)ThjEa?DjbL@y*qEEfB?aAlUwRBd=++*d_w1Aat#GmqbLzU1Tx +|+PXk1D#-bh39JDyH~jO5}O08WX!)6ZmrJoD&Y}kk=R04q6E$=sXUxtrx@_ju4Q5-GFTa2x&ZB5SrC) +Zx;%o%MASN=Jow(dD85V3-W$F<1O<1Z`;%!NqAM=vJX#^WYU^}z>U?Lu_E1xy?mkkf5m}6e{}98`ddl +ex|J~?{Ei%a3EPcFft6=9M}TTI=?GA*vIsq&q}>eNk}7wK-7`jSHAipKnjOI09fsDWM)TLwAvsuXENI +GaYOTK1wEj|6YqctD9|$*bEqjc3bE(zHZ}1!4fd9mYy703P36sbzP^abvsMYc=Nc^`iRW+tkx1}xyUH +G~%_NRYN7>$$b#m275!UQ?`^a@P*O#68O;M}9slX5<3_>jUv%-#W~3gyp%@{iyUeVJaw*k~0v*?D$WR +7gp$wkoD{rxloRR@5Hm%S(~D_-jk?2aWlerFb164H>nNnW0vMnGvS9IY$gi9_R`O@h(Wp1sM=$RLt;X +^uf!uyhu->LOmQ(V-FX2M)QNCf?-y;6vwr8cS0$Z5;=W89Q2#?6}w#dr!AScAJ +ghn*ufwTf$*4uL8zP>EXr&K`9Hx3y#A@hpSU>jhHmo=MkCGmrAey)@!yGj;E1dxUFw95)6`L1z!r@y1 +g+)wq^T)O*ax`++aG0ItF|H}-t-$`M9bjjg7h&3Xm#cN_tfd*oia`EBMN^{VvuX|b@`iPE_iTx8Q~VA +UdL9fgttXiLP>sQ%M48+{u}N8lk$2Dr!ZP$o(HA68di#p6sCCnMu2I3KUwFapaW6zFQTP9p +rt7P4rIZa`%P=)NMY0!EH9<49nf60sE_rdkku5of4Kd95Ea1Jc;l&T3DS`T9FBZ#DA>W?Ts_kC(e@(t ++aSO~?|z2}KF8&TN!0^mm| +gQB;9MNjhUPe^AwLEe9mSeDdFTuY7D5t{~5s-x|{jDnTT3HmH%YRTov29$Y7X`#l&W{v2NwPUy$?>MO +B$A9SAngLT3LvTkoe%Cmdv0$UBpey~a!S^X#NN*br~FyL}#Zy(XFk8tp>OO3;04^|)#%5CJXxc;jd-D +5AmkwI=oK?{c&CAgPfg9GK4H1_awN*cR0%Hkchv?KKPjJEjp8vOapuZrdT`GYV5 +sQm{x!eH*{_tj2z1=9Vc)0VZQTYTSxdR!6;maJD$}31CQCs%t4-XwaOHh(H`A-=s)lXt +Wd9TNzBjAvnzKT76|5jRIIfPdU%T!NFR?2xuXM|@ApSKeKRzbk9j?wSCoIe2#+-dd;f-xaqO%vJe +RJ6|w&)Ahl5n`Fx$rKJTHytZ!ZA3>a5rQKUs{zsN9Vf2r+I87YDYU{U0=oi=7LhEE2Zhp{=br7uba*M +peQnH*CQfSj6?&YsoVIEg9^$!`#x`UO<%+h_9Rm)wgYieuO95pj)XM`AEqMNv^e^qdIK +ROM-S6<5$h;TnXojzQeg+(wq_-E>!eQLWjjSA&Png>5Bb!)zoO>95W*)CVW|)Sl3D3z1UXS=GCw{`&N +9xuJDX}{jFw9_-{*+WsIA#<-Hi;M5hHKA1uNFMzdK^~(|AdKR%-moBZO+uL76jG>p#$KHLj5WU^`r(Pwjm5UZbEA +7SR9q`ng@S#;jaMxrovwi{8`}7jBO}?yhkd3q6gjt-UQyg@a~0oAH4hE-4E}6c*o%#hxahNhlBr@y*B +}rqwQCvV!E&?hfhN7UU5z0j&1cZBCN(H@;;uV+oZPC=ywB5=UwM_*zm$KAsG2 +68C^$?YmrdH_upU-p7xf~G8`u2Xm-{1fH9(eA|ne};|d1mIBnKLtO5e7|3cd@p=PoL;?@>D9~RSG7z6Q6^PO +xJ(dunV_Elf?))U277coyl{wz<45M+8Rp(AhNOX;7N(}Gex#6G3JVP(ml?uQpqeuK(Zg{DD4XVE7NK_ +9Ysq+qU=zXX1Z4#K2o4c^yOhhO9r3yynXSldMP^GfTaxKdrazf}WcrcmOQtWGo@9E~E*q6c)%5GRjLM +#%>oP;x4E7+b4Q0XawadZiR;%n>mloQuR|=kUEu(aJPWxcG)=h@DALf%4-IcRTFw(;J%xLe*`2x3qMQ +)CA?7ttbI@r(fL71f*0t|-J?M=R$?U18N2Jdu~lYWn@*%W7FHO1^zbkY{^EUCd%k+JJv+T1JOFO8JQC +9r%~Y2;;>?UKt@t=Y73UqH>5i@1H9x*2DTUs7@jjT7g;tbQl&7!X3ET2i_d`$kXLKdu+o +#o`Aa#g1=EbgEb@!$76I}LW^QI2=PWw5c>U7{?biO5?jdA}I=Hc}FF?Qm9j31t^`HucMbtPc5FMp7#? +mzv|?jJgu_n-2HPR#JB$h1&id0Iy%iIJ)NQeA#cFLAFtWWdV3@+0R?$M2*vIDf{9A&_aNA=8DBsqEnV +De!00RzGj;5S1rW4tHZr*u_RkQ}snro^n-7=TrJV2IHifD(s_M@tkGYk-6_9nclf*U+z0-Sw9czGmrLf6DZ;st4SSV8uDM?Lt`9-!V7TSbF8tb +2?kXZ_Z|3)-!L5w2SUZ+wU7t8;7Mq|&;#2I6WvkCF-JLMNQFZA|9zGqg4+Z~^LZbH};TRq=YM8h|y)P +k7N(J)VvyH;PGzyVV(EhT}$|o~6HZy^44{V?^E^jTUk +dwnb0Bq&cUzT(P5Uc{q-5z>B?b>~U>`NLwl_;XBN8%2qH_8GYkuGlD1ijDV>UL&KI +=pt2F>PeX%`cf$%}Pn)m#rbzNj8%on8oL1u(Pfu&I(4@!QqMrX=kk%Sj$s0P|G3AeHI9N_#f_lpERfS +4?cSRD9TMrN{+j_Ej#zm~K|8*bGnO-pC}j?tV-!1^1Qh+!=|tmlZ?ujY{epy@*!LCO_s8^SVI}x$CWqO11gB}B3oO+x +}L4AU|qphd^fI?vegXhe6|L_I)klUVa;MIE}m6V*%}0E5?g!2dIwuWV70I{9M(Q;wZM8CTccrZ&(@)^ +w$xD`hBt5aNPzYCB3N-Gvr@&@F|eLu>v&j?vGpEU4;JyL{O(#Gli9{Py~Ditloy`_Wn&Q^_39bs6|T8 +Fs=D}wd08}JkvmH>44yC`1biv +AnhWVds;Ga`6C?$y>f=`ODuGn?F+J?-9LsN$)@0`! +!JC`xQhz`66una=xcLNEJ=S_&Nqkdo%3&GCAMd6v6wxc-z;<^=_!j`1b(+Zs1?sg`(UwkAB*(=51e>v~6Ght6h5StE=!G?CY1b?_hBNnZE5SwFw`NVX@zx +q})X6+1NL6&IOhZ+hVWe4bFXz6YZT<<(Iw6Pk4LyZRQh0+@0^9j|?cVuR^%i2-i}dG39ebO0`fs&szc +tO~uooyPpsH%2YI&Y>QfyZ01W}HuI$~o8RW&we-92p)>Sb^r5NfmBvCum8`)9FQFXRw75jwSQd_LW!v +j+D=S4J>b5dp3eV5dIVB58QVC)saJIg?qs0h~5?OZ!uMN79Or^_s;@Z}VhIw|74;s;-(5^Eb>_}dg)bm4DVwpN9| +%`g>z?5h*R+sgJJSXh?*hA7REM$2j$Ry^;k6X0L*xXW&?_$S#Hd4%`1-&}aVTW@6FTu2BXM& +P)J+DwNDuytQwRLcoqDq#s7%HoNCjs`*L=#)C9>Rfu#t^fx6XY!)RaUSmZ7Xjr8m(_i!&0_w7;j1=;e +i184jpPLe#VQKhfQgVFR9xP)XGqi$lJ?6u)4kMF;R=>_!haw+updw%gN>H_*L4y_~vnv05zaLHh0&^0 +&Zb475$EJo^)-uIL>=Oj`J-_yETL=_Ul{5+EHggco$#`&8t{FBmA+b?c`MJ$;cLD+B&3KJr=dJ7?(38 +loq4*Cn(kcZ9AB){a&tryu{vO(U9te#p*3iM>R(^qKaF^EM({7l4^<`u5JwLqvq|}7>3ZcmMa5y9=>Q +GrMIWhi@u_(r)z82aYkvu_t;m6V{mzESYO^$*uh=f8YcCvVXyMCU50HYwuartTf@HPtzlflRbHrVoGn +W$7Hkl^$59L)PbVAB+-l{S=ISP~INl`26@xd4L7XtH2sV*rlLLF1W?{VFj0@C_yD89-Sh1U_VSGx +_aaZ2Pd(CXrKu`rK8mI3y+wP_p!d~v+)g5OnG-@HLJI?x0_(dGRbHtuv+>92qu=rz+g{}!YRYmj5T+q +DP?8eJn_0E@@ZLL&>oG-Uvli3j7WHzLFWn~NEBOJ92X0AZ>Z7$Qv)2dUg&1K9zT{!g3Wh`{s<}#yH=$ +p%cbgBKU+Qmq2oQylmK)AZIEW}^iS*8kxYiAi)q3$e;Im_G1^eR6#2*xf2HD0)uKiB_- +QyNyskFrMhA|&UnS1em`_F+afrl?vcIBpTZJnmC(kHf%LVHLKwQ3w3IB0~`BLQD7fX +Bel4?Rkp$T7TQ~2r5`rLG*{ouY9aEsJKSpra>9X{*0F+9^s{$zUaY*y*t={p->J0Xy^CIIE-dKXN|PP*s=DfDmyy(Za`VtMvXxA`# +96ap<}eoW_S^^duc@3Zq7#dcT#9XA&VR90UG!zH!ia#jFhV8XCSAJWnZzpi +>b$(hI#~YcdNAS0&e4GeofA`v3=%+W?8YL*-FU5YBgAJb}LYa*w3i;&ZDfrIeB*nltV-vn8nQ)vhwY_ +X_rz~HpZjzW@gTpT8k&1N!{ohRAFfVO0MTQn`xGS9U(-JDw!~Bs#X*drroK@Op3K|X!>*?t@;bz;Dpo +nI5HdC~#b@t?^>h_|Nm@i63AFph!e80q%!?`8uhi!~k_Z{TB0jvC>uZSDPqv|$*yd|o6 +;qD{52hN@`xH8-5dICK-_SY!Jiq^Q)2v04|McGJ8n6JJ`a&dwJx4a&Eujb&dmWFxbWA;_% +yS)-6?#aSz2s$Awt~( +GXQ54lKu*66Ow?Vvlv7<1+h-Oh5{UK44sxEJ4+!g9_1y)ke$%Yh-g}T9-8Mi(2t`Egdt6Q;#ZUCo|tn +@YbE?LM?^?B)8b8-c`ru#l2fn1SA*ehHqUT(`z@xe!NL0-mxR$0U@nzw$_}!0i~15XJ-8P;(W^`I+YbdI{rE9D~?wQ42N9!cnH)&SoXirj +Uv=Bu&BlA(|l&&2{uzxD7Hx+P<1J=D1Z!3ymk)x&%pnFZg^Q3qon}Q2Gsv_s{RVs6|v{$r=<|;ct!YO +;kMgh^Cgo3;ivF=UtX9gvk5YS*1n^tOCEgs%6M7^%r9lvg2@WjC$A})8a6=?F!@uAq>aVWnswO$%VSR +srdccNDsw$<4N#?a91&h$RgXjfqax{YYUIBJU&qIcM$$<+%^OM%%*2|#m^*>8lhTD~trMlIjYzQd3gF~uy{dS!sJ8MgL)d(|?^{Yl!nDZeP_N~{svDABf0MeSNL^VjxGt{ +8vl?9(qN}4jdDULv?s-y~8T8d-?%X#pZ;4Du_(#~Mynt2rSQIBY~h-oJ>_9T=R^+DwN7+~}B*o=T-Ul +qJp>8Ey(s%VqTcqbDYs1Y5av!e+#mwT_+>8*icZe(5>s6jQo{VN8=D4-fcW@sf>{*U&9LCly) +9da~u7dWKyoRQAVm%h(=)%eft$GG8M91Azrv;6)Ilu`r|!FEj=yrxzf8JH$V;Ks{n>A0gmmL;|@| +j8kt4xmy`Ag)d0(pRy3${G|nkoszGrag`Mdu6ktHVlCJ-S1?}jx|W@i9laYmGA#R|;mEKXYf^5%pur= +<9$297oV>T@+H3VfalXk%8H}43obkRTkvP@8sUz0UcW)%0>s#5JUOY=9Tap(!VJPN|^mU|qiW0Y)9hJ +~|Ov<7MbY$>Rq(RNOPRVh3Dc6y;@~bPqIwk7ehW3`BW!Sx;ogMI02A>@eI;N%lW;KwvX-h +K-WxRL>7wx?Vx=mZW6BMk?@_9~kaOl9ojr>wSsO$6hfInA+SYu_e!;6M^S2X0bk@9G@J +w^aKDe|X_1=TUqCOlFmH*M&54-{;%|)8laE5VDUa7aSW(VGdUu{`~NFhmSVdZ$Ee8th0(jwWJWy0sa^ +M<#9N#Sr~pbH84Efx>(_gqQ8cwF_KUS^&`6J +X1;H&shZgoIoq6W_q-b~v2XqSy)jmUnpLlHKA%o5vMBxatg^i9nCrP3oY^E|N|{g_WlJMZAKag{eH?d +QANlP>f1cHFf=jaoAG1E%+8j|*$cI3zmDF~In#&cWbn+uGL=9wco+`n_j21-@tVkG1*6Hh_i0&zt0;@ +_J?EJQo)0=J75j<8=U9yVy!8o~L#Lnez<2MXd(1jgqQ`8C;WOMIlMn$5(D1I3MjxIKS`o^yON-dkUBl&9UJWWq@~*jMjEg76j8gp;W~&wX&5xE-rJBY#vj-zQ(`~v^kf$=J~_6^?a+#iDTA~ircXd24~dDcU)H{*-}gWI0m)W>Up)!=JR$kO*`{%++*<+4qv&);?)>i>K$bk +id6Y!`Dw3`IVV*~IOsUhzWjt81iVf=GY-nDG;Y9}9jG@N*A-a!X4v89mf~sQ5!$Kj+SJ#nWc0^eBzx_@%M_L+$4s-vX{Z{x=7avr_#xnq}q;E~|6kmfi&AHks7(hzZbXsE +vb3^e6<;}2<&0^kT{qH7d7j;HLmlpLhf|W_(vfJwtnvou2Z8(SUYYJ=Dw_nC74J8#EGvx`ZZ%)K@KGw +20m*#6?9$iu4R-!cZ|cKl;vkrt@uh2PK2U}{K5^~|^g^8Si|!YWBAuG|$|`jZFWGr9xXgL5SlWh#`q& +yd$~`TPP+`B2WXbeQP|oed$r@v^DV#3>YNWh#4-{3Lt#EzdxYohxl;%e%JKSqWjg^Cx~XEvsE&+17Tm;teFEyOP;{{w#SBDwv7(^+BPD%EIo9FJMWggxDFJAc +~#S|y|L1lie^2#?6J>Wha(z7?S8i4usyaO$_DDU*YhDY+h4~5z^r7YJ6mkSl@u2q=rV99a;W_x)iLa> +-D7W?>8ZSm6I<3-aniP9B|)LgetQe@TESjwuC^T|K~6qghme0Y5Zk1x4^#75r3}8zM1);7Exv>{JlIr +(Ge$~#za{%Bt5W!I6nx&w8}>-`D`|!SfLri+P%tCYeOw|o<)?0?ygYU#C{xN^Jh_WJ;1{F$B`de)xUO +G4#d2B|yuZ|Q2q}1^&v@**@LAja7Y=vaHzHYHKSjG9(Gh=6Dr4@`b+2T_HwD*G*)Q6fA?@Gp=KZx}iM +p6`6~{o!aL*wn%?SNaZ~NJK_$Vd9L#vfI7rwz|6@izvud-`CA>D8{ +>wSLC_;ZU!w=5dvb`xnkIOhGjTAEs1LoSt-mE%A>NDiiwREO|VNX3Uy?{F74c}rl_q +OC!nt@tBg;s4B{JClWJ|oNYgJ7zdO_m_pRD2Ny^MZ^#Hb;9G8zze=kXyf_LTVnKgH~Lfujxo{1`|?en7o;C44V}vh_6XG*ozZYsu*EFP1CjSD=(&gOYKchOjIPXbpkU&Wy?EkLdBO5{G%yWj|w-$5t762FKbhlP5NR5fn +n)ljhE%j?hih7hIE3|wdBWpAQ)>PXM7DWcQmnECF%Qzn>saH97L%s4 +LxDy&zGBmCfa>_|3jVmXcG_IWKq;ciU%_Wb?(86+{h0TB#R*+lDpI?{qHG^^X^~L*bvChNg-{As@8;$ +uD_>@lfFD>wov!8LCFxdiV$FujG+)~0_Xx ++9-I5~YTr724X6vHEO-sTg08r#oX>zJc2e(!o#c}qJy%a0H)x-XUxyzdCA_Cr~9wS9wmBz+TzdYjzGkD?XTZl3lWI6^soqNZiDbwj=r +eA7!>Ro;YUyJ}?T{GFX9R4c10^n7u-ToV`DDt(;0I>AzNyBzhI)EV+rc4SgAN_FQ8Bu=?*neIu7dy?y +v3|o8hOG;M$Vbzs%PwIO8)J^)9T)x={y<@HUB;FsL=#2Movfmbuc6W~7*2q`y+G56c$(LeAGbBaw3Wk}#UPttx|0z@!mM +OP?huxAmlVClhZ1I5&TBr{hJW22)YvVCKyaGiXiL{+6!0mdTg*od^yA-mL*!m2X9+M!2K4NU*WqJ(YUwe%1HFg=yGX1Of1916TE(g;A +PBl3im{<@1akwt%mKaECb5=^2$3MNL2QDU&@CPEDMo}#Z9CSo|h( +PFrW6;a|&5zQ`l(CAW8#FKKEkEZ?3Hq!@0sQm;SO`G1L^hlTR#Dsir!WT=V%IA@8MhRo +p=ru*>6|?Bt3tIYhac)63%UDrKphv(Be(OdEKaL1CD0?yFYjKi^3J9hHkOZU=GJ7Q)l50$Qrt;e`KqaBk*QLvmz3%=)xgoZ`Skn) +xw^8vtp;Y~s2t8=uAyH4JLIA+9YHQSbewd))ki^Eo%p?|ZPDY~xkM*wT)Y|=zysiSWqs` +>`u)Z7o52)by`I&VU*ErwAEY$xFXq?Bm0vEG6w;ke;qxe#oztkV=IC{?CPh8H-hToA6i(GDW-{hIG>K +B*P;z=HUWtEC5qj0~&Y|3_8pdjU&e8nQ3QlKftUuk_as+IU(j>+#%^)*ZZ|{2=HigZshv|A^E*{bT~D{B9)hPiEDv3|9i75`4r;p9#amSxuB?wihVr>~{18HwL6q54ez(=aF +UU|n*Pd=F{Z6J3dW!j1$ZwFLy-w#cP-~CcwDGMNb6qa<_!8BsFh9a9AaEG;ucOjp;l`BndYJN*Pq_-p3mAR>C +W2U?W{Mbe`c4XA#u5CTBrv)iO#TyDPpRQ~9QWQeE-Jn{jyhgCJ~|G1-g>@jKC@hT>-p+=>iHm@ +RPHhIxIIyE7|ht#yhD3HhFMd{@v*zE|J14 +d^I163=(*h-PmdXvS@ekb_#SC#J!Wwx2~_Nn1ku(>)~OS%T)4w?rn~HSPO{~|nrO|n>5h^1$@Y93ra! +YdjW~NY7i45^UIv$8YThI+KkLLidupBHJx=0ggAswVa@n#_n#7A7j5s9fbdtO>9r!hD$gK +eXx*z@u=w`6NtwpDu>Wmj$SIoa%xXxGeC8{#4!!Xq5Qz+bqzdw6sqwD{)QV{w +Qke4-Ay;QH{a5sV?d|QUAo?STj1^8y7vg`*(k>4;UC>i5wIa9W!{y(Ac;;hQ$xRGhxKY +#8IP@lE;j_Yuxw=cc8yYg= ++^)OfaE2`(Oc8Ga~KeucAGsd59_;bI;KRvGbf13UO3!W>>bjp9X1i01wUF%az0^Dl;+^_MkMgsn;e}6 +%zBeh{AdE9Yw_tELd2w$ho+5$7JHeSQ4IH{YH-^{>-P#dnq8|M26Ps-J#7d+wL>7cTz#+wawvF3bONN6>IXe@z|1|1|yo +)A|3~JK~1@|5xzeONg>2T8nrS**!J;!v;Gp6Y|yUOAPj<2KzFDeYwH@4}<-m20Jbo((RiKcAW0hNKKD +Fy%=KE=f#sVveR;AB-&DK8Kgsz`{;aY-klROt&?oA+37iXQ`sX~jWaAY-xfK^mNDI$kdtfAWjFO*O-9 +61im8*WgK}mji_xUPVrIPVoOoB(_%RZ{RejI4XJx5Y+<@SXHDZ6^;Vrz~{XJu1V!ZJ538JwL0-Hk;#` +yS(enCOW2|m=_n3+W1d#2n&j}S9+XVT+KA%u_c^(DiX{(N*kco!BvP&luUGVpky@PYY-Exo)bhvMR5D +zKoS!i2(w6uN7dkc8wyicgs&B;X)6bJxO!g%nFrHdCfd@%8nYnVUN!H@8;$SP>XbfHebr2x=!r2KVZo +mPJZ*4PQoOOtt3NZISi3C1Y%$&T?ec8b9jul*7nJo#UFKjmZY5+ETO3F?o48dFG64^RQHV_M|CR#GA< +U4o=O;vZk4BIp&;PYqr@s(>lp+OP!bn1%GrlEbvRG!ZW94n^SWsP#T4Y#!rRX-4G_vnwn-#&&!!gp*g +zfcnijxkwooK!gUOpLWF62j?0-y__)N!Jk4&+o0XA0*__S@UE!Z^wb=~bBHxxqBA#@-1BW +Bg_Nq*M6yapnI=6Yt|CTX)wHg;3T{F8WOmoL%v`E?YHDh!P+C)`rjm_H1{@-`bm>mz*af!yDb|Up&7NbknyHNIBvl{M;l#_@vYo?4el0lWx8EDb}^@F*h5lkrCbjlU2f?@v}I-G%s`@uT^F4z<21~Ndg +Lr`vK@t+Z|-WHPAx@7y4gB4*EZ|ctLHP3L`oByRIFpBQW59^%S@PRotl$3OLWj`O9xlIG1udU`LMtKU +}u(pm4*Adk%`fX?LYcu7S%V`}`?8ti +rPjUL)?ewDElFZSy67T;Oh|3Dr836be_8J>iINwTs@!97G +2%nf8*8DKmO{~`84>=+W!0M_&0gGhRz{xHB9HmZ5A=~oGYlv#rG?Rs9ye3MtQ +ENBjr#=hZXj~Gdc0WwUj1P$ZTsK#g59!&dWrn9tMc5}jMnKc9m$u0s@%AiR#-Ld?>!_UMj5K +T1l+--&kVc~`9F0uUkanUiZ7A^%y1u)+HumFz25A89+W0XtEiI3+3HKP5lbWXSjZ)|a4jTwpQ_2&Hh} +KkdtCsjk5tWsbufN?9Gje#$Fn!eI6ezEeq(V$*A`?mRNER_}iMBlYk0pBha|kNxiCoMgapeB$yvKI+bF2)N19?=Uqh{qI<^y$PDpDNb@Ueez^$UIH;60`;Sa0X0#188%{VRw9) +m;}YsI%$hpgdWHM9?y=eAl$w=sUtQ10?6kz(jO?f!JEi*_rEBC?E6>l?Sdu)Dr}+lM#TS8;pr#szVPu%p~4#=X|G*z8Gp)~Q@;^1&B_6ux7qi=(Dsd>Tu`yh>wiDr +`M=C$D6}l*LHA&n2hIJ+--TD91Zv;$d%0JSQwO(zpgvtrXonhDF6w;j@IGUGNx5` +E%kT2Y9Lyr?OF;MXK1re=txrb`XZF|Padc!(BP)_`es#XG<=im@7(|M{QvgB_b|9f`Q_F-qVZnVIa27Ry3 +(ON{`JRoyVALqzx&^X=zpI76A$DGTjzAy@z6}HDd5{HTnUElhB&bo^Zh#w=td#~#>fcq_)dmrsRQhSfm-V?MqBQ^I#%}mzPAFJh^rMXWPf>+P+jSs#N%hPc6*1{KRIM36} +`I^5&^DolUSx$hZgvYe^bs9b!wEUjd+_!4@eW3Y&s`BOy{}L6o1maA^$%cz9Ikr$wz9BZJ9+ +}3;cT@{{|n`-`wEyZ$|9D>1lXTTJ>*u(e!^7@4xf;zb*sX^Z&RgBzTd2Qvdk@H^BD?XzW&&Ha|7wlyR4cP&D?yA;UhJ33xz-U#K|Yxh*M7}PmF6g{kiMdHiA0j5y +$R6W)>;OGLQATGW?OFUmgEdh@NxRn3!)wAG+~ti+F}$1HoE?)dVXD9wb;yP((1BAeSJGU_3zr!7zfM1 +knT*f^dQmg5Cr{1h*4(B?ure6SN}mBk&}s{z?shj?C`~P7)j?I7G0U;B|u62sROHAXr9FM9|2yrcatp +?>2%gf;58h1fvLsA#H-&3EC0(5}f;z@*p@wu#cdO;B|sc1kVtxC0IeQj9?)_A;C<7T!MQDh7ni@dTZg +k60{@mBe?j5MJNOx5tI?UPOyn!HGz%b9s)f7uD;aPIP!0OcN16QihI2DC+Gyxc#6vUH1UYy9&ZvUdVg +#AOSu1Udj9D9HTOD?hxX|4!Ixgd2k0n;jjxu|wLNC9f3`Nh*B!rg*C2?>W?0)lh63&BP2m&THVi0hH! +W?W9HdoH{UXpGeZ9i<+~MW@U#I#%kNVA)2amV9(r~1i;IT>}##{^4;fW!f50}wea)*4pPA1|VA`|`!n +S6D#nA3M1BSY(PNBZ~F(SZ9i4YbWkuGHg>zT_gg +`wnsw3Ni1b_OV=5w41=Ci~4)3!EWLi-hWv2Mp_#zKSn6N!)&F$w-dzkCGDIXNCyR`X3}Lt1)q*N4r2j&(V#Nya^wUp^H{N(dl$DigT5CLKRvx#eJ?=x0|(R75AN08t5ts-UtW!OO23-?@ +lcooHGTCx>jH;AaNyt`)!_oC|26Vg-zk47od>b#3pe0beel<>>FqrH8UOj!iw;yDIFB^&etG2hSPD>` +Md{PK*W3GB-n#n0K_Vd?{P8{d!n_t|)G;aU3iZ8I+^hMp0|zO@VzA4%`q@W&hNuDf{o?xvH+0x|fWrd +F{rkvpd6A;?901|}!TM1LE><5bEaUJ8rMxtH$Hi*)MtI_H#p;Way_x?=LQ%aDp3mtxs(N$!jGO8$d>3 +ku>Mg3dkcR2C1nd)3LZN(PRifY=j=ZBD+IPiD%!antUUa&wBDThe96xX~%1K(61h +c{I{{V+qnPkn)EM7d8o&;`@b|+rGW@_h~PMhX&#*poj6%z@+jCJhCvKd>dvGJ)Jsr5`lq%A}AYv +#L`Fu6*w|R+-G~t*L{d_c7&~^Xm@r|2n430OOrAVhWM*cHsZ*zlyu3VaKjzGtBi7j?#PjzJ5UDW +X1-;*MidjQCoLe1g&6NHOlT6qAliG4XpT=FOWYN=iz^^5x6LBab{HR<2wrR!~;T3 +TP@`BSA=|dpOA;YHpDkm{Js=_7{#AR@n=%}B@}-H#ebFJZ>RWsDL&=7{0oYIisDzf;@?gw+(9X1Pznn +ug(oS6-IT%!N};N`6hHTr;@k)+&QFu#!g48oeOZd%4@+14wiLe`#gCx)BPsqQia(v=FQoV@DgILw|22 +xglj0ww_+L=`N<(~KjRV(H{I(ST7K-1Q;@?j32U7eo6n`4UUrh0zqWC)~{xL)R+E0r57@eY`21O2vkDk35>I;C6JE?qhW3>nfY>pxakfJwPCj*2a2B(5g9)`E-of6r415j-Rj00Z}9W;Yc~uzz(1ZJO219504ZPt{G(#xW8>oDW8& +M_3PAo{ZsYU^#Ye}*#7D;uzPZiyS^)Up+O^v-p{5_jS?F9#2}b~pf1G~Luy|r|d`w(C6Tvy?{3rZVqI ++6^LL8;hX7Jz^Em}|jmw!rM?-Waq7|LKc`QJQvFr(1Uo2o&SvB1n*G{3HAI2?}oH +;d@;yc}5K)S?=9CDyqgmC1p_Long&M%Uz@5``dlhBbBfvA{nng2XjW)cAuxBw&^%&70k +s5)~g2MzSV^F@5zJ>fbyxK9cwtYw$+;(d%^yy#6+mJr7CN{Ev9d8j=`-! +jPEoE83MN?tKaZ)78{vLgnXZEH*(}i)<@=Ahq!c)r)Lfn3o~NGio7WC+WZ)?>C +w5O-#*eQsGS@7sT4`ys5-+;G9P~UVXQZ-Vgt7XlHw1LrOpD +=%`*Un?xPmEb8c%Qb+fcXf9t9J>_;WLhcjOOs~GQ_72F@Z+(xzyP%yPe|qrT7+#A4l= +WQT%BXe*wi`L-Ajs`1>h-O+WV^J>@@o%Kxi+N*k>WXw#+*FSWGhScs?9C8wfA +q<>}Ha))*ZTb>eQuEkLLcSTbt5*n_D_|=|W+f`?v2A*dtK1>u_7w9yc}a(VPM_YufbYcDHou+M`M1t~ +YBAW^>oudieVKb)`7BUe~N?n^rg8)}x89Z{tQ@UVgWlOl>^9+uU|j6W_*g=;7b~dLK8R4n6SP)W{3z- +_Xjv1-&)t*tk)nK&oH2bZYC-j(jP~P4rIr2exb3rDI@^9)Y-Dm-4?YFfbr6@RmTPuN^&D^Sk91b!Dl* +Bt$qS;XE{GXkoz35C-A#p+tLieh8O>+`~c4S8Zpn;n6?o@HT*#mg|4V^H-KdfG<9wxW0Y+_FyUi+aNn +PYSf5Y7CzyYIK@W+QA@#}VdxzHyB-fMUB7D#55A&%g!r2ufBf-e>UZ8cbLPyye*E#r)71BT^TQ86oFe +ngTSFTVKV<-L3NI^Epd0>i_@duTMZ($c{vDd5AO;UCHx9rJaaJ9q9#CV18C8soMaH*Q=+Uw +X*i_R~*4T}tCi^3C@i|{X_=1pj;bk0K5K45I()R31O#Bof>@c;>F(tn!#(wzcumuAl1R%NTXlBew~3I;l=pB`|i8) +jW^zqgr9u<_178iQ>RYJfBoxU^3b6}^6=rq91d|vM}YfDiu3r(FTXrz>(;GvNM(z0I2?E8=H^B(S+XR +7^lIRS&w~PQyz$21l9H0UdiClB-nEL3j_!(d|1ADz&z_Z}%PjBMv11?N;gavZ`%adXmAUwQ@ZdrD*=L +_Io>V@JJM71gAD5qh{yD#cCLKuUVUuL;+)qFKbdlulcS=+F?YH0L&p-cs_T!H~e&gG3zx|r>`W4}b&V +N#U>q9s!LEJx!Kj~A*%LTw+2hgAc%0vg?uhXI1b*M{=4urD{sLWkpbO-zu{CDlzwV2AW1Ia`YXxO=PC +*u$KICkt9m%)h>C-@yWqE1j9X7k9ABMhh;C=Zw@H`E=(dGEdV7=M%@)qja{xP1AtG(PnHJGocGpXzY0 +KZF1I^XDaXLoELxAt9Y1#{l5}{`>FCx88b7QkhHAnYj*w|0s|B`}Z>d_kH{Jaa}oj^eEdw1KI${8|n$ +l2)J$eQA+DEDI-3RviE)|d%T0oF{SKYCgsR?rF`y`l)s!me}w8vyFY{f_U+r32LuH4Asv1RwU;OlrUC +eZ=in>oL0JHI*irUhef1Rs?BF^04SXR7papn?|0v@pzLzrk6DchpN*Q)g%6L__wcQl77tGX1cWL +EBwR6W4_Qg$oxT%Zr19gFBEc6oCdRhbw3SE|4SOSRWnWJ9v&Vg4{s<(eBcijS;$&@W118m4-ndNjZ>k +?N2oHA-Tyts^Xt_2{q0@mn4mpF|qh9DH>II&}6H*Q +*8sbR)2Y;&4FyN4sq3^3S1W{eMeW#RNcl>$$sV!dKsZ*yuR1Ql}&(OBiM+aoRA^8IT;g5a+@zBl~pQM +viM?u4vQpOSuF+{_rALO+>KM_3I5dOdZ`m3aVrWSw(9dtVCE0g-@`2F|a<>5Eh$R}sV$w#L}$cJ+*jK +p34l5+I7QjRz-Wjtv3Osmf%GvRuD-mlhYv`L+}tM$3t+iIPr7WY6y_)|GA?%lh02WroYfIsAbC3pqB;e1KxESfIqc+vh0yG`TVSK`P7U7@(H404bgxnmDo78hJ@qL$+w}J-ZzxfTS|NA(Z59-68+IyCNs%uN2524QKbm+8z2J{CF$rkWOJGp +sYqzO@FdZ&&Zgp@e@4oCDv1U~%H&gOeMXxU_jyfy1`T?B1`T?BMw`_2El#HHsq?K-&(Ob+p5 ++42phI0c>Z>CNjy!j!;+h(p3Zio=l}U(RpEVt$%l7*5M|+{mfB*jdJEJUgKz#+?zzw+Tw4m)rdyjDq+D-IT=-cp +YpC2OMAR0E$?JqaY4wD;+hPw6nA!?JBPmPp|?;Ru;W<*KH9jyX04&9%34dI!1R*$7l$DYVT +S837;jv8+gG4PQV-W0eI_Wf;Qf$AEW;TjgbFc3kS+=M8oSu!)tSh2C56F&!FK6jfRyP4a-17<{-IX3e +k`rE$61iFb#OnCiOSy7=7NUU;fc%pbvu{0eI$_XXNwGKQEyd>0m6AtJRZBmoCXekEP0TM?d-YJfeZ>! +mC8XOIm$Ko3ze8P_D@vC|Bf0$Op46a%onibP^2@5DoK*hB-t7p1L~5-AC$ge}F&90?R+ibrEQJ;DHC^ +#*G`9o@=2)rv-79!>`JnMg3$M(eM`0!1bAEK%1o3=e5)(tUEqrPh&nKL?p&t9C|`e6CNNQ_>W;DMdp +_O$qD#j>eJ<7NbDig^`Va6&*$*8$6y+eFefC+_y`amKl$6Nn)2F*=xEdW-D-%3ulU|#94fUC5sHdH2= +xGf;EnBv%oZ3#=rArr?l9D2yeDX<&emOrsU)pRoxp?tnuGe3F`6ahI(1q%w1$d)xKwAY}2>K|-19(uM +4?bm=)xXhrWBqhjeb#l1m0EpXMs?wj@PGU5w@sw$jMDM%)~#FL^z`)Xw6wHJYDc*oo_OL3dFP#X%EZJ +(Sz1~uAAa~@`QU>OGCmmJ17Fa9z5xA%P6x&?paJbE2jr)2k +3+BVVncK4rPJ*fI7|fnaaUfpP#K$pAT$(9D3lYYZ0E%(9j20u3X9UAjn&*%d)Vr5chb>jvYJ7TW`Hpl +5Wko01wm+BY*}S>e2#$OzCN(ZGC^uMEQ2Hh5Bbz$3Xx5{G2Gc^`DdF=kINi=YRR-2$lCW&p)hKu|gIV +6`ftae7T%IfBr9b-F27D%F1HC)3}ml2{fQyfKK2BI_lDbISBN_kbCses4JL{z&H|a(2-DfprxLN$p7^ +#@aWIZ{~$8e-L<*7xnJLZ|NWPNXL52f1M0L+!)>?SCTGl;!R3HHL!aBx=>WdKU!U{E*Z?N#1L_FsL*4 +q0KHE62*UlAxCHrAXjLQQFi+L2H}L|wrgF#VEl>h#eMts?La&%LVe!0Z5z`7{$Spa>Ic)1nwlzy4I9R? +wPC{s#vi-}&tV7Ns0V0&;11ms@&jEP^#FAMbpq+44JO<#Q#wVhTD7uJxj(Uc_ija~Yd${Lia+u->OVS +P0T?d=A1Yf(x&^)}=K4V8ElJ*32GB==$9f!nJ`wFGc#8J_l~-PoFTVI9_kl0H^b*GduZd3zwQUoqkDN +`o?Svcj0f8Rig|WWgEDGF31q-!h!`0B(+)GPa7ZLrUT-jok3fK2l9h45 +dgS@uE!sL9CM6o-QC^)EbcD+b^V|CT?88RcCkJ>z;Coc)OYhZ0WyWYww^hC#vf&)>kwGif!sruz;o20 +75JF{&-1+&{zmyn8&S89txF3`%(0IjKVCla$RjM@M!xHSaF8X)I^NL-0C#F&{gIIl@OI0VE%MPvA7y#g>o5Rx>vQwaoA3^q(bo^C&3xL!!{fh#y9<9~zi8B9jJn +O$$^@`>?OKixx)2_;0bj@#+D_1-<4*eNQ-4w3ufQL;Q2k>0r~bQ0AAenq7JbfBU%x}yzzyY~ugRgz&= +z4W0c%j81-Mflf2EzdD*nd#AAKx!wK9Qz5B&%4SeFApwqWkrvxnPV@BsA{@(%n_4@e$2{EfIX{>J%FY +A0OtKcE49C-fJze~<(8N9a4jV~jb$dz6Ddzl(CfJKB7-wP?p^Ou_3KMDyQ`JL3=8y_%diB=5$y2>$xK +1^5gaA?qYZmq|xZsI1Vhw)vZJ$AjZYZumC?^1ycwf6GxlvXDBL9W!QB3mhwjlXQXrfLhWq@wM*YqyL627^Cw8R%_JQddl-5WbRd1>% +;b~mIvM6dvCbE!&E1zx!8}-NqOk!Yg+4Vk9KVk9nXs86T{d-E~@B@55TzYgP44UDSHc)R70y-}v +oA-ESVi6ZBs{oH{0-b|mpU<`QiVaN-YArhKQanqA&)3@7vB+A`T5eF}|VQ%TQFGJ +c1F@`nx#T+si#wQ?%Yfnh!vbMkurfV;m_*FCY`#`1VnU2DS{59ASRR9Nf8I^o#&IO;wXwlYau-1n)CdgypHnn}w^N0RpTq~`+{tjI5Y|_>z +)=yXGW6z!WPR{$OHV%--q&o5#p{8al`E5scpz`cIZQlQZ^N7_))z1*yycPHKU_2 +X?l&p(2$une)wMR%39NS-^M_tBYu2pnf`Wof*il~Ex7I)Fv`DtK?JXNVXX*rnwT5cgv_2lTa5i-iLk;x`7LL0Q1B38N6|E!Z4Y>HPWeo}`_BYkC&2vlCT)IwgP~4foyn=KlND$<;9+^Be8&@faiMno +*T-k5htTnz5#JMig`){Ktqe2LdsuvS+@ILy`78V%1C?H}@YI-RMHJ@!}<)`p;u0}p*%t$#NNJirU +INASag_1hQktEm(9$)iEm>TUm_W6z#FJA1)`1yjL?rAwD`yN7lceIMF?$O8BQSw!B(HK!lH`AGio%_m +eR>d0eOq-(A0YWbs2!8`}%birecuc$7%=F;n~h3RF3vUq2Cf~-3Ekv#M5CpGeDtC7c5bH^h4di#G$-( +Al?DJkhhL_`G7yJBrRBO^mDTC|AAcfd(+3-q=UA1V<)K_zdGZS>8 +_<6S4jdS4u~=q-j=6K^=1iP8ac@viki7TadwCvs$&w{JccG7cz;l@3zy56__))h{#)C8|+=nDvSJnTz +b?Y{o>OGGG(br>L25U>CXUTEn#xdOu%{A988@(UbzpbR?@!j*)H~16(kvHid-(f8g^Tx5Uu{{3@9Hvd +1#(YP6ps$hWGN8{P>+(STM0HkH)?||9eA1Dyu^VIlKN?fD2d{|t%ce}3vIlECn4=#(dbC7YV114HW!H +KE_^!*L{*8!kQeX8O@$-I4>v0;N{~**Y8-Mh)*XQ_=26Q{{8*{mkLCmFNT?6&QxQ>7_K)Zl=zy-WOyN +xyzc<$J-W2v~dH43i(ix)3WUAJysl0N1}IRl5ulPAl-z(6^C_;AKepZC+(hY${Oqqi6MF7cIDUcr%=* +Iz^4oImnJ`{QspGLatUrv@>Y?P|lk+ZG!y$K)fgs>io%HeX!TW|1SdS*B` +ZS4L;TF3nPxZ)!KUt_@h0$#=X0)ctVA`=db*UeY@rc@udE+eM5dEk5P|5{`hN8Jn_VNYNLL9^2sOv@z +hgK)oOP(Zrpf=(#U!4x#!rO!g#J!vr|UC%okCldQlXBSpr3w7YEAFGwe(|wJ{WnSuIXbUqb`{G +gE|J@`tudt@Gk^g&^DnS0aty0$Dy}3$mKbzZa7IBJ7N5Y@hip(7^?))SZO8Ug|$|U$$>lMANf8zHlK>@9LZm<`FPv1OHG?=!5icP~U +nWhV?Dzd(icuYeLt>cw^)05>5kSj-iAH%5Uu0vAoWWHVk|?zI&bAQaFIelhECvw`1IZvC|yu5Y8j0zN}iciuFN!BZ74`lqKY)t}cG4d=u;ab0)cTZV+byig;rju-FU9ln+=24D<42gE7(*3ja +Q?2Fcp!Ud>mjEo%aJ2TGEdP?qb$GL`GkCB{t*8DbIr^<#XU$s+Y35Vbd_;I^e!g|;#H?B7nNzc}^9OXW=VkZLpESifH8sE6)Qm}aIr%y1wr-PhruI+GpW1zT&k +p9Pso5Fn)_hx%H7`FSCwoALp522w3~buiY!0{O+4K3=AS*O`47i(HVU +dHr{EbC-zzRT0-9mALD5hBB^)2&(NEc_1WkeVNxJw4}MYhDMlJtJ}wE{+(`Aw4xK-`Zhdc#j4m*JR$K +;oQS})WS8qhl^->5AUJ#b6`SbLS%Gw?C>FD#%PxRy#Iag=!E^L9(V;c3A!$*eNgA1z#vOdLeSkoX+ie +}%?v6CDhgT|^lZ@ELB9uG-*Z$?Th9eOU+Vcr&%-@e^t#xqQSi9n)xjHs-w6IT_)M@2?$bN2cT(@1-m` +oEqxVa__w@d5r%RvkK4be#?^E38pM75H^G2Uf`kd}_xsPYxW_{cAy|r)mzLvhj`zH2%y6>BPEB +Yq(ySraOzcu~J`n3+}5;8obAY@_4(vS@yJ3@|xG!E?^Ixy4`x+Sza)YQL2|KR?k`p@kDSpVC@;=-nc% +?$e`?CJ0q!ncHP3;#NN)PV5=at7QtpkToA0jmbA9q{&mJp;ZNaC(5-K)-=42L=qhZD80y+rYU4Hw=7! +;5!2k47@P#v4{;3TOy!}gbUo28xj;BG$v?P&knst^h)lP-m5tH#(t;zUFv5Ktq3jYKO+3T@VNsn5AYs +%Wx7L332*d(&>x-2c6-WJ9A&%d-nTzp69z~&%LvYR^UvWgV*9h{2YEB{~DL!SMhFKgKKd;Z +o;j&1Am0OaWDQ1e}Qk~7&4X2B8g-kama(@M%JZga_um^*E(jkk_Xw-vVEMt*!+71`qwDr&Lwn3L{2>Et^3PNB2asdw +ISTAXj77?gq*qa|n=T7|OFv#1lDLl;pl-UvK);7Z(xTkwat6JNlW@xSorcmz)-Q%EeCLGC3<#3K)o#p +K6i1KCdMNtg_g+4NqTL>JMOw3v?2c&NEdmdondJFJ8KgPmg+*%daxzF@c51Rl-5&F|*l<@5LgPPycUr +|`x6F`mw!;+yyu{t_?a75p_`!}s$8yqUN04|pdJ^C5nxi(KI*yY=p2x5Yi~hTWU)h&xT>h@Xkyh;ngQ +yery7(0j();{Cxp=rwxZms&n5cgh36^dwO2mDgl~TA)(Y24MTKnxdIrs9(~r=v_L=&-07@u$f?$O|?s +Hmd&%juy5Nx+h+Tby=ZUPz}UePkuxOjf$Dt0*$E^Q&|1`uZlQH}GkyiXfsf#$K<*L{y9erK4w+8~Sw! +;44)P{xB$Mb;x|?332Z6{>cp-m*zsuXiXJVVzD?gDpVLW^FDV+fsjk6v0yp3%50I$GOC)1(GppVf^{3 +v9plXx_f=Fs2LE_$AZsmm6!d{)BtviI2#i{_lK;F-J{_#Nk;@b9<_-Id~p-fC~Fw_Ts`zh%>G$nK8l0 +Wl$Xdl6kDHz1EAI-O;+c3$HiauYg>2VU4qkPpi_ +>V8$Cf2Vir9zCEF{rO`KP~z`|{?D?7c9Y#=OYC+#WJhge5z`CTjRUtUb1I!W=kLyiv7Q}vqW;sbStt) +}Ky~OaYC|Jv5}u0F@G_hYocG{;_;2_u?t$8D1nqm-Vb%o|c8lG?AK`0xviGF7$2;m>_6EF3axV1Muq; +xS)K!(Ex9C!RM928rPxpW7KjjDge80ed&417D@%#LKf4~p>gZ{8T>IcljW{F8R8D^C^YL1(JbKMM@VK +Zvt?L(lZ7}S*7GFuK^S81#46+2+VcF+z-xR!stRtq}ooLJwoDdnB``TnQP};X&!AZ-Fs)yo-PLgXBT7wCu|PUeB`K;jI7J#TU!|T_`D(o?QYETPRRI0KSOG`=NLvTv3xoq>=aZ*8L8sKIb=skp +qfsK73waNs61YMwWVs84(J17ZVu3So2z<5)s(2Vjk=Z1fWRYT0Ox@-Pxi|J8J2 +@kQ=>AVqEs|!z6(^xf$rJL0o?+WCxiA>P`?E9X8?gLU=Rcf1;8N$B#MDWDbOef9+g0(TJ2M{s!r9b2G +yjRp*oMLcGaOeRhK%egih5NI;casO4sT-U9TH-lWx|n{xM$|ZIVrjNi}Kz?YN-Hhna4@37H~OY)VY2s +fN3S|6QMq$9Rm#c#Ow*{6EIO0Z>Z=1QY-O00;n+tx-|?8nXOnzyJUMh5-N@0001RX>c!Jc4cm4Z*nhW +X>)XJX<{#THZ(3}cxCLpdwdk-)i^$z-Ay((X1OecOJIdX(FjJ@OX7lN$ga%FMnFJOLBMEAE3Gul0#?A +pNoXn$-GqyM-{1c~K4fQ}`|UjE_MG +!f(SvIRvmgi-_%jSas1f+T0^xuEr@>#pQS18&@22j!s>T%9an-Cv-(TunQu@UAN*DgnS-kK^KYBuOKJ +u8eH25Ru_kZN{PMhic;S-NOHX$=J%@wPoZHWBhi_5NVivOkLZESi8o})c)r^2K +TXe5-fNm#DZVO}|Gn6A13mBke(@r#FW%SbK0$c&*<>Mj&4sz~xDH{oke-w#2zw#$4<1)>8~oV$6qtnA +dy*hn@ki)=QY1`T*qj7!1?BNV@yF%ii(Z8lBTd3Yd|7J}-k1*0GLx`3txtvylkg~Xpx|3U81a8ti{5g +A(46$$$rF^vRw(e?@lEVR4t~Wf{a2s;S>vC$hT +m?nKnVshWn>g~0VEJ~a;?G4;MP*&^db#qDa3>l#;+E(j%|l`f~zR*MU6IBtXd+Z(q3*Rfb=ERH^7vHUM%3C^IgTt{PBd^kRqJ%LNcGBiG +xg2ObHe+BxEWy2@2vE2KA8_VOL&{*WqT$fD_DK7i{vULjQ-T$JZ?e-;QmmZvR%JuI>9m35HzB4iO?tk+ib7>3LsPuS~9a_`Ziqi}MH^0fO$@ +RvYwhZNp;9||x$D?|ZTBb~0~TB9GHtY&u;TrGw!_OBwd|p=Kx~K1+O#jI_I4cVDCo%%Y-JE8 +I2hDkZ1{67$mVmApTbOT05oJ_tyh~iu&l<(+m_kmcuUe@4e`(fU+cd{`5POKEi0^@_x?K>; +rl0wtsOZD1|7oZo=y39V1Y7pOPzg$DjW4W9j=z;d6C{R&v2?$LKv|pql;Eey3L_0zmFV*61gD%T#pSuO~jFUr)0s0*khX5DVi4_$vottnc=&Jzm +{@l&?%p%;JbF^b4acwZjAjsOa&Vf+sQ1D&~>n>h>fL&hwSgJla%#C}&wE*VjA*fordk9TVuu->Cqg0R +fUM9ZHbxrR&EDx`f$83eYk~{z5-mxb3Wr55N%BjKa$KT(!S*zTHPF>F`4giv|6dyl)taFiXyb@d&QYS#)JtHGR1U!O{WRziM;W9mViF{OX`O +4oGE7EB=or6<9}h8<(0FniCPHH`A24k5R1b@6HpN9_T^8p9wfYu4sNX7?Uk$0dMd7iopl1fjOmFbtTo +C5s64bx?uXIBD98xYL17bW!2aP`LICWHubFJX14fdV*()@=O=HA=7Ef^k<%_4Kv-%Gkwc5wRdAE^Y;+ +B9>>$q2O0a<^!UqlUq}2;s9_b6^@n)(7u0LFQN5Idm>C9Nn?kIq +EhT>e6@!_sMj_p|;bkujIpxV08hE9|-Zi@Vgj+29W;!fbZ`^0wc5IQ0hlr1SW +R9AIjT`&zuM{=XMPRp~z>VDW{e{Ae#XpDdmDmL>nxA2M6OqgA5Op0aC!0cAuH%(@rlz8*6R)&hz=@@@ +<0L7=tYC{qvj0t`jOV~>Zimk*O8iR>Q4xH!WG$5&qa0Rpm6a;Z;81`C;dgtiiwI!-&G|!aTMPv}W^dn +4;*Q7QjVfP@1n?^6jM*n;|HR&u-pB_0{8QNRX%~;V(RMA+d2zrR)qB$SWyEzmq*F}gCtDChf9+`oyiP +h#37~tn}XddA)z*36=q*){47(^~kK;Cob1FiwoFbAMv2>`>2tX|q5elxF|@W|^aghviL;&^0jGD7aI4 +*^M!h9Q*X=PB0kv>rW0tllN7br!LDH}1LL0MNTTz2OoY0zqmZJig;w&ITs>Rz6quXsV8Eq^&et8lL{e{wJA{7EqU;&r^CyQ@FJ_nVOqmW%t*&VH{aK2Z5wA2rfXwh)_@# +`9k+M(C4lW`5Uy0LTxLCp?mX>Fhm_@KDq>lFnvy0P^|GhA^ef#A`vA&UBJL17X)(0lLg9j{+X!9eoC~ +l97)fp90&ehK$jwo$9DNRgUbCIV8kw*I#Zj!_L8zc4q^z7S1D`X!Bp;ST0T72p+^gMZr|C#VSSiWBEv +Nx(jiC{AoZ-CH2q=vUPP2E7J-*;gu;3}Q;85Z!D)CjU#PQR8N}LfdFM&t{z+)F8g97dFx!9b2aV7@qN +3hp#KrI2b(pA8A7SViko#FGrAYlW6ayav$(>M*lMeWtzv(W}y2?RWR8?uby1u!w|adtEpvR6F9aNMvD +1n8Lqf&ZB08X3IK55&P4e()>pp(LC;iDe;ps^w-@M~zhTOF~5SAdeg~I0{EE_EWbA3Ff=aLu*`onW=DF7$h7goYvo-;9UiWZ +13H3Eis_FI@8K&W{En8VyaICI7s#7VHbK7ff0AQKV@0p-_br1L%R2V6z8U3&_+vF%s-S5hL5sv!AH_G +B&`U=o7;<@$PiNmspL1e3mPkn3CQkpsXNZ;#Rc7%HEQESQX~`PdOIE%@9gCAL)t+32M@Sd<~!Z^i=E6 +9yyOdd*mzs7SehC>ZkWp*+e*5CFt@9S`l){&^M0=K$H$aX)8j_fZ{L$Pa9SoD+hhwZcTTFi9CPUdpL$ +hv>Cy-F5mX5K(-%j>KiJB2F%f^O{VrO^B%GAc9(e+!ped^O4^wn2FTM&j1#;$?O1(Bk0ifyMVvPrb1a +-F}$+|;QeaKs8JG$NKOcuk!o3>?G)`#moRpu%nPN2jBgBv&%#la88h?gc1O#EUG;fZ2+Xscmzps5ET +d?%!8$H!w@_HC49QXV|?epecRI;nLUG>5`p=4N=)E=-`tMBvEWEfQ>W!|^wW$1z<&#=Sm-%erYzw4Wigs*^fLn*@_sVS=Wbte;{461`Pp_rq)DA+d5VL0aaxX~>!VW)}uJaChXQ=vMJZo|; +6dD|c}~N2(BDo!Em#9vT}HjtM?=)H~d23S4J&ypJeB0zGA?jX7 +}MEjMKrp|CYyMwsoJ0T3%;^I9FJbZzG(qe&T&P_11!}B3RacHxgeD|kocf%W?x`L1mRVx?Q0o$rk%7T +o0f=_D)aN~vw?J`?ihaeJyomN#tZ&Lxj9rf8JK^e@-nvuh`szU+m+q5MfOb2GfTABrw4Lb_hcNpnRVg%$1z}+>lm!FQjMag@VqbT74zTT~!?Ln?#E|8-9;z7YX<(w|Ddc++i>N%-24SpY7 +ZYfb4oXCi%QHqLERGpKUWn+g@Py(`pr^M5)H0n14V~@OwQ`>(#@E+A71;pxht?71@w;Ge;rP8pJ6-#X +grbn!9$f@_{f&2!153EwI`g@#{3tY?wwm3#|fV){lP&yYT25GY!2+p1WJCJXEa6HWLa+m|>Y +o0Z2Vjn$MFYp4i<{l83RE^qEU6zsOp`-;SMNK&r;l3ireh;tDBSjMl<%g1^c{B*&6R#jp=mWI*kW0HO5gEt4q-u;244k`+y#9&}m}?kr@U*|H +ofIqeKx=0sE+$n5-^3po2^IWr3~YsMuzwP#v>KX4{HbcM&qo-^ig^t|b +Vs!-@c097UC#!E3Zd!x9_*%+NT9uOK-(PShTr2b1ugi&#)tp?QxA`hNm +FZ#?Dy96Mue{>qGd{L6;As(mdYtr;Ajs^-8C|3;z6+|mcDYSrjRDxJi{unKRZQu=xl%;MPONg!1 +5461+GqTw5*;rl(Ycb?B1h2gl%7)m4Kjs4}qO~18%M$tms;T%>W42Ab+9ie!F&0Y)?ZD-Ames;uotAmUxZ%_5CuSJDR3p$ +IfG4**dkV2Wc_MVv;|;?7SN%Um(?4NrY*>i!GNt|H6)1D^J0cds@DlZa3+YXS|^qfn}nXX +hWNaf&dXmFQ~`n{nT2FUb>()^;gfynEX`Jotja>htbmiFM_#E`yp0Dv|dkq43Jd@~sWPuY-;tg@)ZHe +fj=wjKFd?OWJvtfR7S#U3^@t823jvIo<0mfBcjWE4tIod{etW +~q}OZ<*8Swb{xP2l9A&T3KFNFv-{|8+EeBTzU!+)o`{o0>Y+Hv1i38?OjK_myrhn6goG9JoApgdl*b{ +pN#wg0y$6Fi`a=GcG~=u&0pVRmDJBiO=XsjqQ_6pkvhFrXl-SD6iM267=@=XIEL8IU9!13-iapaM1AS +0uEH!d9?%Q%aBUxy)4F}M!>jheeyTx}3BYpwI}5XHN;+l+vd5x|nLXu_!`A14O}`sjrjMlO~@wnIwSV5 +%_EKmxBal+_@~Z$=8lpT~8?tTU;Sudw>Tx;38c +{t07VSO=5?(IupKDBj>EtbR3_0;{k@31qdmbT+Ivt+%^NLNK8KV3j{(TBM35|Ne;7cL?GrwvXgj>j8L +O}13iT!RknVo*{2r`z7?KlM%>}&f;LX~71CSUy_3J9@p1c+^-hkP%wL1sINsOMZ-83Mv_M7_C+FvSk^ +wo1A4#z$$;Ju-vLhV;Q2_$~$e3K+BWl1bb-0+(!Fne|V<1HeL|3E$RwfkfU@~BZ0h=?OmxqAV~I)HlP +G*s3;l;x{9^kkZ(9y{+1J(Q&nlR6tr${_f)Dg7jI{js#tl%_%#Zd)wW{|+qFM3nog$pkh9;!9h@J|o8 +RFGlr(g6CzN@9))3_HIszwPT07FWR9giH>V8+IjECgA|vho--*{^;}Z$V@*zl{ptm_bsusDU*V>0$G7 +HGRR8f!duiK!WF>Xd4<->umHn+9?ITW!6)J(;p`csN&)x}H0Jiwrny{Y`>qo{5<2$yDv8dr50>Ka +{P;ve2=qxb^NrJ!bcem>!c@c+#9o0&hIf6L92$w7rdbY+VhwzukG#EJI)3D2nL7?@#i#yq%8m%vzYv9T~Y~hE3&aI7(peBy~G +D)U+xzZ%k<5_12y&0XR5o57@Z%amG(;jr2&*7y-B~TQ_516+qJ3yZ3q_CM$Y0}qw{vsBTeNnV})vTK* +&?aVb9aF#V2ta7mpLv;;a~j$-QKc^r2l)xXBUVgR?PsQRsq~9nPTZe6fo|~J>^U!=Uc)T_}3D4r> +tl(kyA+-kC_I}G!^Iwh%cplUcdd2lm?B>c51Pi0pNn0~bf(gXLt0ATq%^0=!hQ<{Udo;t)vIobr{w9| +797vkAXqc!ypUC4-)egsm<2s)9=dGu0Tb>Ww_R$CEeG=5BEtnI_OG?U(kXI|39g9 +LM1???}B0g8UHiGiGk^+nPOU(CISlCXlYq3eJ27yqjMXN=x=-U>+lYGQG6TiU8Mq&Xd1dCmR#cqcmeH +e?X@6k*MK^vqDg~;vN4e+}b7ylI(>HNyK;7Y`C|2XY;4{(c)$i1Y*B#?mRs^X_>V>403`}0~lj`m^=2r?mt^t-{QUPPH8cZ<*5gUcV-Qd$^~)d*n&%t#046+Ijix8i6rIi7T0=98orMV|d%% +Zm{?OxD{?Jk<+6G>922jMFv=y-%nPl;^C-aJOx{BD*06Q+T$eSf%U(Y9RhvE1IM6;DU$6>@czj=QEk@Sw( +x%4cUC+$~|9mHp~!Hy%TMj;^|HWDyo2(?8_a=K3fBUhBu^rlnsxcB4_S$2yYo@QebjIFLTg_+>7EW-d +%v)=9*vNTKo9K=p@9Sbzs0e2>|#Z4Ky*$aFi%$v+U@!Ym_wrn)W^~Wr-`7kRy4Kq}l&u4AvjlRm0iq- +4MQEtQ+&*SHnajHiEMiF3f1u%gBGD*;P*$XpUWNwm-ws_Y||5L+-R5DRR`?Sa5xwNl+8sA@G>n&#h5@ +P2ER{0i_uwf7~*aUfeVcF~lnLX@yX|xFzu&!6&+l&HVfDHm7cGghR;kQSz +76A!MZbIhN@B@<%wfl{h;QLS?(LRnxrU*jWr0Y?}RIJ+2Idm3vEA|qR%h4|q=O{8AaE`#PdJdG{0h9D +PZbnc0@|#c%SM%22=-+j6&ThHuxLkkMEVFHLedNw?pub&v6hKH^|9F-dYdSoYNZLcPF}C|%K}fW5Q0* +SHY9N4#cGIOL?oO0wdY9WKg&ko$@b_#h1#q+Wr|vW_zgArTVO@w*q>L1iJ6=0@o`E_>upSbY80DG|g-1)WU +=VkKf7byq=T4drUrS3-1BaGCmLkNU-Vbyt$O{;L#y2~-q(1S*lz4ZT>6%u=SQk$%cVX!1I2dx+YdELI +K!SnO&N>Hr_#3a#|h^L>B;a(t{=T;JJG&%sbOg}&;iXUB48Ku%E?#r0oiEVW8(pKgJOKBh}zr3I?>p` +vpm?kY>~OasUseHSgL%!Cg=&|Y|$Gz^u`ldRN`+&6QH>X{@~F6SwU3LI}z1y+IcZvDQXvuIq+H0Z_v{ +T{T#r7X5s7X9-?7CU6=ujfFPHIyYKmZh1ph?Qx)v3`)veo3GEMe7R58Tgbz$Yid=N=(k%UkNdjxg!=l90xHSSo>}RaPs%3 +3us2VgxGM!y+^8f5nH^;#Yx!`Iqb8`;UYUXL`8OjH?KbA|D +c0NBS|GMYxu0J1!V8qtml^~Av79efS;)d-nY+OWT&N?vn3^d_w=gNx|r=vJ*_8rBfT!OQOL+AW9hgy$6(&JK`j;7yj2HfipBuD>3~(dYUhz`;pj*` +&RKM9%TEzsKSbLV$h&{(k5mSF~d#!za|oW$sBf!F(U^qbT%^;W+nq)LOL0&$M>nbX^rdHa8HOg?<;8s +uyXU6RH@e_OL$H?;x`?w%Z#nuzAvy9HY)}Zd0S+aTJjIDTAT94 +qMmTd!Jry%w3WTTIVZl7mB`K7YFb?=Gd$jTs?Pzc3t}8<8Xqb=y@|xN&Um=bg(_*Eeh!=qgW))$8AwpgCEy_tFa7vnC{yOK?UGY}s8I!`;ecVSD&_-f>+DMjT}KV%HfPM80aS!lu|MP;z +h$z{x-4BR|DgzHrds4u9Yp^ZoXIFf<}#`N}k(*CWYoYz$9B>5%oh?(zk7Lkt~&+1^r-vGIL~LScj`m* +-WUE2iAPl+r*=5PkoGVfjFhXE*m?8d!dm2HKt7^)Rqq7Krq>GeEpUX%d;zZ?8-_sxfmEq>z}c(xdkv= +Gi-s^vDhVZG@ID1;sYDGXTYSVNJJWhH0D=@h+t=riB&?MPT<5@x2FJ(HwD=Y`ut9>j{3DQuC-j!>)HD5|xfcXIS(^( +q%)ercF?P*g5kXyImziKK4 +-olX;O=C*)#FKA-wiLyBluH0*xK442>B0Klz}MMkvMV$1h&m+5UpJlTx!K +^N$5?p5JczeT{`a1m(A4L^Y9>(6dWkX?{6aM(){WLQ!oV>;PZ4Ea59)Cg^SGEd4R_4m4;#ibZUpiT&t +e5DgD)R=?ah%i;{wN$K&+t18gJGB(kQJ)j#9A06BvLy$pE+q3K!t#aYm;UR17QVm`|}xf!Itn?1W%T_+cBquul@4PAY-*(Mm9ks7ef_aKx0f%ZPi)**`vdX@q`TL#R_CgcV^hl82ym)I8DB^e*;R +@Mp+&tat>b~zQgELLWrSwe{V>p3h|rb5sgqFzQWkpJ3TRDA$hy_9JKa9Wi_yv4=OUU`jWE>1#4(A9t8 +$lH#NHf^Z5s);%0#6-dEfSir7Km7}*l>pl;^A9JH+!#ux;rJEAtC?#df((ly;yG?Ncc}?!*m|-KcS1S +Nle*9@G)W`KX{H?QG4QRiT!BYnV|f=opuj69sQ{|DYLVD!p7XTXRgCE{Vv$!vgSDhd9zn^W4Rr!PGwT +PuQw6<6=Daw_h=o&f2_thb*jw>ne`Oyjs1qc$n;l0c8M(~X@>{V5hXhyE#Eb`(nf4|05#IBM{z1;ru_+Sp1$X;xoUcJrVWioDYPbu +mMiBiO>90;DtdJsQu`X}1=wP-&eQ$uBRQBJ*|dqY$qQbH3!R^Y1FMs>BRM +@%tNLA*^MY<=l%F1xgW+|rL!i*_|SxbzgZ_cHRu%v)!R<68SAdNYs-rW0#nU3XZByVn<>4^OxDI_i}> +`BoGwzA_;GuYik<+p6{X4PR=s30 +e7&Os>x|2aBOdG!jGm`&UN$8f!3#27C9HqZQEAf@CFQJ|5poT}F2JS4q_885WqgS${v1yN<06#mo%FmvLDJ}gRrT&6~s&`#(q^3F3xS3dP+?5Qyp0ORnF&(uN>^TAjR08C-awPx)3s(X> +jy~miF|(4ySs2ZzcJN+;5oHJuw(|MNRwv0H1B3(z)go|civfpox#p1zF*E6y9aYOd#`d?eY`s9Yls$uef*-KEGDua1OT7e7MA=;yFKgu|qLoVkP-0#uT>10BY|_;g2#}54mq8vhVc!z;sG&2q0Qs}C26q +cuIA}M`yh8TMB~atVB_uj^iWRzWFXE5cO9DKnoC7=XRqTljf_osRQR+0Cl+?0R`xP}$H~%D8q4|ds!{Jpe`BLH*sR})uz625%){@baDh{e4qa}8YQmG9dWM9deozYl?~qLC8Nqybhmjr}42+|Ev=94f)v~u^8`eiY$3j1)vdlV*La?47V-QgC7T!k#7U0Ni;i*p +Tz19S4lCX;)-mU;;9n_2N(Y#Q(I@WiNpu0|h2VfDYepjHYRI +YYRnMId4nj?$v&q_VmZz}-i@qUY+YbFzU#Ch)MksiQ<}xd0tIjRutqa>@yM^4hzR~;!i6K#>muQ1z0& +X=jIEhH#ywA`xN@lvBZI#}`2J`d8imTB~+`QdyJ|U}hxoWqyG*WJ87m&7^iOxpoy$h*rHHbI6e$Dsa7 +Xnu|J5lEOLo9MDMcy+471xMav?pPvL#r*JhcmqSkGh=Vv(Hfuuj}f(xvr~~@p*Gh$~bXdp14jndAgT7 +a&|$Tw`D_z%F--;^Im_>_TU-lSW;eA@B=w~*T`DLfn_$E-@Jv=*gcl=$QwWf@R-Y@3|AwWifFVb7S^B +-tFc(n6{2PUJ~C=7HdF!B^oLOBt_*Le#HO1=58LGMYCB-M+GMC1&|Ks&&P?|FZWwT74H^$N8<7t$9oX +v`IH$9I2tV29KLx-vl9B$KCY`B2#4H)Ts}%#wMpWHVuGk$ +JnPZP^JlInEmz+~rs6Y(?ge{5dCr8(`kbzs8|qPn9w1*A``n`gNv~4ov5;4SZ-D_|P`+p>4pS1#x&oB8tZI)^%%VUMGJ|4V42Lun>1*}D*<1@< +qvl_0>n)Wg33{r#rV^Mz3cHIBXXq5IES16b}pCu6;{LRJ+o#VE +9etgGoIBV>INU-knpcKQv&Kn;+3*1F0e7jF}*y;JQaQm8^+bT0^DoApoGeoQYvi=eS;AY@tN9XeuiRf +WlZJ7qYE$7FmyDuyD>#2ii!}A!E>P_*lQaODf9Is@gd#aghR^yIVGB*&(`CHq2~ZY7 +Q7nfVai9C@goJz544exSNrhGxIR#~x?%FZM*r>qW>1GakveG=a>&3sq2Q~f0^B!Qzc+{*=ETH-4#Om~ +a=gF|StK)I({kshPLU`}E8LVOyWB#lu;bgmW(n_wC))@!n;`dWTukc=s~n-HXNX{%wo*&uglpy9Y +oLyUZuAd>o}5z(${x!yBZ()6l`oVB<5j6c?6NGc7XCQ8KO23HptnfZRK&(O+2`c2eBIMZ~T1@31ZghCtQUzO +s&Ofz<&LUOd=_RwhA+cpPI9gPqg)Y%$`4`Lm415kt`x{ELLqc=2M@JB8R}H+4`h-D5c4Xyyr&rb-&m` +HZpt*=_?a9Cb&`(mY*14{Xu$GZjeK;!M4%)LlGp7@ktoR$vWziAsk5p*h5%sA-Lhu@~dN%NLn@W(IBbU;$RWP5h--vh_G?z +iG))`in-S*qF?^J_Q_RquQvV8rIDj?zU~i|*~~4zZ}OJ4A0~9;mF*JIWCHdPC +gH>kYa!`6!-nIQ45Q>z*9fm?Cgzh?|b$n#G(U#vV;9;Qt(<1^f=Lo?JYNy^=4)?|OY9Vz%Kp{(}M5BB +{rsQm0@Eu-(c)i51w2ily*r*k^!ulSv}GrzZ@_(2i)8It +cBmH5n3O+pQVUN(2s5C%pSr6`#!3GOYLj?#r1wb6=&HgUuDZ`*a~e(s`2hr^rocSycWRR#_j+^j(WeB +HKRWD@t+C8WmYEqUIbQ$h;2ZLH{S$A3Y9SEv$nbPt8Xtopzm`&ub!|6LW5jrJYp+y9|Hc>l@-WoD-tJ +v@K}J27>lOWMV=3q4la?(KNUKP!oLN2Ye|*s{Q;CY}#`{tlSD +Y#dT0l@XA3eMLV$&H6SvR0Mt#WeH)XCdv}UUX7}4! +vldMOfn|yu*rvn3DBOa6T6J#>R=pL=1dRfgWH)Aka>iFM`y2%RlHUuy(oroK@Rw!v@*`dyOi +3{Lq|$dBi7r3P_p<4+6uxrqJekX5uqJtGND&tjzMK$q6es99pv}4(L_a6mp&@AHsf$#x$F_j#P +6YQ6Ge7E9w!uT4zt4lBIsn7WY8A_-+P7Ms{L3X7+KAC*nLuF0PkYdz0@79=3(%eTH~_sP>aXAX6HlJZ +;9I_-2o61y;{(0NJW~1KvE=&3HkW`f@TINCj9l5YBwzSBBxQH>~Oxqo%Uwx}6W31o`pKIcvN(+TJvY6 +^kKn`8g!u%Z6w}pk`>G<6wMUBlDASvc5!%&^wZGDaFcL$-rrkvfI06@r`*>4GQMIq?1zH1xehv!&~*k +1xAZ92;exKHFUMTX;R))kM#uDH~NBD_~qTY_yr9cl<;_j?Rh(2FiD!Tc@}UA{M&%);s46W{&U{cdHbapp7Ri^&E|`K7`jojH%Va~Dp} +l2zfo>>@Wp0lzOCVhIkr&lu88_0s5QbydPr2%+3bld7vp)j1q-v#woUS}=;!l5Uq0^9my##E4`BSJpi +q+tt%fyOX(EPFNLXueV9CD3&luW7YjSD(XC~V=GxBri?{gMCq?WlzqwHk`80B%7>-ISyowce +gHM<^Osqg}QR((AN+v0${l?bFcEW%@O*WbX9&PCmf7oY2pX6k`Q&3+WU|IxsD~v1}9~rQCb8u)e{|RG +jY>fJ|{8mWA@#9K*E6HE=k+KlRb>KzA=sPG`8CJGxPMR{xTQw$L^BUirD({V{y2tPNB$$rLL2IKqP0s +;-C97mO+3`JpC0lL6a6AJwR_ +;!si0drw#(nFQrCab5akabtxEL*zxcY +(GLh-uI!l8j&E>YSei)L!HH&Wplee@8aq3KvPu!*Xr4%mHpS4<8y+s-W&7Pv*zGsvA1JQIqmvDn4hkL +u^B4fqx}{6THj{@_QUB?&L_JyFKaDgjmQSN_s~s?0e+wFe^kT=cwvjfaMY>feP@DBV|TYfWu68QkwDD +Le!(#Aj&-&`e5uK2{w%aISC0IdZ0pzK=2S9Er2N7E6(AQ7Kt9$BkaSz68U>h~fI^kz*`nBEx4|IfMfm +LkK}nde!vZ206nV}lHb3xZSHBC(d#*1$^DKH%^JPkLVR``y@V3#bv*hiU)bOEl)W-l9YIa=}F1GN<= +mmxp5a*6?FB^3&{ljf{lk?YLartr|!hAKr_q`B0X2OQPBcdN8;TA#HpW-aM23{1wv1=LrP946rV|cp( +s;^ukxD=lTqIfzRelWtJ}3kO8MnJ!(?E&l;riD3V6;m)s?^>jMM>AgraLonEKSr1 +baVb>JUD$`HH-xLtQ>uYHgh?Z2rG*e{S?xPaVrhfz9Iyu3G?<%5K@mhf74_Ay!`yGi20CMSBM?b^d-b +TgAi^gTQ6<=y;fpbZl7SrCWmCX)MjB^RJ%+^sjX2k#crCn6gs8LC=r5W1$Se|5zjbvYaxo>r!bJAWrobnUowuomyhU3)J0NCi85dJ|k+o4Uq3J**>QKX9-PClMQ2gyg +!bj&KC474MZxf4U4wxvE<-JB|`cXt^jO_L2F%^NB;!`lr)TI1v!F*L+i9Ex_OQqzPpQ8gNB +w{SthCnK{GJl?*B?huQtz!76G=fPpPsDnUwgS&OxejmT7(kRzKqT)$M3!_#?(%O1I*?4nNRruFG?%H^GHVUGPe9k1FvAFQm>lUX*}ib<@e^3dv)e +s!YDP!{2%M_DL!`UI2mAUfc0BaxuO~y#r0jB&1@$WEEi^|mw#en@NLqbPMmO%vvg26v;nk=V!h=_YPp)=)JfU{#d;dvaxv +2O6_cv+P?sy~8prz@v(B7W3xAj4*nr`SxM*N1!$~~(CSF+devu; +3&?4Vd3;qEG8^$w#|dkHlWcN&VN^3c;?e#ccC-*q30Q|c_pDj;VusNKuP_?gDO39yKg;a68scTN5ELU +jyqL#y+F2p0*|^oPbyEgRiTfd_%MgAUbmU2stCokX=TT{F<~zVqqr=&EZ*GJlyHjkDLTx%W()-!J~Q% +Xyv*LXPmyvaGI+8-%o(`2}kS&A1)Eo=?li*pJm3vKd==g_5eWIpP%w(75`(z4M9OJ^#b53K%(m<$9w)8~*p8@2Mcpj1Z6I +FD;fy*zJj~6&tIl`{?-*E@VUp@27St3jlGJXSSn)Mh$Xa};6}}q~zX8vpRQ`;{!hecA*T$Z{*z=kcdR +9)4b*lDJ%S^GNp7b7b#EPeq@Z~{eni^dwR +=h&##bU*16Y}JXUEWROQSX^Q%e7dnoCi|6)VZZVthm97U0DB_O;kHA{Hr%}<8A_hh=UAEKyGWa;dO3! +&$N;+vpF`j1j(fuv2gm*!Qv*t8-8N%ue|{5-ki<5qh1!(pZAKJ@_g*L7gouO-Xz)ordusrH8u{(_nrW +YM&_f7Q`Z*!h*8k&OFsq_R`#=zbb+VnjV9XmRU8v5X43K5Ay|J|^kzRswS8M@h(8;OSUhjASYgKt8rS +s$rhTo}J(F6&Q&8Dxl<-O{pex48eUalm7dHy4K%8r$V0k)lIeE=KxcYM$7yo5e;&M+9zVMe;}AxqAXOSOT~(}uw*cngu+ej3LdCD +1C@uRcXS!1l#d)|bw~>~4ui+@w+v$!FgWVcHcRG4R57&b9|Q=MhbyrT1QJ*g)I3DJ +m0tk-pC_}~RBv96SYbwdZnOgAd#iFHXU-W$uz!iy6A9iaQQsoJf;IF+rA?@h5vN75HpyeGzNWls9(J& +Jm-c`ISySIXiPK$lfgiqhc^Txy%Ongy4>HRfz5ylU*t$vL#tU+BCzPr)9Q_qKB3(=V3#_OLSe%&SYh3 +`peer>pe`rf$=gYq=L&<-*58!MtRQd^BF4DG?4Dr^IQw{9^8o{twrhieUxB6xxyi}0q3EF63&|DHwPL +_*+3GtGZ<3hxW5p-OE)ifz$O-^j<&yAerkx9zH8fQE*yaH`W0(vS8JwVa8oFsm&@a1%QbGo2JMsNV#& +WKk&HsWVN{*0ggVZNH!os9w4Tu6wY;CX)8LJn{?3{!ij=r@V +@!%z!91+QEKd=UCia1g&)+*~(kEM$`@J7f5{JQMVfR*-}FW`Rae0n`~TOUskbsHMl6zF3T9i`^?$3Hu +y-O@#*8~vCo_pF$YomC#-optthc0(sBT@hcp_edL@eCq-85rdtXWQ^Xdo&F=ReE>b!Qy}0#t}z=g5V< +9Z-)uUahjlc@->OFa%5*ilNGYscOqff_A}@6{x?HU6pTrSRdL$)@KAL5tG>~NgVPQf>1nt`aHP|Dc!w +Vq$NV_S9v`Qp3@7Ca8c&tdenTl8_KC+G!NNS!tmUvSl@w6EEH6+#`$%fW|T(804_Y=XVF!)3wh}fwHv +2R#D#$)EAb-m=|fqPB7(_#f4@*|<7W62e?W-$02fZ)7j8Q?lYixAm~x8O`TB)m8-}Mqlj(zF_eh$_y^tM1VXz6OlmrjzcRM!8^MoIssK~W%)Tz+F@gl*8*q|% +Vyf~BEM#BFkb1|6ckxuRz=;DqI%>)s4z=Up~KsqbYzKlB=8Rh<;kJ+i``&){Sqr%@Nx`1Jii&c{5|f1 +Vns>QiT8XKKqnlC8h4z8E!nIk0lCHVsa~U-EBQy!$-0+C+?{Sj225ueN9Z0mw}c+41GHO_EA%ueV~j><-lY#mG&m +TtBq?@nC{L6`uR*S-%%OjTbqx9xs(l#^P8uRhjQA~L(>9}p(FK#}?cwt9beSXWm9g6%=aa-vnIma^&o +ukWfz$B{&4jf`9XZY7r*`@6^M^JiAY&1{^4s@g#v;m5KUWkkZ;#zHwOd>IJAMs+t^}(IHB6Cn&WY8QQ +J3Djk6)O&*?#2M!FujE~j3f;$=HQ5?pVx(-jfp=!QQnX&ULNuhDKv^s*oiL_)D* +7Fj_7rinpsq!6Xrx*kgA*L)ZBF&?6;O%h(R)8{vEpN^IQ+wINIY}x@kdIg`4){Tkzn6oi9AHBEnC*~u +Nvj^~nWx(abPP=^AiCg(&!`>PncI*myW017wM!kZFa?cF}c=+WHJ`;a)%%gaHOD(GJYbzj8>Id;RVQq?)>&Ja +pW9wBh$)c*RI^W1~icKjZgJ$~eD?yDpGnz^|s^{VedVZ2;`Vw(9%-%Qqr&VJt`9=O2k<=TXegMiF{Fq +Ifkr32*Pk{eFNxzBjip{!OxD;VC9^q?C)BHH|)q6qQ5Phu`OV%J-nwHSd%5a|{~U!yZE#qS$DHI1bU}FL8}Gr=Fka)!@E+;x>Gh?)M89J={_z8HzvK>Afs*`D$^ZhN{H$PC{N<~hCU} +#JH5{dnR1J76t@IDj72!C_YX)QNCo-Dl&qPp(yCQ#wUMQv(?8bWwr*Ms+@&Mq&QTsqd!wFRlQ!urlq6 +TfMgK3`bV0LH00+TXC%bXJPsKsy42v`;f?ntQT^j*Yb8IH#n#m`Oi7tzN8lF&t38+RA7SBKH;p}yOSM +h@>C}SJiJ4|l$4z&p&+-Ja&+_ixp7$jZv;U3Z(#r20V%_cf!WNDr2xteb0`h?c7oNEmq^JM#= +m8J9WiVOCwOouCDZ-prJ%Te;<#vDJhoEA3*@;1GJCF%#70|~> +X&;^{swP36RMTrdB!PIi}00G(7u!;4KBAv3>SyYJVAQC^(Yb&gE*LuULm41U2S<}ZxrD$G +=#M;8O;s4KE8!Lh8sISH>%Q5=)5!biVJqw$e4NhtWWDVVGcd>>%1*RL~nr^Ua>)6f0AgpKzVeZ|-}tX +un^I^;E4;_jNy5yKz9AR<3svCH9S>M*3%+fo02A|CcMFSS6r*-y8%a%MBYBpZD?#%Ds2Eou#B210(D6 +fQVVW?_E3mzd5|uBLY0qFaYT|Hg;qW +q~a4V_9X|&^8B@s7>`B(iTsSBpU3D79*t&H`cKO9U+5EuX9Idkd49N0+%p(=Z+ZUD`^2H`hJHtR{xAB +(;hk#wb>;d0N$QQmGg^IcdH%Z)2Q(8qA$m85D2=^cl(MXdZ+_VmL1MyO20BK_ZS1!XC~wo2Z2^`x1yIY +n(ugujT{-CLntuykq~TW9hdCVW5{hm}2DNIctJEEbS!^rSwUg;M6#IFvDyJ!D^^9qnZUrs4;c}nEb?Xo7cCujIXjnQ}Af|yVWBBO)g_JessubC164$vgWvAx9n-+E8r5PZ#prTV54lM8A3(9 +(&N;3SW27ixvQX8ijf{uzHcPC7fSOF6ObL~{DWuDZa6@lXv#iLw@*4Q?GXrc?dCmG2xFG?M=8TDnJxk +@K?`PPbU!R*RTrJo!wG?nFz4$_Tq={R+jod|**yCZskqXpYfZcLdAUBoT}r>7%$DAOuCgSLrIWy-`4qjzb0;>-#`vkY_-Z|o(#2Y1| +#>qp*4wOBFk{968nAY+v5Ikj}ITpU0n(Qaeu3^_dLlXA#YZ!_$%igfDLmhgA(7|?M%F#K!z$$&S}SIuD +tskalzj3RFk`fK2Agom*IG3AtD70Mlu68c#bK-8A((F6~|)qSu5a+7bp1QDGO=ar=v^U;pg$1gww=34 +Z$iwj!vgg>caRY|Bf$%(OSo-rL`5E$@zDlH{JAy!{dLQgJiG?M42wY+17Voqr2DnMcZF4h*=^Sj=c-W +>eKH&WH_9C-rrro?GN(e5x-r4`+qKs3mC>4zSa;krd_Ua$C?Xx4hI0C2SV9*Kx_W458!R$YjJaOj-l1 +DH=>bT!*{KhlTCWQ9>#qVKlP?=$4}U6FTRkt#AY1q4;Nl-c0F{5O)7z`-tem$IxKn)OH7x(@Z+myO0X`qO;u!0&hmviH}acIg~+;=JTJAF +TUdI`Q3o=%fpeB76e&V+XEJTp$y?0g(js;`_W8I}OJu>cwlZUd*6gd<(reEqP9(!_t4BitjwD#S3SnG +CPhAmjS$j8V_3WW|pOwcjlu_@y`6>;l7>OvMJt~Gm_^_a6@0z)sO%TelmOM9ic{enn`2-V;F10^UYkt +lKqh&ta?l?2EuPW)hfg;2!*;bI!K9P*F3*RD=WaFMiWS)F7@1?l{Z4>Ev>}rckqiiljmV5^Bo>}N_+5 +Uba&_PT9FHMeJcPd`8ijiWB|9ybte})M36j<=e+z|60uAO%o)zOP*|`_eA_Kl +Z)_F3KwX{|pxyZVspExIY1`ToDpIp-ZlglhM<`@4Mp`@%cVxjyGP&$*xXJkRmGA#{DvBB|Ci;DCt?<*s?^ +0hbAHijwnJI#N~_g};nXJ&hFE@^hlB+$ulN8G?wNKw0N3 +5wj6V{yVmq~zD{e3at))O0rb;@ehd}o)7+Jo)Mn2+hE2P@(I(GfZ-mM7mN&%YIqD7YyyMxolhNVzS$h +Z6nfQHAu1TiUTG!a|^ySKR&3HzV)qTd(d2-j#@pN|1HDo;NL^5uvb*|n`@pQVzbIRM*^b(z`^M;#VqO +;aS-N!pAGu5_(rmAMwRqKO`|H9bWhW?htTgz)qYYgUkcp+zLuB!|$H1#wYUic!a;?*FK0(Z)l;e}5lN +;{dtWjIVf5H8Le26L1v1m<4wP!5iz>pAIoNkf{&91S)p&>;k&h~8=A!SI73HL+ +lzRsFQ_mpqn#|1U~2z}8(w~u$l&1TG$2CMW7erqoy5olND2(!8N`Tqy`fz11_T(G#xh9Ze%FrPRrnl02G=^eka5lp +G~%UbjMz`Ez)?#H5s)*6)wEuCp{4s%R-@sZOlSNp^~9wf${-N9CWS(~Y +#?Ovm#W%CLNlIlYt5{qf`)?Xl}8oZA-=!Uy`W;{(Vp%oYu>DSgnuthh+gakcA73JpC1>U(la6|C!s&- +_MjHMleVL)zII1?EXM}yb_a!jSUA9ZqNZS~4}L)Gue!Ly&&v;lSFsfHOUBjGrn_a+YdT23E!_<3 +&9&}d0LwKU39aWQD=F#HA^s_1*E;bq%gv*$B9;t``0M?5A0?zhydm$1_4OcF4}Y4C#X>ZV!JL5(?JsOMag+6WNi`O~d43(ra8#TohM|C83&C2>OU);sqk>;ATOO$P{Kf$owQa}C@CME8kD1-aXp#EO}M +_<3^`M&8W<%;NW_vLA$S5mUyl_|trqC@XX=JF-EM%qZ>>m5(G4woV4hC92^4m@&i_~j)|t;p1xc%CUk +8 +S+s(wY|L}fE59mFMidma{jk)j?sN{Y}Hp^Nk{(swuiYboAr2@b%sC$>+v2p<6-sG +OFS_n^-08iPoXE}n%^8p)ol~`?BXJnq)XUn_PomPcYcS@vX$fK +=#U>gk`XxxLm4T0w&oeYYtHDJn4~%(yGL?+o}k^lrcVn@~P5qA~3x)h`axFfj$r}(2X=uQ|)}t~KGXVeNxr!%gqZJzE#z8b +jij;p>CKKnYjobha+QWhn5#p+X6eT13v)1-T-HQxJCvB5}dGreOCpVF<)}4*pi|$wda6Nt%$du15{y@ +`6Z%CqP;Lh8zpTqtWLlPiSPUbRr?l^2`j=Tj@(owW%?S#0Wj+ux4^?;c|th<}8vaJc`8nHj&0ne|#IQ +Yc7yfobx$;a>5WB6lRDuhoxE9)X`i8WMI13L?L#hasEVz^s)?lLbFIPG0T$`7DZ06ux3P&TP(R5$!!Q +pERuU8xhv!@2vh6HwKiIdwV|9CfM1lG4LAgg*nDt8F~1~!X8D-IS}4bu**8%E#b%M{CtSg}ZXy|zKC3#~{T45tQn +gKfdHFP}>M~J2D2sCcViM(3=T|;iGCksN3-Py^+!S)7Lda0at&!Z0ky``k;w41IH!X_XIc1`NsF9|)_l&3bPLrWZs8NdirjWL|Vy0@lG=|Fixb~2kR}1CjHu?rRhTpD}F7MpHLu}?DFw_KJ+D1qeoA +lo<{BwN%pK||t&Hp#T-{|vygZppQ{FmK873vr~UfCulMg0-{-NigO#!D^SRKimoycvPKbTRJT+k`UF; +5)^I62IIg_Ieg(rGDhPnMc{g<3=vo#`CMjRN90R*Q&Fwar}k`^=$&z@UhCom4VQ~n-o5Rm};hdN4k;J +qqI$V)*PRvb7LiRCdP|JaHNi>cF2{i#tgSHsk*R1YPao+0LtG)fUasxqzs_v$I~c`CvxZChzZ|h37;s +l=XDzw4B|n=CpX$W9Cc8+dpRG!vVCjQd3%299=@#Kw+`pW9^@-s{sF7NJT}@D$_G64RrgnP`Cccwe9! +y(&$*%R?1P#Z&(=}3-oN?zz9u5CDNGHyaPzn66+N@=kIICiunCx2~#Ue +rO&j!wahCPrGEQNz3+bBq|1IS!!~tQolsifih#o`G8fC73TxpS9yX--=w#nCwL=Zb>#X7`4#Wp2Yg*n +*#nw@+K@eIv;4%+vaL0wD4_agyl$(tdL^~jYt~bHeFbY#z31kfQL4@JmBrIiJqvT4Ro9q3Z)SMvOzNv +?DJfjH1YP#iOv1;Q87Ayj>r?mC%+;+3@EkLH>}8&Fn2)}PZ%JzexbVb%%i_(ur3zF6!9b5Y7WGK4fv7C)`-X8q{!3Vw_xy +4>mYEYE&EcRrd)D}ZJSN$1*4JBT_Q{!lgM_H(Vw#rv;+v@V;akreGD&irQJSk3 +X}Uts@{G?#Uoa*rBej0nXf4xWRv)8y-iN;=^G@4gG)E<|&;5Z~{#R<7q^{0d{`W+2z0Otdxr+U%@g31 +oV=iRKOT5QQOm!WccP&sStQQ8LB%~!}TIcPihF!ht!86J{kQnnGcN`7sk*|R0SmWi$MY%}7eky +b=_(q~hC!6D52rU3D6V+gDdF?nw-|JJeRqNJE6IF96{%9c7Xk8A#q1|4MansHbUnovho^b8+jEZtXkwN{MA{h +jmzeuUBvs^#fXloNcaoBDw0IS{*=Rt{g+Q9C|~byVy93K@Fk#41k;gHic|Fbq+CCk +#o-J=_qkR11eRrCb=S$}(ZdR*HpTu3{I49A&;RELLU+LyD3q3=YL43}s5nGM^TIWvDRIZI+5rm?_svH +(@5eDEehSCI8CBrQA$xQ<{aD-^+SZn5i8p$Ap>Ml5$X(iAzeYFw-?D%Co{uXLyyZ!c0AxvPGEbOro+; +n48I5DaQiQ +?u%$jFcFMQB-|>)AT}2V*GBUp}%>3H524N;?8D+09ZzS^$VctyUCxv-2nI977tz_OL%-hJkPMB$-uB; +H|S~5F?xt`4V!rVaSxx)MqnX`nM&WbB(!rVyaWMNjwJVcnA$=pkrTgV(G%(RuS1PQaA%q=d#XEL7_=2 +$W}3Nu&2c~qE(khxx%NmI7+k}#)`d7Chk3UB36VYZTavoMn?Z)Jlp&n0uYFz1ljCCrP-yjYk?t+6s+n +9InVEzIR)HVgAQGN%ahMluf-=FMa_3iCr`?k3Dz$*dRVZDhV!D$0V)&82)w%N6X=EU}=qt%q7uBR{y0 +Uz7PNk1<6Lmp6sW4&f37mjlA(ap5u-E~;?ZBwTXf@||#5>r0LIEmZsc`j%J(tP}xn6j6`f1;}GFkn5)67JA)o_iU?L2b6QH=jvz~?*4RR>vB7@r +dw#iniHy_V9kXV!?M>fh-Z4bp{ne5@5*>VTb^eHV%guU@@=nCyECfxxb}Mu);LU9kEwe`)zT))My$LC +V-Y?;F396(K`zY(n8SrJ2#a$M-LfDfw?jYQ73xn}=vJ_Cz3#f8F!xZgqXswk7jmn|-IpY~48lJ`?znw +r1?sq3Lc9@y0$kT3Kh{))m}m8vP~FX8dUqDrdIe*YdpwM>WQ=tWrwuq-;Ji-zINE;F{aXAuZOiWq+EM +aW@M~_h*Ao$KHPl-T2QXm~sdrdDM6_EJQfnblUi*sTLPk(xb7;AB1IjE@E3=Q=6x3nAf_jD1R-x!y3v +6jLl^2Rl7FV4&!s^HMpI=t%D4K6Q+Mew9Ks8fe7HRbatkYZ70K@ZjUcKSv1Ijbo_@@nbP-vi^DELpxf +~T#Qvfyd!Nfx~7-!2P&y^sY@Hm&y)1@Fvn9Dao)!Ml(oc(m|&YJ&2u5CcE_GsM8#l><+r{kAoy8^rw~ +OYe|-OjR^s`sBbJRxYhnV=L!^;O8;T%Qt%zpA5KJ%7D+uJ5yPMHMsKZU78H|LqZ1p4|n<2(Mfk{5;dE +-M9oG&8SwW)NdD*z^=x`rQ9`CIbGu;dwEU!WSczun& +LyaKpqKnEv7zpzj=Lsljm!aTuS4@R~C>^J!_k#@+79bTrbs}$WUTY1kpJaHxGPDuCraC2v3L(dYzRFNJiN4u+>MgW-&Jz;ol^di)da{JyNcRsV ++#+FRC-FHmo=5=&6)pLOyG!YlXJv7KlvYpCq}6G!kxQ!&(xlaU3u$$ii%Y7%trL>!-MOTCq$a6OLS{_ +~K_qb=l0ip7X}3ocHXmfzMIw8r!b`jSc0cM9t%pd=yyP7cRki6Yk_tZe3YY +T^M*K738J@nT)JvZIJB56C9i@a2QF_Wts1PsL5+G^lP=T)L1iJ!LYfRT*i(&gzth#3Ldoipw&mJXZkS +2WI1Ni21QDB2<{p1$dXj079SrGW<+NKoH2)8o6EmDq_S@Ajvgx8w5WP5d=0Pbxjnee9hnmBkM*AcL2) +sc#pLZO3=i-Gf#)-5GMK{ttj=W!A65bB^>-11_>mNG-t9w6E=m}tsY>-n}I4H5yE12kI`Ub7xP?=^~( +$-S9}Gr$|B)|*qJ>AYqgLVca^8oB^$6KNgLguu@TA#mykgdn)3^33x2LDTk`rKt@OdwV&&vfxgd*6SN8s#fS67#;+8&G|%#=#~B7xR8yih29Vb}Q}>svi-hp*B%{yu*0`5te +TF6>{B^TfE&-Q~*)jt&=TpGMDR~+`{etBHd^7gf)y~Z6nehZmKwS&XoGS$uRYMbg214rh8Y%GTnXKmF +W)9M7odik)oz*myqZ-bBS)+(zjH34VB$>e5D^+o|+^i{z+FHJog1AHPMwA?kH3F#YOIPO;pr7R+2`j) +~F=gy=qXaME5W0VmcwwjnX7(Zm*uAQaCg{t0&U7l0Hj%|*34ucR$+#_`N5=NsLea7~o^(-q|3INHy@JarhC;y$BEaZmp +g6H*r)z&%3zA$=C}4OKVs^BgF@5mZ|G(h#b0!%$3TU(vau$dcewYT=EBYk-RfF?tn}<~DPs{3O<9PRI +w+gwGH}6XoX8%}1XyDxV2a?uUG$+}VDj+gQe9}9_Sfi%4(f#bxe +|yhHX@mtR-pj>OPO)`+HM{E*7)QBB3dU~IC(us(oyRpZ9EyOrOrOLljrZ~xq>iAKnAqqzG>pZj-)rs3 +qCkMWEky4yYk(aBy#5WOl*#Kx5wDmxLx07qwHXiUnXdTcU0e~=GQ$}I-EaTnZ3Ag(!ti1+$~%B1fo&& +0>|{k3tQPYJs7U2OlLao_n$rD+YF1}eXJjoWAvJt#GI8Zqc_hRJh@DuKDl2@9A1etEBy|28-Mf(PL8- +{z)i8k#th=r}c@Z_+pdt_7Vt<~8`Fy@5rO_Kp=1jV=>@2cYSdUrccI$L}y#SNtX!s?KuV{;%ts&Im(L +(@9~_HN8g$Fg>K{uy6`!s{cW7t&D!=`%8R(uH{Ay^uI?yrLfXB1v^`zs%a_i%}sZl^*`$(Rc;YGQ_yo +9Gstr{(aNw&O+Jji9ed}1#VN$%an!fbcf$=M`7oA3!Mmz4-zA9-7}b9yqIwVb6mOM2$l6uBMMAYHSIX +qHr*|vMPw&>V6+(b*LxoR*?q0?v=$59A4@6p}#h2;b`u2hL^=^@VbbhNJ>FhQe@W4WwZ5RgTr0o1U#WYGZ%wyZOEjEP)g4K3R8EhGO>s|fe2KQAF!rPq!WOQuu +^;s(dGA`}_WLQJO4!|3c>pQ)OHr1t^%Z>5&s29bKF5`990@iM1y9(=Bux(8XX=#bmB}`>8#nHH@YIxF}}t%g+GI8hI;c-i1;-1D!=qj*pA83!tZJb~wVlZRC9( +*oS16G9g$QuG4Tf%zoTA{38^yDCNf;ev_u3DEPsDdC4eR2;hHYOY~JFs&vqq%*o`CtKc&rQv+#cZ^}!&xz!<<1)k|Z)(g)iF+U +8c;@O18=fW)%wg31-rK3p@R}3g?qk>qKf?ibfB`I)L!d3SU^$Jl&-!YNRkrfS)nh$uV95*I;iP$RLu2(=zYHXEhyWM%$zW-GaIr{El-&Cn? +ths$D;Z1Sxx78%^EY5M1Y%42S``1sL9)ZEA%e#ijSIni7vl;&*nMBYaEG>@jBQWBXP})NHZVpYo0TbQ +t<;O&t6H+VAJ}b_zZRLxG;D4x~qhaEq)JS-MUU>TytLS%9!&FYrpw4JFGHto#Fe;3ANNmW?O3_6MxG~ +x{ee9ndxS6ULaIFR!oj4Jlf4rQ7nlVVFO8gLm;vyG+Xm94Ya22Gi->Uxq@f!3!IyrIKx^R(VM;jKd1~ +0RmZeU(QY{p*ip7dl3oH5n+u=iPAI)Q)E%1y +3DU{rua6-J_0>La=&`V$rw@6Nn2fd^Jby|Eyq!Xo`7nSZg*#QfP~3KNvLhH-bU@ei6YJPlVo_uuqM7_ +!{0}g$I(#m()wEcX;(`O#anWqsba$@>~=dMn8asyo##E?^l14u}zvBB~_Y`IH3f~}>xq@`+ +Htjf1QrIyZo%aBhiWPmZk&|HI=W*1SzSoG7dFG;=#J}f#l=c^Zp{a~tkS$7i(XS~JL3Mm&NOOgo%2%? +UhRTr$qP%zqrQC~BZn%Sws7>SHo`Cv5dv-N64AS)X53|JdcU>Hx{?f4NKmGkVa|nmPuUPMBM|bD0UtO +WQbK9>v*4-H!a)s_rF^A~dB6WA3xZTInbGQ5H?z}TZ>hAnlxGFna15UdA$8~qA!CT6SmGAP46qI-P&2 +s5cv;>K)m=despB_&h-mb6&S!>dbaNwgB1)>W}^7P`GXrIh}#raF_NM($V1n)$!V|Z%hwoPEiAS;&TH +8EQ^wUy(b8J*!}vtD1(nC9)GoLlb8LFICJ75NaKtZ7laQ7S}8!vrV2z;`S!iMFGyo(qQUUm2>Z_&E2f +GVgKPvm91g#&6Ucwn<1zjHY>8+T;9=AX@JoQbtiYOiJbL6!DMKw|C#|6t=)#?|TEYJRg|Wr>DfP9v2{ +X(tbN}w?Vt&P(zz?w#f?=Wzgeq^0**yry6Sp5-4U-&)t6mm^%zLUzRv0iF+8uQYj>(cyq +yg%+er7Ba(Xi8jRgs!=tka^9aU5Ul~v_8!O%EawmbmbUn5gIm!y1JViEo1Y#xd-q|hz-v +pBZ1}=dkf!-XAM2em!{QU9>x9{d1Vw*Y9y0m2y#Pd3tbk@GxXMW^+6(<#R-j*7 +<8be8GAr@(%bJ^X5|9dX6q6X9Wfz*CrVyLiy+*s9heZ}}hPVQhoa^u<|mu~jHlUFLBuvSC_s+{5qmyc +pP+i(TNnoeuk$Hyp65lYGQMfBQ0`iRuXy?251tF3v5F;u_AulMr*z(WJ~S#uO9?*wBMR=z_dCe}(qO{ +v;?+PuBHS!c^_2dqbFA&Sv;`dxmbYx1Xj7qVi-s0ijxu9+IDJcEX?QP_K;f{oI&lh5nNRk0lza6vVXi +r{gPsH3ooag~=N&+)4@?d2F~qN1$oz>`MC+SBzmn-6DP +z22vmQD-Zs3Z=jkknY7R)G-l>gcr_-_C{U +wCa{KpvQ6a39BMLNOAH1y9qq1s(|FnUzDG4BS#~(byUr-+L47Z;1Vp@e_49Y-B*C`XS0vkR1>l%a2fs +I_U)Ju93<`OPs{1(J->dRHhe`=_rdnDBTORYq1!qiMY0rIWG?7W#mlhgUkrRPtQ9GAo@V;I5Suh=2wB{X>f>ct1D#H_0yALxK9Y*DOKTtUt%$Llb +&nWQDaAJ_Dl=rP|1{Xe@3FR5>=y&2X%P8fn!#AURfX^rm>qsY0>i9wrn$}7>!RR?BbvxbU@zr~&+eyq +S=}L^nOS^H~Ku3PfOa<`PA +_}ka=|Lh39j#=VQ7iu(Op;Vb?2B8~HXFt-d&qa;j?O6@rJ9Z|??c-*XvJlD%k1;zu3#dEUYzULI(EwG +S#<_k?3yg0seY$zZMHLMUhl=DHuzXePhM)BRum`)H&H;Ed-&mgg(a2jWhS!jjhg&tj}Z=%VE;Pd^(8s +FF&U7sm6?IR}+TGij2baG4G|(VCUoD71zbj9naH^^7hnp@rHHCc~!v*3{8X*xV(g73B+5EYj=Zy$P#a +JtkaZJG;MAYkg{fYUu1awzNJCA7q2gZ7 +^hnnd+BV?%{*LmET-@Pxf|7ZylyIT3tm^#ln5}xacfN&|*Yx$VN?jgs?xUK?0jc{98(f!2lC`!qm8{f +SLj`?r5cP)in1}=nl~&q^&O4M<9bXUj)$4&43~wqTE%lgTyWGUQ;b7j&d~sJ3(aH0+lKG;jb)aw-`FD +oDjk>c#)|zgelzBHxO@s6`OE^x(Z2B5&;M*WL!(hRBzNCk^wh0}GGN4GCh*Gn@af)DOIAP9$1tfX)G( +GZzzgR85>q`0X7F9h+!3K(8O~3m=`}W{FJDo<#LiyQgtkKV7nXasuBIb@mXzpmLToKsY-4|6UhR-Mc= +aK{V$;&>1`OLk&S*5@79}{jWWSn@qOdczmv;*a8Y*OqFvhOQnys8?kkG6CVYh27D5@`qm0-a2jt#r=D<(=16zd@m=U=ucBK3Xp^I64q9`)#j{_Hd57zlq>kJ@Lb;{TcNyY>L +ejI*p-L>F-S!1qoFLH;`JN{he0wrdF(-b}dHt($EH*=jqZy`|eNs&pRYZeaEzLg{Wu^5`-TH{pfxsR;$(OXsB1C@J +y2`Nu3mX%;>3~3sn0OC_CkY{k@(LUtoxE{VH0=#}?(SfMmZ>^<%m>>VjkjK9=JrS=>TyNH;Ofoz_U#A +bKHLdxCMh&y!E9mQG)edF*Qw%kx>v8rWHi&YRT6eJ +ytn@W#TX)35eMY5o!9uS+SnRK4d8;U`$U2GhCYakT?kEn~q%1Qn=Wu5GBvc2|}zYW@BNBfm<^8|Ddqe +i`_q^WTrs7mz?ceTfr04mn(f(brWiw4)$^LBo~6<86fO4YneV-)?O)?>h%3ivE5-|Cr_ +#_v0SW|G)>FwuqQhAR3*V%Tm;*{L#qx6aZ`8X>!o&{rhyI;fp}whsNl(*;_Gt2_ZC-BIpodrP@*9M9o +e#=`vZC3i6jh_F+7-Wm!T<`PDI&iLE9lYBORdL+?ioAP&iM&5=m* +=CAfr)mJc|+x+moBGllaO^zkvD7))3g`xE9k`~+>tBn#2+kpBa{q&Mlj#AI= +miI~Tjxtp8YDU|$C-{BRGdj9Y`jdI8-+j_=37hXe>0zJq5uV>C{d$wC`tFma36lSP(gET==?W#_vJ0h +mDqM@~oQhYCAfaiT+U|wY_pfUILg_abUU8vxe52M0o#rK(9#ufsuJ`(TfZXr2^6RAe$33fZ9Z#Mvm42 +CyPZ+lE^>y6-Yn97&fC**pt}Mm)7$#BzuT_UJOZjY~Z#p#GS~FY6m1@>2GiP!p1zSD)y|Gv5!tB3LD5 +Smeesd&d6^($az!v&vknJaj(!AmT?F6Tp#rK_^(KN3Q{(2#Asa8!lZsf-cMMb33*XJ*}I;k-q@q-uWn +$&?aF`}shXY=2jC@z}MpR`$W&?NmS%KCYv7#_^Hc~7fP#owt@KvyBA=eOs#36msZ=O|e+c9MT=_#`PK ++v24-JL$-xl91nSB=GpKN3Y~=ZHFMC8SU%5cD%rbYi3eo+dyY9uE@#C9Olxa9G-74?oK}T-S6jhIfuB +Ax^hQ*QI)ad+r(;zzq(Ne)}#b8R%_T)=fPk5>BqH88c&+F=S9Uvx`wV~MV`$_TNIucE5Ep}+pEgC8?U +6Y4Oh1;Y^S6uRwgmmC=5Z4ij~QXw8(_X&5x{_;LmUOX_28l5TQjTOi@p_Q?6pCD5Y&0tzNwscF29chw +?*iyDUgkHlA+vVE=`uyq}K4yCi%_!oNybFX7t~DiU6luuFddhfA0#;d}|560Vc*Q3+p=@C^w+l<*4)* +#H5fBpf2)brK#NEZ|EL{#C+F8kFI-O1MM9y%IJ^ctXN&CF~S0U{49hNH|l%#S*TN@YfRlNx~fxHb|&Q +7&TBpql76ES|yw`SLZj8m-1XSh;_oy^UOnTr)7MLRR%b>ffGHS+M0ER4gMz +%rH1z@L8@&6mMF1DGdw;EUA^V%wOBhiWg(bkLc^M&XZKh9QgzRJjmx33C7%@s{A%jocEQHlAV@OvI&p +?pDBYF5zJpBS)n$<>I%LV_69PEr&}!a5&*x%of2`j1ZLjr5r;mF7hwrKDmfj$ZnV6O5h#_ZfN)^Tt0s +DxW8SdX+&ynj-ULENVkNiN`4Of75QQajKkrR!E-6FE`e()w^PVlfmhH@`6B9^JS8_=DNG4+ZshoiczB +VsT%NMVr(ryA#LGg2v4dtK8^RLdS_EuYbM8@1$n(+U&(GX;IaSPQq#BgROUKD+ab6bF%xSVAZXwTS+w +vaiEAL{&aPhiP%(=A)c{L&h2jb?*@)g*N07Y)Kk`g{k{5a}g_x#fv@e}py%5t~+@jV@QX3Fw$`g{bZO +E~wat^PaeM_axn`SPLBr17u49OQSvkCEsvG(2uz!V4u=e~cT%3!>8>r-tv^f3iH6@tpp6yK67KG59Jw?rq$p6}};ZtXA~4gWt=e=b +icpYuPrO)fP2t?iU}UBc_h5Z>P|=3^7}1a=?KMJ?&Ly(amU-_NI)LWnv_Wx9mhUG37F7a +@d(xwM@U)$q6W_XWI+L~9cxmIL-ej={)BHwSlda=S*2h?9Q>j{+o2yC~*kdTDR`Uf4sWyT7Nt!KGMEU+WTthofUSYmY%ft +llGi%g}qGUhqN!((v$YvHTtCeqO`VrBkZcQACq<)Z~IO@FQNGcmBnm6#%aA?I!nNx5hZ>3j4}(Rg@{S +DL{JgtS8l`kALjcgYr?*Whg>4(8v+C2yOq~~W%#|G$7`F4#n;OFas1hrVY|-9FDw48gA2Kp@|m-E^5x +%9K4%htMxV=a`Nz0>B6m-eE+_*&n`f9&*nIfRyq6O5PU?ZQ=LS%o@Uat@`r&H!}C`H6o>6K{!bK8 +Deg$@{ +1*j~=@6b=K7u-Vf7(jNBu;&+8_ldJRB4-Vb9j$X%x75sJ~I*8-_6GRz}65mIGz6XT%IqHu9lvLU&E*2 +(c+_CS+85N)M&$FB*St%g8#O}{QN{=$wqZC$tq*E=h>GmwEHT=4JAu2vro-)m5_CY-Qm( +aOzuVQQV^TzF5>ty-Nn4%O%7)vm4PkSndd8K`$DHX*Xd(eW^OUJB3(+0@DpyrN%#mC;x8v$gool&95y +4@<#y)hay*lqh0+AREOt9feKzpRo?mSDbC~HCHd{$CcbwstFxN$RC_crZa1@68ng62;2n-7D6rv9e3y ++BGY>0~P(zRR6Ro!EI^o;A(yH8(Zzy1T_2M!uM3SioYSgzbpN&{Ig<&{jtBwcK$98vBvLD_cQ)&kt?eFg2^1y??f9T;y{_yByk3X^XkAM2}lYjZ^-?lyV^fS*s_x$!9J70M5rN6(ttF~_Up1 +rT^+h2d+)z=Qb{>Gt(!$;mc`qta;9DDcpd+&en;YW=hpZMhDsZT#snm+fQKJ&$w&0l@}&9~p3J=b#n! +uJ<{xTOA<2ZWA0{GT--{7>iqe>(kt`+(fB|Njd9)A!17zxL1@_8>p|uiMz^icr0u{jN6lyW7||wz1#S +#(r-b`+aTfbcLwD{kb-F`ixF%;#$1)5p}X%`}Q!WusFYD*$h{%s}S=rxX&uJJEtzZ#h&NNC@v^*F5w< +?Bp&!@<(9fkd9K2x_Usae+u?H;ZUP;%0dwvm`^1tm5px!1&K9iVXa{&WRu@_Lqh|?p&dM+g?e^m;vQ5$ +IWn#*&g*}A(_RC7 +wh#QWe&$OhvN$T^u^@{y!2fr9(FgFI%?$b{35w9Yvs?(!X@?+x69OlyJY+%x$9JP+1gjzPtJmm*n?aw +*N&5NUAaX@i_=-+G!_;cvvS?Vd5i57Z=t}KTUcbzH@ZrUB@TPB(OzcHbGvdE7HKQVS;b@_{{j@KF}K* +5>p;MK#GzFN3VL{(a87$}zOlervIH>%ngRW2t!x4Zte|-=AY-W#e`d)-(B-RM#@pO>=kmhhMaBY7*cJ +Yzc9+Y~o0Yoqk*$2Uqo^=XgwTA%1Aj2D;{fotJDnZ-&uVA4G*9jVy11LzzsTdO%~B@5RB1a~gV{jDEC +r;U2w`Sz_`b;Q0^18+#=MezyRoFe=+M3e(leazeYURa6FGh-;6k2CqTJ=v9!r@64OUXh_Y{krahv^fwz~}{RMol-^s3L^I7XN(=Qo +;e_5exF;$ULSFY2~`R66;SB^ZtGE6)C)AA?Up+BxG_?>U(Rlz@u(OpWU&6+uBSW5flGkCyYW3J2v)uJ +{jTp7OKVC1o=sAL%-rr7O~b!EJcdD21sb1rgIftMPG*q5S*DJ(GBmpEL@um0)u7NV-j%9IO2(LC+G%F +LOv#J;3NZf*3Jt*gJUof+G4V{G~i^NhRy^1B&T2a+Z}pD}hv#45{QX@Z-6-FzDFO6Si;AuXSeF_8wo( +)p!@OB_Y^1x2#ooS$D<>YBf7O!9C?{zCRM9>N{nRnNNSN3gER;jHU)LqlY3xZ`As*t?$ChcP?e=0*|z +7MNH0*>#-)Sf`NzNjgIiGbDFnhLPcp=w4y0SH6MuO76^hIb)lzYV6j~r8bJ=r1ZL?zwOtbv9OONjvis +Ghbxlx01Z86hO-{YusdUFdkl*l-FL5n#ko4O?)j0RFM=6Hg*iJl1~mj=aE;Bw7)bHMf>;>hz{jBr*Rg +QqT-Pm(bxSs|ZX=_bJ2yr&gw^UDAvvA0qbaSuNW%q~ABwc}tjF}22937z1X9$1eofLA&GQw)^QDFP0Y +geiB4bvK{@5@U3)*8rdo1XPoi6gL3(~P5&=TFP6YG|*2R$J~j}OmZMl$x&$W}Z*MjMqy-6+Q9CNs8Bh +A)8m4nMo#LnjtCvXi4dy7!M}?C|K;^g<(pS!8l|7OCsTI$?gKh5OqW^h4J&w(?^EbrAt9LKn?+#t3H2 +k7mZ1Sa+gqjm}=pJsV>iuBz?k(DjNCWj+&Sj&kZXy|vt<4X78$j{*5HOmC&<>j{i?!F=L=Nl%aAp{#f +QUe-H#59_UanRTv>aD>ZpZVZ-r3<+Q%y8C&2-y5T6F)qCMAuI;@j~N+V8-1mluZ&YCF}57<^BNzhoF= +yB|2+JDm?X;@FuHpf>L2Q0awO|My=!xHV{03sF!xv)>zl#YQLP;P%0Vl;f=tF7c)ylms$hN+ZxVz`QogFAi@vesyJJOk>xE=vs}g^)}3FZeVQKiT3lke=1`a@MfP7u*a})7 +MDMb#m&rSamiCzoGz1z5)@@XO4NHKhO$1c=UAWoXIY=*XILNIHWnqz$Pw)853&UhLVP@+^w!R1>|MN0 +Nl%ZydKQ%&#iE?8?UV4N{6t$IT*^(1ZJO7LD_ZtLn*WRij1}Uok^Z_aL97ePugksR*}Awe^eIuuEBY4 +HW3c&2&ebxr+7Dbzve7a8dmQ9@JY|+rn}*JcnIaC%Iek^hgS4eUl$&eR +W&d<-MIKmxds%uAqO-m;LK>&@bx>)wR#pqR*>9A0u%-1^Z;!ztU*!hW-m}pxewy^kWgM+r8-Ds9nztL +%R;;?OOEXz@HB|(^qD-(b1h)G}4S7d3ioUsu@eb`{z&m(?GwCxZM!9+jOMSJA(BF&fakE4foz~?>(|d +WA}!bTAn`gV*qZRKCg3nUgrcYpaK1EkC`E$r4zM}TG3bI1+G|xjUD;pebiN((2h2>_EEa{FczQOgT;T +{vpKf$s)la0T^!LlQQ5rSPuJ?b7>hI#ZB?9m5l-W%Q++7MD3>UPYb^K*9y&xF%tsx(sogqQAMoRKIsVgFAgzgXu$g86aT)uGs0rtgY+=pY4mT8k%t*e#_N#bpQX4*7~81D@1RY6f-r; +M^lMX8-%%$pCu#1|7}X$h9+rJs+i`|>)XtiDI|~kA!O1#|vlvH#E9U9Wj>w#dY+b01h04$- +17&qjWuWNjh!*;0Q&Wz7ediE1LDqk3wDT%=)&@O|yGk8_5Q_F0w)S-?Kr<7uX=(x2)Ay;Mf=<#|Mm|J +NmS4J6q{2Z!=>#{aW4D!ENi;ti$I&=hg-M&$)F0|F51~@2m4a9$urHYjQeNniiBvUH~%%V}-vm$7{uv)k#!Qe8_;A3P_w&^4*VIis+6QITC +@T7r^`{Abid?%;o`oOG`+g-(bnoc78pK% +4@oPNy$>4$r%oN-W+Dp&2TyKpMm^d$3vi~7xH3eGpt#2OxYPcdY@Jf3GDEHjZSnB8%qj{U7+Wk0INOM +L1oU^o7`-oEfnSu9B`sUXD)Y8%nfbol!@IU!sI$#ZU-@Z4tpa=+c#@1rxQW5iWl?b^DSk0b_bOS@aW(_KZg3z1}Q(X8TSg~j=(`{b5YQgW-?G09z=M;I){F52*kC7< ++Mhs*7xTIjNux!6E*6HzT?>}zHrKBPMfT_}{I8Fn5W{1HBE$pH1OeF_}&27>lo`7*j1aGDo1SKxJV*Z=-0p +EHN-E-G*d%9YW6b1WpHCoB+0h=ofWTu!~(FtmH|xjk(C5Y#RI6BHk}qS~rFTUUW$x^WLEy57y(#9s(` +X7_2q@nI*pdfc;VQ8`*XzXGw9MAPh&;ZDDz-%f5s@#F$EXUSMLiK{JZ%b_c +s#_A}%$hrKV#0JR8XnrK;~uK+Kf_OpY0gxEy<@avCmM#;KM7Za+9?t%go8l6x?<8@|lk9NLxYb0DN{VSw@rNl$}^XNpvgVO%6q~}qY-V@S&yQJ?8>Hm)OC%wfHemwK%d)spOvFBeM{vVD1@5c +X+#{d8IAysDn_Uwm+oW{Qj{(GOO4j-KsJ#zAqp +6t{k$|LhS#=q)eZkmP(&$Q#eIBsMMj^A>8SSDePgmWd#me4 +9;nuIA5CP_F%LZgJS5=Kd=XWF`1(y5B^_n3tB67G;t!@pJ9H%quqLWhJo5?Uopk}zJvUJ~jhY`i4Xlk +mT5-W5Oo@_mE&Si^ho^#19hg8}+ih!(_dX=`~M~?Y7g8r~iND`6+pnfHqH{e0&HbzXBvbq_$qQ{ +7TgT|D{LUD;h3et^67!te^3(fve?nRN_52%e^F1%@75f|`*K8%@RehBazyyY-=>&uv}uP|o=7D#hB;2vq-3wRFiI+$AkM;Ng#kI}JYz)z +%^?jI=akMRp(o&-G7U&K8M7(D>vKpfHnoHanW&jma$%@+Z?3}kFC(KC>~WeWNUE*vCyRStOT5R9`3Qv +|pjZ%{Yn3-AQqD40(I#wB3PfVmgo9=u5~?*;rA?-mLJm^oC?lLZ()Or#Y7xEmFxu?NBf_DaN=T^X*Fy+bbrDO8}-^TkW+>Zg?H%idI3Gmm+sHbq>3>Y|C+o(un7x43DFP?KqA4Og!QW@0ucCAT``LthJm4Z}UJU5G0eL|f7og_`fqw(w-Wvo?f +)}Nk;K-@MTnnhnMnBLUyaKG5&R7=A8v);(F7O-$yk>?l4+Y#eL&U8IoH40vI)4;7_}mv7NsV_4Xyet_x&e0a%S!kG8M@FgFMDHJI~rNIqV)ku1P +X3mMyhdP4B&g`%E33)nqR;Gr`sqw_>sDS*GiyBTRU0QSkpToHJTfPb;0ox)rT_@@GdhxtjsON(UxxtO +s5C5*Y?PWO>ca3Ecn(*O$`0{>#bFC8L$GvMx0{@|m9N@aOA}&E!1^9z7<$zl&K`zV$$5qMt3E2Bi##X@H2srDPf^TyHKlr66( +?-B8>qJ=-Tu_a6iZD5Vzo`~!Z3cX|THt&i@LOpnxYr}_5FEcj;7J2?)QGlBaKhc9-%A4=vysLXlnda{ +dqkg1@FTnt$h!hqa4*^*%!>iN(tH~5w)=$H1$gm3!7GA~)4gmk)BSAOTaY%)1p7aLdI@tp;OqxPJ*fo +T`+%Uo5wP3Cn9Cy!LEFQ^-2oW;2*yRY6Er@GI4~1@>`}p!t$@oO6Xr6&9goR=3~=pM +>c3-Ie-qe +?B0`Q!>AXI!W~baO~^oFJLwUR=+O#hYf&lO7l^`HE)ReQwccy5c+PIlK>w*BybYUXaJpXcLAX?}4SOMeS744`O;3LxfDB!sFP=Ba>0fxN~dSH$KOnqO_FbH_3EmZOcL1s%VeFhjb_Ck!Cu}`DbY+xL2D0^ZetFkZBI&-v=>0E$__ux3zNmMz~IVPV);F!o;2mE2nkW4nT^BW +>rr93LqCZLAODR77SPA^zAT7*A|bCOFmlLaTj|?SGv4|x>+16%D42VjqCwU-@7_@GvMmMMaKkAqxe>AN{evtm*ot*b`_W`wvwkqq7bkLWm8-F8#$n{%%By2*B+vuOE7}|C0xKSbE` +p+B8mWL3IAj8uY*MhnWXkE*>hc<>3#h>JPJawOr)h6dwF-+R~zOZ_a;0p$KmZ&-Ioc6W$y@r%iY>{W| +#wZ+5Y7?drzB@(HK{ef{1*yt;BGI+_k%oebw6Z$by}YP@PW)8P%o8-mw>x35a|JWAH}pQ`7{$;r%Sv# +}X7X0Y3Dzx}d0zH#G5_NPDni9P%5v%HSK{r21J)TvXxdhVd(0hnVswrvlglDNZhhx&ZMF1C8tm%9pXE +n%xsL5VAS?OLfD3NTyltwgKDR(!RXupuyjcs_ +YV{Aho|{GZcHTw!SF7robLX}(UW@O*ysd9vH7ca9$^zxfe&p4{gvi$*_(VKP<9yP0%p^Pm2M%Nj2?;D +IDT$3AKc1OPCYF(r!Fe}r+B7zM_H1_JjW@EJZ@!tW%Adp*En38Gx#bqNWXTfdbUJzev2x`~_ON>b`}6 +JN*)ywBS;Zm?+i+_-+f-s=_dC#x7g4j(?ujvhVAjvqhHKKS4R +_T{N#?9H!L_VLFb^Lo+L)Wp91@^kjdd6hLcH?wo+&hffJPe3BZ2dt+_hE$LBOc?4-I2wCrG+?9Jg^gE +7uzBhqXc{J$c8E#e*ReL=NNd%*7(0Y@O7k8x!Xwd4Jv +M@=A53HF$=jIv`8`Z+eu}AQ{o;2+{Qiiag!tDZz76q#tGN*Imm~gq#D4(s|AzQ=h<^m}Px-~iy9?tk8NZLXtrb6A=Lb4mci8Mo0vMn +!PIGYGWE7COugr6rao2A)WaY7#Wy1U7{t#){Dp{LhWK|O{-cQh4C23x`1=tbY2Ncb;-5nNW?%fFz%T_ +E3W4F5!0;F_>;;C8fuT8CWnYg_*|*bFcJ?-vox4Y6=buv9_lH$q{5ZrPhWHZ@e>&plA^uXtUx)a=Mf} +GR|5?P}jrfNU|9!;w`o-5v4#XgS9OCyw{6UC66!EV|{JDsK8{%(3{KpZ07vdlHi+}mEKs^3V>FEo7`xysJrue|0 +nVB&mb3yN}J!0XH07GPeK?@Lnf{7xhXD*2A+O>!9=QPImH-g9vAN~a~-MV(2GM)!W-~sv>DSo<{d`;x +vt!wWolC-RACn!`&AJU5xue~1@gD?2l#tl7GMFff&9}gwv5b7o5j}mvH< +WOd=1Ax(PqxH*vz&`eR{^o0OWu5kYQO&;7{jCXk1$`jsi&jar`4vZD6s@l4;|a;3;VQ2mK4oBhrY3Oy +KA_X;Rm&T@k?NzhF$K1!;*EBya=#`%Id|N$BPCPd5Y`QaUGDGR-z{c~W1ViQbcB^_Xy-$uu(15S%n&f +o*{;!y>8lX>83%Po9{b7^DlkL3$9cGR!8Q|AMiJQK6l5x@apXBob|z6Ht*_{Y}@7P8t;&sPB>i&-96? +%gM><>8<_?7EClvP3;^KJO;+}1%y4r+?xJ^bP6&xH8LP1jr`Lmpt@$VR)69TDp*>0bmyrH(rpt`QP&v +r$1fghRPKA?6HafWQ9rui5?g-_IU+-~smV!w<7ZAAOY16`pzK89pC;;e{9YT;Z+SC)oX%Z*0R{Vej6(? +2R|x;B$kMCq7~)PMlyTPo896ua})ZeVTp!)t7v3@ZERcu^)c;f!%XXWlzC=_5j;r#-2T6d-l7gZ&c^beNfMO^dB +;C;NXFY(NTu0BVq5^Z@}Qe2pb*MH!&eGf%WQt&5*?2VTsWQ&^a=)Pp^Ihha`rF4e28tjK(3?BJw69$8Rq<>99LVQ9(zXYDYUU=wCWxsyh%2pc~8%LXPf%5HWn^fl)hQiaq +{=Q;=h-Ce9co5@{_On0Z(L@kB`Mtq1)&Gv?pV=fPdg;i2Oy9nJiK+CG%D+LOp`qwm_*Imo&Y!LTKu^K +N1~iWUtDZoKH{xf8C%)3~NY&r?```b54#u4qzx?vcPrvx$i_b9joH%pl%qhT+zWw&wFR?B?`TqOwKed +1VeveM4OBgq9T%ycVti(ei6vT&rgnv}lG%$A=G-%KOK;l*BpBXoH-n@Ae#^8ZD?wxnuxf|S +v#QreZu*-+udT+MrTD`sgDS>u;6(kp~sy><5aXG$F4aA31X5!MeJ-)e|R99K}RAk;q7QCPX@j7An^;` +I1=^VIfhG-V}Dpk|m>BT3YBb#?V +kBS(%T-o={D<{^alAEp1BZ@y76m$_%afB~by!@EBJ{ByOow${hzLx&Ej@4ovkrxWGFX(w}IW25@sd+% +{O?t9==E?l^ve*N{=-@NtKTRT7bsWhCV;1ub=0A)#2MOhyF8X&WO4pBma?+kvAg8Oz1yw;DB +u1x>c0tqA|14VfG(>?BBoNOlaS?Z=cbXs;VmU7!23|{ASTL~c&o8?i`qkFgOz5}M^1{w5(G&Cl +c^Pn6^1+~dxC9HdAV<& +`3J3enp2H*L2KmSCYR+Z|dO+#F_tOA|?jMLmE3I7=Lr0aH^r`^;$p=MRZ*%U)Y$W~aGsN0|V+r6=}2c^66JwJpYCpZs +@3dC`8Y&EunBA>vhQ&`_KFM1dEW<6;dFgZ@|K;lGJIctqqrFnsLjv&u}A)#v>Iea0r;xFev?ZMOw5FM%xHsw@#wcA104+gz7XlFH1+z +}rO#k+^tl~2Np0#4YLot3F|^teu&p|#g`z(^JiJE!)yL!KFX0FJi$AcuKp%K+F+jiCJ=wKzgshtsC95 +ZPlM=Cj{uvJRvglJH=2fGT`fgK4X*me0ouz!C>_n3|619No}^8% +lsTnKYE6L(KxGSg2B#U9HDf?Vqt8a+F905?jpX&y2{!d#gN@iPM2n`PpW_Y& +Y*OTbfPc0&=_bW+{nn6n$Gnrc8dkukG&_a!EWNK@NJ +A8(<9|&#jr8Ai&RYRDrJfxSf8I&n>0T)P720$ms!a@WX7l-GIc~xnUgh04u4c>Ft}rkc20~@7yWAQjr +=P;h0qOM9H9xi(Ff?ZJi*4h<750U7?JK2dhhxKp-GQw*vLFDVAUqtDo+ +;;d*{o)ImJ(qm*nTCB`XiIX{s;R(esT`^2i42<9y<1Yt8+aKsxSupaia-9#BC!Tmh%F4v-Vhr`qeR +VGX#`xd2JeQ6?!gKY%^B;Wh!9HneX>UR+`iKtX=H?mCdNRYpK|m$Xw)13K +tH_i)vFhLkhN>qn%Ik2X7=palAWDhgP}eg_3?y(P1=y#2z^!zA?!?DtL>DVZn{Z^3>hM; +R;?2Ja%N_xOqei13JMC0UVr}i=f>_33x&c0-S`G<6|oTUDER;beSUX!mYn}p^9^ryjXv8LW3i*p^Hdi +aqJP`AZP#h6^Jhzc+qP{xjT|{LZN!KX->Drnd?+a?kp~`lK>GLZFHb%7lsxy`bFyH;0z(h^J@kSBUx1 +&mILKkZfIUSH@rA6hXHHLfzZCk<$eSy(FUAj_n)i3yxN +&2d>agg0l9Q7osuRNVd+)v1#0Y!$?ltlN?a&I3tXx@sfDhRt&mpdZ7w7{zZS-0B;MV80LHhjm<`u+&O +B*9RojZ44uz2xeQwL#fN0%ipFHhp*2^pz^!X^@l}^7D;}7{!jDg&zI@br=K1)Xpp3&q?mozywb=L7|;uFLK`@ +Ou~37+4i^m^-`~q|i7%;$0blPIL<(6Ay;>3 +xD5BLmQ+p##H7y50@m)w9O`hbq055fA5&vxe?tf00Z=Q@7 +`S!5)#bo@Bj>Ug2Cp!DH}VciOOF!(4KRE1@6RWFkw{n|Teos5xh4W +f}eL(W8gN#>Ps!cI^xwc%O5EafFgBs~h%+9AOWTE9^16v-J(7iFR9K`xl0O#a+;;Q>Sp4~>1SPc{A2f(Nxld@%3IOcg1d^1J}AFM<;}poShZF^LG?f7QoAo}+IZp#^@Uvnr=1mPk!aHMUiC-S{_b4f1W}5I +sOI;R$jA53tGZc!V1+Qm>f*l%o*`figaAXE6-5H)>6KfJLq1brRk9$8|~ +(V<1$%zyd&UW;2ddY#si{jf1`2v}uzpS+c~)v(;fHxNU8oxQXY;jO`z&%`9!&wCO)Wdky_=zvzx(+_6o4JYg +0U6`AwF#pl5Wy~q}}6D*c?jZar!p}b#0KeVWR8TnWLop1B6`morVr|sXt8(xDCwkHSAutoF|=s|%6+I +5X9u`~73@2>yYT&g~v5Z@F3@SMIJ6WQYU`s=S7yUQM+ugE*}qX#OFE3YE$hJJVbQ|&}e{Ra&APU08rA +98>{!gsRAymf3E#iG!w_u;ah^(s|UC +G>uS(H)j3Mw*u*(Db&k!Q<8{ulm2-@7j#HhZ1ddHO*8bj3nCA)x_xCh+W;0Jcu_E<8o%?m33Cb6FPDd +rU9$434t(F@5MySv4la!S7pvL<>)#h^>Hn*J-bN{=?C8u2b^Rpt^M@4!a3iQ~h1=CZw{WX!n?}!}w(a +=&K4PgCKvu4fi)ZA{o>hxLcnZ}%_)!u%qcIoeGmp;+>yhLN$F&YE&9fsRj%H76&O_Yf9`wrweG};S(JR|BmE)zj8S_0u(nLL!l!8dny7JZy!$>3_)iQBE%=|Ui&ISvjCwFNdAmOIFU +JCXPx@^}9;*VqHhMhBBRwj5o%9I@zGY6`XV=G%Yrda0Wy+K>?tZt8XE_pE`*M4jS|asa>WJ?3>AliF9 +uOptu}+VMULQRs(f)TcA+ +Yo3(2c=6(RHyx~voO5K*Z=Xnu9!4wQrgt1Q^&Y_uh2l +mnIJn%;%;j8ybu}R$lCV2d^L83l8o9!~fkgV@$t`UJ*4-YU5 +TOsf*KJp*LZAT+aGaM%-=Iy2mAt-QKRve`2!Pvu7tRTed77T_oQpJ_k3num>F9_a>XZA^j@qs_UHE_6 +n!JfKJdKp;wrf)U##}7;YO)@768<=+cl +KmU9@y&>Xp=&*UUy>AdY*bD3t?=k4#`X0Ne6QShMC2Jw=KQZ>?$&=G&&YYRbKFpmv*VsMmF1`=@k1Vh +s$RcaIdrsdU{XmW%J)}AjB#$X^HNCR>*2kw%=b)y`9+O|GF4ol2gL`3?H}GQb{C;xss}JPF-ws`r#|a +nZacS;AmJjLw_4?P?_2c8?zl@2AF?CmZ)5*!n^5m0Gn*0u$tSzv%68^9^KUIGs?-Y-fmuJM8djYIGmQ +1=^)<2sr-+lF&NFDJ{baZrw*x1-f;KNHo&eRx*FLsmjH<6`G$P_XNJO(a>mRYy4b;*pB_CmWvEhOQ)}aez^Mx@Bq8OdC< +aMV7IZE(7AKx&bgk(^(c(~7ZemE78e)C+ngIdL&K<1qvY0GZwdOB#OIJ3YcIGjasB%B#h +yT}(3oNDANFU)j2UCN9yNJxoZ;mql}CUV +;i_v)z%f^7kdqEZ1TZ_2UlO_+Gc&$QCnl|e<(U^4E*AYFUs=e%T28q+eppH_7tyhZL>b>SpSPGf!D_1 +=$`FMLIW~JkAwQt=FOY!eS%lIb`Ac<)IhN_*gp7NQBi^X9oM~>?FrORu5|ESlNMJv(XWQ=Tb<*4tGt* +aO=^Ajmf6sEcHQ6ItvSyVn8Cllav9&-4Xcw*^@pwMdQauC$BGpzHk6cu3Jp^?G|36&39$FE2Ozv_1?zt4<$spHDw+_wL=)SdLJ!G}kyoGQApJiL+y +@n-@%7T9=2DyO`Fs|cCWf=|jMXV@*^qAoITP{e`x@5V@kXuq*nz}gxNA|Gw$SJ&h=%I(qo?@rr<> +6OLWc~De%>AFsbMBQlUn%AMjrRN1NNz3dOo|Tc-C3E=bq}0UBwyDX(Gsb0(8#$rv@NubK5;IfVW#1MamYSHBJTfWM{_n(Znvju|Y5vP&Bd^vWaGsu-nKV2rBYDCk=efR;ku*L_S4kStFC#fSIVEXSQfAGY?zivC(Np=Cl6 +{l1lTyM`_}eW!F|&7C_PDW08R21B$#KK^*Mi-`M<%9ZCWS{wwXfski;K6fd-bUHwP=lMUjtg7N42;68 +Qm|gUtG_gz3;y#A;Ed@`}3>!od3H`QTs?qb;-$+vn4IOExoh6^So=ywv_EFt17E5J6m>bdCT%P<&ovR +$`i^*m*hiPY{IFxCUL&k1qNu2JO=(5xmeO6N`${WIt4fcQR+omAMd;bFdVW8 +>!ce_Nx?UwuuQN}tRHWCc(5vmz>s9I%kLWc|a#i28z81cgzA#@KUxY8x7whZg>*q`G4fT!orTcPxdA> +!yBHtQcg>Q>*mv5i1(pTj>;;Z(Z^quv2{MY(h_*?qJ{B8UZ{z!kUzn8zCKfyoLKiZ$}&++H^XZh#(7x +|0)Yy1`dE&g5pef~;+mH&vp+OI%jo0$Jcmr#^bw5VuHQB_gP;)vqN;@IL|#r=vCiiehrE~zT9JLd6T> +t)x%yluRZ-dJxhZ$EE>cc^!?H(mE}k+-hs<@fRX`2QdO2T)4`1QY-O00;n+tx-|r6S^E|CjbDrpa1|I +0001RX>c!Jc4cm4Z*nhWX>)XJX<{#TXk}$=E^vA6efx9UMw0OF`YVuVT>xzgeylgUr&{Gc*_IQ1=Z8v +?liiiIFh~w1L?nO$K+*Kw{qNV0c>)8Hl9Ro=xn4a^4uWS-p8kFh{`q6@Qq7L%YUg63KTC#&YV$b++D+APyb1h +0!lK1rJleuEF93Q}knsxXbSjtRS7W{d4sUdgb3aozdU+(b`&?Cn;^|6!OQpW&QFhDd^mr9dWJtjx +t(cM%!4GEE}BIpk|fCHWl=Q%KZCA_WR^9eN@w-Xj(jmnYw_K4^$p96YxNCq6HPW3`g>M4izb`ZG5*U< +iFumMR4a2)*Xfl=@J%w!X1eBeT3^qyk@^aM)W=`yB3GYh#nly1TYW7wB4tr$pUbqlRzFl4a(zv>sBbG +>rxEkgM&V1wUm5LKp`0YQqN-sCl4KaXf(`jksxVE}9g}tFqBs`NJ@Hdvt#I>hSz9d42rm=-uJlqh +av#k4HyulJ1M0!2i5C`r+{9U%M3svUQ}VZW+7xzJw_Q6LN^N6R6cBI26O+<=IcCB87QNAAhcJYQe{Jd +@a09l`_(y(@Bo=Z%WIJbxeyaEfps&**_<{_6~Rm +x24T4>S9%g<`LqZJ`&hfI(yMv8ALIql4c-$;j^CanC#OfRkN*NKg=HD;h#5cxNO3t!nkF1(IfIYvmy5SVqIXr#&BfNKc8}&sIFdD>_f +G=Yag?k~4coJH_#PSz_^x}9eJQz&b;V0GGN5Pn#axPgcpRqZc232rZZzZk(2-$R|-a0d%$k_w(`jkIBhj-yXhs^Zw; +}nDcF60*W8r9lw14>L@uo{@YPFz={8S9q5Gxx)QKq=0O<7zZ6*>QNe*V1`b^%wP*IPJ3ESzCZ|VGp%S +!j0RN1tFbsF1e?9qgKL7sW?|YYz20MHB^)~~}lRII`CG_=k7zPmf+6o*f1Mf!|>cym)^GY=4K4hOcMG@8A7;$Zyl~*^fsr4 +&VLIX>?SDAM1y^-(39tWA!n=d-deY#@{2V6McK}_iryBefu9D&mIj1AL~a^{BZC)3&P1? +&wqUX4yupB-EVj`g{_xAJ8zdEvHhZsYf%zAeH`+)_B6{U$-I~>W(xP|Vm4#?Avy;rLRj5^##DhdZC0XQ%o^EILjpaOI_0pHH +vi(62Gv=S_Mo~3KiFcqN-u_{#D%JPxdvss0o?!B6TV6_kdu!|&Las9ICY+mW&-snq`etc8fz8|bie#4 +!^DY+7?Ty0%EplyGBe1!FFqh~k{|$4fmYQTBz)8kt6;=cU4pj70>aZln;tWvHksi2;HifQs?9PT-=I! +~jZ%e+CzpMro?I8j4U|(H#PF1#alyD8<=bz+rN1w!0FZXH$Yv7~OEOkY0+PI`Dk?Lg4x*Ezli>NYKMr +CIfM%6F5!BGRgSzo8m{_tIB=BLBbNM#a8JX%38GTBvr@EX)r_zb|a>59Kub652OpJ +M=(fl>goC(XGN`B(&t8f1RZt)p9bHyP+gVlNPy4cIUaGW==1xGom6Ny5lL3I5=gAv)fY!U0>S^Qv6&? +-wMoUb-(qh#(0qhrWmHch&fsUZ(k~{SK5QT3H9ULxEH@UQQxMW>OsvvYMENJKG3`1Q1RZ^Z6?5zBfY~ +K8c@t3M9G_$*I-%HEdyyOw5%%;(6MPuOn5tvux(wm4aFT0Gh{FRRNn#Hik794m!o`Zj#~<=5vdZ>e&r +W1;T53~8U$t4Ppb6TeXAqVU|^w#cqLWRwK@Svh?VI6jo7=HY^Ym11Kj%xfH$u +~WtX%CTibO?iAb>{ZYz^|TfifeH>(6KLLy|?wC%e+hi&bFz*432B0m0N?V{6A$lvg9x(Y+D|-+4&2-s +mZ-EH8Y>KH(cbPKW4?E4p5l@{+NS~=mm!Qr%gL|;@EtD5A6_6*)@F7zhNk<0|i(oHDh6D$aHp#z;9Lo +rfaJN{Ah~o29iYudjXmuf+R?5pwlMSXXctc^}4o_j*k7H-a~WFp85~Sf?W0V~gRkUd`sU6VEQEuviooYC8>2 +!v0dy(&;^%g&Ou#y6Q%<7YvfOIym7&^4!4})xo{D6Ul~bRlM|*16v(1uofO8}Oo2$iW&)XwwEYwyYb> +U@&HXtm^9uE|oDzasRu7R!|Yu3_|ke2?)D9T|K4se}(nYsjJQCOSs<>EkNmHQ_8GId$u@)ioaWiCPzz +W1a#+h&R#odOAIN#M<*1avR5yos^_O$3@N%iET2v#SI|UH8vYdhgDY-C#5ph-gHU`k`#k~6DzU}_(7DQ(zaCx6h-@*Wm) +v6bhZ%E;-I8ZT9B{{iE+AsBE~gWZzGt7^Q^APfjk4vT%cwx%@w#e@@T^J7S+IDvkM +>J|+wxm|ihHJq|a+>uotc}9DU4m7UhREW{S8;!z`RZC +TzP1_~%utOOD^XK3RnhoI7_fW^P^9uBd2ULFx%AlD5XXUus2au0~XP4*!Lj0h`NM{TV +}xh3?=v7-aUcXaNM~0?1*~?ij6$CFG;d`rncD#azY=v5d5Uq|RJ^EWbvhNv=)314$4x5Y5`(zHu$~g8 +=|Ko^C^{$#(|Vj`U5!}dGwkr|C5F``71XbkvyQ*i>Vu5NL4>R!l!egm2n34c*8#B7d3qx#(yUw!ahI7 +d(Aa6ltwilXx-BEMr&VG`RN7Jo}CGu|BLU-|Sy_o+L%Lx +7-_-R;6BH~^?1lo*9PC;E4{rHGT?WN*{;i4!Xadk^@!jHN{|4et+itDpXfnX(e)4`@C3?cnUctYw{BN +h}qTuyR~X^iqxYd_{$&C=e1469KR1u+SCtH-C#zStrTl*C`6vh65yX8`ty8ygaYfgBVy%^ZozkTpC#d +innJm9%N5uR%l<`_&q^`QrWx>V*#O#Z7d1Fs0AbP_IoFVfnW?dSi +knh_u=0MywQHh-bEj=B+dR6qT^m#wm;xoF@=rv +IzwY}t%Ep#N9@S}1+y9{{styA6o^7X5~lw(sqHm>tj8c2HFZ1e4?}XGmIU3y*f2gm%NMSxO&aW(*hJ| +TTw{?3s<1)cZ!E8hqQNbzs)vRnLG5KayXmW^>Pll@)(M+&P{lo228+8p6E{802WzZt_MWLEvXVJ*f2} +pUp_))bq&&!z<(kIVZ;pMn^_5A#?vXuuW5v*uE7IAP`*DxjNh}cL3Q<&+XR>mSmbWy^@Z5)=o$cx3*wOPMR!UL<6)}LIZvU +j|Y*16hkBc%-ig^%Bzogcn=b99Pd&VD>RJ))nbCBIAf{w>YSIPbQ$m73X^;6u$3h_G +dipc-hhv}xDkihUozF|b*igUfz21?VW(cE}8Gl~f!-8urhUMXKm9F&qZfeWVa*w@qu+^T60zEIznvre +!?F*yD%}G}v!}-Pl_s*)Ym3Gs%NT2f@=P@U#p|WG9Vs*Iv<9T?pSvM@yBYZ#rpwgQVgcB?vyy5_?{pCPi1Ey}Me6RM44_64LLI@hX-ew9Pg +M68j0tIx7!*+*$yR5@cPLa8jl`M8qSA^^}jbzmD|UP;>xS!zg@O|^}SrZucQioC{65@DC>SSANxXO?d +Xd;&W-Ix9QXqHW*+5*-;SN8;)S1 +-hk5W+=C(wc-Trwyo+SLyE+B1l&+>*D7$`G-bX2`0*7KT#WEY)Z=nhrjLoUKF&bG5cT6{|ML9KRs +QtHt*exa*$gWDiw8j!c*!%s7U~|OVDVTkyjc{=Q{ej +Dus)P7zM<=@a~c4gAw5*nZ7wQ00fHV3-M*24jGZCsKw|DO+aH8oU|Pk#3#>&C)moC>jfy$s`-6jj~WO +a$3wlQzeLcwMq|wQ%)Dtp!7Lt+C*sT4#|i~Y%0URP2e!&N|b3nUa4ZTmKE1}j%|%$nT_y-1WTYa?zGP +#IRH)CW!TS#zY67Kv*1`X1SXcC3P)57&Z`ArhTjPTX$pNTO`KAKg??IQD|sY-sJkw$M!>Jwc)*@ZdTs +VFE#TR}P_RYD+lbs5=h3PmNtGNOVv=MW=R;W-Y`kS%4NukMp+<%TltHsJ_G6FSjOY%-2pxxs5*$81#PA1%Q_q1Gy=eg^Kr$AQc!jeXG<7PPkRDQ%Ugu*x*EwHVt4K6G*1^fK5gl-=eZG ++zTn4gSq7pt>LCFA9(Ah?9jpdB?Ur>nTk3E~aW?E-@;EqM4~urRZ4> +L%sVkjsmo9F`_ir7grmotv#G1&xVYMpgfwQGVHO|-h!Dvbqc<%PQ6?EuBe=&SeC4-`ErOeZzi}I4oy4 +|HoUQR!Em!t6#v`;6|LiN_MmT;>M@8la>Qr-dv;6TtJEV)>k{jExk4VNf*Hwa=e~*L26iC-cGq1|#!O(SiJK@l1XBM}keF2!v)L#e-%u#B%q3&P7>%JKN-cP}8nlWgVZBic +9t7`IvA~1SxwwMu>Q;aZ`=+=Rv(+~)umU)tv=ClgQbn9f(hh-eQDJJ)1WPd0iF#1tv5MuBju2bR!e?1 +jH@uQmvZZ)_Gr`X-CkxO)G(iJfus}Ps&!E4Hbdv5=OiYl>(nUUo5hW2+o&jccsZ~!(OK)U(OHN;~JXS +ZbcAQEqlhnnc8Vk97%D#AtG1{_NC(Pd)$B(4^Lb55WT;LS=k-`Of?AB5>0{B$Rf1Xo4Fn_XIP5VezwG +vOQ@jfgP(~|t;E!!WV*aJlexU~<@v=HYr)W$ZTL9Ic$*Qk#Va>oPB*)%vm6C{_^^5WSgJC2$vGUQGuJ +_&a|F4B)rU)UjqNX@gFLU(Bj-09>hJ|WA8hAQj2@pKK2981W;`hhI1?xyhAbYKJ@X=5L4 +bh9Qy6M@!^I~xXWWSpn>vNntr^>95}eZwVzeBFTIBL__nS>KpxWrhNp)DYY0pCYxN4)t!_=jp=74f0a +p_t`#%HiiedeQuac_^e%FS)IsT;UI{-Xqz2px%<@`60+Cc#Q6!f;PDb-J?ghJCQ%rJ-hx&?+;1e& +3q_2Vu#)3*M{(jx)BbW`I+y@3?#87l}jBF)*A?Kt@3b*sU!V|3(sw3eZ*ZEc9LSUVNg5JTCo9Wt1y*U +QMr|EOlzngeO~WlB;qLxCn?xjPz7hpHDF$6Wi5HdfH08OR_Y}=05# +P6Y*EwP;{0gvru-WY*I&=`@j+e7XHk_pSpTtRs{AW&1qzuSu>+q88nNt-v)r(8A$#=4NjK=p#t#vxwb +2~^jn>gZb_ta01VpFtqCuY&rh5}QD^I<}9!KfaCU%uh9ZP=oQ@KwVWxoMRqo_LfXohIF_9@r+^v}oLK +nC3iM;BE4yZZ+&+1j$azP6B8WtM6{|DjJ+MG5 +NQ0TUO2;dWGeJ_quT709&U+>hJ{$KvhjWOs-(XEk)LGPb$wI^v4DQrmauiTOl?B+GzBlt7O?W%890ya&7ttT8lGIR*{dy-N1+2gr+@3(1fwY +WW<@%b8B6B6s_Jyf0B9@agH--)bOHdGxJyiQm0hI>V2Pg}bIC0q#jIENn{8ADA8kvPm(R+S;I*J*wwD +6A?;IZPRW3;@{mE-^))DSlLRwa(x65%jMVGJR}ZWPPh`4!ItHl? +ByWZDI{i0@>expL2&$EBp&n`ik!%}Y-r3~S+f|(at9FO6v;Ftp&|*JQ3=qZ)E4ySHtbEyDRqTWekMJ0 +uX?xjm>*N60Bm41fP;oVHDj}3T$%-jXXm?nld4iIBwX=C$&5BVvcDgA7;LefH$(^CzxGPxnK$n1XvpQZyKn-#Vl|?9q#Guz5~kaA5!aIWEc7Jx +FwsQ$#sl^m{pHm_9C5jad7?E*q!`XXrOX9R20|=p800KeG=!-64&r&KzWAlDT7eqF3FyvpsaHCBEgtu=qMLhPc-C=nB0C>>5b~s-U=lM{(^6ezO~% +NtPa1IzQ@ONwQh&nXrGY+eLX}n(KAuHrAiUw|gzqA7djML@&U(O2>^1ZR^(@*J|rT5ws)Xor2se%(Kt +!!^dP!mkn-PUENL?>kk-Eiyr{$yo_|&4eAe{#{NPMOv>=6=(ygpKz{ZwI?%WRwsPXVm6wsP3dk9i)B-N#3$qI?OasWsA4WYs@Ffjt5Lfg|)gv2Q*_zDaI{ZA24)gr{Dh% +@O!Z`W4Hk+XnvknH#}f;iG`~9)%a+#%d3{U*)d#S8eo&o_~fU|ixXOxW$B9ETbFp`J#z9&4Y*WdyxVP +0a#K|o1bmp&(GwpwRK0V1S6fi*97E{4u1mh=`;AocA-sf2VDOhWy@*0p7g2pBAYGnEKgW0_ni0gjmzF +JZv$lTA)uaJh{oP`&SoxE-oF{rf<#lZS(QM6JCYN&^TXzh&&?c~m@mApU47kteODyE*>(S)%!~YXhmV +ci4`sbOif83d`-QfKFtM~deF)f3Ptz`eFk3rq#=*HH^Htu<3W1Hg|{VLaej%n~c^Lz|^_vzC=><4u*m +nYEc;F>Zx#qvx!a3Gm*gc727U|C1h36B`+Qe;e$%+oASk~l6`!8gGfAJ6B=*{tjS-VOK?Q97fJ7b(yv +X+*3HC>WXH+(W9Kp1AKW1t?ERO!-NAjKF^hR}WeSGHYkIwu +?$7VJknb~k$=AK7o?iGf(Rh;$xkH_5QXv}YVEXI2zhGb{H44Bo@c`-rHZp9`A-27!8;SJe6J`fOQ88E +Ra8B$?s+j#zy;svsCuuNAmB~DO{$>V_gh+hSJL>K%WnDp8k3KB2TyR&E?j`6Ls0P}V-`un_=N$1ysw5)_#seR*vPD +rQ{=6mUoUc8G^Djc6;Dx=FrM4~1%L9}qBKgbDhLIn4+NRM*9XQfC-FL>j$h0xn?T9b9zsmXr>d78QPDW-GO;SR%L?ZfKRm{`r_OCy>T4&rhG!Y~_R*R+1RX)+Lt +qNV4@uo&DhW(!D*C^NTALRd$6gEmH%1Y$|<;n*pRXksb38${CH>EENfdoS};BKdl5Xa%30?PqZ4hYUY +PFQB|3~gdg&f2`NyL;0?QcX}PmqW@JQGnTxa&yvk{|ftNg%D%4$+6@0oGg%P7JPc#jk{M!$E$M0Uhr# +yVJH6O^e;ADSPfo?`(xBL3)EUa)qmS?3Lwghp`z@pMBU`dz$Jn(u5oRTf-t2wgmiRN1>S;aY%e*!KYscR=0AKLR7OtL`mHwsEaIk6g=IxZyW6kLBOlG +_nux-g1RjbR#B<4o&D@Cu6uJ`CrDbh9>-UPd#&%*wI_0XdW`X|$>=2q*fH|3R&qLMGRyEFBBd{S{`|> +clL!#1>HGjQuY0FOrsk)|966u(*MX;?b;GR$*XVZA1_s +r8^snr_t-IbHCQ?c>sRkMACEw||x&e*9VihRZ8zVAQMcBg~UT68cPxnyVUq%EgnE+{>$mE_M2DpIng$ +;Xrg2b)B-Rx7VbDUh@fpkTbj?25K@=(Z_;rTYM70jm|Q-nI7!Rn3=J{H#Dx6;&TrUM84-RmjBI@;VtK +sCNL!gq?{a6Wx&x63Z4S(lw&?kFaRkgzs7HyTRdPf+62>2X=4WhTdVC(rmht{qD&H&=UQ;-SwIKUV-v +55th!WX&77;zQ)kTAoU-AJe+!_6FMU<>1-tkswqJbpU^o7>F)1)9X96ho&#RddrW}6`+-8!!`h_{YkE +8@Y7tF6rk8#m?2R%~B+C`FzVjK#SQ?I@L1AnW3{bUfec8+L&xOx(G7IHp;Et7OmJrhRXP(GkA9c=IntG&4=zi24i62DyoBJux^mVP1!#8Q{fLbmOZ +PS6#GOJootvA~4F@3m{r*qi(LHMA*movY0@8$>rtP!Bz0ly#=RbXyeD{1yxW8Wq7ytsGyMn}mn~~ifB +wBB0cK`{WxQZbOcVvsU7I}sXIc>MMyv961JpSJw_^dp{J;=)dI7zTQY*e0bR{xRe>YI!NrB|t`ab4mZ +-w)_GzYMD)vuy8X%*#$Q1CP0Yy10jCA$qqPye;ZR8HUHe_=-iP;{LTnhFk(gM+C2#8Qx2W{tI9Uh7j~ +ZjvOQ75~&rXskmr#{PrX{IXwb)tt}2UFz&&?z3D^Z%pzc35MqzH!HGbSA|J2#&I<$4dZm%ihIVptbJd +b++qqYDYm^aPW{dC_Zvb?oq%vfAPwq_+Nso2|k|sb6yAD!Djm2-%|FB$zzeUd-xIKO5`Xo=(qEYu4@9 +gZneE;_3@cj72o1^6X@P{)#=;}%(D6GudKku*z;|7CDhlIX0R1!s}0@LOaS&#x@?5k8sH#y+nxzKbYEXCaCs$G?ZkS5w(vB3uSt|c>ot~DKRejUTSf>=@F75_-d3wfz`j +)xpF9cRtM{c)#D0shL!ZwzR!VBu+L3>KC4`Ew2?En9~yP>d5ZuZRbqE`I_^ +yQn1DQ?^v7P`|r%=(~8A;uW~08mQ<1QY-O00;n+tx-|0iZ5l(0RRBY0{{Re0001RX>c!Jc4cm4Z*nhW +X>)XJX<{#5Vqs%zaBp&SFKuaaV=i!ceN(}1+b|5h>nn%^g`F)iww{IpIjlhj1Q^nxNl(Kd$TFR1QzS# +8xA^ZT*-`7J*mMz1@;yC1$x~RoTY$8cGKV{8sa|}F88&58SlOm?>To2;S2MW%@bMP*M}%)39j$?#t?7 +?&2w!Y#DnZJcB7k;?@O86VZ+Gj0&IH0#uzJ|;A2;_;`-jI}Ool!-nN045{MA@T9%}1AnM(auRVy?|Ex +bqHW9!z)$nA@OU`(AN0<2Gw?>u9i3#~baC4A4MkVoXTvnTFt>m+7#2uZC)sr$J0Xu`ml{a}od>+TqY6 +#)=9;llfdhT&OaL$K-VYv-&RkQLT%yYr^wwbD2b<+432Iq!GQX9FlM4E8LCdOvC=GYCdxHhXSyNUbw) +A%pi3Ggh7E3Op%HI=AA4BbEJp(rS%^ooUWhf{kVwGPx~(j?`YHD6fnsVPs#QKjUYw%)D3}WLaONucYi +VkyB+$cx7Vh%j2vj$RC}q>hZ~`VGdhs~>$!D|CIUc +Xrgz^act{FzoCwOkcJq+sOod*GPFqYuPPvGVi_IgoZd2y)VJnrFLvA@Vm4 +mb3~)*TjiUg!>v*G7yaYr~K1UIc*}l1*x&;S4hm%kg132=x$*d(XBx~jU~T|KAf@i&jn +s#@pe_L=G0&Ex;TUrtU>PR)yIf2i~Ab!(CrGjsOj>6!U(ZOz+5dtH_0eYI(Cv)Yla*`p;>`~q-o5_)#}9Aby~iJ6+{t7z`Pk+~-X6@RD_1zZF`KFeT=oY*h9+k9>N@ +{~-!^$+8~SaX*LKxb^})2YwM}|*^3zX05n>+BwFSJ^RXJ@5oN3`{ZJVmAR~8q!F|betzt(1F+YGSJ43 +PBaYz5!|vy+p2x3B8fRE>UW4*p}CwI`dp+QH*=pS9OU9%Rb~zv{S6xy#zs^+{VFo}C!@qdBXpC@kZdX +3Le%eUTMKwk+(4{k*dK*1V>lU)FV1k53*Eq0{R7+qEvUwe9}4%yvg1>HvWCLsbqyZR>piYFpm}iUv4Piv@6Kv4HOv6O;z +zM78|eWNzG7{k*Hz?lbPPe%AlbCUaUt{^&Q9LVUifKGFa6PJbb!@WcDPUFBKv3RaTeA}B9E+m#!;%Wm +v~<(_~5Ir?=0k_!^m^rqK#n>Vekd&6*YR~~&Bfxtz&a-Xek{2Bq^=uvNKutaYdKBFH3YVvJa)ph||0u +#z+a(QyHDzc_AM1S(K{FK*Kxw9qj=!~~?4xN*J6)1hTM?nL4FgP;}qd|5_=4J+@4xaDxy`7N}5z=&fABbuOSnPIa>Q+@( +tZDV7H5R~huzmpfoz2$23UVnH)tXgS3fvliL@;qT>w~~0B?JB(L$#LS0Vi*Bu!v}Jo%N=vNDvDIZiLL +s!KiPtyl4mmuk}B|{#3UOA)%W718_Ic^KgjM^|jrYK*y6!Q?KS`vu@hCDQvlIug{-;`_0oQXaDXAA`d +|>fNTv;eO%->)&KyowFY6J;0zxCSi~FQfV_YpJbmVLW7%y0E1a7mhZA0X=AP#p-q>#QEYv5ngwZ$d7h +EE}t@G9hZEyH(a$_k(y}L~b@S +=jRa)_s&9UX0up=`uv5>eh~|ch(;g?`5pU1WT5(pxtm-)YOY8z_yYtjs5eABxh3<+co;M09kORrn!Gd +@`snhGEo@p4Lm(F2S+Xe~wqvIT?W@^UFdHSl0GcaMRg_r!85B1fP3GBwg-z}Q!vO8a>kI>=s%vH6Lkr +scH_%zFZfx5CLH1L=g1|0KXAvCWEE18vU%Y<*>h-HP38+TXF3@Ms;uSrg2i}5No;Q)TMm{5JSd-Cwfi +)|c^V51cotdm5RrbsHQDj@Dw>k>G#>kADqd?M-fMb$|&&)D!n>)nK>o(xAx`rvCPDlHXs^Ojx>~qJ{K +fn3@Wyn%D4ki;+rj(yKFlS%Ag=ZHjE$%#KkwPQXKu@AIa^gSaS7KC|i$~NOMf3K$2M6#Li3bHLR1V*cbC{p +1<(N-}qFe?ULPrbtqUVJ66}CRxc$K!L-l0V9ARq`nn^Y}Xt6_s*7(=tF$JEvn_?racrCP0%2kLF=Hur +A5HtfVvdjn%!=rtfOG7k3Ppw$dV>tBad1y=yyytFMSLL>L;_&Yb&6hE{5|{`?ZXA?IqZtOylKuUV4DkS=NMqmY5YP9E$1ZI^H||!nRQlf0nBz0gA4K +qNN4H>auEnFCYF8oJ+NW)#jK1u{{JysU?v?Po6=T1He +FH08)dcnG*$r5m`lWAXrgi$Y&vtw(cykY*`ig%J9P+1=+Iq;+hlEgB7T*K=mFUA5n=Dz60H56>f2<4Q +~gITva6q2pGtU@#E^)9+bCbab6zW8U%sYL4gNW=XRYcWt6|_#3fhCgh&ec$|=Ws#9HE?V=HhDEEd|H^ +%^D%5z0r4Y<5h}OUVI+{T>MDAx^WLk27%~4Ewr*7*Mz2f2xkG0!VngAIF4^_Xik(`-3L%P<0&LWo3)M +H$XSqi1r#d>##{7jcjxJnec*V;2c55jNNQ7<*S$um$UFdt~5%8fMOL!Baq-8#;_IJ4zqPOSu3gG(Y9< +sCrVH|W;{H{rz)sO{T1lyl{bQOSFB(uQvIOmON-g|r@YB!gS|DKbLK&o;wpwAn@A9NHI=wIT4c5;3=g +Qq(dbw}x1A|airB8OH8PL?E4Fhy{C$oa5n6dia_wz|2)=+-**np-s4m0BU1Kw#B(Np8MS0^TzZC+2^P +(IqvTVC+3!9525|kdt?H;)18cQ>-IJ9(nHL~N8$vm?03{@2hof5mLinW0#LRBT~by#06#MV$n8n;$$P +-s{9VdKzfQuF%*I=T!@(_A7I+5$vkZk8RE@L85Nk(U;6Z+yzyz~*MaSZfk0lTfe+sd(Ved$Ean%Rq=+ +gr95VfXE<|(E%NIxcog7H?~_*I@+Iv9#hgjKmkjyfC5F;GMkN>aPell3XR&>^ +N@si+vtJ6D3HQK+dcYgg6U3=19iz!N0*)#t2i9;}&ZWg*YwJWQs!?E;OI9CUd0%Ju +6i^$JYu>i0;M_PTFD+@gLvqF#L;P`Y=!fz+UXvUvzBiPR)-2frDZUsZ&?_$~pxj?O|`5QA8iYfm5(H5 +Hb_PWf3eZ@ByGW6Gt^zOfkGv5D$UK=1QH13RVPc8>JdcSx-nyd@B +Y`;fvWBUaeJj|L&UJx09k<=_$|5%LxfsrpZfy3T_t{o=1awvc`wWdXQ_f6$W<(iz^Lfuy_W +52P*>N*OV7yK8JZs%#d7T((zg>Ka-S|&+sJG6Vt#0G${fe;CIT3#&epr1;w|=vYOYM7%nmwywO};4u< +ODN51p6WKO2M^oBxbafToP0hsS=*q?%{$uwB99Ci98K~>_!jfn(NSYX`&PrmT*9G{axb)I?79s!Rz=X +87y-*)i(cMgh1k1oV%MZGq?^q!LLoSx&xe}~ef0!dhKaMX7D!bZVnbHI(}G07|)vQe2rxe^Jfa0`Fr3 +^qz(TpBnmnnZAedWm&AkbHw0-IH`Dt!#(m)gKOqYi0vQ9(r>8JWw{524N{x#1D_!P^!S_E_2A(AjN3F +1TMR+Ieq%=xBod@UJXMsdBLZJC|{x*ata#ev6C^Q5>!Wp+8F=2$X~p(u|4ND4l&3UlA}Ni%ym`WXguF +5h(sZ#L~s!|N5W5HXGjM;vquSWs&Sl%J3_`yR}^C*ov$$65z|Ql9FgFo9RW7e8hGE!3<(LqJP9Stow9 +uY`du<|ydu_7SL|6xXBz`QH!#`*a)_~NUpz6frN4`i-p;6@@<@(tPK1UUv|lL$H0PKE$bqdZq6XS}YM +vYS`^KtnmoQH294Z%jEI^VNRZ9yYB@GUYt-Gy!1*A`|=z3UWm&aS~gCM#~ULxXKFoXTenYR_&DD +3`6)Sj6a~E}?)1HX=G~9Tb7-TTOU5MQ-d~4^CO++e>h=?iGbQH)B +M4W-=@ZbjIE)8v9b=d7O~EU5DqA|C*TfgwsrRk9|DU^Nz))8?z@PX6Get~RhwHHrzvx)3tj9dV>I4xC +g5SWMpdzy!}JT#-fhD58)n5(tVo$`GEzW&=$XRVK09Wl4>DmRk7IH02Rs;;~+DcAwG})?RLLLvfkX*%0*(JtRX+nw$KfEb +Jb5RbK{!|<$b8AL!S_Bd|ybrMuU$TdkN*ub+n*WU3~QXHZC}dq>mKvVN3;3n)Au_OTM4X4LFx&)!6eVphop!QFkSL9GDf*!&?X*L<>aBGvfYd`2OidVas(w+!pp!(<@;IEKehuHN?e1FM` +P8$H1*&329_)a)_O`r`6QRY5&0zVm1WBHr-^7S+G^OIjDDbGt3l=f|E1HNSZPUb-5rYLbJdm#-em_Y| +*4x2rTz<@RffgF6JSSeg&=5~JM>>~gZ$F^*R#%(A5@$-}t+{p^96YA?Dyf6^L3_+4(XNx#!WOHY3(PR +-N2c9xuHpV9pz%#^g`oaML?Uz-ivIO`xV50MZWKkIPt$%_+16dfE#4Xr7g&qQ6DxF4rL;y#bC^J%C1^ +yj>Dx%`eo51cK0-I^;j==7;@Ps7youdqjAR8kvR*?ExJ>wPfLNvwQV`USS&Vm{h3$Sd#!tiaOcG`P+IR{WrA2v5}!!s6Ffp@po +^_<*TyXW#Vufz3JOmvme0^E}UYjYm~mMJHXYc@o2@ZTTvcOFC$!5WmkYx6=1Snkr;_xiiLoH8~Cg8bW +3r_h&S)J8ui7ZZ+wJT85{DL*eg&*c9o!W$yymtwwRasy78J1_`YQ0^{ouEBw{w-&8nE5^Hd5VeL;ITQ?we&U~STn?cu3umUwu +9*3zBZ(Im=0K)hmsoJuI%7X%RJ4&dvzi|=2)`qOjBX9A4yPfj)XoI|vtnY(<8dTv4TZn +NUXZN^9uFg(3;bH{svsLts%5igoijV!LUDoUiA!xkuEs4rrY86P?0?QvP|2r_Jcesu)=ed5#qi^M4qp +2^r+h|O5k75l2i^LH=)@cJ(=7q8yD`}6Y;?=f%X(!%x&CPU9m64hYl<{}AmHO_Homvb&$OtI*Y)sM+X +%;r+{co-y3WC;|19D~J>%ssHkdtTDbXJ4gpWd{e0({l$*#2J9$RCHY7Xh`6XB=3D5UI@jQlRuQ^do^# +2Cmd>w+)Pi#3ai>)8}xbcXwokKiU+Jh;6o8<32|3Ff_{-i`l4*Js`I^XRa5t>i=P8ec&O +fCzBs#_IgR%}Yx8>W*XMi+%C`gRFT)km2B=MSy#@HHUcyd;No=cMJgU#j>N}H8<5NW@4Ar66akZq5Tg?Am=s5C*j^S<8=KYOnd?On&l$AQ`AyfidJJw3e>m)= +k~PH$`%$B}(Z!l8S1|F8do_p4d8FnhA@0vfTW5Ez8c3s3Z0z`P98H>dnSfd`sn*M!sC^-EsiWDO%%Z!K*9`8rM9 +lB7Q+>>1{%G{SD)PtO?!~;ebpgEU{(0F7u%FVJWRW?TFcyFS~q5E@-Tm%n_XUZXt54L;A6TNzLASduB +`r@neuZ7G`4Wh44ph}j8q~fT*RM{OJo(r44a~hiDIg(oc3EpA{#_5r@|Q5w~%c52N>U(+@@IVX%G8+M +J0;WH6~|tIvlLDv>WPn2x^-loHRVH8QkfS?o3#Q4mraYBtc@%t(b^M03xIUQy?nF+fDu%iNH+Wy;_N- +GiVo-D_sF*o(wwr@vAH=h<+t~<^-#X4r_v*nWLF;C|q|OG`VY=^a>Kk$1E)HMz>njVKsLhAH~+Z$v|~ +iw`&gQ!4JUa#FfRve$Tib%ehH76Tgbmrdv +96VeSbn4{U_bJniOI9NW)RSq{Qm`2@ixQwu-w2RV_7GH}*m?)^OvNX;OLrD9! +a!dzLQ2Lff8Tt=0L4M~Yv%V#_5-E+4hdgoD{8qDAy+jUG^((4`o~ca?UG2BhQ#l#`id;Xy_o1LvyL#D +buOzPA_z`LvJeqD`S5R1D#AVS!!+dM4{x8p_~Sp6g)Hc$JIX;R-X|dqW5G`l8{l-jIFix3*&3JDNYq{ +mZ$TK8_ETwZ#Xtx4qsHR5+_BNI)R^x9al-)J)D^tM6ma!_;n77S^ovv5hiXBjb1YA;q`5sOOKDv$ +)dy4<$7rU7C?DD>tA{7=g0xTGKMbx|L)2!`b?O*D&An$KZ>M+&q~~IC^~fg+)V1tVMZFB@-dz_sbxNugtgj+m +`Q5tum#ri8UDQ9XjPR8foae?S(Pg~%&5k_VAom^WVW>6OMBB(M1gA3LHBGiwsecPgF^;D=FhI1cDZ=3 +lBP^E#jF}a;1&Qx-Op@jGV6dqId6HP5Q-oSo~%vf4N+q3iiS)J+bxYBE;-f8yr +mFD|1<6G3mb2p;suESHbYBNTU9clP>ii`kKkF_4Y;H(o%!B?IFh*&O=un>LSk{ +1x?GlW^cq`>;}1$)9{bpnMHfeFV~E=W_a|4Z{nl|CB{Zx*Ebk8dMS@Lq=m*pnywybEMWBSuoY_ih5lQ9Ir}=>0h6oc-}*gYG1tYI=!g$leUC+n*b-@aaDYY$+Sq|wWCV +^NoCKb$h;wT43Bh-Nl^}iz_PEYU@ +ttYy72idReLU>~ey77D8AfkxsNrM7#a#q94Y|-9fMQ49Xo|kRr#t_)s_8|~KF)GC2L*j1_Uczv^MeY$ +c~iR=6LIYz&W0(!8ekZ21_$kclq9|f|xpSSb6eQ0)yPS=+RGs393Z|&&4)wZe8&@K9=bNB}*vryA2a$PqS+TGX@6aWAK2mq6Z*p`mb9r-PZ*FF3XD(xAXYEzXj+;Obyw6vRlxt$7+;hq)QVx+e +IawAOpn=xnX*4}-j4bEd(>&H79&6ZRl#Au*?&_K<7x-8b<0UK|qBkOBFW8?s)Y?cTC8zOR7H|gZ(Pj-qlYBV+VjP;N0RE^gdF@ +G7MW8E&q`yf~Yqa|4fT?mZgayUzMfr444XI4&FFF7ptHgNIA1ihN=R&Ruj7Bv%DfY%gUlV>|{KayWSB +AR-wQ9Hu8T%6)+ONSiL6MJ9)!g7<%^7Y=_9e1b#;%cJxHTL>S^J#qwXDMza4f?i=j8lNm4)#GpgC;;i +LaX}0!9y?N)tbu47erS#WumCjf*OQfx9oP;;$ycv@jWWVn_Iaf5(pIN4=9Pb?nlcOA=3SI6v`u-d=Zf +?AWaLz>TTm#hLB_;h`U)oyoL*F7La9cS%=Up9+%VdJ@(~W>^2#6_$0qHfMsKy24Bp@#lY2)hv(l0&~0 +H23tXcDccb1j=c*%a%{jqdZNd64ybYR@6|T_VRKw|^v8_CQbKRIxei!za&3BxiyN_v4z6Ms0y&_jp&Y +x|y(-s@{2$GCM3eXurcVC(f0KLOWbOtl9~rmLrX8m2(f$`uO9KQH000080F$jzQT}=Bqp2PM0On`_04 +e|g0B~t=FJE?LZe(wAFJx(RbZlv2FJEF|V{344a&#|qd2?fLZf0p`E^v9>J#Bm2Hj>}{E3i`XkV+&va +a>={t=q@3oz~YR_G7te_H3_0Nsz^uBDn>;4>e+210vHT{d7lB@XQO8$HcRJG +a=FdQVljG+PuBWteYTfocX@QVESSGHU>h%9Zm`oOXUBKNGELYxT@*KA&e_|vOy*$`rAYvT#+U&ImSt#tWYipB97{`+d+hJ!k%Dd#nME031CyOZNNx0(Pu+?}S=I*D$e7p*;I0A7(!nHMjPq33{K +D8gjVS!t2J)^UkT=QJOIhZYCw&W{rgQeA1tAwW)uoH8>U=tB8_(bo!kN+9S-K>rPKRGYTJYjY}YE_4E +G&T;x7(u5A6tcjx5BM#gl|?v>x$HPOJ~{fYgT2$qo89pNoQNWe0Ehw6_Z!&RAO?dq9t#Dj-+<3%VZx@ +I@l{sbF_=EgFR#yDT(Bij#FX=d&6Z(u$>+ogigzNRV3i5M02Y8{F+0G8@B}I=A=w-8M8O8G+FqaMRZ1j5jB8bx)p8Es$uC*tmP5hEZiEs5CDnG6(sryG_H{6+Q=HIJ*ijIi41Yw8@ +_XCj;o=)dNBS`lG1E4Vm2&1R)%;@T&ed5$HGFI|#)@6tEL3e}Fnk*k?8w@BMV}{$L#7UM(_T3{1+f&d +eT&geK)Z5u2B#BD$SqIjEpp*d6tInSvT>kcl;|;Ds;2z?dkR#pRsi@ZUr}19Ja;{ZKs{JQ4h9nqyfJk<(CXyl?#blj;P@SM&3Q0OR~hn7?w$YUpZ)E(i)TL! +&VR?*Bmv)MAUr0LV1+MXYthi6ZcWGPh?jVRumn)HzNbK#d#WB)I0sR|SHkEjwPmHS>@gq|0B^M|Y8nH +Uexk6VQY-d>(S) +F|kZV@ma=uEhx#J|(l

8zv7LOlL-d7Qo~YDs;hs4x$8DryT3r+tvZptE!>yuz55qeC +y!Vh=D=sM1(m9-k1UPf&o2SrqeHteUiG4>DJ&fPs_}IIcV-b^#cSeEZWJ^T?j4#nb!G~sK +LU&aR~+LWOu+N3Y1q9DhF?DV1J0(zhh3B0yL$pN60kWW5i$Is}1(NTcqdj$fK#nBaKzX?zuL9v8>ze} +wK0~Jr^pvSXR@|vU$((ed)6=v*nJ@e;4($wJsTfsk#1n{a01mMd0*1#W7I>y9j(ES2%p}E#FKeRs<@c;m|p)zz +cp`KR%?LVKVI=RWgM}LR~)OIP7A$sDAu#9yuL=&m)PO7u1G3=AfQA4#|jU+%Fk*rMnx{11Ne4BWyISu +^qkkJ^{h=Ev`;BR@rN=RVb!0$=pA7wp?dT{xWv=w{y)bwKU?;Mhj=%IjG>R)^wBRSFi$GBJB)@IA$UXlo9Q|W=^xqfi-xs6*oLoE~oQr2W@P9veHc%u^;Sm7z(gEcB$+_>J! +DxVSq5dU6&j#ns@f*(ZzjX}%-C*3uDD^qC)xVOos2|W1GF)YbB1kiy7zD=?nP}PZDA5A)j$uLeS~8Ps8z$u1U5r0uGRODZP*?rwq9#Ytd>6e{N#y;#}NX$12?PyVsAxjRytU%q;Vj4m;<*<^B3iZDQoT4Ccmwu170+Qs{SOVbZ8Un0+Y)+V%uy)4*- +`tcS5Ef;5)%+5HG$WZWljjIBG+>*bxjhRKjrBAwyq?|Gfmo%yLB0IYc8blN;Uhc6syl)WC*OA=NN)$T +nMqaZI@jNxd`}&4l}Q!Hf!Atlfi8i%vT>cfow@Xz3T^=>g`>I_*Ima`tNb!a0*8nA=zd)&aPh34JM2o +jn`n3Q9*251y^ypfPWD;q0sVU-sQz$@B9E7l1h- +@LYoHI&`H$sZaObSkk2mwzzuUzsH>#wz(YAwrvq)&Gb0Ut3Pf0orcQe*Ww1+*}dWlm5m^7b5NH4{F4l +cpNE+8!NI6c6pVZO>ZlEBgnLD|`El&oBWyFU7t+g8)CwI`F&Hh$47?p4Tn4NsmGjP%b#ThoGv&sA>j3 +nn6a|~-X@+7L947#AL!}=cJmz8C8uEx!zVCGV6fe)1$jUrQVGSY!t4`FRLNu$@_Bq3&kwE`21VsJoAp +&a%R>JSs49TWhlY|D=qX68{oQH1WvM8T!rCOjLk99Q{L{_lk-=(DMwl3}_w5vyfrQE6CtMO +zT2KcT;xwGoP$ITC24h-JFDKC_uEJan0-$b|jBf^P^cNLAmV2ox^NvW0Bg)3suEZtk&?o`Ei|U#yi6S +{K+eYCP`snPb=)pPanM_8~^nrmsEUdu!dJSfh6XJiLvmW!GiUC3+WkLOG5)C8pX%yBz3>b88WOk=B-* +PftQ)fpEm-lWZIa(Bi(A}GX1^n1Gd;a2IztMWG|No6XO4#nq91qz_V6Xi94bY{Lx`i~ietSC$ +i-Uzy*H_&&qgDBD!3YopmL6@zUCT^+7MZQG-Ok72yd1=sSjC!qHv#@j9gPNt`f?Bfwax}tVnfCuUq<2 +rUN|4@lU%a2m78>JNW2L{mc>wNt*mIq443f76bxZqiHCjnO<9kc%-zJ!te0S{=xW^&})k`qvM;y5AMD +gS9kP3{IK`#m;Hm|zc#u@Ry~pIJ3gXLUXb0*J>&Vorvuf%Z@Jl^L_0NhW$bO-_YY4zGl}-tI#a5<&dO +;FJGpy&DB!m|vnG#b_lB>vP9z4^|SxmQdWYRYS1`Ity3cN +JZ$VCRJUZ~^Zo&iuwxGTWkiHnnHZiP_k^)dPN?@D#>4J?NXOVy*yoaiYa0f+(V>v5OySNHtL1ASY297kDwo-E*ShO&95 +k)QP(6*iKBjpNzVwRzq{AS=U{{hUQ}3TR2y5Te%9`XOanooGRH(is&}j3_vJ3$GE86}^T4`W0)RTm!? +neC!h*=k}v@N5O6kyi!Yh;dY5}*-aTmOL!wgy5>2Ety#1I4q+r6biIx*NTyyajj(H2$|@S@eNr>7^mqK9%q?JvI}Q5oT`Y|x|~+8sl#y +5_Z5ta%1VWpRhBKorcr~b3>+!4K44W98s~GSYAFP1Dw+AheKN{9$(dNf!#gC?Wq8fMH9*0t79m#bNjE +0Uxhm9z0by>yCwpy`3OaDQNs&~QnGzIUIw^}N78}Z62%L*K^OUrdhBQ^Bc62mWA$uEztX;70s!M7OL; +b-46R`x<IE=ep)7=4WtT)Ap|p~Rof`iF +5Cs*JpvEcWgGUbk)YDG6TNFryZWeGiM +<2)3F_v-Z5goe0UQE423CllOQ$9o{#g+y`F`>n78-CEN|b_Oadl47Bm0b8?M^7P1kYpA?O(a4OOmC|a +t045}9x1mWm+CLHfBS2AD1k-|B?lfG^%97Gr2jED|nKczRQAct&TVs*TEd|V*a3`ytm+i;a(02Hj$6< +x>%*2&96T7$6H$;gZwqFyyXk$yv+zo6_#(Tpjnqq8sUp(Zii8KUuqN24k*-3Nvrr+YcOnM)r?UsiQ_n +XOyC_Gr37?ZO|H}Iy78RS;pGMCrucgeAm8QLT$EyXqLu$vNX0Ke6Dz&@K`HY3A>d +3I;c@x{m;}x+bGO`9c%`#Y-CsAmoztEU`)dX98~u^@p5OoRLq9(9eeE}3@}rbY5ED+64u4p%NN1skbw +a|yFxG{td5~m8bz@FJWbnW8hsu3mDNC4Vxy{oXrRmxB0a2B>CqhyXrFMOouctw7dKJBnP>=w1zku`Rw +J6lfaxoh*KvT7dM0FL65%F*F)KwFg+@@ywC7j%7^DI=>X}eB=t8H~AY&6)Qm&?8(!&&Up2M_rBTs7Ag +u!m#11ZBe67(xGWVjn1$8BWw$0)%9d#(Oaht507QlvezWAg;wpSZU-oEu&%$UP#AbMgHA=J~n62^svy +$QV8Vz^llKo&AlS7Z=YS0i%T~1|}_o4nJK9_1#!oENB2wRtG2}kLJ>M!1aJTJ}a=8PGUI7NIP*@B!I7$Q*dhOx@K&=t-wxh%s=yu2 +9+Wz5bgh30@n4kYkA`oRkjpL!(SaoupF34G@)Hk|CrZ&0PX!8p+(0 +GK_O(Z0**z+J~wU%XgjlOKo1_`eX)|2I5YtO{^_%kSZ#+=zv6e_%1E0P~a!LBk-6#Q5Jzs@^snB;3P+ +#_e#;cEY8hqZ2_e3pO2ppV4MWd9{X_JE`G%P>i+6o1!~WM7m +M!ffE93cg~}yVSK?15z$qn-A|~c_lvm0e%8S&&bDbdv)+cDq_jUOLPX(qA{$54^9fc{7TdP~W*siQVS +9c@bq1-B0QcT^xmqKq2SVW6R-B;)c=AYIQ7ro0Ui7AMTrV&6YBeASTj0E1RSVXf%gd-wFB<(PF-=a3P +&?gCC+Pf^8$ry^vQ%WSk(yCsAh00L-WLhy=hNqA3y(z&YjHFQZYVXk-NVyTlct7KEsXXy;R+ulF({sa +8IMSui`tWG{E#sE~QS{-7ioCYwj|7&5W?^1Lvoa2ITnxQ?2y-Ytjstk`FfXMWHvaLD04>9Oj&IZ(NJW +E_yo-|ZmS(uJ9p3gFk{k6rn(Soch;jrKvC14s#Wyj|F^axFqUs^(iS{Q_rWs+48 +d#HH}&YB8{YNnTwQ-R|3p;v?RAN$Jt(8;`XovL}Zi8=Jg;ueA9R{KIQRz2;RGk* +sZ-Y`<+G4@n)04VEaq;HZ>C&ISjUh$i#CZQ56npKJg=IqUQfBk3-@{#0z9wq|)BUK#FeB_1RF@nY|!Z5yAs%jd!211dN?~1_c +`;zO16~8NNyPR{s@N^?bu@zRmyy_CCjtO43b?0>39>xJC8h@eGll9br^c=tpS%nwb1VZEnfB&&3NeeenaU6IjV4QPW@7^{gEnoKYa`aSgcrnhZyT%V +201jykV96gq5g>6_&SshqUshwVfX9+yE;|mBRz8K-H=N*7Be^t@z*~a#TnU;4OkVgb_3m#KxcQC_ +NyxDgHTPzjPWGrjhpt~+4(%Ucy9Qk(htS1s<_X>L6OUzGc%x6^$i}&pht#vY1fpbA>MkwyLUAHG}%8mes}cO_Xi(NC#Sn7KOT@27rZb +46=@(XYs}Xu`#Z&KNi>b(sJH_%q>K(}>=ot`L`aF^S%`5KJ3U-QWdyrSRV|V_2NIB2#*WUa%v|2+``U +7F7tXctm@O_UDLfo)mermx?p>DF32vDm1yn8H{qSYd^no5g}#U+sX^Td(wR@S{$T?|eX +D!UL6@v(ix%p>mU2-RaB37FLLWt{?ZEcN0k}bgw9LjlKXMo81nh)|vN8*^OqVFFny>A3z5Gzxx5NA@Y0#i`(q+o+EV-&r +K?1)j_X*Wo-fJxcHDX#(iW?d?3f`lKwrN30}AZ8up?3X>W!Yn*G$y*yg0E@(`}ZLgK#^?hR#p5rDAs2 +&DmzJce=BFXdtWpvze87nHQFIPHi3NY5)%&n4-+!j(YBtU`G!~scN%`+3w?OrYnlqrRaU~khNQFVs2?YW*5cLi3I=*0(8U_Q$eCTC@5S1O!EP2_DveV@kfQX;+m6oY+N_{L#9sd@*h3jTW?xTBZ_Q)Kc@JhDG>x*6zZrHti+Nh57F(&0; +di@IACkj1mOd-iJM!DCbBd(UQ30*WFE$9t5@!LO4lxZomT+V +0&*S}q4Bp5@O}DVJo@#kQwMlvJON8N$5#?4;f=%edlF1tjII%aK(2UU?*q;4dr!qSqdWeDfMKGk_VeP +YpeTgsQ8xpV>Hb!q~((usX}j$7;tLLmH=H4ct +=+A@d%$y0}t9ao(gc!KhdA87Jr+%Re_`TylA6MD@xr&;90H{IebUuQiZho6ufQCQ7)eonQMuP)h>@6a +WAK2mq6Z*p`mbYXI4X>4UKa +CzOmeS6zBvN-y`KLuAlIhGPxYdJ4Xee2%iBu?t5j-AJLHtD9hDkae}H!`V1QgPhf{qA?(0OF05oV4fO +^V4o)i3A1%U@({&3}!aBzx}hZ8C7v{na-2J;&x;6kAe6+U)&by?5c{o&wJ7C&dzRh92aHuYFSosGEU~ +v4|DkaUo-W4Fin1hdI$4)MD@z3NXn%6oJhfYao~PwiKbof4!gyK1!xA4(k__r$=l+@(QJKu=3?s$P@F*DA_IVhv +xdo1U70Do$+{>G*{2FTjjJkt3E0@b60|a2)sN59(D|3JbIQ%1-RQ!~hy3FVE{04eWcx2NQdt2_&Twg$ +ec$|MusFzGeQI=QG3&sm)j4@-1kay)(4CE7y5icH9Km?`&pGse`^UE>NTvnwpQH#8wc5w(0E!7*Qxr? +6;qw~|37w-YkilM8`+3k1hc6#c4#%3cRDkbASObqt}OL&wqj^2 +hWazgb_~7VuKYDT +S`ry?e*F6PjfC?66qyfgepAPvcG=BgX96Y}`Iz6E-K0iIVID_AP7=^Qo8p6Ay^F!$G!P(I{pbs!!o}E +HVIP6dj2lfQ(o*XhLoDzHLpa}kcdyZdmJPCsrhX=<1?;NX}#c}R03n1{(=yF*ti)1v4(rcuYXi=nD1y +3_tyBiywPUkF%rx6uL%DgGkDnTL#jtV4RT*p-u7n7^>b5ahl_{PR)^cj{CR0pv8QRhF-lFupr{1131Z +zBA_yPd)JgPji4h?l?@3aEfjH6Q(TxwDfzLSEYScxex-O@V`9C93uxFW}c6u;SrxduMlh_i;4*Ztv0V +-p(+3umcP_>b@+}egw~7CSxkri~a+lOg@+Cl)xaAqv@WpT|`fxK7RVd0{WPN{yn;ej&H-Dz-pQ&*W+a +|6L>`etG(pz(|+(dk51C$I=M}XK7N}!{p&|(DRT8`bdlcxAIqi#7_3cmzd51_D$R#7XXS0FzUKNHG+L +?eNl|3E`cb9VNnNN|PINJ3Me2KzY;07;?cN5Ctvs6*3t+%E(~acIBw18~(P2^K1($;Y&|@e8|DNO-fP +fvT9F(`$^ECSu!L+|ivuS=)BAEf70xEhk*olfbErD^JJA?cAN61#0**OOxNTse%p51cN0S1WI-mm_H@eE_Q`!X>(0TH_NPx!9Z?DHW>^R4O+M6Q% +43siUuuuGrO8b~U0Mt!X`aLy}C-HS+4C4YeXB;|Ob3%z~4({Vxna_!|K6EbP;w8KUE{$K0vdbL5rsYU +#$qRzr`M9wG-2`G8sO6bLg%3L)qaUJ&)I!$>MUhVu*vUZz8qf2|r*h-$@cHT43#nd%x(}Sjt6e0MyqK07uTI{MVDCA4PRJr(DWb^0c +@sF&ES*HNY)NB-5)z0Xut^@hcPsw-Wd}YTv)Upr(=TSljpM_UR~J8xP7YopmcyMLuZ!35m-KphZ6F(y +0GRVc +c572{C{P^T&U3wUVPOPsBOCp^nYBl#Z&VPBW>+J^XmBM5Qz{c~R&UE>Q!Sb3gqjHf)*bW&^G&rY$qV +UBdqFn0dhoj1ro9XUoICU#qDjJzkTxtbb!MbBb={ulxu|Z^rHj)P1s9+!yl(eSO_R2yi)s-T86>mYPI +zv;U)b@I76_wyVClRyO3I|@zUvS1ja&%UKPnwXo>))Z!*;Z@@&-c+J?q&yzbx{NT5CsYqwH+hE1dcB5 +U3HoyQ`G0PIGk=uy!07g>LdP7Wejfg3~|i69rnO3EGZk~um&enHrD7IAfjk{$9Y^}S4gCu#2*#ruvsI +-O-Y#kVv5vqZ*7zv;^w_~CHHmzTiqVZz3@(bcrT{iaMR#tuiNMiCx&!)UrKn@yt`BiL}ZydHzZ+9xYV +4zpG8-VSS&-W!C(f=ek#y?y=c@T^AbpEN3+n1*OCx}4{6#Us_31fE?7p5Zv|0jBEr%=t~zKo2(l{f!* +y8EBAb3M2atlIV3lO}OLz=yN<@CNyOEq>AT*Z)xg$boBC=_QjoixQkL@&5CUy1WUsDs6G=D1x1 +g^jUy{j^tRNTXuXKgoK!sO+g}+_AmkL9tf-?F79&gVM4_;_IBD+*f3oXCNV2{3d`|j-M;!q)Am1KjAQ +S|Wr;d9-zRg@7-{#qtzu`%krsu6)%2qH2o^5p_b)`;xvHXx#k)`-A7tUyHSoEnJiJPMBpG5{!PAhNR? +Mnn}g5ZM{7K!odj+tN+56m75R?_yH_dRU;a=j8x-C9d^uC##ToPJnZ=9)5W8{FKbB`@oy3%k8HfLrFJ +YqSil4Dl+ZgmKB;xCOKNv;~i0h_v9&Ld?u{3hXPW13t7AJ4kL@L8|xM+)0MnzHhul-_qbo#% +N5TPN%j!urvs6qBaDU7__ni+RVY&@xUI`hlv-W*Quv0l`nYUNcmrNUCL#MdgP*M(1PnAnJ<7xs51x%U +%x@_mj8Bj66t>i2OQ8w;{@1;cnSTF9_+&G@EuwM`b*LRu<7;_M`3Lp5Fecdmr`|AFZAYrb$D81^=|$f +GuvsyazFMi`(i7PbcVwjU*j%pxA&r^i7V|g)$w36sB4&QP^^z_JN-&Yg-C5&;vnnp5F{q2TL?pK_4eq +MVDA%ukNe1_^A)tqhKfQ%6xR^&xvtFF9ixoGJ>rfp0Thg%L +La(pHIeOd|4_fXt@CJ0;K!&{{1e)*dF$J+rxnt?WIx)A_caqFq@I|NaAKDKuGcgYReKd+Qr4~AUc4B9 +@7yf@4$!*%-uAd#1-ijfEDT!=>(-9fm5$9l;8AuV5IPqiS)v0-gS@87?V-htGdUW525G_X|y6<)=k(|lRbQ8Y~P42J +h}tz}L02wd>B_;9Y=fj +SD|HSA6v_}p1q2^or8AI2p;xF|gLD<$BnBF|k*eW_Ep3?zE`YM`3_Y<~v??dF8S!F#fb-IID0cYh=`) +~F!0y8yeE*2+-6`_$@e@^K`1r}*zG8J3k2EB +En;(%k(Px9T8)`7+r;q;>?gk&M(&fTI`x(WR=FmUQmfXV)8?PN0FbAhTixU+q~*b-n$4lYeploFW3cE +(H_^!qi2vOl)od1BQI4m<&*3>JFdWAMWfvve^Oh%p8yJF73KhAF6$_o?>4~ry?fcqDjA>y?rT1Swmp* +5w=Lr`LL@GWv^q{ErH(mVR3xE&Zk`^+e=l3iws~~vplYDusf%7R^58M2v67({rTbD3-;v(0>fPAyP|^PvnRigiuUnHx3g +Wr(hU)0HzF2s?YQf`G3m&fok5@h(ubS|9)q=-q3m&H}c$^9zf4g`OcvL1H^hiOxFy5Sccx;GTsHmxn| +Ae##ECAa+*(nX(RhigPI8;=-UEF-(|7$M#wq$8v`3KC?vJzoP>%E{Tqu;|v%`2F&fnV69UN0wNC@JuK ++rJhWgfGvtCaL!^ +HxFR=j7=lL}%JLr|NF6{VooX!dOq^=CYCupwIU>oNsKVGj3UQX(OCUcmRSbQimq-lV%Jx@O+id2KGnY +IDHHGB4`Ns*SD2mbJSQQewgjqgqUNU)B84gv-FAwv~*dPl&Os@Dem@bu+f@in%(7Qg}f%NoFK3r(0tm +g6${?^<~aGB%#l93Y)`CFhnL%P +e9HqZc2Vd&A5N30U3CUU3vGae&ryY0xH(e0hUposMS+?@uFUsUCejr?+H9qqDA(41Sd^>t}*(l?$L2fS-~2sO%VJfUxKItV*scm^sR~)iJWXkNi`X +0tC5U7VuGB3_zW9aX>H=jXcjWRy~}dzQ%})XqOa6lQo|j(V$qM4c0g3&V;-`oHmxNv0=B5M=zY>(&1I +(EcS{KBGgyUf81vhE8G~4684p!wQSjTkzvY?{4>J~EKp{nEFSO~HgfLC2WK!>nSBX>IW8Mw@;n +90j*P^4RW6ji#!G2YTvh*D#1uuj$ATKl?PZbkgBW1TiZvf?w^IMsw<`!^s5q8Xx<;5KKfq!SvO8A +4%(D7c*E|>fMfm7P7x7y>VvJJNM+Dkk9Kg4DnH$8K%i@gI1W)d?ZHNMr2IB`yB5)xjs7GH7@WUlhvVVb%X +Xlra{Q0(_kH8Vi^G@42N#Dgf}WI(pY0mJ>x1{Bch8P4&hG}n!eI3J@b&2U@Nb95cLTCh&pA5El~v5$H +cz{L!1FIWg2xgA{HNRN_3Y6ajl_D{`E}>vcfalqAO5;C+`<1k(E|hY1M9#C?yGZx8h;)l2d~H%`R +8KAD*DA!=IY0tOusiexd5(VK@4Ro4*5f!N-Wdz0AKN_Doyf<~As)flz!hsHKy&@SyIWnaH_W)HXO2m9 +g$)7;=+pusA3d1R@Yf)%4zi3!IZOmiuZzH)#NwHR;r0*B9%8kw>NPyEmsg=fLEKxNM>2Rv)*)w;jcwd=7cE1x|}b|t8Q=27Q8dDmg#An4|k(qZvod=@IvW$Sp@*$tiEAKo|^*A&IL+N^K_C{pc_u&vQn25$X3swp9cWpy_f-Bo$up +x$Ex{p{-x#_*YR!CndkW@?NQ-5p_6MStqod^$cV8ffqe2vgRCLpeKdkJ2n`b;{W(uTl`lTg`8|+d#$I +IwU)_&>p(zex(cei +FRIgg}*dFm=M_Y_3-p%v&1P4_;%!~b|O%pwsmaC*rOE_C`~syR}nbR!HRHFo&la*$;~SVfvSxld`vA2 +U5zc^&V?Y1O~3hAsip!N=M_`FQXBPUd6PUxW^Z&U)Ks;aHMKg!(>aNLhQvv{E$$;eVR=&D$p@l{d2Z@3m^S_Jhq^rU3lKa{FWrS{IV*ED&q-Jo&mHY4k-*E#y-11tCZ_xu_e_y +XTaZPGInI!Y^>&eBxt-jP~#?i`{;>;R6-P_gCHHlw;WP~~kl``zcq9-wD`zxsaI1Od-%T>OcPuP{0VHBd!l22p83d-nI;uc9*a +z9CLwc%&#SL~SAh>lAy~7qS3#ZumQrS1C7c$W@?P;wieS9!EEM@hL9yCDh?d4@Nvg5C!XFBoJ<)1E^- +I%8V-C7w9fCau%@k(H@?A0D~~GtXnqyYvN)?ksF;Qz#=H}P}3cI#p>`}ZPr;M;*R4VAB&kC$X6fW40J +;s2?9WJrCkp(GmmWOw@di`@t+oK%mZW3%ony6{=Ul{Tz&FpkuGUCJ8M}0eK{@IvUO0m25b4UVz>Gd+^ +vfEre(KMloQ;qpz2!J1waDPdkgi^6nX$i!=S-VhE;7FgWBKljUoDd^A2}sQP|dKZ9a@}e$XHTQ!Qj|J +)=>#)yx(8dZWT-o`ujr?KSq3$1y+*GE;h>9Tx)iKz%KBrUkjMHIg@Nyrm9d?$(%cW3cDLa^ +|=w4!9$=37B%MyLbZ~^prZ@{>Ju2#PeyJt{n^P?~JOWAOIPakDMBIaz;hQ=kVrPr@PTgQuv#F##sCSB +73?K)ntC6~t#=Hd6G$YnEh&S#Wt@eA%ps(YN +)|-1b8V6L6=;g`l>=b#WbaXwPV&r6GvS`8h;?vA^mb-sNOzsX4f7a3zRv{s>lyDodj59TmN)D-9?Knq +r4YjJruyx@E|b+5LL?+Zu!=*eL8@YBs;Vz#>vPKN47j%OfGE-3xwsJEV7ejK{}FHNAF;WO*we4IY{;1 +l^PdG1kO1Wkbn+qvC1t~j>i>h(p}qrv+LLqW42h-`gwDMttLIieKaT9b_PQg3uAiYCpP$<~Hjhb{{W^!!Ce-@`YZN`+8-3u({Sp4+xG8LcrVp_Qd=^Fz;fCT;W_+^G@Ig!(chR@7H +YB5LMx6z&zg2hRJpDqb|&v(*^zWXUf3`M|p)O8?6$}#k%$|Zu9sCPH#UnaBKwxMxnhgJ@ +hGbdq4Qf!t#Mv#>=1=I6wWltJ;_o_p-U?mY5lsUn5tZ}$>yUBqi(F@>~N2l*Zyv=Osy_c52n$fZJaHl=>0WLSpP*^#5}1Oq +yNdZVyJdZRXWyMMy|R;vwbS;xfX1q0XIu-crei{U^|hmdEUIXiB40QEQ-Kck>D#QPjs&hJ4D)P(^>WU +BjL0X9+kU{kdKCG?7U0@7w~EDNT&6czY`a)23pIJwE>Rc_^b#D_%=qL1ECJ@8yeSN`sTVVn>9o{b0{l +WS(sCbJVtP_QN<=bv0Tm__lG7@q>0(Djg`blf`(yyvlq}NxHYBLV=1rKT;xyEivJw$a2H)0*;LHWn^*T8u$i`HHKt}>*qTD(xuMs^bGCU+(Uz~pT9lxqz*O|1=xnyF0|>atw +?ZKL(mBIA_#5$-W;C1STRz7v2KT$lGlcXeUrbJHMimbqD}%kuFw$_zf^o#~atPCmlv!r6 +E-Cp0QYriYIe1p$;Axfyc0O+dnvZRCeXdkG#NA_&v?=d!Qg27O*oY5BsN#sSP*s>PQg +erf>;L*;}x3(27IeLWlGBzLWq`SB8rsvrehiM*@GB3^riKPlKU`yHd;G&@+XfT>C!9?=!A)-T +?Ggra#EXYqCQnb>C`Sc3zekkxzm;a4{sm9!Zj7FMK7e5T}>O-%@IW +kH8>x;KvDM9Q00-hH|*4vWk;eHW^IRBI8_j5##3#}Lz$wq=IW0AP%{Gn@Xvo!T_aV7Sy9XfN10K8mnp +MFc68GGOoFUZcv8%MHqFsizXta{$J8nKu#26^`7ALUQ?!@V-PSD@kK-sYDdDLOMDG8)mAK +N`U|#9}n+>k;gyY$-5LNdXs1_Sddi35y3(*12ama!)knRK6GqJFJlKDZLYxiRf$3o?j<66K&8&5sAaM +lYa*vr!41QsmsD|r^L)DG4o1DeimKAx6kXeFOkW)oiZXH>_rx*b_$W`V6;UMb?hQ~74F#t=JvcE$(k9 +veRs;t0%f#RvS;(&Krs?n_H1UWOa0qY8Yzn;_x2+yL@IHdiqgRE3B8ZT4gJ5mhwo-NG?YLIPwB=ohOr +u8&DzY4Dt=W$0Y5>VJoe5Lv?uemCekuCM~od{C+C0QWoS( +1r_uU>qaB-B^QQ>XLt7BWBvILy6mj8B?H2j|a^j`W1oJ;PQw!rvADQ4#SoiDzzpYTJ*b95jfy*N?iEA +;-u}Xe_^;Z)EA#HXrrn;VyxjIkq5t4z%PN6|YnZFJp{-10x6jF!VaS2tujS)9Thg9i!~H*)p+P10V%O +ui=nG>e3rI>y$jmHmKmOMIs?Y`lFNo#YmrIRg$}lZ?hCjA5xu$YmCMie4v3r8m${#v!5o@qI$@(m^AL +*q)X>!vYB=09B= +^s6lz7K7~z1YWl9NqCrKAd^?6hS?u8}+C_I6Vu~Og$x7{0KI- +k>K(!jf|j8W$1+Bov&Rb*qInqg@6bfWevqk2D*1kdY9$bmR0Yi_Q#Bv!9|9kGld{ukLH*bgPN<8qQ}1 +$r`v4j8>zYtzM%wsKvsC7ww)p~dw_mh*4-DU;$;%U13QxIrTpp5|f^Ojw3%4#go!EQZO^bow7Y?In@g +oGm)~;F@?PB-}5_ZO>M+4|}q0y*WF4dGwwV!ReBG3MS|1=Up+(_Y5Hn|XnUMx& +PCRGS=WaGa1QmYkd1S1HtVR`Ld-Ae-}k^uZcD%%MrHowKB>#i9;u7(k4HF4|&GYSos5w4GjUoQrfq!P +c6*fuUo-dgW(#EH4`&Rv7NCRYPr-tyRYQ>;g(|8Y#|jzxOm`1}tZVa{A%`v}ePVLf4*=x(6iL_f5IJw +Y8<$)WhACE!nkacdTuXws8`={-oANrmdB1JjF<%M)dLHHdEC{S53DfuHBoKXl&P4{rk9wN`e+#YsNJI +eMskK%lojctM7fJgnxE}bZ>S0;gd&{PquS!=SlwS4z|iLLU|Vn>chw1wFKE{=XHzt7UZL8SN^uef +kido6^_);CZMw?T?(Rg$`pxQE;7t^Mb-}c;K8pnQQL|oA1V&>rTuG=WQAM8hUxCRgz>!3=KuGbkwsn; +UfG+8@HvSIO^1Lv=~fw*=N+!@$|ModEzat*~Q9L+l)4z)uZBqnFPu_mO{dBGG0nzU+Mn(YptFORVawIPz?#OCd3CNwUAna021GNyp9 +}Ks5cXpoEqXCp)%f}&lAw3k;FjxSk@*M>+<5O~b18cO;nk(Rx78Lj*aaCFPC<%qRLxU^=Iuh=cbhEXV +WJHnH2!ki>$&vW#(N+Ec{Cu3u(kwHQxbd +La1_0G2`kZ%mhyGOkni&e{R}Q#TfsV;Hdz?KtzEFR;&te`c60*gxzFDNu&zOVGIf<9C=f4r2TcJ3#Cr +L7$CnbfMF44ZrA$70nJma+ +b#ItgJ^4?{{1!EvOv%+V9);3cGCfC%%vr?#w-H&D=EM8K0v<99acmmYa~*XUZg#3+aUR>6JgAGMQZq9 +A0O~2KH&Qj=En4nvhAQE7#CAcZO*&ooA?VS4eN+004;!YdN9o``=F6SiwH4Gn1DE?IwF02jc4YDJ!!p +ty2jvZH)b;T&yFmtf&FE_mY+jFg9!jTZhAi(I7SMadUmo#N6x6ueB4eX5Lsn+dHB>46)P=etfj?VH*u&!9e+t~xf{bQS+iIv1(RrhBHt +3CZ_7h(_9x(xJr_{1qQv&#&h>oZy_s9@`|tK1?tZ_rp5cM2#sjMDJ$(4xN57yro$7)Qp^Zn +6je@m-R?vXgdygBa#Ne8zAawohJMuOXgP;~e*rEs=4CIwtHi}EOMN>@Hk<4QZu$ay%`311KE9)qtp1b +|%K=}!y;H{{;%|pwWcyaQw4$g4@f?l8_h4{5fPx8rRxk!NnQjm4o>XzBk$iBzEu#-exev*4Dl#7*Y3y +%~`=DEwly#28monz8J^5nfruBqBQrufyM9weNa6Cks;z<^Zrfxy5h4gCDg!P&XP()iZk!>3OiOB6ZWM +_ycECpz?_z|mA=o-6IGtf&od7E&OdXt?{)mz3~>2bZ+jShc8zRJAyU`iMGGTiWj;Y)R*J_#PEpNZ}F? +>Li?yWQkWF;L=K|1=f=1bHe}8Q@67yt~-40(bI=}kG_BG7KBN4?nL1I5c%3S8tiMJ)~Y;9uJg~R5lol +aG|nnsQ7SBeT9m0ti$Y6j32$8`#@IsidMi*LSkP*-Tb>y51$&;L#mP4M;NfC@!lP+ewna3iAR(VOVj- +0u;BgTAtKPT*8b$(Z7o6l03JXv2qdjJLNMuq8LG5Ur_))<-!j?obs5-bY~l(gb)RR7s +0s7?3MjeBLm**ig6)W+_T#CS)uo=?Mw`SLooRiBF{EJqNR|p%xg1N});x-*Acz5#0}(Kw`#QcsIfxFt +htX@$4FnEmwPDYw%IvAUtnoc#Xp7>jboiQ;7dDCX1r#qqGFssnFc=(E#zNS +_X0*#qDq<1pX>O2K2#@7fsnn>ObUv@!B|H@ThlA*>cCJK|pbCG@4zbSdt=dLuPMQ^5$I*4Ja&_So*yL +4Z?yE8(ChgdkM-zU%vdMTl4h7r +UWdHnfMq`RVb&+0pq(-mL5e+BX9&c@EKD#qlzoSC}=xVlnm1tM@Ha|AuE8HX$i2OrhYERG+f^Mjp|UH +xWXD#pPeg?M+j3T@_i*zHJrevNcDx0;U;NJ=#i3XrI$U*OMgM<@wt;Z%)rH4qt>eO%O3Zr3;(Gn0&#u +=czDa%DIQi)HlD4)QL7n(4jRAN#KpP96DPj`-OtwJCy?fqmq9y%uP`U(%Sr%4kzeJfBTQjfc@SEZVP0=AU& +ZSEA#`jncM;f{dA-_40?qjrjIUV_2+Ca#vURM*a}8x$CSx&QQgHi1xgRwi#J$6WW}M7&0xS!r7dQo}; +GQat>`zI<{}Np7e_*agfZwJwjCZQi +rEzsTXP(~x-~CLj*A2;M8}2JX{nH;Kx2yf>UQ+*5hUNP-kyM$6I}GJW2hE0}omyuO3Zc6D6eymPZp24 +?y#Fq4XrLW$s&+G_(11aB{1Za=*`dP$n4ZraLY=zfK>RP6^!)|Ie@4#|OP%vko2fSqDoDK=RW05hKle +1f3ctorhA@0R_6~4ttdJB6Qjg0;S|NqEnc0LW0Cif(ezk@G2ROlf>+~#ry&=qom4{BYB5iDmtd|n=J3 +y{5H}m|5A>Tp&t@24c@B3AK!`}0?BL))@Ylx_I2OvA=h-h@5x^+OVX&tGhmCqxSxarXrQ%8j;k>va4ENUU^Ms4VY)Ys?v?xZN{pa*FO +p!-eaEwB=^|hO)4AmQM(E?D!ecHRHq37<7P|7&0GW&fDESg2oskud4jO;hkA{QYhe(`a#!+k;R~c>+Wqr +BT0j8L7QnO-V$7-z%N0W9|w8T;nw4 +20%c1bx#W7vYl)Q!Q6wn}?OtTDIosY#AyBIfpFPob6C)to>(0`lLWOx>ip;wRN!n#h7Nr~)d;qnAgA$ +1l$PWumCK0WErMo<(~)Z4kj#NVdD5wd1nR0EOCb+?Zv!J}SpIPsgj{Y&|V|99bT*eJHsxHoP80n?gQCsOx(yP?T5tF<`Ybm8J|=J&O_He9P~!(i9!g8?CphU1I&Q;SuGYTCox8?$(M$2YyXw&^?Cq&; +{+OQg$VJF5weyLogO?2Gs$)^Z+8Y(6{N#C$b(NiXxD^w770R%r;D03M1=y{Ll>qRv>-zVu>E255{1~;J$Z78l=|WisWeDkA`kZQQr86o9~n^5pepP=m%BdezfZa#Nf0C!rQ`0xH- +VlU5*YoV#qpOsfW&7MqJ-rK6f&0e-pJiTP~BDMP#e4G}88`#@&fo*o=r+;Ku3N1`q|-GV ++H&)o|@rDsg52jt=)A4Bd>8^?=Z}4$d6j%j4{o37><3-%Jk@TOWIT5SPR{RLDs24(`f>&UQe}V_@1(l +Ru43Kj6#nBtNI1O#i*B1cCNx5spShxl`WRxb?MEo2y{G3VjedyxVaZ4?Msr3OGtkXfL)`b#_-h#TK$M +Fwm7_v()unJ=mUk%Hi4JtGA#OvR+_RCqqa}ebF|I8t5&(s=+$AtWmMNyyiEPr&7qnvk6xa-!&5t(G*ni0qWZ|ooR;MCI&{#L&h{1ZeT_?)=X7rlVjM2#|GP9kio8{4UIV*bz +_hHmU^DzBZ;ELoD{-dNXe1+Tqhb95at4wapIiQ%)?Rq?Xl}tP0?Ay2v)xauoj_i|Bm5+b`&VUg~XIWk +(BMie)x|kS*DE2Y4<>N^dcVk +3`XJ-u*t}&Y03^3?o4p*AeA7M^=6nFDSY=z;k0SZsS7MO2ks{F3W>786Ec%#8nYU!T}VjS7=qy-c^)K +dung{L~04v524*hx{IW6Tw%-fLHV=&u?j)@qkz_1CW|Bl5i$Xyg<3%!Dv9zqCA(F-}J+x0O_3+ +GuEy=F&B|M(t*N#XiWjbE&WKh1vIKa>O~UBH+l-19}-G;NqG*71Szv;aBjp-pu?)S3K=tFR9t5Z#ZN*!3$%53)NL_X?ikh%EqZ71pLzN~fyJzSEhm24Qks&=st5`5Q$C-+UJNrjnUGIUq0N6)y00X`p|IY4!3K(tYIoj{4|qhkeRKss1b +<@F(KymnLiFU;Rnxb$0!y{$fp+a}nI +qgMDVs^=rM|O1$QpM|1FXPfVWOWjrjWFs--2wx-oX0clE9o`@=n5~+kCPfH3%)R|h{ +#HLEVv7(|fsb~2#(J8J3j1f$A5>Kv_Tbz{5{UpaeCU(lhQeTSzbuF3JGv^tsye+N>T2*Oqic<0$y2m6 +f<(Q)a$L;pK^JsT(4Q-#V@p8IoGZIzB7~s&+^EkOwL9f`Eid94>d5QY8#cndXlBVuV%_ +!>BtRYaXP7&0{I+nSbx5hx=E<`bChX>FabCmxRJAbxUw)RBua&7Z)`*K=ddD2hgLT5xcGj2dgv{T)hu +W9Q3tV{mSl6ihZMh-G<)L|M_V%S&$s?RBdDp|25z65UfhIMLFD>wv&FZ+{-tS{fIyr1NAp4GnQ=+(kH +n?PDD$MbZ8n%w^-N*yI4ESHO<=xiGpu*)VUt7TIe3?)T?&jb*V$$u{qYp6T6Yodl2Qw;2MLN|+*K8;( +>vQ+!UHL!y^Dgf!qr*95VMz0Sqev)hSs{44!0$QMzNlx=6_cE_T7N{XoUac_csv&3|{a)41#O~SDV-s +z3GY4o^PoUW%nV}v;IU-Q`iShL1bDYj`U;{H +!TwayP~1*G7t<3CkCP9RM7AQ59Y6UdmaT6K_vvT_|+=Pa~s_qYiJ&ymnuV*r6@+>hR!8J)svAR@ +x2g>-DLm3nYp(cVbcw_b)XwLA&_INbFb6_}Q6gz{m4v?EQyJd{OQ-9r#G(%Xs8zB%KGtG%?>iWuCqZK +QVVj|~DSHM{j3nzP?5~;exCp*ApT!YJI^fEal?VAIuO}`*_0Ht~>uV?fU;hJ>FH6ck+z4r$tIs#;qYYcLVz$ +2@jn3(tH-ZX7V=P5#wfi3AM-|6|^MG=zO}r?iOV+ps6+}G-HcqVv3sgs9=Q&i-tlk@em0`M!^NrQ?=F +ia*B*tcEd5SIR~KqCwY +FX#G%NNeuaZf>sifGE=3v$~qq7lYI=k|&<%T9l#5#$kmL1#?XX;SAW(X~0w}Qn%4Vl)cvyx7zG#w#XK +)@3U1;?xGptg@E8ZN7Mh2zSwxWtiS%@vXrWYV}RQ9XRr)U`TAeYGY0E04H!v}&}+u99v=W0>#%`!^pK +h`M$i7f`=-dh+}5Z4wv&P{!5U5uzwZv9zQZeAVz7R-jn%g?j;?TyJ|4P+`0L8mO=lMUDtq##0F%&ceqAqn +NpR1|Cs@W#jePt%g;Ej2}#fXmFQ-9J8(vI^7c5oZ|0x7AMN%6=SB5tl~dMHlrJ%u>T;padUZCwZQq!OQLrd +%O-^2|(e`+EhnTg>Kw|@MxpZKlh?y;w{omW4Te9)Bk53KLO3>HyOnL3+bFF7{fpfW9+Dzq47eKiVarrZt>Fc=duhi8YBL^as#p5B{)2>afz#GT4rNo<}Hai&z4Dq4?f!k(Izc*i43 +L(}br$(|4C_we~9zPU-F8%#%lHtI2ki>opBmj%^^ZB0I#rvDFxC}K|#@&t11bD_^>R3dd_w{EWTd7yL +V4H0R_nk0%W^zBmwFH+8e3Da{#vth4~(8N$>Mvz0H8AQ_y&yRHHgK}%oqOYcH>8lCqqt#<6>ASW=$Bb +X5tnO@+$_qQdgv2XcpW_J&%Iinwut>$)#ktF8B9m5pFmLVN({cPT+mCayE1=a_OD)Yrds`KT72#s@06=C8MLPbw9}QBHM6Ws%eR5 +dP#0>K$)X=ww{iXA^KcfHll-R7l2=1m8>6gw!Ck0zq6pJD+zb1;*->hV)ri-d6f`k=3mYf)jaF=dU+4 +I}Z|CrUF{ltLqoTw{D{rsyR#_R9S20KF2kjxBe>OGqRdyG{2R(WRNwbH$;=>ltZ{piB+VRU +u7bLNo_Zl0*_CM?d1{6Pj$7&vBP_{{CFOJSaWai{)3)jUvx-FHh>%@L-n5dS@=7nqZF{TifAd(3_@fN +Px$n&4tx@X?8_Uk@7ZbQ(#X3cdQ@~Mzf-r%4wTlNE#tsC|Pj0FnI1EfK3BN*7bk@s3oYq2lhJ5C&FFa +dbr6`Hw)W=0{@(&PfU5Uw*`0z?Jboc&>en1UXHcf +t1yS=y*7Tq0S%iwWn|n0Hb7s^-LUYsKew`E;l#@LwYhSWrGSDXNsN@F80TfOk7gk^fEK1ULvL0*_s%c +X&3?}HeT&Ua^JT?m9|1!*M#<9Lr@h5hNI9skC9<he7c-89je&&1^qan!Fm%ey$VoK!GXBgRibM$svcgZp6+i&TY*FnRIPKb{Oi4v;%3|HuEq%0T5}{=k0 +@qtbzB-Pc+`fe0mt*`nUy(GM}UCME(~|L2c3J<{=I3ZLE3UZMwitp=zFByYePLO+}N0r&CKM!YfQ;>` +`*qj{}bUqd-|W|zTKk`_Jeso0gW8KbuGr;`>^-qqtWt)->kL&J%~{Mvgd}9X!3p1PN&xdtc_AFa2PD6 +eO|YJ?DV~@WnD_bkTUJyMNVG74X$SdD+0OIFeAAZq#{9EF$mfF%s$9deQMa3s-y^*mky>=&wk{bqNvB +$96BY=ZgqA@*TmG-*^04AOymyZKF;yH2zv`yRg*#3&SQdE%jDB;=Yh|QI!P<1pdh(lj}wUh<69M@KoV +?76oL42o>I08i;I^@MZV|1X%IA2#Pea0WWZ@3h-(i>x*=0uq0^@cO!g<7D>miDlPev3T@3XC5w?ckc> +WyN_7)SP%fbRp*1oYYE@n&0lUYZrVx#Ef3UeD-nAuhPtRv}4Cw%KCAOe#u!33nxuTzVCtu^kB<|IQ5K +V%%pKE?K86R2R=Y?2e_fSb5LXKnkWO+6gomu_cSs>_u)Q}u|aSy_R)(-7VK1*ZC*kecw0;q~1Ez#7k{ +XbKW!eLU;#_URBB>1a>&eJakWzIg>d?un;lJ49tFzfQ*a6c#(JAXM?i7H>}Fz)!ZL=E=Gw9u6C@zh74 +g9P9agLgW@LU2?lqgBi*RpOuNH$+oTtw$*rNSobZ4Y!hzlF_?v3-OINb2GGpeI$OIJukJ1;7s3UNGL0 +f`f3doDKBU*iB~W*oONMXNuIgyZlzt_dvU?F{(}@c+H=~)-*W)5;(tC=N1AFc0 +9-1S|3N-RtiVP2~dOsIdJAK8&JRl4ev!##-4J3x(+tcz&6b0x@vv?BTrSgFG1?E9t(Zbn^u`u=S#A+}aJ2%Q{7QIWeDPB`m_I^;qYus7vP*%(Ox(V5<+$bMUis;E=ftHB`)mqopi{OQCzV&TSEq-(iX*T`jn3U3pF4DIHnW&#m@c&h}#+z=68@%O6GJ9{8nwfCcxxR``lzL3G{cI0AEQM +-6J`+=$rq=e-u~of>2-V->rBiz**-knxgiyTEz-Twc9@RygLOAHT1C^B*oEuGZpQ&Tm$1cr#GuO-O&* +ct1{8;V}inNL->Zpr<*8WH%4LD;x=9QKTSz~VVyC>Oujm@~;JKME7pS9nO69iedW=Bm)HFd>Pc4t8T7 +a5}~*DdyRyS~pSrpzP1%V&ce_`lyUAlZN;?cwJgX31h#<8Uv@$mwSdCuAT{`XP9A0rq{Ro%5_ARwmXAu1IWVF5A7Cj=eziZ3ugB9kiua +;;V2g8R@q&TdxiQZZynbC^DZRGzdaCcNWnpX_+A+%5^Z_q$C=3?^l5co;Ov}_7SIF4K@CuNv$64Tqf` +CKerD-r*Rd{k`u=$3h07qm?Ar2S{GUZD5(rF;~cMdf4lOj5VaZ!ZFjNCE7dUY?5@<#Fmx +o=kM#$;zP=R+B`Yxs$AAiftD;(7#y~?#>FfVcis3?LMP6>230U%z*R3tSaBr4T3Lp&=(gRV(B8~QOe5 +*IUf-+u(HbWs_4?7@ysH?8+2^##Gc-^&v5O$92#Ah8n+UTAG-D0)3TQME)I-$7Nd|b$mTr&y5zI-f4& +54T-@voyk6b&GU6;YGJ8E}js)lAPi|LO1ll*Ln{VBfW@G*Luxbc8$dYM>#=4-|@rw3fV@O)Zo0`(OR`U=1E-kw4B93IiJ1`8jt-*on*2YPAOp-WO)rQ_aY6S~)Ct=pE+x +bp9tP0K4+_%(XoeaZM_oX(M?0|QCflZEJ;pV*jijq%o7vDpA&Y!XO|qv_S-D2S35zu<79s{ybF8^dUV +{fUfGw*&5(G+(%t7pT0Xz*VaM|==gqitF2}3K8ZEMOhQDr$>sp7KCCn-^>&bujW-aMC`T%o5--+?!tf +5NAHK-)JR;M55gPDk9_Q_p3NBKtdXj$^as9=lp;v)CW7;wtWfhRbMibz7#Bc<$~iobX|4v=lXN!qt;liX6#u#M)!Ow0<67CGu9i_xud!`U^4nm*XDvN!%ysUw{Fb3+*DU-2pX>oc=5FaC)1)s>VA%BnVk)YCrmCKYKG9f0Ckz(VZ{6x-<7;FlG$e +Ko<<>}y4 +q~DBkvJWedp?IEFw?^h2wNM-PWqTif4aLbArA$z3?yH^=gl{n!c6hzN8iES`q^oq-a&ZH5MB7j>dp6y +C^9IuA=bwZlX^Dd@@Ly>fp`7C&c>RSk0c82$@bLZ7`9+hWZw+|p^m@gJ-$jTi^JOv7cV*n5GW?cf8md +)jyI6#I9qRNc^4r*VQu%q12G#Vv8=HRvmR?27BL>erJMz7N3iiNUOlLi>yFcDm8o(4KG#X+ +a#61V*ynVzHjj~Q+!>54pLR$p^4~F2%_%9CjZf%G#i%9E)_Vc=l#@Vtw>j@BPwXBaj`%Yz7f{580#XJ$C7I5_U9FzZ(`) +e$>QN*K*y2&}xE2BfhN|>1eP?y*x{F(e19im3EnV)oDqPzrqNRl4UxT+l@do@}Nu3>N_qYdY7o^Ii!~5IYs7~<{)PeR!`> +4yx$4bP~Yz)%KET-#~YqAgTTytzKsYh%?qz40?V&MU}+$*Tn7PvLHkoOC(;OAE5#4;KW%)_o9?n7&F; +eSC@uyt2(`U|Uf0RX-Q@a9Aegn$^g1oCuUO(Iw3zCU@e^_HN7}bnkBZs0=IS9)+;UL-`h{f9))ry1b +;s8pp3a|SiNndGY5Dr3uQ<{hVQ^J4BRMmZ<2km2coF<`T-bG7tYX{H +B4(XBn_#1<<+?Tk>C#pK4^$w5p`7bo+kT<(v>s6>g`nk2-kd3~(ry7(lTC>S+hQf$Eo)#f@!tx6Ni+5 +8DhDIH+_dxM-h1VxV@J|V+H&31e)6?@e5i0R+lY!hV|tr; +M{y44P6*mQyu8*N{RZSW40^+$I79Pa`A_Y#==>h{+G%egKCmX{TIbysEWY&!L9$X^+X{PD-1{2ZrM1& +rz{nd8y8a@aCFA41_}^~Ni=@-y@=o@0VN^0&1&F3Kf^_us7)wrBz4TkvS^9p_brPHpJ_u&@-4BWv{K+ +8VnuElW16QkcvNvnPUlvH%siYVwLW%*tgUotk>OrBhufjA|oO`t(;d!g{u4~dQnR1b5Q#$b#U{dfaBA +*k3mk9kBr-zQ7sUU9j-0Kk?Fpoy?4M}4(vIJ9gOzS6yHxoJdnXH_q$7m5&9p^=b)!9#5gEO=?-|%HSS +o&O5E{)^)W~~my%J_&U7&@|{66Zzf9=4(jb=uMhFsSX +yhBcg=QVa}wHj%}*#&!?OyVUS=4*4ib7vX={R1x_#`RHv9Wc@k582rBwfbaj`}na_t{dC3WzMHfnP8Z +^GI=6eB(62C)gjF_=59!H-*Viq#X~?{QzC0Uw3PTYpfa +m!=8{BZfmfjzr2Ty`VIWWL}4b#MO1Z +yrdz;@g;r_1$qRe|v(tpr3r;!Jd(F)2+SbIMMVaXk5CfYxF68pDCOISfJz^B{}#35kmJKOLYony&eh2 +?hlbh)81j)pO-{^GqRFyZ*1tFM0HH@GP*z_M`|fN +x6?&C_d*3)cQ6>(e7Ri00H}~QI;*TK#mt;$wk|juySi&4rX)IFZ&{PdW+8E&<(vJQq*Wb3a|Kg4tJm> +LhR{IFC?d7N)R*r0p$Lz1tQQ*My^8PxM`TIrfgVpPFreexnGZo=FRc7=(fsUdhN@6aWAK2mq6U59004*t001BW003}la4%nWWo~3|axZ9fZEQ7cX<{#5UukY>bYE +XCaCv=HJ8#=C5Z?JK4$P7iii`|dgr-1?HqFoi9SmeB3Yn5l5)q0N_^|8_{p~$cmR|*`MI!z2d)yt(Ic +G2H@84h))=Axgl9d&950!A(fYIQ4gw5;A$Mx%1NJuwgEn8U&FO6pJd+$eAtX5Mm{M6;fcB|eG>cghYV +NGWvF$>_vD3bq2*)+lABSUW8SbY%G*6m8ITvH6qKALlO2^qc?w`fNoPT_;qngmc%h*qRg^2nnwA$RVwXb6-=uf^+%Qh#%2F%JvJF01EX$=6qH;zBkLA41ppjeYXht&#TGrI^Qb~_iD +0kpEPqna|!e#U59$rgX4kypUE=Mmjp8*ePuW)nd1MC!cK^=D(D@&mi1$}~_{NyiARI+ybSUkp!OEWw> +P8>b_!a+nI#rQAAZst+zX;SB#Dtwx_J +6;?X#$v+v}?PPe2J>I2WT`J-3JYzNpQQ(`p&tz=^loMjkvjS7I*jS&EW95UoRg9aYOY}r(L{T^o#ZC) +OlDfnsqB~mWx4b__9Aa8T)L6F1_cQ)nfHVHg!tAsf4g6k1_o0x6^+!qNm=SP`e1YfdyrugFie84-m|6qsI7Oq|S2c +a){XF@Y3O7)N%RA{sp^{L$2?2(@q-qNy~dG8Y`?vr(A&#i)mc0D(m&Bv?YiNp3k6ILrhsV+b3Tn&4+C +Y-X9OhsfqyIE$#s;LM5~oT4z@3mT%dW)PUHGMtpWNZr(O&@1&^tta(hSUNYckKo%ze@-0Va!9j +p_Jq_=h+}L{Lk14TDoUkpib-J{nC^sOnq*oyDYP(wnKJ7aftgw`Qvx&1tj!q>ky)EF8Y0tknr6jVP^% +JpGD0k~YcM0kGS6tv2(io}mJwo^Z&1w$vCJZt`4MsS=$Wq_%tB0V7MjV;LK@V@SVs6{NoqM*o|%oYjM +1RXY>XLW#L+uj#&RP(b~k%VMmt-Unn}shggAE4lzL@mPsp;EIA-2+!Y~JhC&WRo++vt}Fg3Rr=7eEx5 +z8sYav(-}B1Cv@VaW-W+%CPGV96~kIl+?KXvryBavK{t#YS#oBQJEU<|PeUnhmxf2MZe{1vyw)2Mcnr +unrdFU}4=U$eqHvQ_>Mo&dbq^(%0ujNfA~0=Da8abT0!l7iB`-lezAm1g0sbro=SKL+S(t9fu{u!CEr +2ua*=)r45oYr6E$iiPcfGlafqkdlkener3ilTBjxE0(vrI5AETlJ;*9@xe8*-frVA1QT5~=ccy +-F4U6X%#Hq$Z%9Gj3*yOotborxEmBo-au@PoQIHM*#@3L5eO!syx+yefgaPz~q1 +L01QCX_c6nVNS@^vB9g;*DisZl|_O5;~dp2oh`6YK6w+mj}`kZC_YYer}E5HR$f9Jy;XYEoMZwk6Oc?$7*0qsp`O!9!ApgV=Bo+|BMiW+ +*mh5-dlncD4ruw4YlT^B$?9osz`HXHCNQD8qJt{^D(EDCA9| +SPiC6N4Q)<2w*1jamru_HzRUE^@4G2+D!udjv@U#auI)*4%uW%@tw23soGe0M9de;Pu0 +nb+2(v<`uvw*>a_X)FT9yKnm7-S^>ZT~xJ6eRflt1Qph>C(ZdKJl3lakTWY;92)6DP48N@`0Th%zgMJ +38RyPC3;(DS*{DEE@)U7?aM4Ti2|bs3}zoN7(HOH +T%*bgeLOIF@?oVOD|P4OPU???rsM7@3wqF$w*E9Qj|yoJ6USzOG%2ZB`7*<#Ua`#`$PFbm$g3L@oPB!Q6R@CQrZ-n6_=B#d168Vh@O8VvtP23IHgH +MQ<6y|%ORQ6%48&ySv?u;vYD01NhY^?a?+DqnSx{rtEZ&*OJ!)IfLgez6qO&E&=7^zy3xF+HoUe+W*4pJtQUDESp%y%GE3SC&U-0)Kb<+{Ib&FSeRC(#JRA@m_VFZpK;N0%3NsGXr;{8tQb8>QoIr+YwuIqvWD@R_np}a=j842UE +Fuch2wcp!gq(zW9f6rI1>tRL?C>Fj!Tphgb16szgx-Q}5gJ#${acD%!}XgnpMtf#_f&i +p`b2dr;458^etzGiBY$j>r}Y>rG2yux(~%dbQr%@#TV69b#$oZfq9A! +)7I=#-KZtY{tS?;Hj$A+OIc*Xsy7}Xi_cKr_moJa48Y|uh&#`52JD+i!MsmAXz&dY5}7pnU9U>f8mD4ce^`cz% +b@a6Jvux!l1}!;U!05S$sK>Z8LxPxAq%+_CYAh?yP_BA9p!G(_i{U-1-_5u4)~ +pQMFQ{}ITaU20KRljx8;=Rnd4n=1;VL`1+jX#6B|AVJ1rM#y&cu7<3oadx(lkeH_Eo9<1|QXx4<~6f4 +>XH+3IwCd~wKiF?_TB3VWB_nV&=O`DGxj9^+mu=+WE#u+r9wzTx+RMwLTureoLH%tp14yYkQPFa4H>r +}OgYZYPxs&+KFy29j3mUM4>GGWWsdt6JJvbtw;moih4OPyfZO)WmXypn0&+3Bl`vp-&4U7lTCeg8 +jKS3jIxJ=T%@m#9K__1MN&k6nEA;ClZ23_m_-hf3grGDYJ~(I!Ac(nr +XW%Mf+j?zi9i`uIA}{1h=~Rj0X5`(04Rfwt4iprVZsoq!!QA*mIy60Xvk23Um-9GYoTZZe&d6}q!0s# +qDDoa()p?q&6RNEqb2fHOB7NI@Qfl197U+qn4PF*pkP6B)CP(Q@P&X7Mv2HH1`wI6q?k`EU%}1-2r~f +7!jLKo3l;%>7O9D3v5QIqu>@+8mRQPV#t=}9DJ&RQX0X}=g)gjzmYPPcF>!;U3K7o-&iqm6_Z}7ay{I3<@hb@Zr9)k_V(Qh(H-tI4G>-2o +jFK4!}47<27UmDGsDKz~MlJ6Dl0*gbQ*95bzFDRAZ)V_+Gm$vD8pC` +Ch~K8ot-?z4ifQ?T4V8Dr(?5pcc4YliM}iuF35>M4vFB3i^Z?jCO$<7}OLzb%N1=L7mjZQh?PA4Gash +W(g>CF*I}Pj&)Y^kSZ}KY2gs7VI=`qBe?1Y(^faIqJhhVUyZ1$DXMCL3gOoPzXtd<*mN3Cnb!cZ2656 +5NDX462|`db6D&;#DcV08EaQd%X#hw=fHVN40U!;KXn;h6aA*(+4f)f+p9YRJaHJte8Z7*V_R|J?XoJ +{j1PzGTXvnt~%cF&FEqrU?TMOS>@~VYbElqt3=UO<|l5=esfhJT@W3}X53+GyLP5?(SSM7p!H-X(v;A +j!Fp9-uCk@%n?u_90gN*%FcM1t`JgD}EGaCGMZDEe{OB>Ea2|FEPM!{@RmadBj&vNucQs^durTwU+}advB2*ewx)>F8 +_v+fQA4KAvJ_PXhaq0#gxe(p=dM*#jsHX3ZaOEq6V}>C5DM +HWMk6EFe0ONwU{MkRDt!pp$f!m7nK^rsIyN}*xitK0$l`k5%8iTFFM$SGtg^+mtYVRfK^b7KuhPrG|a +lBf+}bUs3ky4KrKM412SF6K^ss7PZyI=3?X&+N!o(K<*xBS(SY1U{y?@3P-)T9HdH~2Ah8ZTJG6I-HA +hs;-IglC1yw6@?#)Bcm?{jkp-Kzdp`y%`nV&+_cU34!8i6KYsT{?3eWDRq0V*s+Ma8hBHB}nW4iyfut +_B4Qq3X-=WhKCzu#PL8yjGPq<_dvM{#}1MbDS5>YW)v>vXwUD1>f_z^M2m^?@O0;9vol&)3aeT|6B6l +k4$a>auiSnyW)rP*%mfMf|6SdwwJ>;pkoe8X)A#E)j8@;rb#N{naMPNU2=IOUyLEE^TnT?DMGY9%npB +jD%gOI3EyFk_b*B4J}x2KNwq#IuR6?_K9nA9XFR(}jt3fSr#jKUI>~_zHQ9iW*w1(I;V%#MqQ&Lakz8SN`Tfejs&s>N~;o9ViKD;o38nBEcIiPdmy$ +j#*2%c~aGgW+lT(`0;es9uxa+$>g$;pS%Ai)DA@^=7+S-^&DO)qlQjIP##^xV(E#G#!S`m;IA+_Z#s} +8d|I$>ZK@nf19uGl;t1pA!XBHlrC58lky`R)p~PR3DMfOtgqEw+S3DkEhlg({`+A)2uvXjAThQtXC+G +KhnPsX51CJNB6PNU5NB_YCsC3;pKLp>Vh^@01$!-fCOiovqU(va<8JIDYi-zXIc`JFn_GqQ4?o$^ZPs +Gb2nF7vei#Hru%qtciT3xh<7;*4JKMQ4d1?;Ty`AcJ-Vb~;^zRqL?R4^}WG*Iq7ts2@IGwA)bYg7ior +bT}O>8aRELM(E;XuRWbpL-n?cN}dFY%SJTemUN*y+*Wk*4kiv2j>k1x;>;;r`;)tM~8UpTGCd*PA!5= +C13$f+??lfivpLLR}?D1$Lxg=F`Cq(|CQM+#J^9v({7%GTWc(a)}*oYofRB{XSmL81SQ>R{C%xK%QJ< +d*I_m55whCNkqSm77WpXKt}$dqDrrq-CfqW>7kux}nmOI80&_km=`&PO-;Hu5lKIq +w#$mM@pnJ$*+5MB1QkES2%!eet<-uT*__b1)f;y6RLj`bNm)#c<7pPU)_5AJ-kPsIqrex;4b?spWleE +~!IcOQV8eI{9=mQy-bQ&*DJ+_u{07e&-)*fRBlm=e&|;oIa0~GIVwXH#YUWsPq8 +O4ugv!nWPvBcbCj%*L;@jOv{!x%+t$rj%SbpY-Z;0XpxW1=fsd(0vxgBPJdmTZcLg=i~sZ9T~;gnj=b +Y)CYF3YnUFns5h%o_urc3?RC7Z?VpP1uUfrNqVn;pcnt0RNqD)Z$_D&X)=~Jw#+@U^e5bLWgYG9U2RL +jC;|rndXQJpxfBJ4kS-1zC{*1_WvF@pFJ)T|B+aD6CAlo+8J~i&d+5X8men*Q8Sx=EtIqpdht1Zj%`Q +Xv%vNmstADx9=Y$o4+;)dU;@Km2C?jrL9?)E7KV0{dZJ5E@u)W=+hsV2TElbUEaGnqrjd;9+TR#hL<*HE+)V;8%RKpe5 +BySlo%>#iOy%6!G9(?wG^C7(`NvMTbjX3?z5)28NA@qNhV$xTuvc{XHCmc;p-Pt&C4Wt3K1TML9yB*l +1o!?Sr_j;rKO0jl|3J+1Ex9_%$<;467*J?})=lvd`-Ww1=e1H%g5SN23bGeU!XpUFlG`$`TP(uKagmd*STc-R7@V@3Xf(#Plzs#9 +ty|=v~oAuuG00?TT+`Ba_lET2|QS?0^A<^ZpE@wM6A-Q63}|6b9*NA&M0HSJCC-$c~*?S*c8q1#^SwwJo?m2P{b+g|Io*S +hVUZhNQOj&$3RZada($GYuAx1H#=Q{8r|+a|hgqT2R$RU7>^x$H5v&9eOW2)1k?IcHoo1u{}KP4kSm` +&J!nF^2uW0K>o&29l_ZSXJ`^nJUTVNy%emNET&t7MC11yB*GMlln@6;BY*~z@Ig6ABYWLzNE4s+~!R> +hnBj`=S|E3B1_VgFQZgKP<$<=CLqL$G^*inuPRtk&EzT&dey{N3>PEEwm6NcC8~hqYqsvtUX1oG*&&= +i~!B(H!o868WISzN;chd4KKX2RQo^g7eS^Dcj%aef`>;yxIkxf&ars_jU&C2`; +_3Pl2ch^Q4MqDL=&CBM^Y|jbP)7ws>0cgFn0^5E5CQO=qiOs=8sHB2O}sIDg;0BfcIo@y7)J*jFw4s) +cxZ_yF>v8})ytAUsno&s7UC`@^7KsQxb$gqN!2rD}P#8CI`U|JMq_Yt`~jwY=L5t0UF_NI^JOEyt?mW +HYQzRR2>2;Z(IuRLf*Dtc183s=p@x*b*vhS~OW)HxY8WcWR_=crA3p3I4mkOJDX$D?EKiU!Lvazt4~9 +-y>>zK}|2kmzSq_SiuN5j$+X4sPtk`VAYolWL$r+)qeSvFHi6A$N_p=aSFnK9W{#uFZmp7A0Dmx`Rq3 +kO9OH0d%d1`jFJVxR@A8i85Y%So|Evoif%ZY>24q%!MsRHmfvPu1m*lnJ!c77HYs0$na1ZJj93Ixt*X +gVxoWcO3WXb*CxBYBB9n(EBS60a$KVvJD7!~g&!=#>0`xQ?YL%AloV*Ft9ShS)&K!4Z|SaFe6%YY +M!Qqih%;a0T8?TyVz2Mg0@zR!o`6#?Zxip<$-ln5zv!Emh!Am;|E*L6MOt#yPlGRRi9zE7S)RLYe_X| +H}I8O1!2CCFsCzlu*ibyw-bx?!}1WcYD}!<-d+KB5Ypyalgj~nBZu3olpsfkp)pp^1lPRRy=jTspUZa +Du>W(p>KU%ZST`6Fq<`BPZNwxI1wjywbqNs3e{Q902Q($i`*Ry3`31R7(5a+r2;z#PQW +D*VnPjWSaVy$2T$*4Fe8U?vkLrjWnyfsgZFE*=z#m888f5c6jvRy!2<}Pu@g +dR^*^?RudPAGMPfW;{ +79^jud_*2v$Ty-Z^e6qlG#E-ccnS^mJ0Bi6Q!4$Zz>fs>(6>~8zi+x~+NggrTD4;u` +&T!x+XdSkRW`sEF}`N*|@IsfIu`>becC42IwjQNoL^wafiR4x_kZnMAUNeYeNtmoL5-s51X$iGu8`o79#XF#%O3l +&1@ChOvVdIFT22Vi&wy~0WKns)9)NOCI%aeom9sLxN#?vV)+KFt@-0+6kJUNx8$vzLuX&dI4RpV9RKR +Tzlh)BSfQlpV*v#QA38mhHInn1S;qM}iV)!D%1#w(rCQd1VKI8r>4E}#Jj +J>>^*os1&@d8Hu)WDqHkeSK1}O)Sxi^Yrs?Rq2jMKH@L&Be2_$W +m&crVleY$y5q(AgQ^#kO7TbIK~|4a!ZU2Cn1iTR{0Vnc=&;yfil=NEL%OzsXAwet +e@ujbyKL8ey^z)qgOr9TD=&oYcOVdj^BbV$7dbKz?K|rA&Z{}&YYmVdEFnF&M!7Nj+;ae;}M5&CIjtK +K-nQO-FVE-K_aM4EQY#kHeWYtsUb^SxHLJ%Uz*J@JbLP?5>n2 +>>pI{fXi){ioE-l$n7NOrzvJ43dsA(>$~ng|DJXWTruPb5G+0#7KmoaOB#g@cNDZK8-^h*)O +lzTn5*vp1RWj>xwe*v@U24#Jg6gQCHiM9ip#w66udfuzJ9a`Y+@DArB6g$)*SJG+Ev}iKE)%A09+&cu +Uy#FU>C1)Faog;hIjc0{&Q1G#yJyV4NGpTcrttI8onq~F#?>IB5F-hewXQFC)laG-4m21yLXr@rzj~s +dV`NnjwTbI6}u^+rt^kKa?^9nO5nZa<71_?P*Lqe?3h@*+{8+?F|bFf!>a9du*Ff8-6rKxj+D>!h$^d}`UNs0QaX$pYmVv|y}{={ +p#yvj;H!6CUSTon#H)vKu7@ByZ8I<7JsQMSoy3n8?$L4pkkMb${SUf-~6c`X0p^M_RzY)fLtIpkWOdM +_GnZ0*dNZ3_G}(OaDHpJ}c397A0bt7cl<;C34yRWk8pN)A%_mTniqa59+$@~nEl4W0(mb}vBp$Dkih2L)N +-Tc@$uSXPB7%cZSP%?mOb_#sW^S*pUg){!$isOnm+O@X1H8JLlvAzKxY#c3m>r}u`<3kPJU1-64)3e3 +N;-6&&s8dyZk8-X2EijbTNfDs-$Nw$N*w5xnBYS^%Hj!b{@xs$q85A7tjscc9ntOA7jsJbRc`)|qb3J +N8o)S(GW{(F;vmJBJNy1aL-zNi$=n^l-|(GTs15&7p-2F(7A-;*5ngxnOY$62$SPW^*K6(mUMc8W0Ti +Ck?T1z(Ky7JK`z+`QeA^2;hccG3I#_3p>r{X5JY$YFumeA5JtC$-3sA0Vgs&mSvs4&kOirz2~PsGms3|8;Cp*W2jRx3)c4~yjra=EUx +mDOZQc;Tv}Hg`23!T5`ZD(6NUF8yl6n>Y{?u+MQ}pvM!Ys$s*`pWzNkyL19%?LocIYiT0E$aLR2LRwb +T)L?zsqdQZU3Kmot=$#q-a2Rz6S0h#vfohugILAWM)376v^xa`L2d^8LK7 +p+IxIHj&=FQoLa|-HJ9&9tp-hJ{=Wg1_9fu!TEVYKAsKif%q>LQ7pHmNK&j0_U%sX@9L$U%(0HzBpD0 +DYOP+5g$r1QX+y;Zd0)4WWUNj3!~0;kP|l_uA~WDf$80l&6i?-t~Bep`+9_Mh+fhA5LU3^M2SAsQk7O +z8g~OX#b=LES~SOeSncg2a+71<@*zStks|O*hgVm@)(f;0hH%7@Si_A*YaIbU8&UWn0_PR>dt8ECiRvS(}O%$Q+|ZS2cLc6t$wmSD +RN?__Z4j0%N+>JjLTIE8NkRmZjt^r%@7}BH25GhgjCY=AYFCn^zae>*Ky;^x{4;-z=`th`;Ifj}cXtA +s&6h?8)sDIb|Jb)~P{6*}MlB~SJ2bsxK1Y*GgwO*1^|mkvNk5UrM($&Q6*Z`UQDee36nM-s +J8K(a&$xyGeY3pDb&xvPF?e0Y>~Hcbm;$$a2XC-(o+%j$%N&NAyRdd@v%*69d#~kVek+T)k=$CggN<^ +}%WuKlR}0@8^$&oBNbwjtTwJ4Gue!TWk7`AIPR9s*#To|R@b9vMGg5%yI>!y!AD%ASfbMG)>Z2AwRv~ +_Ibq5Mnk+715=4eFjz37GSh;=QwC$xC)QEPQ9fbYLS|JtDSPA5u=yP;K7gaTn#5d)`k2ia*n4@RTgi +4`|$Q)H|!Qo7b}I0~v>RnT6w5P;P^x!@ofTnt^tv{3ZIrViEYi%#LWG$|IGclXr2=(bOQw!D*3^iWWl +VEta~sIEJKz_CMYGBS39nb}sLcCnKBs93rjVDqS{_se_IInqpjlt6Gz{O>OjCSa@2B2<^Tj$-UodJ#w +|U}_N`xDtsJ3~(B6kdPC&mDyGRXAq#8OvYwQ*AUD2t!nYFSNm?j-X*3ae9dft@u_XjVUpDx6wEf2cG0 +0dgmenVJd`q-ajcsWf2Z74Eo(7UrR~-TNdyN=?SrXqqAtsX9`>IC6)|qXeP~#)+P>=&!CGbvPH7+>oT +-H^T}f+y==zuU&ZvG*&mhj+TxhKyDT*Pos~u}KkIKMyBZPVG7qz~tYrZOKf-U-CngnhCsFo!Hm~xZJD +Cq@(8QvatYr0m6)484( +qZd7Y=0=*n9)<>vK2s=G|${35WY`zn8j-}YYE_SZVpT(q9?~-e>`LN|H0}$r5l3L}A0?cl1LU@58;fepabtoa-%RSBZDB*0#30Le{er4zyf +_QhKk#Uge0XS1LVJ4YQZZMj)xdn|_tmDKElUcm^4<=BnIim*8h<$)m#xWES@f7O4Fc`nX>Ll^QA7?>y +o6XvMaP71JGjv^P* +HilDJ2y*iFc*fK-vVTs`q=Aud*)QC!%!$5*Zx_++CjL39?w$}NUn<%wHdH%_u9^S!FFF(N6aRB5P3n9 +wBX$?4;9(QK%MQlxmxwTPLE*pyh?3)V=FDY4*0GZ?@fp^G2>y|}|yV~zuc=sdxh9^c!9;205E2`dl;) +X}a-uhhU#d}p=Xq%x0d*fDRI9K#T>$oTm3Pi(r1raXC#bBGA-S1OXbySDIj5QU^`&05ZBL~%8wr@l8-}wbcOeaGkrpln&!UNZf)_GB7V%R<$mSd5%Zr(Z)HC6K)v;%CjM4IgggG +CErn6%ctxah(@x$ZRG7!dVX9B-RgAfwcAwyD5cpUo +aYc_gv=2+Fzr*PlY^9z`Z$^k)2x8Z<5(I7M87j%{8^hkuK@qQmroXS*zW;nayq}Ad +DTs`+Tth^RzI}3sL1R5TR&Ge>IbR|%N*r`h~GS_b<6VD~2h66p3Xn{^9M{uzY{PT%f|zAD*4(reBOJf +vdJyjx?zgr5dAmZAg^a;|a-cCr{Ike>5WP>Aj|zaOfLOMtk&zdjIU{SiWjZUHcXg8I%yg$W`i4`i&mm ++);Q2u~Zn?AAS}43-%{x`-WglkAc*WLJw#0wEr<5yiV(L?6p8G-2E4WHfqf-o|S=tjjl`;il26Bt*cB +bz_(b7Pg4XpTyTRc9F}A3^S~gA~1LdfNJZJer%a1&V?CMz_-xbd!^#qwOx9NLBfn;fEABQkV|CD)F6s +yjcJ@*Mb%juEmx7Z>zI25Oimq%svdV=$)Zf8aW9WlxSqPTX}ouWSa5KF(x@Q3->LBqFJSoq_Uycy6(S +yf!U=l`PQLng*2A|Vj__XLO)tzlCjDsSo*ao+BVlnPd>vsgI8@Zb$zd(^+6306dC7H1tm+i`eB3vdE`rD$;u_zT;VzhM8^9NRkc0% +MKCQnqf>9U5Bzr76AYo5%7;~mYn+=HcXDtys^F~e!gvs)o1Nio1d_#a6i7h6lgfg#cd7z3i$9 +Gn#6!RO}H>+0{Ied0gugb!rX5WOt&xY25Fj|zs&@GBK02h3NjJbJh_}aEfEsNBeEtJ|MC=nG~3@Oh;F +B7rjC9Sb#y=84^o&rq$C2bnH^a?UM8F?Fg3OE#dtWU4T5Yfc&f$VScQ(iy!OpPbAWU;d7=!O^mc82lm +Mg|u9_Q}T7rTB3$=RIJ?7FcGi1k=_fAniV47SyWQ#8!&U*v)eEGlSx|F%KHaEf*e&A9zx;ZsMbo6%ud +egcwM^2)uB{+ACimt(&`#8;8Ha_SVe`NAx;C27X{J%$f*ERfooHIy40J0k^<93u0VI*L# +z??-(KqKerl@xTJb*ttC~c$6cEooyJ$fB!6O`4lQrt8*R1$YqY^gn)&R!O`aNjdNN{xE_RMSkMt;DLp5y_h(6c@d%-Ut+` +oNuE&5@GqZ7(QoA3CAmu-r|SxsLBcJnyf2-Fg)Vv +!*`dhJjTPx2fyM*y#><$2_oaggGQ|eIn<6B=7n#!*)d)DN`#j}#-k{ts+f$MIQ`vfSnF}XL{!n2Kozo +35=IhkucJ>u$D6N#@qDwxkV+Eh3wNxPZWtPg;BkrQrF9(~2;u*9PuKbQ!>ci_u$cwSGhW}~4MLqVB%u +#q%j?ReMwk+$;6Sw@%k6}$9fJ4^05t7o6GYh6dtkBn$DV_w04OnukoKyuTbvZ%^E*=|I5Qlf-ryjd@QyhRBbKL(qV)LP@*BBUkRe8{|!(}0|XQR000O8ldVx +vH4flyPaOaN@GJoUA^-pYaA|NaUv_0~WN&gWXmo9CHEd~OFJE+TYh`X}dS!AhaCz-rdvn`1w*Nn$0;O +kaxsg;S-R&b=d&i0GX=al&+cNR=S%sBOOcJqO?eB*B+Ny<&1YjVu8Nz9uY7)YEPD=+Ovi%&gh)`i?rL>kXOpF +(QPeCmzumfq%lHhHKl@@PQhOikbBHfcDAHo=H7wo?3=4in4iJcdO=`Ynaex<`pS5-ha-u$(a`F?__Ud_@?wM?)jiXaZ3rby`^lo1TaF_0vuJf;4`HSw<-V6t-u4VlB?kbL;?Aw!JIL{NL{S}16!l#v+`%os+z +5F|`G0-LoQ%fG(vA+8r19?{#m?fR|xIL~b0Uk!h|Mk%?=j>j~;mPkczI?vZ! +Y4`!SL*e^@BBk4eSnQ;;W#Pp@kUO+ +cPp@*s<1aH9TeQKu3$chBSkhMvH08pWq(%(L>buf$tbdVAn7;PxDP{UJN4*%UxK%s;x>0`?v6CIGpVZ +)^V|DnWm2{4BQEYNLG+fZR~2>!%#gYkqD;7kH7bxfq{kb4T$?kK3OFIfdaz4JhP9xpMssBKC{az6nC2 +Z09+NJ$L^fDbk==g^OSh9Zo^Lr7;n8j&>2G;4XKe+M)`DRCdrySzG(waV84q>@&L@c&YKi{^BO^|Y%#(NLeEM4sqy=FWPD2cL?1knppp`Ajh+Xw#7|D=9jjU`pQv(;MoYp%<8kAY- +wg=*P6$a;+T&4tM7v;~AkA@YN&lAD^F}pAy&OY&IgNMQ(J!R^lQ6C-O0=VNC%xpfos8J^B;8o<|wjpN +=gI$xHCgHgmztfOUI-!P-AG0uCxHl?d+Th&ZkveV-dRw<@z&DUMGEsA&<9r&Kxq18flD0+ahb^!xD-o +^C=YbVQyUCYCW0Y)lI%p%4cTso!Hl-zKdhKfykXTLF)fqQ4LlM5<}dGvV^keOe$b-5JwReWv;?8a0C` +5I{hpWxCG3PbL=B;&zv?z=+^CR8efDcaSk00~?A)hX!XLJ5ew|E6sy=JdtdSgY@s}_R`~qIK>y(M}0J +OY3QL|bKeYOv1DbzVkhh+=*bcO(9^WxZ{U-Aai0$QLI&yfpfMfBCp9vrai9jE3uZuEGzBKhKWPkwpo; +49jDdbBOJ2sru2OXtRreTua`>ToGyqLH*6jh#2xb_>3`VXuaDdI8Wej)-IoJC2Xkoi|&=u(2pISUD_$ +&VW=~JQ+)CNxWdWRoRzdt-AKORY3g+JhHfSv;YlT6#aq}VZ(dUAM<N+<3;>Cqv0=c#)~WAj5hBhfS_ZOftT4i68XC}am;f3J`oNRR(^rmXTrCGN1w +cjw9~KNMCuKRs0`)%od}x=PBVVVd;^L~PXWUGn}u?_<^T^Rw{ZbNu%S|Du)v@evhx&8HEmr_ndxG^O= +TRP%2Ut-nRz{JklyzehE{jc9!vee+#YTHi%AzmI5rAAR#fQ(8YnHBTa1C($?0o6>q7)qD}rdJ%nd+LY +F5RP!vNbryYd-jvpPtWAdzF@b1TSxCcYVd$#eqb3l?%eM$~ar^b54jQbWWXA5Wq_xwvCw_~MS6GS_!#2Ug9Gw7`sGFR%a;N&4pPC-sR+RNnEoM0;N)kFcU +gQpPjKKY$b_aGEZ&CD>o7Fh*8I4mr33<<9=aw1-#18~6i8r=bG2{!=I+(^giLz=(e3mO&`yP2I5-=cuC@BTB^}vRJIPg&-U}GX7;J6|cI>( +@Vs{1&bjtPZ@f#F|j1+$KPIDRFID+!-353kTOX411b*UJ{^!Mp$j^P|?scGdn_Vo5ZcK+f>_h5XymQH +p#P6BPoIODALIv1Y2HKv~<)?9?o!6H1MZvJ}kxcNV)Tz&jnaXh +X+ptYqgKa)eoA&H;9HYEuw^r%C<9{NVm;I_;@2i!;$5&Fj=0939%b|mYD5(JS{#TzbefY7}`TcD5M~! +=8B>3krSWTREJKX67h0iB7tM}A-auhl6U=n;=-KP;h7P&do55W=)*y-LTq3n&8SGbz+f_7AQzmA5xjB +3@rjOa&h-598ND|OL6{2VN90Dy2%Sl!->wWZ|R&}qszR8F +kxhURAg8b)bP0h^|);Xl+waalHnmQcxsGc!kLN84Nh$(kz}ax;!}MtIENV}!TC%v2qaN#BP&ie1G||Y +iAkjCdHXyAEr_AObqI)Xp({fVWd0>^*y2vy;&W?*rlqC~X+?W)Kr6s_QsN1FR4ACsXNX>TQxp_mQD+R +iIsycBdPyV7;Pqd0UJ$ybddF8-vaUfYA-Q~|0wzVdzN$jT=vhzb7(E(?mD&MhIGmnxJRBfWkzgvOmLE +x!vdp+wlvlb{u@-+y>W5yZX-$luj(uQjPnXD=@N_y_%0eN2^*k^utWJNOrBvei?RFf(xtT;B23jUs@g!#@keQ8Q +4HskwCEScKqBsZ>BQ{JPeK*zf8m~oaDjq_Qy>V7&_{_FNT$hi7<|26D_I*(&xPe#u=F`Q8O8~WG%7$= +|Ai!d#k#vZ01J0?jH!cRD+C9QX+vOyV?a8-h!H4m)?vvyB%{(&UA*Xy9$YXRW<3V3o%48MAD8#}KT%R +?g!992Jsz55P+VF@=j|4)p!?y5greOpJmfLWXs?SaWnaYZ6uu%XP59B*_`*oI8gYP6ZB5GHbyyey016 ++a{~r3D?l2pd%(EM)a#PiGt4BvEoZ@=`F7&Z>l{Xeozfal~mYpkuUqc~zA5stMDSa&lG58xf<{zKcQm2JSIL+^R-rC@%MC=pW+pA5++Q +Wptca3u?ZAWB(VmC?FLtkyBb>VdVK6^}sW4wU2%Q%nQHB%~afF!M!;D-^?z4$zzT<`Oc-8S&PHs-}v+ +K~|f@Ee;*QfS;xUj^sv0uX=o3rw9&gj^COyl%21MKtE?LkJrcwUePV!%M*VMuyoCGIus696Ye&dqY-J +RgxEClV$$bjFG7UPQVA`G=h>4eH4TSZ^i@Q|^*lmpqn@!gxQ|n4zeJm*Upl`SDO+xe{G#`-V8(I +*ar!%JT;>E?2e{6$M2>~;k5W69&Ixo*pmPGXoj@^2F6j>>ps(-<`n^v-`YpJG8u%^RstMp7*j9jTn@+ +B=t?iVVF~hTFeqpTDww@==b*f&!ADyZfJxx@7X6qorRuH|5px3DBS*={FW)-M@tn^h%C#U3=1J^Gq!F +8&8x54a`8a9UMpodk-z^|*Ps?zw8^lEx+(A8tKbU3WORcDCe3#RZJP-T~ +CDX;_8Bj5NI~I4*{IeaDX|`iHULuFC@@4YDP2dm4u0QZ_tJ&ZNZ1tA5hdl|d{CHfj8@V)5l$OswAFzD +*tIL2W1H_o>joo~mu!7w;?l@pC+$p}lmt}i?qaq#`uninpg>JUP&ziH^9HKAomD&ORXce}fM)ewyoWQ +;k)mH$?>(;txp%k^RK2+95HPvF*HVl!vqgB}1*NbsW2}Xi}hK?s?kn8>H;c)Ss=&IO=X1mZku_4FspX +}>lZDV~=&>UOlQt(uoaaVMcj$Dt%yQdaHhujvcx~t6V(inGy+eb?MS);J1dJ-XFa}?$8cE%^Yfim3g^ +;q$Oe8J?ksJ>z)r+3QFo4^fo$@DW^p@?_Vg@GkgtlivEh)mgpAL8Yh;(e=;&ce5_aND?vr$5X^usYHm +V_q?%Em&$?ZgQ(sBA?>olgT?Vl)tRl2rm|h#v +4CnRv2;y+l&KA5C8(spr-fdu3#>OYe;oEAnS!mYr#CnQ7K!atUKwvghTM68~9tWcBTGM{IL#=C#Z +Y=7NFLc$K0kghnQ1HDav-dfg=ma=Mf@_eZ^DVYOj +PEJ?bo=dkQs;Hw~QmBgGEvAENVcLU93N=;aq7{pkA8l3deuRZYsk%cl66z)X34+tEs(7le{-~|ikEr4 +o$L|9|>}&gdytS3ztgr-9EaA)JC@GRD`tz8n#Rq(?S$f+aNR~1r3If|>$~GLlm{ya@vlkZ&1y`W%gCOe9Nrxct`?86GbYr)+Z_3AI}^%JXeI~%@ +H^fH=>-nsjiLo*C`E_rMRqEh<0s|m#I{(vWmyZ->QVdRCxyD>{Z9=xIJD^8b{DNBEzcdph))Au&3O3s +oO=^qtUmzA;Kah*Yty$i)1EN3QDgk=d9#JMCi{wPp)5w8q_L16+3C5!K)hNRkPY|^qZ!j7xxlO5CY-k +{#=Q(Rh5*1%4COpWX~oyOx#SML597xgGas)h!=vo=5yeaC!aL0}^bnBa4)zKBgTRW%+2fsZ@T*7hf;o +=BGnA|VU4E0cHKmF}lgpTVM0#r9RZ^+!-tDwz;LYZ!F@18)QM-^ZUPzrc&}brGI)EeIg4(**69Gn#7T +?jG7>w#RX?$)VGPqUv?sMxS=bC=w-qG9{{njY)j|KULk|~@zvQxXp?VU-t9|SIW^7OXN?7Q$~<&(`-g +)_^BD%_a2EM2h;Gjkw5fJmm!jR?CmD=!4O?MClkwMvB2Q)3e8;eQ9NU%LKR`)W_FmWgm${! +{f6zn1K_PQo=sntk^l)0V;fwUQah2no4$nypHGUX#)~Ol#=#uLHw^#Zh8zt2J%Gs-P5=Yvci!QwN-V; +$+@x-4Zf${wDKeGSyP5VmTb=<{Bl2>q`*l1*YMxRV&nsQQ%ySLOn7GpVr4v)@K^*sR0BSo7C!1IjW@B +=_8gQ^#uiZ3A;`dNr`$Sv;pFeY@hWX?IfaT1mM*Oi#>w)$=>sfMWtymA^YPI#&v%j42q@30kUuM?Oh> +i=5XsO&(Pvj^#&o>`Y22OInp1i=aviP!tqs_sQ;|eHZ>&BuY=*f*n-lF)W*rFIE^>PLy!xi}}iye)!> +}yQaEDm4Wv_Wihsx1K)bRm~uEe5F;ZW~^1GkDu5y~3eaYNmQObAbXa7fUPEK8-q3!`fALn@U_~{nwT@ +@kdK&KXbv21uVSt^dTw#Dn`DT?&q%m%_{vKd9B}4q7#SS6GIdXHz?p9uCaATiRBZWi5&_=w{5YfD|RO +mseoURia(DmkNM=7xE|^)=}9-J@-1SFFJ9wMdf>ZL-M0*&EM0)Q$D8MS(=2~jWuu|rPQ}JyQT%7<(U} +cCuorpeejFerI$R~=hYs?b#TZiCq=HEig)Z@Et4DO=bg{9xQd3zzw>T*){Zm&Kq=`O0EkB9cU&V(xX0Y +N|0S>Kv=1kgTSCQqxPZ)`%@GdlH+9)zNnx?$bly6EhRy%>C2-%uEc7229CR`4zOS2%I>H-oA@8e%?Rm +13d#jzYw2&{CokQ%R#TVKgWXq6_sZA`K|a&@$=b!_Jy5=B&d`kZo7gpMB`DTbHa@D<~aGuZ>6zDQN<; +cAB0d;pVH^MZJy&4L@-GG3Zc>5c19Ja}o&d^%0OsY%FiJ;WTSg(_1=kxenUhC1BK+ugt +iAJ-#>1L!3iN<8aDL4ncqD&;^A$vng5`Yg!&VHRRWJ1>97x +AY{O|h4)9ixFUZNy;GD9AkwbOM}4wFXr=;uhn#WI4{%*@Uuz>kUFp*JQU19@wS{XRF?2OGGzwXR??S( +OfnzEBC=Uf3kwp0SX;h)v+SGnJlZwl5KEXh2?}eJqV>x^9B6eP?tJqZ{u0Q4Gg|^Cb8xsy0MUfukr{G +RreGxpnoRjJ?QMav+qUi8w@BsuX_bnzE0zQkp6q~??P?6euqn74c6le?hYzbby@v7chNdg*D^;6wliElxW> +b+HGkVic$CJtNrc?Xy#R=MXF6jFM +c#&YRh5cd{i5o&sPry-P;o~asr@dj*+Jtb-EJ(d8s4^0RAnA_U5CgN46E?BvU7_n_`vbLhD)!xgShR! +cA!+m;`(psZ#gQ7xL(Gjc5rAX6|+9dWfMZhZ|Ce%6xFJA7ix85U8)oFuG>^LIp<9s=P|=owzt{$F7YY +Zb%;-X*RK{Jt@j#k)YWeA^K{QN>w?e@i|TK84MuC>EA&4A)fi}>U>E{4 +q&ZeGNv+?&7Un{fX{=l8CsI0z_uRC{9a$(-53kdN=$5%L^q{a45*qKlt>vD>tskSP{E6BVcU`Sn8-@; +kn-x{;7m1@_2E?)?}jt()NtT>K=^gX|+;_Q}0C?K4B?QXl+rGWcJ>H0ENh`99Ph>)wq%ru+!c_;ryGz +xewyczkG%lxZ8*3CB2bCSmSuh`!DBtg1U7WXyO`dTuyku*cpK3moSE1`Ne3kzl&pnYD}a(p6J +Boy#lNT2NpW|Tyi1~k4G};#;|13+5XWzHdk8akpD +WBjb +JqvJ&lM*48<->r~Zec)U@Gm5UL5)L{*;6ZHU~SnHJMw_I%_~Pz=ifaJbVw3%?qm^~PlO$SKura&P$); +smx$Ce)+E)A?OK{zP}8*SN&J6LCE(`@#(zKOFbaz(3-vi&6%klszVg>4D;lg4fuDr-Oy{;*yG&`c@kR +<5NEn4w=sfUgy@PP^A|44@scVG^)pcq~6zo9vNHyA5cpJ1QY-O00;n+tx-{q(}_vl1^@s<6951n0001 +RX>c!Jc4cm4Z*nhabZu-kY-wUIUv+e8Y;!Jfd6idtZ`(Ey|6iZtprELnDaxb8um$sgHLbCB=vJU9iop +$3TB2h%GAWQ$61V7g-yNy9?JNxf$Rh84_kL)p)f&=tS=mbSGzGCPmA1eZMirIiseg|l7q`L)C1a?h$W ++eLLRhX@VS->u7iM3&#%l=O??-M`O*KrHF$foqccb&+tZIZs{{e9fi3#NWUSgndR@8z@t_){)MK0cd0H +g*rgKE66e|lcE&QR^rn7nv6rO2Ned-;+Jc$z3ROLTcLlRcrPl_evQQIa2!Y6fZPD!FbT!KN2&dwM$%ZWmB;*kp0J +Xz6 +G?vMXN9lds70jed$^-bwL2{ngeie2FRT#F`qiri|%k$&oMRjeGFWyN?Umpu&Dt>nI?AI2nr)>2j+R`6 +0hU*73Zd%AI_rPA^P1u)}sK^YPSiiI%AidNT6NQnJr;)HOMLTgIs;SkOkhfuT9v51;O0 +DVbpJ>YQdq&P>#a9@W6-}08!)CrA&jNWysU?_*P#+ny+?GcOumSxfL9`05Gt1V-aDi`fX6|};Vcd9g`%wlaWa7ZPM%RLz0<3uC3rfEdA7<;3q +(WIBpDMjm*L^ph*NFY*UO +iO>o}fe2XGts}-C~25em-|1U_-${q+&CL;&-*(c*#EVy)J6N)Om?4~A?qzT>>{>G&22ke?#GO87cncQ +=k&qc2rQg$@)0CzG%>@uK^R1E44$HSDQZ^OS(mCUy?y5n_Lwhdr6b-j{wjo_nZC6?`0rNpoh(#;zhKD +7oe7=}9k=SJ*j%ItlK-Kv(ixIMF+YZ@B#dGm7=la>`px|hcX2j>}XCe;27_WxXECMmoA|Lj=vC5|_gd +z>@NaEIVUva;*qz&Dzt4pk2ihbF_>Co|s{YXTaOGz`c+9yp^~mx$T6C54 +bEfrMFQ-PC*CbtUbz9O6)$<5{Sdl#)oZ$9yyLg+#_o4NE%V?y-pg6Ej_cAvHy^j~ik7ek +dhii4WBis`BUafH>vI4&$Hf;!9*5@3@q??*|T{TbXEdOi>f#0Waa!TZH;f6`KmK{ZyDo^HXZ-{m+UMaF1qpt2qH&&HL!R9_1J8zxZbK-CBo)mcrI~ZpRodDA@ +FA<61r^D&LbUK`?ypDy=D9zE6@E=f10|XQR000O8ldVxvTQUPCKu7=p2u1+_ApigXaA|NaUv_0~WN&gWXmo9C +HEd~OFJo_Rb97;DbaO6ndCh(KcN;m9=I{P1IG&xgy<@p}h?H2I?pc*3+v=8&vE{nDYHO33Nis{xOezl +@o}K@Ffjsbifdompy7#^9*RL!_1b{#w5C{YU$VHZ}d%yj*D2p-+fBUT$tv6{_^t^eV#$^%yR{wt93!< +ASkJ99MuS_C84Z`2zs0cGJ&L2H$%H%~BCCf*T&fdT3{i*jZO+xjz`s+U*_0<0!CuJNT_$x2-d{yxAw- +vO)yi=H-!Std;{eM$d6^7pWc`pk$vFC?D?=~t{z0d#p>eZ{$7muIU)kevU7e~Q?=4q2gNx?Or*T|kh> +dNbCsRBREvd}N$`-8fj1J(B^D08mqQw{1p{pMMZO7t4eRJDb-?ACeUX9r1m8%Ifa5GF-b+)MTvvfj&& +y@sq;li9t#c!kR2I9z)1!EKZT>1}>67>qlZsW!aZC$h-)>U|%~AsJo|F=_P79_ZDfHpvJ^otLh#k4o&%W!l1gh)+9TxI +W!e{g)&Bp?=U}z5>-!dpr)ss9f6*)T15*_$x4|u(_a*B>wA)i@#4Ub(_C4&gGKBu4^mU@lLuDIb@X%{ +-EOO*RoBhvXVG$19L&|kxeA44J8Nszt?44Q5T5+`$@Y=&)P7xtd7+H@!P?8N9#Z?iqxRm@HjVY4>noqhk4aoT_`Jk-B$kM*;d9Lz(Ss`!(yfD4CCBrd8fv9sC3N_mt{LR+LU+1**jk*sb1 +lFPyX$jKRa~R)uuIj-7S5Fj?fH#SOeNteN_uE!%zO@Y2X#!v;2uQu@%#L*0@H+&1$v$twIb{hjlZhqy +k#v*&>MES!ZTe&2%-rW?VM*F!p85UGJim+V1*|zroIoth%i^C^vEBd#VzH=bBElbhA-x8ZxRTmCl9{v +bIM`0-b68wNn05FU?w%vmppTb+`OS3};o(!yDQ^mF=pxS;r^gb*Y?KJ*;JNU8as!pSZj9Cq1@p8MN2d +3&Ss!=PO$gnzXewhn{+i>c0<}3TUG$v~4apdt^6L_2sMEv4-EC#`WL_X*rL>gGvNnJE^N0dQX3O{A^z +<+GzfrtvuP=NRrkKaC-kuY=T&kq>!2eo1k_%}P+GA#vOzEWtKb)UbYVpm}d;yY=TAwO +9Ki4O9hpH9~vIZbjHZHb`6Zb~kRR!R|V$^+k8;t19a~J$UAjS0$W3Ag(8B*lS@`8c>b*16ZdvzLxug& +TM9R)Z?BP-b1a$17uw3>fceNHEs6`RV*@X&#lc~*irJ%mdr);W_>X!P?q;1kxR_%9c56bKr9Lm=CpAX{L=G39HyXz4 +;+v#^LyC_M*Y*nmduH(laf9zF=YX7R%O_z1r*>u}ly(0{1lBlh;ZtfsUQ=zgN*wa%e*O9P!SnZY;QI_ +iFMHPB*(%r2R^Iwo6G###c#t>mKqfOOr4y^X)2RbE5}foByH(Q7exbrhEruTid9Fv%|qK!s|W#m# +2F6Jjf--bP(jVPg*!x9QEE7QaS;+j`bf6+Lsw;BAfCHCk5bd`I!zRo*GLS{?H}!y736sw1JL4oepQv|E +g|j($bmwpN=;)9Pd?5OdyBb8{un*xZvw5gVyI-l<(}X?uLyri(N^2)!(}j-WcGEe}Jr1x(XkMND?5;< +#;bd-b)Y`?{XFY}_iOE0lDf?G +h?%s>Sp!vV0fqfi0XL0uC%vK11B4+CR;Xz$_e?A+BTEACf@q5f;zv}s*CIM`!L_Vv+JU8Gma>>0s2o8sQ?--7OKeEVq1R(CX2D@?O0yZXJ)KG%BF +F6-OuDe+`%`Bv#mo;t$#I*#_rXg@#IqFhH;b{LUuOL66)RpFK0#uBpM+tgO2dq(>8HEqif(gQ5zKd9X +{@VdxUHTl+{dsm=sfmXv`62(KJG5g#6DjD1C?3i#ZDYM`X8*dkTTh6sEOICVMP2kxX;h@R2M;>1>@?R +khnp%6>-!;96hg$2tf&+WnJyptWDgJJ?@U@mDn0X2@+{_uSES+BS60fcJVA-TInUb4!H}P~2{nMn|`C>1WZVz+Yd-Z&hR~ziKk51 +>+$0lHdWUG0b#bvaOg8?#T1MY;e5>r}V$*d2yWH>KJ8W9GO;WT-$Yh0@yZ4 +y=r;mXp>c&XiX>n^x7lEcB{F=Qp`i$(!m1^1bJU|p`I?}_UrWl$3c=dqi$zW@8#dB!0tvf@Pg*62Hsg +e6rgo!9@2or(mlMPAAkJupiF{r5hZ#^vMjX>YJ=)ksNT~;hu`wjztVRS)Vx^fYZLlRX%XFpfwtEF_2` +inYQ<5GYc%!n>VJ#Px8HnodwcuhcJw06mfsAf)9E*N6}~+J@`}|C>f>+TDuU`iZ!g+1`OVT@VA${Xzt +Px+@J>yWt6iK__?CDZ8$Z6is97<6r6NhbgOv*Z&0{U6+)p=Z&NkYpg|*1iFJYpr*wepNwLOI>|5l6e* +XPPT*=%BE9iKhlLF0Q>G

%H{$|%hf)+_7 +C^XPyf9-1+t1gT%mfOp+pK0;I ++w-r(D8AOt|a=#jUjc+DsYN=jtlJ_RNx+b_}K6bU8WO~3UVlfYRmGhw#p4r8})j36EbHxT_$xp17yhB +jY~CE?_tR%WjgEQU<2C_#15AiwQmN)Pnl$uYWpv}W8XSpzkkq*>l3~}HJt9nl> +&R0HdxS9(uiuxGC1()E_sflf+=32c42yhVbNC-m>&$r9FX!tXyEJ?=G2GdCDa#)N_~CZ4_#vlU?BN{P^2wOnBM83Qs7r~K`k0LDxnYEYAc6q1JH0D(PYj!nQ +OGpSLUmFY681+aNB%~IZm!*Dj+)QW@F<^XULrKe6~zxY`)#aK=nP&X%D~}fPbZsg@t^bsrdw!_DIi|c~0?pPZ +OSqeiti@3iL#S-hnIPE!|)?WxNr4Q!dp!AtLc*={oHg0TsP#?H6ES8e1ryU{V2|7F>=TKP~C*8NK9 +U@cfd(w3+U1K`9opxRWZH0}daD+(55tRCmU?-Cf1;vxs2u)d}NSTuFSRZ>9VxSimDOLK=V>9=|k?}hX +Lf-TG8w-2zA=h+kFI9V)IK508<4V6b3?Ilv5%tg+<59a%k2eu!Z?KyokHir(fCx0LQ_q%Fvx`**VSkTJKaT4|Bgm14|wM~k{ +mA4ggKf8KAPTmGMHa{*a%sD8QIL$_AR$4a*N$Lcr_un`Xs~N~)wMbIbZLrWUvxjLhFLHW$nUoh8wPXi +q*ad#x;ls`g~LpBDI~r(Yc=#@Gx8#^i%u@s=>=j#uvct-j=v|qWJ|de6l5m?X~d* +kUacUHhu{PemeiY1n1Ubw?n9vFpXJhUm8@|Pd(2C5>49F>&BvXXHX4xG$j^59LG*jc0)iM3bToR@v2M +~RsURjvq%I!S*Xc299=tdFlz59RcDm2N_D~m-ox|m`DeM&?KElD3H!Y6*UzIH&jW++BcbOzJ+J;(q21 +gY+^tS9E2qAW8pBPyHS%!4Gf`EVEYMR%=ZXDu@PPxsCIvNrpQI*NQ+r%GDa=@`>tYEYsu}I3aeC(S_7 +-E8^JU51#+d~Fi1%xlbfR(j28s6$;I=9V|PwBZ?mBKbRnTjn%1 +MCbOOYpkpOLXXwdEl8}Q;v+wtu|Htubzx>!Vt_7ak(+B +qkU&%q$q7cbC=EF^)&%2oaIoPAtdW#u??mvoj_@=WDjq`B)EALt9J0?Hi$$@n_Gh*x5D%kRlSxV==e}`>;_rR*z~dA4WNBf4)i0&rA-4M6OgmNflAa`Y>B}qPtX&P) +hi6_ki>WHhQU}CQ%8^@#8{AWkVty4(~K1141sPjnwTDwzqKc-Gh_l;ZH^k +8I*l8KybSq>l;5e!Kd%ycYCA+E%U1DyiVSu0g7*xi%-*8d_^InBsyb2w2KC7yN-|vHD$L>vT0VE7;yl +ai9A+niYM-2z4EiGRH6<;62R(L(<~1h>Z1Nz6LpIokom_r8ca|U1y;-NL+|*XFQkV8FmGSnYgYI63+O +30cbpp27+P{P*y1NqwLGH}1dxvvdY<8x)8#izirDzyDIM=Y_iJ-%*>xh}sMxj(k;4k(Q$mBKj{Kfy?* +q_iSyIZo(MeTsVc%o7UM_EP=4hqR=zvtp0eW8J9fHyRI9?1nKr3*Akub6Z)v_dWaJ@0ONs-?-9wyA4i +vMt0{!kvDPkH>>f$EQtl2sg~_<8g=evID)5KwxD_;@&i|L^IIzf9DTa7^x_KBLO +r%eic~>{(SMe3=jsy6#!y**S3VN>wp=kG!j91EHc^fq}t|X`z!#fMv^6(iR#xmdt#swR^Mkr)UNCo1- +JjnJc-B#|)`OV-_U#bSse+3UXU4-pZczYhzNQ5E^6n&>o{#5*!{<6)Sr@74UW0kivrO#l85)BFo+L_j +y*;?Gt%>g*dLkqOE4A9)gN*o?M +#Odt$L4&O|&DLiW8!DN%dUY9BigV8>F)yFYEw7EcW_x0y40MTs=~@zivtHPEH#+78MfoYkxerXP61}3 +>$qerFoWn8`sFqU{FP3NXEFE|_yhh>UyScE6t>_K{HQJBj}fu#Zq;qfU2M88*;#T8dC0CSbik#(?b@1#?5%EXp8AlrlIGT{@*_T +a5yf;+W7FX~dx@?g*+9MdRO-bp&|R7e1lOAs-YPciCKS()$=EljozB_McNj!InLGf7@3)NK7cP{En-G +9HNyOoEzttZ1?4Tnh*1%u9F>18!{*KPdrXlOs +}%D<^64sk5}fUFV!zpniw^hz-s9i?0u&=Q3cU&!gBQ$8)O}FW*E9RBUz4mybi~WVEECYlvi`N*up7V4gtF~*`Ib*A4#UmakeLgLN)&msDjS^oDxSvClmCn#={#})&lWF;;B^f9;(ZPv=!A +3gYM)*WTI{9WR6EsPEN@-vP+dh;Z>YNjj8Ly_l$QX-Y +V5F4V~+CLk8!B5_Ik|k)~GLdy-t5MuYWxSc9iS0J(uD7Xw~(xyc9jlUT1P$Mi03V5XIY7I?MGLt6V2T +K4o-L;ppyNLph@%Zs7f!DEy$h*hc3|=NRKT+v$8qtJ?#hZFT?~Z65ugRg8DB%RWsBm7hW2=HZ?1Yz*M@=NZIY;7y7B? +7oO?xR)uT|#UB)5l{_Lf`I-0wO;Ln0U@wXVgqeMi~ec(Hd(9n+Vci`3aXI>9r7A)RXu>G*RBrZH3 +-j&O;=3&iWeqA*+47uo;q2(a#_uN5~V>1pQIhF3C{Jy+-8_LbRmR{PwtEEqQ25aqiUkoh4b`-)kTZa8iS91Ym;d-_d!k>Q=o;qv`?`B-vnpo;s4EIiGNXfg$(#3>?XeNG0fL+Y3Z; +6P8m^3Y}TOwLQSlNcR!zHEIaDc#XD_fG|qIe^@Kq+zgTXXmg0A9TZrul_>(rS3ywyiG&ob0f)T-IZvj +oQw@@%1>JN35nOYF?we#~)nqK<7TRH#HIaC?9_%D#y(GM`PyB1}BG-gbK&J*)u6;}t3HG)autB{y1|7 +p9Yc8(!Erd_4_9meEcl#x5xwEHYFtpx@RwrGFxN}bR-pNg-oR8#6Uk&g9y;4Fn_S<+tF$A4;T5D-MbOp(^Y6GasH4CLlMj!a5}}{H66jE8XH|HpJ>dbQGH4`a; +0$;7qMHm4A=`fkJ!dehUVp5Za$%u$C)N<)NEjvuLNA^q%n*GES9Mjxgx +d7~Jd;pE&3&PGNd&a9DV!#I%~&ec4t)P4rc)%giLg-BCMB)SMADbKD{Q?tbqj%J&MDyRLo5XOUbrQ2a)Pj1jj^&14-tr}HHq{4ih<@Y5=WMkQ0wI!gcu +{Yv_ +z_Hjze-q%$lbxQ#bm#h5^Cm6EM(&aoUb-mIE&mNuQ9o$;tl~KG1;~l3-`$U&-E-GCX!})27rifyo!0j +(pXZUR(8JpQMr8EFjO4C(DXV=lZC@#2xjQq4T3H{RG{F-kg;g7j!+W6OAD0v}ARyVpsfa7X>qW-OahQ +Z0b&Ovi#ODzIj5;Z3!g5=mWD_9S*#$Ob{0mbp_BTg-P6s_!u{+av*8q`k({tk~TKm4Je{5l+I7|B^0& +59L?2q3XCg^>Y-X>$f`hKKt)oylK0PDN@w+-cP$-Yfy*Et(>5h_12l%z_K;6#jg%KSbx9-rZgAV)U-I +7vgZb^#eWn=+P}Z>#%&uC(+OloDCXPOagimmy7z^T+VJxQ;X$P!6%uolIzMfK(_Lu@Je8>kxfzj(=3> +=iP%)GE_Su8jJd2cSfbRiV`m!Ap{adrb+#y3+@ZT0r_VP50!*N^e8@nU>RX$P`iI`Vquvz`v+rzrcNV +C^m$A8A=GiOhv1^#azXry|elX5WVo=+%R{FX_!k5vKdGz$fH&Jp~ozrje!fG{N<5fe45b*)#&EXu64Qt6)$gbsNkw +>M2|vQt6Gz9SV)RSrao!a4154R@#Wh1U7;2Ks|%F;wS#b672rFh|wlg5t~%FKY~KX#}1Hr6L**@UfXy +3uN}%qIEa#(tKKF&ZWQUH|{P>-2#IELZz6#bp?u8W)t1?F$%5Pa5Yy!y(~WHl~-R^*wuW{%4NCC&1jJ +18(%S;yl6k3;$u$cc?xk^!$eVn+2wbpYc!>0kN~^CeX{`Z~QPL|Z+z3CNb=0?&5;K +(B-)SoH1eslVpc!Jc4cm4Z*nhiVPk7yXK8L{FLYsNb1ras?L297+d7ip{ +VOnZy$O|(XdRB7q@v6?j-9y1u`{vrj`g}2ilijQ6shottx4s-Pj>?#0Fv^Nm))wZT9r!{$ws5mX!L~! +H`)0-%GorELk9nY(u-Lf`C*cW0V|Ur%vdoGSrKN7oTXE`*jsu&{5$4gUG{63yBDYz6qHX~z6?v5dnaWIS3Sp!aK-5qg0I{%z286CE3~i<^u7B@Ofj`2oPrEG*o-o +KB;gFt1-AyGkKZj^4Bu<3P84y*I6ik`)?2S|9N!srptUUM^;bG`|G(vI8BT;J;2ZF$S=Cp)nS(YJ50_(?bgw$_8X+qo5W%54#^g5>f)5V2| +>Uk-{H@F1>i5Ou51Lr*rd7>Woe=yqw4fUESzwsSAfSC=S(>z{)#C1{Za6s;8=)O8ScQulMOb|U-b +vJqR?~uJ1vmtx@n2m-2?#Eu9vvY4|r<2d2Uv&6_wJeMN@1dH=!aPh04`)e8W^&t~ZJ3zg)4_<%U@4Q)n6`QQ^9F9>!A=3fUCY>m=${%UtjUKa% +yfWIKIzSnnk}Nt3XGLzIqA4Unf@IdOUoQr4-#L$3e_-)o*rf&fVVtRM;WAImIVhFP(y2B~#Q<7^uXkq +^VDo&b26CCx#s>jWtNLFCYK9a1^MAH-bgXl=g3FV$?PAjw%9RgVD!U{g6}U4YQ|jr#KUn +E@IIjP4H9}U%R?75tX))MrRyB(xU$$6AbXdF&VG;Wb5hf=puU3c4M<<@SYAwYq6JVN3gF)wF=z+RffD|3#8BIQIrudkp(u=d= +HhA}|KVPcEnu$OGWfd3ZuVR2=gG|=#CXPGW-4%j8btkfGk2DwSXo5GHeZ=wOv3t>PAB#45Ag5#SbkT%>MB4n{I!!87xbz$d*a77qdtl&U +F{AHjb<~}nxFh?6^*eICC9HjjBDweOe&r!Yy-y>eX69pMdtETg-+Q6X;8-CGDO^Kn1mofDMj#(fSnh`GJn3cHG`p+ +69+JDLGrbZ;eJzN1OB;o}%dW2D_u-&hE~$VKrpv64~Yk&T@$u=tF|Ru96$YTnydef)Itf~b*22 +=UHHaP6{EIS){4@Z4hv9v@2!1>{+CP1L;GP}**Fl3~(T|B{%(jW~4Nt}Z)8|4Y8N_qM(7ze<58-3rXm +O6@dMYht_G#91zxy>!wK#z(~gGVw@@|nKu{MUCd@wWpY>>@)dUE?7G+p9C +!Y|se3%5b#ocBHKy-wHI}jb +(Ip;_@k^OdnQg;wVG595q0^;GN6*t1x>&aYW1RS|Qs^@0cVQ^@%Zd$a;bnS}l)ljV(x-k%qsNcAYvbU?jN6um*ZnKn +iYNj!J`ve89g)IEF`fAHBcpD2~zngGPbs^$`;N2-m8B#_XZ&mK+^~0I!ldgs)YFXoXV>FkT^hj55Zx2 +BUotq!X1G#uOrKorJR}!I0N&J6>J#)XNkaNSA>SH$+Vg^19FM=W}zUhP)tgn`??NWX@*jz${{-=z8#!wnlgzWb@(ofF?h(hx&MBV*tZbl`yj9q5A-2;-Euh}GyBnIihj*j8_< +=z~OqOQV+Jqi5FPYUNql>{MDBeLA|9XRaXO5a4QFDDa9F9gC{7Bne(*bod`Sue(cWz?maE5Wf>P6v$c;!G4-5pQ=932S3Du!# +AT-?2uD%xje024rid9cOgG8@WR<}5q4^xt~GU7D`1QLaQ%4uxXh;xA6; +%WA2WIlc*TC6f)hu#U(d#swxeRsIk3>{iygCE}XpZvLZ*Zx2@&U*Mma2sgJie^hB8zjh^mU`XDAz;$< +tBYoc5Y+h3M6z&iD+cuf@$nR_1s6$Zx=$)zM*-oP}gb@Oz`-PyK`0A5QO5BgoU-Cm#~qHe7>hjOTaeP +Q8j$2eb8uK?`)$7pC>iu3`cX$?AvC;x*~K8%DJe;Aee5{jICK2}J#gflCDr%A_bLTzTw%(wILRyHLKfV>gk|Y6i?B +7{1{c#wPyI5>um(YLLuaEjeWXR*t|oV?vJhwZE7lgO35;goJB3mWRR*FSwkR`;b<4J;W*bD0@8d4KrA +-wH8YNl{4R=2~VqxU1xWzABo3}(zd{D~LR2sPjw*V$1Avw7w^`o5C7Dtu)Q*MLQX6mJCVj2)ham}olc +=ap(@i4%o4M*ApM8tK#K?|VK^VqmDfzgrJ#Co^|)j>QN +j2v#0!2wu+rx8arhMwy3Y1}+FV{ZvW-0c) +IIt4&aq&=xehbMI@Y(cuzX?Z+l}t8}1#S0?9L^McJdX;V}n=6vQrXr +Kfm{ItoWuK_{wa{Jb?C_MKYQ&q8qh +hfmv#@tDN4fNQs{x_?C|MuV5qoOvMLCzt}(|tgE|QjPq`Xr6WngohzfXNfi;WIPtB-9Cc2{8qb{L!tF +8gR?o9kpdt{w8%%{cIGE%-J`_+qLDjT%P$(wiqcXv9D4S +b7GgHY35|bbjl{;aW#6s24r#!|Jxl3FpZG7(=`Qhb)f4kBn1r_3e|7$HyI>jr6#a${z?sV0MmQ*+^u%o1tFjW_+BhR2uHNShN+D#oq;!N2@P`Xt=KiM%!xz3@eX$G3e;42UwyFx8 +Ajb`XFL*OQ`UC$%%)o2l>C0gRtN9~19J$TnNRN}YLGNRQDPG3l +94iBq0lD;mwjxn1rClL049RAGjL6hfpAy*Iq(VZV=@@dJ;0-yNTgf0NnaqCRbvEB$~|&oK` +?zZOri91-Z6*J-(7T=$!H#0v+lkuYj=xTfpioMSouDadCL&7{ieCQLd-N>AApE;=vo!GtDcBANG60{$ +Se~46F`6r#+kZMo*qTne;`jSm`*kA01RoJz+z7z7$s61>b+~3IPeU_bM{Mav0sdwf&ulROp0g`{>Euh&pLJOq7HvF&d7m8 ++6!j}!OGIMh#&}iFiU1ixN?V*pw5Av7^wgI)Nt~5bVh83a^u^ +&|SdTd_W#5D4)a5oAPzCB_M8Sd;n8?T{BR^TesJuXC>~!k*8Fqo+G?Ig*!Wqi215Ts`0W@D8rG`||pC+Vg; +0I|AeoLEODpNALE|{z(KM9`@-|dyav{69VWzX$LqwKHWQa-|l^Q&B5@q4PXSi+IB|t==5T;0&{ +)YJROc$O7N}yD|@;qYFYfoAtn8MEq)rciueH)m6vhR?cm-fy@bLMJv2b^1Ko1U9b7%OXaP&g$I5=9s- +-BbuH;M*;gkwoVY4I>Km1soxq_T_`8Kf&CC7)U@?~^}H*`tWfLfbHbVP@b+SZtQG-|JkGlUg6!7QUa|LDi^(?R4)0SPO1u?+Nd=^)0|fq +-U$d`4?w#FCw8o@q+KH)4=UZo9R=&fTdSRU<1wrAjW#8i_42J%M->sOqlcq9YM}Z;sQ&eERR3zAS|S4 +^f$g%a;gg1g&`DzIycH3k)RBUbjVTcC61oRuV@4&x4M-q5TQ%U84Y=hzolfrom){d^8uPR7chWZ(C%x +_(@^X&O`+Z@Pa&Zs1`~f)gd*cL)kpwqwpxWtYd||>|D1%$`bf!MJY^Gl*z@hvX76B>Wv&*b(Vs$VTHZ +>KM>Kk2mQ!`C#n=hyJpAV7k#{ZGEC;JfuP0Cmcc- +0nn*dO?9L_Q%Xs1{@2#_QahT>rH;I!?KV9>yKdde%+0&2J;&FrqL3o^0sz-s`Y`KXX+ +&m97YuvJ)|tKst9bB5b+)NamyJI^WBAX?4)}8R7aImHi`|UL)p&Z(mKwdKExZ;q9bs-%uRm9T9FXj$&9SR&YFN<-*#@Go_qj&E!;(OApfz{95DgAlR(|7Am(A}XOmy_!U;{jUl>c(J2RK8f|(%dVrOX^70)RaptR77gWvTg+MAPPLU3R;5SHSr +MFT9z<*7o!rWlW0nO`$S~TGucg$D1Acl#BNP&6;V=#|ix?bw(zcV`zV*EJMYMb*+DpTX{a2?>iB`BnX +A4ZK?2hqbOu^eVFK9(U(6EB@>4sQC0?#u)z7pG6k)-7b2^zQWv@a-Z%)gXX@bS_DXh +&XrHwfbtykt4M}a8zU!*y0zQ>`*Und6U$xDid39)37Cb?R7cbvkl4loHgIt8z3VC@Y7#+z!Cq~G>_0a +FGvT*d+MwJ0{~6x2=-w!U=WKTt~p1QY-O00;n+tx-`*-)3O>0ssIL2LJ#b0001RX>c!Jc4cm4Z*nhiV +Pk7yXK8L{FLiWjY;!Jfd5u)>Yuhjo{qDcw>I`PnM1+lf33RZwVJizEtleOA#VGbU(Pm3VlJjF@|NBm| +oiuI28j{$S-`#un?xY^vEro$x6bN+9YF=MDEE)A&MKYXZoN|#9k>%%wHMkpEd;0+u +0fy>OpE^n_p41-%lzc{(M8c%P>Eur*lS}EJ)CIuQRWrS6FOZjr8Ays8nphd{ga#0u-v&E@zv*>>Bl~#+}IYlYH +IC(H*&=bk+lx&tq4SZm}CUdBN=>A@)1ZyRZ*q@=;QMq(ob=Hx2?$8uhJ)Tu&L4|QT@hj%1eZc4itrlZ +^AwptK%R@QZAJgsehGdT;PVHG%{x>xgY89evq(-^N_$nhB+JrNXiwtzj);Ndrl*cAadDZ@cxOQ7UPGB +zLx(&*_1XL&*0tgE%OL+t9Ig#h-0RnN8y0q#VH&B`()Zy=y*}yDBHC_6-OZ_5ywCT$F4FR +Y2ZmwjuU%P`W(!7?qTsYIRM&2nBovY)eVEr4mYjBqM4);s4S6Q=95u?c@n|jV(og-GZ$UV;%nCHkM!* +8Op-5bmC@tG*@HbX(8~NVIb`CE(4f`5B1~(~IPv>(V-h&A)c)IQK80VX$Z8%4o&d%Q*y!F4MX!KNETS +EfwAA;7^ai!9wzo+qUu?*cJoL#_hPwzt+uPT&T6#g0hJquaxXl-;57RO!cFNfB&tJBL-(;Kp1RAi#26 +T)qz*KGLOxDM@#37+xNR&XPy!{`Sa#^bi)yCVt)p0+)>pjYr7Qh#mzJh+SRAkSK6Pe +&e|yr#VHH^LrGa4u_*l_zNfmz6&9*;j>8GY3|B8AB-}ARTHe!56z$vHXg_ZCBf`R +iUO;(%jL%1RjO|!=?)&gK_yVP|P>XD@bTa&u{KZZ2?n-CJ#Q+cpyZu3v%DHxsduSv&3BwVv2%n)rI2<{VF)OXo)Mu@D8xs40>KDB +DWi|9-m*fFwvtw&SE9PLqi&aPjO5fW__t++uIfrDijk3I^ZPB~Mu@6Om~#Wy@?T6f4gKD}`EUme1(N^ +MWVv^~#Wq*gK)L%(KB3dlK!87|*6e_QUB*M-#DAA*k`y(Tl_5(?iQJqc)Z2rNIUXlqhm7%UrDhZML%1eoYjaZ>%Rzim?DN)dY?UCeZDyT` +jCJCCBd7f4cN(>CcDAuJ~CdgAemPgr4X0lw3*s+-NQeFzz;`)@ULS}PE|Mov8hw+Pl9=`bL==etvW9G +N)F}4M=^7(@Au`CDqE`=H}_z;?p^@67_BaoSc#YSLm4SK&WP$iy@*y*xBT78s3^V?;C)c?-N1Q +qHgz22@0(bWxG4S;PC*rM6K!5-h<`;2;@C~=bO@};=Mwsv;|YQ-Ldj3byY<(cVvx}3bq6P|ABC{bzXX +L@wWsTn_g5{{~;hJW=FKdt`m(-dmdd1`Px8j@}uWv^5ok5<>#&nSxO2K&sI;>Du)NvyyQE!AW-OUCpk +Ae@a_qjdZ4O1uWgSD;I>YVmEbqtQinhTJ-o7qIfVk~+`+CCc-B3O(JVuZ13)!7$h(kJFi*?EMen=>!( +Km2wcr01eJ$pN#|HszoqjffWS*G<_QlN7*G$<+RcA?(og&(d*;*5$zf&|eFbaXyRLmGjKD;zo;T~acq2myHYzS5k+4g}oil +lXWz~k@8z{wXPn +<6-{k+UA&QWF+uWPWyXc*4H4i_dUZ&YkMDdX8!Q156sn(iqmVi!W#a9_N{ +;C&q?FV%$8=tT;aB`aF(@TBNhEHbXVLXllWlZW{=@QKtx*hfTz^w0I+y?zBA=Hky}zTe_5e!HE!9l3|_-EZ@q|Cw4Jbh!VS1AfqAp4~z9Phj#dT1q?W2I +mo5(1x~Ng3-D?u;IW_KnSn$@(2Uug~&=VJ*zkK8AOl}&uW?Jl4nUJu4ms`fQFVn1^+=!?Pj +PW<+n6RjVQsYfY>^H6X-ypB53~$4?7Lq35TClsX1W-f4vTyz@VJsyAYTQ9m0v*!Q8>1LvOXlAx^v%$1 +ekK)`z`5n+pjq(KG4_tVGhhK>35hco=+eRRXNL&yn$3KEeYUY{O@T}1F1DNo3=#|vHn=8h9-+$PQB&L+45&(XcdZ^c>Ca#n*uJU#)0bwUB7HzUmq>EIR6 +*7LP+kU54%LdV0ltUyPQHQYJ@9Y*zFir{xsDdc)x6LHaN|`N%*AuD7d%I^Scd)bj0{yMN`MAfuH=*jir=u732D+!WNMsOU^XUZGt9v+1%MRG($plqOxVI*ol6i05-&|OpfXPY3} +dM&NDUn19PI%(vJRHmWChzAB=%H8bXbtcS)&4dTPbbwH>3W3wR3G5p>=W&&{&!+`2}RbRI)2B<}izOz +Ep|Ok+;Aa+_CDJW1?vBWcf%lKFz5*=xVtIPcHZz^X*hl6jv)F4J}iwg`CxciN(b=>#}c+yW~5~uY?+g +jdf{PM+CM6!Yf&x4`Hf??UkX#B8O21w^Lb<)!PHuWA1gZsF3Hmnd$@L2L?42RyizQ&|l+iSf#kGzqG! +s+pjW7ROH35;UYXqOT}f1ru-mOuFX&h4x-@mY?D}!s$XoM)Co$n?t4=G(wsMOj4L=00m(txYX4vmPM+G?V*vp3ePpq|4Eqq=Y +|~(>h#@z6;aIoE1{Q-dgp8e4BP>ld +_VEkrrG*YT79{*szhhwCXEd0*h8j*c~J|VfNS~$nzgnX}-e`n_8Tfxe|5*S9nyLLo8!tc3#;Hoa@vsm +bep#p(i4F%zZGykmQf%Dqj{udm<5rs9fIzib2_qe*$Ia{l3{|5L1S&gZM?%ZdIv(a1McIV^h8lkd>DRAmC*g7-`}LeCcXgE;tBI+JyVQI_wCk_XKdWTlN7q)gkY4((#d}Q*LW?0pnvxA$G&@&e^9us`| +g$Jn!XdA9xtkw?$!C+_z7Et}~n7?fEmE;q>Xdj@5$ynyY)CX*Nd{<~dHgRG6t;4K`l6*tN;nTJAD?DE +Hm<+@IXaJyH3?xIbCX{p*T*^YE!Jw=->{nzvi^*>W-Q9+=w}-*D3*|C(*_#dGtWT`ltr^Efa4HY16r*C6|yThc$6;{8hIv^5=}5i2pbwDcFfTYYNQ?Nu@OWFd>!aiMQM`Q?ge|}26>LnjwdR1e@;3GDa3XXEDsTA(%zW-{?xykr%sEM--Ke}0 +DITWcTN@y{u1cW800=Ouf*E0mg3!N8D{VB|pAA}5G;TS&51szmRo^^ikEEW;IYe`|o`}{phgZ$s{*8b +&2DV{gD?$x>#>iaKYgDJ~;aDdlttnKkrS@JTSigg{j_Yx4T?ul%8d-0FCzkXUlF+5aqOH~N1^FjDxiBjN$&wuQg9I;xOsz|^XPzJ|O?7Hp>Pk<%Y +k^Z1_Y+$o#UiR%NsVGaYn@mDrbE_Oxh?AjXC ++2tn8R$!%M(h#k>3K{r4sr*(9QBSX+ +FvC6o5sJN5GN-0#e!!!et#G2;;{muv$X*Mu4W*-)3$v+_DCtg$Kgf3nrV9)*s)h?gMnWgD9&1-g6L$uj#qT;QotUzSu2cI+7TtgRaoE*mFy81J(5@Kagv!T-fYS4o|ArT@2Yadydg|b*;vN +Yft6&!#np+#kEZGx#GpSOz@_c*Ymiyk45TGpPs{0m`3i>mnUJGXY=N>D-*_&6P?Lx(G=O8MT={W9;-W +mJ@M91LI@X7sMUBMKvKkDL#<(Z+~Hy4u$I6ZVN^4Yvhh+}#YZv4K(UE#Vv1Xgbc6o^P)h>@6aWAK2mq +6T002|~0015U003}la4%nWWo~3|axZXYa5XVEFJE72ZfSI1UoLQYQ&Lh2FG?&ZNG&Q>D9 +KkyD$UGEQ3$9k$;i)BC`e4sPE1cNRwymb%u81Ya1Br}H8fYq$j{F%=2B8p;^K;rF9T}K%+HIDSFlx3H +_)@tGg9XQ08mQ<1QY-O00;n+tx-`Pc!Jc4cm4Z*nhiWpFhyH!ojlZeMV6 +Z)0V1b1ras-C1pK+sG0Au3xcGa3JN%%*BVI2e&%FN#xp1;sib$hgNZUl(@3iCb{hH(y|)lzjtQexRNN +@*Gs=NIGiPMc4l_wnP+B~{eJ&y!6d=|st0~gbNEX#BAaO~_>4+P6eqK+D2Q56GHqCqlW8`)r&UfCoZr +i&*E?5)KGt-mM=lh5xqlI+e&~6cgR ++y&xJQb5>BqiDfZ#dI{>l&wu;*;|0R@`s(!X$06Yr`Lt3C`16AnI|7KZIc_d_ph7ZUrL +3Cs$@e$prxE$V!0m-!qrc{K9=gb3sgNlKJDY3Y!X%!ohXc-L&t!5lO9Yu|rAO08(Flh635 +&lEnN#2yTF)$Cb_q-czU{L!$v*MX%4LFVUf@gU=2XnNLbR!f;-y#&#XYPE{@!uPZZo8dZ@6Cz~i0-wa +wd*Q-$XJ0?6ptTgv{rx^YYK|^GGh{15`sd37%POis~KcSqXetnIh_LBm`YP%q5?MRD=TmxpCtYP8HMG +y?%jC>oWk<`o&}CrX2&&qd@6zHvs=39k^LF`v7fv*XTazmn3RyP{jOx1{Lzcjh?~mA&OkLq&__CJbQz +=9bLceaIr`e`p{K~R8MKldJdTlrOdkQ-g@(h$sx^8=r7|WRRTX^Zi68g@4cxK^TD7Ya7Zj%%_G%e4sk +kU-nWVA%A)8A4>%ABZOgx>k=d5l0Hj6DFofwc_$*Wq>IeUyJ9oxMbkkP39YJ-&O#+=%m$8Ahb8AMxmV +*vYh3wOJJK~8e){D(@=7CO!fqk0O^`GIZ?4acyl_E@jCD^lHgbQGxR?8z-van#YBBeQ)-SGcytAAN)p +(7yrmloFJNa*3=9rsA-dd*E8fCda_A?I3TECd(rYJoM>MM|CYP2bLvw1{5A(xnHoC^A{25Ld3V9}P^azSYkL-6M8HkDK%gUPn;&h;>@ONMK1%!<95G)tPTU +TO~{ncO%kcMOVw0+%pZi8BV +0QBxIol-h6)b9$OV$Pl~B1)D7h_KdK(>VaD~({GmXC%68LtXneK*iTpChl9dk6B#L@Pa6%q0Sd6Ww;m +6>a=&Kk>3>`B+mF^~fDIA+%h`DRUU!YF^ux*JyYVH&*)@}s_m|_7w|}>fwP@tpb*0{%~mjer}z38Ev)(fJ3=CXUin3YeZx#%5Z>}TM>ufdM#l5G#U3Vc*oY~ys2`t7ub5=5y=x! +@;3KjYAeM)9k2D! +tO?=%04u<*Z5zQ1u}%FAc~-y +Dzu133^Y9(7lmm(|WpwE%sypcZHzq(+0r8+4;axFgm!vO0ie34Yt;R`p)+%3#gQVt0W-Bsat)18!bUU?%BP2w;ZQB7}r#(7IU_~@obIj`q&q621s^zW)Ft +rM*w`WBJfjdGeop^yTx$GF9vG+hPG{3jL?D3VH$6iGkwTe*DK(7=vJUgz{3nXm>&qyNfXw!da8{GR$hTz^IMACVI4*-8Nv +tfl;4`GG5yEAJ4%GGrxn;It*nt!Y*l+6zHryS>6MFl3Qk<^S#E~eU$BwfnB#C;Q~PRz>TMos6lNc@s=z4lAgw3vyG&BX`4sPS(~;YaNIU$-m3shNb*c)P1P?cktwauS($M$ye0^tW$O@hm{QEL7apq +PB1)8rmV{p{|8!%O@RH?WN~Vi|)SGzNXn{)`?PNe{0&knh6Z=DA1iAgqiuhn+`5~x=iU**;hfWEi+!V +FBzTukaPhpc-@6aWAK2mq6nV$ik$A+q-GC;lWi7sD^SNf3L{D>r +b~5{Myn2#i)s%>^gS4x)UKh&7=ObMe-Uj9CaN{kIIY`J%|X}W*_w6t_~3n1t9924mz1t#3!k;S(t~O) +jnO8{@MdhA?pN)>eZrq$3eJ`2fb%lTvIchSC|cPF2i%@4`YOVsyvP{-dFK4{QrW=(3)c)9>>w<22Ve% +i4$?{oY$u^@kng!ANewg@%VQp2Y`$hWVQub2eUCKfPoyk&Olil8(defwv*1!pF)07nfwf`}h`RbyT1x +t86vDV*k6n;Ft*V_iop8lyP7p!5O?I1^r}d~=j=zkM7TDjS9e^k@)If%YY +QqVrGf=3hE}ZTPqCycUwGw`)KQ4{*S5k!I8R5QQG@Dd^qH+himz;q94@=!9&Z8;U(3FTNgkzO5LJf*3(C4pAf>sTx^h8#T*JIdhtbjV9ZdN`(~RpBnJ +a#j}=Pvp?WOzsi4se0-WkRpHH$doi@Lnm_Bfsl@Y%hl+G~2TojY-ojqgC(fg8`GSXeTi?vUe3w5Q0NV +U^Q8ob~mIrS%C#MAs>ovn^y2kWdhyTI4cvs9nPi|;{;g$2nA+~q`;*Z|?DNjxR{(Y-!(b}RcpFtrCzG +9u3LkMg9>BA=GG6x?t}-58fQ-1m#y9D_k#JD(kQwiy&I!{2pXD%bF9$A +nScW?djM@%*1?9nGF|I-yOfzQH1X +NWW{=EHO%T76!rDfb&|(bf!!Dxa#x~Vn3~yX1&fqQ6M_u*7><91snj}RTRVvXmTtr!*AfN6Zr`rMAe!KeMHxF(MZB +DqkloL|X+U6Fafjcum6vQdI#pPt-E#MF}0o(r-SPyPPT;PjdF +!C$1jo0x`{J?lP$ok-?h!sbezGN(pxE7WCnVv0iqAIjjhg=ru*v78;4kL76I;kL{`t;gyLWN7v5pGO; +`gTQwBDCRbu~}*qzq&nq6}@8z`Nd2}At4Nq2}b6VaoA9!anzg}N4zs*ni(|7P}c|G*`aVRmh-Tffy_q +=9V72yFk~4@6aWAK2mq6?X^#T;YM{C9yp-p83s}<0MJWHoUkdjMQ4a=7l9pmgI^R*BswF!mQ=n+6uWQR +*|blR3&K)4lm9x$Tuh7l8sW=CZ8oqG85ZcX%L~;HPeR2ai!L4;D|$IW-G0>@Xl*yHzZ68vl10wkk?8` +!VIbL!&BCx&gl(kq;zi8wu&q-;rj<(sFI&+t@HwRVkPn-5ye5=(`*_mDlg46S72Ps=na=w%=%IEoUs*CkFx+Bd?j&OC8ms7h%-AyRY6t}0G(y3wnqqN=fVV*@ppHy-Ce{XGuO<&D +rvZn=zPx0=;8*R2s3yaspt1m1Aw=-CW+Tt@WsHMcL|lk1F9$+n!*`D`{T`HB=60@UqEO(~4coKF`dOz +jNS{Le;cZsw;m0?(}gzwPUl%@KOg-qYY?^{yM>1FJcBlL~1pXqk=dFrWwJb0JqMOP_fTUJ`g)QG{45c +@1&FWg)mpJ6?WQ@OsR#rw8IWPG{*;CQvv8dC=`%`{1LwZL}m$Sp^|KZ8{iez#Tqaz!|N@bfxqF{kQL? +K=@JFpig8zC67$HaKaC)KX)&oQnWG~A)FtK|>QgiQkD94R|5G#lA2d_v>W6Qp +K7#JsOuZ5xy_vdgK2kHi-Biar>5--hyq`Med-@^#Ct}A8pC8aMf%D-y=7g|mOCG3WW(IzR3rhCy*Lt +XrVyy*O!JwOF>6wSGX2t+~Q2f?VR%JRLt5_p^0e0Zih<+E$n0e5>Y<7ZIfyhHKanQ`SjtCeGx9KTK|F +}E3y8Ln*5KOOBRkqV7?KH}dvtM`9Ufp)#D_nRN{OvS_cxBec6h$OV?oJt>ElDbE>Tab`TVqRr75XKR@ +3LM>hhXY#xI}@k$QSVE0jW5LkKS6a>(vN;F)AGw=m^Th`%l=1e7t*ncSm=--Kj{phFq;6Q@U +W*3b}%fuxm(Et}1QfPUl*s9A8VpQ^>R`;9hCTQq_lH$&xjP96_YvY24{{yPXrbR^?WU)!M@4#rsRRWe +I;&>fg=@&P{?XR5Hb#EiMlzVWtoNaBYN=a2a1fLD74%*_={9pwRo)T9#OSt7;oDEsbUhk!#Rx +SUHEf2AJ6;nd3^ur?%^J>J`ZQJ;q-nyn#0`;uJ5KdFGZ0Q!ZJ(mh;$Sb>I^qj+L9Po2vEP8t? +6{E-VQo|PZ&&4ncQ^3fsftbNNc6Nm7j(ym@3IToleR#SQv|2>V>IFvNj76xQ=>Z1-;;cTb3K{cgkuQ@ +_x+>CWnsDo7e;O;Z)Gr_O$0Lnwi*-*U8U?eI3O*p2&OuTPT8I +6g9*aKo83QR=GDbH?WJhn)4p2H*erNvhg$|aJhD+*K~5=#}0O1tKX(y58ze%)xp@+XTBc7qJVa`{u_T +RV^hCLUvwyVGn|NfiWSN@vSDDRluY$sjNsA +h~1$j*rQ%$Go01{Zt#m0#W9@^)Qza3wL0K(88MTPc@HBmbL?Pil~c(QL>AV_Ogt?Rce!kU;uyaB)|IT +W9`ba63XLy!^TRadM66pDNDl7NyIxfVm)10ZZABerV0<9aT9)CnsV6iY`*Wm{`24b)*&Px2@^*c!pA* +thT^I|MR@l_AHe&BWW|8vq$E|fTms#bSxR3|y%dK52`60$mX+>T$MnuJ!&V@1-g^wnw33cgUz1yGnJHO?P5YJ7~{Fii!OyFP5N|1)V(I0q=IvLzy*Tn(?+HdlpObv{6ZS&L+SfUr^e->{^Tg7nw;K +pbHw#jY<<-Yn0}u?JyM)We*@@`dM5OzOg2A5dkUr%M;8OTEu1TGTxvYWEg& +I_hE{Vi~rURz@8@udVS*P^U-TE5ft9=)v!|@SWcG`%Ek>FU+Bq>1ij&*8ue`?EWehH4P;mRm(rxyw`H`cn?X5n+ND)GFSSd+xt@9X<-uiZbeaBqZcL2dH_cKHX +#Jz*)b=2OQN58{_(@xvNJqpw==|UbIfLNw&lhy5f+lSc~=ZTjVA9mb-g9wE<3B?uX0nz8H`gAMDv +4%2`_*XANZdNx|KvZsD)HS(Pt*SBYFeSMB?35F{!+%{h5gPtL98toY=|Lmmbz`f;nZpnt(1 ++i>D4d+;1wf;oRD+g#a`!sP)h>@6aWAK2mq6IT{_6VkXb0f!C=I3YBptFvabah0T$zCBID1{woR0-tQh- +;b>XL2%dDj1)}Hrm&`>HHZk=PBE3{nVWS({(5MWr50R;y1&>eHyLBz=j+~@#GD>?x1H3-k_M@L#mzpxmMiQXMthlXh-Jv76|xAUKVFlzj +vY%FgG&~k87ep#znoEI7ES*ZCaf9u*w^>>-Deu$Db1_byNAn7<336Hp7NX3W2Yd7kp$o?pVE||I|UJw +ghYxZ5ov^`Ms=edu$pYSsw=b?aUDGABM$A=_Zw~#z$p;WB*-S=c3BYPxFjbcGXj92bqSVqrMp#)5*1m +Yq2A~cf41KR@|Cy;wB|mTCS0O3Fyn*K+lWY8A1CNFIW062c{~CyR91S*%P7IW-2c{AI<#pT-?nU{}i0 +e{ddJz$bl`Rhxa*xi@#7y0|XQR000O8ldVxvrV2%95C{MOnHK;69smFUaA|NaUv_0~WN&gWaAj~cF*h +$|ZgygIX>4RJaCz-mTW{;Q5q|ft7(Ea3$$AV$b;i3C&D_mAuF2(>46|iRLqSmswADnSnPlA3` +NP396kAs4aj)O+_j;VRGze9H%f;g(g7h*ewovkN96hrl6%y>e7Tdh0RhymWc}1#r>r#q@DOFP@8Z|pv4objC1+uNsa^fpz;C(RpEK!p`VP`p253_6-z-BkcgCl4=++^1{sDYhN_FVf+ri`3U2%ma-OgP$;Y)O=JPw4igGXc +<3__E8NyGWKK*s{)2AQ*0^x=c3hMLBa$(|YpcsS6ZFs#1R%4AuP*7H9^qoapGP&hSanuRrZkS|v86Rb +gMyD=h5&=YpcOjOK%r*D1*aLwhgIMdB7j)YytQgHI_e8HZ2&P1)Ut-CSCB+z0BH=NjLMoCSxg^#kl~h +7a^@drL{>t+8helw^;+*`86i{!OKo&cV!K1X~2_d;il;pegpifPd^DVd12*fzgLxZv`P)Y9A)`3QcmklM1wr%LT3~vOAX +Q^?3Kvx>M6qyGsV#-9GixZ&!qA!szY(! +vQ?5+co_=K@sKE)kpjm)70MKGC%_prEv$^0I +E@#mNIiFkio2Ht7~ivawa<;?dkUGV4A+3lr2{|pz%Jzs<{^YJDjbht2LEuilq-<1Wr@q+0!E>14|nIG +P}aOH<{LcT)i2`nc;=udBFlK_^t!E&+kP?bx|J73KG`Bi`ty&G>Hj!^?#1MgS-0julDY-YsT8%VlN7t +8y=|9l<7^wP8HNCs`%o0kS;QuuA7jp}S9-A)aV +StM+S|5ZBz@5MHT$lv@iX3$nEKmqJ8#xvR3i;+<8;g#kdum8Xzi(IGL9a`1GDE}_L9~g-Rpz7Yi}heG +3RW$cdKF>%&{2eWD$npH<}5CD<#{M~Y$UJ!Pq4N9}#H`W32ipoMR^pE?P6I>U`u9Qc2 +ga!ZZ0p=LtK3PJ^EKfdTTDJPTU`}!sXn52pgz$5>&(Yi{Jq0}949R;-#M2is6TMzA-2h#jgDW{IoN4M)_j}2uvt~D+=C69Z~H{-5U~MeMM5=`7g*9w)kO_x@=5I2L%mzoMmD2J-Sk; +sVr@23y0%p6oyc9&7I3R;HCf9j+wdgY6fJ+~z*7IrURko!@jAz=?u@n$O$WTB4+}04f@x(-iZ1N1^x#O7X6PDpFi^uTsM0C6cITZzX@Iu7&6tFhc`#F0ETJP%xINR^{s2)U9jSjJ@48B>+Q(PM%Wz8>)JY<2XsnL8}%W45+_R0JZh$Mo~2jk +L6Zl%Re|()ZQdnQjC;(?`n-pQNB~^zBQe8lkwN`$~P+Xwtjx2THQo(GUZfrxak!l^TyGct<6gHwR%5@ +6w?~xPMsS?nxV6LB#A2qFs}xf7Yq{4A`-^{fi1~S(e++>OTbPBHbOip+ijhdv5dDE?-CC3&#)msLO?C +-2nXG<{}`pw{0u@G1$7Gqb4wx_j&@dEUbMMWoX(D|J%dGAO$x|c(io1PRfA=x^~#Kp(j@-Ju+ByDL~3 +Tc!c2R1R(|1_(d4c;l|5TY@9-=E_Dz90IMp4kF{+OAd>c^51n2PkANCcada7`13z{!=5BS03j6pExhj +hoUL7fOX32rZ`dE9yPo?)JEFoq8{;E!>;eATKS?g8aw)TD|i>i%kyC=)VjNB5CGh93#(2rwnJ641tb| +Aq`Zcgs8+c06NN{)M|$R2=^em#b0z^yR|7iY9WS?f>uA|H9p>qWeF0x9n|s_l696{{&D=0|XQR000O8 +ldVxvm%HiS(E|Vgp9uf}8UO$QaA|NaUv_0~WN&gWaAj~cF*h%5WprUKaCv=JO{?2D6y5t*h`?YO977j +Fp^!y8eYAyPc#GMUA{6^3QJ*cjlAPDH%zvMI_2JlgX|s_f-H)Sl&y}*-Y~D?(@7MrdcG63BFqTO+TJs +fJ&nBnzkv%>LEKnN`Lxgg6uG^tc$SRfIja7jcG4%` +k>Fs8a;sa$?Vz6aRlq;5HKRGACc9+WZ#3W*|$l77jD{P0a|cQ*hy=!$-h%Ju$KKj3?r`9YJJGR1pV{*?LU6^Y1q@g(b*|Jn<6h&L(LEIXwmM&DJl8`Xq}n~ +5OWq=i|mFUas+%`zeMb7rzF`5Sab0XAQa(!nanUf70~YX)-$9{uXI8(T8Kil^bpIIK;g`IHtJmIex=! +%ojaBm*M2wy=$&THX@mglVasSmGDG%zx42)m2`>{q_!tDny-M?d}ObBhRf;eyLXWziZW +HxrKCejqor5y9;B&__8_7&_04U?XR`={^unz%`3j+DhsF=;3>x34)C=f=FO{ +(u7LA!X&;y3Gkw>VDMLMbPye`dqRFqYF>=mP#+0(OkJ>=ZZvAe^4>QB<=_{|C#FOlS3K;vU +OvuuG)n`Vh%0lR}#ZnuVf#KQ7@FbBfq)-mU<@yBzGM6y@FQNlA8QNHe|nKgi{=R1nivJ$Pr?d=} +#rydAq}mf*)lQxP%LtKcha~i9L~CZDs*pHJaX@4|$q@6?J(3WGfiO9~C?BVVW_h86g@wQsKAPzfWxE| +Kg`gZllrc$6So{xAO9KQH000080F$jzQT21fgd7Y203Rv<03HAU0B~t=FJE?LZe(wAFK}gWH8D3YcXD +BHaAk6HE^v9}8ryE$IQHFN!A%}4FH~V#pi>}#7u!n)4R)pt+I0I61Og+`HXE7Lh?HGp(0|`^NJ=CnIZ +ZEEV6g@g%eRFFpljC5+^AG`y;NCE^`=`~@w?fVZ~iu(5gz^vut(U>Xf{{diD0hRS)Ihh|p|XuXx2e +0Nc9~hh}y*^PFsfrrB(!o5R_Rz{gG4FW@$dTGy6%DU-jyxs{3k*LE(`_U +CP9vNohjqmrh%e7mGVfpj$60-tFJ|m>!D>w|3>D{1BO43wp99f9l!yaoRcQsDIE5rmA3zEUD$f^-DN1 +IuAx^}HvIICC3SE+AC*ovbhdP0J^tvqC|XvNEKC!B-z+r9S@=T_&|$GTtE(YC-CsBB1fxCJN=e@-tn?!1hE#|s@IGy?n73*j}$ +_z$iWM3V7c9HEWUpXKLtMWc^;hE9Rgd2Oj$8o{J9xAY0>k3m7OeF~!aw^bl} +!3qM+3mANXp(j)bXk{47%T+tf}vl=aRu79c_A`JMWZKZP`RP&}40_0R|ONgfXa`{FIupMymhUQG{cq4 +@w^Nd{q;SLa}SZ^fgYDF*}qppyxeM4&yO%S_#P5>m(1!=*-&I(x{T$li%M0h=8Fp#x%2@*=86$=}BeM +aznz+Z~{mhiW5?El$v_Jhnne=y5rzrmb?#scx)*s;x1{|#AKOw-Z;KhPy>nx##bop6L~wmAitHV_h

hnvDI}~vTc*I`y&&Gea)?KY5sHBo_Ym3}G=_!D5_As!(lBe-D5)M+v=}3ts#(ET9A+T9Qdn4lbM2U! +PYo4{f^a6A+DIoxB>v +lP$u{>&QAVKtCpEWot)qXMYgRnS*K&^#3>8li0@P=Z5;JA&awH@iMVtYf3%~rBl=>ZBAVcMblqS~!@^k?DW2hmgPr7zV9Yme3fs|BhG0{34xo^sAk5VV&_7a^X}PVe8`s+SzB|&ql +zNtSY$&NqLKbKn;i?oMCYQ(MahA=JAYy$%6^qfdK +f5>W$TR00}g!toM)b-y(P(#GNxoNn>&0CObdnOY&@c;MZ_3YjOlp1vd#ra+5FdS2r3$SVd@fnD3W +B$~FC7EAJa`ZDG*q%q|1>?rR5;X0bc&#+dBsZ2? +|Fp8}4bT@fY!OzWi9&pC;g5{y$jvdU$g{Lj$?Tf^^8_xq92dH;UkNS*Jltf6?vtOx-|g2}bx!Qo&mJ$fVRs|PD)t0Oy(uR9qD1&`Zr84|nXje@rSKBHykHN78p+Z~)s9;eTDNEZ4 +!KPerlJ>c7%7$FgV%3PybA*x1@6#9L$iE`_%m=EQpAD7SFaNUeHUSm_1tZJhR7T-UL`QZpj?AQA8<#I +5!-*qqPBCleEBM0Lu)J#8foWY@TEIg7p5ZC~5f>|o*&a_Orq=2(yEFre?sPY{GgOahLb$_;V0+L}(J- +owts>N5+lA{WL^TyihzsmiTCExy3|iYE;#dOOrVFZ#1>sp><_|LU1s)J}8g(tYy;R-V!onhVp5vv5wT +cN*y-Z9VFAN{1L5qb$(uxYx?Lf|u!+Jo!(Mqw!w;AEr3}kGGWAgx8?9$$Na*=+c9S_zI_=WX@k#y4Vz +hdKN;@b>-%-Tfwd=aX+)83ERF|Sx?#R8%{#C}?(7Ot@|RHxZH4;9x(s=y|_ZM>Fy1{pH7tv0Z)Jst!g +pK#eKB)}Lvxjpnd9%3q;DJx`XEU?g6vFJ@*N!w#}=Po0>-t}b7t^W*^Hf`v@&m>}#F2>c~#MLz&`0aM-r21&HfJ*625N0YU0VS|5w$6QPR(<9>#h%&tHq1lOa*qy+1!D8kM +48R2T!T9Qs_`%l*6MeXn>2VhQ|uF!KX`9V#XuY;ePqlDj=^)+*4!DS0dUh9w;S4rt1~`F;?*kl+LM_) +ijh=0}lY^P$iSumaPU3E+i|1m8FDZ4yuzvn>nP_UgJM7D+}vhR|RQWFk#A42r|s13(9YaCK{L1)jfud +2vCK!969B0!_k#4}eu5H`YL8DEXR$H)BT1Q<9m7Gv8KKHd%E^#W}vfVZkU?;1jnG5{8nH`I#EmV*ZlJQ^6BGe`HK%1zrV^~Jb(GG^Ea=++@tMZW)X+Ow!^ +($5Z9nqthW9A(e6dG`@s^NKo$P%#CKF_$s$G^N#?p2ixo(I`TXkj{ASo+=>gaiO7}tm8mum3a!nxMq6 +VKusoP)xa<&g&qP6zsBHK4yv;32iBJsOZ_XdQ9B5iI)GF&kq1hDakW2V;2CyQCM@RYo3gI5U#p*Ze3B +9qf^X&}dTV63DgZIWb?-fPsC?Ob9P6z}|+#6n&~(Nvc=(;VZq;jpnbxiG#ijed>R4}@mU!plxi_@>jD=^fWG3(KJ&gXk91`ICUTi{kE`1!?#0x9mgQ{~B_x{IM@pbQ*OzJ9 +pzhgNLZ_^5nTG6AhGrh;X`>`DJ!SF`Ray?-lN5x=F*1ZsNTn6DQCKIoBn1#0fLCDv0`y&U5&2Rd9w%_ +G?&6X3};xbKt`P_Gl=!TR+eqmrB +X!WtD^W75DNvq;hbYEXCaCy|d>v|hUk|6q@Pf<;d4*(e~Np^duS6;eDEvdV;V@q5~wx@^Y0!5%eRuim(QG +h7e<3~H+d8G3SC$5>1Sy>=u_v|-^U$;e8Wkud1BjX-N*{qpY_2rXnyICCn;o$J_@ZhwVT^E;Swl3Rdy +PlQV)6##v?yA%eg0W=fhZQt#{lmJrDcgfhlU)_>ON3CZ;mgex{AUgA+7kXPHZqWGI(;~ujF9vu#^uO`B7TW>rFis;S!ydcG;@YPDSgFgL6N8di2u!urBU+7< +>-)zB8Zf_dZz2fb5-)tr}Yb&0D7U)(n9YaV>vtZ!t2+g-aUZ}j_ie2|xym;7d&74z-BC4flE8HtZph=p<+iJ9ppb%EB=OHQRlO5yJ>E+(-)`N=Z`*v1`f|IemTpLd1I^mK1_W5Z4(Z>sX1N4ZMI`Y +}s&=!iF7)s6rl^*HQR}vJV9NEn_ERixf(dNO51ZR{v2u&CDc8XmtGdPWp?}sJL|4~+(^eno0d0iLM|T +0Yjemu~9BkIRCkGk)$Xk4MP=1(|t4;Qj9=%wvn>DvN%1(E%&2{#9{u#{s2KuNjs%5p=SrG6~R!~5*-7^LEw`7sRI7aQzO3hXXk{;}51n^8Jj`#J_kh^aYP(*-hK%71uf~Y-H +2EVqB`d^H#ArD7a0)MWc#5+Y&cj9X0dR(4Hy#k7qnlRr_U0O>+!)Xl>B1OJ=d!A=sp0o;UcP%VdHe0@ +>FYP|U|#Rm+j7rB*KlyxuMIizM7X!=Wz^;!y(<*SIN7JHcP|HB&j=x0c4 +<0`_jYh{6BB8s;~}3@CjGbi8Q&~RY=H;^3A=Q)xEN53hX4{ +)KH@ye&^T`BPcQWZ+zQjkcGOwCi7be&4R=dw1Ga~omSFu{by0pFTnKmP)OypcmCc}Y6M%N;TOQ;1xF& +N#WEgtY{QNb7YYQ8Ri+`6?sS}x&kcRlh +HHVu5#0_kfPJ7y{1#)p;34`gNv8*g4%=}B8|^ieUNPYSp!-V;|b!F!?v^wihNAGDKpvo4DpeLh>3MZH +~3-23>037}}_SqKA0F@bAkUC>=Mp_3nfK_nmr2iY5WjCaulux!1XtQwekcPu!o6db(a@Z@%0ltl6MG0 +df9nt|hll_v&7UlPLwSX@qkPRy6-SIRHBT|OY(My}@fzkl>Sa|1)cR{2v985tP-_giG;Zm)oB61PgcZ +w>!#wDEO)qO#AXq40zU;^=dO=~1Hh_`c!G%l8ork?IND1mtArb>&N@US|IU3y +ZG{+i+r6yc7t3lc&F=yD>+-Ug?F@Jz5XdpXKnq&#pMR0zPvq?I>mj^G$^m@$gX>$FiyWxoDBrH;*a+U +x3j>05?pkO#&IICUq#aIxec=x$L+OG3T?`YVdYk-9m!}bc8eA6lv2kGqk93h ++yCM~i`gY47n{rT_`9y2sqHfrle)%sDdbZy29BRC(zw>T7l&_5a)H?AdY$WrMuw} +S`ytXb`bZb7LhY7C1GLL2Z%b_UHwj>Kmz!-qd*ueedrWpnZOvai!{Z}@?5Q{{Z3Z2Zul`!_sXkYiiN=puT9?>$OIOBCRTE4B#B*I_-xM=oc(Z?#>!;Z+=Xn3;i1}`s +m(P*;lPumSizu7Git)kvAL7QEbGrX8W79J@az`w4WTO1<6aulvJw36=Q2kUK(wDSRq@(swFOZa%(qNv +*}oYYF62#o^fa#n3FtXWp4NUgNeunG%`mOBA%LVV_tf}YKhFZ+vo0 +bk>QSY(_$-3L-n54t$tTrt{a!vRe1i704lh}w&+bi8B+LSr$1hBr%8dWaKohSGT3rPZC2y!?U3+X*x* +1)nhtq|Y0)FrTLo7vS6+j2ADnr?8r@UB4wC+Qs-G&k0hlk9L_tZ%FO&=Z#6S~0^JP?sN$KWX8AgY1)R +ILHV2-{Eo}PWTnwP{YyLlh4jaAVcMs>t?$eem)vGaB};6S1h+yp3|Qr8mn$>I0(3yEw#Ww5laf#M9k= +!aE5;>+G^%iC@NpT)GfpCkXVz9SQC6P11V5sl7ZmdU<|)*>q$FXSE~*FMMrksysv=O(7!Fv!I%M{HpK +Ei+Lj-IY#Ba4K3PBQuub|RVzX#)AqN*cQYNbNxo}-UV`i*^N5ta6$Fis|>i5;UsZnewmZZ*GH%o@Bce +`V&5RTz#@y{N9RtJa7TdVyJCwziB>T`fGUE11Myr9DB +6jmV&)_Xj;Eiasz)JY(6$~(iQ&s0{8KhF~F^)6IB=lLS7O8IuH1noa$#yy#O*ukZeaFrTn=8 +saOZ`ZH*+aet}Cxy}C6Mh}!k{s@|f{0w&ii6|fLU^p$Y&(GlJrFAN})x@63j1|sEHpQ;Rt8(AzEJ=`D +erQbPslj0V;E7UzE$h)cpVhD0n$q0ff2tcu!pbP_}4oY2&O=FG%94}^aCoI+ClM)_mk!#RLx)4UM8ci +FnR8&|xMKyxq>%01?6g*WZcH^?c6?{?7%X(HG;voVyrQRs|{pBx{=P%#BLtuY;`ReJLzqvo(zW(;jvl +s5qXMcV1>|bAh`_4Uh{^GkAU%x(;zqRMXQ=wFc83~>XIGS)Pg-1Zt!|U=A$4QSKE}Q0hyF%Tw4DIDNA +oZgP_ten7mwF`ZL)6P@W8IHaSP%aUCVF`p{CTt5>@18D9~d&rP+o19OWO*d*gv21xwnu0y;_|{KzN!! +U|CvZf+vqU0%P!&_1hB^GCa}x092?eOe$?x%qB`b0gX_bhODcyH77#q9)lz(U!y&&C3>9c8a=93F1WJ4gT)SwKoVE^x8T^bs%8@xAx#321aTpChlFXl?VFT{P`R=&FleSy}%cYFlOklLk(I +HQWWUOpAzLBtqZyn0$mZmN@uodK=ejXy6Jwh^~cUvqYl*^Od0-ud+tLZxAYR&B3b6hy +sYPX1h_Co_;Jc`$@cTB?v;VJ2F82ufem-u|~!XW>=+Mq=jVpmPqP7tvi>ya%Kb9fgUZ_IPL%%46Uh|o)lYh!8aiS*T9B(*5L@8)$+->>(FQ#5=X=o9YYg3>$4_>@h^v?-*Vdb(hBb7-V|dG3>;|;M-EyzrQ}%~Ahs1NR3p%>I*7-DHzdohA+*syo +|H{+D*LZN>B=8s%hUHGTX5sdo3gD38+LpsfY~G-I9rqjnl2Aj^>JCfFKcp>VD+-&v?jnH0ykTgs=7V> ++vJ<4|MT@56#akxCI9)CftzM*yn(?Z(tW`i;vcBa=e>f3Eu167bb8awx62av8ToQDoifLWr!z +4W@|JOGBBYsPbrC7D2Mp~&#@f%Z(SVSlVLI*b;nOM2g@~_=C7|<(4L>uJM6Gr_NTV6mS3?H +Prq>kLZ<#U46y85u63xiWN!aL%ii?h25UY)@m$L3PiP(K_VF;s=8?eGQSe*monOY6vLMeaRS4NN2`>v +}fkCb5T~3O6ybfm~cc6gk3}QVboM)s)58skp{_yM +SVqL6v51%#b@@=_(Ux6qk?}Ty4>6<|S209U!hMW~&Luxb%JCl}IMN6x$zB(in7V}dAoA|_ylbP3gLu< +m{=I%@BG5IxgIyfa|{YEA+Ks|E+G~I8!6Xt`n7^Galgr~HbIoy^Y*9}$pA>|5cct;^xQDb5P0&FSPv# +X)FQG{llp9iPSZMi;uHh7W^R;wA_y!2!O+mB9g?Ulay1&tyK1)XphoFPB4I{Yr9jOeWp+4SkL7-44tc +h&NG{M*0%TlS1?2Fo2o6Pn+mMH)D;>2$9h2i*x#N~_qCQJ3YsWtV{~z{h^qG$V~+4Uj%D&wQjbTSDCnjiV8bY)P;mFZ42p|gkTHSWscgSYFQ4~y0*g~=A +Vv!$myTsVg6tQTfrmV`!zQSzK(z#(E*CoR0kG8lV&YB;3>85P%f^ym;e2te^#I-XI?tqLfNbN)Z61=b +24JA;I)GAum5-;iWz39HtTJPn_E_)-LJxfk9RDdZ|Tg9k!+j*xmf0&ioBweA1dm|q8ifxwlHq%>cb9b +LD`110LG$o!aQQ%+QGj6Qhh@i>CFDv0Nz7MY$%(jn5UH +*i|>%Tkvq|Jpw^G>@@$64^;vji*{-rO*I|4fG==-?~p;qjyV^Fze$A9`6H3*`^JP=0@yW}5672sa8n< +tq}YWt-4Dk$j$HD^k~&_|lPp^4^xA|Ue%}4?^HEZ7 +(iy&RKaSo2ZQ${Zb0aDVx`}Wu%|-`qO}w^ZeL +h(paK3WtC;eqW{EctFMZdy!*o^9Or5Uosm#q!b +MLo*zJO$2`~vrJep2%7=)zN8ph%WGP^3!6c5)M1v%VQ8z2vPum*1aBT4?CyFnE%|}Mf!KS7FzW}1Q9=u@oYOd-0|TX-mur%*nKqVF15Q*NrVl8LIJOcvIJj +GJx?_i_*3?xy(lBgf;hb~0ZI>*JrF-`pr{Q+{}dYRF=2qEga5gs#lVh_8m(v&g}&jhh()4aB_q&3c*I +DE72=Njm(X62wC`h$5Pr)sA!-$cS|Yqz}%X +oby^qUwycVsOY=&L_hLQe2S~WG#z93u9iXt!BZWRLJTfFB+T2EL%^_ +cWaCswvt|v5uxhwtF+90zXE#>&)g2KGm?X#<&_BJzJ{+K8d0W8c!nR}XHk@3E-bScWVHZm|4lC&0`M~ +1O@SQ5@%UOXM^66B!112>qLcx;MsOYy3#H=AQS9oP?Q_o5_fnYT10u{jaoPp{Fc}||-p5gKv{$i=qB0oYj19~y$jmf6QalPj-5|mrJ{(ChNR#O{L*AiTgS5)9i7bXofyPK*(2)U1g}J+MI|R(V +aUYWm9egF%yp2VA3x9Gj}dC_SzD!JBkvvO_8SiA&xqGW*g4rj5SJ|tM{}QH!ztF!$7uJ>A@l{8*{}&W +nox^ajVgl%PcQv-QJh@uRV!XjA +=5wcZAFu7HQ0Om0MgO%B}%DwQf`n%teDbEa`;&9eHeci_owDJBGqkcxC?@RVZnEkd+P{KxkGWFK#Gh; +AXEc9iu@sC#A{F={|{FSx||OmyI#Avk~TmLFUe|f*I)>#a%qEJ^rtA8Qh| +>$NB`l)$RQkNPZ2_+x#k)f=F_+rp%a1`;$LqK>PyJ0~HU;@Y5gbiQRjZ$}eT80?P>3R{GXjCp#e$saW +;aAy+RgEtvsvJS;%pV4K7k7y{xn&JeCj6C)@B}u +0#asXAmH3n847ODoiot@!8&Xb;!_<TYQZ~WE&ysCaNLGj5$5KEDIc&h<$801JP +RH;@-{nRwx`3A3qvCr^&FW4X|tJCCPN_eydlALd~mj{-JL$h``-zEf)l_jVnhJqEAyY+t;dhon7pVG5 +tJN9VB0oiAu!zpcvhm7dtp(|VAy8RhCJ_(neW?zJQ*See3TpM!f|*+;QLUUv2h?75*!!eayQUENhpH$ +#vutIVN+Hf7kyhVQ9C}>EyE3*222R`NJAQvoa9wh8X;g~@_(02XmGgQY>ABr`ug(&epPRPI}pY8uD=q>!(#kJ8q9DkKt(!gi5;~s +fgBZqZW!H&so-=wrw2L^Nff!9vXWieu|FE^y7O95$uB2YOA<1P@Nbzywg4}^n%2puPNd22Nxs^dl-OK +|a%ZU%AWy(d-_3%BOKJH$|yeWIbNaQ>K2BSnRa{yE85{_}L|# +tv$!c2TfSUm>}6(9A@EmX*v$(&><#O{l2+YB1CpxEBTQ%a8}efjSEu2qVmsZExMt~c5q+fjAhka9P4y +yJwR~r*G5&ul9!?H--bjsz$+rSV-|qWx*kV@y8L=(KmE`n?KE-w9Hc0Ix5Plv5@=Rl)<6MdVnAUAUL% +cruttemBN5<|RM~^}0CC1|3mMtfmRq@Ge14#^FMuY^h0`Eu_fcLTyJbl3Bxi|%wy`%RpF;`ZQtJ&}(e +#26g_f+3)4Qn+74rV_Q3V(q5-hKwy=H#^h-e`$2|_{B+f2ruaOL)ctqYdKkz7 +v>0a;raxI0C^trtypc><u>d^_iZc``D;( +k@?uJm}}U;-Jb?{LK`u(&qilYo*X|uk3co#UWsOTGHNEQEBy?xd;C>+H(ivZxiIZEjpn>5BSRW +$=mkYivI$U7it|L-({%C;Tt7&Nnng%S8XbK|@xoy1YV)N51z5D$E{S8~NK=GM**S{~G*`H62zk7w6i0 +tzlNaYgcqtbgjKqu?Fl-s3cgz>aiuxQ9C{bM?<=b2xleb42gy&_|tcH&|GCDS7>ltrYN+x>AJj +rY~gQ>C){Tyf%Vy+#|Jw+rR^DjH8iBcyRoPp@4*K{ICEDch0Ux-L)rI+-pimxsQ$rC00D4r5R$>5G7n +l>joDV+UHvFd=huM)0jOt`kgND(JlW;!=dPXyhqvbxE)#74jGUxItDmHk18CxJoCGWY3FJ^Btfvi*>c +FiEI4?UlX@PN&Wc2Oer9o9~-yeg`kKXSc24rn`)^Z`);j63>#~_l9cT55Zh|0Z-15vg)z2;k(JtNim&FL_uGh>;>_s<`S~&I|0aQn|YAKayr&x1rU0r*i!Ug7rHwpT9nCS +V#Gt;G;B7We~gClP}|0-)OlW$NhdBH*~6aev*-wc8N2J +|{yWPEu4othi2rkejdrf%jP!DV(djv1#`;-@Rd7MA}j2T2u){DP!JTni`A`?TM4sa(fAMBBUlPr1Pr@ +kexC4hEICsbQi&X5*c2dWfJ5M836IZ9n;FxcV@)x7as}?_~f*xPo8vH0|#R)$+pl*Axe0Vo+5!av|IY +0SL<#R`Y1w0}aNxsnIPMrUyaeLAli5UQf#CpyXC$nU8&p%w2RiXlsLQwOc|X +;Hh~r}Y_JR(jjqh^R1sMyi(RI*fhuo`oLp-$dw?0MVJ`Yl{D$*nD9k2tZLnY*zX?*&z*K!1-&RI+CdK +4?ES6{i#C4PBE4vB!e+f4%(E>_}!l@OIQs#E<%4yzbg!dbOSKv->oN<-IGtJ*@+8X +Q;V6Bi4OxIn0L~vMK+inh?qJ7n>EY1Phl*HV+4)Z@J~sO+f9(~nfBjljs(;^w`Tw*Ec@V6!(^WwZ?-^ +Bo@B#mux3*UcgvczqSjsAMr?yaJx@&46qqD|UYB%$5mU#2!i{%#(*(;sr;e{WBT>7hk69AA3HB +{XxGZ(Ay5*`|=8%^s-WDA@XRCFPJXFLf$qEqF}H_o%VSgx*$i*iFEGGJ>T?7WqPRl)SReQCXxFKW!U!96LXXMp>;$whU@zN)PCj3(hXPXN}95}vhI6Ch(?>G#5ICL=C{o7B@_?wd +P!|+q1E_87&juM_By?&qW6)UU&HQ=+?ap-Yi9d6P*kV{c!k)*m(@Q5UTuu6XbFPWz +J_>Rxri5v6ZKEoh^;Zq(Q6x-3`OWwTG{M@8FpV$plM?8R2M*@?J*{0VRAWZ4c2qHk-r6g4$Q&ojIUNN +0uhq|nD0b$RwCwX2bY7tKDVOElLWel?s?_PCr+PFTzb4(?7hpJnz1K#VbU6S +1E#U;xapF!^LDu)elv=A_>u_ox?Gm;i#lG+Vr}h2v*nij3)E$q{GW+=Q9lOXV`M2uVev_$xhVstPfE(D8iGLG6VZ`yPgk6?W_+V7v#CuGa|lzLV_j!x +qy?XCLkALX^2WdvZSR_>FK)pmAUtkY`;$ZnOZ(y$$oChQk9KoLo;XCN^}(IoDwSNo(|>G4aj2iI=}ARtblJCNLz^MNr-p6l77w$-^lc+nS%8=gA&l +5wCfY3J3~9?1VpN#U<(-Has}CDTi)ec0lgw8NbyJqXa0hzhtbkM8p0TAy +8F(Z$M`0u#98!9;(t#F_M(maqZZ6FLnChz89&PaHRP;?iLq8pHHk|%c1gBx%sCvqmkm#F9&nnPf&V0b +eL9jZHl|AGI2_y}`N0M6aeNWMFB_Wl^^=fglPTuBmQ0&J%XVHGTuA*ROoY$?utKJ?Iygzox8-Yv*@aV_re826RmD^-)1K#7I^<{;>U)Il}wh&pykhTh&+LVDi*!&-Ss#0S~uI70 +n9S@BCq$|&83rwClzE&T|m(Vg6heTc6apuXe>h{th$JB_jU4L?DoJ=fR6bIP3y3A9HeW7ad&VYhKI)0 +AjXm=TCRqRo%u-KKB3A?HLZ@d4f>Ki_;422Hp-i@KdKeKPk05T#9Sxi;5SZ&2+Y*!TrO;7Io>qKsJv@ +8p?NuoFPd6##$5X?I?7^7LG;+g8k-at8Mfv#x~^KZi2;+hrHw3DOW{e5GbzTntyT`-f*1ur3fOJYd)O +epC1%yeF-ZccilTVT)fq=xy6VX+;@H9G1Z>zLLcwWwQM?uq#}K#;+IPK}I2=H~TeLLljYP5R8r({<1K +z``h`GQ>DnjOdTqePcfl<#segQMmv9q1a^rfS+g+Iw(7cH*c1dD%A9NJ0puvj*T_@;l>Lpo&w-Ct=#l@pn$vtgp|;Z +b5qLHxm`XmPYokaH->@+hT}2Qjxp-v%HMZnLkb}{#c+QCnhPe3kII;sxyb`HS7n>VmlA_=W&^61M7<& +Bm$DEdfH3TgtJ#W0Uf|#H}g&8Nsx3MQb%jMplq!^@p+_$%`YsZ=Pt$`%d6gOrAm-^qS*3`cgtz8 +^~0o(Dzm0Mr@SkA*4pm1Oh7CKs}d$LLm{s>7tT}u@4fdd&WViCySSIbPfG+bGF6-sxYAeli{&ae>L&H +2~xek(ozL-5@+jYloQL3mqxRv85Me#~X?-#lXCtOvGW>*xwt +ho)H&N)rSdqvf8YSpoWPsuyKqv|eiDN}f&{)c7@PZy*O{d>GVJS<{8e6y`L)lC^!Ta?1H&f_Z6g5gAe +G;t(v0qUX_4N^3EyWugE9E0Z1GU+=MRlRG0a|9C~8p-JyXu4dYN_i79s$X@LiKQRPuiGkjQ`z^Vek!3Iv-BrEcB%@6@1JktbC#6gQ(P?#k0xI_5 +KHnj;}X9IVltlHpqau^^eK)bSDp0QWv=){}sRxK9q%D8(tk{bM2_O_1|F-Qg(Tlfkt&3+u0*LQjs?+F +RCrw$@)ep=hkprE7*}l$hO#y0pf>daifpI`;CFg88*`PG@9Jiq!XA07;ho+o!)jgYtjU8p!B>>k423= +HI#k-5JKo;r|h{#gYD|*=kbaUp-w)>ky}#PMmfhi||_yxDNT_j<})obQ>i&>%UZ7otCd{V5TwLMfp8I +<(t-C;fUA6)~8v%w1Av*XhS +C%n~d&XA*HYZp{Y!kA9SbCB7-ID>5Y2a;`6W@aq@`P3!IHR_>!pU%yzJM;sO&fzdIDHVx4!kvFI0v2`C@huDFEc+ffhz3NcMD`y35)m!AhLh3en2TKgL8rY!7-cgro2lyp1y2da2tw_KYaAWy6V#;fM@ +bse*c93B`#$H+=h_sucqLopG39_fpEc0Ob2H2atyu#e+(Y6Iq(Et@sy2hZ(Ne8y;z8Xb>wbkvae*pN}P}D* +kcJ?CoV)qcud!cJRf~$Wg^yh4proVMX@!9&fSP=GR;e3Sv{N=`LjmTJC^K$y?~*Ny`9Bo7%w*CQGMl^=xp9!IA61d8 +E=i!c>Rf!@CC4HLS`tWr-Ird^y)kN&|#rWn&r89@)+a6sPwtZ&o(YmLmpXbjV!Lt$v~5g}8v2d9{h*@ +KNKWQ?S}tQZu1Sc8_kb*eo4-L|w+l9PO;|+^!q7`@b*-b(6oHy!`(4yT4|%=HcVNyg3aQ>88ExI3Cfq +d_uXQ?8GQ*?L(TL1YT^HxQ3d3iSRHx?1Cb{sl;=irYb4&=GimYETsPE#f!)zxR(Is&=C^^F-)|f$ER6 +~u_YkH99)uX8|A2c?L?x7jIwNNo8vD-Sl}`GZmhrO$3}R8Yh)wo2!s_v1YO#rjowwuLAX@i_6pdS5*2=0dcv^)^QJDpj0;@i(}6!9oNBY)ZLXZ3X|d#cRshYLz*)O +A;L;PtDo|0V@)B`^!)Crws8t9eDu?^;u9aTgp1v||szSFhi34@gmK*T&eFGz3`rIWe4jWsmi@bqlM>e +ARt)h;N#8vEGdWUJb#BXig&lWgQvIrsC +(|EcDY%9H1^s{)rD5#lJPXRE9;9=vt)}sV{mG%hr<*&(>i&yc=#1D+sdDNJ+EFK9Akb+_7p)JA +o@WVFr5m=?{2G>{KgFHH7}Q?6afrbua^CXk)$$Vay1Svx5c^uk)#ZRUHUq6LH%;^vfHb~v;{pHbRNEH +HsuqZjtG=SyAiXloN1XC*O|23sTaKgmOU{?i|zq(lXIhRZUfjY*Or`FM~$8t_EbCZK6YLNNLf+8!{fw +yknT0l>NA;oH0`nMlNab^9wECBizHoJlNUJ1<-IdUreCng>15&V_vegD;m$guEQ2L)ICpw9eu*!|rFE +P!7g6xl&WXm9qDB+oU>X#2>k699qx_+ZZOsc9YTGDdHXsOHiZjgq4d^!$0jKe~WgRfjjz`*nTlLpUh* +yO_y#D;TS%I9o++yNkI`0|sM9Wh1KXtuOtmkx?mWD_2Wkd_AjSUDPgQ?`u;u)jOAr3t0z^+y+=(Wvp6ry)T69YV^+9(6lv3#iIl}QyqcDJyY@-y~?rb(< +Xstw&65|YGNrb&PT9||&G5DbhBSZ_Ij09KNq>?bwcr67Sm%zeRKz9vPEpKG2w!QsL2Ah}NKGKaf#I5_ +*?Pmlk-IR5F;@qf?HKOKzmgRsao%}+g&<=+Su?mty^N#&OTkU-UR1T%(L=J6Kn2^Gm`=9h +P6(a_`j0lFuBq>Xa4!Uk?WY(VKR`Y-;s0T=hfIW-hkb6ket_5<5QZDe6ndsajoAUm+h=rG10s6s{(rv +FMzirg-Zd$Oiqk+4Gs&Ac|tmait%W|0kuQ4&PC_sJA9A9%=nJ2!KW`yvo9X~A)uBF;7je)CVC<;mFvp +|k@=+AdHb&ing;JkO^BujI0<-Gr0#}i2^iuK?UGa)$WE!yc?WWJ-{S1(%hHQF+gAK`2CE(B)PVj6D6(#s`! +-2>I5C7uLf`Xm;%zfa8%L7&&^!etH18V;cn|h^9Z!5%`cUv!z~HIG2A#^3Gt*BZ-$$9`MxTVM^)*>1?q@H|iW-2^FB=!8gLa>Lld0=xoI +t^_zdI0S4k7>z>vW}ny5owdJ%c&CMwdNCu5zwGHY@b$TGr&W{xX}2lcm#>GKgW$f!%lC}Kd)$27I!_Z=hnuF>?e)_l1lHJnhULO=&M{TQoUe201unF7E;`k4Pj#2d6y2AI*sg=KTKg +?ns>q}1l#4%hX&We;9cqyTB3<+?x*hSxO*3A}VFOZ@eyaQRYti_;7z2PF6oKNm%w<<$p6TAb?r)c5jr +zhC}2l4YSq9I_L+Y@*&P*)OG(1vSED@1`rNsO2vBhl_X78GV++T{U8#b++*y?U=x?mzh0bM7W%``pu& +yV%(1+t+zS0q%C>yVo@BC%<~4VZYt;d{5HTGnmfAqi@el^}SA6%dnUuYOYpT^UUx9)BwoAfPZTr4zf? +}XGy{oQeA2s*^`-tiZVqeRE%%A|DPGi@7BLiCoXNRW1I?XW0wP(b`6sWH?A-#&M2DrgyfKutb3GXR$k +WmVf{mmJPiD|7mEMOe%JSv5h(h$Tt?x(bX$1l`Koi@vqH3+rVN@o;fF2b5Fyr9kKsY^l^%q +LgYIpF?f1Hm^$d8A=a|n}@6GOK)|`uQoT!BbZDzJJyHC>~`!WgRj2&iu_k7fhZPou0FsT0LfpMGkk8&uQnxD7vfS&IP8=wf) +$EU+xKfsG-Xu{eOn!WHXJOP=HW%L&Nm-65mZzM4SB@=MVNxgLCN!n9|?$RgLK!XQ={5-@tZqv(}lsp| +Nb+_ioGm8t`E`m>7U|U#{x`St_n&U!dh4m|BLGKYID3rm${bWx~=t4hp`^~@I!jh-mQW5Q#R7!O+(@8 +GgL#7@oiZInO*Wcw`WVtzfY(PRRGlyum}Y>$a-eMzahwj1jqebfU@--m9O!7!lR8P>@HG4N0nC77a{<5N^U!o?`0*9Xb^CI2g)6);vIRzA%}{N117*Eq`kb$<0&>tGefT?y`s(Bq0jX$$0)L7P4i?i`g_ +K0&){@nvt7Z&76T?x!*|TT3u~@}(U&SY&%KBn( +FXBuN1O#1h3_nEGJ`XcZnCX=&m{@=$bcp3grIo|k(pKdV%E``oC)waF4gJrs^Iy{&)WPvH^s%(h9SDt +kL$tBr!tu(R8RauqV<)Shmes}NrogOLCA!73CWmM_@pX|IAVu>%@NqWd{NvGS$o&GC%K$6a-uF6?O4O +W)4p?V`*M_E{1B`Y)% +JA(_80^lESX=*f3H^G6m_-0MMzZx_^Ddq0iy=l#kN{%5iYl4NwlSwL)zCpnvOqVtFSCuTisO4Vy)^8= +w4Kv&b!flO{z{TZNt_zbCFT0ISjDcpcg(&@g?2|%wSl*XDWo8ij@gO){G(;ko#Xqgb=;Qlv%-93RqPp +3ai};eO8r~PRk|KQet#-7%U!E<)+*0Cwv@TqL|S)snShXCJud=9s+5Q38jk@Q;*0kQX&H;hMk7p+tZR +027!N39ix3UJzW;R*@lwsYB^0L4Or&_QN&^EH|0%(L5Ts@+CSo27Sdjq*P(J7`s3(h3`>dX%aa=_A=G +eSn<0U92jd2lLD|a!N8cNX;(kYxOhqUJjF?r~Uszn4T2U*@$DL>~Iucn=>Tf_~@4?icklxHQb3dbU8Q=&heaPy@&e8nEU9~7P7;UwwBE8=dWDknG~8Jb +Ox+pePz&B9@pN>5!NUykUUCQa53+@>n+SZu&Vyjf=iT&=bQMnb#JC_W+6YsR +yq9kvNYNo5qTfGb1!n7l$0LlKM^{xnYwh+TV2Y14=dLRapP=q0VFL<49HgDaf(efmYbMe!`I<9d2wAg +ut1Xi&ljO|cTJC&rgNyBgr-g3*=4`3#rfcjo!m!Z&v~6K|)7D~%u_c|2E+yV=pR|&v-Nb1-P*lbg^?=BZsi378Xk?0cFYEwGtunKg!E6cE(EB%IOxeX{GrNugT*m0j4)j}892AXD;*5i!_~zUX-1s&Pu5+Ie(b0SFZ$^)7T$)`$;ILTZ +!0q|`xs!)vQb2Z-j4J<>dXGO0QBz!rv3DGUVt3AqyNrLa2oX?yo!V4AAXt*ACdFI@nefGkN^809>FPHU}UHAOmnNN!jA +#e4VoVD_x$D>{~0>Son>=hjA>ei%667AI&p^bT3m5B=`!+yq)>i{Q}J5d2%4QKfJBa2G?_T8?TjzU`n +%xfZgKzOlN@rb_vui9LbkV#o)7lD#hH=BRm{uU}E?9)0X;>~R(7 +arda^D3-1Az4|`4y!UkJ1zM&z?z#S>`=M?%U&EJxSw_O(Wlj9!SecJ}W3#_js|c%6bkQT$tS%e-y3vW +%o)G2r(`=OcHUla*Fu`K3QGI8())C3w*kdP3lNr8?GaG1l2cw^EIQ8Ah8F}t>Gj3}4==q4x9&68oT(4ArB4DcBtCKsZs{6`YOw2Yrvq@C5n3|YA7O`8dOduS +}N%&n9mlHGakqG9T*qQZDRv&X>!P$8@T*Ipk2Q>-JlVx?$l1C7_x`utTqfnA8cYV(jF3jP0a!TSj@5V +|<3`Hak5R#dho(Pzvydba4p(Q3XTD!gw89qjEXVX_P{fV4-LXM=KhgB$bnFG#QPGWa)I2GlI_3DXL0Q +#fW>vgJDmcT+%aw2L7wJbw>@*zo+Wm2EgcNK-E_FoL}@{F6FYf&x+-U}Olx+ZD;>H3lP^oD3mJpo&?8 +jjAp2;z1Qn!>-S9mdBVIlQ&Gqgm`o;(+Y_fy|AaWnd +nCg;hJllQ(x&9-9emctDF!BPmRr}%?V>QV?rsw@JM`;%!r!UUkZz!x9<-Rv;q805MC7Xfu(<}Y;eRc( +xI;Kur@U>abizOB)I{jDn6=9DGUXpJy_U?(1)0~gaN!aJ%L!8^gP4iH}9F9!rxUWE|!CHQ9M(v3ji+5xUdv%IS`nyk8L!8$ +!4{`qiXuAU<5zij###yqN3Zqa#)e=BPaQl=|Rb%bgVLdDZwGm5p?`Rhcs6hlW`u9;s?_@3z8crL1QSM +gW{hnCY0A@%H3UOuUCFCdy!GhkxRONqKI8YZoY}+8ydw-Q)xE!fbBpdr^WZ6l-;mbnl<#|15@cMC~V; +`Fet>JJ7e~|NVdd?|~UWr@_VGhY#iAhYuI{|M{Rd440xoqOVQNUASP9asTjVxAeb+`L9@=j}Eic9fj| +G`|i)je+V_$?5x|9b3JI;Ne$YAmH)7)S)r7tFgHiFBKMmFt#pKo^zWCKHo;gAi9E`lqt|P*qEr!ROf@ +f!zn&qP?A!JVJr~gWgbn<n`Gx7 +DSnPwLXvwmosZ`J-~;Po7!DZ)^1VE9ddDN2@8sH@TX}??H@T?eM?lW=476?_4Q`8L5TcW8+gf+Bf|ig +BZOr$b(JHTCi^KrDJw3x_&}0u0Yn0eMEf%1n+6=W^Or)J5B<^WIkcvu$5^ERT%X??n*M_iTrL!CZ%L$s!OqH2yli)M1DuElFpk0Pi*Zc=kKsjkR_tzlFact`1d)bJL~sS5TM^u +lK~e7s7Ec91_T=YZG?A0zHu;sC2C<#vEb+DV9Ffd^(?qi=dq+e?iOEw}>y@)R7jNk_=-8zX#y?QZVFa +c0f0|0?@TH-IY!^K6> +T!lUYHGA#9oDG>G1Y;(RU<#ziT>$3tdRxc+Z2}_6Icq7(|{xlb*y)DAMsC>qZP>1J*1~WA-r@H61G#k=$U7`g7w#q +IS&zfP&9&jn)(ZkQ^nS-)-F4XGmo*?}Ya6sqXalUnF1dbo +WH=kcT*6-psA3ww-gal;i^S6x-ZS9Z$0b}%V?i#70Q-po70moV%Pm48%oEBIsy@BIUQ^94grVIRLf;! +72I&w;$jAbLnE9%aW`VBeBV>HylF^JxRcdD)i{89? +EIDE_WwpW$<|6ujL6EaswKnl^yQQo!r5nQD~@RmOE7{9dP8qTvB58xtUvTO>bSi{FRfSz3m4%n6eVU`M{4hC*Kl1Wb-$MQuxTT@X0>4Dt7 +(L)p{RV#6@q`juqlW&536_$C)xn^uk48ruz8eC3%v!==|(w${tNC&ehxU!j9Gx|okW?mvU^rH5XKXQ; +xQ^ov+jaPCICw?(|D3DHObkG@h2Z~28bjQDg*&r~cz&cM>M5BAnT?eE*lzyX~NBocBrT8@8r=##TcA0 +(cr&58!pHm9aaNDil603$99(?0+Pt$%gHxBQLdN;f&RzrI0n7VNWY@KcZn?w+*jO#<*%#KI}}t1o^(-hgky;=YBf>UA^n!Wc=h +_-^OtYP1crY;efI3dTld$i*DqeZi=C6z?qtF;DXf4(>Mu%Bnax?3a9ixMCsDSTwTps=3-0h1gP&oQ4k +dLo8XZ6TZ@!LIH^YlgFJUq4$T&(gd+3TqILTQM+e1831a6)Yw#s`9oQV;NX7ng_3#9mBuLptFUuNxfw +F>7HRV(ZUO|M3U9jZ#tUP)C;=31LzdoHjfBE*^*il5> +sTzGADe#&tZwYe1oGDgm;1#5XtmLqtJbPd_w=^acOAX@hWy}^UHDn4|^ASi(UB_@R`VYcM3zZ!Ng_Hi_>fSagMVlz<41t_8GSY2NNv}OMCX7w`Evxuw&ADNUv$#e|^JW +hWmcmtv?^M~*dyei1EpD +4>Utxf)cwfb1zrb3pLbA&suFS`iDJWbC`GqLR3A+uBG%2CHBi1)Q=81i)!M6Iz4=7@gjebUa+c7+imK +VVQJCCFB$F!yakgenNm}v#eY3tU*5samV2{4|>=E53M_)YtJe^*pH^xCa&26Wyp~%%Hr)vtv0?=YJ98 +~qfCX~T^nq>K}YB#lgNu*7!MoJi6EY*}i%j$9@Vih%oZI?3%l-Bbe;S|n?M_YOv%V)68Fui<0Nf``i4 +|Spe6&8-kogr(T*yS#&bmBCeOMPA5x*!BLOqgSV#);IDkK#}7z)o#>?(T`IRhO7ybfCthAsWS0-n~D2 +LYKZkOo_@JTJ9Q)DnS@-M?C|w<4*l^VSmL*hxvhlX*ytjw8I`dMgXt=yqE#Y1ifLh29Z32b3%Q%4hz;U!|3C?8GRo20_nf?45ITXS&a33s=@Wcc9mEhYp&txL^T_&B(YkT@3DmZa(67p +XP%IyRmAYab<)p$$OmtP3M$UtH8(3 +v;SFc2ZjW`@bP3p==F`SXNF8Y;J8s8!do@{dD?SB4X?+Z%yD{fU3wyvWF?Q +;1WFgQ>O>{}Ie0*m_d8hS+%;-90UP=MmETn%bI4-YZQgaScahR=0{74cTvHSmY*>~BVB6E0%4WT#xlo +Chp>#VHvlv)$!wMM~6}8Pdp^7<(E#Av4;#xV$Nzz{FlBI$3RE4AvRja#@Jb^YiY#Z#>ZanVxOw&zNh2QMhDb8 +>DD?c6RCTL$b5WqX@I|>Hl&Exo=#7iVo?J*Y(JS8soR$DOYD>IL*>-nrfo1~pRf>#K6u7hm@Trw`U4vFk)(Npe6Lg<9 +F;n24aWx#FF4#|QmY0}!Xl!K#G&JH%5wh5+!#_R?iB{+zzlj?2+0Y#r{_*sGAR2si_P>wMKOLFVa*VIwYU#eAx2qk#r+~tA3kL&f>s +R@wk?Y|f529b?9~jtJj&J_mi#LCI{q{xnANa@1zr1?==Ebw8Z(ocLbcQZ;5A|)Qfc_hYo3Gixv@XTWj +2H;yqL^dK(+ZVf%!-g*jk$+?@q1QHDmqg6SG3_;0ZEVv(TI0$Xkgq`7w1rFx2xJ8zc~y> +5yf%~-3T0pZE&5uH-ClAXi8{8ptRTYSJVSf)ivQiqc#!&%Km?TJpuo_K3oV2v#g$IPE|LLacAUV@*_9 +i`0QiN;wM<#)zL)XwhMx1kb;q&ebSx}U`&Itg%eL%nSVP~#JXO8wL_1s;za$)dW3UtrN~b@oj4|h0I` +_7q{rEVVton3^1*}aTl}q88BE`J$=jvE@?#jIFjG4}jcU_VM2nGFMnRRQpkMr#M-Z;yp0Y~>__SEVhH +gr}$tmSK>P6;KNU5CXz{a8$CD(CL_QfusTn8js`^)7nuFix%r`MO7=)1kES`%S_uh{fiUv5FlDnOklq +FLq5Fy5yQ+Hhlr&3QaM_D5-Pj!DZjSS$4l`LhUGjF)1ekc@X@X{90d3wCK2T--{)Bag#DOe +9Tue}IOZ6N>pj0k3hHvZZy1A`i;3q>Vo~0d+T#c+EaELnOWe9YveYS^y$Wtl?PN4u&C`)@ca1u+T!yvK(GCLNyYsj~@SaJb&C00K=2}>W8!Z!4K!u;-3a8Dd9iK`Z0VVQvH~AJxlXbSmcL7rV30Ndbv! +HKM^^m0AuP8)eFF@@RXA*@EnEjg-EB_$?3dyw61TS +|KaV#Da0sjb-edEcW +FqDH2$p6}2BCaLJhp~+{-mHWw=|>@1cb#B%W97-xuVa?B?>f+RaFprG1QRNf6urK;3`MO~gyK&<*Me7 +SkZIC-S6k_v{u}jKuH0$E#m6R!6}A}+zFe`0R&g%yK5MKU{&SGCDrAZ6${e~?6^N1j7+{~t8`K$^G%( +J%QQf_VcoESKvMc-@q!?PGx~H>$ZM1<#;iGV8n`lMF@1K$o(9LIwLMMHUw5D?oHzwC_8iwi1V04Kcwx +~(5d!1}xsC^{FNv4987KoDsqx%+rP{Ur;+wvZ}ZEmR6QC{Q<*ijsI;;MCH#sSc9Q#nuT(wPD5a>}<)MA2w3%#A +t`^x;n=xP>AnC?+p}f#o{|_JrJkc76<@d22rF)%zF!0VLj~iE>SdviLW +2Q+75w4+9ho@ZKGgUkUD(rq{mXo;(Q6uSy>pIa1T-+7WYTg$k_wk +0)!28*%7n!NJlf*#X%VEkFb#~)al~gFz`F5;<@Ld4ujd~vev)21aXvIkT)8&Q8xb5?8Vpx>YKIkSb&a +?2;)3^kp12P@E!H!qRWgDcLDBeU3f>Mz<`(7&oz +8q?u09>Tt)1|ju(Ouq?WLZAV{s*_xzXM3+$3Z&j2X*;zgZgR@q>mfaS9=Ck{@4pj1Gl}vLM^nk(u4@| +WYUSCd+EHz0#<=sV%ecnve<##ZuB>1^kGSk)Ra#4OsT$ebySJ%z-YwPyDQ)XCByLsBRW(^jABUf(~hT +r$yrL9SYV^`x7ik0pyk7Djn&B6kB&K{1tK% +?G^QT-?Zw*E`>mOIZ0zNQ`sXKkE-A8aW@P9iDQIMJ>>JxkG8F@(K5*18rU>2jn;UxU%Fm{;GT4AOQ`= +7LB&{6Jqsw8$sAmSw9%kr|A?fORk^>@xG#^#y&nm+n2;?h7uU}zYtXIw}UqZk9^ZZ-z}et(?7QTF{67 +lD$@2Zkfvl(Vb4nh`1&nT$r?hxQj&LzGof7##fj-#_v!1)qy094@R7b&bY~jkUPABQwJz!WwS)4MjCn +Eo%kz3g^Xca|-3E*w}Gw2!cqBt;=JEDovc9L}{%=rQ?eJMzbOJZERb)=zS^)o4swk`Q^48ESK3OY7iu +)2H9E-99%{gNzJNiKA22G%dn_UV{Fp4QmG1)d$&;Xxg#HX3o=?h$LoJHv|1_r8T@RI<}casXMz69h@x +IDN*t6Z70|#YJ04!{HB3TwHz{f5+25Ki(KE^o+|1_y7)WSE@x*fqNaCotu$tLR&Z}0*FIgP_dEo8qeQ)6$#A;AKUR7Uni=6|S>qs?r5P3Q{{C +d7Xa>&bKg1a}w)j6!Vky@b1mdh93Ov5zpp+8-kzT^sKk0cmZ%La^+m8ZH|&=V6+v8R27ANAw|IIyMFTZ`)b|PUq;>#^)3M8z9kDK3f8(Y0wBFBt}ry-N@PnHeIlzpV0sbXgJF{V!3lpD?J2ne%x}mAm)?)kp +OdDMho+EHx<)t7qFS~S*Is_XHR&Gfip^KjddUBD4g~d}h!O{yU25<@Lr^xRvdCZKdzlPg+V>Q#V<=om~l`S(F8(DEVaVyj +N)}x+k=|m*pz1PPv~c=oJ0wiTl??T=+YOPTYjnA=qbEdFr0`+Yvg9)g`lzoKiPc)@zhCwJj&6iGCtjd +_iNZU4hyMW?MH`>t=f?$^1#T0zwh$ddN|5GU>YVQ^nxqC{PSSdWJzp)q5a_A@3S+V>;9XUnWVEjm+{_ +&PL=jHD+agnIrmQ)R*K&^n3-(ppy&q$S)4&9zrFGlru=q#gAN2`GxkKOvt!o7@}k9B9Tnh_ +Sl9^wl(j4I3n4xcjT)DjXlTl=izwWN^5)wbd{djEs?8NkgdVt&28{4mH<`T+e;=Ct@)q2iZj#aHaZ|A +{~z5f2*AYJA`*#<8y*{bcG-uciyWm?oJbgT60~yF#APdk%+fi#*P6I$LLfRG>%V;50=z5?u&)cZo6I_ +1{_|w!%y0gxmtTrtm_n{vQRgsq9+oibLDw*p?P0<22NqHjpM~L>%OH^uYIDy5sMvc*BP4W7x?ZvX1(I+IqlH`|n%9cf>3Y!P+ACve{!Y=&_Cf~*wTYViA9p+$98{)0a25FK&~rko1+iz9WO!BA)^sz +wUp#Cr9}Zax8>RrhNc{6M-2izuyp>CK>slHu8xx`1~%9XL`%P6s{+dcUiIH)Z$b;l-c+AnVb%o9)-Ub +9V3mTxhX2S9xniuKrt~$fi>xK24{r;3mBU9)$RQz_gIa-S#^^rfk&-(}yVWVq?v!obg?9a?(!#5?$;g +mlo*9LXCH~>yOMX$Zp}uD}a2VCgkcU^hjI<5nk<4=a +RYrAJ4M*{M$%&1u7?QylShYPZQMdP6*6|6H1ckzL7g)A9daav^WAdy6lj;~OkzV^VI5K5br&gq=}X!8bw7fOWgf{Jh3> +4f5#O}j@>LJ{ph}ZsW!Sbz<2Pa5pGUUT^II&9XmN`g+Y5uR>TW^zxlalSY4I|p8JisNEfxPgGRNco*b +^YB1|d+CCb?*52eXLi9hsw>=J90_4cMjEAX(6Qi{qHxf<39%_1p_3qq#_aGz+){&blS{n5IWAk|lk9i +#n_QUST$pKDk`i_u&?P`Ki(M(fHDlWn6)6+ApMZ`v0!%*Q^x>{p6D&)vBkxtw8A3t>!pSVTetf`U)+; +Di;ULO|cX`ufG&x9T9m6yX9ZXHgDC#A)YTj>8P7Z)(4WW<^H4M2Mi6u@r%vt)85x_a?DY0&>5yNPlPn +0ZC`qPWd)#>cujQ_|qTBrHeFTxT0IC+op~h)yY;N4t8|Q$|RKTeA4w-T4_; +&b_F}lH^yzLMVQw@cuTATHTyC{hdTCgH7CnKyCvVJ?p>9%%GAi!>7HOtUfd60Gcen4(j?QTC&8aC$t^sYtW=_W}d#i)M +Dx?gy&{p)bsBPnLU+=w8ZM!YCxA?H{G{b@cWC5%>gXm*q;|2F8wt^}Xk(a +7tO$;Cw74UT2CMsej9I06EaLVNt8h^czpc?Xf!K38CWk=%PysGJZYi-d>FbR&*U+IQAclx-kwT49ysm +aBkEV8e(Qc~Emb^Ntp2-dkwI(O5lmpmY}a_XwQ{s|UNR%A8|lPU$cKF6NnSfq_N?H8A?C9Z55@YPB=x1@8FS6?%FQv)W*mITJ%S +7Ozx)Xvq6MtaRN{>TcMu?54nU9COMZ<30gm@}5}^IMA-DHjitZJoq)W-z6Rr +*sKD&OQHwH=o7>S`i+)>@^CpoJ$?T4-BYGKFaFny{}m@l9G?9!9G_z{o8b@h`~l^`8J>-Q7@dy}d(XZG5+F<9)O+c?74wWl@ +GOq(r9I#4EULic8)u(V)zn7pcvP4EAh2kneA +piiuSX*%X6l<#NiO?eJ_lVIOS?ZE$NdDR@}z&H>E9L`NOeD)rAjjRUbymW7 +5g9twmgnPi2&4=qP&*_id&rth3`|7!5`Qn>>?Tdj&(zIEh=4ef#F?Af9fJ9SszCgk`>v@Yxf}pn^wah +#!oCOK8Ds#O0yrD?8b7HpgLB8x|*6naOcB==)88?SSZkPagln53#}}7}xP<=gF)`Ni8LP`KhFjF1pibY8%`CEK03-l2& +F66=OOSYK{s*Uj!78XHt~WX-FSwn1yYGMI;k;ujn~V>Q#Z8moo6}hAfoTp!A}C0oN`^5J<8Y^W+IAa! +D%zHlPE#PvnWBvp0p3i>>}MH5cb3d0n*(CwYeJLff>3P(XY`x*yn|uxSES8n>(iZx%1wlk|yX66 +0R2D4j|J8#XwjEO^yzuB?FNtst05G9G;FegpQ;NT0evvoc0Y1(cFJh)uJ!YHs>;Ts_a`%oI^rXna7s; +^S(O9;|E|LHt<~9xgtle6{=hF()7ZVt-vigLWvb#td%KT^y~#neAB740dbI|4-y4du=Hk^$sdB7X+DJE;h8)+mwc+YtR;h#-V~%J7 +I2_hZiD3z)tjj&FZ*&=rr}SBpLDX6He> +e6%v#4cle(4Iq6R^ZBY!+;*j%}?sL1BuAP4mi;ei^D8p;ry@kd;sVIb~(X7~VSnrPH= +0L?qMKrL)1;s>rrN(-@ECG~$EOjt|wyc-HEV8Y&SxEj1)yk23Dw-E#4?#-RjmeVA{J^R3!f%I%>{tW{ +hYnnqK~&kMq>e?n}0EIr1W21q3N& +ssT^LOIAyHf3~ymK0OR?2rVEW`<>C@)_PktH7bWxLe9;1*R35j*`*J>F`lfA9GA;P?4L^~Ce|a{TNSn +bqCEuXm`CZP%r@iPm#cdJy3SD(yO1$4DoTitifTu~;xxQaB>DSiF)^rg)SK+oPG<3hMWM2*VsppPINmvXTn#j8a7%ZAZzFsWI@N984{&nqNV; +C^*kIhOfQ@BT(mIh{OIBi$}92lVr3nemhW0Xh9TzV@rfs1m>zcrV{5B +v?-*n4djA4-o)z^_%X|23%-xe#wRvOoEp$H(%M*|;&3|vcqiZ9dTmVofjfl;p&bk?5S#b>d;&VS*`aR +EkdHnfn$;lr~APF~K1@!E3!icrF|6Iw5Pr!2R-WK~X#Jqw^YoCpPamc;^n$4(2k+@3LnYs>Eey2M3iE +i@;Q8WlxRq%@$B=7t*X|kBODPG}EBI3aj{~Bd&Jx*rw>Og6WxacFq!-6-!6qlKSrWML@1Zvz(#Zokp9 +@8FX#kj?j$u8|ohtn`3(bU_6MwQ57OVeW(w*+Fgp|Q9y3~o{MrOxa$YPQigj}jSS$!_y(8xPHbz!|W3 +m8oEG6Z-Q6ZoLPMt6AbsLUN$I45x|9&0&z6k+IaG7KoH8j+Ihif~dm)WZXx(xI<$~x74I$_Z$n$7{<6#1LCXS^$E+{?g6A#z2w&?}2qLAqd%2Nl2iC>wbdVOo(|&1qS`OQ%tJUx4`sc>#B4}cieMb|H;LlwmqHh9n{l6j4dR6*?wN{3}K7^F)wp@Oz%5a&+)5eFR*jHuYC?Y=^j3S*53hZsH2vuscC&}>r +C&3x;1#uytPovS$WO;u(2%d8j?bA!@S%b4dPf6u40>9kN5(eU-ou!M2{JMkd>{(F@>^yRpiz*_=~W#? +Ra!oadvNp|O8F@O`u6P2jDLHFkM_kC1CvG3k1^$$=>0|XQR000O8ldVxvLTM9AYz6=T`4RvCAOHXWaA +|NaUv_0~WN&gWaB^>Fa%FRKFJE72ZfSI1UoLQYwO3njn@ALX=T{sx55_5VlS+MAHQiE&#AqGJ0&Z1pB +}8Cs&lUqaGmhK#ckfSmgFdpfOPnD67TZ)%vI?NW_ +3<5T&V#`1jV>Hm3$U?OEf%Kn?X9N{n5{xBi@=Hspb8^Ul1LZg@(x`YEHD +n1S!2RS#qHXVXB&aO1gmFm-+DHq3krO_+fxg)x8Vuy3H8h33-mKKI?()y`?cp}i9%YOMx2A4&1psj(esDDF+Ib|7n%|jsG^b-zKX&P&60eB^vesVpEK~$UF5#Q +InNegqJPms!h_^hqVbZ%KSCjPC>b!!xFjwS6vBATI6_E8R`i6-v9{8sFw{9o=Lk@Qb5waX7#MJV{sZx +7!7D$NXUH@{Yh;UxE)L0DL`;N&<4Kc6eR#+dJuZ#~L!^f5LbgRIexR)7AW1pD_W$SSciIpy14j?POK)d&)p%PezQ#; +y}JZ>yw-4DwMkskb`S0FouDrqae$V{ND%i?zLdo?Js7&C@ks>ce(-EpXH^n@xjZ-dZ7HI7lc<$>r^)5 +5hqwWJVBsGH~*YXdT+(xFnLTa^Mr*hj_h-UE>Z(qk@w}@wcp0+GO;t&V@IJefBf0p*W?u0XRI5^DN=Egxc^V{_qOeLn|1byD<^yyLS(PXxS$?2s!{sM9yW@;R$~gv}D +|ZO8!k6)q?)3fKUt1SMs_klP0?5OYBo5QM26l%aQtm(9HDfxa-pes|^mfRz8-B +Tt!s!4=b5d7ja0l|%g)xeuE1Ncr73vfpV)iXTIV`%6Z)q6W*W_V}O1u|$+3+@MHzhiJiY3BY|jNLFoJ +4Y^*6T0dSx)~C5$QEb2Z{-SN9SD$>6ewcf?ux#a~Ld9`Wc9f(EZ2Lh>CFmRNa`T!}|%$FAzr|*4rp`Y3$-EIIEf5dtfs>lrIGV-s1F7`BZS7E}nk32lj +4^ILQhT~hURAUOF4f0sfFsoURIQ)=wjiJX3m*OjP)h>@6aWAK2mq6O>uL8Mc6yOMa^})pab4YUACUnc?y~jBINHhUIYCFmp5vp}HyuWByREqa +aR0c{W$Anq1Jp)h(0zV_?@-xe8Mo8~Ru?2O5W3!r!%QbeuUQKmpa(9Ujw~xiU$XAVn5albj;)JQt`$X +wYm-!bBCkqwR<2w^{*9BACyEA}<)3&w)m1!g45Lid{qIAGTd)1LNCkU +)MK4$v-_w8__?M&R`>_-?ul4tMG(*%T(=K9H1^3&*MH}*6M1Oc!r{_m^OTX&37$8*4fHw4T@t1FdLB? +LX6`FDtK~tvCDuL(ph$f$C!LIhK`E>9B>p@k@lr^naV}i?Qu7grMOxjb#>ucXYy;BU=4{oF2noC;sl2 +P@p;*>lc+1K|+~R15Zc9MrxsimUEorrTojBoNu69C)H0J8s?f%CJjXTdug^I*9kD_pqij1>yC`px?Zu +cY4FPa?6q%kbAFz)c+-MWYdD~~O4Z1ZBmzw*I03kN6Lg2Z{(KRn!9H2Z31Z^_)<{1gYK%y&f2&I3q^$owXQaqyy@wZEGLKq&Eegi4xOO~+x!@%xbMP3BMS_1A-HXQKV9$u*@nM6}{|XO?BX(KvT+J`nR4!A$Fk{O;1J97R$)AO+c1hQch7U7KUO`HW6DCNGjPJxBoy7MS

cJz)}~gT0Movl_yX9P7oYHr0W}_R%-{nWgi|tI(-adrOirPIG0 +$+FO`L7SKaF`t8K0}gQecS2#%0ElV+=|Rk{MFp|LVVllmrvEn1a`c~wB6tTXDOaT44b#jGyfb#5e-+F +-*C>eP*?wUuzK+!}D#qi!6OQUWs8(#VS&Sed+XvIwCz`brhDK)u}IhlKn>Ur7{N-cD0#r#nDO+S4e1ab5P|ClK$2nGMCREfkR{`m$ELHGp~-;{=?EpJlt&ZXAZILQ+3VJP#Il46F+d4OQlRHF$v{l +J%$;0k6k_qY_D8gP75XkvPQAoJLuQ3i~%?L}?=E%Q>oH4-CnajC~B=Qg=%~)r4dsMOTiqiFu +s)8Ad#vLYxX88|H$d1<8mfmA2)V9{fK~pKbHFB|0PMUmUy +S~A`%&JmVSPEfg^vXzUgCJOLa%=HkHTYvSy?smnX#n^XvV^8CawmIMZpz)RfBbTAZIrJ#(^dznD&+6| +{(aFxUst`o-%rUJiPyNo|AITx!sW}$f6LbE+)4}2p?3_&Asm1I`;QLZbnv!=cOAU%;6n!=JNR^r9zTv +)-P&wq)g|n9`nN3#i(6Io_N^yy8sg1$yY5|Tc(~W<_y6|*4${A>-ww0Slc!Jc4cm4Z*nhia&KpHWpi^cb8u;HZe +?;VaCwcB&5qkP6ovPCii->ij|-36W)%cYQI1U81Z2q}=?Q`)Ff)4=hn4|l)*<}OUMv1?Pq +nZk|q2VKLr7v1ak>usuw;mT~k3y#n{S9YuGTALCY18uDa*rd7|z!qEOsA-u&rt8M)^R`jYY!FtPytz! +Rg4|dvxI#|V+RD@lE_Jg3Ty<*N26CkU9UEoU`4y~fS~e;hKxNH^&QylHw823^dTuThf>zh3DNUnS$_M +aWtDC5Yt*TO~1zkc~6wawtJ@m(tQwky(%SVJ$U;^emIb$O_f;&Xu{0@+K4b1}Bxpk14LS~^#fZfd?_;xh#IVVYACfU5W|W6hTp*_`V)C(XK4vneLJScBaRT&=# +uCKTVQ%F*r4TW48c`T097!a83}Q}0Mxp_R<}{Q8Bplw*5hk&q4;M(o8W@oonYb9-TlZ6Uswt5o!LA(7 +CKi!&XBhKj22mnhY*+}2Er=w}jQ59u#Q=R2<8hao#4b=MSrWT?Y%Do(DPlT_*o4L*b=Jh!%Y1ga+?p*cmwDT?RxOvHx0SICw57&>janAEQ8q +2=u5NhPW@WBR+zNtVRit$dqS9rl?D1ive?I_xs!dv}8XmxL@1!??-qWXU{Lu|x_4>YKgCF#A)!G_A{| +6v#i%_?osT|rWOB;1ut0Lb6-J`M2Ee&;(Qby3#LRTD@oN_n+uz{p;X!tq$4u`rqhJd +LQ5X;Szs*^Lr=1b@FTP*)?WnO!*m{m!0!fCqH%a`W7eB-`}cK5E6pS}F@kC(Td?7Ggo57^{iP)h>@6aWAK2mq6bYEXCaCxm)ZExE~68_F#F;zZ@D(JN(w|9jQ8_1kc{KJhx@?>I?Dqfv4tes6`bhTh)Xe5Chsp}F29|2gzaw#?EHuY*VxL^68N( +ppiItm)&%u2h}Tozk>w*I-=;xMNuI4{l^ZKV95VYxq*klLV%mpP!RlH%eR5afgnq>8z)*rLgIEWo={T +$Hxy353KR~Fr}B{NiV^S<+e3BAQX-`J2~mr7UN) +Uf-@gKT;FVMZuq8Byo8CRENuEkY^G=9dtS9-I?f26v-mk1m^XB&QD)$gdoHAR=h&@4N69Tei`(=n8ZB +#^YG%bB))W6s{E5QG@G=7K>(RWUgWya9VHAuTWy6J8zc3pG`qykn;nyU&SqV~hC3HCRwE&7GFw}xf+q +jbxB^{9wf`0A2b#pX7MBuP?=JLnU|7ews30YVE|NxMm +-4cJ*5>9Q$q+7Tvme@c672(LW~GY#~mV-|vtxG`euVlVg28GRa;;(q*@=mq^Ew7lDNOvsmdY>^sBt*X +LNdq0=bGM@|JzgCC|xfUktWmH{l5bDl<;DCSKPTbJ+Z)_TZRo+o0>V0P?baqCwc^9UST;h$xF&&@4r) +a@z2VuXtJMSGh!)|N-o6;E}<=q3T#p*F&PFt;h=W}}V!*u$LoJ&K$GReZbTaNFZXA*7etU5oVDVt5%G +^3aP_50z8cva5v=?>K?b&|6KWN3ko9Ry;O{BH>Ch1MWsKFv=*|34t;%z`7Q?1asL0A8l->>$$s!$|-klm+_5mD&r +fmEP{6g>7}6bQy7Q)0gxKadVo{cb~U{vGTy8@rSDHQ%vpZp!CnL6QH}Hg0}`WyHXFOdZ^i$xmLmLVWj +qVG0eTB@hf|}s!iOq62dVQK$MKKW0Jxg3eFz&XKEqKJKOTSuZKh8B#9uWuY8z*=#kC_sK)@<^=Z_ls7 +K0K7vt4`mrD2oxb{KE2R(1pW3>H^qB-A;I&}ZC`Pl(=&!hYbGuIjpTScPgi%N9GW(<^3tQQ=I;NZT#e +An3xF$5VpEuo&*CCuoixZcyq>7^hHUI>kism48P=n4ED?bPi%IKdZmsVtiD%?h2qQcFyHjTY#jXaa46 +Aak?rZh#_YZzVeH0~!cy>!K#A3qSOYhQlTVw`<9MZQG!ch(g!AVy$)kJ;YDfe{bJi{`lecy34Ox^`t= +#a*5P<=LLMAq$4P%POq5*9Nz`w2yoc^(d2Ori4s6>SO*3>ZCSyCT)tGbNQTB@^5xd*6w4Wn-oCodaWJ +Ed-oP#~*^2MaE3At=H_&Ri=uBxg3c=JFV**3{p ++pXY;}D%5Fe_~(T*1imQkX(ZzkeXWtnkvyJ*R2W%Bl?fyu}2scizPsnH(r_oPJ(gKbi-bf`4%WQKBED +T{7;`Frt6KRjVVfaZjuECuP@MOaqujMjtUm;-*o?r6`8m#onbcb7_*%3bzOhD9RE1lz>NzckCi8)TwZ +OQH>GC439H@XLKE2I=1bdvS;-lPmcU)GAP~`-Eu}Zn39#V=U-Rv-KvCVq3qu%^)s(GSE2;1u&9LYvK9 +N+YlRz6v2AEx;tc}!XIOFDb>zs^?{Nhz;z#1!#Wh+QrX}81)>Y=EE5s}GfC^VTv=Dx;B%0c#>WO!%t; +^B2TXt8TC>-4HG{v<`T>0Jx`6P*J?(+T~ugHWvulX9WGGV+dBVRg@NhjXaJ?9K96-qy9zwrI2bAvsVZ +*d(7_XwtNeK>Ph`$_U&P)h>@6aWAK2mq6O=B!n1VQmq@KU7S3cE2oZ9;dGHGjlPKfFoPTBL- +>%)I$Ak4%8p^dg}D=bBa%INSgn>LhxA<4b*;wyDiE5hT5~&T46?Maj;!s+uO~&|}lUBM^t55qd5seS=aO9KQH000080F$jzQHZHIyA%Qd07wJ?04D$d0B~t=FJE?L +Ze(wAFLGsZb!BsOb1z?MZggdGZeeU+b#!TLb1rasWm3Uz+b|5h>nn)t&}2w_=xH#}!?1Nj4+Dy=JG+W +a*V=5!qo}67?Au34w$o-h#1ZxQNWRB+aCm=!+BL>Ll@Pc+e25XHHk*wi{1ec#FDhdh$?CoeYpdKU>Dk!IGwnfslu`}0z^<~I%`?UaQDK`udqA6Ixw+E5H +s)$qDv%>}z6#ochKvMv{Dn2|f$&LF)1&v`gm)S-#yF73pyl64=+Ux{!U!UwXe`!JR?}3#LuaI%k6L^9_~X;v9R!=2V%LkZQi4v#W3fz=zNQtOjPQANqmq06iy&4b%ztlf%yOZ8t~8vS)%f@YB;a`rS>6LFRFk-Xc6+1#^-pHUWSFcxFKGk! +JH%GSxgvKB>V4eL&mt|iA8xo9~`V2CNOu$Pxa>?9BC-vxXNp5cfKV4X1fX&uA;#GP!#H9Sh{WA>(`Xn +qMt=lVBhiMyB@6 +aWAK2mq6Q*xpA#y=WJ)UYO^T@5+Ms~iq!I9MKd+`+poLvAV7kOoMi55=T23LB@$> +f`rVBtkJ-t0Cv1@?GP|F$x>}z639k$WM@L74Lj1E9WmQHz;hRbn<>0^CpTXd6B}=x>lR6auC#$&3N>; +4|s|uc#o4lx)nGTnE#cniIR+j=UG?nx3qfMTtYo76YQ7}E{EnIq|E=|~`$Up63oF2oJemI4Iy=0{@Kz_QrdwZj=_ +0Os+nVK0JUX)`0BJS`zxfXd1#4F9$TV5|dvlgIP6*~js27mNV5T6!eLnJm6&eFUT3DW1hDDvV-Qx(HB +s!yJd%LZ@r<7ta4`G4} +n%Y4D{!e4k=>)C301cpSUodxvGMZN~zH#Y%1snmqcIarda028JMqAFM*qu1v@p1!-hi_cEuSMRP~U!K +QrPw#%3F!2dY)S`-imYa=8Vl*q|WWWNSdr`$AQ&v*hiWSfuEE?Jmv4QQz8E-Fi-{6RJY%^vmTxXR;yaLua#V +@54Sn6&hI;tJfvN>F&S^l9{A!W#9Qu#4=Gr!u)kvT^&9M!&nc+yhXLgh7TpNI0{B7-T^%6pevwg8{5K +C1AbciB7AK^9Wr@qZ`*}f4(Jbw5J#-VzCRlPn%G1fqC80qwjce57P17cMn_qHlErI6)yzIlsHPIKPF9&%B +ZG-Nl>p>vwl><0=O?JQyreUY6_?h}fxe+@pN{50C-93Gl{u;NI~*yR$xC4<%P^$P&jglT{p#K&Y1v31 +B+_)LDSUemRcpgmD7|gghYt6Q<)47+n>DuV=LF39FPi&Jg_xdlZFS?q+vIEm~5v5QQ0p>IEdGUk+k`{ +Vgn4g47DIEh5pe3R47#P=f0M)WsMkb7NpZOko~h8&szZNi`*kPCvGx{?NMc@*|rI6a&~Zz-)n3o1U^! +PCCoeG5hOEK%`Y*5T))?;HB55Xe7%AAjd_=_ +S%>=y(XUjC_z$kPsY+8ur^y5f}bY^*g(?u^+F`dbMUsp?HCoIO;#jcB$&>)hQqir*!GUZwdACAC@=$K5GlUTB@|NUFE+x1&p?9vFQecU74g8r47(&6U2R +4VRXQymlX9LQH&bwsAd!i7_(s7O7<9Hx1i&~$_CS`fG5G^4H)4U?0SbzB86CKewr3bq8hhrL +9^a_VYnfIjz%CqZY#Ql;@fHg2w~ERr>GvWN1y4^DYhm4D$rpm=*h~k)lakylkc@Jqg^G9?*D8fSZgGv +0%_)3Wdq9;!5_imOvrxn+0aJV2$}}Z-by@QiSOgqjfNB9T5N_qzqFaR$`$2yJO;a#H>;$Pk0b1lB-=* +HQkrmLK*h$cok<04!946*VLnGo$|sMLY6-&iNFhqR68Ltv9OeN+X}rBZ(MZ~tfNeTrTqAj!oZJ4-jF04_+nvEkw9i(rg+kolz9r +&oi?6NVdcu1VIPeoJ@kqR1o2%7QQCBB-1f_tFAbuG{?45eLL*xW(dq&bN;81F15B|aat)3nl(X;MsU> +7QbykgrtE$>e|L}()_|LJiNc1<3K@N*Dj$x7aLkAEH9m39*@*cm%ZLMrBYULURf@(d2NHzS>6S++~8b +51?ngP)6(%tc{n$B7wY9BDda@L7|9j_smE?hR7u@>m52O2jQc@tEMGI}<^jQ*juCi1Iry( +k|y4Kr~J94rcuFtA9h4q)gF@?zci`N3{AvXA7+(7yz+-DKtZ~&WzSSLnD=<%^W7RP$0~lLfojm{={2j +qEvU*z#F@g2|09GflKS=6$M4->=#s+DdyVvMT;1lQ>y9<+ooXeOM>$LRdY(W)U1vnAiMF+}#FaO4@c?1c+>Ma?WT; +p8>>WcFNTRSXL*&6NM-*?3#%jBCQHaA>@QO0 +oYW}$(!ncv5D?=wC5NM_QPIR_3~pknf>}$&jI!=LOlnZjt5?m4I)}(5S0}|_;DA6Qv4C(A7546z(O&1 +%FeN3#va6On->rR7WXwq;&fV(AV$(MoRC6JGs|j6FkIEfO~7E_7Ac4-?U3$b&C*krkhwnCQXgQXL-yI +VIx|;xN5B`FUd}=qGdoaATk1;xQxOM}N>!+7X;`Dbo*j#UY$hVX>oko9gfvstY8sVv%5%25aW5Z1VhG +0XKu>8OQ=7N%R6ape;JtJRmI8JMtAlbRb)mI^mhGs+RAB+&ypn2j8;d$qn_~wDxhf^KU|0w4iHYx~8o +}<4d{4hVI02r49Hsddrw)_K~id2VH8e+1l)I7sw82;jyh2N&yiHerzBHT$YGBnQ0g_W8pK-LLbZ$NC +MXYjg5lZu4VH!e^WDYG`Riej2xil=Ok}Zd&k8z^aR>$MdZ;(B>z&$DV^}6MyF0UIJ6G3N=fl9j1~U@p +&#do@yj13V8X}M^u};ggg&^vh}D;ap~ +sL%a6t}Q%qqKCnxAp19epL)CAFlAzsz(Hwi~VO$kqKNHBSxI_9i|KJwKh=&n$1{CKBmcS_h9I_c{$An +464n3?Upa4X%%*aDNz`Qia_MSVt5$B;%0(dAMdvo2%B4W#&X1)IThtwQk9b=Y=q&J>l=QMD6qPuNi19 +O{a)i^v=PAehNGFbX=6O`}#|nI<_2G6zn>l~~ +)<(yC>T|+W`-8Dh(I{zV639#uLD)Y5!mt9V1Ce +~tu_E43-W?sAK$mQkO(>PTb?3PBTj1g{N9qAG)WlO_xcW$hd%C@zKDk(ZnwBw^yURJ%~gx>=?I(iFfD +_jS}z^*HNNysiR@?>kCVvHb?&jlBje!BgFngaw|ODj_h(ZcS^?k4xuf~X!H*fq+KEfDFkj>a}MBlx$^ +d>ylE)C$EJ+twf$<+S8me1wq`Sba2|(LQ|qI4nz|d(`c86vVxKF3^vD+wS1N&o_6ymL;lsiAut=o$6- +-jnW5>4b-!`C`4AJJKcao084xHVhY*FS%d>78ZE6`FKy~sx-y|4;Aq^Sa659!a4n%r4Uo*jp&Xs(^jD +-Kb?nnVK~+wyuM$7`KNX@Z4wAvou*_nR~!%OEI1HPG6Vn^qB5bHB+x}jp2LW2rg7T8w>* +v5-E?ElTZ$#2m1YrW2C%eN@AP-2C~d_^jtDWjuPYcR{Mr@_|vke~g@a)ITzDOOl+`K?eBJles>plkyYkfqiL#zzRe7*=t2t}5jFd@ktdM +^MV=l3bCB($h)K;m>rVqF-Fu3}<3Pti+XxtK4Nnpq{06xF3c38+n4?|_wPY@a%w$R+h)-P1x|1+irtM0%A^HvAh96g`dVcSTPzT^;yEGmr0$TO<`TkR1GuDelrh7kZ~RSk+j;$v`=%O<9|zPdU;yK8(cdCY%d +S#%l?&>U%ADP!5}Q0I&LG9YAlP>`A`iPOpUw4-;|=9-zlDbuatcuLLjFuAIzv42Z9QE!>OWY +2(#K%mwbdGFY4UeR+g2K{F4`4FB_U9xX0=#RNac%Ac?KPD_nZY^ILy=m|D~0HV%ZxQtofkrp(I +@-M$e>@7VR#6}*T{DfO8KsZ*sq{B#M;q^lpX?i672BvIDOkylSUrUp2h7nkPqWy_uwgA ++)zCaK!_5UmH0GD!Fb5=`2CCN2X#8#oalB3|Tl8?ahj1FC_HCc3Yr&wyDMf(-Iq+tV4x6h-;m(|#)uq5l83<(6?5;f*o^lS?6C>s_ZA@)hft*IFb5ynb>Ahz9-l`qUQi7;<&_AeND4;-{_`022=D>o+j{d~Z&lz+U^{ +&1h3oR63t?nQJaJwQIR3nveGPLU_@U=71us%*iu=T}FX59ryqyXP@3m^5Qw%%sfOSHFe9KzuN;72|t) +5z2UQz9A{|!(}0|XQR000O8ldVxvwi2;va0UPXU>N`a8vpt2ABj_c4*m?2Q4$Ri@0~Q6^B`ufs{jd{dGQq-N1pB2(mbfzjg9sP}^#gb(IieQK +V#~Na+fqBooF&aX1dV3>SMb9g4R`rO+Y=Z#@dX4k$;Vz|~C?F{s%um{1(z`1|oRjt6vcc0N5mJDvDHj +>h|k{_6Z}5*D0a)EE2HgCo8q4{>}rJ{eEPF@d>;g-#g3#ha7IplEG$--ZZMrKJdptPh7WahG~MfJ{;V +)EsO@OdAF;TU)xY%7x2W;*TtxSMsCRKtUx@HBfHCX!%ct6_4~j@V;Fb<}$ZiWZK2cs)5gC1YBOOuiR0();mPC4_gP+LR+1|VSopdG^jwK_*pM8@n|)+65e +3YUQg+ARqUXIXuW(KV&IuvtbMAb7?~(y@6IEC$W$)~|#4c^wC`*%vZ$4`K0FugBmA?yII|QpGYBo?W- +F8dq7?P`wPnyOll`&ax2$+_z0eC|#v4yJE8(SZZ!h0Uv5_N>fNRkmgFNUb0j1r-w{(5Xv&t1oO8#Z5P1;|KyZlXBqlrXd`24QQQRZjh06pFVL+`zY^qwg+lQCo%IwAdoB_Whq=E13vw6 +3q6|pQ+t9KexsW}~5Cw-+O5@^3jbapf#E6^1i2A|EwStjv0V8f2P#Yy{Lpa2_pe%CHis +PxSu;~*H>Ma~Ia^7kOTK#rc`3PB_i?Za9(lVqC0kgx=p~xueBClRrh&fi+SO!Is8M-sjAcsG4p;Y#IybmNE@<4Oad^#6E_s9E>?F5t~BZa}WFgxqGS#yftHMiu5E*)kI%SYI}_S-;S1MsOA&kX{y5{YFI +1AdbVCsUKT$iRP0hSWD0z&d{JueWmJkZ&@yK>ji`k_KB +(g{6ZfB+P(R*8sg0(+C#yHFc19qfu<(28QE_{!Hv6xvOFkU$&_oT+;l(+pX;r@UqVl8rczawTypD?BS +aY@E>%$jfs8Dv`YPRj0(84m+|4%=`XRFEoT0e#R2xbwzo0%`WqDBi#1eS2Z|Ho(q5In=pI{lesT0;ht +rMpP{t9Z~uRGLJ-4@S%in;hAn9oWu)m?hIB@$tiD{~6~0N*D702}}S0B~t=FJE?LZe(wAFLGsZb!BsOb1z|abZ9P +cdF2}WZ`(HdcmEYU2Zf~8Rvv4+BB(KBO?EBXrbU|Jdgv7bZPPXzSyV|XPB!fR_WM3QBucj9^oBzZcix +c7;`e@&^d1>L9FmEc@?w5WDm@!M!#BNNzu)gk_O)V4tCUuH(feok>GdubT#==iRyhOwLQ`HSq8E%HFe +@~lP|Za_7POe=Oe!)Hl3aL-hJKGPOCdE8%0EfwpEO_A&kL#+IUm|d;?Ea0o^^=48m$(Snk^ +f7UZNZdn2qm +QX}xQgB?^Bw*`$c@>8UUN}N0$--pa!kfRZpBE!*wj#$3=HLl2#U7dFx4R#ee7GZAAc#lQbW{*j>3I;5zJ7Xn5a-)fM_kpL +tlSTHKdtb#aWh)u5rpLS`KQjBx9RB1oOaHhJpQ!;2lLcXxMkhh~#261Au=Wo_#4Pa6~c`A@GVJ0NKE# +C17^5?wcsr>JHN8gr>v64UMBTvTpsHW<2Z#X1p#S}~h`9*X1TKjHeRso5?VS)esV`{5w9OWQbaTq0== +rwWBrWeTSAGgrM>I=A7s%>SB$fLDR(u7dm<>GO49Hn0bFXBywJ4sSREn{mQ$4r_k?s-BRnB;(9ia9W6 +v2}S<^?x>DWnfHUrVyowjNJ?z4b|K@4eB$KAT7a$S9b%`VzLR~WLd0OJ{yqGM3QnKelGMYPm4{@q!co +aOmkU4=Y_$eQdrjslA#b>Dca46{qpkiy|Ed>$6kp>`V+0`1S+}#4Ek0uv_K?daL+;bI?G((ryWIj!F8 +?3)>erh1W7kUR2yJJh=lCe*P59C5nGmXUd;3OQ!Al5j7Mb7z(J5JhQfeEek~e+;frp~?1;6F?$eUBB^;3 +2jOm%0jeIwa5B0Ddh9`KQrJ129Lk_^n)BbFEq}opC!n1K($%PL_JFOCNyT;XATNMUIofSqVXiU*Aa03Z@rK&&%2fM&03uD#a|JVgs3I%XjYj#RdEwjf5hbEnBoZ3m_isw_sAB<5FmVo?b2586smL_0Z7!OIL +%?M;(Bq1SQf1Y43I@hA$xaWTBraGH}9|?o;_<>--U1^5X3&Nwu3bb1&-dHK4~J3-NaUk00%6L9?wPw@fzX~xlmgJ(BrgS)YtIo2JM+zp;=O-O}W7|6Rp@ccfV;NN%$F`?2*(qbx>@w31M6F&~ +ct$MCnDgWvC@ag9ybld&fZ#OX7p$Mx3tK-0lk#u822AOwJx8RGCbANE +aVfN)Qcxv-R~GUqT>4Z3r@AviXJd*2Ix-0)i~piTf6I9{)T<7Oml;UqhB^Zb)L0@@ZmdjVw5hlae+>F +#2=YvW=5?bcRT*Kl0JYYo^$xyeqMI%ls$V3HF*HHT(+j5TVGKSp55zAHWM*|2iYP*>ekME=n=aD*ljg +|fhRR5WLItW*PU*H#4E3A$}bBPmwZfm^P**smLB>a8Sdh?+|MCM0A#(pDsU7>@vxwT(XJwCn*E+@FCvR%vF0|cfl0Xq`h4Nttq0Gud6wJKNF2HF;rmm#FpgCB0%QI9~A~NPra460a?-lZI&NfvH@KK^mluE&VpOzU#ekL^f +|~_sFYR!v}^AEQOD6V8WXU^K7n)8|V*=k%iW!I^N%(Lx5Fdyno#<)okB$+~=?lV`~40AAdXwEo&$r9F +XTDFftyHR4T(HCeO)}gM)v=)FDE1*cEWxa?;?mT%Yvz$OT*R!WNwwhav~y+#GwsTRZ`SaxP|Oc`T;p# +&Cr*AV$z+%|Rd;H7AF5r;azq!CgHb{zg%|&qX$TOf#}% +(p;=?J8eR2r`4a6qvPJUIqFf@Q+QVovNLmU4>pdalM2hoET?ldg2h*VJ%4v`_TuEjS+a|tJ7rqCagTv +hs;Y4u0b#4{z?Oi~Vc7qz&t5qPC?Y_+gY!KQeC?zY6_kHM0M0wkR+5EGH7*SLIa?p@4k94)pC&fQhGLO@y&@rM}yW +{BI_-@k?-P&+tDAjua{L4M`q@NG)V5~1Z9fcM$Ruf1=Bc76IUP)h>@6aWAK2mq6U +qX@#1zW90n(@57yx5nd`yuheww30naHbA4}#anDx%dnB~oQ3)UzdN#4$(wG-5hlM~IKj|eP$_65 +98jW<`waUmX)67^0;tadO6 +ImKmI_zq7f?$B1QY-O00;n+tx-|0W`cC&0ssL02LJ#b0001RX>c!Jc4cm4Z*nhkWpQ<7b98erV{dJ6V +RSBVd9_qaYa1~TzUx;E$su;JmttRvA@q>;5K5XtT5>35k#}cpC9@0y^)qLhlUs?EC&=?DJMQ*y%Dzge_O4L!s!tJU9g5!C0i?eXONf!E7v#GaCETcP*$z4=y91xAm&UcO4p_+(G=)K0X#`J +WS3L=DoGr&e|>|W!eQf9{ZP?rl+*;bMCvan8k$s)>0b4$C3ItU17R{aFS)&34Bq4D2G7YK+7fN-=>_B +9446NdS$Q>l_=bvorwyXF|AlUCebEXDaE?0f5O`C!Cjzf%pj;%NWa|3;Cf@HS&1soSgm$6x3TZoKHbaIa2u!H!Z(x89pv3g_ +8~5rx*b0tq}gpCwZVxX|P)hutf0iFD_e-F~ODX0jg;4P4T-v{=3qg@=mn>zWt04|G@E{u_`DQ41|47M +`wO|6H7LDfwDb%@^DlI)jAZqovnJ=P;Int%HzWsNDH+=P7l}ppu%mLnJG1&>n!%?WYd6XZF`)?|At~WIoK5tbN&^q0Aol|B>^<(J}l!5pTGS +FVg{5Mr_vD-E-U&`oFVsOu0k2jIWE|X7Ed#JZ=1QY-O00;n+tx-| +ECl@-v6954IM*sjH0001RX>c!Jc4cm4Z*nhkWpQ<7b98erV{dP3X=QURaCzNaZI9!|k^Zh<(Km|$sf~ +tCoG*6@gge_w&U^9Ni_L5dV>6IAWRHeB6sdHRqZJJ2x2InEm83MYu>%|;U_BDMySl5oUY@FM`h~c9c_ +oUrteWjo^xfUnf8vwb?Be2LrsUsxsXLt&ZTnD3J^TCMGn;+Y?)G_C-Bxwg9g&U{T`O*-$Zu=<+G{B`J +ie}Ov#;pe|K(~U4pnzA+!QlETi;c+7S(Rws!oeL)$YW-RB|CSQ7&>N@A{g@n_d~McgDY98T+IC-c>v4 +p69h}%3RH6L^NAhO(#{8*XwXfSoOLAo*v~|cM9ZUdKbj1aB~=z7NS@6K37`Ox4tpoU$^k5hQED>vUr{ +E_eg8jspE1c;A3aIS29QO&*aBK?mO{{p8r9qRz)4lez!ZWU3Zb|VC-yG)VbC$Yw_@w1(~+DA7s(ZnFz +?|dzJ6C$i>D<+VtGuM(wIyRbVSH0c?Hl8ewaY!1cZ4{jHi48!A8UVLn_{1+qlZ-sJ`LZ&fK3PExc=L7 +)0aBzJj}Z>15X*td06fR-&pmC0-&N(mHpRU^gWUUr}XusGAT$Q#rIExU!-!bUYPrzDbPyUVLai}ns5S +@jZmQ_^o9A8^#FYFmK@xSlLD0UV%cuiBJ= +;jB+;wJ6O2dPx1iP2Bc`WqWLLLEOoVrQ4J@9cM`YZb^Oyv9A8;9}9*%t>z5{i!Bv}7QRb-;YySLwnin +S7aq7wIc*(4q6Fg^Ra4dng8D35yp1Dm$9JCvDSzy+oWj!c4847p%o1hik#DvqM8N}9gvP#eJ2$w#nOH +Wsi_Sa+xTf|tj(4cf&9=BS}~VAqE(Gaan-J+Ja+A!NhBW|dH|N#>3e?O%CHg@X0J9jpx{3(oLhR|z~! +sE2XP>HA1fJgL#o1+lZR55e2t2R~H4)9xqOhdM5%NZqM?y8}<*+HL~vsr0&U9;K@8DhvuIlEjxHJpTeO5WGq>f5%Nm~u)TdE98Gpv};n2V%*~GM@cG9v9*`;Bl%`C~n}mmm`lHi19u4y8#=ap7HjD;pL1|8 +}I-BV8oHCJ34aD&{3i_ROk6Af}iMghuu%o{S*%#AtZLoryG{}x~7x&p*mgC>JtYC*x!Ss5>fbe&QWzQjg|3m{DwH5{Bcmq}5XssC? +zMwPa|9d%^ukTqxc6w!>E{cQ=D0U_dkNmU(riUw+RtLt+YYp}5eCN->KQ_y91f$@~gcbpWAqp&_UPl9Hu$6=uJ2QAF?^_$gF%5^1K*m#Qi1zLa*yoVat +f)lu=~7M%|)#mrL#kijrE3Lfc1)ESnvJhy{lAd>tYszN>$yug6KFETR1E@fq+h^rjAG7XlK*oFJhcR; +~ObW?#H;+ETpMuGs+x&rS>A~yvh%DPDeM?prfL4qKac4vz`kU#+7GRdU#zjpU*v@*2aa|C1ko=bJWi$ +JIf(txps5i4C-gJk>Y4Jf4kVa1HglJyb9*Ckqf=ru9N-XW4QIbnzfG{6?AuuhkWFY4M$gGzTMdpWe~f +k`TkANL>sW#{IRNK@YKlST~k+tJeAz` +HSA}g7nH)WLc*7QRXl)2g1$L`4R}~JSg>A_Mv7PlO3 +W>-VsjE8+`j&CN1u?Gyv#x2NUSr>xbHb5;xb*Vc~`7lrW`i;WfQG{MMT<5Tpr-dj*Sa+G$!LzLyApX4#9d=Chl9r0VH2U|v2@j +|?O`EWpap4uJ#|9W?(ME%0KmcYW9gP!q;^+Mnc!EmZ=gH;SP*PNp;i6%k|^aS@B+lTU=f=-cfusN`t8 +GiAjWNyqOY{Cc0d_J+Kvv5TqIpb(jvy*&?GAM2qfQok1fJqoHk_QCpRO=!3fl(YW?2u`liL*lOaCBPu +CZmr*Wf?>GgFKEZFOlB4PDc5d3`P`c$~y>Ouw%F`^0fBY%@T8Y;|G@^;s>l)ONp8cR*Zy*C7gxe0fLK +8?hqzV>Q;;_vHOq-{2VEh3SgG!{Ykzjc@|(O-4wfyO-JkuyF*q_vuXAWXXV1O-;H^^kA~(`JL#rAx0l +@M=WM1C-oI)q2Zh9E@P2}Cx1S@HKWRf_c0X}D?a~Gt%7mWUPcz+zY`hXmh+>mPm`KC5tk~=ojDCgZnE$liu@tzrs|cv#Weft-ehDA&HjmvQtP7HNVWj +$;ldJJP@tHaNH!dE%I-UlHL&p@LfH&7lwDm)LvDkCbOI +};lm1f9%id&rH)F^kW+=UGIUONEwzNoyx6hLaP;C;#g;Xf%eQQ|palci4MwwtZA7iV8&6_X@)FV69XD +h+G%e3_(|$Fpni-xSCA7YFLwtTuXl=!j`sZwET!QfT}Zf5fd9Q*^AE=e_lP}Ipv3WC|x}v-SHv(K*(; +;FC=2DkJfm;dh}-uRFead+Jd!>6js)b9?ATKto5X|}6E!q@V0qa%F&v6; +L#xJkTxHk;|v!yF5T(|dltQZbK;MK+b^cK!jWKj!_DRilb--_RLm=xi1u(Os@Ojr+~#myt8dd~2FqOm +%?h=bMKoA->WG0-HhqGgUD=i$>fDL9eY` +o&CD1JV0tpk_^|J*aSZGRp`456LGjUNgK1^wL$Z3)hWI2I>A^*0vi6XbG2ATX4GwQS35#*)&Tx-6LU@s}0oDM&1 +@l&@WlIzpcxm02y0#7hFEeb!u4n|-J7&~BQ0wxUB+H^f>jJu6rQJ!D7{OU|&uVc8-6dgs`IVQ6-+xV| +?b?Bb}2zAl`?g8wwN9TOF{j8Jo2<;={|}`wERGCEkA177yXAKSwj$xBE147bI +)wHvv$w=O76Sd0lXiUzp{HRf}tBo^aC#Yqxd8X!HOaQd2kzUxu)6Wo0C*@a++j@~OHZB~SY!XMfeiZJ +dZFyZ~2xfa%7UcIJalgnjAtDxRD!(3#)!QRe{mk9Lo{#1*%I@FZ9M-p(89>28xy7|l**@J!cS=3Ap=Y +?^28-J028<1qOc9b_9~DLSKy-dJGl`^j}H1g&C#xEFlW+d(5d~}7(8`CsR5L^T9 +v5vo!qR1uRt_-N7G$xBV2- +S_F1U(rMtehFed~R9kp$6Dud2wz74x}e(%q`>)}elNkYW<&KF*MXfOt-qkFF}?aVbYyyt~C^)!J!SWz +x6D97VPUkvVIDyi{i*-HHA1eyS0yyKB9#jkzAi<~|@A_)b3ap{RUs1BavWe#{uc-22OcPN&?PuLf)Pr +$R!!iQQGy+X=VCl4Cr$9)B>o*-W7B3C6eV3{#!DB2yCo5v$e1HS7vZiG2-$dAd_UAM;<-%OXE!ajG!= +fC;&f5of(i8uZ>FX>v%iYiq`lf)JMVyVxq*_y6ir=>#MNMhZbi!I)%YuvkP5At|uRp|=*dMPe-GKkvO +$35TLOp)j%9|D>QZB*vvSkD+<6ycWlw4H0Glwxf~5K~WV +dO9tx&l{&j#RJj|+evsz*YE1g_rQIiX6{AZzyYTuBT@b~$g*tlS1Y6wOw&Cj!VRC{Nj^Ov(m?$K01WQvmT!4(B> +}?mRLo-?uw>0TWC@nLhBS6xGoni_bHLE$)#dHg*eL^<>jBn|GvIXW@E1H+wjEob{8N2kT@V&+ +>=N~Ygoi{d%;A3BsR~W7DQfUWvN>CbF&zBLC3Qqy&UzO`_9I%tp<+JU~fCpn#E!$ik1268wkGhxD4M! +bPa^zEkQPspb<=b75hkZk*ml-+QIk^3La-BH-Wn}-g3wYd-_-o#`}k2pa^4^JqR}@V!5^32zG;Mr3qr +zig~*L0IV^7^MR@XUif|CJD6$<-e){uez?N8;;sFyJ0|rghpWQqnLp#C%^%do?>q%FF2(Qty^qh#^&) +T>fSAykkn`{uc}#>}p9*RqU-;)p244~l-_GjVh=$`XqVej^L^K8^m?@az{HUs7Pj~z|j!Ajt0ezdf@o +CR@V_X@$QRUY>Lb|?bIva>dtogQiP!fm~U-PyzweZOG)GH|QJp=cSMX-Ov3W^gcY9B#Ln`*@im^ck~v +qo@s0-^@<^GmbysbJ<|?oO($bgxsnR!bgxop(0IjM7*mCIPw09OgM< +OQ|ma-_Xt&Z1vO~V>dz26d;xiAb=!AS_`zEmpgb}~XHgTkZKiD^9DYjm{{c`-0|XQR000O8ldVxvhhN +n(Hv|9xWeflSA^-pYaA|NaUv_0~WN&gWa%FLKWpi|MFJ*XRWpH$9Z*FrgaCwzhO>^5e5WVwP>^KKY9+ +{V1I-cnvah!=~;x=Qe?NNe=rHGgWSOB!F9`f6}3lbD5$Kuo`-KO5fa|Mk$c$8aeFKfpuYco}B +)Pb_NG$%_pz|)p*9>c~jCRSd!(Woj3+13PvMG_Uv=>S{@CAZH4ZQ~rUR$=xNi_5H~ac~+B_W~0gyGX4N71dP>E+^>g9DbT*f?5OphqZn6 +&TIlo>{%_-!;EAw4MPr~^+~ft5HS34e>S!NYSS#Os0+OfX%iPt$4(Yy&?g^1k6 +Va3ud%cC6SlXhs0k~rf6yH0up?P{ylFvCh5S^*8FdOQ3Ks(0pjRxtcioQis1P2bi!FRI-W#goF`Hj(A +Q5z*fJvfGVTQvF^<(+PCI_I=^xF?VhcsjEd0tLJMrU5a@4`qU*-+La1c^tw`7*e#T(* +S^?mRO>;^B=J-Ko~A5cpJ1QY-O00;n+ +tx-{}JxA|K1ONc~4FCWf0001RX>c!Jc4cm4Z*nhkWpQ<7b98erXk~10E^v9ZS4(f>HW0q+S4>?5vH@3 +zEs6pGeCZ-xBWk~TtW*wd<^a;j$8WHL#%Qq+*=+g7)d<~gw1GBuKMjZ|J}CU}x~@}t6+z)}&t6|xTRs#E<>RV5C&VN +I4lQ(g)gpjpYu*~L~?72EuHcD>jWSyJuMvp~*~O)9h$Js=7_{i~%)t3XW>ExYRk@EHSVUSnp0CE2DAK +qnf?jU)86ppAxGOTUp)NQcyOzyg+nQ%hVS>EYqGm{iEF(PAe_v+n|(R*E_lug=TGq*yLVl9FyA$EAwa +6w_+bGMzaL%;P=9{Ba;qvO>cP(|gc+3hPeq1&5&+5MF|hOqN)LwG_{+q_7cQkdvBPKJ(&vL2S>1I#*j +Mkx+FYTW;zugI_Us^pzOiIiS=>Fa06=Ir|Biv9+o&Va9xm@hvsF(`!gQYdVM2TVSYGFn#lef7vqyp-k +aL$R`CGOnt1%xUufm-8C={4Uw7^ZAIkVXm6z0kWJNDuu@RPQ*B`YOB?PS0RFm_f;%{L$@U6@J)Y?!7K!Z-RMGWMf;{wS;%ZCi8z6ao-b>xQAdU0qQkaFl8ZxJU +GW^lhpsuH#;+j05u?><1t!?J?oSxp{=ocCDoe9mAo{vTo$Qp^rMZqM*Z +T2Z3#2#P(L%G3tIt}^e=eNm4G_*faP9@RQ(q-*}U}gb{_UkOnfPM=zPjK9(7cKra$ZC +pJplOZv^Z{~|>1Hy1p=5w4<5@SoVyNA;`?Cpg}c69X`4Iv#t5*YD`PIZ=ATW*?mwoN +xYIaZ1K74P}NWfMd@id9&dk{7HjIw554>-@?rHhk+=<=M{~VdC}O|QM6C!zj`$TIEb46)%s?M-}&!1_ +Yb$LWxo9S`InpfaY4ilu@eH1mLH6SXUVZ9&En-TlL8e|>06|uDnk7{{eWJZ5~wvD`qB%01wOU!! +&>zeJ*c4G$LS%)4wVuiu{zN;q_##_8D>GhVS{EN?c$Q1Bvhv*QK6t+|yJVglJF +wE7Ac!Jc4cm4Z*nhkWpQ<7b98erXm4+8b +1rasZIMB5fd@zA76Nm_5lzzPFw#9g|(*cfAfdxr%?+fD)tZ<%l2KBlmoFCkT# +kVOcM&6iKD!q{XoVH!UhG}Z*AQU}AnABwR}DGVG{)>H_!Rwt360b3%ZyykmR2`fm*m3HEL4+94Sb2b) +_0b|c6E-Jn!hT8}kOA?KyR?=XSgbb)Q)IVrYphV3rW{_)j1U`@h=lLayUO!+3TW@Iac8swMbD)bim5t +pTf7YQj+D1#b;0dJ-VY_pN-5UrA4tHg23Y%yhg`*469aYKdOg9`x2vc*LmTrcB!1JOzRky?$w|oKf`Q +eM}!t@Tv^}27PxVZb0K&cfc!Jc4cm4Z*nhkWpQ<7b98erZEs{{Y;!JfdF?& +@bKAI;zx%Ji*^?9H%8V25Zc}fSHqA%Z?QW8Zo!gn_G7>F9HrEuX5|kZvXYX&n_W^(a2>RpNnYJ_MncY +Yv@BlnKyzd9?iG%$Ev8eN+x;Pe_c6sm&pX}`H?(Xh1@~<1IT9vNqT$XC*fBe6lowLhA33$0FCBUfKtf +-V|FQr&F#VTvIqCWpgE?Rt+wPIc0$VPlHKxv4bVzsWDR^(YL+hQfncePbJJA2}UzsZVcD60BqBHCJH* +L9H#Xj>MGq7}MR2|${ZyLm5eiuSUoU>1$ca+q>{?cN-K3kQgy|fm%R-hgeceqX@(n(`txqY}wX&$7!Q^bUDcfS5HSK +I!H!Hw?HVk6Z7NzM9U6h=`o8jj2%R;W(qOR;rlN|wnuOyC4xSqh|v-}M9yWX_=$@`{m>qTAauiw{;41 +v7I0qNOTW2UGL+>e#otnrh~->qds?YT{Q2^(w2&*d_M_0H&_ZlKy`vuHPsw5?udN}g0oR;p-=Yx$~Jw +0gue+q9Ra*>`7W@BfggV(|hV>h}u(Ty&85>rYuT!`HJMAWg)DY-jvpb_t7@utxa4-kOKdTtgc|AdalD +^8?TkP|WG#Qm(RzIH|6)vdBMv_Un0f0w6S1R?d(n?DX1tR%M8@8DJG4PsFAwh|CH#%haMMbbqfGFX{qlSj~`1t8671O^9wr9njQ7;Nh +uTq`HC^qG*P*oCsLZfAg#Sy?E+JyR{C9UfIziUAd{nwbJtA=O0BYEMrTl_l?Lo-ejhf-04gtd#;J?S>44Ao+t*Dno +eu7(b1Lo>Q1@sM!S7b22rma^%2@6>M7Q3&T8gQ!+6|jwY(Ez2TJ0D)ZI{EPW<=O1??8VuMm};aEP>?m +(GM@rEAH^weoogCuHVjgFi~t;8h*r=OYmO}Npooklo+exet$ +Nz%liK0hm$i{*3se4%Xe?jUcWt?z5MRu+dt1vPyX^6oRUnJHyByg +AB06km!eVUapMrs@425Db%RxAYD89FRJk9U!Ab$#SV%;U5UwKLEkxES{l}0B(Vz6vSXklGwC_&M=Qpp +Sve(_-<&F;3BUdJMR(PRIF3{V4oIC5Z5ie?55!~A3Yv5~hd9{8{wIHTW< +#zXI@r!z<+K@?PCG)jM}0mt3)evbrSELIXkd~T6E(^3@9Z?;kiiccTav}K5AcrSs;XeDA@$c4nSggw% +3_#cb1MAZV%%5no|M~i6}0I4TyAPdkq;2>uL#fkvEB@@Wx0ICJ|^q}3qDOag@2dtt&9R?N%${BPmcyN +4XJK7GwQ(BQV=S7Pr!bP<+k*tx(8-WT +b$oD&h1*oyTW9yaldiQw{<1stvVE#Lo(P5|B|beX*3y;)i4?di@qWeHij(#J^N~MD==|=2e4}w*!6fE ++juKG6JEwd(?a`Ia^(6IR=PjN0}A9YAdo+=mO$U=Lv +c4?O<=z{8LFf(D0H*17C>OVTNM_zC3Lcp{F5-%iM+1fjcKJNpOg{px;w;PXa-KBDzDHTGGQv%UmR1|d +0Q30VR3_Fq}KVG|_TeM4KZ0>HR7kiORin1Jc-*k?ICp649@yM}m$`$Hq(v|yA>a8De?_O0a2OxuGV$F +k32oC>k`^DkqkF|MZHmY?g!U2Awi;DH%tC2|}d%wJG&aI^Au-iPmRWqvpma=xtWvt?#`Ss7)(_uzSZ; +#FOZK;O;qwf8AE!$(a*s +m$GFv#7y-b^0b(x@}prM{b2s=5e>?M>oF4y5SEXLJ)wxMXgG*G0uY0fQ+;;$uZUZpkmBfIA(y8BZ!VC60$2%@7Xy{wmI6YKo`fYhxx8M ++mcXT)YCu^E)8$;)k7|s;n1`~BOGK3h_<$M4sHc7^PI51~8_5e +urMOi0z3=Q6n$lGy&^I*BY6I6Ctkw5?}(J_^Q!+vQ7zhG0(n^rMNuIkq1n09Jn32fDK^SEV27Y?T*AFkqZl4IuXR}+h__!6q00%{0AEf-!5=i2YmxvO +49Zu7kqh1T{576R6cIcIKwr1VP>!RK$XTt!ov|+Z-2O=URP{+m@q25cglV7j{;QdX8B7x=NfQ{IOMtm +O!jYPLlfL4c!ar_S5m~{H0t|)@DG>@ZQSfB?Tel{%e*y!bej$gF42~aGH5+IT5%!h~^>$o$ZFxb{6hG|VGMkD|Ift)`s$Ab#zKI@Re1@l12sN8Dig9+$2_*zNykfkx@p8qdi|9?+S=Ht;T)qszC +IfPV>b~%{P(=5(z>~Ld?8!wi_{=e%@3?v6P|wY2>^b6Zn#g!(?N1nMLU}@Gxt~eFp-hxJFjCk8BHRe#2#Kp)4)9b*UciX(4AuGa0Ac1O`Jkn4g+>4bvT!ajX=y%Y$O +%?i)4XDnB4%-_7$^vE_hENluEEp{;9y)OFUj*kV~M}PIY@Uw0hiaOdsI0oqrK@mvXz7urN$%|4t+OBU +wk$p~0QcxgP&@iSz_)?#QD5|aaZR(nt)L2W4sc<}A_9aIHFyQM?+9EW>8of5#KCcPkTIwe +Z-U)X&JuuU&1G&?0C^VaoC4# +8WbJt{i-RQCw3<%$P^MBZ&ourX^lrVkCI94Q5SH!V#}xpq0i+Vxmg%R(ipS +{&%1iZdcNI5f!6jpfRE|ArUA1^ou>%W;$$`W9c-uVJhI{#Qeb~M-sw!h*D0l6AF{a94)O&a(qW-9dx{ +@n=6crWLjwHQSwL-6L|t0*dIQgo{5V(IMFzAO2(odziu#>XjA4Q%X94x96&pr9s2+H0h(No``@9_VMb +mE>@Gda@@NO7^O||DVZ+Xgj;p#%Hl-<0fW_mzPB4pY36EK=U3M7e6(%0Pbf>QQp5=k=>@@T0IGH($C!#(XEC;8Oy^?w_hS>lgcgMlyX~VagG6tFY{a|3w2NLErx-^q+)@#`$dv&(xV}Ju +(ts+6M+}@dDcN3{BMYSk5IcqdseApyEqJ@4w8hMf(j>Vc1!^Khh#hcb$IpS;Jv5%iVJ$mMnujA_{w8n +zU)>e17-P`qE_)B+TTu|N{4~Ds>%w{k$9m<;zl`@=Ef32Zl5t8JoI)ifAuA>t;pw|ox^v~?=hTUf>sR2J02xbxpbwWKSoJR>NNRwTx&`z9oY5u(RmVTIP^mFs^u!Lz<#6G&r^kiSAS#zQ +MNE^ApX?lKdNl>RE+0_t;IDS6-kLH(S;M?3Mv#Cg_crTmFY^}t$-T?E@U=@gaIAuQ{{_?xsaTGZHo1) +Jp1P>`9yYx9!u6RB$yg2f@W??8;V#77OSkC?kz-7e@W;SoHk#08n|Fv%M!ZZd7(gQZwC?ntPd&9S1BPw-=``PfjS$JX?@j%_}Lk}WagQgaR430}Z6?Yu>I(rD!2pI-aZ(_MZw6{FveLO}48G!h2}a=AeWz{Y +r%JHa0w0G9zJt +_J?uN+{^Yb=6BzR)Y<8g62ZjV3X?(MVT$s0*!_vgJ9-=)z3U?t)N5kGR%=C5!mwTqhr;*$6x3*)n)Xz +U`=_2VrwNpefnM+1Q$DcHy4-i05rhT6sx6yXRR%&5pDr!mK~s&!#K#t>wK@8I8anj^b>VrlkW^AWAakEspP37aohJBSqlSe6w1s0FKV>(6%h^Ub&r6vcK+sM5x9QwB}**%{@@T>P8vrrYzAP< +LD!=wZ@NAZpgDsd$#|k2Dda281=Un26(22#m +)YD;CpF^pkCv^`6vXs>YiBDUG%C$x@g)upUJ<-*>FJN5-Y_9nptC5Z%)eh%Vt%L8bKE_!QXtsn%-my_ +D%W}kQe0+QMJ^B#9RN%1HVgoiq#W~+y+(WDE4Lce7%uain$vs1QJ(wnFCNvT>d~_xgI4b*>obng}p@S +=?GBs=v-5UIhhg*my5eZ43+nT*Pd8c>g-6_{r50xg+>hfZ_l!%-nYmIkBM^}s~!>fjq=(sU_NPvnAaF +L5S&uz{(C2&O%ERhT%i#U_a_JDP>cP<(C=p&NvkAG}s0B^;M8YBvNU1*++xcVIC3S$)7zroogsFSZYE +d`tro8?9U+w#m1Jt`A(M16K;*+`eeAAC=(M<~UdlInzk+(!%Y!Jc9E2JG2^$p#?EqXn1ccU-a$Yft=u +iIE4C8A-&;>5(eECt8z!GWR%CBm3oR_gJCM$BI*`8$*Z{#zs5cQ6q)c;5|w{-M^UhjkOytv4}wNq}-Q +-o12>hN|Cg+hWW^+z90z5z?hV1cLHMF6EE`I40=F=B4%1~laWWml*3TWP1l-*#NbUCk4rLg0gn7c`kq +Sc&AfLwP_hsK`xOFSCr2RnHNXG|tP2t*Vw#`u52aCekuq}B!AuBPhiGuM2rH=PqX`X)pNM4ToeA(d#6 +?Jl)IccB9S#y+kx;a$c!$|DHw9kma3g{1a>76a1hCs4qc|3tN%ZB=-^IDe_v1#kG(p&0o9|w~cr_XmH +oZtBNcSWhY#gt+*%POLf?)Sxk%wgc@VGj9v&brr;ADLY0d9Z-PjVHWVbV%(r*VFbc-%0 +jqfF4IBT`<$B3s`jpI9BLXt}bLCOB?NdEjx&r6R&&{b*TA?bIajQIISL>C&IsEZq=@q_IzWgP +PZkry_jkws}%qUx}IcdJ(&>z*tjy7fbe)U?N2jcaGb +%%)B1ra)QQ++w5WqI2!W;Fr7~;cl4;O8qi^Bos)-_NG-9ab8P0A4e3kSx%mjH{qd1SrT`;{$d^yxytu +~V?eDY$-3s!px$l9zR!uFcr((x-K4oxQe@s}VRmbc9Dmcg4V?W{Fx4L)gt#*ebh)<6*ao+ie|<>$N8kj>$s3Bt6w7Bc!4|D}u +I2AWl%$MoDrd&lBLC$_#se`3AV_{3lQ(C|7XK_b<&f|_yG>P&&iE6pIfcd+WyelQWB3bm|7hVE_idcxxYFE-% +oz(&VRFX|B+1=*hly?`#YnvBQ3(k__gaPt}WpwurrIn>E5Ox64 +=2S%BzObd1_h3Hk$aA}sR>Mp{YZnGLtScB7rQKld_>@)dg4wJor9P#^e3}rJ4s%JowKD25=OO|6w!%y +W0F8Ur+gK)1Jum-KINWnU5h@|fp6)v3yKjLQ-e5x3E}r(?cYodux1HfcvFp`_zBIL=HlLphT+rAKVBW +4-c=y}r>khLO%#n*`ixuYD5}So1(B4SAAr??>GDtMOTnL%=pk_@|;MFyHGrMz1mnI?PT$XJ%?jIs^rJ +pGc=KLDaTGhsA3^Xw;$gRR@g)~LhB!yDCnXq!oj@7DAmsD+#HOgiSX?7`2ypm +JuCR^jeL8VbwXxHL<;6Ho#}D?R~+i#bk2W-^vFo=9D=|dV#M&9rJ}*O`O#j +l!o;dvl)7}htt#Xsn_~TSJx}{DOoO%*^9DPGVv1NLG?v3DI>*3LSN#FidVD6E08a~b$A@7Yw;FkCTv6 +ovtJC*NUtd-1DzwunRK5l?`6cqRfvejr)Etw*e@=2l#iVWU0~ +`)ohirE34|9FH;KpRl{X)!pO-$gE*4j0IBI5}*ZR&YP*G5}?Zm;2dI$sE&cD4b=m4-xxa~pJt)_a-FN +ScmEf3szU6*}up#O%qe;m`M%^f&&y@0k%L5uzhH9X&!&=DRbFQ_g>(Oxv$Y>_cTpBdy`1|=x8`Zd!C9c<#JN7tAAjNuh)OCA1OrZ-{BY+U5>A)wPJ|Ns`>_4{`#1^8SMVn2 +vdf&-HlO1l@BTcW$E|aRd!+T1yHizN{Y^IY|8Lg6!)6sx(SR4taH1_{GV={Cj^q(K6Vqh23=KuVH9JY +3Jbh-$RC@OX>q~+Dep(5y`uVq`oPROGiQkGuk#oG+YsNEAddd0rmiSw4JqjMu?MValQ7C)ob%ap5d!L +HVCBwSXjVwzFmKtNgnlKy%qN+a>i54Cy6*>tE9bI02c>-$YG5WEN=ek52)Gk$**V4{U%?Gad)XPjp#% +vsg@z5^z<+>c8k$+YB;3>ky-rgPI_r@2x^EB~WD46K3sAPrADxIM64_Z~?T(#a!yrkTL_|*p@;Tml~YUhcsZm +df)suNNhg3NecfN3NSkE_*3W8b9{6jr`B;A3G+*Pg)&%Ay=-)Z76&r#E<; +jCf23HH;NgDjOW?Y+F)6Ce>RggZ&v# +Z7U^-kPXK<#JmR`&=em2fRTpBgn_%mx@r+W62H +Ui6DKh<{GiJ#z?_HW@BV{&^3+9>2we}%sf0_kg3}MHvt&Ylq1m=4PC3{tDA-KCNd0RyUOVTSM&pMh?>%BEmU}dq9*83_wHuZUpi%~ubd+Tew?-8 +g?G9%rZSfLM2Hb0-#lQD6I+3zG^T#Q8u^)>`#%q^h99|XD&eD`;2LeTLvuRU~0@(( +;M17~_a>E`AVbMSCW;`87Qo_707*VJ~qJDB-~jEkBL@ANsq>hCfBxirw%4`X4QPQBCP541#W!7W8{TV +c*tT}F$=BEJ`u1j$DZFLkdmFx9hetl2pmz-FTZ+HB`!H^QW;POZh{fBx+*)gs5t#3Pkr9VIewcaNN!Z +47^IFf-PQJhj3~am_uohGslgc1{v6y_xAoQ};K8LKM2B5pejff5*diLjFAs1{>Z=Q@Pzi_6We|*glT! +ShxSm664TD*86%;H>lNe%A)FWQ92zb_z|4A#)D7GVuf%bg(G)pKoe52ad^~R*!`}xqNt?xw4*zr1Ef-0W|)dYv>|M`d+;9nFju3O*nUe< +g46BX{I*q}2lRiVY)lFG&?U(99@H+n9pc6sLX||2KD{doL&Gvkw$7UT^V@2=aq%&WP;X}W`U<@A%WIor<0`ven-crZ@2|c +3D@jwSdv!dVhVJk`1r3B-$=3FHU&s@|Av}+26@Me>z-#q!oWB`=1#otZERiV$>TEvt+(q{)~LPLzeo_ck~|OD9A=APe_^D7WN_L +HLyS;8sNR%}a)ytQ@_nJQ*PE7|vPsSCCKhhht&mP@@Dk1KL@xJftD37z`B4uT!$67C_k+h#rHR+rbc44x-fJP&{02P?(9%?GxVi +a(vcdrQ3bt8bqE8XmDD@QBk36z)7TLo5%0mjSqsXKxOkO~e7PX`r)%qo*mHUE~y+z;y~Rn1kOMgfJ(e +thgqCX5F1w2#Uf0?OMZz=Cn2xjB~uWpS+^l)2&&104*cO9kcmyI>e0p-_!LG80tsvu^BcX2HkCz(z|M +NqNm{>%5rC8Zc8(h73KzwH?rYCxu<5vIUgW6Joik`u86@7Gr^wx`r@s#@cz*yKIx +ONpmWB!KeP$JIp(Rd-TMa39^wZ9_1f%%3ZyP1;MHl=SNW9 +us0nL5*U;KA8RwSKHe>VwT{QwgkiEdi=YRTQ)wgc+Q}jk4Vk$9$_+ipSa6U(Dk$K+mkNNB`m$zbYvr# +o145m8>^lZ$|(-IpxXfQ0QYUXo{^}VtrRjB|Ej3aYsrbE@hc?Y@Szt7fA_g{l7Q(336n0V&mJ8qJ_g~ +n8jH)i=HdX1zLq-RQZyzPR$p+I8s5y`LxqHDd}(A`FKW4Rq3VNY&%XZ6!4uAPgI9C}0~m&B!BEMml;Z +sdv3KC^qh21Uf*1IWVFuaq4*&x52_KoY`imwk3gUeDw0@{ooDe;n%MY +LY=NSVkGevanFO@tw>uDa59b$>lLr*G~zr&DIT|DZV`fANNiIn?bjO#HSJ%MquJmzO+0l!qE)v}EtAz +~Hw;O$@lM%T&BWyS{atohGfcv(C8sj&JJA@rUD3K``|SI$ziOoz#WN9Jv4m(9uTs@qX-Mamwlzg^lUP +9}u&~QPEZVb;Y{rzPq%j-guuBSBwmKdAm&8gedG+as65tb#zgj)zmJ{#4h{V=hETFxeigpIVE3 +&33`cI4`kIJ1InUBG1|{Xo6Vy#SG<+%ILk%v@vyCGWvsbjD>g)fnA?_f9MZOv +`vFhfbs-ea#Ws#HwQ01cqK(dZ}mNbP^UuNLJpD=sIhsaN~Y +@yXuaS6_X#SLvS{ZEBMkZA?}cdw+}m_V&)NGNabzvdOjDROL;!)JCQ1j610E;wQbRRb8reTBMg+rNvT +hbY(JAE2HZghK2Tvsx-z8r-qBNyw0>4tF)=F#t8Tmd>th;t8Bd~t6G)DellD4vCh_dZ&j6RwM=V`-<0 +=esq;GJ*NZaGVP-H#V_Uqfmb%i*SJ|T8<3Uy +%&&%@1wAh~NWmW;@q4!AvptI%K;!3a6u{yeHifg?*E_gQ_S5*m^JSt)SMg2;9Pe+zNVD8PLZmO1iN2$ +>#h0%q{aCO8?!b{6^1DJ3ve>gvXcgWB7`c}`g#ywHide&6gSY7IRri+`bDvO!y34U1Ux?vFl>^Olv?jRE#qwhN;#dwY-6s;q#!@-0#$EA&!b!LC6-`qQQ~@ +*P{Li*#{)n^sH3nw^!NX3O>NrM$rRFSnrk>av@o*qyUujs|8psR6c>_GOsWQZ`^e5_CL|0a9)af<8gZ*A2MG!xX;VTUo+T__Hb2 +1+(1vshO-gq!zOWPnTv5;)fY&ly|?yiTj_7@Kd^ZITbcdo$DVx-`PJJhx+(h`Xl$6p;A}& +tK_vv~k*H%nN4d!=s|>wMZ^~?`(i|8c7sJ4i1wBG6n~Eq4ZBl&3JGlU;GXgeMAFgS03_)PsjF5?=)j- +#^8IF*EHJ{!j`IX +gJjKZQ?d{w5LUDVSFpVbnqepAu(*n9pOAaeB8KHO-a5P~YD$`w%cw&g51evoxw919UQHlF<;+RG)0d=DT9|3wPQJ?!OLz38BkhjG&+&Orn$T%jv=wnjS=T?aBd@DRf^(*sd1Zu90QTNe|UCua-tSjDV`3bsTZW +B+X*ERkdxYJpm}zU@PGiYVbuHc@19F17>V=`QUG~MF&L7NBocANMOhJ9i9twHS}{D0b_q<^kzmKH&P! +#={DygJtZtDX_PH~W!1d4iCj>mewrfcFi2C+p!jOjp1~nK3okVuU#@^8O9;-o9ubz9oqz6ihRw#){gP +k{Iz=%jH;UQTug}%iPp?Ct54HyHD8KS@;^n<5`nMIJyh_%INy`QW +a0!;02MoSC)-zdKTY_~z+9^JauL*JuG*HOd#qcwXZ;)*3XSImp`&5CPP|FVDasF3;ux*32}Q6Nq}hRMk6VKQhrG!ge_0AXqOFAtUzUu`b;}344Dicb$Z%$sV +?@y-u%$hRM|-*BM$=~4XHsLfP$46;Yd2Pa-tdSpqM}IeKhOq^FW%M$ySkFR+S|yIBPiQ;ry-_SFtP$N +CA3KxSUqX0YOo2yOY;=iWmO>XVCL%*iGvxO=?U|fU>Elh_!KN$?YE-j#HEtW3|wg^ssJK`L@k8Ak}U= +JI2>vi{EO7oA=Uukp_6F3pA8q&9I?u1A{oQF3ZFj;P`iiUSZUW5z*ILZxkA8*Q61`s}hcJ*A_%6G(`+ +0eL5>?tG=J*CIe+^wyM(0HL7r)V1^|pD3}xb(sjGN%3%A!yO1?D;xM(yB4z03WKnLm!_i*Q^pSc`=Bu +4QF=DtfNACC_X9Y|85qo8q1u7en63cTSe+em*peUp!Lw-#2`-OC{Zv`kZ*X-KY9N6IoOZf>e(npAnXtH7=yZi5Qc+ +;gFz2zSn|#)-nZW7gEBEvxgZXjr=rxgie<-2Vjt+>05r#|gStGx)3T`+dZ5sM39wL>k +_I+8I9QhJG%J!iUv}G%BEUzWjpiBH+pLMg_)q`%{P$!yZ8UU%7oPQm%obA^briuxp=(%S7r~C}iI*+Y +kNxltF;7f9qj$lId+yzNL?zs*vxmApNjz2hqRBuTU=PbMh9=ISnBb)T0`@NfkIe;!Mh`Y-bzoJBgUlH +CaPZ{u^Jg&%2_s(EiExTKGliX!T4R_ft+q~RjyWKOv6yvQ0Fm6A9@+EYsXcx6$H(2x(U4nJ_!U*!fgD +czuXS-*Uk$*FwNK8s8;#%3tF$mHUG3XrZP1l)=53sgSWIha+r +M_9yN2s)PE#0g2zp>A5iy8$yrb=A!`=orn3!+QaV1BZi-LDuLF6yg&P$l6m)5JS2OwwG4ayym2@UAm< +pzybyO@raB`n>@0Sl%D1sBQM1R-#h-e@#`w-iEX;GkKC5}-dU-`O}kW@k7{w^4_PhEij +PD;yz`=RzI9wY}S4MUEs@)L$ASeJ1TkalRYD6C>`#fUuaks~&aI18e_!Ofuz!|?%*OW^c`}lnMg2>`LpAi={5v{;FEq*;J3cz +UHHDyVQ5#05B0Ahj_+x-oeE*cbV`H-TXFU)uhMtSZcL9*GBT!VttVHZEB`nXgOO6Y%=e?ySo-@F^8_> +$pvlNbgOW8#r%uI#?(2d!S1vodJFU9xYe}QHr7EX^E-Ess_d=Nwx0#V5Uaooe5=!GRo;(;a8HPT%vh6 +psln36{&Tr?>^=;W8*<2_? +qz4$j)PuUYB-HD*T@#(m^~n^t{OwhZX_jDa5j^9E>OJF>~1HW(}HL$+aKfO@ouu(%B~G%b(Ua1`RtAH +Hq;zI12ycLA*~5cx>a`BaOMb_x_I=#F;vNc@4!ilAKBqIX_euTXAr;o==@~!4n +u_sU>8CbCRf{n@=xsZfp@NXiK5uPH+^)-QC8_awI6~|O|)$(;sS{C!G}9E%48LR5 +Ix;Fa>wq#$w!@O(Kf`?_ig~%$6(a;3HQu4!aZnawM38H2=UDDeCXj^|CE^QmcM;HJt^Gr$%Fk`VWb%5 +0SLb>tEFHx$oL(4Yxuwu|JagIT=M^_*)(~;0316Coe1a?mbPp(O7jrh-3tZKQNsPOJHCf&iM4sF>k4- +9X8kuPN*vN7Q6(}AY&rI5u)$yfx+G@Qnp5Bd462h^by1bKus|3J4%Doy`ZXAV-Xlr)jekm8pI2R$pnz +q%UL|F9d2m&)^Mh)&Kqu=X!v^O5?~`ZAGoOG?Me&_-)2VpfjMlS~vMP|iGO6E9)!>KY!&ifl&Th(s?~ +l(1{sdo@AidL?5GBhuYFT2Qzu9DUo0edb#80gH4pTPAiU|Jn@i&HJAOPKTGMRQSVO2I50{ATTakTsh<4d@v|>j +Dd)9#E5!%|&i8>U-N9mbjQj?CUf4Z_|6XJTZ76u*oV(xJD7X6X&Ev-(U-0N}E6% +~ANaUwlYN4uda>Oj%IbctBOu#;%e}C<4gakb7Y=#+tW;Vl+yQB6%E`4_ibuAF;;5GaScnF}LPI0Mu~ma#7|uy!(vX5N$l`wMU~sjz7|fe3%@?`-O9_CTg%M%j6= +hCQqMy^PG5!<9B2-;#u#vdG`3pH-pckXqiC9M$S}9(|z!=TeTB3dLQEP4LUzv{-q?dha}`|^|1aeCSS +mKFo$Z(K{qT-Oarog0Ry5VC17fDQ5%~%jHMA|pZU;0e!~fYEChqEVZIr4TJoe6ZC|YSiC4+{x{IJQ+P +`hI#wLLXHX!s<)mpof% +SSRI}BhEaTD_8nRnh3@qyigT@AT2|X!*L3G+;BBs(qH*GmXf=0K2IM`?aX-ucqJndnoL*)u+iKRj7!VLp-QVW;FUN$vprR3jqAxw#2h6r+{YcIDhg)^ +gE+4PRR-d6FdZykALq@>g4#hemweR#Hppn%DeiawvavgE{doX=evZr+W!`0jBv?W;x}{_=Sg=<>2aFF +nZ~`SEdM>tLsT#kJ?WU}nPd!B)e8-RITI4oACN_cr#F2aQ#mt@dESxcZxX6}0~3RE@FvI!b_KEcy9W* +va}Cg?KKBlVeeVZHXy!R6%UKZ5@?kt8b$RpoIAHy~b!9`Rau8D@ni1YCbD=z@4kB)VS^D8JJWzX`TFc +sY14HP)avTqvhCdJ#V2(H20lybhucwbasIU9mJHNlvU(ln=u&(`k-A+%W>BC=XO$rgUf7OvZ!%> +ujU>6lm>P!dn9f(9;omgZGs%)7s2wI?Ji%C&YEjjS(16+?TYXQGFRX0R)e<;Fp&w8uDsBFYPp4i&h2t +$lUw2`Nw?VL254N9gk&IzMUy^+J0sGJ!0n!be%P^)zB@k{vnCsP*gHGTzz?|q)XIU?mMuAjXDT7PD7rLR*ic5w5LQiafOvu+xMV%s+EF}tS|MM+7#OBMFx9M +iE{kWl7YY3CGa=qfNrusVTPLo6#<>lI;W}xS^quQ;J%VYz+WU4Kql1|5D-sMrq}()TK52PK3F`fBwSi +7>ELqEY%M_xMQje|+JJ+|YA^BO!q}f!$5tDdzwI73u?8d{F!!Gf+F#R|i3~<>NlJN|j{>8xQWsl_5Vp +PuNo*s#EIi}ba9R969hLsj=!R;YPgr7|N(Kf@06qm{kqh?VRfhGr2S;23O*B9#ov}o01;hPN-m1Lh;%qpKS%sAbG{jzHK;D@;bX%x-vfoM5h2u*#a49Ar|ZSCjcrY!%g;289(Q_RUCrE1wLA8^VFN2GlU +yCD1rH3^nUuH5AFgiqH6t3Y5|qIPdsEc%Tl1i?Yl+l80sdF4novofn-7Qkc5Kz1N{8A05HiwgwkKWa~ +A|J*}}^dRg8U$b3QaZ*+*0YbmkzC2ijMoLous?uOxmDj51W<2V)JNv8#-TZ%t}vKBJ3S?j9Ijhp7J7D +&NdTIK^S_Wbpk?{X5xGU9CN3_;~vXqA&6Dg=w+prb=D^06+~>)p*m2=g@COH>GLUw_ +@HrLADgoRRiRq2acyVV45DTkHM1RMx+I{TG?sM73(s#LAdPRf#BDnWbX* +z@)(|OpjxTHjY`JUp{F>YJzvvf3HK!LaK&QIRHIs1(YUql7L+8vZYk^BW@z-)})XwcF?3YhOC0%fr5r +og5&fhh7^56+msmoAj+^1nrw|Ld0R{Sg0WIj@(CC_Bh!5%MQ`dQdNKHM>~rK7M-t8$10Y5&wN3?fVFh +x1Ib-k{_NQ{qP&n|AB~(1bGM44 +7sF9A&r#3UhX61686JFwiS5xB!8szT7a#$|+Nb}otYp4du1IE>>e2-n5UBn3|U^6b8g%lpUZ|QUlw+H5x1FS&)f-l4LhyHKOMttj4O?~9jf4*Akk3oz1u!3Gy9&_x6HStu^+Ogd4%tgukq%I5I}Q9pl8-)r6o{w3Iw +z#^WycE0l1tL&6V!zi#DVhwN3A+LrS(kP#@HF-xzyJ`sNt{pA`@NWel-sxv)YQh2zs_6D6%`e4KeDNOA~xCYX)o8pdZ=wWUH`?x0EQpZgMjvf)%pP!M}|)vQ*0oiF{KNkzpa8F53U;S`XL0X}-^3OoetS+UgNyUB<4ih_~bb8b0j|?!sMS_-85{ybfg9Z#7hM?_+{{PYz!UTpU7x}wRI8F116{`UD!cZ&;=&I +S5MA7@f>=#I90mBJ6ra0zs{h)$WJZ;$#9k8LcdM82P8nH>gv} +y6O8~6vU~YBCJN)*Zj((@FK2$N?=c6mVxaQw)@KSWSk_dCnGPyI$lxz3H4dzQKZ-E>6dgKKqvAe88P% +vo=Af@iw@gJ5Zkts1LPLKcX{qfoP+3e_W_VWFk +SFewOC}q`w(Eh~`j$n#@@1CqlO!7v?6K&DGZ)q8(p0&FvQ2uQpX*K6ab-8ZlCL5cZ% +8S$r!dmL0!X(`e#^fHP+%t)Q^#@rONK2buAcZD{)T{6eVqi_A!4jAAXc)wdF0OaXVaJ1ZnwGXlFw +g)O=N#&sc!*XMtd17~;*nOt>Ezvl$q?P^{~cF$KaaG5JE@|WLLpTDw~kn&xFj$)j|9;L)%CLcbhQk51g-JEGaL@%!VU+9T(d +eg-rmny~5>!zDR&*}WGPCFn?bpP-rR)|(oTp4o=rB(vUe-*gUy{H&fMA#sw46-TljL#oxc`z9tiHI=y6`$ElV +QPw+=9=YX}e{Hy)bmgzF+*Y<4*lVz0tQ+{cUds!pjZqQvT+Iq^#am8@Ks_c&7oIuW4Jy#M9^UBKva*c +q6}BHT1(Rm_Z?ku<}>{2gnuLw^i2v2~bM|1QY-O00;n+tx-`u%ins91^@tD5C8xq0001RX>c!Jc4cm4 +Z*nhkWpQ<7b98erb97;Jb#q^1Z)9b2E^v8$SHW`IHW0n@D=^7;C?&RH%d+EmCb_ifw9`)8X>yA*5JW- +}ViI5g(6-v?SM<#V$xda#9^^V)tRO*j>B@p0bl?C#*8H(wl46`}N6HkQ9Y|^5jYJek<8>30m +ovOJ-J|WaU{c*Gfyr1Zzdt!92FMrUe^qYc$iM1>M?M_Wk?!zcS~A@11moH_UIPvP}1_w5k#fL%YXJRF +!m2ts2Rs0*qw>jC*g@s`p^aprBTjS4IoFE0mY5n-#^|2hnzoyuL092ER9N-Z0g6#(HMu=UzJRM)@F^; +hG;xumC_X#;vTCg>97|5qy67@+*^OUW(3m)Gp4hzH0i$yok2ur>8~n&a{$t%C_Q8vbJx$0eFp)O6pG^^TQhUJT&B@4KZX&QE|OmCAf;d +goU>NC&cMQyq&#!zdf3UV2nA7Ks%OsIzVbax8zTObF}Hp9EhMQZIBoYe`-2kml>MNgAX|}E8WZTczPV=XF=}nm9Mr?T)eZ!o60mUgUka26j(TVlWES;=vG#@ol)8+%^c_SR&j3(Z%mlQ%9 +uR9Cy!I+{opHJQ@ve0DnI<(o#q8tkpL#!_Myl$e#Mc| +3r@G7JX?7nGS^$149l3)v!`ez9xG_0K){UQ=bFELl0HblH`vYpF96V@6^wS$UGuyr87C64tJHKt-;lv +zLY={&Fx!XIVfm%NBbX+3I13rxrYf_7}=@-}w=+KT7bl-W8o+;x4aRX?jY2{2YO=BFC;9RV4ygoMHSo +MrUrGVaOY)H-4KrHmW1%O0ZTd^nNW=Gx(mw?U7$k>f@tJ^;}<(GJ=q5(00bW(D` +V4$Jb91`lz9jCL-w#Q_H~|wD?If-o)mXz@?>io^+H}ANG6`mLZL*8Sd?&0DI&= +hQxRx6OHzS{2F)oPw6|mEKttt$*^U#blZo43sUcvSJUe!RpjcOGT=0hcAO&*N8ad~3!;HrG^;b3OrBP +Q3<-y3`Te=R469FF(f&YwjwTe%(WSqf76rTy8C)8apG>dOq3{?C+G7Ts)Py&KW(1$%Q +*OWwSVRR7!ILul;EEdFhLiYsM949kpYGw*nn83(5APMYvxd9Wb}}ic9AA{v>AvN!S)bv{Y%(2I!AW70 +wW$!8*`epzYZg|ReS#Orq+BkK;PG6tBc^e8I&J?$`1>*W4K&eP&B|x&sJ>=LE=-zG9jyXulXKip%Gl53;?V}^oj4(onG9!{r+(;=?I3d&)Ke+KqrvVnVG_yQke@{9ifP)h +>@6aWAK2mq6!0m*CM(@$U@4XN2G1?eiQ8=Zr +a8lP6WYuWn;8#c-mWqFNtVcGig{Z}hm|Er$l;poAMij?4FdkrP@wf-UqtWSCr=z*d#=a6Lo=$JWsp2IDEp-0aHyM%y>9D89?5_UQ!8#uAPu|pnoKvt +uy$A>V86#0tv<(s3h;JGqK)@BPH>Hw4sb>j_@*;^*PD?QO=CmyLXEWV_RQFNuJFT2u&o600_HD{GScfmEewIQw}B3Zf +)~*tFr~v$iRPLzVzn_1Fp}-2wa%8%Z36aO1$RlDE{CItbgZjGZ7gcw6@92Z04-)1l%u5=K%4l0aLRxR +Es{)(v(@klw;-C2Q$ctHh$(q(G^Ot53Qno-ZyQ_QGs!w+{Hnm~7>XBqdB%(L^tDek%q2L(mRLG)IdMA%m^#L^s~Dm9+cJ(Z9@#LTNnD|k%E?hP!ku77fREj +pf%$mK1}u!33mkU+2`3vCTUHx-#*WNl6I%nQ-1Hhzn}UlQN7}ePER_THJ$cO=i+%LiD#}Su760OqH)G +D%#xfXocWiu#AanHtWUyXbcV)Fk+#235`UV){7&wF{_w==4sHiHDtk199TA_j8*XeYClhevSJ +CX!P={k0`GyV+oc3$s*LXRkada4n;0Vou7X*JdNz(;qe)zgSA()p+{Z|DVY);FZwsJC-(dW1rzLY-rj +o||^Z2Tv+{M}H|y~}_4mk?KOYZT+W*OzKJGu@H-4<4dy=U2%XqDp+CN4L6M!Rp?iYZ;KGKv|trl)4ihTl(CedqL +;z}H=NMvLelP)h>@6aWAK2mq6wV>)$gxl!xbsV>R3vI~R6P=W;l3;^olZ2H^x+yHKYNon9uTTIBI6) +oNMf*Ga5Pg-w&{PR&=@tV;5%RMllvsi@FuRq9yXB-Le-sbc}XRlkkWGRG$KRjTHBq4aH~i!4fEa#^`r +ED=~h)7nZF%e<&?)_PVp-?9q&q{-AgNpkZkuUi$`d@A$Vm9FYo{%sNKLdP!?fX33FR40l<{D$IK+j7|9{+uo<&Gmb7LFrqMDgN*!KS)iO+z685lEAwR>f;i +ZmX;k`ZmEd_r+uks3}y(&`b1q-;VbUDJEfTx+fzR(qr)@=fBs26^@3#WI>s4S`TDl^@qQuB023YT@Ei +?F&|BFLl+mv;}l079KzCq#-tk;rXL7RGi=-u!6fD!I0#aP4$wYZD!G{Olm=?EfxQ2?HZBcR-6#VZeSWtdb65 +Ggu!e72QQ7NE&wJf&?NUZ1Xo)-E7=&!i*FY~e*@<{jxkD4#|2h(H1a39kvIqM0a^ul?o(^9W(A94pg3 +azfZzv_tE(Z;wy3JrvksaL=R_11FV2pS58s@IXD5fp +qt2WQ?ia=N>}>u)^8)ByR^-Jo;6o*c)s_(cP(#$2n( +c5;ImP>$dSXPH_;t@Q^FNHQ?L8f+wwm;aWi!@3{AdGVsB6GBQNt1=s(LV2kEd=^&>ON=Md_)T0~cPjA +xg6cBQUy!HT2;vA60{D|0LrkQIu1I^u4l*ROXmIIxZ%RGzi4 +cS(+D9f`1`f&T8e%0P5=X+2tK{)!}*A{ti14eFSU4XG04NI+Nm%y6oVdyw$&c_QRpOVJ_)Clvwh$@t;adSuv11pe3d{^K ++%V1tsQRVZPLr{#vGWleQ5B%F!-$mER@yVp24gd&_CJ@9T$w*Mp0u%!tAuG-_w5{?MAg~1INwHwVvqB +@4`rUw9mV=rET~|wOp&y}*$ +(wayG;V7X{S6Hb($1UjfSZv=%{SqCnSE~q;+! +`{O{v40@CgB^=-oA`i}$evZ};J8Q$!0M@e1?ph{R)!EK%qvZi-4=S0U&GYb%?q%KOD&zXfw<|{zFJmQ +r_HeU&{sN5H=ev6_K^qJt9t@{(cr+~d&?%=xJBQDSI}@^3QO2FTv(YefWUQ9#6S(ziq0(B(kswZ&>Fe +aSxp`-XsF+UnHr_(9jdk{ae)64b;P=y70I#!6s8I2cVz`?7HtXAX&X)kXBId%9n3h-yh>f6>U6`W(41 +Qs59XDl6a@7jsp69^kTl{Jyi}vNMs|L7xyr7vJ&pp@)H$yX&w(Z3*+u5vJ+?htVRzoZ*IJuiYJKGmSr +u)K-aqoTIw7U@=q+{n7X2OY`7*i&)B-Sa;bi0lBW;}dWd}@$xElBb1yHI1JTQdLZkxY6z?MForh{Q`g +O1!0THQ1*x|(osL9nV34A11yuIavviYg%jERa*+w0DT$^65ul73HQibhZ7nqgL}CD0K9An6jRi{u(O0RUs +2lLlxMDu=R~2FATXUql~A!5x*IN={TF@LV+-Tob`MPAsPiaEnOpwuySLvTvXd3IgJgD_M=>N+v~N~POnu8hooEoN=m +;C{?oL;r9xU%bfM!8nTDI8>=iqI3Nc +>g@cpVERlQ$VDG@Jr{37Jm!6bHDDwG*RxRvXoz2G});N;yMdd6>EKdZPnG?WIAd6*hh3QAmp!FIEGZW +}f|N70Y37s2AQAh)IYvQnq80Hcc_OfKpJRUz1QAPnrNi}N0ywM&grXN@66Sx9eW +xNv)US*(%mM~4&vRP80!c|_81;ebJ2QE9xjm`Iad>r_ecODMra(S3tpuKbn;u!ud1)RZ+<$@lm=b+0Z +pmpdrddR{PK?E$P3`rM>7TO1q+z6f10wWvFkDyQCLvKVJVray +zPc2bfvd$7dv*SIigW*#oq<=#%n%800^m=EX-#@dJb)hiBDG@HM6#rwSG1v_SXvyKH1T^lL&Q0ml>9G +VbJ2W$xKQdcVfv_Fhp%}DaEgG|3xR2c^-t2c8rqhvlnJF|RwXK +-Cb1)y|Asl2w(S`V-U`bcg&1DGClhk7F3t`~gFlgvNou4az!8-o>RAkpd|DMR_ +#GmFlyKvQA>FpdH6_hk9X?rjE<35n~(bPN!?7!U9_4THRstsz59)=m-<&GY8SNcuptN7Z6UE@qC}2XG +$nbDR`nY1b#m=sO0(ggxjzQV$rsi3aR?!=a7C)-JjLt@U+As<9z&d>&^+D44*|u9MR3FN}zS%vbs@yh +bAeF-k!PizQPa#&BFdA4u|Ogn?#?T1iE!F1b#CSb*ChAHkDDFdBzzpw3ueNe^6nw-@>tMrO`YMlh_Th +mnF!2u8fJ@wm}Yo;`ckvzl|?gYOuehDYAe67Ckv4Xyg2dMqd`W$F}AtI1;ZDYjSW88Yk{SfMJ7oWLxQs7oQWKVCccrZ+p}FyuI)D)!K@ +>b-vs3U`%!Sn7N_)okzRYpHi<&bSiF=8|JxghvZxtIeOtXkV|D=s-Rd&A%6D&carH^BE|gy<&siqPFr +dTH$+~JE4>E;ls8UfF0^Pb(fH%EU$FE+fgT2R3)Cni9sRM~y9%by8o2}A_WE8@f<%>nMQ)>7Y;Q?Zpl +pe$Z%v59Cu!Muc()d#H05A-YWV3Vy7^c*&c!vqG43v8AKH>xt>W|TYD8b`LBU4*Yuy?q +5DgLC2bJgiAiM?kRgHesptL}?9rjc;BamM#dKn7F|;`azy5DB2@1pC&m=(1fzTKUtt}%k#Xf^^)HXMq ++G|}<)CVz3RxW!%NzhsZiXr;$%)EJ?PXVkW=YY7>ESJGn#7-%?e?nGc}c|QMTWz;&}12$Ztw??$gZx2~QIo&VE3$kxsp|OKDlwbkPzJ3Jj#?Y?JO>T;v`-lt`6DG896FDlFsIt1?4Cp!mn0&~20n4- +foRm;Kji#WgP(nbCOv}P0^E%kNqeHo35iL*`af2cNm_6K_HbLVKUX0%XcYFt2GpKH>0m3pQ)35C^dE2 +2IiW7;`uyGTcOis{c3Zel_`9rq{Ot|)$T2LZ&_U46n88K|pad7f1Ox6k$FD&`YWX)KxOb%+DY&O+teu +HV}%_x*2L#pk3j3iU^x9qR1V3_Z)Hfph*~e~tnk42f +Z<3YUM{+DuFR1UIfy$gyJ^MIrUKuMN^BmYkrp%oTgyNoWM*xX(f^A76vly!75Wm3#2jkVKvf7{X=fLo +2`6_6z5M%Wb^h9wSnjA6hapRmMQ5CpvsG#C$#86P`{3a5<3RZ+Y%N%3#wJNQ& +(hi;&4KR)L(fWwdx;J*jy6daoVYBIGoz_nAd@dN-Ri;^K;bdgkbQX8dNk0S2W&1F6YRed%!0dMWo +c;u4$#`a~FTA}B>A#uL2hov=)#k$4S!#UO00p}q0x7{COa`5Ni*^T);b3bxtz>Wm>wMhmW +3c9;qnlyj%>BGQ@Rtg3{TYy~oj8YC1)xX)*$#V6nZE6|g{93lnQJoHlyVHp&*cB#ou2-n_`W2GwV>w! +lw+Hgdn7=QQehhn9r~?_yu{$6@0o;VeCN5*Si9Q>NB5f3v4LCI&zd1U;b>kT>DSR%e0*LvHCsRM-VFv +8D9ofLI2+gC9i6=0dGh3|KkV##=E?;|>p}igl2gc+w_p{LU*%JJRfV}J7PC8{K8pLGQe;{=cR`Av-m* +^cz;-j3&hBZtOEgGEY|~nVxgvyP7o_yzt#jPlB%2lF?v7G=ZIDTM#nWEhO1rGDne%D?iKR$J{E|Uu>+&lX@~|4^Coe7COQ_!<9=Y2H6?Wk8XiOq4gxj +D_#RCI<+(A1@nJnkZHc=3==GVrMG*h!Z>;|=Lam2R!jgeDqDvf5XMl;jSbJ)zB$8L56QDN{QIY_;ZPyrBjbIYco$w#rP*Or +0Gc*={5sJ!=pD@Z|Au>+H?(;mP6gkB2YAlfzTMJ)rv&D3lK~h +F(wpz3=uJ&FR!1U(XWq}v%{mYTsf82jBz{*_cfZ*(artF44kk9M(W~{s~N^hXPP?xRiF|eE&qQj-R?v +Mr%g&zd){a^cwGAO00=;i +*@NXgl|Q@xm>h7J#!QnyuSrz(I*++T0 +ob+pDagsHNeVYa}EjcZ7h3pm#^qbohd&7$K&V+3R9rQL9qn^2#cM!#FQ-O5GG4R4&HyEa!CQ!bDCZG-sH76k{Vq>0+2(n +lQO{Cur7K653wuIN{Y8raMi5Df8@gT)>_x4t?){NwGdwUyL|8G$X=5J$1AjE@54K148Kltja!2Ex2Gi#MC*}I +*~pZbUL_tn#<>fwRfQM}F_wQpm>MqXCskuMl#{60JKc&BS`X#(eIdHpDq!zI=pJZtc=ne-g~+}XMYoX +zQ^neJ6eoBBF--I02>#3RF55*G%z>~d?uKWe(vPoY^p`Ep+YyPC~RFdsYQiXzuhk>HKt;J&jqSMI=|M +6WVFFGzL!8;lA$M|dV$Fq$)WzTdr!wNBaUFC=6r@TuBIX+@u(0nPkN)w0%YY0t#>x)bl;>E7LTHLQDx +;g3zB!azPQqAa@51^dUy7^Dg;U}#;3R)UJ<5Ytt=UQA5{$}`WVSS5nb&;2tnS(I}#598<=iL}LQL54i3MJN}NjNjP4%x{R;Y1kk>Pvg)yv-2{LsgW +1fOsLuArop*+>H4Z2av~hDm4i;S)OxjkKJvDi*4oMdu}*s@^cnj9nswBJ8n-LCI!uWksSL!oQVknvaU +tWs0_}&=NN#jp(xmJMHFSxPE00PzZwZOX3ps3>PSPiE957BRHkeD6Et1yqks6a20`DzY{JqefU>Nk@H6TWAjit0q +cg}DDJb|UGdae#M)DdD6u$TqI4ltLgtg-`#||QX6USc00 +KeVj8%1hN+!l3VX?AQy?tKgUn*5Bo5xD4f;^)76hWp+vp*o50>z5a%>c4*my%DmPR0xvEoQxHkQ!Pk( +6x(sI@08j|l}niC&VWJ%QdzbFQ{xx~(aek@Olkt=Wv!Jy6=4-hM{~ui9icnbcs{)kHb6kHV5}dYgg{7 +zRu6dI8u}z{2=~tyGvn8X$eEe$lPizylBwi9-Vb3GGlEwYNv#BD=gDmna4|)*qO(m)@2#@){d=G0_6{ +0#)vtj}=e!9dG5w=aokwJJr=4eNO;WCp7ZN(Vv) +-vi?J$LhUR0#}g!K$12NZ$6GiU#E}DHPxi9?f}~*t(zKhSda#4cHokY=C*cL1nOtN#drWzE$_)X^xzi +UW6Angkv%JU+Fsv#MLlc0MwVj`F3~F=iQmmXkDk~1&(-scbXS}ec#N@zK+nyV!A$(S+jQxi%uKdP3L$ +T(DL%U?%~=FRskQoWT){d>3OtDs}Rc|g&~X+Pu5p!O??yrtf;;c0lvp2Z(< +K$l)GP)p87&bu@9?0{;)M^6DwWg^{Icupee^5^wnYSnMF@C|CeT$&tOqI&v8-SxDSO^4B2}=L$54rb>^|_U7ccTG2BWP}#1vwE5K_N(%M!os2ZeuFCe+u +X-QN9cNMgv9U>JYVles4fz`0kJVE&x5m3c5bVx@F;~IIrM`IfHDEEF(1WijZE!M37J!&td^;FPC+dZf +W4jZ6|GLv;9p08vwSc~UC_Kqj&v>{-Q!Q|fI(xTQRZkXv0gv419E}?%Cfzu&j>NYU)^eLtsF@!WAiftvE7`==2q +2j4#~EPkD1j_mSNx4z2CgC4od2r2K>^#nN9nQtq!j +C2JtW`DN3NwU)H!*Ja_B<&|Ru}m~?Xb=WfzBM5w@Z^TfCJ3?BS;U_0Y7?ZJ$mTWY%*i}aa2WX*khXkZ +>v9_ynSN~cDj@!SAf8(lW8^aM^d}7sx1c!@McdbV02Vsc`HR8W+M-9nyhM=dy7fYls4ih?n-p`?N;qy +gPuS=PwP>EXMOwj`w`1Z5@^pIUhfy`(iHCC;b4Q?3Brc*9JIJ-=Dxf+`*)M%yG(B1+c_;*dFNMeb1uyANMQ@9jOvkF$=?$O@zb`#x%G6l52cCEMl(E0IwYW;4W!rs= +Xe_`yJ5R>L8;skLnS6dOibkYC+ysFB7iwB(!-T)rtV;&{ok=-=XA~cD%ohiHE(Ic-YLg^_wLwU9Mg4= +l0*Ys>oW^!-M`+*?g4qm{}76Rt(HGWVJd><{|P@N;E(_Oy9_xhFATGQUxON0g%HKa{wqXbVqZNYEg}K +Km%A=2KA2wJtOkQE7TG=2wgRHCQthuF*J>n~E$%N9t$%J&+M_zvyDY=_9t +W|!e)sUAo?xc2T+32; +ef*B}rLFMA>%-@7!tV~BzdSq+j}QNJ_#ff7e>**N?{Q7Nf4qBlat{9~-o4A-Klt5${^NHrlfKR;r^lT +;VAQp+Ix;;_*uc88p2SIY*ST=@qb~55IOK3ScgvH~s+HhWkChu#Y@f*eU}yoFfhIm-1Vz4;^0ri{h^q +c^IIR`bujwh7bQOQ6ge+V&qaG#_1o);y$nI7W}Is$Mc3w!YuwIUpUROPOmucGy`jNac(^asx~QwMrRHTq+&3(sxY+sVJjvibPBM;X8qXQ +($uZhp2R3!CP3#y{0Y4hVc*&!ZRke*sWS0|XQR000O8ldVxv9bqYa*8l(j83F(RA^-pYaA|NaUv_0~W +N&gWa%FRGY<6XAX<{#5UukY>bYEXCaCvQzKM#U15XJX?iiSxOLL6Kj{5QB6;$}=!;7pp79^O?xzf};h +*sbrqyWIOJrL9#;Zsb+S@Din3AU5cfO43f+7VJrv{!G}K3MkfdV6^S1?=(XW4U!+VlPl4&VGqvlwW~~ +}J$%i0K@N|nA*e%^_vr4{lpd;|^wWnEk3>jw`BXQ^Yzhl=?}B&$Xo7JQV$wALNLJZ8TO~q>J7F!ermx +G=)bBDf=8(#mKtD-+`C)QOWXNc!Jc4cm4Z*nhkWpi(Ac4cg7VlQxVZ+2;9WpZ;aaCx0r+iu%95Pi>A5 +P7Lnxc-0uMGiQ1@a8_DmrA+>j2#Up( +t%PLT_U*lCrEnb<+V0Ad~$v#u7bn$%+t+Drb*^Wvqc`<3@<|ZHhdbB~|e;=rZYwD!ii|QJSbym|ms-2)F=1?QuBg8N*jgA{d^1XXFS6CNh3vtm;5fy)XfZHp5+ +sM|**#kNoU8)k?cs#HxG8xUEmz4am9ZbWnA&NKp6p!KYqo~^9q<;nTcx~F<7BwIUp*LTY8mG*}|LBoc +^@q2(lpNh=gtM|Rpc)$@TkTv3wrZ&O{NiL$o$~0sbF)a{`v- +<#@d?i%>LLGHa969?140S1jBIH07Cuf|UaMVUYM1+jRg^ve{x}L8+xEZ>%9%GQRauvs;*>Z_BM5e(Uo +>R-c+_#Et)Nz8%QNQgW=*9^w~CSoYe1V}ZSdW>SW5mFtwunY3^Kws@a3)R1DC;u(5D_UOd9VuCs6!O?fK6hDUasnh03A816DoXBY`P{@yc6WdSNe`n{PQZq}Jy;G}4RlD{T7@&3MwZf?Bb< +PE|a7m6SC39xSi`cyWza6 +M;+!q+yJe+Lr6bP^#!Jj9$#tQeU2Ui&hJ-RJ?R0k$(i%{(1jpjX{MRp?}y*Z;r4(JDA25`tuDW-nbT+ +lgN?WVgM%0BrS|$t!{f)uC!pR|y3qt +5UX=MSE5P6tk;!+HbVHaHnD10$>+%(~a8W{&ih1Pz%X>8agpj)c9)#YX16#L)2gTAG0_j-TuAttD-o8 +#4!s>KMMBI8A?m-(J5l&Vq@)E}rtN*RWG?@qI1U5DI*s+?;Go?Ic)a>NgdyV_+xcCz?nP0vo$RDk$~yuF>P_!cw?B^|K+f6%GeIar0!(-O_hMok+Y@AI9e?_uH*)ZQO2$oDVCbXZ&}VUb1@SG(coCNUcY`i<6^OxQeX8Gy(k;gF_LHHT<9#=1y{m+2`{(4B_0NXl6@S!5@1`8YFP +oueV$m{0{F5bgBsH&Yb$zG$F$621KFK)hkf+0+oh`Uq7OgAbQdcKP*0Oe_KlEu7F$eS1##EL$&N#RE* +bgiwd-edrAXO}OH;}_&eXMKc_aWn08w>u(@PscUkQ47%xKV=VL+9x2=1Y3w-YeTA&8{NA1*@H^Q+DCK +Tt~p1QY-O00;n+tx-`qLh1AB0RRAf1poje0001RX>c!Jc4cm4Z*nhkWpi(Ac4cg7VlQ%KaBp&SWpZ;a +aCx0n!H(K65WVkLj5x6p-(I9;A}~&ZiFC=XWpB6^Acq_M*7H6o~89 +6Nm%>(yQuWIdmvn^)#|fY*>e(7eQxs927fYILcZAtK``{i#_g%`fzm+`iQb+hY_Bj6{f(A}V&Xn`9mO +^y&zSUytrbnR07h;&T{7MgtJLBAG62MFS@(*NqXg)N?*`a4@V}_s| +5d{hI)FT8*%z>FPjXUE(ylr|2g%&zGJ5pT-J10{sIZ>L1+2dnIK1TX(TKn8)`Y=_b&bUAZ|n_Qoz^EKGSH+I}DOvU&9)2O6V@+Pzkxf+8XEni*Pbcq5EK#)+dNyu=uN==bXO*P)h>@6aWAK2mq6xkSJZ0062w001KZ003}la4%nWWo~3|axZdab8l>RWo&6;FLGsbZ)|pDa&sZ`;Tfe%G&P~9d8e +d#p1L0_W)lVMcsd@_f2=?xDZ>1tL8O7in1TtN@NQL&qaFH#fsfrbp93mebMp`Kiw{tuvk%XrI_8|$1j +CwabD&=Ew42Fi;H(`$CY4u2CTq%RWV`5Db{hRM9Fq1)*qx|$EF-AkuPZaM?VY%Bp-rtnw~l|Lsb&Von +QxEmlceWbwrE3t4~C3H|%zmtnXNhbNho}o#DU|0wR4UIEa;T#W>8k%Pk`T+fFd*eN*o%iF(K;(l9b8# +hz_8vX=d3lPOW{SFGq{5B#_x_^6>3U6!W3VmNP^J2IYtpARE)_dV*}eqIFI03$NH2$t?dKXi3u3?N{$ +`W5^7bdhV*$lMf?30Ot`dn48dp ++_Y(QO**wy>7$RBkx>$cqDgqe%p8qetjf5kmUL;E?5d#X!yoDu$5PS$}{KU{Kz|j-#6U?dxD6ce0Yb6 +e`ICBHex6Jl3fHw|(>WvFYypTFNXAy90==hEgyJ9%S(Vp~SIU(odVNh0JpB1z;7|bPDrxz=F#G(aEey +3n6zyZ8jSTtP8;fMWxx8ux%Cbskfk93q)vuW^ru$)5-)7_IMCAt>>K#nW(*SkiZN%6K1w)fZehT?Edi +}LHPxSE7=pV>XDz6UUzA1G0#!-;>x@0wU0;eLDm2)=(L~%-18UMTMZ&SLEt_PJ>OwOy1e|*AeqZchTj +FS!Rr%lTcVI0A4VC%nkhx2=P*#MSl|+?siZ?>jDSLgfTrR>GRiH2zsAExi_zfGcOef5LMbE+jAk8RRt +#ks!s3cONWR8TONWLqf5mj>vW%t>*7=tX^->HiC&28X?rXf5+w4;F_7^gXqv#J!>6k@FiSV?jKvy;mT +!l=#&3lo6?tdO6COzmps^@iKoSaW_#TtwK9I4o@nD1p>Zh(X0AXIh}5V`fN%RNOLsqC6rXlSF%HvbK1 +2pAOXd$N25Avhr7mx_XBrLq|k>tF-XkU)p)n>6TWDH-36$&Ac(eRI1?7=@9H-%ZRj0nc2{m`E**jU}> +$NgPh64VlctsD+j;Q}(?aQPxtJCu%(9CG?J>yA$Q+QT7LeO0TzWfc?jjfm6W6(4k*GYwfr>XKB;zM#F +O6wt(B&E9_K(P>*qZ^b~H|7>c3{67k&dI@RLfj_{ohCT2~2K3aNeQK$WZFDT_=>%)7UI1xZyeY`)3 +ZK>cx3KSmeHTRf+ZU@;s|dM&ja8-H&?hG9oDqaA2dWo7c3soW7Kd2jCnkM5+C(-RQ94&t4k}KTOr<_0 +ny4aauABPCP}Au)3IvnAnbwUiqel6cnZGuK5DZ(K2h0l>Ob +%f>60fnu*GSiqiE^6=!`d9#3HF~L5bQjU@_64<4LUPnFV)FRs!cI;DB}&#+?Y-;uw&#k63{sa4(R;X0 +y3ibD+lu#%ZFE0qWz4HqRjpw$=>Y1UsmCs5{((m13Ei+g^yQ>1BoO=b=G^b-ado&q}PLp`e1iCCHDp0>cXd +-Iz2stxKF39pUJs7u_Us%+rSYlfGCv5VJympz#&TZd;Vke$Y1I~DVTG#lz&j0a=|1zbkTXAX~T2|?^# +`LM*NNT@=qUNlkCy9gE<*tT+R3GyMj(H?m=7`*m7x#GHe~-yx)in1?lfeUQQ{8}`z-x#!lr}v^nLL5C +U5*>V7%?N@DfZ`W(`FhNFyuWq+#}NDymK_cC3@Dq&EF$w8Zfg}hL*@Xu;`#s0l7bhR8Z>yg%LVjeDnh +-$jg8Zr~%4VDBwW$Xjh@6^9i1sdK$kXG%{Zgf^|X-JRGufL!e55GDny^9_PZBc*LZ?XhDJm8cyhMjUlZ9dZ +ge6AqR$`2?9`nN&wHO3s!?G@iM5S9uKktdlhvSvbz$$fg)TadJ#+&lDprjpF+9h^q})fQ;4~OV0Ob)i&!_F5 +rl4a~KTr1b58mCIE(K{SMm-fAmf+=`NFqTFKU@3cVQ+T^ys%#xx;x_4Q~_^HBqp)xrmVXzLC(moI~^A +FOH{pV1~Vg{&`Y}P%e9_jc6t}YJ_d@eyD%Y%Qf>!N=H}A0-i1u!$iHl;>kxJ=L3|+}$tL{(Y#eQqg;! +vQ<;kv8UIa!lV>I@)3*zCvUXUxkK7*bHt#3&f?HNU)O)T)4BVk^+3%*gn>Y)BsJ=iO6>2D{C +Itbjhuu&Q`GdREFdy+`pbuFM+c3`8!QCWkh;BQEAEsC3ddCLyN9ta5!0S-k9M(ZA-fY5_Xh>q(jyaAmVc>Iy|J7vhy*RBW72&i$G}j`;XU}CdbYkP +`S50rW4jxy)V>$ioQYlcVNr7k)m5B2K3JI +hpj`<(ZlkJ-IMO`SL^`=Zp#Q0$)2KFs8&i`Zf&QTUh5sM6!aMn#OK +?JKJaouPQ&s=>^#T|{~+2Y3is08#kxfk-<%4z-M4?n~w$k+T{OzvZ26A_q_G ++VV0e8C~c2mTsdqC;k3_4UB3LD;+I(KUIxVJ@&a8?$eyu}}U;fTk1jF*WS8*iD-NZ_BsC4$2>P6vv(D +?2UPRF4@*t!S;&1VxUVl6R~Q4ydzxy`g_H;_7HW;^ex% +Zk+8W_@5L1SYA3p|6|h8RN(^lyDBb$YU{2K9=7h)26aD~b)CWLyfi3m2fK&<#0D^w}Nr9D~zRMv{M54 +S4=qq;lcsO0gJRvp%v7zFf{h@=tId1whuyeYU271S3p%mOAX5%IO7*fmx-QqJV8sMk>K~~niRYTiW*r +yLoJrbDp+{g$nT&VOHT|i7dB$o6OtKgneoJAg*M-qavrx`k~QQ@S2#C67)rl%g!sq@4fINQ3TaIfEyt +L?#Mn@3c2@Vm1kKjFm=^Sc14?bbONSQY~H4krT~#6FYCfk}4r1PFOa7$AUHUPW`2E8K=L{W)PPt@c9y1Vgjps=GWb4wJEiEUu?MMc&&q@U>_wh=W2=L#B?;%c5W +9-Qji0q4j4egVKj?BoV?Bu8+~cl_D~JZGEtIY6fas_t^Yv>c!Jc4cm4Z*nhkWpi(Ac4cg7VlQ)aa&=>Lb1rasja5x=+b|5h=T{Kf#RjtMUTg)1ZP;PJ4 +jr&d5d^A5#abN6kkq8X(EmP4{*-KIHFB^;@`-$WWQvMe3ty$d!Xf`|SY2lN=?{J7cPpT0y4n7| +7dJpgK;TO8c@Ucrmo>+1Gf6O>Nhi00dL8?)KH)e6F`8c>jwHQmbTcL$kj!9+P_zh5IQxG}?sS>sZm_p +ar^m?NIp$TSSOIB6-68u05aHX_OBe!G!{$0Bg4KWvMA&>2owxv}j-s3JF??S{m2Reo02F^oyo!^#NKi +MpQO@X4`-a_gfr%)}g0de4waX#AxFMQ64NQD>h1>y@hO*G;y7NwZ)+khJ~VbUV}X4Nx(Ge(6-c+)>MrFNjeK-5*X0+v5WsvdfP}QR39VqSICi)+EZ6xm&MNBR8I-fX<$qF +7~M19!hL38O+4EotXQOb%NRLe^zPPbP`7Z{uUbCp=}(1aw9F67pFAN{{X@6aWAK2mq6RWo&6;FJo_QaA9;WUtei%X +>?y-E^v7R08mQ<1QY-O00;n+tx-{7RJrO?0001g0000m0001RX>c!Jc4cm4Z*nhkWpi(Ac4cg7VlQKF +ZE#_9FJo_PY-M9~X>V?GUtwZnE^v8^k5A0WiH}#XRftv!PAx1=%}Y*Iisj-eDXO&MQUHRqqWoNir<&4*> +uG>jD4(8~^|SaA|NaUv_0~WN&gWbZ>2JFJE72ZfSI1UoLQYeUZU#!ypWX?>vRY1EB7(;||l>L#1`Aw% +j8YJOv3bGNe=9el%&Nq@tC$`2WA(HXx-uj=84*p3LA7{(9T>5H%-Epo0PQHYaF45ARBdFLbCA8W@5>h +TJ0@_6<1OVMwTilv0RaCJ)g@)t)dIVwK4|us#xJz|c{NK86g=kZ6m`$x>)rcmcUlPvuC_rik4|c~+Y; +(~&l%z68~|oV0W!Cef5R+gVw73w1&4n5j-p&O{y=6Y>e)$a@UA-ntG6VFn)ydU+IeE+;MBi1XUJaP58 +d7V1R2GVAdh%lGL_T<5FI>MHx-Y{0GUa=pV{ZtC(;_8sfNrB!>p$K%$}oY%Q`_UBG+Wr}}LO9KQH000 +080F$jzQInDWLzDmj0P+9;02%-Q0B~t=FJE?LZe(wAFLZBhY%gPPZEbIEE^v8W%s~o+Fc5{|y{CB8MH +F200zF3QqEjTskpv`>WU^>aUlZN5o1cMsd@W4y!d{>k;Rvw|YB(9aal#ExbyWk@RI-%#l2{@o7xijdJ +ggQtL9!vQGbTplZPkYN`+aJ&u{s_kRg)@8Ri(;Ob*aL1$oI4xONdB$O5!Ao3;q;G3FDtVJ0so4ZQc1u +1AZob-+Td3O9KQH000080F$jzQDGypz?mQb04SFL02=@R0B~t=FJE?LZe(wAFLZBhY%gSGV{c?-axQR +r%{^;#+qRb9{VP~@cSzNe)^>XP(A2%tZIhYI-rIKCbnonyy&B4*V#X4wl9Xa6)BnEb0f2Z?w3F^GX5v +T`aBy&NUN|@ai|wwe+h~=wd0TArlY+k&)ycZ9wo%nY;>o5c^CsWP3bm@*JTxaEO;)s2Yz`fao5tqoOIwrp?NmJl&0Dh3U`xI{z6yk2(-o>b%|8W%R1v^AN=M7a5FPVp}vef@T-#@}bR +}u{QjX)=Qv=01afHuk+SNl`n=-rE2W%t7f{E!;k=br$K8AW0I}JlO3Sh)(>3s#g8wZ*L8(c{G!<8KUV +FFYG1DC*-3tXlkeK-$84L^1E^1!6@K27{WeGpKh}n{vRdNbyaV(HYE%hoiX=h!RyE|wFZYhb@lMsl>3Ii=3~H_$7(*t0nxC`$BH= +o!TeDYgZ_s({51M|*52IaO_W8ie){|0qH@1o=JhywdkZQh$~K$oZ3Fsc1)^|M)ld%x4$PCSvSqO;+J} +<`w^+O_+S`R*(crO!`Dc_a#D~#mNykIqSKDn~wnVG6TD}2^5wq=KibJ+RQd0|12>I)x#F36c)(X{54H +#+zCh%8#yvypWCCP}d${58|L5WZuM{yL}WTWm-<*L@F5(%>^VF4BCf1R^I-4t!URpYqJA3S(4u +l3fA+nPwR&pjii);w&`hziPTzuk%E_;Eo$FV_3=#zX{^5%QZ^C6&NCo;9_!{C%v^!EXr+lAiJ;oJ#YT +G6I@JDg$YOu^Ipf9kA5$Xf1Bq%>xdlSRuEjr9i8MQI=DzuuGN3E~_>woq1tnC9BNOfV!Y07Rj-Slk;I +U_QWv*PK3zx21++B(_)&f2}N +A(J$gHIq`uc0of5{)E)OvX@Fd2<8o3;Ia?PNSPeX+?GxJj^AYQptN?0v5MDj(*kneNN%W7~yo^xM07XcIqZWS +d>YDDyjJ*mpUmJlhy2^-*Y9ibr@IV}2N_Ci(VqVa!fv`l}b(-H7O^e>Af|maL(B6VSa{=(g$7iE%s)z +#U^))zz9gsd>NiI84UZQY+*P6bhj*DuFOp+>Jbv**dq2y6rCi`|h`6?M9RoB>&S8$N)o0NW^B4?!|Ap +wf{c`*6L)aPq-Y#LpKTdOBT2)nL!W{tO5T>^Tl9)8yq0ji!kHAY{8J`^;?YXCJR3O6Y}9$lLQ%5jPo> +?Fm1gJDJaJ+O9*JcXztU*1$@n;|$DE{ZRpS8g7raRAWirCJ0AE2J^;$otfV^&=uVZG8t(0HNtT?-z^a^LE!H3g9-Un#&e{;z5u-GDYiE~buL%|GtwfX+h?Glu+jSBESgIXx^F4*Uw3F<6xU=o42?4X;a+gKtOJcOd9M%xc>Um2iIm(9!QFY@vB4tsOkb1cQj6 +3DK{Hh95-z$*6C*qGxc4?*gA(&Jf;``7$6q3?S9i1WI|}s)YT^Up;{9m8{?O5v3c3~>9As>xix +C8suma#elniIcM^7qF8`h+^aa@WurQurPYYV~pEE&Frx)W0my@VCb667PH7e&uSKa6gU=4K9uWI(uo6 +Wqy*a|!DSEc2tfVm_qh&R48jC}c!R;ker@~G;bQlyv6mH!ivI)P5vkVb;gNNy_AM`qr +~QhuD>0~z?B*5}LJlxM&mcjk@mMhykaA?B+p&;~tTq~rrQCX0s?}x<8BQmu*)6IukRPuEk*S0 +B~((gIEn7WEM9r&8R#AbQGXO{cZbvHM@PuB4kp}x$Lbeh9R1STQ`MAUy*QkTg&bpriLu(&28B~PEgEp +-K}C67pdrKYcCS!SB4DqOWzp4zQY??}14fZ;FitW;e?s-TNQ|$O022N1(+)?C6@@~Xl9ma~UaESI4Mg +H39tFs4a7K_ICQ~@Nr*~X7Yg{~;HPDbt(uC!q%U9~ +76CaZ}Gkeqt^KntJLk`cq^@sA9!>(P2AHrigazTZQ#brjlhjTQ;DR)M6RB!_}&NssUE%)<@Qgqx^g-U +AN{*gRZ;%MZ9q>cvWWq$|8$C5r^$&V#{pR)9&CTeV^;gMPqhkZgWSlL)@TkQ7+-8ySQDz|g3H9)^$zT +pij?+R203(VI*Wp5n@M<;GS`^1=8I}}`JsGpE6ZJY#1Pn +^+4JU^*<#ECLt0y0%vF}v_iUu^p3z*y8aOaJmKHUWwyc4=VjAI&-LcMp*q@c5+juPv^RckSl-l5 +B`f^T%a +-w~Hap<_M*9*Lp<94}TQrt86O>=436JSxkD{SP`SeXyko{55nrXA!6r7~UPe~W?G95QaXrO8PN*sTT%VhJs8F_lPwVx?uFxE=2(OD4CPU(deUXcx66Db{e>o_UiCeq(TU!jt$CHY +?#2X9kTNnSDXgc3q*4Ih4viFR@iS7c^FtJ&oo+29>f5A{jUDS_LOQa@7C8n3^xx5DJj(a`C2+#HjJq|0`Hmt3n{{JbijNhZ4( +u@$T@E^)w^`nw(#q_3}M`H&V5!Ci(j{4-Z(TF=^Dw%KbA!o(7EL6E=Sa^?$b}s?~blgBlB`MMoExc46 +2}_39Pv8fTJetyc=_OEOOuoiP8i8k%K$a1C?cfxO*sKV2r`sN30@jHGm1SM|BmkdO)I&d*+59`}ep4# +`PyK+h|acS=dcl)KAUN9AKK~EP|x!^jfxh7YQ{bm4Ng$_1aT&<_z>PY}3hgy!pXzJ(XKnM}px@#)Va7eh +W_EMwiFbO*b9Y$OAJ9%+4QUsfBJdaw(@h0E>X#6ekT)rw|>Pr9a>FobkbuS~;yh)RCtjU_mW)hn%|%%d+V3NW{!8fhqc~LwN +ImC)x_k^nJ{v=p`m>Fu5A$eVMBxACDFcSq7@NAu)Hoco<=t?ZE3^rN{I4A6fda4(UKy0+aTS+pPU7+7 +H2XPqHIXw!!53hltM@{Pk((2p7vnpz0|zePou!qP|NDKPudK8dsm8i;>8| +LCP*T62G_n0{QcV&!5JB3}5v9jaGQL!fk*eyi}kg^ZAObD{Uo1; +aCYP|bBpLCWNxfe3K3Uovv)_J{e!S#S;5zT;}~KV4A`yFGdzps;E5qNAYw#xwK4!A{ejop%i9>|g~urUm8%r2sZ;xGh>ZFy^zak8m!zq>90_ +SMO44;!@HSa~Nof|8yiq(Psm6W_o@WefC+DegWe#Zjn29YsN8NUfO_hWuWD-mFnSjj +P%Px*wYY9XIs5z?G`sxvm)V!so@I#q`K#Ia+4V@bgEnoPp7Fy+?Y*mhem* +;Y*4NKO_@B#s7zR7BJ(;yiyUb={7i+&je%`#stNO~Xo8As<|j65~)&@~XBS#>#*s#!?wfi4>RtrX +bPJ!2vbi?R=zDgKTOgxdw#8c!MFv7oCHDcZQEP0rLMMQi+nx3?uV{%P?~oLmDCj5b9DaQJPt->fjKSL +eG;hN+v&2MKP4dFc%Eihy1b)GGo@x5D9x=P~6A;$H^+8|JZ~XruLNi*}Fq0!WaHwz7faIs5b-%(EQCI +5Mh?)J24QK^f3S%m{HDD{85OS9k%Ayrqq)M|bC$lI710GWYrpW5c@EuH%0!VUl)fug4(@6_H=?&ef`b1;_&3*_ne;7h4mNCsCT3l?@U@*m%TVz^T=r +RSut`NG<-Fwjo~&qn7E&*H%PBydZcKKVUX&abpvy13b0~XsK%;$@f)x0|?<<+oW_!Xf%FFYxv9{Jr +jg)U{qI#ps1}FRnXNBbjuAmL1rKXZ@cw@-!zrghczU7Kqoex160yz?g>8e%=blHE=jfY#$C*41vk(q5 +$tM#j_*PxM~L(rO6H(+h^&n?+9}5V+wxbRMWfA_4=sjwjB~d#Ib$Ubt@$ylJy`Px)4Kv#tsvQ{4}XBKJj*agoS9_e +OCzx2`j|zRbW*1#7Ibs`fw{Grv&Fox_7ks%{{W&}{6gQm2dV=1)8eg~rUT0rPHApKiaj(jYypq?S)Cw +c;D5+urs!JMHZBKZ^b}xC%q<85-IfswgiuYom +O`j)+RdkPMYVF2`9NWb3vY4~+z})T9Kx?CtEi7O|bd)s$8$^h4RntJqtMJKmQkZTSDXHV$m%SCFFAR- +zWRnrtH9nq)98evP$Uk;-kHJMbmUiqp4DC%f22g>VX%ESFSy5YB5}hS2x!AmD8rL(PtEUkR^1Klz3SF +TtG6_{1>&TXP3_Zz@QxWV)lLa~`iO=O!&^RquennHRotd;BU$uRAGkLHQ4dp#7HoW+0;N%f=`|_QDSwuqV9+;cPuTAWQJ_mp<>?cWs5XY1_^B0AIoaBVHHL&xe85Zv2EU6ySX<3CdyUei0LBb +$~iZkMR$YE_8P}iCygRy>z+t*z>1Jx)|RaM#bT3sv^?%nV-fEhZ&9)-jD{$kLuXY68;?PKhtHfZ1}wm +ung7f0zi+I@?X41_QrA$WqIT=6fwq-!8Uu8HaldkW$E9c71#qK&*`I*db$;vQkRPIxYE$ctewyB?-?I +E=@K}1BR-vAJCk0Pbb#fVfx2Yg2Q$Vc4>uwy~RqJ(=w@UJr>$p()LJ +N8^5kjzh7CxLg^Kh4TY*RFx-@z(Jbk-Baf6BQ{&za4~9?!m1XgXXz;FPv%EnZ}D;?(3*v|<)c!l13=# +9hRJ&k~Dn#+LQzCdKhM4E7cMo8xm$pOh<5U-1pUb~^<;2g^5q7SVpK^9T0b09AJ6H)m592lcfZ7j4LXo;(DKbYsucSkNAa?%HnC-qxh*f<{Ec~MD$v?A|!IyC|rrxVHhGRS64n$d;c!)ycF*ncmTnM8VS8?$TUTt-kE-w_JwXLsN>S`=f%vxXw3ICU?Eg5tunbXSno12^kSp?$^51a*dr((zT_q#${>X7bRHu|X$U +*f}^rS_e1|2;6av|BeTb}bu>M#O8e11Fx>b-r7sh%t42C0n +9HIvF+=VrduVQc~&c~Lj20M^EL8+&sL;9$}D78c#$@sBaJXiN7jS=FbURbk$ZmTUT12$~-@9j6-GY7aF@?zymEs-m-Kg7F +yYz^^d7UsXhBiOUyIV7%}UQ61|BS-$d?@}RuN(M(KVM~w_ux+z}HTbro~u4}tDWQE-`EmaFI&nn!kMe +3cC>A_p`kaxH{?pebIZm~8t!^H?q*oxeNxGa-B)5x9yewj>acCWt8$VnGr;>?UrWnFa2|2}qOzKj_$1 +ARf<1cw_ZS=GxWwXI(ogb#g;a0^u<21y1j#!+QPDmT;|1@o>Y{mdOLhq{^9B3smj|FgPn(AK8lx_PAD +m=b@8+|MANLQ~Ajmp4R2(iMA~N85da@3qAc0;p$lqfk|XTalOWq$%9k#;5q+RK5*KB(Zu-@7qP@--f4 +Qa^~%V4pm3KNKIa@tUB%+?C=8bg}D54A=mHc#GP}e7nRq{4xKA)<-&fWre0X`ZLIiw6V6HK)-^)LYG% +rc@5kV~o&-oncHkmYQP9TTcN4BV=F|oxcUy-T(`;_FR@<>hmgO{1IVCKqi_p7k`bOOw1{~Uf5Li*2Zp +-n{slDRTi-%kL-l-%y^Rvh&l#L(m%bw}pdm)3#5Cmxx=HNfNw^>;O>ka04>i5pl(+1Ch0?&B;?UfGn>Gp&;an&@c2?e)}s-3jLKcUguFY>DuxgMBnCDX +(PC|^^#1Q9zJ@_uEd;d5=%qYa02Z{q$F$)i|?@7L|%(aR0U$+0~4Y#BULBnrjeu-doL#Zk +kN$s_F9Qmj?s!^N?C_o>~4H@F$XkowQM`k`0cP*tFiAe71pfG_@1k!ElxvEgc1+|baExZH|vt8Mic!Jc4cm4Z*nhmZ*6QZWo~0{WMy(LaCyxdY +j4{)^1FWpPrZdC#MZ`bQQR5p0>y3@D6lWw2DiAieU4($i8eB+Qj(Kg(f@ukLrNlPIZku?;rt=C$a&9j +9#ryODOJs~wB~ibr@q?pVe*`7SM(S^rKyj`U`km&tn1MJ82J%UzKGw9L3_p+ATs7yKf +s)Lldpl>*t8qLVG59nhM+$7ts#=Xkql|A^*6hkij@fq1xFGuTpQPXhBM5 +@uR9^Fn$p$n6HY}|eN&|mb%C>pIM+Es!T~`_hKXS%?zWRd$IDjDwmJ9fWh#ky!#=Zx1FhaFad09)v?r +yl^tiIuzMRg;aB4bw^m` +ZG^mHWm;86UGRV=4c-;9X4~Wr9n!N<$g*b?1^qfFU`_w +HbNy5T3oU!0TxB~}jse`c#a0LJhgb2ngNbygRS9P%Rz%~H(^7Z+-v-;T)L1!E7Pm(6?w!;)83qCAuIh +NuI78iQiWj1lmCx?Z&rw9x#+VY^?Fml!C9}hxM`MQ)qRvy>pW{Q%t}mQX&xZ3JKR;D +9|53ah#)=po`JEI17|UH0ZBPZ7ynF)rp*`M=4#UvsRF&XkbcDmlS2(Ocoy`Iw^RqiSS&gS!S4pFe9h} +M-<9>ly2eTs#g2Xh25?1ooJbERJ$ayVyR$GqR$Vy6Bj1n~KL+wem~!p4RAj7MYYE4PW(HCghW@#jyqv +ArUm(VpVkv?{Bscf~DmZjszr6_9S!cjA7OaNgU6oF;^yA%e6*|dL`;eLy0t-vBgd|BO4JkxD?g2&1nR}3CZ`!UXZ0hagZ=sG~+ +zGx?0sD&WTlV|KIjA^iVH0{J7Soy56nI@1{9_|)PNadcs;j%azKMd+95z(M0t3rCaA6So5(4?jbTxqN +Yod5rq@ZZ9T!xsUL+gCI5WoctwOj_4z92?f@A!240Ax3O#4UOyr7BPsB!H>D`ZC +cvIPcNKw|jYi~IuW!kB$vnG|8oZiT!9fgbRH-AQ#@k$b@(SBj^%eVY11=HlKkSmfqBF8h`*@U(c-sCXzTbO;QRQ9;vTnii3zp6i)ec5MV +~dWq&Ha7_imE08VrVIyLDpk_&xTHQ4_~l+Q)&<1~FHGFLhhJ9eH!Q!LYRL8?#<07!iJHLtY~=LO|K`x +`I(`SEd`hRDm(=o?$iTX$Gg5@%u8R0j*EJI6zj-mEn@~?cYsZm(}d+udkuTHdhG{{TipBNs)?c`t<@v +Nj1S)kc)bv1(}c_wxk0#@7ExoS>1+_VN9c=*Fgd*ITJJc$~_g}wp(zo)iEb9lkci%pb6Cy^qzCuxtnBwoMBwAjCp#Dwk(0p(zYA>*35o4K^Lp&P53(#<@8cyI~;h}y1ztOHLA=wE3i@ +tP}yga`|h(57jMqmv2S?Nq7s;ee?(Yf6uc*_m6hX68d1>|+mSe)-cQ+EDQXGW_NyQsKWB?<+lOq{d6-Zhhb#p5^0UL1L>r*i`>%L$Hsu#j-he!2w6JM!}B8=Hzl)n@WX(I9MYrmJ|_E +xY6eAj;QjMw~%%lqaz~i +vK5%A{cQG~-Jew5@%dU_Dc9w#UGU3M%L41Li58CVfR-~?&>R8w%ubl5A|0tu~*Z%&eW?DNsPEcu^^p; +V6>0Y4Z9)6)jPj~4+^Fc{v?l38C3kweT4)@jKHM5?AIv8Vz}$?Z>68$)Z+il(oyrg$@vO&8U4^(cuST6_-1>sVJt{ZuQ;pR-Q-rbvBYP=Vl1I6Ll +njGncZ3R5RhwN`!kj2N&{&UM2e)rS5*!Hh!#v%njT^yRL-qP_JKknX0sw>bcVSmm$dCketJSIVk)f=VOAm7*vButrm +7kqWQkQh`0~U`4b92sQz4z^c;c&C@zr5N;==MGN&sC|W8HrFUPuG<;X* +U$rA3UNQ`ohHvF=$HlYj!XxqWq<=v&>?xZ)Qej*vpC4E@J2bF;w@UxVc!Jc4cm4Z*nhmZ*6QZZ*pX1a%E&LaCxK)MGnWRpVyTc_ylKj^fcj>Rmu;9PJg*H$r6CSm8?YOj!rU9GJN`aIm2Z%oThB#FUP6n`7eP%JOqDJgX5l_$| +{qdlc7?&Z^{OyB1#WW=P=Lc_4O9KQH000080F$jzQI7}#4)_270BQmN02TlM0B~t=FJE?LZe(wAFLZB +hY%g?rE^v8;k-=)iFbsz8ehT4B)3qHA8#@GY+ACz2jbcJ0Z-&?&w!$D!Kf4Wyo3c(v`TwL}zm<0ex|W +c%LD1&gc>)@>Rc;Td*I`dBW9-zoAwc6y-;BjYu&o%x>QI4{+G>)r2-vF#MwxU<1*A!oN~`<<>KgbvU! +GGX{89S$XBGk92~i2bXC3wd|E01;>{=G|r;UO`nf$ED4{=PsHiyl54U{YR%MCt6T3ae^*s^*$ZdZWOb +|Cx{d9Gd}GRH`xZ4FK#c6oLlY48^KTl30ccjJ2*G0^GKx-%sU;$ivZ;(T149lD3fetmUJX1ELY_AH~t +mi+=yO9KQH000080F$jzQGIX8#xeu|0DB4m03QGV0B~t=FJE?LZe(wAFLiQkY-wUMFJE72ZfSI1UoLQ +Yl~!AC+cp$_*RMEG5yUDS0o$;L1qiULyCgsp7>$cP3bb@&bD>C;m$>S$-ytbla_p>F9-5rncW$2!o9B +7vv=Dsr6I{W1r;#;RhP4Q_k`imnm4sd?!Q~d1Y(V3cGbEH*PNA(<9aL58tkYOkz`I^)3v6SQa2Bg5XQ +O)0w4_jz#kg`x;WMP*yY+hY;b2*jWf^o&ua#4H&9ePJDwY>PUD_~Z{!wS<*cUx$O#dub{rLTEHS6@c^pK8?E3#aS-M?~B8!vW`7twWD>QHgh)u +PA*%t)sC8(n=S89xdX~NipP1Z9+Lf&7qTpS2Ty3B!Ise^K&b83FMLNE7u2~`z+Mz@Ab(T`WviTQ^21W +gwB<24rc6kq?a>Kw7vr<6s+hAorHMB;kl)Hi;{YovNWH*<1+nad_^a8mZ)#skv_(#Fg4amXi-8aKYp; +8uIe97s-4ErDKbODcA%_q_x5$8g@>6!@%gOR|-ZWeJK{Z?a93gEs>B4}MFm5A>tZ6D^X~DYkbDDt8Fg +uwVZrDa(mBya*ZxT5uC5zNeztKT+BARC@3r=F2PBI3xO{vZ +W8A2fBg3Oui`o;r*q?q;pF +Eq-m7K2KJl)B^_8r02+E$KNGQHJ+VJx@PBL~IHs;9&!c%Qj=V~P_D`Y+v(~R=445?e#e$jIUz5VXMck +WD7Nic1q52Aw7saf`IUmL}M`lX-(c?t4BU9McBEM}Kng)YNnsaw3`d`BZkrs~o*I~oSIUKdJEa8JdCc +*V3QBoXVAo92sBAqax$AMZm@V;}#zW1AEeNQW*lAILOGYraIYNSkbRR*Y0TNcQ`!sZ9UGdtx(BQGt5U +qe{uo*P^ey)OO2>GbZHZUVoZ@!6;;`U5)uDy;@0nuYQ@tm#ijm)QWdc1$&#{V +yA^f(<6vB%Hp|K&fyeU&*L-PbR~qGlGiN)I| +anz0|XQR000O8ldVxv#JD><{0sm9C@KH|BLDyZaA|NaUv_0~WN&gWb#iQMX<{=kUt@1V?GE +^v9RT5E6PHWvM!UqLt+SZ-}$9t#u*;K9zOo$a8n!ORpzkqsPLq7ycGEMV5&~%OY1XUnkA3pLkiy{C3W +Msx@C{!hJpyheVW`y)&!6tE!?Jr}Y?}kO_TP37+EnX4{7!i{yUnFviZ=`;6;NQEeBh6p7r(X*aCJvB=XtvDljYqU06dGWT_7%Afc_ZtE?}>+Kr+6&q$LGm(ic{wwf@uZY`_QYuwhD1p +$-laAbXJ5hm6xfP7(WUeifiisUm0XAJ+cnX=fJ8y1$ijlGM47$Mf1SS?~%-AK~kSjVh?j=lkE3{kC+Q +htRZFiX|*xC2Tv(Eoz?)kq{&ho|cc_7~M=OP!L`_t-pS1)3m*x8lGlJf_d#*$cRwKtPcRXemU7=Te5!WM=wWYpSDGIF7mTxUm1#A@Uql_q^ +zdeGAp$4-Nd{UiIjfR!S{tKsEIDlw$adhEU1us!9NG@ok6A|fv2a866M^7c-%JH8WS<5rj+Ig?dblU1 +0>D#n^^%&x_)%yXjc{G*d8^nneCCuFm6a#EnjI398edki7LDF$84joC5Co}*Z!;!+8q7Y&SKi-<@K( +20UGChxGDn*>v!YQUu^)tefOH+4>x6P^g4U5f??p{&M}mWszq0{^YPM8b0vi1NtFLK0vyRSrdjHQ)mN +onwC~jHhoMz#G_*Docili#lL3P}s>3k1gY0WO2Ym=Rq=eYz%|xakn7M@K=1I5x3nR3fthQ5ObXdP!3Y +undP1^Z%o>+Xd@+^jTBkBu%ee-Rw@PpN7kZPb}X=MooNZTvx`~Iw?cK|kyVpoi{p^q60U4T%$3w~2WJ +Zr&i$TOw>~#%D#=}WHspl-r!=mc(^~>FiH_?s<+{UQZ`}7lH9c5JCRMtqD7%v4nAMze8{c-aFtBcxLI +6r^C!`@>=y4`_o(N-GL+!)cOZLsnSI=YCMPS)LSaSCb1k#pZOOD(Ho&o(4uYxC*R{vC^4afDbip06O@ +oF_BS4RkaFd@IM@U61Sq?5UB#9`ud&9l)HtXu`bIns0krCZfbp`ud8>@C>zC|g=Sb#xQC($F(YkXtkW +E6c?mbVAPs%cN%%L_CUln%>+PS~!xktSCw+E$VUTdrqSEyfI1WA-N6gXYrR~6O2`L0xLsMI<|47xvRv +e<`Pd#o6}eBMX_A-YWl!pSb3 +4Oi`V?m<>&fv7_PpWlH;Q+EKpx=_1%;(&h(qhbSc>JyEuZ(yID4QDfQRz9A +|%)B42zNgih5wHI6#-_a2xpP=g0mYr@p6v_Ca$MU|ldqXcHnil9E3S3 +bJf9FKn9N3jgTd;LA3*~s3rl)r%yZbLTVS`$`YND05JmTm8sIH6Q?%~!uGI;?3g7bSR+}3IFZgg9lihkl^qct^&Lv}%T9+5g+VDHyo#GA!O|A7jx4s%?6E7fXx +Lo^)3Hvb(PrX*Y8cMhFFA^#!yu-_0Sckp1R_70ve^f64g#wY7mpnb?|IMBKq%UC_1p_9>bSgAgs(V?_ +_9%fM+AlATic*r&C}}{TfAnwIpp2~$uKvxwUam#98Mv&Pp&EfAfBgfWA1m%?+g@gGXJJPMF%7F+0vj! +e8X-57;@)Dd+M)#5J%HgnT6DGrLoVer(BD}h?CIpjM@T&{!)p?pW6Nnmr!b2i)I{DR&qz!$f_eAPz4T +ynX01+A5st77c~?u4%B$qK@&At1ez_Tsi6y>&c^~?qo*XT%y%?-q)kBTBI}m5llA81chF``(v5uVe7# +Z6po%&ZliFO|S=om5&uDcllQ|OIk%RKtkAyeUAvZ*$mhdVaP3!~N$BCbmyBqz}X@u4utiSLbG& +(fPjwt4unVJFi@XJCd8aTD^-B`>*GU{o_-@)^%-(v7Gv5}41DNBht_USgJ +IzcRz&ITZ5a?iK@;tcls%QHgO~K0Kno;m^4vmY_#rbxNV4{4*_&vIb!cNdics%(vN2^0aHvBK`Y_an$ +cR)Xv0WUdci&{44Ek^+wYuR*(gx(Kg1{y3&!e(Ui&LJFNvp(?^p|(-@3$6WAfGyeHsI?h{5;D(^rZ`i +pZcSltKWq`{g85C#OS%n!3n?@G+4L)tZFhn`&rPmLpRG-y&&s0gM!I$8_uik%}Vs|=l`*ZeKv{d@{jAN{5jn?85@}Ks3{(%MS+gq$IS1Z40%47az)jE_EBijl(fzH%5X;?saB+R@Da0iSKg^- +Tk4}FBJK47>Afi@rbxtoaE?{{kqkNBnf)IzfGyWoqec929MDyJMV+BF#5wy1PsoO-vSuQsj)j*b6aTl`E#&(v(fp0T +KF*`R9jl+|i(8?Iq5=JyNT*kZhgI-M(QD{tevas0t8WSE(DG!~?VBPrmVeOr*P=E6?v;DbAJnOc{b*P +4W5wVM{y}?G>h4njgJxssN$ +djx#ElvuJ$iytglOU`;i_rmpJ;WPgu0S;rHZ)t%_{~F|dXD#GaUm&f8OjNtF!5S_k-%RfZ!3zC;=jOG{Cb83icCZ^dkUEMdw9a9ER;%ndSc*EJcgq0->PuxTyL>X-3 +1rbZY<>v~E~gMtz^dGr3Ay^J^z7A1q20lYibqa`*QnMiZ79kWk#&Di4BN-XRztSY{@j@(^%JN`UEmQ# +D7e4rmjX?tPfpX<1z%cN#wu~w^1k)_7QGOtCt%G#72O^hY~r6*l%b_xCJIs^j5BKeZzEgoE%(TgA<{b +U14ta`Z3@Bbm<4oknSQ%J@x~p9=uKrm%^Z3+%mzJ={X{Uw->YT~8`hQpvUZrOuEdE&U?W!n-jUR;kZ_MVe3dV9ZSa7_Glo>a*)nhn{ +YSL0IQFH{0HED=P#jwTmy_ZK0hw!OE_smDfpvImIU%B8w%iT?snO9KQH000080F$jzQFQbnwV>WaCyZ${deQGk-zJ&K()8GR3bC`b-j&xdR +N!hCVp}3t*vBVZ@Z-_5|UU`1Ot#Ot8MzX-^>6Y0g`ey_wK#w?ORhIFf*9%89-|(b}Wk4byZ6qMJ(HuL +RKtZDUsI|kM#GE8J65WrE$fpY}b6x#b%Qg8~ar#`=ms2&#TcI@#trZgG(tSixs=2;RSx3G6X8>svTeI +0Sj**%K{K74KXa^fq4Oq$p>QWY!PB;?$|%V*UNl5}yIj6I6Gg$3DiZ}_jr^fs4Q=s|@RES +BC#(=Z#WVKy_45~_Q6&#E96J-cGRt|&_F1)Mx3`!7J!0^&8&LU(zW*Us99|Mz*c``0`*p+#2MaD}jp5 +vBRmp4xLZj~!!u2kXtF@536IJpgTW86PT?xb)5)J?gpsz&1HO?fDmGUqL_@&v>WJc5QQ^L%V-V}`iu0 +yqjUB8;au0ekA|A{E4Y|o!b&f+u$sj+ICDOL&i%UKccxB|X%&Z2ozUo4KohU{z5{FOQfpM!d2w5>{t7Qn^9t#FuXWhGI;e{8a7i;f=_#Gcqg`Aj ++h{9Pg^aWG_@h&H#$|~xo*TTN#amwX+mQGVBDPjeT=3%p0PL2r;MHze0lx))z72R6ZU?~3sOe`>PhYh6}B$X<7xf<6z +4TZR}q7@ptD;8!!~suOArUJgcos&xiu+tZuq2A4@5CfWrB +a{S>hC%<{}Z%_aI*%x1ie~Iq?@z3WcU&kkZJ3aZIk7JaRHk|W%w>z{N9|+QBV>RRP_y+~<47QN+3dVs +ixI-9fmz?ERgdxn=-o}`kM&WzipyP$7tc$YoktqW!Me2J@U1>&g=ERPRdf-tH*2bB;xC>;PvS;6=4r2UHu^xA9i!FIqJ?(SynmTSF9MN;oTabn^F{ +F@P*XLrU#!xmL3MBZWCI~cli;fq=(JOU>Uo*+su5OQ +0ORumh7Y|kWEX3SF=ho%r#P`_e0a*&ah+G1@3{bPkuq{AcX$3iLo+k#QpEP#EZJIKE0$&|UZKr4IIiM +N&YuB_d?O?T@*N8l2b9aRchS}L`Qq~QPblpdVB|%PtnuZGZeYc?8K_f?D*A8;M-A+^z(xKL@5&rJdbV +Z+JHqcyKJ+q$ns{h79oBQNSVJ+yEZ~yV;mJ`lh}~!(TKO$J6})P7qQ$Z`18g +6-pQFVV~&s-zx&h6nJ44>eOQVz7;6_bo>I0sX$237n&c-6?cZ}UVKW0UhyF{T6W~I$2e{sgu?u;|mgJ +$R=&&p{;UGm>l6QfG#yFH_4!8{$id}-aEY5c|(yr-|+mUO-2JZ#1gQgFwgR_@TI1C>Vi(d45Ai4xe9~ +w!b_-VQ$I2%Xt^9`>czA%U~TS0+Ja;$T}%z#l+XDkp_DpaNzDxM-G9coldXQdQo-~RFZ%5i5G1>5j~% +Q&B6>EUW1cvew7tE{6XU@kI?hU~ooxUTd3aPm_f=UQu1fq56x88AlZYFjIc2?qloQnrjzEzOo3yo?(# +zz+c9!4+=+j=}`S0crPZLV=F17=&7%ix#@$jtWT3n#r4?Vep3%(<0(&!qH#%_KD;)ista{Te0T=YwEL +^Do3ABVA$ZJfLA%nyS*&4FDw;&5SL==*Y<{xs^>9NMEeFV| +5O81H3}LW!OgJWFVO-|uNykvaFRf2zxuBTnE}I{}-<-Qlu3W_^jHm+!FvQnj@X +Vy{Upk>A=(8Y0_N_jfi`2Yw?t4L}V6S8Al%kfAbCobMDvy%L4V2M{5}JAfl&i2-g6rJ~p~RcF;O^L(y +>Mb866fSut-h=YNjPP!~Q`Z&M@6nvPAcLtXqF}Bkn ++0^dqlb`Jo#lKVmznzj`zP-3>>_p?e|Cf$omC(3_T#{U8fqk;4hoPH0Dhfuz$Ds0pO#7bfP}bP_QvT4 +FsYPIxsvB(LG<(+KVh{KY_jr%xGKS#Nagl%-(wPjzbniq{%^TVQr-yPxx?YBKJDcxpE7?AOfi#3NV_obBaRz%F1I_#xX~v!53damf$)VWgttn1vhGUS8av7a*Qps!xUK{kAV>3h-ZI&M=z2P1hnkMY9Zr14`vM}-w1C +UHGBM1sPiK=;3=LkEich|ez2#I2o8`8M)tQv*52@h^R37bcg*u4{H0p^fT3S1#`afbUIHL07?{!9;#0 +4@NTbq;_isGaa_rTg@8%v1#nD9N7ELcBuXNlF50&lTrU}Ffgg<5mzu&AIa&LV +ge@OWvLFYI#gz(ya&9Y+KjWMBppFLfbJa>Uy~35h6#2DOc+r47>p9c&eSjzk+8pu+-}hIW&I--yzr_#wqpYa;v84{l1O+S`_clN&K_hbJ`fo@=-h!ML5ikIzZ}~$2-!z8F +uq(-9C_tv@z~X!#A0T&#u>k@v1UBzcM57_N&k?W%?wn`bItLoQ=QiyBjJ~9@jmhSS&YsxPU`$7MLt{~ +z$-&{cirsPNjL#kJpY(Yr#a?gFV@jKfQl8p;!_Db{(hS}610cwGXE@P_d*e7Ao4FPC#XE}$RMf2!SXn2UmY@houEISPx`?aIxEnoCS1pBRP3?7pxlk`Sh!@GgFmq|R?GQ9=zhHd_?( +|7hF{5pJYat12-_ZhWquu)Lq$Jv>Sf_l@!-}7gAZu?MYi<>2+|9|}9;%0Gf58d|QzH=oUfZC-O*oZzeI<1eEF$il#!>* +u#jjh8BG>Q&L4$%(cRZD5sp{<{6G>sI;f{tb;o^muzly+t45aG9CAboutRPUNc&^d+qe{(7>*5>*D=y +y8$4RbpqgVX(p)gSE8+Xm3)5$g@1!ZNP5A%7_0D;^RB_WfiKf(f_ox5we&lw+WDh<3mJV)6b2uOPTbE +9USop&J07UE_P++w_`Tzx^-iupI69XqwKz%P6xYbk+z6Lu-JYK+*04Os})jZMo>0ZN+o3|5x;7T9DTu +IGLsG$y$3%gT<;oJutD3PE=4^@Opz!c2|;~G>&C9n9FyKt8rqTsmDvKfkdFc-l^GCgvm}M*6Z%Armzx +ed{DSciiY?w&_5omf5!SYp1$@48-yx=Az6V5UVnf7^CZ*}&z_R4K*R^u@9_}094b +^yNATFwwMTvVRrOa*LcFdSSAnzLNxz#saB0wk;+pJx8JG67p{AP?9wm)(Nr9CndBDtVs#dZFWNC!&wF +hioHs{t}hN!O)I5HZFfqk_Z2DX&-fC2e)hHoDZbg$b|XFhPnF=#-WfdR(1*;_xR`T_8GPu|I;JA3I)a +YO!K81JBT#lDmW)I7ZY#IA3f`wB+D*caUCUa>&xlwFydZ?D4F +UwX|SpWk#L#Er1tTiep>M$pfggu$>oYe02+bGEUfsAKP@f^hiIBhM_OS(D$ZE@jAYj6&g3SE&MnTe%CPjJ(YCHqx%=X+DC5Q(6^c=mDJ#Ty@)zmcFC!Y7LWys!tqc8naU2}DPwH +UMwn@hD?O?O!uCPG3*?s(E$J(yyfnC^S<-g(#iE!F_`xF7K2Jv`;~&FHWK<7NYxjyW*)V4~6ihrwrgd +23Gd4^xv*>GKu?afO#|3Ldgsfkho{60c@pPv8i+OAU@emIR&*U>4xj=$1!Aj3rNnJsWdRu|4tkn!<$% +o8~^6cheu(A4~>%t-p|*;AeOgKV#>TKebIDD?#^$SJ>`+{C88fhU^&kinpBU{xPu*m&Hf27Q%6-&u<6 +_%`PA>)|t;5qAlKErYo!nTHh3-D|Ng0uP}EdA!5+QXHc|9kfgkn9JfJhZ{D7AD_9B=9~Kq-Ji8|E-~a{6B?89I +pUd0nrWY@kC64HJm8{5h!++@7ZcrJm<~h@hsu6%cB7JgYKwEaGtvA)49!DweFhDcs`)V)o{G?~p|S#R +xK|DsYMvn&x|Nn#KZe5%RJt-wcOT77>NfC%5xTL+_&5C1ydxq&w)QTs$~AjC=NPc8^J5U_XKrs^yZ{J +48uje2?2L^57f?$B1QY-O00;n+tx-|d_=iAYCIA49ivR#60001RX>c!Jc4cm4Z*nhna%^mAVlyveZ*F +d7V{~b6Zg6jJY%Xwl?LBF4)9N2}yIxn#T +K|-LslVP9T?2RI(a{RQ%XWD!`pm*;yR4Aed%ApqKc`t=ZAClu_WB3DV4%~*BLy)RpO#|RS8XFT*zr*Y +pXYTeMftXEYlce~-*#=^F1#gjcZ;ECuO6Tg!c3I#6{#?|9aIU{9KD`r +txA*)1HLcCUp7)KVUga6zYRk6KQNB@-fMCDylon>#1W}yCJI%%VtHMxh0LX_=i8 +!RZsr@9QB!P%#@%z#_0_6^3GqyVCv`JfeTraKpYm;cW81*k2BBIl&5-;>!msnI{ah|LVk>wCFNW=QZ| +9&e|KY>i)V25F#XpM<#xKg`O}u!a>4h)-v5>;zTVtwY%<91^M86XKrY)suBX>Y`26YJhow}xpbLgu&G +5Jc)?ZtW7wY!}t-A97{rRe9YsuuHID=U1)Z|jevkP;Sgz9AZ(@0f`F2Y@K;)ZmAES8qRcUvECA#n9FM +Dz0I8NJxxP>`~025&!(Czs#Gq+ZJ{8cR`JDfBRQdGtn&DQq23J1GsicsB5Ar-TBLE)&4gT+0oIb4tHf +X%M2OjeCg;2m=j!AEGh?>FX5}`#`8H6{(L?;I-0)_t752oXxCo-6_#ZT7mtoJWDDwwJX+R(+02p@-W> +DI$vF*uG#VM2%DDLo8C+dw4h`(!IXTVbu-pI+=z();e7?wiGRGbkS<#e!gZDv;{D^?$IpDJw=R6kVfL +=3Pwst3)@gyr-fw=E2{xcZnPIODr^rwvfjPaj+e0M1|z}rm)W3FU2NU<7#2v*s?9Xj0<$nHjT1id+dp +Tmxp$%k8NU=IA;V2{2qGk~>t-8O=*&?-N#C0uhB9q*K41v0B@s(wBnOHr?;8IclkmKg$=7<}M(an{(t +Uc^sVRIp+(A0Llix70k7JFz6bl8+`w=2`48r~9*zyvIBYp396H^7o1V^n8aRVXlDSpS*5wfjonDgvuF +B%bmIGJ2i1Fixeo3X59aaF@$HiDYuNiaLuu*5_@Y+%R0zrMH@O-9UY)Azgcv$M@Q-|a!9Gp2|S +4DAEeD&n9xLQ6sds$tbvDO3akLxGDeR4Fvs^J1Kv^gnaxHJAi-|~xR-#xp0JCwjyY4$EO$*;wT3JR8A +8iy9vuO{RoZc&2Ll)_~H?5wTiVR{;}U_@h9owxf89yXrHeKqi9g2Nz+fZ@kn(+B^n-j^HAM7Rf_YSlJPheh((SCq`^y5^Ei@s?Yli~@w#Z<_RY{XNdz?Q)KL0p>>^ +}Z;aEhNu?BM53Q}46ewz~$(Z?d;U*x8eu_X15_053tTR%_s!)Vpr>)JKuhM=W?Y3XGXhA?pDuELqr!0 +!36)RyS2S6t3V^y#uxkD8N~ft?IVu5ix)O0gAy?$vIHEB;i{3#3Uk^LX?I!HLy_7gM!xpYMUhp)Rn;@ +2wp(pQ`TUVKDAJttSi)*L5gNuK!X9cf`vI6DsKkLmLm;SO*~3^ig>U3Oa|$x=a!XRu(tNAOW#}Zz5lT+bqvs!8GwklRd +VYgtLRPE$CrYPaFp34(jeeLK!A{xylv`;(Ln)J}U+7MB?vLAAjy>ZYyBrFoGq3>;dEzEG1xT&o@vZfS +Wkp5*XK#*!uqDM)=sH!F#x%fmlqy;M90NbOQ{hX=y|})x|<#4hEhY8gZbaw>y`XH_v|9K-U0i)d}H?A +%I-m6jhCaXv&L^5{m)i$PBCj +1&j~brqMKS3uc=D-CrrfkHU^OMNk`A^@68%owz~13tP1aze6>f_gDeahh#myeJMBkSBV6 +#T7dn!Pwr@sPL1}&oO4_C!>QWOhkx*H6fWCS^B|ZdGLRC&gOkHnyi*D+loD;8#2F&?xF-nYP9%1?!bV +&e;ZqHNW0jh>~57OE7cCbHVkbn8h!-v>HWi`t_$EJ@z0Odbo+ut^@9tgbenMaf+7E54NG&+_T5_5^<;yprVKHWPYdoi`xZqd3QqPZ4ZBRXtg)0Wh!}KgjV +BrU?0QG6B7XzPRNKx`E1V-EXMdBKm5*hEg?u;kWKvAr!F<>Vv^hHzjuLny>zY7hI1;is#nnI#tZX-QJ +1|gX?oYoNwsTi}&ay{w10#2$yJ~a54ZTfV0YZ`1KgUF+N>y1+tA`v1r%B~{inEwx90gy?COFwx}cA`LhCe +IAT{?KG&$A5c*H%-RS%hAvD{EA&XZEBzhNapBpkKUAc!D&mQ}QMfgfZ^GCDj +$wX@g5|K)z79^Gz3$iMpU(4u-c-`)$8k{kW@N>v)$Ip9Zr~^N^Ehf4kRe#9?1Mf>er1KIlHtAxCx2)V@Kl61daIryzo+lMR{fCxWIXy4(wsjqb^UIA{Ewqn`0*7^_rt +^M&}##<4YIS^4%>{3L8Jw3MMqRzqmvwF6GNT&yaN55fWS8!kPCG^h5t`59K$+)LA=o+X(V}9E?=&!zX +UB(333AsQTxa=gOP(?0Js8zUW3#rE2(a~u0i&Y(4>;lzcF44lm^S$N1)b=p18Sc?+gL?_{j0!Pa>*}- +0EsbK%fN>8}$vOQVe}N#~2YndpyZzpe4kse(d-PSiqM)20?=|4u$%BW&5Bidbg59*uC*Mn7adB)qp=jYi~fpmg +CVjDRK*(NskaqhUH*(GQEkjtU#kQh0d3aC@zU&EC{w4a0Zy8*6eX12h|nyXr5Eqo#3a?_$lZx5)a1MV +f|b9CeZGZ`HvSr(lW@Pj2?qI(+^G~_&@=ZU!J4pp}k&S_db=gH +-Y@n1gW^CMJ>=4Urh|Rej!Cj=}3wq#``jq;EvG2WA6X9L88e&-*EuB8|vHejUh%K(&oTMIJH4v;g=P) +-(i0TV4Bb#0{z7z8A3#$gXr-hwGQ%?jhM*V#}~`=;-TB$`p}z^sAo!S-!>RL8LJOiF- +_vL%iYSOAXw7{Et1pmY;odG)8AeJ|=AO#~Re3MMc$qhz={_TkPB^)(&Jk(tiKh;Z$f7C39w6m^a+qDHXyzHC`T*UCk^a@n9tv;Y-ax~UeGl!J +Ku=*d@4T=b6&21XQB=9QR`JEN>Ph=Du07GOFMiYBI^hYxtl`U%K>Q$+Lo>`DGr{+nOPdJ*5)7S}@i1% +n7d#=6Uv{Mvxg6rTCag7T<)HhEIQzsTSri~=2&dA_%xZo;3Y1EDwa)R;H*KN!Em?V)A+2(>1ow&McqIU+UMeFE=EKq9>^uSMzs;{h<(xnqfiG +u68I23=RNQxSS(6N6QBA{CEaiY_||1rcB*NsA<#HUs|%I&u_sTbUIOz3Icuc2yxl)xE+d&$QeKdk_Y6 +&*>LwMLkkTXPgsVJIIDqBN1o4PjtZ>X+yiQ{7=OUAuYJN1KtOjX31rPO|sTLTDI{^(lFf_rM9e0Tus% +#ZBWO7<)`I#RKosExkG41CldU@(U%ilyGk2U~-PXqbTQTLU(VuJ +w4m)vWsS2sjLo6IYadaNC{!15607F0@o6@0h2Cpe=}sOR6Wg1nj`Z()}WLoM$Tc@i76-V7VURnB>_0h +!r-PwY3)H;@Lh|HwX>-}dm=4R|0~e@6iW-hspJH`J&GVX&v>FyIpmg@4Ta+lo!G~$XzK@PkicMvEd}{ +twg(`yHw32>f>Rt+`yeUVJo~%oT0;%W3RM#)_rNu_7oVzrk{b?WBAoz4Pg?TaU_=I&6C{nDJJQK +q-fZQhMLLg)Tvr3!f0OkGuKw(% +WzzvP_t{h3C!Xx9BE8M}{mX0p_59D&@*bxduE8cVz1h{QHKX0~tZqDLF?R6AGB)6B#5I7b^{^leeqtc +O!3w8{7!BYlDlVyAP`?9S(=2o@US1CzKRj5fZAMJ`pdYKceswAcKIzDegpzPp9|3I==KW=^O!}e4iLL|A{^txIKPlaAm#$Zd5`9qGMD +$^c25pr!QEFI=C~B35>VstfcR@&Ym<+CuW871Y!PsL|pQ%FBMXbK3()TT{*s*IPH^UWz +{`~kG#f6s9XU)rXQftvqOPbegSvnqa|WN{;rDv5?=RNU=yn!>G6g3g|(K%VhPLONXyGXK1@^8!CqAF*S9EIbU6 +cc|WQwgC-2y3XK1y@gza3o2vA^msfjRf$e91FH9k~&ZAIMOP9#GKo{;RFWBFK;{}_Y)mw>dg3^d!zk5 +&a;L#S;XLPEHMy2L2+yo0)SJ^ZEA2$->Nn_qzvPb+#L1|3O*>|4`PPskD-2BlA*tDMtvD?~c=(=${=csH7KhIUs6l;l%DJs-u1(-jM8GqWHrBXzL=!xE +<|C`7X_0D2hI9|IWf6Y;$S}YJvp#M;{Il2?Mh7N-qopRL_#(R?UL!TLnJ$NIhaV*?qu2i+B2abX!WrY +qGDnAA@Njmt+<2i740>+RuI?ZGpCeHy_PT|<%BBD473`8uKY+6+&XL{D5Tk4EGj;+ea;aMI9$ +O#xUZ~1*z7>a2w3h{wjH&Y3_W*8zF(E6j_j&fLmaVCHBeZDp@Q>g@U$_?HGNN#E%evrnGFU3h88Kmq` +5x;%)pe>m=GLe729Mx8#2uHEVtVEl_!K7>Yyela9W@xTs;C7%E3^(*}E>q(wn +V70WF__75;SMebpyE3v6nYysY1xEbI#z@0$Xw%EIM?PD8>p8TA6Z#*4We~srPY{*&L^r}9ZjbtWim4b=6aV+<7rF`~735GcH#l +r0o*s~6>>!N`$7oAJ%Lc(yeRc$Q<>NZMAK=`QZR&AoH!ByF!IV&16X{E|maVoR9D2YG>iKqUYqfADwO +t(UZYcEI?fv$usnn_&2_SHotxC&kkJTHYc6WkwC?i^!UKqt@#8KwMCs9d>S +o=80!pRfN944cuWOoL?+5XWNC_Ea!J)ZSl(a2ShN=Rofp(Dh`67B&~9W>IEpxKAp2xoK3zGB>+TM! +k@t)w}VA)X?j)>x|kJm0E=%~-<~*Ic_#QQK3Bbqe}?kdhoqIX_hSkQax%Z +(4~@x>#-TEPG-2=Ut`BN-3Cf?QrbK^D2vJfItHFDdSSHx`UE=Gq0$X1P`uOf8)-X9WQJm$Che)W>N%J* +^yQZljEcMb*(xZmSV2N%zo|J5$9fN=&FVGD}VNhR=hUa=lqEHODdrjbz7?wH%Kf$e0yPDYDt|?|%C@` +|@!$VAL>3D_*n_>DkZBwrQ@6{?}u#2x_%CW1}AnC1Y<*q|3VUM1B+$5ym?Dk$ +}nd9?DA2^@-aflo1IUV@4On6rRJR1|YPW>- +*AVWf{z=07$B2@g_a72K&^>bk^6{}YXcb~})~-tf2#u==>5c#5DXo#C=Uz)GhBh#8K=N6S`mLIyJISd +nN@4Y1>(dvr)449htpkioqZw-sQ7ln#C7>XbPJiF-`hX}i*t;F)t-EeLY#&{@hr7zj-!)fbj~XUb`!A +J<9}iQ?ew*D>ClnkIL}=a2PSB?o-_99Z-f^DoV-C1g64&$jYi$2MHEZE_Sn_@xQA_yInFHH=K@Ufne@ +1t(-@M6^x=@!;q&_!){`lPL8p>N}3;>XSX)LM=|_4VLE>Iyqd|v@%|l8W(52`-_#xh~lo(S^eIOqpPW +G6Z}LOC-@19*m1?;Mig)(YK?B`z?(iODjuVXbE&@vb0-*&U?#Crv~HC?ls2<*3oaIl8JufhWB|;w9(B +f%HX7(m66SV3Xvee);OPToCyDW#Z{bdb;Q9+aE_dL7Cxd8xNfk*Sz!w&qv>*@HBOavP?It +eYO6A7@cG-gL$tp|nFFkyCXc~Ax>G$_ZYA&Z&Z%UmZEjwe4p`RNWlMRzW1(6Gl5Q}Oj~TmNf|M^H|wW +J;gZSdn*FjFzS$#nD+Kf=<~zjMQvmRtb1une3F(Kzgb2HCq?IIV7!CNflKekIR+ubXv-x(_NS +dV!PTG4{E8RhRKBeNaf)f +&_|+({s#Ox&4vCqt;_DjWxO*@#>&N09{f~A3cq^fHD$h+335A4nF~+k*Uwt+!%z_2hKu|w +R!PySu_u^gcPd{mevEJ5a{HS9(wzld6~~=yQa7Ls55333q@>TIIl&w14E@>sMiUYd-}bM3x5CGVu2U1 +Buk~swOz?My?XrN!ETqUBrteXrKvUQ*-Gh`c<7)lBm1zy#Hnksr`QuZ$`^|z58C_LiN8tpvzX%*X{Vy +D%wZF96MXHYs#N6*2p_}Pw=f-?DZMqM-t(&&fXCYP<|UEA@x}PSO1-)$Op>AOMeGqB$#X6bqcpH#x9) +(o5X8V#)d%t+xT2vms@zjS4!o^F9)4YeLj?bRA%lNY(^gpDq=_tb9jPq=Mw3wZh@!|4dzK1=JHd8I-* +t9vx<91%&%J!Y+(}fF#Nl=wcpKuSfB);d0BX#64LkI((pZy`2_ +3Gb`&euE(w8R_(^;Jlc)8xG-mogM0sTG|&No6z2_{>TD~ +LWXLZm?FlQ=FIUuF}dx_Qt^}qp323i0uNbmPYn6yn{V9gkC32F)KTZ_wq1jy$I^?FiT7})&r8&K!6 +)Bcd^nkAC%U1g!F!&Ou9l}=Bfmf)8>NT=pOQG3eY?3`J~$}a63deW~#a$wvK1n?sQ1$T-9@XwEr&rct7CZ9eA5Jk}c0Z>Z=1QY-O00;n+tx-{+A7c3|2> +<{D8~^|z0001RX>c!Jc4cm4Z*nhna%^mAVlyvgcw=R7bZKvHb1rasy;xgs8@UyJ_pcxn7?lb|-tMBnL +f9;jRg}hnqZpFiK8~pwN@6`jPDzerp=f`5&pG5=HInU@28eBm7+=-WI#7_Ak-rG4{nrH+hO?KB6# +rMy_MX()~T1TlJtyx8*P}tbIW2*)DIGfE5=z4M1VLwOT-4;AeD4cG_)e!jOlpHGGQ&)JW$7fcsjvD_K +EIP2bCz34yD1how92?VApKeraEeJHzFxw5neSIeqdigiCo6dDViuROs*~XzPexpM33@>9Fdy#Isk +N&&l8T&?cTgx``&3bLJ0c#FltIJuEA*otkqOfAFMQxq&K7Hg$MjJEELa-(04Z{Xv0qCtr{jlqp?J;w{ +)38ozT6dAKWbF;Ng2Nk)1FsbD578%uk=_k;3ur_il6;C6&1HPu;m6l&btP}ADHF@E5#+{5o6L^CDTys +1Hoo8A(z`&0W$6Qoe_Zigb_$+iZnOU6)#0h{TC0=qcEu8Flo(l!QB$JQEC(?}(HV5eJz|@B+WSZg`JO +X#L__B2Y0G~<{9W!hVunzc_073yggMw?BN_U)G%_^VHgXLO;kPW*NeA9>E-}%c@I1|FBnf0Z%gOeD__ +>0VnjHx193&ZpVv%^RMF>47GL?V)j52k6(4bLber|h8}fE6lE9lFEcnUY-7r~g7aK{5JeQa>OdMsL&# +BLqA(8CehnonZpIV15LkfE?jsgT +6jPzZDUDdbkM9gu%pIS6+6^h?8#4O2b9AtjH_QHU0UmdVgY&Fb-9!*rbJo%5*_ud>^N%!Dr7$^nv}!H +>a!H4TSQfJOrYO0|cKPaul14iG>)Pp=NV7E%RnZ)3y(t>S0lDw-Z>bsQJQhJ2lI7ZaROXXP&(WST-(1 +P5%b!JtzJ$>|gJhE4XC-v8G9`u8VLED3Ky;eB`F?%&qyLRvvfJ2!gV#Gr3 +(F6&15Kq`r!wX^d!nCm)U;=E^HfEwBDwHn!A8dOVcaFz9;Esk+kjxfcE7eXI={y5~RiKAus%{U1vOU& +m>HB^SOGHI4>weul>xDRUYRj-knlU@+51XH}1+9z#4eU=P>f;U29 +}xgUMp&82l$+4iLKNgkjm*$wey$Rvfnh)Te+8l*{)uXd^W~%0XRh{;P~m$?0C-fiYV`4)+!@e)L@RJ~ +I>egeQi0E@_Nf37p#gxN8K!NxOG9R>4-3Bd+k7!!-p-==a`|J4+Byx<%GI$VJrae^HU~6L1nAYi@vzNRV1$nh2k9|Wc)dl>Oui#0!KLUGg`>`K7Oksbf6hx<~vwfdPE3LSzOpKU4 +ZUu;dA+dZucp7=$-f27igQ3dHga1Sp9Rv_G`@#)0|Xa1N&%<^7QHGjZohjsyfK(c%eJja?nUSZd +Nun#hF=8qe~D1>rRW{_hfTiVN~q5QstRhE@r3%Wa=#XKOFqiVxY9H%@H9YH;48~@L4VJ3>svdTk!MZg +zE9kuY!$tk{P>QAtojN-b;4$aF;INcBM}Ir6g4O6PmZ7m)vIY>FN;*DI1x>1`qqNp6Od8t?WK1RfEGk +2PbR(xD%Wx`NCC0AkuNlw_{TUz;NejhrX{wAe@taBd;N82MsGLx2&!nT3*~EPgPFm#C4S?rh1*Lzy}8 ++ftBN&@joD4myZR0OgP^+k%dda^>0)>3fpMW>04mh8NQSL>ddzx?UwBiucVLFtzea%9CPDGF7aF=gC= +hhqyMOpYCr9A^&F^DpVcJhcUx!b>@d2}tC~1O>!y=bvf*`h5ddqNiuVeanu{5Cis-)*a +lpt~+uSJwLnrT)}viiAVLU^g#_jTZ`R57+Lz#l^%WP3Oc{W$X3E4f?(C1St9Kj!^HRF%a5V^_-niyP1 +(xnyd2{&L}-$0GsoQD|2+9=ayBG9{r>KDQ40lm#o9L +C45@EXw_>F)b_)G+sh$@6aWAK2mq6 +S$S{U$QA!zpJKou5Sf ++6w!A?D6$0u_?A-uy8YEe?g>6tHawIXPNG@k+TTRo?-uLDphliYG(F3SpK;m%TZ{B^3*JZvVVYsejRq +`+-$*#ytN!Uu{X(f56pGRhy?^u%3N+zkWOS@#p<-XwcLdi#?HKNjjMYn9jg#{JK!)P>$`I>AhE<_mRn +dF%ak=$P=DbLuBPY7&aRVo)AD~dFUm`w8QD32tUQz1*vc3vn8#3SJ@qAeezohN~MuGb^(H73JNZf2tZBK{9b4VPG7trA +GntANBU#ir~3Y+dr0CG|0cS#I@OpxVrwU^+Q +OSJkDPFz|K1+zDBXG*tI)a_JT3>m7jB+6rM811=W0`?M;WfAukD-#TCx=J!u?v>jG%>kO%h5n{7M_k{ +lfBW$R(0^82EAP5GKAz3IIsAMI-xH&+_q<41 +1hwMYBln5i!jEf@IyBE;DjNOMEKI)o{>y0egq)?R%3Ng*-&+XwNF_E^V2>Y;k1=~3Kb%~UXWDI_;nPo +aNDx{TF{D;s9sIdg5~>i*xGnuC3Y2W0=f|_Ze(|VI3AkMER$&>TolBN&xQ{$cGzUMBlV%^-2DV{f!&V +=8n&_8bMuDj{VX5^N?jRPDBCXR&#(A7_5rU)HJv%6y!h{;qn&r|5{-SNrtA>XluGD_IDf6oEkAoZS1O +?_jpjrSqjq+Uqb--^Ry?=Q0Q=Vl06};vmVo+K20fEwo{*8hjI+ot@z3_t@t%BP1Ob#>0Q&FvaD_GmpJ +89!!sou(6`ux9CsFj1&<@$eCnz0BjH7|e3%Uk5|Rms-6$7#y-$uXVH=pUA$l2myC*TgHnWp@ei2o*J| +%2aQFOaTgCm2d=bYow!;gab$Qk7@jID`g?(M@RRk5#2y;s8%$|kI+s>f=8<83W|?UbQFO8)Z!FEmHj_ +-7@ZO^QQt)YAczlfxPpMmL69c9{iiz)yX9a48c3e)KzyX@z@&WvDp|qsbI;0HOfjLr5VK0sM1txE;ud +&07|j3}rO;GBmH7?AL0%+0js1M}2~69G?lXc;W1|V<9QY_T8Cm7=-ig0&?_MF+EXEqorsT3hJZ>%99( +{m=HWIEJX_X@nt=;`;20GHbz+hr&Gm#lj{0=s>9>p+joJ4Y}vWiwC;u``Cl_X1K!cv{Uln$jD5Ao3c8 +KLc)%i+T!Kw{wI00L~Xc#PqLlArc9oEgz3+8FRR#{@oK9`qS!Y^*D07@}NZ*wi(_ +)Agi&Qcm0)2}Wz4tRWU}^UT>~cpY4A)Ur6prlxUX7dfJ#GWkL=)Ok}o#G+=Yy+ir`LUG@IVa*G@+!wb +;>G{b31-grG9)ls+MpoF}UD6i#lZs&oy=@-XCc!2ylocc%;YTS{I^|0S=gs|aCYbea&{DJL&Xg(jc{A0Y%^ +YNUFSF9XQI&au5M;_p{kK5GclYEfl2^pK~E`eg2SL2{VUvie#^nmZs=LOIFWAtzsFD4C){gC+bFb%`eS<^W{?m+9rQY)7JJTMqyn&RI3VHpog?eyqxD +p0{YLU$I_hORixvzYOm`3MNxy5h-!Z;A3 +jehkM_XHjZp|3f1#H!Gp=T326p%!6n9;~N-OwgCj_qCkt3&`vg8Yn$DRw<0yRx-yaRzz=zlJo2XZp9G +D^scj4pyu#sMv)p-91+J790*{wE{7AX;s~|9q=N$1~8&hwjG|1-_IX(`=eqQ-0dp32>(m~J@aTC +;URE*R9Wpl<>tfHgq{g}t)NH$lfQjOVn9Q0*lx&Wv02*mn@@t>gh&+XMsY^XuXrWY?9eL +yrI9@PfW0s&(y(io$WlPAzQ@c6FN&H_o9awN?YsSxSwIEb6Y}fOB8M*Ue2R*3HFw^9{!8zWMTe+ +F5LUfF;&@}1Qp|kcM{R>b_0|XQR000O8ldVxvFX~+;eFFdhhzS4y9{>OVaA|NaUv_0~WN&gWb#iQMX< +{=kW@&6?aBp*TE^v93Rl$ziHW0n*D+VeSkP4eY8XzcK>?LRd_>iPXdMTPhqNLH9U5ZplYIl9fw`WLEv +MqZz8v%wTa^}sgoHu)i +cKb1|v!2(t{08l`ZN)!drB)K=jp@Hj|3X@vj4tFG-R +HTc~$hTP!L)sD_(;mTwZECr#7v|8X#YUB!*z)(Uka_iIZ5C4#|T@)|o-4q9!X6CFCOrDY39b^QngtcP}9-hAStM3n^?6crwIHNy80h$XS +0#bMfqE@;|@XJ5t*X}OTy0Qq4%^~kiwG0Eo8SVxXZx}M2-cj0vbWMtMKZLELjEDO)ZJcP5EswQi|$T6 +p|e)SjI3@B1D5A{;lJx#+d6WM92@E2qME1<*TD#Hy0HwP+B~-^>(vK*zrP!1rQ3vk@b1_)k()4W#ONF +zzBBp`f2=w)iDh7on4F^X1@mi{7kY(v|z2=|sy34#<9{mC)GpHI0x1-aD#%A$S@lR-g>oG0nKaxkLo!?tg;%+hHB7k)!nB)Mzz#F=*@42D +osCCzKCn_O@+dmEM50b+NSGawTiy#*Y3&Eb4sz=<7rWaXF1EF#AobL7dal&h@9NqdM-AF)s;dK3RIJ# +HXBh5f3Ga|&kL3hXHfLXpefls~zP)h>@6aWAK2mq67Jyn^t6NU6)-eQ~o|N!+BknGH+E~ +X*;y(s=Tf1(hZdL^|h+5?bo}kso<-gOg4B_k_IsBY42n%tF}D+tYvXoS8b*$*_ictT~)k%52x52-@bq +U)1{mF31${Fb`=jk2m}90*N0T+Te*{Fsl3nSK0{>b$w7T!jBrufh>Rb5KHD#&RFw0e-{4I>82B=oOwu$fOOTwU_%KD9zsV}Vu$eBzl +&%_l-{bcb0V3q-N7xP00y~Y&B-gV20Y1uRmZnv<1A&}RCRbNKq~E{(`!7Gf`|A~~WqwR=BtTN7oHB8z +xdd(w2H@)24P+^fx$jz+>8)%uaGeQSsC=zXU3UELH@R8_av4yX;=8-{c5$w=x6SGnXiUEq*E`ZRQ!W7KNY@JhQ**AvhX%D%-SX +tII1&1?CDaG%Mw;EX53Pnu9v*TQmyx>n)mM`hqtFD$VDj?e?YA!SM)P$H3#`f%8ahlz9a1rON)~L!d2uY03A_bfTYF7SOBl~q}U0lZTqc9tZd4OHkfMuh-7kLhfi?$KS_wMUUarVDo{&4{uY +`1iIri;j`LLf)LECV?+El)vlWTjQBZe>D{fH92(ipvGli6R>$xx12Puxnc7c}0gCOHPpR2FSXs;-JLd +A`#zh#G&rQozh!k_cjAb;^WqGo82lfWDDye2v%0MvZ;_fIr!OZ4dRVES1aN}EB$`E(!1}F!1-Z4ZmO@CYIV3m44#$TOi~b>OA9w|LtFEa)*FufuGk~{17Sh`c?$}pR_Pq=Q&pC&Q=n1E9v)zcc)cLkKHVsNK`9#dNvOUAYu)z +FfojhN43KBjp2uX?!PUbpqu2Dzk0IcF+0X|d+!fzsdo~M@%3W(4wxU89pAz}AQ?_P!K4f)TgAhah0y1 +u(`K20_=%f{3_MDG`Sf(L6M5g5=JxThqfdsWINzlFkGe&NRwq+{*APhI{hJC$9x8&~jSN2?NQIS|+w9 +H`|Y?juD3uQooF>xpn(ukC^WQlQ&kx23~WQP~baoMAlh%chTII;=yC(NEdw@!3I@kD3~**5L6Jz6B=` +B1!^?=Z%T{H>1C1d2?Qjtm=aMfXFOzXOrB%Qd@E>o{bwzvfiIMUW1X9n;p3fomrz2{6|r +RtI~2ZW3f!AhheUUc(Iz0$nuaMXD+k_{fe%YnDPA3MZ4kZv=||lkM)dZTHi2U$wxzxm8&?I}*e!tl6F +~JOKTlLipEYf+S>4N*yC;aT}{`xMN3(8~}8}UOk}qEY9+K0T;xM^&N+oS+iDPkAMTllW2$vRB4P9+>I +(Tz;wB%_@K%18{i*-@fzOqeheBSoj4?^x?M`sUi#m5yERA$2*dyc#z!DU(#Bhb(s^b=Js2%zW}G3b37 +3#qa5+d0k2dbZAN(y3;3+m%CYu8Si!&W}(1$3IA0&AsUE> +CIgb#}tJk1t*dSO7gkD^xMd;6_#gPISWA;0U<1mdhr`JbAUn9;V7!S{YB^qN^-N +x%mhEdTQ?zf(GTW^S@Dk@@pX4PByT}LsJfo^88ej;Md@aiuH;Q`5SAc0}1q$Sf98CbJhLpKcoUocKA; +NvsWR6e7n@3zhf5^tn0e^u;kis(`0(Kc^jHA)&`+#ZkK2I^?=TEm;X@=GT9OfffFdKL?5#BNQud`B<- +)`h-lPL_aEA+iBU?c!t3i#gyP!mPLG|xJW=>)oU}`-E{&8tKfOR&gZ*0~XS}ri+ +;UV^55D5nj@011h&x96n?KJVy2C4IE)x#E|HHac?MHQ>3;de~T1`r**u>9(aFedTckwS*W)hus0*f16 +u_J&bs?7ASW$Mdm@u|9}%gm%6PRMeKhR}n?PRPD10q3n!35Z}>-AV-i@;W86=! +gDCfcwIGqYRd0Zs<+P{q_oXv7Q~c*u9yuPbGNiXZv=?WzQd!#=aqQP(F5-W=NbEBYukz +Yy*2%Hk91gyM2r0K&-`L5D0-Hs~9q@fOLb3K5|EK8%hUyslaNGHs2|j#QZDUY;c3BPB*2x-nQX;%0jH +WmU9rdel3F=o^r8gg9#C;YAKH^ocFoT%=;TfrI($bq6Fx8#m(0P1FlvNy_>iIgMqpC||Qz)sr=I{sN5i&^8x*wrer2fGW?`QD=SZ2nF**MNbmNZ +Oe9L<5weAzG~*q}!}fq_%kdUf4~w4RCfn15ep5kUvBS>pP)xyAaZ-BZ?CeyQk0O-iMFNv+3KK>(zQMb +G1QYwGxe#_v$X-a|*Afn!n6uEVlo%Smul@D5au9(q8iRS@;?qZw_d`lRt +cW6ufxY0;|45nE^D>PNX9$0JnIvL&Rtu`=98WDu3u%{Bq(!8yXx#{|NHn%NJ-(D>=H;()QR90&Q|G2$ +-Z_2s-kdhF@I(ed{jE(%g~WF!eYPw+ir9X$5%3k$?Q7r}cDT3-?-D&ofSw{Y)3ap3RV371O8g^CP$;6 +?G}Kejs0&_fIZIS?eWM@22kTkWzo-$Kd+fgpyG^*$)uFqkL?z{4A2HKM2^6HEPe?!qS{B{S5&VNC_D5p} +MuXAgDhhFk(N6gEkeE}X6Z#?N@*fz4 +k0+XW3w9kY=nm(|T+y>+g-dMnLxH +=mJ0$is*maO-(D9awPs|&R`94$to;4;m$;Vz=!$$n8CxGrcS7Kc)RDVO3+v{G;U<6Ov5lTiD#!z2M=k +H{Eh(07LPe7s)aMB5W^B%MYF<na>^l2mJT(6R%&Z=(sn|bla~Pjs`6vgsp?B)h9b7jQ-%IXRJq{Mz +;Rchk)JISp#Q=y(x9h7>f3X*IP&)L!M!LBKW~?*#IZE}H@0*T_>QNCrGSJu{mT6maJ7Ug;Pi%=f-J3B +ILDOKBH?`KMm$_N2?VY(X +=KR`y{3_7I`Bp4gxGLS!FZ;fAKDsM=4qlX%96DtSBk6w??)>o<2Frl#ReV=u7F^0>+!F0)JtrbC@|?I +iXQK750-FzlL-_6}xXP_x9^8igVBHWV~ka0MZGxbOxM-5%VwG;cOm?q-p^lYqNzL(O{>hewFQUMe;>l?>1M5)VJ+4a`Ei*v-m#daRB)H&FlBmDDI@jrzOY}ck0+~=K;l +(w#oI(tXXgy^q}5rLDFnO%A~5+?{cQmeu!>-1*`V%;d+-fH~cKpRXW?y8xznP?6B)bw@_f2C1Dc4yWG +nB#yDQvl9hszJMqDnlG|Dp)LUX7tSZ^w)y)lcp^#lwVQHKsSZS~1vpKdPfQ7>@Dr{5at|TNWPOlG`y2 +2t8Kk#o?l9-D`o#X*TsVA#$M^5iCpeIm1M2k6PX}shPCH#E`c>abulp^yok24ySb)Lif4B8ZeOYxkor +QqtvuQ~3pBYdc&&))`R{Xy{I<o1YsfobEAB>ELid}7E=ES5feJEy({ +EUqwz49%5Wg@B%BqS(8z7Ju~DKJI<&7Y_mg1)$QVo=x9*nYnFa6jy@sK`U~@9?{Z|Y{sNvQ|7{Q(uKcR3W6!y`8nl|{xN1(WNu~C)%!N7vw2x#K+$G2}^U%s +~{7L|iLsL?OPy*1nx3Kx$1n_;1ive-d${>Yi%aQ{HzqINn{4nyp$epA$CA3or!t$RpDc#s%Z)L!n(W* +fQzKP*wBtVD3MlR`|1opLUn<=!i{Yz_vI;Dx0Pg7@GE5JjLhw!Vo=Tj8Ue8wp5=IapZ-Tfr<_+fEalqLE6!YYFwin@~AXw;q5+de)w*1<%R^YbVs4ni7_%}6t2&u_Z +57*BnMG=slBQ&aJoh&^$%*cMVASV6hQ1M`%AMDz2Q9#N*__65yA9`+cHF~1RYV59k6qGz9(j&;Y62l~UEEqysUs$lkiS&-m|q2f&cj_pWn5cBYN{Jv +Mi|MJfqWuGlfkT@Lzy?|H_e;TMe^WiSz*b)<9hQ+@RZL_@fu>L#-i(43L6RMX7`n5#PKl!MH#3T#-!~ +yRS-Cz{6cfcq6qaNMyU3S=ug-Ol%*bW>0Ttj@@ttt31L8SYaKIW2 +b!i=H49qki*t8^0gT6MI8)P){1d=7n_*4tR*n?u<_^^fi1Z~X;_O&1+?EmBjmt@So1Z6h=+rY4J8;4b ++CEgM55c-8rado40+(B{9r{5@#@&6BF=1afKH*;o`ceyxp85D~D4Nyx11QY-O00;n+tx-`+978Iz2LJ +$q7XSbr0001RX>c!Jc4cm4Z*nhna%^mAVlyvtWpQ<7b963ndBs>;Z{s!=e)q39&_38sHJXRM83-0ZCT +#*Vlc1Ag9|i-Pw&<9RB&rk@#~q}QtV9~A-L=r`QJeTiWsIAdCEtlKc)9mTz;PoaGRYk)WGrj&SW>QDR6!7q+5hX`r+!~YM%V=?rWVM{WYB^xe4g|{r(+u +{9T}IW8@$^i*SGU2@2f*#Q!cHF0bDZKZxwTDvAT)ChfT=CS_@_vWzmVpQtWbzJ`uvX>@6nu(I4@*MT1JH1=)4dP;jyZwh6V$keaW5Ofzb_= +sW{?;8a)kP)|!Wx^J7K8mlj|%Y`z~oDrsg1JPAqipaZhD+sw#uB-*QlXN6jKEL@P!$~*Sq_No4b#nqS +uL!hb$tRNVjOpD2)6VVM4fSQ|MvoKi` +Gcu@ue$`i)^(8zbBua+_Oy2o^99kr=we-2BQ`d?H$s6hAGN({bD~VIjM1i3%Q@lFr%(A}eVh$bF(hfK +gHNo{a5;Rg4C#GAtB`8jT$^-r=bd#uZ@i=0tjtFAA>AlCG#k|Q=*y>l&!KH;;NLCCkGwyO_2Vkw=3`D1*8-?+-o_gQ95 +dob^O>O_H9BpmNue5(Qw;wdds<7SIX9cixT1wbs&>eSH}OutRP)myX^3Iwbf2Y2HyHtK^@Sh|T`@iF6#z +eLMW01G^WvT~83Ocm~!aAzBet+d6Yq`?%lA6!tx7U1E}UGtN$Msx2u%X8nfl>MBpa5OthH4mJXIaMjP +hjTY^)*OPgmKU#A+>sfF>@Wv2B88DZ=Ij88~5q;CO>9b~PZ+V|uZ9yFP^z5t^<83+&N%$AaXrC~Ddm% +ky`9H)$w#}cX;c*A*Sr`!i!+CqP8Z`!Fn87&$gY%g8?gZ)NcSo4^G?=`33|x6(Q!XL?h}YMu6o*WUbi +B@@E?Vv(_{fsb9rufSbSdM~B!QgWo-JxvF$FxDN>>Trzq}i1=BLA5JB!_hQ$Q&HuGMKPt*eA=4A+OlF +vy79hbud+;3HA#Laehx$8NEe{=|lrqxIcI +ZFfEKKcV!YLEuxNuka%4vo7@b+*>@!!~18E)!Zc*U{`eU@k4;(x2&M8(c~p`LE)ikXJ-6d04*k_Kuot +cw^z=bb84o+R%Xb9Fohvn`4ak$%m0huZgR1h3=)$+&mr}lRITY&>*<1~YhkAG$Xi4vi-;*Rp33)$eX- +M+rr!DPQ0-q$=OY;KL>4fxPY=VTzHY)Cl~$y)`4|c-oc3UTbuepH1QQRI +F+OM3|~Y5v^IKQAMMpjZ+9m&9H9|}d!sC7 +;&CH<$fgo50tJ1ipB|twq%(+mol{#rdwrwx= +%GjPAg5;4djjbOJt~97}y%2u~&E9pbjgEM3YwfBQ4)xI%3U9$J)B_m0Tge>y!IyeZqb2q&%JcxH&G{^*H`WJl&QVdZLjPH<|lK1x0(J+-SB?_P)h>@6aWAK2mq6uYTqH;iNvuGC!9z6j;ePw|W8N4*@+FtM569Y-L|~?;r>CcTpvl37(`O)Vz;{a}gB=0#qMFLjpAR5STxljO-tln3(Z-=Ky1J1x{-S+QEB`HDeR#r$ +5>3QV1DMA5*gRdh=)?)X8dttiW)G%YXj>%l=??#~V)_{dhXvH&~}#Fx3)*3lI`q^8`8Uq|QB`yv+yJW +M>97g;9ebz0<=g7eee-G`qRDz$4qYr<65$G9jiU*--u!d<*=2NJZ>Id|19ttLwxrl^1l_)RsK)Wu{CvpzTgMuU}=>=v&?{TBWdogN22hX0wez@VExQ8FvK=^^K4{6an4uqmU9ks(BmUNLTZOjUn3=hTl?SuFqP_HS`p4D#-x;D +IrEBM2PF-!%5AenZ8^sTI!%pC4V3cA_mGI#{21+bM)jH!BOxy~1_!FMN +>cMamqg}Hdjz+XQHi!d(h$|Sd9uCHX(PuMQkX4*zS0jBo{;Ze($)`4=us{^xhyWO3F?4}?JSQdaqI)Y +iiu(bP%b7j=lrVwUVXkWWt;snoO5F}rH~faD*Z@zNL93^&nVC*)F-sCl!d^2_(+Lp +>_9;QWnb&ckwx4p2DHm!+AlN9(o<{@5zu-+x*qB@#uJ03TbG;0stL84hx6HjY%bvm6Di~V#8vn6<00s +CV?^W}wDz&1Wwhz&m3tp#t1=@eHDdV%EHin87#vG8z5gCdULIFR6Yp7=7WipWB7m%<5zpg!#DHCWqlj +OGiN2W&?;63RUweg*_To2JE-Aie6Oevuds-$mhQ&%3wX9NQqBQYmZsyLDn)z7iB5QlguFF>H +AS%$Ncy +x;|Ara=BXdjYvEZ%*d5HqG(gJ%CktZbylT`!cH62H34b%ek9z;%F9GDX5Cs`xsq)=jsC1%Yk+BW63s6 +cQ=SJ2l0Lt(27gWs@8M?$4 +2y%R1!iveYa^=K#Y5yUk-1*rNhb1Dy*6lF@_T)J@%sq0s`)*7mdM{HWf2TF107D3Ai|?f188rO+B(!8 +lB^N9P1FJUmVxookEMx#n;?#^74^offU`y7oq`wF@9!?(-%Va$UR=LsYxxrkV^XR}Fb+OJkTS}q5+r5{q-RKRrEsD&0WIUeUi%qrio=D#Jo`%`;oS +Z{;U*hZu$kuhSXaVMzuyedONmCc>MYU$Cd^3`1Qm{_&_?U~KT%57z4-Z)lvMF$h{L4%zt3+=H7q}YKb +H6Z0pbbiYxGyDhz+3s3`qNe*l3&u{6nwMXhM%|iADXqEwO~!iz@MP*pj~|WJ!}Jb2tU1U7S9p^^*4t%X$q*aSWJq~#?jD@TMz= +Hpm8gSfWLg=;ckXk_{)1^g)z>p9qyo}tVc#?fV21QMvK_)_|Kx3VE63c+^p2mHRp)WQC06VIzd32%Bv +-;tx_OX( +?NxG16F}L`(YkoZs+&Fyc#Hw2)ZJZJSP8;B +@V3vt#Z-)KjvvW&&}Lv9N6r52jK +4P}0p`MI@3{5ECPJeKt=VLdt?j1c_u%&q3KPn%CSpt~8PyA=m8#LF^8&Vi=2)h|XQf4U}MA9&ej^poW +ZRGQ~wGRT)$?>DPhoSDZ+;;aNLd_E}${f{w)HO%5X1yLg|7^#uz;Tpz(9zM(Oc*M}EkRm~EbC+K>lqr +p#4UNVnE_qlv>^os%fPr`!?RP8|iL{$+jlQNFpC41NnOVkLE3k_pI!(>x5Ik{)lX$Hg~A&sD_r!XdjmBEA@`djuQv7gP?1gWa^-1dmD8H$HPZXre +%~oBx#23tT3)xA#aOd<-Fl0wjc(uvR}~3wi#L~9PL=bGji}5l*z%g1YCK)CApXKLsnXiZadJrW}!eQo +KqrwU@x8=Hs(Q?q5wV1DlMv%GYi+n_U;>ijx3#tCB`7oOF^1l9_iGmxYai+R`D(=QBDtAFKG#G6tblu +08E>LYM$Q&#mpcKGVY;!%}9NusAKO&$?i#Wo*9=1aNuRnUhw1f>HTr&UEQqqbWz#R?O2SnzS1X2>}0jPO%DkFaU +2RBIVdkFxa_*o-pf3uR*lT?jeRn#B|3`8?Gt|vRUNt~UVoloj?Ql0oOM%s;VwmQ2B`uJIvemKz`I +li#fnTQ9WoQh7OV0c5~XW%WDijyo1D}?!!IyX7FL6Pqzv4+2@MuX^Ak>}g6Kkcb$fh;E%Z;S0P +m?QEZILc)>M?^zuWpA}TQ}{6w{kPF^n3OI^OKG}5FM6p>1oEWUw4$Uym8tE10`m_}#$p4z3Vj!2<*k? +77vnDy4jklz$lEFOXLIpwl>{n4AHCx)e+Kq+|op +jdJf~+Tj(mN^lVeR1=FhecQl!Vky6RDFhtxz)JVjrbI#k>ODXG&y!W$wy*GVSvv8qRbj1P-8o>nNhS-A;z9 +Beas0LYAzkS^tFk#lGToOt)MgtJl3}bLP{}bm7#G%hS=$=p@g-Lpf7%c8PP4_>+h!a@;OO#3aQR?4k@ +asb(r3uw|IN?A1NJZ=A<%M&gr1t%QlOSJWd0opp8xFlogX&s}s;LoS6kqP&aBitN*3S +`shOjM`gu{R}v3mVLZ88 +w|p!YtZev*Ud?FvfHX4^^abCkft1og~=Rs!+y$LU=z^JcVKZph%DN2R*R{?8AllZL0h;KN6HYD4k-=g +0TiwTRQ@qKO*lDCL$r!{P?1L&kcs4;Wr>}*u})WO*(ceimhEwARryN>6S4 +;^KFm0cdnTyWrtH#6|(!@T>a_Ypb_k@1_a0`NEF*=8W5o_VJbNh&}&7F`Qma0?0 +BQIrbd5Ay~6}d1-ANq3nZ#C3rUT->l%gI(F*@TA)Drc>hX8hrA=$x30bgShP)_po7feGzM +Fx2imK4z6q?Pv6ELLrY5rf1IW7q|l4wO6;U@up@1QXA(E6j}(QmXb6>18_jA78zpS3hRC!$+N~$vz;U1NHU*f(v@u9{Z9O1Ot}Ko;+q-B +wLc^&+3s&q9LNM?mC0^m+CNeI;$@YX*F8Bl{M56>5y=Y1gjvYm@-$*UW;1ym5%ZIoD_}B%HK=Pdv?=r +jM^Hm|eW(^hrhD1z~?7lKB4a7wbokiMhsSk;38r}iI!#gD`%x;c=ELN27#I3;AbmQO1%4JD! +)uU-B?o|D;OP|j(d6r^55|s0!7XLw_ZW*&&uQtgMcAj-N-GQ`8wLa7VQ_wqhGU?%62f$}8s50Yr^_wq +Vf=0|=3bUuCdt4JT|2H_Nd+VgV~QWpB5o?3ea3sL +lSe+H(LF`~IUxOgD498-SlK*lZ9qV+jR>dWL*k<^UCH1l>H%C%f&d;J(&1$t*NwE}1;QElT4$rDb%aE +lq70_onO{UUfAPl3=UZKtlkPr!r_ZxU>ZY7pQ6T5Jk~l3G$f2K +2+>UwsI#pkZa|JOT{Gd5HLWXLKYk#yq=mRm5vo^^yuDDA0>u5@|d+w)XIsJ)@^sN@wn~RQy({d-Trj= +$MIvhO&Yvx3)dF6MaJbgr~H~l$E+D1A3t+ZGIz~nm6)!;O0%@y$I(YLUwXiRPKDk!&UuYwW~5Y4&|vY +?Ji;u&u*gi+)h-p5ZEci}&&-7x9wfBE^eswEUF-qpCpDBvv}Uyqcx2Q^1(a=^^+{r7`i#ST;U>|vE5< +|V1xEz#?p(!$#tgXYmNKpFf)acDhr{XL&Q=m*sC|!PzJcMBgf};gHM!U4~{t?y$x +*@Eo;v^(dG5qTabpphJCiKeJ(s#$E5}M>X>ReSO*NAM3c>{)*<-W%csyXOq#RHX7{jIxgaG2PfW>k<3 +R>NK;LnEdRv>Y3vA3z<*|A%ap5QlkraOT9Q4EWQIHl(@2%$z~(Qf)3MqZiM5?e9*hE$3YaSH)MmB|RT^!EFgIFCTb0FlSjj-J^yc_k++6C5k? +sUjzFeDTI&IhamFT$$k;9a&l~~Kvx+3eVtLLEKhd;k)ukd5_aWP1v4QvuWX(D9EJX2-ir|}O@9w>HLM +_1(?7@!W7d8sJVM-KJ^RAi1#kgriy+UcYkV^XUUJY|l;It}6 +;p!M%XIjccDfgu+IW1Lvq5E2vpO&(`&<9LqsQk-)6<{{EfwL?1o7P1S*oar-S>W0N(n#fr&9(QPwcxV +cM-r$nKVFq~w!2wZT%nX(CQa7THo6L2oKB1s)Ke(eUV!HQCT`y!Et55V|x%MY@bM +NILCzW!t`xTa6xq;=3e-z}?0CKAyZNZ*}IfOxj$Xl%WI7QgNx|T6WN8G{;&@(`;O%+m?;}AO!9-lF{e +r(1P_fg-R9XwkH%-~M?V2{YnC$AD|-(&&b+3*PE(+`reXh31K=M7tTUZz_(*WLD3P$hVYPs`h8FN3lc +odyYy+@c`g4%KQ(0nEo;s~X=&R=~enNZrcPF50q7JjmJh*Cs9TJ`fO^c=e0C_QmsC_`=do$3n}7 +f|HuK+=5RD+G`weSK`%bSb|cINJ`R%VxQ97spUw=3&oCJN5dxwcS$1{UFzHKN!d&S}rE__)5QqOWIKC +?B_%_;Q;EdLhi;uwZ1@D{L9;Q)IVTrQQmu6C0!=lhxO1^k?*Uk>hPO4@@0Wy_nUM4#(6T%ySH5gg1!b +M|_vDIJf71}75I7lqIyPy*;d)S~ZXdJy5ejtu{>dr*&s4>S +ssqDirOXx`+61F$23#Hoh7b6SS=cK^^}K(Gp1sg(Sei^Ov~f?h)H5Mj%P-RC3ni%zn);I}S&E5{qFb~ +JWj0zv((kYiXTdxjk-RG^4isP9ynPeNkg3Q`5(UBvQL^&_20EQ_mcR8|y7T2Sg7AEirjLy2KRLoN`{_ +a>w(&e~0sDIq{U=fSNt1-*gFN*x(ck$1`yqWbBmOhzu5CseY4?oR()|fJC{Io|=}j|9^4=_yP?E|2r< +43sT(!MP4mv&dM(j#V1F0<~kZyKF0;On>@O_26*eZpVeQ^zHiCM8q=gv`VOzTjww8|#+|6PP&S%R@DC +^b=4K?h6=_IX8ztqX6?RJTI}BeQ5@-`EJD|1_62&!_9(j|j|)uAVccWI=TiRm$KruT;ezd*s+HmxJPH +)w$7~tO32SHEI3zsc9kVmY^A5Q!Pu)4eOFVhqZp@);_!YBiVR?e-UEX(Y`A$uO~^Q{3AmKc;9T&)w=#hfx={g01!~;D^v@(0wKdZ8xrUFewXaq`2hYR`Q=nS#Oz30`eRR$QV*%IR +2lh89m1e7$;0O_sfT;+75W=CiqBA$ogd51R?`bP*u +{1<1i_n>b(der*Jk$o#e{5Mv<68Q%QPnE)7FI2Vixk8!Mdq>WVJdY5qpKsoBCeKdlSXI&Bb*-fBrIn> +&soqyh`!ZPWY_7_6I_XQkP&2gD8tb$(=>nWu%1PU8}3DbNCMkfSALfx=k7aor2y4~Gg; +U3&NraH03kOp*ASAOsI3zPBSzW`860|XQR000O8ldVxv000000ssI200000CjbBdaA|NaUv_0~WN&gW +b#iQMX<{=kV{dMBa%o~OUtei%X>?y-E^v7R08mQ<1QY-O00;n+tx-`bgXtBu0RRBK0{{Rq0001RX>c! +Jc4cm4Z*nhna%^mAVlyveZ*FvQX<{#5VQ_F|Zf9w3WnX1(c4=~NZZ2?n#gjp6+%OP@@BS5oF5SRlLoR +_p4hwNY4&4N2+a5|WiZpAB${Hb!o$kM{WOf^88+xs89*@3xdT%U*D0aPxFpwTCf)6wqjp-ewi@*dL85 +INf2pjLAcAaqu=q3}$4d}QmM1mA%@Dvy*7Db_P4<@$Kdz{->7uN-(Cm@f(A;*|FEsw=F4{X@VOR0;N} +K|KX6a(@=Cnr@>i1YqW*xCO?#VlHoEMPS2JK1{aiO+>!y8vyxV=-G__d6@fsIpx@L;})o{NOw>Y6CpS +Q6Ri=8>&rvD)Ae$Hv}>-Z=1QY-O00;n+tx-|nR;)W_3;+NcD +*yl}0001RX>c!Jc4cm4Z*nhna%^mAVlyveZ*FvQX<{#7aByXAXK8L_E^v9ZT5WUNxDo!&Ux6xfW9dew +lgl?xbsb;gF(-LTrKXs;bC!x#cB0lhNwS=MV2#lkUhJtM@!*pb!aa4(Za +fZ9Py&-G1<7Ec6W<;i}WYV!hYm&u)-*l!ZST32rtY-Ezu3+GR>)!m#e-PSLA^=J12MCX~30NQX!jjw%M?>;d=mUiBWkVDX-JEkPR(Ubg?A4D7W}mX`(_07% +1K_1yn{}o*&}qyHGv~=BW#sJ3;?#BgVtRimVTWm2{nh0Sv5w6|lb3&xGbukR9FkypCR|!R9qj)c{U;E +)vXgfC$97$Ne0*pZnYq54fU|gMw)uAQm?0#orJ*n9s`2;>d0(lo8AlbHE3YE&5&%S+SIF4hmfxkpnZ- +9gM0hy;^~=@qrfkYGrekipp}I>}k!xR7`f^iJ$jZ*U6W=>*Vg!n?GMK?~)&v%i9k(Kafju*3>OKi=x* +tx!E9pg+GNhvg*J^-sS9(1LNq)Cft}A7hsyX;%xn{asa?6qjeTp-v=&742iZO3U;F0@NHWw!xIPvWgS +2b=*w$S7OZTD(>snPP+=mKi<4y2Hek{uu?d&1rO4ZcCHi}0hPkj$x!7(o(9G8dT9@!uYJPEC(exf9l( +FQGaUu5bq#+A$YU%PijQuKj8QE#vx +pt|gesR5UxgD39USf%Jl8<*UuVWqa_UiMG-g`z8DwBTh@GlN2oSQQqlrY0>+9I8oRo8o6`o +;Z(-ar^;~2MZw2(n=P7xn&d(?3*y0zu#!Nv}-+uSd&R#%o +w92OpNQVKgIRV-kbO?SvIA=*cowq#+9Cy7Wm%Wb0pHF6J`FHptDAK+l&#Qv{PCP>>nQ;K>g;q{YzIVZ +XxCsK|a_qlX-Rf_%J2wIIHEo|Bq#EJo$9UIt!VK?~Mp)o=ZxsmeUvQ=VfEiajEmQ=5hrm9mFUfG`KN8 +p*G7w9Tdkv2m^;cY0oP7|cV}T5Y?w +G~%($$xtW+gWO;w(CX9e^5)Y|cg71pu!B(jpa2Fb1r*ME9x=^18JU@yh)O&6Hc; +xGw=FKz%Hxh0<%Cjis^~7{^*|OJOfB4DXSa4!N6gQC6vgH!~!a@9J<$DFAnWGg2EDqkn)(i}4{`X5zLs(uBBMbF9^L$;D=daLoxM3frjl+MLm(;$~fl +PrB9&>TQ$_vauvbm_)22upHrWgHf*RCn@crp+89!u~Ym1npxA;%7H3T75wvjBbZ7?7a&j17kq`|yHE{ +h=tF(Gl7wC+?P(ON_LZwZbL&fwHsA7iJ!5;Lp=JXEQa@EY% +?A&J91MKk|5I}Wrt|#itpk{VLfc63s`?2WONhS!-?#o(ahhBs~CmYmE!?l+IO!KoaU5~YLvb_0t{pri +HBmDMTn^%+j2b&@KYl7dD8xv?qtcR!O@7#&t!O`_d_M^85i6zxY(9dQUq?pBS@DB^}GI-NKNzB6(WeY ++FzgYc0%uj*E?WdxLT+nQR9vHsWPFwVS*Y}b6i+KL$zlLN~sSO*L62mB4DBujq`sP`T#~IqAPda3lfk +?0uWsA;dZc|}!F*Sc@!`Y+dt2%Qi>7Yuz~ +X^2AQIo_+n@Y0nPg>ZsbVkABmI<7uVsp8KR7O)%+B;(u+#OfcOa+Kqxvub1Q-K+rd~P!e`bdu+85FYo +IN=jBOL${LXbq@hf9bna@Zt7XG-*puJ|`4O@(w3-(Be;SnHBo}%!+b?o~NU^S^y(!Z!2q4e~uR|}qAa +8aoy;r+yw~*!E58C4u#noPPY9dM})w3g6<=9?g2%|bYmiNR9Z6je%-9nSFAg^D(9@68-?A#V)^8R``i +3T)-7Nm1iuNRGZnbr(9CgTadTg@dbE#@K+dQK9&9#XY(l+SD!<~sHQdyWgO!0==@IaPnJyF8m=+Z*UR +G`W>f=8RPdpi;r?Fb$>+7s$mn&e*!$PA8v@9JsyvMw0XIF)=u+_kv-_$&tVW-4)^)=k)2*-3B8bwDkV +xSX0=SVVq*T-^7n;CXX==bJfY!7xrPC%x(|N-*KYxTxdT*PSkk_K>7gN=$&YDomKSp03I#6nCXsZc2s +J7By0LfXl!mnKad8-`OGtz$`L-e0)au$)Q{&&&cL!UC9Mc5>LBjR~Nm=v +3@H39iSWI*LxU7afOZZ@)7n_$oY~0L`z$@;D@C!KU>{vQh^IPv{n0j_e3~t%1Ku*4N%uEwb*qU^?rUY +UpIMR-cN$zq$qxVi$pD%o{u%BCJeBhG~zsjVK^NrLc88%*ncKRM*twhCLL3Qtb6rm7A^I69?3I$OPz3 +9MK|FEjB*IV4F@1^|_^<%)&$u+71~)6*h`YhSexz`S^l=8!q;Xe}+IyxncDa<+kL$;GMmGX7<`s9b8* +ao=L0B+#{CI;IrloFCgyCjpqZN_Lpa9bk(T +ZW{%()1|xU;-BC?e4z1=P(KFxS9VO#s6>W3=pyyj66esm9j^Vuym5P2U)?jhP(Qe0S{fogfm8WT&H*uKt@rD3@YhusS=61c=;LyZS#0g#x*lQBCA_Rtend-Y!|NStbp138kpA%c|Ed+g +=Q@1EI5Dhlm&>0;$pQ_m&j~H~^s&iPPf>~LlI|Q*x9671_`h7;{`Vr???%_Fb__7BXds3~DGCZ#yT!n +cKb=0a?JK7`aI}H3KK*FIx9IVkbJJwzc|3YLIbP=}mvmj90dV4O8_fY=#vAy3{fH4_AuQD$6j|3cOM$ +fWRu`Tfq*2t+&@SrOWPa&}TuV_u70mT|U0*a>rVweZr6;t$rT;&`Jux@gt{zb;{Hya4sf`WhGAF0}P& +QtY!KaTfI8=AtVB=Uc_2!0(hiG7M_?01e|pXPop34^!|&7ZJlk1iUtnn!1bWW$L`u`lEkXDiz1KTt~p +1QY-O00;n+tx-_}i?Yq31poj*5C8xt0001RX>c!Jc4cm4Z*nhna%^mAVlyveZ*FvQX<{#KbZl*KZ*Oc +aaCyyF-*4MC5PtVx!Knx!cdBBq>x%(nFfuOmzEL0L`<>|vN+ERn +~%kKf&Wq&&|X-K?(P6I!Z0F>KaEt*x6jASu>@d>qTMM48C2hKHgpMJcn2@o`1xRHYNp)4|E4Il!1Vh|D`6eiY?2!+nf#E>5YGL{r?4>7T$co{b3pG$Z=|Dl1aRFtQ{xCxa~UoIGJF^grKfi<)J +fwc4pkW9!pA$as%F5w54VChO4zw#YxrnTjG`Lb?q|DM19Jr~(rdeFx+v6+4N4FAtS|s^Pkj^{+N33}F ++jlLWcFzr7|12f<^d2!xG~RB4k!aD`xPf$2Slts{*sRSZR}}ZD;aKdO^>{sn{nh_FSqH!%cIwGviVFxCg +4m7L)O}*Oj0*Bi=iJ;?*K$PvCuP&5@+YF4671K*wCLzl>6Nj*%=JtE#GAIidny7hP`$O^$TR*ZY`vJ0 +e;W?Yn+*(7zyekS8RE9aqfiRR&U`z#eaK-64O}piC-|XL4pFJd6b(v`7y}H_OWptEx_bikl_8~0cU>+Q;S +tKInHXE0kYL@KIEgW1B?tL>P5M#3b|zwe{Jaf{~rD-x=xiMbBL@X>2SCH{0W8TV3u3;O&tO)p>z0`eH +&xIF<(*CUO*J_QtssctpX`f>jB%racz{NM|8L?kZ7H$etnvwNbY +%=CUt;>R7~yhvD~rXj+;?TmIHgdp$Oa9T0E){Ne^zW1!C^sSmbcm|3sX*_O!l>< +xBI(=uM);JI*e{btrFKDrqi;bEyk_5BITkpAVD7{ysD!62A-pTn2Jp5|C3qF-sVx}|-Gqu>;8q|ohu_Mc=X9yQ!d^vuCJFjm(OU*fSwb=Vr(+GYrMOXwYXosUEZv&E}m7b +0p#|e4&3uSXpZOOJ)HpbV`*(5|1ZVyzY)FD%KL9caJ-(O4m#zFt<_;9Kh4Q6lgXfm9SdyaUnkRH6CXF +8R|}Vb&$ij>6wF8^I9_GiYcNVlbKmvG-|c1ZlUXSn$9A&~*LByPV%urYzRsTDu)9SNM2i=ACimbX6M! +Fpxv7ip@`-h%^}OpC^L^63Wtcjibnm^()P^Tt=cWda8{=pcBMSy{{@NW%m_WGml_(ucw-Ep@JT-v&MFUiM7aI@i5pu7329GGNc)%y4BmYFjjDm(xMsXF)jx{VH_t&P?!QK@_~p5(LS@kSPx^m9RF6?c{s^*gqZsKqR+$DV8$KS6k+-lPprY`jN;=naq8Q+fTB;0;fTel_JnkGbL{{31gR$hLE4tVl{8RYfV*$uE31>#apxrC{pdQDMo#Y|8|QMzS(lb +5^efqj{bpcVNeA;eu5KEc<^!g-2Q!M9)EUrl>ptGVPwfr@Zq7V`>lnc4Z>{*V~DSX7ZQc +9RJtusJ{w-S%;-R2a+)g`X;#OS^7Piq8DDi#n^`aA +;ftfFL*lCF8_aoR$PW)q<8>Qfvo%6jhEeGEQZ7)`mC>9LT^e>?089)<;FoBNW!D^{QH0%>{!6>{w!sv8YQjhq1mTtPTn`f`lXE^#sAOidTbFcRTV +0&%{7=Ycm>*c;NOBH^2lWM1qpbBgmj&tMhw-aTEv>1!a9B +_IHvb67S#M-Q3@t-&_R{I!|5K#ea`)-Ujc-_wQ~lhBO1c$DQza(wsuC?2LbaycZb2Ap}Ve=7JdPY{dS +yKcL;ifH;f=p2O(Ao#+DH6`S|WWxW2g_H;v+_@!jO|XBrqbVQ+5lCpXt;SDo;;i@ +op!{%zOj<=Nyam|OxC1Q;Mbv{1_ru%?-`oWW*VdfwxZJq)O#dKj`tjMsam;X^90F1*12UDh}!vzLzGb=`>Z*B+Aa}*oWeSHxbr`-D$Bqr|72E;HmVhoHvwuQ{3PcI#-Gbd%4VY37h`z=*3nJ8;$vpQ_k9P*bK`x#*W5 +GiJEYBw64_$Ra9(%kSdOj1nr5lW;n6cQ#vAILv_Zqh%SpV)-3P=*0Sf@9PEP!GZO051bOJAh~wP;LpC +2_{wpOh@rcolD9vfeO$OfMkg97VU0a% +T0{8~9?k5LO6b^IC85)jo3BYL6hZ$~va2udL;{tqg!l6bcKpAck +V_Cv#9dlKe5kSn`$d3Xs>TCEj17!n=jtftI2PCHKAWCTCO{TcMn3zPWL$||h0g-`y4`+IfWakDI;Hi`vUr;O!l{W^)}2L +!Dr$TKEw2ehHinAC9tH-eId@r$72O-`<&>4o$WWm+T7q4rMtX)ng-5BUSYeL{u@w(Vo@2Mi*a>~1bOY +82)H<#$x%Pyg9|gF;2K%-vk@6x0YbVX%idvctz28cK2IsR02oq=q->yoFO{tsMeOa=c8?Kj8uKU|G5dM;||j1gCl`UVy@+5|eVUkKD~f&HS%?c?{jEn{Dh(gP`~rD}2`KBkt +Iz6sR*(>_WTNpa$_S^{6HCA6e=4A@|y@!hcQP)Z!809tGdUk5SB_!a{DK;GLSJ9d=hD8^U5?Dea1ar8 +r9t=OQCqBZXN1q9w8OiN1gy_|E{`XRuyBK9B2UBk@nD%72^AzJZcg26+d60kzWb9lA^UAsUlC%VNJ7S +4!tSnE3Uz%K8)f-iGk0zP(jJ1NM@u^();Vk%$D1ni-(54i~Yj=X5W5wp;K3)b|-A=9iUy-*$u|Cc;kL +13j;x9a5QQXOR=bwdUzgNbi+Y86IO6eJ)AndFdhVrSWQU-X$lE$1cXgDBu!G2Y_a;lyoLdaeHF(BYHv +3Y#y%Ze@Dg3rK=U7t^zAX465RofQww;0ds)praZHeO^+&EHtu3SfG9&vSk1vaukbgvJZAoG*q!cRMp9 +=zb6}|yvXm)6b3#uwA_;ng0@-iwJ0w|g=bW?^sfcjDOiZ*ov$5MVwecuYoB3k|{-m~{TjOHr +&^V+rNz`l-5I4DH+QNWF5WY%61`Pra5;8FsswmMrhm%g=sggR2`Uv|2r19$X$Wx~?b +t(b7*O57lNGSAd2wu83QtGA*l!+N913n_`x*Wl~C8x}u+60hUf*}Mk?2w*nfx|2C2z-#rF0j(2T@wnA +P|m}pl3OIw6c&IH2!Z)F-*%KA0pwdr8Q|Gxx)@^prD+=KBdsAF`l5IO87`MR4!BqpBkb}y$p&3ZsVC# +6XCInC`k-v2(YFRWmO{{u*UgDdalw@1)_9Z(tgLNo&G3(NGC|xAc9K+wU|$2;yy9Hs*tev+G!(2&pzw +bKtW`4N>OzJUG=vPGEl}tZQMA{@G`NG6-?QUps^0~4G-4;ah!oEqvuVJvg2YK4J!%Vh70M;p+pAX(8~ +o-FxKoG0E)t@4n!5K1SsP8eqG=paZHsfr8^`8wmN%C%{B#-z`UCfI2{wY7;pk+DonnvY888U}{7;C&nH|88>is@bnih#T~8EQLPz{9HCLIvZ~5hY%=idQS(UZZhStT{4~A@rtd!7 +U)+4W{{LX<5cwZr|G48}+)X@2XX;&VLWmt0O(np3j=KySz5~qZBY1Dnr416Wf#~1UrI|3sI}TFaD8jK +AI~e`JbGUQ7x7!%qdgp42*WB=iO?d=)eO#=-wOCkT22h#{B?m;c&ukS}czOp=%5M6^7FTxwzL9m$9U`>Yy78jTkDWTEi2`b`sr{!;mk7dPF99(y8 +z0_Bn|L-rbdi`z`?5S#bPGbWMRke+ax$Pj0<^$x2dLX1N(?)_#GCu*UIS7|5uyYuBi=nVDNrnl2!aE@ +}CG-^-^6y!_hTVZ)w`Ck5ZIj8qnF9n}8}cIfK7r*jR2&#*dz=vbVMg?2wBHJ~?Pl-8H^t9d|35E$pT& +-MJ&8#NpZmxmL>hf?ZDj{C~;oKxM4Y%b0)1PM+Zpt+K% +0YiJlmx6hdL*#+GfVfH!Vfn9%Zf^Ve(ZiDSkY!zrroF`c*x9D=~5mh*jnDkj}*Y0JTrlzgx#8~amIJ+ +~8_+k%xHMB!R=Y-~&u^(6Kys>s`{Bm+NzW@1l9Gp$BAwO`Mx(?32H``shE#E(7p6B)P+P=uJ$bh&& +XchSmYz?BDO6_Y~JAEbkJ7M9Pg|?%lrkbu#eVj6zX)LoDQ+Rwe6>{(#qA><%!bekOm=&q{=>c}iN-h^ ++#7)n9=k~#DR?}%$Abix#O;h~gk$XG$>6VjmfVO7Mdp!BsxyNY+KewzQD!;UDa~h#Ga1L72gx;!l`bP +9qox0=PXdnGS9a@!J%b7-V$otJw8ijtMY>>-NL_%&JMT1kHtT-U-z0zlM{3xnga5fduh0y$02(aoLW3xUWe@KI}#u{#k +UqA-YKj_U=@Iyxjqo^8VKv$5=WgU^>a7;5ui%*>!DZ#wha4~rh2FGW=HeQoVYoAfAq}Ztq;Fj7LgeL|{#~S*D6=?@W^ctq6o|0cu4V3ZI=9Ox7pvf2=3*TO1+-h8Bta29NO5~L +6~RLg#lb9=qDU(MWiGQ^qzUv3$5XM1ie*|BqFBlfyb|d`zyRrL9mO*91dRay1&N4Oh)j?GJ~Ai(Pcf5 +WfPJ8^xY+`nMBD`7eQ+l`qhv0>V8>PZ5G8kr0JKh55}*TW52xOnlQcV7Mt4h@2|(#VW<3~XPQd1J5tM +Nu#%q~Or&pa~82~kw(K;u573u&zNedAMYnmfqK2LEh1s{=zr%AjOn_!C=WHL|V2MOSKQt;>wX~p1}Ff +h>|E@Y<22p!5If{8&}#B80VFxE<=8Wf$X1p`ES)NIU=WWcD;l3p<51Wef^9(1gLtjfHgS!MD+$|#c#G +lJq}-qAhR(OT0Wh~so4=R8TbqmV!|=&$5Ob%~Nf0+Z&<8fXsFkJ2&+a>Z$KcLFq6In#%pYW`jaX}e6< +lBSL9xf$MwZ@zvD42okRA7oOLfYnwI$%P_$UP_kc94J_b%`ys?oi%U`eh2aZ@iSQ<_S8O1lOl^|AVc# +qmY#T5BHF}c-7_B8OpN&b(AeMxx|b8N#T=*;%I};77ev%h6Kj$f>xq6MW +CHpIBnFo2jOeOGa2c(L%dYzom0kHwqUr{A2w|Gup!DZWR+{mW(szk7)+{>1%mK*B( +5)%r#O0O)tXfkMuEVv$MGJK-|O?tuM(Wsq#e8pw)NofScpAOQk`6#@=SYFhD&ViRPHaggU}7zF?mR9I +N9VDSXB>=v+obJ0cS98Fb^qvIZdgTdx9i1muluPb>5Z3j{lBAgyH3geQNgMJ-HtB6NoXaIr;q_tR&@a +>^!M+^K{(iGR_EROPJPk;oWP?iOXJw7A`FlsQTKcuMEfw%xAf;lJ=(^x76nj)d$UYeWR4J0H +7g+5qRbK)nx$c$0tsnkT3<>%FH%&5I8Bh9d4#jm5`YRTn1KM%yjT`M4+7dsm!o#8xvgI1OHg7cdQ3ox +D}$$KOf5q+ax{$*@B^17j_Xd@Q+RwBis|_B_H%zS6r-uQnT&rJT?{Y8QGW`5AN9oN(d~!vr&|FnCjIN +%AI11m^sj#ue;r+4^u+MrZYIO&RE#GCZuIfyYBYrBqwB%dr;E|`d+`qXUXO3Z)#&5s769LlX;1}jG@K +&9kHg8}1N_;4H@X_#{>Xg09Nk_c?91^)^uyZ5AcVWe&}Ca;cx`6{|RO?L0rXPeDmXE^!~%G_%Ob@7{bGML%^{A?rO-x!2}0a{n5vsxafcEzaLVsF ++k#ZVpGOceEu-R$2e{u{u|tm#@9Hd!T9=i0)O^k#*^Es`{&Vg*c1K9XbLFvG$&&i21yLP#smoZUJn@( +lHcYMG{L_=O@}s47sLJ)z?>ogvxC<;0%vZKfgJn(qC{WG_ba0?Bcm#P{=3sr&r!+CF9qnc>Ir!Z`Y)M +fNvi)yb8j6KOZ{iQ1S=g^f2HBQEULfq>P4{xZHr1kKiJ6NK9h?MEF!a->$c?VLV7P{)_(mVk*Ra|FT)K4Bc=L{Y=DK?NUX2^yQD8nhEHs1ez=3|t=oz`Qb|7w}tUQGhcVp-T#lvNQ +<6h=KVcmn2Cy;G(^ZV*oZ!L8U>A10oqm_Y!`uJrW&E<*V}UE|xAT4gv@a{LZjImrz-0B0wT(&J($?Q6 +M9vv13mfIUz;>>8_MH#C$K{*Uy#13$8klCdkNVW51%v%8;Tn1R5o{igF$WJlA=eye!amMl>kELL%pX* +uc64OQw+2G|xGNViyhROAhc|3N3?N*;+8Kh!Xsq0@(^3U93|uql#Dv4#SPq1`hND6xdt0gn+@p&pKU~ +aX_9{4%|;d>0-#P{+z?6S@pUG=P@u94Ax^aAyy@LKrRO8i^?qrjwFJ#BBO#_mI}8V=ao?WnI;SHehLm +v(f?D1pNWsI0JBX?<6WB0&qTC9hAe}cjV|@!{Y!8NGjQ0WkYgzzIH0~s02)Q3GD8g$AZ4^;i9WQ~@xw +~We9-VYtU{&iz0dIP4?$eYi)zXcH8>r7!sxs<8Qv8%RVr#fM`z18b)eK71zBAUTIjBrv};*2V*x5qg$9WjOu@$fXm~*yBZJvIvxG{5 +N2@t?c49Z?il1xONfXeMt%rlun9=FT0dP3FZ-XaZvDaN28{fak(XcA0Y%CbC8huhP2fW`hX7ZE(V8+C +B~rsPm*!lB%vPX}K}5PiWozdM#0I=ajHEHP=F$D>Cz#6=bve7jrg`-syz_^Hiw{Hm|FrL;*W&kwQ~%9 +3-}>(dAARt|VB)=}bUl6Zo$d-y_II5;cg)FiM>LQH&lUcA^V+`|U;TLc_VqVUL;0!QpE=*Z*KGBOgLi +}HaMkGgWNA?So{Fu}^@&n+=p1)-e4^|fI=@{VpCmDl5B8jyJ#${qnbqNKD0KGGt6-ro;l081s^0oQqpNo+PG5W9ebw>7IWE#LjeQ7f +R#5`M&lfO}|H%ncH00G30O*V)g;(#7?{zIoeY+!rdkKpg&;L~JyJLz9fZ!lA-@+&ro-R+pBZFwA*sGkxDLRJQ4Q5Vm); +%reS;n^=OZ29FeTDGNl_EBx_9@6LrOTg{2JFJ}_1oqVmvJg=bR{@!Fb9p2(va$nwzZiek7eUzO2nJ(6_y5S0{>2S +y#OqFWL&+nRR=wQ|Q8Fww-VItR5nAH4r$6)Y~{=rReo42jXUGvaUbhaw>Wd#z5><+%y3@GzU+2wzf{U +zYfHo)L?ab*)&;+!(boVQP8ftxk||BUc#TgV&(45sT&6KpOAXr**KR*@ukeo%BRuG&D4|E~6%xORx;r +iR};xcq}HHjVL*HQ8=&Wq+6|rqzQ-b7D)g54EnXn>1CJ{!x1_5UK)dE8ZE2!E93nj^0n?J(khS711Iu +c}FmlFY^|7s}iEa2i&~E-Le!^%qq&O5;GDktc&nk&4`lBpK6rPYN7n!ZS07?ZtH&~ZuUX`h((qd~oi_k)*nR!y`Csp?N<(y(wL6)Xe=R>c +(69(*7$?&o@5RSFA0u!s@&wO4YLVr3^*8H;Y5V{&@DGgw1L{){ubsw<|RH3@Y2hmWTB-Zk0THp{z1DGlyquQV&tX7Y=N4&ZfMt +X6p?!g@rOP5{uAJS-UqJ}NO--Y)fo6#B}m=2M_;Y96!8RFLNe3=dMy1{GZ&Hbe=dDMcr3KCclSuOEoV +tjCT*{MN@hQRA3P0LzWPznWvCx>SWW|Hg5u(%jjGm%T3T9~I|^oKDe(ke*q@eMIrm}NcKzOK<(MkoZL +5`V5_uVA@25#PczQ&nMW&=kNSRfANopU^3UWoW9@Ss1VfNHQ0VhChK|GB9e6>Fd+Jp9IZFN~MfHE)A73s-&Ds$u!p +@(NCk~=yap^!rLfX5B;f?{iR#wp0qzpub)tE|heD0oy=b=5gDbaXJ2g%1*}5L;3CeH+;ni7@AAdKv?I +JjJ3e@d{?0bgi1Ks +Xxad-O4-YbXQ8^cFJ}4!jWPRa7oJpGj0XxE|Jpqq|vVV$jdIJ_d_a3q1Bj8AJzIbeCY +kvr`v?GI0+$=e^n|4f1=GjY#<~WrWe3iyFGYW{vx-gr6j&LL9CFwq>S)JU@dR$(t9a7AR!6X +_XZcHo?T%b?>V-s*vI2md)kvefS$ctUS(fn}~|v9rq%6KQA=G))=|SK~dE?~5qG1o@dO2s?zpJ}Bf3E ++-QG429QmBgJN@h@F1gUbrUn4c)DEhdPNIr|CT(QVt4r9)&0g4yX|ml_B`hVBxI#8T@gJqAWgrO4Oks +Iqx0b>n2M>Y4))808EZ~oFnCP-Zher^=dA@1`UtGT8@-_MW4?^{r?02)pS2Fm# +|xR>>iG +K=a^R3{vst)vLFs;)D)#EvhQvAjZjUn@6lrlni*}MpJe>NE#Oa;^T!24uub)*?p!2 +A3)rSHdFN^^_O+ZGADohKMA{CV)#aHS;BQH#}ZfR=8B#!cJ7;>^J5Pjj9_Yeb0TUYbGPRn+s(~ziRJ@ +G&%fa>ZVmBr%Zy90bZA|86M7b%wGTmy`z5wj`Uz!u|d=b`QJJk?*r(_Mwi#poQ2lSebNI&M$u2L>!!m +7F*MyG6gF823VjFub`Mv2Z +_=W<65f{F{wxPGS>yo*&+NtaxVDcAVedTBAAX7_hUzi~1p>h)n3y}FwD`3uNmIeT72*fy@4R5H9dn-u +m&Q%|&RJhj{+;6ziqccXS(G_ZrZ1}3HhYB-sD2)NUT)V_Mx)p@OGKb0?RN0GfPnJFH_*|2Fb0{E=hhmA7n{Ca?w)RI7MM>E#D +#e^q`;Z4EZ1fM;f>r?=CMT2B-GNYr59UUnYN%NEf^J?qfq<#d_3HW(4DTD@LYakp?^KZ@p7fA%|taDt|sJ7kTtI1Fx!jSr;!;)Z(l9Hh$Yxz3NU>0Ye7 +@)c#Sk(%9{zYMJ=;PiHlVpIyFC&7y@oL#}2(@DqY?j^@Ld&I^In8tS4o;MZ_`=^aM8suagEUo=R2Wuk +g_PM#QJWvu+&RpH!Em4w#>rtZ4;8gnKf_H$nkQbECjYro!(#-D=~S*sF5f<0zUZK69#HwRhQ3pIFiOI +LBwNlC1%Q|RDAQXAWwI^&JOE^XQ!@l}C%!;1lm=9eFNVyf<`K?kL$wvurKSFiT$&W+OYo-TQ--dv~GD +OjehB|y(pO8VjMfQta7&?0c$_*yT$4fYC9 +c;$ejg-jg5rPot804iG2PM8sX{mO}L=y61=?8pIzop~+USOe`GK~d?x^VUjJ5EgCHFu%#_1BY!^Nw(W +Y)Elj4(KLrJ%YFIJRyjGay_Oy$@9D|}UsJP63%nBrqg~*JeARj#e21x;Vz5a$~c;T +v`T5(*(+`Weiy(gYL9m}oSqsIbN~IWDETP+n0JSYZ&(6g$y##S;hnC{|HjVJyK&Ys5$a|5;q5@RG8fMf&H*!i4X|X@A)s?z3#(*V+>2Mh@-snNpw)T4~XVowG)_A_S +5Py4Z7VLl+EKFc;L2uV@2iH9=g9g|JOq|OgU9D2u8Zb>3`F1wa9IB&F$T?s1xzv>DQbzFTD9H`|2ns$DN~fHdk(WS&pk{dpzEjpB1hJ#)s!2tgcXn8@KrkCn=K4@zb +Y}zO-b+_%9X0PHmXpoJMA}4B#jqmnu3lyV3KceB +qSGcaA$sNL5Y#ERZmxM;!WvEwIgT1Gio6z%H#^i#^(fd2em6;=!v!h4-yIxDR$O8Ux*lK5=xVLO8Dq5f}))$rmycODrta2yqhFmuuP;;Q4}BTX=& +WA_MjzN9wG*i$_TY2@!cu)^>c#2lH*YDH#Bl4lw&OJvGYO~2+W4k|OI+^SoH@|gI(uG!t>IkM-)B&#) +Z4EYY(K6(62S`GFnvay0q7ItE+y6HnR*Zdu=(qu1crc53f6?r1qab-`n6`HqKGG?~Uq +lD-!w(W*7kewoZ#KWq4oJBvM2?RWB|Pv-Vz9vZbq)y5PvnP95`>CVr +6#gu1=VTrDTQuaahGPlnEe8wb5xrrP6+UjA8Tj9lHtNF|oLGTfhK9D~A!72cjund%dje1HH`Nah#Y^j +#iQHVV@gdY2HFE$Y?M%vls!TF&s3cEcRg{SoO+BVQ$xa)tR3I!0W5!)kh^C*kJJ__K)|8|pksslLRf( +nh3|7kY~wM#WEqY-Ae6%IIwjsf#8Vo15{$%*CpGK46MeW-t1x6!BLW0PfD#9k)4SM@Qn +a#gQu)vWXYrp>9mo<6u#r!aYtyF8MGZ@fC3j`6}os6ICbN`~XN`xi`pU6C8hcvOZr{Eo_}ZqyaZ_rvd4cN8D>h6Hw +o$tOi;i(B(eMf>0qt)4V`?`apV~2LG!0I^%Xs(p2j-Sabmen7aT4|R2jsHr-(BD3a>+G=VLTa7i+O#0 +(dn(Znnz@xhAYY5Wp9KOW^CN3de?kChWb(4B?($2NJ2m0lV)q?i)wz0Z*;2Dy%Pao0I*n=+JP{e#b(d +TiURQ)G=D-8&(G%bk8hpZ`@LnyKIc0M>01K) +*J9}0n$NCDnH1V(W=MWg_1u}N!FUebr&QnF)rDQ;D4%#ARvZ5GW>-l>q$fJY}lar;Kpm-d*usq5H2{O8_;YTxLFk1aiLT_4!4X1@c +N*K+8%MV5Nb%i1$)d((dWxPISy5ZQR$b|kre-Fi5=@!C43-1fF{U>SeRv^7`oS=8$MH&9Ch1QY-O00; +n+tx-{3=2jy{2mkc!Jc4cm4Z*nhna%^mAVlyveZ*FvQX<{#PZ)0n7E^v9RS?O=wHW +vS`zk*N@bjBFVdpL`QkSVsvfd-3BjUA`iq6lP;#PJBBL@h~qGAR1L?|VEX>hij6^uZ&Mk3YVP@1UQN% +Zp2ri=wRWQ_||g<==56isLxCJ(h}8qG&k-idxgMR-}>Qp;V=)DJQCJ8X+|~2uXH7y!z)3XTOw8k%JT! +IhFcY)=?`tFZX{(x{fN^N+TpN~3ecli +T`!Y#@TTMA9H|L$mKPw{oA>d0zjuYe(1{k@!Q%HArhx<#KM4$lX}MH<8H}fNZ`_h)_B)ESJlpf(2+T$i`;xOplXqt9jg&$Th)z`2pgm>A%uY#Smw;ZBr+UpAJ +ZN=({%Gl~RDN-SFDo;IPydEbYz^(x0QjGeerWp=PM1-ai@Maih-hrECh-uh@T@=vNr`G$ULHX6oI^}^ +K|CSkEu8&INQ8xmQW?|@Sdxw5j#@VgY~k~dgtH6m6e3qiDXv(31uTJsUSV#Nxl3M_g~ +Z*NMjL)Y|-&v{WpzhD9i*y`mW!2%T+bhK;>8M3)s4t?tKf?SO+w5`PRZL|LHkZ*Om2b)y^ez3T_23mY +N${Nfv!nE>EmwCFF6&avsFc+XD#dNbw$aPNxN^d94pEE#C9S;fQ2c-=2;8zxsHDK`djopcP0w+?u$*(pP*43hy* +UMKjxf%CiPr8cTSgD5LiBLFNAEn-Kd2U5WCB$V;RYgjuc~3_#K)*S!E|5^mY_QafyO^J!{~Fvwlkh$8CMxpC|D +}QpOyenJ@Wu|-sGjl)yUgpt8spLwNHoh2!8gF-CYh{;K0o;ua`xw=GWrP+&UMS?IQOvrMkHA{xg_bM} +gm)STzXlL$@(0V=k^vJ;nr*$!Pp4h*E+)SB810Q(K*omGi((pyz5GPavL8ozc;c{BbIob@v-o^BbSy* +igb}w)HEqFQoS+G+jV*WE^tO9&%r)F@0AGncp)LPDIVmP=lOt$fndG9(WA2T{fp8lw`?(0!}{j2N#Ia +iNH1+ZwFKpB0zyw7ps>#XDeoN-N2ITDKb94!KD6~H?4oZf{Fd}WK;WRJyjl8>@mTo<-q@uo5XJ^xP>X +X*lutMhFBHWq&mdlR6ga1fjqbn4gafbHG`eEB;IbrdZx2(%wLY-nySm>T)|(*^p&!UT +dy20e@I(xBLSMm{p^pTE(7W3h|2;ihjg2l_{7^A05|u0GTc?v)g!g7(fjH5P(^;%fD)o{^+EoAV8kA* +Xl~fM}zN)%J6gV}%dY^Z}_^4S2bb5@;ZpD5%6yVtY3fvV@lj0aw^mkp0=#d-jgVUR?oP#b~YidS{-ER +txM(OylC?nd5_C5>LX?bObT2bE4D#;j(BlqefNwH~>jzdr +Z!oFNU4i2-8GNf5uD3>$5X+$T?0rc2GS!#8WetX2F5aCm!(@7Uf-6aP#jU{_|6I`_s*v%-!gPYp@mt(zlcc1rOtoY+L#{bX+9ZeEK8hEwgzv{$T&rfJu#MCMyUZE_(R=%{_+Am~*agyE{LD9_!x&no;}z%Ydm-la~(V +9~N$5KbLxinsRTB%rtHt8Gen(y6!CPPsj+!_g`suaz+%U%Sw#_`kDS3U>ak79$$HU@;06};=vtAm<%S +jAOn`VAh_|7Z?hci@R^u%DM?HiSs;!62T)4`1QY-O00;n+tx-_`00002000000000u0001RX>c!Jc4c +m4Z*nhna%^mAVlyveZ*FvQX<{#5b7f<7a%FUKVQzD9Z*p`mUtei%X>?y-E^v7R08mQ<1QY-O00;n+tx +-{37wwF}4*&r6K>z?a0001RX>c!Jc4cm4Z*nhna%^mAVlyveZ*FvQX<{#5b7f<7a%FUKVQzD9Z*p`mV +rgzMn8E^v9xTYGQYI1>NgpMvMZqBh{VcAT_nu|1q3%Z;&)ZCFmT#bRN|G9Bw8i#k2>*iU~$QV&w1 +WTo2zR}`&9&iv-Vnc+)nx7)4t!3oik>|z(AIK&~cqZc3kiwN2}-VRyl=|G@w8+-Nvkv-bOkH{fjh%D% +~;YVb7QHb^dIkrq}#{pgkmKXXYi27)K!04V>E;`@U +KYdy!+g?hE796V3{adi1dcgfDM^*$;3Oy`cMmgiMJi5#>AtIq2y!c>%>udunco3Q<2 +W;w^z;ayH9EW{0Apt0FMJT{lNW31WVG4u?61zLJ#mrc6Wx!Ec!y|jzlIVc8FDMRNP-yff1iftRQBQ*I +(2?r!9DI#EiLZ_`QTRS)oo-s9(91lux!wQyBeTEvX7qVxKoX-FeJ8P0VdiJJ3c}nSai(M-f< +yXJ9Kc`X2Q|#_81%p+hK@37%JMIcC%q8G4*U11rCdy9uV1Xyra6L-L7+VxD<{C5X?a=ejrzROy3^O9% +oPg$IL`O-nveB=pl$8fZxUuG={X14FFdSYZJ`GvT@2LwD2l_2PDofMTW1*Wb` +$g0%TJ^xJek?jhs%<;pNkv{*5?>CJLBHK2Vu*Jrom>HG`20^a#zjb_uE=^B973nnyyn;IqsyfIe#H9T +rp)7fwsY&``zFxs&4=i4-GxocwY4nh`nwp?8H*>WBG1SGtwO~NNJ2yBIb-z4HKti8yO+(gcY-lsUG%0|{ +&~LS2?x9l#+HCf51SNm7LC%pz2E<@UT*#UYe{QvscHgxksE$X@$LFbj96`-Y2=*{xZIb#c5~ckeUSu| +p#My29Uh?F4(daCFpmi$m3Z1|3CQ6^SFA+|E#}ZfU67N2J5Pxq8aeJ+^BC?g0+&}q~3PC!tK0SQWH5(=_SCN +_X=wQK?d!X8=uQ!Ana(IlhE)lo4w(n2GQ}mXUr}c`=%LH5s5WFbQ<*iq2^A^|7JkXj4VgtY)H_!R~vfhPHS<9};Z87Oit)z7#vjl6-Ow3k?99Zm +YwW8pK*VDA1^`#-`!w!MZke|^XS)t5wtS2;Osg*aT-YErEx0WW2FM+Bmc9b}^5hQ~O0aS*{%R$2QXPu +|$#)Z2+ElaHuxsZfkaK!7NVVADh=CU#2G$bb1+k-~X0T$6=0qlARgJR6n=!g?V +rF6mRTbqk`a9$uAy#_6k)&IQXo}eOb7mx0txfxl=kjJ+ZWwXz +LgIGHlajwp_GsoKp&=4C*y@8SOjuu%3UU9@cZC6#G9o36o9|geUa^JEzMY6?1}c`5*^pkyNC8wCT +D$HI2#N`jVo=!beCrepVEtle1j;e7Sh7FV1d_b*QOi6&Q4~=f9RwP;gy-%U9 +B_RxcSd*C{o+p+Z$2Ra`!*+{uwRdjOtHiMckyFIA8!>P(W`K6Qmj^R|FBBazWZKx^aS2k+HuVkMz`r_5eN +e6*@nc(8MNcS)3RGC!ZH81`At(PA>P>R8j->#{3u&9z~NVpmHSuKvm +>;wrN&lV(rlt7nbml@U%$Jo!RfW65fy*Jx1ry4-i@AY)03?ozNMbxSIe)lrpFW+|*B6<=!auM6{+J{`}Y9}+n1+Zp~^HGgf{g^dpg(djop9l}0*NU-Sp=JbCJaUzm@6+ +yqSvFs>BRw#X7WFgNw;?TEj%s$DHO=D2mmqz_e0{ih$TEPIh1k9mds{sl%?+g7+ +4^`P?1kyk?s}<->V20biC7-!as1&;vkTZuik!yj1#)<=r;yeFq=Ijog<->T`2Fq1du@cIOV=55zNV)M +9%(&6Aa&%2(&E?PtN{cRP1+pkgd~mtbEKV(FYNNeWsUmd=xsS9zS+U#EMo?SmW7u0-PWY&kMbv@i(@J +NM#O1yKcP)k34xRLfBD!LUATg%t@hB^xHKFBl<4IjT1u5+Xqf^E|Sp8sO*IZIAYEK +HwPhqa;SLHEr8E2kK0;8r<7=3tIpKxqlDvlLZ)t5EwKdWDAWFl0Q`eBXgcrr +*@T>KA5+IDlm43q3nw;Gbhy^ee!m{zGX6LK_OjA&UI))4O*&`duyY>CLSVzUtfL_)hxl@?DtBCGUn87 +Xujnw_)gRxQGqYX+y8DaL5EeMco+s_}ZZVn%ahbKeo{fb8~j_e)C1Y*_hYb=<=Kvyk~uIrWcr2Cs{^= +dO5?h%ajTDQ#n_4a?~u7YB~C~27k{6o8@BmZ8#cSNUXZ{u}a!0#>9Hk5CK+?PK8;Sjqr8^r5aO{|Vpy&Acs^r!~8One$SrMx%^n@|e%qQWA`_n}0ia1qd)m2h;Rxhx=ED5+$c^Va_WP) +h>@6aWAK2mq6NgpMvXRQMqu0^iV8{0Kp=grn|wmO_8Km9NNO5B`VfN +7PXWV*Zb*j9;8Uhc3*b}+SoEVocH`@=;?Gid8Ic;m3mN>SgEQ}rWJ)YqFX6(qq5$pTO;eX(WVp2vd+u +;u1zPC+m&jSkVc8O+is<6QS^1zmAY%6bj1X+{STDP5mwICBn#KbzYMasaTe9+}UxKi@IrIQ+?A4*i)L +^klgF(v4MzUf<4^p%jnTiZ!EI8=@@Ry~={RXUl1p~^K|LAL6bXYNzhZ5!3PPi3b}r*$k{&>U#WsJp(BMySt?L3M-L;VH;SHor4+Dc)Y +Z7O-CmR2#?xW2tvTwjP&Aed%)-2ivVM8In~J;K*-7r$S=5xDO1<>mR=?FBvkSSR +U|UuPd{`gHN;#m5};CbC^6BAv{O=8LqxKUy1uDEN&M%4f-3N5w69GKyw>ZgMwi!FN%;Vz7*2?# +4o+^%e-wBG@@fyB(2_^uJ*EunVw^34ed1niIS3zQ)vK2Ljv`x$R<4!MCU?4~rKck4J{*7I1V}6GX}H4 +DpfyhqtO12NLOa&Fg+RRqtv(q`HcOu1rh$S#=(}j}HmjL~E;DTV0mm8ES}~&se7t`&VsQS2gHS5Z*q> +^94ngpn%`3-;OSWd+|4Beq5pid}cw6 +Qk8915#bw#k1m2uiF!wFVyn|NFZyDS1@7-Hf(`v1J3y^+{h*?aD^<7os`LQ~Ojr=Cf6}kSj?~0@6_5hnIc!i4?$k2c!7PVfGKPUA69Ey +9U8r1G0t6<3~o;D7lm4X1I9BV049AOsjRz`0yA$vL~04xP~Rq_|4n@$G-6j6ueyyWy$9G?U}fG15{2B +js7L3oE^Qh0L?Y9|A{Mx1%4tY=vHNFJgBrK0K4tM(_4(ILEN#{q3|-(Brwv8UKDfO<5Xdn)?r)C)MU( +@(E%ZaUfZt@yc}il1%18I%(nXg9#d3r-OZrZ+dQE<7Ff*U`#^S@1a({X-ffEih=*I)Q%+hI5CY6Mc!; +0Jjs&MhFObb1eawpb=Y!{AG=h8sgy$j~I3kHA~HmUWylAAu_1oC?7Nx~B) +9k6XYjpnv818(i*%0VVklDR^ZiGnFi-AI--aU?se%r`D!`Cl)N)srcZt8bS7S`O7mKfFNzQO7D#Bo8; ++iMumf(p++JgoE8Yl0oI4gCBmPa&8g3F=LRuBRt&A1Oy6i>G%UxZWl?5S?Ak_U@ImEH2yfbbS(OaJh4 +OXZ$z}C}AmTWH51j0mTce6G=&_ZaPj&Tu<_dhE0?+lAb?~l6o~dJF-jr?Hesc0dPv=RXX;8ZalF>YSR +PB^T&CTiFu3{iDi*^OP$EdXN`#tFxwo$R`AucrRk%zC#vX%4t(vxa{eLh`N=+D9%D0XG;Zs#t(dLT=q+l3<06R8kxqFbPb4 +eBkK;y<(ji1Xm6;ZIs>z}Cqm=q4Jd9NbeI9HcBOmJ8*-E$isV>QR#4n(_~))dlr6G6*Ly +2u8D*xg9tnmc%EBl1CI?Ky09kM*bjqGJw#<4pYMe84si2-OA1V2C41*14pMgOk}*H>kjs|I93|Lns+r +MkFKx5Tot6P;3Q7*AUSlJhBWTZlY^evG?vs_NjQRyifI__y1s9bGu(wA!M|0lOqq?Wl!{B}mz2!smex +i+26NqMJ0BfJWqz9%kR&WY-+bOr=B%94}qJt2i>#}U!g;%R(h5yYv`ZQAprNY^&r;ifEAzqq +H4m5;qDJ7&p*xfc5y=heT~BNlTS0`__g(T0?q=O+9U32(K_BPr^ARiUEk;UKCx-vsbxVPMN;9r^e?b? +5)qjX;>}Xa(ZG5z#?zajnpszgv|o0us){r^dz3VT__FD;(f^PSlv#+GJd$~if#`J7P& +%zpf`XEWTSOQ=PL)yH0}YyOp$2OH8IN&>CJ1fK2E*bebVI&@UNSYy=?ubO6k*q~AgX! +ms+K>HZ#MwilL%9Iz*cPdug_Ptm^8_4&Z^TgJczoa>Sr;*LxnIfFVa$P^hxq(sp32cDC8IbI?OQ5@*9m#ts}G6qE +^jl}TkAgMsAilv%61ba;mM8->?{5ODS$k%}l?{SH7ueeR63#n)vOn+O9!7C_abPKt^>o6NOZ_ewQlrJ +=28XRi!ok~Kov$);GEd8aEs +9inlE|Fk#;G7Sc?V}c65#Xcoy{^Av8a2-4{(dfe?dcd1u=4Vq)nO`5B{krCR;sEz+<^V~;XdQ<9$l0* +6t*Bo0|%jcPrj6leVZJ+z}MSqpPR#So`jVyRM{-5=vh_5G9JltXXg{g6RcC?o7z{fE3St0qX@ZOD!vJ +|_g!_rUP2cIafAFp7xxE822M&LU}Z(rbYc0W-&hO@!geflT~<>A(=K$y@s_RT|vit|V`rhGuoVQZ{{EBpx%NKC9bi3iVz?h_tmc)LbOh012u^_Z+^3-s +Sb(2x$L42g}c0}QV~i_n?L<%uQD4YveguZDr4@8ppkw1kJ{VYDTiRS7CbmfE)G1|Cw0?hQh?Vm5RD+$ +nb>Btt=j$YGxs+3^RQ_P7mxIbzA}Xz@MsiiyQ0(Y+bTH!j4*3HpL_#h8aEPaSDH#9bb99?PPbzlnsB?PAbrJA=v5YgY(WZA6%^*cqko?;0liE5R-e#5u;BN&=5pp5he#i4J +YEK|FB;K~Lw#Uk1f7w%eZ7GZJ4&+g*xYi;sCdxWt(ssIR!s3JaO_iknYK*4%qB7)plt6W-82)8Lo^Gx +&aUbXhOA}4qWFr*JZZ~hhXLO>02d^A^}U*=&Vq>>+pwhTP8)+iY-;z$gr^Y^))%y>Y`}_ +xj?s&ERg0Zj$3!7oylbZhh +T`YX<{bNd;XZ!Wke3R+;Qrooc^{SvAVYT^H&y@O5+WM`BA0#Hi>1QY-O00;n+tx-{|IgG4O0001N000 +0e0001RX>c!Jc4cm4Z*nhna%^mAVlyvrVPk7yXJvCQUtei%X>?y-E^v8EE6UGRh>uSzEh#NZjgMEz%q +_?-Dp5#GD$dU-ElG`s@VU6sKsRpKe~b4r{KH-Op}3T(jFTwryy(1umw4qTi64c+PsCEja<& +n-u^XmxJ`jsoN)auDw{+uMIS^?i+;Ah-gfF65>iVG{-U?TEP%4lE*mMbml4y}WxUmHAxp0#t@_ZL4ih +1N^D;cJ4iX|@mKqjJ>E~V&RDU5EPikV9{0D8bK=ITuG;HS$dOGPY`H1<8DG5{bi$mYn0&JO&QugXAl5 +=R2$fN+*TJ&@ahSVePxfxnU}x6WpPpDYJr?j!M8mO^5JiJlA*3+nQpQ7jS}AZtLw2kxoHIfn#=<*ZS# +sS;I!DG$qNRjiGVJT0;~gkmLO%_9&UmHLPDQcOXFMHB?l16I(B!nu$2O5RcPT|=%ri|!>=iJLu)Qs9{ +Rz_wWDO{}t#r5gldCY9u%Xppm8s8x(SBq`{D?*?KW#Z+jywnJv(<5*l>e7OERnvTWfN?cAaewmz%Peg +Zg1@GN~_&mA(c=7340K{~3e*K%c_#j5-zlpz1&QAtn{Ojd(e03!*ra)|Rc6mA(L+a%G`1I4s-bMQk#@LUL#0>G4N+9lf8NPOg6&0I3g?>vN?0;bJOA;&L>-o*aKV9ZkjMr|IRz) +fiYf0mA2#^AA%fXM8q3zaB!lkS4~zz>B#0I66JW!hqW76VzdfT#Dn1%ipGxpFduUj~AyWV@P~I2JS}h +PsdysRPFe5G&viHlhN7e=P_Yj03EC$0y2-{^T#nJVwofOcYHm$ILFEyUz}f0;dKCYon9N{&y%b1K#Zo +7D-_Fz>BSjV69o%67eody&&Ny$gfX0DNEI=t9Vt6 +J!oJ-II7c4PDwE(ZO0n-b`0qNZ#Aa**77!=-d7Fn9b(s6{pLOlX~O`-sd%i;Ga&`YBzNOXb^ey +WfVfhxOc6zlh7W3tlCS|**2u-ezthIjxOF5k%o_GoRep!(+_4hQ})3S?HsN*6@xs;(`~%@;Y +!+Xxr5gd|jL-*n#xAf4KKkYcBY&v+y(e3N`OX9fpTgJbu@8@>2|EPBfBFC$rsGL0e)C5oKyE7n-iIMaZx{5FCcJBm0} +Ep#V!6};tKpW9(#-5a=l8$%hs*w*a9Umey%KD!DNwx02~;D*ck$V&fTM;fqB{;kGF5y&GhhuL$) +VZOlZeqThKb14iwaxu(>jv8u-A?u}olf7{t^sf{gCTiTfGYMhyRRhq3cY$?wDxZ0UuC9!k<(p4A`@WU +e(1zSLnr`lp +?IC-&x!Z8dcY8Zu^0p;*JojLVJ_A#utA#SZB8WkhqpAWd+Haf}nd$y$1XopwTQ(I6}LcsP73fJ=#<_U(7pz}IF_RdVSjCN^zoHHzHOav^fFloC +O4LZww6)3RlGm3-1rXJQ*uM@>cUw{xpyPZS)@I2oxpx|D2lTkL~EQdi?xp)`A~psge% +_XDf)nhynzD>p1dc(pdS}4R7TZ@jn_Me%Pin+?^?RP(z#THSlL$HBfp>eFbGuDTLpuHQ=H$ua34^m1w +GPvJB*-^Jf;NgueD+@J^z_bbR2f25j3ZOBULI@hOq;pKY22Fb>YNOBO_nH!4BeuNA#g^Ed^r?0VP1dQrIWZ`ZiEMDFyM-Y@yR9$~$Sr +D}ln#=+-0xcO}5+=lEl;2D46XNXC4;Lbc-tu{`&jHOGiqWoS2s3WmV(>3&^(VZ{*agK<^ufWK7D?fHV@x+v4N(+3BTuBlLB1!!YxK4<%@h3pMAQI!w88{lHo +I5L@6v8KO|q@N9B6eqTsIpdkTmAq1VxZHdyPm_(!)YzwVb1_}%{PmA=wt%2d|-<+n`lI7=;aGKqS +{xOaZCU7OhfnrLai-x{yLt38;<`w!_Ek>&q({-?KtgQ>dX6eyyW%{PU!UP)XQE;fkW?B2Hb}Hagy=@7 +-~yYCW#`sSe@KOlAc0KlD%s63cb0G#(#oVUozZlWCIkPVZOEj9MPZ@$RNheKwV~ryrkunFc&n1JVA@C}UW^^;T&wAode=&-$ra#Q36fsq+_9ci`76M+5lnpwY_9o7qho3- +R(eO^>PKV2Ya15yi?j_X;f5@{Y8rWBYYT^SrlB58>xQig1RMlW>@A~6`Tz9p7*mez6wQYP*-mn`!kt` +s3mj8QwM`0;trC%r73PXzJuuiD>`uM!vMLwSX`enQmDLk;c41;*%do8u(1DW%`R-7dW1 +Wbsj5Q^k3$a$2XuOFT!#xvYwsb^D!qz9?5S*6myCtF)TJ3oDT2*fzG$WErg-=q0J5#o{ztr%=G|vt<< +EPiYH=vWD$mz#hm$ke}|4&dmOqJO?+}2N_^sTok*vdm{f4`Qe_ZHvCg@6BPHJxLNp|lCyB{vdtusapS +wAIqM)xo{pP^dlsq?_bWCZ+-WjtC6CJbug&7QcaF`cJkW`&OTNv +O1WXpcrs!2hDLuTfp|KKiw=Qa~=4b=&Y>x^kEdFXy0SDQIsDP4oj|x6bPshc`{h&37w@`5+W?$T6 +7-WHoUPsZ@QZH`Sn!BM=udwyC-A!Q$cQ1t{%vOc1=W8#8RT|Tzuthm{Yt*AoVRg=Sg^eXRq$K@nDy!% +fl~yJ0uC{;|tz}rRdAf+kB~KWe1c8GDWP|cAy{EhNzKoXCX>LlJTuAKh>s?AZ`VYbxi&&U5MTD$XUZAMaT=z<%63hY^~re` +ZB4!67_E@%-%etI+uDr%TmdQ|Sh)y=abRNgBIe3ib27QI;;BTgk6Nh??uGP}21~@o~-dYgF*-P@)=sJ +*J+EfAt&!IAi=Q{O9q1?0QT2Od6j;+Q|7_F_PbWo~Ht+Si+mU->U}#C@+w1n63B0hOo8V`#zx=-O$@S +ivsqY8yL6ameIZNX*@#<>4CpzN6IwrLTH7(R}igmTf^uk?)D0#O(feGN|z*F45oE +vT{xZR?GjKY>nQw+Q^T5IIi%*)-D7Hyqu!NKqtB|024w_XFNhMkgb-+70{9{Lb8wqO=^VYu2pVLys}( +T%o@T(vTkN2L!95K@Yha5d6h&S(1(jQG3np_1W5^fdzMef;3w%YB$TN1giYX#t;E->S+F@O>Nzqz3*i +qMV3j3*Bj$f;BtU0^zi>#UW`*C+ +lVZBMIm0w<64K5Y5~`fv6XR$iEsZR>5DJB{2q6XIJi9>4 +@08wo*&bWYW{O*J=Olk?#n1WKdqX-pAL~u4;vmIfNmMjX2WxXz@5=Y%lfg61r38=AXm$F!%Ytx9;cn1 +E=B}**c%y5r!Qvj`19hBj{hM#kiUu}{tip)swokjV;0V$ESx*~7?++(sB)k(7~P{D&0$>iVcwBCb?A& +%8VcdV6A(kS2DQ +5uRQ0SQESog9=8z++q@F%t0bz9~*lE;db65~T)V0C@JB6QR%1896M1jW-(l@y3V5g0469a;s1!^qy-c +)%*616~`aYkSB0|)OZH8jMNTExISp;ZhB;usg +F1r8ob&SpvD41xwu3eyAJE62wiLh|s6et +O*>-*@{%96YPC0*!~Sh;jh9w$`BJm8X5J4{DstN7{*J!vPF}8mVdke74#2BW6*5;))>AP`^>udqmYa> +cy}N`1t7HQBQGt4EH>lhc)9)=^%lryp@kRK`U|HtzeX33F^#E +y`|o%SUjv^$AWe$r(5=^^_r%S$od?`cW%rP2p;R3y5ZanAjT3iP>2MAtK}9IRHte7l3^^@f$Pa$-2MC +Cy90qg@X)92ngrv>#BvFEUItDV#!0x{LZXkrqnr8sqI6bshAho2F%q6o +ljHT$S&_H}YSI^eh=;ip>1y`q{1!VSo$1t0*$a|vdpvmr&4NRN#8D^lIYH#9m*SZ&+)A?W# +R^w2((#$RZP^)g+=>i96|a&TIf-g|F~)z=h`7<{Z@8Xi@dhfu(h@Q@!wF{ug7)4e0N}@EXPh~4Sj6d>QD)y%acld) +Cz@S8p$xg85Iv+a2I&pLMR_zCFv%RjFHd$V02{;EqqId79I@0E4Y!x8hB;G!*#T#BbIPM1sg9(=TVjx +&P@aGdS#-HC_iKi*~gRlWpD1LZokqQpzF52IYgj=$d6*LIT##4co@MX3ji;~gbz7G?(tMH96iyv2G4c +pC#j=GKFrZihh?UEl|n5R7hv~Dy002u1a`kv{L!7t5EN1e`!tt6IqEDoav4Srl2t+e}<_6+zcJPB5I8YA)$ufJ)6JsoYLA2 +hguwb0WE8&5_d`Y7T{Pwd?vQi<}>VqxI)F@q=5H1)yYnvMXM2gWj*#FOo&x?MjxSBxEPPr9i7vdR3SJ +(u3b{~F?B9os1W{Ps*WT28Ka}u!87M1-#amt}8+To7%NOj3i=%VfZ72I}f|GE +gWWLfTxF%96!MdqN)P<3!;$%v_Ochl@Fz(W%tEwY+nw+f60yvcyA5PMWwO;wjq^y`K9I+xztz7@XWZs=mD9% +y78Klhnb%89Aq6#KU@XrkZ}a?B2jA)XOv-@_6_yezBX* +v`-#_4G)9vGsntN2oL{=VTEowmW~SB1b{UCW>n+g0EmAWDek +q6QSIsE8-`@4fx;st#aB~AQDbxOMpI%TZL{JVuzJbB4APF +eS-N=jUtK+pIMU+~OG6`xhb6y!nY?_dchy-}X{lqZKUia4ErVC$cNG`?E?)hphJ$pn_3u#1?>Q8{Ap| +Fv=^ehSLfW)w8sDPE??lha(k{28qJ#Xpu$D!-`r#G@=|y6eVCq(47|V_dE1@$9Xr3r@y)j^-Oi +{9YdNyI+cX@_`~n!dkc34H4dUvTH}npQ= +NH-GA=1tfPHsD%~mwFZhO$SN{n=`o1~S0CxZm-RZ>=o{Hg<@iEeD=4)ZAFQ=7C*M^Cb=h&0H$Kq! +F-`cly=^Lj_pSJ5|_s6#Na5qU%wQBRsq>mFgx#JVDOf>!5B#RihnVVuQgBZBioY7Vh|FWzDqWP5gvrh)Oa4#f^R +1lKMiZPY}Qo!9u}F*WBBLk+&bxCpU5f5SGP^>d6ydm2n26US9Dy|v1sJJaVB&&X5HN;MW;oPivF~RZ^+8+ +#6VW=oehdj{>3kj^YY19+S-+?0p8iotA_&|LX)iQ`^d=0lq4(gliFdYP~ebMd)_mjCG|W12T)4`1QY- +O00;n+tx-_`00002000000000o0001RX>c!Jc4cm4Z*nhna%^mAVlyvrVPk7yXJvCQVqs%zaBp&Sb1z +?CX>MtBUtcb8c>@4YO9KQH000080F$jzQNyyy8%Y8H0Ez_w05Sjo0B~t=FJE?LZe(wAFLiQkY-wUMFK +}UFYhh<)b1!0HV{344a&&VqZDDI=W@&6?E^v8ulwE7vFcgOG^(zhblf}u6E?$Ex7o~)jtK{nuv5qk0s~svd

ua{Ci +^CingE#+3yw38|E9k|b{5`qlD^5K>|V=`icm&V+z{G}hG=8d+jN6`jJittwQuo#Lw$I0Y2Jo3vC)Djg +RByP6C1E0Udip6ko~Po{vZMxF2tC$I7k`G3j00wIm<%}iWp8C(?bbv +L10{9-jP{i)zg!9@6aWAK2mq6MtBUtcb8d5x06Zo)7SMDO{EQ8)lnlndfgwU<_{)JyvbmWelDk$59}1I^#paVP~OBz&@L@66jB+qPpb +2t&v+@xxPwxMuk7Jz6c*PVG2|(=DOyT_u(sY=Gpr1W>Y4Scpm}F1Nji2E9+{;GZw1?>*Yi|F0XAMd?veh@7XW%58X5yUF{1nmkHoJyQ%5dXqp7MPMx1yO@`i9O`>1uN-3}vKJHv +@YVa#Xtq`k(K`K)T_YqEykUp_ZKJDWM0Qvl+fv;D`*F0-Ii7xavnC>$W(KxyEnOc|KS}Wu{b2NGZHvk +>85v1@de8nA$H;O9KQH000080F$jzQNw)H;JXL_06-Q1073u&0B~t=FJE?LZe(wAFLiQkY-wUMFK}UF +Yhh<)b1!pqY+r3*bYo~=Xm4|LZeeX@FJEbGaBO95Wo~p~bZKvHE^v9RSZ#0HI1>KuUolWnL{1&0X>Pk +c>UNw#VCitF|aTB2gMG9{379N(|sXGp!!N&2#PmjbCGk~7cDJo7>&N%D3fX(?R3m@R7Sv{= +e?Oyx@FPSu)9Q!nXq;}&>6%J6SO(pssV5*4i%Qq#&ReN9(aud^gcMxz}%ubrII+l8`Js!9_6U+F>`a? +o^n^@=K$OKl|y>tE${!M~Q$25tPV@fsn_x}s9^jEEM_HPeHGqRwp=mb2Pi9~>RD;DM{Ck3LWt9kCAR=G`$j)l|kPQT?X0(*ZZIx?c0rZ;&$5ZsATDuuy#Uw +MlOZ&8FUQ6nQbcNQnQ=wj#~i6BN&#FED1}U5Ul!LAD#r1vBa=&IQe*NTOa!?vH +cLowLBLub~4f;)#l{{8urDT$j}6;w!#(qXAC5eajH+@<*jfXYxumNhbWkl>J5$Ozf%qXwW$Bd(XIK}d +@evMXfThUG~l>bz2RA&W>vQ=>p^NG$76rkLK9_jTE-lkctYmr~x(`!YVjh?- +9CR_Z$JG;2yn+{Dm~kheJNinbA{9=rQy)21FnCQpO!)Y$E}3)o`VRDU=InUmw(i%H&Qm?2*)kxP`^KlYLd`B>+j}wkt?vgFEIMSi($CGw|P)!&e*bFQVBg5$}_}dR#%*nG$YR^ +iW1)p~LM)DS2HdoG%Y0~Olw0l`9&5^`}c3m4#f9ZqBQ=dPab~$>8(d#MgQ*yC#tmrDQ8<~u=t&swxMR +2)SEyc!jNRUInsTiG>>xz{jX9ef_CrHMec@EQdZ3MiP^isj!*YKeX)5fZS*Q8iZqvOyk%G$08dzAWb^n3J8lh?tI>c=FWYC`{6L#4RQHh8dYw%%sblSO?#9gB?`$}3-&Ms +@iii-!mIhlpM~qL>in~G*|l_NoQ4krSD*cylY5=Qy(~oc>GQ+qo~2!=gBh!e%LNj(ta<#F#f0VvUQ7| +c%zYO#Cnn{9EmjaHbazucys#OyR +$c^FNe*6Nc~Oa|G{YfY03CK)b2^yHkWV{8k`veJ7)suh!~Vc!`k=(_5RWn$$b~J-jn=glYbF6z7!Oa@ +8j(8!3j(SCq9EEk*LlYcx%D?fx;MrS5@H$;Hn~DYEif`U-IQ#TgA5pj6@I`N#ow#>r>hnJa6rH7<=M? +0-5wz%>7k-mXXFv&5bZ%Zxcp`UIzD|0hjf1^Jz^@(uQ*^BHBf6JAsnZzkoIdFP% +L$~xvlVrxNqC`00CC>`{wV^`}gnff4Sh!6ncTb&EPJWbD5?Wp}cG%8$>Nv*xP>n$?mO3p$%2aQ}#Zjc +JE)N+gBpm{d_&LmDFjsV@yBM;oX+@jk|Z>xgOo?Ki%9GE>>o{@vd0V%Tu+w{dSl-NyFF+(Fcd{_y1EgBPCfat$aCmzx^5YW@Z>#GeAKBgPXhfE615TKWlSrHi; +d{|Qh_0|XQR000O8ldVxvlZrq7umJ!74g>%IBme*aaA|NaUv_0~WN&gWb#iQMX<{=kb#!TLFJE72ZfS +I1UoLQYZIZ!mqc9ML?>vQ-y>uniH|U{?vf4^fh=3mUG;&~QtN`|oP13&on&5GqW;rq6KiK^LOh#o`tWxa4|Es}#yjUPyc)EJKQ|D^jfLNlx0g1yJ{|D3% +8Z+8)9a3N{H>gI&ukbPOy#k$x+y{+=>XYk_GfO?97G!qey4rZK-dJ(f2jiWE_EaxH!6ZMQg(7{n#=Z7 +fCB6ukm*7&)4TQu``>ceLjsp7@+J9L`7J=x~B@YTmGaP)h>@6 +aWAK2mq6?X>2cJZ*Fd7V{~b6ZZ2?n +omW|J8#fSs*RL4J50MOIovThEAP;Whv_=!#h?VxCC|1-iC9$E%Ey +n$n$mWYQys!#IDlD0b5xuYsd5OdlZ+gF1~O#TGOTMz=TWZZ}so2S>Qk6-fQ#Vk6jz1%?#*RzSbr;oR# +rvR%qpnSf%SZt17NGLh+ody)ashMx&CiLD(FRDqc9DRbCp6=gJ8!P3Hh-a4(rd?A=pa@j|RcF#`M>kH +`M=6Gy9*g@vg(h&8w^hYk+GAtC}(CD^U5WeF=hBemsaHu50ziW#=^_vU`VFBXznJ6~>{tE5!*cnaNz0c@aN2`O?z|ld3bv@b +9N1-e(G*gs4LHM;Mg6&QvH?5}wao@DqKLv9*l@?3Gv2c^7}M%_243{kpF{8Yqo}1{J?;H@XHx5`Xo$a +c40WqjK08>^M3JgnNQAI9D +krj%5t;ctRFn)WnYK+P!&}JqvE)UkhG+ryTyL+eV`^SWt$nYt`m%p(}w7@)Z>dGpia9%BRPDaN%M4-e6bDw8f>xM>oi51=m +K1Ya=HP%w_F7;)303-B)NpgZzXZ$8o*RoWrLcv@?yw0q^a(5?mF$H7^4=2{&Qz;;E}EEcfMdveniF)rdo<%jNX@@&N9UvwS +FUFWAAP2RM%&ItNd7+;J1g$VRq_`J=sw#+B95wNgi*fcK+;%elV?6CR(F=c*4jED5{-5JWUdG@SC3cW<2A|t>*)xe0>bZtVsSmu&H%#PfwiB| +MOcU);U*})FdDK!+GojX+nwE`_HThmrY9F>7uNboSpv@N`ZK=#(c`CprrcG&Qq43*Z=&_Y{+bp6jD3g +sq=ESslLHK%dWWLq@G&_dD%#X_N-PuH*o%_Nk%}W`yX1Q=BU!Zhojj~I* +#IWTi}{czW1}1{9!V$GkCl#mGDs6nVd{#fZSERkdUz;s$|KQB$DCpQOWjgTbiB%)ygi3hjC(eSgc_GH|z>$aX05a~B +KU|5H25{CD0r$fqvc~U4PSegls#-OeO@gP-TJU<^)2W0?#;^yQW|0O+6)pXmpAB|Ndry(eeM4p!(QCn +zLof~MHq(L%Zrzzv=eg66O;r{w<7>QacrzY(Ye1omH@l!nWq-QxZIF_y>%LVSErtWDmF;?3KTGr}B-r +Qa#$Kt#a(Nw)#VZYJq_MV?qy}I1b3q(}#7tI712!tX^ +@}Z?k2gm*t{Ik$&s5!F4l!|kFhgmC|)SMnT_fHl(zqr_7bE{X#8oP_yNSwo8wx7b`0 +~Z;|JZ7Wg?M?QZ}{#K$AxFp;elQmv@crvi|ymue;`c_6{&ElA4L3!75j}LW=Rr+MV?3kWp=ebp3k2nj +sF8sO9KQH000080F$jzQS>Z(F#G@j0Pz6;03iSX0B~t=FJE?LZe(wAFLiQkY-wUMFLiWjY%g(jWp!mP +aCvP|%}T^D5WeRr2KLeg30l0kuvbqjD0>i3r8JXeFwLZ$M#ZN$NxQVDfk62F3H5=;2|9KTyNTF~vLpA +Pb!fZy_JRU5ON73DQ#xU~=Z{r1M2x5u*(}%3Z}mYzIy-pD1khE81}u+BWDwBWR4u?Bp3d+}-tebrIAh +jJa_#E+L6@ARWe#fvn&_jTX?ix%VKd{Y&GXP6;PL+UPAS#7Rs>FDx$srlsLOjl&ogMDAx~2!=BLDyZaA|NaUv_0~WN&gWb#iQMX<{=kb#!TLFLGsZb!BsO +E^v9JS8Z?8ND%(+UokR5NrYoK9YUu_MJlD7DpeGTa$im-cVkbQrS`7bU6TgHf4`Y^Y_ClU_mU4y?VWw +*?U|QsjIJQdHjQfxW*Nw;*2aNYTU|B|v-UaKu-IByeDS;!S-*IWD%S-@?P;3UBEJ*2Xj3cid#MDZa(I +g-bNd=?CyVzv)=p|=JIN2q;7+PStV?{Qi~YGV+C+JmP+12Zdx4**)#J68$ofNn!g~K>2uq9YLxVNM{7aFu5t$FCRJXwi*>5t6sdB+f +%7e@^(YS5!vNrmDpB+6aq~)MyxyZMj+C}SE9LN6q{g&L%8)spo4Uj%G!jUOp@Kb}5`h+h&8>||Mz-wr-%sjz_c9&%k(Vi0@pwX}j{2s4XGMsfcv3oOQN40&5k0Swj#Eu +HX#+j=Ck^s=zm4eW#>w``Md3BJD^*L%0sYT1~wlmuWl5lz#gD`)5YwaGe{Kx)2-#h;-}ntU&P2*; +oCB#QB0bZG(;b@4jZ0eYYz#U5jj?XMqet^M_ZJ^p$;@F(s8juqqJNLXPl#w%ZCF+3Rt`+PkgP!@}{K> +s#w+-CV3(YaIgaP{{Jj}-R9YDZ~W&!_N1QXe+yfj%%qFs%O8lCA?BLTHdSBGuhE%yWw_+epH#wUz9|d +`+850`xc;sMK);bW%j{eoiD%>CXs^!b8bzg(ErIk=jXfMH9j7q@^~p!x@bl;T%@9p^&U0XQ^QZxZE_` +)r~onjx6BBXv?aVcED4Ah(o(+Wo&%lLDUx{4MNgu4rj5$vWydtu{aLcFJaw>Ri6OgPxTnqOS +`bt{3Z_x_(rkw1d#EvYKxW`l;Or61#dd-NL&h_ci>F5JdX_guJqJ3$bz5ftYFZdw~|fSa9x-4+#_>?g +23M8nTwZ}1UEf-P@E4>~|U)kg88`Ysxz#D`8~0Z|-()fqdQ3p?zn3_f5{ln;g +z6hsFCH+=yA_OwE~b-T6^kD*vB&K%|7$K9K?QmI2gV8W-;hR)WiWVbP&~4~X#Dyn9(JO0ARNH0p?`?7!DH6-j#drpA+m0 +O6WwK<({CNMW{|YH(-!{NrZGJBGDp(9i2eppO9KQH000080F$jzQTF4n^DhJd01XNN03-ka0B~t=FJE +?LZe(wAFLiQkY-wUMFLiWjY%g+Ub8v5Nb7d}Yd97B!3+wE0(jR;Wq@t9YzKpde~xNvmSsIF-`Eayr +ulo;$vx`Pp)sZ}%9f)bXYC$azKupld@r##T#Cuz30Z~eg(=O&ZmpD5Q502J1J^}uLrINQBDa61c?9%{ +U_TfA%e8v?mtX($Z%7+K`}@}4Qy*;60SeqI~AbTkr5n>d@NzVb6!%a`)Z*5FMgtpfy~!4letm*xtp|jgAHV-$dasZG5w@mm&f!k|DB; +l<#kT~Jo84Sm&$RwV#e2?x1_!dPdC6Hj_kS1qKd@tVtqfnp|4;(2eFYOv3`!{sVS~0bg9Ni(22ZcAFMpu!iFcS@?W*o=1;0sw|E)8{IAQ!3YX@(W#D5C5ZPC)FL +W8QKb|#kkEP;=48kkPOP?@4}N+^0Sg~UJVGul5o+Xe627J?--Y>%)-Qh^@I61A>}wmpIkXz6d=*Y8HL +lKfGWau8G>O$=?}8k|HeA`11;8lnb-TE+}PLca@&dXS3bM-%q^hWk@}1&=)FTibc;QSmyEDmTX-XRA$ +E6q!Zp6O~TeWiv)}GuAMumMrcUJ0!bY9y3PIbNQh`rby=0b#*4`8(IJa%YoA@YsOp9L^xrnNuuZh9ok +mTb~XnkDc~CyRhSR!EXvs!NJ7Vms1Qziug>tqAp8rmaB!55YdSkTxi2Yi6itYxH6S=?$ +C4Zl?EB8N6|?hgy`rOd{(fd1Yf`VCyO%@R>w?Y$3IalP5mH*Le5(ek$@Qm)#Ym8JJ}^c7#~g`9{ZvvxW6fiy#NQB@Rf-U+&1S?X&{4 +f%a4aH@Dhh!l0v9oQgFNQcTeTY@;;jx|(d01xS8fEM_#;m4sO=;w>l;j8>3rj|OR&+Nks_?6pY-zi6E +12q~@86Vr1RT`DOFt`FgRbsFH|i7q~~@%RrD=Wic4tXsv0#)fhajAAi0JR$e +?$OjIo`2kZW2;BF_?@YwfjLGr`Xr9{_@$QSF!Jwsl$B=G!X1&x=*=A`5s_~rTYr*#e=Ny@YsDoJ^Xj9 +PZs$OCNZ^PDd6+ +;)ww>+=h4O!NTv(Z%a*AUBny_Bgf!j-!78P)h>@6aWAK2mq6006f<001EX003}la4%nW +Wo~3|axZmqY;0*_GcR>?X>2cYWpr|RE^v9ZTYHn+Hj@8;J_Sm?lu56K)_9WIjcRqd@mP+h&WT+!O69J ++UJ8;RiD!z`@iC8e`9Ax0H{KvQ-lTFWmrM~rqtX3CccUA#t;z#S({0q%Vi5!dQ^QaE{#rEEgY)WrRW>DX>AboYeA69!E$So8B%D`Q#VyaX%^T=1E +V+A4KGu95`T7&z3BzTb-JhJCfSlM&ODoxl<}EymDoRt7P@2Zj=Lvho8_w#cYS*X;wk<1=z_AjwC>j{Y +n!R8L(eMrSE4R@2zpbd78X7nXt8Vj#Wd-B#3@cAgu4RWeS>2S?18`vVA*DC+dyK~H!w6>Bmm7E-wN;M +)30xvR)D3Ui8lNh$$tnL?y@{*>q_uOziRTs7|MH6n-i-a;BEJmf)LxH-;v@nZ3aOrDSH`#b(&PX^t@FJy83J7aSF@D +9zOWu``8)9`wgyiPCZO^vC()>6ksmm(%CZ#XUcO7L#>(c>Xk&9KNgAQB86GcNvQD#@oQ`|7SvIJ>v1V@TBPJ-m{xjex36Gfe^@`uxXw%f~n3T=iKU +lTP#V_S&(BWxT{j@ax3NwOwp_-&b?#$cO*|4?=!FUw=^`X+L5TW}-DJnCYbRdu6nVt0hXAO27prD?%{ +gXLH*NndGMq-JZY0bLa;dtjCLro3YZUOea)zya*foUE3R$RtIOWh)%!7JIPz1Txi4q6Y8-vXThX`y9l +L4gv|u*N3t}$yc}9QQ=3z^A2d%bqku=gSjh87*%EHiGVZ?mZOl=u`1Vqd3UDYE^WlE#KXf;bj5`>vqx +4KV0dz&j!F<687cXosFaNOwh@&lqC4)(NC^ipia#BzBfB5?1IP!qMh(C|727Rn?ss7AtE-oA>XCqMA} +N4P2b~`h_BK0Yc7Jttg&bmtg&X9;bV0;$_GYnoZ|yAkQw%=P!vk73f}Ky!#_;t5zs~XN&#bg&;C%9zK +Sm<|Pg_y0LD;)SCndwBY_Kw5=P706Bocc37!65^O}hFWY?6XO~_+=n!Iz9m|4(D|>ew^uid9tCg*f!bHu)ggFLOaqb+H9U28UM*!0xD;S(rQlt}g@Pv{I*ca;xVsqN0S +a*6XXHt;t!M3&N~sI1D1^jvY5i}pQ6rTZa6zocKMGwJ4}?wlXQDjPl#V!jv2F7bR*Vrwx!tB)zJ}w6D +>2o=WD6_2O*Rm(tJS6XGRm-a2{mb(Aj{? +egJT(NKuAzbuPpaRpkb*`1$NJ|Ajqc(F^trzCYV=j-ownRlcxOcBW%yf;4f1QI=G#FDMl9BsoKggD9r +kwpdS>3GuUZcr(;6y!tRnCSa>3$qV}a7QT}t`Dg^HIKjA1k|+d50uZm}WwCSOKY(iC@35B_m;d?h_3Q +Mfi~kyehL(tnj;NNqZW8;@SizBmbu9gq{kj(zh>kVf-OyOO%gowbaleNUyus)kcQMifHTzisCZPpuZ! +39h_S|9jI3hQOw9M!C_dph8^BDWe4Y3>W-8rvdZ}NhU@@1bpgF}!Lu+ef|b1c_T*fRw!pu@cl`an`@M +`J)gxS!=R$Qo!jhvAPQvqFFvdHTzxWCGjE{J|6*rv4$_l{HInM8RO6oWZ88Fl}UX#p&n-r~|o7(O|)` +OoA&b))3KxpI9bD9645|35l20#>1xLM9THLtzfc5rWfQuuo^fTSd*y=eF*gPAj>|Lf^;$CLH0K#vy<* +A8)S8+ASy9M-DRTS^n$FE?2f*~GyXOKVF-Eq>w3Pp{_phS^@%U+BMA^SATG9G~93UtGQW`34^s*B6)b(MKArvlasa_h$R>? +HNSH-@f>M%)XnPe~f)bujj9>uIHDF6gin+-=r_!f|cyB{9$y_g0rczf2b^)BJ*U5mMS~62V*)hZk1AT +>@5&Gdoht?07fiLF)B#Y$nhlk)*1xzI71Yl-CGWf*eIhV&QGu~sRd=sUo +fvw-fIU{STAr(JRCw<=rJS?kbV4~Y-%vDw#=Aj!nj6Hi%*j0|Q{SALUH7Bs3SznPB7Gg6-4pv=uoN!d +=AZN2SE!LM|R$b)`k?S%^jAUE+FLQOyq8h;Y9X_`ByR)<}S1;e=W3Yf$V6#FAX;K9i7l|LW|tY!hw0> +*n5*m*ZF#Hb*6<9FYiOuccUm2|P;N{1mzVjXG>i44KF->~B6!#>H&J5fb3#g%*X#KUwxnz6C9QiZsS$ +Sy%p{OK;X@FEX}LIQUZOe-yy-5_JHRa-H4my83{f<-gCBy3ZA)`O?tM_CUCpMHDC|n297=i6R(=JHA)P_v{FR+CcEG5gB;*oVN{RrDj%}y78j~%A);N0 +hO!ih#{tt>BrHT!AE}|AuL#BdDc9bicOi@C>` +^Hyh$)j(j+olDFE}0^h4{dOIW%T1S8C&%n9QtCeRhYB6I@9a~fHl6@UVW93!(t3RdIJY$!w3$F1)eGl +Ri(q<_bB2*LSHS1=Z-Wf~ZYxo$Ti>*@#uUi$<4a0Vi3^lV~!O+nKU&Dt7ws@I7+$^@v)m +VY*wBC$DwHA6@N=va&IF9osCEGcJ|m(i|fH8G~=%ETe()-{8ko^`o30RvXUlr|jMsR#POCx#=TgaSRre@$z0#8HzF{(n}K;`;wG5mkQH(zPN+Wir*qsP7!|Oqj=56K(Rt +$l3iOWNq(1UB-~$Vx_4N63x>S*5qS+>8wR^sA4*BzHyZ-Zw^U0H16`szM7sh|E+%ZVR +HKY$3MZtzm0|_$B)WQfxOVnx&7>Uz9(qJZfIjunK78jn;r=W6c{HFkOl6gXZQ_>^jbKYj#4GwosDRue +)b&6!4}jb_6-}H+|G=FIiAE0pJ=y-EX4z&atNGC0yI4Ktg7z*S2h_E`Q#+TnribcQXiP)nLRK~KT^e3 +sC0L^^@NiZHW6u#;#M3o^*S@8@m|Yb$=V?^ii7ip9XsTqa9!jCx{HNP)!i?i-i#n935s!)>>CIo^u7L +?XrfS(Mur3H@z+6GCLV@Ct(JvBL1(Sb(TR@sayiO~gl2^`KnujH|;JA;j!^vT|)3+xiqm{7c55h_ +CLhVtZYp4r^;@k?!h235MC1hmeeaaFE;TC?TS!4>8$bzU|&++YwP)AMxaMO`-12}xX)&NE?pkaFzYL_ +g}n)tF`0@e)I=&c4E&cq5DFT9Qdn2N7ZY0u%Pgm6NILtd^AS)Fl#Eih-SY`~WBuxl%NNA<4zD(I5%;M +;G3DJ{;9!WF=VqBV_r}i3z^q~qq@Em|fU)#ZidtYG#RvlG`S79=` +($XpFQ?Wm5bS_<84KoEkU)avtok$nB96Oi(0=EdQ=+vqT9B{VF3ZBa)hTA$M*mHp~5E>p>|21)uTqy6 +|a|r@(d{8DIX0NC&0unLR1-p0T{g6<^E3pIYt6L!$zGh9o%m$Vjb#7Yv*D>Q@(dy((%E5HDTDp84tp0 +K@)}LzB7H2!qf8mw3t;S{WzG3YVOD7v~6vc*?vb7pl#f5d=ZlI?s!t0HykMVA71JHv0I1MK9?VL0MS2$opEb$(yRQs +mohlWjF*5A1&SssDtvIR|+-v+s38>=3E%lJ^=}I!#HOMvahURR$G(qnqb>k*g8c}09X2#8OLoBitgg5_)`+2a=cWCx})I7Cw-!~)l}O7U)_Fm~_x;fL~p=8}=VBEf4NZ*9=9V_dLp^W42+JC%z>QK8^f_zr=)l-J{K +)UQF&E|=@@czeQLIk&K>46UNNQ<(%nrfFQ_i=P_n4AWBd98sc|dd6cpV(fy;ImPMnq +RkeW|t?939hbv@TiI6H*udd6tDQsFGhdT5zGwAL4Bx+Q437sEP3m{6v%e!U_@ +hLlc^Q@q_2?0bF&yscRHaw~L`6N)Q9vJ(kgZ`q#+m9x+qFP{;#dY4~a|}SdR)z^ +4;9&6LzKj6I$w(knEOQlNwQo%d<~-$L+hx1WaK-qBr>CWF6&^$-6a*ue%jvz{(?eu9ryrAt2@T}IODzze2y*sKM=K1FR{POCxW;&6zG&hc%1-!-`!e7^>E$Dmo{XYefvVZ+7(kD0 +Y_hw(JqH7m|v0K(OkGfc8rpBUs*AdMgDW(tC(H|+HKVCg|RMlTT?o^Kbg9JahD(s79Z$BCG#u^h ++dl_}K;`U&cm#pWRpj-usqpM2h@uVu~+LIrXy_OnlMUQ}5-EFR`T;>&*kq&1}6~9%iU0FaN&vHHd7b% +iGK^Z%42LvRj_3ztVxD^Xctb@;wN|yT)(+^zuAD`6p0I0|XQR000O8ldVxvV)kVar4s-EyEp&7Ex1_+sxR_aQ8mO#nSTJw5&MbPqT$i=~L7`MO@0DvCt9Toq+4}bk*vK+Z^T*0wFP1X4->Yra>CB1uEX`#Vr>W(*^!gU$8lK}W +gxEeO2t_ET_)>!Q7(VdiweZ#=K51wRrqdhS#B#CKgmbscvb03r_%w)QIXf`r52asrpQ(2!*CLT2`=Bu +tWurpNp$z+_HKLwQvc>;Jonok6nz@rVV0jS&Iek}Z(k3Ls^7gG7~;q8Mtc@$YgaVIZ +1SG=mOk@jV%cS%1(G_;kBn{(q!NMZGD^%oPc){<|}h7Bwebo!$TjiR6At3#v*5mhSuAa5> +;KE&9=3wLMFXeFj#EpL%CKWowJtQP+7-|K*&7NsuTsDmYcLvVN23dRqKrQ3)bF)WIfpzrzB!;*6%X~E +J9>~C`sTyr>h32GHxg7{`A|8kzt$|E#t|a+*#qwC&tunn%GHqPg`-@3U)TFp_QzvMnda$r`1Zu={$`G;%-|nV8a*TyMuGx-QPakj&46j4<9GmYTO;H^7;G%3T) +9F6NE%?dv;}%b +VBy3Gnq?fAz+A+?kjuIuy5tLI+iW2qIzdA?{6zbr~aSk~uC5JWF%hc*y|^f3(~P(iP%Rso0Wuhn(oNlp}(~X*)Ry==oig`|r@MkPMMY2bgs}eCUMOr|dOKDx +0U{$KQD$QC&wN4S!5WZxMP)83|s+>bkQWP?5LaHoPycNBx5971(2>_L)h4ed9b!|A2it| +{tM#y|ChU3ZU??#_ENRAc~f9J0?6Z>@ZFRs&X*j9^aW$FfK+hqbg-T6Ex7Ngqu#zGI%L>sm< +VkLBAI1Z=yf@*+&W=zD!)lS~6YNe|tREMgd})t(JF%>{>>fiKPK;oxz +S`$+k&oHTL`wCCxvrIE02s>Bf_ruR0AEMFq-G}i##ewdi8~(9K^Bz0kf4KnC|wli`7}=B|J1H_yAKG#i|4(GnjafpfI?c0 +MY(v44tQ$Iy(AEZNK{5Mga4?wGUY#6BaIt7ZQG@x5G{u2*dl(et2@(uV0hRd^<3`(PdWXz*boyB+*}z +%yhAm^}<~wvX*>tP_Rbbnn$NagIJ@vQLv?mMSR+9=u=7{Wmh8gx}zb&9#T+Ul&R7KtM!VU1ECDSxX9o +;#@MTF|G=Ci^xr=x4f^$yky0y#-PC(-RmoQo$Ml05a~9%Lwz+y>*l@MTSf_vIG-i{`-3p-OlAUO0Vp} +(d^rg3_itZ55bgldVrQ?j%V3Q{RGjI=i_Zb4bU5KdNQiX5D6IY +}+$R_Hu^fESq-JcWmXRjy*~yQoCxkSG*iiZw>(V!e7SCBg%jsJYr;!w#@B5sV5v6DUDn71^`msx=hv4 +cE5$_Tt)})B5FfGnheunrA;CCjIXTmVa>AFI0XWVyy-3cK&yHQ?#v7cjYgBD@Gb@c>x +k7Q{-?@wn!M0e1N9sAREZM?CRE?ylVHNn75R)>`u-b;-~LwXw{Q9u$keo`IW|R=u<^X^(JBMs-PvtiPzJ0hVm+pCD4$Zd6qIhpP&~>~gd< +`|nI48^8W;l<6T6T`T4=#TQ|YX-mfguvjcX77d1EYu4M{}lVlJ~vYukpg{`283ce80 +p$IY8d44yY#Q%F{=!4wg;pcfW9AQ1w6N>jo9=UO#9}Nn?68lblv+X&D +!PUh@xT~#5@7rb5xAZ3qEpIa^dz5SF*d?+F_CtNYXGo124mNdq9-m-en*LFpwVdgdr$FikCOjdVbSTC +zz^jy8yQIfJJmOLJ=QmL4E34E!pY{X^Y(v)?@AZ;uFP& +KMy-Z`*NDRbgk;V(_4b*3%(yh?V9t`(_iEEXfEfrEvqVpp=H!1{#y>(`Kg;yF)bCw$rBpFN{=CwVssV +2R)fkRq1O*v;n5Qs{mkX$qgBkV#qEnOcJnHASMAV311XKG{-uvNIakh2+*eafj&PuiOlVr%lQt~|D4> +I9==xJD+V$)-nSPU}~|6)L3yT1*MTOkp2ovxpS6EigQnEt5WGrPAvPvYiZZlNeqE=TcVH2@5wSaPqub$;{qFD5yQafGU5dZ*NU!a!<@w?yY&732 +!_$rERqI(*r!|DcUQef9Q+ztr7y_|$I%Ve5sfqF;lK=);nj^H%if7et<44ar8*kymF;yX=Caw)6Y!L< +FP_>zYaFfC;Z5zlWK>F++Ht0Cb)VV_5r$UgWTcnQ*LN0C^ZcopOdf|AnTJ*+~xll)(la0(W)6$=d+m* +_xSTqHE3+y^~YZmy^LU9hlTJT_@jY2q&whsybeKH_(e*>s)R#{U{=y>Qc8c}90*X*?WZG{a|zrhYv) +tH4FR&@3{*lirz6w^4M*A(@Pmtc#ZVJtW{e(1MrY$FCEcADP~#v=gL`b@jo4npz)h1iYa<^_k~yzpQg +#Xs{B1J7;k&Tn2?BjKFs2u!{bijI(*9BZ?rjUsz#?NCqiM2A=+R`rQX{^5 +)&e+fdwn7(zXUS*~KNQI=aCfytAU#zUPkYJaSk3}Tl#dy?TE8b%bh3EQNzb%VoN`uVp@&_hXN`<$`$V +NzPvuHk8T8MmsMo>?fUx-D`Tlu1s0y8i(QpG$|iA4MBxE|#)gn!_mq=mat(%mW5vnAuJH;qCc9JAXuE +uzk1L`mqXES|&Q8W%`C167)RRJLG$GO1G^-v&M*;e&XLRMGyP*Lm=Mv^)Z@7in~c2u#q-CavLAf-gJZ +JWT1bz18wcky)+E9CXjhV`gPT+M5*a3^vtqc28wrIWn@4+$0SR$ag@nLE`wX)2HcrYQ*h=^?_R+OxO2JXV +bfNurq%c`D+#)zHjJ^`1?~uC~UpEkUXOD7Jic)BDQBXL1(9oYu69v;8CAfx8x6eaST9jB;l;*+8n#Z2 +OTeyiEI$5021l$fctF>O8lZ^2ZXjoXyLS+-ti&Bb!RgH&#i1T$r*+1a_od359pdzHT;K^Q%;w3f-vAC +*TJ-b7gO6gr4l2jP|7DD#WS)egrFM)XdSbeGIe0mUi;x<;TwQ#==EPMVA&{B<N=Cib +CYg_gfnex7khQ7)wN(4*bophBE>LY$gCgd6wp&!SsIVziNZGL%GiPO=LkNxJEe55$bvg(sSucy{vVW; +iz@G)h-wJzWKn}yx3Oun>_>|1*FV3bo%Ty9qo_pqL*+qTcoY{A!+bvOPbboY{hGlwx;J8mRY;~(~jlI +K^ohScBI!VxU&8MSM~n1_2<@dVd3(kPcQvr^_UzvW52WD}+{7Vue?sV>#AIK*Rmn*=a7D=4gc+}5V|Z +_oYGnvY2+OH_+uoh1%w0z$*hXf31$OjW8SyeNP4xN%2r``!6q_OTL9tKahCK~TZPKfx$i~}Hj@x2ZFX=K@4M@M@tJ4ecQF_YIW&=B)vk7AN_+aVQSdY@^` +|sXicKYYwgsV8K&`X=M$-PoJy)#`>sl>WoD33#l$c-j+R$5pHSf-2QOv0?j@+GM7j&L9V{M3>DRNF1C +3*R_YLL|v13Mkg%|Hrkt3@fH=I2!MJcwq?l;S2=f95zq@y-`(lb|4(osy{hfZkGllvWWvB+AH%)!Tnn +X76L_a)xlt+iq-N2UPK +KN-nPNgiI1Ds%gt~hY$eEFu>$0=W^SGaPocN8jkfcjxiaxMGA5MesuBu+jpqUbPxF=d}DaH_@BShKiu +Fsz=4ZH4d&>Pd$&X&WH7d&LAEBg^YRNM7$fuTMs6#SthqhvE#m-&b*9#oNC&iGDsMyoJ)7{0m~i)Hg#Gt__QZ4SzVgmbcbJP04-a<}HhgNkQuAh}UBGT?scA+%CGO)4EBXO61(pXQLN+izA{li+-1j*qc9?j$ +%s-#iEcqDUv}GU`{W#&^OGG<7?K?&PuosB_fiDkz^~IsRpAtj(2{R~&09s`zw +6om%?V+Vv5&jXTe8*?I1s-&xlUO<`Kuyj8Uxt4epd{y;u@eO2w$jCJW|8i)^ePC7bykw`|O-n+kgOjR{2Ns~a&qg*&Lsyp==9YB(8PUvrle1~bb%?CW(pTu@6Czx +UDQ-?(-A{w~gnBI}vosD=EtMYC6=^&`Jp+aNB0hcKV}rNB_-1tf?^K3jhGyCIA2<0001RX>c!Jc4cm4Z*nhna%^mAVlyvwbZKlabZKp +6Z*_DoaCy}l+m73~^?kmAm_ZO5&}ycerrWwZ#imI%4UpXg*vaV_#@9wQy%kIM`{Lq?-R%Uc#fJBdWkyvWgk@Ilh3aj=dLwGKKC ++#)T_e}bDkj@nR@@3^cigg8g~RN?4PY~!sN_aEFbk*wg}&GzHy*j?WcljN+dn^hvwZRL$7k=~+%4~3| +Mc?h`@0MO8nIqDxUv)!UhOZk@UR1r-z|9g50q|A;t5(nOXTdHb)Meq&;6I4DYPc~ +$yqP08UtBQwTwY#=7pzk4Ms9n}Q7h#Iz4z}7t9Z-SWK_^a%|K8dExb`0esxMUi-iNjPf*HjqznXFAbt +C7c~dYgczyd_c{7gy=n!!F9pL$iw|py{WB_^V{|;xhFddi37eJ4jFp=*wV+QFM-iqY)d6CS?@u85wKEzOyBJ-Qx3zN!&wZxrkmXy90* +~5J8p5Ab0XGuEh}P1)~5!21nli2_WRk>>%?1n=ylUd3Xo8QPkyNQ=c=)=4dznYGIF^@JdF72?(2lZ5q +Wbv4ux7dw8i*iwL&oALYK^Grm_nXhCh97H6^r%>qPi=1BLzWr%i<1~NrNUa$e9y6kwd_x7CF_wx34)Gpc5bp)@ikdSUIv4zTGzPE8-iO0|lazQFh1p@_X;uyDdDmJ4k*?Z?7x&{ +dyxCas9iSC+pwVPyg`byQjauek0e{5zAHc^vTmdt(Ij(hbnhcp;tmYOUSFOv?6kWDjXCT6lXG%20J~- +sOWlMZ_%}|2O(M{3GaFHjSYXO<-6eA1b8JhBb1tkSM3@XdyzVJAX5$xVxv@f`*#QVZzPlHhFFU+(VSMaw0be|G1oUl7MH1`*ClByKDlP31O2NHoih(`N6tT1xJAMymOri>?3B0Z)x_U9VC+2X+Xe>>t1 +$W#FZlDt$s*Vq&v%!<8CT0L1EEOdD))kB)pa#BC`=7MEW7jJ(*q<^rTGpl^?OlK@zgKYH!RN{3t3X6mRkx&tolGy_25*g0_mjX9|o-%qzRhe%NAxGD#JmusRM1;QT3 +W_6&#iBRF8H7X&{~hdcMKR$6fk}raWMWS2f@rS=}lqF+*>v8G0-_xtEAt9=NT*nJMTPVuQWsx1o6gu^aR55<;5$}qy1M6&O!2<3uWs?7T_(gG8wFi78l;5SOr3HU%YK@pQ;reRu@U<*wN^oaRX;9>$Qk1 +;SHo1rCHIOlL=16EhMAfMt_NM8oKP0!9&V(KGVQY@J74f_=z(+*^TDNRx>;H>TULd(i)paCXOr7hM}$ +SznPRmT56gjUq)ko?#Sg{xatJZ1Fo314k3!LpE4sqbg>nuuCF4vG4Fg~-5Mi(*v-@QRPvh(y@JaZwo6l&(X(fE~){Vx^)o|sf0ruqo$IRm>oh%?Yw=SK-Q{ +@P|tCOk$MbBaww&D=iq%`uvj3KtXI_5dSA#k;6 +T5l1;t+N8aX_1JXYUoIvG{ZC<@x*c%lu8Ga_ef}QUQKEB@ji8zG=*U!J@l-@_A~exbn>k@?cp-FsuVc +ENqgWK9URF&heiqpNh{I1xJQI>8kCQlY+O!LUDoWPMoR9;%F*T60t+b2x)BRYK3EHh8`o@WXDM{8H4W_e4!hF^r9PhR`KE>?-$7!uPjw$7K4-BQ +IZluXPd8(x{OpjH-oDM|r=agZ#!!|Bw^~8B;&lTL|Oj{iWk<3}xH|P +E12cOxGL*ekA5@y?JMrTplk)v3g+a(me!V;PGi+3o{&nBEjp^xi5ARR}Eg?ReW4=Vq +?FBwvjKSeWEjrQGxOw)g^|(yUHmJ18ZNq=aIJs9Wk=}$HG2++hN*`J)zHX%1;SDad*^n6*tA9QuPp(3 +^4aTPB`c!EAnuhhXq5hM>@@45B)HPXuG9M4hI|`rNv2=mYke$GCu01=O>hn~cdqXJy*%2I##>b{&aT? +4mfc!Jc4cm4Z +*nhna%^mAVlyvwbZKlab#iPjaCxmedtci~lK=Zt^oV6G4MrxsE~6WUkl-Zj5|TAAyAyDPY_+jAvgFZ& +;5_!TUsZLt)Or|_yYp`b%dL8Kb#*A*dI@ +p|xPa1K*34SY=#fbSF@2o*&<3g<8<=7k}Pr!1TClrxxB#uL!uC!TQT^CY15}Zr~6$t +kNrI44zW+2e*YGP%*Xa5p7$3^kT=?#Ef+lLON7q5!SKc4?7|%mK&*r#;35dQnHcL=-sbdZ^X1m&FQYH +p-wdlG-UE{rPC~{YZWT*2d=OXXk6*0?f+AmE8ob +ipTz#Ms4f6UB25V4<&YEfC$X|?}7~}Tk*~yEy#{>2ie;mKPI66J;bzm7z-u=GozB{@=i4pUPl<=gt^X +=NUzU+J}e;b|GgMUd-1BXFlpf`NE3olR4ced4Apz~$M@4tz^U%v#4yWMY=VNcNrGZO|6B&{C9cLz!et +K+8m7`MO|1E36t6>vtF?rg(=;`6QJ-g!yjiA@K4hGx3P9{B8=Z1!ZI8IHj$hU5qZrCmpvtkki-?0;J~ +@s*WI-L0Z%I6!8voucDZXzn#>Ue%}}m64#i`4qSN1Rr@xBazD^G4Ks> +oT8xGC~!`}zTg|9ez{^EG>^405;zy1C6&Dq;`{}`TMT>k#gfBo^^8&7;by`2UB{us`qc=2bFX8GNx`{ +n1YC)+!_d;93Z`&2D+bp&1)EJgBf29``>X8nOFC0oe6&cj)UDpNMhQaA6WrrE0b>k(<<{POwH<;Cl_!;_0Yr2frZ#9YwUGtk?5`j!4eeL^6nHNee7fzk +q76M^YgaXA?NQ9!;N9=&>l*_j&9=pfo5V +01c@&`TjDO+vFw!A%2x1JNRXwk$_z%n%;#*vlYq&60eAc|W<5gf9}vHlr+vZdDeHnXb()Q%E*b4WZgs*pq4mHq{fIh@lw7SL?B8UWRU7 +IZ!(D!AH{;)die4M!_?I-=0gvzn}%_gLIndRZiz8402q(>C)XABf}cs4_KF`uyaUX>%RwwIYC|Y{Z3s +(_`jFQ^q(Y=NrfL#xSgsC!f+^7y4%l8MW*a +>4OGC+aqyLI1a)fTZ&>1tdY#phSIN#rWZ^&3xkgw%+AYfwHx$_0uviqt`aBVFoQG$ +Ll0UcI+As>Sd<`|gt;(W*b6js+;lKdVGX3n=KyCygIU31b}Gw=F9m^>ONnGQzzz=44oZYheTo3LYH|_ +J!g$g$uQQ%~ij$8llm)ytHLeXH;xvu$v9*EaZjrrsei27^9M2 +X21SSB^#6y%)K^HSnE_ySXVhZJb=tD^jh676ya&WUroJam9Ea5^JnDl+N?))xhye2t#I(WtA-jbGX%o +)G;CRw-?KGH)ENuH3vf@qOL!S92&E9f-&^w>DhSdb|(k?5a!0InH!6&nlE=qycc-`W%k(t?~g>0sl~i +$2o2!AKagnFrq10ioyd9rrD})Xd=Cn=kNS!Erj3rTp!;-`FKsZy}i3#j^)IdWhrOkV1Zc?ge4LYc&yV +RKGsD61j=1Sao}>o2NWMAK@$@7J{MrIEa>l6yW*kRY`f&nlNT7(IP5&P1`47ww0(H$T>K>KgI|!UEAauIZ0CHs$Lb=bwV4l`8N7y+&W{MC8xbHaZiM_oi* +u8>WEn=QDCkhFWMg|#Aym83!IFktC0OkqEi-DU(KSeAdp#mgEFN +~O@G}j4vq2k`2_ra3aL%Ry(E;`Pn6HcJSh~P+JFJ`_PG~Q#vgjgEpI|qmU|vVZs6a8w?S^j5P|B0NYB +T^2th>4X9+pAr$OYKer1#4t6$kx)yO9?RvNA{hLK7Qp$v=Ny1l_Igho-hYS3f^+FxjdT0K6ir%Vs_xWlNp3i6O&jV96==TLQKZxiyk9zu+IY{& +!(GCjdEYUpooGU~`Ih+0~7f?NjmD{ToP3Wxv^q*w&8{36Ui1ff%dchufu+ +w8AwryzuIOq2X7fb=%NEjg;dxRA&J9Q-x$XT?jIEgHh;BWS}!Q4Q!bs>N_Y_E+{~`)Pq;`Oadb`6a#G4%Eal=vCE;S +Curkqli)Wi`v&oy?=MZXl%#w?D*)DCzywd3TrKg;H!>Q%0#qT{@|XK&lPWKN5e=YG72yor<|&kp +3V35HiXF(EfWdBm)!&8hwi!NFkcQ>el-<{9P#2kdHuh$m5y1;QaAI-Ry-Mgs&e;YQb!QISY!rL{|%xY +CNeZsT3MtCEljY)pjo14yiZ7Nq{*h=SV)$p+v^0&=x<3NsD!I8Sv8ReZo04ck}|PD{Q=(UPhG;k581B +m!A%NGQrul4=B>YETkTPOUJmP-FWOvaRzK2)3YON>EFa;sn_ +Ujt!y5{8M;iv_zuazu7DnV!-I&ls6@~A8D=+ho>5A;rt)>%4glh@EP;v}N4m1?R+E606jO +jX*mPtK%WgHrm5W};s*Zd5vWF$W3MWyV2fJ9tner5fs!2&(mVuQ+(g1=2Ogoxzg#mfRIEcJt>1N9XuX +#}_BP+=V)_pi?RS()^u^X|ryBk%S5Ez2R-9C`5w03L?-I8_%eyUKabnrtsK&kBW*eS%%RyvZFNE8}x@ +I&^1DI-QTkx8TrFEXDr3E}56*ahUOOcc^rgzW(GsM87#yd_4(uGhEsq-865=oxUdUC1hD`E<48j9Q_2 +nDQT?^JE2`5>mv$_B32V^%`BCb_GfcC+#_;laV?}2NsIuh5!J?w#c@6ej4${@w~tcM6oOTp1S=tDXL< +nx)E9#k0F}Kt}}=qc~Vto=#6=3$r2JCakr3kGTwqy7&Y}|>Apam;)?yRlg6X9a??ki>>YX0(!9d#?A~ +I(Q9e~PzY#`vnOU-|PMYpXErNyZ-ht*Z2^BZYkZl<==&Bk!p;vSS|tWGmXngWe +IdRioLX=6hqJ5MG4fEEyLuFaVZ+VRN8$%|-jIa?v>)$Jn6{-`LbJXWm6ggfx2?E2a71tRaab%|WdZ=QSZ5<{cG5f*} +5v~(NOVPDt(nV;+psIibU_|KD9P=@~3Pg=@b0f=^n;W^qB_jv8cyrv1I1h)sf;LGiN>=JhkbsSay`yI56TFS+N +&!dbMm0Zg9zN0hq0S90GkS$ktoW!kN>BEpw)q&xsOxn8SOA7vd*A#TTVoFuidW#K+)b1 +w9DHixG6V+JAn;F`~n@JYIt#Z>spz1ZC1}7mYEM`mcEN4*(lFjt7W!}Pq%fA)%J=`;s6u?2%nq?9jvC +J*@>w$oT@BO{KoxQdM6jO)RBmqpUlt>nA4_1d2`Kz`_7ZSj*Td&GIaxT@1@&i$Nr9iaDsuKP0BKk@WY +Wvnx;9^s^^HBi3+MP40VVM+~zvI0xTC5&B${?Q{=b8B3(ps!$i7o40Iy$S;%UWYEyhKhe|LfHuRNZ1W1@}{`rxAy47wBr +~`|8V)Sy;DDnku@i#RLx#cr#Xq0@E~8=c!J +c4cm4Z*nhna%^mAVlyvwbZKlacVTICE^v9(SX*x!xfOobuVCc|%c-om4HgTeQ5PwYMT6biLE=Ro7J)# +`oRL^@hO;EcV*&l~`yF0JBU#R-Z>^A67xH{O_w#X7-5To!S=*RNWlb%rt|`1R+6ficT4}wKdXm06(p3 +22+ultk-tJ#d1YQBatD3TGZ5rcEqlyVV7Sww2KK%a9T4SFP37@4KiB484sr70lmg3jxt@$kX_xPjykH +&s7#f~D}bS|bneqB|@t}My&=!f1aPtz}x$)wQIIq@va>|Ib)ndT}g*kU`xF2p}gFWlC2x)ePLMi!KH1@~snqc9uA6PMFFIjHEN}iyy!nMI4sw!0|YP{&T)C85c@&OhJZ9JR8SW#K +wjo1;j!dqGFurwEIDkNK%Ep_Bsvs!d5tSl(28hyYkfJ?w3>~10c(Ruc+Y4l#u1F@T+4bIB`mcqennvx +zu;$IL37UP$ux%7k7k%rOgIV6L_PF%%KkcID%YSH~;e=Ni&6Qdq+*?{QO*_A*r*|W2&MM#2M)6c~g$x +;T9VrvX`ugUjB%|VKljbcBDyM~o46{nrl;+IA}lA8~K!|p9A0;XeEvjHZQa +Fo-m1Qe^J((D=S&4ysLormPxs?GMg>FPD|wG@?tKTC3jRjoJH#T;pkg0XO0)KaJr^GZDek53DZ#K}op +wzaiX(XlsR+Go|2rpFE+$^$r!$)GbR1I0B-=f#J;-vY2SN9`o)Mp6m3D +>=!uev&2@2;9N8$XVEXvJvK0)&fdpdwu%`C5>WwPP<^gDD-_DfPfY +T*|D-6^WdKe9(|O+$yZ2qa4clQ1YMZKR(~;fm?iu;-xA8Hr)uz~6t)=S+s({g#X5-gYMl!|WTs&bVW| +40n7A!zQHjEAeJ2+C4YBH{#XeyPUWS8n&d>rTFXO`y-?@Rc8tBSoDg=C_UBgLR`{9+Kv15=F25g4ZRw +zkef)#bey<0emiK%fg1xqK}28%MDeF(q!WvG?{DuvK0Q7-NGeB9R-VRZ@Nx?K@({7>am3CFjnd_fxH% +7e41V)RILqVA`W8%1)3e*qaXP>T}y?k_J@`XSRMi4d`|v+JbzA=Ws5DLeSw^P3E%sZ?<$IqP7fOv+|rve7 +v-3iHW*Si%?%Wa2^aCd6M;E^*_tpNI%^D{PX+UXY&5c-n(D!<8_36W7hu`!)oLRM~ +e$f8->KT$!m;vHA#tp`%YjJte;~lkVu9PLw-UDI!!dXSp0L-GMUnw!EjAGu;O +x#EF|vWhMlsMgySwFNQUVS=M`6H0ffQQRU8W0LN;b2!5{oOoA+;kk0-eM6x*Nil~OWk-Q7W)5qbN^Lq +Dhd6hO$g(gXceHP%FSzy-TDWkdYgiemU%XK=_0{BGZY=I7_z;QN5x4nj;_>SwSVz&Fi<`JH6PC9g%o7 +}*5^qUV<0+*K`&^S4cbq@UpVKts_MZCdnc*{?P6fA@IKFvr81V)-)k8Ol4>UIFf$~G3Xu!vykqg-!y6b_ +Rpv^KEONR@7sE@oSH*b1umCZqiCSNmiG*{zX%f^guaz}QDS@o@k^XC6)!w*yZjOD)rP)h>@6aWAK2mq +6bYEXCaCz-o{chVv68 +~RMu@|GDgi4H)Tzf7N8?YUvG3q!$ +n-jTUWct&yRaypVDg+`n%(^Tmoq{(3>>`pVDptNTY&pG+7dug1quo{z~q%Sp^ +6O;X`&HG(KxZSv%5Ap>%1Kaz+04<3@)hD?$rs4}6eglp +!N`B_o_J88Gn5STu*HnItzfO=4?k_)G;8K6%BKbcI$H%jx1n*lkVoSvPLlu59&ATlG0kwg?7cs%+C!VfI4Vlgh +#(LXIFRy3zeqBj6aPF`!5nMb~+${F~T3m_nzty?rTlotXvL5NJXQmDfy0VHve$mE9YhUPtW{!x?pXc{ +X1C6&Dt(Lx`9g1|@u* +!jptfYcFg3w!^*M(ng+17~#4}{&L<$XSzXm +GwB1X)|5C0Nmdc~y6w_|`s8IRaXjx5Cp!~lE&V^>+8$i-4`IVo0{l_920mc~SzCIX*e^sss+QAC(0I` +c>AOGq?9l!7;dsmk%;M(&d9CjhEG8GS}k%!T*6uGRYWSosgipeB1vdSh+CG!gwL~*1zgVR0#>T +FhUUm_F)j5Sl1gj)+5@L=YRoEmVz5a9jH+xQpomyxMH*u~s$%Zf#8fK6=DLmWO<*~)tF0ZITBI2jD@h +f#GW#1`e+LY;h%(M9pXrzmLG#c)>)Q`umWN$oejH)Q5tgXBWIWSP +TzZN&QWh90`gVvk+0g?47R{QnYIF%Hf#leR{(A3VDGIFbg1o+bIy%sGTt!9%hK5KeyDC*# +6k;l7V|(8xXz*lKNEQSt1gr9XN}*v$BAV(nVeTB2`W*tCY*329z6vxiKu-59#!4KPEEM1vr^&1Y-+L3 +br}%aT;_E2H7hYt7dBFjNhB#+eSakAf186D;LCHjhVPCLxu5(Wy2`@%FR +Y?;CheC>&RE)2*FeChgX+CSx-5*avhnJ*{<|4_SjIKC3cNio3PWT5;|MpJ*eRCsjDcq7a=S>`1X9FaWyb$ObN%{V78H#! +d-9ex>LWfE$>;hmJudZ?~mC*cNa>XDTy;^l;P&cAYt9$2~J)-_iNc#ogAFES*f^D-+`C|sFefn!s-{K +)p|OrC3D9xWIF9b1FPI-IR?`yw6+kPs4i{Z>8ij4Xu+zsMrqboYxNW^`h?LO8Z5Bgl$G|!8x;qy>MOU +SWy_I(yn3N*QRt*P%a#u0l!K5pW)d77!m0-7pji)GKEy*yd{@eL!riaKUweG;X8+x=RqtE6I0;^f?{^ +$xFeGcJ`CzUM!V5H6W;Yn@_DZOze5ZKo2SUUvIGEy?XWgus55qTPRN;FQUMz(*BOs;-9)Flh05Etv5Ymvd&M +}YDl_B`otO*D1si>4msYjp>{j+m>e_XteA+I2J8ji0hSX74nMKFmCShsZX*_%LfgmwN+D~w0Dz3RuH> +A3ITK569cvvP6{jRH+X(;e0ZYP0o1Nl6<#-9`#3C8Si1@<*zH8OxG(j@gMiJ4SdE!+z!{!CHMeC$h|w +ng4SqBpB8%yLGrwU=wtnmvFQ>dtN#v``Z}EZjKmv`NkkhudkcdFq+xK{`)3O%E^g!kMr9mUDjMj9V<( +d2Ef>-v7;gtxb0_NQbbRAg54%LBI3y!@sdge*EwsQzx~o&N|twkFDTwIR2pRk7ya8qe=LZ>y9>mJ(=s +Cv>JYuIoxznwbsi4L_4+W=Yv`r{se9C8^Xfi@QcI3{t)t6QK3g?9ksAIM62*G78U+G`@}zcs5=AXQ$w +`fTldcm8+@txSoqoVf=Yze4RNSGG*)K?{s@bM0?%tKRjpX9RGDF&8FjYN((dtwE^p%}tYls?U{Nfu7% +|x}XX*)z{WIoka{ML4(3{JNZeM_-c1>})T}BPPhMgP(qh{#13)nzIMCnrE!PGg8278}Vk^PiHm*F@cP +-Mn`C=xTtwVej*p+R*IyJHgQH;L3{_4ISb<0PWe{Ak28vdnVlVn=TPgqY;(KN&s83*OAOnwXc2N2(uF +!M!+YPaSC1sz>MlcyJ>~Tg^hL1}!(IS`w!_s-Mu51Vh(%?LMe>wT)~I-Cvt|iY3~4kY;q-{+o#*NEtV +5~8f&2<{e_gYGSfrNdWU@6aWAK2mq6O#^3?mIPJ8*y?`-D +yDPvsBwij?`z5jL`kST)xYCQm7n5DC2^X5vc1e?5m$28EPXoOtbRU!K0Lhq`sMq}EB +l50)0(lkWU6*ea#86MgSA~K1SF=ZBNaW4oc1x2BEV1z8Qfigwj;zX&t!C( +a1$DVwMG!Oem+;(EteE8Iu9_USkhAlJMZ2h}9lRF4x(FO5wc0n +u}s0;9QJcOd=bA~Lftq&y-p0GY8?&j6-*6|J3VP+xEwL~RoRY7#O$0ZO4IjsZ+zU`ZhagGsOZ%*?Q{1 +L+j@V0pu05zF!;iW?NWVV?+vDTQ2Y`fuLJifjUoNX@n3dY(1(V`nol}I_}qmH%(%2j1;zxP2dJ=a`kjQQ6Y +p!mffK}caOOW3%KPPAusMw{f(LgAcz_%V2H!jC@7i(@e2)I2JcRBqOvM44|*I1VaL@1%0Y@l+9>YIYY +{Ku=)M%M0G(`nyM`85s=%wUD#gM2WBTL%>r40w0)*{5?E)8`F16JTGM5EwYN*kZTYg-MVsoN@?gJPwl=-M6uJW`uwYlk-Vx+dy%7^`_x^=eMw5Kf|ojI4 +nbr~x>cArsqxqXu|{0Um9D2MmBCHVSP)+^B1)PZ;3S2Kc}LIHjS`77WG=2nYiL+JFEU0A~yo+JbmwqM +;#SKu8-90t4V1GL1H!7#!U~u>oI>MXWN_w{8|VIjBsQ68N^*Z;!*lvfnzcfaj$_)LYLBZ&-MLvgrh+0 +TK~`5Cjj+N2fvH0hmd2#~FyZPFy*q#au;%OBZ#Kckz9e^LMR?Lzi@M2X57#IE-#$4dI7lnUsbu9Z51y +C^C_fTFOAK{7R?+TI3};A9ru3>ODTkUF|GtA%8#Lq3#=8%7m_*!T{8kma}vmgKP8HNHtOyjgv`P9@Ja +)uFP<@!l;qnUz5t{7-#RW{XkqR;6R;?i)L^Tv2gc;!WHkj$B4UfN+agl)E?1Gbd!){F+g=4dj3*qEg^ +!sZ&dyVsBbOIC%Xw9^FkVLpCnX9Nz~ZHb)&|hwH0c88xKJZMVJE6JvnQ`JrvBYx{Y8BHERazE*dABe| +`}D7M$pV*uYR=Z{ieSDXne5uKZHUg74&8{WRHW&nH9t^ziS)|4>T<1QY-O00;n+tx-`>e=#3K0ssIR1 +pojf0001RX>c!Jc4cm4Z*nhpWnyJ+V{c?>ZfA2ZZEI{{Vr6V|E^v9hQ%#TBFc7`xS4^ppor-4LJtA@F +?s8a(_E362Vo_w00lal=*ERxFwZDD+kp!_+d#ocRj{WA1=RMD0Fvv3S*cye6JAeN +*QqXtYqGX0S1h>OWj>G_ss`mnmgdbN*pA6sb+!*e=DcpYgd<*Ln%z2|E%$epgp#`r{S{%dO{9yzZ5oV +9~({J-BY?Of-9pl1!>Om-iH(D77&sNFInbSB@Y>aAPZ-n4$XaW9DX_OfrE7T4iVSq?XMELpqDVWC)?hMeXGMbM5o6Hpjcj*XMlU7?F{w|~QfX$Kg$XPPAy28$E4SYED +g}IH8oCH*t#K;2#tlf;{11oT!(y?32L)0&z?!>ve(A@KTi9@c;J<9|RKpyvm=LF4jyk07u4JK4SvLD} +H=WJBEWb0a%PO9wEy_z3f5V^#wV@Y2MO2;_A_%W3*^_+K<00ZZnU*BzLRJ^xya$H@D}TDJGAH0NUOew +Gt1WHsNwm@5Ay(78sL`_`CCpZwzvk(k@jM;plJpL@6?W)YLx7%7nu;f@1Z>!`6eztGen$PQE&Cijik= +6K6q%ndTY*Q1vZj4X5?(_)9$Nn%JxKyXpe+mW&j+Ag!jEuHmZu!~_0iu-&a@86$scmjCWI8vic1Zblx4%XEKAb1jqfT)`+g!j=k)mIrW35N8mr>4WA3mml-b^#n<>~B?0ErDO9KQH000080 +F$jzQD-=Cr?~|H0HYZI03iSX0B~t=FJE?LZe(wAFLz~PWo~0{WNB_^b1!sdb98eqaCx;?OK;mo5WeeI +ED{8y0!ffuB(VheV8s$(KyeDlIavm=q*nGeG%0YGv3%*F{Uf~=DA3+}bNfsBOFH`^moMvKN3cwCIo~& +rot+uIMnSx!(ai{@eAPW}y?XVk)k5&OCq9YPJJ#cbaVD34u6&gEDe^I+0TPmkrIZu2iW4-^6g?$13gY +!cLT_&Q2z@lS=%_z9LjD7q)4MoAbG)XJk`8G=B1T4NJU{CoMhKdnf1F&*Cz5+fIHn;3YH9Q;iSLl-tx +}#Q#PblnTgM4UX+*&U;)P&Rf$aC`ia1i +8v0=qzvUgh;se*4eL4RO|Ht +gDYC)~u@72Y?SS$espz|o%s!{xi|`#mCnrcR)QNuCL-caGt0=trE|O?BQM5=Fk&s{T9l5~an>BO> +c2DOY&(G2QtvIu6jRT?&YdMy4C25;?Porgg&$@%7cSp5WQWkfQkKYZugS +}uO<}}(5GCRFIzc@gPu*^iHf%o6PE(XQ0$v|}DD11NxhPylRUC<7Msa*u^Ery3)kR>#Rd<-Sw}NE?QK-1Q#=3sz89|0*{`nmh8 +n&5LF>kZgV5PPVWF)J(HUH9w^>>*HphJtEK_M!efjT~Kk^cjy=y(G8Q=vbs=*zec-vc>9#$TToY%bS9oQz^g3lWlQsAj-W|M6;)e!aaz#((K5Sdv-w +N%VC;rBYVojGTCnXmzO-&Xn(%b- +%*~7@8vXEcx^6R8bJ#cC6bQOd +scA%(=Cnd)eV7d8ku6vF+V1F^8e8}kZW~?rsre+TSVs52K}c$lmFC=}HT&f!zc0&Vn)FjGcV9L&F~1z +2Z}XY{zLhV_FiEEq$FMggnN}mSv7BTZPsn;&*5sK|w?qPV)B*bf`1*^@0DoR=mc!Rjwcx40f-6MA_c` +3a13rc;cJwe}C@Ku;>Vx2bi)ImbL-AiQi3hm^Y~o(?*(Twt4zpC8Pc^9F;JF%~kEoT%)eLDFsFqV}Z2 +b>VO9KQH000080F$jzQQHRm)};gh0Mifv04e|g0B~t=FJE?LZe(wAFLz~PWo~0{WNB_^b1!&bb#rBMU +u0!wX>Mg?E^v9Jmu-97G!%xv=U0f7l7yupPS-XL3()li3S*RYFkml1mW~>O;{@5EEie1+DE3kGq+LJk +B46%vEK54~vD~ZP5^Ao~{Bk6grP&!an$2dTA>8kZ63XkbqIW%67Gx)yOq!Ff#^2ums~0%TMLJt#G^4z +fWjfEr+=y~Y;(BMb*bXly{4TwE+DOe8H#WVTmLqZGLow(_1CiW_i*)7|x{!-BukX%MMR`FZ@%ZAnD+( +g<BWgKb1O8JGR+FNbme92d?qFnvn-dECX-ctb6bjKp1KlflBFeCnH7x&53H^#mo~Pxwp=kT5r +^kz?t;o>QPfx3^-aAh>5OU#=T>`ByP(W;MVc>`Wmk~3b6bpCMQKx2w%qN4f0kTLIq%q0Q)y>%G2t~fW +_Q;eo0Kxis1vqybN~02yvD69tE;#rx8N*Swtm9dNmZ-${kS{ATi@3kcN%0iK6U-4_w37Rnch9kdD(yc +u40erzG8U2Bkj&2lttF2hlel$-hJVw+?x7~q`qfrJ+wJ>b;Q>%yqL} +PGNaXLcZ;s3PSV`W#aQ5JKXaGb)f%~+(YUqwVz;{0Q2nUJ^}EvP)oGWTyD?O!^-vlfNIk=j?;fZ-x7I +6c+{%x$zO|_AZDl{kR^aee)z>jLx!dS)hmQGyiRY^a=B|nJn{w*@B<+q|y!w-)TtULh{F2&(z5UKeEN +q&W?bd38ZQBytLQUPd6RB~xJ`&MjD9D{6mpl;t>(hgNztd@Ko(tFZy3MUu*ZqEL9Y!G>gm5>64@0;Y! +u=2)gmCD?(g%4MOhTx9Xu~xMp;?Dfs5AP_^7RVl +2h1jOi}@jQoB2`AW~*7}ZNA=Ne$0Hp>@s(lJ?1A&-z?uL-zMK9-yq)|-x}W+-xS}G5%W{#Bj%X-8S`` +I7tBNEW9AX_n0dlHWq!&0ih0KTn)wa$3G-X#Q|5QfbLRKVXUq%cbLJ1sADJ(hKQVu1{=$6eAN4B^UNh +e?C(K`&{v7#3FZ +&?iBk1bq_pNzf-jp9Fmp^hwYsL7xPD6#6LiQRt)4N1=~GAB8>&eH8jA^ik-e&_|(~B2z>~B2z>~B2z>~B2z>~B2z>~B2z>~B2z>~B4Eh +-KG3aB^$DofvAA>#yeGK{-^fBmT(8r*UK_7!Y#`$#Wf3HvY14LB+_ck`a<-*s8|FTM!X{Ot^zfJ!GP) +h*<6ay3h000O8ldVxvSknymBLM&a#{mEU4*&oF0000000000q=5hc003}la4%n9X>MtBUtcb8c~DCM0 +u%!j000080F$jzQD_JcJlFvM0FMIz01p5F00000000000HlFX0RRASX>c!JUu|J&ZeL$6aCuNm0Rj{Q +6aWAK2mq6P0000000000005+cRRaJ3aA|NaUukZ1WpZv|Y%gD5X>MtBUtcb +8c~DCM0u%!j000080F$jzQDQrDSaJyf0GJ;D02%-Q00000000000HlGp1ONbVX>c!JX>N37a&BR4FJg +6RY-C?$Zgwtkc~DCM0u%!j000080F$jzQA#uko<0l!0NF1902TlM00000000000HlFo4gdgfX>c!JX> +N37a&BR4FJob2Xk{*Nc~DCM0u%!j000080F$jzQP<=O3tSKY03$a503HAU00000000000HlG_8UO%rX +>c!JX>N37a&BR4FJo_RW@%@2a$$67Z*DGdc~DCM0u%!j000080F$jzQ8ZROU~mrr09`Qv02=@R00000 +000000HlFyD*ym+X>c!JX>N37a&BR4FJ*XRWpH$9Z*FrgaCuNm0Rj{Q6aWAK2mq6KlXc~DCM0u%!j000080F +$jzQN>=%dbkMy0O%Y502%-Q00000000000HlGaMgRbCX>c!JX>N37a&BR4FK~Hqa&Ky7V{|TXc~DCM0 +u%!j000080F$jzQJTj9^gjsz0DBq$03-ka00000000000HlGKPyhgMX>c!JX>N37a&BR4FLPyVW?yf0 +bYx+4Wn^DtXk}w-E^v8JO928D0~7!N00;n+tx-|FNPTS=3IG5yB>(^(00000000000001_ff-r=0B~t +=FJEbHbY*gGVQepVXk}$=Ut)D>Y-D9}E^v8JO928D0~7!N00;n+tx-|Vcj`1~0001l0000T00000000 +000001_fox;|0B~t=FJEbHbY*gGVQepBY-ulFUukY>bYEXCaCuNm0Rj{Q6aWAK2mq6V?GE^v8JO928D0~7!N00;n+tx-`O@56d_0RRBc0{{Rd0000000000000 +1_fjO7}0B~t=FJEbHbY*gGVQepBY-ulJZ*6U1Ze(9$Z*FvDcyumsc~DCM0u%!j000080F$jzQPQRfc+ +ms^05}Q&02u%P00000000000HlHOnE(KAX>c!JX>N37a&BR4FJo+JFKuCIZZ2?nP)h*<6ay3h000O8l +dVxvg|8vJTLb_A8w&scAOHXW0000000000q=EUK003}la4%nJZggdGZeeUMV{Bc!JX>N37a&BR4FJo+JFLQ8dZf<3Ab1rasP)h*<6ay3h +000O8ldVxv+pKr?eE1poj95C8xo00000000000001_fzr|d0B~t=FJEbHbY* +gGVQepBZ*6U1Ze(*WUtei%X>?y-E^v8JO928D0~7!N00;n+tx-|DzjPz|1^@so761Sr000000000000 +01_ftJ_+0B~t=FJEbHbY*gGVQepBZ*6U1Ze(*WV_{=xWiD`eP)h*<6ay3h000O8ldVxvK70jkRRRD2j +RpV!9{>OV0000000000q=C)f003}la4%nJZggdGZeeUMV{dJ3VQyq|FJowBV{0yOc~DCM0u%!j00008 +0F$jzQBj5I!y5zu00|5L03-ka00000000000HlFm;s5|}X>c!JX>N37a&BR4FJo_QZDDR?b1!3WZE$R +5bZKvHE^v8JO928D0~7!N00;n+tx-{|>Iy#-3IG6rBme*>00000000000001_fxPAb0B~t=FJEbHbY* +gGVQepBZ*6U1Ze(*WV{dL|X=inEVRUJ4ZZ2?nP)h*<6ay3h000O8ldVxv!m*%qR0#k8k{kd49{>OV00 +00000000q=6Li003}la4%nJZggdGZeeUMV{dJ3VQyq|FJxt6b!RScc~DCM0u%!j000080F$jzQI=C4? +Y0E~05%f<03rYY00000000000HlGX`TziMX>c!JX>N37a&BR4FJo_QZDDR?b1!6XcW!KNVPr0Fc~DCM +0u%!j000080F$jzQEB|3B7Xz`0DKJq03ZMW00000000000HlGN0097SX>c!JX>N37a&BR4FJo_QZDDR +?b1!CcWo3G0E^v8JO928D0~7!N00;n+tx-{he_xX$0{{Rs2LJ#b00000000000001_fmj6r0B~t=FJE +bHbY*gGVQepBZ*6U1Ze(*WXkl|`E^v8JO928D0~7!N00;n+tx-|U5i0~L0ssK^1ONaY000000000000 +01_fwu?&0B~t=FJEbHbY*gGVQepBZ*6U1Ze(*WXk~10E^v8JO928D0~7!N00;n+tx-_}owiS08vp=XZ +2$lv00000000000001_fgKA00B~t=FJEbHbY*gGVQepBZ*6U1Ze(*WX>N0LVQg$JaCuNm0Rj{Q6aWAK +2mq6)W +gaCuNm0Rj{Q6aWAK2mq6c!JX>N37a&BR4FJo_QZDDR?b1!#jWo2wGaCuN +m0Rj{Q6aWAK2mq67uaA|NaUukZ1WpZv|Y%gSKb98 +cPVs&(BZ*FrhUtei%X>?y-E^v8JO928D0~7!N00;n+tx-`)e!&G=0ssJ!1poje00000000000001_f$ +2~I0B~t=FJEbHbY*gGVQepCX>)XPX<~JBX>V?GFJfVHWiD`eP)h*<6ay3h000O8ldVxvZ4DW1Z2~G`aA|NaUukZ1WpZv|Y%ghUWMz0SUtei%X>?y-E^v8JO928D0~7!N00;n+t +x-|lrC_G88UO%5R{#JY00000000000001_flpll0B~t=FJEbHbY*gGVQepHZe(S6FJo_PY-M9~Z*neh +c~DCM0u%!j000080F$jzQ4vCcQ1v1J078-g03`qb00000000000HlFEcmV)#X>c!JX>N37a&BR4FKKR +MWq2=eVPk7yXJubzX>Md?axQRrP)h*<6ay3h000O8ldVxvd&wyNI{*LxKL7v#AOHXW0000000000q=9 +vt0RV7ma4%nJZggdGZeeUMZEs{{Y;!MPUukY>bYEXCaCuNm0Rj{Q6aWAK2mq6c!JX>N37a&BR4FKusRWo&aVWNC6`V{~72 +a%?Vec~DCM0u%!j000080F$jzQEiXSKe7V=00#>I044wc00000000000HlFbr2znNX>c!JX>N37a&BR +4FKusRWo&aVW^ZzBVRT<(Z*FvQZ)`4bc~DCM0u%!j000080F$jzQBtu44etQ}0Eq+u0384T00000000 +000HlFRsR00RX>c!JX>N37a&BR4FKusRWo&aVX>Md?crI{xP)h*<6ay3h000O8ldVxvtoHDQRR{n8E* +$^>8~^|S0000000000q=9s+0RV7ma4%nJZggdGZeeUMZEs{{Y;!McX>MySaCuNm0Rj{Q6aWAK2mq60HaCuNm +0Rj{Q6aWAK2mq6c!JX>N37a&BR4FKusRWo&aVbYXI5WprO~d30!RZZ2?nP)h*<6 +ay3h000O8ldVxvC3D%HIRpRz)CvFq9RL6T0000000000q=6*G0RV7ma4%nJZggdGZeeUMZEs{{Y;!Mn +Xk}$=E^v8JO928D0~7!N00;n+tx-`9AAw3T0000o0000X00000000000001_ftbkw0B~t=FJEbHbY*g +GVQepMWpsCMa%(SNUukY>bYEXCaCuNm0Rj{Q6aWAK2mq6c!JX>N37a&BR4FK%UYcW-iQFJob2Xk{*Nc~DCM0u%!j000080F$jzQ +O^o{N@@lG03Q?p03iSX00000000000HlGp+5rG?X>c!JX>N37a&BR4FK%UYcW-iQFJy0bZftL1WG--d +P)h*<6ay3h000O8ldVxvlF~tv5efhR${zp#BLDyZ0000000000q=8`J0RV7ma4%nJZggdGZeeUMZe?_ +LZ*prdY+-tNUw3F_Wo#~Rc~DCM0u%!j000080F$jzQS1Vk-3$}}0BAb^03ZMW00000000000HlGk>j4 +08X>c!JX>N37a&BR4FK%UYcW-iQFLPycb7^mGE^v8JO928D0~7!N00;n+tx-`+9qiBM1poj{5C8xk00 +000000000001_f&Bjg0B~t=FJEbHbY*gGVQepMWpsCMa%(SjbZKmJE^v8JO928D0~7!N00;n+tx-{!q +mjt>0ssJ72LJ#c00000000000001_fgT0|0B~t=FJEbHbY*gGVQepMWpsCMa%(SmZESLIV=i!cP)h*< +6ay3h000O8ldVxv000000ssI200000Bme*a0000000000q=8Zi0swGna4%nJZggdGZeeUMZ*XODVRUJ +4ZgVeRUukY>bYEXCaCuNm0Rj{Q6aWAK2mq6V?GFJowBV{0yOc~DCM0u%!j000080F$jzQI4VtDPRi#0EH+303rYY00 +000000000HlFH5CQ;jX>c!JX>N37a&BR4FK=*Va$$67Z*FrhW^!d^dSxzfc~DCM0u%!j000080F$jzQ +O{X6rNc!JX>N37a&BR4FK=*Va$$67Z*FrhaB^jEVRB_I +aCuNm0Rj{Q6aWAK2mq6V?GFJg6RY-BHAUukY>bYEXCaCuNm0Rj{Q6aWAK2mq6V?GFJg6RY-BHOWprU=VRT_GaCuNm0Rj{Q6aWAK2m +q6V?GFJg6RY +-BHOWprU=VRT_%Y-ML*V|gxcc~DCM0u%!j000080F$jzQHqd``(*+E0J#MK04D$d00000000000HlHT +Hv#}~X>c!JX>N37a&BR4FK=*Va$$67Z*FrhVs&Y3WG{DUWo2wGaCuNm0Rj{Q6aWAK2mq6V?GFJg6RY-BHYXk}$=Uu< +P(VPknNaCuNm0Rj{Q6aWAK2mq6V?GFKKRbbYX04FJE72ZfSI1UoLQYP)h*<6ay3h000O8ldVxvSev*iIsyOy&;c!JX>N37a&BR +4FK=*Va$$67Z*FrhX>N0LVQg$KY-ML*V|gxcc~DCM0u%!j000080F$jzQ9U0E(Q_mK08V-U04V?f000 +00000000HlEyNCE(GX>c!JX>N37a&BR4FK=*Va$$67Z*FrhX>N0LVQg$KcW7m0Y%XwlP)h*<6ay3h00 +0O8ldVxv_&u%k?*jk;Jq!Q<9RL6T0000000000q=C?E0swGna4%nJZggdGZeeUMa%FKZUtei%X>?y-E +^v8JO928D0~7!N00;n+tx-`CGwzD=5dZ)KKmY(C00000000000001_f%LZ*p@kaCuNm0Rj{Q6aWAK2mq6Y-KKRc~DCM0u%!j000080F$jzQ7}2;$$TOJ07`=Z03ZMW000 +00000000HlGkm;wNBX>c!JX>N37a&BR4FLGsZFLGsZUukZ0bYX04E^v8JO928D0~7!N00;n+tx-{hZa +=`z2mk=i9smFw00000000000001_fo!`10B~t=FJEbHbY*gGVQepQWpOWZWpQ6~WpplZc~DCM0u%!j0 +00080F$jzQF}oC>JkP308$bF03ZMW00000000000HlF*!~y_tX>c!JX>N37a&BR4FLGsZFLGsZUvzR| +V{2t{E^v8JO928D0~7!N00;n+tx-`VK+Nan82|v9TmS$f00000000000001_fyBxJ0B~t=FJEbHbY*g +GVQepQWpOWZWpQ71ZfS0FbYX04E^v8JO928D0~7!N00;n+tx-_`00002000000000a0000000000000 +1_f$HP}0B~t=FJEbHbY*gGVQepQWpi(Ab#!TOZZBV7X>MtBUtcb8c~DCM0u%!j000080F$jzQTS*F<| +hFF0IC8203ZMW00000000000HlE~c!JX>N37a&BR4FLGsbZ)|mRX>V>XVqtS-E^v8JO928D0 +~7!N00;n+tx-_`00002000000000h00000000000001_fs^I}0B~t=FJEbHbY*gGVQepQWpi(Ab#!TO +ZZB+QXJKP`FJE72ZfSI1UoLQYP)h*<6ay3h000O8ldVxvqhtfd78L*hLrDMtD*ylh0000000000q=DY +%0swGna4%nJZggdGZeeUMa%FRGY;|;LZ*DJaWoKbyc`tHhb8l>RWpXZXc~DCM0u%!j000080F$jzQ2+ +n{00IC200000051Rl00000000000HlFE`~m=QX>c!JX>N37a&BR4FLGsbZ)|mRX>V>Xa%FRGY<6XAX< +{#5UukY>bYEXCaCuNm0Rj{Q6aWAK2mq6QbZKvHFLGsbZ)|pDY-wUIVqtS-E^v8JO928D0~7!N00;n+tx-|HzRWo&6;FJobDWNBn +!bY*icaCuNm0Rj{Q6aWAK2mq6-UEd008(w001rk0000000000005+c3K9bVaA|NaUukZ1WpZ +v|Y%g+Ub8l>QbZKvHFLGsbZ)|pDY-wUIW?^G=Z*qAqaCuNm0Rj{Q6aWAK2mq6QbZKvHFLGsbZ)|pDY-wUIW^Z+FWM5-pZ +e(d>VRU74E^v8JO928D0~7!N00;n+tx-_|tBFyH1poln4*&o!00000000000001_f%_-}0B~t=FJEbH +bY*gGVQepQWpi(Ab#!TOZZC3Wb8l>RWo&6;FK}{ic4=f~axQRrP)h*<6ay3h000O8ldVxv{mNE|hy(x +tpAi56GXMYp0000000000q=C{d0|0Poa4%nJZggdGZeeUMa%FRGY;|;LZ*DJgWpi(Ac4cg7VlQ%Kadl +~OWo>0{baO6nc~DCM0u%!j000080F$jzQEe{K;I0e+0C6V(051Rl00000000000HlGdGXnr{X>c!JX> +N37a&BR4FLGsbZ)|mRX>V>Xa%FRGY<6XAX<{#OWpi(Ac4cxdaCuNm0Rj{Q6aWAK2mq64;ZUtei%X>?y-E^v8JO928D0~7!N +00;n+tx-|AVuY`80ssI-1pojZ00000000000001_f#pC00B~t=FJEbHbY*gGVQepTbZKmJFJW+SWNC7 +9E^v8JO928D0~7!N00;n+tx-|8!zhdt4gdfVB>(^&00000000000001_fs#W50B~t=FJEbHbY*gGVQe +pTbZKmJFJo_QaA9;VaCuNm0Rj{Q6aWAK2mq64;ZV{dJ6VRUI?X>4h9d0%v4XLBxac~DCM0u%!j000080F$jzQK&GMf3yGq0 +4D(e03QGV00000000000HlGGSOWlXX>c!JX>N37a&BR4FLiWjY;!MUVRU75X>DaLaCuNm0Rj{Q6aWAK +2mq64;ZWMy!2Wn*D +V>WaCuNm0Rj{Q6aWAK2mq64;ZWNC6`V{~72a%^8{Wo&R|a&s03`qb00 +000000000HlH8WCH+jX>c!JX>N37a&BR4FLiWjY;!MUX>)XSbZKmJUtw}*b1rasP)h*<6ay3h000O8l +dVxva4ZqSNCE%=1O)&99{>OV0000000000q=8~*0|0Poa4%nJZggdGZeeUMb#!TLb1!9XV{c?>Zf7oV +c~DCM0u%!j000080F$jzQT%p)Tx$XV0DuGl03rYY00000000000HlHEX#)UoX>c!JX>N37a&BR4FLiW +jY;!MVZgg^aaBpdDbaO6nc~DCM0u%!j000080F$jzQ8s$@dHM+e03RCw03iSX00000000000HlGEYy$ +vrX>c!JX>N37a&BR4FLiWjY;!MWX>4V4d2@7SZ7y(mP)h*<6ay3h000O8ldVxv=bCvP00961I|2XzAO +HXW0000000000q=CzJ0|0Poa4%nJZggdGZeeUMb#!TLb1!CTY-MzLaAk8YaCuNm0Rj{Q6aWAK2mq64;ZXKZO=V=i!cP)h*< +6ay3h000O8ldVxvJfzQXk_G?(MiKx39RL6T0000000000q=B`40|0Poa4%nJZggdGZeeUMb#!TLb1!I +Nb7*CAE^v8JO928D0~7!N00;n+tx-{rzIrpM0RR9h0{{Rm00000000000001_fr5ks0B~t=FJEbHbY* +gGVQepTbZKmJFKKRSWn*+-b7f<7a%FUKVQzD9Z*p`laCuNm0Rj{Q6aWAK2mq64;ZY;R|0X>MmOaCuNm0Rj{Q6aWAK2mq64;ZZE163E^v8JO928D +0~7!N00;n+tx-|uoG>kl0RRB81ONaX00000000000001_f#bLX0B~t=FJEbHbY*gGVQepTbZKmJFKus +RWo&aUaCuNm0Rj{Q6aWAK2mq64;ZaA9L>VP|P>XD)DgP)h*<6ay3h000O8ldVxvj(e2f)&u|mObq}49{>OV0000000000q= +7fT0|0Poa4%nJZggdGZeeUMb#!TLb1!gVa$#(2Wo#~Rc~DCM0u%!j000080F$jzQ5^@%K;Z!Z0OkY$0 +3-ka00000000000HlFR!~+0uX>c!JX>N37a&BR4FLiWjY;!MgYiD0_Wpi(Ja${w4E^v8JO928D0~7!N +00;n+tx-`+A}jVa1polT6951w00000000000001_fo;YE0B~t=FJEbHbY*gGVQepTbZKmJFLPydb#Qc +VZ)|g4Vs&Y3WG--dP)h*<6ay3h000O8ldVxvTBY_5cMJdk#3ld$ApigX0000000000q=Dzl0|0Poa4% +nJZggdGZeeUMb#!TLb1!psVsLVAV`X!5E^v8JO928D0~7!N00;n+tx-{37`1wN3IG7QAOHX#0000000 +0000001_ft}a`0B~t=FJEbHbY*gGVQepTbZKmJFLY&Xa9?C;axQRrP)h*<6ay3h000O8ldVxvN6Mv)% +mM%ac?AFf9RL6T0000000000q=8f80|0Poa4%nJZggdGZeeUMb#!TLb1!sxaA|I5E^v8JO928D0~7!N +00;n+tx-|IfwIku3IG5QB>(^*00000000000001_fm-GR0B~t=FJEbHbY*gGVQepTbZKmJFLiEkVPk7 +)Zf7oVc~DCM0u%!j000080F$jzQO1-R1hN7E0QUs|02=@R00000000000HlE<@dE&GX>c!JX>N37a&B +R4FLiWjY;!Mla%^)haCuNm0Rj{Q6aWAK2mq64;Zc4=~Sbzy8}Zgwtkc~DCM0u%!j000080F$jzQ3%%z1SJUo0EZj^02}}S0 +0000000000HlG#`2zrOX>c!JX>N37a&BR4FLiWjY;!MnXk}$=E^v8JO928D0~7!N00;n+tx-{5?!i$_ +0RRAL0ssIV00000000000001_fg%G00B~t=FJEbHbY*gGVQepUV{bYEXCaCuNm0Rj{Q6aWA +K2mq6gBG5C8z7HUIz^00000000000001_fhh_E0B~t=FJEbHbY*gGVQepUV{ +=}dc~DCM0u%!j000080F$jzQAD#%no9-%04fv!03HAU00000000000HlFi8w3DwX>c!JX>N37a +&BR4FLq;dFKuOVV|8+AVQemNc~DCM0u%!j000080F$jzQO(=!%MA|z0Bc!JX>N37a&BR4FLq;dFLQNbc4cyNX>V>WaCuNm0Rj{Q6aWAK2mq6b8{|mc~DCM0u%!j000080F$jzQ3ekq-1GYY0P-sY02lxO00000000000HlGg-U +I+}X>c!Jc4cm4Z*nhid2nHJb7^j8E^v8JO928D0~7!N00;n+tx-`Sd%OzI2><}}CIA2z00000000000 +001_f!Epv0B~t=FJE?LZe(wAFLGsca(QWPXD)DgP)h*<6ay3h000O8ldVxva)BrssvrOWZ-oE=5&!@I +0000000000q=DPy1pshqa4%nWWo~3|axZgfcrI{xP)h*<6ay3h000O8ldVxvW&$|!6afGLwE+MC761S +M0000000000q=B^s1^{qra4%nWWo~3|axZpeZe(wAE_8TwP)h*<6ay3h000O8ldVxvTKJ;ztN;K2E&% +`lBme*a0000000000q=Eeg1^{qra4%nWWo~3|axY_HV`yb#Z*FvQZ)`7LUukY>bYEXCaCuNm0Rj{Q6a +WAK2mq6jwq^aA|NaUv_0~WN&gWV_{=xWn*t{baHQOF +JEJAWG--dP)h*<6ay3h000O8ldVxvM`;)bkp%z%5)%LbBLDyZ0000000000q=7361^{qra4%nWWo~3| +axY_HV`yb#Z*FvQZ)`7NWMOc0WpXZXc~DCM0u%!j000080F$jzQO07tO)>!h03`ze03iSX000000000 +00HlHa4+a2mX>c!Jc4cm4Z*nhVVPj}zV{dMBa&K%eV_{=xWiD`eP)h*<6ay3h000O8ldVxvg_dL!5&- +}Jw*mkFA^-pY0000000000q=9Y`1^{qra4%nWWo~3|axY_HV`yb#Z*FvQZ)`7PZ*6d4bS`jtP)h*<6a +y3h000O8ldVxvmi}*T5D)+WMK=HdCIA2c0000000000q=CQ^1^{qra4%nWWo~3|axY_HV`yb#Z*FvQZ +)`7PZ*FvQZ)|L3axQRrP)h*<6ay3h000O8ldVxv^U?kq`U3y}4V8a$#_AWpXZXc~DCM0u%!j000080F$jzQIsWZUatiJ0Ok( +>044wc00000000000HlFaCk6m;X>c!Jc4cm4Z*nhVVPj}zV{dMBa&K%eXk~SBX>)XGV{c!Jc4cm4Z*nhVVPj}zV{dMBa& +K%eb7gXAVQgu7WiD`eP)h*<6ay3h000O8ldVxvr#-pS?f?J)vH}1ABLDyZ0000000000q=BI}1^{qra +4%nWWo~3|axY_HV`yb#Z*FvQZ)`7ja$#_AWpXZXc~DCM0u%!j000080F$jzQ5nCuFgE}I09F7104o3h +00000000000HlG?HwFN3X>c!Jc4cm4Z*nhVVPj}zV{dMBa&K%eV_{=xWpgiIUukY>bYEXCaCuNm0Rj{ +Q6aWAK2mq6c!Jc4cm4Z*nhVVPj}zV{dMBa&K%eV_{=xWpgibWn^h{Ut?ioXk{*Nc~DCM0u%!j000080 +F$jzQ8$qWnLq#l06qW!03QGV00000000000HlFeKn4JCX>c!Jc4cm4Z*nhVWpZ?BW@#^9UukY>bYEXC +aCuNm0Rj{Q6aWAK2mq6K;k009300018V0000000000005+c)IbIRaA|NaUv_0~WN&gWV`Xx +5X=Z6JUteuuX>MO%E^v8JO928D0~7!N00;n+tx-`iK=nlWPyzrNPXquS00000000000001_fv-UZ0B~ +t=FJE?LZe(wAFJonLbZKU3FJob2WpZ>baAj>!O928D0~7!N00;n+tx-|=p*kAg0{{RE2><{a0000000 +0000001_f#s420B~t=FJE?LZe(wAFJonLbZKU3FJo_VWiD`eP)h*<6ay3h000O8ldVxv@XrrZOV0000000000q=EdF2mo+ta4%nWWo~3|axY_OVRB?;bT40DX>MtBUtcb8c~DCM0u%!j00008 +0F$jzQ8~Ya5brqv02X=x03QGV00000000000HlE(ng{@JX>c!Jc4cm4Z*nhVXkl_>WppoMX=gQNa%FK +YaCuNm0Rj{Q6aWAK2mq6AWpXZXc~DCM0u%!j000080F$jzQQ%o9Jv|8k0K+5z04D$d00000000000HlG$*9 +ZV`X>c!Jc4cm4Z*nhVXkl_>WppoNXkl_>X>)XPX<~JBX>V>WaCuNm0Rj{Q6aWAK2mq6AWpXZX +c~DCM0u%!j000080F$jzQQ((hTE7PX0QM6A03-ka00000000000HlHcc!Jc4cm4Z*nhVXkl_ +>WppoNXkl`5Wpr?IZ(?O~E^v8JO928D0~7!N00;n+tx-{2`!`6W1pojB4gdft00000000000001_fdK +9Z0B~t=FJE?LZe(wAFJow7a%5$6FJo_HX>Mn8bYXO5ZDC_*X>MgMaCuNm0Rj{Q6aWAK2mq6+=WzaA|NaUv_0~WN&gWV`yP=WMyc!Jc4cm4Z*nhVXkl_>WppoNa5*$N +aB^>AWpXZXc~DCM0u%!j000080F$jzQA7l+$-n{t0DT4k02}}S00000000000HlEz`Un7UX>c!Jc4cm +4Z*nhVXkl_>WppoPZgp*QE^v8JO928D0~7!N00;n+tx-_~hy^`01pokU4*&ol00000000000001_ff4 +-(0B~t=FJE?LZe(wAFJow7a%5$6FJ*IMaB^>AWpXZXc~DCM0u%!j000080F$jzQNapeq7()I01hbt02 +}}S00000000000HlG00toc!Jc4cm4Z*nhVXkl_>WppoPb7OODE^v8JO928D0~7!N00;n+tx-`RH +^k5?1pol04gdfm00000000000001_fzk*G0B~t=FJE?LZe(wAFJow7a%5$6FJ*OOYH)CJZ(?O~E^v8J +O928D0~7!N00;n+tx-|*K?8YV7ytn3Gynh~00000000000001_fjkZg0B~t=FJE?LZe(wAFJow7a%5$ +6FJ*OOYjS3CWpOTWc~DCM0u%!j000080F$jzQ6>eK_&5Uq0MrHm03rYY00000000000HlH2CJ6v=X>c +!Jc4cm4Z*nhVXkl_>WppoPbz^ICaB^>AWpXZXc~DCM0u%!j000080F$jzQOw&()iXK(0EK%103ZMW00 +000000000HlFaDhU8^X>c!Jc4cm4Z*nhVXkl_>WppoPbz^jQW^!e5E^v8JO928D0~7!N00;n+tx-{+L +5&zV0{{Ti1^@se00000000000001_fy8790B~t=FJE?LZe(wAFJow7a%5$6FJ*OOba!xaZ(?O~E^v8J +O928D0~7!N00;n+tx-`KMbg(}CjbEJPyhfS00000000000001_fjnpl0B~t=FJE?LZe(wAFJow7a%5$ +6FK1#hGcht|a%FKYaCuNm0Rj{Q6aWAK2mq6@_ua4%nWWo~3|axY_OVRB?;bT4XYb7pd7aV~Iq +P)h*<6ay3h000O8ldVxv26-iFP7?qCyG#H89RL6T0000000000q=A6e2>@_ua4%nWWo~3|axY_OVRB? +;bT4XfV{UYKE^v8JO928D0~7!N00;n+tx-|%XvxYT3jhEoG5`Q600000000000001_feGpf0B~t=FJE +?LZe(wAFJow7a%5$6FKl6MXJU11XJK+_VQy`2WMynFaCuNm0Rj{Q6aWAK2mq6(^b0000000000q=C2r3IK3va4%nWWo~3|axY_OVRB?;bT4dS +Zf9q5Wo2t^Z)9a`E^v8JO928D0~7!N00;n+tx-{rW~~^#2><|5EC2u|00000000000001_fn^H{0B~t +=FJE?LZe(wAFJow7a%5$6FKl6MXJ}<&a%FdIZ)9a`E^v8JO928D0~7!N00;n+tx-|K!Bv3O3IG5wF#r +H500000000000001_fo2s70B~t=FJE?LZe(wAFJow7a%5$6FKl6MXJ~b9XJK+_VQy`2WMynFaCuNm0R +j{Q6aWAK2mq6c!Jc4cm4Z*nhVXkl_>WppoWVRUJ3F>rEkVr6nJaCuNm0Rj{Q6aW +AK2mq6`8uaA|NaUv_0~WN&gWV`yP=WMy +g9-jvQ02vkl044wc00000000000HlGEQwjiZX>c!Jc4cm4Z*nhVXkl_>WppodVq<7wa&u*LaB^>AWpX +ZXc~DCM0u%!j000080F$jzQHuUgpoIhg0NM=z044wc00000000000HlF+TM7VhX>c!Jc4cm4Z*nhVXk +l_>WppodVqa&L8TaB^>AWpXZXc~DCM0u%!j000080F$jzQPz=XG9U#20KN_Y03iSX00000000000 +HlFFUc!Jc4cm4Z*nhVXkl_>WppodYH4$Da&KZ~axQRrP)h*<6ay3h000O8ldVxvb$~}ba18(e +#V`N>C;$Ke0000000000q=B7f3IK3va4%nWWo~3|axY_OVRB?;bT4&oX?A6Db75>`Wprg@bZ>GlaCuN +m0Rj{Q6aWAK2mq6AWpXZXc~DCM0u%!j000080F$jzQAfv+*SP=y0P+9;03HAU00000000000HlG}cM1S-X> +c!Jc4cm4Z*nhVXkl_>WppogWpZc!Jc4cm4Z*nhVXkl_>WppoNY-ulFUukY>bYEXCaCuNm0Rj{Q6aWAK2mq6c!Jc4cm4Z*nhVZ)| +UJVQpbAUtei%X>?y-E^v8JO928D0~7!N00;n+tx-`v6{lZ|0{{Tr2><{b00000000000001_f#iM)0B +~t=FJE?LZe(wAFJo_PZ*pO6VJ~5Bb7?Mcc~DCM0u%!j000080F$jzQ6undb7>0z0NyA703!eZ000000 +00000HlGbf(ig|X>c!Jc4cm4Z*nhVZ)|UJVQpbAVQzD2bZ>WQZZk42aCuNm0Rj{Q6aWAK2mq6(;RaCuN +m0Rj{Q6aWAK2mq6c!Jc4 +cm4Z*nhVZ)|UJVQpbAcWG{PWpZsUaCuNm0Rj{Q6aWAK2mq6?y-E^v8JO928D0~7!N00;n+tx-{wiKQzxD*yn% +p#T6K00000000000001_fo7fx0B~t=FJE?LZe(wAFJx(RbZlv2FJo_QaA9;VaCuNm0Rj{Q6aWAK2mq6 +c!Jc +4cm4Z*nhWX>)XJX<{#IZ)0I}Z*p@kaCuNm0Rj{Q6aWAK2mq6iaP)h*<6ay3h000O8ldVxvj@^V3s0#o94k`cuAOHXW0000000000q=EB(3jlCwa4%nWWo~3|axY|Qb +98KJVlQ%Kb8mHWV`XzLaCuNm0Rj{Q6aWAK2mq6I0B~t=FJE?LZe(wAFJx(RbZlv2FLX9EE@gOSP)h*<6ay3h000O8ld +VxvQU%2*XFmV{#pwV58vp2ZVc~DCM0 +u%!j000080F$jzQTAvkEKV5!0AE`G03HAU00000000000HlHIVhsRrX>c!Jc4cm4Z*nhWX>)XJX<{#S +WpZc!Jc4cm +4Z*nhWX>)XJX<{#TGcqn^cx6ya0Rj{Q6aWAK2mq6WaA|NaUv_0~WN&gWWNCABY-wUIcQ!OGWq4&!O928D0~7!N00;n+tx-|r6S^E|CjbDrpa1|I0000000 +0000001_fraf30B~t=FJE?LZe(wAFJx(RbZlv2FL!8VWo#~Rc~DCM0u%!j000080F$jzQ6ukX{KEhM0 +1^QJ04V?f00000000000HlE@6%PP#X>c!Jc4cm4Z*nhWX>)XJX<{#5Vqs%zaBp&SFJE72ZfSI1UoLQY +P)h*<6ay3h000O8ldVxvuZk~a&H(@b%L4!aB>(^b0000000000q=7LO4*+m!a4%nWWo~3|axY|Qb98K +JVlQ7}VPk7>Z*p`mZE163E^v8JO928D0~7!N00;n+tx-|NIR?{F8~^}oWB>ps00000000000001_fkG +G$0B~t=FJE?LZe(wAFJx(RbZlv2FJEF|V{344a&#|qXmxaHY%XwlP)h*<6ay3h000O8ldVxvZx#Tp_5 +lC@ISK#(D*ylh0000000000q=DEp4*+m!a4%nWWo~3|axY|Qb98KJVlQ7}VPk7>Z*p`mb9r-PZ*FF3X +D(xAXHZK40u%!j000080F$jzQT}=Bqp2PM0On`_04e|g00000000000HlEzHxB@CX>c!Jc4cm4Z*nhW +X>)XJX<{#5Vqs%zaBp&SFLQZwV{dL|X=g5Qc~DCM0u%!j000080F$jzQA9!?Ltc!Jc4cm4Z*nhWX>)XJX<{#5Vqs%zaBp&SFLYsYW@&6?E^v8JO928D0~7!N00; +n+tx-{lmv5*<0ssJr1ONaa00000000000001_fv~R+0B~t=FJE?LZe(wAFKBdaY&C3YVlQ7`X>MtBUt +cb8c~DCM0u%!j000080F$jzQOc(+;Vl#Z09Zi)03iSX00000000000HlF3vJU`oX>c!Jc4cm4Z*nhab +Zu-kY-wUIUukGzbY*yLY%XwlP)h*<6ay3h000O8ldVxviZ&5F4j%vjVSWGrBme*a0000000000q=BBs +4*+m!a4%nWWo~3|axZ9fZEQ7cX<{#5X>M?JbaQlaWnpbDaCuNm0Rj{Q6aWAK2mq6 +4;YaCuNm0Rj{Q6aWAK2mq6c!Jc4cm4Z*nhabZu-kY-wUIXmo9CHE>~ab7gWaaCuNm0Rj{Q6aWAK2mq6dS!AhaCuNm0Rj{Q6aW +AK2mq6bYEXCaCuNm0Rj{Q6aWAK2mq6c!Jc4cm4Z*nhabZu-kY-wUIW@&76WpZ;bUtei%X>? +y-E^v8JO928D0~7!N00;n+tx-{cumljo0RRA(0{{Rv00000000000001_fmf~&0B~t=FJE?LZe(wAFK +BdaY&C3YVlQTCY;c!Jc4cm4Z*nhabZu-kY-wU +IW@&76WpZ;bX>Mv|V{~6_WprU*V`yP=b7gccaCuNm0Rj{Q6aWAK2mq6E{4?5a&s?la +CB*JZeeV6VP|tLaCuNm0Rj{Q6aWAK2mq6@6NWpXZXc~DCM0u%!j000080F$jzQDAca5A^{60KNn +O04e|g00000000000HlG~*AM`3X>c!Jc4cm4Z*nhabZu-kY-wUIW@&76WpZ;bcW7yJWpi+0V`VOIc~D +CM0u%!j000080F$jzQJy(*T4wc!Jc4cm4Z*nhabZu-kY- +wUIbaG{7VPs)&bY*gLFJE72ZfSI1UoLQYP)h*<6ay3h000O8ldVxvQj8HPR0041vjzYFD*ylh000000 +0000q=CoV5CCv#a4%nWWo~3|axZ9fZEQ7cX<{#Qa%E*p0PqF?04M+e00000000000HlFr-VgwAX>c!Jc4cm4Z*nhabZu-kY-wUIbaG{7VPs) +&bY*gLFLPmdE^v8JO928D0~7!N00;n+tx-{B+iOfy1pojD4gdfx00000000000001_f$rcC0B~t=FJE +?LZe(wAFKBdaY&C3YVlQ-ZWo2S@X>4R=a&s?VUukY>bYEXCaCuNm0Rj{Q6aWAK2mq6c!Jc4cm4Z*nhabZu-k +Y-wUIbaG{7Vs&Y3WMy)5FJy0RE^v8JO928D0~7!N00;n+tx-`;t4R=a&s?bbaG{7E^v8JO928D0~7!N00;n+tx- +|28MlBL4gdhIIRF4J00000000000001_fusl#0B~t=FJE?LZe(wAFKBdaY&C3YVlQ-ZWo2S@X>4R=a& +s?bbaG{7Uu<}7Y%XwlP)h*<6ay3h000O8ldVxv+jeS&o(2E_R~7&OEC2ui0000000000q=5<-5dd&$a +4%nWWo~3|axZ9fZEQ7cX<{#Qa%E+AVQgzbYEXCaCuNm0Rj{Q6aWAK2mq6c!Jc4cm4Z*nhabZu-kY-wUIbaG{7cVTR6WpZ;bWpr|7WiD`eP)h*<6ay3h000O8ldVxvF +atz%c?JLg)ffN(E&u=k0000000000q=CIG5dd&$a4%nWWo~3|axZ9fZEQ7cX<{#Qa%E+AVQgzbYEXCaCuNm0Rj{Q6aWAK2mq6P0000000000005+c|27c-aA|NaUv_0~WN&gWX=H9;FJo_HWn(UIc~DCM0u%!j0 +00080F$jzQG9`xaE|~00O$Y!02%-Q00000000000HlFXIuQVHX>c!Jc4cm4Z*nhbWNu+EV{dJ6VRSBV +c~DCM0u%!j000080F$jzQ5>5zEG!EE0Ix0p02lxO00000000000HlEzI}reIX>c!Jc4cm4Z*nhbWNu+ +EV{dY0E^v8JO928D0~7!N00;n+tx-|etV%R*BLDzyr2qgN00000000000001_fq6y|0B~t=FJE?LZe( +wAFKJ|MVJ~T9Zee6$bYU)Vc~DCM0u%!j000080F$jzQMY6CvgQH+0M!Nn0384T00000000000HlE;Y7 +qc%X>c!Jc4cm4Z*nhbWNu+EX>N3KVQyz-b1rasP)h*<6ay3h000O8ldVxv9n@?07ytkO761SMAOHXW0 +000000000q=7?i5dd&$a4%nWWo~3|axZCQZecHQVPk7yXJubxVRT_GaCuNm0Rj{Q6aWAK2mq6mbYU)Vc~DCM0u%! +j000080F$jzQH>{8Sl|Hw0A2(D03QGV00000000000HlGv1QGynX>c!Jc4cm4Z*nhfb7yd2V{0#8Uuk +Y>bYEXCaCuNm0Rj{Q6aWAK2mq6FJ*XRWpH$9Z*FrgaCuNm0Rj{Q6aWAK2mq6Vqs%zE^v8JO92 +8D0~7!N00;n+tx-{0n`@Ge0RRBt0ssIa00000000000001_fo3fd0B~t=FJE?LZe(wAFK}UFYhh<;Zf +7rFUtwZzb#z}}E^v8JO928D0~7!N00;n+tx-{B8xcel0RR9p0ssIZ00000000000001_fiy1?0B~t=F +JE?LZe(wAFK}UFYhh<;Zf7rFUukY>bYEXCaCuNm0Rj{Q6aWAK2mq6VP|P>XD?r4Z*6d4bS`jtP)h*<6ay3h000O8ldVxv>RtT +To&f*=<_7=(Bme*a0000000000q=5%B5&&>%a4%nWWo~3|axZXUV{2h&X>MmPUvqSFbz^jOa%FQaaCu +Nm0Rj{Q6aWAK2mq6VP +|P>XD?rLd2nfNXD)DgP)h*<6ay3h000O8ldVxvXhhWrehUBq6D0ruAOHXW0000000000q=Ae$5&&>%a +4%nWWo~3|axZXUV{2h&X>MmPZDDe2WpZ;aaCuNm0Rj{Q6aWAK2mq6VP|P>XD@PPadl~OWo>0{baO6nc~DCM0u%!j000080F$j +zQTxa#g&P|H0LXj*03!eZ00000000000HlGvOA-KZX>c!Jc4cm4Z*nhiVPk7yXK8L{FLQ8ZV`*k-WpZ +;aaCuNm0Rj{Q6aWAK2mq6VP|P>XD@VNXLBxac~DCM0u%!j000080F$jzQA*!tVEF<7022oQ03HAU00000000000HlFgf)W65X +>c!Jc4cm4Z*nhiVPk7yXK8L{FLiWjY;!Jfc~DCM0u%!j000080F$jzQBZoD7w``N0B$@003ZMW00000 +000000HlGAg%SX8X>c!Jc4cm4Z*nhiVPk7yXK8L{FLq^eb7^mGE^v8JO928D0~7!N00;n+tx-{t5f@u +k0000~0000U00000000000001_fxMLx0B~t=FJE?LZe(wAFK}gWH8D3YUtei%X>?y-E^v8JO928D0~7 +!N00;n+tx-`PBWpi^baCuNm0Rj{Q6aWAK2mq6%a4%nWWo~3|axZXYa5XVEFJo_PZ*pvJXD)DgP)h*<6ay3h000O8ldVxv$`@S>Edc +-k3%a4%nWWo~3|axZXYa5XVEFJo_QaA9;VaCuNm0Rj{Q6aWAK2m +q6xRLZ)|fea +CuNm0Rj{Q6aWAK2mq6XaA|NaUv_0~WN&gWaAj~c +F*h$|ZgygIX>4RJaCuNm0Rj{Q6aWAK2mq6>E6);005r}000^Q0000000000005+c`n?hWaA|N +aUv_0~WN&gWaAj~cF*h%5WprUKaCuNm0Rj{Q6aWAK2mq6MtBUtcb8c~DCM0u%!j0 +00080F$jzQDGzl)=L2Z05Spq04D$d00000000000HlFpLK6URX>c!Jc4cm4Z*nhiYiD0_Wpi(Ja${w4 +FK~G?F=KCSaA9;VaCuNm0Rj{Q6aWAK2mq6Fa%FRKFJE72ZfSI1UoLQYP)h*<6ay3h000O8ldVxvm&~=erUU>0CJO)n8vpc!Jc4cm4Z*nhia&KpHWpi^cV{dhCbY*fbaCuNm0Rj{Q6aWAK2 +mq6Fa%FRKFLQ8dZf<3A +E^v8JO928D0~7!N00;n+tx-`A@IRa41^@tY5dZ)n00000000000001_f$&um0B~t=FJE?LZe(wAFLGs +Zb!BsOb1z?CX>MtBUtcb8c~DCM0u%!j000080F$jzQ3IH{1_l8D0J#AG03!eZ00000000000HlEsT@w +IsX>c!Jc4cm4Z*nhkWpQ<7b98erUte}*a&u{KZeL$6aCuNm0Rj{Q6aWAK2mq6bMr0ALva02=@R00000000000HlF>brS$^X>c!Jc4cm +4Z*nhkWpQ<7b98erVQ^_KaCuNm0Rj{Q6aWAK2mq6c!Jc4cm4Z*nhkWpQ<7b98erZEs{{Y;!Jfc~DCM0u%! +j000080F$jzQ4&1ffolN(0Jj1F03ZMW00000000000HlF_(Gvi0X>c!Jc4cm4Z*nhkWpQ<7b98eraA9 +L>VP|D?E^v8JO928D0~7!N00;n+tx-{lh@!eoAOHY_asU7z00000000000001_fhW@w0B~t=FJE?LZe +(wAFLGsZb!BsOb1!pcb8~5LZgVbhc~DCM0u%!j000080F$jzQ9aAwdW{AE09+6N03-ka00000000000 +HlGj^AiAYX>c!Jc4cm4Z*nhkWpQ<7b98erb97;Jb#q^1Z)9b2E^v8JO928D0~7!N00;n+tx-`3jkVu= +1ONcN3jhEj00000000000001_fq?oG0B~t=FJE?LZe(wAFLGsZb!BsOb1!pra&=>Lb#i5ME^v8JO928 +D0~7!N00;n+tx-|$tNof=B>({6bpQYz00000000000001_fjs{c0B~t=FJE?LZe(wAFLGsZb!BsOb1! +vtX>4;YaCuNm0Rj{Q6aWAK2mq6R001HY0000000000005+c(j*iBaA|NaUv_0~WN +&gWa%FRGY<6XAX<{#5UukY>bYEXCaCuNm0Rj{Q6aWAK2mq6Kb1rasP)h* +<6ay3h000O8ldVxvf+o2{zz+ZbsyYAwBLDyZ0000000000q=Aes6aa8(a4%nWWo~3|axZdab8l>RWo& +6;FLGsbZ)|pDa&s +c!Jc4cm4Z*nhkWpi(Ac4cg7VlQ)aa&=>Lb1rasP)h*<6ay3h000O8ldVxv000000ssI200000DF6Tf0 +000000000q=6hk6aa8(a4%nWWo~3|axZdab8l>RWo&6;FJo_QaA9;WUtei%X>?y-E^v8JO928D0~7!N +00;n+tx-{7RJrO?0001g0000m00000000000001_fn`Ay0B~t=FJE?LZe(wAFLGsbZ)|pDY-wUIV{dJ +6VRSEJZ)|L3V{~b6ZgXE@Vq-3Fc~DCM0u%!j000080F$jzQ6b^(r4IoB0P6w(02}}S00000000000Hl +EiLKFaSX>c!Jc4cm4Z*nhmZ*6QZUtei%X>?y-E^v8JO928D0~7!N00;n+tx-{vk^V!J0002;0000Q00 +000000000001_flose0B~t=FJE?LZe(wAFLZBhY%gPPZEbIEE^v8JO928D0~7!N00;n+tx-{7BeKAmA +OHX;mjD1800000000000001_fg3~=0B~t=FJE?LZe(wAFLZBhY%gSGV{c?-axQRrP)h*<6ay3h000O8 +ldVxvf_5rrqY3~3<0b$A8vpc!Jc4cm4Z*nhmZ*6QZZ*p +X1a%E&LaCuNm0Rj{Q6aWAK2mq68003$N000&M0000000000005+cmv9sSaA|NaUv_0~WN +&gWbZ>2JFLZh?aCuNm0Rj{Q6aWAK2mq6?y-E^v8JO928D0~7!N00;n+tx-|LxH~)i3;+NqDgXc@0000000000 +0001_fiiX!0B~t=FJE?LZe(wAFLiQkY-wUMFJEJCY;0v?bZKvHb1rasP)h*<6ay3h000O8ldVxvbo3# +&ClUYveK-IBApigX0000000000q=9dP6aa8(a4%nWWo~3|axZmqY;0*_GcRLrZf<2`bZKvHE^v8JO92 +8D0~7!N00;n+tx-|d_=iAYCIA49ivR#600000000000001_fz_210B~t=FJE?LZe(wAFLiQkY-wUMFJ +o_RZe?S1X>V?DZ*OcaaCuNm0Rj{Q6aWAK2mq6c!Jc4cm4Z*nhna%^mAVlyvhX=Q9=b1rasP)h*<6ay3h000O8ldVxvFX~+ +;eFFdhhzS4y9{>OV0000000000q=6pL6aa8(a4%nWWo~3|axZmqY;0*_GcRUoY-Mn7b963nc~DCM0u% +!j000080F$jzQIn&t1CbN}0L4WB03rYY00000000000HlG~(-Z)3X>c!Jc4cm4Z*nhna%^mAVlyvrZ* +OdEVQyh(WpXZXc~DCM0u%!j000080F$jzQA->{DzgUw0D>0)03HAU00000000000HlGb=oA2OX>c!Jc +4cm4Z*nhna%^mAVlyvtWpQ<7b963nc~DCM0u%!j000080F$jzQNr|o9fchL06lI103QGV0000000000 +0HlGK@Du=WX>c!Jc4cm4Z*nhna%^mAVlyvtWpi+EZgXWWaCuNm0Rj{Q6aWAK2mq6?y-E^v8JO92 +8D0~7!N00;n+tx-`bgXtBu0RRBK0{{Rq00000000000001_fuRl+0B~t=FJE?LZe(wAFLiQkY-wUMFJ +o_RbaH88FJEDBaAj_1X>Mg-Wo~w9a&K-faCuNm0Rj{Q6aWAK2mq6c!Jc4c +m4Z*nhna%^mAVlyveZ*FvQX<{#Md2euKZgX>NE^v8JO928D0~7!N00;n+tx-|+B%Pa%BLD!AegFV200 +000000000001_fu}bW0B~t=FJE?LZe(wAFLiQkY-wUMFJo_RbaH88FLPyMb#i5Na$#c!Jc4cm4Z*nhna%^mAVlyveZ*FvQX<{#5b7f<7a%FUKVQzD9Z*p`mUtei%X>?y-E^v8JO928D0~7 +!N00;n+tx-{37wwF}4*&r6K>z?a00000000000001_fnj770B~t=FJE?LZe(wAFLiQkY-wUMFJo_Rba +H88FJE(IV|8+6baG*Cb8v5RbT49QZe(e0XLBxac~DCM0u%!j000080F$jzQPmv{U0x3W0JJUu0672v0 +0000000000HlFc!Jc4cm4Z*nhna%^mAVlyveZ*FvQX<{#5b7f<7a%FUKVQzD9Z*p`mY;Sj8 +Y-M(3Y%XwlP)h*<6ay3h000O8ldVxvtT~LVPyhe`YybcNC;$Ke0000000000q=7Aj6##H)a4%nWWo~3 +|axZmqY;0*_GcRyqV{2h&WpgiIUukY>bYEXCaCuNm0Rj{Q6aWAK2mq6VP|D?FLP;lE^v8JO928D0~7!N00;n+tx +-_`00002000000000o00000000000001_ff=L~0B~t=FJE?LZe(wAFLiQkY-wUMFK}UFYhh<)b1!0HV +{344a&&VqUtei%X>?y-E^v8JO928D0~7!N00;n+tx-|KvdJ4s0ssJt1pojt00000000000001_for4{ +0B~t=FJE?LZe(wAFLiQkY-wUMFK}UFYhh<)b1!0HV{344a&&VqZDDI=W@&6?E^v8JO928D0~7!N00;n ++tx-{XN#I;Q0RRB70ssIz00000000000001_fdr=&0B~t=FJE?LZe(wAFLiQkY-wUMFK}UFYhh<)b1! +pqY+r3*bYo~=Xm4|LZeeX@FJE72ZfSI1UoLQYP)h*<6ay3h000O8ldVxv!+g}>y9fXPKo$T1LI3~&00 +00000000q=B2L6##H)a4%nWWo~3|axZmqY;0*_GcRyqV{2h&Wpgicb8KI2VRU0?UubW0bZ%j7WiMZ8Z +E$R5ZDnqBVRUJ4ZZ2?nP)h*<6ay3h000O8ldVxvlZrq7umJ!74g>%IBme*a0000000000q=B}v6##H) +a4%nWWo~3|axZmqY;0*_GcR>?X>2cFUukY>bYEXCaCuNm0Rj{Q6aWAK2mq6V>WaCuNm0Rj{Q6aW +AK2mq603!eZ00000000000HlFZycGa&X>c!Jc4cm4Z +*nhna%^mAVlyvwbZKlaa%FLKWpi{caCuNm0Rj{Q6aWAK2mq6$s?X>2cYWpr|RE^v8JO92 +8D0~7!N00;n+tx-{8_GJ*I6953aH~;`300000000000001_f!5d+0B~t=FJE?LZe(wAFLiQkY-wUMFL +iWjY%g=giTX>c!Jc +4cm4Z*nhna%^mAVlyvwbZKlabZKp6Z*_DoaCuNm0Rj{Q6aWAK2mq6=}dc~DCM0u% +!j000080F$jzQFzcFaWV@408=Rd03-ka00000000000HlFz6BYn)X>c!Jc4cm4Z*nhpWnyJ+V{c?>Zf +A2ZUtei%X>?y-E^v8JO928D0~7!N00;n+tx-|Otq6++1^@sPBLDy*00000000000001_f#4n%0B~t=F +JE?LZe(wAFLz~PWo~0{WNB_^b1!URVr6V|E^v8JO928D0~7!N00;n+tx-`>e=#3K0ssIR1pojf00000 +000000001_fh8pt0B~t=FJE?LZe(wAFLz~PWo~0{WNB_^b1!XcY++($Y;!Jfc~DCM0u%!j000080F$j +zQD-=Cr?~|H0HYZI03iSX00000000000HlGdCl&y3X>c!Jc4cm4Z*nhpWnyJ+V{c?>ZfA2ZbY*jNb1r +asP)h*<6ay3h000O8ldVxv+XnpBr33%~(+~gvDgXcg0000000000q=BO?765Q*a4%nWWo~3|axZsfVr +6b)Z)9n1XLB!jUv+b3a$jU+W@&C^WG--dP)h{{00000cL8?+V08chkTMnk000 +""" + + +if __name__ == "__main__": + main() diff --git a/ddc-material-master/16.Python/Python-Scripts/kwargs.py b/ddc-material-master/16.Python/Python-Scripts/kwargs.py new file mode 100644 index 00000000..5df2e7c5 --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/kwargs.py @@ -0,0 +1,19 @@ +# Variable Length Arguments **kwargs (keyword Arguments) +import random + + +def time_activity(*args, **kwargs): + """ + Input: Multiple values for minutes, key=value pair activity + Output: Return sum of minutes + random minute spect on a random activity + """ + # print(args) + # print(kwargs) + min = sum(args) + random.randint(0, 60) + # print(min) + choice = random.choice(list(kwargs.keys())) + # print(choice) + print(f"You have to spend {min} Minutes for {kwargs[choice]}") + + +time_activity(10, 20, 10, hobby="Dance", sport="Boxing", fun="Driving", work="DevOps") diff --git a/ddc-material-master/16.Python/Python-Scripts/main.py b/ddc-material-master/16.Python/Python-Scripts/main.py new file mode 100644 index 00000000..5596b447 --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/main.py @@ -0,0 +1,16 @@ +# This is a sample Python script. + +# Press Shift+F10 to execute it or replace it with your code. +# Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings. + + +def print_hi(name): + # Use a breakpoint in the code line below to debug your script. + print(f'Hi, {name}') # Press Ctrl+F8 to toggle the breakpoint. + + +# Press the green button in the gutter to run the script. +if __name__ == '__main__': + print_hi('PyCharm') + +# See PyCharm help at https://www.jetbrains.com/help/pycharm/ diff --git a/ddc-material-master/16.Python/Python-Scripts/modern.py b/ddc-material-master/16.Python/Python-Scripts/modern.py new file mode 100644 index 00000000..c65475a1 --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/modern.py @@ -0,0 +1,33 @@ +import random + +def vac_feedback(vac, efficacy): + print(f"{vac} Vaccine is having {efficacy} % efficacy.") + if (efficacy > 50) and (efficacy <= 75): + print("Seems not so effective, Needs more trial.") + elif (efficacy > 75) and (efficacy < 90): + print("Can consider this vaccine.") + elif efficacy >= 90: + print("Sure, will take the shot.") + else: + print("Needs many more trials.") + +def order_food(min_order, *args): + print(f"You have ordered: {min_order}") +# print(args) + for item in args: + print(f"You have ordered: {item}") + print("Your food will be delivered in 30 mins:") + print("Enjoy the party") + +def time_activity(*args, **kwargs): + """ + Input: Multiple values for minutes, key=value pair activity + Output: Return sum of minutes + random minute spect on a random activity + """ + # print(args) + # print(kwargs) + min = sum(args) + random.randint(0, 60) + # print(min) + choice = random.choice(list(kwargs.keys())) + # print(choice) + print(f"You have to spend {min} Minutes for {kwargs[choice]}") \ No newline at end of file diff --git a/ddc-material-master/16.Python/Python-Scripts/ostasks/check-file.py b/ddc-material-master/16.Python/Python-Scripts/ostasks/check-file.py new file mode 100644 index 00000000..59155dd6 --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/ostasks/check-file.py @@ -0,0 +1,9 @@ +#!/usr/bin/python3 +import os +path = '/tmp/testfile.txt' +if os.path.isdir(path): + print("It is a directory") +elif os.path.isfile(path): + print("It is a file.") +else: + print("file or dir does not exists.") diff --git a/ddc-material-master/16.Python/Python-Scripts/ostasks/ostasks.py b/ddc-material-master/16.Python/Python-Scripts/ostasks/ostasks.py new file mode 100644 index 00000000..9d68c65e --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/ostasks/ostasks.py @@ -0,0 +1,65 @@ +#!/usr/bin/python3 +import os + +userlist = ["alpha", "beta", "gamma"] + +print("Adding users to system") +print("############################################################################################") + +# Loop to add user from userlist +for user in userlist: + exitcode = os.system("id {}".format(user) ) + if exitcode != 0: + print("User {} does not exist. Adding it.".format(user)) + print("##############################################") + print() + os.system("useradd {}".format(user)) + else: + print("User already exist, skipping it.") + print("##############################################") + print() + +# Condition to check if group exists or not, add if not exist. +exitcode = os.system("grep science /etc/group") +if exitcode != 0: + print("Group science does not exist. Adding it.") + print("##############################################") + print() + os.system("groupadd science") +else: + print("Group already exist, skipping it.") + print("##############################################") + print() + + +for user in userlist: + print("Adding user {} in the science group".format(user)) + print("##############################################") + print + os.system("usermod -G science {}".format(user)) + +print("Adding directory") +print("##############################################") +print() + +if os.path.isdir("/opt/science_dir"): + print("Directory already exist, skipping it") +else: + os.mkdir("/opt/science_dir") + +print("Assigning permission and ownership to the directory.") +print("##############################################") +print() +os.system("chown :science /opt/science_dir") + +os.system("chmod 770 /opt/science_dir") + + + + + + + + + + diff --git a/ddc-material-master/16.Python/Python-Scripts/python-syntaxx.py b/ddc-material-master/16.Python/Python-Scripts/python-syntaxx.py new file mode 100644 index 00000000..0939cce8 --- /dev/null +++ b/ddc-material-master/16.Python/Python-Scripts/python-syntaxx.py @@ -0,0 +1,13 @@ +x=2 + +print("Learning Indentation") +print() + +if x == 0: + print("In the If Block.") + print("Value of x is 0") +else: + print("In the else block.") + print("Value of x is non zero") + print() + print("This statement is out of if/else block.") \ No newline at end of file diff --git a/ddc-material-master/17.Ansible/Ansible.pdf b/ddc-material-master/17.Ansible/Ansible.pdf new file mode 100644 index 00000000..9d292e71 Binary files /dev/null and b/ddc-material-master/17.Ansible/Ansible.pdf differ diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise1/clientkey.pem b/ddc-material-master/17.Ansible/ansible-exercises/exercise1/clientkey.pem new file mode 100644 index 00000000..ae84a8e1 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise1/clientkey.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEA4+2Q9sZxoETHcIfUnWoggaYMsWf9f9cywZrTKa+21piyu090 +xVVtwFVbbJE+OB+kFXPYc3K3PUHszStHtUtfk9iyUMGSpTNeSs2JCRiKSqzZd9fs +AowBhlDntBQPIHBIt1rjtb8ZD9/e6Jl+PJ430qIk+XGskbsvx8g0to9tkK8Rueu9 +niZwH2corcnO2yovxwgP/IwAxwGfWV7qJBwJ0DnC2gh5y1KZb9zTefLwDFTtnjAr +mug+tZYgzUjrojX43OS6O7qqCOJ5vXW2BnvKRbzuPuyixw8T1rGJ7Clz3F2UQqg5 +Zn1aOGTibcHOmsAv4xxwWoh6zeEppu716O09nQIDAQABAoIBAGn3eA8TAZ62e1a4 +/8NTpNtB3OLZ6wR1g1Z5abUWyVWJ1oa5ERvxdL4XsRKPkDK9myaSHk7GRaTIMpTM +i2EhMsVk2Los1MXTVQJH/m7pJtpC9DQAgexJNShCEwco0EOPkG8WZYmI19kGhvby +7bq3AFMAKVqDW+zA7xzd2owJsLGzogsZFMPZgLg3PiUzdkSY19UNPnLOiRTADdXG +lOb7g9Ngfm5Q3qV9leuLD194A8DpKdEax32S1vSvYCRWvibXKynN7evkNxdfh6AT +twa5vFgSIkWLJWXWRasUoRJ9MJfrPkr0wvGQisx8zmW327xkBS6Z3pJ+qVzQHWVT +KaGtJI0CgYEA/nuU93YQqqTtDbaWf2w0k5tQg+0ED56kZ+Qn0kxNuY1BbeaXKAcY +1WIgmb+x1bW0qv2NOXRSjmNKXXen1koMmAi8O7N/tapdxiMxK2TJ6/TbSBI+mMi5 +SfmshbXeJ5LOpW+4jujEpmzKaV5g54+p9J9fCMijqlrw0AMti5KbHCsCgYEA5Ul0 +KCy4fwe5F4rTmXAGiVN1LPdzecnOnP9MXHuBsoyEsEYQsmlW5oR7CyrwPYbJcM+Z +PJKQcQQ6+Ari275vr51GkTg73truAO3qPptWJLWZszeVBLeaAiUwq/+piLAyxRB/ +P5CSSzcxsVcuAgUddfbLSH8N+g02SVgzQROPgVcCgYBwjsKtzXfDslzzUs4wH/EF +VI4BPAUuz3FSTlTarEs4heTpsjMrTjBKuTNILcR/jPYTJ0Cep/eX6QzMWI9QtcHq +QPrYwST8ehUt/QTTd6nkBpIyx3cOZsGlmZwYK//Nqx5hiA+ujf/kyHuirU7ZPO7k +NtV28h+Jyt12c+FiOX8HrwKBgDzvVYBryihwW/9mtK99dy89z9FAfh7qxA8zRg75 +/9D8yTKznDJeDms64Bxqr+gaDyT89wODDAINFsLe2cV+id4JFTz4zeh/FGuIzw0O +aUlePdfEOMVFKhfR3GqJinu6H/QBW2AAQvDcXUd9HMwKofa8vO+qXIOMyVWarBxq +X2QHAoGBAOrhosl+8x5fqSZ5kGShP0xlnuNg9OiDblFJUmRPobHeVGfnRCfiTgDN +e1FPXPLJsf/KH+5OkARCo08842p2XGKg9dGPzdP58SP6AL7oFYwESzDzN9MdK2/t +BpgfN68vaYbwMvSw0/guxMLrejWiBScMF9200+GUPGrXA9S/aI9L +-----END RSA PRIVATE KEY----- diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise1/inventory b/ddc-material-master/17.Ansible/ansible-exercises/exercise1/inventory new file mode 100644 index 00000000..79d1fbfb --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise1/inventory @@ -0,0 +1,6 @@ +all: + hosts: + web01: + ansible_host: 172.31.31.178 + ansible_user: ec2-user + ansible_ssh_private_key_file: clientkey.pem diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise2/clientkey.pem b/ddc-material-master/17.Ansible/ansible-exercises/exercise2/clientkey.pem new file mode 100644 index 00000000..ae84a8e1 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise2/clientkey.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEA4+2Q9sZxoETHcIfUnWoggaYMsWf9f9cywZrTKa+21piyu090 +xVVtwFVbbJE+OB+kFXPYc3K3PUHszStHtUtfk9iyUMGSpTNeSs2JCRiKSqzZd9fs +AowBhlDntBQPIHBIt1rjtb8ZD9/e6Jl+PJ430qIk+XGskbsvx8g0to9tkK8Rueu9 +niZwH2corcnO2yovxwgP/IwAxwGfWV7qJBwJ0DnC2gh5y1KZb9zTefLwDFTtnjAr +mug+tZYgzUjrojX43OS6O7qqCOJ5vXW2BnvKRbzuPuyixw8T1rGJ7Clz3F2UQqg5 +Zn1aOGTibcHOmsAv4xxwWoh6zeEppu716O09nQIDAQABAoIBAGn3eA8TAZ62e1a4 +/8NTpNtB3OLZ6wR1g1Z5abUWyVWJ1oa5ERvxdL4XsRKPkDK9myaSHk7GRaTIMpTM +i2EhMsVk2Los1MXTVQJH/m7pJtpC9DQAgexJNShCEwco0EOPkG8WZYmI19kGhvby +7bq3AFMAKVqDW+zA7xzd2owJsLGzogsZFMPZgLg3PiUzdkSY19UNPnLOiRTADdXG +lOb7g9Ngfm5Q3qV9leuLD194A8DpKdEax32S1vSvYCRWvibXKynN7evkNxdfh6AT +twa5vFgSIkWLJWXWRasUoRJ9MJfrPkr0wvGQisx8zmW327xkBS6Z3pJ+qVzQHWVT +KaGtJI0CgYEA/nuU93YQqqTtDbaWf2w0k5tQg+0ED56kZ+Qn0kxNuY1BbeaXKAcY +1WIgmb+x1bW0qv2NOXRSjmNKXXen1koMmAi8O7N/tapdxiMxK2TJ6/TbSBI+mMi5 +SfmshbXeJ5LOpW+4jujEpmzKaV5g54+p9J9fCMijqlrw0AMti5KbHCsCgYEA5Ul0 +KCy4fwe5F4rTmXAGiVN1LPdzecnOnP9MXHuBsoyEsEYQsmlW5oR7CyrwPYbJcM+Z +PJKQcQQ6+Ari275vr51GkTg73truAO3qPptWJLWZszeVBLeaAiUwq/+piLAyxRB/ +P5CSSzcxsVcuAgUddfbLSH8N+g02SVgzQROPgVcCgYBwjsKtzXfDslzzUs4wH/EF +VI4BPAUuz3FSTlTarEs4heTpsjMrTjBKuTNILcR/jPYTJ0Cep/eX6QzMWI9QtcHq +QPrYwST8ehUt/QTTd6nkBpIyx3cOZsGlmZwYK//Nqx5hiA+ujf/kyHuirU7ZPO7k +NtV28h+Jyt12c+FiOX8HrwKBgDzvVYBryihwW/9mtK99dy89z9FAfh7qxA8zRg75 +/9D8yTKznDJeDms64Bxqr+gaDyT89wODDAINFsLe2cV+id4JFTz4zeh/FGuIzw0O +aUlePdfEOMVFKhfR3GqJinu6H/QBW2AAQvDcXUd9HMwKofa8vO+qXIOMyVWarBxq +X2QHAoGBAOrhosl+8x5fqSZ5kGShP0xlnuNg9OiDblFJUmRPobHeVGfnRCfiTgDN +e1FPXPLJsf/KH+5OkARCo08842p2XGKg9dGPzdP58SP6AL7oFYwESzDzN9MdK2/t +BpgfN68vaYbwMvSw0/guxMLrejWiBScMF9200+GUPGrXA9S/aI9L +-----END RSA PRIVATE KEY----- diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise2/inventory b/ddc-material-master/17.Ansible/ansible-exercises/exercise2/inventory new file mode 100644 index 00000000..e73ff784 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise2/inventory @@ -0,0 +1,27 @@ +all: + hosts: + web01: + ansible_host: 172.31.31.178 + ansible_user: ec2-user + ansible_ssh_private_key_file: clientkey.pem + web02: + ansible_host: 172.31.22.225 + ansible_user: ec2-user + ansible_ssh_private_key_file: clientkey.pem + db01: + ansible_host: 172.31.19.215 + ansible_user: ec2-user + ansible_ssh_private_key_file: clientkey.pem + + children: + webservers: + hosts: + web01: + web02: + dbservers: + hosts: + db01: + dc_oregon: + children: + webservers: + dbservers: diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise3/clientkey.pem b/ddc-material-master/17.Ansible/ansible-exercises/exercise3/clientkey.pem new file mode 100644 index 00000000..ae84a8e1 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise3/clientkey.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEA4+2Q9sZxoETHcIfUnWoggaYMsWf9f9cywZrTKa+21piyu090 +xVVtwFVbbJE+OB+kFXPYc3K3PUHszStHtUtfk9iyUMGSpTNeSs2JCRiKSqzZd9fs +AowBhlDntBQPIHBIt1rjtb8ZD9/e6Jl+PJ430qIk+XGskbsvx8g0to9tkK8Rueu9 +niZwH2corcnO2yovxwgP/IwAxwGfWV7qJBwJ0DnC2gh5y1KZb9zTefLwDFTtnjAr +mug+tZYgzUjrojX43OS6O7qqCOJ5vXW2BnvKRbzuPuyixw8T1rGJ7Clz3F2UQqg5 +Zn1aOGTibcHOmsAv4xxwWoh6zeEppu716O09nQIDAQABAoIBAGn3eA8TAZ62e1a4 +/8NTpNtB3OLZ6wR1g1Z5abUWyVWJ1oa5ERvxdL4XsRKPkDK9myaSHk7GRaTIMpTM +i2EhMsVk2Los1MXTVQJH/m7pJtpC9DQAgexJNShCEwco0EOPkG8WZYmI19kGhvby +7bq3AFMAKVqDW+zA7xzd2owJsLGzogsZFMPZgLg3PiUzdkSY19UNPnLOiRTADdXG +lOb7g9Ngfm5Q3qV9leuLD194A8DpKdEax32S1vSvYCRWvibXKynN7evkNxdfh6AT +twa5vFgSIkWLJWXWRasUoRJ9MJfrPkr0wvGQisx8zmW327xkBS6Z3pJ+qVzQHWVT +KaGtJI0CgYEA/nuU93YQqqTtDbaWf2w0k5tQg+0ED56kZ+Qn0kxNuY1BbeaXKAcY +1WIgmb+x1bW0qv2NOXRSjmNKXXen1koMmAi8O7N/tapdxiMxK2TJ6/TbSBI+mMi5 +SfmshbXeJ5LOpW+4jujEpmzKaV5g54+p9J9fCMijqlrw0AMti5KbHCsCgYEA5Ul0 +KCy4fwe5F4rTmXAGiVN1LPdzecnOnP9MXHuBsoyEsEYQsmlW5oR7CyrwPYbJcM+Z +PJKQcQQ6+Ari275vr51GkTg73truAO3qPptWJLWZszeVBLeaAiUwq/+piLAyxRB/ +P5CSSzcxsVcuAgUddfbLSH8N+g02SVgzQROPgVcCgYBwjsKtzXfDslzzUs4wH/EF +VI4BPAUuz3FSTlTarEs4heTpsjMrTjBKuTNILcR/jPYTJ0Cep/eX6QzMWI9QtcHq +QPrYwST8ehUt/QTTd6nkBpIyx3cOZsGlmZwYK//Nqx5hiA+ujf/kyHuirU7ZPO7k +NtV28h+Jyt12c+FiOX8HrwKBgDzvVYBryihwW/9mtK99dy89z9FAfh7qxA8zRg75 +/9D8yTKznDJeDms64Bxqr+gaDyT89wODDAINFsLe2cV+id4JFTz4zeh/FGuIzw0O +aUlePdfEOMVFKhfR3GqJinu6H/QBW2AAQvDcXUd9HMwKofa8vO+qXIOMyVWarBxq +X2QHAoGBAOrhosl+8x5fqSZ5kGShP0xlnuNg9OiDblFJUmRPobHeVGfnRCfiTgDN +e1FPXPLJsf/KH+5OkARCo08842p2XGKg9dGPzdP58SP6AL7oFYwESzDzN9MdK2/t +BpgfN68vaYbwMvSw0/guxMLrejWiBScMF9200+GUPGrXA9S/aI9L +-----END RSA PRIVATE KEY----- diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise3/inventory b/ddc-material-master/17.Ansible/ansible-exercises/exercise3/inventory new file mode 100644 index 00000000..119bdef7 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise3/inventory @@ -0,0 +1,25 @@ +all: + hosts: + web01: + ansible_host: 172.31.31.178 + web02: + ansible_host: 172.31.22.225 + db01: + ansible_host: 172.31.19.215 + + children: + webservers: + hosts: + web01: + web02: + dbservers: + hosts: + db01: + dc_oregon: + children: + webservers: + dbservers: + vars: + ansible_user: ec2-user + ansible_ssh_private_key_file: clientkey.pem + diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise4/clientkey.pem b/ddc-material-master/17.Ansible/ansible-exercises/exercise4/clientkey.pem new file mode 100644 index 00000000..ae84a8e1 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise4/clientkey.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEA4+2Q9sZxoETHcIfUnWoggaYMsWf9f9cywZrTKa+21piyu090 +xVVtwFVbbJE+OB+kFXPYc3K3PUHszStHtUtfk9iyUMGSpTNeSs2JCRiKSqzZd9fs +AowBhlDntBQPIHBIt1rjtb8ZD9/e6Jl+PJ430qIk+XGskbsvx8g0to9tkK8Rueu9 +niZwH2corcnO2yovxwgP/IwAxwGfWV7qJBwJ0DnC2gh5y1KZb9zTefLwDFTtnjAr +mug+tZYgzUjrojX43OS6O7qqCOJ5vXW2BnvKRbzuPuyixw8T1rGJ7Clz3F2UQqg5 +Zn1aOGTibcHOmsAv4xxwWoh6zeEppu716O09nQIDAQABAoIBAGn3eA8TAZ62e1a4 +/8NTpNtB3OLZ6wR1g1Z5abUWyVWJ1oa5ERvxdL4XsRKPkDK9myaSHk7GRaTIMpTM +i2EhMsVk2Los1MXTVQJH/m7pJtpC9DQAgexJNShCEwco0EOPkG8WZYmI19kGhvby +7bq3AFMAKVqDW+zA7xzd2owJsLGzogsZFMPZgLg3PiUzdkSY19UNPnLOiRTADdXG +lOb7g9Ngfm5Q3qV9leuLD194A8DpKdEax32S1vSvYCRWvibXKynN7evkNxdfh6AT +twa5vFgSIkWLJWXWRasUoRJ9MJfrPkr0wvGQisx8zmW327xkBS6Z3pJ+qVzQHWVT +KaGtJI0CgYEA/nuU93YQqqTtDbaWf2w0k5tQg+0ED56kZ+Qn0kxNuY1BbeaXKAcY +1WIgmb+x1bW0qv2NOXRSjmNKXXen1koMmAi8O7N/tapdxiMxK2TJ6/TbSBI+mMi5 +SfmshbXeJ5LOpW+4jujEpmzKaV5g54+p9J9fCMijqlrw0AMti5KbHCsCgYEA5Ul0 +KCy4fwe5F4rTmXAGiVN1LPdzecnOnP9MXHuBsoyEsEYQsmlW5oR7CyrwPYbJcM+Z +PJKQcQQ6+Ari275vr51GkTg73truAO3qPptWJLWZszeVBLeaAiUwq/+piLAyxRB/ +P5CSSzcxsVcuAgUddfbLSH8N+g02SVgzQROPgVcCgYBwjsKtzXfDslzzUs4wH/EF +VI4BPAUuz3FSTlTarEs4heTpsjMrTjBKuTNILcR/jPYTJ0Cep/eX6QzMWI9QtcHq +QPrYwST8ehUt/QTTd6nkBpIyx3cOZsGlmZwYK//Nqx5hiA+ujf/kyHuirU7ZPO7k +NtV28h+Jyt12c+FiOX8HrwKBgDzvVYBryihwW/9mtK99dy89z9FAfh7qxA8zRg75 +/9D8yTKznDJeDms64Bxqr+gaDyT89wODDAINFsLe2cV+id4JFTz4zeh/FGuIzw0O +aUlePdfEOMVFKhfR3GqJinu6H/QBW2AAQvDcXUd9HMwKofa8vO+qXIOMyVWarBxq +X2QHAoGBAOrhosl+8x5fqSZ5kGShP0xlnuNg9OiDblFJUmRPobHeVGfnRCfiTgDN +e1FPXPLJsf/KH+5OkARCo08842p2XGKg9dGPzdP58SP6AL7oFYwESzDzN9MdK2/t +BpgfN68vaYbwMvSw0/guxMLrejWiBScMF9200+GUPGrXA9S/aI9L +-----END RSA PRIVATE KEY----- diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise4/index.html b/ddc-material-master/17.Ansible/ansible-exercises/exercise4/index.html new file mode 100644 index 00000000..64ff86a4 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise4/index.html @@ -0,0 +1 @@ +This is managed by ansible...... diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise4/inventory b/ddc-material-master/17.Ansible/ansible-exercises/exercise4/inventory new file mode 100644 index 00000000..119bdef7 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise4/inventory @@ -0,0 +1,25 @@ +all: + hosts: + web01: + ansible_host: 172.31.31.178 + web02: + ansible_host: 172.31.22.225 + db01: + ansible_host: 172.31.19.215 + + children: + webservers: + hosts: + web01: + web02: + dbservers: + hosts: + db01: + dc_oregon: + children: + webservers: + dbservers: + vars: + ansible_user: ec2-user + ansible_ssh_private_key_file: clientkey.pem + diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise5/clientkey.pem b/ddc-material-master/17.Ansible/ansible-exercises/exercise5/clientkey.pem new file mode 100644 index 00000000..ae84a8e1 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise5/clientkey.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEA4+2Q9sZxoETHcIfUnWoggaYMsWf9f9cywZrTKa+21piyu090 +xVVtwFVbbJE+OB+kFXPYc3K3PUHszStHtUtfk9iyUMGSpTNeSs2JCRiKSqzZd9fs +AowBhlDntBQPIHBIt1rjtb8ZD9/e6Jl+PJ430qIk+XGskbsvx8g0to9tkK8Rueu9 +niZwH2corcnO2yovxwgP/IwAxwGfWV7qJBwJ0DnC2gh5y1KZb9zTefLwDFTtnjAr +mug+tZYgzUjrojX43OS6O7qqCOJ5vXW2BnvKRbzuPuyixw8T1rGJ7Clz3F2UQqg5 +Zn1aOGTibcHOmsAv4xxwWoh6zeEppu716O09nQIDAQABAoIBAGn3eA8TAZ62e1a4 +/8NTpNtB3OLZ6wR1g1Z5abUWyVWJ1oa5ERvxdL4XsRKPkDK9myaSHk7GRaTIMpTM +i2EhMsVk2Los1MXTVQJH/m7pJtpC9DQAgexJNShCEwco0EOPkG8WZYmI19kGhvby +7bq3AFMAKVqDW+zA7xzd2owJsLGzogsZFMPZgLg3PiUzdkSY19UNPnLOiRTADdXG +lOb7g9Ngfm5Q3qV9leuLD194A8DpKdEax32S1vSvYCRWvibXKynN7evkNxdfh6AT +twa5vFgSIkWLJWXWRasUoRJ9MJfrPkr0wvGQisx8zmW327xkBS6Z3pJ+qVzQHWVT +KaGtJI0CgYEA/nuU93YQqqTtDbaWf2w0k5tQg+0ED56kZ+Qn0kxNuY1BbeaXKAcY +1WIgmb+x1bW0qv2NOXRSjmNKXXen1koMmAi8O7N/tapdxiMxK2TJ6/TbSBI+mMi5 +SfmshbXeJ5LOpW+4jujEpmzKaV5g54+p9J9fCMijqlrw0AMti5KbHCsCgYEA5Ul0 +KCy4fwe5F4rTmXAGiVN1LPdzecnOnP9MXHuBsoyEsEYQsmlW5oR7CyrwPYbJcM+Z +PJKQcQQ6+Ari275vr51GkTg73truAO3qPptWJLWZszeVBLeaAiUwq/+piLAyxRB/ +P5CSSzcxsVcuAgUddfbLSH8N+g02SVgzQROPgVcCgYBwjsKtzXfDslzzUs4wH/EF +VI4BPAUuz3FSTlTarEs4heTpsjMrTjBKuTNILcR/jPYTJ0Cep/eX6QzMWI9QtcHq +QPrYwST8ehUt/QTTd6nkBpIyx3cOZsGlmZwYK//Nqx5hiA+ujf/kyHuirU7ZPO7k +NtV28h+Jyt12c+FiOX8HrwKBgDzvVYBryihwW/9mtK99dy89z9FAfh7qxA8zRg75 +/9D8yTKznDJeDms64Bxqr+gaDyT89wODDAINFsLe2cV+id4JFTz4zeh/FGuIzw0O +aUlePdfEOMVFKhfR3GqJinu6H/QBW2AAQvDcXUd9HMwKofa8vO+qXIOMyVWarBxq +X2QHAoGBAOrhosl+8x5fqSZ5kGShP0xlnuNg9OiDblFJUmRPobHeVGfnRCfiTgDN +e1FPXPLJsf/KH+5OkARCo08842p2XGKg9dGPzdP58SP6AL7oFYwESzDzN9MdK2/t +BpgfN68vaYbwMvSw0/guxMLrejWiBScMF9200+GUPGrXA9S/aI9L +-----END RSA PRIVATE KEY----- diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise5/inventory b/ddc-material-master/17.Ansible/ansible-exercises/exercise5/inventory new file mode 100644 index 00000000..119bdef7 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise5/inventory @@ -0,0 +1,25 @@ +all: + hosts: + web01: + ansible_host: 172.31.31.178 + web02: + ansible_host: 172.31.22.225 + db01: + ansible_host: 172.31.19.215 + + children: + webservers: + hosts: + web01: + web02: + dbservers: + hosts: + db01: + dc_oregon: + children: + webservers: + dbservers: + vars: + ansible_user: ec2-user + ansible_ssh_private_key_file: clientkey.pem + diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise5/web-db.yaml b/ddc-material-master/17.Ansible/ansible-exercises/exercise5/web-db.yaml new file mode 100644 index 00000000..77b8d4f6 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise5/web-db.yaml @@ -0,0 +1,30 @@ +--- +- name: Webserver setup + hosts: webservers + become: yes + tasks: + - name: Install httpd + ansible.builtin.yum: + name: httpd + state: present + + - name: Start service + ansible.builtin.service: + name: httpd + state: started + enabled: yes + +- name: DBserver setup + hosts: dbservers + become: yes + tasks: + - name: Install mariadb-server + ansible.builtin.yum: + name: mariadb-server + state: present + + - name: Start mariadb service + ansible.builtin.service: + name: mariadb + state: started + enabled: yes diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise6/clientkey.pem b/ddc-material-master/17.Ansible/ansible-exercises/exercise6/clientkey.pem new file mode 100644 index 00000000..ae84a8e1 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise6/clientkey.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEA4+2Q9sZxoETHcIfUnWoggaYMsWf9f9cywZrTKa+21piyu090 +xVVtwFVbbJE+OB+kFXPYc3K3PUHszStHtUtfk9iyUMGSpTNeSs2JCRiKSqzZd9fs +AowBhlDntBQPIHBIt1rjtb8ZD9/e6Jl+PJ430qIk+XGskbsvx8g0to9tkK8Rueu9 +niZwH2corcnO2yovxwgP/IwAxwGfWV7qJBwJ0DnC2gh5y1KZb9zTefLwDFTtnjAr +mug+tZYgzUjrojX43OS6O7qqCOJ5vXW2BnvKRbzuPuyixw8T1rGJ7Clz3F2UQqg5 +Zn1aOGTibcHOmsAv4xxwWoh6zeEppu716O09nQIDAQABAoIBAGn3eA8TAZ62e1a4 +/8NTpNtB3OLZ6wR1g1Z5abUWyVWJ1oa5ERvxdL4XsRKPkDK9myaSHk7GRaTIMpTM +i2EhMsVk2Los1MXTVQJH/m7pJtpC9DQAgexJNShCEwco0EOPkG8WZYmI19kGhvby +7bq3AFMAKVqDW+zA7xzd2owJsLGzogsZFMPZgLg3PiUzdkSY19UNPnLOiRTADdXG +lOb7g9Ngfm5Q3qV9leuLD194A8DpKdEax32S1vSvYCRWvibXKynN7evkNxdfh6AT +twa5vFgSIkWLJWXWRasUoRJ9MJfrPkr0wvGQisx8zmW327xkBS6Z3pJ+qVzQHWVT +KaGtJI0CgYEA/nuU93YQqqTtDbaWf2w0k5tQg+0ED56kZ+Qn0kxNuY1BbeaXKAcY +1WIgmb+x1bW0qv2NOXRSjmNKXXen1koMmAi8O7N/tapdxiMxK2TJ6/TbSBI+mMi5 +SfmshbXeJ5LOpW+4jujEpmzKaV5g54+p9J9fCMijqlrw0AMti5KbHCsCgYEA5Ul0 +KCy4fwe5F4rTmXAGiVN1LPdzecnOnP9MXHuBsoyEsEYQsmlW5oR7CyrwPYbJcM+Z +PJKQcQQ6+Ari275vr51GkTg73truAO3qPptWJLWZszeVBLeaAiUwq/+piLAyxRB/ +P5CSSzcxsVcuAgUddfbLSH8N+g02SVgzQROPgVcCgYBwjsKtzXfDslzzUs4wH/EF +VI4BPAUuz3FSTlTarEs4heTpsjMrTjBKuTNILcR/jPYTJ0Cep/eX6QzMWI9QtcHq +QPrYwST8ehUt/QTTd6nkBpIyx3cOZsGlmZwYK//Nqx5hiA+ujf/kyHuirU7ZPO7k +NtV28h+Jyt12c+FiOX8HrwKBgDzvVYBryihwW/9mtK99dy89z9FAfh7qxA8zRg75 +/9D8yTKznDJeDms64Bxqr+gaDyT89wODDAINFsLe2cV+id4JFTz4zeh/FGuIzw0O +aUlePdfEOMVFKhfR3GqJinu6H/QBW2AAQvDcXUd9HMwKofa8vO+qXIOMyVWarBxq +X2QHAoGBAOrhosl+8x5fqSZ5kGShP0xlnuNg9OiDblFJUmRPobHeVGfnRCfiTgDN +e1FPXPLJsf/KH+5OkARCo08842p2XGKg9dGPzdP58SP6AL7oFYwESzDzN9MdK2/t +BpgfN68vaYbwMvSw0/guxMLrejWiBScMF9200+GUPGrXA9S/aI9L +-----END RSA PRIVATE KEY----- diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise6/files/index.html b/ddc-material-master/17.Ansible/ansible-exercises/exercise6/files/index.html new file mode 100644 index 00000000..b810fd1c --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise6/files/index.html @@ -0,0 +1 @@ +Learning modules in ansible diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise6/inventory b/ddc-material-master/17.Ansible/ansible-exercises/exercise6/inventory new file mode 100644 index 00000000..119bdef7 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise6/inventory @@ -0,0 +1,25 @@ +all: + hosts: + web01: + ansible_host: 172.31.31.178 + web02: + ansible_host: 172.31.22.225 + db01: + ansible_host: 172.31.19.215 + + children: + webservers: + hosts: + web01: + web02: + dbservers: + hosts: + db01: + dc_oregon: + children: + webservers: + dbservers: + vars: + ansible_user: ec2-user + ansible_ssh_private_key_file: clientkey.pem + diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise6/web.yaml b/ddc-material-master/17.Ansible/ansible-exercises/exercise6/web.yaml new file mode 100644 index 00000000..6363e9cb --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise6/web.yaml @@ -0,0 +1,21 @@ +--- +- name: Webserver setup + hosts: webservers + become: yes + tasks: + - name: Install httpd + ansible.builtin.yum: + name: httpd + state: present + + - name: Start service + ansible.builtin.service: + name: httpd + state: started + enabled: yes + + - name: Copy index file + copy: + src: files/index.html + dest: /var/www/html/index.html + backup: yes diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise7/ansible.cfg b/ddc-material-master/17.Ansible/ansible-exercises/exercise7/ansible.cfg new file mode 100644 index 00000000..91e42774 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise7/ansible.cfg @@ -0,0 +1,10 @@ +[defaults] +host_key_checking=False +inventory = ./inventory +forks = 5 +log_path = /var/log/ansible.log + +[privilege_escalation] +become=True +become_method=sudo +become_ask_pass=False diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise7/clientkey.pem b/ddc-material-master/17.Ansible/ansible-exercises/exercise7/clientkey.pem new file mode 100644 index 00000000..ae84a8e1 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise7/clientkey.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEA4+2Q9sZxoETHcIfUnWoggaYMsWf9f9cywZrTKa+21piyu090 +xVVtwFVbbJE+OB+kFXPYc3K3PUHszStHtUtfk9iyUMGSpTNeSs2JCRiKSqzZd9fs +AowBhlDntBQPIHBIt1rjtb8ZD9/e6Jl+PJ430qIk+XGskbsvx8g0to9tkK8Rueu9 +niZwH2corcnO2yovxwgP/IwAxwGfWV7qJBwJ0DnC2gh5y1KZb9zTefLwDFTtnjAr +mug+tZYgzUjrojX43OS6O7qqCOJ5vXW2BnvKRbzuPuyixw8T1rGJ7Clz3F2UQqg5 +Zn1aOGTibcHOmsAv4xxwWoh6zeEppu716O09nQIDAQABAoIBAGn3eA8TAZ62e1a4 +/8NTpNtB3OLZ6wR1g1Z5abUWyVWJ1oa5ERvxdL4XsRKPkDK9myaSHk7GRaTIMpTM +i2EhMsVk2Los1MXTVQJH/m7pJtpC9DQAgexJNShCEwco0EOPkG8WZYmI19kGhvby +7bq3AFMAKVqDW+zA7xzd2owJsLGzogsZFMPZgLg3PiUzdkSY19UNPnLOiRTADdXG +lOb7g9Ngfm5Q3qV9leuLD194A8DpKdEax32S1vSvYCRWvibXKynN7evkNxdfh6AT +twa5vFgSIkWLJWXWRasUoRJ9MJfrPkr0wvGQisx8zmW327xkBS6Z3pJ+qVzQHWVT +KaGtJI0CgYEA/nuU93YQqqTtDbaWf2w0k5tQg+0ED56kZ+Qn0kxNuY1BbeaXKAcY +1WIgmb+x1bW0qv2NOXRSjmNKXXen1koMmAi8O7N/tapdxiMxK2TJ6/TbSBI+mMi5 +SfmshbXeJ5LOpW+4jujEpmzKaV5g54+p9J9fCMijqlrw0AMti5KbHCsCgYEA5Ul0 +KCy4fwe5F4rTmXAGiVN1LPdzecnOnP9MXHuBsoyEsEYQsmlW5oR7CyrwPYbJcM+Z +PJKQcQQ6+Ari275vr51GkTg73truAO3qPptWJLWZszeVBLeaAiUwq/+piLAyxRB/ +P5CSSzcxsVcuAgUddfbLSH8N+g02SVgzQROPgVcCgYBwjsKtzXfDslzzUs4wH/EF +VI4BPAUuz3FSTlTarEs4heTpsjMrTjBKuTNILcR/jPYTJ0Cep/eX6QzMWI9QtcHq +QPrYwST8ehUt/QTTd6nkBpIyx3cOZsGlmZwYK//Nqx5hiA+ujf/kyHuirU7ZPO7k +NtV28h+Jyt12c+FiOX8HrwKBgDzvVYBryihwW/9mtK99dy89z9FAfh7qxA8zRg75 +/9D8yTKznDJeDms64Bxqr+gaDyT89wODDAINFsLe2cV+id4JFTz4zeh/FGuIzw0O +aUlePdfEOMVFKhfR3GqJinu6H/QBW2AAQvDcXUd9HMwKofa8vO+qXIOMyVWarBxq +X2QHAoGBAOrhosl+8x5fqSZ5kGShP0xlnuNg9OiDblFJUmRPobHeVGfnRCfiTgDN +e1FPXPLJsf/KH+5OkARCo08842p2XGKg9dGPzdP58SP6AL7oFYwESzDzN9MdK2/t +BpgfN68vaYbwMvSw0/guxMLrejWiBScMF9200+GUPGrXA9S/aI9L +-----END RSA PRIVATE KEY----- diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise7/db.yaml b/ddc-material-master/17.Ansible/ansible-exercises/exercise7/db.yaml new file mode 100644 index 00000000..fcc2b741 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise7/db.yaml @@ -0,0 +1,34 @@ +--- +- name: DBserver setup + hosts: dbservers + become: yes + tasks: + - name: Install mariadb-server + ansible.builtin.yum: + name: mariadb-server + state: present + + - name: Install pymysql + ansible.builtin.yum: + name: python3-PyMySQL + state: present + + - name: Start mariadb service + ansible.builtin.service: + name: mariadb + state: started + enabled: yes + + - name: Create a new database with name 'accounts' + community.mysql.mysql_db: + name: accounts + state: present + login_unix_socket: /var/lib/mysql/mysql.sock + + - name: Create database user with name 'vprofile' + community.mysql.mysql_user: + name: vprofile + password: 'admin943' + priv: '*.*:ALL' + state: present + login_unix_socket: /var/lib/mysql/mysql.sock diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise7/inventory b/ddc-material-master/17.Ansible/ansible-exercises/exercise7/inventory new file mode 100644 index 00000000..119bdef7 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise7/inventory @@ -0,0 +1,25 @@ +all: + hosts: + web01: + ansible_host: 172.31.31.178 + web02: + ansible_host: 172.31.22.225 + db01: + ansible_host: 172.31.19.215 + + children: + webservers: + hosts: + web01: + web02: + dbservers: + hosts: + db01: + dc_oregon: + children: + webservers: + dbservers: + vars: + ansible_user: ec2-user + ansible_ssh_private_key_file: clientkey.pem + diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise8/ansible.cfg b/ddc-material-master/17.Ansible/ansible-exercises/exercise8/ansible.cfg new file mode 100644 index 00000000..91e42774 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise8/ansible.cfg @@ -0,0 +1,10 @@ +[defaults] +host_key_checking=False +inventory = ./inventory +forks = 5 +log_path = /var/log/ansible.log + +[privilege_escalation] +become=True +become_method=sudo +become_ask_pass=False diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise8/clientkey.pem b/ddc-material-master/17.Ansible/ansible-exercises/exercise8/clientkey.pem new file mode 100644 index 00000000..ae84a8e1 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise8/clientkey.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEA4+2Q9sZxoETHcIfUnWoggaYMsWf9f9cywZrTKa+21piyu090 +xVVtwFVbbJE+OB+kFXPYc3K3PUHszStHtUtfk9iyUMGSpTNeSs2JCRiKSqzZd9fs +AowBhlDntBQPIHBIt1rjtb8ZD9/e6Jl+PJ430qIk+XGskbsvx8g0to9tkK8Rueu9 +niZwH2corcnO2yovxwgP/IwAxwGfWV7qJBwJ0DnC2gh5y1KZb9zTefLwDFTtnjAr +mug+tZYgzUjrojX43OS6O7qqCOJ5vXW2BnvKRbzuPuyixw8T1rGJ7Clz3F2UQqg5 +Zn1aOGTibcHOmsAv4xxwWoh6zeEppu716O09nQIDAQABAoIBAGn3eA8TAZ62e1a4 +/8NTpNtB3OLZ6wR1g1Z5abUWyVWJ1oa5ERvxdL4XsRKPkDK9myaSHk7GRaTIMpTM +i2EhMsVk2Los1MXTVQJH/m7pJtpC9DQAgexJNShCEwco0EOPkG8WZYmI19kGhvby +7bq3AFMAKVqDW+zA7xzd2owJsLGzogsZFMPZgLg3PiUzdkSY19UNPnLOiRTADdXG +lOb7g9Ngfm5Q3qV9leuLD194A8DpKdEax32S1vSvYCRWvibXKynN7evkNxdfh6AT +twa5vFgSIkWLJWXWRasUoRJ9MJfrPkr0wvGQisx8zmW327xkBS6Z3pJ+qVzQHWVT +KaGtJI0CgYEA/nuU93YQqqTtDbaWf2w0k5tQg+0ED56kZ+Qn0kxNuY1BbeaXKAcY +1WIgmb+x1bW0qv2NOXRSjmNKXXen1koMmAi8O7N/tapdxiMxK2TJ6/TbSBI+mMi5 +SfmshbXeJ5LOpW+4jujEpmzKaV5g54+p9J9fCMijqlrw0AMti5KbHCsCgYEA5Ul0 +KCy4fwe5F4rTmXAGiVN1LPdzecnOnP9MXHuBsoyEsEYQsmlW5oR7CyrwPYbJcM+Z +PJKQcQQ6+Ari275vr51GkTg73truAO3qPptWJLWZszeVBLeaAiUwq/+piLAyxRB/ +P5CSSzcxsVcuAgUddfbLSH8N+g02SVgzQROPgVcCgYBwjsKtzXfDslzzUs4wH/EF +VI4BPAUuz3FSTlTarEs4heTpsjMrTjBKuTNILcR/jPYTJ0Cep/eX6QzMWI9QtcHq +QPrYwST8ehUt/QTTd6nkBpIyx3cOZsGlmZwYK//Nqx5hiA+ujf/kyHuirU7ZPO7k +NtV28h+Jyt12c+FiOX8HrwKBgDzvVYBryihwW/9mtK99dy89z9FAfh7qxA8zRg75 +/9D8yTKznDJeDms64Bxqr+gaDyT89wODDAINFsLe2cV+id4JFTz4zeh/FGuIzw0O +aUlePdfEOMVFKhfR3GqJinu6H/QBW2AAQvDcXUd9HMwKofa8vO+qXIOMyVWarBxq +X2QHAoGBAOrhosl+8x5fqSZ5kGShP0xlnuNg9OiDblFJUmRPobHeVGfnRCfiTgDN +e1FPXPLJsf/KH+5OkARCo08842p2XGKg9dGPzdP58SP6AL7oFYwESzDzN9MdK2/t +BpgfN68vaYbwMvSw0/guxMLrejWiBScMF9200+GUPGrXA9S/aI9L +-----END RSA PRIVATE KEY----- diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise8/db.yaml b/ddc-material-master/17.Ansible/ansible-exercises/exercise8/db.yaml new file mode 100644 index 00000000..a9e1ad73 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise8/db.yaml @@ -0,0 +1,50 @@ +--- +- name: DBserver setup + hosts: dbservers + become: yes + # vars: + #dbname: electric + #dbuser: current + #dbpass: tesla + tasks: + - debug: + msg: " The dbname is {{dbname}}" + + - debug: + var: dbuser + + - name: Install mariadb-server + ansible.builtin.yum: + name: mariadb-server + state: present + + - name: Install pymysql + ansible.builtin.yum: + name: python3-PyMySQL + state: present + + - name: Start mariadb service + ansible.builtin.service: + name: mariadb + state: started + enabled: yes + + - name: Create a new database + community.mysql.mysql_db: + name: "{{dbname}}" + state: present + login_unix_socket: /var/lib/mysql/mysql.sock + + - name: Create database + community.mysql.mysql_user: + name: "{{dbuser}}" + password: "{{dbpass}}" + priv: '*.*:ALL' + state: present + login_unix_socket: /var/lib/mysql/mysql.sock + register: dbout + + - name: print dbout variable + debug: + var: dbout + diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise8/group_vars/all b/ddc-material-master/17.Ansible/ansible-exercises/exercise8/group_vars/all new file mode 100644 index 00000000..cb25e71c --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise8/group_vars/all @@ -0,0 +1,3 @@ +dbname: sky +dbuser: pilot +dbpass: aircraft diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise8/inventory b/ddc-material-master/17.Ansible/ansible-exercises/exercise8/inventory new file mode 100644 index 00000000..119bdef7 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise8/inventory @@ -0,0 +1,25 @@ +all: + hosts: + web01: + ansible_host: 172.31.31.178 + web02: + ansible_host: 172.31.22.225 + db01: + ansible_host: 172.31.19.215 + + children: + webservers: + hosts: + web01: + web02: + dbservers: + hosts: + db01: + dc_oregon: + children: + webservers: + dbservers: + vars: + ansible_user: ec2-user + ansible_ssh_private_key_file: clientkey.pem + diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise9/ansible.cfg b/ddc-material-master/17.Ansible/ansible-exercises/exercise9/ansible.cfg new file mode 100644 index 00000000..91e42774 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise9/ansible.cfg @@ -0,0 +1,10 @@ +[defaults] +host_key_checking=False +inventory = ./inventory +forks = 5 +log_path = /var/log/ansible.log + +[privilege_escalation] +become=True +become_method=sudo +become_ask_pass=False diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise9/clientkey.pem b/ddc-material-master/17.Ansible/ansible-exercises/exercise9/clientkey.pem new file mode 100644 index 00000000..ae84a8e1 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise9/clientkey.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEA4+2Q9sZxoETHcIfUnWoggaYMsWf9f9cywZrTKa+21piyu090 +xVVtwFVbbJE+OB+kFXPYc3K3PUHszStHtUtfk9iyUMGSpTNeSs2JCRiKSqzZd9fs +AowBhlDntBQPIHBIt1rjtb8ZD9/e6Jl+PJ430qIk+XGskbsvx8g0to9tkK8Rueu9 +niZwH2corcnO2yovxwgP/IwAxwGfWV7qJBwJ0DnC2gh5y1KZb9zTefLwDFTtnjAr +mug+tZYgzUjrojX43OS6O7qqCOJ5vXW2BnvKRbzuPuyixw8T1rGJ7Clz3F2UQqg5 +Zn1aOGTibcHOmsAv4xxwWoh6zeEppu716O09nQIDAQABAoIBAGn3eA8TAZ62e1a4 +/8NTpNtB3OLZ6wR1g1Z5abUWyVWJ1oa5ERvxdL4XsRKPkDK9myaSHk7GRaTIMpTM +i2EhMsVk2Los1MXTVQJH/m7pJtpC9DQAgexJNShCEwco0EOPkG8WZYmI19kGhvby +7bq3AFMAKVqDW+zA7xzd2owJsLGzogsZFMPZgLg3PiUzdkSY19UNPnLOiRTADdXG +lOb7g9Ngfm5Q3qV9leuLD194A8DpKdEax32S1vSvYCRWvibXKynN7evkNxdfh6AT +twa5vFgSIkWLJWXWRasUoRJ9MJfrPkr0wvGQisx8zmW327xkBS6Z3pJ+qVzQHWVT +KaGtJI0CgYEA/nuU93YQqqTtDbaWf2w0k5tQg+0ED56kZ+Qn0kxNuY1BbeaXKAcY +1WIgmb+x1bW0qv2NOXRSjmNKXXen1koMmAi8O7N/tapdxiMxK2TJ6/TbSBI+mMi5 +SfmshbXeJ5LOpW+4jujEpmzKaV5g54+p9J9fCMijqlrw0AMti5KbHCsCgYEA5Ul0 +KCy4fwe5F4rTmXAGiVN1LPdzecnOnP9MXHuBsoyEsEYQsmlW5oR7CyrwPYbJcM+Z +PJKQcQQ6+Ari275vr51GkTg73truAO3qPptWJLWZszeVBLeaAiUwq/+piLAyxRB/ +P5CSSzcxsVcuAgUddfbLSH8N+g02SVgzQROPgVcCgYBwjsKtzXfDslzzUs4wH/EF +VI4BPAUuz3FSTlTarEs4heTpsjMrTjBKuTNILcR/jPYTJ0Cep/eX6QzMWI9QtcHq +QPrYwST8ehUt/QTTd6nkBpIyx3cOZsGlmZwYK//Nqx5hiA+ujf/kyHuirU7ZPO7k +NtV28h+Jyt12c+FiOX8HrwKBgDzvVYBryihwW/9mtK99dy89z9FAfh7qxA8zRg75 +/9D8yTKznDJeDms64Bxqr+gaDyT89wODDAINFsLe2cV+id4JFTz4zeh/FGuIzw0O +aUlePdfEOMVFKhfR3GqJinu6H/QBW2AAQvDcXUd9HMwKofa8vO+qXIOMyVWarBxq +X2QHAoGBAOrhosl+8x5fqSZ5kGShP0xlnuNg9OiDblFJUmRPobHeVGfnRCfiTgDN +e1FPXPLJsf/KH+5OkARCo08842p2XGKg9dGPzdP58SP6AL7oFYwESzDzN9MdK2/t +BpgfN68vaYbwMvSw0/guxMLrejWiBScMF9200+GUPGrXA9S/aI9L +-----END RSA PRIVATE KEY----- diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise9/group_vars/all b/ddc-material-master/17.Ansible/ansible-exercises/exercise9/group_vars/all new file mode 100644 index 00000000..890611d3 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise9/group_vars/all @@ -0,0 +1,2 @@ +USRNM: commonuser +COMM: variable from groupvars_all file diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise9/group_vars/webservers b/ddc-material-master/17.Ansible/ansible-exercises/exercise9/group_vars/webservers new file mode 100644 index 00000000..3b6ac561 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise9/group_vars/webservers @@ -0,0 +1,2 @@ +USRNM: webgroup +COMM: variable from group_vars/webservers file diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise9/host_vars/web02 b/ddc-material-master/17.Ansible/ansible-exercises/exercise9/host_vars/web02 new file mode 100644 index 00000000..b24d6e97 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise9/host_vars/web02 @@ -0,0 +1,2 @@ +USRNM: web02user +COMM: variables from host_vars/web02 file diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise9/inventory b/ddc-material-master/17.Ansible/ansible-exercises/exercise9/inventory new file mode 100644 index 00000000..6bc48d65 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise9/inventory @@ -0,0 +1,29 @@ +all: + hosts: + web01: + ansible_host: 172.31.31.178 + web02: + ansible_host: 172.31.22.225 + web03: + ansible_host: 172.31.23.53 + ansible_user: ubuntu + db01: + ansible_host: 172.31.19.215 + + children: + webservers: + hosts: + web01: + web02: + web03: + dbservers: + hosts: + db01: + dc_oregon: + children: + webservers: + dbservers: + vars: + ansible_user: ec2-user + ansible_ssh_private_key_file: clientkey.pem + diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise9/print_facts.yaml b/ddc-material-master/17.Ansible/ansible-exercises/exercise9/print_facts.yaml new file mode 100644 index 00000000..f6d18ea0 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise9/print_facts.yaml @@ -0,0 +1,18 @@ +--- +- name: Print facts + hosts: all + #gather_facts: False + tasks: + - name: Print OS name + debug: + var: ansible_distribution + - name: Print selinux mode + debug: + var: ansible_selinux.mode + - name: Print RAM memory + debug: + var: ansible_memory_mb.real.free + + - name: Print Processor name + debug: + var: ansible_processor[2] diff --git a/ddc-material-master/17.Ansible/ansible-exercises/exercise9/vars_precedence.yaml b/ddc-material-master/17.Ansible/ansible-exercises/exercise9/vars_precedence.yaml new file mode 100644 index 00000000..1e2b2b42 --- /dev/null +++ b/ddc-material-master/17.Ansible/ansible-exercises/exercise9/vars_precedence.yaml @@ -0,0 +1,20 @@ +--- +- name: Understanding vars + hosts: all + become: yes + gather_facts: False + vars: + USRNM: playuser + COMM: variable from playbook + tasks: + - name: create user + ansible.builtin.user: + name: "{{USRNM}}" + comment: "{{COMM}}" + register: usrout + + - debug: + var: usrout.name + + - debug: + var: usrout.comment diff --git a/ddc-material-master/18.AWS-Part2/awsvpc.pdf b/ddc-material-master/18.AWS-Part2/awsvpc.pdf new file mode 100644 index 00000000..3d390d94 Binary files /dev/null and b/ddc-material-master/18.AWS-Part2/awsvpc.pdf differ diff --git a/ddc-material-master/19.AWSCiCdProject/DDC_AWSCiCDProArch.png b/ddc-material-master/19.AWSCiCdProject/DDC_AWSCiCDProArch.png new file mode 100644 index 00000000..9dcbf043 Binary files /dev/null and b/ddc-material-master/19.AWSCiCdProject/DDC_AWSCiCDProArch.png differ diff --git a/ddc-material-master/19.AWSCiCdProject/buildspec.yml b/ddc-material-master/19.AWSCiCdProject/buildspec.yml new file mode 100644 index 00000000..fd9a9492 --- /dev/null +++ b/ddc-material-master/19.AWSCiCdProject/buildspec.yml @@ -0,0 +1,34 @@ +version: 0.2 + +#env: + #variables: + # key: "value" + # key: "value" + #parameter-store: + # key: "value" + # key: "value" + +phases: + install: + runtime-versions: + java: corretto8 + pre_build: + commands: + - apt-get update + - apt-get install -y jq + - wget http://www-eu.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz + - tar xzf apache-maven-3.5.4-bin.tar.gz + - ln -s apache-maven-3.5.4 maven + - sed -i 's/jdbc.password=admin123/jdbc.password=ILw5ZDjavaNHSqfhbzmG/' src/main/resources/application.properties + - sed -i 's/jdbc.username=admin/jdbc.username=admin/' src/main/resources/application.properties + - sed -i 's/db01:3306/vprords.corr19umlgnd.us-east-2.rds.amazonaws.com:3306/' src/main/resources/application.properties + build: + commands: + - mvn install + post_build: + commands: + - mvn package +artifacts: + files: + - '**/*' + base-directory: 'target/vprofile-v2' \ No newline at end of file diff --git a/ddc-material-master/20.Docker/Docker.pdf b/ddc-material-master/20.Docker/Docker.pdf new file mode 100644 index 00000000..525565a4 Binary files /dev/null and b/ddc-material-master/20.Docker/Docker.pdf differ diff --git a/ddc-material-master/20.Docker/DockerFiles/TooplateWebsite/Dockerfile b/ddc-material-master/20.Docker/DockerFiles/TooplateWebsite/Dockerfile new file mode 100644 index 00000000..45ef81e9 --- /dev/null +++ b/ddc-material-master/20.Docker/DockerFiles/TooplateWebsite/Dockerfile @@ -0,0 +1,11 @@ +FROM ubuntu:latest +LABEL "Project"="LilFasion" +ENV DEBIAN_FRONTEND=noninteractive +RUN apt update +RUN apt install apache2 -y +WORKDIR /var/www/html/ +#COPY lilfasion.tar.gz /var/www/html/ +ADD lilfasion.tar.gz /var/www/html/ +CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"] +VOLUME /var/log/apache2 +EXPOSE 80 diff --git a/ddc-material-master/20.Docker/DockerFiles/TooplateWebsite/lilfasion.tar.gz b/ddc-material-master/20.Docker/DockerFiles/TooplateWebsite/lilfasion.tar.gz new file mode 100644 index 00000000..e80c344a Binary files /dev/null and b/ddc-material-master/20.Docker/DockerFiles/TooplateWebsite/lilfasion.tar.gz differ diff --git a/ddc-material-master/20.Docker/DockerFiles/cmd/Dockerfile b/ddc-material-master/20.Docker/DockerFiles/cmd/Dockerfile new file mode 100644 index 00000000..f66963b8 --- /dev/null +++ b/ddc-material-master/20.Docker/DockerFiles/cmd/Dockerfile @@ -0,0 +1,2 @@ +FROM ubuntu:latest +CMD ["echo", "hello"] diff --git a/ddc-material-master/20.Docker/DockerFiles/entry/Dockerfile b/ddc-material-master/20.Docker/DockerFiles/entry/Dockerfile new file mode 100644 index 00000000..49c79971 --- /dev/null +++ b/ddc-material-master/20.Docker/DockerFiles/entry/Dockerfile @@ -0,0 +1,2 @@ +FROM ubuntu:latest +ENTRYPOINT ["echo"] diff --git a/ddc-material-master/20.Docker/DockerFiles/entrycmdboth/Dockerfile b/ddc-material-master/20.Docker/DockerFiles/entrycmdboth/Dockerfile new file mode 100644 index 00000000..96a2f805 --- /dev/null +++ b/ddc-material-master/20.Docker/DockerFiles/entrycmdboth/Dockerfile @@ -0,0 +1,3 @@ +FROM ubuntu:latest +ENTRYPOINT ["echo"] +cmd ["hello"] diff --git a/ddc-material-master/20.Docker/EntrypointVsCmd.txt b/ddc-material-master/20.Docker/EntrypointVsCmd.txt new file mode 100644 index 00000000..ece45825 --- /dev/null +++ b/ddc-material-master/20.Docker/EntrypointVsCmd.txt @@ -0,0 +1,37 @@ +# Copy zip file to dockerengine +ssh -i keypath zipfilepath username@IP:/home/username/ +ssh -i keypath username@IP + +# Extract zip file +unzip EntryCMD.zip +cd EntryCMD/ +ls + +# Build & Run first Dockerfile +cat cmd/Dockerfile +docker build -t printer:v1 cmd/Dockerfile +docker build -t printer:v1 cmd/ +docker images +clear +cat cmd/Dockerfile +docker images +docker run printer:v1 +clear +ls + +# Build & Run second Dockerfile +cat entry/Dockerfile +docker build -t printer:v2 entry/ +docker images +docker run printer:v2 +docker run printer:v2 hello +clear +ls + +# Build & Run Third Dockerfile +cat entrycmd/Dockerfile +docker build -t printer:v3 entrycmd/ +docker run printer:v3 +docker run printer:v3 hi +docker run printer:v3 hello world +docker run printer:v3 diff --git a/ddc-material-master/20.Docker/IntstallDockerAndCompose.txt b/ddc-material-master/20.Docker/IntstallDockerAndCompose.txt new file mode 100644 index 00000000..f50f764c --- /dev/null +++ b/ddc-material-master/20.Docker/IntstallDockerAndCompose.txt @@ -0,0 +1,22 @@ +#!/bin/bash + +# Install docker on Ubuntu +sudo apt-get update + sudo apt-get install \ + ca-certificates \ + curl \ + gnupg \ + lsb-release -y + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg + echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ + $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null + +# Install docker-compose + sudo apt-get update + sudo apt-get install docker-ce docker-ce-cli containerd.io -y + sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose + sudo chmod +x /usr/local/bin/docker-compose + +# Add ubuntu user into docker group + sudo usermod -a -G docker ubuntu diff --git a/ddc-material-master/20.Docker/MultiStageDockerfile.txt b/ddc-material-master/20.Docker/MultiStageDockerfile.txt new file mode 100644 index 00000000..8fa2a810 --- /dev/null +++ b/ddc-material-master/20.Docker/MultiStageDockerfile.txt @@ -0,0 +1,25 @@ +# Multistage Dockerfile + +FROM openjdk:8 AS BUILD_IMAGE +RUN apt update && apt install maven -y +RUN git clone -b vp-docker https://github.com/imranvisualpath/vprofile-repo.git +RUN cd vprofile-repo && mvn install + +FROM tomcat:8-jre11 + +RUN rm -rf /usr/local/tomcat/webapps/* + +COPY --from=BUILD_IMAGE vprofile-repo/target/vprofile-v2.war /usr/local/tomcat/webapps/ROOT.war + +EXPOSE 8080 +CMD ["catalina.sh", "run"] + + +cd git clone -b docker https://github.com/devopshydclub/vprofile-project.git +cd vprofile-project/Docker-files/app/ +ls +cd multistage/ +ls +cat Dockerfile +docker build -t appimg:v1 . +docker images diff --git a/ddc-material-master/21.kubernetes/CommandAndArguments.txt b/ddc-material-master/21.kubernetes/CommandAndArguments.txt new file mode 100644 index 00000000..c11eaf89 --- /dev/null +++ b/ddc-material-master/21.kubernetes/CommandAndArguments.txt @@ -0,0 +1,18 @@ +vim com.yaml +apiVersion: v1 +kind: Pod +metadata: + name: command-demo + labels: + purpose: demonstrate-command +spec: + containers: + - name: command-demo-container + image: debian + command: ["printenv"] + args: ["HOSTNAME", "KUBERNETES_PORT"] + restartPolicy: OnFailure + +kubectl apply -f com.yaml +kubectl get pod +kubectl logs command-demo diff --git a/ddc-material-master/21.kubernetes/FixFaultyPod.txt b/ddc-material-master/21.kubernetes/FixFaultyPod.txt new file mode 100644 index 00000000..a05d00b2 --- /dev/null +++ b/ddc-material-master/21.kubernetes/FixFaultyPod.txt @@ -0,0 +1,55 @@ +# Create a faulty pod +vim pod2.yaml +apiVersion: v1 +kind: Pod +metadata: + name: nginx12 +spec: + containers: + - name: nginx + image: nginox:1.14.2 + ports: + - containerPort: 80 + +kubectl apply -f pod2.yaml + +# Find the problem +kubectl get pod +kubectl get pod -o wide +kubectl get pod nginx12 -o yaml +kubectl describe pod nginx12 +clear +ls + +# Fix it +vim pod2.yaml + +apiVersion: v1 +kind: Pod +metadata: + name: nginx12 +spec: + containers: + - name: nginx + image: nginix:1.14.2 + ports: + - containerPort: 80 + +kubectl apply -f pod2.yaml + +# Create one more faulty pod +kubectl run web2 --image=nginx test47 + +# Find the problem +kubectl get pod +kubectl get pod web2 -o wide +kubectl get pod web2 -o yaml +kubectl get pod +kubectl describe pod web2 +clear +kubectl logs web2 + +# Fix the problem +kubectl delete pod web2 +kubectl run web2 --image=nginx +kubectl get pod \ No newline at end of file diff --git a/ddc-material-master/21.kubernetes/Handon_K8s_objects.txt b/ddc-material-master/21.kubernetes/Handon_K8s_objects.txt new file mode 100644 index 00000000..8f2e7e70 --- /dev/null +++ b/ddc-material-master/21.kubernetes/Handon_K8s_objects.txt @@ -0,0 +1,51 @@ +sudo -i +ssh-keygen +clear +sudo apt update +sudo apt install awscli -y +clea +clear +aws configure +curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" +sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl +curl -Lo kops https://github.com/kubernetes/kops/releases/download/$(curl -s https://api.github.com/repos/kubernetes/kops/releases/latest | grep tag_name | cut -d '"' -f 4)/kops-linux-amd64 +chmod +x kops +sudo mv kops /usr/local/bin/kops +kops +kubectl +clear +kops create cluster --name=kubevpro.groophy.in --state=s3://vproile-kops-state --zones=us-west-2a,us-west-2b --node-count=2 --node-size=t3.small \ +clear +kops create cluster --name=kubevpro.groophy.in --state=s3://vproile-kops-state --zones=us-west-2a,us-west-2b --node-count=2 --node-size=t3.small --master-size=t3.medium --dns-zone=kubevpro.groophy.in --node-volume-size=8 --master-volume-size=8 +kops update cluster --name kubevpro.groophy.in --state=s3://vproile-kops-state --yes --admin +clear +kubectl get nodes +clear +kubectl get nodes +kubectl get nodes -o wide +kubectl describe node ip-172-20-86-99.us-west-2.compute.internal +clear +kubectl get nodes +kubectl get nodes ip-172-20-41-44.us-west-2.compute.internal -o yaml +clear +kubectl get nodes ip-172-20-41-44.us-west-2.compute.internal -o json +clear +history +clear +vim pod1.yaml +kubectl apply -f pod1.yaml +kubectl get pod +kubectl get pod -o wide +kubectl get pod nginx -o yaml +clear +kubectl get pod nginx -o json +clear +kubectl describe pod nginx +clear +kubectl delete pod nginx +ls +kubectl run nginx1 --image=nginx +kubectl get pod +kubectl edit pod nginx +kubectl edit pod nginx1 +kubectl get pod diff --git a/ddc-material-master/21.kubernetes/Kubernetes.pdf b/ddc-material-master/21.kubernetes/Kubernetes.pdf new file mode 100644 index 00000000..f8facf31 Binary files /dev/null and b/ddc-material-master/21.kubernetes/Kubernetes.pdf differ diff --git a/ddc-material-master/21.kubernetes/configMap.txt b/ddc-material-master/21.kubernetes/configMap.txt new file mode 100644 index 00000000..6ec1d783 --- /dev/null +++ b/ddc-material-master/21.kubernetes/configMap.txt @@ -0,0 +1,77 @@ +# Create COnfig Map +vim samplecm.yaml +apiVersion: v1 +kind: Pod +metadata: + name: configmap-demo-pod +spec: + containers: + - name: demo + image: alpine + command: ["sleep", "3600"] + env: + # Define the environment variable + - name: PLAYER_INITIAL_LIVES # Notice that the case is different here + # from the key name in the ConfigMap. + valueFrom: + configMapKeyRef: + name: game-demo # The ConfigMap this value comes from. + key: player_initial_lives # The key to fetch. + - name: UI_PROPERTIES_FILE_NAME + valueFrom: + configMapKeyRef: + name: game-demo + key: ui_properties_file_name + volumeMounts: + - name: config + mountPath: "/config" + readOnly: true + volumes: + # You set volumes at the Pod level, then mount them into containers inside that Pod + - name: config + configMap: + # Provide the name of the ConfigMap you want to mount. + name: game-demo + # An array of keys from the ConfigMap to create as files + items: + - key: "game.properties" + path: "game.properties" + - key: "user-interface.properties" + path: "user-interface.properties" + + + +kubectl apply -f samplecm.yaml +kubectl get cm +clear +kubectl get cm +kubectl get cm game-demo -o yaml +clear +kubectl get cm + +# Create Pod that reads ConfigMap +vim readcmpod.yaml +apiVersion: v1 +kind: Pod +metadata: + name: mypod +spec: + containers: + - name: mypod + image: redis + volumeMounts: + - name: foo + mountPath: "/etc/foo" + readOnly: true + volumes: + - name: foo + configMap: + name: myconfigmap + + + +kubectl apply -f readcmpod.yaml +kubectl get pod + +# Login to Pod and check variables & files +kubectl exec --stdin --tty configmap-demo-pod -- /bin/sh \ No newline at end of file diff --git a/ddc-material-master/21.kubernetes/deployment.txt b/ddc-material-master/21.kubernetes/deployment.txt new file mode 100644 index 00000000..a396642f --- /dev/null +++ b/ddc-material-master/21.kubernetes/deployment.txt @@ -0,0 +1,52 @@ +vim deployment.yaml + +apiVersion: apps/v1 +kind: Deployment +metadata: + name: nginx-deployment + labels: + app: nginx +spec: + replicas: 3 + selector: + matchLabels: + app: nginx + template: + metadata: + labels: + app: nginx + spec: + containers: + - name: nginx + image: nginx:1.14.2 + ports: + - containerPort: 80 + +kubectl apply -f deployment.yaml + +kubectl get deploy +kubectl get rs +kubectl get pod + +kubectl describe pod nginx-deployment-9456bbbf9-dx5s5 +clear + +kubectl set image deployment.v1.apps/nginx-deployment nginx=nginx:1.16.1 +kubectl get deploy + +kubectl describe pod nginx-deployment-ff6655784-2bn9t +clear + +kubectl get rs + +kubectl rollout undo deployment/nginx-deployment +kubectl get rs +kubectl get pod + +kubectl describe pod nginx-deployment-9456bbbf9-8xhw6 | grep Image + +kubectl rollout history deployment/nginx-deployment +clear + +kubectl get deploy +kubectl delete deploy nginx-deployment \ No newline at end of file diff --git a/ddc-material-master/21.kubernetes/ingress.txt b/ddc-material-master/21.kubernetes/ingress.txt new file mode 100644 index 00000000..c4f9ad3a --- /dev/null +++ b/ddc-material-master/21.kubernetes/ingress.txt @@ -0,0 +1,102 @@ +###STEPS### +# Create Controller +# Create Deployment +# Create Service +# Create DNS Cname Record for LB +# Create Ingress +# Test + +# Create controller +kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.3/deploy/static/provider/aws/deploy.yaml + +# Create Deployment +vim vprodep.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: my-app +spec: + selector: + matchLabels: + run: my-app + replicas: 1 + template: + metadata: + labels: + run: my-app + spec: + containers: + - name: my-app + image: imranvisualpath/vproappfix + ports: + - containerPort: 8080 + +kubectl apply -f vprodep.yaml + + +# Create service +vim vprosvc.yaml +apiVersion: v1 +kind: Service +metadata: + name: my-app +spec: + ports: + - port: 8080 + protocol: TCP + targetPort: 8080 + selector: + run: my-app + type: ClusterIP + + +kubectl apply -f vprosvc.yaml +kubectl get svc +kubectl describe svc my-app + + +# Create DNS Cname Record for LB +Go to your domain hosted records +Add CNAME record +hostname => Load balancer Endpoint URL + + +# Create Ingress +vim vproingress.yaml + +kind: Ingress +metadata: + name: vpro-ingress + annotations: + nginx.ingress.kubernetes.io/use-regex: "true" +spec: + ingressClassName: nginx + rules: + - host: vprofile.groophy.in + http: + paths: + - path: /login + pathType: Prefix + backend: + service: + name: my-app + port: + number: 8080 + +kubectl apply -f vproingress.yaml + +# Update Path in ingress from /login to / +kubectl get ingress +kubectl delete ingress vpro-ingress +vim vproingress.yaml + +paths: + - path: / + +kubectl apply -f vproingress.yaml +kubectl get ingress +kubectl get ingress --watch +clear +kubectl get ns +kubectl delete -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.3/deploy/static/provider/aws/deploy.yaml + diff --git a/ddc-material-master/21.kubernetes/k8sLinks.txt b/ddc-material-master/21.kubernetes/k8sLinks.txt new file mode 100644 index 00000000..29569047 --- /dev/null +++ b/ddc-material-master/21.kubernetes/k8sLinks.txt @@ -0,0 +1,33 @@ +https://kubernetes.io/docs/home/ + +https://kubernetes.io/docs/concepts/overview/components/ + +https://kubernetes.io/docs/concepts/overview/ + +https://kubernetes.io/docs/concepts/workloads/pods/ + +https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/ + +https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ + +https://kubernetes.io/docs/concepts/services-networking/service/ + +https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/ + +https://kubernetes.io/docs/concepts/workloads/controllers/deployment/ + +https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/ + +https://kubernetes.io/docs/concepts/storage/volumes/ + +https://kubernetes.io/docs/concepts/configuration/configmap/ + +https://kubernetes.io/docs/concepts/configuration/secret/ + +https://kubernetes.io/docs/concepts/services-networking/ingress/ + +https://kubernetes.github.io/ingress-nginx/deploy/#aws + +https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/ + +https://kubernetes.io/docs/reference/kubectl/cheatsheet/ \ No newline at end of file diff --git a/ddc-material-master/21.kubernetes/kopscreate.txt b/ddc-material-master/21.kubernetes/kopscreate.txt new file mode 100644 index 00000000..22ea07ce --- /dev/null +++ b/ddc-material-master/21.kubernetes/kopscreate.txt @@ -0,0 +1,11 @@ + +kops create cluster --name=kubevpro.groophy.in \ +--state=s3://vprofile-kop-states --zones=us-east-2a,us-east-2b \ +--node-count=2 --node-size=t3.small --master-size=t3.medium --dns-zone=kubevpro.groophy.in \ +--node-volume-size=8 --master-volume-size=8 + +kops update cluster --name kubevpro.groophy.in --state=s3://vprofile-kop-states --yes --admin + +kops delete cluster --name kubevpro.groophy.in --state=s3://vprofile-kop-states --yes --admin + + diff --git a/ddc-material-master/21.kubernetes/kubeconfig.txt b/ddc-material-master/21.kubernetes/kubeconfig.txt new file mode 100644 index 00000000..e24551e7 --- /dev/null +++ b/ddc-material-master/21.kubernetes/kubeconfig.txt @@ -0,0 +1,7 @@ +pwd +ls -a +ls .kube/ +less .kube/config +kubectl config view + +https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/ \ No newline at end of file diff --git a/ddc-material-master/21.kubernetes/namespaces.txt b/ddc-material-master/21.kubernetes/namespaces.txt new file mode 100644 index 00000000..ddc4eb5c --- /dev/null +++ b/ddc-material-master/21.kubernetes/namespaces.txt @@ -0,0 +1,26 @@ +kubectl get ns +kubectl get all +kubectl get all --all-namespaces +clear +kubectl get svc -n kube-system +kubectl create ns kubekart +kubectl run nginx1 --image=nginx -n kubekart +kubectl run nginx1 --image=nginx -n kubekart + +vim pod1.yaml +cat pod1.yaml +apiVersion: v1 +kind: Pod +metadata: + name: nginx12 + namespace: kubekart +spec: + containers: + - name: nginx + image: nginx:1.14.2 + ports: + - containerPort: 80 + +kubectl apply -f pod1.yaml +kubectl get pod -n kubekart +kubectl delete ns kubekart \ No newline at end of file diff --git a/ddc-material-master/21.kubernetes/replicaSet.txt b/ddc-material-master/21.kubernetes/replicaSet.txt new file mode 100644 index 00000000..145ce228 --- /dev/null +++ b/ddc-material-master/21.kubernetes/replicaSet.txt @@ -0,0 +1,21 @@ +vim replset.yaml +kubectl create -f replset.yaml +kubectl get pod +kubectl delete pod nginx1 nginx12 web2 +clear +kubectl get pod +clear +kubectl get rs +kubectl get pod +kubectl delete pod frontend-qmxml frontend-s4kbp +kubectl get pod +vim replset.yaml +kubectl apply -f replset.yaml +clear +kubectl get pod +kubectl scale --replicas=1 rs/frontend +kubectl get pod +kubectl edit rs frontend +kubectl get pod +kubectl delete rs frontend +kubectl get pod diff --git a/ddc-material-master/21.kubernetes/secret.txt b/ddc-material-master/21.kubernetes/secret.txt new file mode 100644 index 00000000..0d3482e3 --- /dev/null +++ b/ddc-material-master/21.kubernetes/secret.txt @@ -0,0 +1,51 @@ +# Encode text +echo -n "admin" | base64 +echo -n "mysecretpass" | base64 + +# Create Secret +vim mysecret.yaml +apiVersion: v1 +kind: Secret +metadata: + name: mysecret +data: + username: YWRtaW4= + password: bXlzZWNyZXRwYXNz +type: Opaque + + +kubectl create -f mysecret.yaml + +# Create Pod to read secret keys +vim readsecret.yaml +apiVersion: v1 +kind: Pod +metadata: + name: secret-env-pod +spec: + containers: + - name: mycontainer + image: redis + env: + - name: SECRET_USERNAME + valueFrom: + secretKeyRef: + name: mysecret + key: username + optional: false # same as default; "mysecret" must exist + # and include a key named "username" + - name: SECRET_PASSWORD + valueFrom: + secretKeyRef: + name: mysecret + key: password + optional: false # same as default; "mysecret" must exist + # and include a key named "password" + restartPolicy: Never + + +kubectl create -f readsecret.yaml +kubectl get pod + +# Login to Pod echo print variables +kubectl exec --stdin --tty secret-env-pod -- /bin/bash \ No newline at end of file diff --git a/ddc-material-master/21.kubernetes/volume.txt b/ddc-material-master/21.kubernetes/volume.txt new file mode 100644 index 00000000..0c09469a --- /dev/null +++ b/ddc-material-master/21.kubernetes/volume.txt @@ -0,0 +1,34 @@ +vim mysqlpod.yaml + +apiVersion: v1 +kind: Pod +metadata: + name: dbpod +spec: + containers: + - image: mysql:5.7 + name: mysql + volumeMounts: + - mountPath: /var/lib/mysql + name: dbvol + volumes: + - name: dbvol + hostPath: + # directory location on host + path: /data + # this field is optional + type: DirectoryOrCreate + + + +kubectl apply -f mysqlpod.yaml +kubectl get pod +kubectl describe pod dbpod +ls +clear +vim mysqlpod.yaml +kubectl delete pod dbpod +kubectl apply -f mysqlpod.yaml +kubectl describe pod dbpod +clear +kubectl delete pod dbpod diff --git a/ddc-material-master/21.kubernetes/vproapp-loadbalancer.yml b/ddc-material-master/21.kubernetes/vproapp-loadbalancer.yml new file mode 100644 index 00000000..9ef3e7e2 --- /dev/null +++ b/ddc-material-master/21.kubernetes/vproapp-loadbalancer.yml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: helloworld-service +spec: + ports: + - port: 80 + targetPort: vproapp-port + protocol: TCP + selector: + app: vproapp + type: LoadBalancer diff --git a/ddc-material-master/21.kubernetes/vproapp-nodeport.yaml b/ddc-material-master/21.kubernetes/vproapp-nodeport.yaml new file mode 100644 index 00000000..48c83ea0 --- /dev/null +++ b/ddc-material-master/21.kubernetes/vproapp-nodeport.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: helloworld-service +spec: + ports: + - port: 8090 + nodePort: 30001 + targetPort: vproapp-port + protocol: TCP + selector: + app: vproapp + type: NodePort diff --git a/ddc-material-master/21.kubernetes/vproapp-repl-controller.yaml b/ddc-material-master/21.kubernetes/vproapp-repl-controller.yaml new file mode 100644 index 00000000..261bca07 --- /dev/null +++ b/ddc-material-master/21.kubernetes/vproapp-repl-controller.yaml @@ -0,0 +1,20 @@ +--- +apiVersion: v1 +kind: ReplicationController +metadata: + name: vproapp-controller +spec: + replicas: 2 + selector: + app: vproapp + template: + metadata: + labels: + app: vproapp + spec: + containers: + - name: appcontainer + image: imranvisualpath/freshtomapp:V7 + ports: + - name: vproapp-port + containerPort: 8080 diff --git a/ddc-material-master/21.kubernetes/vproapppod.yaml b/ddc-material-master/21.kubernetes/vproapppod.yaml new file mode 100644 index 00000000..000d0fb7 --- /dev/null +++ b/ddc-material-master/21.kubernetes/vproapppod.yaml @@ -0,0 +1,14 @@ +--- +apiVersion: v1 +kind: Pod +metadata: + name: vproapp + labels: + app: vproapp +spec: + containers: + - name: appcontainer + image: imranvisualpath/freshtomapp:V7 + ports: + - name: vproapp-port + containerPort: 8080 diff --git a/ddc-material-master/22.AppDeplouOnK8sProject/AppDepOnK8sProIntroSlides.pdf b/ddc-material-master/22.AppDeplouOnK8sProject/AppDepOnK8sProIntroSlides.pdf new file mode 100644 index 00000000..95e7cf0a Binary files /dev/null and b/ddc-material-master/22.AppDeplouOnK8sProject/AppDepOnK8sProIntroSlides.pdf differ diff --git a/ddc-material-master/23.CiCdForContainers/CICD4ContainersProjectSlides.pdf b/ddc-material-master/23.CiCdForContainers/CICD4ContainersProjectSlides.pdf new file mode 100644 index 00000000..5cbe90e5 Binary files /dev/null and b/ddc-material-master/23.CiCdForContainers/CICD4ContainersProjectSlides.pdf differ diff --git a/ddc-material-master/24.Terraform/Terraform.pdf b/ddc-material-master/24.Terraform/Terraform.pdf new file mode 100644 index 00000000..5e3c2e94 Binary files /dev/null and b/ddc-material-master/24.Terraform/Terraform.pdf differ diff --git a/ddc-material-master/24.Terraform/exercise1/first_instance.tf b/ddc-material-master/24.Terraform/exercise1/first_instance.tf new file mode 100644 index 00000000..7d9fb971 --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise1/first_instance.tf @@ -0,0 +1,17 @@ +provider "aws" { + region = "us-east-2" + # access_key = "" + # secret_key = "" +} + +resource "aws_instance" "intro" { + ami = "ami-03657b56516ab7912" + instance_type = "t2.micro" + availability_zone = "us-east-2a" + key_name = "dove-key" + vpc_security_group_ids = ["sg-0780815f55104be8a"] + tags = { + Name = "Dove-Instance" + Project = "Dove" + } +} diff --git a/ddc-material-master/24.Terraform/exercise2/instance.tf b/ddc-material-master/24.Terraform/exercise2/instance.tf new file mode 100644 index 00000000..26afb156 --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise2/instance.tf @@ -0,0 +1,11 @@ +resource "aws_instance" "dove-inst" { + ami = var.AMIS[var.REGION] + instance_type = "t2.micro" + availability_zone = var.ZONE1 + key_name = "new-dove" + vpc_security_group_ids = ["sg-0780815f55104be8a"] + tags = { + Name = "Dove-Instance" + Project = "Dove" + } +} diff --git a/ddc-material-master/24.Terraform/exercise2/providers.tf b/ddc-material-master/24.Terraform/exercise2/providers.tf new file mode 100644 index 00000000..5d6480c5 --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise2/providers.tf @@ -0,0 +1,3 @@ +provider "aws" { + region = var.REGION +} diff --git a/ddc-material-master/24.Terraform/exercise2/vars.tf b/ddc-material-master/24.Terraform/exercise2/vars.tf new file mode 100644 index 00000000..4796e146 --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise2/vars.tf @@ -0,0 +1,15 @@ +variable REGION { + default = "us-east-2" +} + +variable ZONE1 { + default = "us-east-2a" +} + +variable AMIS { + type = map + default = { + us-east-2 = "ami-03657b56516ab7912" + us-east-1 = "ami-0947d2ba12ee1ff75" + } +} \ No newline at end of file diff --git a/ddc-material-master/24.Terraform/exercise3/dovekey b/ddc-material-master/24.Terraform/exercise3/dovekey new file mode 100644 index 00000000..e6e58d08 --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise3/dovekey @@ -0,0 +1,38 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn +NhAAAAAwEAAQAAAYEAu8do2SiZgYsNK2UHhDoCk066zUdM45RzzF9FkTIBcHhX3HNYY6Ko +RKMTUECpXFNvZ8HXHzlFcEDDgyQgpDj5eBpx9nTfWd8LnURPAKCAXdB9A9mpWBYKDDRsJW +qdFb2Rhb0N4Gvzeve/75BrdjNmPB7/p12iY59VinJ7X6zaQmicGyZRJL9ypgWIfm9ZRXrS +KnkGD6rbNLrbfZci9FDEFjov5E0YGEmvVPJiJeIL0hgTzAXQ/0wVR72YCPhfuyGqXtasxI +/RIPmr2t2pPFO3NY8ZwQ3qgKpDjtg/bIfBvvvTdWLnrmatyjdcTbnAK9n6/RCbRudczww6 +FIo8Dovuj0FwaJ0z5Rwnr92ooXf/CMn+CrKYL8yslXLJMj0rI5SEYLcbPRRMpxthI1GN/S +8g46jkDgBbwMlPPdhsh4aIZXqta3G0TgWWWUT/jYHQEJbdAkq+LG4PgD3N3T8W3uhvtLH6 +uTWTiw6WHBiOGhs90SyvtwMk5Flzommd2qRjA/VNAAAFkPeRwg/3kcIPAAAAB3NzaC1yc2 +EAAAGBALvHaNkomYGLDStlB4Q6ApNOus1HTOOUc8xfRZEyAXB4V9xzWGOiqESjE1BAqVxT +b2fB1x85RXBAw4MkIKQ4+XgacfZ031nfC51ETwCggF3QfQPZqVgWCgw0bCVqnRW9kYW9De +Br83r3v++Qa3YzZjwe/6ddomOfVYpye1+s2kJonBsmUSS/cqYFiH5vWUV60ip5Bg+q2zS6 +232XIvRQxBY6L+RNGBhJr1TyYiXiC9IYE8wF0P9MFUe9mAj4X7shql7WrMSP0SD5q9rdqT +xTtzWPGcEN6oCqQ47YP2yHwb7703Vi565mrco3XE25wCvZ+v0Qm0bnXM8MOhSKPA6L7o9B +cGidM+UcJ6/dqKF3/wjJ/gqymC/MrJVyyTI9KyOUhGC3Gz0UTKcbYSNRjf0vIOOo5A4AW8 +DJTz3YbIeGiGV6rWtxtE4FlllE/42B0BCW3QJKvixuD4A9zd0/Ft7ob7Sx+rk1k4sOlhwY +jhobPdEsr7cDJORZc6JpndqkYwP1TQAAAAMBAAEAAAGABd41aJPcODAgOTrvATLO4cuUCt +YvkO0SsVBI3ECzys/37uur13E90OdHszpSEJCK6rMkBdXEVb2wXmjCnF8rbJVm+kysriJK +Op/n2B0r5cKeJYCnyhjmN3tr5b9vKT7DTWqbBGhbM3yKgvIAabExgK93TcOfT32rLqhlMp +g0Od8LAc4wuvVAn++MVGcmYwVzi+A8UEEGmJ8+PK58aSYc+pTW6kt+dUPYNs9cQdLOi8I0 +3CtSXKgEAjnqhl08oJxsqMefRPadv+OjDTYwTQB0n285YZ2miyAoWzcRGlGsdUtPCqcy2D +53CDTvAkq3Mkran90CFWRgoSx+STILnvkdr165Xr8UwL6boV2UVNc+iAFK5/a5bbqt2CgL +BPGNXrUTRY379Ygfe4y0KX1AP5SlRDve+RYg/4rQWbAVV9T56399SeMKMN2BtMkwF/ik8o +LDGV7oJEoouxKE/DyZMxZMaQ4+YFwRg49BIbMn5J1JsTNweEQqISlTzjs1LpJZFOABAAAA +wQCFp2r9bS8KT1Zm/mgxM/0BcVz9NNpqBXAL+W2QdSngSPRk0dfL4ptvw4pxXc1nSZg6Cd ++JIE9Z9ci06zI0O3egUQnDSthOL38q5Sa08KSH2Yj/S/vAr/zNplpb5RmCsksOo8zqjWAh +SP3rCXrGmpb6EkbYz1/WqCiMe19XtNWT6pRvdZh3UnD+4FTnX6oOA/jm3Cp9hnbJ6CS77r +8HPOBlAxmliDkwuC98oEce0TFam1pWEr+kYVUAB1Bg+9taJK4AAADBAPAJDUQ7qafoUpST +2NN+RU92zoV+8IvVl0WRXBmiOeCycTYcKZDJWLfjyFn+r1u0ahLCRNgfGJBCFsato7H8Bw +t8EkxQIPTljM9CyI635VbHjiwfTtd7K95FGwtG1AwucQlqgSiyOf7s2tM6JqL7jdmY0TdW +iuL38QJPXXetJOaeIHwUw/F6R0nhmH2ILp9TIGLC37I7isXegg4aHiNMB3JAcs9xLgjQAR +u01GmmsE2nrBxvmRSJ4eP5zv0vDkjB5wAAAMEAyESd7ZfQqOT7KyIgAr096Z0xIK302/48 +3VlZJoyu/1DXgH8OL3NsPNStDIPhL+Pzk1oYIfmDjSY0l9H+O/hSdDhGbT6i9csO4XQpxU +2tyggStl8cyc4OXHFIh2QNDxfUAyRpo99yMqiPieovv5b37eusOAaOKFdhq3suEo8rb69z +w1Jt35T8xgbK6uIEDE0JG0euE+jkEvdJ9vJKxax4VxyaFnYpjiX+4dqGt87Ds+DOI/8/JW +DyzI9hpIRf1BCrAAAAFWltcmFuQExBUFRPUC0ySjBPSzY2QQECAwQF +-----END OPENSSH PRIVATE KEY----- diff --git a/ddc-material-master/24.Terraform/exercise3/dovekey.pub b/ddc-material-master/24.Terraform/exercise3/dovekey.pub new file mode 100644 index 00000000..156014f9 --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise3/dovekey.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC7x2jZKJmBiw0rZQeEOgKTTrrNR0zjlHPMX0WRMgFweFfcc1hjoqhEoxNQQKlcU29nwdcfOUVwQMODJCCkOPl4GnH2dN9Z3wudRE8AoIBd0H0D2alYFgoMNGwlap0VvZGFvQ3ga/N697/vkGt2M2Y8Hv+nXaJjn1WKcntfrNpCaJwbJlEkv3KmBYh+b1lFetIqeQYPqts0utt9lyL0UMQWOi/kTRgYSa9U8mIl4gvSGBPMBdD/TBVHvZgI+F+7Iape1qzEj9Eg+ava3ak8U7c1jxnBDeqAqkOO2D9sh8G++9N1YueuZq3KN1xNucAr2fr9EJtG51zPDDoUijwOi+6PQXBonTPlHCev3aihd/8Iyf4KspgvzKyVcskyPSsjlIRgtxs9FEynG2EjUY39LyDjqOQOAFvAyU892GyHhohleq1rcbROBZZZRP+NgdAQlt0CSr4sbg+APc3dPxbe6G+0sfq5NZOLDpYcGI4aGz3RLK+3AyTkWXOiaZ3apGMD9U0= imran@LAPTOP-2J0OK66A diff --git a/ddc-material-master/24.Terraform/exercise3/instance.tf b/ddc-material-master/24.Terraform/exercise3/instance.tf new file mode 100644 index 00000000..d59f2370 --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise3/instance.tf @@ -0,0 +1,35 @@ +resource "aws_key_pair" "dove-key" { + key_name = "dovekey" + public_key = file("dovekey.pub") +} + +resource "aws_instance" "dove-inst" { + ami = var.AMIS[var.REGION] + instance_type = "t2.micro" + availability_zone = var.ZONE1 + key_name = aws_key_pair.dove-key.key_name + vpc_security_group_ids = ["sg-0780815f55104be8a"] + tags = { + Name = "Dove-Instance" + Project = "Dove" + } + + provisioner "file" { + source = "web.sh" + destination = "/tmp/web.sh" + } + + provisioner "remote-exec" { + + inline = [ + "chmod +x /tmp/web.sh", + "sudo /tmp/web.sh" + ] + } + + connection { + user = var.USER + private_key = file("dovekey") + host = self.public_ip + } +} \ No newline at end of file diff --git a/ddc-material-master/24.Terraform/exercise3/providers.tf b/ddc-material-master/24.Terraform/exercise3/providers.tf new file mode 100644 index 00000000..5d6480c5 --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise3/providers.tf @@ -0,0 +1,3 @@ +provider "aws" { + region = var.REGION +} diff --git a/ddc-material-master/24.Terraform/exercise3/vars.tf b/ddc-material-master/24.Terraform/exercise3/vars.tf new file mode 100644 index 00000000..fd40499f --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise3/vars.tf @@ -0,0 +1,19 @@ +variable REGION { + default = "us-east-2" +} + +variable ZONE1 { + default = "us-east-2a" +} + +variable AMIS { + type = map + default = { + us-east-2 = "ami-03657b56516ab7912" + us-east-1 = "ami-0947d2ba12ee1ff75" + } +} + +variable USER { + default = "ec2-user" +} \ No newline at end of file diff --git a/ddc-material-master/24.Terraform/exercise3/web.sh b/ddc-material-master/24.Terraform/exercise3/web.sh new file mode 100644 index 00000000..9f82ab46 --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise3/web.sh @@ -0,0 +1,8 @@ +#!/bin/bash +yum install wget unzip httpd -y +systemctl start httpd +systemctl enable httpd +wget https://www.tooplate.com/zip-templates/2117_infinite_loop.zip +unzip -o 2117_infinite_loop.zip +cp -r 2117_infinite_loop/* /var/www/html/ +systemctl restart httpd diff --git a/ddc-material-master/24.Terraform/exercise4/dovekey b/ddc-material-master/24.Terraform/exercise4/dovekey new file mode 100644 index 00000000..e6e58d08 --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise4/dovekey @@ -0,0 +1,38 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn +NhAAAAAwEAAQAAAYEAu8do2SiZgYsNK2UHhDoCk066zUdM45RzzF9FkTIBcHhX3HNYY6Ko +RKMTUECpXFNvZ8HXHzlFcEDDgyQgpDj5eBpx9nTfWd8LnURPAKCAXdB9A9mpWBYKDDRsJW +qdFb2Rhb0N4Gvzeve/75BrdjNmPB7/p12iY59VinJ7X6zaQmicGyZRJL9ypgWIfm9ZRXrS +KnkGD6rbNLrbfZci9FDEFjov5E0YGEmvVPJiJeIL0hgTzAXQ/0wVR72YCPhfuyGqXtasxI +/RIPmr2t2pPFO3NY8ZwQ3qgKpDjtg/bIfBvvvTdWLnrmatyjdcTbnAK9n6/RCbRudczww6 +FIo8Dovuj0FwaJ0z5Rwnr92ooXf/CMn+CrKYL8yslXLJMj0rI5SEYLcbPRRMpxthI1GN/S +8g46jkDgBbwMlPPdhsh4aIZXqta3G0TgWWWUT/jYHQEJbdAkq+LG4PgD3N3T8W3uhvtLH6 +uTWTiw6WHBiOGhs90SyvtwMk5Flzommd2qRjA/VNAAAFkPeRwg/3kcIPAAAAB3NzaC1yc2 +EAAAGBALvHaNkomYGLDStlB4Q6ApNOus1HTOOUc8xfRZEyAXB4V9xzWGOiqESjE1BAqVxT +b2fB1x85RXBAw4MkIKQ4+XgacfZ031nfC51ETwCggF3QfQPZqVgWCgw0bCVqnRW9kYW9De +Br83r3v++Qa3YzZjwe/6ddomOfVYpye1+s2kJonBsmUSS/cqYFiH5vWUV60ip5Bg+q2zS6 +232XIvRQxBY6L+RNGBhJr1TyYiXiC9IYE8wF0P9MFUe9mAj4X7shql7WrMSP0SD5q9rdqT +xTtzWPGcEN6oCqQ47YP2yHwb7703Vi565mrco3XE25wCvZ+v0Qm0bnXM8MOhSKPA6L7o9B +cGidM+UcJ6/dqKF3/wjJ/gqymC/MrJVyyTI9KyOUhGC3Gz0UTKcbYSNRjf0vIOOo5A4AW8 +DJTz3YbIeGiGV6rWtxtE4FlllE/42B0BCW3QJKvixuD4A9zd0/Ft7ob7Sx+rk1k4sOlhwY +jhobPdEsr7cDJORZc6JpndqkYwP1TQAAAAMBAAEAAAGABd41aJPcODAgOTrvATLO4cuUCt +YvkO0SsVBI3ECzys/37uur13E90OdHszpSEJCK6rMkBdXEVb2wXmjCnF8rbJVm+kysriJK +Op/n2B0r5cKeJYCnyhjmN3tr5b9vKT7DTWqbBGhbM3yKgvIAabExgK93TcOfT32rLqhlMp +g0Od8LAc4wuvVAn++MVGcmYwVzi+A8UEEGmJ8+PK58aSYc+pTW6kt+dUPYNs9cQdLOi8I0 +3CtSXKgEAjnqhl08oJxsqMefRPadv+OjDTYwTQB0n285YZ2miyAoWzcRGlGsdUtPCqcy2D +53CDTvAkq3Mkran90CFWRgoSx+STILnvkdr165Xr8UwL6boV2UVNc+iAFK5/a5bbqt2CgL +BPGNXrUTRY379Ygfe4y0KX1AP5SlRDve+RYg/4rQWbAVV9T56399SeMKMN2BtMkwF/ik8o +LDGV7oJEoouxKE/DyZMxZMaQ4+YFwRg49BIbMn5J1JsTNweEQqISlTzjs1LpJZFOABAAAA +wQCFp2r9bS8KT1Zm/mgxM/0BcVz9NNpqBXAL+W2QdSngSPRk0dfL4ptvw4pxXc1nSZg6Cd ++JIE9Z9ci06zI0O3egUQnDSthOL38q5Sa08KSH2Yj/S/vAr/zNplpb5RmCsksOo8zqjWAh +SP3rCXrGmpb6EkbYz1/WqCiMe19XtNWT6pRvdZh3UnD+4FTnX6oOA/jm3Cp9hnbJ6CS77r +8HPOBlAxmliDkwuC98oEce0TFam1pWEr+kYVUAB1Bg+9taJK4AAADBAPAJDUQ7qafoUpST +2NN+RU92zoV+8IvVl0WRXBmiOeCycTYcKZDJWLfjyFn+r1u0ahLCRNgfGJBCFsato7H8Bw +t8EkxQIPTljM9CyI635VbHjiwfTtd7K95FGwtG1AwucQlqgSiyOf7s2tM6JqL7jdmY0TdW +iuL38QJPXXetJOaeIHwUw/F6R0nhmH2ILp9TIGLC37I7isXegg4aHiNMB3JAcs9xLgjQAR +u01GmmsE2nrBxvmRSJ4eP5zv0vDkjB5wAAAMEAyESd7ZfQqOT7KyIgAr096Z0xIK302/48 +3VlZJoyu/1DXgH8OL3NsPNStDIPhL+Pzk1oYIfmDjSY0l9H+O/hSdDhGbT6i9csO4XQpxU +2tyggStl8cyc4OXHFIh2QNDxfUAyRpo99yMqiPieovv5b37eusOAaOKFdhq3suEo8rb69z +w1Jt35T8xgbK6uIEDE0JG0euE+jkEvdJ9vJKxax4VxyaFnYpjiX+4dqGt87Ds+DOI/8/JW +DyzI9hpIRf1BCrAAAAFWltcmFuQExBUFRPUC0ySjBPSzY2QQECAwQF +-----END OPENSSH PRIVATE KEY----- diff --git a/ddc-material-master/24.Terraform/exercise4/dovekey.pub b/ddc-material-master/24.Terraform/exercise4/dovekey.pub new file mode 100644 index 00000000..156014f9 --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise4/dovekey.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC7x2jZKJmBiw0rZQeEOgKTTrrNR0zjlHPMX0WRMgFweFfcc1hjoqhEoxNQQKlcU29nwdcfOUVwQMODJCCkOPl4GnH2dN9Z3wudRE8AoIBd0H0D2alYFgoMNGwlap0VvZGFvQ3ga/N697/vkGt2M2Y8Hv+nXaJjn1WKcntfrNpCaJwbJlEkv3KmBYh+b1lFetIqeQYPqts0utt9lyL0UMQWOi/kTRgYSa9U8mIl4gvSGBPMBdD/TBVHvZgI+F+7Iape1qzEj9Eg+ava3ak8U7c1jxnBDeqAqkOO2D9sh8G++9N1YueuZq3KN1xNucAr2fr9EJtG51zPDDoUijwOi+6PQXBonTPlHCev3aihd/8Iyf4KspgvzKyVcskyPSsjlIRgtxs9FEynG2EjUY39LyDjqOQOAFvAyU892GyHhohleq1rcbROBZZZRP+NgdAQlt0CSr4sbg+APc3dPxbe6G+0sfq5NZOLDpYcGI4aGz3RLK+3AyTkWXOiaZ3apGMD9U0= imran@LAPTOP-2J0OK66A diff --git a/ddc-material-master/24.Terraform/exercise4/instance.tf b/ddc-material-master/24.Terraform/exercise4/instance.tf new file mode 100644 index 00000000..063f94fc --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise4/instance.tf @@ -0,0 +1,43 @@ +resource "aws_key_pair" "dove-key" { + key_name = "dovekey" + public_key = file("dovekey.pub") +} + +resource "aws_instance" "dove-inst" { + ami = var.AMIS[var.REGION] + instance_type = "t2.micro" + availability_zone = var.ZONE1 + key_name = aws_key_pair.dove-key.key_name + vpc_security_group_ids = ["sg-0780815f55104be8a"] + tags = { + Name = "Dove-Instance" + Project = "Dove" + } + + provisioner "file" { + source = "web.sh" + destination = "/tmp/web.sh" + } + + provisioner "remote-exec" { + + inline = [ + "chmod +x /tmp/web.sh", + "sudo /tmp/web.sh" + ] + } + + connection { + user = var.USER + private_key = file("dovekey") + host = self.public_ip + } +} + +output "PublicIP" { + value = aws_instance.dove-inst.public_ip +} + +output "PrivateIP" { + value = aws_instance.dove-inst.private_ip +} \ No newline at end of file diff --git a/ddc-material-master/24.Terraform/exercise4/providers.tf b/ddc-material-master/24.Terraform/exercise4/providers.tf new file mode 100644 index 00000000..5d6480c5 --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise4/providers.tf @@ -0,0 +1,3 @@ +provider "aws" { + region = var.REGION +} diff --git a/ddc-material-master/24.Terraform/exercise4/vars.tf b/ddc-material-master/24.Terraform/exercise4/vars.tf new file mode 100644 index 00000000..fd40499f --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise4/vars.tf @@ -0,0 +1,19 @@ +variable REGION { + default = "us-east-2" +} + +variable ZONE1 { + default = "us-east-2a" +} + +variable AMIS { + type = map + default = { + us-east-2 = "ami-03657b56516ab7912" + us-east-1 = "ami-0947d2ba12ee1ff75" + } +} + +variable USER { + default = "ec2-user" +} \ No newline at end of file diff --git a/ddc-material-master/24.Terraform/exercise4/web.sh b/ddc-material-master/24.Terraform/exercise4/web.sh new file mode 100644 index 00000000..9f82ab46 --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise4/web.sh @@ -0,0 +1,8 @@ +#!/bin/bash +yum install wget unzip httpd -y +systemctl start httpd +systemctl enable httpd +wget https://www.tooplate.com/zip-templates/2117_infinite_loop.zip +unzip -o 2117_infinite_loop.zip +cp -r 2117_infinite_loop/* /var/www/html/ +systemctl restart httpd diff --git a/ddc-material-master/24.Terraform/exercise5/backend.tf b/ddc-material-master/24.Terraform/exercise5/backend.tf new file mode 100644 index 00000000..147ab3d2 --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise5/backend.tf @@ -0,0 +1,7 @@ +terraform { + backend "s3" { + bucket = "terra-state-dove" + key = "terraform/backend" + region = "us-east-2" + } +} diff --git a/ddc-material-master/24.Terraform/exercise5/dovekey b/ddc-material-master/24.Terraform/exercise5/dovekey new file mode 100644 index 00000000..e6e58d08 --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise5/dovekey @@ -0,0 +1,38 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn +NhAAAAAwEAAQAAAYEAu8do2SiZgYsNK2UHhDoCk066zUdM45RzzF9FkTIBcHhX3HNYY6Ko +RKMTUECpXFNvZ8HXHzlFcEDDgyQgpDj5eBpx9nTfWd8LnURPAKCAXdB9A9mpWBYKDDRsJW +qdFb2Rhb0N4Gvzeve/75BrdjNmPB7/p12iY59VinJ7X6zaQmicGyZRJL9ypgWIfm9ZRXrS +KnkGD6rbNLrbfZci9FDEFjov5E0YGEmvVPJiJeIL0hgTzAXQ/0wVR72YCPhfuyGqXtasxI +/RIPmr2t2pPFO3NY8ZwQ3qgKpDjtg/bIfBvvvTdWLnrmatyjdcTbnAK9n6/RCbRudczww6 +FIo8Dovuj0FwaJ0z5Rwnr92ooXf/CMn+CrKYL8yslXLJMj0rI5SEYLcbPRRMpxthI1GN/S +8g46jkDgBbwMlPPdhsh4aIZXqta3G0TgWWWUT/jYHQEJbdAkq+LG4PgD3N3T8W3uhvtLH6 +uTWTiw6WHBiOGhs90SyvtwMk5Flzommd2qRjA/VNAAAFkPeRwg/3kcIPAAAAB3NzaC1yc2 +EAAAGBALvHaNkomYGLDStlB4Q6ApNOus1HTOOUc8xfRZEyAXB4V9xzWGOiqESjE1BAqVxT +b2fB1x85RXBAw4MkIKQ4+XgacfZ031nfC51ETwCggF3QfQPZqVgWCgw0bCVqnRW9kYW9De +Br83r3v++Qa3YzZjwe/6ddomOfVYpye1+s2kJonBsmUSS/cqYFiH5vWUV60ip5Bg+q2zS6 +232XIvRQxBY6L+RNGBhJr1TyYiXiC9IYE8wF0P9MFUe9mAj4X7shql7WrMSP0SD5q9rdqT +xTtzWPGcEN6oCqQ47YP2yHwb7703Vi565mrco3XE25wCvZ+v0Qm0bnXM8MOhSKPA6L7o9B +cGidM+UcJ6/dqKF3/wjJ/gqymC/MrJVyyTI9KyOUhGC3Gz0UTKcbYSNRjf0vIOOo5A4AW8 +DJTz3YbIeGiGV6rWtxtE4FlllE/42B0BCW3QJKvixuD4A9zd0/Ft7ob7Sx+rk1k4sOlhwY +jhobPdEsr7cDJORZc6JpndqkYwP1TQAAAAMBAAEAAAGABd41aJPcODAgOTrvATLO4cuUCt +YvkO0SsVBI3ECzys/37uur13E90OdHszpSEJCK6rMkBdXEVb2wXmjCnF8rbJVm+kysriJK +Op/n2B0r5cKeJYCnyhjmN3tr5b9vKT7DTWqbBGhbM3yKgvIAabExgK93TcOfT32rLqhlMp +g0Od8LAc4wuvVAn++MVGcmYwVzi+A8UEEGmJ8+PK58aSYc+pTW6kt+dUPYNs9cQdLOi8I0 +3CtSXKgEAjnqhl08oJxsqMefRPadv+OjDTYwTQB0n285YZ2miyAoWzcRGlGsdUtPCqcy2D +53CDTvAkq3Mkran90CFWRgoSx+STILnvkdr165Xr8UwL6boV2UVNc+iAFK5/a5bbqt2CgL +BPGNXrUTRY379Ygfe4y0KX1AP5SlRDve+RYg/4rQWbAVV9T56399SeMKMN2BtMkwF/ik8o +LDGV7oJEoouxKE/DyZMxZMaQ4+YFwRg49BIbMn5J1JsTNweEQqISlTzjs1LpJZFOABAAAA +wQCFp2r9bS8KT1Zm/mgxM/0BcVz9NNpqBXAL+W2QdSngSPRk0dfL4ptvw4pxXc1nSZg6Cd ++JIE9Z9ci06zI0O3egUQnDSthOL38q5Sa08KSH2Yj/S/vAr/zNplpb5RmCsksOo8zqjWAh +SP3rCXrGmpb6EkbYz1/WqCiMe19XtNWT6pRvdZh3UnD+4FTnX6oOA/jm3Cp9hnbJ6CS77r +8HPOBlAxmliDkwuC98oEce0TFam1pWEr+kYVUAB1Bg+9taJK4AAADBAPAJDUQ7qafoUpST +2NN+RU92zoV+8IvVl0WRXBmiOeCycTYcKZDJWLfjyFn+r1u0ahLCRNgfGJBCFsato7H8Bw +t8EkxQIPTljM9CyI635VbHjiwfTtd7K95FGwtG1AwucQlqgSiyOf7s2tM6JqL7jdmY0TdW +iuL38QJPXXetJOaeIHwUw/F6R0nhmH2ILp9TIGLC37I7isXegg4aHiNMB3JAcs9xLgjQAR +u01GmmsE2nrBxvmRSJ4eP5zv0vDkjB5wAAAMEAyESd7ZfQqOT7KyIgAr096Z0xIK302/48 +3VlZJoyu/1DXgH8OL3NsPNStDIPhL+Pzk1oYIfmDjSY0l9H+O/hSdDhGbT6i9csO4XQpxU +2tyggStl8cyc4OXHFIh2QNDxfUAyRpo99yMqiPieovv5b37eusOAaOKFdhq3suEo8rb69z +w1Jt35T8xgbK6uIEDE0JG0euE+jkEvdJ9vJKxax4VxyaFnYpjiX+4dqGt87Ds+DOI/8/JW +DyzI9hpIRf1BCrAAAAFWltcmFuQExBUFRPUC0ySjBPSzY2QQECAwQF +-----END OPENSSH PRIVATE KEY----- diff --git a/ddc-material-master/24.Terraform/exercise5/dovekey.pub b/ddc-material-master/24.Terraform/exercise5/dovekey.pub new file mode 100644 index 00000000..156014f9 --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise5/dovekey.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC7x2jZKJmBiw0rZQeEOgKTTrrNR0zjlHPMX0WRMgFweFfcc1hjoqhEoxNQQKlcU29nwdcfOUVwQMODJCCkOPl4GnH2dN9Z3wudRE8AoIBd0H0D2alYFgoMNGwlap0VvZGFvQ3ga/N697/vkGt2M2Y8Hv+nXaJjn1WKcntfrNpCaJwbJlEkv3KmBYh+b1lFetIqeQYPqts0utt9lyL0UMQWOi/kTRgYSa9U8mIl4gvSGBPMBdD/TBVHvZgI+F+7Iape1qzEj9Eg+ava3ak8U7c1jxnBDeqAqkOO2D9sh8G++9N1YueuZq3KN1xNucAr2fr9EJtG51zPDDoUijwOi+6PQXBonTPlHCev3aihd/8Iyf4KspgvzKyVcskyPSsjlIRgtxs9FEynG2EjUY39LyDjqOQOAFvAyU892GyHhohleq1rcbROBZZZRP+NgdAQlt0CSr4sbg+APc3dPxbe6G+0sfq5NZOLDpYcGI4aGz3RLK+3AyTkWXOiaZ3apGMD9U0= imran@LAPTOP-2J0OK66A diff --git a/ddc-material-master/24.Terraform/exercise5/instance.tf b/ddc-material-master/24.Terraform/exercise5/instance.tf new file mode 100644 index 00000000..063f94fc --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise5/instance.tf @@ -0,0 +1,43 @@ +resource "aws_key_pair" "dove-key" { + key_name = "dovekey" + public_key = file("dovekey.pub") +} + +resource "aws_instance" "dove-inst" { + ami = var.AMIS[var.REGION] + instance_type = "t2.micro" + availability_zone = var.ZONE1 + key_name = aws_key_pair.dove-key.key_name + vpc_security_group_ids = ["sg-0780815f55104be8a"] + tags = { + Name = "Dove-Instance" + Project = "Dove" + } + + provisioner "file" { + source = "web.sh" + destination = "/tmp/web.sh" + } + + provisioner "remote-exec" { + + inline = [ + "chmod +x /tmp/web.sh", + "sudo /tmp/web.sh" + ] + } + + connection { + user = var.USER + private_key = file("dovekey") + host = self.public_ip + } +} + +output "PublicIP" { + value = aws_instance.dove-inst.public_ip +} + +output "PrivateIP" { + value = aws_instance.dove-inst.private_ip +} \ No newline at end of file diff --git a/ddc-material-master/24.Terraform/exercise5/providers.tf b/ddc-material-master/24.Terraform/exercise5/providers.tf new file mode 100644 index 00000000..5d6480c5 --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise5/providers.tf @@ -0,0 +1,3 @@ +provider "aws" { + region = var.REGION +} diff --git a/ddc-material-master/24.Terraform/exercise5/vars.tf b/ddc-material-master/24.Terraform/exercise5/vars.tf new file mode 100644 index 00000000..fd40499f --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise5/vars.tf @@ -0,0 +1,19 @@ +variable REGION { + default = "us-east-2" +} + +variable ZONE1 { + default = "us-east-2a" +} + +variable AMIS { + type = map + default = { + us-east-2 = "ami-03657b56516ab7912" + us-east-1 = "ami-0947d2ba12ee1ff75" + } +} + +variable USER { + default = "ec2-user" +} \ No newline at end of file diff --git a/ddc-material-master/24.Terraform/exercise5/web.sh b/ddc-material-master/24.Terraform/exercise5/web.sh new file mode 100644 index 00000000..9f82ab46 --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise5/web.sh @@ -0,0 +1,8 @@ +#!/bin/bash +yum install wget unzip httpd -y +systemctl start httpd +systemctl enable httpd +wget https://www.tooplate.com/zip-templates/2117_infinite_loop.zip +unzip -o 2117_infinite_loop.zip +cp -r 2117_infinite_loop/* /var/www/html/ +systemctl restart httpd diff --git a/ddc-material-master/24.Terraform/exercise6/backend.tf b/ddc-material-master/24.Terraform/exercise6/backend.tf new file mode 100644 index 00000000..7ac058ea --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise6/backend.tf @@ -0,0 +1,7 @@ +terraform { + backend "s3" { + bucket = "terra-state-dove" + key = "terraform/backend_exercise6" + region = "us-east-2" + } +} diff --git a/ddc-material-master/24.Terraform/exercise6/dovekey b/ddc-material-master/24.Terraform/exercise6/dovekey new file mode 100644 index 00000000..e6e58d08 --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise6/dovekey @@ -0,0 +1,38 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn +NhAAAAAwEAAQAAAYEAu8do2SiZgYsNK2UHhDoCk066zUdM45RzzF9FkTIBcHhX3HNYY6Ko +RKMTUECpXFNvZ8HXHzlFcEDDgyQgpDj5eBpx9nTfWd8LnURPAKCAXdB9A9mpWBYKDDRsJW +qdFb2Rhb0N4Gvzeve/75BrdjNmPB7/p12iY59VinJ7X6zaQmicGyZRJL9ypgWIfm9ZRXrS +KnkGD6rbNLrbfZci9FDEFjov5E0YGEmvVPJiJeIL0hgTzAXQ/0wVR72YCPhfuyGqXtasxI +/RIPmr2t2pPFO3NY8ZwQ3qgKpDjtg/bIfBvvvTdWLnrmatyjdcTbnAK9n6/RCbRudczww6 +FIo8Dovuj0FwaJ0z5Rwnr92ooXf/CMn+CrKYL8yslXLJMj0rI5SEYLcbPRRMpxthI1GN/S +8g46jkDgBbwMlPPdhsh4aIZXqta3G0TgWWWUT/jYHQEJbdAkq+LG4PgD3N3T8W3uhvtLH6 +uTWTiw6WHBiOGhs90SyvtwMk5Flzommd2qRjA/VNAAAFkPeRwg/3kcIPAAAAB3NzaC1yc2 +EAAAGBALvHaNkomYGLDStlB4Q6ApNOus1HTOOUc8xfRZEyAXB4V9xzWGOiqESjE1BAqVxT +b2fB1x85RXBAw4MkIKQ4+XgacfZ031nfC51ETwCggF3QfQPZqVgWCgw0bCVqnRW9kYW9De +Br83r3v++Qa3YzZjwe/6ddomOfVYpye1+s2kJonBsmUSS/cqYFiH5vWUV60ip5Bg+q2zS6 +232XIvRQxBY6L+RNGBhJr1TyYiXiC9IYE8wF0P9MFUe9mAj4X7shql7WrMSP0SD5q9rdqT +xTtzWPGcEN6oCqQ47YP2yHwb7703Vi565mrco3XE25wCvZ+v0Qm0bnXM8MOhSKPA6L7o9B +cGidM+UcJ6/dqKF3/wjJ/gqymC/MrJVyyTI9KyOUhGC3Gz0UTKcbYSNRjf0vIOOo5A4AW8 +DJTz3YbIeGiGV6rWtxtE4FlllE/42B0BCW3QJKvixuD4A9zd0/Ft7ob7Sx+rk1k4sOlhwY +jhobPdEsr7cDJORZc6JpndqkYwP1TQAAAAMBAAEAAAGABd41aJPcODAgOTrvATLO4cuUCt +YvkO0SsVBI3ECzys/37uur13E90OdHszpSEJCK6rMkBdXEVb2wXmjCnF8rbJVm+kysriJK +Op/n2B0r5cKeJYCnyhjmN3tr5b9vKT7DTWqbBGhbM3yKgvIAabExgK93TcOfT32rLqhlMp +g0Od8LAc4wuvVAn++MVGcmYwVzi+A8UEEGmJ8+PK58aSYc+pTW6kt+dUPYNs9cQdLOi8I0 +3CtSXKgEAjnqhl08oJxsqMefRPadv+OjDTYwTQB0n285YZ2miyAoWzcRGlGsdUtPCqcy2D +53CDTvAkq3Mkran90CFWRgoSx+STILnvkdr165Xr8UwL6boV2UVNc+iAFK5/a5bbqt2CgL +BPGNXrUTRY379Ygfe4y0KX1AP5SlRDve+RYg/4rQWbAVV9T56399SeMKMN2BtMkwF/ik8o +LDGV7oJEoouxKE/DyZMxZMaQ4+YFwRg49BIbMn5J1JsTNweEQqISlTzjs1LpJZFOABAAAA +wQCFp2r9bS8KT1Zm/mgxM/0BcVz9NNpqBXAL+W2QdSngSPRk0dfL4ptvw4pxXc1nSZg6Cd ++JIE9Z9ci06zI0O3egUQnDSthOL38q5Sa08KSH2Yj/S/vAr/zNplpb5RmCsksOo8zqjWAh +SP3rCXrGmpb6EkbYz1/WqCiMe19XtNWT6pRvdZh3UnD+4FTnX6oOA/jm3Cp9hnbJ6CS77r +8HPOBlAxmliDkwuC98oEce0TFam1pWEr+kYVUAB1Bg+9taJK4AAADBAPAJDUQ7qafoUpST +2NN+RU92zoV+8IvVl0WRXBmiOeCycTYcKZDJWLfjyFn+r1u0ahLCRNgfGJBCFsato7H8Bw +t8EkxQIPTljM9CyI635VbHjiwfTtd7K95FGwtG1AwucQlqgSiyOf7s2tM6JqL7jdmY0TdW +iuL38QJPXXetJOaeIHwUw/F6R0nhmH2ILp9TIGLC37I7isXegg4aHiNMB3JAcs9xLgjQAR +u01GmmsE2nrBxvmRSJ4eP5zv0vDkjB5wAAAMEAyESd7ZfQqOT7KyIgAr096Z0xIK302/48 +3VlZJoyu/1DXgH8OL3NsPNStDIPhL+Pzk1oYIfmDjSY0l9H+O/hSdDhGbT6i9csO4XQpxU +2tyggStl8cyc4OXHFIh2QNDxfUAyRpo99yMqiPieovv5b37eusOAaOKFdhq3suEo8rb69z +w1Jt35T8xgbK6uIEDE0JG0euE+jkEvdJ9vJKxax4VxyaFnYpjiX+4dqGt87Ds+DOI/8/JW +DyzI9hpIRf1BCrAAAAFWltcmFuQExBUFRPUC0ySjBPSzY2QQECAwQF +-----END OPENSSH PRIVATE KEY----- diff --git a/ddc-material-master/24.Terraform/exercise6/dovekey.pub b/ddc-material-master/24.Terraform/exercise6/dovekey.pub new file mode 100644 index 00000000..156014f9 --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise6/dovekey.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC7x2jZKJmBiw0rZQeEOgKTTrrNR0zjlHPMX0WRMgFweFfcc1hjoqhEoxNQQKlcU29nwdcfOUVwQMODJCCkOPl4GnH2dN9Z3wudRE8AoIBd0H0D2alYFgoMNGwlap0VvZGFvQ3ga/N697/vkGt2M2Y8Hv+nXaJjn1WKcntfrNpCaJwbJlEkv3KmBYh+b1lFetIqeQYPqts0utt9lyL0UMQWOi/kTRgYSa9U8mIl4gvSGBPMBdD/TBVHvZgI+F+7Iape1qzEj9Eg+ava3ak8U7c1jxnBDeqAqkOO2D9sh8G++9N1YueuZq3KN1xNucAr2fr9EJtG51zPDDoUijwOi+6PQXBonTPlHCev3aihd/8Iyf4KspgvzKyVcskyPSsjlIRgtxs9FEynG2EjUY39LyDjqOQOAFvAyU892GyHhohleq1rcbROBZZZRP+NgdAQlt0CSr4sbg+APc3dPxbe6G+0sfq5NZOLDpYcGI4aGz3RLK+3AyTkWXOiaZ3apGMD9U0= imran@LAPTOP-2J0OK66A diff --git a/ddc-material-master/24.Terraform/exercise6/instance.tf b/ddc-material-master/24.Terraform/exercise6/instance.tf new file mode 100644 index 00000000..b923e564 --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise6/instance.tf @@ -0,0 +1,33 @@ +resource "aws_key_pair" "dove-key" { + key_name = "dovekey" + public_key = file(var.PUB_KEY) +} + +resource "aws_instance" "dove-web" { + ami = var.AMIS[var.REGION] + instance_type = "t2.micro" + subnet_id = aws_subnet.dove-pub-1.id + key_name = aws_key_pair.dove-key.key_name + vpc_security_group_ids = [aws_security_group.dove_stack_sg.id] + tags = { + Name = "my-dove" + } +} + +resource "aws_ebs_volume" "vol_4_dove" { + availability_zone = var.ZONE1 + size = 3 + tags = { + Name = "extr-vol-4-dove" + } +} + +resource "aws_volume_attachment" "atch_vol_dove" { + device_name = "/dev/xvdh" + volume_id = aws_ebs_volume.vol_4_dove.id + instance_id = aws_instance.dove-web.id +} + +output "PublicIP" { + value = aws_instance.dove-web.public_ip +} diff --git a/ddc-material-master/24.Terraform/exercise6/providers.tf b/ddc-material-master/24.Terraform/exercise6/providers.tf new file mode 100644 index 00000000..1448a02f --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise6/providers.tf @@ -0,0 +1,3 @@ +provider "aws" { + region = var.REGION +} \ No newline at end of file diff --git a/ddc-material-master/24.Terraform/exercise6/secgrp.tf b/ddc-material-master/24.Terraform/exercise6/secgrp.tf new file mode 100644 index 00000000..42c7bfce --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise6/secgrp.tf @@ -0,0 +1,21 @@ +resource "aws_security_group" "dove_stack_sg" { + vpc_id = aws_vpc.dove.id + name = "dove-stack-sg" + description = "Sec Grp for dove ssh" + egress { + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = [var.MYIP] + } + tags = { + Name = "allow-ssh" + } +} diff --git a/ddc-material-master/24.Terraform/exercise6/vars.tf b/ddc-material-master/24.Terraform/exercise6/vars.tf new file mode 100644 index 00000000..d58ba11a --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise6/vars.tf @@ -0,0 +1,39 @@ +variable REGION { + default = "us-east-2" +} + +variable ZONE1 { + default = "us-east-2a" +} + +variable ZONE2 { + default = "us-east-2b" +} + +variable ZONE3 { + default = "us-east-2c" +} + +variable AMIS { + type = map + default = { + us-east-2 = "ami-03657b56516ab7912" + us-east-1 = "ami-0947d2ba12ee1ff75" + } +} + +variable USER { + default = "ec2-user" +} + +variable PUB_KEY { + default = "dovekey.pub" +} + +variable PRIV_KEY { + default = "dovekey" +} + +variable MYIP { + default = "183.83.67.89/32" +} diff --git a/ddc-material-master/24.Terraform/exercise6/vpc.tf b/ddc-material-master/24.Terraform/exercise6/vpc.tf new file mode 100644 index 00000000..6d5bb7e5 --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise6/vpc.tf @@ -0,0 +1,108 @@ +resource "aws_vpc" "dove" { + cidr_block = "10.0.0.0/16" + instance_tenancy = "default" + enable_dns_support = "true" + enable_dns_hostnames = "true" + tags = { + Name = "dove-vpc" + } +} + +resource "aws_subnet" "dove-pub-1" { + vpc_id = aws_vpc.dove.id + cidr_block = "10.0.1.0/24" + map_public_ip_on_launch = "true" + availability_zone = var.ZONE1 + tags = { + Name = "dove-pub-1" + } +} + +resource "aws_subnet" "dove-pub-2" { + vpc_id = aws_vpc.dove.id + cidr_block = "10.0.2.0/24" + map_public_ip_on_launch = "true" + availability_zone = var.ZONE2 + tags = { + Name = "dove-pub-2" + } +} + + +resource "aws_subnet" "dove-pub-3" { + vpc_id = aws_vpc.dove.id + cidr_block = "10.0.3.0/24" + map_public_ip_on_launch = "true" + availability_zone = var.ZONE3 + tags = { + Name = "dove-pub-3" + } +} + + +resource "aws_subnet" "dove-priv-1" { + vpc_id = aws_vpc.dove.id + cidr_block = "10.0.4.0/24" + map_public_ip_on_launch = "true" + availability_zone = var.ZONE1 + tags = { + Name = "dove-priv-1" + } +} + + +resource "aws_subnet" "dove-priv-2" { + vpc_id = aws_vpc.dove.id + cidr_block = "10.0.5.0/24" + map_public_ip_on_launch = "true" + availability_zone = var.ZONE2 + tags = { + Name = "dove-priv-2" + } +} + + +resource "aws_subnet" "dove-priv-3" { + vpc_id = aws_vpc.dove.id + cidr_block = "10.0.6.0/24" + map_public_ip_on_launch = "true" + availability_zone = var.ZONE3 + tags = { + Name = "dove-priv-3" + } +} + +resource "aws_internet_gateway" "dove-IGW" { + vpc_id = aws_vpc.dove.id + tags = { + Name = "dove-IGW" + } +} + +resource "aws_route_table" "dove-pub-RT" { + vpc_id = aws_vpc.dove.id + + route { + cidr_block = "0.0.0.0/0" + gateway_id = aws_internet_gateway.dove-IGW.id + } + + tags = { + Name = "dove-pub-RT" + } +} + + +resource "aws_route_table_association" "dove-pub-1-a" { + subnet_id = aws_subnet.dove-pub-1.id + route_table_id = aws_route_table.dove-pub-RT.id +} + +resource "aws_route_table_association" "dove-pub-2-a" { + subnet_id = aws_subnet.dove-pub-2.id + route_table_id = aws_route_table.dove-pub-RT.id +} +resource "aws_route_table_association" "dove-pub-3-a" { + subnet_id = aws_subnet.dove-pub-3.id + route_table_id = aws_route_table.dove-pub-RT.id +} diff --git a/ddc-material-master/24.Terraform/exercise6/web.sh b/ddc-material-master/24.Terraform/exercise6/web.sh new file mode 100644 index 00000000..9f82ab46 --- /dev/null +++ b/ddc-material-master/24.Terraform/exercise6/web.sh @@ -0,0 +1,8 @@ +#!/bin/bash +yum install wget unzip httpd -y +systemctl start httpd +systemctl enable httpd +wget https://www.tooplate.com/zip-templates/2117_infinite_loop.zip +unzip -o 2117_infinite_loop.zip +cp -r 2117_infinite_loop/* /var/www/html/ +systemctl restart httpd diff --git a/ddc-material-master/25.cloudformation/Cloudformation.pdf b/ddc-material-master/25.cloudformation/Cloudformation.pdf new file mode 100644 index 00000000..1913fb5d Binary files /dev/null and b/ddc-material-master/25.cloudformation/Cloudformation.pdf differ diff --git a/ddc-material-master/25.cloudformation/InputParameters.yaml b/ddc-material-master/25.cloudformation/InputParameters.yaml new file mode 100644 index 00000000..cf72c54a --- /dev/null +++ b/ddc-material-master/25.cloudformation/InputParameters.yaml @@ -0,0 +1,55 @@ +Parameters: + NameOfService: + Description: "The name of the service this stack is to be used for." + Type: String + InstanceTypeParameter: + Type: String + Default: t2.micro + AllowedValues: + - t2.micro + - t2.small + - t2.medium + - m1.small + - m1.large + Description: Enter t2.micro, m1.small, or m1.large. Default is t2.micro. + KeyName: + Description: Name of EC2 login key + Type: AWS::EC2::KeyPair::KeyName +Mappings: + AmiRegionMap: + us-east-1: + AMI: "ami-0947d2ba12ee1ff75" + us-east-2: + AMI: "ami-03657b56516ab7912" + us-west-1: + AMI: "ami-0e4035ae3f70c400f" + eu-west-1: + AMI: "ami-0bb3fad3c0286ebd5" +Resources: + MyInstance: + Type: AWS::EC2::Instance + Properties: + InstanceType: !Ref InstanceTypeParameter + KeyName: !Ref KeyName + ImageId: !FindInMap + - AmiRegionMap + - !Ref AWS::Region + - AMI + Tags: + - Key: "Name" + Value: !Ref NameOfService + SecurityGroups: + - !Ref VprofileSG + VprofileSG: + Type: AWS::EC2::SecurityGroup + Properties: + GroupDescription: Allow ssh & http from MyIP + SecurityGroupIngress: + - IpProtocol: tcp + FromPort: 80 + ToPort: 80 + CidrIp: 0.0.0.0/0 + - IpProtocol: tcp + FromPort: 22 + ToPort: 22 + CidrIp: 183.83.39.124/32 \ No newline at end of file diff --git a/ddc-material-master/25.cloudformation/MappingAndPseudo.yaml b/ddc-material-master/25.cloudformation/MappingAndPseudo.yaml new file mode 100644 index 00000000..bd3833ea --- /dev/null +++ b/ddc-material-master/25.cloudformation/MappingAndPseudo.yaml @@ -0,0 +1,36 @@ +Mappings: + AmiRegionMap: + us-east-1: + AMI: "ami-0947d2ba12ee1ff75" + us-east-2: + AMI: "ami-03657b56516ab7912" + us-west-1: + AMI: "ami-0e4035ae3f70c400f" +Resources: + MyInstance: + Type: AWS::EC2::Instance + Properties: + InstanceType: t2.micro + ImageId: !FindInMap + - AmiRegionMap + - !Ref AWS::Region + - AMI + Tags: + - Key: "Name" + Value: !Join ["-", [my, inst, from, cloudformation]] + SecurityGroups: + - !Ref VprofileSG + + VprofileSG: + Type: AWS::EC2::SecurityGroup + Properties: + GroupDescription: Allow ssh & http from MyIP + SecurityGroupIngress: + - IpProtocol: tcp + FromPort: 80 + ToPort: 80 + CidrIp: 0.0.0.0/0 + - IpProtocol: tcp + FromPort: 22 + ToPort: 22 + CidrIp: 183.83.39.124/32 \ No newline at end of file diff --git a/ddc-material-master/25.cloudformation/PrintOutputs.yaml b/ddc-material-master/25.cloudformation/PrintOutputs.yaml new file mode 100644 index 00000000..f156f0db --- /dev/null +++ b/ddc-material-master/25.cloudformation/PrintOutputs.yaml @@ -0,0 +1,61 @@ +Parameters: + NameOfService: + Description: "The name of the service this stack is to be used for." + Type: String + InstanceTypeParameter: + Type: String + Default: t2.micro + AllowedValues: + - t2.micro + - t2.small + - t2.medium + - m1.small + - m1.large + Description: Enter t2.micro, m1.small, or m1.large. Default is t2.micro. + KeyName: + Description: Name of EC2 login key + Type: AWS::EC2::KeyPair::KeyName +Mappings: + AmiRegionMap: + us-east-1: + AMI: "ami-0947d2ba12ee1ff75" + us-east-2: + AMI: "ami-03657b56516ab7912" + us-west-1: + AMI: "ami-0e4035ae3f70c400f" + eu-west-1: + AMI: "ami-0bb3fad3c0286ebd5" +Resources: + MyInstance: + Type: AWS::EC2::Instance + Properties: + InstanceType: !Ref InstanceTypeParameter + KeyName: !Ref KeyName + ImageId: !FindInMap + - AmiRegionMap + - !Ref AWS::Region + - AMI + Tags: + - Key: "Name" + Value: !Ref NameOfService + SecurityGroups: + - !Ref VprofileSG + VprofileSG: + Type: AWS::EC2::SecurityGroup + Properties: + GroupDescription: Allow ssh & http from MyIP + SecurityGroupIngress: + - IpProtocol: tcp + FromPort: 80 + ToPort: 80 + CidrIp: 0.0.0.0/0 + - IpProtocol: tcp + FromPort: 22 + ToPort: 22 + CidrIp: 183.83.39.124/32 + +Outputs: + PrintSomeInfo: + Value: !GetAtt + - MyInstance + - PublicDnsName \ No newline at end of file diff --git a/ddc-material-master/25.cloudformation/Ref-function.yaml b/ddc-material-master/25.cloudformation/Ref-function.yaml new file mode 100644 index 00000000..cb3fc165 --- /dev/null +++ b/ddc-material-master/25.cloudformation/Ref-function.yaml @@ -0,0 +1,12 @@ +Resources: + MyInstance: + Type: AWS::EC2::Instance + Properties: + InstanceType: t2.micro + ImageId: ami-0e306788ff2473ccb + Tags: + - Key: "Name" + Value: !Join + - " " + - - "My Instance in" + - !Ref AWS::Region \ No newline at end of file diff --git a/ddc-material-master/25.cloudformation/change-set.yml b/ddc-material-master/25.cloudformation/change-set.yml new file mode 100644 index 00000000..5ef3329b --- /dev/null +++ b/ddc-material-master/25.cloudformation/change-set.yml @@ -0,0 +1,9 @@ +Resources: + MyInstance: + Type: AWS::EC2::Instance + Properties: + InstanceType: t2.small + ImageId: ami-06e54d05255faf8f6 + Tags: + - Key: "Name" + Value: "change1" \ No newline at end of file diff --git a/ddc-material-master/25.cloudformation/first-example.yaml b/ddc-material-master/25.cloudformation/first-example.yaml new file mode 100644 index 00000000..8ac69b2b --- /dev/null +++ b/ddc-material-master/25.cloudformation/first-example.yaml @@ -0,0 +1,6 @@ +Resources: + MyInstance: + Type: AWS::EC2::Instance + Properties: + InstanceType: t2.micro + ImageId: ami-0528a5175983e7f28 \ No newline at end of file diff --git a/ddc-material-master/25.cloudformation/functions.yaml b/ddc-material-master/25.cloudformation/functions.yaml new file mode 100644 index 00000000..1f76c698 --- /dev/null +++ b/ddc-material-master/25.cloudformation/functions.yaml @@ -0,0 +1,9 @@ +Resources: + MyInstance: + Type: AWS::EC2::Instance + Properties: + InstanceType: t2.micro + ImageId: ami-0528a5175983e7f28 + Tags: + - Key: "Name" + Value: !Join ["-", [my, inst, from, cloudformation]] \ No newline at end of file diff --git a/ddc-material-master/25.cloudformation/init.yaml b/ddc-material-master/25.cloudformation/init.yaml new file mode 100644 index 00000000..182f8b94 --- /dev/null +++ b/ddc-material-master/25.cloudformation/init.yaml @@ -0,0 +1,100 @@ +Parameters: + NameOfService: + Description: "The name of the service this stack is to be used for." + Type: String + InstanceTypeParameter: + Type: String + Default: t2.micro + AllowedValues: + - t2.micro + - t2.small + - t2.medium + - m1.small + - m1.large + Description: Enter t2.micro, m1.small, or m1.large. Default is t2.micro. + KeyName: + Description: Name of EC2 login key + Type: AWS::EC2::KeyPair::KeyName +Mappings: + AmiRegionMap: + us-east-1: + AMI: "ami-0947d2ba12ee1ff75" + us-east-2: + AMI: "ami-03657b56516ab7912" + us-west-1: + AMI: "ami-0e4035ae3f70c400f" + eu-west-1: + AMI: "ami-0bb3fad3c0286ebd5" +Resources: + WebServer: + Type: AWS::EC2::Instance + Metadata: + AWS::CloudFormation::Init: + config: + packages: + yum: + httpd: [] + php: [] + wget: [] + unzip: [] + git: [] + commands: + test: + command: "wget https://www.tooplate.com/zip-templates/2119_gymso_fitness.zip && unzip 2119_gymso_fitness.zip && cp -r 2119_gymso_fitness/* /var/www/html/" + files: + /var/www/html/hello.html: + content: !Sub | + + + + +

Welcome to CloudFormation.

+

This site is deployed by CloudFormation.

+ + + + services: + sysvinit: + httpd: + enabled: true + ensureRunning: true + Properties: + InstanceType: !Ref InstanceTypeParameter + KeyName: !Ref KeyName + ImageId: !FindInMap + - AmiRegionMap + - !Ref AWS::Region + - AMI + Tags: + - Key: "Name" + Value: !Ref NameOfService + SecurityGroups: + - !Ref VprofileSG + UserData: + 'Fn::Base64': + !Sub | + #!/bin/bash -xe + # Ensure AWS CFN Bootstrap is the latest + yum install -y aws-cfn-bootstrap + # Install the files and packages from the metadata + /opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource WebServer --region ${AWS::Region} + /opt/aws/bin/cfn-signal -e $? --stack ${AWS::StackName} --resource WebServer --region ${AWS::Region} + VprofileSG: + Type: AWS::EC2::SecurityGroup + Properties: + GroupDescription: Allow ssh & http from MyIP + SecurityGroupIngress: + - IpProtocol: tcp + FromPort: 80 + ToPort: 80 + CidrIp: 0.0.0.0/0 + - IpProtocol: tcp + FromPort: 22 + ToPort: 22 + CidrIp: 183.83.39.124/32 + +Outputs: + PrintSomeInfo: + Value: !GetAtt + - WebServer + - PublicDnsName \ No newline at end of file diff --git a/ddc-material-master/25.cloudformation/multiResource.yaml b/ddc-material-master/25.cloudformation/multiResource.yaml new file mode 100644 index 00000000..75e359b5 --- /dev/null +++ b/ddc-material-master/25.cloudformation/multiResource.yaml @@ -0,0 +1,25 @@ +Resources: + MyInstance: + Type: AWS::EC2::Instance + Properties: + InstanceType: t2.micro + ImageId: ami-0cda377a1b884a1bc + Tags: + - Key: "Name" + Value: !Join ["-", [my, inst, from, cloudformation]] + SecurityGroups: + - !Ref VprofileSG + + VprofileSG: + Type: AWS::EC2::SecurityGroup + Properties: + GroupDescription: Allow ssh & http from MyIP + SecurityGroupIngress: + - IpProtocol: tcp + FromPort: 80 + ToPort: 80 + CidrIp: 0.0.0.0/0 + - IpProtocol: tcp + FromPort: 22 + ToPort: 22 + CidrIp: 183.83.39.124/32 \ No newline at end of file diff --git a/ddc-material-master/25.cloudformation/update-example.yaml b/ddc-material-master/25.cloudformation/update-example.yaml new file mode 100644 index 00000000..6a46540b --- /dev/null +++ b/ddc-material-master/25.cloudformation/update-example.yaml @@ -0,0 +1,9 @@ +Resources: + MyInstance: + Type: AWS::EC2::Instance + Properties: + InstanceType: t2.micro + ImageId: ami-0528a5175983e7f28 + Tags: + - Key: "Name" + Value: "MyFirstInstance" \ No newline at end of file diff --git a/ddc-material-master/26.Resumes/R1.docx b/ddc-material-master/26.Resumes/R1.docx new file mode 100644 index 00000000..844bc067 Binary files /dev/null and b/ddc-material-master/26.Resumes/R1.docx differ diff --git a/ddc-material-master/26.Resumes/R10.doc b/ddc-material-master/26.Resumes/R10.doc new file mode 100644 index 00000000..72607f0f Binary files /dev/null and b/ddc-material-master/26.Resumes/R10.doc differ diff --git a/ddc-material-master/26.Resumes/R11.docx b/ddc-material-master/26.Resumes/R11.docx new file mode 100644 index 00000000..f9df67d3 Binary files /dev/null and b/ddc-material-master/26.Resumes/R11.docx differ diff --git a/ddc-material-master/26.Resumes/R2.doc b/ddc-material-master/26.Resumes/R2.doc new file mode 100644 index 00000000..765d8438 Binary files /dev/null and b/ddc-material-master/26.Resumes/R2.doc differ diff --git a/ddc-material-master/26.Resumes/R3.docx b/ddc-material-master/26.Resumes/R3.docx new file mode 100644 index 00000000..7e35812e Binary files /dev/null and b/ddc-material-master/26.Resumes/R3.docx differ diff --git a/ddc-material-master/26.Resumes/R4.doc b/ddc-material-master/26.Resumes/R4.doc new file mode 100644 index 00000000..7b3150e0 Binary files /dev/null and b/ddc-material-master/26.Resumes/R4.doc differ diff --git a/ddc-material-master/26.Resumes/R5.docx b/ddc-material-master/26.Resumes/R5.docx new file mode 100644 index 00000000..eba42998 Binary files /dev/null and b/ddc-material-master/26.Resumes/R5.docx differ diff --git a/ddc-material-master/26.Resumes/R6.docx b/ddc-material-master/26.Resumes/R6.docx new file mode 100644 index 00000000..53c57700 Binary files /dev/null and b/ddc-material-master/26.Resumes/R6.docx differ diff --git a/ddc-material-master/26.Resumes/R7.docx b/ddc-material-master/26.Resumes/R7.docx new file mode 100644 index 00000000..dbc96a8a Binary files /dev/null and b/ddc-material-master/26.Resumes/R7.docx differ diff --git a/ddc-material-master/26.Resumes/R8.docx b/ddc-material-master/26.Resumes/R8.docx new file mode 100644 index 00000000..b81b0c52 Binary files /dev/null and b/ddc-material-master/26.Resumes/R8.docx differ diff --git a/ddc-material-master/26.Resumes/R9.doc b/ddc-material-master/26.Resumes/R9.doc new file mode 100644 index 00000000..e88ea7c9 Binary files /dev/null and b/ddc-material-master/26.Resumes/R9.doc differ diff --git a/ddc-material-master/26.Resumes/resumes.zip b/ddc-material-master/26.Resumes/resumes.zip new file mode 100644 index 00000000..7072ebdb Binary files /dev/null and b/ddc-material-master/26.Resumes/resumes.zip differ diff --git a/hashicorp-certified-terraform-associate/01-Infrastructure-as-Code-IaC-Basics/README.md b/hashicorp-certified-terraform-associate/01-Infrastructure-as-Code-IaC-Basics/README.md new file mode 100644 index 00000000..7c778fe2 --- /dev/null +++ b/hashicorp-certified-terraform-associate/01-Infrastructure-as-Code-IaC-Basics/README.md @@ -0,0 +1,13 @@ +# Infrastructure as Code Basics + +## Step-01: Understand Problems with Traditional way of Managing Infrastructure +- Time it takes for building multiple environments +- Issues we face with different environments +- Scale-Up and Scale-Down On-Demand + +## Step-02: Discuss how IaC with Terraform Solves them +- Visibility +- Stability +- Scalability +- Security +- Audit \ No newline at end of file diff --git a/hashicorp-certified-terraform-associate/02-Terraform-Basics/02-01-Install-Tools-TerraformCLI-AWSCLI-VSCodeIDE/README.md b/hashicorp-certified-terraform-associate/02-Terraform-Basics/02-01-Install-Tools-TerraformCLI-AWSCLI-VSCodeIDE/README.md new file mode 100644 index 00000000..4ca52c65 --- /dev/null +++ b/hashicorp-certified-terraform-associate/02-Terraform-Basics/02-01-Install-Tools-TerraformCLI-AWSCLI-VSCodeIDE/README.md @@ -0,0 +1,92 @@ +# Terraform & AWS CLI Installation + +## Step-01: Introduction +- Install Terraform CLI +- Install AWS CLI +- Install VS Code Editor +- Install HashiCorp Terraform plugin for VS Code + + +## Step-02: MACOS: Terraform Install +- [Download Terraform MAC](https://www.terraform.io/downloads.html) +- [Install CLI](https://learn.hashicorp.com/tutorials/terraform/install-cli) +- Unzip the package +``` +# Copy binary zip file to a folder +mkdir /Users//Documents/terraform-install +COPY Package to "terraform-install" folder + +# Unzip +unzip +unzip terraform_0.14.3_darwin_amd64.zip + +# Copy terraform binary to /usr/local/bin +echo $PATH +mv terraform /usr/local/bin + +# Verify Version +terraform version + +# To Uninstall Terraform (NOT REQUIRED) +rm -rf /usr/local/bin/terraform +``` + +## Step-03: MACOS: IDE for Terraform - VS Code Editor +- [Microsoft Visual Studio Code Editor](https://code.visualstudio.com/download) +- [Hashicorp Terraform Plugin for VS Code](https://marketplace.visualstudio.com/items?itemName=HashiCorp.terraform) + + +### Step-04: MACOS: Install AWS CLI +- [AWS CLI Install](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) +- [Install AWS CLI - MAC](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-mac.html#cliv2-mac-install-cmd) + +``` +# Install AWS CLI V2 +curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" +sudo installer -pkg AWSCLIV2.pkg -target / +which aws +aws --version + +# Uninstall AWS CLI V2 (NOT REQUIRED) +which aws +ls -l /usr/local/bin/aws +sudo rm /usr/local/bin/aws +sudo rm /usr/local/bin/aws_completer +sudo rm -rf /usr/local/aws-cli +``` + + +## Step-05: MACOS: Configure AWS Credentials +- **Pre-requisite:** Should have AWS Account. + - [Create an AWS Account](https://portal.aws.amazon.com/billing/signup?nc2=h_ct&src=header_signup&redirect_url=https%3A%2F%2Faws.amazon.com%2Fregistration-confirmation#/start) +- Generate Security Credentials using AWS Management Console + - Go to Services -> IAM -> Users -> "Your-Admin-User" -> Security Credentials -> Create Access Key +- Configure AWS credentials using SSH Terminal on your local desktop +``` +# Configure AWS Credentials in command line +$ aws configure +AWS Access Key ID [None]: AKIASUF7DEFKSIAWMZ7K +AWS Secret Access Key [None]: WL9G9Tl8lGm7w9t7B3NEDny1+w3N/K5F3HWtdFH/ +Default region name [None]: us-east-1 +Default output format [None]: json + +# Verify if we are able list S3 buckets +aws s3 ls +``` +- Verify the AWS Credentials Profile +``` +cat $HOME/.aws/credentials +``` + +## Step-06: WindowsOS: Terraform & AWS CLI Install +- [Download Terraform](https://www.terraform.io/downloads.html) +- [Install CLI](https://learn.hashicorp.com/tutorials/terraform/install-cli) +- Unzip the package +- Create new folder `terraform-bins` +- Copy the `terraform.exe` to a `terraform-bins` +- Set PATH in windows +- Install [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) + +## Step-07: LinuxOS: Terraform & AWS CLI Install +- [Download Terraform](https://www.terraform.io/downloads.html) +- [Linux OS - Terraform Install](https://learn.hashicorp.com/tutorials/terraform/install-cli) \ No newline at end of file diff --git a/hashicorp-certified-terraform-associate/02-Terraform-Basics/02-02-Terraform-Command-Basics/README.md b/hashicorp-certified-terraform-associate/02-Terraform-Basics/02-02-Terraform-Command-Basics/README.md new file mode 100644 index 00000000..36f68664 --- /dev/null +++ b/hashicorp-certified-terraform-associate/02-Terraform-Basics/02-02-Terraform-Command-Basics/README.md @@ -0,0 +1,80 @@ +# Terraform Command Basics + +## Step-01: Introduction +- Understand basic Terraform Commands + - terraform init + - terraform validate + - terraform plan + - terraform apply + - terraform destroy + +## Step-02: Review terraform manifest for EC2 Instance +- **Pre-Conditions-1:** Ensure you have **default-vpc** in that respective region +- **Pre-Conditions-2:** Ensure AMI you are provisioning exists in that region if not update AMI ID +- **Pre-Conditions-3:** Verify your AWS Credentials in **$HOME/.aws/credentials** +```t +# Terraform Settings Block +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + #version = "~> 3.21" # Optional but recommended in production + } + } +} + +# Provider Block +provider "aws" { + profile = "default" # AWS Credentials Profile configured on your local desktop terminal $HOME/.aws/credentials + region = "us-east-1" +} + +# Resource Block +resource "aws_instance" "ec2demo" { + ami = "ami-04d29b6f966df1537" # Amazon Linux in us-east-1, update as per your region + instance_type = "t2.micro" +} +``` + +## Step-03: Terraform Core Commands +```t +# Initialize Terraform +terraform init + +# Terraform Validate +terraform validate + +# Terraform Plan to Verify what it is going to create / update / destroy +terraform plan + +# Terraform Apply to Create EC2 Instance +terraform apply +``` + +## Step-04: Verify the EC2 Instance in AWS Management Console +- Go to AWS Management Console -> Services -> EC2 +- Verify newly created EC2 instance + + + +## Step-05: Destroy Infrastructure +```t +# Destroy EC2 Instance +terraform destroy + +# Delete Terraform files +rm -rf .terraform* +rm -rf terraform.tfstate* +``` + +## Step-08: Conclusion +- Re-iterate what we have learned in this section +- Learned about Important Terraform Commands + - terraform init + - terraform validate + - terraform plan + - terraform apply + - terraform destroy + + + diff --git a/hashicorp-certified-terraform-associate/02-Terraform-Basics/02-02-Terraform-Command-Basics/terraform-manifests/ec2-instance.tf b/hashicorp-certified-terraform-associate/02-Terraform-Basics/02-02-Terraform-Command-Basics/terraform-manifests/ec2-instance.tf new file mode 100644 index 00000000..8b007c8c --- /dev/null +++ b/hashicorp-certified-terraform-associate/02-Terraform-Basics/02-02-Terraform-Command-Basics/terraform-manifests/ec2-instance.tf @@ -0,0 +1,21 @@ +# Terraform Settings Block +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + #version = "~> 3.21" # Optional but recommended in production + } + } +} + +# Provider Block +provider "aws" { + profile = "default" # AWS Credentials Profile configured on your local desktop terminal $HOME/.aws/credentials + region = "us-east-1" +} + +# Resource Block +resource "aws_instance" "ec2demo" { + ami = "ami-0be2609ba883822ec" # Amazon Linux in us-east-1, update as per your region + instance_type = "t2.micro" +} diff --git a/hashicorp-certified-terraform-associate/02-Terraform-Basics/02-03-Terraform-Language-Syntax/README.md b/hashicorp-certified-terraform-associate/02-Terraform-Basics/02-03-Terraform-Language-Syntax/README.md new file mode 100644 index 00000000..3c0fb52d --- /dev/null +++ b/hashicorp-certified-terraform-associate/02-Terraform-Basics/02-03-Terraform-Language-Syntax/README.md @@ -0,0 +1,53 @@ +# Terraform Configuration Language Syntax + +## Step-01: Introduction +- Understand Terraform Language Basics + - Understand Blocks + - Understand Arguments, Attributes & Meta-Arguments + - Understand Identifiers + - Understand Comments + + + +## Step-02: Terraform Configuration Language Syntax +- Understand Blocks +- Understand Arguments +- Understand Identifiers +- Understand Comments +- [Terraform Configuration](https://www.terraform.io/docs/configuration/index.html) +- [Terraform Configuration Syntax](https://www.terraform.io/docs/configuration/syntax.html) +```t +# Template + "" "" { + # Block body + = # Argument +} + +# AWS Example +resource "aws_instance" "ec2demo" { # BLOCK + ami = "ami-04d29b6f966df1537" # Argument + instance_type = var.instance_type # Argument with value as expression (Variable value replaced from varibales.tf +} +``` + +## Step-03: Understand about Arguments, Attributes and Meta-Arguments. +- Arguments can be `required` or `optional` +- Attribues format looks like `resource_type.resource_name.attribute_name` +- Meta-Arguments change a resource type's behavior (Example: count, for_each) +- [Additional Reference](https://learn.hashicorp.com/tutorials/terraform/resource?in=terraform/configuration-language) +- [Resource: AWS Instance](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance) +- [Resource: AWS Instance Argument Reference](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance#argument-reference) +- [Resource: AWS Instance Attribute Reference](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance#attributes-reference) +- [Resource: Meta-Arguments](https://www.terraform.io/docs/language/meta-arguments/depends_on.html) + +## Step-04: Understand about Terraform Top-Level Blocks +- Discuss about Terraform Top-Level blocks + - Terraform Settings Block + - Provider Block + - Resource Block + - Input Variables Block + - Output Values Block + - Local Values Block + - Data Sources Block + - Modules Block + diff --git a/hashicorp-certified-terraform-associate/02-Terraform-Basics/02-03-Terraform-Language-Syntax/terraform-manifests/top-level-blocks-samples.tf b/hashicorp-certified-terraform-associate/02-Terraform-Basics/02-03-Terraform-Language-Syntax/terraform-manifests/top-level-blocks-samples.tf new file mode 100644 index 00000000..004c4bb8 --- /dev/null +++ b/hashicorp-certified-terraform-associate/02-Terraform-Basics/02-03-Terraform-Language-Syntax/terraform-manifests/top-level-blocks-samples.tf @@ -0,0 +1,104 @@ +##################################################################### +# Block-1: Terraform Settings Block +terraform { + required_version = "~> 1.4" + required_providers { + aws = { + source = "hashicorp/aws" + version = ">= 4.0" + } + } + # Adding Backend as S3 for Remote State Storage with State Locking + backend "s3" { + bucket = "terraform-stacksimplify" + key = "dev2/terraform.tfstate" + region = "us-east-1" + + # For State Locking + dynamodb_table = "terraform-dev-state-table" + } +} +##################################################################### +# Block-2: Provider Block +provider "aws" { + profile = "default" # AWS Credentials Profile configured on your local desktop terminal $HOME/.aws/credentials + region = "us-east-1" +} +##################################################################### +# Block-3: Resource Block +resource "aws_instance" "ec2demo" { + ami = "ami-04d29b6f966df1537" # Amazon Linux + instance_type = var.instance_type +} +##################################################################### +# Block-4: Input Variables Block +variable "instance_type" { + default = "t2.micro" + description = "EC2 Instance Type" + type = string +} +##################################################################### +# Block-5: Output Values Block +output "ec2_instance_publicip" { + description = "EC2 Instance Public IP" + value = aws_instance.my-ec2-vm.public_ip +} +##################################################################### +# Block-6: Local Values Block +# Create S3 Bucket - with Input Variables & Local Values +locals { + bucket-name-prefix = "${var.app_name}-${var.environment_name}" +} +##################################################################### +# Block-7: Data sources Block +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux" { + most_recent = true + owners = ["amazon"] + + filter { + name = "name" + values = ["amzn2-ami-hvm-*"] + } + + filter { + name = "root-device-type" + values = ["ebs"] + } + + filter { + name = "virtualization-type" + values = ["hvm"] + } + + filter { + name = "architecture" + values = ["x86_64"] + } + +} +##################################################################### +# Block-8: Modules Block +# AWS EC2 Instance Module + +module "ec2_cluster" { + source = "terraform-aws-modules/ec2-instance/aws" + version = "~> 2.0" + + name = "my-modules-demo" + instance_count = 2 + + ami = data.aws_ami.amzlinux.id + instance_type = "t2.micro" + key_name = "terraform-key" + monitoring = true + vpc_security_group_ids = ["sg-08b25c5a5bf489ffa"] # Get Default VPC Security Group ID and replace + subnet_id = "subnet-4ee95470" # Get one public subnet id from default vpc and replace + user_data = file("apache-install.sh") + + tags = { + Terraform = "true" + Environment = "dev" + } +} +##################################################################### \ No newline at end of file diff --git a/kubernetes-fundamentals/00-Docker-Images/01-kubenginx/V1-Release/Dockerfile b/kubernetes-fundamentals/00-Docker-Images/01-kubenginx/V1-Release/Dockerfile new file mode 100755 index 00000000..f65e6ad4 --- /dev/null +++ b/kubernetes-fundamentals/00-Docker-Images/01-kubenginx/V1-Release/Dockerfile @@ -0,0 +1,2 @@ +FROM nginx +COPY index.html /usr/share/nginx/html \ No newline at end of file diff --git a/kubernetes-fundamentals/00-Docker-Images/01-kubenginx/V1-Release/index.html b/kubernetes-fundamentals/00-Docker-Images/01-kubenginx/V1-Release/index.html new file mode 100755 index 00000000..d164be6c --- /dev/null +++ b/kubernetes-fundamentals/00-Docker-Images/01-kubenginx/V1-Release/index.html @@ -0,0 +1,8 @@ + + + +

Welcome to Stack Simplify

+

Kubernetes Fundamentals Demo

+

Application Version: V1

+ + \ No newline at end of file diff --git a/kubernetes-fundamentals/00-Docker-Images/01-kubenginx/V2-Release/Dockerfile b/kubernetes-fundamentals/00-Docker-Images/01-kubenginx/V2-Release/Dockerfile new file mode 100755 index 00000000..f65e6ad4 --- /dev/null +++ b/kubernetes-fundamentals/00-Docker-Images/01-kubenginx/V2-Release/Dockerfile @@ -0,0 +1,2 @@ +FROM nginx +COPY index.html /usr/share/nginx/html \ No newline at end of file diff --git a/kubernetes-fundamentals/00-Docker-Images/01-kubenginx/V2-Release/index.html b/kubernetes-fundamentals/00-Docker-Images/01-kubenginx/V2-Release/index.html new file mode 100755 index 00000000..22c09dfd --- /dev/null +++ b/kubernetes-fundamentals/00-Docker-Images/01-kubenginx/V2-Release/index.html @@ -0,0 +1,8 @@ + + + +

Welcome to Stack Simplify

+

Kubernetes Fundamentals Demo

+

Application Version: V2

+ + \ No newline at end of file diff --git a/kubernetes-fundamentals/00-Docker-Images/01-kubenginx/V3-Release/Dockerfile b/kubernetes-fundamentals/00-Docker-Images/01-kubenginx/V3-Release/Dockerfile new file mode 100755 index 00000000..f65e6ad4 --- /dev/null +++ b/kubernetes-fundamentals/00-Docker-Images/01-kubenginx/V3-Release/Dockerfile @@ -0,0 +1,2 @@ +FROM nginx +COPY index.html /usr/share/nginx/html \ No newline at end of file diff --git a/kubernetes-fundamentals/00-Docker-Images/01-kubenginx/V3-Release/index.html b/kubernetes-fundamentals/00-Docker-Images/01-kubenginx/V3-Release/index.html new file mode 100755 index 00000000..b17d00ac --- /dev/null +++ b/kubernetes-fundamentals/00-Docker-Images/01-kubenginx/V3-Release/index.html @@ -0,0 +1,8 @@ + + + +

Welcome to Stack Simplify

+

Kubernetes Fundamentals Demo

+

Application Version: V3

+ + \ No newline at end of file diff --git a/kubernetes-fundamentals/00-Docker-Images/01-kubenginx/V4-Release/Dockerfile b/kubernetes-fundamentals/00-Docker-Images/01-kubenginx/V4-Release/Dockerfile new file mode 100755 index 00000000..f65e6ad4 --- /dev/null +++ b/kubernetes-fundamentals/00-Docker-Images/01-kubenginx/V4-Release/Dockerfile @@ -0,0 +1,2 @@ +FROM nginx +COPY index.html /usr/share/nginx/html \ No newline at end of file diff --git a/kubernetes-fundamentals/00-Docker-Images/01-kubenginx/V4-Release/index.html b/kubernetes-fundamentals/00-Docker-Images/01-kubenginx/V4-Release/index.html new file mode 100755 index 00000000..4f13629b --- /dev/null +++ b/kubernetes-fundamentals/00-Docker-Images/01-kubenginx/V4-Release/index.html @@ -0,0 +1,8 @@ + + + +

Welcome to Stack Simplify

+

Kubernetes Fundamentals Demo

+

Application Version: V4

+ + \ No newline at end of file diff --git a/kubernetes-fundamentals/00-Docker-Images/02-kube-backend-helloworld-springboot/kube-helloworld/Dockerfile b/kubernetes-fundamentals/00-Docker-Images/02-kube-backend-helloworld-springboot/kube-helloworld/Dockerfile new file mode 100755 index 00000000..5daeea7b --- /dev/null +++ b/kubernetes-fundamentals/00-Docker-Images/02-kube-backend-helloworld-springboot/kube-helloworld/Dockerfile @@ -0,0 +1,5 @@ +FROM openjdk:8-jdk-alpine +VOLUME /tmp +EXPOSE 8080 +ADD target/*.jar app.jar +ENTRYPOINT [ "sh", "-c", "java -jar /app.jar" ] \ No newline at end of file diff --git a/kubernetes-fundamentals/00-Docker-Images/02-kube-backend-helloworld-springboot/kube-helloworld/pom.xml b/kubernetes-fundamentals/00-Docker-Images/02-kube-backend-helloworld-springboot/kube-helloworld/pom.xml new file mode 100755 index 00000000..8083c3ed --- /dev/null +++ b/kubernetes-fundamentals/00-Docker-Images/02-kube-backend-helloworld-springboot/kube-helloworld/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.2.7.RELEASE + + + com.stacksimplify + helloworld + 1.0.0 + kube-helloworld + HelloWorld Spring Boot Project + + + 1.8 + true + ${project.build.directory}/${project.build.finalName}.jar + + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-devtools + runtime + true + + + org.springframework.boot + spring-boot-starter-test + test + + + org.junit.vintage + junit-vintage-engine + + + + + + + hello-world-rest-api + + + org.springframework.boot + spring-boot-maven-plugin + + + + com.spotify + dockerfile-maven-plugin + 1.4.6 + + + default + + build + + + + + + stacksimplify/${project.name} + ${project.version} + true + + + + + + + + diff --git a/kubernetes-fundamentals/00-Docker-Images/02-kube-backend-helloworld-springboot/kube-helloworld/src/main/java/com/stacksimplify/helloworld/HelloWorldController.java b/kubernetes-fundamentals/00-Docker-Images/02-kube-backend-helloworld-springboot/kube-helloworld/src/main/java/com/stacksimplify/helloworld/HelloWorldController.java new file mode 100755 index 00000000..246d3722 --- /dev/null +++ b/kubernetes-fundamentals/00-Docker-Images/02-kube-backend-helloworld-springboot/kube-helloworld/src/main/java/com/stacksimplify/helloworld/HelloWorldController.java @@ -0,0 +1,20 @@ +package com.stacksimplify.helloworld; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.stacksimplify.helloworld.serverinfo.ServerInformationService; + +@RestController +public class HelloWorldController { + + @Autowired + private ServerInformationService serverInfo; + + @GetMapping(path = "/hello") + public String helloWorld() { + return "Hello World " + " V1 " + serverInfo.getServerInfo(); + } + +} diff --git a/kubernetes-fundamentals/00-Docker-Images/02-kube-backend-helloworld-springboot/kube-helloworld/src/main/java/com/stacksimplify/helloworld/HelloworldApplication.java b/kubernetes-fundamentals/00-Docker-Images/02-kube-backend-helloworld-springboot/kube-helloworld/src/main/java/com/stacksimplify/helloworld/HelloworldApplication.java new file mode 100755 index 00000000..a4ea2e98 --- /dev/null +++ b/kubernetes-fundamentals/00-Docker-Images/02-kube-backend-helloworld-springboot/kube-helloworld/src/main/java/com/stacksimplify/helloworld/HelloworldApplication.java @@ -0,0 +1,13 @@ +package com.stacksimplify.helloworld; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class HelloworldApplication { + + public static void main(String[] args) { + SpringApplication.run(HelloworldApplication.class, args); + } + +} diff --git a/kubernetes-fundamentals/00-Docker-Images/02-kube-backend-helloworld-springboot/kube-helloworld/src/main/java/com/stacksimplify/helloworld/serverinfo/ServerInformationService.java b/kubernetes-fundamentals/00-Docker-Images/02-kube-backend-helloworld-springboot/kube-helloworld/src/main/java/com/stacksimplify/helloworld/serverinfo/ServerInformationService.java new file mode 100755 index 00000000..6f22d073 --- /dev/null +++ b/kubernetes-fundamentals/00-Docker-Images/02-kube-backend-helloworld-springboot/kube-helloworld/src/main/java/com/stacksimplify/helloworld/serverinfo/ServerInformationService.java @@ -0,0 +1,20 @@ +package com.stacksimplify.helloworld.serverinfo; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +@Service +public class ServerInformationService { + + private static final String HOST_NAME = "HOSTNAME"; + + private static final String INSTANCE_GUID = "LOCAL"; + + @Value("${" + HOST_NAME + ":" + INSTANCE_GUID + "}") + private String hostName; + + public String getServerInfo() { + return hostName.substring(hostName.length()-5); + } + +} diff --git a/kubernetes-fundamentals/00-Docker-Images/02-kube-backend-helloworld-springboot/kube-helloworld/src/main/resources/application.properties b/kubernetes-fundamentals/00-Docker-Images/02-kube-backend-helloworld-springboot/kube-helloworld/src/main/resources/application.properties new file mode 100755 index 00000000..8b137891 --- /dev/null +++ b/kubernetes-fundamentals/00-Docker-Images/02-kube-backend-helloworld-springboot/kube-helloworld/src/main/resources/application.properties @@ -0,0 +1 @@ + diff --git a/kubernetes-fundamentals/00-Docker-Images/02-kube-backend-helloworld-springboot/kube-helloworld/src/test/java/com/stacksimplify/helloworld/HelloworldApplicationTests.java b/kubernetes-fundamentals/00-Docker-Images/02-kube-backend-helloworld-springboot/kube-helloworld/src/test/java/com/stacksimplify/helloworld/HelloworldApplicationTests.java new file mode 100755 index 00000000..b8a7fadd --- /dev/null +++ b/kubernetes-fundamentals/00-Docker-Images/02-kube-backend-helloworld-springboot/kube-helloworld/src/test/java/com/stacksimplify/helloworld/HelloworldApplicationTests.java @@ -0,0 +1,13 @@ +package com.stacksimplify.helloworld; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class HelloworldApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/kubernetes-fundamentals/00-Docker-Images/03-kube-frontend-nginx/README.md b/kubernetes-fundamentals/00-Docker-Images/03-kube-frontend-nginx/README.md new file mode 100755 index 00000000..d6a98531 --- /dev/null +++ b/kubernetes-fundamentals/00-Docker-Images/03-kube-frontend-nginx/README.md @@ -0,0 +1,53 @@ +# Build a Docker Image + +## Step-01: Pre-requisite Step +- Create your Docker hub account. +- https://hub.docker.com/ +- **Important Note**: In the below listed commands wherever you see **stacksimplify** you can replace with your docker hub account id. + + +## Step-02: Create Dockerfile and copy our customized nginx default.conf +- **Dockerfile** +```Dockerfile +FROM nginx +COPY default.conf /etc/nginx/conf.d +``` +- **default.conf** + - Replace your backend cluster-ip service name and port in `proxy_pass` +```conf +server { + listen 80; + server_name localhost; + location / { + # Update your backend application Kubernetes Cluster-IP Service name and port below + # proxy_pass http://:; + proxy_pass http://my-backend-service:8080; + } + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/share/nginx/html; + } +} +``` + +## Step-03: Build Docker Image & run it +``` +# Build Docker Image +docker build -t stacksimplify/kube-frontend-nginx:1.0.0 . + +# Replace your docker hub account Id +docker build -t /kube-frontend-nginx:1.0.0 . +``` + +## Step-04: Push the Docker image to docker hub +``` +# Push Docker Image to Docker Hub +docker push stacksimplify/kube-frontend-nginx:1.0.0 + +# Replace your docker hub account Id +docker push /kube-frontend-nginx:1.0.0 +``` + +## Step-05: Verify the same on docker hub +- Login to docker hub and verify the image we have pushed +- Url: https://hub.docker.com/repositories \ No newline at end of file diff --git a/kubernetes-fundamentals/00-Docker-Images/03-kube-frontend-nginx/V1-Release/Dockerfile b/kubernetes-fundamentals/00-Docker-Images/03-kube-frontend-nginx/V1-Release/Dockerfile new file mode 100755 index 00000000..8e0f3248 --- /dev/null +++ b/kubernetes-fundamentals/00-Docker-Images/03-kube-frontend-nginx/V1-Release/Dockerfile @@ -0,0 +1,2 @@ +FROM nginx +COPY default.conf /etc/nginx/conf.d \ No newline at end of file diff --git a/kubernetes-fundamentals/00-Docker-Images/03-kube-frontend-nginx/V1-Release/default.conf b/kubernetes-fundamentals/00-Docker-Images/03-kube-frontend-nginx/V1-Release/default.conf new file mode 100755 index 00000000..7eda1512 --- /dev/null +++ b/kubernetes-fundamentals/00-Docker-Images/03-kube-frontend-nginx/V1-Release/default.conf @@ -0,0 +1,30 @@ +server { + listen 80; + server_name localhost; + + #charset koi8-r; + #access_log /var/log/nginx/host.access.log main; + + #location / { + # root /usr/share/nginx/html; + # index index.html index.htm; + #} + + location / { + # Update your backend application Kubernetes Cluster-IP Service name and port below + # proxy_pass http://:; + proxy_pass http://my-backend-service:8080; + } + + #error_page 404 /404.html; + # redirect server error pages to the static page /50x.html + # + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/share/nginx/html; + } + + + +} + diff --git a/kubernetes-fundamentals/01-Kubernetes-Architecture/README.md b/kubernetes-fundamentals/01-Kubernetes-Architecture/README.md new file mode 100755 index 00000000..d502e5c3 --- /dev/null +++ b/kubernetes-fundamentals/01-Kubernetes-Architecture/README.md @@ -0,0 +1,6 @@ +# Kubernetes Architecture + +## Step-01: Why Kubernetes? + +## Step-02: Kubernetes Architecture + diff --git a/kubernetes-fundamentals/02-PODs-with-kubectl/README.md b/kubernetes-fundamentals/02-PODs-with-kubectl/README.md new file mode 100755 index 00000000..8cafc588 --- /dev/null +++ b/kubernetes-fundamentals/02-PODs-with-kubectl/README.md @@ -0,0 +1,208 @@ +# Kubernetes - PODs + +## Step-01: PODs Introduction +- What is a POD ? +- What is a Multi-Container POD? + +## Step-02: PODs Demo +### Get Worker Nodes Status +- Verify if kubernetes worker nodes are ready. +``` +# Get Worker Node Status +kubectl get nodes + +# Get Worker Node Status with wide option +kubectl get nodes -o wide +``` + +### Create a Pod +- Create a Pod +``` +# Template +kubectl run --image --generator=run-pod/v1 + +# Replace Pod Name, Container Image +kubectl run my-first-pod --image stacksimplify/kubenginx:1.0.0 --generator=run-pod/v1 +``` +- **Important Note:** Without **--generator=run-pod/v1** it will create a pod with a deployment which is another core kubernetes concept which we will learn in next few minutes. +- **Important Note:** + - With **Kubernetes 1.18 version**, there is lot clean-up to **kubectl run** command. + - The below will suffice to create a Pod as a pod without creating deployment. We dont need to add **--generator=run-pod/v1** +``` +kubectl run my-first-pod --image stacksimplify/kubenginx:1.0.0 +``` + +### List Pods +- Get the list of pods +``` +# List Pods +kubectl get pods + +# Alias name for pods is po +kubectl get po +``` + +### List Pods with wide option +- List pods with wide option which also provide Node information on which Pod is running +``` +kubectl get pods -o wide +``` + +### What happened in the backgroup when above command is run? + 1. Kubernetes created a pod + 2. Pulled the docker image from docker hub + 3. Created the container in the pod + 4. Started the container present in the pod + + +### Describe Pod +- Describe the POD, primarily required during troubleshooting. +- Events shown will be of a great help during troubleshooting. +``` +# To get list of pod names +kubectl get pods + +# Describe the Pod +kubectl describe pod +kubectl describe pod my-first-pod +``` + +### Access Application +- Currently we can access this application only inside worker nodes. +- To access it externally, we need to create a **NodePort Service**. +- **Services** is one very very important concept in Kubernetes. + + +### Delete Pod +``` +# To get list of pod names +kubectl get pods + +# Delete Pod +kubectl delete pod +kubectl delete pod my-first-pod +``` + +## Step-03: NodePort Service Introduction +- What are Services in k8s? +- What is a NodePort Service? +- How it works? + +## Step-04: Demo - Expose Pod with a Service +- Expose pod with a service (NodePort Service) to access the application externally (from internet) +- **Ports** + - **port:** Port on which node port service listens in Kubernetes cluster internally + - **targetPort:** We define container port here on which our application is running. + - **NodePort:** Worker Node port on which we can access our application. +``` +# Create a Pod +kubectl run --image --generator=run-pod/v1 +kubectl run my-first-pod --image stacksimplify/kubenginx:1.0.0 --generator=run-pod/v1 + +# Expose Pod as a Service +kubectl expose pod --type=NodePort --port=80 --name= +kubectl expose pod my-first-pod --type=NodePort --port=80 --name=my-first-service + +# Get Service Info +kubectl get service +kubectl get svc + +# Get Public IP of Worker Nodes +kubectl get nodes -o wide +``` +- **Access the Application using Public IP** +``` +http://: +``` + +- **Important Note about: target-port** + - If target-port is not defined, by default and for convenience, the **targetPort** is set to the same value as the **port** field. + +``` +# Below command will fail when accessing the application, as service port (81) and container port (80) are different +kubectl expose pod my-first-pod --type=NodePort --port=81 --name=my-first-service2 + +# Expose Pod as a Service with Container Port (--taret-port) +kubectl expose pod my-first-pod --type=NodePort --port=81 --target-port=80 --name=my-first-service3 + +# Get Service Info +kubectl get service +kubectl get svc + +# Get Public IP of Worker Nodes +kubectl get nodes -o wide +``` +- **Access the Application using Public IP** +``` +http://: +``` + +## Step-05: Interact with a Pod + +### Verify Pod Logs +``` +# Get Pod Name +kubectl get po + +# Dump Pod logs +kubectl logs +kubectl logs my-first-pod + +# Stream pod logs with -f option and access application to see logs +kubectl logs +kubectl logs -f my-first-pod +``` +- **Important Notes** + - Refer below link and search for **Interacting with running Pods** for additional log options + - Troubleshooting skills are very important. So please go through all logging options available and master them. + - **Reference:** https://kubernetes.io/docs/reference/kubectl/cheatsheet/ + +### Connect to Container in a POD +- **Connect to a Container in POD and execute commands** +``` +# Connect to Nginx Container in a POD +kubectl exec -it -- /bin/bash +kubectl exec -it my-first-pod -- /bin/bash + +# Execute some commands in Nginx container +ls +cd /usr/share/nginx/html +cat index.html +exit +``` + +- **Running individual commands in a Container** +``` +kubectl exec -it env + +# Sample Commands +kubectl exec -it my-first-pod env +kubectl exec -it my-first-pod ls +kubectl exec -it my-first-pod cat /usr/share/nginx/html/index.html +``` +## Step-06: Get YAML Output of Pod & Service +### Get YAML Output +``` +# Get pod definition YAML output +kubectl get pod my-first-pod -o yaml + +# Get service definition YAML output +kubectl get service my-first-service -o yaml +``` + +## Step-07: Clean-Up +``` +# Get all Objects in default namespace +kubectl get all + +# Delete Services +kubectl delete svc my-first-service +kubectl delete svc my-first-service2 +kubectl delete svc my-first-service3 + +# Delete Pod +kubectl delete pod my-first-pod + +# Get all Objects in default namespace +kubectl get all +``` \ No newline at end of file diff --git a/kubernetes-fundamentals/03-ReplicaSets-with-kubectl/README.md b/kubernetes-fundamentals/03-ReplicaSets-with-kubectl/README.md new file mode 100755 index 00000000..ae6c77a3 --- /dev/null +++ b/kubernetes-fundamentals/03-ReplicaSets-with-kubectl/README.md @@ -0,0 +1,160 @@ +# Kubernetes - ReplicaSets + +## Step-01: Introduction to ReplicaSets +- What are ReplicaSets? +- What is the advantage of using ReplicaSets? + +## Step-02: Create ReplicaSet + +### Create ReplicaSet +- Create ReplicaSet +``` +kubectl create -f replicaset-demo.yml +``` +- **replicaset-demo.yml** +```yml +apiVersion: apps/v1 +kind: ReplicaSet +metadata: + name: my-helloworld-rs + labels: + app: my-helloworld +spec: + replicas: 3 + selector: + matchLabels: + app: my-helloworld + template: + metadata: + labels: + app: my-helloworld + spec: + containers: + - name: my-helloworld-app + image: stacksimplify/kube-helloworld:1.0.0 +``` + +### List ReplicaSets +- Get list of ReplicaSets +``` +kubectl get replicaset +kubectl get rs +``` + +### Describe ReplicaSet +- Describe the newly created ReplicaSet +``` +kubectl describe rs/ + +kubectl describe rs/my-helloworld-rs +[or] +kubectl describe rs my-helloworld-rs +``` + +### List of Pods +- Get list of Pods +``` +#Get list of Pods +kubectl get pods +kubectl describe pod + +# Get list of Pods with Pod IP and Node in which it is running +kubectl get pods -o wide +``` + +### Verify the Owner of the Pod +- Verify the owner reference of the pod. +- Verify under **"name"** tag under **"ownerReferences"**. We will find the replicaset name to which this pod belongs to. +``` +kubectl get pods -o yaml +kubectl get pods my-helloworld-rs-c8rrj -o yaml +``` + +## Step-03: Expose ReplicaSet as a Service +- Expose ReplicaSet with a service (NodePort Service) to access the application externally (from internet) +``` +# Expose ReplicaSet as a Service +kubectl expose rs --type=NodePort --port=80 --target-port=8080 --name= +kubectl expose rs my-helloworld-rs --type=NodePort --port=80 --target-port=8080 --name=my-helloworld-rs-service + +# Get Service Info +kubectl get service +kubectl get svc + +# Get Public IP of Worker Nodes +kubectl get nodes -o wide +``` +- **Access the Application using Public IP** +``` +http://:/hello +``` + +## Step-04: Test Replicaset Reliability or High Availability +- Test how the high availability or reliability concept is achieved automatically in Kubernetes +- Whenever a POD is accidentally terminated due to some application issue, ReplicaSet should auto-create that Pod to maintain desired number of Replicas configured to achive High Availability. +``` +# To get Pod Name +kubectl get pods + +# Delete the Pod +kubectl delete pod + +# Verify the new pod got created automatically +kubectl get pods (Verify Age and name of new pod) +``` + +## Step-05: Test ReplicaSet Scalability feature +- Test how scalability is going to seamless & quick +- Update the **replicas** field in **replicaset-demo.yml** from 3 to 6. +``` +# Before change +spec: + replicas: 3 + +# After change +spec: + replicas: 6 +``` +- Update the ReplicaSet +``` +# Apply latest changes to ReplicaSet +kubectl replace -f replicaset-demo.yml + +# Verify if new pods got created +kubectl get pods -o wide +``` + +## Step-06: Delete ReplicaSet & Service +### Delete ReplicaSet +``` +# Delete ReplicaSet +kubectl delete rs + +# Sample Commands +kubectl delete rs/my-helloworld-rs +[or] +kubectl delete rs my-helloworld-rs + +# Verify if ReplicaSet got deleted +kubectl get rs +``` + +### Delete Service created for ReplicaSet +``` +# Delete Service +kubectl delete svc + +# Sample Commands +kubectl delete svc my-helloworld-rs-service +[or] +kubectl delete svc/my-helloworld-rs-service + +# Verify if Service got deleted +kubectl get svc +``` + +## Pending Concept in ReplicaSet +- We didn't discuss about **Labels & Selectors** +- This concept we can understand in detail when we are learning to write Kubernetes YAML manifest. +- So we will understand about this during the **ReplicaSets-YAML** section. + diff --git a/kubernetes-fundamentals/03-ReplicaSets-with-kubectl/replicaset-demo.yml b/kubernetes-fundamentals/03-ReplicaSets-with-kubectl/replicaset-demo.yml new file mode 100755 index 00000000..5224447d --- /dev/null +++ b/kubernetes-fundamentals/03-ReplicaSets-with-kubectl/replicaset-demo.yml @@ -0,0 +1,19 @@ +apiVersion: apps/v1 +kind: ReplicaSet +metadata: + name: my-helloworld-rs + labels: + app: my-helloworld +spec: + replicas: 6 + selector: + matchLabels: + app: my-helloworld + template: + metadata: + labels: + app: my-helloworld + spec: + containers: + - name: my-helloworld-app + image: stacksimplify/kube-helloworld:1.0.0 diff --git a/kubernetes-fundamentals/04-Deployments-with-kubectl/04-01-CreateDeployment-Scaling-and-Expose-as-Service/README.md b/kubernetes-fundamentals/04-Deployments-with-kubectl/04-01-CreateDeployment-Scaling-and-Expose-as-Service/README.md new file mode 100755 index 00000000..4fbf3813 --- /dev/null +++ b/kubernetes-fundamentals/04-Deployments-with-kubectl/04-01-CreateDeployment-Scaling-and-Expose-as-Service/README.md @@ -0,0 +1,72 @@ +# Kubernetes - Deployment + +## Step-01: Introduction to Deployments +- What is a Deployment? +- What all we can do using Deployment? +- Create a Deployment +- Scale the Deployment +- Expose the Deployment as a Service + +## Step-02: Create Deployment +- Create Deployment to rollout a ReplicaSet +- Verify Deployment, ReplicaSet & Pods +- **Docker Image Location:** https://hub.docker.com/repository/docker/stacksimplify/kubenginx +``` +# Create Deployment +kubectl create deployment --image= +kubectl create deployment my-first-deployment --image=stacksimplify/kubenginx:1.0.0 + +# Verify Deployment +kubectl get deployments +kubectl get deploy + +# Describe Deployment +kubectl describe deployment +kubectl describe deployment my-first-deployment + +# Verify ReplicaSet +kubectl get rs + +# Verify Pod +kubectl get po +``` +## Step-03: Scaling a Deployment +- Scale the deployment to increase the number of replicas (pods) +``` +# Scale Up the Deployment +kubectl scale --replicas=20 deployment/ +kubectl scale --replicas=20 deployment/my-first-deployment + +# Verify Deployment +kubectl get deploy + +# Verify ReplicaSet +kubectl get rs + +# Verify Pods +kubectl get po + +# Scale Down the Deployment +kubectl scale --replicas=10 deployment/my-first-deployment +kubectl get deploy +``` + +## Step-04: Expose Deployment as a Service +- Expose **Deployment** with a service (NodePort Service) to access the application externally (from internet) +``` +# Expose Deployment as a Service +kubectl expose deployment --type=NodePort --port=80 --target-port=80 --name= +kubectl expose deployment my-first-deployment --type=NodePort --port=80 --target-port=80 --name=my-first-deployment-service + +# Get Service Info +kubectl get svc +Observation: Make a note of port which starts with 3 (Example: 80:3xxxx/TCP). Capture the port 3xxxx and use it in application URL below. + +# Get Public IP of Worker Nodes +kubectl get nodes -o wide +Observation: Make a note of "EXTERNAL-IP" if your Kubernetes cluster is setup on AWS EKS. +``` +- **Access the Application using Public IP** +``` +http://: +``` \ No newline at end of file diff --git a/kubernetes-fundamentals/04-Deployments-with-kubectl/04-02-Update-Deployment/README.md b/kubernetes-fundamentals/04-Deployments-with-kubectl/04-02-Update-Deployment/README.md new file mode 100755 index 00000000..bde425ae --- /dev/null +++ b/kubernetes-fundamentals/04-Deployments-with-kubectl/04-02-Update-Deployment/README.md @@ -0,0 +1,131 @@ +# Kubernetes - Update Deployments + +## Step-00: Introduction +- We can update deployments using two options + - Set Image + - Edit Deployment + +## Step-01: Updating Application version V1 to V2 using "Set Image" Option +### Update Deployment +- **Observation:** Please Check the container name in `spec.container.name` yaml output and make a note of it and +replace in `kubectl set image` command +``` +# Get Container Name from current deployment +kubectl get deployment my-first-deployment -o yaml + +# Update Deployment - SHOULD WORK NOW +kubectl set image deployment/ = --record=true +kubectl set image deployment/my-first-deployment kubenginx=stacksimplify/kubenginx:2.0.0 --record=true +``` +### Verify Rollout Status (Deployment Status) +- **Observation:** By default, rollout happens in a rolling update model, so no downtime. +``` +# Verify Rollout Status +kubectl rollout status deployment/my-first-deployment + +# Verify Deployment +kubectl get deploy +``` +### Describe Deployment +- **Observation:** + - Verify the Events and understand that Kubernetes by default do "Rolling Update" for new application releases. + - With that said, we will not have downtime for our application. +``` +# Descibe Deployment +kubectl describe deployment my-first-deployment +``` +### Verify ReplicaSet +- **Observation:** New ReplicaSet will be created for new version +``` +# Verify ReplicaSet +kubectl get rs +``` + +### Verify Pods +- **Observation:** Pod template hash label of new replicaset should be present for PODs letting us +know these pods belong to new ReplicaSet. +``` +# List Pods +kubectl get po +``` + +### Verify Rollout History of a Deployment +- **Observation:** We have the rollout history, so we can switch back to older revisions using +revision history available to us. + +``` +# Check the Rollout History of a Deployment +kubectl rollout history deployment/ +kubectl rollout history deployment/my-first-deployment +``` + +### Access the Application using Public IP +- We should see `Application Version:V2` whenever we access the application in browser +``` +# Get NodePort +kubectl get svc +Observation: Make a note of port which starts with 3 (Example: 80:3xxxx/TCP). Capture the port 3xxxx and use it in application URL below. + +# Get Public IP of Worker Nodes +kubectl get nodes -o wide +Observation: Make a note of "EXTERNAL-IP" if your Kubernetes cluster is setup on AWS EKS. + +# Application URL +http://: +``` + + +## Step-02: Update the Application from V2 to V3 using "Edit Deployment" Option +### Edit Deployment +``` +# Edit Deployment +kubectl edit deployment/ --record=true +kubectl edit deployment/my-first-deployment --record=true +``` + +```yml +# Change From 2.0.0 + spec: + containers: + - image: stacksimplify/kubenginx:2.0.0 + +# Change To 3.0.0 + spec: + containers: + - image: stacksimplify/kubenginx:3.0.0 +``` + +### Verify Rollout Status +- **Observation:** Rollout happens in a rolling update model, so no downtime. +``` +# Verify Rollout Status +kubectl rollout status deployment/my-first-deployment +``` +### Verify Replicasets +- **Observation:** We should see 3 ReplicaSets now, as we have updated our application to 3rd version 3.0.0 +``` +# Verify ReplicaSet and Pods +kubectl get rs +kubectl get po +``` +### Verify Rollout History +``` +# Check the Rollout History of a Deployment +kubectl rollout history deployment/ +kubectl rollout history deployment/my-first-deployment +``` + +### Access the Application using Public IP +- We should see `Application Version:V3` whenever we access the application in browser +``` +# Get NodePort +kubectl get svc +Observation: Make a note of port which starts with 3 (Example: 80:3xxxx/TCP). Capture the port 3xxxx and use it in application URL below. + +# Get Public IP of Worker Nodes +kubectl get nodes -o wide +Observation: Make a note of "EXTERNAL-IP" if your Kubernetes cluster is setup on AWS EKS. + +# Application URL +http://: +``` diff --git a/kubernetes-fundamentals/04-Deployments-with-kubectl/04-03-Rollback-Deployment/README.md b/kubernetes-fundamentals/04-Deployments-with-kubectl/04-03-Rollback-Deployment/README.md new file mode 100755 index 00000000..8ea9e450 --- /dev/null +++ b/kubernetes-fundamentals/04-Deployments-with-kubectl/04-03-Rollback-Deployment/README.md @@ -0,0 +1,106 @@ +# Rollback Deployment + +## Step-00: Introduction +- We can rollback a deployment in two ways. + - Previous Version + - Specific Version + +## Step-01: Rollback a Deployment to previous version + +### Check the Rollout History of a Deployment +``` +# List Deployment Rollout History +kubectl rollout history deployment/ +kubectl rollout history deployment/my-first-deployment +``` + +### Verify changes in each revision +- **Observation:** Review the "Annotations" and "Image" tags for clear understanding about changes. +``` +# List Deployment History with revision information +kubectl rollout history deployment/my-first-deployment --revision=1 +kubectl rollout history deployment/my-first-deployment --revision=2 +kubectl rollout history deployment/my-first-deployment --revision=3 +``` + + +### Rollback to previous version +- **Observation:** If we rollback, it will go back to revision-2 and its number increases to revision-4 +``` +# Undo Deployment +kubectl rollout undo deployment/my-first-deployment + +# List Deployment Rollout History +kubectl rollout history deployment/my-first-deployment +``` + +### Verify Deployment, Pods, ReplicaSets +``` +kubectl get deploy +kubectl get rs +kubectl get po +kubectl describe deploy my-first-deployment +``` + +### Access the Application using Public IP +- We should see `Application Version:V2` whenever we access the application in browser +``` +# Get NodePort +kubectl get svc +Observation: Make a note of port which starts with 3 (Example: 80:3xxxx/TCP). Capture the port 3xxxx and use it in application URL below. + +# Get Public IP of Worker Nodes +kubectl get nodes -o wide +Observation: Make a note of "EXTERNAL-IP" if your Kubernetes cluster is setup on AWS EKS. + +# Application URL +http://: +``` + + +## Step-02: Rollback to specific revision +### Check the Rollout History of a Deployment +``` +# List Deployment Rollout History +kubectl rollout history deployment/ +kubectl rollout history deployment/my-first-deployment +``` +### Rollback to specific revision +``` +# Rollback Deployment to Specific Revision +kubectl rollout undo deployment/my-first-deployment --to-revision=3 +``` + +### List Deployment History +- **Observation:** If we rollback to revision 3, it will go back to revision-3 and its number increases to revision-5 in rollout history +``` +# List Deployment Rollout History +kubectl rollout history deployment/my-first-deployment +``` + + +### Access the Application using Public IP +- We should see `Application Version:V3` whenever we access the application in browser +``` +# Get NodePort +kubectl get svc +Observation: Make a note of port which starts with 3 (Example: 80:3xxxx/TCP). Capture the port 3xxxx and use it in application URL below. + +# Get Public IP of Worker Nodes +kubectl get nodes -o wide +Observation: Make a note of "EXTERNAL-IP" if your Kubernetes cluster is setup on AWS EKS. + +# Application URL +http://: +``` + +## Step-03: Rolling Restarts of Application +- Rolling restarts will kill the existing pods and recreate new pods in a rolling fashion. +``` +# Rolling Restarts +kubectl rollout restart deployment/ +kubectl rollout restart deployment/my-first-deployment + +# Get list of Pods +kubectl get po +``` \ No newline at end of file diff --git a/kubernetes-fundamentals/04-Deployments-with-kubectl/04-04-Pause-and-Resume-Deployment/README.md b/kubernetes-fundamentals/04-Deployments-with-kubectl/04-04-Pause-and-Resume-Deployment/README.md new file mode 100755 index 00000000..65faa13a --- /dev/null +++ b/kubernetes-fundamentals/04-Deployments-with-kubectl/04-04-Pause-and-Resume-Deployment/README.md @@ -0,0 +1,75 @@ +# Pause & Resume Deployments + +## Step-00: Introduction +- Why do we need Pausing & Resuming Deployments? + - If we want to make multiple changes to our Deployment, we can pause the deployment make all changes and resume it. +- We are going to update our Application Version from **V3 to V4** as part of learning "Pause and Resume Deployments" + +## Step-01: Pausing & Resuming Deployments +### Check current State of Deployment & Application + ``` +# Check the Rollout History of a Deployment +kubectl rollout history deployment/my-first-deployment +Observation: Make a note of last version number + +# Get list of ReplicaSets +kubectl get rs +Observation: Make a note of number of replicaSets present. + +# Access the Application +http://: +Observation: Make a note of application version +``` + +### Pause Deployment and Two Changes +``` +# Pause the Deployment +kubectl rollout pause deployment/ +kubectl rollout pause deployment/my-first-deployment + +# Update Deployment - Application Version from V3 to V4 +kubectl set image deployment/my-first-deployment kubenginx=stacksimplify/kubenginx:4.0.0 --record=true + +# Check the Rollout History of a Deployment +kubectl rollout history deployment/my-first-deployment +Observation: No new rollout should start, we should see same number of versions as we check earlier with last version number matches which we have noted earlier. + +# Get list of ReplicaSets +kubectl get rs +Observation: No new replicaSet created. We should have same number of replicaSets as earlier when we took note. + +# Make one more change: set limits to our container +kubectl set resources deployment/my-first-deployment -c=kubenginx --limits=cpu=20m,memory=30Mi +``` +### Resume Deployment +``` +# Resume the Deployment +kubectl rollout resume deployment/my-first-deployment + +# Check the Rollout History of a Deployment +kubectl rollout history deployment/my-first-deployment +Observation: You should see a new version got created + +# Get list of ReplicaSets +kubectl get rs +Observation: You should see new ReplicaSet. +``` +### Access Application +``` +# Access the Application +http://: +Observation: You should see Application V4 version +``` + + +## Step-02: Clean-Up +``` +# Delete Deployment +kubectl delete deployment my-first-deployment + +# Delete Service +kubectl delete svc my-first-deployment-service + +# Get all Objects from Kubernetes default namespace +kubectl get all +``` \ No newline at end of file diff --git a/kubernetes-fundamentals/04-Deployments-with-kubectl/README.md b/kubernetes-fundamentals/04-Deployments-with-kubectl/README.md new file mode 100755 index 00000000..230ee8fa --- /dev/null +++ b/kubernetes-fundamentals/04-Deployments-with-kubectl/README.md @@ -0,0 +1,16 @@ +# Kubernetes - Deployment + +## Topics +1. Create Deployment +2. Scale the Deployment +3. Expose Deployment as a Service +4. Update Deployment +5. Rollback Deployment +6. Rolling Restarts +7. Pause & Resume Deployments +8. Canary Deployments (Will be covered at Declarative section of Deployments) + + + + + diff --git a/kubernetes-fundamentals/05-Services-with-kubectl/README.md b/kubernetes-fundamentals/05-Services-with-kubectl/README.md new file mode 100755 index 00000000..8c025880 --- /dev/null +++ b/kubernetes-fundamentals/05-Services-with-kubectl/README.md @@ -0,0 +1,79 @@ +# Kubernetes - Services + +## Step-01: Introduction to Services +- **Service Types** + 1. ClusterIp + 2. NodePort + 3. LoadBalancer + 4. ExternalName +- We are going to look in to ClusterIP and NodePort in this section with a detailed example. +- LoadBalancer Type is primarily for cloud providers and it will differ cloud to cloud, so we will do it accordingly (per cloud basis) +- ExternalName doesn't have Imperative commands and we need to write YAML definition for the same, so we will look in to it as and when it is required in our course. + +## Step-02: ClusterIP Service - Backend Application Setup +- Create a deployment for Backend Application (Spring Boot REST Application) +- Create a ClusterIP service for load balancing backend application. +``` +# Create Deployment for Backend Rest App +kubectl create deployment my-backend-rest-app --image=stacksimplify/kube-helloworld:1.0.0 +kubectl get deploy + +# Create ClusterIp Service for Backend Rest App +kubectl expose deployment my-backend-rest-app --port=8080 --target-port=8080 --name=my-backend-service +kubectl get svc +Observation: We don't need to specify "--type=ClusterIp" because default setting is to create ClusterIp Service. +``` +- **Important Note:** If backend application port (Container Port: 8080) and Service Port (8080) are same we don't need to use **--target-port=8080** but for avoiding the confusion i have added it. Same case applies to frontend application and service. + +- **Backend HelloWorld Application Source** [kube-helloworld](../00-Docker-Images/02-kube-backend-helloworld-springboot/kube-helloworld) + + +## Step-03: NodePort Service - Frontend Application Setup +- We have implemented **NodePort Service** multiple times so far (in pods, replicasets and deployments), even then we are going to implement one more time to get a full architectural view in relation with ClusterIp service. +- Create a deployment for Frontend Application (Nginx acting as Reverse Proxy) +- Create a NodePort service for load balancing frontend application. +- **Important Note:** In Nginx reverse proxy, ensure backend service name `my-backend-service` is updated when you are building the frontend container. We already built it and put ready for this demo (stacksimplify/kube-frontend-nginx:1.0.0) +- **Nginx Conf File** +```conf +server { + listen 80; + server_name localhost; + location / { + # Update your backend application Kubernetes Cluster-IP Service name and port below + # proxy_pass http://:; + proxy_pass http://my-backend-service:8080; + } + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/share/nginx/html; + } +} +``` +- **Docker Image Location:** https://hub.docker.com/repository/docker/stacksimplify/kube-frontend-nginx +- **Frontend Nginx Reverse Proxy Application Source** [kube-frontend-nginx](../00-Docker-Images/03-kube-frontend-nginx) +``` +# Create Deployment for Frontend Nginx Proxy +kubectl create deployment my-frontend-nginx-app --image=stacksimplify/kube-frontend-nginx:1.0.0 +kubectl get deploy + +# Create ClusterIp Service for Frontend Nginx Proxy +kubectl expose deployment my-frontend-nginx-app --type=NodePort --port=80 --target-port=80 --name=my-frontend-service +kubectl get svc + +# Capture IP and Port to Access Application +kubectl get svc +kubectl get nodes -o wide +http://:/hello + +# Scale backend with 10 replicas +kubectl scale --replicas=10 deployment/my-backend-rest-app + +# Test again to view the backend service Load Balancing +http://:/hello +``` + + +## Pending Topics +- We will look in tho these items when we progress in to course on that respective cloud provider + - LoadBalancer + - ExternalName \ No newline at end of file diff --git a/kubernetes-fundamentals/06-YAML-Basics/README.md b/kubernetes-fundamentals/06-YAML-Basics/README.md new file mode 100755 index 00000000..d752cf8d --- /dev/null +++ b/kubernetes-fundamentals/06-YAML-Basics/README.md @@ -0,0 +1,75 @@ +# YAML Basics + +## Step-01: Comments & Key Value Pairs +- Space after colon is mandatory to differentiate key and value +```yml +# Defining simple key value pairs +name: kalyan +age: 23 +city: Hyderabad +``` + +## Step-02: Dictionary / Map +- Set of properties grouped together after an item +- Equal amount of blank space required for all the items under a dictionary +```yml +person: + name: kalyan + age: 23 + city: Hyderabad +``` + +## Step-03: Array / Lists +- Dash indicates an element of an array +```yml +person: # Dictionary + name: kalyan + age: 23 + city: Hyderabad + hobbies: # List + - cycling + - cookines + hobbies: [cycling, cooking] # List with a differnt notation +``` + +## Step-04: Multiple Lists +- Dash indicates an element of an array +```yml +person: # Dictionary + name: kalyan + age: 23 + city: Hyderabad + hobbies: # List + - cycling + - cooking + hobbies: [cycling, cooking] # List with a differnt notation + friends: # + - name: friend1 + age: 22 + - name: friend2 + age: 25 +``` + + +## Step-05: Sample Pod Tempalte for Reference +```yml +apiVersion: v1 # String +kind: Pod # String +metadata: # Dictionary + name: myapp-pod + labels: # Dictionary + app: myapp +spec: + containers: # List + - name: myapp + image: stacksimplify/kubenginx:1.0.0 + ports: + - containerPort: 80 + protocol: "TCP" + - containerPort: 81 + protocol: "TCP" +``` + + + + diff --git a/kubernetes-fundamentals/06-YAML-Basics/sample-file.yml b/kubernetes-fundamentals/06-YAML-Basics/sample-file.yml new file mode 100755 index 00000000..286400c8 --- /dev/null +++ b/kubernetes-fundamentals/06-YAML-Basics/sample-file.yml @@ -0,0 +1,35 @@ +# Simple Key value Pairs +person: # Dictionary + name: kalyan + age: 23 + city: Hyderabd + hobbies: # List + - cooking + - cycling + friends: # Multiple lists + - name: friend1 + age: 23 + - name: friend2 + age: 22 +--- # YAML Document Separator +apiVersion: v1 # String +kind: Pod # String +metadata: # Dictionary + name: myapp-pod + labels: # Dictionary + app: myapp + tier: frontend +spec: + containers: # List + - name: myapp + image: stacksimplify/kubenginx:1.0.0 + ports: # List + - containerPort: 80 + protocol: "TCP" + - containerPort: 81 + protocol: "TCP" + + + + + \ No newline at end of file diff --git a/kubernetes-fundamentals/07-PODs-with-YAML/README.md b/kubernetes-fundamentals/07-PODs-with-YAML/README.md new file mode 100755 index 00000000..d5764117 --- /dev/null +++ b/kubernetes-fundamentals/07-PODs-with-YAML/README.md @@ -0,0 +1,85 @@ +# PODs with YAML +## Step-01: Kubernetes YAML Top level Objects +- Discuss about the k8s YAML top level objects +- **01-kube-base-definition.yml** +```yml +apiVersion: +kind: +metadata: + +spec: +``` +- **Pod API Objects Reference:** https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#pod-v1-core + +## Step-02: Create Simple Pod Definition using YAML +- We are going to create a very basic pod definition +- **02-pod-definition.yml** +```yml +apiVersion: v1 # String +kind: Pod # String +metadata: # Dictionary + name: myapp-pod + labels: # Dictionary + app: myapp +spec: + containers: # List + - name: myapp + image: stacksimplify/kubenginx:1.0.0 + ports: + - containerPort: 80 +``` +- **Create Pod** +``` +# Create Pod +kubectl create -f 02-pod-definition.yml +[or] +kubectl apply -f 02-pod-definition.yml + +# List Pods +kubectl get pods +``` + +## Step-03: Create a NodePort Service +- **03-pod-nodeport-service.yml** +```yml +apiVersion: v1 +kind: Service +metadata: + name: myapp-pod-nodeport-service # Name of the Service +spec: + type: NodePort + selector: + # Loadbalance traffic across Pods matching this label selector + app: myapp + # Accept traffic sent to port 80 + ports: + - name: http + port: 80 # Service Port + targetPort: 80 # Container Port + nodePort: 31231 # NodePort +``` +- **Create NodePort Service for Pod** +``` +# Create Service +kubectl apply -f 03-pod-nodeport-service.yml + +# List Service +kubectl get svc + +# Get Public IP +kubectl get nodes -o wide + +# Access Application +http://: +http://:31231 +``` + +## API Object References +- **Pod**: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#pod-v1-core +- **Service**: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#service-v1-core + +## Updated API Object References +- **Pod**: https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/ +- **Service**: https://kubernetes.io/docs/reference/kubernetes-api/service-resources/service-v1/ +- **Kubernetes API Reference:** https://kubernetes.io/docs/reference/kubernetes-api/ + diff --git a/kubernetes-fundamentals/07-PODs-with-YAML/kube-manifests/01-kube-base-definition.yml b/kubernetes-fundamentals/07-PODs-with-YAML/kube-manifests/01-kube-base-definition.yml new file mode 100755 index 00000000..8c2b60cb --- /dev/null +++ b/kubernetes-fundamentals/07-PODs-with-YAML/kube-manifests/01-kube-base-definition.yml @@ -0,0 +1,13 @@ +apiVersion: +kind: +metadata: + +spec: + +# Types of Kubernetes Objects +# Pod, ReplicaSet, Deployment, Service and many more + +# apiVersion: version of k8s objects +# kind: k8s objects +# metadata: define name and labels for k8s objects +# spec: specification or real definition for k8s objects diff --git a/kubernetes-fundamentals/07-PODs-with-YAML/kube-manifests/02-pod-definition.yml b/kubernetes-fundamentals/07-PODs-with-YAML/kube-manifests/02-pod-definition.yml new file mode 100755 index 00000000..74de25b5 --- /dev/null +++ b/kubernetes-fundamentals/07-PODs-with-YAML/kube-manifests/02-pod-definition.yml @@ -0,0 +1,15 @@ +apiVersion: v1 # String +kind: Pod # String +metadata: # Dictionary + name: myapp-pod + labels: # Dictionary + app: myapp +spec: + containers: # List + - name: myapp + image: stacksimplify/kubenginx:1.0.0 + ports: + - containerPort: 80 + + + \ No newline at end of file diff --git a/kubernetes-fundamentals/07-PODs-with-YAML/kube-manifests/03-pod-nodeport-service.yml b/kubernetes-fundamentals/07-PODs-with-YAML/kube-manifests/03-pod-nodeport-service.yml new file mode 100755 index 00000000..7db8dc83 --- /dev/null +++ b/kubernetes-fundamentals/07-PODs-with-YAML/kube-manifests/03-pod-nodeport-service.yml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: myapp-pod-nodeport-service +spec: + type: NodePort + selector: + app: myapp + ports: + - name: http + port: 80 # Service Port + targetPort: 80 # Container Port + nodePort: 31231 # NodePort \ No newline at end of file diff --git a/kubernetes-fundamentals/08-ReplicaSets-with-YAML/README.md b/kubernetes-fundamentals/08-ReplicaSets-with-YAML/README.md new file mode 100755 index 00000000..f94b4bd6 --- /dev/null +++ b/kubernetes-fundamentals/08-ReplicaSets-with-YAML/README.md @@ -0,0 +1,80 @@ +# ReplicaSets with YAML + +## Step-01: Create ReplicaSet Definition +- **replicaset-definition.yml** +```yml +apiVersion: apps/v1 +kind: ReplicaSet +metadata: + name: myapp2-rs +spec: + replicas: 3 # 3 Pods should exist at all times. + selector: # Pods label should be defined in ReplicaSet label selector + matchLabels: + app: myapp2 + template: + metadata: + name: myapp2-pod + labels: + app: myapp2 # Atleast 1 Pod label should match with ReplicaSet Label Selector + spec: + containers: + - name: myapp2 + image: stacksimplify/kubenginx:2.0.0 + ports: + - containerPort: 80 +``` +## Step-02: Create ReplicaSet +- Create ReplicaSet with 3 Replicas +``` +# Create ReplicaSet +kubectl apply -f 02-replicaset-definition.yml + +# List Replicasets +kubectl get rs +``` +- Delete a pod +- ReplicaSet immediately creates the pod. +``` +# List Pods +kubectl get pods + +# Delete Pod +kubectl delete pod +``` + +## Step-03: Create NodePort Service for ReplicaSet +```yml +apiVersion: v1 +kind: Service +metadata: + name: replicaset-nodeport-service +spec: + type: NodePort + selector: + app: myapp2 + ports: + - name: http + port: 80 + targetPort: 80 + nodePort: 31232 +``` +- Create NodePort Service for ReplicaSet & Test +``` +# Create NodePort Service +kubectl apply -f 03-replicaset-nodeport-servie.yml + +# List NodePort Service +kubectl get svc + +# Get Public IP +kubectl get nodes -o wide + +# Access Application +http://: +http://:31232 + +``` + +## API References +- **ReplicaSet:** https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#replicaset-v1-apps \ No newline at end of file diff --git a/kubernetes-fundamentals/08-ReplicaSets-with-YAML/kube-manifests/01-kube-base-definition.yml b/kubernetes-fundamentals/08-ReplicaSets-with-YAML/kube-manifests/01-kube-base-definition.yml new file mode 100755 index 00000000..da63d854 --- /dev/null +++ b/kubernetes-fundamentals/08-ReplicaSets-with-YAML/kube-manifests/01-kube-base-definition.yml @@ -0,0 +1,6 @@ +apiVersion: +kind: +metadata: + +spec: + \ No newline at end of file diff --git a/kubernetes-fundamentals/08-ReplicaSets-with-YAML/kube-manifests/02-replicaset-definition.yml b/kubernetes-fundamentals/08-ReplicaSets-with-YAML/kube-manifests/02-replicaset-definition.yml new file mode 100755 index 00000000..39972ce0 --- /dev/null +++ b/kubernetes-fundamentals/08-ReplicaSets-with-YAML/kube-manifests/02-replicaset-definition.yml @@ -0,0 +1,23 @@ +apiVersion: apps/v1 +kind: ReplicaSet +metadata: + name: myapp2-rs +spec: + replicas: 3 + selector: + matchLabels: + app: myapp2 + template: + metadata: # Dictionary + name: myapp2-pod + labels: # Dictionary + app: myapp2 + spec: + containers: # List + - name: myapp2-container + image: stacksimplify/kubenginx:2.0.0 + ports: + - containerPort: 80 + + + \ No newline at end of file diff --git a/kubernetes-fundamentals/08-ReplicaSets-with-YAML/kube-manifests/03-replicaset-nodeport-servie.yml b/kubernetes-fundamentals/08-ReplicaSets-with-YAML/kube-manifests/03-replicaset-nodeport-servie.yml new file mode 100755 index 00000000..ff2d4240 --- /dev/null +++ b/kubernetes-fundamentals/08-ReplicaSets-with-YAML/kube-manifests/03-replicaset-nodeport-servie.yml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + name: replicaset-nodeport-service +spec: + type: NodePort + selector: + app: myapp2 + ports: + - name: http + port: 80 + targetPort: 80 + nodePort: 31232 + \ No newline at end of file diff --git a/kubernetes-fundamentals/09-Deployments-with-YAML/README.md b/kubernetes-fundamentals/09-Deployments-with-YAML/README.md new file mode 100755 index 00000000..09e59020 --- /dev/null +++ b/kubernetes-fundamentals/09-Deployments-with-YAML/README.md @@ -0,0 +1,30 @@ +# Deployments with YAML + +## Step-01: Copy templates from ReplicaSet +- Copy templates from ReplicaSet and change the `kind: Deployment` +- Update Container Image version to `3.0.0` +- Update NodePort service `nodePort: 31233` +- Change all names to Deployment +- Change all labels and selectors to `myapp3` + +``` +# Create Deployment +kubectl apply -f 02-deployment-definition.yml +kubectl get deploy +kubectl get rs +kubectl get po + +# Create NodePort Service +kubectl apply -f 03-deployment-nodeport-service.yml + +# List Service +kubectl get svc + +# Get Public IP +kubectl get nodes -o wide + +# Access Application +http://:31233 +``` +## API References +- **Deployment:** https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#deployment-v1-apps diff --git a/kubernetes-fundamentals/09-Deployments-with-YAML/kube-manifests/01-kube-base-definition.yml b/kubernetes-fundamentals/09-Deployments-with-YAML/kube-manifests/01-kube-base-definition.yml new file mode 100755 index 00000000..da63d854 --- /dev/null +++ b/kubernetes-fundamentals/09-Deployments-with-YAML/kube-manifests/01-kube-base-definition.yml @@ -0,0 +1,6 @@ +apiVersion: +kind: +metadata: + +spec: + \ No newline at end of file diff --git a/kubernetes-fundamentals/09-Deployments-with-YAML/kube-manifests/02-deployment-definition.yml b/kubernetes-fundamentals/09-Deployments-with-YAML/kube-manifests/02-deployment-definition.yml new file mode 100755 index 00000000..2c9d417b --- /dev/null +++ b/kubernetes-fundamentals/09-Deployments-with-YAML/kube-manifests/02-deployment-definition.yml @@ -0,0 +1,23 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: myapp3-deployment +spec: + replicas: 3 + selector: + matchLabels: + app: myapp3 + template: + metadata: # Dictionary + name: myapp3-pod + labels: # Dictionary + app: myapp3 + spec: + containers: # List + - name: myapp3-container + image: stacksimplify/kubenginx:3.0.0 + ports: + - containerPort: 80 + + + \ No newline at end of file diff --git a/kubernetes-fundamentals/09-Deployments-with-YAML/kube-manifests/03-deployment-nodeport-servie.yml b/kubernetes-fundamentals/09-Deployments-with-YAML/kube-manifests/03-deployment-nodeport-servie.yml new file mode 100755 index 00000000..8878cbbf --- /dev/null +++ b/kubernetes-fundamentals/09-Deployments-with-YAML/kube-manifests/03-deployment-nodeport-servie.yml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + name: deployment-nodeport-service +spec: + type: NodePort + selector: + app: myapp3 + ports: + - name: http + port: 80 + targetPort: 80 + nodePort: 31233 + \ No newline at end of file diff --git a/kubernetes-fundamentals/10-Services-with-YAML/README.md b/kubernetes-fundamentals/10-Services-with-YAML/README.md new file mode 100755 index 00000000..d2464205 --- /dev/null +++ b/kubernetes-fundamentals/10-Services-with-YAML/README.md @@ -0,0 +1,63 @@ +# Services with YAML + +## Step-01: Introduction to Services +- We are going to look in to below two services in detail with a frotnend and backend example + - NodePort Service + - ClusterIP Service + +## Step-02: Create Backend Deployment & Cluster IP Service +- Write the Deployment template for backend REST application. +- Write the Cluster IP service template for backend REST application. +- **Important Notes:** + - Name of Cluster IP service should be `name: my-backend-service` because same is configured in frontend nginx reverse proxy `default.conf`. + - Test with different name and understand the issue we face + - We have also discussed about in our section [05-Services-with-kubectl](/05-Services-with-kubectl/README.md) +``` +cd \kubernetes-fundamentals\10-Services-with-YAML\kube-manifests +kubectl get all +kubectl apply -f 01-backend-deployment.yml -f 02-backend-clusterip-service.yml +kubectl get all +``` + + +## Step-03: Create Frontend Deployment & NodePort Service +- Write the Deployment template for frontend Nginx Application +- Write the NodePort service template for frontend Nginx Application +``` +cd \kubernetes-fundamentals\10-Services-with-YAML\kube-manifests +kubectl get all +kubectl apply -f 03-frontend-deployment.yml -f 04-frontend-nodeport-service.yml +kubectl get all +``` +- **Access REST Application** +``` +# Get External IP of nodes using +kubectl get nodes -o wide + +# Access REST Application (Port is static 31234 configured in frontend service template) +http://:31234/hello +``` + +## Step-04: Delete & Recreate Objects using kubectl apply +### Delete Objects (file by file) +``` +kubectl delete -f 01-backend-deployment.yml -f 02-backend-clusterip-service.yml -f 03-frontend-deployment.yml -f 04-frontend-nodeport-service.yml +kubectl get all +``` +### Recreate Objects using YAML files in a folder +``` +cd \kubernetes-fundamentals\10-Services-with-YAML +kubectl apply -f kube-manifests/ +kubectl get all +``` +### Delete Objects using YAML files in folder +``` +cd \kubernetes-fundamentals\10-Services-with-YAML +kubectl delete -f kube-manifests/ +kubectl get all +``` + + +## Additional References - Use Label Selectors for get and delete +- https://kubernetes.io/docs/concepts/cluster-administration/manage-deployment/#using-labels-effectively +- https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors \ No newline at end of file diff --git a/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/00-kube-base-definition.yml b/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/00-kube-base-definition.yml new file mode 100755 index 00000000..07d921b6 --- /dev/null +++ b/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/00-kube-base-definition.yml @@ -0,0 +1,5 @@ +apiVersion: +kind: +metadata: + +spec: diff --git a/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/01-backend-deployment.yml b/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/01-backend-deployment.yml new file mode 100755 index 00000000..d780622a --- /dev/null +++ b/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/01-backend-deployment.yml @@ -0,0 +1,23 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: backend-restapp + labels: + app: backend-restapp + tier: backend +spec: + replicas: 3 + selector: + matchLabels: + app: backend-restapp + template: + metadata: + labels: + app: backend-restapp + tier: backend + spec: + containers: + - name: backend-restapp + image: stacksimplify/kube-helloworld:1.0.0 + ports: + - containerPort: 8080 \ No newline at end of file diff --git a/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/02-backend-clusterip-service.yml b/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/02-backend-clusterip-service.yml new file mode 100755 index 00000000..9123345b --- /dev/null +++ b/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/02-backend-clusterip-service.yml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: my-backend-service ## VERY VERY IMPORTANT - NGINX PROXYPASS needs this name + labels: + app: backend-restapp + tier: backend +spec: + #type: Cluster IP is a default service + selector: + app: backend-restapp + ports: + - name: http + port: 8080 # ClusterIp Service Port + targetPort: 8080 # Container Port diff --git a/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/03-frontend-deployment.yml b/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/03-frontend-deployment.yml new file mode 100755 index 00000000..9e5e452f --- /dev/null +++ b/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/03-frontend-deployment.yml @@ -0,0 +1,23 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: frontend-nginxapp + labels: + app: frontend-nginxapp + tier: frontend +spec: + replicas: 3 + selector: + matchLabels: + app: frontend-nginxapp + template: + metadata: + labels: + app: frontend-nginxapp + tier: frontend + spec: + containers: + - name: frontend-nginxapp + image: stacksimplify/kube-frontend-nginx:1.0.0 + ports: + - containerPort: 80 diff --git a/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/04-frontend-nodeport-service.yml b/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/04-frontend-nodeport-service.yml new file mode 100755 index 00000000..9f155341 --- /dev/null +++ b/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/04-frontend-nodeport-service.yml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + name: frontend-nginxapp-nodeport-service + labels: + app: frontend-nginxapp + tier: frontend +spec: + type: NodePort + selector: + app: frontend-nginxapp + ports: + - name: http + port: 80 + targetPort: 80 + nodePort: 31234 diff --git a/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/backup/00-kube-base-definition.yml b/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/backup/00-kube-base-definition.yml new file mode 100755 index 00000000..07d921b6 --- /dev/null +++ b/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/backup/00-kube-base-definition.yml @@ -0,0 +1,5 @@ +apiVersion: +kind: +metadata: + +spec: diff --git a/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/backup/01-backend-deployment.yml b/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/backup/01-backend-deployment.yml new file mode 100755 index 00000000..14e8d336 --- /dev/null +++ b/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/backup/01-backend-deployment.yml @@ -0,0 +1,23 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: backend-restapp + labels: + app: backend-restapp + tier: backend +spec: + replicas: 3 + selector: + matchLabels: + app: backend-restapp + template: + metadata: + labels: + app: backend-restapp + tier: backend + spec: + containers: + - name: backend-restapp + image: stacksimplify/kube-helloworld:1.0.0 + ports: + - containerPort: 8080 diff --git a/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/backup/02-backend-clusterip-service.yml b/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/backup/02-backend-clusterip-service.yml new file mode 100755 index 00000000..db489ba4 --- /dev/null +++ b/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/backup/02-backend-clusterip-service.yml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + name: my-backend-service + labels: + app: backend-restapp + tier: backend +spec: + selector: + app: backend-restapp + ports: + - name: http + port: 8080 + targetPort: 8080 diff --git a/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/backup/03-frontend-deployment.yml b/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/backup/03-frontend-deployment.yml new file mode 100755 index 00000000..b8e40afd --- /dev/null +++ b/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/backup/03-frontend-deployment.yml @@ -0,0 +1,23 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: frontend-nginxapp + labels: + app: frontend-nginxapp + tier: frontend +spec: + replicas: 3 + selector: + matchLabels: + app: frontend-nginxapp + template: + metadata: + labels: + app: frontend-nginxapp + tier: frontend + spec: + containers: + - name: frontend-nginxapp + image: stacksimplify/kube-frontend-nginx:1.0.0 + ports: + - containerPort: 80 diff --git a/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/backup/04-frontend-nodeport-service.yml b/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/backup/04-frontend-nodeport-service.yml new file mode 100755 index 00000000..56d3df17 --- /dev/null +++ b/kubernetes-fundamentals/10-Services-with-YAML/kube-manifests/backup/04-frontend-nodeport-service.yml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + name: frontend-nginxapp-nodeport-service + labels: + app: frontend-nginxapp + tier: frontend +spec: + type: NodePort + selector: + app: frontend-nginxapp + ports: + - name: http + port: 80 + targetPort: 80 + nodePort: 31234 diff --git a/kubernetes-fundamentals/README.md b/kubernetes-fundamentals/README.md new file mode 100755 index 00000000..ab1693da --- /dev/null +++ b/kubernetes-fundamentals/README.md @@ -0,0 +1,139 @@ +# Kubernetes Fundamentals + +[![Image](https://stacksimplify.com/course-images/AWS-EKS-Kubernetes-Masterclass-DevOps-Microservices-course.png "AWS EKS Kubernetes - Masterclass")](https://www.udemy.com/course/aws-eks-kubernetes-masterclass-devops-microservices/?referralCode=257C9AD5B5AF8D12D1E1) + +## Two FREE Courses on Udemy +- [Kubernetes for Absolute Beginners on AWS Cloud | Part-1](https://www.udemy.com/course/kubernetes-for-absolute-beginners-on-aws-cloud-part-1) +- [Kubernetes for Absolute Beginners on AWS Cloud | Part-2](https://www.udemy.com/course/kubernetes-for-absolute-beginners-on-aws-cloud-part-2) + +## Contents + +| S.No | Course Contents | +| ---- | --------------- | +| 1. | Kubernetes Architecture | +| 2. | Pods with kubectl | +| 3. | ReplicaSets with kubectl | +| 4. | Deployments with kubectl | +| 5. | Services with kubectl | +| 6. | YAML Basics | +| 7. | Pods with YAML | +| 8. | ReplicaSets with YAML | +| 9. | Deployments with YAML | +| 10. | Services with YAML | + +## Imperative & Declarative Approach +- Pods +- ReplicaSets +- Deployments +- Services + +## List of Docker Images + +| Application Name | Docker Image Name | +| ----------------- | ----------------- | +| Simple Nginx V1 | stacksimplify/kubenginx:1.0.0 | +| Spring Boot Hello World API | stacksimplify/kube-helloworld:1.0.0 | +| Simple Nginx V2 | stacksimplify/kubenginx:2.0.0 | +| Simple Nginx V3 | stacksimplify/kubenginx:3.0.0 | +| Simple Nginx V4 | stacksimplify/kubenginx:4.0.0 | +| Backend Application | stacksimplify/kube-helloworld:1.0.0 | +| Frontend Application | stacksimplify/kube-frontend-nginx:1.0.0 | + +## Kuberentes Fundamentals - Step by Step + +### EKS - Install AWS CLI, kubectl CLI and eksctl CLI +- **Step-01:** CLI's Introduction +- **Step-02:** Install AWS CLI +- **Step-03:** Install kubectl CLI +- **Step-04:** Install eksctl CLI + +### EKS - Create Cluster using eksctl +- **Step-01:** EKS Cluster Introduction +- **Step-02:** Create EKS Cluster +- **Step-03:** Create IAM OIDC Provider and Managed Node Group in Public Subnets +- **Step-04:** Verify EKS Cluster Node Groups + +### EKS Cluster Pricing Note and Delete Cluster +- **Step-01:** EKS Cluster Pricing Note +- **Step-02:** Delete EKS Cluster Node Group + +### Kubernetes Architecture +- **Step-01:** Kubernetes Architecture +- **Step-02:** Kubernetes vs AWS EKS Architecture +- **Step-03:** Kubernetes Fundamentals - Introduction + +### Kubernetes - Pods with kubectl +- **Step-01:** Pods Introduction +- **Step-02:** Pods Demo +- **Step-03:** Node Port Service Introduction +- **Step-04:** Node Port Service and Pods Demo +- **Step-05:** Interact with Pod - Connect to contianer in a pod +- **Step-06:** Delete Pod + +### Kubernetes - ReplicaSets with kubectl +- **Step-01:** ReplicaSet Introduction +- **Step-02:** Create ReplicaSet +- **Step-03:** Expose and Perform High Availability Tests and Delete ReplicaSet + +### Kubernetes - Deployments with kubectl +- **Step-02:** Deployments Demo +- **Step-03:** Update Deployment using Set Image Option +- **Step-04:** Edit Deployment using kubectl edit +- **Step-05:** Rollback Application to Previous Version - Undo Deployment +- **Step-06:** Pause and Resume Deployments + +### Kubernetes - Services with kubectl +- **Step-01:** Services Introduction +- **Step-02:** Services Demo + +### YAML Basics +- **Step-01:** Introduction to Kubernetes Declarative Approach +- **Step-02:** YAML Basics + +### Kubernetes - Pods with YAML +- **Step-01:** Create Pod Manifest in YAML +- **Step-02:** Create Node Port Service & Test + +### Kubernetes - ReplicaSets with YAML +- **Step-01:** Create ReplicaSet Manifests with YAML +- **Step-02:** Create Node Port Service & Test + +### Kubernetes - Deployments with YAML +- **Step-01:** Create Deployment Manifest, Deploy & Test + +### Kubernetes - Services with YAML +- **Step-01:** Backend Application - Create Deployment and ClusterIP Service +- **Step-02:** Frontend Application - Create Deployment and NodePort Service +- **Step-03:** Deploy and Test - Frontend and Backend Applications + + +## What will students learn in your course? +- You will learn creating Pods, ReplicaSets, Deployments and Services using kubectl +- You will learn creating Pods, ReplicaSets, Deployments and Services using YAML +- You will write kubernetes manifests using YAML with confidence after going through live template writing sections +- You will learn Kubernetes Fundamentals in both imperative and declarative approaches +- You will learn to create AWS EKS Cluster using eksctl CLI +- You will master many kubectl commands over the process +- You will have step by step instructions documented using github repository + +## Are there any course requirements or prerequisites? +- You must have an AWS account to follow with me for hands-on activities. +- You dont need to have any basic kubernetes knowledge to start this course. + + +## Who are your target students? +- Any beginner who is interested in learning kubernetes on cloud using AWS EKS. +- AWS Architects or Sysadmins or Developers who are planning to master Elastic Kubernetes Service (EKS) for running applications on Kubernetes + +## Each of my courses come with +- Amazing Hands-on Step By Step Learning Experiences +- Real Implementation Experience +- Friendly Support in the Q&A section +- 30 Day "No Questions Asked" Money Back Guarantee! + +## My Other AWS Courses +- [Udemy Enroll](https://github.com/stacksimplify/udemy-enroll) + +## Stack Simplify Udemy Profile +- [Udemy Profile](https://www.udemy.com/user/kalyan-reddy-9/) + diff --git a/kubernetes-fundamentals/presentation/Kubernetes-Fundamentals.pptx b/kubernetes-fundamentals/presentation/Kubernetes-Fundamentals.pptx new file mode 100755 index 00000000..101478e0 Binary files /dev/null and b/kubernetes-fundamentals/presentation/Kubernetes-Fundamentals.pptx differ diff --git a/learn-terraform-provision-eks-cluster/LICENSE b/learn-terraform-provision-eks-cluster/LICENSE new file mode 100755 index 00000000..c121cee6 --- /dev/null +++ b/learn-terraform-provision-eks-cluster/LICENSE @@ -0,0 +1,375 @@ +Copyright (c) 2020 HashiCorp, Inc. + +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/learn-terraform-provision-eks-cluster/README.md b/learn-terraform-provision-eks-cluster/README.md new file mode 100755 index 00000000..cad5b060 --- /dev/null +++ b/learn-terraform-provision-eks-cluster/README.md @@ -0,0 +1,4 @@ +# Learn Terraform - Provision an EKS Cluster + +This repo is a companion repo to the [Provision an EKS Cluster tutorial](https://developer.hashicorp.com/terraform/tutorials/kubernetes/eks), containing +Terraform configuration files to provision an EKS cluster on AWS. diff --git a/learn-terraform-provision-eks-cluster/main.tf b/learn-terraform-provision-eks-cluster/main.tf new file mode 100755 index 00000000..88ad1cfc --- /dev/null +++ b/learn-terraform-provision-eks-cluster/main.tf @@ -0,0 +1,118 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "aws" { + region = var.region +} + +# Filter out local zones, which are not currently supported +# with managed node groups +data "aws_availability_zones" "available" { + filter { + name = "opt-in-status" + values = ["opt-in-not-required"] + } +} + +locals { + cluster_name = "education-eks-${random_string.suffix.result}" +} + +resource "random_string" "suffix" { + length = 8 + special = false +} + +module "vpc" { + source = "terraform-aws-modules/vpc/aws" + version = "5.0.0" + + name = "education-vpc" + + cidr = "10.0.0.0/16" + azs = slice(data.aws_availability_zones.available.names, 0, 3) + + private_subnets = ["10.0.1.0/24", "10.0.2.0/24", "10.0.3.0/24"] + public_subnets = ["10.0.4.0/24", "10.0.5.0/24", "10.0.6.0/24"] + + enable_nat_gateway = true + single_nat_gateway = true + enable_dns_hostnames = true + + public_subnet_tags = { + "kubernetes.io/cluster/${local.cluster_name}" = "shared" + "kubernetes.io/role/elb" = 1 + } + + private_subnet_tags = { + "kubernetes.io/cluster/${local.cluster_name}" = "shared" + "kubernetes.io/role/internal-elb" = 1 + } +} + +module "eks" { + source = "terraform-aws-modules/eks/aws" + version = "19.15.3" + + cluster_name = local.cluster_name + cluster_version = "1.27" + + vpc_id = module.vpc.vpc_id + subnet_ids = module.vpc.private_subnets + cluster_endpoint_public_access = true + + eks_managed_node_group_defaults = { + ami_type = "AL2_x86_64" + + } + + eks_managed_node_groups = { + one = { + name = "node-group-1" + + instance_types = ["t3.small"] + + min_size = 1 + max_size = 3 + desired_size = 2 + } + + two = { + name = "node-group-2" + + instance_types = ["t3.small"] + + min_size = 1 + max_size = 2 + desired_size = 1 + } + } +} + + +# https://aws.amazon.com/blogs/containers/amazon-ebs-csi-driver-is-now-generally-available-in-amazon-eks-add-ons/ +data "aws_iam_policy" "ebs_csi_policy" { + arn = "arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy" +} + +module "irsa-ebs-csi" { + source = "terraform-aws-modules/iam/aws//modules/iam-assumable-role-with-oidc" + version = "4.7.0" + + create_role = true + role_name = "AmazonEKSTFEBSCSIRole-${module.eks.cluster_name}" + provider_url = module.eks.oidc_provider + role_policy_arns = [data.aws_iam_policy.ebs_csi_policy.arn] + oidc_fully_qualified_subjects = ["system:serviceaccount:kube-system:ebs-csi-controller-sa"] +} + +resource "aws_eks_addon" "ebs-csi" { + cluster_name = module.eks.cluster_name + addon_name = "aws-ebs-csi-driver" + addon_version = "v1.20.0-eksbuild.1" + service_account_role_arn = module.irsa-ebs-csi.iam_role_arn + tags = { + "eks_addon" = "ebs-csi" + "terraform" = "true" + } +} \ No newline at end of file diff --git a/learn-terraform-provision-eks-cluster/outputs.tf b/learn-terraform-provision-eks-cluster/outputs.tf new file mode 100755 index 00000000..36100019 --- /dev/null +++ b/learn-terraform-provision-eks-cluster/outputs.tf @@ -0,0 +1,22 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +output "cluster_endpoint" { + description = "Endpoint for EKS control plane" + value = module.eks.cluster_endpoint +} + +output "cluster_security_group_id" { + description = "Security group ids attached to the cluster control plane" + value = module.eks.cluster_security_group_id +} + +output "region" { + description = "AWS region" + value = var.region +} + +output "cluster_name" { + description = "Kubernetes Cluster Name" + value = module.eks.cluster_name +} diff --git a/learn-terraform-provision-eks-cluster/terraform.tf b/learn-terraform-provision-eks-cluster/terraform.tf new file mode 100755 index 00000000..3e3d89ba --- /dev/null +++ b/learn-terraform-provision-eks-cluster/terraform.tf @@ -0,0 +1,36 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +terraform { + + cloud { + workspaces { + name = "learn-terraform-eks" + } + } + + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 5.7.0" + } + + random = { + source = "hashicorp/random" + version = "~> 3.5.1" + } + + tls = { + source = "hashicorp/tls" + version = "~> 4.0.4" + } + + cloudinit = { + source = "hashicorp/cloudinit" + version = "~> 2.3.2" + } + } + + required_version = "~> 1.3" +} + diff --git a/learn-terraform-provision-eks-cluster/variables.tf b/learn-terraform-provision-eks-cluster/variables.tf new file mode 100755 index 00000000..184bbb05 --- /dev/null +++ b/learn-terraform-provision-eks-cluster/variables.tf @@ -0,0 +1,8 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +variable "region" { + description = "AWS region" + type = string + default = "us-east-2" +} diff --git a/presentation/Hashicorp-Certified-Terraform-Associate-v3.pptx b/presentation/Hashicorp-Certified-Terraform-Associate-v3.pptx new file mode 100644 index 00000000..2bc71144 Binary files /dev/null and b/presentation/Hashicorp-Certified-Terraform-Associate-v3.pptx differ diff --git a/prometheus (1).txt b/prometheus (1).txt new file mode 100755 index 00000000..593850d3 --- /dev/null +++ b/prometheus (1).txt @@ -0,0 +1,69 @@ +# my global config +global: + scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. + evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. + # scrape_timeout is set to the global default (10s). + +# Alertmanager configuration +alerting: + alertmanagers: + - static_configs: + - targets: + - localhost:9093 + +# Load rules once and periodically evaluate them according to the global 'evaluation_interval'. +rule_files: + #- "rules/myrules.yml" + - "rules/linuxrules.yml" + - "rules/windowsrules.yml" + - "rules/webrules.yml" + +# A scrape configuration containing exactly one endpoint to scrape: +# Here it's Prometheus itself. +scrape_configs: + # The job name is added as a label `job=` to any timeseries scraped from this config. + - job_name: 'prometheus' + + # metrics_path defaults to '/metrics' + # scheme defaults to 'http'. + + static_configs: + - targets: ['localhost:9090'] + + - job_name: 'node_exporter' + static_configs: + - targets: ['localhost:9100'] + + + - job_name: 'wmi_exporter' + static_configs: + - targets: ['192.168.87.1:9182'] + + - job_name: 'prom_python_app' + static_configs: + - targets: ['localhost:8001'] + + #- job_name: 'prom_go_app' + #static_configs: + #- targets: ['localhost:8000'] + + - job_name: 'blackbox_exporter' + static_configs: + - targets: ['localhost:9115'] + + - job_name: 'prometheus-website' + static_configs: + - targets: + - prometheus.io + metrics_path: /probe + params: + module: + - http_ipv4 + + relabel_configs: + - source_labels: [__address__] + target_label: __param_target + - source_labels: [__param_target] + target_label: instance + - target_label: __address__ + replacement: localhost:9115 # The blackbox exporter's real hostname:port. \ No newline at end of file diff --git a/prometheus (2).txt b/prometheus (2).txt new file mode 100755 index 00000000..7ef2e1fa --- /dev/null +++ b/prometheus (2).txt @@ -0,0 +1,69 @@ +# my global config +global: + scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. + evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. + # scrape_timeout is set to the global default (10s). + +# Alertmanager configuration +alerting: + alertmanagers: + - static_configs: + - targets: + - localhost:9093 + +# Load rules once and periodically evaluate them according to the global 'evaluation_interval'. +rule_files: + #- "rules/myrules.yml" + - "rules/linuxrules.yml" + - "rules/windowsrules.yml" + - "rules/webrules.yml" + +# A scrape configuration containing exactly one endpoint to scrape: +# Here it's Prometheus itself. +scrape_configs: + # The job name is added as a label `job=` to any timeseries scraped from this config. + - job_name: 'prometheus' + + # metrics_path defaults to '/metrics' + # scheme defaults to 'http'. + + static_configs: + - targets: ['localhost:9090'] + + - job_name: 'node_exporter' + file_sd_configs: + - files: + - file_sd.yml + + - job_name: 'wmi_exporter' + static_configs: + - targets: ['192.168.87.1:9182'] + + - job_name: 'prom_python_app' + static_configs: + - targets: ['localhost:8001'] + + #- job_name: 'prom_go_app' + #static_configs: + #- targets: ['localhost:8000'] + + - job_name: 'blackbox_exporter' + static_configs: + - targets: ['localhost:9115'] + + - job_name: 'prometheus-website' + static_configs: + - targets: + - prometheus.io + metrics_path: /probe + params: + module: + - http_ipv4 + + relabel_configs: + - source_labels: [__address__] + target_label: __param_target + - source_labels: [__param_target] + target_label: instance + - target_label: __address__ + replacement: localhost:9115 # The blackbox exporter's real hostname:port. \ No newline at end of file diff --git a/prometheus (3).txt b/prometheus (3).txt new file mode 100755 index 00000000..b0be5421 --- /dev/null +++ b/prometheus (3).txt @@ -0,0 +1,85 @@ +# my global config +global: + scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. + evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. + # scrape_timeout is set to the global default (10s). + +# Alertmanager configuration +alerting: + alertmanagers: + - static_configs: + - targets: + - localhost:9093 + +# Load rules once and periodically evaluate them according to the global 'evaluation_interval'. +rule_files: + #- "rules/myrules.yml" + - "rules/linuxrules.yml" + - "rules/windowsrules.yml" + - "rules/webrules.yml" + +# A scrape configuration containing exactly one endpoint to scrape: +# Here it's Prometheus itself. +scrape_configs: + # The job name is added as a label `job=` to any timeseries scraped from this config. + - job_name: 'prometheus' + + # metrics_path defaults to '/metrics' + # scheme defaults to 'http'. + + static_configs: + - targets: ['localhost:9090'] + + - job_name: 'node_exporter' + file_sd_configs: + - files: + - file_sd.yml + + - job_name: 'wmi_exporter' + static_configs: + - targets: ['192.168.87.1:9182'] + + - job_name: 'prom_python_app' + static_configs: + - targets: ['localhost:8001'] + + - job_name: 'pushgateway' + honor_labels: true + static_configs: + - targets: ['localhost:9091'] + + #- job_name: 'prom_go_app' + #static_configs: + #- targets: ['localhost:8000'] + + - job_name: 'blackbox_exporter' + static_configs: + - targets: ['localhost:9115'] + + - job_name: 'mysql_exporter' + static_configs: + - targets: ['localhost:9104'] + + + - job_name: 'prometheus-website' + static_configs: + - targets: + - prometheus.io + metrics_path: /probe + params: + module: + - http_ipv4 + + relabel_configs: + - source_labels: [__address__] + target_label: __param_target + - source_labels: [__param_target] + target_label: instance + - target_label: __address__ + replacement: localhost:9115 # The blackbox exporter's real hostname:port. + + - job_name: 'ec2' + ec2_sd_configs: + - access_key: AIADFGHK6QLLVDF1B6U + secret_key: H5cIdfGzbxG3ql64h65u5nd6rfy5ZbiXZ/JjgA82 + region: ap-south-1 \ No newline at end of file diff --git a/prometheus (4).txt b/prometheus (4).txt new file mode 100755 index 00000000..43e66fca --- /dev/null +++ b/prometheus (4).txt @@ -0,0 +1,90 @@ +# my global config +global: + scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. + evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. + # scrape_timeout is set to the global default (10s). + +# Alertmanager configuration +alerting: + alertmanagers: + - static_configs: + - targets: + - localhost:9093 + +# Load rules once and periodically evaluate them according to the global 'evaluation_interval'. +rule_files: + #- "rules/myrules.yml" + - "rules/linuxrules.yml" + - "rules/windowsrules.yml" + - "rules/webrules.yml" + +# A scrape configuration containing exactly one endpoint to scrape: +# Here it's Prometheus itself. +scrape_configs: + # The job name is added as a label `job=` to any timeseries scraped from this config. + - job_name: 'prometheus' + + # metrics_path defaults to '/metrics' + # scheme defaults to 'http'. + + static_configs: + - targets: ['localhost:9090'] + + - job_name: 'node_exporter' + file_sd_configs: + - files: + - file_sd.yml + + - job_name: 'wmi_exporter' + static_configs: + - targets: ['192.168.87.1:9182'] + + - job_name: 'prom_python_app' + static_configs: + - targets: ['localhost:8001'] + + - job_name: 'pushgateway' + honor_labels: true + static_configs: + - targets: ['localhost:9091'] + + #- job_name: 'prom_go_app' + #static_configs: + #- targets: ['localhost:8000'] + + - job_name: 'blackbox_exporter' + static_configs: + - targets: ['localhost:9115'] + + - job_name: 'mysql_exporter' + static_configs: + - targets: ['localhost:9104'] + + + - job_name: 'prometheus-website' + static_configs: + - targets: + - prometheus.io + metrics_path: /probe + params: + module: + - http_ipv4 + + relabel_configs: + - source_labels: [__address__] + target_label: __param_target + - source_labels: [__param_target] + target_label: instance + - target_label: __address__ + replacement: localhost:9115 # The blackbox exporter's real hostname:port. + + - job_name: 'ec2' + ec2_sd_configs: + - access_key: AIADFGHK6QLLVDF1B6U + secret_key: H5cIdfGzbxG3ql64h65u5nd6rfy5ZbiXZ/JjgA82 + region: ap-south-1 + relabel_configs: + - source_labels: [__meta_ec2_public_ip] + regex: '(.*)' + replacement: '${1}:9100' + target_label: __address__ \ No newline at end of file diff --git a/prometheus (5).txt b/prometheus (5).txt new file mode 100755 index 00000000..258cb6c7 --- /dev/null +++ b/prometheus (5).txt @@ -0,0 +1,94 @@ +# my global config +global: + scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. + evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. + # scrape_timeout is set to the global default (10s). + +# Alertmanager configuration +alerting: + alertmanagers: + - static_configs: + - targets: + - localhost:9093 + +# Load rules once and periodically evaluate them according to the global 'evaluation_interval'. +rule_files: + #- "rules/myrules.yml" + - "rules/linuxrules.yml" + - "rules/windowsrules.yml" + - "rules/webrules.yml" + +# A scrape configuration containing exactly one endpoint to scrape: +# Here it's Prometheus itself. +scrape_configs: + # The job name is added as a label `job=` to any timeseries scraped from this config. + - job_name: 'prometheus' + + # metrics_path defaults to '/metrics' + # scheme defaults to 'http'. + + static_configs: + - targets: ['localhost:9090'] + + - job_name: 'node_exporter' + file_sd_configs: + - files: + - file_sd.yml + relabel_configs: + - source_labels: [team] + regex: l.* + action: drop + + - job_name: 'wmi_exporter' + static_configs: + - targets: ['192.168.87.1:9182'] + + - job_name: 'prom_python_app' + static_configs: + - targets: ['localhost:8001'] + + - job_name: 'pushgateway' + honor_labels: true + static_configs: + - targets: ['localhost:9091'] + + #- job_name: 'prom_go_app' + #static_configs: + #- targets: ['localhost:8000'] + + - job_name: 'blackbox_exporter' + static_configs: + - targets: ['localhost:9115'] + + - job_name: 'mysql_exporter' + static_configs: + - targets: ['localhost:9104'] + + + - job_name: 'prometheus-website' + static_configs: + - targets: + - prometheus.io + metrics_path: /probe + params: + module: + - http_ipv4 + + relabel_configs: + - source_labels: [__address__] + target_label: __param_target + - source_labels: [__param_target] + target_label: instance + - target_label: __address__ + replacement: localhost:9115 # The blackbox exporter's real hostname:port. + + - job_name: 'ec2' + ec2_sd_configs: + - access_key: AIADFGHK6QLLVDF1B6U + secret_key: H5cIdfGzbxG3ql64h65u5nd6rfy5ZbiXZ/JjgA82 + region: ap-south-1 + relabel_configs: + - source_labels: [__meta_ec2_public_ip] + regex: '(.*)' + replacement: '${1}:9100' + target_label: __address__ \ No newline at end of file diff --git a/prometheus.pem b/prometheus.pem new file mode 100755 index 00000000..b28187a1 --- /dev/null +++ b/prometheus.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAjjwBC1ZaJmT1PiS0lWpht9BgCXuIJ/PQOp+KVmgNQ4gaRP4s +w7MpCzCPFaZDSAIJtHm3VE2UvshC4rAO/aS2om2q9EvvTCiABpiucPGDYKjDsvO2 +vt+dN/e6RVpCW8dV4G76PR/PCBLdW1DX0YqjQuWd43mIys5ZKQ4pMaLnxdnDScJD +4uMGY/NgCXd7zJHtJonOQGdPaEhoTNOzaigQlny0Fy2Q8+I+VjfTek+X2g4panXq +5z/umRmVtvx9EZv0rLpYjYzpgvv7bGcH8b2TUf3lD5zQ5Mrllhu8YL5n9XVs/mqa +Ae3j9gTIG0bpbJ57B3bYfoGRZW5TQ6No2H3xdwIDAQABAoIBAQCJqno4RvQqhTz5 +UP2YQMcj6oOJqg823D2HADQdPcjYvDrw3DLnl9j6A536DlrAr3hFPim7Zvu5TIuw +bUeVKH+85vi4S2bqB6kiuVTd7GSEgdQouMsAI98/9H5N8faYbm8oM0HxN4BjCB9H +6w94uP8cGLKhIVjNMrwJiLNGX66FR67dPhS43rO8Ut0E+3TvL17sf9k6ErhpWmay +B7ikiwA6oKNoxInt4IbTnRee6OMza6vxRG6L36M9bNRX+RmVpRsr2sV0DQOs5vtV +NeL6Rb2cDpIn3f/ag+J9UFu5agjboIMg6eJM007776nNWIvplvUqNr3uLSdrQvHt +drZQGdTBAoGBAOrwS4KxaLqNc6tm0PpxGO1Xtc9P7RlyhQABVtJJeQ2/m/QjoGkX +7d73zsuhUB+arxRypv1eFyYjH6dw9+JjAB2Ij24yWbDOuW2cjTVh9914nrz1J0nX +j+aP5b95EL0GIsVscQVexHCLbVV4pEr5DZwhPpk3Qoj9P6ppwQhIiZ9TAoGBAJr8 +M0zWON14Y6SndY0ZVRqv3snqx24fRb97oijZ5Zaf27BRqrgjVIkAcMx04BQkUeEY +i5x2iYylTt6YW+aXwVJgCQJh11XJXVnQTEcNAkfG61HbLUV5w0HqycJcwikWex1Y +hFXQHUu0/DklIMHkt/mH7V/FYJaYYGRm6Ml3UbTNAoGAJbKxKyN0fpq7+MDiv4zu +RwdP8RgOH4s0tC+C0vNfLUmVqLMexj5EuQZidGJKDQgxF8Ld8MHsTP5N0fxaikUA +e7yx5yjFI43IS0JXlj1GHI+CSSe9SigAuypT30l52hrl8W/ZItd2BekZfiGBm1Yj +TO44sTUgxAJ++MVHaCDblGkCgYEAg9yVjQcqZIu8Q2fSpNTryoPdim+9c90Zi5wV +0KnrI2cpE++3z2kH0HRWhC3gRGLOYzRt/BYCW25+FvcMIbn12i8pGyTBgBSN3w9R +BpZz3TvKFN/kuZqqXRf0xvACpdChuMsJ9LTXaAU5HymOoEkHmj9i37vfvOEyCdpg +rqBdHPUCgYA7ttrjBSnxiLG86V3bfLhEp+qIQiqvj5MkQThGgRLEPCnE2m/T9JZa +77DJ8++OK/CqiZh5La9Vud62V1A4XeRqCNFfFfVI2hxXmqWbw/9bDokZoAXh4vwn +tmMrYB62VHMSI4K3TmP4r2RaL/jzEacdp3rvRugMdnEUrfLHwTmKnQ== +-----END RSA PRIVATE KEY----- \ No newline at end of file diff --git a/prometheus.txt b/prometheus.txt new file mode 100755 index 00000000..46a0528b --- /dev/null +++ b/prometheus.txt @@ -0,0 +1,61 @@ +# my global config +global: + scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. + evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. + # scrape_timeout is set to the global default (10s). + +# Alertmanager configuration +alerting: + alertmanagers: + - static_configs: + - targets: + - localhost:9093 + +# Load rules once and periodically evaluate them according to the global 'evaluation_interval'. +rule_files: + #- "rules/myrules.yml" + - "rules/linuxrules.yml" + - "rules/windowsrules.yml" + - "rules/webrules.yml" + +# A scrape configuration containing exactly one endpoint to scrape: +# Here it's Prometheus itself. +scrape_configs: + # The job name is added as a label `job=` to any timeseries scraped from this config. + - job_name: 'prometheus' + + # metrics_path defaults to '/metrics' + # scheme defaults to 'http'. + + static_configs: + - targets: ['localhost:9090'] + + - job_name: 'node_exporter' + static_configs: + - targets: ['localhost:9100'] + + + - job_name: 'wmi_exporter' + static_configs: + - targets: ['192.168.87.1:9182'] + + - job_name: 'prom_python_app' + static_configs: + - targets: ['localhost:8001'] + + #- job_name: 'prom_go_app' + #static_configs: + #- targets: ['localhost:8000'] + + - job_name: 'blackbox_exporter' + static_configs: + - targets: ['localhost:9115'] + + - job_name: 'prometheus-website' + static_configs: + - targets: + - prometheus.io + metrics_path: /probe + params: + module: + - http_ipv4 \ No newline at end of file diff --git a/rule+files.zip b/rule+files.zip new file mode 100755 index 00000000..9191e510 Binary files /dev/null and b/rule+files.zip differ diff --git a/test/c1-versions.tf b/test/c1-versions.tf new file mode 100755 index 00000000..fd596cab --- /dev/null +++ b/test/c1-versions.tf @@ -0,0 +1,22 @@ +# Terraform Settings Block +terraform { + required_version = "~>v1.7.5" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~>5.41" + } + } + backend "s3" { + region = "us-east-1" + bucket = "terraform-tfdata" + key = "dev/terraform.tfstate" + dynamodb_table = "terraform-tfstate-table" + } +} + +# Terraform Provider Block +provider "aws" { + region = var.aws_region + profile = "default" +} \ No newline at end of file diff --git a/test/c2-01-generic-variables.tf b/test/c2-01-generic-variables.tf new file mode 100755 index 00000000..36d99abc --- /dev/null +++ b/test/c2-01-generic-variables.tf @@ -0,0 +1,19 @@ +# Input Variables +# AWS Region +variable "aws_region" { + description = "Region in which AWS Resources to be created" + type = string + default = "us-east-1" +} +# Environment Variable +variable "environment" { + description = "Environment Variable used as a prefix" + type = string + default = "dev" +} +# Business Division +variable "business_divsion" { + description = "Business Division in the large organization this Infrastructure belongs" + type = string + default = "Inboxable" +} diff --git a/test/c2-02-local-values.tf b/test/c2-02-local-values.tf new file mode 100755 index 00000000..cae18d5a --- /dev/null +++ b/test/c2-02-local-values.tf @@ -0,0 +1,12 @@ +# Define Local Values in Terraform +locals { + owners = var.business_divsion + environment = terraform.workspace + name = "${var.business_divsion}-${var.environment}" + #name = "${local.owners}-${local.environment}" + common_tags = { + owners = local.owners + environment = local.environment + } + eks_cluster_name = "${local.name}-${var.cluster_name}" +} \ No newline at end of file diff --git a/test/c3-01-vpc-variables.tf b/test/c3-01-vpc-variables.tf new file mode 100755 index 00000000..c64b602a --- /dev/null +++ b/test/c3-01-vpc-variables.tf @@ -0,0 +1,71 @@ +# VPC Input Variables + +# VPC Name +variable "vpc_name" { + description = "VPC Name" + type = string + default = "myvpc" +} + +# VPC CIDR Block +variable "vpc_cidr_block" { + description = "VPC CIDR Block" + type = string + default = "10.0.0.0/16" +} + +# VPC Availability Zones +variable "vpc_availability_zones" { + description = "VPC Availability Zones" + type = list(string) + default = ["us-east-1a", "us-east-1b", "us-east-1c"] +} + +# VPC Public Subnets +variable "vpc_public_subnets" { + description = "VPC Public Subnets" + type = list(string) + default = ["10.0.101.0/24", "10.0.102.0/24", "10.0.103.0/24"] +} + +# VPC Private Subnets +variable "vpc_private_subnets" { + description = "VPC Private Subnets" + type = list(string) + default = ["10.0.1.0/24", "10.0.2.0/24", "10.0.3.0/24"] +} + +# VPC Database Subnets +variable "vpc_database_subnets" { + description = "VPC Database Subnets" + type = list(string) + default = ["10.0.151.0/24", "10.0.152.0/24", "10.0.153.0/24"] +} + +# VPC Create Database Subnet Group (True / False) +variable "vpc_create_database_subnet_group" { + description = "VPC Create Database Subnet Group" + type = bool + default = true +} + +# VPC Create Database Subnet Route Table (True or False) +variable "vpc_create_database_subnet_route_table" { + description = "VPC Create Database Subnet Route Table" + type = bool + default = true +} + +# VPC Enable NAT Gateway (True or False) +variable "vpc_enable_nat_gateway" { + description = "Enable NAT Gateways for Private Subnets Outbound Communication" + type = bool + default = true +} + +# VPC Single NAT Gateway (True or False) +variable "vpc_single_nat_gateway" { + description = "Enable only single NAT Gateway in one Availability Zone to save costs during our demos" + type = bool + default = true +} diff --git a/test/c3-02-vpc-resource.tf b/test/c3-02-vpc-resource.tf new file mode 100755 index 00000000..cf3dfdba --- /dev/null +++ b/test/c3-02-vpc-resource.tf @@ -0,0 +1,188 @@ +# VPC resource +resource "aws_vpc" "vpc" { + cidr_block = var.vpc_cidr_block + instance_tenancy = "default" + enable_dns_support = true + enable_dns_hostnames = true + + tags = merge( + local.common_tags, + { + Name = "${local.name}-my-eks-vpc" + } + ) +} + +# VPC Public Subnet Resource +resource "aws_subnet" "public_subnet" { + vpc_id = aws_vpc.vpc.id + count = length(var.vpc_public_subnets) + cidr_block = element(var.vpc_public_subnets, count.index) + availability_zone = element(var.vpc_availability_zones, count.index) + map_public_ip_on_launch = true + tags = merge( + local.common_tags, + { + Name = "${local.name}-my-eks-vpc-public-subnet-${count.index + 1}" + } + ) +} + +# VPC Private Subnet Resource +resource "aws_subnet" "private_subnet" { + vpc_id = aws_vpc.vpc.id + count = length(var.vpc_private_subnets) + cidr_block = element(var.vpc_private_subnets, count.index) + availability_zone = element(var.vpc_availability_zones, count.index) + tags = merge( + local.common_tags, + { + Name = "${local.name}-my-eks-vpc-private-subnet-${count.index + 1}" + } + ) +} + +# VPC Database Subnet Resource +resource "aws_subnet" "database_subnet" { + vpc_id = aws_vpc.vpc.id + count = length(var.vpc_database_subnets) + cidr_block = element(var.vpc_database_subnets, count.index) + availability_zone = element(var.vpc_availability_zones, count.index) + tags = merge( + local.common_tags, + { + Name = "${local.name}-my-eks-vpc-db-subnet-${count.index + 1}" + } + ) +} + +# VPC Internet Gateway +resource "aws_internet_gateway" "gw" { + vpc_id = aws_vpc.vpc.id + + tags = merge( + local.common_tags, + { + Name = "${local.name}-igw" + } + ) +} + +# VPC Public Routing Table +resource "aws_route_table" "public_route_table" { + vpc_id = aws_vpc.vpc.id + + route { + cidr_block = "0.0.0.0/0" + gateway_id = aws_internet_gateway.gw.id + } + + tags = merge( + local.common_tags, + { + Name = "${local.name}-public-route-table" + } + ) +} + +# Route table associations for all Public subnets +resource "aws_route_table_association" "public" { + count = length(var.vpc_public_subnets) + subnet_id = element(aws_subnet.public_subnet[*].id, count.index) + route_table_id = aws_route_table.public_route_table.id +} + +# Elastic-IP (eip) for NAT +resource "aws_eip" "nat_eip" { + count = length(var.vpc_public_subnets) + depends_on = [aws_internet_gateway.gw] + tags = merge( + local.common_tags, + { + Name = "${local.name}-my-eks-eip" + } + ) +} + +# VPC NAT Gateway +resource "aws_nat_gateway" "nat" { + allocation_id = aws_eip.nat_eip[count.index].id + count = length(var.vpc_public_subnets) + subnet_id = element(aws_subnet.public_subnet[*].id, count.index) + depends_on = [aws_internet_gateway.gw] + tags = merge( + local.common_tags, + { + Name = "${local.name}-nat-gateway-${count.index + 1}" + } + ) +} + +# VPC Private Routing Table For Private Subnet-1 +resource "aws_route_table" "private_route_table_01" { + vpc_id = aws_vpc.vpc.id + + route { + cidr_block = "0.0.0.0/0" + gateway_id = aws_nat_gateway.nat[0].id + } + + tags = merge( + local.common_tags, + { + Name = "${local.name}-private-route-table-1" + } + ) +} + +# VPC Private Routing Table For Private Subnet-2 +resource "aws_route_table" "private_route_table_02" { + vpc_id = aws_vpc.vpc.id + + route { + cidr_block = "0.0.0.0/0" + gateway_id = aws_nat_gateway.nat[1].id + } + + tags = merge( + local.common_tags, + { + Name = "${local.name}-private-route-table-2" + } + ) +} + +# # VPC Private Routing Table For Private Subnet-3 +# resource "aws_route_table" "private_route_table_03" { +# vpc_id = aws_vpc.vpc.id + +# route { +# cidr_block = "0.0.0.0/0" +# gateway_id = aws_nat_gateway.nat[2].id +# } + +# tags = merge( +# local.common_tags, +# { +# Name = "${local.name}-private-route-table-3" +# } +# ) +# } + +# Resource To Create An Association Between A Route Table And A Subnet-1 +resource "aws_route_table_association" "private_01" { + subnet_id = aws_subnet.private_subnet[0].id + route_table_id = aws_route_table.private_route_table_01.id +} + +# Resource To Create An Association Between A Route Table And A Subnet-2 +resource "aws_route_table_association" "private_02" { + subnet_id = aws_subnet.private_subnet[1].id + route_table_id = aws_route_table.private_route_table_02.id +} + +# # Resource To Create An Association Between A Route Table And A Subnet-3 +# resource "aws_route_table_association" "private_03" { +# subnet_id = aws_subnet.private_subnet[2].id +# route_table_id = aws_route_table.private_route_table_03.id +# } diff --git a/test/c3-03-vpc-outputs.tf b/test/c3-03-vpc-outputs.tf new file mode 100755 index 00000000..9d6dc9f3 --- /dev/null +++ b/test/c3-03-vpc-outputs.tf @@ -0,0 +1,26 @@ +# VPC Output Values + +# VPC ID +output "vpc_id" { + description = "The ID of the VPC" + value = aws_vpc.vpc.id +} + +# VPC Private Subnets +output "private_subnets" { + description = "List of IDs of private subnets" + value = aws_subnet.private_subnet[*].id +} + +# VPC Public Subnets +output "public_subnets" { + description = "List of IDs of public subnets" + value = aws_subnet.public_subnet[*].id +} + +# VPC NAT gateway Public IP +output "nat_public_ips" { + description = "List of public Elastic IPs created for AWS NAT Gateway" + value = aws_eip.nat_eip[*].public_ip +} + diff --git a/test/c4-01-ec2bastion-variables.tf b/test/c4-01-ec2bastion-variables.tf new file mode 100755 index 00000000..f31329df --- /dev/null +++ b/test/c4-01-ec2bastion-variables.tf @@ -0,0 +1,16 @@ +# AWS EC2 Instance Terraform Variables +# EC2 Instance Variables + +# AWS EC2 Instance Type +variable "instance_type" { + description = "EC2 Instance Type" + type = string + default = "t3.micro" +} + +# AWS EC2 Instance Key Pair +variable "instance_keypair" { + description = "AWS EC2 Key pair that need to be associated with EC2 Instance" + type = string + default = "prometheus" +} diff --git a/test/c4-02-ec2bastion-outputs.tf b/test/c4-02-ec2bastion-outputs.tf new file mode 100755 index 00000000..4d4703fb --- /dev/null +++ b/test/c4-02-ec2bastion-outputs.tf @@ -0,0 +1,26 @@ +# AWS EC2 Instance Terraform Outputs +# Public EC2 Instances - Bastion Host + +## ec2_bastion_public_instance_ids +output "ec2_bastion_public_instance_ids" { + description = "List of IDs of instances" + value = aws_instance.ec2_public.id +} + +## ec2_bastion_public_ip +output "ec2_bastion_public_ip" { + description = "Elastic IP associated to the Bastion Host" + value = aws_eip.bastion_eip.public_ip +} + +## ec2_bastion_private_ip +output "ec2_instance_private_instance_ids" { + description = "List of IDs of instances" + value = aws_instance.ec2_private.id +} + +## ec2_bastion_public_ip +output "ec2_inatance_private_ip" { + description = "Elastic IP associated to the Bastion Host" + value = aws_instance.ec2_private.private_ip +} diff --git a/test/c4-03-ec2bastion-securitygroups.tf b/test/c4-03-ec2bastion-securitygroups.tf new file mode 100755 index 00000000..ea76a4d8 --- /dev/null +++ b/test/c4-03-ec2bastion-securitygroups.tf @@ -0,0 +1,25 @@ +# AWS EC2 Security Group Terraform Module +# Security Group for Public Bastion Host +resource "aws_security_group" "public_bastion_sg" { + name = "${local.name}-public-bastion-sg" + description = "Security Group with SSH port open for everybody (IPv4 CIDR), egress ports are all world open" + vpc_id = aws_vpc.vpc.id + + ingress { + description = "SSH for Anyone" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + ipv6_cidr_blocks = ["::/0"] + } + + egress { + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + ipv6_cidr_blocks = ["::/0"] + } + tags = local.common_tags +} \ No newline at end of file diff --git a/test/c4-04-ami-datasource.tf b/test/c4-04-ami-datasource.tf new file mode 100755 index 00000000..e0ceb7d5 --- /dev/null +++ b/test/c4-04-ami-datasource.tf @@ -0,0 +1,21 @@ +# Get latest AMI ID for Amazon Linux2 OS +data "aws_ami" "amzlinux2" { + most_recent = true + owners = ["amazon"] + filter { + name = "name" + values = ["al2023-ami-2023*"] + } + filter { + name = "root-device-type" + values = ["ebs"] + } + filter { + name = "virtualization-type" + values = ["hvm"] + } + filter { + name = "architecture" + values = ["x86_64"] + } +} \ No newline at end of file diff --git a/test/c4-05-ec2bastion-instance.tf b/test/c4-05-ec2bastion-instance.tf new file mode 100755 index 00000000..14e90be3 --- /dev/null +++ b/test/c4-05-ec2bastion-instance.tf @@ -0,0 +1,31 @@ +# AWS EC2 Instance Terraform Module +# Bastion Host - EC2 Instance that will be created in VPC Public Subnet +resource "aws_instance" "ec2_public" { + ami = data.aws_ami.amzlinux2.id + instance_type = var.instance_type + key_name = var.instance_keypair + subnet_id = aws_subnet.public_subnet[0].id + vpc_security_group_ids = [aws_security_group.public_bastion_sg.id] + tags = merge( + local.common_tags, + { + Name = "${local.name}-BastionHost" + } + ) +} + +# AWS EC2 Instance Terraform Module +# Bastion Host - EC2 Instance that will be created in VPC Public Subnet +resource "aws_instance" "ec2_private" { + ami = data.aws_ami.amzlinux2.id + instance_type = var.instance_type + key_name = var.instance_keypair + subnet_id = aws_subnet.private_subnet[0].id + vpc_security_group_ids = [aws_security_group.public_bastion_sg.id] + tags = merge( + local.common_tags, + { + Name = "${local.name}-PrivateHost" + } + ) +} \ No newline at end of file diff --git a/test/c4-06-ec2bastion-elasticip.tf b/test/c4-06-ec2bastion-elasticip.tf new file mode 100755 index 00000000..81d32cd2 --- /dev/null +++ b/test/c4-06-ec2bastion-elasticip.tf @@ -0,0 +1,15 @@ +# Create Elastic IP for Bastion Host +# Resource - depends_on Meta-Argument +resource "aws_eip" "bastion_eip" { + depends_on = [aws_instance.ec2_public, aws_vpc.vpc] + instance = aws_instance.ec2_public.id + #vpc = true + domain = "vpc" + tags = merge( + local.common_tags, + { + Name = "${local.name}-eip" + } + ) +} + diff --git a/test/c4-07-ec2bastion-provisioners.tf b/test/c4-07-ec2bastion-provisioners.tf new file mode 100755 index 00000000..c3925178 --- /dev/null +++ b/test/c4-07-ec2bastion-provisioners.tf @@ -0,0 +1,30 @@ +# Create a Null Resource and Provisioners +resource "null_resource" "copy_ec2_keys" { + depends_on = [aws_instance.ec2_public] + # Connection Block for Provisioners to connect to EC2 Instance + connection { + type = "ssh" + host = aws_eip.bastion_eip.public_ip + user = "ec2-user" + password = "" + private_key = file("private-key/prometheus.pem") + } + + ## File Provisioner: Copies the terraform-key.pem file to /tmp/terraform-key.pem + provisioner "file" { + source = "private-key/prometheus.pem" + destination = "/tmp/prometheus.pem" + } + ## Remote Exec Provisioner: Using remote-exec provisioner fix the private key permissions on Bastion Host + provisioner "remote-exec" { + inline = [ + "sudo chmod 400 /tmp/prometheus.pem" + ] + } + ## Local Exec Provisioner: local-exec provisioner (Creation-Time Provisioner - Triggered during Create Resource) + provisioner "local-exec" { + command = "echo VPC created on `date` and VPC ID: ${aws_vpc.vpc.id} >> creation-time-vpc-id.txt" + working_dir = "local-exec-output-files/" + #on_failure = continue + } +} \ No newline at end of file diff --git a/test/c5-01-eks-variables.tf b/test/c5-01-eks-variables.tf new file mode 100755 index 00000000..5f91ac8e --- /dev/null +++ b/test/c5-01-eks-variables.tf @@ -0,0 +1,6 @@ +# EKS Cluster Input Variables +variable "cluster_name" { + description = "Name of the EKS cluster. Also used as a prefix in names of related resources." + type = string + default = "eksdemo" +} diff --git a/test/ec2bastion.auto.tfvars b/test/ec2bastion.auto.tfvars new file mode 100755 index 00000000..5016f3cf --- /dev/null +++ b/test/ec2bastion.auto.tfvars @@ -0,0 +1,2 @@ +instance_type = "t3.micro" +instance_keypair = "prometheus" \ No newline at end of file diff --git a/test/eks.auto.tfvars b/test/eks.auto.tfvars new file mode 100755 index 00000000..d8f08098 --- /dev/null +++ b/test/eks.auto.tfvars @@ -0,0 +1 @@ +cluster_name = "eksdemo1" diff --git a/test/local-exec-output-files/creation-time-vpc-id.txt b/test/local-exec-output-files/creation-time-vpc-id.txt new file mode 100755 index 00000000..60fec0f0 --- /dev/null +++ b/test/local-exec-output-files/creation-time-vpc-id.txt @@ -0,0 +1,4 @@ +VPC created on Mon 8 Jan 2024 12:33:55 IST and VPC ID: vpc-0925f015a3c73bee7 +VPC created on Mon 8 Jan 2024 13:30:26 IST and VPC ID: vpc-08fac832004c2d034 +VPC created on Fri Mar 15 12:37:45 IST 2024 and VPC ID: vpc-09fe3850bb772a8f8 +VPC created on Tue Mar 19 17:17:36 IST 2024 and VPC ID: vpc-0b18fadbcece9d153 diff --git a/test/private-key/prometheus.pem b/test/private-key/prometheus.pem new file mode 100755 index 00000000..b28187a1 --- /dev/null +++ b/test/private-key/prometheus.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAjjwBC1ZaJmT1PiS0lWpht9BgCXuIJ/PQOp+KVmgNQ4gaRP4s +w7MpCzCPFaZDSAIJtHm3VE2UvshC4rAO/aS2om2q9EvvTCiABpiucPGDYKjDsvO2 +vt+dN/e6RVpCW8dV4G76PR/PCBLdW1DX0YqjQuWd43mIys5ZKQ4pMaLnxdnDScJD +4uMGY/NgCXd7zJHtJonOQGdPaEhoTNOzaigQlny0Fy2Q8+I+VjfTek+X2g4panXq +5z/umRmVtvx9EZv0rLpYjYzpgvv7bGcH8b2TUf3lD5zQ5Mrllhu8YL5n9XVs/mqa +Ae3j9gTIG0bpbJ57B3bYfoGRZW5TQ6No2H3xdwIDAQABAoIBAQCJqno4RvQqhTz5 +UP2YQMcj6oOJqg823D2HADQdPcjYvDrw3DLnl9j6A536DlrAr3hFPim7Zvu5TIuw +bUeVKH+85vi4S2bqB6kiuVTd7GSEgdQouMsAI98/9H5N8faYbm8oM0HxN4BjCB9H +6w94uP8cGLKhIVjNMrwJiLNGX66FR67dPhS43rO8Ut0E+3TvL17sf9k6ErhpWmay +B7ikiwA6oKNoxInt4IbTnRee6OMza6vxRG6L36M9bNRX+RmVpRsr2sV0DQOs5vtV +NeL6Rb2cDpIn3f/ag+J9UFu5agjboIMg6eJM007776nNWIvplvUqNr3uLSdrQvHt +drZQGdTBAoGBAOrwS4KxaLqNc6tm0PpxGO1Xtc9P7RlyhQABVtJJeQ2/m/QjoGkX +7d73zsuhUB+arxRypv1eFyYjH6dw9+JjAB2Ij24yWbDOuW2cjTVh9914nrz1J0nX +j+aP5b95EL0GIsVscQVexHCLbVV4pEr5DZwhPpk3Qoj9P6ppwQhIiZ9TAoGBAJr8 +M0zWON14Y6SndY0ZVRqv3snqx24fRb97oijZ5Zaf27BRqrgjVIkAcMx04BQkUeEY +i5x2iYylTt6YW+aXwVJgCQJh11XJXVnQTEcNAkfG61HbLUV5w0HqycJcwikWex1Y +hFXQHUu0/DklIMHkt/mH7V/FYJaYYGRm6Ml3UbTNAoGAJbKxKyN0fpq7+MDiv4zu +RwdP8RgOH4s0tC+C0vNfLUmVqLMexj5EuQZidGJKDQgxF8Ld8MHsTP5N0fxaikUA +e7yx5yjFI43IS0JXlj1GHI+CSSe9SigAuypT30l52hrl8W/ZItd2BekZfiGBm1Yj +TO44sTUgxAJ++MVHaCDblGkCgYEAg9yVjQcqZIu8Q2fSpNTryoPdim+9c90Zi5wV +0KnrI2cpE++3z2kH0HRWhC3gRGLOYzRt/BYCW25+FvcMIbn12i8pGyTBgBSN3w9R +BpZz3TvKFN/kuZqqXRf0xvACpdChuMsJ9LTXaAU5HymOoEkHmj9i37vfvOEyCdpg +rqBdHPUCgYA7ttrjBSnxiLG86V3bfLhEp+qIQiqvj5MkQThGgRLEPCnE2m/T9JZa +77DJ8++OK/CqiZh5La9Vud62V1A4XeRqCNFfFfVI2hxXmqWbw/9bDokZoAXh4vwn +tmMrYB62VHMSI4K3TmP4r2RaL/jzEacdp3rvRugMdnEUrfLHwTmKnQ== +-----END RSA PRIVATE KEY----- \ No newline at end of file diff --git a/test/terraform.tfvars b/test/terraform.tfvars new file mode 100755 index 00000000..1c9c9f23 --- /dev/null +++ b/test/terraform.tfvars @@ -0,0 +1,3 @@ +# Generic Variables +aws_region = "us-east-1" +business_divsion = "Inboxable" diff --git a/test/vpc.auto.tfvars b/test/vpc.auto.tfvars new file mode 100755 index 00000000..3c01717d --- /dev/null +++ b/test/vpc.auto.tfvars @@ -0,0 +1,11 @@ +# VPC Variables +vpc_name = "my-eks-vpc" +vpc_cidr_block = "192.168.0.0/16" +vpc_availability_zones = ["us-east-1a", "us-east-1b"] +vpc_public_subnets = ["192.168.101.0/24", "192.168.102.0/24"] +vpc_private_subnets = ["192.168.1.0/24", "192.168.2.0/24"] +vpc_database_subnets = ["192.168.151.0/24", "192.168.152.0/24"] +vpc_create_database_subnet_group = true +vpc_create_database_subnet_route_table = true +vpc_enable_nat_gateway = true +vpc_single_nat_gateway = true \ No newline at end of file

q^~X+%wU=F&VYr(po&T;EfSok;nzNfE*n?j=@r|}r+(vsT(!CUJnK4Da +m!h&2dx*S5Ssky6>ECS`2CcT5v@yl+x68Su48q*sNl-*ZJr2Jr(Q=RarokR +<3D>*v3uWkbQ@EAIpp$f-?WS<+0nlr;r0gLnvgm40M-@$)>=9S7r>o`TXVrk`YE_85`0GbI2(mEW)8B +`fB`*v2XpVBHBY&T%@bYM%e$3TQWk1D!EtxNKol&@lC{F#WI`?`voeqlZrr4u%YLigxGwTns{k~Fwa8 +F}?x<`K%!7@wB%|5F2+S@0>U>`m#l#9DZ1%qf$kAmoC55b-u2Yb{dT+hQjJy}Fy9OV0E$|72p*&cOTr +0L!<)HZ$(h2A+mfMhSrtHB=pa1Va82Yc9EyJF2 +!JBMny}2t36N^^XU7veAuDtZ9y5Q&~O(pFP&?JKCjY+wwZe{7Rh38*ASKG&4RG8b5+Bpcb=Z|;ssyW) +zo%Np8t2$rVLy|{oD{{A+DBiQ8SDyVIiYmYFAK()!S(p1LiakqV;_We3N%{bDlce?R-AC1IGXHK*f8U +z1XR*+!DSHgoCibFatBVb?edhBaJ+Q5C#?=d{oss8_E3s`leX690<#6O@r|DSEYs}6d>? +`2+m`u_Eac^v^kDRV(lSEOS$2Jp_qm1hI2ZyylgQUe;QYB!-1Omy~~rqX~{20&DsEY;D#mgYnAvkm=u +v9B|6G+O`tR{!1N;%Ku`{VbEHsA5bS@Ie7SSAdqP4)N92t>w7^eyV`XcT26!lTEB)OdCXtMX4-enkaW +chlCC2WeaL3!(bVnZNN12wH8oV|wry_2UA6w+d7TJ_mvQiXTSoOdDp=c%6$fy1(q_d +3gH>)gMXms`WNA-7$%e){`9WOF3$t%bCTL3Q&(4sc2wE)rHmFi9yEA7mpJ55yoep~+*G`gNROqR;78a +iFoMGZ5w_to<+c};Zxq5c7EzR~aTwCGRGFW`%4ZLpWs-wm#AyPhx_U;jR-f44NzI?^7JQi0IZH;ya92 +B?%EJgI;UwSJ!?%vPbkyrl{2-*4*Qg2u?O{wX9_gKnds7EJx~hw7)H$gdimrHb;amo?0)Ex!^(0-KcU +)Gxf7T0-jA`{q}J*Ru~}q<_iL*;F2LVl&f#UHmjCp>hqZqj3$~u2$Ap>4R5P%2xk4DSouE_l*6?#(rV +!&jzbsBg$?73DK_>B6_AKZPh9D?~eq#Z(u(Gwh6t$Ps` +du)jwZWKLtflX274S9|l`n9Bqmc{dibjlhx2OKrQ-(s-|oVQww|5!WvrL`!e=2HlZ!dwxKONyxXXWC2 +7xEn4wi3U7+8XNrReB|9)HlZfW#Ub-GwoC#%iR_w`Rh5d`5)R5<}PNpNa@8=9!_SA|-!@|r~dysUn<6 +lJ#1YqDCsD)Z3%{#5;LY3}nPT*u0UlzRX8Z40?*Aq`#S5?8MWRIOD%zpsB9ifkFy+Ft+pqr}_;V>Cqj +2bjhBmz>2nQFuE~t2*_c-=%kqsVi%dm-Vj(f9J21Q>Wkf(K~{)Qn0(1HSALhYiREswD((Rzoe-Sp>4c +sT=cJ#B>13y>2svoWY_0m(#?5X9p6QI{K~94$^zi?$BW0N@T=OrbU8`Yf!Md6UzF9&?%vbp2u=I14e) +u7J+T`7>$B&geCB6qY?p6<4=CR(*;KfKJfLK^*@w27uXGA5m#iQUC|SGMqG%0zNZHy6+pkr}}Zl=k4!K0R@vqzHQHHpPC{@D6X=4E|kd*g +?^gk&wFvI4AHZ1d)K-OoqWxwBl+5YMoaQ3*`)>MY@Tvd`4+O^)XS!<#St>vrY2knn)kKg`S(Su|~(~Ot6N|I*5Q(x +&v_3w+SXHTC!s}#j=-r;ogLXGr4_ueQG)^EHu!=dlaH&^FXb)j+y9<6E`8nLIf%vXa}`m3S&Yh?a9G= +GiFUz5j=R3~(%&@Kh24MDrxtB+#Zt=LVKuwCu6;Nm0yp^8zqt(nDWZvN7t-L|SK5@{S&9mH$*&pOy-+ +BaDqb=0@@2Lua+e&?aqKwrPx;O^a%%A`Jd-h0x9w4Ue^*^VMr^-rq3?vv-uk7`HU{<>Rl+CS?keEX{j +wc=+TRK@S6o{H&ts#X}!xtc0#M*KXE)J|4AINFm_BGFdEPnESdhOiDB%0d-M02)0CR<-%s+kn6;gUSn +M60a=MP3+x2eqQhQ)uKrD_a+L$uPf2!D2XD0ex9{j>GS)<2XT9tC#hAh5~5L~xXhx!B3hSm5pAla^l= +d7+PIM@TK$$~>f2%X8*Uw?*CTh%bB-SR^Clmz3Qt^wO;hj3ssT6NnWQl`d;%A +v4^%_JaRSEt{%su$>H;!KIiM-9rt_czr+5?%U?|N@fKK`{Tci125Vs*KZF4rGSRrw1=_pbNp?a9 +SO@8az8^6X>pRqu!M%Qw9@@8AEmX>vF;O&&H)p7naC?>~RHtI6ZxsBg-R>vF?MPgVT!{O9-YE>A9cXB +QXeA3mLbYTJRBCJnt3*XhaY*JmGFlCdE$ArF +3x`JoxFT`_U^K2=Mbz<>vl$pl@F@K+w%+6lo__sm;`%L3wF|P1^e>k!@2Hg)7qz6v@cISzJJ#?G&K!< +*EBT6aGt%oJoxbb{GF=nb?>BtIV3$A9fOCLH4o!qhllgmCzqc;p7q|JbrtS(o5GEb2dMk3uKVb8OaFe +h`zP9XwXF@Nn)Y|7{-l-FbkOLb8d@!+R$xvw92}Wq?Tk?({&@cS&F*qTqXW}XQ|@KcT%&OAVgpmGoh_ +$rb34nSckOIZ?0)xIsava+1618ikb&at?48p5Pj6ZpGg+t23>hdk&fbFNXatp=Hgn@t^{lo6m**F!wS +pWU9;2>$77R2?mmg0~&nnJ&8jMh9I}HX-`{I}cV@SH41h8q9 +|AFCjE*KfQ}$I;_IS(u`Kc~_dVX^D@l4xA<*%v@^jWjGST1&4%(R2OtpD-WoBH2Pnpc15l($*sb%!Y5 +c)BNNaa84G|8nO~TF<@$&N|SyA2jH{)9;xCcz*TJa8+y|p|cKno~eCJ4KDkGzS&Kk_)+FJ)Dk%BLhsu +O4hMY$U1T-%v)Y^wf^pw$%1)M~)z&GfVpn(p(vDp!xq{}n`HCRbE3&G +{+*q}C>`2JOyR4EN@mHi1A&^z0P+pz%7I?&t~vN)XjK;_ZWR6iVpvm%OvR!AcWopr!voqMlfhYXw9!0 +*&vF^|1`Wm+6efXi--=)xlc--bq}qdw?)*o|1e3#*3`O#P!VFjaxnCPENGOCYJF!b5o+s<+ +|;00rH6qT(eKPK$fnEnCcHKbADW%@%Qw`+p%KW-_aA<$Hg%_Vji|R8S +MWp^V>>iFmrZ&0vBtsKOca68j-$;lLLD|@X+BUW*5vj#ixh%dHpO70d +KXedaN-EnsbrR_LaKg567z7T&*Ty0E-wy00Rzh8YPbBLUPQcJ7CY_em7>3i%k}?OXwN~CS!N~mdiG#E +_(_b9Gs@?}m_kHVJTSz*0t2O2}Imxp0)^r1!UsGI!i^8JlcPT#V>=KLYuuFCshAw5S@ygnC8arAXyQ# +Vj9xc2ssf%nX$y}@t9VEp2&=%w8ja9+G#ybQ(mNegoS*4H4Pr^VFja_~^>fos8bkIfHTrNcI!rK{<-B +LIs@$ahxa?=PaWKE@{WYdH;jU*V%12+NpW;|hCklGord4MJ0 +^9o9*_E-%SpUx6y*AK8qvmIqZ|Yf%8L2?C4vhD4Qwg1Qz;a<2pfTFVN#LvtC3n{h?iqV`*e#sdi-nn5 +XS}_$ptBCRK6=6`1&r9>4TgYkiu+Icy5J{eWHU3$eJ>VT;=Q5pobMleh +^P!RN8_y5TvN6OK{Eb&v^S=y0j5DU$8`>~qyZ0}z9!H(F+1psH!7yU`Y_#(o#a*Ubth9?J +ACl|k=Ss~t(>&ku7|HAf#jFw}3Xcp9SUWx`rfzJP80-~xV?6uF|^ZYc^_M8{cKtg97Fs+lJ0M5ElV$Q +4@=RCV$twQEILL# +*)rIug;k;Z}qD12?NVfCz5iyiev^Yw1I!{S +8JRNFIae~9R1OJi>jM{WYKJDf7jt2jmZ5j>tPF_GzEhrr?y>zWlW8G0iNV{JYUEwsHk7Q9_%QFW8Z)I +J}&(A;sDC8m%o?_4lZM?Gvl29m@vOnpgVhYJ=iv=}0xFLrUiixh>0AiOP+FO91{kL7KNd1>}<;2|Zj#!kIx;?pWX0#=F9IM@-}*m@q+y +J&Gu{`0hYbEKw7=2w(;}%M2!}&SQ3%%&8!7*$MC{d=88fPF@FdXr*+avC3c2cEa@REsiy&ICyx=OM{s +!Z`DFluEkEEk8s=DFjfXzY=w;s-dg$uzo|M`6US%RV!rJN)y%B7VsDKSB^Fu3_B*kdo1VXut2GAfom@ +!~op>i#QXKfaV{w@Y_AXp{`YN4EY}oO%RF|vBzj^>svX4ebI(F0LMHsj@zO>J*$!r5dn)5Ea#oo@`o_ +J@Ev{Aoz>36EJE5i{i{JS)%P-?j+rtdr=piL%raPM$n;)Omz9cPw9M$6N@NkF(AVfYD=bs~*ZMoL@Ww +^4QgPpd0ZMKqNaK072_XT%m=q-5Y|(4}z2L^^D2)sbzKGDngU}s3@Km9?e3iQ~Q +lEBW`j!_g9Udpiud!jIvN4nTCKHIG?+;M7r+`8E>Pl%U^XP0(7bu|=u_)}P9Gj-Af%xZ72xv#J|9$Tq +sal<(4IP*Pe|j+oHmZK%zAFzissDvm{4rSIzueP9O;tQ_vSgXMOX8PQ|h4dk&`(7~xcGu +HI8Pm7(N{8N2#En8zN1XgINcZ@VjCkbwsBf#u7SnfGJ$-Asg+z362I6hRr%aWwuGH`#3(TFd4b +Pqo9MM*wF}43yuBY>C~Q8m?OWG&elHYr&1~HXNXL$53GM?R6p2iW>otF=OdbKeITIGRlQ51G{n2PnR) +sp8ntN&H_GhMAr1Hy{us67Oc(;yiA)>jiM=wpV=ERa3iMz{V$jD(Twe{|R|^7{B4#e1jNIDb5Q-E5OW0?j%wxy!|b| +0qJwbAUO8u+QKk1{+3GKg!KAqHZ7MW_e5{=zIVTKyP8nws~c9o4}R%U=w}bILM~hK7Hh~HL$Qsp#^5b +)zKPflzb{_WJG7!MT$82xQp*bj*x>`QFQ|4l7lUg@*|7L6)GPG9U?ncKHNeff~m4sR +Ddt&2l{;j$@;qH+WFa35Wi52jc9dt&#aU9*yIN0?q5<6%eI`Kl(QZ?++>N~KaxD<%DB_HymFk(;={aU +wmC_KgH^`k3Pju8?eP6AVi6VtDZ!_zSK?s1i5x-eb;^hVybm;%9IW2rv9e|5-TM{$AbQ?#V?B%D%JDOdG12 +&}%4e8<^^h_5rc13+Mzy)}>sXC48`!M&Asq2&yp4s4pv_SsEfRWp=SpA*3+G`QmqKxYct!{NkKF>Ro* +SyoSNgtcL%%B;=!(cDJaJ8>KDasdOI$liSues#I>TnqjuEZswdmOt^O4Tjo#cN=9%;E3=-aHh`7H}5~ +bYc?UF0M0s4eUa8o6{Oi+3NwVRU5aUM2IJCeMz#P18*Lo;URvgd5W@T*5-yA$pthMYLb+^TNr0PuNI1 +@xIR?CQsxe;Z|Kc3RaaLh0w$u=0&bopoBY|{8OvZx13YUQ6j!nV{W%^|caZLlb&XipMB@X0pw)>f5Af +ANIx?oQGSTHzM>j)eTBfQUZk+~BRoHIiwMyj7F%rY0iSrwra=1 +xHc(V_C+L`AtG)2w>4ciWtCHpq)X003;$=Z6x60MDrM;7inlXZ~xp;It#&EJVT!d0+$1G1Pa>E2SWyP4nFaU+t*sz&~baFWA*zilK>~ +sa>TQIhRtl?_osZF8o`L~=NM%VyY=rm+GP6leIP2C3OH76WJ`TdBZ=EF--j8s+8+=(d@~E&i87CDtT{ +9OKQ`u5s2?w*4a*Ut2`!Cfwfls39eNuJ@x5(;Ae7G3Gc)}A&PYQxH&Vu?p&x`#kHfMb^jq8zvSIuOn= +#bXVa%xD4;{wL*#BtPXLRL9s6Vm>f9y13EaZ=!M$B0L#E&%Kp5afN%Z&S;KZ(V{H2o8=eu0F}I$$Z*3 +E)(<>FQ6m5X}7g$?h+X0)FcB*9_iIW~%DOjZ*&1jvVH}&vM&{bMT*~iw1|7uld5?`kB+F;DY}gW@+^X +_qGI&pM@(1w)j3g`oMd6oC*Eh5r(mg9*r9g)jS?I0$VSF7!@*Zf-(_!@83ToXmuDz1#k-&Ib9H^;<@`3U!6k=Cc=NlC9?OUh?P=SS70u@@Q6;KO8ag0U6ZxBzIhZY8mP +nm@r$~VM*QX|@n=ROVn@(XQfMmQhxbLv95|Y7;>tuo0|Y +Vbb6yfNZk#&dG*G@QX009B=+0@bA%^KLqWVW0;yoy8i=!`?XUb8qSPh?C8uEi5(uF*%H{evdHT9;K~y +4)_&s!b=(r%LmX!=GWraEbG1uTbzzQUccf9F<-#NPS7SHwJaNo8y8AjD1r~-xRZsp_D-?qnTNcwBH33DG{Ln1uk +4<{aaCYiyQrGtHVm=PMzmsXFQ;ZM&!eSJHUWoJ8Ua6YI1WV-3L;`RuMlZKT8SHs8ndBozJ~==qhxABp +LxiysVxsz!ZeD)yA#rsXjwEzPkNhdIzajd3e-KGb3aPS?IEFVoEt!exZSdCnO}Ld&7R_xnGOJ5#rhdL +T70o#tXK=2X4sh-p +~^^cJaH*faGf6|i{OMn7jm(dL-!obEuOGii(n0J;irx&IpcsN7DKLU +Qp@EGt3!!y8%&$~AO_Ze(5aK;m^=FMlorwk7OXLjC{fHV7_sapZVsaqbysarn7sawp?_W%zVjP6djn( +x8Rgr)O6*qN|+zFz@8XE@lzX@G_kn+t-^;n_@m=070$j2TYy;RXUU%o=(Zpy57u82tB{d_}{~&8}$JS +v&C(*LWzZ$FPrB9oF)#Hx|W4JoFY4M%eqI$NZKgCLV{9#KioTBqjlemnw42ICk)Ae^rqXfSp+o`BOfW+C9$4uo$#DtQD1+C>6|g7QutdCCeg&)B +Is +{@>FW@;|;=wZKi}x@gJum~8g?VA9<+~4oslRQerjmfoT);339ItHpmKTnAioc>w35~A)=zy6TNQAB6` +U`_j9CjEqg4oE9k?p6TW@=2~$Mbkl-h>9z%oua!ejHZkQS3wx=AMH>xR8VST#~e_A!TJYh)>47go$WS +?Y6#JXY2}j6EmDz90lTJ0udU84c#4GBw{<>C)6784-dN~g~<8L8J@Ktmvf`v6L={Vyo?GL%DhPWtpE| +ThZ1q^#I!GiJQtw4#s5h#7&dI!Gu#;HlI4wN$ +X(C&YcDb5n-RT)>CNrQ2R<55DM)3N{m9a>UxosS-d +Zd&kudAN5u9i|0jwAx90q_ldefuQ5-ejTg6lR6ZOW!S0g%#llSU|ZR3p?+>q>vnXE4G +NNc{}#7|{Y4$`Yd2dIQV#LIDnMno-2z5k0#b*xelvhPs7^Dg!lHa;zyHUUv(^COnU5rvlBoFn$3U(W= +1qyTHmK%Ar+LWIhJAH-#cA55|n%sL^m&K7J5+*xumAK(O^a;|3!a=?P0351U@=V7 +wIYGH%yN`NqMHqdGXi4ye`-K8uq9w2OM+<`rPbuq_ETs5k0+cf36p^Wf&br{7UkyN_U1+^RJO=`Mk0I +j6A?1R20yyhJ#b*#Owju9X@v%fv22L`zo*vo~S5^^k|vo07h1tk0^C~q~8l# +O@%J-k8`>c@M+44JM7W`qb@4X`N>V`_9vP|+wVkuNZ#8ofvwdEv;bf^!nSg}QMf^37mm)_xpuRft0%L +v+hTs1g{ZNZ^?D30#%po=(rosSvJC*l%wW8g3%;kAe<5U1B$ +r^+=)Q1Psyg6qp4%OZ2>WQ~mZ^$$`Wov>dc{zR~lVj(bB_Hmei&8%w}wITN!Mf@gy`CBci +Y|A41ltkQkJ-J)W@5i_M|F555q1e$eVNW_>kY}N&4$O1q#|$X`2cLG4dH!HntJBcV_a$`Z1dmb6SRf`qOa)TwENAFVEmR9Gjjk5iMLuTv~7 +08+*GH$1J#tyySoZS`|;$o4H5vBt%V?^syscds>nSW7_L$m#mt_4l7XzRPKf%CgveXyA;cchnKKwL<- +E%!q8wH5{kPfqkS4lyx~gf(zcesAkK{}gXPlo+W%5*&*4hqk&dOou*OFrZFa63)IX=?zbs +16DLjGr^>H*4(?fhp4#ugEOLb~qsV_ycWZ;T0|m;R1Td6;?i`JvtM{vFmnBh;0mH;dSi(lthISNH%{( +7Q4R>p)gy9;3mupOC_wCcq7zQB3B{;Y&3i2MHz2VJRsslXT@H5>nKKi1!v1EFXM>oAyvbH;X?+CE2zh +ep?iR6nl6@6oOdO^Okp%&6)GQv!jBe0ge(cCd@u+DH>y`*=F^S_@t&1!<51UC9*T&QK;23d8cIdP2Hi +~81p-?`yvV*v)2r@N%2)_A-tmeC5-3+4t3hSuZ9a6M;{srq#MfPUpsdey7=>Tmixd}J%3j@XR!HNeDbz)0_q>KYIpjm)-5Ko__~h3OdC`eZaC;^>Yqp|cLyL +<#BR8vPNN|-^KS)Aa41skU7EONm2My!(;jg41F|1qxAN}UCNwI +_37(L(b{a3)YLr!cw>&;`gB}P#|`*^K>b)6)S9SCL_x;;PT{adNy=U&G0LMbC#cUa2YG}DmlS@ +ZyLeSxZfmL7%T{K;=OH+$P@Ej#;dnMm+1moc@)Icwz-^m?=J^vTu%pqohO2eFS%wx8I_rQtW(mWQyN6 +YQv1HLn89kc!duPav0{`9_7H}m$6$6L$ciCSf<}2~>7ie__rzoYd7gyG&Opbt{j-wvC2TJQ@Kw3fzL!D{2AH#(G}BV0yAUkUNriE|k +#+oNlrm;l-19ZXRa&PXVim|3m@$@J@d*JD(I<#vze#BW?`(moQten=H|rVx<-kE8B#sq2L#6C&vznagG5Hw|4B1n$O)( +j=~%hoMVSbHHz)n;lRQmc7u1*6pFiMnE-|4*ddq7?KsVtks=;5VN7^U=ZHd>8plXp)fAG89f>MMKn6- +|rDQ=j7hAsW72Dng4CvC;^pfJ1khPArxMqxkm#&$j;V{~`*AuViG2JGFehJS7EYgQRP={CuY4%mwP{` +4se5hD-V2S{69CLOHzN8e(uR-BpFJ7l5f_$U7h4B1U=t6Rk3`#Fzxl;y9EhH2LM2`r1y#;*jY*xf_G4 +!eMbbNwyd$&9#=E7+@7I1Q!FizHo(7;O +-gZMZ6oLRqlC7lqM&odyQV$1SX`3Nre!15cYCN{uRT086$5UMK^hbB~n%rCMlHJF~SIAl1I4v}gZmsu +d)OOH@8^AK%!4>yi2S3w+ZSjaUe8xFDg)N#iOdWSb`5Q`K*P8}H%7!RN$4PJvoJbEE8v@@F!l#FKwAz +WabhSf-EH4i0{Tw@$z>Kkz|2xD9!Tl@SiWDnlQns*|`?yhC_KAH}_yv)MDdKJk`^0n>dU^rF~0zyjFh +fV4MK@_$E&bm-~ZD~Z%&XYC@#&Zt=A%#$ruc`P*LT6nt=Sd?#QNi)t5$=0e2zqtwSRzUYA3}+Jy1X<8 +7+2isBx;>(++RLirvar`4oQtV%On(HV}YW_f`#nT1zWPMRBalDp~n?H&5rY9lf8x)|8<9K9)opk*65Amf~%B|U=gOk+Xa(JDBw8Q=wh%*$9ZKk&o_<5?= +x)H1@8JfU}9gEx6tC!-H5>A+n_`*zYRJ8LfiyB5^#AH)aHP1_hC5MyhHP)c?Z7~?15lH5orcXA)h5pa +RQ|g6d@G_+^_8>p-hCex@P6>qI01>X9ovVLT1p~^~ucDLy2&GNi(t6HDjw2k@#jcM7d%}22MCFOoFd> +Rnrmu7kiyT#>{yZ!TM#sJfkhq(SxJ%TL568Xn>P>lw-RhAkVTS2bhPFZ6qW^HfrQk7st~~o5Q~! +%GXLV_!;+T_@>5;BGDD2y4B_>_#1SU-1k#nA5fa6ES)0y`A>PNeHgqlw(7VP3?AlbW}Up(o +&w6ha$`aPClh$9;h=wtgI91?EL73FE`xsetq8uO$YJmWRL&f*WsJ&GZ~5LMb%{wRzJPNp7K +U00C5BpozVj^-c$FIL#W5wYN*vNZy+!bgctkAWYz#FYEE#RmSiBU0aiweXNKaKzza;Ho1f4M1E3ddWE +@}(ut&VQFOjrddmI$`sEsY9}=UGQ1yE>7(Hnr!K>o|hy7V|~INg^0ZdS3vMcm)*#WCR3ge+M<``227O +a{U>fEpxNN?b02w1P>TYe$=6WUpo=o7}%oE`87WkL7%g&FyzFA)KU5%&ha6G;r9Br4G_&73;3=N+%|a +XY^N+)cvrK&d-U~pa;|rbGrc8&NU8=?AMNEt2n+#m4d3;h+Xl~lw9AS<+RYZ6%#D)t@+>aKCj9a&gZW +^Es&+i~$ZHhiiGNzGoKHdWv=szg2PQCWnh97>n13cfh|5?5ycw?$oVbf6=0L(5RwfSM6cx4b%)T3=os +00EcZgQ4KZc89o~oa#&WIOafHDhI2V$h%588<)PAoYGkpvei=gX=@Cu__Q?+F;eT()+Bmb_NRDjC$* +m21j61dAc7$d5fR}{Hz7T`goM;oKHG@_Aa?^ADBnAR*l^6|;c!wx5uP951hRr7Ras&d&925{*vtW3*R +Z*O&APy7$yw2mU`AOSV**>>SAYOB`n&>q&bN!GBlKPH#j%9Wx?o&J8{#Q~lpTPvgw7mbJ~%_PsYZBo5 +{$l@oZ5we%{ssvnxrE{)`U+wCaBj8!-Qco7f|}sTn8;b9!$5rM(q?<9%bBRxr-*H%$@KM}@!Iaus^ +R?Sh@yOYkx!U3RGvbPXnC3@%lRB8|QISB8jBPrz-^C^~)$87@i;850;ck{rCyXg>kxT|hX0z^AqgOZ)M*y20lTW3}Bxp?JNC0OYD5ZXR0Af=#CsGRYVM +9*5%v{Eao7n7MDhKyprW;7TwDlfAIP&E80otg#=E>b6Ao1n^!Y&^1IHl0`ughEfZz{lT|iO)MhgSfV> +t7-h&eG%-sGnb4+uI0dD{lD(8Yo_>h=@nt7zimm+od%2*Q<}=PnJfP;K>QfU0+=QW{Fos#3CiUCi8L-Td4Iw%k%>zY#i+Ze2p2-_a& +$zb29?oZALdE7|I*kA%iiYr$=K((3J@Zr<)PTv9W`&4Ckv9AtU%Ig~tfKO5rntu2LKduEbS}L&oq`3c +(f!g#njJMqCvUED8M53Z94)Zj_OCDbR?#O97^Em*T$!tS0`IV0@RtXSlda5lRg1Qs7cRCJ(}qS)5s4y +FVfX-=&}eO{f;U^BpX-DDG0A+8~x!BT%utWf2H?=0tEtBg7jbMPWeZLxIJ$);VM3wN_Dxh8#_YKE6TY +5x9AQ6o-hJd4ZH*R`NQ^TgmHS(Oykp{X|AOf*6^|NQa}HSsCf*s>u&i>l;;*(#<}A9j7V7E>hk=83_W +{6%>EqBB4Y(>W3z9T|znRP;_sQ_=3iH5oIb!92ZQ;m}m;u4HIex57g1Eh)my4?L4&wG0FUXbSxIR#b_ +m_6k;fdm8d_E2$`r4WFnrDhw94Q_<-P?8&C8iHy&m{=9NzfZh1i?LW#U`YQxGa$BNN5@{A!A^uvv$Y- +696LZ4;&H#Eaa!p69E+%oi=O%|lxW>5c05H^NW0nc0rD}5PSVJRiJ6z`c%8O$MghSNKz#|-CmgDLV-l +%bI+$0%gBLj$-9x#g4@>zB`kFia2V5Ed!cxldb~LqK^)b4*}f7O{PmC%LfD@*tO>Vi8>c!8gChR1I&u +CIn_SsiSh^H3h=f+7VD3V%V$ +;Y(6A314O_50xlrN(0Y}5Fkw{Ugx?`M9e!eNE!2q5<=ftL)A{;l&?m_D%2)D}EK@=d7=r2K3XBA5M`$ +x&wV$5|2sG=!q9r{Khctx>z5rq<5I0T)pW_i!WLSEHpp=CXgRk9idZRaFFnxxpPjGrhD_}6)0bCHA(l +n7ds^D^gIwXvI+zN8oa+f_{tD)MZm1{3w!BSu!mapwcX~D%7-B?H1c8(ZMx6nO;Qb^5bFkLqHbh +L%W#BhFJ(WG!M5@D}=}fS=cC=C$b#zCm5it6L|I&f*Z2RSPfA*e7cVo5$n665&>U>wC}ofg15vy@{S( +{W4YC?Z=DbNTdz2^L!?c916F_+fJ2vx%&XE;?9U)~DEJsAU~IdUp*vJUV}=Cf^eF(#VO7K_XuHBvDgBG~^8bM!E3P +e-<-6WEz@APU*zjHWo%*f8+M8H^)md1$A;e;o!;&5UjP+J^Qh1%kGmVgdOO|YGu(1KrX2DOUMrwp4pf +bEONLx#;9z)=GmF>K}lV)z-#NqPhpGbv<*7vM@?W6U*4*KGaITFoh3v+!n#&?$asWq$?w(!Y;B9jK!}Ylf-}OuGb+Vbt@}9nDZ-eJU`IGlF6` +Ztu@l8A%tG@;h#|6CD#RkCZ{r9YKX`X6;Q2kWxq^W}-8d1Ee`Vj8I~G{?rbeN}cPOSnTyg3r)wQ*zG; +7ZO5n!u;vksJ>vK!*@$SM}p=**D-&YV!%`}ZY+E*8-!X%syrNM)RlTo!4FGXkV^6?DprTh|IopFkgB& +#e&Ry77Pz*6v`;D9SeR5R@&_oOr@$S%>RjEAs-JDqvgR<{%q?6``~i#j$VtqL3>=n%)H1k{?a8w;`aI +vTx%=>NG|Fwq;HW=4n=sL#{e>wS;})nuxOpG5yDzsjE0n)G(45iSqCgW?T2Ywid&d)1x +xwV69(1#Xq_(+{HzS4#AngaxO~6Kn9@?D1LM6XlV<4=sd*?FF!9JNjp?(Abe$H*!F +)n$74W&<7&h9-C1}`3x>3s!&O)y*=D|>T@}FI7cH0K4JK_w6+^zv$-lh#D^brqcfL9=zhp3N7O?GB$< +fA9}cSSMr}J0@7Ow2(svKIFU|{O^Pz)6UJ%0`|AterQBYpC0-VlO;iM`kIl)6DVJQT=ULN55frBB=)N +exb)c^k>SYbiz)eF55x4lUa@>ZpF3-U(ZN3`w_-gFE+rsb9_%p3Vu8QAL>Cy2_95?X3t2MarB8L@Dn! +|j^*C0c&*%v_z~a@DOkv_-buZ5Z&j2dBL9BiBf#uHd8!Qy?PB)*s+;v|D?Sjh(&i3L*l;+Ovu#xs1KX!2hhxLx#EP5#Mj=rpDrq*37Dmey +RRDwq7X(W1Q@lHIBVbu4IZ@+m^t-H=xO$o(29(=6sE)^RaTo<{^L>Ew#{PwF^IPN+_31N!^DGz5Acct +X&5C}1B7*6pub#%h|+`Ey;J#R?@37t8>v_UYMbuXvo5#U5^#^&C9U4BfUSqEn8pOMKue|!XKk@uakHJ +W+fk-X8vd$H#suyK+W44c`&FETX-mlnRrNF6pi{LNrwUw+}oTycNlOBfb7tQugE`yv8pMmAq;si6VhI +767$r-}#oAjg-EJk1b(>BtlExHVr2>m%Xz%WXnn-MjyK^hh~#YX2Cn!=!krOo!*|ujcmt)cen>O#iN5 +(Z722>a?jwfr7dN{XSsF{ifcNmw*i#I`asCf(;wG!3kiaM&jmZQo#;ex--DW4a`K56>QSN`hXp^FlzU +>Ze#e8%1#@)5tTh@J${0H*V0V^d)d&9iRaU{za*ElR+|X+s-=5nVAFmBo1)$6pq0TfU`Br6WjbnMkp0 +xi5A9Bk{J`_Hm7mFsQm|Hj<|dYcwemZqHm2=_p!$sbAp5D2AI5xY8loYTQf +qYOteR!re#`?L>ql#Z|dC4pkKqj)zt;6{`JX7zvia+;&mKK`w8_FnbXN=O +=G)#?Z;@ubtLMF&UX=6_Zyn}ZDEW)12-o@3Xa8ji{O$3oC^p}I^Udw;?Tg#di!@t)Gnh_~zj>?Nrs_X +$FCPD@s(q}##PV1*<;Py0_fEaSyGZl=2ek!M`@g53^Dt}ve)erGq{ojxdQlz*z1vlo^wjRA=a*Tg1lc +RHFziKnuhj1dhN@pZWwNp`uW*VkN;YND3se)TlB%+eYSXm++s7*7Cp^3J!;QYA@YMX(v|W+^Urc!Jc4cm4Z*nhabZu-kY-wUIXmo9CHE>~ab7gWaaCz;0Y +m?hHvgmjJ3Pw|Vt=X02S9X)k@%SFwv9rD#KgyncRLybCawJH@9g5VF)W}LI|NWvH58_FJl;)8=QMo)4 +2{eF4qtV@HbkB=?8J(TY*VVcpXJ=8eT;)X-#ph+7t}AlJevhJAa+Q=xo{ge)mQ3>*IZKm@6meSKn*)e +dvYMP-k!+S1lQQ`t;B1oW;%rH(c$&s#If||lvbiMN^4>jOpxUko{e>_lqSjfGt=3gp6(nAoud4i#WXV +sYFe}m0}|Wt3-@vGR?EHinFQ|Z-@6H`YBiOl)Su%i+DnvUp><<5ZQ +7zLqSw$8_T+x~OkSAGHH?WMWi)DI3zEs{a2qm8VYh6~a^MWLc?0Hoc$vLHil8)2&>TSGItG=ZTz5TI% +J>t(l{p|gTV)Y7R6Zvr6US;4droU5hXS{JyBjn^CTtXG`S>Ee*P~qts;t|oR)wl?;)ro3Kp +s#Mb!nV;m}em)U(%DKnkB&74F&U%oTrM +D4CtJ4-N7}G{+zeBE9px(JxE`Ul7W&x@f+n*HB7CgB>PWVKJ<%Y1qpJ{SCS->`%llGRdN*x%+O`zSUl +gqfBDz9uil-Uz5e+82l%3`m2ba3fB4;9Tr0i>A-~xRi3%AP`Rr^)ra9f)@}ibHhVykcg>8i|2YeWP&k +B;+5JV9E3O)er>?|Xjv$G+<7_kb__fZ5wM9H6gpG+&I9(?AMZep>?y~7&vCnepw-h>KI%W`N`hfgx6^ +O~USF(pG;d&DHA$!k8A6TQ>wr*82$5<{;69p1Al$zGjmeg91B%LiH|K3UMCNjR$1d6w9xv&ZH`At1&p +YUYItkF68d`5y=+ff%I{q*UNI>nTXEY>^=gqOxO@&!gcgFU#aS-BJlCrSr2SvqNlbQj`6?dft;Pspx1 +*lFk|9J${#GbTq)zrq%IlD)5qK<~yT{W5Eh46C_rb#=DMq{{_opm;fR#@-zh=icF278AgI5tuA7as?# +(&cg+czO(IyQz$mpv98D?nKc@_OO65i5R2N0QUR-D}By(z8{z!fI^Z_vp9YsZ)u&ss&agOoen6qLiQLQ^MXyORCh+GRgEJO7lfY5kx0I0i`o^_yoyBHC=1hVO^ckt*wqaYKumiz{&|@h2gcbAxPS=VBs5FGM}ors7_+Q9?qGcBDEKkec@ABlzB#XzBMp>T-Y_MQ +x@*v-|M8fECS*Cr?jHsyOD6OFX!ST?{Jb)m(Ai?Wq!K(Qqw +o!BV1iBUi@9y2q{CwQqrAgQy>Vn2<>8_;;dT0K6F?ypjc9H?@?Z<7*&tI?9!U=Jb&DNgB1oNa*_!_e7 +NSLvW`xRDK?6_tc+LP1t5z%aghIyfhkxspHAt#|O*Q-$J>@{J10@X2zmU0jH7uq0jeK&vWqu+Uux9Vt?lptRm)2)uoDK*c=S8Kts#ww3XwpGvyurC^~8CE{N{GOt?p%_&kmo +V)2f1&R|Dq!#bdsXBsiifRaV#3VzitgWF$u#*H6$U_QKtUDsd0`^O4S&XDSrA?0lCdKyeu1twWBNTBe +C1}A*W1VuRR)g!2_63@3IYIw(jEwKGeW^H0k6@P7-EU|POCssI)2b(_?~%R65xG9h2q)?;>mbs5j1pl +0>cy-Ieqwf0$Y5|_>&SS!?d^ZUT|Sm=>hHRkUvF0u+|50MhAeE$5bdAQ2AjDi5U*BgGDW;FOW+ +>>JBLl{RgBic)<{Dj^q|p}uFfwrcDtRYg$RBEHzTdI3e1+^~2S)Z*3Sq;fLwz+3r6cktQnBZ2+p_Jigf~-!*k3LH=%X*88%N~jW +{9VnB)W-^!q7A5>35Mzb=!aziLwkyXpwj`T2A3_46+Sj8#BF(F`?f4ORGI)uXYhGcw+dS75Fb;aprkD +A=U)yFolsQ@abm|UvGD;6Q<4qc(|8C2d#LWVEqIrEOAU{5o_L*B_1gw$tQ(C?Q)%$fyX!DuLoqcv!)d +I<&s0wbKr(~RxR&VZofr8}Bm*ssZk3C4ySjiaW*Mi+B3s7ACEYj=n+C>dib5J1Tyx~)rH9SnhCZ~rw) +Ex!TMH*pqRmoknq;**HKV6r$djDEc7C3 +%|b}n8>qqAcCW5S}WVo0G_VM6sLlFf!S3(`qLZBH?u2ugnc+OV4>b6fjoS~K^1KP&fYA42P)EY=LK$o6lZYQ4h4Qr_({J`-6yn2j<(`Bt +qmTuB%OM&fh^Z$g{N-yM1c*r#y_qv-vUx&gBUVo~z|R5EpfWP%aS<1@6ecpC(?zt6 +Uc7$`!vk%+0Lx1nvptsXz3b@(IBq0xMhC~ZhB=TauoDxD!km8uIHtYIa`s4`!XeCg^#7=U`-!~);}1K +fjPgu@=l7z3&kY>BIZ8}+abJSZo?MtX!RuB#aRkJd3O~?cC)MV5w~8#cQDc)5B~9we~j0eILN>kR7n>03-ppvxWPe0%Om9{GZF(<= +=xa3m!t+se`YiA)Y?u|3%G#jKJJ%qkE5S|(NV&VLxq4dbldA!R6<05s6%CN^)M6*j4*z2w-$W?p{GM_ +5*ofbmB2nnzpKI3sCD~B3qKV{%9qq$o5YeNHJHDLLG_iM!EO0J!oBSE5?@Q&^ +raq4NtI&oWP!1cy-6|AKrr6d%wfI$Yej_LK|Kf{!MfD~PCOO!;J+aVC^GB2xi8_|c9rYY-AC(-Z?$n$ +h_&e@q)f-=7Xjx%p|jxni;56PkIo* +IRL%%1XQzzswfk5Q~=JC)d!PEKqYbbQuChnPfgI{n63*(Py1EWwnhw6UK4tz+t5x2&*sgymV&Rc(o=U +es0$D+~OE~I8keAtfSWrP!6J(7i4;gn4vP*3|V=}ZK +tP(uQGR;SGtkFW_xx!T06hfD_r3pSm+&S_vdn3V=-O}kL>|crPxFQ8-47osF8`P>7H|m!SVIBM=ChJJvaaC6$#tzRh+KLQFKYR$b0DDQH0Ns$H=2%!&y`Ga#H|5nsHk6tI&M%#el%Io_65u3?`$ +fN-#{lO&a*Rg#iyw632heu*8GQ81?)Obk-7dSFN3%V(O +~1QldO(_cyUhuHJ_#n`mMa3LnUMNhOqp42CeAcQCd-_b5Fx9AOmm%D^#wxus#Rr7wqx|GOD3|?Rlt;7 +kStSSeJI~6R;GDH$&oHO%0iITVUyx_ +2?z8&Ka+V$!SY80&#l;lL!F};_hcAAc3%1Sr5$O4KpzWvhZoUZySrIh}%GFq3FBMd{U!zo9 +N{#{uQ6# +e&$tG?La=AkEjtf102cJXd;KWIue{dSVRF2Ws8TmpLT8g^yjJsI5n^4YvTUt?u1^yyK&6~yz+&o>rh8 +Dyba?|`%T4JuPQ%aD0%4byFig30mbGl&SNfy1x*V*hXGOq6vD&kjDcojo&tOskK)-m801l;ZM3fwd)r +t35==(9O3m{AR)%CT+aMkACI&{{#4NExkH>@GkYmB}JQ^Mhg{VbF&!KWu4-vgq;Tn^E*+^6g>t!%IrC +l%CZKwP3^Bg6dUN%!OCCRx>A7-66zi=uH-V*ghUn)(+tQnPmS2MA4y5FTqxu@e4{RLseC5AMjfme<54 +8KppU&j4VhSe&9-RAHy|4vcZX=(~(eS3P;mmvPt#9SZAFXSEgKi$=)qtpAmwtQTP-f>9}z3xUDe6OY! +Q@bh1-YI2vFGItOZ#gh?n3{KT%N!cMXwus74aDW2ikz&eAYbQJ7L3l=+WmhNRn??57z?~KkJM!%09O& ++-=!~rG$D4+taQIKU)!7ZVrG(h6iG5^NN1dgY~wgxxUuIO`LR}b|)OkZDFEj97NG%P{vrFWBbU*>X(C(Kvqw~gh0_r{`#vTa*}Qncr$VnGnE*o#}-P?Vl&+lkh(+uTf)4!X +Azbp(MM2~z;yuv=eDoy7kYMxd&5)tV|S!(ByTyl&S|)d^NVgqv1hwWD>>uh!>uPT$PxLgI;eF>qVb?L +#dno)`tWj#iiB4@@Ur@NUHJeI@p2aHo*{QEqMcyr5;5)UrT{@&$m7>0+ynQnHAr+cCR;>pFq(D`>d-T +-q5Qh1zA$C6gM->h*sYC5S2Y_=8GFFfxZwqqHQxDmTiki(`%%$tyX7;(`ryH=nxX#*5O;L-uz2(+di33Q-#mQu@X><@O@5?<@q-8P>?$tvIpvzwOab*|@{sP`8#1H +&_8%h3Xh;SD`N{x*UDHALfn=W5-3IRqs3YuGQMhF9`*_=1h?P01y3=3L`P|%M1XLOp +6@YG6MtA6N-$Aw&cqy%?qjs07vLFj9`d+0)>7r0erp{*pt1F^vV84`lQ21X~l9HuORy1aybE6VKwPOS +pNEaC4_;=?-wKi6%ph;Dv0OP1RQ_6ZW--haJQe48P%8e3$Gw){3R4F%-+A(F+~#nvY|>dhnQDzV#Z{q +KTRGU9f6Ph!#_QIbaYgUDPVxWw!iMul%s{Oc?;iAne5>XEv&W+P}mI7Kwu^Sz`u>EvX|YYvvQq9Y;mB +%P-@hiSO1Ey;y`i?fz*kua}hKBH=;Ur!H +zoN$8HI*N3CKA_4uJk{+F*KRx{BQRks+K&Za+_2U2;M1t5n2_~pqs}UyYZpe8>rWZmE$bX{DE$+Zy{q +<>G|Bdcir3Mc%SMT{^!a3C#Hj}8w_(|+>;LMBFaa*Q1l~{q!0Z!z*P%MkflYnu825e{ +E$W7)=JKo5a;XxoH{_y9$Ypgvw{uqaq2=>_gjN +T@W2Z1L=hYB=023kuQVa(oB$^Dab?6v-IA4I<4WHFf~6~g85}2R(9fd(lNWE--zj?VBOQ%&j?x>nbm*p$uX1{Z}1A1xPSw{i*AQtl5cPpI +A)YTX7EDTA$)>ZqWk}W48n1rWGt5nP@8xro-pL$8_4(_l+*Qy$r=c(t*BS>h)`b=Zc$8 +R(PUD*D@GJIAb*K8M%uB5-{8r`f2-phI{QSNoMXU>Tuq}{&HJW$Q(4l>w6o5*6Zy?5GGuL5a(m@oKD} +EcZ>P_?IzvH%7z0c#A;{vv`qK1;i=Z3lup#8ayT-}FubYAtr7S6(ANubH4<|MD6~{}TXPf&?{xE4Gct ++B*;lP;rKieF>;67Hx%mOQH5CLs+0^?Vfo#5uP;7t=XTZIbf;-Gz9c!@K$+obl3X}A0?8t^yFfG#HQrwyI5!k`+md(> +x!KrUlE6NP2mmD>Om?DtR3WW+|YQoATs*88gW~+@!1w2nK^O5?-LunXb7f>HqbG60$+t!Qv0OT|Ew8T +c~{2F0nO*NDaHv-%5fR}_2l*VTjt=50d_9p=_RDzM8219!OfK4|F`l6)G&ch#^)5BlxIbMWm!yl$R*~ +<3?WG{XPg?OLx;hGbV9@u795DBxQVM#L?BI;o +-m6wl`3bY`YzPL_g_SGeA^BBaYZ&eV3kF%7icI(fFH>P%0uumw3aNjUX!6iC&R0;G_0=EYh(76p*Er_ +^>gOSC1t+H0hPtJ0~0VLK$U6lTv)14TJK;}DZK$%|IRD!qC+*2In +Y;V3Oy)@Ql+m~=KgegG2z!|sdZU|^7%N)P$3;lBHZyv%;-`32~DGB&e)?FvD~GY@8eV&B=9{Uq~UNT* +rwe9GbYd-?i}yiQW9>t=rZ0=8%=-^8?eVIhy8)OTqkL$x$z{^=&`LE`yp1wtOBsNPkBq(2y2;3Mg`uN ++~q!JU;}O!w(jg)-9b_AAbJ_6sR&-pqUT`KJj*X0CV%CV{v`2P5@5}mZ%PUr`s64So*)enlY^SYz!qV +uK2WF!IC63`rRHtOPs%#gr^*ujP>d2w%iZga;?i@WHC>;i^xI*F(Hv9>Vo<{Es4?9-$_G4M;~0)C9~|&_PGiVUOm!$2vI0=JuB6+s{^yDm+h|(EKW(EW<rY+Yk$bhT{`BzhHCVSnkeINUq_0`!3Hu6o#ORiB&Nq*lS3Zff< +ri=kgKmnUC0?$DUN+SVZotSd#tnC*l(o>NKUY7JJlORdvn~bz?L22&X^vr`Or~Y~~y7juN5BIMwJ4sn +u9=^vg8KT6RA8xFsGsrO6eshS4VdfGfn?xVSX)O^c5mo1YC!9PKvIONME2?BwN5!xfSv6RBJ_Aqe1Q) +;f%y9!F2K(vU#FS(4Jnlcv*RA0maYXF_B_a67`{qqI|BDV}&U`dP>z4raJZ&MLN7 +!vC0uq7wT@6{r>P56`$V!ptutk)#EqLDw#iUEr}hq}L+bbKidxLGAui&U->r<}t>6{=IjF#K&Ggl(|> +=O2jA(IRp5<$XD;khDtciJ|drTD*PmnZD7b^ZRYdn>8c>lM$ywWDS-f=F(;*`a6%u`u04y+(|meKm&L +{m;kb!2OmH`&t<$9xqbF6yx}p0aapxhwPu#9MlrgjDD5T{x_@8XxzP{<_x)TvC5hMV@Rt2I6iI}6u0~ +J0p@Twa+-SoMG)6kU?nxhQuL4e!(trnQRcpdp{kkFRc~WeebI)^J1Wxuv +wlcF4po}vzLIV#!rv}VH}ST_fUr@vPE+uQgTR;hCbK{=8N5R6*Cz@B{RV7XBX+UnBxNY5nGi(0@C$Nh|{L=f%TQ0m*3zqVh8J +I7dsByLJeyhkdq8xYB3&^Z60|;7Py&};Div$kohs#B%`HZW1e)AYc0QF+{5Y1_ewErw1|cj^3mv*(kU_VO`&a8@JJpMYHBGPQdwrX&7Xh#3Fn^)6J~NHmM +8;@oZK=CPA2+ +}VvUA)`h-qqw{p-)?jNZ5x|pEpcJJSWdzISw)8ta#P>K|HWftU%ihcRW5p*)0GSe10Avkat{Wz_Vfsr +2g&0KBJ|2pf*v(E`F?!+OLxK@jFofcWc;pF45MBwzCm$hjz9IIgjX?h+3JbYcy1K?$*2fywzu=XNMZO +W|sF3aJ2tLhn>;a9X|3cJ$*lS`1``x?7B*FvWk=y&+%Rr3D4@RN`Y$a~D)dqd{-pzs=P$J)%Hpp%WliH3hHS9e +QF+!@ndj5NDm&_99e|KYdumDsRf)xlw}*>=*h=5N#}7Ge}docb)Hf6J5E&4?Yh6c48ZdYuS*1K~d!@S +?$SH(>X{gM9}+Fp3R^jIqv?yk-xr)G4d|xhaDf^CZU%+b+sKV96UXFZ?kp7R_=}X7{UzMJI_ogKb2*Q +patLh-raO`MQ{fo!j1#*ie6Nl9hi2){{H6_?GdaCB{t7{b(l>M{@X35fUQpz>~NPy=EeUkO(<3fu5od +H`&zB7N+2+9ae~wdTS1$qUvbh!#BD<>pj-kK@U*MEFaqwKlps;*~{OQZ?YNr(&PMiMpkr_!5J~nOA^{ +91?o6B4m_!G_~JnMGe8*F19^G=|LHIT(m#ZsQc@@%hA@Gi=zELNE? +haJ|~S)yqQM)V?K@3T5BMM5Qljs$md$ +H%yCE0HBVpdWb_F_r#UbC9~neF4;?0Q1KQyNoz|3AZN28`s0_s&=${!oBaie7DPyNpWqO@1dcl4=3)o +YZa1P#1X4X;BM^Xx}w+=)-bB!r9}>s=rd^<2RBcYH7yB#1A#7etol7?*<~a3mvi3}JX;ND;{}I^iL +$dJVRZ_d$4WIP3#0E?*({?SA5HEm{ugnyg73kNZARUFpu)6T=ppu`rm82K)~itu%qVg&W4pn9bRaQ1W +!W%zh~H^=d~*I3{-4cPBU>^UbbfB56wZ&46X$HKQ>Sd?U?iDwK8~;t<$A8{Nm%$KD`>wCi(0AmNPGlT#R1V&hFvC}=J-MsSs8=qjcXhS4fWX;tSmkPW^f +nu%vMM;JB^#aqEb-+g81~eA8v<+%B#h11awUV^foD1DIG}DWgaR$M$&Z=kN5e +NvU7?uaNaLS2G<}l{g}9l%u8OxS0suxaI<7SCk1ntfyn~{34{*#uSj5i8^sVmevwh~(N7EpQ!X)J_|% +mDS>V<`;@33f7Z&tl;0VSeWW^DFlhw6*y1v`DIv{ovR|exU@z&qM%SV4bQD?44?$r7t?EQ^mfPTMom* +WNF!i3xN)MpY1oE%3W8w$7CmCe@`w{LNqFNH_+fisl8($A`!=+g@yYJAF2uEs9;)XvaNeGP%{AkLOcg +{}1IyRj7{HNwYX+OLB?w9Fee?lkDP-R6IMm +LJg0{UGU$5gmXbkYHQs8n1LPzlDwc?x*5_C1LE;A4?{3Rb}o>h +_#xxYoL59UO50JKG$>IJef9a8FXP9;-YblekE?p*I_v2Dqnt&1HVnCASRa#iYwf1XcG`>peYpMzq7EtxxVP!#ZEzpc>I2tU +qGJ~9W)Lt-brm-~Hqf8esajp)e|MzJoiislQ6Bj+P1iGW+`yYT0(NJr4FmTQpo`;r3kTmZyYn2k{o){ +qLl7M#=&oLq1Oz~u{Fb}%E%?}C*>XKPA3 +CWG|rfU8O4-{rrRh^7kQCX7faJHC*!4-SD6|wbwkcspwt}F|5aoHdfb5k`B8E8l$kr*90f;0 +X2tlgmam-9$?&*3vGO5d~hr#c;}WC-;o1pDMD79%&ErH3jrzp08f!Yc9V$bXI$;J!JD~Rel@=8N2hGncUNu>RaMjVh1K;ksD!O1%orYBI5wZjL$B|@G(es=cL*Y +!t@)^=O`!%79#h_o|Lf098i{c_eQ8lP;Z1+L9^{B;>w~74k$`Ez@SFGNg#5q%QYT)3+D|84pt)Qoh-y +_Sszf?xkl%v9k=79V(02?-=>GaDD1X9R*Ior(rdEv$4h9GjjR@spB?(_FbB~aoGq5RHp`=u@{)+fSEY +|B8#&JlB;XRJm#ln=Vu6H`jFyOJK%y{PGXe($;IhMMWEqVMRI`Qn+0D1(@Q)TqEjhXCdZ|)a>Wi9ih=9DA||`DrON4KUgS$<; +klQNHCZ=xXc4HGs85=9@jvKwW5J^8vTWdu#6oWx$WQz>u48sm~=cw^Gi_gfq=%2!KztXS0a +&lBsHw=>h@BqD^G5wc_#oh=t3fj1+>>vP|JZtfP$90b@hoRg`r2DCBK)KLNPZS@<})#aB&XqFRC;262 +oh!Ab=iFUntkY?i;)1+0OJ#U&Q9SCy}pd0ENhBloPjS2W`ZbS^Q0yhbt3RT+!PFiCPG2rSOp2jwme07hcLwb +!K0E>{omo!K4`Wk;wk!Br-#Y(rHbyaT5LYIR^N3K){rA5mgi+nmCpPk}T_e|2(fM`jrdUJ}R?!9SK0? +L(zH#zB_IyBFVr=1@!47R~%0*q_~D-^Ic7XsWq9P$|YMObGXcxZbP;-;9J_nbK|y~PDCGjTMkIg8Lj2 +xC(Rw24HuC}Kfws8{Tu5A7ZHgAX*D4ESTG80iK@V|Abt0ze9`6VcvOcqYLtxI +OKm1MpZo@;Qyl=ay8R!?I{^1c=t&C{n?`Li1?KcTbKv~KaX;1hCO7vWlHqU10 +VNyy;A+cu;h8nt&N(BSs?BJ&rJQ(|*F_WC1}Y$W}l`gV59?72iykhYwOKkji5mc9cFnbw!l%;*5yAowBnL2I(5_F{n)h*+lvr=)%n0p+8$PY=GrYdUegJ ++esJ_3cZ2MBB$Zbh=ZQmlN1N}B<&&a5sQkdL_Io}ra5Quqdni1vAucQqg8 +Zp-)X!4v%gHQTWe|4u0M;nk}rZ5O{T1iahc56@IeCj_d2ie*OY)M2ygb#!BUjl< +DDgil6zu?*DmJ?NoV|q0b}$+#Q={YQrADoFv{Gv*BDk0qQ`RbVp-$AF?P(GrCbi(0b}1eMO)1CXFxm(f31bx;^G7yRa +TQz-OXVOp$;{0dQZ`z7*d=!3n{i|nqda_))dt;2f#B+bpYVYVUtWMzfv!F}N;>YZD|OzxIuDUJ)Ityy +#4ZJ~7L-Dtt{l`Acn9BcUEX_3v+0gKyJfHTT*NG>r3*!9G$e@$m5t+dirS8PMZOk2xZitc!GjN^zNu# +~5GI<`HxGB*s_TINV$-&EYO#gGZXKujf_=OG?OVy~+`N;!KsW5=>eWTxu3CGE+xw$@ZSDNleP-F1Z@0 +B%1?|R!V{UQI!ZuZrtwY^h9a}1HwVut@be8YD9eOQ4_6A(kgs<{_Wf^L#N?C-8n#z{oG^OfJ1dJR-_# +ytUXsu^wWtvyz*%^cZ1trE*e7j`QHnsBB#K$7$-22xEHPCP&6(mrD{MqaSEf`$0YEgf^wu_KtRt*=ch +5ZEQMXSm08~cOHv>79KYFi9NM=9~7NZ7#!M>_YR2e0?vq0hp{m)}1>dH#ThCBzHJgXni$<-89_xbM95 +{i!V`WY=3+yyKcZWZ((`(;vCa_oE;szeE7}&~Zn?qoXvX$XU>|;8*CW`7~0_d^bi}HPUdnqQWBz4%I;qkb9Zk{JEByBbu^+FQZZc4b8G-mgbm>b&|ru4x@dLo8j-6+suLS6*TD`C=&N2t4JSt?dG+ +fS70R}5>eU;{9finjyK2TV1N8T$JLC9)3i2g2IA~m-}y3C)#Sf52nbszmWHD8TtYxcmuCD?U6 +!*#{u>LMlmMGdQ_;Ku@Ou^}kTJ$(yhx^ +BHA<+ji+qWAYfDj5qnSm&@#7)1xrQL$JaBKDwBX%G_MY^tdo<)`Qk9X3J>%yFkG&&cpF>c?B729?HUe +wJ)&Zt!{P7)Q`a=^*J6FE>;jUv;2@mZ{|FcTBC+E#^e2I3N@c9W&`&yMr4#!PGU@WS6v&>=96f3$dq1#=^xE4T3tnwI-7JQPS1 +Qnk7lLc9z!efqs6qqM47zX=GS0AVl)AEJEeqx@HUI-=DLz3HxFH+=W97xm&-h`#Yvp3m|; +)KTFU#59u?gf`|7(wM~|G&89)HlbkDGW;$l!kdiC&zjsd(imD`yT%z)f>`>@15F<@;$?U1L6~tQ2ut1 +F`$7wI{1@Pa@I +u{i%-Eerqn1pIqX=VmHJ4>>pIy>Vm?)P!AD +CwWyUvA)=$?Voty%?H38X-eCoJde65Sw|J#zHFs12Y`xU8m(v4K042uFDIzL|QO8u +aPm-`|=1WvxTJ}Bk{gI&v1cW=Wtv-uh7u$9?db~>h}93HW@B5?e}n-Z??{@%IO%yqJ +lBxs0S8qdtGy`k9wy!RpQ?MLOw~ER^8$3uF?9~b~5C*A`5d-XWhk>8~e{Z-pGv3S^~kFqBN%}NF?Hy% +o7O8xvqE^I`ja7P+^XQQ0g2DignHVj^<@C{cZ!Z+F&2Ma+_M%VNM$@%EVd0Qg9B*Rf!tJnSsbmd4nb;F^wIKO1tMpF+Q4wNwStZYhwyP+x1zQf^M8TYlffc1!YIQJ%d% +xbG*a<98P)H4R;+lv~CHzN!wQ2&5fq38J5{Xw^O)eh1<2`)I-&FJ+Bcg%-$1dBpuv7f~BE2G96I +eN4X32#?|s-+wq;hv7mLVG-@0@3*zuE^A(`}TN82Kw4?Pp0dA7vng%lW{=*)bi$S+@0xemWf^FN6x-lAApv!sN-p@_}o}Wa|vn_-#kIN{}qKkY3X5x~P3eSR#zPyTJ{(sHYKlC5i2>xjv*SP +XgH9+B#{IvE`v#RpuMriyiBD$77N(x7eBYeB_#rMd;}EYfLEeO+QOQGz1BFok7~3TGT~P0`8Qrmp|0juf?qC +!1ic)D4I+KI~WQ8T|M^hJsS`-Osb|pu6*|K4nvgr9m9UJA>5=5Ayf@-T17W;J)d^b6$hhJ9EAQlc$@w +G#5})HMLxITz>wRRmJeEe%)NHOdzS^XNjLFUI`oNjk-E%gDf_qXY1cy+Y@7j)mmOd}R7&@ftWHk*SMY +cg1Qo(v6UAEF(Izex8lTa(An~`7E3$DVsKdmn|Y%Yfo&E!Gg&0w+ +-ovP?z8m^X#G0$qF=)unpTm#*}}Xh!?0^U{qm+D+Fzwf_IB>qgeaiql)+pSpH@k +=7?k!R8C&omV#2rd5q~^=c2hrc_l-i)NY@??SSbn8v(C?@6duat}pLCr<7otPf?e7YnHAo>h+8Y8*)x7La{o#*k~0fMM^U%#t0aVrh)dcnw2}sIN{t&P +WDZQ^WATdQ#pD2w-^URiMSbdu@CRTE?CkqCHn70QX5x2VA}~6d&XShrb$J285HeHxxX}+f?AR5jq~h- +@z}*?8%+zXSxnwkQJj{!99BK(+v5EP(Tg?g)71qeMgc0iTV%xs=q9YzJ!o(2xsMrynOABH2uP;91-B8 +SPb2C~{OV%N?laQszIpsjcxB22rMevMDrW{!6+E?n9#s)~RLQ0*bH^UGMI^QI!SeW~x2d$(=v4RSCS> +Z{lOL5Tx7nwv-I(4iG^Jyw6Cl>^&71+5ZFM;X+KnkN7Xi-iU4o!;EwjUwFqLTqO6S+?Y-OT2^x$Qm=( +RX-XXIX&_e-alYM!k9*BZOuk*Ured*SA<^MWLc44n+KJ_b}g?#kD~@ +B$%y=SBV#p|V^xJk`=88_BLY4$i}4>&dj(b*g2a<5^98JqwrDd8THW_5I=z{{I;Ne-aMn;%lt&NBsX! +_`kT3kG;hd(8)6VL=^H>kMykDJlpn?RG4>~C6o>Y$CGp8e+440Sf3;M8xm4`p;2mQ$-HHnY9)2``keh +)g~O{C2G4dq!tCJmf66p1%WpjU*Sf4e{p|-z(GVQ5d6&mb@`5sd9>i(2NVlsCP|@i3AMkr~M`az_xLW +Od(w5;_)`Sq>YE{TS-dZ658mbhktjuB%oc_5`)dFv@>vUvX_~AkPe +eS!_Ybk-D9xxdCzK4b8C02*7x=Zc2BL@dtVq7FdWfI5>_I^7zHLcrjUPsHOeNF|+T1p@vIs +F_{m=@roj!JdVVW0uV4Yq|=O#Rc*U1oAz5_@j6j0Hu_xWf`vol=|V@xNT80C>51+urCq>Ji(5%*Po|( +&S~H^er>O@&ZaT1LBBo^t8re}co9}(QP=n(tVU7S_}E@!5wFXV%82LbnpgaRKY0O9TI))+)^ZA^L6Rh5Q_Pw>v3UZn$RERmw0%;IVf7fYT=nL +u-e;U4`%2lp*;S>EC*aIqEaulB=t@){-{JJ<_QBWz=(x=)>P +sWS=pR*f9q2%k=ufNwLa-)CnP*wcq1xQt-djA*CxdWs%fy@g{SxxZ0nXl68h-$Yil0&IQKX~##tN7}h ++JPVYziTpNTWJsha~7FkT}v%;IPw}*VJhcT5A&S%fIg)mb8<GUQkae| +ZF3)P2N-If{jX6sgPnnvyhX5UBL3ZNMb|%JBZ+~^{Yrd||Ro{2AlJ5j9itHS+B^(dDp+luS2J>9N*3r +bm$&+n@si+=gbk0 +kQK)_u!s~IkdAosTjQ?DYN^PxOxi0adZyZ +TY#~VWf^4z<}WU`PB_9wt~;MM-aZE2*yLw#Rc%Rr)L7T$2;YzuNuPcVdTb*oxig0MR1J*7kt>Hz!nF*fZFgnADFg5fenfS54;6=aj +zuVQY6h`aFm}RrxA{fl%J5y;{-Md#1`eh)&olMn70Gi_Xb3UQ^1)bcf*gn$t%Si#@>{WnrN|1u^hh#N +|K(BIa_UVh_qUv;z1}W4bm-5yUpGbQ=K)=}xrfb|rd`{T}(K@1bb~?xHjWuwl?v#xYDS3&zzq=!YY0L +i;%?I9S}k?X_!hP*iZX=P0K8$2UJ5tFev2=-h5srnAsaj$}2G#t4vIrwEY0LlJ=uNY3Pr3%^H?rC-aW +@9YSrxj@MxH*$_F`%qKu;Z6s=+_bXaOY_2Dv#*qINWlv+WY@SOOqQ?3;w{3X|sfXcG?v`CPkna1D##COn$!K3go-UDhmUmC86bQw +j+N<0tpa% +g(`S*;)hKs-{?$>>c&T8ASw0R6mt7za +g%&}x%F$NYt!mb?;*v>^}!AfAZn~A?~bFNf6=(^0Qw=epA-7MJcT +Ep;rb)nm{@n2L-dgXOYfrQ>UgB~6o`chvLEW5^VOFrVF4IeHwS|Oz5rz620M#{tVmyB5tL8=KTt~p1Q +Y-O00;n+tx-{kbJ^j#5C8y=JpceA0001RX>c!Jc4cm4Z*nhabZu-kY-wUIb7gXAVQgu7WpXZXdCfa(b +K5qy-~B64dJ<7vS&rSNo644VaufG%XVOilc5bs1duWJ+B-9ki5~OT(XaD;>2LMTcgecj&GrRIomdJzi +#(4nHJWp372F0Mfk;9@>e~x00AaxLJk3YsaTSM4n&)huvn-||QxAk5JPy-D6f`Mn1nZPXmoZ +y0xHlrRG>sWe-WEm9XCMdM5*c852RLa6bi_71c^J`xHkja@7aS1)OPBhK9$ZVAGxk8^dq6uPL0RxhD= +=g%=p$b8ZZ&|3kfKh4-^;XMHJ4Wz3z0)Xro{8czok6!TWk->*TlQ=2GjG4JI^&9hUN^!T4g+DzW2q00 +b9ucu3K-|M)QF!Xt;SAq64z~<=s5KdIi@BT&Hk-1J}23y@u;Mxc&^+o15Y$@%F_wgDbqr;hn)Xzj-_X +{3n3_1n{2#{u97|@_Ju6N}0kBv;X4EJ}!G3tF(BDbKIdcc8BfW_tkx>me)_tcxJcBNIq6f!u@29EwMUj=6}_2bTLo8`~kt +AiRR!UdF{4N!R%4!}XaIU+@)=X&!F~+T>?v^$ngG%_@7jsxs=E+RaVgVu5+4*7_=vEn+D1m#?CLdhQ+jITlb{{P00_Cz*v0~W#uChqB2 +=ht{}e^lAUon`;CRg7yJlJ=EVd*LAJYX=@bM(%#+Tfanf_TRgEf%*dq+#5O-_3ZDQJ;xVSPM%4AuhnX +Dj_e9=6QH0rO(>FuyBfTgoN{Ix^Lz`acg*Lh3SuBW%zK(7yNgpFm#G|NCPzrHiHEE;BL&j#G4#8AkN2 +agx5@WX7_*0+OAaJh;Bhy-1sjpwZU6ma6~WoQ`jz>B5top}zMv?-mnD7jT=@pkz5LY#Tz1@V{c5rzA5 +I=LMVjkyCgU_$(=@_@m^5z$Vgz-%gdz_wCN&TohTc4_B(op|7lw#JB|jv<2OoW}eQ=JO;gp&rGOYw9u +l=V6fs_T$N7`nNP;Bl4#|)$nkMS9N?A^;g(krD#YLOv8w-takRkx}3sNJJ +BwFVxtHgtQP8X~V7ojyN=QjSXQ-VM0}sD9Gwt7p^7X1fuqaz$Ylt1wv<3$p3()w$~)vOu`r*Ozu$MuV +X$NH+aT>z5eM#t)Bc2hSGw-JP;%Vxe69(^2+R@k)>fKB2*BHiU6h+_~j!cj~Kj0e!IB1AhI&98IT_`s +3Accx;mEMwtzSMR?v;Es}a%~fwsm}q4Njlh~wgXmPVV4^X%fU{Hych?Be`b-8hy{2g4dk<8das5lL6P +2$Z5}929gRrZT9jkrkCCqY)yN|N2QDRIaH@o6ny=Psr6WE#rthFcQ)b)x6~5FA_jI&eUu=Fj`&1*I(s +VAD<|8FzMN5^}BQ9z?jQooWo=XFojvowqY~Da6U>GYNJ&-V5rS}NNCj~5NsLHg|&0a=dz6m5GGjDxRg +oTi)Gv4;piFqR0tg@nQaKne+reJF%ZKIj2L(Wc@t(vFk_+!tfw-|Xl}qvL~N3RK3Z&aZE0pF$eBK22z2)JUx#;+f%#?^WP5j>68I)IH{_Sn{e!)0Q`(rZ}R_Ja6Jz21r!MBC|Yw!2C61OS60i91o^GJ@wx@uY*sYxkOE#T&KkTlw^0G*s4aAN +(z$$2L4hpiAPbP}VO8|%LdLVM>a9s`d7-9U>t8!y!m#d4!KdsxUqVA=0IdSBnWXuO#!#25<;v=|&IR> +tQG))curP^Y6SL=t(hg6SH2NV)=nA;(uFXi{ESlJ#K*9#DFDshJ@EmU-ia}&WzZJF#8W +dyVUn5hv+zKib=-V)pjPwbpY32R$j_nqYAmQWDG +^eS}A7Ljyr^|R0p>*}lLJjPf)t|;Z>ALN~9nWafDs) +h9VJ?qOv**1dzZFpdlHEo8W&|H@t`1E+%NcD>2eYO?RuCGU_dpg4di*B~MHZ1VsDf|eI0PFFH`AqKdp +1|WrxTcRD3LyM_FQ-lprbxIxtX$?)Hx?ZrlW~b$Ey=ak(eVK +$#IUfNIcy%(vZ_X@7KMz)0VWK~L1)dvzXBOGyT-Qa6cg0~S*xB_%NG*C*q~d(Lx0mUx{? +zA*GQ%e@EmcPWiBO4v#QiuRW-yrB-sYya52&8by}q95tKWdqXhhwMMtwZ4ev$Ed8(z%X^pqhKoWEpFP +v^?Dy_ySH>?oS)nD4#Q*PT=vDvkPp%)cZu(s1%vuZol&wZD+hK8QrnsLzxoKWdOxrk*cMpRiK2~n=(< +kjUrs2oZK0~bQ!o)?!j=L>o^r+q(V(R6Y+BbFnYh5!dFe21iDr72b4=c$(>J)iR7cFv!GOVuXBVUy(!sc@xa!>^nJ+iI +?+ab%f9Xjghv8>O$!Xr%oa}K^#FE`E7Vp;Xom`KdUCu32@v9VjdtojVNbOO5fXPqdjZH@NJGSdrze{wgs +89eIhZe-vdcHPm$dC}#3!&w{|`Maun^sp8}<#ULR<2G`0Xbl&auk3Sdu03vZ?zO=&(N$%_R=2C`2sET +tg`$iX)%Fiu~{dTy*CK1vcTHz9x8t}72{TQ +;E*r)^8PL8xkc<0I+ahUs*17fe2Cad$6(o(ntt1w!Nq;4xWrDEq8NiBQ7qwKP9xa4tN0Lg+%nY+5>Fg +xZRKTvH`AXT70tF>)RNR~J1<7{sJ4$1Y$_a7(ZEtGeNOO*$r%w&qhy3sl89#m4(cS5Wy2+7rc4yVmKA +OlDA=o@kGo*eqTi-hmnUg-R+nzFZpz^#1(H494X~CQJB#x?X +a_ojrNwwR9nrKcG?nr(Orfu`1ddYdxLtXAcJ%O0xWH8Jznukl|9BO9NGWLHh>GHqAb#Q1vR8u!0dmXB6Ufw`C!(c=PXqbWA85}5$40=2aXZ(7sS3B@{8l(WZMY4xiI`+ ++axo*)qm$c$y2dPF^`xsVNNQRf-o!)_!IF9ACeu{c96m%FJ)-qE;X;y`c_3qIfzPD9&=1Wckq*D_`4* +mtA+bU8+MiX8R*iEKo?SZuR;Wyv+nOljsYd&?cgEkPm+|=8Fep?(ii{K}XH_uxCy9w^r#a`?f#g+LZm +}Xhbxs|moJFDubcVFn~S&$rWv0J|iw&HW4>*@+Rnyr;F`uSxNVJZB~N_cBcyR&e09|Hf+RIc0W`QsPj +qN(V6)c7u4N#u@Y5+$!y`?~aqPjrWNbky6SIW?deXnJ}?@&rl0Iy!nGj*c#j<(sNi>-8SoNqDaJ+%x= +vl?45ocxTS_7KG7(zdmcRzg84~7F##$C2e4XzLI-Pt@TKV`~Oq^{H{akm)!(-a2PqkF +rmZE5z=@!-`y@BMI>)oE6Wnr7u{oB!eU#%+ck39TIdu2wZh6kyajd(-P%kIj$EFAJ* +90wCgSF04>i(nPT@0ILp2ktGc;T}7S`ym|;hmOrhHT%@` +!pS%FK7am9E`Ryu<1gf=%d4xm|9eUPc6s^!^1Wy6Ln0I&65|o0*v^4xujoBf5oCo&DvLDVG$%HU{lw~ +bF)Cgdsxx-9T?YlOES~G*@b+#0Ql7^G$7p_eA|I%YdTWAJmcw6c9Q;2}O9KQH000080F$jzQPSmIR9X +N40BryO044wc0B~t=FJE?LZe(wAFKBdaY&C3YVlQ8Ga%p8RUtei%X>?y-E^v7@j6n*3Fbu%%eMRvs{= +i>&6DdyU~F|5V3Ri=-7+~t%amU?VSHrtt0DtpiZ5Z}j;uRoq#7 +=S3KKF1N~?ls*4H&9Ch1QY-O00;n+tx-`K8s~wg0RRB?0{{Rc0001RX>c!Jc4cm4Z*nhabZu-kY-wUI +UvzS5WiMZ1VRL0JaCwDOOKaRP5WeeI44aEhorUyLSlB}k4TRE=LvA4m*&gkRY9%uxCu>UodnL=8^*%y +%ljoc7F&b;~JCIWMp(m6Q%&zkkK-KJRA5i9d1+95AY`m+Wcc$?zN^1g=vMfZPVI?3QoyZz*EjA%yd8z +8=!1zmbopBq1`v$uJ598M#M4navH}Eust#|Ns`RyvxIg1dDRm|{A28-!qnN2Jfi|;iDQcZwbF+xUaPY +@!SV_l5E7B&3FfeS{fE9eNd*{>hH!-*-K8|VgWTv)Y+Rc&#tXw&b|1-@;K)<_@7Li-V5OI>qqz+P1q`0fVqC2>TFK~C +6Fc)7|x90V_)P>xLouyPJuHR1_#x*~PeU?|o|7rJGXgft-=QlZ<)PecTR55ksMSPiVuci10P)h>@6aW +AK2mq6001BW003}la4%nWWo~3|axZ9fZEQ7cX<{#5baH8BFK~G-aCyB|%Wm5+5W +MRv7Cup^Ahg#2I;2H=?8&zvAZTe7FG`aFNhQwTcd3U($xiw}QJyT$?r>%~gj;7%AZ6Q!-l3F0r_Q +fo*J1IqEcfQFvQlQjkOhHBfO)D+Mu?Xxygbkvpd8BJqd>FGT41Uv^BUOUXjvIBXn!;Fq!Qezt?yp#v! +amM$K5R`}e&tKxtEX!)GydU<(w3**!z^lQQZIGcLrSPa*maKxB(731tW7(P3f}I#2l&Mjii$!A&t#!c +K&Cpx^z*jHwgd#4dSTyXp{Ht@;iQT={5G&!-d$xq&gCq0gcX@VcjDkuTNue6JH^|UmfoId$i1hGHVXf +*T@&R1D+ug!COD04v@v#7nW+2NaDdUi8Yl7kdTn5EQB_m#)>xF)?rUMe +wc0Ckzaq-dDWzJ}~~c^beyP8#{+BovZKG;5r&30OTQJz&V(9syONR9mBKS)+Q9Qf*_WX;IU8$NztlIKb4Z(*BK5d_6@}@@S_uthZqyS1raAhK^=}gOM@eEY^t*xi#{WEcbpyYOO!gB{O9KQH000080F$jzQ2+n{00IC20000004M+e0B~t=FJE +?LZe(wAFKBdaY&C3YVlQTCY;MtBUtcb8c>@4YO9KQH000080F$jzQGl=n5W)cf0G9&*05 +$*s0B~t=FJE?LZe(wAFKBdaY&C3YVlQTCY;mkojAIOAw8#X4gFeKZ7Pvi%$ec)0-TG6J>5uDHf-_zS5Ihc)Mr;ZAj0~;tj|61-Oc4 +%;Z^6^y09qK5aQ&%)-;`?!bR&c?j2M+I-*XUhi&M($c_aDG_Prd;Gw?i8sznbxlhFKyBIiQ4E*w-o4I +|IjX3*Q1xGC1N=YL!b$hPc0>}9CF&1PG}n)`WRKDzOYM`HU&48a#~)HiZ8i +0rg>%~xXdZjGrDx&B&4L-8D*$bFHlPZ1QY-O00;n+tx-`TfcwOi0000U0RR9b0001RX>c!Jc4cm4Z*nhabZu-kY-wUIW@&76WpZ;bVqt +S-E^v8ejzJ2;Fbo9meua(+gg&6qYri2JM-D2ERV=yhuR}~RbZ^?#jueX=fEcUQLWsb}TZ(~SRZ=y=Yh +GaE4=YPvpk@xT5hgY&KB;pqB(DljPR*HQeNnLa?x1O-*yx@6aWAK2mq64?5a&s?fZfa#?bYE>{bYWj(Xkl`5WpplZd8Jmta+@#^z4H|sIvK-^U@1NHw6Q)v@sJJdbqVcyl38aR;kOHG9(2%E7rd3_VFl8VOPa#(>qKkS_0 +Y}h`J8oY4an7ribDlHI!0j2T2arsoaV&PMHz6AP&6Dw9Mu^u9+wME5m<9ElHS*iOzy_5*)GSV}Hyc_?rC~^IP_>|lO@xQPN%AA{ia(&L81!j +!LSo3^a+9B7B>nKAkBY3REQxq$S<^)78qgUn(!k{13DIk`*y73n#a50Aa5{TGFsa)Tp}G%t*6X)AN+8yh2B-GT{NoI1mPck&9KP7x3|HGp0JZo +RdLU}IqTy?#7d?P-{KuQ*FtKj8pGzU0-7H7#v1fk3&<1p(#*hlXV{r^SUPjZVLB$XN#wkr*4Lu~w$rT +>&`z$S0=~4RYbxZ2^L}|=k7OZ}A<@Im$DPe~){KqzChSKp7TXiQ@4?0&AtCnO9KQH000080F$jzQIgSQplkyG06Pu<03-ka0B~t=FJE?LZe(wAFKBdaY&C3YV +lQTCY;$TyfLbdO=#keM2n(5zsR1sx&D +oqbKjt}TE)3E>+~0pP2DK%Bt{me2J_=e%{y)Wxf+D1_aU2@VvpE=5=>+GX@nKx8$ +BI74=0xwg0bkBNm0-9#pLbEg`3v8Q2hE$X+LH?)#{{J_F}w;#@ +yg(9J`#EvS=UWH9lN9(=rED5%H2f)3BckZaLfcsVkX17cACGe=r-nMm311zYHfpz>%724e@Lc>t?T7z!1hr$$VL?-)#Hc%clTT8;G%vDO%eNxO*7hQwEB@$hC} +1lvPwSh(A5cpJ1QY-O00;n+tx-`Ib($*W1^@tDDF6U00001RX>c!Jc4cm4Z*nhabZu-kY-wUIW@&76W +pZ;bZ*X*JZ*F01bYW+6E^vA6Sxb-GHW0q=uV9^n)_~w5Ns~j66exn^*h7;;fHW{@kzNatM3jXW03&=oiG=H@0VxH0TwUI5iCzFWBa`I{RC$80wHOP1(so?x=IM;^#X1m1DNu>-_;E5FlZOm(FyeBF-diq1Gopo>LA4GktK<*cTFjY$-ksU*x3UrX> +kOY}-$J80ns;pW$#QK!^SfE!qCj?AGZEbK**B(ikEl7&2qaT(mJNuO2AMZJDqeyhsizX^GN1P+Zq3(s +oGg6lKU88+_NYX%5}`aK#Z)28AOaor!MS~NpiC*o7YfibN6WT$BRQN`f^Hgjf+xDsghp{35gf_JmPOK +)@EQA~V)!1Um!+(1Vi*a816j%UY$cg0b8Dp_b`bXKTpRel$*a47S6&%_9ufIGn{eRFYRNj|QEOf`Pm5sCmo +H!5um{N?Ju8}u#IDf^BB7?NN|AFbi#^7D1`jYx!#)(tpR9w9 +hmA5Y19Ar2ZMXs3!8%%7Z!rv-V^KBe`;P$JW7s*eg0$cliX2lY^__7S0j&Y#J$i*fcmQPuPnvXzunRr +W0TBq52v#VGhUIVy3SlawXIC7F*{BVys$i=IpscUtYXkqBx&T|0_Gz7B +Qpwt0~fl53XryO5m=zCOrnSHQ;&xVASH!8ru~ba0Q&h?7AHX0jN54LBnl4{1H(pGK934c5A3S#8w{zDbNJmj)K%pkRk^zQq1RetzbYL^50%1VKyWQ1tb8@QX|ZF+k!bQZJ|tE1@HIij5`tFZN{NIB{vO;ev_la_FqAT?LlPuZ +(wuHk@noPpA6%fkk0JCEtCMq)-+39W@Ns())c4n`>Tg|HpVoD5T9;Y#({+9Wmw4Ry#HUkwu)02VnNM~ +oa?~EI?v}}vyxO+|EAr7sXi57CV^IA%IeTM4f5%YESmI%&(zr-emL{s)ngg+0*?18`-fR>dtxPjuxS~ +9zQaEK;Gk5hoQ!_7fpH!(Oo$eohfw;DVMrQSaY*eFqd_oF$Y_vd831qsdqaQSaN>w3ZfgI*!CQcGA@Lc#y}aUZJrgd` +f@BBLr<;>m3{wbrz{X)XY)?y0=w$GP_RRThiMc{v!zBLY&T?Psk3kS3grjy?BH`ZeFaRe0m*ZEN_~LV_D7V~9-v$FL6Y{^3>`` +9AHsX>A-X3YP2mOJbOZ0{hsvkMr*uz#oWc=3PDR*ry1t<6OS=9>*H?6XJ%y*k35}yGVg-KzA5`fSQ9BV_nFH_1HAit=X@urLC_1?xj%q?&6kG9{Ny6Ek%^ca^ZtT +K)VW}L@$SB}~he$o8s5TJ=Q1)1JPcPV;&)uGR-I&c`ss<)3<|2aj*FKqg}mF@8rxfEipr=KFXOly%Ic +S$o~IKfQa0|%T2cEmqPYo7j>q8=#z;S5;oYl{8QsFgaF>UWW-<2SA=`HSz=Yc$ebL+Q{*8fcZ&J+{%i +P@lTrD>>C}3%iMt9dXbzJt2-yeYrT-FE2?Ye~Qy89qG1?P-%Dt4tP!1q=}dI4=UGY4qCBZ$P6a>TG~+ +ob6H;g>h)BqmHI7`E>86FJ@!wwdvwA^!u5YJ{YPMG(eWgOqjhO}6V2HZ681T*AsmI0ZXUI4^!SfhcYa +PaE-e~cFFyjPI+^BQP)h>@6aWAK2mq64?5a&s?pVQy)3X?kUHE^v9RJ^gnZw~@c=uh`OYNm?T1q-pP+Y}wCols502+Rt*6_9TS{cR>=-e +i^`$qEGj~-wgH(yO<^9T=`OYcQ613gZTuo=x8+hp68N>O!FvM$t(#rI*I=ri)HZj{OkGA(Iw}>#|@V} +c)rm(S7)cEYoRyAavo;MX^q@G%<{e7Wa+6;s^IGM+i(B$;^QJ%W%5X*@Hb&vWNE;bS)l`=RS;FZ1N2$ +&@w=F_a6|T#WS>PGv(u$Pfkuyn3ZQD1Bs`6Pc%}jdfIMa)2auiz?*LWtAm%zKRB)SSyFjFY-td3{DFz +9;g{p?wBe4pq{-Na}RfW(DdPCxaeOAaIv?#(X;)_^lE?KOOj;cD6*H1epQ<1J!+4@})&lS7F{}o!qs_uiUkmVd3ET4`_^jzfg#TIyx$+;4D^ +Ca8yrcNPan4Cq4Rqu?iGRg%+Q=M3zU5AU+EeNZlwnt}FZ=xeHht1$iq1O>>PbJZQd0N7JL +DdSd4IFzFBNB>27s{8FMqC16Xo +r~F$_`JX-IfAN%i#wR?*iAT~!nirml5UEGyZux%AJ#urq^k{#~mOlNDIdtP|#={VgNF~f;H6cDId>CH +gPl^~^vCoXB%wuCxey4q=+1Cj~_g(?Wa{T~*l0CqBc$&z4mL-?j+8+viI$Z3jtytnAQ}NJ0R0Y9g=wY +l%AoBE}WQ9-UAL0ZIz$29a@Qq1JaqH_zLqzK_I;!vlh{`8yCjR%JEVF3uLGf@_gM#_vYAq5UDd-VBC> +vinI6DuDXMVMZ1dm-SJd(O)p8mIxS)qyvOycu!~7swss=N +W8aa$b{%*)3HAq4Zt-jPK5ns`Y)gma`R@DeR22#}FUNH5Vt%j7!!J1*|15uScOdcH~hld$6XdW8`p*{Mk2Sel#5(41OUeiZ!e!%uI57N>0b? +_e`edh5qEEDU+BY3MB6;8p=ysuZN@Zb8Qo*3ek23833-p|dbc@|aup*(zIQVWFIYJK?~VEWE`G)5>(3 +l9;8T)B189c5HnEh6FL^QVZ_(kxARFb)a-(ZBYb<;6O33YvV9ynQ4fqF#Zx&I#d;gV5bihp;S>t8y5m +n#?!UKAQS`&maSGUm;{o76mEEU%bi*3tZLV=m?>uxzyT6;QQQZhTRV$83fO>w&7n&xcqLqsk3=`ZvWg +|y2~4a5?bvt=wu&8QAUJ1huEb}jQ!KN6WDDkcUQ;}Y_9;OfPe +Z-W9c1omYbU6vVeZ^^;;9-YnLGY9O1IqGih|VTY4a?GXCoXN^nL`@FLa_5h +BVe~(fkLp-OcMAz0z?RJ!tMwV+Dz?CX9Bju(Q=6JHkm_MBAjV63jn#RR4F0YX-0`onyC$QCppb_(w$} +GmkR?cQaHK=F{8HQ<{C^)dY%c~Rw7JSo+(1(@=tCPlE)cyI0l|MapM+@F0=09a$N$toTag2=cFsdlIN +W188Ov$i91`>@e>#PsSwgNnUZfE5E_*M-H{-R6pZj*vWVSaMTMEGz~zdvOB)CcflN#x)jgpyq{6}EJ5 +$tMPN{)K0(p}&ZK}xg&dPlS2j48xh&wX}G_2kDLvx5WnHy|$L-!h(vGbO@X7{b-(xc!fNHPy(B_?U0cu0;u!~v!M_9Dz* +sR$8@hQjB%&}lJ(+{xh?L{B*xXBjXl`(Qj+Ty;a1QFdX)i3A6iRLCx{U`NI?WCTTrKFB-05#eo0Xk<) +^8ZPJ!r)gM9hVfWnB;9rS2aE0~`vqp40%v;TIws&WDLlUePD)y7&4+A1W#>t@maFM8-@0C{G)F{wu6W +KQ(=M}>mRyG$M`US}&;fRA0u1=JI(%RSDKv`O3@qWdD7K||6kPuN*I~ngN2q4B%tB!SAr@i$(Z*}BC9 +F}tftXhd$HM{pmLi-{c?eS>cLlN``0s>{HH9AtlZeMO-$B|fTvc8!Gso>M`Pz+Dmd=cZU}kR5?B#CdWf)DhPtkuR!td3 +aFm&ztym)50M-;ycC0KYb$Fm`z#+^A?5HUl@)nt!gF9SbIn=Meb|Bw45M1Y;QF+h0T21~(Dzuw-LkvR +5)j;;1N%48cqV3Efx-5b}(3)FHWY-ag6olm)*HAdCevn(g!xYIO9ttjV(o;am2a&jND!(pw9A<=MRwa +o`epNz7?Pb~DNDh`|8nvw3zlnjVidC*C3AlO}R24$y< +H7G!MBI=eH0zzjIgY;cW*I`-Zw02YoD7>MYoLZ&7Wv*US#R-1l5)1fe0AZLvSV{(#YL64~2CQ4b+>ME +$y#7wlSQ>8JY0{2HXlGBpE}+tSM{f(qUzwu}2dzYlF*wWBM?(YP8PM!9qd?<3%hBRHgE5N+PA_1s6hY +rs@ZEQAG>IQHEk#UB;BZRdbm_EuHxOdpIjp{;4_CLT0Sk38bhyL9lA+87wr0O5S$RM!56Nc+_lfD8hg +@*Myx<^0Cp@4K$b8b7=)E&3dq@61XIb(pjoy_>tJ%ATlx6`ExDaYlNI`uMRR>$dIySMUNbL~Po6ker3 +H18&@RG#PRvWp+MeiMS7RbL;=z8;vTvglkqT#GL9-tOb{{VLnCup;rPAtPhDq`1-&TR;$_RhULILDD@RW|%WHZ9@|!p+6zFtb>!|JpfWQ^R{F$hzRyRBS+>6YCbbN5c-YpZ}N;{*a!5fm2Lvlu7O +93>?_8Tr4F?no?lbLz{ywopUXrQj7Mu1u-vU_E{ta^jNlJ>1q{_)o^o?VpblQAd3JNGd$MjfE`ra&?F +1Yb`4q5Mu-)>Jf%>-bV|ypt==Lbs};HiP_8{xuRP{kW|yzxjOpeDzksry>*WF)WR?j!0J8*OL+aGuhE +*wl1=@7pVvfQys~0b8D8@EjM9hp=d5UFz`V@Z3T3wgT5|kgyMdWgS@ug62vr~{!i@>0s&`0(* +lp)!R(<5vfu%))A7*!fd6AlE!s0g+aMPu3dc^gWw!bp&H0!=LB;sKvJ1rS7ZdA3Lt|Pmph(rzBqB4M~ +>bAMfM96#7TW#}HZ@Ufn$64voYmkZ1P8^lH<@+6;P$3nrfM~g@&ps8b5%d^TuYJkvm%`GjIBK6Qy)}y +2yvc0WjI8?PwN;glnquz4n6MY|>80>3p4TX9~sqAgmEg5Sy7>BF +7HO3Yut2l!&)&1Ddzp;z`K*5j{-KWJ +l<#M5H4*^~;{erNY`mgI@Hooi>rdN&DPneKyRja<)o@Zo2a}s|D7E)yb&~HA!g~-1cgd52WKM!`L01)XZfa`n>20P(mYOiGZ#C)4BL6TOY#N}z*gHU-bw`S8P^Ib +8iAB*pEiVP)>vhwT83J~lUg;;Y}L?h&ZzYaM!6=xz;uLUpum{qG;bY23HUANJ;++Dx&Rn`-i0g^i&1y +_6kMU1V*+t%deyXQ +8+FRo^6_W9N9zn{+jbAEGt+I^iqoVIiy;PFaGf4B@_F3j~8JOyV04*3COoxy+4ssozm@N5wRbYLO;5A +%+{d^?@K^b-~Y_x(x-dw58jkAhc9frB%5xZs+gxi$o3z+3ZV{=|#(l@|lV>BNTw;`j5#`|sXfUZ8-Q4 +YHuT7G;8rn3vDfGt42<5chF;YU0>zaKelNT$ob|feG5IO;5a)2HT7v +omngdw7OVK6pvQ~$>qnLL_z<~lJh>`K%JJ9a~E`=UN_`Fr@@~3b^LNp0T0yey0LQ_e4u{gN6sC{A&PA +SdQL*A+TG=o^WHl(&Ggd1`2c*VgBstdqV5UQs?%&u3QYm_iVOAmaJOCgZMuGac^O!N6E)Bt9b +eXEE%coZoACbM+Fe&mnhw!a{q7M;j-Q|o_1Gv^JCkKe&<1pPebYbQ|EPv|WNVqzjP2mdrapc|2lMfxX +>;Chw5x)od~KKxHf+nWfuLM}pUujDJ8WnXS)jrVNMDd5uxctu$XlsIevvLKKjVA_C|cjl>2Xvk7S +Lx(b`#3i05>+_T{1fAwveYP7940fjrtO;xZzmE5lQA4WT8~#)Q!Zj&P%SnJfZaQyWp7Cwdw&w4;ysPO +78lMw4dG$ebh0a%6E|9L|EP>Gl!O(`P+?{#j32)Z3KUNysW7#EJ=M7)M2LyrH +}D8h2xXbkD{N00k*n}RtTtm_2$jnUoO61T)esX>EiDnE>AEXty(J`1=hrS9kI40`MvtDK74rp<9Gk~a +B(>gE_*R-)f^fCb3I{XIx+V;Vi$N$9nA~qe9l9$67ag*H!XvwTfBS!_T9z%4?kX9TIAUX|8?=NU*5j| +9?6GZYP(-;x6f_5k!GNE@$;)Uiyto+V7@K#fKzE&(}!Oa81r7*ZDo;X4ID`O@b>lFH<#Ez-Bj8CynL; +IL31zS0w-oNeqJ8vd=W(1B4rTxFO)7;tI0HYep(fcr%mPH{6+A`SU(%AgoSmz!7iDx$>*cr*p`*JVA+ +fC77Xw7+33Y<$b4@Db1x{$_E%p&efs>A^~re7h7cQ#>B+T8SV~a^ZD=GJI2Gd6av6Tq7L?l?D%foVq` +n2X3{#<80f@xPxGNp+o9b5adHHfR!ne^)gHmfxi3QU(8C~M0)Caa6odlzcG^(GHT<`I@r>(e8*S3ytR +_ir_S&Z#s8Bh-uh?%q-eT!WhW*C +I>xro{2RE%IQ!50)-=pBY35ZaKmgY;szSXRMrKeex@sp8btDo6WctT8R#N#gUS531w4szSayhNEa$U` +HsEbUI{P0-Fcn9?@^5h3HyuvULmedeIRs@;9{H!rZdHfrkf=?1zJ{B+wlOGcANWr=Rm-3h0@h6wR#MBbi8AG1^E%oI}$P{n +!em*1$g;=R$v|lk)EvFqanJyC)qe+)?T~&GWZwFSn#&I71@090HaRPt@X0(vJcagN!6k(Fsv|B`6S6C +e}X}NicB!=>;z_YNRmq|PEtMEs9dsD#d0#b`gnc!^y%#S?whCAcmJ`12ln*(THPFj-F?8)Tm7q>E*0t +u|K3cebCfM`Uc|7fVOW<(TN71IaZ7Gn;vHA#eO@&`8C`=LUPb6jMlLm4?p?t(qcRb1eR1==ewcJRaog +i}c!xvqGpf@CUR`ylb@UTtF&YDln+^_GLu>(qA^3M*#zAyXCFBi6~-CTKh*nbuv`_#zqxjqIT`%I!j|x|WqD!s@uyd +^rYjzE)4JC-CR$*GHi9SHDhgj$d9+AFlR6Fb=*1n>G_p9M%cwx?JgJhg5`h@Q7E#E2BBc49+A-n;iez +Fk=4XO9pl5SB~=_K{r%z*UHP`x(@4_^H=5zlLLZLwcf?QaZ=w$MMyV>>betdPUu6H-bSWVpI|QYJj8V$k(Uq!Dl)IDAL4n}#d<5cWxP(N +=l(cio)w`I6tbzPI7V9R*H9wLXr$8_Fx<2@6aWAK2mq64?5a&s?tXlZn1b8ul}WiD`em6T0y+b|4<@A? +&lilR2+8QXP04@2PXS}Z*b$O1#L=~bO98Is(O{rXY1+(u42U^*C)NIrZ?iRrBAp{~2pj~441WIq_|K^ +&b?qsMyQ7tqQF>7>yGj9NCP#ac;^Rw&0jNyU$)h*{$72nevqR@O4kokVaE5D?y%u-x#m+8Ym{&fzDh+0SrA*!zw^%w +XmQTBMkz5kbntjb^-c`Hrv?WPQo~@e0FO^zSQG^a-GXbZBqPSUh%vFI$Qz3e?E@}FlT_-?AJh(gw&z6 +S1@MK(53m6xozK!%~ITkPoO!Y$Nw=1_G}c34BqL>WH59CpTnH@{H_=_lou?@_|?&qJV0aeE$i{E# +@vF8a^~?MS%46~8$AOnjCV8kD_gTjcDy7Cm8ute~KLvso)$NtK&x_{0)3s#9H+ZYNbC{}S{M+=sVu+W +1$WfO@SveOq&)SX;O{emKu|0k`Np7@a!O=o!L$Go_Q-Thos8=%${8XNZ=p)Auoa$mV|E2s^U&q&FHlPZ1QY-O00;n+tx-{) +IdNKN0RRA}0ssIl0001RX>c!Jc4cm4Z*nhabZu-kY-wUIbaG{7VPs)&bY*gLFJE72ZfSI1UoLQYZBfl +?0x=N2=P9P?!4+&g^&;w_AXsRj2cd^jLUwo5V9caRR`l(gY}8utw3+$-W@k9(D~|}ORW70rU@*doI%v +oq&_`H%+5=gHm}w#Uu8EybC4sUOx9AyL9M#?#oG>Ot61MnM8)|lw3Aj_-l4T5_7&+~PJfLmKgWfwz0o +%AY&qmkxIN}0|oPM40tlXdtTiu(t)W8e|)6AbwYidvPrGA)>``2{bw+ES+edn-1hyUc|>izAb?^c;MyYU=eG7`TCMgOVNfIXH|K9$+sjW57odKQ$QlxNRUiAb`%svB9R43mg+ +&iX}4x$g3iHtv=|W$&R42I$us2omQ+&V8ugRq(L1SlTsOz>}K%AQ-gmq7X4|G=Y;? +CG9JJqSo%>6j}5vAuRXZ%o_rBG6#_#Ou#{(ip`1(iuXu6cL-q?$O9KQH000080F$jzQBsT%DO3Ug0J8 +=F04o3h0B~t=FJE?LZe(wAFKBdaY&C3YVlQ-ZWo2PxVQ_S1a&s?dWo~n5X)bVi%~aoO+b|G*_g`^n1Z +?oa`WgtMBp&o3>9z#c5{yx8InioMMv}9IvHyKK*-q^^Eq$E8Skis>>$}tCN|ul$d2MRNk_32JNo9aOX +<5{UCCxd6j32q?QiMWJwcRZ57u(0Lk>`0C%fZN`QTKn*;+d&n=7C*=kcAXShCzc-j9H-FHBfiqIoyn@Jv5p#FbC#D%^5X +n?G*9iEX9kowarayMls8j&@=R4^EXm~%sY3&5~IB?F84R=w}CnAVt2|VdV6L9xagvB0tY=+%tD=fNAN +`AvykVF-0JycaiEH(mVZq`Ae)M&talZ>nCv2$(yC%2^IO{)HI&4`8O91UZ*fD-6K6%%R)vu1PsxRks2 +~J?ErqS^#~b{Dk-sM6>%ngfRc1@~7`LV5L_s{yWhGCg6|N!oI0~) +=lP`y=r%$Hvm!WX^U{Z?eBco>V7W{1Yj2U-+hXKYug+KkTvJC5!}R<$|Egm7K~!(E$kY^w^*ccP{^r$ +ilz30i`<&>`Rxm9W5i^vQ@6aWAK2mq6p*=y}dvE14VY$`%OVg?`KF>>|ofq1>NLu~soPRVHJ~t#HQZdFVtihXtdXu +~ewMU!5PUuRZ9Z5LnOQ963?|*($a*sfb@u>YN44#F<3XBGC5eEzyHr4|ygx!vY1^69K-nZ1S!XTvXFd9*vl87wf>mc*H*zyecL(}@#@P9hT5OlU2 +X*j%cZKrPtM#F=BrHZk4_?O(^ZG_EtDINpN^}Cdc39mHDe$1Oi=HyJrXH93z|Gne*sWS0|XQR000O8ldVxvW!q~^Qw0D32o3-MEdT%jaA +|NaUv_0~WN&gWXmo9CHEd~OFLZKcWny({Y-D9}b1z?CX>MtBUtcb8d7W0edkvU6aw1r|>b9}n1}EaA~ +L^edJS9h5H9^}!%xLBJz=Wgu3>BCN9Ps~oQB*T}hrQ6aQUkIHM;1i=-0m=MAW-n7J){E440;l|bSO9l +Y9DKLlo3Ijsjga|!>SRrT|(eG3tgg2Y53YZV73i+KYakF8txiYbG&Ay_h$`N4cS%69%xfgvKgWg*e8; +`=CPSKuHY>2)oqVvKmAkuN8laRmVE&a`A0r&V28)^{cM#inxBPbIbY_YEbONLVcly!8J7gCT~;rJW%h +Mv+CybPqzRH6!xe>U19Pxfo>|8S&k`v++U=7k~=mBja+9)6!5ZZ@!eWNJr(BA^8os;Ik`IOrIdl;~$t +q%?R0!^6?s#Q@)SY)ViudcAETvM>nif`B>|-mo_4{7adjD22ttduvx{!v%!=(we`5j&>qi5i +F0XiXtF11y_GpTJ<7!<&Rc_yok3R3q^F^!zt<1F?Ks*%K4_RZO2?3O{G-ytc`206kz*Y`orbSwf|;jS +ez_AL7*ho5$`u_qlWCgmF|8I9Exgdv8s(XvXy>}&=!X?p&i#;=V2i$}}c5>MjZOR$sIsnSISswnUf1A +7NERJNod6L$r)Gh_~o!%LvFWy8Ab;z(yuR0KwAM;p~1Tr#Bd;%!s`v!}M!Bu?ruC0T~+YLb$&Y&M%^n +do)B-Zi|t>osqR^Hk+FI73QYr|(PJ^rH?W`6VM1L}qPtWGf3TMxL*ms7>e)O5CZJZa$6o$7svsg) +@b^DimQfhc7zf)i=g@oEb)`?D;`D*_TuKpS+_M_lCaK0zj@lE0%e4V|n!CIQRe1XbfKdi`{v6kd7wlqx2=vuec4LH!iIr>%jq=CIo# +!pr-ziB+*hlXyg!@+0_-8y!y=6cf1Wih(LM4t=3jMDo`k1Smq2@msq{&Y{ya8&8jZ61r`Psdoe?1sbhb^z;S4n33lmlHZWEE4t +3wZGic~<1SAS+~5#NjoZZtff!8QUFfxeeQ-?UOr3rgW+C!ebJ!?oI_%#%)ZeKKea`=6k +#_o78eclnPsTL9RKIXolKlB`CEuWd-EtqkaAaXpkyo1D_CD}6c@6aWAK2mq68*6VHx$(Py1*;%9sg*bJ9r}n+U2&I7S_4fGBu0CH&o$^3CGo +OaDobt@-8KKcGedHh9^g~erajac(UYs|_%SLV3?d`HPZ6j`PncQquV;H~Fs%nk6wcn>~A>T_aRX +t^GElaf!x0N)a;gvpHB8aWr7Ps$3y--b|^?J_j0`+t<9zy-Au +d9laDD>r0z3es%qq*oc75>X{!uXB-={5mSFv|mge?$46H1zl{qjD) +YC?ABLEIzI_qA|c(bDAGcrcQ?KcKAsZw&XLTT27w2pRq^!Ryj;%2`dsVr#eoOUFDwqU4WnrcZq%eJAf +2!V}NLpFqVOK%sdY&ZV(B*x(2IGc=dyysOb@+kOrTS<@=8bA0xdaB9XOSQ398so9B257zmj|(1St*Qn +3FXH$7TZeheCAd4}0=!Qn!BhcWwmg`X80I&h1Ieys}@-0RTY5pu8j +dA*aH6qD6r;@toBR+yv7O$V*z-)h(JRAl5o%2^-Y$*jnwF%c`Z~6tXF&mGG227Ub<#?5D5eHdd)_EeyG_){Vmbm8PGJ|*~1jz-wwh_fJ{PxHsExI533-pyaH$0tq`BN|ty+u4v!+o^Pp#d41s3jzU2wyv?(z2m&RWdTqO|W9Hn28t20z|=25|5O1F#5;%(5kq0F`C2|YFy+? +6yS#BVaNBW+&mSr#%y{{r1tKjaXmUaJ<)fc9>LSu1o}P~8CR4N|@mH5Q70={8~{wC4r +{CmBE-c6zCW;el2sX;hj+bZ1&t;6^D!PNEX2Aq6H5ECBav2a?1y-Q1Vn0?yh6$`~a-NI +amR@bV_OPkOse6FIdxqhnPd2J4JWt^Ap4jMKEYTA&>OxcngF=c2wzu*;t{?5GdxP7j0Ji5;pmp$EBXdT_+*61@Y6Z-!F+wLm~0b( +IFc0A^AO6MhbNBnZ;mi*xBW&&yzDUy`$WZC6cS&Ff#fTb<(6U0bD_kj_yAIa-JP&$b?hI$dkP@Xq@m9 +W2bkA}++bXcgtgQwj!?=meHkWHY(na0Zi$_)FSRBdCmsVJ-N7FzA{m3ls?qg`eJM@C4l2sqyWOtXeN(7r_2}ZslP8ZpP#^0^eR&9A)D>|K5Iby>FlnP6WE=)*sREzZH6^3Yf-S2L#4K2P +Fq}<#srmE=qA7-c5W1#hYAyKUnGXxtA$DJ4xzX4e6Vum&7mKOGm&;=WY8Y~uptTl#E@P7+cq*i#;-R9D}0SRA|Y9VKk9iuz3J+Q7619# +S4uNCZ#ViJXQei4v@7UfF%gS1S*pZ5tmJZbjca~|4qEpI}0-5y_FU>LTKe5o5+=1Hvop?k1{;!QYkT{ +T34vCmM{pGJee4+(rcG@A#uC$U4txDz(A;*mavZ%`f&D;E&X`LLiFR!@?hr3YgeIoO&>c=+M*5a#Z{=p_b~j+`>P79v$H(YDmB)+FbPQi3uWk!DU_TQRWzJI5t3{rbJ&A +WyyPz_)!tYew#5kvc|uTFw%`?Z1e_A>58vL_qm#-pbNW+etVm6-`x~MBM|iDUU0B$-GS(Z^Kp_D&&A{ +D>8Fkj56R_jS!frjT?O5Rs32Qb%;|lEH)M#^(CKg+@9ZwRQIGzgk&gDS+ve^vRBb-QNE +=+uey`A_y7(vuXF*5sJ;?HOE$N0?+m)y>%3++7hKlI$}eAP8k|*a~JXUC +jMX^hAUH{1-V&&Q}bFWf1zg7TTzD^9y>EC+WlQ4r5ucOoe3x@LvDm-e8i9mG?(c7O(4KeauTkn5>yX{Yy`pc$^ +$Ewvq4iqxW;s~8*-dd0JNS&`lf7h!W}>;yzX;ARpK9cxGasDds_?@O>_Z*N_KyU2RK!!$Q+lN>$gI%r +_fiUNZ9IEZ=Ee7|FINZG@_m^Fw7AgTmjTi7L8@`fdCl8QA)9`u~wlMKyqg6crvXXj(d +hO9$Cpp&>rD&UCYZT*d0yBbT^sd)5*|F{TGyXFgBG>B>IUQ8g9U)MRHZ~1&KxoX52NYQm+ar_&ECl4C +(Yb^{{=M4&%5XrA^T2gh}2gzW;06$+Mj5bEk^OK@X=Y{wnN<)KY1@lX2SBSq-%(C8XT83F>^T8>RAK` +~dRAHc#y$dk31PEZFlNPDy8xqxw?=7_uCw=^>MXBpIhq`Vl<5m<~WSqJ(`om63UL4~m*_OKkn2@#9FE5jf8z#o}4LxZ*3{brK(Fz&#B|F7Z9Vms|BPPG +i-){l!rTF@VnZe@HSOEf$dHjur-gR&vz;B}n-9B=9@^XzWijnoP0*iV*x}?m3)fije5E;(lSzS~t01gEk82LJ%wA^-p=0001RX>c!Jc4cm4Z*nhabZu-kY-wUIbaG{7Vs&Y3WMy)5FJy0RE^ +v9x8eMPOHt^lQf>jViUKOFs%Ya}hkS6I?Y)OjN9X6zf!ANw%RhB%FO5$NZen*OwNQ#u5yles**W`Wi? +s#AFvaVKWu~;^|smWr2=xSZn9N}A56%8kg_IrYI`al`2$^VW +$v6PB6yIi=~Ej|+bttQJ!i;-&BTg-@B>eez~$8pJ--sl!IM2S~~t#L*=kVV63(e1CQyeY_gobjsOs1MLqPL} +A7@bhZ*uAxOv>KOhDdML<>lpKq5PFr=tIyymv-HF`H3d|Tf<-GotG9KF+Q3S*z*ew>I48B;zj1Jnvy1KO$+P-r$m54dQE!-Oso_ +@OjJM&cHZH=rE{P6~u6BVc~ssgLB+(=13*FfzmyGJ_JVb5xHdsn4sdk>9eKU`|f;*`zE}FP&5#1gOc+ +0Z2esH-g|Cu*8z9u!5AMMu7d04IJeQy|Xb&!ns1`Y>{1i%45EmrotXN$(_eZ{v+>D=NPqIdl2^!IVt` +xhX7H=PhiFw5kz&k645dh3onT>9dhaiPfOUl8r-FA!KsVIu(__QHL3X~F7WC$#}fA#-D4&WX!%`&q7L +!Prw`E-;W8g6%6cq~naHTBK}#iZ{1)OdDf6>?P@OiptvM;Z(8n6r?coGi@bIZgP~vGlJNLR|po1BC;) +-pKIZo8_JF={5aw5gGCEun|O9EGWc +{MapSY*=#9kyR;kCiQ%YO<;x$QD-t?V2nVJ;4;6*mm2ZAd_3Uqs+o#T$$TVNvBp>2LvaNALY6u{Ud-8 +TMoFF5?LGp!v0X|OzgToxui8~neKi{Nobg&J6XNH<3W-PvQB0Y?PhLk1yWU47>p&tu6i?Nc0830XeG$ +V<^%8O_lBwjk2Py6xCL!4_N4S7vZB9pZZdEL;LV#k;DSSO=|*9A@%+``f-Wh^MJ50R$C|=x6dgzKSAP +F~KD4HO{2^kDhawrovHZ%k%GKvqyrX$y6HUfbN#JSAUN7qSp@IU&qjH$Vb_dvdgqct+zfNq|blf&8z{ +oN~gx%jPDlFl9bM+)wksXNfrtm0-hv8y;^VJiFY^`@YZI&#WHH+j;O4I}yC1Fos~ZmBI-6~UPx?bDkSH`hIE +Dtg}QOS_egr>dUNh|h=hZh-x`kJJ_2t%$tOX-G0IZwaf@UA +`9!Re^fNaAca+-j8B{GtOl&@M*P{OEI90Yj`Kv1ZT&Sv6_?Jd^AC7nE;)TIq)k8b=sm-khuDxFvtQIze930dN%knX?bs+O{3>O@mIy=Z0fbo2h3I!Z+)26 +cN|lH1~-Ecu*JTCH3?$*Oy|nA%Hq*3xN9c8ABZ#&@Hac{_P+@Arz-poQP573zrY*yljz;hzbFr-J^iW +D2#O>Ie>opR63vsgSfK#|-=$a627@aozZv4$#s;mpjtfwPm>P!iaqlJK)2;NUE@Z)jIIdy9Y9kGT-IC +?4h4e&we>ZxG1W}w%aUa5sg_}=mQ~Cfm!cKmtZ8sfD&EWExnxe9xNo0g}_*dP{a-bmFXbWK`!AWR;L4%`SeQEv~N5FJwJSdrwFQ0&J<*yf|R4en#en2p7I#9Cf8)`vgNu-Ye)_cDw&KE)TUbnRk +4xK~?hYn@Z1p9^T}BPE@ZXkdZCx2TwD`G&LRDyKbG9xwtcLh8e~jM$KgIJ!uVpetq`k^5SZ?nEmnbLh +5g5UlSjW80@6F7GBpF(4BSVyGq|-?=dP9AE77;dq`iZxa_uI)(_f;qA2=jpZ)j>^dU5X_8E%yStS3wg +-x`-L+=wGpab-sGDBi1&0EU6q$x5)b_9M4LXL^xVHailb>rkt{^oZzgYBLUm(h#pzyEal(=!Z0LU9M7&VcjF`Vcz7sW>+o>YSU~nS*}gtUjxGRh6XI(m{=JC5&s#vISSPL*jiJ56XJfJwNO&sR!eNl +OsBoI@g(mb-WJ#Z(TlLYN?>fd9pWufzVo2wb*ybPpTO7E(hBtr#jGr~-+}bAeY +*E7?HF2D-W8iuF{f+Ok7t_7sv0WDI5?j*pWc-Zz?JveiO8J?y*J0LJEPa=XllO_clvS#c7l$qbs=6mI +|sqK$yzrB^SvH$3MC1w%cP!ZxS)DtXiBv?(bqCc|Ey>k*AHq}zXcX%mczKo9-2YDk2Buj0<8!J7vz=b +qYzfVqIflFe=>0?zky+WKdy+apH)mJ{{m1;0|XQR000O8ldVxvO|8&}QVIY7Br*U1DgXcgaA|NaUv_0 +~WN&gWXmo9CHEd~OFLZKcWny({Y-D9}b1!9da%E*MaCz+;+iu)8_INK)jCG`OI%6IAbuyku{(oZ`oVEb69WBxNK!!)Zz=oz0eb*5e)fndQIFbZNxsHFa#Of3(yF8kmyGHc?E?)_;tioS29Y&LvSoSE +zTZ^YwjftHWmU6RKV~zAS4l%wbxLf@JD$6+n0xz^DkliavscQvsp%#XhqoNT|>y*ZC+% +g2`>w>AtmFFt~a&(1v6pk<+dpJ^TidInatnJ5L^a4@EgQ-VK1tUxCJ}gXt8<|2AF2SJO*`U0y!-(r5Z +BirjBpG?@A1Qadna;FLRb8Atl8!5+;l~LoRNr(!}5w2aFRA0)p@#18)TZ1tRV}a70SyXryJ9FxudEco +hoqEIQA-TAAi^i(0KuKt@IKOq-~yW4`xOcm*Uux6Vgc!&%`Soj1YVFE?RjDzIF;~F>8h+JHcm +D4qZD)&7FnEMA0#InFE_0o6cR)pi>kYCgQiYI~xL3vFvai +PR2t9kuq6U(IWRuqXNb)7 +;D>I9{@fQ5gBVrT_66eYO$jQ2D_@VH806{a9(nIX0&&`?x6f>^U<>pe=>B>kPIH{4(_EkNLsgL!x;TC +k)c_=k7UbFBJs%c?=YlYNACxY$DFC=JP_bm6?Ofl?A08_@|sqzD>}7tsN5eyNNx%Lw4zzlN&KfBx_=_ +oDg>lS32;3?M5{-E+VPfE1c`k<#hwMr;>5krPXvn7wFg{lS>+mW6)2I%Jez9BLUU>=3 +rn)t5JYLGv;rPe7>1DRcCW#k)}94TxilFPVn|QSyDJ77f`zp*z;d66>Im4X{b#iGI#w5 +R=KN>&zsD@6UdCh&i1JO1H2R6z^dD%KKKBzMhZLGW>U1lQduEBom?2!)?owH_`g0P)VuLR3@7K7{gvF +0_W(};9}i3wZu6?qZaR5(n0eZ|1g@*55v9~Qeq@QdLoP@$pEaD(JBRL0a?Mzk8ic=Hr9MHBO$_eml<^ +%PSyK5`uQ49&z?-ZcK~_(RP{de5%KTORAM@XSeC&H6^gnVlh3!}xu?SES8-RF`$GGmL{=KR7a10PM@& +do6&xLx2@x^?><^KicLXRDNzT?^D93ml)^keiw$r8fpxeyhlpbBFfzSA8if4f1^b_=vsxr8RhEEa|W5 +H(2r+bK1AU@-J5Zx2z&>&X*y~+vt-0&8t@vahM!z!(V5bu9In|TLJC+|&#XM3G~OTypdd%f>$UAXFQ* +ZofPC7OZd^>GM8 +Q{DD~v|PNiRJVPf-756Segm8^&`bl+C-4k(EUJE2Lgi4q>#<^C^QI1ONw;Hfn#FYgZR;yjIM06d7iFj +8tf8$tWDSezH@1es+qH(_f6E$LoX8T+n-o(LVq(}s(0}~-^5!o2@c#W>;N^DJ;MJeS_3FbaC!_}kS4O6dkR0kMyTBY^I)dEn^mHHyI(5-0MFF3l@&BE}8+1C@{>m#f3$3@D_qPIi?pLe1qHcw`E+!ZHqkvdGg3Vn?AI +1cPoYOXxD87?KemN1MYmFTm0@ZJ|;Y{({z&a7Q_v^st=dwF)4^HfC8$UderXCCgza0#fj6fJKH663#{ +Hm|#_*Y-t5D9Dv`AOFi?$+1%u}_~tZ~x$es#7f$OQC_SJ4#Rd@XO=es4)bv(`4@ut>MvFJG^7rp~g&vP<~{1tZDJJkrvAdh3 +e3V5EU(?dMzZb-Aoyw{s=lg!5@FeZP_KubGkWV`XuR=2^#_edeSsdhFth&Z)z9rzf>Hc7uO@NE?*^!2@qo!)w6k`AM`m4Kf}a)tu<*%7q}iXh)SM0N?An?|H7bFiLt2bLpgDD$9d +@t*S-W%&4iT%R)~}Tfp4hFM*)dvQrHd%h`qQ}Udi7iBl{vzEIA;zp-yPzF>PpE +|YSQ6yG+oJoda>9By#yMU>M?GAA#3y{>i)%;`FaM)Dj>D43&%66}ZwKka#~5x_#67gm-ZKM_e?D38{q +bz3zoq?I{2>Fxo9{0gLgz0O=Cl6-P)h>@6aWAK2mq6D|S1=QO=>T@FM-7GsK33DQ0_&42GM9wY#Ql@L6{2;P-xlQXg^E5e)Ywyf%`xFhw +Nk^J)}k62wX_?ay$TJ0io4ezs*QL<(g{Nki8Ny8bToNSt8Jti?m0}jXC!HOU2X`=*@hMMq@WuHbk?*c%Zkx^vSjrmV+E-If^x1j=aVC{-2vD24{63 +JNVfnXYnIe3J)ud$IG;=u)<;R1>%S|efAJka)z$8Y34up2m4F@r3(({dT_&2dcTJ5%-qGzAgQo7T&=rT>%zX{D_xLmZz-Z?({eVt7G6ht+otD(z +E5HZMKc#2UetI74ht|#&GrN`#D)=1-MRJgQZMBx+c%B5y667R}Gug^e(R09s9h6Hx&aJH(PL{F!(*Z` +R5>%S^2NQ0eo1SvX9^$r_g +SJ@^KP@tfO8ix-RyR_hFhl?D_pg9flxBeyQ8=nixbVIZ8fpcr%ocvg(TN9dqBqJ#!1e6|$*(j*?yG%X ++|g$h}Vb=C@!4gCJ7$lp&{E%7F;6WmUZkZG=E+f@EsO>yNC;XrBF>RiUk{>OpE3e`m$2rSR|K)Q~q@5!@fvl+(JdI?w)@;hP(4J_tis?ZRTdr0dSF0TuO~pEz9IL;z!nAf<9!H-{^|9p1+>FR(5Ey+gD;tPFm|LM?Vd(U)k3(`8)d95kQ|mdqIbD0aP}6gm6|vNw$#QTlNTWoekgzTi-~wPS=o?$^AR +KxlgvcOa51=9)7CE8|1W_L1>?lpJr04-Rin55&v~Ess$znlXj71zUsec6cpJ7%~UES8^ith7Ch;oYa! +-L$37Sh0-4V;Obt0<#PS8QoQ7vkkxNn~PX +I2h8K_5O!9OW-q!FKa#H)zbW|b9(Df+>#epiN8b|3c-*%iE8mH*82I}pe-C?3h?+Xc<$BC{I6IW1VRp +;~oXsZtZ5jW}mcC3#jzBHSyS&eQgwKnD;(_K3Gh9BBQ!x+T^b%nGbVk{;Ld5D1{fC-iM?@AquC@7gvU +ZMyAJ*|Od-y!nX!V0S!-N1E7z@mXh)N!mwUS}7<9U~j_&H*AmY_{IG?1$GcdZQ{kBM-om{}TjCeqZXJSPKS~ygNVoK&G`Q0AZ-&G+bR^CyM?0?L=iT+DfTu*F-7l$|Hn;9%X?zW+igw5rP`@dy{bop +e-uIVTbUJM_0U$Br8F9+wuHRDtvf*kO;$*g)m-VX5LIklLgFQ{U?)wAZ`QEOf0=TwGZI~=SRh0C?TQq`3!k01Vb*rcbH<=9)l!Cx36j?ojbpwvWsfhxjBC-1bxBLj$W7H78#zIy +$IKIldiO7t{Tp8ACl{VQ`#`21h3{T5(Z!N3nIFqO6*KbShNjQJ&4Zaj$P~Mp%~HQZ +5vg2V(-1K_PoTh%~qnL*yPuRh0(9<_nrBcChVu{cW;$uAT!fl^2HkpE@H%7RiN|>76>mFI76O-g<{me +qknXU>NYAxkMv7*FFWg0J@cN7s)^ov-`SyD{8w!{6xs(R&PL?XZGUI8*y=ZuCVh-a$*P3?mF*PHd$#l +7vwJ82GbeQeb}*FS%RD;x{h0ruQdyXD^Wt{yB%zXes{#S_-L0oFHoWP1b9N72Pwrsc7Xq@t*<6*#5tuBWVhJ`vks|ehRYPlmf=mpP~(OxXsER*l_{&!99 +{D&kR<+<@&X`nC7ogvMLy$|*bIuZ_cCA)Rr_+D_OH8{YIy99eIx?4W~S~=*31D9n70=I#B7`Szv5s+q +^LV6LZRDR-za+TFFK6eE1C=Rv=n25&`N=hI|=j!!q201ocU}EQsod7vtq-Sed(FD)3LxkGziwCgb4PU +?+9zzc;c$dN8o+qKgHs_i<>6iB?*7m5Oy3Qch3z2FOeTW9P)Lz0R!>Yc`q1C7U-XB)QDm-lo6{+#{Q& +4U!m6N<~g;#R^M@%`v50Baw0-HZxw45Be_aR0Hm1Na&zjI-^T2w;|0+~}wT{x`-0prwFO6V5mNJ6<)m +R=HFZM|_17~Rs)w*mIb4dbE(-l(fxh4qjcP_|Ukmz6MGJ!QPS1a6=NcBhG#aeL>^I#CcHs(#faXv?s3 +CuOMUQENSLgQY`Z%%J +pdZwtuy&Fx!-@WNU!CQpNGv0MOW?o9YR>~kH(NJ+z*q*hwYLa$$E)7RnMqS>s!qAsWM8xZx0RIX)wHe +ph6o7tX02x=>6p(%s+*p~%7KoY|XLXez3w*AFP0KinLV*G%3xS2xKY=??GJgG4XLV_DrpI-k{GevB7 +WTz!oK79M6`PgqTLmYD+WV1FRh8~PGL;+rN%9%;gnqc^7`%NnY;oyCC6SO>Inyf_f@mZ(g7hL7 +6pNOMa84?mivJVTRWbmP8e>dcxNDfoD{7xJd&9PGxBmlPDNMK7?=iAIWT;K!3hs~aV2#fD3Y>(v;i_L +fXtbol8VMX`BzgyTDWgl^$IK4gbFJ9mXjjf~}pyb{~7U`vI}cDpii`0neYSZJyJpupYU-B +ivhyUYqRwD8>oxPJxCSucu#9~-o{c@tgt+hvlJ5X2AYwd@Tp0NZtVZV4!0j9-pO7ri{J`!9A +A)U_QQ!)M7Mp*;57%5PkT0^kb!~scGFl9@m9vIGqG8a!4pgTJ@&MZ8qKD};oUjIHk*M^|UO{=Bsjfeo +ob`Ru1U1jlS_0IMx9G%9!D%)`Lbv{1;G50|XQR000O8ldVxv+jeS&o(2 +E_R~7&OEC2uiaA|NaUv_0~WN&gWXmo9CHEd~OFLZKcWp`n0Yh`kCFJE72ZfSI1UoLQY%~;=$+cpe-_g +}%fIMnHqVAx}@6ezB@VGnDIHS0QDgFt61i5gk*Ecw!`=>I-a@^3rW-1f2ncS$7jBSn6s=!9YT5@IbSk +FC%O^cGT`6p|a*>KugSIkQ6T!0vNh?Dmj|?Uv_USvUxl7*q&s&iNE}T-CDrz?A`!pqPl6#0AvXhC`Mk +c+3;HJK+lVlHzZk2j1#D2v!>6oHNUT0U^VY$pg=wI}8**f<0xN9QAfjy1-S0v^o%JCV5KEb#?XKCp;f +S=!-k0EchHYmt9x=(s|otVY=dGD=9%HSU=n?N1}Vo=Byik|cn_8xxT)+g14c`H&v%8luaY3=w#Y +FKOqFrO6L{S+R;ceoH4nlt41#U0Q`l^_1?ut52G9|mBi0>a7nX1Q_bKM!UKsRu3WXA}PWVPT1JaZj^L +eF)k(&mN*5K{z_){I5df$PMI(;fQ50Ey9X>KAAf-dcE`TD0RRyUf>C_EaM^V)>pF;f&42KLxalm?ESHm=BAHj~9jc?4DU_zxA`u`H{PbE%J5juW>pwvC9= +7AXR~f?m{qwPlyflHV<+0Qk02_Y<9Vc6-3L71$b`qv~jmQmb*57>6O-H_P +D_8XPUd??$)x18wgBSyE90GUO7w+rJ$yK>9kwa^xQ3LidvSitL>_cy;m?7Bbl7<)N=rn*EU2^w*%s)= +ukJ72>cEKg}KGRKSKhGOxnlZ(18wXTYOz)Fx_vpja^jID9y?%&8?!{t4cah +2dvY8gZK;o5Dvc1*JFd`_ter!9+)mTyD)7Op#$MEj^0g$*=atnV`H&#k3NH$ww==Gd=rEh-Hq%(8GjY +0<~@a*VbIAVU_M1eXbX@s2N`=cKcOtKs~U7AhLxO}-8QABbburaMU0n;!7=KYQqT;0Kw=_uOXoc#BlB +CvcnXo44%EzPYZ-sjt<8g`2Qqe^X{H5aTL97d9&_O&kQ&zPj2Mi8rzsM{XKCy_bM>EO88{iE|0x4=MT +pFsy2e=e! +Ma-oV^f2oYFj_rVeP*wOEqvyCwY4OE<%*Q`{BwP!kzHB@-1Xn8H|6!T||KTea&Vl3pu5zMFM#I)sVpx +J^N7e2#OzP5mHF8TKY4hc?Hjq0~f^$tXi=r1506B_2Z^7x^>vsR4&Mr`LJr)SxxOIKf7V)5Pg9T=h`3 +?m%cjo-4Ebh;JXmGYl$|)FaYUFkEhDv2;%{gC0>$K6QH;Nu{UajHuX~ooa2B40SKiyVfbq9zDfj**ux +eFyJtoja5(gdY+uK^-9P7K6{`~KHTfF;!cYAmt;(8#P85~{_4&3>d&_~t-9AW@;2%&+0|XQR000O8ldVxvAuZZM7Y6_U +G#vl{C;$KeaA|NaUv_0~WN&gWXmo9CHEd~OFLZKcWp`n0Yh`kCFJfVHWiD`e)fwAv+cxxFU%{ylj#t; +%9`+(E0gA+JgSAf4xa+zguxW|5*~pS1QAx8R|Gsm0kx1R_qy>iQ#k`#RjfeCqOSfb`UlpRr*nCd-c9& +*?&}E*+gs1h!hDA(}>MuE?7q6-1AmQ3E>1tbn@nf^h~Rkk`TYckv&mm_Y4Ubrc26(fnIZg~& +pzYmM7R>JJ*sm7C9m1uINcC?nT<^TRnPoAClo>wz10{G)EDNl}SJ44U&!kFecsVs1mF2Ar)3PA@`ic5l_}cq&F-9uOZM(jtR{e1WyRg7aIzJ6~|;lZyBI27UF)#77MaMbZ|Wj`RZPh*)W +28BwgWHl9Qyzp5ZTlBesIrNP}bLLjGdx +@I-qfSgiIVK#v>2C1Lq0l8!ur!oJBO)4JkHc%+!n~zTN1LC`=m`D*76n237gQeznC+=r-tu-ynfEtbn +6(WNou%Y?shR0FHlH*rUVOWnnCYoejT&a7>Kv|%i>bO!kFJ6Q|XUQNQA^Ra7TZmNn29+sK)?lRq3K)l +cS)iCM3ZWQ_m=ZN)OYMN%Z5ZHW1RRm10z*OUX~~Cjm#-Z2I9N&|nU^Y${6FDLDa{RdrPBVe3P +w1RGO;fhJ0p)=YV`kk;8oe*p-+F_Yb3wn$NpeAG#cvRP*sv7>U3RSwUB84z00bMYZa*1<_hHpS==(IU +|)qcC>p)XikG!Ef+i8MrgjH_-x=G1ukcV$;lP3pU;tfUBF%zaMygJ&OY&e+zmvT|K3-BduXU?x^$c|a&&X>ycL^8rT*fk}+J`S +iE=Zo@23L(QN7WkmiXF5OR-1KoJ#4_mJQqg_cr2YX7z|ygtLp=h2x*{wD+cI-Lks`U7wJndLnCaDVoI}~)HG6pj9kZ3tuvbCMk|UYqmio^ +>=w$Z6D%3)P+|}I>gWRh@bKGrj*|jIdEiFi~Ul!3ak*FenWD6ssSXjRb0b#i$}l#^_7xS1>1T`Rney@ +w#8ltf!R{A +s2aWUid +I?OYM1m$sV3I4cSJdkX++s_3GEa?OLoWBw)y=1-CDRvM(#f@iEaadO;(Ht?Q<#i9c(GLzfzhEqeIo*Ce(oA9J{lbJ${LmCUBvqIwM7TgN!03jYxi_Q1MnryzO)Mm>jdk +dKPen26!*j5==7AiISslA%%iYHBZP(d@FlQ>aJuD4qiM6CXN02f+r=;r6fjSRsq&}GKxP3vw_^&@sjS +Y68AkO1LrDtjZaDZ7RK1Qoh#ZnnJa074&7zz0KC3Zo4bIC9g +XCB}AwNBxS@X`tK!aYO`XeeYV|!v +wT~)UwM)Ws%_y7Ou!ccSdDzEAdSDLc4K^26m8b&I(v+xbej%WEv`pyxq`uW*unaG|v))O;4Nd$sOEj1J#8gGGpzZ5+17vZXofciScLp!TP +~K;tt3Z*t0swgZde{~D!Xf`>CSnc~5Aw_AT6obOMv-=8iUfoFMLc4aDhPri`kiQu^|Z+bD@F(H*L+WYr{qq +79%fSpkgcvFu|AMpD5V~%~WTlF=xNl +vwQKDESW?MlE9Jh0~T!R~mliCQ`1v}|@I1p;iGmf}S8R%btl9n2);P#79I&#UGOr~JZWkKxmsNBmLiecO{Vx38Gtu3PM80-x*54`Zb7S +?5%8tr?m8#^oI{BO&6;vbct{R$6S}VJ@};lQWWMm6Pn*jnASzDAv@Y|CFr{arN{UEPv~7Rvj$di +Wkgy_u68n0P$|%DG7*{zD|;`)r~@=5uV~t8jur!{TB7T{AC=4DMOEw7AX)DM+Nd0b(hPri6EV-^c7D)*nyr$deZ-Xsn +~wT|XFpPlij$SIjqXZ~O>9xsX0XYh0BkK#_@*8>G^ZXc<%b3>D-Z8p(zzcIF2Ls0JwOVn-2@u-jbr5@ +*3A?5}3`?&|pxF;9U2bf7^lBOArlZ~Gua?Cb(F$CLvyh?=!&YUv!?ORUz|eqbr6vNUal?BLJ?61R%P{ +#k*hHsFC7hP2b7V8O12d)(TmDIdE7#Piwj^N6zJ#;CwXB(QLRjD}%2y9!fc>+MTXlqOhnZLu3Ikl4x( +2Z%Wo`iPMZ2@`|^fH-a1WKXY7e!ZAo&Xen_t2t%e4V+zn{6sH961eo6#&12My;vao(WX=8e|Uwq^FKb +%e)ONlB)iD@Zhm5)%TZ0$atC=Xc+IHL0zHiP=y2grmIGAEP^hh{V%$khUG0#C)Jf +)7c-DYj$l`88>2QTV~770OU4;wTxT}Ru)=|E)c8I1itx;dl;9VHrU|36g5NBN8UIbD%vI;zcw$q%mpJ%S*cb0p+Lv5spNhqwU +A)O*!yY!mUof2n4X>+p1ThBKg5(8Cc%Rgdwu#Ma?tH%$7Vbz`niC81$;-+~!*m<9S#5lPR3V)ayLOXU +=&__?Kku(}c14$z`Et_*2X#fWk^QyuNbZ7hw9*egq*4rMD!CoJ)52XYXo>Tb&c_Dg-o8qg^ZT$gH_O(FODWRAvE!Qjr^R2eYuh&Nj|e28+%lv?VqZw25t*4NW}d=_xwEErO@6!`V|_dWnHvGA;~;>I&L(8W +B(0parPzhdJwWqxugr5=e55=T-cv9=t?*6+eWbWTSe&o4Nyx11QY-O00;n+tx-`h14MLr1^@un7ytk+ +0001RX>c!Jc4cm4Z*nhabZu-kY-wUIbaG{7cVTR6WpZ;bWpr|7WnXM~ZEP-ZdF5DJZ`(E$e)q2+Ty(W +CM`-q#Edz$c0Sc^X(RpZ!zz}GOwz<-hKvJ&#?{^NV3n@`{yY*$59}-zS=i}jbuJlG0dy*uZN>`F43E} +&)kebl7DnzAOV!zKx#t&TaBA=5g=V_6#L~zX{6>73Uh?19aa$tE@$XM}XgQM9|C;C*fi4{u=Ay}#bNH +rqwWX2@R?s=+fA#vP`W|e8ln0+0`_`I&T00kABm3AMxO(fg0V_9Rw&B~gpX7jjxneZJ2)AnLAnPhB3S +g!E+O3RswZYBgid_%xQMIMWs**Ex+40y`TOY@EikON|JrD>kBnVNS;js|L~)=@)56=w`-olU7qIiJqS +6s!SGrV-ef3aS+OP!xJrtp5T6YizVVNqEk6lFSqnn>i5X?2E5rCfJ_k+R$|i>;7uG13o3oVd;4_Y1gz +obucv_OvhP~@_bXoJO}6JRNOD`eX#*AoNQ$*`pmO%(c*ik80vkzA_bmD@aAma?JWY7^ec; +qdX|_))DWWK90ogHSr6#|DGx!?PYawMJeF97H^cgqg5F^Hm@fH#Q1LB*|TlH>>FW@L<77((O?7)jk%_ +0o`ywJS_a6pDC0nBlfV3eRrbZ)a8vI{oyV;EBoWZJCk7AP0Zf|D?S!_hlU&U|L4K(e~_J%h-qgJ=vvn +W1KXJHhgLtD)?5o83)3ooMi)GIgP5d*?XrtaI%`J@$+((I#DqYQpYzk=~3C~-!Rq*)#^u$)SceciuOCht +Vkk&Ute*7lwPq-l66st(F%%-EuTJwo0qkc>&8Dmqo5pGYo&T;<=t+ywWMvN +xy{o?IRVRA>VPPjlup8EUl#C2iC2P7Xh6AoV{L<@&sPhHyKxSE!Zv0;B3QlmR%jFBw7zfMIaY!BuEUvnke1yi=eN(+D0~Ohq6`%%z +1u7sGYv7e$q4*11y)A5*-@m*2^X=ksIlqWh4^UyS25 +b50{lfAe+v&+XIwO?%9++Xmd-ghUL?{r4^KR3TtQhdVot`mlK%}vvs~N2U<~@Ls+gp1zj_-;+8ZeH1_ +wKFXZvbx_?j`(14wd^f4iC_8mY+t@pRaGOu2&etc$qE94?j=NBsN6)j+;w2gm1NH8PNq`w<{EuVw?A=r-~z1RU9j4ll779jc@$rXuoT<>IX@s#5jp%sJJ=FmU8h6? +6>|0#-Au${4HfDv|%gN(kZ=ddt}SC1CIFKjwF0pc`;7=LMc+KWe6ouMnkzb2Ti=cdz}UO;{&ud)926S +M9h4_qqS>cS1AF85e?MjDA<@^|!r*YozSGM)6HI?G(E00o;FRySYWab+tUF6vD|#D;XP%h&QK{`}g%d +Ow2hA9g1F@Ap%%)$Dm&b21Fo7v$;b>4tn^B&9jJxKdCP$r_r{0& +e`0|XQR000O8ldVxv6JKo*$N~TW1qlEEDgXcgaA|NaUv_0~WN&gWXmo9CHEd~OFLZKcWp`n0Yh`kCFK +1+s(IVyV$I6t{2NSgVohC{B`Yq!u4(Ve}HIvQ(;u!dS$s(PrRzEw0dtT@D6QFUnnkXyNi?ESq#p|o +}31f_Y*&LvT-J$hPG1${`SddLM86FaLXA)Cw5-aWB~JdE!J*a%XbX8wS{<~!VpMjp9JXEo!Lz4m`j@X +3@U{-R;PK#%E|nIg~cRlWBvKtt6Rq4KxJ!;`XzE?+?`MznHU3SULE)mA@qXY1zDRPgRG@Ay>|&6dMGH +(fIdgCsjCjOfqE%@uTFFCSl?Yf+FV}V19vT|itXt8cfdKv1M|Io4*4$d$k8wBr^yD{j0_SuX$@RN`rd +uKhl@E~b8h8LK;-4{!%_M?qd&dkq?kLOAQt4hu +T3qWMsa-k5gir0{%8vGqodwX!lPnXd1gTWA +L)(iq!HQm$Xa|_@&Gr(QNa$)y<0~e0Yb%1Egj@T#-C@mO +@;~dR8cvuZZS+6Wd6qx_oRqY?ii>+EummR7)EZc8{1*-&XfhkNcT!X}JSG+fS1_acHh-|*^+3MDzRuA +r&95sYtn$7>+#-*-tJqI_6(u~!3(hAv9qCx|AXl2-1CKhCTbdvNl`&h%gfsi*{zdpGcnkRxLMREYCf% +ZZS%s@j5*ZafhN9ZF!i(0PCVnnlP`g(}XAeo`U{lM1uSE30{bdyj0$;_sBiKu25f2z}C0p<6(wmuHJb;4^^O5GH}KjH1~qWDO +i+EGt6dY?`9Q1X^Z)_B!?)0;m56h0{+iar#*#ZqHmlxsU}VyHo=3_NySuXqY>$=HXym^i5&u(UV61DidBlAhjDceR(7a#`Pxm!2yoE9$HN#2X4YfNNmHxn;72*89H+ym2o5SCNZooQ$_ +MW0VJdaJneWU?ANPGvEt^;?jcV)kkV~B7~D*GMtkSzKQP)h>@6aWAK2mq6mT->%008I!000^Q +003}la4%nWWo~3|axZCQZecHDZ*6d4bS`jtU5q;p!Y~j8`-5FARjY}(!Lru<}iF<5zEG +!EE0Ix0p02lxO0B~t=FJE?LZe(wAFKJ|MVJ~BEa%C=XdDR+gZ`(NXyMG1i{U8gq4JS^#*PvdYP19}n( +sa?L#p2Sype4%TMwWD>l*bkO-*5PkL{gF;z1_Q>fjAaL&U=P4Lq;rJqcNiEEM+;OVS+=PiZScGZL7mUCwM#calqcIs2-qn|4GC3q)iYfg2Qbf^&i0|3KwdePGG!it9?+D{GO%^ +nX(yPfe`e}})Cp`oo4IQBJoK+(?3sVoex0a!J{N!CDn+9QUw-kT56H7mP)7<)_`^b}B^g$p&5_ms&xV%Ycrk$OIT&-Q=S@9mOQdl>#f(*zV)p?R|Z>t +9K(GwS3=nesJ4za;*YivUumd?Vy#}o7@Kp%$F|lAL1V7%Yc3`O$P)uf`vUQ4wT)ApNTSz}pex^qk$}m +&t)SL?lR#6H$2-{m`FCUQf)-aW$dz#-M8pmV>W>E{!4&I +)Qhg}H~WY{^yu};egYh-^`N)EAkm9ocrXA`xZ*p*DSYq~9(mt-aKBuO>cbxpWV^Xu%%^EZ-w^O!+JvP +f^6nW`k~@Z?Al1=Z|Us%|hh>na6X`qz|&GD|oDdP|G+d>fVKe&mVmQ4Ng_%CW7u<#sEp#T-Kc4nAnFJ@+UJkRNB$%AI9^EJ@Ed*$U4z7J)0PSdpv;;0U0~DY1wy{5n$VG* +0WPvvTY@>rAQh!dp`FpA`>V2iE{LFDaUXk3Oo?bhF4VbmzC}Db+p5J6bD1#FKWcn23SyzSsXL9}UAIjB{UwYf^F5&m!F5UW8`AElvW)Mk@AT +q2weRi$BcT|~7mOoluqX~L0CH34evC%<8Xe}}-0nP%sP1rM@+B3dgW=#&JKOUdBdbX*T^jLkAgH~rWn +pZaEkP`jO2)Q+~$=zr>j;3N8Ym6Q>C~jEhCYnZyrZ)t9;(lMErjuxSVuhC=tIFPnqTwB^Dm>BNj+QOS +T$lShoj~smIL`_v*z<)%+_!&+7XAHX8vGJ-S*YDNc7#VBZyDyL_e&~-FN<3Ny(~SP-l$N)*TcF++ +Sxf!E&q~zUlJx#Cc8yvu27q)arm*Rba%SDMxh@5jspTe@>J$Nnx$`HV?P%D3SLC&K*TMP)$%zzXqM+&m3fiL&WoNx{!y&bCE^L^Xx>0Qyf=SssPyU_dk#ktX0<}sx#v9;)Fg)#z6qt +l=uZ3>Zi+(M>BD6B_JHUV>K?XQmD&6k|43gm6w020XZoxatJ6QhUit6%ZN-*C3--Lo#`p&8W~tf7HZ$ +n2_LMpy+WdA>AgT%QgUUi6NOd%^c)=?&!oDWO%Hh$YOMY(MB9H*0fewn0~wL72lvlHAnr=eUMCRZez}R)vwN-O>6OYSv#%Q)}|+iOo +k|zq`F-)!ziB4rQYp?P-IjN7=cKDk|<0<-tEL{E4e!{s)b|;Xd^oY;Z3eI;3ok1ZNEE(3(12DSB)ss- +cIjdyguy@H4(m<8`Q8GyQZ6vS=99RO&9yEDYZ`3DnC)ln&|52bWOXsUnXXHyW~R|hk{&%uAy>_^1%pp +dZablwbaXe%VsV-m6s8^FN1i$+C3!=_FOX*bCWQeBwvR;Nx*o)fSPWfVm$(%7&VH<@<5^50eIB> +&Q`J28-lSf}D{iVSn^&hr(&Dc?>jp@B`LERGoImku7dAHG5O%)$t&ufZvZ$I!QAtbHZQ-`WaqAu|B<4 +2ogiOac%V2{q*>1{f1CQnjwsYyryq#mBS$cXtmp53)o^1RN)FeytZ8y<);}%*cg|DRi-6Em9kEeY}oA +G|W^gs6-MaA9@qe6R!(`&-R)cnDC9i&SyHy)bGJ(3eUFQqTx3G22e`_1QY-O00;n+t +x-|etV%R*BLDzyr2qgN0001RX>c!Jc4cm4Z*nhbWNu+EX=H9;WMOn+E^v93eM`?JHe2u22j%n0(IeEP%x`26#y`}6n +f(=P3Q|MKJivR^(A`~LesfBNJ4Vf|#ktof<``O_~y{`mdR|Kjuf!T$NQU+kN2zWeU~te<}V{NoSbefQ +~Ke)=mH{^t6d>#x4~dHnSGPrv-UN&oMgPy64u|L&)?{{Gv){q#>?)#u;!520MIf1$*GM&tx?WwL?1n0 +y~{y@*^R$cf1rBYq#{_X)pGRpecKllAL-McfsyChY!o?n97CCmA8FOA)0y`{m>U`{mXf(E^Z?5|Jp?Z3Al;kT`#zZ_%wPka9R``^N3z;yFma@_}$<9Q&!PzNt`KS5`^5}*&h6x&BKva5Zu@aW!+#g +|xIuCh)R9;3pT3u7)kMuo?y@E8?lurPy_-@(dbRC$alk5T0@sys%O$EflcRUV_t?_f2qcCHStPOdJl@ +;li09c(l2kY}-eIBgOgY|jv`#bpk9nA0G_jfSAgWuoD<2#w($?xxEekU_HCzf3Cz}3jr#DAN)TDV%d+PG@mbLZ;d>g4L;u9#o;>xy?=Wqv*L>zQAlxSF|IxX +S$c#;wM!%&#BZ%KWllSJ@gPh7)xP(*?}yD`DF*Pl*m=)w=lnj`7Nyc +g~yj2$ifa}VF$9X16kOCEbKs*!95S|nN58e+%uc{GPq|p^@UA+nJmf4nlo8*CQEX%BqvL9vgSKW^M=+}gQ1xH`GIxJqMG*?L#D-j%I)W$RrNz1@|qcTLQ1Vty07-Ia}M&9rk;*{D`Fs+EmuWu +sajqxyAM41h$wnCmXfvi+|7l>8?Aed#MMhN2w>NXQ>N5-hbTnCUui~m->+Ul=_nT&GjJs2jM>m|3UZaPW6#k>|ABF!Y{72zG3ja~~kHUWx{-f|8h5s +b{C*eN{|4H~y!haI}lklH}|0Mh;;XeugN%&8~e-i$a@SlYLEc|ETKMVg^_|L+B7XGvFpN0P{{Ab}m3; +$X8&%%Ee{%ONLR126y+4Gkk1hI(s=sLZ3sXYZKN(7xUvvKumiBQAVO~mbO7Kchc}$fD@2Ne6tb`&+d1vh*G +$oi4x)O#Grb1u(i(3dw^<$|#WXZV+s$(napD5C$NY_+?B3&|ay$aG^o&Lh>FM|FeDj_K$Yac}kRS8Y| +F#SbW!q7jN`irH%P<;ZVyM2>^?8ZOnU_~WP(oBfQbJZjQ9@NhQ-Ud +>D`6;MDq$%>Ua{#eC8#`{%EPHVoXW$gJeK%+%EPHVoXW$gJec^JnBXbfPS- +8_Hk;s-;FTc8;Fi6cO-M?}N+?RGN@z+jC3GbWB}^qOC5TM#sPc#^kErs9D$}U)h>73qJ87p$J5AbY5{ +r9xMcSP_rE8~MJMF*fG$|n~q3Ba|Y9;(Uepxr}9P93y+s +65m`yVXIvhidZUpnYZN_gp~V2sU9bVYQ1#e-oS%yb^*Eq7sr4vJ#3CsuG$KObJ~HLkUv}O9{6SoXW$g +JeK%+%EPHVoXW$gJeK%+%EPHVyvoC?JiN-ot315Q!>c^J%EPNXyvoC?JiN- +ot315Q!>c^J%EPNXg32SPJc7z2s62woBd9!r$|I;eg32SPJc7z2s62woBd9!r$|I;eqRJzxJfg}Ysyv +=Onr9F6FW-zG=lau+pMUt}yYapK{PS0-0N?)C|Msu`^MCj^ns|iN6aU+JEtH&-Px8uDD05;W73t<=6r +_PkR^8=5_Dl{Sa}L;r9JWhRu?onQ$qi)AD7rexoJV#|kU8z*I^1kSPhn^$N+JUaXa9a^gyJkIM28}aC^q>f!i}~58R${d*Jqr+XFXejyVt9o^eCb94nebBHI=ukpplC#vK4K +FhFFgy3m+xAah1$7$8q3FOWI)C?dlsa^g{pAal0i$&lLQ!eqP+kpV`CDzc~|L?s!W5u!>gssvFb7FEI +!Cm!Mi2_}|cf&?X5G+~G(S2O{)q>3Vq%}J(c0`APXVNIOm(PrSzj5`CjWMyXH&Wt+)cb4Qr;LeOY12? +BAx(wW$u;mJH7sg$Ho0Fv-lBHc?+y%HfhuR^B+OdUo1sYpeV+%C4u*M!;yIkeGu?m2d0agI43=kRDuC +m4=tLc!4^PRnr{v)&dG?e%JSESbl82|{*;DfHlstP%9-fkCPszhm^6V*jcuJlB4^PRnr{v)&dG?e%JSESbl82|{*;DfHlstP%9-fkCPszhm^6 +V*jcuJldhwRyd_wao@`#v6rVED*s@9=#*`#wH`%g9_ta2ffLaB@65IUY`qXD7$Q$=RYIG +OVT_%;h;d;_{Qp3tTSdaxIWKWBWS)LgWN*Fdvxt01q!j?j)fTb`}Dhg}}~2fV1$clT`}HmB}4sUZde? +h0tiwg5gjUo-)Ej-;?{E4P-w4Vd9Z|_(qsWdS`1NVC@52`v7aN2d=F5IV{XPtbJf>A7JeRTl)ZOAK2O +lSo^@%KET=sw)O$mKJZZ@;RZlHawA|#8}7zrJdzK-h)}D@UT=ig8`y7O7MtH +rEz1|3~H?r3o;q^xLdLz8v$ch}H$dMH}LXjgYa)j3#+3Sta@5uTc3vd_44YiMjaTnm`w;|%3p~&Y9#R +}Y&al;vom623DvhpJ<9?4#BtaxPON8*f+*!YnRk8CU|_{focCt}`-JnuxzJCWy|h{hn@>K9n2sV(M-gk1$ZL{#1NY6iu~dn?REe0pA}>`UmMW2#DiKSS#7mWgrAp$ZO2 +Sel@lqvWsgii9lCV@syi`e8sw7^jBrH`DFI5tjDv6gW2}_m4OO=GBO5&wT!cryiQYB%jl6a|-uvAIBR +7qH>Bwnf{EL9RORT7peiI*w~OO?b+m4u~A;-yN$QYG>N59T +Ez%27BBcBtpuFP&?&c`C>LX$v-r)91VF@-d@JhkXPjc7OR2G+iw-yZMF(<2QNjPXojm`UvFOg@4&N1`&Ab@Rlf`6E~h{OjOB4ot=)`2&=lgZDPsm^?t9 +Og>y1?<^R$Rg6Cp8TL<%H%bhjeT+Z*Si&O{KN1>iydX2Ij*KR?Xp#U@qJtn#nH25&%5hUf`aql4XBsNfSd&g9eiWc8U)pUDa_p%9Z5VnQJ%@2$^t9Ky-gXTthS9(kO@eN7 +(uiBId3_Xj6tz{v_Rp%9Y~uAL2?u-7}W)iilKXySdHyi~y#(`)ih&cqN;-m;kkT=K`;iI2CFM}Fet?c +^Pii6Ndm#1p6IPTpBqn9~;fJ_~0*FAk?!@YWX(8g^B##f!ZKd9TWS!{=Xo9Q=aMzjzW@h(cJrCAqLAx +p+%*VM}tckG$~Ne(~tw)6uo~yV%z6hyt}pVUM?OT#LsQtz%jXlOj?EW;jf!_7BH08 +%?tM%Uct={>y3!1J5(k&kfoD@`(}srMhw)=-vMuY2fQPnLX9KBZ+2L3#3|iu?Qd9nIgK8N(O-8a!*OQ +=nI8#{<1UQ505>nLZ&-+%<7RI7CpW9+4b{9kQ+I3jnG)6pRl-g3X;aool-fyZ(4Zut%W_U< +f`4t6>}5{i7YB4d^RL|{tv{IU5?z5{;=MP$9$^$NQ5lhBU@pL +qnicnM_k6~C8ArjMXT3G(r0-LgxGjqJeFIYP%HF2)b(XP}=U{S5RY(K!BCbQgGH-E|MTghJx_h>#@c5 +!W~biNeFm)rBVXckHBuyu>p(xXiEGuH)Q(o?mwzzh@WR;f-~93H`?J`70}SS)X7$iGe$ghbxYQn+igq +i!9KSB7BvM{tL^$oCoYu`hh%47do!LD00n3InMhoB@*zs3A<$d{D}FJFel8byA(R)P>Tf +ez2p0M`Qq>e)KwXG1RJ;}C-Z+q{z2}#aQNi8OQvI&(3y +l&8}M6_s6*(3NzA34@667s^bfmXP3Xt_*d>oIzI^U-2_5~5-S~(-lvrV`E_TV!?dPk%>!P0>^6c#MIk +-J;ut(sqQ@%?R`mrZNu74TtI7W#<9483T4Vf=KA{j-0rpL885*R*12VH)D+zTgbhvzz;LzhU~dA8EsY +`+uFC^3EWd?|BF<~2CWyOfZ|^Yv?&64Q7l)LlwY9O+^`(*i(Og{_~m_E4)`U%VL9NJ1c&8;Uosq)2YyL$SRVK#$6(+vR~@@*EcQd5J!+0Q{2aumbQ0!5@HMQXp0UetCaa0RABO@g6OCk5&NwAov6DN5LO~KMM +W`{88{n;FoKxRs{Yi_#^O({aF$C#U3u$r6vC4ioh?~6Dt9~q))5_{Ng991pJafu@dl02F1d4Te1$`b> +NpAiUmJyi66Ug-PRKSZDrt>G>VmhU-Bqc27XDTSQ+>wlVWAymsE-cySgNoVrAf$`F+7ZT#`+(3h+xh# +VWur^VcfCF9{W^0KeGz1v|fr;4i>m1b+d3nb#KP{U!b_HZ*oA_$%;By2Yx%FZmX$0)G|!75K&9SQYrI +;IF_h>zY-8U;O;lfWHa;2K-I%H{cgPXPrIuUCMJCo-0>9EyHsqtz#LUD|sE*+;OtGcHOxe+T|9_&e}R{>bXUFaG3$Ke^=k!8L$?2>t>5l8C +Yf@XNY&4d5Swe*nMu=W77}5c~u9hu|N;KL!5;{weq;@XI=DP2it`AM39r>#sF|U)B+80>4~KxNt4ulJ +(k}z^|Dw3-~n^W&ywE!Yts|WS9l~nhmpnU(;b0@M}KI0)9=1S->yXEiSCn*Dd&O;FtBqx`AKTmFounT +kzk&FMjxX`{9yYv#{^9B)eweKEYf3YJA=J_4S({7s|=+v7VJ3Q+H#1^s8$*fA9KDtSfJsXA!oyOUXRK +K7;IGI&5M(*~Hv+Tz6TD&~Z(u>;quebC+G{19V>he&jZZ-TS!SQ_|f&uJ@Gv#*btuStowE_EY48eUE# +|?-%4C`v2wHPkOF*XPvl9xeoMvf!HNqA~}#pGkAZ%kK=dkQZrH#=tbxi^d@uzy$gMS&N(cj;JHPfd;F +zc3jU)HyX5qnQPEG8ek%H5zs2Jd=`OR-3+Pqo4RjNF2VL<@(3jBfLubEb*MYwY{s#O_@HgOZg1-TO6Z +{SMaVJwUH|N>^*<}^_1fBUp9I2mKet*`9ULprP(x-Q+^a?u9FGz&grTo6*_g#LElt+mw*meAV$nTMUDFF +l?5d^!G-@kJwB~2OoT3+_GzPg8+^Y*S2ITU_%;LM3r+a=%S{`*%5H_+u8-}lwRO_Dr+_u5}PSFZ8Jht +D7flLUN72yO`dcdiNkN8Xo>&lHzM4n;D=Tbrb0Amrh)d`ZA3B0DqhPZ|Qwcj<*5K#xLCpl6{M(5uiJ= +qB_Iy5gCjFQMOu&ii${4*U}LniKFR!JmLX3H}89N$@A&Pl7)Ie-iu&_>Z{7vwm&=AW@`bP|Q=K0Rb`Tk;szmM#C06hvlfu4o_?xz +a9fo?+Ypbw!>(3jAU{7Vr00XT!;48SQ7_ay*l5S#%xB^18|;0%H@0A~=K0XU<`6ZW%+{VcGbMeJvR{V +ZZX3+!hR`&nQ=i`dTs`&q<(A`xeof*nacHKblLLZ<{ +p`(AX!v%J@h#fAl!$s_HfgLVlhYRd*se-ctkN79$#7bKcyINpZi`dlyyIRD47TC`s_Orl#7O|fN_Opo +nEDht*WLz5LW`fgz(*&mhr-|GQax=kiz;A-zfZqha0Z$h^9sPIdzoY*y{de>)2{ffcK3(L~A)hYt>A* +7t&ww0;$lQt+SjL#s0H)DuXzOV&383|r;zgNC>!tCBH-fxb)bABj@CRC)uQ`RxwBck=sp`j}UG1zq~VxO9$(G-OEb^0yPt`jX$D{fAw$9FTXsOG!mL +<2A)@Y%PBY?lz9Y*>wlHgaV&9oLwfN--qs{ACG>#^yATwmwt}Fw@VKB?(X319Pf88L_^DZ|Hk+FTff& +IF}wzUXu~`WUL%oTL%B;ixAQuC1W&oN;XVyf8xkI#w4tIw!!r3 +L(zsKD|7l64u2uBgqzS#gO0~Zz<$cE4M*%26)wcC@x7OUbJO?ynDp1ZPuc)fOBj3~Jlz#;hwgS&27E- +lx_s@ukY#Xn3Dda{uBy3}n*g{&wd9?+G4&lpwTc&$u~LYZLH($fsYN_VT2rL~VHG47%rFacOw1vYu-ox-`7AT=;Aa2M(W7PV;^rAnqg~!9 +6J%uLe<3cg~o8N;xkaA-GP@8g?g(;VFedB!xIP^x;Q$cR96Tod!AY)tw0GrUg+hrr@aZr<9?69|9l5^ld^y!_cayb9u)3tD{Pl?cKIe0H0ZWyjay1oWqruHbk*SA9zZ9$uIJ#eLq7CO*R^G&Gnt9JAE)Du +#BPiCt<}?ufm~?7RsD4NV))YtW)T17dF~_LDFElzQcZo!41T(Rm1Hkhs822xyQohvVf;t*GI3Hl05ZO +8cu^rA?S<5KV;d<4m&hkT&#`ziK#q4Ds8a1f$cSN{s;1T?(pEj)jvDpof44mF@|C*`)-decYWfRj=k* +0_@VX;f(oIK4vg9bZr=DSlV!udg^!}G6?Aus*XK^eg?mC +bxd9&8E+yynI%4-h6wb$YGOxT*I6QYxI9_h!cwf7b#fQr{zq+!BFM@N5zbn-L +4XOMVAG?v?1GB^jRnF6BB4go9_z+spm+A!C=4$gm0XG{|d^7x>WBg!law`Hq@n`}#PvOG!4^1T>g-wa +}HArFXU0 +L@LnUkq76c4TtzQs5#azDrEuLzrlgO0z2{eqSgA@xh{*P~g6*YhkCj$?Lns(B5KD=j+D_S(`r|ue8$!@_bAb5c +J-_#6oY`!a{FHxCfq+(82l@z7IXt1UIdq~%7Oy1FE{ratPx`KYq-hD2l9r*M{{fd#1w~`g=g@sb* +(k;SC~vB9&j(MxLY+tvC2>20Sf0gkNc^Pw9i#on=Kbqbw5H_1ZYtOS0gSq(+~I5$c4tIvU+o%#!j?l| +3au58+-emOh9PNE0Q7q*5J_R{~oAN5|FDTdbB>&s7Ma;uP3+4t6*+WJtJ)E6*~XWf1U999;WOyR=1$W +5fkw39B_tuROiv;K6FjLl%iAd-3uDl{)AeYqnseI<;d#qe@t<;Ois&WiFDawBx;Q=v%bKC7nQPDOaq0 +e6WtAn4@10snF79>&LC2rL&RLGiz9sevY+DE}-9>wy4q@+AJ2tCqf07mt^vO&$uOSyII`GEv(nmnR&T +glv5Bt)Z|X80j~>(!5C_Q$}58@$!KL>J~87J6-*bR?Pbi%kWIh0v;Wt&7ML+l +3KU{okc8jj0CUr$f-<@7BVBZ|P=I%lEK5nkgB+}xoIJU=rc=hrXP=H-QA;U(W+EzVO&mC{U=$5_Vu^& +K6WPAcSr?Rd`)j`Rt#%%DLlynIGt7g3As!t1W!4rCr5K}E?-jfWGLA;n&E2Zq~UguklAql?MqktA$>f +HP7f3~dd2Qr2}?OW}~No@h|iEJ*|a+{SysO4mRPmu*yhEjiuTmn`KOmSgL&4vI#e8ooex@q2k2!cbRa +x3_>%%p6V#@M$~8lD(SP%@6c#`LDA*Hd582uaMr=R@5D?-K2`6gX$CYA820(?VoFo;~%26nEV4!O9KQ +H000080F$jzQ61E4_ZR>G02TlM03ZMW0B~t=FJE?LZe(wAFKJ|MVJ~oDV{2h&WnW}rbYU)Vd5e!POD! +tS%+HIDSFlx3H_|gSQ0L+T08mQ<1QY-O00;n+tx-`vGf7tImH+@`6$1br0001RX>c!Jc4cm4Z*nhbWN +u+Eb#!wyHe_LRVJ>iae7#qb9oLoT`>s!cR?kdR)2=d)*Nmno^JHd3Kg@l(eQ$I`cV7)eFIv&a&7B)SS +$OY(g7?0vV9S6Jq5~KbK^Tez`GP{R9HoxXN4SZCSo`;1s}2+hF>3!Z^JK2I*V=2Z?f!DvKfUzw+sj^f +`PJu_mH%D-?mKV1w)~x!pI!dytG`zg+h +7mtXtgvbUdqXW{PWUw`(E=U#sO#UH)<&I^CrT=v87eee6<|NcK_|3|Xye=L9V%@Qp8r{zB>f8>R?-gs +@<|MgG*XSM!!L*vcbzHNwgxw(^Lr +JYp-4*vcce@`$ZGVk?i>$|JV&h^;*0$MX2US&-WTE00Q-xuO!;g4h;RY(do))NDcB7Bp-@(-yRBft5$ +a%A;cCQL*)-V(Ul6%A;!QNANYa&9Zm@YB`JJ#p0i^xUyLMEQ_m)#m}+0wpjc;i|dQUFR-|=So| +W3n~TLSvADHZ{4$G^#p0i`I9)7$g~jc~;#XOmEf&AV;(W3Abru(k#c$A)b}bga$>JdIpRqW|`z;m+dB +4r#An$ir9OV5ji-Wv>&f*~NU$8jH`yuVq14>w(iz!-L2WWTeEeyZtHH{+H&36a$Ris- +@X@G)TmR7TDR6-x7J>_)?T;PUbog>x7J=yY(Z)Z+P1)Yzq<8)^}-Z1toLhJi8ZXm8rJ(YtUMZ49t|sx +hLuOd%A;ZB(XjGp*c#NZHK<{0P{Y=shOI%($MX1R7DTonwgnYiP_+d$TTr(J4O`H(1ua{U*n-p+v~59 +V3vydfn1Ys-N6X5iW#!Sb@@QFkw5&W@Rvs-YkCv53%gUo=<q&waW+R?hpORRgl025tKeE93l%&8*^a7;Tx1?4|X=u}87K +b)XdInYe&`N^Ps(m`nax1{p3NWPrPY{I0EMjpGBU|#+iZKmgL-c56Z4M5-^s0a&aHROt#{6?ch0SI$*m +l78`I?0E9W+*$*m*Ftv}9fjF($~oLg5>Sa}py9)*=hVdYU+c@$P2g_TEPa439zDyx`HWwFd)FnEb0oz_`zxcR(MfYu)`153b0a)x +`GLQuwH-_XVev}?}Lp3oLnQwb+Z5`*9damD!|D#f?T%?aB__x*PQ~KTqDSJw*V*C2y)#kz{xd&Tn7a> +xkixd0Rc{~G30tkfRk$sxgHVV>2al_2_;e<}cizAV5Ax&lF872pJ239a!5qXMiGjVhrb{$N~y^`=oJw80a3bUiKkOG^Tb>As!VgyouuV{eEa4~PuL}v)^Fwi`RcH3d5` +HM|wCXA!QiLChJFU9Phy37&;!bO>?jbq&p}5nUGkatPKNNRbbF~p^!4Jiq)?95wPVhravAV9dZ?ST6c1-L$2aZU3M_4L$2aZU79eeL$2aZUA{1?L$2aZ +UE(mRL$2a1T?R3#L$2a1T`DnZK(0dqoLn1_>xcj+*9PP&-qU3nqXy(E4#}k(qXzmo?+FP0;6rh%F8>% +cf?NGi+-k$Q)kbiuABtOTIJepeZk3&ysA;44s2SYsEiw9LknTqkv^Je|n?brCNzmGK(rpIm-r6Q0c-x +P}+curIZ3gMy+94oR-do~onnB1PtrOsc+zeIqWAPTvAktgnoLZsA-V#^T3ZngJivZVxwL%MaYcUbSn5 +Eh=W@!cC-xBZAa>8#x_~HjzLHM^$3J5j)BmHRSIaFh64IC~_&)C=E6B +lQjZ@Fh7y-1=-b)E(vfU7ZR%qSKn%}3H--7R|~LmjgbqyxmJLc +Ym8jr&Be|u1DIN;048?X!Wh}Yn;Qi<$s=2MbF%;^d1MQ3ZWZ7pk8I)1?E;+SkuAKrQ-G5^vV}Ky3viN +0w(#a&0Z#JB7Tz2b;N*&I;mrdAoLrGD{Aj-bCs$+(ZypigfRigyfj374IJs8BXFVDc!6IvSb6kLJX=7yVKH4K7$J37sao +>lm-K}l`HeiX7wfks=fKW?55f6pr-6!h=pkpKMuj(ob=K0;yhr7yx+}$m4e=c_yBX@Uey#QBPkh{Aj& +dufS;xts2m!up*7JVRG|EZJ*QNJbS=sR8)5F~wTOaS^p($b|%PxFfrx&KPaowzejqv#jX0ulXY3CJ2D +Dac77Z4haKvkXKup1B#o2sWkL9p^zguS$8)&D&BQbn{CohZRU0drtISg{W#+m7H&J<^a&rbyrRJtgBlY*YApveOHBx`S8xi1URU`HHiM*ss{Z)|q``uLm;zk(O)H{ +VWm4=;cR%xKJs=ON3p;Z1n$?);D|3%6}-|@D5xSMlWX?B|FRB6^gj82iD`}C}UVBj)PQ)vbZ|MZ-I&> +{Tvynx_XKfNHp&bF&GgJZqDPJo?uS3&0P_Id%38N23{maBqD*?lTiuoWuYr^5n*-FzwvL0<0DO9Egum +jyudR|Evne=4F!dhXL}0w8*+X)TC;R6qz6J{=PfG$8ZhD#+`7Iw2q^;?o-ff+9X;kE(+7-feMUNzlh_ +siujYFj`51B5wBx2#UDfD7rf+B9O5fBt{d#wN)u~inP<7G> +Ha@%=9_QLb!Qm6-+d{y<31=`hq!TxAzKg{uk +5BZVw8u0bKh>uCPOivM-9970$r +Tx@+tOIL3{?dgs@u{^xC~XLKqVHhR&??o1;i_+<0h?DkmXWCC^|WEH;b);EZ1#)hFh>zv^u>Rq%0oVW +w|OvaLvEdOM^^*C(gVG{^56Y=2fJ&?raheM0;nmfFRmCi#cn?OpQ)4Q?)C2kULxDnL!74wh0J2xU*eA +sOfih2nedUvr|B*@OO3z2pYMwTR_mrojn4A55KclK&bwA_6Z0YyE7;tXzb2@0YPJT=ys||iG6laK+xD +{Ljr=vJ{uMg^zqqST!x`3dM&qf6VeS9`1An4<>aRE +UepNTynhxXYG0YM+1F}SHBm3C)^09epU0kEKM0kDrA0kDr=0kDrg0kDsL0kDq&0kDr%0$?Aj1;9Sm2! +MU86#)BKCjj=bUI6T4g8(fxpP8*ZI-K;% +X85cpBHCucAYLM_i2S&{xr+ +zazfI&E=_LF3%ltDsBy7wE?+`H*wwgY6Ef=H_~u&Z9uN#KN?Q1%^=si;y9X4uIOst6-#TncSTqGu9#T +Uy(_xfcg41v?p-lE=B|VZE%&bIW8an5zvb!xI@fol*>{s(s_0eUmG-{n>Hxaaccr0svt6p_N8gnezUA +bK4)k4V+FK%5Mo7($5fb{=ccs;DImx3_eOJ7in=@0zoSD1g)!dw!Dtgm*#jCkFGgWk>?}}G*OAxE*Ki +?Iv=GGuq(Q&>jUd=5-tYQ|;UGZve7EKkiXzq$vOPpMhmA@-q&8GvvDCEgXU=GG-vF~#Ptcr`c0ri#^wcg3r@wTRWW&0tos4Dp`CL2aA9u3`n^Jqdu? +cJ@mZix2Nfn_B4=|?9IeaQRFSi}Cyv(TY^uoF+!IIZayC`uZ0?C0bvc_VayI +wGjk=so6*-%G;znK0riz@+J#nKhXH!Ma=AO7wm$RuNXLC>7sLR<@k+ZocZq(&$s>s>g6F2H|HdW+o?u +i?9Ih!hSHuuDhx`l;RBx~-88+FN=Dv~w##ErTsNmWcqx+iYbtvRe>F48@5qi!xz6NT)sUjO-zUIIzJ}b){Q&`1@--x7?ynYL +C0|1}=Kfj%R`NBZVeYRNU?pEe{^kBg0Z#HryxiX`z)2n%m-|}dSN!~_fDnFtE^^1R#m|om2v +OMQBK}Gc_U9)BgkbD*(E=t)eSTU%h{-+|WmJObKR+uVgl34d!oreo+AQF(d%`7 +#0A1j0k`}E(w4>E(?G@t_XlWt_pxYt_grXt_y%ZMg>40V*;R$aRJcBgaGK{h5+b;jcN^RCV#&|K+wnU +rESI1$=`Pi2>SSakAR?$-}ed#`uM%HqgY7!`+fm-pQD;vFImIvjn9wiE4l?%H8%~T=2Ad4x2IFhC3I? +SI|ZiZRyfph_ggMhtQB^vr+Sy$8!fW?GSwsLBFUy~9rrn{H-hxPJn?{rQb#iJ!777-biW=jDA>e9$08}N{Y8Q@_Hb +HFne7JwHFbed?nE$muuJ!s2K<7&ASa?9@)=MuuL#P8&0^DeE_Jtwt!q*m(oopUv#mHJKMY~rTXcDvKH +ZLHX8yLWEe$gkCQd+E7sN-J~Q+94D2@c5yJ$3;=tA?e}q!xp;D>oO?)_yu#h+a;-$JEgllj#`D^5YKI +W*JYoRxPD~PWlcSCow6jdN>5xDD~YWllGs+Bq~f0AcJxgU3_m;r5wpSa +zAlZvgHiJRx2RIJG*Zd;C|YRw>VGwGA6lbV|spHyviO5C;+NzFRZgkJIF4kHG7#gjWNgjYPd4^W!_j+ +?S3H7Bi_lNMd%$usr^T-A2lxF!v!NH=bmINzB#-8OP$+Go!d*DXG@)DOPym%onuO?w#`hP(@CAvNuAS4ozqF(t~6=QwwWnorn840o|Qd +788e+dY@z=>r;oamk@E|wTQQI}ovfW-NS$9uUH2_*S_hxHm@0LfQlxG}-PDbPr*41TwB_{bcF0ZL&JS +tgY{Lybr-`c{ZjXgDaqr`{noXS#N>g`D+ctoy8y!qt{Fb`0zSQ}k)cK&)`JmLrc&Ur=Qs;wG*IR3M+2 +3kA-_h=}-`;k`rqg!KciVM++Rk*^&UD(&blT2z ++HTCbojHBEgh@NIAz9ls@om?{x1D*l3#TtPQrRx7+sK>=X3hjNXM&kC!7Q>m&756i&Mq=%7n!q*tY*I +}tJygdnXAv4tIwHRftIoLybbTwTrF?!1}Hs^%^n&Do>9zW(90VS#RY{YLdIt5b +~z`Eq5M5-gKKOyGST^8-C@9t&+K$$(AQJ63X2awj67$AC9emI4YvjU6G^#?YJ9h?kZ>QDrfGTZSI_H? +kaHZrZ45r+2$@z$usNxbLN>w&paI6EihAfNTAzr+Eweqxy}OP_7BI`3UNC)V +D%^$u1%{X&POP(!bX!JaQ0U>rW^=jQQ?tN9IS(gx*vs9v*X*xM?6sFWanzAhnOO1g#$|zS%j~*sqzX4 +@yJ%3tLk}m01v&|1Xl3E@O9GMkx-tCl#tMNAf#uDHBgKAW#KM+9f3y2`Y>DVEcU`gqD}W!~*kTmXa$< +0YkQA<0RbXlD!yEhTBV9$q^xcOy4w=hcKdMM5&g1rSSJ5zw_Th~)_HtLzQp$Uisc5O+o8473*BL9??i +x4!vB<2ekGh=yh`L-iGwQ+|&qtR|D6*<5i!xk&PLXw?QJ3G)tqYUBCVTcN^4oj6bYir`{<5))@}k&&JPlATfPmhVTgOH)R%%Tq>AHZd_*`EN{} +>|@vdmPP&--R$JD$p4~igQM6*e^KnW*{is|L0Qzff8KfH&`RW9suKC1bKTvt$W_!z!RhWP|x$&Z+7SNEQ1ZY@M3N)e!7P|40q6|oPVJ}?$ta|@bcYUO?$nO{J5@u1|i>Y2XyJ` +4eY`ETL)NtL+s1eyPGHS&BS#AU>YPfOys8O>4b=2@y-*5p&S>)fV;p%$B9VJ&5`Cs&vui^3=Ws%$Ovf +&0mqlQZtltr#0H{1a!Ws$q8={3~sa@D=*Pw;3ijCKB_7P(h#x~U*#k$(xV+GfL5rsfiRMZ4^3)byLlH +og6}{Aaf!=U!X>y;`yDEk-Rjy`(JiSNV$Bs=CV5@&^R8>Q1UHcfMg+5R4MvFel#gC*GwciIaWe<(2p*H}&-^tvX4hKHN$DH>O^ +XY2jQ)>dp{~+7%ZrwkvJ}(kF>&y-Fu%N%P%t+svqqRiLtJza&`be@O{e`s;?rO)M>6sRZk7yOm&h?HV +OmM1Dj`Xvx3by;hO)L2axao$T49C<5B7CtJc^>s`U^>thk^>soK^ +>tDa^>s=S^>tbi^>s!O^>tPe^>t1W^>tnm^(A{fw^Qotq9W>RND=j=t|z6wMifzB>XuUK>#`#1>xv@k +>#8E^>zX3!>$)Q9YgCbIecLIOF`D*Dax>jWVr$ynRr}D_>P| +_aB)C}oo$~}5GvC13a|-c=BE@e2i&4z&ggN^a>X23S#YYqJs<^QCS@jSf`}i%PU!VNr?JEA +HF7TS@S`dQ?ls4Se-P0wn#lF1mz&SyXhWQ&>@=RR=3d^n9=kqX&x>MMA@lTaT9a;y4*S3j)hdCNJ$!1 +SfoHr=og?8i+9qt!S9_t`!Y)J0~xx)njI-o*5-3R3fG|}LgUS%4-qQMtAoZ47B{xF9tOOdmrX*nGYmBXZRfm@)*epQ=QC+?x5!X +Xejh$+1vGV6I=P^~HCt3MkYF?pAh7@^uS19ihMPA+&%KNe+FYgNFeN~Z{cZKr4uE@)~LV1rV^7 +5`w-V=(vyepLVdy2fg(G#7#t}edn<&9qGRP>f-&G&pG>!*VV=QW1sUH<*hE>pZuKH +C~tM~{_y9#MtQ4?_vb(7>?B@S7w=~>y)?pZ+|*;-k`kIfBOTX^9JRu{@b4soi`|N_22%O=)6 +IBtN->VMduC5Tm8516Xy-eTm84&W40`!yw!iZZDz|N%3J-nAKlF{$T&Hw{@YJn$uYb*Ija8KpBkNGU~ +zJE(SJ*L)Nv!!DEDVe=NONi990+JT;c>ysAN=KeABB08|hAts*879=|(yB(w!Vt7w@)GDT| +995U=4}{J+rZ}oD*PjWUb1ZRGU9MXnP!_Sismpb{+?GYGZ|ZX0Mz>`V>zle24{-WoEyopd8E?3oc)7#JSx$<*oiZ?>srIcz?imUQi|K;@uk8vWO~C7w`DLvzczqoT(5RRi-Y!wSs3n4FN{r|@&r3+AsT)b{H9B(*)}u_n~^>ijgdJ?66})b{H +9M72HUwIikr-J-^i8$->(wSIddKC2>n(xF%N)FuPvjJe_9vL+n;2EpF{ov(?>+4^- +Bb+=JsKUvEaQ>$Nw-Z=dL_;1o^|%O9yS=(Y^xAR%8MuVe19o$$D;*6P#?4*%qXN@#FX{6anBh5} +4Y5Gb|NCbZML>&hAmLZXEw{_NgW}C&gW`X4(I6WQmq +oS3mw5K?-%wNsdRI}>2Vxkt;yT3DG6TUo#*viv7Y1|bCVs&FN=bU__YETTSZt*a(lHB +FBpuYng=_Ri!gfnih>}k_m3$F9^oenLWWB%B3?qgp@xa8jj+3c*5Zl_K_bMkDs67}Wi#0xu0LxQHID>}@EF1hy2$0;4Xa6`>V{p}xc(*5uBb!n)jPV31VB!yv7yhb{Tdy24`_3<0;x{bkt5`3GGN6*m39h^4^XL +Y;;y&qmu#~ofO#Uq`*ce1-i}k$|Aeje_7;XF!a~DoXd0j1(!uO^&CfTTf#U-Z18B+nev~~%usiM3lw4 +m3XfKuFaHUxbQ$U{a1Gm&Et4x+w8T}pyUNWai7S|wHnn1vq6BEQB0D=WuEusN*tqKEQk6w^W2(3c{~9 +R>791-G23%1P%(to_SZ_^1u->|YV7v_l!E~Dng59iel +&b4065l2B>>MFsR-a%Bb5OhYpgO@aIAk$h(te76gr*H#0G^<=Q9<9LSpopszD($`b^EBkQ#laZcxboJ +ku~J4X9~Q$N)XlG6*@KsLQY%%*vwxGXiOLff +(uC$>BbTNdEU301;pKXD3ljc`K@jk>20^~hDM}#T=M92%UoZ&5ebFGu_9cTL+LsN2WPfT91pA6Xkn5` +k!6IHW2o~|WL9mE741z_xX%O`FGlQV7w+w>5-ZlvOdPh+TeZ6ZC^!0Otps!yT1bzL|An5B?20>rHHYh +YO%M~oW?_CK(1M{qc(7-GPT@n{|-15J?H#9-d>qF70R}dPY7Zrr|=OqQ9`FUAEXnmwxUB!yGR}_S{=T +!xv>3K~-Xn9^&&>_WAZHJiPO$9+^KT{A?_LhR6vbPlkmA#`N=;K`lOYeABf}oFICoDL@&7uyKHS3Ufu41yva|)^*YGPLFP!q8_PHSS;=ui{04hf!W)*-=D%{rtPtC-`WH4!W2v?k*C +E3JuGEvGdRC#`Eu#ELnsiFwqaCSui`)rb6OMgrMDg|LA^sw%o`nQA|}~rO~e!%t%;amqj98 +LLl-AqwlC*9Y>C@KD^3uR{_uxCQWX68j|{1U7~~S%3F^qBGlRdqrqI1o>dvz$i|j<1*dNbZ7P;SUV~@ +2*7cVNpoREt{iejK)MVN?jaYPYjVO+eVs0MUd5$0iByrKw`5-wg<)C9Vws0DOgQ35oo2*bM<#}q+-7s +nMLMR0LKQ4VxN5t0NK-xGuZt4BjC6hU7@D-}UsL*0s?uc01A(AQ9}BIs+VPZ9Jr)UOEo8X8apeGRQr1 +bq#yRs?+wtx*Jh4XsrKeGRQs1bq#yR|I_xZBPV#4Q&(@Q(v1DQD2)CQD0jWQD0jXQD55>QD2K|tt2e$ +c$7qWH&wbrA54|*R792TQbd*RRz#KVQACyQRYaBUQ$&>xDxymFD{}KJ+J4qq+Z~h=x9e2+Aw@1N*GBT +{))^&OfpA$p2l7|93~@uP?K%~7Qjr^WZ`Y}q(~4XYwOyw|&MLA?v&tgu`l{6(8L3;^&>$mqORWbPsat +9xZlkBNi1wt7lH2I1ETXY!i{snbHqzohRS>@S=L*8--c;|7y!b73?wD}(Xjq-Q+h{4~IWCWe)v3FUmS +UdZ@@QC{x!Xl4=BX}^hSiC?U6f*;=kjP+owwUXsVsu=53AF5yC{`KF#2J2)@~Q2xQ#VqkA~GryIquGo +-FfdSZk}>MJeWqGLMGUDZ5>iVxA=PXn4CKFYgxRtsZuXc&d3h(4x4KQYYg5bN|Bd$LV2sdce^&lJn7}p@Hs_Z-U;P +>L6MhtN_nf#b-OmjJkjORu=-E8Yg5dVTpkT;Fz=}iHLSad8>2TSizsh( +@orKP5 +kEC3PlmnNkuWx6-5=G_Y?&e`;BY~U82x|`)0IHQ5|TVq6W}GMNOblMWM$$-D}=3xZdf$V~SFsGm3%>p +6>5flmYEflmnRu28B-#=yxHTI6ZJ#QP9`)szp^wc+>H4g7WU5(&;sO^}#`<(`&CQ3M!pmw_Q;UXpf>g +&^1LtrPJ$IDry4lQv{W+KcxsN-Jr@r!f|?o)?y?ar#G%r1eI<)q6jM8yHgQVx=*aKK*DkQh*kt79H)= +!%Ol}9eRPc?=8m#sL0{L06+vIu)mLF1!Sr?YRai+dJ$6YE^fhK)1Ns_Ys| +fm%P4{AM2{%2V6#!epP0Qw7F}H-9p3oYFbp_M!^(YGZnpvf$hb`e|R;j^a(ZS4W{VuFJnAvtgQ3Rwi# +K{#iI|dY0fYi)!g2l{^ql#)k>P2yq#mr9i_gL#Nvs3FKRy)k>y{IVYYi6Iy5S!S|?9)~qo7l~qHLnr$ +HFHj_5}Vk~oHO4AeVx||P-RS``oaQ?nG4$#L0=ctV6pgO#<&!$yqLLY9teHu0B38bDe_vEE{K)tI6dkeWHxTFkE2dWe-4v#T|p!a9rD)kaW3U$bk@Dhm3V-O#J30FsnJf$@{st=cYQ3h? +aKbdS +$bQNj)z6W1r}$_4w>(RN=M8`K&9iVQY_Axm3=eg0&6d3Z)m86#TTNr^vKVKYTcKSVj5N)y +(E5m>rnwdR$rx*zTd6e*%lqfL)o?N9G&i7;ESC7s4XB61*wfsAd5s#-xT2u1xmEhfSn5BwN-H?VqUKh +qC&2QNxz%bh7?YY?t)Ui{{Lih{x`DB&x!vm(L0`MIDZm)j+#!vBv8&;y2UvvIhO;hfG1;Vy=AL)yK-Sk~N-iWfTq%;``R_b;5gtU(iY1(>_6P9 +0-gb62z;V&}rSQPmg5xaP*xmXT(eyP@?EV_kDM^fj(<-*ZhD=9y=Az4 +`_|T7})%P`K_R@`R%G@jD^kb(7J&g3g>retBx_T`911Iu{+`X9t{RDHa5Rkn{Mn(I6r7!J_p*br~uN| +4`XHXgPIS(3A6JD)QB)#X)yFk5{7toFk&kT!o-JvL^H&!5#c1p{jH=QP8FS>y +8~`WhHmo4>9Gi<#r|rnij&w)s)>K0kOhXaOB% +dGOpa}Xhoqo(FpC8xmAO_;*$MusjqkMis9V`aq<|nj~%9ylPX<%S({)Rdt%q*Y3VcyUV*Hk*~%~k?Cm +Q@yoSN*#sL(`5Yb(HtoA*Kp2CZ~45hFR!5;4))s|bmh^?i!$m_ntiYInLRi@X@z*ifa* +%}J>|*}CV?f}QH#t*lM9N0}WND~m#%o9bRQ)xAcj8||oc6}(|&s)xyr%9Cw*{#lFcU~VO<_^Xh}o9tb +o2%9bTu2h5>fc>WxVF%*gZbjICxc{so>^|IoP7!uh?Cnv6Jr#R<6=Cbk-abXxRI&e}BJ4TbKconIU-l +0x!hXa3BZ{!waQ`Jm*lW1|vLGHk+q*{*_0_M4`WjFKef4V1;Zd}`hZI3yy{i>LU%hJ-QD18nQD5s6QD +5s7L0`Qa6hU9T8x=ucy_*z4U%i_ZL0`RF6hU8oDkvUZ+jm$I^woDn5%kq}R1x$g!*dmGpfcHaToLruc +R~^L)pt@6^woDt5%krkX3o<$WR$SNO;aZO)XaGbN1vKGkGkzUuL%0;yPydA>Qh_hsT_T3%RKtFPi?tQ +eW@+;2;4rkWzLB1Q(Lavq38s5ac7zSM?!ly0w@T!Vg4?TSb0_NwtT=m*t!c(i +V>8c&0MP>qL2?DnehH0TG_40zOT?-fO~D~%X3Dodc{fc@t18bl8Bkm1i6#U35j@YNPp +c}AD(Ty$h^|s=F^?(f*LZ`6l=N%7!6Qog)jD}VNx!y4Jf5UqTOuA#(y#u5N0anx-RHq1{n~!HojWUj$ +CR>yH^qB!d%n%0$I6luBjOyEBDPc4Ly*Ro86|>1X($qty7{D4>YI^ +q|q_5a??lE@{yIB-ly#qdIUO=rxN+@K$QDtrEpip=m|bkhW9^E7!h_G7!&pwSRw2)uu9l(V2yCVz&hb +-0~>^E4QvvwGq6Rt!N7!Yqk$>mCIj1qn+?new-|_>BEG$7wSv7O{?NTkVFZ2tVeL@^q0c`IjvEMl{^7 +(b1EJ49T-;_L^!dl`vj#$+f85?{AoTgi{YHG)sQsBgUOZ_a^!dl@mkfkH|GmeEFM>Y*eVwTZ5%l@*+p +TP&&p#fq;)6c_xa;U2586-7h5!3r%bkafW9YKgxtVpL4^941_*sj~SI!pwHvKE3Z9u8F%3?I`dn|!q1r_u7;~u7KF3WpsY0J~13}pm2zNY*q`b +ev`$x>fF;Q;&Mn#CHu8%9i#4DNPRU*tHIByA4fbOt*lw+&1RKRxm4wfXYf +7+1Y+XtC$he^-#EfxMNeCI^mXZ)LR=SjgfU#m^fDK`d3_`eAF)|3zV#UZH1dA1w0dpIg(2bef(9~?q+ +=eDuW9BwAlN#6AXYND$*E{A8W9B$CK^QZ~p$Wp6ISx$_#>{bOf-q)|LlcBCavWt; +rzohajOhd+$5BRfih{n%curB!R~gMI3i|qkOad%X&{rABDGK^3<2Xe@Uu6`hDCnz<;S>dZl@XkxpszB +1Qxx=7MsJFOzRK85Q5&yu?c0%qN`uPExbBaG=H8&SKkm7x$gUx(#K>@%K5&fmh3NywP4=9%#v^@U`oJ +;L7iFxb2%cW^sBx1$XSHOcFLY%`iO_StKB$NzaVr&Zimlc{q%U+*X^Ak!_M+Adq%U;NZiz5{JD@h%?6 +l;d5@Y_6&MGburq~`ltq4+=_sQyMQE8ftyhF8fUB=7!u%syU0x!z%*RwI$aIu3m?C64PH0_6r +ek*7RYjP>E{h^cgz@&3rxYR6(Q9OgOvie)D=zaIQ7vQs(fmPeY%u?*jJOnG$wB{aMVJzO?ua60rq(FJ +DlN@1#R=_8n<&gbn!b8m5%jfD#f$kz)9c0*VWj)~PDRkyIrCebVrxD*gA5mKS>n=;N3@i8V@lbGw&|F +nR0h(5Fhyzl=srb3r4^0WFhi-L@fs#5RWx41{G^J;YnYx?)p!lFld2l8VRBMc<2B4ps%pH3sYz9h*Dy +1ws__~oCRL3Lf*z|z20@KgBZHu#s*yp^P)%ikIZ2UqQ-Nh?JuXgFDPmP4JpD-@ZIW5v7^9L_hm&XkhXo;SzxMLTW4&AIn}Ms89NM2 +bx$bbT%Gp>VW)wq9*w53CFWF*hTzz7V5&zuTG$rTObUvzG3Hc{HgMP)bE-#MF>H=G)uVANw#S_6(Fg| +{WKQ*H9}HV$PW5OX44Y(5^=NMj+a^r)Y*z$*^=O2H?GvVYG@Q<%ub%yipsyYcAPeeC`xOQCrIA}feW_ +Iz)R$UiL4B!J7SxwoWkG#ucvetfYOn?Mr3PD2U)oD7s4unUg8EWhE~qaJ1qNPdJX2f`gN +*7(|@u}`p^*QI1)(kDH*n(VDGf~}M)^q5IaoB1bHQbdKme5kf3bo`fw)_PPKc|X{Sf?&LmO%ITLd7wknd) +Wd7G8e6Uc<^Yv{1*j{zj}>BMZ`AqZj0QLHQGddI77|<;U;2@Xm5g+$Gm6*z^*%60?e3U8oz*J;ba+V@ +tS)xZ*BQHN|XLRxBZtn9a+8iH|BVTbR}EOWDXc&BknJ)|k*h4)y8TutWvp(LOyJ7pg?BUchE&!P74-f +wsNOK8Fp_riBa6x-VsmwC%CKFCDG7ow(4;T-~U2=>;mW3d4%6?p{U~kDILT+^2f_N<}X_vP2tLVXfHl +_#tHt>^|Xsu_lk|ag7h>{P*m7{Jq`pEzuHISWottkhxN63VrNrx99~e`IX0Js~W5%`UKZ-RZ_j6tSZ; +^0#=gU3m3en7qF5He%DqTsj`ynTX;`%0jtMeE6i$_{KVtut7fZ_-tOdFjok(2Cs;T3f9Jl`(^jkY8v8 +3Xx!`dP+^84S^@1~|hgYdK^n#HE2YAB0Ei1->@7%t*rX|;yaHE~h|#KryFi~%V+}d}Br??tSVK-fajNbiv0igZDQn1?$3DtLBekktFuveG%uld}oV5*Kt*-R39 +Zhu)yKiA7St +gSwFu4Tg0iCmRgxMou^w+KrraFt{5z@$gtWFCXOSynv9S^AZZ0jJ_62f3_>?DN +Y-k087t|(~pIYWXfm%pnd=!X@bOxa3<7i6-7a}FPm +?}=*RVunN^#VVt{eiIh!76aCYtqGbmKSaPZ8o4KuPcZ%Hw7b@24`_{ML>_n2Y83WkV{7BNEnx*}xbK^KCx(4rH-vuBAZX5zptv`Gt|aK~bwld-A%mbdLttKpv^w4cFZc +^3@PdZW3mO#E^_n3tFGGq>_we+>+u9Am!0&4oJyy~`Yf(_nPkyEZR;AGbhI*gXiid&TXUlqJJh$5jxh +z6>p=}q&cVGOKlAxHE)Fd#n`_h|Af?{5NT}jZ(E3YW&==LzG`^q~)FsS>g-h(mSSM?1rr2Fa{DlrV{z +WPfgK|3ZKz<};+FKb(Z0o~W$Feup0n=dJ`dwiEg@N#c1ex`(>9S?pg?}lM%bc>PRw+#vUdt1#Es%UWH{cufjr^S7D*dtFVw +~iaW?-#U13y;tuj~aSJg5969-53^;NE!YFX$B!qF`*hvT@!LgGN#)4xfA&dscPC^(Dj-7-sA{;vjVN5 +vo5<)J;ODO0w_7XxL+)D`a;=P10HQq}o=<`MGl~lXzBFR><@H=!(Nte4SsW#nJRkubqsk+7~sk;65ll +sDFgj`ie-uK(xD;3%8YRaM*SNABgoAQ)JRb1Vt$Zir-7S(a}fFiqvPg&H&)vFcR4Rp$)1Xr(BWVh}qi +`uw)y&}7#PFaNM_q#VLvJ<(JdX4hltjNo|MtN^lgmuPLY>4@=D+ +CQ4isc*(-}6!9D6B+%bD)5hS=rJ%l@EuPlND_o#=^WA-GL>v-Z+c^8DdN1cc}iLWezkoTw)aVPPWMG* +2Hbt3L0zOo3FdXG90cM@MxZ&4-cMBGVyWf4`PPQ;zWR~Atv>O|a0d}R?;qE5t}#8(zk-s(i$u4iQt<* +iP{o#9dz1$p0Dqa?KFch)JfCmSX8!uA)EhHsP`m>Tizz9Wj9NE?_2@$J52ikwIrnDy}Oz7vX^NE?{v@ +a?`+ikwIrnAY&^zB7uPNE?{E@a?{Hid+?LV3xwS`z|PQRk%^11VMP7mxO7OZO +FTn~WIHt%;utEt=DDo1lP=fC%@)Bg^Hn>uea{>)UZi79Fyu2B?4fZMW@@C{VIH1VOn~~e#YDHe&jNAs +-D)RDX%hmp3D~!R?B?ycxL-?o{OE&B$$Vw<0fZMs9<96?u +6xavK~}? +5}ZBey~I$UbswaAEM^qDPkCsN;E6<=tK-jjp90_yl>CV1)JC!BIu_;Ow#}#nt1A>~V!<5tc(=R;S(IS +F0Cw3u}`Gquc%JMSXPJV061*y{M0F8;oxEs~7drZG+M6e)Xd65b3fA;@ZDXkrx*RF>h&gZ@Lhu!RT_o +IyxU+HW*#*S4Zcg%Le1c{pz}Wyx3s8xL;kDj~5$^7x$~{^6_E=@#44p)pfaTbIT%Bs{QJ^+{w*JBcTM +$Ao2ZynkKT|A8M^D+!5KtKq(}<=?B-wx|A%-YcoO#y)A=lW~*89c!H=g?q2mZPQ;CEpe6eKxvngL>l>LMgCc_`^Ge0;wopVY3zT|SNf +FQ6HTS0m^1tB*{h1s-kebq#&^Cww?$Ch|2pQ6ezIPPv*NVwhGtUkLcHOiBJ8NN;gBNisI=j*BJ8NN;f +NyasI=jzBJ8NN;g}+L-VMhUVMnD6Dthihyy2uG?5MQilp^e?wBfWO?5MOsHO5_tH=I?3F2sg&im+wvh +VzQB3-Jc&0;SxAc*8|S)Yp(A>T6gL^);f1`nsfu`ns%$`nsZs`ciw~7Q-8^DWblvE26$e6;WSfim0z~ +Mby`XBI@ggBI-*5m=yh-$&D)%L0=nJDuTW?b}NFuHufljzBcwMg1$EPDT2N>_A7$EHV!C)zT{}-5RN%P7(CAQT-o!Q(qo4AxJ)g~^bO0|hgsZwp?QmRy&xVDdSa +u>O#ZbR_0$VIMg7b|B^avT3FMXA5a&2`D1^u_e5!Uj}D3mY`d4XsjyP1*KdQiMYx2CgW=VYxD8p+q<=_eP% +}Y=tnl>pev{`EmcKA}Hm^HAOh-tb3y(DCK0gA{-umX|E!jgxj-Q5q8QG$5n|&UzRvb4g1%OnPsT}|yUq#11_Sfg^pmlv!1U!!imW@^17i!p?^MR~2C!ytS$nE +c&0>such${%6i?RfNN+SE(wo#D8}02}RJCoXA`voP@hezYD|lbGy~EVeS6h)eDMn^5Z`BqFAy&f6m+m +`?{(w1TR1# +?NM9c7?B`bAPy~Ot`miGS!y{@$81|nVQTK&q^z(bQVq^G!`iR;x*3C~3nb*KV%#&KNu~vTO>K;W{f;q +m}a4@{Ac05I>yc6Bfo#4`>C)jDp#d<}Rr8id +F>7ESTGIJW0-j`vqB}0rSG#FG +-$#MgxT#E6~P48X#;|p2(w4V6d_K$p`HLU5~goxsD<_J-(1t?6f+ZMMzjJTS2?p?<0;Hgn7yQShIQ`K +lJF=ILXtz;B4LgD>^^NJFk@kEv${;IZ=XA@EiDqIGw0Q*BT=g7ikAo>$*=~wNR-a3)f$CF>D*e4(2*# +e*`VGOiPG8a<}T=K^t>X3Bz>x7Bub|TR8UBi&Ky?pB2hX!qIDjL(z(^@z8bVIH3uY0=Lgha8w^R*10Y +d4y;*G;iBjDTxGIt>)8C5e!qI7;tBR(Wbr` +Kp0jzsCqUJaVKnfWpZG`K*bboQ!#7ZRm&E45-HQ93t%Tv5>1+*Y+pBueL3nD4^j;p@#C!XK{Ey1~uN*O&)FUt6>jiA3pa +kGd};O6QKKeIZe5y(l*`A5+OAQ9Ave+AC6tz{vc6mV^XYepB+$tj}`8-yUkt5YHih&0am)tuQUkyx}gytCe6(3Q7vQE%=|8u24>AnuTf8c7 +4I{HYVMdlGjl+j?l!X|8j@hq`^>1?8CJc|ZZfX{6Wp#!!MgX^Lz-!7vx}xp99F*1n{X9N-}TIs5}}D( +r830Y_xasgv9b7ldWF6rR=-bQ((l6R_nE8exv~0vZrmV*kj7xK41T6h^8#4oK66kTD=c!i9U!c7pWmZ +aiDmB7tJE)Io%{4A4I#10eR@cvW~_0a*`+;vEODP1RMW!>_nE^d6(NKiF~5b7WRrdumbcID)KCkn+h- +@VMZ)6txg+|?Sld2#M4cX%w$GdHI~KOj?=`Ohf4ELP8y2|eSTCEURcCFv)|kWe|S~Rpjsvu&z>=N1%1t))jl64@y!lvw+Rc^X +V+>#jb-bz-Rc3bXnpRS5ihdFW9EVAQm@ki8!T6!UL{INFjO|ZYCsYE;plNiu&=dS6(Qsw*`Wyj@O+;l +j>_y;1b?{ak|O%UF-5SiL+cbVWwl-rQdY;;DuR8DnNLQ%AqSS12==wpAUn~pNH9b;eQ1v&JI$^vf)aM +CU?Mx?wk%>&P$kT9uXU#t!6NpqQ3Q)Py5zRy)s9E~ly}2uj+xhi(HuLb2u5>!qarj)gIez}G&VbYLlK +l +sF>=6h6&7^#}yBYBGiBURtrIIjpkr{{zsbX)t>Y%x+btz(1>@^h>hM{J!o8N-ICbafq7;0{XRyGVn%?+GWgtV)iwOAsIU2K+!G{IQY+)>pR#+v4itG+PSG6;r`qcM^+-KVt-BT3W!<}NfrYc(*(NYeCL4d*$M +WEw7xByHcW2u+Ztz7lSPY`l1bBY*02xdrm!5k*J?9P3qtZptxjxHyt@N?(H`NoN<8B5`QP<8#WpnGDy +Ejwk1isZ=o7G(B-j5mb6Z9R~)RW_q-WVz6nZPdzLKn`U~|Vlmic+iaek+jmeA49qm=9Bk4obi$K!H>% +z+*fg_gpCUvRn^n9VY}&3~kAqF7XCo))s)xm3)6BlTiV#(p&H)CSX3nV_#bA>eZcZ@RWD=bT2AgKa%x +gejW7@sMV3Q3~FxWJ^LW67!HrWUUgH5yhHIi;|KA?Iy4mPdP&I1OUY%dXmO|zSa6d|hErr|OMn`XCZ8 +-T&4*wqFe6{fSw!KS^c6bv@a>Wtt7gH5x8=7ESR2Gw(8uxa*)rXF~5?r9?^=*xse9Bdjg +f`Yy->vv(W$p%swY?>X{U=)K*HYCDG(%gErWsD@vZPaRmk)*jnwJ(e$%^g!C!bsBGajiBONwU!rMv~@ +EYruh#B-)0B+Z@I%7&378?n>L +Ij&9BxdkRwUEHGP1QBpU@{B*`Xb+6)l2_F^Q-#*P?Cnm?%e!bp-0D>0HZe^zTRMv}~o`vfCNe>!|fwS +u9fl4+BOv7|p8*{IPL&&EBk&JBY}->lFG0fR~3tk9Z+!K6POTdf@xYg879Plmr>Q@UoI1p%-3NQo+;AO;sRsR}j$K?K|`4weVvSZ3>WM`BG +Eqs3C^QFh|JD!MAq{zaSk3Of5wk!F|qEOYp*!}xU%3Rht#TtMwhJP=Kl@uAzFAggS+WTUYlAygWwkip +t{bHMvAlNVVDhXo!VxN*A)Gr2=1bKaNQc0-RUz}F*xK>vd$X_c6p6H8HU#wJ?l65OxBL1kMkgVMHI2DNRo42s)s8C18!GH;SdtbVb}UfyD5Hw>!VV;NMp*D|PXpJ +jH3in0jW+HWtn`xg``(y3n@G?ycv`o$s3?6C-C5p;9JUJl(HwXEhJ1(h7Pm&2Y;SO(pkw5%nSTp4t8+ +Om{Y=en{stMPlvGV0W@oZ>KyCS|+~lBo}dlmw%BFs3BP^1%%y;j6z|p(MQD1LP6^&%gOX7HzFMUO@3u=xs6$_ER)V* +dybiYm`09cZyxWKpyn)sobiuz;ZKIq0mDVbBioe#ngO2al+RUJv`jys1bSl4=aG1-vzt;A9p>wFggFC +CGND;(-rLhVE&absjAg26U>k;N5eXaV%T%)fC9%z_@$wpsG7a_%jqObdu1Py<^S_vetu@0v3JTUhJ$$ +xqL%M;4lU|(-nmV-UeFUI7W@;;RyrqGmZQHBy?c0BE*yuHfX&Ck}!Q~;R#QogQ=0P|SB7ISWQ@k72mt +1Kcrr;H!@pifz)}DwOvuc821EGrw0+MunR(BQ%)BQm ++iClr1)07lCaRQ7-xG_uzdU2!6H`{cJY#+j{jQRk->Z_D--G_nnr}zH>&vtD_n^OX_C2A$bM`*y@4US +)Av5m+{hhbZg#JeCGcz*t%$!Vhi*DVQBj)$et^4w_c_un`UtYHNL4Q}wd!ln!GV{zTnZ74Fcwb(zzX$ +zYwaiy$|{uwf6=6Jy>b)%gN056=W(i^z$C9G{1*_Udhys(9bKG+7 +bGB54z2}pr7}k+x}jS%=})R%=})^--8})AlvBhl}u%Z4qwU4dnRN?W+~W%US(}E^L-ha`M#XYd>{1JY +rX+pz>?`VpbJ3gCtSTcQ2Osjd&XWz3$C6KA~WxqkeT;{{`&2E +w#m$UW@P3)p}&6no&}k{Cp(4x<~=dR=D~n@Pj(px%3o~}UyMKdu_`;l>@8C +uYW57)oRsc7f52`az{c=cIjciyMLv*7sOx`J3zp^HoDzh%3y(+WLK-IoyN@m^@inf6INnCi}Rc85x!`Xg2TJAT#d?{n>yT6Mjl&-ZLRH@0pUB_ +k^Rh!9|0Cj=c|#)&>cf_Tz#C%=>Xc0w(^r1|2yj*Pvrwk89A8fpQHxX7;$o7x^jI_+oC4YkZq*DDC%2 +Luq~wj<(;_m!>q7T3?!MDD5-ZP@4MEl!nrLpEQ*EeVF9qoHu6qlns!61F~%;({I2$AJ;fxqEE^68(M5 +A%{R2zP}*;x|1=G3i~iFzur2ye)4;Zv9kSn$k_{-M|FrKy|7qWa{?opT_)mQoWFt$a?~;iB)OShfKh3 +)&^q=Nk67iqrUBrKyccK5Z_d$O)L4e6WE?l +K`o7^v!+J(bsQiv!ie1(w2_C{vM_Uxz2o>9sO{hgvA|?3o37C6KOsLlZRa29J7a9-@MISfN9Fx%mvub +L=$QI*qA}&`q-F4e$lVkVL6^J3ViWEvi1>`U5brex;(+GOVYpg$WrV92Os=KJ7cZF8M-EW_M~CF-te#c- +2rT65`QnERxOH21;9+Ga49Ceqvo7i*gd3~`mr+y@tX$=;WcnfsoSi_4#qi_69S40}p0CoekJT@0$ZI# +EQO>jVbe9;|Tr0W4cDsZ9`Iw5_BzLx9EWUtTqVD#zlknm`rH*UN^>+}9*C_d$!J_P&J7+?TRunEN=QV +eiXWGt7NCnYj;Ecuw!jIHGt?@5?x%c-Gz*lbQQqh3D;kRWfrQ^mp0bS0^*~NuXoyYm%A!Xoc!2Gma=; +Qcsz2MDdb(%8Vn5#Dk9c>_xVbIYI;$|3hwEf`>gO0X8oMF(>_J^}dqqAHp&CYVEw4NfD`*$ZC?GF&T`kCRvzs_Fe{=HdB$+BootTpIld}lEkpn0##YoG#_K{)vSv#`&z109Y#&2SU72D +?#2GDG-}pm)^wtUxwjrE)!)V3&d1cqnWI6M%XcdEfx2_?Bkz`#O9jl|dh6eV@kku8}EOD& +nimO)*Y3Qva8|o|Uy;Y_9MI3v%?kt6)FW3E(n@aVI8WKFadlRMRtx~1t$sB9(vXT)MCo36Kv2WGX=?9 +iZO7)#NveN7H%dwT-(vGyY%Lt15A{{5OUnHX;&VD%_(&xV@RcgMdO=@kQqauB-<}@YgbKbs{q38gPeZbl2&(A$4)F|YS#U3yYjT}Z8NdpzPBx@A$PC#TX5J$4dM#ti2|gZ$+M>lrQ8w| +51vfFlX&=6a;Ng>4{Bw47MnU-AA1G)ng8!wUxd{HZf)>PJUO55Ut|$fCq^J$FSy2YGMo|v5R#5>Yi-vM +cah_VSS`q8wIz`wUVa0ky6`&1@sz4hR)m-JM21Wdff}n_hQxMjMFZ*quqO3y&sdci%T4zhFc}uKyGPq +i(fNG+(P6k&C->oK!q>D9;TB}1fuO%I-c`fZw%@-0dOI7n)*0Gw`@{ZLUvwQzi0H*E!Ck0{3?tfMgrt +AK-f>7oDRzc9pe^n5)^4}B$t^8=IK(^NT#Id~YR>bG^P*wl+UzG%n{Rag>WB*Y>(Aa-h;7(S}8=MoZz +5vOa2P-V&glM(+hT94^Z&Y!$I)R2;xSluaxLW-JX3jnyqE*(!ZR#_S(s?{~t1Q87>Rpk|c|54Atc}~$ +^K#nk3d=aZeT$-kw<$w@=gUJ%(6v3R1OeRcDnX|8gc8m}6oSOZm#3646Rm`^pOtX +Y$^yf +xuqcJppXBmAcW{YQV?3#|E3`5Lqg~x4&l##R}l2ETtU#sPZR`wJiBB-*!fJa0+Sz}(}xC +?J+C0B>;(luWiKiSDtk#mP}$20LZ9@f3W7^|MM3C~zN#RY&}#~U3B9f$xZgJfVAjH$3WCahrXZ;7Ed@ +bkZz~A;ct=6d$GZxGK7Ots=;Id(f6F7Lki+$t1QP9j(&zPb*(6AyTb-NEKLQ=Q;h$199yN@YCqO<#iA|yJyPbos8v&Z} +vvQ0haw~%e>F~5aGXODC}3M?_6>KRvrRA2XDMbKCGQAN;K_i;tgSNBOp&{y|qMbKCG8Aa6BIYrdh1x3 +`?kRs}9L=p9MSrPQreN_?k)qPzN^wq6Z6xorfZaFfkKyqZN`#nX_SC5(lroBw{^eTeBdemI8oOnvl?k +$?MuQiHjUuzXXUp%RH?eL7WJhz-J-tKrd!n4Sw+;BntO}-Qgd%nUux4W +n&56lG(kBYq)2>*0jami-W7^sAhk-&wwdf#0b#1mWN){k8tzg7VUo>czX}L5Y$kiP3BdH4$zF91NDof +-YBP_CHIw}p6{SGxU@@g;vR@ltq!lOoRZo~qGpQ#t7f3ly_N!aQ9GS^pRbfhfsnbiTuK`8Sm!4%(q|} +#MBNCjGy{i>LU%l!@Q|e2-Xi9x)u#{3?>LM`VmsoPPwz< +ia-K9wCNt4#K(C&NsY$vzE|km{Z6QzwTxDwBO0KVgE(WS{y!KRczs`rOGrjkd5ncT&$;DzG|tvQNDwa +?O){>I|?pcd}2tC6?w+_Ng<-yqn4>Y4r~oC4F8IC9S?SqomadWR$czfsB$?Cy;qbXOy)1g^ZF`zmQSV +>K8JXM=r1m_BUG1kbwV<)-tSs{f$aK#~w+)Rfme@ufNechJ5~Sv|?iE>m$=s$lcg#fd#LRwrR_Ofq_T +;YRp*f`lw%x8LM3%^{X*svFoG$t%^c*ezZd)7c6ysv{PMMZoNa))zxJu$UH8yW4n*bWY&=cl^sveDsP +Le2p^X<{ZB5Wo&Nv6zN9;DB)xX;U*Vl#apSiDlbiDGPUDRFetW#8~2O*&Z$}`Ze%htzWc>+Zy-SRz9>#yk54-7l<~`0`?7JQo{Ric7 +pYf7>UFk#Nu=wNFV+UvRNgQqP&wPAZdrr}Sstku`Mp_b`z0$a|FTJ>eG|+3?8`VF)*Hj)%G+no+#xV +Q@GgNVg7*l_5d4n7F@pCAbO=5m&?ESez#PFx1QrNBCa^^C34s-YPYJ9MTqkgX;4=an1fLVwBKU&94#A +fpm;~{BMPLxm*8~Rfd_!Om&$k2y@q9;M5YP7n2J!qrU=Yvm3B-6V?j;c8xwwx&jOXHh0x_P82MEM?E* +>NhqCpW696rpnS<_~nxz(^NJILQYfJBnUZ8Ws@M}G?h()kkeE)2|`X&*(8 +W3O=V3GPnyb_Af7apH9^Y-sLZxIvrEF54B;Fmb&|`@U=&!+K?6d0Hm+_m-KRLd!_Ml;-Y-zAUnJDQnA@vbOOkjk2{< +#xM6tM%BpXM>XOnDt5{&@2iphyHyhTz9jN}=B0)^Wu>hb;c1mw-d7Rnp^Ef#HMV@NB3sGIMe0TJw=za +YUp9%T}pIP5aAWn7b`v}CTZhb$2IMuBmAP|=>>jw$MrOWyu0&(fGewaX9x~v}|5SK3N3k2fQW& +J3DxO7=RMj$R-){hg2OPBQ%1meC;MOJTZL{Qm%h=}W1fu^k^-&f +n&xQk4UUF7$6k>9&}UXtoX{_d_vOZ6hF?#`}el89H8M2w!DEuO7scWHf@S>^T13bXp?%lN{zzRbMavM +;knO5f3DX|dDMwq9rYFNqjTNs{qHjyq-E)*G9+C5c_FCP{AlIkEgplGgTL^2NQSdYx@w8u=Y*c(FjRd +Xul++4&eh5!#oT*C_X8k)Mzj_NS(WS*Z49He_jGhJwD#QZFqmrBbVz_GOWJHpP?Frcjc$X2X)C5lW>I +N=3Z1zRYaA`ZBZe>dS0uWFz}Kvc!0OeVL70mfC*KQrpj27Wux+rg&yO)xIq9JM7Thmzkk7$;^wecgl> +A(3eGi$2j(VmIo0pvM-DLUMqC;Wj4h#XFSk;bcpnew?jteBk|26?K96=_oGdOS7T>}`o7GzZ|v<*I*# +P;*qjsU%OXSWxUundk?(W0+2HnNc06#6jax+EOMHYcJ`!JVr^>|Jr9oe2v1O_3$N?;K3YXk-%zfNEf@^3>hG89EL^}ft +5B}%Iu_hm*4?91%XR$7fYDXqrbm)RvknMD3>VyA}EYN>shovKUgh4f{1iBOIse>XCPl#wZj5TBB#(CA1VQy8{kN-la6P+}XsidAH1=3$U +uMUHCc>*G5|1X5A5CP5wR=rA*R%P%dnGp4i~L@DTr+9xam}Q$UP!WggD=;M{M|^NH<7JlYgLt`jpR{8 +rAc<5;GlYuyzDyrJ32d#r&(#*mqxY>>DZh8OUE{k`Z6;PrI9T|>c(cg&mt;PHcrjo9Y@+X_I7;sk)^D +!?0D}h>-GD}1%EeKI>?tv^dGZS?#oOU_hm-7@|6|Bd}Vi0zG_WM`pT*deVIuiAF&;MZHH1{+tlsL?C+ +?Z8G?Lmca43SNg=;$MN+-o>}L8+ltzBH1aA?u6K#$-mfjNR}1Q +rP1A+SX7E`b$-_Xw;J{Eom0g7*n*5PU#ji{L{7I|LtvpbO&pn7|;OPY4X+`INvQp6dh#@q9*L5YOiX2 +Jw7BU=Yuj1P1YZMPLxm*8~Rfd_!Om&$k2y@q9;M5YP7n2J!qrU=YvmLohN9wxwBe_=vILJNsmS-@ONe +>J@hU=&Z`??Q^SrnVo`tXP3~vi;Sz0sWp#GT}9rR_7#ySshHR&4T{K8v1sfPx{mzaI!VlwSw{?pzRWD +~>%^PmQ+=8F9d%--{yOr6NFCV<)Vpt*r+Sg^+kG=R)w4^9dSYFHdSaJ$^~5f9>Ro@F>V4tM-%y!Zt~8 +OpZ$@^`Z6an-lh~)P`ZBYPXcEl8Ylpt+|G!NYI;?QfR)A|s{-;9!|3j*j#40_aN@=XpW2%(JDm|e}<5 +;DqR4Lf~2P-i7`hfmp_Rv#bW>zUpf@;jQ!>?_}p(1nb@S8}5#(abASyX5K@-2}{UF@5v`|-r~@J(FF7 +=KM-jm{=w{57dv2R4x>!J4$Qxe#%$nq6mv>e+dr-?7^E;geQBC1jxL-w`tK^Jjz%r2IJ{0~7zAkYNGv +4}=V}|34BkO#QzgWSIB=iI8E^|7Svm8UJ4h8MymPLI%?QijaY=|4PU}(O(lX@bWhy0#8o;mXIMnzawO +b&+iEt;`0YWhWPxEkRd+*M#vDKKM^v-=idn#;`1Mb4DtChA(i4NJQzhBg{Pv3qwq)+aTK11B96ktP{d +Jq5{ftqk3kVf;Tb66C_Df~9EGQ!h@0vE#8J5CkT?n#9TG?3rbFT=y +bOUj3hzQ7j>4-Dh@5%=#8 +J2xkvIz1A`(a8Rz%_`T#85>g*y?6qi`i6aTIPuB#y#`h{RF250N+u*C7%|;Wk9#C|rg}9EAs9h@`u@H7i?6dq+Ej>2;+#8G&Ng*XaNun=}r@%qe!k5i?>}WrdJ2oE#(ez_Br651bhz_P~KLVow$6IXEOnynz +#9#2YvsM!bQuVZ<9a7)HE-Q(?p#I1)y@f%9O*8#oL`yn&NoG`7JRujoboUS8zC^WjnvtTq~RgV#gQz* +if^yum9WXvhO8k%m0b4~di@8WJhtjt3g@;DQGl^5Av{BCWkuslgi^h^}y*1JM=ka-hKuE^;8!!YvL&T +DZc2NDKEj5NYA^1|luo+(4v-Ya58PaAyONwvh^FBNfg@Dx8f}I2);OHd5hiq{7)qg|m?gXCoEPMk<_* +R5%-{a5hrmY^1{3NQJYN3TG=7&Q>a%tyDN$sc^PZ;cTVC*-C}8l?rDo70y;FoUK$iTd8oiQsHc+!r4l +Nvy%#ECl$_4Dx95EI6J9uc2eQ&q{7)rg|m|iXD1cTPAZ(8R5&}SaCTDR?4-ikDTULGl)~voO5t=PrEt +2DQaIg6DV%Pk6i#O^Ug^t}w&_Mn+jJwPZMu=tHr>d$-+h_VF5O6Jmu{rAOP46^(j`i}bcxa~U81y0mn +iMhC06)yiBc_HqEt(lDAm#>O0{%}QY~GgR7;mA)zT%w@;O)_${YK4KBgp1mnccorApFtX++Ze3!?N&m +nyx|rAn`KVA=eF5T#nWRH>FORjQ>+m1^lyrCPdFsg^EPs-;VnYUxs?TDnxJmM&AOrOT9R=`y8Sx=g8- +E>o(d%am&AGNoF&OsSSGQ>vxQlxpeh1DbuA(kor2^h%d0z0ze$uXOfd;>L}YQt8G@sdQtdRJyTJD&1H +qmCim|*q14d(%DnWeVI}k-B>A&Zmg6>H&#lc8!M&Jjg`{qoKhN{eH6AYQyQalN@H|RX^hS(jnO%!F*> +I-M(32q=$z6Rol_d4b4p`$PHBwJDUH!Nr7=3EG)Cu@#^}7#7@b!dqw`8*bY5wU&MS@4d8IKruQW#ImB +#42(iojr8l&?{V{~3=j1D{$;;2_jqw`8>bl{;7N5MlOj^;{l~Ooer4&wADTUKjO5t>sQaD|u6i!zuh0|3^;dG +T!I9;U_PFE>~(^X30bd^##U8NLGS1EwtnrJ6A(N1cjozz4-sfl({6YZoX+DT2clbUEJHPKFLqMg)4JE@6wQWNc@CfZ3&v{Ra>A1O`LkCZ +0rM@kd*Bc+M@kLjNhDP`1;lrri^N*VPdrHuNKI?3r1rH}eV>7 +zbT`lwHoKI#*tkNQNN|fNulhvkt3FZss!x=@>Jz1}`b6ogK2`dvPt{3Ip +DLBrr%Gk@sZv>es#I2=DwWlzN@ew_QdxbfR92rVmDQ(8W%a32S$(QhR-Y=B)u&2j^_fyxeWp}apDC5q +XG&%DnNnGOrc_p+DV5b{N@ew#QdxbbR92rUmDOiTW%Zd-S$(EdR-Y-A)n`g&^<$;7`ms`3{aC52eymh +hKUONMA1jsBkCn>m$4X`OW2LhCu~J$6SgEXj98p<=rKElvL;qnV#QL!kV*OYNv3{(CSnre&>zxu}y;D +N0cj{oNcS>dTPN}TkDV5bbrLuabR95el%Icj`S-n##t9MFe^-ig*-YJ#UJEgLEuT)m=mCEY9QdzxMDy +#QOW%XXEtlle?)qAC~daqPg@0H5xy;51dS1PObN@ew4sjS{BmDPKtvie-9tUgyNtIw6n>T{*C`dq23K +36KM&y~vRbEUHST&b)+S1PN|mCEXKrLy{5sjNO%Dyz?x%Ib5avid@)tiDhxt1pzw>IPw}v`ckQ^zEmo!FO|y +bOQo{MNzPdT^2c?-PQC0R6w01lg +0M9(9~MFgET$ih5;Vl?zZU2l!DV8GgU!SY2cL-<4n`9*9GoU*I9N^0aPXR#;S(J& +aGO59Ca9M51;2^u3x*TZ7aS+1FIY}YU+|omzF;~reZh5N`hxAm90hlYISTd?a}@j~<|r6U%u#Tdn4@4 +ZF-O5;`mcrkgz1qHY$j#^_)HvTFq-&>fz!nO+v=#aI*VGJMXk=FR%cPGv#8Zs)aop1br!Wci&~vUtCG#@{%R^aYcN=?g9s(-&+eqH +hj96VW#ZqlxI7gVRLx%||j|Ie1M(-yF;)qHhjv6VW#ZyNT$VgWp8-&B1UY`sUy`5q)#8oQS?Tcuqv$9 +84$TXb#>IaWn^Wi8z{ryF?t#!CoSc=HM?8M{_Wkh@&|;OgstXNo?2)maO_cApNIvNfI!kmO@O*qNO^~Qk`h2PP9}fTB;K*)rpqsL`!wNQk`h2TzTYRPjL> +WItMeIgPG33Oy^*xb1>66m|+g`H+o55Fshio;8Zbv!Kz~Vf>*`#1+$9j3vLzDH`4(Fzl!M#h85En94n +?TSXNA5@T{1=U|KPK!L?%gf^Eh01>cJ43&s_56#OaXC>T`CQE;f3qu@U=N5Oz%j)DWl90d!?%o9!zd* +DJb1HgvjFoO@pKMag0?q8>);&c`{okdP(k<(e^bQU?CMNVgt(^=$n7CD_oUT2ZlS>$yVd7VXGXOY+O@ +;ZyWURHoP#R=whf_a@_UMHB>3FdWzd7WS$6O6tQTq>q7*i=kk@Tr)-U{o=E!Kq^Uf>p)z1+R+fo9lpq +TgCJRyNc-xeihRf46A{@!HQMCey0EQL^2#)EoL~_TFh|pwV2_B6g_fqwwT6XU@?us!D1SNg~c=m4~uC +GCKl5eTr8$B*jQ$sDD=n(P8O2{tSn|iAr;*m%q-KtIx3}3v{ENpsS~Z#iB{@FD|MokI?+mDnu7hN!-FS=kvUv +$BUzUYDxebEIY`l1U)^sRNk(BdNcqQyn@MT?8*ixwBr7cDNLFIZemU$D5CzF=`NeQT{~pv6TTMIVbei +ar)`w3Y&Vjy@JK3VbZ)DA-ucQLwShBrws#9{O0s0Q9ja%oC~T<`Zc=<`W$i@UeclMv%R7Fb6AYM99$P +Nr-?El@c;^ct*(3-(y0C?skL>o$U!3`Z_0M=<0%yp{Gki3e^W-O>rMovJYz62NT%`jqHO~_Ccrm04yo +$18}6M55SP3J^(-JYaaxQ(*MsJd2(>9sGGpBqHY4ein8RRSG?YXo`(?+}2y792OkjuLlMqaTcs?aCi03+iK|G%k7{v2Afk8Z95E#VsC4oUaUlAC@^EH7%Jl_ +x)#PcnIK|J3P7{v2Efk8Y!5E#Vsdjc_@xAzi=@w~k+1XGOX?fnE|JZ~Q$(7brQEyreNX-oT7&%Vr#P^ +GgYUg?7o3Kw&^enU<>$;~9yPHH=dH6vRu@-F$dg+c7o8bL!BeY!)?K=@Dh2^#4B=@CKZlJdT6;P{UV1 +Pu)T^pv21-=7{3G_d>AOM(V&|9Fg`f!RMEAZXzAj|T}FSpDN6f(B0ic$lDp(Vx}{8umfl9ug3%p@%r?FpdntLUJ*3J>(d*8AYR;zAzuH +WoUwYcTqsHGEWPHZkMyzEgQbu3vDb9=dU4@3t9@+D3|4&lWjFn&?bf~ZdOY=-|6cRoYyRhYJk50)2?UqxgnEA*^U=;SGM@)SCG3Y|QqPM%UHPpOlq)T{PV=TND0sMI-B>KrQds=d^yRO(bJbt;vSsi) +E`uQbam&GIU;H?1_iD^2f8)4S62t~9-?2)!#!?@H6V()6x0y(>-cTGPAM^sY6%YfbN3)4SI6t~I@DP4 +8OMyVmrsHN9(1Z~GFuw(YF2)ON-a=pt4`H%iU-bt5a`ccaoUz8h7MdX<@fx>0S^rEWAaYq-8FQm={BY +a;bJ^JsUMe37KGFWor$-vp&!p@gCAE0i)c{t9Ibxv$WeA^#O}4CP-T&rtCd%D+OvGEl$LrvG&L_0t7^ +arG4{88Y5dmwZu@cB}9C=}!n7I(X0DF*fw@o}V!`bn%{_GdA?`p1)^o=;S^Bz}V2sd;XEJp_}*og0Z2 +W_xuxMLoe?6XU2wZ-19Gt)dTiR#wG*yE5@1u`&Y)=0sA#$-GKduuoU9=TgD)MzheyI_j|@5et%#L;`c +|!Ab$VG7{u>Sj6wYVoiT{te=r8|`!i$1@Vl}1-0wH`o+o@5gMUWIFlGLZkYUFB+0O}r`v(6^kZ~lt1Z +1h75+d#i>Jf2IP>+avf_g;U6VxN(o}eBP_XPEbxF@Jb#63YhBJK(55phpYkBEDMdPLk4)Fa}ape}(&g +MLkjxF@Jf;K88Z5+d#i>Jf2IP>+avf_g;U6VxN(o}eBP_XPEbxF@Jb#63YhBJK(55_nSR7u^B2FOwt-6)+Mb +un9-%+zisS$yRq*$!2|a;_OJK<5u5`2oG>G^bSaofv!nE3ix}s2pecWySPl)z@V*zHwYUjG`nz#uz^F_5;@P`%gbg8{9Xn6h5 +aQWM#)c4YzS>Jz1=vx-h7f<=cZ@Iy@yk`h8u-o!gh7Z;Q`&-iH9J8m1M7tObLvl6Da?*85e6Y%-AC9E +;;p-H2!r^YSs-kP-|P+bC#)G}SE)Z?)iArt-&p_^sb65_Fg^N|upxfa3oi(R_#L8jvi??=!d&046lYi +O^I9>5Ilr&b6UNp^gBov6*cutum_Cer#~5pD?SE}+xS*v+muw9me8-hhl<$MI{nMiKm#^O5f`=N7 +vZ9@?FLpa}yEvgzqZgjpdY^>$iMy%hkmh~Tk%tx;HS_eLP9*Bafu^Hyl-c5hD!>*bNZyZf9Y)hiRn!|dLGmCv$q+SxKXT8_1h%BE9>jZX1BpyW(`MxqzFS7J0>PWrX@}P|T-ZHoSSAH>NsGfbaq +A#;6xysqNRgvFYdHXx6JW?+=9%5f+&i?jg#>nfc2w$qgoHgyLNIzGV?UyRj&s81yK6|#dFS85As)^LI +XJNZK61Tdv-&cPT9jV^L_Dc7iSM!2;pXOTyqd_42u^1j4H7>}$ecEqjQ12 +Dh7s=||vM>gDst34{hu +XRzTUZo`Iidh{@1AQ%KI`5i0+j6x5)$&GX834;h8KSG!X>?mOnz~dAo*iBB46YXI)IX!WRFbLoY{_PO +J6GRx?O`ha-Li|oH5(e=*d6_Us!ISGD2D{1WNg709H#t4|Jz?-%!txzrC~OP2_B|#H0&)5nVGxMZL^R +kIZZAJrArK;Q`a8lP5~rUK29Y>JQ373g%A+AD%hNM7y@0knU0fgxBC&WU#9+@kJxenW>^7%MF9?H7I( +LRJ$fWa2guz&Np86AZmD39c34D3E_L5wa^{6JcsUZpGpZ +Fzc$G6}Th>7{2OhCA8?8ewopyFx1fIP*FE_7q_dqi^}|L5!AZPJ+9rrq^jog3G9;%QU*e3DM~?a=fM(IzUOA=;}GLp6k|AG8cM`F7{vG%o>yi1Hm;mB0;F)3u9)L6q;V5(b*i6=I|3efmxrWaoVvwZJ}^-v2-tEI4 +kg@dqJ1k7!W=XHBP%_=iDw9#MzDY18Q=8b)%A&VBk)IB+_BM6(%ORyBQ095X7;P8meyG4Th^oNipF?F +Aec;XT!XU3+(%J@2rcPf`lEcx|DQ_&{Z0hv&UBW;my}|8-(evhE>TS5SYU2iX +42+&{Xe|W?Ri|$#7vQAo^bIW;;Hc{KEv>=etm^i?Q)fdEJkIG`8VTUI>h{eOG_k;`)cFD>1sqGAzN2n +~!>1c7G~vSO)9saGvc$E!ncz;U=?DIM5R30AMd4Pe>G!lufor +Lz-_uqW?xmXTryhmFuN${$(*mboH*V3^8IHfs_S0S+?xxzld4)mnfeuiZ;3Vwq5KRzp6n1uqw!m-}c6 +Nx?OmG<1ey#$He>_;Vhxt1vfYA~L&c)7n8xIF#XNPG7f|IecBeaKrqp`Ci^!MOw?Cc07FC31YEzo)&P +RGs`Xq5rSV`oRN5eD%)MyU%2WM{`I?r=hOc9Poy8F=$P1qlwx&Q8z}3#Vjf$7wW#W3sc8G;G6rS!Snb +goO*OW~V8DaHG}s%}4y}A%bUUsDMkYW~XWY54T#)PSHF8*II4d`8t0F3u5`Ao}G_FkQe!@A;^m~K*QZ +vv$I41xcq9iNRkWOezkFzmbGyG)$BaUiE#hb>^y%CE(%!LOH&ZM%4PNq4YTkrm)R8>^WkMKvrD9%z!h +2>_i5J(muSr{({2#1(c0j3Fy@%xM^#4gMtKiZOv}-=fEXcS)|^E+q7mkX^w&Wv}VgBaKVjQvs*OI!kt(oW!Bt=TGN +65OmcTce#U+^sdcN5d@KuC={#nZFcL@H?UmT(PzBm^No{$=2*X(Fv@+?UkFf9R#;;_JDc~{JxDR6bW$ +rW)Eog1x-|Qh#4Sc`ZL(;-KT&&)sH6WOO+c%z(mIMCZ_R4qsCn1RDC&K1$g7OvSkHx*VpPdFA3#Al&Whj$^(o_!z;V)*@|!KU#A@es_qt$oJ`gOg|b-V;^=MjXY%p)~gfmmV#jyG`H_!>vO^M7;Cp +*3lILhZt@hzDgKBj@6feOSiRfhcGx6y6~JZI5T+k3}G+{-nzIzAcXGNUcw-B$IcT5>38dD^o>Bdd?V1 +#=V6$=wS11g9O8TO4Pg-9Q+{l~zgw^ml3NLth8*gX~0>5r+kSm6j +*)RxAz?+5SBFGzawmj;^tmT5Agc7uFymRUf=fZ12iLm+1G2V+8qYAtkTUNDJpjx2{r`g +WtDxjaUVK-zJaj;P-8jcU6Mlx4DmI3-J3k_tVHe#z399Mj)iy4Vs?7@Y}i>>J%jyep@Sy!5O0iG(bCy +)5TQ+Va~fvzrtadE?*`P67KdD%5d=fwpLFQ2D9GUcZ9(s5eI4E0-oR2T^h#0^4q#gu?Nd<>n^tivhDV +5N*aejythVRWM%`mZgXKjVVFq|>1TskxAll<24>yXqoahuA+QB%pvU+;rTzl9Zfl*!JaFqak1Z1hIkr +x7H@J3N>qJ3t?Y5qATVOc6{egcytV*8qm%;-LCulhij^5Twn$p10+j>P|0!MG_HIW(|z0DIeP=cYiy~ +?W^aP+oUk5X&kGMUYjG){uGx4n9tL5SgdT0wxfx4n9TW;`(Wwm#6B2h6>#@A*rIAkO!4-#`#omuRQ}b +8ma~97Pe_z4<<(8<>0Bs~5OeJNO{Y%?0icPSQjH_TJ`c`u$+<&G*xk2KL_k-~qxQif3pN0ef$LkYa)M +-aT6I78u0ql->n;O4s?5xJ^H`L?FtYr)WtB4j+4CB{+QZ1zLQ7!#Dr%bV2Anz&e~CrzJf&hw~ +Hs10h#WQpSOEI6p;OL~su0C-`#^<5T_d;;%qzC?Ti?{I#OR%YNGZm*fXff$~rZ4#J=+pF(r{ +|N5k=6NC%xQCnPY0m=g;r8kW`iWp4Zm%7nwFdZyo9C(Dz(1T{qAe8ohx1DmV(<^=mxzksAI>k4N(cVo +{4!$@!^^aP0{d`&m6r2hAI`7bBn;B<8tqBIKAc~rc@ONv`8Dn{NW<&2l&T{uR&WjH-%?b;HJmTgQ~<8 +w<~P)KumtBfXhH`|aDIb^7qA4k*En$C3C>q&3;|DYzCs&D@B}w6(kuy{;CzMFI^YRzoPA3eCf`j`Ccz +WjUb{_0J(z-z!cnGdrJHRS8)E6_y?}we4 +RLhuHZ9LcEA;!v+546;P%=(+7yB0KVY-1x>o(3(jBC$`XCSWo8@rg7dc|_<=7te +@D6w_=4MazM(M^jKLnH2!k{DnNG=+;0%5~K%+7kgP#x5q6&<`?K@YA-{1^>K1fjnXYlg^|HL7RpN~@l +gERQ~_(j5o7=AuVaRO)X^JyA|z#05}hUg8(;P#zIl=AqcH`{!_QY}R|4kY^abr^z&!kXm4;$454Z2K8G!EL-38j}fqS@lm#72g;pSahdVzQN`CA&{&^x +?)hK4cl4ma=dPlPz%Jxfa{Fb_X3hjFgJApE?1moSLs-3u=WgmhfFN!Spm&HL+wK|0>zKL~+ZT_X&#ac +w_gkd12}2!k*^Iz<=^sdw)`CJ^Fu|14pUj!*Uy2I;u|o-mjd*SRq;E3Q8vY{K@8t< +TOfw-_%}eR-MdJ^HxJ-ukq3XXBpdUy)$M5ay-$A=mUa9#l0W|8_hbL_pZ?*efBk>{`VW8n%`g9c&llv +&z&hIVlP~}HU%UTI!hfdWKeOc!Jc4cm4Z*nhfb7yd2V{0#8UukY>bYEXCaCx1RQE$^Q5XayBDNfl-QUwq3gevs`K?Mi_)z&>s2sKV +}>AX62_O5&JnswInz&8(QNg55ZAB=U7+!V#f1_$STn&P +ul#7#@fN4Gu>Si)NNNKW(vV<}{4vgk<6FL!>4qkfRqXud_4XP>X%uim`l$MGj57afsY|~X +|1tO1)tBwSc@HuPHsvdXHoPe%x1fTuv;pkaF%7^JIa8m@3C=EnF@q%;b5ghkPe)ID(=x>yL;4T&r1BJe0!)0d_4!{ +q9Ph=$O{n2Mr@rz?cO@htLFMP(ig&_^3J!OuPig)?(@seL&)}F53*)~PHqF2vN^8BizmwE{|7!E%yyi +4d`IvWBlP~!Kgpz`SbYuEKI9W?2-Eo`~@?)v+o{YZig{3>8E(h7{6mq7FX#I&%ICyk&Yv0LzKX^X`N1 +KvUvma1P0|XQR000O8ldVxvUo0!c6aWAK6aWAK9{>OVaA|NaUv_0~WN&gWZF6UEVPk7AUv_13b7^mGE +^v7(OD!tS%+FJ>RnRchQ7`}^O)daXO9KQH000080F$jzQ9C=G)2#sj067Ez03iSX0B~t=FJE?LZe(wA +FKu&YaA9L>FJ*XRWpH$9Z*FrgaCwbW%TB{E5WMFrR^^gPr5}LA1relPC=!KhW#TolaO}#Dmi|3!I}cM +pA_vFu%+8K?H?3mM!HYhy_M`c1@!+M=^|V{wR6x&SvAAOnp-pUIEI896;7D^|nRLkE)JcU9lAP4<>ne +pmZgAJcT9r|Z#jz*DfYtJ8ek*fYyzB^_TUY)%(opdr2wrpc9joO>=Xr3JCBU7$J +TAa7YdXiZtfjntNv*U)Nfc;)->G%8Ep%SZshkQlZ$jIP3J`rD!Fx`L +LekY_TLesmFK`+ap +?`%xQ$beOF&lO9KQH000080F$jzQEr}V5A+5A0FoB~02%-Q0B~t=FJE?LZe(wAFKu&YaA9L>FJ*XiE^ +v9JSbJ~VHW2^cpW^0XgOoa&>;!3T#Knd_h7MbhV#(H_C=}YJZEdpTic}h>>puJLNQojX*>O7|51YLA{ +qBy`Bba8hI9-gOkn`iGoq3+Ea4AXnRK{54j7cuzmH93&k73a1#B)HBQ3vpeQyIz4nhWIc@JkPpEM53&FDm2|moKuEcX%RrlLJ4iHJNY +pro~oS8qlA6lo8;%BI0*bzLxN#lzBWUB!8LbS^hA;=d8?lBAFNZJ~}*2m=N&tPF|s1UL7>ATds9`(8Y +*z63V*1ua$MX)js5WopZrcDbP9zE8iTb`;Bu&moFZ{xOQYX(D=*N8VFn{n`TzaGFVoMV +t!B(kb^e8HUTEq9^4BH?pWx_{Wl` +Fe&0h!pB%H;rT``v$R)HK_L*@&tb)Jd4|F>P|GZxL6NGDH%8e_pv4uKlLf4coF88*aY|Duu?M4hkxoZ +9GK*B?ZDd~_p#@7+^coprmc;iQn3XY|q +7COSWS2i+1$8>@t<-9gzJmfZ-K9~=@Ps!9H}3;zIqNnvlRN!A3g~&*Kt}1NH|+p68yl?@GIL8s8haRG +QQ>QwppI;vdW+Fa+*58>zthOMfsM(OOT$h9g*HR-VlerX7TR8WUQ(}vX(bRCJcsZ@zUC3jrq&)v3FJO0 +>}O^7Hf+pXZ=aAaerGl*e?S^~PM=D>zUIRxsqUBP1fDg5lVickH|em6jju9$QqW_#6ZIAKVA+X4Q;G^ +Pw8pSxZ>UvliIs0;Xq0{fBN=uv=DiMY|4wvbNv^0Zj0J!Mf8sZJb4TUgKmXhOhE)mU2@*qyqWt%|D6d +lv|$+E)xuZSKKkUs%xlV-*llPCr0eUJa@;sQ!)Ll3}WlG7gGLOSe@onOHURQiFwMSKjUDzI`&FOPZ6PUnZ&GY(nprm09G)KZ@1ea`+WNfCaF)VbTL~VjCxQ3ZJHy!t +Desxemc4ea_S4T&T8h|X#;4PZg+5}4oNw-Ao>fZ@ZF?58o)6rJ_nTDcn7=c#qb-(!qj|USUFBT5H+hI +bp#}h}(Q&$U}0MAZal)PzGQY$DKzk~2D)X&MQ^4Vin$@T0RoSg2mus;~>lF-`|mDeAX#g^3S>Qp@kOo +%$;3LI1H|5=)-L&-GfOjfBs8T8=n6w5h>;o0#dmI_2AOvJ81QI=h!EjumQD&Okl+Ae%yGQinkXz(j~0 +@ZN6g=jX)mk24V*R!CKS0iZ_?-qG57o@eD;sg5s$qa%Wk$e<3`$)F)hT^$X~tDQZ%9?ext)Wa6Z}S*ke~-=Pm#uV9{q_>%+_&36|8gRQMF5_>O0GRgpR +qIZ4VbEd5+kZSOk0c44Y~jHW%Gkuxiw|_CtK#(va5p0^ffR{W>OY8zsV;@>?W?BXcbNKkY_^v)OHa!p +jm}VQS~`!osvu*f@^Y8M%2&owcQjjJ8AG=nP6wYjCRf8Fq7c+^lAd6(1f1mWbGN>{9X7fN}2gZI{$iK +`Uw+F9YmQ>_0FxQhGFtZ&%r@a;Rre(9Em${NUsg3oY$&cUOM5SQFJ@ +tEY+_+!Yc6nk2tfD3?@v{(1vuX|=NZ- +AgEpPf5Y*&=|Rp6;IRo}O2u(P*56)9ElA-IDntrR2jyev`x`n$4$lM&mrpBe+c_WR_je0jkkxY-~)@W +JbnePV;C+5jIJ4bsuIVID(rCxY-advxiLn%+tjv-`Lpr@Oz&O@J;74O*5z_h~i1|NB0vM3`lNZU8|>wnPRKYKD@HS^56!wje+Iq +gJQ}k(;0HiSyA}l0k9XAW=5wI(4E1s(a=Dc34&RePw+zcf<~y-pstCUo3&b%g*xGUPUA7a8DPrvYu6 +@RO~KL~T6@8d%Zp|-poTL#OVWqW5xr}9YDE{*$&(>AYtyFF!G&O9nuZT0s5lyn-x84+99`4=b2wdarY +z*b$_zB@ujNSn$^!jMMwKx{iJ{40XQ5IcPLpmQfM6QVhU1WA(ZA>(`Qy`u=zls~&%v~nZ7e1enw~7C( +>8g($lp((8w%Ux_&!fV{_`YBXCXHVv~+N?!ig3r^8yzXx`0lhO|Tn-2AIvE;^W_fkAFY?07P~1_u>0@ +!0qMX1wq#d56+MGkAnU4^Znn0H}I43-LH}e*bVBoW6Z~d~~{hamDyEGs@DS+m_?3m=;)SpdI7j{=)ur(+XV +Vmd^X4#ELU6g#%OtVW5Tq1QKC@?GX%Fdon0q9*qb%Q5 +MDC6|~_4-q(Vvkncc%TCHJ}QS$Go;;hA+jZqlKNe(?dhBaI_XNzebZJ`Yj?#V>wBuGa5f>2&+*u?+ox +J@=UZ|_(y%4@_ZiCF|k9>xM6ujY!Ey6SLsKS$Csa&;y3^y-S--O!k9a==Y8N+1#gKLEZRK)986%)*K_ +r!)vSibn~CbUC$(X$IjdhY|w65RHrY&nm7=sGR0JNx-C`QylZc@ADh*u$uKkOOPSuO*AIs1^NOZVfZD +a^pR4s$GV%nD=t==UXcmJLkUOIF(khbAfPP;bn_jA5a5o(d!bkX>d62*5>9hVYexe~X9A&00pxbrpdL +_-1P=Hw;mk#EEZtF+N(yzEgwd3a_q0ZXpYuhbjRK<;6@nMlj4WCjIw=Y?H)y;l%t|qKo#X-2Ks3>2%V +tIDZxbZa*2__&oMBY(r#vq1x5>*kdC}4%LXMU>h$eKu!!}6kt$rF}psUDn4kiN&_^Hm83Qru@X=KeIN~IO7%f-oa_DcdVxc+Oh{pG9;V@p +Oh8G3X>_Z#`UyPR!bgR>xd}fb!mAFT9yjCG6}V0q-w8v+>l6e(r=w^Rp&OG{gYXa-!>9&~|6gd8&~l; +!&sns;hnV)Rm}LN7;VTwdIGoasK`8d(h>w|@BK8uE9kljJGQz2ppslM8X+o2S;Fb5t6^N$Ud$HN;_ID +g3Ze6vEDu+oj1zHeomhb7zLc`F4&%&n>7EytpDn`FpN{NX1t2SUPL&G#6xi2DbRfbBP02mn-jFOP?PcAhT%@SWJ`;d^ +fx_tGnpn~PDt}3P#J@AF=Ya#$nl5whi}Y?wGZ$}8EL)?<0Pw5VjD^nGY}m)6+xPp7l$nvzX?J03q8#i +bByw^OLE$ZM?}FaoCmk`!D%)nN$>*kl=%~qq`bXAl_&{E=%7Kn(dhshC;>`yi81k1~AlErk4y=75UX-MH&*sBbonI42}iUJ7ZUW9}b7}BclRcap)s&F;2yM@3#fv_99pg* +%DZdH;#52G~uLJXii;v5tRaEpyn2&?U>SiuGq6Fvd!D7CTZ1*jW)2EH^NPoX+&RB36VnC=0das7GL(r +|#*@hC;(e}VpwDG-aB9+CyRYbu#w9{27h8r?`lGNg)P9+Yt#&)De6wQI{sDyGh&S(ImNM1^AIHHA^Gb +w1+`+VhNtP+Nali{2{1V;n<#E`s2nXN=ycze;(_}=mteLDtSC#;#rP +Mf_7r@}kpbCtSOkw~SBW6Gj@!#lkllhR%zS+IQ_yD_YfOY4+hCuPH@zfl*K_L^_66yFP^fY61ISBkeH +$=xmY-tF87?ZwIv~0FiX=tIe12!txhF>E3A9U5jB9b4V_Gqx--GI$5sz)+b)r*?}orOe;yev|jz{Yyd +=P2FhW+-93v}Yfnn5c0tGB)VXOfujF};T&?DA{XL? +;RF;EOu^1^;bFTB#&NtShUy`PXf#C`v_T;G9R)xfknw;$M<;ThH(PBD8NL=|3un~;x0AtGWZWQy$D2O1nOCMF? +!#G{@Kzfdd{0h!SKJms;u!P<7w+csX!-zM??nPS3)0VU5&KSfDs4f4gt^p>+E1)(tiYO<`&;x+S|5UJl|bK^{I8P!lpx#*#~MExI&g$JqY0G)+nUe&&l5f)0|myJN5ga|LolC1=-vr+c*Qz(=lm23|F +4FdM+OM+Qw?*5k9XBk9@rhkMxmcm^6T8xP(_N!z5oj68q^V(zlTbS6qfnzIKSRTGwrz3NB<1>6d@SxcY90jT@45sa>HLuERQ^f}wEjXnT#Z50kZPI%ox={yNhzmzJzte=D_FFSTC;-i;b{VI0G +auN{B7{LW@zb`eW|#at&}Q4T5a$apzNW)9Cq~2hKKWdGCQWjaJ-w;7ofIcdp98Kr2WllZ?84R<(ubG%+q>^X^7)Bf-3 +SqQ^86Qcl%-q8X@IZ{W(RHNd5nYq0gI*Yu_i5emF6DXPR8@~9-Xnh+-nZMev^D)@bhjx=8Yoe!iz8Zb +PYF0$w|Z5Y^EwqKFbDy(X$kP1MbY~%=!jjj0>7>xP?7PM-p!z`n?-A@mD1#C3%AeVS` +bngVeF3#gl)80rOQ%5q80;Q4N_qZB|UYCN-K`=}A$mzQeXZwf8!T!+^`Eda8HqGK^7&cBL(1Zsz<;7N3)n*KgYX4*l +E#6^EhvVlBq|FqF;efsKsL^PUUud3@G#X*(kz=s;@>+s1NZ~AX3EcC^G3Nhc$9E2lsCoA?ZP?Q9B@my|HXG9BG*1F$g*+l`TH~9xf +ud!p0RXY(tbsMr#CJ;==)H615<{JtbJ1yQn@(kMvHQg{_fzLioU_?I} +ZC|PSU2N21nq;}oO9vL*z<&^YaK}LJ>1dJDfxgL8^A*tf;Y_5le^b7UnTi#65W&GcMua84ucstBG<=` +s*gsk2i=by<&Z`W`zme{+*X0+^7+4C)2^wlssH#-2r%K5?U-2!R&uI?Hf0FL~$w{jQvaSyqii$(Ss~% +pa?Itp60GI9DK)5nm_AF@^hx`eiiwB?b2zuz?Z@9F$=0aWnct>T~U39goaXQ +{Tf3}jiK6y(c#d@gI}NFcg1FGL2bN#(`Xx#Y#Rb= +{n4$KX8*4!%@>c9=FU=So~|d&oxh?qU+!Vhf*VP8%fx#8+eLjPJ!^X;doZk)>}pDSW{B0U{BW(?DM~(VE27Pn-bs2ky;{~JeB +t}$U3MZYqthjhISO%acV823g1JD$$d5!3J3;>nhPdzJwATbyrp*ld +L5^Y8h32)jH~}t6Dc-LbZ#A1tB~j|&Fj_|hq!h4|$Z)Z*6?L2|-c2*VM^LoPDSx0!!{la^x +3$ONotVDRbPawSARfYGep73_p5#B4m@OBNKS9{o1=JZ}Xh1Ywrs{DE{Yx=zx>qxNo(l5eSrE@FxB=}d +F;QOYg+PTd3A1O1dgKNg^*2-b}IDaxHXqFgexSZ8YQ8x-YXsVLp$oNr4nzrtD)7unIHMfS +Dz@2iQda=ibw73qIxxz17*eG$$FvLu_$hMlR>H7z*P%-N)2vfaCi)9pR~RW}Mc6Fu{MkgesK|tdb@GT +ZtlQ@n!UUPcGgcy)TZ_-%&J@SrmsrAMUA?S%dzjbHJ3QTuu&;m?+I998Y;gxKWhn(`?3`6L}hmY~L21 +s$vIHwS!Q&BbjKs+Pz4)#t4lQB)J&_#ZEix5h$FVhpuUvP#r!1i%hp?QKGcn*|Wt#y$1liRY=Q_MKJx +6iB?DxGp*fVGATU7H)2Nwi&K310Rh~2epQ@OxgyE!-+bzXRZDW^@fP$UJS&b#g{44_QhyEgL2k1(6sJ +C|0(DJEj-L~}N_j-om|fXq3p3s3o?Hi(L +?5yaa}aUUIP_-lOY=YA<)_sez}EQXx-ROn_1*8|w5{n{jmw;hWtoVv9*%zx0i`2 +i_32Zya@c?VL63pv$4o0!EQqtrhcf<%Q41RCG;PhzVor`Bhe~({M&_lu3nr!Whbb;dA{(a +OdwAYFS!;!IXeSj1zC{m>iyRZ@qJ-|7EGa)6Btnxb@lf5O4s^C=n`x+5r0!nqWgNRgS$Pcdl1n9 +0U!CgSuBp!7t;_!K3ALrWnVC9Lc=n%jb^jxcQ6B`R&4^(0b%471Aw>^n`w#&>+mL)(#Ga%@Ra?2Pjsc +b19Oj#0tNb*s_b<7&?7bXs}V%Q(*_(}{lYClh6V-_k4#uPK5EI9}Z)KGo7V$s|q!neHN3r5&E{TqIRu +Y=^BnP{WqcNRIhghAD@5a@2$$kjj!7#mM6>Nyjorp_S=WrW!2LYss1qllU|GFc^NMJUb=C_L!PHk799 +;88>+CMbbwt=Y=OV;4{oEGGb(Sazo-cCyV0iDGgXYOGOGEpyY1|W)+Lrrw(||OGXHWcX}Sui~r=5=DJ9y4;qJpYxGqSVX)TO`y2=}lNdC6*8EN+hMf!s +pijBk|$@vBL-yZ%0!aro~}Qzu0h(EK0%@*|2D+2osKu7bA#<;ZczU5tB!fey7XCXJte^&3W6=7?pzsx +4TN#p3ICTxmm?nfPDgF&k;)^a<%d=gxp0iZXAjOaeOE_#DlXin(mMznns`DA+t>Fm>AEVCX%T!Mb?n9 +v}RPk#wjI`uBb=z+ceC15}rjYlb3RC5gs_c3)3;DNHDAiR) +dG3wMBXAgU}j|9sBXj=hngt1ODSCouyW+Q8+-p+&}(N;$K>M8>BsNBGZU4t +r6)^c(PRpBc2dsBQX-p9ac{#d$)ke_e`MM?jfo=vZ0Q7oo&BQ7+FUl7t|h=Ia91RL6FdsQK|zjY4J-g +EF$MhEhP=VVivdo+=L7GjI}{}Abq4BiuJuO$pvS=d#)qTNg64o_Rj`k!*;8d!_b4lcf=*2a6q{Hsti{ +NCHn$Wc`Pn}8s@mDiP*r@CiWl>IluF>nc^YqeLWbDQJ|KeOVdFpUM_m^k6B ++;L3L1w;DS4fhQvzl6Z8zNcg(XG$l_bh9r1|M&d8<%BAocrQkKn5b5Fblm_R=_Lu;o7g4AEBizOPrdR +!zgInvf4!(SRLtUXLy03y&;RbGQ3s+`VSUy>NefC6^~BP?N^wnryy4c*FTTTE=Hr<8*6nt$BTL!@2D( +;nwB%33xu`JRdLTx$E+6AC+FY_K0)dU&?tI_fI5+e{d{2=q{ox+CkytK1h#Hg>CgF0y#6&gk7J +KT5*#l}eDg|?+_P*>-M4Qg;@PIBVG2Z&AJliiIzbSJGa3YLZCu7|8xBUiVs6f}@>s4S4i~0GM9k?CgI +b_r!z;c(vsG__=1Yl@hxMi?E2Wl(cV9wkm0vd087G@eg2lJlo=OgHwbWy^W$}eHh>hy}@sTweT+_Qvx +S!oG^KP{fjX9zNA0o?NxF19Gc?`3V0`)U2zOTF0^ZQGl@(8siPXgc9G4U#2H51seJpNo(hm*1hFE<$y +-wuFT&1wLbCQZWYOjrlcfMmaA$Cb<1KTD$c@s3CH*?Q$!#mZ+Hvgeh^Jcoj+kiDox<~bx&h3sV|GT)h +zDr~#u*eWCcp#`BJSO?TFNY>c3k_)kGanHiuI|riu&!qzi&!&GHSwL)d)uG5sc +MFPoGeC)0skvRsIouYU@)HTcr002HBUxmdrRXCUDV`Z3OdgJ}TtUwm(?TADVPJ7_=R>f<$YM55s4TYW +e;5(tyg^AR>20c-zVfo?ZH6)a;u9Tqn-29pl$0QGe*nJRb6o(yA}-{E)IUY$(;1wz{wFp-$x2aq)5%_ +)Vp>*Yka_p4nq|rY}iHxHnjzn3g=a(}tcUOa@KOJgVRTzeVP8!w?%XbJkfFW)_sP4%C!GVuYg#6ysN)U^G8 +e0P`gf_E{A6rBGZ^H4~&`E&Rg;MG^Sj>%UyKs3gJF7ZJN#P|n3(5>hYWfCcx8dY*d}E7dCS2jL=DP}% +gL%gRMD@MMk9urRq{e4X&UG;FUEu9t@Cb;9$~u)IzQd~B)tmAlic6bPeL= +(gKFPV*a?6fOh0|hpuGl7<;bux6ck=Do`Zr2^9BCs4SvB8e>#G_!i&-^y)cgnA$~U9=O)}OtZ>rCYt8 +H~`+fPTw?F}x>v5KS*Xy)(B#lzNTl8HmCUK1$5<;T-^zXTsI&f(9&<>}ec@j34O`tZ9wh~rq*+7mzCD +3%B+8{IE+L4RxGe*jQR0|XQR000O8ldVxvTAOQuA^-pYaA|NaUv_0~WN&gWaA9L>VP|P> +XD?r0VPbD}bYEXCaCuEq!HV24487+oM3%i}GPA>8S}3%g-9uqn3bX8`6yr&hiKt@-TVBZDS9UV3bFk5 +ip7ivrJ9rx@z(58;?mlV*hB~wXdx*A24?H3;`YC`La`0`|om?+#S_ALs136pW!LdCwplzSizMr3NIW3 +$KGx+l3^!$2$-WuABdFOboEebr&E)YAvNWH;%=-f0LWP~1BlL>7#csGGkL*(dDDWGX~oCm|x&m1@hHOF|mXbe*&*AfaeumnCit4$AQj>EwDxydH4^YV1gvZqUw7tGza`4g|tysshiT5`GYKRZ%}tjzAXI~g4 +Vf=sh++D_Igl`3pnr{6+29v&Wda(sgOP{Td^ms|Y>P)h>@6aWAK2mq6MmPUtei%X>?y-E^v8GkWFjDFbsz8`4ytQY!JfOeTRMYFetlp>@tRN6Q +vQ@R*>aF|NYz~jq8heAIYyiw(vbrgq|Eij$N`29JLrCc924c0y-clijTnkBwk0`=CGg3YWP8k#G%^4b +MsV#4c%1scKEo}G;lzi;QsS{_jTAU4a3BQS!eG&f#ArIl;x8BdKPHej}8@~L$%~$Q}x0gjOmjmL1TdY +$f976kzGChx6 +W3Q$samrp`PoaX~x!DChB{w`a?3;a&`&H8y$-@s~L(BxR;>RHfjtwNS93Rw3j=x+H8|EhmbO9KQH000 +080F$jzQ5s4EdO`vK0B8gN03ZMW0B~t=FJE?LZe(wAFK}UFYhh<;Zf7rFV{dJ6VRSBVd394!Yuhjoe% +G%!l9zaRrlc<;kU^J*t*n$nN}+@xRQsHW$&xF{>CD)F-$}BwW^{Uybv}Lf-FKg+@Nke0YN-%tuR5VX$ +r8203OZe(1%E*BXd4Hnj)$vOl(gNZv>YDMI%zbU!o0Z1LFg)`ec4=(IR$JGWAOH7wZ7Y|hk`oBtT8@e +69bE_anc*x6JBjBl%{DFdV~tSkjfRTwx$8j>&|x;IS1La#(EIX&Zy2KPv;yed6a=z4y~2i(*<4nK$Hz +PT<=&yE4c4lsrMt+!_)nmufDBU-*4`|Qht3NSpZB4RO}nE0Bwll5iJ8+5$zo7O7}Tj%aRy9bkquMeT$ +5-`=>c91Bv386y#FZW_z)NBwblV8qQP4`_L3R0-4b{&loC)@Be=m4p +WTM7^|>`SLqMDA@xWHImi%iO(v7LuPh3hs(=6qu +}G{*kyF*;?8Y>C)#6JhE%BzSG8zYewn}IbX1j=vB1l<+tWX3~djky#Mfp|NH2r{eDiU30G=jn-s(_cm +QadlSml2m>g%9RbqNLK&J5))dQ3@(6N*~_OKlBsYxsuu9uY7W^jm4N6R?wbvjjx=~O679Uq9MQk|u$r-F>VNeI=7k>jbc93~!v<%R8ej7)NvWjXx%ov} +YqO9KQH000080F$jzQR-d%*Pa0Y0Okh(03-ka0B~t=FJE?LZe(wAFK}UFYhh<;Zf7rFb98cbV{~>7kfODY`-0cu@XM<7?;>XK0G#t|fHqpHL +rD4a6H3rtK^qCpUA={-zMs*IxTa$DfQuHG=Fa2x=)1XJFDb8$ipJnD2mU$s6E$B$tU!tfqEx#Js$oRN +Xvf!hljuw455D;Q_lhE>Z3RU*5UVH2ro4~)R_MY?m`{jn3#;opX87B%(~ZN>B^I9%eo(hK76r*efy=gxtz> +E7@U$=9yV72Inh|JD25FY5~KePVuFzDv?IWNWL$(w(&{3_bu*O9KQH000080F$jzQ6PbF2xkKT03Zhd +03ZMW0B~t=FJE?LZe(wAFK}UFYhh<;Zf7rFba`-TZf7oVd39A?i`z&Le4k&@Xdj#dTP6wIgCP$`$QOY +S!oD2GVUI^`YgkF6%!eKQ`&7@^UMsN6ve?peb#+zsY*kesou`3y>?X4P*m2K8w8N1?)X^G>(*wtRPzNe{Z4f(;a%>*&ms0^=C|hJ1Ec@OIR@CUv}|b8AhjM(<9x!5QN`(;*EeS_ +dc_C;8TBVWm5ul5}2#+nK`W6A$cl*GAZJJCa#N+=>6qxU6vy0Wl2^SNj-O35?Q2$*X=c|nUrKz{LWTvlp_3OK}S2*+me?0c +^|iPqaOeL{$cz6^N06ezkK^titSVKskkXWA6L2w5Mgyb}QfV{Fk_X)hX2tTuTcX +#Yj0QXcE0YKOF#ro@$#Y*P2*>}!7l_h~Uxa@Fy7w_)LWE1A`d(n)C%eBQO&2Q|NtP+NI4n4eBi)7`)u +Y}unNhjSU{%ccO{?xaH@GKW~d98i}P)h>@6aWAK2mq6MmPZDDe2WpZ;aaCx;FYjfMU@wm1s#y+MNM;(XLD9awjgz}V1iU@Mk*#YlJKQ^8JB +bpKc^aOKyH|j883PVt|o?Ip~eK~m8K062v%~LRa|U=-jWM4=b +JKT6(b8)(JYrqZz=eOr0KG*YQfT!WSf$UiqKoh^SWZGejkuUc9)@G15%2tr~sjuS14%DVDOR&3as3_v +`=MDD`38{?{X`9ns1qvNqWbM1s6%VEh#L$SXmJ+;FV22&skY1zUuvw$vUs(fXE8OSY1^Vh0`ySV(|@R +|HTA97w@*w*)qu#7&9h|&CSjqj?8tze6n8Yw7H$M~Vi{5yqEMxvs|_83aIpJ#07l@W$cO +yL#dbj6(mbcPIjH96Yz~S&%_MxEs~w>EfLzxlPQEYH&LgFBv+ZQ$kf&2vt=g2?fZTGP&w9OHn!+sD*N +99NUf+oSj*3rA^apzIJsgr{RI$yw1TjKHNl=ynlQ)BwcI2nN2fz@ez28~X&o&wdZZ{;P-M$LQh3Gw~R|?kDIYX{C9jsnSiF!V_*lnhu-*vBw)sFa +s<3H~Sx$(@Zi@S9OB10Jj9p0e9YQ$PHL09^?pj#@mwbVHWBx_IQ92|2zhVeNbip(AQzZ>%9E`tmI~Vc +`|-;IsqGt6x?al&#Y3_k%iEq!g)Vd^Is6chQqYnR%-wWF?`4tEwqDxkj7uu;8>sHBUsL;WSw(Q;cXx@ +0bkKM2QeI+L5DOQ1OYa+i2gX2J4@m+(L=Zs;7OnV<*z>kgp!6(Cy1R+oE%Ssxivlwwr8ulk@mwv*x>V +8A33nWsxB)CkCNnUMd#aw1p8bG+K`8E(u;fJ)06SlTT%S1 +0FZ>DzY~{y86wMzBF&^rL-x?Vet_r)TczKMkA%1LFrC@5YzEO)k@O}!eZc41OK%Jg6GoqWm1pPhp`xt_cOFqNxE +9_A5g)OOUMUdBG+*MzPxp>;x^UW_j%XIki}A19bf2_|I}_b$DuIGnQlCjYp=^_XfRa&nBX&v60%a=w` +57=})KMdFBPW^q9H)hpuDJMs#d$S6A?ptEruOJ(bPOITLf1Vy(jniCw3stXH7xDCU~EF}v{R%kRuyfAg|8u`d9Ylv9U2D0u2H86sm|#m{W +E|%TF7d2EnK46TBur!E^AaFG{vl9K$0Yx*>cC0N>f$$xFkYRgH(iJUfw9cGLCXpXH~ko@@qw#>m86Qz +F}3ifkgYBku|+zko^N>J;%bG3;O9^h +eqSh@1ga&S=g%RHK=${vfI8z-R$47#KGxKBO|a8o&}sBK%sLRSA(a&c!!kK)6SIc*3kA#7R=q +*1HVbJ8EHz+5(vz@H`pHM06_H}oAcd#FM~M1x`der?68Ft9>Ry#r)Q*N6q3I@Rvg@7I%;NoLR6}5|!1 +j`4lk8*|`;GU`*Wfe6S`P6^oqrh6U?y1Z0oAh}_$z?4%#ysaqoZJ$nc-0|%zih+&w}B?Lcb1%S8g~M1 +&)u6o57xo?w#1K%FH?}21O^RB~t6*rCL+lNf}J#K$Pb}AEZDkv2C=CO(oE)>l;OVyK}tsw@&exnIpke +A8x1T)KD$KyY1gv_Z9Ke$r^J=#sC;Wx%`r3UG0R11q6TQE`x16Ll9q2S$I&LF(S3^OCaB+8;?8cDH9wX +ljI>K7TPwXj!si5$)4as3Jeqd|Sl8kMGAoQP%bQAR#e@VC%IOF+(u5hTVNs0K&HJ+Q`B~78Wdk+6|*^ +rgc6j6K8YK@_*v0|;Mq!l(Jw{S4}?Q +WCb(L7m!4)CT2)ASFh#}N91zPw;?%+x+1Z!%xA`6onL;Qa#k$ZfXeRyk#;IW$$s?~yc$lik*MyJ)T=o +ZG%ots3$&`4LNx!lNeYg4}1-S_}95dAWW0;|H?L=_+Y_*qzD}x-4aPHMXDSMXwAM(45PTwkp=hyOh*S +7nSg28S(nZ{jadVI}gts9vpaQr+3&zWv~~gY2%?h9-QqBLf)wxhThyx6K_b`y*@|;JK$|k*@HJj-SDP +g?1Af%Zs=w$?Ji{q-_Zc~P{NLMH>Z7F#;3cOT~c^$)Wjszdn8G9($&{3fo3dUTnjxwr +hHaB#lq;+%7m3&_xlq=pHQLx1_)r9oEBpXeV{Kz}@%L`reMg?o@6aW +AK2mq6MmPa%FLKX>w(4Wo~qHE^v93S6 +h?YG!%aKuMpmc+Ow%=%aj==Wm(*;TQbd!BwHw%;L#>Z*2S@nB<}^<|IR1LcH|^L$xCdVbG~zQ?mi>)y +F`#pk}`t-bxBi_CM%W+wkBn^W}L`7MkM1qLGq1$2@ATy-@veS$a}^`l4s5t`8v4h5Spzu+w0kN%@dFr +WBPE=??t0oR4L5#8P9WRuwembMJ^JV^C#eKa!ywHu1J|=WX&W^QV}>Cp6^H;Z%SEm7RMyn6*-rL-ika +eC5z2_hpdzPL>bm01y3>wfovs}p-v?sB+j?>8)uGzE|MaM?^(9ac~CqR6t~N^q$M+xRB13TQMT@ooG0 +5Pqv@PI$~QUhkO|~i^tfV$*7@JazcQYW`7q~j>CZU_=2(l;v_qzB%N{$Vm+x+qjC}#vAVJ6wODf2KkT +a6yf6!wwkvs;w{GN%R0$paj<$xD?5rBK%qcX^pAo{cJ>oJ^t#`R3x +=paFB7a4`8X9Ni4brH-{{GAW>9l_W9JT`HXOD#3y^a!U%|aR#raVeefuhuFY#7p@+)gOC>%x*+Y>xDqdNw>qF?6Iutjp5n`s{>x ++XpDE`B4+bJzD=6bl4yrUPaD94f)*7=T$k=+Bf-3|z|^NUYWZ#sczp{eWFA%}MK9Zm%d +aNbAL8Qc>i?OwjTXe@0iD2TZ_h>=_!BxwNt*JJeLPwJ)rb~K(wy>J%!4bUKZ8}>dlKnG>|#c&PYc%+< +tVCHY6t*+r7hNBNwNOcj}NGF|XG58(wF;B9YE~QK4F-Fw-BgJ5nmv3l_<_7P@oIb>=Bf)`jEj*h!Emt7)*#th68bPCI7l`RKj#%tl@9!*nqed +m9vUc6XBo7JsPD6^=Z4`rs+Lz6`~RHVaosLjj)Pb_fbS_$$8GnHsBG-nu7Fso58i{R&QK32vx4X7gG= +!omw9zT0uhNJ7a5o$Tusx-r(>$xqU3j740?jhIlH2UeLKaGay7U0!=<*0mB<$4FW`^?!N0<;ZhEgyh5 +R(QVONU%LwOM%FqN$gjg(KQitgJr7Znvf+j!9e?yO1&tFoIHS-lSC3mw~VJxIAjcHi4Y|tXD=>Z+C~L +>JutQ9xsQvb%GqkP+A}r3{m52wKTjuS!?5RQ;Amn^*(O+0T65Oi4K_<|8yaubL@qUb}hchxCUyr+_M>FL+$pkinJBG!U!<{=km< +V7e$*{m?z()>O%#_N?j$EH#k+Arnt%YNVOo$q)8(wEL1oIR{jkNQe$PzKGPN=iIMV&=;w%2 +y?UKJuh0g~|2g?~*}?NpY>xnZr~THvDsKlmGM7q&er$+Xoz)qZmG*VD`_? +heAyx1FLH*!WGHso}+KUAOUxiBNC2`f~o!dRK82mPJnHlUohEKk_JZ;{8M#Zhpbbr>(!)+VOQmD`Hsp +%cttTNa-&6tGqeKmxSiH5A=Vz|v6k +;DC}vQz*+lySm~6+)KwU8Otw6Wh3F4qQI(xFEWH_*~AIEW}sG2PvEnYtvw6G_kI6ZLF1Nx(E-!EHuEW +@Q{`>h`9mw8Y6<_Sx~-rbXKovkxF^gwCE6Byb!>?dvTwziEO~~RYuu?3d^-U+EB;po)PUdF1*f~V|NY +*W%G0pqZ%|7E1QY-O00;n+tx-|?$SH*z8vp>vd;kC=0001RX>c!Jc4cm4Z*nhiVPk7yXK8L{FLQ8ZV` +*k-WpZ;aaCz-L?|0ialHdJTF!H_^$x(PtZoix_ayL!guHWU7ye8MYeU4X4Q?SHZCbcAG#f{Uy{pJS%4 +nRb{!v+jWwJ55rF3M|wcV3i +HT3jyXs#eiN)k!w5;+^xdxQxc*^JTp()p#6bmy4pTqvWhA=F3`*`TH=MWLFs?HjEZ!meVoZA_0he|vQ_e)iX+Xa +95j;yc}BSp#jRL7L=6o~6k=`$>(jG<&(7{$^Tg-VdYaYMP|i_Uj@kD?m6qcLzI&qFvxdGQCU=qPzg+0 +=%6FJ_OxGvrjMZ^E|8Sq5bwvmWprxm*ar;>oM>xIh!l*2~247>o~7S6+j!*0Hvx_UMDCeRxwx_KtEk5jciQn%YxEOIa3ahD +`hlS10$;u*VsX512ShxHM@;YP&I4mOd^C5UE%zbhFe44w)m-kYV2S(f#5QPq@HF(6-D$GT(OBt@`j

GPoDao7p>_u%N7W>!h~WK1WXtOxcOjRz6V=c0QfTdtcwo%E-%ioVNyU1i(uP5jx{<4Lz5 +aSay{CjIr+MP9t2>E7}g%kV#VvAB2;3BU=&#d6RG64KHwmn)nKkltIO&6lq_ab8wnVpEL@`o8Dve5-a +e`LU%XsERKAbgfL5|-S?o1+;R& +Dju!d(Z$iHVW1oV}R`I;&PDlUJadi1+CW%3n_L_vAWCDngS;)d#RF#QEjT}_0h6)uN=@GRsrPJ7i44| +R7u8@UN2e;MzjzJ=SLq~-GJ9fYo&5W@U8xvliM3LmOhlx) +=#$+Q7BQ3f-BVeopCoAGrzTRct<$U%kqLu&TC0JmU%&WIZDvUHYJJAmDDk`hR_HCwJ9bQ;&Hl+axtBV +{zBt?2v)!yPcqmY|rxy?E@NEc%UUo@sMtRR^V!|J80PS|3l_lE#68a7}W0Q%ktssmxfCD%uTJ<`X +eVM7W$g4!-CX>U@Z$BR4`3?+!&$f5INGq5zkv^j#vnSvn3vm`ZTSkz`m76dy1v{uGpU*n@l&QVv-y{GfUq6AV5QTY38LY( +GwZpFolynb`EBY7&tLP&#J6!bdeM&yO@Lm4BMn$%6hE{vMrM#F3KTcOHMHKOJIZI+ +dBSz#tz1)9+dGr +D4FyO#*-{3s-5DxpQ8}@gX2>jhO{@o=4e|L?4cZtCFuJIoX$29?5uq?3Xy)l|KSwn;kG`m#34;rpf5< +=5Syx0h7<4URAEQB=N0nU?)f&~6qwr0`?`VFZ^+AN7TX*OgImNlxJYAiX0w^q9hp&-7y?y3t9NygJBw +cNFQJR1n!i5rd(EDKPKc{;@e-&fQv$C~q$FWnxpQXI{BRW=P*?Kag|kqF9k!ZPi3)~W|4OLzFL4Z%>l +z&RV3x46R9S=H-sxVP}qw|R+L93wyxQgZep1h;u@8oqmrIk#3g9G!Y`A(P^9<#QlRF^RoC@Ak7>3ot- +R{r%YXPm2MkdQv@O{|c$%S}8s&6O*$4m9t}5!Hr{`P>*dq1WvuhJDhfKpba6~8XG1&-fk<*{hZmfpY^X- +5xTlD%)-1X9m1Dgo=dn?n2qah9ykjK~l|Kv0ujq0I{!3!`#+kG{j*qrNW<8S>oKXF&S(yoQU@N3O&IF +DlO+v3JekR6N$Q%=fp=j4RJ8D?UvUeROmvq{E37*$jjt99$u;jn1Z8cKnP-aSjNNxPWgIjpT2`c$DYI +rsCIT&J0sz0ul`pZyX3EQl?Ev^tQjCs)l)KP>9d-8uir^NQT9?Ci&XMqjA16s*(BA#fCCPhLi1j+MM* ++nJ16`rWyWMs0SQa?}bw*x<>H+&6A~sPefe>gmz!m=|>8(zm^Zx7bf>32tsilk8%8{8Om8ic4CweZA;*Zw*@vuoe4V+@9-xRhF?L=zKOk^58uG)+!DGd +!;I4IElN<(cu>OB252sL;Q5mo(O=?up+N;z6}}9VBxTm@VFRH`|vf-38z}vQtIiCc%bc5Tdg~C(wgw`&#l +HZZ}*C5I-(rnJazIA|0hTcb?CZl^E*vuxZHYwTj26~0rL +8aI%QKW09JM6wxi1;dSYyNMWnXKHpB$D(UJMv|xks>BY7HHouA+8E^A#CZm00q80`FHamtQJ9M%*2P3 +G+fyS>ufzd|qHsxua_XfGP`LVidP~tAb!`WJyKIZ;yf`?K_r$+Eaa*_dy`bY=wl~7jTbjwo>uQ42nAZN?k@$VF +OZraQaki#(tPXqT0wB +|Ty3DT_?#b4o0Z$P0vQE-sh$<1u@-b^(@n3!vwDlVks8kofZQ(jn1+P57N!E`k)A}PUbdi*M^qldbpR +@G`c`^@ronm=A140i5Z&%c{DC)woTtjLs!{OqzNWtxIRvcHi8M&^ReZ${O7(f>&ji&QiKiM#Hy~Z%$Y +KVj_5^hJBS`BH^4i+MDh?1`oICLlxi2-Bk31ievN3y9@n15aQbI;vxu%Tr5BCCzRZPD!Yei?Dwwd~MWVRy+A7n7 +!rCn!Es#Qtf-=UQJu`n|bsN;fjhH-XrlEbSGV_k!5u4oqw_BiC%<Zik_}!N@$}CRjH%yEJS)UA70K;WB&{G-H;mcxfm7^_WZhP?mB%#U$a +o3tv|WC9NlWM&3`oxw_UvltjqQ*n3Dc5+EItwLvbAV`f#u% +*tTHeRT)?}TbeYokCUmGlx5sEjq?!DZF76AAg3{MlVnG;YS4n=Rk-qqmz_(;niTPkv^5f$8iKoFhdD_?JcrSlluc +Ox4!MxF%_}(pXAuVZ6Tf_qHK|i21m5mxR7iTmoe?1>K&+ja&t&rOv?9Lh_fff4IUdnruIs;cPC!XRpX +;UB9VBhTrALpEu@&($~ohOLDS|(0@{V?h~!a0It7ko}svir=;`Hy}YUfOT~*PjJt4jo>RdcPPwb6sNy +`*@1o;3?xMvc3b&96MhtMp74}JKwRz$AIwvQUcuqC)f)c5E-OBD}uyt@&E8_*hq4ahwtf_?yS}ev1mo +8~80(HG`Q3-dVhEX>&UV?Y0+?AU85AY(-vj4~M;(xZ*pYh^ftn-J=B8-3#Lc$0EgAhfbB(&p145#*AQ +52yl0wZ7uLBC6+i4OkyAyGtqgd+0;$>r&R)}TXQ=@?A~f7mJT4!5B17lc3D%q03y;^EH}tmwn-|IlV| +;-~}fcrynNBImJca**VS{XF0g5F?r&40{|r)aE=`5+dxD%mO0jJ7;BGP<8QNVwL77r8!{5NRvKvB +RqFiJ2$_2)B-J6QbN%;MjHV&K0)i^pXG{{dS3!({?Ly3VgW{~yr&qd_pEXWl#j>6GG-WxgFUjCQawER +zR=S-2$;k#<_3200Qxq&xSb9fuHdooK)_T8Z2C&Yi033gCfir)!uSL1Hg$IyZMuAM)*Rja;?h{MOy{^ +R-#*(LHUsEuX8}t~37^nm+@6@zYl&#$ +s7|Lb2S`i;TchdNypA9gd2e +>CtgJ6r_%nN^s;hdswWjRWatdJPzT#P+F=*(MH3F6^nv^B;kYZv5&HgtgbC#-F7R8qX0KT)WV{mO +&5PYJs>yq9O)whM1?@lEtQEpbcIxdB$mTcNp~nBP*~0!$m@Vw5%og?sIZv1%F@l0YYX1jfAOXWTPJ%c +^g3zJ!Nuk8i`iXwmY*8O1xqs}T53w1_juhX~BuN}eJcK+FeMes<{23DU{gU-TPehNRG6Eju=m#MbQt;7W64|$DiW)z8@q#(wboYDT`-^IYiLI`0a4_kiyCjDq@a(@F +#S1J*A&ftr2!)FLV50O&;}j@YBCa?R))OV0k%Gk&*SQ*$RY4M%m!?f_#kaG9}3y1s3OT$+iEH*@FK6Y +qtKhwVyXz-(g+zp7P~MCa=@v5|>`WE#aO3q$n-dgu#^?8uie+P2=igpznCM!AxO@ +dyMQQv<>Bg3@N_N+avK(J2Kx!=%6`y&wx^Yo87&&O3b=&+*7dHDDT|Xw!^e!9-;C}p5`B+vOn;>ZduS +<^83kr%FA7NnVQ +}EdF6`35vfiUnB(?W+}@D9L`@9XTP`G^)L;9* +eJRN&BnFQ{4fYu;5hKSc$VbBEpxls$Bp`+yb~J;ITG2T+@7KPXT{iRytto&j+I99e(Q7D +1k@Z3KPm)70C%VXeS_s~QCXfBV2j<55fcdMs;T2Km5Z9Y~{Lcf?oY5T<#&fYgO`Rx1e2O&LF!PUUP6F +^Bc8z89|J@m{bX_qo?%_gq-L1n+Zn4ahAuP*6Vt(ij-@cJ2FvER(384#w5A9YF5$Z0~SeYNR(`oV!-Rr*Ejt>y=kgl>P$rxyM`gmRbnzm39K=TQ4B +IR8ZYO@l6mK90@P~Z!KH}WTQ2iC=*_khxflO!P`75d6FP>xx#fyt8u4tk{A2L1EUUrBD%~$j!b2jSEbry4z(GVvLj#SJMtQ0{Ee-~CuMt0KB!D{vnL1aAa4VOiL-x^c2 +zFsN1d-ofozhiW3B8stEQN7mYAPPPs#V=)Z`8VwW2hBPSKW^n0da@>pKznQk`ZYeQZ|> +w(m5=zH3?No}|ALO&uTufneL^2E^)}NRo?NUESubat~oiF8tso;BzeQgxwYoZPrF#d!X=Coz{AG^b2; +sRoWGItIeMPX6vFS1L55kW&A*^p{W>x$A$8p;ZZ0odXsaadZUbV*1dZM6IfcN&N)1f*?LLs3GkhEdwR +n)d>A(5t_7k|uR|;$@qNjKPj3!M8PXS3=9rt^>QlByBJg +v%Y%Gg)QFHoYTdAxes9dl0clb%Hgw1XH2OP;snL7G_cLQR(-!|N8LPeV4tW|k?(H&9N8CS-pH^HTu_{ +${5-d}HUeV&;DCfos)OtEw_&eS0d;-4qx#5_-9~rDuDpUfny{Os-?{7ke{TOwif4EoCo147Qkov@;1v +eU1bI@>DD;7zZeL2e4-^%>Jn=iJL249`*uCUjn>(f +oiUFH*`dvV-bAOwYO_K`i(FM6J{$=YbjcTqrrBA9{%s~m9J(?QoD-FJIt$%afB*`Q@?zq5j>C+8Usm< +fX;IW+MA%u`qOe#tgk*Z+5ASPgp833b)X|#kb%@WU&VS}WQl~PY8B9zCe;L%qYKb3ar8nkt~VJltDze +ipDwgzx$YlsH&F{aa0ex2ZACiL~%<&CU`kLaqkTVr?brN1J3tlC^p4i($IWYcwmv4y2vF-mi{Cx9~Hi +C?BCv=M&yo~JavGJ@tDqD65$kEe_!HKf)xVMrwm)uY0oh}qG!-MRQW-y`l)698h8D+#J8wx2VKZ_ix|mKsfa +!;WEpuhgXPd6GI2Dvkw>-WC!v&V#@f4_x7Ln7wtHQIOsA*`YO&2;005kwb +SEiKTMIKpP>&Fbl^BNIfywF_Nj*8N7Q&oTznwZj;MC*wL`A#!-Cl(OZcPk2Om;^#}Vp7yh%Q6m!s)9J ++_7YZ4pCAKB%kuJ?ir6@1w5ZzeHX4S)RY5F6OUMm+1z-A+N8KCXcC-$24S{$JDwxntoS6t$#f@t92Qv +!nf+inELzD0mrzXGk-lX@XeVQ#iqNjb1Eg_H+c3ZbhZbrZpB!@SLx#;aF_n1qxOryMez~1U_SyEyYoQ +F^i<{dyR{7#um{V~RqRHDZto~0K4fdcUUWgBvWS#hy_1U9Sb;BfL4 +m_=^)$ABY57z${r!Z@#N5jT<%mp;d_8kNqLTRtjer#$*kRZj))evsg9&Tcs?^h0M+(2Oel$&BZ>^d+9J5Yhm>TpAqXr|9jOQ`HomLFl-OUF;q!TwfkqaHb$QUzk=- +PS47Zff|!u<7HI+vrs?n9BUD`x7nhV)4?T6c{W|YMi4F2&Q2N2tgg9(46e5UB-vA@EG(c1W!pR9l+ah +7zcp9)wxs3#dD)P&Vn(y+4Nl<%;Je~8Ur)H(Yh+m3VMB}MuMwVGz&VUvFvi5r=?WH)3h9obpvsf#b(! +mRfi{g3YJn$idmtXNVVTDr7Y3x$u@~d{27MqY^xHdpsaS*A-O#24st{ubJ9EI4lyw*BB> +Wj&l74#9Pq7T1?E5ZV0O&2DMR$uz=-u2jJ=^ak(Y+0BJaB~Lo+mNY*rEu}!#U>Vh4 +u>1iFBCl!Z`CV$*V;xjZA3IcUwp&Ft@~D4dgf{Rm&ELmr1&;R0i3t*XEgqhn7!cxEwe#a+2k{sqv}0& +uPZsn&w}`q*5ogvIrl}lTe>bUcfjYFeq2wTxI#S95 +Vk3zA=XC9aB4AS(TU)|{3;?>ZB0&+pN_{N<22l4{oG}k>Qe>|=Bm4MX+!`@03dnd0Md3oVT|zYYpdO0dKTwa?mG-Yt>A)surV7Fz4`zSsw4tu`&k%c1&2`{DiowvdTetgr3>q*7 +C8#+AJ{N>_yCJQ;DNSq?H(gH8qiz%VX9!|JtPHlh)!h71jfhcF2|U)^}bDZyhrhF_x7TV4s@m@=_p}Q +t(a(^3|EIGbzFk(GH$2;7p*JLla@og=cvLGOEdRy6}ziyHLu-`%^R}SM@dXZ08IIjdBS~C(5+*IxPm_a2q+r +xbA0+OPbU9soQz>BB2W{!qIPw1UhnL*?BQ=3_j9Zv-_;R_k)z*?_|)unY?OV9 +k}2}<3^^baN*xVd`&W$mbdvob&y|1l5wnA+fqq0*&`(hj!~RX8N9R8Nnf-N09%rA?56MvoMWTPh*pC| +0(xVEwpO=b{ab4+$AwtFn#5#(k;3wsu9mNOYGd>IhkN-$~oPhY$6!w$tFWjNmzKNrO4Lp)}8Fo-$qU@ +i}lQ7sqU<-Qx=Q#DsThQ?%{XIcej#0j+BVg^3?$>53+1epW+?Z?XYoKcFuKa6?e8J=cg#lkiZX1OG?* +WYGt^wTqPO#)NZS)tGhj9=(VAbBiRV{5_NFIAg_J@Ntqx{ny0pD)vXLj^YWB@vc>9QMkryx!fNslsvK +v|#8=@z0*T563AAjbUI?fiVkao0eU@D#ggE)9(F;uq&)n}q?9TR4_a@Ky~9l$9;9vB4wvYK3~dUJh`| +%7lGw=T=kRNvwkoM(O40WWBG*Xm8S7@uTlIIq#5HnC>$T_N3vx8hP+Q@|h@lzycfeCTm5-Udc9nz^kf +M5W6_Em_Tu-pXsKadktwuMQXEgD72>&3U8m9PN&xmc@51V+^*%`a1J~3QzhFD)NQ_S4O29lHiem}WMou?hx(ZwRBBS{xr)_8OdhI;eN!Anh +))Kti*t=$#)=Bo{!pAv@Pkn#;Q#A>(iHsN~)%^vJUNYnKof2EgddA)>JLR+|v?`Tlfi1T)tlMSRA_PM +YiuRm^>22`RuWVQ}|Go|Z?WufmOu0P5EI7T>Yx0!joU;X8EGG0mRs+F#F!C%aipyAh@yTbi_BF#$>1} +54mDwMf8*}QdCy5H_Sgkuj@7adxt-`5H|Igp}G&3pmyM}@b+WHegF78+Hu25S$-{*f37hO9FuyE1uq) +vJW4ZcM16TL7NMYfa4RX(3kJ94QLpG4EB5$u^qiR5_}HKz*GPa_TQDUrGkrypxY-lIrGC! +s(NUJ4SKl!I6VGX?8c(ii-JbRr=X!Iq)H1A+<1N8hJ{p7I`-jyYP@eDJd(V06NeOkY-Xg_IepO(F(;pI(#U)TfMi2yTB^6fk};GAQWN#g82Xt`s^lZTmq8Jo08F{>flPpINKPzljftgTjtJvlRW5A +jyN40spPKs}LUi2@wA-!rH)){0oGo{X>NHn3b<1u~y-a2+O&+RV+5OBxp^5nD3ZYy-$^s6U +^@oEsqy3Xz0pHu!&+h6#T0a{3@Ga7UrQRlczIx+)I3?#3v5FR8$6&(`H0CNnaU70oirXdBP&4smrXgJAQVq`{YGJ8u +D^X0XPTtRjb%NGK8ZTh9pb8D7Hq~U_@DO-pZdVH5AD8od#UQ)H?!8>L?&XZHtyxO%M}6YW%`;aruf&o +PZf)9N$Xc#D#{R28~fMIV-U6Wd+&uVYTuShL7Mh(GqrJ>g(Mh| +hWE!XRUHmq8n+=CADpDrq2II6JsOPYn{5TC^}5_?*oN_*cf455{eZ*a=R>KBut5SXLi_R*Z!potRKmV +f#okc1#A2gduWm)TfViyXb?`63D@LF7YVDp7rV|k=dsyb?5p4wfflq68vpmvS;|YpJ>^Zu$Em*@i*dY +MtwVzC5@)lt#bkFaKbDm*!eo=$gkesgNa>+zaa5I*rKlLvN6ou!O^jFwf4Rc=!@FL;jviDc9mic7|$x +lS`X*$x)Y`vnjO6AleGW?7+@KHJMS_eP +nBYe$33)?%G9yr`3?u$EZY(3s(WpatWu6e9nmfZoBo|{)IjX^pT*U}0-P7P+T!1sVDR-`PeIn?#s9hr +s6Rr~a_`#H1>C-RuELf&&ZC4cEG~=byex~JM9upNE$pr=25vLfUZzaeERn%Q+>~nBiwMm@#r_6L=8LK +{ll&_~-n-X=q@F!@MeJUM&Z3Zu-2sCrcD*;np@;*Bw`uNaw`Nb@Yki?nllNO>2Q;VNFT&AFmUk9^(Mc +Y6Mq5x@vJ$pb~HU=X<*S4ja3X=1iQ1A-t(_zam`TikJ<9qa!E?!b*+hVATW(sJgTnpT0)g0w=z|%
B0pGLSV$2;?R!o@5C65eB@Kv?k@n~2YHWED3H@z5z1i?$XA|RxlwdkyMJ5oIF0Rb#u*Ig%I-Q^Bxx# +Cfbh!KtkWL2W{yZ}J^5|kyHW>~~?qd?_If=C|1MwOv%0b$FddP5%ripx<=rwd +sF-(Z~Pgx&O~0cKN>#R;ra{|2h;evo8<)?=G9pO;$wB|C+L)9nb$)@_+ve20`jye|+Wt`d7Z=s_4t|T +bBOoHD>>Mbj|t=lKcPL-o7HmpWfFWd%4gZ5mE>Se-9O+@lhsBsLzBi{Ft5sCI^55vkxLe4z}3AvyYB) +V+?;66_TG&Q$3OjE>8FI69W7QnN{i!T)g96iJF5GU5EP1hIuJh0-W{$UnZf*c@xdl +TkN&KEi5;#IpDwK&Iu_jl=fQA;j|AerAv8O{=MDpRunK*+ZTp@M^6ep#{CB93za6M>{k6fLw;Ekl{-o +DAej57U-w?NeqjyQDY3J+AR?cx>=@&>fN__JQR&?1HYrl#IUm&dstzSeiJq!fCv>#!w&^O+(=Z=D)7Ww)@l`U(t&!h1A=ZGKjoCrT<-Q<8dQp3GK +l^d=qt^Nr=`~4b?(U_j1K;dp7%hxn7c()51%De^#@%Oaqmdnou7GAc;FmNYeW)xS2cgfg`p-A)d-n_Y +CpYYS_Y3$ZH|%@&3-~8D?0feM_^TUsOiTN_VQIjZX=yB8Uc(i}P&GO!A#T%5kHk-Ps9eJwWVjV{?{dA +J-w~U|)D{?l(pz~jLT4K=9W+U%P*>mbS`}xcSUMwmur$p(*{J4SJCK&UCdmUX-s~fzqIT5%*559d+=V +3X&@2?eal3XEeszz@D`Q++CP~~^r{i@z&rXm@xdbueBC(%c!db|#9J%n+QcJE#=>c=1IOAE4FgA<2)% +KUyX0)rvqU6Rdyf4&piZku_D=NMx6(0FGzhB!lj1D%rF+wiY?*bh9q+MWjKwn>eB78#CZ&KXudN1_E{Dy@UIrp+Yr=2Q~9t!F6cXvSKcOq=o%iIg_b>H22_-w6JGV +g*eC%?>tM0$h|nR1m|}~Zl4>i0Y93SmW5>6j1ipKWK{>bUCt^Wi2cx3SXlY0Iq)}=GH+*~w(rAyQz#o +@)u(lS3Z!v$Wx^4$C{VZcF?dQvU!uYDnio?-r{&u4by&Um$t>ad5d!8t-|%x<&kijZif>J43u^1={0v +ICqD_}!UrC9Ok+vOm!t%5r?;p_>*%u=wY$_gN$^b}VM9O>m&a(oUtBYy> +P>7fd!(%26H>9y5N`~O>(FUUGO;K>{2jVuy$n%{o}s-Iqmw}WlTzAG`c$5U{&Qy!!T+;B-FFyn +x0zo?vLBRu5P&-t>j${%9A3q!&KG2b>%88@6NJa-${^(rXPeuFyoq+IhI`F_lpS&4*bdsakpHX|(H?nGi44DrUL(s%uW!q30Coj#IAfuQ&G!AF +!b=mv!g%!$ni#aH_70xD3ZifHBUtanM`fvE{&bS#a)3iUQ`$q`R4m^~+u)&R6#J7JNu*x!<$iQoEnnN +(mHV$}|E+QAm_iYGVIRQ4{+)VB{I83F*{6ZQVpjAYnr%Hpvj5NN +v@IOOJGAw}}dj4Q9XphV5)`DLX?FMr&^7z##F48ohUFcZM6M)!y~6mpUqg%tok^@(ai4Kj{4gJ{+TKT4T$Q*4bU^8;|RC=IQW4!#lG4P46d1! +wId52CIq!2J0>hm=u`|jUEa__`Y0_^1X--Xy{U!Sy~lYN(#nV>|NgU+b5>wKWJ +6LIoK>70#S1wNfqcENiTZCSk}?`=6HRQZ;lb4d?XIISV$t!^<)j3mBL@#nRT1(yDhV0GO-1c=M3iw=t +xbsr|j56t(s+Q$FsBEM=I|89XljH?3)48vgZ`{O0hBgMbFf!*N3pQJzWDH0&yXS_7}84(>Hu_p=b2fy +n8vQInGQMZVHp@Kx8Zm7edz@J&y_~BEc6kT#9Ygc>?Sbeo<9 +?0-K%YT)M@apdb-jnAQ1a0}$qrp)@Y92}@9E&;VxRE&=#To_qD6f;0OVIS5nkj6^}BOV|oOta_SKnE}wX? +zAu1U@3#2s!TQfz{JR|jf49ZI+aYjl@#j^6Ip6o*8qbkA<906NfCw-e#MrVgT`&>+4vv0N3CnIue8)3 +qVU*p-fpx)y^Y=W*^NX!RDo_WNtcE9rxNLs~Y^k@MZs3TD$VP;3=B!C?*&gcQH$P)8fTrnBJIPE2zPB#iK*E?81tp6z4#-0dKx}48A+_O3RyibOGT1 +d0#0iq1UD`(2$vk)P?lE6Y+v-(=$ZK=i8>V^JW@$z9sC*-BF8?o`xxQMqQMo3uM%njgs^Nf&l+r5R=c +bUcusD4D#Ol{AcC_SMjIL%p|XWrc*mMty`I5+iF_dP_bM5ma5a+$>wVg)-8*ht#9L_#bcL=q>OE=6$@ +L3IrV)7(@@bw26k=_PD(<4}3ON5hi%z5x-1KwNIIdpxs-6>2EA$oIOJCp<_-w4gEWNX(bwMz&}pn=1kRf>EoaU;Q6(5{&Xp-Ocj}?EmRv-wRse +Pvh%Jv(1rDa3^k~ZTdI?Q*s>e8=#<4R0arjwf;4uzet_R-Zi#dAboFQyqQucBB`Zp4vthTJRYjQd*#G?(}6cKmi{lhIk8aQx~S5^`glcg +Jpi%chfHn{0~Jsq-#bs9i|22g}{=a1_q%kO&a$a$q6o>7pTfcL!MPA{sKg+jJ*-sbe@EeMkavP>>1Y% +!5Ylhi^5A+^&-GGc<0%m5|GK2`BWMji-dJ1MBHLH&=9W$(DLB>fbNnMo+FOw2x9L0`4@O^j1MmZGzu3 +gaKa4!w@XS*t1 +FW_!L`~Xd8(vUaCD>m`KpQMg?IL6XWySiQGfan?-1vOLdf=5?3f=J$IEu417ia( +I-!szfc#lB_52+t0{UOi12DRLGRo&HcMgo4TcXAdn|t&eq9vX5q|R(J6H4VN9{uH%UIL5zwI&mmz~97 +>9a3TO6ap;di+Uh;(u(>Z}99d7W`47ouWvZ*xwI?Bxo8(a2!PufgO +@3+xVq66!OUM1S)9#7AEpK6-Wcpc%=2is#_sKvR1(PkrXbvkwv@;}5SJeFWGseXPXfAKaB4;4uDxuKZ +U`DCCC`4yKPn1^J1{3+f2s(+?pCNgPcv#}$(QLXjf_k$>_Kczob=o3-dU?KlO9mnNY8{{e_DRn!>B)^C;Rkotp&c)We;wh$er6gjIMQ_{YI-1Is0}`a +7)1I7$oVeZ{%j;{`z^)sYNGY(E0FN++BP-;P(aXFS3ik_qvN_{qHF(<1>XNyo`ed?tT6uz36<~wqv}v +80!-J0)CvrG8EnV8qj^h>@2W7qqR|w&~0T^*l*!=d)>FYmd!~(f_Y0MeG6od*UXlp-tD`1d_O1i?SS7 +G{3gQ){JV)b?-x$Yaz<%erRGID8l|^HjpC +zH>}Pm_$-;k1FTh_c0%?>+1x06vIbtBsJJ#Bu3LZ3@$l~!DDU^&*rxdQZ8O+53;p$tBDObD7t2qD=5i +ud^-lO~_lIaq{845~}8GHEivgkW(0cF*6!;2co=3-yzEffpqnLRNI6sEwq0SlG!P1mD{9A?EG?H4guT +|e6p#vYcl=bEy9VwMReA$&0V6zXj~c}yWwa;EI?#1&u|R~1W?iEcVp)W#{_{e1QGbTu0<-3S|Z)0S(F +6mhV1km#w@tI_0_XDPY&W!abs&`~SAk;wgt(+P#|82DQQ1|qD^o7KKHV0>x52>;yX3jD13!Z0Dl=!_g +6uMg0fJ253Jcez+y10TdMXLSuZj+J=h<#NE6whs2!y2JvfgLuAmp=1_!Onhi;_YNyceXB+?l@*YBbx_ +1OCaN?@KzWS!7@9_P#HsgFCf5xPx7D@3=uYI6U?2-~6<%DdERa!^wN)X2(%#+t%MTUj1gdA2Z49~Epn +JYuF(Ml?%31Yyyt`NM!u7a)4NSCdA270IX&j>fSjZ1n2PxR1_i#NoC!RSG#ab +-p1Zk+8F{)N+*P`SZM(vRnZ1RcxJ<*nueHL~+;BniOy{>sjR`L<|-3G`sX=#7>yIf9^CFHI}pP(<#ks +Jd7$SV5Ep1Tb?W3`4C$kc|hN>7rk7ru5s_r_Ymey3VY3L+vCU-%Cgf-WXmC?U;)u83acW3Z*Cv#|fIkXp+ +J)jG_pFMi~-iep-)5kWUjPaJB +S6IKxZV$Q)&s*r^=|MFW1p-!lG +N{Dwf}p9*pDPM9KD)5^!(K)%y%c|GnDt*U~fgJQ3z7JPp9qf=ig^{x;baTCVluIwCn1vKhW=Zwwu($J +)8MSzbd|N7|+#Aaj(?SPaK_M=i4hU{~8jDnmV;S$c(>7#?ur)=cRmk)b^}IW09(l-iAdx??7-AiUBV7 +p>O}FdCEFl2Sei$vxtygV)WZsw}E}F6 +BWZT5t*>EU}s6Y4Urm)6Z*ZHZ6j6GO7iA3mZ)OM2%Adm)jJFR%r*3bWrlH^y6B*333Nz6qYTUF8m?S1 +uj%da;9RAmJDUbmkBM&MiRc@C~P%e*50g`i}tk2%2(j~mA7FgSLTy!%J9hse(FQbNKdgmzQ~zq8SL(4 +2EZzCsobL+MZu7YMy2+w8EH6Ld-1kz1)rw%+K_tLBC)j1a0CJS~Mf(iPENB%lv&5e4Pc>ExR$KF!VwA +#YBL?kAEOu4~zP%=KK;mVz6X%uKIO;%Utsb{AL&+&caW47UxRQmDGIkTI2$90UvI8k!pxlP6}+pvN=I +yDTjZKF?Lmw#uoXng^~Mic?(`X#+BtINiglsJgtm<}n;d5_+AV;Jh{BQ0B{=PHJNhHboTk+VHo{zLOw +i7|Lsj^tW9C+S9-DZ^#XD`C6T!T1wAFJ%^>d81H%g2es!TX})y7>oR{O?moh|!za0Y{m$p%Hz!Z4erS +iX&L1CdbcA$Y5B;0D`~QpQ`8~b=>vQ~&?cZT3!yLpL2bVZTV=!~fF;FDFdrtyE35H~TUJL#r)3STLj5 +!Lo`+xU<4aE-Cza#p>5B_f?KjN<4+Z8|WR69J?X8;t-4}X;u2W!S5BuyV=AIOK!WA~eTV2OTsG>-k#q +u9WpzoM=Ekkl5Rif|Sm3mxjz>2W0ak)J8Ze_`oIMf&4_u}|n*;2$+=^oT8!_=p&fDb(W7o8GnB_CAYIQH3k-*N@vzkafdd(peTmX6i$%6@cP4H)o}jw8n%~_hr}H*smAWQk9Na#U~+WeSan~s4L +ZAO(XMmfAE@y-WSJ;_z4sM`w11$bSX%t%kgvBP--+~uW&@^ZN9v=TgAMj6v3mgt3(g9&GM#F=A5iye& +U8V(g6d4!P13Pwh#_1yNmSR<@FrDpC8r4E-@0`Jji%?v4YlTQ4abs7GkKp$$H^qFV2xA<=&@F)b9EG~Oxaenbm?uCGqiw|5Pk4h9Sc3#HznlnZX?!wZlH+A+n +tGty^t(J59Ses-!pNt?#ueIzxv6v!XmR9C(zbL4 +adQ7CXUB5=Y?WfaIWNjeM%8P%CwafD8!1{WgC!TxW6!v~?_FG_=7ju@F#lK_)w!O99tdOV9Rb08?Ix- +_f4`8?A(Yej*t_mJBqIx*sgy+(PICZa(z@YgrB&>lyH`m$d;F$#bxRh6%RG-($1-Y$*o#6sGe;&yIJ~ +J6VMgYd|6BV-5o*vYVOz0hQ`e*-P@?kOSFUt(HaK5_e!vsX=)mD0H+R-UT>9o7yWw(D1eYVAk;hJAZB +1Z0(k(QP5M)XRwD>KR4n{zi#Oys +bMmXa5_F5C3CaM0fy33C;2tc6E?Efi*2NcjDDNsHUcBUDIO7^%oDnSgowoHMZ9882)5P?x6Vy2`TqS|NG*0^9iR34&4B>Fc}ueIg!69D@6C%G#Z* +H>)b*Sj~ckhJ9lepweIxdn7y%!4ozil^jWm0zGH0odW(uTGz=n5A8vFbD0P7*}bF$gXya?mn{p?J)vZXlc49@z#5p?;p{Ihxg$O$+r{b2#)GiH>eH-HXU`|zb|R^S}x4+< +`Iy|Iq-z51CUTLnJC67qfzx%b +PrEFl%?V;t4z`z?MhQXi!ns0-yRU`Xd)~i$LH(e-PJH=oc@?QXm5c(q0>lM}1XNy7W|*tuWK4H-lh{^ +V3AIYAg0`r*2`v*3I5n_jc|K!L6=>69(q2~XqYxo93|HJct4^iQtq0b{v@sYFM!R3z9b_|*(N5 +$cgEc{dnX#CT^ksKw7^yi`p@Q0urCXc*KOnw>{nWKAfUpV>9Hl*Z-Q}?q&{u#C1mq*Zj=U?SzK6*6_d +W_D(=ziX#$t1y#ddD%9iylj-U(S>slM_exWO4AT5TEggV=y;AQaNaRaFw7Rjc($TJ;DxJ-oHYh5`R#~ +LYHsolVg7|BXR#j%fE#vFW~f{%={wZ!rgX|D0xfz76n~UzQHrfmb^zI9Z3#-_Xb84N#1Q!lH3`aBJj;iiEH2a{;j^}nLWVB&$ZsM +c!t~cNv)*+uNN&kg`9LT=HHr;W*w!FAsXCQV^>nNX=7voSxY4r8?ZOy-*2k`v^`A?n)@cje%Po4+x{R +8<=o(JNr`W{9P!!yX+GWsy9f&d-{4>g}^~gW7@r5f1{&zdM3_|v#k-HX$Ep^!2#vHH6Z$muGCX0z|wUF9}~DkAL;R$AYOyH^1T?d7&i{QyDRp#UkfirUY^y1 +(K&@{bJlMJ;p02S%4t`AWXPD%Hp$RhaY8DW6#*i?5jvc|A`J#V49v!g+V6T57Sj8KRSCbf7i>z=crz6T>XXc|2tfslwa)!{CcK-7|l)9-t3- +UFH=39JN_<&4>Wc#TxFSfGgZM60mjZj;(5%=t$=l_OwOf{?d7qYpNyF|Q5D(oDP+Hwz8RD`fkx7`(8- +*q*TajWOY{V!EX^0Im%=hQb^SOJ3Bdu&S1%se5{jf@wUJ3mLd?`2zc;?xrDMDT=EVT +xMY3#`Ou-tKfALa)BlAD*rNIxekVbpeT1Owsd0b>JoSTAe3d2tE0y(Q(fnDX)oQ%Z{|8+6+?h+f^K1P +#Z(fVFnltIy0`DyqnTgn_SJ~3yiPrqY7gO!aM(r)m(!Xjn!LjGvACjKdX#@z$^rA8Hjp7L=?A2>Q7H} +Xh_3$@tZk>4@<+Jrx35(N$NT9EJ;od(Zb$3R0%59#6cG)lwp^ZpL;_fwqs;Vy( +DczM{AtilvjPQ~!DS7i~r>+N}63~w}E-6QKOAYkfuBi>*?wkHSODEZYSS^Nw)LNnS^Rh`OIlHpkru7d +X*P%${os)~!miL&lJ+?qfOW7w&Uvi0nZd%Sj%(B{n8Q)&?-_;^s_Id4do>SNG~mRsl`GT$f=pXkVIGr +ch@faE<0PaVN)bGe*0uo-V)Exi;*EGzZ|iIQXFW4<;V|MccFgYykNoo4%~lKE3nJRJw_=}Mt;is|b4i +u#a6-}u=KhTxS&su6aWnRz?RWjrS|)O(

q^~X+%wU=F&VYr(po&T;EfSok;nzNfE*n?j=@r|}r+(vsT(!CUJnK4Da +m!h&2dx*S5Ssky6>ECS`2CcT5v@yl+x68Su48q*sNl-*ZJr2Jr(Q=RarokR +<3D>*v3uWkbQ@EAIpp$f-?WS<+0nlr;r0gLnvgm40M-@$)>=9S7r>o`TXVrk`YE_85`0GbI2(mEW)8B +`fB`*v2XpVBHBY&T%@bYM%e$3TQWk1D!EtxNKol&@lC{F#WI`?`voeqlZrr4u%YLigxGwTns{k~Fwa8 +F}?x<`K%!7@wB%|5F2+S@0>U>`m#l#9DZ1%qf$kAmoC55b-u2Yb{dT+hQjJy}Fy9OV0E$|72p*&cOTr +0L!<)HZ$(h2A+mfMhSrtHB=pa1Va82Yc9EyJF2 +!JBMny}2t36N^^XU7veAuDtZ9y5Q&~O(pFP&?JKCjY+wwZe{7Rh38*ASKG&4RG8b5+Bpcb=Z|;ssyW) +zo%Np8t2$rVLy|{oD{{A+DBiQ8SDyVIiYmYFAK()!S(p1LiakqV;_We3N%{bDlce?R-AC1IGXHK*f8U +z1XR*+!DSHgoCibFatBVb?edhBaJ+Q5C#?=d{oss8_E3s`leX690<#6O@r|DSEYs}6d>? +`2+m`u_Eac^v^kDRV(lSEOS$2Jp_qm1hI2ZyylgQUe;QYB!-1Omy~~rqX~{20&DsEY;D#mgYnAvkm=u +v9B|6G+O`tR{!1N;%Ku`{VbEHsA5bS@Ie7SSAdqP4)N92t>w7^eyV`XcT26!lTEB)OdCXtMX4-enkaW +chlCC2WeaL3!(bVnZNN12wH8oV|wry_2UA6w+d7TJ_mvQiXTSoOdDp=c%6$fy1(q_d +3gH>)gMXms`WNA-7$%e){`9WOF3$t%bCTL3Q&(4sc2wE)rHmFi9yEA7mpJ55yoep~+*G`gNROqR;78a +iFoMGZ5w_to<+c};Zxq5c7EzR~aTwCGRGFW`%4ZLpWs-wm#AyPhx_U;jR-f44NzI?^7JQi0IZH;ya92 +B?%EJgI;UwSJ!?%vPbkyrl{2-*4*Qg2u?O{wX9_gKnds7EJx~hw7)H$gdimrHb;amo?0)Ex!^(0-KcU +)Gxf7T0-jA`{q}J*Ru~}q<_iL*;F2LVl&f#UHmjCp>hqZqj3$~u2$Ap>4R5P%2xk4DSouE_l*6?#(rV +!&jzbsBg$?73DK_>B6_AKZPh9D?~eq#Z(u(Gwh6t$Ps` +du)jwZWKLtflX274S9|l`n9Bqmc{dibjlhx2OKrQ-(s-|oVQww|5!WvrL`!e=2HlZ!dwxKONyxXXWC2 +7xEn4wi3U7+8XNrReB|9)HlZfW#Ub-GwoC#%iR_w`Rh5d`5)R5<}PNpNa@8=9!_SA|-!@|r~dysUn<6 +lJ#1YqDCsD)Z3%{#5;LY3}nPT*u0UlzRX8Z40?*Aq`#S5?8MWRIOD%zpsB9ifkFy+Ft+pqr}_;V>Cqj +2bjhBmz>2nQFuE~t2*_c-=%kqsVi%dm-Vj(f9J21Q>Wkf(K~{)Qn0(1HSALhYiREswD((Rzoe-Sp>4c +sT=cJ#B>13y>2svoWY_0m(#?5X9p6QI{K~94$^zi?$BW0N@T=OrbU8`Yf!Md6UzF9&?%vbp2u=I14e) +u7J+T`7>$B&geCB6qY?p6<4=CR(*;KfKJfLK^*@w27uXGA5m#iQUC|SGMqG%0zNZHy6+pkr}}Zl=k4!K0R@vqzHQHHpPC{@D6X=4E|kd*g +?^gk&wFvI4AHZ1d)K-OoqWxwBl+5YMoaQ3*`)>MY@Tvd`4+O^)XS!<#St>vrY2knn)kKg`S(Su|~(~Ot6N|I*5Q(x +&v_3w+SXHTC!s}#j=-r;ogLXGr4_ueQG)^EHu!=dlaH&^FXb)j+y9<6E`8nLIf%vXa}`m3S&Yh?a9G= +GiFUz5j=R3~(%&@Kh24MDrxtB+#Zt=LVKuwCu6;Nm0yp^8zqt(nDWZvN7t-L|SK5@{S&9mH$*&pOy-+ +BaDqb=0@@2Lua+e&?aqKwrPx;O^a%%A`Jd-h0x9w4Ue^*^VMr^-rq3?vv-uk7`HU{<>Rl+CS?keEX{j +wc=+TRK@S6o{H&ts#X}!xtc0#M*KXE)J|4AINFm_BGFdEPnESdhOiDB%0d-M02)0CR<-%s+kn6;gUSn +M60a=MP3+x2eqQhQ)uKrD_a+L$uPf2!D2XD0ex9{j>GS)<2XT9tC#hAh5~5L~xXhx!B3hSm5pAla^l= +d7+PIM@TK$$~>f2%X8*Uw?*CTh%bB-SR^Clmz3Qt^wO;hj3ssT6NnWQl`d;%A +v4^%_JaRSEt{%su$>H;!KIiM-9rt_czr+5?%U?|N@fKK`{Tci125Vs*KZF4rGSRrw1=_pbNp?a9 +SO@8az8^6X>pRqu!M%Qw9@@8AEmX>vF;O&&H)p7naC?>~RHtI6ZxsBg-R>vF?MPgVT!{O9-YE>A9cXB +QXeA3mLbYTJRBCJnt3*XhaY*JmGFlCdE$ArF +3x`JoxFT`_U^K2=Mbz<>vl$pl@F@K+w%+6lo__sm;`%L3wF|P1^e>k!@2Hg)7qz6v@cISzJJ#?G&K!< +*EBT6aGt%oJoxbb{GF=nb?>BtIV3$A9fOCLH4o!qhllgmCzqc;p7q|JbrtS(o5GEb2dMk3uKVb8OaFe +h`zP9XwXF@Nn)Y|7{-l-FbkOLb8d@!+R$xvw92}Wq?Tk?({&@cS&F*qTqXW}XQ|@KcT%&OAVgpmGoh_ +$rb34nSckOIZ?0)xIsava+1618ikb&at?48p5Pj6ZpGg+t23>hdk&fbFNXatp=Hgn@t^{lo6m**F!wS +pWU9;2>$77R2?mmg0~&nnJ&8jMh9I}HX-`{I}cV@SH41h8q9 +|AFCjE*KfQ}$I;_IS(u`Kc~_dVX^D@l4xA<*%v@^jWjGST1&4%(R2OtpD-WoBH2Pnpc15l($*sb%!Y5 +c)BNNaa84G|8nO~TF<@$&N|SyA2jH{)9;xCcz*TJa8+y|p|cKno~eCJ4KDkGzS&Kk_)+FJ)Dk%BLhsu +O4hMY$U1T-%v)Y^wf^pw$%1)M~)z&GfVpn(p(vDp!xq{}n`HCRbE3&G +{+*q}C>`2JOyR4EN@mHi1A&^z0P+pz%7I?&t~vN)XjK;_ZWR6iVpvm%OvR!AcWopr!voqMlfhYXw9!0 +*&vF^|1`Wm+6efXi--=)xlc--bq}qdw?)*o|1e3#*3`O#P!VFjaxnCPENGOCYJF!b5o+s<+ +|;00rH6qT(eKPK$fnEnCcHKbADW%@%Qw`+p%KW-_aA<$Hg%_Vji|R8S +MWp^V>>iFmrZ&0vBtsKOca68j-$;lLLD|@X+BUW*5vj#ixh%dHpO70d +KXedaN-EnsbrR_LaKg567z7T&*Ty0E-wy00Rzh8YPbBLUPQcJ7CY_em7>3i%k}?OXwN~CS!N~mdiG#E +_(_b9Gs@?}m_kHVJTSz*0t2O2}Imxp0)^r1!UsGI!i^8JlcPT#V>=KLYuuFCshAw5S@ygnC8arAXyQ# +Vj9xc2ssf%nX$y}@t9VEp2&=%w8ja9+G#ybQ(mNegoS*4H4Pr^VFja_~^>fos8bkIfHTrNcI!rK{<-B +LIs@$ahxa?=PaWKE@{WYdH;jU*V%12+NpW;|hCklGord4MJ0 +^9o9*_E-%SpUx6y*AK8qvmIqZ|Yf%8L2?C4vhD4Qwg1Qz;a<2pfTFVN#LvtC3n{h?iqV`*e#sdi-nn5 +XS}_$ptBCRK6=6`1&r9>4TgYkiu+Icy5J{eWHU3$eJ>VT;=Q5pobMleh +^P!RN8_y5TvN6OK{Eb&v^S=y0j5DU$8`>~qyZ0}z9!H(F+1psH!7yU`Y_#(o#a*Ubth9?J +ACl|k=Ss~t(>&ku7|HAf#jFw}3Xcp9SUWx`rfzJP80-~xV?6uF|^ZYc^_M8{cKtg97Fs+lJ0M5ElV$Q +4@=RCV$twQEILL# +*)rIug;k;Z}qD12?NVfCz5iyiev^Yw1I!{S +8JRNFIae~9R1OJi>jM{WYKJDf7jt2jmZ5j>tPF_GzEhrr?y>zWlW8G0iNV{JYUEwsHk7Q9_%QFW8Z)I +J}&(A;sDC8m%o?_4lZM?Gvl29m@vOnpgVhYJ=iv=}0xFLrUiixh>0AiOP+FO91{kL7KNd1>}<;2|Zj#!kIx;?pWX0#=F9IM@-}*m@q+y +J&Gu{`0hYbEKw7=2w(;}%M2!}&SQ3%%&8!7*$MC{d=88fPF@FdXr*+avC3c2cEa@REsiy&ICyx=OM{s +!Z`DFluEkEEk8s=DFjfXzY=w;s-dg$uzo|M`6US%RV!rJN)y%B7VsDKSB^Fu3_B*kdo1VXut2GAfom@ +!~op>i#QXKfaV{w@Y_AXp{`YN4EY}oO%RF|vBzj^>svX4ebI(F0LMHsj@zO>J*$!r5dn)5Ea#oo@`o_ +J@Ev{Aoz>36EJE5i{i{JS)%P-?j+rtdr=piL%raPM$n;)Omz9cPw9M$6N@NkF(AVfYD=bs~*ZMoL@Ww +^4QgPpd0ZMKqNaK072_XT%m=q-5Y|(4}z2L^^D2)sbzKGDngU}s3@Km9?e3iQ~Q +lEBW`j!_g9Udpiud!jIvN4nTCKHIG?+;M7r+`8E>Pl%U^XP0(7bu|=u_)}P9Gj-Af%xZ72xv#J|9$Tq +sal<(4IP*Pe|j+oHmZK%zAFzissDvm{4rSIzueP9O;tQ_vSgXMOX8PQ|h4dk&`(7~xcGu +HI8Pm7(N{8N2#En8zN1XgINcZ@VjCkbwsBf#u7SnfGJ$-Asg+z362I6hRr%aWwuGH`#3(TFd4b +Pqo9MM*wF}43yuBY>C~Q8m?OWG&elHYr&1~HXNXL$53GM?R6p2iW>otF=OdbKeITIGRlQ51G{n2PnR) +sp8ntN&H_GhMAr1Hy{us67Oc(;yiA)>jiM=wpV=ERa3iMz{V$jD(Twe{|R|^7{B4#e1jNIDb5Q-E5OW0?j%wxy!|b| +0qJwbAUO8u+QKk1{+3GKg!KAqHZ7MW_e5{=zIVTKyP8nws~c9o4}R%U=w}bILM~hK7Hh~HL$Qsp#^5b +)zKPflzb{_WJG7!MT$82xQp*bj*x>`QFQ|4l7lUg@*|7L6)GPG9U?ncKHNeff~m4sR +Ddt&2l{;j$@;qH+WFa35Wi52jc9dt&#aU9*yIN0?q5<6%eI`Kl(QZ?++>N~KaxD<%DB_HymFk(;={aU +wmC_KgH^`k3Pju8?eP6AVi6VtDZ!_zSK?s1i5x-eb;^hVybm;%9IW2rv9e|5-TM{$AbQ?#V?B%D%JDOdG12 +&}%4e8<^^h_5rc13+Mzy)}>sXC48`!M&Asq2&yp4s4pv_SsEfRWp=SpA*3+G`QmqKxYct!{NkKF>Ro* +SyoSNgtcL%%B;=!(cDJaJ8>KDasdOI$liSues#I>TnqjuEZswdmOt^O4Tjo#cN=9%;E3=-aHh`7H}5~ +bYc?UF0M0s4eUa8o6{Oi+3NwVRU5aUM2IJCeMz#P18*Lo;URvgd5W@T*5-yA$pthMYLb+^TNr0PuNI1 +@xIR?CQsxe;Z|Kc3RaaLh0w$u=0&bopoBY|{8OvZx13YUQ6j!nV{W%^|caZLlb&XipMB@X0pw)>f5Af +ANIx?oQGSTHzM>j)eTBfQUZk+~BRoHIiwMyj7F%rY0iSrwra=1 +xHc(V_C+L`AtG)2w>4ciWtCHpq)X003;$=Z6x60MDrM;7inlXZ~xp;It#&EJVT!d0+$1G1Pa>E2SWyP4nFaU+t*sz&~baFWA*zilK>~ +sa>TQIhRtl?_osZF8o`L~=NM%VyY=rm+GP6leIP2C3OH76WJ`TdBZ=EF--j8s+8+=(d@~E&i87CDtT{ +9OKQ`u5s2?w*4a*Ut2`!Cfwfls39eNuJ@x5(;Ae7G3Gc)}A&PYQxH&Vu?p&x`#kHfMb^jq8zvSIuOn= +#bXVa%xD4;{wL*#BtPXLRL9s6Vm>f9y13EaZ=!M$B0L#E&%Kp5afN%Z&S;KZ(V{H2o8=eu0F}I$$Z*3 +E)(<>FQ6m5X}7g$?h+X0)FcB*9_iIW~%DOjZ*&1jvVH}&vM&{bMT*~iw1|7uld5?`kB+F;DY}gW@+^X +_qGI&pM@(1w)j3g`oMd6oC*Eh5r(mg9*r9g)jS?I0$VSF7!@*Zf-(_!@83ToXmuDz1#k-&Ib9H^;<@`3U!6k=Cc=NlC9?OUh?P=SS70u@@Q6;KO8ag0U6ZxBzIhZY8mP +nm@r$~VM*QX|@n=ROVn@(XQfMmQhxbLv95|Y7;>tuo0|Y +Vbb6yfNZk#&dG*G@QX009B=+0@bA%^KLqWVW0;yoy8i=!`?XUb8qSPh?C8uEi5(uF*%H{evdHT9;K~y +4)_&s!b=(r%LmX!=GWraEbG1uTbzzQUccf9F<-#NPS7SHwJaNo8y8AjD1r~-xRZsp_D-?qnTNcwBH33DG{Ln1uk +4<{aaCYiyQrGtHVm=PMzmsXFQ;ZM&!eSJHUWoJ8Ua6YI1WV-3L;`RuMlZKT8SHs8ndBozJ~==qhxABp +LxiysVxsz!ZeD)yA#rsXjwEzPkNhdIzajd3e-KGb3aPS?IEFVoEt!exZSdCnO}Ld&7R_xnGOJ5#rhdL +T70o#tXK=2X4sh-p +~^^cJaH*faGf6|i{OMn7jm(dL-!obEuOGii(n0J;irx&IpcsN7DKLU +Qp@EGt3!!y8%&$~AO_Ze(5aK;m^=FMlorwk7OXLjC{fHV7_sapZVsaqbysarn7sawp?_W%zVjP6djn( +x8Rgr)O6*qN|+zFz@8XE@lzX@G_kn+t-^;n_@m=070$j2TYy;RXUU%o=(Zpy57u82tB{d_}{~&8}$JS +v&C(*LWzZ$FPrB9oF)#Hx|W4JoFY4M%eqI$NZKgCLV{9#KioTBqjlemnw42ICk)Ae^rqXfSp+o`BOfW+C9$4uo$#DtQD1+C>6|g7QutdCCeg&)B +Is +{@>FW@;|;=wZKi}x@gJum~8g?VA9<+~4oslRQerjmfoT);339ItHpmKTnAioc>w35~A)=zy6TNQAB6` +U`_j9CjEqg4oE9k?p6TW@=2~$Mbkl-h>9z%oua!ejHZkQS3wx=AMH>xR8VST#~e_A!TJYh)>47go$WS +?Y6#JXY2}j6EmDz90lTJ0udU84c#4GBw{<>C)6784-dN~g~<8L8J@Ktmvf`v6L={Vyo?GL%DhPWtpE| +ThZ1q^#I!GiJQtw4#s5h#7&dI!Gu#;HlI4wN$ +X(C&YcDb5n-RT)>CNrQ2R<55DM)3N{m9a>UxosS-d +Zd&kudAN5u9i|0jwAx90q_ldefuQ5-ejTg6lR6ZOW!S0g%#llSU|ZR3p?+>q>vnXE4G +NNc{}#7|{Y4$`Yd2dIQV#LIDnMno-2z5k0#b*xelvhPs7^Dg!lHa;zyHUUv(^COnU5rvlBoFn$3U(W= +1qyTHmK%Ar+LWIhJAH-#cA55|n%sL^m&K7J5+*xumAK(O^a;|3!a=?P0351U@=V7 +wIYGH%yN`NqMHqdGXi4ye`-K8uq9w2OM+<`rPbuq_ETs5k0+cf36p^Wf&br{7UkyN_U1+^RJO=`Mk0I +j6A?1R20yyhJ#b*#Owju9X@v%fv22L`zo*vo~S5^^k|vo07h1tk0^C~q~8l# +O@%J-k8`>c@M+44JM7W`qb@4X`N>V`_9vP|+wVkuNZ#8ofvwdEv;bf^!nSg}QMf^37mm)_xpuRft0%L +v+hTs1g{ZNZ^?D30#%po=(rosSvJC*l%wW8g3%;kAe<5U1B$ +r^+=)Q1Psyg6qp4%OZ2>WQ~mZ^$$`Wov>dc{zR~lVj(bB_Hmei&8%w}wITN!Mf@gy`CBci +Y|A41ltkQkJ-J)W@5i_M|F555q1e$eVNW_>kY}N&4$O1q#|$X`2cLG4dH!HntJBcV_a$`Z1dmb6SRf`qOa)TwENAFVEmR9Gjjk5iMLuTv~7 +08+*GH$1J#tyySoZS`|;$o4H5vBt%V?^syscds>nSW7_L$m#mt_4l7XzRPKf%CgveXyA;cchnKKwL<- +E%!q8wH5{kPfqkS4lyx~gf(zcesAkK{}gXPlo+W%5*&*4hqk&dOou*OFrZFa63)IX=?zbs +16DLjGr^>H*4(?fhp4#ugEOLb~qsV_ycWZ;T0|m;R1Td6;?i`JvtM{vFmnBh;0mH;dSi(lthISNH%{( +7Q4R>p)gy9;3mupOC_wCcq7zQB3B{;Y&3i2MHz2VJRsslXT@H5>nKKi1!v1EFXM>oAyvbH;X?+CE2zh +ep?iR6nl6@6oOdO^Okp%&6)GQv!jBe0ge(cCd@u+DH>y`*=F^S_@t&1!<51UC9*T&QK;23d8cIdP2Hi +~81p-?`yvV*v)2r@N%2)_A-tmeC5-3+4t3hSuZ9a6M;{srq#MfPUpsdey7=>Tmixd}J%3j@XR!HNeDbz)0_q>KYIpjm)-5Ko__~h3OdC`eZaC;^>Yqp|cLyL +<#BR8vPNN|-^KS)Aa41skU7EONm2My!(;jg41F|1qxAN}UCNwI +_37(L(b{a3)YLr!cw>&;`gB}P#|`*^K>b)6)S9SCL_x;;PT{adNy=U&G0LMbC#cUa2YG}DmlS@ +ZyLeSxZfmL7%T{K;=OH+$P@Ej#;dnMm+1moc@)Icwz-^m?=J^vTu%pqohO2eFS%wx8I_rQtW(mWQyN6 +YQv1HLn89kc!duPav0{`9_7H}m$6$6L$ciCSf<}2~>7ie__rzoYd7gyG&Opbt{j-wvC2TJQ@Kw3fzL!D{2AH#(G}BV0yAUkUNriE|k +#+oNlrm;l-19ZXRa&PXVim|3m@$@J@d*JD(I<#vze#BW?`(moQten=H|rVx<-kE8B#sq2L#6C&vznagG5Hw|4B1n$O)( +j=~%hoMVSbHHz)n;lRQmc7u1*6pFiMnE-|4*ddq7?KsVtks=;5VN7^U=ZHd>8plXp)fAG89f>MMKn6- +|rDQ=j7hAsW72Dng4CvC;^pfJ1khPArxMqxkm#&$j;V{~`*AuViG2JGFehJS7EYgQRP={CuY4%mwP{` +4se5hD-V2S{69CLOHzN8e(uR-BpFJ7l5f_$U7h4B1U=t6Rk3`#Fzxl;y9EhH2LM2`r1y#;*jY*xf_G4 +!eMbbNwyd$&9#=E7+@7I1Q!FizHo(7;O +-gZMZ6oLRqlC7lqM&odyQV$1SX`3Nre!15cYCN{uRT086$5UMK^hbB~n%rCMlHJF~SIAl1I4v}gZmsu +d)OOH@8^AK%!4>yi2S3w+ZSjaUe8xFDg)N#iOdWSb`5Q`K*P8}H%7!RN$4PJvoJbEE8v@@F!l#FKwAz +WabhSf-EH4i0{Tw@$z>Kkz|2xD9!Tl@SiWDnlQns*|`?yhC_KAH}_yv)MDdKJk`^0n>dU^rF~0zyjFh +fV4MK@_$E&bm-~ZD~Z%&XYC@#&Zt=A%#$ruc`P*LT6nt=Sd?#QNi)t5$=0e2zqtwSRzUYA3}+Jy1X<8 +7+2isBx;>(++RLirvar`4oQtV%On(HV}YW_f`#nT1zWPMRBalDp~n?H&5rY9lf8x)|8<9K9)opk*65Amf~%B|U=gOk+Xa(JDBw8Q=wh%*$9ZKk&o_<5?= +x)H1@8JfU}9gEx6tC!-H5>A+n_`*zYRJ8LfiyB5^#AH)aHP1_hC5MyhHP)c?Z7~?15lH5orcXA)h5pa +RQ|g6d@G_+^_8>p-hCex@P6>qI01>X9ovVLT1p~^~ucDLy2&GNi(t6HDjw2k@#jcM7d%}22MCFOoFd> +Rnrmu7kiyT#>{yZ!TM#sJfkhq(SxJ%TL568Xn>P>lw-RhAkVTS2bhPFZ6qW^HfrQk7st~~o5Q~! +%GXLV_!;+T_@>5;BGDD2y4B_>_#1SU-1k#nA5fa6ES)0y`A>PNeHgqlw(7VP3?AlbW}Up(o +&w6ha$`aPClh$9;h=wtgI91?EL73FE`xsetq8uO$YJmWRL&f*WsJ&GZ~5LMb%{wRzJPNp7K +U00C5BpozVj^-c$FIL#W5wYN*vNZy+!bgctkAWYz#FYEE#RmSiBU0aiweXNKaKzza;Ho1f4M1E3ddWE +@}(ut&VQFOjrddmI$`sEsY9}=UGQ1yE>7(Hnr!K>o|hy7V|~INg^0ZdS3vMcm)*#WCR3ge+M<``227O +a{U>fEpxNN?b02w1P>TYe$=6WUpo=o7}%oE`87WkL7%g&FyzFA)KU5%&ha6G;r9Br4G_&73;3=N+%|a +XY^N+)cvrK&d-U~pa;|rbGrc8&NU8=?AMNEt2n+#m4d3;h+Xl~lw9AS<+RYZ6%#D)t@+>aKCj9a&gZW +^Es&+i~$ZHhiiGNzGoKHdWv=szg2PQCWnh97>n13cfh|5?5ycw?$oVbf6=0L(5RwfSM6cx4b%)T3=os +00EcZgQ4KZc89o~oa#&WIOafHDhI2V$h%588<)PAoYGkpvei=gX=@Cu__Q?+F;eT()+Bmb_NRDjC$* +m21j61dAc7$d5fR}{Hz7T`goM;oKHG@_Aa?^ADBnAR*l^6|;c!wx5uP951hRr7Ras&d&925{*vtW3*R +Z*O&APy7$yw2mU`AOSV**>>SAYOB`n&>q&bN!GBlKPH#j%9Wx?o&J8{#Q~lpTPvgw7mbJ~%_PsYZBo5 +{$l@oZ5we%{ssvnxrE{)`U+wCaBj8!-Qco7f|}sTn8;b9!$5rM(q?<9%bBRxr-*H%$@KM}@!Iaus^ +R?Sh@yOYkx!U3RGvbPXnC3@%lRB8|QISB8jBPrz-^C^~)$87@i;850;ck{rCyXg>kxT|hX0z^AqgOZ)M*y20lTW3}Bxp?JNC0OYD5ZXR0Af=#CsGRYVM +9*5%v{Eao7n7MDhKyprW;7TwDlfAIP&E80otg#=E>b6Ao1n^!Y&^1IHl0`ughEfZz{lT|iO)MhgSfV> +t7-h&eG%-sGnb4+uI0dD{lD(8Yo_>h=@nt7zimm+od%2*Q<}=PnJfP;K>QfU0+=QW{Fos#3CiUCi8L-Td4Iw%k%>zY#i+Ze2p2-_a& +$zb29?oZALdE7|I*kA%iiYr$=K((3J@Zr<)PTv9W`&4Ckv9AtU%Ig~tfKO5rntu2LKduEbS}L&oq`3c +(f!g#njJMqCvUED8M53Z94)Zj_OCDbR?#O97^Em*T$!tS0`IV0@RtXSlda5lRg1Qs7cRCJ(}qS)5s4y +FVfX-=&}eO{f;U^BpX-DDG0A+8~x!BT%utWf2H?=0tEtBg7jbMPWeZLxIJ$);VM3wN_Dxh8#_YKE6TY +5x9AQ6o-hJd4ZH*R`NQ^TgmHS(Oykp{X|AOf*6^|NQa}HSsCf*s>u&i>l;;*(#<}A9j7V7E>hk=83_W +{6%>EqBB4Y(>W3z9T|znRP;_sQ_=3iH5oIb!92ZQ;m}m;u4HIex57g1Eh)my4?L4&wG0FUXbSxIR#b_ +m_6k;fdm8d_E2$`r4WFnrDhw94Q_<-P?8&C8iHy&m{=9NzfZh1i?LW#U`YQxGa$BNN5@{A!A^uvv$Y- +696LZ4;&H#Eaa!p69E+%oi=O%|lxW>5c05H^NW0nc0rD}5PSVJRiJ6z`c%8O$MghSNKz#|-CmgDLV-l +%bI+$0%gBLj$-9x#g4@>zB`kFia2V5Ed!cxldb~LqK^)b4*}f7O{PmC%LfD@*tO>Vi8>c!8gChR1I&u +CIn_SsiSh^H3h=f+7VD3V%V$ +;Y(6A314O_50xlrN(0Y}5Fkw{Ugx?`M9e!eNE!2q5<=ftL)A{;l&?m_D%2)D}EK@=d7=r2K3XBA5M`$ +x&wV$5|2sG=!q9r{Khctx>z5rq<5I0T)pW_i!WLSEHpp=CXgRk9idZRaFFnxxpPjGrhD_}6)0bCHA(l +n7ds^D^gIwXvI+zN8oa+f_{tD)MZm1{3w!BSu!mapwcX~D%7-B?H1c8(ZMx6nO;Qb^5bFkLqHbh +L%W#BhFJ(WG!M5@D}=}fS=cC=C$b#zCm5it6L|I&f*Z2RSPfA*e7cVo5$n665&>U>wC}ofg15vy@{S( +{W4YC?Z=DbNTdz2^L!?c916F_+fJ2vx%&XE;?9U)~DEJsAU~IdUp*vJUV}=Cf^eF(#VO7K_XuHBvDgBG~^8bM!E3P +e-<-6WEz@APU*zjHWo%*f8+M8H^)md1$A;e;o!;&5UjP+J^Qh1%kGmVgdOO|YGu(1KrX2DOUMrwp4pf +bEONLx#;9z)=GmF>K}lV)z-#NqPhpGbv<*7vM@?W6U*4*KGaITFoh3v+!n#&?$asWq$?w(!Y;B9jK!}Ylf-}OuGb+Vbt@}9nDZ-eJU`IGlF6` +Ztu@l8A%tG@;h#|6CD#RkCZ{r9YKX`X6;Q2kWxq^W}-8d1Ee`Vj8I~G{?rbeN}cPOSnTyg3r)wQ*zG; +7ZO5n!u;vksJ>vK!*@$SM}p=**D-&YV!%`}ZY+E*8-!X%syrNM)RlTo!4FGXkV^6?DprTh|IopFkgB& +#e&Ry77Pz*6v`;D9SeR5R@&_oOr@$S%>RjEAs-JDqvgR<{%q?6``~i#j$VtqL3>=n%)H1k{?a8w;`aI +vTx%=>NG|Fwq;HW=4n=sL#{e>wS;})nuxOpG5yDzsjE0n)G(45iSqCgW?T2Ywid&d)1x +xwV69(1#Xq_(+{HzS4#AngaxO~6Kn9@?D1LM6XlV<4=sd*?FF!9JNjp?(Abe$H*!F +)n$74W&<7&h9-C1}`3x>3s!&O)y*=D|>T@}FI7cH0K4JK_w6+^zv$-lh#D^brqcfL9=zhp3N7O?GB$< +fA9}cSSMr}J0@7Ow2(svKIFU|{O^Pz)6UJ%0`|AterQBYpC0-VlO;iM`kIl)6DVJQT=ULN55frBB=)N +exb)c^k>SYbiz)eF55x4lUa@>ZpF3-U(ZN3`w_-gFE+rsb9_%p3Vu8QAL>Cy2_95?X3t2MarB8L@Dn! +|j^*C0c&*%v_z~a@DOkv_-buZ5Z&j2dBL9BiBf#uHd8!Qy?PB)*s+;v|D?Sjh(&i3L*l;+Ovu#xs1KX!2hhxLx#EP5#Mj=rpDrq*37Dmey +RRDwq7X(W1Q@lHIBVbu4IZ@+m^t-H=xO$o(29(=6sE)^RaTo<{^L>Ew#{PwF^IPN+_31N!^DGz5Acct +X&5C}1B7*6pub#%h|+`Ey;J#R?@37t8>v_UYMbuXvo5#U5^#^&C9U4BfUSqEn8pOMKue|!XKk@uakHJ +W+fk-X8vd$H#suyK+W44c`&FETX-mlnRrNF6pi{LNrwUw+}oTycNlOBfb7tQugE`yv8pMmAq;si6VhI +767$r-}#oAjg-EJk1b(>BtlExHVr2>m%Xz%WXnn-MjyK^hh~#YX2Cn!=!krOo!*|ujcmt)cen>O#iN5 +(Z722>a?jwfr7dN{XSsF{ifcNmw*i#I`asCf(;wG!3kiaM&jmZQo#;ex--DW4a`K56>QSN`hXp^FlzU +>Ze#e8%1#@)5tTh@J${0H*V0V^d)d&9iRaU{za*ElR+|X+s-=5nVAFmBo1)$6pq0TfU`Br6WjbnMkp0 +xi5A9Bk{J`_Hm7mFsQm|Hj<|dYcwemZqHm2=_p!$sbAp5D2AI5xY8loYTQf +qYOteR!re#`?L>ql#Z|dC4pkKqj)zt;6{`JX7zvia+;&mKK`w8_FnbXN=O +=G)#?Z;@ubtLMF&UX=6_Zyn}ZDEW)12-o@3Xa8ji{O$3oC^p}I^Udw;?Tg#di!@t)Gnh_~zj>?Nrs_X +$FCPD@s(q}##PV1*<;Py0_fEaSyGZl=2ek!M`@g53^Dt}ve)erGq{ojxdQlz*z1vlo^wjRA=a*Tg1lc +RHFziKnuhj1dhN@pZWwNp`uW*VkN;YND3se)TlB%+eYSXm++s7*7Cp^3J!;QYA@YMX(v|W+^Urc!Jc4cm4Z*nhabZu-kY-wUIXmo9CHE>~ab7gWaaCz;0Y +m?hHvgmjJ3Pw|Vt=X02S9X)k@%SFwv9rD#KgyncRLybCawJH@9g5VF)W}LI|NWvH58_FJl;)8=QMo)4 +2{eF4qtV@HbkB=?8J(TY*VVcpXJ=8eT;)X-#ph+7t}AlJevhJAa+Q=xo{ge)mQ3>*IZKm@6meSKn*)e +dvYMP-k!+S1lQQ`t;B1oW;%rH(c$&s#If||lvbiMN^4>jOpxUko{e>_lqSjfGt=3gp6(nAoud4i#WXV +sYFe}m0}|Wt3-@vGR?EHinFQ|Z-@6H`YBiOl)Su%i+DnvUp><<5ZQ +7zLqSw$8_T+x~OkSAGHH?WMWi)DI3zEs{a2qm8VYh6~a^MWLc?0Hoc$vLHil8)2&>TSGItG=ZTz5TI% +J>t(l{p|gTV)Y7R6Zvr6US;4droU5hXS{JyBjn^CTtXG`S>Ee*P~qts;t|oR)wl?;)ro3Kp +s#Mb!nV;m}em)U(%DKnkB&74F&U%oTrM +D4CtJ4-N7}G{+zeBE9px(JxE`Ul7W&x@f+n*HB7CgB>PWVKJ<%Y1qpJ{SCS->`%llGRdN*x%+O`zSUl +gqfBDz9uil-Uz5e+82l%3`m2ba3fB4;9Tr0i>A-~xRi3%AP`Rr^)ra9f)@}ibHhVykcg>8i|2YeWP&k +B;+5JV9E3O)er>?|Xjv$G+<7_kb__fZ5wM9H6gpG+&I9(?AMZep>?y~7&vCnepw-h>KI%W`N`hfgx6^ +O~USF(pG;d&DHA$!k8A6TQ>wr*82$5<{;69p1Al$zGjmeg91B%LiH|K3UMCNjR$1d6w9xv&ZH`At1&p +YUYItkF68d`5y=+ff%I{q*UNI>nTXEY>^=gqOxO@&!gcgFU#aS-BJlCrSr2SvqNlbQj`6?dft;Pspx1 +*lFk|9J${#GbTq)zrq%IlD)5qK<~yT{W5Eh46C_rb#=DMq{{_opm;fR#@-zh=icF278AgI5tuA7as?# +(&cg+czO(IyQz$mpv98D?nKc@_OO65i5R2N0QUR-D}By(z8{z!fI^Z_vp9YsZ)u&ss&agOoen6qLiQLQ^MXyORCh+GRgEJO7lfY5kx0I0i`o^_yoyBHC=1hVO^ckt*wqaYKumiz{&|@h2gcbAxPS=VBs5FGM}ors7_+Q9?qGcBDEKkec@ABlzB#XzBMp>T-Y_MQ +x@*v-|M8fECS*Cr?jHsyOD6OFX!ST?{Jb)m(Ai?Wq!K(Qqw +o!BV1iBUi@9y2q{CwQqrAgQy>Vn2<>8_;;dT0K6F?ypjc9H?@?Z<7*&tI?9!U=Jb&DNgB1oNa*_!_e7 +NSLvW`xRDK?6_tc+LP1t5z%aghIyfhkxspHAt#|O*Q-$J>@{J10@X2zmU0jH7uq0jeK&vWqu+Uux9Vt?lptRm)2)uoDK*c=S8Kts#ww3XwpGvyurC^~8CE{N{GOt?p%_&kmo +V)2f1&R|Dq!#bdsXBsiifRaV#3VzitgWF$u#*H6$U_QKtUDsd0`^O4S&XDSrA?0lCdKyeu1twWBNTBe +C1}A*W1VuRR)g!2_63@3IYIw(jEwKGeW^H0k6@P7-EU|POCssI)2b(_?~%R65xG9h2q)?;>mbs5j1pl +0>cy-Ieqwf0$Y5|_>&SS!?d^ZUT|Sm=>hHRkUvF0u+|50MhAeE$5bdAQ2AjDi5U*BgGDW;FOW+ +>>JBLl{RgBic)<{Dj^q|p}uFfwrcDtRYg$RBEHzTdI3e1+^~2S)Z*3Sq;fLwz+3r6cktQnBZ2+p_Jigf~-!*k3LH=%X*88%N~jW +{9VnB)W-^!q7A5>35Mzb=!aziLwkyXpwj`T2A3_46+Sj8#BF(F`?f4ORGI)uXYhGcw+dS75Fb;aprkD +A=U)yFolsQ@abm|UvGD;6Q<4qc(|8C2d#LWVEqIrEOAU{5o_L*B_1gw$tQ(C?Q)%$fyX!DuLoqcv!)d +I<&s0wbKr(~RxR&VZofr8}Bm*ssZk3C4ySjiaW*Mi+B3s7ACEYj=n+C>dib5J1Tyx~)rH9SnhCZ~rw) +Ex!TMH*pqRmoknq;**HKV6r$djDEc7C3 +%|b}n8>qqAcCW5S}WVo0G_VM6sLlFf!S3(`qLZBH?u2ugnc+OV4>b6fjoS~K^1KP&fYA42P)EY=LK$o6lZYQ4h4Qr_({J`-6yn2j<(`Bt +qmTuB%OM&fh^Z$g{N-yM1c*r#y_qv-vUx&gBUVo~z|R5EpfWP%aS<1@6ecpC(?zt6 +Uc7$`!vk%+0Lx1nvptsXz3b@(IBq0xMhC~ZhB=TauoDxD!km8uIHtYIa`s4`!XeCg^#7=U`-!~);}1K +fjPgu@=l7z3&kY>BIZ8}+abJSZo?MtX!RuB#aRkJd3O~?cC)MV5w~8#cQDc)5B~9we~j0eILN>kR7n>03-ppvxWPe0%Om9{GZF(<= +=xa3m!t+se`YiA)Y?u|3%G#jKJJ%qkE5S|(NV&VLxq4dbldA!R6<05s6%CN^)M6*j4*z2w-$W?p{GM_ +5*ofbmB2nnzpKI3sCD~B3qKV{%9qq$o5YeNHJHDLLG_iM!EO0J!oBSE5?@Q&^ +raq4NtI&oWP!1cy-6|AKrr6d%wfI$Yej_LK|Kf{!MfD~PCOO!;J+aVC^GB2xi8_|c9rYY-AC(-Z?$n$ +h_&e@q)f-=7Xjx%p|jxni;56PkIo* +IRL%%1XQzzswfk5Q~=JC)d!PEKqYbbQuChnPfgI{n63*(Py1EWwnhw6UK4tz+t5x2&*sgymV&Rc(o=U +es0$D+~OE~I8keAtfSWrP!6J(7i4;gn4vP*3|V=}ZK +tP(uQGR;SGtkFW_xx!T06hfD_r3pSm+&S_vdn3V=-O}kL>|crPxFQ8-47osF8`P>7H|m!SVIBM=ChJJvaaC6$#tzRh+KLQFKYR$b0DDQH0Ns$H=2%!&y`Ga#H|5nsHk6tI&M%#el%Io_65u3?`$ +fN-#{lO&a*Rg#iyw632heu*8GQ81?)Obk-7dSFN3%V(O +~1QldO(_cyUhuHJ_#n`mMa3LnUMNhOqp42CeAcQCd-_b5Fx9AOmm%D^#wxus#Rr7wqx|GOD3|?Rlt;7 +kStSSeJI~6R;GDH$&oHO%0iITVUyx_ +2?z8&Ka+V$!SY80&#l;lL!F};_hcAAc3%1Sr5$O4KpzWvhZoUZySrIh}%GFq3FBMd{U!zo9 +N{#{uQ6# +e&$tG?La=AkEjtf102cJXd;KWIue{dSVRF2Ws8TmpLT8g^yjJsI5n^4YvTUt?u1^yyK&6~yz+&o>rh8 +Dyba?|`%T4JuPQ%aD0%4byFig30mbGl&SNfy1x*V*hXGOq6vD&kjDcojo&tOskK)-m801l;ZM3fwd)r +t35==(9O3m{AR)%CT+aMkACI&{{#4NExkH>@GkYmB}JQ^Mhg{VbF&!KWu4-vgq;Tn^E*+^6g>t!%IrC +l%CZKwP3^Bg6dUN%!OCCRx>A7-66zi=uH-V*ghUn)(+tQnPmS2MA4y5FTqxu@e4{RLseC5AMjfme<54 +8KppU&j4VhSe&9-RAHy|4vcZX=(~(eS3P;mmvPt#9SZAFXSEgKi$=)qtpAmwtQTP-f>9}z3xUDe6OY! +Q@bh1-YI2vFGItOZ#gh?n3{KT%N!cMXwus74aDW2ikz&eAYbQJ7L3l=+WmhNRn??57z?~KkJM!%09O& ++-=!~rG$D4+taQIKU)!7ZVrG(h6iG5^NN1dgY~wgxxUuIO`LR}b|)OkZDFEj97NG%P{vrFWBbU*>X(C(Kvqw~gh0_r{`#vTa*}Qncr$VnGnE*o#}-P?Vl&+lkh(+uTf)4!X +Azbp(MM2~z;yuv=eDoy7kYMxd&5)tV|S!(ByTyl&S|)d^NVgqv1hwWD>>uh!>uPT$PxLgI;eF>qVb?L +#dno)`tWj#iiB4@@Ur@NUHJeI@p2aHo*{QEqMcyr5;5)UrT{@&$m7>0+ynQnHAr+cCR;>pFq(D`>d-T +-q5Qh1zA$C6gM->h*sYC5S2Y_=8GFFfxZwqqHQxDmTiki(`%%$tyX7;(`ryH=nxX#*5O;L-uz2(+di33Q-#mQu@X><@O@5?<@q-8P>?$tvIpvzwOab*|@{sP`8#1H +&_8%h3Xh;SD`N{x*UDHALfn=W5-3IRqs3YuGQMhF9`*_=1h?P01y3=3L`P|%M1XLOp +6@YG6MtA6N-$Aw&cqy%?qjs07vLFj9`d+0)>7r0erp{*pt1F^vV84`lQ21X~l9HuORy1aybE6VKwPOS +pNEaC4_;=?-wKi6%ph;Dv0OP1RQ_6ZW--haJQe48P%8e3$Gw){3R4F%-+A(F+~#nvY|>dhnQDzV#Z{q +KTRGU9f6Ph!#_QIbaYgUDPVxWw!iMul%s{Oc?;iAne5>XEv&W+P}mI7Kwu^Sz`u>EvX|YYvvQq9Y;mB +%P-@hiSO1Ey;y`i?fz*kua}hKBH=;Ur!H +zoN$8HI*N3CKA_4uJk{+F*KRx{BQRks+K&Za+_2U2;M1t5n2_~pqs}UyYZpe8>rWZmE$bX{DE$+Zy{q +<>G|Bdcir3Mc%SMT{^!a3C#Hj}8w_(|+>;LMBFaa*Q1l~{q!0Z!z*P%MkflYnu825e{ +E$W7)=JKo5a;XxoH{_y9$Ypgvw{uqaq2=>_gjN +T@W2Z1L=hYB=023kuQVa(oB$^Dab?6v-IA4I<4WHFf~6~g85}2R(9fd(lNWE--zj?VBOQ%&j?x>nbm*p$uX1{Z}1A1xPSw{i*AQtl5cPpI +A)YTX7EDTA$)>ZqWk}W48n1rWGt5nP@8xro-pL$8_4(_l+*Qy$r=c(t*BS>h)`b=Zc$8 +R(PUD*D@GJIAb*K8M%uB5-{8r`f2-phI{QSNoMXU>Tuq}{&HJW$Q(4l>w6o5*6Zy?5GGuL5a(m@oKD} +EcZ>P_?IzvH%7z0c#A;{vv`qK1;i=Z3lup#8ayT-}FubYAtr7S6(ANubH4<|MD6~{}TXPf&?{xE4Gct ++B*;lP;rKieF>;67Hx%mOQH5CLs+0^?Vfo#5uP;7t=XTZIbf;-Gz9c!@K$+obl3X}A0?8t^yFfG#HQrwyI5!k`+md(> +x!KrUlE6NP2mmD>Om?DtR3WW+|YQoATs*88gW~+@!1w2nK^O5?-LunXb7f>HqbG60$+t!Qv0OT|Ew8T +c~{2F0nO*NDaHv-%5fR}_2l*VTjt=50d_9p=_RDzM8219!OfK4|F`l6)G&ch#^)5BlxIbMWm!yl$R*~ +<3?WG{XPg?OLx;hGbV9@u795DBxQVM#L?BI;o +-m6wl`3bY`YzPL_g_SGeA^BBaYZ&eV3kF%7icI(fFH>P%0uumw3aNjUX!6iC&R0;G_0=EYh(76p*Er_ +^>gOSC1t+H0hPtJ0~0VLK$U6lTv)14TJK;}DZK$%|IRD!qC+*2In +Y;V3Oy)@Ql+m~=KgegG2z!|sdZU|^7%N)P$3;lBHZyv%;-`32~DGB&e)?FvD~GY@8eV&B=9{Uq~UNT* +rwe9GbYd-?i}yiQW9>t=rZ0=8%=-^8?eVIhy8)OTqkL$x$z{^=&`LE`yp1wtOBsNPkBq(2y2;3Mg`uN ++~q!JU;}O!w(jg)-9b_AAbJ_6sR&-pqUT`KJj*X0CV%CV{v`2P5@5}mZ%PUr`s64So*)enlY^SYz!qV +uK2WF!IC63`rRHtOPs%#gr^*ujP>d2w%iZga;?i@WHC>;i^xI*F(Hv9>Vo<{Es4?9-$_G4M;~0)C9~|&_PGiVUOm!$2vI0=JuB6+s{^yDm+h|(EKW(EW<rY+Yk$bhT{`BzhHCVSnkeINUq_0`!3Hu6o#ORiB&Nq*lS3Zff< +ri=kgKmnUC0?$DUN+SVZotSd#tnC*l(o>NKUY7JJlORdvn~bz?L22&X^vr`Or~Y~~y7juN5BIMwJ4sn +u9=^vg8KT6RA8xFsGsrO6eshS4VdfGfn?xVSX)O^c5mo1YC!9PKvIONME2?BwN5!xfSv6RBJ_Aqe1Q) +;f%y9!F2K(vU#FS(4Jnlcv*RA0maYXF_B_a67`{qqI|BDV}&U`dP>z4raJZ&MLN7 +!vC0uq7wT@6{r>P56`$V!ptutk)#EqLDw#iUEr}hq}L+bbKidxLGAui&U->r<}t>6{=IjF#K&Ggl(|> +=O2jA(IRp5<$XD;khDtciJ|drTD*PmnZD7b^ZRYdn>8c>lM$ywWDS-f=F(;*`a6%u`u04y+(|meKm&L +{m;kb!2OmH`&t<$9xqbF6yx}p0aapxhwPu#9MlrgjDD5T{x_@8XxzP{<_x)TvC5hMV@Rt2I6iI}6u0~ +J0p@Twa+-SoMG)6kU?nxhQuL4e!(trnQRcpdp{kkFRc~WeebI)^J1Wxuv +wlcF4po}vzLIV#!rv}VH}ST_fUr@vPE+uQgTR;hCbK{=8N5R6*Cz@B{RV7XBX+UnBxNY5nGi(0@C$Nh|{L=f%TQ0m*3zqVh8J +I7dsByLJeyhkdq8xYB3&^Z60|;7Py&};Div$kohs#B%`HZW1e)AYc0QF+{5Y1_ewErw1|cj^3mv*(kU_VO`&a8@JJpMYHBGPQdwrX&7Xh#3Fn^)6J~NHmM +8;@oZK=CPA2+ +}VvUA)`h-qqw{p-)?jNZ5x|pEpcJJSWdzISw)8ta#P>K|HWftU%ihcRW5p*)0GSe10Avkat{Wz_Vfsr +2g&0KBJ|2pf*v(E`F?!+OLxK@jFofcWc;pF45MBwzCm$hjz9IIgjX?h+3JbYcy1K?$*2fywzu=XNMZO +W|sF3aJ2tLhn>;a9X|3cJ$*lS`1``x?7B*FvWk=y&+%Rr3D4@RN`Y$a~D)dqd{-pzs=P$J)%Hpp%WliH3hHS9e +QF+!@ndj5NDm&_99e|KYdumDsRf)xlw}*>=*h=5N#}7Ge}docb)Hf6J5E&4?Yh6c48ZdYuS*1K~d!@S +?$SH(>X{gM9}+Fp3R^jIqv?yk-xr)G4d|xhaDf^CZU%+b+sKV96UXFZ?kp7R_=}X7{UzMJI_ogKb2*Q +patLh-raO`MQ{fo!j1#*ie6Nl9hi2){{H6_?GdaCB{t7{b(l>M{@X35fUQpz>~NPy=EeUkO(<3fu5od +H`&zB7N+2+9ae~wdTS1$qUvbh!#BD<>pj-kK@U*MEFaqwKlps;*~{OQZ?YNr(&PMiMpkr_!5J~nOA^{ +91?o6B4m_!G_~JnMGe8*F19^G=|LHIT(m#ZsQc@@%hA@Gi=zELNE? +haJ|~S)yqQM)V?K@3T5BMM5Qljs$md$ +H%yCE0HBVpdWb_F_r#UbC9~neF4;?0Q1KQyNoz|3AZN28`s0_s&=${!oBaie7DPyNpWqO@1dcl4=3)o +YZa1P#1X4X;BM^Xx}w+=)-bB!r9}>s=rd^<2RBcYH7yB#1A#7etol7?*<~a3mvi3}JX;ND;{}I^iL +$dJVRZ_d$4WIP3#0E?*({?SA5HEm{ugnyg73kNZARUFpu)6T=ppu`rm82K)~itu%qVg&W4pn9bRaQ1W +!W%zh~H^=d~*I3{-4cPBU>^UbbfB56wZ&46X$HKQ>Sd?U?iDwK8~;t<$A8{Nm%$KD`>wCi(0AmNPGlT#R1V&hFvC}=J-MsSs8=qjcXhS4fWX;tSmkPW^f +nu%vMM;JB^#aqEb-+g81~eA8v<+%B#h11awUV^foD1DIG}DWgaR$M$&Z=kN5e +NvU7?uaNaLS2G<}l{g}9l%u8OxS0suxaI<7SCk1ntfyn~{34{*#uSj5i8^sVmevwh~(N7EpQ!X)J_|% +mDS>V<`;@33f7Z&tl;0VSeWW^DFlhw6*y1v`DIv{ovR|exU@z&qM%SV4bQD?44?$r7t?EQ^mfPTMom* +WNF!i3xN)MpY1oE%3W8w$7CmCe@`w{LNqFNH_+fisl8($A`!=+g@yYJAF2uEs9;)XvaNeGP%{AkLOcg +{}1IyRj7{HNwYX+OLB?w9Fee?lkDP-R6IMm +LJg0{UGU$5gmXbkYHQs8n1LPzlDwc?x*5_C1LE;A4?{3Rb}o>h +_#xxYoL59UO50JKG$>IJef9a8FXP9;-YblekE?p*I_v2Dqnt&1HVnCASRa#iYwf1XcG`>peYpMzq7EtxxVP!#ZEzpc>I2tU +qGJ~9W)Lt-brm-~Hqf8esajp)e|MzJoiislQ6Bj+P1iGW+`yYT0(NJr4FmTQpo`;r3kTmZyYn2k{o){ +qLl7M#=&oLq1Oz~u{Fb}%E%?}C*>XKPA3 +CWG|rfU8O4-{rrRh^7kQCX7faJHC*!4-SD6|wbwkcspwt}F|5aoHdfb5k`B8E8l$kr*90f;0 +X2tlgmam-9$?&*3vGO5d~hr#c;}WC-;o1pDMD79%&ErH3jrzp08f!Yc9V$bXI$;J!JD~Rel@=8N2hGncUNu>RaMjVh1K;ksD!O1%orYBI5wZjL$B|@G(es=cL*Y +!t@)^=O`!%79#h_o|Lf098i{c_eQ8lP;Z1+L9^{B;>w~74k$`Ez@SFGNg#5q%QYT)3+D|84pt)Qoh-y +_Sszf?xkl%v9k=79V(02?-=>GaDD1X9R*Ior(rdEv$4h9GjjR@spB?(_FbB~aoGq5RHp`=u@{)+fSEY +|B8#&JlB;XRJm#ln=Vu6H`jFyOJK%y{PGXe($;IhMMWEqVMRI`Qn+0D1(@Q)TqEjhXCdZ|)a>Wi9ih=9DA||`DrON4KUgS$<; +klQNHCZ=xXc4HGs85=9@jvKwW5J^8vTWdu#6oWx$WQz>u48sm~=cw^Gi_gfq=%2!KztXS0a +&lBsHw=>h@BqD^G5wc_#oh=t3fj1+>>vP|JZtfP$90b@hoRg`r2DCBK)KLNPZS@<})#aB&XqFRC;262 +oh!Ab=iFUntkY?i;)1+0OJ#U&Q9SCy}pd0ENhBloPjS2W`ZbS^Q0yhbt3RT+!PFiCPG2rSOp2jwme07hcLwb +!K0E>{omo!K4`Wk;wk!Br-#Y(rHbyaT5LYIR^N3K){rA5mgi+nmCpPk}T_e|2(fM`jrdUJ}R?!9SK0? +L(zH#zB_IyBFVr=1@!47R~%0*q_~D-^Ic7XsWq9P$|YMObGXcxZbP;-;9J_nbK|y~PDCGjTMkIg8Lj2 +xC(Rw24HuC}Kfws8{Tu5A7ZHgAX*D4ESTG80iK@V|Abt0ze9`6VcvOcqYLtxI +OKm1MpZo@;Qyl=ay8R!?I{^1c=t&C{n?`Li1?KcTbKv~KaX;1hCO7vWlHqU10 +VNyy;A+cu;h8nt&N(BSs?BJ&rJQ(|*F_WC1}Y$W}l`gV59?72iykhYwOKkji5mc9cFnbw!l%;*5yAowBnL2I(5_F{n)h*+lvr=)%n0p+8$PY=GrYdUegJ ++esJ_3cZ2MBB$Zbh=ZQmlN1N}B<&&a5sQkdL_Io}ra5Quqdni1vAucQqg8 +Zp-)X!4v%gHQTWe|4u0M;nk}rZ5O{T1iahc56@IeCj_d2ie*OY)M2ygb#!BUjl< +DDgil6zu?*DmJ?NoV|q0b}$+#Q={YQrADoFv{Gv*BDk0qQ`RbVp-$AF?P(GrCbi(0b}1eMO)1CXFxm(f31bx;^G7yRa +TQz-OXVOp$;{0dQZ`z7*d=!3n{i|nqda_))dt;2f#B+bpYVYVUtWMzfv!F}N;>YZD|OzxIuDUJ)Ityy +#4ZJ~7L-Dtt{l`Acn9BcUEX_3v+0gKyJfHTT*NG>r3*!9G$e@$m5t+dirS8PMZOk2xZitc!GjN^zNu# +~5GI<`HxGB*s_TINV$-&EYO#gGZXKujf_=OG?OVy~+`N;!KsW5=>eWTxu3CGE+xw$@ZSDNleP-F1Z@0 +B%1?|R!V{UQI!ZuZrtwY^h9a}1HwVut@be8YD9eOQ4_6A(kgs<{_Wf^L#N?C-8n#z{oG^OfJ1dJR-_# +ytUXsu^wWtvyz*%^cZ1trE*e7j`QHnsBB#K$7$-22xEHPCP&6(mrD{MqaSEf`$0YEgf^wu_KtRt*=ch +5ZEQMXSm08~cOHv>79KYFi9NM=9~7NZ7#!M>_YR2e0?vq0hp{m)}1>dH#ThCBzHJgXni$<-89_xbM95 +{i!V`WY=3+yyKcZWZ((`(;vCa_oE;szeE7}&~Zn?qoXvX$XU>|;8*CW`7~0_d^bi}HPUdnqQWBz4%I;qkb9Zk{JEByBbu^+FQZZc4b8G-mgbm>b&|ru4x@dLo8j-6+suLS6*TD`C=&N2t4JSt?dG+ +fS70R}5>eU;{9finjyK2TV1N8T$JLC9)3i2g2IA~m-}y3C)#Sf52nbszmWHD8TtYxcmuCD?U6 +!*#{u>LMlmMGdQ_;Ku@Ou^}kTJ$(yhx^ +BHA<+ji+qWAYfDj5qnSm&@#7)1xrQL$JaBKDwBX%G_MY^tdo<)`Qk9X3J>%yFkG&&cpF>c?B729?HUe +wJ)&Zt!{P7)Q`a=^*J6FE>;jUv;2@mZ{|FcTBC+E#^e2I3N@c9W&`&yMr4#!PGU@WS6v&>=96f3$dq1#=^xE4T3tnwI-7JQPS1 +Qnk7lLc9z!efqs6qqM47zX=GS0AVl)AEJEeqx@HUI-=DLz3HxFH+=W97xm&-h`#Yvp3m|; +)KTFU#59u?gf`|7(wM~|G&89)HlbkDGW;$l!kdiC&zjsd(imD`yT%z)f>`>@15F<@;$?U1L6~tQ2ut1 +F`$7wI{1@Pa@I +u{i%-Eerqn1pIqX=VmHJ4>>pIy>Vm?)P!AD +CwWyUvA)=$?Voty%?H38X-eCoJde65Sw|J#zHFs12Y`xU8m(v4K042uFDIzL|QO8u +aPm-`|=1WvxTJ}Bk{gI&v1cW=Wtv-uh7u$9?db~>h}93HW@B5?e}n-Z??{@%IO%yqJ +lBxs0S8qdtGy`k9wy!RpQ?MLOw~ER^8$3uF?9~b~5C*A`5d-XWhk>8~e{Z-pGv3S^~kFqBN%}NF?Hy% +o7O8xvqE^I`ja7P+^XQQ0g2DignHVj^<@C{cZ!Z+F&2Ma+_M%VNM$@%EVd0Qg9B*Rf!tJnSsbmd4nb;F^wIKO1tMpF+Q4wNwStZYhwyP+x1zQf^M8TYlffc1!YIQJ%d% +xbG*a<98P)H4R;+lv~CHzN!wQ2&5fq38J5{Xw^O)eh1<2`)I-&FJ+Bcg%-$1dBpuv7f~BE2G96I +eN4X32#?|s-+wq;hv7mLVG-@0@3*zuE^A(`}TN82Kw4?Pp0dA7vng%lW{=*)bi$S+@0xemWf^FN6x-lAApv!sN-p@_}o}Wa|vn_-#kIN{}qKkY3X5x~P3eSR#zPyTJ{(sHYKlC5i2>xjv*SP +XgH9+B#{IvE`v#RpuMriyiBD$77N(x7eBYeB_#rMd;}EYfLEeO+QOQGz1BFok7~3TGT~P0`8Qrmp|0juf?qC +!1ic)D4I+KI~WQ8T|M^hJsS`-Osb|pu6*|K4nvgr9m9UJA>5=5Ayf@-T17W;J)d^b6$hhJ9EAQlc$@w +G#5})HMLxITz>wRRmJeEe%)NHOdzS^XNjLFUI`oNjk-E%gDf_qXY1cy+Y@7j)mmOd}R7&@ftWHk*SMY +cg1Qo(v6UAEF(Izex8lTa(An~`7E3$DVsKdmn|Y%Yfo&E!Gg&0w+ +-ovP?z8m^X#G0$qF=)unpTm#*}}Xh!?0^U{qm+D+Fzwf_IB>qgeaiql)+pSpH@k +=7?k!R8C&omV#2rd5q~^=c2hrc_l-i)NY@??SSbn8v(C?@6duat}pLCr<7otPf?e7YnHAo>h+8Y8*)x7La{o#*k~0fMM^U%#t0aVrh)dcnw2}sIN{t&P +WDZQ^WATdQ#pD2w-^URiMSbdu@CRTE?CkqCHn70QX5x2VA}~6d&XShrb$J285HeHxxX}+f?AR5jq~h- +@z}*?8%+zXSxnwkQJj{!99BK(+v5EP(Tg?g)71qeMgc0iTV%xs=q9YzJ!o(2xsMrynOABH2uP;91-B8 +SPb2C~{OV%N?laQszIpsjcxB22rMevMDrW{!6+E?n9#s)~RLQ0*bH^UGMI^QI!SeW~x2d$(=v4RSCS> +Z{lOL5Tx7nwv-I(4iG^Jyw6Cl>^&71+5ZFM;X+KnkN7Xi-iU4o!;EwjUwFqLTqO6S+?Y-OT2^x$Qm=( +RX-XXIX&_e-alYM!k9*BZOuk*Ured*SA<^MWLc44n+KJ_b}g?#kD~@ +B$%y=SBV#p|V^xJk`=88_BLY4$i}4>&dj(b*g2a<5^98JqwrDd8THW_5I=z{{I;Ne-aMn;%lt&NBsX! +_`kT3kG;hd(8)6VL=^H>kMykDJlpn?RG4>~C6o>Y$CGp8e+440Sf3;M8xm4`p;2mQ$-HHnY9)2``keh +)g~O{C2G4dq!tCJmf66p1%WpjU*Sf4e{p|-z(GVQ5d6&mb@`5sd9>i(2NVlsCP|@i3AMkr~M`az_xLW +Od(w5;_)`Sq>YE{TS-dZ658mbhktjuB%oc_5`)dFv@>vUvX_~AkPe +eS!_Ybk-D9xxdCzK4b8C02*7x=Zc2BL@dtVq7FdWfI5>_I^7zHLcrjUPsHOeNF|+T1p@vIs +F_{m=@roj!JdVVW0uV4Yq|=O#Rc*U1oAz5_@j6j0Hu_xWf`vol=|V@xNT80C>51+urCq>Ji(5%*Po|( +&S~H^er>O@&ZaT1LBBo^t8re}co9}(QP=n(tVU7S_}E@!5wFXV%82LbnpgaRKY0O9TI))+)^ZA^L6Rh5Q_Pw>v3UZn$RERmw0%;IVf7fYT=nL +u-e;U4`%2lp*;S>EC*aIqEaulB=t@){-{JJ<_QBWz=(x=)>P +sWS=pR*f9q2%k=ufNwLa-)CnP*wcq1xQt-djA*CxdWs%fy@g{SxxZ0nXl68h-$Yil0&IQKX~##tN7}h ++JPVYziTpNTWJsha~7FkT}v%;IPw}*VJhcT5A&S%fIg)mb8<GUQkae| +ZF3)P2N-If{jX6sgPnnvyhX5UBL3ZNMb|%JBZ+~^{Yrd||Ro{2AlJ5j9itHS+B^(dDp+luS2J>9N*3r +bm$&+n@si+=gbk0 +kQK)_u!s~IkdAosTjQ?DYN^PxOxi0adZyZ +TY#~VWf^4z<}WU`PB_9wt~;MM-aZE2*yLw#Rc%Rr)L7T$2;YzuNuPcVdTb*oxig0MR1J*7kt>Hz!nF*fZFgnADFg5fenfS54;6=aj +zuVQY6h`aFm}RrxA{fl%J5y;{-Md#1`eh)&olMn70Gi_Xb3UQ^1)bcf*gn$t%Si#@>{WnrN|1u^hh#N +|K(BIa_UVh_qUv;z1}W4bm-5yUpGbQ=K)=}xrfb|rd`{T}(K@1bb~?xHjWuwl?v#xYDS3&zzq=!YY0L +i;%?I9S}k?X_!hP*iZX=P0K8$2UJ5tFev2=-h5srnAsaj$}2G#t4vIrwEY0LlJ=uNY3Pr3%^H?rC-aW +@9YSrxj@MxH*$_F`%qKu;Z6s=+_bXaOY_2Dv#*qINWlv+WY@SOOqQ?3;w{3X|sfXcG?v`CPkna1D##COn$!K3go-UDhmUmC86bQw +j+N<0tpa% +g(`S*;)hKs-{?$>>c&T8ASw0R6mt7za +g%&}x%F$NYt!mb?;*v>^}!AfAZn~A?~bFNf6=(^0Qw=epA-7MJcT +Ep;rb)nm{@n2L-dgXOYfrQ>UgB~6o`chvLEW5^VOFrVF4IeHwS|Oz5rz620M#{tVmyB5tL8=KTt~p1Q +Y-O00;n+tx-{kbJ^j#5C8y=JpceA0001RX>c!Jc4cm4Z*nhabZu-kY-wUIb7gXAVQgu7WpXZXdCfa(b +K5qy-~B64dJ<7vS&rSNo644VaufG%XVOilc5bs1duWJ+B-9ki5~OT(XaD;>2LMTcgecj&GrRIomdJzi +#(4nHJWp372F0Mfk;9@>e~x00AaxLJk3YsaTSM4n&)huvn-||QxAk5JPy-D6f`Mn1nZPXmoZ +y0xHlrRG>sWe-WEm9XCMdM5*c852RLa6bi_71c^J`xHkja@7aS1)OPBhK9$ZVAGxk8^dq6uPL0RxhD= +=g%=p$b8ZZ&|3kfKh4-^;XMHJ4Wz3z0)Xro{8czok6!TWk->*TlQ=2GjG4JI^&9hUN^!T4g+DzW2q00 +b9ucu3K-|M)QF!Xt;SAq64z~<=s5KdIi@BT&Hk-1J}23y@u;Mxc&^+o15Y$@%F_wgDbqr;hn)Xzj-_X +{3n3_1n{2#{u97|@_Ju6N}0kBv;X4EJ}!G3tF(BDbKIdcc8BfW_tkx>me)_tcxJcBNIq6f!u@29EwMUj=6}_2bTLo8`~kt +AiRR!UdF{4N!R%4!}XaIU+@)=X&!F~+T>?v^$ngG%_@7jsxs=E+RaVgVu5+4*7_=vEn+D1m#?CLdhQ+jITlb{{P00_Cz*v0~W#uChqB2 +=ht{}e^lAUon`;CRg7yJlJ=EVd*LAJYX=@bM(%#+Tfanf_TRgEf%*dq+#5O-_3ZDQJ;xVSPM%4AuhnX +Dj_e9=6QH0rO(>FuyBfTgoN{Ix^Lz`acg*Lh3SuBW%zK(7yNgpFm#G|NCPzrHiHEE;BL&j#G4#8AkN2 +agx5@WX7_*0+OAaJh;Bhy-1sjpwZU6ma6~WoQ`jz>B5top}zMv?-mnD7jT=@pkz5LY#Tz1@V{c5rzA5 +I=LMVjkyCgU_$(=@_@m^5z$Vgz-%gdz_wCN&TohTc4_B(op|7lw#JB|jv<2OoW}eQ=JO;gp&rGOYw9u +l=V6fs_T$N7`nNP;Bl4#|)$nkMS9N?A^;g(krD#YLOv8w-takRkx}3sNJJ +BwFVxtHgtQP8X~V7ojyN=QjSXQ-VM0}sD9Gwt7p^7X1fuqaz$Ylt1wv<3$p3()w$~)vOu`r*Ozu$MuV +X$NH+aT>z5eM#t)Bc2hSGw-JP;%Vxe69(^2+R@k)>fKB2*BHiU6h+_~j!cj~Kj0e!IB1AhI&98IT_`s +3Accx;mEMwtzSMR?v;Es}a%~fwsm}q4Njlh~wgXmPVV4^X%fU{Hych?Be`b-8hy{2g4dk<8das5lL6P +2$Z5}929gRrZT9jkrkCCqY)yN|N2QDRIaH@o6ny=Psr6WE#rthFcQ)b)x6~5FA_jI&eUu=Fj`&1*I(s +VAD<|8FzMN5^}BQ9z?jQooWo=XFojvowqY~Da6U>GYNJ&-V5rS}NNCj~5NsLHg|&0a=dz6m5GGjDxRg +oTi)Gv4;piFqR0tg@nQaKne+reJF%ZKIj2L(Wc@t(vFk_+!tfw-|Xl}qvL~N3RK3Z&aZE0pF$eBK22z2)JUx#;+f%#?^WP5j>68I)IH{_Sn{e!)0Q`(rZ}R_Ja6Jz21r!MBC|Yw!2C61OS60i91o^GJ@wx@uY*sYxkOE#T&KkTlw^0G*s4aAN +(z$$2L4hpiAPbP}VO8|%LdLVM>a9s`d7-9U>t8!y!m#d4!KdsxUqVA=0IdSBnWXuO#!#25<;v=|&IR> +tQG))curP^Y6SL=t(hg6SH2NV)=nA;(uFXi{ESlJ#K*9#DFDshJ@EmU-ia}&WzZJF#8W +dyVUn5hv+zKib=-V)pjPwbpY32R$j_nqYAmQWDG +^eS}A7Ljyr^|R0p>*}lLJjPf)t|;Z>ALN~9nWafDs) +h9VJ?qOv**1dzZFpdlHEo8W&|H@t`1E+%NcD>2eYO?RuCGU_dpg4di*B~MHZ1VsDf|eI0PFFH`AqKdp +1|WrxTcRD3LyM_FQ-lprbxIxtX$?)Hx?ZrlW~b$Ey=ak(eVK +$#IUfNIcy%(vZ_X@7KMz)0VWK~L1)dvzXBOGyT-Qa6cg0~S*xB_%NG*C*q~d(Lx0mUx{? +zA*GQ%e@EmcPWiBO4v#QiuRW-yrB-sYya52&8by}q95tKWdqXhhwMMtwZ4ev$Ed8(z%X^pqhKoWEpFP +v^?Dy_ySH>?oS)nD4#Q*PT=vDvkPp%)cZu(s1%vuZol&wZD+hK8QrnsLzxoKWdOxrk*cMpRiK2~n=(< +kjUrs2oZK0~bQ!o)?!j=L>o^r+q(V(R6Y+BbFnYh5!dFe21iDr72b4=c$(>J)iR7cFv!GOVuXBVUy(!sc@xa!>^nJ+iI +?+ab%f9Xjghv8>O$!Xr%oa}K^#FE`E7Vp;Xom`KdUCu32@v9VjdtojVNbOO5fXPqdjZH@NJGSdrze{wgs +89eIhZe-vdcHPm$dC}#3!&w{|`Maun^sp8}<#ULR<2G`0Xbl&auk3Sdu03vZ?zO=&(N$%_R=2C`2sET +tg`$iX)%Fiu~{dTy*CK1vcTHz9x8t}72{TQ +;E*r)^8PL8xkc<0I+ahUs*17fe2Cad$6(o(ntt1w!Nq;4xWrDEq8NiBQ7qwKP9xa4tN0Lg+%nY+5>Fg +xZRKTvH`AXT70tF>)RNR~J1<7{sJ4$1Y$_a7(ZEtGeNOO*$r%w&qhy3sl89#m4(cS5Wy2+7rc4yVmKA +OlDA=o@kGo*eqTi-hmnUg-R+nzFZpz^#1(H494X~CQJB#x?X +a_ojrNwwR9nrKcG?nr(Orfu`1ddYdxLtXAcJ%O0xWH8Jznukl|9BO9NGWLHh>GHqAb#Q1vR8u!0dmXB6Ufw`C!(c=PXqbWA85}5$40=2aXZ(7sS3B@{8l(WZMY4xiI`+ ++axo*)qm$c$y2dPF^`xsVNNQRf-o!)_!IF9ACeu{c96m%FJ)-qE;X;y`c_3qIfzPD9&=1Wckq*D_`4* +mtA+bU8+MiX8R*iEKo?SZuR;Wyv+nOljsYd&?cgEkPm+|=8Fep?(ii{K}XH_uxCy9w^r#a`?f#g+LZm +}Xhbxs|moJFDubcVFn~S&$rWv0J|iw&HW4>*@+Rnyr;F`uSxNVJZB~N_cBcyR&e09|Hf+RIc0W`QsPj +qN(V6)c7u4N#u@Y5+$!y`?~aqPjrWNbky6SIW?deXnJ}?@&rl0Iy!nGj*c#j<(sNi>-8SoNqDaJ+%x= +vl?45ocxTS_7KG7(zdmcRzg84~7F##$C2e4XzLI-Pt@TKV`~Oq^{H{akm)!(-a2PqkF +rmZE5z=@!-`y@BMI>)oE6Wnr7u{oB!eU#%+ck39TIdu2wZh6kyajd(-P%kIj$EFAJ* +90wCgSF04>i(nPT@0ILp2ktGc;T}7S`ym|;hmOrhHT%@` +!pS%FK7am9E`Ryu<1gf=%d4xm|9eUPc6s^!^1Wy6Ln0I&65|o0*v^4xujoBf5oCo&DvLDVG$%HU{lw~ +bF)Cgdsxx-9T?YlOES~G*@b+#0Ql7^G$7p_eA|I%YdTWAJmcw6c9Q;2}O9KQH000080F$jzQPSmIR9X +N40BryO044wc0B~t=FJE?LZe(wAFKBdaY&C3YVlQ8Ga%p8RUtei%X>?y-E^v7@j6n*3Fbu%%eMRvs{= +i>&6DdyU~F|5V3Ri=-7+~t%amU?VSHrtt0DtpiZ5Z}j;uRoq#7 +=S3KKF1N~?ls*4H&9Ch1QY-O00;n+tx-`K8s~wg0RRB?0{{Rc0001RX>c!Jc4cm4Z*nhabZu-kY-wUI +UvzS5WiMZ1VRL0JaCwDOOKaRP5WeeI44aEhorUyLSlB}k4TRE=LvA4m*&gkRY9%uxCu>UodnL=8^*%y +%ljoc7F&b;~JCIWMp(m6Q%&zkkK-KJRA5i9d1+95AY`m+Wcc$?zN^1g=vMfZPVI?3QoyZz*EjA%yd8z +8=!1zmbopBq1`v$uJ598M#M4navH}Eust#|Ns`RyvxIg1dDRm|{A28-!qnN2Jfi|;iDQcZwbF+xUaPY +@!SV_l5E7B&3FfeS{fE9eNd*{>hH!-*-K8|VgWTv)Y+Rc&#tXw&b|1-@;K)<_@7Li-V5OI>qqz+P1q`0fVqC2>TFK~C +6Fc)7|x90V_)P>xLouyPJuHR1_#x*~PeU?|o|7rJGXgft-=QlZ<)PecTR55ksMSPiVuci10P)h>@6aW +AK2mq6001BW003}la4%nWWo~3|axZ9fZEQ7cX<{#5baH8BFK~G-aCyB|%Wm5+5W +MRv7Cup^Ahg#2I;2H=?8&zvAZTe7FG`aFNhQwTcd3U($xiw}QJyT$?r>%~gj;7%AZ6Q!-l3F0r_Q +fo*J1IqEcfQFvQlQjkOhHBfO)D+Mu?Xxygbkvpd8BJqd>FGT41Uv^BUOUXjvIBXn!;Fq!Qezt?yp#v! +amM$K5R`}e&tKxtEX!)GydU<(w3**!z^lQQZIGcLrSPa*maKxB(731tW7(P3f}I#2l&Mjii$!A&t#!c +K&Cpx^z*jHwgd#4dSTyXp{Ht@;iQT={5G&!-d$xq&gCq0gcX@VcjDkuTNue6JH^|UmfoId$i1hGHVXf +*T@&R1D+ug!COD04v@v#7nW+2NaDdUi8Yl7kdTn5EQB_m#)>xF)?rUMe +wc0Ckzaq-dDWzJ}~~c^beyP8#{+BovZKG;5r&30OTQJz&V(9syONR9mBKS)+Q9Qf*_WX;IU8$NztlIKb4Z(*BK5d_6@}@@S_uthZqyS1raAhK^=}gOM@eEY^t*xi#{WEcbpyYOO!gB{O9KQH000080F$jzQ2+n{00IC20000004M+e0B~t=FJE +?LZe(wAFKBdaY&C3YVlQTCY;MtBUtcb8c>@4YO9KQH000080F$jzQGl=n5W)cf0G9&*05 +$*s0B~t=FJE?LZe(wAFKBdaY&C3YVlQTCY;mkojAIOAw8#X4gFeKZ7Pvi%$ec)0-TG6J>5uDHf-_zS5Ihc)Mr;ZAj0~;tj|61-Oc4 +%;Z^6^y09qK5aQ&%)-;`?!bR&c?j2M+I-*XUhi&M($c_aDG_Prd;Gw?i8sznbxlhFKyBIiQ4E*w-o4I +|IjX3*Q1xGC1N=YL!b$hPc0>}9CF&1PG}n)`WRKDzOYM`HU&48a#~)HiZ8i +0rg>%~xXdZjGrDx&B&4L-8D*$bFHlPZ1QY-O00;n+tx-`TfcwOi0000U0RR9b0001RX>c!Jc4cm4Z*nhabZu-kY-wUIW@&76WpZ;bVqt +S-E^v8ejzJ2;Fbo9meua(+gg&6qYri2JM-D2ERV=yhuR}~RbZ^?#jueX=fEcUQLWsb}TZ(~SRZ=y=Yh +GaE4=YPvpk@xT5hgY&KB;pqB(DljPR*HQeNnLa?x1O-*yx@6aWAK2mq64?5a&s?fZfa#?bYE>{bYWj(Xkl`5WpplZd8Jmta+@#^z4H|sIvK-^U@1NHw6Q)v@sJJdbqVcyl38aR;kOHG9(2%E7rd3_VFl8VOPa#(>qKkS_0 +Y}h`J8oY4an7ribDlHI!0j2T2arsoaV&PMHz6AP&6Dw9Mu^u9+wME5m<9ElHS*iOzy_5*)GSV}Hyc_?rC~^IP_>|lO@xQPN%AA{ia(&L81!j +!LSo3^a+9B7B>nKAkBY3REQxq$S<^)78qgUn(!k{13DIk`*y73n#a50Aa5{TGFsa)Tp}G%t*6X)AN+8yh2B-GT{NoI1mPck&9KP7x3|HGp0JZo +RdLU}IqTy?#7d?P-{KuQ*FtKj8pGzU0-7H7#v1fk3&<1p(#*hlXV{r^SUPjZVLB$XN#wkr*4Lu~w$rT +>&`z$S0=~4RYbxZ2^L}|=k7OZ}A<@Im$DPe~){KqzChSKp7TXiQ@4?0&AtCnO9KQH000080F$jzQIgSQplkyG06Pu<03-ka0B~t=FJE?LZe(wAFKBdaY&C3YV +lQTCY;$TyfLbdO=#keM2n(5zsR1sx&D +oqbKjt}TE)3E>+~0pP2DK%Bt{me2J_=e%{y)Wxf+D1_aU2@VvpE=5=>+GX@nKx8$ +BI74=0xwg0bkBNm0-9#pLbEg`3v8Q2hE$X+LH?)#{{J_F}w;#@ +yg(9J`#EvS=UWH9lN9(=rED5%H2f)3BckZaLfcsVkX17cACGe=r-nMm311zYHfpz>%724e@Lc>t?T7z!1hr$$VL?-)#Hc%clTT8;G%vDO%eNxO*7hQwEB@$hC} +1lvPwSh(A5cpJ1QY-O00;n+tx-`Ib($*W1^@tDDF6U00001RX>c!Jc4cm4Z*nhabZu-kY-wUIW@&76W +pZ;bZ*X*JZ*F01bYW+6E^vA6Sxb-GHW0q=uV9^n)_~w5Ns~j66exn^*h7;;fHW{@kzNatM3jXW03&=oiG=H@0VxH0TwUI5iCzFWBa`I{RC$80wHOP1(so?x=IM;^#X1m1DNu>-_;E5FlZOm(FyeBF-diq1Gopo>LA4GktK<*cTFjY$-ksU*x3UrX> +kOY}-$J80ns;pW$#QK!^SfE!qCj?AGZEbK**B(ikEl7&2qaT(mJNuO2AMZJDqeyhsizX^GN1P+Zq3(s +oGg6lKU88+_NYX%5}`aK#Z)28AOaor!MS~NpiC*o7YfibN6WT$BRQN`f^Hgjf+xDsghp{35gf_JmPOK +)@EQA~V)!1Um!+(1Vi*a816j%UY$cg0b8Dp_b`bXKTpRel$*a47S6&%_9ufIGn{eRFYRNj|QEOf`Pm5sCmo +H!5um{N?Ju8}u#IDf^BB7?NN|AFbi#^7D1`jYx!#)(tpR9w9 +hmA5Y19Ar2ZMXs3!8%%7Z!rv-V^KBe`;P$JW7s*eg0$cliX2lY^__7S0j&Y#J$i*fcmQPuPnvXzunRr +W0TBq52v#VGhUIVy3SlawXIC7F*{BVys$i=IpscUtYXkqBx&T|0_Gz7B +Qpwt0~fl53XryO5m=zCOrnSHQ;&xVASH!8ru~ba0Q&h?7AHX0jN54LBnl4{1H(pGK934c5A3S#8w{zDbNJmj)K%pkRk^zQq1RetzbYL^50%1VKyWQ1tb8@QX|ZF+k!bQZJ|tE1@HIij5`tFZN{NIB{vO;ev_la_FqAT?LlPuZ +(wuHk@noPpA6%fkk0JCEtCMq)-+39W@Ns())c4n`>Tg|HpVoD5T9;Y#({+9Wmw4Ry#HUkwu)02VnNM~ +oa?~EI?v}}vyxO+|EAr7sXi57CV^IA%IeTM4f5%YESmI%&(zr-emL{s)ngg+0*?18`-fR>dtxPjuxS~ +9zQaEK;Gk5hoQ!_7fpH!(Oo$eohfw;DVMrQSaY*eFqd_oF$Y_vd831qsdqaQSaN>w3ZfgI*!CQcGA@Lc#y}aUZJrgd` +f@BBLr<;>m3{wbrz{X)XY)?y0=w$GP_RRThiMc{v!zBLY&T?Psk3kS3grjy?BH`ZeFaRe0m*ZEN_~LV_D7V~9-v$FL6Y{^3>`` +9AHsX>A-X3YP2mOJbOZ0{hsvkMr*uz#oWc=3PDR*ry1t<6OS=9>*H?6XJ%y*k35}yGVg-KzA5`fSQ9BV_nFH_1HAit=X@urLC_1?xj%q?&6kG9{Ny6Ek%^ca^ZtT +K)VW}L@$SB}~he$o8s5TJ=Q1)1JPcPV;&)uGR-I&c`ss<)3<|2aj*FKqg}mF@8rxfEipr=KFXOly%Ic +S$o~IKfQa0|%T2cEmqPYo7j>q8=#z;S5;oYl{8QsFgaF>UWW-<2SA=`HSz=Yc$ebL+Q{*8fcZ&J+{%i +P@lTrD>>C}3%iMt9dXbzJt2-yeYrT-FE2?Ye~Qy89qG1?P-%Dt4tP!1q=}dI4=UGY4qCBZ$P6a>TG~+ +ob6H;g>h)BqmHI7`E>86FJ@!wwdvwA^!u5YJ{YPMG(eWgOqjhO}6V2HZ681T*AsmI0ZXUI4^!SfhcYa +PaE-e~cFFyjPI+^BQP)h>@6aWAK2mq64?5a&s?pVQy)3X?kUHE^v9RJ^gnZw~@c=uh`OYNm?T1q-pP+Y}wCols502+Rt*6_9TS{cR>=-e +i^`$qEGj~-wgH(yO<^9T=`OYcQ613gZTuo=x8+hp68N>O!FvM$t(#rI*I=ri)HZj{OkGA(Iw}>#|@V} +c)rm(S7)cEYoRyAavo;MX^q@G%<{e7Wa+6;s^IGM+i(B$;^QJ%W%5X*@Hb&vWNE;bS)l`=RS;FZ1N2$ +&@w=F_a6|T#WS>PGv(u$Pfkuyn3ZQD1Bs`6Pc%}jdfIMa)2auiz?*LWtAm%zKRB)SSyFjFY-td3{DFz +9;g{p?wBe4pq{-Na}RfW(DdPCxaeOAaIv?#(X;)_^lE?KOOj;cD6*H1epQ<1J!+4@})&lS7F{}o!qs_uiUkmVd3ET4`_^jzfg#TIyx$+;4D^ +Ca8yrcNPan4Cq4Rqu?iGRg%+Q=M3zU5AU+EeNZlwnt}FZ=xeHht1$iq1O>>PbJZQd0N7JL +DdSd4IFzFBNB>27s{8FMqC16Xo +r~F$_`JX-IfAN%i#wR?*iAT~!nirml5UEGyZux%AJ#urq^k{#~mOlNDIdtP|#={VgNF~f;H6cDId>CH +gPl^~^vCoXB%wuCxey4q=+1Cj~_g(?Wa{T~*l0CqBc$&z4mL-?j+8+viI$Z3jtytnAQ}NJ0R0Y9g=wY +l%AoBE}WQ9-UAL0ZIz$29a@Qq1JaqH_zLqzK_I;!vlh{`8yCjR%JEVF3uLGf@_gM#_vYAq5UDd-VBC> +vinI6DuDXMVMZ1dm-SJd(O)p8mIxS)qyvOycu!~7swss=N +W8aa$b{%*)3HAq4Zt-jPK5ns`Y)gma`R@DeR22#}FUNH5Vt%j7!!J1*|15uScOdcH~hld$6XdW8`p*{Mk2Sel#5(41OUeiZ!e!%uI57N>0b? +_e`edh5qEEDU+BY3MB6;8p=ysuZN@Zb8Qo*3ek23833-p|dbc@|aup*(zIQVWFIYJK?~VEWE`G)5>(3 +l9;8T)B189c5HnEh6FL^QVZ_(kxARFb)a-(ZBYb<;6O33YvV9ynQ4fqF#Zx&I#d;gV5bihp;S>t8y5m +n#?!UKAQS`&maSGUm;{o76mEEU%bi*3tZLV=m?>uxzyT6;QQQZhTRV$83fO>w&7n&xcqLqsk3=`ZvWg +|y2~4a5?bvt=wu&8QAUJ1huEb}jQ!KN6WDDkcUQ;}Y_9;OfPe +Z-W9c1omYbU6vVeZ^^;;9-YnLGY9O1IqGih|VTY4a?GXCoXN^nL`@FLa_5h +BVe~(fkLp-OcMAz0z?RJ!tMwV+Dz?CX9Bju(Q=6JHkm_MBAjV63jn#RR4F0YX-0`onyC$QCppb_(w$} +GmkR?cQaHK=F{8HQ<{C^)dY%c~Rw7JSo+(1(@=tCPlE)cyI0l|MapM+@F0=09a$N$toTag2=cFsdlIN +W188Ov$i91`>@e>#PsSwgNnUZfE5E_*M-H{-R6pZj*vWVSaMTMEGz~zdvOB)CcflN#x)jgpyq{6}EJ5 +$tMPN{)K0(p}&ZK}xg&dPlS2j48xh&wX}G_2kDLvx5WnHy|$L-!h(vGbO@X7{b-(xc!fNHPy(B_?U0cu0;u!~v!M_9Dz* +sR$8@hQjB%&}lJ(+{xh?L{B*xXBjXl`(Qj+Ty;a1QFdX)i3A6iRLCx{U`NI?WCTTrKFB-05#eo0Xk<) +^8ZPJ!r)gM9hVfWnB;9rS2aE0~`vqp40%v;TIws&WDLlUePD)y7&4+A1W#>t@maFM8-@0C{G)F{wu6W +KQ(=M}>mRyG$M`US}&;fRA0u1=JI(%RSDKv`O3@qWdD7K||6kPuN*I~ngN2q4B%tB!SAr@i$(Z*}BC9 +F}tftXhd$HM{pmLi-{c?eS>cLlN``0s>{HH9AtlZeMO-$B|fTvc8!Gso>M`Pz+Dmd=cZU}kR5?B#CdWf)DhPtkuR!td3 +aFm&ztym)50M-;ycC0KYb$Fm`z#+^A?5HUl@)nt!gF9SbIn=Meb|Bw45M1Y;QF+h0T21~(Dzuw-LkvR +5)j;;1N%48cqV3Efx-5b}(3)FHWY-ag6olm)*HAdCevn(g!xYIO9ttjV(o;am2a&jND!(pw9A<=MRwa +o`epNz7?Pb~DNDh`|8nvw3zlnjVidC*C3AlO}R24$y< +H7G!MBI=eH0zzjIgY;cW*I`-Zw02YoD7>MYoLZ&7Wv*US#R-1l5)1fe0AZLvSV{(#YL64~2CQ4b+>ME +$y#7wlSQ>8JY0{2HXlGBpE}+tSM{f(qUzwu}2dzYlF*wWBM?(YP8PM!9qd?<3%hBRHgE5N+PA_1s6hY +rs@ZEQAG>IQHEk#UB;BZRdbm_EuHxOdpIjp{;4_CLT0Sk38bhyL9lA+87wr0O5S$RM!56Nc+_lfD8hg +@*Myx<^0Cp@4K$b8b7=)E&3dq@61XIb(pjoy_>tJ%ATlx6`ExDaYlNI`uMRR>$dIySMUNbL~Po6ker3 +H18&@RG#PRvWp+MeiMS7RbL;=z8;vTvglkqT#GL9-tOb{{VLnCup;rPAtPhDq`1-&TR;$_RhULILDD@RW|%WHZ9@|!p+6zFtb>!|JpfWQ^R{F$hzRyRBS+>6YCbbN5c-YpZ}N;{*a!5fm2Lvlu7O +93>?_8Tr4F?no?lbLz{ywopUXrQj7Mu1u-vU_E{ta^jNlJ>1q{_)o^o?VpblQAd3JNGd$MjfE`ra&?F +1Yb`4q5Mu-)>Jf%>-bV|ypt==Lbs};HiP_8{xuRP{kW|yzxjOpeDzksry>*WF)WR?j!0J8*OL+aGuhE +*wl1=@7pVvfQys~0b8D8@EjM9hp=d5UFz`V@Z3T3wgT5|kgyMdWgS@ug62vr~{!i@>0s&`0(* +lp)!R(<5vfu%))A7*!fd6AlE!s0g+aMPu3dc^gWw!bp&H0!=LB;sKvJ1rS7ZdA3Lt|Pmph(rzBqB4M~ +>bAMfM96#7TW#}HZ@Ufn$64voYmkZ1P8^lH<@+6;P$3nrfM~g@&ps8b5%d^TuYJkvm%`GjIBK6Qy)}y +2yvc0WjI8?PwN;glnquz4n6MY|>80>3p4TX9~sqAgmEg5Sy7>BF +7HO3Yut2l!&)&1Ddzp;z`K*5j{-KWJ +l<#M5H4*^~;{erNY`mgI@Hooi>rdN&DPneKyRja<)o@Zo2a}s|D7E)yb&~HA!g~-1cgd52WKM!`L01)XZfa`n>20P(mYOiGZ#C)4BL6TOY#N}z*gHU-bw`S8P^Ib +8iAB*pEiVP)>vhwT83J~lUg;;Y}L?h&ZzYaM!6=xz;uLUpum{qG;bY23HUANJ;++Dx&Rn`-i0g^i&1y +_6kMU1V*+t%deyXQ +8+FRo^6_W9N9zn{+jbAEGt+I^iqoVIiy;PFaGf4B@_F3j~8JOyV04*3COoxy+4ssozm@N5wRbYLO;5A +%+{d^?@K^b-~Y_x(x-dw58jkAhc9frB%5xZs+gxi$o3z+3ZV{=|#(l@|lV>BNTw;`j5#`|sXfUZ8-Q4 +YHuT7G;8rn3vDfGt42<5chF;YU0>zaKelNT$ob|feG5IO;5a)2HT7v +omngdw7OVK6pvQ~$>qnLL_z<~lJh>`K%JJ9a~E`=UN_`Fr@@~3b^LNp0T0yey0LQ_e4u{gN6sC{A&PA +SdQL*A+TG=o^WHl(&Ggd1`2c*VgBstdqV5UQs?%&u3QYm_iVOAmaJOCgZMuGac^O!N6E)Bt9b +eXEE%coZoACbM+Fe&mnhw!a{q7M;j-Q|o_1Gv^JCkKe&<1pPebYbQ|EPv|WNVqzjP2mdrapc|2lMfxX +>;Chw5x)od~KKxHf+nWfuLM}pUujDJ8WnXS)jrVNMDd5uxctu$XlsIevvLKKjVA_C|cjl>2Xvk7S +Lx(b`#3i05>+_T{1fAwveYP7940fjrtO;xZzmE5lQA4WT8~#)Q!Zj&P%SnJfZaQyWp7Cwdw&w4;ysPO +78lMw4dG$ebh0a%6E|9L|EP>Gl!O(`P+?{#j32)Z3KUNysW7#EJ=M7)M2LyrH +}D8h2xXbkD{N00k*n}RtTtm_2$jnUoO61T)esX>EiDnE>AEXty(J`1=hrS9kI40`MvtDK74rp<9Gk~a +B(>gE_*R-)f^fCb3I{XIx+V;Vi$N$9nA~qe9l9$67ag*H!XvwTfBS!_T9z%4?kX9TIAUX|8?=NU*5j| +9?6GZYP(-;x6f_5k!GNE@$;)Uiyto+V7@K#fKzE&(}!Oa81r7*ZDo;X4ID`O@b>lFH<#Ez-Bj8CynL; +IL31zS0w-oNeqJ8vd=W(1B4rTxFO)7;tI0HYep(fcr%mPH{6+A`SU(%AgoSmz!7iDx$>*cr*p`*JVA+ +fC77Xw7+33Y<$b4@Db1x{$_E%p&efs>A^~re7h7cQ#>B+T8SV~a^ZD=GJI2Gd6av6Tq7L?l?D%foVq` +n2X3{#<80f@xPxGNp+o9b5adHHfR!ne^)gHmfxi3QU(8C~M0)Caa6odlzcG^(GHT<`I@r>(e8*S3ytR +_ir_S&Z#s8Bh-uh?%q-eT!WhW*C +I>xro{2RE%IQ!50)-=pBY35ZaKmgY;szSXRMrKeex@sp8btDo6WctT8R#N#gUS531w4szSayhNEa$U` +HsEbUI{P0-Fcn9?@^5h3HyuvULmedeIRs@;9{H!rZdHfrkf=?1zJ{B+wlOGcANWr=Rm-3h0@h6wR#MBbi8AG1^E%oI}$P{n +!em*1$g;=R$v|lk)EvFqanJyC)qe+)?T~&GWZwFSn#&I71@090HaRPt@X0(vJcagN!6k(Fsv|B`6S6C +e}X}NicB!=>;z_YNRmq|PEtMEs9dsD#d0#b`gnc!^y%#S?whCAcmJ`12ln*(THPFj-F?8)Tm7q>E*0t +u|K3cebCfM`Uc|7fVOW<(TN71IaZ7Gn;vHA#eO@&`8C`=LUPb6jMlLm4?p?t(qcRb1eR1==ewcJRaog +i}c!xvqGpf@CUR`ylb@UTtF&YDln+^_GLu>(qA^3M*#zAyXCFBi6~-CTKh*nbuv`_#zqxjqIT`%I!j|x|WqD!s@uyd +^rYjzE)4JC-CR$*GHi9SHDhgj$d9+AFlR6Fb=*1n>G_p9M%cwx?JgJhg5`h@Q7E#E2BBc49+A-n;iez +Fk=4XO9pl5SB~=_K{r%z*UHP`x(@4_^H=5zlLLZLwcf?QaZ=w$MMyV>>betdPUu6H-bSWVpI|QYJj8V$k(Uq!Dl)IDAL4n}#d<5cWxP(N +=l(cio)w`I6tbzPI7V9R*H9wLXr$8_Fx<2@6aWAK2mq64?5a&s?tXlZn1b8ul}WiD`em6T0y+b|4<@A? +&lilR2+8QXP04@2PXS}Z*b$O1#L=~bO98Is(O{rXY1+(u42U^*C)NIrZ?iRrBAp{~2pj~441WIq_|K^ +&b?qsMyQ7tqQF>7>yGj9NCP#ac;^Rw&0jNyU$)h*{$72nevqR@O4kokVaE5D?y%u-x#m+8Ym{&fzDh+0SrA*!zw^%w +XmQTBMkz5kbntjb^-c`Hrv?WPQo~@e0FO^zSQG^a-GXbZBqPSUh%vFI$Qz3e?E@}FlT_-?AJh(gw&z6 +S1@MK(53m6xozK!%~ITkPoO!Y$Nw=1_G}c34BqL>WH59CpTnH@{H_=_lou?@_|?&qJV0aeE$i{E# +@vF8a^~?MS%46~8$AOnjCV8kD_gTjcDy7Cm8ute~KLvso)$NtK&x_{0)3s#9H+ZYNbC{}S{M+=sVu+W +1$WfO@SveOq&)SX;O{emKu|0k`Np7@a!O=o!L$Go_Q-Thos8=%${8XNZ=p)Auoa$mV|E2s^U&q&FHlPZ1QY-O00;n+tx-{) +IdNKN0RRA}0ssIl0001RX>c!Jc4cm4Z*nhabZu-kY-wUIbaG{7VPs)&bY*gLFJE72ZfSI1UoLQYZBfl +?0x=N2=P9P?!4+&g^&;w_AXsRj2cd^jLUwo5V9caRR`l(gY}8utw3+$-W@k9(D~|}ORW70rU@*doI%v +oq&_`H%+5=gHm}w#Uu8EybC4sUOx9AyL9M#?#oG>Ot61MnM8)|lw3Aj_-l4T5_7&+~PJfLmKgWfwz0o +%AY&qmkxIN}0|oPM40tlXdtTiu(t)W8e|)6AbwYidvPrGA)>``2{bw+ES+edn-1hyUc|>izAb?^c;MyYU=eG7`TCMgOVNfIXH|K9$+sjW57odKQ$QlxNRUiAb`%svB9R43mg+ +&iX}4x$g3iHtv=|W$&R42I$us2omQ+&V8ugRq(L1SlTsOz>}K%AQ-gmq7X4|G=Y;? +CG9JJqSo%>6j}5vAuRXZ%o_rBG6#_#Ou#{(ip`1(iuXu6cL-q?$O9KQH000080F$jzQBsT%DO3Ug0J8 +=F04o3h0B~t=FJE?LZe(wAFKBdaY&C3YVlQ-ZWo2PxVQ_S1a&s?dWo~n5X)bVi%~aoO+b|G*_g`^n1Z +?oa`WgtMBp&o3>9z#c5{yx8InioMMv}9IvHyKK*-q^^Eq$E8Skis>>$}tCN|ul$d2MRNk_32JNo9aOX +<5{UCCxd6j32q?QiMWJwcRZ57u(0Lk>`0C%fZN`QTKn*;+d&n=7C*=kcAXShCzc-j9H-FHBfiqIoyn@Jv5p#FbC#D%^5X +n?G*9iEX9kowarayMls8j&@=R4^EXm~%sY3&5~IB?F84R=w}CnAVt2|VdV6L9xagvB0tY=+%tD=fNAN +`AvykVF-0JycaiEH(mVZq`Ae)M&talZ>nCv2$(yC%2^IO{)HI&4`8O91UZ*fD-6K6%%R)vu1PsxRks2 +~J?ErqS^#~b{Dk-sM6>%ngfRc1@~7`LV5L_s{yWhGCg6|N!oI0~) +=lP`y=r%$Hvm!WX^U{Z?eBco>V7W{1Yj2U-+hXKYug+KkTvJC5!}R<$|Egm7K~!(E$kY^w^*ccP{^r$ +ilz30i`<&>`Rxm9W5i^vQ@6aWAK2mq6p*=y}dvE14VY$`%OVg?`KF>>|ofq1>NLu~soPRVHJ~t#HQZdFVtihXtdXu +~ewMU!5PUuRZ9Z5LnOQ963?|*($a*sfb@u>YN44#F<3XBGC5eEzyHr4|ygx!vY1^69K-nZ1S!XTvXFd9*vl87wf>mc*H*zyecL(}@#@P9hT5OlU2 +X*j%cZKrPtM#F=BrHZk4_?O(^ZG_EtDINpN^}Cdc39mHDe$1Oi=HyJrXH93z|Gne*sWS0|XQR000O8ldVxvW!q~^Qw0D32o3-MEdT%jaA +|NaUv_0~WN&gWXmo9CHEd~OFLZKcWny({Y-D9}b1z?CX>MtBUtcb8d7W0edkvU6aw1r|>b9}n1}EaA~ +L^edJS9h5H9^}!%xLBJz=Wgu3>BCN9Ps~oQB*T}hrQ6aQUkIHM;1i=-0m=MAW-n7J){E440;l|bSO9l +Y9DKLlo3Ijsjga|!>SRrT|(eG3tgg2Y53YZV73i+KYakF8txiYbG&Ay_h$`N4cS%69%xfgvKgWg*e8; +`=CPSKuHY>2)oqVvKmAkuN8laRmVE&a`A0r&V28)^{cM#inxBPbIbY_YEbONLVcly!8J7gCT~;rJW%h +Mv+CybPqzRH6!xe>U19Pxfo>|8S&k`v++U=7k~=mBja+9)6!5ZZ@!eWNJr(BA^8os;Ik`IOrIdl;~$t +q%?R0!^6?s#Q@)SY)ViudcAETvM>nif`B>|-mo_4{7adjD22ttduvx{!v%!=(we`5j&>qi5i +F0XiXtF11y_GpTJ<7!<&Rc_yok3R3q^F^!zt<1F?Ks*%K4_RZO2?3O{G-ytc`206kz*Y`orbSwf|;jS +ez_AL7*ho5$`u_qlWCgmF|8I9Exgdv8s(XvXy>}&=!X?p&i#;=V2i$}}c5>MjZOR$sIsnSISswnUf1A +7NERJNod6L$r)Gh_~o!%LvFWy8Ab;z(yuR0KwAM;p~1Tr#Bd;%!s`v!}M!Bu?ruC0T~+YLb$&Y&M%^n +do)B-Zi|t>osqR^Hk+FI73QYr|(PJ^rH?W`6VM1L}qPtWGf3TMxL*ms7>e)O5CZJZa$6o$7svsg) +@b^DimQfhc7zf)i=g@oEb)`?D;`D*_TuKpS+_M_lCaK0zj@lE0%e4V|n!CIQRe1XbfKdi`{v6kd7wlqx2=vuec4LH!iIr>%jq=CIo# +!pr-ziB+*hlXyg!@+0_-8y!y=6cf1Wih(LM4t=3jMDo`k1Smq2@msq{&Y{ya8&8jZ61r`Psdoe?1sbhb^z;S4n33lmlHZWEE4t +3wZGic~<1SAS+~5#NjoZZtff!8QUFfxeeQ-?UOr3rgW+C!ebJ!?oI_%#%)ZeKKea`=6k +#_o78eclnPsTL9RKIXolKlB`CEuWd-EtqkaAaXpkyo1D_CD}6c@6aWAK2mq68*6VHx$(Py1*;%9sg*bJ9r}n+U2&I7S_4fGBu0CH&o$^3CGo +OaDobt@-8KKcGedHh9^g~erajac(UYs|_%SLV3?d`HPZ6j`PncQquV;H~Fs%nk6wcn>~A>T_aRX +t^GElaf!x0N)a;gvpHB8aWr7Ps$3y--b|^?J_j0`+t<9zy-Au +d9laDD>r0z3es%qq*oc75>X{!uXB-={5mSFv|mge?$46H1zl{qjD) +YC?ABLEIzI_qA|c(bDAGcrcQ?KcKAsZw&XLTT27w2pRq^!Ryj;%2`dsVr#eoOUFDwqU4WnrcZq%eJAf +2!V}NLpFqVOK%sdY&ZV(B*x(2IGc=dyysOb@+kOrTS<@=8bA0xdaB9XOSQ398so9B257zmj|(1St*Qn +3FXH$7TZeheCAd4}0=!Qn!BhcWwmg`X80I&h1Ieys}@-0RTY5pu8j +dA*aH6qD6r;@toBR+yv7O$V*z-)h(JRAl5o%2^-Y$*jnwF%c`Z~6tXF&mGG227Ub<#?5D5eHdd)_EeyG_){Vmbm8PGJ|*~1jz-wwh_fJ{PxHsExI533-pyaH$0tq`BN|ty+u4v!+o^Pp#d41s3jzU2wyv?(z2m&RWdTqO|W9Hn28t20z|=25|5O1F#5;%(5kq0F`C2|YFy+? +6yS#BVaNBW+&mSr#%y{{r1tKjaXmUaJ<)fc9>LSu1o}P~8CR4N|@mH5Q70={8~{wC4r +{CmBE-c6zCW;el2sX;hj+bZ1&t;6^D!PNEX2Aq6H5ECBav2a?1y-Q1Vn0?yh6$`~a-NI +amR@bV_OPkOse6FIdxqhnPd2J4JWt^Ap4jMKEYTA&>OxcngF=c2wzu*;t{?5GdxP7j0Ji5;pmp$EBXdT_+*61@Y6Z-!F+wLm~0b( +IFc0A^AO6MhbNBnZ;mi*xBW&&yzDUy`$WZC6cS&Ff#fTb<(6U0bD_kj_yAIa-JP&$b?hI$dkP@Xq@m9 +W2bkA}++bXcgtgQwj!?=meHkWHY(na0Zi$_)FSRBdCmsVJ-N7FzA{m3ls?qg`eJM@C4l2sqyWOtXeN(7r_2}ZslP8ZpP#^0^eR&9A)D>|K5Iby>FlnP6WE=)*sREzZH6^3Yf-S2L#4K2P +Fq}<#srmE=qA7-c5W1#hYAyKUnGXxtA$DJ4xzX4e6Vum&7mKOGm&;=WY8Y~uptTl#E@P7+cq*i#;-R9D}0SRA|Y9VKk9iuz3J+Q7619# +S4uNCZ#ViJXQei4v@7UfF%gS1S*pZ5tmJZbjca~|4qEpI}0-5y_FU>LTKe5o5+=1Hvop?k1{;!QYkT{ +T34vCmM{pGJee4+(rcG@A#uC$U4txDz(A;*mavZ%`f&D;E&X`LLiFR!@?hr3YgeIoO&>c=+M*5a#Z{=p_b~j+`>P79v$H(YDmB)+FbPQi3uWk!DU_TQRWzJI5t3{rbJ&A +WyyPz_)!tYew#5kvc|uTFw%`?Z1e_A>58vL_qm#-pbNW+etVm6-`x~MBM|iDUU0B$-GS(Z^Kp_D&&A{ +D>8Fkj56R_jS!frjT?O5Rs32Qb%;|lEH)M#^(CKg+@9ZwRQIGzgk&gDS+ve^vRBb-QNE +=+uey`A_y7(vuXF*5sJ;?HOE$N0?+m)y>%3++7hKlI$}eAP8k|*a~JXUC +jMX^hAUH{1-V&&Q}bFWf1zg7TTzD^9y>EC+WlQ4r5ucOoe3x@LvDm-e8i9mG?(c7O(4KeauTkn5>yX{Yy`pc$^ +$Ewvq4iqxW;s~8*-dd0JNS&`lf7h!W}>;yzX;ARpK9cxGasDds_?@O>_Z*N_KyU2RK!!$Q+lN>$gI%r +_fiUNZ9IEZ=Ee7|FINZG@_m^Fw7AgTmjTi7L8@`fdCl8QA)9`u~wlMKyqg6crvXXj(d +hO9$Cpp&>rD&UCYZT*d0yBbT^sd)5*|F{TGyXFgBG>B>IUQ8g9U)MRHZ~1&KxoX52NYQm+ar_&ECl4C +(Yb^{{=M4&%5XrA^T2gh}2gzW;06$+Mj5bEk^OK@X=Y{wnN<)KY1@lX2SBSq-%(C8XT83F>^T8>RAK` +~dRAHc#y$dk31PEZFlNPDy8xqxw?=7_uCw=^>MXBpIhq`Vl<5m<~WSqJ(`om63UL4~m*_OKkn2@#9FE5jf8z#o}4LxZ*3{brK(Fz&#B|F7Z9Vms|BPPG +i-){l!rTF@VnZe@HSOEf$dHjur-gR&vz;B}n-9B=9@^XzWijnoP0*iV*x}?m3)fije5E;(lSzS~t01gEk82LJ%wA^-p=0001RX>c!Jc4cm4Z*nhabZu-kY-wUIbaG{7Vs&Y3WMy)5FJy0RE^ +v9x8eMPOHt^lQf>jViUKOFs%Ya}hkS6I?Y)OjN9X6zf!ANw%RhB%FO5$NZen*OwNQ#u5yles**W`Wi? +s#AFvaVKWu~;^|smWr2=xSZn9N}A56%8kg_IrYI`al`2$^VW +$v6PB6yIi=~Ej|+bttQJ!i;-&BTg-@B>eez~$8pJ--sl!IM2S~~t#L*=kVV63(e1CQyeY_gobjsOs1MLqPL} +A7@bhZ*uAxOv>KOhDdML<>lpKq5PFr=tIyymv-HF`H3d|Tf<-GotG9KF+Q3S*z*ew>I48B;zj1Jnvy1KO$+P-r$m54dQE!-Oso_ +@OjJM&cHZH=rE{P6~u6BVc~ssgLB+(=13*FfzmyGJ_JVb5xHdsn4sdk>9eKU`|f;*`zE}FP&5#1gOc+ +0Z2esH-g|Cu*8z9u!5AMMu7d04IJeQy|Xb&!ns1`Y>{1i%45EmrotXN$(_eZ{v+>D=NPqIdl2^!IVt` +xhX7H=PhiFw5kz&k645dh3onT>9dhaiPfOUl8r-FA!KsVIu(__QHL3X~F7WC$#}fA#-D4&WX!%`&q7L +!Prw`E-;W8g6%6cq~naHTBK}#iZ{1)OdDf6>?P@OiptvM;Z(8n6r?coGi@bIZgP~vGlJNLR|po1BC;) +-pKIZo8_JF={5aw5gGCEun|O9EGWc +{MapSY*=#9kyR;kCiQ%YO<;x$QD-t?V2nVJ;4;6*mm2ZAd_3Uqs+o#T$$TVNvBp>2LvaNALY6u{Ud-8 +TMoFF5?LGp!v0X|OzgToxui8~neKi{Nobg&J6XNH<3W-PvQB0Y?PhLk1yWU47>p&tu6i?Nc0830XeG$ +V<^%8O_lBwjk2Py6xCL!4_N4S7vZB9pZZdEL;LV#k;DSSO=|*9A@%+``f-Wh^MJ50R$C|=x6dgzKSAP +F~KD4HO{2^kDhawrovHZ%k%GKvqyrX$y6HUfbN#JSAUN7qSp@IU&qjH$Vb_dvdgqct+zfNq|blf&8z{ +oN~gx%jPDlFl9bM+)wksXNfrtm0-hv8y;^VJiFY^`@YZI&#WHH+j;O4I}yC1Fos~ZmBI-6~UPx?bDkSH`hIE +Dtg}QOS_egr>dUNh|h=hZh-x`kJJ_2t%$tOX-G0IZwaf@UA +`9!Re^fNaAca+-j8B{GtOl&@M*P{OEI90Yj`Kv1ZT&Sv6_?Jd^AC7nE;)TIq)k8b=sm-khuDxFvtQIze930dN%knX?bs+O{3>O@mIy=Z0fbo2h3I!Z+)26 +cN|lH1~-Ecu*JTCH3?$*Oy|nA%Hq*3xN9c8ABZ#&@Hac{_P+@Arz-poQP573zrY*yljz;hzbFr-J^iW +D2#O>Ie>opR63vsgSfK#|-=$a627@aozZv4$#s;mpjtfwPm>P!iaqlJK)2;NUE@Z)jIIdy9Y9kGT-IC +?4h4e&we>ZxG1W}w%aUa5sg_}=mQ~Cfm!cKmtZ8sfD&EWExnxe9xNo0g}_*dP{a-bmFXbWK`!AWR;L4%`SeQEv~N5FJwJSdrwFQ0&J<*yf|R4en#en2p7I#9Cf8)`vgNu-Ye)_cDw&KE)TUbnRk +4xK~?hYn@Z1p9^T}BPE@ZXkdZCx2TwD`G&LRDyKbG9xwtcLh8e~jM$KgIJ!uVpetq`k^5SZ?nEmnbLh +5g5UlSjW80@6F7GBpF(4BSVyGq|-?=dP9AE77;dq`iZxa_uI)(_f;qA2=jpZ)j>^dU5X_8E%yStS3wg +-x`-L+=wGpab-sGDBi1&0EU6q$x5)b_9M4LXL^xVHailb>rkt{^oZzgYBLUm(h#pzyEal(=!Z0LU9M7&VcjF`Vcz7sW>+o>YSU~nS*}gtUjxGRh6XI(m{=JC5&s#vISSPL*jiJ56XJfJwNO&sR!eNl +OsBoI@g(mb-WJ#Z(TlLYN?>fd9pWufzVo2wb*ybPpTO7E(hBtr#jGr~-+}bAeY +*E7?HF2D-W8iuF{f+Ok7t_7sv0WDI5?j*pWc-Zz?JveiO8J?y*J0LJEPa=XllO_clvS#c7l$qbs=6mI +|sqK$yzrB^SvH$3MC1w%cP!ZxS)DtXiBv?(bqCc|Ey>k*AHq}zXcX%mczKo9-2YDk2Buj0<8!J7vz=b +qYzfVqIflFe=>0?zky+WKdy+apH)mJ{{m1;0|XQR000O8ldVxvO|8&}QVIY7Br*U1DgXcgaA|NaUv_0 +~WN&gWXmo9CHEd~OFLZKcWny({Y-D9}b1!9da%E*MaCz+;+iu)8_INK)jCG`OI%6IAbuyku{(oZ`oVEb69WBxNK!!)Zz=oz0eb*5e)fndQIFbZNxsHFa#Of3(yF8kmyGHc?E?)_;tioS29Y&LvSoSE +zTZ^YwjftHWmU6RKV~zAS4l%wbxLf@JD$6+n0xz^DkliavscQvsp%#XhqoNT|>y*ZC+% +g2`>w>AtmFFt~a&(1v6pk<+dpJ^TidInatnJ5L^a4@EgQ-VK1tUxCJ}gXt8<|2AF2SJO*`U0y!-(r5Z +BirjBpG?@A1Qadna;FLRb8Atl8!5+;l~LoRNr(!}5w2aFRA0)p@#18)TZ1tRV}a70SyXryJ9FxudEco +hoqEIQA-TAAi^i(0KuKt@IKOq-~yW4`xOcm*Uux6Vgc!&%`Soj1YVFE?RjDzIF;~F>8h+JHcm +D4qZD)&7FnEMA0#InFE_0o6cR)pi>kYCgQiYI~xL3vFvai +PR2t9kuq6U(IWRuqXNb)7 +;D>I9{@fQ5gBVrT_66eYO$jQ2D_@VH806{a9(nIX0&&`?x6f>^U<>pe=>B>kPIH{4(_EkNLsgL!x;TC +k)c_=k7UbFBJs%c?=YlYNACxY$DFC=JP_bm6?Ofl?A08_@|sqzD>}7tsN5eyNNx%Lw4zzlN&KfBx_=_ +oDg>lS32;3?M5{-E+VPfE1c`k<#hwMr;>5krPXvn7wFg{lS>+mW6)2I%Jez9BLUU>=3 +rn)t5JYLGv;rPe7>1DRcCW#k)}94TxilFPVn|QSyDJ77f`zp*z;d66>Im4X{b#iGI#w5 +R=KN>&zsD@6UdCh&i1JO1H2R6z^dD%KKKBzMhZLGW>U1lQduEBom?2!)?owH_`g0P)VuLR3@7K7{gvF +0_W(};9}i3wZu6?qZaR5(n0eZ|1g@*55v9~Qeq@QdLoP@$pEaD(JBRL0a?Mzk8ic=Hr9MHBO$_eml<^ +%PSyK5`uQ49&z?-ZcK~_(RP{de5%KTORAM@XSeC&H6^gnVlh3!}xu?SES8-RF`$GGmL{=KR7a10PM@& +do6&xLx2@x^?><^KicLXRDNzT?^D93ml)^keiw$r8fpxeyhlpbBFfzSA8if4f1^b_=vsxr8RhEEa|W5 +H(2r+bK1AU@-J5Zx2z&>&X*y~+vt-0&8t@vahM!z!(V5bu9In|TLJC+|&#XM3G~OTypdd%f>$UAXFQ* +ZofPC7OZd^>GM8 +Q{DD~v|PNiRJVPf-756Segm8^&`bl+C-4k(EUJE2Lgi4q>#<^C^QI1ONw;Hfn#FYgZR;yjIM06d7iFj +8tf8$tWDSezH@1es+qH(_f6E$LoX8T+n-o(LVq(}s(0}~-^5!o2@c#W>;N^DJ;MJeS_3FbaC!_}kS4O6dkR0kMyTBY^I)dEn^mHHyI(5-0MFF3l@&BE}8+1C@{>m#f3$3@D_qPIi?pLe1qHcw`E+!ZHqkvdGg3Vn?AI +1cPoYOXxD87?KemN1MYmFTm0@ZJ|;Y{({z&a7Q_v^st=dwF)4^HfC8$UderXCCgza0#fj6fJKH663#{ +Hm|#_*Y-t5D9Dv`AOFi?$+1%u}_~tZ~x$es#7f$OQC_SJ4#Rd@XO=es4)bv(`4@ut>MvFJG^7rp~g&vP<~{1tZDJJkrvAdh3 +e3V5EU(?dMzZb-Aoyw{s=lg!5@FeZP_KubGkWV`XuR=2^#_edeSsdhFth&Z)z9rzf>Hc7uO@NE?*^!2@qo!)w6k`AM`m4Kf}a)tu<*%7q}iXh)SM0N?An?|H7bFiLt2bLpgDD$9d +@t*S-W%&4iT%R)~}Tfp4hFM*)dvQrHd%h`qQ}Udi7iBl{vzEIA;zp-yPzF>PpE +|YSQ6yG+oJoda>9By#yMU>M?GAA#3y{>i)%;`FaM)Dj>D43&%66}ZwKka#~5x_#67gm-ZKM_e?D38{q +bz3zoq?I{2>Fxo9{0gLgz0O=Cl6-P)h>@6aWAK2mq6D|S1=QO=>T@FM-7GsK33DQ0_&42GM9wY#Ql@L6{2;P-xlQXg^E5e)Ywyf%`xFhw +Nk^J)}k62wX_?ay$TJ0io4ezs*QL<(g{Nki8Ny8bToNSt8Jti?m0}jXC!HOU2X`=*@hMMq@WuHbk?*c%Zkx^vSjrmV+E-If^x1j=aVC{-2vD24{63 +JNVfnXYnIe3J)ud$IG;=u)<;R1>%S|efAJka)z$8Y34up2m4F@r3(({dT_&2dcTJ5%-qGzAgQo7T&=rT>%zX{D_xLmZz-Z?({eVt7G6ht+otD(z +E5HZMKc#2UetI74ht|#&GrN`#D)=1-MRJgQZMBx+c%B5y667R}Gug^e(R09s9h6Hx&aJH(PL{F!(*Z` +R5>%S^2NQ0eo1SvX9^$r_g +SJ@^KP@tfO8ix-RyR_hFhl?D_pg9flxBeyQ8=nixbVIZ8fpcr%ocvg(TN9dqBqJ#!1e6|$*(j*?yG%X ++|g$h}Vb=C@!4gCJ7$lp&{E%7F;6WmUZkZG=E+f@EsO>yNC;XrBF>RiUk{>OpE3e`m$2rSR|K)Q~q@5!@fvl+(JdI?w)@;hP(4J_tis?ZRTdr0dSF0TuO~pEz9IL;z!nAf<9!H-{^|9p1+>FR(5Ey+gD;tPFm|LM?Vd(U)k3(`8)d95kQ|mdqIbD0aP}6gm6|vNw$#QTlNTWoekgzTi-~wPS=o?$^AR +KxlgvcOa51=9)7CE8|1W_L1>?lpJr04-Rin55&v~Ess$znlXj71zUsec6cpJ7%~UES8^ith7Ch;oYa! +-L$37Sh0-4V;Obt0<#PS8QoQ7vkkxNn~PX +I2h8K_5O!9OW-q!FKa#H)zbW|b9(Df+>#epiN8b|3c-*%iE8mH*82I}pe-C?3h?+Xc<$BC{I6IW1VRp +;~oXsZtZ5jW}mcC3#jzBHSyS&eQgwKnD;(_K3Gh9BBQ!x+T^b%nGbVk{;Ld5D1{fC-iM?@AquC@7gvU +ZMyAJ*|Od-y!nX!V0S!-N1E7z@mXh)N!mwUS}7<9U~j_&H*AmY_{IG?1$GcdZQ{kBM-om{}TjCeqZXJSPKS~ygNVoK&G`Q0AZ-&G+bR^CyM?0?L=iT+DfTu*F-7l$|Hn;9%X?zW+igw5rP`@dy{bop +e-uIVTbUJM_0U$Br8F9+wuHRDtvf*kO;$*g)m-VX5LIklLgFQ{U?)wAZ`QEOf0=TwGZI~=SRh0C?TQq`3!k01Vb*rcbH<=9)l!Cx36j?ojbpwvWsfhxjBC-1bxBLj$W7H78#zIy +$IKIldiO7t{Tp8ACl{VQ`#`21h3{T5(Z!N3nIFqO6*KbShNjQJ&4Zaj$P~Mp%~HQZ +5vg2V(-1K_PoTh%~qnL*yPuRh0(9<_nrBcChVu{cW;$uAT!fl^2HkpE@H%7RiN|>76>mFI76O-g<{me +qknXU>NYAxkMv7*FFWg0J@cN7s)^ov-`SyD{8w!{6xs(R&PL?XZGUI8*y=ZuCVh-a$*P3?mF*PHd$#l +7vwJ82GbeQeb}*FS%RD;x{h0ruQdyXD^Wt{yB%zXes{#S_-L0oFHoWP1b9N72Pwrsc7Xq@t*<6*#5tuBWVhJ`vks|ehRYPlmf=mpP~(OxXsER*l_{&!99 +{D&kR<+<@&X`nC7ogvMLy$|*bIuZ_cCA)Rr_+D_OH8{YIy99eIx?4W~S~=*31D9n70=I#B7`Szv5s+q +^LV6LZRDR-za+TFFK6eE1C=Rv=n25&`N=hI|=j!!q201ocU}EQsod7vtq-Sed(FD)3LxkGziwCgb4PU +?+9zzc;c$dN8o+qKgHs_i<>6iB?*7m5Oy3Qch3z2FOeTW9P)Lz0R!>Yc`q1C7U-XB)QDm-lo6{+#{Q& +4U!m6N<~g;#R^M@%`v50Baw0-HZxw45Be_aR0Hm1Na&zjI-^T2w;|0+~}wT{x`-0prwFO6V5mNJ6<)m +R=HFZM|_17~Rs)w*mIb4dbE(-l(fxh4qjcP_|Ukmz6MGJ!QPS1a6=NcBhG#aeL>^I#CcHs(#faXv?s3 +CuOMUQENSLgQY`Z%%J +pdZwtuy&Fx!-@WNU!CQpNGv0MOW?o9YR>~kH(NJ+z*q*hwYLa$$E)7RnMqS>s!qAsWM8xZx0RIX)wHe +ph6o7tX02x=>6p(%s+*p~%7KoY|XLXez3w*AFP0KinLV*G%3xS2xKY=??GJgG4XLV_DrpI-k{GevB7 +WTz!oK79M6`PgqTLmYD+WV1FRh8~PGL;+rN%9%;gnqc^7`%NnY;oyCC6SO>Inyf_f@mZ(g7hL7 +6pNOMa84?mivJVTRWbmP8e>dcxNDfoD{7xJd&9PGxBmlPDNMK7?=iAIWT;K!3hs~aV2#fD3Y>(v;i_L +fXtbol8VMX`BzgyTDWgl^$IK4gbFJ9mXjjf~}pyb{~7U`vI}cDpii`0neYSZJyJpupYU-B +ivhyUYqRwD8>oxPJxCSucu#9~-o{c@tgt+hvlJ5X2AYwd@Tp0NZtVZV4!0j9-pO7ri{J`!9A +A)U_QQ!)M7Mp*;57%5PkT0^kb!~scGFl9@m9vIGqG8a!4pgTJ@&MZ8qKD};oUjIHk*M^|UO{=Bsjfeo +ob`Ru1U1jlS_0IMx9G%9!D%)`Lbv{1;G50|XQR000O8ldVxv+jeS&o(2 +E_R~7&OEC2uiaA|NaUv_0~WN&gWXmo9CHEd~OFLZKcWp`n0Yh`kCFJE72ZfSI1UoLQY%~;=$+cpe-_g +}%fIMnHqVAx}@6ezB@VGnDIHS0QDgFt61i5gk*Ecw!`=>I-a@^3rW-1f2ncS$7jBSn6s=!9YT5@IbSk +FC%O^cGT`6p|a*>KugSIkQ6T!0vNh?Dmj|?Uv_USvUxl7*q&s&iNE}T-CDrz?A`!pqPl6#0AvXhC`Mk +c+3;HJK+lVlHzZk2j1#D2v!>6oHNUT0U^VY$pg=wI}8**f<0xN9QAfjy1-S0v^o%JCV5KEb#?XKCp;f +S=!-k0EchHYmt9x=(s|otVY=dGD=9%HSU=n?N1}Vo=Byik|cn_8xxT)+g14c`H&v%8luaY3=w#Y +FKOqFrO6L{S+R;ceoH4nlt41#U0Q`l^_1?ut52G9|mBi0>a7nX1Q_bKM!UKsRu3WXA}PWVPT1JaZj^L +eF)k(&mN*5K{z_){I5df$PMI(;fQ50Ey9X>KAAf-dcE`TD0RRyUf>C_EaM^V)>pF;f&42KLxalm?ESHm=BAHj~9jc?4DU_zxA`u`H{PbE%J5juW>pwvC9= +7AXR~f?m{qwPlyflHV<+0Qk02_Y<9Vc6-3L71$b`qv~jmQmb*57>6O-H_P +D_8XPUd??$)x18wgBSyE90GUO7w+rJ$yK>9kwa^xQ3LidvSitL>_cy;m?7Bbl7<)N=rn*EU2^w*%s)= +ukJ72>cEKg}KGRKSKhGOxnlZ(18wXTYOz)Fx_vpja^jID9y?%&8?!{t4cah +2dvY8gZK;o5Dvc1*JFd`_ter!9+)mTyD)7Op#$MEj^0g$*=atnV`H&#k3NH$ww==Gd=rEh-Hq%(8GjY +0<~@a*VbIAVU_M1eXbX@s2N`=cKcOtKs~U7AhLxO}-8QABbburaMU0n;!7=KYQqT;0Kw=_uOXoc#BlB +CvcnXo44%EzPYZ-sjt<8g`2Qqe^X{H5aTL97d9&_O&kQ&zPj2Mi8rzsM{XKCy_bM>EO88{iE|0x4=MT +pFsy2e=e! +Ma-oV^f2oYFj_rVeP*wOEqvyCwY4OE<%*Q`{BwP!kzHB@-1Xn8H|6!T||KTea&Vl3pu5zMFM#I)sVpx +J^N7e2#OzP5mHF8TKY4hc?Hjq0~f^$tXi=r1506B_2Z^7x^>vsR4&Mr`LJr)SxxOIKf7V)5Pg9T=h`3 +?m%cjo-4Ebh;JXmGYl$|)FaYUFkEhDv2;%{gC0>$K6QH;Nu{UajHuX~ooa2B40SKiyVfbq9zDfj**ux +eFyJtoja5(gdY+uK^-9P7K6{`~KHTfF;!cYAmt;(8#P85~{_4&3>d&_~t-9AW@;2%&+0|XQR000O8ldVxvAuZZM7Y6_U +G#vl{C;$KeaA|NaUv_0~WN&gWXmo9CHEd~OFLZKcWp`n0Yh`kCFJfVHWiD`e)fwAv+cxxFU%{ylj#t; +%9`+(E0gA+JgSAf4xa+zguxW|5*~pS1QAx8R|Gsm0kx1R_qy>iQ#k`#RjfeCqOSfb`UlpRr*nCd-c9& +*?&}E*+gs1h!hDA(}>MuE?7q6-1AmQ3E>1tbn@nf^h~Rkk`TYckv&mm_Y4Ubrc26(fnIZg~& +pzYmM7R>JJ*sm7C9m1uINcC?nT<^TRnPoAClo>wz10{G)EDNl}SJ44U&!kFecsVs1mF2Ar)3PA@`ic5l_}cq&F-9uOZM(jtR{e1WyRg7aIzJ6~|;lZyBI27UF)#77MaMbZ|Wj`RZPh*)W +28BwgWHl9Qyzp5ZTlBesIrNP}bLLjGdx +@I-qfSgiIVK#v>2C1Lq0l8!ur!oJBO)4JkHc%+!n~zTN1LC`=m`D*76n237gQeznC+=r-tu-ynfEtbn +6(WNou%Y?shR0FHlH*rUVOWnnCYoejT&a7>Kv|%i>bO!kFJ6Q|XUQNQA^Ra7TZmNn29+sK)?lRq3K)l +cS)iCM3ZWQ_m=ZN)OYMN%Z5ZHW1RRm10z*OUX~~Cjm#-Z2I9N&|nU^Y${6FDLDa{RdrPBVe3P +w1RGO;fhJ0p)=YV`kk;8oe*p-+F_Yb3wn$NpeAG#cvRP*sv7>U3RSwUB84z00bMYZa*1<_hHpS==(IU +|)qcC>p)XikG!Ef+i8MrgjH_-x=G1ukcV$;lP3pU;tfUBF%zaMygJ&OY&e+zmvT|K3-BduXU?x^$c|a&&X>ycL^8rT*fk}+J`S +iE=Zo@23L(QN7WkmiXF5OR-1KoJ#4_mJQqg_cr2YX7z|ygtLp=h2x*{wD+cI-Lks`U7wJndLnCaDVoI}~)HG6pj9kZ3tuvbCMk|UYqmio^ +>=w$Z6D%3)P+|}I>gWRh@bKGrj*|jIdEiFi~Ul!3ak*FenWD6ssSXjRb0b#i$}l#^_7xS1>1T`Rney@ +w#8ltf!R{A +s2aWUid +I?OYM1m$sV3I4cSJdkX++s_3GEa?OLoWBw)y=1-CDRvM(#f@iEaadO;(Ht?Q<#i9c(GLzfzhEqeIo*Ce(oA9J{lbJ${LmCUBvqIwM7TgN!03jYxi_Q1MnryzO)Mm>jdk +dKPen26!*j5==7AiISslA%%iYHBZP(d@FlQ>aJuD4qiM6CXN02f+r=;r6fjSRsq&}GKxP3vw_^&@sjS +Y68AkO1LrDtjZaDZ7RK1Qoh#ZnnJa074&7zz0KC3Zo4bIC9g +XCB}AwNBxS@X`tK!aYO`XeeYV|!v +wT~)UwM)Ws%_y7Ou!ccSdDzEAdSDLc4K^26m8b&I(v+xbej%WEv`pyxq`uW*unaG|v))O;4Nd$sOEj1J#8gGGpzZ5+17vZXofciScLp!TP +~K;tt3Z*t0swgZde{~D!Xf`>CSnc~5Aw_AT6obOMv-=8iUfoFMLc4aDhPri`kiQu^|Z+bD@F(H*L+WYr{qq +79%fSpkgcvFu|AMpD5V~%~WTlF=xNl +vwQKDESW?MlE9Jh0~T!R~mliCQ`1v}|@I1p;iGmf}S8R%btl9n2);P#79I&#UGOr~JZWkKxmsNBmLiecO{Vx38Gtu3PM80-x*54`Zb7S +?5%8tr?m8#^oI{BO&6;vbct{R$6S}VJ@};lQWWMm6Pn*jnASzDAv@Y|CFr{arN{UEPv~7Rvj$di +Wkgy_u68n0P$|%DG7*{zD|;`)r~@=5uV~t8jur!{TB7T{AC=4DMOEw7AX)DM+Nd0b(hPri6EV-^c7D)*nyr$deZ-Xsn +~wT|XFpPlij$SIjqXZ~O>9xsX0XYh0BkK#_@*8>G^ZXc<%b3>D-Z8p(zzcIF2Ls0JwOVn-2@u-jbr5@ +*3A?5}3`?&|pxF;9U2bf7^lBOArlZ~Gua?Cb(F$CLvyh?=!&YUv!?ORUz|eqbr6vNUal?BLJ?61R%P{ +#k*hHsFC7hP2b7V8O12d)(TmDIdE7#Piwj^N6zJ#;CwXB(QLRjD}%2y9!fc>+MTXlqOhnZLu3Ikl4x( +2Z%Wo`iPMZ2@`|^fH-a1WKXY7e!ZAo&Xen_t2t%e4V+zn{6sH961eo6#&12My;vao(WX=8e|Uwq^FKb +%e)ONlB)iD@Zhm5)%TZ0$atC=Xc+IHL0zHiP=y2grmIGAEP^hh{V%$khUG0#C)Jf +)7c-DYj$l`88>2QTV~770OU4;wTxT}Ru)=|E)c8I1itx;dl;9VHrU|36g5NBN8UIbD%vI;zcw$q%mpJ%S*cb0p+Lv5spNhqwU +A)O*!yY!mUof2n4X>+p1ThBKg5(8Cc%Rgdwu#Ma?tH%$7Vbz`niC81$;-+~!*m<9S#5lPR3V)ayLOXU +=&__?Kku(}c14$z`Et_*2X#fWk^QyuNbZ7hw9*egq*4rMD!CoJ)52XYXo>Tb&c_Dg-o8qg^ZT$gH_O(FODWRAvE!Qjr^R2eYuh&Nj|e28+%lv?VqZw25t*4NW}d=_xwEErO@6!`V|_dWnHvGA;~;>I&L(8W +B(0parPzhdJwWqxugr5=e55=T-cv9=t?*6+eWbWTSe&o4Nyx11QY-O00;n+tx-`h14MLr1^@un7ytk+ +0001RX>c!Jc4cm4Z*nhabZu-kY-wUIbaG{7cVTR6WpZ;bWpr|7WnXM~ZEP-ZdF5DJZ`(E$e)q2+Ty(W +CM`-q#Edz$c0Sc^X(RpZ!zz}GOwz<-hKvJ&#?{^NV3n@`{yY*$59}-zS=i}jbuJlG0dy*uZN>`F43E} +&)kebl7DnzAOV!zKx#t&TaBA=5g=V_6#L~zX{6>73Uh?19aa$tE@$XM}XgQM9|C;C*fi4{u=Ay}#bNH +rqwWX2@R?s=+fA#vP`W|e8ln0+0`_`I&T00kABm3AMxO(fg0V_9Rw&B~gpX7jjxneZJ2)AnLAnPhB3S +g!E+O3RswZYBgid_%xQMIMWs**Ex+40y`TOY@EikON|JrD>kBnVNS;js|L~)=@)56=w`-olU7qIiJqS +6s!SGrV-ef3aS+OP!xJrtp5T6YizVVNqEk6lFSqnn>i5X?2E5rCfJ_k+R$|i>;7uG13o3oVd;4_Y1gz +obucv_OvhP~@_bXoJO}6JRNOD`eX#*AoNQ$*`pmO%(c*ik80vkzA_bmD@aAma?JWY7^ec; +qdX|_))DWWK90ogHSr6#|DGx!?PYawMJeF97H^cgqg5F^Hm@fH#Q1LB*|TlH>>FW@L<77((O?7)jk%_ +0o`ywJS_a6pDC0nBlfV3eRrbZ)a8vI{oyV;EBoWZJCk7AP0Zf|D?S!_hlU&U|L4K(e~_J%h-qgJ=vvn +W1KXJHhgLtD)?5o83)3ooMi)GIgP5d*?XrtaI%`J@$+((I#DqYQpYzk=~3C~-!Rq*)#^u$)SceciuOCht +Vkk&Ute*7lwPq-l66st(F%%-EuTJwo0qkc>&8Dmqo5pGYo&T;<=t+ywWMvN +xy{o?IRVRA>VPPjlup8EUl#C2iC2P7Xh6AoV{L<@&sPhHyKxSE!Zv0;B3QlmR%jFBw7zfMIaY!BuEUvnke1yi=eN(+D0~Ohq6`%%z +1u7sGYv7e$q4*11y)A5*-@m*2^X=ksIlqWh4^UyS25 +b50{lfAe+v&+XIwO?%9++Xmd-ghUL?{r4^KR3TtQhdVot`mlK%}vvs~N2U<~@Ls+gp1zj_-;+8ZeH1_ +wKFXZvbx_?j`(14wd^f4iC_8mY+t@pRaGOu2&etc$qE94?j=NBsN6)j+;w2gm1NH8PNq`w<{EuVw?A=r-~z1RU9j4ll779jc@$rXuoT<>IX@s#5jp%sJJ=FmU8h6? +6>|0#-Au${4HfDv|%gN(kZ=ddt}SC1CIFKjwF0pc`;7=LMc+KWe6ouMnkzb2Ti=cdz}UO;{&ud)926S +M9h4_qqS>cS1AF85e?MjDA<@^|!r*YozSGM)6HI?G(E00o;FRySYWab+tUF6vD|#D;XP%h&QK{`}g%d +Ow2hA9g1F@Ap%%)$Dm&b21Fo7v$;b>4tn^B&9jJxKdCP$r_r{0& +e`0|XQR000O8ldVxv6JKo*$N~TW1qlEEDgXcgaA|NaUv_0~WN&gWXmo9CHEd~OFLZKcWp`n0Yh`kCFK +1+s(IVyV$I6t{2NSgVohC{B`Yq!u4(Ve}HIvQ(;u!dS$s(PrRzEw0dtT@D6QFUnnkXyNi?ESq#p|o +}31f_Y*&LvT-J$hPG1${`SddLM86FaLXA)Cw5-aWB~JdE!J*a%XbX8wS{<~!VpMjp9JXEo!Lz4m`j@X +3@U{-R;PK#%E|nIg~cRlWBvKtt6Rq4KxJ!;`XzE?+?`MznHU3SULE)mA@qXY1zDRPgRG@Ay>|&6dMGH +(fIdgCsjCjOfqE%@uTFFCSl?Yf+FV}V19vT|itXt8cfdKv1M|Io4*4$d$k8wBr^yD{j0_SuX$@RN`rd +uKhl@E~b8h8LK;-4{!%_M?qd&dkq?kLOAQt4hu +T3qWMsa-k5gir0{%8vGqodwX!lPnXd1gTWA +L)(iq!HQm$Xa|_@&Gr(QNa$)y<0~e0Yb%1Egj@T#-C@mO +@;~dR8cvuZZS+6Wd6qx_oRqY?ii>+EummR7)EZc8{1*-&XfhkNcT!X}JSG+fS1_acHh-|*^+3MDzRuA +r&95sYtn$7>+#-*-tJqI_6(u~!3(hAv9qCx|AXl2-1CKhCTbdvNl`&h%gfsi*{zdpGcnkRxLMREYCf% +ZZS%s@j5*ZafhN9ZF!i(0PCVnnlP`g(}XAeo`U{lM1uSE30{bdyj0$;_sBiKu25f2z}C0p<6(wmuHJb;4^^O5GH}KjH1~qWDO +i+EGt6dY?`9Q1X^Z)_B!?)0;m56h0{+iar#*#ZqHmlxsU}VyHo=3_NySuXqY>$=HXym^i5&u(UV61DidBlAhjDceR(7a#`Pxm!2yoE9$HN#2X4YfNNmHxn;72*89H+ym2o5SCNZooQ$_ +MW0VJdaJneWU?ANPGvEt^;?jcV)kkV~B7~D*GMtkSzKQP)h>@6aWAK2mq6mT->%008I!000^Q +003}la4%nWWo~3|axZCQZecHDZ*6d4bS`jtU5q;p!Y~j8`-5FARjY}(!Lru<}iF<5zEG +!EE0Ix0p02lxO0B~t=FJE?LZe(wAFKJ|MVJ~BEa%C=XdDR+gZ`(NXyMG1i{U8gq4JS^#*PvdYP19}n( +sa?L#p2Sype4%TMwWD>l*bkO-*5PkL{gF;z1_Q>fjAaL&U=P4Lq;rJqcNiEEM+;OVS+=PiZScGZL7mUCwM#calqcIs2-qn|4GC3q)iYfg2Qbf^&i0|3KwdePGG!it9?+D{GO%^ +nX(yPfe`e}})Cp`oo4IQBJoK+(?3sVoex0a!J{N!CDn+9QUw-kT56H7mP)7<)_`^b}B^g$p&5_ms&xV%Ycrk$OIT&-Q=S@9mOQdl>#f(*zV)p?R|Z>t +9K(GwS3=nesJ4za;*YivUumd?Vy#}o7@Kp%$F|lAL1V7%Yc3`O$P)uf`vUQ4wT)ApNTSz}pex^qk$}m +&t)SL?lR#6H$2-{m`FCUQf)-aW$dz#-M8pmV>W>E{!4&I +)Qhg}H~WY{^yu};egYh-^`N)EAkm9ocrXA`xZ*p*DSYq~9(mt-aKBuO>cbxpWV^Xu%%^EZ-w^O!+JvP +f^6nW`k~@Z?Al1=Z|Us%|hh>na6X`qz|&GD|oDdP|G+d>fVKe&mVmQ4Ng_%CW7u<#sEp#T-Kc4nAnFJ@+UJkRNB$%AI9^EJ@Ed*$U4z7J)0PSdpv;;0U0~DY1wy{5n$VG* +0WPvvTY@>rAQh!dp`FpA`>V2iE{LFDaUXk3Oo?bhF4VbmzC}Db+p5J6bD1#FKWcn23SyzSsXL9}UAIjB{UwYf^F5&m!F5UW8`AElvW)Mk@AT +q2weRi$BcT|~7mOoluqX~L0CH34evC%<8Xe}}-0nP%sP1rM@+B3dgW=#&JKOUdBdbX*T^jLkAgH~rWn +pZaEkP`jO2)Q+~$=zr>j;3N8Ym6Q>C~jEhCYnZyrZ)t9;(lMErjuxSVuhC=tIFPnqTwB^Dm>BNj+QOS +T$lShoj~smIL`_v*z<)%+_!&+7XAHX8vGJ-S*YDNc7#VBZyDyL_e&~-FN<3Ny(~SP-l$N)*TcF++ +Sxf!E&q~zUlJx#Cc8yvu27q)arm*Rba%SDMxh@5jspTe@>J$Nnx$`HV?P%D3SLC&K*TMP)$%zzXqM+&m3fiL&WoNx{!y&bCE^L^Xx>0Qyf=SssPyU_dk#ktX0<}sx#v9;)Fg)#z6qt +l=uZ3>Zi+(M>BD6B_JHUV>K?XQmD&6k|43gm6w020XZoxatJ6QhUit6%ZN-*C3--Lo#`p&8W~tf7HZ$ +n2_LMpy+WdA>AgT%QgUUi6NOd%^c)=?&!oDWO%Hh$YOMY(MB9H*0fewn0~wL72lvlHAnr=eUMCRZez}R)vwN-O>6OYSv#%Q)}|+iOo +k|zq`F-)!ziB4rQYp?P-IjN7=cKDk|<0<-tEL{E4e!{s)b|;Xd^oY;Z3eI;3ok1ZNEE(3(12DSB)ss- +cIjdyguy@H4(m<8`Q8GyQZ6vS=99RO&9yEDYZ`3DnC)ln&|52bWOXsUnXXHyW~R|hk{&%uAy>_^1%pp +dZablwbaXe%VsV-m6s8^FN1i$+C3!=_FOX*bCWQeBwvR;Nx*o)fSPWfVm$(%7&VH<@<5^50eIB> +&Q`J28-lSf}D{iVSn^&hr(&Dc?>jp@B`LERGoImku7dAHG5O%)$t&ufZvZ$I!QAtbHZQ-`WaqAu|B<4 +2ogiOac%V2{q*>1{f1CQnjwsYyryq#mBS$cXtmp53)o^1RN)FeytZ8y<);}%*cg|DRi-6Em9kEeY}oA +G|W^gs6-MaA9@qe6R!(`&-R)cnDC9i&SyHy)bGJ(3eUFQqTx3G22e`_1QY-O00;n+t +x-|etV%R*BLDzyr2qgN0001RX>c!Jc4cm4Z*nhbWNu+EX=H9;WMOn+E^v93eM`?JHe2u22j%n0(IeEP%x`26#y`}6n +f(=P3Q|MKJivR^(A`~LesfBNJ4Vf|#ktof<``O_~y{`mdR|Kjuf!T$NQU+kN2zWeU~te<}V{NoSbefQ +~Ke)=mH{^t6d>#x4~dHnSGPrv-UN&oMgPy64u|L&)?{{Gv){q#>?)#u;!520MIf1$*GM&tx?WwL?1n0 +y~{y@*^R$cf1rBYq#{_X)pGRpecKllAL-McfsyChY!o?n97CCmA8FOA)0y`{m>U`{mXf(E^Z?5|Jp?Z3Al;kT`#zZ_%wPka9R``^N3z;yFma@_}$<9Q&!PzNt`KS5`^5}*&h6x&BKva5Zu@aW!+#g +|xIuCh)R9;3pT3u7)kMuo?y@E8?lurPy_-@(dbRC$alk5T0@sys%O$EflcRUV_t?_f2qcCHStPOdJl@ +;li09c(l2kY}-eIBgOgY|jv`#bpk9nA0G_jfSAgWuoD<2#w($?xxEekU_HCzf3Cz}3jr#DAN)TDV%d+PG@mbLZ;d>g4L;u9#o;>xy?=Wqv*L>zQAlxSF|IxX +S$c#;wM!%&#BZ%KWllSJ@gPh7)xP(*?}yD`DF*Pl*m=)w=lnj`7Nyc +g~yj2$ifa}VF$9X16kOCEbKs*!95S|nN58e+%uc{GPq|p^@UA+nJmf4nlo8*CQEX%BqvL9vgSKW^M=+}gQ1xH`GIxJqMG*?L#D-j%I)W$RrNz1@|qcTLQ1Vty07-Ia}M&9rk;*{D`Fs+EmuWu +sajqxyAM41h$wnCmXfvi+|7l>8?Aed#MMhN2w>NXQ>N5-hbTnCUui~m->+Ul=_nT&GjJs2jM>m|3UZaPW6#k>|ABF!Y{72zG3ja~~kHUWx{-f|8h5s +b{C*eN{|4H~y!haI}lklH}|0Mh;;XeugN%&8~e-i$a@SlYLEc|ETKMVg^_|L+B7XGvFpN0P{{Ab}m3; +$X8&%%Ee{%ONLR126y+4Gkk1hI(s=sLZ3sXYZKN(7xUvvKumiBQAVO~mbO7Kchc}$fD@2Ne6tb`&+d1vh*G +$oi4x)O#Grb1u(i(3dw^<$|#WXZV+s$(napD5C$NY_+?B3&|ay$aG^o&Lh>FM|FeDj_K$Yac}kRS8Y| +F#SbW!q7jN`irH%P<;ZVyM2>^?8ZOnU_~WP(oBfQbJZjQ9@NhQ-Ud +>D`6;MDq$%>Ua{#eC8#`{%EPHVoXW$gJeK%+%EPHVoXW$gJec^JnBXbfPS- +8_Hk;s-;FTc8;Fi6cO-M?}N+?RGN@z+jC3GbWB}^qOC5TM#sPc#^kErs9D$}U)h>73qJ87p$J5AbY5{ +r9xMcSP_rE8~MJMF*fG$|n~q3Ba|Y9;(Uepxr}9P93y+s +65m`yVXIvhidZUpnYZN_gp~V2sU9bVYQ1#e-oS%yb^*Eq7sr4vJ#3CsuG$KObJ~HLkUv}O9{6SoXW$g +JeK%+%EPHVoXW$gJeK%+%EPHVyvoC?JiN-ot315Q!>c^J%EPNXyvoC?JiN- +ot315Q!>c^J%EPNXg32SPJc7z2s62woBd9!r$|I;eg32SPJc7z2s62woBd9!r$|I;eqRJzxJfg}Ysyv +=Onr9F6FW-zG=lau+pMUt}yYapK{PS0-0N?)C|Msu`^MCj^ns|iN6aU+JEtH&-Px8uDD05;W73t<=6r +_PkR^8=5_Dl{Sa}L;r9JWhRu?onQ$qi)AD7rexoJV#|kU8z*I^1kSPhn^$N+JUaXa9a^gyJkIM28}aC^q>f!i}~58R${d*Jqr+XFXejyVt9o^eCb94nebBHI=ukpplC#vK4K +FhFFgy3m+xAah1$7$8q3FOWI)C?dlsa^g{pAal0i$&lLQ!eqP+kpV`CDzc~|L?s!W5u!>gssvFb7FEI +!Cm!Mi2_}|cf&?X5G+~G(S2O{)q>3Vq%}J(c0`APXVNIOm(PrSzj5`CjWMyXH&Wt+)cb4Qr;LeOY12? +BAx(wW$u;mJH7sg$Ho0Fv-lBHc?+y%HfhuR^B+OdUo1sYpeV+%C4u*M!;yIkeGu?m2d0agI43=kRDuC +m4=tLc!4^PRnr{v)&dG?e%JSESbl82|{*;DfHlstP%9-fkCPszhm^6V*jcuJlB4^PRnr{v)&dG?e%JSESbl82|{*;DfHlstP%9-fkCPszhm^6 +V*jcuJldhwRyd_wao@`#v6rVED*s@9=#*`#wH`%g9_ta2ffLaB@65IUY`qXD7$Q$=RYIG +OVT_%;h;d;_{Qp3tTSdaxIWKWBWS)LgWN*Fdvxt01q!j?j)fTb`}Dhg}}~2fV1$clT`}HmB}4sUZde? +h0tiwg5gjUo-)Ej-;?{E4P-w4Vd9Z|_(qsWdS`1NVC@52`v7aN2d=F5IV{XPtbJf>A7JeRTl)ZOAK2O +lSo^@%KET=sw)O$mKJZZ@;RZlHawA|#8}7zrJdzK-h)}D@UT=ig8`y7O7MtH +rEz1|3~H?r3o;q^xLdLz8v$ch}H$dMH}LXjgYa)j3#+3Sta@5uTc3vd_44YiMjaTnm`w;|%3p~&Y9#R +}Y&al;vom623DvhpJ<9?4#BtaxPON8*f+*!YnRk8CU|_{focCt}`-JnuxzJCWy|h{hn@>K9n2sV(M-gk1$ZL{#1NY6iu~dn?REe0pA}>`UmMW2#DiKSS#7mWgrAp$ZO2 +Sel@lqvWsgii9lCV@syi`e8sw7^jBrH`DFI5tjDv6gW2}_m4OO=GBO5&wT!cryiQYB%jl6a|-uvAIBR +7qH>Bwnf{EL9RORT7peiI*w~OO?b+m4u~A;-yN$QYG>N59T +Ez%27BBcBtpuFP&?&c`C>LX$v-r)91VF@-d@JhkXPjc7OR2G+iw-yZMF(<2QNjPXojm`UvFOg@4&N1`&Ab@Rlf`6E~h{OjOB4ot=)`2&=lgZDPsm^?t9 +Og>y1?<^R$Rg6Cp8TL<%H%bhjeT+Z*Si&O{KN1>iydX2Ij*KR?Xp#U@qJtn#nH25&%5hUf`aql4XBsNfSd&g9eiWc8U)pUDa_p%9Z5VnQJ%@2$^t9Ky-gXTthS9(kO@eN7 +(uiBId3_Xj6tz{v_Rp%9Y~uAL2?u-7}W)iilKXySdHyi~y#(`)ih&cqN;-m;kkT=K`;iI2CFM}Fet?c +^Pii6Ndm#1p6IPTpBqn9~;fJ_~0*FAk?!@YWX(8g^B##f!ZKd9TWS!{=Xo9Q=aMzjzW@h(cJrCAqLAx +p+%*VM}tckG$~Ne(~tw)6uo~yV%z6hyt}pVUM?OT#LsQtz%jXlOj?EW;jf!_7BH08 +%?tM%Uct={>y3!1J5(k&kfoD@`(}srMhw)=-vMuY2fQPnLX9KBZ+2L3#3|iu?Qd9nIgK8N(O-8a!*OQ +=nI8#{<1UQ505>nLZ&-+%<7RI7CpW9+4b{9kQ+I3jnG)6pRl-g3X;aool-fyZ(4Zut%W_U< +f`4t6>}5{i7YB4d^RL|{tv{IU5?z5{;=MP$9$^$NQ5lhBU@pL +qnicnM_k6~C8ArjMXT3G(r0-LgxGjqJeFIYP%HF2)b(XP}=U{S5RY(K!BCbQgGH-E|MTghJx_h>#@c5 +!W~biNeFm)rBVXckHBuyu>p(xXiEGuH)Q(o?mwzzh@WR;f-~93H`?J`70}SS)X7$iGe$ghbxYQn+igq +i!9KSB7BvM{tL^$oCoYu`hh%47do!LD00n3InMhoB@*zs3A<$d{D}FJFel8byA(R)P>Tf +ez2p0M`Qq>e)KwXG1RJ;}C-Z+q{z2}#aQNi8OQvI&(3y +l&8}M6_s6*(3NzA34@667s^bfmXP3Xt_*d>oIzI^U-2_5~5-S~(-lvrV`E_TV!?dPk%>!P0>^6c#MIk +-J;ut(sqQ@%?R`mrZNu74TtI7W#<9483T4Vf=KA{j-0rpL885*R*12VH)D+zTgbhvzz;LzhU~dA8EsY +`+uFC^3EWd?|BF<~2CWyOfZ|^Yv?&64Q7l)LlwY9O+^`(*i(Og{_~m_E4)`U%VL9NJ1c&8;Uosq)2YyL$SRVK#$6(+vR~@@*EcQd5J!+0Q{2aumbQ0!5@HMQXp0UetCaa0RABO@g6OCk5&NwAov6DN5LO~KMM +W`{88{n;FoKxRs{Yi_#^O({aF$C#U3u$r6vC4ioh?~6Dt9~q))5_{Ng991pJafu@dl02F1d4Te1$`b> +NpAiUmJyi66Ug-PRKSZDrt>G>VmhU-Bqc27XDTSQ+>wlVWAymsE-cySgNoVrAf$`F+7ZT#`+(3h+xh# +VWur^VcfCF9{W^0KeGz1v|fr;4i>m1b+d3nb#KP{U!b_HZ*oA_$%;By2Yx%FZmX$0)G|!75K&9SQYrI +;IF_h>zY-8U;O;lfWHa;2K-I%H{cgPXPrIuUCMJCo-0>9EyHsqtz#LUD|sE*+;OtGcHOxe+T|9_&e}R{>bXUFaG3$Ke^=k!8L$?2>t>5l8C +Yf@XNY&4d5Swe*nMu=W77}5c~u9hu|N;KL!5;{weq;@XI=DP2it`AM39r>#sF|U)B+80>4~KxNt4ulJ +(k}z^|Dw3-~n^W&ywE!Yts|WS9l~nhmpnU(;b0@M}KI0)9=1S->yXEiSCn*Dd&O;FtBqx`AKTmFounT +kzk&FMjxX`{9yYv#{^9B)eweKEYf3YJA=J_4S({7s|=+v7VJ3Q+H#1^s8$*fA9KDtSfJsXA!oyOUXRK +K7;IGI&5M(*~Hv+Tz6TD&~Z(u>;quebC+G{19V>he&jZZ-TS!SQ_|f&uJ@Gv#*btuStowE_EY48eUE# +|?-%4C`v2wHPkOF*XPvl9xeoMvf!HNqA~}#pGkAZ%kK=dkQZrH#=tbxi^d@uzy$gMS&N(cj;JHPfd;F +zc3jU)HyX5qnQPEG8ek%H5zs2Jd=`OR-3+Pqo4RjNF2VL<@(3jBfLubEb*MYwY{s#O_@HgOZg1-TO6Z +{SMaVJwUH|N>^*<}^_1fBUp9I2mKet*`9ULprP(x-Q+^a?u9FGz&grTo6*_g#LElt+mw*meAV$nTMUDFF +l?5d^!G-@kJwB~2OoT3+_GzPg8+^Y*S2ITU_%;LM3r+a=%S{`*%5H_+u8-}lwRO_Dr+_u5}PSFZ8Jht +D7flLUN72yO`dcdiNkN8Xo>&lHzM4n;D=Tbrb0Amrh)d`ZA3B0DqhPZ|Qwcj<*5K#xLCpl6{M(5uiJ= +qB_Iy5gCjFQMOu&ii${4*U}LniKFR!JmLX3H}89N$@A&Pl7)Ie-iu&_>Z{7vwm&=AW@`bP|Q=K0Rb`Tk;szmM#C06hvlfu4o_?xz +a9fo?+Ypbw!>(3jAU{7Vr00XT!;48SQ7_ay*l5S#%xB^18|;0%H@0A~=K0XU<`6ZW%+{VcGbMeJvR{V +ZZX3+!hR`&nQ=i`dTs`&q<(A`xeof*nacHKblLLZ<{ +p`(AX!v%J@h#fAl!$s_HfgLVlhYRd*se-ctkN79$#7bKcyINpZi`dlyyIRD47TC`s_Orl#7O|fN_Opo +nEDht*WLz5LW`fgz(*&mhr-|GQax=kiz;A-zfZqha0Z$h^9sPIdzoY*y{de>)2{ffcK3(L~A)hYt>A* +7t&ww0;$lQt+SjL#s0H)DuXzOV&383|r;zgNC>!tCBH-fxb)bABj@CRC)uQ`RxwBck=sp`j}UG1zq~VxO9$(G-OEb^0yPt`jX$D{fAw$9FTXsOG!mL +<2A)@Y%PBY?lz9Y*>wlHgaV&9oLwfN--qs{ACG>#^yATwmwt}Fw@VKB?(X319Pf88L_^DZ|Hk+FTff& +IF}wzUXu~`WUL%oTL%B;ixAQuC1W&oN;XVyf8xkI#w4tIw!!r3 +L(zsKD|7l64u2uBgqzS#gO0~Zz<$cE4M*%26)wcC@x7OUbJO?ynDp1ZPuc)fOBj3~Jlz#;hwgS&27E- +lx_s@ukY#Xn3Dda{uBy3}n*g{&wd9?+G4&lpwTc&$u~LYZLH($fsYN_VT2rL~VHG47%rFacOw1vYu-ox-`7AT=;Aa2M(W7PV;^rAnqg~!9 +6J%uLe<3cg~o8N;xkaA-GP@8g?g(;VFedB!xIP^x;Q$cR96Tod!AY)tw0GrUg+hrr@aZr<9?69|9l5^ld^y!_cayb9u)3tD{Pl?cKIe0H0ZWyjay1oWqruHbk*SA9zZ9$uIJ#eLq7CO*R^G&Gnt9JAE)Du +#BPiCt<}?ufm~?7RsD4NV))YtW)T17dF~_LDFElzQcZo!41T(Rm1Hkhs822xyQohvVf;t*GI3Hl05ZO +8cu^rA?S<5KV;d<4m&hkT&#`ziK#q4Ds8a1f$cSN{s;1T?(pEj)jvDpof44mF@|C*`)-decYWfRj=k* +0_@VX;f(oIK4vg9bZr=DSlV!udg^!}G6?Aus*XK^eg?mC +bxd9&8E+yynI%4-h6wb$YGOxT*I6QYxI9_h!cwf7b#fQr{zq+!BFM@N5zbn-L +4XOMVAG?v?1GB^jRnF6BB4go9_z+spm+A!C=4$gm0XG{|d^7x>WBg!law`Hq@n`}#PvOG!4^1T>g-wa +}HArFXU0 +L@LnUkq76c4TtzQs5#azDrEuLzrlgO0z2{eqSgA@xh{*P~g6*YhkCj$?Lns(B5KD=j+D_S(`r|ue8$!@_bAb5c +J-_#6oY`!a{FHxCfq+(82l@z7IXt1UIdq~%7Oy1FE{ratPx`KYq-hD2l9r*M{{fd#1w~`g=g@sb* +(k;SC~vB9&j(MxLY+tvC2>20Sf0gkNc^Pw9i#on=Kbqbw5H_1ZYtOS0gSq(+~I5$c4tIvU+o%#!j?l| +3au58+-emOh9PNE0Q7q*5J_R{~oAN5|FDTdbB>&s7Ma;uP3+4t6*+WJtJ)E6*~XWf1U999;WOyR=1$W +5fkw39B_tuROiv;K6FjLl%iAd-3uDl{)AeYqnseI<;d#qe@t<;Ois&WiFDawBx;Q=v%bKC7nQPDOaq0 +e6WtAn4@10snF79>&LC2rL&RLGiz9sevY+DE}-9>wy4q@+AJ2tCqf07mt^vO&$uOSyII`GEv(nmnR&T +glv5Bt)Z|X80j~>(!5C_Q$}58@$!KL>J~87J6-*bR?Pbi%kWIh0v;Wt&7ML+l +3KU{okc8jj0CUr$f-<@7BVBZ|P=I%lEK5nkgB+}xoIJU=rc=hrXP=H-QA;U(W+EzVO&mC{U=$5_Vu^& +K6WPAcSr?Rd`)j`Rt#%%DLlynIGt7g3As!t1W!4rCr5K}E?-jfWGLA;n&E2Zq~UguklAql?MqktA$>f +HP7f3~dd2Qr2}?OW}~No@h|iEJ*|a+{SysO4mRPmu*yhEjiuTmn`KOmSgL&4vI#e8ooex@q2k2!cbRa +x3_>%%p6V#@M$~8lD(SP%@6c#`LDA*Hd582uaMr=R@5D?-K2`6gX$CYA820(?VoFo;~%26nEV4!O9KQ +H000080F$jzQ61E4_ZR>G02TlM03ZMW0B~t=FJE?LZe(wAFKJ|MVJ~oDV{2h&WnW}rbYU)Vd5e!POD! +tS%+HIDSFlx3H_|gSQ0L+T08mQ<1QY-O00;n+tx-`vGf7tImH+@`6$1br0001RX>c!Jc4cm4Z*nhbWN +u+Eb#!wyHe_LRVJ>iae7#qb9oLoT`>s!cR?kdR)2=d)*Nmno^JHd3Kg@l(eQ$I`cV7)eFIv&a&7B)SS +$OY(g7?0vV9S6Jq5~KbK^Tez`GP{R9HoxXN4SZCSo`;1s}2+hF>3!Z^JK2I*V=2Z?f!DvKfUzw+sj^f +`PJu_mH%D-?mKV1w)~x!pI!dytG`zg+h +7mtXtgvbUdqXW{PWUw`(E=U#sO#UH)<&I^CrT=v87eee6<|NcK_|3|Xye=L9V%@Qp8r{zB>f8>R?-gs +@<|MgG*XSM!!L*vcbzHNwgxw(^Lr +JYp-4*vcce@`$ZGVk?i>$|JV&h^;*0$MX2US&-WTE00Q-xuO!;g4h;RY(do))NDcB7Bp-@(-yRBft5$ +a%A;cCQL*)-V(Ul6%A;!QNANYa&9Zm@YB`JJ#p0i^xUyLMEQ_m)#m}+0wpjc;i|dQUFR-|=So| +W3n~TLSvADHZ{4$G^#p0i`I9)7$g~jc~;#XOmEf&AV;(W3Abru(k#c$A)b}bga$>JdIpRqW|`z;m+dB +4r#An$ir9OV5ji-Wv>&f*~NU$8jH`yuVq14>w(iz!-L2WWTeEeyZtHH{+H&36a$Ris- +@X@G)TmR7TDR6-x7J>_)?T;PUbog>x7J=yY(Z)Z+P1)Yzq<8)^}-Z1toLhJi8ZXm8rJ(YtUMZ49t|sx +hLuOd%A;ZB(XjGp*c#NZHK<{0P{Y=shOI%($MX1R7DTonwgnYiP_+d$TTr(J4O`H(1ua{U*n-p+v~59 +V3vydfn1Ys-N6X5iW#!Sb@@QFkw5&W@Rvs-YkCv53%gUo=<q&waW+R?hpORRgl025tKeE93l%&8*^a7;Tx1?4|X=u}87K +b)XdInYe&`N^Ps(m`nax1{p3NWPrPY{I0EMjpGBU|#+iZKmgL-c56Z4M5-^s0a&aHROt#{6?ch0SI$*m +l78`I?0E9W+*$*m*Ftv}9fjF($~oLg5>Sa}py9)*=hVdYU+c@$P2g_TEPa439zDyx`HWwFd)FnEb0oz_`zxcR(MfYu)`153b0a)x +`GLQuwH-_XVev}?}Lp3oLnQwb+Z5`*9damD!|D#f?T%?aB__x*PQ~KTqDSJw*V*C2y)#kz{xd&Tn7a> +xkixd0Rc{~G30tkfRk$sxgHVV>2al_2_;e<}cizAV5Ax&lF872pJ239a!5qXMiGjVhrb{$N~y^`=oJw80a3bUiKkOG^Tb>As!VgyouuV{eEa4~PuL}v)^Fwi`RcH3d5` +HM|wCXA!QiLChJFU9Phy37&;!bO>?jbq&p}5nUGkatPKNNRbbF~p^!4Jiq)?95wPVhravAV9dZ?ST6c1-L$2aZU3M_4L$2aZU79eeL$2aZUA{1?L$2aZ +UE(mRL$2a1T?R3#L$2a1T`DnZK(0dqoLn1_>xcj+*9PP&-qU3nqXy(E4#}k(qXzmo?+FP0;6rh%F8>% +cf?NGi+-k$Q)kbiuABtOTIJepeZk3&ysA;44s2SYsEiw9LknTqkv^Je|n?brCNzmGK(rpIm-r6Q0c-x +P}+curIZ3gMy+94oR-do~onnB1PtrOsc+zeIqWAPTvAktgnoLZsA-V#^T3ZngJivZVxwL%MaYcUbSn5 +Eh=W@!cC-xBZAa>8#x_~HjzLHM^$3J5j)BmHRSIaFh64IC~_&)C=E6B +lQjZ@Fh7y-1=-b)E(vfU7ZR%qSKn%}3H--7R|~LmjgbqyxmJLc +Ym8jr&Be|u1DIN;048?X!Wh}Yn;Qi<$s=2MbF%;^d1MQ3ZWZ7pk8I)1?E;+SkuAKrQ-G5^vV}Ky3viN +0w(#a&0Z#JB7Tz2b;N*&I;mrdAoLrGD{Aj-bCs$+(ZypigfRigyfj374IJs8BXFVDc!6IvSb6kLJX=7yVKH4K7$J37sao +>lm-K}l`HeiX7wfks=fKW?55f6pr-6!h=pkpKMuj(ob=K0;yhr7yx+}$m4e=c_yBX@Uey#QBPkh{Aj& +dufS;xts2m!up*7JVRG|EZJ*QNJbS=sR8)5F~wTOaS^p($b|%PxFfrx&KPaowzejqv#jX0ulXY3CJ2D +Dac77Z4haKvkXKup1B#o2sWkL9p^zguS$8)&D&BQbn{CohZRU0drtISg{W#+m7H&J<^a&rbyrRJtgBlY*YApveOHBx`S8xi1URU`HHiM*ss{Z)|q``uLm;zk(O)H{ +VWm4=;cR%xKJs=ON3p;Z1n$?);D|3%6}-|@D5xSMlWX?B|FRB6^gj82iD`}C}UVBj)PQ)vbZ|MZ-I&> +{Tvynx_XKfNHp&bF&GgJZqDPJo?uS3&0P_Id%38N23{maBqD*?lTiuoWuYr^5n*-FzwvL0<0DO9Egum +jyudR|Evne=4F!dhXL}0w8*+X)TC;R6qz6J{=PfG$8ZhD#+`7Iw2q^;?o-ff+9X;kE(+7-feMUNzlh_ +siujYFj`51B5wBx2#UDfD7rf+B9O5fBt{d#wN)u~inP<7G> +Ha@%=9_QLb!Qm6-+d{y<31=`hq!TxAzKg{uk +5BZVw8u0bKh>uCPOivM-9970$r +Tx@+tOIL3{?dgs@u{^xC~XLKqVHhR&??o1;i_+<0h?DkmXWCC^|WEH;b);EZ1#)hFh>zv^u>Rq%0oVW +w|OvaLvEdOM^^*C(gVG{^56Y=2fJ&?raheM0;nmfFRmCi#cn?OpQ)4Q?)C2kULxDnL!74wh0J2xU*eA +sOfih2nedUvr|B*@OO3z2pYMwTR_mrojn4A55KclK&bwA_6Z0YyE7;tXzb2@0YPJT=ys||iG6laK+xD +{Ljr=vJ{uMg^zqqST!x`3dM&qf6VeS9`1An4<>aRE +UepNTynhxXYG0YM+1F}SHBm3C)^09epU0kEKM0kDrA0kDr=0kDrg0kDsL0kDq&0kDr%0$?Aj1;9Sm2! +MU86#)BKCjj=bUI6T4g8(fxpP8*ZI-K;% +X85cpBHCucAYLM_i2S&{xr+ +zazfI&E=_LF3%ltDsBy7wE?+`H*wwgY6Ef=H_~u&Z9uN#KN?Q1%^=si;y9X4uIOst6-#TncSTqGu9#T +Uy(_xfcg41v?p-lE=B|VZE%&bIW8an5zvb!xI@fol*>{s(s_0eUmG-{n>Hxaaccr0svt6p_N8gnezUA +bK4)k4V+FK%5Mo7($5fb{=ccs;DImx3_eOJ7in=@0zoSD1g)!dw!Dtgm*#jCkFGgWk>?}}G*OAxE*Ki +?Iv=GGuq(Q&>jUd=5-tYQ|;UGZve7EKkiXzq$vOPpMhmA@-q&8GvvDCEgXU=GG-vF~#Ptcr`c0ri#^wcg3r@wTRWW&0tos4Dp`CL2aA9u3`n^Jqdu? +cJ@mZix2Nfn_B4=|?9IeaQRFSi}Cyv(TY^uoF+!IIZayC`uZ0?C0bvc_VayI +wGjk=so6*-%G;znK0riz@+J#nKhXH!Ma=AO7wm$RuNXLC>7sLR<@k+ZocZq(&$s>s>g6F2H|HdW+o?u +i?9Ih!hSHuuDhx`l;RBx~-88+FN=Dv~w##ErTsNmWcqx+iYbtvRe>F48@5qi!xz6NT)sUjO-zUIIzJ}b){Q&`1@--x7?ynYL +C0|1}=Kfj%R`NBZVeYRNU?pEe{^kBg0Z#HryxiX`z)2n%m-|}dSN!~_fDnFtE^^1R#m|om2v +OMQBK}Gc_U9)BgkbD*(E=t)eSTU%h{-+|WmJObKR+uVgl34d!oreo+AQF(d%`7 +#0A1j0k`}E(w4>E(?G@t_XlWt_pxYt_grXt_y%ZMg>40V*;R$aRJcBgaGK{h5+b;jcN^RCV#&|K+wnU +rESI1$=`Pi2>SSakAR?$-}ed#`uM%HqgY7!`+fm-pQD;vFImIvjn9wiE4l?%H8%~T=2Ad4x2IFhC3I? +SI|ZiZRyfph_ggMhtQB^vr+Sy$8!fW?GSwsLBFUy~9rrn{H-hxPJn?{rQb#iJ!777-biW=jDA>e9$08}N{Y8Q@_Hb +HFne7JwHFbed?nE$muuJ!s2K<7&ASa?9@)=MuuL#P8&0^DeE_Jtwt!q*m(oopUv#mHJKMY~rTXcDvKH +ZLHX8yLWEe$gkCQd+E7sN-J~Q+94D2@c5yJ$3;=tA?e}q!xp;D>oO?)_yu#h+a;-$JEgllj#`D^5YKI +W*JYoRxPD~PWlcSCow6jdN>5xDD~YWllGs+Bq~f0AcJxgU3_m;r5wpSa +zAlZvgHiJRx2RIJG*Zd;C|YRw>VGwGA6lbV|spHyviO5C;+NzFRZgkJIF4kHG7#gjWNgjYPd4^W!_j+ +?S3H7Bi_lNMd%$usr^T-A2lxF!v!NH=bmINzB#-8OP$+Go!d*DXG@)DOPym%onuO?w#`hP(@CAvNuAS4ozqF(t~6=QwwWnorn840o|Qd +788e+dY@z=>r;oamk@E|wTQQI}ovfW-NS$9uUH2_*S_hxHm@0LfQlxG}-PDbPr*41TwB_{bcF0ZL&JS +tgY{Lybr-`c{ZjXgDaqr`{noXS#N>g`D+ctoy8y!qt{Fb`0zSQ}k)cK&)`JmLrc&Ur=Qs;wG*IR3M+2 +3kA-_h=}-`;k`rqg!KciVM++Rk*^&UD(&blT2z ++HTCbojHBEgh@NIAz9ls@om?{x1D*l3#TtPQrRx7+sK>=X3hjNXM&kC!7Q>m&756i&Mq=%7n!q*tY*I +}tJygdnXAv4tIwHRftIoLybbTwTrF?!1}Hs^%^n&Do>9zW(90VS#RY{YLdIt5b +~z`Eq5M5-gKKOyGST^8-C@9t&+K$$(AQJ63X2awj67$AC9emI4YvjU6G^#?YJ9h?kZ>QDrfGTZSI_H? +kaHZrZ45r+2$@z$usNxbLN>w&paI6EihAfNTAzr+Eweqxy}OP_7BI`3UNC)V +D%^$u1%{X&POP(!bX!JaQ0U>rW^=jQQ?tN9IS(gx*vs9v*X*xM?6sFWanzAhnOO1g#$|zS%j~*sqzX4 +@yJ%3tLk}m01v&|1Xl3E@O9GMkx-tCl#tMNAf#uDHBgKAW#KM+9f3y2`Y>DVEcU`gqD}W!~*kTmXa$< +0YkQA<0RbXlD!yEhTBV9$q^xcOy4w=hcKdMM5&g1rSSJ5zw_Th~)_HtLzQp$Uisc5O+o8473*BL9??i +x4!vB<2ekGh=yh`L-iGwQ+|&qtR|D6*<5i!xk&PLXw?QJ3G)tqYUBCVTcN^4oj6bYir`{<5))@}k&&JPlATfPmhVTgOH)R%%Tq>AHZd_*`EN{} +>|@vdmPP&--R$JD$p4~igQM6*e^KnW*{is|L0Qzff8KfH&`RW9suKC1bKTvt$W_!z!RhWP|x$&Z+7SNEQ1ZY@M3N)e!7P|40q6|oPVJ}?$ta|@bcYUO?$nO{J5@u1|i>Y2XyJ` +4eY`ETL)NtL+s1eyPGHS&BS#AU>YPfOys8O>4b=2@y-*5p&S>)fV;p%$B9VJ&5`Cs&vui^3=Ws%$Ovf +&0mqlQZtltr#0H{1a!Ws$q8={3~sa@D=*Pw;3ijCKB_7P(h#x~U*#k$(xV+GfL5rsfiRMZ4^3)byLlH +og6}{Aaf!=U!X>y;`yDEk-Rjy`(JiSNV$Bs=CV5@&^R8>Q1UHcfMg+5R4MvFel#gC*GwciIaWe<(2p*H}&-^tvX4hKHN$DH>O^ +XY2jQ)>dp{~+7%ZrwkvJ}(kF>&y-Fu%N%P%t+svqqRiLtJza&`be@O{e`s;?rO)M>6sRZk7yOm&h?HV +OmM1Dj`Xvx3by;hO)L2axao$T49C<5B7CtJc^>s`U^>thk^>soK^ +>tDa^>s=S^>tbi^>s!O^>tPe^>t1W^>tnm^(A{fw^Qotq9W>RND=j=t|z6wMifzB>XuUK>#`#1>xv@k +>#8E^>zX3!>$)Q9YgCbIecLIOF`D*Dax>jWVr$ynRr}D_>P| +_aB)C}oo$~}5GvC13a|-c=BE@e2i&4z&ggN^a>X23S#YYqJs<^QCS@jSf`}i%PU!VNr?JEA +HF7TS@S`dQ?ls4Se-P0wn#lF1mz&SyXhWQ&>@=RR=3d^n9=kqX&x>MMA@lTaT9a;y4*S3j)hdCNJ$!1 +SfoHr=og?8i+9qt!S9_t`!Y)J0~xx)njI-o*5-3R3fG|}LgUS%4-qQMtAoZ47B{xF9tOOdmrX*nGYmBXZRfm@)*epQ=QC+?x5!X +Xejh$+1vGV6I=P^~HCt3MkYF?pAh7@^uS19ihMPA+&%KNe+FYgNFeN~Z{cZKr4uE@)~LV1rV^7 +5`w-V=(vyepLVdy2fg(G#7#t}edn<&9qGRP>f-&G&pG>!*VV=QW1sUH<*hE>pZuKH +C~tM~{_y9#MtQ4?_vb(7>?B@S7w=~>y)?pZ+|*;-k`kIfBOTX^9JRu{@b4soi`|N_22%O=)6 +IBtN->VMduC5Tm8516Xy-eTm84&W40`!yw!iZZDz|N%3J-nAKlF{$T&Hw{@YJn$uYb*Ija8KpBkNGU~ +zJE(SJ*L)Nv!!DEDVe=NONi990+JT;c>ysAN=KeABB08|hAts*879=|(yB(w!Vt7w@)GDT| +995U=4}{J+rZ}oD*PjWUb1ZRGU9MXnP!_Sismpb{+?GYGZ|ZX0Mz>`V>zle24{-WoEyopd8E?3oc)7#JSx$<*oiZ?>srIcz?imUQi|K;@uk8vWO~C7w`DLvzczqoT(5RRi-Y!wSs3n4FN{r|@&r3+AsT)b{H9B(*)}u_n~^>ijgdJ?66})b{H +9M72HUwIikr-J-^i8$->(wSIddKC2>n(xF%N)FuPvjJe_9vL+n;2EpF{ov(?>+4^- +Bb+=JsKUvEaQ>$Nw-Z=dL_;1o^|%O9yS=(Y^xAR%8MuVe19o$$D;*6P#?4*%qXN@#FX{6anBh5} +4Y5Gb|NCbZML>&hAmLZXEw{_NgW}C&gW`X4(I6WQmq +oS3mw5K?-%wNsdRI}>2Vxkt;yT3DG6TUo#*viv7Y1|bCVs&FN=bU__YETTSZt*a(lHB +FBpuYng=_Ri!gfnih>}k_m3$F9^oenLWWB%B3?qgp@xa8jj+3c*5Zl_K_bMkDs67}Wi#0xu0LxQHID>}@EF1hy2$0;4Xa6`>V{p}xc(*5uBb!n)jPV31VB!yv7yhb{Tdy24`_3<0;x{bkt5`3GGN6*m39h^4^XL +Y;;y&qmu#~ofO#Uq`*ce1-i}k$|Aeje_7;XF!a~DoXd0j1(!uO^&CfTTf#U-Z18B+nev~~%usiM3lw4 +m3XfKuFaHUxbQ$U{a1Gm&Et4x+w8T}pyUNWai7S|wHnn1vq6BEQB0D=WuEusN*tqKEQk6w^W2(3c{~9 +R>791-G23%1P%(to_SZ_^1u->|YV7v_l!E~Dng59iel +&b4065l2B>>MFsR-a%Bb5OhYpgO@aIAk$h(te76gr*H#0G^<=Q9<9LSpopszD($`b^EBkQ#laZcxboJ +ku~J4X9~Q$N)XlG6*@KsLQY%%*vwxGXiOLff +(uC$>BbTNdEU301;pKXD3ljc`K@jk>20^~hDM}#T=M92%UoZ&5ebFGu_9cTL+LsN2WPfT91pA6Xkn5` +k!6IHW2o~|WL9mE741z_xX%O`FGlQV7w+w>5-ZlvOdPh+TeZ6ZC^!0Otps!yT1bzL|An5B?20>rHHYh +YO%M~oW?_CK(1M{qc(7-GPT@n{|-15J?H#9-d>qF70R}dPY7Zrr|=OqQ9`FUAEXnmwxUB!yGR}_S{=T +!xv>3K~-Xn9^&&>_WAZHJiPO$9+^KT{A?_LhR6vbPlkmA#`N=;K`lOYeABf}oFICoDL@&7uyKHS3Ufu41yva|)^*YGPLFP!q8_PHSS;=ui{04hf!W)*-=D%{rtPtC-`WH4!W2v?k*C +E3JuGEvGdRC#`Eu#ELnsiFwqaCSui`)rb6OMgrMDg|LA^sw%o`nQA|}~rO~e!%t%;amqj98 +LLl-AqwlC*9Y>C@KD^3uR{_uxCQWX68j|{1U7~~S%3F^qBGlRdqrqI1o>dvz$i|j<1*dNbZ7P;SUV~@ +2*7cVNpoREt{iejK)MVN?jaYPYjVO+eVs0MUd5$0iByrKw`5-wg<)C9Vws0DOgQ35oo2*bM<#}q+-7s +nMLMR0LKQ4VxN5t0NK-xGuZt4BjC6hU7@D-}UsL*0s?uc01A(AQ9}BIs+VPZ9Jr)UOEo8X8apeGRQr1 +bq#yRs?+wtx*Jh4XsrKeGRQs1bq#yR|I_xZBPV#4Q&(@Q(v1DQD2)CQD0jWQD0jXQD55>QD2K|tt2e$ +c$7qWH&wbrA54|*R792TQbd*RRz#KVQACyQRYaBUQ$&>xDxymFD{}KJ+J4qq+Z~h=x9e2+Aw@1N*GBT +{))^&OfpA$p2l7|93~@uP?K%~7Qjr^WZ`Y}q(~4XYwOyw|&MLA?v&tgu`l{6(8L3;^&>$mqORWbPsat +9xZlkBNi1wt7lH2I1ETXY!i{snbHqzohRS>@S=L*8--c;|7y!b73?wD}(Xjq-Q+h{4~IWCWe)v3FUmS +UdZ@@QC{x!Xl4=BX}^hSiC?U6f*;=kjP+owwUXsVsu=53AF5yC{`KF#2J2)@~Q2xQ#VqkA~GryIquGo +-FfdSZk}>MJeWqGLMGUDZ5>iVxA=PXn4CKFYgxRtsZuXc&d3h(4x4KQYYg5bN|Bd$LV2sdce^&lJn7}p@Hs_Z-U;P +>L6MhtN_nf#b-OmjJkjORu=-E8Yg5dVTpkT;Fz=}iHLSad8>2TSizsh( +@orKP5 +kEC3PlmnNkuWx6-5=G_Y?&e`;BY~U82x|`)0IHQ5|TVq6W}GMNOblMWM$$-D}=3xZdf$V~SFsGm3%>p +6>5flmYEflmnRu28B-#=yxHTI6ZJ#QP9`)szp^wc+>H4g7WU5(&;sO^}#`<(`&CQ3M!pmw_Q;UXpf>g +&^1LtrPJ$IDry4lQv{W+KcxsN-Jr@r!f|?o)?y?ar#G%r1eI<)q6jM8yHgQVx=*aKK*DkQh*kt79H)= +!%Ol}9eRPc?=8m#sL0{L06+vIu)mLF1!Sr?YRai+dJ$6YE^fhK)1Ns_Ys| +fm%P4{AM2{%2V6#!epP0Qw7F}H-9p3oYFbp_M!^(YGZnpvf$hb`e|R;j^a(ZS4W{VuFJnAvtgQ3Rwi# +K{#iI|dY0fYi)!g2l{^ql#)k>P2yq#mr9i_gL#Nvs3FKRy)k>y{IVYYi6Iy5S!S|?9)~qo7l~qHLnr$ +HFHj_5}Vk~oHO4AeVx||P-RS``oaQ?nG4$#L0=ctV6pgO#<&!$yqLLY9teHu0B38bDe_vEE{K)tI6dkeWHxTFkE2dWe-4v#T|p!a9rD)kaW3U$bk@Dhm3V-O#J30FsnJf$@{st=cYQ3h? +aKbdS +$bQNj)z6W1r}$_4w>(RN=M8`K&9iVQY_Axm3=eg0&6d3Z)m86#TTNr^vKVKYTcKSVj5N)y +(E5m>rnwdR$rx*zTd6e*%lqfL)o?N9G&i7;ESC7s4XB61*wfsAd5s#-xT2u1xmEhfSn5BwN-H?VqUKh +qC&2QNxz%bh7?YY?t)Ui{{Lih{x`DB&x!vm(L0`MIDZm)j+#!vBv8&;y2UvvIhO;hfG1;Vy=AL)yK-Sk~N-iWfTq%;``R_b;5gtU(iY1(>_6P9 +0-gb62z;V&}rSQPmg5xaP*xmXT(eyP@?EV_kDM^fj(<-*ZhD=9y=Az4 +`_|T7})%P`K_R@`R%G@jD^kb(7J&g3g>retBx_T`911Iu{+`X9t{RDHa5Rkn{Mn(I6r7!J_p*br~uN| +4`XHXgPIS(3A6JD)QB)#X)yFk5{7toFk&kT!o-JvL^H&!5#c1p{jH=QP8FS>y +8~`WhHmo4>9Gi<#r|rnij&w)s)>K0kOhXaOB% +dGOpa}Xhoqo(FpC8xmAO_;*$MusjqkMis9V`aq<|nj~%9ylPX<%S({)Rdt%q*Y3VcyUV*Hk*~%~k?Cm +Q@yoSN*#sL(`5Yb(HtoA*Kp2CZ~45hFR!5;4))s|bmh^?i!$m_ntiYInLRi@X@z*ifa* +%}J>|*}CV?f}QH#t*lM9N0}WND~m#%o9bRQ)xAcj8||oc6}(|&s)xyr%9Cw*{#lFcU~VO<_^Xh}o9tb +o2%9bTu2h5>fc>WxVF%*gZbjICxc{so>^|IoP7!uh?Cnv6Jr#R<6=Cbk-abXxRI&e}BJ4TbKconIU-l +0x!hXa3BZ{!waQ`Jm*lW1|vLGHk+q*{*_0_M4`WjFKef4V1;Zd}`hZI3yy{i>LU%hJ-QD18nQD5s6QD +5s7L0`Qa6hU9T8x=ucy_*z4U%i_ZL0`RF6hU8oDkvUZ+jm$I^woDn5%kq}R1x$g!*dmGpfcHaToLruc +R~^L)pt@6^woDt5%krkX3o<$WR$SNO;aZO)XaGbN1vKGkGkzUuL%0;yPydA>Qh_hsT_T3%RKtFPi?tQ +eW@+;2;4rkWzLB1Q(Lavq38s5ac7zSM?!ly0w@T!Vg4?TSb0_NwtT=m*t!c(i +V>8c&0MP>qL2?DnehH0TG_40zOT?-fO~D~%X3Dodc{fc@t18bl8Bkm1i6#U35j@YNPp +c}AD(Ty$h^|s=F^?(f*LZ`6l=N%7!6Qog)jD}VNx!y4Jf5UqTOuA#(y#u5N0anx-RHq1{n~!HojWUj$ +CR>yH^qB!d%n%0$I6luBjOyEBDPc4Ly*Ro86|>1X($qty7{D4>YI^ +q|q_5a??lE@{yIB-ly#qdIUO=rxN+@K$QDtrEpip=m|bkhW9^E7!h_G7!&pwSRw2)uu9l(V2yCVz&hb +-0~>^E4QvvwGq6Rt!N7!Yqk$>mCIj1qn+?new-|_>BEG$7wSv7O{?NTkVFZ2tVeL@^q0c`IjvEMl{^7 +(b1EJ49T-;_L^!dl`vj#$+f85?{AoTgi{YHG)sQsBgUOZ_a^!dl@mkfkH|GmeEFM>Y*eVwTZ5%l@*+p +TP&&p#fq;)6c_xa;U2586-7h5!3r%bkafW9YKgxtVpL4^941_*sj~SI!pwHvKE3Z9u8F%3?I`dn|!q1r_u7;~u7KF3WpsY0J~13}pm2zNY*q`b +ev`$x>fF;Q;&Mn#CHu8%9i#4DNPRU*tHIByA4fbOt*lw+&1RKRxm4wfXYf +7+1Y+XtC$he^-#EfxMNeCI^mXZ)LR=SjgfU#m^fDK`d3_`eAF)|3zV#UZH1dA1w0dpIg(2bef(9~?q+ +=eDuW9BwAlN#6AXYND$*E{A8W9B$CK^QZ~p$Wp6ISx$_#>{bOf-q)|LlcBCavWt; +rzohajOhd+$5BRfih{n%curB!R~gMI3i|qkOad%X&{rABDGK^3<2Xe@Uu6`hDCnz<;S>dZl@XkxpszB +1Qxx=7MsJFOzRK85Q5&yu?c0%qN`uPExbBaG=H8&SKkm7x$gUx(#K>@%K5&fmh3NywP4=9%#v^@U`oJ +;L7iFxb2%cW^sBx1$XSHOcFLY%`iO_StKB$NzaVr&Zimlc{q%U+*X^Ak!_M+Adq%U;NZiz5{JD@h%?6 +l;d5@Y_6&MGburq~`ltq4+=_sQyMQE8ftyhF8fUB=7!u%syU0x!z%*RwI$aIu3m?C64PH0_6r +ek*7RYjP>E{h^cgz@&3rxYR6(Q9OgOvie)D=zaIQ7vQs(fmPeY%u?*jJOnG$wB{aMVJzO?ua60rq(FJ +DlN@1#R=_8n<&gbn!b8m5%jfD#f$kz)9c0*VWj)~PDRkyIrCebVrxD*gA5mKS>n=;N3@i8V@lbGw&|F +nR0h(5Fhyzl=srb3r4^0WFhi-L@fs#5RWx41{G^J;YnYx?)p!lFld2l8VRBMc<2B4ps%pH3sYz9h*Dy +1ws__~oCRL3Lf*z|z20@KgBZHu#s*yp^P)%ikIZ2UqQ-Nh?JuXgFDPmP4JpD-@ZIW5v7^9L_hm&XkhXo;SzxMLTW4&AIn}Ms89NM2 +bx$bbT%Gp>VW)wq9*w53CFWF*hTzz7V5&zuTG$rTObUvzG3Hc{HgMP)bE-#MF>H=G)uVANw#S_6(Fg| +{WKQ*H9}HV$PW5OX44Y(5^=NMj+a^r)Y*z$*^=O2H?GvVYG@Q<%ub%yipsyYcAPeeC`xOQCrIA}feW_ +Iz)R$UiL4B!J7SxwoWkG#ucvetfYOn?Mr3PD2U)oD7s4unUg8EWhE~qaJ1qNPdJX2f`gN +*7(|@u}`p^*QI1)(kDH*n(VDGf~}M)^q5IaoB1bHQbdKme5kf3bo`fw)_PPKc|X{Sf?&LmO%ITLd7wknd) +Wd7G8e6Uc<^Yv{1*j{zj}>BMZ`AqZj0QLHQGddI77|<;U;2@Xm5g+$Gm6*z^*%60?e3U8oz*J;ba+V@ +tS)xZ*BQHN|XLRxBZtn9a+8iH|BVTbR}EOWDXc&BknJ)|k*h4)y8TutWvp(LOyJ7pg?BUchE&!P74-f +wsNOK8Fp_riBa6x-VsmwC%CKFCDG7ow(4;T-~U2=>;mW3d4%6?p{U~kDILT+^2f_N<}X_vP2tLVXfHl +_#tHt>^|Xsu_lk|ag7h>{P*m7{Jq`pEzuHISWottkhxN63VrNrx99~e`IX0Js~W5%`UKZ-RZ_j6tSZ; +^0#=gU3m3en7qF5He%DqTsj`ynTX;`%0jtMeE6i$_{KVtut7fZ_-tOdFjok(2Cs;T3f9Jl`(^jkY8v8 +3Xx!`dP+^84S^@1~|hgYdK^n#HE2YAB0Ei1->@7%t*rX|;yaHE~h|#KryFi~%V+}d}Br??tSVK-fajNbiv0igZDQn1?$3DtLBekktFuveG%uld}oV5*Kt*-R39 +Zhu)yKiA7St +gSwFu4Tg0iCmRgxMou^w+KrraFt{5z@$gtWFCXOSynv9S^AZZ0jJ_62f3_>?DN +Y-k087t|(~pIYWXfm%pnd=!X@bOxa3<7i6-7a}FPm +?}=*RVunN^#VVt{eiIh!76aCYtqGbmKSaPZ8o4KuPcZ%Hw7b@24`_{ML>_n2Y83WkV{7BNEnx*}xbK^KCx(4rH-vuBAZX5zptv`Gt|aK~bwld-A%mbdLttKpv^w4cFZc +^3@PdZW3mO#E^_n3tFGGq>_we+>+u9Am!0&4oJyy~`Yf(_nPkyEZR;AGbhI*gXiid&TXUlqJJh$5jxh +z6>p=}q&cVGOKlAxHE)Fd#n`_h|Af?{5NT}jZ(E3YW&==LzG`^q~)FsS>g-h(mSSM?1rr2Fa{DlrV{z +WPfgK|3ZKz<};+FKb(Z0o~W$Feup0n=dJ`dwiEg@N#c1ex`(>9S?pg?}lM%bc>PRw+#vUdt1#Es%UWH{cufjr^S7D*dtFVw +~iaW?-#U13y;tuj~aSJg5969-53^;NE!YFX$B!qF`*hvT@!LgGN#)4xfA&dscPC^(Dj-7-sA{;vjVN5 +vo5<)J;ODO0w_7XxL+)D`a;=P10HQq}o=<`MGl~lXzBFR><@H=!(Nte4SsW#nJRkubqsk+7~sk;65ll +sDFgj`ie-uK(xD;3%8YRaM*SNABgoAQ)JRb1Vt$Zir-7S(a}fFiqvPg&H&)vFcR4Rp$)1Xr(BWVh}qi +`uw)y&}7#PFaNM_q#VLvJ<(JdX4hltjNo|MtN^lgmuPLY>4@=D+ +CQ4isc*(-}6!9D6B+%bD)5hS=rJ%l@EuPlND_o#=^WA-GL>v-Z+c^8DdN1cc}iLWezkoTw)aVPPWMG* +2Hbt3L0zOo3FdXG90cM@MxZ&4-cMBGVyWf4`PPQ;zWR~Atv>O|a0d}R?;qE5t}#8(zk-s(i$u4iQt<* +iP{o#9dz1$p0Dqa?KFch)JfCmSX8!uA)EhHsP`m>Tizz9Wj9NE?_2@$J52ikwIrnDy}Oz7vX^NE?{v@ +a?`+ikwIrnAY&^zB7uPNE?{E@a?{Hid+?LV3xwS`z|PQRk%^11VMP7mxO7OZO +FTn~WIHt%;utEt=DDo1lP=fC%@)Bg^Hn>uea{>)UZi79Fyu2B?4fZMW@@C{VIH1VOn~~e#YDHe&jNAs +-D)RDX%hmp3D~!R?B?ycxL-?o{OE&B$$Vw<0fZMs9<96?u +6xavK~}? +5}ZBey~I$UbswaAEM^qDPkCsN;E6<=tK-jjp90_yl>CV1)JC!BIu_;Ow#}#nt1A>~V!<5tc(=R;S(IS +F0Cw3u}`Gquc%JMSXPJV061*y{M0F8;oxEs~7drZG+M6e)Xd65b3fA;@ZDXkrx*RF>h&gZ@Lhu!RT_o +IyxU+HW*#*S4Zcg%Le1c{pz}Wyx3s8xL;kDj~5$^7x$~{^6_E=@#44p)pfaTbIT%Bs{QJ^+{w*JBcTM +$Ao2ZynkKT|A8M^D+!5KtKq(}<=?B-wx|A%-YcoO#y)A=lW~*89c!H=g?q2mZPQ;CEpe6eKxvngL>l>LMgCc_`^Ge0;wopVY3zT|SNf +FQ6HTS0m^1tB*{h1s-kebq#&^Cww?$Ch|2pQ6ezIPPv*NVwhGtUkLcHOiBJ8NN;gBNisI=j*BJ8NN;f +NyasI=jzBJ8NN;g}+L-VMhUVMnD6Dthihyy2uG?5MQilp^e?wBfWO?5MOsHO5_tH=I?3F2sg&im+wvh +VzQB3-Jc&0;SxAc*8|S)Yp(A>T6gL^);f1`nsfu`ns%$`nsZs`ciw~7Q-8^DWblvE26$e6;WSfim0z~ +Mby`XBI@ggBI-*5m=yh-$&D)%L0=nJDuTW?b}NFuHufljzBcwMg1$EPDT2N>_A7$EHV!C)zT{}-5RN%P7(CAQT-o!Q(qo4AxJ)g~^bO0|hgsZwp?QmRy&xVDdSa +u>O#ZbR_0$VIMg7b|B^avT3FMXA5a&2`D1^u_e5!Uj}D3mY`d4XsjyP1*KdQiMYx2CgW=VYxD8p+q<=_eP% +}Y=tnl>pev{`EmcKA}Hm^HAOh-tb3y(DCK0gA{-umX|E!jgxj-Q5q8QG$5n|&UzRvb4g1%OnPsT}|yUq#11_Sfg^pmlv!1U!!imW@^17i!p?^MR~2C!ytS$nE +c&0>such${%6i?RfNN+SE(wo#D8}02}RJCoXA`voP@hezYD|lbGy~EVeS6h)eDMn^5Z`BqFAy&f6m+m +`?{(w1TR1# +?NM9c7?B`bAPy~Ot`miGS!y{@$81|nVQTK&q^z(bQVq^G!`iR;x*3C~3nb*KV%#&KNu~vTO>K;W{f;q +m}a4@{Ac05I>yc6Bfo#4`>C)jDp#d<}Rr8id +F>7ESTGIJW0-j`vqB}0rSG#FG +-$#MgxT#E6~P48X#;|p2(w4V6d_K$p`HLU5~goxsD<_J-(1t?6f+ZMMzjJTS2?p?<0;Hgn7yQShIQ`K +lJF=ILXtz;B4LgD>^^NJFk@kEv${;IZ=XA@EiDqIGw0Q*BT=g7ikAo>$*=~wNR-a3)f$CF>D*e4(2*# +e*`VGOiPG8a<}T=K^t>X3Bz>x7Bub|TR8UBi&Ky?pB2hX!qIDjL(z(^@z8bVIH3uY0=Lgha8w^R*10Y +d4y;*G;iBjDTxGIt>)8C5e!qI7;tBR(Wbr` +Kp0jzsCqUJaVKnfWpZG`K*bboQ!#7ZRm&E45-HQ93t%Tv5>1+*Y+pBueL3nD4^j;p@#C!XK{Ey1~uN*O&)FUt6>jiA3pa +kGd};O6QKKeIZe5y(l*`A5+OAQ9Ave+AC6tz{vc6mV^XYepB+$tj}`8-yUkt5YHih&0am)tuQUkyx}gytCe6(3Q7vQE%=|8u24>AnuTf8c7 +4I{HYVMdlGjl+j?l!X|8j@hq`^>1?8CJc|ZZfX{6Wp#!!MgX^Lz-!7vx}xp99F*1n{X9N-}TIs5}}D( +r830Y_xasgv9b7ldWF6rR=-bQ((l6R_nE8exv~0vZrmV*kj7xK41T6h^8#4oK66kTD=c!i9U!c7pWmZ +aiDmB7tJE)Io%{4A4I#10eR@cvW~_0a*`+;vEODP1RMW!>_nE^d6(NKiF~5b7WRrdumbcID)KCkn+h- +@VMZ)6txg+|?Sld2#M4cX%w$GdHI~KOj?=`Ohf4ELP8y2|eSTCEURcCFv)|kWe|S~Rpjsvu&z>=N1%1t))jl64@y!lvw+Rc^X +V+>#jb-bz-Rc3bXnpRS5ihdFW9EVAQm@ki8!T6!UL{INFjO|ZYCsYE;plNiu&=dS6(Qsw*`Wyj@O+;l +j>_y;1b?{ak|O%UF-5SiL+cbVWwl-rQdY;;DuR8DnNLQ%AqSS12==wpAUn~pNH9b;eQ1v&JI$^vf)aM +CU?Mx?wk%>&P$kT9uXU#t!6NpqQ3Q)Py5zRy)s9E~ly}2uj+xhi(HuLb2u5>!qarj)gIez}G&VbYLlK +l +sF>=6h6&7^#}yBYBGiBURtrIIjpkr{{zsbX)t>Y%x+btz(1>@^h>hM{J!o8N-ICbafq7;0{XRyGVn%?+GWgtV)iwOAsIU2K+!G{IQY+)>pR#+v4itG+PSG6;r`qcM^+-KVt-BT3W!<}NfrYc(*(NYeCL4d*$M +WEw7xByHcW2u+Ztz7lSPY`l1bBY*02xdrm!5k*J?9P3qtZptxjxHyt@N?(H`NoN<8B5`QP<8#WpnGDy +Ejwk1isZ=o7G(B-j5mb6Z9R~)RW_q-WVz6nZPdzLKn`U~|Vlmic+iaek+jmeA49qm=9Bk4obi$K!H>% +z+*fg_gpCUvRn^n9VY}&3~kAqF7XCo))s)xm3)6BlTiV#(p&H)CSX3nV_#bA>eZcZ@RWD=bT2AgKa%x +gejW7@sMV3Q3~FxWJ^LW67!HrWUUgH5yhHIi;|KA?Iy4mPdP&I1OUY%dXmO|zSa6d|hErr|OMn`XCZ8 +-T&4*wqFe6{fSw!KS^c6bv@a>Wtt7gH5x8=7ESR2Gw(8uxa*)rXF~5?r9?^=*xse9Bdjg +f`Yy->vv(W$p%swY?>X{U=)K*HYCDG(%gErWsD@vZPaRmk)*jnwJ(e$%^g!C!bsBGajiBONwU!rMv~@ +EYruh#B-)0B+Z@I%7&378?n>L +Ij&9BxdkRwUEHGP1QBpU@{B*`Xb+6)l2_F^Q-#*P?Cnm?%e!bp-0D>0HZe^zTRMv}~o`vfCNe>!|fwS +u9fl4+BOv7|p8*{IPL&&EBk&JBY}->lFG0fR~3tk9Z+!K6POTdf@xYg879Plmr>Q@UoI1p%-3NQo+;AO;sRsR}j$K?K|`4weVvSZ3>WM`BG +Eqs3C^QFh|JD!MAq{zaSk3Of5wk!F|qEOYp*!}xU%3Rht#TtMwhJP=Kl@uAzFAggS+WTUYlAygWwkip +t{bHMvAlNVVDhXo!VxN*A)Gr2=1bKaNQc0-RUz}F*xK>vd$X_c6p6H8HU#wJ?l65OxBL1kMkgVMHI2DNRo42s)s8C18!GH;SdtbVb}UfyD5Hw>!VV;NMp*D|PXpJ +jH3in0jW+HWtn`xg``(y3n@G?ycv`o$s3?6C-C5p;9JUJl(HwXEhJ1(h7Pm&2Y;SO(pkw5%nSTp4t8+ +Om{Y=en{stMPlvGV0W@oZ>KyCS|+~lBo}dlmw%BFs3BP^1%%y;j6z|p(MQD1LP6^&%gOX7HzFMUO@3u=xs6$_ER)V* +dybiYm`09cZyxWKpyn)sobiuz;ZKIq0mDVbBioe#ngO2al+RUJv`jys1bSl4=aG1-vzt;A9p>wFggFC +CGND;(-rLhVE&absjAg26U>k;N5eXaV%T%)fC9%z_@$wpsG7a_%jqObdu1Py<^S_vetu@0v3JTUhJ$$ +xqL%M;4lU|(-nmV-UeFUI7W@;;RyrqGmZQHBy?c0BE*yuHfX&Ck}!Q~;R#QogQ=0P|SB7ISWQ@k72mt +1Kcrr;H!@pifz)}DwOvuc821EGrw0+MunR(BQ%)BQm ++iClr1)07lCaRQ7-xG_uzdU2!6H`{cJY#+j{jQRk->Z_D--G_nnr}zH>&vtD_n^OX_C2A$bM`*y@4US +)Av5m+{hhbZg#JeCGcz*t%$!Vhi*DVQBj)$et^4w_c_un`UtYHNL4Q}wd!ln!GV{zTnZ74Fcwb(zzX$ +zYwaiy$|{uwf6=6Jy>b)%gN056=W(i^z$C9G{1*_Udhys(9bKG+7 +bGB54z2}pr7}k+x}jS%=})R%=})^--8})AlvBhl}u%Z4qwU4dnRN?W+~W%US(}E^L-ha`M#XYd>{1JY +rX+pz>?`VpbJ3gCtSTcQ2Osjd&XWz3$C6KA~WxqkeT;{{`&2E +w#m$UW@P3)p}&6no&}k{Cp(4x<~=dR=D~n@Pj(px%3o~}UyMKdu_`;l>@8C +uYW57)oRsc7f52`az{c=cIjciyMLv*7sOx`J3zp^HoDzh%3y(+WLK-IoyN@m^@inf6INnCi}Rc85x!`Xg2TJAT#d?{n>yT6Mjl&-ZLRH@0pUB_ +k^Rh!9|0Cj=c|#)&>cf_Tz#C%=>Xc0w(^r1|2yj*Pvrwk89A8fpQHxX7;$o7x^jI_+oC4YkZq*DDC%2 +Luq~wj<(;_m!>q7T3?!MDD5-ZP@4MEl!nrLpEQ*EeVF9qoHu6qlns!61F~%;({I2$AJ;fxqEE^68(M5 +A%{R2zP}*;x|1=G3i~iFzur2ye)4;Zv9kSn$k_{-M|FrKy|7qWa{?opT_)mQoWFt$a?~;iB)OShfKh3 +)&^q=Nk67iqrUBrKyccK5Z_d$O)L4e6WE?l +K`o7^v!+J(bsQiv!ie1(w2_C{vM_Uxz2o>9sO{hgvA|?3o37C6KOsLlZRa29J7a9-@MISfN9Fx%mvub +L=$QI*qA}&`q-F4e$lVkVL6^J3ViWEvi1>`U5brex;(+GOVYpg$WrV92Os=KJ7cZF8M-EW_M~CF-te#c- +2rT65`QnERxOH21;9+Ga49Ceqvo7i*gd3~`mr+y@tX$=;WcnfsoSi_4#qi_69S40}p0CoekJT@0$ZI# +EQO>jVbe9;|Tr0W4cDsZ9`Iw5_BzLx9EWUtTqVD#zlknm`rH*UN^>+}9*C_d$!J_P&J7+?TRunEN=QV +eiXWGt7NCnYj;Ecuw!jIHGt?@5?x%c-Gz*lbQQqh3D;kRWfrQ^mp0bS0^*~NuXoyYm%A!Xoc!2Gma=; +Qcsz2MDdb(%8Vn5#Dk9c>_xVbIYI;$|3hwEf`>gO0X8oMF(>_J^}dqqAHp&CYVEw4NfD`*$ZC?GF&T`kCRvzs_Fe{=HdB$+BootTpIld}lEkpn0##YoG#_K{)vSv#`&z109Y#&2SU72D +?#2GDG-}pm)^wtUxwjrE)!)V3&d1cqnWI6M%XcdEfx2_?Bkz`#O9jl|dh6eV@kku8}EOD& +nimO)*Y3Qva8|o|Uy;Y_9MI3v%?kt6)FW3E(n@aVI8WKFadlRMRtx~1t$sB9(vXT)MCo36Kv2WGX=?9 +iZO7)#NveN7H%dwT-(vGyY%Lt15A{{5OUnHX;&VD%_(&xV@RcgMdO=@kQqauB-<}@YgbKbs{q38gPeZbl2&(A$4)F|YS#U3yYjT}Z8NdpzPBx@A$PC#TX5J$4dM#ti2|gZ$+M>lrQ8w| +51vfFlX&=6a;Ng>4{Bw47MnU-AA1G)ng8!wUxd{HZf)>PJUO55Ut|$fCq^J$FSy2YGMo|v5R#5>Yi-vM +cah_VSS`q8wIz`wUVa0ky6`&1@sz4hR)m-JM21Wdff}n_hQxMjMFZ*quqO3y&sdci%T4zhFc}uKyGPq +i(fNG+(P6k&C->oK!q>D9;TB}1fuO%I-c`fZw%@-0dOI7n)*0Gw`@{ZLUvwQzi0H*E!Ck0{3?tfMgrt +AK-f>7oDRzc9pe^n5)^4}B$t^8=IK(^NT#Id~YR>bG^P*wl+UzG%n{Rag>WB*Y>(Aa-h;7(S}8=MoZz +5vOa2P-V&glM(+hT94^Z&Y!$I)R2;xSluaxLW-JX3jnyqE*(!ZR#_S(s?{~t1Q87>Rpk|c|54Atc}~$ +^K#nk3d=aZeT$-kw<$w@=gUJ%(6v3R1OeRcDnX|8gc8m}6oSOZm#3646Rm`^pOtX +Y$^yf +xuqcJppXBmAcW{YQV?3#|E3`5Lqg~x4&l##R}l2ETtU#sPZR`wJiBB-*!fJa0+Sz}(}xC +?J+C0B>;(luWiKiSDtk#mP}$20LZ9@f3W7^|MM3C~zN#RY&}#~U3B9f$xZgJfVAjH$3WCahrXZ;7Ed@ +bkZz~A;ct=6d$GZxGK7Ots=;Id(f6F7Lki+$t1QP9j(&zPb*(6AyTb-NEKLQ=Q;h$199yN@YCqO<#iA|yJyPbos8v&Z} +vvQ0haw~%e>F~5aGXODC}3M?_6>KRvrRA2XDMbKCGQAN;K_i;tgSNBOp&{y|qMbKCG8Aa6BIYrdh1x3 +`?kRs}9L=p9MSrPQreN_?k)qPzN^wq6Z6xorfZaFfkKyqZN`#nX_SC5(lroBw{^eTeBdemI8oOnvl?k +$?MuQiHjUuzXXUp%RH?eL7WJhz-J-tKrd!n4Sw+;BntO}-Qgd%nUux4W +n&56lG(kBYq)2>*0jami-W7^sAhk-&wwdf#0b#1mWN){k8tzg7VUo>czX}L5Y$kiP3BdH4$zF91NDof +-YBP_CHIw}p6{SGxU@@g;vR@ltq!lOoRZo~qGpQ#t7f3ly_N!aQ9GS^pRbfhfsnbiTuK`8Sm!4%(q|} +#MBNCjGy{i>LU%l!@Q|e2-Xi9x)u#{3?>LM`VmsoPPwz< +ia-K9wCNt4#K(C&NsY$vzE|km{Z6QzwTxDwBO0KVgE(WS{y!KRczs`rOGrjkd5ncT&$;DzG|tvQNDwa +?O){>I|?pcd}2tC6?w+_Ng<-yqn4>Y4r~oC4F8IC9S?SqomadWR$czfsB$?Cy;qbXOy)1g^ZF`zmQSV +>K8JXM=r1m_BUG1kbwV<)-tSs{f$aK#~w+)Rfme@ufNechJ5~Sv|?iE>m$=s$lcg#fd#LRwrR_Ofq_T +;YRp*f`lw%x8LM3%^{X*svFoG$t%^c*ezZd)7c6ysv{PMMZoNa))zxJu$UH8yW4n*bWY&=cl^sveDsP +Le2p^X<{ZB5Wo&Nv6zN9;DB)xX;U*Vl#apSiDlbiDGPUDRFetW#8~2O*&Z$}`Ze%htzWc>+Zy-SRz9>#yk54-7l<~`0`?7JQo{Ric7 +pYf7>UFk#Nu=wNFV+UvRNgQqP&wPAZdrr}Sstku`Mp_b`z0$a|FTJ>eG|+3?8`VF)*Hj)%G+no+#xV +Q@GgNVg7*l_5d4n7F@pCAbO=5m&?ESez#PFx1QrNBCa^^C34s-YPYJ9MTqkgX;4=an1fLVwBKU&94#A +fpm;~{BMPLxm*8~Rfd_!Om&$k2y@q9;M5YP7n2J!qrU=Yvm3B-6V?j;c8xwwx&jOXHh0x_P82MEM?E* +>NhqCpW696rpnS<_~nxz(^NJILQYfJBnUZ8Ws@M}G?h()kkeE)2|`X&*(8 +W3O=V3GPnyb_Af7apH9^Y-sLZxIvrEF54B;Fmb&|`@U=&!+K?6d0Hm+_m-KRLd!_Ml;-Y-zAUnJDQnA@vbOOkjk2{< +#xM6tM%BpXM>XOnDt5{&@2iphyHyhTz9jN}=B0)^Wu>hb;c1mw-d7Rnp^Ef#HMV@NB3sGIMe0TJw=za +YUp9%T}pIP5aAWn7b`v}CTZhb$2IMuBmAP|=>>jw$MrOWyu0&(fGewaX9x~v}|5SK3N3k2fQW& +J3DxO7=RMj$R-){hg2OPBQ%1meC;MOJTZL{Qm%h=}W1fu^k^-&f +n&xQk4UUF7$6k>9&}UXtoX{_d_vOZ6hF?#`}el89H8M2w!DEuO7scWHf@S>^T13bXp?%lN{zzRbMavM +;knO5f3DX|dDMwq9rYFNqjTNs{qHjyq-E)*G9+C5c_FCP{AlIkEgplGgTL^2NQSdYx@w8u=Y*c(FjRd +Xul++4&eh5!#oT*C_X8k)Mzj_NS(WS*Z49He_jGhJwD#QZFqmrBbVz_GOWJHpP?Frcjc$X2X)C5lW>I +N=3Z1zRYaA`ZBZe>dS0uWFz}Kvc!0OeVL70mfC*KQrpj27Wux+rg&yO)xIq9JM7Thmzkk7$;^wecgl> +A(3eGi$2j(VmIo0pvM-DLUMqC;Wj4h#XFSk;bcpnew?jteBk|26?K96=_oGdOS7T>}`o7GzZ|v<*I*# +P;*qjsU%OXSWxUundk?(W0+2HnNc06#6jax+EOMHYcJ`!JVr^>|Jr9oe2v1O_3$N?;K3YXk-%zfNEf@^3>hG89EL^}ft +5B}%Iu_hm*4?91%XR$7fYDXqrbm)RvknMD3>VyA}EYN>shovKUgh4f{1iBOIse>XCPl#wZj5TBB#(CA1VQy8{kN-la6P+}XsidAH1=3$U +uMUHCc>*G5|1X5A5CP5wR=rA*R%P%dnGp4i~L@DTr+9xam}Q$UP!WggD=;M{M|^NH<7JlYgLt`jpR{8 +rAc<5;GlYuyzDyrJ32d#r&(#*mqxY>>DZh8OUE{k`Z6;PrI9T|>c(cg&mt;PHcrjo9Y@+X_I7;sk)^D +!?0D}h>-GD}1%EeKI>?tv^dGZS?#oOU_hm-7@|6|Bd}Vi0zG_WM`pT*deVIuiAF&;MZHH1{+tlsL?C+ +?Z8G?Lmca43SNg=;$MN+-o>}L8+ltzBH1aA?u6K#$-mfjNR}1Q +rP1A+SX7E`b$-_Xw;J{Eom0g7*n*5PU#ji{L{7I|LtvpbO&pn7|;OPY4X+`INvQp6dh#@q9*L5YOiX2 +Jw7BU=Yuj1P1YZMPLxm*8~Rfd_!Om&$k2y@q9;M5YP7n2J!qrU=YvmLohN9wxwBe_=vILJNsmS-@ONe +>J@hU=&Z`??Q^SrnVo`tXP3~vi;Sz0sWp#GT}9rR_7#ySshHR&4T{K8v1sfPx{mzaI!VlwSw{?pzRWD +~>%^PmQ+=8F9d%--{yOr6NFCV<)Vpt*r+Sg^+kG=R)w4^9dSYFHdSaJ$^~5f9>Ro@F>V4tM-%y!Zt~8 +OpZ$@^`Z6an-lh~)P`ZBYPXcEl8Ylpt+|G!NYI;?QfR)A|s{-;9!|3j*j#40_aN@=XpW2%(JDm|e}<5 +;DqR4Lf~2P-i7`hfmp_Rv#bW>zUpf@;jQ!>?_}p(1nb@S8}5#(abASyX5K@-2}{UF@5v`|-r~@J(FF7 +=KM-jm{=w{57dv2R4x>!J4$Qxe#%$nq6mv>e+dr-?7^E;geQBC1jxL-w`tK^Jjz%r2IJ{0~7zAkYNGv +4}=V}|34BkO#QzgWSIB=iI8E^|7Svm8UJ4h8MymPLI%?QijaY=|4PU}(O(lX@bWhy0#8o;mXIMnzawO +b&+iEt;`0YWhWPxEkRd+*M#vDKKM^v-=idn#;`1Mb4DtChA(i4NJQzhBg{Pv3qwq)+aTK11B96ktP{d +Jq5{ftqk3kVf;Tb66C_Df~9EGQ!h@0vE#8J5CkT?n#9TG?3rbFT=y +bOUj3hzQ7j>4-Dh@5%=#8 +J2xkvIz1A`(a8Rz%_`T#85>g*y?6qi`i6aTIPuB#y#`h{RF250N+u*C7%|;Wk9#C|rg}9EAs9h@`u@H7i?6dq+Ej>2;+#8G&Ng*XaNun=}r@%qe!k5i?>}WrdJ2oE#(ez_Br651bhz_P~KLVow$6IXEOnynz +#9#2YvsM!bQuVZ<9a7)HE-Q(?p#I1)y@f%9O*8#oL`yn&NoG`7JRujoboUS8zC^WjnvtTq~RgV#gQz* +if^yum9WXvhO8k%m0b4~di@8WJhtjt3g@;DQGl^5Av{BCWkuslgi^h^}y*1JM=ka-hKuE^;8!!YvL&T +DZc2NDKEj5NYA^1|luo+(4v-Ya58PaAyONwvh^FBNfg@Dx8f}I2);OHd5hiq{7)qg|m?gXCoEPMk<_* +R5%-{a5hrmY^1{3NQJYN3TG=7&Q>a%tyDN$sc^PZ;cTVC*-C}8l?rDo70y;FoUK$iTd8oiQsHc+!r4l +Nvy%#ECl$_4Dx95EI6J9uc2eQ&q{7)rg|m|iXD1cTPAZ(8R5&}SaCTDR?4-ikDTULGl)~voO5t=PrEt +2DQaIg6DV%Pk6i#O^Ug^t}w&_Mn+jJwPZMu=tHr>d$-+h_VF5O6Jmu{rAOP46^(j`i}bcxa~U81y0mn +iMhC06)yiBc_HqEt(lDAm#>O0{%}QY~GgR7;mA)zT%w@;O)_${YK4KBgp1mnccorApFtX++Ze3!?N&m +nyx|rAn`KVA=eF5T#nWRH>FORjQ>+m1^lyrCPdFsg^EPs-;VnYUxs?TDnxJmM&AOrOT9R=`y8Sx=g8- +E>o(d%am&AGNoF&OsSSGQ>vxQlxpeh1DbuA(kor2^h%d0z0ze$uXOfd;>L}YQt8G@sdQtdRJyTJD&1H +qmCim|*q14d(%DnWeVI}k-B>A&Zmg6>H&#lc8!M&Jjg`{qoKhN{eH6AYQyQalN@H|RX^hS(jnO%!F*> +I-M(32q=$z6Rol_d4b4p`$PHBwJDUH!Nr7=3EG)Cu@#^}7#7@b!dqw`8*bY5wU&MS@4d8IKruQW#ImB +#42(iojr8l&?{V{~3=j1D{$;;2_jqw`8>bl{;7N5MlOj^;{l~Ooer4&wADTUKjO5t>sQaD|u6i!zuh0|3^;dG +T!I9;U_PFE>~(^X30bd^##U8NLGS1EwtnrJ6A(N1cjozz4-sfl({6YZoX+DT2clbUEJHPKFLqMg)4JE@6wQWNc@CfZ3&v{Ra>A1O`LkCZ +0rM@kd*Bc+M@kLjNhDP`1;lrri^N*VPdrHuNKI?3r1rH}eV>7 +zbT`lwHoKI#*tkNQNN|fNulhvkt3FZss!x=@>Jz1}`b6ogK2`dvPt{3Ip +DLBrr%Gk@sZv>es#I2=DwWlzN@ew_QdxbfR92rVmDQ(8W%a32S$(QhR-Y=B)u&2j^_fyxeWp}apDC5q +XG&%DnNnGOrc_p+DV5b{N@ew#QdxbbR92rUmDOiTW%Zd-S$(EdR-Y-A)n`g&^<$;7`ms`3{aC52eymh +hKUONMA1jsBkCn>m$4X`OW2LhCu~J$6SgEXj98p<=rKElvL;qnV#QL!kV*OYNv3{(CSnre&>zxu}y;D +N0cj{oNcS>dTPN}TkDV5bbrLuabR95el%Icj`S-n##t9MFe^-ig*-YJ#UJEgLEuT)m=mCEY9QdzxMDy +#QOW%XXEtlle?)qAC~daqPg@0H5xy;51dS1PObN@ew4sjS{BmDPKtvie-9tUgyNtIw6n>T{*C`dq23K +36KM&y~vRbEUHST&b)+S1PN|mCEXKrLy{5sjNO%Dyz?x%Ib5avid@)tiDhxt1pzw>IPw}v`ckQ^zEmo!FO|y +bOQo{MNzPdT^2c?-PQC0R6w01lg +0M9(9~MFgET$ih5;Vl?zZU2l!DV8GgU!SY2cL-<4n`9*9GoU*I9N^0aPXR#;S(J& +aGO59Ca9M51;2^u3x*TZ7aS+1FIY}YU+|omzF;~reZh5N`hxAm90hlYISTd?a}@j~<|r6U%u#Tdn4@4 +ZF-O5;`mcrkgz1qHY$j#^_)HvTFq-&>fz!nO+v=#aI*VGJMXk=FR%cPGv#8Zs)aop1br!Wci&~vUtCG#@{%R^aYcN=?g9s(-&+eqH +hj96VW#ZqlxI7gVRLx%||j|Ie1M(-yF;)qHhjv6VW#ZyNT$VgWp8-&B1UY`sUy`5q)#8oQS?Tcuqv$9 +84$TXb#>IaWn^Wi8z{ryF?t#!CoSc=HM?8M{_Wkh@&|;OgstXNo?2)maO_cApNIvNfI!kmO@O*qNO^~Qk`h2PP9}fTB;K*)rpqsL`!wNQk`h2TzTYRPjL> +WItMeIgPG33Oy^*xb1>66m|+g`H+o55Fshio;8Zbv!Kz~Vf>*`#1+$9j3vLzDH`4(Fzl!M#h85En94n +?TSXNA5@T{1=U|KPK!L?%gf^Eh01>cJ43&s_56#OaXC>T`CQE;f3qu@U=N5Oz%j)DWl90d!?%o9!zd* +DJb1HgvjFoO@pKMag0?q8>);&c`{okdP(k<(e^bQU?CMNVgt(^=$n7CD_oUT2ZlS>$yVd7VXGXOY+O@ +;ZyWURHoP#R=whf_a@_UMHB>3FdWzd7WS$6O6tQTq>q7*i=kk@Tr)-U{o=E!Kq^Uf>p)z1+R+fo9lpq +TgCJRyNc-xeihRf46A{@!HQMCey0EQL^2#)EoL~_TFh|pwV2_B6g_fqwwT6XU@?us!D1SNg~c=m4~uC +GCKl5eTr8$B*jQ$sDD=n(P8O2{tSn|iAr;*m%q-KtIx3}3v{ENpsS~Z#iB{@FD|MokI?+mDnu7hN!-FS=kvUv +$BUzUYDxebEIY`l1U)^sRNk(BdNcqQyn@MT?8*ixwBr7cDNLFIZemU$D5CzF=`NeQT{~pv6TTMIVbei +ar)`w3Y&Vjy@JK3VbZ)DA-ucQLwShBrws#9{O0s0Q9ja%oC~T<`Zc=<`W$i@UeclMv%R7Fb6AYM99$P +Nr-?El@c;^ct*(3-(y0C?skL>o$U!3`Z_0M=<0%yp{Gki3e^W-O>rMovJYz62NT%`jqHO~_Ccrm04yo +$18}6M55SP3J^(-JYaaxQ(*MsJd2(>9sGGpBqHY4ein8RRSG?YXo`(?+}2y792OkjuLlMqaTcs?aCi03+iK|G%k7{v2Afk8Z95E#VsC4oUaUlAC@^EH7%Jl_ +x)#PcnIK|J3P7{v2Efk8Y!5E#Vsdjc_@xAzi=@w~k+1XGOX?fnE|JZ~Q$(7brQEyreNX-oT7&%Vr#P^ +GgYUg?7o3Kw&^enU<>$;~9yPHH=dH6vRu@-F$dg+c7o8bL!BeY!)?K=@Dh2^#4B=@CKZlJdT6;P{UV1 +Pu)T^pv21-=7{3G_d>AOM(V&|9Fg`f!RMEAZXzAj|T}FSpDN6f(B0ic$lDp(Vx}{8umfl9ug3%p@%r?FpdntLUJ*3J>(d*8AYR;zAzuH +WoUwYcTqsHGEWPHZkMyzEgQbu3vDb9=dU4@3t9@+D3|4&lWjFn&?bf~ZdOY=-|6cRoYyRhYJk50)2?UqxgnEA*^U=;SGM@)SCG3Y|QqPM%UHPpOlq)T{PV=TND0sMI-B>KrQds=d^yRO(bJbt;vSsi) +E`uQbam&GIU;H?1_iD^2f8)4S62t~9-?2)!#!?@H6V()6x0y(>-cTGPAM^sY6%YfbN3)4SI6t~I@DP4 +8OMyVmrsHN9(1Z~GFuw(YF2)ON-a=pt4`H%iU-bt5a`ccaoUz8h7MdX<@fx>0S^rEWAaYq-8FQm={BY +a;bJ^JsUMe37KGFWor$-vp&!p@gCAE0i)c{t9Ibxv$WeA^#O}4CP-T&rtCd%D+OvGEl$LrvG&L_0t7^ +arG4{88Y5dmwZu@cB}9C=}!n7I(X0DF*fw@o}V!`bn%{_GdA?`p1)^o=;S^Bz}V2sd;XEJp_}*og0Z2 +W_xuxMLoe?6XU2wZ-19Gt)dTiR#wG*yE5@1u`&Y)=0sA#$-GKduuoU9=TgD)MzheyI_j|@5et%#L;`c +|!Ab$VG7{u>Sj6wYVoiT{te=r8|`!i$1@Vl}1-0wH`o+o@5gMUWIFlGLZkYUFB+0O}r`v(6^kZ~lt1Z +1h75+d#i>Jf2IP>+avf_g;U6VxN(o}eBP_XPEbxF@Jb#63YhBJK(55phpYkBEDMdPLk4)Fa}ape}(&g +MLkjxF@Jf;K88Z5+d#i>Jf2IP>+avf_g;U6VxN(o}eBP_XPEbxF@Jb#63YhBJK(55_nSR7u^B2FOwt-6)+Mb +un9-%+zisS$yRq*$!2|a;_OJK<5u5`2oG>G^bSaofv!nE3ix}s2pecWySPl)z@V*zHwYUjG`nz#uz^F_5;@P`%gbg8{9Xn6h5 +aQWM#)c4YzS>Jz1=vx-h7f<=cZ@Iy@yk`h8u-o!gh7Z;Q`&-iH9J8m1M7tObLvl6Da?*85e6Y%-AC9E +;;p-H2!r^YSs-kP-|P+bC#)G}SE)Z?)iArt-&p_^sb65_Fg^N|upxfa3oi(R_#L8jvi??=!d&046lYi +O^I9>5Ilr&b6UNp^gBov6*cutum_Cer#~5pD?SE}+xS*v+muw9me8-hhl<$MI{nMiKm#^O5f`=N7 +vZ9@?FLpa}yEvgzqZgjpdY^>$iMy%hkmh~Tk%tx;HS_eLP9*Bafu^Hyl-c5hD!>*bNZyZf9Y)hiRn!|dLGmCv$q+SxKXT8_1h%BE9>jZX1BpyW(`MxqzFS7J0>PWrX@}P|T-ZHoSSAH>NsGfbaq +A#;6xysqNRgvFYdHXx6JW?+=9%5f+&i?jg#>nfc2w$qgoHgyLNIzGV?UyRj&s81yK6|#dFS85As)^LI +XJNZK61Tdv-&cPT9jV^L_Dc7iSM!2;pXOTyqd_42u^1j4H7>}$ecEqjQ12 +Dh7s=||vM>gDst34{hu +XRzTUZo`Iidh{@1AQ%KI`5i0+j6x5)$&GX834;h8KSG!X>?mOnz~dAo*iBB46YXI)IX!WRFbLoY{_PO +J6GRx?O`ha-Li|oH5(e=*d6_Us!ISGD2D{1WNg709H#t4|Jz?-%!txzrC~OP2_B|#H0&)5nVGxMZL^R +kIZZAJrArK;Q`a8lP5~rUK29Y>JQ373g%A+AD%hNM7y@0knU0fgxBC&WU#9+@kJxenW>^7%MF9?H7I( +LRJ$fWa2guz&Np86AZmD39c34D3E_L5wa^{6JcsUZpGpZ +Fzc$G6}Th>7{2OhCA8?8ewopyFx1fIP*FE_7q_dqi^}|L5!AZPJ+9rrq^jog3G9;%QU*e3DM~?a=fM(IzUOA=;}GLp6k|AG8cM`F7{vG%o>yi1Hm;mB0;F)3u9)L6q;V5(b*i6=I|3efmxrWaoVvwZJ}^-v2-tEI4 +kg@dqJ1k7!W=XHBP%_=iDw9#MzDY18Q=8b)%A&VBk)IB+_BM6(%ORyBQ095X7;P8meyG4Th^oNipF?F +Aec;XT!XU3+(%J@2rcPf`lEcx|DQ_&{Z0hv&UBW;my}|8-(evhE>TS5SYU2iX +42+&{Xe|W?Ri|$#7vQAo^bIW;;Hc{KEv>=etm^i?Q)fdEJkIG`8VTUI>h{eOG_k;`)cFD>1sqGAzN2n +~!>1c7G~vSO)9saGvc$E!ncz;U=?DIM5R30AMd4Pe>G!lufor +Lz-_uqW?xmXTryhmFuN${$(*mboH*V3^8IHfs_S0S+?xxzld4)mnfeuiZ;3Vwq5KRzp6n1uqw!m-}c6 +Nx?OmG<1ey#$He>_;Vhxt1vfYA~L&c)7n8xIF#XNPG7f|IecBeaKrqp`Ci^!MOw?Cc07FC31YEzo)&P +RGs`Xq5rSV`oRN5eD%)MyU%2WM{`I?r=hOc9Poy8F=$P1qlwx&Q8z}3#Vjf$7wW#W3sc8G;G6rS!Snb +goO*OW~V8DaHG}s%}4y}A%bUUsDMkYW~XWY54T#)PSHF8*II4d`8t0F3u5`Ao}G_FkQe!@A;^m~K*QZ +vv$I41xcq9iNRkWOezkFzmbGyG)$BaUiE#hb>^y%CE(%!LOH&ZM%4PNq4YTkrm)R8>^WkMKvrD9%z!h +2>_i5J(muSr{({2#1(c0j3Fy@%xM^#4gMtKiZOv}-=fEXcS)|^E+q7mkX^w&Wv}VgBaKVjQvs*OI!kt(oW!Bt=TGN +65OmcTce#U+^sdcN5d@KuC={#nZFcL@H?UmT(PzBm^No{$=2*X(Fv@+?UkFf9R#;;_JDc~{JxDR6bW$ +rW)Eog1x-|Qh#4Sc`ZL(;-KT&&)sH6WOO+c%z(mIMCZ_R4qsCn1RDC&K1$g7OvSkHx*VpPdFA3#Al&Whj$^(o_!z;V)*@|!KU#A@es_qt$oJ`gOg|b-V;^=MjXY%p)~gfmmV#jyG`H_!>vO^M7;Cp +*3lILhZt@hzDgKBj@6feOSiRfhcGx6y6~JZI5T+k3}G+{-nzIzAcXGNUcw-B$IcT5>38dD^o>Bdd?V1 +#=V6$=wS11g9O8TO4Pg-9Q+{l~zgw^ml3NLth8*gX~0>5r+kSm6j +*)RxAz?+5SBFGzawmj;^tmT5Agc7uFymRUf=fZ12iLm+1G2V+8qYAtkTUNDJpjx2{r`g +WtDxjaUVK-zJaj;P-8jcU6Mlx4DmI3-J3k_tVHe#z399Mj)iy4Vs?7@Y}i>>J%jyep@Sy!5O0iG(bCy +)5TQ+Va~fvzrtadE?*`P67KdD%5d=fwpLFQ2D9GUcZ9(s5eI4E0-oR2T^h#0^4q#gu?Nd<>n^tivhDV +5N*aejythVRWM%`mZgXKjVVFq|>1TskxAll<24>yXqoahuA+QB%pvU+;rTzl9Zfl*!JaFqak1Z1hIkr +x7H@J3N>qJ3t?Y5qATVOc6{egcytV*8qm%;-LCulhij^5Twn$p10+j>P|0!MG_HIW(|z0DIeP=cYiy~ +?W^aP+oUk5X&kGMUYjG){uGx4n9tL5SgdT0wxfx4n9TW;`(Wwm#6B2h6>#@A*rIAkO!4-#`#omuRQ}b +8ma~97Pe_z4<<(8<>0Bs~5OeJNO{Y%?0icPSQjH_TJ`c`u$+<&G*xk2KL_k-~qxQif3pN0ef$LkYa)M +-aT6I78u0ql->n;O4s?5xJ^H`L?FtYr)WtB4j+4CB{+QZ1zLQ7!#Dr%bV2Anz&e~CrzJf&hw~ +Hs10h#WQpSOEI6p;OL~su0C-`#^<5T_d;;%qzC?Ti?{I#OR%YNGZm*fXff$~rZ4#J=+pF(r{ +|N5k=6NC%xQCnPY0m=g;r8kW`iWp4Zm%7nwFdZyo9C(Dz(1T{qAe8ohx1DmV(<^=mxzksAI>k4N(cVo +{4!$@!^^aP0{d`&m6r2hAI`7bBn;B<8tqBIKAc~rc@ONv`8Dn{NW<&2l&T{uR&WjH-%?b;HJmTgQ~<8 +w<~P)KumtBfXhH`|aDIb^7qA4k*En$C3C>q&3;|DYzCs&D@B}w6(kuy{;CzMFI^YRzoPA3eCf`j`Ccz +WjUb{_0J(z-z!cnGdrJHRS8)E6_y?}we4 +RLhuHZ9LcEA;!v+546;P%=(+7yB0KVY-1x>o(3(jBC$`XCSWo8@rg7dc|_<=7te +@D6w_=4MazM(M^jKLnH2!k{DnNG=+;0%5~K%+7kgP#x5q6&<`?K@YA-{1^>K1fjnXYlg^|HL7RpN~@l +gERQ~_(j5o7=AuVaRO)X^JyA|z#05}hUg8(;P#zIl=AqcH`{!_QY}R|4kY^abr^z&!kXm4;$454Z2K8G!EL-38j}fqS@lm#72g;pSahdVzQN`CA&{&^x +?)hK4cl4ma=dPlPz%Jxfa{Fb_X3hjFgJApE?1moSLs-3u=WgmhfFN!Spm&HL+wK|0>zKL~+ZT_X&#ac +w_gkd12}2!k*^Iz<=^sdw)`CJ^Fu|14pUj!*Uy2I;u|o-mjd*SRq;E3Q8vY{K@8t< +TOfw-_%}eR-MdJ^HxJ-ukq3XXBpdUy)$M5ay-$A=mUa9#l0W|8_hbL_pZ?*efBk>{`VW8n%`g9c&llv +&z&hIVlP~}HU%UTI!hfdWKeOc!Jc4cm4Z*nhfb7yd2V{0#8UukY>bYEXCaCx1RQE$^Q5XayBDNfl-QUwq3gevs`K?Mi_)z&>s2sKV +}>AX62_O5&JnswInz&8(QNg55ZAB=U7+!V#f1_$STn&P +ul#7#@fN4Gu>Si)NNNKW(vV<}{4vgk<6FL!>4qkfRqXud_4XP>X%uim`l$MGj57afsY|~X +|1tO1)tBwSc@HuPHsvdXHoPe%x1fTuv;pkaF%7^JIa8m@3C=EnF@q%;b5ghkPe)ID(=x>yL;4T&r1BJe0!)0d_4!{ +q9Ph=$O{n2Mr@rz?cO@htLFMP(ig&_^3J!OuPig)?(@seL&)}F53*)~PHqF2vN^8BizmwE{|7!E%yyi +4d`IvWBlP~!Kgpz`SbYuEKI9W?2-Eo`~@?)v+o{YZig{3>8E(h7{6mq7FX#I&%ICyk&Yv0LzKX^X`N1 +KvUvma1P0|XQR000O8ldVxvUo0!c6aWAK6aWAK9{>OVaA|NaUv_0~WN&gWZF6UEVPk7AUv_13b7^mGE +^v7(OD!tS%+FJ>RnRchQ7`}^O)daXO9KQH000080F$jzQ9C=G)2#sj067Ez03iSX0B~t=FJE?LZe(wA +FKu&YaA9L>FJ*XRWpH$9Z*FrgaCwbW%TB{E5WMFrR^^gPr5}LA1relPC=!KhW#TolaO}#Dmi|3!I}cM +pA_vFu%+8K?H?3mM!HYhy_M`c1@!+M=^|V{wR6x&SvAAOnp-pUIEI896;7D^|nRLkE)JcU9lAP4<>ne +pmZgAJcT9r|Z#jz*DfYtJ8ek*fYyzB^_TUY)%(opdr2wrpc9joO>=Xr3JCBU7$J +TAa7YdXiZtfjntNv*U)Nfc;)->G%8Ep%SZshkQlZ$jIP3J`rD!Fx`L +LekY_TLesmFK`+ap +?`%xQ$beOF&lO9KQH000080F$jzQEr}V5A+5A0FoB~02%-Q0B~t=FJE?LZe(wAFKu&YaA9L>FJ*XiE^ +v9JSbJ~VHW2^cpW^0XgOoa&>;!3T#Knd_h7MbhV#(H_C=}YJZEdpTic}h>>puJLNQojX*>O7|51YLA{ +qBy`Bba8hI9-gOkn`iGoq3+Ea4AXnRK{54j7cuzmH93&k73a1#B)HBQ3vpeQyIz4nhWIc@JkPpEM53&FDm2|moKuEcX%RrlLJ4iHJNY +pro~oS8qlA6lo8;%BI0*bzLxN#lzBWUB!8LbS^hA;=d8?lBAFNZJ~}*2m=N&tPF|s1UL7>ATds9`(8Y +*z63V*1ua$MX)js5WopZrcDbP9zE8iTb`;Bu&moFZ{xOQYX(D=*N8VFn{n`TzaGFVoMV +t!B(kb^e8HUTEq9^4BH?pWx_{Wl` +Fe&0h!pB%H;rT``v$R)HK_L*@&tb)Jd4|F>P|GZxL6NGDH%8e_pv4uKlLf4coF88*aY|Duu?M4hkxoZ +9GK*B?ZDd~_p#@7+^coprmc;iQn3XY|q +7COSWS2i+1$8>@t<-9gzJmfZ-K9~=@Ps!9H}3;zIqNnvlRN!A3g~&*Kt}1NH|+p68yl?@GIL8s8haRG +QQ>QwppI;vdW+Fa+*58>zthOMfsM(OOT$h9g*HR-VlerX7TR8WUQ(}vX(bRCJcsZ@zUC3jrq&)v3FJO0 +>}O^7Hf+pXZ=aAaerGl*e?S^~PM=D>zUIRxsqUBP1fDg5lVickH|em6jju9$QqW_#6ZIAKVA+X4Q;G^ +Pw8pSxZ>UvliIs0;Xq0{fBN=uv=DiMY|4wvbNv^0Zj0J!Mf8sZJb4TUgKmXhOhE)mU2@*qyqWt%|D6d +lv|$+E)xuZSKKkUs%xlV-*llPCr0eUJa@;sQ!)Ll3}WlG7gGLOSe@onOHURQiFwMSKjUDzI`&FOPZ6PUnZ&GY(nprm09G)KZ@1ea`+WNfCaF)VbTL~VjCxQ3ZJHy!t +Desxemc4ea_S4T&T8h|X#;4PZg+5}4oNw-Ao>fZ@ZF?58o)6rJ_nTDcn7=c#qb-(!qj|USUFBT5H+hI +bp#}h}(Q&$U}0MAZal)PzGQY$DKzk~2D)X&MQ^4Vin$@T0RoSg2mus;~>lF-`|mDeAX#g^3S>Qp@kOo +%$;3LI1H|5=)-L&-GfOjfBs8T8=n6w5h>;o0#dmI_2AOvJ81QI=h!EjumQD&Okl+Ae%yGQinkXz(j~0 +@ZN6g=jX)mk24V*R!CKS0iZ_?-qG57o@eD;sg5s$qa%Wk$e<3`$)F)hT^$X~tDQZ%9?ext)Wa6Z}S*ke~-=Pm#uV9{q_>%+_&36|8gRQMF5_>O0GRgpR +qIZ4VbEd5+kZSOk0c44Y~jHW%Gkuxiw|_CtK#(va5p0^ffR{W>OY8zsV;@>?W?BXcbNKkY_^v)OHa!p +jm}VQS~`!osvu*f@^Y8M%2&owcQjjJ8AG=nP6wYjCRf8Fq7c+^lAd6(1f1mWbGN>{9X7fN}2gZI{$iK +`Uw+F9YmQ>_0FxQhGFtZ&%r@a;Rre(9Em${NUsg3oY$&cUOM5SQFJ@ +tEY+_+!Yc6nk2tfD3?@v{(1vuX|=NZ- +AgEpPf5Y*&=|Rp6;IRo}O2u(P*56)9ElA-IDntrR2jyev`x`n$4$lM&mrpBe+c_WR_je0jkkxY-~)@W +JbnePV;C+5jIJ4bsuIVID(rCxY-advxiLn%+tjv-`Lpr@Oz&O@J;74O*5z_h~i1|NB0vM3`lNZU8|>wnPRKYKD@HS^56!wje+Iq +gJQ}k(;0HiSyA}l0k9XAW=5wI(4E1s(a=Dc34&RePw+zcf<~y-pstCUo3&b%g*xGUPUA7a8DPrvYu6 +@RO~KL~T6@8d%Zp|-poTL#OVWqW5xr}9YDE{*$&(>AYtyFF!G&O9nuZT0s5lyn-x84+99`4=b2wdarY +z*b$_zB@ujNSn$^!jMMwKx{iJ{40XQ5IcPLpmQfM6QVhU1WA(ZA>(`Qy`u=zls~&%v~nZ7e1enw~7C( +>8g($lp((8w%Ux_&!fV{_`YBXCXHVv~+N?!ig3r^8yzXx`0lhO|Tn-2AIvE;^W_fkAFY?07P~1_u>0@ +!0qMX1wq#d56+MGkAnU4^Znn0H}I43-LH}e*bVBoW6Z~d~~{hamDyEGs@DS+m_?3m=;)SpdI7j{=)ur(+XV +Vmd^X4#ELU6g#%OtVW5Tq1QKC@?GX%Fdon0q9*qb%Q5 +MDC6|~_4-q(Vvkncc%TCHJ}QS$Go;;hA+jZqlKNe(?dhBaI_XNzebZJ`Yj?#V>wBuGa5f>2&+*u?+ox +J@=UZ|_(y%4@_ZiCF|k9>xM6ujY!Ey6SLsKS$Csa&;y3^y-S--O!k9a==Y8N+1#gKLEZRK)986%)*K_ +r!)vSibn~CbUC$(X$IjdhY|w65RHrY&nm7=sGR0JNx-C`QylZc@ADh*u$uKkOOPSuO*AIs1^NOZVfZD +a^pR4s$GV%nD=t==UXcmJLkUOIF(khbAfPP;bn_jA5a5o(d!bkX>d62*5>9hVYexe~X9A&00pxbrpdL +_-1P=Hw;mk#EEZtF+N(yzEgwd3a_q0ZXpYuhbjRK<;6@nMlj4WCjIw=Y?H)y;l%t|qKo#X-2Ks3>2%V +tIDZxbZa*2__&oMBY(r#vq1x5>*kdC}4%LXMU>h$eKu!!}6kt$rF}psUDn4kiN&_^Hm83Qru@X=KeIN~IO7%f-oa_DcdVxc+Oh{pG9;V@p +Oh8G3X>_Z#`UyPR!bgR>xd}fb!mAFT9yjCG6}V0q-w8v+>l6e(r=w^Rp&OG{gYXa-!>9&~|6gd8&~l; +!&sns;hnV)Rm}LN7;VTwdIGoasK`8d(h>w|@BK8uE9kljJGQz2ppslM8X+o2S;Fb5t6^N$Ud$HN;_ID +g3Ze6vEDu+oj1zHeomhb7zLc`F4&%&n>7EytpDn`FpN{NX1t2SUPL&G#6xi2DbRfbBP02mn-jFOP?PcAhT%@SWJ`;d^ +fx_tGnpn~PDt}3P#J@AF=Ya#$nl5whi}Y?wGZ$}8EL)?<0Pw5VjD^nGY}m)6+xPp7l$nvzX?J03q8#i +bByw^OLE$ZM?}FaoCmk`!D%)nN$>*kl=%~qq`bXAl_&{E=%7Kn(dhshC;>`yi81k1~AlErk4y=75UX-MH&*sBbonI42}iUJ7ZUW9}b7}BclRcap)s&F;2yM@3#fv_99pg* +%DZdH;#52G~uLJXii;v5tRaEpyn2&?U>SiuGq6Fvd!D7CTZ1*jW)2EH^NPoX+&RB36VnC=0das7GL(r +|#*@hC;(e}VpwDG-aB9+CyRYbu#w9{27h8r?`lGNg)P9+Yt#&)De6wQI{sDyGh&S(ImNM1^AIHHA^Gb +w1+`+VhNtP+Nali{2{1V;n<#E`s2nXN=ycze;(_}=mteLDtSC#;#rP +Mf_7r@}kpbCtSOkw~SBW6Gj@!#lkllhR%zS+IQ_yD_YfOY4+hCuPH@zfl*K_L^_66yFP^fY61ISBkeH +$=xmY-tF87?ZwIv~0FiX=tIe12!txhF>E3A9U5jB9b4V_Gqx--GI$5sz)+b)r*?}orOe;yev|jz{Yyd +=P2FhW+-93v}Yfnn5c0tGB)VXOfujF};T&?DA{XL? +;RF;EOu^1^;bFTB#&NtShUy`PXf#C`v_T;G9R)xfknw;$M<;ThH(PBD8NL=|3un~;x0AtGWZWQy$D2O1nOCMF? +!#G{@Kzfdd{0h!SKJms;u!P<7w+csX!-zM??nPS3)0VU5&KSfDs4f4gt^p>+E1)(tiYO<`&;x+S|5UJl|bK^{I8P!lpx#*#~MExI&g$JqY0G)+nUe&&l5f)0|myJN5ga|LolC1=-vr+c*Qz(=lm23|F +4FdM+OM+Qw?*5k9XBk9@rhkMxmcm^6T8xP(_N!z5oj68q^V(zlTbS6qfnzIKSRTGwrz3NB<1>6d@SxcY90jT@45sa>HLuERQ^f}wEjXnT#Z50kZPI%ox={yNhzmzJzte=D_FFSTC;-i;b{VI0G +auN{B7{LW@zb`eW|#at&}Q4T5a$apzNW)9Cq~2hKKWdGCQWjaJ-w;7ofIcdp98Kr2WllZ?84R<(ubG%+q>^X^7)Bf-3 +SqQ^86Qcl%-q8X@IZ{W(RHNd5nYq0gI*Yu_i5emF6DXPR8@~9-Xnh+-nZMev^D)@bhjx=8Yoe!iz8Zb +PYF0$w|Z5Y^EwqKFbDy(X$kP1MbY~%=!jjj0>7>xP?7PM-p!z`n?-A@mD1#C3%AeVS` +bngVeF3#gl)80rOQ%5q80;Q4N_qZB|UYCN-K`=}A$mzQeXZwf8!T!+^`Eda8HqGK^7&cBL(1Zsz<;7N3)n*KgYX4*l +E#6^EhvVlBq|FqF;efsKsL^PUUud3@G#X*(kz=s;@>+s1NZ~AX3EcC^G3Nhc$9E2lsCoA?ZP?Q9B@my|HXG9BG*1F$g*+l`TH~9xf +ud!p0RXY(tbsMr#CJ;==)H615<{JtbJ1yQn@(kMvHQg{_fzLioU_?I} +ZC|PSU2N21nq;}oO9vL*z<&^YaK}LJ>1dJDfxgL8^A*tf;Y_5le^b7UnTi#65W&GcMua84ucstBG<=` +s*gsk2i=by<&Z`W`zme{+*X0+^7+4C)2^wlssH#-2r%K5?U-2!R&uI?Hf0FL~$w{jQvaSyqii$(Ss~% +pa?Itp60GI9DK)5nm_AF@^hx`eiiwB?b2zuz?Z@9F$=0aWnct>T~U39goaXQ +{Tf3}jiK6y(c#d@gI}NFcg1FGL2bN#(`Xx#Y#Rb= +{n4$KX8*4!%@>c9=FU=So~|d&oxh?qU+!Vhf*VP8%fx#8+eLjPJ!^X;doZk)>}pDSW{B0U{BW(?DM~(VE27Pn-bs2ky;{~JeB +t}$U3MZYqthjhISO%acV823g1JD$$d5!3J3;>nhPdzJwATbyrp*ld +L5^Y8h32)jH~}t6Dc-LbZ#A1tB~j|&Fj_|hq!h4|$Z)Z*6?L2|-c2*VM^LoPDSx0!!{la^x +3$ONotVDRbPawSARfYGep73_p5#B4m@OBNKS9{o1=JZ}Xh1Ywrs{DE{Yx=zx>qxNo(l5eSrE@FxB=}d +F;QOYg+PTd3A1O1dgKNg^*2-b}IDaxHXqFgexSZ8YQ8x-YXsVLp$oNr4nzrtD)7unIHMfS +Dz@2iQda=ibw73qIxxz17*eG$$FvLu_$hMlR>H7z*P%-N)2vfaCi)9pR~RW}Mc6Fu{MkgesK|tdb@GT +ZtlQ@n!UUPcGgcy)TZ_-%&J@SrmsrAMUA?S%dzjbHJ3QTuu&;m?+I998Y;gxKWhn(`?3`6L}hmY~L21 +s$vIHwS!Q&BbjKs+Pz4)#t4lQB)J&_#ZEix5h$FVhpuUvP#r!1i%hp?QKGcn*|Wt#y$1liRY=Q_MKJx +6iB?DxGp*fVGATU7H)2Nwi&K310Rh~2epQ@OxgyE!-+bzXRZDW^@fP$UJS&b#g{44_QhyEgL2k1(6sJ +C|0(DJEj-L~}N_j-om|fXq3p3s3o?Hi(L +?5yaa}aUUIP_-lOY=YA<)_sez}EQXx-ROn_1*8|w5{n{jmw;hWtoVv9*%zx0i`2 +i_32Zya@c?VL63pv$4o0!EQqtrhcf<%Q41RCG;PhzVor`Bhe~({M&_lu3nr!Whbb;dA{(a +OdwAYFS!;!IXeSj1zC{m>iyRZ@qJ-|7EGa)6Btnxb@lf5O4s^C=n`x+5r0!nqWgNRgS$Pcdl1n9 +0U!CgSuBp!7t;_!K3ALrWnVC9Lc=n%jb^jxcQ6B`R&4^(0b%471Aw>^n`w#&>+mL)(#Ga%@Ra?2Pjsc +b19Oj#0tNb*s_b<7&?7bXs}V%Q(*_(}{lYClh6V-_k4#uPK5EI9}Z)KGo7V$s|q!neHN3r5&E{TqIRu +Y=^BnP{WqcNRIhghAD@5a@2$$kjj!7#mM6>Nyjorp_S=WrW!2LYss1qllU|GFc^NMJUb=C_L!PHk799 +;88>+CMbbwt=Y=OV;4{oEGGb(Sazo-cCyV0iDGgXYOGOGEpyY1|W)+Lrrw(||OGXHWcX}Sui~r=5=DJ9y4;qJpYxGqSVX)TO`y2=}lNdC6*8EN+hMf!s +pijBk|$@vBL-yZ%0!aro~}Qzu0h(EK0%@*|2D+2osKu7bA#<;ZczU5tB!fey7XCXJte^&3W6=7?pzsx +4TN#p3ICTxmm?nfPDgF&k;)^a<%d=gxp0iZXAjOaeOE_#DlXin(mMznns`DA+t>Fm>AEVCX%T!Mb?n9 +v}RPk#wjI`uBb=z+ceC15}rjYlb3RC5gs_c3)3;DNHDAiR) +dG3wMBXAgU}j|9sBXj=hngt1ODSCouyW+Q8+-p+&}(N;$K>M8>BsNBGZU4t +r6)^c(PRpBc2dsBQX-p9ac{#d$)ke_e`MM?jfo=vZ0Q7oo&BQ7+FUl7t|h=Ia91RL6FdsQK|zjY4J-g +EF$MhEhP=VVivdo+=L7GjI}{}Abq4BiuJuO$pvS=d#)qTNg64o_Rj`k!*;8d!_b4lcf=*2a6q{Hsti{ +NCHn$Wc`Pn}8s@mDiP*r@CiWl>IluF>nc^YqeLWbDQJ|KeOVdFpUM_m^k6B ++;L3L1w;DS4fhQvzl6Z8zNcg(XG$l_bh9r1|M&d8<%BAocrQkKn5b5Fblm_R=_Lu;o7g4AEBizOPrdR +!zgInvf4!(SRLtUXLy03y&;RbGQ3s+`VSUy>NefC6^~BP?N^wnryy4c*FTTTE=Hr<8*6nt$BTL!@2D( +;nwB%33xu`JRdLTx$E+6AC+FY_K0)dU&?tI_fI5+e{d{2=q{ox+CkytK1h#Hg>CgF0y#6&gk7J +KT5*#l}eDg|?+_P*>-M4Qg;@PIBVG2Z&AJliiIzbSJGa3YLZCu7|8xBUiVs6f}@>s4S4i~0GM9k?CgI +b_r!z;c(vsG__=1Yl@hxMi?E2Wl(cV9wkm0vd087G@eg2lJlo=OgHwbWy^W$}eHh>hy}@sTweT+_Qvx +S!oG^KP{fjX9zNA0o?NxF19Gc?`3V0`)U2zOTF0^ZQGl@(8siPXgc9G4U#2H51seJpNo(hm*1hFE<$y +-wuFT&1wLbCQZWYOjrlcfMmaA$Cb<1KTD$c@s3CH*?Q$!#mZ+Hvgeh^Jcoj+kiDox<~bx&h3sV|GT)h +zDr~#u*eWCcp#`BJSO?TFNY>c3k_)kGanHiuI|riu&!qzi&!&GHSwL)d)uG5sc +MFPoGeC)0skvRsIouYU@)HTcr002HBUxmdrRXCUDV`Z3OdgJ}TtUwm(?TADVPJ7_=R>f<$YM55s4TYW +e;5(tyg^AR>20c-zVfo?ZH6)a;u9Tqn-29pl$0QGe*nJRb6o(yA}-{E)IUY$(;1wz{wFp-$x2aq)5%_ +)Vp>*Yka_p4nq|rY}iHxHnjzn3g=a(}tcUOa@KOJgVRTzeVP8!w?%XbJkfFW)_sP4%C!GVuYg#6ysN)U^G8 +e0P`gf_E{A6rBGZ^H4~&`E&Rg;MG^Sj>%UyKs3gJF7ZJN#P|n3(5>hYWfCcx8dY*d}E7dCS2jL=DP}% +gL%gRMD@MMk9urRq{e4X&UG;FUEu9t@Cb;9$~u)IzQd~B)tmAlic6bPeL= +(gKFPV*a?6fOh0|hpuGl7<;bux6ck=Do`Zr2^9BCs4SvB8e>#G_!i&-^y)cgnA$~U9=O)}OtZ>rCYt8 +H~`+fPTw?F}x>v5KS*Xy)(B#lzNTl8HmCUK1$5<;T-^zXTsI&f(9&<>}ec@j34O`tZ9wh~rq*+7mzCD +3%B+8{IE+L4RxGe*jQR0|XQR000O8ldVxvTAOQuA^-pYaA|NaUv_0~WN&gWaA9L>VP|P> +XD?r0VPbD}bYEXCaCuEq!HV24487+oM3%i}GPA>8S}3%g-9uqn3bX8`6yr&hiKt@-TVBZDS9UV3bFk5 +ip7ivrJ9rx@z(58;?mlV*hB~wXdx*A24?H3;`YC`La`0`|om?+#S_ALs136pW!LdCwplzSizMr3NIW3 +$KGx+l3^!$2$-WuABdFOboEebr&E)YAvNWH;%=-f0LWP~1BlL>7#csGGkL*(dDDWGX~oCm|x&m1@hHOF|mXbe*&*AfaeumnCit4$AQj>EwDxydH4^YV1gvZqUw7tGza`4g|tysshiT5`GYKRZ%}tjzAXI~g4 +Vf=sh++D_Igl`3pnr{6+29v&Wda(sgOP{Td^ms|Y>P)h>@6aWAK2mq6MmPUtei%X>?y-E^v8GkWFjDFbsz8`4ytQY!JfOeTRMYFetlp>@tRN6Q +vQ@R*>aF|NYz~jq8heAIYyiw(vbrgq|Eij$N`29JLrCc924c0y-clijTnkBwk0`=CGg3YWP8k#G%^4b +MsV#4c%1scKEo}G;lzi;QsS{_jTAU4a3BQS!eG&f#ArIl;x8BdKPHej}8@~L$%~$Q}x0gjOmjmL1TdY +$f976kzGChx6 +W3Q$samrp`PoaX~x!DChB{w`a?3;a&`&H8y$-@s~L(BxR;>RHfjtwNS93Rw3j=x+H8|EhmbO9KQH000 +080F$jzQ5s4EdO`vK0B8gN03ZMW0B~t=FJE?LZe(wAFK}UFYhh<;Zf7rFV{dJ6VRSBVd394!Yuhjoe% +G%!l9zaRrlc<;kU^J*t*n$nN}+@xRQsHW$&xF{>CD)F-$}BwW^{Uybv}Lf-FKg+@Nke0YN-%tuR5VX$ +r8203OZe(1%E*BXd4Hnj)$vOl(gNZv>YDMI%zbU!o0Z1LFg)`ec4=(IR$JGWAOH7wZ7Y|hk`oBtT8@e +69bE_anc*x6JBjBl%{DFdV~tSkjfRTwx$8j>&|x;IS1La#(EIX&Zy2KPv;yed6a=z4y~2i(*<4nK$Hz +PT<=&yE4c4lsrMt+!_)nmufDBU-*4`|Qht3NSpZB4RO}nE0Bwll5iJ8+5$zo7O7}Tj%aRy9bkquMeT$ +5-`=>c91Bv386y#FZW_z)NBwblV8qQP4`_L3R0-4b{&loC)@Be=m4p +WTM7^|>`SLqMDA@xWHImi%iO(v7LuPh3hs(=6qu +}G{*kyF*;?8Y>C)#6JhE%BzSG8zYewn}IbX1j=vB1l<+tWX3~djky#Mfp|NH2r{eDiU30G=jn-s(_cm +QadlSml2m>g%9RbqNLK&J5))dQ3@(6N*~_OKlBsYxsuu9uY7W^jm4N6R?wbvjjx=~O679Uq9MQk|u$r-F>VNeI=7k>jbc93~!v<%R8ej7)NvWjXx%ov} +YqO9KQH000080F$jzQR-d%*Pa0Y0Okh(03-ka0B~t=FJE?LZe(wAFK}UFYhh<;Zf7rFb98cbV{~>7kfODY`-0cu@XM<7?;>XK0G#t|fHqpHL +rD4a6H3rtK^qCpUA={-zMs*IxTa$DfQuHG=Fa2x=)1XJFDb8$ipJnD2mU$s6E$B$tU!tfqEx#Js$oRN +Xvf!hljuw455D;Q_lhE>Z3RU*5UVH2ro4~)R_MY?m`{jn3#;opX87B%(~ZN>B^I9%eo(hK76r*efy=gxtz> +E7@U$=9yV72Inh|JD25FY5~KePVuFzDv?IWNWL$(w(&{3_bu*O9KQH000080F$jzQ6PbF2xkKT03Zhd +03ZMW0B~t=FJE?LZe(wAFK}UFYhh<;Zf7rFba`-TZf7oVd39A?i`z&Le4k&@Xdj#dTP6wIgCP$`$QOY +S!oD2GVUI^`YgkF6%!eKQ`&7@^UMsN6ve?peb#+zsY*kesou`3y>?X4P*m2K8w8N1?)X^G>(*wtRPzNe{Z4f(;a%>*&ms0^=C|hJ1Ec@OIR@CUv}|b8AhjM(<9x!5QN`(;*EeS_ +dc_C;8TBVWm5ul5}2#+nK`W6A$cl*GAZJJCa#N+=>6qxU6vy0Wl2^SNj-O35?Q2$*X=c|nUrKz{LWTvlp_3OK}S2*+me?0c +^|iPqaOeL{$cz6^N06ezkK^titSVKskkXWA6L2w5Mgyb}QfV{Fk_X)hX2tTuTcX +#Yj0QXcE0YKOF#ro@$#Y*P2*>}!7l_h~Uxa@Fy7w_)LWE1A`d(n)C%eBQO&2Q|NtP+NI4n4eBi)7`)u +Y}unNhjSU{%ccO{?xaH@GKW~d98i}P)h>@6aWAK2mq6MmPZDDe2WpZ;aaCx;FYjfMU@wm1s#y+MNM;(XLD9awjgz}V1iU@Mk*#YlJKQ^8JB +bpKc^aOKyH|j883PVt|o?Ip~eK~m8K062v%~LRa|U=-jWM4=b +JKT6(b8)(JYrqZz=eOr0KG*YQfT!WSf$UiqKoh^SWZGejkuUc9)@G15%2tr~sjuS14%DVDOR&3as3_v +`=MDD`38{?{X`9ns1qvNqWbM1s6%VEh#L$SXmJ+;FV22&skY1zUuvw$vUs(fXE8OSY1^Vh0`ySV(|@R +|HTA97w@*w*)qu#7&9h|&CSjqj?8tze6n8Yw7H$M~Vi{5yqEMxvs|_83aIpJ#07l@W$cO +yL#dbj6(mbcPIjH96Yz~S&%_MxEs~w>EfLzxlPQEYH&LgFBv+ZQ$kf&2vt=g2?fZTGP&w9OHn!+sD*N +99NUf+oSj*3rA^apzIJsgr{RI$yw1TjKHNl=ynlQ)BwcI2nN2fz@ez28~X&o&wdZZ{;P-M$LQh3Gw~R|?kDIYX{C9jsnSiF!V_*lnhu-*vBw)sFa +s<3H~Sx$(@Zi@S9OB10Jj9p0e9YQ$PHL09^?pj#@mwbVHWBx_IQ92|2zhVeNbip(AQzZ>%9E`tmI~Vc +`|-;IsqGt6x?al&#Y3_k%iEq!g)Vd^Is6chQqYnR%-wWF?`4tEwqDxkj7uu;8>sHBUsL;WSw(Q;cXx@ +0bkKM2QeI+L5DOQ1OYa+i2gX2J4@m+(L=Zs;7OnV<*z>kgp!6(Cy1R+oE%Ssxivlwwr8ulk@mwv*x>V +8A33nWsxB)CkCNnUMd#aw1p8bG+K`8E(u;fJ)06SlTT%S1 +0FZ>DzY~{y86wMzBF&^rL-x?Vet_r)TczKMkA%1LFrC@5YzEO)k@O}!eZc41OK%Jg6GoqWm1pPhp`xt_cOFqNxE +9_A5g)OOUMUdBG+*MzPxp>;x^UW_j%XIki}A19bf2_|I}_b$DuIGnQlCjYp=^_XfRa&nBX&v60%a=w` +57=})KMdFBPW^q9H)hpuDJMs#d$S6A?ptEruOJ(bPOITLf1Vy(jniCw3stXH7xDCU~EF}v{R%kRuyfAg|8u`d9Ylv9U2D0u2H86sm|#m{W +E|%TF7d2EnK46TBur!E^AaFG{vl9K$0Yx*>cC0N>f$$xFkYRgH(iJUfw9cGLCXpXH~ko@@qw#>m86Qz +F}3ifkgYBku|+zko^N>J;%bG3;O9^h +eqSh@1ga&S=g%RHK=${vfI8z-R$47#KGxKBO|a8o&}sBK%sLRSA(a&c!!kK)6SIc*3kA#7R=q +*1HVbJ8EHz+5(vz@H`pHM06_H}oAcd#FM~M1x`der?68Ft9>Ry#r)Q*N6q3I@Rvg@7I%;NoLR6}5|!1 +j`4lk8*|`;GU`*Wfe6S`P6^oqrh6U?y1Z0oAh}_$z?4%#ysaqoZJ$nc-0|%zih+&w}B?Lcb1%S8g~M1 +&)u6o57xo?w#1K%FH?}21O^RB~t6*rCL+lNf}J#K$Pb}AEZDkv2C=CO(oE)>l;OVyK}tsw@&exnIpke +A8x1T)KD$KyY1gv_Z9Ke$r^J=#sC;Wx%`r3UG0R11q6TQE`x16Ll9q2S$I&LF(S3^OCaB+8;?8cDH9wX +ljI>K7TPwXj!si5$)4as3Jeqd|Sl8kMGAoQP%bQAR#e@VC%IOF+(u5hTVNs0K&HJ+Q`B~78Wdk+6|*^ +rgc6j6K8YK@_*v0|;Mq!l(Jw{S4}?Q +WCb(L7m!4)CT2)ASFh#}N91zPw;?%+x+1Z!%xA`6onL;Qa#k$ZfXeRyk#;IW$$s?~yc$lik*MyJ)T=o +ZG%ots3$&`4LNx!lNeYg4}1-S_}95dAWW0;|H?L=_+Y_*qzD}x-4aPHMXDSMXwAM(45PTwkp=hyOh*S +7nSg28S(nZ{jadVI}gts9vpaQr+3&zWv~~gY2%?h9-QqBLf)wxhThyx6K_b`y*@|;JK$|k*@HJj-SDP +g?1Af%Zs=w$?Ji{q-_Zc~P{NLMH>Z7F#;3cOT~c^$)Wjszdn8G9($&{3fo3dUTnjxwr +hHaB#lq;+%7m3&_xlq=pHQLx1_)r9oEBpXeV{Kz}@%L`reMg?o@6aW +AK2mq6MmPa%FLKX>w(4Wo~qHE^v93S6 +h?YG!%aKuMpmc+Ow%=%aj==Wm(*;TQbd!BwHw%;L#>Z*2S@nB<}^<|IR1LcH|^L$xCdVbG~zQ?mi>)y +F`#pk}`t-bxBi_CM%W+wkBn^W}L`7MkM1qLGq1$2@ATy-@veS$a}^`l4s5t`8v4h5Spzu+w0kN%@dFr +WBPE=??t0oR4L5#8P9WRuwembMJ^JV^C#eKa!ywHu1J|=WX&W^QV}>Cp6^H;Z%SEm7RMyn6*-rL-ika +eC5z2_hpdzPL>bm01y3>wfovs}p-v?sB+j?>8)uGzE|MaM?^(9ac~CqR6t~N^q$M+xRB13TQMT@ooG0 +5Pqv@PI$~QUhkO|~i^tfV$*7@JazcQYW`7q~j>CZU_=2(l;v_qzB%N{$Vm+x+qjC}#vAVJ6wODf2KkT +a6yf6!wwkvs;w{GN%R0$paj<$xD?5rBK%qcX^pAo{cJ>oJ^t#`R3x +=paFB7a4`8X9Ni4brH-{{GAW>9l_W9JT`HXOD#3y^a!U%|aR#raVeefuhuFY#7p@+)gOC>%x*+Y>xDqdNw>qF?6Iutjp5n`s{>x ++XpDE`B4+bJzD=6bl4yrUPaD94f)*7=T$k=+Bf-3|z|^NUYWZ#sczp{eWFA%}MK9Zm%d +aNbAL8Qc>i?OwjTXe@0iD2TZ_h>=_!BxwNt*JJeLPwJ)rb~K(wy>J%!4bUKZ8}>dlKnG>|#c&PYc%+< +tVCHY6t*+r7hNBNwNOcj}NGF|XG58(wF;B9YE~QK4F-Fw-BgJ5nmv3l_<_7P@oIb>=Bf)`jEj*h!Emt7)*#th68bPCI7l`RKj#%tl@9!*nqed +m9vUc6XBo7JsPD6^=Z4`rs+Lz6`~RHVaosLjj)Pb_fbS_$$8GnHsBG-nu7Fso58i{R&QK32vx4X7gG= +!omw9zT0uhNJ7a5o$Tusx-r(>$xqU3j740?jhIlH2UeLKaGay7U0!=<*0mB<$4FW`^?!N0<;ZhEgyh5 +R(QVONU%LwOM%FqN$gjg(KQitgJr7Znvf+j!9e?yO1&tFoIHS-lSC3mw~VJxIAjcHi4Y|tXD=>Z+C~L +>JutQ9xsQvb%GqkP+A}r3{m52wKTjuS!?5RQ;Amn^*(O+0T65Oi4K_<|8yaubL@qUb}hchxCUyr+_M>FL+$pkinJBG!U!<{=km< +V7e$*{m?z()>O%#_N?j$EH#k+Arnt%YNVOo$q)8(wEL1oIR{jkNQe$PzKGPN=iIMV&=;w%2 +y?UKJuh0g~|2g?~*}?NpY>xnZr~THvDsKlmGM7q&er$+Xoz)qZmG*VD`_? +heAyx1FLH*!WGHso}+KUAOUxiBNC2`f~o!dRK82mPJnHlUohEKk_JZ;{8M#Zhpbbr>(!)+VOQmD`Hsp +%cttTNa-&6tGqeKmxSiH5A=Vz|v6k +;DC}vQz*+lySm~6+)KwU8Otw6Wh3F4qQI(xFEWH_*~AIEW}sG2PvEnYtvw6G_kI6ZLF1Nx(E-!EHuEW +@Q{`>h`9mw8Y6<_Sx~-rbXKovkxF^gwCE6Byb!>?dvTwziEO~~RYuu?3d^-U+EB;po)PUdF1*f~V|NY +*W%G0pqZ%|7E1QY-O00;n+tx-|?$SH*z8vp>vd;kC=0001RX>c!Jc4cm4Z*nhiVPk7yXK8L{FLQ8ZV` +*k-WpZ;aaCz-L?|0ialHdJTF!H_^$x(PtZoix_ayL!guHWU7ye8MYeU4X4Q?SHZCbcAG#f{Uy{pJS%4 +nRb{!v+jWwJ55rF3M|wcV3i +HT3jyXs#eiN)k!w5;+^xdxQxc*^JTp()p#6bmy4pTqvWhA=F3`*`TH=MWLFs?HjEZ!meVoZA_0he|vQ_e)iX+Xa +95j;yc}BSp#jRL7L=6o~6k=`$>(jG<&(7{$^Tg-VdYaYMP|i_Uj@kD?m6qcLzI&qFvxdGQCU=qPzg+0 +=%6FJ_OxGvrjMZ^E|8Sq5bwvmWprxm*ar;>oM>xIh!l*2~247>o~7S6+j!*0Hvx_UMDCeRxwx_KtEk5jciQn%YxEOIa3ahD +`hlS10$;u*VsX512ShxHM@;YP&I4mOd^C5UE%zbhFe44w)m-kYV2S(f#5QPq@HF(6-D$GT(OBt@`j

GPoDao7p>_u%N7W>!h~WK1WXtOxcOjRz6V=c0QfTdtcwo%E-%ioVNyU1i(uP5jx{<4Lz5 +aSay{CjIr+MP9t2>E7}g%kV#VvAB2;3BU=&#d6RG64KHwmn)nKkltIO&6lq_ab8wnVpEL@`o8Dve5-a +e`LU%XsERKAbgfL5|-S?o1+;R& +Dju!d(Z$iHVW1oV}R`I;&PDlUJadi1+CW%3n_L_vAWCDngS;)d#RF#QEjT}_0h6)uN=@GRsrPJ7i44| +R7u8@UN2e;MzjzJ=SLq~-GJ9fYo&5W@U8xvliM3LmOhlx) +=#$+Q7BQ3f-BVeopCoAGrzTRct<$U%kqLu&TC0JmU%&WIZDvUHYJJAmDDk`hR_HCwJ9bQ;&Hl+axtBV +{zBt?2v)!yPcqmY|rxy?E@NEc%UUo@sMtRR^V!|J80PS|3l_lE#68a7}W0Q%ktssmxfCD%uTJ<`X +eVM7W$g4!-CX>U@Z$BR4`3?+!&$f5INGq5zkv^j#vnSvn3vm`ZTSkz`m76dy1v{uGpU*n@l&QVv-y{GfUq6AV5QTY38LY( +GwZpFolynb`EBY7&tLP&#J6!bdeM&yO@Lm4BMn$%6hE{vMrM#F3KTcOHMHKOJIZI+ +dBSz#tz1)9+dGr +D4FyO#*-{3s-5DxpQ8}@gX2>jhO{@o=4e|L?4cZtCFuJIoX$29?5uq?3Xy)l|KSwn;kG`m#34;rpf5< +=5Syx0h7<4URAEQB=N0nU?)f&~6qwr0`?`VFZ^+AN7TX*OgImNlxJYAiX0w^q9hp&-7y?y3t9NygJBw +cNFQJR1n!i5rd(EDKPKc{;@e-&fQv$C~q$FWnxpQXI{BRW=P*?Kag|kqF9k!ZPi3)~W|4OLzFL4Z%>l +z&RV3x46R9S=H-sxVP}qw|R+L93wyxQgZep1h;u@8oqmrIk#3g9G!Y`A(P^9<#QlRF^RoC@Ak7>3ot- +R{r%YXPm2MkdQv@O{|c$%S}8s&6O*$4m9t}5!Hr{`P>*dq1WvuhJDhfKpba6~8XG1&-fk<*{hZmfpY^X- +5xTlD%)-1X9m1Dgo=dn?n2qah9ykjK~l|Kv0ujq0I{!3!`#+kG{j*qrNW<8S>oKXF&S(yoQU@N3O&IF +DlO+v3JekR6N$Q%=fp=j4RJ8D?UvUeROmvq{E37*$jjt99$u;jn1Z8cKnP-aSjNNxPWgIjpT2`c$DYI +rsCIT&J0sz0ul`pZyX3EQl?Ev^tQjCs)l)KP>9d-8uir^NQT9?Ci&XMqjA16s*(BA#fCCPhLi1j+MM* ++nJ16`rWyWMs0SQa?}bw*x<>H+&6A~sPefe>gmz!m=|>8(zm^Zx7bf>32tsilk8%8{8Om8ic4CweZA;*Zw*@vuoe4V+@9-xRhF?L=zKOk^58uG)+!DGd +!;I4IElN<(cu>OB252sL;Q5mo(O=?up+N;z6}}9VBxTm@VFRH`|vf-38z}vQtIiCc%bc5Tdg~C(wgw`&#l +HZZ}*C5I-(rnJazIA|0hTcb?CZl^E*vuxZHYwTj26~0rL +8aI%QKW09JM6wxi1;dSYyNMWnXKHpB$D(UJMv|xks>BY7HHouA+8E^A#CZm00q80`FHamtQJ9M%*2P3 +G+fyS>ufzd|qHsxua_XfGP`LVidP~tAb!`WJyKIZ;yf`?K_r$+Eaa*_dy`bY=wl~7jTbjwo>uQ42nAZN?k@$VF +OZraQaki#(tPXqT0wB +|Ty3DT_?#b4o0Z$P0vQE-sh$<1u@-b^(@n3!vwDlVks8kofZQ(jn1+P57N!E`k)A}PUbdi*M^qldbpR +@G`c`^@ronm=A140i5Z&%c{DC)woTtjLs!{OqzNWtxIRvcHi8M&^ReZ${O7(f>&ji&QiKiM#Hy~Z%$Y +KVj_5^hJBS`BH^4i+MDh?1`oICLlxi2-Bk31ievN3y9@n15aQbI;vxu%Tr5BCCzRZPD!Yei?Dwwd~MWVRy+A7n7 +!rCn!Es#Qtf-=UQJu`n|bsN;fjhH-XrlEbSGV_k!5u4oqw_BiC%<Zik_}!N@$}CRjH%yEJS)UA70K;WB&{G-H;mcxfm7^_WZhP?mB%#U$a +o3tv|WC9NlWM&3`oxw_UvltjqQ*n3Dc5+EItwLvbAV`f#u% +*tTHeRT)?}TbeYokCUmGlx5sEjq?!DZF76AAg3{MlVnG;YS4n=Rk-qqmz_(;niTPkv^5f$8iKoFhdD_?JcrSlluc +Ox4!MxF%_}(pXAuVZ6Tf_qHK|i21m5mxR7iTmoe?1>K&+ja&t&rOv?9Lh_fff4IUdnruIs;cPC!XRpX +;UB9VBhTrALpEu@&($~ohOLDS|(0@{V?h~!a0It7ko}svir=;`Hy}YUfOT~*PjJt4jo>RdcPPwb6sNy +`*@1o;3?xMvc3b&96MhtMp74}JKwRz$AIwvQUcuqC)f)c5E-OBD}uyt@&E8_*hq4ahwtf_?yS}ev1mo +8~80(HG`Q3-dVhEX>&UV?Y0+?AU85AY(-vj4~M;(xZ*pYh^ftn-J=B8-3#Lc$0EgAhfbB(&p145#*AQ +52yl0wZ7uLBC6+i4OkyAyGtqgd+0;$>r&R)}TXQ=@?A~f7mJT4!5B17lc3D%q03y;^EH}tmwn-|IlV| +;-~}fcrynNBImJca**VS{XF0g5F?r&40{|r)aE=`5+dxD%mO0jJ7;BGP<8QNVwL77r8!{5NRvKvB +RqFiJ2$_2)B-J6QbN%;MjHV&K0)i^pXG{{dS3!({?Ly3VgW{~yr&qd_pEXWl#j>6GG-WxgFUjCQawER +zR=S-2$;k#<_3200Qxq&xSb9fuHdooK)_T8Z2C&Yi033gCfir)!uSL1Hg$IyZMuAM)*Rja;?h{MOy{^ +R-#*(LHUsEuX8}t~37^nm+@6@zYl&#$ +s7|Lb2S`i;TchdNypA9gd2e +>CtgJ6r_%nN^s;hdswWjRWatdJPzT#P+F=*(MH3F6^nv^B;kYZv5&HgtgbC#-F7R8qX0KT)WV{mO +&5PYJs>yq9O)whM1?@lEtQEpbcIxdB$mTcNp~nBP*~0!$m@Vw5%og?sIZv1%F@l0YYX1jfAOXWTPJ%c +^g3zJ!Nuk8i`iXwmY*8O1xqs}T53w1_juhX~BuN}eJcK+FeMes<{23DU{gU-TPehNRG6Eju=m#MbQt;7W64|$DiW)z8@q#(wboYDT`-^IYiLI`0a4_kiyCjDq@a(@F +#S1J*A&ftr2!)FLV50O&;}j@YBCa?R))OV0k%Gk&*SQ*$RY4M%m!?f_#kaG9}3y1s3OT$+iEH*@FK6Y +qtKhwVyXz-(g+zp7P~MCa=@v5|>`WE#aO3q$n-dgu#^?8uie+P2=igpznCM!AxO@ +dyMQQv<>Bg3@N_N+avK(J2Kx!=%6`y&wx^Yo87&&O3b=&+*7dHDDT|Xw!^e!9-;C}p5`B+vOn;>ZduS +<^83kr%FA7NnVQ +}EdF6`35vfiUnB(?W+}@D9L`@9XTP`G^)L;9* +eJRN&BnFQ{4fYu;5hKSc$VbBEpxls$Bp`+yb~J;ITG2T+@7KPXT{iRytto&j+I99e(Q7D +1k@Z3KPm)70C%VXeS_s~QCXfBV2j<55fcdMs;T2Km5Z9Y~{Lcf?oY5T<#&fYgO`Rx1e2O&LF!PUUP6F +^Bc8z89|J@m{bX_qo?%_gq-L1n+Zn4ahAuP*6Vt(ij-@cJ2FvER(384#w5A9YF5$Z0~SeYNR(`oV!-Rr*Ejt>y=kgl>P$rxyM`gmRbnzm39K=TQ4B +IR8ZYO@l6mK90@P~Z!KH}WTQ2iC=*_khxflO!P`75d6FP>xx#fyt8u4tk{A2L1EUUrBD%~$j!b2jSEbry4z(GVvLj#SJMtQ0{Ee-~CuMt0KB!D{vnL1aAa4VOiL-x^c2 +zFsN1d-ofozhiW3B8stEQN7mYAPPPs#V=)Z`8VwW2hBPSKW^n0da@>pKznQk`ZYeQZ|> +w(m5=zH3?No}|ALO&uTufneL^2E^)}NRo?NUESubat~oiF8tso;BzeQgxwYoZPrF#d!X=Coz{AG^b2; +sRoWGItIeMPX6vFS1L55kW&A*^p{W>x$A$8p;ZZ0odXsaadZUbV*1dZM6IfcN&N)1f*?LLs3GkhEdwR +n)d>A(5t_7k|uR|;$@qNjKPj3!M8PXS3=9rt^>QlByBJg +v%Y%Gg)QFHoYTdAxes9dl0clb%Hgw1XH2OP;snL7G_cLQR(-!|N8LPeV4tW|k?(H&9N8CS-pH^HTu_{ +${5-d}HUeV&;DCfos)OtEw_&eS0d;-4qx#5_-9~rDuDpUfny{Os-?{7ke{TOwif4EoCo147Qkov@;1v +eU1bI@>DD;7zZeL2e4-^%>Jn=iJL249`*uCUjn>(f +oiUFH*`dvV-bAOwYO_K`i(FM6J{$=YbjcTqrrBA9{%s~m9J(?QoD-FJIt$%afB*`Q@?zq5j>C+8Usm< +fX;IW+MA%u`qOe#tgk*Z+5ASPgp833b)X|#kb%@WU&VS}WQl~PY8B9zCe;L%qYKb3ar8nkt~VJltDze +ipDwgzx$YlsH&F{aa0ex2ZACiL~%<&CU`kLaqkTVr?brN1J3tlC^p4i($IWYcwmv4y2vF-mi{Cx9~Hi +C?BCv=M&yo~JavGJ@tDqD65$kEe_!HKf)xVMrwm)uY0oh}qG!-MRQW-y`l)698h8D+#J8wx2VKZ_ix|mKsfa +!;WEpuhgXPd6GI2Dvkw>-WC!v&V#@f4_x7Ln7wtHQIOsA*`YO&2;005kwb +SEiKTMIKpP>&Fbl^BNIfywF_Nj*8N7Q&oTznwZj;MC*wL`A#!-Cl(OZcPk2Om;^#}Vp7yh%Q6m!s)9J ++_7YZ4pCAKB%kuJ?ir6@1w5ZzeHX4S)RY5F6OUMm+1z-A+N8KCXcC-$24S{$JDwxntoS6t$#f@t92Qv +!nf+inELzD0mrzXGk-lX@XeVQ#iqNjb1Eg_H+c3ZbhZbrZpB!@SLx#;aF_n1qxOryMez~1U_SyEyYoQ +F^i<{dyR{7#um{V~RqRHDZto~0K4fdcUUWgBvWS#hy_1U9Sb;BfL4 +m_=^)$ABY57z${r!Z@#N5jT<%mp;d_8kNqLTRtjer#$*kRZj))evsg9&Tcs?^h0M+(2Oel$&BZ>^d+9J5Yhm>TpAqXr|9jOQ`HomLFl-OUF;q!TwfkqaHb$QUzk=- +PS47Zff|!u<7HI+vrs?n9BUD`x7nhV)4?T6c{W|YMi4F2&Q2N2tgg9(46e5UB-vA@EG(c1W!pR9l+ah +7zcp9)wxs3#dD)P&Vn(y+4Nl<%;Je~8Ur)H(Yh+m3VMB}MuMwVGz&VUvFvi5r=?WH)3h9obpvsf#b(! +mRfi{g3YJn$idmtXNVVTDr7Y3x$u@~d{27MqY^xHdpsaS*A-O#24st{ubJ9EI4lyw*BB> +Wj&l74#9Pq7T1?E5ZV0O&2DMR$uz=-u2jJ=^ak(Y+0BJaB~Lo+mNY*rEu}!#U>Vh4 +u>1iFBCl!Z`CV$*V;xjZA3IcUwp&Ft@~D4dgf{Rm&ELmr1&;R0i3t*XEgqhn7!cxEwe#a+2k{sqv}0& +uPZsn&w}`q*5ogvIrl}lTe>bUcfjYFeq2wTxI#S95 +Vk3zA=XC9aB4AS(TU)|{3;?>ZB0&+pN_{N<22l4{oG}k>Qe>|=Bm4MX+!`@03dnd0Md3oVT|zYYpdO0dKTwa?mG-Yt>A)surV7Fz4`zSsw4tu`&k%c1&2`{DiowvdTetgr3>q*7 +C8#+AJ{N>_yCJQ;DNSq?H(gH8qiz%VX9!|JtPHlh)!h71jfhcF2|U)^}bDZyhrhF_x7TV4s@m@=_p}Q +t(a(^3|EIGbzFk(GH$2;7p*JLla@og=cvLGOEdRy6}ziyHLu-`%^R}SM@dXZ08IIjdBS~C(5+*IxPm_a2q+r +xbA0+OPbU9soQz>BB2W{!qIPw1UhnL*?BQ=3_j9Zv-_;R_k)z*?_|)unY?OV9 +k}2}<3^^baN*xVd`&W$mbdvob&y|1l5wnA+fqq0*&`(hj!~RX8N9R8Nnf-N09%rA?56MvoMWTPh*pC| +0(xVEwpO=b{ab4+$AwtFn#5#(k;3wsu9mNOYGd>IhkN-$~oPhY$6!w$tFWjNmzKNrO4Lp)}8Fo-$qU@ +i}lQ7sqU<-Qx=Q#DsThQ?%{XIcej#0j+BVg^3?$>53+1epW+?Z?XYoKcFuKa6?e8J=cg#lkiZX1OG?* +WYGt^wTqPO#)NZS)tGhj9=(VAbBiRV{5_NFIAg_J@Ntqx{ny0pD)vXLj^YWB@vc>9QMkryx!fNslsvK +v|#8=@z0*T563AAjbUI?fiVkao0eU@D#ggE)9(F;uq&)n}q?9TR4_a@Ky~9l$9;9vB4wvYK3~dUJh`| +%7lGw=T=kRNvwkoM(O40WWBG*Xm8S7@uTlIIq#5HnC>$T_N3vx8hP+Q@|h@lzycfeCTm5-Udc9nz^kf +M5W6_Em_Tu-pXsKadktwuMQXEgD72>&3U8m9PN&xmc@51V+^*%`a1J~3QzhFD)NQ_S4O29lHiem}WMou?hx(ZwRBBS{xr)_8OdhI;eN!Anh +))Kti*t=$#)=Bo{!pAv@Pkn#;Q#A>(iHsN~)%^vJUNYnKof2EgddA)>JLR+|v?`Tlfi1T)tlMSRA_PM +YiuRm^>22`RuWVQ}|Go|Z?WufmOu0P5EI7T>Yx0!joU;X8EGG0mRs+F#F!C%aipyAh@yTbi_BF#$>1} +54mDwMf8*}QdCy5H_Sgkuj@7adxt-`5H|Igp}G&3pmyM}@b+WHegF78+Hu25S$-{*f37hO9FuyE1uq) +vJW4ZcM16TL7NMYfa4RX(3kJ94QLpG4EB5$u^qiR5_}HKz*GPa_TQDUrGkrypxY-lIrGC! +s(NUJ4SKl!I6VGX?8c(ii-JbRr=X!Iq)H1A+<1N8hJ{p7I`-jyYP@eDJd(V06NeOkY-Xg_IepO(F(;pI(#U)TfMi2yTB^6fk};GAQWN#g82Xt`s^lZTmq8Jo08F{>flPpINKPzljftgTjtJvlRW5A +jyN40spPKs}LUi2@wA-!rH)){0oGo{X>NHn3b<1u~y-a2+O&+RV+5OBxp^5nD3ZYy-$^s6U +^@oEsqy3Xz0pHu!&+h6#T0a{3@Ga7UrQRlczIx+)I3?#3v5FR8$6&(`H0CNnaU70oirXdBP&4smrXgJAQVq`{YGJ8u +D^X0XPTtRjb%NGK8ZTh9pb8D7Hq~U_@DO-pZdVH5AD8od#UQ)H?!8>L?&XZHtyxO%M}6YW%`;aruf&o +PZf)9N$Xc#D#{R28~fMIV-U6Wd+&uVYTuShL7Mh(GqrJ>g(Mh| +hWE!XRUHmq8n+=CADpDrq2II6JsOPYn{5TC^}5_?*oN_*cf455{eZ*a=R>KBut5SXLi_R*Z!potRKmV +f#okc1#A2gduWm)TfViyXb?`63D@LF7YVDp7rV|k=dsyb?5p4wfflq68vpmvS;|YpJ>^Zu$Em*@i*dY +MtwVzC5@)lt#bkFaKbDm*!eo=$gkesgNa>+zaa5I*rKlLvN6ou!O^jFwf4Rc=!@FL;jviDc9mic7|$x +lS`X*$x)Y`vnjO6AleGW?7+@KHJMS_eP +nBYe$33)?%G9yr`3?u$EZY(3s(WpatWu6e9nmfZoBo|{)IjX^pT*U}0-P7P+T!1sVDR-`PeIn?#s9hr +s6Rr~a_`#H1>C-RuELf&&ZC4cEG~=byex~JM9upNE$pr=25vLfUZzaeERn%Q+>~nBiwMm@#r_6L=8LK +{ll&_~-n-X=q@F!@MeJUM&Z3Zu-2sCrcD*;np@;*Bw`uNaw`Nb@Yki?nllNO>2Q;VNFT&AFmUk9^(Mc +Y6Mq5x@vJ$pb~HU=X<*S4ja3X=1iQ1A-t(_zam`TikJ<9qa!E?!b*+hVATW(sJgTnpT0)g0w=z|%
B0pGLSV$2;?R!o@5C65eB@Kv?k@n~2YHWED3H@z5z1i?$XA|RxlwdkyMJ5oIF0Rb#u*Ig%I-Q^Bxx# +Cfbh!KtkWL2W{yZ}J^5|kyHW>~~?qd?_If=C|1MwOv%0b$FddP5%ripx<=rwd +sF-(Z~Pgx&O~0cKN>#R;ra{|2h;evo8<)?=G9pO;$wB|C+L)9nb$)@_+ve20`jye|+Wt`d7Z=s_4t|T +bBOoHD>>Mbj|t=lKcPL-o7HmpWfFWd%4gZ5mE>Se-9O+@lhsBsLzBi{Ft5sCI^55vkxLe4z}3AvyYB) +V+?;66_TG&Q$3OjE>8FI69W7QnN{i!T)g96iJF5GU5EP1hIuJh0-W{$UnZf*c@xdl +TkN&KEi5;#IpDwK&Iu_jl=fQA;j|AerAv8O{=MDpRunK*+ZTp@M^6ep#{CB93za6M>{k6fLw;Ekl{-o +DAej57U-w?NeqjyQDY3J+AR?cx>=@&>fN__JQR&?1HYrl#IUm&dstzSeiJq!fCv>#!w&^O+(=Z=D)7Ww)@l`U(t&!h1A=ZGKjoCrT<-Q<8dQp3GK +l^d=qt^Nr=`~4b?(U_j1K;dp7%hxn7c()51%De^#@%Oaqmdnou7GAc;FmNYeW)xS2cgfg`p-A)d-n_Y +CpYYS_Y3$ZH|%@&3-~8D?0feM_^TUsOiTN_VQIjZX=yB8Uc(i}P&GO!A#T%5kHk-Ps9eJwWVjV{?{dA +J-w~U|)D{?l(pz~jLT4K=9W+U%P*>mbS`}xcSUMwmur$p(*{J4SJCK&UCdmUX-s~fzqIT5%*559d+=V +3X&@2?eal3XEeszz@D`Q++CP~~^r{i@z&rXm@xdbueBC(%c!db|#9J%n+QcJE#=>c=1IOAE4FgA<2)% +KUyX0)rvqU6Rdyf4&piZku_D=NMx6(0FGzhB!lj1D%rF+wiY?*bh9q+MWjKwn>eB78#CZ&KXudN1_E{Dy@UIrp+Yr=2Q~9t!F6cXvSKcOq=o%iIg_b>H22_-w6JGV +g*eC%?>tM0$h|nR1m|}~Zl4>i0Y93SmW5>6j1ipKWK{>bUCt^Wi2cx3SXlY0Iq)}=GH+*~w(rAyQz#o +@)u(lS3Z!v$Wx^4$C{VZcF?dQvU!uYDnio?-r{&u4by&Um$t>ad5d!8t-|%x<&kijZif>J43u^1={0v +ICqD_}!UrC9Ok+vOm!t%5r?;p_>*%u=wY$_gN$^b}VM9O>m&a(oUtBYy> +P>7fd!(%26H>9y5N`~O>(FUUGO;K>{2jVuy$n%{o}s-Iqmw}WlTzAG`c$5U{&Qy!!T+;B-FFyn +x0zo?vLBRu5P&-t>j${%9A3q!&KG2b>%88@6NJa-${^(rXPeuFyoq+IhI`F_lpS&4*bdsakpHX|(H?nGi44DrUL(s%uW!q30Coj#IAfuQ&G!AF +!b=mv!g%!$ni#aH_70xD3ZifHBUtanM`fvE{&bS#a)3iUQ`$q`R4m^~+u)&R6#J7JNu*x!<$iQoEnnN +(mHV$}|E+QAm_iYGVIRQ4{+)VB{I83F*{6ZQVpjAYnr%Hpvj5NN +v@IOOJGAw}}dj4Q9XphV5)`DLX?FMr&^7z##F48ohUFcZM6M)!y~6mpUqg%tok^@(ai4Kj{4gJ{+TKT4T$Q*4bU^8;|RC=IQW4!#lG4P46d1! +wId52CIq!2J0>hm=u`|jUEa__`Y0_^1X--Xy{U!Sy~lYN(#nV>|NgU+b5>wKWJ +6LIoK>70#S1wNfqcENiTZCSk}?`=6HRQZ;lb4d?XIISV$t!^<)j3mBL@#nRT1(yDhV0GO-1c=M3iw=t +xbsr|j56t(s+Q$FsBEM=I|89XljH?3)48vgZ`{O0hBgMbFf!*N3pQJzWDH0&yXS_7}84(>Hu_p=b2fy +n8vQInGQMZVHp@Kx8Zm7edz@J&y_~BEc6kT#9Ygc>?Sbeo<9 +?0-K%YT)M@apdb-jnAQ1a0}$qrp)@Y92}@9E&;VxRE&=#To_qD6f;0OVIS5nkj6^}BOV|oOta_SKnE}wX? +zAu1U@3#2s!TQfz{JR|jf49ZI+aYjl@#j^6Ip6o*8qbkA<906NfCw-e#MrVgT`&>+4vv0N3CnIue8)3 +qVU*p-fpx)y^Y=W*^NX!RDo_WNtcE9rxNLs~Y^k@MZs3TD$VP;3=B!C?*&gcQH$P)8fTrnBJIPE2zPB#iK*E?81tp6z4#-0dKx}48A+_O3RyibOGT1 +d0#0iq1UD`(2$vk)P?lE6Y+v-(=$ZK=i8>V^JW@$z9sC*-BF8?o`xxQMqQMo3uM%njgs^Nf&l+r5R=c +bUcusD4D#Ol{AcC_SMjIL%p|XWrc*mMty`I5+iF_dP_bM5ma5a+$>wVg)-8*ht#9L_#bcL=q>OE=6$@ +L3IrV)7(@@bw26k=_PD(<4}3ON5hi%z5x-1KwNIIdpxs-6>2EA$oIOJCp<_-w4gEWNX(bwMz&}pn=1kRf>EoaU;Q6(5{&Xp-Ocj}?EmRv-wRse +Pvh%Jv(1rDa3^k~ZTdI?Q*s>e8=#<4R0arjwf;4uzet_R-Zi#dAboFQyqQucBB`Zp4vthTJRYjQd*#G?(}6cKmi{lhIk8aQx~S5^`glcg +Jpi%chfHn{0~Jsq-#bs9i|22g}{=a1_q%kO&a$a$q6o>7pTfcL!MPA{sKg+jJ*-sbe@EeMkavP>>1Y% +!5Ylhi^5A+^&-GGc<0%m5|GK2`BWMji-dJ1MBHLH&=9W$(DLB>fbNnMo+FOw2x9L0`4@O^j1MmZGzu3 +gaKa4!w@XS*t1 +FW_!L`~Xd8(vUaCD>m`KpQMg?IL6XWySiQGfan?-1vOLdf=5?3f=J$IEu417ia( +I-!szfc#lB_52+t0{UOi12DRLGRo&HcMgo4TcXAdn|t&eq9vX5q|R(J6H4VN9{uH%UIL5zwI&mmz~97 +>9a3TO6ap;di+Uh;(u(>Z}99d7W`47ouWvZ*xwI?Bxo8(a2!PufgO +@3+xVq66!OUM1S)9#7AEpK6-Wcpc%=2is#_sKvR1(PkrXbvkwv@;}5SJeFWGseXPXfAKaB4;4uDxuKZ +U`DCCC`4yKPn1^J1{3+f2s(+?pCNgPcv#}$(QLXjf_k$>_Kczob=o3-dU?KlO9mnNY8{{e_DRn!>B)^C;Rkotp&c)We;wh$er6gjIMQ_{YI-1Is0}`a +7)1I7$oVeZ{%j;{`z^)sYNGY(E0FN++BP-;P(aXFS3ik_qvN_{qHF(<1>XNyo`ed?tT6uz36<~wqv}v +80!-J0)CvrG8EnV8qj^h>@2W7qqR|w&~0T^*l*!=d)>FYmd!~(f_Y0MeG6od*UXlp-tD`1d_O1i?SS7 +G{3gQ){JV)b?-x$Yaz<%erRGID8l|^HjpC +zH>}Pm_$-;k1FTh_c0%?>+1x06vIbtBsJJ#Bu3LZ3@$l~!DDU^&*rxdQZ8O+53;p$tBDObD7t2qD=5i +ud^-lO~_lIaq{845~}8GHEivgkW(0cF*6!;2co=3-yzEffpqnLRNI6sEwq0SlG!P1mD{9A?EG?H4guT +|e6p#vYcl=bEy9VwMReA$&0V6zXj~c}yWwa;EI?#1&u|R~1W?iEcVp)W#{_{e1QGbTu0<-3S|Z)0S(F +6mhV1km#w@tI_0_XDPY&W!abs&`~SAk;wgt(+P#|82DQQ1|qD^o7KKHV0>x52>;yX3jD13!Z0Dl=!_g +6uMg0fJ253Jcez+y10TdMXLSuZj+J=h<#NE6whs2!y2JvfgLuAmp=1_!Onhi;_YNyceXB+?l@*YBbx_ +1OCaN?@KzWS!7@9_P#HsgFCf5xPx7D@3=uYI6U?2-~6<%DdERa!^wN)X2(%#+t%MTUj1gdA2Z49~Epn +JYuF(Ml?%31Yyyt`NM!u7a)4NSCdA270IX&j>fSjZ1n2PxR1_i#NoC!RSG#ab +-p1Zk+8F{)N+*P`SZM(vRnZ1RcxJ<*nueHL~+;BniOy{>sjR`L<|-3G`sX=#7>yIf9^CFHI}pP(<#ks +Jd7$SV5Ep1Tb?W3`4C$kc|hN>7rk7ru5s_r_Ymey3VY3L+vCU-%Cgf-WXmC?U;)u83acW3Z*Cv#|fIkXp+ +J)jG_pFMi~-iep-)5kWUjPaJB +S6IKxZV$Q)&s*r^=|MFW1p-!lG +N{Dwf}p9*pDPM9KD)5^!(K)%y%c|GnDt*U~fgJQ3z7JPp9qf=ig^{x;baTCVluIwCn1vKhW=Zwwu($J +)8MSzbd|N7|+#Aaj(?SPaK_M=i4hU{~8jDnmV;S$c(>7#?ur)=cRmk)b^}IW09(l-iAdx??7-AiUBV7 +p>O}FdCEFl2Sei$vxtygV)WZsw}E}F6 +BWZT5t*>EU}s6Y4Urm)6Z*ZHZ6j6GO7iA3mZ)OM2%Adm)jJFR%r*3bWrlH^y6B*333Nz6qYTUF8m?S1 +uj%da;9RAmJDUbmkBM&MiRc@C~P%e*50g`i}tk2%2(j~mA7FgSLTy!%J9hse(FQbNKdgmzQ~zq8SL(4 +2EZzCsobL+MZu7YMy2+w8EH6Ld-1kz1)rw%+K_tLBC)j1a0CJS~Mf(iPENB%lv&5e4Pc>ExR$KF!VwA +#YBL?kAEOu4~zP%=KK;mVz6X%uKIO;%Utsb{AL&+&caW47UxRQmDGIkTI2$90UvI8k!pxlP6}+pvN=I +yDTjZKF?Lmw#uoXng^~Mic?(`X#+BtINiglsJgtm<}n;d5_+AV;Jh{BQ0B{=PHJNhHboTk+VHo{zLOw +i7|Lsj^tW9C+S9-DZ^#XD`C6T!T1wAFJ%^>d81H%g2es!TX})y7>oR{O?moh|!za0Y{m$p%Hz!Z4erS +iX&L1CdbcA$Y5B;0D`~QpQ`8~b=>vQ~&?cZT3!yLpL2bVZTV=!~fF;FDFdrtyE35H~TUJL#r)3STLj5 +!Lo`+xU<4aE-Cza#p>5B_f?KjN<4+Z8|WR69J?X8;t-4}X;u2W!S5BuyV=AIOK!WA~eTV2OTsG>-k#q +u9WpzoM=Ekkl5Rif|Sm3mxjz>2W0ak)J8Ze_`oIMf&4_u}|n*;2$+=^oT8!_=p&fDb(W7o8GnB_CAYIQH3k-*N@vzkafdd(peTmX6i$%6@cP4H)o}jw8n%~_hr}H*smAWQk9Na#U~+WeSan~s4L +ZAO(XMmfAE@y-WSJ;_z4sM`w11$bSX%t%kgvBP--+~uW&@^ZN9v=TgAMj6v3mgt3(g9&GM#F=A5iye& +U8V(g6d4!P13Pwh#_1yNmSR<@FrDpC8r4E-@0`Jji%?v4YlTQ4abs7GkKp$$H^qFV2xA<=&@F)b9EG~Oxaenbm?uCGqiw|5Pk4h9Sc3#HznlnZX?!wZlH+A+n +tGty^t(J59Ses-!pNt?#ueIzxv6v!XmR9C(zbL4 +adQ7CXUB5=Y?WfaIWNjeM%8P%CwafD8!1{WgC!TxW6!v~?_FG_=7ju@F#lK_)w!O99tdOV9Rb08?Ix- +_f4`8?A(Yej*t_mJBqIx*sgy+(PICZa(z@YgrB&>lyH`m$d;F$#bxRh6%RG-($1-Y$*o#6sGe;&yIJ~ +J6VMgYd|6BV-5o*vYVOz0hQ`e*-P@?kOSFUt(HaK5_e!vsX=)mD0H+R-UT>9o7yWw(D1eYVAk;hJAZB +1Z0(k(QP5M)XRwD>KR4n{zi#Oys +bMmXa5_F5C3CaM0fy33C;2tc6E?Efi*2NcjDDNsHUcBUDIO7^%oDnSgowoHMZ9882)5P?x6Vy2`TqS|NG*0^9iR34&4B>Fc}ueIg!69D@6C%G#Z* +H>)b*Sj~ckhJ9lepweIxdn7y%!4ozil^jWm0zGH0odW(uTGz=n5A8vFbD0P7*}bF$gXya?mn{p?J)vZXlc49@z#5p?;p{Ihxg$O$+r{b2#)GiH>eH-HXU`|zb|R^S}x4+< +`Iy|Iq-z51CUTLnJC67qfzx%b +PrEFl%?V;t4z`z?MhQXi!ns0-yRU`Xd)~i$LH(e-PJH=oc@?QXm5c(q0>lM}1XNy7W|*tuWK4H-lh{^ +V3AIYAg0`r*2`v*3I5n_jc|K!L6=>69(q2~XqYxo93|HJct4^iQtq0b{v@sYFM!R3z9b_|*(N5 +$cgEc{dnX#CT^ksKw7^yi`p@Q0urCXc*KOnw>{nWKAfUpV>9Hl*Z-Q}?q&{u#C1mq*Zj=U?SzK6*6_d +W_D(=ziX#$t1y#ddD%9iylj-U(S>slM_exWO4AT5TEggV=y;AQaNaRaFw7Rjc($TJ;DxJ-oHYh5`R#~ +LYHsolVg7|BXR#j%fE#vFW~f{%={wZ!rgX|D0xfz76n~UzQHrfmb^zI9Z3#-_Xb84N#1Q!lH3`aBJj;iiEH2a{;j^}nLWVB&$ZsM +c!t~cNv)*+uNN&kg`9LT=HHr;W*w!FAsXCQV^>nNX=7voSxY4r8?ZOy-*2k`v^`A?n)@cje%Po4+x{R +8<=o(JNr`W{9P!!yX+GWsy9f&d-{4>g}^~gW7@r5f1{&zdM3_|v#k-HX$Ep^!2#vHH6Z$muGCX0z|wUF9}~DkAL;R$AYOyH^1T?d7&i{QyDRp#UkfirUY^y1 +(K&@{bJlMJ;p02S%4t`AWXPD%Hp$RhaY8DW6#*i?5jvc|A`J#V49v!g+V6T57Sj8KRSCbf7i>z=crz6T>XXc|2tfslwa)!{CcK-7|l)9-t3- +UFH=39JN_<&4>Wc#TxFSfGgZM60mjZj;(5%=t$=l_OwOf{?d7qYpNyF|Q5D(oDP+Hwz8RD`fkx7`(8- +*q*TajWOY{V!EX^0Im%=hQb^SOJ3Bdu&S1%se5{jf@wUJ3mLd?`2zc;?xrDMDT=EVT +xMY3#`Ou-tKfALa)BlAD*rNIxekVbpeT1Owsd0b>JoSTAe3d2tE0y(Q(fnDX)oQ%Z{|8+6+?h+f^K1P +#Z(fVFnltIy0`DyqnTgn_SJ~3yiPrqY7gO!aM(r)m(!Xjn!LjGvACjKdX#@z$^rA8Hjp7L=?A2>Q7H} +Xh_3$@tZk>4@<+Jrx35(N$NT9EJ;od(Zb$3R0%59#6cG)lwp^ZpL;_fwqs;Vy( +DczM{AtilvjPQ~!DS7i~r>+N}63~w}E-6QKOAYkfuBi>*?wkHSODEZYSS^Nw)LNnS^Rh`OIlHpkru7d +X*P%${os)~!miL&lJ+?qfOW7w&Uvi0nZd%Sj%(B{n8Q)&?-_;^s_Id4do>SNG~mRsl`GT$f=pXkVIGr +ch@faE<0PaVN)bGe*0uo-V)Exi;*EGzZ|iIQXFW4<;V|MccFgYykNoo4%~lKE3nJRJw_=}Mt;is|b4i +u#a6-}u=KhTxS&su6aWnRz?RWjrS|)O(