ࡱ> _aZ[\]^ ̬bjbjT~T~ 366NN5\5\5\5\5\I\I\I\I\L^\I\E_____```_XE5\`````5\5\__`V5\_5\_`!_N DI\"o0E|Y4YY5\$``````E````Y`````````N Z: Chapter 2 Java Fundamentals Goals Introduce the Java syntax necessary to write programs Be able to write a program with user input and console output Evaluate and write arithmetic expressions Use a few of Java's types such as int and double 2.1 Elements of Java Programming The essential building block of Java programs is the class. In essence, a Java class is a sequence of characters (text) stored as a file, whose name always ends with .java. Each class is comprised of several elements, such as a class heading (public class class-name) and methodsa collection of statements grouped together to provide a service. Below is the general form for a Java class that has one method: main. Any class with a main method, including those with only a main method, can be run as a program. General Form: A simple Java program (only one class) // Comments: any text that follows // on the same line import package-name.class-name; public class class-name { public static void main(String[] args) { variable declarations and initializations messages and operations such as assignments } } General forms describe the syntax necessary to write code that compiles. The general forms in this textbook use the following conventions: Boldface elements must be written exactly as shown. This includes words such as public static void main and symbols such as [, ], (, and). Italicized items are defined somewhere else or must be supplied by the programmer. A Java Class with One Method Named main // Read a number and display that input value squared import java.util.Scanner; public class ReadItAndSquareIt { public static void main(String[] args) { // Allow user input from the keyboard Scanner keyboard = new Scanner(System.in); // I)nput Prompt user for a number and get it from the keyboard System.out.print("Enter an integer: "); int number = keyboard.nextInt(); // P)rocess int result = number * number; // O)utput System.out.println(number + " squared = " + result); } } Dialog Enter an integer: -12 -12 squared = 144 The first line in the program shown above is a comment indicating what the program will do. Comments in Java are always preceded by the // symbol, and are ignored by the program. The next line contains the word import, which allows a program to use classes stored in other files. This program above has access to a class named Scanner for reading user input. If you omit the import statement, you will get this error: Scanner keyboard = new Scanner(System.in); Scanner cannot be resolved to a type Java classes, also known as types, are organized into over seventy packages. Each package contains a set of related classes. For example, java.net has classes related to networking, and java.io has a collection of classes for performing input and output. To use these classes, you could simply use the import statement. Otherwise you would have to precede the class name with the correct package name, like this: java.util.Scanner keyboard = new java.util.Scanner(System.in); The next line in the sample program is a class heading. A class is a collection of methods and variables (both discussed later) enclosed within a set of matching curly braces. You may use any valid class name after public class; however, the class name must match the file name. Therefore, the preceding program must be stored in a file named ReadItAndSquareIt.java. The file-naming convention class-name.java The next line in the program is a method heading that, for now, is best retyped exactly as shown (an explanation(intentionally skipped here(is required to have a program): public static void main(String[] args) // Method heading The opening curly brace begins the body of the main method, which is a collection of executable statements and variables. This main method body above contains a variable declaration, variable initializations, and four messages, all of which are described later in this chapter. When run as a program, the first statement in main will be the first statement executed. The body of the method ends with a closing curly brace. This Java source code represents input to the Java compiler. A compiler is a program that translates source code into a language that is closer to what the computer hardware understands. Along the way, the compiler generates error messages if it detects a violation of any Java syntax rules in your source code. Unless you are perfect, you will see the compiler generate errors as the program scans your source code. Tokens The Smallest Pieces of a Program As the Java compiler reads the source code, it identifies individual tokens, which are the smallest recognizable components of a program. Tokens fall into four categories: Token Examples Special symbols ; () , . { } Identifiers main args credits courseGrade String List Reserved identifiers public static void class double int Literals (constant values) "Hello World!" 0 -2.1 'C' true Tokens make up more complex pieces of a program. Knowing the types of tokens in Java should help you to: More easily write syntactically correct code. Better understand how to fix syntax errors detected by the compiler. Understand general forms. Complete programs more quickly and easily. Special Symbols A special symbol is a sequence of one or two characters, with one or possibly many specific meanings. Some special symbols separate other tokens, for example: {, ;, and ,. Other special symbols represent operators in expressions, such as: +, -, and /. Here is a partial list of single-character and double-character special symbols frequently seen in Java programs: () . + - / * <= >= // { } == ; Identifiers Java identifiers are words that represent a variety of things. String, for example is the name of a class for storing a string of characters. Here are some other identifiers that Java has already given meaning to: sqrt String get println readLine System equals Double Programmers must often create their own identifiers. For example, test1, finalExam, main, and courseGrade are identifiers defined by programmers. All identifiers follow these rules. Identifiers begin with upper- or lowercase letters a through z (or A through Z), the dollar sign $, or the underscore character _. The first character may be followed by a number of upper- and lowercase letters, digits (0 through 9), dollar signs, and underscore characters. Identifiers are case sensitive; Ident, ident, and iDENT are three different identifiers. Valid Identifiers main ArrayList incomeTax MAX_SIZE $Money$ Maine URL employeeName all_4_one _balance miSpel String A1 world_in_motion balance Invalid Identifiers 1A // Begins with a digit miles/Hour // The / is not allowed first Name // The blank space not allowed pre-shrunk // The operator - means subtraction Java is case sensitive. For example, to run a class as a program, you must have the identifier main. MAIN or Main wont do. The convention employed by Java programmers is to use the camelBack style for variables. The first letter is always lowercase, and each subsequent new word begins with an uppercase letter. For example, you will see letterGrade rather than lettergrade, LetterGrade, or letter_grade. Class names use the same convention, except the first letter is also in uppercase. You will see String rather than string. Reserved Identifiers Reserved identifiers in Java are identifiers that have been set aside for a specific purpose. Their meanings are fixed by the standard language definition, such as double and int. They follow the same rules as regular identifiers, but they cannot be used for any other purpose. Here is a partial list of Java reserved identifiers, which are also known as keywords. Java Keywords boolean default for new break do if private case double import public catch else instanceof return char extends int void class float long while The case sensitivity of Java applies to keywords. For example, there is a difference between double (a keyword) and Double (an identifier, not a keyword). All Java keywords are written in lowercase letters. Literals A literal value such as 123 or -94.02 is one that cannot be changed. Java recognizes these numeric literals and several others, including String literals that have zero or more characters enclosed within a pair of double quotation marks. "Double quotes are used to delimit String literals." "Hello, World!" Integer literals are written as numbers without decimal points. Floating-point literals are written as numbers with decimal points (or in exponential notation: 5e3 = 5 * 103 = 5000.0 and 1.23e4 = 1.23 x 10-4 = 0.0001234). Here are a few examples of integer, floating-point, string, and character literals in Java, along with both Boolean literals (true and false) and the null literal value. The Six Types of Java Literals Integer Floating Point String Character Boolean Null -2147483648 -1.0 "A" 'a' true null -1 0.0 "Hello World" '0' false 0 39.95 "\n new line" '?' 1 1.23e09 "1.23" ' ' 2147483647 -1e6 "The answer is: " '7' Note: Other literals are possible such as 12345678901L for integers > 2,147,483,647. Comments Comments are portions of text that annotate a program, and fulfill any or all of the following expectations: Provide internal documentation to help one programmer read and understand anothers program. Explain the purpose of a method. Describe what a method expects of the input arguments (n must be > 0, for example). Describe a wide variety of program elements. Comments may be added anywhere within a program. They may begin with the two-character special symbol /* when closed with the corresponding symbol */. /* A comment may extend over many lines when using slash start at the beginning and ending the comment with a star slash. */ An alternate form for comments is to use // before a line of text. Such a comment may appear at the beginning of a line, in which case the entire line is ignored by the program, or at the end of a line, in which case all code prior to the special symbol will be executed. // This Java program displays "hello, world to the console. public class ShowHello { public static void main(String[] args) { System.out.println("hello, world"); } } Comments can help clarify and document the purpose of code. Using intention-revealing identifiers and writing code that is easy to understand, however, can also do this. Self-Check 2-1 List each of the following as a valid identifier or explain why it is not valid. -a abc -i H.P. -b 123 -j double -c ABC -k 55_mph -d _.$ -l sales Tax -e my Age -m $$$$ -f identifier -n ______ -g (identifier) -o Mile/Hour -h mispellted -p Scanner 2-2 Which of the following are valid Java comments? -a // Is this a comment? -b / / Is this a comment? -c /* Is this a comment? -d /* Is this a comment? */ 2.2 Java Types Java has two types of variables: primitive types and reference types. Reference variables store information necessary to locate complex values such as strings and arrays. On the other hand, Primitive variables store a single value in a fixed amount of computer memory. The eight primitive (simple) types are closely related to computer hardware. For example, an int value is stored in 32 bits (4 bytes) of memory. Those 32 bits represent a simple positive or negative integer value. Here is summary of all types in Java along with the range of values for the primitive types: The Java Primitive Types integers: byte (8 bits) -128 .. 128 short (16 bits) -32,768 .. 32,767 int (32 bits) -2,147,483,648 .. 2,147,483,647 long (64 bits) -9,223,372,036,854,775,808 .. 9,223,372,036,854,775,807 real numbers: float (32 bits), 1.40129846432481707e-45 .. 3.40282346638528860e+38 double (64 bits), 4.94065645841246544e-324 .. 1.79769313486231570e+308 other primitive types: char 'A', '@', or 'z' for example boolean has only two literal values false and true The Java Reference Types classes Chapter 5 arrays Chapters 8-11 interfaces Chapter 12 Declaring a primitive variable provides the program with a named data value that can change while the program is running. An initialization allows the programmer to set the original value of a variable. This value can be accessed or changed later in the program by using the variable name. General Form: Initializing (declaring a primitive variable and giving it a value) type identifier; // Declare one variable type identifier = initial-value; // For primitive types like int and double Example: The following code declares one int and two double primitive variables while it initializes grade. int credits; double grade = 4.0; double GPA; The following table summarizes the initial value of these variables: Variable Name Value credits ? // Unknown grade 4.0 // This was initialized above GPA ? // Unknown If you do not initialize a variable, it cannot be used unless it is changed with an assignment statement. The Java compiler would report this as an error. Assignment An assignment gives a value to a variable. The value of the expression to the right of the assignment operator (=) replaces the value of the variable to the left of =. General Form: Assignment variable-name = expression; The expression must be a value that can be stored by the type of variable to the left of the assignment operator (=). For example, an expression that results in a floating-point value can be stored in a double variable, and likewise an integer value can be stored in an int variable. int credits = 4; double grade = 3.0; double GPA = (credits * grade) / credits; // * and / evaluate before = The assignment operator = has a very low priority, it assigns after all other operators evaluate. For example, (credits * grade) / credits evaluates to 3.0 before 3.0 is assigned to GPA. These three assignments change the value of all three variables. The values can now be shown like this: Variable Value credits 4 grade 3.0 GPA 3.0 In an assignment, the Java compiler will check to make sure you are assigning the correct type of value to the variable. For example, a string literal cannot be assigned to a numeric variable. A floating-point number cannot be stored in an int. grade = "Noooooo, you can't do that"; // Cannot store string in a double credits = 16.5; // Cannot store a floating-point number in an int Self-Check 2-3 Which of the following are valid attempts at assignment, given these two declarations? double aDouble = 0.0; int anInt = 0; -a anInt = 1; -e aDouble = 1; -b anInt = 1.5; -f aDouble = 1.5; -c anInt = "1.5"; -g aDouble = "1.5"; -d anInt = anInt + 1; -h aDouble = aDouble + 1.5; Input and Output (I/O) Programs communicate with users. Such communication is provided throughbut is not limited tokeyboard input and screen output. In Java, this two-way communication is made possible by sending messages, which provide a way to transfer control to another method that performs some well-defined responsibility. You may have written that method, or it may very likely be a method you cannot see in one of the existing Java classes. Some messages perform particular actions. Two such methods are the print and println messages sent to System.out: General Form: Output with print and println System.out.print(expression); System.out.println(expression); System.out is an existing reference variable that represents the consolethe place on the computer screen where text is displayed (not actually printed). The expression between the parentheses is known as the argument. In a print or println message, the value of the expression will be displayed on the computer screen. With print and println, the arguments can be any of the types mentioned so far (int, double, char, boolean), plus others. The semicolon (;) terminates messages. The only difference between print and println is that println generates a new line. Subsequent output begins at the beginning of a new line. Here are some valid output messages: System.out.print("Enter credits: "); // Use print to prompt the user System.out.println(); // Print a blank line Input To make programs more applicable to general groups of datafor example, to compute the GPA for any studentvariables are often assigned values through keyboard input. This allows the program to accept data which is specific to the user. There are several options for obtaining user input from the keyboard. Perhaps the simplest option is to use the Scanner class from the java.util package. This class has methods that allow for easy input of numbers and other types of data, such as strings. Before you can use Scanner messages such as nextDouble or nextInt, your code must create a reference variable to which messages can be sent. The following code initializes a reference variable named keyboard that will allow the keyboard to be a source of input. (System.in is an existing reference variable that allows characters to be read from the keyboard.) Creating an Instance of Scanner to Read Numeric Input // Store a reference variable named keyboard to read input from the user. // System.in is a reference variable already associated with the keyboard Scanner keyboard = new Scanner(System.in); In general, a reference variable is initialized with the keyword new followed by class-name and (initial-values). General Form: Initializing reference variables with new class-name reference-variable-name = new class-name(); class-name reference-variable-name = new class-name(initial-value(s)); The expression to the right of = evaluates to a reference value, which is then stored in the reference variable to the left of =. That reference value is used later for sending messages. Messages sent to keyboard can obtain textual input from the keyboard and can convert that text (for example, 3.45 and 99) into numbers. Here are two messages that allow users to input numbers into a program: Numeric Input keyboard.nextInt(); // Pause until user enters an integer keyboard.nextDouble(); // Pause until user enters a floating-point number In general, use this form to send a message to a reference variable that will, in turn, cause some operation to execute: General Form: Sending messages reference-variable-name.message-name(argument-list) When a nextInt or nextDouble message is sent to keyboard, the method waits until the user enters some type of input and then presses the Enter key. If the user enters the number correctly, the text will be converted into the proper machine representation of the number. If the user enters a letter when keyboard is expecting a number, the program may terminate with an error message. These two methods are examples of expressions that evaluate to some value. Whereas a nextInt message evaluates to a primitive int value, a nextDouble message evaluates to a primitive floating-point value. Because nextInt and nextDouble return numeric values, they are often seen on the right-hand side of assignment statements. These messages will be seen in text-based input and output programs (ones that have no graphical user interface). For example, the following code prompts the user to enter two numbers using print, nextInt, and nextDouble messages. System.out.print("Enter credits: "); // Prompt the user credits = keyboard.nextInt(); // Read and assign an integer System.out.print("Enter grade: "); // Prompt the user qualityPoints = keyboard.nextDouble(); // Read and assign a double Dialog Enter credits: 4 Enter grade: 3.0 In the last line of code abovethe fourth messagethe nextDouble message causes a pause in program execution until the user enters a number. When the user types a number and presses the enter key, the nextDouble method converts the text user into a floating-point number. That value is then assigned to the variable qualityPoints. All of this happens in one line of code. Prompt and Input The output and input operations are often used together to obtain values from the user of the program. The program informs the user what must be entered with an output message and then sends an input message to get values for the variables. This happens so often that this activity can be considered to be a pattern. The Prompt and Input pattern has two activities: Request the user to enter a value (prompt). Obtain the value for the variable (input). Algorithmic Pattern: Prompt and Input Pattern: Prompt and Input Problem: The user must enter something. Outline: 1. Prompt the user for input. 2. Input the data Code Example: System.out.println("Enter credits: "); int credits = keyboard.nextInt(); Strange things may happen if the prompt is left out. The user will not know what must be entered. Whenever you require user input, make sure you prompt for it first. Write the code that tells the user precisely what you want. First output the prompt and then obtain the user input. Here is another instance of the Prompt and Input pattern: System.out.println("Enter test #1: "); double test1 = keyboard.nextDouble(); // Initialize test1 with input System.out.println("You entered " + test1); Dialogue Enter test #1: 97.5 You entered 97.5 In general, tell the user what value is needed, then input a value into that variable with an input message such as keyboard.nextDouble();. General Form: Prompt and Input System.out.println("prompt user for input : " ); input = keyboard.nextDouble(); // or keyboard.nextInt(); Arithmetic Expressions Arithmetic expressions are made up of two components: operators and operands. An arithmetic operator is one of the Java special symbols +, -, /, or *. The operands of an arithmetic expression may be numeric variable names, such as credits, and numeric literals, such as 5 and 0.25. An Arithmetic Expression may be Example numeric variable double aDouble numeric literal 100 or 99.5 expression + expression aDouble + 100 expression - expression aDouble - 100 expression * expression aDouble * 100 expression / expression aDouble / 99.5 (expression) (aDouble + 2.0) The last definition of expression suggests that we can write more complex expressions. 1.5 * ((aDouble - 99.5) * 1.0 / aDouble) Since arithmetic expressions may be written with many literals, numeric variable names, and operators, rules are put into force to allow a consistent evaluation of expressions. The following table lists four Java arithmetic operators and the order in which they are applied to numeric variables. Most Arithmetic Operators * / % In the absence of parentheses, multiplication and division evaluate before addition and subtraction. In other words, *, /, and % have precedence over + and -. If more than one of these operators appears in an expression, the leftmost operator evaluates first. + - In the absence of parentheses, + and - evaluate after all of the *, /, and % operators, with the leftmost evaluating first. Parentheses may override these precedence rules. The operators of the following expression are applied to operands in this order: /, +, -. 2.0 + 5.0 - 8.0 / 4.0 // Evaluates to 5.0 Parentheses may alter the order in which arithmetic operators are applied to their operands. (2.0 + 5.0 - 8.0) / 4.0 // Evaluates to -0.25 With parentheses, the / operator evaluates last, rather than first. The same set of oper-ators and operands, with parentheses added, has a different result (-0.25 rather than 5.0). These precedence rules apply to binary operators only. A binary operator is one that requires one operand to the left and one operand to the right. A unary operator requires one operand on the right. Consider this expression, which has the binary multiplication operator * and the unary minus operator -. 3.5 * -2.0 // Evaluates to -7.0 The unary operator evaluates before the binary * operator: 3.5 times negative 2.0 results in negative 7.0. Two examples of arithmetic expressions are shown in the following complete program that computes the GPA for two courses. // This program calculates the grade point average (GPA) for two courses. import java.util.Scanner; public class TwoCourseGPA { public static void main(String[] args) { Scanner keyboard = new Scanner(System.in); // Prompt and Input the credits and grades for two courses System.out.print("Enter credits for first course: "); double credits1 = keyboard.nextDouble(); System.out.print("Enter grade for first course: "); double grade1 = keyboard.nextDouble (); System.out.print("Enter credits for second course: "); double credits2 = keyboard.nextDouble (); System.out.print("Enter grade for second course: "); double grade2 = keyboard.nextDouble(); // Compute the GPA double qualityPoints = (credits1 * grade1) + (credits2 * grade2); double GPA = qualityPoints / (credits1 + credits2); // Show the result System.out.println(); System.out.println("GPA for these two courses: "); System.out.println(GPA); } } Output Enter credits for first course: 3.0 Enter grade for first course: 4.0 Enter credits for second course: 2.0 Enter grade for second course: 3.0 GPA for these two courses 3.6 Self-Check 2-4. Write a complete Java program that prompts for a number from 0.0 to 1.0 and echos (prints) the user's input. The dialog generated by your program should look like this: Enter relativeError [0.0 through 1.0]: 0.341 You entered: 0.341 2-5. Write the output generated by the following program: public class Arithmetic { public static void main(String[] args) { double x = 1.2; double y = 3.4; System.out.println(x + y); System.out.println(x - y); System.out.println(x * y); } } 2-6. Write the complete dialog (program output and user input) generated by the following program when the user enters each of these input values for sale: a. 10.00 b. 12.34 c. 100.00 import java.util.Scanner; public class InputProcessOutput { public static void main(String[] args) { double sale = 0.0; double tax = 0.0; double total = 0.0; double TAX_RATE = 0.07; Scanner keyboard = new Scanner(System.in); // I)nput System.out.print("Enter sale: "); sale = keyboard.nextDouble(); // User enters 10.00, 12.34, or 100.00 // P)rocess tax = sale * TAX_RATE; total = sale + tax; // O)utput System.out.println("Sale: " + sale); System.out.println("Tax: " + tax); System.out.println("Total: " + total); } } 2-7 Evaluate the following arithmetic expressions: double x = 2.5; double y = 3.0; -a x * y + 3.0 -d 1.5 * ( x - y ) -b 0.5 + x / 2.0 -e y + -x -c 1.0 + x * 3.0 / y -f ( x - 2.0 ) * ( y - 1.0 ) int Arithmetic A variable declared as int can store a limited range of whole numbers (numbers without fractions). Java int variables store integers in the range of -2,147,483,648 through 2,147,483,647 inclusive. All int variables have operations similar to double (+, *, -, =), but some differences do exist, and there are times when int is the correct choice over double. For example, a fractional remainder cannot be stored in an int. In fact, you cannot assign a floating-point literal or double variable to an int variable. If you do, the compiler complains with an error. int anInt = 1.999; // ERROR int anotherInt = 0.0; // ERROR The / operator has different meanings for int and double operands. Whereas the result of 3 / 4 is 0, the result of 3.0 / 4.0 is 0.75. Two integer operands with the / operator have an integer resultnot a floating-point result, as in the latter example. When writing programs, remember to choose an int or double data type correctly, in order to appropriately reflect the type of value you would like to store. The remainder operationsymbolized with the % (modulus) operatoris also available for both int and double operands. For example, the result of 18 % 4 is the integer remainder after dividing 18 by 4, which is 2. Integer arithmetic is illustrated in the following code, which shows % and / operating on integer expressions, and / operating on floating-point operands. In this example, the integer results describe whole hours and whole minutes rather than the fractional equivalent. public class DivMod { public static void main(String[] args) { int totalMinutes = 254; int hours = totalMinutes / 60; int minutes = totalMinutes % 60; System.out.println(totalMinutes + " minutes can be rewritten as "); System.out.println(hours + " hours and " + minutes + " minutes"); } } Output 254 minutes can be rewritten as 4 hours and 14 minutes The preceding program indicates that even though ints and doubles are similar, there are times when double is the more appropriate type than int, and vice versa. The double type should be specified when you need a numeric variable with a fractional component. If you need a whole number, select int. Mixing Integer and Floating-Point Operands Whenever integer and floating-point values are on opposite sides of an arithmetic operator, the integer operand is promoted to its floating-point equivalent. The integer 6, for example, becomes 6.0, in the case of 6 / 3.0. The resulting expression is then a floating-point number, 2.0. The same rule applies when one operand is an int variable and the other a double variable. Here are a few examples of expression with the operands are a mix of int and double. public class MixedOperands { public static void main(String[] args) { int number = 9; double sum = 567.9; System.out.println(sum / number); // Divide a double by an int System.out.println(number / 2); // Divide an int by an int System.out.println(number / 2.0); // Divide an int by a double System.out.println(2.0 * number); // Result is a double: 18.0 not 18 } } Output 63.099999999999994 4 4.5 18.0 Expressions with more than two operands will also evaluate to floating-point values if one of the operands is floating-pointfor example, (8.8/4+3) = (2.2 + 3) = 5.2. Operator precedence rules also come into playfor example, (3 / 4 + 8.8) = (0 + 8.8) = 8.8. Self-Check 2-8 Evaluate the following expressions. -a 5 / 9 -f 5 / 2 -b 5.0 / 9 -g 7 / 2.5 * 3 / 4 -c 5 / 9.0 -h 1 / 2.0 * 3 -d 2 + 4 * 6 / 3 -i 5 / 9 * (50.0 - 32.0) -e (2 + 4) * 6 / 3 -j 5 / 9.0 * (50 - 32) The boolean Type Java has a primitive boolean data type to store one of two boolean literals: true and false. Whereas arithmetic expressions evaluate to a number, boolean expressions, such as credits > 60.0, evaluate to one of these boolean values. A boolean expression often contains one of these relational operators: Operator Meaning < Less than > Greater than <= Less than or equal to >= Greater than or equal to == Equal to != Not equal to When a relational operator is applied to two operands that can be compared to one another, the result is one of two possible values: true or false. The next table shows some examples of simple boolean expressions and their resulting values. Boolean Expression Result double x = 4.0; x < 5.0 true x > 5.0 false x <= 5.0 true 5.0 == x false x != 5.0 true Like primitive numeric variables, boolean variables can be declared, initialized, and assigned a value. The assigned expression must be a boolean expressionthus, the result of the expression must also evaluate to true or false. This is shown in the initializations, assignments, and output of three boolean variables in the following code: // Initialize three boolean variables to false boolean ready = false; boolean willing = false; boolean able = false; double credits = 28.5; double hours = 9.5; // Assign true or false to all three boolean variables ready = hours >= 8.0; willing = credits > 20.0; able = credits <= 32.0; System.out.println("ready: " + ready); System.out.println("willing: " + willing); System.out.println("able: " + able); Output ready: true willing: true able: true Self-Check 2-9 Evaluate the following expressions to their correct value. int j = 4; int k = 7; a. (j + 4) == k e. j < k b. j == 0 f. j == 4 c. j >= k g. j == (j + k - j) d. j != k h. (k - 5) <= (j + 2) Boolean Operators Java has three boolean operators! to represent logical not, to represent logical or, and && to represent logical and. These three Boolean operators allow us to write more complex boolean expressions to express our intentions. For example, this boolean expression shows the boolean and operator (&&) applied to two boolean operands to determine if test is in the range of 0 through 100 inclusive. (test >= 0) && (test <= 100) Used in assertions, this Boolean expression evaluates to true when test is 97 and false when test is 977: When test is 97 When test is 977 (test >= 0) && (test <= 100) (test >= 0) && (test <= 100) ( 97 >= 0) && ( 97 <= 100) (977 >= 0) && (977 <= 100) true && true true && false true false Since there are only two Boolean values, true and false, the following table shows every possible combination of Boolean values and operators !, , and &&: ! boolean not operator Expression Result ! false true ! true false boolean or operator Expression Result true true true true false true false true true false false false && boolean and operator Expression Result true && true true true && false false false && true false false && false false Precedence Rules Programming languages have operator precedence rules governing the order in which operators are applied to operands. For example, in the absence of parentheses, the relational operators >= and <= are evaluated before the && operator. Most operators are grouped (evaluated) in a left-to-right order: a/b/c/d is equivalent to (((a/b)/c)/d). Table 6.1 lists some (though not all) of the Java operators in order of precedence. The dot . and () operators are evaluated first (have the highest precedence), and the assignment operator = is evaluated last. This table shows all of the operators used in this textbook (however, there are more). Precedence rules for operators some levels of priorities are not shown Precedence Operator Description Associativity 1 . Member reference Left to right () Method call 2 ! Unary logical complement (not) Right to left + Unary plus - Unary minus 3 new Constructor of objects 4 * Multiplication Left to right / Division % Remainder 5 + Addition (for int and double) Left to right + String concatenation - Subtraction 7 < Less than Left to right <= Less than or equal to > Greater than >= Greater than or equal to 8 == Equal Left to right != Not equal 12 && Boolean and Left to right 13 Boolean or Left to right 15 = Assignment Right to left These elaborate precedence rules are difficult to remember. If you are unsure, use parentheses to clarify these precedence rules. Using parentheses makes the code more readable and therefore more understandable that is more easily debugged and maintained. Self-Check 2-10 Evaluate the following expressions to true or false: a. false true b. true && false c. (1 * 3 == 4 2 != 2) d. false true && false e 3 < 4 && 3 != 4 f. !false && !true g. (5 + 2 > 3 * 4) && (11 < 12) h. ! ((false && true) false) 2-11 Write an expression that is true only when an int variable named score is in the range of 1 through 10 inclusive. Errors There are several categories of errors encountered when programming: syntax errorserrors that occur when compiling source code into byte code intent errorsthe program does what you typed, not what you intended exceptionerrors that occur as the program executes When programming, you will be writing source code using the syntax for the Java programming language. This source code is translated into byte code by the compiler, and is then stored in a .class file. The byte code is the same for each computer system. For this byte code to execute, another program, called the Java virtual machine (JVM), translates the Java byte code into instructions understood by that computer. This extra step is necessary for one of the main advantages of Java: the same program can run in any computing environment! A computer might be running Windows, MacOS, Solaris, Unix, or Linuxeach computer system has its own Java virtual machine program. Having a particular Java virtual machine for each computer system also allows the same Java .class file to be transported around the Internet. The following figure shows the levels of translation needed in order to get executable programs to run on most computers. From Source Code to a Program that Runs on Many Computers  1. The programmer translates algorithms into Java source code. 2. The compiler translates the source code into byte code. 3. The Java virtual machine translates byte code into the instructions understood by the computer system (Solaris, Unix, Linux, Mac OS, or Windows). Syntax Errors Detected at Compile Time When you are compiling source code or running your program on a computer, errors may crop up. The easiest errors to detect and fix are the errors generated by the compiler. These are syntax errors that occur during compile time, the time at which the compiler is examining your source code to detect and report errors, and/or to attempt to generate executable byte code from error-free source code. A programming language requires strict adherence to its own set of formal syntax rules. It is not difficult for programmers to violate these syntax rules! All it takes is one missing { or ; to foul things up. As you are writing your source code, you will often use the compiler to check the syntax of the code you wrote. While the Java compiler is translating source code into byte code so that it can run on a computer, it is also locating and reporting as many errors as possible. If you have any syntax errors, the byte code will not be generatedthe program simply cannot run. If you are using the Eclipse integrated development, you will see compile time errors as you type, sometimes because you haven't finished what you were doing. To get a properly running program, you need to first correct ALL of your syntax errors. Compilers generate many error messages. However, it is your source code that is the origin of these errors. Small typographical (and human) mistakes can be responsible for much larger roadblocks, from the compilers perspective. Whenever your compiler appears to be nagging you, remember that the compiler is there to help you correct your errors! The following program attempts to show several errors that the compiler should detect and report. Because error messages generated by compilers vary among systems, the reasons for the errors below are indexed with numbers to explanations that follow. Your system will certainly generate quite different error messages. // This program attempts to convert pounds to UK notation. // Several compile time errors have been intentionally retained. public class CompileTimeErrors { public static void main(String[] args) { System.out.println("Enter weight in pounds: ") u int pounds = keyboard.nextInt()v; System.out.print("In the U.K. you weighw); System.out.print(xPounds / 14 + " stone, "ypounds % 14); } } u A semicolon (;) is missing v keyboard was not declared w A double quote (") is missing x pounds was written as Pounds y The extra expressions require a missing concatenation symbol (+) Syntax errors take some time to get used to, so try to be patient and observe the location where the syntax error occurred. The error is usually near the line where the error was detected, although you may have to fix preceding lines. Always remember to fix the first error first. An error that was reported on line 10 might be the result of a semicolon that was forgotten on line 5. The corrected source code, without error, is given next, followed by an interactive dialog (user input and computer output): // This program converts pounds to the UK weight measurement. import java.util.Scanner; public class ErrorFree { public static void main(String[] args) { Scanner keyboard = new Scanner(System.in); System.out.print("Enter weight in pounds: "); int pounds = keyboard.nextInt(); System.out.print("In the U.K. you weigh "); System.out.println((pounds / 14) + " stone, " + (pounds % 14)); } } Dialog Enter weight in pounds: 146 In the U.K. you weigh 10 stone, 6 A different type of error occurs when String[] args is omitted from the main method: public static void main() When the program tries to run, it looks for a method named main with (String[] identifier). If you forget to write String[] args, you would get the error below shown after the program begins. The same error occurs if main has an uppercase M. Exception in thread "main" java.lang.NoSuchMethodError: main This type of error, which occurs while the program is running, is known as an exception. Exceptions After your program compiles with no syntax errors, you will get a .class file containing the byte code that can be run on the Java virtual machine. The virtual machine can be invoked by issuing a Java command with the .class file name. For example, entering the command java ErrorFree at your operating system prompt will run the above program, assuming that you have a Java runtime environment (jre) installed on your computer and that the file ErrorFree.class exists. However, when a program runs, errors may still occur. If the user enters a string that is supposed to be a number, what is the program to do? If the user enters "1oo" instead of "100" for example, is the program supposed to assume that the user meant 100? What should happen when the user enters "Kim" instead of a number? What should happen when an arithmetic expression results in division by zero? Or when there is an attempt to read from a file on a disk, but there is no disk in the drive, or the file name is wrong? Such events that occur while the program is running are known as exceptions. One exception was shown above. The main method was valid, so the code compiled. However, when the program ran, Javas runtime environment was unable to locate a main method with String[] args. The error could not be discovered until the user ran the program, at which time Java began attempted to locate the beginning of the program. If Java cannot find a method with the following line of code, a runtime exception occurs and the program terminates prematurely. public static void main(String[] args) Now consider another example of an exception that occurs while the program is running. The output for the following code indicates that Java does not allow integer division by zero. The compiler does a lot of things, but it does not check the values of variables. If, at runtime, the denominator in a division happens to be 0, an ArithmeticException occurs. public class AnArithmeticException { public static void main(String[] args) { // Integer division by zero throws an ArithmeticException int numerator = 5; int denominator = 0; int quotient = numerator / denominator; // A runtime error System.out.println("This message will not execute."); } } Output Exception in thread "main" java.lang.ArithmeticException: / by zero at A.main(A.java:8) When you encounter one of these exceptions, consider the line number (7) where the error occurred. The reason for the exception (/ by zero) and the name of the exception (ArithmeticException) are two other clues to help you figure out what went wrong. Intent Errors (Logic Errors) Even when no syntax errors are found and no runtime errors occur, the program still may not execute properly. A program may run and terminate normally, but it may not be correct. Consider the following program: // This program finds the average given the sum and the size import java.util.Scanner; public class IntentError { public static void main(String[] args) { double sum = 0.0; double average = 0.0; int number = 0; Scanner keyboard = new Scanner(System.in); // Input: System.out.print("Enter sum: "); sum = keyboard.nextDouble(); System.out.print("Enter number: "); number = keyboard.nextInt(); // Process average = number / sum; // Output System.out.println("Average: " + average); } } Dialog Enter sum: 291 Enter number: 3 Average: 0.010309278350515464 Such intent errors occur when the program does what was typed, not what was intended. The compiler cannot detect such intent errors. The expression number / sum is syntactically correctthe compiler just has no way of knowing that this programmer intended to write sum / number instead. Intent errors, also known as logic errors, are the most insidious and usually the most difficult errors to correct. They also may be difficult to detectthe user, tester, or programmer may not even know they exist! Consider the program controlling the Therac 3 cancer radiation therapy machine. Patients received massive overdoses of radiation resulting in serious injuries and death, while the indicator displayed everything as normal. Another infamous intent error involved a program controlling a probe that was supposed to go to Venus. Simply because a comma was missing in the Fortran source code, an American Viking Venus probe burnt up in the sun. Both programs had compiled successfully and were running at the time of the accidents. However, they did what the programmers had writtenobviously not what was intended. Answers to Self-Check Questions 2-1 -a VALID -i Periods (.) are not allowed. -b cant start an identifier with digit 1 -j VALID -c VALID -k Cant start identifiers with a digit. -d . is a special symbol. -l A space is not allowed. -e A space is not allowed. -m VALID but not very clear -f VALID -n VALID but not very clear -g ( ) are not allowed. -o / is not allowed. -h VALID -p VALID (but don't use it, Java already does) 2-2 Which of the following are valid Java comments? -a // Is this a comment? Yes -b / / Is this a comment? No, there is a space between the slashes -c /* Is this a comment? No, the closing */ is missing -d /* Is this a comment? */ Yes 2-3 a VALID e VALID b attempts to assign a floating-point to an int. f valid c attempts to assign a string to an int g attempts to assign a string to a double. d VALID h VALID 2-4 import java.util.Scanner; public class RelativeError { // Your class name may vary public static void main(String[] args) { Scanner keyboard = new Scanner(System.in); System.out.print("Enter relativeError [0.0 through 1.0]: "); double relativeError = keyboard.nextDouble(); System.out.print("You entered: " + relativeError); } } 2-5 4.6 -2.2 4.08 2-6 a. 10.00 Enter sale: 10.00 Sale: 10.0 Tax: 0.7 Total: 10.7b. 12.34 Enter sale: 12.34 Sale: 12.34 Tax: 0.8638 Total: 13.2038c. 100.00 Enter sale: 100.00 Sale: 100.0 Tax: 7.0 Total: 107.0 2.7 -a 10.5 -d -0.75 -b 1.75 -e 0.5 -c 3.5 -f 1.0 2-8 -a 0 -f 2 -b 0.55556 -g 2.1 -c 0.55556 -h 1.5 -d 10 -i 0.0 5/9 is 0, 0*18.0 is 0.0 -e 12 -j 10.0 2-9 -a K P f k  " ( / ' N P ɺ쟏c;hB"h(h5B* CJOJQJ\^J_H aJnH phUtH htAQh(h6CJ]aJhtAQh(hCJOJQJ\aJ h(h6]h(hOJQJ^Jh(hOJQJaJh(h6CJOJQJ]aJh(hCJOJQJaJ h(h\ h(h5h;h(hCJOJQJh(hh(hCJ@aJ@h(hCJ0aJ0 $Z  N  J Kd^gd(hK^gd(h@^gd(hgd(h^gd(hgd(h & F h^hgd(h[gd(hgd(hDgd(h    J L P Q ^ k r - ݿݴ݋{l^llZUZNZ h(h5\ h(h\h(hhh(h6CJ]aJhtAQh(hCJOJQJaJhB"h(hCJOJQJ\aJ5hB"h(hB*CJOJQJ^J_H aJnH phtH htAQh(h6CJ]aJhtAQh(hCJaJ;hB"h(h5B* CJOJQJ\^J_H aJnH phUtH htAQh(hCJOJQJ\aJ#htAQh(hCJOJQJ]^JaJJ N P h 67XY"Ns *$1$7$8$H$gd(h 1$7$8$H$gd(hgd(h & F gd(hgd(hgd(h Id^gd(h Kd^gd(h- D E Y Z \ ] _ ` "57=>CWY[abhimqVqVqVVqVqVqVVV5hRwh(hB*CJOJQJ^J_H aJnH phtH ;hRwh(h5B* CJOJQJ\^J_H aJnH phUtH ,hRwh(hCJOJQJ^J_H aJnH tH 5hRwh(hB*CJOJQJ^J_H aJnH ph?_tH /h(hB*CJOJQJ^J_H aJnH ph?_tH h(h5OJQJ\aJh(h h(h5\h(h5CJOJQJ\aJ!!"&-07ƨƑvW5WCh8h(h6B* CJOJQJ]^J_H aJmHnH phsHtH =h8h(hB*CJOJQJ^J_H aJmHnH phsHtH 5hRwh(hB*CJOJQJ^J_H aJnH ph?_tH ,hRwh(hCJOJQJ^J_H aJnH tH ;hRwh(h6B* CJOJQJ]^J_H aJnH phtH 5hRwh(hB*CJOJQJ^J_H aJnH phtH ;hRwh(h5B* CJOJQJ\^J_H aJnH phUtH  7KMNRUrxmV;VmmV;Vm5hRwh(hB*CJOJQJ^J_H aJnH ph?_tH ,hRwh(hCJOJQJ^J_H aJnH tH 5hRwh(hB*CJOJQJ^J_H aJnH phtH ;hRwh(h5B* CJOJQJ\^J_H aJnH phUtH 4h8h(hCJOJQJ^J_H aJmHnH sHtH =h8h(hB*CJOJQJ^J_H aJmHnH phsHtH =h8h(hB*CJOJQJ^J_H aJmHnH ph*sHtH st$%qSgd(hgd(h_gd(h ? d ^gd(h_^gd(h *$1$7$8$H$gd(h%ƫƔuZA6%6 h8h(h56\]mHsHh8h(hmHsH1h8h(hB*^J_H aJmHnH phsHtH 4h8h(hCJOJQJ^J_H aJmHnH sHtH =h8h(hB*CJOJQJ^J_H aJmHnH phsHtH ,hRwh(hCJOJQJ^J_H aJnH tH 5hRwh(hB*CJOJQJ^J_H aJnH ph*tH 5hRwh(hB*CJOJQJ^J_H aJnH phtH ;hRwh(h6B* CJOJQJ]^J_H aJnH phtH  %pwbj ҶҚ҅wphbhbbҶҚ҅\ h(hCJ h(haJh(h0JCJ h]@h(hh(hCJOJQJ^JaJ(hD:Zh(hCJOJQJ^J_H nH tH 7hD:Zh(h6B* CJOJQJ]^J_H nH phtH 7hD:Zh(h5B* CJOJQJ\^J_H nH phUtH 1hD:Zh(hB*CJOJQJ^J_H nH phtH h(hCJOJQJaJ h(h5h(h$Yoq  '(HNOUVZr D𞃞hQK h(hCJ,h]@h(hCJOJQJ^J_H aJnH tH 5h]@h(hB*CJOJQJ^J_H aJnH ph?_tH 5h]@h(hB*CJOJQJ^J_H aJnH phtH ;h]@h(h5B* CJOJQJ\^J_H aJnH phUtH  j-h(hh(h5CJOJQJ\aJh(h6CJ]aJ h(h6]h(hCJOJQJaJh(hh(hCJOJQJaJq0Lc} & F gd(hxgd(h *$1$7$8$H$gd(hK L@ ^gd(hM L@ ^gd(h[gd(hgd(hgd(hWgd(hSgd(h I^gd(h@^gd(hDJ&(./56:;@AGHKLgVWXZ[abq|ۤh(h0JCJh(hCJOJQJaJ1hD:Zh(hB*CJOJQJ^J_H nH ph*tH ;hD:Zh(h5B* CJOJQJ\^J_H aJnH phUtH  h(haJh(hCJOJQJaJh(hCJaJh(h h(h5\6}()`lCD; N!!!!("["P*$1$7$8$H$]Pgd(h _P]P^gd(h > L[^gd(h & F gd(hSgd(h_gd(hWgd(hgd(h[gd(h & F gd(hn o p x y z ~  !!!!"!n!s!u!z!!!!!U"V"["o"|""""""""""#׼mmm,hD:Zh(hCJOJQJ^J_H aJnH tH 5hD:Zh(hB*CJOJQJ^J_H aJnH ph?_tH 9hD:Zh(hB*CJNHOJQJ^J_H aJnH phtH 5hD:Zh(hB*CJOJQJ^J_H aJnH phtH  hD:Zh(hh(hCJOJQJaJh(hCJOJQJaJh(h h(hCJ*["o""""##.%C%&&&&#'H'g''Z(c(R)S)))Wgd(h > L^gd(hgd(h[gd(hSgd(h *$1$7$8$H$gd(h > L^gd(h###v#z#}####p${$$$$$$$%%&%,%%%%%&&&&&&&&&&&&&߰www`w,hD:Zh(hCJOJQJ^J_H aJnH tH 5hD:Zh(hB*CJOJQJ^J_H aJnH phtH ;hD:Zh(h5B* CJOJQJ\^J_H aJnH phUtH (hD:Zh(hCJOJQJ^J_H nH tH h(hCJOJQJaJh(h0JCJ h(h0Jh(h h(hCJ,hD:Zh(hCJOJQJ^J_H aJnH tH %&&&&&&''''''"'#'(','0'5'?'A'G'H'L'Q'X'Z']'b'f'g'l'p'u'y'}'''''''(((S))ƯƯƯƯƯ1hD:Zh(hB*CJOJQJ^J_H nH ph*tH h(hCJOJQJaJ h(h0Jh(h,hD:Zh(hCJOJQJ^J_H aJnH tH ;hD:Zh(h5B* CJOJQJ\^J_H aJnH phUtH 5hD:Zh(hB*CJOJQJ^J_H aJnH phtH -))G*H*I*j*l*m***++++&+E++++++++++++++++++++,,,,⫒vvavaa(hD:Zh(hCJOJQJ^J_H nH tH 7hD:Zh(h5B* CJOJQJ\^J_H nH phUtH 1hD:Zh(hB*CJOJQJ^J_H nH ph*tH 1hD:Zh(hB*CJOJQJ^J_H nH phtH  h(h5\ h(h0Jh(hCJ EHaJ h(hH*aJh(h1hh(hB*CJOJQJ^J_H nH ph*tH &))&+E++++,*,Y,Z,,,%-&----%.&..._gd(h & Fgd(h[gd(hgd(h *$1$7$8$H$gd(hM L8 ,^gd(hSgd(hWgd(h,",&,),*,A,R,U,Y,Z,,,,,,,.........//B/C/E/楠}}bKbKbKbKb,h;h(hCJOJQJ^J_H aJnH tH 5h;h(hB*CJOJQJ^J_H aJnH ph?_tH h(hCJOJQJaJh(h h(haJh(hCJOJQJ\^J h(h\$hD:Zh(hOJQJ^J_H nH tH (hD:Zh(hCJOJQJ^J_H nH tH 1hD:Zh(hB*CJOJQJ^J_H nH phtH 1hD:Zh(hB*CJOJQJ^J_H nH ph*tH .../C/F/G/Z0[0000011 1 11112.2E2 c^gd(h c^`gd(hbgd(hSgd(hgd(hWgd(h *$1$7$8$H$gd(hE/F/G/p/r/[0000000000000000000ܷkRkRkRkRkRR1hD:Zh(hB*CJOJQJ^J_H nH phtH 7hD:Zh(h5B* CJOJQJ\^J_H nH phUtH (hD:Zh(hCJOJQJ^J_H nH tH 5hD:Zh(hB*CJNHOJQJ^J_H nH ph?_tH 1hD:Zh(hB*CJOJQJ^J_H nH ph?_tH h(hCJOJQJaJh(hhoh(hCJ,h;h(hCJOJQJ^J_H aJnH tH 00011111 1 1111122!2"2&2,2.23262<2>2D2E2J2M2R2T2Z2[2b2ʱʜʜʜʜxix^x^xh;h(hOJQJh;h(hCJOJQJaJh(hCJOJQJh;h(hCJOJQJh;h(hCJh(h(hD:Zh(hCJOJQJ^J_H nH tH 1hD:Zh(hB*CJOJQJ^J_H nH ph*tH 1hD:Zh(hB*CJOJQJ^J_H nH phtH 7hD:Zh(h6B* CJOJQJ]^J_H nH phtH !E2[2|222222&3A3\3w3335=6T66 *$1$7$8$H$gd(hK ]^gd(hM ]^gd(hSgd(h^gd(h c^gd(h c^gd(hc^gd(h c^gd(hb2d2e2g2r2|222222222222222222222&3*3A3D3\3a3w333445"5=6F6R6S6T6X666𦝑uu7hRwh(h5B* CJOJQJ\^J_H nH phUtH hRwh(h5CJ\hRwh(hCJhRwh(h5CJ\aJh(hCJOJQJaJ h(h5\h;h(hCJh;h(hOJQJh;h(hCJOJQJh(hOJQJh(hh(hCJOJQJaJ.666)787~7777S8T8888889Q::K^gd(h@^gd(hgd(hM ]^gd(hK ]^gd(h K]^gd(h *$1$7$8$H$gd(h66666)787=7e7~777777777788$8D8I8N8R8S8T88kk\SOh(hhD:Zh(hCJhRwh(hCJOJQJaJ7h;h(h5B* CJOJQJ\^J_H nH phUtH 1h;h(hB*CJOJQJ^J_H nH ph*tH ?h8h(h5B* CJOJQJ\^J_H mHnH phUsHtH h8h(hCJmHsHhRwh(h5CJ\aJ7hRwh(h5B* CJOJQJ\^J_H nH phUtH hRwh(hCJ88888888 :Q:`:a:l::::::::::::; ;5;:;=;;t;hhYh;h(hCJOJQJ^Jh(hCJOJQJaJh(h5CJ\aJh(h56CJ\]aJh(hCJOJQJaJ1h#dh(hB*CJOJQJ^J_H nH ph?_tH h(hCJOJQJaJh(h5CJOJQJ\aJh(h6CJ]aJ h(h6]h(hhD:Zh(hCJhg#h(hCJhg#h(h5CJ::<;=;J;a;p;q;;;; << <<<o==@^gd(h[gd(hSgd(h K L~ ^gd(hM L~ ^gd(h_^gd(h *$1$7$8$H$gd(hWgd(hgd(hI]^gd(h=;@;J;P;a;g;p;;;;; <<<<<<7=8=C=l=m=}==========>|qiZiqZS h(h6]h(h5CJOJQJ\aJh(hCJaJh(h6CJ]aJ h(h6 h(haJ h(h5\5h;h(hB*CJOJQJ^J_H aJnH ph?_tH h(hCJOJQJaJh(h h;h(h+h;h(h5B* \^J_H nH phUtH h;h(hCJOJQJ7h;h(h5B* CJOJQJ\^J_H nH phUtH  ==>>>>/?0?T@c@m@w@@xAyAABB *$1$7$8$H$gd(hI L2 ^gd(h K L2 ^gd(hM L2 ^gd(hd*$1$7$8$H$]gd(hWgd(hSgd(h I^gd(h>>p>v>>>>>>>>>>?.?/?0????еееx]H)hRwh(hB*^J_H aJnH phtH 5hRwh(hB*CJOJQJ^J_H aJnH phtH h:1h(hCJaJ5hh(hB*CJOJQJ^J_H aJnH ph?_tH ,hh(hCJOJQJ^J_H aJnH tH 5hh(hB*CJOJQJ^J_H aJnH phtH ;hh(h5B* CJOJQJ\^J_H aJnH phUtH h(h0JCJh(h h(h0J????S@T@c@@@rAuAyAAAAAAϽw\wA*,h;h(hCJOJQJ^J_H aJnH tH 5h;h(hB*CJOJQJ^J_H aJnH ph?_tH 5h;h(hB*CJOJQJ^J_H aJnH ph*tH 5h;h(hB*CJOJQJ^J_H aJnH phtH h(h0JCJh(hCJaJh(hCJOJQJaJh:1h(hCJ aJ h(h#h(hB*^J_H aJnH phtH )hRwh(hB*^J_H aJnH phtH 5hRwh(hB*CJOJQJ^J_H aJnH phtH AAAABBBBlBoBuBBBBɬɕvrTHr*;hRwh(h5B* CJOJQJ\^J_H aJnH phUtH h(hCJOJQJaJ;h;h(h5B* CJOJQJ\^J_H aJnH phUtH h(hh;h(hCJh;h(hCJ\h(hfHq ,h;h(hCJOJQJ^J_H aJnH tH 9h;h(hB*CJNHOJQJ^J_H aJnH ph?_tH 5h;h(hB*CJOJQJ^J_H aJnH ph?_tH 5h;h(hB*CJOJQJ^J_H aJnH phtH  BBlBBBBBB0CGCiEEEEgHhHH *$1$7$8$H$gd(hgd(hSgd(h I^gd(hK^gd(h@^gd(h*$gd(h[gd(hV 8xe]^e`gd(h xgd(h Fdgd(hb(gd(hBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCC/CCCCCDD:E?EDEKE]EgEwEEEEEEEEEԻԻԻԴ h(hCJh(h0JCJh(h6CJ]aJh(h5CJOJQJ\aJ h(h6]h(hCJOJQJ^J h(hNH h(h5\h(hh(hCJOJQJaJ5hRwh(hB*CJOJQJ^J_H aJnH phtH 7EFFGG#G*GdGgGiGoGqGuGwG~GGGGGGGGGGGhHoHrHyHHHH~c5hD:Zh(hB*CJOJQJ^J_H aJnH ph?_tH 5hD:Zh(hB*CJOJQJ^J_H aJnH ph*tH ;hD:Zh(h6B* CJOJQJ]^J_H aJnH phtH 5hD:Zh(hB*CJOJQJ^J_H aJnH phtH  h(hCJh(h0JCJ h(h0Jhh(hCJOJQJ^J h(h5\h(hHHHHHHHPJWJXJgJqJJJJKKK#KKKKKeLlLLLLMΰΕ鑅wmgmamYMh(hCJOJQJaJh(h0JCJ h(h0J h(hCJh(hCJOJQJh(hCJOJQJ^JaJh(hCJOJQJ^Jh(h5hD:Zh(hB*CJOJQJ^J_H aJnH ph?_tH ;hD:Zh(h6B* CJOJQJ]^J_H aJnH phtH 5hD:Zh(hB*CJOJQJ^J_H aJnH phtH ,hD:Zh(hCJOJQJ^J_H aJnH tH HHHJMLLLMDMEMMM'NnNO PIPPP 1$7$8$H$gd(h>^gd(h I^gd(hK^gd(h@^gd(hSgd(hgd(h >]^gd(hgd(h[gd(h *$1$7$8$H$gd(hMMMM+M.M>M@MCMDMMMMMMMMMMǰwYUMUFUFUF9h(h6OJQJ]^J h(h6]h(h0JCJh(h;hD:Zh(h6B* CJOJQJ]^J_H aJnH phtH ;hD:Zh(h5B* CJOJQJ\^J_H aJnH phUtH 5hD:Zh(hB*CJOJQJ^J_H aJnH phtH ,hD:Zh(hCJOJQJ^J_H aJnH tH 5hD:Zh(hB*CJOJQJ^J_H aJnH ph?_tH 9hD:Zh(hB*CJNHOJQJ^J_H aJnH ph?_tH MNNNN#N'NJNKNLNONZN[NkNlNnNNNYkYS & F dgd(h[gd(h_^gd(h?^gd(h *$1$7$8$H$gd(hgd(hSgd(h I^gd(h@^gd(hgd(h$U'U.U?UEUWUXUUUUUUUUUUUVVV$V%V4V5VƫƐyƐyƫƐyƐyj^S=*hH h(h5B* CJ\]mHphsHhH h(hmHsHhH h(h5mHsHhH h(hCJaJmHsH,hD:Zh(hCJOJQJ^J_H aJnH tH 5hD:Zh(hB*CJOJQJ^J_H aJnH ph?_tH 5hD:Zh(hB*CJOJQJ^J_H aJnH ph*tH 5hD:Zh(hB*CJOJQJ^J_H aJnH phtH ;hD:Zh(h6B* CJOJQJ]^J_H aJnH phtH 5V6VCVGVHV~VVWWWWY"YGZNZQZZZkZmZnZ~ZʻʠgP,hD:Zh(hCJOJQJ^J_H aJnH tH 5hD:Zh(hB*CJOJQJ^J_H aJnH ph*tH ;hD:Zh(h6B* CJOJQJ]^J_H aJnH phtH 5hD:Zh(hB*CJOJQJ^J_H aJnH phtH  h(h5\h(h0JCJh(h*hH h(h5B* CJ\]mHphsHhH h(hmHsH hH h(h56\]mHsHkYYYYY9ZnZZ[[\f\\\\\\O]n] @]^gd(h_gd(h?gd(hSgd(h *$1$7$8$H$gd(h K L gd(h K L gd(h@gd(hS & F dgd(h~ZZZZ[[\ \\\\'\G\ƯrW@";h"Kh(h5B* CJOJQJ\^J_H aJnH phUtH ,h"Kh(hCJOJQJ^J_H aJnH tH 5h"Kh(hB*CJOJQJ^J_H aJnH ph*tH ;h"Kh(h6B* CJOJQJ]^J_H aJnH phtH 5h"Kh(hB*CJOJQJ^J_H aJnH phtH h(h,hD:Zh(hCJOJQJ^J_H aJnH tH 5hD:Zh(hB*CJOJQJ^J_H aJnH phtH ;hD:Zh(h5B* CJOJQJ\^J_H aJnH phUtH  G\a\b\e\f\o\r\{\\\\\\7]M]]]m]n]䰕w\XNXBX;X h(h6]h(hCJOJQJaJh(h56\]h(h5h"Kh(hB*CJOJQJ^J_H aJnH ph*tH ;h"Kh(h6B* CJOJQJ]^J_H aJnH phtH 5h"Kh(hB*CJOJQJ^J_H aJnH phtH ,h"Kh(hCJOJQJ^J_H aJnH tH 9h"Kh(hB*CJNHOJQJ^J_H aJnH ph?_tH 5h"Kh(hB*CJOJQJ^J_H aJnH ph?_tH n]]]]]]]]]]]]]}^~^^^^^^^^^__ __K_Y_k_n_r_w_______________```-```aacch(hCJaJh(hCJOJQJaJh]@h(hCJh(hCJOJQJaJh(h5h#dh(hB*CJOJQJ^J_H aJnH ph?_tH h#dh(h5CJ\h#dh(h6CJ]"h#dh(h5CJOJQJ\aJ8n]]]]__:_[_w____`-`````a_gd(hgd(hI L ^gd(h K L ^gd(hM L ^gd(hgd(h[gd(h I]^gd(h K]^gd(haaccddBdddddefffggh0h1hMh *$1$7$8$H$gd(hSgd(h_gd(hgd(hgd(hI LTT^T`gd(hK LTT^T`gd(h>^gd(hcc d d d dddddsexeeeee$f2fffffffgggghh/hf5hD:Zh(hB*CJOJQJ^J_H aJnH phtH ;hD:Zh(h5B* CJOJQJ\^J_H aJnH phUtH 5hJh(hB*CJOJQJ^J_H aJnH ph?_tH /h(hB*CJOJQJ^J_H aJnH ph?_tH hNh(hCJaJ h(h0J h(h\h(hCJOJQJaJh(hh(hCJaJ/h1h7h8h=hLhNhPhVhWh]h^hbhxhyhhhhhhhhhhhhhi!i"i&i,iEi˰˰˰˰˰˰w鰒\˰5hD:Zh(hB*CJOJQJ^J_H aJnH ph*tH 5hD:Zh(hB*CJOJQJ^J_H aJnH ph?_tH ;hD:Zh(h6B* CJOJQJ]^J_H aJnH phtH 5hD:Zh(hB*CJOJQJ^J_H aJnH phtH ;hD:Zh(h5B* CJOJQJ\^J_H aJnH phUtH ,hD:Zh(hCJOJQJ^J_H aJnH tH  MhNhyhhhh"iOiiiijUjjjjjkk.kHkkkkkk_^gd(h?d^gd(h *$1$7$8$H$gd(hEiKiNiOiZi]idiiiiiiiiiiiiiiiiiijjjj'j*j1jRjTjUjYj_jvj̵̗|̵^̵̗|̵^̵̗|̵^;hD:Zh(h5B* CJOJQJ\^J_H aJnH phUtH 5hD:Zh(hB*CJOJQJ^J_H aJnH ph*tH ;hD:Zh(h6B* CJOJQJ]^J_H aJnH phtH ,hD:Zh(hCJOJQJ^J_H aJnH tH 5hD:Zh(hB*CJOJQJ^J_H aJnH phtH /h(hB*CJOJQJ^J_H aJnH phtH $vj|jjjjjjjjjjjjkkk-k.k9kn]nR*$1$7$8$H$^Rgd(hRRx^R`gd(hgd(hWgd(hR`gd(hb(gd(h _d^gd(h_^gd(h7l8lXlYldlmm;mAmSmmmmmmmmmmmmmmmmmmmmmmn n·…jjSjjjjSjjSjjSj,h"Kh(hCJOJQJ^J_H aJnH tH 5h"Kh(hB*CJOJQJ^J_H aJnH phtH ;h"Kh(h5B* CJOJQJ\^J_H aJnH phUtH htAQh(h56\] htAQh(hhtAQh(hOJQJh(hh(hfHq h(h^JaJfHq %h@FGh(h^JaJfHq h@FGh(h^JaJ nnnn*n-n=n>nInLn\n]n`nanbncnnn ooooo%o&o,o?o@oGoHoMocoeogomoƯƯƯƯƗuuuWƯWWƯW;h"Kh(h5B* CJOJQJ\^J_H aJnH phUtH "h(h56CJOJQJ\]aJh(hCJOJQJaJh(h/h(hB*CJOJQJ^J_H aJnH phtH ,h"Kh(hCJOJQJ^J_H aJnH tH 5h"Kh(hB*CJOJQJ^J_H aJnH phtH ;h"Kh(h6B* CJOJQJ]^J_H aJnH phtH "]nancno%o&o@oAodoeoooooo$p2pXppppppp*$1$7$8$H$^gd(hWgd(h ~ gd(hRgd(hR*$1$7$8$H$^Rgd(hmonotouoyooooooooooooooooooo ppp p#p$p(p1p2p=p@pGpUpv[5h"Kh(hB*CJOJQJ^J_H aJnH ph*tH 5h"Kh(hB*CJOJQJ^J_H aJnH ph?_tH ;h"Kh(h6B* CJOJQJ]^J_H aJnH phtH ,h"Kh(hCJOJQJ^J_H aJnH tH ;h"Kh(h5B* CJOJQJ\^J_H aJnH phUtH 5h"Kh(hB*CJOJQJ^J_H aJnH phtH #UpWpXp{pppppppppppppppqq qqqq)q,q5q@IѸѸѸѸѸѸѸѸѸ5hm9h(hB*CJNHOJQJ^J_H nH ph?_tH 7hm9h(h5B* CJOJQJ\^J_H nH phUtH 1hm9h(hB*CJOJQJ^J_H nH phtH (hm9h(hCJOJQJ^J_H nH tH 1hm9h(hB*CJOJQJ^J_H nH ph?_tH 'ILU^hiru~4=@ʱʜʱʜʱʆul`@?h8h(h5B* CJOJQJ\^J_H mHnH phUsHtH h(hCJOJQJaJh;h(hCJh;h(hCJOJQJh(h+h(hB*CJOJQJ^J_H nH phtH (hm9h(hCJOJQJ^J_H nH tH 1hm9h(hB*CJOJQJ^J_H nH ph*tH 1hm9h(hB*CJOJQJ^J_H nH phtH 7hm9h(h6B* CJOJQJ]^J_H nH phtH ĆІކ4H[xهڇ~ * M Lxgd(h Adxxgd(hAdgd(h[gd(h *$7$`gd(h *$1$7$8$H$gd(hFgd(hb<gd(h_gd(h_^gd(h@PS[]_nprxz|‡ćŇڇ )+휉vvreTeT!hjh(hB*OJQJaJphhjh(hB*aJphh(h$h\kh(hCJOJQJaJmHsH$h\kh(hCJOJQJaJmHsHh\kh(hCJaJmHsH$h8h(hCJOJQJaJmHsHh8h(hCJaJmHsH?h8h(h5B* CJOJQJ\^J_H mHnH phUsHtH $h8h(hCJOJQJaJmHsH +IK~ "&)* dȲ||||p|cXGXGXG!h| h(hB*OJQJaJphh| h(hB*phh| h(hB*aJphh(hCJOJQJaJh(hCJOJQJaJh(h(hjh(hCJOJQJ_HaJ$nH tH !h| h(hB*OJQJaJph+h(hB*CJOJQJ_HaJ$nH phtH 1h| h(hB*CJOJQJ_HaJ$nH phtH !hjh(hB*OJQJaJphhjh(hB*aJph*fۊ ċ֋ /D K LQ dgd(hM LQ dgd(hAdgd(h I Lgd(h K Lgd(h M Lgd(hWgd(hAgd(h IdHgd(hKdgd(hKgd(hċ֋ oqs.Íݍߍ+23DR~𿸮|ph| h(h6CJ]h]@h(hOJQJaJh| h(hCJh| h(hCJOJQJaJhjh(hOJQJaJhjh(h5\ hjh(hh| h(hCJ h(hCJOJQJaJh(hB*ph'h| h(h5B*OJQJ\aJphh(hh| h(hB*ph'DXoŒ֌S~ŏ~M LT_ ]^gd(h ]^gd(hSgd(h[gd(hI L dgd(h K L dgd(hM L dgd(hAdgd(hI LQ dgd(h K LQ dgd(h ďŏ()Y\gjx{ŐѐҐ()BF\_lpՑב $%&筣 h(hCJh;h(hCJh;h(hCJ\htAQh(hCJOJQJaJ h| h(hh| h(hCJh(hCJOJQJaJh(h5CJOJQJ\aJh(hh| h(hCJh| h(h5CJ]:&Ygvϐ&B\lґ b<gd(hSgd(hK LT_ d]^gd(h&KOSXZ\^lmr˓̓ϓѓ"%)X[kpƺƒ|u h(h5\h-Hh(hCJ hA3h(hOJQJaJh;h(hCJ\$hh(hCJOJQJaJmHsHhh(hmHsHhh(h\mHsHh(hhh(hCJOJQJaJ hjh(hhh(h\h;h(hCJOJQJaJh;h(hCJ. Zm̓#$%kSkd$$Ifl08:  t644 laF$If^`gd(h ,$If]^gd(h$If]^gd(hFgd(h %6|dߙK L;;^;`gd(hK L;;+^;`gd(hC]^gd(h@d<]^gd(hSgd(hgd(hS & F  dgd(hgd(h^gd(hFgd(h6C|ntudz !%&KǢȢkVV(hm9h(hCJOJQJ^J_H nH tH 5hm9h(hB*CJNHOJQJ^J_H nH ph?_tH 1hm9h(hB*CJOJQJ^J_H nH ph?_tH h(hCJOJQJaJh-h(h5 h(h5h(hCJaJ h6 h(hjdh(hU h(h6] h(h0J h(h\h(hCJaJh(hCJOJQJaJ h(h5\h(h!֚f KLȢP,48:vZ ^ gd(h *$1$7$8$H$gd(hgd(hSgd(h[gd(hI L;;^;`gd(hȢ΢ϢԢ-G JLNPzڤܤ *,246:<Xʵʵʜʒʒʵʜʒʜʵʵʵxhm9h(hCJaJhm9h(hCJOJQJaJh(hOJQJaJ1hm9h(hB*CJOJQJ^J_H nH ph*tH (hm9h(hCJOJQJ^J_H nH tH 1hm9h(hB*CJOJQJ^J_H nH phtH 7hm9h(h5B* CJOJQJ\^J_H nH phUtH *XZvxzԥ֥$24^žббоlP7h#Zh(h5B* CJPJ\^J_H aJnH phUtH 9h]h(hB*CJNHOJQJ^J_H aJnH ph?_tH 5h]h(hB*CJOJQJ^J_H aJnH ph?_tH h(hh-Hh(hCJhm9h(hOJQJaJ hm9h(hhm9h(hOJQJhm9h(haJhm9h(hOJQJaJhm9h(hCJaJhm9h(hCJOJQJaJ2]^Щѩ+,^ C  ^gd(h_^gd(h *$1$7$8$H$gd(h_gd(hgd(hZ ^ gd(héϩѩө٩ک&(*,7:A[]^beڪռռռռռռrռrr1hm9h(hB*CJOJQJ^J_H nH ph*tH 7hm9h(h6B* CJOJQJ]^J_H nH phtH (hm9h(hCJOJQJ^J_H nH tH 1hm9h(hB*CJOJQJ^J_H nH phtH 7hm9h(h5B* CJOJQJ\^J_H nH phUtH h(hh]h(hCJaJ, iv (5ɾdUh(h6CJOJQJ]aJ;h.h(h5B* CJOJQJ\^J_H aJnH phUtH h.h(hCJOJQJaJh(hCJOJQJaJh(hCJOJQJaJh(h h8h(h56\]mHsHh8h(hmHsH0h8h(hCJOJQJ^J_H mHnH sHtH 9h8h(hB*CJOJQJ^J_H mHnH phsHtH ?J"TU~ 9w *$1$7$8$H$gd(hx*$1$7$8$H$gd(h^gd(h 1$7$8$H$gd(hSgd(h[gd(h xd^gd(hgd(hxxgd(h4=JYZhi "&3@TU]^dei}~۸۲۲۫ۖx]x]x]TKhm9h(hCJh]@h(hCJ5h]@h(hB*CJOJQJ^J_H aJnH phtH ;h]@h(h5B* CJOJQJ\^J_H aJnH phUtH (h]@h(hCJOJQJ^J_H nH tH  hm9h(h h(h0Jh(h0JCJhtAQh(hCJOJQJaJ htAQh(h h(h5h(hh| h(hCJ-h| h(hB*CJOJQJ^J_H aJ$ph̴ߴ "8=ghvw{~ӵڵ۵׾׾󾩾׾׾׾u׾׾׾u5hm9h(hB*CJNHOJQJ^J_H nH ph?_tH 1hm9h(hB*CJOJQJ^J_H nH ph?_tH (hm9h(hCJOJQJ^J_H nH tH 1hm9h(hB*CJOJQJ^J_H nH phtH 7hm9h(h5B* CJOJQJ\^J_H nH phUtH htAQh(h0Jh(h& #$%&-Hepq|Ͷʱʜʜʜ}`}I}`}I@h;h(hCJ,hm9h(hCJOJQJ^J_H aJ$nH tH 8hm9h(h>*B* CJOJQJ^J_H aJ$nH phtH 5hm9h(hB*CJOJQJ^J_H aJ$nH phtH h(h(hm9h(hCJOJQJ^J_H nH tH 1hm9h(hB*CJOJQJ^J_H nH ph*tH 1hm9h(hB*CJOJQJ^J_H nH phtH 7hm9h(h6B* CJOJQJ]^J_H nH phtH  $&-quvθϸ,FZݹ_gd(h[gd(hgd(hh*$1$7$8$H$`hgd(h  M^gd(h *$1$7$8$H$gd(hͶζ 3Fv͸θϸոָ۸ +,06EFJMYZqtl5h(h5B* CJOJQJ\^J_H aJnH phUtH 5hD:Zh(hB*CJOJQJ^J_H aJnH phtH ;hD:Zh(h5B* CJOJQJ\^J_H aJnH phUtH ,hD:Zh(hCJOJQJ^J_H aJnH tH 5hD:Zh(hB*CJOJQJ^J_H aJnH ph?_tH h(hh(hCJOJQJ(ܹݹ%&*45PQU^_jmvƯƔyƯƯyƯƯƔƯƔyƯ5hD:Zh(hB*CJOJQJ^J_H aJnH ph*tH 5hD:Zh(hB*CJOJQJ^J_H aJnH ph?_tH ,hD:Zh(hCJOJQJ^J_H aJnH tH 5hD:Zh(hB*CJOJQJ^J_H aJnH phtH ;hD:Zh(h6B* CJOJQJ]^J_H aJnH phtH %ݹ&5Q_غں;]^G "YBd^`Bgd(hgd(hgd(hgd(h_^gd(h  M^gd(h *$1$7$8$H$gd(hp|}=](>?BCF`aź{q{{fWKfWfWKh(hCJOJQJaJhh(hCJOJQJaJhh(hCJaJhh(h5\ hh(h$h7Wh(hCJ OJPJQJ^JaJ$ h(hCJh(hCJOJQJh(h h8h(h56\]mHsHh8h(hmHsH4h8h(hCJOJQJ^J_H aJmHnH sHtH =h8h(hB*CJOJQJ^J_H aJmHnH phsHtH (a$CKI| *$1$7$8$H$gd(hR`gd(hGgd(h c^gd(hc^gd(hG "YBd^`Bgd(ha>ApsȽȽȽ柄mR5h(h5B* CJOJQJ\^J_H aJnH phUtH ,hh(hCJOJQJ^J_H aJnH tH 5hh(hB*CJOJQJ^J_H aJnH phtH ;hh(h5B* CJOJQJ\^J_H aJnH phUtH hh(hOJQJ hh(hh)h(hCJaJh(hCJOJQJaJhh(hCJOJQJaJhh(hCJaJ  &'-.2HIdgwy{|ɫɫɫɔɫvɔv[ɔɫ5hh(hB*CJOJQJ^J_H aJnH ph*tH ;hh(h6B* CJOJQJ]^J_H aJnH phtH ,hh(hCJOJQJ^J_H aJnH tH ;hh(h5B* CJOJQJ\^J_H aJnH phUtH 5hh(hB*CJOJQJ^J_H aJnH phtH 5h]@h(hB* CJOJQJ^J_H aJnH phtH  %&129:<=HKLUV_`cǰǒwǰǰbYNǰǰǰNhh(hCJaJhh(haJ)hh(hB*^J_H aJnH phtH 5hh(hB*CJOJQJ^J_H aJnH ph*tH ;hh(h6B* CJOJQJ]^J_H aJnH phtH ,hh(hCJOJQJ^J_H aJnH tH 5hh(hB*CJOJQJ^J_H aJnH phtH 9hh(hB*CJNHOJQJ^J_H aJnH phtH 2:=>LV`agv$1$7$8$H$Ifgd(h$*$1$7$8$H$Ifgd(hFd$If]^`gd(hR^`gd(hRx^`gd(h_gd(h *$1$7$8$H$gd(hcdfgpv"#+,8:;?ŨőőőmŨőőmŨőőib h7Wh(hh(h,hh(h56CJOJQJ\]_HaJhh(hCJ_HaJ,hh(hCJOJQJ^J_H aJnH tH 8h]@h(h5B* CJOJQJ^J_H aJnH phtH 5hh(hB*CJOJQJ^J_H aJnH phtH hh(hCJaJ(hh(h56CJOJQJ\]aJ&#,9:;?SynfVG "$Ifgd(hF$a$gd(h G "gd(hfkd$$Ifl/F !  2 t,"6    44 la$1$7$8$H$Ifgd(h$*$1$7$8$H$Ifgd(h ?FJLMZ^`bmqsuz{FHIRUZ_fkrwʬ̬hh(hCJaJhh(hmHsHhh(h\mHsHhh(h\ h)h(hh <Uh(h hh(h:Sfz{!4FGG "d$If^`gd(hG bd$If^`gd(hG "$If^`gd(hG "d$If^`gd(hG "$Ifgd(h false -e true -b false -f true -c false -g false -d true -h true  2-10 a. true b. false c. false d. false e true f. false g. false h. true 2-11 (score >= 1) && (score <= 10) GHIZfrtoYYYYYYYYGd$If^`gd(hFgd(hkdW$$IflF n( ,\ t0`'6    44 laz ˬ̬Gd^`gd(hSkd$$Ifl0L\ b t644 la10:p(hv. !"#$% b$$If!vh5 5#v #v:V l t65 5aDdw. HmG?l  HJR"k'Abod6aS2nod6aS2PNG  IHDRʋsRGBIDATx^]Ŷu׸{H!$@xpxx,H!Yߝkg{gvvMg.uN[tGst8m0>]'ApWg0x\zA/n_*N  B!78H B <]~/t_)ċlЮdCqF1Qpx1>t#՟oYOHd@d$($2@BDM BhH$ !@p鄫r*0!H;r9|blyPir7nLU5y /#e0&8\qirR Ju0!@!@!@M @iL dzDy6_Īj{=1RݘBFs`egDžqF(qFc0ŨQuQV~Oq2+^:B B #- B!Pu< t5v:K r;0@AsJW'.dЧO^ջ (Z-BY`OH BFvM`k zSR~Sv2ȸB B B hɦ.7~p0<_u.'X*[Yʃ?!TY‰Ksz aMq8u*SXϑlCfv^Hҥ{u#R" 3v<0s .4't!@!@!@(!xJWdVEՂp3kX9]AglS;9_%RC9YpV eU:Bz FVt@⎏bJZ 0!@IdG!4Em%>rq:JLjj[}rU7~V⻃#/g7|;Ny>tdyvN[aZڽ٣}QV0r/ SBJ>NtG3yoA/*)EqWҋJ^V!@!P'#X)QB#Z `g,awx)VCr. 7(.M4***҄5GXئyaM[ FwUc^A2Qn8Yu<"MEH쬮,8(C/+"`_cIbjfEAkU6u:7B]|RJBr+J<}ML iUkCo$!@`Иp*.!hީT J޶7te 3SpS+0R+.MNT]QRq62yffH8^AGZYVv: mK-i˛r I[FW#7H?b,lmS*oZrrmj)mYj^- YoZ _-nG,We =:<.] P&!@!@@0I'y%:1FP:+f}鰘Mel]- vuΨ~}ѬAe6.m۲߅+׫e^8y~|EyDxPoq8ѯ}\F>iHp &7{Ty2<@oϸrDH!~EAIM AFGZsU YdRa#^_kK)hiYj?#/QŃŰRhrkY5x}fgDru B TQ)fmdljUnb'p&]HS#P,q4=Fu8L?|lY'zӖg瘇#!Wnj]fQNSgp!uH]oރ.|Y7 [K%o="2I{r7~#%uX͕ۍm-z~_gؗ-YthovGg:GkiV (8X9󝏖1sw?M1%^$n,xlG_&lJ,\0x L]j=x=Wm%ԅ/8\țyŁpXxSs]=ψ#6YW HNLyh[1>:QC5>& lv_7 46 ?7"똔7O% uɾ#,o7{(Έn;Ay᥃!ҕYCnl9>e?T4niܜ8 œ+γo4.Pu,p.(=a@\puNNNA Nj7 M6,& 2M,mlTOyǼd6#cn ~a?çtz^߼ҫ}Bn==+T*sμjwRroRY2!)JbJT暹 KKO 8Cuƣ {jvrE ;7u$eq̆M }9]ӛUKoR఍6;C,Cűi:S$pѪEjR;؇0qe!@4M  N@Gvl@ʖ2F*.d+^YP ,Tp^頸e0(M & :(bQ((.㤞*)B: Z .NIG\kC/%8u.}:={ʗѹ;= Ix^~>m.X Nn b j)>$ g̜)3)~xNcמ q{N%VfD`n;};$ytDW=BxCt\un|(e$fC4敷Ӥ(L:u[yYeqC<h R"Ru &Ë"JϿYXY[kƜ]nq!Dj;OVrLzr.?'p!< KC  #"J&"yZ ~;2ً xuIg^!=!E &0o :G.DzeG{X}G9t??/o09БZ'n_o dx#Jo:y\ةJO_6+Hbq}Em7ahsְ>xE}'g]hoZ*Brzme Rݥk 'Q M/WkwXa!,`J ;$(S q} @o^ͷ3 F]2OMpƩQ㭬DR>q\9o^w-L; մAV{s_+i#kDZ-?N,uM`2oz;l0zo&-oa"*ϧ^NNBaכ^va/LӴ@[& u\(C!@@G@{[&.TPqR%*H&GN|n2/= LO¥ ib׍F0es[$?]^SQd}{e=#A ~ogk8GA ! J.[0P, kW&ly|vd'T,Usyds#L6ze~쬸rمzvcBIN=S] drxē:0.1,֚G=(0/)1ֿMfK3~U$ɮ2Ł`[0MդQG 3d^(H ekHn <1~↭Փwzgw|s]wsIۘ/8HaNUi7D,hf7lh{1Ǽ-GjV/ݚXr~N4 @ʛLܕ*숓b:˙o$0O:[~ؚXQ6.n?@ΰ!.+ G3fX}Z4O[]D X4H5ABW@Ou_Mx܎5:vxwsv)Um }=NB)լC`_cFnJ@XƓgeňlɦW-{a ܂םNy1FеӯR-ە:tˉD ]VI@A@\qE'!@p`̭vWū9F 얝`녟`w[lj}`pn?M1홤?M1OLZ('&n;4@d&.lЎx]nt\)եEnQi)ӑp.i=Gecό*v(-X3|+%`[Y2$m;>ngLX ե}ޓ~-< {zdnRtj˞ Qh6٢>U@qΒ-1ի\.nPhAuZm -qe@?iɺm݃F:2ԵxuQd-i6rAF <̶Oڑ^KAYpM966 Z sw՟X[G ]Tdz}%DwoR^4G> \<(|qm7X!p\ Fz\`L B ,.B  v Q;_ $~,}iAS=`_GZH8SLPbE-48?%0%*TG/借 R B ́B qJj+\}cSݔAYqW<&``+YZd?ʨ+.$ !@>"d !\_LzSP?q꼦UTR-KR%+ٯZcU1|Q:nƗWT};DkN51_Nů_K׊oYx)7ev9HYVO_fBZ2:PYj5rkRW}j$SZf?d5~E8|BL@^_%T5` :5W6W>xS?rs5Ij}w敓}u䟀rW-oZlqQ[a^ ߋ'v5Q.c>FpaCʗ_df5"qC Wby/8SڞJsU<_Bw\Sǥs#m67Py=;&*<9=s?XݯDd)[킔^I̖Zt B B BPE@u)H)Qj8!@!@!@uy6;l)eB B B P3R/̃S 2%kiٴbGiEԊU$d` _m,oV-/?ZJ6jr54`Ex+e(۸$4e$L sqTVFvd+?|תV򦢶@jA১B,oa ^ ";j(?jiI+S^EjW5TY<|Ӳw-+b`*82U\,%W>Ᏻ0ɢ`*9%oX5g^=%J |_/Bꯤr+?$U[H۵՜ :wPkl~;2%V~H~.djo#_F7-M['Ȝ 9",k@jI[Ҳ4MC? ZOPSN縩52T*׹N7_vTӭDmlGA[3R\dD^" :yV_TbVk{=M-i'()TRWȻ-WH[屶z (#W&Æ^_)W׬V?"˗Q{H6 :Dheu,;Rx,=0i))35Dq]C5\)|wR4Vzjj4nH{sf@JOMggZt/ ⬬4ƺHd*d)MB B B ZMh14TTfceu$YZJ ?L1 ])$TOl&&>/RkRKM crF7/XbԀ,uNhsbhNHP^IQx3R3**`-YQ.ML~!]Cr1d(_񂅑?F4)5?x"x$ +#-GIFrWy2dڰ  ;& M_#qt| _a*H_Q*YH"?kJRtSMYdTpp9=^DҬ(ȭ(fuH_Hy Dd !< ^s'`5ZjV[.&}UaFw5%Pj k- 6ҳC-CA,밃T %UڲZeU?j*BrԤ;^%GhESivTHw~}("1J)/AJ=: jT~?=TU~D* \-iF"QY*J"FW9SsH I ?AG35 )gx*F'ʯSo"($RlD9ANN5AGMf ? Rɣl-aҊ~2E>)> sK)> u'(O^yEt٩W63iF!@!@4X# `r":oE꒟PHuG̗wA`Dq'0X"4k "ʅF&#":D\*?@$hem<gRLIA*OKRj@ RFq+H9MSF(;@1#B Bh-TQIYX IT<|ejZ}1gjO-?>5irR:#M<4b\ {]Q`:V6W)2a`ȈaӯܮKҬؒ_HIefIgmҧ!@!@'/Xjg.'zT*חۃ0޳Ʃ,ŗW`FuH-edzEePC"۲⺦b>L0yFrDX:7KJ6 .W _xŒIE򃞁%zË ?E@dET1m) \ jc}n{JfNJ^l^|_|o[Uo%]+J !>\ $ba5&*kx Y"ȪgWwGAO&wyyқ(ODxux䝆nw/OY`YTK@۔w\TΚW/@M{GNQ _Vrܚv 3kFydoh[}"JU¯CPT%Mz*PɾS/M tjҔ*5rIXR'U=R$D_75P$'7!S^){ݡ6\t*_%u۲R(&|yLԔ_Z\8o,'?D!+Yu5PioM߯^A/UMV qkN{Yd\)8_H]xW4snV*B O2ZEHM՚ y'TRN#l(J.tKIH!:OmBⰷPБ9ad"gFz,}`1\N)Yn*L9 Q~˟(O3"/$R)JQ(!Ŏyvaf2tɷefodk 336).!@!@ .'r1QP蒕'i-Or6.ĬET ^ 9)Nt33= gy:LYdȭR%YśRIiM:7uGsQ\3l, H;}~"%(/ZŸIN>nBP鄲4@f!F'B Bh_Zv{ŃS0{/X ZgʋpK5Ҫx)B/#yD]JZӲXHT e?ZjR<ZuZp~=W+_^.QۮC]UjIA+&\ʩo@X3lV31TJ/{ VF@Kc -n>;?7_HطH01REя͝=̞>UdiCdaU>*p)lz Sd|z# J\_iU_}IS ӛjmW|Gd2DJlvş+.#˯?1blQ^~4"&4IJM6z*}T,m-&xxZ '_ϔ0g;:R_zH!@!@!@hD PGń4SQ0B B B Pvc ,xllӌ"51f#b⟠Z ŅLn-r  [Ұ&QTSD +\KK%U\İV@їG-Khmbߖ&ܖFA'hQbT\D]_  VD=XKFBKQ'QĤ"Z~{-,?TRW46 R1aUT-d %l{ۻM六,Y56:JMZ/&k7,ZK:}-5:Ԉ:W&hڒ' jbV1hx)'j7$UJԶVzKo?LEe:0!krO}ϚVzӔPl-/a_gN#FQAaqt<{강/*xx4t*Av̢HP }1c*w_!HP12j[7 "1v7<+FMCH3~︖1,1R*ׯ#U|־kSdPAE;*^~Fbe!7f`8 r$5o">++ldƍJ6WmChB IZ*ʘ-op/OݯiґTuV5jkI efZZhk\ak:W, bv#Q[e6H [-+ʪedBϘOH0J5,K MSݚ׆wY"*b+?aQڙ ?ԊSs_-݊Ua WZl#o=Zb}Fhy=~)[ $8񎪸NRe0D*# Wة&k(wV>>w&G U^(M{om OhYV@m&C*O]u:RR)(( :%G@D}whLU):W0 '3wwA!@!@!@"H MNJg$3'ҬNvHeaӬ!\ hMB)1R,NM #K!@!@!@@CC :U&qq%" e)WQJ\Y [ad3RRxI)KnU#PrըDhKKj׊aN!@!@!@0בqgԑ_wfxZ̘my9ӱ?̓b1̜4%c4}>?ӗ8_-hy" ;rhc~ %| #qTXo!bDDm^CoBpY(OD]~G/v~okӛz~ل}%|T j [2픊얚u`& ͟FZpZc~b05"ȇurCщ(mYG˗Q)_Py+\>@{?lHD#+" ( 'Jh[LZIV Q؎(Y>ъm 6J؎Q֤~Fv5j[~,7%,G5·T&yGq\)R-k %6E~OK ̗)䗜JiTpWWH/wɊߌ1ׄ˿a1T iUhDxK9bN}56Qs27HE-UO<͈!@!@!@ KR#%IB!@!@!xsK,^&72S@e>AjuDF@Ck M( mPQ,ѣV$ !@8^&4Oo**iI*)!0}o TS Hhhh  )N#mH-d!N,t"y6"Fzb?6>\[^؁X9Ƀ5*?5UegQ >뫞j5i5%ox#mMWD g1v<'lq=:#B! .h`]===.elK 1CRUaVVWX,t4AWO5Y֮-s{ڍ;wB#YRr'\5;[.SN{zOvF,oʘ %yFلr7Q1;v'w}9(yc]9w58ZhCB޼6EփsD 8mvԲCmrgqۓ.l3似cl]+Vf XYy弅kwaj+t1Z6wX0/`Gq|5U]e{y.n5 `طW]Ը`;<]^v؝sbRhjL?@L6]r7N\LQEMA [$S`'u Pb·C=>I ^4Rըb}x,nݻwܹu6;v֭{۶m׶M;vܥSwhѢennn6m;vȿtť+W5s/Xk>3f`0c4hPjjC XZB ҅FC/ԹVAoUZs,{47^=уݽu=znuRvn8:5}dBuN+Pr8\G6䷯-Yy"ǎv-db݁;.E;((a\J2~mGSRf 8iƫ.8wlG)H!k M[F\<}rި Iqqu˘KLw ?=-$܂3W#8})76-j(/7){D|7~]xӌ-PaDQRq -;/YfrRHsvԠ7TUV:׽{Ç/^lu֕!Ҵm-[nX,q2%fYKK.ZrF"D$$Ν;͝d S,>.q2.=|2SYYEyyiD#!sg5'>:PLJ!`Ⱥum;vjn=uz0R=XxfCrU>R :j#u8lv 7pl&5=E~_gۖ[+wnsJ\B\eeX"?% P%;MնDÈCѯeVYQH/N3svY:bLܪڴau͟댒Ⱦ۶5gYfVn~~>f L;v۾}oZJ*&W]Dh{߁cݺv³f-kv1/V-11zCQ%\wi=:V%v/X+3VZEc ]So>:㬞}[g0? ^/}ZFjJRRNnΨ!ij:՞]1?7yQm ' "< 0# ramQyj3^c퇟}zs%vʛ/sRo ۪Zi[̘ Jg4)NO8_z+ Lvq–E1@XyCrr2&+qSN ZlxJJJee%,{#iテl${jZ*D8jǘ}b bǍjтңeGعϺj?B^0aЅ}[3^qpa{վ\eVg}"=6"RHB#% Dr 8A׬cҵEdw]y2Rq׶{oĄD̎֐f綹6رglc֢JMay:Klk|\:bpz :♲w҉<.^W]:;T : 6 | `^LXn[W-:4&xsx0huYd\:mWީs:{TuL]RHtz`&Bz hG4[yfZmve[z`4tFC4\6PǹױRw-=vP'$έCNMAnNj//Hc!KU.3ogo\z}ÿ6H6$IÏs~mEuۋ[ʭ6[N͉hjgf+M;x =bXL_R9pHaK:lX.,(,/,uqmIڷk ~ z ֺpꃇ*_Uhf//E^nfAa`LJ*x<0@p8+>Ev\,((xm 络;<ADW,_ [iSRZumlq`=c硝sd#GJ˘9hkjά-4Y] Ӌz]0k:Ɲ'wڵd ^"]+ɚkmXjo;QH(1*lh'AMpx\vKΔK|4ҥR:aj/8asb&UUW-51(8|(Jl=j0QyII9s~wc*.r3K,f!=6C*%Ύe!-RYqy>\>g^%cvFq**Ka.Vl3 yVtT3#^Cb))  ݡpĹR+S_p.waɏ!%vN}XKl֙ !3){qVKM3=LJⓒau>xiʜdH6x*qXҒEѠOJ[@3S-Xjۜ WB6ZHɄOȄR&nGΓ ]Y^nVRb{X(ԔRP\Ga4;\zeƎkeU FUY^YYfbgf++{yE+{K~za' ߲UtA!)vBWd_kƽۏZm5.aW.b_}V9|9 H& C4^m6cѡÇ vs VUZ?e`R}zu`1~;''0#q(1|:h@aQm,bH.#|IezWttcv"7DVAARu䗍emjG3}gjF&si 4)EHm y84Z튚$/ QEc„o~EEEp~PG{mպԌWVV= zKULϕ wUUՇ`-A%K._bŊP"1t_$ LvNvÜ C"gW?|#?~Kɱ2+ͽ׹\=Op=:GLLI6؜=O޿cgm#GݻͿ9cذao0ف ) !fsNFfR"hwYsc;.!RQYa] FÙ3$dz)rJWY[Z_VT_! g'MS,ضԮG;܋/ys$wRNH1Brb85--V:R`(Fu2Â+8jf 1``2qB-ƴaÄ )f3??omC4bĈSO=ߒܲUKwPU]{+N;gnlƐRiMcPزy Lbf͚UZZuV/"k׮ɟ#tMlXv蛯wD~wJa/;R,$_V@o www4n놶 4VqM֋^+mp҇%OR\aIJӗm>VUD~KSҷ|yPljk6F;X"ņnWR ?I[5TݧwĄGʋ.[6{'4t!N=Q039?ԩSW^RQQcft٣A.Ǿ2 KY^wb]Ej4X?ˎse&+puF(o fLjΣhI 77,Ű 2 ( :xб] _TSqifʢkDp;ٵkrÇy>'ԉuܥ3Zl`W\4-5 {aa}{ՍLcJ?HN,ܹs,X0|\=qI';ޭI[nݣ{ԌW@笑GnmmÖz2\qν^X4r۾v#8|UFz A*p: IrQ1_. 0MCPfx/X14f$}tW.#^HK`sیMK!lɉI0TL^];|TbKm >!>^jlq' ׍tՄ=\d+/-Զ}OzgN#i~`7ˮv鍥UuoY;)F]S{;v4K1]idN'w<*? Ffv95 UTߙFaفQCǁ"mlCyl(o9)%sDV[s 8?,~E8Wk3TK< 3!Nf.$<̅C 7ubO`נ#UPFmrA~C l'\|ϝ7vcM 9 SR j3N +*4M%ptxBSrеƇMM;vwy9EI+VÒ VCKcFij"6s5fw-.\%%UT~4H+\,.E&5E:RmÄα޾麳 ZfO_:R;r9ѭWXmY[>y?ww\ݽ))j9a`6X {H+e ۍ]f8w%2]/l"㧿)RcyS$IIx1fX'C=t_x 3ӗZV=KRݴ`)Z͚BX"`ĨQުիΛ͛7gŋ-]dEEf6.M4ٟ-eǞl%L`ä[e%v5\4a(h C4\ IIgxسӅEp%[XzƼ3 amfSEBB ۤ]<:=39Nӊ6 :ر^]o?r#| x,Xe[}?_&XsaN+-KwaF-cMV١wc>4]|iؼc;ftx7nTL3ci)iޝqпo8Ǐ~9-v:R91؅H+a֫wݛwסcn9l eulBYCU Qr`GW{ ].aEBl..JW"E,ٓ`鐟vڈG~Pƌ:~༞W_7pߞox{- //uƋ;XjMPf̞T#;ww/H |GY6ib:QY-`LS2'7'33wBheRTP~>PX~ bCC=$Ǹv`6_rٗ^z-Ũ3Y3xTGVWID4<(RON_Q8_X8x0<ޣ;x)`0߽k[DT4܍Rz f6GX\r rsyo?o@}3Yl2Q\D*6 9:⎈kӽf(&0?iO[qpp%/+%.)V{80R,)/.9zd7 n;BP馼}wZ8k1 vg= Y{f ;X ,9)fO[n9eBX(ٻ{ .De֯XZ 6$ܴlǎ҉(+()n6ZEY;SUg?!}ǎΝ;oٲF(} A^= WqqKזuC#@IYo4U_zV!~bL^W=V/ߋN:lwm@0^tQ,B! b[3,qlRaeF-u q'&۪H X)Bv`!fjrħ& 0AĖB/aqCC@,2,Ѭv*,JuU4BuP]\;)4p:\p䄍=,ݿ!'`~(iI LbңSj֛CH\2E4{kVmXf֯{Ѿ{%oXtҒ>M[mVCwHO٢:a% H<%1![206ύ6aӦ) }z ؘL=`qj`%0e8 c=??p$7'wR:R0OS5x2âlf4Rqja0 :zwc-[>}#":7ӕ`](xT-J-,C/a%'YAtm #-VZj 3/=O7WuzS}Ogz[Va߿צjr[Ӕs]n>)ݡUD+ -,@ oZt=U`8esv8 +9) zQAfX4dp=Ȣ6tѱ^b`)8ԤM|=G8SFyiFaU>Є}s:G>W>[XºĄ7>gsf㻌bA`/dɵ&/@LS  @nA4ΆВ7nj׮uF^n~^nss@p&^"L͉U:^BKLrT[oܼwaX߼9P)pfNtNz'c kTdvNrFvũ#/yaF.ur!j/b" }?W8>Vo>b}ҵGܷde\GVl8Gl߶ovvnivxIoLBۤee WTRyy]AM9`&T-G aذ?t3QdP;"ym ʂsƏ?s83Oƍp߰ak׮[fʕk\ O,?Qucn}Ǟ䫹6{`\Gڷ lWG/#/a}֫q[]@v}Z JzmVuh6U,U˒=)Xk%np&Nz|*T[0r`܄F}9o*L WfB!Nѡђ%cU+Cl4ʓl0ԥsL5,*+).2KQ|'y^QQ|"sd7Z@51vQk|P/_X!wTo\թcͲg.Vӑ⩺񌺾("!@8@2 6ءM܌4.+eֳѶYy_䴳eJ' 9A.LUW NG\r;+ӝY:|# 9 '}ip+,-**,)WןΚV=ka1g `C[5_9m&𪨭V K׭^|ף[TǞ*{4W6O7974/"nفҙ=O_l5+sS/7MG\wMR^?,e+e&?M16Ҳq%7U[`d<PS̑w*\&繦 lh]:ا?}Ǯ S%›c[nMNp2H?wh0r#+F!C 6HMo1+?\}/>ӫ|c4Ղqʻ= 7vǣל]a3K"R "ZH );6Qtbt3R.i&tȯ]ܜ }1z]Ue%$P!4Ի> | qn-iYY33=KTKfî{٣9u&f4Zkdz.GiM$RC膫|J@L4dl6XgS/zU<f2ғ208v٭Nqub3RPܜ-(:sݦܜlf=sDui;RjOK4Jnwm3x冣K0s )R>XԶYz4JQ'ۉ-uCϽeQ/v,Z|VTVUa:y3ǜܻw7)Mg^TPP >mxUFQ*G:ssr%#rCAj+.ک;5 kWmw qS Y{OLxzB_C]Wufs^㫢]v]j W/,AY4?' 2 *ڭ}Mvc"O څ:=>MP1(hm),*+*.gqgC7q)dO<]: ȖmbQƣ}yz}\ԥ-+=}uHUvE%/6ߴyG&NPDB B B F2}7Zq.Xιk9gy* +8/c%ջQ̊j|#LwKgΚŗ)> B B B6VY) vfeɈcgzbvzάx,Lz\FjBZRג>3񕭛CA :Gݳk%'t!@!@!@m.Sp.ݩpyNvNKxw[lB@B૯6m1U)QC 9h\r4LB@G!2Ұ# Q4dlD^cL(c5bMaS)B@5F څei:.5:ofn歶w Q% -æ/E.!@!@!@Gw_w݋.lp`"ʒ!@!@!@4^Pތ D<+({##<8an3R?'Hq;Ur`Lㅒ$'B B B=ȇ\,ЈucZD?X{)B B B ƂzZwX5ᥐRII!@B}כneԩR,x;,rڵ+ϝHiZCMl)NTfP2ub (&舘~4˶m[I/y9Mn*WhbRۺu-[^>5NA,ż#F(>`$0k&3qi%(तL@J W_} .8q<$cІ80믿U Ոb)F0(T!@g̘B].nN<}~UV;vl|@Gt>0:s9_Ŝf@R脋D}ey#38#luH R}wjC"y:`rC.)ԕPin߾,XKg_=G]wV*Lp 띤0Oȏ%k8^z)Ib8 -'8w-Mcُ4F_`V,;XvJ|r#A!&~o?mϩ}-ha2@# 1ɒJ-t#iB:R Aa4+R[h*OYnBZM " /e]&%SLOp\|`@yP> ]4OPM=o".Rjab]naalkeRS[%; C@0~o>~#肤0RJ|9"EG.SܩB l Hᴜ{ׅq>~Y'h䄎8txmW]u~Tf+?#, {΀-INL^_sE> % he6m@B+ yn+"k MZ8p 8Q %MB /pHW a \Zr_}ྈ| ;BNAk* }5@8K[#]pPvX(*!L͙3* i9:@tbS:| ဉANn$ԩӲe˂s"9!B / XG _3g͋*Kn?%(nr\ p](xڭ[7q:80}YزܑfXe =SPZ( ZPB" .-B%@p?@; x.D=S@JC:0H]$0#XrP $QM 0Cp9o B- Q5 x$"*"c~A^v:IԚ8 Ew/Ί!:|̂A^q1a_~_oLHK(v<"=ڢSƇwGGD4j&0:ڄLEeS.xʫb։S+) CH.J׮];x3.Q;oݺ."tQ$ṝ3`rPLy١F`R1$x``(wh%عl(;OG!JZS~"B#o3 #>tjojtŘ8D{^xxH{86/m\s3[hұK8cOoz0TqBlk.+*.yHšicovZC*FxC'|>hp' Z&S&\Gy#mM*1J$" FM|KI{COC_ڣ׈&4! @o7%"R`]+#A3`Ft0,B B  1#Nu `ckɉ4%z6~Q,ZhCFQ B B 1#QNA{]A!B B B7"f&eD!@!@!д~=e*߆_lڠP"B^{D!@4Udp`{`O Qp^sߠ(QH TE@C@@+#+#.mw৖(LC{oYT+& B B b4Ha͢EȴDs*+!@M޽{oڴ .iJE@C@+#>ΆW.O>2lB Ao߾_}V YfׯnTh0-?E3ojHo:M%iheM*!@!@>X |!;Ȁq>!yRiG_H~D;c &zs̹c Rtx=bRn4rH")Lk19^k'7Md+2Hk}?J~qsuq߾9k9gJw>dʤ_G2b0Ւ#>m% CMH&H#-`G TJ6m;7j(6ƛU"%Cr| VWs͚5͚5ߎMl n" u)/FePc/%>0{-D<!%L$pª;rӾj 5~-ל;̖-bv'ΘUINoBgm1,˯JS"a"tMSѰyjjjqqD=eL!@1E#~hL3Ě+VFGwX%>(B˖-_\pw(d/F_z{H !o#q)` &䂿gu'yF@DA46h`2kT6B܄!@!@# K]p/2%ǃ6rԩ}u] %'` )SsH"'re>cئ/AhXPL<lR2O?#_.Rbʝ B BQ"ԑ,a!('4[Ÿ37Ŝ>Ji?sPrs~+k )'D.޿Dn#mK"BC`C VMԢhh (?$c!C@T  RO?p?++K*v[q?SW]uyXre C9ajhD46:q \AE8P V.Q +"j!uu \)S!@MB] (leQ\qzg(+B ϫ!͢`(0/v=0WJd%m۶\^qmPS |~ч6kuEk7RTD3CaHk0 9H*z8D\L#lAK`ƆˀOENNb%O*DʓX-ua* 1-qp7fG#ZriZ7cp" /P= ΫNۮ{뢌+Ν:4ʯM6 Ydw>,Z>7|Sr=>F6޻> ܹ$+қo:.M\r {:;JZjuڪDhhp~k43f[ڵkh̙۷Gh{aHBՉe0EEHDINNBwKBl;wF-[ƍtq5_Jp!kEqF\(D85WEz'@WFOz C#m(2A`>iZG!8)uqDWv)͡ X#8G# 6(i:\25ϹÇ I ?q3lĆ஻[h8$ x.XO?s1C@S1\L@)<'o)c͗aUU8M7݄ɬ a̶YBo&;Wc ,< *<9|5`j  tU_nzp.>X+B `0[~ ǹH/GG~G OK7SQ; $#}AGQ歺+W^qa oJ:FV4N~GZFi7 #FwBg*mޅ͸G|!Ŗ|-~ 0cUV4qU] -6!;fp:|7i!f/2E*/%(rٳ'Ca ee M+8w#GH858&e֭[fJIITG[)oM8` vM&>a!$Ax RҬ>vx8t`(m)TYr(ͷC}1I`-PM H_[-PG9&*\`@'ynbTgdGP(,,psܹ5!K>B <]j(JMr!x yL:h La&/wvsL0(g>$B}4}rI]\pBDABNsMDsC!xh5 ,PAU‡¼!#`tڀ 2H*V8 _ (#.€]7q.U$j)<ƌJBy+ 9;IK}B: ܺBA Eѓp IWڄ!@1A #[(^* TA$4_> CS!{ \i𺣀(@@䢮GhINx*hRJEٹ/~8eR;@-4&ͧf;O +- <`CKKBr648dD0I;v D+ -o0a.@$7ɆV^aS;iD/&^@\fԂdw<*NI}SHBဖ|2[I)#B #9 8# $s! f wz6~5 T օ 80ZIc)SA{亵p \{ `rB+/a.++ @<:`sL0[-h,@+H;ʳ nljpcr9Z|;ڳ XQJ\fm>D:&i} ^4Ewram0$=}J:ؖR#BI"~kQM&*T b8maq`U[ :.OD u|O ib)hx|@ߴ4vAy HL, Yw C`S\`d(0>`(&t0b%FB,z5}WHCC3|ӧ}G° [FCQwhEOC <Ӂo"PJA&9]yQ 1]f y"#nO y<ܡ d|VxoYa墣P6 @4! CT Iusu8 _B@#|)7k a 00`(lX?q( 7ߌ(xY\t'" "H' V 0Rdq@xcER#_L# J+@q!&lk!*I p( H )) #" ƱJOOEjFg8gO~>qP(*%;wx^9%>QBrބxM)n(o?RjN>DJ0:R`K2H%CW 6k+y5 tjR; #7.JAL;+$%Ç9:verwͥpQ :b/ӊ뭀!KBay)YtWaipB$i-70GZ."M@F-kk$6<էBW3pD |Ā fL0}6\ 7 QjR@%^ ص{o7 gmpx ]&VV-!Y:J85&>C>4!1?M1JܘSt`+OH9b3L.(y.uR#?Đrļ-9:bRP:j[9w-[xYt'ΘݬEQ $p[<? NhtH#Eqm"/bP*)pQt`. Q(mp!C mY]AGH :p(9Jzk#%Bq!yK?0ԁnyB!$Ap͗ເH]=|5#L]S4D l!"BJ.x `̷F㹇X: ; I Őr׀ƅj@:.E$b@Č4ySR'20ntw.*;!@p_GjFx(jId }\ Xa]%4ZH  `\\Ce,%M3ݼp U*ۄ.Lj_qrhPqVP~7[c?Oj܇v"|4ث(j#)Cb,   -[@WٻWׂ^|0PXU\?cFSF Gk?xOYpWɖOr#[D_Р&%&Ț'.e Qa-(l>rM {ֳ]x.xq[l.6*#%r9!C[Ŝ$o0FWKk<[#i\)`'OLR B"}Q`Ҹ aW+KCmH!`Un~gXaLr _/Vܑ22 {_,kԓϙ=o߾gy&9ܼyE3> M79猟:<5aÆkۡ' } w|BB0?}D uySDH'pC(EfROX;:e\/&`:{!08w eMJVx/^x,CłO1,ZIr/6P]ZŽGDx E70`eG^z)8m<"~ǝ0ow<3 r ݧOϞ~8.`a{oĮ_>{G} 魷ݎ=Ǎ;K _|%e)=ЪFv())W!xׯ\ w# ‰0ʤXHAz$#F/<OD.2hP0' HOJ?Eֲq'Ν;kc0 ХvRb"xi5OW^qҥK.J#pUWz'x2&WjLPZ7v~>7Y.u;?9 >R@Y3#V᜖'>b bda̚9MΞuKGhmWKE+`FWtnTP@E bF`F!@4^Kyڶo˯4^ ɆbK.yGW.[~͕Nd^ aQQ_ƼCoe /E+PLGJr5ds#~&/SZRWu oG6ZcOE KyxZ87Όݻ@֜$;n}uKT@tP,Bi  #m%RhѢEud u\JD@!pNW]RQg#ϑ; =wyʵkꍗէ˶mۂ=4w{n5%Sb`~%/?m7gvڍ (Iܑ w.p;^EXXQ"!={E#7׻f|x-y)'L^^/3a=Mpqɧ6mr?|W?ah|` $ߏTbAԐ&xOd,yv"w5B=IDŽK-Dֵx_! jG̑F@ ZMl>a8ZB^_K` CM Zv/ X!֛oa| Xӻ+$|?ÆWM,x(Eć~BG'k\ FS߈utQ/q(O t{ (j oFgTd-8sޒj`5X[oj\y7xC.]hUzÏUV-oXWn.1z"^FJՁ֎bS_ P#EŌEWoQ$vPr͹l»P.} 7 Rp[BEωf_*}"bګD eQ,00a4Hm!XIKxPH6rcUׂ}E>2p?#3S2z[_`mV ;mPa 9#iub^pWѩimR[ KcRц3&s5^E+p# PVDV|XssnL` )]k|^c֬Y؞ moX&Qc#vaDiؿꪫ xp=}t0Od4|;97oV#rԩ:|FbRܔGHDȋW;H#դ#m ~_lӦ -o쭅'"B;osqE \^^6pHd6%= 9~kJAaxK셝^GУ^t<:)ч&g /M+ϿLScX-w"ϋ3"F}wdqxp5?󙨽F-x͵D篾b JJJjIC_/?", T~F j Z]]=nܸkע 1%\2s|~J"wKz  7|D'" H ptjR;E\T;vQkSH\5),0/yr)p!p W-눢74_܎iCkFCCH!H/% i1Xe?9_SN9T klS~U &}#B>͈P:4l-%[m biDOc0X~Iτ1Z6kFF& F ihZ(V.'r[o=*|<(Ż2 I "oq95(rsrr=08m_DgWB!A(]fC3Rd$)ܵDZ VSF@=0҈=q)m( I@CCf=3]a݌94b C~wA>;4LNa!%ڀ:v"VILkDJWUl Pj< m^(pnQ%hh(mp(H8 JApsB "fdBqB X v3;g”s^|A &Lތ8/a poЅ{7pXXX|όHlp cU}iхG{ԥ!(XbKD,QkDlQ0h4jTTĂ % Ш }w0޼ym̽33mY Tܙ8{|ԇX/faR'ˮLJ>pHiǤg<&4*j]v„ r{ɐM?KҔJ[W_MZ!bHiuUJ d~cMN]3rfEX;#:(F7xebdlÑcJ%cJ")AGzfE l'Wp\_Tp1n9'-#9e"&:2K82 TN9O[eLFs{Y+Fxx%4ym$tJW\/G{qDzWŰ%a}G(ESA!3&1s颃gf0bv"oߞVJZ,w:2CL1=/L&&9! OeY\hA{i5&4%IH)F5*krX@vR^^srvZkVZlg Hqm:«řL$*swvcnSO=UjL,8J\q5: ՍĄ( BB9v+elQ/"jM I]BI/Y(z!}n$}hqe#&эwtG`Ԩ<^w E*2/ySZ Nz]S[HGf*L"J^n=Jƽf*(㝩bZg;qM;uqH=Ak(V9pd!@K:&ݤP xxw`{T `n^zK,;dHgF%q[_Br?]N__&a b$zs_. $A] $H@VjٿH3EEy t܃B=һ' ~+(v'Y?[/#~2)IHG5{ig3f 8@`Q4^p,m2H6%Tנ(IӇMcMc@y9Mt<; IѭN=RpR;JD^FZٵk(wtfəBS70`(tqZfP`DnM,?FYoŊ~m3KsI(aw_&7“+so~3ga"nBSp=d.Sq$g *+ԓO%0hԦD۳5V~S=V{z$zM332֜9s 4:јwKr&cِ/=cF#dQX.)&MM9VQJV#չUkKŴf4??߳z! cuf +;qYh*MQ\,z&-GjP@%i像mv=bES5 k+hzx2٢Ψ Ӝg&}ONwܹrRsJe&GDaWM Zu]>KI>GHN>xl䣷䦞Ɋƛo,,Cq~A>L͜^yybҫ!?̚K^x){n๵%IwU8.utS/>OV6UPu@RJdq-L'.\ ^\|9IOA/ .lY qӬ]i:,rMhk!DID|rjK#cw|0P5ߪp:0$/r^6 _h|3QLp%869(rX|X%1 kupi ,=iirsrjŌ#M.kvfB`#eJՓe,)#LIWSQ4'UP a(4ʇsHhKQKsF<29J+b'qW)0"Mhh5 ~0gQWEI^Ͽ;02ӆemYSF{py>2>_kw=}6m/dd?H1FUTޤVHBI)5Hw.RDwh[o4(![S\5)ΚoXy]qMYcFYW.4scDH;K_Qnv #2ݑH}qYҌI|VfT# 9b&;k9_I[B>g ☜Xd:wMLb Ɋn 0TzE 6RYqfgFr[AP+VN^kM]}j$tHi9cKi{Z)ZuJ ,hgJoPHa(WqMIG9B)sFO,QCx/#KB+N,'sMj\q+SD MHS[PJ@ (%0fC#.s1K+=l?ewYgFT3W0=}]$8ۯ 5kuߙ^5GJ@ (%PJ: 0“a .;Ndm3͡a_^9Ҵ@bHe=RěN*A %Űp&UעQJ@ (vefYŽ/]e$w(0i~ejBe_pM$K0.}'عc)Yӛ`^>~ۼ9~#u`ҿ뀆&M :Y`(b͂Pu5k!R,ؐv_% Qd&RG4 R*uRi^6#5f]>J i uv6 HHdM (%*ک?Or,QWsRJ@ `˼&Z} |6fǃO<98;VcXrCdΌv¸g^CFL#|L i&jGFSe:3O}kuwՙi4Q(3NS @eee)G6lXv-nKӀsw31VJѣ~#s2j6ayr@Hae֋۷?(K'QH򈇜祬wUG*>p_Gx9/'0"!?%yQ l/?ҴX@#uc3U՟Y旆8Dԁ 4:U?5Jv}C7;->Yžq,"YQbkcKBʲlj<$iiUn%Ю];N˱tŢS.N)= ҸDNO[C7~>gz.4餠H+1x );#M2u+ڑMfG (%@&猳: /z dKdIbqlE/_b0|g'7o̟dƌ;ݻ7'c=|j@݀|' >vat)Vtbgv饗q@>&zd5%{1Ns0#srrЧW^*H_H0J ubHE Y7uPJ@ (%j/bt&;1>Wj]3X'ݕmĉ2J"$5X#q_HPJ@ (%@0s_׽g̔]QTFf6bVj4"WƲ.q1x:K(~Fu(5 J@ (oԛvLb,ӱ_Լ|Ebo$Q)RG; //X&QD:u uQ$"M6M1Rhel;Q<.\X!SLa\߾}퓬P˶ow!a;t{dcC#s TH8T͙x`֬Y2ٸ4|pbޓO>I1W+z># N.ls/9ԗT_}}wd#N2ܔ$;ON*SSODQiN TrGjN,./j4GU';:SԴPJ 2˹NJ3S"X&/*M&☛0i")v&GjX/jN0#Zr 0}ݔPJCf&J3[-[&"vCNFHQh0`f](x}(t5q4k|d*teRL)#5vcx_+71? J (%@4o܈,I>]ܧ#Q 0HjH%bH.gU'Q5*P֭[C65ut8K׼O~=R_;~b\{;jPJ~0}h@)*rO{9KiJJ*M (%"√6R4׮OP0z}ͲPJ>`3f@Y>`^%&wA"̸5^z1+c&O<1j PI!#%1ȸQ^Qx̾Z (%Pj. 0qbV? .5s(r`VHO903ȟwDa (ok Q $\卵a2^e PLG%@:k9e7mpg3}0kq<ēc 5TTG6Ǝ}#F9mCdΌv¸g^NnR`}Gm֫V2!D(%PK RKF#O{ǂ,hfeϜnѸUذj߾L"*/vrO)X>-D ati9bLbUS#>tI]tІ [> 1 ~a fr:tc &[֍m/l(X13)6RШk`ҳ_ .Y*%@.}1YEcifM G0űJ\UǐT%=RڭkFΑUWJ@ (%PJVH#ȼε[-CWJ@ (%PJ@ @ =RSJ@ (%PI!`V!JN USSJ@ (%PJ@ ()Hnw}Κ:ujϩfP (%b%wYDg[ᄈ^x8b]e(E丣xN`AuӋ(ΓY&,kZJu@--kU;= #^YIfSN9%2UPJ@ @hy{920G1bY7uĉsd.ڵ?o޼OW (%ҁynp*VX9iޜ;w(Irr!D ԝӧ3Y:ƼkަMiӦT(v5|gQuPJ@ IHfviPJ@ x,9{lanN:yt)( .<$i||PU (%@2=R'zk)O{kvUJ@ (%b%%<Xjx%J#ݴh5>w;Jk7*`|K޼ysȎB (%'FόkP5K#ݖy~~:*Y^5[Ֆ:SS|Wa64!%ELk6o<4geD+A+A (%P_0i{kQk`@䑩9zYͦPJ@ $HSLA32Q߾}̨2* HXPQ H:/"}pWuG vJ@ (%$`aO"6'SO=[oLhds9EȰ"S'Q"Ѝ\*Sdz kà˙NfJ (%|y'4ZG%k7 ;*GuTrŪ4%Xǥrͬ(Yf9?"eb9D::8Ҡf'x~gtrnPG."j"*E"4PJ@ C8{Ax:-B פ-lֲ7oլ5{ӬVM4oԸ7jҠAވ=#!{0lFHoŋz:I~^[Ȫ>4RĚ PJ@ (%Ox붖|?>{kb^O eM_$K* y┆݉ruKP̘SJ@ (%PJ@ ('q[M-nUi݈]U{&Z6i۲쭚7nѴՖG|c_4,<;TC%PJ@ (%Mrʷl/˯= (({^Q%{=2.e}ldUw42ӈJ@ (%PJ@ (A"Xi~[`~ʌ|`eu׭"GhݰͅPJ@ (%PJ 6o2`ٮ`rVm{f%kA8ӯGh"qPJ@ (%Pu@u;ZgLG3PJ@ (%H@{FFcnjddoPh6 k9e7mpg3}buGǎ}f-!+VSJ=RfzoS[3֜xp}yqW0i_~)(mFROQJ֭[ӦMk{.ڕ^ WHyWu@XA׾X5ԚA6 jfnQ4 PJ@ !]iP#[E (J GڰA㪮U`F&X~Xɖu/4R^u5_J@ (% ]ifCPJHGX}w##UZK (%PJ@ (%@5x~#QJ@ (%PJ@ (%@<iNHcIjH%PJ@ (%P#ٰPQ)UKRJ@ (%PJ@ (8ƑFQJ@ (%PJ@ (%&ZPJ@ (%PJ@ =R[3kJ@ (%PJ@ (%P 쑒Y>*6PJ@ (%P5@ $PJ@ (%PJ#uϬs9 )%PJ@ (%@ Y}T^jjJ@ &e˖w/Uui(%PJ@ 1xfړ_T ex}guVv[n%ҩS}ݺuC`0K//@w} @o3gx.qOW~"O I'):*+RUMRG 5ED}&;'_#B1G~ՐJ A1xNe qRDg=qD#pĊfIDATRON9ٳg\rI|r)j0%҇O!zqz*A (+-Z'p@*>lL͘p/t[,g"jm۶iӦ_|# h_US^)1[ ( if;O;4~z:7/>Bq|Q]c8=<%uovCO2d$pavq?_}a{p+c?reoo#*Dv,&- Gwz79bENpaʎRhaTӗ@ifE5S@߾}3<:m:|7$ 2ݐ2-oAW8{w̘1pJǏ=]e^zFT>Ҭ!mDWS9?o< 6b~9CrW_PJ L6My7/#w\% D LRT$ _Q?3^yb*baU^U󽃾rC5jIˍ@H"+/V漸"D]yA|ۋ=w8yWߞ5M%#uT&THI_O§YBm0#i>*#Ǽ 떓ԵkWM92oS^F+~,rk%$M%(%jܼ2SK=ÄgW_-<s,I9[[ryz`z+g5م&be$R3 ՈT~z D1^>|*ߨG>r$_ y=k祈YV8aV+qرc%.k[{qS%4r,} %!s?^^:WXz2YbH`U*G $m< t12 MbŊQ%0W&Ƣ`G"':QJ-M쑺jFJ Rk1Lf͚z[n^{ɟ|н{w I0z#z$VIu}&Wͻ\yѲcvZ~}t7mR k!9ڡ@^uPJ#e;s%$7hU\M㠺Eр7KG\ф;sΕz#u1hFؓ­x&.JC%6#e/n0˧X ,p\ݛ#8(J'=Rr5PL@A\>7&TFx;T8c<<Dre ;B옊wYx=CT|IFHw ա*ӌS$EDh~eV|3km /w/Vljě{͌掐[Δf$- tפϢWoirҷ_wWd 9"*ǎ`csA^$8fqpD7%H@?rBlK<{My:F7`g\f1g11L40z5eVC6LK$O. Yc9OݵlY?fgFr[A~wYbS >qϼ층O%B@Zji4TϢ {2Kћc0ݥC[hŗZ7fRthLN4ÆO 7@ dx9IBΌ)y^Ѷ#gzgi@}בHljxuuܙF-#MӦHMf:Y01//f`ۓO:=A"bPz`?d\Z~iZ-iI(//.1 (KxLټX5x2VL%;I+-c)sذa5*ݞEꥎ}H9k{ [}mؠq e+D0ӡ֯|nM3U4uŧPJ@ (LՄ6PiHiMAdNNh?.[t=>wmSW@Gq1{9uݗ]~yӦMSJk_s5VM4PJ@ 1{ʮ>0`)S)O:ulOKvZ8I=/ʤ4*&J@ (% bHui1STR#tpiiA:]g5|&7CO{3>_#eS7 IBPJ bHeQG2hq*~W?4Lmԭ馕O}j>c{-Ӥ QJ@ (%+`˼ƝZ} |6;)x'>8[n+1qWX9y!O2g?;a3/!\T3bl笹sE@Pw6uAe1W_/3AtrrFi17Κ5+oǎ~+{v6!jQL=5;;{uK|ȑՈL>e˖۷o'qO'F{n-[)$'};]|) QaQtfovt~f- K/IQI"G=01g@7*((tgFs1fX{D7vsV^dz^XHzڴi.sZ|{øJo0N6۷ojժ}O?g)^?J5J)$|skk[+CVaYsGMJ3:yHt۶Xk*.)mڴU_$60)zHr? +w#`NvI'lc\Ϸnb+('y^w`yAhT6.?ELU׌QmՒ _{5r0cKGŪXXzR (%P' W :䤮]:I{{hGF`F&X']~Xɖuc pW6Y-M[no?a?>?#"|lvrU[m pzvS JZ}QشЁygEBr?KN.\PNΙ3? +`wu7G~g`hI% #IAFO ?9iR${D7xCR'9 -%8#rE&GeW lE+XΈ?z“%QvK)zI3OI\rعvP^ 4F2Cv.+1 .G^c.qҁbb]$LÙH#/i=;/7YGm$Rƞ%X-w=p >xEmټfǶ-A1(bv'?BkFrGF786XԡvNz`zHǑZj`au#d<~2݊=I6q+{q<1-]Xd aehZ#u$Vv;rŏGj !MqˁH,V[HHѣI8l}E@6"Z,jsҬ~I>B4kzl"r8ib""{Oj0fzi##~l#qB>yg9J<zd6/QLݞ4 Q{FX!+0r?FXm'=m}G6r3$CIF&^zeQa38VkyH+b2 R$?=t C?^nM|KStӵ5"XuX ŠCŭPJ V1{&@ zLt$!o x3_|h.q_gdU>{(/Wަ6HwgיYI9\0e fƛ,HCC2[٣Gk#Hcc`CBNUc?V {;$Ex܉:q?ZfHNp!0R Lug;g~-9@b5 +RVb4& HO6bz1pXVKR)ݚ~[!bqFQJ@ (oꑪ( "sH2r* zճgn1ZT?Xh`;O>cēs :N]7󫯮*&щZ4Q zQq-VbD>]цM23a[o^tH`%zd<ּUbB&Eg%]8QP@h=RYԾs^ş {DK$DV ŷq(DTG\u%3|6T[`Ri1g& zW_s f;zơdR8PקgTZ H.**S=}{eufްaJ(^rU ͐>7)VM(sϳf&>YwL(Yh_ քL+Ϣ+)2RWvkdjo "*|SJ@ (bHG?1 YH33 *vƙgc.b:ë?>rݱWf@X`ʼnG]?FNte*;*Hkjo ' óXr- Ң*BRs}ib920q\=Tq@퓓f%O룝~TkЇ~tJXXvH (ը*:DRʍLp?x#OEPfx01S79ܰ98aSYL'9Lm{.%P: %l RG50Qz]!DB8!כTvaE=Tiٿ%|3Oo]tnl$ Ѥ>ZNjX42s="=G,ɲ@VsQ2bPW^ԂJ@ (%iV;lߴu9zìCx'>Jg]{]ǟxgFr[ VX9y!O2g?;a3V"ғY yksw>SO&ءjUjRiͱ ,q.+RK`yQϾN=^[1$v8Ax=Ǡ}p)ޡN"8u>+Wmߨ"[5*QucvJfE[*n_.r8`r 0Pc'fsc7Ek֬bb.LסXGrRJ¦Eӥ$DU񢄷]HfUVpQv[)$ wF%l)Dl'=kw+d*l`""&'y62]11*⾣3]k4Ł-tʰK#Wws 4g r.dJ!l|h#_fO 3ᓄݻUۙ|ءM/uy7;`FY+%`0zCԵK,==aơ d0ӡ֯K0rnl{a?'#cVXcK (%!/t[VǺCu,p^E}>Rq#J$@6V-XJOt#xI+}4QQJ@ (%`˼ƝZ} |6;Yxnw_' 80#o ?ǜYbS >ɜqϼ+v?p/-CN8RRAe7\/bc$p>H_Jait 9\VZ ymܹs?ܺuK6m7k/Ooٲ sDYf1h Mf҇3fФðX{kD۱_(=;wf&/vx:-YQP1g8k 4;;H }ȑa[1cP^I#:;]|]+#W>O|ԸaRs66)M66|)˗{,%o`.)YwM,EwoV:;Z0[؜l™gegeOc< 񷯽f<ǟ^M/q^y0}뮕(tU?`7ݤbBFߓN>abi2Q}9\ܰ^ɣ22]i73t܃~Vu0xCd8^ݻtg[Oc޷Ϻ9(ām$qnbzF (%@0qCNڥsC6h?2232:t+Lܭ^(l(U<쳢!9ß_~%'.\('̙ßzA&k$qݵך\ArRcQLbwu7gD,%3e"9"0]36c#a9.$Ec'6:%(8cЙ< ;PiPRdau&Lp+/mD7H~ÚJ$,bQ"0lozhmbln1zJB*g̝"wA{?E!Cꐱ߳ObqHi;3r{tRԢq ;]OND$=ILfn%ڟyK.ȗy0sbnbzF (%$h\-ؖ'-y[ s wY{qaiiQh/f///a(5;n $@|ysiJS_zRڽMySU2uY`VjۦN)u)ZHT|5TsD쾮|q`H>Ɉ!lw =p2؅h%ofwxs_HEP ʘ=-wi%h<}:Vcs?<a%M.VŒfQ9J@ (% jHƑ~ᇳudM1u=}an{)MC8w.d\+<=X육l_8tA&Qz-J]q<@J}O0˼&!oޮ#bVVgk!#{EIUO5F=z Gt:7ތ(,Ìݨy4`t!e\*kzt 'GHQs= D9sx;]HYً͘/`z#fV+=Ec[. 1ڃnQy:RU_!G#W)7{֫X Kɘ9J3lK=!py8)}$I#ol%rS$!%b6v +!qbd P@DZxi{ơ;PMM$zryLt$Koϣnj6_|@CKu0U9*1a{.^Fҍ*ȉ5-QǙӑ${Oi]tk2-{GExZ2F$^:"St=njYr,?Vb;- %:u(#||>Ir#=1U\G'hȩ!{L+ö=qw3.mgbnnPu#KCM=S^h}LBQgk6FrQ={m39ӘJ<'ᔒ~ 兙@'ܮI=afՠUH#FH۴(apa%֋)ʼ>a9$|KRSPJ &^iL4p#@3(B-Z|B)K, Ŋd_ĥ{x)I> MDK5V*惥ikI䛅x 3d2gg~UX$9 c&ujIOӫD3ϿV1H!6Qy:bwI̩koCGB*S F ܢq?a0^yy3f{al%.^EŮPJPe23B#u}fdX_."3 8CC>d$OP1DG\u%i_]`Ҫ_QMp̼v}bu,DR􌳥{qG[ o1? =pcl V&!Ǎ#[ga{{kyu<E# 6Y;O}E!PJVPVS*IcaC8%@7# CX0)Q AG&Z) 8XO䅆5V$KPջѦѥʹ=85?ONҪfd:pP%91HE0*n Y3ŽMͲ=Qo< 1w1.E1dZnLZKI5+ž[j޽&#9n2r~eݻwCM6a ܰb Ţ\bҴD!#yX);gギoްdl"߻Iܞ&bESNʈ {kb6Bgmo ou%ۖ_fgZPJ@ (%PJ@ @`@f[6l۴nޮUCko٤mmZ6b´lتyM-]my@-,,|7ܹs G>BkgF=tQfѢE#&k#S$wfH+Yzjh$ 6oޜX:0Lzޣ 'H͛)S(IDw:zWg9&0eIT)qQ~2{!qUY%e򠵗Kʂ啥e^^y@0ZxtKڴf2MSWֻ{ɓߞ=cƌ{Yg"|«Ⱦagμi3={E×,^L ,xr[G"&k;#FݻwI?`/M&K~r~eKN|brW}[H*"W"2éRtVQSYvksNBkǹӱըU[ZQ]+Ӱn0I1k@L^HPsj@IYEIiEqyB+{Ai8WA +,if:*K/=rxhwoVruzvSv\:ڵoI\GnuڕӮVldהJ[GTWV?=pG޼ՓHtaׁ{;[M\T$Ԋ],{92jJ齐] 8BʬO\MʊJyV y졃*߳Kͦif:*0I-[45k֌?D]Ok䩧>h}`IGWBW,V f!E>8ni((((QqGUjq[ +Ƒb? uQ3{ HC)ǜǃ9Ͽ.UӇ,(rFŏGTC}QlskuvԊc:FtKbjI೤?EՍ`Fh.xW*w f;(]4PY9`'Ozkyt}޳W.88PxWqQf 5pYoUO W=;rFtCˊ٧>bEm_0wiJd=  JDF5K7$ɶ4g<,2"XG}pg}ڬ,ofs|>] TnFG"6&mۏ}71vA7l椘.9F`~W^u7(&c* ON]ʚC qRzHN:Y7ªU?4an(&'VG,2"t!aGnä)8諯Y7Qb y" D<'ŝQ#£Ut󄏚;ȳ4>s)KټxqЋazR N˼&}uzK"O炼 ͎4NfG\1|W7 <0T+zzvGMJ}V!$g/… 9s_EM 2']&iqDi!,_ə뮽V 'BHљ蒮]gΚhOIET嗝?9!+AFd  S1 Nhh (/ەq[G 3bE䘤 f v86ʓy #ݹbE4FƶJT@)i (`ltŤm96U11HF %{ܦhnL5D+n?vs Ef/%x\F峬=tGi3βD3=a3qCR34whT3+ 'X!*H^4ܖk ~lr{P*Gs3r>eN'sJ# -p@ kgz>RKxS/y)J׏Gߨ!5-3 `V;'MW;"rk4tY'+#f".!':Ua3֊RvH44.eTVRWţ3IbwDI-#Q/TllwKaa'݄)Ҥ\<֒vp)2K7c- ɎBLͬ$F܅ba)}FHklxVؿ5~ͯwΎ/vkwBJokcTF!O?wz{-ea2n.|2sܡ/>ol!UCG)H͙%/8Rm3O?t*=XMO>%髒JݻwX2&ږ3㗮e2jvЃԄ"O8y/c7\Ot t 8"5<#!*{a ɑGtk(ce:MBJ=Y'Ûz: #^^.f۷C[I^0Ѓn۷oo/2؉h2kܥeu\JC"uu[äz7meXLgud8]L,"]~N#Q(( t2M7cV9*':?FeD%NN4~|QWbSO3 %J`b|5KӐJ6akhvMH.z>V VV$mQ6@uL05HyRA#?1C2Xf/H><"0T40!Q%Dd(WT\QEEjXPXV|]O<JTc cY)7D6*vǒHI/RTUg(yoL+f1Lݞ L m~q#jhjY( NNa\ zKq(Q^ޥ?#&kL@b^5֎rƐ&E2B~GUϲW\sD_r:>iqq'S~IyHlx<Ctwܵ7zsժ┲p-hY/U@umbCiC%{Æ ̳|61|z41U|W0 _}ED)=Dū{쭣Fٓf ,=rV2sMmՓzR0xbpJM:xLt]1'9瞋 FGsCP>Z.IV6V՜_ /K#-_aRJ>k_BL%&]L$<525SJ.pG}E=R4EK,#K$3C[3hL)s?xxb/hXQ f!Rt/2r3'7+閌ez>'\L%uj X&1B&ǤMcNS9c2}量\>8p8 H7beus\uh-Aơb~B͈ɚ\MVka~ |SIb^uԤUT!S`~ $b3#B>{Iy9P?d #O m%Lďg5H,/n;rU ˂;@EeS=t(ҁf2ݼyh)cdΖ50DT\b_AaG'J^yu=09k0%PW }g# N8 Y+[k10^$Q3Mʟ%IY[O<QHCBѕI5D# &sRD䈤?n$( `3UIF塤gC gE>kr%2Va,D c//G Fe*6螻GP)u'H2tGdN/RebY<"~4QƮPk4c1iL"}71n0 zܨP!nCw3mfdz ojR`6B#h 5 䍕ƪe.5&ВB 14WG;as8qߥ.nlJE^'G,V@a%7)1oțWǝ(?h >1G\ Mj)4w>3*b!,"m.$ᶢѽQ}*'@5(QQce'a~=wؑio?kq6jH9svEs?<ϩL9xȐ~ydɒ&Mֽc9 "_~hҤumwrȲeVZΝ;7itРAF!R^Q9'{2YguGl<DcÏhd,ϴlՒ %mg>}zuwݣS>~w^{x≅Ewm۶mٲd~]RR{c~mvh u)ZQ{E3|tO_s7+1HÇ6QH۷o'71f9/xh[[r7n۴m+6`l,,v4vO4Og}=ˏIn"ҒH< "SЃDۏ?䓏?v@ 磎:q^qO>EAtpD#?c)Pg&8@n3hgΜ>}:z~4K .6z*k[7j!*(ko>w.5t2tz ܦMsp}-jS7}W2AP:dēN:5΁oyx?Tyzu~#٤I͛yGQը#fi`#a_)IJdy~JBԻ͖O7^'O;5#umժ|EҩTzGy5l]5J@ ~e9"vie۲q[Q^Aeiy)KXu߲3ʪUfp6hۼu(f6ղ3QS]8ag6[FTJ@ (%PJ@ (:CYw<ү9a<{?jf-xPJ@ (%PJ@ (szyw~sMs~7bErPu@{<>>ie(Tڡ=R!Fd=ӵc۹D@=$$BPJ@ (%P@tt@狎4_xR9qO#z8pfÕKZ앴UrPQ*%%e rʑ]KLiE%j[ *%ztt|+o=u  W2lvVټg[zUS+%+xv)+J˼^&_K[R%Z I`Naf)m}7i|2^x֧7'YAAUkb,`R_@m$PQ^Q,/cU䭋#o& sH˫DQP;Z%v,N#4D*wPV^/1kiPq0"Ŝ0*L ̒]ٟ>}6I>SNs1{^KL8+**-[f:={ֽǞ{hҴk^4J$UJ>(*s0V|9~AEQGK!j҄>P"+wy򒣸˱Uyܿiغ GKNqqh1%#wl‚ҩ7]'oN.~Nk3 7v8x1%_๽KJK(%j&M232d6lФafXw)wGK-ڴ>%sק.[QҼׁe_LoˡniaOF_dV}[gQ@1,uE-:_DL<0w,Ǩ0- 3/6}F2w<==s/N~ٺ%ٳ<_&E?/kݦc}ٲy˜9s?,X`۶m:vl<jx1W+%P{ >jsSVY•A 4P:J]4^Vsk%^ZT|T˩wš-Ym%[ӿme[Jm)^hX]_/@Z:\wowlu + Xo9 n^D]n!lxE v1ӻw/kĭFTJ@ TҊ; J]n Sgvρ݋ֽ6gk np&CɎȸ|v/fI;j(ݱLKWӾٳpALt}f/׭{6HL<0LL3K=>?lw@n}WMZiunҲY?/+3v?/+tصiVW,/**G-+++).ٴiӲ( Ј|@"@&Ǖ_ZM-_KH)UhhDQj&LD>hnH-_̄Mm7Yu^A^{_?OxW=8m^{oL-sۋ]{gy4ZzPՐKZZ.+^(</Z\l [bvRV\(ڋqxAYXũs~ΫE6PJ 8m p8w>yNۥ%{\MWT&eƼueo=cvmy_Z{6{%ocpWQ"ͤ%Bl$9C5m`u0 H0 %´0P"ۏwO599£z3v5\EElҦMUWXMyyڵ=]v)-VIʷޤIտ$mXJ@ #P@Z98^Fc߻넷zڛFw|ܸ~ߧgܵ]?5٫x~DGtzC|C B<ԁ ޟeVRZ z?l-̂/3 r956;N"5ضA;Ǘdokx_&4,&Q-vԫ lAT/y幕-G t Ja%Xhc f6j0{<ܤMBH?TæV_V\;ˆyTY6XWL<0Ll0LzeZyŘ1YyyNM~Z :wՠa? 5?mڜ_Z\t +-W4|vaـ1M88蠃6hȷ2>mo߮m1J>(B:ZA Z֞HwL)+ܿL=qWC:n5dI Ѱ5R3c>s~Uj#]?}%wIs.pϸug6"4ZM1 ƑI#.,)^X[P_LbkKJ |JKw(ܶ-,#4Z|ٿZ?g[ %0i+o6`K~[¢[ +mOZ)%@%LTdEe[}x㺭OݼmIe00S`0j Fia`Yr)!-xk^I~;6j&rZCO?Z5vXTزݻugݻ7i9K=U˖-&FJr{Xnӂ5%md2uh$77oE|+**E(5]pID(Yj8'ޱV:; K*6X>g.YhI`#FX x0!bNK+˷SL%E,(.RZeZ he1d9%V:=Uݏ}Ҍ`ULAtՠJ@ 2!Pg_7*hom fӆV -0Q47`C͖< K* lՅ=k"^" K*vu {2T.PqAKf^ur6巭[_2V n~M.?Gk#l6Y/ͤ_:yeїn6Z7'dÅ޻[яOܔG=Wx/ޝ}o_()sxޞ]'JPJ@ x ¸͚6t辧ܼ|^fvD]&W߯jPmy5j$JTHt);JtGޱ͚VNxC,y`$ i} ,\:g֯m"nhՠ˅_ݶYcMݺdw4kִS;D5^|t?E>xq{h,V^ (F`Nnw^9O7~o&~;Ƥ9jڕeBͤ2URhuK)`i4HlvÞL$ k%U7mpg3}7K2#n>lkEʊ>4Z{Q1-/<$d(Ikr3ߍؼ1)ݓOH+Š&͚O覍*zf~ YWT_'+L6+Fռ{Obre'G I.[OvhD/{Ǧgk?O?_n$87{=)54mV_4ѿCƿ"Jÿ?~aiFBA{j2]w5mZ# .KnR(~)3b;S0J@ 7+JQM=0E«YlK 6׫u=?3xn?gVwV4zuG9WPJN`^fYIBzqVյw')v;'qsOtm0gU&HUi۸O8SQ$0 #>Fia``l5é ;l\dݺkvZG?QeAӹsV-a‚;3߽҇ڳa~PJ@ ;-m/LETHq^m+g:HkIi#E9tgs-\9kZ[4kN<^]fh_v͹|of=hwr*A (:C`me{.iqϳob<=H#M2R^W=H&i-ލY૪JXS16lKbڷ:r82kVz5_SWJ@ ^W=RH]n:P(%$/SNyL)%PJ@ (%@:huA+3kI笖v?"f]VlvY.r:(%PJ@ (%@2zFc7n4l@ʯ9yG3E]iiW,ZUlmQgmr>S`?2S MʰsHDyʩ6PJ@ (%PJ@ 'h&gY.6hиIo?*G WȊVaXqvj`!w)d*ViYSގܾ/jJ@ (%PJzhz8ǗJ*J'>&c5m[hn !_udf{j *9U74 ZDwFn/ jN{j~骕چ?gK (%PJ@ J@(dJk~;rxgOrR9iu ;_#Gq1rGg]M{1`Ո(,^rT[s~N+״PJ@ (%3s駢t)6oZ6n.^~/3G:~BU-VxzFɹoifWҳ}ѝwŕiMgkݖ.]rt!7.4 %PJ@ (%w]y~a&ETl0AOfX{Ԋ'(={_]=j6[dq_U4!Y (%PJ */SNEM7|sȐ!Jp#MBK~#MRQmPJ@ (%P }!}YO͛7oƌ\;G|!>#\xѷ>[(ȟGwg{_9gΕΝ}ݽ=grD67,LQt@Ά?iu%O7t$ #q`C $ TQJ@ (%P5B]G?|qG[n]#ZDsssm17A*QEӦsTqqG9tqG #ǍgeɂCU9/~`b8mQt<k:epiRGF iv呖s~_o᷇ (t^zi`m?V^xrMr[i:[׈;ڷPip8\3{keVMZ5QeWZh52]_;Ghv6n;5f#f+㾙}mv9%qAOIPJ@ (%P? O2k?;J 4rnr%L\Юߍ=p|D+*5(Rw)9GWFݬk~/ |jm;$r24f} ai|5PJ@ (%@ZYM+2Htln`BxVc7%.S=mfGe+ڷ$(aYeĈ zqck\Ps[ow =y{XhyElFdQ~ei)%nut7wt*ΪFFsJ'iׯU<} Oh>Hpۮdi"ME*S (%PJ =K4=hԌ, Оdž_&fyCi"&<{^r[tKdNs{&㔆X x %&Z9gUX w5ĥA2kIf2NiW:;Zٷo-j԰HQgշ?(J7_}ā|pܯe(qGiJj)uoG0QC_gJ*%PJ@ ?UPejkD' i\ QbhFU- A둎u ' DNɡ1וJٸɱpwʸK5{GNϜ#FT|Vήꎆf5L.z (t=i3qP9C)'qGWvƜ+"~=d\r/Xjz ~Ҙi`%PJ@ (" ZS՟t#yQK,@:~4ڤ5z}#uF^XGs tפsVoںv\ʝ˙ZB]nnQZq q=gBb ֡An&aO$V+%PJ@ j*_F?vӧuֵ:kHƍvm}܏@~Dhj{{Ǔ#zUFy 2ՊӘ>75#+]zCچNu^M_ rvH<$RT*N9]mw7⤍;zʩs^n<8h -g:?]r inGё޾gҔ=IDQrg<6RiƍN#*%PJpWAx\SZmE;JZ>🮾$A0.oyF&7Z#(g.tڃwd;ZȾG"Ι=GyxD9R YGn HNL/PU y)jXdOb贙ҴV[YBK/w9~J^:iaO"uPJ@ (%U3~ݭޚ a>~a&p&Ȑ;r\leOr7'4=[TFHNv~κ5mѢE't/Ks,}%PJ@ (*h&.9L&Ҁy@~:>nw@xtBU<ZI ?{Plj]t3Nm%gK~-gDWJ@ (%- %҉OeTEd%5QƑ;|HWЌDmUᥭ5Z>i:PJ@ (%PY?rB}c;x~^0}|+;7ifoBsJ#;`MCcȅtEinުVOյK5J@ (%PJ@ (ZA`gb'Ȁ *{]ntn}ʒ)KT WJ@ (%PJ@ (&) r.tj1٢aI~IIQGr3IhjbMz XɄmq HY@aTҏbpJk=k$ZV~WGOH}y N1T>v:J1)nIN)z+zBjP)TeJOgK9YW꼥`j3ڬ{JO3'oʔSn| >LeRn,ٔN%+ 'W3 gB-f6JfZ*wUG%PJ@ (%SYFIENDB`r$$If!vh5 5 52 #v #v #v2 :V l/ t,"65 5 52 $$Ifz!vh5 5,5\ #v #v,#v\ :V l t0`'65 5,5\ azb$$If!vh5b5#vb#v:V l t65b5a^ 666666666vvvvvvvvv66666686666666666666666666666666666666666666666666666666hH6666666666666666666666666666666666666666666666666666666666666666662 0@P`p2( 0@P`p 0@P`p 0@P`p 0@P`p 0@P`p 0@P`p8XV~_HmH nH sH tH D`D 7WNormal*$CJ_HaJmH sH tHFF 7W Heading 1  & F@&5CJ \aJ ZZ 7W Heading 2$ & F<@&56CJOJQJaJDD 7W Heading 4$ & F *$@&5\HH 7W Heading 6$ & F *$@& 5CJ\DA D Default Paragraph FontRi@R  Table Normal4 l4a (k (No List NN 7WHeading $xCJOJPJQJ^JaJ:B@: 7W Body Text  hCJ2/2 7W WW8Num1z0OJQJ2/!2 7W WW8Num1z1OJQJ2/12 7W WW8Num1z2OJ QJ 2/A2 7W WW8Num2z0OJQJ2/Q2 7W WW8Num2z1OJQJ2/a2 7W WW8Num2z2OJ QJ 2/q2 7W WW8Num3z1OJQJ2/2 7W WW8Num5z0OJQJ2/2 7W WW8Num5z1OJQJ2/2 7W WW8Num5z2OJ QJ 2/2 7W WW8Num6z0OJQJ2/2 7W WW8Num6z1OJQJ2/2 7W WW8Num6z2OJ QJ 2/2 7W WW8Num7z0OJQJ2/2 7W WW8Num7z1OJQJ2/2 7W WW8Num7z2OJ QJ 2/2 7W WW8Num9z0OJQJ2/!2 7W WW8Num9z1OJQJ2/12 7W WW8Num9z2OJ QJ 4/A4 7W WW8Num10z0OJQJ4/Q4 7W WW8Num10z1OJQJ4/a4 7W WW8Num10z2OJ QJ 4/q4 7W WW8Num11z0OJQJ4/4 7W WW8Num11z1OJQJ4/4 7W WW8Num11z2OJ QJ 4/4 7W WW8Num12z0OJQJ4/4 7W WW8Num12z1OJQJ4/4 7W WW8Num12z2OJ QJ 4/4 7W WW8Num13z0OJQJ4/4 7W WW8Num13z1OJQJ4/4 7W WW8Num13z2OJ QJ 4/4 7W WW8Num14z0OJQJ4/4 7W WW8Num14z1OJQJ4/!4 7W WW8Num14z2OJ QJ 4/14 7W WW8Num15z0OJQJ4/A4 7W WW8Num15z1OJQJ4/Q4 7W WW8Num15z2OJ QJ 4/a4 7W WW8Num16z0OJQJ4/q4 7W WW8Num16z1OJQJ4/4 7W WW8Num16z2OJ QJ .). 7W Page Number(/( 7WList:^J@"@ 7WCaption ; $xx 6]^J.. 7WIndex< $^Jv/v 7W Open bullet1= d*$1$7$]^`PJ_HmH sH tHo 7WTab/fig head2,line1,no italicE>$ Ld+&d*$1$7$P]^5PJ\_HmH sH tHPOP 7WDialogue/Output head? dHo 7WTab/fig head,lineE@$ Ld+&d*$1$7$P]^ 56PJ\]_HmH sH tHjoj 7WBody no indentAd*$1$7$!B*CJPJ_HmH phsH tH>> 7WTermBL^`L B*phpo2p 7WFigure-C *$1$7$]^OJ PJQJ _HmH sH tHxoBx 7W Open head#D$ d *$1$7$(CJOJPJQJ^J_HaJmH sH tH`/R` 7W Open bodyE d*$1$7$PJ_HmH sH tH|ob| 7W Self text;F 8"8dH*$1$7$]^8`PJ_HmH sH tH\Oab\ 7WAnswers,G >d]^`>CJaJJqrJ 7W Answers codeHdCJOJQJaJnon 7W Table end-I Lde*$1$7$]^PJ_HmH sH tHnn 7WAnswers table end)J $ Y>d^`>CJaJlol 7W Table text)K Ld*$1$7$]^PJ_HmH sH tHpp 7WAnswers table text)L $ Y>d^`>CJaJo 7W Table headingEM$ LdH&d*$1$7$P]^5PJ\_HmH sH tHzz 7WAnswers table heading-N $ Y=d^`=CJaJFF 7W Sub table endO  ^@@ 7WSub table text P^FF 7WSub table heading Q^o" 7WExercise numlist8R WWdH*$1$7$]^W`PJ_HmH sH tH@O@ 7W Body text S h B*phF12F 7WNumlistT WW^W`NARN 7W Sub numlistU >^`>8Oab8 7WSelf endV hrorr 7WSpacer'W dx*$1$7$^$CJ OJ PJQJ _HaJ mH sH tH>12> 7WQuoteX]^h/h 7WAside*Y$$ 0 dl*$1$7$a$6PJ]_HmH sH tHlol 7WBullet1Z d*$1$7$]^`PJ_HmH sH tHpop 7WB head![$ x*$1$7$(CJOJPJQJ^J_HaJmH sH tHh/h 7WSelf&\$$ $d0*$1$7$a$ OJPJQJ^J_HmH sH tHo 7W Tab/fig head14]$ Ld+*$1$7$]^ 56PJ\]_HmH sH tHo 7WA headA^$ Fd$d*$1$7$N^`F(CJ$OJPJQJ^J_HaJ$mH sH tHvov 7WCode/_ 8d*$1$7$]^$CJOJPJQJ_HaJmH sH tH44 7WHeader ` !4 4 7WFooter a !ZO"Z 7WSelf Check Headb$ $dNa$6jO2j 7W self-textb3c s%((1$]s^`%CJaJ<B< 7WTable Contentsd $BARB 7W Table Headinge$a$5\8b8 7WFrame contentsfVqV 7WHeading 1 Char"5CJ OJPJQJ\^JaJ tHFF 7WHeading 4 Char5CJ\aJtHFF 7WHeading 6 Char5CJ\aJtH>/> 7W WW8Num3z0CJOJ PJQJ ^J2/2 7W WW8Num4z0OJQJ2/2 7W WW8Num7z3OJQJ2/2 7W WW8Num8z0OJQJ4/4 7W WW8Num14z3OJQJ4/4 7W WW8Num16z3OJQJ@/@ 7W WW8Num17z0CJOJ PJQJ ^J8/8 7W WW8Num17z1 OJQJ^J4/!4 7W WW8Num17z2OJ QJ 4/14 7W WW8Num17z3OJQJ8/A8 7W WW8Num18z0 CJOJQJ8/Q8 7W WW8Num18z1 CJOJQJ8/a8 7W WW8Num18z2 CJOJ QJ @/q@ 7W WW8Num20z0CJOJ PJQJ ^J8/8 7W WW8Num20z1 OJQJ^J4/4 7W WW8Num20z2OJ QJ 4/4 7W WW8Num20z3OJQJ8/8 7W WW8Num21z0 CJOJQJ8/8 7W WW8Num21z1 CJOJQJ8/8 7W WW8Num21z2 CJOJ QJ </< 7W WW8Num22z0CJOJ QJ ^J8/8 7W WW8Num22z1 OJQJ^J4/4 7W WW8Num22z2OJ QJ 4/4 7W WW8Num22z3OJQJ4/!4 7W WW8Num23z0OJQJ8/18 7W WW8Num23z1 OJQJ^J4/A4 7W WW8Num23z2OJ QJ J/QJ 7WWW-Default Paragraph Font4/a4 7W WW8Num25z0OJ QJ 4/q4 7W WW8Num25z1OJQJ4/4 7W WW8Num25z3OJQJLoL 7WWW-Default Paragraph Font1J/J 7WAbsatz-Standardschriftart2/2 7W WW8Num2z3OJQJ2/2 7W WW8Num3z2OJ QJ 2/2 7W WW8Num3z3OJQJ6/6 7W WW8Num4z1 OJQJ^J2/2 7W WW8Num4z2OJ QJ 2/ 2 7W WW8Num5z3OJQJ2/ 2 7W WW8Num6z3OJQJ6/! 6 7W WW8Num8z1 OJQJ^J2/1 2 7W WW8Num8z2OJ QJ 4/A 4 7W WW8Num11z3OJQJ4/Q 4 7W WW8Num12z3OJQJ4/a 4 7W WW8Num15z3OJQJNoq N 7WWW-Default Paragraph Font11Pr P 7WBody Text CharCJ_HaJmH sH tHuZOr Z 7WBody no indent CharB*_HmH phsH tHu8O 8 7WBody text CharCJjO j 7W#Style Body text + Courier 9 pt Char CJOJQJXr X 7WCode Char Char#CJOJQJ_HaJmH sH tHuPr P 7W Code Char1#CJOJQJ_HaJmH sH tHu:/ : 7WNumbering SymbolsNO N 7W Code Char#CJOJQJ_HaJmH sH tHu\ \ 7WSpacer Char Char#CJ OJ QJ _HaJ mH sH tHuB'@ B 7WComment ReferenceCJaJTT 7WTable code lastdCJOJPJQJaJJJ 7W Table codedCJOJPJQJaJvO!"v 7W Exercise abc; h Ld]^`LCJPJpOp 7WDialogue/Output head wide  dx]PJdob d 7WSelf abc) ed*$1$7$]^e_HmH sH tHf/r f 7WTip text, eWd*$1$7$]^W_HmH sH tHDOD 7WSub codeW]^WCJPJT!"T 7WTip% hd]5CJPJ\xo x 7W Spacer Char' dx*$1$7$^ CJ OJ QJ _HaJ mH sH tHFOF 7W Code wide]^CJPJO 7W5Style A head + Top: (No border) Between : (No border)d$dN PJ^JaJ|O1 | 7WStyle Body text + Courier 9 pt dCJOJPJQJD D 7W Header left $ !CJF F 7WSelf d$dNPJbO b 7W!Style Body Text + First line: 0"aJ2 2 7W B headSpaPJ@^" @ 7W Normal (Web) d*$CJ:2 : 7Wwestern d*$CJaJ2B 2 7Wcjk d*$CJaJbR b 7WStyle First line: 0.5" h`CJaJ>> 7W Self code 8*$^8PJ,r , 7WC headPJ 7W5Style A head + Left: 0" Hanging: 0.84" After: 6 ptdx$dN PJ^JaJd d 7W"Style Body Text + First line: 0"1aJHT H 7W Block Textx]^CJ< < 7W Comment TextCJaJ> > 7WComment Text ChartH4/ 4 7W WW8Num21z3OJQJ0/ 0 7W WW8Num19z054/ 4 7W WW8Num24z0OJQJ4/ 4 7W WW8Num24z1OJQJ4/ 4 7W WW8Num24z2OJ QJ 4/! 4 7W WW8Num25z2OJ QJ 4/1 4 7W WW8Num26z0OJ QJ 8/A 8 7W WW8Num26z1 OJQJ^J 4/Q 4 7W WW8Num26z3OJQJ0/a 0 7W WW8Num27z05@/q @ 7W WW8Num29z0CJOJ PJQJ ^J4/ 4 7W WW8Num29z1OJQJ4/ 4 7W WW8Num29z2OJ QJ 4/ 4 7W WW8Num29z3OJQJ0/ 0 7W WW8Num30z054/ 4 7W WW8Num31z0OJQJ4/ 4 7W WW8Num31z1OJQJ4/ 4 7W WW8Num31z2OJ QJ 0/ 0 7W WW8Num33z05b b 7WCode Char Char Char#CJOJQJ_HaJmH sH tHuH H 7WSelf text Char_HmH sH tHuT ! T 7WStyle Self text + 11 pt CharCJBb1 B 7W HTML CodeCJOJPJQJ^JaJ6UA 6 7W Hyperlink >*B*phdQ d 7WCode Char Char1 Char#CJOJQJ_HaJmH sH tHuPa P 7W Code Char2#CJOJQJ_HaJmH sH tHu@b q @ 7WCode Char Char2 Char6R 6 7Wt_nihongo_kanji6R 6 7Wt_nihongo_comma8R 8 7Wt_nihongo_romaji4R 4 7Wt_nihongo_help4R 4 7Wt_nihongo_iconFVR F 7WFollowedHyperlink >*B* phx/ x 7WCode Char Char1 8d*$1$7$ CJOJQJ_HaJmH sH tHza z 7W$Style Self text + 11 pt After: 0 ptd<CJPJ`a` 7WStyle Self text + 11 ptd<<CJPJ66 7Wheaderb *$X"X 7WCode Char Char2d]^CJPJ@j @ 7WComment Subject5\F AF 7WComment Subject Char5\HRH 7W Balloon TextCJOJQJ^JaJRaR 7WBalloon Text CharCJOJQJ^JaJtHJrJ 7WBody ]^CJPJdd 7W Bodt Text ]^6B*CJPJ]ph^^ 7W Body Test WW]W^WB*CJPJph2A2 7W Text BodyCJxx 7WStyle A head + Courier Bolddx$dN 5PJ\^^ 7W Body Yext ]^B*CJPJph:: 7W Header Char CJaJtH:: 7W Footer Char CJaJtH,, 7Wcode FF 7WSpanner*$8$H$gd PJaJtH / 7W Code white* 8d1$7$8$H$^)B*CJOJQJ_HaJmH phsH tH b"b 7W Bodt text d*$8$H$B*CJPJphtH PqrP 7W Answers abc 8"*$8$H$PJtH 6QR6 7WTip code B*phZZ 7W Exercise codeW*$8$H$^WB*PJphtH ,Xa, 7WEmphasis64/q4 7W WW8Num54z0OJQJTT 7Wcode Char CharCJOJQJ_HmH sH tHu~/~ 7WCode Char1 Char* h8p@ 0*$]0CJOJQJ_HmH sH tHTT 7WBody w/o indent$ ha$CJaJ~~ 7WSpoacer@ & 0` P@*$1$7$8$H$gd]B*CJaJphtH dd 7WSacer% d*$8$H$gd$B*CJ PJaJ phtH V/V 7W Chapter StartCJ(OJ QJ _HmH sH tH LL 7WDialogue0x<*$^0 6aJtH r/r 7WBhead1$ 8dh<1$G$^8`CJOJ QJ _HmH sH tH b/b 7Wbodytext$$ hpd1$G$]pa$CJ_HmH sH tH v/v 7WAhead+$ UP1$G$^`U%B*CJ$OJ QJ _HmH phsH tH " 7W self-headR$ $Hdh$d&dNP^H`a$6B*CJOJQJphv/2v 7Wbox-head;$$ H dF&d1$Pa$_HmH sH tH z/Bz 7W self-text5 sPdF1$]s^`PCJ_HaJmH sH tH :R: 7W Self Checkgdm{SaJ$. b. 7WA-Headgdm{S0r0 7WArialgdm{SCJPK![Content_Types].xmlj0Eжr(΢Iw},-j4 wP-t#bΙ{UTU^hd}㨫)*1P' ^W0)T9<l#$yi};~@(Hu* Dנz/0ǰ $ X3aZ,D0j~3߶b~i>3\`?/[G\!-Rk.sԻ..a濭?PK!֧6 _rels/.relsj0 }Q%v/C/}(h"O = C?hv=Ʌ%[xp{۵_Pѣ<1H0ORBdJE4b$q_6LR7`0̞O,En7Lib/SeеPK!kytheme/theme/themeManager.xml M @}w7c(EbˮCAǠҟ7՛K Y, e.|,H,lxɴIsQ}#Ր ֵ+!,^$j=GW)E+& 8PK!Ptheme/theme/theme1.xmlYOo6w toc'vuر-MniP@I}úama[إ4:lЯGRX^6؊>$ !)O^rC$y@/yH*񄴽)޵߻UDb`}"qۋJחX^)I`nEp)liV[]1M<OP6r=zgbIguSebORD۫qu gZo~ٺlAplxpT0+[}`jzAV2Fi@qv֬5\|ʜ̭NleXdsjcs7f W+Ն7`g ȘJj|h(KD- dXiJ؇(x$( :;˹! I_TS 1?E??ZBΪmU/?~xY'y5g&΋/ɋ>GMGeD3Vq%'#q$8K)fw9:ĵ x}rxwr:\TZaG*y8IjbRc|XŻǿI u3KGnD1NIBs RuK>V.EL+M2#'fi ~V vl{u8zH *:(W☕ ~JTe\O*tHGHY}KNP*ݾ˦TѼ9/#A7qZ$*c?qUnwN%Oi4 =3ڗP 1Pm \\9Mؓ2aD];Yt\[x]}Wr|]g- eW )6-rCSj id DЇAΜIqbJ#x꺃 6k#ASh&ʌt(Q%p%m&]caSl=X\P1Mh9MVdDAaVB[݈fJíP|8 քAV^f Hn- "d>znNJ ة>b&2vKyϼD:,AGm\nziÙ.uχYC6OMf3or$5NHT[XF64T,ќM0E)`#5XY`פ;%1U٥m;R>QD DcpU'&LE/pm%]8firS4d 7y\`JnίI R3U~7+׸#m qBiDi*L69mY&iHE=(K&N!V.KeLDĕ{D vEꦚdeNƟe(MN9ߜR6&3(a/DUz<{ˊYȳV)9Z[4^n5!J?Q3eBoCM m<.vpIYfZY_p[=al-Y}Nc͙ŋ4vfavl'SA8|*u{-ߟ0%M07%<ҍPK! ѐ'theme/theme/_rels/themeManager.xml.relsM 0wooӺ&݈Э5 6?$Q ,.aic21h:qm@RN;d`o7gK(M&$R(.1r'JЊT8V"AȻHu}|$b{P8g/]QAsم(#L[PK-![Content_Types].xmlPK-!֧6 +_rels/.relsPK-!kytheme/theme/themeManager.xmlPK-!Ptheme/theme/theme1.xmlPK-! ѐ' theme/theme/_rels/themeManager.xml.relsPK]   - 7%D#&),E/0b268=;>?ABEHMMP$U5V~ZG\n]c/hEivj~k7l nmoUpsqsv{h}{~rI@+&ȢXͶac?̬ceghiklmoqstuwyz|~J sq}[").E26:=BHPkYn]aMhk]npcxZ}HKĆ*D % ݹSG̬dfjnprvx{}8@0(  B S  ?#4DU|&-RU_o}$ imHKFJbjnsuz (.APp{5?Z]($)$((((((*!*%*&***-"-..//0$02222=3@3666699::v:}:::::::::::::::::;; ;;;;!;(;]=g=======d?g?w?~?h@x@@@gBpBCCC#CCCDD7E@E HHIH\HAIMIjIqIuII;KBKdKgKqK{KKKKKLLMMM-MbMrMMMMMMM%N4N6NCN~NNOOOOGRYR~RRRRS T0TCThTzT7UJUnUUUUUURWYWWWWWWWXXX%XXXXX*]4]`.`>`J`q`u`````8aKaSacaaaaabb b0bib|bbbbb2cDcLc^cccdde'eeeff#f5fBfTf-g>gNg`gggh h-h1h6hFhchvhhhhhh i"i4iIi[iSz~ĪǪ۪ު3Eī|%0W[ƮϮ"*:[kAG"5B¸͸ݸ&)<HXkxJO̻ѻջۻ&Z]"7=[a&MRU|# FGX[FR(.#(HLgl E"K"#####$&&''((((((*!*0*6*G*M*b*d*~********(+,+I+K+^+b+++=.E.T.X.......*/./8/=/e/}/~//////000000Q2U222=3@3J3P3a3g33333 4455666666c8j8m8r8y9~999::o:u:::====w?~?h@y@@@/E7EEE'F1F HHIH]HNISIM.MXM_MMMMMN$N%N5N6NFNGRZR~RRS T!T'ThT{TnUUUU:WAW[WbWwWWWWWWWWXXX%XYY^^__``1`7`P`V`````&a,aSadaaaaaaa b1bYb_bbbbb2cEcLc_ccccceeeeeeee&g,gAgGgggmggggggggghh,h1h6hGh\h`hhhhhhhhhh i"i5iIi\iiiiiiii j j;j35Df7J/0>λ: <>$wB,.?5I(i xK LM vMN£\UNTnZ,U=VnWxyVf1zZn+c~ dvPg j}qjccek xg ^`OJQJo( ^`hH*^`OJQJ^`.^`OJQJ^`.^`OJQJhh^h`OJQJ^`OJQJ^`^`^`^`^`^`^`^`^`hhh^h`OJQJo(hHh88^8`OJQJo(hHoh^`OJ QJ o(hHh  ^ `OJQJo(hHh  ^ `OJQJo(hHohxx^x`OJ QJ o(hHhHH^H`OJQJo(hHh^`OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJ QJ o(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJ QJ o(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJ QJ o(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJ QJ o(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHoh  ^ `OJ QJ o(hHh` ` ^` `OJQJo(hHh00^0`OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJ QJ o(hHh88^8`OJQJo(hHh^`OJQJo(hHoh  ^ `OJ QJ o(hHh  ^ `OJQJo(hHhxx^x`OJQJo(hHohHH^H`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJ QJ o(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJ QJ o(hHh88^8`OJQJo(hHh^`OJQJo(hHoh  ^ `OJ QJ o(hHh  ^ `OJQJo(hHhxx^x`OJQJo(hHohHH^H`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJ QJ o(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJ QJ o(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJ QJ o(hHh ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.h^`OJQJo(hHh^`OJQJo(hHohpp^p`OJ QJ o(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJ QJ o(hHh ^`o(hH.h^`OJQJo(hHohpp^p`OJ QJ o(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJ QJ o(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJ QJ o(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJ QJ o(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJ QJ o(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJ QJ o(hHh^`OJQJo(hHhXX^X`OJQJo(hHoh((^(`OJ QJ o(hHh  ^ `OJQJo(hHh  ^ `OJQJo(hHoh^`OJ QJ o(hHhhh^h`OJQJo(hHh88^8`OJQJo(hHoh^`OJ QJ o(hHh ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.h^`OJQJo(hHh^`OJQJo(hHohpp^p`OJ QJ o(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJ QJ o(hH@h h^h`hH.^`o(. ^`hH.  L ^ `LhH.   ^ `hH. xx^x`hH. HLH^H`LhH. ^`hH. ^`hH. L^`LhH.h^`OJQJo(hHh^`OJQJo(hHohpp^p`OJ QJ o(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJ QJ o(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHoh  ^ `OJ QJ o(hHh` ` ^` `OJQJo(hHh00^0`OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJ QJ o(hHh ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.h^`OJQJo(hHh^`OJQJo(hHohpp^p`OJ QJ o(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJ QJ o(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJ QJ o(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJ QJ o(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJ QJ o(hHh  ^ `OJQJo(hHh  ^ `OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh``^``OJQJo(hHoh00^0`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJ QJ o(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJ QJ o(hH@h h^h`hH.^`o(. ^`hH.  L ^ `LhH.   ^ `hH. xx^x`hH. HLH^H`LhH. ^`hH. ^`hH. L^`LhH./V)5 5}U0>f7?5I~ d}[26+|% wBLMx{,.)n+c7%!yjT<>PgOA\UNCVI f1zZvM,UHqjxKxKcekcekE4VnW>3`@hh^h`OJQJo(hHP`@h h^h`hH.Pг`@h h^h`hH.-WW8Num2WW8Num4WW8Num7WW8Num8WW8Num9WW8Num12WW8Num15-                                                                                                                                                                                             4                                                                                                  4         <(h@@IIII`@```P@`X@UnknownG* Times New Roman5Symbol3. * Arial71 Courier?= * Courier New5. *aTahomaoNewBaskerville-BoldTimes New Roman?Wingdings 2G5  hMS Mincho-3 fg;WingdingsgNew BaskervilleTimes New Roman9 WebdingsS&Albertus MediumArialI.  HaettenschweilerA BCambria Math qh.Նf (`U(`U!24.2QPLX2!xx Chapter 2Mac Usermercer-                           ! " # $ % & ' ( ) * + , Oh+'0s  ( 4 @LT\dl Chapter 2 Mac User Normal.dotmmercer9Microsoft Office Word@0@ @D(GrQ9  39&" WMFC@ 3Sl\ Q9 EMFS |T    \ % % Rp8@"Arial' <+(RO`2<+4( ) +$O`2<+4( v.14(<+ I'w.1LsX3. * Arial`2p`28_uHTDh(9'1((z%1(Idv% % %   T,i@@,] L\ `Chapter 2ooo8oC8oTTi@@]L\ P Lik!\ " Rp@"Arial' <+(RO`2<+4( ) +$O`2<+4( v.14(<+ ,J'w.1LsX3. * Arial4+b(.1(4g2h(9'1((z%1(,Jdv% % %  T, i@@,L\ pJava Fundamentals JJ;JTT  i@@ L\ P !\ " Rp@"Arial' <+(RO`2<+4( ) +$O`2<+4( v.14(<+ 1'w.1LsX3. * Arial`2I`28_uҜ1Dh(9'1((z%1(1dv% % %  TT,j i@@,L\ P ?!\ "  Tl,r\i@@,L\ XGoalsa[AA:TT]ri@@]L\ P ?!\ " Rp@Symbol'x*'RO`2x*p'(\*$O`2x*p' v.1p'x* 3'w.1wLsX5Symbol`2`2PuҼ3DD'9'1''z%1(3dv% % % Rp@"Arial' x*'RO`2x*p' (\*$O`2x*p' v.1p'x* 'w.1LsX3. * Arial`2(`2PuH'9'1''z%1(dv% % % Rp@Times New Roman& H*'RO`2H*@' (,*$O`2H*@' v.1@'H* |'w.1LsXG* Times ew Roman|Dt'9'1''z%1'|dv% % %  % % % TT,$Ui@@,L\ Pon*% % % TTV-i@@VL\ P l% % % T. i@@5L\ Introduce the Java syntax necessary to write programs....)).)$)-)$-.).-)))#$)-.A)-.-)F$TT . i@@ L\ P )!\ "  % % % TT,Ui@@,L\ P*% % % TTVi@@VL\ P rl% % % T i@@>L\ Be able to write a program with user input and console output =)).).A)(..-)FB.-$)..-(..).-$.(...-TT  i@@ L\ P )!\ "  % % % TT,Usi@@,`L\ P*% % % TTV si@@V`L\ P l% % % TDui@@`)L\ Evaluate and write arithmetic expressions8-).)))..B)(.F)))-.($#..#TTui@@`L\ P )!\ " Rp@1Courier&H*'RO`2H*@'(,*$O`2H*@' v.1@'H* E'w.1LsX71 Courie`2PuElEt'9'1''z%1'Edv% % %  % % % TT,tUi@@,L\ P*% % % TTV}i@@VL\ P g"l% % % T~i@@"L\ Use a few of Java's types such as B$)))B.$)-)$-.)$$.).)$% % % T`*i@@L\ TintBe able to write a program with user input and console output    2 s ,'--- 2 )--- 2 . ---I2 =)Evaluate and write arithmetic expressions   2  ,'@1Courier------ 2 )--- 2 . --->2 ="Use a few of Java's types such as  ---2 int--- 2  2 and ---2 double--- 2 9 ,' 2 ) ,'@"Arial---2 F) 2.1 Element    +2 Fs of Java Programminga      2 Ff ,- @ !Q-'-  '@Times New Roman- - - ---[2 V)5The essential building block of Java programs is the  - - - 2 V.classe---,2 VG. In essence, a Java 2 Vclasse 2 V @2 V#is a sequence of characters (text) ,'@1Courier- - - ---P2 d).stored as a file, whose name always ends with     - - - 2 d.javae---b2 d/:. Each class is comprised of several elements, such as a   - - - 2 dGclas2 d[s ,'@1Courier- - - --- @Times New Roman- @Times New Roman-  @Times New Roman- @Times New Roman-  @Times New Roman- - - - - 2 s)heading --- 2 sS  2 sV(- - - 2 sZ public class - - - 2 sclassn 2 s-2 sname---2 s) and - - - 2 smethods --- 2 s/ a2 s<9a collection of statements grouped together to provide a  ,'@1Courier- - - @1Courier New------z2 )Jservice. Below is the general form for a Java class that has one method:    - - - 2 main---(2 . Any class with a   ---2  main--- 2 ) 2 ,method, ,'---52 )including those with only a  ---2 main--- 2  2 method, /2 can be run as a program.  2 y ,'--՜.+,0 hp  University of ArizonaU`  Chapter 2 Title  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQSTUVWXY`Root Entry F#DbData c1TableWordDocument3SummaryInformation(,tDocumentSummaryInformation8RCompObjy  F'Microsoft Office Word 97-2003 Document MSWordDocWord.Document.89q