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/l€5W:UR=@uS=@6P?JA =T@8!h
oYsthPh7gi‚ƒ85h7UR‚ƒUP67}!8BAW:?J=ED />Llh7h7glgl6767NP?BACAmW:UP=@N 679
oY;nhRh:‡„l…Ph7?Jx{=E0ID W:K{67N
‡sth7h:T7GHhP€567†PN7Am9 ACK{67N
ˆt‰d\J^‹ŠdŒJ_a‰d\_a`_Ž:‰>‰m`JbC‘’`”“l•l`E–d‰mbC_y—>^‹‰S–
ÚÎÛ-Ü£ÝÞÜ£Ý ¦
˜7™š›@œžJŸž 5f¡£¢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¯S€5º¼Á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°1€V»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µd€5»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°l€5Á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
›
Î
›
Ãn€5Á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Ç:Á³»B€5Å ¯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½5„lȁ/]Å´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ºÄÄ g1‡€V®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°±À¯<F5€5Á³Á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¯Ð:»E€5º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·E€5Å ¯žÁ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 µ±G€5¯mÁdÐV¯®:µ1¯³·EÃnŽÅI°±»E´E¯ ½5à JÅ ÈÙ µ±»E®:F1Á¯ q VÀ:´JÍ]!FlÅ ¯SŠd€5:½5Ád‰m·E®:¯i¯³‰µ±Ãn®:¯ ¯Œ ¸ À Ô 77Ç:Œ ¯³@À7F‰rL{Ám•l¯´EÃn‰‹´B“mÂMÃn‰mb±Ã´E‰ RÀH»BŠdÀV‰>~Ç7¸I»Bº¶ÅI² ºÌŒ Ž´EÙ7°iŒ F]‡»BÀ7w”q ½ 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ÂËP€5¯³Á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¸ ´E€5À<Á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µ±°±¯³ÈÌ°´B€5Â:Á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»B€5·E¯SÁd¯t»B®:°±»E¯S¯³ºÌ½ÆÃn¸ ¸¯]µdÀ ºr̓‡»EVºyÙw”q.Í]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’Èt€VvÌÇ:€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¯S€5¯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°¶µµ±®:‡¯³°]w”q¾°±¯³»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µ±®:¯Ì¯³À@µ±¸ °±¯r€5Á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» ½5€5¯³Á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޽5€5¸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¯S„1º­µ±»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Á
Ž¸I€VÁ³¯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·Ìµd€5²:ºÁ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À7€5È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Â>Ž´E€5°žÁ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´E„1Ë µ±”®:¯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€5€5Á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µd€5»­Á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¸I€V»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¯³Ž°±œžÈrJ¸ 5Ãnf¡²:ÓÅ ¯³ Ãn¯³À@µd»Jµ±¸ ´EÀY´BžÂR €5Ád[®:›V¯³ ÃnSŸ¯MJº¶›Ç:²:²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Œ Âihƒ€5waÁdÃn®:¯³²:ÃnÅ ¯m¯Ä
‡<„lÀ:~¯]h ½5¸Iº”µ±¸ À:·EÇ:¸Iº¶®:¸ À:·lŽ¯S»Jµ±Ç:°±¯ƒ´BÂR€5Á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º³º­h€Vµ±´¯³¯>€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°SbCFB‘J²: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˜ lf 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´E‰m°] °±¯ @ŒJÇ:_a‰ ¸ °±¯S½!F5²:°±¸ Ãn¸ µ±¸ ¹E¯ÌŽ¯S»Jµ±Ç:°±¯Sº³F5´E°
ŠdŒJ_a‰ @`JbC‘
_Í]a‰m®: ¯³°±¯ŒJ_a ‰ 7Œ ^ M‰mbY¸Iº]¯³¸ µ±®:¯³° ¶Å ¸ Ë:°d»B°±È Y´E° ¶´E²5µ± ¸ 7´EŒÀ7»B^ MÅ Y‰mb»Eº]ŠdŒJ½5_a¯m‰ ¿7@À:`J¯SbC½‘
¸w[ÀÂiŠdº¶Œ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½5Šd¸IŒJÁ³_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
! "$#J‰dŠm_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®7„l»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’°±¯S€VºÇ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»J‰Ccµ±º¶7¸ Ç7´EŒEÀ7ÁdŠd®<º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À<®:¸I€5¸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´¼¯S€5½<Á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¸Â·E€5¸ µ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º³h­g1¯³°±¯¼»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½ Ä '-X‹xÓº¶»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¸ µº”µ±°±¸ À:·@º
cC‘J–d` !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Ä
H€V®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²P–d` ¯l´BRÂ\̺¶ÈVµ±´À@µdµ±»J®7Ðn»JµÌ¸Iº{º¶Á³ÈV»BÀ@Å µd¯S»J½ÆÐ!hƒ»nj1cC‘À7¸I_a½5ŒE¯³Š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^‹¸IŒEº»B– Å VM‰nÀ:¹V»B´J¸IÀ7Í]º¶¸ ½ Ë:ÀÉÅ ¯’¸I»EºYºlË:º±µ±¸»BÀ7®:¸I½5½É¯¸ À:µ±‰ ´<·@!ºY#SËP^3¸b±¯ÉÀÎ` 7–d¯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ÁCŠm´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¯ R–d` 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( <
qƒ5®:¯Sº¶–d¯É‰mbC²:F°±Šd¯S:½5ŒJ¸IÁ³bt»JXŽµ±´E¯S°º­Šd½5:¯mŒJ¿7b±À:ŒE¯ÉŠm_a‰mµ±®:b¶eC¯Fµ”cCÈV_ÒbC²P^ ¯SºÎBF –d#J`S‰d` Šm_a‰d`JŒ bC7F F 77`JŒJbC^3_ÒbCFFn»BÀ7cC‘J½ R–db±` `F
¸Šdµl‰d\ º±5»Jµ±b±¸I‰mº”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À­_a‰m¸ b ÃnR²PŒ ´E°¶b±µd‰ »BRÀ@b±‰Cµlc³Ám‰ ´E7À7_aŒJÁm¯³_Ò^‹²5` µ]¸ À<´BÂy€5»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´EX‹qƒ°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ºtFžF:»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±Ãn‰dŠ ²: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ÁCŒJµ±^ ¸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¯­ŒEŠm»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½!½’hƒj¸ À Ž´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
$&%:>&#0Y$&/[$&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^ qžr»BŠd¸ Œ Å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»JŒJµM^ Ì»rŠdµ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±Ãnh1„l¯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Ë:^3tÅ ¯S^3ºÓ_Ò^Y»B#JÀ7‰n½t´E²:°°±´5\EÁm‰m¯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»J€5¸µ±À7ÁdÇ:®:ÁmÃů³Ç7Ãnm½5h ¯­¯Ì‹oÌÅ´E¸ µ±Ë »J¯³”µ±°d¯SÇ:»BÁCÃÅPµ<ÁmƒX‹´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µ±Ç:ÃChqƒ®:¯
*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¯³ƒ!¹J‰m®:»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½ i€5Á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¹JX‹F7º¶»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¯³½!À h‹„1Á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 f‹eƒÁ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
(4D‹‚M>&' 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½!qƒh »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
(4D‹‚M>&' 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_Ò^‹¯SŠC½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Ÿ
qƒ€5Á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!À7‰mÁ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½ i€5Á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º¶¯>½!F€5µ±Á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µ±¯S€V¯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Œ µ±®:]¯H–m‘ ²:°±R´5‰dÁm‰d¯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»Bn°µ±µ±Í]¯³¯³Ã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½5Šmb±¯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»B‰mÀ<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¸ °1ŠmÀ:_Ò¯S´B^‹ºŠÂ
µ±µ”ÈV®:²P¯ ¯E‹h ½:»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±Œ :cŽ“m`JbC‰mb
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¯>·E€5¸ ¯³Á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½ i€5Á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{µ±¯S€V»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Â7‰mÀ:µ±Ã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
ËPqƒj ¯³®:·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µ À@µSŽFE²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Œ M€5»BÃn¯>»EºMŽ´E° -! Rh
7
²
J
»
¶
µ
±
µ
³
¯
±
°
P
À
C
e
h
°±!´E‰mÀ:Ã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_Òµ±^‹°dŠC»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^‹º”º1ŒEµ±–¯SÁ½n‰m»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½ i€5Ád®:¯³Ãn¯
&
*L*'"
&%
] l
*L*'"J+
j½5¯m¿7€5À:Á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Ç7€5º¶Á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ÃÃn€V´E¯³´@ÃnÀ@º”µ>µ¯<¸´BÀt¸ Â{ÃnÍ]Í]²:®:®:Å ¯³¸I¸IÁdÃnÁd®®É¯³»BÀ@ÁmÅ µd´E5»JÀ@²Pµ±µd´@¸ »B´Eº±¸À7º¶À<¸ºË:Ç:Å´B¯ƒÀ7Âi½5¹J€5¯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±¯<À7‰d\J»BX ^‹Å]ŠdŒJ»B_aÀ7´E‰i»B° ¸IÅ ºi´E·E"5»­Ç:eC¯¼h¼²:°±´Bj1´5ÂrÁmÀ¯S»½5‰ Ç:Á 5°±»J¯nY^ #Jµ±®:µ±Œ ®7¯³‰ Á»JRµY»JŠd‰»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!Ám„1´@[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ºr€5€5Á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½`E–04»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µ±®Î`E–0 r»BÀ7½ `E–04i»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Å ´5–04Á³Ì»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½ `E–04i»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½ i€5Ád®:¯³Ãn¯
´EÀ:¯r´BÂ1`E–0 r»BÀ7½É`E–04>¸Iº ÆË:Ç5µ]µ±®:¯>´Bµ±®:¯³°]¸Iº "Ph
`E–0 r»BÀ7½É`E–04i»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À7XŽe{°±½<¯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»J‰mµ±bC®:F¯³ŠdÁ`J »Jµ±¸IÁ³‰ »BEÅ1F!ÀVb±‰dÇ:Œ ÃYFËPb±¯³ŒJ°d_Òº¼^‹` »BRÀ7Œ ½ F
²P€5Á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»J€5µ±Á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Ç7€5º¶Á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º³hžqƒ®:¸Iº½5¸Iº”µ±¸ À7ÁCµ±¸ ´EÀt¸Iºy´E°¶µ±®:´E·E´EÀ7»BÅ
3˜ 3˜ A ž›
¯ÂŽm€5°±Ð:Á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»EŠmÐ:ÁC_ž»Eµ]´EÁCÁmµ°Y´E´EÀ7^ ²PRº”¯³µd‰ »BV°d»JÀ@ŒEµ±µMŠm¸ _Ò´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½ i€5Á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µ±Â¯<´E€5°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°i€VÇ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@®:»B€5¯³À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Å3eCqƒFV»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Ç:ʼnV¯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
# * ![`E–0!'
²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯
- * ![£`E–0!'
[`E–0!'
²:²:°±°±´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À@µd€Vº{´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½ i€5Ád®:¯³Ãn¯
qƒ1®:¯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¯S€Vº”µ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,%:>[email protected]$&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 hƒqƒ®:¯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·nhtX‹j1Á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 eCqƒF!®:»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½ i€5Á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µ±°±Ç:¯Ehw[µ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µ1€V¸ ¯³À@¯>µ±¯³º¶·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 ! [£`E–0!'
%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`E–0­¸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
¸€5„1À.Á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Ç7€5º±½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º³Fžh À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ºdX‹eCº¶´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È»B‰dÀ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
qƒ€5Á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½ i€5Á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
7ŒJ^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Å ¸IŒJº”µ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
7ŒJ^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Å ¸IŒJº”µ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
7ŒJ^3b-`E–0!'
²:°±´5Ám¯S½5Ç:°±¯
€@µ±´E°±¯Sºn`E– y¸­Iºƒ¸ À<Ç:µ±À7®:º¶¯n²P¯SÁ³Ám»B¸ °l¿7¯S¿7½!¯³h ÅI½<´B 7ŒJ^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 -! 7ŒJ^3b-`E–0!'
²:°±´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`E–y¸0’Iºƒ¸ À<Ç:µ±À7®:º¶¯n²P¯SÁ³Ám½5¸ ¿7°l¯S¿7½!¯³h ÅI½´B 7ŒJ^3b5hrqƒ®:¯Y¹J»BÅ Ç:¯Y°±¯mµ±Ç:°±À:¯S½ËVÈ
µ±·EX‹´tº¶°d¯³»B€5¯ÃÁ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Ç:µ±¸Ã À:®:·¯ 7ŒJ^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º¶¯i€5Ád®:¯³Ãn¯i²:°±´E·E°d»BÁº³h€V¯³¯
hh ¯
77ŒJŒJ^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''
-£`E–0-Œ ^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°Ó²7–0»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` ´B–0ƵƒÍ]µ±®:¸ ¯>µ±®­¯³Ã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½ i€5Á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À7€VÁ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°±ËV‘JÀ:È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È Ä
Ãn€V¯³¯³¯ À@µd»J
µ±* ¸ ´E!À7 ºl ´BÂM€5 Á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
ž 5J 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Å
qƒL{®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
µ±Ám€V®:¯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 HŠd:ŒJ4b -'
²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯
* [Šd:ŒJb HŠd:ŒJ4b -'
* [Šd:ŒJb HŠd:ŒJb4-'
²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯
* [£Šd:ŒJb HŠd:ŒJ4b -'
* [£Šd:ŒJb HŠd:Œ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ÀV€V» Ç:´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 HŠd:ŒJ4b '
ÅÅ ¸¸ Ë:Ë:°d°d»B»B°±°±ÈÈ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯
* ! [Šd:ŒJb HŠd:ŒJ4b '
* ! [Šd:ŒJb HŠd:ŒJb4'
ÅÅ ¸¸ Ë:Ë:°d°d»B»B°±°±ÈÈ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯
* ! [Šd:ŒJb HŠd:ŒJ4b -'
* ! [Šd:ŒJb HŠd:Œ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Ç:Ç:°±°±¯¯
* ! # * [HŠd:ŒJb'
* !5 [ϊd:ŒJb'
ÅÅ ¸¸ Ë:Ë:°d°d»B»B°±°±ÈÈ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯
* !# ! [ ‰m_Òa‰mb'
* ! ! [ ‰m_Òa‰mb'
Å ¸ Ë:°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ËP€7¯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:ŒJŠdb:ŒJb
ÅÅ ¸¸ Ë:Ë:°d°d»B»B°±°±ÈÈ²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯
qƒ *®: ¯Sº¶¯+!²:°±´5Ám[£¯S½5ŠdÇ::°±ŒJ¯Sb.º£Šd°±:¯mŒJµ±b4Ç:°±'VÀ hÏ»waÀÏÁd®7»E½:»B°d½5»E¸ µ±ÁC¸ µ±´E¯³À° FƒŠd¸ Âƍ:ŒJŠdb4:(Œ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À7€5º¶º”Á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½ i€5Á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_acCŒJ_abCŒJ_Ì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º”°dŒJµ±»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`E–0ƸIº1»nº”µ±°±¸ À:·7F5´Bµ±®:¯³°±Í]¸Iº¶¯r°±¯mµ±Ç:°±À7º "Ph
+* -, ? '
²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯
+* -, ? Šd:ŒJb'
wµ±[’¸I-»B, Ŋd¸ :³¯SŒJ½ÉbÉ µ±¸IºÆ´«·EŠd¸Y:¹EŒJ¯³°±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^ %HŠd:Œ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_aŒJbC_’‰ R(\ '
Å
¸
:
Ë
d
°
B
»
±
°

È
:
²
±
°
5
´
m
Á
S
¯
5
½
:
Ç
±
°
¯
¸PÀ@_Òµ±bC¯³^ ·E¯³¼°dº]ÃYº±Ç7»Jº”µ±µ1¸Iº”ËPŽÈV¯Y¸ À:»· º”µ±°±¸ À:·7F7»BÀ7½cC_aŒJbC_]»BÀ7½ ‰ R\¼ÃYÇ7º”µlËP¯i¯mÐ:»EÁCµ
cC_aŒJbC_ .‰ 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º¶²PŠd:¯SÁmŒJ¸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
¿7„1¯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`E–0!'
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½Æ‰dŠm¸_aÀ7`J½5bV¯mhyÐÆqƒ´B®:¯{#J¹J‰d»BŠmÅ _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^I‰dcCŠm_ _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¯SŠm»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½!#Jh‰dŠm_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
! #J‰dŠm_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ºÌ¸ À #J‰dŠm_a`JbÆ»EºÌ»BÀ¯mÐ:»EÁCµÌ¸ À5Ä EE
L!M
E
E
E
&
K
4
E
F
KKK
! "$#J‰dŠm_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#JŠm‰d_a`JŠm_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½ i€5Ád®:¯³Ãn¯
Rb±`SŠ-ŒJb nŒJb 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ÆÊLMŒJ»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±`Jt^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Ç5tµ±¯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»BŠBÀ 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¯{_a‰m¯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ž–d‰‹“m`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´ À7€5R½Á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½ i€5Á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 5‰mbr¸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_a‰mb'
:
²
±
°
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_a‰mµ±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´E‰m¯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µ±¸¯³‰‹µd“mÀ@º]`Jµtµ±b±®7‰n´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¸ À:µ±Œ”À:®t“d_a¯³µ±‰m°C´ÌbBeºÓËPÁ³ÂŽ»B¯]°±Å ´EÁ³:ÃÊ»Bµ±Å´ ¯Sµ±®:½!
¯SFJ º¶µ±¯1®:* ¯³µ”ÀYÍM´iµ±®:¸ ¯iÀV¹EŒ” ´5“dl_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µ±°±®:¯¯ËP–d´B‰‹“mµ±`J®Ïb±‰fµ±ºÌ´ÎŽ°±ËP´E¯Ã Á³»Bµ±®:Å ¯S¯Sº¶½!¯ F
µ±®:
¯³ À£* µ±®:¯H –d‰‹“m `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º1Œ”“dÁ³_a»B‰mÅb1¸ ŽÀ:°±·´EÃ+µ±®:»B¯­À:–d´B‰‹µ±“m®:`J¯³b±°S‰iFJŽµ±°±®:´E¯³Ã À
µ±®:¯¼Œ”“d_a‰mbt¸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µ±½´¼Ám–d´E‰‹À@“mµ±`J¸ b±ÀV‰lÇ7´E»J°lµ±¸ ´EŒ”“dÀt_a‰mµ±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¯³®:°r€5¯³Á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À7Šl¯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µSŠƒht°±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¯nƒX‹»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
* * ! ! * &#J‰mbdcC^‹` '
²::² °±°±´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
# * $#J‰mbdcC^‹` '
P‰mbdcC^‹` ­Ã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Ç:Ç:°±°±¯¯
À:#J‰m´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 7‰dŠm^ M‰mb'
:
²
±
°
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°±_´E€5[À: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½ i€5Á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
#!-"
‰ RŒJ-‰ '
²:°±´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¯µ
# #!-"
‰ RŒJ-‰ '
²:°±´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Âl€5Á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Ç:Ç:°±°±¯¯
:
`E–0 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µ±µ±¯³¯³°«°CqƒetŠd®:µ±:¯´ÎŒ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¯º
‰ RŒJ-‰ '
E
´
5
²
±
µ
¸
E
´
7
À
B
»
!
Å
:
²
±
°
5
´
m
Á
S
¯
5
½
:
Ç
±
°
¯
µd²:^»B°±¸¯SÀ:‰ º±¸Rº¶À:¸ ŒJ´E·YÀ7€5º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
‰ RŒJ‰-'
´E´E²5²5µ±µ±¸¸ ´E´EÀ7À7»B»BÅ!Å!²:²:°±°±´5´5ÁmÁm¯S¯S½5½5Ç:Ç:°±°±¯¯
»¿7J^µ±Å ¯¯S‰½!RŽht´EŒJ°­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¯Éµt€5¸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½ i€5Á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°i€5Á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Ÿ SŸJ›
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Ç:à ·EqƒŽwa°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Ö:»B‹h ½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
%/
=
ÙVh­z:´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›@ ž MJ› ž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µ ¯³ À@µC‹Cº¶' ¯ @Ç:¯³À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½ i€5Á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 7J 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»B€5½<ÅÓÁ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¯’_a‰M¸I´EÁn»B°dÀ7µ±½5®7½¯³»J°YµY´B®:Âl7¯³‰m¯³°±bC¹J¯Æ »BÅËV5Ç7È_a»J‰mµ±»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·E‰mÇ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‰ À: ÃnR‰d¯³\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 Ætw”L{½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 d“mŒ 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 d“mŒ c³‰ {_Òb 7‰
RÃnº”\Eµ±‰ °±¸I º±¸ À:ÁmR¯³·@‰dÅ º\I»BÀ:¯³:´EcÇ77º ‰dŠm^ M‰d\
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½ i€5Ád®:¯³Ãn¯
3˜ @
Ÿ A ‹ 5f¡ [Ÿ
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
ÙVh­z:´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½ i€5Á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»B€5Å Ç:Á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¯­´E€5°¶Á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º
qƒqƒ®:®:¯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µl€5Á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½ i€5Á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µYX‹X‹»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Þ­ª«ÞÜ.ÚÞ¦
gl€VÇ7»Bº±°±º¶´EÁÅI½»BÀj1h ËPP¯³_ÒÅIº¶b ´E7À<Šm_ 5»BÀ7b±‰½Œ sÌR¯³\ °d»BÅI7½­_a‰mT@b »fRÈ­b±‰m€V_aŒJÇ7_Òº±^‹º¶` Á-»B`”À“ Í]¸ `Jµ±®TE5Ç:_aÅ ‰m¸ ¯b
Mb±E` BÖ:b±h ŒJYc c³‰dŠd` R\£‰d\J^3_Ò^‹` >‡w”q x°±¯Sº±º³FtLM»BÃYË:°±¸I½5·E¯EF
waj1Œ À RÅI»B\ MbÀn±‚ƒ`SŠd»fR‰dÍ1‰dŠm\J_Ò½5^‹^ ¯³` ÀnRJc>Œ »BÀ7`”Mb“l½Y±_ŽTE`:B´E‰ b±À7ŒJ»Jtµ±®7t»B^Àt B/]žF7¯³ ²7¯S»Bº³hE·EP€V¯S‘JºÈV À@7µdÖ `f»EcCÁC@^ µ±5Õ5¸IÁMh Á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¸ À:waŠdÀ· ‰
_Ò` ^‹` 7MbF:±²7` »BB·Eb±ŒJ¯Sºtt^ SÖ:Œ h 7Œ @‰>ˆt‰CcC^ Œ 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¯³‡°t€5¯³Ã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´JŠd‰dÍΉd\Jµ±^´>J°±¯Sc«»E½`”“Î7´@_Ž:»J‰µ±¸ À: ·>ž²P ´E¸ À@µÀVÇ:ÃYËP ¯³°dº
ŒÅ ¸IRº¶®:\ ¯SC½­ ` »ESº “m‰m‰mb±‰ ‰ R7Šd_a‰ÏŒJ_Ò `^‹` 7FJMb²7±`J»B` _Ò·EB^‹¯Sb±ŠdºŒJ‰CcttÕ:^X‹Ö@eCEF:h³TExÇ:Œ °±À:´5¯Ám7¯³¯SŒ ½5@¸‰ À::·@hˆtº!‰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¸ ¯Ìµ±´E€5°dÁdº³®:h̯³qƒÃn®:¯E¯ h
waÀ ž y^Ic ]`J^ 7_a‰mbdcMÔPX eCF:²7»B·E¯Sº :ÕEÕ5F Eh
GÏÍM´E¸ °Å R¸I»BhÓà waÀ L{MbÅ ±¸ À:`SŠd·E‰d¯³‰d°\J^ »BÀ7J½.c`”TE“’´EÀ7_Ž:»J‰µ±®7»BÀ /]¯³ ¯Sžº³hr ‡<»EÁm` °±S´@“mº­‰mb±µ±‰ ®7R»JŠdµ‰
S` Ö Mbh C^ RŠm^ ‰Ccl`”“ Mb±` Bb±ŒJtt^ Œ 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ž`SŠd»B‰d¸ ‰dÅl\J/]^ ¯SJÁmc]Ç:`”°d“{º¶¸ _Ž´E:ÀH‰ »BÀ7½Ï€V ²7ž»EÁm ¯
C ` S“m‰m‰mb±‰ ‰ R7Šd_a‰ÎŒJ_Ò`^‹` 7FPMbTE±Ç:` BÀ:b±¯ ŒJtt^ h Œ 7Œ @‰ˆt‰CcC^ ʌ R\
/>€VÈVh5À@;rµd»E¯³ÁCÀ@µ±µƒ¸IÁtol»BÈVË7ËVº”¹Vµ±¸ °d·7»EF5ÁC/]µ±¸ ´E´EËPÀ<¯³¸°¶Àɵƒg1€5Ád¸ ¯³®:˯³ÃnF:»B¯EÀ7h ½’yLM^Ic »BÏ°±ÅRŒ ‚MR\°±Ç:P·E‘J·E¯³Ã–d` »BÀ^‹Š h
`J 5_aŒJ_Ò^‹` ’Õ: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¹E€5·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°±È hM€VÇ:²P¯³°¶Ä
oY‡ hhEGÉz:°±»B¸ À7¯S½!½5ÁhV€5»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`SZŒJZ _Ò^ P_a Œ ]`RJ\E^ ŒJ7b±_ \ bC^3 _ŽV‰m_Ò ^‹Š 7±Zw”|{Z|{Z |1PF5_av1Œ R¯³Í\EŒJb±\´E“m° `JRb F ]^ RÕ5ŒJbCh ‘ Õ °±s̯³Ç:¹VÈ<¸Iº¶¯S~½¯³Í]°±¯³¸I²PºÌ´E€@°¶µ±µ{¯³´E¯³À’Å ¯n€5TEÁ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Àw”qHhRqƒj1®:°¶¯ Ä
±!ZŠd:Z‰mZ ‰P_aMbŒ R±`\EBŒJb±b±ŒJ\ tt^ Œ 7±Œ Z@Z‰ ƒZ w”|{P|{_aŒ |1RF{\EŒJv1b±¯³\’Í “m`Jb´E_Ž° :R‰ F Ö µ±s̸ ¿PÇ:ÁmÈƸI»B~ů³waÍ]À@µ±¸IºM¯³Å €@¸ µ±·E¯³¯³¯³À7Å ¯ÌÁm¯>TE°S‡h@¯³/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±ŒJh1t;rt´E^ ®:Å ËP¯SÁ ŒE¯³°­7TEŒ °S@h ‰ Py‘ ^I7c _aŒEŠmx_Ò^‹®7ŠoZ Eµ±®:_a‰ ¯S:º¶cC¸Iº³^‹`F:wacÀ7½5^ ¸ Ä Ù sÌÇ:È­~¯³Í]¸IºÌ€@µ±¯³¯³Å ¯iTE°Sh `Jt` y^Ic R:‰ Œ 7Œ @‰
c³‰dŠd` R\’‰d\J^3_Ò^‹` Pol¸ ·E¸ µd»BÅx°±¯Sº±º³F5‚MÇ:°±Å ¸ À:·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À7Šdº¶‰n¸ ´E` Àh1ywaÀ^Ic ¾MbŒ ±R`SŠd\ ‰d‰d\J^ RJŠmc-_Ò^‹` `”R“ÉŒ _Ž:Mb‰ ±` Bb±ŒJtt ^ žBFP²7»B`·E¯Sº Å Ç7Vº³ÙBh@Õ5‡h w”q«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`ShRŒEˆtŠd«‰ R_a`J` _aŒJMb_Ò^‹±` ` RBb±Œ ŒJt!t‰m^ Œ 7_Ò^‹ŠCŒ c 7RŒ:@‰ ‰ !RŠd`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 ¯³¯³À£`Jtj1 Å ·E´E7År^‹ŠdÖ Œ `JbC‘ P‡w”q£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{hžwaxÕBÀ °±Ö:¸ h’À7 Ámjl¸ ²7LM»B‡Å{¹J»B€VÅ Ç:w¶¯Ssr` ºYjlS»B“mx{‰mÀ7b±~½É‰ FRË:Šd€5°d‰ »B»BÀ7ÀMbÁd±®Î`Sz:Šd°dÁm‰d»BÇ5‰dÀ5µd\ ºÄ
Ám ¸Iº±Ám´7F €V7¯³`J²5_aµ±‰ ¯³ÃY 7ËPŒE¯³\° X fEeCF:hÆjlxLM°±´5‡ Ám¯³F7¯S€V½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 ` yS“m^Ic‰m-b±‰ ŒRRŠd‰Æ\ •l‰dŠdR`JŠmb±_Ò\É^‹` R`”“¼Œ _Ž:Mb‰ ±` Bb±ŒJt
t ^ žBFP²7P»B‘J·E ¯Sº
TE/>´EhÀ7»J‡µ±®7¯³¯³»B®7À’»BjiÀhh5/]qƒ¯³®:¯S¯º³F:qv1´EÁ°±Ã»B»BÀVÀ¼Ç7»BwCÅÒh5F’jlŽ½:´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_Ò¸^‹Å Å·EŠd‰C¸I´E»Bc °±Ã ¸ µ±@®:XÃnL{ŸI¸ Á1À:eCFE·EÅI»B²7¯³À:°S»B·EFi·EÇ7¯S¯Sº»B½5·E¸ ¯rµ±Ù ´E7€5°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` °’S“m®:‰mb±¸ ·E‰ R®:¯³Šd‰°
Mb±`SŠd‰d‰d\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½ i€5Á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½ i€5Á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