CS61A Course Reader
Transcription
CS61A Course Reader
CS61A Course Reader Summer 2003 Table of Contents: General Course Information 1 Assignments: Labs 14 Homeworks 35 Projects 82 Reference Materials: Lecture Notes 95 Object-Oriented Programming: Above the Line 167 OOP Reference Manual 177 Object-Oriented Programming: Below the Line 180 Highlights of GNU Emacs 187 Emacs Quick Reference Guide Revised Report on Scheme 207 210 UNIVERSITY of CALIFORNIA at Berkeley Department of Electrical Engineering and Computer Sciences Computer Sciences Division CS61A Course Info Kurt Meinz Summer 2003 CS61A: The Structure and Interpretation of Computer Programs General Course Information 1 Introduction The CS 61 series is an introduction to computer science, with particular emphasis on software and on machines from a programmer’s point of view. This first course concentrates mostly on the idea of abstraction, allowing the programmer to think in terms appropriate to the problem rather than in low-level operations dictated by the computer hardware. The next course, CS 61B, will deal with the more advanced engineering aspects of software—on constructing and analyzing large programs and on techniques for handling computationally expensive programs. Finally, CS 61C concentrates on machines and how they carry out the programs you write. In CS 61A, we are interested in teaching you about programming per se rather than any programming language in particular. We consider a series of techniques for controlling program complexity, such as functional programming, data abstraction, object-oriented programming, and deductive systems. Of course, to get past generalities you must have programming practice in some particular language, and, in this course, we will use Scheme, a dialect of Lisp. This language is particularly well-suited to the organizing ideas we want to teach. Our hope, however, is that once you have learned the essence of programming, you will find that picking up a new programming language is but a few days’ work. 2 Do You Belong Here? The summer session version of this course is a bit different from the regular semester version. We cover all of the usual material, but we do it in half the time. This makes the course very fast. If you fall behind, you will find it almost impossible to catch up. At the same time, the summer course has no restrictions on enrollment. Anyone, regardless of prior experience may enroll in the course (until it fills.) We encourage anyone who’s curious or interested to take this course, even if they aren’t computer science majors! This course expects some mathematical sophistication, but does not actually require any prior programming experience. During the regular semester, Math 1A is a corequisite for 61A, and there is generally a placement exam to test whether or not you are familiar with recursion or induction. (For examples, go to http://www-inst.eecs.berkeley.edu/∼cs61a/misc/entrance.html.) We have found that 80% to 90% of 61A students have had significant prior programming experience, and that students without such experience are at a disadvantage. There is no need for you to be familiar with any particular programming language, although if all of your experience has been in BASIC then you probably haven’t used recursion. In addition, the computer labs for the course use UNIX machines. You may find it time-consuming and sometimes difficult to do the labs and homework if you have not spent time becoming familiar with UNIX. Therefore, it is up to you to decide if you are prepared for this course. Check out the course materials yourself, and play around with the labs and homework. My advice is to take the risk and get out as much as you possibly can! If you are still unsure, you can speak to me about it, however, if you ask my opinion, I will probably say that you should take it because the course is wonderful and you will learn a great deal from taking it (regardless of your final grade). 1 If you don’t feel ready for 61A, we recommend that you take CS 3, which is a Scheme-based introductory programming course, or CS 3S, the self-paced version. CS 3 and 3S are directed primarily at students who are not Computer Science majors, but they are also designed to serve as preparation for 61A. You could then take 61A next semester. If you are interested in learning how to program specifically in C or Java, there are engineering courses to teach you these courses, and they will server you better than this course. If you are not strongly interested in computer programming at all, but instead want to learn how to use computers as a tool, you should consider IDS 110, a course that presents a variety of personal computer software along with a brief introduction to programming. If you have substantial prior programming background, you may feel that you can skip 61A. In most cases, we don’t recommend that. Although 61A is the first course in the CS sequence, it’s quite different from most introductory courses. Unless you have used this same textbook elsewhere, I think I can promise that you won’t be bored. If you’re not convinced, spend some time looking over the book and then come discuss it with me. Instead, perhaps your prior experience will allow you to skip 61B or 61C, which are more comparable to courses taught elsewhere. See Mike Clancy in the CS department about this. 3 Course Materials The textbook for this course is Structure and Interpretation of Computer Programs by Abelson, Sussman, and Sussman, second edition. It should be available in the textbook section of the ASUC bookstore and other local textbook sellers. You must get the 1996 second edition! Don’t buy a used copy of the first edition. A paperback version containing all necessary chapters of version 2 may also be available used at the same books stores. If you cannot afford or don’t want to buy the book, copies of it are on reserve at the Engineering Library. Also, the entire book is readable online. The URL is given later in this document and on the course website. In addition to the textbook, there is a reader containing necessary materials, including all assignments and material on our computing facilities in general and about the Scheme language. You can buy the reader at CopyCentral, 2483 Hearst Avenue (at Euclid.) The summer’s reader is unlike the normal term’s readers, so don’t borrow your housemate’s old copy. All of the most important material in the reader will also be available on the course website, so, if you really don’t want to buy the reader, you don’t have to. However, it has been our experience that most students prefer to purchase the reader. If you haven’t used Unix before, you should also get the User’s Guide to Unix and the EECS Instructional Facilities also available at CopyCentral. We have also listed optional texts for the course. These really are optional! Don’t just buy them because you see them on the shelf. One is the instructor’s manual for the required text. It includes the authors’ second thoughts about which ideas proved to be complicated and how to explain them, along with additional exercises. (It doesn’t have solutions to exercises.) You may want this manual if you are excited by the course and want to get to know the authors and their ideas better, although it has been partly replaced by a web page about the book. The second optional text is Simply Scheme, by Harvey and Wright. This is sometimes used as the textbook for CS 3; it gives a slower and gentler introduction to the first five weeks of 61A, for people who feel swamped here. Most of you won’t need these books. If you have a home computer, you may want to get a Scheme interpreter for it. The Computer Science Division can provide you with free versions of Scheme for Linux, Windows, or MacOS. The distribution also includes the Scheme library programs that we use in this course. For more information on how to get your home computer to work well with the course materials, check the ’resources’ section of the web site. The course reader includes the lecture notes for the entire semester. These notes are provided so that you can devote your efforts during lecture to thinking, rather than to frantic scribbling. In addition, any materials used during lecture but not provided in the reader will be made available on-line. 2 4 Enrollment—Laboratory and Discussion Sections Summer session is 8 weeks, with every week packing in two standard course weeks. This course is normally structured so that there is one discussion and one lab meeting each week; but we must pack in both into the first two days of the week, and again, both into the last two days of the week. Generally, the lab portion occurs some time between Monday and Tuesday’s lectures and again between Wednesday and Thursday’s lecture. The discussion sections meet between Tuesday and Wednesday’s lecture and again between Thursday and the next Monday’s. You will also need to spend additional time working on the computers in the Soda Hall labs. Most weeks, the first meeting will be in our laboratory room, 310 Davis Hall; the second meeting will be in the classroom listed in the Schedule of Classes. Occasionally there may be two lab sessions and no classroom sessions. For example, all meetings this week will be in the lab. The discussion and lab sections are run by Teaching Assistants; each TA will handle enrollment and grading for his or her sections. We anticipate some rearrangements during the first week in response to oversubscribed or undersubscribed sections. If you are waitlisted or your section has been cancelled, you should communicate via email with the TA who is in charge of the sections that you would like to move into but be prepared to be flexible if your first choice is full. Please be in a definite discussion section by the end of this week, though, because much of the coursework will be done in groups of two to four students (the number depends on the activity); these groups will be set up by the TAs within each section. You must have a computer account on the 61A course facility. You must set up your account before Noon on Wednesday, June 25 because that is how we know who is really in the class. Account forms will be distributed in the LAB SECTIONS. The first time you log in, you will be asked to type in your name and reg card number, if you have one. Please follow the instructions carefully. You must get your account and log into it no later than 12:01 PM Wednesday so that we have an accurate class count. Everyone MUST log in by Wednesday Noon (or have made special arrangements with their TA) OR YOU WILL BE DROPPED from the course! Some of you have personal computers and may want to do the course work at home. This is fine with us, although you’ll have to be careful to install the class Scheme library on your home computer to make your computer’s version of Scheme behave like the modified one we use in the lab. In any case, though, you must get a class account even if you intend never to use it. Please do not sign up for a computer science course just to get a computer account, with the intention of dropping later. (Instead, come see a faculty member to discuss sponsorship of a non-class account for independent study, or you can get a free Unix account from the Open Computing Facility.) Accounts of students who are not doing the course work will be turned off by the second week of classes. Also, if you get a class account and then decide to drop the course, please let me know immediately so that we can admit another student. Thank you. Students sometimes ask whether attendance at sections is required or optional. Our expectation is that you will attend all class sessions, but you are adults and we will not police your attendance. However, if you take this to mean you can skip 6 weeks of section and then receive help from the TAs and instructor right before the final, you will be sorely mistaken. You will find that we are busy helping students that we have seen working hard all summer. Recognize that by not attending section or lecture, you are missing out on excellent opportunities to learn from the TAs and other students, as well as from the lecturer. Much of the learning in this course comes from lab activities, and later assignments (including exam questions) may build on those activities. Further, the TAs find it easier (and more enjoyable!) to help the students that they have gotten to know throughout the term. If you are missing school due to illness or some other emergency, inform your TA immediately. 5 How to get the most from this course We recognize that everyone’s style of learning is unique. Some students are excellent at studying–they work hard, and are extremely diligent. They do all the readings conscientiously, and work all the problems. Some students are incredibly quick, and get by doing little of the reading, even less of the homework, and still ace the tests. Some students learn best by listening to lecture, and discussing it with their friends and TAs. 3 Some students are aiming for the A+, others just to get by with a passing grade. Usually, students are some of each of these types, or are sometimes one, sometimes another. Since everyone’s style is their own, we try to have as many opportunities to learn this material as possible. Therefore, use them all, and learn what works best for you. That said, we do enforce certain types of interaction. In this course, we encourage and REQUIRE that you learn to work together in groups. This means you will need to learn how to work with people whose strengths are not your own. (This is of course the best thing a group can provide!) It also means you will learn how to work with people whose style you find difficult. But overall, you will learn best by learning to collaborate, and helping each other when one is not getting the material. Different people solve problems differently; there are often many right answers to the problems in this course. And of course, what you find easy, your friend may find hard, and vice versa. Therefore, the best way to learn is to talk with other people, and ask them questions when you are stuck. Even if you think you understand everything, you will learn the material better if you have to try to explain it to someone else. In addition, learning how to think about the problems in many different ways will solidify your understanding of this material. Finally, is it possible that some of you feel uncomfortable telling others when you don’t understand something. Many of us find it hard to ask questions–all the more reason to overcome this fear early! The ability to ask for help is a wonderful strength that will serve you well in life. Throughout this course, we will try to encourage you to ask each other, and the TAs and myself for help. 6 Information Resources Your first and most important resource for help in learning the material in this course is your fellow students. Your discussion section TA may assign you to a group of four students, and you will do many course activities with this group. You are responsible for helping each other learn. The Teaching Assistants who teach the discussion sections are also available to answer questions. You may drop in during office hours, make appointments for other times, or communicate with them by electronic mail. Feel free to visit any of the TAs–not just your own! You may find that hearing different people’s explanations helps if at first you do not understand some material. For technical questions about the homework or projects, or administrative questions such as missing homework grades, send electronic mail to your particular TA or reader. You can also send mail about intellectual questions to me, but if it’s about grades I’ll just refer you to your TA. In addition, there is an electronic bulletin board system that you can use to communicate with other 61A students and staff. The ucb newsgroup can be read only from machines in the berkeley.edu domain, so if your net connection is though a commercial ISP then you must log into a lab machine to read the newsgroup or try this: http://www-inst.eecs.berkeley.edu/connecting.html Please do not send electronic mail to every student individually! That would waste a lot of disk space, even for a small message. Use the newsgroup instead. Electronic mail is for messages to individuals, not to groups. There is a class web page, with online versions of some of the documents we hand out: http://www-inst.eecs.berkeley.edu/~cs61a The web page for the textbook, with additional study resources, is http://www-mitpress.mit.edu/sicp/sicp.html There are also web pages for the Scheme programming language: http://swissnet.ai.mit.edu/scheme-home.html http://www.schemers.org/ Tutoring services are provided by Eta Kappa Nu (HKN), the EECS honors society, and Upsilon Pi Epsilon, the Computer Science honors society. They share an office in 345 Soda; call them at 2-9952 or send e-mail to hkn@hkn or to upe@cory. 4 Additional information to help you in studying, including hints from the course staff and copies of programs demonstrated in lectures, is available at the course website. 7 Computer Resources The computing laboratory in 310 Davis Hall consists of about 35 SunRay terminals connected to a Sun Solaris server. This is our primary lab room, although the CS 61A accounts can also be used from any EECS Instructional lab in Soda or Cory Hall. The lab in 310 Davis Hall is normally available for use at all times, but you need a card key for access to the lab; to get a card key, stop by the 3rd floor office of Soda Hall and fill out a form for a card key. You will need a $20 deposit to get the card key. The card key will give you access to 310 Davis as well as the 2nd and 3rd floors of Soda Hall so that you may enter at any time, day or night. Do this today! During scheduled lab sessions, only students enrolled in that particular section may be in the lab. Since lab sections run from early morning until late evening, you might need to use the other Soda Hall labs to work on homework outside of class. In particular, 273 Soda Hall should be at your disposal at all times. When sections are not in session, any 61A student may use any of the 2nd floor labs on a drop-in basis. If there are no free workstations, please feel free to ask anyone who is not doing course work to leave. In particular, game playing is not permitted. We are relying on social pressure to discourage abuse (such as stealing the chairs or monopolizing a workstation for six hours during prime time to play chess). Therefore, do not feel embarrassed to apply such pressure. These machines use the Unix operating system, a timesharing system that is quite different from the microcomputer systems you have probably seen elsewhere. The course reader includes introductory documentation about Unix and about Emacs, the text editing program we are recommending for your use. (It is one of several Unix text editors; you’ll find that everyone has his or her own favorite editor and hates all the others.) Although the use of Unix is not extensively taught in 61A lectures, it will be extremely worthwhile for you to spend some time getting to know how the system works. The Computer Science Undergraduate Association (CSUA), Open Computing Facility (OCF), and Experimental Computing Facility (XCF) usually offer introductory Unix training sessions. Details will be announced when we have them. If you have a home computer and a modem, you may wish to use your class account remotely. If so, you are encouraged to use a commercial Internet Service Provider to connect to the campus; several companies offer student rates. Again, check out http://www-inst.eecs.berkeley.edu/connecting.html 8 Computer Community Spirit If you have lived in a dorm or other concentrated student housing, you have already learned that any facility shared by a large group of people is fertile ground for practical jokes. You’ve also learned that selfishness in the use of common facilities can lead to a lot of negative energy. Computers are no different. For example, there is only a finite amount of file storage space. If you fill it up with digitized pictures of all your friends, other people can’t get their homework done. In the dorm, people generally have a good sense of perspective about what’s funny and what isn’t. Filling up your friend’s room across the hall with balloons is funny. Filling it up with water balloons or live crickets or a 400 pound toilet is on the edge. Filling it up with epoxy isn’t funny at all. But, for some reason, some people seem to lose that sense of perspective when it comes to computers. Perhaps it’s because the damaged property is intangible; perhaps it’s because with a computer you don’t have to be physically near the victim. Whatever the reason, try to overcome it. It’s not funny if someone can’t complete the course work because you deleted their files. The operating system we use provides enough security so that nothing you do will mess up another user by accident if you’re minding your own business. It is certainly possible to mess up the system deliberately. 5 Many of you are familiar with the personal computer environment, in which some people consider it a mark of sophistication to write “virus” programs that interfere with other people’s computers. You are now entering a different culture with different values. Our research work, as at any university, depends on collaboration both within our department and with colleagues elsewhere. Our computer systems are deliberately set up to encourage collaboration among their users, and that means encouraging easy access to one another’s systems. This policy requires some degree of trust among the participants. If you’ve ever taken anything out of a safe deposit box at a bank, you know that it’s possible to design a high-security shared facility, but that the cost is making it a big pain in the neck to use the secured data. Some computer systems are designed to have bank-level security, and everyone will think you’re very clever if you figure out how to mess up such a system. Nobody will think you’re clever if you mess up the 61A system. The form you sign when you get your computer account says that it is for your use only and for course work only. We are not unreasonably strict in enforcing this rule. Nobody minds if you occasionally play a computer game late at night if it’s the kind that doesn’t wreck the keyboards or mice through repeated high-speed banging on one button. Nobody will object even if you occasionally bring a friend to play the game with you or if you write an occasional English paper on this facility instead of the official English Department computers. But if you are asked to give up the terminal by someone who wants to do course work and refuse, that’s unacceptable. Remember, you and your fellow students are the ones who suffer from such obnoxiousness; the faculty and staff have other computers to work on. In addition, you should know that, on occasion, our file servers go on the blink. You can detect this situation by noticing that your terminal has suddenly stopped typing characters or you get a message along the lines of ”NFS server not responding...”. If this happens to you (and it will at least once!), don’t panic; usually the server is back within minutes or hours with your data intact. Please do not put yourself in a situation where a couple-hour server crash will prevent you from completing your project on-time. ”How can I avoid such a horrible situation?” you may ask. By starting (and finishing) your assignments early, of course! 9 Network Etiquette Our computer facility is part of a worldwide network that lets you communicate with other users both by electronic mail and by immediate connection if you’re both logged on at the same time. You may find that the Internet, much like amateur radio, is a good way to make friends. However, please remember that the network is not exactly like amateur radio, in that most of the people on our network are trying to get work done and don’t want to spend time talking with you. Therefore, please do not send mail or talk requests to people whom you don’t know. For example, if your best friend from home went to college somewhere else and you don’t know his or her e-mail address, do not ask randomly chosen people at that college to locate your friend for you. (You can send mail to postmaster at most sites.) The best way to get to know people on the net is to join newsgroups. The same program that you use for the class newsgroup will also let you subscribe to groups on an enormous range of topics, both technical and recreational. Most participants in these groups will welcome individual communication that’s relevant to the newsgroup topic. Here are a few rules of newsgroup etiquette: (1) Do not post to a group until you’ve read it for a couple of weeks, so you’ll know what people consider appropriate topics for that group. (2) Do not post messages in which you quote all of someone else’s long message and then add ”Me too!” at the bottom. (3) Don’t be sarcastic. If you’re angry, wait until tomorrow to post your message. Remember, too, that the other person isn’t necessarily just like you; he or she may be eight years old, or eighty. (4) Do not post, mail, or forward chain letters! You will certainly lose your Berkeley computer account and may find yourself under arrest for fraud. It is strongly encouraged that you subscribe to the group news.announce.newusers for more information about posting to newsgroups. 6 10 Reading, Homework and Programming Assignments You should try to complete the reading assignment for each week before the lecture. For example, you should read section 1.3 of the textbook by Wednesday. (Read section 1.1 as soon as possible this week!) You will have four class meetings (two lectures and two discussion/lab sections) to help you understand the assignment. Ideally, you would work in lab and afterward on the exercises, and then complete them the next day after section. If you’re efficient, you’ll then have that night to read the next reading assignment. Every week there will be problems assigned for you to work on, most of which will involve writing and debugging computer programs. These assignments come in three forms: • Laboratory exercises are short, relatively simple exercises designed to introduce a new topic. Most weeks you’ll do these during the scheduled lab meeting following Monday and Wednesday’s lecture. You are encouraged to do these exercises in groups of three or four students. They are NOT graded. • Homework assignments consist mostly of more difficult problems designed to solidify your understanding of the course material; you’ll do these whenever you can schedule time, either in the lab or at home. You may be accustomed to homeworks with huge numbers of boring, repetitive exercises. You won’t find that in here! Each assigned exercise teaches an important point. There are two homework assignments per week, but both are due on the Sunday after they are assigned. These assignments are included in the course reader. (The first assignment is also attached to this handout.) You are encouraged to discuss the homework with other students. Specific Homework requirements and grading policies are below. • Projects are larger assignments intended both to teach you the skill of developing a large program and to assess your understanding of the course material. There are four projects during the term, and you’ll work on some of them in groups. Specific Programming project requirements and grading policies are below. Everything you turn in for grading must show your name(s), your computer account login(s), and your working group number for group assignments. Please cooperate about this; make sure they’re visible on the top of the files you turn in, not buried somewhere in a comment or a function. 11 Testing and Grading If it were up to me, we wouldn’t give grades at all. Since I can’t do that, the grading policy of the course has these goals: it should provide a reasonably accurate measure of your understanding of the material; it should minimize competitiveness and grade pressure, so that you can focus instead on the intellectual content of the course; and it should minimize the time I spend arguing with students about their grades. To meet these goals, your course grade is computed using a point system with a total of 300 points: 3 midterms 3 * 40 = 120 final 70 15 homeworks 15 * 4 = 60 4 projects 2 * 10 + 2 * 15 = 50 There will be three midterms (set for the end of the third, fifth, and seventh weeks of the term) and a final. The exams will be open book, open notes. (You may not use a computer during the exam.) In the past, some students have complained about time pressure, so we’ll hold the midterms on Fridays ’round Noon, (Room TBA) instead of during the lecture hour. My goal will be to write one-hour tests, but you’ll have at least two hours to work on them. The relatively large number of midterms is meant to help you learn to take tests, and to reduce your anxiety about ruining your grade by having a bad day. In this course, the later topics depend on the early ones, so you must not forget things after each test is over! Each letter grade corresponds to a range of point scores: 280 points and up is an A+, 270–279 is A, and so on by steps of ten points to 170–179 points for a D−. A+ B+ 280-300 250-259 A B 270-279 240-249 7 AB- 260-269 230-239 C+ D+ 220-229 190-199 C D 210-219 180-189 CD- 200-209 170-179 This grading formula implies that there is no curve; your grade will depend only on how well you (and, to a small extent, your partners) do, and not on how well everyone else does. (If everyone does exceptionally badly on some exam, I may decide the exam was at fault rather than the students, in which case I’ll adjust the grade cutoffs as I deem appropriate. But I won’t adjust in the other direction; if everyone gets an A, that’s great.) If you believe we have misgraded an exam, return it to your TA with a note explaining your complaint. Only if you are unable to reach an agreement with the TA should you bring the test to me. The TA will carefully regrade the entire test, so be sure that your score will really improve through this regrading! By University policy, final exams may not be regraded; to make up for this, we will grade every final exam twice. Final exams may be viewed at times and places to be announced. Incomplete grades will be granted only for dire medical or personal emergencies that cause you to miss the final, and only if your work up to that point has been satisfactory. 12 Homework and Project Policies and Grading In contrast to prior semesters, homework in this course will be done independently. You and your friends are encouraged to discuss the problems among yourselves, but the work that you turn in must be written and tested by you alone. Both of each week’s homework assignments are due at 8:00 PM on the following Sunday. Both homework sets must be submitted electronically unless otherwise noted. The purpose of the homework is for you to learn the course, not to prove that you already know it. Therefore, although the weekly homeworks will graded on correctness, you will be afforded an opportunity to recover points by improving your understanding of the material. If you receive less than 90/100 credit on a particular homework, you can sign up for a face-to-face grading session with your reader. During this session, you and your reader will re-cover the material you didn’t understand on the homework. If you show sufficient improvement, the reader may adjust your score. Sign-up sheets for the face-to-face sessions will be posted in the laboratory (and perhaps online). Please bring a paper copy of your homework to the sessions! The four programming projects are graded on correctness and style. The first two projects are to be done individually, and the last two in groups of exactly two. The last two projects are larger, and your group will work on a single solution, but the problems within each project are divided into two sets, and each of you will work on one set. The latter two projects will probably include face-to-face grading with your reader. The reader will ask questions of each member of your group, and you will be graded by ALL of the group’s members’ ability to answer correctly. Therefore, you must work together to ensure that your partner understands the entire project. Your group will turn in one copy of each project, with both of your names and logins listed on it. The programming projects must be turned in online as well as in the homework box; the deadline is usually 11:59 PM on the second Tuesday after it is assigned (i.e. you have two weeks for each project), but there will be some exceptions. You’ll get further instructions about this when the time comes. Online turnin: You must create a directory (you’ll learn how to do that in lab) with the official assignment name, which will be something like hw3 or proj1. Put in that directory all the files that you want to turn in. Then, while still in that directory, give the shell command submit hw5 (or whatever the assignment name is). We’ll give more details in the lab. Paper turnin: There are boxes with slots labelled by course in room 283 Soda Hall. (Don’t put them in my mailbox or on my office door!) What you turn in should include transcripts showing that you have tested your solution as appropriate. 8 13 Collaborative Learning Policies and Cheating We encourage collaboration. It is the best way to learn and keep up with the wealth of material you are expected to cover. At the same time, cheating is not permitted. Sometimes the line between collaboration and cheating doesn’t seem so easy to articulate, so we’ve tried to come up with very clear and enforceable rules so that you know what is expected and aren’t uncomfortable collaborating, and, at the same time, so that those who break the rules can be held accountable. Unlike the homework and projects, the tests in this course must be your own, individual work. I hope that you will work cooperatively with your friends before the test to help each other prepare by learning the ideas and skills in the course. But during the test you’re on your own. The EECS Department Policy on Academic Dishonesty says, “Copying all or part of another person’s work, or using reference materials not specifically allowed, are forms of cheating and will not be tolerated.” (61A tests are open-book, so reference materials are okay.) The policy statement goes on to explain the penalties for cheating, which range from a zero grade for the test up to dismissal from the University, for a second offense. For the programming projects, copying others’ work, whether from your friend who took the course last semester or from other current students in other groups is cheating. If you don’t know how to do something, it’s better to leave it out than to copy someone else’s work. If you do learn something from someone else, and understand it now, then cite it as theirs. But be prepared to back up that you understand it without them around. If you do not cite it, it is considered plagiarism, and is again, cheating. It is highly unlikely that different people would arrive at the exact same solutions on their own. We do have programs to test for code similarity – and these programs are smart enough to know when only the variable names have been changed. Don’t cheat–you do a disservice to yourself, to those you copy from, and ultimately, to the whole course as time is taken away from preparing lectures and answering questions to deal with cheaters. For the homework assignments, before you develop your solutions to the problems you are encouraged to discuss it with other students, in groups as large or small as you like. When you turn in solutions, you must give credit to any other student(s) who contributed to your work. This does not mean e.g. 16 of you should turn in precisely the same work. It means that you may talk about it, work it out, try it, and then each person writes it up on their own. Working on the homework in groups is both a good way to learn and a lot more fun! If you take the opportunity to discuss the homework with other students then you’ll probably solve every problem correctly. In my experience, most students who cheat do so because they fall behind gradually, and then panic at the last minute. Some students get into this situation because they are afraid of an unpleasant conversation with an instructor if they admit to not understanding something. I would much rather deal with your misunderstanding early than deal with its consequences later. Even if the problem is that you spent the weekend stoned out of your skull instead of doing your homework, please overcome your feelings of guilt and ask for help as soon as you need it. If you are still unclear on the cheating policy, ask yourself this: in all of your talking with other students, did you UNDERSTAND the solution, or did you merely write down what someone else told you? If you didn’t understand, that you aren’t doing the work yourself– not honestly. Again, it is better to have the answer wrong, or only partially right than to rely on someone else’s answer. (Often because they too could be wrong!) Working cooperatively in groups is a change from the traditional approach in schools, in which students work either in isolation or in competition. But cooperative learning has become increasingly popular as educational research has demonstrated its effectiveness. One advantage of cooperative learning is that it allows us to give intense assignments, from which you’ll learn a great deal, while limiting the workload for each individual student. Another advantage, of course, is that it helps you to understand new ideas when you discuss them with other people. Even if you are the “smartest” person in your group, you’ll find that you learn a lot by discussing the course with other students. For example, in the past some of our best students have commented that they didn’t really understand the course until they worked as lab assistants and had to explain the ideas to later students. What does it mean to do an assignment as a group? The best groups solve each problem together, 9 making sure that every member contributes to the discussion and that every member understands the group’s ultimate solution. Your experience in this course will depend on the cooperation of your group more than anything else! Second best is if you split up the problems so that each individual solves a few of them. This can be okay, as long as you then get together, after doing the individual work, to discuss the results and ensure that each member of the group understands every part of the project. It’s best if your group also discusses the problems together before you split up to work on individual exercises, to make sure that everyone in the group understands the broad ideas of the assignment. A bad group is one in which one group leader does all the work and the other members become spectators. Computer programming is a skill; you learn it by doing it. If you have a “freeloader” in your group, you’re not doing him or her a favor! It’s important that everyone be an active participant. Try to resolve any problems about working style within the group, but if that fails, ask me or your TA for help. As a last resort, if a member just won’t cooperate, the group can “fire” that member between projects by notifying the TA, who will help you rearrange group memberships. If you split up the work, then be sure that your group meets to collect the results before the last minute! If one group member fails to do the work, the entire group is responsible for ensuring that it gets finished. The ideal working arrangement is to meet early in the week to plan your tasks for the week, then get together a day or so later to confirm that everyone is mostly done and solve as a group any problems that the individual members can’t solve, then meet for a third time early the day before it is due to collect everyone’s work and solve any last-minute problems. If some medical or personal emergency takes you away from the course for an extended period, or if you decide to drop the course for any reason, please don’t just disappear silently! You should inform the other members of your group, and your TA, so that nobody is depending on you to do something you can’t finish. Penalties for cheating: Generally, the penalty for cheating on any assignment will be, at the very least, a zero on the assignment and will result in a notice being sent to the Office of Student Conduct. Further offenses and particularly egregious forms of cheating (like selling answers) will be dealt with more severely. 14 Lateness A programming project that is not ready by the deadline may be turned in until 24 hours after the due date. These late projects will count for 2/3 of the earned score. No credit will be given for late homeworks, or for projects turned in after 24 hours. Please do not beg and plead for exceptions. If some personal crisis disrupts your schedule one week, don’t waste your time and ours by trying to fake it; just be sure you do the next week’s work on time. By the way, if you wait until the night before to do the homework or a project, you will probably experience some or all of the following: a shortage of available workstations, an unusually slow computer response, or a file server crash. 15 Lost and Found When people bring me found items from lecture or lab, I take them to the Computer Science office, 387 Soda. Another place to check for lost items is the campus police office in Sproul Hall. 16 Questions and Answers Q: Is it true that 61A is the weed-out course for wannabe CS majors? A: No. The lower division sequence as a whole does determine admission to the major, but no one course is 10 crucial. More to the point, the work in all of these courses is not designed to be especially hard; the upper division courses are much harder. The grading policy in 61A is not harsh and is not curved as it would be if we had weeding out in mind. However, you may take this course as an opportunity to weed yourself out; if you find that you don’t enjoy the work, perhaps you aren’t a computer scientist at heart. Q: I am pre-enrolled for this course, and I’m planning to do the homework on my home computer. Do I still have to pick up a class account and log in by Wednesday to stay in the class? A: Yes. Q: I am a transfer student, and I’m pressed for time to fit in all my graduation requirements. I know how to program. Do I really have to take 61A? A: Yes, unless you have taken this same course elsewhere. 61A is really very different from the usual first computer science course. However, your prior experience may well get you out of 61B, which is more nearly a standard second course. Mike Clancy is in charge of approving course equivalents. Q: Why don’t we learn some practical language like C++? A: Firstly, Lisp is practical. Of the hundreds of languages that have been invented, Lisp is the second-oldest survivor, after Fortran. It hasn’t lasted 35 years by being useless. Secondly, and more importantly, the goal of 61A isn’t to teach you a language. The language is just the medium for the ideas in the course, and Lisp gets in the way less than most languages because it has very little syntax and because you don’t have to worry about what’s where in the computer memory. (Next semester you’ll learn Java.) Finally, our textbook is the best computer science book ever written. It happens to use Lisp; if they’d used COBOL, we’d probably teach COBOL for the sake of this text. Q: What’s your advice on surviving this course? A: Two things: Don’t leave the homework and projects until the last minute, and ask for help as soon as you don’t understand something. Q: I got the Nobel prize last year, and my uncle is Chancellor of Berkeley. Do I still have to use my class account by Wednesday Noon to stay in the class? A: Yes. Q: I am disabled and need special facilities or arrangements to do the course work. What should I do about it? A: If you need special arrangements about class attendance, taking tests, etc., I’ll be glad to accommodate you; please take the initiative about letting me know what you need. For example, if you want to take tests separately, that’s fine, as long as you ensure that we’ve worked out the arrangements before the test. The Disabled Students Program (ext. 2-0518) has voice response terminals from which blind students can connect to our computers. If English is not your native language, and you have trouble understanding the course materials or lectures for that reason, please ask for help about that too. Q: I don’t like (or have a conflict with) my pre-assigned discussion section. Can I switch? A: You must negotiate this with the TA of the section you want to switch into. Please try to be settled into a definite section by the second week, when the group assignments will be made. 11 Q: Isn’t it unfair that my grade depends in part on the performance of the other students in my group? A: Do you complain about courses that are graded on a curve? It’s very common to find a course in which your grade is hurt by someone else doing well in the course. If you can accept that, you should be much happier about an arrangement in which your grade is helped if you can help someone else learn. In the worst case, you’d be doing it all yourself anyway– here, there’s a lot of help so that you won’t have to do that. But better still, you can get to know other people in the course; at some point, they will know something that you don’t, and you’ll have a better chance to make more friends. Q: Can we form a group with students in other sections? A: Generally not. One purpose of the scheduled lab meetings is to ensure that your entire group can spend some time working together with your TA available to help. If you want to be in the same group with a friend, arrange your schedules so that you can be in the same section. If there’s some special reason why you think you should be an exception, negotiate with the TA or TAs involved. Q: I’m thinking about buying a personal computer. What do you recommend? A: For this course, and in general for computer science courses at Berkeley, you don’t need a computer of your own at all; you can work in the labs on campus. If you just want to be able to connect to the campus computers from home, anything with a modem will do. (If you live in certain dorms, there is an Ethernet connection in your room, and having a computer with an Ethernet adaptor will be very handy.) If you want to work entirely within your home computer, you can get STk for PC-compatibles or Gambit for the Macintosh in 387 Soda. Some of our students, especially the ones with a particular interest in system administration, choose to run one of the free versions of Unix at home, usually Linux or FreeBSD, but to each their own. Learning to use some flavor of UNIX takes more effort than using commercial systems, but you learn a lot in the process. Q: One of the other people in my working group never does any work. What should we do about it? A: First of all, try to find out why. Sometimes people give up because they’re having trouble understanding something. If that’s the problem, see if you can teach your partner and get him or her back on track. Also, try to find out what his or her strengths are—how he or she can best contribute to the group’s efforts. But sometimes people get distracted from coursework for non-academic reasons. If you can’t resolve the problem within the group, talk with your TA. With your TA’s permission, your group may fire a member between projects (not during a project). Your TA will generally allow you to fire members who make no effort to cooperate, but not ones who are trying but having difficulty in the course. (If someone in your group insists on doing all the work, that also counts as not cooperating.) Firing a group member is a last resort. On the other hand, if you do have a problem with someone in your group, you should be sure to resolve it quickly, because we will not accept hard-luck stories at the end of the semester about how you lost points undeservedly because the other people in your group never did their share of the work. Q: What should we call you? A: ”Kurt” is just fine. Q: I’m having trouble understanding the assignments. I’ve never had a problem like this in school before. Does this mean I’m not as good a programmer as I thought, or should I just wait a week or two and see if things clear up? 12 A: Neither. THIS COURSE IS CHALLENGING! In some ways, it might be the most challenging CS course you EVER take as an undergraduate. Most Berkeley students found high school pretty easy, and for many of you, this course will be the first real intellectual challenge you’ve met. You may have come to believe that everything should be easy for you. On the contrary; if you find your courses easy, you’re taking the wrong courses! The whole reason you chose an excellent university was to stretch your mind. (If you chose Berkeley for the sake of a prestigious diploma, maybe you should consider majoring in Business Administration.) There is nothing shameful about asking for help. You will learn a lot even if you do not get an A+. Every semester a few intelligent students end up in trouble in this course because they’re too proud to come to office hours with questions. If you wait two weeks before you ask your question, by then you’ll feel hopelessly behind, because the topics for those two weeks depend on the idea that you don’t understand now. Q: I have no prior programming experience, unlike those who have taken CS 3 that you regularly mention. Am I at a disadvantage to those students in terms of workload, grades, etc.? A: Well, for the first couple weeks, youre definitely at a disadvantage. The cs3 students have already spent an entire semester learning scheme, higher-order procs, lambdas, recursion, and abstraction there is no reason why any of them should get less than perfect scores on any assignment from the first couple weeks. So, you will probably be spending more time and effort than they will for the first couple weeks and your grades over the first few assignments still (probably) wont be as good as theirs. Fortunately, the class is not curved. It doesn’t matter how well the cs3 students do; you need only be concerned with yourself. Many persons who have not taken cs3 get As in 61a. I havent seen the numbers myself, but I have heard that, statistically speaking, there is no difference between the average final grades of cs3 and non-cs3 students. Q: I’m completely lost; I feel very awkward using scheme (I like my c++ much better) and I’m thinking about dropping the course. What do you think? A: It’s almost ironic that scheme is often harder to learn for people who have prior programming experience in other languages than for those who have never programmed before. Scheme requires a different way of thinking about problems and this can work against people who have had another, different sense of programming per se ingrained in them from the use of other languages. Once you have become accustomed to it, however, you will begin thinking about problems in schemeterms and feeling awkward coding in anything else. By the end of the course, scheme will be a tool that you use without even thinking about it (like writing with a pen). (Heidegger, anyone?) How quickly you overcome your initial awkwardness with scheme is up to you: the more you play around with it, the faster you will become proficient. This class is really about thinking logically; if you are rational, reasonably intelligent, and willing to work very hard at absorbing new concepts, you will do very well in the course. If you fail to satisfy any of the three (especially the last), you will have a hard time. If you do decide to stick it out, please be aware that the TAs and I are happy to help anyone who tries to help himself or herself. Dont be afraid to schedule office hours, etc. were here for you. Also, you may want to look into the recommended text ’Simply Scheme’ by Brian Harvey. It is the book used in cs3. 17 First Assignments Read section 1.1 of Abelson and Sussman as soon as possible. By Wednesday, read 1.3 of Abelson and Sussman. The first homework assignment is due next Sunday (check the reader or web site). You must log into your class account by Wednesday. 13 CS61A – Lab Assignment 1.1 University of California, Berkeley Kurt Meinz Summer 2002 Try to get as much done as possible, but don’t panic if you don’t finish everything. 0. Login to your user account and change your password – instructions are provided on the account form. Be aware that it may take several minutes for your new password to be recognized by all the machines. 1. Start the Emacs editor, either by typing emacs in your main window or by selecting it from the alt-middle mouse menu. (Your TA will show you how to do this.) From the Help menu, select the Emacs tutorial. You need not complete the entire tutorial at the first session, but you should do so eventually. 2. Start Scheme, either by typing scm in your main window or by typing meta-S in your Emacs window. Type each of the following expressions into Scheme, ending the line with the Enter (carriage return) key. Think about the results! Try to understand how Scheme interprets what you type. 3 (+ 2 3) (+ 5 6 7 8) (+) (sqrt 16) (+ (* 3 4) 5) + ’+ ’hello ’(+ 2 3) ’(good morning) (first 274) (butfirst 274) (first ’hello) (first hello) (first (bf ’hello)) (+ (first 23) (last 45)) (define pi 3.14159) pi ’pi (+ pi 7) (* pi pi) (define (square x) (* x x)) (square 5) (square (+ 2 3)) 3. Use Emacs to create a file called pigl.scm in your directory containing the Pig Latin program shown below: (define (pigl wd) (if (pl-done? wd) (word wd ’ay) (pigl (word (bf wd) (first wd))))) (define (pl-done? wd) (vowel? (first wd))) (define (vowel? letter) (member? letter ’(a e i o u))) If you end each line with the linefeed key, instead of the return key, Emacs will automatically indent the lines of your program properly. 4. Now run Scheme. You are going to create a transcript of a session using the file you just created, like this: (transcript-on "lab1") (load "pigl.scm") (pigl ’scheme) (trace pigl) (pigl ’scheme) (transcript-off) (exit) ; ; ; ; ; ; This starts the transcript file. This reads in the file you created earlier. Try out your program. Feel free to try more test cases here! This is a debugging aid. Watch what happens when you run a traced procedure. 5. Use lpr to print your transcript file. Continued on next page. 14 Lab Assignment 1.1 continued... 6. Predict what Scheme will print in response to each of these expressions. Then try it and make sure your answer was correct, or if not, that you understand why! (define a 3) (define b (+ a 1)) (+ a b (* a b)) (= a b) (if (and (> b a) (< b (* a b))) b a) (cond ((= a 4) 6) ((= b 4) (+ 6 7 a)) (else 25)) (+ 2 (if (> b a) b a)) (* (cond ((> a b) a) ((< a b) b) (else -1)) (+ a 1)) ((if (< a b) + -) a b) 7. In the shell, type the command cp ~cs61a/lib/plural.scm . (Note the period at the end of the line!) This will copy a file from the class library to your own directory. Then, using emacs to edit the file, modify the procedure so that it correctly handles cases like (plural ’boy). 8. Define a procedure that takes three numbers as arguments and returns the sum of the squares of the two larger numbers. 9. Write a procedure dupls-removed that, given a sentence as input, returns the result of removing duplicate words from the sentence. It should work this way: > (dupls-removed ’(a b c a e d e b)) (c a d e b) > (dupls-removed ’(a b c)) (a b c) > (dupls-removed ’(a a a a b a a)) (b a) 15 CS61A – Lab Assignment 1.2 University of California, Berkeley Kurt Meinz Summer 2002 1. For each of the following expressions, what must f be in order for the evaluation of the expression to succeed, without causing an error? For each expression, give a definition of f such that evaluating the expression will not cause an error, and say what the expression’s value will be, given your definition. f (f) (f 3) ((f)) (((f)) 3) 2. Find the values of the expressions ((t 1+) 0) ((t (t 1+)) 0) (((t t) 1+) 0) where 1+ is a primitive procedure that adds 1 to its argument, and t is defined as follows: (define (t f) (lambda (x) (f (f (f x)))) ) Work this out yourself before you try it on the computer! 3. Find the values of the expressions ((t s) 0) ((t (t s)) 0) (((t t) s) 0) where t is defined as in question 2 above, and s is defined as follows: (define (s x) (+ 1 x)) 4. Consider a Scheme function g for which the expression ((g) 1) returns the value 3 when evaluated. Determine how many arguments g has. In one word, also describe as best you can the type of value returned by g. 5. Write a procedure substitute that takes three arguments: a new word, an old word, and a sentence. It should return a copy of the sentence, but with every occurrence of the old word replaced by the new word. For example: > (substitute ’maybe ’yeah ’(she loves you yeah yeah yeah)) (she loves you maybe maybe maybe) Continued on next page. 16 Lab Assignment 1.2 continued... 6. First, type the definitions (define a 7) (define b 6) into Scheme. Then, fill in the blank in the code below with an expression whose value depends on both a and b to determine a return value of 24. Verify in Scheme that the desired value is obtained. (let ((a 3) (b (+ a 2))) ) 7. Write and test the make-tester procedure. Given a word w as argument, make-tester returns a procedure of one argument x that returns true if x is equal to w and false otherwise. Examples: > ((make-tester ’hal) ’hal) #t > ((make-tester ’hal) ’cs61a) #f > (define sicp-author-and-astronomer? (make-tester ’gerry)) > (sicp-author-and-astronomer? ’hal) #f > (sicp-author-and-astronomer? ’gerry) #t 17 CS61A – Lab Assignment 2.1 University of California, Berkeley Kurt Meinz Summer 2002 This lab exercise concerns the change counting program on pages 40–41 of Abelson and Sussman. 1. Identify two ways to change the program to reverse the order in which coins are tried, that is, to change the program so that pennies are tried first, then nickels, then dimes, and so on. 2. Abelson and Sussman claim that this change would not affect the correctness of the computation. However, it does affect the efficiency of the computation. Implement one of the ways you devised in exercise 1 for reversing the order in which coins are tried, and determine the extent to which the number of calls to cc is affected by the revision. Verify your answer on the computer, and provide an explanation. Hint: limit yourself to nickels and pennies, and compare the trees resulting from (cc 5 2) for each order. 3. Modify the cc procedure so that its kinds-of-coins parameter, instead of being an integer, is a sentence that contains the values of the coins to be used in making change. The coins should be tried in the sequence they appear in the sentence. For the count-change procedure to work the same in the revised program as in the original, it should call cc as follows: (define (count-change amount) (cc amount ’(50 25 10 5 1)) ) 4. Many Scheme procedures require a certain type of argument. For example, the arithmetic procedures only work if given numeric arguments. If given a non-number, an error results. Suppose we want to write safe versions of procedures, that can check if the argument is okay, and either call the underlying procedure or return #f for a bad argument instead of giving an error. (We’ll restrict our attention to procedures that take a single argument.) > (sqrt ’hello) ERROR: magnitude: Wrong type in arg1 hello > (type-check sqrt number? ’hello) #f > (type-check sqrt number? 4) 2 Write type-check. Its arguments are a function, a type-checking predicate that returns #t if and only if the datum is a legal argument to the function, and the datum. Continued on next page. 18 Lab Assignment 2.1 continued... 5. We really don’t want to have to use type-check explicitly every time. Instead, we’d like to be able to use a safe-sqrt procedure: > (safe-sqrt ’hello) #f > (safe-sqrt 4) 2 Don’t write safe-sqrt! Instead, write a procedure make-safe that you can use this way: > (define safe-sqrt (make-safe sqrt number?)) It should take two arguments, a function and a type-checking predicate, and return a new function that returns #f if its argument doesn’t satisfy the predicate. 19 CS61A – Lab Assignment 2.2 University of California, Berkeley Kurt Meinz Summer 2002 1. Try these in Scheme: (define x (cons 4 5)) (car x) (cdr x) (define y (cons ’hello ’goodbye)) (define z (cons x y)) (car (cdr z)) (cdr (cdr z)) 2. Predict the result of each of these before you try it: (cdr (car z)) (car (cons 8 3)) (car z) (car 3) 3. Enter these definitions into Scheme: (define (make-rational num den) (cons num den)) (define (numerator rat) (car rat)) (define (denominator rat) (cdr rat)) (define (*rat a b) (make-rational (* (numerator a) (numerator b)) (* (denominator a) (denominator b)))) (define (print-rat rat) (word (numerator rat) ’/ (denominator rat))) 4. Try this: (print-rat (make-rational 2 3)) (print-rat (*rat (make-rational 2 3) (make-rational 1 4))) 5. Define a procedure +rat to add two rational numbers, in the same style as *rat above. 6. Now do exercises 2.2, 2.3, and 2.4 from SICP. 7. SICP ex. 2.18; this should take some thought, and you should make sure you get it right, but don’t get stuck on it for the whole hour. Note: Your solution should reverse lists, not sentences! That is, you should be using cons, car, and cdr, not first, sentence, etc. 20 CS61A – Lab Assignment 3.1 University of California, Berkeley Kurt Meinz Summer 2002 1. SICP ex. 2.25 and 2.53; these should be quick and easy. 2. SICP ex. 2.55; explain your answer to your TA. 3. SICP ex. 2.27. This is the central exciting adventure of today’s lab! Think hard about it. 4. Each person individually make up a procedure named mystery that, given two lists as arguments, returns the result of applying exactly two of cons, append, or list to mystery’s arguments, using no quoted values or other procedure calls. Here are some examples of what is and is not fair game: okay not okay (define (mystery L1 L2) (cons L1 (append L2 L1))) (define (mystery L1 L2) (cons L1 (cons L2 (cons L1 L2)))) (define (mystery L1 L2) (list L1 (list L1 L1))) (define (mystery L1 L2) (cons L1 L2)) (define (mystery L1 L2) (append (cons L2 L2) L1)) (define (mystery L1 L2) (append L1 (cons L1 ’(A B C)))) Type your mystery definition into a file, and have one of your partners load it into Scheme and try to guess what it is by trying it out with various arguments. After everyone has tried someone else’s procedure, decide with your partners which procedure was hardest to guess and why, and what test cases were most and least helpful in revealing the definitions. 21 CS61A – Lab Assignment 3.2 University of California, Berkeley Kurt Meinz Summer 2002 Start by reading SICP section 2.3.3 (pages 151–161). 1. SICP ex. 2.62. 2. The file ~cs61a/lib/bst.scm contains the binary search tree procedures from pages 156–157 of SICP. Using adjoin-set, construct the trees shown on page 156. 3. SICP ex. 2.74. 22 CS61A – Lab Assignment 4.1 University of California, Berkeley Kurt Meinz Summer 2002 1. Modify the person class given in the lecture notes for week 3 (it’s in the file demo2.scm in the ~cs61a/lectures/3.0 directory) to add a repeat method, which repeats the last thing said. Here’s an example of responses to the repeat message. > (define brian (instantiate person ’brian)) brian > (ask brian ’repeat) () > (ask brian ’say ’(hello)) (hello) > (ask brian ’repeat) (hello) > (ask brian ’greet) (hello my name is brian) > (ask brian ’repeat) (hello my name is brian) > (ask brian ’ask ’(close the door)) (would you please close the door) > (ask brian ’repeat) (would you please close the door) 2. This exercise introduces you to the usual procedure described on page 9 of “Object-oriented Programming – Above-the-line View”. Read about usual there to prepare for lab. Suppose that we want to define a class called double-talker to represent people that always say things twice, for example as in the following dialog. > (define mike (instantiate double-talker ’mike)) mike > (ask mike ’say ’(hello)) (hello hello) > (ask mike ’say ’(the sky is falling)) (the sky is falling the sky is falling) Consider the following three definitions for the double-talker class. (They can be found online in the file ~cs61a/lib/double-talker.scm.) (define-class (double-talker name) (parent (person name)) (method (say stuff) (se (usual ’say stuff) (ask self ’repeat))) ) (define-class (double-talker name) (parent (person name)) (method (say stuff) (se stuff stuff)) ) (define-class (double-talker name) (parent (person name)) (method (say stuff) (usual ’say (se stuff stuff))) ) Determine which of these definitions work as intended. Determine also for which messages the three versions would respond differently. 23 CS61A – Lab Assignment 4.2 University of California, Berkeley Kurt Meinz Summer 2002 1. Given below is a simplified version of the make-account procedure on page 223 of Abelson and Sussman. (define (make-account balance) (define (withdraw amount) (set! balance (- balance amount)) balance) (define (deposit amount) (set! balance (+ balance amount)) balance) (define (dispatch msg) (cond ((eq? msg ’withdraw) withdraw) ((eq? msg ’deposit) deposit) ) ) dispatch) Fill in the blank in the following code so that the result works exactly the same as the make-account procedure above, that is, responds to the same messages and produces the same return values. The differences between the two procedures are that the inside of make-account above is enclosed in the let below, and the names of the parameter to make-account are different. (define (make-account init-amount) (let ( underbar ) (define (withdraw amount) (set! balance (- balance amount)) balance) (define (deposit amount) (set! balance (+ balance amount)) balance) (define (dispatch msg) (cond ((eq? msg ’withdraw) withdraw) ((eq? msg ’deposit) deposit) ) ) dispatch) ) 2. Modify either version of make-account so that, given the message balance, it returns the current account balance, and given the message init-balance, it returns the amount with which the account was initially created. For example: > (define acc (make-account 100) acc > (acc ’balance) 100 Continued on next page... 24 Lab Assignment 4.2 continued: 3. Modify make-account so that, given the message transactions, it returns a list of all transactions made since the account was opened. For example: > (define acc (make-account 100)) acc > ((acc ’withdraw) 50) 50 > ((acc ’deposit) 10) 60 > (acc ’transactions) ((withdraw 50) (deposit 10)) 4. Given this definition: (define (plus1 var) (set! var (+ var 1)) var) Show the result of computing (plus1 5) using the substitution model. That is, show the expression that results from substituting 5 for var in the body of plus1, and then compute the value of the resulting expression. What is the actual result from Scheme? 25 CS61A – Lab Assignment 5.1 University of California, Berkeley Kurt Meinz Summer 2002 1. This lab activity consists of example programs for you to run in Scheme. Predict the result before you try each example. If you don’t understand what Scheme actually does, ask for help! Don’t waste your time by just typing this in without paying attention to the results. (define (make-adder n) (lambda (x) (+ x n))) (make-adder 3) ((make-adder 3) 5) ((lambda (x) (let ((a 3)) (+ x a))) 5) (define (f x) (make-adder 3)) (define k (let ((a 3)) (lambda (x) (+ x a)))) (f 5) (k 5) (define g (make-adder 3)) (define m (lambda (x) (let ((a 3)) (+ x a)))) (g 5) (define (make-funny-adder n) (lambda (x) (if (equal? x ’new) (set! n (+ n 1)) (+ x n)))) (m 5) (define j (make-funny-adder 7)) (define p (let ((a 3)) (lambda (x) (if (equal? x ’new) (set! a (+ a 1)) (+ x a))))) (h 5) (p 5) (h 5) (p 5) (h ’new) (p ’new) (h 5) (p 5) (j 5) (define r (lambda (x) (let ((a 3)) (if (equal? x ’new) (set! a (+ a 1)) (+ x a))))) (define h (make-funny-adder 3)) (let ((a 3)) (+ 5 a)) (let ((a 3)) (lambda (x) (+ x a))) (r 5) ((let ((a 3)) (lambda (x) (+ x a))) 5) (r 5) (r ’new) Continued on next page... 26 Lab Assignment 5.1 continued: (r 5) (define s (let ((a 3)) (lambda (msg) (cond ((equal? msg ’new) (lambda () (set! a (+ a 1)))) ((equal? msg ’add) (lambda (x) (+ x a))) (else (error "huh?")))))) (define (ask obj msg . args) (apply (obj msg) args))) (ask s ’add 5) (ask s ’new) (ask s ’add 5) (define x 5) (s ’add) (s ’add 5) (let ((x 10) (f (lambda (y) (+ x y)))) (f 7)) ((s ’add) 5) (define x 5) (s ’new) ((s ’add) 5) ((s ’new)) ((s ’add) 5) 2. Exercise 3.12 of Abelson and Sussman. 3. Suppose that the following definitions have been provided. (define x (cons 1 3)) (define y 2) A CS 61A student, intending to change the value of x to a pair with car equal to 1 and cdr equal to 2, types the expression (set! (cdr x) y) instead of (set-cdr! x y) and gets an error. Explain why. 4a. Provide the arguments for the two set-cdr! operations in the blanks below to produce the indicated effect on list1 and list2. Do not create any new pairs; just rearrange the pointers to the existing ones. > (define list1 (list (list ’a) ’b)) list1 > (define list2 (list (list ’x) ’y)) list2 > (set-cdr! okay > (set-cdr! okay > list1 ((a x b) b) > list2 ((x b) y) ) ) 4b. After filling in the blanks in the code above and producing the specified effect on list1 and list2, draw a box-and-pointer diagram that explains the effect of evaluating the expression (set-car! (cdr list1) (cadr list2)) . 5. Exercises 3.13 and 3.14 in Abelson and Sussman. 27 CS61A – Lab Assignment 5.2 University of California, Berkeley Kurt Meinz Summer 2002 1. What is the type of the value of (delay (+ 1 27))? What is the type of the value of (force (delay (+ 1 27)))? 2. Evaluation of the expression (stream-cdr (stream-cdr (cons-stream 1 ’(2 3)))) produces an error. Why? 3. Consider the following two procedures. (define (enumerate-interval low high) (if (> low high) ’() (cons low (enumerate-interval (+ low 1) high)) ) ) (define (stream-enumerate-interval low high) (if (> low high) the-empty-stream (cons-stream low (stream-enumerate-interval (+ low 1) high)) ) ) What’s the difference between the following two expressions? (delay (enumerate-interval 1 3)) (stream-enumerate-interval 1 3) 4. An unsolved problem in number theory concerns the following algorithm for creating a sequence of positive integers s1 , s2 , ... Choose For n if if s1 > sn sn to be some positive integer. 1, is odd, then sn+1 is 3 sn + 1; is even, then sn+1 is sn / 2. No matter what starting value is chosen, the sequence always seems to end with the values 1, 4, 2, 1, 4, 2, 1, ... However, it is not known if this is always the case. 4a. Write a procedure num-seq that, given a positive integer n as argument, returns the stream of values produced for n by the algorithm just given. For example, (num-seq 7) should return the stream representing the sequence 7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1, 4, 2, 1, ... 4b. Write a procedure seq-length that, given a stream produced by num-seq, returns the number of values that occur in the sequence up to and including the first 1. For example, (seq-length (num-seq 7)) should return 17. You should assume that there is a 1 somewhere in the sequence. 28 CS61A – Lab Assignment 6.1 University of California, Berkeley Kurt Meinz Summer 2002 1. List all the procedures in the metacircular evaluator that call eval. 2. List all the procedures in the metacircular evaluator that call apply. 3. Explain why make-procedure does not call eval. 4. Abelson and Sussman, exercises 4.1, 4.2, 4.4, 4.5 If you have extra time after finishing this lab, please try to get an early start on Lab 6.2. 29 CS61A – Lab Assignment 6.2 University of California, Berkeley Kurt Meinz Summer 2002 1. Abelson and Sussman, exercise 4.2 2. Abelson and Sussman, exercise 4.4 3. Abelson and Sussman, exercise 4.5 30 CS61A – Lab Assignment 7.1 University of California, Berkeley Kurt Meinz Summer 2002 Part A: Abelson and Sussman, exercises 4.27 and 4.29. Part B: In this lab exercise you will become familiar with the Logo programming language, for which you’ll be writing an interpreter in project 4. To begin, type logo at the Unix shell prompt — not from Scheme! You should see something like this: Welcome to Berkeley Logo version 3.4 ? The question mark is the Logo prompt, like the > in Scheme. (Later, in some of the examples below, you’ll see a > prompt from Logo, while in the middle of defining a procedure) 1. Type each of the following instruction lines and note the results. (A few of them will give error messages.) If you can’t make sense of a result, ask for help. print 2 + 3 second "something print 2 + 3 print second "piggies print sum 2 3 pr second [another girl] print (sum 2 3 4 5) pr first second [carry that weight] pr second second [i dig a pony] print sum 2 3 4 5 to pr2nd :thing print first bf :thing end 2+3 print "yesterday pr2nd [the 1 after 909] print "julia" print first pr2nd [hey jude] print revolution repeat 5 [print [this boy]] print [blue jay way] if 3 = 1 + 1 [print [the fool on the hill]] show [eight days a week] print ifelse 2=1+1 ~ [second [your mother should know]] ~ [first "help] show first [golden slumbers] print first bf [she loves you] print ifelse 3 = 1 + 2 ~ [strawberry fields forever] ~ [penny lane] pr first first bf [yellow submarine] to second :stuff output first bf :stuff end print ifelse 4 = 1 + 2 ~ ["flying] ~ [[all you need is love]] Continued on next page... 31 Lab Assignment 7.1 continued... to greet :person say [how are you,] end to countdown :num if :num=0 [print "blastoff stop] print :num countdown :num-1 end to say :saying print sentence :saying :person end countdown 5 greet "ringo to downup :word print :word if emptyp bl :word [stop] downup bl :word print :word end show map "first [paperback writer] show map [word first ? last ?] ~ [lucy in the sky with diamonds] to who :sent foreach [pete roger john keith] "describe end downup "rain ;;;; The following stuff will work ;;;; only on an X workstation: to describe :person print se :person :sent end cs repeat 4 [forward 100 rt 90] who [sells out] cs print :bass repeat 10 [repeat 5 [fd 150 rt 144] rt 36] make "bass "paul cs repeat 36 [repeat 4 [fd 100 rt 90] setpc remainder pencolor+1 8 rt 10] print :bass print bass to tree :size if :size < 3 [stop] fd :size/2 lt 30 tree :size*3/4 rt 30 fd :size/3 rt 45 tree :size*2/3 lt 45 fd :size/6 bk :size end to bass output [johnny cymbal] end print bass print :bass print "bass cs pu bk 100 pd ht tree 100 2. Devise an example that demonstrates that Logo uses dynamic scope rather than lexical scope. Your example should involve the use of a variable that would have a different value if Logo used lexical scope. Test your code with Berkeley Logo. 3. Explain the differences and similarities among the Logo operators " (double-quote), [ ] (square brackets), and : (colon). 32 CS61A – Lab Assignment 7.2 University of California, Berkeley Kurt Meinz Summer 2002 1. Abelson and Sussman, exercises 4.35 and 4.38. 2. In this exercise we learn what a continuation is. Suppose we have the following definition: (define (square x cont) (cont (* x x)) Here x is the number we want to square, and cont is the procedure to which we want to pass the result. Now try these experiments: > (square 5 (lambda (x) x)) > (square 5 (lambda (x) (+ x 2))) > (square 5 (lambda (x) (square x (lambda (x) x)))) > (square 5 display) > (define foo 3) > (square 5 (lambda (x) (set! foo x))) > foo Don’t just type them in – make sure you understand why they work! The nondeterministic evaluator works by evalutating every expression with two continuations, one used if the computation succeeds, and one used if it fails. (define (reciprocal x yes no) (if (= x 0) (no x) (yes (/ 1 x)))) > (reciprocal 3 (lambda (x) x) (lambda (x) (se x ’(cannot reciprocate)))) > (reciprocal 0 (lambda (x) x) (lambda (x) (se x ’(cannot reciprocate)))) 33 CS61A – Lab Assignment 8.1 University of California, Berkeley Kurt Meinz Summer 2002 Abelson and Sussman, exercises 4.55 and 4.62: 4.55: Give simple queries that retrieve the following information from the data base: All people supervised by Ben Bitdiddle; The names and jobs of all people in the accounting division; The names and addresses of all people who live in Slumerville. 4.62: Define rules to implement the last-pair operation of exercise 2.17, which returns a list containing the last element of a nonempty list. Check your rules on queries such as (last-pair (3) ?x) (last-pair (1 2 3) ?x) (last-pair (2 ?x) (3)) Do your rules work correctly on queries such as (last-pair ?x (3))? For the lab exercises and the homework problems that involve writing queries or rules, test your solutions using the query system. To run the query system and load in the sample data: scm (load "~cs61a/lib/query.scm") (initialize-data-base microshaft-data-base) (query-driver-loop) You’re now in the query system’s interpreter. To add an assertion: (assert! (foo bar)) To add a rule: (assert! (rule (foo) (bar))) Anything else is a query. 34 CS61A – Homework 1.1 University of California, Berkeley Kurt Meinz Summer 2003 Topic: Functional programming Lectures: Monday June 23, Tuesday June 24 Reading: Abelson & Sussman, Section 1.1 In this assignment you’ll write simple recursive programs to manipulate words and sentences, as well as explore what makes special forms special. You should use the functions sentence, first, butfirst, last and butlast presented in lecture to operate on words and sentences. These functions are not discussed in the book. If you have taken CS3 and know about higher-order procedures such as every, please do not use them; use explicit recursion. This homework is due at 8 PM on Sunday, June 29. Please put your answers into a file called hw1-1.scm and submit it electronically by typing submit hw1-1 in the directory where the file is located. You will probably find it convenient to make a new directory (folder) for every week of the course and store the associated labs and homeworks in it; to create a folder called week1 type mkdir week1 at the Unix prompt. We understand that many of you have never used Unix before and will be struggling to find your way around. If you run into problems submitting the homework electronically don’t freak out. We’ll be quite lenient the first time around. Get your TA to help you submit on Monday. In subsequent weeks, we expect you to have mastered the online submission process. Be sure to test each function you write; the sample calls given here do not guarantee your code is bug-free. Include your test cases in your submission, but make sure to comment them out (the semicolon character begins a one-line comment in Scheme) so the file loads smoothly. Unless explicitly disallowed, you may always write helper procedures. One final note: Please ensure that your submitted .scm file loads into STk via the (load "hw1-1.scm") command smoothly. Submissions that cause errors on loading may lose points. Question 1. Write a procedure scale that takes two arguments: a number n and a sentence of numbers. It should multiply each number in the sentence by n and return a sentence of the results: STk> (scale 5 (se 1 2 0 10)) (5 10 0 50) Question 2. Write a procedure ends-e that takes a sentence as its argument and returns a sentence containing only those words of the argument whose last letter is “e”: STk> (ends-e ’(please put the salami above the blue elephant)) (please the above the blue) STk> (ends-e ’(absolutely nothing)) () Question 3. Write a procedure reverse which reverses a sentence: STk> (reverse ’(the matrix cannot tell you who you are)) (are you who you tell cannot matrix the) STk> (reverse ’(kurt alex greg carolen)) (carolen greg alex kurt) The adventure continues on the next page. 35 Question 4. Write a predicate decreasing? that takes a non-empty sentence of numbers as its argument. It should return a true value if the numbers are in strictly decreasing order and a false value otherwise: STk> (decreasing? ’(10 9 8 -2)) #t STk> (decreasing? ’(5 5 4)) #f STk> (decreasing? ’(17)) #t Question 5. This question concerns special forms. A. Most versions of Lisp provide and and or procedures like the ones described on Page 19 of the book. In principle there is no reason why these can’t be ordinary procedures, but some versions of Lisp make them special forms. Suppose we evaluate: STk> (or (= x 0) (= y 0) (= z 0)) If or is an ordinary procedure, all three argument expressions will be evaluated when or is invoked. But if the variable x has the value 0, we know that or should return true regardless of the values of y and z. There is no reason to evaluate the other two expressions! A Lisp interpreter in which or is a special form can evaluate the arguments one by one until either a true one is found or it runs out of arguments. (This is called short-circuit evaluation.) Devise a test that will determine whether Scheme’s and and or are a short-circuiting special forms or ordinary functions. That is, do and and or evaluate all their arguments all the time or do they stop as soon as they know the correct value to return? B. Scheme has two special forms for making choices, cond and if. Is it possible to define one in terms of the other? Specifically, say we attempt to define our own if procedure: STk> (define (my-if predicate consequent alternative) (cond (predicate consequent) (else alternative))) Let’s take it out for a spin: STk> (my-if (= 5 6) ’yes ’no) no It seems to work, so try something more interesting: STk> (define (my-factorial n) (my-if (= n 0) 1 (* n (my-factorial (- n 1))))) What happens when you attempt to use my-factorial? Why? 36 CS61A – Homework 1.2 University of California, Berkeley Kurt Meinz Summer 2003 Topic: Higher-order procedures Lectures: Wednesday June 25, Thursday June 26 Reading: Abelson & Sussman, Section 1.3 In this assignment you’ll gain experience with Scheme’s first class procedures and the lambda special form for creating anonymous functions. This homework is due at 8 PM on Sunday, June 29. Please put your answers into a file called hw1-2.scm and submit electronically by typing submit hw1-2 in the directory where the file is located. The book’s treatment of this subject is highly mathematical because it doesn’t introduce symbolic data (such as words and sentences) until later. Don’t panic if you have trouble with the half-interval example on Page 67; you can just skip it. Try to read and understand everything else. Question 1. Use higher-order functions such as every and keep presented in lecture to write the function permute; don’t use explicit recursion! Permute takes two arguments, both sentences. The first sentence, called the template, contains only numbers. A number n in the template corresponds to the nth word in the second argument to permute (counting from 1). Permute should rearrange its second argument to conform to the template: STk> (permute ’(1 1 2 1) ’(summer is almost here)) (summer summer is summer) STk> (permute ’(3 2 1) ’(strange blue chicken)) (chicken blue strange) STk> (permute ’() ’(berkeley city council)) () Don’t check for out-of-bounds numbers in the template. You may find item useful. Question 2. This question builds on the sum procedure defined on Page 58. A. The sum function allows one to add up the elements of a pattern defined by the parameters term and next over some range [a, b]. Use sum to define a function sum-odds that takes two numbers and returns the sum of all odd numbers between them, inclusive: STk> (sum-odds 1 10) 25 STk> (sum-odds 4 9) 21 STk> (sum-odds 7 7) 7 ;; 1 + 3 + 5 + 7 + 9 ;; 5 + 7 + 9 ;; 7 Your definition of sum-odds must have the following form: (define (sum-odds a b) (sum ?? ?? ?? ??)) You may assume the first argument to sum-odds will be less than or equal to the second. The excitement continues on the next page. 37 B. What if we want to multiply numbers over a range? Define a function product that takes the same arguments as sum but does multiplication rather than addition: STk> (sum (lambda (x) 10) 1 (lambda (x) (+ x 1)) 3) 30 STk> (product (lambda (x) 10) 1 (lambda (x) (+ x 1)) 3) 1000 C. The factorial of a number n is 1 · 2 · 3 · ... · n. Use product to define a factorial function. D. Now use product to approximate π using the formula: 2 · 4 · 4 · 6 · 6 · 8 · ... π = 4 3 · 3 · 5 · 5 · 7 · 7 · ... Do this by writing a function pi that takes one numeric argument i. This parameter should in some way control the number of terms computed; hence a larger value of i should yield a closer approximation to π. Exactly what is meant by “number of terms” is up to you. All we care about is that a larger value of i produces a better approximation. For example, our solution takes i to be the largest number in the numerator: STk> (pi 1000) 3.1431607055322752 Depending on the meaning you give to i and the algorithm you employ, you might not get as close an approximation (or you might get an even closer one!). It is likely that making i too big will overload the machine, so don’t be overeager. One way to do this problem is to compute the numerator and denominator independently, then divide them. While this can be done, it’s trickier than it looks because you have to ensure the same number of terms in both, and, as you can see, the numerator and denominator don’t line up nicely. If you’re stuck, try treating 2·4 3·3 as one unit. E. Writing product after sum should have seemed redundant. They differ in only two ways: the combiner function and the value returned in the base case (often called the “null value”). We’d like to generalize the pattern exhibited by both functions to create a still more powerful procedure called accumulate. This function should take all the arguments that sum and product do plus the two additional parameters: the combiner and the null value. Once you have written accumulate both sum and product may be defined in terms of it like this: STk> (define (sum term a next b) (accumulate + 0 term a next b)) sum STk> (define (product term a next b) (accumulate * 1 term a next b)) product Use accumulate to define the function enumerate-interval, which takes two numeric arguments a and b, where a ≤ b. It returns a sentence of all the numbers between a and b, inclusive: STk> (enumerate-interval 3 10) (3 4 5 6 7 8 9 10) STk> (enumerate-interval -3 3) (-3 -2 -1 0 1 2 3) The excitement continues on the next page. 38 Question 2. This question explores procedures as return values. A. Define a procedure double that takes a one-argument function f and returns a procedure that applies f twice: STk> (define 1+ (lambda (x) (+ x 1))) 1+ STk> (define 2+ (double 1+)) 2+ STk> ((double 2+) 10) 14 What value is returned by the following? Try to figure it out in your head first! STk> (((double (double double)) 1+) 5) B. Now generalize double by writing a procedure repeated that takes two arguments: a unary function f and and a nonnegative integer n which is the number of times f should be applied. It should return a procedure which applies f that many times: STk> (repeated square 2) #[closure arglist=(x) cd7fdc] ;; returns a procedure! STk> ((repeated square 2) 5) 625 STk> ((repeated bf 3) ’(the matrix has you)) (you) STk> ((repeated first 0) ’(luke i am your father)) ;; identity function (luke i am your father) A particularly elegant solution exists that uses compose from Exercise 1.42 in the book. 39 CS61A – Homework 2.1 University of California, Berkeley Kurt Meinz Summer 2003 Topic: Recursion and iteration Lectures: Monday June 30, Tuesday July 1 Reading: Abelson & Sussman, Section 1.2 through 1.2.4 (Pages 31–47) In this assignment you’ll practice writing procedures that evolve iterative processes. The homework is due at 8 PM on Sunday, July 6. Please put your solutions into a file called hw2-1.scm and submit electronically by typing submit hw2-1 in the appropriate directory. Include test cases and make sure that your .scm files loads without errors. Question 1. You’ve seen the keep higher-order function in lecture. It takes two arguments: a predicate and a sentence. It returns a new sentence of only those elements that satisfy the predicate (i.e. those for which the predicate returns a true value): STk> (keep odd? ’(1 2 3 4 5 6 7)) (1 3 5 7) STk> (keep (lambda (x) (equal? x ’foo)) ’(follow the white rabbit)) () Write keep so it generates an iterative process. Question 2. The fast-expt procedure presented on Page 45 performs exponentiation in a logarithmic number of steps using successive squaring. Its order of growth is approximately Θ(log2 (n)), which is pretty damn good. However, the book’s version evolves a recursive process: each time n is even a call to square is left to be done before the function returns. Re-write fast-expt so it evolves an iterative process (and still uses a logarithmic number of steps, of course). The idea behind successive squaring is: n n bn = (b 2 )2 = (b2 ) 2 To adapt this to an iterative algorithm, you’ll need to maintain an extra iteration variable, call it a for “answer,” that is taken to be 1 initially; the final value of a will be the result of fast-expt. The value of abn should not change from one iteration to the next. In other words, abn should remain invariant throughout the computation. The individual values of a, b and n may change from iteration to iteration. STk> (fast-expt 3 6) 729 STk> (fast-expt 2 32) 4294967296 The adventure continues on the next page. 40 Question 3. Read and complete Exercise 1.37 from SICP. Don’t get intimidated by the math. This question has nothing to do with φ, the special number 1.6180, except that its inverse can be approximated with the continued fraction: 1 1 1+ 1 1+ 1 + ··· You don’t need to understand the mathematical significance of φ. However, your cont-frac function should give a good approximation to φ1 : STk> (cont-frac (lambda (i) 1.0) (lambda (x) 1.0) 100) 0.618033988749895 But before you start approximating 1 φ, test your function with a small k-term finite continued fraction like: 1 2 1+ 2+ 3 3 There are just three terms in this fraction, making it easy to compute by hand: STk> (/ 1 (+ 1 (/ 2 (+ 2 (/ 3 3))))) 0.6 Using cont-frac should give matching results: STk> (cont-frac (lambda (x) x) (lambda (x) x) 3) 0.6 Hint: You will find it easier to count up from one to k in the recursive version, and to count down from k to zero in the iterative version. Question 4. A perfect number is defined as a number equal to the sum of all its factors less than itself. For example, the first perfect number is 6, because 1 + 2 + 3 = 6. The second perfect number is 28, because 1 + 2 + 4 + 7 + 14 = 28. What is the third perfect number? Write a procedure next-perfect that takes a single number n and tests numbers starting with n until a perfect number is found: STk> (next-perfect 4) 6 STk> (next-perfect 6) 6 STk> (next-perfect 7) 28 To find the third perfect number evaluate (next-perf 29). To do this problem, you’ll need a sum-of-factors subprocedure. If you run this program when the system is heavily loaded, it may take a while to compute the answer! Make sure your program can find 6 and 28 first. Does next-perfect evolve an iterative or recursive process? 41 CS61A – Homework 2.2 University of California, Berkeley Kurt Meinz Summer 2003 Topic: Data abstraction Lectures: Wednesday July 2, Thursday July 3 Reading: Abelson & Sussman, Sections 2.1 and 2.2.1 (Pages 79–106) In this assignment you’ll practice working with Scheme lists. Although lists look like sentences, you should treat them as a completely separate type. Do not use sentence operators on lists! Below is a table of sentence functions and their list counterparts: Sentences first butfirst last butlast sentence every keep member? item empty? count Lists car cdr none list append cons map filter member list-ref null? length The homework is due at 8 PM Sunday, July 6. Please put your solutions into a file called hw2-2.scm and submit them online. Include test cases, but comment them out so the file loads cleanly. Question 1. In the sentence world, keep can be written in terms of every, like this: STk> (define (keep pred sent) (every (lambda (e) (if (pred e) e ’())) sent)) STk> (keep number? ’(in 1 day it will be 1999)) (1 1999) Can you use a similar trick to write filter using map, which is defined on Page 105? Why or why not? Question 2. Read and complete Exercise 2.12 in SICP. Here is the interval ADT: (define (make-interval a b) (cons a b)) (define (upper-bound interval) (car interval)) (define (lower-bound interval) (cdr interval)) We’ll represent percentages as decimal values in the range [0, 1]. Here is the desired behavior: STk> STk> 10 STk> .1 STk> 9 STk> 11 (define my-interval (make-center-percent 10 .1)) (center my-interval) (percent my-interval) (lower-bound my-interval) (upper-bound my-interval) The fun continues on the next page. 42 ;; 10% tolerance Question 3. The great thing about lists is that they can hold any Scheme value: numbers, booleans, even procedures! Watch: STk> (define procs (list + * =)) procs STk> ((car procs) 10 10 10) 30 STk> ((caddr procs) 9 11) #f ;; why doesn’t ’(+ * =) work? A. We’d like to exploit this feature by writing a function call-all that takes two arguments: a list of unary procedures and an arbitrary Scheme value x. It should invoke all the procedures in the list on x in the intuitive order (the leftmost procedure is the last one invoked): STk> (call-all 4 STk> (call-all #t STk> (call-all foo STk> (call-all (((foo))) (list sqrt abs (lambda (x) (- x 6))) -10) (list null? cdr cdr cdr) ’(free your mind)) nil ’foo) ;; identity function (list list list list) ’foo) Write call-all; there is a very simple recursive solution. B. It’d be a lot nicer if instead of taking two arguments call-all could take any number of arguments, the last of which is x, like this: STk> (call-all null? cdr cdr cdr ’(free your mind)) #t STk> (call-all ’foo) ;; identity function foo Scheme provides a special dotted-tail notation for definitions that allows procedures to take an arbitrary number of arguments. For example: STk> (define (f x y . z) (list x y z)) The procedure f can be called with two or more arguments. The first will be in x; the second in y and any remaining arguments will be put into a list z: STk> (f 1 2 3 4) (1 2 (3 4)) STk> (f 1 2) (1 2 ()) STk> (f 1) *** Error: wrong number of arguments to procedure: (f 1) As another example, the primitive operator list can be defined like this: STk> (define (list . args) args) list STk> (list 1 2 ’three) (1 2 three) Use dotted-tail notation to create a new version of call-all that behaves as above. It should accept one or more arguments. The fun continues on the next page. 43 Question 4. Since lists can contain lists, it becomes possible to create nested lists. Next week we’ll explore nested lists and other hierarchical data structures. As a prelude, write a function group-3 that takes a single list as argument. The number of things in the list will always be a multiple of three. The function should group every three consecutive elements into a list, returning a list of lists: STk> (group-3 ’(a b c d e f g h i)) ((a b c) (d e f) (g h i)) STk> (group-3 ’(hello (mr) anderson)) ((hello (mr) anderson)) First write group-3 so it generates a recursive process. Next write a version that generates an iterative process. The iterative solution is a bit more difficult; you may find append useful. 44 CS61A – Homework 3.1 University of California, Berkeley Kurt Meinz Summer 2003 Topic: Hierarchical data Lectures: Monday July 7, Tuesday July 8 Reading: Abelson & Sussman, Section 2.2.2–2.2.3, 2.3.1, 2.3.3 In this assignment you’ll gain experience working with structures that have variable depth such as lists of lists and the Tree and Mobile abstract data types. However, the book does not have a tree ADT. In fact, when the book refers to “trees”—as in scale-tree on Page 112—it’s really talking about deep lists. Our tree ADT—which consists of the functions make-tree, children and datum—is itself usually implemented using lists: (define make-tree cons) (define datum car) (define children cdr) But remember, the underlying representation of any ADT is irrelevant! We can define make-tree and friends in a thousand different ways. As you do this homework, fight the desire to think of a Mobile or a Tree in terms of their underlying representations as lists. This assignment is due at 8 PM on Sunday, July 13. Put your answers into a file called hw3-1.scm and turn it in online with submit hw3-1 as usual. Question 1. Write a function deep-map that takes a unary function and a (possibly) nested list. It should apply the function to each atomic element of the list and return a new list with the same nested structure: STk> (deep-map not ’(#f ((#f) (#t)))) (#t ((#t) (#f))) STk> (deep-map (lambda (a) ’foo) ’()) () STk> (deep-map (lambda (x) ’foo) ’(((((3) 4) (5)) 6))) (((((foo) foo) (foo)) foo)) STk> (deep-map square ’(1 2 (3) 4)) (1 4 (9) 16) STk> (deep-map list ’(1 2 (3) 4)) ((1) (2) ((3)) (4)) Question 2. In this question we’ll make use of the Tree ADT presented in lecture. A Tree can have any number of children. The constructor is make-tree and takes two arguments, the second of which is a list of Trees which are the children. The selectors are datum and children. The following code builds up the tree at right (from the bottom up): (define (define (define (define (define (define (define (define (define eight (make-tree 8 ’())) twelve (make-tree 12 ’())) ten (make-tree 10 ’())) six (make-tree 6 ’())) seven (make-tree 7 ’())) two (make-tree 2 (list eight))) nine (make-tree 9 (list ten))) three (make-tree 3 (list six nine seven))) one (make-tree 1 (list two twelve three))) The question continues on the next page. 45 1 / | \ / | \ 2 12 3 | / | \ 8 6 9 7 | 10 This is a large Tree specifically so that you can play with it. In testing your code, you may want to work with one of the subtrees, such as three or nine. Write a function fringe that takes a Tree and returns a list of the datums of the leaf nodes, in any order: STk> (fringe one) (8 12 6 10 7) STk> (fringe three) (6 10 7) STk> (fringe six) (6) Question 3. This question explores a Mobile ADT. A Mobile is like a tree with only two branches at every node: a right branch and a left branch. From each branch hangs either a weight, which is just a number, or another Mobile. Here is a constructor: (define (make-mobile left-branch right-branch) (list ’mobile left-branch right-branch)) A branch also consists of two parts: a length and a structure. The length of a branch is numeric; the structure at the end, however, can be either another Mobile or a weight (a number). (define (make-branch branch-length branch-structure) (list ’branch branch-length branch-structure)) The following code builds up the Mobile at right (from the bottom up): STk> (define mobile-1 (make-mobile (make-branch (make-branch STk> (define mobile-2 (make-mobile (make-branch (make-branch STk> (define mobile-3 (make-mobile (make-branch (make-branch 4 2 3 2 8 5 5) 10))) 10) mobile-1))) mobile-2) 10))) O 8 / \ 5 / \ O 10 3 / \ 2 / \ 10 O 4 / \ 2 / \ 5 10 A. There are four selectors that need to be written. Two are for Mobiles: right-branch and left-branch, and two are for branches: branch-structure and branch-length. We’ll build a simple error check into the selectors to ensure they’re applied to the right type: (define (left-branch mobile) (if (and (list? mobile) (equal? (car mobile) ’mobile)) (cadr mobile) (error "Not a mobile -- LEFT-BRANCH: " mobile))) Write the three remaining selectors analogously. Try them out on mobile-3 above: STk> (branch-structure (right-branch mobile-3)) 10 STk> (branch-length (left-branch (branch-structure (left-branch mobile-3)))) 3 STk> (branch-structure (left-branch (branch-structure (right-branch (branch-structure (left-branch mobile-3)))))) 5 The learning continues on the next page. 46 B. Write a function total-weight which returns the weight of a Mobile. Assume branches are weightless; hence, only the weights increase the total weight of a Mobile: STk> (total-weight mobile-1) 15 STk> (total-weight mobile-2) 25 STk> (total-weight mobile-3) 35 Students tend to solve this problem by performing an unnecessarily exhaustive case analysis: is the left branch a weight? is the right branch a weight? are both of them weights? This approach indicates that you don’t trust the recursion. You only need one base case and one recursive case! Ask yourself, what are the “leaves” of a Mobile? C. A mobile is said to be balanced if the torque applied by its top-left branch is equal to that applied by its top-right branch, and if all the other mobiles hanging beneath it are themselves balanced. The “torque applied by a branch” means the product of the branch-length and the total-weight of the branch-structure. For example, the torque applied by the top-right branch of the mobile (whose length is 5 and whose structure is the weight 10) is 50. Write a balanced? predicate that takes a Mobile and returns a true value if it is balanced, #f otherwise: STk> (balanced? mobile-1) #t STk> (balanced? mobile-2) #t STk> (balanced? mobile-3) #f Aim for the simplest possible base case. You may assume that a weight by itself is always balanced. Question 4. We can represent a set as a list of distinct, unordered elements. We’d like to find the subsets of such a set. The subsets of a set S are all the sets that can be formed by selecting any number of the elements of S. For example: STk> (subsets ’(1 2 3)) (() (3) (2) (2 3) (1) (1 3) (1 2) (1 2 3)) Notice that the empty set is a subset of every set, and every set is a subset of itself. Complete the following definition of subsets. (define (subsets s) (if (null? s) (list ’()) (let ((rest (subsets (cdr s)))) (append rest (map ?? rest))))) Trust the recursion! 47 CS61A – Homework 3.2 University of California, Berkeley Kurt Meinz Summer 2003 Topic: Representing abstract data Lectures: Wednesday July 10, Thursday July 11 Reading: Abelson & Sussman, Sections 2.4 through 2.5.2 (Pages 169–200) This assignment gives you practice with data-directed programming and message-passing. Part of the assignment involves understanding and modifying the generic arithmetic system described in the book. The file ~cs61a/lib/packages.scm contains the code from the book that implements generic arithmetic. It has the definitions of install-rectangular-package, install-polar-package, install-scheme-numberpackage, install-rational-package and install-complex-package. But remember, these are just procedure definitions. You have to invoke them to populate the table! For convenience, we’ve provided the function install-all-packages which is defined as: (define (install-all-packages) (install-polar-package) (install-rectangular-package) (install-complex-package) (install-scheme-number-package) (install-rational-package) ’engage-warp-9) The file also contains apply-generic from Page 184, the generic procedures from Pages 184 and 189, the relevant constructors and other supporting code. This assignment is due at 8 PM on Sunday, July 13. Put your answers into a file called hw3-2.scm and turn it in electronically. Comment out your test cases so the file loads smoothly. Question 1. Write a function add-up-complex that takes a list of complex numbers (in polar or rectangular form) and returns a complex number representing their sum. The result should be in rectangular form. STk> (define x (make-complex-from-real-imag 3 4)) x STk> (define y (make-complex-from-real-imag 10 0)) y STk> (define z (make-complex-from-mag-ang 5 1.2)) z STk> (add-up-complex (list x y z)) (complex rectangular 14.8117887723834 . 8.66019542983613) STk> (add-up-complex ’()) (complex rectangular 0 . 0) The adventure continues on the next page. 48 Question 2. Read and complete Exercise 2.77 on Page 192. You might want to trace the apply-generic procedure. In case this is not clear, when Louis types (put ’magnitude ’(complex) magnitude) the magnitude procedure actually inserted into the table is the one defined on Page 184. The definitions of real-part, imag-part and angle are there, too. A good place to start is by reproducing Louis’ error: STk> (load "~cs61a/lib/packages.scm") okay STk> (install-all-packages) engage-warp-9 STk> (define z (make-complex-from-real-imag 3 4)) z STk> (magnitude z) *** Error: No method for these types -- APPLY-GENERIC (magnitude (complex)) Question 3. We’d like to create a generic procedure zero? that tests if its argument is equal to zero. We’re going to use apply-generic to define it: (define (zero? x) (apply-generic ’zero? x)) Your job is to add something to the complex, rational and scheme-number packages to make this generic definition work. Here is the desired behavior: STk> #f STk> #t STk> #t STk> #f STk> #t STk> #t (zero? (make-rational 1 2)) (zero? (make-complex-from-real-imag 0 0)) (zero? (make-complex-from-mag-ang 0 1.4)) (zero? (make-scheme-number 43)) (zero? (make-rational 0 234)) (zero? (make-scheme-number 0)) Show just the parts you added. The learning continues on the next page. 49 ;; zero magnitude Question 4. Berkeley is a great place to buy coffee. So many vendors to choose from: Starbucks, Tullys, Peets, Strada, etc. Some of these places offer a bulk discount: the more coffee you buy the less it costs. We’ll model the pricing scheme of a given coffee vendor with a function that takes the quantity of coffee you’d like to purchase and returns the total price. Suppose we’ve set up a table keyed by vendor name and coffee type like this: STk> (put ’starbucks ’frap (lambda (n) (* n 3.50))) STk> (put ’starbucks ’mocha (lambda (n) (* n 1.50))) STk> (put ’coffee-source ’frap (lambda (n) (cond ((< n 5) (* n 4.00)) ((< n 10) (* n 3.00)) (else (* n 2.50))))) STk> (put ’tullys ’frap (lambda (n) (cond ((< n 10) (* n 3.50)) ((< n 30) (* n 3.00)) (else (* n 2.50))))) STk> (put ’peets ’frap (lambda (n) (if (< n 50) (* n 4.00) (* n 2.00)))) To find out how much ten Starbucks fraps cost you’d type: STk> ((get ’starbucks ’frap) 10) 35.0 Write a function best-deal that takes three arguments: the type of coffee, the quantity you want to purchase and a list of vendors at least one of which sells the desired item. It should return the name of the vendor with the best price for that quantity of goods. If multiple vendors exists with the same low price best-deal should return the first one in the list. STk> (best-deal starbucks STk> (best-deal peets STk> (best-deal coffee-source STk> (best-deal starbucks ’frap 1 ’(starbucks tullys office-depot)) ’frap 10000 ’(starbucks walmart peets tullys strada)) ’frap 13 ’(coffee-source tullys)) ’mocha 87 ’(peets starbucks coffee-source)) As you can see, not all the vendors will sell the product desired. Some of the vendors might not even be in the table! At least one will. Recall that get returns #f if it does not find anything in the table matching both keys. You may want to use the following helper function, which returns the first vendor in a list of vendors that sells a specific good. (define (vendor-that-sells good vendors) (if (get (car vendors) good) (car vendors) (vendor-that-sells good (cdr vendors)))) STk> (vendor-that-sells ’mocha ’(copy-central peets starbucks)) starbucks The excitement continues on the next page. 50 Question 5. In the last homework, you implemented a Mobile ADT and wrote functions total-weight and balanced? that worked on Mobiles. Here is the Mobile constructor: (define (make-mobile left-branch right-branch) (list ’mobile left-branch right-branch)) We’d now like to implement Mobiles as message-passing objects, similar to make-from-real-imag on Page 186. Here is the new Mobile constructor: (define (make-mobile left-branch right-branch) (define (dispatch op) (cond ((eq? op ’left-branch) left-branch) ((eq? op ’right-branch) right-branch) (else (error "I don’t understand -- MAKE-MOBILE: " op)))) dispatch) Implement make-branch, the constructor for branches, in message-passing style. Then write the four selectors left-branch, right-branch, branch-structure and branch-length to work with this implementation of Mobiles and branches. Test them on mobile-3, defined in the last homework. Your total-weight and balanced? functions should work without modification with this new representation of Mobiles. 51 CS61A – Homework 4.1 University of California, Berkeley Kurt Meinz Summer 2003 Topic: Object-oriented programming Lectures: Monday July 14, Tuesday July 15 Reading: “Object-Oriented Programming—Above-the-line view” (in course reader) This homework gives your practice with our OOP system for Scheme. To use it, you must load ~cs61a/lib/obj.scm. The assignment is due at 8 PM Sunday, July 20. Put your solutions into a file hw4-1.scm, yadda, yadda, yadda ... you know the drill. Question 1. Create a class called random-generator that takes one instantiation argument, a number n. An instance of this class should respond to the message new by returning a random number that is less than n. (Recall that (random 10) returns a random number between 0 and 9.) Any other message should cause the instance to spit out the number it returned the last time: STk> (define rand1 (instantiate random-generator 10)) rand1 STk> (ask rand1 ’new) 4 STk> (ask rand1 ’new) 9 STk> (ask rand1 ’foo) 9 STk> (ask rand1 ’bar) 9 STk> (ask rand1 ’baz) 9 If a newly instantiated random-generator is given a message that is not new, it may return anything. Question 2. Create a coke-machine class. Instances of this class have one instantiation variable, the price (in cents) of a coke, and respond to five messages: • num-cokes — Returns the number of cokes currently in the machine. Initially, zero. • fill n — Fills the machine with n cokes. Machines start out empty. Returns anything. • price — Returns the price of a coke. • deposit n — Deposits n cents into the machine toward the purchase of a coke. You can deposit several coins and the machine should remember the total. Return value is up to you. • coke — Returns the string "Machine empty", the string "Not enough money") or your change, which signifies the successful purchase of a beverage. Decreases the number of cokes in the machine by one and clears the money in the machine. Here’s an example: STk> (define my-machine (instantiate coke-machine 70)) STk> (ask my-machine ’num-cokes) 0 The question continues on the next page. 52 STk> (ask my-machine ’coke) "Machine empty" STk> (ask my-machine ’fill 60) STk> STk> "Not STk> STk> STk> 5 (ask my-machine (ask my-machine enough money" (ask my-machine (ask my-machine (ask my-machine ;; return value up to you ’deposit 25) ’coke) ;; return value up to you ’deposit 25) ’deposit 25) ’coke) ;; now there’s 50 cents in there ;; now there’s 75 cents ;; 5 cents change STk> (ask my-machine ’num-cokes) 59 You may assume that the machine has an infinite supply of change and infinite space to store cokes. Question 3. The OOP construct usual forwards a message to the parent class, up exactly one level in the inheritance hierarchy. Extend this capability by writing a method called n-usual that sends a message to the nth ancestor in the inheritance hierarchy. This feature need only work with single inheritance. The method will take two arguments: n and a message. If n is zero, the message should be given to self. In order for this to work, each class in the hierarchy must have the same n-usual method. Here is the desired behavior (with return values omitted for clarity): STk> (define-class (a) (method (foo) (display "Foo (method (n-usual n message) STk> (define-class (b) (parent (a)) (method (foo) (display "Foo (method (n-usual n message) STk> (define (c) (parent (b)) (method (foo) (display "Foo (method (n-usual n message) STk> (define a1 (instantiate a)) STk> (define b1 (instantiate b)) STk> (define c1 (instantiate c)) STk> (ask c1 ’n-usual 0 ’foo) Foo in C STk> (ask c1 ’n-usual 1 ’foo) Foo in B STk> (ask c2 ’n-usual 2 ’foo) Foo in A in A") (newline)) ... )) in B") (newline)) ... )) in C") (newline)) ... )) Assume the nth ancestor can handle the message, and that the message takes no arguments. This problem is trickier than it looks. You’ll need more than one base case. The assignment continues on the next page. 53 Question 4. This exercise is mindblowingly cool. We can use OOP to represent cons pairs, and out of these OOP pairs we can make lists! For simplicity, assume throughout this exercise that our OOP lists will contain only atomic data, such as words and numbers. We’ll need two classes, oop-pair and the-null-list: (define-class (oop-pair the-car the-cdr) (method (length) (+ 1 (ask the-cdr ’length))) (method (list-ref n) (if (= n 0) the-car (ask the-cdr ’list-ref (- n 1))))) (define-class (the-null-list) (method (length) 0) (method (list-ref n) (error "Can’t LIST-REF into null list"))) Just like a proper list made of primitive cons pairs must end in nil, a proper OOP list must end in an instance of the-null-list class. Here is how you can use these definitions to construct the list (a b c): STk> (define my-oop-list (instantiate oop-pair ’a (instantiate oop-pair ’b (instantiate oop-pair ’c (instantiate the-null-list))))) my-oop-list STk> my-oop-list #[closure arglist=(message) 32ddec] ;; it’s an object! STk> (ask my-oop-list ’length) 3 STk> (ask my-oop-list ’list-ref 2) c Pause here to make sure you understand how this works. A. It’s not very convenient to construct these OOP lists as above. Define a procedure regular->oop-list that takes a regular Scheme list and returns the equivalent OOP list: STk> (define oop-list-1 (regular->oop-list ’(holy cow))) oop-list-1 STk> oop-list-1 #[closure arglist=(message) d2d88c] STk> (ask oop-list-1 ’length) 2 STk> (ask oop-list-1 ’list-ref 0) holy ;; it’s an object! The assignment continues on the next page. 54 B. It’s also not very convenient to view the contents of an OOP list. Add a print method to the oop-pair and the-null-list classes that has this behavior: STk> (define oop-list-2 (regular->oop-list ’(2 soon 2 tell))) oop-list-2 STk> (ask oop-list-2 ’print) [2 soon 2 tell ] okay ;; return value up to you STk> (ask (instantiate the-null-list) ’print) [] okay Use the display procedure to print the elements of the list. The return value of the print method is up to you. We only care about its side-effect. Don’t worry about extra spaces in the output. C. Lastly, add a member? method to the two class definitions: STk> (define oop-list-3 (regular->oop-list ’(a prison for your mind))) oop-list-3 STk> (ask oop-list-3 ’member? ’prison) #t STk> (ask oop-list-3 ’member? ’jail) #f 55 CS61A – Homework 4.2 University of California, Berkeley Kurt Meinz Summer 2003 Topic: Assignment, state, environments Lectures: Wednesday July 16, Thursday July 17 Reading: Abelson & Sussman Sections 3.1, 3.2 (Pages 217-251) and “Object-Oriented Programming—Below-the-line view” (in course reader) This assignment gives you practice with procedures that have local state and with the environment model of evaluation. Do not use OOP; use regular Scheme. This assignment is due at 8 PM on Sunday, July 20. Please put your answers to Questions 1-3 into a file hw4-2.scm and submit electronically. Question 4 asks you to draw an environment diagram. Please do this on a blank sheet of paper and turn it into the box labeled with your TA’s name in 283 Soda before lecture on Monday. Don’t forget to write your name and login on the paper. Question 1. To instrument a procedure means to make it do something in addition to what it already does. For example, a procedure can be instrumented to keep statistics about itself, such as how many times it has been called. A. Write a procedure instrument that takes a one-argument procedure f . It should return an instrumented version of f that keeps track of how many times it was called using a local counter. If the instrumented procedure is called with the special symbol times-called, it should return the number of times it has been invoked. If it’s called with reset, the internal counter should be set to zero. Any other argument should be passed directly to f : STk> (define i-square (instrument (lambda (x) (* x x)))) i-square STk> (i-square 5) 25 STk> ((repeated i-square 3) 2) 256 STk> (i-square ’times-called) 4 STk> (i-square ’reset) ok ;; return value up to you STk> (i-square ’times-called) 0 B. We’d like to keep track of how many times factorial is called (including recursive calls). So we try: STk> (define (factorial n) (if (= n 0) 1 (* n (factorial (- n 1))))) factorial STk> (define i-factorial (instrument factorial)) i-factorial STk> (i-factorial 5) 120 STk> (i-factorial ’times-called) 1 Explain why i-factorial thinks it’s only been called once, not five times. You may find it useful to draw an environment diagram, though you don’t have to. 56 Question 2. Modify the make-account procedure on Page 223 to create password-protected accounts. You choose the password when you create an account; you must then supply that same password when you wish to withdraw or deposit: STk> (define a1 (make-account 100 ’this-is-my-password)) a1 STk> ((a1 ’withdraw ’this-is-my-password) 40) 60 STk> ((a1 ’withdraw ’this-is-not-my-password) 10) Incorrect Password ;; print this and ok ;; return something STk> ((a1 ’deposit ’this-is-my-password) 10) 70 If an account is accessed more than three consecutive times with the wrong password, invoke this procedure (or your own variant): (define (police) (display "Bad boys, bad boys\n") (display "Watcha gonna do whatcha gonna do when they come for you\n") (display "Bad boys, bad boys\n") (display "Watcha gonna do whatcha gonna do when they come for you\n") (display "...\n") (display "Nobody naw give you no break\n") (display "Police naw give you no break\n")) (Lyrics from www.geocities.com/tvshowthemelyrics/CopsSong.html) Question 3. Under the substitution model of evaluation, the order in which arguments were evaluated (e.g., left to right or right to left) didn’t matter. With the introduction of assignment—or other side-effects, such as printing—the order in which expressions are evaluated matters a great deal; different results are possible if arguments are evaluated from left to right instead of right to left. Devise a way to test the order in which arguments are evaluated. Determine which way does +, (lambda (x y z) (list x y z)) and cons evaluate their arguments in STk. The fun continues on the next page. 57 Question 4. Draw an environment diagram for the following expressions. Also fill in the return value in each blank: STk> (define make-counter (let ((total 0)) (lambda () (let ((count 0)) (lambda () (set! count (+ 1 count)) (set! total (+ 1 total)) (list count total)))))) STk> (define c1 (make-counter)) STk> (c1) STk> (c1) STk> (define c2 (make-counter)) STk> (c2) STk> (c1) There is a program called EnvDraw that draws environment diagrams. There is no reason you shouldn’t check your work using it. To run it, type envdraw at your shell (% is the shell prompt): % envdraw This will launch STk. From STk call the envdraw procedure: STk> (envdraw) okay Now, any expression you evaluate at the STk prompt will be shown in the environment. To keep EnvDraw from drawing the entire diagram at once, turn on Stepping mode; when you want it to draw the next piece of the diagram, choose Step from the menu. But wait! We did say check your work using EnvDraw, not let EnvDraw do the whole thing and copy. Environment diagrams are fundamental to what we do from now until the end of the semester. Putting in the time to understand them this week will make subsequent topics easier. Lastly, it is useful to think of local state variables as either class variables or instance variables. If we treat c1 and c2 in the above expression as instances, which are the class and instance variables? 58 CS61A – Homework 5.1 University of California, Berkeley Kurt Meinz Summer 2003 Topic: Mutation Lectures: Monday July 21, Tuesday July 22 Reading: Abelson & Sussman, Section 3.3.1–3 This assignment gives you practice with mutation of pairs and circular structures made of pairs. Additionally, several of problems require an understanding of last week’s material. Question 4, count-pairs, is a classic problem in computer science. Make sure to spend enough time on it. This homework is due at 8 PM on Sunday, July 27. Put your answers into a file hw5-1.scm and submit it electronically. Question 1. This question isn’t so much about how tables work, but about using them. Memoization is a technique for increasing the efficiency of a program by recording previously computed results in a local table. The keys are the arguments to the memoized procedure. When the memoized procedure is asked to compute a value, it first checks the table. If the value has already been computed, just pull it out of the table. Otherwise, compute the value and store it in the table for future use. (Note that memoization only benefits procedures that are strictly functional; it would not make sense to memoize random or other procedures with side-effects.) A. Here is the familiar procedure for computing Fibonacci numbers: (define (fib n) (cond ((= n 0) 1) ((= n 1) 1) (else (+ (fib (- n 1)) (fib (- n 2)))))) Its order of growth is Θ(2n ). Here is a memoized version: (define memo-fib (let ((history (make-table))) (lambda (n) (let ((previously-computed (lookup n history))) (or previously-computed (cond ((= n 0) 1) ((= n 1) 1) (else (let ((result (+ (memo-fib (- n 1)) (memo-fib (- n 2))))) (insert! n result history) result)))))))) Code for one-dimentional tables is in ~cs61a/lib/tables.scm. To get a rough idea of how much work is saved, trace both versions and compute the 11th Fibonacci number. Explain why memo-fib computes the nth Fibonacci number in a number of steps proportional to n. That is, show that memo-fib has roughly a linear order of growth. Treat lookup and insert! as constant-time operations. B. Memoize the count-change procedure defined on Page 40 of SICP. Actually, memoize its helper cc. Model your memo-cc procedure on memo-fib. Notice that cc has a structure that is very similar to fib: two base cases, one recursive case but with two recursive calls. The only difference is that cc takes two arguments, amount and kinds-of-coins. While you can use a two-dimentional table to deal with this, it is probably easier to use a one-dimentional table and list both arguments for the key. Test your memo-cc against the original cc procedure to make sure it returns the same answer—but faster! You’ll find the original count-change procedure in ~cs61a/lib/change.scm. The adventure continues on the next page. 59 Question 2. In this question we look at destructive removal of elements from a proper list. A. Write the procedure remove-nth! that takes a list and a number n. It should destructively remove the nth element of the list (counting from zero). The return value of remove-nth! is up to you; it’s the side-effect we’re after. You may assume that n will be within the length of the list. Additionally, you may assume that n will never be zero; that is, we’ll never ask remove-nth! to get rid of the very first list element. The desired behavior is this: STk> (define red-pill (list ’how ’deep ’the ’rabbit ’hole ’is)) red-pill STk> (remove-nth! red-pill 1) ok ;; return value is garbage STk> red-pill (how the rabbit hole is) STk> (remove-nth! red-pill 3) ok STk> red-pill (how the rabbit is) B. Now the interesting part: why can’t n be zero? Specifically, why is it impossible to write a removenth! function that can remove all the elements of a given list? For example: STk> (define a (list ’hello)) a STk> (remove-nth! a 0) ok STk> a () Assuming you have a working remove-nth! from Part A, why does the following definition of remove-nth-with-zero!, which attempts to handle the case when n is zero, fail? (define (remove-nth-with-zero! lst n) (if (= n 0) (set! lst (cdr lst)) (remove-nth! lst n))) ;; call remove-nth! if n is nonzero You may find it useful to draw an environment diagram (or have EnvDraw draw it for you). Question 3. Write a function interleave! that takes two lists, the first of which is non-empty, and interleaves their elements using mutation. That is, interleave! should insert an element of the second list between every two elements of the first list. The return value of interleave! is up to you. Here is a sample call (with some return values omitted for clarity): STk> STk> STk> STk> (1 a STk> (a 2 (define numbers (list 1 2 3 4 5)) (define letters (list ’a ’b)) (interleave! numbers letters) numbers 2 b 3 4 5) letters b 3 4 5) Test interleave! thoroughly and include your test cases in your submission (but comment them out). Do not allocate any new pairs! The point of this problem is to reuse existing pairs, not make new ones. Hence, cons and friends are illegal. The homework continues on the next page. 60 Question 4. We’d like to write a procedure count-pairs that returns the number of pairs in an arbitrary structure. The following is a version that would work for any structure of pairs that can be constructed without mutation: (define (count-pairs x) (if (not (pair? x)) 0 (+ (count-pairs (car x)) (count-pairs (cdr x)) 1))) Let’s take it out for a spin: STk> (count-pairs (list ’a ’b ’c)) 3 STk> (count-pairs (cons ’a (cons ’b ’c))) 2 STk> (count-pairs (list (list (list (list ’a)) ’b) ’c)) 6 Mutation, however, allows us to fool count-pairs into thinking a structure has more pairs than it really does: STk> (define test (list ’a ’b ’c)) test STk> (set-car! test (cdr test)) okay STk> (count-pairs test) 5 ;; 3 pairs ;; still 3 pairs Worse still, count-pairs will go into an infinite loop on circular structures: STk> (define test (list ’a ’b ’c)) test STk> (set-car! test test) okay STk> (count-pairs test) doesn’t return Fix count-pairs so it correctly returns the number of pairs in any structure, circular or not. Do this by having count-pairs keep track of pairs it has already visited in a local list. (Yes, this means you’ll need to maintain local state somewhere.) When facing a new pair, check if it is already in the list with memq, which is is like member but uses eq? to perform comparisons. You will need a helper. Test the new count-pairs on the nastiest circular structures you can come up with. 61 CS61A – Homework 5.2 University of California, Berkeley Kurt Meinz Summer 2003 Topic: Streams Lectures: Wednesday July 23, Thursday July 24 Reading: Abelson & Sussman, Section 3.5.1–3, 3.5.5 This assignment explores infinite streams. Use show-stream (abbreviated as ss) to print a stream; it takes an optional second argument specifying the number of elements to print. This homework is due at 8PM on Sunday, July 27. Please put your solutions into a file called hw6-1.scm and submit it electronically with submit hw6-1. As always, include test cases in your file but be sure to comment them out so the file loads smoothly. Question 1. Write a procedure list->stream that takes a list as its argument and returns an infinite stream of the elements of the list, re-starting at the begging once the end of the list is reached: STk> (ss (list->stream ’(there is no spoon))) (there is no spoon there is no spoon there is ...) Question 2. In this question, you’ll write a more general stream-map procedure and use it to define a stream implicitly. A. We’d like to generalize the two-argument stream-map function defined on Page 320 so that it behaves as follows (Assume ones and integers are both infinite streams.): STk> (ss (stream-map list ones integers) 5) ((1 1) (1 2) (1 3) (1 4) (1 5) ...) As you can see, the new stream-map takes n streams and a procedure that can take n arguments. The procedure is applied to the corresponding elements of each stream. You may assume that the streams given to stream-map will be infinite. Hence, a base case is not needed. Complete this definition of stream-map: (define (stream-map proc . streams) ( ?? (apply proc (map ?? streams)) (apply stream-map (map ?? streams)))) B. We’d now like to create an infinite stream of factorials: STk> (ss factorials) (1 2 6 24 120 720 5040 40320 362880 3628800 ...) The nth element of this stream is n + 1 factorial. Complete the following implicit definition of this stream: (define factorials (cons-stream 1 (stream-map * ?? ??))) Notice that unlike list->stream from Question 1, you’re not writing a function that returns a stream; instead, you’re defining the variable factorials to be the stream itself. Yet, because of the delayed evaluation afforded by streams, you may refer to the stream you’re defining as you’re defining it! See Page 328 for a more complete discussion of implicit stream definitions. Do not define any helper functions for this problem. You may, however, use the integers stream. The adventure continues on the next page. 62 Question 3. Create an infinite stream called runs that looks like this: STk> (ss runs 15) (1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 ... ) You’ll probably want to use the generator approach to creating streams by defining an auxiliary function, say, runs-generator and calling it with some initial values. Then use it to define runs: STk> (define runs (runs-generator parameters)) Question 4. Write a procedure chocolate that takes the name of someone who likes chocolate a lot and creates an infinite stream that says so: STk> (ss (chocolate ’greg) 25) (greg likes chocolate greg really likes chocolate greg really really likes chocolate greg really really really likes chocolate greg really really really really likes chocolate ... ) If you have trouble with this problem, try to first define a version of chocolate for lists that takes an additional argument: the maximum number of “really”s. Then gradually change list operations like cons and append to stream operations like cons-stream and stream-append. You’ll need a helper function. Question 5. The pairs procedure defined on Page 341 seems more complicated than needed. In the book’s version, the first pair, represented by (S0 , T0 ) on the diagram on Page 339, is formed explicitly. The stream-map handles the subsequent pairings of S0 . Why is the first pair a special case? Why can’t stream-map take care of the entire row? Here is a simpler version of pairs: (define (pairs s t) (interleave (stream-map (lambda (x) (list (stream-car s) x)) t) (pairs (stream-cdr s) (stream-cdr t)))) Does this work? Explain what happens when we attempt to evaluate the following with the new definition: STk> (pairs integers ones) 63 CS61A – Homework 6.1 University of California, Berkeley Kurt Meinz Summer 2003 Topic: Metacircular evaluator Lectures: Monday July 28, Tuesday July 29 Reading: Abelson & Sussman, Section 4.1.1–6 (Pages 359–393) This is the first of two homeworks on the metacircular evaluator. This assignment focuses on adding simple special forms as derived expressions and modifying the behavior of existing special forms. A version of the metacircular evaluator is available in ~cs61a/lib/mceval.scm. Please copy it to your homework directory and rename is hw6-1.scm. Answer all questions by adding to or modifying the code in this file. Clearly mark the parts you changed. You may include test cases in this file (just be sure to comment them out) or in a separate file called tests. When you are done, you will have a Scheme interpreter that supports let, let* and an extended version of define, as well as have a built-in map higher-order procedure. This assignment is due at 8 PM on Sunday, August 3. To keep your sanity test any new code in isolation before testing it through the interpreter. Get in the habit of testing incrementally: test the smallest nontrivial piece of code first, and work your way up. This way, any errors you encounter will be closer to the code that produced them. Lastly, remember to use mce to start the interpreter for the first time, since mce initializes the global environment. When you wish to get back to the REPL and preserve the state of the environment, use driver-loop. Question 1. This question concerns adding derived expressions to the metacircular evaluator. A. Add let as a special form to the metacircular evaluator by implementing a syntactic translation let->lambda that transforms a let expression into the equivalent procedure call: STk> (let->lambda ’(let ((a 1) (b (+ 2 3))) (* a b)))) ((lambda (a b) (* a b)) 1 (+ 2 3)) ;; returns a list! Remember, let->lambda takes a list that represents a let expression and returns another list that represents the equivalent procedure call. Do not be intimidated by this problem simply because it appears in the context of the MCE. This is a simple list-manipulation problem; the only thing that is new is that the list happens to look like Scheme code. Make sure your let->lambda function works correctly before proceeding; test it in isolation, at the STk (not MCE!) prompt. After you have written let->lambda, install let into the interpreter by adding the following clause to mc-eval: ((let? exp) (mc-eval (let->lambda exp) env)) Don’t forget to define the predicate let? in the obvious way. You should now be able to use the let form in your metacircular interpreter, like this: ;;; M-Eval input: (let ((cadr (lambda (x) (car (cdr x))))) (cadr ’(one two three))) ;;; M-Eval value: two The question continues on the next page. 64 B. The let* special form is similar to let except that the bindings are preformed sequentially (from left to right), allowing you to refer to previous let variables in defining later ones: STk> (let* ((a 10) (b (* a a)) (c (+ a b))) (list a b c)) (10 100 110) One way to implement let* is by transforming it into nested let expressions. That is, the expression (let* ((a 10) (b (* a a)) (c (+ a b))) (list a b c)) is just syntactic sugar for (let ((a 10)) (let ((b (* a a))) (let ((c (+ a b))) (list a b c)))) Add let* to the MCE by implementing this syntactic transformation. Write the function let*->lets which takes a list that looks like a let* expression and returns nested lets. Before going further, test your function in isolation: STk> (let*->lets ’(let* ((a 10) (b (* a a)) (c (+ a b))) (list a b c))) (let ((a 10)) (let ((b (* a a))) (let ((c (+ a b))) (list a b c)))) Then do everything else necessary to allow let* to be used in metacircular Scheme. Question 2. In lab (Exercise 4.4) you added and and or to the MCE. An important detail of these two special forms is that and returns #f or the last true value. For example: STk> (and 1 2 3 4) 4 Similarly, or returns #f or the first true value: STk> (or 1 2 3 4) 1 Here is a naı̈ve implementation of or that is intended to behave as above: (define (eval-or exp env) (if (null? exp) #f (if (true? (mc-eval (car exp) env)) (mc-eval (car exp) env) (eval-or (cdr exp) env)))) Please define or? in the standard way and add the following clause to mc-eval: ((or? exp) (eval-or (cdr exp) env)) ;; cdr to strip off the "and" tag Show a sample interaction with the MCE that reveals a bug in this eval-or. You can use STk to see what the “right answer” is for any given or expression. How would you fix this bug? (You don’t actually need to fix it if you don’t want to.) The action continues on the next page. 65 Question 3. Sometimes it’s convenient to initialize a whole slew of variables with a single define. Modify the eval-definition function to cope with the definition of any number of variables. For example: ;;; M-Eval input: (define a (+ 2 3) b (* 2 5) c (+ a b)) ;;; M-Eval value: ok ;;; M-Eval input: (list a b c) ;;; M-Eval value: (5 10 15) Like let* in the previous problem, the bindings should be performed sequentially in a left-to-right order, allowing later bindings to refer to earlier ones. Do not implement this feature as a derived expression by, say, turning (define a (+ 2 3) b (* 2 5) c (+ a b)) into (begin (define a (+ 2 3)) (define b (* 2 5)) (define c (+ a b))) Change eval-definition instead. Remember to always test in isolation first: STk> (eval-definition ’(define a (+ 2 3) b (* 2 5) c (+ a b)) the-global-environment) ok STk> (lookup-variable-value ’c the-global-environment) 15 Hint: You may find it convenient to change the definition? clause in mc-eval to strip off the “define” tag, like this: ((definition? exp) (eval-definition (cdr exp) env)) The learning continues on the next page. 66 Question 4. The MCE is missing quite a few primitive procedures. Evaluate primitive-procedures in STk to see which ones are available. The goal of this question is to make the higher-order function map available on startup in the metacircular evaluator: STk> (mce) ;; initializes interpreter ;;; M-Eval input: (map (lambda (x) (* x x)) ’(1 2 3)) ;;; M-Eval value: (1 4 9) Depending on how you do this, map may end up a primitive procedure: ;;; M-Eval input: map ;;; M-Eval value: (primitive #[closure arglist=(func lst) 9d3c10]) or a compound procedure that is pre-defined in the MCE: ;;; M-Eval input: map ;;; M-Eval value: (compound-procedure (func lst) (...) <procedure-env>) A. Why can’t we just import STk’s map into the MCE by adding it to the list of known primitives: (define primitive-procedures (list (list ’car car) (list ’cdr cdr) (list ’map map) ;; new! ... Explore what happens when you attempt to use map in metacircular Scheme. Hint: STk’s map is designed to be used with STk procedures, which look like #[closure arglist=(x) d3afbc]. What do MCE procedures look like? B. Find a way to add map to the MCE. You may add it as a primitive or compound procedure, but not as a special form. There is no reason to make map a special form because map obeys the normal rules of evaluation. You know you’ve done this right when you can use map immediately after initializing the interpreter (as in the example above). You may modify any functions or definitions you need to. 67 CS61A – Homework 6.2 University of California, Berkeley Kurt Meinz Summer 2003 Topic: Metacircular evaluator, Lazy evaluator Lectures: Wednesday July 30, Thursday July 31 Reading: Abelson & Sussman, Sections 4.2.2–3 (Pages 401–411) This assignment gives you practice making substantial modifications to the metacircular evaluator, as well as introduces you to the lazy evaluator. It is long! As before, make a copy of ~cs61a/lib/mceval.scm and rename it hw6-2.scm. Alternatively, you may use your modified metacircular evaluator from the last homework. Include test cases in this file or a separate file called tests. Please do Question 4 in a file called question4.scm. Submit all files electronically. The homework is due at 8 PM on Sunday, August 3. Question 1. We can create new bindings with define in Scheme, but there is no way to get rid of old ones. Add the undefine special form to the metacircular evaluator which should remove the most local binding of a given symbol (the same binding that would be retrieved if the symbol was to be looked up): ;;; M-Eval input: (define color ’yellow) ;;; M-Eval value: ok ;;; M-Eval input: ((lambda (color) (undefine color) color) ’green) ;; removes local "color" ;;; M-Eval value: yellow ;;; M-Eval input: (undefine color) ;; now global "color" is gone too ;;; M-Eval value: ok ;; return value up to you ;;; M-Eval input: color *** Error: Unbound variable color This problem requires you to understand the representation of environments in the interpreter. Since environments are made of pairs (surprise, surprise) you’ll need set-car! and set-cdr! to change them. Make sure to test your code outside the interpreter first. This will help you isolate bugs. Assuming the underlying Scheme procedure that implements undefine is called eval-undefine, here is how you might test it: STk> (define my-environment (extend-environment ’(a b) ’(1 2) the-empty-environment)) STk> my-environment (((a b) 1 2)) STk> (eval-undefine ’b my-environment) ok STk> my-environment (((a) 1)) ;; ;; ;; ;; make simple environment with one frame that contains two bindings a=1 and b=2 ;; peek at its representation as a list ;; no more b Lastly, briefly explain why undefine must be a special form. The homework continues on the next page. 68 Question 2. We’re going to borrow a neat looping construct from Emacs Lisp called do-list. It has this syntax: (do-list (<variable> <list> <return value>) <body>) The evaluation rules are: for every element of <list>, bind <variable> to the element and evaluate <body>. It’s important that <variable> be made local to the evaluation of <body>. It should not exist after do-list is done. When the list is empty, evaluate and return <return value>. Below are some examples (you will need to add display and newline to the list of primitives): ;;; M-Eval input: (do-list (num (list 1 2 3) ’foo) (display num) (newline)) 1 2 3 ;;; M-Eval value: foo ;;; M-Eval input: (define (reverse seq) (let ((result ’())) (do-list (e seq result) (set! result (cons e result))))) ;;; M-Eval input: (reverse (list ’a ’b ’c)) ;;; M-Eval value: (c b a) Add do-list to the MCE, but not as a derived expression! That’s less interesting. Write an evaluation function for it instead. As you work on this problem, you may notice a slight ambiguity in the specs. Should <return value> be evaluated in the original environment, or in the environment where <variable> is bound? It’s up to you. The fun continues on the next page. 69 Question 3. Add trace and untrace to the metacircular evaluator. Both primitive and compound procedures should be traceable, just like in STk. Don’t worry about proper indentation of trace output; we just want the basic printing of arguments and return value of a traced procedure, like this: ;;; M-Eval input: (trace *) ;;; M-Eval input: (* (* 2 3) (+ 4 1)) * with args (2 3) returns 6 * with args (6 5) returns 30 ;;; M-Eval value: 30 ;;; M-Eval input: (untrace *) ;;; M-Eval input: (define (factorial n) (if (= n 0) 1 (* n (factorial (- n 1))))) ;;; M-Eval input: (trace factorial) ;;; M-Eval input: (factorial 5) factorial with args factorial with args factorial with args factorial with args factorial with args factorial with args returns 1 returns 1 returns 2 returns 6 returns 24 returns 120 ;; return value omitted ;; * is no longer traced (5) (4) (3) (2) (1) (0) ;;; M-Eval value: 120 The return values of trace and untrace are up to you. There are several ways to do this problem, but the easiest is to stick a boolean inside the list that represents a procedure that will be true if the procedure is being traced and false otherwise. All that’s left then is to figure out where procedures are called and do some printing. Depending on your implementation, trace and untrace may or may not need to be special forms. Did you make them special forms? Briefly explain. The excitement continues on the next page. 70 Question 4. This question explores the difference between normal-order evaluation (as implemented by the lazy interpreter) and applicative-order evaluation (as done by STk or our own metacircular evaluator). Please put your answers to this question into a file question4.scm. A. The “Hanoi stream” is an infinite stream of the form: 1 2 1 3 1 2 1 4 1 2 1 3 1 2 1 5 1 2 1 3 1 2 1 4 1 2 1 3 1 2 1 6 1 2 1 ... As you can see, every other element in the stream is a one: 1 2 1 3 1 2 1 4 1 2 1 3 1 2 1 5 1 2 1 3 1 2 1 4 1 2 1 3 1 2 1 6 1 2 1 ... If we take out all the ones, we get a stream where every other element is a two: 2 3 2 4 2 3 2 5 2 3 2 4 2 3 2 6 2 ... And so on. This leads to the following rather intuitive generator procedure: (define (make-hanoi-stream n) (interleave (stream-of n) (make-hanoi-stream (+ n 1)))) (define (stream-of x) (cons-stream x (stream-of x))) The Hanoi stream can then be made by evaluating: (define hanoi (make-hanoi-stream 1)) Try this in STk and explain the results. Hint: You have seen this question before. B. Now let’s try a similar approach in the lazy evaluator. Although the lazy evaluator does not have streams, it has something better: non-strict compound procedures, which allow us to implement lazy lists. To quote SICP (Page 409), “With lazy evaluation, streams and lists can be identical, so there is no need for special forms or for separate list and stream operations.” As shown on Page 409, implement pairs as procedures in the lazy evaluator, thereby eliminating the need to have cons, car and cdr as primitives. Adapt make-hanoi-stream and stream-of to create lazy lists instead of streams. You may use this definition of interleave: (define (interleave list1 list2) (cons (car list1) (interleave list2 (cdr list1)))) Use the following procedure to print the first n elements of a lazy list (you will need to add display and newline as primitives): (define (show-lazy lst n) (if (= n 0) (begin (display "...") (newline)) (begin (display (car lst)) (display " ") (show-lazy (cdr lst) (- n 1)))) ’ok) Include a short session with the lazy evaluator demonstrating that the generator function works. 71 CS61A – Homework 7.1 University of California, Berkeley Kurt Meinz Summer 2003 Topic: Lazy evaluator, Analyzing evaluator, Nondeterministic evaluator Lectures: Monday August 4, Tuesday August 5 Reading: Abelson & Sussman, Section 4.1.7–4.3.2 (Pages 393–426) skim the parsing stuff This assignment is an evaluator potpourri, giving you practice with the lazy, analyzing and nondeterministic evaluators mostly “above the line.” • ~cs61a/lib/analyze.scm – Analyzing evaluator • ~cs61a/lib/lazy.scm – Lazy evaluator • ~cs61a/lib/vambeval.scm – Nondeterministic evaluator Please put your solutions into a file called hw7-1.scm and submit it online as usual. Include only the code you wrote and test cases. The assignment is due at 8 PM on Sunday, August 10. Question 1. In the lazy evaluator actual-value is called in four places: to evaluate the arguments to a primitive procedure, to evaluate the operator in a procedure application, to print the results in the REPL and to evaluate the predicate in a conditional. This question investigates what happens when we replace actual-value with mc-eval in two of these. For each of the following two scenarios, describe what goes wrong and include a brief session with the lazy evaluator that demonstrates the problem. A. Suppose we change the application clause to use mc-eval, like this: ((application? exp) (mc-apply (mc-eval (operator exp) env) (operands exp) env)) ;; was actual-value B. Suppose we change eval-if to use mc-eval, like this: (define (eval-if exp env) (if (true? (mc-eval (if-predicate exp) env)) (mc-eval (if-consequent exp) env) (mc-eval (if-alternative exp) env))) The adventure continues on the next page. 72 ;; was actual-value Question 2. This question explores the behavior of procedures with side-effect in the lazy evaluator. For both parts, type the following definitions into the lazy evaluator first: (define count 0) (define (identity x) (set! count (+ count 1)) x) A. Fill in the blanks in the following interaction with the lazy evaluator and explain your answers: ;;; L-Eval input: (define w (identity (identity 10))) ;;; L-Eval input: count ;;; L-Eval value: ;;; L-Eval input: w ;;; L-Eval value: ;;; L-Eval input: count ;;; L-Eval value: B. Explain the final value of count in the following interaction when the interpreter uses memoized and unmemoized thunks. Start count at zero. (By default the lazy evaluator uses memoized thunks because the memoizing definition of force-it loads after the un-memoizing one.) ;;; L-Eval input: (define (square x) (* x x)) ;;; L-Eval input: (square (identity 10)) ;;; L-Eval value: 100 The fun continues on the next page. 73 Question 3. In the last homework you added do-list to the metacircular evaluator. Now add it to the analyzing evaluator. Again, do not add it as a derived expression. Instead, write a procedure analyze-do-list that can handle this form. Make sure that the do-list body is analyzed only once, since this will result in a tremendous saving of computation over the MCE version. Remember, the return value of analyze-do-list should be an execution procedure that expects an environment. Here are some isolation tests: STk> (define-variable! ’count 0 the-global-environment) ;; we’ll need this in a second ok STk> (analyze-do-list ’(do-list (x (list 1 2 3) count) (set! count (+ 1 count)))) #[closure arglist=(env) 9c62f0] ;; returns execution procedure STk> ((analyze-do-list ’(do-list (x (list ’a ’b ’c) count) ;; needs environment to run (set! count (+ 1 count)))) the-global-environment) 3 Question 4. We’d like to write a nondeterministic program to crack a combination lock. Since there is only a finite number of combinations, all it takes is time! We will represent locks as message-passing objects created with the following procedure: (define (make-lock combination) (lambda (message combo) (cond ((eq? message ’try) (if (equal? combo combination) ’open ’nice-try)) (else (error "I don’t understand " message))))) As you can see, it’s not a very sophisticated lock; it only knows the message try, which comes with one argument taken to be a test combination. If the test combination matches the real combination, the lock says open; otherwise it says nice-try. A. Your task is to write a nondeterministic program code-breaker that takes a lock and returns the combination that opens it. Assume that a combination is a list of three elements ((left n) (right n) (left n)) where n is between 0 and 20, inclusive, and the directions are exactly as shown: left, right, left. Here is the desired behavior: ;;; Amb-Eval input: (define lock1 (make-lock ’((left 10) (right 14) (left 3)))) ;;; Starting a new problem ;;; Amb-Eval value: ok ;;; Amb-Eval input: (code-breaker lock1) ;;; Starting a new problem ;;; Amb-Eval value: ((left 10) (right 14) (left 3)) B. Now let’s remove the left-right-left requirement. Combinations are still three-element lists, but the directions can be in any order. Each of the following are valid combinations: ((left 3) (left 4) (left 5)) ((right 17) (left 4) (left 15)) ((right 20) (right 20) (right 20)) Modify your program from Part A to crack these locks. 74 CS61A – Homework 7.2 University of California, Berkeley Kurt Meinz Summer 2003 Topic: Nondeterministic evaluator Lectures: Wednesday August 6, Thursday August 7 Reading: Abelson & Sussman, Section 4.3 (Pages 412–437) In this homework you will gain experience modifying the nondeterministic evaluator. Most of this assignment is very much “below the line.” Two versions of the amb evaluator are available: • ~cs61a/lib/ambeval.scm — This is the nondeterministic interpreter from the book, based on the analyzing evaluator. • ~cs61a/lib/vambeval.scm — This is a version of the nondeterministic interpreter based on the metacircular evaluator. This is also the version described in lecture. Most students find this one easier to understand. (The “v” is for vanilla.) Copy whichever version you wish to use to do the homework into a file hw7-2.scm and make all modifications in this file. Clearly indicate what you changed. When you are done, you will have a nondeterministic interpreter that supports quit, permanent-set!, or and if-fail. You should include test cases either in this file (commented out), or a separate file called tests. Please put your answer to Question 1 into a file question1.scm. Submit all files electronically. The assignment is due at 8 PM on Sunday, August 10. All problems that ask you to add something to the nondeterministic evaluator have very short solutions. You should not be writing a lot of code at all! Wrapping your brain around continuations is the tricky part. Question 1. Read and complete Exercise 4.42 in SICP. This is the only “above the line” problem on the homework. Question 2. We’d like to be able to quit the amb evaluator at any point in the execution of a program. Add a quit feature to the nondeterministic evaluator that immediately returns control to STk. It must be a clean exit—don’t cause an error! The return value of quit is up to you; ours returns the string “Have a nice day.” The following are some examples of how quit should behave; quit must exit the amb evaluator not just from the toplevel, but from any depth in the evaluation (the bars separate different sessions with the evaluator): ;;; Amb-Eval input: (quit) ;;; Starting a new problem "Have a nice day" STk> ;;; Amb-Eval input: (list 1 2 (quit) 3) ;;; Starting a new problem "Have a nice day" STk> ;; exit from toplevel ;; exit from subexpression evaluation The question continues on the next page. 75 ;;; Amb-Eval input: (define (factorial n) (if (= n 0) (begin (newline) (quit)) ;; exit from arbitrarily deep recursion (begin (display n) (display " ") (* n (factorial (- n 1)))))) ;;; Amb-Eval input: (factorial 14) ;;; Starting a new problem 14 13 12 11 10 9 8 7 6 5 4 3 2 1 "Have a nice day" STk> Hint: Remember that control flow is done via continuations in the nondeterministic evaluator. To continue the computation you must invoke the success continuation; to backtrack you invoke the fail continuation. What if you call neither? Question 3. One of the really neat things about the nondeterministic evaluator is that variable assignments are “undone” when backtracking occurs. Backtracking occurs automatically when (amb) is encountered; it also can be forced when the user types try-again. Therefore, assignments can be undone by saying try-again. Watch: ;;; Amb-Eval input: (define neo 2) ;;; Amb-Eval input: (define trinity 4) ;;; Amb-Eval input: (define cypher 6) ;; return value omitted ;;; Amb-Eval input: (begin (set! neo (* neo neo)) (set! trinity (* trinity trinity)) (set! cypher ’bloody-rat) (list neo trinity cypher)) ;;; Starting a new problem ;;; Amb-Eval value: (4 16 bloody-rat) ;;; Amb-Eval input: try-again ;;; There are no more values of ... ;;; Amb-Eval input: (list neo trinity cypher) ;;; Starting a new problem ;;; Amb-Eval value: (2 4 6) ;; clearly the assignment takes effect ;; but it is not permanent ;; back to their old values Sometimes, however, we want assignments to be permanent. Add a special form permanent-set! that is just like set! but does not get rolled back when backtracking occurs. The question continues on the next page. 76 You can use permanent-set! to count the number of times the nondeterministic evaluator backtracks: ;;; Amb-Eval input: (define count 0) ;; return value omitted ;;; Amb-Eval input: (let ((x (an-element-of ’(a b c))) (y (an-element-of ’(a b a)))) (permanent-set! count (+ 1 count)) (require (not (eq? x y))) (list x y count)) ;;; Starting a new problem ;;; Amb-Eval value: (a b 2) ;;; Amb-Eval input try-again ;;; Amb-Eval value: (b a 4) Hint: This question does not ask you to add new functionality, but to subtract from what’s already there. Find the line(s) in eval-assignment that implement this undo effect and get rid of them. The failure continuation is a good place to look. Question 4. Add the or special form to the nondeterministic evaluator by writing an evaluation procedure eval-or that handles it. Do not add or as a derived expression. As in regular Scheme, or should take any number of arguments and return the value of the first one that is true, or #f if none are. You should model eval-or very heavily on get-args (code from vambeval.scm): (define (get-args exps env succeed fail) (if (null? exps) (succeed ’() fail) (ambeval (car exps) env (lambda (arg fail2) ;; first success continuation (get-args (cdr exps) env (lambda (args fail3) ;; second success continuation (succeed (cons arg args) fail3)) fail2)) fail))) Like list-of-values in the MCE, the job of get-args is to evaluate a sequence of Scheme expressions, exps, and return a list of their values: STk> (get-args ’((+ 2 3) (first ’neo) (bf ’trinity)) the-global-environment (lambda (result fail-cont) result) (lambda () ’failed)) (5 n rinity) There are two success continuations. The first one is invoked if evaluating the very first expression in the sequence does not cause a failure; in this case, arg refers to the value of that first expression. The second one is invoked if the remaining expressions in the sequence were evaluated without failure; in this case, args is a list of their values. Notice how the list of values is built up in this second success continuation by consing arg into args. The question continues on the next page. 77 A good place to start is by adding this clause to ambeval ((or? exp) (eval-or (cdr exp) env succeed fail)) ;; cdr to strip off "or" tag and defining eval-or to do exactly what get-args does. Of course this means that or will evaluate all of its arguments and return a list of their results, which is not quite what we want, but it’s a start! Try it out. Then tinker with this eval-or to make it behave as specified above. Here are some sample calls: STk> (eval-or ’((= 2 3) (list 1 2) this-should-not-be-evaluated) the-global-environment (lambda (result fail-cont) result) (lambda () ’failed)) (1 2) STk> (eval-or ’((= 2 3) (amb) this-should-not-be-evaluated) the-global-environment (lambda (result fail-cont) result) (lambda () ’failed)) failed STk> (eval-or ’() the-global-environment (lambda (result fail-cont) result) (lambda () ’failed)) #f And here is how or can be used in the interpreter: ;;; Amb-Eval (or (amb 1 2 ;;; Starting ;;; Amb-Eval 1 ;;; Amb-Eval try-again input: #f) ’hello) a new problem value: input: ;;; Amb-Eval value: 2 ;;; Amb-Eval input: try-again ;;; Amb-Eval value: hello ;;; Amb-Eval input: try-again ;;; There are no more values of (or (amb 1 2 #f) ’hello) The assignment continues on the next page. 78 Question 5. Read and complete Exercise 4.52 in the book. This question is more difficult than the others since you’ll need to come up with the if-fail special form from scratch. Assuming your function for handling if-fail is called eval-if-fail and takes the entire expression as argument, here is how you might test it in isolation: STk> (eval-if-fail ’(if-fail (amb) ’hello) the-global-environment (lambda (result new-fail) result) (lambda () ’failed)) hello STk> (eval-if-fail ’(if-fail (amb) (amb)) the-global-environment (lambda (result new-fail) result) (lambda () ’failed)) failed Hint: To make something happen on failure, you must put it into the fail continuation. 79 CS61A – Homework 8.1 University of California, Berkeley Kurt Meinz Summer 2003 Topic: Logic programming Lectures: Monday August 11, Tuesday August 12 Reading: Abelson & Sussman, Section 4.4.1–3 This assignment gives you practice writing logic programs. It’s very much “above the line” since we don’t expect you to know how the query system works. This homework is due at midnight on Wednesday, August 13. Please put your solutions into a file hw8-1.scm and submit electronically. Make sure to include your test cases, too. To add an assertion: (assert! To add a rule: (assert! <conclusion>) (rule <conclusion> <body (optional)>)) Anything else is a query. The query interpreter is in the file ~cs61a/lib/query.scm. To initialize the interpreter type (query); to re-enter the main loop without reinitializing, type (query-driver-loop). Nothing—not even the rules for the same and append-to-form relations—is there when the interpreter is initialized. Question 1. Do Exercise 4.56 in SICP. To load the database, type the following after loading query.scm: STk> (initialize-data-base microshaft-data-base) STk> (query-driver-loop) The pattern (?a . ?b) matches any pair, so you can use it to print everything that is in the database. Question 2. This question explores the unary arithmetic system described in lecture where numbers are represented as lists. A. Note that summing two of these unary numbers merely involves joining the lists that represent them. We can define a rule for adding query numbers using append-to-form (Page 451): ;;; Query input: (assert! (rule (?a + ?b = ?c) (append-to-form ?a ?b ?c))) Assertion added to data base. ;;; Query input: ((a a a a) + (a a a) = ?what) ;;; Query results: ((a a a a) + (a a a) = (a a a a a a a)) ;; 4 + 3 = 7 Devise rules to allow multiplication of query numbers: ;;; ((a ;;; ((a Query input: a a a) * (a a a) = ?what) Query results: a a a) * (a a a) = (a a a a a a a a a a a a)) The question continues on the next page. 80 ;; 4 * 3 = 12 B. Using your multiplication rule from above, implement a factorial relation for query numbers: ;;; ((a ;;; ((a Query input: a a a) ! = ?what) Query output: a a a) ! = (a a a a a a a a a a a a a a a a a a a a a a a a)) ;; 4! = 24 Question 3. We can interpret the query interpreter’s failure to return any results as saying, “Your query was not consistent with any assertions I know or any rules I can apply on the basis of those assertions.” This can be used to implement true/false queries where the interpreter echoes the query if it is true and displays no results otherwise. For example: ;;; Query input: (deep-member a ((a) b)) ;;; Query output: (deep-member a ((a) b)) ;;; Query input: (deep-member c ((b ((a))))) ;;; Query output: ;; true ;; false ;;; Query input: (deep-member c ((b ((a c))))) ;;; Query output: (deep-member c ((b ((a c))))) ;;; Query input: (deep-member ?anything ()) ;;; Query output: ;; false Write rules for the deep-member relation that behaves as above. Question 4. Write query rules for the assoc relation. It should work like this: ;;; Query input: (assoc carolen ((greg 10) (kurt 12) (carolen 10) (alex 13) (carolen 15)) ?what) ;;; Query results: (assoc carolen ((greg 10) (kurt 12) (carolen 10) (alex 13) (carolen 15)) (carolen 10)) ;;; Query input: (assoc todd ((greg 10) (kurt 12) (carolen 10) (alex 13) (carolen 15)) ?what) ;;; Query results: ;; no results! Notice that the first sublist beginning with carolen is brought forth. The query should run backward, too: ;;; Query input: (assoc ?who ((greg 10) (kurt 12) (carolen 10) (alex 13) (carolen 15)) (?who 10)) ;;; Query results: (assoc greg ((greg 10) (kurt 12) (carolen 10) (alex 13) (carolen 15)) (greg 10)) (assoc carolen ((greg 10) (kurt 12) (carolen 10) (alex 13) (carolen 15)) (carolen 10)) 81 CS61A - Project 1 Structure and Interpretation of Computer Programs Kurt Meinz Summer 2003 Programming Project 1: Twenty-One This project must be done INDIVIDUALLY and is due Tuesday 7/8 at 11:59pm. Please check the course website for updates and errata. For our purposes, the rules of twenty-one (“blackjack”) are as follows. There are two players: the “customer” and the “dealer”. The object of the game is to be dealt a set of cards that comes as close to 21 as possible without going over 21 (“busting”). A card is represented as a word, such as 10s for the ten of spades. (Ace, jack, queen, and king are a, j, q, and k.) Picture cards are worth 10 points; an ace is worth either 1 or 11 at the player’s option. We reshuffle the deck after each round, so strategies based on remembering which cards were dealt earlier are not possible. Each player is dealt two cards, with one of the dealer’s cards face up. The dealer always takes another card (“hits”) if he has 16 or less, and always stops (“stands”) with 17 or more. The customer can play however s/he chooses, but must play before the dealer. If the customer exceeds 21, s/he immediately loses (and the dealer doesn’t bother to take any cards). In case of a tie, neither player wins. (These rules are simplified from real life. There is no “doubling down,” no “splitting,” etc.) The customer’s strategy of when to take another card is represented as a function. The function has two arguments: the customer’s hand so far, and the dealer’s card that is face up. The customer’s hand is represented as a sentence in which each word is a card; the dealer’s face-up card is a single word (not a sentence). The strategy function should return a true or false output, which tells whether or not the customer wants another card. (The true value can be represented in a program as #t, while false is represented as #f.) The file ~cs61a/lib/twenty-one.scm contains a definition of function twenty-one. Invoking (twenty − one strategy) plays a game using the given strategy and a randomly shuffled deck, and returns 1, 0, or −1 according to whether the customer won, tied, or lost. For each of the steps below, you must provide a transcript indicating enough testing of your procedure to convince the readers that you are really sure your procedure works. These transcripts should include trace output where appropriate. 1. The program in the library is incomplete. It lacks a procedure best-total that takes a hand (a sentence of card words) as argument, and returns the total number of points in the hand. It’s called best-total because if a hand contains aces, it may have several different totals. The procedure should return the largest possible total that’s less than or equal to 21, if possible. For example: > (best-total ’(ad 8s)) ; in this hand the ace counts as 11 19 > (best-total ’(ad 8s 5h)) ; here it must count as 1 to avoid busting 14 > (best-total ’(ad as 9h)) ; here one counts as 11 and the other as 1 21 Write best-total. 2. Define a strategy procedure stop-at-17 that’s identical to the dealer’s, i.e., takes a card if and only if the total so far is less than 17. 82 3. Write a procedure play-n such that (play-n strategy n) plays n games with a given strategy and returns the number of games that the customer won minus the number that s/he lost. Use this to exercise your strategy from problem 2, as well as strategies from the problems below. To make sure your strategies do what you think they do, trace them when possible. Don’t forget: a “strategy” is a procedure! We’re asking you to write a procedure that takes another procedure as an argument. This comment is also relevant to parts 6 and 7 below. 4. Define a strategy that “hits” (takes a card) if (and only if) the dealer has an ace, 7, 8, 9, 10, or picture card showing, and the customer has less than 17, or the dealer has a 2, 3, 4, 5, or 6 showing, and the customer has less than 12. (The idea is that in the second case, the dealer is much more likely to “bust” (go over 21), since there are more 10-pointers than anything else.) 5. Define the best strategy that you can think of. (No, we won’t grade you on how mathematically optimal it is. Just try to have fun.) 6. Generalize part 2 above by defining a function stop-at. (stop-at n) should return a strategy that keeps hitting until a hand’s total is n or more. For example, (stop-at 17) is equivalent to the strategy in part 2. 7. Define a function majority that takes three strategies as arguments and produces a strategy as a result, such that the result strategy always decides whether or not to “hit” by consulting the three argument strategies, and going with the majority. That is, the result strategy should return #t if and only if at least two of the three argument strategies do. Using the three strategies from parts 2, 4, and 5 as argument strategies, play a few games using the “majority strategy” formed from these three. 8. Some people just can’t resist taking one more card. Write a procedure reckless that takes a strategy as its argument and returns another strategy. This new strategy should take one more card than the original would. (In other words, the new strategy should stand if the old strategy would stand on the butlast of the customer’s hand.) 9. Print out a complete listing of your procedures before you begin this problem. We are going to change the rules by adding two jokers to the deck. A joker can be worth any number of points from 1 to 11. Modify whatever has to be modified to make this work. (The main point of this exercise is precisely for you to figure out which procedures must be modified.) The reason you printed everything first is that otherwise the readers would have trouble grading the earlier steps, since you might mess up earlier work in attempting this one. Submission instructions: In a directory named ’proj1’, create files called ’twenty-one.scm’ (which should contain your solutions for questions 1 through 8) and ’twenty-one-joker.scm’ (which should contain your solutions for questions 1 through 9). Please make sure that each file is a fully playable copy of the project (not just a listing of the procedures that you changed). In addition, you must create a file called ’testing.txt’ which contains an explanation of your testing and your transcripts – please surround your transcripts with real English words so that the readers can figure out what you are trying to do. Make sure that every file has your name and login on it and type ’submit proj1’ at the shell prompt from within this directory. Also, please submit paper copies of both these files to the homework box. By the way, the online submissions system is built so that you can submit as many times as you like with no penalty. Beware, however, that only your last submission will be graded, so don’t do anything silly like re-submitting after the deadline. 83 CS61A - Project 2 Structure and Interpretation of Computer Programs Kurt Meinz Summer 2003 Programming Project 2: Painter Language This project is due Tuesday 7/22 at 11:59pm and must be individually. Please check the course website for updates and errata. This project consists of all the exercises in Abelson & Sussman, Section 2.2.4 (exercises 2.44-2.52) You can’t actually draw anything until you finish the project! To begin, copy the file ∼cs61a/lib/picture.scm to your directory. To draw pictures, once you have completed the exercises: > (cs) > (ht) > (===your-painter=== full-frame) For example: > (wave full-frame) > ((square-limit wave 3) full-frame) Submission Instructions: In a directory named ’proj2’, create files called ’picture.scm’ (which should contain your code) and ’testing.txt’ (which should include an explanation of your testing and your transcripts – please surround your transcripts with real English words so that the readers can figure out what you are trying to do). Type ’submit proj2’ at the shell prompt. Also, please submit paper copies of both these files to the homework box. 84 CS61A - Project 3 Structure and Interpretation of Computer Programs Kurt Meinz Summer 2003 Programming Project 3: Adventure Game This project is due at 11:59am on Tuesday, July 29. Please check the course website for updates and errata. This project is designed to be done by two people, working in parallel, then combining your results into one finished product. (Hereafter the two partners are called Person A and Person B.) The project begins with two exercises that both partners should do; these exercises do not require new programming, but rather familiarize you with the overall structure of the program as we’ve provided it. After that, each person has separate exercises. There is one final exercise for everyone that requires the two sets of work to be combined. (Therefore, you should probably keep notes about all of the procedures that you’ve modified during the project, so you can notice the ones that both of you modified independently.) Scoring: Each person works on eight problems. Three of these (numbers 1, 2, and 8) are common to the partnership; the others are separate. You hand in a single solution to each problem. Both of you get the points awarded for problems 1, 2, and 8; each person get the points for their own problems 3 through 7. This means that your score for the project is mostly based on your individual work but also relies partly on your partner. For the first two problems, you could get away with letting your partner do the work, but you shouldn’t because those problems are necessary to help you understand the structure of the entire project. Problem 8 requires that both people have already done their separate work, and meet together to understand each other’s solutions, so probably nobody will get credit for it unless both people have done their jobs. This assignment is loosely based on an MIT homework assignment in their version of this course. (But since this is Berkeley, it was changed it to be politically correct; instead of killing each other, the characters go around eating gourmet food all the time.) “In this laboratory assignment, we will be exploring two key ideas: the simulation of a world in which objects are characterized by a set of state variables, and the use of message passing as a programming technique for modularizing worlds in which objects interact.” Object-Oriented Programming (OOP) is becoming an extremely popular methodology for any application that involves interactions among computational entities. Examples: • operating systems (processes as objects) • window systems (windows as objects) • distributed systems • e-commerce systems (user processes as objects) Getting Started: To start, copy the following five files into your directory: ∼cs61a/lib/obj.scm The object-oriented system ∼cs61a/lib/adv.scm The adventure game program ∼cs61a/lib/tables.scm An ADT you’ll need for part B4 ∼cs61a/lib/adv-world.scm The specific people, places, and things ∼cs61a/lib/small-world.scm A smaller world you can use for debugging To work on this project, you must load these files into Scheme in the correct order: obj.scm first, then adv.scm and tables.scm when you’re using that, and finally the particular world you’re using, 85 either adv-world.scm or small-world.scm. The work you are asked to do refers to adv-world.scm; small-world.scm is provided in case you’d prefer to debug some of your procedures in a smaller world that may be less complicated to remember and also faster to load. The reason the adventure game is divided into adv.scm (containing the definitions of the object classes) and adv-world.scm (containing the specific instances of those objects in Berkeley) is that when you change something in adv.scm you may need to reload the entire world in order for your changed version to take effect. Having two files means that you don’t also have to reload the first batch of procedures. In this program there are three classes: • THING, • PLACE, and • PERSON Here are some examples selected from adv-world.scm: ;;; construct the places in the world (define Soda (instantiate place ’Soda)) (define BH-Office (instantiate place ’BH-Office)) (define 61A-Lab (instantiate place ’61A-Lab)) (define art-gallery (instantiate place ’art-gallery)) (define Evans (instantiate place ’Evans)) (define Sproul-Plaza (instantiate place ’Sproul-Plaza)) (define Telegraph-Ave (instantiate place ’Telegraph-Ave)) (define Noahs (instantiate place ’Noahs)) (define Intermezzo (instantiate place ’Intermezzo)) (define s-h (instantiate place ’sproul-hall)) ;;; make some things and put them at places (define bagel (instantiate thing ’bagel)) (ask Noahs ’appear bagel) (define coffee (instantiate thing ’coffee)) (ask Intermezzo ’appear coffee) ;;; make some people (define Brian (instantiate person ’Brian BH-Office)) (define hacker (instantiate person ’hacker 61A-Lab)) ;;; connect places in the world (can-go Soda ’up art-gallery) (can-go art-gallery ’west BH-Office) (can-go Soda ’south Evans) Having constructed this world, we can now interact with it by sending messages to objects. Here is a short example. ; We start with the hacker in the 61A lab. > (ask 61A Lab ’exits) (UP) > (ask hacker ’go ’up) HACKER moved from 61A LAB to SODA We can put objects in the different places, and the people can then take the objects: > (define Jolt (instantiate thing ’Jolt)) JOLT > (ask Soda ’appear Jolt) 86 APPEARED > (ask hacker ’take Jolt) HACKER took JOLT TAKEN You can take objects away from other people, but the management is not responsible for the consequences... (Too bad this is a fantasy game, and there aren’t really vending machines in Soda that stock Jolt.) PART I: The first two exercises in this part should be done by both of you. It’s okay to work in separately as long as you both really know what’s going on by the time you’re finished. (Nevertheless, you should only hand in one solution, that everyone agrees about.) The remaining exercises have numbers like “A3” which means exercise 3 for person A. After you’ve done the individual work, you should meet together to make sure that everyone understands what the other person did, because Part II depends on all of Part I. You can do the explaining while you’re merging the two sets of modifications into one adv.scm file to hand in. 1. Create a new person to represent yourself. Put yourself in a new place called Dormitory (or wherever you live) and connect it to campus so that you can get there from here. Create a place called Shin-Shin, north of Soda. (It’s actually on Solano Avenue.) Put a thing called Potstickers there. Then give the necessary commands to move your character to Shin-Shin, take the Potstickers, then move yourself to where Brian is, put down the Potstickers, and have Brian take them. Then go back to the lab and get back to work. (There is no truth to the rumor that you’ll get an A in the course for doing this in real life!) All this is just to ensure that you know how to speak the language of the adventure program. List all the messages that are sent during this episode. It’s a good idea to see if you can work this out in your head, at least for some of the actions that take place, but you can also trace the ask procedure to get a complete list. You don’t have to hand in this listing of messages. (Do hand in a transcript of the episode without the tracing.) The point is that you should have a good sense of the ways in which the different objects send messages back and forth as they do their work. [Tip: we have provided a move-loop procedure that you may find useful as an aid in debugging your work. You can use it to move a person repeatedly.] 2. It is very important that you think about and understand the kinds of objects involved in the adventure game. Please answer the following questions: 2A. What kind of thing is the value of variable Brian? Hint: What is returned by scheme in the following situation: You type: > Brian 2B. List all the messages that a place understands. (You might want to maintain such a list for your own use, for every type of object, to help in the debugging effort.) 2C. We have been defining a variable to hold each object in our world. For example, we defined bagel by saying: (define bagel (instantiate thing ’bagel)) This is just for convenience. Every object does not have to have a top-level definition. Every object does have to be constructed and connected to the world. For instance, suppose we did this: > (can-go Telegraph-Ave ’east (instantiate place ’Peoples-Park)) ;;; assume BRIAN is at Telegraph > (ask Brian ’go ’east) What is returned by the following expressions and WHY? > (ask Brian ’place) > (let ((where (ask Brian ’place))) 87 (ask where ’name)) (ask Peoples-park ’appear bagel) > 2D. The implication of all this is that there can be multiple names for objects. One name is the value of the object’s internal name variable. In addition, we can define a variable at the top-level to refer to an object. Moreover, one object can have a private name for another object. For example, Brian has a variable place which is currently bound to the object that represents People’s Park. Some examples to think about: > (eq? (ask Telegraph-Ave ’look-in ’east) (ask Brian ’place)) > (eq? (ask Brian ’place) ’Peoples-Park) > (eq? (ask (ask Brian ’place) ’name) ’Peoples-Park) OK. Suppose we type the following into scheme: > (define computer (instantiate thing ’Durer)) Which of the following is correct? Why? (ask 61a-lab ’appear computer) or (ask 61a-lab ’appear Durer) or (ask 61a-lab ’appear ’Durer) What is returned by (computer ’name) ? Why? 2E. We have provided a definition of the thing class that does not use the object-oriented programming syntax described in the handout. Translate it into the new notation. 2F. Sometimes it’s inconvenient to debug an object interactively because its methods return objects and we want to see the names of the objects. You can create auxiliary procedures for interactive use (as opposed to use inside object methods) that provide the desired information in printable form. For example: (define (name obj) (ask obj ’name)) (define (inventory obj) (if (person? obj) (map name (ask obj ’possessions)) (map name (ask obj ’things)))) Write a procedure whereis that takes a person as its argument and returns the name of the place where that person is. Write a procedure owner that takes a thing as its argument and returns the name of the person who owns it. (Make sure it works for things that aren’t owned by anyone.) Procedures like this can be very helpful in debugging the later parts of the project, so feel free to write more of them for your own use. Now it’s time for you to make your first modifications to the adventure game. This is where you split into subgroups. PART I – Person A: A3. You will notice that whenever a person goes to a new place, the place gets an ’enter message. In addition, the place the person previously inhabited gets an ’exit message. When the place gets the message, it calls each procedure on its list of entry-procedures or exit-procedures as appropriate. Places have the following methods defined for manipulating these lists of procedures: add-entry-proc, add-exit-proc, remove-entry-proc, remove-exit-proc, clear-all-proc. You can read their definitions in the code. 88 Sproul Hall has a particularly obnoxious exit procedure attached to it. Fix sproul-hall-exit so that it counts how many times it gets called, and stops being obnoxious after the third time. Remember that the exit-procedures list contains procedures, not names of procedures! It’s not good enough to redefine sproul-hall-exit , since Sproul Hall’s list of exit procedures still contains the old procedure. The best thing to do is just to load adv-world.scm again, which will define a new sproul hall and add the new exit procedure. A4. We’ve provided people with the ability to say something using the messages ’talk and ’set-talk . As you may have noticed, some people around this campus start talking whenever anyone walks by. We want to simulate this behavior. In any such interaction there are two people involved: the one who was already at the place (hereafter called the talker) and the one who is just entering the place (the listener). We have already provided a mechanism so that the listener sends an enter message to the place when entering. Also, each person is ready to accept a notice message, meaning that the person should notice that someone new has come. The talker should get a notice message, and will then talk, because we’ve made a person’s notice method send itself a talk message. (Later we’ll see that some special kinds of people have different notice methods.) Your job is to modify the enter method for places, so that in addition to what that method already does, it sends a notice message to each person in that place other than the person who is entering. In order to make this work, the place has to know who sent the enter message. Modify that method so that it takes the sender as an argument, just as the appear method does. (Make sure that you find everywhere in the program where an enter message is sent!) Test your implementation with the following: (define singer (instantiate person ’rick sproul-plaza)) (ask singer ’set-talk ‘‘My funny valentine, sweet comic valentine") (define preacher (instantiate person ’preacher sproul-plaza)) (ask preacher ’set-talk ‘‘Praise the Lord") (define street-person (instantiate person ’harry telegraph-ave)) (ask street-person ’set-talk ‘‘Brother, can you spare a buck") YOU MUST INCLUDE A TRANSCRIPT IN WHICH YOUR CHARACTER WALKS AROUND AND TRIGGERS THESE MESSAGES. End of Part I for Person A PART I, Person B: B3. Define a method take-all for people. If given that message, a person should take all the things at the current location that are not already owned by someone. B4A. It’s unrealistic that anyone can take anything from anyone. We want to give our characters a strength, and then one person can take something from another only if the first has greater strength than the second. However, we aren’t going to clutter up the person class by adding a local strength variable. That’s because we can anticipate wanting to add lots more attributes as we develop the program further. People can have charisma or wisdom ; things can be food or not; places can be locked or not. Therefore, you will create a class called basic-object that keeps a local variable called properties containing an attribute-value table like the one that we used with get and put in 2.3.3. However, get 89 and put refer to a single, fixed table for all operations; in this situation we need a separate table for every object. The file tables.scm contains an implementation of the table Abstract Data Type: constructor: (make-table) returns a new, empty table. mutator: (insert! key value table) adds a new key-value pair to a table. selector: (lookup key table) returns the corresponding value, or #f if the key is not in the table. You’ll learn how tables are implemented in 3.3.3 (pp. 214-215). For now, just take them as primitive. You’ll modify the person, place and thing classes so that they will inherit from basic-object. This object will accept a message put so that > (ask Brian ’put ’strength 100) does the right thing. Also, the basic-object should treat any message not otherwise recognized as a request for the attribute of that name, so > (ask Brian ’strength) 100 should work without having to write an explicit strength method in the class definition. Don’t forget that the property list mechanism in 3.3.3 returns #f if you ask for a property that isn’t in the list. This means that > (ask Brian ’charisma) should never give an error message, even if we haven’t put that property in that object. This is important for true-or-false properties, which will automatically be false (but not an error) unless we explicitly put a true value for them. Give people some reasonable (same for everyone) initial strength. Next week they’ll be able to get stronger by eating. B4B. You’ll notice that the type predicate person? checks to see if the type of the argument is a member of the list ’(person place thief). This means that the person? procedure has to keep a list of all the classes that inherit from person , which is a pain if we make a new subclass. We’ll take advantage of the property list to implement a better system for type checking. If we add a method named person? to the person class, and have it always return #t , then any object that’s a type of person will automatically inherit this method. Objects that don’t inherit from person won’t find a person? method and won’t find an entry for person? in their property table, so they’ll return #f . Similarly, places should have a place? method, and things a thing? method. Add these type methods and change the implementation of the type predicate procedures to this new implementation. End of Part I, Person B PART II: This part of the project includes three exercises for each person, followed by a final exercise that requires the individual work to be combined. You will have to create a version of adv.scm that includes the changes made by both of you. This may take some thinking! If you both modify the same method in the same object class, you’ll have to write a version of the method that incorporates both modifications. PART II, Person A: A5. The way we’re having people take food from restaurants is unrealistic in several ways. Our overall goal this week is to fix that. As a first step, you are going to create a food class. We will give things that are food two properties, an edible? property and a calories property. edible? will have the value 90 #t if the object is a food. If a person eats some food, the food’s calories are added to the person’s strength . (Remember that the edible? property will automatically be false for objects other than food, because of the way properties were implemented in question B4. You don’t have to go around telling all the other stuff not to be edible explicitly.) Write a definition of the food class that uses thing as the parent class. It should return #t when you send it an edible? message, and it should correctly respond to a calories message. Replace the procedure named edible? in the original adv.scm with a new version that takes advantage of the mechanism you’ve created, instead of relying on a built-in list of types of food. Now that you have the food class, invent some child classes for particular kinds of food. For example, make a bagel class that inherits from food . Give the bagel class a class-variable called name whose value is the word bagel. (We’ll need this later when we invent restaurant objects.) Make an eat method for people. Your eat method should look at your possessions and filter for all the ones that are edible. It should then add the calorie value of the foods to your strength. Then it should make the foods disappear (no longer be your possessions and no longer be at your location). A6A. Eventually, we are going to invent restaurant objects. People will interact with the restaurants by buying food there. First we have to make it possible for people to buy stuff. Give person objects a money property, which is a number, saying how many dollars they have. Note that money is not an object. We implement it as a number because, unlike the case of objects such as chairs and potstickers, a person needs to be able to spend some money without giving up all of it. In principle we could have objects like quarter and dollar-bill , but this would make the change-making process complicated for no good reason. Now, in order to get money, people will need to go to the bank. Create a new place, a bank. (That is, bank is a subclass of place. The bank contains a procedure make-account which returns a bankaccount object, and contains a method withdraw for withdrawing money. The method withdraw takes two arguments, the person who wants to withdraw money from their account, and the amount. The withdraw method should check that a person has that amount in their account, and if so, it returns a number corresponding the the amount of the withdrawal or reports #f. Now, change person so that on instantiation, they have a bank account containing $100, (but their money variable is 0.) (We should really start people with no money, and invent jobs and so on, but we won’t.) Create a method for people, pay-money , which takes a number as argument and returns true or false depending on whether the person had enough money, and updates the person’s money value. Now, create a method get-money which only works at a bank. It should check that the bank completed the withdrawal, and if so, it should update the person’s money value appropriately. A6B. Another problem with the adventure game is that Noah’s only has one bagel. Once someone has taken that bagel, they’re out of business. To fix this, we’re going to invent a new kind of place, called a restaurant . (That is, restaurant is a subclass of place .) Each restaurant serves only one kind of food. (This is a simplification, of course, and it’s easy to see how we might extend the project to allow lists of kinds of food.) When a restaurant is instantiated, it should have two extra arguments, besides the ones that all places have: the class of food objects that this restaurant sells, and the price of one item of this type: > (define-class (bagel) (parent (food ...)) ...) > (define Noahs (instantiate restaurant ’Noahs bagel 0.50)) Notice that the argument to the restaurant is a class , not a particular bagel (instance). Restaurants should have two methods. The menu method returns a list containing the name and price of the food that the restaurant sells. The sell method takes two arguments, the person who wants to buy something and the name of the food that the person wants. The sell method must first check 91 that the restaurant actually sells the right kind of food. If so, it should ask the buyer to pay-money in the appropriate amount. If that succeeds, the method should instantiate the food class and return the new food object. The method should return #f if the person can’t buy the food. A7. Now we need a buy method for people. It should take as argument the name of the food we want to buy: (ask Brian ’buy ’bagel) . The method must send a sell message to the restaurant. If this succeeds (that is, if the value returned from the sell method is an object rather than #f ) the new food should be added to the person’s possessions. Person A skip to question 8 below PART II, Person B: adv.scm includes a definition of the class thief, a subclass of person. A thief is a character who tries to steal food from other people. Of course, Berkeley can not tolerate this behavior for long. Your job is to define a police class; police objects catch thieves and send them directly to jail. To do this you will need to understand how theives work. Since a thief is a kind of person, whenever another person enters the place where the thief is, the thief gets a notice message from the place. When the thief notices a new person, he does one of two things, depending on the state of his internal behavior variable. If this variable is set to steal , the thief looks around to see if there is any food at the place. If there is food, the thief takes the food from its current possessor and sets his behavior to run . When the thief’s behavior is run , he moves to a new random place whenever he notice s someone entering his current location. The run behavior makes it hard to catch a thief. Notice that a thief object delegates many messages to its person object. B5A. To help the police do their work, you will need to create a place called jail. Jail has no exits. Moreover, you will need to create a method for persons and thieves called go-directly-to. go-directly-to does not require that the new-place be adjacent to the current-place. So by calling (ask thief ’go-directly-to jail) the police can send the thief to jail no matter where the thief currently is located, assuming the variable thief is bound to the thief being apprehended. B5B. Lucky for us, at least in the adventure world, we can stop thieves from stealing bicycles. To do this, we first need to invent a class bicycle. Instantiate one, and add it to yourself. Later, we’ll update some other code so that bicycles can’t be taken. B6. Your job is to define the police class. A police officer is to have the following behavior: The police officer stays at one location. When the officer notices a new person entering the location, the officer checks to see if that person is a thief. If the person is a thief the officer says “Crime Does Not Pay,” then takes away all the thief’s possessions and sends the thief directly to jail. If the person is not a thief, but has a bicycle, the officer says “No bike riding on Campus”. (At this point, the policeman doesn’t DO anything else, since we haven’t implemented riding a bicycle yet, but it’ll have to do.) Give thieves and police default strengths. Thieves should start out stronger than persons, but police should be stronger than thieves. Of course, if you eat lots you should be able to build up enough strength (mass?) to take food away from a thief. (Only a character with a lot of chutzpah would take food away from the police.) Please test your code and turn in a transcript that shows the thief stealing your food, you chasing the thief and the police catching the thief. In case you haven’t noticed, we’ve put a thief in Sproul Plaza. Then, turn in a transcript showing that policeman telling you not to ride a bicycle on campus. B7. Now we want to reorganize take so that it looks to see who previously possesses the desired object. If its possessor is ’no-one , go ahead and take it as always. Otherwise, invoke (ask (ask thing ’possessor) ’may-take? receiver thing) 92 That is, a person must be able to process a message may-take? by calling a procedure that accepts two additional arguments: the person who wants to take the thing, and the thing itself. The associated method should return #F if the person may not take the thing, or the thing itself if the person may take it. Note the flurry of message-passing going on here. We send a message to the taker. It sends a message to the thing, which sends messages to two people to find out their strengths. Now, ensure that bikes cannot be taken by thieves. End of Part II, Person B (but both of you do question 8 below) 8. Combine your work. For example, both of you have created new methods for the person class. Both of you have done work involving strengths of kinds of people; make sure they work together. Now make it so that when a police officer asks to buy some food the restaurant doesn’t charge him any money. (This makes the game more realistic...) ******** OPTIONAL ********** As you can imagine, this is a truly open-ended project. If you have the time and inclination, you can populate your world with new kinds of people (e.g., punk-rockers), places (Gilman-St), and especially things (magic wands, beer, gold pieces, cars looking for parking places...). When your instructor took this class, he and his partner added inventories, hit points, weapons, and a statistical combat simulator. In addition, we used the picture language of project 2 to add a graphical interface so that locations would draw with all of the people inside of them and people would draw with graphical depictions of the objects in their possession. Students who are looking for a challenge are invited to make similar improvements to the adventure game. Extra credit may be given for particularly novel and interesting additions, commensurate with the difficulty of the work done. For your enjoyment we have developed a procedure that creates a labyrinth (a maze) that you can explore. To do so, load the file ∼cs61a/lib/labyrinth.scm. Legend has it that there is a vast series of rooms underneath Sproul Plaza. These rooms are littered with food of bygone days and quite a few theives. You can find the secret passage down in Sproul Plaza. [Note: labyrinth.scm may need some modification to work with the procedures you developed in part two of the project.] You may want to modify fancy-move-loop so that you can look around in nearby rooms before entering so that you can avoid thieves. You might also want your character to maintain a list of rooms visited on its property list so you can find your way back to the earth’s surface. 93 CS61A - Project 4 Structure and Interpretation of Computer Programs Kurt Meinz Summer 2003 Programming Project 4: A Logo Interpreter The Logo project description will be available on the course website and handed out in lecture. The Logo project will be due Tuesday, August 12. 94 CS 61A Lecture Notes First Half of Week 1 Topic: Functional programming Reading: Abelson & Sussman, Section 1.1 (pages 1–31) Course overview: Computer science isn’t about computers (that’s electrical engineering) and it isn’t primarily a science (we invent things more than we discover them). CS is partly a form of engineering (concerned with building reliable, efficient mechanisms, but in software instead of metal) and partly an art form (using programming as a medium for creative expression). Most of all, however, CS is applied logic. At its best, CS is like getting logic and math to do interesting and useful things for you. Programming is really easy, as long as you’re solving small problems. Any kid in junior high school can write programs in BASIC, and not just exercises, either; kids do quite interesting and useful things with computers. But BASIC doesn’t scale up; once the problem is so complicated that you can’t keep it all in your head at once, you need help, in the form of more powerful ways of thinking about programming. (But in this course we mostly use small examples, because we’d never get finished otherwise, so you have to imagine how you think each technique would work out in a larger case.) We deal with three big programming styles/approaches/paradigms: • Functional programming (1 month) • Object-oriented programming (2 weeks) • Logic programming (1 week) The big idea of the course is abstraction: inventing languages that let us talk more nearly in a problem’s own terms and less in terms of the computer’s mechanisms or capabilities. There is a hierarchy of abstraction: Application programs High-level language (Scheme) Low-level language (C) Machine language Architecture (registers, memory, arithmetic unit, etc) circuit elements (gates) transistors solid-state physics quantum mechanics In 61A, we’ll be dealing with only the very top levels of the pyramid; in 61C we look at lower levels. We want to start at the highest level to get you thinking right and help you avoid getting lost in the details. Style of work: Cooperative learning. No grading curve, so no need to compete. Homework is to learn from; only tests are to test you. Don’t cheat; ask for help instead. (This is the first CS course; if you’re tempted to cheat now, how are you planning to get through the harder ones?) 95 Introducing ... Scheme In 61A we program in Scheme, which is an interactive language. That means that instead of writing a great big program and then cranking it through all at once, you can type in a single expression and find out its value. For example: 3 self-evaluating (+ 2 3) function notation (sqrt 16) names don’t have to be punctuation (+ (* 3 4) 5) composition of functions + ’+ ’hello ’(+ 2 3) ’(good morning) functions are things in themselves quoting can quote any word can quote any expression even non-expression sentences (first 274) (butfirst 274) (first ’hello) (first hello) (first (bf ’hello)) (+ (first 23) (last 45)) functions don’t have to be arithmetic (abbreviation bf) works for non-numbers reminder about quoting composition of non-numeric functions combining numeric and non-numeric (define pi 3.14159) pi ’pi (+ pi 7) (* pi pi) special form value of a symbol contrast with quoted symbol symbols work in larger expressions (define (square x) (* x x)) (square 5) (square (+ 2 3)) defining a function invoking the function composition with defined functions Terminology: the formal parameter is the name of the argument (x); the actual argument expression is the expression used in the invocation ((+ 2 3)); the actual argument value is the value of the argument in the invocation (5). The argument’s name comes from the function’s definition; the argument’s value comes from the invocation. 96 Examples: (define (plural wd) (word wd ’s)) This simple plural works for lots of words (book, computer, elephant) but not for words that end in y (fly, spy). So we improve it: ;;;;; (define (plural wd) (if (equal? (last wd) ’y) (word (bl wd) ’ies) (word wd ’s))) In file cs61a/lectures/1.1/plural.scm If is a special form that only evaluates one of the alternatives. Pig Latin: Move initial consonants to the end of the word and append “ay”; SCHEME becomes EMESCHAY. ;;;;; In file cs61a/lectures/1.1/pigl.scm (define (pigl wd) (if (pl-done? wd) (word wd ’ay) (pigl (word (bf wd) (first wd))))) (define (pl-done? wd) (vowel? (first wd))) (define (vowel? letter) (member? letter ’(a e i o u))) Pigl introduces recursion—a function that invokes itself. More about how this works later in the week. Another example: Remember how to play Buzz? You go around the circle counting, but if your number is divisible by 7 or has a digit 7 you have to say “buzz” instead: ;;;;; In file cs61a/lectures/1.1/buzz.scm (define (buzz n) (cond ((equal? (remainder n 7) 0) ’buzz) ((member? 7 n) ’buzz) (else n))) This introduces the cond special form for multi-way choices. Cond is the big exception to the rule about the meaning of parentheses; the clauses aren’t invocations. 97 Functions. • A function can have any number of arguments, including zero, but must have exactly one return value. (Suppose you want two? You combine them into one, e.g., in a sentence.) It’s not a function unless you always get the same answer for the same arguments. • Why does that matter? If each little computation is independent of the past history of the overall computation, then we can reorder the little computations. In particular, this helps cope with parallel processors. • The function definition provides a formal parameter (a name), and the function invocation provides an actual argument (a value). These fit together like pieces of a jigsaw puzzle. Don’t write a “function” that only works for one particular argument value! • Instead of a sequence of events, we have composition of functions, like f (g(x)) in high school algebra. We can represent this visually with function machines and plumbing diagrams. Recursion: ;;;;; In file cs61a/lectures/1.1/argue.scm > (argue ’(i like spinach)) (i hate spinach) > (argue ’(broccoli is awful)) (broccoli is great) (define (argue s) (if (empty? s) ’() (se (opposite (first s)) (argue (bf s))))) (define (opposite w) (cond ((equal? w ’like) ’hate) ((equal? w ’hate) ’like) ((equal? w ’wonderful) ’terrible) ((equal? w ’terrible) ’wonderful) ((equal? w ’great) ’awful) ((equal? w ’awful) ’great) ((equal? w ’terrific) ’yucky) ((equal? w ’yucky) ’terrific) (else w) )) This computes a function (the opposite function) of each word in a sentence. It works by dividing the problem for the whole sentence into two subproblems: an easy subproblem for the first word of the sentence, and another subproblem for the rest of the sentence. This second subproblem is just like the original problem, but for a smaller sentence. We can take pigl from last lecture and use it to translate a whole sentence into Pig Latin: (define (pigl-sent s) (if (empty? s) ’() (se (pigl (first s)) (pigl-sent (bf s))))) The structure of pigl-sent is a lot like that of argue. This common pattern is called mapping a function 98 over a sentence. Not all recursion follows this pattern. Each element of Pascal’s triangle is the sum of the two numbers above it: (define (pascal row col) (cond ((= col 0) 1) ((= col row) 1) (else (+ (pascal (- row 1) (- col 1)) (pascal (- row 1) col) )))) 99 Normal vs. applicative order. To illustrate this point we use a modified Scheme evaluator that lets us show the process of applicative or normal order evaluation. We define functions using def instead of define. Then, we can evaluate expressions using (applic (...)) for applicative order or (normal (...)) for normal order. (Never mind how this modified evaluator itself works! Just take it on faith and concentrate on the results that it shows you.) In the printed results, something like (* 2 3) ==> 6 indicates the ultimate invocation of a primitive function. But (f 5 9) ----> (+ (g 5) 9) indicates the substitution of actual arguments into the body of a function defined with def. (Of course, whether actual argument values or actual argument expressions are substituted depends on whether you used applic or normal, respectively.) > > f > g > (load "lectures/1.1/order.scm") (def (f a b) (+ (g a) b)) ; define a function (def (g x) (* 3 x)) ; another one (applic (f (+ 2 3) (- 15 6))) ; show applicative-order evaluation (f (+ 2 3) (- 15 6)) (+ 2 3) ==> 5 (- 15 6) ==> 9 (f 5 9) ----> (+ (g 5) 9) (g 5) ----> (* 3 5) ==> 15 (+ 15 9) ==> 24 24 > (normal (f (+ 2 3) (- 15 6))) ; show normal-order evaluation (f (+ 2 3) (- 15 6)) ----> (+ (g (+ 2 3)) (- 15 6)) (g (+ 2 3)) ----> (* 3 (+ 2 3)) (+ 2 3) ==> 5 (* 3 5) ==> 15 (- 15 6) ==> 9 (+ 15 9) ==> 24 24 ; Same result, different process. (continued on next page) 100 > (def (zero x) (- x x)) zero > (applic (zero (random 10))) (zero (random 10)) (random 10) ==> 5 (zero 5) ----> (- 5 5) ==> 0 0 ; This function should always return 0. ; Applicative order does return 0. > (normal (zero (random 10))) (zero (random 10)) ----> (- (random 10) (random 10)) (random 10) ==> 4 (random 10) ==> 8 (- 4 8) ==> -4 -4 ; Normal order doesn’t. The rule is that if you’re doing functional programming, you get the same answer regardless of order of evaluation. Why doesn’t this hold for (zero (random 10))? Because it’s not a function! Why not? Efficiency: Try computing (square (square (+ 2 3))) in normal and applicative order. Applicative order is more efficient because it only adds 2 to 3 once, not four times. (But later in the semester we’ll see that sometimes normal order is more efficient.) Note that the reading for the second half of the week is section 1.3, skipping 1.2 for the time being. 101 CS 61A Lecture Notes Second Half of Week 1 Topic: Higher-order procedures Reading: Abelson & Sussman, Section 1.3 Note that we are skipping 1.2; we’ll get to it later. Because of this, never mind for now the stuff about iterative versus recursive processes in 1.3 and in the exercises from that section. We’re all done teaching you the syntax of Scheme; from now on it’s all big ideas! This lecture’s big idea is function as object (that is, being able to manipulate functions as data) as opposed to the more familiar view of function as process, in which there is a sharp distinction between program and data. The usual metaphor for function as process is a recipe. In that metaphor, the recipe tells you what to do, but you can’t eat the recipe; the food ingredients are the “real things” on which the recipe operates. But this week we take the position that a function is just as much a “real thing” as a number or text string is. Compare the derivative in calculus: It’s a function whose domain and range are functions, not numbers. The derivative function treats ordinary functions as things, not as processes. If an ordinary function is a meat grinder (put numbers in the top and turn the handle) then the derivative is a “metal grinder” (put meat-grinders in the top...). • Using functions as arguments. Arguments are used to generalize a pattern. For example, here is a pattern: ;;;;; (define pi 3.141592654) In file cs61a/lectures/1.3/general.scm (define (square-area r) (* r r)) (define (circle-area r) (* pi r r)) (define (sphere-area r) (* 4 pi r r)) (define (hexagon-area r) (* (sqrt 3) 1.5 r r)) In each of these procedures, we are taking the area of some geometric figure by multiplying some constant times the square of a linear dimension (radius or side). Each is a function of one argument, the linear dimension. We can generalize these four functions into a single function by adding an argument for the shape: ;;;;; In file cs61a/lectures/1.3/general.scm (define (area shape r) (* shape r r)) (define (define (define (define square 1) circle pi) sphere (* 4 pi)) hexagon (* (sqrt 3) 1.5)) We define names for shapes; each name represents a constant number that is multiplied by the square of the radius. 102 In the example about areas, we are generalizing a pattern by using a variable number instead of a constant number. But we can also generalize a pattern in which it’s a function that we want to be able to vary: ;;;;; In file cs61a/lectures/1.3/general.scm (define (sumsquare a b) (if (> a b) 0 (+ (* a a) (sumsquare (+ a 1) b)) )) (define (sumcube a b) (if (> a b) 0 (+ (* a a a) (sumcube (+ a 1) b)) )) Each of these functions computes the sum of a series. For example, (sumsquare 5 8) computes 52 + 62 + 72 + 82 . The process of computing each individual term, and of adding the terms together, and of knowing where to stop, are the same whether we are adding squares of numbers or cubes of numbers. The only difference is in deciding which function of a to compute for each term. We can generalize this pattern by making the function be an additional argument, just as the shape number was an additional argument to the area function: (define (sum fn a b) (if (> a b) 0 (+ (fn a) (sum fn (+ a 1) b)) )) Here is one more example of generalizing a pattern involving functions: ;;;;; In file cs61a/lectures/1.3/filter.scm (define (evens nums) (cond ((empty? nums) ’()) ((= (remainder (first nums) 2) 0) (se (first nums) (evens (bf nums))) ) (else (evens (bf nums))) )) (define (ewords sent) (cond ((empty? sent) ’()) ((member? ’e (first sent)) (se (first sent) (ewords (bf sent))) ) (else (ewords (bf sent))) )) (define (pronouns sent) (cond ((empty? sent) ’()) ((member? (first sent) ’(I me you he she it him her we us they them)) (se (first sent) (pronouns (bf sent))) ) (else (pronouns (bf sent))) )) Each of these functions takes a sentence as its argument and filters the sentence to return a smaller sentence containing only some of the words in the original, according to a certain criterion: even numbers, words that contain the letter e, or pronouns. We can generalize by writing a filter function that takes a predicate function as an additional argument. (define (filter pred sent) (cond ((empty? sent) ’()) ((pred (first sent)) (se (first sent) (filter pred (bf sent))) ) (else (filter pred (bf sent))) )) 103 • Unnamed functions. Suppose we want to compute sin2 5 + sin2 6 + sin2 7 + sin2 8 We can use the generalized sum function this way: > (define (sinsq x) (* (sin x) (sin x))) > (sum sinsq 5 8) 2.408069916229755 But it seems a shame to have to define a named function sinsq that (let’s say) we’re only going to use this once. We’d like to be able to represent the function itself as the argument to sum, rather than the function’s name. We can do this using lambda: > (sum (lambda (x) (* (sin x) (sin x))) 5 8) 2.408069916229755 Lambda is a special form; the formal parameter list obviously isn’t evaluated, but the body isn’t evaluated when we see the lambda, either—only when we invoke the function can we evaluate its body. • First-class data types. A data type is considered first-class in a language if it can be • the value of a variable (i.e., named) • an argument to a function • the return value from a function • a member of an aggregate In most languages, numbers are first-class; perhaps text strings (or individual text characters) are first-class; but usually functions are not first-class. In Scheme they are. So far we’ve seen the first two properties; we’re about to look at the third. (We haven’t really talked about aggregates yet, except for the special case of sentences, but we’ll see in chapter 2 that functions can be elements of aggregates.) It’s one of the design principles of Scheme that everything in the language should be first-class. Later, when we write a Scheme interpreter in Scheme, we’ll see how convenient it is to be able to treat Scheme programs as data. • Functions as return values. (define (compose f g) (lambda (x) (f (g x)))) (define (twice f) (compose f f)) (define (make-adder n) (lambda (x) (+ x n))) The derivative is a function whose domain and range are functions. People who’ve programmed in Pascal might note that Pascal allows functions as arguments, but not functions as return values. That’s because it makes the language harder to implement; you’ll learn more about this in 164. 104 • Let. We write a function that returns a sentence containing the two roots of the quadratic equation ax2 +bx+c = 0 using the formula √ −b ± b2 − 4ac x= 2a (We assume, to simplify this presentation, that the equation has two real roots; a more serious program would check this.) ;;;;; In file cs61a/lectures/1.3/roots.scm (define (roots a b c) (se (/ (+ (- b) (sqrt (- (* b b) (* 4 a c)))) (* 2 a)) (/ (- (- b) (sqrt (- (* b b) (* 4 a c)))) (* 2 a)) )) This works fine, but it’s inefficient that we have to compute the square root twice. We’d like to avoid that by computing it once, giving it a name, and using that name twice in figuring out the two solutions. We know how to give something a name by using it as an argument to a function: ;;;;; In file cs61a/lectures/1.3/roots.scm (define (roots a b c) (define (roots1 d) (se (/ (+ (- b) d) (* 2 a)) (/ (- (- b) d) (* 2 a)) )) (roots1 (sqrt (- (* b b) (* 4 a c)))) ) Roots1 is an internal helper function that takes the value of the square root in the formula as its argument d. Roots calls roots1, which constructs the sentence of two numbers. This does the job, but it’s awkward having to make up a name roots1 for this function that we’ll only use once. As in the sum example earlier, we can use lambda to make an unnamed function: ;;;;; (define (roots ((lambda (d) (se (/ (+ (/ ((sqrt (- (* In file cs61a/lectures/1.3/roots.scm a b c) (- b) d) (* 2 a)) (- b) d) (* 2 a)) )) b b) (* 4 a c))) )) This does exactly what we want. The trouble is, although it works fine for the computer, it’s a little hard for human beings to read. The connection between the name d and the sqrt expression that provides its value isn’t obvious from their positions here, and the order in which things are computed isn’t the top-to-bottom order of the expression. Since this is something we often want to do, Scheme provides a more convenient notation for it: ;;;;; (define (roots a (let ((d (sqrt (se (/ (+ ((/ (- (- In file cs61a/lectures/1.3/roots.scm b c) (- (* b b) (* 4 a c))))) b) d) (* 2 a)) b) d) (* 2 a)) ))) Now we have the name next to the value, and we have the value of d being computed above the place where it’s used. But you should remember that let does not provide any new capabilities; it’s merely an abbreviation for a lambda and an invocation of the unnamed function. 105 The unnamed function implied by the let can have more than one argument: ;;;;; In file cs61a/lectures/1.3/roots.scm (define (roots a b c) (let ((d (sqrt (- (* b b) (* 4 a c)))) (-b (- b)) (2a (* 2 a))) (se (/ (+ -b d) 2a) (/ (- -b d) 2a) ))) Two cautions: (1) These are not long-term “assignment statements” such as you may remember from other languages. The association between names and values only holds while we compute the body of the let. (2) If you have more than one name-value pair, as in this last example, they are not computed in sequence! Later ones can’t depend on earlier ones. They are all arguments to the same function; if you translate back to the underlying lambda-and-application form you’ll understand this. Another point of interest: Please note how, by using a language with first-class functions, we can construct local variables. We say, in this case, that the expressive power of first-class functions includes the ability to construct local variables. Indeed, the notion that first-class unnamed procedures give us other types of functionality ”for free” will be a recurring theme of this course. 106 CS 61A Lecture Notes First Half of Week 2 Topic: Recursion and iteration Reading: Abelson & Sussman, Section 1.2 through 1.2.4 (pages 31–72) The next two lectures are about efficiency. Mostly in 61A we don’t care about that; it becomes a focus of attention in 61B. In 61A we’re happy if you can get a program working at all, except for the next 2 lectures, when we introduce ideas that will be more important to you later. We want to know about the efficiency of algorithms, not of computer hardware. So instead of measuring runtime in microseconds or whatever, we ask about the number of times some primitive (fixed-time) operation is performed. Example: ;;;;; (define (square x) (* x x)) In file cs61a/lectures/1.2/growth.scm (define (squares sent) (if (empty? sent) ’() (se (square (first sent)) (squares (bf sent)) ))) To estimate the efficiency of this algorithm, we can ask, “if the sentence has N numbers in it, how many multiplications do we perform?” The answer is that we do one multiplication for each number in the argument, so we do N altogether. The amount of time needed should roughly double if the number of numbers doubles. Another example: ;;;;; In file cs61a/lectures/1.2/growth.scm (define (sort sent) (if (empty? sent) ’() (insert (first sent) (sort (bf sent)) ))) (define (insert num sent) (cond ((empty? sent) (se num sent)) ((< num (first sent)) (se num sent)) (else (se (first sent) (insert num (bf sent)))) )) Here we are sorting a bunch of numbers by comparing them against each other. If there are N numbers, how many comparisons do we do? Well, if there are K numbers in the argument to insert, how many comparisons does it do? K of them. How many times do we call insert? N times. But it’s a little tricky because each call to insert has a different length sentence. The range is from 0 to N − 1. So the total number of comparisons is actually 0 + 1 + 2 + · · · + (N − 2) + (N − 1) which turns out to be 12 N (N − 1). For large N , this is roughly equal to doubles, the time required should quadruple. 1 2 2N . If the number of numbers That constant factor of 12 isn’t really very important, since we don’t really know what we’re halving—that is, we don’t know exactly how long it takes to do one comparison. If we want a very precise measure of how many microseconds something will take, then we have to worry about the constant factors, but for an 107 overall sense of the nature of the algorithm, what counts is the N 2 part. If we double the size of the input to a program, how does that affect the running time? We use “big Theta” notation to express this sort of approximation. We say that the running time of the sort function is Θ(N 2 ) while the running time of the squares function is Θ(N ). The formal definition is f (x) = Θ(g(x)) ⇔ ∃k, N | ∀x > N, |f (x)| ≤ k · |g(x)| What does all this mean? Basically that one function is always less than another function (e.g., the time for your program to run is less than x2 ) except that we don’t care about constant factors (that’s what the k means) and we don’t care about small values of x (that’s what the N means). Why don’t we care about small values of x? Because for small inputs, your program will be fast enough anyway. Let’s say one program is 1000 times faster than another, but one takes a millisecond and the other takes a second. Big deal. Why don’t we care about constant factors? Because for large inputs, the constant factor will be drowned out by the order of growth—the exponent in the Θ(xi ) notation. Here is an example taken from the book Programming Pearls by Jon Bentley (Addison-Wesley, 1986). He ran two different programs to solve the same problem. One was a fine-tuned program running on a Cray supercomputer, but using an Θ(N 3 ) algorithm. The other algorithm was run on a Radio Shack microcomputer, so its constant factor was several million times bigger, but the algorithm was Θ(N ). For small N the Cray was much faster, but for small N both computers solved the problem in less than a minute. When N was large enough for the problem to take a few minutes or longer, the Radio Shack computer’s algorithm was faster. ;;;;; In file cs61a/lectures/1.2/bentley N 10 100 1000 10000 100000 1000000 t1(N) = 3.0 N3 t2(N) = 19,500,000 N CRAY-1 Fortran TRS-80 Basic 3.0 microsec 3.0 millisec 3.0 sec 49 min 35 days 95 yrs 200 millisec 2.0 sec 20 sec 3.2 min 32 min 5.4 hrs Typically, the algorithms you run across can be grouped into four categories according to their order of growth in time required. The first category is searching for a particular value out of a collection of values, e.g., finding someone’s telephone number. The most obvious algorithm (just look through all the values until you find the one you want) is Θ(N ) time, but there are smarter algorithms that can work in Θ(log N ) time or even in Θ(1) (that is, constant) time. The second category is sorting a bunch of values into some standard order. (Many other problems that are not explicitly about sorting turn out to require similar approaches.) The obvious sorting algorithms are Θ(N 2 ) and the clever ones are Θ(N log N ). A third category includes relatively obscure problems such as matrix multiplication, requiring Θ(N 3 ) time. Then there is an enormous jump to the really hard problems that require Θ(2N ) or even Θ(N !) time; these problems are effectively not solvable for values of N greater than one or two dozen. (Inventing faster computers won’t help; if the speed of your computer doubles, that just adds 1 to the largest problem size you can handle!) Trying to find faster algorithms for these intractable problems is a current hot research topic in computer science. 108 • Iterative processes So far we’ve been talking about time efficiency, but there is also memory (space) efficiency. This has gotten less important as memory has gotten cheaper, but it’s still somewhat relevant because using a lot of memory increases swapping (not everything fits at once) and so indirectly takes time. The immediate issue for today is the difference between a linear recursive process and an iterative process. ;;;;; In file cs61a/lectures/1.2/count.scm (define (count sent) (if (empty? sent) 0 (+ 1 (count (bf sent))) )) This function counts the number of words in a sentence. It takes Θ(N ) time. It also requires Θ(N ) space, not counting the space for the sentence itself, because Scheme has to keep track of N pending computations during the processing: (count ’(i want to hold your hand)) (+ 1 (count ’(want to hold your hand))) (+ 1 (+ 1 (count ’(to hold your hand)))) (+ 1 (+ 1 (+ 1 (count ’(hold your hand))))) (+ 1 (+ 1 (+ 1 (+ 1 (count ’(your hand)))))) (+ 1 (+ 1 (+ 1 (+ 1 (+ 1 (count ’(hand))))))) (+ 1 (+ 1 (+ 1 (+ 1 (+ 1 (+ 1 (count ’()))))))) (+ 1 (+ 1 (+ 1 (+ 1 (+ 1 (+ 1 0)))))) (+ 1 (+ 1 (+ 1 (+ 1 (+ 1 1))))) (+ 1 (+ 1 (+ 1 (+ 1 2)))) (+ 1 (+ 1 (+ 1 3))) (+ 1 (+ 1 4)) (+ 1 5) 6 When we get halfway through this chart and compute (count ’()), we aren’t finished with the entire problem. We have to remember to add 1 to the result six times. Each of those remembered tasks requires some space in memory until it’s finished. Here is a more complicated program that does the same thing differently: ;;;;; In file cs61a/lectures/1.2/count.scm (define (count sent) (define (iter wds result) (if (empty? wds) result (iter (bf wds) (+ result 1)) )) (iter sent 0) ) This time, we don’t have to remember uncompleted tasks; when we reach the base case of the recursion, we have the answer to the entire problem: (count ’(i want to hold your hand)) (iter ’(i want to hold your hand) 0) (iter ’(want to hold your hand) 1) (iter ’(to hold your hand) 2) (iter ’(hold your hand) 3) (iter ’(your hand) 4) (iter ’(hand) 5) (iter ’() 6) 6 109 When a process has this structure, Scheme does not need extra memory to remember all the unfinished tasks during the computation. This is really not a big deal. For the purposes of this course, you should generally use the simpler linearrecursive structure and not try for the more complicated iterative structure; the efficiency savings is not worth the increased complexity. The reason Abelson and Sussman make a fuss about it is that in other programming languages any program that is recursive in form (i.e., in which a function invokes itself) will take (at least) linear space even if it could theoretically be done iteratively. These other languages have special iterative syntax (for, while, and so on) to avoid recursion. In Scheme you can use the functioncalling mechanism and still achieve an iterative process. • More is less: non-obvious efficiency improvements. The nth row of Pascal’s triangle contains the constant coefficients of the terms of (a + b)n . Each number in Pascal’s triangle is the sum of the two numbers above it. So we can write a function to compute these numbers: ;;;;; In file cs61a/lectures/1.2/pascal.scm (define (pascal row col) (cond ((= col 0) 1) ((= col row) 1) (else (+ (pascal (- row 1) (- col 1)) (pascal (- row 1) col) )))) This program is very simple, but it takes Θ(2n ) time! [Try some examples. Row 18 is already getting slow.] Instead we can write a more complicated program that, on the surface, does a lot more work because it computes an entire row at a time instead of just the number we need: ;;;;; In file cs61a/lectures/1.2/pascal.scm (define (new-pascal row col) (nth col (pascal-row row)) ) (define (pascal-row row-num) (define (iter in out) (if (empty? (bf in)) out (iter (bf in) (se (+ (first in) (first (bf in))) out)) )) (define (next-row old-row num) (if (= num 0) old-row (next-row (se 1 (iter old-row ’(1))) (- num 1)) )) (next-row ’(1) row-num) ) This was harder to write, and seems to work harder, but it’s incredibly faster because it’s Θ(N 2 ). The reason is that the original version computed lots of entries repeatedly. The new version computes a few unnecessary ones, but it only computes each entry once. Moral: When it really matters, think hard about your algorithm instead of trying to fine-tune a few microseconds off the obvious algorithm. 110 CS 61A Lecture Notes Second Half of Week 2 Topic: Data abstraction Reading: Abelson & Sussman, Sections 2.1 and 2.2.1 (pages 79–106) • Big ideas: data abstraction, abstraction barrier. If we are dealing with some particular type of data, we want to talk about it in terms of its meaning, not in terms of how it happens to be represented in the computer. Example: Here is a function that computes the total point score of a hand of playing cards. (This simplified function ignores the problem of cards whose rank-name isn’t a number.) ;;;;; In file cs61a/lectures/2.1/total.scm (define (total hand) (if (empty? hand) 0 (+ (butlast (last hand)) (total (butlast hand)) ))) > (total ’(3h 10c 4d)) 17 This function calls butlast in two places. What do those two invocations mean? Compare it with a modified version: ;;;;; In file cs61a/lectures/2.1/total.scm (define (total hand) (if (empty? hand) 0 (+ (rank (one-card hand)) (total (remaining-cards hand)) ))) (define rank butlast) (define suit last) (define one-card last) (define remaining-cards butlast) This is more work to type in, but the result is much more readable. If for some reason we wanted to modify the program to add up the cards left to right instead of right to left, we’d have trouble editing the original version because we wouldn’t know which butlast to change. In the new version it’s easy to keep track of which function does what. The auxiliary functions like rank are called selectors because they select one component of a multi-part datum. 111 Actually we’re violating the data abstraction when we type in a hand of cards as ’(3h 10c 4d) because that assumes we know how the cards are represented—namely, as words combining the rank number with a one-letter suit. If we want to be thorough about hiding the representation, we need constructor functions as well as the selectors: ;;;;; In file cs61a/lectures/2.1/total.scm (define (make-card rank suit) (word rank (first suit)) ) (define make-hand se) > (total (make-hand (make-card 3 ’heart) (make-card 10 ’club) (make-card 4 ’diamond) )) 17 Once we’re using data abstraction we can change the implementation of the data type without affecting the programs that use that data type. This means we can change how we represent a card, for example, without rewriting total: ;;;;; In file cs61a/lectures/2.1/total.scm (define (make-card rank suit) (cond ((equal? suit ’heart) rank) ((equal? suit ’spade) (+ rank 13)) ((equal? suit ’diamond) (+ rank 26)) ((equal? suit ’club) (+ rank 39)) (else (error "say what?")) )) (define (rank card) (remainder card 13)) (define (suit card) (nth (quotient card 13) ’(heart spade diamond club))) We have changed the internal representation so that a card is now just a number between 1 and 52 (why? maybe we’re programming in FORTRAN) but we haven’t changed the behavior of the program at all. We still call total the same way. Data abstraction is a really good idea because it helps keep you from getting confused when you’re dealing with lots of data types, but don’t get religious about it. For example, we have invented the sentence data type for this course. We have provided symmetric selectors first and last, and symmetric selectors butfirst and butlast. You can write programs using sentences without knowing how they’re implemented. But it turns out that because of the way they are implemented, first and butfirst take Θ(1) time, while last and butlast take Θ(N ) time. If you know that, your programs will be faster. • Pairs. To represent data types that have component parts (like the rank and suit of a card), you have to have some way to aggregate information. Many languages have the idea of an array that groups some number of elements. In Lisp the most basic aggregation unit is the pair —two things combined to form a bigger thing. If you want more than two parts you can hook a bunch of pairs together; we’ll discuss this more next week. The constructor for pairs is CONS; the selectors are CAR and CDR. 112 The book uses pairs to represent many different abstract data types: rational numbers (numerator and denominator), complex numbers (real and imaginary parts), points (x and y coordinates), intervals (low and high bounds), and line segments (two endpoints). Notice that in the case of line segments we think of the representation as one pair containing two points, not as three pairs containing four numbers. (That’s what it means to respect a data abstraction.) Note: What’s the difference between these two: (define (make-rat num den) (cons num den)) (define make-rat cons) They are both equally good ways to implement a constructor for an abstract data type. The second way has a slight speed advantage (one fewer function call) but the first way has a debugging advantage because you can trace make-rat without tracing all invocations of cons. • Data aggregation doesn’t have to be primitive. In most languages the data aggregation mechanism (the array or whatever) seems to be a necessary part of the core language, not something you could implement as a user of the language. But if we have first-class functions we can use a function to represent a pair: ;;;;; In file cs61a/lectures/2.1/cons.scm (define (cons x y) (lambda (which) (cond ((equal? which ’car) x) ((equal? which ’cdr) y) (else (error "Bad message to CONS" message)) ))) (define (car pair) (pair ’car)) (define (cdr pair) (pair ’cdr)) This is like the version in the book except that they use 0 and 1 as the messages because they haven’t introduced quoted words yet. This version makes it a little clearer what the argument named which means. The point is that we can satisfy ourselves that this version of cons, car, and cdr works in the sense that if we construct a pair with this cons we can extract its two components with this car and cdr. If that’s true, we don’t need to have pairs built into the language! All we need is lambda and we can implement the rest ourselves. (It isn’t really done this way, in real life, for efficiency reasons, but it’s neat that it could be.) 113 • Big idea: abstract data type sequence (or list). We want to represent an ordered sequence of things. (They can be any kind of things.) We implement sequences using pairs, with each car pointing to an element and each cdr pointing to the next pair. What should the constructors and selectors be? The most obvious thing is to have a constructor list that takes any number of arguments and returns a list of those arguments, and a selector nth that takes a number and a list as arguments, returning the nth element of the list. Scheme does provide those, but it often turns out to be more useful to select from a list differently, with a selector for the first element and a selector for all the rest of the elements (i.e., a smaller list). This helps us write recursive functions such as the mapping and filtering ones we saw for sentences earlier. Since we are implementing lists using pairs, we ought to have specially-named constructors and selectors for lists, just like for rational numbers: (define adjoin cons) (define first car) (define rest cdr) Many Lisp systems do in fact provide first and rest as synonyms for car and cdr, but the fact is that this particular data abstraction is commonly violated; we just use the names car, cdr, and cons to talk about lists. This abstract data type has a special status in the Scheme interpreter itself, because lists are read and printed using a special notation. If Scheme knew only about pairs, and not about lists, then when we construct the list (1 2 3) it would print as (1 . (2 .(3 . ()))) instead. • Lists vs. sentences. We started out the semester using an abstract data type called sentence that looks a lot like a list. What’s the difference, and why did we do it that way? Our goal was to allow you to create aggregates of words without having to think about the structure of their internal representation (i.e., about pairs). We do this by deciding that the elements of a sentence must be words (not sublists), and enforcing that by giving you the constructor sentence that creates only sentences. Example: One of the homework problems for this problem set asks you to reverse a list. You’ll see that this is a little tricky using cons, car, and cdr as the problem asks, but it’s easy for sentences: (define (reverse sent) (if (empty? sent) ’() (se (reverse (bf sent)) (first sent)) )) 114 To give you a better idea about what a sentence is, here’s a version of the constructor function: ;;;;; In file cs61a/lectures/2.2/sentence.scm (define (se a b) (cond ((word? a) (se (list a) b)) ((word? b) (se a (list b))) (else (append a b)) )) (define (word? x) (or (symbol? x) (number? x)) ) Se is a lot like append, except that the latter behaves oddly if given words as arguments. Se can accept words or sentences as arguments. • Box and pointer diagrams. Here are a few details that people sometimes get wrong about them: 1. An arrow can’t point to half of a pair. If an arrowhead touches a pair, it’s pointing to the entire pair, and it doesn’t matter exactly where the arrowhead touches the rectangle. If you see something like (define x (car y)) where y is a pair, the arrow for x should point to the thing that the car of y points to, not to the left half of the y rectangle. 2. The direction of arrows (up, down, left, right) is irrelevant. You can draw them however you want to make the arrangement of pairs neat. That’s why it’s crucial not to forget the arrowheads! 3. There must be a top-level arrow to show where the structure you’re representing begins. How do you draw a diagram for a complicated list? Take this example: ((a b) c (d (e f))) You begin by asking yourself how many elements the list has. In this case it has three elements: first (a b), then c, then the rest. Therefore you should draw a three-pair backbone: three pairs with the cdr of one pointing to the next one. (The final cdr is null.) Only after you’ve drawn the backbone should you worry about making the cars of your three pairs point to the three elements of the top-level list. 115 CS 61A Lecture Notes First Half of Week 3 Topic: Hierarchical data Reading: Abelson & Sussman, Section 2.2.2–2.2.3, 2.3.1, 2.3.3 • Trees. Big idea: representing a hierarchy of information. Definitions: node, root, branch, leaf. A node is a particular point in the tree, but it’s also a subtree, just as a pair is a list at the same time that it’s a pair. What are trees good for? • Hierarchy: world, countries, states, cities. • Ordering: binary search trees. • Composition: arithmetic operations at branches, numbers at leaves. Many problems involve tree search: visiting each node of a tree to look for some information there. Maybe we’re looking for a particular node, maybe we’re adding up all the values at all the nodes, etc. There is one obvious order in which to search a sequence (left to right), but many ways in which we can search a tree. Depth-first search: Look at a given node’s children before its siblings. Breadth-first search: Look at the siblings before the children. Within the DFS category there are more kinds of orderings: Preorder: Look at a node before its children. Postorder: Look at the children before the node. Inorder (binary trees only): Look at the left child, then the node, then the right child. For a tree of arithmetic operations, preorder is Lisp, inorder is conventional arithmetic notation, postorder is HP calculator. (Note: In 61B we come back to trees in more depth, including the study of balanced trees, i.e., using special techniques to make sure a search tree has about as much stuff on the left as on the right.) • Below-the-line representation of trees. Lisp has one built-in way to represent sequences, but there is no official way to represent trees. Why not? • Branch nodes may or may not have data. • Binary vs. n-way trees. • Order of siblings may or may not matter. • Can tree be empty? We can think about a tree ADT in terms of a selector and constructors: (make-tree datum children) (datum node) (children node) 116 The selector children should return a list (sequence) of the children of the node. These children are themselves trees. A leaf node is one with no children: (define (leaf? node) (null? (children node)) ) This definition of leaf? should work no matter how we represent the ADT. If every node in your tree has a datum, then the straightforward implementation is ;;;;; (define make-tree cons) (define datum car) (define children cdr) Compare file cs61a/lectures/2.2/tree1.scm On the other hand, it’s also common to think of any list structure as a tree in which the leaves are words and the branch nodes don’t have data. For example, a list like (a (b c d) (e (f g) h)) can be thought of as a tree whose root node has three children: the leaf a and two branch nodes. For this sort of tree it’s common not to use formal ADT selectors and constructors at all, but rather just to write procedures that handle the car and the cdr as subtrees. To make this concrete, let’s look at mapping a function over all the data in a tree. First we review mapping over a sequence: ;;;;; In file cs61a/lectures/2.2/squares.scm (define (SQUARES seq) (if (null? seq) ’() (cons (SQUARE (car seq)) (SQUARES (cdr seq)) ))) The pattern here is that we apply some operation (square in this example) to the data, the elements of the sequence, which are in the cars of the pairs, and we recur on the sublists, the cdrs. Now let’s look at mapping over the kind of tree that has data at every node: ;;;;; In file cs61a/lectures/2.2/squares.scm (define (SQUARES tree) (make-tree (SQUARE (datum tree)) (map SQUARES (children tree)) )) Again we apply the operation to every datum, but instead of a simple recursion for the rest of the list, we have to recur for each child of the current node. We use map (mapping over a sequence) to provide several recursive calls instead of just one. If the data are only at the leaves, we just treat each pair in the structure as containing two subtrees: ;;;;; In file cs61a/lectures/2.2/squares.scm (define (SQUARES tree) (cond ((null? tree) ’()) ((atom? tree) (SQUARE tree)) (else (cons (SQUARES (car tree)) (SQUARES (cdr tree)) )) )) The hallmark of tree recursion is to recur for both the car and the cdr. 117 CS 61A Lecture Notes Second Half of Week 3 Topic: Representing abstract data Reading: Abelson & Sussman, Sections 2.4 through 2.5.2 (pages 169–200) The overall problem we’re addressing in the next two lectures is to control the complexity of large systems with many small procedures that handle several types of data. We are building toward the idea of objectoriented programming, which many people see as the ultimate solution to this problem, and which we discuss for two weeks starting next week. Big ideas: • tagged data • data-directed programming • message passing The first problem is keeping track of types of data. If we see a pair whose car is 3 and whose cdr is 4, does that represent 43 or does it represent 3 + 4i? The solution is tagged data: Each datum carries around its own type information. In effect we do (cons ’rational (cons 3 4)) for the rational number 43 , although of course we use an ADT. Just to get away from the arithmetic examples in the text, we’ll use another example about geometric shapes. Our data types will be squares and circles; our operations will be area and perimeter. We want to be able to say, e.g., (area circle3) to get area of a particular (previously defined) circle. To make this work, the function area has to be able to tell which type of shape it’s seeing. We accomplish this by attaching a type tag to each shape: ;;;;; (define pi 3.141592654) In file cs61a/lectures/2.4/geom.scm (define (make-square side) (attach-tag ’square side)) (define (make-circle radius) (attach-tag ’circle radius)) (define (area shape) (cond ((eq? (type-tag shape) ’square) (* (contents shape) (contents shape))) ((eq? (type-tag shape) ’circle) (* pi (contents shape) (contents shape))) (else (error "Unknown shape -- AREA")))) (define (perimeter shape) (cond ((eq? (type-tag shape) ’square) (* 4 (contents shape))) ((eq? (type-tag shape) ’circle) (* 2 pi (contents shape))) (else (error "Unknown shape -- PERIMETER")))) ;; some sample data (define square5 (make-square 5)) (define circle3 (make-circle 3)) 118 • Orthogonality of types and operators. The next problem to deal with is the proliferation of functions because you want to be able to apply every operation to every type. In our example, with two types and two operations we need four algorithms. What happens when we invent a new type? If we write our program in the conventional (i.e., old-fashioned) style as above, it’s not enough to add new functions; we have to modify all the operator functions like area to know about the new type. We’ll look at two different approaches to organizing things better: data-directed programming and message passing. The idea in DDP is that instead of keeping the information about types versus operators inside functions, as cond clauses, we record this information in a data structure. A&S provide tools put to set up the data structure and get to examine it: > (get ’foo ’baz) #f > (put ’foo ’baz ’hello) > (get ’foo ’baz) hello Once you put something in the table, it stays there. (This is our first departure from functional programming. But our intent is to set up the table at the beginning of the computation and then to treat it as constant information, not as something that might be different the next time you call get, despite the example above.) For now we take put and get as primitives; we’ll see how to build them in section 3.3 in two weeks The code is mostly unchanged from the conventional version; the tagged data ADT and the two shape ADTs are unchanged. What’s different is how we represent the four algorithms for applying some operator to some type: ;;;;; (put (put (put (put ’square ’circle ’square ’circle In file cs61a/lectures/2.4/geom.scm ’area (lambda (s) (* s s))) ’area (lambda (r) (* pi r r))) ’perimeter (lambda (s) (* 4 s))) ’perimeter (lambda (r) (* 2 pi r))) Notice that the entry in each cell of the table is a function, not a symbol. We can now redefine the six generic operators (“generic” because they work for any of the types): ;;;;; In file cs61a/lectures/2.4/geom.scm (define (area shape) (operate ’area shape)) (define (perimeter shape) (operate ’perimeter shape)) (define (operate op obj) ;; like APPLY-GENERIC but for one operand (let ((proc (get (type-tag obj) op))) (if proc (proc (contents obj)) (error "Unknown operator for type")))) Now if we want to invent a new type, all we have to do is a few put instructions and the generic operators just automatically work with the new type. Don’t get the idea that DDP just means a two-dimensional table of operator and type names! DDP is a 119 very general, great idea. It means putting the details of a system into data, rather than into programs, so you can write general programs instead of very specific ones. In the old days, every time a company got a computer they had to hire a bunch of programmers to write things like payroll programs for them. They couldn’t just use someone else’s program because the details would be different, e.g., how many digits in the employee number. These days you have general business packages and each company can “tune” the program to their specific purpose with a data file. Another example showing the generality of DDP is the compiler compiler. It used to be that if you wanted to invent a new programming language you had to start from scratch in writing a compiler for it. But now we have formal notations for expressing the syntax of the language. (See section 7.1, page 38, of the Scheme Report at the back of the course reader.) A single program can read these formal descriptions and compile any language. [The Scheme BNF is in cs61a/lectures/2.4/bnf.] • Message-passing. In conventional style, the operators are represented as functions that know about the different types; the types themselves are just data. In DDP, the operators and types are all data, and there is one universal operate function that does the work. We can also stand conventional style on its head, representing the types as functions and the operations as mere data. In fact, not only are the types functions, but so are the individual data themselves. That is, there is a function (make-circle below) that represents the circle type, and when you invoke that function, it returns a function that represents the particular circle you give it as its argument. Each circle is an object and the function that represents it is a dispatch procedure that takes as its argument a message saying which operation to perform. ;;;;; In file cs61a/lectures/2.4/geom.scm (define (make-square side) (lambda (message) (cond ((eq? message ’area) (* side side)) ((eq? message ’perimeter) (* 4 side)) (else (error "Unknown message"))))) (define (make-circle radius) (lambda (message) (cond ((eq? message ’area) (* pi radius radius)) ((eq? message ’perimeter) (* 2 pi radius)) (else (error "Unknown message"))))) (define square5 (make-square 5)) (define circle3 (make-circle 3)) 120 The defines that produce the individual shapes look no different from before, but the results are different: Each shape is a function, not a list structure. So to get the area of the shape circle3 we invoke that shape with the proper message: (circle3 ’area). That notation is a little awkward so we provide a little “syntactic sugar” that allows us to say (area circle3) as in the past: ;;;;; (define (operate op obj) (obj op)) In file cs61a/lectures/2.4/msg.scm (define (area shape) (operate ’area shape)) (define (perimeter shape) (operate ’perimeter shape)) Message passing may seem like an overly complicated way to handle this problem of shapes, but we’ll see next week that it’s one of the key ideas in creating object-oriented programming. Message passing becomes much more powerful when combined with the idea of local state that we’ll learn next week. We seem to have abandoned tagged data; every shape type is just some function, and it’s hard to tell which type of shape a given function represents. We could combine message passing with tagged data, if desired, by adding a type message that each object understands. (define (make-square side) (lambda (message) (cond ((eq? message ’area) (* side side)) ((eq? message ’perimeter) (* 4 side)) ((EQ? MESSAGE ’TYPE) ’SQUARE) (else (error "Unknown message"))))) • Dyadic operations. Our shape example is easier than the arithmetic example in the book because our operations only require one operand, not two. For arithmetic operations like +, it’s not good enough to connect the operation with a type; the two operands might have two different types. What should you do if you have to add a rational number to a complex number? There is no perfect solution to this problem. For the particular case of arithmetic, we’re lucky in that the different types form a sequence of larger and larger sets. Every integer is a rational number; every rational is a real; every real is a complex. So we can deal with type mismatch by raising the less-complicated operand to the type of the other one. To add a rational number to a complex number, raise the rational number to complex and then you’re left with the problem of adding two complex numbers. So we only need N addition algorithms, not N 2 algorithms, where N is the number of types. Do we need N 2 raising algorithms? No, because we don’t have to know directly how to raise a rational number to complex. We can raise the rational number to the next higher type (real), and then raise that real number to complex. So if we want to add 13 and 2 + 5i the answer comes out 2.3333 + 5i. As this example shows, nonchalant raising can lose information. It would be better, perhaps, if we could get the answer 73 + 5i instead of the decimal approximation. Numbers are a rat’s nest full of traps for the unwary. You will live longer if you only write programs about integers. 121 CS 61A Lecture Notes First Half of Week 4 Topic: Object-oriented programming Reading: OOP Above-the-line notes in course reader OOP is an abstraction. Above the line we have the metaphor of multiple independent intelligent agents; instead of one computer carrying out one program we have hordes of objects each of which can carry out computations. To make this work there are three key ideas within this metaphor: • Message passing: An object can ask other objects to do things for it. • Local state: An object can remember stuff about its own past history. • Inheritance: One object type can be just like another except for a few We have invented an OOP language as an extension to Scheme. Basically you are still writing Scheme programs, but with the vocabulary extended to use some of the usual OOP buzzwords. For example, a class is a type of object; an instance is a particular object. “Complex number” is a class; 3 + 4i is an instance. Here’s how the message-passing complex numbers from last week would look in OOP notation: ;;;;; In file cs61a/lectures/3.0/demo.scm (define-class (complex real-part imag-part) (method (magnitude) (sqrt (+ (* real-part real-part) (* imag-part imag-part)))) (method (angle) (atan (/ imag-part real-part))) ) > (define c (instantiate complex 3 4)) > (ask c ’magnitude) 5 > (ask c ’real-part) 3 This shows how we define the class complex; then we create the instance c whose value is 3 + 4i; then we send c a message (we ask it to do something) in order to find out that its magnitude is 5. We can also ask c about its instantiation variables, which are the arguments used when the class is instantiated. When we send a message to an object, it responds by carrying out a method, i.e., a procedure that the object associates with the message. So far, although the notation is new, we haven’t done anything different from what we did last week in chapter 2. Now we take the big step of letting an object remember its past history, so that we are no longer doing functional programming. The result of sending a message to an object depends not only on the arguments used right now, but also on what messages we’ve sent the object before: ;;;;; In file cs61a/lectures/3.0/demo.scm (define-class (counter) (instance-vars (count 0)) (method (next) (set! count (+ count 1)) count) ) > (define c1 (instantiate counter)) > (ask c1 ’next) 1 > (ask c1 ’next) 2 122 > (define c2 (instantiate counter)) > (ask c2 ’next) 1 > (ask c1 ’next) 3 Each counter has its own instance variable to remember how many times it’s been sent the next message. Don’t get confused about the terms instance variable versus instantiation variable. They are similar in that each instance has its own version; the difference is that instantiation variables are given values when an instance is created, using extra arguments to instantiate, whereas the initial values of instance variables are specified in the class definition and are generally the same for every instance (although the values may change as the computation goes on.) Methods can have arguments. You supply the argument when you ask the corresponding message: ;;;;; In file cs61a/lectures/3.0/demo.scm (define-class (doubler) (method (say stuff) (se stuff stuff))) > (define dd (instantiate doubler)) > (ask dd ’say ’hello) (hello hello) > (ask dd ’say ’(she said)) (she said she said) Besides having a variable for each instance, it’s also possible to have variables that are shared by every instance of the same class: ;;;;; In file cs61a/lectures/3.0/demo2.scm (define-class (counter) (instance-vars (count 0)) (class-vars (total 0)) (method (next) (set! total (+ total 1)) (set! count (+ count 1)) (list count total))) > (define > (ask c1 (1 1) > (ask c1 (2 2) > (define > (ask c2 (1 3) > (ask c1 (3 4) c1 (instantiate counter)) ’next) ’next) c2 (instantiate counter)) ’next) ’next) Now each next message tells us both the count for this particular counter and the overall count for all counters combined. To understand the idea of inheritance, we’ll first define a person class that knows about talking in various ways, and then define a pigger class that’s just like a person except for talking in Pig Latin: 123 ;;;;; In file cs61a/lectures/3.0/demo2.scm (define-class (person name) (method (say stuff) stuff) (method (ask stuff) (ask self ’say (se ’(would you please) stuff))) (method (greet) (ask self ’say (se ’(hello my name is) name))) ) > (define marc (instantiate person ’marc)) > (ask marc ’say ’(good morning)) (good morning) > (ask marc ’ask ’(open the door)) (would you please open the door) > (ask marc ’greet) (hello my name is marc) Notice that an object can refer to itself by the name self; this is an automatically-created instance variable in every object whose value is the object itself. (We’ll see when we look below the line that there are some complications about making this work.) ;;;;; In file cs61a/lectures/3.0/demo2.scm (define-class (pigger name) (parent (person name)) (method (pigl wd) (if (member? (first wd) ’(a e i o u)) (word wd ’ay) (ask self ’pigl (word (bf wd) (first wd))) )) (method (say stuff) (if (atom? stuff) (ask self ’pigl stuff) (map (lambda (w) (ask self ’pigl w)) stuff))) ) > (define porky (instantiate pigger ’porky)) > (ask porky ’say ’(good morning)) (oodgay orningmay) > (ask porky ’ask ’(open the door)) (ouldway ouyay easeplay openay ethay oorday) The crucial point here is that the pigger class doesn’t have an ask method in its definition. When we ask porky to ask something, it uses the ask method in its parent (person) class. Also, when the parent’s ask method says (ask self ’say ...) it uses the say method from the pigger class, not the one from the person class. So Porky speaks Pig Latin even when asking something. What happens when you send an object a message for which there is no method defined in its class? If the class has no parent, this is an error. If the class does have a parent, and the parent class understands the message, it works as we’ve seen here. But you might want to create a class that follows some rule of your own devising for unknown messages: ;;;;; In file cs61a/lectures/3.0/demo2.scm (define-class (squarer) (default-method (* message message)) (method (7) ’buzz) ) > (define s (instantiate squarer)) > (ask s 6) > (ask s 7) 36 buzz > (ask s 8) 64 124 Within the default method, the name message refers to whatever message was sent. (The name args refers to a list containing any additional arguments that were used.) Let’s say we want to maintain a list of all the instances that have been created in a certain class. It’s easy enough to establish the list as a class variable, but we also have to make sure that each new instance automatically adds itself to the list. We do this with an initialize clause: ;;;;; In file cs61a/lectures/3.0/demo2.scm (define-class (counter) (instance-vars (count 0)) (class-vars (total 0) (counters ’())) (initialize (set! counters (cons self counters))) (method (next) (set! total (+ total 1)) (set! count (+ count 1)) (list count total))) > (define c1 (instantiate counter)) > (define c2 (instantiate counter)) > (ask counter ’counters) (#<procedure> #<procedure>) There was a bug in our pigger class definition; Scheme gets into an infinite loop if we ask Porky to greet, because it tries to translate the word my into Pig Latin but there are no vowels aeiou in that word. To get around this problem, we can redefine the pigger class so that its say method says every word in Pig Latin except for the word my, which it’ll say using the usual method that persons who aren’t piggers use: ;;;;; In file cs61a/lectures/3.0/demo2.scm (define-class (pigger name) (parent (person name)) (method (pigl wd) (if (member? (first wd) ’(a e i o u)) (word wd ’ay) (ask self ’pigl (word (bf wd) (first wd))) )) (method (say stuff) (if (atom? stuff) (if (equal? stuff ’my) (usual ’say stuff) (ask self ’pigl stuff)) (map (lambda (w) (ask self ’say w)) stuff))) ) > (define porky (instantiate pigger ’porky)) > (ask porky ’greet) (ellohay my amenay isay orkypay) (Notice that we had to create a new instance of the new class. Just doing a new define-class doesn’t change any instances that have already been created in the old class. Watch out for this while you’re debugging the OOP programming project.) We invoke usual in the say method to mean “say this stuff in the usual way, the way that my parent class would use.” The OOP above-the-line section in the course reader talks about even more capabilities of the system, e.g., multiple inheritance with more than one parent class for a single child class. 125 CS 61A Lecture Notes Second Half of Week 4 Topic: Local state variables, environments Reading: Abelson & Sussman, Section 3.1, 3.2; OOP below the line We said the three big ideas in the OOP interface are message passing, local state, and inheritance. You know from section 2.4 how message passing is implemented below the line in Scheme, i.e., with a dispatch function that takes a message as argument and returns a method. For about a week, we’re talking about how local state works. A local variable is one that’s only available within a particular part of the program; in Scheme this generally means within a particular procedure. We’ve used local variables before; let makes them. A state variable is one that remembers its value from one invocation to the next; that’s the new part. First of all let’s look at global state—that is, let’s try to remember some information about a computation but not worry about having separate versions for each object. ;;;;; (define counter 0) In file cs61a/lectures/3.1/count1.scm (define (count) (set! counter (+ counter 1)) counter) > (count) 1 > (count) 2 What’s new here is the special form set! that allows us to change the value of a variable. This is not like let, which creates a temporary, local binding; this makes a permanent change in some variable that must have already existed. The syntax is just like define (but not the abbreviation for defining a function): it takes an unevaluated name and an expression whose value provides the new value. A crucial thing to note about set! is that the substitution model no longer works. We can’t substitute the value of counter wherever we see the name counter, or we’ll end up with (set! 0 (+ 0 1)) 0 which doesn’t make any sense. From now on we use a model of variables that’s more like what you learned in 7th grade, in which a variable is a shoebox in which you can store some value. The difference from the 7th grade version is that we can have several shoeboxes with the same name (the instance variables in the different objects, for example) and we have to worry about how to keep track of that. Section 3.2 of A&S explains the environment model that keeps track for us. Another new thing is that a procedure body can include more than one expression. In functional programming, the expressions don’t do anything except compute a value, and a function can only return one value, so it doesn’t make sense to have more than one expression in it. But when we invoke set! there is an effect that lasts beyond the computation of that expression, so now it makes sense to have that expression and then another expression that does something else. When a body has more than one expression, the expressions are evaluated from left to right (or top to bottom) and the value returned by the procedure is the value computed by the last expression. All but the last are just for effect. 126 We’ve seen how to have a global state variable. We’d like to try for local state variables. Here’s an attempt that doesn’t work: ;;;;; In file cs61a/lectures/3.1/count.lose (define (count) (let ((counter 0)) > (count) (set! counter (+ counter 1)) 1 counter)) > (count) 1 > (count) 1 It was a good idea to use let, because that’s a way we know to create local variables. But let creates a new local variable each time we invoke it. Each call to count creates a new counter variable whose value is 0. The secret is to find a way to call let only once, when we create the count function, instead of calling let every time we invoke count. Here’s how: ;;;;; In file cs61a/lectures/3.1/count2.scm (define count (let ((result 0)) (lambda () (set! result (+ result 1)) result))) Notice that there are no parentheses around the word count on the first line! Instead of (define count (lambda () (let ...))) (which is what the earlier version means) we have essentially interchanged the lambda and the let so that the former is inside the latter: (define count (let ... (lambda () ...))) We’ll have to examine the environment model in detail before you can really understand why this works. A handwavy explanation is that the let creates a variable that’s available to things in the body of the let; the lambda is in the body of the let; and so the variable is available to the function that the lambda creates. The reason we wanted local state variables was so that we could have more than one of them. Let’s take that step now. Instead of having a single procedure called count that has a single local state variable, we’ll write a procedure make-count that, each time you call it, makes a new counter. ;;;;; In file cs61a/lectures/3.1/count3.scm (define (make-count) (let ((result 0)) (lambda () (set! result (+ result 1)) result))) > > 1 > 2 > > 1 > 3 (define dracula (make-count)) (dracula) (dracula) (define monte-cristo (make-count)) (monte-cristo) (dracula) Each of dracula and monte-cristo is the result of evaluating the expression (lambda () ...) to produce a procedure. Each of those procedures has access to its own local state variable called result. Result is 127 temporary with respect to make-count but permanent with respect to dracula or monte-cristo, because the let is inside the lambda for the former but outside the lambda for the latter. • Environment model of evaluation. For now we’re just going to introduce the central issues about environments, leaving out a lot of details. You’ll get those next time. The question is, what happens when you invoke a procedure? For example, suppose we’ve said (define (square x) (* x x)) and now we say (square 7); what happens? The substitution model says 1. Substitute the actual argument value(s) for the formal parameter(s) in the body of the function; 2. Evaluate the resulting expression. In this example, the substitution of 7 for x in (* x x) gives (* 7 7). In step 2 we evaluate that expression to get the result 49. We now forget about the substitution model and replace it with the environment model: 1. Create a frame with the formal parameter(s) bound to the actual argument values; 2. Use this frame to extend the lexical environment; 3. Evaluate the body (without substitution!) in the resulting environment. A frame is a collection of name-value associations or bindings. In our example, the frame has one binding, from x to 7. Skip step 2 for a moment and think about step 3. The idea is that we are going to evaluate the expression (* x x) but we are refining our notion of what it means to evaluate an expression. Expressions are no longer evaluated in a vacuum, but instead, every evaluation must be done with respect to some environment—that is, some collection of bindings between names and values. When we are evaluating (* x x) and we see the symbol x, we want to be able to look up x in our collection of bindings and find the value 7. Looking up the value bound to a symbol is something we’ve done before with global variables. What’s new is that instead of one central collection of bindings we now have the possibility of local environments. The symbol x isn’t always 7, only during this one invocation of square. So, step 3 means to evaluate the expression in the way that we’ve always understood, but looking up names in a particular place. What’s step 2 about? The point is that we can’t evaluate (* x x) in an environment with nothing but the x/7 binding, because we also have to look up a value for the symbol * (namely, the multiplication function). So, we create a new frame in step 1, but that frame isn’t an environment by itself. Instead we use the new frame to extend an environment that already existed. That’s what step 2 says. Which old environment do we extend? In the square example there is only one candidate, the global environment. But in more complicated situations there may be several environments available. For example: (define (f x) (define (g y) (+ x y)) (g 3)) > (f 5) 128 When we invoke f, we create a frame (call it F1) in which x is bound to 5. We use that frame to extend the global environment (call it G), creating a new environment E1. Now we evaluate the body of f, which contains the internal definition for g and the expression (g 3). To invoke g, we create a frame in which y is bound to 3. (Call this frame F2.) We are going to use F2 to extend some old environment, but which? G or E1? The body of g is the expression (+ x y). To evaluate that, we need an envoironment in which we can look up all of + (in G), x (in F1), and y (in F2). So we’d better make our new environment by extending E1, not by extending G. The example with f and g shows, in a very simple way, why the question of multiple environments comes up. But it still doesn’t show us the full range of possible rules for choosing an environment. In the f and g example, the environment where g is defined is the same as the environment from which it’s invoked. But that doesn’t always have to be true: (define (make-adder n) (lambda (x) (+ x n))) (define 3+ (make-adder 3)) (define n 7) > (3+ n) When we invoke make-adder, we create the environment E1 in which n is bound to 3. In the global environment G, we bind n to 7. When we evaluate the expression (3+ n), what environment are we in? What value does n have in this expression? Surely it should have the value 7, the global value. So we evaluate expressions that you type in G. When we invoke 3+ we create the frame F2 in which x is bound to 7. (Remember, 3+ is the function that was created by the lambda inside make-adder. We are going to use F2 to extend some environment, and in the resulting environment we’ll evaluate the body of 3+, namely (+ x n). What value should n have in this expression? It had better have the value 3 or we’ve defeated the purpose of make-adder. Therefore, the rule is that we do not extend the current environment at the time the function is invoked, which would be G in this case. Rather, we extend the environment in which the function was created, i.e., the environment in which we evaluated the lambda expression that created it. In this case that’s E1, the environment that was created for the invocation of make-adder. Scheme’s rule, in which the procedure’s defining environment is extended, is called lexical scope. The other rule, in which the current environment is extended, is called dynamic scope. We’ll see in project 4 that a language with dynamic scope is possible, but it would have different features from Scheme. Remember why we needed the environment model: We want to understand local state variables. The mechanism we used to create those variables was (define some-procedure (let ((state-var initial-value)) (lambda (...) ...))) Roughly speaking, the let creates a frame with a binding for state-var. Within that environment, we evaluate the lambda. This creates a procedure within the scope of that binding. Every time that procedure is invoked, the environment where it was created—that is, the environment with state-var bound—is extended to form the new environment in which the body is evaluated. These new environments come and go, but the state variable isn’t part of the new frames; it’s part of the frame in which the procedure was defined. That’s why it sticks around. 129 • Here are the complete rules for the environment model: Every expression is either an atom or a list. At any time there is a current frame, initially the global frame. I. Atomic expressions. A. Numbers, strings, #T, and #F are self-evaluating. B. If the expression is a symbol, find the first available binding. (That is, look in the current frame; if not found there, look in the frame ”behind” the current frame; and so on until the global frame is reached.) II. Compound expressions (lists). If the car of the expression is a symbol that names a special form, then follow its rules (II.B below). Otherwise the expression is a procedure invocation. A. Procedure invocation. Step 1: Evaluate all the subexpressions (using these same rules). Step 2: Apply the procedure (the value of the first subexpression) to the arguments (the values of the other subexpressions). (a) If the procedure is compound (user-defined): a1: Create a frame with the formal parameters of the procedure bound to the actual argument values. a2: Extend the procedure’s defining environment with this new frame. a3: Evaluate the procedure body, using the new frame as the current frame. *** ONLY COMPOUND PROCEDURE INVOCATION CREATES A FRAME *** (b) If the procedure is primitive: Apply it by magic. B. Special forms. 1. Lambda creates a procedure. The left circle points to the text of the lambda expression; the right circle points to the defining environment, i.e., to the current environment at the time the lambda is seen. *** ONLY LAMBDA CREATES A PROCEDURE *** 2. Define adds a new binding to the current frame. 3. Set! changes the first available binding (see I.B for the definition of ”first available”). 4. Let = lambda (II.B.1) + invocation (II.A) 5. (define (...) ...) = lambda (II.B.1) + define (II.B.2) 6. Other special forms follow their own rules (cond, if). 130 • Environments and OOP. Class and instance variables are both local state variables, but in different environments: ;;;;; In file cs61a/lectures/3.2/count4.scm (define make-count (let ((glob 0)) (lambda () (let ((loc 0)) (lambda () (set! loc (+ loc 1)) (set! glob (+ glob 1)) (list loc glob)))))) The class variable glob is created in an environment that surrounds the creation of the outer lambda, which represents the entire class. The instance variable loc is created in an environment that’s inside the class lambda, but outside the second lambda that represents an instance of the class. The example above shows how environments support state variables in OOP, but it’s simplified in that the instance is not a message-passing dispatch procedure. Here’s a slightly more realistic version: ;;;;; In file cs61a/lectures/3.2/count5.scm (define make-count (let ((glob 0)) (lambda () (let ((loc 0)) (lambda (msg) (cond ((eq? msg ’local) (lambda () (set! loc (+ loc 1)) loc)) ((eq? msg ’global) (lambda () (set! glob (+ glob 1)) glob)) (else (error "No such method" msg)) )))))) The structure of alternating lets and lambdas is the same, but the inner lambda now generates a dispatch procedure. Here’s how we say the same thing in OOP notation: ;;;;; (define-class (count) (class-vars (glob 0)) (instance-vars (loc 0)) (method (local) (set! loc (+ loc 1)) loc) (method (global) (set! glob (+ glob 1)) glob)) In file cs61a/lectures/3.2/count6.scm 131 CS 61A Lecture Notes First Half of Week 5 Topic: Mutable data, queues, tables Reading: Abelson & Sussman, Section 3.3.1–3 Play the animal game: > (load "lectures/3.3/animal.scm") #f > (animal-game) Does it have wings? no Is it a rabbit? no I give up, what is it? gorilla Please tell me a question whose answer is YES for a gorilla and NO for a rabbit. Enclose the question in quotation marks. "Does it have long arms?" "Thanks. Now I know better." > (animal-game) Does it have wings? no Does it have long arms? no Is it a rabbit? yes "I win!" The crucial point about this program is that its behavior changes each time it learns about a new animal. Such learning programs have to modify a data base as they run. We represent the animal game data base as a tree; we want to be able to splice a new branch into the tree (replacing what used to be a leaf node). Changing what’s in a data structure is called mutation. Scheme provides primitives set-car! and set-cdr! for this purpose. They aren’t special forms! The pair that’s being mutated must be located by computing some expression. For example, to modify the second element of a list: (set-car! (cdr lst) ’new-value) They’re different from set!, which changes the binding of a variable. We use them for different purposes, and the syntax is different. Still, they are connected in two ways: (1) Both make your program non-functional, by making a permanent change that can affect later procedure calls. (2) Each can be implemented in terms of the other; the book shows how to use local state variables to simulate mutable pairs, and later we’ll see how the Scheme interpreter uses mutable pairs to implement environments, including the use of set! to change variable values. The only purpose of mutation is efficiency. In principle we could write the animal game functionally by recopying the entire data base tree each time, and using the new one as an argument to the next round of the game. But the saving can be quite substantial. Identity. Once we have mutation we need a subtler view of the idea of equality. Up to now, we could just say that two things are equal if they look the same. Now we need two kinds of equality, that old kind plus a new one: Two things are identical if they are the very same thing, so that mutating one also changes the other. Example: > (define a (list ’x ’y ’z)) > (define b (list ’x ’y ’z)) 132 > (define c a) > (equal? b a) #T > (eq? b a) #F > (equal? c a) #T > (eq? c a) #T The two lists a and b are equal, because they print the same, but they’re not identical. The lists a and c are identical; mutating one will change the other: > (set-car! (cdr a) ’foo) > a (X FOO Z) > b (X Y Z) > c (X FOO Z) If we use mutation we have to know what shares storage with what. For example, (cdr a) shares storage with a. (Append a b) shares storage with b but not with a. (Why not? Read the append procedure.) The Scheme standard says you’re not allowed to mutate quoted constants. That’s why I said (list ’x ’y ’z) above and not ’(x y z). The text sometimes cheats about this. The reason is that Scheme implementations are allowed to share storage when the same quoted constant is used twice in your program. Here’s the animal game: ;;;;; In file cs61a/lectures/3.3/animal.scm (define (animal node) (define (type l) (car l)) (define (question l) (cadr l)) (define (yespart l) (caddr l)) (define (nopart l) (cadddr l)) (define (answer l) (cadr l)) (define (leaf? l) (eq? (type l) ’leaf)) (define (branch? l) (eq? (type l) ’branch)) (define (set-yes! node x) (set-car! (cddr node) x)) (define (set-no! node x) (set-car! (cdddr node) x)) (define (yorn) (let ((yn (read))) (cond ((eq? yn ’yes) #t) ((eq? yn ’no) #f) (else (display "Please type YES or NO") (yorn))))) 133 (display (question node)) (display " ") (let ((yn (yorn)) (correct #f) (newquest #f)) (let ((next (if yn (yespart node) (nopart node)))) (cond ((branch? next) (animal next)) (else (display "Is it a ") (display (answer next)) (display "? ") (cond ((yorn) "I win!") (else (newline) (display "I give up, what is it? ") (set! correct (read)) (newline) (display "Please tell me a question whose answer ") (display "is YES for a ") (display correct) (newline) (display "and NO for a ") (display (answer next)) (display ".") (newline) (display "Enclose the question in quotation marks.") (newline) (set! newquest (read)) (if yn (set-yes! node (make-branch newquest (make-leaf correct) next)) (set-no! node (make-branch newquest (make-leaf correct) next))) "Thanks. Now I know better."))))))) (define (make-branch q y n) (list ’branch q y n)) (define (make-leaf a) (list ’leaf a)) (define animal-list (make-branch "Does it have wings?" (make-leaf ’parrot) (make-leaf ’rabbit))) (define (animal-game) (animal animal-list)) Things to note: Even though the main structure of the program is sequential and BASIC-like, we haven’t abandoned data abstraction. We have constructors, selectors, and mutators—a new idea—for the nodes of the game tree. 134 • Tables. We’re now ready to understand how to implement the put and get procedures that A&S used at the end of chapter 2. A table is a list of key-value pairs, with an extra element at the front just so that adding the first entry to the table will be no diffferent from adding later entries. (That is, even in an “empty” table we have a pair to set-cdr!) ;;;;; In file cs61a/lectures/3.3/table.scm (define (get key) (let ((record (assoc key (cdr the-table)))) (if (not record) #f (cdr record)))) (define (put key value) (let ((record (assoc key (cdr the-table)))) (if (not record) (set-cdr! the-table (cons (cons key value) (cdr the-table))) (set-cdr! record value))) ’ok) (define the-table (list ’*table*)) Assoc is in the book: (define (assoc key records) (cond ((null? records) #f) ((equal? key (caar records)) (car records)) (else (assoc key (cdr records))) )) In chapter 2, A&S provided a single, global table, but we can generalize this in the usual way by taking an extra argument for which table to use. That’s how lookup and insert! work. One little detail that always confuses people is why, in creating two-dimensional tables, we don’t need a *table* header on each of the subtables. The point is that lookup and insert! don’t pay any attention to the car of that header pair; all they need is to represent a table by some pair whose cdr points to the actual list of key-value pairs. In a subtable, the key-value pair from the top-level table plays that role. That is, the entire subtable is a value of some key-value pair in the main table. What it means to be “the value of a key-value pair” is to be the cdr of that pair. So we can think of that pair as the header pair for the subtable. 135 • Memoization. Exercise 3.27 is a pain in the neck because it asks for a very complicated environment diagram, but it presents an extremely important idea. If we take the simple Fibonacci number program: ;;;;; (define (fib n) (if (< n 2) 1 (+ (fib (- n 1)) (fib (- n 2)) ))) In file cs61a/lectures/3.3/fib.scm we recall that it takes Θ(2n ) time because it ends up doing a lot of subproblems redundantly. For example, if we ask for (fib 5) we end up computing (fib 3) twice. We can fix this by remembering the values that we’ve already computed. The book’s version does it by entering those values into a local table. It may be simpler to understand this version, using the global get/put: ;;;;; In file cs61a/lectures/3.3/fib.scm (define (fast-fib n) (if (< n 2) n ; base case unchanged (let ((old (get ’fib n))) (if (number? old) ; do we already know the answer? old (begin ; if not, compute and learn it (put ’fib n (+ (fast-fib (- n 1)) (fast-fib (- n 2)))) (get ’fib n)))))) Is this functional programming? That’s a more subtle question than it seems. Calling memo-fib makes a permanent change in the environment, so that a second call to memo-fib with the same argument will carry out a very different (and much faster) process. But the new process will get the same answer! If we look inside the box, memo-fib works non-functionally. But if we look only at its input-output behavior, memo-fib is a function because it always gives the same answer when called with the same argument. What if we tried to memoize random? It would be a disaster; instead of getting a random number each time, we’d get the same number repeatedly! Memoization only makes sense if the underlying function really is functional. This idea of using a non-functional implementation for something that has functional behavior will be very useful later in the course when we look at streams. 136 CS 61A Lecture Notes Second Half of Week 5 Topic: Streams Reading: Abelson & Sussman, Section 3.5.1-3, 3.5.5 Streams are an abstract data type, not so different from rational numbers, in that we have constructors and selectors for them. But we use a clever trick to achieve tremendously magical results. As we talk about the mechanics of streams, there are three big ideas to keep in mind: • Efficiency: Decouple order of evaluation from the form of the program. • Infinite data sets. • Functional representation of time-varying information (versus OOP). You’ll understand what these all mean after we look at some examples. How do we tell if a number n is prime? Never mind computers, how would you express this idea as a mathematician? Something like this: “N is prime if it has no factors in the range 2 ≤ f < n.” So, to implement this on a computer, we should • Get all the numbers in the range [2, n − 1]. • See which of those are factors of n. • See if the result is empty. ;;;;; In file cs61a/lectures/3.5/prime1.scm (define (prime? n) (null? (filter (lambda (x) (= (remainder n x) 0)) (enumerate-interval 2 (- n 1))))) But we don’t usually program it that way. Instead, we write a loop: ;;;;; In file cs61a/lectures/3.5/prime0.scm (define (prime? n) (define (iter factor) (cond ((= factor n) #t) ((= (remainder n factor) 0) #f) (else (iter (+ factor 1))))) (iter 2)) (Never mind that we can make small optimizations like only checking for factors up to simple.) √ n. Let’s keep it Why don’t we write it the way we expressed the problem in words? The problem is one of efficiency. Let’s say we want to know if 1000 is prime. We end up constructing a list of 998 numbers and testing all of them as possible factors of 1000, when testing the first possible factor would have given us a false result quickly. 137 The idea of streams is to let us have our cake and eat it too. We’ll write a program that looks like the first version, but runs like the second one. All we do is change the second version to use the stream ADT instead of the list ADT: ;;;;; In file cs61a/lectures/3.5/prime2.scm (define (prime? n) (stream-null? (stream-filter (lambda (x) (= (remainder n x) 0)) (stream-enumerate-interval 2 (- n 1))))) The only changes are stream-enumerate-interval instead of enumerate-interval, stream-null? instead of null?, and stream-filter instead of filter. How does it work? A list is implemented as a pair whose car is the first element and whose cdr is the rest of the elements. A stream is almost the same: It’s a pair whose car is the first element and whose cdr is a promise to compute the rest of the elements later. For example, when we ask for the range of numbers [2, 999] what we get is a single pair whose car is 2 and whose cdr is a promise to compute the range [3, 999]. The function stream-enumerate-interval returns that single pair. What does stream-filter do with it? Since the first number, 2, does satisfy the predicate, stream-filter returns a single pair whose car is 2 and whose cdr is a promise to filter the range [3, 999]. Stream-filter returns that pair. So far no promises have been “cashed in.” What does stream-null? do? It sees that its argument stream contains the number 2, and maybe contains some more stuff, although maybe not. But at least it contains the number 2, so it’s not empty. Stream-null? returns #f right away, without computing or testing any more numbers. Sometimes (for example, if the number we’re checking is prime) you do have to cash in the promises. If so, the stream program still follows the same order of events as the original loop program; it tries one number at a time until either a factor is found or there are no more numbers to try. Summary: What we’ve accomplished is to decouple the form of a program—the order in which computations are presented—from the actual order of evaluation. This is one more step on the long march that this whole course is about, i.e., letting us write programs in language that reflects the problems we’re trying to solve instead of reflecting the way computers work. 138 • Implementation. How does it work? The crucial point is that when we say something like (cons-stream from (stream-enumerate-interval (+ from 1) to)) (inside stream-enumerate-interval) we can’t actually evaluate the second argument to cons-stream. That would defeat the object, which is to defer that evaluation until later (or maybe never). Therefore, cons-stream has to be a special form. It has to cons its first argument onto a promise to compute the second argument. The expression (cons-stream a b) is equivalent to (cons a (delay b)) Delay is itself a special form, the one that constructs a promise. Promises could be a primitive data type, but since this is Scheme, we can represent a promise as a function. So the expression (delay b) really just means (lambda () b) We use the promised expression as the body of a function with no arguments. (A function with no arguments is called a thunk.) Once we have this mechanism, we can use ordinary functions to redeem our promises: (define (force promise) (promise)) and now we can write the selectors for streams: (define (stream-car stream) (car stream)) (define (stream-cdr stream) (force (cdr stream))) Notice that forcing a promise doesn’t compute the entire rest of the job at once, necessarily. For example, if we take our range [2, 999] and ask for its tail, we don’t get a list of 997 values. All we get is a pair whose car is 3 and whose cdr is a new promise to compute [4, 999] later. The name for this whole technique is lazy evaluation or call by need. • Reordering and functional programming. Suppose your program is written to include the following sequence of steps: ... (set! x 2) ... (set! y (+ x 3)) ... (set! x 7) ... Now suppose that, because we’re using some form of lazy evaluation, the actual sequence of events is reordered so that the third set! happens before the second one. We’ll end up with the wrong value for y. This example shows that we can only get away with below-the-line reordering if the above-the-line computation is functional. (Why isn’t it a problem with let? Because let doesn’t mutate the value of one variable in one environment. It sets up a local environment, and any expression within the body of the let has to be computed within that environment, even if things are reordered.) 139 • Infinite streams. Think about the plain old list function (define (enumerate-interval from to) (if (> from to) ’() (cons from (enumerate-interval (+ from 1) to)) )) When we change this to a stream function, we change very little in the appearance of the program: (define (stream-enumerate-interval from to) (if (> from to) THE-EMPTY-STREAM (cons-STREAM from (stream-enumerate-interval (+ from 1) to)) )) but this tiny above-the-line change makes an enormous difference in the actual behavior of the program. Now let’s cross out the second argument and the end test: (define (stream-enumerate-interval from) (cons-stream from (stream-enumerate-interval (+ from 1))) ) This is an enormous above-the-line change! We now have what looks like a recursive function with no base case—an infinite loop. And yet there is hardly any difference at all in the actual behavior of the program. The old version computed a range such as [2, 999] by constructing a single pair whose car is 2 and whose cdr is a promise to compute [3, 999] later. The new version computes a range such as [2, ∞] by constructing a single pair whose car is 2 and whose cdr is a promise to compute [3, ∞] later! This amazing idea lets us construct even some pretty complicated infinite sets, such as the set of all the prime numbers. (Explain the sieve of Eratosthenes. The program is in the book so it’s not reproduced here.) • Time-varying information. Functional programming works great for situations in which we are looking for a timeless answer to some question. That is, the same question always has the same answer regardless of events in the world. We invented OOP because functional programming didn’t let us model changing state. But with streams we can model state functionally. We can say (define (user-stream) (cons-stream (read) (user-stream)) ) and this gives us the stream of everything the user is going to type from now on. Instead of using local state variables to remember the effect of each thing the user types, one at a time, we can write a program that computes the result of the (possibly infinite) collection of user requests all at once! This feels really bizarre, but it does mean that purely functional programming languages can handle user interaction. We don’t need OOP. 140 CS 61A Lecture Notes First Half of Week 6 Topic: Metacircular evaluator Reading: Abelson & Sussman, Section 4.1.1–6 We’re going to investigate a Scheme interpreter written in Scheme. This interpreter implements the environment model of evaluation. Why bother? What good is an interpreter for Scheme that we can’t use unless we already have another interpreter for Scheme? • It helps you understand the environment model. • It lets us experiment with modifications to Scheme (new features). • Even real Scheme interpreters are largely written in Scheme. • It illustrates a big idea: universality. Universality means we can write one program that’s equivalent to all other programs. At the hardware level, this is the idea that made general-purpose computers possible. It used to be that they built a separate machine, from scratch, for every new problem. An intermediate stage was a machine that had a patchboard so you could rewire it, effectively changing it into a different machine for each problem, without having to re-manufacture it. The final step was a single machine that accepted a program as data so that it can do any problem without rewiring. Instead of a function machine that computes a particular function, taking (say) a number in the input hopper and returning another number out the bottom, we have a universal function machine that takes a function machine in one input hopper, and a number in a second hopper, and returns whatever number the input machine would have returned. This is the ultimate in data-directed programming. Our Scheme interpreter leaves out some of the important components of a real one. It gets away with this by taking advantage of the capabilities of the underlying Scheme. Specifically, we don’t deal with storage allocation, tail recursion elimination, or implementing any of the Scheme primitives. All we do deal with is the evaluation of expressions. That turns out to be quite a lot in itself, and pretty interesting. 141 Here is a one-screenful version of the metacircular evaluator with most of the details left out: ;;;;; In file cs61a/lectures/4.1/micro.scm (define (scheme) (display "> ") (print (eval (read) the-global-environment)) (scheme) ) (define (eval exp env) (cond ((self-evaluating? exp) exp) ((symbol? exp) (lookup-in-env exp env)) ((special-form? exp) (do-special-form exp env)) (else (apply (eval (car exp) env) (map (lambda (e) (eval e env)) (cdr exp)) )))) (define (apply proc args) (if (primitive? proc) (do-magic proc args) (eval (body proc) (extend-environment (formals proc) args (proc-env proc) )))) Although the version in the book is a lot bigger, this really does capture the essential structure, namely, a mutual recursion between eval (evaluate an expression relative to an environment) and apply (apply a function to arguments). To evaluate a compound expression means to evaluate the subexpressions recursively, then apply the car (a function) to the cdr (the arguments). To apply a function to arguments means to evaluate the body of the function in a new environment. What’s left out? Primitives, special forms, and a lot of details. In that other college down the peninsula, they wouldn’t consider you ready for an interpreter until junior or senior year. At this point in the introductory course, they’d still be teaching you where the semicolons go. How do we get away with this? We have two big advantages: • The source language (the language that we’re interpreting) is simple and uniform. Its entire formal syntax can be described in one page, as we did in week 5. There’s hardly anything to implement! • The implementation language (the one in which the interpreter itself is written) is powerful enough to handle a program as data, and to let us construct data structures that are both hierarchical and circular. The amazing thing is that the simple source language and the powerful implementation language are both Scheme! You might think that a powerful language has to be complicated, but it’s not so. 142 • Introduction to Logo. For the programming project you’re turning the metacircular evaluator into an interpreter for a different language, Logo. To do that you should know a little about Logo itself. Logo is a dialect of Lisp, just as Scheme is, but its design has different priorities. The goal was to make it as natural-seeming as possible for kids. That means things like getting rid of all those parentheses, and that has other syntactic implications. (To demonstrate Logo, run ~cs61a/logo which is Berkeley Logo.) Commands and operations: In Scheme, every procedure returns a value, even the ones for which the value is unspecified and/or useless, like define and print. In Logo, procedures are divided into operations, which return values, and commands, which don’t return values but are called for their effect. You have to start each instruction with a command: print sum 2 3 Syntax: If parentheses aren’t used to delimit function calls, how do you know the difference between a function and an argument? When a symbol is used without punctuation, that means a function call. When you want the value of a variable to use as an argument, you put colon in front of it. make "x 14 print :x print sum :x :x Words are quoted just as in Scheme, except that the double-quote character is used instead of single-quote. But since expressions aren’t represented as lists, the same punctuation that delimits a list also quotes it: print [a b c] (Parentheses can be used, as in Scheme, if you want to give extra arguments to something, or indicate infix precedence.) print (sum 2 3 4 5) print 3*(4+5) No special forms: Except to, the thing that defines a new procedure, all Logo primitives evaluate their arguments. How is this possible? We “proved” back in chapter 1 that if has to be a special form. But instead we just quote the arguments to ifelse: ifelse 2=3 [print "hi] [print "bye] You don’t notice the quoting since you get it for free with the list grouping. Functions not first class: In Logo every function has a name; there’s no lambda. Also, the namespace for functions is separate from the one for variables; a variable can’t have a function as its value. (This is convenient because we can use things like list or sentence as formal parameters without losing the functions by those names.) That’s another reason why you need colons for variables. So how do you write higher-order functions like map? Two answers. First, you can use the name of a function as an argument, and you can use that name to construct an expression and eval it with run. Second, Logo has first-class expressions; you can run a list that you get as an argument. (This raises issues about the scope of variables that we’ll explore next week.) print map "first [the rain in spain] print map [? * ?] [3 4 5 6] 143 • Data abstraction in the evaluator. Here is a quote from the Instructor’s Manual, regarding section 4.1.2: “Point out that this section is boring (as is much of section 4.1.3), and explain why: Writing the selectors, constructors, and predicates that implement a representation is often uninteresting. It is important to say explicitly what you expect to be boring and what you expect to be interesting so that students don’t ascribe their boredom to the wrong aspect of the material and reject the interesting ideas. For example, data abstraction isn’t boring, although writing selectors is. The details of representing expressions (as given in section 4.1.2) and environments (as given in section 4.1.3) are mostly boring, but the evaluator certainly isn’t.” I actually think they go overboard by having a separate ADT for every kind of homogeneous sequence. For example, instead of first-operand and rest-operands I’d just use first and rest for all sequences. But things like operator and operands make sense. • Dynamic scope. Logo uses dynamic scope, which we discussed in Section 3.2, instead of Scheme’s lexical scope. There are advantages and disadvantages to both approaches. Summary of arguments for lexical scope: • Allows local state variables (OOP). • Prevents name “capture” bugs. • Faster compiled code. Summary of arguments for dynamic scope: • Allows first-class expressions (WHILE). • Easier debugging. • Allows “semi-global” variables. Lexical scope is required in order to make possible Scheme’s approach to local state variables. That is, a procedure that has a local state variable must be defined within the scope where that variable is created, and must carry that scope around with it. That’s exactly what lexical scope accomplishes. On the other hand, (1) most lexically scoped languages (e.g., Pascal) don’t have lambda, and so they can’t give you local state variables despite their lexical scope. And (2) lexical scope is needed for local state variables only if you want to implement the latter in the particular way that we’ve used. Object Logo, for example, provides OOP without relying on lambda because it includes local state variables as a primitive feature. Almost all computer scientists these days hate dynamic scope, and the reason they give is the one about name captures. That is, suppose we write procedure P that refers to a global variable V. Example: (define (area rad) (* pi rad rad)) This is intended as a reference to a global variable pi whose value, presumably, is 3.141592654. But suppose we invoke it from within another procedure like this: (define (mess-up pi) (area (+ pi 5))) If we say (mess-up 4) we intend to find the area of a circle with radius 9. But we won’t get the right area if we’re using dynamic scope, because the name pi in procedure area suddenly refers to the local variable in mess-up, rather than to the intended global value. This argument about naming bugs is particularly compelling to people who envision a programming project in which 5000 programmers work on tiny slivers of the project, so that nobody knows what anyone else is 144 doing. In such a situation it’s entirely likely that two programmers will happen to use the same name for different purposes. But note that we had to do something pretty foolish—using the name pi for something that isn’t π at all—in order to get in trouble. Lexical scope lets you write compilers that produce faster executable programs, because with lexical scope you can figure out during compilation exactly where in memory any particular variable reference will be. With dynamic scope you have to defer the name-location correspondence until the program actually runs. This is the real reason why people prefer lexical scope, despite whatever they say about high principles. As an argument for dynamic scope, consider this Logo implementation of the while control structure: to while :condition :action if not run :condition [stop] run :action while :condition :action end to example :x while [:x > 0] [print :x make "x :x-1] end ? example 3 3 2 1 This wouldn’t work with lexical scope, because within the procedure while we couldn’t evaluate the argument expressions, because the variable x is not bound in any environment lexically surrounding while. Dynamic scope makes the local variables of example available to while. That in turn allows first-class expressions. (That’s what Logo uses in place of first-class functions.) There are ways to get around this limitation of lexical scope. If you wanted to write while in Scheme, basically, you’d have to make it a special form that turns into something using thunks. That is, you’d have to make (while cond act) turn into (while-helper (lambda () cond) (lambda () act)) sort of like what we did for cons-stream. But the Logo point of view is that it’s easier for a beginning programmer to understand first-class expressions than to understand special forms and thunks. Most Scheme implementations include a debugger that allows you to examine the values of variables after an error. But, because of the complexity of the scope rules, the debugging language isn’t Scheme itself. Instead you have to use a special language with commands like “switch to the environment of the procedure that called this one.” In Logo, when an error happens you can pause your program and type ordinary Logo expressions in an environment in which all the relevant variables are available. For example, here is a Logo program: 145 ;;;;; In file cs61a/lectures/4.1/bug.logo to assq :thing :list if equalp :thing first first :list [op last first :list] op assq :thing bf :list end to spell :card pr (se assq bl :card :ranks "of assq last :card :suits) end to hand :cards if emptyp :cards [stop] spell first :cards hand bf :cards end make "ranks [[a ace] [2 two] [3 three] [4 four] [5 five] [6 six] [7 seven] [8 eight] [9 nine] [10 ten] [j jack] [q queen] [k king]] make "suits [[h hearts] [s spades] [d diamonds] [c clubs]] ? hand [10h 2d 3s] TEN OF HEARTS TWO OF DIAMONDS THREE OF SPADES Suppose we introduce an error into hand by changing the recursive call to hand first bf :cards The result will be an error message in assq—two procedure calls down—complaining about an empty argument to first. Although the error is caught in assq, the real problem is in hand. In Logo we can say pons, which stands for “print out names,” which means to show the values of all variables accessible at the moment of the error. This will include the variable cards, so we’ll see that the value of that variable is a single card instead of a list of cards. Finally, dynamic scope is useful for allowing “semi-global” variables. Take the metacircular evaluator as an example. Lots of procedures in it require env as an argument, but there’s nothing special about the value of env in any one of those procedures. It’s almost always just the current environment, whatever that happens to be. If Scheme had dynamic scope, env could be a parameter of eval, and it would then automatically be available to any subprocedure called, directly or indirectly, by eval. (This is the flip side of the name-capturing problem; in this case we want eval to capture the name env.) • Environments as circular lists. When we first saw circular lists in chapter 2, they probably seemed to be an utterly useless curiosity, especially since you can’t print one. But in the MC evaluator, every environment is a circular list, because the environment contains procedures and each procedure contains a pointer to the environment in which it’s defined. So, moral number 1 is that circular lists are useful; moral number 2 is not to try to trace a procedure in the evaluator that has an environment as an argument! The tracing mechanism will take forever to try to print the circular argument list. 146 CS 61A Lecture Notes Second Half of Week 6 Topic: Lazy evaluator Reading: Abelson & Sussman, Sections 4.2 To load the lazy metacircular evaluator, say (load "~cs61a/lib/lazy.scm") Streams require careful attention To make streams of pairs, the text uses this procedure: ;;;;; In file cs61a/lectures/4.2/pairs.scm (define (pairs s t) (cons-stream (list (stream-car s) (stream-car t)) (interleave (stream-map (lambda (x) (list (stream-car s) x)) (stream-cdr t)) (pairs (stream-cdr s) (stream-cdr t))))) In exercise 3.68, Louis Reasoner suggests this simpler version: (define (pairs s t) (interleave (stream-map (lambda (x) (list (stream-car s) x)) t) (pairs (stream-cdr s) (stream-cdr t)))) Of course you know because it’s Louis that this doesn’t work. But why not? The answer is that interleave is an ordinary procedure, so its arguments are evaluated right away, including the recursive call. So there is an infinite recursion before any pairs are generated. The book’s version uses cons-stream, which is a special form, and so what looks like a recursive call actually isn’t—at least not right away. But in principle Louis is right! His procedure does correctly specify what the desired result should contain. It fails because of a detail in the implementation of streams. In a perfect world, a mathematically correct program such as Louis’s version ought to work on the computer. In section 3.5.4 they solve a similar problem by making the stream programmer use explicit delay invocations. (You skipped over that section because it was about calculus.) Here’s how Louis could use that technique: (define (interleave-delayed s1 delayed-s2) (if (stream-null? s1) (force delayed-s2) (cons-stream (stream-car s1) (interleave-delayed (force delayed-s2) (delay (stream-cdr s1)))))) (define (pairs s t) (interleave-delayed (stream-map (lambda (x) (list (stream-car s) x)) t) (delay (pairs (stream-cdr s) (stream-cdr t))))) This works, but it’s far too horrible to contemplate; with this technique, the stream programmer has to 147 check carefully every procedure to see what might need to be delayed explicitly. This defeats the object of an abstraction. The user should be able to write a stream program just as if it were a list program, without any idea of how streams are implemented! Lazy evaluation: delay everything automatically Back in chapter 1 we learned about normal order evaluation, in which argument subexpressions are not evaluated before calling a procedure. In effect, when you type (foo a b c) in a normal order evaluator, it’s equivalent to typing (foo (delay a) (delay b) (delay c)) in ordinary (applicative order) Scheme. If every argument is automatically delayed, then Louis’s pairs procedure will work without adding explicit delays. Louis’s program had explicit calls to force as well as explicit calls to delay. If we’re going to make this process automatic, when should we automatically force a promise? The answer is that some primitives need to know the real values of their arguments, e.g., the arithmetic primitives. And of course when Scheme is about to print the value of a top-level expression, we need the real value. How do we modify the evaluator? What changes must we make to the metacircular evaluator in order to get normal order? We’ve just said that the point at which we want to automatically delay a computation is when an expression is used as an argument to a procedure. Where does the ordinary metacircular evaluator evaluate argument subexpressions? In this excerpt from eval: (define (eval exp env) (cond ... ((application? exp) (apply (eval (operator exp) env) (list-of-values (operands exp) env))) ...)) It’s list-of-values that recursively calls eval for each argument subexpression. Instead we could make thunks: (define (eval exp env) (cond ... ((application? exp) (apply (ACTUAL-VALUE (operator exp) env) (LIST-OF-DELAYED-VALUES (operands exp) env))) ...)) Two things have changed: 1. To find out what procedure to invoke, we use actual-value rather than eval. In the normal order evaluator, what eval returns may be a promise rather than a final value; actual-value forces the promise if necessary. 2. Instead of list-of-values we call list-of-delayed-values. The ordinary version uses eval to get the value of each argument expression; the new version will use delay to make a list of thunks. (This isn’t quite true, and I’ll fix it in a few paragraphs.) 148 When do we want to force the promises? We do it when calling a primitive procedure. That happens in apply: (define (apply procedure arguments) (cond ((primitive-procedure? procedure) (apply-primitive-procedure procedure arguments)) ...)) We change it to force the arguments first: (define (apply procedure arguments) (cond ((primitive-procedure? procedure) (apply-primitive-procedure procedure (MAP FORCE ARGUMENTS))) ...)) Those are the crucial changes. The book gives a few more details: Some special forms must force their arguments, and the read-eval-print loop must force the value it’s about to print. Reinventing delay and force I said earlier that I was lying about using delay to make thunks. The metacircular evaluator can’t use Scheme’s built-in delay because that would make a thunk in the underlying Scheme environment, and we want a thunk in the metacircular environment. (This is one more example of the idea of level confusion.) Instead, the book uses procedures delay-it and force-it to implement metacircular thunks. What’s a thunk? It’s an expression and an environment in which we should later evaluate it. So we make one by combining an expression with an environment: (define (delay-it exp env) (list ’thunk exp env)) The rest of the implementation is straightforward. Notice that the delay-it procedure takes an environment as argument; this is because it’s part of the implementation of the language, not a user-visible feature. If, instead of a lazy evaluator, we wanted to add a delay special form to the ordinary metacircular evaluator, we’d do it by adding this clause to eval: ((delay? exp) (delay-it (cadr exp) env)) Here exp represents an expression like (delay foo) and so its cadr is the thing we really want to delay. The book’s version of eval and apply in the lazy evaluator is a little different from what I’ve shown here. My version makes thunks in eval and passes them to apply. The book’s version has eval pass the argument expressions to apply, without either evaluating or thunking them, and also passes the current environment as a third argument. Then apply either evaluates the arguments (for primitives) or thunks them (for nonprimitives). Their way is more efficient, but I think this way makes the issues clearer because it’s more nearly parallel to the division of labor between eval and apply in the vanilla metacircular evaluator. Memoization Why didn’t we choose normal order evaluation for Scheme in the first place? One reason is that it easily leads to redundant computations. When we talked about it in chapter 1, I gave this example: (define (square x) (* x x)) (square (square (+ 2 3))) In a normal order evaluator, this adds 2 to 3 four times! (square (square (+ 2 3))) ==> 149 (* (square (+ 2 3)) (square (+ 2 3))) ==> (* (* (+ 2 3) (+ 2 3)) (* (+ 2 3) (+ 2 3))) The solution is memoization. If we force the same thunk more than once, the thunk should remember its value from the first time and not have to repeat the computation. (The four instances of (+ 2 3) in the last line above are all the same thunk forced four times, not four separate thunks.) The details are straightforward; you can read them in the text. 150 CS 61A Lecture Notes First Half of Week 7 Topic: Analyzing evaluator Reading: Abelson & Sussman, Sections 4.1.7 To work with the ideas in this section you should first (load "~cs61a/lib/analyze.scm") in order to get the analyzing metacircular evaluator. Inefficiency in the Metacircular Evaluator Suppose we’ve defined the factorial function as follows: (define (fact num) (if (= num 0) 1 (* num (fact (- num 1))))) What happens when we compute (fact 3)? eval (fact 3) self-evaluating? ==> #f if-alternative ==> (* num (fact (- num 1))) variable? ==> #f eval (* num (fact (- num 1))) quoted? ==> #f self-evaluating? ==> #f assignment? ==> #f ... definition? ==> #f list-of-values (num (fact (- num 1))) if? ==> #f ... lambda? ==> #f eval (fact (- num 1)) begin? ==> #f ... cond? ==> #f apply <procedure fact> (2) application? ==> #t eval (if (= num 0) ...) eval fact self-evaluating? ==> #f variable? ==> #t lookup-variable-value ==> <procedure fact> list-of-values (3) eval 3 ==> 3 apply <procedure fact> (3) eval (if (= num 0) ...) self-evaluating? ==> #f variable? ==> #f quoted? ==> #f assignment? ==> #f definition? ==> #f if? ==> #t eval-if (if (= num 0) ...) if-predicate ==> (= num 0) eval (= num 0) self-evaluating? ==> #f ... Four separate times, the evaluator has to examine the procedure body, decide that it’s an if expression, pull out its component parts, and evaluate those parts (which in turn involves deciding what type of expression each part is). This is one reason why interpreted languages are so much slower than compiled languages: The interpreter 151 does the syntactic analysis of the program over and over again. The compiler does the analysis once, and the compiled program can just do the part of the computation that depends on the actual values of variables. Separating Analysis from Execution Eval takes two arguments, an expression and an environment. Of those, the expression argument is (obviously!) the same every time we revisit the same expression, whereas the environment will be different each time. For example, when we compute (fact 3) we evaluate the body of fact in an environment in which num has the value 3. That body includes a recursive call to compute (fact 2), in which we evaluate the same body, but now in an environment with num bound to 2. Our plan is to look at the evaluation process, find those parts which depend only on exp and not on env, and do those only once. The procedure that does this work is called analyze. What is the result of analyze? It has to be something that can be combined somehow with an environment in order to return a value. The solution is that analyze returns a procedure that takes only env as an argument, and does the rest of the evaluation. Instead of (eval exp env) ==> value we now have 1. (analyze exp) value ==> exp-procedure 2. (exp-procedure env) ==> When we evaluate the same expression again, we only have to repeat step 2. What we’re doing is akin to memoization, in that we remember the result of a computation to avoid having to repeat it. The difference is that now we’re remembering something that’s only part of the solution to the overall problem, instead of a complete solution. We can duplicate the effect of the original eval this way: (define (eval exp env) ((analyze exp) env)) The Implementation Details Analyze has a structure similar to that of the original eval: (define (eval exp env) (define (cond ((self-evaluating? exp) (cond exp) ((variable? exp) (lookup-var-val exp env)) ... ((foo? exp) (eval-foo exp env)) ...)) (analyze exp) ((self-evaluating? exp) (analyze-self-eval exp)) ((variable? exp) (analyze-var exp)) ... ((foo? exp) (analyze-foo exp)) ...)) The difference is that the procedures such as eval-if that take an expression and an environment as arguments have been replaced by procedures such as analyze-if that take only the expression as argument. 152 How do these analysis procedures work? As an intermediate step in our understanding, here is a version of analyze-if that exactly follows the structure of eval-if and doesn’t save any time: (define (eval-if exp env) (if (true? (eval (if-predicate exp) env)) (eval (if-consequent exp) env) (eval (if-alternative exp) env))) (define (analyze-if exp) (lambda (env) (if (true? (eval (if-predicate exp) env)) (eval (if-consequent exp) env) (eval (if-alternative exp) env)))) This version of analyze-if returns a procedure with env as its argument, whose body is exactly the same as the body of the original eval-if. Therefore, if we do ((analyze-if some-if-expression) some-environment) the result will be the same as if we’d said (eval-if some-if-expression some-environment) in the original metacircular evaluator. But we’d like to improve on this first version of analyze-if because it doesn’t really avoid any work. Each time we call the procedure that analyze-if returns, it will do all of the work that the original eval-if did. The first version of analyze-if contains three calls to eval. Each of those calls does an analysis of an expression and then a computation of the value in the given environment. What we’d like to do is split each of those eval calls into its two separate parts, and do the first part only once, not every time: (define (analyze-if exp) (let ((pproc (analyze (if-predicate exp))) (cproc (analyze (if-consequent exp))) (aproc (analyze (if-alternative exp)))) (lambda (env) (if (true? (pproc env)) (cproc env) (aproc env))))) In this final version, the procedure returned by analyze-if doesn’t contain any analysis steps. All of the components were already analyzed before we call that procedure, so no further analysis is needed. The biggest gain in efficiency comes from the way in which lambda expressions are handled. In the original metacircular evaluator, leaving out some of the data abstraction for clarity here, we have (define (eval-lambda exp env) (list ’procedure exp env)) The evaluator does essentially nothing for a lambda expression except to remember the procedure’s text and the environment in which it was created. But in the analyzing evaluator we analyze the body of the procedure; what is stored as the representation of the procedure does not include its text! Instead, the evaluator represents a procedure in the metacircular Scheme as a procedure in the underlying Scheme, along with the formal parameters and the defining environment. 153 Level Confusion The analyzing evaluator turns an expression such as (if A B C) into a procedure (lambda (env) (if (A-execution-procedure env) (B-execution-procedure env) (C-execution-procedure env))) This may seem like a step backward; we’re trying to implement if and we end up with a procedure that does an if. Isn’t this an infinite regress? No, it isn’t. The if in the execution procedure is handled by the underlying Scheme, not by the metacircular Scheme. Therefore, there’s no regress; we don’t call analyze-if for that one. Also, the if in the underlying Scheme is much faster than having to do the syntactic analysis for the if in the meta-Scheme. So What? The syntactic analysis of expressions is a large part of what a compiler does. In a sense, this analyzing evaluator is a compiler! It compiles Scheme into Scheme, so it’s not a very useful compiler, but it’s really not that much harder to compile into something else, such as the machine language of a particular computer. A compiler whose structure is similar to this one is called a recursive descent compiler. Today, in practice, most compilers use a different technique (called a stack machine) because it’s possible to automate the writing of a parser that way. (I mentioned this earlier as an example of data-directed programming.) But if you’re writing a parser by hand, it’s easiest to use recursive descent. 154 CS 61A Lecture Notes Second Half of Week 7 Topic: Nondeterministic evaluator Reading: Abelson & Sussman, Section 4.3 To load the nondeterministic metacircular evaluator, say (load "~cs61a/lib/ambeval.scm") Solution spaces, streams, and backtracking Many problems are of the form “Find all A such that B” or “find an A such that B.” For example: Find an even integer that is not the sum of two primes; find a set of integers a, b, c, and n such that an + bn = cn and n > 2. (These problems might not be about numbers: Find all the states in the United States whose first and last letters are the same.) In each case, the set A (even integers, sets of four integers, or states) is called the solution space. The condition B is a predicate function of a potential solution that’s true for actual solutions. One approach to solving problems of this sort is to represent the solution space as a stream, and use filter to select the elements that satisfy the predicate: (filter sum-of-two-primes? even-integers) (filter Fermat? (pairs (pairs integers integers) (pairs integers integers))) (filter (lambda (x) (equal? (first x) (last x))) states) The stream technique is particularly elegant for infinite problem spaces, because the program seems to be generating the entire solution space A before checking the predicate B. (Of course we know that really the steps of the computation are reordered so that the elements are tested as they are generated.) In the next couple of lectures, we consider a different way to express the same sort of computation, a way that makes the sequence of events in time more visible. In effect we’ll say: • Pick a possible solution. • See if it’s really a solution. • If so, return it; if not, try another. Here’s an example of the notation: > (let ((a (amb 2 3 4)) (b (amb 6 7 8))) (require (= (remainder b a) 0)) (list a b)) (2 6) > try-again (2 8) > try-again (3 6) > try-again (4 8) > try-again There are no more solutions. 155 The main new thing here is the special form amb. This is not part of ordinary Scheme! We are adding it as a new feature in the metacircular evaluator. Amb takes any number of argument expressions and returns the value of one of them. You can think about this using either of two metaphors: • The computer clones itself into as many copies as there are arguments; each clone gets a different value. • The computer magically knows which argument will give rise to a solution to your problem and chooses that one. What really happens is that the evaluator chooses the first argument and returns its value, but if the computation later fails then it tries again with the second argument, and so on until there are no more to try. This introduces another new idea: the possibility of the failure of a computation. That’s not the same thing as an error! Errors (such as taking the car of an empty list) are handled the same in this evaluator as in ordinary Scheme; they result in an error message and the computation stops. A failure is different; it’s what happens when you call amb with no arguments, or when all the arguments you gave have been tried and there are no more left. In the example above I used require to cause a failure of the computation if the condition is not met. Require is a simple procedure in the metacircular Scheme-with-amb: (define (require condition) (if (not condition) (amb))) So here’s the sequence of events in the computation above: a=2 b=6; 6 is a multiple of 2, so return (2 6) [try-again] b=7; 7 isn’t a multiple of 2, so fail. b=8; 8 is a multiple of 2, so return (2 8) [try-again] No more values for b, so fail. a=3 b=6; 6 is a multiple of 3, so return (3 6) [try-again] b=7; 7 isn’t a multiple of 3, so fail. b=8; 8 isn’t a multiple of 3, so fail. No more values for b, so fail. a=4 b=6; 6 isn’t a multiple of 4, so fail. b=7; 7 isn’t a multiple of 4, so fail. b=8; 8 is a multiple of 4, so return (4 8) [try-again] No more values for b, so fail. No more values for a, so fail. (No more pending AMBs, so report failure to user.) 156 Recursive Amb Since amb accepts any argument expressions, not just literal values as in the example above, it can be used recursively: (define (an-integer-between from to) (if (> from to) (amb) (amb from (an-integer-between (+ from 1) to)))) or if you prefer: (define (an-integer-between from to) (require (>= to from)) (amb from (an-integer-between (+ from 1) to))) Further, since amb is a special form and only evaluates one argument at a time, it has the same delaying effect as cons-stream and can be used to make infinite solution spaces: (define (integers-from from) (amb from (integers-from (+ from 1)))) This integers-from computation never fails—there is always another integer—and so it won’t work to say (let ((a (integers-from 1)) (b (integers-from 1))) ...) because a will never have any value other than 1, because the second amb never fails. This is analogous to the problem of trying to append infinite streams; in that case we could solve the problem with interleave but it’s harder here. Footnote on order of evaluation In describing the sequence of events in these examples, I’m assuming that Scheme will evaluate the arguments of the unnamed procedure created by a let from left to right. If I wanted to be sure of that, I should use let* instead of let. But it matters only in my description of the sequence of events; considered abstractly, the program will behave correctly regardless of the order of evaluation, because all possible solutions will eventually be tried—although maybe not in the order shown here. Success or failure In the implementation of amb, the most difficult change to the evaluator is that any computation may either succeed or fail. The most obvious way to try to represent this situation is to have eval return some special value, let’s say the symbol =failed=, if a computation fails. (This is analogous to the use of =no-value= in the Logo interpreter project.) The trouble is that if an amb fails, we don’t want to continue the computation; we want to “back up” to an earlier stage in the computation. Suppose we are trying to evaluate an expression such as (a (b (c (d 4)))) and suppose that procedures b and c use amb. Procedure d is actually invoked first; then c is invoked with the value d returned as argument. The amb inside procedure c returns its first argument, and c uses that to compute a return value that becomes the argument to b. Now suppose that the amb inside b fails. We don’t want to invoke a with the value =failed= as its argument! In fact we don’t want to invoke a at all; we want to re-evaluate the body of c but using the second argument to its amb. A&S take a different approach. If an amb fails, they want to be able to jump right back to the previous amb, without having to propagate the failure explicitly through several intervening calls to eval. To make this 157 work, intuitively, we have to give eval two different places to return to when it’s finished, one for a success and the other for a failure. Continuations Ordinarily a procedure doesn’t think explicitly about where to return; it returns to its caller, but Scheme takes care of that automatically. For example, when we compute (* 3 (square 5)) the procedure square computes the value 25 and Scheme automatically returns that value to the eval invocation that’s waiting to use it as an argument to the multiplication. But we could tell square explicitly, “when you’ve figured out the answer, pass it on to be multiplied by 3” this way: (define (square x continuation) (continuation (* x x))) > (square 5 (lambda (y) (* y 3))) 75 A continuation is a procedure that takes your result as argument and says what’s left to be done in the computation. Continuations for success and failure In the case of the nondeterministic evaluator, we give eval two continuations, one for success and one for failure. Note that these continuations are part of the implementation of the evaluator; the user of amb doesn’t deal explicitly with continuations. Here’s a handwavy example. In the case of (a (b (c (d 4)))) procedure b’s success continuation is something like (lambda (value) (a value)) but its failure continuation is (lambda () (a (b (redo-amb-in-c)))) This example is handwavy because these “continuations” are from the point of view of the user of the metacircular Scheme, who doesn’t know anything about continuations, really. The true continuations are written in underlying Scheme, as part of the evaluator itself. If a computation fails, the most recent amb wants to try another value. So a continuation failure will redo the amb with one fewer argument. There’s no information that the failing computation needs to send back to that amb except for the fact of failure itself, so the failure continuation procedure needs no arguments. On the other hand, if the computation succeeds, we have to carry out the success continuation, and that continuation needs to know the value that we computed. It also needs to know what to do if the continuation itself fails; most of the time, this will be the same as the failure continuation we were given, but it might not be. So a success continuation must be a procedure that takes two arguments: a value and a failure continuation. The book bases the nondeterministic evaluator on the analyzing one, but I’ll use a simplified version based on plain old eval (it’s in cs61a/lib/vambeval.scm). Most kinds of evaluation always succeed, so they invoke their success continuation and pass on the failure one. I’ll start with a too-simplified version of eval-if in this form: 158 (define (eval-if exp env succeed fail) ; WRONG! (if (eval (if-predicate exp) env succeed fail) (eval (if-consequent exp) env succeed fail) (eval (if-alternative exp) env succeed fail))) The trouble is, what if the evaluation of the predicate fails? We don’t then want to evaluate the consequent or the alternative. So instead, we just evaluate the predicate, giving it a success continuation that will evaluate the consequent or the alternative, supposing that evaluating the predicate succeeds. In general, wherever the ordinary metacircular evaluator would say (define (eval-foo exp env) (eval step-1 env) (eval step-2 env)) using eval twice for part of its work, this version has to eval the first part with a continuation that evals the second part: (define (eval-foo exp env succeed fail) (eval step-1 env (lambda (value-1 fail-1) (eval step-2 env succeed fail-1)) fail)) (In either case, step-2 presumably uses the result of evaluating step-1 somehow.) Here’s how that works out for if: (define (eval-if exp env succeed fail) (eval (if-predicate exp) ; test the predicate env (lambda (pred-value fail2) ; with this success continuation (if (true? pred-value) (eval (if-consequent exp) env succeed fail2) (eval (if-alternative exp) env succeed fail2))) fail)) ; and the same failure continuation What’s fail2? It’s the failure continuation that the evaluation of the predicate will supply. Most of the time, that’ll be the same as our own failure continuation, just as eval-if uses fail as the failure continuation to pass on to the evaluation of the predicate. But if the predicate involves an amb expression, it will generate a new failure continuation. Think about an example like this one: > (if (amb #t #f) (amb 1) (amb 2)) 1 > try-again 2 (A more realistic example would have the predicate expression be some more complicated procedure call that had an amb in its body.) The first thing that happens is that the first amb returns #t, and so if evaluates its second argument, and that second amb returns 1. When the user says to try again, there are no more values for that amb to return, so it fails. What we must do is re-evaluate the first amb, but this time returning its second argument, #f. By now you’ve forgotten that we’re trying to work out what fail2 is for in eval-if, but this example shows why the failure continuation when we evaluate if-consequent (namely the (amb 1) 159 expression) has to be different from the failure continuation for the entire if expression. If the entire if fails (which will happen if we say try-again again) then its failure continuation will tell us that there are no more values. That continuation is bound to the name fail in eval-if. What ends up bound to the name fail2 is the continuation that re-evaluates the predicate amb. How does fail2 get that binding? When eval-if evaluates the predicate, which turns out to be an amb expression, eval-amb will evaluate whatever argument it’s up to, but with a new failure continuation: (define (eval-amb exp env succeed fail) (if (null? (cdr exp)) ; (car exp) is the word AMB (fail) ; no more args, call failure cont. (eval (cadr exp) ; Otherwise evaluate the first arg env succeed ; with my same success continuation (lambda () ; but with a new failure continuation: (eval-amb (cons ’amb (cddr exp)) ; try the next argument env succeed fail))))) Notice that eval-if, like most other cases, provides a new success continuation but passes on the same failure continuation that it was given as an argument. But eval-amb does the opposite: It passes on the same success continuation it was given, but provides a new failure continuation. Of course there are a gazillion more details, but the book explains them, once you understand what a continuation is. The most important of these complications is that anything involving mutation is problematic. If we say (define x 5) (set! x (+ x (amb 2 3))) it’s clear that the first time around x should end up with the value 7 (5 + 2). But if we try again, we’d like x to get the value 8 (5 + 3), not 10 (7 + 3). So set! must set up a failure continuation that undoes the change in the binding of x, restoring its original value of 5, before letting the amb provide its second argument. 160 CS 61A Lecture Notes First Half of Week 8 Topic: Logic programming Reading: Abelson & Sussman, Section 4.4.1–3 This week’s big idea is logic programming or declarative programming. It’s the biggest step we’ve taken away from expressing a computation in hardware terms. When we discovered streams, we saw how to express an algorithm in a way that’s independent of the order of evaluation. Now we are going to describe a computation in a way that has no (visible) algorithm at all! We are using a logic programming language that A&S implemented in Scheme. Because of that, the notation is Scheme-like, i.e., full of lists. Standard logic languages like Prolog have somewhat different notations, but the idea is the same. All we do is assert facts: > (load "~cs61a/lib/query.scm") > (query) ;;; Query input: (assert! (Brian likes potstickers)) and ask questions about the facts: ;;; Query input: (?who likes potstickers) ;;; Query results: (BRIAN LIKES POTSTICKERS) Although the assertions and the queries take the form of lists, and so they look a little like Scheme programs, they’re not! There is no application of function to argument here; an assertion is just data. This is true even though, for various reasons, it’s traditional to put the verb (the relation) first: (assert! (likes Brian potstickers)) We’ll use that convention hereafter, but that makes it even easier to fall into the trap of thinking there is a function called likes. • Rules. As long as we just tell the system isolated facts, we can’t get extraordinarily interesting replies. But we can also tell it rules that allow it to infer one fact from another. For example, if we have a lot of facts like (mother Eve Cain) then we can establish a rule about grandmotherhood: (assert! (rule (grandmother ?elder ?younger) (and (mother ?elder ?mom) (mother ?mom ?younger) ))) The rule says that the first part (the conclusion) is true if we can find values for the variables such that the second part (the condition) is true. Again, resist the temptation to try to do composition of functions! (assert! (rule (grandmother ?elder ?younger) 161 ;; WRONG!!!! (mother ?elder (mother ?younger)) )) Mother isn’t a function, and you can’t ask for the mother of someone as this incorrect example tries to do. Instead, as in the correct version above, you have to establish a variable (?mom) that has a value that satisfies the two motherhood relationships we need. In this language the words assert!, rule, and, or, and not have special meanings. Everything else is just a word that can be part of assertions or rules. Once we have the idea of rules, we can do real magic: ;;;;; In file cs61a/lectures/4.4/logic-utility.scm (assert! (rule (append (?u . ?v) ?y (?u . ?z)) (append ?v ?y ?z))) (assert! (rule (append () ?y ?y))) (The actual online file uses a Scheme procedure aa to add the assertion. It’s just like saying assert! to the query system, but you say it to Scheme instead. This lets you load the file. Don’t get confused about this small detail—just ignore it.) ;;; Query input: (append (a b) (c d e) ?what) ;;; Query results: (APPEND (A B) (C D E) (A B C D E)) So far this is just like what we could do in Scheme. ;;; Query input: (append ?what (d e) (a b c d e)) ;;; Query results: (APPEND (A B C) (D E) (A B C D E)) ;;; Query input: (append (a) ?what (a b c d e)) ;;; Query results: (APPEND (A) (B C D E) (A B C D E)) The new thing in logic programming is that we can run a “function” backwards! We can tell it the answer and get back the question. But the real magic is... ;;; Query input: (append ?this ?that (a b c d e)) ;;; Query results: (APPEND () (A B C D E) (A B C D E)) (APPEND (A) (B C D E) (A B C D E)) (APPEND (A B) (C D E) (A B C D E)) (APPEND (A B C) (D E) (A B C D E)) (APPEND (A B C D) (E) (A B C D E)) (APPEND (A B C D E) () (A B C D E)) We can use logic programming to compute multiple answers to the same question! Somehow it found all the possible combinations of values that would make our query true. 162 How does the append program work? Compare it to the Scheme append: (define (append a b) (if (null? a) b (cons (car a) (append (cdr a) b)) )) Like the Scheme program, the logic program has two cases: There is a base case in which the first argument is empty. In that case the combined list is the same as the second appended list. And there is a recursive case in which we divide the first appended list into its car and its cdr. We reduce the given problem into a problem about appending (cdr a) to b. The logic program is different in form, but it says the same thing. (Just as, in the grandmother example, we had to give the mother a name instead of using a function call, here we have to give (car a) a name—we call it ?u.) Unfortunately, this “working backwards” magic doesn’t always work. ;;;;; In file cs61a/lectures/4.4/reverse.scm (assert! (rule (reverse (?a . ?x) ?y) (and (reverse ?x ?z) (append ?z (?a) ?y) ))) (assert! (reverse () ())) This works for (reverse (a b c) ?what) but not the other way around; it gets into an infinite loop. We can also write a version that works only backwards: ;;;;; In file cs61a/lectures/4.4/reverse.scm (assert! (rule (backward (?a . ?x) ?y) (and (append ?z (?a) ?y) (backward ?x ?z) ))) (assert! (backward () ())) But it’s much harder to write one that works both ways. Even as we speak, logic programming fans are trying to push the limits of the idea, but right now, you still have to understand something about the below-the-line algorithm to be confident that your logic program won’t loop. • Below-the-line implementation. Think about eval in the MC evaluator. It takes two arguments, an expression and an environment, and it returns the value of the expression. In logic programming, there’s no such thing as “the value of the expression.” What we’re given is a query, and there may or may not be some number of variable bindings that make the query true. The query evaluator qeval is analogous to eval in that it takes two arguments, something to evaluate and a context in which to work. But the thing to evaluate is a query, not an expression; the context isn’t just one environment but a whole collection of environments—one for each set of variable values that satisfy some previous query. And the result returned by qeval isn’t a value. It’s a new collection of environments! It’s as if eval returned an environment instead of a value. 163 The “collection” of environments we’re talking about here is represented as a stream. That’s because there might be infinitely many of them! We use the stream idea to reorder the computation; what really happens is that we take one potential set of satisfying values and work it all the way through; then we try another potential set of values. But the program looks as if we compute all the satisfying values at once for each stage of a query. Just as every top-level Scheme expression is evaluated in the global environment, every top-level query is evaluated in an empty stream of environments. (No variables have been assigned values yet.) If we have a query like (and p q), what happens is that we recursively use qeval to evaluate p in the empty stream. The result is a stream of variable bindings that satisfy p. Then we use qeval to evaluate q in that result stream! The final result is a stream of bindings that satisfy p and q simultaneously. If the query is (or p q) then we use qeval to evaluate each of the pieces independently, starting in both cases with the empty frame. Then we merge the two result streams to get a stream of bindings that satisfy either p or q. If the query is (not q), we can’t make sense of that unless we already have a stream of environments to work with. That’s why we can only use not in a context such as (and p (not q)). We take the stream of environments that we already have, and we filter that stream, using as the test predicate the function (lambda (env) (empty-stream? (qeval q env))) That is, we keep only those environments for which we can’t satisfy q. That explains how qeval reduces compound queries to simple ones. How do we evaluate a simple query? The first step is to pattern match the query against every assertion in the data base. Pattern matching is just like the recursive equal? function, except that a variable in the pattern (the query) matches anything in the assertion. (But if the same variable appears more than once, it must match the same thing each time. That’s why we need to keep an environment of matches so far.) The next step is to match the query against the conclusions of rules. This is tricky because now there can be variables in both things being matched. Instead of the simple pattern matching we have to use a more complicated version called unification. (See the details in the text.) If we find a match, then we take the condition part of the rule (the body) and use that as a new query, to be satisfied within the environment(s) that qeval gave us when we matched the conclusion. In other words, first we look at the conclusion to see whether this rule can possibly be relevant to our query; if so, we see if the conditions of the rule are true. 164 Here’s an example, partly traced: ;;; Query input: (append ?a ?b (aa bb)) (unify-match (append ?a ?b (aa bb)) (append () ?1y ?1y) ()) ; MATCH ORIGINAL QUERY ; AGAINST BASE CASE RULE ; WITH NO CONSTRAINTS RETURNS: ((?1y . (aa bb)) (?b . ?1y) (?a . ())) PRINTS: (append () (aa bb) (aa bb)) Since the base-case rule has no body, once we’ve matched it, we can print a successful result. (Before printing, we have to look up variables in the environment so what we print is variable-free.) Now we unify the original query against the conclusion of the other rule: (unify-match (append ?a ?b (aa bb)) (append (?2u . ?2v) ?2y (?2u . ?2z)) ()) ; MATCH ORIGINAL QUERY ; AGAINST RECURSIVE RULE ; WITH NO CONSTRAINTS RETURNS: ((?2z . (bb)) (?2u . aa) (?b . ?2y) (?a . (?2u . ?2v))) [call it F1] This was successful, but we’re not ready to print anything yet, because we now have to take the body of that rule as a new query. Note the indenting to indicate that this call to unify-match is within the pending rule. (unify-match (append ?2v ?2y ?2z) (append () ?3y ?3y) F1) ; MATCH BODY OF RECURSIVE RULE ; AGAINST BASE CASE RULE ; WITH CONSTRAINTS FROM F1 RETURNS: ((?3y . (bb)) (?2y . ?3y) (?2v . ()) [plus F1]) PRINTS: (append (aa) (bb) (aa bb)) (unify-match (append ?2v ?2y ?2z) (append (?4u . ?4v) ?4y (?4u . ?4z)) F1) ; MATCH SAME BODY ; AGAINST RECURSIVE RULE ; WITH F1 CONSTRAINTS RETURNS: ((?4z . ()) (?4u . bb) (?2y . ?4y) (?2v . (?4u . ?4v)) [plus F1]) [call it F2] (unify-match (append ?4v ?4y ?4z) (append () ?5y ?5y) F2) ; MATCH BODY FROM NEWFOUND MATCH ; AGAINST BASE CASE RULE ; WITH NEWFOUND CONSTRAINTS RETURNS: ((?5y . ()) (?4y . ?5y) (?4v . ()) [plus F2]) PRINTS: (append (aa bb) () (aa bb)) (unify-match (append ?4v ?4y ?4z) (append (?6u . ?6v) ?6y (?6u . ?6z)) F2) ; MATCH SAME BODY ; AGAINST RECUR RULE ; SAME CONSTRAINTS RETURNS: () ; BUT THIS FAILS done 165 CS 61A Lecture Notes Second Half of Week 8 Topic: Review Reading: No new reading; study for the final. • Go over first-day handout about abstraction; show how each topic involves an abstraction barrier and say what’s above and what’s below the line. • Go over the big ideas within each programming paradigm: Functional Programming: composition of functions first-class functions (function as object) higher-order functions recursion delayed (lazy) evaluation (vocabulary: parameter, argument, scope, iterative process) Object-Oriented Programming: actors message passing local state inheritance identity vs. equal value (vocabulary: dispatch procedure, delegation, mutation) Logic Programming: focus on ends, not means multiple solutions running a program backwards (vocabulary: pattern matching, unification) • Review where 61A fits into the curriculum. (See the CS abstraction hierarchy in week 1.) Please, please, don’t forget the ideas of 61A just because you’re not programming in Scheme! 166 CS 61A A&S Section 3.0 Object-Oriented Programming — Above the line view This document should be read before Section 3.1 of the text. A second document, “Object-Oriented Programming — Below the line view,” should be read after Section 3.1 and perhaps after Section 3.2; the idea is that you first learn how to use the object-oriented programming facility, then you learn how it’s implemented. Object-oriented programming is a metaphor. It expresses the idea of several independent agents inside the computer, instead of a single process manipulating various data. For example, the next programming project is an adventure game, in which several people, places, and things interact. We want to be able to say things like “Ask Fred to pick up the potstickers.” (Fred is a person object, and the potstickers are a thing object.) Programmers who use the object metaphor have a special vocabulary to describe the components of an object-oriented programming (OOP) system. In the example just above, “Fred” is called an instance and the general category “person” is called a class. Programming languages that support OOP let the programmer talk directly in this vocabulary; for example, every OOP language has a “define class” command in some form. For this course, we have provided an extension to Scheme that supports OOP in the style of other OOP languages. Later we shall see how these new features are implemented using Scheme capabilities that you already understand. OOP is not magic; it’s a way of thinking and speaking about the structure of a program. When we talk about a “metaphor,” in technical terms we mean that we are providing an abstraction. The above-the-line view is the one about independent agents. Below the line there are three crucial technical ideas: message-passing (section 2.3), local state (section 3.1), and inheritance (explained below). This document will explain how these ideas look to the OOP programmer; later we shall see how they are implemented. A simpler version of this system and of these notes came from MIT; this version was developed at Berkeley by Matt Wright. In order to use the OOP system, you must load the file ~cs61a/lib/obj.scm into Scheme. Message Passing The way to get things to happen in an object oriented system is to send messages to objects asking them to do something. You already know about message passing; we used this technique in Section 2.3 to implement generic operators using “smart” data. For example, in Section 3.1 much of the discussion will be about bank account objects. Each account has a balance (how much money is in it); you can send messages to a particular account to deposit or withdraw money. The book’s version shows how these objects can be created using ordinary Scheme notation, but now we’ll use OOP vocabulary to do the same thing. Let’s say we have two objects Matt-Account and Brian-Account of the bank account class. (You can’t actually type this into Scheme yet; the example assumes that we’ve already created these objects.) > (ask Matt-Account ’balance) 1000 167 > (ask 10000 > (ask 1100 > (ask 9800 > (ask 1100 > (ask 9600 Brian-Account ’balance) Matt-Account ’deposit 100) Brian-Account ’withdraw 200) Matt-Account ’balance) Brian-Account ’withdraw 200) We use the procedure ask to send a message to an object. In the above example we assumed that bank account objects knew about three messages: balance, deposit, and withdraw. Notice that some messages require additional information; when we asked for the balance, that was enough, but when we ask an account to withdraw or deposit we needed to specify the amount also. The metaphor is that an object “knows how” to do certain things. These things are called methods. Whenever you send a message to an object, the object carries out the method it associates with that message. Local State Notice that in the above example, we repeatedly said (ask Brian-Account ’withdraw 200) and got a different answer each time. It seemed perfectly natural, because that’s how bank accounts work in real life. However, until now we’ve been using the functional programming paradigm, in which, by definition, calling the same function twice with the same arguments must give the same result. In the OOP paradigm, the objects have state. That is, they have some knowledge about what has happened to them in the past. In this example, a bank account has a balance, which changes when you deposit or withdraw some money. Furthermore, each account has its own balance. In OOP jargon we say that balance is a local state variable. You already know what a local variable is: a procedure’s formal parameter is one. When you say (define (square x) (* x x)) the variable x is local to the square procedure. If you had another procedure (cube x), its variable x would be entirely separate from that of square. Likewise, the balance of Matt-Account is kept separate from that of Brian-Account. On the other hand, every time you invoke square, you supply a new value for x; there is no memory of the value x had last time around. A state variable is one whose value survives between invocations. After you deposit some money to Matt-Account, the balance variable’s new value is remembered the next time you access the account. To create objects in this system you instantiate a class. 168 For example, Matt-Account and Brian-Account are instances of the account class: > (define Matt-Account (instantiate account 1000)) Matt-Account > (define Brian-Account (instantiate account 10000)) Brian-Account The instantiate function takes a class as its first argument and returns a new object of that class. Instantiate may require additional arguments depending on the particular class: in this example you specify an account’s initial balance when you create it. Most of the code in an object-oriented program consists of definitions of various classes. Here is the account class: (define-class (account balance) (method (deposit amount) (set! balance (+ amount balance)) balance) (method (withdraw amount) (if (< balance amount) "Insufficient funds" (begin (set! balance (- balance amount)) balance))) ) There’s a lot to say about this code. First of all, there’s a new special form, define-class. The syntax of define-class is analogous to that of define. Where you would expect to see the name of the procedure you’re defining comes the name of the class you’re defining. In place of the parameters to a procedure come the initialization variables of the class: these are local state variables whose initial values must be given as the extra arguments to instantiate. The body of a class consists of any number of clauses; in this example there is only one kind of clause, the method clause, but we’ll learn about others later. The order in which clauses appear within a define-class doesn’t matter. The syntax for defining methods was also chosen to resemble that for defining procedures. The “name” of the method is actually the message used to access the method. The parameters to the method correspond to extra arguments to the ask procedure. For example, when we said (ask Matt-Account ’deposit 100) we associated the argument 100 with the parameter amount. You’re probably wondering where we defined the balance method. For each local state variable in a class, a corresponding method of the same name is defined automatically. These methods have no arguments, and they just return the current value of the variable with that name. This example also introduced two new special forms that are not unique to the object system. The first is set!, whose job it is to change the value of a state variable. Its first argument is unevaluated; it is the name of the variable whose value you wish to change. The second argument is evaluated; the value of this expression becomes the new value of the variable. The return value of set! is undefined. 169 This looks a lot like the kind of define without parentheses around the first argument, but the meaning is different. Define creates a new variable, while set! changes the value of an existing variable. The name set! has an exclamation point in its name because of a Scheme convention for procedures that modify something. (This is just a convention, like the convention about question marks in the names of predicate functions, not a firm rule.) The reason we haven’t come across this convention before is that functional programming rules out the whole idea of modifying things; there is no memory of past history in a functional program. The other Scheme primitive special form in this example is begin, which evaluates all of its argument expressions in order and returns the value of the last one. Until now, in every procedure we’ve evaluated only one expression, to provide the return value of that procedure. It’s still the case that a procedure can only return one value. Now, though, we sometimes want to evaluate an expression for what it does instead of what it returns, e.g. changing the value of a variable. The call to begin indicates that the (set! amount (- amount balance)) and the balance together form a single argument to if. You’ll learn more about set! and begin in Chapter 3. Inheritance Imagine using OOP in a complicated program with many different kinds of objects. Very often, there will be a few classes that are almost the same. For example, think about a window system. There might be different kinds of windows (text windows, graphics windows, and so on) but all of them will have certain methods in common, e.g., the method to move a window to a different position on the screen. We don’t want to have to reprogram the same method in several classes. Instead, we create a more general class (such as “window”) that knows about these general methods; the specific classes (like “text window”) inherit from the general class. In effect, the definition of the general class is included in that of the more specific class. Let’s say we want to create a checking account class. Checking accounts are just like regular bank accounts, except that you can write checks as well as withdrawing money in person. But you’re charged ten cents every time you write a check. > (define Hal-Account (instantiate checking-account 1000)) Hal-Account > (ask Hal-Account ’balance) 1000 > (ask Hal-Account ’deposit 100) 1100 > (ask Hal-Account ’withdraw 50) 1050 > (ask Hal-Account ’write-check 30) 1019.9 One way to do this would be to duplicate all of the code for regular accounts in the definition of the checking-account. This isn’t so great, though; if we want to add a new feature to the account class we would need to remember to add it to the checking-account class as well. 170 It is very common in object-oriented programming that one class will be a specialization of another: the new class will have all the methods of the old, plus some extras, just as in this bank account example. To describe this situation we use the metaphor of a family of object classes. The original class is the parent and the specialized version is the child class. We say that the child inherits the methods of the parent. (The names subclass for child and superclass for parent are also sometimes used.) Here’s how we create a subclass of the account class: (define-class (checking-account init-balance) (parent (account init-balance)) (method (write-check amount) (ask self ’withdraw (+ amount 0.10)) )) This example introduces the parent clause in define-class. In this case, the parent is the account class. Whenever we send a message to a checking-account object, where does the corresponding method come from? If a method of that name is defined in the checking-account class, it is used; otherwise, the OOP system looks for a method in the parent account class. (If that class also had a parent, we might end up inheriting a method from that twice-removed class, and so on.) Notice also that the write-check method refers to a variable called self. Each object has a local state variable self whose value is the object itself. (Notice that you might write a method within the definition of a class C thinking that self will always be an instance of C, but in fact self might turn out to be an instance of another class that has C as its parent.) Methods defined in a certain class only have access to the local state variables defined in the same class. For example, a method defined in the checking-account class can’t refer to the balance variable defined in the account class; likewise, a method in the account class can’t refer to the init-balance variable. This rule corresponds to the usual Scheme rule about scope of variables: each variable is only available within the block in which it’s defined. (Not every OOP implementation works like this, by the way.) If a method in the checking-account class needs to refer to the balance variable defined in its parent class, the method could say (ask self ’balance) This invocation of ask sends a message to the checking-account object, but because there is no balance method defined within the checking-account class itself, the method that’s inherited from the account class is used. We used the name init-balance for the new class’s initialization variable, rather than just balance, because we want that name to mean the variable belonging to the parent class. Since the OOP system automatically creates a method named after every local variable in the class, if we called this variable balance then we couldn’t use a balance message to get at the parent’s balance state variable. (It is the parent, after all, in which the account’s balance is changed for each transaction.) We have now described the three most important parts of the OOP system: message passing, local state, and inheritance. In the rest of this document we introduce some “bells and whistles”— additional features that make the notation more flexible, but don’t really involve major new ideas. 171 Three Kinds of Local State Variables So far the only local state variables we’ve seen have been instantiation variables, whose values are given as arguments when an object is created. Sometimes we’d like each instance to have a local state variable, but the initial value is the same for every object in the class, so we don’t want to have to mention it at each instantiation. To achieve this purpose, we’ll use a new kind of define-class clause, called instance-vars: (define-class (checking-account init-balance) (parent (account init-balance)) (instance-vars (check-fee 0.10)) (method (write-check amount) (ask self ’withdraw (+ amount check-fee))) (method (set-fee! fee) (set! check-fee fee)) ) We’ve set things up so that every new checking account will have a ten-cent fee for each check. It’s possible to change the fee for any given account, but we don’t have to say anything if we want to stick with the ten cent value. Instantiation variables are also instance variables; that is, every instance has its own private value for them. The only difference is in the notation—for instantiation variables you give a value when you call instantiate, but for other instance variables you give the value in the class definition. The third kind of local state variable is a class variable. Unlike the case of instance variables, there is only one value for a class variable for the entire class. Every instance of the class shares this value. For example, let’s say we want to have a class of workers that are all working on the same project. That is to say, whenever any of them works, the total amount of work done is increased. On the other hand, each worker gets hungry separately as he or she works. Therefore, there is a common work-done variable for the class, and a separate hunger variable for each instance. (define-class (worker) (instance-vars (hunger 0)) (class-vars (work-done 0)) (method (work) (set! hunger (1+ hunger)) (set! work-done (1+ work-done)) ’whistle-while-you-work )) > (define brian (instantiate worker)) BRIAN > (define matt (instantiate worker)) MATT > (ask matt ’work) WHISTLE-WHILE-YOU-WORK > (ask matt ’work) WHISTLE-WHILE-YOU-WORK > (ask matt ’hunger) 2 172 > (ask matt ’work-done) 2 > (ask brian ’work) WHISTLE-WHILE-YOU-WORK > (ask brian ’hunger) 1 > (ask brian ’work-done) 3 > (ask worker ’work-done) 3 As you can see, asking any worker object to work increments the work-done variable. In contrast, each worker has its own hunger instance variable, so that when Brian works, Matt doesn’t get hungry. You can ask any instance the value of a class variable, or you can ask the class itself. This is an exception to the usual rule that messages must be sent to instances, not to classes. Initialization Sometimes we want every new instance of some class to carry out some initial activity as soon as it’s created. For example, let’s say we want to maintain a list of all the worker objects. We’ll create a class variable called all-workers to hold the list, but we also have to make sure that each newly created instance adds itself to the list. We do this with an initialize clause: (define-class (worker) (instance-vars (hunger 0)) (class-vars (all-workers ’()) (work-done 0)) (initialize (set! all-workers (cons self all-workers))) (method (work) (set! hunger (1+ hunger)) (set! work-done (1+ work-done)) ’whistle-while-you-work )) The body of the initialize clause is evaluated when the object is instantiated. (By the way, don’t get confused about those two long words that both start with “I.” Instantiation is the process of creating an instance (that is, a particular object) of a class. Initialization is some optional, classspecific activity that the newly instantiated object might perform.) If a class and its parent class both have initialize clauses, the parent’s clause is evaluated first. This might be important if the child’s initialization refers to local state that is maintained by methods in the parent class. Classes That Recognize Any Message Suppose we want to create a class of objects that return the value of the previous message they 173 received whenever you send them a new message. Obviously, each such object needs an instance variable in which it will remember the previous message. The hard part is that we want objects of this class to accept any message, not just a few specific messages. Here’s how: (define-class (echo-previous) (instance-vars (previous-message ’first-time)) (default-method (let ((result previous-message)) (set! previous-message message) result))) We used a default-method clause; the body of a default-method clause gets evaluated if an object receives a message for which it has no method. (In this case, the echo-previous object doesn’t have any regular methods, so the default-method code is executed for any message.) Inside the body of the default-method clause, the variable message is bound to the message that was received and the variable args is bound to a list of any additional arguments to ask. Using a Parent’s Method Explicitly In the example about checking accounts earlier, we said (define-class (checking-account init-balance) (parent (account init-balance)) (method (write-check amount) (ask self ’withdraw (+ amount 0.10)) )) Don’t forget how this works: Because the checking-account class has a parent, whatever messages it doesn’t understand are processed in the same way that the parent (account) class would handle them. In particular, account objects have deposit and withdraw methods. Although a checking-account object asks itself to withdraw some money, we really intend that this message be handled by a method defined within the parent account class. There is no problem here because the checking-account class itself does not have a withdraw method. Imagine that we want to define a class with a method of the same name as a method in its parent class. Also, we want the child’s method to invoke the parent’s method of the same name. For example, we’ll define a TA class that is a specialization of the worker class. The only difference is that when you ask a TA to work, he or she returns the sentence “Let me help you with that box and pointer diagram” after invoking the work method defined in the worker class. We can’t just say (ask self ’work), because that will refer to the method defined in the child class. That is, suppose we say: (define-class (TA) (parent (worker)) (method (work) (ask self ’work) ;; WRONG! ’(Let me help you with that box and pointer diagram)) (method (grade-exam) ’A+) ) 174 When we ask a TA to work, we are hoping to get the result of asking a worker to work (increasing hunger, increasing work done) but return a different sentence. But what actually happens is an infinite recursion. Since self refers to the TA, and the TA does have its own work method, that’s what gets used. (In the earlier example with checking accounts, ask self works because the checking account does not have its own withdraw method.) Instead we need a way to access the method defined in the parent (worker) class. We can accomplish this with usual: (define-class (TA) (parent (worker)) (method (work) (usual ’work) ’(Let me help you with that box and pointer diagram)) (method (grade-exam) ’A+) ) Usual takes one or more arguments. The first argument is a message, and the others are whatever extra arguments are needed. Calling usual is just like saying (ask self ...) with the same arguments, except that only methods defined within an ancestor class (parent, grandparent, etc.) are eligible to be used. It is an error to invoke usual from a class that doesn’t have a parent class. You may be thinking that usual is a funny name for this function. Here’s the idea behind the name: We are thinking of subclasses as specializations. That is, the parent class represents some broad category of things, and the child is a specialized version. (Think of the relationship of checking accounts to accounts in general.) The child object does almost everything the same way its parent does. The child has some special way to handle a few messages, different from the usual way (as the parent does it). But the child can explicitly decide to do something in the usual (parent-like) way, rather than in its own specialized way. Multiple Superclasses We can have object types that inherit methods from more than one type. We’ll invent a singer class and then create singer-TAs and TA-singers. (define-class (singer) (parent (worker)) (method (sing) ’(tra-la-la)) ) (define-class (singer-TA) (parent (singer) (TA)) ) (define-class (TA-singer) (parent (TA) (singer)) ) > (define Matt (instantiate singer-TA)) > (define Chris (instantiate TA-singer)) > (ask Matt ’grade-exam) A+ 175 > (ask Matt ’sing) (TRA-LA-LA) > (ask Matt ’work) WHISTLE-WHILE-YOU-WORK > (ask Chris ’work) (LET ME HELP YOU WITH THAT BOX AND POINTER DIAGRAM) Both Matt and Chris can do anything a TA can do, such as grading exams, and anything a singer can do, such as singing. The only difference between them is how they handle messages that TAs and singers process differently. Matt is primarily a singer, so he responds to the work message as a singer would. Chris, however, is primarily a TA, and uses the work method from the TA class. In the example above, Matt used the work method from the worker class, inherited through two levels of parent relationships. (The worker class is the parent of singer, which is a parent of singer-TA.) In some situations it might be better to choose a method inherited directly from a second-choice parent (the TA class) over one inherited from a first-choice grandparent. Much of the complexity of contemporary object-oriented programming languages has to do with specifying ways to control the order of inheritance in situations like this. 176 Reference Manual for the OOP Language There are only three procedures that you need to use: define-class, which defines a class; instantiate, which takes a class as its argument and returns an instance of the class; and ask, which asks an object to do something. Here are the explanations of the procedures: ASK: (ask object message . args) Ask gets a method from object corresponding to message. If the object has such a method, invoke it with the given args; otherwise it’s an error. INSTANTIATE: (instantiate class . arguments) Instantiate creates a new instance of the given class, initializes it, and returns it. To initialize a class, instantiate runs the initialize clauses of all the parent classes of the object and then runs the initialize clause of this class. The extra arguments to instantiate give the values of the new object’s instantiation variables. So if you say (define-class (account balance) ...) then saying (define my-acct (instantiate account 100)) will cause my-acct’s balance variable to be bound to 100. DEFINE-CLASS: (define-class (class-name args...) clauses...) This defines a new class named class-name. The instantiation arguments for this class are args. (See the explanation of instantiate above.) The rest of the arguments to define-class are various clauses of the following types. All clauses are optional. You can have any number of method clauses, in any order. (METHOD (message arguments...) body) A method clause gives the class a method corresponding to the message, with the given arguments and body. A class definition may contain any number of method clauses. You invoke methods with ask. For example, say there’s an object with a (method (add x y) (+ x y)) clause. Then (ask object ’add 2 5) returns 7. Inside a method, the variable self is bound to the object whose method this is. (Note that self might be an instance of a child class of the class in which the method is defined.) A method defined within a particular class has access to the instantiation 177 variables, instance variables, and class variables that are defined within the same class, but does not have access to variables defined in parent or child classes. (This is similar to the scope rules for variables within procedures outside of the OOP system.) Any method that is usable within a given object can invoke any other such method by invoking (ask self message). However, if a method wants to invoke the method of the same name within a parent class, it must instead ask for that explicitly by saying (usual message args...) where message is the name of the method you want and args... are the arguments to the method. (INSTANCE-VARS (var1 value1 ) (var2 value2 ) ...) Instance-vars sets up local state variables var1, var2, etc. Each instance of the class will have its own private set of variables with these names. These are visible inside the bodies of the methods and the initialization code within the same class definition. The initial values of the variables are calculated when an instance is created by evaluating the expressions value1, value2, etc. There can be any number of variables. Also, a method is automatically created for each variable that returns its value. If there is no instance-vars clause then the instances of this class won’t have any instance variables. It is an error for a class definition to contain more than one instance-vars clause. (CLASS-VARS (var1 value1 ) (var2 value2 ) ...) Class-vars sets up local state variables var1, var2, etc. The class has only one set of variables with these names, shared by every instance of the class. (Compare the instance-vars clause described above.) These variables are visible inside the bodies of the methods and the initialization code within the same class definition. The initial values of the variables are calculated when the class is defined by evaluating the expressions value1, value2, etc. There can be any number of variables. Also, a method is automatically created for each variable that returns its value. If there is no class-vars clause then the class won’t have any class variables. It is an error for a class definition to contain more than one class-vars clause. (PARENT (parent1 args...) (parent2 args...)) Parent defines the parents of a class. The args are the arguments used to instantiate the parent objects. For example, let’s say that the rectangle class has two arguments: height and width: (define-class (rectangle height width) ...) A square is a kind of rectangle; the height and width of the square’s rectangle are both the side-length of the square: (define-class (square side-length) (parent (rectangle side-length side-length)) ...) 178 When an object class doesn’t have an explicit method for a message it receives, it looks for methods of that name (or default methods, as explained below) in the definitions of the parent classes, in the order they appear in the parent clause. The method that gets invoked is from the first parent class that recognizes the message. A method can invoke a parent’s method of the same name with usual; see the notes on the method clause above. (DEFAULT-METHOD body) A default-method clause specifies the code that an object should execute if it receives an unrecognized message (i.e., a message that does not name a method in this class or any of its superclasses). When the body is executed, the variable message is bound to the message, and the variable args is bound to a list of the additional arguments to ask. (INITIALIZE body) The body of the initialize clause contains code that is executed whenever an instance of this class is created. If the class has parents, their initialize code gets executed before the initialize clause in the class itself. If the class has two or more parents, their initialize code is executed in the order that they appear in the parent clause. 179 A&S Section 3.2 12 CS 61A Object-Oriented Programming — Below the line view This document documents the Object Oriented Programming system for CS 61A in terms of its implementation in Scheme. It assumes that you already know what the system does, i.e. that you’ve read “Object-Oriented Programming — Above the line view.” Also, this handout will assume a knowledge of how to implement message passing and local state variables in Scheme, from chapters 2.3 and 3.1 of A&S. (Chapter 3.2 from A&S will also be helpful.) Almost all of the work of the object system is handled by the special form define-class. When you type a list that begins with the symbol define-class, Scheme translates your class definition into Scheme code to implement that class. This translated version of your class definition is written entirely in terms of define, let, lambda, set!, and other Scheme functions that you already know about. We will focus on the implementation of the three main technical ideas in OOP: message passing, local state, and inheritance. Message Passing The text introduces message-passing with this example from Section 2.3.3 (page 141): (define (make-rectangular x y) (define (dispatch m) (cond ((eq? m ’real-part) x) ((eq? m ’imag-part) y) ((eq? m ’magnitude) (sqrt (+ (square x) (square y)))) ((eq? m ’angle) (atan y x)) (else (error "Unknown op -- MAKE-RECTANGULAR" m)))) dispatch) In this example, a complex number object is represented by a dispatch procedure. The procedure takes a message as its argument, and returns a number as its result. Later, in Section 3.1.1 (page 173), the text uses a refinement of this representation in which the dispatch procedure returns a procedure instead of a number. The reason they make this change is to allow for extra arguments to what we are calling the method that responds to a message. The user says ((acc ’withdraw) 100) Evaluating this expression requires a two-step process: First, the dispatch procedure (named acc) is invoked with the message withdraw as its argument. The dispatch procedure returns the withdraw method procedure, and that second procedure is invoked with 100 as its argument to do the actual work. All of an object’s activity comes from invoking its method procedures; the only job of the object itself is to return the right procedure when it gets sent a message. Any OOP system that uses the message-passing model must have some below-the-line mechanism for associating methods with messages. In Scheme, with its first-class procedures, it is very natural 180 to use a dispatch procedure as the association mechanism. In some other language the object might instead be represented as an array of message-method pairs. If we are treating objects as an abstract data type, programs that use objects shouldn’t have to know that we happen to be representing objects as procedures. The two-step notation for invoking a method violates this abstraction barrier. To fix this we invent the ask procedure: (define (ask object message . args) (let ((method (object message))) ; Step 1: invoke dispatch procedure (if (method? method) (apply method args) ; Step 2: invoke the method (error "No method" message (cadr method))))) Ask carries out essentially the same steps as the explicit notation used in the text. First it invokes the dispatch procedure (that is, the object itself) with the message as its argument. This should return a method (another procedure). The second step is to invoke that method procedure with whatever extra arguments have been provided to ask. The body of ask looks more complicated than the earlier version, but most of that has to do with error-checking: What if the object doesn’t recognize the message we send it? These details aren’t very important. Ask does use two features of Scheme that we haven’t discussed before: The dot notation used in the formal parameter list of ask means that it accepts any number of arguments. The first two are associated with the formal parameters object and message; all the remaining arguments (zero or more of them) are put in a list and associated with the formal parameter args. The procedure apply takes a procedure and a list of arguments and applies the procedure to the arguments. The reason we need it here is that we don’t know in advance how many arguments the method will be given; if we said (method args) we would be giving the method one argument, namely, a list. In our OOP system, you generally send messages to instances, but you can also send some messages to classes, namely the ones to examine class variables. When you send a message to a class, just as when you send one to an instance, you get back a method. That’s why we can use ask with both instances and classes. (The OOP system itself also sends the class an instantiate message when you ask it to create a new instance.) Therefore, both the class and each instance is represented by a dispatch procedure. The overall structure of a class definition looks something like this: (define (class-dispatch-procedure class-message) (cond ((eq? class-message ’some-var-name) (lambda () (get-the-value))) (...) ((eq? class-message ’instantiate) (lambda (instantiation-var ...) (define (instance-dispatch-procedure instance-message) (cond ((eq? instance-message ’foo) (lambda ...)) (...) (else (error "No method in instance")) )) instance-dispatch-procedure)) (else (error "No method in class")) )) 181 (Please note that this is not exactly what a class really looks like. In this simplified version we have left out many details. The only crucial point here is that there are two dispatch procedures, one inside the other.) In each dispatch procedure, there is a cond with a clause for each allowable message. The consequent expression of each clause is a lambda expression that defines the corresponding method. (In the text, the examples often use named method procedures, and the consequent expressions are names rather than lambdas. We found it more convenient this way, but it doesn’t really matter.) Local State You learned in section 3.1 that the way to give a procedure a local state variable is to define that procedure inside another procedure that establishes the variable. That outer procedure might be the implicit procedure in the let special form, as in this example from page 171: (define new-withdraw (let ((balance 100)) (lambda (amount) (if (>= balance amount) (begin (set! balance (- balance amount)) balance) "Insufficient funds")))) In the OOP system, there are three kinds of local state variables: class variables, instance variables, and instantiation variables. Although instantiation variables are just a special kind of instance variable above the line, they are implemented differently. Here is another simplified view of a class definition, this time leaving out all the message passing stuff and focusing on the variables: (define class-dispatch-procedure (LET ((CLASS-VAR1 VAL1) (CLASS-VAR2 VAL2) ...) (lambda (class-message) (cond ((eq? class-message ’class-var1) (lambda () class-var1)) ... ((eq? class-message ’instantiate) (lambda (INSTANTIATION-VARIABLE1 ...) (LET ((INSTANCE-VAR1 VAL1) (INSTANCE-VAR2 VAL2) ...) (define (instance-dispatch-procedure instance-message) ...) instance-dispatch-procedure))))))) The scope of a class variable includes the class dispatch procedure, the instance dispatch procedure, and all of the methods within those. The scope of an instance variable does not include the class dispatch procedure in its methods. Each invocation of the class instantiate method gives rise to a new set of instance variables, just as each new bank account in the book has its own local state variables. 182 Why are class variables and instance variables implemented using let, but not instantiation variables? The reason is that class and instance variables are given their (initial) values by the class definition itself. That’s what let does: It establishes the connection between a name and a value. Instantiation variables, however, don’t get values until each particular instance of the class is created, so we implement these variables as the formal parameters of a lambda that will be invoked to create an instance. Inheritance and Delegation Inheritance is the mechanism through which objects of a child class can use methods from a parent class. Ideally, all such methods would just be part of the repertoire of the child class; the parent’s procedure definitions would be “copied into” the Scheme implementation of the child class. The actual implementation in our OOP system, although it has the same purpose, uses a somewhat different technique called delegation. Each object’s dispatch procedure contains entries only for the methods of its own class, not its parent classes. But each object has, in an instance variable, an object of its parent class. To make it easier to talk about all these objects and classes, let’s take an example that we looked at before: (define-class (checking-account init-balance) (parent (account init-balance)) (method (write-check amount) (ask self ’withdraw (+ amount 0.10)) )) Let’s create an instance of that class: (define Gerry-account (instantiate checking-account 20000)) Then the object named Gerry-account will have an instance variable named my-account whose value is an instance of the account class. (The variables my-whatever are created automatically by define-class.) What good is this parent instance? If the dispatch procedure for Gerry-account doesn’t recognize some message, then it reaches the else clause of the cond. In an object without a parent, that clause will generate an error message. But if the object does have a parent, the else clause passes the message on to the parent’s dispatch procedure: (define (make-checking-account-instance init-balance) (LET ((MY-ACCOUNT (INSTANTIATE ACCOUNT INIT-BALANCE))) (lambda (message) (cond ((eq? message ’write-check) (lambda (amount) ...)) ((eq? message ’init-balance) (lambda () init-balance)) (ELSE (MY-ACCOUNT MESSAGE)) )))) (Naturally, this is a vastly simplified picture. We’ve left out the class dispatch procedure, among other details. There isn’t really a procedure named make-checking-account-instance in the implementation; this procedure is really the instantiate method for the class, as we explained earlier.) 183 When we send Gerry-account a write-check message, it’s handled in the straightforward way we’ve been talking about before this section. But when we send Gerry-account a deposit message, we reach the else clause of the cond and the message is delegated to the parent account object. That object (that is, its dispatch procedure) returns a method, and Gerry-account returns the method too. The crucial thing to understand is why the else clause does not say (else (ask my-parent message)) The Gerry-account dispatch procedure takes a message as its argument, and returns a method as its result. Ask, you’ll recall, carries out a two-step process in which it first gets the method and then invokes that method. Within the dispatch procedure we only want to get the method, not invoke it. (Somewhere there is an invocation of ask waiting for Gerry-account’s dispatch procedure to return a method, which ask will then invoke.) There is one drawback to the delegation technique. As we mentioned in the above-the-line handout, when we ask Gerry-account to deposit some money, the deposit method only has access to the local state variables of the account class, not those of the checking-account class. Similarly, the write-check method doesn’t have access to the account local state variables like balance. You can see why this limitation occurs: Each method is a procedure defined within the scope of one or the other class procedure, and Scheme’s lexical scoping rules restrict each method to the variables whose scope contains it. The technical distinction between inheritance and delegation is that an inheritance-based OOP system does not have this restriction. We can get around the limitation by using messages that ask the other class (the child asks the parent, or vice versa) to return (or modify) one of its variables. The (ask self ’withdraw ...) in the write-check method is an example. Bells and Whistles The simplified Scheme implementation shown above hides several complications in the actual OOP system. What we have explained so far is really the most important part of the implementation, and you shouldn’t let the details that follow confuse you about the core ideas. We’re giving pretty brief explanations of these things, leaving out the gory details. One complication is multiple inheritance. Instead of delegating an unknown message to just one parent, we have to try more than one. The real else clauses invoke a procedure called get-method that accepts any number of objects (i.e., dispatch procedures) as arguments, in addition to the message. Get-method tries to find a method in each object in turn; only if all of the parents fail to provide a method does it give an error message. (There will be a my-whatever variable for each of the parent classes.) Another complication that affects the else clause is the possible use of a default-method in the class definition. If this optional feature is used, the body of the default-method clause becomes part of the object’s else clause. When an instance is created, the instantiate procedure sends it an initialize message. Every dispatch procedure automatically has a corresponding method. If the initialize clause is used 184 in define-class, then the method includes that code. But even if there is no initialize clause, the OOP system has some initialization tasks of its own to perform. In particular, the initialization must provide a value for the self variable. Every initialize method takes the desired value for self as an argument. If there are no parents or children involved, self is just another name for the object’s own dispatch procedure. But if an instance is the my-whatever of some child instance, then self should mean that child. The solution is that the child’s initialize method invokes the parent’s initialize method with the child’s own self as the argument. (Where does the child get its self argument? It is provided by the instantiate procedure.) Finally, usual involves some complications. Each object has a send-usual-to-parent method that essentially duplicates the job of the ask procedure, except that it only looks for methods in the parents, as the else clause does. Invoking usual causes this method to be invoked. A useful feature To aid in your understanding of the below-the-line functioning of this system, we have provided a way to look at the translated Scheme code directly, i.e., to look at the below-the-line version of a class definition. To look at the definition of the class foo, for example, you type (show-class ’foo) If you do this, you will see the complete translation of a define-class, including all the details we’ve been glossing over. But you should now understand the central issues well enough to be able to make sense of it. We end this document with one huge example showing every feature of the object system. Here are the above-the-line class definitions: (define-class (person) (method (smell-flowers) ’Mmm!)) (define-class (fruit-lover fruit) (method (favorite-food) fruit)) (define-class (banana-holder name) (class-vars (list-of-banana-holders ’())) (instance-vars (bananas 0)) (method (get-more-bananas amount) (set! bananas (+ bananas amount))) (default-method ’sorry) (parent (person) (fruit-lover ’banana)) (initialize (set! list-of-banana-holders (cons self list-of-banana-holders))) ) On the next page we show the translation of the banana-holder class definition into ordinary Scheme. Of course this is hideously long, since we have artificially defined the class to use every possible feature at once. The translations aren’t meant to be read by people, ordinarily. The comments in the translated version were added just for this handout; you won’t see comments if you use show-class yourself. 185 (define banana-holder (let ((list-of-banana-holders ’())) ;; class vars set up (lambda (class-message) ;; class dispatch proc (cond ((eq? class-message ’list-of-banana-holders) (lambda () list-of-banana-holders)) ((eq? class-message ’instantiate) (lambda (name) ;; Instantiation vars (let ((self ’()) ;; Instance vars (my-person (instantiate-parent person)) (my-fruit-lover (instantiate-parent fruit-lover ’banana)) (bananas 0)) (define (dispatch message) ;; Object dispatch proc (cond ((eq? message ’initialize) ;; Initialize method: (lambda (value-for-self) ;; set up self variable (set! self value-for-self) (ask my-person ’initialize self) (ask my-fruit-lover ’initialize self) (set! list-of-banana-holders ;; user’s init code (cons self list-of-banana-holders)))) ((eq? message ’send-usual-to-parent) ;; How USUAL works (lambda (message . args) (let ((method (get-method ’banana-holder message my-person my-fruit-lover))) (if (method? method) (apply method args) (error "No USUAL method" message ’banana-holder))))) ((eq? message ’name) (lambda () name)) ((eq? message ’bananas) (lambda () bananas)) ((eq? message ’list-of-banana-holders) (lambda () list-of-banana-holders)) ((eq? message ’get-more-bananas) (lambda (amount) (set! bananas (+ bananas amount)))) (else ;; Else clause: (let ((method (get-method ’banana-holder message my-person my-fruit-lover))) (if (method? method) ;; Try delegating... method (lambda args ’sorry)))))) ;; default-method dispatch))) ;; Class’ instantiate ;; proc returns object (else (error "Bad message to class" class-message)))))) 186 UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division CS61A P. N. Hilfinger Highlights of GNU Emacs This document describes the major features of GNU Emacs (called “Emacs” hereafter), a customizable, self-documenting text editor. In the interests of truth, beauty, and justice—and to undo, in some small part, the damage Berkeley has done by foisting vi on an alreadyunhappy world—Emacs will be the official CS61A text editor this semester. Emacs carries with it on-line documentation of most of its commands, along with a tutorial for first-time users (see §7). Because this documentation is available, I have not attempted to present a complete Emacs reference manual here. To run Emacs, simply enter the command emacs to the shell. Within Emacs, as described below, you can edit any number of files simultaneously, run UNIX shells, read and send mail, and run the Scheme interpreter to execute your programs. As a result, it should seldom be necessary to leave Emacs before you are ready to logout and seldom necessary to create new windows. 1 Basic Concepts We’ll begin with some fundamental definitions and notational conventions. 1.1 Buffers, windows, and what’s in them At any given time, Emacs maintains one or more buffers containing text. Each buffer may, but need not, be associated with a file. A buffer may be associated with a UNIX process, in which case the buffer generally contains input and output produced by that process (see, for example, sections 8 and 10). Within each buffer, there is a position called the point, where most of the action takes place. Emacs displays one or more windows into its buffers, each showing some portion of the text of some buffer. A buffer’s text is retained even when no window displays it; it can be displayed at any time by giving it a window. Each window has its own point (as just described); when only one window displays a buffer, its point is the same as the buffer’s point. Two windows can simultaneously display text (not necessarily the same text) from the same buffer with 187 188 P. N. Hilfinger a different point in each window, although it is most often useful to use multiple windows to display multiple files. At the bottom of each window, Emacs displays a mode line, which generally identifies the buffer being displayed and (if applicable) the file associated with it. At any given time, the cursor, which generally marks the point of text insertion, is in one of the windows (called the current window) at that window’s point. 1.2 Commands At the bottom of Emacs’ display is a single echo area, displaying the contents of the minibuffer. This is a one-line buffer in which one types commands. It is, for many purposes, an ordinary Emacs buffer; standard Emacs text-editing commands for moving left or right and for inserting or deleting characters generally work in it. To issue a command by name, one types M-x (“meta-x”; this notation is described below) followed by the name of the command and RET (the return key); the echo area displays the command as it is typed. It is only necessary to type as much of the command name as suffices to identify it uniquely. For example, to run the command for looking at a UNIX manual entry—for which the full command is M-x manual-entry—it suffices to type M-x man, followed by a RET. All Emacs commands have names, and you can issue them with M-x. You’ll invoke most commands, however, by using control characters and escape sequences to which these commands are bound. Almost every character typed to Emacs actually executes a command. By default, typing any of the printable characters executes a command that inserts that character at the cursor. Many of the control characters are bound to commonly-used commands (see the quick-reference guide at the end for a summary of particularly important ones). At any time, it is possible to bind an arbitrary key or sequence of keys to an arbitrary command, thus customizing Emacs to your own tastes. Hence, all descriptions of key bindings in this document are actually descriptions of standard or default bindings. 1.3 Notations for special keys In referring to non-graphic keys (control characters and the like), we’ll use the following notations. ESC denotes the escape character. DEL denotes the delete character. On HP workstations, as we’ve set them up for this class, the ‘Backspace’ key has the same effect. SPC denotes the space character. RET denotes the result of pressing the ‘Return’ key. (Confusingly, the result of typing this into a file is not a return character (ASCII code 13), but rather a linefeed character (ASCII code 10). Nevertheless, Emacs distinguishes the two keys.) On the HP workstations, this is the wide key labelled “Enter” in the main section of the keyboard. LFD denotes the result of typing the linefeed key. On the HP workstations, this is the tall key labelled “Enter” in the numeric keypad at the far right of the keyboard. Highlights of GNU Emacs 189 TAB denotes the tab (also C-i) key. C-α denotes “control-α”—the result of holding down the Control (or Ctrl) key while typing α. M-α denotes “meta-α,” which one gets either by typing the two-character sequence ESC followed by α, or (on our HP workstations when running the X window system) holding down either Alt key while typing α. C-M-α denotes the result of typing the two-character sequence ESC C-α, or (on HP workstations when running X) holding down both Control and Alt simultaneously with typing α). 1.4 Command arguments Certain commands take arguments, and take these arguments from a variety of sources. Any command may be given a numeric argument. To enter the number comprising the digits d0 d1 · · · dn as a numeric argument (d0 may also be a minus sign), type either ‘M-d0 d1 · · · dn ’ or ‘C-ud0 d1 · · · dn ’ before the command. When using C-u, the digits may be omitted, in which case ‘4’ is assumed. The most common use for numeric arguments is as repetition counts. Thus, M-4 C-n moves down four lines and M-72 * inserts a line of 72 asterisks in the file. Other commands give other interpretations, as described below. In describing commands, we will use the notation ARG to refer to the value of the numeric argument, if present. When commands prompt for arguments, Emacs will often allow provide a completion facility. When entering a file name on the echo line, you can usually save time by typing TAB, which fills in as much of the file name as possible, or SPC which fills in as much as possible up to a punctuation mark in the file name. Here, “as much as possible” means as much as is possible without having to guess which of several possible names you must have meant. A similar facility will attempt to complete the names of functions or buffers that are prompted for in the echo line. 1.5 Modes The binding of keys to commands depends on the buffer that currently contains the cursor. This allows different buffers to respond to characters in different ways. In this document, we will refer to the set of key bindings in effect within a given buffer as the (major) mode of that buffer (the term “mode” is actually somewhat ill-defined in Emacs). A set of key bindings that simply modifies a few characteristics is called a minor mode. Emacs will automatically establish a mode for buffers containing certain files depending on the name of their associated file. Thus, buffers start out in ‘C’ mode for files whose names end in ‘.c’ or ‘.h’; ‘C++’ mode for .cc or .C; or ‘Scheme’ mode (see §9) for .scm. These modes affect the behavior of the TAB key, for example, causing program text to be indented according to the conventions for a particular programming language. The shell buffer runs in 190 P. N. Hilfinger Shell mode, which (among many other things) causes the RET key to send the last line typed to the shell. Files with unclassifiable names generally start in Fundamental mode. There is one useful minor mode that’s worth knowing about. M-x auto-fill-mode toggles (reverses the setting) of auto-fill mode, which by default is usually off. In auto-fill mode, lines get broken automatically as they are being typed when they get too long. When you are typing comments in C programs, auto-fill mode will automatically start a new comment on the next line when the current line gets near to filling up. 2 Important special-purpose commands C-g quits the current command. Generally useful for cancelling a M-x-style command or other multi-character command that you have started entering. When in doubt, use it. C-x C-c exits from Emacs. It prompts (in the echo area) if there are any buffers that have not been properly saved. C-x u undoes the effects of the last editing command. If repeated, it undoes each of the preceding commands in reverse order (there is a limit). This is an extremely important command; be sure to master it. This does not undo other kinds of commands; the cursor may end up at some rather odd places. C-l redraws the screen, and positions the current line to the center of the current window. 3 Basic Editing The simple commands in this section will enable you to do most of the text entering and editing that you’ll ordinarily need. Periodic browsing through the on-line documentation (see section 7.3) will uncover many more. 3.1 Simple text. To enter text, simply position the cursor to the desired buffer and character position (using the commands to be described) and type the desired text. Carriage return behaves as you would expect. To enter control characters and other special characters as if they were ordinary characters, precede them with a C-q. 3.2 Navigation within a buffer. The following commands move the cursor within a given buffer. Later sections describe how to move around between buffers. C-f moves forward one character (at the end of a line, this goes to the next). C-b moves backward one character. Highlights of GNU Emacs 191 M-f moves forward one “word.” M-b moves backward one word. C-e moves to the end of the current line. C-a moves to the beginning of the current line. C-M-f moves forward one Lisp (Scheme) S-expression. C-M-b moves backward one Lisp (Scheme) S-expression. M-a moves backward to next beginning-of-sentence. The precise meaning of “sentence” depends on the mode. M-{ moves backward to next beginning-of-paragraph. The precise meaning of “paragraph” depends on the mode. M-e moves to the next end-of-sentence. M-} moves to the next end-of-paragraph. C-n moves down to the next line (at roughly the same horizontal position, if possible). C-p moves up to the previous line. C-v scrolls the text of the current window up roughly one window-full (i.e., exposes text later in the buffer). If ARG is supplied, it scrolls up ARG lines. M-v scrolls the text of the current window down roughly one window-full (i.e., exposes text earlier in the buffer). If ARG is supplied, it scrolls down ARG lines. C-M-v scrolls up the text in another window (if any) roughly one window-full. If ARG is supplied, it scrolls up ARG lines. M-< moves to the beginning of the current buffer, after setting the mark (see §3.3) to the current point. If ARG is supplied, it moves to a point ARG/10 of the way through the buffer, instead of the beginning. M-> moves to the end of the current buffer. If ARG is supplied, it moves to a point ARG/10 of the way back from the end of the buffer, instead of the end. M-g goes to the line number given by the argument (prompts for a number in the echo line, if you haven’t supplied an argument). M-x what-line displays the number of the current line in the current buffer. 192 3.3 P. N. Hilfinger Regions In addition to a point (marked by the cursor in the current window), each buffer may contain a mark. Everything between the point and mark is called the current region. The current region typically delimits text to be manipulated by certain commands. C-@ sets the mark at the current point, and pushes the previous mark on a ring of marks. If ARG is present, it instead puts the point at the current mark and pops a new mark off this ring. C-SPC is the same as C-@. C-x C-x exchanges the point and the mark. M-@ sets the mark after the end of the next word. M-h sets the region (point and mark) around the current paragraph. C-x h sets the region (point and mark) around the entire current buffer. 3.4 Deletion DEL deletes the character preceding the cursor. At the beginning of a line, it deletes the preceding end-of-line character, thus joining the current and preceding lines. M-DEL deletes the word preceding the cursor. The deleted word moves to the kill buffer, described later. C-d deletes the character under the cursor (which can be the end-of-line). M-d deletes the word following the cursor. C-k deletes the rest of the line following the cursor. If the cursor is on the end-of-line, delete the end-of-line. The deleted line moves to the kill buffer. M-\ deletes all horizontal blank space on either side of the cursor. M-SPC deletes all but one horizontal blank space surrounding the cursor. C-x C-o on non-blank line, deletes all immediately following blank lines; on isolated blank line, deletes the line; on other blank lines, deletes all but one. C-w deletes everything between the point and the mark, moving the deleted text to the kill buffer. M-w copies everything between point and mark to the kill buffer, without actually deleting it. Highlights of GNU Emacs 3.5 193 Insertion and the kill buffer Several of the preceding commands mention the kill buffer. Text that is deleted is appended to the end of the current kill buffer, and can later be retrieved and inserted (“pasted” or “yanked”) elsewhere in the text (even in another buffer different from its original source). Normally, each time a command that does not append to the kill buffer is executed, the current kill buffer is saved in a ring of kill buffers, and the next deletion command starts with an empty kill buffer. Hence, to move a sequence of lines, one can issue a sequence of C-k commands, with no intervening commands, move to the desired destination, and yank them back (with C-y). C-y inserts the contents of the current kill buffer at the cursor, and moves cursor to end of inserted text. If a numeric value of ARG is supplied, inserts the ARG th most recent kill buffer in the ring. C-u C-y inserts current kill buffer, as for C-y, but leaves point unchanged. M-y when issued immediately after a C-y or M-y, deletes the text inserted by the C-y or M-y and substitutes the text from the next kill buffer in sequence in the kill ring. C-M-w causes the next command, if a kill command, to append to the end of previous kill buffer, rather than starting with a new one. This allows you, for example, to delete lines from several different places and then yank them back into one place. 3.6 Indentation Indentation generally depends on the mode of the buffer. When a buffer is associated with a ‘.scm’ file, in particular, it is by default in Scheme mode, in which the standard indentation referred to below is appropriate for Scheme source programs. TAB indents as appropriate for the current mode. In text files, this is just an ordinary typewriter-style tab command. In Scheme source files, it indents to the appropriate point for a standard set of indentation conventions. LFD is the same as RET TAB. Thus, if in typing in a Scheme program, you end each line with LFD instead of RET, your program will be indented as you enter it. M-; indents for a comment according to the current mode. In Scheme mode, this inserts ;. M-LFD when used inside a comment, will close the comment, if necessary, go to a new line, and start a properly-indented comment on that line. C-x TAB indents the current region “rigidly” by ARG spaces to the right (default 4). Negative arguments indent to the left. Tabs are correctly counted as the appropriate number of blanks. C-M-\ indents the current region according to the current mode. For an improperly-indented Scheme program, for example, this will correct all the indentation within the region. 194 3.7 P. N. Hilfinger Miscellaneous manipulations C-o inserts a newline after the cursor. This has the same effect as RET C-b (return and then back up one character). C-t transposes the character under the cursor with the preceding character. If an end-of-line is under the cursor, transposes the preceding two characters. M-t transposes the next word that begins left of the cursor with the word following. C-x C-t transposes the current and preceding lines. M-c capitalizes the next word (making all characters other than the first lower case). M-u converts the next word to all upper case. M-l converts the next word to all lower case. 3.8 Using the mouse When you are using Emacs with the X window system, you may use the mouse for simple positioning, text deletion, and text insertion. The three mouse buttons indicate the operation to be performed, and the mouse pointer (the slanting arrow, which we’ll usually just call the pointer ) usually indicates the position at which to perform it. In the following, the mouse buttons are called ‘LB’, ‘MB’, and ‘RB’, for left button, middle button, and right button. We’ll use C-B to indicate the result of holding down “Control” while pushing button B. LB places the point and mark at the position (and in the buffer) indicated by the pointer. You may then drag the mouse with LB depressed; this leaves the mark at the point you pressed LB and moves the point (and cursor) to the point at which you release LB, thus defining a new current region. RB first extends the current region to include all the text between the existing current region (or the point, if there is no current region) and the pointer. Next, it copies the text in the current region into the kill buffer, as for M-w above. When clicked twice for the same text, it also deletes the text. Finally, it also copies the text into something called the window-system cut buffer. Text in the window-system cut buffer may be “pasted” (inserted) by MB, as described below, not only into Emacs buffers, but also into any other X-windows buffer. MB pastes (inserts) text from the window system cut buffer at the point indicated by the mouse, and puts the cursor at the beginning and the mark at the end of the inserted text. This is somewhat like a mouse version of C-y. However, since it takes its text from the window system cut buffer (common to all windows on the screen), it allows the insertion of text from or to a window other than the one running Emacs. Highlights of GNU Emacs 195 C-LB Displays a menu of buffers to move to and allows you to select one (a mouse version of C-x b, described later). You may also use the mouse to select from menus that sprout from the menu bar at the top of your Emacs screen. The content of these menus depends on the kind of buffer you are in. 4 Context searches The search commands provide a convenient way to position the cursor quickly over long distances. One can search either for specific strings or for patterns specified by regular expressions. Both kinds of searches are carried out incrementally; that is, as you type in the target string or pattern, the cursor’s position is continually changed to point to the first point in the buffer (if any) that matches what you have typed so far. C-s searches forward incrementally. C-s C-s is as for C-s, but initialize the search string to the one used in the last string search. C-M-s is as for C-s, but searches for a regular expression. C-M-s C-s As for C-M-s, but initialize the search pattern to the last pattern used. C-r Search backward incrementally. C-r C-r As for C-r, but initialize the search string as for C-s C-s. M-x occur prompts for a regular expression and lists each line that follows the point and contains a match for the expression in a buffer. If you give an ARG, it will list that number of lines of context around each match. M-x count-matches prompts for a regular expression and displays in the echo area the number of lines following the point that contain a match for it. M-x grep prompts for arguments to the UNIX grep utility (which searches files for lines matching a given regular expression) and runs it asynchronously, allowing other editing while the search continues. See the command C-x ‘ in §10.1 for a description of how to look at each of the lines found in turn. M-x kill-grep stops a grep that was started by M-x grep. As you type the search string or pattern, the cursor moves in the appropriate direction to the first matching string, if any (specifically, to the right end of that string for a forward search and to the left end for a reverse search). By default, the case (upper or lower) of characters is ignored as long as the pattern you type contains no upper-case characters; ‘a’ will each match either ‘a’ or ‘A’. When the pattern contains at least one upper-case character, the search becomes case-sensitive; ‘a’ will not match ‘A’, nor will ‘A’ match ‘a’. If matching 196 P. N. Hilfinger fails at any point, you will receive a message to that effect in the echo area. While entering a search string or pattern, certain command characters have altered effects, as follows. RET ends the search, leaving the point at the string found, and setting the mark at the original position of the point. DEL undoes the effect of the last character typed (and not previously DELed), moving the search back to wherever it was previously. C-g aborts the search and returns the cursor to where it was at the beginning of the search. C-q quotes the next character. That is, it causes the next character to be added to the search string or pattern as an ordinary character, ignoring any control action it might normally have. Use this, for example to search for a C-g character or, in a regular-expression search, to search for a ‘.’. C-s begins searching forward at the point of the cursor for the next string satisfying the search string or pattern. If used in a reverse search, therefore, this reverses the sense of the search. If used at the point of a failing search, this starts the search over at the beginning of the buffer (“wraps around”). C-r is like C-s, but searches in the reverse direction, and can reverse the direction of a forward search. C-w adds the next word beginning at the cursor to the end of the search string or pattern. It follows that this has the effect of moving the cursor forward over that word. LFD adds the rest of the line to the end of the current search string or pattern. Other control characters terminate the search, and then have their ordinary effect. Ordinary searches (C-s and C-r) treat all ordinary characters as search characters. For regular-expression searches, several of these characters have special significance. See also the on-line documentation. . matches any character, except end-of-line. ^ matches the beginning of a line (that is, it matches the empty string, and only at the beginning of a line.) $ matches the end of a line. [· · ·] matches any of the characters between the square brackets. A range of characters may be denoted using ‘-’, as in [a-z0-9], which denotes any digit or letter. To include ‘]’ as one of the characters, put it first. To include ‘-’, use ‘---’. To include ‘^’, do not make it the first character. [^· · ·] matches any of the characters not included in the ‘· · ·’. Thus, if end-of-line is not one of the characters, this will match it. Highlights of GNU Emacs 197 * when following another regular expression, denotes zero or more occurrences of that regular expression—in other words, an optional occurrence. This character applies to the immediately preceding regular expression; it has “highest precedence.” There are special parentheses (see below) for cases where this is not what you want. Hence, the pattern ‘.*’ denotes any number of characters, other than end-of-line. The pattern ‘[a-z][a-z0-9 ]*’ denotes a letter optionally followed by string of letters, digits, and underscores. + is like ‘*’, but denotes at least one occurrence. Thus, ‘[0-9]+’ denotes an integer literal. ? is like ‘*’, but denotes zero or one occurrence. Hence, the pattern ‘[0-9]+,?’ denotes an integer literal optionally followed by a comma. \(· · ·\) groups the items ‘· · ·’. Hence, ‘\([0-9]+,\)?’ denotes an optional string consisting of an integer literal followed by a comma. The pattern ‘\(01\)* denotes zero or more occurrences of the two-character string ‘01’. \b matches the empty string at the beginning or end of a word. Hence, ‘\bring\b’ matches “ring” standing alone, but not “string” or “rings”. \B matches the empty string, provided that it is not at the beginning or end of a word. \| matches a string matching either the regular expression to its left or to its right. Use ‘\(\)’ to limit what regular expressions it applies to. Thus, ‘\bf[a-z]+\|[0-9]+’ matches any integer literal or any word that begins with ‘f’, while ‘\bf\([a-z]+\|[0-9]+\)’ matches any “word” that begins with ‘f’ and continues with either all letters or with all digits. \n where n is any digit, denotes the string that matched the pattern within the nth set of ‘\(\)’ brackets in the current regular expression. Thus, ‘\b\([0-9]+\), *\1’ matches any integer literal that is followed by a comma, an optional space, and a repetition of the same literal; it matches “23, 23” and “10,10”, but not “23, 24”. 5 Replacement The following commands allow you to do systematic replacement of one string or pattern with another within a given buffer. M-% performs a query-replace operation. It prompts for a search string and a replacement string. Terminate each of the two with a RET. The command will then display each instance of the search string found, and prompt for its disposal. The options are described below. If ARG is supplied, it will only match things surrounded by word boundaries, so that if the search string is “top”, there will be no replacement inside the string “stop” or “topping”. M-X query-replace-regexp is the same as M-%, but replaces patterns designated by regular expressions, rather than just simple strings. The replacement string may contain instances of ‘\n’, for n a digit, which, as described in the section on regular expressions, 198 P. N. Hilfinger denotes the string matched by the nth regular expression in ‘\(\)’ braces in the search string. Thus, for example, the search pattern ‘(\([a-z ][a-z0-9 ]+\))’ with the replacement pattern ‘[\1]’ will replace each C identifier surrounded by parentheses by the same identifier surrounded by square brackets. By default, the replacement will preserve the case of the letters replaced if the search string or pattern has no upper-case letters, and otherwise will use the case supplied in the replacement string. At each instance of the search string or pattern, you are prompted for an action. Here are some common ones. SPC replaces the indicated occurrence and goes to the next. DEL keeps the indicated occurrence unchanged and go to the next. RET exits with no further replacements. , makes one replacement, but waits for another SPC or DEL before moving to the next match. . makes one replacement and then exits. ! replaces all remaining occurrences without prompting again. ? prints a help message. C-r enters a recursive edit level. That is, you are put back in ordinary Emacs at the point of the current occurrence and can edit in the usual manner. Typing C-M-c then goes back to the query-replace command. y same as SPC. n same as DEL. q same as RET. In addition to replacement, there are two often-useful commands for deleting selected lines. M-x delete-matching-lines prompts for a regular expression and deletes (without prompting) each line after the point that contains a match for it. M-x delete-non-matching-lines prompts for a regular expression and deletes each line after the point that does not contain a match for it. 6 Files, buffers, and windows Each buffer has a name. By default, buffers that are associated with particular files have the name of that file (not including the name of the directory containing it), possibly followed by a number in angle brackets to distinguish multiple files (from different directories with the same name. Highlights of GNU Emacs 6.1 199 Loading into and storing from buffers C-x C-f prompts for a file name and sets the current window to displaying that file in a buffer having the same name. If a buffer displaying that file already exists, this command merely switches the window to that buffer. If the file does not exist, the buffer is initially empty. The buffer is subsequently associated with the file. This process is called finding the file. C-x 4 C-f prompts for a file name, goes to the next window on the screen (creating a new one, if there is only one), and then acts like C-x C-f. C-x C-s saves the current buffer in its associated file, if the buffer has been modified. If the file being saved exists, then the old version is first renamed to have a tilde (~ ) appended to its name, if no such file yet exists. C-x C-w prompts for a file name and saves the current buffer into that file. Generally, it is preferable and safer to use C-x C-f or C-x 4 C-f and then use C-x C-s, but sometimes this command is handy. C-x i prompts for a file name and inserts that file at the point. It does not associate the inserted file with the current buffer. M-x revert-buffer throws away the contents of the current buffer and restores the contents of the associated file. It will ask you to confirm these actions before taking them. 6.2 Manipulating buffers and windows C-x o makes another window on the screen (if any) the current window. C-x 0 deletes the current window, expanding another window to take its place. The buffer being displayed in the current window is not affected. C-x 1 makes the current window the only window on the screen, deleting all others. The buffers being displayed in the deleted windows are not affected. C-x 2 splits the current window into two vertically (one on top of the other), both displaying the same buffer. C-x 3 splits the current window into two horizontally (beside each other), each displaying the same buffer. C-x b prompts for a buffer name and switches the current window to that buffer. When trying to move to a buffer associated with a file, it is better to use the file finding commands. C-x C-b lists the active buffers in a window. 200 P. N. Hilfinger C-x k prompts for a buffer name and deletes that buffer, displaying some other buffer in the current window. You will be warned if the contents of the buffer have been modified and not yet saved. 6.3 Auto-saving and recovery Buffers that are associated with files are periodically saved (“auto-saved”) in files whose names begin and end with ‘#’. After a crash, you can return yourself to the point at which the last auto-save of a given file took place by using the following command in place of C-x C-f or C-x 4 C-f. M-x recover-file prompts for a file name, F . It then tries to recover the contents of that file from an auto-save file (named #F #) in the same directory, if such a file exists and is younger than the any file named F in the directory. After completing this command, C-x C-s will save the recovered file to F . 7 7.1 On-line documentation UNIX documentation Emacs has a simple interface to the standard UNIX ‘man’ command, which provides documentation to UNIX commands: M-x manual-entry prompts for a topic (a UNIX command or subprogram name, usually), and displays the man page for it, if any, in a buffer. The buffer is a perfectly ordinary buffer; you may put the cursor in it and move around using ordinary Emacs navigational commands. 7.2 Basic Emacs help The help command, C-h, provides a variety of useful documentation. The character following C-h indicates the specific kind of service desired; the descriptions of several of these follow. C-h a prompts for a pattern (regular expression) and displays a buffer containing all commands whose name contains a match to that pattern, together with a short description and the key sequence to which the command is bound, if any. C-h b displays a buffer containing all bindings of commands to keys. The display is in two parts: the global bindings that apply by default in any buffer, and the local bindings that apply only when one is in the current buffer, and override any global binding in that buffer. C-h f prompts for a function name and then displays its full documentation in a buffer. C-h C-h documents the help command itself. C-h i runs the ‘info’ documentation reader (see below). Highlights of GNU Emacs 201 C-h k prompts for a command key sequence and describes the function invoked by that sequence. C-h m prints documentation about the mode of the current buffer. C-h t puts you into an Emacs tutorial. C-h w prompts for a function name and tells what key, if any, invokes it. 7.3 The info browser The key sequence C-h i invokes the documentation browsing system, info. Actually, this is little more than a buffer with some special bindings to the keys. Aside from the special bindings, the ordinary Emacs commands will work while inside the info buffer. At any time, the info buffer, whose name is *info*, contains a node, a section of text documenting something. These nodes are connected to each other in such a way that one can move quickly from one node to another that covers a related topic. Some nodes contain menus, indicated by lines that begin * Menu: The lines after this give the names of other nodes, and descriptions of their contents. One such entry reads as follows. * Commands:: Named functions run by key sequences to do editing. The word(s) between the asterisk and the double-colon name another node. The following key commands, defined only when in the buffer *info*, allow one to move through the documentation. They are only a few of the ones provided. m prompts for the name of a node from the menu in the current buffer and displays that node. You need only enter enough to identify the desired entry unambiguously; case is ignored. f follows a cross-reference. Cross references are indicated in the text of a node by a phrase of the form “* Note foo::”. One follows them by typing ‘f’ followed by the name (foo) of the referenced node, as for the ‘m’ command. l goes back to the last-visited node. u goes up to the parent of this node. The definition of parent is actually arbitrary, but is usually a node that contains the current one in its menu. d returns to the top (initial) node of the Info system. q suspends the browser and goes back to where you were when you issued C-h i. . returns to the beginning of the text of the current node. ? furnishes help about the browser commands. 202 8 P. N. Hilfinger The shell It is possible to run a UNIX shell under Emacs, and this allows any number of useful effects. The command M-x shell moves to a buffer named *shell* that is running a UNIX shell (creating it if necessary). Anything typed into this buffer is sent to the shell, just it would be outside of Emacs. Any output produced as a result of the commands sent to the shell is placed at the end of the shell buffer. Because the shell is running in an Emacs window, the contents of the shell can be edited and navigated freely, and the entire record of the input and output to the shell is available at all times. A few keys have slightly different-from-usual meanings in the shell buffer. RET sends whatever line the cursor is on to the shell and moves to the end of the shell buffer. Hence, one can repeat a command by placing the cursor anywhere in it and typing RET. TAB attempts to complete the immediately preceding file name. C-c C-c is the same as a single C-c outside Emacs. C-c C-d is the same as C-d (end-of-file) outside Emacs. C-c C-z is the same as C-z outside Emacs. C-c C-u kills the current line of input to the shell. It is sometimes useful to run a single shell command over a region of text in a buffer. M-| prompts for a shell command and executes it, giving the current region as the standard input. If the M-| is preceded by C-u, the output of the command replaces the region. Otherwise, the output goes to a separate buffer. For example, to sort the lines in the current region, enter the command C-u M-| sort. 9 Running Scheme under Emacs The best way to run Scheme from a workstation is to do so through Emacs. Just as you can create an Emacs buffer for communicating with a UNIX shell (§8), you can also do so to communicate with a Scheme interpreter. Not only can you interact with the interpreter, but you can also feed files or definitions that you are editing to a running interpreter conveniently without having to load them explicitly. The command M-x run-scheme moves to a buffer named *scheme* that is running the Scheme interpreter, creating this buffer if necessary. Each line that you type into this buffer gets sent to the interpreter, just as if you had typed it in while running the interpreter outside of Emacs. Any output from the interpreter in response to your input is appended to the *scheme* buffer. The usual way to create and execute a Scheme program is as follows. Highlights of GNU Emacs 203 • Using Emacs, create a file to contain your program (or load one that you’ve already started) using C-x C-f or C-x 4 C-f; let’s suppose the file is named something.scm (so that within Emacs, it lives in a buffer of the same name). We have configured Emacs so that any file ending in .scm gets edited in Scheme mode, which gives a special meaning to the keys TAB, LFD, and others described below. • Edit or add to your file as needed. When typing definitions into the Emacs buffer for something.scm, using the TAB key at the beginning of each line will automatically indent that line properly. Alternatively, you can end each line by typing LFD instead of RET; in Scheme mode, LFD is short for RET TAB. If in the process of editing the buffer, you mess up the indentation of a definition, place the cursor at the beginning of the definition (on or before the opening ‘(’) and type M-C-q, which will correctly indent the entire definition. • Make sure you have a Scheme buffer (named *scheme*) running under Emacs (M-x run-scheme) will create one if you don’t). • In the buffer for something.scm, type C-c M-l to load your program into the running Scheme interpreter. Emacs will ask you for a file name; just type RET, which will use something.scm. If you haven’t saved your changes to something.scm, Emacs will ask if it should do it for you. The effect of C-c M-l is to send the command (load "something.scm") to the Scheme interpreter and also to put the cursor in the *scheme* buffer, ready to enter Scheme expressions. You’ll see the usual response to the load command in the *scheme* buffer. • Sometimes—especially when you are correcting a file whose contents you’ve already loaded into Scheme—it is convenient to send just a single revised definition to the Scheme interpreter. To so do, place the cursor at the beginning of the definition (on or before the opening ‘(’) and type C-c M-e. This also puts you into the Scheme buffer. Here is a concise summary of the Scheme-related commands. These commands are also available from the menu bar. With the exception of M-x commands, all of these commands are in effect only in buffers that are in Scheme mode (normally, those containing files whose name ends in .scm). M-x run-scheme when used for the first time, creates a buffer named *scheme* and runs the Scheme interpreter in it, displaying input from you and output from the interpreter. If the buffer already exists, this command simply moves to that buffer. C-c C-z puts the cursor in the *scheme* buffer. C-c M-e sends the definition after the cursor to Scheme (that is, it copies it the *scheme* buffer and then sends it to the Scheme interpreter that attached to that buffer). The command also places the cursor at the end of the *scheme* buffer. C-c C-e is the same as C-c M-e, but leaves the cursor where it is. 204 P. N. Hilfinger C-c M-l loads an entire file into Scheme Prompts for a file name; the default is the current buffer’s file. Puts the cursor at the end of the *scheme* buffer. C-c C-l is the same as C-c M-l, but leaves the cursor where it is. C-c M-r sends all the text in the current region to Scheme and puts the cursor at the end of the *scheme* buffer. C-c C-r is the same as C-c M-r, but leaves the cursor where it is. M-C-q indents the definition after the cursor according to the usual rules for indenting Scheme expressions. M-C-\ indents all Scheme expressions in the current region. TAB indents the current line of Scheme code as appropriate for the surrounding context. LFD is the same as RET TAB. 10 Compiling, debugging, and tags [This section is not relevant to CS61A.] Emacs provides rather nice ways of compiling programs, correcting any compilation errors, and debugging the results. It is so much more convenient than entering compilation commands directly from a shell that there is no excuse not to use it. 10.1 Compilation M-x compile prompts for a shell command, and then executes that command in a special buffer, named *compilation*. The current file at the time the M-x compile is issued determines the directory in which the shell command executes. The default command is simply make -k. Assuming you follow the convention of putting an appropriate make input file named makefile or Makefile in each source directory, this command will generally do the right thing. While the compilation proceeds, you are free to edit or use the *shell* buffer. C-x ‘ finds the next error message in the buffer *compilation* (if any), finds the source files and line referred to by the error message, and displays the error message in one window and the source file in another. Thus, after a compilation is complete (actually, even while it proceeds), you can step through the error messages produced, going automatically to the offending points in the source file so that they can be corrected. The buffer *compilation* also contains the output from the M-x grep command described in §4. M-x kill-compiler cancels a compilation started by M-x compile, if any. Highlights of GNU Emacs 10.2 205 Using GDB under Emacs [This section is not relevant to CS61A.] The GNU debugger, GDB, is an interactive sourcelevel debugger for C and several other languages. It can be run under Emacs, which provides a few rather nifty additional features. Full on-line documentation of gdb is available using the C-h i command in Emacs. The command M-x gdb will prompt for an executable file name, and then run GDB on that file, displaying the interaction in a buffer that acts much like a shell buffer described previously. Within that buffer, however, several commands have a slightly different meaning. In addition, whenever GDB displays the current position in the program (for example, after a step, at a breakpoint, or after an interrupt), Emacs will try to display the indicated source file and line in another window, with an arrow (‘=>’) pointing at the corresponding line in the source text (this arrow is not actually in the file being displayed). The following commands are peculiar to GDB buffers. C-c C-n performs a GDB ‘next’ command (step to next line in the source program). C-c C-s performs a GDB ‘step’ command (step to next line in the source program to be executed, stopping at the beginning of any procedure that gets called.) C-c C-i performs a GDB ‘stepi’ command (step to next machine-language instruction—not usually used unless you are programming in assembly language. C-c < performs a GDB ‘up’ command (go up to procedure that called current one). C-c > performs a GDB ‘down’ command (opposite of ‘up’). C-c C-r performs a GDB ‘finish’ command (continues from last breakpoint). C-c C-b set a breakpoint at the current position in the program (as indicated by the position of the ‘=>’ arrow). C-c C-d delete a breakpoint (if any) at the current position in the program (as indicated by the position of the ‘=>’ arrow). In addition, within any source file buffer, there is the following command. C-x SPC puts a break point at the point in the program indicated by the cursor. 10.3 Tags In UNIX terminology, a tag table is an index that tells how to find the definition of any certain identifiers (‘tags’) defined in some collection of source files. In effect, it provides a smart, multi-file search that is particularly useful when navigating in non-trivial directories of source files. Typically, you set things up by going into the directory containing the source text to be indexed and issuing the UNIX command etags options files 206 P. N. Hilfinger where files is a list of all the source files that need to be indexed. This creates a file named ‘TAGS’ containing the tag table. For C programs, the tags are the names of functions defined in the named source files. The -t option causes etags to record typedef declarations as well. The tag table produced is organized in such a way that simple edits to a source file will not invalidate it. The following Emacs commands deal with tag tables. M-x visit-tags-table prompts for the name of a tags table file, and uses its contents in future tag-related searches. M-. prompts for a tag and then positions the current window in the file containing its first definition and puts the cursor on that definition. You may also give a null response (just RET), in which case the word before or around the point is used as the tag. C-u M-. finds the next alternate definition of the last tag specified. C-x 4 . is the same as M-., but displays the text containing the tag in the other window instead of the current one. M-x tags-search prompts and searches for a regular expression as for C-M-s, but is does a non-incremental search through all the files given in the currently-visited tag table. M-x tags-query-replace acts like M-Q, but looks through all the files given in the currentlyvisited tag table. M-, restarts the last tags-search or tags-query-replace from the current location of the point. M-x tags-apropos prompts for a regular expression and displays a list of all tags in the currently-visited table that match it. 11 But wait; there’s more! As indicated at the beginning, this is not a complete reference manual. It has not covered scrolling sideways, tab setting, the mail system, the Emacs internal Lisp dialect, automatic abbreviation, the spelling checker, the directory editor, the change-log editor, or how to replace all groups of lines of your program that are indented more than ARG spaces by ‘. . .’1 . You can learn about these and other topics by using C-h i. You might also try typing C-h f SPC C-x o, which creates a buffer containing the names of all Emacs functions and then puts the cursor there so that you can scroll through and look for likely-sounding names. Just use it. Every session is an adventure. 1 You probably think I’m kidding, don’t you? Guess again. GNU Emacs Quick Reference Guide for CS61A C-SPC M-@ M-h Bullets (•) mark a suggested starting set of commands. Daggers (†) denote key bindings that are not standard in GNU Emacs. ARG denotes the prefix numeric argument (entered with C-u or M-digit). The notation ‘C-x’ means “control-x”, the result of holding down the control key while typing x. ‘M-x’ means “meta-x”, the result of holding down the ‘Meta’, Alt, or ¦ key (depending on keyboard) while typing x. If you are not using a window system or have a keyboard without these keys, the sequence of two characters ESC x is equivalent. The notation ‘C-M-x’ is equivalent to holding down both control and meta keys while typing x, or of typing the two characters ESC C-x. C-x h Cursor motion. C-f C-b M-f M-b C-e C-a C-M-f C-M-b M-e M-[ M-a M-] Forward character.• Backward character.• Forward word.• Backward word.• Forward to end of line.• Backward to start of line.• Forward S-expression.• Backward S-expression.• Forward sentence. Forward paragraph. Backward sentence. Backward paragraph. Next line.• C-n C-p Previous line.• M-< Beginning of buffer.• M-> End of buffer.• C-v Scroll text up one screen (or ARG lines).• M-v Scroll text down (or ARG lines).• M-g Go to line number ARG.† M-x what-line Display line number. C-M-v Scroll other window up one screen (or ARG lines). Marking regions of text C-@ C-x C-x Set mark at point.• Exchange mark and point.• Same as C-@. Set mark after end of next word. Set mark and point around current paragraph. Set mark and point around current buffer. Deletion and yanking DEL M-DEL C-d M-d C-k C-w M-w M-\ M-SPC C-x C-o C-M-w C-y C-u C-y M-y M-w Delete character before cursor.• Delete word before cursor and add to kill buffer.• Delete character at cursor.• Delete word at and after cursor and add to kill buffer.• Delete to end of line and add to kill buffer.• Delete current region, and add to kill buffer.• Copy current region to kill buffer without deleting.• Delete surrounding blanks and tabs. Delete all but one surrounding blank. Delete all but one surrounding blank line. Cause next command, if a kill, to append to previous kill buffer, instead of new one. Insert text from kill buffer at point.• Insert text from kill buffer at point without moving point. Replace preceding C-y text with next most recent kill buffer. Copy region to kill buffer, no deletion. Indentation TAB LFD M-; M-LFD C-x TAB C-M-\ Indent according to mode.• Same as RET TAB. Indent and start comment. Continue comment on next line. Indent region rigidly by ARG. Indent region according to mode.• Search C-s C-s C-s C-r 207 Search forward.• Same as C-s with last string.• Search backward.• C-r C-u M-x M-x M-x C-r Same as C-r with last string.• C-s Search forward for regular expression. occur Display lines matching a regular expression. grep Display results of UNIX grep utility. count-matches Miscellaneous editing C-o C-t M-t C-x C-t M-u M-l M-c The following subcommands are valid during a search. RET DEL C-g C-s C-r C-q C-w LFD End search.• Undo effect of last search character typed.• Abort search.• Search for next match forward.• Search for next match backward.• Quote next character. Extend search string with next word. Extend search string with rest of line. C-x C-x C-x C-x C-x M-x Query replace.• M-% M-x delete-matching-lines M-x delete-non-matching-lines During a query-replacement, the following are valid responses to prompts. C-r Make replacement and go to next.• Skip replacement and go to next.• End replacement.• Replace all remaining instances without asking.• Enter recursive edit; return with C-M-c. Regular expressions . ^ $ [...] [^...] * + ? \c \b \B \| \(...\) Match any character.• Match at start of line.• Match at end of line.• Match any character in the ‘...’.• Match any character except those in ‘...’.• Match 0 or more of pattern to left.• Match 1 or more of pattern to left. Match 0 or 1 of pattern to left. Quotes c, except for the following. Match at beginning or end of word. Match except at beginning or end of word. Match either pattern to left or right. Grouping. Insert newline after cursor. Transpose characters. Transpose words. Transpose lines. Convert whole word to upper case. Convert whole word to lower case. Capitalize word. Files Replacement SPC DEL RET ! Match copy of whatever matched nth group. \n C-f Find file; load if needed.• 4 C-f Find file in other window.• C-s Save file.• Write to explicitly-named file. C-w i Insert file at cursor. recover-file Recover file after disaster from autosave file. M-x revert-buffer Throw away changes to buffer and restore from file. Buffers and windows C-x C-x C-x C-x C-x C-x C-x C-x o 1 2 b 0 3 C-b k Put cursor in other window.• Grow current window to full screen.• Split current window vertically.• Put named buffer in window.• Remove current window. Split current window horizontally. List all buffers. Delete buffer. Shells M-x shell Run UNIX shell in a buffer.• M-| Execute single shell command on region. With ARG, replaces region. Commands active in shell buffers: RET TAB C-c C-c 208 Send current line to shell.• Complete preceding file name.• Send interrupt to shell.• C-c C-u C-c C-z C-c C-d Erase current input line.• Send stop signal to shell.• Send EOF to shell. C-x SPC C-c C-i Help and documentation Scheme M-x run-scheme Run Scheme interpreter in buffer *scheme*.• C-c C-z Put the cursor in buffer *scheme*.• C-c C-e Send definition to *scheme*. C-c M-e Same as C-c C-e C-c C-z. C-c C-l Load file into *scheme*. C-c M-l Same as C-c C-l C-c C-z.•† C-c C-r Send current region to *scheme*. C-c M-r Same as C-c C-r C-c C-z. M-C-q Indent Scheme expression.• M-C-\ Indent current region. TAB Indent the current line.• LFD Same as RET TAB. Compilation, debugging, and tags M-x compile Execute command (by default, make) asynchronously. C-x ‘ Position to next error or next line found by M-x grep command. M-x kill-compiler Stop active compile. M-x visit-tags-table Specify file containing tags produced by etags. M-. Display source for given tag. C-u M-. Find next alternate definition for last tag. C-x 4 . Display source for tag in other window. M-x tags-search M-x tags-query-replace Look for pattern in all files named in tags table. M-x tags-apropos Display matching tags. M-x gdb Run GNU debugger on file. M-x manual-entry UNIX man page for given topic. C-h a Look up names of matching Emacs commands.• C-h b Display key bindings.• C-h f Help for M-x function.• C-h C-h Help for C-h.• C-h i Run info browser.• C-h k Help for key.• C-h m Help for current mode. C-h t Tutorial. C-h w Key containing function. Inside an *info* buffer (result of C-h i), the following are defined. m l ? u n q . d C-s C-n < > C-r Select menu item.• Go to last-visited node.• Get help for browser.• Go to node’s parent.• Go to next node in sequence.• Leave browser.• Go to top of node. Go to top-level node. Mouse commands Left, middle, and right buttons are LB, MB, and RB. LB Put cursor at mouse. Dragging marks region.• MB Paste text from window-system cut buffer at mouse.• RB Extend region to pointer and copy into cut and kill buffers. Clicking twice deletes region.• C-LB Select a buffer. Commands valid in gdb mode. C-c C-c C-c C-c C-c In any source file, sets a break point. Stepi. Step. Next. Up stack. Down stack. Finish. 209 !#" $ %'&()*&+ , $-." givih7h:wCjlh7k5jl=@9:?B67AmUPKMN AM0 /1p 032547678:9<;>/>oY=@h7h7?B;nxyAC=Eh:h:DzyolF58:DPGH0IkV=@pP9P0I?J03K{?JO 670I67N KLM?J0INPOP=@8RQS|1Ll67N7h:h:9<;iqrUPh7TVgl47UP?JN76Bk56EDP=VW:N72547=V}R67A =@N<8 /1=@=VAYX[Z]\J^3_a`Jststbdh7h7cfeT7~h7hP/l5W:UR=@uS=@6P?JA =T@8!h oYsthPh7gi85h7URUP67}!8BAW:?J=ED />Llh7h7glgl6767NP?BACAmW:UP=@N 679 oY;nhRh:l Ph7?Jx{=E0ID W:K{67N sth7h:T7GHhP567PN7Am9 ACK{67N td\J^dJ_ad\_a`_:>m`JbC`ll`EdmbC_y>^S ÚÎÛ-Ü£ÝÞÜ£Ý ¦ 7@J 5f¡£¢5¤P¤P¥ ß3ë¾àmáÒìâ ã³ímäfî åfâ æaí áÒç çîaãCï à'ãdðPèÓñ³æ[èÓò èÓîó]èÓîèyèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèyèyèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèyèyèÓèÓèÓèÓèÓèÓèÓèÓèêèêôé ¦]§H¨¨©«ª¬ qÃn®:¸ À:¯·Æ°±ÅI¯³»B²PÀ:´E·E°¶Ç7µ»B·E·E¸¯i¹E¯S5º¼Ád®:»¾¯³Ãn½5¯E¯m¿7h1À:5¸ ÁdÀ:®:·¾¯³Ãn½5¯S¯iº±¸IÁmºl°±¸ »²5µ±º¸ µd´E»JÀHµ±¸IÁ³´B»BÂiÅ µ±È®:¯º±Ám´E²:²P°±´E¯S·E½°d»B»BÃtÀ7½ Ä ëëë èèè é#ô*ë ùññm÷Sîãdó1àmá áõ õ õ±áÒàmøç ãCáÒçà èÓæöõèÓàfèÓèÓäÌèyèyá îèÓèÓâ óèÓèÓèÓèÓç àfèÓèÓãCú èÓèÓãCûdèÓèÓ÷èÓèÓèÓèÓèÓèyèyèyèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèyèyèyèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèêèêèêôôô ²:ÅI»B°±À:´E·E²PÇ7¯³»B°±Å·EÈ£¯Éµd¸ »BÀV¸¹EÅ Ä[¯³°±À@¯Sµ±Ám¯SÇ:½£°dº¶ËV¸ ¹Eȯ-s̽5Ç:¸I»BÈÅ ¯SÁC~µÉ¯³Í]´B¸IÂƺµ±@®:µ±¯«¯³¯³~Å ¯-¸Iº¶²ÊTE°S²:hl°±»B´EÀ7·E½.°d»BÃns̯³Ãn°d»B¸ À:ÅI½· é«ü éSîaè øë ç æ õ ß3úVä æî ãCàmàáÒçímþ î î àmâÒáÒöÎç ãCàfèÓöÎèyèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèyèyèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèyèyèÓèÓèÓèÓèÓèÓèÓèÓèêèêýý T@ÁmÅ»f¯SȾ»B°1V»BÇ7À7º±½º¶Ãº¶»B¸ ÃnÀh£²:Å ¯iw[µ¼º¶¯³ÍûE»BºÆÀ@µ±½5¸I¯SÁ³º¶º]¸ ·E»BÀ:À7¯S½¼½-¯³µ±Í´Î®7½5»f¸ ÑR¹E¯³¯°±¯³»BÀ@Àϵ1¯mÍÐ:»fÁmÈ5¯³º{²5µ±µ±¸´n´EÀ7´E»B°±Å Ã È éSéSèè éô ÿì áÒòfò ç î á âî ö àfãdõ á æ õ îMáÒç õãCàfàfäÌö1æèÓã èÓó]èÓó]èÓî àmèÓáÒöÓèÓèÓèÓèyèyèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèyèyèÓèÓèÓèÓèÓèÓèÓèÓèêèêýý ¯mÁmÐ5Å Ç7²:½5°±¸¯SÀ:º±·>º¶¸ ´E¸ ÃnÀ7º³²Ph¯³°dj-»Jµ±Í]¸ ¹E¸I½5¯E¯{FB¹JÇ:»BÀ7°±ÁC¸ ¯mµ±µ¸ ´EÈrÀ7´B»BÂ:ÅÒF@²:»B°±´EÀ7·E½t°d»BÃnÃn¯Sº±Ãnº±»B¸ À:·E·1¯M²7²7»B»E°dº±»Eº¶¸½5À:¸ ·>·Eúµº³ÈVFSÅ ¸¯SÀ5º³Ä F ô ôSõ è ëöÒç æÓRæãCõ àfâÒæç õ î SáúÒî ö>ö fèÓö÷SèÓàmèyá õ èÓæaáÒèÓç æ èÓèÓî èÓ÷ ï èÓãCèÓâÒäfèÓö èyõ èÓàfèÓärèÓâ î èÓûCèÓç ãCèÓàföèÓèÓèÓèyèyèÓèÓèÓèÓèÓèÓèÓèÓèè ¿7qÀ7®:½¯ÌÁm¸ À@´Eµ±ÀV°±¹E´5¯³½5À:Ç7¸ ¯³ÁCµ±À@¸ µ]´EÀ¼¯mÐ5´B²:ÑR°±¯³¯S°dº±ºMº¶¸ »i´EÀ¼Ë:°±¸ À<¸ ¯mÂ5®:Ád®:¸Iº¯³µ±Ãn´E°±¯EÈnh ´Bµ±®:¯rÅI»BÀ:·EÇ7»B·E¯l»BÀ7½ ôSôSôSèèè éô ñmáÒøç ãCö á â î ãCõ âÒçûààmîõáÒàú5ó îâ öÒã³î fâä îãdîú5ð5ö èÓá3î ÷ àmèÓá õîèÓáÒö çèÓãCàfèÓèÓöÆèÓèÓèÓèÓèÓèÓèÓèÓèyèyèyèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèyèyèyèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèèè ´Bq®:µ±¯t®:¯>¿7°d°±º¯³µr²Pµ±´E®:°¶°±µS¯³h ¯Ád®7»B²5µ±¯³°dºr²:°±¯Sº¶¯³À@µÌµ±®:¯nÂÇ:À7½:»BÃn¯³À@µd»BÅÓ¸I½5¯S»Eºr´B ôSø è ýfâ î öÒPâÒç ãCã àföî âá èÓõ çèÓú@èÓâ î èyæåfèÓâÒöèÓç ãCèÓàèÓèÓèÓèÓèÓèÓèÓèÓèÓèyèyèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèyèyèÓèÓèÓèÓèÓèÓèÓèÓèè µ±Â´E®:°Ó¯Ì½5ÅI»B¯Sº±À:Ám·E°±Ç7¸ Ë:»B¸·EÀ:¯l·l»Bµ±À7®:½¼¯ÅI½5»B¯SÀ:º±·EÁmÇ7°±¸ »BËP·E¯l¯µ±»B®:À7¯Ì½>À:´B´Eµd°y»JÍ]µ±¸ °±´E¸ À7µ±¸»BÀ:ÅR·rÁm´E²:ÀV°±´E¹E·E¯³À@°d»Bµ±¸Ã´EÀ7ºº¸ ÀYÇ7µ±º¶®:¯S½¯ fffèèè éôë PâÒî õ ç âÒóæç âÒímçãCîáÒöyäç ímèÓîîaø èÓîafâø èÓfâî èyöÒî èÓöÒç ãCèÓçàlãCèÓàlá3÷èÓá3÷ èÓî ö1èÓî öYèÓèÓèÓèÓèÓèyèyèyèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèyèyèyèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèèè ëë ô ÅIL{»B®7À:»B·E²5Ç7µ±»B¯³·E°d¯Eº¼h Ô¾»BÀ7½£Õν5¯Sº±Ám°±¸ ËP¯<µ±®:¯ º¶ÈVÀ@µd»JÐÏ»BÀ7½º¶¯³Ã»BÀ@µ±¸IÁ³º¼´B ý PýSâÒè ãCë ûCâ õdPó âÒãCöûCáÒâ â õdåfó æaáÒöåfâ îèÓèyèyèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèyèyèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèyèyèÓèÓèÓèÓèÓèÓèÓèÓèè ëë ¯mL{Ð5®7²:»B°±²5¯Sµ±º±¯³º¶¸°Æ´EÀ7Öɺ³FV½5²:¯Sº±°±Ám´E°±·E¸ °dËP»B¯Súƺ³5FVÁd»B®:À7¯³½Ãn½5¯Eׯmº¿7À:Ë:¸Ç:µ±¸¸ Å´Eµ¶À7Ä[¸ º³À«h ²:°±´5Ám¯S½5Ç:°±¯Sº³F{Í]®:¸IÁd® HñmýSýSá èèõ éô#àfä õñmâÒ÷Sîä àmþJá fâàfõ±Òç øáÒã³ç æãCä îàfî äföyþJåfàfèÓâ ç î áÒèyöç ãCèÓàfèÓèÓöèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèyèyèyèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèyèyèyèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèèè ëëë ¸²:À7Ç5ÁmµmÅ ØfÇ7´E½5Ç5¯ µ±²:»BÇ5Å >µ1´B²:Âi°±¸ µ±Ãn®:¸¯ µ±¸ ¹EÅI»B¯SÀ:º³h·EÇ7»B·E¯E× º¼½:»Jµd»¾Ã»BÀ:¸ ²:Ç:ÅI»Jµ±¸ ´EÀ£»BÀ7½¸ À5Ä SSèè é*ë ù³å åfó ç íCBõ î ú âÒî öàfæèÓî èÓfâèyî èÓäfèÓç æ èÓõ á èÓî öÆèÓèÓèÓèÓèÓèÓèÓèyèyèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèyèyèÓèÓèÓèÓèÓèÓèÓèÓèè ëë L¯m{ÐV®7µ±»B¯³²5À7µ±½5¯³¯S°r½>ÙY²:vl°±zM´J¹VFS¸I»B½5Å ¯S´Eº]À:·»tÍ]´E¸ µ±°±®YûM»BÅ´Eº¶°±ÈVÃÀ@µd»B»JÅEм½5¯³Â´EÀ:°l´Bµd5»JÁdµ±®:¸ ´E¯³À7Ãn»B¯iÅEº¶Í]¯³Ã°±¸ µ¶»Bµ±À@¯³µ±À¸IÁ³¸ º³À h SSSèèè ôý ìRãCáÒòàmHîáÒââãCèÓä ú@õèÓð áî¶èÓõõ áÒèÓá3åf÷ âèyî èÓîööèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèyèyèyèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèyèyèyèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèèè éCôôCýýë j1º¶ÈVÀÀ@µd¯m»JÐ:лBÃn»BÀ7²:½Å ¯tº¶¯³´Bõ±»B®:À@¯nµ±¸IÁ³Ç7º³º¶h ¯Y´Bµ±®:¯nÅI»BÀ:·EÇ7»B·E¯>´EÅ ´JÍ1º1µ±®:¯t´E°±Ã»BÅ JSãCè âó1õ ß3úEà öfå÷SSàmá á õ±õ øràfärõ àfãCäÌåSá ö fåîSó1áYõ àmèÓáÒèÓç æèÓöèÓèÓèÓèÓèÓèÓèyèyèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèyèyèÓèÓèÓèÓèÓèÓèÓèÓèè ôCô ý q²:®7®:»B¯¼ËP°±¯m¯³µ±²P¸IÁr´E°¶¸ À7µt½5Ám¯m´EÐ!À7h ÁmÅ Ç7½5¯SºiÍ]¸ µ±®-»Å ¸Iºµt´BÂ]°±¯m¯³°±¯³À7Ám¯SºY»BÀ7½ »BÀ-»BÅ Ä ³³³èèè éôë JJãCãCî ââ âÒó1ó1ç ímõõî ú@ú@ä öö îa÷Sîøó1àmfâá õ õ±àmîø öÒáÒçèÓæç ãCöYèÓàlèÓèÓá3÷èÓèÓèÓèÓî ö1èÓèÓèÓèÓèÓèÓèÓèÓèyèyèyèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèyèyèyèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèèè mô ô ùãdäfáäfî ç ö(áÒç ãCàèÓõ èÓú èÓó1èÓõ á èÓî âÒèÓç õ èÓú èÓèyèyèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèyèyèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèyèyèÓèÓèÓèÓèÓèÓèÓèÓèè mmýý øfî ðõdî ó â î fúàfæî î èÓöÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèyèyèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèyèyèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèÓèyèyèÓèÓèÓèÓèÓèÓèÓèÓèè mý ú fò õ Bî áÒçî æ÷ ï ç àfãCä âÒîaäfø ö ãdõ ð:àfä ä î þJfâàfÒçã³áÒæ ç ãCî äfàfåföâ ãdî ð:ö æãCàfèÓæ èyî SáèÓÒèÓö èÓèÓèÓèÓèÓèÓèyèÓèÓèÓèÓè ! #" $%'&'( ) +* * * , , , - , , - . ,' ,' ]/ ¯³¹V¸Iº¶¯S½ >5Ád®:¯³Ãn¯ ܣݪ«Û H§£ÚÉÝ Û-Ü Âx»B¯SÀ7°±»J½¼´Eµ±·EÇ:°±°d°±¯S»B¯rºÃnµ±´E°±ÃnÀ¸IÁC¸µ±µ±À:¸´E´E·Æ²À7ÅIº´B»Bµ±À:®7·E¯S»JÇ7»Jµ]»Bµ±·EÃÇ:¯S°±» ºl¯EEF:º¶¯rË:®:»EÇ5´E½:Ç:µ1½5ÅIËV½¸ ÈƵ±¸ËP´E°±¯À7¯³Ãn»B½5ÅP¯S´Jº¶¹V¯S¸ ¸·E»JÀ:À:µ±·tÇ:¯S°±½<µ±¯S®:ºÀ:¯>´B»BÍMµ>²:¯S²PËV» ¯SÈV»BÀ:°²:¯S¸ À:ź±¸ ¯Sº¶À:¯SÁC· ºÄ ÃY²7´BÂ!»BÇ:°¶5À:µÁd¸ ®:Í]µÈE¯³¸ ÃnFBµ±®:»B¯M´EÀ7Ç5µ±½i´Ìµº¶ÂÇ7´1¯³º¶¯EÍM¯Mh¯µ±wa®:·EÀi¸I°dºy²7»B°±À@»B¯³°¶µ²Pµ±²P¸I´EÁm¯³°¶Ç:°±µÓÅIÃn»B»E°S¸Iºyº±FSº¶»ÌÍM¸ ´Eº¯{µdÀr»B¯³µ±À7°¶´Ìµ±Ám¸ ´EÁmÀ:Ç:´E·Ì²V°d²P»BÈÌ·E´E¸ ¯Ó¸µÀ@¸¸µyÃnÀi²:´EÍ]°yÅ ®:¯³ÃÃn´EÅ »B¯{¯³ÀVÀ@´EÇ7µ±°´E»B¸°dÅIÀ ºº ¯S°±Ç:º±º±Å ¯S»Bº1°±ÈEÂh´E°l5Ád´E®:°±¯³ÃnÃn¸ ¯iÀ:·¼½5¯³¯mÃnÐ5²:´EÀ7°±¯Sºº±µ±º¶°d¸ »J´Eµ±À7¯Sº³ºFPµ±Í]®7¸»Jµ±µÌ®»nÀ:¹E´¼¯³°±°±¯SȺµ±º¶°±Ã¸IÁC»Bµ±Å¸ ´EÀ7ÀVÇ:º1ÃY´EÀ<ËP¯³®:°l´J´BÍ Â »BÀ7½´Bµ±®:¯³°1½5´5ÁmÇ:Ãn¯³À@µd»Jµ±¸ ´EÀF5Ãn´5½5¸ ÂÈV¸ À:·¸ µl»EºÀ:¯SÁm¯Sº±º±»B°±ÈEh µ±²:®:°±¯³´EÈÆ·E°d»B»B°±Ãn¯lÃnÁm´E¸ À:Ãn·²P´@ÅI»Bº¶À:¯S·E½!Ç7FV»Bº¶Ç·EƯYµ±Ám®7¯l»Jµ±µi´i¸Iº ´E°±7Ã(¯mÐ5»i¸ Ë:²:Å ¯°d»E¯³ÁCÀ:µ±´E¸IÁ³Ç:»B·EÅP®»BÀ7µ±´<½Æ¯º¶Ç:Ʋ:Ám²P¸ ¯³´EÀ@°¶µµ P Î Ãn5Ád´@®:º¯³µ]Ãn´B¯>µ±Í®:»E¯>ºMôEÀ:» ¯>´E´B°Â²:µ±°±®:´E¯r·E°d¿7»B°dÃnºµ1Ãn²:¸°±À:´E·t·E°d²7»B»BÃn°d»EÃn½5¸ ¸ À:·E·YÃÅIºM»BÀ:¸ À·EÇ7Ç7»Bº¶·E¯Ì¯Sµ±º{´5µ±½:´»fÈE¸ À5h Ä G®:¯³¯ÏÅ ² ÓÍMj1´EÇ:ÅI»BÅI½ÊÀ¼Å ¸ »fEÍ1¯«½5µ±¯³´£ÀF@µ±®7»B¸IÀÁd®7»B¯³µ±ÅR®:M¯«ÅI»B´E¸ °SÅ FV´JsÌÍ]¯³¸ À:´E·£°±·E¯Ì²P¯³LM´E»B²:°±Å °±¯«¯mµ¶Âµ±´E¯E°ÉFVj1µ±®:À7¯³½5¸ È ° µ±Ë:Ám®:´EÅ ´5¯³°±²PÁ°±¯³´EËV°dºÈ«»Jµ±µ±°±¯Ì²:Ç7°±ÁC¿7´Jµ±°d¹VÇ:º¸°±µlÀ:¯Y·ÉÁm¸ÅIÀ»Eµ±º±®:»Æº¯²:½5Ç7°±ÈV´5º¶À7¯mÁm»B¯SÇ:Ãn½5Å Ç:À:¸IÁ³°±¯S»B¯Sº±Åº]º¼È»E´Bº]µÂYÈV¸ Àº²Pµd¯S»Jµ±½®:µ±¸I¯>ÁÅI»BÅIÀ:»Bº±Ám·EÃY´EÇ7ËR²P»B½:¯<·E»¯E°±hlÇ:Á³»B5Å ¯SÅIÁdÁmº®:Ç:¯³»BÅ ÃnÇ7À7º³½¯ F olsrL{°±¸I»BÁ´EË:E𱯳¸ ÈE»B¯³FV°¶ÅÒFµMÈE°±FyÇ7¯xÓÁm@¯1»fµd¹E»ol¯³ÅÇ:s Ë7L{Ç:»:Ç:°dF5°¶º¶<µ±¯³¸IÅÒº³»BFÆFÓ°d;rÁ]TE¯mz:¯³ÑÏÀ¯³¯³oÌÅ gl¯³»BÈE»EÅ FVµ±»E´Ej1º¶À¯EÀ7FÆFM½5lÈ/]Å´Ez:¸ ¹VËP°±¯³¸¯³¯³¯³°¶°YõÎoÌ»Bg1À»B¸ ÀVF@¯³¹VË/]ÈEF¼¸IFÓÁd®7xÓ;r»B»B¯³°dÇ:À½ Å Â͸IÁ³°±´E»E»Bú!ŵ±¯³®:ÀVÅI»B¯{¹VÃY¸¿7°±ËR°d´Eº½:À:µy»nÃnïm¯³»Ð5À@µ1²:´E°±Â°¯S´E½5º±°Ìº¶¸I¸»B»B´EÅÅ À7¯SÁCº¹Jµ»B»B´B°±À7ÂP¸I½»B~Ë:¸Iº¶Åº¶ÈV¯S²>ÃYº³FRµ±ËP´r»B´EÀ7½5ÅI½º³¸IºFVµ±µ±µ±¸ ´¼´ÆÀ:·E¯³Ç7Ç:¹Jº¶¸I»B¯iº¶Å ®iÇ7»»J²:º¶µ±°±¸¯i´5À:Ámµ±·E¯S®:Å ¯r½5¯YÇ:Å ´E¯m°±²5ÐV¯SºÄÄ g1V®7Ç7¸ »BÅ ½:²:¯³» ¸°SR°±F7´7FrTEF@¸ TEÃÇ:´EÅ °±x¸ °±¯l®:ÈÏV¸ Å Ç7;>Ë:º±¸ »Jº¶Àõ F7ETE»BF>´EÀL{®:F@À®:xy°±¯³/1¸I°±º°±»BÈiÃ~Gɸ º±À7½5½5»B¯³Ë:·EÅ ÒÅIÅ F7¯E»EFE½!oÌFr¸ E»B<¯iÀ:»B¸ V¯³° ®7Å7Ï»JGÑy¯³F7¸I¯³º¶TEÈE¯E´E¯³F@À7°Sg1»JF̵±¯³TE®7À:¸»B°±Ã ÀÈ ¯³´E°d²P»J¯³µ±°d´E»B°ÌÀ7²P½ ´@²Pº¶¸´@µ±º¶¸ ´E¸ µ±À¸ ´E´BÀÂMhλ¼M²:È °±´5°±Ám¯³¯SÅ ÈV½5¸Ç:À:°±·¯t¯³Á³À@»Bµ±Å y¸ °±¸ ¯³À<Å È µ±®:´E¯Àκ±²:»B°±Ãn´5¯tÁm¯Sͽ5Ç:»fÈ°±¯»EÁ³ºÌ»B»BÅ IÀ º Gz:°±Ç¸ ¯SFÓ½5»BÃÀ7»B½ÎÀFÓ »BSÀ7»B½-À ÌL{®:¸ ·E°±¸ ¸IµSºh¼µ±´EG²:®:¯¯³°tµ±®7gl»B»fÀ ÈVÀ:LM¯Sºr»B°±Â´E´E°YÅz:²P¯S¯³º±°±º¶Ãn¯³À7¸Iº±½5º¶¯³¸ ´EÀÀÉFyo̵±´<»BÀ:Ç7¸ º¶¯³¯ Å µ±°±´Y¯SÁm¯mÇ:Ð5°d²:º¶¸°±¹E¯S¯º±º{²:¸ °±µ±´5¯³°dÁm»J¯Sµ±½5¸ Ç:´E°±À¯<F55Á³Ád»B®:Å I¯³ºÆÃn»B¯l°±¯<¯³Ãn¯Sº±²:º¶®7¯³»EÀ@º¶µ±¸¸I³»B¯SÅ ½nÈ-µ±·E®:´B¯lµ±Â´7»E× ÁCºnµ{µ±µ±®7®7»J»JµµM²7µd»B»E¸ º±Å ºÄ µ±G¯mÐV¯µ µ±®7°±»B´EÀ à -qµ±®:¯m¯Ð:»E5ºnÁdwa®:À7¯³ºÃnµ±°±¯ Ç:Ãn¯³À@¾µdº³¹EF¯³°dwaº¶À7¸ ÁB´EhÓÀÊ´EÔ°°±²P¯m¯³Â°±¯³Ãn°±¯³¸IÀ7º±º¶Ám¸¯«´EÀ-õ±»B´ ÀVÇ7Ç7»Bº¶ÅÒ¯ h ÃÂn»B°±°±´E¸·EÀ:à Ç:·-ÃnÍ]ÅI¯³»B®:À@À:¸IµdÁd·Eº³®Ç7h(»B»B·E5Å ¯Ád®:²:µ±¯³°±´-¯³Ãn¹V¯³¯¸ ÃY´EÇ7ÍË:º¶°d»EÅ »EȺÁm¯µ±V®:À:¿7¯´J°dÍ]º¿7µÀ°dºÁmµº¶ÅI¯ »E@Í]º±Ç:ºÆ¸I½5¯³¯SÀ@¯³º±µ±Å ÈÏÁ³¸I»B»BÅÓ²PÇ7¯Ámº¶¯S´E½Ï²:À@µ±°±°±´5²:´EÁm°±Åy´E¯S½5·Eºµ±Ç:°d°±»B°±Ç7Ãt¯SÁCº³ÄÄ F µ±G5¯mÁdÐV¯®:µ1¯³·EÃnÂÅI°±»E´E¯ ½5à JÅ ÈÙ µ±»E®:F1Á¯ q VÀ:´JÍ]!FlÅ ¯Sd5:½5Ádm·E®:¯i¯³µ±Ãn®:¯ ¯ ¸ À Ô 77Ç: ¯³@À7FrL{Áml¯´EÃn´BmÂMÃnmb±Ã´E RÀH»BdÀV>~Ç7¸I»Bº¶ÅI² ºÌ ´EÙ7°i F]»BÀ7wq ½ h µ±¸ À@Ç:µ±°±°±¯S´5º]½5Á³Ç7»BÁmÀ¯S½<ËP¯iµ±®:º¶¯ÈVÀ@Ámµ±´E®:À7¯SÁmº¶¯³¸ ³²5¯Sµ>½!´BhÂMj.¯mÐ:º¶»EÇ:ÁCË7µiº¶¯»B@À7Ç:½¯³À@¸ À:µ1¯m¹EÐ:¯³»E°dÁCº¶µr¸ ´EÀVÀ¼Ç:´BÃYÂËP5¯³Ád°d®:º³¯³FÃn»BÀ ¯ Gj1Å ¯>·E´E»BÅÅIº¶Ö ´iµ±®7»BÀ h ÆM¯mµ¶µÈÆol¯mÐVµ±¯³°M´E°Mµ±®:¯Ì¯mÐVµ±°±¯³Ãn¯Ì¯mÑR´E°¶µ]º¶®:¯Ì²:Ç5µ ¯mÁmÐV¯³À@µ±¯³µ±À7Å ÈEº¶FR¸ ´E5À<Ád®:´B¯³Â]ÃnL{¯>´EËPÃn¯SÃnÁ³»B´EÃnÀ¯>~µ±¸I®:º¶²¯r× ¿7ºl°d·Eº¯³µlÀ:²:¯³°±°±´E¸IÁY·E°d»B»B°±Ãn¸ µ±®:ÃnÃn¸ À:¯m·tµ±¸IÅIÁB»Bh>À:·EÇ7´E»B°±·E¯Y¯Ì°±µ±¯m´ Ä ¸º¶À@¸ ·Eµ±À:´Æ¸ À:º¶¯m·tµ¶µ±µ±¸ ®:À:¯>·n²:µ±°±®:´E¸Iº]·E°d°±»B¯³Ã ²P´Eµ±°¶®7µ]»J¸ µlÀÁ³q »B| Ç7Yº¶¯SFP½Æ»BÀ7®:½¯³°]olµ±°±´E´EÀ7Ç:»BË:ÅI½Å ¯Sº³;rh ÀVÇ5µ±®Â´E°1½5¯mÄ Ë:º¶»BÇ:À7Å ´5²:½¼Á ²P@°±´EÄa¯³°¶ºÅ µµ±¸I»B°±Ç7Ë:®VÁCÅÈV¯rµ±·EÇ:ø ¯³°±¯SÀ:»B½¸IÀ:ÁÀ:ÅI»B¯³Ã°SÀ:»Eh ·EÁmÇ7°±»B´@·Eº³¯nFlµ±Í]´®:¸IËPÁd¯¼®£¯m²PÐV¯³µ±°±¯³ÃnÀ7½5¸ µ¯S½ µ±®:¸ À-¯Î»<º¶ÈVÁmÀ@´EµdÀ7»JÐHº¶¸Iº´Bµ±¯³ÂnÀ@»µ waqÀ7®:º¯]µ±¸ µ±j1Ç5°¶µ±µ±¯¸ ¿P´BÁmÂP¸Iq»BÅV¯SwaÁdÀ@®:µ±À:¯³´EÅ Å ¸´E·E·E¯³ÈEÀ7FSÁmµ±¯®:~¯1»BL{ËP´E´EÃn°d»J²:µ±Ç5´Eµ±°±¯³ÈÌ°´B5Â:Ámµ±¸ ®:¯³À7¯]Ám<¯»Eolº±¯³º±²7»EÁd»B®V°¶µ±Ç7Ãnº¶¯m¯³µ¶À@µdµº ´B¯³À7ÂÓÁmwa¯SÀ7º½5¸Iol»BÀ7¯³²7» »B1°¶µ±À:Ãn¸ ¹E¯³¯³À@°dµº¶¸ µ´BÈEÂ>F:µ±µ±®:®:¯¯nL{1´EÀ:Ãn¸ ¹E²:¯³Ç5°dº¶µ±¸ ¯³µ°ÌÈ«»B´BÀ7Ân½lwaÀ5°±¯³Â´E·E°±´EÃÀF1»Jµ±»B¸ ´EÀ7À<½Ï5µ±Ám®:¸ ¯Ä 7 P l v | H L ] / S ¯ ¶ º S ¯ B » d ° d Á ® a w 7 À º ± µ ¸ ± µ 5 Ç ± µ i ¯ ¶ º : Ç : ² P ² E ´ ¶ ° ± µ S ¯ ¼ ½ ± µ : ® i ¯ : ² ± ° ³ ¯ 7 ² B » d ° J » ± µ ¸ E ´ ¼ À B ´  ± µ : ® I ¸ º ± ° ³ ¯ P ² E ´ ¶ ° S µ Ó h V : Ç : ² P ² E ´ ¶ ° { µ  E ´ ° ± µ : ® Ì ¯ w « q M Í E ´ ° Y Í E » Ó º : ² ± ° J ´ V ¹ I ¸ 5 ½ S ¯ n ½ ¸ À 7 ² B » ¶ ° { µ V Ë È °±¯³q¯³¹E®:¹V´E¯¸IÅ º¶Ç5¿7¯Sµ±½¼°d¸ ´Eºµ{°±À<¯³½5²P´B¯S´EÂ{º±°¶Ámµ±µ °±®:¸ ¯t²5µ±Õ ÅI¸ »B´EÀ:Àt»B·E´B²:Ç7²P»B5·E¯SÁd¯t»B®:°±»E¯S¯³ºÌ½ÆÃn¸ ¸¯]µdÀ ºrÍ»EVºyÙwq.Í]FV°±¸¸Í]Ãnµ¶µ±®:¯³²:¸IÀnÁdÅ ¯³®¸ÃnÀ ½5¯³¯SÀ@º±VµdÁmÙB»J°±Õµ±¸ ¸ËP´E¯SÀ½Æ͵±hy®:»Ej ¯º µ±´B®:Â7¯{oljl¯m½5¯³¹JÀ7»Bº¶À7¯{ÁmÇ:¯SÀ7½>½5/]¯³°¯Sº¶ ¯S»BÆ°dÁmÁd¯®>´BxÂ7°±vl´ »f¯S¹JÁC»BµdÅ@º!/]j1¯S·Eº¶¯³¯SÀ7»BÁm°dÈlÁd®>´BÂVÁm´Eµ±®:À@µ±¯{°dol»EÁC¯³µ²7v»B°¶µ±Ãn¯³³À@ÔBµÄ Ç:½5²:¸Iº·Eµ±°d¸ À7»EÁC½5µn¯S½ ²:°±µ±´ ´ ¯Sº¶ÁCÇ:µd²:ºY²PËP´E¯³°¶·@µÆ»BÀλBÀ¾¸ À ¸ À:À:´J¹J¼»Jµ±»B¸ ¹EÀ7¯½ Ám´EÃn²:¸ Å µ±¯³´° Ç7º¶Ö¯¼h«¹J»Bq°±¸I®:»BÀ@°±¯³µd¯º ²:J°±´JĶL¹V¸IÄ ½5@¯SÕ ½t@Õ5ËVhÈtVvÌÇ:5²:z²P´E·E°¶°dµi»BÀ@´EµdºÓ°>vrµ±®:L¯Æ waÀ7½5Ä ¸IB»BÔVÀ7ÕB» ÖVÙ]1»BÀ:À7¸ ¹E½¯³°dvrº¶¸LµÈ ÍM´EÄ ° <Í»EÕ5º h ´Bº¶¸Â]µÈ 5Ád®:¯³BÃnF J¯tÙVÂF ´E°iÁm´EhÇ:j1°dº¶À ¯Sºr¸ À@»Jµ±µi°±´5½5wÇ7qrÁCµ±F ´E{°±È»BÅ ¯EÁmF´EÃn»BÀ7²:½Ç5µ±wa¯³À7°Y½5¸Iº±»BÁmÀ7¸ ¯³» À7Ám1¯nÀ:µ±¸ ¯m¹EÐV¯³µ¶°¶ÄÄ ËPjl´Vº´ Æ5ÁdÇ7®:º¶¯³¸ ÃnÀ:·Æ¯-5ËPÁd¯S®:Á³¯³»BÃnÃn¯>¯ÎÍÃn»Eº´E°±²:¯ Ç:Ë:Í]Å ¸I¸Iº¶½5®:¯S¯Sº¶½²:°±¸ ¯SÀ »E½!FiÅ Ô ´5Á³»BÅth ½5¸I»BÅ ¯SÁCµdº<ËP¯mÄ ·@»BÅ»BÀȼµ±´E´£Ç:À7½5½<¸ ¹E¸¯³µr°±·E½5¯Î¸ ÆÇ:ÁmÀ@Ç:µ±Å ¸µÌÅnµ±º´Æµ±Ç7Ç:½5À7¯³½5À@¯³µd°dºÉºµd»B»BÀ7À7½½<Ám°±´5¯Sº¶½5¯S¯Y»B°dÍ]Ád°±®:¸ ¯³µ¶µ±°d¯³ºÀ´5»JÁ³µlÁ³»E´Bº¶µ±¸ ®:´EÀ5¯³°Ä ´Bº¶»¸Â]µ±ËP¯S5¯mº³Ádµ¶h®:µ±z¯³¯³°nÃn¸ Â3µ±»B¯Y¯³À7¯³µ±½ÉÀt®:¯³°±Ãn°±¯³¯m²:´E°±°±´E¯S¯Æ°±º¶¯t¯³Í]À@Ãn¸Iµd½5¯m»J¯³µ>µ±Å ¸ÈɹE¸ ÀίS»EºÁ³Ì´BÁmÁCÂ:¯³µ±²5µ±´E®:µ±ËP¯S¯M¯³½ 𠺻 µd»B´EÀ7°Ôƽ:¸ »BÃnµ±°d´²:½ÅÍM¯³Â´EÃn´E°n° ¯³À@5µdµ±Ád´J»J®:͵±¯³¸ Ãn´E»BÀ7°d¯E½ º h qº¶¸ µ®:ÈƯ³¸ ¸ °ÓÀ°±µ±¯³®:²P¯>´E°¶º¶µ Ç:ÃnÔ Ãnͯ³»E°]º´B²: Ç:Ë:Å ¸Iº¶Õ5®:hy¯Sz:½nÇ:»J°¶µµ±®:¯³°]wq¾°±¯³»B¹VÀ7¸Iº¶½Y¸ ´EwaÀÆÀ7½5µ±¸I´V»B´ À7Æ» ²:1ÅI»EÀ:Ám¸ ¹E¯r¯³¸ °¶À Ä µ±²:®:°±¯Y¯Sº¶º¶¯³²:À@°±µY¸ À:°±·¯³²P´B´E °¶µY°±¯ Ö7¯SÁCµdºrFRÂÇ:»BÀ7°¶µ±½®:¯³¸ À°tµ±°±®:¯³¹V¯t¸Iº¶º¶¸²:´E°±À7¸ À:ºi·»B·E´B°±Â ¯³¯S½Ç:²PÖ´EÀÎh]¸qÀή:»¯ Ãn¯³¯mµ±¸ À:·Æ»Jµ l¯³°±´fмx!jl/1Lϸ ÀTEÇ:À:¯ h G¯Ì¸ À@µ±¯³À7½µ±®:¸IºM°±¯³²P´E°¶µµ±´tËP¯³Å ´EÀ:·iµ±´iµ±®:¯Ì¯³À@µ±¸ °±¯r5Ád®:¯³Ãn¯ÌÁm´EÃtÄ : <;>= < <? <+@A B 2* C ED 3 F G* 8 0 &HJILK ) # L 0# 0/Q "# 3 %M N<OP CO " J 0 # N NQP R 8 / # S # 9 >, &, % # & " ' " +* - . ./ # 0 ( ") # " / , 1 " # 2 " 4 # 79 ! "$# 6 " 7 " 8$# 3 0 6 "0" 20 5, # T/ / 4 3 "08 T/ U, F/0/0/ 3 T "08 / 808) EhÏl¹E¯³°±¹V¸ ¯³ÍH´BÂ5Ád®:¯³Ãn¯ ÏÞ¦lÚª Ý Û-Ü Û #Ý Þ Y©ÏÜ H§H© ÏÞ Û ¦ <»E~º±ºYF]»BLl°±F{·EÇ:»BÃnÀ7½«¯³À@jlµdº>x{ËV~.È»B¹J°±»B¯Å Ç:µ±¯E®:h°±¯³¯q®:´B¸Iµ±ºi®:¯³¸Iºt°½5ÅI»B¸IºÀ:µ±·E¸ À7Ç7ÁC»BµY·E¯S°±ºt´Eµ±Ã ®7»Jµ±µ¼®:¯¼»BÅ ÍÅI» »f³È5È@ºÄ 7 ² ¦ ¯³Ã¹J»B»BÀ@Å Ç7µ±¸I»JÁ³µ±ºl¸ ´E´BÀÂ{j1º¶¯³Å ÷E´E»BÅyÀ@Öµ±¸I:Á³FPº¼Í]´B®:Ât¯³°±gl¯Y»E»Bº EÀ¯³Å»BÒ°±Fl·E´EÇ:°ÆÃnµ±¯³®:À@¯µl¯mÁ³Ð5»B²:Å °±Ä[¯SËVº±È@º¶Ä[¸ À7´E»BÀÃn¸Iºl¯À:º¶´B¯mµÄ q½5¯m®:µd¸I»BºY¸ Å º¶¯S¯S½HÁCµ±¸¸ À5´EÂÀÉ´E°±·Eø ¹E»B¯SÅrºiº¶»B¯³ÀÉûB´J¹EÀ@¯³µ±¸I°±Á³¹Vº¼¸ ¯³¸IÍʺ¼µ±´B®:Âl¯ 5Ádº¶®:Ç:¯³Ë Ãn¯S¯EÁC×µºY´Bº¶¯³ÂYÃÁd®7»BÀ@»Bµ±²5¸Iµ±Á³¯³º³°dhº j ¯³¹J»BÅ Ç7»Jµ±¯S½Ç:À:Å ¯Sº±º¸ µdº]¹J»BÅ Ç:¯r¸Iº]À:¯³¯S½5¯S½¼ËVÈƵ±®:¯>²:°±´5Ám¯S½5Ç:°±¯Eh µ±Â´E®:°±°±Ã´EÇ:»B·EÅ®º¶¯³Ö:Ãh»Bz:À@´Eµ±¸I°rÁ³º°±¯m´BÂÂÓ¯³°±5¯³ÁdÀ7®:Ám¯³¯nÃn²:¯EÇ:h °±²P´@º¶¯Sº³Fº¶¯SÁCµ±¸ ´EÀÎÙVh ²:°±´J¹V¸I½5¯Sºr» ½55¯³Ád®:²P¯³¯³ÃnÀ7½5¯E¯³× º1À@µ{Ãn»E´5º½5²P¯³´@ź±´Bº¶Â¸ Ë:»BÅ ¯°±¸ µ±´B®:Â7Ãnµ±®:¯m¯]µ±¸I²7Á>»B¸I°¶ºlµ±¸I½5Ám¯SÇ:º¶ÅI¸»B·E°À:ͯS½»fÈ5µ±º´Æ¸ Àt°±¯³Í]î:»B¸I¸ ÁdÀ<®t»EÀVº]Ç:¸ÃtÀ5ÄÄ zÃn:´E¸ ÅÀ:´J·tÍ]ÅI»B¸ À:À:·Î·EÇ7j1»BÅ·E·E¯E´EhyÅÒF1|{5»EÁdÁd®Æ®:¯³Ç7Ãnº¶¯Ì¯<´B¸IÂyº¼»Y»Î¹Jº»Bµd°±»J¸I»Bµ±¸IË:Á³Å»B¯lÅ ¸IȾº»Eº±Ámº±º¶´E´5²PÁm¯S¸I½«»Jµ±¯S²:½°±´EÍ]·E°d¸ µ±»B®Ãt» Ä ËP¸¯³À@¹E¯³µ±¯³°d¯³°±º1·Eȯ³»B°r°±°±¯r¯S¸I»Bº>°±Å¯³»²:¸Iºr°±°d¯S»J»º¶µ±¯³¸Ám´EÀ@´EÀ7µ±Ãn¯S»B½¼²:ÅyÅ ÀVÍ]¯mÇ:и µ±ÃY®:ÀVËPÇ:¸ À<¯³ÃY°S»ËPF¯³¯³Ám°S¹E´Ehi¯³Ãn°±qȲ:®VÇ5°dÇ7µ±»J¯³ºlµ±°S¸ µ±h´E®:À7wa¯À<»BŽ55¸I¸IÁdº>º®:µ±»¸¯³À7Ãn°±ÁC¯Sµ±¯E¸»BF:´EÅÒ¯³ÀF¹E»B¯³ËPÀ7°±¯m½È Ä Å5¯mÁdÐ5®:¸I¯³Á³Ãn»BÅ ¯È¼®7»B»E²:ºn²7»BÅI»J°±µ±¯³¯³À@À@µµÆË:»E¸ À7ºt½5´E¸ À:²:·²P´@´Bº¶Â¯Sµ±½Î®7»Jµ±µ1´É¹JûB°±»B¸IÀ:»B¸Ë:¯SÅ ¯EºhµnµÈV²P¯Sº³h«q{ÈV²P¯Sº µ²:ÍM°±´E¯³·E¯³À°d»BÃn¸ À@Ãnµ±¯³¸·EÀ:¯³·Ì°tÅI»B»BÀ7À:½É·EÇ7°±»B¯S·E»B¯SÅMº³»BFB°±½5¸ ´Vµ±®:¯SºÓÃnÀ:¯m´Bµ±¸IµÁB»BFÓ²:º¶²P´<¯S¸»BÃn°Ó²P¸ À¼´E°¶5µdÁd»B®:À@¯³µiÃnµ±¯E´hÃwaÀn»B¸ÀVµdÈ º »Í]B°±¸ ¯1µ±® »Eº±¹Jº¶´5»B°±Ám¸I¸I»B»JË:µ±¯SÅ ¯S½tº³Í]h¸ µ±XÒ®ÆV´E¹J»BÃnÅ Ç:¯¾¯Sº1»BÇ5X»Bµ±®:ÅIº¶´E´Y°dºÁ³»B°±Å ¯m¯S½n¯³°´E˵±´H¯SÁCÅIµd»BºdÀ:ey·E°dÇ7»J»Bµ±·E®:¯S¯³º°Óµ±Í]®7¸ »Bµ±®À ²:°±¯SÅI»Eº¶²PÁm¯r´EÀ7¸Iº½:º»tµ±½5´l¸Iµ±ºµ±®:¸ ¯MÀ7ÁCõ±¸»J´Eµ±À®:¯³ËPïmµ»JÍMµ±¸I¯³Á³¯³»BÀÅ@¸I¯m½5Ð:¯S»E»BÁCÅÒµ]FB»B»BÀ7°±¸½iµ±®:¸ À:Ãn¯m¯mÐ:µ±»E¸IÁCÁBµyF5Í]»B°±®:¸ µ±¸IÁd®:®ÃnÁm¯m´Eµ±°¶¸IÁÄ ÅI·E»JÇ7µ±»B¯³·EÀ@¯Sµ¼º³hµe ÈV²P¯S1ºµ±»E®:º¼¯³° ÍMÅI¯S»B» À:V·EÅ È-Ç7»Bµ·EÈV¯S²Pº¯S½HÍ]¸ ´Eµ±®°½5ÅI»JÈVµ±À7¯³»BÀ@ÃnµÉ¸IµÁ³ÈV»B²PÅ ¯SȾºÎµÈV»B°±²P¯«¯S½ÏjlÅIx{»B~À5Ä F ´E¸Iº]ÀÀ:»B´B²:µ]²:Å °±¸ Ãn´fÐ5¸ ¸µ±Ã¯S½»Jµ±µ±¸ ´n´EÀ7¸ À@º³µ±hy¯³jl·E¯³º]°d¸º³Àh L{´EÃnÃn´EÀ~¸Iº¶²F:¯mÐ:»EÁCµ1»B°±¸ µ±®:Ãn¯mµ±¸IÁ ¸IVÁ³¯SÀ:»Bº´EµÅ ËPȵÈV´EµÅÒ²PÈVFR¯S²P»Bºl¯SÀ7X½½º¶´EÅI´BÃn»Bµ±À:®:¯m·Eµ±¯³Ç7¸°ÌÃn»B½5·E¯S¸I¯Sº»BºdÅ°±e¯S¯mÁC¸ÂÀ7µd¯³ºl°±Ám°±Å ´BÇ7¯S½Y½5~¯iµ±¸I´ij1º¶²»EÅ ·Ehlº{´Eº~ŵ±»B°±Ö À:´E:À:·EF:Ç7·ExÓÅ»BÈ>»E·Eº±¯SµÁ³ÈVº»B²PÍ]ÅÒ¯SFV¸½n»Bµ±À7®<´E½<°{úLl»Bµd»JhÀ:µ¶¸ ÄÄ ¦ ¸µ±j1À7¯³ÅÀ@Ám7ŵSÇ7´EhÓ˽5v1¸ À:¯S´nÁC·Ìµd5²:ºÁd°±Ám®:´5°±¯³Ám¯SÃn¯S»J½5µ±¯l¯SÇ:´E½t°±Ë¯S¸ ºÀt¯S»BÁCµ±À7µ{®:½Y¯l¸Iº{ÁmÁm´E¯³´E¹EÀ@Ç:¯³µ±°d°{¸ º¶ÀV¯½5Ç7¯S´B»JºÂµ±µ±¸ »i°±´E´JÀ75ÈEº³Ád¯SFf®:½!®7¯³hy»fÃnq¹E¯1¯{®:ÁmÇ:¯1´EÀ:°±ÃnůS¸ »EÃn²:º¶Ç5¸´Eµ±µdÀn¯S»J½iµ±µ±¸ ®7´E¯mÐV»JÀµÄ F µ±5®:Ád¯S®:º¶¯³¸ Ãn³¯S¯E½tFR²:Å ¸ °±E¯m¯Y¿:ÐYÃnÀ:´@´Bºµrµd»J½5µ±¸I¸ »B´EÅÀY¯SÁCµd´Eºl°Ó´B²:Â{°±´E~·E¸I°dº¶»B²ÃFR¯³ºyÃn»BÀ7²:½Å ´JÈ5X´BºÌµ±®:»n¯³Â°CÇ:eyÅ ½:È»Jµd²7» »BB°±µ±¯³®:À5¯ Ä ¸ºÃnµ±´E²:°dÅ»B¯³·EÃn¯n¯³¸IÀ@ºrµdµ±»J®7µ±¸»J´EµiÀ7ºÆµ±®:´B¯³ÂiÈÉ5»BÁd°±®:¯n¯³²PÃn¯³¯°±Ãn½5¸´Îµ¶µ±À:¯S½É´Bµµ±´XÇ7°±º¶¯SÇ7Ám»BÅI»BÅ ¸È à enµ±°±®:Ç:¯¼ÀϺµ±´E´EÇ5°dµ¼»B·E´B¯  ·E·E°dÇ7»B»BÃn·E¯ÓÃÇ7»Bº¶°n¯S½Ì´BÂ>´E5°Ád½:®:»J¯³µdÃn»:h¯j1·EÀi¯³À:¸ Ãn¯³°d²P»J´Eµ±¯S°¶ºnµd»B»ÉÀ@µº¶ÁmÇ:´EË:À7ÅI»Bº¶¯À:@·EÇ:Ç7¯³»BÀ7·EÁm¯¯Ó´B´BÂÌÂVµ±µ±®:®:¸I¯ºº¶ÅI¸»BÃtÀ5ÄÄ ´5Á³»BÁ³À:ÁmÇ:À:²:´B¸µ1¯S½-²P´@ËVº±º¶È-¸ Ë:»BÅ À«ÈôEË »Jµ¶¯Sµ±ÁC¯³µ°]¸µ±Âl´¼µ±»B®:ÀV¯³ÈÆȾÂÁ³Ç5»Bµ±À¾Ç:°±²:¯Y°±Ám´J´E¹EÃn¯¼²:µ±Ç5®7µd»J»Jµnµ±¸ µ±´E®:À¯h1´E1Ë µ±®:¯S¯³ÁC°µ ²:²:Å°±¯E´EF7·EÇ:°d»BÀ:ø ´EºM°±»BÃÀ7½¼°±¯³½:²:»J°±µd¯S»iº¶¯³µ±À@´nµd»JÇ:µ±À:¸ ´E¸ ÂÀ¼´E°±¸Iúµ±µ±®:°±¯i¯S»Jº¶µ±Ç7Ãnº±Ám¯³¯³À@²5µ]µ±¸ËVË:ȸ Å ¸´Bµµ±È¼®:¯³´B°1Â55ÁdÁd®:®:¯³¯³ÃnÃn¯¯ ÅIÁm»BÅ Ç7À:½5·E¯iÇ7»Bjl·Ex{¯Sº{~ɸ À»BÀ7Í]½®:´B¸IÁdµ±®¼®:¯³Ãn°1´@~º¸Iµ]º¶²´EË ½5¸I¯S»BÁCÅ µd¯SºMÁCµd®7º³»fh ¹E¯lÇ:À:Å ¸ Ãn¸ µ±¯S½¯mÐVµ±¯³À@µ]¸ À5Ä ²:5°±Ád´E®:·E¯³°dÃn»B¯>ò:º³°±hδE·Ez:°d´E»B°nà ¯mÐ:¯m»BÐ5Ãn²:°±²:¯Sź±¯Eº¶F¯S½µ±®:»E¯ º]½:»Jµd»:<h ²:°±´5Ám¯S½5Ç:°±¯¯³¹J»BÅ Ç7»Jµ±¯Sºn» wµdaÃn»B¸ Ų:Ä[Å°±¯³¯SÃnÁmÇ:¯³°dÀ@º¶µd¸ »J¹Eµ±¯E¸ h ´EÀ7qº®:´B¸Iº5»BÁdÅ ®:´J¯³Í1ÃnºÆ¯ µ±®:»B¯°±¯¯m°±Ð5¯ ¯S@ÁmÇ:Ç5¸µ±°±¸ ¯S´E½ÏÀµ±´B´¾ÂtËP»BÀ¯ ²:¸ µ±°±¯³´E°d²P»J¯³µ±¸°±¹EŠȯ q½5¯S®:Ám¯ ´EÃn²P´@<º¶¸ µ±²:¸ °±´E´5À Ám¯S´B½5Â]Ç:µ±°±®:¯¯²P½:¯³»J°¶µd´E»<°±Ã¸ µtºi°±¯Sº¶ÈV»E½:À@µdº³»Eh<ÁCµ±q¸IÁÆ®:¯ »Eº>ÍM¯³<Å M²:»E°±ºi´5ÁmÅ ¯m¯SÐ5½5¸IÇ:Á³°±»B¯ Å Áµdm»J´Eµ±Ãn¸ ´E²:À<Ç5µd¸IºÌ»Jµ±½5¸ ´E¯SÀiº±Ám¸ °±Àt¸ ËPÁm¯S´E½À7ºËVµdÈ»BÀ@»¼µyº¶º¶ÈV²7À@»EµdÁm»E¯EÁCFfµ±¯³¸I¹EÁ³¯³»BÀiŠȸ Â:°±µ±¯S®:Ám¯MÇ:¸ °dµ±º¶¯³¸ °d¹E»J¯iµ±¸²:¹E°±¯{´5ÁmÁm´E¯SÃn½5Ç:²:°±Ç5¯EÄ h ²7q»B®:°d¯rº¶¯Sº´E°±¸ õdº»B¸ ÅÀ:º¶²:ÈVÇ5À@µÌµd»J»EÐƺ]½:´B»Jµd5»Ád®:Xº¶¯³¯SÃnÁCµ±¯r¸ ´E¸Iº1À<½5ÙV¯Sh º±EÁmh °±¸eCËPF5¯SÀ:½¼´Bµ1¸ À»Eºº¶¯S²:ÁC°±µ±´E¸ ´E·EÀ<°d»BÙVÃh Eh h q»Jµ±®V¸ ´EÇ7À-ºYÍ]Á³»B¸ Àε±®-ËP»¯¼²:¯m°±Ð5´E²:²P°±¯³¯S°±º±Åº¶È¯S½ µd»BÇ7¸ ź¶Ä[¸ °±À:¯S·ÁmÇ:µ±°d®:º¶¯¸ ¹E´E¯°d¸½5Ãn¸ À7²:»BÅ °±¯³ÈÃn¯³²:À@°±´5µd»JÁmµ±¯S¸ ½5´EÇ:À°±Fy¯m¸Äaµ±Á³¯³»B°¶Å Ä Ãn´EÀ:¯SÅ Ádȼ®7»E»Bº]À:¸Iº¶Á³ÈVº³À@FÓµdº¶»E´<ÁCµ±µ±¸I®7Ár»Jº¶µnÇ:·@º¶²P»B°S¯ShÓÁm¸IV»B¯³ÅM¯i¸ µ±º¶¯³¯S°dÁC»Jµ±µ±¸ ´E¸ ´EÀ À-Ámh Õ5´EÀ7h ºµ±°±Ç7ÁCµdºY»B°±¯ÆÇ7º¶¯mÂÇ:Å Ü Ám5¯SÁd½5®:Ç:¯³Ãn°±¯S¯<ºrÁ³²:»B°±À´5ÁmËP¯S¯n½5Ç:Ám°±°±¯S¯Sº»Jµ±»B¯S°±½¯½5´EÈVË À7»B¯SÁCÃnµdº¸IÁ³»B¸ À«Å ÈEµ±F®:º¯³µ±¸ ´E°Æ°±¯S´J½Í]À«¸ ÀÉ°±½:¸ ·E»J®@µdµS»hºµ±x°±Ç7°±´BÁCÄÄ w[¢ µy¸Iº¢°±¯ @rÇ:¸ °±¯S½rµ±®7»JPµy ¯³¹E¯³°±ÈrJ¸ 5Ãnf¡²:ÓÅ ¯³ Ãn¯³À@µd»Jµ±¸ ´EÀY´BÂR 5Ád[®:V¯³ ÃnS¯MJº¶Ç:²:²P´E°¶µ µ±ÅI»BÇ:À:°±¯S·Eº³Ç7F7»B°±·E¯m¯Sµ±ºÓÇ:Í]°±À:¸ µ±¯S®½µ±»E®:º1¯S°±º¶¯S¯lº¶²:Ç:°±Å µd´Eº]²P´B¯³°¶ÂÓµ±²:¸ ¯S°±º´5¸ÁmÀ7¯SÁm½5Å Ç:Ç7°±½5¯S¯iº³F7L{»B´EÀ7Ãn½Ãnº¶´´EÀÆ´EÀ~h1¸Iº¶1²¼µ±»B®:À7¯³½ ° Ãn»BÅ ¯³À@¯Sµd»J»Jµ±µ±Ç:¸ ´E°±À7¯Sº¼ºµ±»B®7°±»J¯µl»B°±¯³°±¯¯>À:µ±´´Bµl´EÃÃn»B¸ µ¼° E´E¯S²5½µ±»E¸ ´Eº]À7ËP»B¯³Å]¸ À:¯S·»Jµ±` Ç:R°±_Ò¯S^ºÆ` R´B Âih5waÁdÃn®:¯³²:ÃnÅ ¯m¯Ä <lÀ:~¯]h ½5¸Iºµ±¸ À:·EÇ:¸Iº¶®:¸ À:·l¯S»Jµ±Ç:°±¯´BÂR5Ád®:¯³Ãn¯¸Iºµ±®7»JµÁm´EÀ@µ±¸ ÀVÇ7»Jµ±¸ ´EÀ7º³F ´EÁm´E°tÀ µ±7´É¸IÁC»Eµ½:Í]½Î¸ µ±¯m®HÐVµ±µ±¯³®:À7¯º¶¸ ´EÅI»BÀ7À:º³F·EÇ7²:»B°±·E´J¯¹V¸I½5°±¯³¯S²P½ ´Eµ±°¶®:µ±¯S¯½«¯mÐV®:µ±¯³¯³°±À7¯Ehº¶¸ ´EwaÀ7ÀHºn²7»B»B°±¯¼°¶µ±À:¸IÁm´BÇ:µÅI»B¸ °SÀ F Í]º±Ám®:¯³¸IÀ:Ád¯S®º³Fl¸ À»BÅIº¶Ãn´Î´@®7ºµ»f¹E´B¯ µ±®:¯³¿7°°dºÅIµ¶»BÄaÀ:Ám·EÅI»EÇ7º±»Bº ·E¯Sººµd´E»Jµ±À:Ç7Å ÈϺ³h ´E²PL{¯³´E°dÀ@»Jµ±µ±¸¯ÀVÇ7ËP»J¯³µ±®:¸ ¸´EÀ7À7½Ïº¼µ±»B®:°±¯¯ ¸»Ãnº¶²:ÈVÅ À@¯³µdÃn»E¯³ÁCÀ@µ±¸IµdÁt»Jµ±Ãn¸ ´E´5À7½5ºM¯nÃYµ±®7Ç7»Jºµ1µ>º¶²:Ç:°±²:¯³²P¯³Ãn´E°¶²5µµd²Pº>´EÀ:°¶´µd»BÅË:¯mÅ Ð5¯Ì¸IÁ³Ám»B´5ÅÓ½5¯rÁm´EËVÀVȹE¯³²:À@°±µ±´J¸ ¹V´E¸IÀ7½5ºÌ¸ À:´B·  Ç7Ám´Eº¶¯mÀ7ºÇ:µ±Å7°±Ç7´EÁC°Mµdº³¸ FtÃn¸²:À7Å Ám¯³ÅÃnÇ7½5¯³À@¸ À:µ±·£¸ À:·tÀ:´E»iÀ5Í]Ä[Å ¸I´5½5Á³¯l»BÅt¹J»B¯m°±Ð5¸ ¯m¸ µdµº³ÈtFt´BË7»E»EÁ ½5@¹Jµ±»B°dÀ7»EÁmÁ V¯S½¸ À:Ám·7´EFYÀ@»Bµ±°±À7´E½ Å µ±q®:´¸Iº]»B°±¸I½<¯³²P¸ ´EÀ°¶µSÇ:h À7½5¯³°dºµd»BÀ7½5¸ À:·»BÀ7½¸ Ãn²:Å ¯³Ãn¯³À@µ±¸ À:·<5Ád®:¯³Ãn¯EFº¶´EÃn¯ Ámj1´E°±°±·E´EÇ:Ç5Ãnµ±¸ ¯³À:À@¯Sµdº³ºhVµ±´¯³¯>5º¶Ád¯S®:ÁCµ±¯³¸Ãn´EÀ¯ Ö:²:h °±Ô7´5h Ám¯S½5Ç:°±¯Sº<»B°±¯ »BÅ Í»fÈ5º²7»Eº±º¶¯S½£ËVÈ ÂÃn¯S»J¯³µ±À@Ç:µ±°±¯S¯S½tº1¸ Àt»B°±µ±¯r¯³°±ÃûBºÓ° E´B¯SÂP½µ±®:»E¯]º ´Bµ±^m®:b±¯³J°SbCFBJ²:h°±q¸ Ãn®:¸ ¯Sµ±º¶¸ ¹E¯i¯EÁ³FB»BÂÀ¯S»JËPµ±Ç:¯i°±¯S¯S»Eº³º¶h¸ ÅqÈÆ®:¸ ¯³ÃnÈt²:»BÅ °±¯m¯Ä ¹J»B»B°±¯iÅ Ç:¯³¯E¹JF»BÍ]Å Ç7®:»J¸Iµ±Ád¯S®½ÃnËP¯S¯m»B´EÀ7°±ºl¯>µ±µ±®7®:»J¯tµr²:µ±°±®:´5¯Ám¯S»E½5ÁCµ±Ç:Ç7°±»B¯>Å·@»B»B°±¸ ·EÀ7Ç:ºlÃnÁm´E¯³À@À@µ±µr°±´E¯mÐ5ÅÒF7²:Í]°±¯S®:º±¯mº¶µ±¸ ´E®:À7¯³°º °±Ám¯S´E½5ÃnÇ:ÃnÀ7½:´E»BÀÀ@²7µ{»J¸ Ànµ¶µ±µ±¯³®:°±À7¯lºrºµ±´B°±Â¸IÁCÇ7µ{º±º¶»B¯³·EÀ7¯Eº¶F¯]»B´BÀ7ÂR½µ±®:»B¯1°±¯tÍMµ±´E®:°d¯³½!°±FB¯mË:´EÇ5°±µ{¯tµ±®:²:¯³°±´JÈn¹VÁ³¸I»B½5²5¯S½µ±Ç:»E°±¯º µ±®:¯<²:°±´5Ám¯S½5Ç:°±¯À:¯³¯S½:ºµ±®:¯<°±¯Sº¶Ç:Å µÆ´BÂ̵±®:¯<¯³¹J»BÅ Ç7»Jµ±¸ ´EÀ«´E°ÆÀ:´BµSh Ám´EÀV¹E¯³À:¸ ¯³À@µ1»BË:Ë:°±¯³¹V¸I»Jµ±¸ ´EÀ7º³h !#"$ % &#"$'()*%+ 0/ 8 8 54()'76 32& 0/ *8 -, :9;*<= ?>*9@<BA C>*9@<BA E)'7)*(F'(HGI)!"J%(KL4 3D& 8 NMPOM NMRQ TS ?US @VSXW NYS=ZS !Y 3 /. 10 3 LR ![@VS J =5\ @ 1] N R <A Ô ]/ ¯³¹V¸Iº¶¯S½ >5Ád®:¯³Ãn¯ ¢ 3 lf 7 S t H { y ¾{ 7 Gϲ:®:®:°d»E¯³Àɺ¶¯ º¶±²P»B¯SÀÉ» V¯³¸ °±À:°±·´E°r´BÂM¸Iºi»Bº¶À¸ ·E¯³À7°±»B°±´EÅ °Ì¯S½ º¶¼¸ µ±Ç7µ±´»Jµ±¸¸ ´EÀ7À½5F!¸IÁ³µ±»J®:µ±¸I¯nºÌµ±°±®7¯³»J²PµY´E°¶¸ µrÃnÇ7²:º¶Å ¯S¯³Ãnºlµ±¯³®:À5¯ Ä µd½5»J´Vµ±¯S¸ º1´EÀ7À:ºl´BµrÃY»BÇ7²:ºµr²P¯S½5»B¯m°1µ±¯S¸ ÀÁCµrµ±»B®:À7¯t½½5°±¸Iº±¯³Ám²PÇ7´Eº±°¶º¶µ1¸ ´Eµ±À®:¯Y´BÂ{¯³°±»B°±À´E°S¯³h]°±°±w[´EÂM°Sº¶F5Ç7µ±Ád®:®¯³À<ÍM´E¸ Ãn°d½5²:¸ ÅÀ:¯m· Ä µ±µ±Ãn®:®7¯³´E»JÀ@µ1Ç:µd·E¸»JÃn®µ±¸ ²:´Eµ±Å®:À7¯³¯³ºÌÃnÈ»B¯³°±»BÀ@¯i°±µd¯n»JÀ:µ±´B¯³¸ ´EµÌÀ7À7Ám°±´Eº1¯ Ç:@»B°dÇ:°±»B¸¯Ì°±·E¯SÀ:¯S½½´Bµ1µ±µ±´°±´<¯ ½5@½5¯mÇ:´µ±¸ ¯S°±º¶ÁC¯S´7µÌ½Æh¼´Eµ±j1°Ì´ÀÉ°±½5¯³¯m²P¯³µ±°±´E¯S°±°¶ÁC´Eµ1µl°>µ±¸Iº¶º®:¸ ¯tµ±Ç7Ç7º¶¯³»JÇ7°±µ±»B°±¸ ´EÅ´E°SÀÈ F °±z:¯m´E°M¯³°±¯m°±Ð:¯S»B½Ãnµ±´Æ²:Å ¯Eº¶¸FVÃn¸ µ²:¸IÅ ºÈ»B»EÀƺ ¯³±°±»B°±À´E°¯³°±Â´E°±´E°°S»Yh ²:°±´5Ám¯S½5Ç:°±¯]µ±´tËP¯Ì²7»Eº±º¶¯S½Æ»BÀ ®µ±7»B¸ °±»B´E·EÀ7À:Ç:½5¯SÃnŽ¯E¯³F¸ À@À¯³µl¹Eµ±µ±¯³®:®7À<¸I»Jº1µ±µr°±®:¯³µ±´E²P®:Ç:´E¯t·E°¶®²:µShM°±º¶´5waÇ7ÁmÃnÁd¯S®²:½5Ç:Å ½5¯³°±Ãn´E¯tﳸIÀ@ºÌ»Bµd¸ À:À»J´Bµ±¯³¸µr´E°±À7¯m°±´EÐ5º1°d²:úlÅ ¸I»BÁm»f¸°±È¼µ±¯nÅ ¯mÈ<º¶ÐV¯³º¶µ±ÅI²P¯³½5À7¯S´EÁm½Ã ¸ ¿7»¯SÃn½<²:¯³°±µ±À5´B´ ÄÄ Ámq¯S®:½5¸IÇ:º1°±°±¯E¯³× º]²P´E½5°¶´EµlÃÇ7»Bº¶¸¯SÀº]´Bµ±ÂÓ®:¯i½5¯m²:¿7®:À:°d¸ »Eµ±º¶¸ ´E¯ À¶Ãµ±´n»f¸È¼À7Ám°±Å¯³Ç7²P½5´E¯i°¶µÌº¶Ç7»Ád®¹V¸ ´E»BÅI°±»J·Eµ±Ç:¸ ´EÃnÀ¯³À@´Bµdº³»Bh À ¸½5Ãn¯³°i²:Å Í]¯³Ãn®:¸I¯³ÁdÀ@® µd»J»Bµ±Àɸ ´E¸À<Ãn°±²:¯SÅ º¯³µ±Ãn°±¸I¯³ÁCÀ@µ±¸µd´E»JÀ µ±t¸ ´EÀµ±´Æ¸Iº>¸ À7²P½5¯³¸IÁ³°±»JÃnµ±¯t¸ µ¶µ±Ám¯S¸ ½°dÁmÇ:µ±´Ã°±ºµd¯³»B²PÀ7´EÁm°¶¯Sµ>º1µ±Ç:®7À5»JµÄ ¸Á³µ»BÇ7¸IºMº¶¯iÇ:À7´B»BÂ{Ë:º¶Å ´E¯lÃnµ±´n¯iÁm°±¯S´EºÀ@µ±µ±°±¸ ¸IÀVÁCÇ:µ±¸¯l´EÀ¯mÐ5¸ ¯SÃnÁmÇ5²Pµ±´@¸ º¶´E¯SÀ¼½´BËVÂÈ»Yµ±Ám®:´E¯Y°±°±¸ ¯SÃnÁCµM²:Ų:¯³°±Ãn´E·E¯³À@°d»Bµd»JÃ+µ±¸ ËP´EÀ¯mÄ h wa¸ ÃnÃn²:²:ÅÅ ¯³¯³ÃnÃn¯³¯³À@À@µdµd»J»Jµ±µ±¸¸ ´E´EÀ7À¼º°±»B¯S°±º¯µ±°±¯³¸IÁCÀ7µ±Ám¸ ´E´EÇ:À7°dºM»B»B·E°±¯S¯l½>´Bµ±Â´rÁm°±´E¯³Ç:²P°d´Eº¶°¶¯ÌµÓ½5¹V¸I¸ º±´EÁmÅI´E»JÇ:µ±¸°d´E»BÀ7·Eºy¯S½!´BÂRFEË:¸ ÃtÇ5µÄ ²:z:Å´E¯³°Ãn¯m¯³Ð:À@»BµdÃn»Jµ±²:¸ ´EÅ ¯EÀF5»B°±¯SÀºµ±¸ Ãn°±¸IÁC²:µ±Å ¸ ¯³´EÃnÀ7º³¯³hÀ@µd»Jµ±¸ ´EÀ¼Ã»fÈ°±¯³²P´E°¶µ]»Y¹V¸ ´EÅI»Jµ±¸ ´EÀ¼´B »Bºµ±ÀδE°d¸ »BÃn·E²:¯lÅ ¯³µ±´nÃn°±¯³Ç:À@Àµd»J»tµ±¸ ´E²:Àΰ±´E°±·E¯S°dº»Bµ±Ã°±¸IÁCh µ±¸ ´EÀ ¸ Â1¸ µ½5´V¯SºYÀ:´Bµt®7»f¹E¯¯³À:´EÇ:·E® µ±w[º¶Â1®:¸ ·E¯³µ±À7À®:»B¯Åµ±®:¸ ¹JÀ:¯>»B·Å ¯mÇ:Ð5»B¯²:À¾°±´B¯S¯³Â̺±°±º¶»B°±¸ ´EÀδE°SÀFy¯mÐ5ÃYË:²:Ç5Ç7°±µnº¯Sµ1º±µ±º¶®:¯³¸ ¹J´E¯»BÀιJÅ Ç7»B¸Iºn»JÅ Ç:µ±º±¯Ì¯»Bµ±¸I½5½É´Æ¯³²Pº¶µ±´E´¯³ÃnÀ7ËP½:¯>¯ºn´E´E¶Ë Ç:ÀÎÀ7¯Sµ±ÁCº¶®:µ]²P¯¯SÍ]Ám¸¸¸ Ãnµ±¿7®:¯S²:´E½!Å Ç5¯mF µÄ Ãnº¶®:¯³´EÀ@Ç:µdÅI»J½¼µ±¸ËP´E¯>À °±¯mµ±µ±®:Ç:¸I°±ºiÀ:°±¯S¯³½!²Ph ´E°¶µ>¯mÐ5²:Å ¸IÁm¸ µ±Å Ƚ5´V¯SºrÀ:´BµYº±»fÈ<Í]®7»Jµi¹J»BÅ Ç:¯ ¢ ³f¡ 7 Î ºÍ]±L{Ám®7®:°±¸¯³»BËP°±²5¯S¯Ìµ±º¯³»>°d´EºÂÀ:¯SÔr¯l»Jµ±»BÅIÇ:»BÀ7À:°±½Y¯l·EÖÌÇ7¸Iº{»B»B·E¯³°±¸¯¯{µ±®:´E¯S¯³°±»J·@°µ±»B»YÇ:À:°±º¶¸ ¯1³ÈV¯S´EÀ@½>°Mµd»E¸»iÀ@ÁCµ±µ±·E¸I´l°±Ál´E¯³ÁmÇ:À@´E²nµ±À7°±´B¸º¯Sµ±Âº³°±°±Ç7h¯³ÁC|{ÅIµM»J»Eµ±´EÁd¯S°M®i½t»i¯³ÂÀ@¯SË:»Jµ±Ç:°±µ±¸ÈiÇ:Å µ¶°±½5Ä[¯S¸¯mº³À Ä F ²:´B°±´5µ±Ám®:¯S¯r½5ÂÇ:´E°±°±¯Eà hÓj1À¯³À@µ±°±ÈÆËP¯³·E¸ À7º]Í]¸ µ±®´EÀ:¯r´E°]Ãn´E°±¯r®:¯S»E½5¯³°]Å ¸ À:¯Sº _Âa´Em°] °±¯ @JÇ:_a ¸ °±¯S½!F5²:°±¸ Ãn¸ µ±¸ ¹E¯Ì¯S»Jµ±Ç:°±¯Sº³F5´E° dJ_a @`JbC _Í]am®: ¯³°±¯J_a 7 ^ MmbY¸Iº]¯³¸ µ±®:¯³° ¶Å ¸ Ë:°d»B°±È Y´E° ¶´E²5µ± ¸ 7´EÀ7»B^ MÅ Ymb»Eº]dJ½5_a¯m ¿7@À:`J¯SbC½ ¸w[ÀÂidº¶J¯SÁC_aµ±@¸ ´E`JÀ bC<Eh¸Iº h E±hº¶ÈVÀ@µd»JÐ :FRµ±®:¯n¯³À@µ±°±È½5¯Sº±Ám°±¸ ËP¯Sº>»BÀ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ µµÈVÈV²P²P¯E¯EF!h »BL{À7´E½Ãnµ±®:²P¯Y´EÀ:µ±¯³¯³À@Ãnµd²:ºYÅI´B»JÂ1µ±¯Y¯mÐ5·E²:¸ ¹E°±¯S¯Sº1º±º¶µ±¸ ®:´E¯nÀ7ºiº¶ÈV»BÀ@°±µd¯¼»J½5ЯS´Bº¶¸ÂÓ·Eµ±À7®:»J¯tµ±¯S¯m½ Ð5²:ËV°±ÈɯSº±º¶º¶ÈV¸ ´EÀ5À Ä µd´E»E°tÁCµ±¯m¸IÁ<Ð:»B¹JÃn»B°±²:¸IÅ»B¯EË: F Å ¯S¯mº³Ð5F²:Í]°±¯S®:º±¸IÁdº¶¸®´EÀ »Bd°±F ¯<¹JÍ]»B°±°±¸ ¸Iµ¶»Bµ±Ë:¯³ÀHÅ ¯ CÇ7hɺ¶¸ VÀ:ÈV·¾À@µd»B»EÀ:ÁC·Eµ±Å¸I¯<ÁÆË:¹J»B°d»E°±¸IÁ »BEË:¯mŵd¯Sº³º F µ±º¶´E¯³®:°r°d´EºyÇ:¯mÍ]Ð:ÅI½»B®:ÃnËP¸IÁd¯l®n²:ÅÇ:¸I¯EºÀ7F ½5»>¯³¯mº¶°dÐ5ÈVº²:À@µ±´V°±µd¯S»E´5º±ÁC½nº¶µ±¸ ¸Iµ±´EÁ³´tÀ »BlŽ5Èi¯³ºÀ:µd¹J»B´B»BÀ7µ±Å ¯Ì½:¸I½Yºlº¶¯³¯m·E´EÐ5Ãn°>²:°±¯³»B¯SÀ@ÀVº±µdÈ<º¶º¸ ´Eº´BÀµ±Â°±h¸²:À:q°±·´E®:·E¯]´B°dÂÀ:»BÃÁd´B®7µd»J»Bµ±µ±°d¯m¸»EÐV´EÁCµ À Ä NMPOM M . AVS @ @VS JA A [ <S < 3 ± µ : ® ¸ : À · ¸ À7½5¸IÁ³3»Jµ±µ±®:¯S¸ º À:·³¯³°±´t3µ±´E®:°]¸ À:Ãn·´E°±¯r´5Á³ ÁmÇ:°±°±¯³À7Ám¯SºM´BÂy»3µ±®:¸ À:·mF7»BÀ7½ ¸w[À7Â1½5d¸IJÁ³_a»J µ±@¯S`Jº]bC¼´EÀ:¸I¯rº ´E¶²:°]°±Ãn´5Ám´E¯S°±½5¯ÌÇ:´5°±Á³¯ Ám:Ç:F@°±µ±°±®:¯³¯³À7ÀÁm¯Sµ±ºM®:´B¯iÂÓ¯³»À@µ±3°±µ±È¼®:¸ ½5À:¯S·º±mÁmh °±¸ ËP¯Sº]»t²:°±´BÄ ²:Ámq¯S°±®V½5´5Ç7Ç:Ámº¯S°±½5¯Eµ±FJÇ:®:»B°±¯>¯EÀ7®:hy½r¯Sj1µ±»E®:°±½5·E¯M¯³Ç:°®:Ãn¯SÅ ¸ »EÀ:¯³½5À@¯ ¯³µ°À7Å »B¸ À:Ãn¯{¯S·Eºy¸ ¹E¸ Àn¯Sºµ±»®:¯µ±¯³µ±Ãn¯³Ãn²:ÅI²:»JÅIµ±»J¯µ±¯l´E»B°y°±»1¯rÁ³^3_a»B Å E^µ±m´1^ Sµ±d®:\¯ h ! "$#Jdm_a`J& b %(' : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ ¸»BÀ7°±½5·E¸IÇ:Á³Ãn»Jµ±¯³¯SÀ@ºµdµ±º³®7F!»J»¼µ¹Eµ±®:¯SÁC¯µ±Ë:´E°)Ç:¸ #JÅ µ¶dÄ[m¸ ÀY_a`J²:bÆ°±»B´5À7Ám¯S½½5»BÇ:À°±¯ ¯mÐ:»EÁCµr À:!´EÀ5Ä[À:"¯³·@µd»»JEµ±¸ ¯S¹Eº¯iµÍM¸ À5´ Ä µ±+¯³* ·E-¯³, ° %Xº¶¯³¯rËP&¯³Å ´J%(Íl' eChq®:¯>®:¯S»E½5¯³°]Å ¸ À:¯Sº ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ +* -, &%. /' µ±¸w[À7µl´n½5¸Iµd¸Iº1»Á³»JE»Bµ±À¯r¯r¯³¯³µ±¸ °±µ±®7°±®:»J´E¯³µ1°M°]µ±Â´E´E®:À:°l¯ ¯r»B* À´E-°, ´Eµ²PÍM¯³´°d»J»Bµ±°±¸ ´E·EÀ¼Ç:YÃnµ±´Æ²:¯³°±À@ËP´5µd¯>Ámº³¯Sh ²:½5°±Ç:¯S°±º¶¯r¯³À@ÃYµ±¯SÇ7½ºµ1Í]ËP¸ µ±¯Y®<½5»B¯m¿7ÀÀ:»B¯S°¶½ Ä ·EÍMÇ:¯rÃn´E¯³ÅÀ@´JµÍHµ±®7µ±»J®:µ{¯i¸ µMÁm´E¸IºÀV¹EÀ:¯³´BÀ@µMµ±º¶¸ ²P´EÀƯSÁmµ±¸ ¿7®7¯S»J½tµ1¸µ±Â´i»B®7À»BÀ7»B°±½5·EÅ ¯EÇ:hyÃnz:¯³´EÀ@°{µ]º¶À7Ç7»BÁ³ÃnÁm¸ À7¯>ÁC¸Iµ±º]À:»B¯SÅIº±º¶º³´ F µ±Ãn®:¯³¯À@µÀ7»BÃYÃnÇ7¯ÆºµM´BËPÂl¯l»´BµÂ!ÈVµ±²P®:¯¼¯lÅÀ7¸Iº»Bµ±Ãn¯S½ ¯S½n¸ À-µÈVº¶²P¯S¯EÁChÓµ±¸ z:´E´EÀ °M¯mhÐ:»BFÃnµ±®:²:¯³Å ¯EÀ FEµ±µ±®:®7¯l»Jµ®:¯S»B»E°±·E½5Ç5¯³°Ä Å·E¸ Ç:À:Ãn¯>¯³´EÀ@° µtµ±´ ! !"Y·E¸ "¹E¯³ÃYÀÇ7»BºËPµn´J¹EËP¯>¯½5»¸IÁC¹Eµd»J¯Sµ±ÁC¯Sµ±´Eº°Sµ±hÉ®7»Jqµ]®:µ±¯¼®:¯>´E¿7Å °d´JºÍ]µ1¸ »BÀ:°¶· Ä À7»BÃn¸ À:·Ám´EÀV¹E¯³À@µ±¸ ´EÀ7º»BÅIº¶´n¸ Ãn²:Å ÈƵÈV²P¯>°±¯Sºµ±°±¸IÁCµ±¸ ´EÀ7º `E 0 »BÀVÈÆ´EË ¯SÁCµ 12435 F 12435 S6F 1243587 9F Å ¸IºµYXº¶¯³¯>º¶¯SÁCµ±¸ ´EÀÖ:h h e : F : SF6 : 7 F6 F;< F <; ff6F 6F < ; 7 7 6F 6F °±°±Ám¯S¯S´E»B»BÃnÅRÅR²:ÀVÀVÅ Ç:Ç:¯mÃYÃYмËPËPÀV¯³¯³Ç:°° ÃYËP¯³° °d¸ À@»Jµ±µ±¯³¸ ´E·EÀ7¯³°»BÅRÀVÇ:ÃYËP¯³° = F = J9F = 7 6F > F > fF6 > 7 F6 ? F ? J9F ?7 6F ¯mÐ:»EÁCµ]À:´EÀ5Ä[À:¯³·@»Jµ±¸ ¹E¯Ì¸ À@µ±¯³·E¯³° ¢ @ : « A °±q¯S®:»E¯<½ º¶¶ÈV¯³ÃY¹J»BËPÅ Ç7´EÅ»Jµ±C¯SB6º{D µ±´7h ÉÇ7z:º¶´E¯S½¾°]¯m¸ Ð:À«»BÃn²:°±²:´EÅ ·E¯E°dF »BïmÐ:»BÃn²:Å ¯SºÆº¶®:´EÇ:ÅI½¾ËP¯ E4FHGJI-K L!M NO Ãnº¶¯S¯ ÁC¯S@µ)»BÇ:À7¯³UºnÀ7V7Ámhµ±¯t®7l»J´BµÂM°SFyÁdµ±®7®:Ãn»B¯´E°d°±»E¯m¯Ð5ÁCµ±²:²:¯³°±°d°±¯Sº¯Sº±Ámº¶¸I¸ º¶´EQ¯³P.À Å È R$YQPSµ±T ®:R$' ¯¼ÆT¯m¯³Ð5'<¹J²:»B¯³°±Å ¹J¯SÇ7»Bº±»Jº¶Å µ±Ç7¸ ¯S´E»Jº³Àɵ±F!¯S·E¸ ºtÀ<¸ ¹Eµ±µ±¯³´É®:À ¯nµ±ËV®:¸ ȯÀ:¸ µ±µ±´E¸I®:Ë5»B¯ ÄÅ ¯³À7ÀV»B¹VÅ ¸ È<°±´EËVÀ:ÈÃnµ±¯³®:À@¯ÆµSF:º¶µ±¯ ´@Ç:»B¯³ÀÀ7Ám´E¯tË ´B¯SÂÁCµ1Ád®7µ±»B®7°d»J»EµÌÁCµ±Ã¯³°d»fºÈWËPU¯YV :°±¯³hn²:V°±¯S¯³º¶¯¯³À@º¶¯Sµ±¯SÁC½µ±¸ ´E¯mÀ ÐVµ±¯³°¶h Ä Â´E°1»½5¸Iº±ÁmÇ7º±º¶¸ ´EÀ¼´BÂy¯mÐVµ±¯³°±À7»BÅ!°±¯³²:°±¯Sº¶¯³À@µd»Jµ±¸ ´EÀ7º{´BÂy´EË ¯SÁCµdº³h ¢ YX Z P M»ÈYËP´VÁm´E´EÀVÅ ¯S¹E»B¯³ÀÉÀ@µ±¹J¸ ´E»BÀÅ Ç:Ff¯µ±®:Ç7¯]º¶Ç7À7»B»BÅÃnȯSºy¯³À7´B½ÂP²:¸ °±À ´5ÁmC¯S[ ½5:Ç:h°±¯SVºÇ7µ±Ád®7®É»Jµ²:°±»B´5Å ÍÁm¯S»f½5È5Ç:º°±°±¯S¯mº>µ±Ç:»B°±°±À ¯ Á³»BÅ ¯S½²:°±¯S½5¸IÁ³»Jµ±¯Sº³h WS *0 7 O 0 ;*9 . < *9 < *9 O P R 1 8 . . 0 . O P0 *0 V8 ;*9 ;*9 > >*9 > > >*9 CB NMPOM #M HW = @VS J . O P R >*9 .R R ]+R > > < *9 ;*9 \ ? @ ]+R ;*9 ;*9 > 8 8 NMPOMPOM +@ >*9 0 > ;*9 . !0 V0 R . R. ?. U0 NMPOM M ?[ = <A 0 ?. 8 +B T0 C. B0 ?US 10J-W <+@VS JA . 0 8 8 ¸¯³MÀ@À7È<µ±½-´iÁm²:¸´EÀ °±ÀV¯³¹E¹V¯³¸ À@´E:µ±Ç7h¾¸ ´Eº¶ÅÀVÈtF7Ç7»Bµ±ÁdÅ®:®¾´5¯tÁ³²:À7»J°±»Bµ±´5¯SÃnÁm½t¯S¯S½5Å ºÌ´5Ç:Á³´B°±»J¯Sµ±ºn²:¸ ´E°±»BÀ7´5°±º1¯Ám¯SXÁ³½5º¶»B¯³Ç:ůl°±¯S¯Sº¶½-º1¯SÁCµ±ÃYµ±®7¸ ´E»JÇ5µ>À µd»Jºµ±µ±h¸ ´EÔV´E°±eÀ¾¯YÇ7²:¹Jº¶»BÇ7°±´5Å»BÇ:ÁmÅ ¯S¯mÈ ºÄ ²:½5Ç:°±´5°±Ám¯S¯Sº³½5hÇ:M°±¯rÈ ¸IºÁm´EÇ:ÀVÀ7¹Eº¶¯³²PÀ@¯Sµ±Ám¸ ´E¸ ¿7À¯SF½!µ±h ®:¯¹J»BÅ Ç:¯¼°±¯mµ±Ç:°±À:¯S½ÉËVÈ »<ÃYÇ5µd»Jµ±¸ ´EÀ M½5Ç:È °±¯SÁmº]´EÀVµ±®7¹E¯³»JÀ@µ1µ±µd¸ »´EEÀ¯iF »BCÀ´EË »B¯S²:ÁC²Pµl¯S´B»BÂÓ°dºi´EÀ:Í]¯r¸ µ±µ®:ÈV¸ ²PÀίtµ±»B®:À7¯¼½À7°±»B¯mÃnµ±Ç:¯S°±ºYÀ´B»BÂ1À<²:»B°±´5À7Ám»B¯mÅ ÄÄ µd´Eº±»»B·EEÃn´E¯SÇ7¯>ºtº»E»<´EºMË Å µ±¸I®:º¯SµÆÁC´@µMº¶»B¯r´BÀ7´B½ »BÀ:°±µ±¯m®:´Bµ±¯>µ±Ç:®:°±Å ¯³¸IÀ7º°{µSºtµh ÈV»²P¹E¯E¯ShÓÁCz:µ±´E´E°t°M¯mÍ]Ð:®:»B´@Ãnº¶¯¼²:Å ¯³¯EÅF ¯³Ãn¯³À@!µdºn»B°±¯µ±®: ¯ 8 J. 0 . 0 != ;*9 > qÁm´E®:ÀV¸I¹Eº¯³º¶À@¯Sµ±ÁC¸ µ±´E¸ À7´EÀ>º!Ç7·Eº¶¸ ¹E¯S¯S½>º¸ Ài»BÀ>Í]¸ °±À5¸ µ±´E¸ À:°±Ã·Ì5»BÅ@Ád®:»E¯³Á³ÃnÁm´E¯Ç:²:À@µ°±´E´B·EÂ:°dº¶»B´EÃÃnº³¯h´Bz:Â5´Eµ±°®:»]¯ÂÅ ´E¯mÐ5°±Ã¸IÁ³»B»BÅÅ º¶ÈVÀ@µd»Jм´BÂÓ5Ád®:¯³Ãn¯EF7º¶¯³¯>º¶¯SÁCµ±¸ ´EÀ<ÙVh Eh ·E¯m1Ð:Ç:²:»B¸I²Pº¶Ãn®:¯³¯S²:°Æ½Å ¯E»B¯mFÀ7Ð:½-Ám¯³Å <²5´JÍMµl¸Iº>¯³Í]°µ±¸ ®:µ±Á³®:¯»E¸ º¶À<º±¯¼»BÁdÃn®7´E»B¯Æ°±°døI»E½5ºnÁC¯³µ±À@´B¯³Âr°]µ±¸ ¿7»B»À7¯³°nŽ¯mµ¶»Eºµ±ºµ±¯³°±°Æ¸ À:»B·Æ:°±¯FÁm´E»BÀ:À7À7¯³º½ ¹Eµd¯³»B°À@µd½5º³¸Ih{ºµ±z:¸ ´EÀ5¸I°ºÄ µ±®:¯iº±»BÃn¯rÀVÇ:ÃYËP¯³°1»Eº !h 6%-'KR-(#()*(H+ 2& , < «h ~¯mÐ5¸IÁ³»BÅ!Ám´EÀV¹E¯³À@µ±¸ ´EÀ7º'Õ Ãn»EÆÁC¯³µ±VÀ@¯³^3°dµd_aºl»JCcµ±º¶7¸ Ç7´EEÀ7Ádd®<ºn»EµÁdÈVº]®7²:»Bµd¸I°d»BÁ³»EË<»BÁCÅ µ±´EÈί³°l°dºÆ²:²7°±»B»B´J·E°±¹V¯>¯¸I½5Ë:º¶¯°±²7¯S»E»E» Ám½:R¯S½5hº¼e¸ µ±»B¸GÏ´EÀ7À7½«®:»B¸ Å1µ±À:¯S¯³Í]º¶Í]²7®:Å»E¸¸ µ±ÁmÀ:¯S¯i¯Sº¶º³²7¸Ihºl»EÁmÇ7X¯<º¶wa¯SÃnÁd½®7²:»BÂÅ ´E¯m°¶°ÄÄ Â¸º¶Ãn°±Ç7´EÁd²:à ®<°±´J»E¯S¹Eº1»E¯SÁd½»B®ÉÀ°±´B¯S¸I½5µ±»E®:¯³½:À@¯³»B°Sµ±Ë:F¸ ¿7¸ Å»¸¯³µ°lȵ±´ ´E»BE°1À7¯³ÀVÀɽÉÇ:ËPÃY»E¯³º>ËP¸ À:À:¯³·<°S¯SFPÁm»B¯SË:Àɺ±Ç5º±µl»B¸ À7°±¸IȺ1½5¸ ´Bµ±¹Vµ±´<¸I®:º¶¸º¶¯³Ë:¯³°±Å²7Í]¯Æ»B¸Iź¶°d¯m¯i»JÐ5µ±¸¸I¯tÀ7Á³»Bº¶µ±¸ÅÓ´ ·EEÇ:À:¯³À:¸ À7¿:¸ µºÄ À:Á³ºµ±»B´B°±À@µt¸ À:µSÍ]h·7F5¸Gϵ±Í]®:®:¸®:À¾¸ ¯³µ±°±¯S»¯rº¶²7µ±¸ »Eµ1´ ÁmE¸I¯>º1¯³Àú¶¸h·E»fÀ:ÈÆGϸ ¿P´5®:Á³Á³¸»BÁmµ±À@Ç:¯SµSº¶°1²7h ËP»E¯mÁmµ¯¼ÍMﳯ³»fÀÈÉ»B»BÀVÅIȺ¶´<µÍM´5´tÁ³Ámµ±Ç:´ °YE¯³¸ À7À7º¶º³¸IF:½5Ë:¯Ç5»µ jÁm´EÃnº¶¯³ÃnÃn¯³¸IÀ@Ámµ´EÅ ´EÁmÀ´EÀ@µ±X ¸ ±ÀVeÇ:¯S¸ À7º½5µ±¸I´ÎÁ³»Jµ±µ±¯S®:ºn¯µ±¯³®:À7¯<½Ïºµd´B»BÂ>°¶µÆµ±®:´B¯Â>Å »É¸ À:¯Ám´E´EÃnÀHÃnÍ]¯³À@®:µS¸IÁdh®Ïqµ±®:®:¯¯ µ±º¶Ám®:¯³´EÃn¯1Ãn¯³¸IÃnÁmÀ7´E¯³½nÅ À@´E´BµÌÀnÂR»Bµ±°±®:²:´E¯1òP¯SÅ ¸»B»BÀ:°d²:¯]º³²PhÓ¸I¯SºL{»B¹V´E°±¸I¸Ãnº¶À:¸ Ë:·ÆÃnÅ ¯1¸¯³ÀÀ@»Eµdµ±ºÓºÓ®:Í]»B¯t°±®:Ãn¯M¸ µ±¸ ¸I¯SÀV½:º¶¹V½5²7¸IÅ»Eº¶¯t¸ÁmË:¯E´BÅ hyÂM¯q»Bµ±´iÀ<®:¸I5¸Iº½5Ád²:®:¯³°±À@¯³¯³Ãnµ±¹E¸ ¿7¯³¯E¯³À@FE°ÌµdË:ºÇ5´E»µ° ÀVÇ:ÃYËP¯³°Sh H )#+^H'- 2&32&]\ _ '(HG -"J"$#()*+ 3] 0 0 0 0 ` aaa ? B-Lbc$d ? 3$0/$.-1#12$0$-].1/!32$($-'N(1B-Le$.)(/0D&1 aaa /eZXED/)ED*)E-1G(D&),$-V&9E$($-1G$-10O E #$-1eD&9E-fe$.)( E !"$# E E K E &)e E ; E O-K 6 ahg $'-Z.1$'-iSj0$-1(12$01E 6 E4F E E e$.)( E *XE 6 KKKKKK 2&% G#()* !+ »B°±¯>´@º»Bµ>ÅIº¶¸I´n½5¯³»EÀ@Á³µ±Ám¸ ¿7¯³²5¯³µd°d»BºrË:»BŠů̴Jµ±ÍM´¼¯S5½<Ád®:ËV¯³È<Ãn´B¯Eµ±h®:¯³q°r®:²:¯r°±²:´E°±·E¯S°dÁm»B¸IÃnº¶¯rÃn°±¸Ç:À:Å ·¼¯SºMÅI»B´EÀ:°]·EÇ7´E»B°±·EÃt¯SºÄ Û ¸¸ À:Ài·>»BŸIE½5¸¯³ÃnÀ@µ±²:¸ Å¿7¯³¯³Ãn°dºÓ¯³À@¹Jµd»B»J°±µ±Èt¸ ´E»BÀ7Ãnº´E»1À:º¶·r¯ @¸ ÃnÇ:¯³²:À7Å ¯³Ám¯ÓÃn´B¯³Â5À@Å µd¯m»Jµ¶µ±µ±¸¯³´E°dÀ7º³ºFJ½5´B¸Â·E5¸ µdÁdº³®:Ff¯³»BÃnÀ7½¯EFE¶Ë:¯mÇ5ÐVµÄ :z ´E°»½5¯Sº±Ám°±¸ ²5µ±¸ ´EÀ-´BÂ1µ±®:¯À:´Bµd»Jµ±¸ ´EÀ7ºtÇ7º¶¯S½ ´E°nÀVÇ:ÃYËP¯³°dº³FMº¶¯³¯ µ±µ±¯³®7À7»J½5µY¯SÁ³½n»BÀ:»BÅÀ:²:´B®7µ>»BËPËP¯³¯m·Eµ±¸I¸ Á]À Ád»®7»BÀV°dÇ:»EÃYÁCµ±ËP¯³¯³°dº°>]¸Iºiµ±®7»B»JÀµËP¸I½5¯³¯³·EÀ@¸ À7µ±¸ºÓ¿7Í]¯³°S¸ µ±h®waÀ»>Ád»E®7½:»B½5°d¸ »Eµ±ÁC¸ ´Eµ±À¯³° F ¶º ¯SÁCµ±¸ ´EÀÖ:h h ¸I½5F ¯³:FÀ@µ±Ó¸ ¿7»BÀ7¯³°d½ º Ì»B°±¯Æ¸I½5¯³À@µ±¸ ¿7¯³°dº³hg1¯³°±¯¼»B°±¯Æº¶´EÃn¯Æ¯mÐ:»BÃn²:Å ¯Sº>´B »B¾qÀVÈV]Í ®:®:¯S¯³º¶¯°±¯»B¸ °±À«¯»BÇ7À¾º¶¯S¸I½½5¯³¸ À@Àµ±¸ ¿7ÀV¯³Ç:°ÃY¯mËPÐ:¯³Ám°d¯³º³²5F>µÆ»BÀ7»EºY½µ±Ã®:¯»fÈ¿7°d»BºÅIµÆº¶´¾Ád®7´5»BÁ³°dÁm»EÇ:ÁC°Ä µ±¸I½5¯³°S¯³À@hÓµ±j ¸ ¿7½5¯³°S¯³h{Å ¸ Ãnj.¸ µ±½5¯S¯³½ÆÅ ¸ Ãn²:Å ¸ Ç7µ±¯SºM½´E°M²P¯³Ãn°±¸¸ ÀV´5Ç7½ºXÀ:º¶¸ ´B·EµlÀÆ´5ËVÁ³ÈÁmÇ:¸ µd°±º¶°±¯³¸ À:Š·t¸IºÍ]»B¸ µ±ÅIº¶®:´Y¸ À<»BÀ» ÀVXº¶Ç:¯SÃYÁCµ±ËP¸ ´E³¯ ÉÀ°l´EÖ:°1h ¸Ih½5¯³eCÀ@Fµ±»B¸ ¿7À7¯³½<°CeMµ±´¸Iº1¸ À7Ç7½5º¶¯S¸IÁ³½»Jµ±¸ À¯µ±»®:°±¯i¯SÀ:ºµ¶´BÄ[µd²7»J»Bµ±°d¸ »B´EÃnÀ¯m´Eµ±¯³°1°l²7¸ »BÀ ¸ °d» º N Â@´EÇ:°±¯³ÃÀ7»BÁm¯lÅ7²B´ »BÂR°dµ±»B®:Ãn°±¯³¯m¯Ìµ±¯³º¶°1Ç7Á³Å ¸IÁmº¯Sµnº±º¶X¸º¶¹E¯S¯]ÁCµ±²P¸ ´E¯³°±À<¸ ´5Ô7½:h º{Eh ¸IÔVº{eC»BhÌÅIjʺ¶´Y½5»B¯³ÀÅ ¸ ¸IÃn½5¯³¸ µ±À@¯Sµ±½¸ ¿7º¶¯³¯m°SÄ h µ±|Ó»B¸ Å ¿7ÐV²:µ±¯³®7¯³°d»BÀ7º>ËP½5»E¯m¯SºÌµ±½<¸IÁ>¸ ÂM»BÁdŵ±®7²:®:»B®7¯³°d»BÈ<»EËPÁCÍM¯mµ±µ±¯³¯³¸I°d°±ÁYº¯tÁdÅ®7¯m»Bµ¶µ±°d¯³»E°dÁCº³µ±hn¯³°dqº]®:ït»fÂÈ´EÅ ËP´J¯YÍ]Ç7¸ À:º¶¯S·½»BÍ]°±¯t¸ µ±®:¯mÐV¸ Àµ±¯³¸IÀ7½5½5¯³¯SÀ5½ Ä '-XxÓº¶»B¯SÁC°±¯³µ±¸À@´Eµ±À®:¯SÖ:º¶h ¯Sº]h »BeC°±h ¯>Ç7º¶¯S½Â´E°l·E°±´EÇ:²:¸ À:·Æ»BÀ7½µ±´¼À:´Bµd»Jµ±¯iÅ ¸Iºµdº F q®:X¯]º¶¯Sº¶ÁC¸ µ±À:¸ ·E´EÅÀ¯ @Ô7Ç:h E´Bh µ±¯eCh Ád®7»B°d»EÁCµ±¯³°¸IºÇ7º¶¯S½>µ±´Ì¸ À7½5¸IÁ³»Jµ±¯MÅ ¸ µ±¯³°d»BÅ5½:»Jµd» V¯³¯iº¶¯SÁCµ±¸ ´EÀ<ÙVh Eh l´E°1»Y´E°±Ã»Bź¶ÈVÀ@µd»Jм´B¸I½5¯³À@µ±¸ ¿7¯³°dº³h q®:Ám¯Ï´EÀ7Ë7º»Eµd»BÁ À@µ1@Ç:½:´B»Jµ±µd¯«»ÁdXº¶®7¯S»BÁC°dµ±»E¸ ´EÁCµ±À¯³°ÉÔ7h ¸IºÉh Ö@eCÇ7h º¶¯S½Êµ±´¸ À7½5¸IÁ³»Jµ±¯H»BÅ Ãn´@ºµ¶Ä w½5¯³À@µ±¸ ¿7¯³°dº®7»f¹E¯ÌµÍM´tÇ7º¶¯Sº]Í]¸ µ±®:¸ À<5Ád®:¯³Ãn¯r²:°±´E·E°d»Bú µdj1»EÀVÁCȵ±¸IÁ ¸I½5E¯³¯³À@ÈVµ±ÍM¸ ¿7´E¯³°d°Ì½<ÃXº¶»f¯³È¯iËPº¶¯S¯YÁCÇ7µ±¸ º¶´E¯SÀ7½<º »EºÌh >»Æ»B¹JÀ7»B½¼°±¸IÔ7»BË:h Å eC¯ih ´E°Ì»EºÌ»Æº¶ÈVÀ5Ä µ±º¶¸¸ q´E·EÀÀ(®:¯ÆÔ7»Bh Ád°±®7¯Ïh Ö@»BeC°dÇ7h»Eº¶ÁC¯Sµ±½ ¯³°>¸ À(Ám´EÃnÁm´EÃÀ »Ç:À7»BÁCÀ7µ±½<¸ ´Eµ±À(®:¯¼Í]º¶¸ µ±¯ ®(@Ç:¯³Ë7À7»EÁmÁ ¯@ÁmÇ:´E´BÃnµ±¯Ã»Xº¶¯S»JÁCµ¶ÄÄ GÏÅ ¸ µ±¯³®:°d¯³»BÀ£ÅMX»Bº¶ÀH¯³¯Y¸I½5º¶¯S¯³ÁCÀ@µ±µ±¸ ¸´E¿7À¯³°Ô7h »BE²:h ²PeC¯SF7»B¸ °dµlº¼¸Iº1»EºËP¯³»Î¸ À:ŷƸ µ±Ç7¯³°dº¶»B¯SÅ̽´Eµ±°´¼Í]½5¯³¸ µ±À:®:´B¸ µ±À£¯Y»» q®:¯½5´EÇ:Ë:Å ¯ @Ç:´Bµ±¯Ád®7»B°d»EÁCµ±¯³°¸Iº¼Ç7º¶¯S½«µ±´-½5¯³Å ¸ Ãn¸ µºµ±°±¸ À:·@º cCJd` !Xº¶¯³¯iº¶¯SÁCµ±¸ ´EÀÖ:h h eCh Xº¶¯SÁCµ±¸ ´EÀÖ:h h ÕEeCh )* ()'7)*(H+ 2&3D& . 10 CB !"$# $&')(*+,$-.)(/0 % '1/)23 57698 1= >?1@A ' :1;$< (1B-$*)CD/0#*0$-.92$0D'&1/)ED*)BD$'1*!)E$F*!-$)E&9EGD' 4 8 CB HJILKNM 8 4 *PORQPS :L; + <NTVUXWZY k 5 [ R 8 8 8 l CB [ mnmpo 8 q 1 8 Ö ]/ ¯³¹V¸Iº¶¯S½ >5Ád®:¯³Ãn¯ »EXÁ º¶5¯Sº¶ÁCÅIµ±»E¸ ´Eº¶®<ÀiÖ:¸IºÌh Ç7h ÔVº¶¯Se!½»BÀ7¸ À½>»Eµ±®:º¯»BÀ>º¶ÈV¯SÀ@º±Á³µd»B»J²PЯ{´EÁd®7°>»BÁd°d®7»E»BÁC°dµ±»E¯³°!ÁCµ±Í]¯³°r¸ µ±®:Ám´E¸ ÀtÀ7ººµdµ±»B°±¸À@À:µd· º Ám´EÀ7ºµd»BÀ@µdº>Xº¶¯SÁCµ±¸ ´EÀÖ:h h ÕEeCh ~¯mÂ3µÓ»BÀ7½i°±¸ ·E®@µyº @Ç7»B°±¯{Ë:°d»EÁ E¯mµdº»BÀ7½YÁmÇ:°±Å ÈrË:°d»EÁm¯Sº »Bº¶¸ À7´E½tÀ7ºM¹E¯³µ±°¶´tµ±¸Iµ±Á³®:»B¯>Å5ÅIË7»B»BÀ:°{·E»BÇ7°±»B¯·E°±¯E¯Sh º¶¯³°±¹E¯S½i´E°Ó²P´@º±º¶¸ Ë:Å ¯ÂÇ5µ±Ç:°±¯1¯mÐVµ±¯³À5Ä HV®7´E»BÀ¼°±²Îµ±®:º¶¯i¸ ·EÁdÀÉ®7»B¸Iºi°d»EÇ7ÁCº¶µ±¯S¯³½°Mµ±Â®7´E°t»Jµ1»¸ Ãn¹J»BÃn°±¸ ¯S¯m½5µÈ¸I»Jµ±´B¯³Â]Å ÈƲ:Ç:´E°±Å²P´J´@Í1º¶¯SºMºi¸ µ½5¯³²P¯³À7½5¸ À:· "Ïq®:¯Sº¶¯>»B°±¯Ìµ±®:¯>ËP´V´EÅ ¯S»BÀÁm´EÀ7ºµd»BÀ@µdºrXº¶¯SÁCµ±¸ ´EÀÖ:h h feCh q®:¸Iº¸ À@µ±°±´5½5Ç7Ám¯Sº]»nÁd®7»B°d»EÁCµ±¯³°]Ám´EÀ7ºµd»BÀ@µiXº¶¯SÁCµ±¸ ´EÀÖ:h h ÔVeCh q®:¸Iº]¸ À@µ±°±´5½5Ç7Ám¯Sº1»t¹E¯SÁCµ±´E°1Ám´EÀ7ºµd»BÀ@µYXº¶¯SÁCµ±¸ ´EÀÖ:h h Ö@eCh Ó¯SÁCÄ µ±´E°1Ám´EÀ7ºµd»BÀ@µdº]»B°±¯lµ±¯³°±Ãn¸ À7»Jµ±¯S½ËVÈ 'Æh ÀVÇ:ÃYËP¯³°dº>Xº¶¯SÁCµ±¸ ´EÏÀqÖ:®:h ¯Shº¶ÔV¯ eCh »B°±¯Ç7º¶¯S½¸ Àµ±®:¯ À:´Bµd»Jµ±¸ ´EÀH´E° 8 8 3 B 8 8 8 9 VDP D& D&% @An '+@%E-(H-^)*+ ' !' L(H+ K#+ 4& +4()'N)*% !GH+ R'(HG * 1j»À<Å ´5¸IÁ³½5»J¯³µ±À@¸ ´Eµ±À¸ ¿7Í]¯³°Ì®:ï³°±»f¯iÈ»À7¹J»B»BÃnÅ Ç:¯t¯i»nÁ³»BµÀÈV²PËP¯Y¯Y´BºÂ{µ±´Eº¶ÈV°±¯SÀ@½!µd»JhÐ!j1FPÀ<´E°l¸I½5¸ µÌ¯³À@õ±¸ »f¿7ȯ³°1À7µ±»B®7Ãn»J¯µ À7º±»B»B¸IÃn½¼¯Sµ±º{´Æ»rËPµ¯ÈV²Pd` ¯l´BRÂ\̺¶ÈVµ±´À@µdµ±»J®7Ðn»JµÌ¸Iº{º¶Á³ÈV»BÀ@Å µd¯S»J½ÆÐ!h»nj1cCÀ7¸I_a½5E¯³mÀ@_Ò^µ±¸ ¿7%E¯³m°1µ±{®7`J»Jb±µl\lÀ7»B»BÀ7Ãn½¯S¸Iºº µ±»º¶®7´EÃnÅ»J´5µnÁ³¯n»JÅ ´5²Pµ±¸Á³´E´E»J¸ ÀÀ@µ±¸µ>´E¸IºtÀ¸ À hÁ³»B»qÅ ²:¯S®:½°±¯´E·E»º¶¯m°dµt»B#JÃJ´BbCÂl^¸IEº»B Å VMnÀ:¹V»B´J¸IÀ7Í]º¶¸ ½ Ë:ÀÉÅ ¯¸I»EºYºlË:º±µ±¸»BÀ7®:¸I½5½É¯¸ À:µ± ´<·@!ºY#SËP^3¸b±¯ÉÀÎ` 7d¯m`ÑR¯S RÁC7\nµ_µ±»J¸ À´ µ ¯mÍ]ÑR®:¯S¸IÁCÁdµ®»J»ÎµY¹Jµ±®7»B°±»J¸Iµn»BË:²PÅ ´E¯<¸ À@¸IµSº¼h ËPq´EÇ:®:À7¯¼½Ï¹J»B¸IºÅ Ç:Á³¯»Bźµ±¯S´E½«°±¯Sµ±½É®:¯¸ ÀιJµ±»B®:°±¸I¯»BË:Å ´5Å ¯EÁ³×»JºÆµ±¸ ¹J´E»BÀ Å Ç:µ±¯E´ h µ±À:M´´BÈ«µ À7»B@»BË:Ç:ÃnÇ7¸ µ±¯¼º¶¯Æ¯µ±»E®:´BÁ³¯ÂrÁmÇ:µ±¹J¯³°d»B°±»JÅ ÃnÇ:µ±¯E¯¸ FÀ:´EË:´E°YÅÇ5´Eµtµ±·E´ÈEÁmFM´EËPÀ5µ±¯®:ÂÇ7ËP¯<º¶´E¸ ¹J´EÇ:»BÀÀ7°±½Î¸I°d»B»BË:µ±°±´Å ¯³¯Å È<µ±¸I®:º¼°±¯¯Sº¶º¶¹J´EÇ:»BÃnÅ Å µdÇ:¯mºÌµ±¯E¸Âh-Ãn°±´Eq¯Sà ºÆ®:¸Iº±µ±ºt»B®:¸I¸I¸I½ ºº ²:L{°d¯³»E°¶ÁCµdµ±»B¸I¸ ÁmÀɯEh ¯mÐ5²:°±¯Sº±º¶¸ ´EÀµÈV²P¯SºY»B°±¯Ç7º¶¯S½µ±´Ám°±¯S»Jµ±¯À:¯³Í V¸ À7½:ºi´B Í]¹Jº¶ÈV»B®:À@°±¸¸IµdÅ »B¯1»JË:Ðt´BÅ ¯Sµ±»Bºt®:À7¯³½Yµ±°´ÉË:¯mÐ5¸µ±À7®:²:½´@°±¯Sº¶º¶¯º±ÈVº¶À@¸Å ´E´5µdÀY»EÁ³ÁC»Jµµ±µ±ÈV¸I¸ Á´E²PÀ7¯SEº{º³¯³hÈVÁmÍM°±q¯S´E»J®:°dµ±½:¯S¯ºº¶À:¯µ±¯³´r¯mÍ«Ð5µ±®:²:Å ´5´@°±Á³¯Sº¶»J¯º±º¶µ±À:¸¸ ´E´E¯³À-À7Í«ºµº¶»BÈVÈVÀ7²PÀ@½t¯SµdºÆ»JË:Ð5¸»BÀ7¯S°±º³½ ¯ F ͵±MÁ³®:»B´E¯ÆÅ °d¯S½:¹J½ ºr»B°±m»B¸I^°±»BR¯tË:\JÅ Å^¯Æ¸Iºµ±Ë:¯S¸ ½dÀ7` ½5:¸ ¸ÀÉÀ:cC_Ò·º¶b ¯S7ÁmÁCm´Eµ±_¸À7cC´EhºÀµ±°±qÔ7Ç7hÁC®:µd´@hnº>º¶¯rq¸Iº>®:µ±µ±®7¯n®:»J¯Ãnµ1Ë:´@º¸ À7µr* ½ÂÇ:º¶À7ÈV½:À@¯m»BµdÐ5»EÃn²:ÁC¯³µ±°±À@¸I¯SÁ º±µdº¶»BE¸ ÅÓ´E¯³È@À´BÄ F ËP²:ÅI¯S»BÁ³¸ »BÀ:Ç7¯Sº¶½t¯<¸ Àn»BÅ µ±1¯³´B°±Ãµ±®:ºÓ¯³°Æ´B ¹J»B°±*¸I»BË:Š̯¯mË:Ð5¸ À7²:°±½5¯S¸ À:º±º¶·-¸ ´EÁmÀ7´Eº³À7hºqµ±°±®:Ç7¯]ÁCµd´BºÆµ±®:Á³¯³»B°À«¹J»BËP°±¯¸I»B¯mË:ÐVÅ ¯Ä Ë:º¶¸ ¸ ´EÀ7À7½5º>¸ À:X·º¶¯³Ám¯>´Eº¶À7¯SºÁCµ±µ±°±¸ Ç7´EÁCÀ7µdººlÔ7»Bh °±E¯ h Ô7F5-Ô7Rh F h -F5»BPÀ7F½Ô7-h h ÔVeC5h F7»BÀ7½ ƯmÐ5²:°±¯SºÄ ~~¸¸IEº¶²>¯¯mj1Ð:ÅÁm·E¯³´E²5ŵ»B´EÀ7°Ó½ÎL{xÓ´E»EÃnº±Á³Ãn»B´EÅÒFÓÀi»B~À7¸I½º¶²Ç:FBÀ:5ÁdÅ ¸ ®:E¯³¯¼ÃnÃn¯{´@¸Iººµn»1´Bºµdµ±»J®:µ±¯³¸I°nÁ³»B½5Å ¸IÈr»BÅ º±¯SÁmÁC´EµdºY²P¯S´B½  ÅI¸I»B½5À:¯³À@·Eµ±Ç7¸ »B¿7·E¯³¯°{¸IÍ]º¸ËPµ±®H´EÇ:Ë:À7Žn´5Á¸ Àƾ»>ºµ±²:°±°±Ç7´EÁC·Eµ±°dÇ:»B°±Ã.¯Eh µ±®:q¯³´Î°±¯l¯SÁm»E´EÁd°±®«°±¯S²:º¶²PÅI»E´EÁmÀ7¯<½:Í]ºÓ»n®:¯³b±°± ¯B^»B` À ´BÂ̵±®:¯²:°±´E·E°d»Bà µ±¯mÐVµÆÍ]¸ µ±®:¸ À«Í]®:¸IÁd®¾µ±®:¯Ë:¸ À7½5¸ À:· ¸Iº¹V¸Iº¶¸ Ë:Å ¯Eh N PN R PN 5 N N N ! N N<O N P *A< 7=B< 5 8 R=B9 =B9 =B< =B9 @>*9 *A< :A O N qºµ±®:°±Ç7¯ÁCµ°±¯³µ±·E®7¸ ´E»JÀ-µ]¯S¸Iººµd»B½5Ë:¯mŵ±¸I¯³º¶°±®:Ãn¯Sº¸ À:µ±¯S®:½-¯rË:ËV¸ÈÎÀ7½5µ±¸®:À:¯· :²7¸»B°¶µ±µ±®:¸IÁm¯rÇ:Ë:ÅI»B¸ °nÀ7½5Ë:¸ ¸À:À7·t½5¸¸IÀ:º·Î¯SºÁmµd´E»BË5À5ÄÄ Å¸I¸Iºº¶®:µ±®:¯S¯Ì½¯³ËVÀ@Ènµ±¸ » °±¯ * * r>¯mÐ5¯mÐ5²:²:°±¯S°±º±¯Sº¶º±¸ º¶´E¸ ´EÀÀFBÂh´E|°{¹E¯m¯³Ð:°±»BÈtÃnÃn²:¯³Å ¯EÀ@FEµ±µ±¸ ´E®:ÀƯ³ÀÆ´B¸ µd»BºÀÆ°±¯³¸I½5·E¯³¸ ´EÀ5À Ä µ±µ±¸®:¿7¯r¯³°M¸ À:°±À:¯m¯³Â¯³°±Ãn°dº´@µ±º´iµMµ±´B®:¯lµ±®:Ë:¯Ì¸ À7°±½5¯³¸ ·EÀ:¸ ·Y´EÀ7´BºMÂÁmµ±´E®:À@¯lµd¸I»B½5¸ ¯³À:À@¸ À:µ±¸·i¿7¯³µ±°{®:¯Ìµ±®7Ç7»Jº¶µM¯Ehy¯Sºw[µd»Bµ±Ë:®:Å ¯³¸Iº¶°±®:¯Ì¯S¸I½ º µ±µ±À:®:´E´²¼¯³ÀË:Å ¸¯³À7µ±¹E®:½5¯³¯Æ¸Å7À:¯³Ç7·ÆÀVº¶¹V´B¯Æ¸Â°±°±µ±´E¯m®:À:¯³¯iÃn°d¸Iºr¯³½5À@µ±¯³µS´À@F@µ±¸µ±¸ ¿7®:»B¯³¯Æ°1ÀVË:ÈÍ]¸ À7®:XÁd½5´@®7¸ º¶À:»B¯r·<²5°±µ±¯³Â¯³´E·E°d°>¸º´EÔtµ±À®:»BÁm¯ÆÀ7´E¹J½ÆÀ@»BµdÖ@°±»B¸Ie¸ »BÀ7VË:º¸ ÂÅ ¯µ±µ±®:®:¸ ¯>À¯³°±Ç7¯lµ±º¶®:¯E¸I¯º F À:´Ë:¸ À7½5¸ À:·t´E°µ±®:¯>¸I½5¯³À@µ±¸ ¿7¯³°SF:¸ µ1¸Iº]º±»B¸I½¼µ±´nËP¯ Rd` R\Jh !8 R=B< * A< =B< * A< 8 >PN PN /%+B%()*(#+@+ ?) 4^ #+ D&32& v1Á³»J´µ±¯S´Eº Ë ¯SÁCµnº±»Jµ±¸Iº¿7¯SºiÃn´E°±¯µ±®7»BÀδEÀ:¯¼´Bµ±®:¯¼Â´EÅ ´JÍ]¸ À:·<²:°±¯S½5¸ Ä CB "D//1-$)E < ')F)"D/ < .9BD0 < ,$-.)(/0 < 3$0/$.-1#12$0$- < 3D$&)0 < E2"-10 < ')(0D&9E$G < 3D/0( < q5®:¯Sº¶d¯ÉmbC²:F°±d¯S:½5J¸IÁ³bt»JXµ±´E¯S°ºd½5:¯mJ¿7b±À:E¯Ém_amµ±®:b¶eC¯FµcCÈV_ÒbC²P^ ¯SºÎBF d#J`Sd` m_ad`J bC7F F 77`JJbC^3_ÒbCFFn»BÀ7cCJ½ Rdb±` `F ¸dµld\ º±5»Jµ±b±¸Imºh1¿7q¯Sº®:À:¯Y´E¯³À:Ãn¯r²5´BµÂȵ±®:Å ¸I¯iºµl»B¸IËPºÌ´J»¹E¯Ìº¶²P²:¯S°±Ám¯S¸I½5»B¸IÅÁ³»J´Eµ±Ë ¯Sº³¯Sh ÁCµÌ´BÂÓ¸ µdº1´JÍ]ÀµÈV²P¯ ¹Jj1Ám´E»BÅ À7ŵ±Ç:®:½5¯t´E¸ µ±Ç:Á³¸ ´E·E»BÀ7®ÏÀ»BËPµ±ÅÓ®:¯tµ±¯³¯SÇ7°±º¯º¶µS¯Sh¸I½ºjl»E»-ºiºÌ¯mº¶»Ð5¯³²7ËP²:»B´VÅI»B°d´E¸»JÅÀ:¯Sµ±¯S¯<»B½ÀËP¸ ¹J´VÀλB´EŠź¶Ç:¯S¯S¯i»BÁCÀ«µ±Â¸ ´E´Eµ°1À ÈVµ±²PÖ:®:¯Eh¯tFÌh²:»BEÇ:ÀVF°±ÈÏ»B²PÅ ´@{5º¶Ád¹J¯i®:»B¯³Å´BÇ:ÃnÂ{¯S»¯º µ±Ám»B®:´EÀ7¯¼Ç:½¼À@ÍMµ±µM®:´E»E¯>°dºÓ½ ÍMµ±°±´EÇ:µ±°d¯1°±½ Ç:¸ ¯À¼Â»Bº¶ÅIÇ7µ±º¶´Ád¯ ®Æi°±¯m»rµ±Â´¯³µ±°>¯S°±º¯mµ±µ{´¯³¯m°Ð:»Bµ±ÁmÀV´ ¯³È ²5µ{5"PÁdÂh ´E®:° ¯³Ãn"P¯Æhy¹Jq»B®:Å Ç:¸Iº¯Æ°±¯m¯³Ð:²PÁm´E¯³°¶²5µ{µ Ç7º¶¯S"Pº F Þ j1 EÀ_am¸ b ÃnR²P ´E°¶b±µd »BRÀ@b±Cµlc³Ám ´E7À7_aJÁm¯³_Ò^²5` µ]¸ À<´BÂy5»BÁdÀ®:¯³´EÃnË ¯Æ¯SÁCXµ1»BÀ7»E½º]»n~¸Iº¶º¶¯ ²P@eMÇ:¸I¯³ºMÀ7µ±Ám®7¯r»J´Bµ1ÂÓ´BÁd®7µ±»B®:°¶¯ Ä ·E°±»E¯³¯³ÁC²:µ±° ¯³°±°d¯Sº³º¶¯³h¸IÀ@z:º]µd´E»Jµ±°y®:µ±¸¯i¯m´EÐ:Àº¶»B¯ Ãn´B@Â{Ç:²:¯³»Å ¯EÀ7ÅFEÁm¸I¯>»BºµrÀY´BÁm¯m´EÐVÁdÀ7µ±®7¯³º¶»B¸I°±º°dÀ7µ±»E»B¸ ÁCÀ:ÅVµ±·Æ°±¯³¯³°d´B²:º ÂÓ°±¯Sµ± º¶®:¯³T ¯YÀ@:µd¸ F:À@»J»Bµ±µ±À7¯³¸ ´E·E½Ài¯³°d»B´Bº ÀÂ7µ±¯m®:ÐV»B¯µ±À7¯³¸½ °±À@À7µ±¯m»BÄÅ ¸Iºµ±®:¯iº¶¯ @Ç:¯³À7Ám¯r´BÂyÁd®7»B°d»EÁCµ±¯³°dº T !' :h qº±»B®:°±¯H¸ ŠȯmÐVÇ:µ±À:¯³¸°±@À7Ç:»B¯EÅh °±¯³q²:°±®:¯S¯-º¶¯³¸À@À@µdµ±»J¯³µ±·E¸ ´E¯³°ÀÊ´BÂ<»B»BÅIÀ º¶´´EË®7»E¯SºÁCµÎ°±¯³¸I²:º °±¯SÀ:º¶´B¯³µÎÀ@µdÀ:»Jµ±¯S¸ Ám´E¯SÀ7ººÄ ·E°d»B ²:® T W»BVÅIVº¶´<V Ì'®7'»B»E' À7ºr½ µ±X®:º¶¯¼¯³¯>°±¯³º¶²:¯S ÁC:°±µ±¯SFE¸ º¶´E»B¯³ÀÀ7À@½nµdÖ:»Jµ±h µ±®:¸ h´E¯lÀ7eCÅ º¸Ih ºµM¸ ÀV µ±T®:¯Ì²: °±¯³' ¹V¸ ´E»BÇ7À7º½ ²7»B°d»JT Ä <º¶´EÃn»BÀV¯EÈFR´Eº¶Ç7Ë Ád®<¯SÁC»Eµdº]º1®7²:»f°±´5¹E¯iÁm¯Sº½5µdÇ:»B°±À7¯S½:º³»BFP°d½5½´¼¯mÀ:ÐV´Bµ±¯³µl°±®7À7»f»B¹EůY°±¯³º²:µd»B°±¯SÀ7º¶½:¯³»BÀ@°dµd½»Jµ±°±¸ ´E¯³²:À7°±º³¯SF:º¶Ë:¯³Ç5À5µÄ µd°±»J¯³²:µ±¸ °±´E¯SÀ7º¶º<¯³À@Xµd»B»JÅ µ±µ±¸ ®:´E´EÀ7Ç:º{·E®«´E°²7µ±»B®:°¶¯³µ±ÃƸIÁmeCÇ:h ÅI»B°¸ Ãn²:Å ¯³Ãn¯³À@µd»Jµ±¸ ´EÀ7ºnûfȾ½5¯m¿7À:¯ ´Ej1Ë5Ànµd»B¯m¸ÐVÀµ±¯³µ±°±®:À7¯r»BÁmÅ5´E°±°±¯³°±²:¯S°±º¶¯S²Pº¶´E¯³À7À@µd½5»J¸ À:µ±¸ ·>´EÀi´EË Ã¯S»fÁCÈiµrËPX¯]º¶¯³Í]"¯ °±!$¸ µ¶#!µ±-¯³ Àt7¸ F@Àº¶¯S»ÌÁC²:µ±¸°±´E´EÀÆ·E°dÔ7»Bh ãEh µ±eC´ h NQP P . V0 U. N R N ] R ] 8 R V0 N . 8 T0 8 " " .p 0 B0 0 T0 . ] 8 " .p9 N] 6&)!('K *^H*#+B#()'7)*(H+ D&3D& R N N<O . T0 . *9 E´°±|Ó¯³Ç5ÐV²:µ±µ±°±²:¯³¯SÇ5°±º¶À7µS¯³hy»BÀ@Å1µdq»J°±®:µ±¯³¸¯²:´E²:°±À7¯S°±º³º¶´5F{¯³ÁmÀ@»B¯SµdÀ7½5»J½ÎÇ:µ±°±¸ ´Eµ±¯ ®:À7¯ºn²:Á³»Bn°±´5ÀHXÁmº¶¯S»B¯S½5ÅIÁCº¶Ç:µ±´É¸ °±´E¯ËPÀn¯Ö:h Ç7Ö:º¶h ¯S¾½-e!²7X»Bº¶´E¯S°d°ÆÁCº¶µ±¯S¸ ¸ºÀ:´E²:¯mÀÏÐVÇ5µ±µÖ:¯³h °±Ö:»BÀ7À7h »B½ eÅ ·E²P¯³´JÀ:ÍM¯³¯³°d°¶»Jµ±Ç:¯SÅ!ºn¸ À:µ±²:®:Ç5¯³ÃµmØfh+´EÇ5qµ±²:´EÇ5·Eµ]¯mµ±Â®:»E¯³Ám°S¸ Å F¸ µµ±ÈE®:h ¯³È«²:°±´J¹V¸I½5¯»BÀϯ³Å ¯³·@»BÀ@µ»BÀ7½ ¯m¯mv1ÐVÐ5´Bµ±²:µ±¯³°±¯i°±¯SÀ7º±µ±»Bº¶®7¸ÅB»J´E°±µlÀ>¯³²:µ±¯³®:°±¹J¯S¯t»Bº¶Å º¶¯³Ç7¯À@»J@µdµ±Ç:»J¸ À:µ±¯³¸·1À7´EÁmÀ̵±¯i´l´B´Bµ±Â@®:Â{µ±¯M®:Ád®7¯¸ À@»B¸ µ±À@°d¯³»Eµ±·E¯³ÁC¯³·Eµ±° ¯³¯³°d° º B°dFS»J¯³ µ±¹E®:¯³¯³ÀÌ°Sµ±Ff®:!¸ µy´E' ¸IÇ:º·E¸I»B®>º ÀY¸ Rµ{¯m`JÐV^I_c!µ±¯³»B»B°¶ÀÀ Ä À7Í]»B®:Åy¸IÁd°±®Æ¯³²:»B°±°±¯S¯º¶¯³µ±À@®:µd¯Ì»Jº¶µ±ÈV¸ ´EÃYÀ<ËP´B´EÂÅ »Æ»Bµ±®:À7°±½t¯³¯mµ±Ä[®:¯³¯lÅ ¯³¸ ÃnÀ@µ±¯³¯³À@·Eµr¯³°dÅ º¸IºµSF!»Bµ±À7®:½¯nÖ:¯³hÓÅ ¯³5ÃnÁd¯³®:À@¯³µdÃnºr¯E´B× ºÂ µ±º¶º¶®7ÈV´EÃnÀ@»Jµlµd¯i»J¸IÐ º1´EË »B®7À»E¯SºYÁC¯mµSÐ5µ±h1²:®:q°±¯¯S®:º±²:¸Iº¶°±ºl¸ ´E´EÁ³²PÀ»B¯³À¸I°¶º1µÅÈ»B¯S»EÅIµ±º¶½®7´t»Jµ±µ±µÆ´®:¯i»BÁm´EÀV¯mÀ5ÈÐVµ±Ç7º¶¯³¯º¶°±¸@À7´EÇ:»BÀ¯³Å!FPÀ7°±º¶Ám¯³¸ ¯²:À7°±Ám´B¯S¯iÂ̺¶¯³¸ ÁdµÌÀ@®7µdûB»J°dµ±»f»E¸ È´EÁCÀµ±À:¯³´B´B°dµºÂ ËP»EÁC¯Mµ±´E¯³ËV°dº¹V¸¸I´Eº{Ç7¸ À@ºµ±´E¯³Ç5À7µy½5´B¯SÂ7½nÁmµ±´E´tÀ@µ±½5¯m¯³ÐVÀ:µy´BÍ]µ±¯Ì®:½:¯mµ±»J®:µd¯³»i°Ó´E»1°{·E²:¸ °±¹E´E¯³·EÀY°dº¶»B¯ Ã@Ç:FEË:¯³À7Ç5ÁmµM¯M¸ µ´BÂ7¸IºMÁd®7»B»BÅIº¶°¶´ Ä »r»Eº1º¶´E¸ À@Ç:µ±°d¯³Ám°±¯{²:´B°±¯mÂRµ±²P¯³´J°dÍMºl¯³»B°SÀ7FB½º¶¸ ÁmÀ7´EÁmÃn¯M¸²:µÓ¸ ů³»E°dÁmº]¸ Å µ±¸ µd®7»J»Jµ±µl¯Sºyµ±°±Í]¯S°±»J¸ µÌµ±¸ ²:À:°±·Ì´E²:·E°±°d´E»B·Eðdº]»BûEºlº½:º¶Ç7»JÁdµd®» X´E°]¹V¸IÁm¯r¹E¯³°dº±»@eCh ´EÃqË ®:»B¯tÀ:¯SÁC¸ º¶²:µdÈVºYÇ:À@ÅI»Eµd»J»JÁ³µ±Ð¸ÁmÀ:´E·«´BÃn²7µ±¯m®:»BÐV¯ÎÀ:µ±¯³¸ ¯S´E°±º>À7Ë »Bµ±¯SÅ®:ÁC¯°±µd¯³º²:½5¯S°±¸ À£¯Sº±Ámº¶¯³°±µ±¸À@®:²5µd¯-µ±»J¸ µ±´E»B¸ ÀδE²:À7²:´Bº°±Â]´E´B²:µ±Â®:°±¹J¸I¯¼»J»Bµ±²:°±¯É¸ °±´E¸ Ç7Ãnº¶¯Sº ¸ÁCµ±Vµ±¸ ¸¹E¸ ´EÀ7¯SÀ7½:º>ººl´E´B´B°Â Ád®7»B²5µ±¯³°1Ö:h ¦ »B°±¸I»BË:Å ¯Sºn»BÀ7½-´EË ¯SÁCµdºnº¶Ç7Ád®«»Eºt²7»B¸ °dº³F¹E¯SÁCµ±´E°dº³F{»BÀ7½¾ºµ±°±¸ À:·@º ¸ºÃnµ±°±²:¸ À:Å ¸I·7ÁmF]¸ µ±ÂÅ ÈÏ´E°½5¯m¯³Ð:À:»B´BÃnµ±¯<²:Å Å ¯E´5FÌÁ³»J½5µ±¯³¸ ´EÀ:À7´Bµ±º¯Sº´E°»Eº¼º¶¯ @ÃÇ:»B¯³ÀVÀ7È«Ám¯Sź´5Á³´B»JÂiµ±¸Å ´E´5À7Á³»Jºµ±¸»E´EºÆÀ7º³µ±®:h¯³°±j ¯ »BÁm´E°±¯°±°±¯SÁdº¶®7²P»B´E°dÀ7»EÁC½µ±¯³µ±°d´º»¸ ÀHÂÇ:µ±Å y®:¯ÉûEºµ±Ád°±®:¸ ¸À:À:·7¯Yh ÍM´EXq°d½!®:h ¯Se<º¶¯jÊÅ ´5À:Á³¯³»JÍ.µ±¸ ´E¹JÀ7»Bź¼Ç:¯tÀ:¯³Ã¯S½H»fÈÀ:ËP´B¯µ ²:ź´5µ±°±´EÁ³´5»J°±Ám¯Sµ±¯S¸½½5´EÇ:À7¸ À@°±º]µ±¯E»E´FlºË:´EËPÀ:Ç5¯m¯nµÂ´E´Bµ±°±®:ÂM¯E¯ hµ±®:º¯Sµ±º¶°±¯¸ À:Å ·¾´5Á³Ám»J´Eµ±À@¸ ´Eµ±À7¸ ÀVºrÇ:Ç7¯Sº¼º¶¸ À:µ±·´«µ±½5®:¯³¯ À:´Bµ± ¯µ±®:!¯Éº±»B-Ãn ¯ ËV¸Ij1ºyÈÀ>¯ @»´EÇ:Ë ²:¸ ¹J°±¯S´5»BÁCÅÁmµ¯³¯SÀ@½5¯mµÓµdÇ:Ád¸ °±ÀY®:¯Y¯Sµ±º¶½Ì®:Ç7¯]ÂÁd°±®º¶´E¯³Ã£À7»Eºº¶»¯M Å´B´5 RÁ³»JF !µ±¸!´E[tÀFSXº¶ËV ¯SÈÌ!ÁCµ±»¸ ´E¹JÀn»B"P°±Ö:F5¸I»Bh´EfË:° e!Å ¯Óµ±´Ì°±¯mµ±Â®:¯³¯°±¯³!´EÀ7Ë Ám¯Ó¯S´EÁC"Pµ° F ÅI»Eºµ1ºµ±´E°±¯S½¼¸ Àµ±®:¯>Å ´5Á³»Jµ±¸ ´EÀËP¯m´E°±¯Ìµ±®:¯r¯mµdÁd®h ¹JGÏ|»B¹E°±®:¯³¸I¯³°±»BÀ:ÈË:¯³Å Å ¯¹E´5¯³´EÁ³°{»J°µ±µ±´E¸®:Ë´E¸IÀºM¯S°±ÁC¸Iº]¯³µ²Pï³´E¹E°¶»B¯³µ°°Eº¶°±¯S²P¯m½Æ¯S¯³» µ±°d5´Æºº{µ±º¶´B´Ì®:´J»]ºÍŵ±´5´EÍ]Á³°d»J»B®:µ±·E¯m¸ ¯1´Eµ±®:À>ËP¯³¯³µ±°1¸®7À:¸»Jµ1·nµ¸I»B¸Iº]ºÅ ¸ À:´5À´BÁ³µyÇ7»Jµ±º¶¸ ¯SÀi¯E½th{Ç7v1º¶´E¯E´ ° h Àµ±V»n®7Ç:¹J»JÃY»BµY°±ËP¸I»B¯³»B°±°nË:¯nÅ ´B¯>À:Â1´B´Eŵi°1´5Á³¸´EÀÉ»JË µ±Ç7¸ ¯S´Eº¶ÁCÀ7¯EµSºtFF:»BÍ]»BÀ7°±®7¯½»JµlÁdµ±®:®:¸Iº]´@¯Æº¶Ãn¯³Ád®:À ¯S´@»Bº¶À@°±¯³µl´EÀà ¸IºÅ ´5µ±µ±Á³®7®:»J»J¯µ±µÌ¸ ´Eº¶»B¯mÀ7À<µnº>´B»B»BÂl²:°±¯n²:Å ´5°±Ã´EÁ³»J²:»Bµ±°±° ¸ ¸IE´E»J¯SÀ7µ±½ ¯º µ±´E´nË ¸ ¯SÀ7ÁC½5µ]¸IÁ³¸Iº]»Jµ±Ã¯r»Eµ±®7½5¯Ì»Jµµ±´Æµ±®:½5¯³¯³ÈÀ:»B´B°±µ±¯Ì¯ÌÀ:µ±®:´J¯³Íø hÀÇ7º¶¯>ËP¯m´E°±¯Ìµ±®:¯r¹J»B°±¸I»BË:Å ¯r´E° waÇ:À¯SºYôB»BÂlÀVÅȸ µ±¯³º¶È5°d»Bºµ±ÅM¯³¯mÃÐ5º]²:°±¸ ¯Sµlº±¸Iº¶ºl¸ ´E½5À7¯Sºdº¶e̸ °dµ±»B´Ë:Å °±¯r¯Sº¶Â´E¸I½5°l¯¼Ám´E¸ À-À7º°±µd¯S»B»EÀ@½VµdÄ[ºi´EXÀ:¸ÒÅh È@¯EÄ[h{Ãnµ±®:¯³Ãn¯i¹J´E»B°±ÈEÅ Ä h ´µ±Eq¯³Ë ´HÅ ¸¯SÀ:¯mÁCÐ5·µ ²:Í]°±µ±¯S®7®:º±»J¯mºµ-µ±®:µ±½5®:¯³¯³°Y¸Iº³À:Fiµ±´B®7µ±¸ »Jµ¯SµnºÉ¸Iº´EÅ ´5Ë ÁmÁ³´E¯S»JÀVÁCµ±µt¸¹E´E¯³¸IÀ7À:ºYºÉ¸ ¯³ÃYÀ@¸IºÎÇ5µµd»E»Bµ±º±´HË:º¶Å ´5¯¼¸ ÃÁm¸I´E»J»B°tµ±·E¯S¸¸ Ãn½ÊÀ:¯ ÃYÍ]µ±Ç5¸ ®7µ±µd®(»J»BµË:Å» ¯E¯³¹EhÉP¯³»B°±waÀÈ· º¶Ç7 Ád* ®! º¶È5ºµ±¯³Ã º]Å ¸µ±Æ¯³°d»B»B°±Å¯YÁm´E¸ ÃnÀ7ºÃYµd»BÇ5À@µdµd»Bº1Ë:»BÅ ¯nÀ7½¼´EË µ±®:¯S¯YÁCµdºº³µ±F!°±¸Í]À:®:·@¸º]Å ¯n°±¯m»Bµ±Å Ç:y°±´EÀ:Ë ¯S½¯SÁCËVµdÈ º 5>*9@<BA > *9 " 8 " 8 . !N T0 7 5)*' L"$G#K D& @> <> N;*9 9 B; > >*9 @> 79 >*9 3 3 = 7 @> h »Eº¶¸IÁrÁm´EÀ7Ám¯³²5µdº Ù ÃY¸ÁmÀ@°±µ±Ç5¯S´Æ»Jµd»Bµ±»t¯SË:½ÎÅÅ ¯E´5hÎËVÁ³»JÈÉw[µ±µ¸µ±´E®:¸IÀ¼¯ºnµ±»B´B®7À-µ±»J®:µ1¯³¯³°±°n¸Iº]°±´E²:½5°i°±¯³´5À:µ±Ám´É´B¯Sµ±½5»J¯SÇ:µ¶½µ±°±¯³¯SËVÃnºtȼ²5Å »B¸IµnºÀµ±¯Sµ±¸ ´É½-ÃnÃYº¸ Àε±´EÇ5°±µdµ±¯®:»BË:¸I»ºnÅ ¯>°±À:¯³´E¯³²PË Í ´E¯S°¶¹JµÁC»BµS»BhÅ Ç:°±¯¯ 8 * ^ )'%K *# !+@( D& & wab±Ãnd ²:5Åbd¯³cCÃn^Y#J¯³mÀ@hµd»Jxµ±°±¸ ´E´5À7Ám¯Sº½5´BÇ:ÂP°±5¯nÁd®:Á³»B¯³ÅÃnIºÌ¯Mµ±»B®7°±»J¯{µY°±¯´5@Á³Ç:ÁmÇ:¸ °±°>¯S½Ì¸ À µ±´lÁm¯³ËP°¶¯ µd»BR¸ b±À ` 7º¶mÈVb À@>µd»E_aÁCJµ±^ ¸IÁ ÃnËPÁm´E´E¯³À@Ç:À@µ±À7µd¯m»J½5ÐVµ±¯Sµd¸ ½Hº´EÀ-½5ÀV¯mÇ:¸I¿7ºtÃYÀ:²:ËP¯S°±½¾¯³´E°²PËP¯³´B¯³°±ÂYÅ Å´JÈÉ»EÍÁCµdµ±»B»B¸ ¹E¸ °±Å ¯<¯Ä[°±¯Sµd µdÁm»B»BÇ:¸ ¸Å>°dÅ1º¶Á³¸Á³¹E»B»BůÆÅIIº³º³¸ h ÂÌ× h«¸ jµj º¶Ç:Á³5»B²:ÁdÅ ²PÌ®:´E¯³¸I°¶ºÃnµdºn¯Em»B¸ _ÒÃnÀ-Y^ #J²:Ç:Å À5¯m¸ ÄÄ µ±Ám®:Å Ç7¯½5Á³¯S»BºrÅ Á³¯S»B½ Å Iº1²:°±µ±´5®7Ám»J¯Sµr½5ÃÇ:°±»f¯ÈÃËP»f¯tÈÉ°±¯mºµ±µ±Ç:¸ Å °±MÀ:°±¯S¯m½µ±Ç:°±°±´EÀà hv1¯³¸ ´Bµ±µ±®:¯¯³°Ìµ±®7ËV»JȵYµ±µ±®:®:¯n¸IºYÁmÇ:¸ À5°¶ÄÄ °± ¯³À@µYÁm´EÀ@µ±¸ ÀVÇ7»J#µ±¸ ´EÀ´E°>ËVÈÁm´EÀ@µ±¸# ÀV-Ç7 »Jµ±¸ ´EÀ7µ±º>®7»JÁ³µ»B²5»Bµ±°±Ç:¯Ó°±ÅI¯S»J½µ±¯³°¯S»B¸ ÀV°±Å¹E¸ ¯³´ °rE¯SËV½!È h wa»JÀiµ1µ±Ãn®:´@¯]º»Bµ]Ë7´Eº¶À7¯³À7Ám¯>Ám¯{»B´BÀ7ÂP½¼Á³µ±»B®:²5¯>µ±Ç:»E°±ÁC¯Sµ±½i¸ ¹EÁm¯>´EÀ@Á³»Bµ±¸Å ÀVIºÇ7ÍM»Jµ±´E¸ Ç:´EÀ7ÅI½¼º³FBËPÁ³¯r»Bŵ±I®:º´@Ámº¶´E¯ÌÇ:ÅIµ±½i®7»J°±µ1¯mµ±®7Ç:»E°±½À À:º¶¸ ´B´EµlÀÈEÁ³¯m»BµlÀ°±¯mËPµ±¯rÇ:°±´EÀ:Ç:¯SÀ7½!½hj¸ À ´E°±Ãh »BŽ5¯m¿7À:¸ µ±¸ ´EÀ´BÂÓ²:°±´E²P¯³°]µd»B¸ Å°±¯SÁmÇ:°¶Ä ! P <=@= i !< >@>*9 ] 1] R R 0 & "# "#$&%' $&' (*),+ -.*#/1032546,)7' 08#),)!9:)!9<;=/>4#?46@$&' (*)7$A4' +56!4+ +5B),6!4%03)$&C) 6,/#$&' #%54D$&' /#E$&C54D$8' 0F%03)!9G' #G$&C)$A4' +56!4+ +C540H$&C)70&4IE)703),I?4#$&' 6,0 40F$&C)76,/#$&' #%54D$&' /#E2540303)!9G$&/1$&C)2:>&/6,)!9:%:>&)J6,/#$A4' #' #K1$&C)76!4+ +L M + $&C/%KC4#N' IE2:>&/2)@>E' IE2+ ),IE),#$A4D$&' /#OIE' KC$G%03)P4Q#)@RS6,/#:T $&' #%54D$&' /#U' #$&C)G6!4+ +.H4V>&)@$&%:>&#Q$&/W$&C' 0X#)@R6,/#$&' #%54D$&' /#RY/%+ 9 B)7;=/+ + /!RY)!9V' IEIE)!9:' 4D$&),+ -GB-E4Z>&)@$&%:>&#E$&/1$&C)J6,/#$&' #%54D$&' /#?2540303)!9 $&/G$&C)X2:>&/6,)!9:%:>&)L M 2:>&/2)@>&+ -V$A4' + T>&),6,%:>&03' (*)<' IE2+ ),IE),#$A4D$&' /#V>&)@T $&%:>�Y$&/[$&C54D$J6,/#$&' #%54D$&' /#P9:' >&),6@$&+ -L \>&/2)@>7$A4' +]>&),6,%:>&03' /#WR407/#)1/;^$&C)Z6,),#$3>A4+]' 9:)!407' #`_$&),),+ )14#59 _%0303I?4#]a 0[/>&' K' #54+7(*)@>&03' /#N/;1_6AC),IE)LUbYC),' >Gc>&0d$V_6AC),IE)E' #:T $&)@>&2:>&)@$&)@>J' IE2+ ),IE),#$&)!9?B/$&CV;=%#6@$&' /#0J4#59P46@$&/>&0,Le8/#$3>&/+]f5/!R R40P)@g:2:>&),0303)!9h%03' #KO46@$&/>&0,.iR7C' 6ACj9:' kl)@>&)!9; >&/Im;=%#6@$&' /#0W' # $&C54D$E$&C)@-O2540303)!9O$&C),' >E>&),03%+ $&0E/#N$&/U4#/$&C)@>V46@$&/>V' #0d$&)!49N/; >&)@$&%:>&#' #KW$&/n4W6!4+ + )@>!LW"#$&C)[$&)@>&IE' #/+ /K-/;$&C' 0X03),6@$&' /#].)!46AC 46@$&/>Jc5#' 03C)!9?R7' $&Cn4<$A4' +]6!4+ +]$&/E4#/$&C)@>i46@$&/>!L _$&),),+ )X4#59P_%0303I?4#V+ 4D$&)@>J/B03)@>&(*)!9?$&C54D$7' #V$&C),' >7' #$&)@>&2:>&)@$&)@>$&C) 6,/9:)1;=/>Z9:)!4+ ' #KER7' $&Cn46@$&/>&0JR40J' 9:),#$&' 6!4+]$&/G$&C54D$7;=/>i;=%#6@$&' /#0 4#59V$&C%0Y$&C)@>&)iR40J#/[#),)!9V$&/[' #6,+ %59:)1B/$&CW' #W$&C)Z+ 4#K%54K)L R R R R N j_a E_a_ÒJhy^ qr»Bd¸ ÅPÁmÓ´E¸IÀ@º¼µ±¯m»ÉÐVµd²:º{°±´5»BÁm°±¯S¯1½5½5Ç:¯m°±¿7¯À:¯SÁ³»B½Å ]¸ À7µ±½5®7Ç7»JÁCµ¼µ±¸ ´5¹EÁ³¯³ÁmÅ ÈEÇ:hy°dºv1´B¸ ÀHµ±¯1»«µ±®7_a»JJµM^ Ì»rdµd` »B¸ Å ÅIÁm»B´EÃYÀ@µ±ËR¯m½:ÐV»tµr¯m¸Iº>Ð5²:»B°±Å ͯSº±»fº¶È5¸ ´EºlÀ½5h ¯mµ±¯³°±Ãn¸ À:¯S½Í]¸ µ±®°±¯Sº¶²P¯SÁCµÌµ±´»¼²7»B°¶µ±¸IÁmÇ:ÅI»B° ²µd:q»B°±®:¸¯Sůnº±Ámº¶ÅI¸´E»E´EÀ@ºÀµ±µrF@¯m¯mÐVº¶Ð5®:µS²:´Jh Í]°±¯SÀƺ±º¶»E¸ ´Eº À<3µdÍ]»B¸¸ ŵ±®:¯m¸Ð5À²:°±µ±¯S®:º±¯nº¶¸ ËP´EÀ´5½5yÈ<ËP¯³´BÅ ÂM´JÍ>»¼F@ÅI´5»BÁ³ÃYÁmËRÇ:½:°dº»¸ À¼¯mÐV» Ä * 3´E°±Ã»BÅIº ½5¯m¿7À:¸ µ±¸ ´EÀ @o ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ @o 3µd»B¸ Å!¯mÐ5²:°±¯Sº±º¶¸ ´EÀ ' µ±w[¸ ÀHÂy®:¯³´E»ÀnÀ:¯rµ±µd®:»B´B¸¯lÂÅlº¶µ±ÁmÇ:®:´EËP¯rÀ@¯mµ±ÂÐ5´E¯m²:ÐVÅ °±µS´J¯ShÍ]º±º¶¸ qÀ:¸ ´E·t®:À7¯S¯mºyº¶Ð5¯º¶²:®:°±ÍM´J¯SÍ]¯³º±°±º¶À¯¸ ´E»EÀ7½5 º ºM¯³3°±µd¸I¸º»B¹E¸¯S¸ ÅÀ½Î¯m»YÐ5°±²:µd´E°±»BïS¸ º±Åº¶Ám°±¸ ´E´EÇ:À@À Å ¯Sµ±º¯m»BÐV°±¸ µSÀ ¯ F [ [ =B< *A< /]¯³¹V¸Iº¶¯S½ >5Ád®:¯³Ãn¯ µ±Ám®:Ç:¯l°±°±·E¯³°dÀ7»BÁmÃn¯SºÃ´B»B °·E¯mÐ5¸ ¹E²:¯³°±ÀƯSº±¸ º¶À¼¸ ´EÁdÀ®7M»B²5Í]µ±¸ ¯³µ±°]® Ùr3µdËV»BÈt¸ Å°±¯m¯³Ð5²:²:ÅI»E°±Ám¯S¸º±À:º¶¸·Y´EÀº¶´E±Ãnh1l¯1À:´5ÅÁCÈ Ä µ±®:´@º¶¯r°±Ç:Å ¯SºMµ±®7»JµlÁm´EÀ@µd»B¸ À¼µd»B¸ ÅÁm´EÀ@µ±¯mÐVµdº]»B°±¯rº¶®:´JÍ]À®:¯³°±¯Eh " ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ 3µd»B¸ ůmÐ5²:°±¯Sº±º¶¸ ´EÀ H3µd»B¸ ůmÐ5²:°±¯Sº±º¶¸ ´EÀ ' " ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ 3µd»B¸ ůmÐ5²:°±¯Sº±º¶¸ ´EÀ ' - Ám´EÀ7½ÁmÅI»BÇ7º¶¯ ' - Ám´EÀ7½ÁmÅI»BÇ7º¶¯ @o 3µd»B¸ ź¶¯ @Ç:¯³À7Ám¯ C'' ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ Á³»Eº¶¯>ÁmÅI»BÇ7º¶¯ ' ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ Á³»Eº¶¯>ÁmÅI»BÇ7º¶¯@o 3µd»B¸ ź¶¯ @Ç:¯³À7Ám¯ '' ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ Ao 3µd»B¸ ůmÐ5²:°±¯Sº±º¶¸ ´EÀ ' ¯mÐ5²:°±¯Sº±º¶¸ ´EÀAo 3µd»B¸ Å!¯mÐ5²:°±¯Sº±º¶¸ ´EÀ ' - Ë:¸ À7½5¸ À:·Æº¶²P¯SÁ @o' 3µd»B¸ Å!ËP´5½5È Q' - ¹J»B°±¸I»BË:Å ¯ Ë:¸ À7½5¸ À:·Æº¶²P¯SÁ @o' 3µd»B¸ ÅËP´5½5È C' - P Ë:¸ À7½5¸ À:·º¶²P¯SÁ @o' 3µd»B¸ ÅËP´5½5ÈQ' - Ë:¸ À7½5¸ À:·º¶²P¯SÁ ,o' 3µd»B¸ ÅËP´5½5È Q' -! º¶ÈVÀ@µd»Jк¶²P¯SÁ @o' 3µd»B¸ Å!ËP´5½5È Q' - º¶ÈVÀ@µd»Jмº¶²P¯SÁ ,o' 3µd»B¸ ÅËP´5½5ÈQ' : 3µd»B¸ ź¶¯ @Ç:¯³À7Ám¯ C' ¸ µ±¯³°d»Jµ±¸ ´EÀº¶²P¯SÁ @o' 3µ±¯SºCµ 3µd»B¸ ź¶¯ @Ç:¯³À7Ám¯ C' ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ Ao' Í]®:¯³°±¯ 3µ±¯SºCµ 3µd»B¸ ź¶¯ @Ç:¯³À7Ám¯ C' Ám´EÀ7½ÁmÅI»BÇ7º¶¯ ½:»Jµ±Ç:ÃAo' 3µd»B¸ ź¶¯ @Ç:¯³À7Ám¯C' Á³»Eº¶¯>ÁmÅI»BÇ7º¶¯ 3µd»B¸ ÅËP´5½5È ½5¯m¿7À:¸ µ±¸ ´EÀ ,o 3µd»B¸ ź¶¯ @Ç:¯³À7Ám¯ 3µd»B¸ ź¶¯ @Ç:¯³À7Ám¯ ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ Ao 3µd»B¸ ůmÐ5²:°±¯Sº±º¶¸ ´EÀ w[ÁmÂiÅI»B»Ç7º¶-¯´B Âiµ±¯m®:Ð5¯²:°±Â¯S´Eº±°±º¶Ã ¸ ´EÀ¾ ¸I¯mºÐ5²:¸ ÀH°±¯S»º±º¶¸µd´E»BÀ(¸ Ål Ám´EÀ@µ±¯mÐV¯mµSÐ5F]²:»B°±À7¯Sº±½¾º¶¸ ®7´EÀ!»EºÆC»' µ±Â°±®:´E¯³ÃHÀ µ±µ±®:®:¯{¯¯³X¹J¸ »BÃnÅ Ç7²:»JÅ ¸ µ±¯S¸ ½7´EeYÀr´BÁ³»B9 ŠӯmÐ5µ±´²:°±µ±¯S®:º±¯¼º¶¸ ´E²:!À °±´5RÁm¯S¸Iº½5¸Ç:Ài°±¯n»Mµdµ±»B®7¸ »JÅ@µYÁm´E°±À@¯Sµ±º¶¯mÇ:ÐVÅ µdµSº h ¯mÐ5²:°±¯Sº±º¶¸ ´E!À M¸ µdº¶¯³Å Ây¸Iº]À:´Bµ]¸ À»Yµd»B¸ ÅÁm´EÀ@µ±¯mÐVµSh µdL{ »B¯³¸ °¶Åtµd»BÁ³»B¸ À«Å Iº³Ë:hÇ:¸ Åqµ¶Ä[# ®:¸ Àϯ ²:¿7°±°d´5º!µÁm¯S»B½5°±Ç:·E°±Ç:¯SÃnº ¯³»B# À@°±µ¯< ²7»BÅI»Eº¶!º±´Éº¶FS¯S»B°±½À7¯ @½tµ±Ç:´µ±¸ ®:°±¯S¯Ì½-º¶¯Sµ±Ám´ ´E £À7²P½»B¯³À7°¶»B½£°±´E·E°±µ±Ç5à ´ Ä µdÃn¸ µ1»B¯³¸ ÍMÅÓÀ@¯³µYÁ³°±»B¯r²7Å Ò»E¸hiÀº±º¶V¯Sµd¸ »B½Ãn¸ Å!¸µ±ÅI´²P»B´@°±Åº¶ÈE¸ µ±F ¸ ´EÀ Í]¸µ±ÃY®:Ç7¸ Àºµrµ±®:¯³#¹J¯ »BÅVÇ7FP»JÃYµ±Y¯YÇ7²:¸ºµd°±µYºr´5ËPÁm»B¯S¯°±½5·EÇ:Á³Ç:»B°±Ãn¯EÅ h¯S¯³½ÉÀ@µr¹V»E¸I»ºl¸»  " *A *A 9=79 <9 <9 9=79 < *A > =B9 =B9 =B9 =B9 @>*9 =B9 7 =B9 @>*9 *<D 7 *<D !9 A <=@= i !"$# E &)e E G K E 1-1( EE E B K KK K E )E$# E G K&E e K KKK 1!j"IE2+ ),IE),#$A4D$&' /#0^4D>&)74+ + /!RY)!9l.B%:$#/$>& ) %' >&)!9l.$&/J>&),6,/KT # ' ,)7$&C54D$803/IE)#/#:T$A4' +56!4+ + 0,.03%6AC?40F$&C)76!4+ +$&/ B 4B/D(*).6!4#EB) ),(4+ %54D$&)!9V408$&C/%KCE$&C)@-GRY)@>&)J$A4' +l6!4+ + 0,LF"#E$&C)J)@g4IE2+ )i4B/D(*). $&C) 1-1( )@g:2:>&),0303' /#Q6,/%+ 9`B)[6,/IE2' + )!9`4014?$A4' +6!4+ +$&/ B LbYC) 2/0303' B' + ' $-Q/; B >&)@$&%:>&#' #KW4#Q%#)@g:2),6@$&)!9n#%I[B)@>i/;Y(4+ %),0Z6!4# B)8' K#/>&)!9l.*B),6!4%03)Y' #X$&C54D$6!403)8$&C)8)@kl),6@$/;$&C) 1-1( ' 0)@g:2+ ' 6,' $&+ %#032),6,' c5)!9W4#59W' IE2+ ),IE),#$A4D$&' /#:T9:),2),#59:),#$!L Þ |ÓxÐ5°±¸ ²:Ãn°±¯S¸ µ±º±¸ º¶¹E¸ ¯]´EÀ ¯mÐ5µ²:ÈV°±²P¯S¯Sº±ºnº¶¸ ´E»BÀi°±¯µÈVÁ³²P»J¯Sµ±¯³º·E¸ ´EÀ7°±Ám¸ Å ³Ç7¯S½5½Î¯]»E¹Jº»B°±R¸I»BbCË:^3tÅ ¯S^3ºÓ_Ò^Y»B#JÀ7n½t´E²:°°±´5\EÁmm¯SbC½5^Y#JÇ:d°±\J¯ h ¸Á³Ámµ±¯³»B¸ ²5¹EÅ Iµ±¯Eº³¸ FRh{´EË:ÀnolÇ5¯³´Bµr°±Â ¸ Á³¹E!$»B¯S# À<½¼¸¯mÀ7Ð5º!$²:µ±#!°±¯S¯S-»Eº±½º¶7¸ ËP´EFSÀ¼¯tÍ]®:½5µÈV´@¯m²P¿7º¶¯¯SÀ:º1¯Sý»B»E°±Ám»E¯r°±º1´>À:ôB½5µl»E¯m¿7Ámº¶°±¯³À:´@ø º³µ±»B¸h]´EÀ@GÏÀnµ±¸I¸IÁ³¸ ºµ±»B®<ÁmÅ ´Eȵ±Ãn®:²:¯t²:°±Å¸ ¯m¯mÃtÐVÐ!ÄÄ F µ±V®:Ç:¯¸ µd»B½5Ë:¯³Å°±¯i¸ ¹E½5¯S¯m½¾¿7À:¯mÐ5¸ µ±²:¸ ´E°±¯SÀ7º±º1º¶¸»B´E°±À7¯Ìº·E»B¸ ¹E°±¯³¯<ÀÁm¸ÅIÀ»Eº±º¶º¶¯S¸ ¿7ÁCµ±¯S¸ ½¾´EÀ<»EºÙVh Å ¸ Ë:h °d»B°±ÈίS»Jµ±Ç:°±¯Sº³h >@>*9 <=@= i #9;*<= !< ;*<= !9 9;*<= < N= 6^H*#+@+@(H+ !<7 ] *9 8 % !%"J )* 6^H*#+@+@(I) 4^ #+ ¢ ¢ > 5 5 J [@J E ¹J»B°±¸I»BË:Å ¯ ¶ º V È @ À d µ J » Ð ¹µ±Jj1®:»BÀ¯°±¸I»B¯m¹JË:Ð5»BŲ:Å ¯¼Ç:°±¯¯S°±º±¯mºº¶Âµ±¸¯³´E´E°±ÀH°±¯³¯SÀ7½ÎÁmÁm´E¯E¸À7hÀ¾º¶¸Iqµ±º®:µ±®:¸ ¯¯¼À:·ÎŹJ´5»B´BÁ³Å ÂY»JÇ:µ±¯¼»Î¸ ´E´BÀιJÂ1»Bµ±µ±°±´É®:¸I»B¯¼Ë:Í]ŹJ®:¯-»B¸I°±ÁdX¸I®-º¶»B¯SË:ÁCµ±Åµ±®:¯¼¸ ¯´E°±À ¯m¹J»B¯³°±°±h¸I¯³f»BÀ7eË:ÁmÅ ¸I¯¯Æº¸I¸I»ºº ËP´EÇ:À7½!hw[µ1¸Iº]»BÀ¯³°±°±´E°Mµ±´n°±¯m¯³°±¯³À7Ám¯>»BÀÇ:ÀVËP´EÇ:À7½¹J»B°±¸I»BË:Å ¯Eh @#M NM NM = TS @\ < <A 8 *A [ awv1À´Eµ±À:®:¯Y¯>´BÂÂy´Eµ±Å ®:´J¯tÍ]Á³¸ À:»B·Å Iº]¯mÐ:µ±´Q»BÃn²:´EÅ ¯>°1<µ±®:»B¯i°±´E¯rÀ:µdÅ »BÈƸ Åyµd»BÁ³»B¸ ÅÅ IÁ³º³»Bh1Å q¸I®:º]¯Yµ±®:°±¯m¯Y¯³Á³°±»B¯³Å À7Ámµ±¯r´µ±"P´ h µd»B¸I¸ º]ÅÁ³¸ E À<»BÅ Ò»th µd»B¸ ÅÁmEW´EK À@µ±¯mÐVµSF7Ë:Ç5µl¸ µl¸Iº1À:´Bµl»ÆÁ³»BÅ »BÀ7½µ±®VÇ7º]¸Iº1À:´BµÌ» E #$-1eD&9E- I-K L!M I ¢ 3 S@J A J !$#!- ½:»Jµ±Ç:ÃQ' º¶º¶ÈVÈVÀ@À@µdµd»J»JÐÐ ½:»Jµ±Ç:à Ám´EÀ7ºµd»BÀ@µC ¶ º V È @ À d µ J » Ð »µ±B ¸ ÀV!$´EÈ#!À -¯m ÐVh µ±eC¯³hÓ°±½:À7q»J»Bµ±®:Å]Ç:¸Iº{°±Ã¯³À:²:Q´B'Y°±µd¯S»J¯³º¶¹Jµ±¯³¸À@»B´EŵdÀÇ7»J»Jµ±¸I¸µ±º{´E¯SÇ7ÀκMº¶µ±¯S´B´ ½nÂrµ±»É½:´i»J5¸µ±À7ÁdÇ:®:ÁmÃů³Ç7Ãnm½5h ¯¯ÌoÌÅ´E¸ µ±Ë »J¯³µ±°d¯SÇ:»BÁCÃÅPµ<ÁmX´Eº¶ÃÀ7¯³º¯»fµdȼ»Bº¶À@¯SËPµdÁC¯ºÄ ¸ À<5Ád®:¯³Ãn¯iÁm´5½5¯Eh @#M NM MS @ k = [ <AAVS JA *9 *9 8 8 E %12D/($-Z K E %12D/($- E "]. KK E %12D/($- E 4]6 KK L!M L!M L!M E "]. K E 4]6 K µ ÍM!$#!´n-À: ´Bµd»Jµ±½:¸ ´E»JÀ7µ±Ç:º]à »B°±Q¯Ì'Ư Ã@Ç:»f¸È¹J»BËPÅ ¯Æ¯³À@»Bµ1Ë:¸ Ë:À°±¯³»B¹VÅ ¸I»J°±µ±¯S¯Sº¶½²P¯S»EÁCºµdº³h ½:»Jµ±Ç:ÃChq®:¯ *9 EWK k E "V. L!M L!M L!M L!M L!M L!M K E 4V6 K E %12D/($-Z K EWK E "V. K E 4V6 K E %12D/($-Z K E %12D/($-Z K 1v»BÀ7Ç:½tÃnËP¯³´V°±¸I´EÁ³Å »B¯SÅV»BÁmÀn´EÁmÀ7´EºÀ7µd»BºµdÀ@»BµdÀ@º³µdFJºyºµ±¯³°±¹J¸ À:»BÅ·ÌÇ7Ám»J´Eµ±¯À7ºµdµ±»B´ÌÀ@µdµ±º³®:Ff¯³Ádî7º¶»B¯³°dÅ »E¹EÁC¯Sµ±º ¯³°BÁmµ±´E®:À7¯³ºÈYµd»BÀ:À@¯³µd¯Sº³½ F À:´Bµ1ËP¯ @Ç:´Bµ±¯S½!h . % 9)". 9)". 6 = 6 = NG NG 10*8 L!M L!M L!M L!M L!M L!M 1( 9)". 9)". 6 = 6 = NG NG 1( Ô7h|ÓÐ5²:°±¯Sº±º¶¸ ´EÀ7º 1! "#UI?4#-9:' 4+ ),6@$&0[/; ]' 032].$&C)E),IE2:$-Q6,/I[B' #54D$&' /#]. EWK . ' 0i4G+ ),K' $&' I?4D$&)X)@g:2:>&),0303' /#]LY"#`_6AC),IE).:6,/I[B' #54D$&' /#0JI[%0d$7C54!(*) 4D$V+ )!40d$W/#)n03%B)@g:2:>&),0303' /#].03/ EWK ' 0?#/$W40d-:#$A46@$&' 6!4+ + -(4+ ' 9 )@g:2:>&),0303' /#]L ¢ r E J 3  E ´ ± ° à B » I Å º ËP´5½5ÈQ' ¶ º V È @ À d µ J » Ð ½´E5P°]¯S º±7ÃnÁm_a°±´E¸ ËP°±¯r¯S½¯mÐ5z:ËP²:´E¯³°±°±Å ¯S´Jú±Í>º¶»B¸ FÅI´Eº »BÀ7nÀ7º³º¶h½ ®:´EËPÇ:´5ÅI½«½5ÈËPr¯º¶®:»´EÂÇ:´EÅI°±½<ÃËP»B¯Ål»»B°±º¶·E¯ Ç:@ÃnÇ:¯³¯³À7À@µdÁmº¯tÅ´B¸IÂMºµ´EÀ:»E¯º q¯³!¹Jm®:»B¯]Å Ç7¯³»J7ÀVµ±_Ò¹V¯S^¸½<C°±c ´E{¸IÀ:ºljÃn°±¯³¯³ÃnÀ@µÓ¯³* ÃY¸ ÀËP¯mi¯³ÑR°±¯m¯S¯SÐ5ÁC½<²:µ°±»EÍ]¯Sºlº±®:º¶²7¯³¸ »BÀn´E°¶Àµ±µr®:¯³´B¯¹JÂÓ»Bµ±Å Ç7®:* »J¯tµ±¯S²:º{°±Ì´5µ±¯mÁm´nÐ5¯S»i²:½5°±Ç:²:¯S°±°±º±¯E´5º¶hr¸Ám´E¯SGÏÀY½5Ç:Í®:°±¯³»E¯EÀ º h µ±µ±®:®:¯t¯¯³²:ÀV°±¹V´5¸Ám°±¯S´E½5À:Ç:Ãn°±¯i¯³À@¸Iµºl¸ ÅIÀY»Jµ±Í]¯³°r®:¸IÁ³Ád»B®iÅ µ±¯S®:½¯ Í]¸ µ±* ®º¶´E1Ãn¯mÐ5¯t²:»E°±ÁC¯Sµ±º±Ç7º¶¸»B´EÅÀi»BÍ°±·E»EÇ:ºÃn¯³¹J¯³»BÀ@ŵdÇ5º³Ä F »J»Bµ±°±¯S·E½>Ç:ÃnÍ]¯³¸ Å À@VµÌËP¯{Å ¸Iº¯mµrÐVµ±µ±¯³´¼À7½5°±¯S¯S½iº¶®ËVÈrÅ ´5Ë:Á³¸»JÀ7µ±½5¸ ´E¸ À:À7·1º³FPµ±µ±®:®:¯M¯n¹JÁm»B´E°±¸I°±»B°±Ë:¯Sº¶Å ¯S²Pº´E¸À7À>½5µ±¸ À:®:·¯{»E´EÁC°±µ±ÃÇ7»B»BÅÅ ¯m¯³»BÐ5¹J°±·E»B²:Ç:Å °±Ç7¯SÃn»Jº±µ±º¶¯³¯S¸À@´E½µ1À7¹Jº>º¶¯»B¸@Å ÀÉÇ:Ç:¯S¯³µ±º]À@®:µ±Í]¯Æ¸I»B¸ ËPÅ Å ´5È<ËP½5¯Yȸ Àº´Bµ±µ±Â´E®:°±µ±¯¯S®:½¯m¯ ÐV¸ µ±À¯³À7µ±* ®:½5´@¯Sº¶½¯>¯³¯mÅ ÀV´5Ð5¹VÁ³²:»J¸ °±°±µ±¯S´E¸ º±´EÀ:º¶À7Ãn¸ ´Eº³¯³ÀÉF:À@»BµSÍ]À7hn½¸ Å q{µ±ËP®:®:¯¯¯ °±»E¯SºMº¶µ±Ç:®:Å µf¯>Xºd°±ey¯Sº¶´BÇ:ÂPÅ µ±µf®:Xºd¯]eMÅI´B»Eºµµ±®:¯mÐ5¯>²:²:°±°±¯S´5º±Ámº¶¸¯S´E½5ÀtÇ:°±¸ Àt¯>µ±Á³®:»B¯1Å ÒhËP´5½5ÈtÍ]¸ Å :ËP¯1°±¯mµ±Ç:°±À:¯S½ @#M NM @#MRQ =B< * *A< K N K N < <A =B< *A< =B< =B< *A< *A< jlX¸Òhº>¯EhBÀ:µ±´B®:µ±¯]¯S½¹J»B¸ ÅÀÎÇ:¯1º¶¯S´BÁCÂ!µ±»r¸ ´EÅÀ ¸ µ±¯³°dh Ô7»BÅ:F¯m¸ µYÐ5²:¸Iºi°±¯S»Bº±Àº¶¸ ´E¯³ÀP°±e°±´EÇ7°Ìº¶¸ µ±À:´<·i»B»rÅ µ±ÃY¯³°YÇ5µd»»Jµ±Ám¸ ´E´EÀ7Ànºµd²:»B°±À@´BµÄ Ám¯S½5Ç:°±¯rÅ ¸ E¯ -! y´E° ! - dh @ ¢ r E J E E E K&E KK L!M 3 A & EE E K&E KK NK L!M I ´E²P¯³°d»Jµ±´EC° H´E²P¯³°d»BÀ7½ QH' ¶ º V È @ À d µ J » Ð µ±j»B®:°±·E¯S²:º¶Ç:°±¯SÃn´5º>Ám¯³¯m¯SÀ@Ð5½5µd²:Ç:ºl°±°±µ±¯S¯n´º±º¶Á³¸ËP»B´E¯nÅ À7Óºl²7¸Iºr»E´Eº±Í]º¶°r¯S°±µ±¸½<µ¶®:µ±¯Æµ±¯³´Àɲ:¸ °±ËVµS´5hÈÁm¯Sqº¶½5¸ ®:ÃnÇ:¯n°±²:¯t´EÅ È<²Pµ±´¯³¯³°dÀ7ËP»JÁmµ±¯ÆÅ´E´@°>Á³º¶»B¸ »BÀ:Å À7·¯S½½É¸ ÀÉ´E»B²PÀ7²7¯³½<»B°d°±»Bµ±¯³À7®:À5½¯ Ä EE E E K&E O-KK KK L!M ¯m°±¯SÐ5º¶²:Ç:°±Å ¯Sµ±º±¸ À:º¶¸ ·r´EÀ7²:ºÓ°±´5»BÁm°±¯S¯]½5¯³Ç:¹J°±»B¯Å Ç7¸IºÓ»Jµ±²7¯S»E½º±º¶X¯S¸ Àƽiµ±»B®:Àn¯1Ç:°±À7¯Sº¶º¶²PÇ:¯SÅ µ±Ám¸ ¸À:¿7·>¯S½n»B°±´E·E°dÇ:½5Ãn¯³°C¯³eyÀ@»BµdÀ7º³h ½Yµ±®:¯ E N E EE NKK E NK L!M E E K&E KKKK EE FK NK L!M E N K jH»BË:ÀVÅ ¯SÇ:ºÃY¸ ÀËP¯³µ±°M®:¯i´B¸ À:²:¸°±µ±´5¸I»BÁmůS½5¯³Ç:ÀV°±¹V¯S¸ °±º´E»BÀ:°±Ãn¯l¯³»fÀ@¹Jµ»BV¸ ÅI»B´EË:°]Å ¯l¯mÐ:»E»BºÓÃnµ±®:²:¯lÅ ¯E¹JF5»Bµ±Å ®:Ç:¯i¯Sº{»E½:´B½5¸¹Jµ±»B¸ ´E°±¸À Ä z:´E°±Ã»BÅIº Mº¶®:´EÇ:ÅI½®7»f¹E¯Ì´EÀ:¯r´Bµ±®:¯r´EL!Å M ´JÍ]¸ À:O ·Y´E°±Ãº µ±»B»J®:µ±À7¯S¯M½ ½¹JÃY»BËVÅ ÈnÇ:Ç:ůS¯³µ±º¹J¸ ²:»B´BÅÅÂ5¸IÇ7Á³µ±»J»J®:µ±µ±¯M¸¸ À:´E¹J·ÀλB°±²:¸I»B°±*Ë:´5Å Ám¯S¯Sº ½5>Ç:¯m°±»BÐ5¯SÀ7²:ºi½ °±¸¯SPÀ º±hº¶µ±¸ v1´E®:À7¯³¯Íκ1»BXËP²:º¶¯³°±´J¯Ì´5¹EÁm¯º¶¯S¯S½5¯mÁCÐ:Ç:µ±¸»B°±´EÃn¯SÀƺ²:»BÔ7Å °±¯Sh E¯{ºth ÁmÔV»B°±eC°±¯mh ¯Ä ËP ¯³¹Jn° »B´B°±¸IÂÌ»BË:»B°±Å ¯·ECÇ: Ãn¯³À@µd' º r{Í]q®:®:¯n¯³Àβ:°±µ±´5®:Ám¯¯S½5²:Ç:°±´5°±¯YÁm¯Sµd½5» Ç:E°±¯S¯¼ºr¸I»Æºn¿:Á³Ð5»BůS½¯S½!ÀVFÓÇ:µ±Ãt®:¯Ä x°±´5#Ám¯S½5YÇ:¸ °±À¯¾º¶Á³¯S»BÁCŵ±I¸ º´EÀ<ÃÖ:»fh ÈÔVeCh°±¯mGϵ±Ç:¸ °±µ±À+®µ±»B®:ÀV¯YÈ.¯mÀVÐ:Ç:Ám¯³ÃY²5ËPµ±¸¯³´E° À´B´B¼ ¹J»BÅ Ç:# ¯SºÏiXµ±º¶®:¯³¯¯ »Bº¶²P°±·E´E:Ç7À Ãn½5¸ ¯³À:À@·µdº¹J»BÍ]°±¸¸IÅ»BË:ËPÅ ¯S¯iº³ºh µ±´E°±¯S½¼¸ Àµ±®:¯>Ë:¸ À7½5¸ À:·@º´Bµ±®:¯iÁm´E°±°±¯mÄ ²:¹J»B°±´5Å Ç:Ám¯>¯S½5´EÇ:°S°±F5¯Sº1´E°1»f¹J²:»B°±¸´5ÅI»BÁmË:¯S½5Å ¯>Ç:°±¸ À¯Sº]µ±º¶®:Ç7¯YÁd®¸ À:¸»Eµ±º ¸I»Bů³ÀV¹V R¸ °±F5´E²7À:»EÃnº±º¯³À@´Eµ1À°±µ±¯m®:µ±¯>Ç:°±¹JÀ»BÅ ´EÇ:À:¯S¯º ·E¹JÇ:»BÃn°±I¸ ³¯ »BÀ@Ë:µdÅ º ¯y ¾Í]®:q¯³®:À¯Éµ±®:²:¯Æ°±´5²:Ám°±¯S´5½5ÁmÇ:¯S°±½5¯<Ç:µd°±»¯nE¸I¯SºiºÁ³»B»BÀVÅ ÈϯS½!ÀVFÇ:µ±ÃY®:¯¼ËP¯³º¶°¯ @´BÇ:Ât¯³À7»BÁm°¶¯Ä ´BÁ³»JÂtµ±»E¯S½<ÁC±µ Ç7Å ¸I»BºµSÅrF!»B»B°±À7·E½Ç:Ãnµ±®:¯³¯tÀ@µdÅ ºÆ¸IºµÌ¸Iº¸IºrÁm´Eºµ±ÀV´E¹E°±¯³¯S°¶½µ±¯S¸½«À¸µ±À@®:µ±¯t´«Ë:»Î¸ À7À:½5¯³¸ À:Í]·Å ÈÏ´B»Bµ±Å ®:´B¯ Ä °±x¯m°±µ±´5Ç:Ám°±¯SÀ:½5¯SÇ:½¼°±¯rËVȼÁ³»B»Å Iº]Á³»B»BÅ °±R¯>µ±´n»BÅI´Eº¶À:´n¯>Á³»B´BůSµ±½É®:¯³d¸ °l`J»B°±m·E^ RÇ:JÃn_Ò^¯³` À@:µdcCº³hh ¹J»B°±¸I»BË:Å ¯Ch 1! "# 6,/#$3>A40d$$&/ /$&C)@> 9:' 4+ ),6@$&0U/; ]' 032].[$&C)O/>A9:)@>U/; ¹J»B°±¸I»BË:Å ¯C ¹J»B°±¸I»BË:Å ¯ ¹J»B°±¸I»BË:Å ¯ CQ' w[Â.» ),(4+ %54D$&' /#' 0Z%#032),6,' c5)!9l. 4#59n$&C)[/2)@>A4D$&/>X)@g:2:>&),0303' /#4#59n$&C) ¶ º ²7¯»EÁm²:¯mÄa°±½5´5¯³ÁmÅ ¯S¸ Ãn½5Ç:¸ µ±°±¯S¯½Yµd²P» E¯³°±¯S¸º ´5½Y> ²:´E°±°¼¯SÁmÃn¯S½5´E¯S°±º¯<µ±®:»B¯°±·EÅIÇ:»EÃnºµÓ¯³¹JÀ@»Bµd°±º³¸IF»BË:Í]Å ¯E®:FJ¯³µ±°±®:¯ ¯³>À /2)@>A4#59V)@g:2:>&),0303' /#0J4D>&)X4+ R4,-:07),(4+ %54D$&)!9?R7' $&CW$&C)i0&4IE)Z),(4+ %:T ± µ : ® 4D$&' /#W>&%+ ),0,L ¸IX3ºÌµ±®:µ±¯³®:°±¯n¯YÀVÃYÇ:Ç7ÃYºËPµl¯³ËP°r¯t´B»Jµl´EÅ ¯S°±»Eúµl»BÅÓ´E»BÀ:°±¯f·EeCÇ:h]Ãnq¯³®:À@¯Yµdºl¹J»BËPÅ ¯mÇ:¯Y´E°±º¯Yµ±´Eµ±°±®:¯S¯n½²P¸ À¯³°±µ±¸ ´5®:½¯ 1! M + $&C/%KCn$&C)[/>A9:)@>1/;Y),(4+ %54D$&' /#Q' 01/$&C)@>3R7' 03)G%#032),6,' T Ë:Å ¸I¸ºÀ7µ½5´B¸ Â7À:µ±·®:¯1´B»Eµ±ÁC®:µ±Ç7¯n»BÅIÅ5»E»Bº°±µr·E¹JÇ:»BÃn°±¸I¯³»BÀ@Ë:µdÅ º¯tÅ Í]¯mÂ3¸µÅ Ó´J¹EËP¯³¯n°y»¼»JÂ3À:µ±¯³¯³°Í]»BÅ ÈÅ Vµ±»B®:Å ¯]´5Á³´B»Jµ±µ±®:¯S¯³½ ° c5)!9l.*$&C)7)@kl),6@$Y/; 4#-G6,/#6,%:>3>&),#$Y),(4+ %54D$&' /#?/;l$&C)7/2)@>A4D$&/>74#59 /2)@>A4#59`)@g:2:>&),0303' /#01' 0Z6,/#0d$3>A4' #)!9`$&/VB)[6,/#03' 0d$&),#$1R7' $&CQ03/IE) 03) %),#$&' 4+]/>A9:)@>J/;H),(4+ %54D$&' /#]L8bYC)1/>A9:)@>J/;H),(4+ %54D$&' /#PI?4,-VB) ´B»Eµ±ÁC®:µ±Ç7¯³°»BÅM´E»B°±°±Ã·EÇ:»BÃnÅ»B¯³°±À@·EµdÇ:º>Ãn®7¯³»fÀ@¹Eµd¯º³hËP¯³¯³À ûJµdÁd®:¯S½ÉÇ:²-»B·@»B¸ À7ºµ>µ±®:¯ 6AC/03),#n9:' kl)@>&),#$&+ -?;=/>J)!46ACP2:>&/6,)!9:%:>&)16!4+ +L 1( 1( 8 j9 #M NMPOMRQ < @> <> 79 U = = A *A< =B< !"$# !"$# 4 4 #$-1eD&9E-f0$-1,$-10D'-$*$'92"$(0$.)( !"$# F *NF 0$-1,$-10D'-$*$'92"$(0$.)( 8V6 4 = &)e1e 4 8 = 6 #$-1eD&9E-Z## 1-1( !"$# ## F 4 = F 6 CB V8 R=B< *A< <B [ ;*<= !9 ;*<= !9 [ < N= 8 N B [ N 8 M <B ]/ ¯³¹V¸Iº¶¯S½ i5Ád®:¯³Ãn¯ w[3µl´E¸I°±º1ûB»BÀÅIº ¯³d°±h °±´E°M´E°l» ¹J»B°±¸I»BË:Å ¯µ±´¼»B²:²P¯S»B°]Ãn´E°±¯Ìµ±®7»BÀ´EÀ7Ám¯>¸ À @ 3 ¢ - ÁmÅI»BÇ7º¶¯Q ÁmÅI»BÇ7º¶¯ ' Å ¸ : Ë d ° B » ± ° Æ È ¶ º V È @ À d µ J » Ð EE K N G -K L!M E N G -K P 7_aE $&{),0d{| $ »EÁd ® )@g:2:Ám>&ÅI),»B03Ç703'º¶/¯#M º¶®:´EÇ: ÅIK ½¼ËP¯>´Bµ±®:¯r´E°±Ã EE E K K N G -K L!M E/G -K ¯m¸|{À-Ð5»E²:Ád´E°±®r°d¯S½5²:º±¯³º¶°±¸°i´5´EÁmÀiµ±¯S´¸I½5ºÃÇ:X°±Ám» ¯´EEÁmÀ7¯ °±Ám¯S¯³»J²5! µ±µ±!¯SÇ7½>[<»B»EÅ»Bº!È:À7µ±e!½ ®:µd¯»B·E°±!¯S·E[º¶¯SÇ:½>ÍMÅ µ´EÍ]´B° ¸ ÉÂ:µ±®t¯³´E¹J»ÌÀλBźÇ7²:µ±´E»J°±´5µ±°d¸»BÁmÀ:·E¯S·1¯½5»Ç:Å ´5°±Á³¯S»Jº¼* µ±¸X´Eº¶¯³À¯ F Í]î:»f¯³ÈÆ°±E ¯ËP $&¯>),3µ±0d´B¯S$ ºµCµ±n®:¯r¸Iº¼Â ´E)@»B°±g:ÀVà 2:ÈÎ>&),03¯m03Ð5' /²:#°±¯S Kº±º¶¸ ´EÀhj1Å µ±¯³°±À7»Jµ±¸ ¹E¯³Å ÈEF»SÁmÅI»BÇ7º¶¯ º¶¯SÁCµ±¸ ´EÀÖ:h feCh q´E®:°±Ã¯ÅI»Eºµ ÁmÅI»BÇ7º¶¯ ÌûfÈ<ËP¯Æ»BÀ ¶¯³ÅIº¶¯ÆÁmÅI»BÇ7º¶¯EF Í]®:¸IÁd®®7»Eºrµ±®:¯  @ ¢ YX E )@g:2:>&),0303' /# )@g:2:>&),0303' /# K L !®:m¯ 3 µ±7¯Sº_Ò^Cµ CMc ¯mtÐ5j ²:°±¯S-º±º¶ ¸ ´EÀ7¯mºÐ5´B²:ÂÓ°±º¶¯SÇ7º±º¶Á³¸Ám´E¯SÀº±º¶¸I¸ º>¹E¯ ¯³¹JÁm»BÅIÅ »BÇ7Ç7»Jº¶µ±¯¯S½º]ËV¸ ÀÈ´E¯³°d¹J½5»B¯³Å Ç7°]»JÇ:µ±À@¸ À:µ±¸· Å " 3µ±¯SºCµ Ám´EÀ7º¶¯ @Ç:¯³À@Cµ »BÅ µ±¯³°±À7»Jµ±¯ C' ¶ º V È @ À d µ J » Ð ± µ " 3µ±¯SºµC Ám´EÀ7º¶¯ @Ç:¯³À@µC ' ¶ º V È @ À d µ J » Ð Pµ±°d »B7°±_aÈ ¯mÐ5 ²:q°±¯S¯Sº±ºº¶Cµ ¸ m´E(F À7º³Ámh ´EÀ7º¶¯ @Ç:¯³À@Cµ CFV»BÀ7½ »BÅ µ±¯³°±À7»Jµ±¯ yûfÈYËP¯Ì»B°±Ë:¸ Ä ´EGϸ À:À:· ®:¯Æ¯³´BÀ¯mÂMÐ5J» µ±²:®:°±3¯³¯Sµ±Ã¯Sº±º¶ºCµ¸ ´E¯³]¹JÀ ¯³»Ba¹Jº<Å Ç7»BÅ»J¸ Ç7À.µ±»J¯Sµ±ºr¸ µd¯Sºµ±º]´<µ±´¼Ám»ÅI»B»µ±Ç7°±µ±Ç:º¶°±¯ ¯Ç:¯i¹J»B»B¹J°±Å »BÇ:¯ Å ¯Ç:¯³¯E¹JXF7º¶»B¯³µ±Å ®:¯¼Ç7¯³»Jº¶Àµ±¯S¯SÁCµ±½µ±®:¸ ´E¯Y¸ ÀÀ.°±¯³Ö:´EÃh°d»B½5h ¸¯³fÀ5°SeCÄ hF !3µ±m¯SºCµ 7¸I_ÒºÉ^Cc ¯³M¹J»Bj1Å Ç7À »Jµ±¯S"½!¯mh Ð5²:°±w[¯Sº±º¶¸ µ¸ ´EÀ¼ÈV¸ ¸I¯³ºÅI½:¯³º ¹J»B»Å Ç7»Jµ±°±µ±Ç:¯S½¯«»E¹JºM»BÅÂÇ:´Eů.´JÍ1Xº¶º¯³¯H¿7º¶°d¯SºÁCµSÄ F ¸I»Bº¶ºS¸ À7´EX½-»BÀ°±h¯fµ±w[eM®:Â:¯<°±µ±¯m®:°±µ±¯¯SÇ:º¶°±º¶Ç:À:¯³ÅůSµf¯S½XÁCºdµ±et»E¯Sº½ ´Bµ±ÂÌ®:Ámµ±¯iÅI®:»B°±¯Ç7¯Sº¶º¶ÅI¯ »EÇ:ºÅ µfÁmJµ ´EXºdÀ@eM¯mµdÐ5»B´B²:¸ÂyÀ7°±µ±¯Sº®:º±´E¯iº¶À:¸ ´E¯³Å ÈÌÀÀ@µ±Yµ±¸ ®:°±¸ ¯À«¯ -3µ±µ±®:¯S º¯ Cµ¯mÁm»BÐ5ÅIÀ7»B²:½>Ç7°±º¶¯SÀ:¯ º´ Ä µ±¸IºS¸ ´EX»BÀ°±¯fÖ:eh °±h¯mfµ±eCÇ:F@°±µ±À:®:¯S¯³½!À h1Ám´Eµ±®:À7¯³º¶¯°±Í]@Ç:¸Iº¶¯³¯ À@Cµ»BÅ ¸Iµ±ºM¯³°±¯³À7¹J»J»Bµ±Å Ç7¯ »Jµ±¸I¯Sºy½¼¯³¹J»B»BÀ7Å Ç7½Æ»J¸ µ±µd¯Sº½t¹J»B»BÅÀ7Ç:½t¯@X¸ µdºdºe °±¯m¯SÐ5º¶Ç:²:Å °±µS¯Sh1º±º¶w[¸Â´Eµ±À ®:a¯tº³FJº¶µ±¯³®:Å ¯³¯SÀYÁCµ±µ±¯S®:½ ¯¹JÁm»BÅI»BÅ Ç:Ç7¯Mº¶¯ ´B]Â:Ç7µ±®:º¶¯S¯ º]3µ±µ±¯S®:º¯ Cµ ¸Iƺ»B°±¯mÅ µ±µ±¯³Ç:°±°±À7À:»J¯Sµ±½Y¯>»Eº´E°±µ±Ã®:¯ F ¹JÀ:»B´ Å Ç:»B¯@ÅXµ±ºd¯³e]°±À7¸IºS»JXµ±»B¯ °±¯fe¸Iº{°±º¶¯m²Pµ±Ç:¯SÁm°±À:¸ ¿7¯S¯S½!½!h]FBw[µ±Â ®:¯³3µ±Àn¯Sºµ±µC®:]¯1ÈV°±¸¯S¯³º¶ÅIÇ:½:źlµ»n´BÂP»Bµ±®:ÅIº¶¯1¯Y¯m¹JÐ5»B²:Å Ç:°±¯S¯Yº±º¶»B¸ À7´E½À µ±Ám®:¯S½5¯³ÀtÇ:°±µ±¯t®:¯µ±®7»J¯mµiÐ5²:»E°±Á³¯SÁmº±¯³º¶²5¸ ´EµdÀºÌ´E¸IÀ:ºy¯n¯³¹J»B»B°±·EÅ Ç7Ç:»JÃnµ±¯S¯³½!À@hµ !w[µdµ±ºy®:¹J¸Iºr»BÅ ²:Ç:°±¯]´5ÃYÁm¯SÇ7½5ºÇ:µÓ°±ËP¯t¯1¸IºÌ»Ìµ±²:®:°±¯³´BÀ Ä ¸IºÇ:À7º¶²P¯SÁm¸ ¿7¯S½!h ³ Á B » Å S ¯ ½ E ´ À ± µ : ® i ¯ J ¹ B » Å : Ç i ¯ B ´  ± µ : ® ¯ 3µ±¯SºCµ 1»BÀ7½µ±®:¯i¹J»BÅ Ç:¯@Xºde°±¯mµ±Ç:°±À:¯S½ V Ë È ± µ : ® I ¸ º : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° Ì ¯ I ¸ S º X B » ± ° f ¯ e ± ° m ¯ µ±Ç:°±À:¯S½ÆËVȵ±®:)¯ - n¯mÐ5²:°±¯Sº±º¶¸ ´EÀh E E K K L!M [ w 1  B » Å 3µ±¯SºµC¶º>¯³¹J»BÅ Ç7»Jµ±¯nµ±´Â»BÅIº¶¯¹J»BÅ Ç:¯Sº³Fy»BÀ7½µ±®:¯³°±¯¸Iº>À:´¯³ÅIº¶¯ E E K K L!M Ámº¶²PÅI»B¯SÇ7Ámº¶¸ ¿7¯EF5¯S½µ±®:B¯³¸ Â5Àµ±®:µ±®:¯³°±¯i¯{°±¸I¯Sºº¶»BÇ:ÀiÅ µ1¯³´BÅIº¶Â¯{µ±Ám®:ÅI¯Y»BÇ7Ámº¶´E¯EÀ7FS½5µ±¸®:µ±¯³¸ ´EÀiÀ7¸ »Bµdź ¯mÐ5¯mÐ5²:²:°±¯S°±¯Sº±º¶º±¸º¶´E¸ ´EÀÀ ¸Iaº]ºÇ:»BÀ5°±¯Ä E E K E K E KK L!M ¯³¹J»BÅ Ç7»Jµ±¯S½!F@»BÀ7½Yµ±®:¯]¹J»BÅ Ç:¯@Xºde´BÂPµ±®:¯1ÅI»EºµÓ´EÀ:¯]¸IºSX»B°±¯fe°±¯mµ±Ç:°±À:¯S½!h E EE K K EE K KK L!M @ ¢ Î E EE K K - J¹J»B°±¸I»BË:Å ¯ ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ ' º¶ÈVÀ@µd»JÐ E EEEEE K EKE K K K&E L!KKM K K E KK L!M ¸ÃYÀ¾|ÓÇ7Ð5µ±º²:®:µn°±¯¯SËPº±Å¯º¶´5¸ Á³ËP´E»JÀ´Eµ±Ç:y¸ ´EÀ7¸IÀ-º{½Î¯³µ±¯³¹J´ ¸»Bµ±Å ®:Í]Ç7¯³»J®:°tµ±¸I¯SÁd¸ ½!®À¾FVº¶»B¹J´EÀ7»BÃn½n°±¯¼¸Iµ±»B®:Ë:°±¯l¯³Å ¯·E°±Y¸ ¯S´Eº¶¸IÀ ºnÇ:Å ¯³µ±ËPÀ7¸ ´EÀ:ÁmÇ:·YÅ À7´@¹Jº¶½!»B¸ hÀ:Å Ç:·¯l µ±¸I®:ºM»B¯ °±º¸Iµ±»B´EË:-°±Å¯S¯½ ¯m¸IºÐ5²:Ç:°±À7¯Sº¶º±²Pº¶¯S¸ ´EÁmÀr¸ ¿7´E¯S°½!»Jh µµ±´E²iÅ ¯³¹E¯³ÅÒhq®:¯{°±¯Sº¶Ç:Å µ´BÂVµ±®:¯ - :¯mÐ5²:°±¯Sº±º¶¸ ´EÀ E¯³È ÁmÅI»BÇ7º¶¯ Q ÁmÅI»BÇ7º¶¯ H' Å ¸ Ë:°d»B°±Èƺ¶ÈVÀ@µd»JÐ P®: ´E7Ç:_aÅI ½ ®7»f¹E;r¯l¯³µ±È®:¯rÂôE°±»fÃ È ËP¯Ï»BÀVÈ ¯mÐ5²:°±¯Sº±º¶¸ ´EÀh |{»EÁd® ÁmÅI»BÇ7º¶¯ ¶ º E K E K L!M EE 94D$&%I K )@g:2:>&),0303' /# )@g:2:>&),0303' /# K . E NK L!M @ Y ] Í : ® ³ ¯ ± ° E K L!M G ´EÁmË ÅI»B¯SÇ7ÁC¯iº¶µS¯ h ¯SM»EÃÁdj1® »fÅ ÈÆn½:ËPµ±»J®:¯iµ±¯Ç:»Bà À ½:1¶»J¯³¸Iµ±ºÌÅIÇ:º¶»B¯>ÃÀÁmÅIºÉ¯m»BÐVÇ7ÃYµ±º¶¯³¯EÇ7°±FÀ7ºYµÎ»BÍ]ÅËP®:°±¯Ï¯³¸IÁd²:®½5°±¯S¸I®7ºº¶µ±¯³»E¸ À@ºMÀ7µdÁCµ±»JµS®:µ±h ¯r¸ ´EÂÀ´Eq°±´B®:à Â{¯«º¶´EÅI»EÃnº¯µ E )@g:2:>&),0303' /# )@g:2:>&),0303' /# K L q¸ÀH®:¯<º¶¯SÁCÁmµ±´E¸ À7´EºÀϵ±°±Ô7Ç7hÁCµdhºn¸ z:À¾´E°Æµ±®:°±¸I¯mºÆ¯³º¶°±¯S¯³ÁCÀ7µ±Ám¸ ´E¯Àϲ:»BÇ:°±°±¯²P´@®Vº¶ÈV¯S·Eº³¸F]¯³À:º¶¯S¸IÁBÁCµ±F¸ ´E»EÀ£º½5ÙV¸Ih º±ÁmÇ7·Eº±¸ º¶¹E¯S¯S½ º !;r½:m»J¯³µ±È Ç: MÃ7¸I_Òºm^Ch(¯³c ¹J»Bw[ÂiÅ Ç7j µ±»J®:µ±¯É¯S ½°±¯S»Bº¶À7Ç:½¼Å¯mµÐ5¸ µd²:´Bº]°±ÂY¯S°±º±¯S¯³º¶º¶¹J¸Ç:»B´EÅÅÀ+µ]Ç7»J¸I¸Iº1µ±º ¸ ÁmÀ:´E¯³· Ãn¹J»B ²7ÅEÇ7»B¯³»J°±È¯Sµ±Æ¯S½¼½ ¸I»Bº¼·@»E¯»Bº@¸ À7Ç:º´E¸ µ]¹JÅ »B¯S´JÅ »EÍ1¯³ÁdÀ@º³® µ h ý5¯S»Eº±ÁmÁm°±°±´Æ¸ ËP½5¯S½<¯m¿7¸ À:À¸ µ±µ±¸ ´E®:À7¸Iºrº1º¶µ±¯S®7ÁC»Jµ±µÌ¸ ´EÍ]À¸ ¸Å À@yµ±Ám´´EÀVµ±¹E®:¯³¯t°¶µ1²:°±Ãn¸ Ãn´@º¸ µ±µÌ¸ ¹E´B¯nÂÓµ±Ám®:´E¯tÀ7ºÁmµ±´E°±À7Ç7ºÁCµ±µd°±ºrÇ7½5ÁCµd¯mºÄ µ±X®:¸ À¯1µ±¯m®:Ð5¯²:°±º¶¯S¯³º±À7º¶º¶¸ ´E¯tÀ7´BºÂ ¸ Àt! µ±!®:[¯lÁmº¶´E¯³°±¯n°±¯Sº¶º¶¯S²PÁC´Eµ±¸À7´E½5À¸ À:Ö:· h feÁmÅIµ±»B´Ç7º¶J» ¯ ½:»B»J°±¯µ±Ç:¯³Ã ¹J»BmÅ F!Ç7µ±»J®:µ±¯³¯SÀ½ º±Ám°±¸ ËP¯S½¼¸ Àµ±®:¯>²:°±¯³¹V¸ ´EÇ7º]º¶¯SÁCµ±¸ ´EÀh °±´Eà Š¯mÂ3µ{µ±´Y°±¸ ·E®@µ{»BÀ7½nµ±®:¯l°±¯Sº¶Ç:Å µfXºdeÓ´BÂRµ±®:¯lÅI»EºµM¯mÐ5²:°±¯Sº±º¶¸ ´EÀn¸ À / #M M NM !J7S @VS J = A !"$# !"$# = = = F O *A K N =B< 9 B; 9 *A< 3 ; + . #M NM M !J7S @VS J = A K $- $'N K K N 0 *A 8 N L CB 8 *A V8 &)e )& e )& e +L= + +L= * = L F$-' hED/ F$-' hED/ = 4 = *A F$-' ED/ 8 6 .1/)E$# #M NM M : AAVS J? <+@A .1/)E$# 9 .1/)E$# N9 9 K N #$-1eD&9E4 6 '-1( H 4 6 32& <9 = +N= G0$-$($-10 : = 1-'' + =f= N G0$-$($-10 : =f= 1-'' -$$'- -1%12D $''), h" 6 -$$' - 1e " -1%12D ; +.1#0 ! #GI6^H*#+@+@(I) 4^ #+ K 8 G0$-$($-10 8 . $- $'N 0 <9 &9 B; *8 µ±²:®:°±¯¯Sº±º¶Ám¸ ´EÅI»BÀÇ7h{º¶¯w[Âyµ±¸IºS®:X¯i»B°±°±¯f¯Seº¶Ç:°±¯mÅ µlµ±Ç:´B°±ÂyÀ:¯³¯S¹J½Y»B»EÅ Ç7º»Jµ±µ±®:¸ À:¯· °±¯S º¶EÇ:¯³Å ȵfXºd¸Ieº1´B½5Â7¸ µ±ÑR®:¯³¯ °±¯³ À@µ1l°±´E¯mÐVÃ Ä ¯³º¶¸¹E´E¯³À7°±ºSÈ »B°±½:¯Ì»J¯³µ±¹JÇ:»Bà ŠÇ7m»JFÓµ±µ±¯S®:½¯³À¾»BÀ7¸ ½Â1µ±µ±®:®:¯³¯>°±°±¯¯Sº¶¸IºÇ:Å µf»BXÀκde{¯³´BÅIº¶Â¯µ±®:ÁmÅI¯>»BÇ7ÅI»Eº¶º¯µ¸¸IµdºSºtX»B¯m°±Ð5¯f²:eÓ°±µ±¯S®:º¯ Ä °± ¯Sº¶Ç:tÅ µf¯mXºdÐ5e²:´B°±¯SÂRº±µ±º¶®:¸ ´E¯ À¼ ¸Iº]Ç:ÌÀ7¯mº¶Ð5²P²:¯S°±Ám¯S¸ º±¿7º¶¯S¸ ´E½!À h E´Bµ±®:¯³°±Í]¸Iº¶¯Mµ±®:¯1°±¯Sº¶Ç:Å µ´BÂPµ±®:¯ <9 <9 <9 8 E .1$'- E4F = K EE = G 8 K h3$0D&p- K EE 6 N HI -K .1/!3D/$'&)($- K K L!M E .1$'- E .10 E . # KK EE K K EE " K h" KK !L M E .1$'- E .10 E . # KK EE L-Z&N/ 2 K ,/)C-$ K EE CF K '-97&),/)C-$ K E -$$'- .1/)E'1/)ED)E$( KK !L M .1/!3D/$'&)($- 7Ô h¾|ÓÐ5²:°±¯Sº±º¶¸ ´EÀ7º ¸°±À:¯S¸Ámµ±Ç:¸I»B°dº¶Åy¸ ¹E¹J»B¯rÅ Ç:½5¯S¯m¿7ºrÀ:»B¸ °±µ±¯i¸ ´EËPÀ7¯³º³¸h À:·Ám´EÃn²:Ç5µ±¯S½!FRµ±®VÇ7ºr»BÅ ´JÍ]¸ À:·ÆÃYÇ5µ±Ç7»BÅ È - Ë:¸ À7½5¸ À:·@º ËP´5½5ÈQ' Å ¸ : Ë d ° B » ± ° Æ È ¶ º V È @ À d µ J » Ð P 7_aE E (4DM>&' 4¸ À7B½5+ ) ¸ À: ·@º ' #º¶' $®:´E Ç:K ÅI½¼®7 »fK ¹E. ¯Ìµ±®:¯r´E°±Ã Í]º¶¯ ®:@¯³Ç:°±¯³¯ÌÀ7¯SÁm»E¯ÆÁd´B®HÂ]´E¸ À:À:¸ ¯µCM´E¸I°iºÃn»BÀ¼´E°±¯m¯Ð5²:¯m°±Ð5¯S²:º±°±º¶¯S¸ ´Eº±º¶À¸ F5´EÀ7»BÀ7º³h¼J½ w[µtËP´5¸IºY½5È »BMÀɺ¶¯³®:°±´E°±Ç:´EÅI°r½¼ÂËP´E°t¯>»» ËP!¹J¯³m»B¸À:°±¸I· »B7Ë:ËP_ÒÅ ´E^¯CÇ:yc À7µ±Y´t½!qh »B®:²:¯ ²P¯S»B¸ À:°{¸ µCÃn¶º>´E°±»B¯1°±¯nµ±®7¯³»B¹JÀÆ»BÅ ´EÇ7À7»JÁmµ±¯l¯S½¸ À¸ Àµ±®:µ±¯Ì®:ůƸIºÁmµMÇ:´B°±Â°±¯³¹JÀ@»Bµ>°±¸I»B¯³Ë:ÀV¹VÅ ¯S¸ ºÄ °±ËP´E´EÀ:Ç:ÃnÀ7½¯³À@µ±µ´tX¸ °±ÀH¯Sº¶º¶®´EÃnÅ ´5¯Á³»JÇ:µ±¸À7´Eº¶À7²Pº¯S®:Ám¸´E¿7ÅI¯S½5½«¸ À:·t´E°dµ±½5®:¯³¯i°CeC°±F{¯Sº¶µ±Ç:®:ů µdº³FV¹Jµ±»B®:°±¯ ¸I»BË:ËPÅ ¯´5½5ºÆÈ M»B°±¸I¯º µ±¯³¸ À:®:¹J·»B¯YÅ ´BÇ7ÅI»EÂy»Jºµ±»µl¯S½t¯m¹JÐ5¸»B²:ÀY°±°±¸Iµ±¯S»B®:º±Ë:º¶¯]Ÿ ¯´E¯mMÐVÀµ±®7´B¯³»EÀ7 º ½5ËP¯SËP½t´5´5½5¯³½5È ÀVÈ ]¹V¸¸I°±ºS»E´EXº»BÀ:¸°±Ãnµd¯fº]e¯³À@°±°±¯³µS¯m·EFEµ±¸ Ç:»B´EÀ7°±ÀÀ:½ih ¯Sµ±½!®:h]¯]|{¹J»E»BÁdÅ Ç:®¯@Ë:Xºd¸ eÀ7½V´BÄ 0 =B9 K N @ Y K .1/)E'1/)ED)E$( N 3 ± µ S ¯ º µ Å ¸ : Ë d ° B » ± ° ¼ È ¶ º V È @ À d µ J » Ð qµ±®:®:¯¼¯ ¹J3»Bµ±¯SÅ Ç:ºµ¯¼Ó´B¯mÂ]Ð5²:µ±®:°±¯S¯¼º±º¶¿7¸ °d´EºÀ7µYºÓ¯m»BÐ5°±²:¯]°±¯³¯S¹Jº±»Bº¶¸Å ´EÇ7ÀÉ»Jµ±µ±¯S®7½t»Jµt°±´E¯³ÃʹJ»BÅÅ ¯mÇ7Â3»Jµ{µ±µ±¯S´iºi°±µ±¸ ´·E®@»µSF@»B»BÅIÀ7º¶½¯ E E4F EE KK K&E KK L!M ¹J²:»B°±¯SÅ Ç:º±º¶¯ ¸ ´EXÀ7º¶¯³ºM¯»B°±º¶¯Ì¯SÁCÀ:µ±´B¸ ´Eµ]À¾¯³¹JÖ:»Bh Å Ç7h f»Jeiµ±¯S¸I½!ºnhÓ°±w[¯mÂyµ±Ç:»BÅ°±RÀ:µ±¯S®:½!¯rh¾¯mÐ5j1²:ÀV°±ÈίSº±°±º¶¯³¸ ´EÃÀ7»Bº{¸ À:¯³¹J¸ À:»B·Å Ç7»J¯mÐVµ±¯Ä E E EE EE K&KE KK E E KKK µ±w[´tµ±µ±®:°±¯³Ç:°±¯r¯>¹J»B»B°±Å ¯rÇ:¯SÀ:º³´nF@µ±¯m®:Ð5¯>²:°±¹J¯S»Bº±Å º¶Ç:¸ ´E¯ÌÀ7´Bº{µ±µ±®:®:¯³¯rÀ ÅI»EºÆµ]¸I¯mº]Ð5°±²:¯m°±µ±¯SÇ:º±°±º¶À:¸ ´E¯SÀƽ!h¸Iº°±¯mµ±Ç:°±À:¯S½!h E4F KKK L!M G V ³ ¯ i ¯ B » I Å ¶ º t ´ 7 À B » n à S ¯ ½ -RF5º¶¯SÁCµ±¸ ´EÀÔ7h h Ô7h E E K&E KK L!M E E K&E KK L!M E E KK L!M E K - P Ë:¸ À7½5¸ À:·@º ËP´5½5ÈQ' Å ¸ : Ë d ° B » ± ° Æ È ¶ º V È @ À d µ J » Ð E K L!M P 7_aE E (4DM>&' 4¸ À7B½5+ ) ¸ À: ·@º ' #º¶' $®:´E Ç:K ÅI½¼®7 »fK ¹E. ¯Ìµ±®:¯r´E°±Ã 3µ±¯SºQµ ' Å ¸ : Ë d ° B » ± ° ¼ È ¶ º V È @ À d µ J » Ð qµ±®:®:¯¯ ¹J3»Bµ±¯SÅ Ç:ºCµ¯Ó´B¯mÂ1Ð5²:µ±®:°±¯S¯¼º±º¶¿7¸ °d´EºÀ7µnºÓ¯m»BÐ5°±²:¯]°±¯³¯S¹Jº±»Bº¶Å¸ Ç7´EÀ»Jµ±¯Sµ±®7½t»Jµ°±´E¯³ÃʹJ»BÅ Å ¯mÇ7Â3»Jµ{µ±µ±¯S´iºi°±µ±¸ ´É·E®@»<µSF@µ±»B°±À7Ç:½¯ »Bº¶¸ À7´E&½ À7º³h ËP´5½5È iº¶®:´EÇ:ÅI½ ËP¯»<º¶¯ @Ç:¯³À7Ám¯Æ´BÂ1´EÀ:¯Æ´E°YÃn´E°±¯¯mÐ5²:°±¯SºÄ ¹J²:»B°±¯SÅ Ç:º±º¶¯ ¸ ´EXÀ7º¶¯³ºÌ¯»B°±º¶¯Y¯SÁCÀ:µ±¸´B´EµrÀ¾¯³¹JÖ:»Bh Å Ç7h f»Jeiµ±¯S¸I½!ºnhi°±¯mw[µ±ÂÇ:»B°±ÅÀ:y¯S¯m½!Ð5h¾²:°±j1¯Sº±ÀVº¶Èθ ´EÀ7°±¯³º1ï³¹J»B»B¸ À:Å Ç7¸ À:»J·µ±¯Y¯mµ±ÐV´ Ä ²P!¯³m°¶Â´E °±7Ãn_Ò^¯SC½c º¶¯ @-Ç: ¯³PÀ@µ±¸I¸Iº»BÅ º¶Èi¸ Ãn°±¸ ÅI´E»BÃ+°tµ±Å ¯m´ Â3µ{µ±-´iR°±F¸ ·EË:®@Ç5µSµF@»Bµ±®:À7¯½tË:µ±®:¸ À7¯1½5°±¸ ¯³À:·E·@¸ º´EÀn»B°±´B¯  µ±»B®:ÅI¯³º¶°±¯Ì¯>¹J»B»B°±Å ¯rÇ:¯SÀ:º³´nFVµ±¯m®:Ð5¯r²:°±¹J¯S»Bº±Å º¶Ç:¸ ¯Ì´EÀ7´Bº{µ±µ±®:®:¯³¯rÀ ÅI»Eº"µ¯m¸Iº]Ð5²:°±¯m°±µ±¯SÇ:º±º¶°±¸À:´E¯SÀƽ!¸Ih ºM°±¯mµ±Ç:°±À:¯S½!hyw[ µ±»<®:Ë:¯ ¸ À7-½5¸ À:P ·¯m¸Ð5À7²:½5°±¸I¯SÁ³º±»Jº¶µ±¸ ¯S´E½Àµ±ËV´ÆÈ µ±®:¯i¹J»B°±°±¸ ·E¸I»B®@Ë:µlÅ ¯´BHÂÓµ±®:¸ À:¯Y¸ Cµ Ë:Q¸ 'À7½5¸Iºi¸ À:µ±·7®7h1»Jqµt®V²7Ç7»Bº1°¶µYµ±®:´B¯  º¶¯S¸ À7Ám´E½5À7¸ À:½Y·Ë:¸I¸ º]À7½5¹V¸¸IÀ:º¶¸ ·>Ë:ŸI¯EºÓF:½5»B´EÀ7À:½¯º¶¸ À´t»B´EÀtÀh ¯³ÀV¹V¸ °±´EÀ:Ãn¯³À@µy¸ ÀnÍ]®:¸IÁd®tµ±®:¯M¿7°dºµ E E K&E KK L!M : Ë E E K&E KK L!M <*A Q Q' C 1-1( 8 1-1( 1-1( X )E$# ; )E$# ; )E$# 6 )E$# . + F= F 8 4 F= F = :=B9 1( 6 1e : 6 efG efG =B9 1( K N > K N 8 E E 1( 1( L!M L!M KK E "V. K S 7S 10JAC@ @A =B9 =B9 0/ =B9 @>*9 =B9 8 =B9 @>*9 9 =B9 E 1-1( EE K&E F= K K E 1-1( F$EE 8 K E E 4 F K KK E4F KKK 1e 3 3 ³J q5Ád®:®:¯Y¯³Ãnµ±®:¯r°±¯³»i¯tË:Ë:Å ´5¸ À7Á ½5¸ À:ºµ±·°±Ç7ÁmÁC´Eµ±À7Ç:º°±µ±¯E°±FVÇ7ÅÁC¸ µdEº ¯Ìj1-Å R·EF´EÅ!-Ö :PhyF!q»B®:À7¯r½ º¶ÈVÀ@-µd »JÐn´BÂ!·Eµ±¸ ®:¹E¯¯ µ±µ±®:®:°±¯³¯³È«¯i¯SÁmº´EµdÀ7»BºË:µ±Å °±¸IÇ7º¶®ÏÁCµdº]´E¸I°¼º1µ±¸I½5®:¯³¯³À@¸ °µ±¸IÁ³¹J»B»BÅÒ°±F7¸I»BË:Ë:Ç5Å µ1¯<µ±Ë:®:¸ ¯³À7Ƚ5¸½5À:¸ ·@ÑRº³¯³hÊ°1¸ waÀÀ£µ±®:» ¯i°±-¯³¾·E¸ ´E¯mÀ7ÐVºÄ ²:¹J»B°±¯S°±¸Iº±»Bº¶Ë:¸ ´EÅ À¯SºiF@µ±ËP®:¯S¯>Ám´E¸ À:Ãn¸ µ±¯¼¸I»BËPÅ´E¹JÇ:»BÀ7Å Ç:½ ¯S{º]¸ À-»B°±¯r» Ám´E-Ãn ²:P Ç5¯mµ±Ð5¯S²:½°±ËP¯Sº±¯mº¶Â¸´E´E°±À¯>F»Bµ±ÀV®:ÈƯ´BË:¸ À7µ±®:½V¯ Ä ¸ À:-·@ º{»BÀ71½n¯mÐ5¯³¹J²:»B°±Å¯SÇ7º±»Jº¶¸µ±´E¸ ´EÀÀ7FEº{»BÅ »B5°±µ±¯]®:²P¯1¯³Ë:°¶¸ÂÀ7´E½5°±Ãn¸ À:¯S·@½º»Bº¶¯°±@¯]Ç:¸ Àn¯³À@¯mµ±ÑR¸I»B¯SÅ ÁCµ{È @Í]Í]®:®:¸ Å ¸ ¯]Å ¯lµ±®:¸ ÀƯ³¸ »° @#M M M =B9 =B9 X /0 ; + 6 / 0 ; : 6 / 01e1e1e K /0 E -9D% h" E "]. E QL= O-KK -8 L!M 8 O : Ë ¸ 7 À 5 ½ ¸ : À @ · º P Ë 5 ´ 5 ½ È Å ¸ : Ë d ° B » ± ° Æ È ¶ º V È @ À d µ J » Ð P 7_a M¸ À7½5¸ À:·@º º¶®:´EÇ:ÅI½¼®7»f¹E¯Ìµ±®:¯r´E°±Ã »Bº¶¸ À7´E½ À7º³htËP´5w[µ>½5ȸIº>i»Bº¶À®:´E¯³Ç:°±ÅI°±½ ´E°lËP¯´E°>»<» º¶¯ @¹JÇ:»B¯³°±¸IÀ7»BÁmË:¯ÆÅ ¯´B1Â1µ±´E´À:»B¯Æ²:´E²P°Y¯S»BÃn°r´EÃn°±¯´E°±¯m¯YÐ5²:µ±®7°±¯S»BºÀ Ä ´E!À7mÁm¯r ¸ 7À_Ò^µ±C®:c ¯>Å q¸Iºµ1®:¯ ´BÂy¹J¹J»B»B°±°±¸I¸I»B»BË:Ë:ÅÅ ¯S¯ ºMaºÆËP»B¯³¸°±À:¯·ËPËP´E´EÇ:Ç:À7À7½-½!hµ±´Â°±¯Sº¶®«Å ´5Á³»Jµ±¸ ´EÀ7º ®:´EÅI½5¸ À:·<Ç:À7½5¯m¿7À:¯S½É¹J»BÅ Ç:¯Sº³Fµ±®:¯J¸ À:¸ µC¶ºY»B°±¯n¯³¹J»BÅ Ç7»Jµ±¯S½É¸ Àɵ±®:¯ K =B9-@>*9$ Q' K N EE (4D>&' 4B+ ) ' #' $ K K . & N ]/ ¯³¹V¸Iº¶¯S½ i5Ád®:¯³Ãn¯ °±¹J¯Sº¶»BÇ:°±¸IÅ »Bµ±¸Ë:À:Å ·«¯¯³¸IÀVº¹V¸»E°±º±´Eº¶À:¸ ·EÃnÀ:¯³¯SÀ@½¾µ µ±X´Î¸ À.µ±®:º¶¯´EÃn°±¯S¯Éº¶Ç:Ç:Å À7µº¶´B²PÂ>¯SÁmµ±¸ ®:¿7¯É¯S½£Ám´E´E°±°d°±½5¯S¯³º¶°C²PeC´EFrÀ7¯S½5»E¸ À:Ád®· »µ±B¸Ç:À7À:°±½t¸ À:µCµ±¯Sm®:Ff½!µ±¯lhÓ®:¹J|{¯»B»EÅ ÁdËPÇ:®¯@´5X½5Ë:ºdȸeÓÀ7´B½5¸IÂ!º¸ À:µ±¯³®:·Y¹J¯l»B´BÅ ÅIÂÇ7»E»»Jºµ{µ±¯S¹J¯m½>Ð5»B°±²:¸ Ài¸I°±»B¯Sµ±Ë:º±®:Å º¶¯¯{¸ y´E°±Àn®7¯Sº¶»E¸ Ç:ÀJºÅ µ±µ±¸®:ËPÀ:¯l´5·l½5¯³¯³ÈÀ@ÀVµ±¹V¸ °±¸I¸ ºS°±¯ ´EX»BÀ:°±-Ãn¯f ey¯³À@°±¯mµS Ä F ¯m»BÐ5Å ²:ÈÆ°±°±¯S¯Sº±Ámº¶¸Ç:´E°dÀº¶¸ »E¹EºÓ¯Ì¸ ²:µdº{°±´5°±Ám¯³¯S·E½5¸ ´EÇ:À°±¯SFBº³Ãh » V¸ À:·i¸ µ{²P´@º±º¶¸ Ë:Å ¯]µ±´Y½5¯m¿7À:¯lÃYÇ5µ±Ç5Ä =B9 @>*9 E 1-1(0$-. EE -1,$-E < E !"$# E E K E &)e E -10/ < 1( E /## < E /## < E !"$# E E K E &)e E -10/ < 1e E -1,$-E < E -1,$-E < II-KK K E* E 6 KKKKK K E* K KKKKK L!M 1( E 6 P²°±l¸ ´@À:À:º±·¯Æº¶¸ Ë:µ±°±´¯SÅ ¯rºµ±µ±µ±°±®:´Æ¸I¯<ÁCµ±¯³¸¹J¹J´E»B»BÀÉÅÅ Ç:Ç7´E¯»JÀ µ±´B¯>Â>¯S-»B»E ÀVÁd®È$¼¸ ¹JÀ:¸I»Bºi¸ µC°±¸I¹E»B¯³Í]Ë:°±Åȸ ¯µ±d®:¸ hÏÃn´EÇ5²Pw[µÌÂÌ´E»E°¶µ±µdº±®:»Bº¶¸I¸À@º·Eµ À:°±t¸¯SÀ:º¸ µt·nµ±°±ÃY¸I´EÁC°1µ±Ç7¸ °±º´E¯mµYÀ¾Â¯³ËP°¶¸I¯ºÄ ¹VËP¸¯S´EÁ³ÅI»B»JÇ7µ±¯Sº¶¯>½!F5µ±Ád®:®:¯³¯³ÀÃn¯Ì¸ µt²7¸I»Eºiº±»Bº¶¯SÀ ºM¯³»B°±°±°±·E´EÇ:°SÃnh¯³qÀ@®:µdº{¯ÆËV°±È¯Sº¹Jµ±»B°±¸IÅ ÁCÇ:µ±¯Ì¸ ´E°dÀÉ»Jµ±¸I®:ºi¯³À:°{¯Sµ±Ám®7¯S»Bº±À¼º±»BËV°±ÈÈ À7»B°±»B¯ Ãn¯Eh{* waÀµ±Æ®:¯m¯>Ð5Ãn²:°±´@¯Sºº±µÌº¶¸ Ám´E´EÀ7ÃnºlÃn»BÀ7´E½Àµ±Ç7®:º¶¯n¯Sº]°±¯S´BºÂ µ±°±¸I-ÁCµ±¸ ´EÀ<5F5¸Iºr»Bź±!»Jµ±µ±®:¸Iº¯ ¿7¯S½<¸ À:¸»BCµ Ç5¶ºÄ µ±´EûJµ±¸IÁ³»BÅ ÈEh @ 3 ! : ¯mÐ5²:°±¯Sº±º¶¸ ´E(À C ¯mÐ5²:°±¯Sº±º¶¸ ´E!À Q' Å ¸ Ë:°d»B°±È¼º¶ÈVÀ@µd»JÐ °µ±±qÇ:¸ ·E®:°±®@¯À:µS¯SF½!¯m»Bh¼Ð5À7²:q½°±¯S®:µ±º±¸I®:º¶ºr¸¯Æ´E¯mÀÐ5¹J»Ba²:ºnÅ °±Ç:¯S»B¯@º±°±Xº¶¯ºd¸ ´Eer¯³À´B¹JÂM»BµÈVÅ µ±Ç7²P®:»J¯¯Æµ±¯S¸IÅIºr½-»EºÇ7µº¶º¶¯ ¯S@¯m½Ç:Ð5¯³µ±²:À@´<°±µ±¯S¸Iº¶º±»B¯ º¶Å @¸ ´EÈÇ:À¯³ÂlÀ7°±´EÁm¸IºSïX»Bº¶°±¸IÅ ½5¯m¯fÂ3¯e̵n°±¯mµ±¯mÂ3´ ÄÄ Â¯SÁCµdº1º¶Ç7Ád®»Eº¸ À:²:Ç5µl»BÀ7½´EÇ5µ±²:Ç5µSh B =B9 @>*9 =B< CB 5=B9 @>*9 *A< A CA !9 E #$-1eD&9E- O-K E "-1GD&9E E '-1( H G K E 4 6 KK L!M E "-1GD&9E E #D&'93DF N 3D)2' 6 -1%12D$' K E #D&'93DF E 4 N 6 KKK L!M @ Y A= N 3D)2' 6 -1%12D$' G 3 S@J ¹J»B°±¸I»BË:Å ¯ ¸ À:¸ µ ºµ±¯³² Å ¸ Ë:°d»B°±È¼º¶ÈVÀ@µd»JÐ ¼¸IÁmºr´EÃn»B3À<µ±Ã¯Sº¸ »Bµ±µ ¯³À7°d½ »Jµ±¯m¸Ð5´E²:À°±¯SÁmº±´Eº¶À7¸ ´EºÀµ±°±Ç7ÁCµShrw[µ>º¶²P¯SÁm¸ ¿7¯Sºr»¼º¶¯mµr´BÂ{¹J»B°±¸I»BË:Å ¯Sº µ±»B´À7½tËP¯¼®:´JËPÍ-´EÇ:µ±®:À7¯³½!ÈtFÓ»B®:°±´J¯MÍ+µ±´>µ±®:ËP¯³¯1È Ç:»B²R°±½:¯»Jµ±µ±¯S´<½nËP´E¯Àt¸ ¯SÀ:»E¸ µ±Ád¸I®n»BŸ ¸µ±³¯³¯S°d½Î»Jµ±»J¸ ´EµiÀµ±h®:Gϯº®:µd¯³»BÀ°¶µS» F @#M M @#M @ @VS J A C Q (QQ' ' C H ' ! ' A E #/ EE ,$-. E > -$*,$-.)(/0 G KK E & O E 4 & 6 KKK EE ; & G K ,$-. K E ,$-.)(/0*$'-1( H ,$-.f&L& KK L!M E+O E 1-1( EE E 6 = G 8 -KKK E #/ EE E .)#0 KK E '92 O E 4 '92 E .10 KKKK EE E2D < K '92 KKK L!M G <S #M MPOM 8 8 E E µ±µ±¯³®:°±¯Ãn¸¯mÀ7Ð5»J²:µ±°±¸ ¯S´Eº±Àiº¶¸Ám´E´EÀÀ7a½5º³¸h µ±¸ ´EÀr¸IºÃn¯mµSFSµ±®:¯Å ´V´E²r¯mÐ5¸ µdº»JÂ3µ±¯³°¯³¹J»BÅ Ç7»Jµ±¸ À:· H¯mÐ5²:°±¯Sº±º¶¸ ´EÀ7º»B°±¯ ¯³¹J»BÅ Ç7»Jµ±¯S½.»EºÂ´EÅ ´JÍ1º £q®:$ ²:¹J°±»B¯S°±º±¸Iº¶»B¸ ´EË:À7Å ¯º¼ºÉ»B°±»B¯°±¯¾¯³¹JËP»B´EÅ Ç7Ç:»JÀ7µ±½ ¯S½ µ±´X¸ À°±¯Sº¶º¶´E®+Ãn¯Å ´5Ç:Á³»JÀ7µ±º¶¸ ²P´E¯SÀ7Ámº³¸ FY¿7¯Sµ±½H®:¯«¯ ´E°d°±½5¯S¸ À:¯³º¶Ç:°C¸ CµeCÅ <µdF]ºµ±¯m®:ÐV´B¯ Ä µ±®:¹J»B$¯ °±¸I»B¸ Ë:À:Ÿ ¯Cµ º³F:¯mÐ5»B²:À7°±½¼¯Sº±µ±º¶®:¸ ¯³´EÀÀ7ºµ±®:»B¯>°±¯Î¸ µ±¯³º°dµ±»J´Eµ±°±¸ ¯S´E½£À¸²:À®7»Eµ±º¶®:¯r¯ÎËPË:¯³·E¸ À7¸ À7½5º³¸ À:h ·@º<´BÂnµ±®:¯ Â|{»B»B°±»EÅI¯Éº¶Ád¯®¯³¹JX¸ º¶»Bµ±¯³¯³Å Ç7¯Æ°d»J»Jº¶µ±µ±¯S¸¯S´EÁC½£µ±À¸ ´E¸ ËPÀÀ ¯³·EÖ:´E¸ °dhÀ7½5ºÌh ¯³f°ËVeCÈ<Fµ±´E¯³®:°¹J¯³»BÀɯmÅ ÑRÇ7µ±¯S»J®:ÁCµ±J¯µS¸ À:F>· Ámµ±®:´E3µ±Ãn&¯ ¯SúµCº»Bµ±¯³À7² ¸!½ Â{rµ±®:¯m¯mÐ5Ð5¯n²:²:°±°±°±¯S¯S¯Sº¶º±º±Ç:º¶º¶Å¸¸ µr´E´EÀ7À7¸Iººº »B»B°±°±¯¯>ËP¯³´E¹J»BÇ:ÅÀ7Ç7½»Jµ±µ±¯S´½H°±¸ ¯SÀº¶®º¶´EÅ Ãn´5Á³¯É»Jµ±Ç:¸ ´EÀ7À7º¶º³²PF5¯Sµ±Ám®:¸ ¿7¯i¯S°±½¯Sº¶´EÇ:°dÅ ½5µdº]¯³°S´BF1Âyµ±µ±®:®:¯S¯ º¹Jµ±»B¯³°±² ¸I»B¶º1Ë:Å »B¯°±a¯º º»Jµ±µ±´E¸ ´E°±À¯S½nËP¸ ¯³À·E¸µ±À7®:º³¯Ìh Ë:¸ À7½5¸ À:·@º{´BÂRµ±®:¯ ¹J»B°±¸I»BË:Å ¯ aº³F5»BÀ7½tµ±®:¯ÌÀ:¯mÐVµM¸ µ±¯³°¶Ä w[»B °±¯3µ±¯³¯S¹JºµC»B>Å Ç7¯³»J¹Jµ±»B¯SÅ ½«Ç7»Jµ±°±¯S´Eºrà µ±´<Å ¯m»Â3µµ±°±µ±Ç:´¾¯°±¹J¸ ·E»B®@Å Ç:µ¯E»BFÀ7µ±½Ï®:¯³µ±ÀÉ®:¯µ±®:¹J¯J»BÅÇ:¯mÐ5¯@²:Xºd°±e¯Sº±´Bº¶Âi¸ ´Eµ±À®:a¯º ÅI²:»E°±º¯Sµ º¶¯³À@¯mµSÐ5FV²:µ±°±®:¯S¯³º±º¶À¼¸ ´Eµ±À ®:̯r¸I¹JºS»BXÅ»BÇ:°±¯Ì¯fel´B°±¯mµ±µ±®:Ç:¯ °±À:¯St½!¯mh¼Ð5w[²:Â]°±¯SÀ:º±´ º¶¸ ´E¯mÀÆÐ5¸I²:º°±¯SÇ:º±À7º¶º¶¸ ²P´EÀ¯SÁmaºi¸ ¿7»B¯S°±½!¯ h ¯Â³q´EÀ@®:°lµ±¯¸ »°±¯ °±¯³¹J·E»B<¸ °±´E¸IÀίm»BÐ5Ë:´B²:Å ¯ÂÌ°±{¯Sµ±º±µ±®:º¶´Æ¯¸ ´E»BÀÉË:²:¸ ²PÀ7¯mÐ:½5¯S»BÁm¸ À:¯³°1²5· ÃnµY´B´EÂÂr´E°±¯Ì°i» µ±µ±®7®:¹J»BH¯ »BÀ°±¸I¸´E»BÀ:À7Ë:¸ CµÁmÅ ¯ ¶¯>tº³¸hÀÁm´Ew[µ±µtÀ7®:º¶¸I¯i¸IºtºÅµd¸I»BºnºÀ µl´B´BÂl¯³Â°±µ±°±®:´E¯° ¹Jj »B°±¸Iº»Bµ±Ë:¯³Å² ¯S>º³h ûfÈËP¯´EÃn¸ µ¶µ±¯S½!FÓ¸ ÀÎÍ]®:¸IÁd®-Á³»Eº¶¯µ±®:¯¼¯mÑR¯SÁCµn¸Iºiµ±®:¯ ¸º±À7»BºÃnµ±¯S¯t»E»E½º1´B¸   ¹J¹J»B»B°±°±¸I¸I»B»BË:Ë:Å Å ¯ ¯ ¸ ¸ À:À:¸ ¸ Cµ µCQ 'Vh ¹J»B°±¸I»BË:Å ¯ 'n®7»E½ËP¯³¯³À<Í]°±¸ µ¶µ±¯³À 6 = NK J ¹ B » ± ° I ¸ B » : Ë Å Ë:¸ À7½5¸ À:·@º ËP´5½5ÈQ' ¯ Å ¸ : Ë d ° B » ± ° Æ È ¶ º V È @ À d µ J » Ð ¹V»B±ÅIvl¸Iº¶½5´<»B¯SÃnºYËP¯S»¯½ ÃnÇ7º¶´E-¯S°±½ ¯iµ±·E´¸Iº¯³À:¯m»Y¯³Ð5°d¹J²:»B»B°±ÅÓ°±¯S¸Iº±Å »B´VºiÀ@´Eµ°±²:¯S¸´EÁmÀ:ÀÆÇ:·<°dµ±º¶Ám®:¸ ´E´E¯>À7À7º¶ºº³ÈVµ±hÀ@°±Ç7µdw[»JÁCµnµ>Ю7µ±´B»E®7 º>»BÀµ±-®:n¯<Í]º±»B®:»BÃnÀ7¸IÁd½É¯®¼Ãº¶²:ÈV°±»fÀ5´BÈ ÄÄ µd¸IºM»JÐÉËP´E»BÇ:À7À7½½Æº¶Í]¯³Ã¸ µ±®:»B¸À@À µ±¸IÁ³ËPº>´5»E½5ºrÈ ´E°dµ±½5´n¸ À7»i»B²:°±È°±´5Ám-¯S½5<Ç:¯m°±Ð:¯lÁmÍ]¯³²5®:µ>´@º¶µ±¯l®7»J´Eµ °±Ã¹J»B»BÅR°±¸I»B»B°±Ë:·EÅ Ç5¯Ä Ãnq®V¯³Ç7À@µdºÓºÌµ±®:»B¯]°±¯r¯mÐ5µ±®:¯S¯iÁmÇ5ËPµ±´E¸ ´EÇ:ÀÀ7½´B ¹J»BËP°±´5¸I»B½5Ë:È ÅÓ¯Sº1ûB»fÀ7Èi½ËPÍ]¯1®:°±¯³´@²Pº¶¯S¯i»JËPµ±¯S´5½t½5ÈËVÈt¸Iº ¸ ÀVËP¹E´´5V½5¸ È À:m· h µ±®:¯>²:°±´5Ám¯S½5Ç:°±¯rÀ7»BÃn¯S½¼ËVÈH¹J»B°±¸I»BË:Å ¯dh . =B9- =B9 0 =B9 UA =B9 0 E 1-1(Z//)3 EE E2"-10D' E =* 6 * G KK E ED/)EE-1G EWKK E E-1G EWKKK E .1/)E$# EE E2D < E2"-10D' K$E $&')(LED/)EE-1GfE-1G KK EE + ; E .10LE2"-10D' KJO-K E //)3 E .)#0LE2"-10D' K E .1/)E' E .10LE2"-10D' K ED/)EE-1G K E-1G KK EE : E .10LE2"-10D' KJO-K E //)3 E .)#0LE2"-10D' K ED/)EE-1G E .1/)E' E .10LE2"-10D' K L!M EE 6 = KSE * G * KK Ô7h¾|ÓÐ5²:°±¯Sº±º¶¸ ´EÀ7º E-1G <= < BW = @VS J A9=B< EA9=B< > 9 A9=B< R R P N R R > 9 :] UN > 9 A9=B< AVS Q@ @VS J #M M M !<7 *9 V0 l < . < V0 < l < k < < V8 < .3 . Q *0 o . 0 L!M E $&')(Z= NK E $&')( E 4]6 K NK E 1-1( EE ED!- KK E $&')(hED!- hED!- KK L!M E $&')(] E %12D/($-Z KK E E 4V6 K T E )3])"' E8N * G -KK " K L!M E L= N G " K EE e// E * 6 O = KK T E .)#0 E . KK O E .10 E .1/)E' KKK L!M EE e// 8 K O .1/)E' K E 6 O G E ')%0( NK T E )3 ')%0( E 6 -KK I-K L!M E 6 O G N = I-K E´¸ À:À:Ç7·iÅ È>»EÅ º¶¯³Â¸ ¹E´E@¯³°Ç:ÅP´BÇ:»Eµ±À ºÓ¯r@µ±Ç:®:´E´B¯l°±µ±Ã¯S´E½nÇ5ºlµ±Ámï³´E°±»fÃnÃnȲP´@ËP´Eºµ¯YÀ:¯³Ë7À:À@»E¯SµdÁ ººÓµ±¯S»B@½!²:Ç:²PhÌ´Bµ±¯SV¯E»BÇ:hy°±Ë7¸ qÀ:º·>µ±®:¸ ¯lµ±»JÇ5µyÀ:µ±¯Sµ±¸ ´E®:ºµ±À7¯l¸ ºÌÀ:º±·i»B»BÃn°±Å ¯i¯³¯¹Eï³À:Å7¯S»E¸º½5À5µ¶¯ÄÄ Ám½5°±¯S¯SÁm»E°±º¶¯S¯S»EºÌº¶¯SËVºMÈ<ËV´EÈÆÀ:´E¯À:¸¯rÀ7¸º¶À7¸I½5º¶¸I¯n½5¯>¯S»E¯SÁd»E®ÉÁd®º¶Ç7Ç:Á³À Ám@¯Sº±Ç:º¶´B¸ ¹Eµd»J¯ µ±¸@´EÇ7À»Eh º¶¸ @Ç:´Bµd»Jµ±¸ ´EÀF»BÀ7½ Q Q 2 E E " E 4V6 K E e// E 4V6 = K # K - K e K L!M E E " E 4V6 K E e// N # K - K e K E 1-1( EE ED!- 6 K E ED!- F KK E E "hED!- 6 hED!- # K - KK L!M E E " Ff# K - K !$#!<7!$#!-*9 l < C' m #5 !$#!-* 9 ' mpo #5 !$#!-* 97 N=7 $ ' > * 9 KKKKK 3 E¡P Ï : : ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ ' Å ¸ Ë:°d»B°±È¼º¶ÈVÀ@µd»JÐ q½5Ç:®:°±¯ ¯ " : ʵ±Ám´<´EÀ7¸ Ãnºµ±²:°±Ç7Å ¯³ÁCÃnµÎ¯³¸IÀ@ºÎµ Ç7º¶ ¯Sm½+Qµ±#J´E·E¯m7µ±J®:_Ò¯³^°Î` Í]´E¸ °µ±®(d µ±®:]¯Hm ²:°±R´5dÁmd¯m\JÄ h Í]" ®:¸IÁd ®Îl: ²:»Jµn°±´5¯mº¶ÁmÐ5´E¯S²:Ãn½5°±Ç:¯S¯Æ°±º±¯fº¶²P¸e´E´E¸À µ±À@´r µY'<¯³¸ ¹JÀ °±»B¯mŵ±µ±Ç7Ç:®:»J°±¯Æµ±À7¯ ºnÇ5µ±»B¯mÇ:Ð5À¾°±²:¯¼´E°±¯SË Ãº±º¶¯S»f¸ ÁCÈ´EµÀËPdÁ³F@¯»B»BÅ »EÀ7¯Sº ½t½¾E¯S½5» ½«¯³Å R¸X¹EËVb±¯³`JÈ°tµ±µ±^I®:®:c³¯¯ °±²:¯SÅ ¯>º¶Ç:¹JÅ µ±»B¸ Å À:Ç:·Y¯Sº¹J»B¸IºÅ Ç:Ç:¯EÀ7hÓº¶q²P¯S®:Ám¯Ì¸ ¿7¯m¯SÑR½!¯Sh ÁCµ´B¯mÐ5²:°±¯Sº±º¶¸ ´EÀÓ°±¯mµ±Ç:°±À:¸ À:·YÃYÇ:Å µ±¸ Ä ²:Vů³¯m¯Ìµ±¯iµ±®:½5¯i¯Sº±½5Ám¯S°±º±¸ Ám²5°±µ±¸ ¸ ²5´Eµ±À¸ ´E´BÀ ´B ": Rh Xº¶¯SÁCµ±¸ ´EÀÖ:h ÔVe´E°1»tÃn´E°±¯rÁm´EÃtÄ @ 3 ! S !$# !$#!- $ Hµ±¯³Ãn²:ÅI»Jµ±¯ C' º¶º¶ÈVÈVÀ@À@µdµd»J»JÐРϵ±¯³Ãn²:ÅI»Jµ±¯ Ám»B±´EÅÌÀ7»Eº´BÁ µ±Âi°±@Ç7µ±Ç:®:ÁCµ±´B¯É¸ µ±À:¯½5·«¯Sº¶»Æ´E¸ °±°Å ¯S¸Iº½HµÌ@º´EÇ7µ±°Ì°±»EÇ7¹Eº¶ÁC¸¯S@µ±ÁCÇ:Ç:µ±´E°±´B¯°Ìµ±¯ º¸IϺµ±°±¯mÇ7VÐ5ÁCÀ:²:µ±´JÇ:°±Í]¯S°±¯YÀHº±º¶Í]¸ ¸´EÀ£®:À7¯³º»EÀ½5»B¹JÃn°±»B¯-´@À7ºÇ7ÁmµÌ¯Eº¶¯mh+Ë:ÂÇ5Ç:µrw[ÅtÂYÀ:ÂÀ:´E´B´ µ° ¯³¯³Ám¹J¹J´E»B»BÃnÅÅ Ç7Ç7ûJ»J»Eµ±µ±º¸¸ À:À:··»B²:²P¯S»Bn°µ±µ±Í]¯³¯³ÃnÃn¸ µ±®:²:²:¸ÅIÅIÀ.»J»Jµ±µ±¯¯ µ±<C®:h¯ ¸Iº<w[ ÂƯ @»HÇ:µ±¸ ¯³¹JÁmÃn´E»BÃnÅ ²:¯³À@ÅIûJµµ±»Ï¯µ±C´Ï»BFi²:µ±µ±²P®:®:¯S¯-¯-»B°d°±°±º¯S¯Sº¶º¶Í]Ç:Ç:¸ÅÅ µ±µµ®:¸´B´BÀ  µ±Ám®:´E¯Ãnà »>¸Iµ±º¯³¯³Ãn¹J²:»BÅÅIÇ7»Jµ±»J¯ µ±C¯SF½®:X ´J¶ÍMÇ:À¯³¹E@¯³Ç:°S´BFÓµ±¯Sµ±½®:@¯e¯m»BÐ5À7²:½n°±¯S¸ º±µdº¶º{¸ ´E°±¯SÀ-º¶Ç:´EÅ µ{Å ¸I´JºÍ]¸ À7¸ À:º¶·¯³°¶µ±µ±®:¯S½¯ ¸º¶À@¸ ´Eµ±À´<hrµ±®:w[ÂM¯»¼ºµ±Ám°±´EÇ7ÃnÁCµ±ÃÇ:°±»¼¯¼»B¸ ²:À7²Pºµ±¯S¯S»B»E°d½º1´B´EÂ]Å ´Jµ±®:ÍM¯¯S½Ám´E¸ ÃnÃnÃÃn»¯S½5»B¸I»JÀ7µ±½É¯³Å ȵ±®:ËV¯È<¯mÐ5»BÀ²:°±»J¯Sµ¶ºÄÄ º¶»¸ ·EÅ ¸IÀ.ºµ Xµ±eC®:F¯Æµ±®:´E¯³²PÀ«¯³À:µ±¸ ®:À:¯·Â»B´EÀ7Å ½É´JÍ]ÁmÅ ¸ ´@À:º¶· ¸ À:¯m·Ð5²:²7°±»B¯S°±º±¯³º¶À@¸ µ±´E®:À¾¯Sº¶ÃY¯SºrÇ7º´Bµ¼Â{¯³µ±¹J®:»B¯ÆÅ Ç7Å ¸I»Jºµ±µY¯»Bµ±°±´¯ µ±º¶®:¯³°¶¯³µ±À ¯S½±º¸ µ±À<°±¸ ²:²:ÅI²P»E¯SÁm½¯i´B»fÂÓ͵±»f®:È ¯n¼Ám»B´EÀ7Ãn½<õ±®:»Æ¯»Jµ¶¯³ÄaÅ ¯³º¶¸Ãn·EÀ¯³À@¯mµdÐ5ºr²:´B°±Â{¯Sº±µ±º¶®:¸ ´E¯ÀÅ ¸Iº¶º¯µY@»BÇ:°±¯³¯tÀ7¸ÁmÀ5¯EÄ h jÏ Ám´Eµ±Ãn¯³Ãnò:»rÅI»J»Jµ±µ¶¯ÄaCº¶¸h ·EÀnº¶®:´EÇ:ÅI½Y´EÀ:Å ÈY»B²:²P¯S»B°ÓÍ]¸ µ±®:¸ À»rÅ ¸IºµÓ´E°Ó¹E¯SÁCµ±´E° @#M MYXM 8 q ®:¯µ±¯³µÃnÍM²:´ ÅI»Jµ±À:¯ ´BµdÆ»Jµ±»B¸ °±´E¯iÀ7¸Iº ½5¯³À@µ±¸IÁ³n»BÅyµ±¯³¸ ÀÃn²:»BÅIÅ »Jµ±°±¯ ¯Sº¶²P¯S»BÁCÀ7µd½ º³h ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ ¸I¸Iºº¸I¸I½5½5¯³¯³À@À@µ±µ±¸I¸IÁ³Á³»B»BÅ5Å:µ±µ±´´ ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ ¯mVÐ5F@²:»B°±À7¯S½º±º¶¸ ´EÀ ¯mVÐ5hy²:°±q¯S®:º±º¶¯l¸ ´E¯mÀÐVÄ µ±Í]¯³®:°±À7´@»Bº¶¯ÆÅÁ³º¶»BÈV°iÀ@µd¸I»Jº>Ð.´EÀ:·E¯Æ¯³À:´B¯³ÂM°d»Jµ±®:µ±¯S¯S½.º¶¯¼ËVº¶È ÈVÃYËP´EÅIº>Ïûf´EÈ°¹Jµ»BÍM°±´BÈÄ[¯³ËPÅ ¯³¯mÃnµÍM¯³¯³À@¯³µÀÉÅ ¸I¸ ºÃtµdºÄ ²:Å ¯³Ãn¯³À@µd»Jµ±¸ ´EÀ7º³h < E %12D$'&)%12D/($- E $&')( E 2E$%12D/($- E 4V6 KK NKK L!M E $&')(= NK E %12D$'&)%12D/($- E $&')( E 2E$%12D/($- E 4]6 KK NKK L!M E $&')( E 4V6 KNK = E %12D$'&)%12D/($- E $&')( E 2E$%12D/($- E 4V6 K K NKK 1!$# À:²:°±¯S!$½5#!¸IÁC-µd »B7Ë:FÅ ¯<#5 ËP!$¯³#!®7-»f ¹V7¸ ´EFm°Æ´E°Á³#5»B ÀÏ!$#!°±¯S-º¶ Ç:Å µÆ¸ Âi»BÀV È-´BMÂr»Bµ±²:®:²P¯¯S»Bº¶°!ÈVÃY¸ À>ËP²P´E´BÅIºÄ º¶»B¸ ËPµ±¸´J´E¹EÀ7¯EºMh Í]¸ µ±®:¸ À» µ±¯³Ãn²:ÅI»Jµ±¯{´Bµ±®:¯³°±Í]¸Iº¶¯1µ±®7»BÀ»EºM½5¯Sº±Ám°±¸ ËP¯S½ ¨ ºµ¶5ÈV¸ Ád´E²P®:ÀʯS¯³º]Ãnµ®7ÈV¯n²P»f²:¹E¯S°±¯lº³´EFƵ±·E®:Á³°d¯i»B»BÅú¶¯SÈVºl½À@Á³µd»J»BÐÀE½5mb±¯m`f¿7cCÀ:h'¯»BxÀ7°±½<´E·EÇ7°dº¶»B¯tÃtÀ:Äa¯³½5Í+¯m¿7½5À:¯³¯S°±½.¸ ¹E¯m¯SÐ5½²:¯m°±Ð5¯S²:º±º¶°±¸ ¯S´EºÀ Ä E )@-RY/>A9 94D$&%I K µ±Í]%E®:m®:¯t¯³{°±¯m¯`JÐ5b±²:\J°±EFP¯S¯³´Eº±ÈVº¶°1ÍM¸ ´Eº¶´E¸ÀÃn°d!½ µ²:ÈVÅ ²PȸIºr¯E%Ehr»BmÀ<q{®:¸I½5¸I`Jºl¯³b±À@\J¸Iµ±½5F7¸ ¯³´B¿7À@Ây¯³µ±°lµ±¸ ¿7®:µ±¯³¯>®7°Ì»Jõr¸IºÌ»EÇ:ÁmÁ³À:°±»B´7¸ Å @h¯SÇ:½q¯³Å ®:ȵ±¯>®:½5¯¼ÀV¯mÇ:cCµ±ÃY¯³7°±ËPÃn_a¯³E¸ °1mÀ:_Ò¯S´B^ºÂ µ±µÈV®:²P¯ ¯Eh ½:»Jµ±Ç:à ¶º³FV»BÀ7½nµ±®:¯³¸ °]º¶ÈVÀ@µd»JÐ!F@½5¯³²P¯³À7½:ºM´EÀµ±®:¯Ì¯mÐ5²:°±¯Sº±º¶¸ ´EÀ |{º¶¯m»EµÁd´B®Â5¸°±À7Ç:ºÅ µd¯S»BºRÀ7µ±Ám®7¯l»Jµ´Bº¶²P»i¯SÃÁm¸ ¿7»E¯SÁmº!°±´i®:´J¸IºMÍÉÁ³»]»BÅ Ç7¯Sº¶½¯Ó´B» Â:V»c³Ã´B»EÂ!Ám°±µ±´®:¯l¸Iº!õ±°d»E»BÁmÀ7°±º±´7Ámhy°±¸ qËP®:¯S½¯ ¸´BÀ@µ±µ±´®:»Æ¯>ÃÃn»E´EÁm°±°±¯i´7²:h °±¸ Ãn¸ µ±¸ ¹E¯Y¯mÐ5²:°±¯Sº±º¶¸ ´EÀ¸IºÌÁ³»BÅ ¯S½µ±®:¯_Òb± :cm`JbCmb q®:¯>ûEÁm°±´n½5¯m¿7À:¸ µ±¸ ´EÀ»EÁm¸ Å ¸ µÈÁm´EÀ7º¶¸IºµdºM´BµÍM´n²7»B°¶µdº µ±µ±j-¸°d¿7»Bº¶¯³À7¯m°dµººÂ´B´E»BÂ:°±°±Ãn¯m¯Ð5¯³Ã²:°d°±º³»E¯SF1Ámº±°±º¶»B´ ¸ À7´EE½HÀ7¯³ºRÈVÁmÇ7ÍM´Eº¶À@´E¯Sµ±°d½r°±½:´Eµ±º³Å]´1FB»Eµ±¯S®:ºº±µdº¶¯É»B´5Ë:Ámº±¸IÁmÅ »J¸I´Eº¶µ±²P®r¯M¯µ±µ±®7®:Í]»J¯³¸µÃʵ±Ám®:¯³Í]¸ ÀH°¶¸µdµ±»BÍ]®n¸ À>®:øI¸IÁd½5»E®£¯³ÁmÀ5°±´» Ä Ã»EÁm°±´n¸Iº]½5¯m¿7À:¯S½!F7»BÀ7½ »Y²7»Jµ¶µ±¯³°±À¼ÅI»BÀ:·EÇ7»B·E¯]´E°]º¶²P¯SÁm¸ ÂÈV¸ À:·tûEÁm°±´iµ±°d»BÀ7ºÂ´E°±Ãn¯³°dº³h Ë:Ë:q¸¸ ®:À7À7¯½5½5¸¸ º¶À:À:ÈV·@·@À@º³º³µdFVh#»E»BÁCÀ7µ±j1½¸IÁ Å Å ´5EÃÁ³¯³»BÈV»EÅ:ÍMÁm°±¹J´E´@»B°dºl°±½-¸I½5»B´BË:¯m¿7ÂiÅ ¯1À:»ÉË:¯S½¸ ÃÀ7Ç7½5»E¸º¶ÁmÀ:¸ °±À:·@´ ·ÆºÃõ±®:»f»f¯YȾÈn²7º¶º¶»J®7®7µ¶»E»Eµ±½5½5¯³°±´J´JÀ<ÍÍÅIE»B¹J¯³À:»BÈV·E°±ÍM¸IÇ7»B´E»BË:·E°dÅ ½¯¯ ²:»B°±°±¯¯Sº¶¯³¶°±®V¹EÈV¯>·E5¸ ¯³ÁdÀ:®:¸I¯³Á Ãn«¯E»B× ºÀ7½ Å ¯mÐ5¶¸I°±Á³¯m»BÂů³°±º±¯³ÁmÀ@´Eµ±²:¸I¸»BÀ:Å · Èϳµ±Ô:°d»BF À7fº¶ÕV²7F »B°±FR¯³Ù@À@Fµ «»BÀ7½£µ±®VÇ7º , !<7 *9 < *9 7 N = 7 *9 '-*+ 3D& OOO N EP N CB [ [ . 0 . - 0 Q # B ³Ô ]/ ¯³¹V¸Iº¶¯S½ i5Ád®:¯³Ãn¯ ¿7w[°±Â¯³¯³À7»i°{»BXÃÃn¹J»B»E¯S°±Ám½¸I°±»B´iµ±Ë:®:ŵ±¯Ó°±°d´E»B´EÇ:À7° ·EºE®:¯³´E´EÈV°±Ç5ÃnÍMµÌ´E¯³¸°d°µd½7º>¸ eCÀ7º±Fmº¶Ámµ±¯³´E®:°¶²Pµd¯ºM¯Y¸I½5»Yµ±¯³´Ë:À@¸µ±»fÀ7¸ ¹E¿7½5´E¯³¸ ¸IÀ:°½<·iÍ]Ám¸ ´EÅ´EEÀ°]¸ 7À>»B¸IÀƯmÁCÑRµd¸IºÌ¯S½5ÁC¯³Í]µÀ@¸ ËPµ±µ±¸® ¯ Ä ´B´Eµ±°]®:ï³°M»fÈƸI½5À:¯³À@´Bµ±µ]¸ ¿7¸ À@¯³µ±°d°±º³´5hÓ½5v1Ç7´BÁmµ±¯>¯1»nµ±®7Ë:»J¸ À7µ]½5» ¸ À:· :" º¶¯³ ¯iYº¶¯S»JÁCµ{µ±µ±¸ ´E´EÀ²ÆÅÕ5¯³h ¹E¯³h ÅRûfÈ w[¸I½5Âl¯³»À@µ±Ã¸ ¿7»E¯³Ám°S°±FV´µ±®:µ±¯>°d»B°±À7¯mºÂ¯³´E°±°±¯³ÃnÀ7Ám¯³¯r°>°±¸ ¯mÀ7º¶¯³¯³°d°¶º{µdºYµ±´n»µ±®:°±¯r¯³¯ÆË:¸ °±À7¯m½5¯³¸ À:°±¯³·nÀ7µ±Ám®7¯n»Jµ±µ1´Í»B»EÀ º ¹V´BÂ!¸Iº¶»B¸ Ë:ÀVÅÈi¯1Å Í]´5Á³®:»B¯³Å:°±¯Ë:¸µ±À7®:½5¯]¸ À:µ±°d·@»BºyÀ7µ±º®7´E»J°±µ{Ãnï³»f°ÓÈYͺ¶»EÇ:º°±°±º¶´E²PÇ:¯SÀ7Ám¸½i¿7¯Sµ±®:½!¯]F@°±Ç7¯³º¶·@¯]»B´B°d½5ÂPŵ±¯S®:º±¯º ûEÁm°±´7h @ ¢ ³J 7 ³¡ S P@¡ 7 -! >»BÀ7½ - Ì»B°±¯1»BÀ7»BÅ ´E·E´EÇ7ºµ±´ -t»BÀ7½ - 5F@Ë:Ç5µµ±®:¯³ÈÆË:¸ À7½º¶ÈVÀ@µd»EÁCµ±¸IÁ E¯³ÈVÍM´E°d½:ºµ±´tûEÁm°±´Yµ±°d»BÀ7ºÄ µd´E»B°±¸ ÀÃn¯³¹J°d»BºÅ Ç:¸ ¯SÀ7º³ºh{µ±¯SV»EÈV½À@µd´B»EÂyÁCË:µ±¸¸IÀ7Á ½5E¸ ¯³À:ÈV·ÍM¹J´E»B°d°±½:¸Iº{»BË:ÃÅ ¯S»fº{ÈƵ±»B´ÅIº¶Å ´5´tÁ³ËP»J¯>µ±¸ ´EËPÀ7´EºMÇ:À7µ±®7½»J»JµÌµÁmµ±´E´EÀ5² Ä Å ¯³¹E¯³Å :º¶¯³¯>º¶¯SÁCµ±¸ ´EÀ<Õ5h h -! Ë:¸ À7½5¸ À:·@º ËP´5½5È Q' ¶ º V È @ À d µ J » Ð P 7_a M¸ À7½5¸ À:·@º º¶®:´EÇ:ÅI½¼®7»f¹E¯lµ±®:¯r´E°±Ã EE )@-RY/>A9 $3>A4#0d;=/>&IE)@>P032),6 K K ¸I|{º¶ºY¯ »E@»BÁdÇ:Àή ¯³À7¸ À7ÁmE¯º¯³µdÈV»B´BÍMÀ7Â]´EÁm´E¯Æ°dÀ:!½ ¯Æ´Bn ´E¸Iº°i Ãn»BÀH ´E°±¸I¯!½5¯³¯mÀ@Ð5#µ±²:¸ ¿7°±¯S¯³º±5°Sº¶FlF!¸ ´E»B¯SÀ7À7»Eº³&½Ádh¼® w[ËP3µYµ±´5°d¸I½5ºY»BÈ À7»BiºÀ º¶´E®:°±¯³Ãn´E°±°±Ç:¯³´EÅI°]½É°rº¶ÂËP²P´E¯°Y¯SÁ »» ËP E¯³¯³¸ À:ÈV·ÍM´EËP°d´E!½ Ç:!À7µ±½!´rh »B²:²P¯S»B°ÓÃn´E°±¯{µ±®7»BÀt´EÀ7Ám¯M¸ ÀYµ±®:¯]Å ¸IºµÓ´B E¯³ÈVÍM´E°d½:º °±´B!´EÂ7mÀ:µ±Ãn®:¯ ¯³7À@_Òµ]-^C!´Ec Ë5]µdq »B¸®:À:¯ ¯S½¼1ËPËV¯m´5ÈÐ5½5²:È ¯m°±ÐV]¯Sµ±¸Iº±¯³º1º¶À7¸ ¯m´E½5Ð5ÀY¸ ²7À:Í]»B·nÀ7¸ µ±µ±½5®t®:¯S¯>ýº¶»E¸ÈVÀÁmÀ@°±µdµ±´@»E®:ºÁC¯YÍ]µ±¸Iº¶ÁÌ®:ÈV´@À@¯³º¶ÀVµd¯ »E¹VEÁC¸ °±µ±¯³´E¸IÈVÁrÀ:ÍMÃn¯³´EÀV¯³°d¹V½:À@¸ µºÄ »B|{°±»E¯¼Ád®¼µ±®:Ë:¯ ¸ À7 ½5E¸¯³À:ÈV·ÍM´B´EÂÓ°d½!» aº³ EF{¯³ËPÈV´EÍMÇ:´EÀ7°d½Î!½ µ±´®7»Eµ±º ®:¯ËPº¶´5²P½5¯SÈ Ám]¸ ¿7»E¯Sº½Î¸ µdµ±º°d»B°±¯³À7·Eº¸Â´E´EÀ°±Ãnh ¯³°dº³h [ A9 !9 !8 [ #MPOM NM S 7S 10JAC@ @A?\ 9 7 =B9 @>*9 *<D C=B9 @>*9 =B9 7 K N K =B9 F *<D > N=B9 J N H=B9 7 *<D E 1-1(*$')F1E$( EE CB-E E ')F1E$( *012D1-' EWK EE CB-E($-')(]')()D( 6 ')()D( OOO K E &)ef($-')( E "-1GD&9EV')()D( 6 ')()D( OOO KKKKKK E 1-1( EE &)e1( KK E CB-EV&)e E '-1( H &)e hED/)C KK L!M ED/)C &)e KK E 1-1( EE /)2$($-10 KK E 1-1(*$')F1E$( EE E ')F1E$( *012D1-' EWK&EE KKKKK E 1-1( EE &9EE-10 KK E KKKK L!M /)2$($-10 *<D L 7 *<D E 1-1(0$-.1*$')F1E$( EE DF*/0 E ')F1E$( *012D1-' EWK EE DF*/0 K 1e K EE DF*/0Z- K - K EE DF*/0Z- 6 - OOO K E 1-1( EE ($-93]- 6 KK E &)ef($-93 ($-93 E DF*/0- OOO KKKKKKK E 1-1( EE 1e K EF 8 K E ($-93 I-K E 1-1(Z/## < K E &)e-1,$-E < KK E DF*/0 E 1-1(f($-93 K E &)efF K L!M 8 F KKK ;! A *<D 7 =B9 @>*9 *<D =B9 @>*9 8 38 7 A +@ @VS B´ÍMÂy´Eµ±°d®:½:¯ºÆ»B-°±¯ µ±®:¯ E ¯³ÈV ÍM´Et°d¯m½!Ð5[²:º³F]°±¯SËPº±´Eº¶¸Ç:´EÀ7À½¾Í]µ±¸ ´µ±®<µ±®:ï»EÁmº¶°±²P´@¯Sº]Ám¸Í]¿7®:¯S½¾´@º¶¯µ±°dE»B¯³À7È@ºÄÄ Â»E´Eº°±ÍMÃn¯³¯³Å °dRº³»Eh¼ºÓ|{µ±®:»E¯)Ád®ËPË:´5¸ À7½5Ƚ5¸ À:Í]·¸ µ±´B®:Â]¸ ÀÆ» ¸ µdEº{¯³°±ÈV¯³ÍM·E´E¸ ´E°dÀ½!F@1º¶®7´>»Eµ±ºr®:µ±¯1®:µ±¯J°d»BÀ7Ë:º¸ ÂÀ7´E½5°±¸ÃnÀ:·@¯³º°dº Á³½5»BÇ7ÀÎÁm¯Sµ±½°d»BËVÀ7Ⱥ±Ámµ±°±®:¸ ¯ËP¯¼-¯m Ð5²:°±¯Sº±º¶¸ ´E À7ºY ¸ À@Yµ±¯m´Ð5²:Ç7°±º¶¯S¯Sº±ºtº¶¸´B´EÂ1Àµ±h ®:¯Ã»EÁm°±´@ºi¸ À@µ±°±´BÄ 3 l S@ P P j 3µ±°d»BÀ7ºÂ´E°±Ãn¯³°]º¶²P¯SÁ M®7»EºMµ±®:¯r´EÅ ´JÍ]¸ À:·t´E°±Ã ! # .Å ¸ µ±¯³°d»BÅIº º¶ÈVÀ@µd»JУ°±Ç:Å ¯ H' Pº¶ ÈV7À@_aµd »J м°±Ç:ů~¸ µ±º¶¯³®:°d´E»BÇ:ÅIº ÅI½¼ ËP¸I¯>º ´B»#µ±®:Å ¸I¯rºµ ´E°±´Bà Â+¸I½5¯³À@µ±¸ ¿7¯³°dº »BÀ7½¯S»EÁd® E 254D$3$&)@>&# $&),IE2+ 4D$&) K ËPqj ¯³®:·E¯ ²7¸ À7»Jº]µ¶²7µ±Í]»J¯³µ¶°±¸ µ±µ±À ¯³®y°±À¸Iµ±º®:Ư³¯ ¸¸ Àµ±E®:¯³¯³$»ÈV°MÍM»B´Eº¶À°dÈV½À@¸I½5µd»J¯³´EÀ@м°µ±µ±°±¸ ¿7®:Ç:¯³¯>Å ¯°SÃF@»i¸I»EºÁmÁm°±´E» ´7À7h ºÅ ¸Iµdº»Bµ À@µSFE²7´E»J°µ¶µ±´E¯³À:°±À¯1´BÂRµ±®7µ±®:»J¯µ ´EÅ ´JÍ]E ¸ 25À:4D· $3$&)@>&# K @#MPOM MRQ *<D K N @C@ = B > N=B9 L OOO E 254D$3$&)@>&# 254D$3$&)@>&# OOOfO 254D$3$&)@>&# K E 254D$3$&)@>&# OOO 254D$3$&)@>&# ),+ + ' 203' 0 K E 254D$3$&)@>&# OOO K E 254D$3$&)@>&# OOO 254D$3$&)@>&# ),+ + ' 203' 0 K ±µ»B®:À7¯r½¼Â»>´EE Å µ±),´J¯³+ ),ÃnÍ]IE¸ ²:À:),ÅI#· »J$ µ± ¯Ì¸Iº{¯³K ¸ µ±®:¯³°]»BÀƸI½5¯³À@µ±¸ ¿7¯³°SF5»YÁm´EÀ7ºµd»BÀ@µSF@´E°M´EÀ:¯l´B OOO E ),+ ),IE),#$ ),+ ),IE),#$ OOOfO $&),IE2+ 4D$&) K E ),+ ),IE),#$ OOO K C J Í]»BÀ ®:¯³°±¯³¯tÅ ¸ »B²7À º¶¸Iº M¯³Å »B¯³À7Ãn½¼¯³À@»Bµ À 1¸I¯³ºÌÅ » ¸ ²73º¶µ±¸I¯³º Ãn{¸I²:ºMÅI»Jµ±®:µ±¯ ¯r1¸I½5´E¯³²5À@µ±¸µ±´E¸ ¿7À7¯³»B° Šȼ´EÅ ¼´JÍMXÍ]¯S½®:¸IËVÁd®È - Ë:¸ À7½5¸ À:·@º ËP´5½5ÈQ' º¶ÈVÀ@µd»JÐ Á³»BÀ:À:´BµYËP¯Ç7º¶¯S½ »EºY»BÀθI½5¯³À@µ±¸ ¿7¯³°Y¸ Àί³¸ µ±®:¯³°n»µ±¯³Ãn²:ÅI»Jµ±¯¼´E°t» P 7_a M5»BÃn¯>»EºM´E° -! Rh 7 ² J » ¶ µ ± µ ³ ¯ ± ° P À C e h °±!´EmÀ:Ãn ¯³7À@_Òµ]^C´Ec Ë5]µdq»B¸®:À:¯ ¯S½¼ËPËV´5Ƚ5ȯmÐV]µ±¸I¯³º1À7¯m½5Ð5¸ ²7À:»B·nÀ7µ±½5®:¯S¯>½º¶¸ÈVÀÀ@µdµ±»E®:ÁC¯Yµ±¸Iº¶ÁÌÈVÀ@¯³ÀVµd»E¹VÁC¸ °±µ±´E¸IÁrÀ:Ãn¯³ÀV¯³¹VÀ@¸ µÄ Ã!m»EÁm°± ´¾7_Òµ±^°dC»Bc À71ºj1´EÀ<°±Ãn¸ À7¯³º°µd»BËVÀ7È£Ám¯>º¶²P´B¯SÁm¸ ÂÈV¸ À:·Ï!»«#º¶¯ @Ç:r¯³À7²:Ám°±´5¯É½5´BÇ7ÂnÁm¯S®Vº1ÈV»·E¸ À:¯³À:¯³Í¸IÁ =B9 @>*9 K K N 7 =B9 N *<D 7 *<D K N *<D > N=B9 R.0 ±°Í]¯³¸ Í]µ±®<°±¸ µ±»n¯µ±°±°dÇ:»BÅ À7¯Sº³ºÂh´Ejΰ±ÃnÇ7¯³º¶°1¯{º¶´B²PÂ:¯S»1Ámø ¿7¯S»E½Ám°±´]ËVÈ Í]®: ´@º¶¯ E!¯³ÈVÍM# ´E°d½Ìr¸Iº¸Iº1»Eº±Ãº¶´5»JÁmµd¸IÁd»J®:µ±¯S¯S½½ ·ÂE»B´E¸·@À:Ç:»BÀ:À7¸ À7¸½!À:ºF5·Æµtµ±®:µ±Í]®:¯r¸ ¯µ±Ã®²7»Eµ±»JÁm®:µ¶°±¯iµ±´t¯³Å°±Ç7¯mÀ7Â3º¶µ±º¯rÃnÁm¸IºM´@´EºÀ@µ±µ°dµd»B»BÀ7¸º¶À:ÈVº±¯SÁmÀ@½Î°±µd¸ »JËP¸Ð¼À¾¯S½Æ°±µ±Ç:®V®:Å ÈV¯¯ d·Eh¸ ¯³º¶GÏÈVÀ:À@¸IÁ³®:µd»B»J¯³ÅÀмÈÆ°±»nÇ:»EÃÁ³Å ¯Ám»J´Eº³µd°dFMÁd½5®ËP¸ À:¯m¸I·ºÄ µ±j1´tÀƵ±®:¸I½5¯r¯³À@µ±¯³µ±Ãn¸ ¿7²:¯³°ÅI»Jµ±µ±®7¯E»Jh µM»B²:²P¯S»B°dºÓ¸ Àµ±®:¯1²7»Jµ¶µ±¯³°±À´B» º¶ÈVÀ@µd»Jм°±Ç:Å ¯ µ±¸IxÓº>®:»J¯l»µ¶µ±²77¯³»J°±Jµ¶À<_Òµ±a¯³m¹J°±b»BÀ°±F@¸I»B¸I#Jº{Ë:JÅÅbC¯S¸I^ºº1Eµ±¯Sýnm»JF¸ µdÀJÇ:Ád®À:ÅÅ ¯S¸»Bµ±º±°±¯³ºrË:°d»B¸ ¸ µ±µiÅI°dº »B¸ICºÌ°±F@È´Eµ±®:°{¸ À:¯ ¸IºÓ²:EÇ5µ±¯³®:µrÈV¯lÍM¯³¸IÅ ´E½5¯³°dÃn¯³½À@¯³µ±À@µ±¸ ®7¿7µdºr»J¯³µi° »BÀ7ËP½¯³·E»B¸ À7°±:¯º h Ç7¸IºYº¶¯S»B½À µ±¯³´°±°±°±´E¯m°r¯³Â°l´E°iµ±´µ±®:¯³¯¼Å ¯³Ãnº±»B¯³ÃnÀ@µd¯ÆºÌ²7´B»Jµ¶µ±µ±®:¯³°±¯nÀɸ À:¹J²:»BÇ5°±¸Iµ>»BË:¸ À<Å ¯µ±µ±®:´<¯t»Bµ±²:¯³Ãn²P¯S²:»BÅI°Y»Jµ±Ãn¯Eh>´E°±w[¯µ µ±q®7®:»B¯ À´EEÀ7¯³ÁmÈV¯rÍM¸´EÀ°d½»»J²7µ(»Jµ¶µ±µ±¯³®:°±¯ÀCËPh ¯³·E¸ À:À:¸ À:·´Bµ±®:¯ ²7»Jµ¶µ±¯³°±À#¸ À » Ámº¶´EÈVÀ7À@º¶µd¸I½5»Jм¯³°±¯S°±Ç:½Å ¯»tY²7¸I»Jºµ¶µ±À:¯³´B°±µÀ¸ ¹JÀV»B¹E°±´E¸IÅ»B¹EË:¯SÅ ½Î¯r´E¸ À¾°Å µ±¸ µ±®:¯³¯°d»BÃÅ»J¸I½5µd¯³Ád®:À@µ±¸ À:¸ ¿7· ¯³°S»Bh À7½-¸IºÀ:´Bµ . *<D > N=B9 N ?] R > .0 ! bYC)P036,/2)`/;Z$&C) )@-RY/>A9N' 0V9:)@$&)@>&IE' #)!9OB-O$&C) )@g:2:>&),0303' /#U/><0d-:#$A4DgQ9:)@c5#' $&' /#Q$&C54D$XB' #59:01' $X$&/W$&C)E40303/6,' 4D$&)!9 I?46@>&/V$3>A4#0d;=/>&IE)@>!LE" ;8$&C) )@-RY/>A9nRY)@>&)?4V254D$3$&)@>&#(4D>&' 4B+ )G/> + ' $&)@>A4+<' 9:),#$&' c5)@>!.1$&C),#j$&C)Q$&),IE2+ 4D$&)$&C54D$P;=/+ + /!R70Q$&C)254D$3$&)@>&# RY/%+ 9NB)VR7' $&C' #' $&0E036,/2)W>&),K*4D>A9:+ ),030?/;ZR7C)@$&C)@>G$&C) )@-RY/>A9 RY)@>&)1B/%#59VB- 1-1(*$')F1E$( />JB- 1-1(0$-.1*$')F1E$( L w¸I½5½5¯³¯³À@À@µ±µ±¸¸ ¿7¿7¯³¯³°d°dºrºµ±µ±®7´»JËPµ¯Æ»B²:òP»J¯Sµd»BÁd°y®:¸ ¯SÀ ½ÉÅ»B¸ µ±·@¯³»B°d¸ »BÀ7ÅIºº µ>Ám»B´E°±°±¯{°±¸ ¯SÀ@º¶µ±²P¯³´E°±À7²:°±½5¯m¸ µ±À:¯S·½Yº¶»EÇ:ºË5Š¸ ´Eµ±¯³°±Ã°d»Bº Å ´B¸I½5Âr¯³µ±À@®:µ±¸¯¿7¯³¸ À:°{²:¸ ÂÇ5»BµSh+À7½tj ´EÀ:º¶Å ÈtÇ:Ë5¸ Â!´E¸ °±µ{à ¸Iº»B¸ À«Àµ±¸I½5®:¯³¯À@µ±¸ À:¸ ¿7²:¯³Ç5°{µ»BÀ7ýn»Jµd¯³Ád¸ µ±®:®:¯S¯³º¼°{» ËP´BÅ µ±¸ µ±®¯³°d¸ µd»Bº Å µ±µ´5ÍM®:Á³¯iÁm´nÇ:øI°±½5°±»E¯³¯³ÁmÀ@À7°±µ±Ám´¸ ¯n¿7½5¯³¸ ¯mÀÉ°d¿7º]µ±À:»B®:¸ °±µ±¯Æ¯Ì¸ ´Eï À@»EÇ7®7Ám»B»f°±Å¹E´¯r»B¯mÀ7µ±Ð5½¼®:²:¯Y°±ËP¯Sº±´Bº±»Bµ±º¶Ãn®¸ ´E¯>®7ÀÉ»fÅ »B¯m¹EÐ5À7¯Ì¸I½Á³À:»B´n¸ ŵdº>Å Ë:¯m¸Ð5´5À7¸IÁ³½5Á³Ám»B¸ Ç:À:Å!°±·7Ë:°±F7¯³¸ À7À7´E½5°Ám¯¸ µ±À:®:¸·7À¯ h ¯³j+ÅÃn¸ µ±º¶¯³¯³Ç:À@°dË:»Bµd²7ºtÅIº »JC´Bµ¶hlÂ]µ±¯³Gϵ±°±®:À¸¯µ±Â®:´E¸ ¸À:ÅÀ²:´JÇ5»ÍMµS¯S²7h ½»Jw[µ¶ËVµnµ±È¯³¸I°±ºnÀ»Bµ±ÀÎ1®:¯YÁ³¯³»B°±¸IÀ<½5°±´E¯³Ã°iÀ@µ±Â»J¸ ´E¿7µd°Ád¯³® ° ³¯³r°±´Æµ±´ÉÃY´E°ÌÇ7»B²:ºÃnµl²P´E¯S´E°±»B¯iÅ°t´J¯³¸ ÍÅÀ Ä µ±®:´E¯>°±ÅI¯{»Eº´Eµ]°±¯³ÃÅ ¯³»BÃnÅ ¯³ÈEÀ@FBµ1»BÀY´BÂÓ¸ À:»t²:À:Ç5´EµÓÀ:´E¯³°±Ãnò5µHÃȼº¶¯ »J@µdÇ:Ád¯³®:À7¯SÁmºy¯r»Ì´B²7ÂÓ»Jº¶µ¶Ç:µ±Ë:¯³°±²7À»Jµ¶Hµ±¯³¸°±ÂRÀ7»Bº³À7h ½ ´EÀ:Å ÈƸ  ʸIº]»tÀ:´EÀ5Ä[Å ¸ µ±¯³°d»BÅ!¸I½5¯³À@µ±¸ ¿7¯³° 5´E° ʸIº1»tÅ ¸ µ±¯³°d»BÅ!¸I½5¯³À@µ±¸ ¿7¯³°l»BÀ7½ ʸIº1»BÀ¸I½5¯³À@µ±¸ ¿7¯³°1Í]¸ µ±®µ±®:¯ º±»BÃn¯rË:¸ À7½5¸ À:· :´E° ûJ¸IµdºÁd»i® Å ¸Iºlµ µ± ®: °±´EÇ:·E® R(F:'>°±»B¯SÀ7º¶²P½ ¯S.¸ÁCµ±¸ I¹EºM¯³Å»iÈ ÅV¸Iº´Eµ° ´B > ´E°±Ãºµ±®7»Jµ ¸Iº»BÀ¸ Ãn²:°±´E²P¯³°Å ¸Iºµ S '-»BÀ7½ ñÁ³»J½5¸Iµdºt° ÁdY® »ÃÅ ¸I»JºµdµnÁdµ±®:´E®:¯S°Y°±º ´E¸ ÃnÇ:·E²:® °±´E:²P!´E¯³°°tFÌÅ°±¸I¯Sºº¶µn²P´B¯SÂÁCµ±>¸ ¹E¯³´EÅ °tÈEFrÃn»B´EÀ7°±½H¯ÂÍ]´E®:°±Ã´@º¶ºY¯ µ±>®7µ±»J® µ ¸Iºn´BÂlµ±®:¯Â´E°±Ã .¯³Å ¸ ²7º¶¸Iº Q'Í]®:¯³°±¯ ´µ±B¯³®:ÂnÅ °±»J´E¸ ²7µÇ:º¶·E¸IÅ º®¯SY»E º¸Iµºt!F5>µ±°±®:¯S¯Âº¶´E²P¸I°±½5¯SÃÁC¯³µ±À@º³¸ F1µ±¹E¸ ¯³¿7µ±Å®:¯³ÈE¯° F5»B¿7À7°d½¼ºYµ ¯S»B»E> À7Ád½®¼´BÂY°±¯³Í]øI®:º»B¸I¸Ád»À:®£¸ À:²:÷t°±´E»J¯³²PµdÅ ¯³¯³ÁdÃn°n®¯³Å ¸IÀ@ºµµ ´B ûJµdÁd®:¯S º 5´E° P U ] N B V8 [ [ !8 [ -8 [ . 0 T8 [ T8 7Ô h¾|ÓÐ5²:°±¯Sº±º¶¸ ´EÀ7º fÕ ¹E ¯SÁC¸Iµ±º´E°]»´B¹E ¯S> ÁCµ±Â´E´E°n°±Ã´BÂlºMµ±µ±®:®7¯»Jµ1´Eð±Ã »JµdÁd® 1 µ±®:°±´EÇ: ·E9®' »BÀ75½´E° ¸Iº» ¸Iºl´BÂÓµ±®:¯i´E°±Ã .¯³Å ¸ ²7º¶¸Iº C'nÍ]®:¯³°±¯ Ãn°±¯³¯SÅ´Eº¶²P°±¸ ²7¯1¯Sº¶ÁC¸Iµ±´Eº ¸ °±¹EﳸIº{Å ºÈEµ±FJµ±®:»B®:¯lÀ7¯1½i¸I¿7½5¯S°d¯³º»EÀ@µ Ádµ±®>¸> ¿7°±¯³´B¯³° ÂÃÍ]»B®:¸ À:Ó¸IÁd¸ »BÀ:®ÆÀ7·lý ¯³»JÅ.¸¯³µdÃnÁdI®ºM¯³À@»i µ¹E´B¯Sµ±ÂÁC®:Ïõ±°±´E´E°{Ç:´B·E»J ® µd>Ád®:´E¯S!°º F :´E° +¸Iºl»Æ½:»Jµ±Ç:ûBÀ7½ ¸Iº1¯ @Ç7»BÅ!µ±´ +¸ Àµ±®:¯Yº¶¯³À7º¶¯i´BÂyµ±®:¯ !$# [Y²:°±´5Ám¯S½5Ç:°±¯Eh w[¸ µdµlºY¸Iº1Ë:¸»BÀ7À½5¸¯³À:°±·7°±´EFy°¸ Àε±´»BÇ7À º¶¯i¯mÐ5»n²:°±Ã¯Sº±»Eº¶Ám¸ °±´E´ ÀEµ±¯³®7ÈV»JÍMµn´E½5°d´V½!¯SFVº>Í]À:¸ µ±´B®:µt¸ Àõ±»J®:µd¯YÁd®Îº±Ám»B´EÀV²Pȯ>´B´B µ±GÏ®:¯>®:¯³²7À»Jµ¶»lµ±¯³Ã°±À7»Eº³Ám°±h ´ÌÇ7º¶¯M¸Iºµ±°d»BÀ7º±Ám°±¸ ËP¯S½Y»EÁ³Ám´E°d½5¸ À:·1µ±´Ìµ±®:¯Mµ±¯³Ãn²:ÅI»Jµ±¯ ´B¸ ÀÂRµ±µ±®:®:¯1¯tõ±¯³»JÃnµdÁd²:®:ÅI¸»JÀ:µ±·¯n»Bº¶°±ÈV¯tÀ@µd°±¯³»J²:мÅI»E°±Ç:Ám¯SÅ ¯½CF@ËV²7È»Jµ±µ¶®:µ±¯³¯°±Ànº¶Ç:¹JË5»B°±´E¸I°±»BÃË:Å ºl¯Sºyµ±®:µ±®7¯³È»Jµ{ô5»JÁ³µdÁmÁdÇ:® ° ¸»BÀ´EÅ Å ´Jµ±´JÍM®:ÍM¯n¯S¯S½n¸½¼À:´E²:ËVÀ:Ç5ÈÆÅ ÈtµS´Ehn¸À:ÀxÓ¯rº¶»J´EÇ:µ¶°]µ±Ë5¯³Ãnµ±°±¯³À´EÃn°±¹J²:¯r»BÅI¸»J°±À7¸Iµ±»Bº¯SµdË:º»BÅ µ±¯SÀ7®7ºlÁm»J¯Sµ±µº®7»B»J´B°±µ>¯]µ±´5®:Á³´E¯>ÁmÅ Ç:¸I´J½5°rÍM¯³¸ ¯SÀ@Àɽnµ±¸ º¶¿7ËVÇ:¯³ÈnË:° ²7»Eº{»Jµ¶Ãµ±{¯³»B°±»BÀVÀ7°±È¯º ¸´BÀ7Â̺µdµ±»B®:À7¯<Ám¯Sº¶Ç:º>Ë5´B´E°±ÃºnChµ±®:q¯³®:È-¯³ÈûJ»Bµd°±Ád¯®«°±¯³¸ À¾²:ÅI»Eµ±Ám®:¯S¯½¸ À:¸ Àɲ:Ç5µ±µS®:F]¯Æ½5´E¸IÇ5ºµ±µ±°±²:¸ Ç5Ë:µYÇ5µ±ËV¯SȽϻB»EÅ º ¸»EÀ7º]½5º¶¸I²PÁ³»J¯Sµ±Ám¯S¸ ¿7½!¯Shn½!w[h µ>¸Iº>»BÀ¯³°±°±´E°Ì¸ Â{µ±®:¯´EÇ5µ±²:Ç5µiÁ³»BÀ:À:´Bµ>ËP¯nË:Ç:¸ Å µiÇ:² w¹J½5»B¯³°±À@¸I»Bµ±Ë:¸ ¿7Å ¯S¯³º°dº´Eµ±°®7µ±»J®:µ¯i»B¸I²:½5²P¯³À@¯S»Bµ±¸°¿7¸¯³À° µ±®:¯1{µ±»B¯³Ãn°±¯>²:¸ ÅIÀ7»Jº¶µ±¯³¯Ì°¶µ±Ë:¯SÇ5½¼µ¸ »BÀ@°±µ±¯1´nÀ:µ±´B®:µ{¯i²7´E»JÇ5µ¶µ±µ±²:¯³°±Ç5À µ ÂÍ]»E°±º>¯³¸ µ±¯1Å®:¸ µ±¸I¸ ½5À¯³°d¯³Í]»BÀ@ŵ±®:¸ ¸I´@¿7½5º¶¯³¯³¯]°À@º±µ±µ±Ám®:¸ ¿7´E¯³¯³²PÀÆ°d¯º³¸ µ{µ±h¼®:°±w[¯]¯mÂ1¸ ¯³»À7°dººyŵd¸ µ±»Bµ±´>¯³À7°dÁmµ±»B¯®:ůl´B¸I ½5Ë:¯³¸ À7À@ ½5µ±¸¸¿7À:¯³·i!°i´B¸IÂRº>µ±# ¸®7À7»Jº¶µ{¯³°¶¸I»Bµ±½5¯S²:¯³½ À@²Pµ±¯S»E¸ »B¿7ºi°d¯³º³»° h w[¸ µY»ƸIº>Å ¸¸ Àɵ±¯³°d¯m»BÑRÅy¯S¸IÁC½5µY¯³°±À@¯³µ±À7¸ ¿7»B¯³Ãn°Ì¯S¸I½<ºÌ¸µ±À7´º¶¯³²:°¶°±µ±¯³¯S¹E½¯³À@»EµiºÌ¸»¼À7»EËP½5´E¹EÇ:¯³À7°¶½<µ±¯³¸IÀ@½5µi¯³À@Á³»Bµ±¸²5¿7µ±¯³Ç:°Ì°±¯Sµ±ºr®:¯³´BÀ  Âjl°±¯³ºy¯>»BÀi¸I½5¯m¯³Ð:À@»Bµ±¸Ãn¿7¯³²:°dÅ º³¯EhFJ¸  ->»BÀ7½ - Ì»B°±¯M½5¯m¿7À:¯S½Y»Eº¸ Àtº¶¯SÁCµ±¸ ´EÀnÙVh µ±»B®:À¯³À>¯³°±µ±°±®:´E¯³°SÈ>h »B°±¯®VÈV·E¸ ¯³À:¸IÁ1X»Eº°±¯ @Ç:¸ °±¯S½7e!»BÀ7½rµ±®:¯Â´EÅ ´JÍ]¸ À:·1¸IºÀ:´Bµ [ [ 9 8 T8 [ !<= > X X =B9 E 1-1( EE ; +1e KK E .1/)E$# E 1( ; + *<D > N=B9 8 *A / >KKK L!M J¹¸Iq½5»B®:¯³°±¯¼À@¸I»Bµ±ÃË:¸ ¿7Å »E¯E¯³°ÁmFV°±»B´À7:½µ±F@°dÍ]®:»B¯³À7®:À7º¸IÁdÂÁm´E®Æ¯r°±µ±Ãn»B®:ÀƯ³¯Ì°>¯mÃÐ5²:´E»E°°±Ám¯S°±-º±´iº¶¸ µ±´E°d<À»BF@À7°±»Bº¯SÂÀ7Ám´E´E½°±·EÃnÀ:À:´B¯³¸ ³°µ]¯Sµ±»Eº °±ºÓ¯Sµ±»J<®:µdºM¯l»E»EºYµ±´EºM»²5»tÄ[ÅÅ º¶´5¯³ÈV¹EÁ³À5»B¯³ÄÅÅ µd»EÁCµ±¸IÁ E¯³ÈVÍM´E°d½!hyq®VÇ7ºMµ±®:¯>¯mÐ:»BÃn²:Å ¯r¯mÐ5²7»BÀ7½:º¸ À@µ±´ E EE KK E E KKK ¸ À7ºµ±¯S»E½´B *A 5 1-1( /> ; +1e "-1GD&9E ; + / > &)e1( E 1-1( EE ; +1e KK E 1-1( EE ($-93 1( KK E &)ef($-93 E / > ($-93 KKKK Í]®:¸IÁd®ÍM´EÇ:ÅI½¼°±¯Sº¶Ç:Å µ]¸ À»BÀ¸ ÀV¹J»BÅ ¸I½²:°±´5Ám¯S½5Ç:°±¯>Á³»BÅ Òh SÖ /]¯³¹V¸Iº¶¯S½ i5Ád®:¯³Ãn¯ & *L*'" &% ] l *L*'"J+ j½5¯m¿75À:Ád¸®:µ±¯³¸ ´EÃnÀ7¯¼º³F>²:»B°±´EÀ7·E½£°d»Bº¶Ã ÈVÀ@µdÁm»J´EУÀ7º¶¸I½5º¯mµd¿7º>À:´B¸ Â1µ±¸ ´E»<À7º¶º³¯ h @Ç:|Ó¯³À7Ð5Ám²:¯°±¯S´Bº±Â1º¶¸ ¯m´EÐ5À7²:º°±¯S»Bº±°±º¶¯É¸ ´E½5À7¯mº³Ä F µ±º±®:Ám°±¯i¸ ËPº¶¯SÇ:½¼Ë ¸ ¯SÀÁCµ1Ád®7´B»B²5µ±µ±®:¯³¯>°°±Ô ¯S:º½5µ]¯m´B¿7ÂÀ:µ±¸ ®:µ±¸¯>´EÀ7²:º1°±¯S»Bº¶À7¯³À@½¼µ1º¶ÁdÈV®7À@»Bµd²5»Jе±¯³°S½5h ¯m¿7À:¸ µ±¸ ´EÀ7º]»B°±¯ x»EÁC°±µ±´E¸ ·E¹E°d¯³»BÅ È Ãºµ±´»B°±»¯Îµ°±ÈVÇ:²:À:¸IÀ:Á³¸»BÀ:Å ·È 5ºÁdµ±®:´E°±¯³¯SÃn½ ¯Ê¸ À º¶È5¿7ºµ±Å ¯³¯SúÉFÉ´E°»BÅ ¯³µ±À@®:µ±´E¯³Ç:°±·E¯S®½Ê¸´BÀ@µ±µ±®:¯³¯³°¶°Ä ²7º¶¸I»B½5°d¯Ó»Eµ±½5®:¸ ·E¯Mú±Ámº´E»B²P°±¯Ó¯>´B²PÂV´@µ±®:º±º¶¸Iº¸ Ë:°±Å ¯³¯ ²P´E@°¶Ç:µS¯Sh{ºXµ±wa¸ À7´EÀ7½5º¯³¯S´B½!ÂyFBÇ75º¶Ád¯³®:°1¯³Ãn¸ À@µ±¯¯³ÍM°¶Â´E»EÇ:ÁmÅI¯r½>Å º¸ ¯>µ±¸ Å´EEÇ5ËPµ¶¯ Ä Ç7¯³¹Eº¶¯³¯mÂÀÇ:Å!¸ À»Eº{µ±®:»i¯iÀ:»B´BË7µdº¶»J¯³µ±À7¸ ´EÁmÀ¯r´B´EÂy°M»n¯mÐ5Ãn²:¯S°±Ád¯S®7º±»Bº¶¸À:À:¸I·YÁ³»BÁmÅR´E¸ ÃnÃn²:²:Ç5Å ¯³µdÃn»Jµ±¯³¸ ´EÀ@À7µd»J»Bµ±ÅP¸ ´EÃnÀ¯mh µ±e ®:´5½:º ´BË:olÂy¸ ¯mÀ7»n¿7½5À:¸²:À:¸ °±µ±·@´E¸ ´Eº·EÀ7µ±°d´Ìºy»BÃ(»BËPÀ7¯Á³½iÁm»B°±º¶À¯SÈV»JÀ@ËPµ±µd¯>¯S»J½rÐ>¸ À@¸ ½5µ±Ài¯³¯m°±µ±¿7²:®:À:°±¯{¸ ¯mµ±µ±µ±¸ ´E´E¯S²i½À7ºÅ ½5¯³´5¯S¹EÁ³Ám¯³ÁmÅIÅ@»BÇ:¯³°d°±ÀV»J°±¹Vµ±¸ À:¸¸ ¹E°±·l´E¯³»JÀ:Å ÈEµÃnhyµ±¯³q®:À@¯®:µ¯³µ±´E´EÈ°²iÁ³ÃnÅ»B¯³´5Ç7¹E½Vº¶¯³¯ÄÅ ¸´5ÂÁ³È-ÁmÇ:µ±®:°±°±¯¸ À:¹J·Y»B»JÅ Ç:µ{¯<µ±®:´B¯lÂ>µ±¯m´EÐ5²¼¸IºÅµ±¯³¸ À:¹E¯³· ÅPµ±´B´E²5»iÄ[Å ²:¯³°±¹E´E¯³·EÅ1°dË:»B¸Ã+À7½5»B¸ °±À:¯l·@º³¸ À@h.µ±¯³|Ó°±²:Ð5°±²:¯m°±µ±¯S¯Sº±½º¶¸ ¸´EÃtÀ7ºÄ ²P¸Iºi¯³°d¸ ÀV»J¹Eµ±¸´ ¹EE¯³¯SŠȽ´Eµ±°Y®:¯³Å ´@È»E»B½5°±¯S¯½!F¯mÐ5»B¯SÀ7Ám½Ç5µ±µ¯SÈV½²:¸I¸Á³À »BÅ ´EÈ°d½5²P¯³¯³°>°¶ÂÍ]´E®:°±Ã¯³Àɺ¶µ±´E®:Ãn¯Æ¯ ²:V°±´E¸ À7·E½É°d»B´Bà  ¸ À:¸ µ±¸I»BÅ ¸ S»Jµ±¸ ´EÀh ¯jMº¶ÈV@µÉÀ@Ç:µd¸ µ±¹J»J®:»BЯ«Å ¯³½5À@µ±¯m´Eµl¿7²+À:µ±´¸ µ±Å ¯³¸µ±´E¹E®:À7¯³¯nźMº¶µ±´B¯ ®7@»JÇ:µ]»¯³À7´E²:Ám°±¯i°±Ã ´E´B·E°dµ±®:»B¯mï>Ð5²:ËP°±´5¯S½5º±º¶:ÈƸ ´E´BÀ7 º³µ±F7®:3½5¯ ¯m´E¿7°±ÃÀ::¸ Qµ±¸H´E!À7h º³F!'H»BÀ7¸I½ º !8 3 ¢ P jMµ]µ±®:E ¯rµ±´E²Å ¯³¹E (¯³4DÅ!>&´B' 4ÂyB»n+ ) ²: °±´E)@·Eg:°d2:»B>&Ã),0303FV' »n/#½5 ¯mK ¿7À:¸ µ±¸ ´EÀ ®7º¶¸ »E´EºYÀ ¯Sº±º¶¯³À@µ±¸I»BŠȵ±®:¯º±»BÃn¯¼¯mÑR¯SÁCµ»Eºiµ±®:¯»Eº±º¶¸ ·EÀ:Ãn¯³À@µY¯mÐ5²:°±¯SºÄ E (4D>&' 4B+ ) )@g:2:>&),0303' /# K µ±¸ËP ®:¯m¯³Â¹J´EÀ »B°±¯>°±µ±¸I®:»B²P¯¼Ë:¯³Å°¶½5¯ ¯m´E{¿7°±¸IÃnÀ:º¸ ËP¸µ±À:¸ ´E´E·tÇ:À À7µ±®:½!Í]¯ih¸ Å »Ew[{ º±Ë:º¶¸¸ ¹J·EÀ7»BÀ:½S°±Ãn¸I»B¯³¹JË:À@»BÅ µS¯°±¸IFVM»BÍ]¸IË:º®:Å ¯À:¯³Ì°±´B¯Sµ1µ±»E´<ËPº´E»¸ µ1Ç:À:À7ÍM¯³½!´EÍ F:Ç:®:ÅIÅ ½¼´J´5ÍMÁ³ËP»J¯³¯iµ±¹E¸ ¯³»B´E°SÀÀ F ¯³°±°±´E°Mµ±´n²P¯³°¶Â´E°±Ã» - Ó´EÀ»BÀÇ:ÀVËP´EÇ:À7½¹J»B°±¸I»BË:Å ¯Eh XM M NM +) HN) * 8Q ![ = BW <= 7S @VS JA #$-1eD&9E'-1( H 9 E #$-1eD&9E-Z##$= E !"$# E K&E 4 = K KK E ##$== K E #$-1eD&9E-feD&)0D')(].10 K E eD&)0D')( E 6 KK L!M L!M nÃÃnV´E¯³´@ÃnÀ@ºµ>µ¯<¸´BÀt¸ Â{ÃnÍ]Í]²:®:®:Å ¯³¸I¸IÁdÃnÁd®®É¯³»BÀ@ÁmÅ µd´E5»JÀ@²Pµ±µd´@¸ »B´Eº±¸À7º¶À<¸ºË:Ç:Å´B¯À7Âi½5¹J5¯m»B¿7Ád°±®:¸IÀ:»B¯³¯SË:Ãn½Å ¯S¯<¹Jºy»BÇ7»BÅ °±º¶Ç:¯M¯<¯Sº³ËP»Bht´EÀ«Ç:qÀ7¸´EÀ:½Y²¸ µ±µ±¸IÅ ´r»B¯³¹EÅlÅ ´5¯³¯³ÅÓÁ³ÀV»J½5¹Vµ±¯m¸¸ °±¿7´E´EÀ7À:À5º³¸ ÄÄ F µ±»E¸ º±´Eº¶À7¸ ·Eº¼À:¸ÃnÀ£¯³À@º¶Ç7µdº³Ádh®»BÀH¸ Ãn²:Å ¯³Ãn¯³À@µd»Jµ±¸ ´EÀ»B°±¯µ±°±Ç:Å È«¯ @Ç:¸ ¹J»BÅ ¯³À@µ¼µ±´ X 3 3 S@ ¸I´Eolº³° FV¯m¿7µ±®:À:-¯>¸ µ±¸ËP´E´5À7½5º>ÈÆà ´B»fÂyÈ » ´5tÁ³Ám¯m* Ç:Ð5°>²:°±»J7¯SµrFº±º¶µ±¸ ®:-´E¯nRÀF ËP´E¯³°]-·Eµ±¸ ®7À:P »JÀ:F µÌ¸ À:-´B·Â´B»ÆÂM½55» ¯mF ¿7ËPÀ:-´5¸ !µ±½5¸ ´EÈ À<n ´BX3µ±Â®7»B»JRÀ µ F »B\E²: ²:7°±´E^3_Ò²:^°±` ¸I:»Jc¼µ±¯Ì»Eº´E´E°±ÃƲ:²PeC´@h1º¶V¯SÇ7½ÌÁdµ±®<´1½5µ±®:¯m¯¿7À:µ±´E¸ µ±²Y¸ ´EÅ À7¯³¹Eºl¯³»BÅ@°±½5¯ ¯m¿7VÀ:À:´J¸ µ±Í]¸ ´EÀÀ7º»Eº>½5¯S^ º±7Ám_a°±m¸ b ËPR¯S ½ ¯mÅol¯³Ð5¹E¯m²:¿7¯³°±Å!À:¯S´B¸º±µ±ÂÓº¶¸ ¸´E»´EÀ7À7ºiºn²:»B°±»B´E°±°±¯t·E¯°d¹J»B»B»BÃÅ Å ¸I´J{½ÍM»B¸¯SÀ7À ½!½hϺ¶´E»JÃnqµ]®:µ±¯E®:¯³F¯>È-Ë:ËPÇ5»Bµ>¯³°±·E¯À:¸ :À´B¹JÀ:µY»B¸Å »BÀ:¸I½-Å·nÒF´E´BÁmÀ:ÂÓ´EÅ »È-À@µ±¯m»JËPÐVµ´5µd½5ºÌµ±®:ÈÍ]¯mh®:µ±¯³´E°±² ¯ µ±Å»B´5®7ËPÁ³»B´J»BÀɹEůE»Eµ±h£´º±º¶q¸ µ±·E®:®:À:¯ ¯<¯S½!¹JËPF!»B´5»B°±½5À7¸I»BȽ<Ë:mÅ µ±hϯ®:¯n½5q¯m®7°±¿7¯³»JÀ:·Eµ¸¯S´E½«¸IÀ<º³F ËV´Bȫ¹J»Bµ±»B®:°±À«¸I¯n»BË:¸ Ë:À@Å ¸ µ±¯ À7¯³Y½5°±À7¸¸IÀ:ºn»B·ÅlËP¸I´E½5ºÌÇ:¯m¿7µ±À7®:À:½¾¯n¸ µ±°d¸¯³»J´EÀ@µ±Àϵ±®:¸ ¯³°±¸I¯º° j.½5¯m¿7À:¸ µ±¸ ´EÀº¶®:´EÇ:ÅI½¼®7»f¹E¯r´EÀ:¯r´Bµ±®:¯r´EÅ ´JÍ]¸ À:·t´E°±Ãº ËP´5½5EÈ mhz:´EE°]E ¯mÐ:G »BKÃnK ²:Å ¯EF E E E K&E KKK " ¹J»B°±¸I»BË:Å ¯ ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ ' E E E K&E E4F K KKK E E KKK L!M N G " ¹J»B°±¸I»BË:Å ¯ H3´E°±Ã»BÅIº C' ËP´5½5È Q' z:´E°±Ã»BÅIº {º¶®:´EÇ:ÅI½ËP¯r¯³¸ µ±®:¯³°]»Yº¶¯ @Ç:¯³À7Ám¯Ì´B ³¯³°±´Y´E°MÃn´E°±¯ ¹Ej ¯³°¶µ±ËP¯S´5½i½5¸ È À@µ±´>Ám´E»ÌÀ@µdÁm»B´E¸ÃnÀ:¸²:À:Å ·l¯mµ±¸ ¯³À@Å µ±Èi¯³°±¯ À7@»BÇ:Å5¸ ¹J½5»B¯mÅ ¿7¯³À@À:µ ¸ µ±¸ ´E-À7 ºyÁ³»BÀt¯m»BÐ5Å ²:Í°±»f¯SÈ5º±º¶º¸ ´EËPÀ¯]hÁmz:´E´EÀ5°Ä ¹JÅ ´J»BÍM°±¸I¯S»B½ÉË:Å ËV¯SȺ³F!»´E°>º¶²7»»Eº¶Ám¯ ¯m@Äa½5Ç:¯³¯³ÅÀ7¸ ÃnÁm¯n¸ µ±´B¯SÂM½ ´E²PÀ:¯³¯n°±¸´E´5°r½ÎÃn»B´EÀ7°±½Î¯t»B¹JÀ:»B´B°±¸Iµ±»B®:Ë:¯³Å °Y¯Sºl¹J»B´E°±Å¸ ÄÄ ¯m»BÐ:Å ¯³»BÀ@Ãnµ]²:µ±Å´ ¯EFJµ±®:¯ ->¯mÐ5²:°±¯Sº±º¶¸ ´EÀY¸ Àtµ±®:¯]»BËP´J¹E¯M¯mÐ:»BÃn²:Å ¯¸IºÓ¯ @Ç:¸ ¹@Ä »B»BË:Å ¯³Å À@¯¼µXµ±»E´ º1¸ À<»ÅI»BÃYËR½:»n¯mÐ5²:°±¯Sº±º¶¸ ´EÀPeCh]q®:¸Iº]´E°±Ã¸Iº1¯ @Ç:¸ ¹@Ä E EE G KK E EE E E K&E KKK 0 -8 !9 =B9 @>*9 .N CB A9 !9 [ A9 !9 ?=B< *<D 7 7S @VS JA *A< *=B9 !=B9 #$-1eD&9E-Le// #$-1eD&9E-N"D0 e// 4 = !"$# !"$# S 1-1( 1-1(0$-. *=B9 L F "D0 " =B9 E #$-1eD&9E- (4D>&' 4B+ ) E !"$# E ;=/>&I?4+ 0 K B/9- KK L *=B9 @>*9 N 1-1( [ M M M +@ =6 !9 i (H )*(H+ [ E &32& 6 e// !"$# F 4 "D0 *<D N X" N R =B9 @>*9 F 7 E "D0 E !"$# E X" & K E 4 E4F E e// E 4 = KKKK ?=B9-@ >*9 . J F " K K KKK TEÇ7´@ºº±µº¶¸ Ë:»Eźi¯Âµ±´E´r°Y¯³µ±¹J®:»B¯Å Ç7¯»J@µ±¯]Ç:¸ ¯S¹J»E»BÁdÅ ®¯³À@µ ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ ¯mÐ5²:´BÂP°±¯S¯³º±¹Eº¶¯³¸ ´E°±ÈiÀFy¸ À@¸ µ±µn¯³°±ÃYÀ7Ç7»BºÅ:µn½5¯mËPÂ3¯Ä J ¹ B » ± ° I ¸ B » : Ë Å 3´E°±Ã»BÅY ' ËP´5½5ÈQ' ¯ P ² ¯z:@´EÇ:°±¸ ¹JûB»BÅ ¯³Å ¼À@µº¶µ±®:´ ´EÇ:ÅI½ÏËP¯ »-º¶¸ À:·EÅ ¯¹J»B°±¸I»BË:Å ¯Eh q®:¸Iº¼Â´E°±Ã I¸ º ¸J¹ÏG À:»B¸ Å®:µ±Ç:¸¯³´E¯>°±À«¯³´B¹EÂy¸¯³À«»B°*ÀV» È »BÀËP¹J´5»B°±½5¸ À@¸IÈ»Bµ±tË:¯³°±Å Í]¯À7{»B¸ µ±ÅËP®:¯³´E¸ ½5Ç5À:¯mµ¼·Æ¿7»EÀ:½5º±¯m¸ µ±º¶¿7¸¸ ´E·EÀ:ÀÀ:¯S½!¸ À:h ·Ã»f´EÈ°n°±¯m´5ÂÁ³¯³Ám°±Ç:°±¸° À:· µ±´: µ±®:¯ E (4D>&' 4B+ ) E ;=/>&I?4+ B/9- KK L µ±¸½5E´ ¯mÀ7¿7ºÀ:µ±¸ µ±®7¸ »J´Eµ]À(´E °±Ã(µ±'®:¯>¸IºYËP¯´5@½5Ç:ȼ¸ ¹J´B»BÂÅ ¯³µ±®:À@µY¯ µ±´<: µ±®:!¯h º¶¯ @Ç:¯³À7Ám¯¼´BÂl½5¯m¿7À:¸ Ä A9" !9 Y #$-1eD&9E!"$# !9 !9 ¦ V²:ÈV°±À@´Eµd·E»J°dÐÊ»Bà ½5±¯mh+¿7À:q¸ µ±®:¸ ´E¯³À7ȼº ®7»B»f°±¹E¯-¯lµ±¹J®:»B¯rÅ ¸I½Ê´EÅ ´E´JÀ:Í]Å È ¸ À:·t»JµÂ´Eµ±°±®:à ¯¾µ±´E²+Å ¯³¹E¯³Ån´B» " E¯³ÈVÍM´E°d!½ H3µ±°d»BÀ7ºÂ´E°±Ãn¯³°]º¶²P¯SÁ C' ºµd¶;r»E®:ÁC´E¯³µ±Ç:ÈV¸IÁÅIÍM½Y´E¯³ËPÀV°d¯]!½¹V¸»B°±Àt´E¸IÀ:º«¸ À7Ãnº»B¯³µdÀ»BÀ@À7µ>¸IÁm½5¸I¯Mº>¯³À@´B¯mµ±ÐV¸ µ±¿7¯³ ¯³À7°S½5F< ¯S»B½É!À7ËV½ È# µ±Ë:®:¸ ¯ À75½5hR3¸ qµ±À:°d·®:»B¯MÀ7µ±ºµ±®:´E¯J´E²5°±Ä[ÃnÅE¯³¯³¯³¹EÈV°]¯³ÍMÅ5º¶²P´Eº¶ÈV°d¯S½!À5Á Ä µ±´tµ±®:¯iº¶²P¯SÁm¸ ¿7¯S½¼µ±°d»BÀ7ºÂ´E°±Ãn¯³°Sh µ±q¸ ´E®:À7¯³°±º³¯Éh ¸IºÀ:´ " -»BÀ7»BÅ ´E·EÇ:¯´BÂt¸ À@µ±¯³°±À7»BÅi½5¯m¿7À:¸ Ä j1½5¯mÅ ¿7µ±®:À:´E¸ µ±Ç:¸ ·E´E®À7ºMø À»EÁm»B°±ÀV´@Ⱥ1ÁmôE»fÀ@ȵ±¯m¯mÐVÐ5µ{²7µ±»B®7À7»J½<µ]²P¸ À@¯³µ±°±´Ãn½5¸ µd¯mº{¿7µ±À:®:¸ µ±¯³¸Ã´EÀ7FVºr¸ µ]»B¸IÀ7ºM½»BÀ¼º¶ÈV¯³À@°±µd°±»J´EÐ ° ÂE´E¯³°ÌÈVÍM»¼´E½5°d¯m½ ¿7À:Í]¸ ®:µ±¸ ´@´Eº¶À<¯´EÃn°Ì¯Sº¶»BÈVÀ:À@¸ µdÀ:»J·Ð¸I½5ºn¯mÀ:¿7¯³À:¯S¸ µ±½5¸ ¯S´E½ÎÀµ±µ±´É´¼º¶½5®7¯m»Eµ±¯³½5°±´JÃnÍ.¸ À:»Æ¯º¶Í]ÈVÀ@®:µd¯m»Eµ±ÁC®:µ±¯³¸IÁ° ´J¸º¶À:´EÍ]¸Ãnµ±¸ À:¸ ¯n´E·À7º³½5´EFV°±¯møI¿7ºMÀ:À:¸¸ µ±Àɯ³¸ ¯S´Eµ±½5À®:¯S¯Æ½Æ¸Iº]·Eµ±¸ ´n°±À´E½5Ç:»E¯m²ÉÁCµ±¯³µl´B°±Â»nÃn½5¸´EÀ:¯m°±¯l¿7ÃÀ:µ±ºr®:¸ µ±¯Ìµ±¸ ´E®7ËPÀ»J´EµtF:Ç:´EÁmÀ7°S´E½:FVÀ@»Bµd´E°±»B°1Èn¸ À7¸ËPÀ@ºr¯mµ±µµ±¯³ÍM®:°±À7¯¯³»B¯³º¶ÀÆÅ®7½5µ±»E¯m®:½VÂ3¯ ÄÄ ·E»B°±Ãn´E²:Ç:Ų¯EF5»Bµ±À7®:½<¯Ìµ±Â´E®:ůn´J¯mÍ]Ð5¸ ²:À:°±·¯Sº±»Bº¶°±¸ ¯r´EÀ7¯³º1°±°±µ±´E®7°d»Jº µ>´EÅ ´JÍ.µ±®:¯n·E°±´EÇ:²htz:´E°r¯mÐVÄ &3D& 54()'76 Gi (H )*(H+ B A9 !9 7 *<D A9 !9 7 *<D > N=B9 *<D CB E #$-1eD&9E-f#$-1eD&9E-f= K E "-1GD&9E E #$-1eD&9E-N"-1GD&9EV$&')( KK E 1-1(*$')F1E$( EE e// E ')F1E$( *012D1-' EWK EE e// E 3$0/$.L0GD'POOO K E #$-1eD&9E-L3$0/$. E !"$# E 0GD'POOO K "D/#F OOO KKKKKK E 1-1( EE = KK E e// E 3D)2' F KSE 4 F KK E #$-1eD&9E-fe// K E 3D)2' e// KKK :Ö h@µd»BÀ7½:»B°d½¼²:°±´5Ám¯S½5Ç:°±¯Sº JÙ µ±µ±´E¸ ´E²5ÀYÄ[Å ®7¯³¹E»E¯³ºÅ7»BË:Ài¸ À7Ç:½5À7¸ º¶À:²P·i¯SÁmµ±¸®7¿7»J¯SµM½i®7¯m»EÑRº{¯SÀ:ÁCµ´Bµ{´EÀ>ËP¯³µ±¯³®:À¼¯MËP¸ À@¯³µ±®7°±»f´5¹V½5¸ Ç7´EÁm°¯S´B½nÂ5ËVµ±®:ȯM»iË:½5Ç:¯m¸ Å¿7µ¶Ä[À:¸ ¸À Ä ²:°±´5Ám¯S½5Ç:°±¯Sº³h Þ Z ¹µdJj »J»Bµ±Å RÇ:¸ ´Eb±¯<À7d\J»BX ^Å]dJ»B_aÀ7´Ei»B° ¸IÅ ºi´E·E"5»Ç:eC¯¼h¼²:°±´Bj1´5ÂrÁmÀ¯S»½5 Ç:à 5°±»J¯nY^ #Jµ±®:µ± ®7¯³ ûJRµY»Jd»Bµ±¸IÅ Á³RÍ»Bb±»fÅdÈ5\J¯ ºr^@d°±Ç:J¯m_a¸ µ±¹J>Ç:»B¸I°±Å ºr¯³À7À7ºiµ±Ám®:»¯¯¼ËP°±Ám¯³´V´EÅI´EÃn»Jŵ±¯S²:¸ ´E»BÇ5ÀÀ Ä Å´EX¯³¸ °rµÌÀ7ÃnÁm¸IºÌ¯>´@º¶²:ºÈVµ>°±Ãn¯S½5½5Ãn¸I¸Iº±Á³Ám¯m»J°±µ±µ±¸°±¯SÃn¸Iº]ÁB¸F7À7½5°±¯S»J¯ º±µ±7Ám¸ À:¯m°±Ð5¸·7ËP¸F!¹E¯S»B¯E½À7FP¸½ »BÀÀ7µ±½!$®:#¸Iµ±º1°d»Bº¶À7¯S[ÁCº¶¸µ±¸Iµ±¸ºl¸´E¹Eµ±À¯f®:F eC¯hl!Ám1´@[tÂÓ»B¸I°dµ±ºº¶®:¯Sµ±¯Yº®:µS¯r¯ h @¿7Ç: À:¸! ¹J¯S!»Jº[µÄ ¸Iº1º¶Å ¸ ·E®@µ±Å ÈÆÅ ¯Sº±º]½5¸Iº±Ám°±¸ Ãn¸ À7»Jµ±¸ À:·tµ±®7»BÀ ![:h ! ![.`E 0 H`E 04-' : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ ´EÀ:qÀδE®:°±¯ ôEË »B!Å ¯S!ȼÁC[µdº³ËPh²:¯Y°±M°±´5¯³Ám°±·@¯S¸ ¯»B½57°dÇ:½5ÈE°±¯SFy¯¼½¸ µn½5»E¯m°±º¿7¯mÀ:µ±µ±®:Ç:¯S¯tºn°±À7º±»<º »BÃnÇ7ɺ¶¯i¯m¸´EÇ:ÂtË Å`E¯S¯ 0ÁC@¼µSÇ:h1¸ »B¹JqÀ7»B½®:Å ¯³¸IÀ7º1`EÁm°±¯¼04¯³ÅI°±»J¯³º¶µ±ÅI®:¸ »J´E´Eµ±ÀÇ:¸ ´EÅI¸I½À º µ±Å5¯m¸IÁd»BÂ3®:µiÅ{¯³º¶º¶ÃnŲP¸ ·E¯E¯S®@Ámh ¸µ±¿PÅ ÈÁ³»J´Eµ±²P¸ ´E¯³ÀÀ´Bµ±Â´¸ À@! µ±!¯³[¼°±²:®:°±´E¯mÅIµd½:»Jºrµ±¸ ´E´EÀ°iFP»BË:Å Ç5Óµr¸ Ãnµ±®:²:¯YÅ ¯³ÂÃn´Eů³À@´JµdÍ]»J¸ µ±À:¸ ´E·ÆÀ7²7ºr»B´B°¶Ä q®:¯ ! ![Y²:°±´5Ám¯S½5Ç:°±¯r°±¯mµ±Ç:°±À7º Ƹ  `E 0 r»BÀ7½ `E 04i»B°±¯ÌËP´Bµ±® Æ´E°]ËP´Bµ±® "Ph `E 0 r»BÀ7½ `E 04i»B°±¯ÌËP´Bµ±®º¶ÈVÃYËP´EÅIº]»BÀ7½ H 'K#(H-n^H*#GH%-'7)#+ &% $] h P R N 9 N9 !<= :9 B; 9 B; 9 B; J 9 B; B X [ K 9 B; "D/#F OOO ] X [ E ')(0D&9E$G ;$< E ')F)"D/*+$')(0D&9E$GV/)" 6 K E ')F)"D/*+$')(0D&9E$GV/)" KK L!M 1( 1!SbYC' 0i40303%IE),07$&C54D$J#),' $&C)@>[ J#/>[ Z' 0i4#%#:T ' #$&)@>&#)!90d-:I[B/+ P40[4+ + %59:)!9Q$&/P' #U03),6@$&' /#L L L`bYC' 01>&)@T 2/>3$19:/),0J#/$i2:>&),03%IE)1$&/E032),6,' ; -P$&C)XB),C54!(' />i/; -1%, < /# ' IE2+ ),IE),#$A4D$&' /#:T9:),2),#59:),#$Y)@g$&),#03' /#0,L `Eº¶¯³0 ¯]P»BÀ7F:½<º¶¯SÁC`Eµ±¸04´ElÀ»B°±Ö:¯h ËPeC´BF:µ±»B®À7½¼ÀVÇ:»BÃY°±¯rËP¯³¯³°d¸ µ±º³®:F@¯³»B°°±¯]ËP´BÀVµ±Ç:®Ãn¯m¯³Ð:°±¸I»EÁ³ÁC»Bµ]Å ´EÈY°¯ ËP@´BÇ7µ±»B® Å ¦ < X q¸À:®:¸ µ±¸I¸Iºr»BÅÁd®7X´E»B°²5µ±¯³µ±°r´E²n½5¯SÅ ¯³º±¹EÁm°±¯³¸ Å ËP@¯Seyºr55Ád®:Ád®:¯³Ãn¯³Ãn¯1¯E¯³× ÀVºl¹VË:¸ °±Ç:´E¸ ÅÀ:µ¶ÃnÄ[¸ À¯³À@²:µ°±º´5µdÁm»B¯S°¶½5µdºÓÇ:°±´E¯SÇ5º³µhrÍ]q¸ ®:µ±® ¯ ¸`EÀ:¯m0 Ð:»E»BÁCÀ7µSh½`E04»B°±¯ËP´Bµ±®«Ád®7»B°d»EÁCµ±¯³°dºt»BÀ7½¾»B°±¯¼µ±®:¯<º±»BÃn¯ ¹JÀ:»>»B¸ ÀV²:Å Ç:Ç:Ç:¯SÃYÅI»Jº³ËPµ±F¯¯³Ãn°M½:´@´B»JºÂµdµn»:¹J´Bhi»BÂÌ°±z:¸I»BÍ]´EË:°Ì®:Å ¸I¯S¯mÁdºÐ:®¾»BËPÃn»B´E°±Ç:²:¯¼À7Å ¯E½n²:FR°±µ±µ±¸ ´YÃn®:¯nÅ ¸ ´5µ±¹J¸Á³¹E»B»J¯°±µ±¸I¸ »B´E²:Ë:À7°±´5ź{¯ ÁmÁm¯S´E½5À@Ç:µd°±»B¯S¸I¸ ºÌºiÀ:¸ ËPµ±À:®7´E·>»JÇ:Ç7µnÀ7º¶½<ïmµ±Ç:»J´ ÄÅ µ±Ád¸®7´E»BÀ°d»EÖ:ÁCh µ±¯³h ÔV° eCh»EÁ³Ám´E°d½5¸ À:·µ±´£µ±®:¯ * [H²:°±´5Ám¯S½5Ç:°±¯.Xº¶¯SÁCÄ XÃn»<¯³À@Å ´5µrÁ³µ±»J®7µ±¸»J´EµYÀ Ám¸´EÀ:Ãn¸ µ±²:¸I»BÇ5Å µ±È¯SºÌÁmµ±´E®:À@¯µd»B»B¸ Ë7À:º¶¸ À:´E·VÅ Ç5e>µ±¯t»¹J²:»B°±Å ´5Ç:Ám¯n¯S½5´BÇ:°±»¯ÆÀV´BÇ:Â1ÃY´EËPÀ:¯¼¯³°S»BF°±»B·EÀ7Ç5½ Ä ËP´Bµ±®Î`E0 r»BÀ7½ `E04i»B°±¯lµ±®:¯>¯³Ãn²5µÈ¼Å ¸IºµSh µ±M®:Ç:¯M¸ ŹJµ¶»BÄ[¸°±À<¸I»B²:Ë:°±Å ¯´5Ám¯S¸I½5ºÇ:ËP°±´E¯Sº]Ç:À7µ±®7½>»Jµ±µ>´rÁ³»l»B²:À°±¯S´5»EÁmº¶¯S¸½5Å ÈÇ:°±ËP¯¯Yµ±®7Í]»J°±µÓ¸ µ¶Ámµ±´E¯³ÃnÀ²:¸ ÀÇ5µ±µ±¯S¯³ºy°±º¶ÃÇ:ºlôBº³Âh µ±`E®:0¯ilº±»B»BÀ7Ãn½¯r`EÅ ´504Á³Ì»Jµ±»B¸ °±´E¯lÀ7²7º»B¸ ¸À°dº³µ±FE®:¹E¯i¯SÁCºµ±µ±´E´E°d°±¯º³FEX´Eº¶°¯SÁCºµ±µ±¸ °±´E¸ ÀÀ:·@ºÓh ÔVµ±®7eCh»Jµ½5¯³À:´Bµ±¯ ´B½5µ±Ç:®:°±¯³¯S°iº :Ë:h Ç:¸ Å µ¶Ä[¸ À ²:°±´5Ám¯S½5Ç:°±¯Sº>»B°±¯n¸I½5¯³À@µ±¸ ¿7¯S½ »Eº ¶Å ¸ Ë:°d»B°±È<²:°±´5Ám¯mÄ ¯`E@0Ç7n»BÅ»BÀ7Xº¶½¾¯SÁC`Eµ±¸ ´E04ÆÀ»BÔ7°±h ¯tEh ÔV²:eC°±h´5Ám¯S½5Ç:°±¯SºlÍ]®:´@º¶¯nÅ ´5Á³»Jµ±¸ ´EÀ<µd»B·@ºr»B°±¯ j»BË:²:Å ¯E°±hδE·Ew[°dµ»BÃÊûfÃÈλfº¶ÈtÇ:Ç7Ë7º¶º¶¯Ì¯ @»>Ç:µ±¯³´EÀ@²5µ±ÅÄ[ÈÎÅ ¯³¹E»B¯³Å µ±ÅR¯³½5°¯m¿7»BÀ:ÀVÈθ µ±¸ ´Eº¶Ç7ÀÁdµ±®-´tË:Ë:¸ ¸À7À7½5½Æ¸ À:»B·ÉÀVÈnËVÈιJ»B»B°±¸À Ä q ®:¯ ! ![Y²:°±´5Ám¯S½5Ç:°±¯r°±¯mµ±Ç:°±À7º "¸  µ±»E®:º±º¶¯l¸ ·EËPÀ:¯³Ãn®7»f¯³¹VÀ@¸ µ<´E°ÓXº¶´B¯³Â¯5ÁdÔ7®:h E¯³hÃnÖ@eC¯EhH× ºÓqË:Ç:®:¸¯SÅ º¶µ¶¯Ä[¸ ÀÆ´E²P²:¯³°±°d´5»JÁmµ±¯S¸ ½5´EÇ:À7°±º¯Sº³½5hy´Éj1À:Å µ±´B¯³µÆ°±¸ ÃnÀ:·Y´5½5»B¸ÀVÂÈÈ E` 0 r»BÀ7½ `E04i»B°±¯Ì´BÂÓ½5¸ ÑR¯³°±¯³À@µ]µÈV²P¯Sº>Xº¶¯SÁCµ±¸ ´EÀ h eCh . [ ^H*-#G *#+ 5)'(HG' !G & P0 [ !<> R< 8 [ [ 8 . 10 [ [ 9 B; B 8 ]/ ¯³¹V¸Iº¶¯S½ i5Ád®:¯³Ãn¯ ´EÀ:¯r´BÂ1`E0 r»BÀ7½É`E04>¸Iº ÆË:Ç5µ]µ±®:¯>´Bµ±®:¯³°]¸Iº "Ph `E0 r»BÀ7½É`E04i»B°±¯>º¶ÈVÃYËP´EÅIºË:Ç5µ " [ [ E ')(0D&9E$G ;$< E ')F)"D/*+$')(0D&9E$G K E ')F)"D/*+$')(0D&9E$G KK L!M [ [ 1e ´E¸Iº1À:»B¯ÌÀ´BÂ]¸ À:`E¯mÐ:0 »ElÁC»Bµ]À7ÀV½ÉÇ:ÃY`EËP04r¯³°S¸Ihº»BÀ¼¯mÐ:»EÁCµÀVÇ:ÃYËP¯³°Ë:Ç5µ]µ±®:¯Ì´Bµ±®:¯³° °±`E¯m µ±0 Ç:Y°±»BÀ7À7º ½¾"P`Eh 04n»B°±¯YÀVÇ:ÃYËP¯³°dº1´E°ÌÍ]®:¸IÁd®<µ±®:¯ ²:°±´5Ám¯S½5Ç:°±¯ Ám`E¯S 0½5]Ç:°±»B¯rÀ7½°±¯m`Eµ±Ç: 04°±1À7º»B°±¯1"PÁdh ®7»B°d»EÁCµ±¯³°dºÂ´E°ÓÍ]®:¸IÁd®tµ±®:¯ * [l²:°±´BÄ KKK KKKK ´EÀ:À:´BµS¯>h ´BÂ1`E 0 r»BÀ7½ `E 04i¸IºMµ±®:¯i¯³Ãn²5µÈ¼Å ¸Iºµ1Ë:Ç5µ1µ±®:¯>´Bµ±®:¯³°1¸Iº KKK KKKK ½5`E¸I º0 µ±l¸ À7»BÁCÀ7µ1½Å ´5`EÁ³ 04»J̵±¸ »B´E°±À7¯1º³h²7»B¸ °dº³F@¹E¯SÁCµ±´E°dº³FE´E°Mºµ±°±¸ À:·@ºµ±®7»Jµ½5¯³À:´Bµ±¯ ¯³¯m`EÑRÀ@ 0µ±¯S]Å ÁCÈϵd»BºdÀ7Xe{°±½<¯m´Eµ±`EÇ:°1 °±04º¶ÀÎl´EÃn»B½5°±¸¯>¯]ÑR»B¯³²:°±°±°±·E¯³´5À@Ç:ÁmµtÃn¯S½5¹J¯³Ç:»BÀ@°±ÅµdÇ:¯Sº³º¯@h Xµ±ºd®7e>»Jµ{´E°YÍM®7´EÇ:»f¹EÅI½t¯ÆËP½5¯³¸ ÑR®7¯³»f°±¹E¯³¯1À@½5µn¸ ÑRº¶¸I¯³½5°¶¯Ä µ±V :Ç ¸ À7°±À:Ám¯Æ¯S½¸ µYËV¸IÈϺY»BÅ ¸ Àɵ±¯³¯³°d»B°±°±Å>´E¯m°rÐ5µ±²:´°±¯SÃnº±º¶´5¸ ´E½5À7¸ ºdÈÉeCF1Ám´E¸ ÃnÀ7º²:µdÅ»B¯³À@Ãnµi¯³´EÀ@Ë µd»J¯Sµ±ÁC¸ ´EµdÀ7ºÆºX3µ±»B®:°±´@¯º¶¯Æ²P°±¯³¯m°¶ÄÄ ÃnÁm´E¸ 7À µ¶µ±º¯Sµd»B½!À@FMµdµ±ºi®:Í]´EÇ:®:·E¯³®¾°±¯¼À:»B´B²:µ²:°±°±¯´E@²:Ç:°±¸I¸ »J°±¯Sµ±½!¯EhFµ±q´ ®Vº¶Ç7®7º>»Bµ±°±®:¯¯¼ºµ±¹J°±»BÇ7Å Ç:ÁCµ±¯ÆÇ:°±´B¯Â ËP!¯mµ!ÍM[¯³´E¯³ÀÀ E K L!M E K L!M m Á E ´ À 7 º d µ B » @ À d µ º I ¸ ] º ¶ º E ´ n à m ¯ ± µ ¸ n à S ¯ ] º ¸ n à : ² Å ³ ¯ n à ³ ¯ @ À d µ J » ± µ ¸ E ´ 5 À a Ä 5 ½ ³ ¯ P ² ³ ¯ 7 À 5 ½ ³ ¯ @ À S µ h E K L!M E EWK EWKK L!M [ !<> [ [ [ E #$-1eD&9E-fG$-ED*$.1/)2E$($-10 E !"$# EWK E 1-1( EE E O-KK E !"$# EWK&E '-1( H E E 4 E 6 KK E KKKK E 1-1( EE G E G$-ED*$.1/)2E$($-10 KKK E -1%, < GLG KK L!M 1( E -1%, < E G$-ED*$.1/)2E$($-10 K E G$-ED*$.1/)2E$($-10 KK L!M 1e E #$-1eD&9E-fG$-ED*/$'-10 E !"$# EWK E 1-1( EE E O-KK E !"$# EWK&E '-1( H E E 4 E 6 KK 8 KKKK E 1-1( EE G E G$-ED*/$'-10 KKK E -1%, < GLG KK L!M 1( E -1%, < E G$-ED*/$'-10 K$E G$-ED*/$'-10 KK L!M @ Y E 1-1(0$-. EE e E !"$# EWKSE &)e E -1%, < eLG K h"D/(1B e E G E !"$# EWKSE &)e E -1%, < eLG K h"D/(1B G E -1%, < eLG KK L!M @ Y E 1-1(0$-. EE e E !"$# EWKSE &)e E -1%, < eLG K e h"D/(1B E G E !"$# EWKSE &)e E -1%, < eLG K G h"D/(1B E -1%, < eLG KK L!M 1e E -1%, -1%, -1%, -1%, -1%, -1%, -1%, 1( < 1( < < < h" 1( OOOOOOOO 6 O OOOOOOO-K L!M E < E .1/)E' 6 K&E .1/)E' 6 KKL!M E < E !"$# EWK 6 K E !"$# EWK KK L!M E -1%, < 1e hE&1 K L!M E 1-1( EE 3 E !"$# E K KKK E -1%, < 3L3 KK L!M < 6 E -1%, < E K E KK E -1%, < 9 9 K E -1%, < E " K&E .)#0 E " KKK E 1-1( EE E KKK E -1%, < KK 1( 1e 1e 1e ±°qÁ³Ç:»B®:ÅÀ¯S¯lºYËP´E¯>½5Å ´<º±´J»BÍ]À:¸I½´B¸ À:µY»B·iËPÂÇ:¯m´EÐ:Å Ç5»BÈ µ1Ãnº¶º¶Ç7²:²PÁdůS¯S®Ámº{¸ ÂÁ³¸ ÈÅ»Eº¶Ç7µ±¯Sº®:ºMµ±¯¼°d¸I»JºMËPµ±µ±¯³¯r®7®7Á³»J»f»Eµ¹Vº¶¸µ±¯S´E®:º°i¯>¸ À¼´B¹J »BÍ]Å Ç:®:! ¯r¸I!Ád°±®Æ[:¯mh<µ±µ±Ç:®:j1°±¯rÀ:Å {»B¯SËP½Æµ±®7´JËV¹E»Jȯµ ! ![YÃYÇ7ºµ1ËP¯i»tËP´V´EÅ ¯S»BÀh 1( H9 B; 9 B; E -1%, < E -1%, < EWK 9 B; 1e K E -1%, < E !"$# E !"$# E -1%, < E !"$# E !"$# L!M !L M !L M !L M EWKK E KK E KKK E K K E F K F KK @ Y @ Y @ Y @ Y 9 B ! ;![ qÁm¯S®:½5¯iÇ:°±À:¯S¯mºMÐVµ±µl®7º¶»J¯mµ1µl®7´B»fÂÓ¹E¯m¯rÐ:»BÅ ´5ÃnÁ³»B²:ÅÅ ¯Sºº]µd»Jº¶µ±®:¯E´Jh Í1ºµ±®:¯i-Ç7#5º¶¯> ´B YÃYÇ7tºµ1Í]°±¸ ¯mµ±µ±®Ç:°±²:À°±´B» Ä ´J½5»BÍ]ŸI¯³ºÀµ±À@¸ µrÀ7¸ À@ÁC²:µµ±°±¯³´5²:°±ÁmÀ7°±¯S´5»B½5ÁmÅÇ:¯SÁm½5°±´E¯SÇ:Ç:ºl°±À@¯1¯Sµ±»E¯³¯³Ád¹E°S®h¯³°±µ±Èi¸Ãnµ±¸ ¯EÃnF¯Eº¶F5¸ À7º¶¸ÁmÀ7R¯YÁmF@µ±¯l®:®:´J¯S¯tÍM»EÁdÅ ¯³´5®¹EÁ³¯³²:»B°SÅÓ°±F5´5º°±Ámµd¯m¯S»Jµ±½5µ±Ç:¯nÇ:°±À7°±½5¯1º´V®7¯¯S»E@ºÌº{Ç:À:¸¸ ´B¹@µdµºÄ »JÑR¯SÁCµ]µ±®:¯>¹J»BÅ Ç:¯r´E°1º¶¸I½5¯r¯mÑR¯SÁCµdº]´Bµ±®:¯>²:°±´5Ám¯S½5Ç:°±¯Sº³h 9 9 @= 9> *9> L!M L!M L!M L!M @ Y @ Y @ Y 1( ! bYC)W4B/D(*)W9:)@c5#' $&' /# /; -1%, < 4+ + /!R70E' IE2+ ),IE),#$A4DT $&' /#0+ 4D$&' $&%59:)Z' #?$&C),' >Y$3>&)!4D$&IE),#$Y/;^2:>&/6,)!9:%:>&),074#59?+ ' $&)@>A4+ 0F' IGT 2+ ),IE),#$A4D$&' /#0i4D>&)1; >&),)<),' $&C)@>J$&/?9:)@$&),6@$i/>i$&/G;4' + $&/?9:)@$&),6@$J$&C54D$ $RY/<2:>&/6,)!9:%:>&),0Y/>Y$RY/<+ ' $&)@>A4+ 074D>&)Z) %' (4+ ),#$F$&/<)!46ACV/$&C)@>!.:4#59 6!4#<9:),6,' 9:)HR7C)@$&C)@>^/>^#/$]$&/7IE)@>&K)H>&),2:>&),03),#$A4D$&' /#0 /;) %' (4+ ),#$ /B d),6@$&0[B-%03' #KP$&C)?0&4IE)?2/' #$&)@>[/>[B' $[254D$3$&)@>&#$&/P>&),2:>&),03),#$ B/$&C]L .¸Iº`Eº¶¸ ÃnH¸ ÅI»B`E° µ±´ M¯mÐ:Ám¯³²5µµ±®7»Jµ¸ Àiº¶´EÃn¯Á³»Eº¶¯Sº!¸ µ²:¸Iº°±´5Á³Ám»B¯S²7½5»BÇ:Ë:°±Å ¯¯ ´BÂt½5:¸Iº±h Ám¯³°±À:¸ À:·¾½5¸Iºµ±¸ À7ÁCµ±¸ ´EÀ7º¼¿7À:¯³°µ±®7»BÀHµ±®:´@º¶¯½5¯mµ±¯SÁCµd»BË:Å ¯ËVÈ ºÀ:¶ÈV´EÃYÀ5rÄ[ËP»B¯³´EÀ7ÃnÅI½ º³²5FµÈtËP´Vº´Eµ±Ì°±Å ¯S»B¸ À:»B°±·@¯À7ºº³·EF!»BÇ7µ±À7»B®:½t°d¯Æ»B¹EÀ@¯³¯Sµ±ÃnÁC¯³µ±¯S²5´E½>µ°dÈ<º³µ±h´>Å ¸I®7º!µS»f[:F¹Eׯ{²7ºy»Bµ±ËP®:¸ ¯³°d¯1º³®7Fº±»f»B²:¹VÃn¸°±´E´5¯°ÓÁmËP¯S´E½5Àn¯³Ç:®7ÀV°±»fÇ:¯S¹Vº³ÃY¸ F´EËP°y»B¯³À7´E°dÀ½ º ÍÍ]»BÀ7»f®:½nÈ5¯³º1À Ád®7°±¯m»B!µ±°dÇ:!»E°±ÁC[À<µ±¯³ÍM¯³°d´Eº¸ µ±Ç:¸I®:ºÓÅI¯³½É¸ °lÃn»Bµ±²:ÅI°±º¶Ç:Å ´¯³¯YÃn°±´E¯m¯³°lµ±À@Ç:µd°±»J»BÀµ±ÅIº¶¸ ´E¯Eµ±°±À5F!Ç:Äa»B½5¯EÀ7h¯³½²P ¯³Í]!À7¸[½5Å ¯³ÃÀ@°±¯mµS»fµ±FEÈÇ:Ë:°±Ç5»BÀµ{ÅIº¶µ±´¸ °±µÇ:ËPÍ]¯t¯³¸ ®7Å´E7»fÀ:»B¹EÅ ÅÈ¯Ä ½5¸ ÑR¯³°±¯³À@µ±Å Èn°±´Eà ! ![>´EÀƯ³Ãn²5µÈ¹E¯SÁCµ±´E°dº{»BÀ7½Æ¯³Ãn²5µÈƺµ±°±¸ À:·@º³h 9 ![ 0 04-' ![ 9 !B;![ 9 !B;![ ![ R9 B! ;![ 9 B; F9 B; :Ö h«@µd»BÀ7½:»B°d½¼²:°±´5Ám¯S½5Ç:°±¯Sº w[Á³µÎ»BÅy¸IÀVºÉÇ:¸ ÃYÃnËP²P¯³´E°d°¶º³µdFP»Bµ±À@®:µÉ¯µ±5´.Ád®:½5¯³¸IÃnºµ±¯t¸ À:ÀV·EÇ:Ç:ÃY¸Iº¶®+ËP¯³°dËPº1¯mµµ±ÍM®7»J¯³¯³µiÀ+»Jµ¶µ±µ±®:¯³¯«Ãn²5õ̻Jµ±µ±´®:¯³Ãnô5»J½5µ±¯³¸ ÄÅ µ±5®:Ád¯³®:ï³ÃnFP¯µ±®:ÀV¯YÇ:ÃÃY»EËPÁd¯³®:°d¸ º³À:Fl¯i»B°±À7¯³½Ï²:°±¯SÀ:º¶´B¯³µdÀ@»Jµdµ±»J¸ ´Eµ±¸À7´Eº¼À7º]Ç7º¶Ç7¯Sº¶½«¯S½µ±´-µ±´ÆÍ]¸ Ãn°±¸ µ±²:¯Å ¯³ÀVÃnÇ:¯³ÃYÀ@µÌËP¯³µ±°d®:º³¯ h q»BÀ7®:½¸Iº^ °±7¯³_a²P ´E@°¶mµbnÇ7µ±º¶´Î¯SºM°±¯mµ±Â®:¯³¯Ì°Æµµ±ÈV´Î²P¯SËPº ´Bµ±®H5Ãd»Jmµ±bC®:F¯³dÃ`J »Jµ±¸IÁ³ »BEÅ1F!ÀVb±dÇ: ÃYFËPb±¯³J°d_Òº¼^` »BRÀ7 ½ F ²P5Ád´E ®:¸ À@¯³5µiÃn.»B¯À7»BÀV½À7Ç:½ 7ÃY]´@ËP»J` ¯³µ±¸°dÀ:5º³·¼h¾t²Ph <´E»E¸ À@Ádµ>®:¸ »BÀ:°±¯¯Y°±°±¯³¯m²:¯³°±°±¯S°±º¶¯S¯³½À@µdµ±»J´µ±¸ ËV´EÈÀ7ºYÀ7º¶»BÇ7ÃnÁd®«¯Sºr»Eº¶ºYÇ7Ád¿:®Ð5¯S»E½ º 3 ¢ Z Î@ E d¡ { <º¶Ç:»JË5µ±µ®:ÈV¯³²PïSº1»Jµ±¸ À¸IÁ³»BÍ]Å ®:ÈE¸IF5Ád®ÀVÇ:¯SÃY»EÁdËP®¯³°dÅ ºM¯³¹Eï³Å»fȸIº1ËP»Æ¯>º¶»BÇ:°±Ë7°dº¶»B¯mÀ:µ1·E´B¯S½nÂyµ±¸ ®:À@¯iµ±´Å ¯³»i¹E¯³µ±´JÅÍM»BËP¯³°M´J¹E´B¯  ¸ µ ÀVÇ:ÃYËP¯³° °±°dÁm¯S»J´E»Bµ±Ãn¸Å ´E²:À7Å ¯m»BÐÅ ¸ @ À ± µ ³ ¯ E · ³ ¯ ° z:»´E°±°{¯S¯m»BÐ:ÅÒF{»BÃn»BÀ7²:½-Å ¯E»ÉF Ám¸I´Eº{Ãn»B²:ÀÅ ¯m¸ À@Ð!µ±h¾¯³·Eq¯³°S®:hy¯qº±®:»B¯³Ãn°±¯m¯Â´E¸Iºt°±¯ µ±°±Ç:¸I¯º{»B´BÅIÂlº¶´iµ±®:»>¯<°d»J5µ±Ád¸ ®:´E¯³À7Ãn»BÅÒ¯ F ÀV»B°±Ç:¯ÃY½5ËP¯m¯³¿7°dÀ:ºl¯Sµ±½®7»JËVµrÈÃnµ±®:´5¯½5¯³²:Å °±¯S½5hi¸Iz:Á³»J´Eµ±°>¯Sº<5Ád ®:# ¯³* Ãn¯t!ÀV[:Ç:F ÃY-ËP ¯³* °dº³FRµ±!®:[:¯Sº¶F ¯YµÈV²P¯S[:º F - [:F@»BÀ7½ : ![:h q»BÀ7®:½¯³°±¸ ¯Æµdºr¸Iºi°±¯³À:²:´<°±¯Sº¶º¶¸ ¯³ÃnÀ@²:µd»JÅ ¯¼µ±¸ ´E°±¯³ÀÅI»J¸ À7µ±¸ º¶´E¸IÀ7½5º¶¯®:»¸ ²ÉÁmËP´EÃn¯mµ²:ÍMÇ5¯³µ±¯³¯³ÀΰShn»j1ÀVÅÇ:µ±ÃY®:´EËPÇ:¯³·E°S®× º>ÃnµÈV´@²Pº¯µ ¸°±Ãn¯³²:²:°±Å ¯S¯³º¶Ãn¯³À@¯³µdÀ@»Jµdµ±»J¸ µ±´E¸ À7´EºÀ7º´B ´BÂÓF@5µ±Ád®:®:¯S¯³º¶Ãn¯r¯r½5¸Í]ÑR¸ ¯³Å !°±¯³´BÀ@ÑRµ¯³°±°]¯³»J²:µ]°±¯SÅ º¶¯S¯³»EÀ@ºµµd»Jµµ±ÍM¸ ´E´nÀ7½5º{¸ ½5ÑR¯³¯³À:°±¯³´BÀ@µ±¯µ µ±5®:Ád¯i®:¯³º±Ãn»BÃn¯E× ¯rº>¸ÀVÀ@Ç:µ±Ãn¯³·E¯³¯³°±°S¸IhÁ³»BÅ´E²P¯³°d»Jµ±¸ ´EÀ7ºÌµ±°±¯S»JµiÀVÇ:ÃYËP¯³°dºi»Eº>»BË7ºµ±°d»EÁCµ ½:j1»JÅ µ±µd®:»:´EF]Ç:»E·Eº®-¸ À7»B½5À ¯³²P¸ Ãn¯³À7²:½5Å ¯³¯³ÃnÀ@µ¼¯³À@´BµdÂr»Jµ±µ±¸®:´E¯³À ¸ °Æ´B°±Âl¯³5²:Ád°±®:¯Sº¶¯³¯³ÃnÀ@¯Æµd»Jõ±¸ ´E»fÀ«ÈÇ7»Eºnº¶¯²P¿:´@Ð5º±º¶ÀV¸ Ç:Ë:ÃÅ ¯EFh 7µ±®:´E¸IÀVºÇ:º¶Ã®:´EFrÇ:»BÅI½rÀ7½À:´B²Pµ¯³ËP°±¯M®7»B»B²:²7²7º»B´B°±µ±¯³®:À@¯³µ!°µ±´l°±¯³»1²:Á³°±»E¯Sº¶º¶Ç7¯³À@»BµdÅB»J²:µ±°±¸ ´E´E·EÀ7°dº»BÃn´EÃn°¯³ÀV°!Ç:Í]ÃY°±ËP¸ µ±¯³¸ °dÀ:º³· F ºw[¶µn¸ Ãn¸Iºt²:Å À:¯>¯S²:Ám°±¯S´Eº±·Eº±»B°d°±»BÈEÃFyº³®:h ´JÍM¯³¹E¯³°SFµ±´É½5¸Iºµ±¸ À:·EÇ:¸Iº¶®ÎËP¯mµÍM¯³¯³À-ÀVÇ:ÃYËP¯³°dº µ±z:®7´E»J°lµ¯mÐ:»B°±»B¯ÆÃn°±²:¯³Å ²:¯E°±FP¯S¸ º¶À7¯³½5À@¯mµ±Ð5¯S¯S½Éºl¯m¸ Ð:À@µ±»E´¼ÁCµ±½:Å È »Jµd»B»¼À7º½Éµ±°±µ±Ç7®:ÁC´@µ±º¶Ç:¯°±¯Sµ±º1®7»JÃYµnÇ7úµÌ»fËPȯ À:V´BÀ:µn´JËPÍ]¯EÀ h ¯m»BÐ:Å ·E»E¯³ÁCË:µ±°dÅ ÈE»ÌFEº¶»EÈ5ºyºµ±ÃY¯³Ç7úhµlº¶´EÀYÃnµ±¯®:²P¯´E´BÅ µ±ÈV®:À:¯³´E°ÓÃn®7¸I»B»BÀ7Å:½!ÁmFJ´Vµ±¯ ®:Ư]Ám°±¸ ¯³¯SÀ@º¶Ç:µdºyÅ µd¸ºÀ´B»rÂPÃnº¶ÈV¯SÃY»Eº¶ËPÇ:´E°±Å ¯m¸IÁÄ ÃnËP¯l¯³À@»Bµd²:ºl²:°±»B´f°±Ð5¯>¸ ø À:®:»Jµ±¯³¯S°±½Y¯³À@ËVµ±ÈYÅ È°d»J¸ À:µ±¯m¸ ´EÐ:À7»E»BÁCÅ:µSFP»BÀ7»BÀ7½Y½µ±®:¸ °±¯³°d°±»J¯mµ±Â´E¸ ´E°±À7¯»B¸ Å!À:¯mÀVÐ:Ç:»EÃYÁCµ{ËP¯³»B°d²:º1²:ð±´f»fÐVÈ Ä ¸¯mÃÐ:»E»JÁCµ±µ¸ ´EÀVÀ7Ç:º³ÃYhyËPwaÀ¯³°d´Eº°d»B½5°±¯³¯Ó°{°±µ±¯ ´@Ç:Á³¸»J°±µd¯SÁd½!®¼FfÇ75º¶Ád¯S®:ºM¯³Ãn´B¯¸ ¯mÀ:Ð5¯m²:Ð:Å»E¸IÁCÁmµ]¸ µ±ÅÀVÈÌÇ:½5ÃY¸IºËPµ±¯³¸ À:°dºM·EÇ:Í]¸I®:º¶®:¯³¯S°±¯º µ±¯m´nÐ:»Eµ±ÁC®:µy¯i°±½5´E¸ ÃÃn¯³¸ À7À:º¶¯m¸ Ð:´E»EÀÁCµÓ´BÂÀVµÇ:ÈVÃY²PËP¯E¯³h °dº³hq®:¸Iº½5¸Iºµ±¸ À7ÁCµ±¸ ´EÀt¸Iºy´E°¶µ±®:´E·E´EÀ7»BÅ 3 3 A ¯Âm5°±Ð:Ád´E®:»EãÁC¯³µÃn¯m¸Ð:¯Y»E¸ÀVÁCµÇ:µÍÃYÀV»EÇ:ËPº{ÃY¯³Í]°dËPºl°±¯³¸ »B°dµ¶º°±µ±¯i¯³Ç7Àº¶¯³¸ ¸»EÀ:µ±ºM®:·1¯³»B´E°nÀ¼À:Å ¯mÈlVÐ:E¯m»EmÐ:ÁC_»Eµ]´EÁCÁmµ°Y´E´EÀ7^ ²PRº¯³µd »BV°d»JÀ@Eµ±µMm¸ _Ò´E´EhlÀ7°jº³Íh»EÀVj ºMÇ:ÀVÃY½5Ç:¯³ËPÃY°±¯³¸ ¹EËP°l¯S¯³¸I½ °º E -1% < K E -1% < E K E KK E -1% < E $&')( & K E $&')( KK E -1% < 9 9 K E -1% < K E -1% < EWK EWKK E -1% < K E -1% < cc K E -1% < .10].10 K E 1-1( EE E E 4 = KKK E -1% < ELE KK E 1-1( EE E KKK E -1% < KK E 1-1( EE EWKKK E -1% < KK E 1-1( EE 3 E !"$# E KKKK E -1% < 3L3 KK L!M L!M L!M L!M L!M L!M L!M L!M L!M L!M L!M L!M L!M 1( @ Y @ Y @ Y 1( @ Y @ Y 1e N 1( 0NQP @ Y 1( 9 !<= !<= E -1%12D < L!M K E -1%12D < E K E KK L!M E -1%12D < E E " K . K E E " K . K K L!M E -1%12D < 9)". 9)". K L!M E -1%12D < K L!M E -1%12D < E > -$*,$-.)(/0 G K E > -$*,$-.)(/0 G K KJL!M E -1%12D < E !"$# E K K E !"$# E F K F KK !L M 1( 1( H" 1( 1( 1( @ Y !+ , / # N R NQP ? TS =.@ [ <A 8 8 8 >*< !<= L *9 *9> !9> N=B9D ->*9@<= 8 1( Ü ËVÀ:v1È-´Ç:ÃnÁ³µ±»B®:¯³°±¯°±¯m¸IÂÁ³~Ç:»B¸IÅ Å>º¶Èn²Ám´Eµ±Ám®:Ãn´E´EÃn²:Ç:Ç5·EÃYµd®@»JÇ:µµ±À:¸´E´E¸ Ç5µÀHÈEµ1h º®7µ±»E1°dº¼»JÀ@µ±µ±µ±¯³°d¸ ·EÅi»EÈn½5L{¸Âµ±´E´E¸ Ãn°´EÀ7´EÃn»B°±·@´EÅ »BÀHÈ«À:~¸ËP³¸I¯³¸ º¶À:¯³²ÏÀ·Yµ±ÀVÀ:®:Ç:¯³¯³Ãn·E°±Å¯<¯³¯S°±ÁC͸Iµ±Á³¯S»E»B½ º Å µ±¯Ám¯³Æ´Eà ÃnÁm¸²:¯³Ç5À@µdµ±»JÅ ÈEµ±Å hÓ¸ ¸ ´Eµ¶qµ±ÀÅ ®:F!¯¸I»Bº{¯mÀ7ÑR°±½<¯³´E²P°¶Í]µ>´E¸ °¶µ±Íµ®<»E°±ºÌ¯Sµ±®:ÁmôE¯t·E»E¯mÀ:½5Ð:¸ ¯n³Ám¯S¯³µ±ºy²5´µ±µ±¸®:¯m´EÐ5¯lÀ¯S¯mÁm´BÐ:Ç5ÂÓÁmµ±¯³µ±¯n®:Å ÀV¯¯³À@Ç:<µMÃnÍM»E¯³Á³°±´E¸I~° Á³Y¸I»Bº¶Å²´BÂRÁmº¶´5µ±È5®:½5º¯¯ Ä ´E·EL{Ãn¯³´EÀ:ÃnÃn¯³°dÃn¯³»BÀ7Å´E¸½:À-³»J¯Sµ±º~¸ ´Eµ±¸Iº¶®:À7²-¯³º³¸h£°{Ám´E²:waÃnÀH°±´EÃn²Pº¶´E¸´@µ¶Ãnº±µ±»B¯³¯ÅI¯ºyÍ»B¸ ÀÆÀ7»fÈ5½Î»>ºnûEµ±Á³®:»BÁmÀ:¸I¯³ºÆ²5À:µd¯³°±ºY°{¯³²PÁmôE´E°¶»BÀ7µ¼ÀVº¶¸IȺ¶º¸µ±Ãn´B¯³Â1À@²:µµ±Å ¸®:Í]¿7¯³¯S¸ ¸µ±º¼°t®n°±»Bµ±¯SÀ7®:ÁC½¯ Ä ²:Ç:°±²P´@º¶¯Sº´BÂÓ5Ád®:¯³Ãn¯Eh &32& R B 1( l°±¯S`EÁmÇ: °dHº¶¸ ¹E`E¯³ Å ÈiÁm´EÃn²7»B°±¯Sºµ±®:¯lÁm´EÀ@µ±¯³À@µdºÓÅ ¸ ´BË:ÂR°d»B²7°±»Bȸ °d²:º³FB°±´5¹E¯SÁm¯SÁCµ±½5´EÇ:°d°±º³¯ F ËP·E»B¯³À7¯³À:°d½<º¯³°dº»B»Bµ±°±À7Å ¸ ½ÏÈÀ:·@º¶º³ÈV!$FRÃY# »B²:ËP²:´E[nÅÅIÈVº³¸ hʸ ÂÀ:µ±· j®:¯³È!°±Ç:!²:Å[n¯<°±¸´EÀ@´BÀ<µÌÂ>´Bµ±µ±®:µ±®V®:¯tÇ:¯³ÃYº±°l»BËH´EÃnË ¸I¯EºÆh¯SÁCµ± µd®7!$ºÌ»J# µº¶Ç7´EÁd®Ë[nûE¯SÁCº1»fµdÀVȺÇ:»BÃt»B°±¸ ¯ÄÅ µ±´tµ±¯³°±Ãn¸ À7»Jµ±¯>¸ Ây¸ µdº1»B°±·EÇ:Ãn¯³À@µdº»B°±¯>Ám¸ °dÁmÇ:ÅI»B°]½:»Jµd»nºµ±°±Ç7ÁCµ±Ç:°±¯Sº³h 9 B; ]+R M M NM 1( ! " $JR7' + +%03%54+ + -PB)<2/0303' B+ )X$&/?' IE2+ ),IE),#$ -1% < I[%6AC EI />&)H)E6,' ),#$&+ -Z$&C54# -1%, < .;=/>^)@g4IE2+ ).40^403' IE2+ )F2/' #$&)@>^6,/IGT 254D>&' 03/#N' #0d$&)!49 /;i40G03/IE)?IE/>&)V6,/IE2+ ' 6!4D$&)!9U/2)@>A4D$&' /#]Li#) >&)!403/#U' 01$&C54D$<' $XI?4,-`#/$<B)G2/0303' B+ )E$&/W6,/IE2%:$&) -1%, < /;Y$RY/ #%I[B)@>&0F' #?6,/#0d$A4#$8$&' IE).*R7C)@>&)!40 -1% < ' IE2+ ),IE),#$&)!9G40Y2/' #$&)@> 6,/IE254D>&' 03/#XR7' + +4+ R4,-:0^c5#' 03C<' #<6,/#0d$A4#$^$&' IE)L % < I?4,-1B)8%03)!9 + ' ) -1%, < ' #?422+ ' 6!4D$&' /#0Y%03' #KX2:>&/6,)!9:%:>&),0H$&/1' IE2+ ),IE),#$F/B d),6@$&0 R7' $&CP0d$A4D$&)103' #6,)1' $J/B)@-:0$&C)Z0&4IE)16,/#0d$3>A4' #$&0J40 -1%, < L 9 !$#!<=[ 0 04-' !$#!<=[ 5NQP O 3 ! M M M @ <AA N ]/ ¯³¹V¸Iº¶¯S½ i5Ád®:¯³Ãn¯ ¸IͺƻE¸ºlÀ:½5¯mÐ:¯³°±»E¸ ÁC¹Eµ¼¯S½¸ ÂiÇ7¸ º¶µ¸ À:Í·¼»E¸ºÀ:¯mÍ]Ð:°±»E¸ µ¶ÁCµ±µÌ¯³¸ÀÀ:·E»E°±º¼¯S½5»B¸ Àϯ³À@¸µdÀ:º³¯mFPÐ:´E»E°lÁC¸µÂ{Ám¸ µÌ´EÀ7ͺ»Eµd»BºÌÀ@½5µS¯³F]°±¸¸ ¹EÂ>¯S¸ ½ µ Ç7²:°±º¶¸´EÀ:²P·Y¯³°¶¸ À:µÈ¯mÐ:´B»EÂÓÁC»tµM´EÀV²PÇ:¯³ÃY°dËP»Jµ±¯³¸ °S´Eh À7º³hyq®VÇ7º{¸ À:¯mÐ:»EÁCµ±À:¯Sº±º{¸IºM»YÁm´EÀ@µd»B·E¸ ´EÇ7º w[²:ÂlÇ5µµdÍM»Jµ±´¸ ´E¸À¼Ãnµ±²:®7Å »J¯³µ]Ãn½5¯³¸IÀ@½¼µd»JÀ:µ±´B¸ ´Eµ]À7¸ ºnÀV¹E²:´E°±Å ´5¹E½5¯lÇ7¸ À:Ám¯¯mÐ:¯m»EÐ:ÁC»EµÁC¸ µnÀ@µ±°±¯³¯S°±º¶ÃnÇ:Å ¯Sµd½5ºY¸I»J´Eµ±°¯Ì°±»¯Sº¶ÁmÇ:´EÅ Ãtµdº³Ä F µ±q®:®:¯¸Iº1µÍM¸Iºl´r·EÇ:¯³Å À:µ±¸ ¯³Ã°d»B»JÅ µ±¯]ȼ°±À:¯S´Bº¶µ1Ç:Å µ±µd°±ºyÇ:Í]¯Y¸ Å´B:ÂËPÁm¯]´EÃnò:»Jµ±Ç5®:µd¯³»Jõ±¸ ´E»JÀ7µ±¸Iº1Á³»B¸ ÀVÅ ¹EÈi´E¯Å ¹V@¸Ç:À:¸ ·¹J»B¸ ÅÀ:¯³¯mÀ@ÐVµSÄ h ²P¸»EÃnÁC´Eµt¸²:À@ÅÀVµn¯³Ç:Ãn»BÃY°±¯³¸ËPÀ@µ±µd¯³®:»J°dÃnµ±ºt¸ ¯m´Eº¶µ±À¸ ¸IÀ7ÁÁmµ±´¯Ãûf»BȲ:» ²:EËP°±¯r¯¼´fÐ5µ±Ç7®:¸ ú¶¯>¯S»J½!°±µ±¯SFy¯Æº¶Ë:Ç:ÃnÇ5Å µlµt¯m»Eµ±¸ ®:º1µt´5Ám¸I½:ź>´@ºtº¶µ±¯>®:º¶Ç7¯»EÁdº]®¾½5²:Ç5»Eµ°dȺ»EÁC7´Bµ±¸I´@Â1Á³»J»B¯Sµ±ÅR»E¸ À:Ádµ±®´· µ±/1®:»J¯>µ±¸Ã´EÀ7»J»Bµ±®:ů³´EòP¯³»J°dµ±»J¸IÁ³µ±»B¸ ´EÅ À7Èƺi¸I½5º¶Ç7¯SÁd»B®ÎÅ!°±»E¯Sºº¶Ç:Å µSº¶h ®:´EÇ:ÅI½ »BÅ Í»fÈ5º>²:°±´5½5Ç7Ám¯¯mÐVÄ ¸I°±»Eºt¯³ÁC²Pµ>Ç:´EÀ7°±°¶¯S»Bµ]º¶Ë:Ç:µ±Å ®:ůµd¯Yºrµ±¹V´Í]¸ ´E®:²:ÅI¯³°±»JÀ´5µ±½5¸ ´E·EÇ7À¸ Ám¹E¯¯³´BÀÂ{»B»BÀ¾¯mÀÐ:¯m»E¸Ð:ÁCÃn»Eµi²:ÁC»BµnÅ ¯³°±·EÃn°±¯SÇ:¯³º¶ÃnÇ:À@µdů³µS»JÀ@FÓµ±µd¸ µ±º³´E®:hYÀ¯³w[À¾°±ÂM¯Sµ±¸ºµ®:µ±°±¯Ã¸IÁC´Eµ±»f²P¸ È ´E¯³À°d¯³»J¸ ´Eµ±µ±°1®:¸ ´E¯³¸ À µ° µ±ÃGϸ ´E»f¸ Àµ±È®nÖ:º¶µ±¸h Å®:¯³h¯]À@µ±h¯mÅ Ð:ÈÁm¯³Ám²5´Vµ±¯³¸°d´EÁmÀt¯r´B¸ µd º1°± ¯Sº¶Ç:Å µ]µ±!´¼»BÀ¸À:¯mRÐ:FC»Eµ±ÁC®:µ1¯]¹J´E»B²PÅ Ç:¯³°d¯E»Jhµ±V¸ ´E¯³À7¯Yºyº¶½5¯S¯mÁCÄÄ Í]®:º±Ám´J®:°±ÍM¸¯³ËPÀ¯³¯S¹E½i¯³·E°S¸¸ ¹EFMÀY¯³°±µ±À¯m®:µ±¸IÇ:»BºÓÀV°±º¶ÀÏÈ«¯SÁC»B¸µ±À:Àϸ ´E¯mÀYÐ:¯m»EÐ:ÃYÁC»EµÇ7ÁCµ¼º»Bµy°±°±·E·E¯S¯³Ç:º¶À:Ç:Ãn¯³Å µÆ°d¯³»BÀ@¸ Å µdÂiº³Èr¸h µ°±¯mÁ³j1µ±»BÇ:ÀÀÏ°±ÀY´E²:¸²P°±À:¯³´J¯m°d¹EÐ:»J¯»Eµ±ÁC¸ µ±´Eµy®7ÀÏ°±»J¯SµÆú¶Ç:µ±»fÅ®:µdÈE¯º F ¹J»B»B°±·EÅ Ç:Ç:¯ÆÃn´B¯³ÂÀ@µdµ±º³®:hÓ¯¼z:°±´E¯S°]º¶Ç:¯mÅÐ:µi»BÃn¸Iºi²:Ç:Å À7¯EF5»JÑRÃY¯SÇ:ÁCŵ±µ±¯S¸ ²:½ Å ¸IËVÁ³È»Jµ±µ±¸ ´E®:À¯Æ´B¸ À:ÂÓ¯m»BÐ:ÀV»EÈÆÁCµ±ÀVÀ:Ç:¯SÃYº±ºiËP´B¯³°]Â]ËV¸ µdÈ º ´B»Bµ±Àn®:¯m¯³Ð:°1»E»BÁC°±µ ·E³Ç:¯³Ãn°±´r¯³À@õ]»f¸IÈYº¸²:À:°±¯m´5Ð:½5»EÇ7ÁCÁmµS¯lh »BÀn¯mÐ:»EÁCµ ³¯³°±´>°±¯Sº¶Ç:Å µSFE¯³¹E¯³Àn¸ ÂRµ±®:¯ 3 Î S J ³ µ±µ±waÃn®:®:¯É¯³²:ÈHÅ Í]¯³ÃYÃn®:´EÇ7¯³ÅÀ@º¯µ<µd»Jµ±¸µ±´JÃn¸ ÍM´E²:À7¯³Å °ºM¯³Ãn´B´BÂyÂn¯³À@5º¶µ<ÁdÇ:®:Ë5»«¯³µÃnÈVÁm²P¯r´E¯S®:»Bº¯³°±°±¯Ì·E¯³¸À:À@¹Eµ´B¯³µÀº¶°±Ç:¯¸ Ë7À£@º¶Ç:¯mº¶¸µ°±¯S¯SÁCÁm½nµ±´E¸ ´EÀ7µ±À£´tº¶¸I¸ºÖ:Ãnµ±h¯³²:À@h ŵE¯³FlÃnÍ]Ë:¯³¸ µ±Ç5À@® µµ ËP´BÂy´Bµ±µ±®H®:¯nµ±®:5¯Ád®:²:¯³ÃnÇ:°±¯Y²P´@ÅI»Bº¶À:¯SºÆ·EÇ7´B»BÂi·E¯Eµ±®:h]¯z:´E¸ Ãn°l¯m²:Ð:Å ¯³»BÃnÃn¯³²:À@Å µd¯E»JFPµ±»B¸ ´EÀ<À¸ Ãn»BÀ7²:½«Å ¯³Ãnµ±®:¯³¯ÉÀ@µdº¶»J²:µ±¸¸ °±´E¸ À µ ¸waÀÃnÍ]²:Å ®:¯³¸IÃnÁd®¯³À@»BµdÅ »Jµ±ÀV¸ ´EÇ:À7ÃYºËPï³°d»fº]ÈÆ»B»B°±ÅI¯Ìº¶´°±¯Sº¶»BÇ:Å!²:òP´E»f°¶È¼µ]º´Eµ±À:¸ Å ÅÈÆËP»t¯ Å@¸ ÃnÇ:¸ ¸µ±µ±¯>¯S½Ç7º¶°d¯m»BÂÀ:Ç:·EÅÒh ¯Ì´B ÀVº¶¯SÇ:ÁCÃYµ±¸ ËP´EÀ¯³°dh£º>´BqÂ1®:»B¯<ÀVº¶È<Ç:²:µÈV²P²P´E¯E°¶Fyµ±¯Sº¶½¾Ç:Ë °d»B¯SÀ:ÁC·Eµi¯µ±´Â´Eµ±°Æ®:¯m¯ÆÐ:°±»E¯ ÁC@µÆÇ:ÀV¸ °±Ç:¯³ÃYÃnËP¯³À@¯³°dµdºnº>´B´BÂÂiµ±»B®:ÀV¸IÈ º µ»EÈVÁC²PµÓ¯nÀVÇ:ÃÃY»fËPÈ<¯³°dËPºy¯´B½5ÂP¸ µ±ÑR®7¯³»J°±µÓ¯³À@µÈVµ>²P¯E°±´EhyÃz:´Eµ±°Ó®:¯m¯ÆÐ:»Bº¶Ç:Ãn²:²:²PÅ ´E¯E°¶FEµ±»B¯SÀn½¸ Ãn°d»B²:À:Å·E¯³¯YÃn¯³´EÀ@°rµd»J¸ À:µ±¸¯m´EÐVÀ Ä µ±Ã®7»f»Jȵ1Ç7º¶Ç:º¶¯S²:º ²P7´E°¶´EµÌÀVÇ:»Ã²:ºM°d»Eµ±ÁC´nµ±¸I°±Á³¯³»B²:Å °±È¼¯Sº¶Ç:¯³ÀVÀ@ËPµ1´E»BÇ:Å !À7¸½5µd¯Sº½¸ À:°d¯m»BÐ:À:»E·EÁC¯>µ]´B°±ÂÓ¯S»B¯mÅRÐ:ÀV»EÇ:ÁCµ1ÃY¸ ËPÀ@¯³µ±°d¯mºÄ ·EX»B¯³À7°dºM½¼»Bµ±À7®:½Æ¯³°±°d¯m»Jµ±´E¸ °±´E¯lÀ7µ±»B®:ÅIº{¯>Í]°d»B®:À:¸ Å·E¯r¯ÌÅ ¸´BÃn¸¸ µ±À:¸ ¯mÀ:Ð:·t»Eµ±ÁC®:µ1¯r¸ À@°dµ±»B¯³À:·E·E¯³¯l°dº´B»BÂÀ7¸ À:½¼¯mÐ:°d»J»Eµ±ÁC¸ µ´EÀ7°±¯S»B»BÅIºdÅIºe µ±µ±´¼®:¯Mµ±·@®:»B¯²7½5ºÈVËPÀ7¯m»BµÃnÍM¯³¸IÁY¯³Ài°d»Bµ±À:®:·E¯M¯i°±¯³´B²:°±µ±¯S®:º¶¯³¯ À@7µd»B´EË:ÀVÅÇ:¯Ã¸ À:¯m´EÐ:°±»EÃÁCµy»J¸µSÀ@hiµ±¯³z:·EÇ:¯³°¶°dµ±º®:»B¯³À7°±Ãn½i´E°d°±»J¯Ä µ±»E¸ ºM´EÀ7µ±®:»B¯>ÅIºÅ »B¸ Ãn°±¯Ó¸ µdÅ ¸º]E´B¯³ÅÂÈlµ±µ±®:´l¸IºËP°d¯»B¹EÀ:¯³·E°±¯>ÈÌ»BÅI»B°±¯r°±·E»B¯Ó²:¸ ²:Ài°±º¶´@Ç7»EÁdÁd®Y®:¯S»B½!À>h ¸ Ãn²:Å ¯³Ãn¯³À@µd»Jµ±¸ ´EÀ µ±¸j1À7®:Àƽ5°±´E¯m¸ Ð5Ç:Ãn¯S·E²:º®:Å ´E¯³´BÇ5ÃnÂiµ¼¯³Å À@¸Iµ±º®:µdµd»J¯º³µ±F̸ °d´E¹E»BÀ¯SÀ:ÁC´B·Eµ±Â¯<´E5°d´Bº³ÁdÂiF1®:¯³ÀV»BÃnÀ7Ç:½ÃY¯1ËPÃYº¯³µ±Ç7°±°d¸ººÆÀ:µM·@µ±º¶®7º¼Ç:»J²:´Eµ²P°¼´Eõ±°¶®7µ{»fȾ»J¯mµÐ:ËP»EïÁCµ{»fÇ7È«¸ À@º¶¯Sµ±°±½«¯³¯S·Eº¶¯³ÂÇ:´E°dÅ °µº °±´EÃÁm!´EFÃn²:Ç5µ±¸ À: ·t! µ±®:¯rÅ ¯³À:!·Bµ±F®»BÀ7´B½Ây»YÅ ¸IºµSF:¹E!¯SÁCµ±´E°SFV´E°]º²:µ±°±°±¸´5À:Ám·7¯ShÓ½5Ç:q°±®:¯S¯º / % ÃY»BÀVÇ7È@ºµ±µ®:¸ °±À:¯m·µ±Ç:Ë:°±Ç5Àµn»B»BÀÀίm¯mÐ:Ð:»E»EÁCÁCµµt¸ ¸ À@À@µ±µ±¯³¯³·E·E¯³¯³°S°tFÌ»E»BºYÀ7½H»BÀθ µ¸ À7¸I½5º¯mÐ!»BÀhz:¯³°±Ç:°±°¶´Eµ±°Æ®:¯³µ±°±´¾ÃnÇ7´Eº¶°±¯¯ ËV¸»BÀ@ÀVȵ±È¯³»B·EÀ¸ ¯³À@°S¯mµ±F5Ð:¯³°±·E»E¯³¯³ÁC·@°iµM»B¸Ám°dÀ@´E½5µ±À7Å ¯³¯Sº·Eº±µd¯³º{»B°{À@´Bº¶µiÂÓÈV»BÍ]À@ÀVµd¸ ÈƵ±»J®:Ð!¸ ¸ F@ÃnÀÉÍ]²:µ±¸ Å®:Å ¯³P¯ÆÃn¸ À7¸¯³À7½5À@½5¯³µd¯S¯m»J½Ðµ±¸ ´EËP°dÀ»B¯lÀ:°±°±·E¯S¯S¯E»Eºµ±F½°±¸ ¸IÂ]»EÁCº{µ±¯m¸ Ð5»B´E²:ÀÆÀ7°±ºM¯m¯SÐ:µ±º±®7º¶»E¯S»JÁC½ µµ ÃËP¯³»fÅ ´JÈrÍÉ»B²:Í]²:¸ ÅÅ ÈÌV»B´EÅ Ç5͵d»fº¶È5¸I½5º!¯y°±¯mµ±®:µ±Ç:¸Iº°±Ài°d»B»BÀ:À>·E¯E¯mÐ:h»EzÁC¸ µÀ7¸»BÀ@Å µ±ÈE¯³F³·Eµ±¯³®:°¯{°±¯S²:º¶°±Ç:´5Å Ámµ¯S²:½5°±Ç:´J°±¹V¯S¸Iº!½5ůS¸I½rºµ±»B¯SŽ µ±¯m®:Ð5¯³²P¸ ¯S°MÁC»Bµ±¯S°±·E½Ç:°±Ãn¯Sº¶¯³Ç:À@Å µdµ1º¸I»Bº°±°±¯]¯³²:¯mÐ:°±¯S»Eº¶ÁC¯³µ{À@¸ µdÀ@»Bµ±Ë:¯³Å·E¯r¯³°d»Eºº]»B»BÀ7À½t¯mµ±Ð:®:»E¯lÁCµ]ø »JÀ@µ±µ±®:¯³¯³·Eï³°»JÍ]µ±¸I¸Á³µ±»B®:Å ¸ ÀÈ µ±®:¯>¸ Ãn²:Å ¯³Ãn¯³À@µd»Jµ±¸ ´EÀ B 8 !9D*< B9D*< . M MPOM ?[ = <? <+@ @VS J <AC@ TS @VS JA % =B9 #;*9 > @=B9 @> @=B9 F * $0 -9$&9E$#$-10 7&9E #$-ED/!7&9ED(/0 e//0 0/)2E$# 4 1% 2D/(D&-E$( E2-10(/0 $.p (012E.1($- 3$( /#12D/ )"' GD.)# .-&1$&9E$G 0(D&1/)ED$& - wa²PÃn´E°¶²:µÅ ¯³¯mÃnÐ:»E¯³ÁCÀ@µµd¸»JÀ@µ±µ±¸ ´E¯³·EÀ7¯³º{°d»Bº°±»B¯1À7¯³½>À7¯mÁmÐ:´E»EÇ:ÁC°dµ»B·E°d»J¯Sµ±½!¸ FB´EË:À7Ç5»BµMÅIº!À:´B´BÂ:µ{²:°±°d¯»E@ÁCÇ:µ±¸I¸ Á³°±»B¯SŽ!ÈÌFBµ±Ç:´YÀ:º¶Å Ç:¸ Ãt²5ÄÄ ¸½5µ±Ç:¯S°±½¼¯Sº]º¶¸ ³»B¯ÌÀ7½¼»BÀ7µ±½Æ®:¯ ²:°±t²¯SÁm:¸I°±º¶´5¸ ´EÁmÀ¯S½5FVÇ:»B°±À7¯Ì½n¸ µ±À´Yº¶¸Ç7ÃnÁd®²:Å ¯³»tÃnͯ³»fÀ@ȵMµ±µ±®7®:»J¯rµ»Bµ±ËP®:´J¯³¹Eȯ1»B²:Å °±Í´5»fÁmÈ5¯mºÄ µ±°±·E®:¯m¸ ¹Eµ±¯SÇ:¯³º¶À«°±¯>ÀƲ:¯m¯m°±Ð:Ð:´5»E»EÁmÁC¯SÁCµ¼µM½5Ç:»B°±°±¯S°±·E¯Sº¶Ç:ºÇ:ÅÃn¸Iµdº]º¯³Ç:À@Í]À7µd®:º³»B¯³F{Ë:À¼Åµ±¯Ì®:·E¯³µ±¸ ¹EÀϴƯ³½5À¸ µ¼¯³¯mÅ ¸ÃÐ:¹E»E¯³»fÁC°1È-µ»B»B¯³À°±¸ µ±·E¯m®:Ç:Ð:¯³Ãn»E°ÆÁC¯³µ]°±À@¯³µd°±²P¯Sº³´Ehº¶°¶Ç:w[µ¼Åµ1´E»ÉÍ]À:¹V¯l®:¸ ¯³´B´BÀ Ä ÅIÁm»J´Vµ±¯³¸ °d´EÁmÀ ¯´B¸ µdÂ1ºn»BÀÉ°±¯Sº¶¸ ÃnÇ:Å ²:µnÅ ¯³µ±´Ãn¯³»BÀ@À¾µd»J¸ µ±À:¸ ¯m´EÐ:À »EÁC°±µn¯SºÀVµ±°±Ç:¸IÃYÁCµ±ËP¸ ´E¯³ÀÉ°ShÏ´E°iVÇ7¸ µYÁd®«Ã»»fÈÁm´Vº¶¸ ¯³Å °d¯³ÁmÀ@¸ µ±´EÅ ÀÈ Ã»fȼÁ³»BÇ7º¶¯>»BÀ¯³°±°±´E°ÅI»Jµ±¯³°Sh ²:j1q°±®:À ´f¸IÐ5º¸ ¸Ãn𱯳²:»J²PÅ µ±¯³´E¯Ãn°¶µn°±¯³¯³À@°±²:µd¯S°±»JÁm¯Sµ±´Eº¶¸ Ãn´E¯³À@À Ãnµd»Jï³µ±À7¸»f½:´EÈ<ÀϺ³FMÇ7ºË:º¶µ±¯ Ç5°d»Jµ¼7µ±´@¯³½5»J·E´Vµ±¸ ¯S¯S¸ À:ºnºt·À:´E´B²P°¼µ´E¸¸ °±À@À:¯ µt¯m@Ð:Ç:»B»EÀ7¸ ÁC°±½¯Eµ¼F´BÀVµ±µ±Ç:®7®:ÃY»J¯³µ°YËP¯³µ±»B°d®:²5º³¯ Ä h wËV|{È|{¸ |Ãn²:Å ¯³Ä[ÃnË:¸ ¯³µÀ@»BµdÀ7»J½iµ±¸ ´EÖBÀ7ÔBºrÄ[Ë:µ±¸ ®7µ »J7µY´@»JÇ7µ±º¶¸ ¯À:·17²P´EÀV´E¸Ç:À@à µyº°±µd¯³»B²:À7°±½:¯S»Bº¶°d¯³½:À@ºµd»JËPµ±¯¸ ´EÂÀ7´Eź³F´JÍM»BÀ7¯S½½ µ±Ã®7»J»JµdµÁd®¼¸ Ãn´E²:°MÅ ¯m¯³Ð:ÃnÁm¯³¯³À@¯Sµd½n»Jµ±µ±®:¸ ´E¯ÌÀ7²:ºÆ°±Ç7¯SÁmº¶¸I¸ º¶À:¸ ·Î´EÀ¼´Bµ±»E®:Ád®:¯³°Æ¸ ¯³¹J°±¯³»B²:Ë:°±Å ¯l¯Sº¶Ç7¯³º¶À@¸ µdÀ:»J·iµ±¸ µ±´E®:À7¯Sºº¶¯ º¶®:7´E´@Ç:»JÅIµ¶½ Ä ¸ À:·²P´E¸ À@µ1ºµd»BÀ7½:»B°d½:º h µdwa°±À-»J¯³²:µ±¸²7°±´E¯S»BÀ7º¶°¶º>¯³µ±À@¸IÃYÁmµ±Ç:¯SÇ7½ÅI»Bºµ>°SÍ]F¸ ´E¸µ±ÃnÅ®-´J²:»JÍÊÅ µi¯³Ãnµ±Å ®:¯S¯³»E¯SÀ@ºº¶µdµt¯»Jµ±»E°±¸ Ç:º>´EÅ À7¯SÃYºiº Ç7iµ±Ád®7j® »Jµn²:7°±´EÇ7¯SÀVº¶Ám¯Ç:¸Iº¶Ã ¸7´E´EÀ °±ÀV¯SÇ:»Eº¶ÃÇ:º>Å µ>¸Iºi°±ÃY¯³Ç7²:Ç7º¶°±¯Sº¯S½µYº¶¯³ËPµ±À5´¯ Ä ¯m¸Iº{Ð5²:½5¯S°±¯Sº¶¸º±°dºM»B»BË:ÀVÅ ¯iÈnX´BË:ÂÇ5µ±µ{®:À:¯Ì´B¸ µ{À:¯m°±¯Ð:@»EÇ:ÁCµ¸ °±¯S»B½7°±·EeÇ:ÂÃn´E°¯³²PÀ@´Bµdºµ±¯³µ±À@´iµ±¸Iµ±»B®7Å »JÈtµ]¸´EÀ:²P¯m¯³Ð:°d»E»JÁCµ±µ¸ ´E´EÀ²Ph¯³w[°¶µÄ ²:»Jº @µ±°±¸Ç7´5´E½5»BÀ7°±Ç7ºl¯lÁmº¶¯Ì°±Ç7´V¯mÁd´BÐ:®µM»E´B»EÁCµÂº »B»BÀ¼À7! º¶¯mÍMRÐ:¯³F7»E°dÁCÍ]º{µM®:Í]ÔY¯³®:À´E¯³Ç:À:»B·E¯³²:®@¹E²:µ{¯³Å °M¸ µ±¯S´t²P½´@ËPµ±º±¯r´¼º¶¸ »BË:¯mÀÆÐ:Å ¯t»E¯mÁCÐ:X3µÌ»E´EÁC»B°µ°±¯m·EÐ:Ç:eC»BÃnhÓÃnw[¯³Â²:À@FVÅ µd¯l®:º³´JF:µ±Í®:µ±´¯ Ä ¯³¸ À:¹E¯m¯³Ð:°S»EFJÁC»BµMÀY°±¯m¯SÐ:º¶»EÇ:ÁCÅ µÌµÀVX»EÇ:º{ÃYËVËPÈ ¯³°y!¸Iº´E:²PeCFV¯³°d»B»JÀ7µ±½n¯S½>¸ ÂÇ:µ±²P®:´E¯lÀt°±¯Sº¶º¶´ÌÇ:»EÅ µMº¸Iµ±º´Ì°±²:¯³°±²:´5°±½5¯SÇ7º¶¯³ÁmÀ@¯Mµ±»B¯SÀ½ ÃYÍ»Eº{»fÇ7È» ºµ{7µ±ËP®:´E¯1ÀV¯³À-Ç:Ç7ú¶µ±¯S®:F@½ ¯µ±@®:Ë:°±¯³¯³Ç5À²:µ{°±µ±¸¯S®:ÂRº¶¯lµ±¯³®:À@Ãn¯]µd´@»J°±µ±º¯Sµ{¸ º¶´EÇ:²:ÀÎÅ°±µ{¯SÃYÁm¸IºÓ¸IÇ7º¶°±º¯ ¯³µn7²:®7°±´E¯S»fÀVº¶¹EÇ:¯³¯ÃÊÀ@µ±»J¯Sµn´E½Y°±Å ¸¯SÃÀÆ»E»Jºº¶µµM´EÃn»f»E¹JºY¯]»BÃY¸´BÅIµ±»BÇ7®:Ë:Ád¯³Å ® ¯° ²:°±¯SÁm¸Iº¶¸ ´EÀ»EºMµ±®:¯>Ãn´@ºµ]²:°±¯SÁm¸Iº¶¯ 7´EÀVÇ:Ã(´E°±Ã»Jµl»f¹J»B¸ ÅI»BË:Å ¯Eh ÀVj1º¶´EÇ:Å Ãnµ±ÃY®:¯nËP´EÇ:¯³´B°d·EÂMº³®<µ±F@®:»B5¯³ÀVÁdÃÈY®:¯³hƲ7Ãn»Bz:°¶¯i´Eµ±°r¸I»BÁmÅ Ç:¯m´JÐ:ÅI»BÍ1»B°ÓÃnº]¸ Ãn»n²:Å ²:¹J¯E»BÅF¯³°±»BÃn¸ ¯mÀ¯³µÈÆÀ@¸ Ãnµd´B»J²:Âyµ±Å¸ Í]¯³´EÃnÀ°±¸ ¯³µ¶Ãµ±À@¯³»fµdÀ»JÈYµ±À:º¶¸ ´EÇ:´BÀ²:µd»J²P¸µ±ÀÉ´E¸ ´E°¶µ{Í]À7º´E®:À:¸IÂÁd´EÅ ®È ° »BÅ !ÀVÇ:ÃYËP¯³°dº»B°±¯Ì°±¯S»BÅRÀ:¯³¯S½¼À:´Bµ1º¶Ç:²:²P´E°¶µµ±®:¯r°±¯SÁCµd»BÀ:·EÇ:ÅI»B°»BÀ7½ > 8) > F L # CB B> 3 5 B> 7 8 E ±µ²P°±¸¯³´E´E²:ÅIÀ»B°±¯S°Y¯³º¶À7¯³À:ÁmÀ@´B´Eµ1µdÇ:»J»EÀ@µ±º1¸µ±´E¯³»BÀ7°dÀºÓºr»B¯mÂÐ:Àn´E°t»E¯mÁCÐ:Ámµ1´E»EÀVÃnÁCÇ:µ²:ÃYÀVÅ ¯mÇ:ËPÐÉÃn¯³°SÀV¯³F5°±Ç:µ±¸IÃYÁ³®:»B¯³ËPÅ7À¯³Ám°d¸´Eº³µlÀ7húµdw[»f»BÂlÈÆÀ@»BµÓ¯³À µ±¸ µ±®7¸ ®:Ãn»J¯³µ²:°l¸ Å µM°±¯³¯³ÃnÁ³²P»B¯³´EÀ:À@°¶À:µdµ1´B»J»µÄ ¹V°±¯³¸ ´E²:ÅI°±»J¯Sµ±º¶¸ ¯³´EÀ@À>µM´Bµ±ÂP®:»B¯iÀiÁm¸´EÃnÀ7²:ºµdÅ »B¯³ÃnÀ@µ]¯³ËVÀ@µdÈ»J»Bµ±¸À´EÀi¸ À:°±¯m¯SÐ:º»Eµ±°±ÁC¸Iµ]ÁCµ±ÀV¸ Ç:´EÀ>ÃY´EËP°¯³°S¸ µh ûfÈ>º¶¸ Å ¯³À@µ±Å È 3 @ !¡ S A ! Î@ E S q½5¯S®:º±¯¼Ám°±º¶¸ ËPÈVÀ@¯S½<µd»JдE°±´BûBµ±®:Å ¯ÆÈÍ]¸ ÀÉ°±¸ º¶µ¶¯Sµ±ÁC¯³µ±À ¸ ´E°±Àί³²:ÙV°±h ¯SEº¶h ¯³EÀ@htµd»Jv1µ±´B¸ ´Eµ±¯tÀ7ºÌµ±®7´E»J°YµYÀVÁ³Ç:»Eº¶ÃY¯tËP¸I¯³ºr°dº>À:´B¸Iµº º¶j¾¸ ·EÀVÀ:Ç:¸ ¿PÃYÁ³ËP»B¯³À@°Óµ]ø À»fÈ>ÀVÇ:ËPÃn¯]¯³Í]°±¸I°±Á³¸ µ¶»Bµ±Å!¯³ÁmÀt´E¸À7ÀtºµdË:»B¸ À@À7µd»Bº³°±h ÈEFJ´5ÁCµd»BÅÒFE½5¯SÁm¸ ûBÅÒFB´E°y®:¯mÐVÄ »E»B°±½5¯ ¯SÁm¸ ÃX»BË:ÅÓ¸ À7ËV»BÈ°±È:µ±®:eC¯nF Ç7ƺ¶¯X´5´BÁCµd»B»Å3eC°dF »E½5¼¸ Ð<X½5²:¯S°±Ám¯m¸ ¿:ÃÐ!»BhÅ3eCqFV»B®:À7¯n½ °d»E½5¸ ÐX®:²:¯mÐ:°±¯m»E¿:½5Ð5¯S¯SÁCºÄ ¸¯mÃÐ5²:»B°±Å3eC¯Sh<º±º¶¯SGϽƸ ¸µ±À®Î½5À:¯S´<Ám¸ ðd»E»B½5ÅÒ¸ hÐɲ:°±¯m¿:Ð!FÓ»ÀVÇ:ÃYËP¯³°Y¸IºY»Eº±º¶Ç:Ãn¯S½µ±´<ËP¯ ¸Âj-À:´E°y¯mÀVÐ:¸Ç:À:»EÃn¯mÁCÐ:µl¯³»E°±ËV¸IÁCÈÁ³µS»Bhy»ÆÅVj1Ám²:´EÀt°±À7¯m¯mº¿:Ð:µdÐ!»B»EÀ@h1ÁCµ±µqÀ:ïS®:º±»f¯YºÈr²:²:ËP°±°±¯m¯]¯m¿:¿:º¶Ð5ÐY²P¯S¯Sú1Ám¸»B»f¿7È>°±¯S¯ ½>»B²:µ±²P´l¯SÂËP»B´E¯°y°l¯³ËP¯m¸ ¯mÐ:µ±Â®:»E´E¯³ÁC°±°µS¯MFP¯m´EÐ:»B°ÓÀ7»E»JÁC½ µyÂ3µ±´E¯³°° ´B¯³»B¸ÂÀVµ±Èn®:»n¯³°dÀV°Ó»EÇ:¸½5À:ÃY¸ ЯmËPÐ:²:¯³»E°l°±ÁC¯mµy®7¿:´E»Eаyº]µ±¯mÀ:®7Ð:´Æ»J»EµÁC¯mµSÐ:¸IºMh»Ew[Ç7ÁCµÓµ±º¶À:¯S¸Iºy¯S½!º±¸hyÀ:ºw[¯m²:ÂÐ:°±µ±»E¯m®:ÁC¿:¯ÌµyÐ!¸Í]F:ÂRµ±°±¸ µ®:¸ µ¶¯YÁmµ±¯³´EÁmÀÀ@´EµdÀ7°±»B¯³º¸ µd²:À7»B°±ºyÀ@¯S»Ìº¶µ1¯³½5ÃÀ@¯Sµd»fÁm»Jȼ¸ µ±Ã¸ ´EËP»BÀ¯ Å ²P½5¸´E·E¸ ¸À@µSµSF:F{´B»Bµ±®:À-¯³¯m°±Í]Ð5²P¸Iº¶´E¯ÌÀ:¸¯³µ1À@¸IµSº]F¯m´EÐ:°n»E»ÁCµSh Ád®7»B°d»EÁCµ±¯³°Y¸ Àε±®:¯²:ÅI»EÁm¯¼´BÂÌ» waÃÀ-»fÈ<º¶È5ËPºµ±¯¯³ÃÇ7º¶ºY¯mÂÍ]Ç:¸ÅÓµ±®Îµ±´¸ À:º¶²P¯mÐ:¯SÁm»E¸ ÁCµtÈ<ÀVµ±Ç:®:ÃY¯ËP²:¯³°±¯S°dºYÁm¸Iº¶´B¸ Â1´EÀ¹J»B´B°±ÂÈV¸ »À:·<Ám´E²:À7°±º¯SµdÁm»B¸IÀ@º¶¸µS´EhÀ7º>z:´E¸ µ° µ±¯m®:Ð5¸I²Pº]´E²:À:Ç:¯³°±À@²Pµ´@ú¶¯E»BF:° EÀV¯³Ç:°Ãnµ±¯³®7°±»J¸IµÁ³»B¸ À7Ž5Ám´E¸IÁ³À7»Jºµ±µd¯S»BºÀ@µ±µd®:º¯lý5»f¯SÈƺ¶¸ °±ËP¯S¯>½YÍ]²:°±°±¸¯Sµ¶Ámµ±¸I¯³º¶À¸ ´EÍ]Àt¸ ´Bµ±Â7®µ±»B®:À¯ µ±µ±¸ À:®:¸ ¹E¯m¯l¯³Ð:ÅÇ7»EÈEº¶ÁChϯlµ>´BX°±GÏÂy¯³²:c±®:°±:¯³¯S`JÀ-º¶bC¯³_³À@ÂF7¯³µdcCÍM»J^ µ±¯³¸ °Y´EÀ@µ±hn®7F!»B\EqÀÎ` ®:7¯ ´EÇ:ÅV¯m°tFVµ¶µ±»B¸ ¯³À7À@°dµ±½ º ¯³°±5`À7F »B"PtÅMF ¸²:À:P°±¯mF¯SÐ:Ám»B»E¸IÀ7º¶ÁC¸ ½µt´EÀ°±¯³F@²:°±º¶¯S²P°±º¶¯S¯S²Pº¶Ám¯³¯S¸ À5ÂÁCÈ ÄÄ µdµ±®:»Jµ±´@¸ º¶´E¯rÀ7»fº1¹J¯m»BÐ5¸ ÅI¸I»BºµSË:FPÅ ¯Eµ±®:hÓ¯iz:´E´E°Ç:¯m°rÐ:»Bº¶¸Ãn³¯Y²:ź¶¯E²PF5¯S»BÁmÀ¸ ¿P¸Á³Ãn»Jµ±²:¸ Å´E¯³À7ÃnºÌ¯³»BÀ@°±µd¯>»Jµ±Ã¸ ´E»BÀ¼²:²PÍ]¯S¸ µ±½<®´EµÀ@ÍMµ±´´ ¸»BÀ@À7µ±½¯³°±ÅÀ7´E»BÀ:ÅV·¼°±¯³»B²:À7°±½¯Sº¶½5¯³´EÀ@Ç:µd»JË:µ±Å ¸¯i´EÀ7µ±´Eº·Eïmµ±»f®:È>¯³Ã°Sh e¼»B²twaÀ<º¶®:»E´E½:°¶½5µÓ¸ »Bµ±¸À7´E½YÀº¶F7¸ µ±À:®:·E¯YÅ ¯{¯mµ±Ð5´E²P·E´E¯mÀ:µ±®:¯³À@¯³µ° µdûE»Jºr»Bµ±¸\E° ´EE` À¯³7hy° q¼V®:FVº¶¯Ë:²PÇ5¯S½5µ]Ám¯m¸ ¿7¸ »BÃn¯SÇ:º1²:Å µÓŵ±¯³²:®:Ãn°±¯t¯S¯³½5ÁmÀ@¸I¯mµdº¶Â»J¸ »B´Eµ±Ç:ÀY¸ ´EÅ µÌ®7À7»EºM²:ºy°±Ã¯S»JÁm»fµy¸IÈnº¶Å ¯S¸ Í]´E»EÀº¸Iº¶µ®¼Â»E´Eº°1µ±´nÃYµ±®:»BÇ7¯tÅ Ád´J®t¸ Í«Ãn²:²:°±µ±¯SÅ®:¯³Ám¸IÃnº¸Iº¶¯³¸½5´EÀ5¯mÀ ÄÄ Â»BÇ:Å µ]µ±´nËP¯iº¶¯mµ1ËVȵ±®:¯>Ç7º¶¯³°Sh +@ M M #M N\4 ? TS = 0JAC@ +@A D @A J9 :Ö h«@µd»BÀ7½:»B°d½¼²:°±´5Ám¯S½5Ç:°±¯Sº ËPºµd¯»BÀ@°±µd¯³ºÓ²:°±ÍM¯S¯³º¶°±¯³¯1À@µ±Ád¯S®:½´@º¶Í]¯³Àn¸ µ±®:º¶´r´EÇ5µ±µi®7»JÅ ´@µÓº±µ±ºr®:¸I´BºÂ¸I»EºÓÁ³Å ¸ÁmEÇ:¯³°dÅ »EÈiÁmµ±È ´>ËPµ±®:¯]¯µ±°±¸ Ç:À:¯]¯mÐ:¸ À»EÁC¸ µiÃnÁm²:´EÅ À5¯mÄÄ Ãn¯³À@µd»Jµ±¸ ´EÀ7ºyµ±®7»Jµ{Ç7º¶¯ 7´EÀVÇ:úyµ±´i°±¯³²:°±¯Sº¶¯³À@µÓ¸ À:¯mÐ:»EÁCµ{ÀVÇ:ÃYËP¯³°dº³h # * ![`E0!' ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ - * ![£`E0!' [`E0!' ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ - [£`E 0!' : ![£`E 0!' : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ ´B´EqÂRË ®:»B¯S¯S°±º¶ÁC·E¯{µMÇ:ÀV¸IÃnº{Ç:¯³Ãn´BÀ@¯³µSµ±°±Ff®:¸I¸Á³¯lÀ7»BÁmÀ7ÅEÅ µÇ7»BÈVÃn½5²P¸ ¯SÀ:¯{½n·r²:µ°±À:ÈV¯S´E²P½5À5¸I¯EÄ[Á³F5ÀV»J»BÇ:µ±À7¯SÃYº½ËPÁ³´B¯³»B°dµ±Ài®:º³h¯³ËP°±q¯Í]®:»B¸I²:¯³º¶¯1È>²:ŵ±°±¸ ®:¯m¯Sµ±¯³½rÇ:Ènµ±°±´Ì°±À ¯m»Bµ±ÀVÇ:>È °±¸À Â7Vµ±¸À7®:"P½¯ h wa»BÀ«Å Ì·E®:¯³¸ À:·E¯³®:°d¯³»B°ÅÒFMµÈV¸ Â>²P¯»²:µÈV°±¯S²P½5¯¸IÁ³²:»J°±µ±¯S¯S½5º¼¸IÁ³»B»J°±µ±¯<¯»B¸IÅIºnº¶´ µ±°±µ±Ç:°±¯Ç:¯<´BÂ>´BÂ>»Éµ±ÀV®7Ç:»JÃYµ¼ËPÀV¯³Ç:°ÃYµ±ËP®:¯³¯³°SÀ h »w[BL{ Š´EÀ7Å ´Jº¶¸IºMÍM¯ @»B¯³Ç:À¼°M¯³µ¸À@ÈVÀ:µ±²P¯mÅ ÈEÐ:¯rFE»E²:¸ ÁC°±µ¯S»ÌÁm½5µ´E¸IÈVÁ³Ãn²P»J²:µ±¯1¯SÅ ¯m²:º]а±»B¯SÀV°±½5¯>Ç:¸IÁ³ÃY»B»JÅIËPµ±º¶¯]´Y¯³°S¸IºÓFE»Bµ±ÂÅIº¶®:»B¯>ÅI¯³º¶À ´B¯1´B µ±Â®7»r»Jµ1ÀVÇ:ÀV[ ÃYÇ:ÃYËP'r¯³ËP°S¸I¯³ºFE°Sµ±hµ±®:°±¯³Ç:À ¯ ¸¸ Â]À:¯m:»BÐ:À7»E½<ÁCµy´E°±À:¯SÅ »BÈ<ÅE¸ÀV Ç:ÃY ËP¯³°SFf[ µ±®:¯³À * :! : ![: '; ''¸IºÌ¸Iºµ±µ±°±°±Ç:Ç:¯E¯MhY¸ ÂPw[: »BÀ7; ½i¸I´EºrÀ:»BÅ ÀÈ ¸  ; #5 ; ''Vh 7 !9> N=B9D >*9@<= >*< !<= *9 *9> j N<OR P R j 7A R N<O = 3 9 P R =iO 6 N 6 G G = G I 8 b O J/%#59$&/N03' #K+ ) =iO 6 N 6 G = g$&),#59$&/N+ /#K O OOOOOOOOOOOOOO O O O 3 Î@ E {@J µ±µqÈV®:®:²P¯r¯¯SÀ7ºi°±»B¯S´BÃn»EÂ1½5¸ À:»B¯³·°±°t·EÁm¸IÇ:ºt´EÃnÀV°±¯³¹E¯mÀ@¯³Â¯³µdÀ@°±ºÌµ±°±¸ ¯Sµ±´E´<½ À7º{ÀVµ±´ÉÇ7Ç:º¶Ãnº¶¯S¯S½¼¯³ÁC°±µ±µ±¸IÁ³¸´n´E»BÀ º¶Å²P°±E¯S´EÁmh Ç5¸ µ±h ȼ¸ À:°±¯S´E¯Sº³º°hµ±°±»q¸IÁC®:º¶µ±Ç:¯Æ¸ ´EÃnÀ7¯mÐ:úM»B´E»BÃnÀÆ°±È ²:µ±Å®:¯S´B¯ºÂ Ç7Í]º¶°±¯S¸ µ¶½-µ±¯³¸ À¾ÀÎÇ7µ±®:º¶¸¸IÀ:º·Éº¶¯S»BÁCÀ-µ±¸ ´E¯mÀ¾Ð:»E»EÁCº±µº¶Ç:À:Ãn´Bµd¯¼»Jµ±µ±¸ ®7´E»JÀ-µÆ¸Iºt»BÀV¸ ÈÀ7½5ÀV¯³Ç:¯S½-Ãn¯³°±°±¯³¸I²:Á³°±»B¯SÅ]º¶Ám¯³´EÀ@À7µ±¯Sº½-µd»BÀ@»Eµº ÀV»BÀÇ:Ãn¯mÐ:¯³»E°±¸IÁCÁ³µ{»BÀVÅ!Ç:Ám´EÃYÀ7ËPº¯³µd°S»BhÀ@µdVº{´EÍ]Ãn°±¯1¸ µ¶¯mµ±Ð:¯³»BÀÃnÇ7²:º¶¸Å À:¯Sº{·n»B»BÅIÀ¼º¶´Y¸ À:»E¯mº±Ð:º¶Ç:»EÃnÁCµ¯]À:µ±´B®7µd»J»JµMµ±¸ Ám´E¯³À°¶µdÁ³»B»B¸ ÀÀ M MYXMZ ? TS = ![ @VS JA ' 8 8 5 9> E.p@0 3 -8 > E .1/!3D1- < < *A = 4 N & K E .1/!3D1- < = K E 0$-$ < = K E 0$-$ < * O G 4 O O O & K E 0$-$ < - 6 - 6 O-K E 0(D&1/)ED < Q 6 O-K E 0(D&1/)ED < Q1= K E &9E$($-1G$-10 < = 4 O & K E &9E$($-1G$-10 < =iO O-K E &9E$($-1G$-10 < I Q NK >*9@<= !<> *9 *9> L!M L!M L!M L!M L!M L!M L!M L!M L!M L!M 1( 1( 1( 1( 1( 1( 1( 1( 1( 1( 1! bYC)<B),C54!(' />Z/;H$&C),03)X$-:2)12:>&)!9:' 6!4D$&),0i/#`' #)@g46@$i#%IGT B)@>&07' 07%#:>&),+ ' 4B+ ).503' #6,)X4#-V' #546,6,%:>A46@-WI?4,-W4Dkl),6@$7$&C)i>&),03%+ $!L 1! "#?I?4#-E' IE2+ ),IE),#$A4D$&' /#0F$&C) 0(D&1/)ED < 2:>&/6,)!9:%:>&)iR7' + + B)1$&C)10&4IE)X40 0$-$ < .l4#59V$&C) .1/!3D1- < 2:>&/6,)!9:%:>&)ZR7' + +^B)Z$&C) 0&4IE)Q40 E2"-10 < .iB%:$?%#%03%54+J' IE2+ ),IE),#$A4D$&' /#0?I?4,-NB)`4B+ ) $&/Z>&),2:>&),03),#$F03/IE)7' >3>A4D$&' /#54+5#%I[B)@>&0^)@g46@$&+ -G/>8I?4,-<)@g$&),#59X$&C) #%I[B)@>^0d-:0d$&),I $&/i03%22/>3$H03/IE) ' #59</;#/#:T 6,/IE2+ )@g1#%I[B)@>&0,L :²²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ ´µ±Bq®:Âr®:¯S»¯Sº¶º¶¯>¯r@²:Ç7ÀV°±»BÇ:¯SÀ@Ãn½5µ±¸I¸ Á³¯³µ»J°±ÈE¸Iµ±h-Á³¯S»Bºz:ÅR¸I´E²:ºM°°±µ±¯S°±»B½5Ç:ÀV¸I¯EÁ³È-h»Jµ±5¯SÁdºM®:²:¯³Ãn°±´J¯¹V¸IÀV½5Ç:¯lÃYµ±¯SËPº¯³µd°SºMF´E²:°M°±¯Sµ±Ám®:¸I¯rº¶¯³¯mÅ ÈÐ:»E´EÁCÀ:µ±À:¯¯S´Bº±ºÂ : : : ' ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ ; ; ; ' ; ; ; ' ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ ; ; ; ' ; ; ; ' : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ µ±qÁm¸°±¹E®:¯S¯³¯S»EÅ º¶º¶È:¯l¸ eÀ:²:·7°±¯F1´5@ÃnÁmÇ7¯S»B´E½5ÅÒÀ:Ç:FB´B°±Ãnµ±¯S´E´EºÀ:À:°±¸I´B¯mÁ³µ±µ±»BÇ:´EÅ À:°±È¾À ¸IÁ³»BÀ:nÅ´EÈ>À7¸ Â!½5¸ À7¯Sµ±®:ÁmÁm°±°±¯³¯S¯S¸ °»E»Eº¶º¶»B¸¸ °±À:À:·E·7·7Ç:F1FJÃnÃn´E¯³°¼´EÀ@À:Ãnµd´Bº{µ±´E»B´EÀ:°±À:´B¯Y¸Iµ±Á³´EX»B°±À:ůS¸Iº¶È>Á³²P»B½5¯SÅ ¯mÁCÈ ÄÄ À:´EÀ:¸ À7Ám°±¯S»Eº¶¸ À:·7h 9D*<![ : ' !9D*<![ : ' 1 B ]/ ¯³¹V¸Iº¶¯S½ i5Ád®:¯³Ãn¯ q1®:¯S!º¶¯r²:bY°±C¯S½5)<¸I$3Á³>A»J4µ±9:¯S' º]$&' »B/#5°±¯r4+H°±¯' IE@Ç:2¸+ °±),¯SIE½),#µ±´$A4D$&ËP' ¯r/#µ±0i°d»B/À7;Fº¶$&¸ Cµ±),¸ ¹E03)[¯Eh 2:>&)!9:' 6!4D$&),01' # 0 E *L= N K E *L= N G K E *L= K E QL= N G K E QL= K ]' 032:T + ' )1+ 4#K%54K),0i4D>&)1#/$7$3>A4#03' $&' (*)L 1! C' + )W' $G' 0G#/$E4#O)@>3>&/>G$&/`6,/IE254D>&)V' #)@g46@$G#%I[B)@>&0 %03' #K[$&C),03)12:>&)!9:' 6!4D$&),0,.$&C)Z>&),03%+ $&07I?4,-VB)Z%#:>&),+ ' 4B+ )XB),6!4%03)X4 03I?4+ +l' #546,6,%:>A46@-?I?4,-V4Dkl),6@$Y$&C)J>&),03%+ $ :$&C' 0Y' 0),032),6,' 4+ + -V$3>&%)i/; L C),#W' #P9:/%B:$!.6,/#03%+ $J4[#%IE)@>&' 6!4+ 4#54+ -:0d$!L ; 4#59 -10/ < L!M L!M L!M L!M L!M * 6 * 1* = $= Q 6 Q1= O Å ¸ : Ë d ° B » ± ° È : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ Y°±¯mµ±Ç:°±À7ºMµ±®:¯i»BË7º¶´EÅ Ç5µ±¯r¹J»BÅ Ç:¯r´BÂy¸ µdº]»B°±·EÇ:Ãn¯³À@µSh [ : ' Å ¸ : Ë d ° B » ± ° È : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ L!M ! [ ; ' ÅÅ ¸¸ Ë:Ë:°d°d»B»B°±°±ÈȲ:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ E K : - [ ; ' [ > ' ÅÅ ¸¸ Ë:Ë:°d°d»B»B°±°±ÈȲ:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ [ > ' ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ q²:°±®:´E¯S²Pº¶¯³¯i°¶µÀVÈEÇ:F5Ãn°±¯m¯³µ±°±Ç:¸IÁ³°±»BÀ:Å!¸ À:²:· °±¯S½5ƸIÁ³´E»J° µ±¯Sº"Pµ±h¯SVºµr¯³¯>»nÀ:ÀV´BÇ:µ±ÃY¯>ËP»B¯³ËP°]´J¹E´E¯E°Ìh »n²7»B°¶µ±¸IÁmÇ:ÅI»B° +*!$#! *$-# > > >' > ' ' : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ > > q¸I®:º¶¸¯S´Eº¶À¯h ²:>°±´5lÁmº¶¯S®:½5´EÇ:Ç:°±ÅI¯S½º!¸ËPÃn¯Ì²:À:Å ´E¯³ÃnÀ5Ä ¯³³À@¯³µ°±´7ÀVhyÇ:j1ÃYÅ ËP7¯³µ±°¶®:ÄÒ°±µ±¯³®:¯Ì¯³´E²:°±°±¯m´5µ±Ám¸I¯SÁ½5XÇ:¸ À@°±µ±¯S¯³º·E°±¯³¯m°Cµ±e!Ç:½5°±¸À Ä +* ; ; S' Å ¸ : Ë d ° B » ± ° È : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ V ¹ +* ; ; S' Å ¸ : Ë d ° B » ± ° È : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ q»B°±®:·E¯SÇ:º¶Ãn¯Ó²:¯³À@°±´5µdº³Ámh¯S½5Ç:°±¯SºR°±¯mµ±Ç:°±À̵±®:¯Ã»JÐ5¸ ÃYÇ:ã´E°!Ãn¸ À:¸ ÃYÇ:ã´BÂVµ±®:¯³¸ ° ¸ À@µ±¯³·E¯³°dº³hyEE w[ > ³Ø > ̸Iº1 »B À ¸ À@K µ±K ¯³·E¯³° L!L!MM O 9> < ' )"'L* 8 7 *; 9 ;*9 !9 *< BA@A 9;*9 R 8 9 < *A9> BA N= >*9 <D E E = NK =iO HNK L!M !L M N N OO a - $ .)( a &9E- $.)( 1! " ;84#-n4D>&K%IE),#$i' 0i' #)@g46@$!.$&C),#P$&C)1>&),03%+ $ZR7' + +H4+ 03/VB) ' #)@g46@$ %#+ ),030J$&C)X2:>&/6,)!9:%:>&)<6!4#n2:>&/D(*)1$&C54D$J$&C)X' #546,6,%:>A46@-n' 0 #/$Z+ 4D>&K)G),#/%KC`$&/W4Dkl),6@$i$&C)<>&),03%+ $!.lR7C' 6AC`' 0Z2/0303' B+ )G/#+ -`' # %#%03%54+' IE2+ ),IE),#$A4D$&' /#0 AL" ; 7&9E /> ' 0E%03)!9O$&/6,/IE254D>&) #%I[B)@>&0G/;XIE' g:)!9N)@g46@$&#),030,.J4#59N$&C)P#%IE)@>&' 6!4+J(4+ %)P/;1$&C) >&),03%+ $Y6!4##/$B)>&),2:>&),03),#$&)!9?404#?' #)@g46@$Y#%I[B)@>HR7' $&C/%:$Y+ /030 /;Z46,6,%:>A46@-.H$&C),#U$&C)V2:>&/6,)!9:%:>&)VI?4,-Q>&),2/>3$E4`(' /+ 4D$&' /#N/;Z4# ' IE2+ ),IE),#$A4D$&' /#?>&),0d$3>&' 6@$&' /#]L %12D/(D&-E$( 0$-9$&9E$#$-10 E /#12D/ Q K L!M O w[ > ³Ø > r¸IºÀ:´Bµl»BÀ¸ À@µ±¯³·E¯³° B B E %12D/(D&-E$( K E 0$-9$&9E$#$-10 K E /#12D/ K L!M L!M L!M Í]®:¯³°± >¯ > ¸Iº >> F > >i °±»B´EÀ7Ç:½À7½5>¯S ½½5µ±´J¸ ÑRͯ³»B°M°d½:°±º ´E󯳰±> ´7]F ËVÈÆ»Y ÃY> Ç:Å µ±¸ ²:Å >¯Ì´B ÂF > BF > ®7»EºMµ±®:¯iº±»BÃn¯>º¶¸ ·EÀ»Eº > fF7»BÀ7½ > ®7»EºMµ±®:¯iº±»BÃn¯iº¶¸ ·EÀ »Ez:º°±´E> à Bh µ±®:¸IºÓÍM¯]Á³»BÀnÁm´EÀ7ÁmÅ Ç7½5¯µ±®7»JµÓ´E°Ó¸ À@µ±¯³·E¯³°dº M»BÀ7½ Í]¸ µ±® : ' : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ > > QP : ' ² : ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ rÀ:´Bµ1¯ @Ç7»BÅRµ±´ :F > E E E4F E KK Ãnq®:¯³À@¯Sº¶µd¯lº³h ²:°±´5Ám¯S½5Ç:°±¯Sº{°±¯mµ±Ç:°±Àµ±®:¯rº¶Ç:à ´E°M²:°±´5½5Ç7ÁCµM´Bµ±®:¯³¸ °»B°±·EÇ5Ä E KKK E NK L!M L!M E K L!M ²:»EÁC°±µS´Jh¹V¸I½5¯S½Æ»BÅ PÀVÇ:ÃYËP¯³°dº{¸ ÀV¹E´EÅ ¹E¯S½n¸ ÀƵ±®7»Jµ]Ám´EÃn²:Ç5µd»Jµ±¸ ´EÀ¼»B°±¯l¯mÐVÄ E K L!M O E4F NK L!M N 4 / / >/ %12D/(D&-E$( 4 0$-9$&9E$#$-10 ; 4 = 8 4 = 4 E4FK L!M 6 :²²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ ´E²5µ±¸ ´EÀ7»BÅ!²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ ²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ E ´ 5 ² ± µ ¸ E ´ 7 À B » ! Å : ² GϽ5¸ ÑR¸ µ±¯³®°±¯³µÀ7ÍMÁm´t¯M´E´E°°]@ÃnÇ:´E´B°±µ±¯>¸ ¯³»BÀ@°±µy·E´BÇ:Â:Ãnµ±®:¯³¯³À@¸ µd°yº³»BF@°±µ±·E®:Ç:¯SÃnº¶¯>¯³²:À@°±µd´5º³FJÁm¯S»E½5º±º¶Ç:´5°±Ám¯S¸IºM»Jµ±°±¸¯mÀ:µ±·1Ç:°±µ±À¼´1µ±µ±®:®:¯¯ Å´E¯m°]Â3µSÃYhÇ:GÏÅ µ±¸ ¸ µ±²:®tÅ ¸I´EÁ³»JÀ:µ±¯¸ ¹E»B¯r°±·E¸ Ç:ÀVÃn¹E¯³¯³°dÀ@º¶¯ÌµSFf´B®:´Jµ±ÍM®:¯³¯³¹E¸ °1¯³°S»BF³°±µ±·E®:Ç:¯³ÃnÈ>¯³°±À@¯mµ±µSÇ:h °±Àiµ±®:¯»E½:½5¸ µ±¸ ¹E¯ : :' : : :' : 1( = :' : SQ' :' : SQ' E /#12D/ NK 6= E 0$-9$&9E$#$-10 E /#12D/* 6= E 0$-9$&9E$#$-10V* E /#12D/ 6 =* E 0$-9$&9E$#$-10 E /#12D/* NK 6= NK 6= NK 6 =f* 6 =* NK NK NK E 0$-9$&9E$#$-10V* 6 =* NK E 0$-9$&9E$#$-10V* 6 =* N O O-K L!M L!M L!M L!M L!M L!M L!M L!M L!M 6 = 6 * 6 *1= 6 * 6 * 6 * 6 OO a &9E- $ .)( ÅÅ ¸¸ Ë:Ë:°d°d»B»B°±°±ÈȲ:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ Åq»B¯SÅ ®:»Eͺ¯S»fµtº¶È5¯ÁmºM´E²:À:Ãn°±´E´5ÃnÀ5ÁmÄ[¯S´EÀ:½5À ¯³Ç:·@°±ÃY»J¯Sµ±Ç:ºY¸ ¹EÅ µ±°±¯E¸¯m²:h µ±ÅÇ:¯¼°±ÀδBÂ]µ±®:µ±®:¯¯³¸·E°t°±¯S»B»J°±µ±·E¯SÇ:ºÃnµn¯³ÁmÀ@´EµdÃnº³h<Ãn´EqÀ¾®:¯¼½5¸ °±¹V¯S¸Iº¶º¶Ç:´EÅ°nµY´E¸I°º A > Q' = * > Q' E GD.)#= E GD.)# K *1= -K L!M L!M L!M L!M L!M E $.pV= *1= -K E $.pV= O O *1= -K E $.p K N O a &9E- $ .)( 6 :²²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ µ±Íq®:»E®:¯³º¯S¸ °Ìº¶°±¯r¯³»B²:²:°±°±·E°±¯SÇ:´5º¶ÃnÁm¯³¯SÀ@¯³½5µ±À@Ç:¯Sµ ½Æ°±5¯Sµ±»Eº{®:º{°±¯i¯m»>µ±°±Ç:¯S°d°±º¶»EÀ¼Ç:ÁCÅ µ±µ±µ1¸ ®:´E¸I¯rºlÀÆÀVÁm¸ À¼´EÇ:ÃnÃnÅ ´J²:¯³ÍM°dÇ5»J¯Sµ±ºµ±¯Sµ´E½°µ±»E¯³´E°±º]°]ø ½5Âyº³¯³hÓµ±À:®:q´E¯YÃn®:»B¯Ì¸ °±À7·E½5»JÇ:¯³µ±À:Ãn´E´E°¯³ÃtÀ@´BµÄ µ±¸ À7´n»JËPµ±´E¯ E °1E¸Ih ºl»BÅ Í»fÈ5º²PE ´@º¶H¸ µ±¸ N¹EK¯EK hq®:¯Y½5¯³À:´EL!ÃnM ¸ À7»Jµ±´E°1´B ¸Iº1½5¯m¿7À:¯S½ # * 9>*<-> = ' A9! * !<-> = ' V8 ./ E2-10(/0 Q = E #$-ED/!7&9ED(/0 E Q JNKK L!M E #$-ED/!7&9ED(/0 E - $.)(*+$&9E- $.)( E Q JNKKKJL!M OO ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ ÅIqº¶»Bî:°±·E»B¯S¯Sº¶Å ¯.º¯Sµºµ]²:¸ À@°±¸ À@´5µ±¯³µ±Ám¯³·E¯S·E¯³½5¯³°Ç:°]°±À:¯SÀ:´BºÏ´Bµµl°±ÅIº¶¯m»Bõ±°±Ç:·E»B°±¯³ÅÀ°¯³°Mµ±¸ À@®7µ±µ±®7»B¯³À»B·EÀ ¯³; °d; º³hhh #5( - «i°±°±°±¯m¯m¯mµ±µ±µ±Ç:Ç:Ç:°±°±°±À7À7À7º¾º¼ºMµ±µ±µ±®:®:®:¯¯¯ µ±¸·EÀ@®:¯³µ±¯°¯³·Eµ±»B´¯³Ë7°M;º¶Ám´EF:ÅÅ ´@°±Ç5´Eº¶µ±¯SÇ:¯ºÀ7µ¹J½5»Bµ±¸ ´ÅÀ:Ç:·t; ¯<µ±Í]´B´n®:¯³´@;¹Eº¶¯³h¯ÌÀ»BÍ]Ë7 º¶®:#5´E¯³ Å À Ç5ɵ±; ¯1°±¯m¸I¹Jµ±º]»BÇ:Å®7°±Ç:À7»B¯lźn¸Iͺ{µ±®:»fÀ:ȯ<´BµMËPÁmůmÅI´@»Bµº¶ÍM°±¯S·E¯³º¯³¯³µÆ°ÓÀµ±¸ À@®7µÍMµ±»B¯mÀ´ Ä ¸ À@µ±¯³·E¯³°dº³h "*=> ' 9= ' @ > #5(<-*9 ' > #5*A ' = > ! 9= @> < *9 *A ! /)2E$# >&/%#59:0J$&/?),(*),#P;=/>16,/#03' 0d$&),#6@-PR7' $&Cn$&C)<9:)@T ;4%+ $>&/%#59:' #K[IE/9:)i032),6,' c5)!9VB-E$&C)i" Of5/*4D$&' #K[2/' #$70d$A4#:T 94D>A9lL 1! " ;8$&C)E4D>&K%IE),#$1$&/W/#)E/;Y$&C),03)E2:>&/6,)!9:%:>&),01' 0X' #)@g46@$!. $&C),#E$&C)7>&),03%+ $8R7' + +]4+ 03/[B)J' #)@g46@$!LH" ; 4#V)@g46@$Y(4+ %)J' 0Y#),)!9:)!9l. $&C)7>&),03%+ $03C/%+ 9?B)J2540303)!9E$&/X$&C) &9E- $.)(*+1- $.)( 2:>&/6,)!9:%:>&)L E e//0]* N O = K E .-&1$&9E$G]* N O = K E (012E.1($-Z* N O = K E 0/)2E$#]* N O = K E e//0Z=iO G K E .-&1$&9E$GZ=iO G K E (012E.1($-=iO G K E 0/)2E$#Z=iO G K E 0/)2E$# 8 Q K E 0/)2E$# 8 K L!M L!M L!M L!M L!M L!M L!M L!M L!M L!M * G OO * N OO * N OO * N OO N =iO O N OO =iO O N OO 8 8 !<= 9 >*< *< !<= 9 ]+R ]+R 8 II II O O > Ö:h«@µd»BÀ7½:»B°d½¼²:°±´5Ám¯S½5Ç:°±¯Sº - Ï!' Å ¸ Ë:°d»B°±È²:°±´5Ám¯S½5Ç:°±¯ - °±¯mµ±Ç:°±À7ºlµ±®:¯cC^3 CcC_°d»Jµ±¸ ´EÀ7»BÅÀVÇ:ÃYËP¯³°i½5¸ ÑR¯³°¶Ä ¸cCÀ:^3·<°±m´Ebà µ±®7; »BÀËVÈÉ»BÀ:À:´B´µ±®:Ãn¯³°Ó´E°±°d¯»Jµ±µ±¸ ®7´E»BÀ7À»BÅ5< ÀVhÇ:ÃYj ËP¯³°d° »Jµ± ¸ ´EÀ7¸ »BÅ{ÀVBÇ:ÃY9ËP¯³ °= M»BÀ7¸I½ º B = >X¸ ÀÅ ´JÍM¯SºµÓµ±¯³°±ÃºdeÓ»BÀ7½ 9 B»BÀ7½ = = h q»B°±®V¯]Ç7Ámº ´EÃnB²7ÕÆ»B°d¸Iº>»BË:º¶Å¸ ¯MÃn¸ ²:ÀnÅ ¯³µ±°r®:¸Iµ±ºÓ®7´E»B°dÀ½5¯³Ô °±E¸ À:ÙV·nhtXj1Ám´EÅ µ±À7®:º¶´E¸IÇ:½5·E¯³°®À:E´BÙ1µi»B»BÀ7Å ½Ó°d»JBµ±ÕE¸ ´EeÀ7»B»BÀVÅIÈ º ¸¯³À@°±µ±Èt¯³°±´B¹Jµ±»B®:Å5¯³Ám°{´E°dÀ@»Jµdµ±»B¸ ´E¸ À7À7ºy»BÅ:»lÀV°dÇ:»JÃYµ±¸ ´EËPÀ7¯³»B°{Å@¸ ÀVÀÇ:µ±ÃY®7»JËPµ{¯³°¸ À@µ±µ±®7¯³»J°±µÓ¹J»B¸IºÓź¶X3µ±¸ Ãn®:¯Ì²:º¶Å ¯³¸ Ãn°µ±²:®7Å ¯³»B°Àt¯³B¹@Õ Ä Å²:¸ ¯SÅ ¯SºÌºµ1ËP¯m°dµ»JÍMµ±¸ ¯³´E¯³À7À »BÅR´BEÂÓÙn»B»BÅ ÒÀ7h ½ BÕEeCh>v1´Bµ±¯Yµ±®7»Jµ B i¸Iºlµ±®:¯nº¶¸ ÃtÄ 8 L/ 8 E 0(D&1/)ED$& E &9E- $.)(*+1- $.)(O = K E 0(D&1/)ED$& - O = 6 Q 6 O-K / < O-KHL!M L!M 6Q 6 6 Q1= & ' ' 8 7 < *< #< *< < !=B9 < *9 >*9 *< 5B 6 # 8 N=<> < / a - $ .)( a - $ .)( a &9E- $.)( ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ ' ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ ' ' ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ ': ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ :' ': ²:°±´5Ám¯S½5Ç:°±¯ <$; ' qº¶Ç:®:²:¯S²Pº¶´E¯°¶µd²:º°±´5·EÁm¯³¯SÀ:½5¯³Ç:°d°±»B¯SÅ̺°±»B¯S°±»B¯År²7ÀVÇ:»B°¶ÃYµËP´B¯³Âr°dº ¯³>¹E¯³µ±°±®:Èί³È¸ ÃnÁm²:´EÃnÅ ¯³Ãn²:Ç5¯³µ±À@¯µd»Jµ±µ±®:¸ ´E¯ÉÀ¾Ç7µ±º¶®7Ç7»J»Bµ Å µ±»B°d°±»B¸ µ±À7®:º±Ã Ám¯³À7´B½5 ¯³À@: µd»BXÅ{À:´BÂÇ:µÀ7µ±ÁC®:µ±¯É¸ ´EÀ7Ë7º³»Eh º¶¯:µ±¯³ À£Ám´EÅ ´EÃn·@»B²:°±Ç5¸ µ±µ±¯S®:ºYÃƵ±eC®:h ¯À7»Jµ±Ç:!°dF »BÅM-Å ´E ·B5Ä F »B»BÀ7°dÁC½ µd»B-À: ·E¯³À@µÁm´EX3Ãnµd»B²:À Ç5 µ± ¯teCF»B°±°d¯SÁ³º¶º¶²P¸ À:¯S¯¼ÁCµ±X¸ º¶¹E¸ ¯³ÀÅ ÈEht eCqF!®:»B°d¯tÁ³ÁmµÍM´@º¶´B¸ ÄaÀ:»B¯Æ°±·EXÇ:Ám´@Ãnº ¯³ À@ µleCF!¹J»B»BÀ7°±¸½ Ä »BXº¶À@¯³µ{¯´BËP ¯³-Å ´JÍlneCFÁm´E¯³Ãn¹E¯³²:À-Ç5µ±¸ À¾¯Sº ¸ Ãn ²:Å ¯³Ãn¯³À@+µd* »J-µ±,¸ ´EÀ7ºYµ±®7»J µÆ½5 ´E# À× µº¶Ç:; ²:²P< ´E'°¶'µ ·E¯³À:¯³°d»BÅ!Ám´EÃn²:Å ¯mÐÀVÇ:ÃYËP¯³°dº³h waÁmÀ«´@º¶¸·EÀ:¯³¯EÀ:FR¯³»B°d»BÀ7ÅÒ½<Fµ±»B®:°dÁC¯µd»BÃÀ:»J·Eµ±¯³®:À@¯³µÌûB»J°±µ±¯i¸IÁ³ÃY»BÇ:ÅŠµ±Ç:¸ ²:À7Å ÁCȵ±¸ ½5´EÀ7¯m¿7ºÀ:Å ¯S´E½!·7hrFMq»B°d®:Á³¯Yº¶¸ ¹JÀ:»B¯EÅFMÇ:»B¯Y°d´BÁCÄ µ±Å½5´E®:¯m· ¯Ì¿7:À:°d»B¯S¸I½!À:ºl·Eh½5¯]¯mGÏ¿7°±À:¸´Eµ±¯SîɽŠµ±´E´·<-ËP½5X¯>¯m¯mÐ:¿7µ±®:ÁmÀ:ůi¯SÇ7½º¶´E¸ À:¹Eµ±¯>®:¯fey¸IÍ]ºrµ±®:´Í´@»f-º¶ÈE¯>F!X¸¸ µ±À7î:Ám»B¯nÅ Ç7·E¹Jº¶¸ À7¸»B¹EÅ»B¯fÇ:°±eC¯SÈÆhÓºr²7Å ´B´E»BÂ]· °¶µ1º¶i¸ ÅÀ ¸I¸ º{¯S º1Ç: À5¸: À Ä F ÁÃYm´@Ç:º Å : Fr»BÀ7½Ïµd»BÀ : »B°±¯»EÁ³Ám´E°d½5¸ À:·Îµ±´-µ±®:¯Â´EÅ ´JÍ]¸ À:·Î´E°¶Ä º¶¸ À : B 2 Å ´E·PX 2 : : e m Á @ ´ º : B ɺ¶¸ À : µd»BÀ : B XÅ ´E·PX 2 : e Å ´E·PX 2 : e¶e 5X 2 e qÁm¸ µ±®:¯S¯º »BËP´JB¹E°±¯ ¯m¯³º¶°²Pµ±¯S´1Ámµ±¸ ¿P®:Á³¯S»Jº¶¯µ±¸ º¶´E´EÀÇ:°dÁm´E¯SźR´J´EÍ1°º Ãn´E°±Ù¯M½5F(¯mµdÍ]»B¸®:Å ¸I¯SÁd½i® ½5¸I¸º±ÀÁmÇ7º±µ±º¶Ç:¸ ´E°±ÀÀ ´B´BÂ{ÂlË:µ±®:°d»B¯SÀ7º¶¯¼Ád®ÂÇ:ÁmÀ7Ç5ÁCµdµ±º³¸ FR´EÀ7ËPº³´EhÎÇ:À7GϽ:»B®:°±¯³ÈÀ¾Ám´E¸ µÀ7½5¸Iºt¸ µ±²P¸ ´E´@À7º±º³º¶F!¸ Ë:»BÅ À7¯¼½<µ±®:¸ Ãn¯Sº¶²:¯Å ¯³²:Ãn°±´5¯³ÁmÀ@¯Sµd½5»JÇ:µ±¸ °±´E¯SÀ º ²:°±´5½5Ç7Ám¯>»n°±¯S»BÅR°±¯Sº¶Ç:Å µ]°±´Eût°±¯S»BÅ»B°±·EÇ:Ãn¯³À@µSh 9D : =: : 7 : - : * < : <7 <- <-* < <-* < a &9E- $ .)( 6 Q1= # Ô /]¯³¹V¸Iº¶¯S½ i5Ád®:¯³Ãn¯ ! : ' : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ 3 Z Î@ E y P y ¯³¸/]ø µ±¯m®:»Bµ±Ç:·E¯³°¸°±À7À7²P»Bº´@°±µ±Èº¶®:¸ µ±¯²7¸ ¹E»B²:¯°¶°±µS¸°±hÀ7¯SÁm»B¸ Å:²7²7»B»BÅ5°¶º µS@FBÇ7´E»B° °±¯M³¯³°±°±´V´r´B°±µy¯S´B»B Å5: ²7hy»B°¶qµ{®:»B¯À7°±½t¯Sº¶À:Ç:´EÅ À5µyÄ[Í]À:¸¯³Å ·@5»J®7µ±»f¸ ¹E¹E¯¯ # * ! S' ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ # * ! SÉb±E\J^ ' .0/!1 2 ; Y à F Ç7*º/!µr1 ËP2 ; ¯n»B½5À¯m»B¯mÇ:Ð:Å»EµdÁCºtµÌµ±¸ ´ À@µ±¯³:·E¯³h¾°SFRq¯³®:¸ µ±¯®:¯³²:° °±´5ÁmF ¯S½5FÇ:°±¯`:FR ´E# °* SÖ:!hrw[ : : ' : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ E ´ n à ¸ ¶ µ ± µ S ¯ ! ½ /]¯mµ±Ç:°±À7º : l°d»B¸Iº¶¯S½Æµ±´tµ±®:¯>²P´JÍM¯³° : Bhz:´E° : B >µd» E¯Sº»>ÀVÇ:ÃYËP¯³°M»BÀ7½»>°d»E½5¸ Ðn»BÀ7½n°±¯mµ±Ç:°±À7º{»Eº»iºµ±°±¸ À:· B » ÀY½5¯m¸ ÐÐVµ±º¶¯³Ç7°±À7Ád®¼B» ÅV±µ °±®7¯³»J²:µ °±¯Sº¶¯³À@µd»Jµ±¸ ´EÀi´BÂ:µ±®:¯·E¸ ¹E¯³ÀiÀVÇ:ÃYËP¯³°Ó¸ Àiµ±®:¯·E¸ ¹E¯³À : B d ° E » ¸Iº r¸  : B n»BÀ7½ t´Bµ±®:¯³°±Í]¸Iº¶¯Eh E EE 7$8:9*2!;<35 K4K67 K E +* -, # : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ E ; ; -' E E +* -, ! ' : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ ; ; K : ' : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ KKK * :! : ' : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ +* : # : ' ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ ¸Iºrµ±°±Ç:¯Ehw[µi¸Iº>»BÀ¯³°±°±´E°r¸ ÂÀ:´²P´@º±º¶¸ Ë:Å ¯n°±¯Sº¶Ç:Å µ>û E¯SºÌµ±®:¸Iº>¯mÐVÄ : ' qº¶Ç:®:²:¯S²Pº¶´E¯°¶µd²:ºt°±´5·EÁm¯³¯SÀ:½5¯³Ç:°d°±»B¯SźnÁm»B´E°±Ãn¯²:²7Å ¯m»BÐ-°¶µÆÀV´BÇ:ÂrÃY¯³ËP¹E¯³¯³°d°±º³È h¾¸ VÃnÇ:²:²:Å ²P¯³Ãn´@º¶¯³¯ À@µd; »Jfµ±F ¸ ´E; À«EF µ±®7;»J µ F ²:w[ °±¯S: º±º¶¸I¸ºi´EÀ¼¸ À:µ±¯m°±Ð:Ç:»E¯EÁCh µSFµ±®:¯¼°d»E½5¸ иIº :Fy»BÀ7½µ±®:¯¼»BËP´J¹E¯¯mÐ5²:°±¯Sº±º¶¸ ´EÀ µ±»B®7À7»J½ µ ; »B°±¯i°±¯S»BÅÀV:Ç:ÃYB ËP; ¯³°dºÌ »B;À7½ 2 : B ¸IºÌ;»Æ Ám ´E2 Ãn; ²:Å ¯mÐÀVÇ:ÃYËP¯³°rº¶Ç7Ád® µ±Ç7Á³®:»Bº¶¯³¸ÀÀ:À·lËPµ±¯tµ±®:®:º±¯n¯»J°±µ±Ãn¯S¸Iºº¶¸ ¿7À:Ç:¯S¸Å ÃYµi½Ç:ÁmËV´Eà ÈÀ@µd»ÀV»BÇ:¸°±À7ÃY¯Sºrº¶ËPÇ:»¯³Å µ1°½5´Bµ±¯S®7ÂRÁm»J½5¸ õ̸ ·EÁm»B¸ ´EµdÅyºÀ@²PµdX´E»B¯m¸Ð:¸ À@À7ÁmµYºlÅ Ç7»B»Æº¶À7¸ ½5¹E½<¯{¯SÁm¸I´Bºr¸ Â7ïm¯mÐ5»BÐ5Ų:²P°±²P´E¯S´EÀ:º±¸º¶¯³À@¯SÀ@µS½ µ F B » 7 À < ½ ± µ d ° B » ¸ Å ¸ : À · ³ ³ ¯ ± ° V ´ S ¯ d º 1 e : À ³ ¯ S ¯ 5 ½ S ¯ < ½ ± µ ´ à » E Y ¯ ± µ : ® n ¯ B » P Ë J ´ E ¹ t ¯ m ¯ 5 Ð : ² ± ° S ¯ ± º ¶ º ¸ E ´ À q®:¯³À E ± µ ± ° : Ç ¯ E F Õ E B ´ ± µ : ® ³ ¯ ± ° ] Í I ¸ ¶ º { ¯ ± µ : ® ¯  E ´ ± ° à J » y µ B ´ 7  ± µ : ® ¯ ± ° S ¯ ¶ º : Ç Å Ó µ I ¸ y º : Ç 7 À ¶ º P ² S ¯ m Á ¸ 7 ¿ S ¯ ! ½ h K L!M E L!M K qÐ5®:²:¯lÅ ¸I°±Ám¯S¸ µ1º¶Ç:°dÅ »EµM½5°±¸ ¯mмµ±Ç:²:°±°±À:¯m¿:¯S½Ð!h ËVÈV # * ! ÌÀ:¯³¹E¯³°MÁm´EÀ@µd»B¸ À7º{»BÀ E -K L!M m ¯ E -K L!M B> M M M 3 9D TS =S #[ S@ ( S@ [ S@ !9> 7 @> !9> 7 @> / / ? L < *9 < *9 >*9@<= < < i < !=B9 (/ >*9 *< =B<> !<> !<> *A9 @> / 1-1( N=B< > E2"-10 0#D& -1%, < E2"-10 ')(0D&9E$G*+)E2"-10 / " -/ !9> E2"-10*+$')(0D&9E$GE2"-10 0#D& 0#D& E/ L8 > -$*0$-.)()E$G12D0 > -$*)3D/0 0$-$*)3D0( &pG*)3D0( E G1E&)(12$#$- -K E )E$G1- K Í]¸ À@®:µ±¯³¯³·E°±¯¯³° > h ;(' *)+ , !9> 7 @> -Í]¸ µ±® L!M L!M !"$#% & ;(' *)+ , B ; > ´E°rº¶´EÃn¯ ! @ G1E&)(12$#$- ' 0P$&C)Q0&4IE)U40 )"' ;=/>Q4O>&)!4+<4D>&K%:T IE),#$!.B%:$ )"' I[%0d$YB)J2:>&),03),#$' #W4+ +l' IE2+ ),IE),#$A4D$&' /#0,.R7C)@>&)!40 G1E&)(12$#$- #),)!9Q/#+ -`B)G2:>&),03),#$X' #' IE2+ ),IE),#$A4D$&' /#0i$&C54D$X03%2:T 2/>3$JK),#)@>A4+]6,/IE2+ )@gV#%I[B)@>&0,L 9D*<!! 9D*< : ' ! 9D*<!B9D*< : ' *<!! 9D*< : :²²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ qÁ³»B®:Å ¯tÈn¹JÁm»BÅ ´@Å Ç:º¶¯Y¯Sº°±µ{¯mµ±µ±´iÇ:°±µ±À:É®:¯S¯Ì°±½¯m»Bµ±¸I°±Ç:ºl·E°±Ç:µ±À7®:Ãnº¯t¯³»BÀ@¸ À:ÀHµS¯mhÐ:¸ w[À:»E¯mÁC»BÐ:µÌÀÆ»EÀVÁC¯mÇ:µÐ:ÃY»E°±ËP¯³ÁCµ²:¯³°±°l»B¯S°±µ±º¶·E®7¯³Ç:À@»JÃnµdµr»J¯³¸Iµ±ºlÀ@¸ ´Eµ{ÀVÀÏÇ:®7Ãn»E´BºÂ ¯³À:°±¸ ´ Ä h °±¸ Ãn¯S»E²:º¶Å´E¯³À7Ãn»B¯³Ë:À@Å ÈƵd»JÁmµ±Å¸ ´@´Eº¶À¯>°±¸ ¯SÀ:º¯mµ±Ð:°±¸I»EÁCÁCµ±µ1¸ ´E¯ À¼@Ç:ø ¹J»f»BÈÆÅ ¯³ËPÀ@¯>µSF5°±¯³µ±®:²P¯³´EÀ<°¶µ±¯S»n½!¹Vh ¸ ´EÅI»Jµ±¸ ´EÀ´BÂÓ»BÀ ¹J¯S- º»B µiÅ Ç:µ±¯{´°±¯mµ±!®:µ±Ç:¯¼°±À:»B¯S°±·E½>Ç:¸IÃnº1µ±¯³°±®:À@¯m¯Mµ±µSÇ:hƯm°±Ð:w[À7»EÂ1ºyÁC»Bµ»BÀÉÀtÀVÇ:¸¯mÀ:ÃYÐ:¯m»EËPÐ:ÁC¯³»EµÓ°ÁC°±µtµ±¯³®7²:»B»J°±°±µy¯S·Eº¶¸IÇ:º¯³ÃnÀ@ÀVµdÇ:¯³»JÀ@Ãnµ±µ>¸ ¯³´E®7°±ÀY¸I»EÁ³´Bº>»B ŠÀ:: È>´hyÁmq°±Å ¯S´@®:»Jº¯ ÄÄ ²:º¶q´EÅ ®:¯³À7Ãn¯S»Bº¶Ë:¯³¯ÌÅÀ@È<²:µd°±»JÁm´5µ±Å ¸Ám´@´E¯Sº¶À½5¯tÇ:°±¯m°±¯SÐ:¯Sº»EºMµ±ÁC°±¸ ¸IµrÃnÁCµ±¯ ²:¸ @´EÅ Ç:¯³ÀÃn¸ ¹JûB¯³À@Å»f¯³µÈÆÀ@µ±µSËP®:F!¯>¯rµ±®:°±À7¯³¯³»J²PÀɵ±´EÇ:»°¶°dµ±»B¯S¹VÅR½!¸ ´E´Eh ÅIÀ:»J¯mµ±ÄÒ¸ µ±´E´BÀÄ[´E´BÀ:ÂM¯Ì»BÁmÀ´E°±¸ Ãt°±¯mÄÄ º¶»B²PÀ´E¸À7Ãn½5²:¯³À7Å ¯³ÁmÃn¯i¯³ËPÀ@¯mµdµ»JÍMµ±¸¯³´E¯³À5ÀÄa½5¯m¯³Ð:²P»E¯³ÁCÀ7µl½5»B¯³À7À@½µ1¸°dÀ:»B¯mÀ:Ð:·E»E¯EÁChµ1V¸ ¯³À@¯>µ±¯³º¶·E¯S¯³ÁC°dµ±º¸ ´Eµ±À®:°±Ö:´Eh Ç:·Eh ®:h ´EÇ5µ !9D*< #8 B9D*< 8 1! bYC)X)@>3>&/>i6!403)<6!4#n/6,6,%:>i/#+ -VR7C),# ' 0J#/$Z4G6,/IE2+ )@g #%I[B)@>V/>P' 0n4 6,/IE2+ )@gh#%I[B)@>ER7' $&C 4O#/#:T>A4D$&' /#54+i>&)!4+1/> ' I?4K' #54D>3-W254D>3$!L !h" ; ' 04#<' #)@g46@$#%I[B)@>]>&),2:>&),03),#$&)!9X%03' #K7f5/#%IE0,. 4#59[$&C)Y>A49:' gG' >0 =?.*$&C),#[$&C)J4B/D(*))@g:2:>&),0303' /#?' 0F#/>&I?4+ + -[0&4D$&' 0dT c5)!9XB-X47>&),03%+ $6,/#$A4' #' #KZ4i9:),6,' I?4+2/' #$!LbYC)8%#032),6,' c5)!9X6!403) 4+ + /!R70J;=/>J' #:c5#' $&' ),0,!. @Z$4 @i0,.4#59W#/#:Tf5/#%I>&),2:>&),03),#$A4D$&' /#0,L HHcCcC_Ò_ÒbCbC^^ «' b±E\J^ ' ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ ¯m¸/]À@Ð5¯mµ±²:µ±¯³°±Ç:·E¯S°±¯³º±À7°Sº¶FBº¯S¯³½ »Y¸ µ±ËVÀV®:ÈÉÇ:¯³°ÃYµ±®:ËPF ¯¯³°·EF ´B¸ ¹EÂ:¯³µ±FJÀ®:´E¯r° 3Ã5 S Ö:»J2 h>(Ð5w[A¸ Â!Ãhº¶»BÇ:.0Å ²:Èn/!²:1 Ų:¸ 2 ¯S°±; ½!¯SÁmF ÃY¸I*º¶Ç7¯Ì/!º1 °±µn2 ¯³; ²:ËP°±¸I¯ºÓ¯Sº¶»B»r¯³À-À@½5µd¯m¯m»JÂÐ:µ±»B¸»EÇ:´EÁCÅ À µµ °d3»E5 ½52 ¸ >(ÐtA µ±®7X»J¯EµMh ·7Ãh »fÈtËP¯ÌB!´JB ¹E¯³eC°±hi°±¸Iw[½: ½5*¯³/!Àt1 ËV2 ;È»B¸IºrÀÀ:¯m´BÐ5µi²:Å º¶¸IÇ:Ám¸²:µ²:°dÅ »E¸ ¯S½5½!¸ ÐnFµ±²:®:°±¯³¯mÀ¿:Ðnµ±®:¸ À ¯ À:½5¯m´Bµd»B»JÇ:µ±¸Å ´EµnÀ¼°d»E´E½5°1¸ ÐÉ»n¸IÀVº Ç:ÃY:ËPh¯³w[°S FVµ±3®:5 ¯³2À >(A ¸IºYÀ:´B!µn» # º¶ÈV* À@µd»EiÁCµ±°±¸I¯mÁ³µ±»BÇ:Å °±ÈÀ7º ¹J»B"PÅ ¸Ih½ @> ! # * @ > ! # * !9> N<O <N O !9> " / q / E ')(0D&9E$G*+)E2"-10 E ')(0D&9E$G*+)E2"-10 E ')(0D&9E$G*+)E2"-10 E ')(0D&9E$G*+)E2"-10 6 q L @> OO K O O 6 -K 6 - K 6 G K 6 6 L!M L!M L!M L!M !9> 6 OO G 6 OO O O 6 G OO O O 1! bYC)W9:/I?4' # /; ')(0D&9E$G*+)E2"-10 I?4,-B)E>&),0d$3>&' 6@$&)!9 B' IE2+ ),IE),#$A4D$&' /#0F' #E$&C);=/+ + /!R7' #K<R4,-:0,LDC (0D&9E$G*+)E2"-10 ' 082)@>3T IE' $3$&)!9?$&/[>&)@$&%:>&# 1e R7C),#),(*)@F> EG 7$; H 6,/#$A4' #0J4#P)@g:2+ ' 6,' $7>A49:' g 2:>&)@cglL" ;]4+ +#%I[B)@>&0H03%22/>3$&)!9GB-G4#?' IE2+ ),IE),#$A4D$&' /#E4D>&)7>&)!4+. :Ö h@µd»BÀ7½:»B°d½¼²:°±´5Ám¯S½5Ç:°±¯Sº Õ Å ¸ Ë:°d»B°±È²:°±´5Ám¯S½5Ç:°±¯ $&C),# ' 02)@>&IE' $3$&)!9i$&/7>&)@$&%:>&# R7C),#),(*)@> EG 7$; H ! [£`E0!' %03),0H$&C)72/+ 4D>8/>8>&),6@$A4#K%+ 4D>Y#/$A4D$&' /#0H;=/>Y6,/IE2+ )@g[#%I[B)@>&0,L^" ; ! [n°±¯mµ±Ç:°±À7º ¸ Âr`E0¸IºÌ¯³¸ µ±®:¯³° ´E° "»BÀ7½<°±¯mµ±Ç:°±À7º 4+ +H#%I[B)@>&0Z4D>&)[' #$&),K)@>&0,.]$&C),# I?4,-P>&)@$&%:>&# R7C),#),(*)@>E$&C)P; >A46@$&' /#54+i#/$A4D$&' /#h' 0V%03)!9lLj" ;X4+ +J#%I[B)@>&0E4D>&) "´Bµ±®:¯³°±Í]¸Iº¶¯Eh ')(0D&9E$G*+)E2"-10 =B9@< 1e ')(0D&9E$G*+)E2"-10 1e )@g46@$!.$&C),# ')(0D&9E$G*+)E2"-10 I?4,-O>&)@$&%:>&# 1e R7C),#),(*)@>V4#h)@gT 2/#),#$WI?4D> )@>V/>W)@g:2+ ' 6,' $P)@g46@$&#),030V2:>&)@cgh' 0V%03)!9l.J/>P' ;[4 422)!4D>&0J' #P2+ 46,)X/;84G9:' K' $!L" ;H4+ +^' #)@g46@$J#%I[B)@>&074D>&)X' #$&),K)@>&0,. $&C),# ')(0D&9E$G*+)E2"-10 I?4,-E>&)@$&%:>&# 1e R7C),#),(*)@>74G9:),6,' I?4+l2/' #$ ' 07%03)!9lL Û ÀVq»EÁCÇ:®:µ±Ãn¸I¯³ºy°d¯³º³º¶°±¯SF:¸IÁnÁCºµ±µ±½:¸°±´E¸»JÀ:Ànµd·@»¼½5º¯Sµ»Bº±ÈVÁmÀ7²P°±½¯S¸ ËPº ¹Er¯S¯SºÁCËP´Eµ±´V´E²P´E°d¯³Åº³°d¯Sh»J»Bµ±À7¸ ´Eº³FÀ7²7º»B´E¸Àt°dº³º¶F´EÅÃn¸Iº¯Mµdº³´BFÂRº¶5ÈVÁdÃY®:ËP¯³Ãn´EÅI¯Eº³×FºÁdÀ:®7´E»BÀ5°¶ÄÄ ¢ V q»Eº ®:¯]Yºµd»B»BÀ7À7½ ½:»B°d"P½>hËPGÏ´V®7´E»JÅ ¯Sµ»B°±ÀY¯S»B´EÅË È>¯SÃÁCµd»Jºµ¶Âµ±´E¯³°°dº³µ±°±FJÇ:µ±®:¯]´E»BÇ:À7·E½>®ÂFE»B»BÅIº¶°±¯¯{»Bµ±®:°±¯M¯Í]´EË °±¸µ¶¯Sµ±ÁC¯³µdÀ º µ± ®7R»JF µµ±V®:e1¯µ±°±5¯SÁd»J®:µY¯³»EÃnºr¯µ±°±ÁmÇ:´E¯À7½5´E¸ °rµ±¸ ´E»BÀ7ÅI»Bº¶¯EÅ1h¼¯mÐ5q²:®:°±¯¯Sº±²:º¶¸®:´E°dÀ7»Eºº¶¯ X ±"P»¼F µ±-°±Ç:¯P¹JF »BÅ Ç: ¯ PF µ±¹JX´E°±»BÇ:°Å Ç:¯º¶¯ ËV´EnÈ>ÃnXµ±´E¯m®:°µ±¯]¸ ÃnÁm»B¯S´EºÅIÀ7º¶½5¯ @Ç7¸ µ±eº¸ µ´EÃnÀ7¯S»Bµ±»BÅ5°±À7¯mÇ:ºÓÐ5¯ ²:»B@ÀV°±en¯SÈ>Ãnº±º¶´E¸¯SË´E»BÀ7À7¯Sº³ÁCº¼FJµÓ»B»Bµ±À7ÀV°±½i¯SÈ-»Jµ±µ±´E®:¯SË ¯]½t²:¯S»EÁC®:ºµÆ°d»E»Bµ±º¶°±ÅI¯º¶¯S¯»J±µ±ËV»1¯SÈ>½H»Bµ±ÅI®:»Eº¶¯¯º Ám´EÀ7½5¸ µ±¸ ´EÀ7»BÅ!¯mÐ5²:°±¯Sº±º¶¸ ´EÀ7º³h ¸51À.ÁdÂy®:Ám»B¯³´EÅÃn!À7µ±¯½5®:¸ µ±¹J¯i¸ »B´EºÅ À7µdÇ:»B»B¯SÀ7Å>º³½:F{¯m»B¸Ð5À7°d²:½Ám°±Å ¯SÇ75º±½5Ádº¶®:¸ ¸ À:´E¯³·À7Ãnº³¯rhR¹JF{»B|ÓŲ7Ð:Ç:»BÁm¯S¸¯³º³°d²5F:º³µ´EFÓÀ:µ±ÂÅ®:´EÈ ¯° ¯³"Ãn"PÁmF>²5´Eµ»BÇ:ÈÎÅ À@iµdÅ ¸Iº]ººµdµS»E»BFMºMÀ7º¶½:ÂÈV»B»BÃtÅI°dº¶½¯Ä µ±ËP°±´EÇ:ÅI¯Eº³Fh ÀVÇ:ÃYËP¯³°dº³Fyºµ±°±¸ À:·@º³F¹E¯SÁCµ±´E°dº³F»BÀ7½É²:°±´5Ám¯S½5Ç:°±¯Sº³FÁm´EÇ:À@µY»Eº )* &3D& ) 4^ #+ G'7)' CB MPOM NM J= A j > 7A L V0 . . V0 V0 . *A &< *A V0 . 1! \>&/K>A4IEIE)@>&046,6,%0d$&/IE)!9 $&/j/$&C)@> 9:' 4+ ),6@$&0/;]' 032 03C/%+ 9hB)4,R4D>&)`$&C54D$`_6AC),IE)`9:' 0d$&' #K%' 03C),0WB/$&C 1e 4#59$&C) ),IE2:$-?+ ' 0d$ ; >&/I $&C)Z0d-:I[B/+ E&1 L :ÀM¯³´V¯S´E½¼Å ¯Sµ±»B´nÀËPÁm¯ ´EÀ7@ºÇ:µd´B»Bµ±À@¯Sµd½ºÌ¸ ¯³À¹J»B²:Å °±Ç7´E»J·Eµ±°d¯Y»Bõ±´¼º³hµ±®:¯³Ãº¶¯³Å ¹E¯Sº³Fº¶´¼µ±®:¯³È½5´À:´Bµ % 1( 1e 1e L!M L!M L!M 1( 1e 1e +`E Å ¸ Ë:°d»B°±È²:°±´5Ám¯S½5Ç:°±¯ °±¯mµ±Ç:°±À7º Ƹ Â1`E ƸIºÂ»BÅIº¶¯EF:»BÀ7½¼°±¯mµ±Ç:°±À7º "´Bµ±®:¯³°±Í]¸Iº¶¯Eh !- 0!' 0 - E ED/(1( K E ED/(= K E ED/( E $&')(= KK E ED/(1e K E ED/( EWKK E ED/( E $&')( KK E ED/( hE&1 K L!M L!M L!M L!M L!M L!M L!M 1e 1e 1e 1( 1e 1e 1e =B9@< E "D//1-$)E < 1 e E "D//1-$)E < E "D//1-$)E < O-K K EWKK L!M L!M L!M 1( 1e 1e 3 l Í]°±j ¯S¸ »E7µ±º¶®<J´E^3À7µbMÍMºdXeCº¶´h´E¿7ÃnxÓ¯³¯mÅI»Bµ±½:¸ ¸ °dºÌÃnºiÁ³¯S»B»Bº°±Å Á³¯¼¯S»B½ÁmÅ °±¯Sµ±¯S½i®:»J¯tµ±»t¯SÁ³½\E»B`J°ÌËV_ÒaÈ»BdÀ7\ µ±½<®:7¯¼JÁ³^3½5b¶²:°1e°±´5¸I¿7ºyÁm¯³»1¯SÅI½:½5°±ºnÇ:¯S°±ÁmX3¯´E´E°d-°l½>®:º µ±¸I5º°±µ±Ç7h´EÁC°±µ±q¸IÇ:Á³®:°±»B¯¯ Å Á³ »B°ÌRhy»BÀ7q½®:¯ÌÁ³½5Á³°1»B°M¿7¯³»BÅIÀ7½:½ÆºlÁ³»B½5°±°{¯i¿7»E¯³Á³ÅIÁm½:¯SºMº±º¶»B¯S°±½¯lËV»Eȼº±º¶¸µ±·E®:À:¯Y¯S²:½t°±ËV´5ÈtÁm¯Sµ±½5®:Ç:¯l°±¯S²:º°±´5 Ám¯S½5Ç:»B°±À7¯S½ º -! Ó»BÀ7½ -! dh xÓ½5¯m»B¿7¸ °dÀ:º>¯S½Æ»B°±°±¯¯SÁmÇ7Ç:º¶°d¯Sº¶½É¸ ¹E²:¯³°±Å Èt¸ ûE»Bº{°±¯³¸ Ÿ È<µ±®:µ±¯³´<°{µ±°±®:¯³¯Ì²:°±¯³¯SÃnº¶¯³²5À@µµiÈnŠŸI¸Iººµdµº³h´E°Mj(»iŲ7¸Iº»Bµt¸ °MÁ³Í]»BÀ®:´@ËPº¶¯¯ µ±Á³®:½5¯i°Yº¶¸Iºiû»BÅ Å ¯S¸IººµSµ1hº¶¯mµ´E °±¯º¶²:Ç7°±Ád¯S®¼Ám¸Iµ±º¶®7¯³»JÅ ÈEµ Fµ±®:¯¼º¶¯mµY´BÂ]Å ¸Iºµdºi¸IºY½5¯m¿7À:¯S½ »Eº q®:¯>¯³Ãn²5µÈ¼Å ¸Iºµ1¸Iº¸ À h w[^I cC_^IcC¸Iº1_1»B¸IºlÅIº¶¸´tÀ ¸ ÀFPµ±h®:¯³À»BÀVȲ7»B¸ °lÍ]®:´@º¶¯YÁ³½5°l¿7¯³ÅI½<Ám´EÀ@µd»B¸ À7º µ±¸IqºÌ®:®:¯¼»n¯l¯³²7´EÅ »B˯³¸Ãn°l¯S¯³ÁCÍ]À@µd®:º{µdºi´@¸ Àº¶´B¯YÂ]µ±®:Á³µ±»B¯Ì®:°1¯ÆÁ³¸I»Bº]Å °¸Iºµ±¿7µS®:h¯³¯iÅI½:z:¿7º{´E°dº°Y´Bµl¯m¯³º¶Ð:Ç7Å »B¯³Á³ÃnÃnÁm¯S¯³²:º±À@Å º¶¯Eµr¸ FÓ¹E»B¯1»À7²7½µ»BÍM¸Í]°d´Bº®:Ä[¯³´@´BÅ º¶Â¯³¯iÃn»>Á³¯³Å ½5¸IÀ@º°lµiµ¸IÅ»BºÌ¸I°±º»¯µ ²7¯³Ãn»B¸ ²5°1µÍ]ȼ®:Å ¸I´@ºº¶µS¯>hÁ³q»B®:°]¯r¸IºÅ ¯³µ±À:®:·B¯iµ±®º¶¯S´BÁm´EÂyÀ7»n½Å ¸I¯³ºÅµ]¯³Ãn¸Iº¯³µ±À@®:µl¯>»BÀVÀ7Ç:½ÃYÍ]ËP®:¯³°]´@º¶´B¯>ÂÁ³¯³½5Å ¯³°1Ãn¸Iº¯³À@µ±µd®:º³¯ F Í]®:¸IÁd®¸IºMµ±®:¯iº±»BÃn¯>»EºMµ±®:¯>ÀVÇ:ÃYËP¯³°1´B²7»B¸ °dº³h q»t®:²7¯r»B¸ ¯³°CÃne :²5¸ µ1µÈ®7Å»E¸IººµÀ:¸I´nº]¯³»YÅ ¯³º¶Ãn²P¯S¯³ÁmÀ@¸I»Bµdº1ÅR´E»BËÀ7½¼¯SÁC¸ µdµº]´BŠ¯³À:¸ µd·BºMµ±´J®Í]¸IÀƺ ³µ¯³ÈV°±²P´7¯nh X¸ µ]¸IºMÀ:´Bµ 1! bYC)`4B/D(*)`9:)@c5#' $&' /#0E' IE2+ - $&C54D$V4+ +i+ ' 0d$&0?C54!(*)Wc5#' $&) + ),#K$&Cn4#59W4D>&)Z$&)@>&IE' #54D$&)!9VB-?$&C)Z),IE2:$-?+ ' 0d$!L q5Ád®:®:¯ ¯³ÃnÃn¯r´@²7ºµ»B¸ ·E°dº{¯³À:¸IºM¯³°dµ±»B®:År¯ À:±´B½5µd´B»Jµ¶µ±µ±¸ ¯S´E½ À YXÀ:¯m´BÐVµdµ±»J¯³µ±°±¸À7´E»BÀ Å> °±¯³²:°±¯Sº¶¯³WÀ@ µd'i»Jµ±Í]¸ ´E®:ÀP¯³°±e¯Â´E ° ¿7¸IÍ]ºÌ¯³®:ÅIµ±´@½!®:º¶hɯt¯¹Jz:Á³»B´E½5Å °Y°iÇ:¯n¯m¸IºYÐ:´B»BÕ5ÂÃnhƵ±®:²:v1¯Å ¯ ´BÁ³µ±»B¯tU °lµ±¿7®7¯³»JÅIµ R½' »BU ¸IÀ7ºt½¾»W R t²7'¼»B¸I¸ºl¸I°tºÌµ±Í]®:µ±®:¯n®:¯´@¹Jº¶»B¯m¯¼ÐVÅ Ç:µ±Á³¯t¯³»B°±°Y´BÀ7Â{»B¸IºYÅÓµ±®:°±Ô¯¯³²:»BÁ³°±À7½5¯m½ °Ä ²7º¶¯³»BÀ@¸ °Sµd»Jh µ±¸ ´EÀ´B»²7»B¸ °SFÀ:´BµY»BÀ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ<µ±®7»Jµi¯³¹J»BÅ Ç7»Jµ±¯Sºlµ±´<» ¯³jº¶¯³Å ¯³²7ÃnÃn»B°d¯³´E»JÀ@°±µ±µd¯¯SºM½Éº´Bµ±ÂËV°±¯SÈɵ±»B®:Ãnº¶¯Ì²7ÅÅ »E¸¸IÀ:ºÁmµ]¯S¯Sº³½Ï»Bh<°±¯ÌÀ:q´Bº¶®:µd¸ Ãn»J¯¼µ±²:¸ ¯³´EÅ ÃnÈÀ²5¯³Á³µÀ7»BÈÁmÀHÅ Å´@¸IËPº¶º¯Sµt¯½¸IºYÇ7¸ À¼º¶Í]¯S²7½Ï°±»B¸ µ¶°±Âµ±´E¯³¯³À@°À µ±Å®:¸I º¯S'µdº¶º¯Shº{»Bz:µ±À7®:´E½¯° ¯mÐ:»BÃn²:Å ¯EF E K »BÀ7½ MPOM MRQ *S A (=ZS AC@A ] ] <> AB> 9 9 <> AB> [ [ R FR 8 7 . *0 CB "]. #f- E O E" O E .PO E # O E- O EWKKKKKK Ö /]¯³¹V¸Iº¶¯S½ i5Ád®:¯³Ãn¯ »Bj °±¯rÁd®7¯ »B@¸Ç:À¸ ¹J´B»BÂMÅ ¯³²7À@»Bµ]¸ °dÀ:ºl´BµdÀ:»J´Bµ±µ>¸ ´E¯³À7À7ºM½5¸ ´EÀ:°1·»t¸ ÀÅ ¸Iºµ±µ1®:¯n´BÂy¯³º¶ÃnÈV²5ÃYµËPÈ<´EÅ ÅI¸Iº³ºhµr¸Iº>Á³»BÅ ¯S½»BÀ q¸^3Ãn ®:R²:¯M°±b±Å´E` ¸I7º²PµÓm¯³b»B°]À7Å ¸I½Y^IºcCµd_Ò½5ºh´Bµ¶µ±v1¯S´B½Yµ±¯À:´Bµ±µd®7»J»Jµ±¸µ<´EÀ7»BºÀÁ³»B¸ ÃnÀY²:ËP°±¯´EÁm²P´E¯³ÃY°Ë:Å ¸I¸ ºÀ:µ¯S½>¸Iºµ±´ÌÀ:´B°±¯³µ<²:»-°±¯Sº¶Å ¯³¸IºÀ@µSµ h E K ¸Iº¯ @Ç:¸ ¹J»BÅ ¯³À@µ]µ±´ E E E KKK Gϸ ÀÆ®:µ±®:¯mµ±¯r®:Á³¯³½5°°{»i¿7·E¯³¸ ÅI¹E½!¯³hÓÀGϲ7»B®:¸ ¯³°MÀƸIºMµ±®:»>¯ Å ¸Iºµ]-!½5¯³²P¯³À7½:²º{:°±Ç:´5²PÁm´E¯SÀ¼½5Ç:Í]°±®7¯1»J¸IµMºM¸IÇ7ºMº¶º¯Sµ±½!´EF5°±»B¯SÀ½ ´EË ¯SÁCµ1Á³»BÀËP¯i»tÅ ¸Iºµ1´EÀ:¯rÃn´EÃn¯³À@µ1»BÀ7½À:´Bµµ±®:¯>À:¯mÐVµ ] 1] &R 7J^3b ²:°±´5Ám¯S½5Ç:°±¯ ¸I/]º1¯m»Bµ±ÀÇ:°±¯³À7°±º1°±´Eµ±°M®:¯tµ±´tÁm´Eµd»À@Eµ±¯³¯ÌÀ@µ±µd®:º1¯i´BÁ³Ây»Bµ±°]®:´B¯tÂÁ³µ±»B®:°1¯>¿7¯³¯³ÃnÅI½²5µ´Bȼ 7Å ¸IJºµS^3b5h hlv1´Bµ±¯iµ±®7»JµÌ¸ µ <> ] ' E .10 E "V. KK E .10 EE K "]. # K K E .10 E 6 O KK E .10 EWKK CB "].PO # O " O .PO # J9 E #$-1eD&9E- E $&')( E #$-1eD&9E-fF K F E $&')( < F K E '-1(*$.)#0 H NK E -1%, < F K F E $&')( < F K E '-1(*$.)#0 H K E $&')( < K h" . AB> B KK L!M L!M L!M L!M L!M L!M L!M L!M L!M E "V. E O 1( K 6 E K 3 7J^3b ²:°±´5Ám¯S½5Ç:°±¯ ¸I/]º1¯m»Bµ±ÀÇ:°±¯³À7°±º]°±´Eµ±°M®:¯tµ±´tÁm´Eµd»À@Eµ±¯³¯ÌÀ@µ±µd®:º1¯i´BÁ³Ây½5µ±°]®:¯Y´BÂÁ³µ±½5®:°1¯>¿7¯³¯³ÃnÅI½²5´BµÈÆ 7Å ¸IJºµS^3b5h h1v1´Bµ±¯>µ±®7»JµÌ¸ µ AB> ] ' 7] E .)#0 EE K "]. # K K E .)#0 E 6 O K K E .)#0 EWKK 9-!<> ] 0 9-!<> E #$-1eD&9EE #$-1eD&9EE '-1(*$.10 E '-1(*$.10 NK E O N K 1e @ Y 1( L!M L!M L!M L!M L!M L!M L!M E "]. # K 3 7J^3b-`E0!' ²:°±´5Ám¯S½5Ç:°±¯ @µ±´E°±¯Sºn`E y¸Iº¸ À<Ç:µ±À7®:º¶¯n²P¯SÁ³Ám»B¸ °l¿7¯S¿7½!¯³h ÅI½<´B 7J^3b5hiq®:¯t¹J»BÅ Ç:¯Y°±¯mµ±Ç:°±À:¯S½ËVÈ @ Y 7] ] E e K&E $&')( hED/(**$.1/)E')()E$(*$&')( KK E G K E .1/)E')()E$(*$&')( KK L!M @ Y H Ee K = K L!M 3 H EG K = K GϯSÁC½:¸ µdµ±»Jº®:µ±¸ Ç:°±À ¯SûECŽ¸F µ±¯³ËV°dÈÏ»BÅ«½:µ±»J®:¯mµ±¯ Ð5Ç:²:ð±C¯SFº±º¶Ï¸ ´E»B²:À7À7°±½º+´5Ám»B¯SÀ7½5½*Ç:½:°±¯E»J°±Flµ±¯³Ç:²:µ±Ã°±®:¯S¯É º¶¯³ÂÀ@´E½5µd°±¯³»JÃÀ:µ±´B¸º ´Eµ±À7¯ºÊ½:µÍM´B»Jµ±Â´BÇ:Ä[ï³´EÅ Ë5¯mmÄÄ F Ãn!$# ¯³À@µ!$Å ¸I#!ºµd-º< 7Í]F ®:#5´@º¶¯!$#!¿7-°d ºVµF¯³»BÅ ¯³À7Ãn½ ¯³À@#5µd º!$#!»B-°±¯É µ±®:¯-º¶ÈVÃY ËP´EPÅIFtº °±!$¯S#!º¶-²P¯SÁC7Ä F -! 7J^3b-`E0!' ²:°±´5Ám¯S½5Ç:°±¯ µ±Ám¸´E¹EÀV¯³¹EÅ ÈE¯³hiÀ@µ±q¸ ´E®:Àʯn¸Iº¶º ¯SÁmº¶´EÇ:À7²:½<²P¯³´EÅ°¶¯³µ±Ãn¯S½ ¯³À@º¶µr´¸ Àµ±®7¯S»J»Eµ-Ád®»B°±Á³Ë:»Eº¶¸ µ±¯Y°d»B¸Iº°±Èʽ:5»JÁdµ±®:Ç:¯³ÃÃnC¯«hYq²:°±®:´B¸IºÄ @ µ±-´E!°±¯Sºn`Ey¸0Iº¸ À<Ç:µ±À7®:º¶¯n²P¯SÁ³Ám½5¸ ¿7°l¯S¿7½!¯³h ÅI½´B 7J^3b5hrq®:¯Y¹J»BÅ Ç:¯Y°±¯mµ±Ç:°±À:¯S½ËVÈ µ±·EX´tº¶°d¯³»B5¯ÃÁdº¶®:ºt¯S¯³ÁCÃÃnµ±¸ »f¯E´EÈ ×À ºËP·EÙV°d¯h E»BhÃn°±¯³eCò:ht°±»B¯Sj1°Sº¶FB¯³ÃnÀ@¯³´E¹Eµ±¯SÀ:¯³½-°±·È »E´Bºtµ±¯m®:Ð5Å ¯³¸I²:º°Ì°±µd¯Sº³µ±º±®:h º¶¸ ¸ À:´E·@À qº³F!®7¸Iµ±º{»J®:µ»B¸IÅIºr¸Iº¶º³´i²PF¯³» »E°±ÃnÁ³½:Ám¸´E»Jµd°dµ±ºÌ½5Ç:µ±¸Ã À:®:·¯ 7J^3b' Å ¸ : Ë d ° B » ± ° È : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ 7 J 3 ^ b ' Å ¸ : Ë d ° B » ± ° È : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° Ç7º¶¯Sº¶ÁC¯>µ±¸´B´EÂÀ µ±®:¯h h n²:°±´5Ám¯S½5Ç:°±¯Ìµ±´²7»B°dº¶¯i5Ád®:¯³Ãn¯i²:°±´E·E°d»Bú³hV¯³¯ hh ¯ 77JJ^33^ bb'' ÅÅ ¸¸ Ë:Ë:°d°d»B»B°±°±ÈȲ:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ ![`E 0!' : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ ![Ì°±¯mµ±Ç:°±À7º t¸ Â{`E 0t¸Iº{»>²7»B¸ °SF@»BÀ7½n´Bµ±®:¯³°±Í]¸Iº¶¯1°±¯mµ±Ç:°±À7º "Ph q®:¯Sº¶¯>²:°±´5Ám¯S5½ Ç:°±¯Sº]»B°±¯iÁm´EÃn²P´@º¶¸ µ±¸ ´EÀ7º´B ¼»BÀ7½J RF:Í]®:¯³°±¯ ´E°]¯mÐ:»BÃn²:Å ¯ Ám´EÇ:ÅI½ËP¯i½5¯m¿7À:¯S½¼ËVÈ E E KK L!M E E E K&E E E KKKKK L E E KK L!M E EWKK L!M j1q®:°±Ë:¯³¸°±µ±¯>°d»B»B°±°±È¯ÌµÁmÍM´E¯³ÃnÀ@²PµÈ@´@Ä[º¶¯³¸ µ±¸ ·E¸ ´E®@À7µº³´BFiÂÇ:µ±².®:¯Sº¶µ±¯r´Ï²:°±´E´5Ç:Ám°¯S½5½5Ç:¯³°±¯³¯S²ºFt¸ À»B°±»B¯ÎÅ Òh²:°±´J¹V¸I½5¯S½!h E E KK L!M - `E 0 Ï`E 04' : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ /]Á³½5¯m°Ìµ±Ç:¸Iº°±À7`EºÓ 04»ÌEÀ:h>¯³qÍ]®:Å ÈY¯t»B²7Å »B´5¸ °ÌÁ³»J¸Iµ±ºÌ¯S·E½YÇ7²7»B»B°d¸»B°yÀ@Í]µ±¯³®:¯S´@½º¶¯]µ±´¼Á³»BËP°y¯n¸Iº1½5¸`EÑR 0¯³M°±¯³»BÀ@À7µ½tXÍ]¸ À<®:µ±´@®:º¶¯¯ /] ¯m# µ±Ç:°±À7[º `EÆ0!'¸ Â1`E 0¸Iºµ±®:¯>¯³Ãn²5µÈ¼Å ¸IºµSF:´Bµ±®:¯³°±ÅÍ]¸ Ë:¸Iº¶°d¯Ì»B°±°±È¯mµ±²:Ç:°±°±´5À7Ámº ¯S½5Ç:"P°±h ¯ º¶¯³À7º¶¯r´B ! ![@eÓ°±´Eà ¯³¹E¯³°±ÈƯmÐ5¸Iºµ±¸ À:·n´EË ¯SÁCµSh E EWKK L!M E K ![`E 0!' Å ¸ Ë:°d»B°±È²:°±´5Ám¯S½5Ç:°±¯ E E K E KK L!M EE K K /]¸ ´E¯mµ±ÀÇ:FR°±»BÀ7Å ºÅ¸Inºµdº1¸ ®7`E»f ¹E0n¯r¸Iº¿7À:»i¸ µ±Å ¸I¯YºµSÅ F5¯³À:´Bµ±·B®:µ±®<¯³°±Í]»BÀ7¸Iº¶½¯l»B°±°±¯m¯rµ±Ç:µ±°±¯³À7°±ºÃn¸ À7"P»JhÓµ±M¯S½ÈËV½5ȼ¯m¿7µ±À:®:¸ ¯Ä E E KK L!M E K ± µ E K L!M E K ¯³Ãn²5µÈ¼Å ¸IºµSh E E K K L!M EE K K 1e k >*9@<BA l m !<7 mpo *9 *9 *9 *9 7 N = 7 9 AB> 9 >*9@<BA 8 8 !< ] ] AB> <@<> ] <BAB> ] A@A@A<> ] A@A@A@AB> ] > < > 3D$&)0 3D$&)0 3D$&)0 3D$&)0 < < < < PO " X"V. 1( " 1e #$-1eD&9E-].1##0 1( 1e <> <BA@AB> !"$# .10 .)#0 AB> .)#0 N=@= 9 B; .1/)E' .1/)E' "V. # .1/)E' 9 " . V .1/)E' L= .1/)E' " . "]. # 9 ] " . Oj= " O . = E $&')( < E "V. KK L!M E $&')( < EWKK L!M E $&')( < E O " KK L!M E 1-1( EE E $&')( KKK E '-1(*$.)#0 H K E $&')( < KK L!M :Ö h«@µd»BÀ7½:»B°d½¼²:°±´5Ám¯S½5Ç:°±¯Sº Ù ! " ^IcC_ ? ' Å ¸ : Ë d ° B » ± ° È : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ /]Á³»B¯m°]µ±Ç:´B°±Â À7 ºlµ±®:¯ ! ? µ±®¯³Å ¯³Ãn^IcC¯³_ À@µr? 'V´Bh et^Iw[cCµl_m¸Ih¼º1X»BqÀ®:¯³¸Iºr°±°±¸I´Eºl°µ±¸ ®: ¯n^Iº±cC»B_Ãn®7»E¯nº»Eºl¯³ÍMµ±®:¯³¯° µ±®7»BÀ ? ¯³Å ¯³Ãn¯³À@µdº³h = 1( 1( 1e R >*9 = 1e *<= FR R 7R E $&')(*0$-1e E "V.X# K K L!M E $&')(*0$-1e E "V.X# K E &9E- $.)(*+1- $.)( E 0/)2E$# L!M . +`E Å ¸ Ë:°d»B°±È²:°±´5Ám¯S½5Ç:°±¯ /]¯mµ±Ç:°±À7º]»nÀ:¯³Í]Šȼ»BÅ ´5Á³»Jµ±¯S½¼Å ¸Iºµ1´B¸ µdº1»B°±·EÇ:Ãn¯³À@µdº³h = 0 ' . 6 O I-KKK Ê E ` I ^ C c _ Å ¸ : Ë d ° B » ± ° È : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ + E ` I ^ C c _ Å ¸ : Ë d ° B » ± ° È : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯¯ E K Ê E ` I ^ C c _ Å ¸ : Ë d ° B » ± ° È : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° qº<®:`E¯Sº¶0P¯YFM²:Í]°±´5®:Ám¯³¯S°±½5¯Ç:µ±°±®:¯S¯º1°±º¶¯mÇ:µ±Ë:Ç:Å °±¸IÀºµdºnµ±®:´B¯Y ¿7^I°dcCº_µr»Bº¶Ç:°±¯¼Ë:Å µ±¸Iº®:µÌ¯´BÀ: ´EÀ5^IcCÄ[_l¯³ÃnÍ]²5®:µ´@Èκ¶¯YÅ ¸IÁ³º»Bµd°º ^IcC_Q' Å ¸ : Ë d ° B » ± ° È : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ I ¸ /]¯mµ±Ç:°±À7ºMµ±®:¯>Å ¯³À:·Bµ±®´B ^IcC_mh °±´B¯m µ±Ç:^IcC°±_mÀ:hy¯Sw[½ÂÓËV`EÈ 0Y ½5´V¯Sº!À:´B µ´5Á³ÁmÇ:^I°ycC_H¸ À %('Ì^IcC_³Â´EFJ°µ±®:%n¯³ÀÅ ¯Sº±º"µ±X®7À:»B´BÀµyµ±µ±®:®:¯Ì¯]ů³¯³ÃnÀ:·B²5µ±µ®È E E KK L!M Å I ¸ º C µ r e I ¸ > º ± ° m ¯ ± µ : Ç ± ° : À S ¯ ! ½ h * !Ç7º¶¯Sº ![¼µ±´<Ám´EÃn²7»B°±¯`E 0<Í]¸ µ±®Éµ±®:¯ E E E K&E KKK L!M ³ ¯ Å ³ ¯ n à ³ ¯ @ À d µ ¼ º B ´  I ^ C c ³ _ ] F Í]®:¸ Å ¯ * * -Ç7º¶¯Sº ! ![ »BÀ7½ * * -Ç7º¶¯Sº E EWKK L!M O !$# [:h E E KK L!M E K ^IcC_' Å ¸ : Ë d ° B » ± ° È : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ E E KK L!M E K Â/]´E¯mÅ µ±´JÇ:ÍM°±À7¯S½¼ºËV»ÉÈÅ ¸Iµ±º®:µÆ¯>Ám¯³´EÅ À7¯³Ãnº¶¸Iº¯³µ±À@¸ À:µdº·É´B´BÂÂ̵±®:µ±®:¯>¯´Bµ±¯³®:Å ¯³¯³Ãn° ¯³^IÀ@cCµd_¶ºnº³h ´BÂlµ±®:¯¿7°dºµ ^IcC_ EEE E E E K KKKE E K KKJL!L!MM E $&')( $&')( E4 NK = . K L!M L!M E WE K +* 9 * ! 0&R Q' +* 9 * ; 0&R Q' +* 9 * !9> 0 R Q' K 8 . R =B9 6R 1-E$G(1B 1-E$G(1B 1-E$G(1B < !9 *A "]. " = .X#- = R = 9 E )33-E$# EK E F KK E )33-E$# E K E "V.X# KK E )33-E$# E E " KK EE . KKK L!M L!M L!M 9 UR E F K E "V.X# K E E " K&E . KK R 9 ; -9D% "V. -9D% h" "V. -9D% "V. # -9D% $&')( " -9"-10 $&')( E " E K . KK E -9D% 6 O 6 E 6 OO 6 O f 6 6O E -9D, 6 O 6 E 6 OO 6 O f 6 6O R LR >R !<= *<=(R *9 4R R 9 B; !9> 9 X"V. " . ] 1e 1e . L!M L!M L!M KK KK EE K . K E 6 O 6f6 O K @ Y ÅÅ ¸¸ Ë:Ë:°d°d»B»B°±°±ÈȲ:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ ¸q»Bµn°±®:·Eº¶¯Ç:®7Ãn»B°±°±¯S¯³¯Sº¶À@ºYÇ:µÅ ºµ±µ±¸ÃÀ:°±Ç7·É»fÁCÈϵ±Å ¸IÇ:»Eº°±µÁC¯¼µ±¸IÇ7ºÆÍ]»B¸»BÅ µ±ÅÈ«® Í»fµ±ËPÈ5®:¯ÉºY¯»BÀ:ÅIÀV»E¯³ÈϺÍ]µ Å ´EȾË^IcC»B_Y¯SÅ ÁC»B´5µ °±Á³i·E»JÇ:»Bµ±ÃnÀH¯S½!¯³¸F{À@Ãn¯mµS²:Ð:h°±Ám´Eq¯³²P²5®:µ¯³¯¼°µ±ÅI®7Å»E¸I»Jººµµµ +!Ê`E`E 0Î0Î ^I^IcCcCQ__Q'' -£`E0- ^IcC_Q' Å ¸ : Ë d ° B » ± ° È : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ °±¯Sº¶Ç:Å µdº¸ µ±®:¯>ÅI»Eºµ1»B°±·EÇ:Ãn¯³À@µ]¸IºÀ:´Bµl»t²:°±´E²P¯³°]Å ¸IºµSh E E K E KK L!M E K ²:»B À7°±´5I^½ÆcCmÁ _>¯S±° ¯m½5X3µ±ÂÇ:´EÇ:°±°°±¯SÀ7ºÓ±º»E¿7µ±º±À7®7º¶½n´5»JÁmµ]µ±¸I®:»J²7¯1µ±»B¸ ¸´E¿7°SÀÆ°dhºw[ŵ{¸Iº²7µÀ:»B@´Y¸eM°{²7ÃY¸ »BÀÇ7¸ °Mº µ]¸ À^IcCËP_{¯i Í]^I»tcC®:_{Å ´@¸I®7ºº¶µ1¯l»Eº>´BÁ³Ây»B`E°Ó²70»B¿7¸¯³»E°dÅIº{º³½hy¸ µd¸Iqºrº®:`EÁ³¯S»Bº¶0P°S¯ FF E EWK K L!M µ±Ám®:´E¯³ÃnÀ ²7»B"°±¯¼XÀ:E` ´B0ƵÍ]µ±®:¸ ¯>µ±®¯³Ãnµ±®:²5¯YµÈÆÁ³»BÅ °]¸Iº¿7µCe{¯³ÅI¸I½:ºº1°±¯m´Bµ±ÂÇ:µ±°±®:À:¯i¯S½!²7h»B¸ °dº]¸ !nÀÎÇ7 º¶^I¯ScCº _³F7Í]![i®:¸µ±Å ´¯ I ^ C c Q' _ Å ¸ : Ë d ° B » ± ° È : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ /]^IcC¯m_µ±Ç:¸ À°±À7°±º{¯³¹E»r¯³À:°d¯³º¶¯lÍ]´EÅ Èn°d½5»B¯³Å °S´5h Á³»Jµ±¯S½tÅ ¸IºµÁm´EÀ7º¶¸Iºµ±¸ À:·>´BÂRµ±®:¯1¯³Å ¯³Ãn¯³À@µdº´B E Ç7º¶¯Sº ! ![t»BEÀ7E ½ KS-EiÇ7K&º¶¯SºE !$#KKK[:h E K L!M E K R )33-E$# )33-E$# " .POJ# < <T; V8 < "V.nOJ# ?' ^ I C c _ Å ¸ : Ë d ° B » ± ° È : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ ¯³/]Å ¯³¯mÃnµ±Ç:!¯³°±À@À7 µdºMº³µ±ht®:iw[¯>µ>Ám´Eº¶¸IÇ:Ç:º>Ë:ÅI»B½¼Å ¸IÀºËPµ1¯³¯i´B°±½5°±Â ´E¯m°Ì¿7^IcCÀ:¸_M ¯S´E½Ë5^IcCËVµd_Ì»BÈ ¸®7À:»E¯Sºl½¼ÂËV¯³ÍMȯ³´E°rÃnµ±¸®7µ¶»Bµ±¸À À:·n? µ±¯³®:Å ¯Ì¯³Ãn¿7°d¯³ºÀ@µ µdº³? h =! *<=(R R *<= . <T; E 0$-1,$-10D'- E "]. KK L!M E .X"] K E 0$-1,$-10D'- E E "V. K # E - E e KKKK L!M E E - E e KK # E "V. K K R R 0 R X >*9;*9> 9'R R R R 5R E #$-1eD&9E-Z$&')(*($&1 E !"$# E N>K E &)e E -10/ < >K E $&')(*($&1 E .)#0 K&E * H9 B; < #$-1eD&9E- 6 $'')% NE $'')% h"- K E $'')% #f- K E $'')% E $&')( K " 9 KKKKK !<= R 9 6 !L M E " K L!M 1e EEE KK$EE " KK&EE . KKKK L!M 1e E $''1/$. E $&')( K EEE KK$EE " KK&EE . KKKK L!M EE KK E $'')% G EE = K&E/G 8 KSE 66f6 = KKK L!M @ Y E $''), G EE = K&E/G 8 KSE 66f6 = KKK L!M E/G 8 K ! M + $&C/%KC $&C)@-O4D>&)W/>A9:' #54D>&' + -N%03)!9O40G2:>&)!9:' 6!4D$&),0,. .*4#59 $''1/$. 9:/J#/$C54!(*) %),0d$&' /# I?4D> 0i' #n$&C),' >1#54IE),0iB),6!4%03)<$&C)@-W>&)@$&%:>&#`%03)@;=%+(4+ %),0i>A4D$&C)@> $&C54# d%0d$ 1( /> 1e L -9D% . -9D, . -9"-10 . $ '')% . $ ''), > 6 . = R ]/ ¯³¹V¸Iº¶¯S½ i5Ád®:¯³Ãn¯ !¡ µ¸VÂPÍMÈVµ±´iÃY®:¯³º¶ËP¸ÈV´E°ÓÃYÅIÀ7ºÓËP»B»B´EÃn°±ÅI¯º¯S´Eº»BË°±»B¯°±¯S¯¸IÁC½5º¶µd¯³²PºyÀ@¯³Í]µ±Å ¸I®:Á³¯S»B´@½Yź¶µ±¯X®:¸ Ç7Àn¯1º¶µ±º±¯m®:»BÂÇ:Ãn¯lÅ À:º¶¯¯³¯SÍÀ7º±ºÓº¶»f¯]ÈE°±¯Sh´BºÂqµdº®:! ´E¸Iºy!Àt[@¸IºÓµ±e®:¯m¸ ¯ÂÐ:»E»B»EÁCÀ7ÁCµ±½tµÓÅ Èr´Eµ±®7µ±À:®:»JŠȯµ ²:º¶´r°±´EÃn²P´@¯³°¶ºµµÓȸ ÃnÀ:²:¯³¯SÅ ¯³½5Ãn¯S½<¯³À@µ±µd´»Jµ±°±¸ ¯³´E²:À7°±ºy¯S´Bº¶¯³Â!À@5µrÁd®:¸I½5¯³¯³ÃnÀ@¯µ±¸ Ç7¿7º¶¯³¯M°dºrµ±®:¸ À¯³Ãʲ:°±¸ ´EÀ@·Eµ±¯³°d°±»BÀ7ûBº³Å F!Èr»BÂÀ7´E½ ° µ±µ±®7¸ ´E»JÀ7µÌº 5²:ÂÇ:´E°±°1²P´@¸ À7º¶º¯EµdhÌ»BÀ7VÁmÈV¯EÃYF5ËPµ±®:´E¯³ÅIºlÈ»Bð±¯i»fÈÆÇ7º¶ËP¯m¯iÂÇ:Ç7ź¶Â¯S´E½¼°lµ±Ã®:»B¯iÀVÍÈ»f´Bȵ±®:¯³ÀV¯³°ÌÇ:Ãn»B²:¯³²:°d»JÅ ¸Iµ±Á³¯S»J½ Ä ¹Jq»B®:Å Ç:¯Ì¯S°±º]Ç:»BÅ ¯S°±º¯rÂÇ7´Eº¶°M¯SÍ]½¼°±¸ ¸ Àµ±¸ À:xÓ·n»Eº±»YÁ³»Bº¶ÈVÅÒh ÃYËP´EÅR»B°±¯l¯mÐ:»EÁCµ±Å Ètµ±®:¯rº±»BÃn¯Ì»Eºµ±®:¯ °±w[µÇ:ŸI¯SºÓºM·EÂÇ7´E»B°]°dÍ]»BÀ@°±µ±¸ µ±¯³¸¯SÀ:½>·µ±»B®7À»Jµ{¸I½5»B¯³ÀVÀ@ÈYµ±¸º¶¿7ÈV¯³ÃY° :ËPº¶´E¯³ÅV¯>µ±®7º¶¯S»JÁCµ{µ±®7¸ ´E»EÀ7ºyº ËP¯³h¯³>Àn»B°±À7¯m½µ±Ç:ÙV°±À:h E¯Sh ½nEh »Eº ²7½5Ç:»B°¶°±µÌ¯EFV´B»BÂ{À7»Æ½Å º¶¸ µ±Ç:¯³Ë7°dº¶»B¯ Å@¯mÇ:Ð5¯³²:À@°±µ±¯SÅ Ètº±º¶Í]¸ ´E°±À¸ µ¶FPµ±´E¯³°ÌÀ°±´E¯SÇ5»EµM½Ç7Ç7º¶º¶¸ À:¸ À:·>·Æµ±µ±®:®:1¯ ¯ ¼>²:²:°±°±´5´5ÁmÁm¯m¯mÄÄ ´B½5Ám°±ÂÇ:¯S°±»J¯E!µ±FB¯!Í][@º¶¸ eCÈVÅ :hÃY°±q¯SËP»E´E®:½iÅI¯ ºYË7»E´E Á °iÍ]¸ Àn®:!»E¸IÁdº®Îµ±®:µ± ¯]®:* ¸I!¸Iº½5 ¯³Í]À@°±µ±²:¸¸Iµ±Á³°±¯J´5»BØfÅ:Ám°±¯Sº¶¯S½5ÈV»EÇ:ÃY½ °±ËP¯E¸ ´EÀVFyŹJ®:»BX´J¸ °±ÀtÍM¸I»B¯³µ±À7¹E®:Ám¯³¯]¯°Sº¶Fy¯³ÃÁ³À7»B»fº¶Àȯ À:Å ¯m´Bµ¶µµ±¯³®:°d´EºÅI¸½ÀËPµ±¯S®:Á³¯>»BÇ7À:º¶´E¯1À5Äaµ±º®:µd¯³»B¸ À7°½:À7»B»B°dÃn½¼¯SÁ³ºM»Eº¶Ám¯E´EhÀ@µd»B¸ À¼º¶²P¯SÁm¸I»BÅRÁd®7»B°d»EÁCµ±¯³°dº´E° 1!_/IE)Z' IE2+ ),IE),#$A4D$&' /#0Y/;F_6AC),IE)iC54!(*)14X;=)!4D$&%:>&) #/!R7# " MPOMPOM ? J= A 9 B; 8 V8 >*9@<BA > *9 N @> 9 B; 7 = qºµd®:»B¯rÀ7½:´E»BÅ°d½´JÍ]Á³¸»EÀ:º¶·t¯r¯m¸IºÐ:»BÅ ´JÃnÍM²:¯³Å°]¯Sº]Á³»E»Eº¶º±¯ º¶Ç:Ãn¯Ìµ±®7»Jµµ±®:¯>¸ Ãn²:Å ¯³Ãn¯³À@µd»Jµ±¸ ´EÀ× º E ')F)"D/*+$')(0D&9E$G E ')F)"D/*+$')(0D&9E$G @ E ')F)"D/*+$')(0D&9E$G E ')(0D&9E$G*+$')F)"D/ L!M L!M L!M L!M L!M !L M 1( 1( 1e 1( 1e 1e Ï C c J d ` /' : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ ²7/]º¶¸ »B´E¯m°¶µ±À<µ1Ç:X°±´Bº¶À7¯SºÁC»Bµ±µ±À¸®:´E¯Ì´EÀÆË À7Ô7»B¯Sh ÃnEÁCµ1h ¯l°±ey´B¯m´Eµ±°{Ç:cC°±ËVJÀ:Èn¯S½d»Y` Á³»E»Bº»EÅ ºM:µ±®:µ±»Y´i¯iºµ±¹Jµ±®:»B°±¸¯Å À:Ç:·7¯>h´Bw[ÂÂY»nµ±²:®:Å°±¯r¸ ´5µ±¯³Ámº¶°dÈV¯S»B½5ÃYÅÇ:ËP¯m°±´EÐ5¯EÅP²:F@»BÍ°±¯SÀ7»Eº½ ºÄ ¸°±µd¯mºÆµ±Ç:À7°±»BÀ:Ãn¯S½¾¯Í]Ám´E¸ ÅÀ@̵d»BÁm´E¸ À7À@ºÆµd»B»B¸ ÀÏÅ ²:®7Ád®7»BËP»B°d¯m»Eµ±¸IÁCÁµ±¯³Ád°d®7ºt»B¸ °dÀ«»EÁCµ±µ±®:¯³¯<°dº³F¸ Ãnµ±®:²:¯³Å ¯³ÀÏÃnµ±¯³®:À@¯µd»Jºµ±µ±¸ ´E°±¸ÀÀ:× · º ²:Ç:°±²:¯m²P¯³¯³°Ì°±°±Á³¯S»E½tº¶º¯EµdF7»B´BÀ7µ±½:®:»B¯³°d°d½tº1Á³Å ´J»EÍMº¶¯ ¯³H°1Á³º¶»E´Eº¶Ãn¯Eh¯Mw[¸ ÃnÂÓµ±²:®:Å ¯Y¯³Ãnº¶ÈV¯³ÃYÀ@µdËP»J´Eµ±¸Å´EÍÀ7ºÓ»Eº]Í]°±¸ ům:µ±²:Ç:°±°±¯mÀ:¯S¯³½ ° ËV°±¯mÈ µ±Ç:°± À:¯S½Î!Í]¸ Å 1ËP ¯* !µ± ®::¯F!º±µ±»B®:Ãn¯¯Á³»E»Eº¶ºt¯µ±´B®:Âr¯ÁdÁ³®7»E»Bº¶°d¯»EÁC¸ µ±À-¯³°dµ±ºi®:¯¸ À-ºµ±µ±°±®:¸ ¯<À:·ºµ±µ±°±®7¸ À:»J·µ ÍÃY»EÇ5ºnµd»J²7µ±»E¸ ´Eº±À¼º¶¯S²:½-°±´5µ±´Ám¯S½5Ç: °±¯SºMÅ!¸ E¯ * ! :!h-w[-µ¼ ¸I!µºÆ±»B´À«ºµ±¯³°±°±¸ °±À:´E·@°nº{µ±°±´Î¯mµ±Ç:»B°±²:À:²:¯SÅ ½È ËVȵ±®:¸Iº]²:°±´5Ám¯S½5Ç:°±¯Eh * ! =7@> R R H>*9@<BA @> 7 = @> 7 = J @> 79 0(D&9E K @ ,D&9ED K L!M L!M KK L!M peFD&9E$G*eD&'9B 0(D&9E @ ,D&9ED N<O N<O R = 7 @> E -1% < 0B CC C C 933& 7&''&''&933& K L!M 1( E ')(0D&9E$G*+$')F)"D/ CC CC 933& K L!M $&C)Q0d-:I[B/+JR7' $&C #54IE) CC C C 933& E -1% < h"&)( g ( E ')(0D&9E$G*+$')F)"D/ "&)( g ( KK L!M 1e E -1% < 1/FD/G E ')(0D&9E$G*+$')F)"D/ E ')F)"D/*+$')(0D&9E$G 1/FD/G KKK L!M 1( E ')(0D&9E$G ;$< OD013-10 @ O O E ')F)"D/*+$')(0D&9E$G E ')(0D&9E$G*+$')F)"D/ OD013-10 @ O O K KK L!M 1( 40 03+ 403C' c56!4D$&' /# n' #Q/>A9:)@>1$&/WK%54D>A4#$&),)[R>&' $&)!>&)!49' #(4D>&' 4#6,) ;=/>Z4+ + 0d-:I[B/+ 0,.5B%:$7C' 0d$&/>&' 6!4+ + -P$&C)1IE/0d$J' IE2/>3$A4#$7%03)X/;$&C' 0 ;=)!4D$&%:>&)PC540EB),),#O$&/Q6,/IE2),#0&4D$&)V;=/>E$&C)W+ 46 /;14Q0d$3>&' #K94D$A4 $-:2)L _/IE)<' IE2+ ),IE),#$A4D$&' /#014+ 03/WC54!(*) %#' #$&)@>&#)!9n0d-:I[B/+ 0 :.]R7C' 6AC 9:)@;=)!4D$ R>&' $&) !>&)!49 ' #(4D>&' 4#6,) ),(*),# ' # ' IE2+ ),IE),#$A4D$&' /#0NR7' $&C 03+ 403C' c56!4D$&' /#].54#59?4+ 03/[K),#)@>A4D$&)i)@g:6,),2:$&' /#0F$&/X$&C)7>&%+ )7$&C54D$8$RY/ 0d-:I[B/+ 074D>&)Z$&C)Z0&4IE)Z' ;H4#59V/#+ -V' ;^$&C),' >7#54IE),074D>&)1032),+ + )!9V$&C) 0&4IE)L £ E ` : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ /]¯mµ±Ç:°±À7º Ƹ Â1`E ƸIº1»nº¶ÈVÃYËP´EÅÒF5´Bµ±®:¯³°±Í]¸Iº¶¯r°±¯mµ±Ç:°±À7º "Ph eFD&9E$G*eD&'9B ¾cC_ÒbC^ ' ²:°±´5Ám¯S½5Ç:°±¯ /]Á³»B¯mÀµ±Ç:Ám°±°±À7¯SºM»Jµ±µ±¯Y®:¯>º¶ÈVº¶ÃYÈVÃYËP´EËPÅI´Eº1Å!Í]Í]¸ ®:µ±®´@º¶À7¯Ì»BÀ7Ãn»B¯SÃnºl¯rÁm¸I´EºlÀ@µdcC»B_ÒbC¸ À:^ ¸ À:R·hÓqº¶²P®:¯S¸IºÁm¸I²:»BÅ°±´5ÁdÁm®7¯S»B½5°dÇ:»E°±ÁC¯ Ä µ±»¯³°dË7ºi»E½´E°Y¸I½5Å ¯m¯Sµ¶»nµ±¯³µ±°d´ÆºiÁm¸ °±ÀɯS»Jµ±µ±®:¯Y¯¼º¶À:Ç7´EÁd®À5Äaº¶ºÈVµd»BÃYÀ7ËP½:´E»BÅI°dº1½ÉËPÁ³¯S»EÁ³º¶»B¯EÇ7Fº¶¯>Ë:Ç5¸ Àµt¸º¶µY´EÃn¸IºY¯>Ç7¸ º¶ÃnÇ7²:»BÅÅ ¯mÈ Ä ÃnV¯³¯³¯ À@µd»J µ±* ¸ ´E!À7 ºl ´BÂM5 Ád®:¯³ÃnR¯ih µ±®:¯³ÈÁ³»BÀ:À:´BµÌËP¯Y°±¯S»E½»Eº1µ±®:¯³Ãº¶¯³Å ¹E¯Sº³h qºµd®:»B¯rÀ7½:´E»BÅ°d½´JÍ]Á³¸»EÀ:º¶·t¯r¯m¸IºÐ:»BÅ ´JÃnÍM²:¯³Å°]¯Sº]Á³»E»Eº¶º±¯ º¶Ç:Ãn¯Ìµ±®7»Jµµ±®:¯>¸ Ãn²:Å ¯³Ãn¯³À@µd»Jµ±¸ ´EÀ× º @> !7 * ! = * ! =[ 0!' 0 E ')F)"D/ < e// K E ')F)"D/ < E .10 E " K KK E ')F)"D/ < "D0 K E ')F)"D/ < hE&1 K E ')F)"D/ < EWKK E ')F)"D/ < 1e K 0B 5J S@ ºÀ:¶L{Ç7´B®7Ádµd»B®»J°dµ±»E»E¸ ´EÁCºyµ±À Å ¯³¯m°dµ¶ºÆµ±¯³»B°dÁd°±º®7¯»B»BÀ7°d´E»E½nË ÁC½5µ±¯S¯³¸ÁC·E°Cµd¸ ºµdº³´Eµ±h° ®7L{»Jµ®7»B°±Ád°d¯³®7»E²:»BÁC°±°dµ±¯S¯³»Eº¶°dÁC¯³ºÓµ±À@¯³»BµÆ°M°±¯²:À7°±»BÍ]¸ ÃnÀ@°±µ±¸ ¯µ¶¯SCµ±½Ïhi¯³Ànz:Ád®7Ç7´E»B°rº¶¸°dÀ:¯m»EÐ:·rÁC»Bµ±µ±¯³Ãt®:°d¯ºÄ ²:Å ¯ ::ÅÇ:´J²:ÍM²P¯³¯³°]°lÁ³Á³»E»Eº¶º¶¯r¯ÌŠům¯mµ¶µ¶µ±µ±¯³¯³° ° :5µ±Å ¯m®:Â3¯iµ1º¶²7²7»B»E°±Ám¯³¯>À@µ±Ád®:®7¯S»Bº¶°d¸Iº»EÁCµ±¯³° 5µ±®:¯>²:°±¯m¯³°±°±¯S½ÆÍ»fȵ±´nÍ]°±¸ µ±¯i»nº¶²7»EÁm¯ 5µ±®:¯>À:¯³Í]Å ¸ À:¯iÁd®7»B°d»EÁCµ±¯³° Àµ±7LM®:»B»E¯¾Ãnº¶¯{¯Ád¸I®7Cºyh>»Bº¶°dw[¸ »E·E ÁCÀ:µ±¸Ád¯³¿P®7°Á³»B»B°dÂÀ@´E»EµÅÁCµ±´J¸ À¯³Í]C° ¸]À:¸· ÀÁd®7Ád»B®7°d»B»EÁd°dÁC®7»Eµ±»B¯³ÁC°dC°µ±»E¯³¶ÁCFB°Cµ±Ë:¯³Ç5C° ÃYµyMÇ7À:¸Iºrº´Bµµy»BŸËP²:À ¯-®7»B»HËP¯mÁd½5µ±®7¯³¸I»BÁBÅ ¸°dFRÃn»Eµ±ÁC®:¸ µ±µ±¯³¯³¯³À °° µ±Ád®:®7¯<»B°d»B»EÃYÁCµ±Ë:¯³°¸ ·Eº¶Ç:Ç7´EÁdÇ7®ºn»EÁ³º»E»>º¶¯º¶²7Í]»E®:Ám¯]¯³°±´E¯E°ÓF{²7´E»B°°±¯³¯mÀ@Ð:µ±®:»BÃn¯Sº¶²:¸Iº³Å hy¯EFqµ±®:®:¸I¯<ºÓ°±º¶Ç:¯ Å @¯]Ç:°±¯³¯SÀ7º¶Ám´E¯Å ¹E¯S´BºÂ MPOM @#M @ A L 0B < 8 8 8 ! < 9 !9 N= !9 8 8 8 j L j Ádº¶¯³®7À@»Bµd°d»J»Eµ±ÁC¸ µ±´E¯³À°dº ´Bµ±®:¯iº¶²7 »EÁmi¯iÁmÁd´E®7Ç:»BÅI°d½»EÁCËPµ±¯>¯³°µd»´EE°1¯³»nÀ°±µ±¯³´²:°±ËP¯S¯>º¶¯³¯³À@¸ µ±µd®:»J¯³µ±¸°l´EÀ¼»n°±´B¯³Â²:µ±°±®:¯m¯ Ä Ád®7»B°d »E7ÁCh µ±¯³° 1´EÅ ´JÍM¯S½YËVÈY»r°±¯³²:°±¯Sº¶¯³À@µd»Jµ±¸ ´EÀY´BÂPµ±®:¯1º¶ÈVÃYËP´EÅ qL{®7®7»J»Bµ1°d»E¸IÁCº³µ±FV¯³µ±°d®:ºl¯³Í]È°±½5¸ µ¶´nµ±¯³À:ÀÉ´Bµ1¸ À®7»fµ±¹E®:¯l¯ µ±´ËPÀ:¯ ´B@µd»JÇ:µ±´B¸ µ±´E¯SÀɽ¼»B¸ À°±¯n²:º¶°±¯³´EÅ Â3·EÄ[°d¯³»B¹JûBÅ º³Ç7h »Jµ±¸ À:·7h µ±ÁmV®:¯S´E½5¯1ÃnÇ:½5¯Y°±¸ ¯SÑR´Bº¯³ÂÓµ±°±µ±®7¯³®:À7»J¯tµyÁm¯¸²:·EËP°±À:´5¯m´EµÁm°±ÍM¯S¯M½5¯³Á³Ç:¯³»EÀt°±º¶¯S¯MÇ:º]²:®7µ±²P®7»f¯³¹E»J°¯µrÁ³´EC»E²Pº¶¯³¯]°d»B»JiÀ7µ±X3¯i½Y´E´EÅ °´JÀÍM±ÁdÁ³¯³®7»E°y»Bº¶Á³¯{°d»E»E¸ º¶À7ÁC¯Eµ±º¶hy¯³¯³°dqÀ7º]º¶®:¸ ¸ µ±¯·E¸ À:¹E²:´E¯ °±@´B°±¯eÄ ¯³ÃYËP¯S½:½5¯S½¸ Àµ±®:¯³¸ °]À7»BÃn¯Sº³h * ![`E 0!' : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ /]¯mµ±Ç:°±À7º Ƹ Â1`E 0ƸIº1»nÁd®7»B°d»EÁCµ±¯³°SF@´Bµ±®:¯³°±Í]¸Iº¶¯r°±¯mµ±Ç:°±À7º "Ph * [d:Jb Hd:J4b -' ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ * [d:Jb Hd:J4b -' * [d:Jb Hd:Jb4-' ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ * [£d:Jb Hd:J4b -' * [£d:Jb Hd:J4b -' : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ qÁd®7®:»B¯S°dº¶»E¯ÁCµ±²:¯³°±°d´5º³hÁm¯Sw[½5µ1Ç:¸Iº°±¯S·EºÆÇ7¸»BÃn°d»B²PÀ@´@µ±º¶¯³¯É¯S½»Îµ±µ±®7´B»Jµdµ1»BÇ:ÅrÀ7´E½5°d¯³½5°¯³°±µ±¸ ®:À:¸I·Îº]´E´E°dÀH½5¯³µ±°±®:¸ À:¯É· º¶¯mµ´B q *®: ¯iÇ:²: ²P[ ¯³°lÁ³»Eº¶¯iÁd9®7'>»B°d°±»E¯mÁCµ±µ±Ç:¯³°±°dÀ7ºº »B°±R¯rh ¸ À´E°d½5¯³°Sh{z:´E°1¯mÐ:»BÃn²:Å ¯EF q *®: ¯tÅ ´J ÍM[ ¯³°ÌÁ³»Eº¶¯YÁd®79»B'>°d°±»E¯mÁCµ±µ±Ç:¯³°±°dÀ7ºlº »B°±¯iRh¸ À´E°d½5¯³°ShÌz:´E°Ì¯mÐ:»BÃn²:Å ¯EF q®:¯'>½5°±¸ ¯m·Eµ±¸ Ç:µdºn°±À7»Bº °±¯R¸ hÀ¾´E°d½5¯³°Sh-z:´E°n¯mÐ:»BÃn²:Å ¯EF * [ V ´E|°]¸ µ±¹V®:¸I¯³Ám°¯r»B¹EÅ ¯³7°dµ±º±®:»:¯rh ½5¸ ·E¸ µdºM²:°±¯SÁm¯S½5¯Ì»BÅ 7µ±®:¯ÌÇ:²:²P¯³°Á³»Eº¶¯lÅ ¯mµ¶µ±¯³°dº³F ´E|°]¸ µ±¹V®:¸I¯³Ám°1¯r»B¹EÅ ¯³!°dµ±º±®:»:¯ih ½5¸ ·E¸ µdº]²:°±¯SÁm¯S½5¯>»BÅ !µ±®:¯>Å ´JÍM¯³°]Á³»Eº¶¯rÅ ¯mµ¶µ±¯³°dº³F µdÀVV» Ç:´EEÃnÃn¯r¯Ì¯³Ãn°±¸ ¸IÃn´EÁ³»B°±²:¯ÌÅ!Å ²:¯³µ±Ãn®7°±¯S»B¯³½5ÀÀ@¸IÁ³µdµ»J»JÍMµ±µ±´¸¯S´Eº³À7»Bh °±º·EÃÇ:Ãn»fȯ³À@·Eµd¯³º³À:F:¯³»E°dº»BÅ Í]¸ ³¸ ¯1µ±®µ±®:µ±¯S®:º¶¯Y¯rÁm²:´E°±°±´5°±Ám¯S¯Sº¶½5²PÇ:´E°±À7¯S½5º¸ À:µ±´· * ! [d:Jb Hd:J4b ' ÅÅ ¸¸ Ë:Ë:°d°d»B»B°±°±ÈȲ:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ * ! [d:Jb Hd:J4b ' * ! [d:Jb Hd:Jb4' ÅÅ ¸¸ Ë:Ë:°d°d»B»B°±°±ÈȲ:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ * ! [d:Jb Hd:J4b -' * ! [d:Jb Hd:J4b -' Å ¸ : Ë d ° B » ± ° È : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ µ±¯mq°±Ð:®:¯S»B»J¯SÃnµYº¶¯1²:Ç:²:Å ²:¯E°±²PF ´5¯³Ám °t¯S*½5 Á³Ç:»E°±!º¶¯S¯Æº»B»BÀ7°±½É¯l[ º¶Å ¸´JÃnÍM¸ ¯³ÅI»B°i°ÓÁ³µ±»E´!º¶¯'t* Å°±¯m¯mµ¶µ±µ±Ç:¯³°±°d[ÌÀ7ºYº¯m»EµMºrÁmR¯mµ±hiµ±®:¯³¯V°d´E»:º±ÃnF@»BË:Ãn¯tÇ5¯E¸ µ{Ãnhµ±²:®:z:ů³´E¯mÈ °Ä µ±Ãn²:®7°±¯³»B¯SÀ@½5Àµd¸I»JÁ³µµ±»JÍM¸µ±´E´Æ¯SÀ7º³»BºÌh °±·EÃÇ:»fÃnȯ³·EÀ@¯³µdÀ:º³F7¯³°d»E»Bº1Å ¸ Í]³¯i¸ µ±µ±®®:µ±¯S®:º¶¯n¯t²:Ám´E°±´5°±°±Ám¯S¯Sº¶½5²PÇ:´E°±À7¯S½5º1¸ µ±À:´¼·nµdÀV» Ç:EÃn¯t¯³Ãn°±¸I´EÁ³°±»B¯ Å .p .p .!< 9 0 ! < 9B0 0 % . 7T0 . V0 !<> !<> !<> !<> !<> !<> QB [ [ [ !<> V n !<> V < !<> [ [ !<> !<> !<> !<> !<> 7 7 7D 7 7D !<> !<> 7 ] n < Ö:h«@µd»BÀ7½:»B°d½¼²:°±´5Ám¯S½5Ç:°±¯Sº * ! 5 - [Ïd:Jb' ÅÅ ¸¸ Ë:Ë:°d°d»B»B°±°±ÈȲ:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ * ! # * [Hd:Jb' * !5 [Ïd:Jb' ÅÅ ¸¸ Ë:Ë:°d°d»B»B°±°±ÈȲ:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ * !# ! [ m_Òamb' * ! ! [ m_Òamb' Å ¸ Ë:°d»B°±È²:°±´5Ám¯S½5Ç:°±¯ ËPq»EÁC¯m®:µ±µ±¯S¯³¸IÁBº¶°d¯nF5º³F:ÀV²:°±Ç:°±¯SÃn´5º¶²PÁm¯³¯S¯S°±½5ÁC¸IÁBÇ:µ±F@¸ °±¹EÍ]¯S¯³ºÌ®:Å ÈE°±¸ F:µ±¯m¯S´Bµ±º¶Ç:µ±²7®:°±»EÀ¯³Ám°±¯EÍ]FV<¸IÇ:º¶¯Ì¸²:ÂM²Pµ±µ±®:¯³®:¯³°]¯³ÈÁ³¸ °i»E°±º¶¯m»B¯Eµ±°±Ç:F@·E´E°±Ç:À°{ÃnÅ ´J¯³"PÀ@ÍMhMµd¯³ºr°Mq»BÁ³®:°±»E¯r¯nº¶¯Ì»B´EÅÁdÅ ²:®7´J®7»BÍ»J°¶ÄÄÄ ¸»BÀ:°±·Y¯{¸°±À@¯³µ±Ã¯³À7»B½5° 5¯Sº³½YFE´EÍ]À:®:Å È>¸IÁd®Æ»Eºy»B»1°±¯l·EÇ:º¶²P¸I½5¯S¯Ám¸ ¿PqÁ]®:µ±¯]´i»Bµ±Å®:²:¯Ì®7jÌ»BËP7¯mL{µ±¸Iw¶Á{wÁdÁd®7®7»B»B°d°d»E»EÁCÁCµ±µ±¯³¯³°d°{ºº¶»B¯m°±µS¯ F µ±µ±®:¯³°d¯º]Õ »B°±¯ÌÇ:µ±²:®:²P¯r¯³°>µ±¯³»BÀÀ7½5½¯SÅÁm´J¸ ÍMï³»B°lÅÁ³½5»E¸ ·Eº¶¯Y¸ µdº³Å ¯mhµ¶qµ±¯³®:°dº³¯rhÌÍ]q®:®:¸ µ±¯Y¯Sº¶ÀV²7Ç:»EÃnÁm¯>¯³°±Ád¸I®7ÁY»BÁd°d®7»E»BÁC°dµ±»E¯³°dÁCºÄ »B°±¯>º¶²7»EÁm¯EFVµd»BËF5Å ¸ À:¯r¯³¯S½!F5´E°±Ã ¯³¯S½!F7»BÀ7½Á³»B°±°±¸I»B·E¯l°±¯mµ±Ç:°±Àh * ! : d:Jb ' ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ : ! * > ' ·E·Es̯³¯³¸ °i°¹E¯³µ±°±ÀÉ®7¯³²:»J»µM°±¯S¸IÁdº¶ºÓ®7¯³µ±À@»B®:°dµd¯l»E»Jµ±ÁC¸ ¸µ±Ã´E¯³À°S»BF·E´B¯1*ÂM ´Bµ±Â®:!»i¯¼ÁdÁd®7®7»B»B°d°d»E»E:ÁCÁC µ±µ±¯³¯³°Æ°Sh¼Ç:°±À7¯ms̵±½5Ç:¸¯³¹E°±° ¯³À7À*ºr »B»BÀÉÀÉ! ¯m¯mÐ:Ð:»E»EÁCÁC µ>µr:¸¸ À@À@µ±µ±¯m¯mRÄÄ F ¸´BÃn²:Ád®7:Å ¯³»B Ãn°d»E!¯³ÁCÀ@µ±µ1¯³°d*´EºÓ °d½5Ç:¯³À7°¶½5°±Ä[¯³²:¯m°{µ±°±Ç:¯Sµ±º¶°±®:¯³À7¯ °±º1¹V*µ±¸ À:®7·Y»Jµ>¸I º¶Ád´E®7Ãn[r»B´E´E°d»E°d°±½5²:ÁCµ±¯³®:¯³°±¸I°S¸º¶À:hÌ÷YqºM»B®:ËPÀ7¯S¯m½Æº¶µ¯YÍMº¶´E¯³²:Ãn¯³°±À¼´5¯ÌÁmµ±¯Sº¶®:Ç:½5¯iÇ:Ë7°±º¶º¶¯S¯m¯mµµº ´Bµ±®:¯>¸ À@µ±¯³·E¯³°dºMÇ:À7½5¯³°]µ±®:¯ ´E°d½5¯³°±¸ À:·7hyq®7»Jµ]¸Iº³F:¸  E 4#59 E K L!M 8 4 KJL!M »BÀ7½ ; »BÀ7½ < »B°±¯Ì¸ Àµ±®:¯i½5´EûB¸ À´B : ! * RFfµ±®:¯³À !<> B<= !<!9 !<> 9> !<> i *9 !< 9 !<> ! 9 > <9 -R !<> @= !9> <9 -R f X 3 0B !<> *9 *9> *9 *9> !<> !<> *9 *9> !<> *9 *9> *9 *9> !<> !<> .9BD0 :1;$< 1( :1; 1( *9 *9> !<> E :1; E .9BD0*+$&9E$($-1G$-108 K E .9BD0*+$&9E$($-1G$-104 KK !L M E .9BD0 :1;$< E &9E$($-1G$-10*+$.9BD0 K E &9E$($-1G$-10*+$.9BD0 KK !L M V 1( 1( £d:Jdb:Jb ÅÅ ¸¸ Ë:Ë:°d°d»B»B°±°±ÈȲ:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ q *®: ¯Sº¶¯+!²:°±´5Ám[£¯S½5dÇ::°±J¯Sb.º£d°±:¯mJµ±b4Ç:°±'VÀ hÏ»waÀÏÁd®7»E½:»B°d½5»E¸ µ±ÁC¸ µ±´E¯³À° Fd¸ ÂÆ:Jdb4:(Jbº¶Ç7¸IºÆÁd® »BÅ ²:µ±®7®7»J»JµÄ µ±ËP®:¯m¯>µ±¸IÁB°±¯SF{º¶µ±Ç:®:Å µ1¯³À-´B µ±®:*¯°±!¯Sº¶Ç:Å µ5(´B * r¸I!º]#Å ´J(ÍM ¯³°]Á³»Eº¶¸Iºt¯Eh Ç:²:²P¯³°ÆÁ³»Eº¶¯»BÀ7½ YX ³ »E@X ºµ±°±eC¸h]º¶À:¯ jÊ·@@º¼Ç:½5¯³»B´EÀ7°±Ç:Ám¯<¯SË:º¼Åº¶¯ ¯ @´B@ÂtÇ:Ç:´B¯³Ádµ±À7®7¯iÁm»B¯SÁ³°dºÆ»E»BÀÁC´Bµ±Âi¯³ËP°d¯iÁdºÆ®7Í]»B¯³À7°±°d¸»EÁmµ¶ÁCŵ±´@µ±¯³¯³º¶À¯S°dº³½Ï¸ h.À7º¶Í]¸I@½5¸ µ±µ±¯Y®:°±¸ ¸»ÆÀ:À·@ºº¼µ±½5°±´E»B¸ À:Ç:°±·Ë:¯Å ´E¯Í]@À:°±Ç:Å ¸ ȼµ¶´Bµ±µ±ËV¯³¯SÀÈ º ¯Sº±Á³»B²:¸ À:·n¸ µ1Í]¸ µ±®»tË7»EÁ 5º¶ÅI»Eº¶®X eCF7»Eº¸ À ¸¯mj«µ¼ÑRË7¯SÍ]ÁC»E¸µÁµ±5®H´Bº¶ÂÅI»B»E»iÀ:º¶Ë7´B®tµ±»EÁ³®:Á »B5¯³Àt°º¶ÅIËP»EË7º¶¯]»E®nÁÍ]5Í]°±º¶¸¸ÅIµ¶µ±»Eµ±®:º¶¯³¸®ÀnÀh£¸ »YÀ75º¶ºÁd¸Iµ±½5®:°±¯1¸¯³À:Ãn»r·i¯<ºµ±µ±®7°±½5»J¸ ´VÀ:µM¯S·r¸Iºº{´EÀ:À:À:´B´BÅ Èiµ¼µ{ËVº¶´EÈi²PÅ ¯S¯S´JÁmº±ÍM¸ Á³ÂÈ-»B¯S½n²:µ±¸ ËVÀ:®:È·¯ »n½5´EÇ:Ë:Å ¯ @Ç:´Bµ±¯>´E°Ë7»EÁ 5º¶ÅI»Eº¶®h *!<>!#(<9 ' * !<>!A 5( <9 ' 7 !<> !<> <9 !<> A <9 @ TS JA MPOM M q ? B-NCD/0# p0$-.92$0D'&1/)E XBD$' )E$F -$)E&9E$GD' O ]/ ¯³¹V¸Iº¶¯S½ i5Ád®:¯³Ãn¯ Ë:j.qÇ5®:ºµ]¯ µ±µ±°±®:¸ À:¯>·ÆB¯m_ÁmÐ:´E»EÀ7ÁC´Bºµ1µdÁm»B»´EÀ@À@ºµ]µ±µ±°±Ã¯³¸ À@À:»fµd·È¼º¸I´BÁmºl´EÂÓµ±À@º¶®:µ±Ç7¸¯nÁdÀV®Ç:ÀV¯rÇ:»nÃYº°±ËPµ±´E°±¯³Ã ¸ °rÀ:·´E´BÀ:»B¯>°±Ád¯r®7Å ¸»BÇ:À:°dÀ7¯r»Eº¶ÁCµ±²Pµ±´n¯³¯S°dÁmµ±º]®:¸ ¿7¯iµ±¯S®7½!À:»Jh¯mµrÐVµS¸ µ F µ±´BÁm®7´EÂ>À@»J»Éµlµd»B¸Iº¸ºµ±À7°±¿:º³¸ h-À:Ð5·Î¯Sq½»B®:Í]°±¸I¯ºt®:¯³µ±ÀVÀ®:Ç:¯ÃYµ±®:¯mËP¯YÐ:¯³»E°nºÁCµ±µ°±¸Iº¸ À:À:»B·n´EÀ-À5¸Iº1Ä[¯mÀ:Ð:Ám¯³°±»E·@¯SÁC»J»JµSµ±µ±F¸¯S¹EÀ:½!¯´EhMÀ5¸ qÀ@Ä[À:µ±®:¯³¯³¯ ·E·@¯³#J»J°dµ±ºt¸ ¹E^\¼Å ¯¼¯Sº±^ ¸ ºnRÀ@\Eµ±µ±¯³ ®7·EV»B¯³CÀ °c µ±¸ À7®:½5¯Ì¯mÅ Ð ¯³À::·BFVµ±µ±®¼®:´B¯iº¶µ±¯S®:Ám¯r´EÀ7º½¼µ±°±¸®7À:»E·7ºhÓ¸ qÀ7½5®:¯m¯lÐ ¿7E°dºF:µ»BÀ7Ád®7½»Bº¶°d´n»EÁC´Eµ±À¯³°{h ´B»Yºµ±°±¸ À:·Y®7»Eº wa¸ À7Àn½5²:¯m®:Ðΰd»EcC_aº¶J¯SbCº_̺¶Ç7»BÁdÀ7®n½»E¯³º À7½5µ±¸ ®:À:¯1·ÁdÍ]®7¸»Bµ±°d®»EÁC¸ µ±À7¯³½5°d¯mºÐ«´BÂy RcC_Ò\RbCF^ i¸ µ>ËP¸I¯³ºr·E¸Ç:À:À7À:½5¸ À:¯³°d·>ºµ±Í]´V¸ ´5µ±®½ µ±Ám®7Å Ç7»Jº¶µ>¸ ¹Eµ±¯E®:hY¯q¸ À7®V½5Ç7¯mºrÐ-¸ ÂlcC_acCJ_abCJ_ÌbC_̸Iº>»BÀ7¸ À7½¾ÁmÅ Ç7Rº¶¸\¹E¯»B°±»B¯YÀ7µ±½<®:µ±¯®:º±¯»BÃn¸ À7¯t½5¯m¸ ÐÏÀ7½5 ¯mRÐ!\F»¸IºrÀV¯mÇ:ÐVÅ Ä Åº¶V¯³Ç:´EÀ:Ë7Ãn·Bºµ±¯>µ±®°±´B¸ À:´B·Â{µ±®:cC¸Iº]_Ò¯ibC°±^ ²:¯m°±ÂP´5¯³F5°±Ám°±µ±¯S¯S®:½5½Æ¯³Ç:À°±µ±¯S´7µ±ºMFP®:µ±¯>»B®7À7¯³»J½À@µ1µ±¸ ¸´E°±²P¯>cC¯³_aº°dJµ±»JbC°±µ±_¸ ¯rÀ:¸I·nº ´EÀ³¸Iº]¯³º°±°±µ±´Æ¯m°±Â¸ »B¯³À:À7°±·@°±½ º]¯S½¸ ·ERµ±À:\¼´7´Eh °±¸I¯lºµ±µ±®:®:¯¯ ¸¸½5·EÀ¸ À:ÑRµ±´E¯³®:°±°±¯³¯n¯³¸ À7°]Á³Ám»EÀ7¯Mº¶»BËP¯nÃn¯m®7µ¯SÍM»fº³¹Eh ¯³¯ ¯³ÀtCÇ:²:²P¯³°ÓX3»B´EÀ7° ½Y±Å Á³´J»EÍMº¶¯³¯n°¸ Á³À7»Eº¶º¶¯³¯EÀ7hº¶¸qµ±¸®:¹E¯¯ @¹Ee1¯³°d¯³º¶ÃY¸ ´EËPÀ7¯Sº½:µ±½5®7¯S»J½ µ ![£`E 0!' : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ /]¯mµ±Ç:°±À7º Ƹ Â1`E0ƸIº1»nºµ±°±¸ À:·7F5´Bµ±®:¯³°±Í]¸Iº¶¯r°±¯mµ±Ç:°±À7º "Ph +* -, ? ' ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ +* -, ? d:Jb' wµ±[¸I-»B, Åd¸ :³¯SJ½ÉbÉ µ±¸IºÆ´«·Ed¸Y:¹EJ¯³°±b5À¯mµ±FÓFÇ:´Bµ±°±µ±®:À7®:¯³º1¯³À°±»tÍ]»BÀ:¸IÅ º¶¯³l¯Í]¯³Åµ±Å ȯ³®:Ãn¯»Bů³ÁmÀ@´5´EµdÁ³À@ºÆ»Jµ±µ±¯³´B¯SÀ@Âr½µdºiµ±º®:µ±´B¯°±Â]¸ À:ºµ±·nµ±®:°±¯¸´BÀ:ÂycC·-Å_Ò¯³bC»BÀ:^ °±·B¯Éµ±® ¸ »BÀ:°±? ¸ ¯Ä h Ç:À7º¶²P¯SÁm¸ ¿7¯S½!h Êd:Jb ' Å ¸ : Ë d ° B » ± ° È : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ Ãn/]¯m¯³µ±À@Ç:µd°±º³À7h º¼»ÉÀ:¯³Í]Å È«»BÅ ´5Á³»Jµ±¯S½«ºµ±°±¸ À:·ÎÁm´EÃn²P´@º¶¯S½¾´BÂrµ±®:¯»B°±·EÇ5Ä ! cC_ÒbC^ ' : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ /]¯mµ±Ç:°±À7ºMµ±®:¯>ÀVÇ:ÃYËP¯³°1´BÂyÁd®7»B°d»EÁCµ±¯³°dºM¸ À¼µ±®:¯>·E¸ ¹E¯³ÀcC_ÒbC^ Ph ! "HcC_ÒbC^ ? ' : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ Ád? ®7»BÃY°dÇ7»EºÁCµµ±¯³ËP° ¯? »´BÂM¹JcC»B_ÒÅbC¸I^½Ï¸ À7Ç7½5º¶¯m¸ ЫÀ:· ´B³Â¯³°±cC´B_ÒbCÄ[^´E°±P¸ ·Eh¸ ÀÆ-¸ À7½5¯mÐ5!¸ À:·7h "É°±¯mµ±Ç:°±À7º ! - ¼cC_ÒbC^ %Hd:Jb ' : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ ¸? ÀÃY¯³Ç7Å ¯³ºÃnµÓ¯³ËPÀ@¯]µ »l? ¹J»B´BÅÂM¸I½YcC_Ò¸bCÀ7^ ½5¼¯mÐY»B´BÀ7½¼cC°±_ÒbC¯m^µ±Ç:P°±À7h º]- »BÀÇ:À7!º¶²P¯S-Ám ¸ ¿77º¯S½µ±´E¹J°±»B¯Sź]Ç:d¯E:h Jb 8 / R N<O R / N 1 . N N N<O N 7 N<O . 7T0 0 N . V0 @> < *9 7 @> < *9 7 @> *< *9 7 @> N<O @> @> N<O @=B9 N<O @> >*9 N<O N<O @> 79 @> N<O > >*9 N<O N<O N<O @> 79 E #$-1eD&9E- E e & K E > -$*$')(0D&9E$G]= FKK E #$-1eD&9E- E G K FFF K E ')(0D&9E$G*$'-1( H E e K O < K L!M @ Y E ')(0D&9E$G*$'-1( H E G K O < K L!M 3 E ')(0D&9E$G*$'-1( H E ')F)"D/*+$')(0D&9E$G &p2$()"D1- K O L!M 3 < K ÏcC_Ò«bC^ cC_ÒbC-^ cC_Ò-bC^ cC_ÒbC^ ÅÅ ¸¸ Ë:Ë:°d°d»B»B°±°±ÈȲ:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ µd°±/]»B¯m¯mµ±¸ µ±ÀÇ:Ç:°±µ±°±À7®:À7º ¯nº º±P»Bth Ãn¸ ¯nµ±®:Ád®7¯l»Bµ°dÍM»E´tÁCµ±º¯³µ±°d°±º1>¸ À:¸ µ±À<·@°±ºM¯Sµ±»J»B®:µd°±¯º1¯]º±Ç:µ±»B®:²:Ãn¯r²P¯Y¯³º±°r»B²PÃn»B´@À7º¶¯l¸½µ±Å ¸¯³´EÅ À:´JÀ7·BÍMº³µ±¯³F!®°l´B»Bµ±Á³À7®:»E½Æ¯³º¶¯i°±Í]ÁmÅ´E¯m¸IÀ5º¶µ¶¯ÄÄ µ±µ±¯³°±¯S°dºy»Jµd»EººÇ:µ±²:®:²P´EÇ:¯³°l·E®Y»BÀ7µ±®:½¼¯³ÅÈi´JÍMÍM¯³¯³°]°±¯Á³»Eµ±®:º¶¯>¯]»Eº±»Bº]Ãn½5¯¸Iºµ±Ád¸®7À7»BÁC°dµl»EÁdÁC®7µ±¯³»B°S°dFf»EË:ÁCÇ5µ±¯³µ °dº³h [ [ÏcC_ÒbC^ -cC_ÒbC^ ' ÅÅ ¸¸ Ë:Ë:°d°d»B»B°±°±ÈȲ:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ [ÏcC_ÒbC^ -cC_ÒbC^ ' [ÏcC_ÒbC^ ÎcC_ÒbC^ -' ÅÅ ¸¸ Ë:Ë:°d°d»B»B°±°±ÈȲ:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ [ÏcC_ÒbC^ ÎcC_ÒbC^ -' ! [«cC_ÒbC^ -cC_ÒbC^ ' ÅÅ ¸¸ Ë:Ë:°d°d»B»B°±°±ÈȲ:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ ! [«cC_ÒbC^ -cC_ÒbC^ ' ! [¾cC_ÒbC^ -cC_ÒbC^ ' ÅÅ ¸¸ Ë:Ë:°d°d»B»B°±°±ÈȲ:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ ! [¾cC_ÒbC^ -cC_ÒbC^ ' qºµ±®:°±¸¯SÀ:º¶·@¯ºr²:´BÂ{°±´5µ±Ám®:¯S¯Æ½5Ç:Ám´E°±¯S°±ºÊ°±¯Sº¶»B²P°±´E¯(À7½5µ±¸ ®:À:¯·´EÅ ¯m°dÐ5½5¸I¯³Ám°±´E¸ À:·E°d·@»Bºl²:´E®:À ¸IÁ Ád®7¯m»BÐV°dµ±»E¯³ÁCÀ7µ±º¶¯³¸ °d´Eº³À7htº.z:µ±´E´ ° ¯m¸ À7Ð:½5»BÇ7ÃnÁm²:¯S½.Å ¯EF ËVÈ µ±®:¯- ´E[l°d½5¸I¯³ºy°±µ±¸ ®:À:¯1· Å ¯m*Ð5 ¸IÁm´E·E °d[¾»B²:´E®:ÀʸIÁMÁd´E®7°d»B½5°d¯³»E°±ÁC¸ µ±À:¯³·r°dº³´Eh Àºw[µ±Â°±¸ µÀ:ÍM·@´ º ´Bź¯mµ±ÂÐ5°±µ±¸¸IÀ:®:Ám´E·@¯>·Eºrº¶°d®:½5»B´E¸²:ÑR°¶®:µ±¯³¸I¯³°rÁ³°]»B¸ Àźµ±Èn°±Å ¯³¸ ÅÀ:À:¯S·7º±·BºF@µ±®µ±µ±®:®7Ë:¯>»BÇ5À¼º¶µi®:µ±´E»B®:°¶°±¯>µ±¯i¯³Å °]´Eµ±®:À:º¯µ±·E°±¯³º±¸ °1À:»B·tÃnºµ±¸I°±¯tº¸ À:Ç:Ám·7²´Eh À7µ±º¶´¼¸I½5µ±¯³®:°±¯n¯S½Å ¯³µ±À:´n·BËPµ±® ¯ wa»BÃnÀ7½ ²:Å ¯³Ãn ¯³À@µd!»Jµ±¸ ´EÀ7ºt[Ìò:»f°±´5ÈÁm¯S·E½5¯³À:Ç:¯³°±¯S°d»Bº{Å µ±¸ ³´Y¯µd»µ±®:E¯S¯Ìº¶Ãn¯´E»B°±À7¯l½Éµ±®7µ±®:»B¯À¼µÍM ´n»B°± ·EÇ5[ Ä Ãn¯³À@µdº³F7»EºÍ]¸ µ±®µ±®:¯iÁm´E°±°±¯Sº¶²P´EÀ7½5¸ À:·tÀVÇ:Ãn¯³°±¸IÁ³»BÅR²:°±¯S½5¸IÁ³»Jµ±¯Sº³h # £cC_ÒbC^ ¾cC_aJbC_ R(\ ' Å ¸ : Ë d ° B » ± ° È : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ ¸PÀ@_Òµ±bC¯³^ ·E¯³¼°dº]ÃYº±Ç7»Jºµ±µ1¸IºËPÂÈV¯Y¸ À:»· ºµ±°±¸ À:·7F7»BÀ7½cC_aJbC_]»BÀ7½ R\¼ÃYÇ7ºµlËP¯i¯mÐ:»EÁCµ cC_aJbC_ . R\ ! cC_ÒbC^ 'Vh µ±º¶®:¸ # ¹E¯Y¯feMÁd®7»B»BÀ7°d½»EÁC¯³µ±À7¯³°±½5°d¯mº{¸ µ±À:Ç:´B·n°±ÂMÀ7Í]cCºt_Ò¸ bCµ±»<^®À:¼¸ À7¯³ËP½5Í]¯³¯mÅ ·EÐÉÈθ À:»BÀ:RÅ ¸ \´5À:Á³·X»J¯mµ±Í]Ð:¯SÁm¸ ½-µ±Å ®Ç7ºº¶µ±¸¸ À7°±¹E¸ ½5¯fÀ:eC¯m·<hÐÂcC´E_a°±JÃnbC_>¯S½ÉX¸ À7°±Ám´EÅ Ç5Ã Ä ! ÏcC_ÒbC^ ' Å ¸ : Ë d ° B » ± ° È : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ /]Ám´E¯mÀ7µ±Á³Ç:»J°±µ±À7¯³ºyÀ7»1»Jµ±À:¸ ´E¯³Í]ÀÅ ´BÈi»Bµ±Å ®:´5¯>Á³·E»J¸µ±¹E¯S¯³½iÀºµ±º°±µ±¸°±À:¸ À:·Ì·@Í]º³h®:´@º¶¯MÁd®7»B°d»EÁCµ±¯³°dºR´E°±Ãµ±®:¯ ! HcC_ÒbC^ ' ÅÅ ¸¸ Ë:Ë:°d°d»B»B°±°±ÈȲ:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ ! ^IcCQ_ ' µ±»Y-¯³À:°dº{¯³Í]µ±®7Å !ÈÆ»Jµ]»BÃÅ ´5» Á³E»Jr¯Ìµ±¯S°±Ç:¯m½¼²¼µ±Ç:ºµ±µ±°±®:°±À7¯r¸ ºÀ:·E·i»>¸ ¹EÂÀ:´E¯³¯³°±À¼Í]ÃnºÅ ¯Sȵ±°±½¸»BÀ:ÂÅ °±·7´5´Eh Á³Ã »Jµ±µ±¯S®:½t!¯rÅ ¸IÁdº®7µM»B ´B°dÂR»EÁCµ±µ±®:¯³i¯Ì°dºÁd°±¯m®7¸ µ±À¼»BÇ:°dµ±°±»E®:À7ÁC¯ºÄ Å»B¸IÀ7ºµ ½ ^IcC_mF:!Í]®:¸IÁd®¼ ÃYÇ7ºµ]»BËP°±¯>¯»t¸ ÀVÅ ¹E¸Iº¯³µ]°dº¶´B¯SÂyºÁd®7º¶´»B°d»E»BÁC°¼µ±¯³»E°dºº³h-!$# [! ¸IºÆÁm´EÀ5 Ä Ám¯³°±À:¯S½!h !- cC_ÒbC^ ' Å ¸ : Ë d ° B » ± ° È : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ /]¯mµ±Ç:°±À7º1»tÀ:¯³Í]Šȼ»BÅ ´5Á³»Jµ±¯S½Ám´E²VÈÆ´Bµ±®:¯>·E¸ ¹E¯³À<cC_ÒbC^ Rh @> [ N<O N<O ' @ > !7 [ N<O N<O ' " -@> !7 [ @> @> @> @> @> @> @> @> N<O N<O N<O N<O 7 7D 7 7D N<O N<O N<O N<O N<O N<O N<O N<O 7 N<O @> N N<O @> N N<O @= 7 @> N<O @=B9 N<O B< !9 *A @> @= = 7 @> 'R /= N @> LR N / @> N @> !<> @> K N<O @> N<O <N O N<O N<O @> @> @> 7 @> ?9 @> !<= @= N<O N<O Æc C Ò _ C b ^ d : J ' b Å ¸ : Ë d ° B » ± ° È : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ »B@Àµ±´EÇ:°±¯SÀ7ºMº¶²Pd:¯SÁmJ¸b]¿7¸¯SÀY½¯³¹J¹E»B¯³Å °±Ç:Èl¯E¯³h Å ¯³Ãn¯³À@µy´BÂ5µ±®:¯{·E¸ ¹E¯³ÀncC_ÒbC^ >»BÀ7½>°±¯mµ±Ç:°±À7º > 7 Ó¯SÁCµ±´E°dºÓ»B°±¯®:¯mµ±¯³°±´E·E¯³À:´EÇ7ºyºµ±°±Ç7ÁCµ±Ç:°±¯SºyÍ]®:´@º¶¯¯³Å ¯³Ãn¯³À@µdº»B°±¯¸ À5Ä µ±½5@®7Ç:¯m»BÐ5¸ °±À¾¯S¯S½É½¾»ËVµ±ÅÈ´¾¸Iºµn¸ »EÀ@Á³´Bµ±Ám¯³Âl¯S·Eµ±º±¯³®:º¼°d¯º³» hº±»B°dj(»BÃnÀ7¹E¯½5¯S´EÁCÅ ¯³Ãnµ±À:´EÅ·B°rÈ«µ±µ®ÈVÁdF{®:²:´@»B¸IÁ³À7º¶»B¯³½ ÅÀÏȵ±¯³®:´5Å ¯¯³Á³ÃnÁm»fÇ:¹E¯³²:À@¯³°dµ¸ ¯S»Bº>¸I·Eº¯nÅ ¯Sµµ±º±ÈV¸ºYÃn²:º¶¸I¯Á³²7»B»E°±Å Ám¯mÈ¯Ä Åq¯S®:º±ºM¯ ´E °µ±B®:_¯>¹E´B¯SÂlÁC»<µ±´E¹E°M¯Sµ±ÁC®7µ±»B´EÀ°Y¸IºY´E°µ±®:µ±®:¯¼¯>ÀVÅ Ç:¸IºÃYµSh ËP¯³°t´BÂl¯³Å ¯³Ãn¯³À@µdºiµ±®7»Jµt¸ µ ¿:¹EÁm´E¯SÐ5À@ÁC¯Sµ±µd½Î´E»B°¸ Í]À7»Bº³®:°±h¯³¯À qµ±µ±®:®:®:¯¸I¯º¯m¹EÀVÐ:¯SÇ:»EÁCÃYÁCµ±µ´EËP°t¯³À:°Æ¸I´EºtÀ5¸Iº¼Ä[ÁmÀ:°±»¯S¯³»J·@À:µ±»J¯S´Eµ±½!¸À5¹EhÉÄ[¯<À:q¯³¸ ·@À@®:»Jµ±H¯ ¯³µ±·E¸ ¹E#J¯³¯ °dºÆ^¸ \ÉÀ@Å µ±¯S^¯³º±R·Eº\E¯³µ±°n®7Vµ±C»B®7ciÀÏ»J´Bµ¼µ±Âl®:¸I»¯º ÅËV¯³È À:·B³µ±¯³®>°±´7´BFÂV»Bµ±®:À7¯½<¹Eµ±¯S®:ÁC¯nµ±´EÅI°S»Ehºµ>q¯³®:Å ¯y¯³Ãn¿7°d¯³ºÀ@µµ>¯³Å¸I¯³ºrÃn¸ À7¯³½5À@¯mµÐ5¸ Ài¯S½»ËV¹EÈ<¯SÁCµ±´E´EÀ:°¯t¸IºÅ ¯S¸ º±À7ºÌ½5µ±¯m®7Ð5»B¯SÀ½ µ± Ó®:¯S¯>ÁCµ±Å ´E¯³°dÀ:º¼·Bµ±»B®°±¯´BÂÍ]µ±°±®:¸ ¯>µ¶µ±¹E¯³ÀH¯SÁCµ±Ç7´Eº¶°S¸ hÀ:· µ±®:¯À:´Bµd»Jµ±¸ ´EÀ `E 0 Q'Vh z:´E° ¯m¸ ÀÐ:»B¯³ÃnÅ ¯³²:ÃnÅ ¯E¯³F!À@»Æµ ¹E:¯SF1ÁCµ±µ±®:´E°Ì¯´BŠ¸IºµÅ ¯³À: ·B µ±® Ám´E!À@'ɵd»B¸ ¸ÀÀ:¸ ¯³À:Å ·Æ¯³Ãnµ±®:¯³¯tÀ@µ ÀVÇ:EÃYFÌËP»BÀ7¯³° ½«³µ±¯³®:°±´¯ ºµ±°±¸ À:· E+O 5E ¸ À¯³K Å ¯³Ãn¯³À@µ K Á³»BÀËP¯>Í]°±¸ µ¶µ±¯³À»EºM´EÅ ´JÍ]¸ À:· v1»BÀÉ´Bµ±¯m¯ÓÐ5µ±²:®7°±»J¯Sµº±º¶µ±¸ ®:´E¸IÀº¸I¯³º!¹Jµ±»B®:Å Ç7¯{»J¯mµ±ÐV¸ µ±À:¯³·°±À7µ±»B´ÅE°±»¯³²:¹E°±¯S¯SÁCº¶µ±¯³´EÀ@°Sµdh¼»Jµ±~¸ ¸´EEÀr¯´BÅ Â:¸Iº»]µt¹EÁm¯S´EÁCÀ7µ±´Eºµd°S»BFSÀ@À:µd´Bº³µ F ¹E¯SÁCµ±´E°]Ám´EÀ7ºµd»BÀ@µdºÃYÇ7ºµ1ËP¯ @Ç:´Bµ±¯S½ @> !-" =@= E ,$-.)(/0*0$-1e N<O MPOM M <@ A GR N<O R N / & q !< q QB pc1EED % B E+O E K pc1EED K L!M +E O E K pc1EED K £ E ` : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ /]¯mµ±Ç:°±À7º Ƹ Â1`E ƸIº1»t¹E¯SÁCµ±´E°SFV´Bµ±®:¯³°±Í]¸Iº¶¯r°±¯mµ±Ç:°±À7º "Ph ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ /]»B°±¯m·Eµ±Ç:Ç:Ãn°±À7¯³ºÓÀ@»ÌµrÀ:¸IºÌ¯³Í]·E¸ Å ¹EÈY¯³»BÀÅ FR´5µ±Á³®:»J¯³µ±ÀɯS½Y¯S»E¹EÁd¯S®ÁCµ±¯³´EÅ °y¯³Ãn´BÂ6¯³%YÀ@µr¯³Å ¸I¯³ºrÃn¸ À:¯³À@¸ µ±µd¸Iº³»BhÅ ¸ ³w[Â!¯S½<»Ìº¶µ±¯S´ Ám´E À7a½ h ¿71¯Sµ±½!®:h ¯³°±Í]¸Iº¶¯Yµ±®:¯¸ À:¸ µ±¸I»BÅÁm´EÀ@µ±¯³À@µdºÌ´BÂM¯S»EÁd®¯³Å ¯³Ãn¯³À@µ>¸IºrÇ:À7º¶²P¯SÁm¸ Ä /µ±] ®:¯m¯>µ±Ç:·E°±¸ ¹EÀ7 ¯³º>ÊÀ»`E»BÀ:°±0 ·E¯³Ç:Í]ÃnÅȯ³' À@»BµdÅ º³´5hyÁ³j1»Jµ±À7¯S»B½Å ´E¹E·E¯S´EÁCÇ7µ±º{´E°rµ±´ Í]®:´@º¶¯nRÅh ¯³¸ Ë:Å ¯³°dÃn»B°±¯³ÈÀ@µd²:ºi°±´5ÁmÁm´E¯SÀ@½5µdÇ:»B°±¸ À ¯ ;*9>![ 0!' 0 +* <-,*9 ;*9>&%(' +* <-*, 9 ;*9 >&%.R R/' GK J d m a _ J ` J%H`E0!' b : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ ¸¸I? Àiº]ÃYÇ:¯³ÅÀ7Ç7¯³º¶ºÃn²Pµ¯³¯SËPÀ@Ám¯r¸µ ¿7»i? ¯S½!¹J´Bh»BÂ6Å #J¸I½Ædm¸_aÀ7`J½5bV¯mhyÐÆq´B®:¯{#J¹Jd»BmÅ _aÇ:`J¯{bV°±h ¯mµ±Ç:°±À:¯S ½r!ËVÈ - ºµ± ´E!°±¯Sºr-`E 0 E EE E O E K KKK ;*9>!79- # 1-1( ,$-. E ,$-.)(/0*$'-1( ,$-. K L!M U 8 8 E 6f6 = GHI 6 = 6 K L!M I E ,$-.)(/0*0$-1e E 6f6 = GHI 6 = 6 K E 1-1( EE & E 0/)2E$# E4F E $.1/$'L* 6 KKKKK E &)e E &9E- $.)( < & K E &9E- $.)(*+1- $.)( & K & KKK L!M 6 = N<O Ö:h«@µd»BÀ7½:»B°d½¼²:°±´5Ám¯S½5Ç:°±¯Sº E ,$-.)(/0*$'-1( L!M H > 79 pc1EED ,$-.)(/0 H ,$-. 6 *9 > 79 ;*9 E C 2- C 2- KK +E O E C 2- C 2- K pc1EED K +E O 6 K 6 p#/1- K 3 a .1/)E')()E$(,$-.)(/0 J^IdcCm_ _a`Jb ÅÅ ¸¸ Ë:Ë:°d°d»B»B°±°±ÈȲ:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ Ám»Ì´EÀ:À@¯³µdÍ]»B¸ Å À:ÈY¯SÁm½Y°±¯S¸ ÀY»Jµ±µ±¯Sr®:½Y¯°±¯m¹E¯³µ±¯SÅ Ç:¯³ÁC°±Ãnµ±À7´E¯³°yºMÀ@¸»>µdÀ:ºy¸À:µ±´B¯³¸I»BÂÍ]Å #J¸Å ³Èd¯Sm»B½i_a`JÅ µ±b5´5´Ìh Á³µ±»J®:µ±¯S¯]½n¯³!Å Å ¯³¸IºÃnµM¯³´BÀ@Â!µdµ±ºy®: ´B1¯ÌÂ7°±´Eµ±¯m®:Ë µ±¯]Ç:¯SÅ°±ÁC¸IÀ7µdºµºº ^IcC_mh E E KK ;*9>!@=$# ' =! ;*9 >'R Q' *9 >!@= R ,$-.)(/0*+$&')( ;*9 > #)BZ#)B#D&)#)B L!M E #)B#)B#D&)#)B K E $&')(*+,$-.)(/0 E #D&)#D&)#D&)(Z#)B KK L!M E #D&)#D&)#D&)(#)B K J d m a _ J ` b /' Å ¸ : Ë d ° B » ± ° È : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ VË@ȵ±´E°±¯Sº ¸ À¯³¹E¯³°±¸ÈIº]¯³ÅÇ:¯³À7Ãnº¶¯³²PÀ@¯SµrÁm¸ ´B¿7¯S½!#Jhdm_a`JbVh>q®:¯t¹J»BÅ Ç:¯t°±¯mµ±Ç:°±À:¯S½ l Ú qÁm´E®:À@¸Iµ±º1°±´EÁd®7Å5»Bµ±®:²5¯µ±¯³7°]´J½5;¯Sº±´BÁmÂ!°±¸²:ËP°±¯S´Eº·E°d¹J»B»BÃÊ°±¸ ´E¯mÇ7Ð5º¯SÁm²:Ç5°±¸µ±Ãn¸ ´E¸Ànµ±¸ ¸¹EÀ¼¯rº¶²:²P°±¯S´5ÁmÁm¸I¯S»B½5Å7Ç:Í°±»f¯SÈ5ºMº³Í]h®:q¸I®:Ád® ¯ $# [>²:°±¯S½5¸IÁ³»Jµ±¯r¸Iº]»BÅIº¶´½5¯Sº±Ám°±¸ ËP¯S½¼®:¯³°±¯Eh $# [`E 0!' : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ E K L!M E K /]¯mµ±Ç:E°±À7º Ƹ Â1`E 0¸Iº1»tK ²:°±´5Ám¯S½5Ç:°±¯EF5´Bµ±L!®:M ¯³°±Í]¸Iº¶¯Ì°±¯mµ±Ç:°±À7º "Ph ! #Jdm_a`Jb' : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ K L!M E E K&E4F KKK µ±/]¯³¯m·Eµ±¯³Ç:°S°±h À7ºlµ±®:¯tÀVÇ:ÃYËP¯³°Ì´BÂ{¯³Å ¯³Ãn¯³À@µdºÌ¸ À #Jdm_a`JbÆ»EºÌ»BÀ¯mÐ:»EÁCµÌ¸ À5Ä EE L!M E E E & K 4 E F KKK ! "$#Jdm_a`JbJ%(' : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ L!M K Ám? ´EÃYÀ@µ±Ç7¯³ºÀ@µµdºËP¯Ì´B»i¯³¹JÅ ¯³»BÃnÅ ¸I½Æ¯³À@¸ µÀ7½5? ¯mдB ´B#J d#Jmd_a`Jm_ab5`Jh bVh ! "r°±¯mµ±Ç:°±À7ºÓµ±®:¯ E L!M ;*9 > = ,$-.)(/0 h" ;*9 ;*9 . "V. > @=B9 > >*9 .R R ;*9>!-" =@= # .R R C;*9 >!-" =@= & > > .R R ()*K '7) *#+ 4 9BA >*9 9BA >*9 3$0/$.-1#12$0$- < 1. 0 3$0/$.-1#12$0$- < 1. 0 3$0/$.-1#12$0$- < ! "$# 3$0/$.-1#12$0$- < *9 > >*9 !"$# 1( 1e 1( 1e .1*)C&)(1BD*$.92$00$-E$(*$.1/)E$(D&9E2D(&1/)E 3$0/$.-1#12$0$- < 1( ]/ ¯³¹V¸Iº¶¯S½ i5Ád®:¯³Ãn¯ Rb±`S-Jb nJb Jc-' : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ Á m E ´ n à : ² 5 Ç ± µ S ¯ Y ½ B » 7 À r ½ ± ° m ¯ ± µ : Ç ± ° : À S ¯ ! ½ h q : ® { ¯ J ¹ B » Å : Ç { ¯ B ´ 5  ± µ : ® M ¯ : ² ± ° E ´ n à I ¸ ¶ º ¯ I ¸ º ³ Á E » d Á : ® S ¯ ½ X E ´ ° ¶ n à ³ ¯ n à E ´ ¸ ³ S ¯ ½ @ 1 e ¶ º ¼ ´ ± µ 7 ® J » r µ ¸ {  ¸ r µ I ¸ l º  E ´ d ° m Á S ¯ < ½ ¼ » ¶ º S ¯ m Á E ´ 7 À ½ ± µ ¸ n à E ¯ R F ± µ : ® ¯ MbRb±±`S`SÎtÍ]ÃY¸Ç7µ±®.ºµiµ±ËP®:¯¯-»¯³Å²:¯³°±Ãn´5Ám¯³¯SÀ@½5µdºÇ:°±´B¯n»Bµ±À7®:½«¯-JÅ b ¸IJºµcnÃY Ç7ºµ>ËP ¯Æ» Å ¸IºµShÆÊLMJ»Bb ÅIº ²:±° ¯³¹V¸ ´EÇ7º¶Å ȼÁm´EÃn²:Ç5µ±¯S½¼¹J»BÅ Ç:¯>¸Iº°±¯mµ±Ç:°±À:¯S½!h 'Jb J-c 'Y»EºMµ±®:¯i»EÁCµ±Ç7»BÅ»B°±·EÇ:Ãn¯³À@µdº³h E E E KKK L!M E EE E E KKKK 8) < N= O ] O ] O E )33DF E $&')(= NKK 4 *0 . O = < !9 *A O L!M e/0D.- $# -$F 4V6 1-1( 3 $# -$F 4V6 E $&')( E e/ 0D.-L3 KSE e/0D.-L3 8 E #$-1eD&9E-].1/!3D/$'E !"$# E efG K E !"$#0GD' E e E )33DFG0GD' KKKKK EE .1/!3D/$'-]')%0( FK 6 8 G K L!M KKK L!M E =L= K E #$-1eD&9E-Z*$')(0$-$! E 1-1(0$-. EE E- ( E !"$# E E K E .1/)E' E E #$-$F E E- ( E 4 E 6 KKKKKKK E E- ( O-KKK E #$-1eD&9E-LB-$#].10 K E #$-1eD&9E-f($&1 E !"$# E ')(0$-$! K E e/0D.- E .)#0]')(0$-$! KKKK E B-$# E ($&1 E ($&1f*$')(0$-$! KKK L!M O = = R ± b S ` I ^ C c ^IcC_ S' _ Å ¸ : Ë d ° B » ± ° È : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ q»EºÓ®:ï »B^IÀVcC_¶ÈYº!»BÃY°±·EÇ7Ç:ºµÃnËP¯³¯À@ŵd¸IºÓºµd»Eº³ºyFfµ±»B®:À7¯³½ °±¯1Rb±»B`S°±Ó¯ ÃY^IcCÇ7_Iººµ»BËPÀ7¯{½t»°±²:¯mµ±°±Ç:´5°±ÁmÀ:¯S½5¸ À:Ç:·i°±¯»rµdº¶» ¸ VÀ:¸ ·EÀ:Å ·¯ ¹JËP»B¯YÅ Ç:µ±®:¯Eh¯º±w[Â1»BÃnÃn¯Y´E°±Å ¯³¯nÀ:µ±·B®7µ±»B®ÀÎh ´EÀ:<¯ »B^I²:cC_i²:Å ¸I¸ ºi¯Sº ·ER¸ ¹Eb±¯³`SÀYF¯³µ±Å ®:¯³Ãn¯³À ¯³À@µ±µ¶®:Ä[¯³Í]ÈɸIº¶ÃY¯YÇ7µ±´Æºµtµ±»B®:ů ¯³´EÅ°d¯³½5Ãn¯³°S¯³hlÀ@µdqºn®:´B¯tÂl½5µ±ÈV®:À7¯ »BÃn^IcC¸I_¶Áiº´E»B°dÀ7½5½-¯³°l°±¸¯mÀ<µ±Ç:Í]°±À7®:ºn¸IÁd® »RÅ ¸Ib±º`SµÆi´B¸IÂ1ºÌµ±»B®:²:¯²:Å °±¸ ¯S¯Sº¶½Ç:µ±Å µd´Æº³F{µ±®:¸ À¯ ¸ À ÂÇ: À7lÁC»Bµ±À7¸ ´E½ À7»BÅyºµ:ÈV >Å ¯E»Bhl°±¯{qî:¯>»B¸ ÂÀ:´EÅ ÅÈ>´J¸ Í]À@µ±¸ À:¯³À7·Æ½5¯m¯SÐ:½>»BÂÃn´E°y²:Ų:¯S°±ºl´E·Eº¶®:°d»B´EÃÇ:ÅIº½Í]À:°±´B¸ µ¶µÌµ±ËP¯³À ¯ mÁ Å ´EÇ7À7ºº¶µ±¸I°d½5»J¯³µ±°±¯1¯S½¼µ±®:µ±¯Ì´²:¸ Å°±´EÇ7²Pºµ±¯³°d°¶»JµÈtµ±¯>µ±®7·E´V»JµM´5½´EÀ:²:Å °±Èn´E´E·EÀ:°d»B¯lÃn¹JÃn»BÅ Ç:¸ À:¯Ì·n¸IºMºµÁmÈV´EÅ Ãn¯EF:²:Ë:Ç5Ç5µ±µ1¯S½µ±®:¯³´EÈ ° ¯³Å ¯³Ãn¯³À@µdº´Bµ±®:¯ ^IcC_¶º]¸IºÇ:À7º¶²P¯SÁm¸ ¿7¯S½!h ¸ E EE K&E KSE KKK »t:² °±´EÃn¸Iº¶¯EF5À:´Ã»Jµ¶µ±¯³°]®:´JÍûBÀVȵ±¸ Ãn¯Sº]¸ µ1¸IºM´E°dÁm¯S½!h L!M E K +* < R ] -R 4R H] *< &R R 5R ] > 9 A9=B< ] >R )3V.1#0 " #"Z-NB GLB E #$-1eD&9E-].1/)2E$( O-K E #$-1eD&9E-L3 E #$-$F E "-1GD&9E E '-1( H .1/)2E$( E &)e E +f.1/)2E$( .1/)2E$( E e/0D.-N3 E #$-1eD&9E- G K 3 E e/0D.-L3 K 3 E "-1GD&9E E '-1( H 6 O-K E e/0D.-N3 KK E )3 E !"$# E E K&E - 3$(LEfE KK E 6 = N G KK L!M E 6 N 8 G = 6 G K E )3 4 E 6 = K E8N G -KK L!M /E G 8 -K E 1-1( EE .1/)2E$( O-KK E )3 E !"$# E &)G1ED/0$-1# K E '-1( H .1/)2E$( E 4 .1/)2E$( 6 KK .1/)2E$( K E X" KKK L!M E 6 K E 6 K E 4 .1/)2E$( 6 KK K KKKKK L!M 3[, L!M L!M 3[, &= L!M RA9=B<: $">9 1gx°±¯³´E°±¯ÉÃn¸I¸Iº¶º¯Sºl»-»B²P°±¯Y´@º±¸ º¶Ãn¸ Ë:²:Šůɯ³Ãn¸ Ãn¯³À@²:µ±Å ¯S¯³½Ãn¯³®:À@¯³µd°±»J¯tµ±¸»E´EºÌÀ²:´B°±´5 Ám¯S½5Ç:°±¯SϺ1»B´BÀ7Â{½ À:´»B°±·EÇ57Ä h " ! * Rb±`S ^IcC_ ^IcC_ S' Å ¸ : Ë d ° B » ± ° È : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ n à ³ ¯ @ À d µ ³ º 7 F B » 7 À ½ " nº¶¸ Ãn²:Å ÈÁ³»BÅ Iº¸ µdº]»B°±·EÇ:Ãn¯³À@µ Ë:¸qµdÇ5º{®:µ¯l¹J»B"»BÅ °±Ç:!·E¯SÇ:º³Ãnh 1¯³*À@À:ƵdÅ º¸ Á³Eµ±»B¯ ´ Å I* º "R!!b±F`S"r Â!´E*°1i¸ »Bµd°±ºl*¯]Yº¶Å¸I¸½5¸IEº{¯>¯·E¯mµ±Ç7ÑR®:»B¯S¯1°dÁC»B»BµdÀ@°±º1µ±·E¯³°dÇ:»J¯SÃnµ±½Y®:¯³µ±¯³À@´Y°]µdºyÁ³µ±»B®7µ±Å´»BÀ*Rb±Â`S´E!° F E E E E KKK K ´EÃnÀH¯³À@µ±µf®:X¯ºdey¯³µ±Å ´i¯³Ãnµ±®:¯³¯lÀ@µdÅIº»Eº´BµSF5Âi»Bµ±À7®:½t¯ µ±®:I^ cC¯Ì_±º¼¹J»B¸ Å À£Ç:¯1´E°±°d¯m½5µ±¯³Ç:°Æ°±À:°±¯S´E½Ã ËVȵ±®:"¯ !¿7°dºµ*¯³YÅ ¯m¸IºÄ G¯i½5¯m¿7À:¯rµ±®:¯>¯mÐ5²:°±¯Sº±º¶¸ ´EÀ Ç:À7º¶²P¯SÁm¸ ¿7¯S½!h E )@g:2:>&),0303' /# K E EE E G KKK µ±´®7»f¹E¯lµ±®:¯iº±»BÃn¯rÃn¯S»BÀ:¸ À:·»EºMµ±®:¯>²:°±´5Ám¯S½5Ç:°±¯>Á³»BÅ E E E K E E EWK )@g:2:>&),0303' /# KK E E4F KKK E+O NKK K L!M E+O N -K »EºM´EÅ ´JÍ1º E " Rb±`Jt^Ic³- ' Å ¸ : Ë d ° B » ± ° È : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ EWK z¹J:»B´EÅ°dÇ:Ám¯t¯Sº®7µ±»E®:ºÌ¯MËP¹J¯³»B¯³Å Ç:À¯MÁm´B´E ÃnR²:b±`JÇ5tµ±¯S^I½c³i´EX°Ìº¶¯³µ±¯ ®:¯t²:°±:´E RÃnFfº¶¸I¯Sº¶¯EÁCµ±FR¸ µ±´E®:ÀY¯³Ô7Àh »¼h ÕE¹JeC»BhÅ Ç:w[Â7¯tÀ:¸I´ º E EEE K E EWK KKKKK > B9@< > B9@< R , ] -R B > 9 > B9@< 5] < > B9@< < ] -R #$-1eD&9E-fe/0D.!"$# /)" 1-.)( /)" 1-.)( > B9@< #$-$F 1-1( , > -$*,$-.)(/0 e/0*1-$$.9B !"$# & ,$-.)(/0*$'-1( H ,]& 6 = , > 9U] ] &A9=B< > -$*)3$0/!7&'- &L& 6 !"$# 6 #$-1eD&9E-$*$')F1E$( #$-$F ')F1E$( *012D1-' #$-$FZ- 3$0$-''&1/)E > -$*)3$0/!7&'- !"$# - $3 0$-''&1/)E 808 Í]®:¯³°±¯ * -, * >¸Iº]½5¯m¿7À:¯S½»EºM´EÅ ´JÍ1º < *9 > 9 <=@= i CB E #$-1eD&9E- > -$*)3$0/!7&'E !"$# E 3$0/$. K E 1-1( EE 0$-'92D(*0$-$#F < 1e K E 0$-'92D( 1e KK E !"$# EWK E &)ef0$-'92D(*0$-$#F < 0$-'92D( E 1-1( EE E 3$0/$. KKK E &)ef0$-'92D(*0$-$#F < 0$-'92D( E "-1GD&9E E '-1( H 0$-'92D(*0$-$#F < E '-1( H 0$-'92D( K 0$-'92D( KKKKKKKK 1( K CB [ B E -1%, < E #$-$F 6 K 6 K E 3D$&)0 < E #$-$F E .1/)E' [ 6 @ Y @ Y L!M KKK L!M ¸µ±VÀ:¸ ´E¹E·7Ãn¯rF t¯r²:Í]°±¸ ´5Ãn®:Ám¯³²:¯S°±Å½5¯Ì¯³Ç:Ãnµ±°±®:¯S¯³¯>ºÀ@µdŹJ»J¸ »BEµ±Å¯)¸ Ç:´E¯>À7º´BÂÓût»fÈƲ:°±¸ ´EÃnÃn²: ¸IÅ º¶¯³¯rÃn¸I¯³ºÀ@µ ´E°d¶Ám¸ ¯SÃn½¼²:ËVÅ ¸IÈÆÁm¸ µ]²:°±Â¸´EÃn°dÁC¸ ÄÄ . 0 E 4 E #$-$F E4F = 8 AB> < *A KK 6= K L!M = N R ± b S ` ' ²:°±´5Ám¯S½5Ç:°±¯ Mb ±`SÃYÇ7ºµËP¯1# »r²:°±´5Ám!¯S½5Ç:°±¯M ´BÂR ´E# À:¯1 »B°±·EÇ:²7Ãn»E¯³Á À@JµS»Bh·Eq¯Sºr®:Ç:¯]²É²:°±µ±´5®:Ám¯¯S½5ÁmÇ:Ç:°±°¶¯Ä °±²:¯³°±À@´5µiÁm¯SÁm½5´EÇ:À@°±µ±¯ ¸ ÀVnÇ7»B»JÀ7µ±½¸ ´EÀ«²7»EXº±º¶º¶¯³¯S¯nº]µ±¸ µÌ®:¯»Eº1°d»J»Bµ±À¸ ´E»BÀ7°±»B·EÅ Ç:¯tÃnËP¯³¯³À@Å ´Jµ]Ílµ±eÌ´ »ERº>b±`S»BBÀ h]q¶¯S®:º±¯>Á³»B¯S²Pº¯Ä Á³Á³»B»B²PÅ ¯S¯½!²:F°±Í]´5Ám¸ Å ¯S{½5»BÇ:Ë7°±»B¯ÆÀ7¸I½5ºn´E»ÉÀÉ5Í]Ád®7®:»J¯³µ±Ãn¯³¹E¯¼¯³°i²:°±Ám´5´EÁmÀ@¯Sµ±½5¸ ÀVÇ:Ç7°±¯Æ»Jµ±µ±¸ ®7´EÀÉ»JµS¸IFº>¸ Â̸ À ¸ µn¯mÑR¸IºY¯SÁCÅI»Jµtµ±»J¯³°µ µ±Í®7»E»JºÓµÌ¸ ÀÅI»Jµ±¯m¯³ÑR°l¯SÁCµ±µ{¸ ÃnÍ]¯n®:¯³»BÀnÀ7½µ±®:Í]¯l¸ ¯SÅ º±Á³¸ À7»Bº²Pµ±¯]¯S»E²:½°±´5Ç7Ámº¶¯S¯i½5Ç:µ±®:°±¯]¯tÍÁm´E»EÀ@ºµ±Ám¸ °±ÀV¯SÇ7»J»Jµ±µ±¯S¸ ½!´EÀhÓLMµ±®7»BÅ»JµÄ ¸»BÀ:À7·]½Éµ±®:d¯{_am¯SbYº±Á³µ±»B®V²PÇ:¯ÓÀ ²:5°±º´5¸ÁmÀ7¯Sº½5µdÇ:»B°±Å ¯¯Sý»fÇ7È̺¶¸ Á³À:»B· Ç7º¶¯Ó µ±®:¯* ¸ÀV¹E´5Á³»J µ±P¸ ´Eh Àr´BÂdm`Jb± ·EqÇ:®:Ãn¯«¯³¯SÀ@º±µdÁ³º »B²P»E¯-º+²:µ±°±®:´5¯ Ám¯S½5ÁmÇ:´E°±À@¯«µ±¸ ÀV»EÇ7Á³»JÁm¯³µ±¸²5´EµdÀ#ºµ±µ±®:´ ¯Ïµ±º±®:»B¯ Ãn¯-´E°±ÀV¸ ·EÇ:¸ ÃYÀ7»BËPÅϯ³° Á³»B´BÅ ÂÏ»Bµ±°¶´ Ä <=@=i#>@>*9!- #*<- ] <=@= i >@>*9 !< V0 R] A !< i *A !< <=@= i <=@= i »B°±»B¯>°±¸ º¶´EÇ:Ç7²:º>²P¯m´EÐV°¶µ±µ±¯S¯³À7½¼º¶¸¸ À´EÀ7º¶ºr´EÃnµ±´¯rµ±¸ ®:Ãn¸IºY²:Å º¶¯³¯³Ãnï³»BÀ@À@µdµ±»J¸Iµ±Á³¸ º>´EÀ7´Bº  <»BÀ7½ º¶LM¸ Ãn»BÅ ²:¸ ÅÀ:ȼ· °±"¯mµ±Ç:°± À¼iµ±´E®:À¯>»B´EÀ¼Ë ´E¯SË ÁCµS¯Sh ÁCµMµ±®7»Jµ]¸IºMÀ:´Bµ]»Y²:°±´EÃn¸Iº¶¯ÌûfÈ w[»nµY²:ð±´E»fÃnȸIËPº¶¯i¯Á³µ±»B®:À¯ËPÁ³¯Y»Eº¶´E¯n²Pµ±¯³®7°d»J»Jµ±µi¸ ´Eµ±À7®:»B¯³°±Å ¯Æȼ¸I½5ºi¸IºÀ:µ±´<¸ À:Ãn·EÇ:¯S¸I»Bº¶À7®:¯Sº>½¼ËVÈ°±´EÍ]î:¸I¸Ádµd® º ÂôE°d»fÁmȼ¯S½Î¯³¹J¹J»B»BÅ Ç7Å Ç:»J¯Eµ±¯>h¾µ±q´Æ®7¯³»J¸ µ±µ®:¸I¯³º³° F{¯m¼Ð5²:´E°±°]¯Sº±µ±º¶´ ¸ ´EÀ7"PºYFPŽ5¸ E¯³²P¯¼¯³µ±À7®:½5¯¸ À:·¼´EÅ ´E´JÀÍ]µ±¸ À:®:·¯ ¸ Ãn²:Å ¯³Ãn¯³À@µd»Jµ±¸ ´EÀ > 9 >@>*9 ! M 2:>&/IE' 03)WI?4,->&)@;=)@>E$&/Q' $&0G/!R7#N(4+ %).Y40G' #O$&C) + 40d$n)@g4IE2+ )4B/D(*)L/>&6,' #KN03%6AC 4 2:>&/IE' 03)QI?4,-h6!4%03)Q$&C) 2:>&/IE' 03)i$&/[B)Z;=/>&6,)!9P4<03),6,/#59V$&' IE)iB)@;=/>&)Z$&C)Z(4+ %)Z/;^$&C)ic>&0d$ ;=/>&6,)nC540?B),),#6,/IE2%:$&)!9lLhbYC' 0?6,/IE2+ ' 6!4D$&),0E$&C)n9:)@c5#' $&' /#/; > -$*)3$0/!7&'- L A9=B<: ">9 [ :Ö h«@µd»BÀ7½:»B°d½¼²:°±´5Ám¯S½5Ç:°±¯Sº µ±µ± ¸¸ ´EÀVÀ7Ç7ºy»Jµ±Ám¸ °±´E¯SÀ7»Jº{µ±¯Sµd½>» EËV# ¯ÌÈr¯mµ±Ð:®:»E¯ ÁCµ± Å È´EÀ: ¯Ì¹J »B# Å -Ç: ¯EhÓq!# ®:hR¯r|ÓÓ¯mÐ:²:ÑRÁm°±¯S¯³´5²5ÁCÁmµ]µM¯S´B½5´EÂÇ:°]²7°±¯EÁm»EFJ´Eº±»BÀ@º¶¸Åµ±À:5¸ ÀV·YÁmÇ7´EÀ:À5»J´ ÄÄ ¹JÀ:»B´BŵlÇ:Ám¯¼°±¯S´E»J°Yµ±¯SÃn½¼´EËV°±¯È µ± ®7»BÀ-´EÀ:¯Æ¹J»BÅ Ç:¯Æ#µ±´1Ám´E¸Iº]À@µ±Ç:¸ À7ÀVº¶Ç7²P»J¯Sµ±Ám¸ ´E¸ ¿7À7¯Sº>½!µ±h ®7»JµtÍM¯³°±¯ ¯mqºµ±ÐV®:´Eµ±¯Ì°±¯³¯SÀ@¯S½nµ º±Á³¸À¼»BÇ7²Pº¹Jµ1¯Ì»BÅ°±²:¸ ¸IE°±»B¯>´5Ë:ÁmÅ»B¯S¯SÀV½5ºÈÇ:´E°±´B°M¯1µ±½:®:µ±»J®7¯³µd°]»J»iµ]²:º°±¸Iµ±ºM´5°±ÁmÇ7²7¯SÁC»E½5µ±º±Ç:Ç:º¶¯S°±°±¯S¯Ì½nº{¸µ±À<»B´ À75R½Ádb±®:Ã`S¯³Ì»fÃn®7Èn¯E»EËPhyº{¯Ìw[Ç:µ1Á³À:»BÃÅ ¸Å Ãn»f¯SÈƽƸ µ±ËP¯S»E½ ¯º Ãq®:»B¯ÌÀVÈ´Eµ±Å ¸ Ãn´JÍ]¯S¸º1À:»E·Yº]¯m½5Ð:¯S»Bº¶Ãn¸ °±²:¯SŽ!¯Shºº¶®:´JÍÏ´EÀ:Å Ènµ±®:¯rÃn´@ºµ]Ám´EÃnÃn´EÀ¼Í»fÈ5º ¸»BÀÏÅ Í]°±®:¯S»B¸IÁdÅ® Ç7 º¶¯Sº«ÍM¯³°±¯»Eº«# º¶¸ Ãn²:Å !¯»Eº-µ± ®:¯S º¶# ¯ ¯mÐ:»BÃn¸I²:ºÅ ¯SÇ7º³º¶F¯S½!µ±®:h¯³°±w[¯  ÍM ´EÇ:ÅI½( ËP¯À:´ # À:¯³¯S½Â´E°¾» ²: °±# ´5-Ám ¯S½5Ç:!°±¯Ïh Í]¸ µ±® µ±®:¯²P´JÍM¯³°Î´B . ;*<= !9 ] <=@= i <=@= i ;*<= !9 >@>*9 >@>*9 !< !< E .1*)C&)(1BD*$.92$00$-E$(*$.1/)E$(D&9E2D(&1/)E E !"$# E - &)( K E e/0*1-$$.9B E !"$# E K E &)e E E-1G(D&),$- < K E - &)( KKK E/GN O = 8 *1= N G 6 -K K L!M *1= 1( KK E #$-1eD&9E-Z$&')(*1-E$G(1B E !"$# E /)" K E .1*)C&)(1BD*$.92$00$-E$(*$.1/)E$(D&9E2D(D&/)E E !"$# E 0$-1(12$01E K E 1-1(0$-. EE 0 E !"$# E /)" K E .1/)E$# EE E2D < /)" K O-K EE 3D$&)0 < /)" K E 4 E 0 E .)#0Z/)" KK 6 KK E -$$'- E 0$-1(12$01E 1e KKKKKK E 0Z/)" KKKKKK E $&')(*1-E$G(1B E 6 = NKK L!M N E $&')(*1-E$G(1B E " OR. KK L!M 1e ! M 6,/IEIE/# %03)j/; .1*)C&)(1BD*$.92$00$-E$(*$.1/)E$(D&9E2D(D&/)E ' 0O;=/> 0d$3>&%6@$&%:>&)!9l.:#/#:T + /6!4+])@g:' $&0; >&/IS+ //207/>72:>&/6,)!9:%:>&)1B/9:' ),0,.B%:$ ' #O;46@$ .1*)C&)(1BD*$.92$00$-E$(*$.1/)E$(D&9E2D(D&1/E ' 0G)@g$3>&),IE),+ -U%03)@;=%+ ;=/>' IE2+ ),IE),#$&' #K141R7' 9:)J(4D>&' )@$-G/;^49:(4#6,)!9G6,/#$3>&/+0d$3>&%6@$&%:>&),0,L C),#),(*)@><4n_6AC),IE)G)@g:2:>&),0303' /#U' 0<),(4+ %54D$&)!9`$&C)@>&)E' 0[4 &= PR4#$&' #KV$&C)<>&),03%+ $X/;8$&C)[)@g:2:>&),0303' /#]LEbYC)G6,/#$&' #%54D$&' /# >&),2:>&),03),#$&084#E),#$&' >&) 9:)@;4%+ $ ^;=%:$&%:>&)Y;=/>8$&C)6,/IE2%:$A4D$&' /#]L" ;5$&C) )@g:2:>&),0303' /#n' 07),(4+ %54D$&)!9P4D$7$&/2P+ ),(*),+.;=/>i)@g4IE2+ ).$&C),#W$&C)Z6,/#:T $&' #%54D$&' /#`IE' KC$7$A4 )1$&C)1>&),03%+ $!.l2:>&' #$i' $i/#n$&C)X036@>&),),#].2:>&/IE2:$ ;=/>Z$&C)<#)@g$Z' #2%:$!.),(4+ %54D$&)[' $!.]4#59n03/V/#n;=/>&),(*)@>!L W/0d$1/;F$&C) $&' IE)E$&C)E6,/#$&' #%54D$&' /# ' #6,+ %59:),0[46@$&' /#0[032),6,' c5)!9UB-%03)@>[6,/9:). 40Y' #W4X6,/#$&' #%54D$&' /#E$&C54D$8R7' + +$A4 )J$&C)7>&),03%+ $!.I[%+ $&' 2+ -G' $B-[$&C) (4+ %)Z0d$&/>&)!9V' #P4<+ /6!4+](4D>&' 4B+ ).5499?03),(*),#].4#59VK' (*)i$&C)Z4#0dRY)@> $&/U$&C)n$&/2 + ),(*),+i6,/#$&' #%54D$&' /#h$&/ B)`2:>&' #$&)!9lL @i/>&I?4+ + -$&C),03) %B' %' $&/%0F6,/#$&' #%54D$&' /#0Y4D>&)7C' 99:),#EB),C' #59<$&C)7036,),#),0Y4#59G2:>&/T K>A4IEIE)@>&019:/V#/$Z$&C' # I[%6ACQ4B/%:$Z$&C),IPL i#`>A4D>&)G/6,6!403' /#0,. C/!RY),(*)@>!.*472:>&/K>A4IEIE)@>I?4,-Z#),)!91$&/i9:)!4+R7' $&C<6,/#$&' #%54D$&' /#0)@gT 2+ ' 6,' $&+ -L d$*)C&)(1BD*$.92$00$-E$(*$.1/)E$(D&9E2D(D&/)E 4+ + /!R70_6AC),IE)82:>&/T 8 Ô /]¯³¹V¸Iº¶¯S½ i5Ád®:¯³Ãn¯ K>A4IEIE)@>&0H$&/[9:/1$&C54D$YB-G6@>&)!4D$&' #K[4X2:>&/6,)!9:%:>&)7$&C54D$46@$&0 d%0d$+ ' ) $&C)Z6,%:>3>&),#$76,/#$&' #%54D$&' /#]L W/0d$i2:>&/K>A4IEIE' #KG+ 4#K%54K),0i' #6,/>&2/>A4D$&)X/#)X/>iIE/>&)1032),6,' 4+ T 2%:>&2/03)Q),036!42)6,/#0d$3>&%6@$&0VR7' $&C #54IE),0V+ ' ) - &)( . 0$-1(12$01E .i/> ),(*),# G/(/ L "# = .XC/!RY),(*)@>!.X\^)@$&)@> 4#59:' # = X' #(*),#$&)!9 4 K),#)@>A4+J2%:>&2/03)n),036!42)n/2)@>A4D$&/>V6!4+ + )!9N$&C) T /2)@>A4D$&/>! L /C# J)@-:#/+ 9:0 X9:),036@>&' B)!9 4 03' IE2+ )@>PB%:$P) %54+ + - 2/!RY)@>3;=%+16,/#:T 0d$3>&%6@$1' # =LEbYC) .1(D.9B 032),6,' 4+;=/>&I 9:),036@>&' B)!9QB-Q_%0303I?4# 4#59W_$&),),+ )Z' #?$&C) =X>&),2/>3$/#n_6AC),IE)J' 0)@g46@$&+ -?$&C)i0&4IE)Z40 J)@-:#/+ 9:0,a 086,/#0d$3>&%6@$!.*$&C/%KCE' $&08#54IE)6!4IE); >&/I 41+ ),030YK),#)@>A4+ 6,/#0d$3>&%6@$V' # P46 ]' 032]L _),(*)@>A4+Z_6AC),IE)W' IE2+ ),IE),#$&/>&0E#/$&' 6,)!9 $&C54D$F$&C)7;=%+ +52/!RY)@>Y/;l$&C) .1(D.9B 6,/#0d$3>&%6@$Y6,/%+ 9GB)J2:>&/D(' 9:)!9GB412:>&/6,)!9:%:>&)i' #0d$&)!49E/; B-E4X032),6,' 4+0d-:#$A46@$&' 6J6,/#0d$3>&%6@$!.:4#59G$&C) #54IE) .1*)C&)(1BD*$.92$00$-E$(*$.1/)E$(D&9E2D(D&1/)E R40V6,/' #)!9' # =L bYC' 0[#54IE)E' 0G9:),036@>&' 2:$&' (*).HB%:$</2' #' /#0G9:' kl)@>[/#U$&C)?IE)@>&' $&0</; 03%6ACQ4V+ /#KV#54IE). 4#59n03/IE)[2),/2+ )[%03)<$&C)[#54IE) .1Q$.. ' #:T 0d$&)!49lL £ E ` : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ ÂolÁm´E¯S¯³°n½5Å Ç:¸ Ám¹E°±´E¯³¯EÀ@°dFÓµ±ºt¸»BÀV»BÅ Ç7Å M»JÁmµ±´B´E¸ Â1À@´Eµ±À7¸ µd¸ ºYÀVºnÇ7Ám»B»J°±°±¯Sµ±·E¸»J´EÇ:µ±À7¯SÃnº>½ ¯³µdÀ@ËV» µdÈEº>¯Æµ±µ±®:´¯m¯JÐ:¸ »Eµd ÁCºtµ±ÅÁmÈÉ´EÀ@´Eµ±À:¸ ÀV¯ÆÇ7¹J»J»Bµ±Å¸ Ç:´EÀ¯EhhÉ# |ÓnÐ:Ám²:# ¯³°±²5´BµÄ Ãn¸ ·E®@E µ1ËP¯i½5¯m¿7À:E ¯S½»Eº{´EÅ ´JÍ1º K ;*<=#!9 0 ' <=@= CB i #$-1eD&9E- ,)2-' O (1B&9E$GD' E .1*)C&)(1BD*$.92$00$-E$(*$.1/)E$(D&9E2D1(D&1/)E E !"$# E .1/)E$( K&E )33DFV.1/)E$(f(1B&9E$GD' ;*<= !9 *<= !9 KKKK R ± b S ` \ 7 d m Î b d ` : c 5 m ' b : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ Ç7²:LM°±»J»B´5µ±Å ¸ÁmI´EºÌ¯SÀ½5¸ µdÇ:µ±º °±®7¯iR»JµSb±Í]`SFP¸\ Í]µ±7®<®:d¯³mµ±b¼À®:´@»B²7º¶°±»E¯Y·Eº±Ç:¹Jº¶¯S»BÃn½Å Ç:¯³À@º¶¯S´EºÌµrÃn»EÍ]¯>ºl¸ µ±¹J»B®»B°±·EÅ À:Ç:Ç:´¯SÃnº³¹JFP¯³»BÀ@Á³Å »BµdÇ:º³Å ¯SIh̺ºrqµ±»B®:®:À7¯¯t½dÁm»` ´E:À@Ámc ´Eµ±5¸ À@ÀVµ±Ç7¸ mÀ5»Jb ÄÄ µ±µ±¸´ ´EÀ ´E°µ±®:¯ÌÁ³»BÅ :µ±´# d` :5ch 5mbr¸IºÓµ±®:¯ÌÁm´EÀ@µ±¸ ÀVÇ7»Jµ±¸ ´EÀ´BÂRµ±®:¯ÌÁ³»BÅ <=@=i ;*<=#!97:] H] P N P P N P N P <=@= i ;*<= !9 E .1*)C&)(1BD*,)2-' E !"$# WE K&E ,)2-' N G KK E !"$# E " K " KK L!M G E .1*)C&)(1BD*,)2-' F * K L!M * 6 £ d m J ` ± b Î _ %Ïd_amb' : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ µ±·ELM®:Ç:»B¸IÃnźIºY¯³Á³À@»B_µd Å º³ÒhFn»ElºÍ]m°±¸ `J¯µ±®:@b±ÎÇ:´EÇ5¸ °±»Bµ>¯SÀ7½.»B½+°±·EËVÇ:ÈdÃn_amµ±b-¯³®:À@¯-µd»Bº³°±ÂFR¯É´E°±Å ¯mÁ³´Jµ±»BÍ]Ç:Å °±¸¯SÀ:À:½!·¸ FÌÀ:·Æ°±»BÇ:ÅIµ±º¶Å ®:´-¯S¯nº¾Í]°±X¯S¸ À:µ±º¶®:´BÇ:µ±´EÅ ¯¾µfÇ5Xµ<ºdµ±e1®7»B»J´B°¶µÄ ¸ À.µ±®:¯¾»BË7º¶¯³À7Ám# ¯ ´B¼!Á³»BÅ Iºµ± ´ Ám# ´EÀ@ µ±¸ÀVÇ7É»Jµ±µ±¸ ®:´E¯À7º<µ±®:Á³°±»B¯³²5¯Éµ±Ç:»B°±°±¯S·E½Ç:ÃnÇ7¯³º¶¸À@À:µd· º ¯m»B»BÐ5°±À7¯t¯S½ÎÁmÁ³Ç5»Bµ±dÅ ¸_a´Em¯SÀbn½¸I¯³´EºlÀ@À7Á³µ±Ám¯³»B¯Y°dÅ º>¯S¯S»E½µ±Ád®:®Í]¯FR®:½5¸ ¯³ÀÈVÀ:À7¯³´E»B¹E°dÃn¯³½5°l¯³¸I°CÁƸ eCµÌh¯m¯mÐVlÐ5µ±¸¯³µdmÀ@º]`Jµtµ±b±®7n´B»J¸Iµrºrµ±®:½5Á³¯ÈV»BÅÀ7Á³¯S»B»B½ÃnÅ {¸IÍ]µ±Á>´Î®:¯m¯³ÐV_À: µ±¯³¯³¹EÀ@¯³µS% ° h µqÍM®:¯³¯Æ¯³Àν5ÈVÍ]À7®:»B¯³ÃnÀ ¸IÁtµ±®:¯m¯ÐVµ±Á³¯³»BÀ@Å µiM´B¸IºY¸»À:¸ ²:µ±¸I°±»J´5µ±Ám¯S¯S½-½5Ç:»B°±À7¯n½ÉÁ³Í]»BÅ ®:¯³¸IÀ-ºÌµ±¸ ®:µt¯°±¯m²Pµ±¯³Ç:°±°±¸ À7´5½º³hËPwa¯mÀ Ä A !< * i*A <PN% <=@= i <PN >@>*9 !< <PN ±µµ±5®:¸ ÁdÃn¯1®:¯>¯³½5ÃnÈV²PÀ7¯E¯³°±»BFY¸ Ãn´5ËP½!¸I¯SÁ{hÓÁ³»B¯mw[ÐVÇ7µ1µ±º¶¸I¯³¯-º1À@½5µÓ´B¯m´B¿7ÂRÀ:»Ì¯SÁ³½»B»EÅ 5ºMôE»fÅ È>´JÀ:Í1´Bº# µÓËP¯]»rº¶¸ À:-·EÅ ¯E FBÁm´EÀ:# À:-¯SÁCµ±¯S!½ F ËPq´5®:½5¯Yȼ½5´BÈVÂÀ7µ±»B®:Ãn¯i¸IÁ>Á³»B¯mÅ ÐV¯Sµ±½¼¯³À@²:µl°±´5¸Iº]Ám¯S¯³½5À@Ç:µ±¯³°±°±¯r¯S½ËP¯³Í]·E¸®:À7¯³º³Àh ¯mÐ5¯SÁmÇ5µ±¸ ´EÀ´BÂyµ±®:¯ qÁmÇ5®:µ±¯¸ ´EÀ*½5ÈV¸IÀ7º+»BÃnÀ:´B¸IÁ µ ¯mÍ]ÐV¸ µ±µ±¯³®:À@¸ Àµ µ±¸Iº®:¯»BÅI½5º¶ÈV´#À7»B¯³ÃnÀ@µ±¸I¯³Á°±¯S¯m½ÐVµ±¯³Í]À@®:µ(¯³À »BÀ7½*¯mÐ5¯m» Ä Ám ´EÀ@µ±¸ ÀVÇ7»Jµ±¸ ´EÀ # ¸Iº£¸ ÀV¹E´ E¯S½ µ±®7 »J# µ- Í»Eº£7eÁ³»B½5²5Ç:µ±°±Ç:¸ À:°±·Ï¯S½µ±®:X¯¾Ç7º¶½5¸ À:È@· Ä À7»BÃn¸IÁr¯mÐVµ±¯³À@µSh w[µ1¸Iº]¯mÐ5¸ µ±¯S½Í]®:¯³À¼µ±®:¯iÁ³»BÅ ¯S½²:°±´5Ám¯S½5Ç:°±¯Ì°±¯mµ±Ç:°±À7º³h w[¯mµÐVµ±¸IºM¯³À@»BµyÅIº¶»B´>À7¯m½>Ð5»1¸ µ±Ám¯S´E½ÆÀ@Í]µ±¸ ®:ÀVÇ7¯³ÀÆ»Jµ±¯m¸ ´EÐ5À>¯SÁm¸IÇ5ºµ±¸ ¸ÀV´E¹EÀ´ E¸Iº{¯S½lÍ]¸µ±µ±®7®:»J¸ µÀÆ͵±®:»E¯ÌºÁ³½5»BÈV²5À7µ±»BÇ:Ãn°±¯S¸I½Á Í]®:¸ Å ¯>À:´Bµ1Í]¸ µ±®:¸ Àµ±®:¯i½5ÈVÀ7»BÃn¸IÁ̯mÐVµ±¯³À@µSh w[¯mÂ:ÐV»1µ±¯³º¶À@¯Sµ>Ám´E´BÀ7Â{½rµ±®:Á³»B¯ÆÅ JÁ³µ±»B´ Å µ± ´É _* %< »BÀ7 ½<{´5µ±®:Á³¯³ÁmÀÇ:°d»º!Í]Ám´E¸ µ±À@®:µ±¸ ¸ÀrÀVÇ7µ±®:»J¯{µ±¸ ½5´EÀÈVÀ7¸I»BºrÃn¸ À5¸IÁÄ µ±¹E»E¸ ´º±´Eº¶EÀ7´5¯SºyÁm½n¸I´B»J¸Â µ±ÀƯS½nº¶ Ç7 Í]Ád®¼¸* µ±®»>͵±®:»f¯ÌÈiº¶ µ±¯S1®7Ám»J´E»Bµ{À7°±¯{½µ±®:ËPX¯n´B¸ À:µ±À:®td_a¯³µ±m°C´ÌbBeºÓËPÁ³Â»B¯]°±Å ´EÁ³:ÃÊ»Bµ±Å´ ¯Sµ±®:½! ¯SFJ º¶µ±¯1®:* ¯³µÀYÍM´iµ±®:¸ ¯iÀV¹E ´5dl_aÁ³m»J¸IbºÄ Á³»BÅ ¯S½¼¿7°dºµSh w[À7ÂY»BÃn»-¸Iº¶Á<¯SÁm¯m´EÐVÀ7µ±¯³½ÏÀ@µÁ³»B´BÅ 1Â>µ±µ±´ ®:¯É Á³»BÅ l* µ±´_ %Ï´5»BÁ³À7Ám½«Ç:°dµ±ºÆ®:Í]¯³À¸ µ±®:»-¸ ÀÏÁm´Eµ±À@®:µ±¯¸ ÀV½5Ç7È@»JÄÄ µ±µÍM¸ ´E´ÎÀɸ¸IÀVºr¹E¸ ´5ÀVÁ³¹E»J´ µ±E¸ ´E¯S½À7ºn¸ À ´B º¶Ç7Ád ®É »* Í»fȵ±®7 »Jµr»Bµ±°±®:¯¯ËPd´Bmµ±`J®Ïb±fµ±ºÌ´Î°±ËP´E¯Ã Á³»Bµ±®:Å ¯S¯Sº¶½!¯ F µ±®: ¯³ À£* µ±®:¯H dm `Jib±Î¸Iº]»EÁ³º±»Bº¶Å ´5¯SÁm½¼¸I»J¿7µ±¯S°d½ÏºµShÍ]¸ µ±®µ±®:¯É¿7°dºµ X´EÇ5µ±¯³°CeÁ³»BŠ̵±´ w[´EÂÀ:¸¯1ÀVÁ³¹E»B´ Å VV¸ µ±À:´ ·Æ»Æ Ám´E*À@µ±¸ ÀVÇ7»Jµ±¸ ´E1À»B°±À7¯ ½Y@Ç:µ±®:¸ °±¯Y¯Sº1dÁ³_a»BmÅb1¸ ÂÀ:°±·´EÃ+µ±®:»B¯À:d´Bµ±m®:`J¯³b±°SiFJµ±°±®:´E¯³Ã À µ±®:¯¼d_ambt¸Iº]Á³»BÅ ¯S½Æ¿7°dºµSh µ±q®:®:¯l¯1½5¯mÈVÑRÀ7¯S»BÁCÃnµM´B¸IÁÂR¯mÇ7ÐVº¶µ±¸ À:¯³À@·Yµ{»>´BÁ³Â!»B»>²5Á³µ±Ç:»BÅ°±5¯Sµ±½´¼Ámd´EÀ@mµ±`J¸ b±ÀVlÇ7´E»J°lµ±¸ ´EdÀt_amµ±bÌ´i¸I¯³ºÓÀ@Ç:µ±À7¯³°½5¯m´E¿7°À:¯m¯SÐ5½!¸ µ h <=@= i !< >@>*9 CB [ [ <=@= i 0 >@>*9 !< [ [ 0 A 0 -A !< !< 0 !< 0 i *A i *A A A <PN A A !< !< !< i *A <PN i *A i *A A !< i *A E 1-1( EE 3D(1B EWKK E . 1e KK E 1-1( EE ## E !"$# E ' K E '-1( H 3D(1B E .1/)E'f'X3D(1B KKKKK E #F1ED!7&.1*)C&9E$# E !"$# EWK&E ## .1/)EE-.)( KK E !"$# EWK E ## E .1*)C&)(1BD*$.92$00$-E$(*$.1/)E$(D&9E2D(&1/)E E !"$# E . O-K E '-1( H .f. O-K ( > 6 KKKK E !"$# EWK&E ## #D&'.1/)EE-.)( KKK E &)e E : E 1-E$G(1B3D(1B K NK E . ( > K E 0$-1,$-10D'-L3D(1B KKKK L!M E .1/)EE-.)(( > 6 #D&'.1/)EE-.)( .1/)EE-.)(f( > #D&'.1/)EE-.)( K i *A Ö:h«@µd»BÀ7½:»B°d½¼²:°±´5Ám¯S½5Ç:°±¯Sº Õ 8 [ J [ & & ( ^ )'(HG & & )7^ ) ¢ 7 ¸Ç:xyÀ:²P´E²:´E°¶Ç5µdÀɵiº1Ám°±²P´E¯³´EÃn²:°¶°±µrïSº¶¸I»Bº>¯³À7À@»½!µlF!5¸ À:ÁdÍ]®:²:®:¯³Ç5¸ Ãnµ>Å ¯¯t»B»BÀ7´EÀ½Ë ´E´E¯SÇ5Ç5ÁCµ±µ±µr²:²:Ç5µ±Ç5®7µ>µ>»J²P½5µi´E¯³Á³°¶¹V»Bµr¸IÀÁm¸I¯Sº>½5º³hr»¯³Å q¸ 5¹E´Ád¯³®:°r5¯³ÁdÁdÃn®7®:¯t»B¯³Ãn°d´E»E˯EÁCF!µ±¯S¯³»BÁC°dÀ µº µ±®7»JµlÁ³»BÀ»EÁ³Ám¯³²5µlÁd®7»B°d»EÁCµ±¯³°dº³h #! " ¾cC_ÒbC^ Rb±`S 'Å ¸ Ë:°d»B°±È²:°±´5Ám¯S½5Ç:°±¯ # #-" ¾cC_ÒbC^ Rb±`S 'nÅ ¸ Ë:°d»B°±È²:°±´5Ám¯S½5Ç:°±¯ º¶P ®:_Ò´EbC^Ç:ÅI#½HËPº¶®:¯É´E»ÎÇ:ÅI½²:°±´5#ËPÁm!¯¯S-"½5Ç:»°±¯7ºµ±µ±F5°±®7µ±¸ ®:»JÀ:µ¯n·¿7»EÀ7Á³Å ¯ÆÁm»B¯³Ãnº¶²5®:µd¸ ´EÀ:º¼Ç:·´EÅI½À:» ¯»BÅ »B°±¿7¯S°±Å ·E»E¯EÇ:½5FÊÈ<Ãn»B¯³¯mÀ7À@Ð5½ µS¸Iºh µ Rz:b±Â`S´E´E°° E E4F KSE G KK ¿7·E Ç:Å ¯rÃn»B¯³ÅÀ@°±¯Sµ »El½5µ±Èt®:¯¯mÐ5#²P¸Iº´Eµd°¶º³µr#hÓ!´EqË5®:" µd¯S»Bº¶¸ À:¯Ì7¯S²:Fy½°±µ±´5®:ËVÁm¯È¯S½5´E¯mÇ:ÑR²P°±¯S¯³¯SÁCÀ:º{µ¸ À:Á³¸I»B·º¼Å µ±Ç:®:RÀ7¯nb±º¶`S²PÀ7l¯S»BÍ]ÁmÃn¸ ¸¿7µ±¯S¯S®¼½<½H´E¿7À:¸ Å Âi¯t¯Ìµ±»B®:´E°¶¯°Ä L!M E EE E E E K&E KK ¸º¶À:¸ ·E²:À7Ç5»BµiÅ ´E¯S°r½!h´Ew[Ç5 µ±R²:Ç5b±`SµSht°±w[¯mÂ{µ±Ç:µ±®:°±À7¯tº³¿7FBŵ±¯®:¯³Á³Àt»BÀ:µ±À:®:´B¯]µr²PËP´E¯n°¶µ´E¸I²Pº¯³ÁmÀ:Å ´@¯Sº¶½!¯SF½t»B»BÀÇ5µ±¯³´E°±°±Ã´E»J°Ìµ±¸I¸ ºÄ E G KKKK E O-KK L!M O w[Á³»B »BÇ5ŵ±R´EÈb±Ã`S»B¼»JÀ7µ±½5½¸I´VÁ³µ±»B¯S®:źY¯lÈÀ:¹J´BÇ:»BµYÅÀ:Ç:Å°±¯@¯S¯mº±Xµ±ºdºiÇ:e°±¸ ÈVµtÀ¸ Fy¯³¸IºiÅIµ±½5®:²P¯S¯³´@½ÆÀ º±ËVº¶µ±¸ ÈtË:®:ůµ±¯n®:²P¯µ±´E´<R°¶µYb±²:`S°±Í]l´J¹E¸¸IÅ ºS¯nX»BÀ:µ±°±®7´B¯f»JµYeÓµiËP°±µ±¯m¯®:µ±Ç:¯ÆÁm°±Å ´@²PÀ:º¶´E¯S¯S½!°¶½ µ h ] Í ¸ Å : À ³ ¯ E ¹ ³ ¯ 1 ° B » @ · B » ¸ ¼ À P Ë > ¯ 7 Ç ¶ º S ¯ ¼ ½  E ´ 1 ° t » ± ° S ¯ E » ¼ ½ E ´ ° ] Í ± ° ¸ ± µ > ¯ E ´ P ² ³ ¯ d ° J » ± µ ¸ E ´ À h * * ! ! * &#JmbdcC^` ' ²::² °±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ +' IE' $&)!9N)@!g$&),#$!8.8),' $?6!4' %0E032)j/03_036A' CB),+ )PIE$&)/a 0),),03036!6!4422)W)h; >&2:/>&I /6,)!$&9:C%:)W>&6,),%:0U>3>&C5),4!#(*$E)N6,%/#:#:TT # * $#JmbdcC^` ' PmbdcC^` ÃYÇ7ºµMËP¯lµ±®:¯l¯mÐ:»EÁCµM¸ À@µ±¯³·E¯³° R FVÁm´E°±°±¯Sº¶²P´EÀ7½5¸ À:·>µ±´iµ±®:¸Iº $&' #%54D$&' /# B%:$O+ 4D$&)@> $&/ ),036!42) B546 ' #]L " ;P' IE2+ ),IE),#$A4D$&' /#0 °±5¯³Ád¹V®:¸I¯³º¶Ãn¸ ´E¯fÀ£eCh´BÂt*µ± ®:¯¾* 5Ád®:¯³!Ãn ¯ !°±¯³²P´E°¶µ-X3µ±®:*¯-/]¯³¹V°±¯m¸Iº¶µ±¯SÇ:½ °±À7ºy/]»Ì¯³º¶²P²P´E¯S°¶Ámµ<¸ ¿7´E¯³À ° RY6,%:)@>3>&>&) ),#2$ )@>&6,IE/#' $3$&$&' #)!9%54D$&$&'/ /#]6,.?+ /$&03C) ),#$&C')j$ 2RY//>3%$+ 9/# B)h4#' -IE2),/036!03034' 2B)j+ ); >&$&// I R>&$&' C$&)) ¿7´EÀ:°y¯S»B½>À>¸ À>¯³ÀVµ±¹V®:¸ ¸I°±º´E°±À:¯³Ãn²P´E¯³°¶À@µµµ±µ±®7®7»J»Jµyµ»B¸Iº°±¯¯³Ãn¯³¸ µ±²5®:µ¯³Èr°¯m°±Ð:¯ Ám@¯³Ç:²5¸ µ°±¯S½r´E°y´E»B°Å ËP@Ë:´Bµ±¸ À7®Y½5´E¸ ²5À:µ±·@¸ º´E½5À7¯m»BÄÅ 24#5/>39 $A4B+ )N6,/9:)N%03' #KjB/$&C /> L °Â±»B´E¯mÀ7°lµ±½tÇ:µ±°±º¶®:À7Ç:¯º²:²PX»>º¶´EÈVº¶°¶²PÀ@µ±µd¯S¯S»EÁm½Y¸ÁC¿7µ±ËV¯³¸IÈ>ÁS°ye]µ±Â®:´EË:¯°{¸ À7¸»BÃn½5Àn¸ À:²:¯³·@Å ÀV¯³ºl¹VÃn¸Â°±¯³´E´EÀ@°>À:µd»BÃn»Jŵ±y¯³¸ ´EÀ@º¶ÀÈVµÓÀ@h µ±µd®7 »E»J# ÁCµµ±¸I¸IÁºÓ¯³EÃn¯³ÈV²5ÍMµÈt´E°d¯m½: Ð:*ºlÁm¯³½5²5¯mµÄ # ##!!!! !![[H`E`E0! 0!' ' ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ ¿7»BÀ7À:½¯S½>º¶Ç:¸ À>²:µ±²P®:´E¸I°¶ºµ±°±¯S¯³½²PËV´EÈ°¶µµ±µ±®:®7¯>»Jµy¸ Ãn»B°±²:¯Å ¯³¯³Ãn¸ µ±¯³®:À@¯³µd°»J°±µ±¯ ¸ @´EÇ:À¸h °±¯S½r´E°ËP´Bµ±®Y´E²5µ±¸ ´EÀ7»BÅ /]¯mµ±Ç:°±À7º ¸ Â>`E 0¸Iº>»BÀ¸ À:²:Ç5µi²P´E°¶µr´E°r´EÇ5µ±²:Ç5µ>²P´E°¶µ>°±¯Sº¶²P¯SÁCÄ Ã1µ±»J®:µd¯³Ád®:°¸¹JÀ:»B·YÅ Ç:²7¯S»Eº!º´BµMÂ9°±#J¯³m¹Vbd¸IcCº¶^¸ ´E` nÀ7ºÁ³´B»BÂ!Àrµ±ËP®:¯¸IºMÇ7°±º¶¯³¯S²P½Ì´Eµ±°¶´1µSF@º¶²PË:¯SÇ5ÁmµM¸ µ±ÈÌ®:¯³¯³ÀV¸ °]¹Vº¶¸ °±Ç:´E²:À:²PÃn´E°¶¯³µMÀ@µd¸Iºº µ±¸ ¹E¯³Å ÈEF:´Bµ±®:¯³°±Í]¸Iº¶¯Ì°±¯mµ±Ç:°±À7º "Ph ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ À:#Jm´Bbdµ¼cC^°±` ¯ @Ç:¸I¸ º°±¯SÀ:½!¯³h¸ µ±®:j1¯³ÀH° R¸ ÃnÀ:²:´EÅ °Æ¯³Ãn»B¯³À:À@´Bµdµ±»J®:µ±¯³¸ °´EÀϹJ»BÍ]Å Ç:¸ ů<̺¶º¶Ç:¸ ·E²:À7²P»B´EÅl°¶µ±»B¯SÀϽ-¯³ËV°±È°±´E°µ±®:¸ ¯  ## !!# ##!!! -'' ¸qÃn®:²:¯¼Å ¯³¯mÃnÑR¯S¯³ÁCÀ@µnµd»J´Bµ±Â1¸ ´E»EÀº±h º¶¸ ·EÀ:¸ À:·-X3µ±®:°±´EÇ:·E®Éµ±®:¯Ç7º¶¯¼´B @er»<¹J»B°±¸ Ä /]¯mµ±Ç:°±À7ºµ±®:¯iÁmÇ:°±°±¯³À@µ]½5¯m»BÇ:Å µl¸ À:²:Ç5µ1´E°]´EÇ5µ±²:Ç5µ1²P´E°¶µSh ²:ËV»BË:ÈÅ J¯ Å ¯Y *ËP ´E:Ç:er* À7¸I½ºYÇ:¸ ÀÀ7!º¶» ²P ¯SÁm!*¸ ¿7¯S*½!h q®V !Ç7* ºYµ±!®:i¯¼Ã ¯³»fÀVÈƹV¸ËP°±¯>´E À:*¸ ÃnÃnÃY¯³À@Ç5µdµdX3ºt»B´Eº¶Ë:°Ì²PÅ ¯E¯S¯mhÁmÐ:¸ »B¿7Ãt¯S½ Ä #!-" * " ¾cC_ÒbC^ Ï_ %('´E²5µ±¸ ´EÀ7»BÅ!²:°±´5Ám¯S½5Ç:°±¯ # #! -" «cC_ÒbC^ «_ %(' E ´ 5 ² ± µ ¸ E ´ 7 À B » ! Å : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ * ' E ´ 5 ² ± µ ¸ E ´ 7 À B » ! Å : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ qÁm´E®:À@¸Iµdºy»B²:¸ À7°±´5º>Ám¸ ¯SÃn½5²:Ç:Å°±¯³¯MÃn°±¯m¯³µ±À5Ç:µd°±»JÀ7µ±¸ºÓ´E»ÌÀ5Äaº¶½5²P¯m¯S¿7ÁmÀ:¸ ¿7¯S¯³½É°yË:´E¸ À7°y½5µ±®:¸ À:¯·@¯³º³ÀVF¹Vµ¸ÈV°±²:´E¸IÀ:Á³Ãn»BÅ ¯³ÈÀ@µy»µ±®7º¶Ç5»JµÄ µ±»lP®:_Ò²:¯<bC°±^ ´5¿7tÁmÅ ¯S¯º¶½5®:º¶Ç:´E®:°±Ç:´E¯ÅIÇ:´B½nÅIÂ7½ÏËPÀ:¯l´r»BÅ»>»B°±¯S°±º»E·Eµ±°±½5Ç:¸ È-ÃnÀ:·i¯³¯mÀ@Ð5À7µd¸I»Bº³ºÃnµhÌz:¸ À:´E·i´EF° °`»Ì¿7Å ¯EFV»BÀ7 ½## R!b±#-"`S!1º¶ ®:*´E-"-"Ç:ÅI½nËP77¯ FF ²P²:°±¯³´5°dº¶Ám¯m¯Sµ]½5Ç:´B°±¯lµ±®:Í]´@¸ º¶Å R¯r°±Å ¯m¸Iºµ±µ±Ç:¯S°±½¼ÀƸ µ±À®:¯rµ±®:¯³¯rÀV¹V°±¯³¸ °±²P´E´EÀ:°¶ÃnµShÓ¯³qÀ@µM®:¯>¸ À¼¸ À@Í]µ±®:¯³À@¸IÁdµ]®Æ¸IºMµ±®:µ±¯r®7»J¸ Ãnµ]µ±²:®:Å ¯m¸IºÄ µ±¿7®:Å ¯¾¯-¸I¯mºÑR¯S´EÁC²Pµ¯³À:¸Iº<¯S½Ç:À7´Eº¶²P°¯S¸ ÁmÀ:¸ ¿7²:¯SÇ5½.µÉ´E¸ °µ±´E®:Ç5¯Îµ±²:¿7Ç5Å ¯¾µSFn»B»BÅ °±À.¯S»E¸ ½5À:Ȳ:Ç5¯mµÉÐ5¸I´Eº°µdº³h´EÇ5µ±q²:®:Ç5¯µ ÃnËVȯ³À@µ±®:µd»J¯>µ±¸Ç7´Eº¶À-¯³°SÍMh ´EÇ:ÅI½Î¯³¹J»BÅ Ç7»Jµ±¯¯mÐ5²:°±¯Sº±º¶¸ ´EÀ7ºY½5ÈVÀ7»BÃn¸IÁ³»BÅ ÈɵÈV²P¯S½ ²PËVÈ´E°¶µ# Ám´EÀ:À:¯S!ÁCµ±¯S½¾µ±#´Î! ¸ !µ ¸IºÆ]ôE°»E½5¯# µ±®:¯!½5¯m»B#Ç: Å µ#¹J!»BÅ Ç:¯<°±i¯mµ±X»BÇ:À7°±À:½Y¯S¸I½ º . R ± b C d c C c ^ ` + !#S^3b±` 7 7_ [c 7dm^ Mmb' : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ µ±|º¶Ç:¸ ´E¹J°±»BÀÉÀ7Å ºÓÇ7°±»J¯³¸ µd²:µ±ºÓ¯S°±ºt¹J¯S»Bº¶¯³Å Ç:À@R¯Eµ±b±¯Sh{C½ÉcdZ cC»E ^R`ºiÉb±½:Ccd»J¸ ÀcCµd^»:` µ±F¼®:»B¯tÃYÀ7º¶½HÇ7²Pº¯SµÁm!¸ËP¿7#S¯l^3¯Sb±½»r` 7¹J¯³»BÀVŹV¸I½¸7°±_´E5[À:cÁd7Ãn®:d¯³¯³mÃnÀ@^ MµÌ¯]m»B¯mbÐ5À7ÃY²:½°±Ç7°±¯S¯mººµÄÄ ËPº±Ám¯É°±¸ ËP»Î¯S¹J½»BËPÅ Ç:¯³¯Å ´JÍ>°±¯mhyµ±Ç:waÃn°±À:²:¯SŽϯ³ÃnËV¯³È«À@µd´E»JÀ:µ±¯¸ ´EÀ7´BÂiº{õ±®:»f¯Ètµ±¯m®:ÐV°±µ±¯³¯³¯À7½ ²:°±´5Ám¯Sr½5Ç:µ±´t°±¯S»Bº¼Å ½5´J¯mÍ Ä À:»BÀ7´EÀ5½¾Ä[¯mµ±Ð5´Î²:»B°±¯SÅ º±´Jº¶Í¸ ´EÀr´Bµ±²:®:°±¯³´E°Æ·E°d¹J»B»BÃÅ Ç:º¯SXºÆ½5¯m»E¿7ºÀ:¯³¸ µ±ÀV¸ ¹V´E¸À7°±ºd´EeÀ:»EÃnº!¯³µ±À@®:µd¯{º³FM¿7°dÍ]ºµy¸ µ±»B®Ï°±·Eµ±Ç:®:Ãn¯<¯³°±À@¯mµÄ ¸ºÀnµ±*°±µ±¸IÁC®:µ±¯1* ¸ ´E¯³ÀÀV¹Vµ±¸ ®7°±!»J´E µÀ:Ãn!¯³À@µd ºÓ¸I»Eº>º±º¶À:´5´B ÁmµY* ¸I»J»Bµ±Å ¯SR´J½YÍMh Í]¯S¸½<µ±P® µ±´< # Ám°±¯S»Jµ±¯ À:¯³Í+Ë:* ¸ À7½5¸ 1À:·@´Eº° 9;*<= ] N ] N N N ] N N 3] N N N MM NMRQF !9 9 >*9 > B9 @; > -1, 8 = 1-1( e N=@= B9 ; > 9 <=@= i <=@= i K !"$# e e E2D*1-E$,D&)0/)E-E$( e 4V6 !9 9 N ] =9 =B9 !] ] ] N=@= B9 ; > .1*)C&)(1BD*$&9E32$(*eD&11- 9 % > *9>*< >@>*9 >@>*9 X !9 9 >*9 > B9 @; V> B9 ; > B9 ; > 9 > > 9;*<= i 9 9 .1*)C&)(1BD*$.92$00$-E$(*$.1/)E$(D&9E2D(D&/)E .1*)C&)(1BD*/)2$(132$(*eD&11- > N >*9 > !] B N 9 V8 9 <> X !9 N<O] N<O ] N 9 B9 @; > >*9 > =B9 =B9 <=@= i <=@= i !9 9 >*9 > B9 ; V> N=@= B9 ; > 9 N N<O 9 '.9B-9-$*0$-3D/0(*1-E$,D&)0/)E-E$( 6 -1, 3] C9;*<= 9;*<= $@A K i =B9 B> =9 N<O N<O N<O > <PN i i V8 >@>*9 <PN >@>*9 ] B> > =9 =9 Ö /]¯³¹V¸Iº¶¯S½ i5Ád®:¯³Ãn¯ Ç7¸Iºº¶¯SÁ³½>»BÅËV¯SÈ ½ Í]¸ µ±®'VÀ:F ´« »B°±·E Ç:.Ãn`E¯³À@0µd'Vº³hFB»BÀ7GϽi®:º¶¯³´]À´Eµ±°¶®:µ±®P¯ÏeCFB_»BÀ7½r%ϵ±®:°±¯l¯mµ±_Ç: °±À7º³% F µ±®:¯Î²P´E°¶ µ<#¸Iº!-"ÁmÅ ´@º¶ ¯S* ½£" »BÀ7½£µ±®:»BÀ7¯Î½ ²:°±¯³¹V¸ ´EÇ7º#½5 ¯m»B#Ç:!Å µ¸Iº-" °±¯Sºµ±(´E°±¯S°±½!¯mÄ h µ±ÁmÇ:¯S½5°±ÀÇ:X°±ºd¯ei¸Iµ±ºÆ®:¯Ç7º¶¹J¯S»B½«Å Ç:µ±¯@´-Xºd¯Seiº±Á³ÈV»B¸ ¯³²PÅI¯<½5¯S½-°±´EËVÃ*Èϵ±_®: ¯ÉÁm%P´Eh-À@µ±w[¸ ÀVÂrÇ7»B»JÀ-µ±¸ ´E¯Sº±ÀÏÁ³»B´B²PÂ>¯µ±®:²:¯S°±´Bº¶¯ Ä ²:°±´5Ám¯S½5Ç:°±¯Sº³F@µ±®:¯³¸ °1ËP¯³®7»f¹V¸ ´E°¸Iº]¸ Ãn²:Å ¯³Ãn¯³À@µd»Jµ±¸ ´EÀ½5¯³²P¯³À7½5¯³À@µSh #!-" RJ- ' ²:°±´5Ám¯S½5Ç:°±¯ ²¿7PqÅ´E» ¯i°¶EµiÁ³¯S»BºÁ³À:»B»>À:²7º´B»Bµ±µ]Ë:°±¸ÅËPÀ:¯n¯>·>´B´EÀ7Â]²P»B½5¯³Ãn¯³À:Å ¸¯S¸ À:¹E½!·i¯³F7°±»B»B¸ À:ÀÀ·¯m¯³Ð5Ád°±®7¸I°±º´E»Bµ±°°d¸ À:»E¸I·rº]ÁCµ±º¶¿7¯³¸ Å°d·E¯lº1À7»B»B°±À7Å ´E½n¯Sà ½!°±h¯mµ±µ±®:Ç:¯n°±À7¿7ºÅ ¯E»BhnÀnw[¸ ÂMÀ:²:µ±®:Ç5¯µ # #!-" RJ- ' ²:°±´5Ám¯S½5Ç:°±¯ °±À:q¯m¯³» µ±Í(EÇ:¯S°±ºÆ¿7À7źr»Î¯»BËVºÀµ±ÈÉ°±´E¸ µ±À:Ç5®7·µ±»J²:µÀ7Ç5»BµrÀ7Ãn»B²PÃn¸´EÀ:°¶¯E·-µihÎÁ³»B»Bw[À«Â1²7»Bµ±´E®:Ë:Ç5¯Åµ±¯Y²:¿7Ç5´BÅ Â{µ¼¯Í]¿7Á³°±Å»B¯¸ À:µ±¸À:µ±À:´Î´B·µnËPÁdËP¯®7¯»BÁm°d´E°±»E¯S²PÁC»J¯³µ±µ±À:¯³¯S°d¯S½«º]½!µ±FM»B´À7»BÀ½» ¯³¯mÐ5°±°±¸I´Eºµd°nº³FV¸IºÆµ±®:º¶¯>¸ ·E¯mÀ7ÑR»B¯SÅ ÁC¯Sµ1½!¸IhHº]Ç:w[Â>À7º¶»²P¯S¿7ÁmÅ ¸ ¯¿7¯SÍ]½!¸ h µ±®«µ±®:¯·E¸ ¹E¯³À¾À7»BÃn¯<»BÅ °±¯S»E½5È #! ! 7`JbCQ_ ' ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ # #! ! 7`JbCQ_ ' Áµ±³L{¸»BÀ:Å ²7´@¯Sº¶»Bº{¯SË:ºM®7Å ¯>»fµ±¹E®:´B¯1¯rÂÓÀ:¿7½5´Y¯³Å ¯iÅ ¯m¸ ¹E»EÑR¯³º±¯S°±º¶ÁC¸´5µÀ:Ám·¸¸IÂ!»J´Eµ±µ±°l¯S®:½¼¯l»EÁ³Í]¿7ÁmÅ ¸¯³¯lµ±²5® ®7µ±»E¸7À:º{`J·ÆbC»B_³ÅÁd°±F:®7¯S°±»B»E¯³°d½5À7»EÈt½5ÁC¯³µ±ËP¯³°±¯³¸°dÀ:¯³º³À¼·Yhµ±Ám®:qÅ ´@¯ ®:º¶¯S¯S7½!º¶`J¯>hÓbC_°±q´E¸ ®:À5Ç5¯ÄÄ ¹J»BÅ Ç:¯r°±¯mµ±Ç:°±À:¯S½¸IºÇ:À7º¶²P¯SÁm¸ ¿7¯S½!h 3 y ' ÅÅ ¸¸ Ë:Ë:°d°d»B»B°±°±ÈȲ:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ 7`JbCQ_ ' <Ám´EÀV¹E¯³°¶µdºr¯mÐVµ±¯³°±À7»BÅ°±¯³²:°±¯Sº¶¯³À@µd»Jµ±¸ ´EÀ7ºÌ´BÂl5Ád®:¯³Ãn¯´EË ¯SÁCµdº ¸À:À@´Eµ±À@´µ±¯³µ±°±®:Ãn¯Y¸ ´EÀ7Ë »BÅ ¯SÁC½:µdº]»Jµ±µ±Ç:®:à ¯³Ãnº¶X¯³º¶Å ¯³¹E¯¯Sº³º¶h]¯SÁCqµ±¸®7´E»JÀ7µlºY¸Iº³ÙVFPh E¸ µÌh ¸Iºl»BÀ7»½²7Ö:»B°dh º¶¯³h °]eCÂh ´E°] µ±®:¯ °±Ç:¯m²Rµ±½:Ç:»J°±À7µ±¸ ºyÀ:µ±· ®:7¯]`JÀ:bC¯m_]ÐVµ±µ{´´E²PË ´E¯S¸ À@ÁCµµl²7µ±´Æ»B°dµ±º±®:»B¯YË:Å ¿7¯M°dº°±µr´EÃ.Ád®7µ±»B®:°d»E¯1ÁC·Eµ±¸¯³¹E°l¯³Àn²7»E¸ ºÀ:µl²:Ç5µ±®:µ ¯t7`J¯³À7bC_m½ F ´Bµ±®:¯>¯mÐVµ±¯³°±À7»BÅR°±¯³²:°±¯Sº¶¯³À@µd»Jµ±¸ ´EÀ¼´Bµ±®:¯>´EË ¯SÁCµSh w[»EÂRÁC»Bµ±¯³ÀY°dºl¯³À7»B½Y°±¯r´BÂ7´E¿7Ç:Å ¯À7½¸Iºµ±¯³®7À7»JÁmµr´EÇ:Á³»BÀ@Àµ±¯³°±ËP¯S¯³½i·E¸¸ ÀÀYµ±»B®:À<¯´E¸ À:Ë ²:¯SÇ5ÁCµÓµSF:ËPµ±¯m®:´E¯³°±À¯»B»BÀÀVÈi¯³À7Ád®7½»B´B°¶Ä ¿7µ±®:Å ¯n¯³°´E»JË µ¶µ±¯S¯³ÁCÃnµr²5¸IºÌµdº°±¯mµ±µ±´YÇ:°±°±¯SÀ:»E¯S½n½!hÍ]¸ Å !q»B®:ÅI¯nº¶´>²P°±´E¯m°¶µ±µrÇ:°±°±À¼¯³Ã»B»BÀƸ À7¯³ºlÀ7½´E²P´B¯³Â!À¿7FÅ ¯l»BÀ7´E½Ë ¯SÇ:ÁC°¶µSÄ h w[´EÂlË »B¯SÀ ÁCµS¯³× ºyÀ7½¯mÐV´Bµ±¯³Â°±¿7À7Å »B¯¼Å5¸I°±ºi¯³²:¯³°±À7¯SÁmº¶´E¯³Ç:À@À@µd»Jµ±µ±¯³¸°±´E¯SÀ½ FJ»JË:Â3Ç5µ±µÓ¯³°iµ±®:µ±¯]®:¯¼¯mÐVËPµ±¯³¯³°±·EÀ7¸ À:»BÀ:ÅV¸°±À:¯³·²:°±´B¯SÂ1º¶¯³»BÀ5À Ä µdº¶»J¸ ·Eµ±À7¸ ´E»BÀÆÅ ¯S¸Iº{½!h¸ À7Ám´EÃn²:Å ¯mµ±¯Ì»BÀ7½nµ±®:¯³°±¯m´E°±¯1À:´BµM²7»B°dº±»BË:Å ¯EF@»BÀƯ³°±°±´E°¸Iº Âq»B»BÀ®:Ç:¯Å¯³µd°±º7°±´E`Jµ±´>°MbC_iµ±µ±´n®:»B¯l°±°±·E¯S¹JÇ:»E»BÃn½ÆÅ Ç:¯³Â¯lÀ@°±´Eµ>°±Ã¯mõ±Ç:»»f°±ÈÀ:Ám¯SÅ ËP´@½n¯Æº¶¯SËV´E½ÆÈ Ãn²P¸ ´E# µ¶°¶µ±µS¯Sh½!F¸!À Í] ®:¸I#Ád®! Á³!»E º¶¯nR¸ hPµtw[µM½5¯m¸IºÄ 8 > *9 >*9@<BA !9 =9 B> <PN <PN i =B9 <PN =B9 .R N !9 =9 .R N B= 9 B= 9 > ] > ] C] ] M M M #[ S@ >*9@<BA >*9@<BA ] *9@<BA ?] 8 ] ] *9@<BA >@>*9 > ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ 7`JbC_ Ç:À:/]²R´¯m½:µ±ÃnÇ:»J°±µ±´EÀ7¸ °±À:ºl¯·<µ±Ád®:µ±®7®:¯t»B¯ °dÀ:»E7¯mÁCÐV`Jµ±µ>bC¯³_r°dÁdºi®7µ±´<»B»B°d°±²P»E¯¼´EÁCµ±»f¸ À@¯³¹Jµi°Ì»B¸ »fµ±ÅI»B´¹JË:»Bµ±¸Å ÅI®:¯E»BF¯ÆË:»Bů>ÀδEŠ¯³°±´J´EÀ7Í]ý ¸ À:´Bµ±·<Â1®:Ád¯t¿7®7Å ¸ »B¯¼À:°d²:´E»EÇ5ËÁCµµ±¯³¯S7°SÁC`Jh¼µtbC¸Iw[_mºÂF µ±°±´n¯mµ±µ±Ç:®:°±¯>À:¯S¹J½!»Bh Å Ç:]`¯rJ°±bC¯m_̵±Ç:ð±À:»f¯SȽ¼ËPËV¯nÈ ´EÃn# ¸ µ¶µ±¯S½!F!!¸ À Í]®:#¸I!Ád®Á³ »Eº¶P¯Yh ¸ µi½5¯m»BÇ:Å µdº -,!* ' ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ -,!* 7`JbCQ_ ' /]Ó^3¯m_µ±:Ç:` °±5À7_ºlÇ:µ±²R®:½:¯t»JÀ:µ±¯m¸ À:ÐV·µ>µ±Ád®:®7¯»B°d7»E`JÁCµ±bC¯³_̵̰±´»f¹J²P»B¸´EÅI¸»BÀ@Ë:µrÅ ¯>µ±´Â°±µ±´E®:ïnµ±Â®:´Eůt´J¸ Í]À:²:¸ À:Ç5·µ Ád7®7`J»BbC°¶_mÄ F ´E»E½5ËÁC¯mµ±Â»B¯³¯S°SÇ:ÁChµlÅ µdº¸Iw[º1Â1µ±°±´nÀ:¯m´µ±µ±Ç:®:Ãn°±¯>À:´E¹J¯S°±»B½!¯¼Å hÇ:Ád¯r]`®7°±»BJ¯m°dbCµ±»E_]Ç:ÁCð±µ±À:¯³»f°d¯Sȼºi½¼ËP»BËV°±¯YÈ ¯¼´E»fÃn# ¹J¸»Bµ¶¸ µ±ÅI¯S»B½!Ë:!F7Å ¯E¸ FÓÀ<»B Í]Àή:#¯³¸I!ÁdÀ7®<½ !Á³ ´B»EÂ]º¶R¯>¿7h Ÿ ¯µ >*9@<BA*!<>' >*9@<BA*!<>] Q' ] R] >@>*9 !9@9 > !<> !<>] !9@9 P ] ] >@>*9 > 1! bYC)Y(4+ %)Y>&)@$&%:>&#)!9XB-[4J6!4+ +:$&/ 3-- > *$.9BD0 ' 0$&C)Y0&4IE)40 $&C)7(4+ %)$&C54D$HRY/%+ 9GC54!(*)7B),),#[>&)@$&%:>&#)!9GB-G4Z6!4+ +$&/ 0$-$#*$.9BD0 R7' $&C1$&C)F0&4IE) : A@LbYC)F/#+ -X9:' kl)@>&),#6,)H' 0 $&C54D$]$&C)F(*)@>3-Z#)@g$ 6!4+ + $&/ 0$-$#*$.9BD0 /> 3-- > *$.9BD0 /#`$&C54D$ : AiR7' + +H>&)@$&%:>&#`$&C)[(4+ %) >&)@$&%:>&#)!9QB-`$&C)E2:>&),6,)!9:' #KP6!4+ +F$&/ 3-- > *$.9BD0 LP"#254D>3$&' 6,%+ 4D>!.F4 6!4+ +H$&/ 3-- > *$.9BD0 /#4#' #$&)@>A46@$&' (*)G2/>3$ZR7' + +8C54#K?R4' $&' #KW;=/> ' #2%:$R7C),#),(*)@>J4[6!4+ +]$&/ 0$-$#*$.9BD0 RY/%+ 9WC54!(*)ZC%#K:L `E ²:°±´5Ám¯S½5Ç:°±¯ /]P¯mh>µ±Ç:q°±À7®:º¯t²:t°±¯S¸ ÂMÁm¸I`Eº¶¯n tº¶¯m¸IºMµr»B´BÀ¯³¯³À7À7½½´B´BÂ!ÂÓ¿7¿7Šůl¯n´E´EË Ë ¯S¯SÁCÁCµSµdF@ºl´BÍ]µ±®:¸ ¯³Å y°±Í]¹J»B¸Iº¶°±¯1È°±»B¯mÃnµ±Ç:´E°±À:À7· º ¸¯³Ãn¹E¯³²:°]Å ¯³ËPÃn¯i¯³»BÀ@Àµd»J´Eµ±Ë¸ ´EÀ7¯SÁCº³µF:Ë:µ±®7Ç5»Jµ1µl¸ ÀÁ³»B»BÀÀVȼËP¯>Á³»E°±º¶¯S¯Ì»E½ÆÀ:´n¸ À¯³À7Ç7½º¶¸ À:´B· ¿7Å ¯>´EPË h ¯SÁCµ]Í]¸ Å * ! ![ ' ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ * ! ![ 7`JbC_Q' °±À:/]¯m¯m¯mµ±ÐVµ±Ç:µÇ:°±°±À7À7º º "*´B¸µ±Â1®:»¯³t°±ÁdÍ]´E®7²P¸I»Bº¶¯³¯E°d°d»Eh»JÁCµ±w[µ±¸ ´E¯³°>ÀÆ*¸I´Eº>À¼!°±µ±¯S®:»E¯r½5È·E¸ ´E¹E À¯³À °±µ±¯m®:7µ±Ç:¯Æ`JbC°±¸À7_MÀ:º ¸I²:ºÇ5·EµÇ77µ±»B®:`J°d»BbC¯³_iÀÉÀ@µ±»B¯³µ±À7®:¯S½½¯ À:°±¯m´Bµ±µMÇ:µ±°±´tÀ7º ®7»BRÀ:h·7hy]`w[JÂbCµ±_®:ï »f7Èt`JbCËP_{¯Ì¸Iº´EÃn»Jµ¸ µ¶¯³µ±À7¯S½Æ½!F@´B¸ ÂÀ¼¿7Í]Å ¯l®:µ±¸IÁd®:®¼¯³JÀ Á³»E*º¶ ¯1¸ !µ½5¯m»BÇ:Å !µd[º µ±´nµ±®:¯>¹J»BÅ Ç:¯r°±¯mµ±Ç:°±À:¯S½¼ËVÈ # ! #! Ph 9"@9![ 0!' 0 " !<> !<> >*9@<BA >*9@<BA J >*9@<BA R>*9@<BA ] !<> !<> >*9@<BA ] ] >@>*9 !<> > ] >*9@<BA ! dBD0*0$-$#F < )@g:' 0d$&0Z$&/PI?4 )[' $X2/0303' B+ )G;=/>[4V2:>&/T K>A4I $&/746,6,),2:$^6AC54D>A46@$&)@>&0 ; >&/I ' #$&)@>A46@$&' (*)F2/>3$&0]R7' $&C/%:$ K)@$3$&' #K 0d$&%6 R4' $&' #KX;=/>' #2%:$!L M #-G' #2%:$F)!9:' $&/>&040303/6,' 4D$&)!9ER7' $&C?03%6AC 2/>3$&0YI[%0d$Y),#03%:>&)7$&C54D$Y6AC54D>A46@$&)@>&0YR7C/03)Z)@g:' 0d$&),#6,)JC540YB),),#W40dT 03)@>3$&)!9`B- .9BD0*0$-$#F < 6!4##/$ZB)X>&%BB)!9P/%:$!LZ" ; .9BD0*0$-$#F < RY)@>&)n$&/>&)@$&%:>&# 1e 4D$W),#59N/;1c5+ ).74U2/>3$W4D$V),#59N/;1c5+ )PRY/%+ 9 B)i' #59:' 0d$&' #K%' 03C54B+ )i; >&/IS4#V' #$&)@>A46@$&' (*)i2/>3$Y$&C54D$YC540Y#/X>&)!496AC54D>A46@$&)@>&0,L y MMPOM S@ [ S@ ..`E`E 7`JbC_ ÅÅ ¸¸ Ë:Ë:°d°d»B»B°±°±ÈȲ:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ G@µ±°±°±¸¸ µ±À:¯S·@ºtºr»<µ±®7Í]»Jµt°±¸ µ¶»Bµ±²:¯³²PÀίS°±»B¯³°i²:¸°±ÀɯSº¶µ±¯³®:À@¯Æµd»JÍ]µ±¸ °±´E¸ Àɵ¶µ±¯³´BÀ Ât°±`E¯³0²:°±µ±¯S´<º¶¯³µ±À@®:µd»J¯¼µ±·E¸ ´E¸ ¹EÀɯ³À»B°±¯7`J¯³bCÀ5_mÄ h Ám»BÅÀ7´@½£º¶¯S½Æ½5´E¸ Ç:ÀË:½5Å ¯´E@Ç:Ç:Ë:´BÅ ¯µ±¯@Ç:Ád´B®7µ±»B¯Sº³°d»EF:ÁC»Bµ±À7¯³½Æ°dºÍ]»B¸ µ±°±®:¯¸ À¯Sº±µ±Á³®:»B´@²Pº¶¯S¯>½ºµ±ËV°±ÈH¸ À:·@Ë7ºM»EÁË75»Eº¶Á ÅI5»Eº¶º¶ÅI®:»E¯Sº¶º³® h °±´EL{¯mÃn®7µ±Ç:»B¸ µ¶°±°dµ±À7»E¯SÁCº>½!µ±F5¯³»B°¸ÀÀ´EÇ:ËÍ]À7®:¯Sº¶¸IÁC²PÁdµd¯S®ºÁm»B¸Á³¿7°±»E¯S¯{º¶½¯ÌÍ]¸¹J°±µ]¸»Bµ¶½5Å µ±Ç:¯m¯³¯EÂÀY»BhÇ:Ç7qź¶µd¸ ®:ºMÀ:¯ ·lµ±´Y7µ±®:`Jµ±®:¯bC_>¯r»B¹J°±»BÀ:·EÅ ´BÇ:Ç:µd¯ÌÃn»J°±µ±¯³¯m¸ À@´Eµ±µrÇ:À°±hÃÀ:»f¯SȽÆËVËPȯ # ! # #! Ph : `E 0!' ÅÅ ¸¸ Ë:Ë:°d°d»B»B°±°±ÈȲ:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ : `E0 7`JbC_Q' µ±G¸ À ®7°±»J¸½5µ1µ±´E¯S»BÇ:ºY²:Ë:²P»Å ¯S¯ °±»B@¯³°Ç:²:´B¸°±À¼µ±¯S¯Sº¶µ±º³¯³®:FÀ@¯>µd»B»JÍ]À7µ±¸°±½Ê´E¸ µ¶Àµ±À:¯³´´BÀÂiÁd°±`E®7¯³ ²:»B0<°±°d¯S»Eµ±º¶´ÁC¯³µ±À@¯³µ±µd°d®:»Jº¯Æµ±¸»B·E´E°±¸À¼¹E¯¾¯³»BÀ¯S°±º±¯Ì7Á³»BÀ:`J²P´BbC_mµ¯Sh½ ¯³À7@Í]Ámµ±Å°±¸ ´@µ±¸ À:®:º¶¯S·@¸ À½ º µ±µd®:»Jµ±´@¸ º¶´E¯À¾º»Eµ±°±ºt¸ À:¸ ÂÌ·@º³Í]h-°±¸ L{µ¶µ±®7¯³»BÀ¾°d»EËVÁChÈ µ±¯³°Y´EË ¯SÁCµd*ºn »B<²:²P¸ À7¯S»Bºµ±°t¯S»E¸ Àνε±´B®:Â̯ËV°±hÈ ¯³²:°±¯Sº¶¯³ À57Ä h õ±Ç:»f°±ÈÀ:¯SËP½:¯Y ËV´EÈ °±Ãn¯mµ±¸ #µ¶Ç:µ±°±¯SÀ7½!º]FR»B¸ !ÀÀÍ]Ç:#À7®:º¶¸IÁd²P®¯S#Ám!Á³¸ ¿7»Eº¶¯S¯i½¸ ¹JµrP»Bh ½5Å Ç:¯m¯E»BhMÇ:qÅ µd®:º1¯ µ±´7`Jµ±bC®:_1¯Y»B¹J°±»B·EÅÇ:Ç:Ãn¯Y¯³°±À@¯mµÄ > *9 0!' > *9 0 ] Q' ] >@>*9 ] > *9 > A N=B< A N=B< ] :] > *9 N =B< >@>*9 !<> ] > *9 > ! $0D&)($- ' 0Z' #$&),#59:)!9P;=/>12:>&/9:%6,' #KVI?46AC' #)@T>&)!494B+ ) /%:$&2%:$[4#59 #D&'93DF ' 0X;=/>G2:>&/9:%6,' #KnC%I?4#:T>&)!494B+ )G/%:$&2%:$!L "IE2+ ),IE),#$A4D$&' /#0^$&C54D$F4+ + /!R 03+ 403C' c56!4D$&' /# XR7' $&C' #E0d-:I[B/+ 0^R7' + + 2:>&/B54B+ -GR4#$ C$0D&)($- B%:$8#/$ #D&'93DF $&/X03+ 403C' ; -E;=%##-G6AC54D>A46@T $&)@>&07' #P0d-:I[B/+ 0,L ! 9N=! 9' ! 9N=! 9] Q' ÅÅ ¸¸ Ë:Ë:°d°d»B»B°±°±ÈȲ:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ 7 J ` C b _ G½5¸ ÑR°±¸¯³µ±°d¯Sººn»B°±À¾´Eï³À7´E½ÎÀ:´B¯ÉÂÌ´EÅ ²P¸ À:¯³¯¼°d»Jµ±µ±´ ¸ À:7·H`JbCº¶_³È5h-ºµ±¯³|Óà Ð:»Eµ±ÁC´Hµ±Å ÈÉ»BÀ:®:´B´Jµ±Í(®:¯³µ±°S®:h ¸Iºn/]¸Iºn¯mµ±½5Ç:´E°±À:À7¯º µ±»B¯SÀÏ# ½!F>Ç:À7¸ Àº¶²P!Í]¯SÁm®:¸ #¿7¸IÁd¯S®½«#Á³¹J!»E»Bº¶Å ¯ÉÇ: ¯E¸hµP½5hq¯m®:»B¯ Ç:7Å µd`JºbC_Ƶ±´¾»B°±µ±·E®:Ç:¯ Ãn¹J¯³»BÀ@Å µÆÇ:¯ ð±»f¯mÈ-µ±Ç:ËP°±¯<À:¯S´E½ÃnËV¸ µ¶È Ä * .d:Jb ' ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ * .d:Jb 7`JbC_Q' µ±GÇ:¸ À7´E°±º¶À¸ ²Pµ±¯S¯S´BºÁmÂ>¸ ¿7µ±µ±®:¯S®:½¯«¯ÉÁdÁd¹J®7®7»B»B»BÅ Ç:°d°d»E¯E»EÁChêÁCµ±µ±¯³¯³°«°Cqetd®:µ±:¯´ÎJb+µ±7®:`JX¯bCÀ:_Ï´B·Eµ ¸ »B¹E°±¯³»B·EÀ ÀÊÇ:Ãn7¯m`JÐV¯³bCÀ@µ±_¯³µÏ°±»BÀ7ÃÀ7»B½ÏÅt»fÈ °±°±¯³¯mËP²:µ±Ç:¯.°±¯S°±º¶À7´E¯³ºÃnÀ@µd»B¸ »Jµ¶À ÄÄ µ±¯S# ½!F>¸ À!Í]®:#¸IÁd ®#Á³!»Eº¶¯É ¸µP½5h ¯m»BÇ:Å µdºµ±´¾µ±®:¯ ¹J»BÅ Ç:¯ °±¯mµ±Ç:°±À:¯S½ËVÈ @ !¡ S S@ [ E ½5»B °±´EÇ:¯rïS¸ º»BÃnµ±¸ ¸ À²P´EÀ7´E´B°¶ºlÂMµd´B»Bµ±ÂMÀ@®:µ]¸Iº¶ºrÈ5¯³º°±À:µ±¯³´E¯³²PÇ:à ´E·E°¶®¼µS¸ À@hµ±µ±´¯³g1°¶½5´J»E¯SÍMÁmº¶¯³¯³¯t¹E°±¯³¹E·E°S¯>¯³FRÀ:½5µ±¯³¯S®:°dº±»B¯nÁmÅ °±Âȼ¸´E²5Šµ±»B´J¸ ´EÅÍ]yÀ¸ ´EÀ:®:Ç5·¯³µd°±º¶´E¯E¸I²P½5h ¯³¯t°d»J´Bµ±Â¸ ´Eµ±®:À7¯º RJ- ' E ´ 5 ² ± µ ¸ E ´ 7 À B » ! Å : ² ± ° 5 ´ m Á S ¯ 5 ½ : Ç ± ° ¯ µd²:^»B°±¸¯SÀ: º±¸Rº¶À:¸ J´E·YÀ75º1Ád»B®:º¶À7¯³®:Ãn½<´EÇ:¯1½5ÅI¯m½Éº¶¿7´EËPÇ:À:°d¯¼¸ µ±Ám¸ ¯]»´EÀ7Ámº´5º1µ±½5°±Â¸ ¯E°±À:´Ehy·ÃqÀ7®:µ±»B¯®:Ãn¯i¸ À:¿7·Å ¯t>»B»B²:ÀÉÀ7°±´5½¯mÁmÐ5¯³¯S¸I¹J½5ºµ±»BÇ:¸ Å À:°±Ç7¯·»J°±µ±¿7¯S¯S»Eº]Å ¯¼½:µ±ºy®:Ám´E¯m¯³À5ÐVà ÄÄ :] ] >@>*9 > *9 > *9 > !<> !<> ] ] >@>*9 M M #M ] > AC@ <?S +@ T\ = @<BA .R N R N = @<BA :Ö h«@µd»BÀ7½:»B°d½¼²:°±´5Ám¯S½5Ç:°±¯Sº Ù ¯mº¶»J¯Ð5ÑR@²:¯SÇ:°±ÁC¯S¯³µ<À@º±º¶µ±µ±¸ ®:¸I´E»B¯ÎÀ7Å º<ÈE¹Jh-»B»BÅ °±Ç:w[¯ µ¯Sº²:¸Iºn°±°±¸ ¯mÇ:À@µ±À7µ±Ç:¯Sº¶°±½!²PÀ:h¯S¯SÁm½¸ ¿7qËV¯S®:½¾È ¯ Í]#®: ¯mµ±H®:¯³²:°t!°±´5µ±®:Ám¯¯S½5°±Ç:#¯S°±!º¶¯ÎÇ:!Å ½5µd ºt´V¯S´B-º<Âl»BÀ:µ±À7®:´B½¯µ # ! # #! ! Ph r°±¯mµ±Ç:°±À7ºÓ»BÀnÇ:À7º¶²P¯SÁm¸ ¿7¯S½t¹J»BÅ Ç:¯Eh 8 >@>*9 > @<BA = @<BA >@>*9 > ! />Z2/>3$A4B' + ' $-. /# I[%0d$J/2)@>A4D$&)[/#`03/%:>&6,)Xc5+ ),0,L " $&0E/2)@>A4D$&' /#/#N/$&C)@> ' #59:0G/;ic5+ ),0E#),6,),030&4D>&' + -N(4D>&' ),0?4IE/#K ' IE2+ ),IE),#$A4D$&' /#0,L RJ-' ´E´E²5²5µ±µ±¸¸ ´E´EÀ7À7»B»BÅ!Å!²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯ »¿7J^µ±Å ¯¯S½!RÂht´EJ°q´E®:lÇ5¯nÃYµ±¯m²:Ç7ÑRÇ5º¯SµSµÁCF̵>ËP»B¯l´BÀ7»>½Ï ºµ±µ±°±´«¸ À:Á³·r»B Ç7À7º¶»B¯Ãn!»Î¸ À:·iµ±°dÆ»B»BÀnÀ7¸IºÌº±´EÁmµ±Ç5°±´µ±¸ ²5²:´EµÇ5²Pµ´B¯³¿7ÀÂYÅ ¯º¶µ±Ç:®:µ±Ë7¯n´>º¶ËPÀ7¯ @¯l»BÇ:ÃnÁm¯³°±¯SÀ@¯m½ µÄ ¸ËPÀ@¯µ±¯³Í]°d»E°±ÁC¸ µ¶µ±µ±¸ ¯³´EÀÎÀHµ±ËP´<¯mµµ±ÍM®:¯³¯¯³ÀÏ¿7Å ¯Eµ±hή:¯qÇ7®:º¶¯¼¯³°µ±°d»B»BÀ7À7½«º±Ám°±µ±¸®:²5¯Éµt5¸IºYÁd®:¯³¯³À7Ãn½5¯S¯½Îº¶È5ËVºÈε±¯³»Ã#Á³»Bµ±Å´ µ±´E´À:¯ µ±°d»B À7º±Ám°±¸ ²5µ!ûfÈr""PËPFJ¯{Í]¸ ÀY®:¸I²:Ád®<°±´EÁm·EÅ °±´@¯Sº¶º±¯Sº!ºM»Jµ±µy®:»B¯>ÀVµ±ÈÌ°d»Bµ±¸À7Ãnº±Ám¯E°±Ff¸ µ±²5®:µ´E¿7Ç:Å ·E¯E®Yh]º¶l´EÀ:ÃnŠȯ µ±¸ ÃnÇ:°±²:À:Å ¯S¯³½Ãn¯³ËVÀ@ȵd»Jµ±®:µ±¸¯S´Eº¶À7¯>ºM²:ð±´5»fÁmȯS½5°±¯³Ç:ÅI°±»J¯SÐnºµ±»B®:°±¸I¯rºMÇ:°±À7¯Sºº¶µ±²P°±¯S¸IÁCÁmµ±¸ ¿7¸ ´E¯SÀ½!hÓh q®:¯Ì¹J»BÅ Ç:¯SºM°±¯mÄ @>*< T> ! .R N @ >*< T> !""-' R N @>*< @>*< T> T> ]/ ¯³¹V¸Iº¶¯S½ i5Ád®:¯³Ãn¯ º¶ÈVÀ@µd»EÁCµ±¸IÁ E¯³ÈVÍM´E°d½! ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ E¯³ÈVÍM´E°d½! " °±°±q¯S¯³®:²P»E¸I½5´Eº>Èl°¶µSÁdËP®7h ¯³»B¯³²5ÀYµ±¯³½5°Ì¯Sº±²:Ám°±°±´J¸ ¹VËP¸I¯S½5½r¯Sºl¸ À5´E´E°±°±ÃûB»BÅyÅ ½5È̯S¸ º±À>Ám²:°±¸ °±²5¯³µ±¹V¸ ´E¸ ´EÀ7Ç7ºÌº´BÁdÂM®7»BÍ]²5®7µ±»J¯³µr°dº!®7´B»EÂ5º>µ±®:»B¸IÅ ºÄ ¯mÐ5²:°± S¯ º±#5º¶ ¸ ´E!$À #!-E ¯³ÈVÍM ´E#5°d½! !$#!- !$#!- 5 * " -- -:P -- : !$# !$#!- q¸À®:»B¸IºrÀº¶¯m¯SÐVÁCµ±µ±¯³¸ ´EÀ7À½5¯S²:½°±´J¹Vvl¸I½5zM¯SºÌh »Æ´E°±Ã»BÅÓº¶ÈVÀ@µd»JдE°i5Ád®:¯³Ãn¯nÍ]°±¸ µ¶µ±¯³À ¹J»B°±¸I»BË:Å ¯ »BÀV»BJÈÅIº¶´n¸I»½5¯³À@º¶µ±ÈV¸ À@¿7µd¯³»E°CÁC{µ±µ±¸IÁ®7»JEµ1¯³ÈV¸Iº¶ÍMÀ´E× µ °d½!/ ¸Ij1ºÁ³µd»BÅ»B@À@À7º¶µ ½:²7@ºM»EÂÁm´E´E¯S°{º!°¯m¸ µ±Ð:À>®:»Bµ±¯>Ãn®:¯³¯²:ÃnÅ·E¯E²5°dF »BµÈÃnúµ±t°±»B¸ °»BÀ:À7»B·7°±½ h ¯y´E°YÅ ¯³·E»B¸°±Ë:¯1¸ ů ¸ @µÈEÇ:hÓ¸ ¹JLM»B»EÅ ¯³º¶À@¯ÓµS¸I hº¸À7¯³Ãnº¶¸ ·E²5À:µÈ¸ Â3Ä ËPÁd®7´V»B´E°dÅ »E¯S»BÁCµ±À ¯³ C° Ád®7»B°d»EÁC µ±¯³°À7»B"»BÀVÃnȯ Ád ®7»B°d»EÁCµ±¯³C° qº±Ám®:°±¸¯l²5µ±´E¸ ´EÅ Àt´JÍ]Ãn¸ À:´E°±·Y¯¯mÁmÐV´Eµ±À7¯³ÁmÀ7¸Iº¶º¶¸ ¯ ´EÀ73ºµ±®:µ±´n¸ À:· ,vlo1z Ãn»B¯S°±»B¯lÀ7Ç7º º¶³¯S¯³½°±´Ìµ±´t´E°ÓÃÃn» ´EE°±¯1¯Mµ±´5®:Á³¯rÁm½5Ç:¯m°¶ÄÄ Ád®7»B°d»EÁCµ±¯³°À7»BÃn¯ i °±¯³À7Ám¯Sº{´B 3µ±®:¸ À:· :»BÀ7½ 3µ±®:¸ À:· Ãn¯S»BÀ7ºM»JµMÅ ¯S»Eºµ´EÀ:)¯ 3µ±®:¸ À:· mh ººµ±µ±°±°±¸¸ À:À:··n ¯³Å ¯³Ãn¯³À@Cµ ºµ±°±¸ À:·n»B¯³ÀVÅ ¯³È¼ÃnÁd¯³®7À@»BCµ °d,»Eo ÁCµ±¯³°M´Bµ±®:¯³°µ±®7»BÀ ´E° ¢ ¢ { A E ³J SJ qÀVÇ:®:ÃY¸IºËPº¶¯³¯S°dÁCº³µ±FÓ¸ ´E¯mÀ«µdÁBh½5e+¯Sº±»BÁm°±°±¯Æ¸ ËP¯S´Eºn°±Ãn®:´J¯SÍ ½ ¸ °±À7´E½5ø ¹V¸Iº¶½5¯ Ç7@»BÇ:Å]¯³À7µ±´ ÁmE¯S¯³ºYÀ7´BºÂÌXÁd¸I®7½5»B¯³À@°d»Eµ±¸ÁC¿7µ±¯³¯³°d°dº³º³Fh ÀVÇ:ÃYËP¯³ÀVC° Ç:à ÀVÇ:ÀVà Ç:à SÖ ÀVÇ:à ·Eqwa°d®:À@»Bµ±¯Ã¯³°¶Âº´Eµ±´Å»BE°±´J¯Ì¯³Í]À¸ ´EÀ:º¶°±·²7Ãn»Eº¶¯SÁm¯S½Æ¯ÁC]µ±Â¸ °±Ã´E´EÀ7»fúiȽ5º¶´5¯¯SÁ³@º±ÁmÁmÇ:Ç:°±¯³¸°ÌÀ7ËP´EÁm¯¯SÀ®:º¯³´J´B¸Í+µ±®:µ±¯m¯³´ Ð5°rE²:¯³º¶°±À7¸I¯S½5º³º±¯th º¶¸ ´B´EÂMÀ7»Bº>ÀV»BÈÀ7½µ±´ ²:E¯³°±´BÀÄ F qÇ:®:°±¯<¯S»BÂÅ ´E. Å ´JCÍ]F ¸ À:Ç:·Î¸ À@°±µ±Ç:¯³·EÅ ¯S¯³º° Â. ´EH°dFtÀV»BÀ7Ç:½Ã . ²:C°±¯mF ¿:Ð Ám´E. Ãn²:Å º¶¯m®:Ð ´EÇ:. ÅIC½£F ËP°±¯-¯S»B°±Å ¯³²:. Å C¸ Ä F Ë:qÇ5´ µ1E¯³À:À7´Bº£µ1Í]Í]¸ ®:µ±¸I®:Ád¸ ® À»Y°±¯ µ±@´ Ç:E¸¯³°±À¯+h ¸ Ãn²:Å ¸IÁm¸ µµ±¯³°±Ãn¸ À7»Jµ±¸ ´EÀ X¸I½5¯³À@µ±¸ ¿7¯³°dº³F µ±Á³®7½5»J¯Sµ±»J¯SÁmµ½.¸ ÃÀVÇ:»BÃY´EÅ ° ËP¯³C. F°dºB½5Ám´E¯SÀ@Ám¸µdûB ¸ »BÀ:Å ¸ À: ·rC»BF½5À7»B¯S½ ÁmÀ7¸ ½ ÃSÖ:»Bh ½5Å:¯S²PÁmq´E¸ ¸Ã®:À@¯³µd»B°±ºÓÅ ¯«´ES°ÓÖ»BC°±¯mFM¯ÎÐ5²PÍ]À:´E®:´£À:¸I¯³Ád°±®«À@Ç:µdźyÃn¯SÃYº<¯S»BÇ7ÂÀ7´Eºµ°º ÀV½5Ç:¯³ÃYÅ ¸ ËPÃn¯³¸ °dµ±º³¯³F!°CmÁdF5®7Ë:»BÇ5°d»EµlÁCÀ:µ±¯³´B°dµ]º³FRÀ:¯S»BÁmÀ7¯S½º±º±½5»B´B°±¸µCÅ e1ÈÃËVȼ»fÈ»BÀVËPÈ@¯tµ±®:µ±¯³¸ À:°±Ãn·n¸ ¯³À7ÅI»Jº¶¯Eµ±¯Sh ½<ËVÈ<»BÀVÈ ËPÀV¯>Ç:¸ à À½5. ¯S Ám¸ ûBÅ°d»E²:½5°±¸ ¯mÐ!¿:h Ð . Ám´EÃn²:Å ¯mÐ . qº¶¸ ´E®:À7¯1ºM´Eµ±Å´t´Jµ±Í]®:¸¯>À:ÅI·>»BÀ:¿7·E¹EÇ7¯Ì»BÁd·E®7¯ »B°d»EÁCµ±¯³°dº »B°±¯1°±¯Sº¶¯³°±¹E¯S½Y´E°{ÂÇ5µ±Ç:°±¯l¯mÐVµ±¯³À5Ä Ám´EÃn²: Å ¯m°±Ð ¯S»B. Å . Ç:°±¯S°±¯S»B»BÅ Å . . °±¯S»BÅ°±¯S. »BÅ . J°±¯S»BÅ Ç:.°±¯S »BÅ . °±¯S»BÇ:Å °±.¯S»B Å . °±¯S»BÅ Ç:. °±¯S »BÅ . 3µ±´ E¯³À ¸I½5¯³À@µ±¸ ¿7¯³°C ËP´V´EÅ ¯S»BÀ ÀVÇ:ÃYËP¯³°C Ád®7 »B°d'»EÁC µ±¯³C° ºµ± °±¸ À:· °±¯S»BÅ . º¶¸ ·EÀ Ç:°±¯S»BÅ . Ç:°±¯S»BÅ . Ç:¸ À@µ±¯³·E¯³° . ½5¯³Å ¸ Ãn¸ µ±¯³C° Í]®:¸ µ±¯Sº¶²7»EÁm¯ ' Ç:¸ À@µ±¯³·E¯³° . Ç:¸ À@µ±¯³·E¯³° . Í]®:¸ µ±¯Sº¶²7»EÁm¯ º¶²7»EÁm¯r´E°]À:¯³Í]Å ¸ À:¯ ½5¯SÁm¸ ûBÅ . Ç:¸ À@µ±¯³·E¯³° º¶Ç n!Ð Ám´EÃnÃn¯³À@Cµ »BÅ º¶Ç:Ë7º¶¯ @Ç:¯³À@µ1Ád®7»B°d»EÁCµ±¯³°dºMÇ:²µ±´» ½5¯SÁm¸ ûBÅ Å ¸ À:¯>Ë:°±¯S» ½5¸ ·E½5¸ ¸µ ·E¸ µ l½5o ¸ ·E¸ º¶µ Ç n!Ð@o lo º¶Ç n!Ð »Jµ±Ãn´@º¶²:®:¯³°±¯ Í]®:¸ µ±¯Sº¶²7»EÁm¯ Ám´EÃnÃn¯³À@Cµ ¸ À@µ±¯³°¶µ±´ E¯³Àº¶²7»EÁm¯ »Jµ±Ãn´@º¶²:®:¯³°±¯@o ·E¯³½5° ¸ ·E. ¸ µ ½5¸ ·E¸ µ . lo$ º¶lÇ o nÐ! : Ç ¸ @ À ± µ ³ ¯ ¸I½5¯³À@µ±¸ ¿7¯³C° ¸ À:¸ µ±¸I»BYÅ º¶Ç:Ë7º¶¯ @Ç:¯³À@Cµ @o ²:°±¯m¿:Ð . °d»E½5¸ Ð . ¯mÐ:»EÁCµ±À:¯Sº±º ²P¯SÁmÇ:Å ¸I»B°]¸I½5¯³À@µ±¸ ¿7¯³C° m ¯ : Ð E » C Á ± µ : À S ¯ ± º º °d»E½5¸ Ð . ¸ À:¸ µ±¸I»BÅY Å ¯mµ¶µ±¯³°C º¶²P¯SÁm¸I»BŸ À:¸ µ±¸I»BÅY Å ¯mµ¶µ±¯³C° º¶Ç n!Ð ¯³Ãn²5µÈ º¶²P¯SÁm¸I»BŸ À:¸ µ±¸I»BYÅ P ¯mÐ5²P´EÀ:¯³À@µ1ûB° E¯³C° Hº¶¸ ·EÀ ½5¸ ·E¸ µ [ ¸ À:¸ µ±¸I»BYÅ ½5¸ ·E¸ Cµ ¯mÐ5²P´EÀ:¯³À@µ1ûB° E¯³°C " º¶Ç:Ë7º¶¯ @Ç:¯³À@Cµ º¶¸ ·EÀ ¯³Ãn²5µÈ º¶²P¯SÁm¸I»BV ź¶ Ç:Ë7º¶¯ @ Ç:¯³ À@Cµ U R X B T ¯mÐ:»EÁCµ±À:¯Sº±º ¯³Ãn²5µÈ ½5¸ ·E¸ Cµ °d»E½5¸ Ð º¶²P¯SÁm¸I»Bź¶Ç:Ë7º¶¯ @Ç:¯³À@µC °d»E½5¸ Ð ²P¯SÁmÇ:Å ¸I»B°]¸I½5¯³À@µ±¸ ¿7¯³C° °d»E½5¸ Ð ¯³Ãn²5µÈ 80" !"$'K +4()'76I'(HG +B#"$'()*%+ 5 9=79 *9 A9 *9 7 N = 7 *9 = < *A< B *A H< *A > <9 =B9 @>*9 A A9B = < 9 !9 H=B9 H=B9 ! < 7 *9 % !"$'KR+4()'76 !9 7 V8 < 0 q q 0 / " 0 0 0 0 !9 N= !9 q q ! < 9 S =6AC@ @ M NM NM 0B 8 5 3" / " 0 k l m ` M q ./ < L/ %/ %/ %/ V %/ 3 3 f f ` mpo 0 L o f 0B o " G/ D 9 @A A 9 %/ = ÙVhz:´E°±Ã»Bź¶ÈVÀ@µd»Jм»BÀ7½º¶¯³Ã»BÀ@µ±¸IÁ³º - ¹J»B°±¸I»BË:Å ¯ ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ ' °d»E½5¸ Ð SÖ »Eº±º¶¸ ·EÀ:Ãn¯³À@µC ½5¸ ·E¸ µ V ½5¸ ·E¸ µ V U R < B ½5¯³°±¸ ¹E¯S½¼¯mÐ5²:°±¯Sº±º¶¸ ´EÀ ½5¸ ·E¸ µ ½5¸ ·E¸ µC ½5¸ ·E¸ µ SÖ ½5¸ ·E¸ µ " -- ¯mÁmÁmÐ5´E´EÀ7À7²:½½°±¯Sº±ÁmÁmº¶ÅIÅI»B»B¸ ´EÇ7Ç7Àº¶º¶¯¯ @o ' º¶¯ @Ç:¯³À7Ám¯ C'' ¢ 3 A S@ MJ J S S Á³Á³»E»Eº¶º¶¯>¯>¯mÁmÁmÐ5ÅIÅI»B»B²:Ç7Ç7°±º¶º¶¯S¯¯ º±@º¶o ¸ ´E' À Ám¯mo̯SÐ5º±»Jº²:µ±Â°±Ç:Ç:¯SÅú±Èκ¶i¸ ´E²7¸IÀºY»B{°dÍ]º¶Í]¯S®7¸º³Å»Jh¾µY»Bv1µ±ÅIº¶®:´B´t¯ µ±¯²7»Bµ±°d®7º¶»J¯rµ¼»E²:º]»B°±ÀV´5» ÈÎÁm¯S½:º½5µ±»JÇ:°±µ±°±¸ Ç:À:¯Ã·Xº¶Cµ±¯Sh ®7ÁC»Jµ±µÆ¸ ´EÀβ7»BÖ:°dº¶h Ö:¯Shºne>»Eºnº¶Ç7»BÁCÀ Ä 3µ±¯SºCµº¶,¯o@' Ç:¯³À7Ám¯C'' - 3µ± ¯SºË:Cµ ¸@À7o½5' ¸ À:·Æº¶²P¯SÁ @o' ËP´5½5È Q' ½:»Jµ±Ç:à º¶¸ Ãn²:Å ¯i½:»Jµ±Ç:à Ám´EÃn²P´EÇ:À7½½:»Jµ±Ç:à -- P ¹J »B°±Ë:¸I¸»BÀ7Ë:½5Å ¯¸ À: · º¶²PË:¯S¸ À7Á ,½5o¸ À:' ·ÆËPº¶²P´5¯S½5Á È @Qo' ' ËP´5½5ÈQ' º¶¸ Ãn²:Å ¯i½:»Jµ±Ç:à ËP´V´EÅ ¯S»BÀ ÀVÇ:ÃYËP¯³°C Ád®7»B°d»EÁCµ±¯³°C ºµ±°±¸ À:· º¶ÈVÃYËP´EÅY :- º¶ ¯ @Ë:Ç:¸ À7¯³À7½5Ám¸ À:¯ ·ÆC' º¶²P¯SÁ @o' ËP´5½5È C' º¶ÈVÃYËP´EÅY ¸I½5¯³À@µ±¸ ¿7¯³°C Ám´EÃn²P´EÇ:À7½½:»Jµ±Ç:à Š¸IºµC ¹E¯SÁCµ±´E°C ½:»Jµ±Ç:Ã@o' ½:»Jµ±Ç:à 3µ±¸ µ±¯S¯³º°dCµ »J µ±¸ ´E½5À´nº¶°±²P¯S¯Sº¶ÁÇ:,Å oCµ C' ' Å ¸IºµC ½:»Jµ±Ç:ÃC' »BË:Ë:°±¯³¹V¸I»Jµ±¸ ´EÀ Ám´EÃnûBÀ7!½ ,o' »BË:Ë:°±¯³¹V¸I»Jµ±¸ ´EÀ »BË:Ë:°±¯³¹Æ²:°±¯m¿:Ð! ½:»Jµ±Ç:à : ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ ' »BË:Ë:°±¯³¹Æ²:°±¯m¿:Ð! @Ç7»Eº¶¸ @Ç:´Bµd»Jµ±¸ ´EÀ ½:»Jµ±Ç:Ã@o' ¹E¯SÁCµ±´E°C Ám´EÀ7½ÁmÅI»BÇ7º¶¯ ¢ A J 33µ±µ±¯S¯SººCµµCQ ' °± ¯S3Ámµ±¸ ¯S²:º¸ Cµ ¯³ À@µCCº¶' ¯ @Ç:¯³À7Ám¯ C' ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ °±¯SÁm¸ ²:¸ ¯³À@Cµ ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ Ų:¸ µ±°±¯³´5°dÁm»B¯SÅY½5 Ç:°±¯>Á³¹J»B»BÅ Y°± ¸I»BË:Å ¯ ½:»Jµ±Ç: Á³»Eº¶¯>ÁmÅI»BÇ7º¶¯ à @o' º¶¯ @Ç:¯³À7Ám¯ C' : Ë ¸ 7 À 5 ½ ¸ : À Æ · ¶ º P ² S ¯ Á J ¹ B » ± ° I ¸ B » : Ë Å ¯ H¯mÐ5²:°±¯Sº±º¶¸ ´EÀ ' ÅIÁm»B´EÃYÀ7½5ËR¸ ½:µ±¸»t´EÀ7¯mÐ5»B²:ÅY °±¯Sº±º¶¸ ´EÀ ¹J»B°±¸I»BË:Å ¯H¸ À:¸ µC ºµ±¯³²Q' ¸ µ±¯³°d»Jµ±¸ ´EÀº¶²P¯SÁ ¹J»B°±¸I¯m»BÐ5Ë:²:Å ¯°±¯S º±º¶¸¸ ´EÀ:À ¸ Cµ Q' »E½5º±¯³º¶°±¸ ¸ ·E¹EÀ:¯SÃn½¼¯³¯mÀ@Ð5µC²: °±¯Sº±º¶¸ ´EÀ ¸ À:¸ Cµ ºµ±¯³² ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ ÃûE»EÁmÁm°±°±´n´nÇ7Ë:ź¶´5¯Á ½5´°±¯Sº¶Ç:Å µC º¶¯ @Ç:¯³À7Ám¯ ¯³Ãn²5µÈ E¯³ÈVÍM´E°d!½ H½:»Jµ±Ç: ûEÁm°±´nÇ7º¶¯ à @o' Å ¸ µ±¯³°d»BÅY @Ç:´Bµd»Jµ±¸ ´EÀ º¶¯³Å Â3Ä[¯³¹J»BÅ Ç7»Jµ±¸ À:· E ³ ¯ V È M Í E ´ d ° ½ ! I ¸ 5 ½ ³ ¯ @ À ± µ ¸ 7 ¿ ³ ¯ ° C º¶¯³Å Â3Ä[¯³¹J»BÅ Ç7»Jµ±¸ À:· ËP´V´EÅ ¯S»BÀ ÀVÇ:ÃYËP¯³°C Ád®7»B°d»EÁCµ±¯³°C ºµ±°±¸ À:· ûEÁm°±´nË:Å ´5Á @Ç:´Bµd»Jµ±¸ ´EÀ ½:»Jµ±Ç:à !$#!- ½:»Jµ±Ç:ÃQ' -! º¶ÈVÀ@µd»Jмº¶²P¯SÁ @o' ËP´5½5È Q' ´E²P¯³°d»Jµ±´E°CH´E²P¯³°d»BÀ7½!Ao' ²:°±´5Ám¯S½5Ç:°±¯>Á³»BÅ Y - º¶ÈVÀ@µd»Jк¶²P¯SÁ @o' ËP´5½5È C' ´E²P¯³°d»Jµ±´EC° ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ ¶ º V È @ À d µ J » Ð º¶²P¯SÁ E¯³ÈVÍM´E°d½!H3µ±°d»BÀ7ºÂ´E°±Ãn¯³°]º¶²P¯SÁ Q' ´E²P¯³°d»BÀ7!½ ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ * ÅI»BÃYËR½:»t¯mÐ5²:°±¯Sº±º¶¸ ´EÀ 3´E°±Ã»BÅIº ËP´5½5È Q' ¹J»B°±¸I»BË:Å ¯Ao' ¹J»B°±¸I»BË:Å ¯ 3´E°±Ã»BÅIº ¹J»B°±¸I»BË:½5ům¯ ¿7 À:¸ µ±¸ ´EÀ ,¹Jo »B°±¸I»Bº¶¯Ë:@Å ¯Ç: ¯³' À7Ám¯ ¢ @ ! S ËP´5½5È º¶¯ @Ç:¯³À7Ám¯ Ám´EÃnûBÀ7!½ @o ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ qÁm´E®:À@¯¼µ±¯mÂÐV´Eµ¶Å ÄÒ´J°±Í]¯³¯E¸ À:hi·<w[µr·E°d¸I»BºrÃn²:ð±¯S»Bº¶¯³°>À@µ±´E¯S° ½@»EÇ7ºÌ»E»¼º¶¸ @°±Ç:¯SÁm´B¸ µ±²P¯¼¯t¯mÂÐ5´E²:°Ì°±·E¯S¯³º±º¶À:¸ ¯³´E°dÀ7»Jº>µ±¸ ¸IÀ:ºY·À:»B´BÀ µ Ám´EÃnûBÀ7½! ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ ¸ À5´EÅ¿7´JÀ:Í]¸ µ±¸¯rÀ:ÀV·Ç:°±ÃYÇ:ËPÅ ¯S¯³ºY°Â´B´E° ²:°±´5½5B Ç7ÁCµ±¸ ´EÀ¼°± Ç:Å ¯Sº³h hywaûBE·E¯³¸ ¯³À:²7¯rºi»Yµ±°dÁm»E´EÁ ²VÈ´B´BÂ1µ±µ±®:®:¯¯ " 3µ±¯SºCµ Ám´EÀ7º¶¯ @Ç:¯³À@Cµ »BÅ µ±¯³°±À7»Jµ±¯ ' Ám´EÀ7½5¸ µ±¸ ´EÀ7»BYÅ Â 3µ±¯SºCµ ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ À:¯Sºµ±¸ À:·Æ½5¯³²5µ±®h Ám´EÀ7º¶¯ @Ç:¯³À@µC ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ »BÅ µ±¯³°±À7»Jµ±¯ ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ ¯³Ãn²5µÈ @Ç7»Eº¶¸ @Ç:´Bµd»Jµ±¸ ´EÀ @Ç7»Eº¶¸ @Ç:´Bµd»Jµ±¸ ´EÀ µ±¯³Ãn²:ÅI»Jµ±¯ ¯mÐ5²:°±¯Sº±º¶¸ ´EÀ 8 G J J " %/ % %/ @ = M NM M H< A H9 <A <+@ @VS JA B[ M NMPOM k l m mpo A9=B< <AAVS JA [ 9=79 97 = 9 < *A > =B9 =B9 =B9 =B9 @>*9 !9 A <9 *A *A <9 C>*9@<BA 9 k *9 =B9 7 =B9 @>*9 *<D 7 =B< *<D *A< AVS Q@ @VS JA M NM #M 38 < %/ 1 Ô ]/ ¯³¹V¸Iº¶¯S½ i5Ád®:¯³Ãn¯ @Ç7»Eº¶¸ @Ç:´Bµd»Jµ±¸ ´EÀ nµ±¯³Ãn²:ÅI»Jµ±¯ !$# !$#!- $ µ±¯³Ãn²:ÅI»Jµ±¯ C' µ±¯³Ãn²:ÅI»Jµ±¯ ŹE¸I¯SºµÁCµ±´En° µ±¯³nÃnµ±²:¯³ÃnÅI»Jµ±²:¯ ÅI»Jº¶¸µ±Ãn¯ ²:Å ¯i ½:»Jµ±Ç:à Ç:À @Ç:´Bµd»Jµ±¸ ´EÀ nµ±¯³Ãn²:ÅI»Jµ±¯>´E°]º¶²:Å ¸IÁm¯ @o' Å ¸Iºµ nµ±¯³Ãn²:ÅI»Jµ±¯ nnµ±µ±¯³¯³ÃnÃn²:²:ÅIÅI»J»Jµ±µ±¯>¯ ´E°1 º¶²:Å ¸IÁm¯ µ±¯³Ãn²:ÅI»Jµ±¯ C' @Ç7»Eº¶¸ @Ç:´Bµd»Jµ±¸ ´EÀ nµ±¯³Ãn²:ÅI»Jµ±¯>´E°]º¶²:Å ¸IÁm¯ @o' ¹E¯SÁCµ±´E° nµ±¯³Ãn²:ÅI»Jµ±¯ Ç:À @Ç:´Bµd»Jµ±¸ ´EÀ nµ±¯³Ãn²:ÅI»Jµ±¯ #5 !$#!- µ±¯³Ãn²:ÅI»Jµ±¯ C' µ±¯³Ãn²:ÅI»Jµ±¯>´E°]º¶²:Å ¸IÁm¯ µ±¯³Ãn²:ÅI»Jµ±¯ º¶²:Å ¸IÁm¸ À:·Ç:À @Ç:´Bµd»Jµ±¸ ´EÀ º¶²:Å ¸IÁm¸ À:·Ç:À @Ç:´Bµd»Jµ±¸ ´EÀ #5 !$#!- 5 nµ±¯³ Ãnn²:ÅIµ±»J¯³µ±Ãn¯ ²:ÅI»Jµ±¯ ' µ±wa» À¸ Ãn¯Sº¶ @²:ºÇ7Å ¸IËP»EÁm¸º¶¯+À:¸ @·nÁmÇ:´EÇ:´BÀ5Àµd»JÂ@Ç7µ±Ç:¸º¶´E´B¯SµdÀ½»Jaµ±º³Í]¸F´E¸À µ±» ® ÅC¯³¸Ih¸ºµ±µ ®:¯³q°®:µ±»B¯ ¯³À Ãn¸ À@²:µ±ÅIÇ:»J¯³À µ±°±@¯²:Ç:°±¯m´Bµdµd¾»J»Jµ±µ±Á³¸ ¸ ´E´E»BÀ ÀÀ »Eº¶´EºHÏÃn»B´E¯mÀ °Ä ½5Ç:¯³ÀÀ7@Ám¯EÇ:h´Bµd»Jµ±¸ ´EÀ H´E° º¶²:Å ¸IÁm¸ À:·nÇ:À @Ç:´Bµd»Jµ±¸ ´EÀ ϵd» E¯Sº²:°±¯SÁm¯mÄ ¢ YX {J 7 Î@ 3µ±°d»BÀ7ºÂ´E°±Ãn¯³°]º¶²P¯SÁ ! # ¸I½5¯³À@µ±¸ ¿7¯³C° Ao' º¶ÈVÀ@µd»Jм°±Ç:Å ¯ @o' ²7»Jµ¶µ±¯³°±À 3µ±¯³Ãn²:ÅI»Jµ±¯ Q' º¶ÈVÀ@µd»Jм°±Ç:Å ¯ ²7»Jµ¶µ±¯³°±À ²7²7»J»Jµ¶µ¶µ±µ±¯³¯³°±°±ÀÀ ²7@ o»J' µ¶µ±¯³°±À²7¸I»J½5µ¶¯³µ±À@¯³°±µ±À¸ ¿7C¯³' °C ²7²7»Jµ¶»Jµ±µ¶¯³µ±°±¯³À °±À@o Ao'²7»Jµ¶µ±¯³°±À ¯³Å ¸ ²7º¶¸Iº C' ²7 »Jµ¶²7µ±»J¯³µ¶°±µ±À¯³°±½:À »JAµ±o Ç:à ²7 »Jµ¶µ±¯³°±À ¯³Å ¸ ²7º¶¸Iº Q' ²7»Jµ¶µ±¯³°±À½:»Jµ±Ç: ËPÁd®7´V»B´E°dÅ »E¯S»BÁCà µ±À ¯³ °C ºµ±°±¸ À:· ÀVÇ:ÃYËP¯³C° ²7»Jµ¶µ±¯³°±À¸I½5¯³À@µ±¸ ¿7¯³C° 3µ±¯³Ãn²:ÅI»Jµ±¯ 33µ±µ±¯³¯³ÃnÃn²:²:ÅIÅI»J»Jµ±µ±¯>¯>¯³¯³ÅÅ ¯³¯³ÃnÃn¯³¯³À@À@µCCµ @ o' 3µ±¯³Ãn²:ÅI»Jµ±¯ Q' 3µ± ¯³3Ãnµ±¯³²:ÃnÅI»J²:µ±ÅI¯i»Jµ±½:¯r»Jµ±¯³Ç:Å ¯³Ã Ãn ¯³À@Cµ ,o' 3µ±¯³Ãn²:ÅI»Jµ±¯>¯³Å ¯³Ãn¯³À@µC 3µ±¯³Ãn²:ÅI»Jµ±¯ 3µ±¯³Ãn²:ÅI»Jµ±¯ ¯³Å ¸ ²7º¶¸Iº 3µ±¯³Ãn²:ÅI»Jµ±¯i½:»Jµ±Ç: à ²7»B»JÀVµ¶µ±ÈƯ³°±¸I½5À¯³½:À@µ±»J¸µ±¿7Ç:¯³Ã °]¯mÐ:Ám¯³²5µ W ²7»Jµ¶µ±¯³°±À¸I½5¯³À@µ±¸ ¿7¯³C° ¯³Å ¸ ²7º¶¸Iº 3µ±®:¯i¸I½5¯³À@µ±¸ ¿7¯³° W )/ !<7 < 4< Q m < < *9 < *9 7 N = 7 Q < < < < - mpo < - - Q Q AV\ ? F< Q M NM M Q Q < < k < 4< Q l < < F< F< *9 A *<D > N=B9 ¢ r 7J t ²:°±´E·E°d»Bà Ám´EÃnûBÀ7½´E°1½5¯m¿7À:¸ µ±¸ ´EÀ@o M NMMRQ J ? A 7S @VS JA X Ám´EÃnà »B½5À7¯m½¿7À:´E¸°]µ±¸ ½5´E¯mÀ¿7 À:¸ µ±¸ ´EÀ Ám´EÃnûBÀ7½! º¶ÈV:À@ µd»J н5Ám¯m´E¿7ÃnÀ:¸ õ±¸ ´E»BÀÀ7½´E°1½5¯m¿7À:¸ µ±¸ ´EÀ ' ½5¯m¿7À:¸ µ±¸ ´EÀ :" ½5 ¯m¿7¹J»BÀ:°±¸ " µ±¸I»B¸ ´EË: À Å ¯,o' ¹J»B½5°±¯m¸I»BË:´EÅ ¯°±Ã »B¯mÅIº Ð5 ²:' °±¯Sº±ËPº¶´5¸ ´E½5ÀÈ Q' ' ½5¯mÂy´E°±Ã»BÅIº ¹J»B°±¸I»BË:Å ¯ Ao ¹J»B°±¸I»BË:Å ¯ @o ¹J»B°±¸I»BË:Å ¯ º¶ÈVÀ@µd»Jн5¯m¿7À:¸ µ±¸ ´EÀ " $ E¯³ÈVÍM´E°d!½ 3µ±°d»BÀ7ºÂ´E°±Ãn¯³°]º¶²P¯SÁ C' !9 !9 A9 !9 A9 !9 A9 !9 7 *<D !"$'K +B#"$'()*%+ 32& ±µ²:q®:°±®:¯¼´5¸IÁmº>²:¯Sº¶°±½5¯S¸ Ç:ÃnÁC°±µ±¸¯S¸ µ±´Eº³¸ hiÀ¹E¯Æq²:¯m°±®:Ð5´J¯²:¹VÁm¸I°±½5¯S´E¯Sº±À7º¶ºÌÁm¸ ´E¯³»Æ²5À7µdº>´Eºr°±´B»BÃÂlÀ7»B5½<ÅÓÁd®:À:½5¯³´B¯³ÃnÀ:µd»J´B¯¼µ±µd¸ »J»B´Eµ±À7À¸ ´E½ Ç7À7º¶º¶»B¯³¯SÅÓŽ<¯Sº¶ÁC¯³®:µ±Ã¯³¯S°±½»B¯nÀ@Ë:µ±»B¸IÇ:°±Á³¯t¸ ºlÅ µ¶½5ÂÄ[´E¸¯mÀ °Ä º±Ám°±¸ ËP¯S ½¸ À º¶¯ @VÇ:µ±¯³®:À7¯>ÁmÀ:¯Ì´Bµd´E»J°±µ±Ã¸ ´E»JÀµ±¸ ´E¸Iº1À º¶Ç:ÃnûB°±¸ ³¯S½¼ËP¯³Å ´JÍ 3 ? ? µ±®Ãn¯³ÃYËP¯³°1´Bµ±®:¯iº¶¯ @Ç:¯³À7Ám¯ 3 X mÄ[Ë7»Eº¶¯S½7e )3 Å ¯³´EÀ:À7·BÁ³µ±»J®µ±¯³´BÀ7ÂÓ»Jº¶µ±¯ ¸ ´E@ÀÇ:¯³´BÀ7ÂyÁmº¶¯ ¯ 3@Ç:¯³À7Ám¯Sº 3 »BÀ7½ 5 3 5 m Á 3 ? ½5°±´E²¼µ±®:¯r¿7°dºµ ? Ãn¯³ÃYËP¯³°dº´BÂÓº¶¯ @Ç:¯³À7Ám¯ 3 5 / <ÁfLM»B°¶µ±®VȼÁm´EÀ7½5¸ µ±¸ ´EÀ7»BÅ ¶¸  5 µ±®:¯³À /Ư³ÅIº¶¯ ; 2 ¸;; À ¸²:º¶À Ç:°±Ë7´ ¯SºÁC¯Sµ±µ±ÁC¸ ¸ µ±´Eµ±Ç5¸À´Eµ±À¸ ´B´EÂÀ´B; ; ¸ À@µ±Í]µ±´´¸ µ±½5½5® ´E´EÃ;ûB»B´E¸ ¸ À À° 2 ´µ±Bq°±Â{®:¯S¹J»J¯»Bµ±ÃnÅ°±Ç:¯S¯³¯S»EÀ@ºÌº¶µ1´E¸ ÀÀ7´BºÂµ±µ±²:®7¯S»E°±»J´5½µÆÁm´B¯m¯SÐ5½5ÂM²:Ç:º¶°±°±¸ À:¯S¯>º±·EÁ³º¶Å ¸¯Y»B´EÅ À-I¹Jº]»BÁmÅ»BÇ:´EÀ7¯SÀ@½¼ºÌµ±¸ ÃY¸IÀVºlÇ7Ç:µ±»JÅ ´µ±µ±¸ ¸ ²:º¶´E¸ÅÀ7Ãn¯>ºY°±²:µd¯mÅ »µ±¸ ÂÇ:EÈ°±¯Àµ±º¶®:¹J¯ ¯Y»B@ÅÇ:ÂÇ:´E¯³¯S°±À7ú³Ámh ¯S»Bº Å Í]´EqË ®:¸ ů¯SÁCËPËPµd´V¯¼º³´Eh µ±Å °±¯SÇ:»B¯ÆÀ P´E»B°t·ÌÃY»Eº±Ç5º¶µd´5»BÁmË:¸I»JÅ ¯µ±¯S´E½iË Í]¯S¸ ÁCµ±®tµdºt²7»B»BÀ7¸ °d½Éº³Ff¹E»B¯SÅIº¶ÁC¯Æµ±´E°d´Eº³°tFB»B¸ ÃnÀ7½YÃYºÇ5µ±µd°±»B¸ À:Ë:·@Å ¯º Ãnq ®:¸5Ãn¯_aM¸I´EÁn»B°dÀ7µ±½5®7½¯³»J°YµY´B®:Âl7¯³m¯³°±bC¹J¯Æ »BÅËV5Ç7È_a»Jmµ±»BFV¸ ²:´EÍ]Àβ:®:Å ¸IÈVÍ]Ád¸ ®¼À:¸ µ±·<®:ÃY¸ »BÀ«Ç7°±ºË:µ»¸ ËPµ±Á³°d¯r»B»BÅ°±¸ MÀVÈ<¹E¸Iºt²P¯³°d¯³Ç:º¶°±À7¯SÃYº³º¶²PFEÇ5µ±¯Sµd´Y»JÁm¸µ±µ±¿7¸ ®:´E¯SÀ7¯>½!º h»B°±7G·EmÇ5b ¯ Ä ÃnÀ:´B¯³µ À@@µdº{Ç:¸¸ µ±ÀƯl»i°±¸ Á³·E»B®@Å µM7ËPº¶¸ ¯mÀ7ÂÁm´E¯1°±¯l¸ µ»Bº¶À7Ç:½·E·E»JÂ3¯Sµ±º¯³µd°º³FEµ±¸®:À7¯³ÁmÈ´E°±»B°±°±¯S¯]ÁCµ±¯³Å¹JÈE»BFBÅ µ±Ç7®7»J»Jµ±µ{¯S½!µ±®:hÓ¯lq´E®:°d¸I½5º¯³¸Iº° ´B·EÂ̸ ¹E¯³¯³¹JÀ»BÀVÅ Ç7Ç:»JÃYµ±¸ ËP´E¯³À-°1¸I´BºÂÓÁm»B´E°±À7·EºÇ:µdÃn»BÀ@¯³µtÀ@µdµ±ºd®:eC°±F5´EË:Ç:Ç5·Eµl®:¸´EµlÇ5¸Iµnº1»»nÁm²:Å °±´@´Eº¶·E¯³°d°1»B»Bà ²:²:X3°±Â´f´EÐ5°Æ¸ ûBÀV»JÈ Ä µ±µ±¸¸ ´E´EÀÀµ±ÍM´´EÇ:µ±®:ÅI½¼¯YËP¸ À@¯Eµ±h ¯³À7½5¯S½º¶¯³Ã»BÀ@µ±¸IÁ³ºµ±®7»BÀ<»Å ¯mÂ3µ¶ÄÒµ±´BÄ[°±¸ ·E®@µ1¯³¹J»BÅ Ç7»JÄ Ë:qÇ5®:X µn¯ÉR¸ µtºµ±´EÃY °dÇ7»B º·Eµt¯e ´E »BËPÅ ¯³´5ÈBÎÁ³»Jµ±mµ±®: ´E¯Æ° c³@´ERh Å ´JÍ]¸I¸ ºÀ:·¸ Ãn»J²:Ð5Ÿ ¯³´EÃnà ¯³tÀ@µd¸  »Jµ±R¸ ´E À5Äa½5¯³ ²P¯³À7Fy½5µ±¯³®:À@¯³µSÀ F µ±¹Eq¸ ¯³´E®:°±À¾¯YÈƽ5´B¸ À@¯m µ±¿7¯³ À:°±¸¯Sµ±ÍMº¸ µ±´E´E¸ ÀÀ:Ç:·7ÅI´B½Îh ÂÁm+´EÃn¸Iº]²:´EÅ ¸IÃnÁ³»J¸ µ¶µ±µ±¯¼¯S½µ±®:ËP¯¯SÁ³º¶¯³»BÃÇ7º¶»B¯iÀ@»Bµ±¸IÀ<Á³ºY»EÁ³Í]Ám¸ Ç:µ±®:°d»J´Eµ±Ç5¯>µ½5ËP¯m¯³¿7¸ À:À:¸ · Ä w[ËPÂ{¯³¸x«À:·¸Iºl°±»¯m¯³²:°±°±¯³´EÀ7·EÁm°d¯S»B½¼Ã ´E¸°1À»EÍ]º±º¶®:¸ ·E¸IÁdÀ:®<¯S½!»BF@Å µ±®:¹J¯³»BÀ°±¸I»Bµ±®:Ë:¯>Å ¯Sº1Ãn»B¯S°±»B¯iÀ:¸½5À:¯m·n¿7À:´B¯SÂÓ½x¾ËP¸I¯mº ´E°±¯ * @w o'¾x ' Ç:À7½5¯m¿7À:¯S!½ ' #8 # LB . . 0 0 % P UPNT] ] P 6 N 1N B !N R =B< *A< k # ]ͺ¶¯ ®:@¯³Ç:°±¯³¯1À7w@Ámo̯1¸I´BºÂµ±¯m®:Ð5¯l²:º¶°±¯¯S@º±º¶Ç:¸ ¯³´EÀ7À7ÁmºÓ¯1´E´BË5µd»B¹J¸»BÀ:°±¯S¸I»B½nË:ËVÅ ¯SÈnº°±½5¯³¯m²:¿7ÅI»EÀ:Ám¯S¸½À:·>¸ À¼¯³¹Ex]¯³F5°±xÈn7¸½5I¯mºÓ¿7µ±À:®:¸ ¯ Ä µ±µ±¸®7´E»JÀ µ{¯³¸ À-¹J»Bx.Å Ç7»JËVµ±ÈɯSºÓ»Bµ±Àδ »Eº±Rº¶¸\E·E À: ÃnRd¯³\fÀ@FVµS»BF À7½Ç:À7 ½5¯m¸IºÓ¿7À:µ±®:¯S¯Ì½!>º¶¯³¸IúY»B»BÀ@À µ±¸I¯mÁMÐ5²:Ç:°±À7¯SÁCº±µ±º¶¸¸ ´E´EÀÀ µ±®7»Jµl»Eº±º¶¸ ·EÀ7ºMÃn¯S»BÀ:¸ À:·tµ±´¯mÐ5²:°±¯Sº±º¶¸ ´EÀ7º³h 3 ¢ ³J ³¡ S A ; w ÆtwL{½5´E¯ À Ám½5´E¯³À7À@ºµ±µd¸ »B¿7À@¯³µd°dº³º>FVX¸ À7¹J»BÁm°±Å Ç7¸I»B½5Ë:¸ À:Å ¯S· ºde @Ç:´Bµd»Jµ±¸ ´EÀ7º I ¸ | nÆ|ÓL{Ð5´E²Ã B.|ÓÐ5² ¯mÁmÐ5´EÃn²:°±Ã¯Sº±»Bº¶À7¸ ´E½:À7º º |ÓÐ5² ; * w | w@-o' Z| Yo'o¾| -' ** ¾w @w Yo o¾| Cw '-' Yo¾| ' "- | Æw-| |' | ' "H| -| ' EPN M M NM : .N AC@ @EA +@ E *A< =B< = < B = < B *A< M *A< 9 3 3 Î ¾! B dm c³ {_Òb 7 ÅÀ7´5»JÁ³µ±»JÇ:µ±°d¸ »B´EÅRÀ7ºÀVÇ:ÃYËP¯³°dº ËPº¶ÈV´VÃY´EÅ ËP¯S´E»BÅIÀ7º º Ád®7Ç:»BÃY°dËP»EÁC¯³µ±°d¯³º °dº B V À ²7¹E¯S»BÁC¸ °dµ±º´E°dº B o B o B dm c³ {_Òb 7 RÃnº\Eµ± °±¸I º±¸ À:ÁmR¯³·@dÅ º\I»BÀ:¯³:´EcÇ77º dm^ Md\ B X ]o 5e ²:°±´5Ám¯S½5Ç:°±¯Ì¹J»BÅ Ç:¯Sº B ¯mºµ±Ð5´E²:°±°±¯S¯Sº º±º¶¯S½Æ¹J»BÅ Ç:¯Sº B X 5e Bw½5¯ ¯³ÁmÀV´EÃn¹V¸ ð±´E»BÀ:À7Ãn½¯³À@Ám´EµdºÀ@µ±¸ ÀVÇ7»Jµ±¸ ´EÀ7º B B lo ¯m»BÐ5À7²:º¶ÍM°±¯S¯³º±°dº¶º ¸ ´EÀÁm´EÀ@µ±¸ ÀVÇ7»Jµ±¸ ´EÀ7º ¯³°±°±´E°dº 3 Î [ RL{´EÀ 7|ÓÐ5² o 7|ÓÐ5² o RL{´E`à o J? *S M M M @VS JA R .N R P NQPR R .PN R P M MPOM <? +@VS \ @VS JA B !B " B B ! ! ! #Z)@c5#' $&' /#W/;%$ 9:),+ ' B)@>A4D$&),+ -W/IE' $3$&)!9lL & ' L)(+*+, ,A -$ ' , .PN 3] ÙVh¾z:´E°±Ã»Bź¶ÈVÀ@µd»Jм»BÀ7½º¶¯³Ã»BÀ@µ±¸IÁ³º Ô Q " L)(+*+, /.: 3 !10 * " &=32 (4 4 L Hl65 7 332 %#59:)@c5#)!9?(4D>&' 4B+ ) 8 ,A 49, & E ; : ; < K L (+*+, & < = : 9 > ; < * (4 < (4 < & 4 <@? = 4 <;AD= , 4 < & E !"$# E B" < KDC < = : K L (+*+, (E l 7 EGF 5 ,A l 7 E 8 (4 < ,H / I 4 < L I<J" <K5 M L (N < (+*3H P O C < *3H & Q : *3HR,H AJ SA * B "< N < 4 <T8 33 2 R>&/#KE#%I[B)@>/;H4D>&K%IE),#$&0 '# 7 , * dl 7 E @ Y E M8 7 33 2 /%:$J/;HIE),IE/>3- E & E !"$# E B" <VUZ" KDC <= : K L (+*+, (E l 7 EGF 5 ,A l 7 E 8 (4 < ,H / I 4 <XWVI<J" <K5 M L && (N < (+*3H P O C < *3H & Q : *3HR,H AJ SA * B " <> " N < 4< YI<B " < M8 7 33 2 $&//G;=)@R 4D>&K%IE),#$&0 Y' # , * dl 7 E @ Y E M8 7 33 2 /%:$J/;HIE),IE/>3- E & E !"$# " C < = : K L & E !"$# E U1" KC < = : K & E &)e = : K L (+*+, & Q : * &=3 2 (4 * J . 4 5 & *+, 8 & *+, & E &)e = : K L (+*+, & Q : * &=3 2 (4 * J . 4 5 & *+, 8 ,A @ Y , Zi)@>&)E4#59`),+ 03)@R7C)@>&).4#-`)@g:2:>&),0303)!9`(4+ %)[/$&C)@>1$&C54# Hl I?4,-VB)Z%03)!9W' #W2+ 46,)1/; @ Y L & E '-1( H " K L (+*+, & * &=3 2 (4 & 2 3 !1 0 * " 4 ,A @ Y , & < L)(+*+, , & < Q : ; < L (+*+, & Q : * &=3 2 (4 : & < < * (4 < , [ 4 :9 > 4 < O L)(+*+\ \ O C : C < L)(+*+\ & C : * (4 < ] O C < *+\ & Ô ]/ ¯³¹V¸Iº¶¯S½ i5Ád®:¯³Ãn¯ 3 @ A 5f¡ [ M M #M : S =ZS \ @VS JA !10 5 "d9:)@5 !1 0 L)(+* " * " J SA 5 "d9:)1<K5 <K5 J SA L (+* J" < N < 1I<"B< L ?X5 * 8 J SA * N <@?0= "B<@? = "B<;AD= N <;AD= ' IE2+ ),IE),#$A4D$&' /#:T9:),2),#59:),#$ 7 33 2 5 d ,A 5 5 d ,A L)(4B, , [ 4 &=3 2 5 d %5 &=3 2 L (;4 < 1 I 4 < L =65 4 <@? = M8 7 33 2 R>&/#KE#%I[B)@>Y/;>&)@$&%:>&#W(4+ %),0 l 7 *CX5 3 ' IE2+ ),IE),#$A4D$&' /#:T9:),2),#59:),#$ .: 5 5 d .: L)(N ,E ,A E N ?0= ,E & 2 5 5 d 5 d & 2 L)(N 4B\/E \ * N 4JE * 5 5 CX5 C * L)(N 4JE E [ 4 8, 5 N M L <K5 d %5 <K5 d M L L (;4 < E 1 I 4 < L ?X5 E 8 l 7 EGF 5 M L (N < l 7 E 9 > N < 4 <;AD= * dl 7 E 4 <@? = E M8 7 33 2 /%:$J/;HIE),IE/>3- E M L && <K5 d =5 <K5 A 5 d M L && L (;4 < * & 3 & 4 < &=3 2 (4 M L d 1 0* & 4 <9> [ 4 3 & L)( L ?X5 8 3 & AD= = 1 0* & L)( L ?X5 M 8 ? = > d 1 0* & AD= = J . 5 ? J . L)(4 4 L ,= 5 ,M 8, 5 g:2 <K5 g:2 < ' IE2+ ),IE),#$A4D$&' /#:T9:),2),#59:),#$ <K5 < ' #(*)@>&03)1/; & 5 <K5 5 d & L (4B4 < , 4%F b 5 4D b ? 4 < , 8 7 33 2 B549V2:>&/6,)!9:%:>&) l3[2 5 5 d %5 <K5 5 d l3 [2 L (4 < , / I 4 < L =@5 4 <?0= , 8 7 33 2 R>&/#KE#%I[B)@>/;H4D>&K%IE),#$&0 7 ![2 5 5 5 d %5 <K5 5 d 7 ! [2 L (4 < , / I 4 < L K5 4 <?0= 4 <@? , 8 7 33 2 R>&/#KE#%I[B)@>/;H4D>&K%IE),#$&0 & <K5 & L (4 < , 1 I 5 d L ?X5 ,A := , 8 & 4 <;AD= &=32 (4 & [4 <@? = 8 4 , 4< & <65 5 d & L 7 ![2 (4 4 ,E l 7 <K5 5 d L 7 ![2 (4 4 , 4 <K5 5 d L 7 ![2 (4 4 , 4 & <K5 5 d & L l3[2 (4B, 4%F <K5 5 d ,A & <65 5 d 7 <K5 PL L 7 ![2 F 4 F %5 ,A 4 D4 Y' # , 8 7 332 #/#:T #%IE)@>&' 6Z4D>&K%IE),#$Y$&/ 4 5 .: 4D 6?0= , 8 332 #/#:T 254' >i4D>&K%IE),#$$&/ 03' IE' + 4D>7$&/ & .10 (4 4 , 4 F 5 4 K? =5 7 PL F 4 F %5 ,A 4 4 5 5]8 , , 8 7 332 #/#:T #%IE)@>&' 6Z4D>&K%IE),#$Y$&/ : 7 ,A & L 7 ! [2 EGF 5 (E H l 7 E HF 5 ,A l 7 E 8!l 7 E H 8, 5 '# , * dl 7 E H 4 E H M8 3 3 2 /%:$J/;IE),IE/>3- E H 7 *dl 7 E 4 E M8 7 332 /%:$J/;HIE),IE/>3- E & 2 4 6?0= 4 ,A @ Y , M8 332 ' IEI[%:$A4B+ )Z4D>&K%IE),#$$&/ '-1(*$.10 H 8 332 #/#:T 254' >i4D>&K%IE),#$Y$&/ '-1(*$.10 H 5 d (4 4 , 4 F@ 4 F @ %5 ,A 4 @L)4 @ 5 5]8 , , 8 4 F! 4 F" %5 ,A 4 # L)4 $ 5 5]8 , , 8 4 F 4 F %5 ,A 4 L)4 5 5]8 , , 8 4 F 4 F %5 ,A 4 L)4 5 5]8 , , 8 4 F " 4 F %5 ,A (&% % % %?0= L % Q?0= % % ? L % Q? %5 5]8 , 4 4 , 8 4 F =5 ]8 4 F %5 ]8 4 F b 4 F b =5 ,A 4 b ?0= L 4 b 0? = % 5 , 8 ,A , , 4 F 4 F <65 5 d L 7 ![2 (4 4 , 4 L 5A & <K5 ÙVhz:´E°±Ã»Bź¶ÈVÀ@µd»Jм»BÀ7½º¶¯³Ã»BÀ@µ±¸IÁ³º Ô ! 5]8 , F b 5 L 5A & [4 (4 < & 4 4 < , M8 7 332 B549W2:>&/6,)!9:%:>&)X4D>&K%IE),#$Y$&/ )3 3DF 5 d L 5A & L l3[2 (4B, %4 F X5 [4 (4 < L 5A & 4< (4 < & [4 &=32 (4 , [4 9> 4 < M8 4 L := 5 , M8 7 332 #/#:T + ' 0d$i4D>&K%IE),#$$&/ ,)2-'1*$&')( 7 <K5 5 d .1*)C&)(1BD*$.92$00$-E$(*$.1/)E$(D&9E2(D&1/)E 7 L l3[2 (4B, 4%F b 5 (E l 7 EF 5 & 4 l 7 E 8 (4 < ,H ,4 < 8' # , * dl 7 E @ Y E M8 7 332 /%:$J/;HIE),IE/>3- E M8 3 3 2 B549W2:>&/6,)!9:%:>&)14D>&K%IE),#$ 7 L 5 <K5 5 d L 5 L)(4 < , ,4 < 7 L <65 5 d .1*)C&)(1BD*,)2-' 7 L L 7 ![2 (4 4 , & 4 (4 < & 4 4 < 3D& ! #GI6^H*#+@+@(I) 4^ #+ qº¶¸ ´E®:À<¸Iº{µº¶ÈV¯S²PÁCµ±¯S¸ ºr´EÀn¸ À·Eµ±¸ ¹E¯³¯S°±ÃºÓú̻E´BÁmÂ{°±µ±´>®:½5¯n¯m²:¿7°±À:¸ ¸Ãnµ±¸ ¸´Eµ±À7¸ ¹EºÓ¯n´E¯m°Ð5²:µ±®:°±¯S¯lº±½5º¶¸¯³´E°±À<¸ ¹E¯SµÈV½t²P¯m¯SÐ5ºn²:X°±Å ¯S¸ µ¶ºÄÄ ¯³»t°d²P»BÅÒ´@FRº±¹Jº¶¸»BË:°±Å ¸I¯>»BË:½5Å ¯m¯E¿7FRÀ:Á³¸ »Bµ±Å¸ Ò´EF À´BÂ* 7F: R"Ph F - eCh>V¯³¯nº¶¯SÁCµ±¸ ´EÀÖ:h ÔÆ´E° 7=B< A< * A9=B< 9 E #$-1eD&9E-$*$')F1E$( .1/)E$# E ')F1E$( *012D1-' E -$$'- ; + K EE .1/)E$# E -$$'-f0$-'92D( 6 0$-'92D( OOO KK E "-1GD&9EZ0$-'92D( 6 0$-'92D( OOO KK EE .1/)E$# E ($-')( ; + 0$-'92D( KK E 1-1( EE ($-93Z($-')( KK E &)eL($-93 E 0$-'92D(f($-93 KKKK EE .1/)E$# E ($-')( ; + 0$-'92D( K .1)2'- 6 .1)2'- E 1-1( EE ($-93Z($-')( KK E &)eL($-93 E 0$-'92D(($-93 K E .1/)E$#V.1)2'- 6 .1)2'- OOO KKKK OOO K EE .1/)E$# E ($-')( KK ($-')( K EE .1/)E$# E ($-')( K .1)2'- 6 .1)2'- OOO K E 1-1( EE ($-93Z($-')( KK E &)ef($-93 ($-93 E .1/)E$#].1)2'- 6 .1)2'- OOO KKKK EE .1/)E$# E ($-')(f0$-'92D( 6 0$-'92D( OOO KK E &)ef($-')( E "-1GD&9EZ0$-'92D( 6 0$-'92D( OOO KKK EE .1/)E$# E ($-')(f0$-'92D( 6 0$-'92D( OOO K .1)2'- 6 .1)2'- OOO K E &)ef($-')( E "-1GD&9EZ0$-'92D( 6 0$-'92D( OOO K E .1/)E$#V.1)2'- 6 .1)2'- OOO KKKKK E #$-1eD&9E-$*$')F1E$( .1$'E ')F1E$( *012D1-' E -$$'- K EE .1$'- E > -1F OOO K .1)2'-' OOO K E 1-1( EE (/!* > -1F E > -1F OOO KKK E .1$'-(/!* > -1FV.1)2'-' OOO KKK EE .1$'- > -1F E -$$'-L0$-'92D( 6 0$-'92D( OOO KK E "-1GD&9EZ0$-'92D( 6 0$-'92D( OOO KK EE .1$'- > -1F EE (/!7' OOO K 0$-'92D( 6 0$-'92D( OOO KK E &)e E -9D, > -1F E (/!7'POOO KK E "-1GD&9EZ0$-'92D( 6 0$-'92D( OOO KKK EE .1$'- > -1F EE (/!7' OOO K 0$-'92D( 6 0$-'92D( OOO K .1)2'-Z.1)2'-' OOO K E &)e E -9D, > -1F E (/!7'POOO KK E "-1GD&9EZ0$-'92D( 6 0$-'92D( OOO K E .1$'- > -1F].1)2'-Z.1)2'-' OOO KKKKK E #$-1eD&9E-$*$')F1E$( )E$# E ')F1E$( *012D1-' EWK EE )E$# K 1( K EE )E$#f($-')( K ($-')( K EE )E$#f($-')( 6 ($-')( OOO K E &)ef($-')( 6 E )E$#f($-')( E #$-1eD&9E-$*$')F1E$( /0 E ')F1E$( *012D1-' EWK EE /0 K 1e K EE /0f($-')( K ($-')( K EE /0f($-')( 6 ($-')( OOO K E 1-1( EE ($-')( 6 KK E &)e E /0f($-')( OOO OOO K 1e KKKK KKKKKK E #$-1eD&9E-$*$')F1E$( 1-1( E ')F1E$( *012D1-' EWK EE 1-1( EE ED!-f, K OOO K "D/#F 6 "D/#F OOO K EE !"$# E ED!- OOO K "D/#F 6 "D/#F OOO K ,POOO KK EE 1-1(f(G EE ED!-f, K OOO K "D/#F 6 "D/#F EE 1-1(0$-. EE (G E !"$# E ED!- OOO K "D/#F 6 "D/#F OOO KKK (G K OOO K 8 ÔEÔ /]¯³¹V¸Iº¶¯S½ i5Ád®:¯³Ãn¯ , OOO ±µ¸½5À®:¯m¯S¿7µ±º¶®:À:¯1¯Ì¸ µ±°±¸ËPÇ:´E´5ÅÀ7¯S½5º³º{Ènh »B´B²:²:»iÅ ÈtÅI»B´EÃYÀ:Å ËRÈY½:¸ »>Â!µ±¯m®:Ð5¯1²:°±ËP¯S´5º±½5º¶¸Èn´EÀ´BÂRhµ±wa®:À¼¯ »BÀV:Èn Á³»Etº¶¯EÁmFE´EÀ:À@´Bµd»Bµ±¯1¸ À7µ±ºÓ®7À:»J´ µ KKKK E #$-1eD&9E-$*$')F1E$( 1-1( F E ')F1E$( *012D1-' EWK EE 1-1( F$EWK "D/#F 6 "D/#F OOO K E 1-1( EWK "D/#F 6 "D/#F OOO KK EE 1-1( F$EE ED!- 6 , 6 K$E ED!- "D/#F 6 "D/#F OOO K E 1-1( EE ED!- 6 , 6 KK E 1-1( F$EE ED!- , K OOO K "D/#F 6 "D/#F OOO KKKKK !9 , K OOO E #$-1eD&9E-$*$')F1E$( "-1GD&9E E ')F1E$( *012D1-' EWK EE "-1GD&9E]- 3 K - 3 K EE "-1GD&9E]- 3 6 - 3 OOO K E 1-1( EE - 3 6 KK E "-1GD&9EZ- 3 OOO KKKKK K ¸Í]q À£®:®:¯¯³²:ÀÉÅI»E´EºÁmÅ µ±¯É´J´EÍ]°±´B¯S¸Ân½À:·»B¸ À£ÀÉ-¯m» Ð5Ų:´5°±Á³]¯S»Jº±Ãµ±º¶¸ ¸ ´E´E»EÀÀÁm°±Ã´ÌÍ]Ç7» ®:Eº¶¸I¯SÁd¯S®£ºyºÌµ±¸ ®:°±µY¯m¯1µ±»BÇ:º¶ÀÈV°±À7ÃY¯³°±ºËP°±´E´Eº¶°l´EÅ Ãnµ±#5´¯m µ±µ±®:°±¸ÈÀ:" ·¾µ±´ µ±®7´EË5»JµÄ µd½5»B¯m¸¿7ÀÆÀ:µ±¯S®:½¯r¸ À¹J»B5Å Ç:Ád®:¯Ì¯³ºÃnµ±´E¯f°±eC¯ShÓ½ÆjH¸ ÀƵ±°±µ±¸I®:Á ¯ÌtÅ ¸I´5º{Á³Ç7»Jº¶µ±¯S¸ ´E½tÀµ±´YXÀ:·E´n¯³À:º¶Ç7¯³°dÁd»J®Æµ±¯]¯mÐ5µ±²:®:°±¯1¯Sº±µ±º¶¯³¸Ãn´EÀƲP´B¸IºÄ µ±°dËV®:»BÈÆ°±¯iÈÇ7¹Jº¶À7»B¸ À:Å»BÇ:·ÆÃn¯Sº]»B¯SÀºl»B°±À:»B¯>¯³Ç5¯S¯³Ð5½5¹J¸ ůS»B¸I½Å»BÇ7°±µ±»JÈ´µ±¯Sûf½!¹E»Eh{´EÁmq°±¸I½´7®:h ¸Iº¶º1²P¯SÁmÁm´E¸Ç:ÂÈVÅI½¸ À:»B·¼ÅIº¶µ±´n®:¯tËP¯Y´E°d»E½5Á³¯³Ám°l´EÃn¸ À²:Í]Å ¸Iº¶®:®:¸I¯SÁd®½ =B9 @>*9 *A9 !9BA E #$-1eD&9E-$*$')F1E$( 1-1(0$-. E ')F1E$( *012D1-' EWK EE 1-1(0$-. EE ,0 6 &9E&)( 6 K OOO K "D/#F E 1-1(0$-. pG$-E-10($- ($-93 ED!-' E ,0 6 OOO K EWK EE ,0 6 &9E&)( 6 K OOO K "D/#F OOO KK EE 1-1(0$-. pG$-E-10($- ($-93 ED!-' EWK E ($-93 6 OOO K EE ,0 6 &9E&)( 6 K OOO K "D/#F OOO K E 1-1( EE ,0 6 : 2E$#$-1eD&9E-1#+ K OOO K E 1-1( EE ($-93 6 &9E&)( 6 K OOO K E '-1( H ,0 6 ($-93 6 K OOO "D/#F OOO KKK EE 1-1(0$-. pG$-E-10($- ($-93 ED!-' E F OOO K E ($-93 OOO K EE ,0 6 &9E&)( 6 K OOO K "D/#F OOO K E 1-1(0$-. pG$-E-10($- ($-93 ED!-' E F OOO K E E-C$($-93Z($-93 OOO K EE ,0 6 &9E&)( 6 K OOO K "D/#F OOO KKKK E #$-1eD&9E-$*$')F1E$( "-1GD&9E E ')F1E$( *012D1-' EWK EE "-1GD&9E]- 3 OOO K EE !"$# EWK - 3 OOO OOO KKKKK K Ãq®:» ¯ÉE¯>´EÇ7Å º¶¯i´JÍ]´B¸ÂyÀ:µ±·Ï®:¯Y»BÅ »Bµ±Ë:¯³°±¸ ÅÀ7¸ µ»JÈƵ±¸ µ±¹E´Æ¯Í]¯mÐ5°±¸²7µ±»B¯iÀ7Ãnº¶¸ ´E´E°±À¯rµ±´E®7° »BÀ:´E À:¯>¯mÐ5½5²:´V°±¯S¯Sºº±º¶À:¸ ´E´BÀ µ !9 J¹ÍMq»B´E®:°±Ç:¯¸I»BÅI½-ÂË:´EŠů{»B´JÅIÁmº¶Í]ÅI´»B¸ Ç7À:ÍMº¶·<´E¯Sº³° ½5Rh¯mhÉjl¿7À:ºq¸ Í]µ±®:¸ ¸´E¯µ±Àή ¯mÐ5´B²:Â-°± ¯Sº±º¶¸MÇ7´Eº¶»BÀ ¯SËPºY´J »¹E¯E" µ±Ff°±»B¸IÁÀY" <»Bµ±Ç5´<"Ð5'¸ ¯mÅ ¸IÐ5¸I»BºY²7°±Èl»BÇ7À7º¶Ã½¯S½»Eµ±Ám®:µ±°±´´¯ ´EË5µd»B¸ À»BÀÇ:À7º¶²P¯SÁm¸ ¿PÁr¹J»BÅ Ç:¯Eh A =B9 @>*9 3 E #$-1eD&9E-$*$')F1E$( #/ E ')F1E$( *012D1-' EWK EE #/ EE ,0V&9E&)(]')($-3 OOO K E ($-')(Z- 3$0 OOO K .1/!)E$# OOO K E 1-1(0$-. EE //)3 E !"$# E ,0 OOO K E &)ef($-')( E "-1GD&9E E &)e1e1e K - 3$0 OOO K E "-1GD&9E n OOO K .1/!)E$# OOO E //)3 E #/ )')($-3 ,0]')($-3 OOO OOO KKKKKK E //)3V&9E&)( OOO KKK EE # / )')($-3 K K EE #/ F KKK )')($-3 F K K |ÓÐ:»BÃn²:Å ¯ ÔVÕ Ü.Û-ÝÞ¦ Þ H©Ï¨ iÞ - : - * ¸ À@µ±¯³·E°d»Jµ±¯SºMµ±®:¯iº¶È5ºµ±¯³Ã < B X < < < :e ? B > ´BqÂÓ®:½5¯¸ ÑR²7¯³»B°±¯³°d»BÀ@Ãnµ±¸I»B¯mÅ!µ±¯³¯ ° @Ç7»J µ±¸ ´E À7º* Í]¸ µ±®µ±®:-¯r Ãn¯mµ±®:´5¸Iº«½´B» ÂÓÂ/]Ç:Ç:À7À:ÁCµ±·E¸ ¯m´EÄaÀ;rÇ5µ±µ¶®7µd»J»:µ h µd»B» Ë:EÅ ¯S¯Sººl< » º¶È5ºµ± ¯³ Ã< 5eºµd»B»JÀ7µ±½i¯¼²:X»Æ°±´5¹E½5¯SÇ7ÁCÁmµ±¯S´Eºy°1»Ì´BÂÓº¶È5¹Jº»Bµ±Å¯³Ç:à ¯Sº]½5¯³´E°±°]¸ ¹Jµ±»J®:µ±¯t¸ ¹Eº¯rµd»JX3µ±µ±®:¯i¯¹J¹J»B»B°±¸Å ÄÄ Ç:»BÀ«¯Sº ¸ À:< ¸ µ± ¸I»BÅÌ º¶ È5< ºµ±eC¯³h¾Ã#qº®:µd¯»Jµ±²7¯EF]»B°d»B»BÀ7Ãn½ ¯mµ±¾¯³° ¸IºÆ»BÀ« ¸ À:¸ µ±¸I»BÅl ·E-Ç: ¯Sº±ºt²:°±Â´E´J°¹V¸Iµ±½5®:¯S¯º Åq¯³À:®:·B¯µ±®¹J»B´BÅ Ç:¯µ±®:°±¯>¯mµ±¸ Ç:À@µ±°±¯³À:·E¯S°d½H»Jµ±ËV¸ ´EÈ Àºµ±¯³²:h - * ¸Iº»BÀH¸ À5¿7À:¸ µ±¯ ºµ±°±¯S»Bà ´BÂÓº¶È5ºµ±¯³Ãºµd»Jµ±¯Sº³h { P P P µ±q´Æ®:5¸Iº]Ád®:º¶¯S¯³ÁCÃnµ±¸¯i´EÀ¼º¶¸ À7¯³ÀVÁm¯ÌÇ:Ãnµ±®:¯³¯ °d»J±µ±/]¯Sº{¯³¹Vµ±¸I®:º¶¯>¯S½ Ád ®7»B°±¯³À:²P·E´E¯S°¶º{µ µ±®7»JÖ µ]®7Í»f»E¹Eº¯Ì²:ËPÇ:¯³Ë:¯³ÅÀ¸Iº¶Ã®:¯S»E½!½5h ¯ °±q´E¯³®:°]²P¯´E5°¶Ád°±µ®:¯³Í]²P¯³Ãn´E¸ Å °¶@¯ µn»BÅI¸Iº¶ºn´1À:Ámy´J´E¸ ÍÀ5Ãn´E²:»°±Å ¯³ÃHº¶ÃnÇ:µ±²P¯³´]À@¯³µ±µd°d®:»Jº¶¯mµ±¯{µ¸ ´EºµdÀ7´B»BÂlº{À7µ±µ±½:®7®:»B»J¯°dµ½!wÁmh|{´Eq|{À5®:|+´E¸Iº°±ºÃ+°±µd¯ »B@µ±À7Ç:´i½:¸ »Bµ±°±®:¯S°d½½¯ µ±®:¯r´EÅ ´JÍ]¸ À:·Ád®7»BÀ:·E¯Sº qq®:®:¯r¯¯³ÁmÃnÅI»E²5º±µº¶È¼¸ ¿PÅ Á³¸Iº»Jµ1µ±¸ ¸I´EºÀ À:´J´BÍÂÏ°±Â¯ ¯S@»JÇ:µ±¸Ç:°±°±¯S¯S½Æº µ±´»Eº Ám´E¯SÇ:º±À@º¶µl¯³À@»Eµ±ºM¸I»Bµ±Å-°±Ç:´E¯E°h µ±¸Ë:À:®:°d¯S°±»Bº±¯³°±º¶¯ÌÈE¯³FEÀ@Ám»BÅIµ±»EÀ7¸I»Bº±½nº¶Åi¯S´E®7º{²5»E´Bµ±ºÂ¸ ´EË:ËPÀ7Ç:»B¯³¸¯³ÅÒÅ hÀ.µ¶Ä[q¸ À¼°±®:¯³¯1²:Ãn°±´E´J´5²5¹EÁmµ±¯S¯S¸ ½!½5´EÀ7hÇ:»B°±¯SÅ:qº ²:®:°±¯³²:´5°±°±Ám¯-¸¯SÃn½5»BÇ:¸ °±µ±°±¯É¸ ¯S¹Eº¯EÀ:FV»B´JÅ°±Í ¸ ¯Ä E E E EEE E K N KKK PF #!-" * -" :F # #! E EE -" 7F !!F !""PFS»BÀ7½ E * PF]»BÀ7½ «»BÀ7½ ¾Í]¸ µ±® E E õ±n®:´E¯>°±w¯i|{µ±|{®7|¾»BÀ<ºµdµ»BÍMÀ7´½:»B»B°±°d·E½!Ç:h Ãn¯³À@µdº³h>v1´EÀ:¯t´Bµ±®:¯Sº¶¯n»B°±¯t¸ À KKKKK KKKK x½5Ç:°±´E°±¯S·Eº³°dh>»BÃolº1´E¸ »BÀ:°±·¯tº¶»B´Å ´JÍ]ÍM¸ ůSy½À:µ±´B´¼µr°±Ád¯S®7½5»B¯mÀ:¿7·EÀ:¯i¯tµ±®:Ë:¯tÇ:¸ ËPÅ µ¶¯³Ä[®7¸ À»f¹V²:¸ °±´E´5°ÌÁm´B¯mÄ 5½ #5¯³°±¸ ¹J»Jµ±¸ ¹E#¯t °±´Eà UMµd»» Eº¶È5¯Sººµ±»¯³Ã ÂÇ:À7ºÁCµd»Jµ±¸µ±´E¯EÀh F- "P#5FSµ±®7 »Jµy²:#°±´5½5 Ç7Ám¯SUƺ²:»l°±º¶´5È5½5ºÇ7µ±¯³Ám¯Sà º ´Bµ±®:¯³°]Ë:Ç:¸ Å µ¶Ä[¸ À²:°±´5Ám¯S½5Ç:°±¯Sº³h »¶º È5ºÇ:µ±¯³À7ÃÁCµ±¸ º´EµdÀ»Jµ±µ±¯E®7h »Jµ>µd» E¯Sº>»º¶È5ºµ±¯³Ã ºµd»Jµ±¯»BÀ7½²:°±´5½5Ç7Ám¯Sº>»À:¯³Í ]`JbC_®7»EºËP¯³¯³À»E½:½5¯S½¼µ±´tµ±®:¯>Å ¸Iºµ1´BÂy½5¸Iº ´E¸ À@µ]µÈV²P¯Sº³h E qî:»E¯Ám°±´@úl»E»BÁm°±°±¯Y´ÎÀ:»B´J²:ͲP¯³²7À7»B½5°¶¸ µÌЫ´B®7»Eµ±ºÆ®:¯tËP¯³Ã¯³ÀH»B¸ À<°±¯³ËPÃn´5´J½5¹EȯS½!´Bh.µ±®:g1¯t¸ ·E°±®5¯³Ä[²PÅ ¯³´E¹E°¶¯³µSÅh E E EE4E F KE N KK E4F $E KK E4F E E KKK °±¸Iq½5¯³®:¯³²:¯<À@ÅI»Eµ±¸°±Ám¿7¯³¯S¯³Í]½r°d°±Í]º³¸ hµ±¸ ¯<µ±®Y°±ÃÇ:Å »E¯SÁmºn°±´l´E½5°¯m½5¿7¯³À:°±¸ ¸µ±¹E¸ ´E¯SÀ7½¾º³h¯mÐ5q²:®:°±¯³¯S°±º±¯Mº¶¸ »B´E°±À7¯ºnÀ:®7´l»f°±¹E¯S¯º¶¯³ËP°±¹E¯³¯³¯SÀ½ E4F E E -KKKK E E K : ! # ÌÀ:´JÍ£»BÅ ´JÍ1ºM¹E¯SÁCµ±´E°²7»Jµ¶µ±¯³°±À7º³h ' 0n4O0d-:0d$&),I 0d$A4D$&) E F$EE -O E4F E KKK ËP¯³Ç:¯³ÅÀµ±¸ »E²:½:Å ¯m½5Ä[¯S¹J½!»BÅh Ç:¯1°±¯mµ±Ç:°±À7º³F :FE»BÀ7½ * l®7»f¹E¯ E E4F E E E4F -O-KKKKK E E4F E E E4F KKKKK E 4 E F E E K K K K K E ²:q°±®:´E¯²P¯³Á³°±»BÅ ÅÈIºnµd»Bµ±¸®7Å Ä[»J°±µ¯SÁm»BÇ:°±°d¯º¶¸ °±¹E¯ ¯1@ÂÇ:»E¸ º¶°±®:¯S½-¸ ´EÀµ±´ »B°±ËP¯>¯<½5¸¯mÃn¿7À:²:¯SÅ ¯³½Ãn¯m¯³Ð5À@²:µ±Å¯S¸I½«Ám¸ µ±¸Å ÀHÈEh » E4F E -O E4F K ×Á³»BÀ ËP¯¼Ç7º¶¯S½ÉÍ]¸ µ±®:¸ ÀθI½5¯³À@µ±¸ ¿7¯³°dº³h h ׸Iºi°±¯Sº¶¯³°±¹E¯S½<´E° E4F K ²P´@º±º¶¸ Ë:Å ¯ÌÂÇ5µ±Ç:°±¯>¯mÐVµ±¯³À7º¶¸ ´EÀ7º³h KKKKKKKK E E E K © Ý Û-Ü£© ¨©<ÝÞª © E E q®:¯>wa À@µ±¯³°±À:55¯mµl5Ád®: ¯³Ãn¯i /]¯³²P´@º¶¸ µ±´E°±$ÈÆ# »Jµ * * ! E E KK E E K E Á²Pm´E¯³À@°dº³µdFM»B¸ ²:À7°±ºÌ´E»B·EÀ°d»B¯mÃÐVº³µ±F¯³À7¸ Ãnº¶¸ ¹E²:¯nÅ ¯³5ÃnÁd¯³®:À@¯³µdÃn»Jµ±¯t¸ ´EË:À7¸ Ë:º³FÅ ¸ ´E»B·EÀ7°d½-»B²:´B®Vµ±ÈE®:F!¯³°»EºlÃÍM»J¯³µ±Å¯³Ó°±¸I»E»BºlÅ]²7°±»J¯mÄÄ E E E K&E KK K K K K K K K ÅI»Jµ±¯S½¼µ±´Æ5Ád®:¯³Ãn¯Eh U *9 @>*< *9 7 <A *9 0 # . n *9 A9> ;*< V;*9 [ 8$# B i <= 7 *< *9 CB *9 @>*< *9 7 *9 CB i B> =B9 i =B9 @>*< T> @>*< T> *9>*< B9 ; > 9 = @<BA #$-1eD&9E-]&9E$($-1G0($-$*$')FD')($-9 !"$# ')FD')($-9*#$-10D&),(D&),$- &9E&)(D&1*$')(($-fB 1-1( E- ( 012E$G$-$* > 2$((* ')FD')($-9*#$-10D&),(D&),$-B 1-1(0$-. ')(($-' .1/)E'f&9E&)(D&1*$')(($#$-$F )3D*$')(0$-$!7'NE- ( ')(($-' ')(($-' *9 3 *< [ [ *<D [ > N=B9 @9;*<= [ A !< i *A [ [ o ( 9 *A < *< 9BA 7 *9 9 >9 77 > *9 3 *< #$-1eD&9E-f012E$G$-$* > 2$((* !"$# eNB 1-1( B ' .11-$*,$-.)(/0ZB '.11-$*,$-.)(/0 6 Q '.11-$*,$-.)(/0 Q 6 6 Q '.11-$*,$-.)(/0 Q 6 !"$# F aa F > 1-1( B eLF > 6 B e ##*,$-.)(/0D'LF 6 Q X> > B e ##*,$-.)(/0D'LF 6 Q X> 6 > = B e ##*,$-.)(/0D'LF > ##*,$-.)(/0D'LF 6 Q ##*,$-.)(/0D' > X> 6 X> > = #$-1eD&9E--$1-9-E$(1C&'!"$# e !"$#L,$-.)(/0D' G$-E-10($-$*,$-.)(/0 ,$-.)(/0*1-E$G(1B .10f,$-.)(/0D' !"$# & )33DFfe )3 !"$# , ,$-.)(/0*0$-1e ,$-.)(/0D' E #$-1eD&9E-fG$-E-10($-$*,$-.)(/0 E !"$# E '& -N3$0/$. K ,Z& Ô@Ö /]¯³¹V¸Iº¶¯S½ i5Ád®:¯³Ãn¯ E 1-1( EE )E' E > -$*,$-.)(/0 '& - KKK E 1-1(0$-. EE //)3 E !"$# E & K E .1/)E$# EE ; &f'& - K )E' K E -$$'E ,$-.)(/0*$'-1( H )E'f& E 3$0/$.f& KK E //)3 E 4 & 6 KKKKKKK E //)3 O-KKKKK E #$-1eD&9E-Z##*,$-.)(/0D' E -$1-9-E$(1C&'- 4 KK # 0 $# 8# ÃnÃn¯³¯³À@À@µtµYXX»n»º²:µ±°±°±´5¯SÁmr»B¯SÃƸI½5º1Ç:eC»Bh °±À7¯fe{»BÅ µ±´E´¼·E´E»BÇ7Å !º{µ±µ±®:´ ¯Y¯³Å ¯³ÃnÓ¯³¸ µlÀ@µd»Bº]²:´B²:ÂÓÅ ¸ ¸¯Sµdº]ºl¸ º¶µd¯SºÁm¿7´E°dÀ7º½µl»B»B°±°±·E·EÇ5Ç5ÄÄ Ô E E E K N # *9 @>*<-*97 *9 1 B 2 15 . 1 2 B 15 E #$-1eD&9E-f(1B-$*$')(($-' E &9E$($-1G0($-$*$')FD')($-9 E #!3-1#*/$'.&1(/0 6 O OOO 6 O OO O O O 6 K E 6 O-K O O 6 KK ¸À Ö N # P N EI N N 3O N N Ù M 3] # 3 N # / # ]+P N 8 U, K ] P " N M 3] N N N 5 " % <N O 3O KI .M <N O M N<OP CO O N S +/ >00/ N N N N N 3O ! +0 " N N . # N<OM N<OP CO 20 " N<O N<OM N<OP CO B # 8) Q0 8 >, 1 8 " " 8 N<O 3O ]+R N N 2 " G 0 # 0 # ]+P KI .M N N<O>M N<OP CO ON N 2I ]+R 5/ " +0 KI .M # N 3] N<O 2, N I + ] R KKK N<O N N 4I + ] R "# 1Nd N N<O N R Í]®:¸IÁd®Ãn´5½5¯³ÅIº]»n½:»BÃn²P¯S½´@º±Ám¸ Å I»Jµ±´E°Sh E #$-1eD&9E-f#!3-1#*/$'.&1(/0 E !"$# E d K E !"$# E ')(($- K E 1-1( EE 5 . E ,$-.)(/0*0$-1eV')(($- O-KK E 1 E ,$-.)(/0*0$-1eV')(($- 6 KKK E ,$-.)(/0 E * O E 4 E Q 5 . E4F d KK&E Q E Q 5 . KKKKKK * 3O P " " µ±aw²:À5®:°±¿7¯Î´EÃnÀ:¿7¸ µ±¸I°dº¶¯Yº¯Ìµºµ±µ±´¯³°±Å¯S¯³½5»BÃn¯³ÃÅ ¯³¸ º]¹EÀ@¯³µ»B°°±¯>´Bµ±®:Ân¸ ¯>Ãnµ±®:°±²:¯S¯¾Å º¯³µ]Ãnºµ±´B¯³°±ÂÀ@¯Sµ±»Bµ±®:¯Sà ½¯iº»E»Bµ±º]À7°±¯S½²7»B»BÃÍ]¸ °d®:hº´@Í]º¶¯-®:´@Á³º¶½5¯i°Á³»B®:°]´E®:ÅI½:´EºÅI½:» º Õ ¸qÀ@®:µ±¯³¯t·E°d´E»JÅ µ±¸´JÀ:Í]·Y¸ À:µ±®:·¼¯i¸ Å º¶Ç7È5ººµ±µ±¯³°d»Jà µ±¯Sºlµ±®:¯nÇ7º¶¯n´B : K PN E ($&1Z' KKKKKK E #$-1eD&9E-LB-$#].10 K E #$-1eD&9E-f($&1 E !"$# E ')(0$-$! K$E e/0D.- E .)#0]')(0$-$! KKKK ] 3O N E #$-1eD&9E-]'.11-$*,$-.)(/0 E !"$# E ' K E -$1-9-E$(1C&'- E !"$# E K&E4F ' K KKKK * < B *< 7@ >*9@< * #$-1eD&9E- )3D*$')(0$-$!7' !"$# e]' E .1/)E' E e E B-$#]' KK E #$-$F E )3D*$')(0$-$!7'Le «ª Þ nÞª«ÞÜ.ÚÞ¦ glVÇ7»Bº±°±º¶´EÃÅI½»BÀj1h ËPP¯³_ÒÅIº¶b ´E7À<m_ 5»BÀ7b±½ sÌR¯³\ °d»BÅI7½_amT@b »fRÈb±mV_aJÇ7_Òº±^º¶` Ã-»B`À Í]¸ `Jµ±®TE5Ç:_aÅ m¸ ¯b Mb±E` BÖ:b±h JYc c³dd` R\£d\J^3_Ò^` >wq x°±¯Sº±º³FtLM»BÃYË:°±¸I½5·E¯EF waj1 À RÅI»B\ MbÀn±`Sd»fRdÍ1dm\J_Ò½5^^ ¯³` ÀnRJc> »BÀ7`Mbl½Y±_TE`:B´E b±À7J»Jtµ±®7t»B^Àt B/]F7¯³ ²7¯S»Bº³hE·EPV¯SJºÈV À@7µdÖ `f»EcCÁC@^ µ±5Õ5¸IÁMh ÁmÅ` ´@º¶Ç:y°±^I¯Sc º³h 7/]Mb´@´E±»J`SËPµ±d¯³¸dÀ:°¶dµ-·B\JÄ[^ ²PstJ´EhYc<¸ À@MµÎ`Ç:ÀV°±_·EÇ::¯³ÃY °ÉËP »B¯³À7°dº½+ @/>Ç:hY¸IÁ V;rÅ ¯³È+À@µ »BÀ7ol½ ÈVËV»E¹VÁ³¸Ám·7Ç:hi°d` »JxSµ±m¯³°±m¸Å À@b±ÈEµ±hiR¸ À:wadÀ· _Ò` ^` 7MbF:±²7` »BB·Eb±J¯Sºtt^ SÖ: h 7 @>tCcC^ R\ C m 7_a GÏ´EÀ.¸ Å 5¸IÁd»B®:Ã#¯³ÃnL{¯EÅ Fl¸ À:´E·E°¯³°S»BFÓÀ¯S½5Ç:¸ µ±À7´EÁm°S´EhyÃnqÃn®:´E¯À£°±¯³~¹V¸I¸Iº¶º¶²¯S½Éh1°±¯³w¹Vq ¸Iº¶¯Sj1½ °¶µ±°±¸¯³¿P²PÁm´E¸I°¶»Bµ Å wa»EÀ@ºtµ±¯³L{Å ´E¸ Ãn·E¯³²:À7Ç5Ámµ±¯r¯³°t5¯³ÃnÁm¸ ¯³´ À7ÁmÔ¯ÆolF5j1¯³²7Ç:»B·E°¶Ç7µ±Ãnºµ ¯³À@µYqÕ5hV¯SÁdj1®:ÅIÀ:º¶´t¸IÁ³»B²:ÅÇ:Ë:/]Å ¯³¸Iº¶²P®:´E¯S°¶½ µ JÙfÔ7F5waÀ7½5¸I»BÀ7» 1À:¸ ¹E¯³°dº¶¸ µÈEF:TEÇ:À:¯ Õ5h GÏ»EÁ³Ám¸ ÅÇ:¸I°d»B»Jà µ±¯³Å L{ÈEhÌÅ ¸ À:wa·EÀ ¯³°SMbhB±g1`S´JddÍÎd\Jµ±^´>J°±¯Sc«»E½`Î7´@_:»Jµ±¸ À: ·>²P ´E¸ À@µÀVÇ:ÃYËP ¯³°dº Å ¸IRº¶®:\ ¯SC½ ` »ESº mmmb± R7d_aÏJ_Ò `^` 7FJMb²7±`J»B` _Ò·EB^¯Sb±dºJCcttÕ:^XÖ@eCEF:h³TExÇ: °±À:´5¯Ám7¯³¯S ½5@¸ À::·@htº!C²:cCÇ:^ Ë5Ä GÏ°±¯³¹V¸ ŸIº¶¸I¯S»B½ à °±L{¯³²PÅ ¸ ´EÀ:°¶·Eµ¯³°´EÀÆ»Bµ±À7®:½.¯rTE»B´EÅ ·EÀ7´E»J°±µ±¸ ®7µ±®:»BÃnÀ ¸IÁl/]ÅI¯³»B¯SÀ:º³·EFiÇ7¯S»B½5·E¸ ¯Ìµ±´E5°dÁdº³®:h̯³qÃn®:¯E¯ h waÀ y^Ic ]`J^ 7_ambdcMÔPX eCF:²7»B·E¯Sº :ÕEÕ5F Eh GÏÍM´E¸ °Å R¸I»BhÓà waÀ L{MbÅ ±¸ À:`Sd·Ed¯³d°\J^ »BÀ7J½.c`TE´EÀ7_:»Jµ±®7»BÀ /]¯³ ¯Sº³hr <»EÁm` °±S´@mºmb±µ± ®7R»Jdµ S` Ö Mbh C^ Rm^ Ccl` Mb±` Bb±Jtt^ 7 @CcCFJ²7»B·E¯Sº fÕEÕ GÏ| Ƹ Å Ám¸I¸ »B¯³ÃÀ7ÁmÈEL{hfqÅ ¸ À:´l·E»B¯³²:°S²Ph{¯Sx»B°±°´E¸ ²PÀ ¯³Mb°¼±q`Sd»Bd¸ dÅl\J/]^ ¯SJÁmc]Ç:`°d{º¶¸ _´E:ÀH »BÀ7½ÏV ²7»EÁm ¯ C ` Smmmb± R7d_aÎJ_Ò`^` 7FPMbTE±Ç:` BÀ:b±¯ Jtt^ h 7 @tCcC^ Ê R\ />VÈVh5À@;rµd»E¯³ÁCÀ@µ±µ¸IÁtol»BÈVË7ËVº¹Vµ±¸ °d·7»EF5ÁC/]µ±¸ ´E´EËPÀ<¯³¸°¶Àɵg15Ád¸ ¯³®:˯³ÃnF:»B¯EÀ7h ½yLM^Ic »BÏ°±ÅR MR\°±Ç:P·EJ·E¯³Ãd` »BÀ^ h `J 5_aJ_Ò^` Õ:XÔVe @Õ Ö:F h ð±LM¯m»B»B¯³°±À°±´EF5¯³ÅÀ7»Bz:À7Ám¯S¯>½º±Ãº¶L{¯³»BÀ7®:ÀV½5°±¸IÇ7¯³ºÀ»Bµ±´EÅÒFÓh:²:GÏwa®:À7¯³¸½5°Å ¸I¸I»Bgl»BÀ7Ã#»f» ÈVÀ:1L{¯SÀ:Å º³¸ ¸ À:hV¹E5·E¯³¯³Ád°d®:°Sº¶¸F¯³µÃnÈo̯»BL{À:´E¸ Ãn¯³1Å]²:xy¹EÇ5¯³hyµ±°d¯³z:º¶°Ì¸ °±´E¸5¯SÀÁm½V¸ Ô ÄÄ ¯³º¶¯SÀ7½5Ám¯S¯½qËV¯SÈ Ád®:À:¸IÁ³»Bh År/]¯³²P´E°¶µ ÙVF1z:¯³Ë:°±Ç7»B°±È hMVÇ:²P¯³°¶Ä oY hhEGÉz:°±»B¸ À7¯S½!½5ÃhV5»BÁdÀ®:F¯³ÃnLl¯ hHÔ>gl¸ À@»fµ±ÈV¯³À:°±¯S¸ Ãʺ³F °±¯m|1¯³hH°±¯³;rÀ7Ám´E¯]®:ÅÃËP¯S»BÁÀVEÇ7¯³»B°SÅÒF hBwaÀ7»B½5À7¸½ Ä »BfÀ7Õ » F:1T@»BÀ:ÀV¸ ¹EÇ7¯³»B°d°±º¶È ¸ µÈÎL{Õ5´EhÃn²:Ç5µ±¯³°5Ám¸ ¯³À7Ám¯¼q¯SÁd®:À:¸IÁ³»BÅM/]¯³²P´E°¶µ ON N SM 3] N K 8 0 "08 R ]/ ¯m¯³°±¯³À7Ám¯Sº Ô5Ù ±Z`SZJZ _Ò^ P_a ]`RJ\E^ J7b±_ \ bC^3 _Vm_Ò ^ 7±Zw|{Z|{Z |1PF5_av1 R¯³Í\EJb±\´Em° `JRb F ]^ RÕ5JbCh Õ °±s̯³Ç:¹VÈ<¸Iº¶¯S~½¯³Í]°±¯³¸I²PºÌ´E@°¶µ±µ{¯³´E¯³ÀÅ ¯n5TEÁd°S®:hP¯³»BÃnÀ7¯E½FVsÌ»Y¯³½5°d¸I»B»BÅIÅ ½¯SÁCT@µM»f´BÈÂ~VÇ7¸Iº¶º±²º¶h@ûBÀwqHhRqj1®:°¶¯ Ä ±!Zd:ZmZ P_aMb R±`\EBJb±b±J\ tt^ 7± Z@Z Z w|{P|{_a |1RF{\EJv1b±¯³\Í m`Jb´E_° :R F Ö µ±s̸ ¿PÇ:ÁmÈƸI»B~ů³waÍ]À@µ±¸IºM¯³Å @¸ µ±·E¯³¯³¯³À7Å ¯ÌÁm¯>TE°Sh@¯³/1Ãn»BË:´Ë:ÔV¸ µÕ ÓF5»YT@Ám»B´EÀVÃnÇ7²:»B°±¸ ÅÈ ¯³°ÂV´EÙ °5h Ád®:¯³Ãn¯Eh ´Ew°¶qϵ1Ô5j1Ùf°¶Ô7µ±F5¸ ¿P<Ám¸I»f»BÈ ÅPwaÀ@Vµ±Ù ¯³Å h¸ ·E¯³À7Ám¯Ì~»BËP´E°d»Jµ±´E°±ÈYq¯SÁd®:À:¸IÁ³»BÅP/]¯mÄ Eh P ² ³Ô |_:Ç: ·E¯³MbÀ:±¯É` B|1b±Jh1t;rt´E^ ®:Å ËP¯SÁ E¯³°7TE °S@h Py ^I7c _aEmx_Ò^®7oZ Eµ±®:_a ¯S:º¶cC¸Iº³^`F:wacÀ7½5^ ¸ Ä Ù sÌÇ:È~¯³Í]¸IºÌ@µ±¯³¯³Å ¯iTE°Sh `Jt` y^Ic R: 7 @ c³dd` R\d\J^3_Ò^` Pol¸ ·E¸ µd»BÅx°±¯Sº±º³F5MÇ:°±Å ¸ À:·Bµ±´EÀ<jiF :h »BÀ7» 1À:¸ ¹E¯³°dº¶¸ µÈEF:j1Ç:·EÇ7ºµ Ö:h fÕ |<Ç:»J·Eµ¶¯³µ±À:®:¯(¸I»Eº|1z:h<¯³Å ;r¯³¸I´Eº¶®:¯³ÀÅ ËPFV¯S»BÁ À7E½n¯³°.M°±TEÇ7°SÁmh F¾¯]oloÌÇ:»BË7À:»:¸ ¯³h@Å-g1ÈVxy·Eh<¸ ¯³z:À:°±¸I¸Á¯S½5ÃûE»BÁm°±À´ F sÌ5Ád¯³®:°d¯³»BÃnÅI½ ¯ ÆT@»B»fÀÈ ¸ VÀ@µ±Ç7¯³º±°±º¶²:ð±¯m»Bµ±À¯³°i»BÂÀ7´E½°Y¯msÌÐVµ±Ç:¯³È À7½5¯S~½ ¯³Í]ÅI»B¸IºÃYËR@½:µ±¯³»¯³ÅÁ³¯»BÅIÁmTEÇ5°SÄ h mm¯ mÐ5b±²7 »BRÀ7dº¶n¸ ´E` Àh1ywaÀ^Ic ¾Mb ±R`Sd\ dd\J^ RJmc-_Ò^` `RÉ _:Mb ±` Bb±Jtt ^ BFP²7»B`·E¯Sº Å Ç7Vº³ÙBh@Õ5h wq«j1°¶µ±¸ ¿PÁm¸I»BÅ7waÀ@µ±¯³Å ¸ ·E¯³À7Ám¯1¯³Ãn´ Ô :FEol¯SÁm¯³ÃYËP¯³° fÕ SÖ Eh TEP´@_Òb±º¶E¯³²:d:®m|1hP @µ±R´Jb±ÈE`ShREtd« R_a`J` _aJMb_Ò^±` ` RBb± Jt!tm^ 7_Ò^C c 7R:@ !Rd`J:_Ò SÖ xy»BÀ7¯m½<µ±¯³°L{®V~Ç:»B°dÀ7Ád½5®¸ × ÀºMhÅI»Bj ÃYËRÁm½:´E°±»t°±¯SÀ:º¶´B²Pµd´E»JÀ7µ±¸ ½5´E¯³À À7ÁmxÓ¯<»BËP°¶¯mµµwCÍMh ¯³¯³À£`Jtj1 Å ·E´E7År^dÖ `JbC Pwq£x°±¯Sº±º³F7LM»BÃYË:°±¸I½5·E¯EF VÙEÙVh _Ò^` :cY`>_: X e EF@z:¯³Ë:°±Ç7»B°±È EÖ@Õ5h q°±¯m¯³Ð:À7»EÁmº¯wa<À7º»Bµ±ÀV°±Ç:Ç7Ãn»BÅÒ¯³h{À@xµdº³°±F]¯³Å wa¸ ÃnÀ7ÁB¸ hMÀ7»Bq°±wÆÈ-5¹EÁd¯³®:°d¯³º¶¸Ãn´EÀ¯~Eh»B:À:F]·Ev1Ç7»B´J·E¹E¯¯³ÃY/]ËP¯m¯³Â3°Ä ³ ¯ JÙ ²:Ç5wµ±qί³°ol¯³5²7Ám»B¸ ¯³°¶À7µ±ÃnÁm¯E¯³hÎÀ@µ5´BÁdÂP®:¯³|ÃnÅ ¯S¯ÁCµ±°±Ã¸IÁ³»B»BÀVÅ@Ç7|»BÀ:ÅÒ·EF£¸ À:º¶¯³¯³¯³¹E°±¯³¸ À:À@·lµ±®*»BÀ7¯S½t½5L{¸ µ±´E¸ ´EÃtÀÄ h Õ5h V¯³²5µ±¯³ÃYËP¯³° Ô7h ÃnxyÖ7X¯m¸Ifµ±Á]e¯³ÅI°<»BÀ:vlJ·E»BÙVÇ7Ç:F5»B°<T@·E»B¯1¯mÀVj1µÇ7Å»B»B·E°±ÅÒ´EÈhlÅ7/]Ö E:¯³Öh¹V¸Iº¶h ¯S`J½£t °±¯³²P7´E^°¶dµ<J_Ò´E^` À£:crµ±®:`¯-l_»B:Å ·E´E °±¸µ±®5 Ä ¸xÓ^ À»BJÇ:Ámc ÅM´EÃnxy²7¯³²:»BÀ5Å ·E¯m¿7ÐϯS¯³º ÅI½!jlFyx{Ô TE~°Sh{hwaxÕBÀ °±Ö:¸ hÀ7 Ámjl¸ ²7LM»BÅ{¹J»BVÅ Ç:w¶¯Ssr` ºYjlS»Bmx{mÀ7b±~½É FRË:d5°d »B»BÀ7ÀMbÁd±®Î`Sz:d°dÁmd»BÇ5dÀ5µd\ ºÄ Ám ¸Iº±Ám´7F V7¯³`J²5_aµ± ¯³ÃY 7ËPE¯³\° X fEeCF:hÆjlxLM°±´5 Ám¯³F7¯SV½5¯³¸ ²5À:µ±·@¯³º«ÃYËP²:¯³Ç:° Ë:Å ¸Iº¶®:¯SE½ h »Eº Ç:²:;r°dÇ5¯³½:µ±À@¯³»fµ°ÌȾ 5¯³Ámh5¹E¸ ¯³¯³xÀ:À7¸ µ±¸ÁmÀ:ï>·Î»BqÀ¯S¯S½5h5Ád®:¸qµ±À:¸®:´E¸I¯lÁ³ÀP»BeC°±Åh]¯³/]¹V¸I¯³º¶²Pw¯Sq ½Æ´E°¶<µ ~»B»EËP@Á³Õ5~´EF5°d¸Iº¶»J<²Æµ±´E»fð±È ÈλBÀVÂÇ7´E°»BÅyhL{XÒ5´E»JÃtµ¶ÄÄ TE½5´E¸I»BÀ7Å »J¯SÁCµ±®7µ»B´BÀÎÂiji~¸Ihyº¶²H/]¯³´E¯S°SºYF]»BÅIÀ7»B½ÎÃYËRv1½:´E» °±Ã»BqÀ ®:¯<wChyÇ:jlÅ µ±½:¸ ûBûJµ±ºY¯Éw Yº¶´BhyÂ3µq Í»B°±j ¯ 7µ±´V`f³´EcCÔ ÅÒ^ 5hy waÀ ` h ` ySm^Icm-b± RRdÆ\ lddR`Jmb±_Ò\É^` R`¼ _:Mb ±` Bb±Jt t ^ BFP²7P»BJ·E ¯Sº TE/>´EhÀ7»Jµ±®7¯³¯³»B®7À»BjiÀhh5/]q¯³®:¯S¯º³F:qv1´Eð±Ã»B»BÀVÀ¼Ç7»BwCÅÒh5Fjl½:´E»BÇ:𶵱º®w Y¯S½5F5¸ »Bµ±À7¸ ´E½ÀhT@»B{Ãn»B¯SÅ ¯º 1À:¸ Ô7¹Eh¯³°dº¶¸ µÈ-L{´EÃn²:Ç5µ±¯³°Æ5Ám¸ ¯³À7Ám¯ol¯³²7»B°¶µ±Ãn¯³À@µSFMT@»BÀVÇ7»B°±È °±waTEÀ¯³´E¹VÀ7 ¸I»Jº¶¯Sµ±®7½ »B À °±¯³/]²P´E¯³°¶¯SµMº´E »BÀÆÀ7µ±½®:¯>GÏ`J»B_Ò¸^Å Å·EdC¸I´E»Bc °±Ã ¸ µ±@®:XÃnL{ŸI¸ Á1À:eCFE·EÅI»B²7¯³À:°S»B·EFi·EÇ7¯S¯Sº»B½5·E¸ ¯rµ±Ù ´E75°dÙ Ádº³:®:hÌFE¯³qÃnol®:¯m¯E¯Ä h Ám¯³ÃYËP¯³° Ö:h Ô ´ETE°d´E½5®:¯³ÀH°Y/]²:°±¯³´EÈV·EÀ:°d´E»BÅIÃn½:º³ÃnhM¸ olÀ:·¯m¿7ÅIÀ:»B¸À:µ±·E¸ ´EÇ7À7»B»B·EÅ̯Sº³¸ À@hµ±wa¯³À °±²: °±¯mµ±¯³°dºn´E` °Sm®:mb±¸ ·E R®:¯³d° Mb±`Sddd\J^ JcCF7²7»B·E¯Sº1Ù JÙ 7ÙfÔ :h@jlLM F VÙ h $# I 8# I -K N N<O .R K K N 0 # JI # N # 5I 3O N 3 + " '* K N N<O M N<OP CO # # # " * K N N<OGM N<OP CO M 3] % " 3O 2, -K N N N <N O PN N R N 3O N<O B " +/ B U K 8 / # # " % " "# 0/ 8 B + # N<O ] .M " .M 6P 6P PN N N N " % " / # # 5B B N N P NUM 3] N 0 + 0 ] PN U "08 N R 3O N<O 0$# , K * " 8# KI .M L " # N<O < )/ 8 & N N NGM 3] H %M N<OP CO 00/ 8 ) 0/ PN N 0B N # " # "# # N U " N N NUM 3] N + B # 3 ]] N N RK 3O N EH !K N<O1M N<O P CO H / Ô /]¯³¹V¸Iº¶¯S½ i5Ád®:¯³Ãn¯ © £© ÞÝ Ú Þ¬ Ü ÏÛÎÞª £Û ¦ Ì©ÏÏÜ Þ Ü «ª ÝÛ«ÚÛ-Þ Ü.H¦§ÏÛ ª«Þ¦ ÚÎÛ-Ü.ÚÞ Ý ¦ Åq¸Iº®:µ±¯M¯S½>²:°±¿7¸ °dÀ7ºÁmµS¸ FJ²7º¶»B¯³ÅV²7¯³»BÀ@°dµ±»J°±µ±Èr¯S½r´E°y°±´E¯Sã»EÁd®>µ±®:µ±¯M¯³°±´Bõ±®:FB¯³²:°°±¯³´5À@Ámµ±¯S°±½5¸ ¯SÇ:º°±¯EËVFfÈi´E»l° Eº¶¯³¯³ÃnÈVÍM¸IÁm´E´E°dÅ ½r´EÀ¸Iº h -* Ô5ÖÔ +Õ Ö Ö Ö P 7Õ5ÖF5Ô * ! : * ! 5 - [ * ! [ 7Õ Õ * ! [ * ! [ +Õ ³Ô * ! [ * ! [ ( Õ 5Ô * ! 5( * ! ! [ * ! # * [ * ! ![ Ö * !# ( * !# ! [ * !5 [ [ Ô * [ * [ * [ Ô * [ - * [ 5 Ô * ![ :Ö Ô #! ! Ö Ù # #! ! Ö 5 F Ô m Á ´E´EÃYÃnË:ø À7» »Jµ±¸ ´EÀ m Á - Ù Ám-´E Ãn* Ãn¯³À@!µ[ Õ ! Ù Ù - fÕ5FVÔ - - Ö m Á E ´ 7 À º d µ B » @ À µ Ù m Á E ´ @ À ± µ ¸ V À 7 Ç J » ± µ ¸ E ´ À Ë7:»EÁ @ Ç:´Bµ±¯ SÖ:F5ÔEÔ - # ! #! ! Õ Ë:Ë:¸¸ À7À7½5½5¸¸ À:À:··ÆÁmÖ´EÀ7ºµ±°±Ç7ÁCµ(Ö # ! # #! ! Õ ! [ Õ :Ö ËP´EÇ:À7½ Ö " SÖ ³Ô " JÙ Ö 5 ½ ¯m¿7À::¸ µ±¸ ´EÀ SÖ Ö Á³Á³»B»BÅÅ !ËVȼÀ:¯³¯S½ ! * - : Ù # ! # F 7 Ô 5 F Ô VÔEÔ #! " Õ ½5 ´Bµ¶ µ±¯S* ½²7»B¸ ° Õ Ô # #-" Õ # Ô : F Ô Ô Ö 5Ô " \ ( k " 8 0 0 8 m 8 8 mpo 8 0 8 8 0 ` 8 8 0 / 8 < 0 8 8 08 8 < < *A < !=B9 < !9 *A < N= 8) 8 " <7 8 8 < N=B9D <T; < *< *A 8 D 8 80" !9 8 8 <=@= <=@= <=@= <=@= <=@= <> 8 @A *8 8 >@>*9 =9 8 =B9 8 ; <= !9 8 !8 " * 8 808 8 " 8 8 A 9 8 8 8 0 8 " 8 8 808 > !9 7 !< 8 80" *8 *<D A9=B< 8 8 )8 A9 !< > A N=B< 8 A 8 8 !< 8 !9 A9 A9 i i i i /*8 >@>*9 >@>*9 =B9@< 8 < <@<> <BAB> <9 /*8 8 < 8 A@A@A<> A@A@A@AB> AB> 9 = 8 !<> *9 *9> !<> B<= !<!9 !<> 7 !<> 7 !<> 7 !<> 7D !<> 7D !<> A < 9 !<> @= !9> <9 !<> 9> !<> >*9@<BA 8 !<> < 9 !<> !9> < 9 !<> i *9 !< 9 !<> !<> !<> !<> !<> !<> *8 B= 9 > B= 9 > i *A > 8 8 !8 808 8 8 ÅÅ ¸¸ Ë:Ë:°d°d»B»B°±°±ÈÈƲ:°±´5Ám¯S½5Ç:°±¯ JÙ Ù ! ! ! " Ù ! Ù ![ Ö Å´5:Á³ »Jµ±¸ ´EÀ Ù Ù ÃûE»EÁmÁm°±°±´´ E¯³ÈVÍM´E°d½ ÃûE»EÁmÁm°±°±´t´nµ±Ç7°dº¶»B¯ À7ºÂ´E°±Ãn¯³° * : # ÔÔ * -, ! * -, # Ô ¯³Ãn"²5µÈ¼Å ¸Iºµ ![ Õ :Ö:Ö F Ö ![ ¯ @!$! Ç:#!¸[ ¹J»B[Å J¯³Ù À77ÁmÙV¯rF ²:°±:¯SFV½5Ô¸IÁ³»Jµ±¯ JÙ ¯³¯S°±º±°±Á³´E»B°+²P¯rÔ ²:°±´5Ám¯S½5Ç:°±¯ Õ [ ¯mÐ:»EÁCµ ! JÙ Ô ¯mÐ:»EÁCµ±!À:[ ¯Sº±º Ô Â" »B"ÅIº¶¯ Õ Ö Õ 9=79 / @9 8 9 " 8 / 9 !<= 9 B; @8 / 9 9D*< 9D*< 9D 9D = = = = = @<BA < !9D*< !9D* < !8 / / *9:*9>!*!<> *9:*9>![ 8 *9>*< B9; V> * 9 ¸ À@µ±¯³°±À7»BŽ5¯m¿7À:¸ µ±¸ ´EÀ SÖ E¯³ÈVÍM´E°d½ ÅI» ³** ÈƯ³¹J»BÅ Ç7»Jµ±S¸ ´EÖ:ÀF5Ô Ù - F F5fÔEÕ5ÔF SÖ:F5Ô - P S : Ö -! ³Ô SÖ - SÖ:FVÔEÔ - ³Ô SÖ 8 = *A< 8 *8 Q Õ 8 80" 8 BA@A 0 !9 08 8 > !< !9@9 !9 8 =B9 @8 / =B9 08 + 8 =B9 08+ =B9 7 *<D !8 =B9 @>*9 08 =B9 @* > 9 7 *<D !8 8 9 !9> 7 @> !9> 8 9>*< > 8 8 8 80" =B< 0 N=@= B9 ; > N=@= 8 > 0 !9 *< ;*9 !9 N= !9 8 i= !<> B9D*< 8 !9> *9*! *9*; * 0 * B A$#N= !8 8 / ÙÙ Ù ÃYÇ5µd»BË:Å ¯ Ù : - [ Ù Õ !- Õ # * Õ # [ Ö ÀVÇ:ÃYËP¯³° # * ! Ô # * ![ 5Ö:F # * - ÀVÇ:Ãn¯³°±¸IÁ³»BÅRµÈV²P¯Sº ´E Ë ¯S[ ÁCµ #!-" ÖÖ # #!-" ´E ²5µ±¸ ´EÀ7»BVÅ Ô # #! ! ![ Õ ²7»B¸ ° ![ Õ Ö :Ö ²!P´E-°¶µ ,!![ *Õ Ö Ö <D *9* " 80" 8 8 N=B<> 8) 0 < * 8 /*8 Q 8 i *A9 < *9 =B<> < *9 >*9 *< < *9 7 @> < *9 ;*9 > * ®VÈV·E¸ ¯³À:¸IÁ ¸I½5" ¯³À@µ±¸ ¿75¯³Ô°Õ :Ö:F F ¸¸ ÃnÃn* :ÃY²:!Å Ç5¯³Ãnµd»B¯³Ë:À@Å µd¯ »Jµ±Ù¸ ´EÔ À°±¯Sºµ±°±¸IÁCµ±¸ ´EÀ*Ô ¸¸ ÃnÀ:¯m²:Ð:°±»E´EÁC²Pµ ¯³°]JÅ Ù ¸Iºµ Ö ! Ô ¸À: ¸ µ±¸I#»B!ů³!!ÀV[ ¹V¸ °±!´E[ À:Ãn¯³Õ À@µ JÙ 8 * -, * -, " ! * " A 8 8 80" 8 < *= > 8 > B9@< )8 > 9 ) 8 8 8 8 2 *8 8 8 = 8 / >*9 *<= = 808 7 @> ;*9 > = 8 8 " 0 !9D*< 8 9;*<= 9;*9 8 8 > > 8 8 =B9 8 =B9 8 8 > *8 !<> 8 waÀ7½5¯mÐ Ô ) Õ /]¯³¹V¸Iº¶¯S½ i5Ád®:¯³Ãn¯ ! [ ²:²:°±°±¯S´5½5Ám¯S¸IÁ³½5»JÇ:µ±°±¯ ¯>Á³J»BÙ Å ²:²:°±°±´E´EÃn²P ¯³¸I°º¶$¯ #µd»B¸ Å![ °±¯SÁmÇ:°d:º¶¸Ö ´EÀ Ù !$# !$#!- Ö !$#!- Ö !$#!- / 7 ;*9 0 ( 8 8 8 8 )8 > 9 " 8 0 - [ - * [ >*< !<= 8+ > < ! * < = 9 8 > 9@<BA 8 *8 * 8 >*9@<BA !<> 8 >*9@<= !<> >*9@<= 8 Ö Ö:F Ö Ô °±°±¯m¯³Â·E¯³¸ °±´E¯³À#À@µ±¸IÖ »BÅ Èn:µ±F °d»BEÀ7F º¶²7»B°±¯³À@µ * Ù #5 * * ! ! * Õ - SÖ:ÖF5Ô -! -! Ö - Ô º¶¸ Ãn ²:Å ¯Sºµ1°d»Jµ±¸ ´EÀ7»BÅ ! Ô ! ! # * Ô ! * ! *8 / 0 >*9 < *A9> 0 > 9;*9> 9 * > *A 8 8 !9 9 *> 9 > B9 @; > 9 */ 8+ Q 9 9 9 <> AB> <> 7 8 B> 8 9 8 @> @> @> @> @> @> @> @> @> @> @> @> @> @> @> @> @> @> @> 8 / @= 8 / 9> ! 7 = " !B< !9*A 8 / !7 [ 8 / !7 [ 8 / !7 [ 8 / !7D [ 8 / !7D [ 8 / !- 8 / !-" =@= 8 !@=B9 8 */ 8 / ! >*9" 8 / !79- 8 */ 8 " [ 8 / [ 8 / [ 8 / [ 8 / [ 8 / ![ 8 */ 8 @> 8 / !=7 @> " 8 !=[ " 8 *8 @> # 8 @>*< @>*< T> @> < *9 80" 8 ;*<= !9 ;*9 ;*9 ;*9 ;*9 ;*9 ;*9 ;*9 8 8 !8 ! !-" ! ! ! ![ " - 5Ö 8 8 8 /*8 8 *8 " 80" > 8 > @= 8 > =@= 8 > @=B9 8 8 > >*9 8 > 79 8 > 8 8 @8 8 *8 " *9 8 8 *9 7 N= 7 Í]®:¸ µ±¯Sº¶²7»EÁm¯ Õ Ù Ù / ÕÕ i #!-"B> * -"=9 8 i # #! -" =B9 8 > *9 8 @8 8 > *9*!<> 8 9>[ 8 80" T> *8/ :Ö * PÙ * : Ö º¶ÈVÀ@µd»EÁCµ±¸IÁ E¯³ÈVÍM´E°d½Ö PÕ5F F @> !8+ > N=B9 *< 0 8 8 *9 *<D 9BA >*9 !<7 *9 ¶ºÈV À@µd »JÐ!½5¯m¿7# À:¸ µ±¸ ´EÀ ³Ô JÙ JÙ µd»B¸ ÅÁ³»BÕ Å £Ù µ±µ±´´EE²¯³ÅÀ ¯³¹E¯³Å!¯³ÀV¹V¸ °±´EÀ:Ãn¯³À@µ JÙ :Ö !"" Ù µ± °±Ç:#5¯ (Ö - :F!Õ Ù µÈV²P¯ Ö Ç:ÀVËP´EÇ:À7½ Ö F Ö SÖ #5 !$#!- #5 !$#!- Ö Ç:À7º¶²P¯SÁm¸ ¿7¯S½#Ô ¹J»BÅ ¸I½# ¸ À7½5¯mÐ5Ô ¯Sº ¹J»B°±¸I»BË:Å ¯Ö PÕ5F F 8 8 0