ࡱ> `ubjbj  6 * * * > †††8> ΊjNa$ohq* [ GYYY2 8* YYY.y * Š )aс† @]0D@o* 4٘ϜYD٘٘٘^٘٘٘> > > |†> > > †> > >  Fontys Information Technology Mathematics for Databases Supplement for EDB2 and EDB3  Author: Sander van Laar Version: 2.2 (April 2007) Table of contents  TOC \t "Heading 2,1" 1. Introduction  PAGEREF _Toc29786483 \h 5 2. Predicates  PAGEREF _Toc29786484 \h 5 3. Quantifiers  PAGEREF _Toc29786485 \h 6 4. Equations  PAGEREF _Toc29786486 \h 6 5. Aggregate functions  PAGEREF _Toc29786487 \h 9 6. Constraints  PAGEREF _Toc29786488 \h 11 7. Queries  PAGEREF _Toc29786489 \h 14 8. Expressions with subexpressions  PAGEREF _Toc29786490 \h 15 9. Mapping expressions to SQL  PAGEREF _Toc29786491 \h 17 10. Solutions to selected exercises  PAGEREF _Toc29786492 \h 22   AUTONUM  Introduction A formal description of a database consists of the description of the relations (tables) of the database together with the constraints that must hold on the database. Furthermore the contents of a database can be retrieved using queries. These constraints and queries for databases can very well be formalized. A formal description of a constraint or a query is necessary to describe the constraint or query unambiguously. In other words, a formal description leads to one and only one meaning of the constraint or query. To describe constraints and queries in a formal way we use predicate logic, set theory and tuple relational calculus. The tuple relational calculus is a calculus based on the use of tuple variables. A tuple variable is a variable that ranges over a named relation (i.e. a set of tuples of a relation). This paper describes the use of the relational calculus for databases. A description of the formal notation is given as well as a mapping of these expressions to SQL. This paper uses the mathematical notation as used in the book Database Systems by Connolly and Begg.  AUTONUM  Predicates A predicate is a function that maps each element of a set to the value true or false. Example Assume x ( N, x is an element of the natural numbers (0, 1, 2,). Then the following are predicates. P1(x) ( x ( 0 (is true for all x) P2(x) ( x < 6 (is true for x = 0, 1, 2, 3, 4, 5) P3(x) ( x < 7 ( x > 10 (is false for all x) P4(x) ( x mod 2 = 0 ( x2 < 40 (is true for x = 0, 2, 4, 6) % Predicates can consist of one expression like x ( 0 or a combination of expressions. These combinations can be made by combining expressions with the logical operators ~ (negation), ( (conjunction), ( (disjunction) and ( (implication). Examples ~ (x < 6) (meaning: x ( 6) x < 7 ( x > 10 x < 5 ( x ( 6 (meaning: x ( 5) x ( N ( x < 6 % Predicates can be used to define sets as well. The following examples define sets by using predicates. Examples S1 = { x | x ( N ( P1(x) } = N S2 = { x | x ( N ( P2(x) } = {0, 1, & , 5} S3 = { x | x ( N ( P3(x) } = ( (the empty set) S4 = { x | x ( N ( P4(x) } = {0, 2, 4, 6} %  AUTONUM  Quantifiers There are two quantifiers that can be used in an expression to find out whether a proposition is true for all tuples that match a certain condition or whether a proposition is true for at least one tuple. These quantifiers are called respectively the Universal Quantifier (notation: ( ) and the Existential Quantifier (notation: ( ). Let P(x) be a predicate that for a given x yields true or false. To find out if for all tuples in the domain D(x) (the set of all possible values for x) the predicate P(x) is true we write ( (x )( D(x) ( P(x) ), (for all x for which D(x) holds, P(x) is true) To find out if for at least one tuple from the domain D(x) the predicate P(x) is true we write ( (x )(D(x) ( P(x) ), (there is an x for which D(x) holds, P(x) is true) The result of these expressions is either true or false. Examples ( (x )( x ( N ( P1(x) ) (true) ( (x )( x ( N ( P1(x) ) (true) ( (x )( x ( N ( P2(x) ) (false) ( (x )( x ( N ( P2(x) ) (true) ( (x )( x ( N ( P3(x) ) (false) ( (x )( x ( N ( P3(x) ) (false) ( (x )( x ( N ( P4(x) ) (false) ( (x )( x ( N ( P4(x) ) (true) % Remark Please notice the difference between ( (x )( D(x) ( P(x)) and ( (x )( D(x) ( P(x)). For example: ( (x )( x ( N ( x > 7 ( x2 > 50) (which is true) differs from ( (x )( x ( N ( x > 7 ( x2 > 50) (which is false). The domain of an expression with a universal quantifier is always located to the left of the implication arrow.  AUTONUM  Equations If p and q are expressions with the value true or false then the following logical equations hold. ~ ( ~p ) ( p p ( q ( ~ p ( q ~ (p ( q ) ( ~p ( ~q ~ (p ( q ) ( ~p ( ~q p ( (q ( r) ( (p ( q) ( (p ( r) p ( (q ( r) ( (p ( q) ( (p ( r) These equations can also be tested with a truth value table. An example of a truth-value table is shown below. pq~pp ( qp ( qp ( qfalsefalsetruefalsefalsetruefalsetruetruefalsetruetruetruefalsefalsefalsetruefalsetruetruefalsetruetruetrue If P is a predicate and D1 and D2 are domains (expressions that limit the possible values for a variable) then the following equations hold. ( (x )( P(x) ) ( ~ ( (x )( ~ P(x) ) ( (x )( P(x) ) ( ~ ( (x )( ~ P(x) ) ( (x )( (D1(x) ( D2(x)) ( P(x) ) ( ( (x )( D1(x) ( (D2(x) ( P(x)) ) ( (x )( (D1(x) ( D2(x)) ( P(x) ) ( ~ ( (x )( D1(x) ( D2(x) ( ~P(x)) ) Exercise 4.1 V = {a,b,c} W = {amsterdam, best, culemborg} Z = {9,4,5,10,7} Which of the following expressions are true? ( (x) ( x ( V ( ( (y )( y ( W ( y starts with the letter x)) ( (x ) ( x ( V ( ( (y )( y ( W ( y starts with the letter x)) ( (y )( y ( W ( ( (x )( x ( V ( y starts with the letter x)) ( (x )( x ( V ( x is a vowel) ( (x )( x ( Z ( ( (y )( y ( Z ( x + y = 14)) ( (y )( y ( Z ( ( (x )( x ( Z ( x + y e" 14)) ( (x )( x ( W ( ( (y )( y ( Z ( x has y different letters)) ( (y )( y ( Z ( ( (x )( x ( W ( x has y different letters)) Exercise 4.2 (*) A = {1,2,3,4,5,6,7,8,9} Which of the following expressions are true? ( (x )( x ( A ( ( (y )( y ( A ( x2 > y )) ( (x )( x ( A ( ( (y )( y ( A ( x2 > y )) ( (y )( y ( A ( ( (x )( x ( A ( x2 > y )) ( (y )( y ( A ( ( (x )( x ( A ( x2 > y )) Exercise 4.3 Let E be the set of European countries and C a set of cities. Describe the following statements in terms of logic. Use the predicates capital(x,y) and is_located_in(x,y) to express respectively whether a city is the capital of a certain country or whether a city is located in a certain country. Each city in C is the capital of a country from E. The cities of C are all located in one and the same country. There is a country in which not a single city of C is located. Not all cities of C are located in the same country. Exercise 4.4 (*) Formally describe the following expressions in terms of logic. There are two different natural numbers of which the sum is 3. There are three different natural numbers of which the sum is 6. For each of the natural numbers the square of that number is not negative. There is no natural number of which the square is a negative number. Exercise 4.5 The set I is the set of inhabitants of the town of Oss. The set D is the set of medical doctors of Oss. We introduce the following assertions. ( (d )( d ( D ( ( (i )( i ( I ( i is a patient of d)) ( (d )( d ( D ( ( (i )( i ( I ( i is no patient of d)) ( (i )( i ( I ( ( (d )( d ( D ( i is a patient of d)) ( (d )( d ( D ( ( (i )( i ( I ( i is a patient of d)) We assume that each inhabitant has exactly one medical doctor. This strengthens assertion c. Which conclusion follows from which assertion? There is not a single medical doctor in Oss who hasnt got any patients. Every inhabitant has a medical doctor. Oss only has one medical doctor. Oss has at least two medical doctors. Questions marked with a (*) are (partially) worked out at the end of this paper.  AUTONUM  Aggregate functions Aggregate functions are mathematical functions on grouped information. In the relational calculus the following aggregate functions are available: COUNT, SUM, MIN, MAX and AVG. Below an overview is shown for each of these functions. In the table below Expr(x) is an expression, D(x) a domain (the range of x), P(x) a predicate. The expression Expr(x) can represent a number as well as a character expression. FunctionNotationResultCOUNT{ COUNT (x) | D(x) ( P(x) }the number of not null xs of the domain D(x) for which P(x) holdsSUM{ SUM (Expr(x)) | D(x) ( P(x) }the sum of all Expr(x) for which D(x) and P(x) is trueMIN{ MIN (Expr(x)) | D(x) ( P(x) }the smallest Expr(x) for which D(x) and P(x) is trueMAX{ MAX (Expr(x)) | D(x) ( P(x) }the greatest Expr(x) for which D(x) and P(x) is trueAVG{ AVG (Expr(x)) | D(x) ( P(x) }the average over all Expr(x) for which D(x) and P(x) is true In the following examples we will mainly use the following database schema consisting of two relations, called Staff and Branch. To express that a tuple s is a tuple of the staff table we will write Staff(s), or equivalently, 's ( Staff'. The contents of the Staff table and the Branch table represent employees from a company and the branch in which they work. The contents of the tables are shown below. Examples (1) { AVG (x) | 1 d" x d" 5 } = (1+2+3+4+5)/5 = 3 (2) { SUM (x2) | 1 d" x d" 5 } = 12 + 22 + 32 + 42 + 52 = 55 (3) The number of managers from the staff table: { COUNT (s) | Staff(s) ( s.position = Manager } (Answer: 2) (4) The sum of salaries of the managers from the staff table: { SUM (s.salary) | Staff(s) ( s.position = Manager } (Answer: 54000) (5) The average salary of all staff members: { AVG (s.salary) | Staff(s) } (Answer: 17000) % Remark: Although the previous examples (1) and (2) are theoretically seen not correct, we will allow the omission of the curly brackets ( { and  } ) around a single value. In the following example it should say { COUNT (s) | Staff(s) ( s.position =  Manager } = { 2 } but, for the sake of simplicity, we will allow the so-called singleton sets to be written as { COUNT (s) | Staff(s) ( s.position =  Manager } = 2 % Exercise 5.1 (*) Let A be a set of numbers. Describe the following expressions in terms of tuple relational algebra: The sum of the positive numbers of A is greater than 100. 75 is the greatest positive number of A. A contains more positive numbers than negative numbers. X equals the number of different numbers of A. X indicates whether the largest positive number of A equals more than two times the smallest positive number of A. Questions marked with a (*) are (partially) worked out at the end of this paper.  AUTONUM  Constraints The first goal of the tuple relational algebra is providing a way for a formal description of constraints. Constraints can be used to make sure every stored value in a database matches a certain condition. These constraints are expressions that that can very well be formalized. There are 5 kinds of constraints: attribute, tuple, table, database and dynamic constraints. Examples All staff persons earn at least 9000: ( (s )( Staff(s) ( s.salary e" 9000 ) (attribute constraint) A person van either be male of female: ((s )( Staff(s) ( s.sex ( {'M', 'F'} ) (attribute constraint) The salary of a manager is at least 20000: ( (s )( Staff(s) ( ( s.position=  Manager ( s.salary e" 20000 )) (tuple constraint) (4) Branch B007 does not have any programmers: ( (s )( Staff(s) ( ( s.branchNo = 'B007' ( s.position ( 'Programmer' )) (tuple constraint) (5) There are less than 3 managers in the among the staff: { COUNT (s) | Staff(s) ( s.position = Manager } ( 2 (table constraint) (6) The sum of the salaries of the managers will not exceed 1000000 (and is a positive value): 0 ( { SUM (s.salary) | Staff(s) ( s.position = Manager } ( 1000000 (table constraint) (7) The branch for which a staff person works must exist (Foreign Key constraint): ( (s )( Staff(s) ( ( (b )( Branch(b) ( b.branchNo = s.branchNo ) ) (database constraint) (8) The branches in London have at most five assistants: (database constraint) ( (b )( Branch(b) ( b.city = 'London' ( { COUNT s | Staff(s) ( s.branchNo = b.branchNo ( s.position = Assistant' } d" 5 ) % Exercise 6.1 (*) An information analyst has determined that certain data have to be stored. Below a schematic overview of the information structure is shown.  sex memberYear street city  char(5) integer char(20) char(20)MEMBERS  memberNr name initials title birthYear  integer char(15) char(5) char(7) integer   FINES  fineNr memberNr  dateIn dateOut amount integer Integer Date  Date  NUMBER(7,2) The following constraints have to be implemented . memberNr uniquely identifies MEMBERS fineNr uniquely identifies FINES memberNr in FINES refers to memberNr in MEMBERS birthYear ( 1900 and ( 1999 in MEMBERS sex in MEMBERS is either Male or Female memberYear ( 1980 and ( 1999 in MEMBERS amount has two decimals in FINES dateIn ( 1980 en ( 1999 in FINES Use the description of the information structure and the constraints to create the complete relational database schema, including the primary key descriptions and the foreign key descriptions. Exercise 6.2 This exercise uses the following relational schema, which concerns orders of articles by customers. CUSTOMER( customerNr, name, address, place, credit) customerNr uniquely identifies customers. ORDER( orderNr, customerNr, orderDate, shippingDate) orderNr uniquely identifies orders, customerNr refers to customerNr in CUSTOMER. ARTICLE( articleNr, articleName, color, price) articleNr uniquely identifies articles. ORDERLINE( orderNr, articleNr, amount) (orderNr, articleNr) uniquely identifies order lines, articleNr refers to articleNr in ARTICLE, orderNr refers to orderNr in ORDER. Give for each of the following constraints the type of constraint (attribute, tuple, table, or database). Formulate the constraints using the tuple relational calculus. an order will not be shipped before the order date; the price of purple articles is always more than 100 Euro; (*) a customer is allowed to place at most one order per day; purple articles are always more expensive than yellow articles with the same name; it is not possible to order non-existing articles; (*) customers from Amsterdam are not allowed to order purple articles; a maximum of 10 different articles may be ordered in one order; (*) the total price of all ordered articles for each customer has to be less than his credit; Questions marked with a (*) are (partially) worked out at the end of this paper.  AUTONUM  Queries The second goal of the tuple relational calculus is to make it possible to describe queries in a formal non-ambiguous way. Later on we will make a mapping from these formalized queries to (correct) SQL statements. In the tuple relational calculus all queries on the database are of the form: { s | F(s) }. In other words: the set of tuples s for which expression F(s) is true. If only some of the attributes are of any interest we write { s.(a1, a2, , an) | F(s) }, with a1, a2, , an attributes of the tuple s. This set is created by selecting all tuples s for which F(s) is true and then by projecting these tuples on the attributes a1, a2, , an . The result of a question about a set of tuples can be either a set of tuples matching a certain condition (e.g. the employees (tuples) that earn more than 10000), or a value (by using aggregate functions). Examples The name and address of all Staff members: { s.(name, address) | Staff(s) } The names of Staff members who earn more than 10000: { s.name | Staff (s) ( s.salary > 10000 } (3) The number of staff in each branch and their total salaries: { s.branchNo, COUNT(s.staffNo), SUM(s.salary) | Staff(s) } %  AUTONUM  Expressions with subexpressions All predicates are expressions that yield true or false. Since expression like { COUNT (s) | Staff(s) ( s.position =  Manager } ( 2 and B003 ( { b.branchNo | Branch(b) } also yields true or false, it is allowed to use expressions like these in other expressions. We call these embedded expressions subexpressions or subqueries. Examples (1) Staff who work for the branch at 163 Main Street: { s.(staffNo, fName, lName, position) | Staff(s) ( s.branchNo = { b.branchNo | Branch(b) ( b.street = 163 Main St. } } (2) Staff with a salary greater than the average salary: { s.(staffNo, fName, lName, position) | Staff(s) ( s.salary > { AVG (r.salary) | Staff(r) } } (3) The branches in which a manager works: { b | Branch(b) ( b.branchNo ( { s.branchNo | Staff(s) ( s.position = Manager } } (4) The branches in which no staff works: { b | Branch(b) ( b.branchNo ( { s.branchNo | Staff(s) } } (5) The managers who have at least two employees in all the branches they work in: { s | Staff(s) ( s.position = Manager ( ( (b )( Branch(b) ( b.branchNo = s.branchNo ( { COUNT(r) | Staff(r) ( r.branchNo = b.branchNo } ( 2 ) } % There are two types of subqueries: subqueries with synchronization and subqueries without synchronization. Subqueries without synchronization are subqueries that do not depend on the  superquery (the query that contains the subquery). In other words, the subquery is a query on it self; it can be answered without the superquerys values. Examples of subqueries without synchronization can be found above: examples (1) till (4). A subquery with synchronization is a query that uses values from the superquery. The subquery in example (5) shows a link between the sub and the superquery (r.branchNo = b.branchNo). This subquery can only be answered in relation with the values from Branch(b). Exercise 8.1 This exercise uses the following relational schema, which concerns orders of articles by customers. CUSTOMER( customerNr, name, street, city, credit) customerNr uniquely identifies customers. ORDER( orderNr, customerNr, orderDate, shippingDate) orderNr uniquely identifies orders, customerNr refers to customerNr in CUSTOMER. ARTICLE( articleNr, articleName, color, price) articleNr uniquely identifies articles. ORDERLINE( orderNr, articleNr, amount) (orderNr, articleNr) uniquely identifies orderlines, articleNr refers to articleNr in ARTICLE, orderNr refers to orderNr in ORDER. Formulate the following queries in terms of the tuple relational calculus. the names of customers from Amsterdam; the number of orders placed after January 1st 1991 ('01-Jan-1991'); all data of customers who have placed an order after January 1st 1991; the names of customers from Amsterdam, who have ordered article 10023; (*) the names of customers, who have ordered red articles after January 1st; (*) the names of customers, who have never ordered an article of more than 100 Euro; the article numbers of articles that have never been ordered; (*) the article numbers of articles that have never been ordered by customers from Amsterdam; (*) the article numbers of articles that have only been ordered by customers from Amsterdam. Questions marked with a (*) are (partially) worked out at the end of this paper.  AUTONUM  Mapping expressions to SQL After describing a query in a formal tuple relational expression the mapping to SQL is a small step. The simple expression { x | D(x) ( P(x) } is mapped to SQL as SELECT DISTINCT x FROM D(x) WHERE P(x); (The keyword DISTINCT is used to remove duplicate values.) Also aggregate functions can be mapped to SQL. For each F as one of the aggregate functions COUNT, SUM, MIN, MAX, AVG the expression { F (E(x)) | D(x) ( P(x) } can be mapped to SQL as SELECT F(E(x)) FROM D(x) WHERE P(x); Remark If F is the aggregation function COUNT then only column names are allowed for expression E(x) (so no mathematical expressions). Examples (1) { s | STAFF(s) ( s.position = Manager } is written in SQL as SELECT * FROM STAFF s WHERE s.position = Manager; (2) { SUM (s.salary) | STAFF(s) ( s.position = Manager } is written in SQL as SELECT SUM(s.salary) FROM STAFF s WHERE s.position = Manager; (3) Complex expressions can be mapped as well. { s.(staffNo, fName, lName, position) | Staff(s) ( s.salary > { AVG(r.salary) | Staff(r) } } maps to SQL as SELECT s.staffNo, s.fName, s.lName, s.position FROM STAFF s WHERE s.salary > (SELECT AVG(r.salary) FROM STAFF r); (4) { s.branchNo, COUNT(s.staffNo), SUM(s.salary) | Staff(s) } maps to SQL as SELECT s.branchNo, COUNT(s.staffNo), SUM(s.salary) FROM STAFF s GROUP BY s.staffNo; Notice the GROUP BY in example (4). GROUP BY is required since we are interested in the number of staff and the sum of the salaries per branch. % Mapping Quantifiers to SQL An expression containing an existential quantifier can be mapped to SQL using the keyword  EXISTS . For the universal quantifier no specific SQL keyword is available. Therefore an expression containing a ( quantifier has to be rewritten to an expression with only the ( quantifier before a mapping can be made. We will use the following equation to rewrite ( to ( (for other useful equations see chapter 4): (7) ( (x )( P(x) ) ( ~( (x )( ~ P(x) ) Example { s | Staff(s) ( s.position = Manager ( ((b )( Branch(b) ( b.branchNo = s.branchNo ( { COUNT(r) | Staff(r) ( r.branchNo = b.branchNo } ( 2 ) } ( [ equation rule  REF _Ref12172670 \r \h (7) ] { s | Staff(s) ( s.position = Manager ( ~ ( (b )( ~ ( Branch(b) ( b.branchNo = s.branchNo ( { COUNT(r) | Staff(r) ( r.branchNo = b.branchNo } ( 2 )) } ( [ equation rule  REF _Ref12172704 \r \h (2) ] { s | Staff(s) ( s.position = Manager ( ~ ( (b )( ~(~ ( Branch(b) ( b.branchNo = s.branchNo) ( { COUNT(r) | Staff(r) ( r.branchNo = b.branchNo } ( 2 )) } ( [ equation rule  REF _Ref12172719 \r \h (4) ] { s | Staff(s) ( s.position = Manager ( ~ ( (b )( ~( ~Branch(b) ( b.branchNo ( s.branchNo ( { COUNT(r) | Staff(r) ( r.branchNo = b.branchNo } ( 2 )) } ( [ equation rules  REF _Ref12172729 \r \h (1) and  REF _Ref12172739 \r \h (3) ] { s | Staff(s) ( s.position = Manager ( ~ ( (b )( Branch(b) ( b.branchNo = s.branchNo ( { COUNT(r) | Staff(r) ( r.branchNo = b.branchNo } < 2 )) } Which maps to SQL as SELECT * FROM STAFF s WHERE s.position = Manager AND NOT EXISTS (SELECT * FROM BRANCH b WHERE b.branchNo = s.branchNo AND 2 > (SELECT COUNT(*) FROM STAFF r WHERE r.branchNo = b.branchNo) ); % Exercise 9.1 The following part of a data model of a hospital is given. CREATE TABLE P {Patient} (PNR NUMBER(5) NOT NULL, {Patient NumbeR} PNM CHAR(20), {Patient NaMe} PSTR CHAR(20), {Patient STReet} PCITY CHAR(15), {Patient CITY} DOB DATE, {Date Of Birth} BLTP CHAR(2), {BLood TyPe} RHF CHAR(1), {RHesus Factor} SEX CHAR(1), {SEX} PRIMARY KEY (PNR) ); CREATE TABLE HOSP {HOSPitalization (PNR NUMBER(5) NOT NULL, {NumbeR of hospitalized Patient} DATEIN DATE, {hospitalization date = IN DATE} HRSN CHAR(40), {Hospitalization ReaSoN} RNR NUMBER(2), {Room NumbeR} DATEOUT DATE, {(planned) dismission date = DATE OUT} SNR NUMBER(2), {NumbeR hospitalizing Specialist} PRIMARY KEY (PNR,DATEIN), FOREIGN KEY (PNR) REFERENCES P (PNR), FOREIGN KEY (SNR) REFERENCES ADM(SNR) ); CREATE TABLE SP {Specialist} (SNR NUMBER(2) NOT NULL, {Specialist NumbeR} SNM CHAR(19), {Specialist NaMe} SSTR CHAR(18), {Specialist STReet} SCITY CHAR(9), {Specialist CITY} SPDPTNR NUMBER(2), {Specialist DePartmenT NumbeR} NRBEDS NUMBER(2), {NumbeR of BEDS} EMPD NUMBER(1), {EMPloyeD} PRIMARY KEY (SNR) ); Describe the following questions directly in SQL: (*)give patient number and date of birth of patients with blood type 'A' give all data of those patients born between 01-Jan-1980 and 31-Dec-1980; (*)give patient number of the patients with blood type 'A' or blood type 'B' or blood type 'AB' or blood type 'O' with rhesus factor '+'. (*)calculate the total number of hospitalizations by specialist with snr = 10; calculate the total number of patients hospitalized by specialist with snr = 10; (*)calculate the longest hospitalization period that has ever occurred; (*)calculate the longest and the shortest hospitalization period that has ever occurred; give patient number, patient name and specialist number of the patients hospitalized on 12-Feb-1998; give for each patient the patient number and the number of hospitalizations for this patient; give for each patient who has been hospitalized more than two times, the patient number and the duration of the longest hospitalization; (*)give for each patient, who has been hospitalized more than 2 times by specialist with snr = 10 and of which the longest hospitalization period is at least 3 times the shortest hospitalization period, the patient number and the duration of the longest and the shortest hospitalization period for this specialist; First describe the following questions using the tuple relational algebra, then describe the questions in SQL: give for each patient with blood type 'A' who is hospitalized by specialist with snr = 10, the name of the patient; give the patient number and the hospitalization reason for those hospitalizations of which the hospitalization period is longer than the average over all hospitalization periods; give the patient number and the hospitalization reason for those hospitalizations of which the hospitalization period is longer than the average over all hospitalization periods with the same hospitalization reason; (*)give the number and the name of the patients who have been hospitalized more than 5 times by specialist with snr = 10; Describe the following questions directly in SQL: (*)give the patient number and the number of hospitalizations of those patients who have been hospitalized more than 5 times in which each hospitalization period is at most 5 (days); give the patient number, the patient name and the average hospitalization period of the hospitalizations of those patients who have been hospitalized by specialist with snr = 10; give the patient number of the patients with the greatest number of hospitalizations of all patients; First describe the following questions using the tuple relational algebra, then describe the questions in SQL: give specialist number and specialist name of the specialists who have never hospitalized a patient; give specialist number and specialist name of the specialists who have hospitalized all patients who have hospitalization reason new hip; give specialist number and specialist name of the specialists who have hospitalized all patients born before 1-Jan-1900; give specialist number and specialist name of the specialists who have only hospitalized patients born before 1-Jan-1900; (*)give specialist number and specialist name of the specialists who have only hospitalized all patients born before 1-Jan-1900; (*)give specialist number and specialist name of the specialists who have only hospitalized all patients born before 1-Jan-1900 who have hospitalization reason new hip; Describe the following mutations directly in SQL: Reduce the number of beds of the specialists who have hospitalized less than 10 patients in 2001, with 20%. (*)Remove the hospitalization tuple regarding patient 6883 in room 27 on 20-Jun-1977. Questions marked with a (*) are (partially) worked out at the end of this paper.  AUTONUM  Solutions to selected exercises Exercise 4.2 false explanation: take x = 1 and y = 1 true explanation: take x = 9 and y = 1..9 true explanation: take y = 1..9 and y = 9 false explanation: take x = 1 and y = 1 Exercise 4.4 ( (x )( x ( N ( ( (y )( y ( N ( x ( y ( x + y = 3 )) ( (x )( x ( N ( ( (y )( y ( N ( ( (z )( z ( N ( x ( y ( x ( z ( y ( z ( x + y + z = 6 ))) ( (x )( x ( N ( x2 ( 0) the same as c. Exercise 5.1 { SUM (x) | x ( A ( x > 0 } > 100 { MAX (x) | x ( A ( x > 0 } = 75 { COUNT (x) | x ( A ( x > 0 } > { COUNT (x) | x ( A ( x < 0 } X = { COUNT (x) | x ( A } X = { MAX (x) | x ( A ( x > 0 } > 2 * { MIN (x) | x ( A ( x > 0 } Exercise 6.1 MEMBER (memberNr: [0..999999] name: char(15), initials: char(5), title: char(7), birthYear: [1900..1999], sex: ['Male', 'Female'], memberYear: [1980..1999], street: char(20), city: char(20) ); FINES (fineNr: [0..99999999], memberNr: [0..999999], dateIn: [01-Jan-1980..31-Dec-1999], dateOut: [01-Jan-1988..31-Dec-1999] or , amount: number(7,2) ); constraints primary key: memberNr uniquely identifies MEMBERS fineNr uniquely identifies FINES foreign key: FINES.memberNr is foreign key referencing MEMBER.memberNr Exercise 6.2 table; ( (t1,t2 )( t1,t2 ( ORDER ( ((t1.customernr = t2.customernr) ( (t1.orderdate = t2.orderdate) ( t1=t2 )) remark1 description of an alternate key: implementation: NOT NULL and UNIQUE remark2 compare the last part with: (t1. customernr = t2. customernr) ( (t1 ( t2) ( (t1. orderdate ( t2. orderdate) because of the following equations: a ( b ( c ( ~ (a ( b) ( c ( ~ a ( ~ b ( c a ( ~ c ( ~ b ( ~ (a ( ~c) ( ~b ( ~ a ( ~ b ( c database; ( (x )( x ( CUSTOMER ( (x.city = 'Amsterdam') ( ( (y )( y ( ORDER ( (y.customenr=x.customernr) ( ( (z )( z ( ORDERLINE ( (z.ordernr=y.ordernr) ( ~ ( (w )( w ( ARTICLE ( (w.articlenr=z.articlenr) ( (w.color='purple') )))) rewriting yields::;XYZ]ʼʩʚ}k]kTGThhOJQJmHnHuhhmHnHuhhCJOJQJmH sH #jhhCJOJQJUmH sH  h8hhCJOJQJmHsHh8OJQJmHsHh8hhOJQJmHsH%jh~*<h~*<OJQJUmH sH hhCJ$OJQJmH sH hhOJQJmH sH hhCJHOJQJmH sH hhCJ OJQJmH sH h~*<CJ OJQJmH sH :;XY[\]v K x O  % $a$gd~*<$a$$a$uuu      + , - F G H I J N X Y Z s t u v w { ~ j<hhUmHnHu jhhUmHnHu jFhhUmHnHu j˃hhUmHnHuhhOJQJmHnHuh~*<mHnHu jPhhUmHnHuhhmHnHujhhUmHnHu/     . / 0 I J K M N R m n o ϱϠϏ~rjhhUmH sH  jhhUmHnHu j(hhUmHnHu jhhUmHnHu j2hhUmHnHuhhOJQJmHnHuhhmHnHuh~*<mHnHujhhUmHnHu jhhUmHnHu* 89BCO2468>@DFHJvx ̰̣̖̿̿̇̿x̖̖̿̿̇̿̿̇̿ jhhOJQJmH sH  jhhOJQJmH sH hhH*OJQJmH sH hh5OJQJmH sH  jhhOJQJmH sH hh6OJQJmH sH hhOJQJmH sH hhCJOJQJmH sH #jhhCJOJQJUmH sH hhmH sH . 78O,.|L:J & F FHPRTV\^bf|~ !"#$34ح jhhOJQJmH sH  jhhOJQJmH sH  jhhOJQJmH sH hh6H*OJQJmH sH  jhhOJQJmH sH hhH*OJQJmH sH hh6OJQJmH sH hhOJQJmH sH  jhhOJQJmH sH 2456:;<=>?ABDE (*.0<>DFHJLNRTZ\^` jhhOJQJmH sH hhH*OJQJmH sH  jhhOJQJmH sH hh5OJQJmH sH  jhhOJQJmH sH hh6OJQJmH sH  jhhOJQJmH sH hhOJQJmH sH 9,DHJzIJDE~3Vy & F & F  JL^`zNTXY厀qb j$hhOJQJmH sH  j"hhOJQJmH sH hhCJOJQJmH sH #jhhCJOJQJUmH sH hh5OJQJmH sH  jhhOJQJmH sH  jhhOJQJmH sH hh6OJQJmH sH hhH*OJQJmH sH hhOJQJmH sH  jhhOJQJmH sH &"#3456MNPSTUVYZ\]^_noz{|}  )*+ jhhOJQJmH sH  j$hhOJQJmH sH  jhhOJQJmH sH  j"hhOJQJmH sH hh6OJQJmH sH hhOJQJmH sH C+,5678rh8hhOJQJmHsH jhhOJQJmH sH  j$hhOJQJmH sH hhH*OJQJmH sH  jhhOJQJmH sH hh5OJQJmH sH  jhhOJQJmH sH  j"hhOJQJmH sH hhOJQJmH sH hh6OJQJmH sH &zzіm^QzhhH*OJQJmH sH  jhhOJQJmH sH hh5OJQJmH sH hh6OJQJmH sH  j$hhOJQJmH sH hhOJQJmH sH h8hhH*OJQJmHsH jhhOJQJmH sH h8hh5OJQJmHsH jhhOJQJmH sH h8hhOJQJmHsHh8hh6OJQJmHsH #$%&568;<=>?@BCFGHIXY[^_`abcefijklyҳҤҔ҅ҳvҔҳҤҔ jhhOJQJmH sH  j$hhOJQJmH sH h8hhH*OJQJmHsH jhhOJQJmH sH h8hh5OJQJmHsH jhhOJQJmH sH h8hhOJQJmHsHh8hh6OJQJmHsH j"hhOJQJmH sH -y{|~`bflnprxz~ jhhOJQJmH sH  j"hhOJQJmH sH hhH*OJQJmH sH  jhhOJQJmH sH hh5OJQJmH sH  jhhOJQJmH sH hh6OJQJmH sH  j$hhOJQJmH sH hhOJQJmH sH 3PQg?_` $$Ifa$$^a$ & F 9r   ^`djlnprtvxQR[\gjkpqɺɺ}o}o` jhhOJQJmH sH hhCJOJQJmH sH #jhhCJOJQJUmH sH hh5OJQJmH sH  jhhOJQJmH sH  j"hhOJQJmH sH hh6H*OJQJmH sH hh6OJQJmH sH  jhhOJQJmH sH hhOJQJmH sH  jhhOJQJmH sH %    !"$%&'()+,.01纫 jhhOJQJmH sH  jhhOJQJmH sH hh6H*OJQJmH sH  jhhOJQJmH sH  jhhOJQJmH sH hh6OJQJmH sH hhOJQJmH sH =123568:;<=?@ABDEFGHIKLNPQRSUVXZ[\]v w {hh6H*OJQJmH sH  jhh6OJQJmH sH  jhh6OJQJmH sH  jhh6OJQJmH sH  jhhOJQJmH sH  jhhOJQJmH sH  jhhOJQJmH sH hh6OJQJmH sH hhOJQJmH sH 0  F===== $$Ifa$kd$$Iflֈ4t T04 la     $ =kd$$Iflֈ4t T04 la $$Ifa$$ ) . / 4 : @ =kd$$Iflֈ4t T04 la $$Ifa$@ F K Q R W \ =kd$$Iflֈ4t T04 la $$Ifa$\ b g l q r s =;kdj$$Iflֈ4t T04 la $$Ifa$ !!! ! ! ! !!!!!!#!%!&!'!-!.!/!3!4!5!6!?!@!F!G!H!M!O!P!Q!W!X!Y!_!`!a!b!c!e!f!g!h!i!j!k!p!q!r!s!t!u!|! jhhOJQJmH sH  jhhOJQJmH sH  j$hhOJQJmH sH  jhhOJQJmH sH hh6OJQJmH sH  j"hhOJQJmH sH hhOJQJmH sH hh6H*OJQJmH sH 7s !!+!U!!!!"G"H"u"v""".#M#{#$$%%*%Z%\% 00^`0 & F 0 0 0 & F|!}!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!ɺɺɺɺɺ j$hhOJQJmH sH  jhhOJQJmH sH  jhhOJQJmH sH hh6H*OJQJmH sH hh6OJQJmH sH  j"hhOJQJmH sH hhOJQJmH sH  jhhOJQJmH sH 7!!!!!!!!!!!!"x"y"z"~"""""""""""""""""""yhW jhh@OJQJmH sH  j$hh@OJQJmH sH  jhh@OJQJmH sH  jhh@OJQJmH sH hh6@OJQJmH sH  j"hh@OJQJmH sH hh@OJQJmH sH  jhhOJQJmH sH hh6H*OJQJmH sH hh6OJQJmH sH hhOJQJmH sH """"""""""""""""""""""""""""""""#### # # # #####*#+#0#1#2#6#7#8#9#<#=#?#@#O# jhh@OJQJmH sH  j"hh@OJQJmH sH  jhh@OJQJmH sH  jhh@OJQJmH sH hh6@OJQJmH sH  j$hh@OJQJmH sH hh@OJQJmH sH 8O#P#Q#U#V#W#X#[#\#`#a#b#f#g#h#i#l#m#n#o#r#s#}#~####################$$$$ $"$$$&$,$.$4$6$8$@$ҰҟҎҟҎҰҰҟ jhh@OJQJmH sH  j$hh@OJQJmH sH  jhh@OJQJmH sH  jhh@OJQJmH sH hh@OJQJmH sH hh6@OJQJmH sH  j"hh@OJQJmH sH 8@$B$D$F$L$N$R$T$^$`$$$$$$$$$$$$$$$$$$$$$$$%*%%%%%%%%%%%%%%%%%%hhOJQJmH sH  j$hh@OJQJmH sH  jhh@OJQJmH sH  j"hh@OJQJmH sH  jhh@OJQJmH sH  jhh@OJQJmH sH hh@OJQJmH sH hh6@OJQJmH sH 2\%%%&2&]&&&&&&'''1(q((((((9) & F 0 & F 0 0 00^`0 & F 0 0%%%%%&& & & &&&&&&&&&& &!&"&#&&&'&(&)&*&-&.&4&5&6&:&;&<&=&@&A&D&E&F&J&K&L&M&P&Q&R&S&U& jhh@OJQJmH sH  j"hh@OJQJmH sH  jhh@OJQJmH sH  j$hh@OJQJmH sH hh@H*OJQJmH sH hh6@OJQJmH sH hh@OJQJmH sH  jhh@OJQJmH sH 2U&X&Y&_&`&a&e&f&g&h&l&m&p&q&r&v&w&x&y&|&}&~&&&&&&&'*'/'A'((( *****sdsshh>*@OJQJmH sH hhOJQJmH sH hh@H*OJQJmH sH  jhh@OJQJmH sH  j"hh@OJQJmH sH  jhh@OJQJmH sH  jhh@OJQJmH sH  j$hh@OJQJmH sH hh6@OJQJmH sH hh@OJQJmH sH '9)z)) * **P******+L++++,,\, & F 0 & F 0 00^`0 0 & F 0 & F 0 & F 0***************************************++++++++ +!+$+%+(+)+*+.+/+0+ j"hh@OJQJmH sH  jhh@OJQJmH sH  j$hh@OJQJmH sH  jhh@OJQJmH sH  jhh@OJQJmH sH hh6@OJQJmH sH hh@OJQJmH sH 80+1+4+5+6+7+H+I+N+O+P+T+U+V+W+Z+[+^+_+`+d+e+f+g+j+k+m+n+++-- -)-*-?-<.pbpbhhCJOJQJmH sH #jhhCJOJQJUmH sH hhOJQJmH sH  jhh@OJQJmH sH  j"hh@OJQJmH sH  j$hh@OJQJmH sH hh6@OJQJmH sH  jhh@OJQJmH sH hh@OJQJmH sH  jhh@OJQJmH sH $\,,,,,---?-(.)......$If 0 0`^`` & F 0<.@.A.B.V.W.X.Y.r.s.v.w.x.y......./// / / / //////-/./?/@/A/B/N/O/P/Q/^/e/i/j/k/p/q/r/s/u/v/w/x/y/z/~///////////滫ʻh8hh6OJQJmHsHh8hhOJQJmHsH jhhOJQJmH sH hh5OJQJmH sH hhOJQJmH sH hh6OJQJmH sH C.../Y/yyy$Ifkd/$$IflFY% j0    4 laY/Z/^/~//yyy$Ifkd׌$$IflFY% j0    4 la/////////////////////////000000 0!0&0'0(0)0+0,0-0.0/000A0E0F0G0S0T0U0V0\0]0^0_0u0y0z0{00000000000000000000000j1k1111 jhhOJQJmH sH hh6OJQJmH sH hhOJQJmH sH U////0yyy$Ifkd$$IflFY% j0    4 la00040i0yyy$Ifkd'$$IflFY% j0    4 lai0j0n000yyy$Ifkdώ$$IflFY% j0    4 la00022J3L3334T4U444}}{}}}}}u}}}^kdw$$IflFY% j0    4 la 1111222233b3d3f3v3x3333333333344)4*4,4-4.4/44444444455#5$5D7\77777777777889999999 jhhOJQJmH sH hhH*OJQJmH sH jhhOJQJUmH sH  jhhOJQJmH sH hhOJQJmH sH hh6OJQJmH sH A44 5;56677(8*888\9`9b999&:':a:::: & F 0 0 00^`0 ^` ^`^:d;e;;;;;E=N=t=J>L>>? ?v?@@@@@@@#A$AAA`^ & F 0 & F 09;;;;;;;N=v=w=x=======>>>>>>>>>>>z?|?~??????????????C@D@E@O@P@R@澳hqTOJQJmH sH hqTOJQJ jhhOJQJ jhhOJQJhh6OJQJ j"hhOJQJhhOJQJ#jhhCJOJQJUmH sH hhCJOJQJmH sH hhOJQJmH sH hh@OJQJmH sH 2R@S@T@V@W@j@k@l@m@w@x@@@@@@@@@@@@ A AAAAAAAAAAAAA3B5B6B7BABBBDBEBKBLBMBXBYB[BŸŸũŸŚŚŸŸũŸŚ j$hhOJQJ j"hhOJQJ jhhOJQJmH sH  jhhOJQJmH sH hh6OJQJmH sH hhOJQJmH sH  jhhOJQJhh6OJQJhqTOJQJhhOJQJ jhhOJQJ1AA2BGBBBB C DDD6DPERETEVEXEZEbE& >"[ > w!Z= v"$If d]$If" >"[ > w!Z= v" `0[B\B]B^BjBkBBBBBBBBBBBBB C CCC C!C#C$C%C&C2C3C=C>C?C@CEEfFgFqFsFFFUGVGGɼؼحؼ؞ؼؼح؎؎؎؎؁hh<OJQJmH sH jhhOJQJUmH sH  jhhOJQJmH sH  jhhOJQJmH sH hh6OJQJmH sH  j"hhOJQJmH sH hhOJQJmH sH hh6OJQJhhOJQJ jhhOJQJ,bEdEzE|EEEEEELkd$$IfTrN ,24 aT& >"[ > w!Z= v"$If d]$IfEEEEEEEEEE d]$If( >"[ > w!Z= v"$If EEEFF|ZZL  9r d]$If" >"[ > w!Z= v"kd!$$IfTrN ,24 aTF F FFFFF#F$F.F/F0F d]$If& >"[ > w!Z= v"$If 0F1F2F;F"[ > w!Z= v"$If d]$Ifkd#$$Ifֈ7^f!"rr+4 aGFPFQFZF[FcFdFeF d]$If( >"[ > w!Z= v"$IfeFfFlFqFxFFFFFmKKKKKKK" >"[ > w!Z= v"kd$$Ifֈ7^f!"rr+4 aFFFFFFFFFFF* >"[ > w!Z= v" $If] & >"[ > w!Z= v"$If d]$If FFFFFGG G GwNwNwNw( >"[ > w!Z= v"$If d]$If~kdɓ$$Ifr7t5"= 4 a GGG G!GN~kd$$Ifr7t5"= 4 a d]$If( >"[ > w!Z= v"$If!G%GVGXGYG~GGGG$HLHYYY0 & F >"[ > w!Z= v""^"`gdxJ(, & F >"[ > w!Z= v"R^RgdxJ(& >"[ > w!Z= v"7`7" >"[ > w!Z= v" GGGG/H0H:H;HtHuH~HH_ILLNNNNNNNPPP%P&P'P+P,POPPPfPgPhPiPPPPPPPPPPPPPPPȺ嬚~~~hh6H*OJQJmH sH hh6OJQJmH sH #jhhCJOJQJUmH sH hhCJOJQJmH sH h8@OJQJmH sH hh@OJQJmH sH  jhhOJQJmH sH hhOJQJmH sH  jhhOJQJmH sH 1LHmHHHPIQI_IIII%J)J_JJJ 0 00^`0 0 `0* >"[ > w!Z= v"^`0 & F >"[ > w!Z= v""^"`gdxJ(JJJKK9KqKKKK.LmLnLLLLLMMqMrMMMMM/N & F 0 0 00^`0 0/N0NNNNNNNOOPP,P-PPPPPQQ[RdRRR^ & F` 0*$ 0 & F 0 0PPPPPPPPPPPPPPPP,Q.Q8Q9Q:Q;Q{Q|Q}QQQQQQQQQ4R9RRRRRRRRRRRRRUSVSgShSwSxSSST TTT`TUU橛hhCJOJQJmH sH #jhhCJOJQJUmH sH  jhhOJQJmH sH hhH*OJQJmH sH hh6H*OJQJmH sH hhOJQJmH sH hh6OJQJmH sH =RRRSSRSSTT`TUUvU~UUUVVVVVVAWDWEW~WW ^`^ & FU,U.U2U4U6U8UhUjUUUUUUUeVhVVVVVVVVV W WWW"W#W%W&WWWWWWWWWWWWWXXXX X!X"X#X-X.X1X2XDXEXHXIXKXLXXXXXXXXXX jhhOJQJmH sH  jhhOJQJmH sH  jhhOJQJmH sH hh6OJQJmH sH hhOJQJmH sH GWWWW XXfXgXXXXX$Y%YUYYYYZZ\]],^-^ 0 ^`^XXXXXX(Y)Y2Y3Y6Y7Y9Y:YQYRYYYZY[YfYgYjYkYmYnYzY{YYYYYYYYYYYYYYYbZlZZZP]Q]]]^]]]]`hh@OJQJmH sH  jhhOJQJmH sH  jhhOJQJmH sH  j"hhOJQJmH sH  jhhOJQJmH sH hh6OJQJmH sH hhOJQJmH sH  jhhOJQJmH sH 4-^`^^^^^__L_v_w___`)`*`u`v`````*a+ara & F 0gdxJ( 0 0 00^`0````!a#aaabbbbdcecfcgcpcqcc dddddddddddd4d5dbddd*e,e-e⹫}ochhOJQJmH sH hhCJOJQJmH sH  jhhOJQJmH sH hh6OJQJmH sH #jhhCJOJQJUmH sH hhCJOJQJmH sH hhOJQJmH sH hh6@OJQJmH sH hv@OJQJmH sH hh@OJQJmH sH hh@H*OJQJmH sH &rasaaabbUbVbbbccdcecc d dd d4d5dHdUdbdcdd 9r  0 & F 0gdxJ( 0dd&e'eCeDe\e]emezeeeffFfGf\f]ffftffffffff g`^ 9r -e.e/e0e5e6e7e8e:e;ee?e\e]eeeeeeff(f)f+f,f-f.f]ffffffffffff)g\g]ggggggggggggg@hGhHhYhZhihjh{h|hhhqitikɽɽɽhhOJQJmH sH hhCJOJQJmH sH  jhhOJQJmH sH hhOJQJmH sH hh6OJQJmH sH E g)g*gYgggggghh/h@hAhhhhhhhhh}ij:jllll`kk)l*lllllllllllllllllllllllllllllmmmmm*m+m.m/m1m2m>m?mJmKmVmWmambmemfmhmimumvmm jhhOJQJmH sH  jhhOJQJmH sH  jhhOJQJmH sH hh6OJQJmH sH  j$hhOJQJmH sH hhOJQJmH sH  j"hhOJQJmH sH 9llmNmmmmm.nlnonnnoNoQoooo-p0pppp-q0q1qFqGq ^`mmmmmmmmmmmmmmmmmmmmmmmm n nnnnnnn*n+n6n7nAnBnEnFnHnInUnƧ|m jhhOJQJmH sH  j$hhOJQJmH sH  jhhOJQJmH sH hh6OJQJmH sH h~*<OJQJmH sH %jhhOJQJUmH sH jhhOJQJUmH sH  jhhOJQJmH sH hhOJQJmH sH  jhhOJQJmH sH *UnVncndnonpnnnnnnnnnnnnnnnnnnnnnnnnnnnoooooo#o$o'o(o*o楸{l jhhOJQJmH sH  j$hhOJQJmH sH  jhhOJQJmH sH h~*<OJQJmH sH %j.hhOJQJUmH sH jhhOJQJUmH sH  jhhOJQJmH sH  jhhOJQJmH sH hhOJQJmH sH hh6OJQJmH sH **o+o7o8oEoFoQoRodoeo}o~oooooooooooooooooooooooooo楸{l] jhhOJQJmH sH  jhhOJQJmH sH  j$hhOJQJmH sH  jhhOJQJmH sH h~*<OJQJmH sH %jhhOJQJUmH sH jhhOJQJUmH sH  jhhOJQJmH sH  jhhOJQJmH sH hhOJQJmH sH hh6OJQJmH sH $oooooopppp p ppp$p%p0p1pDpEp]p^p_pbpcphpippppppppppppppp懚{h{%jhhOJQJUmH sH h~*<OJQJmH sH %j$hhOJQJUmH sH jhhOJQJUmH sH  jhhOJQJmH sH  jhhOJQJmH sH  jhhOJQJmH sH  jhhOJQJmH sH hhOJQJmH sH hh6OJQJmH sH (pppppppppppppppppqqqq q qqqGq8rwwwwxxxxx:yayzz/{3{;{W{(|0|}}}'~T݀寢hvOJQJmH sH hh6>*OJQJmH sH hh5OJQJmH sH hhCJOJQJmH sH hhOJQJmH sH hh6OJQJmH sH  j$hhOJQJmH sH hhOJQJmH sH  jhhOJQJmH sH 4GqPq^q}qqqqqqq2r8rvgvjvvvvw*w`wwwwwwwxxax & F jaxbxxx8y9ycydyyyzzNzOzzzzz9{:{Y{Z{{{B|C|~}}}-`- & F}}})~*~~~RSbc݀ހ45 z{ & F݀ހ1 y|!ӆ&'H߶ߨyhXyXyIy jhhOJQJmH sH h8hh6OJQJmHsH j$hh@OJQJmH sH h8hhOJQJmHsHhhCJOJQJmH sH #jhhCJOJQJUmH sH hh@OJQJmH sH hvOJQJmH sH hhCJOJQJmH sH hh6>*OJQJmH sH hhOJQJmH sH hh5OJQJmH sH hhOJQJ !)&ц҆ӆrsɇʇHU[ & F  0  & F 7 j & F  & F[وڈMNsЉщ & F  & F   9r   & F  & F  & F  !"&'(,-./02346789:;=>@ADENPQRVWXYZ[]}tti`hh5mH sH  jhhmH sH hh6mH sH  j$hh@mH sH hhmH sH  jhhOJQJmH sH  jhhOJQJmH sH h8hh6OJQJmHsH j$hh@OJQJmH sH  jhhOJQJmH sH h8hhOJQJmHsHh8hh5OJQJmHsH%]^bcdhijklmoprsuwxy}~||m]N| jhhOJQJmH sH h8hh5OJQJmHsH jhhOJQJmH sH h8hh6OJQJmHsH j$hh@OJQJmH sH h8hhOJQJmHsHh8hhmHsHhhOJQJmH sH hh5mH sH  jhhmH sH hh6mH sH  j$hh@mH sH hhmH sH  jhhmH sH ‰ÉʼnƉȉɉⷦ}n jh8OJQJmH sH hh5OJQJmH sH  jhhOJQJmH sH hh6OJQJmH sH  j"hh@OJQJmH sH hhOJQJmH sH  jhhOJQJmH sH h8hh6OJQJmHsHh8hhOJQJmHsH jhhOJQJmH sH )ɉʉˉ̉  !"&')*@AEFGHLMOPbcghijnoqrʠh8hhOJQJmHsHh8OJQJmH sH  jhhOJQJmH sH  jhhOJQJmH sH hh6OJQJmH sH  jhhOJQJmH sH hhOJQJmH sH hhH*OJQJmH sH 467yz݊ފ 2D^y vv^v & F v v & F v ƊNJˊ̊͊ΊҊӊՊ֊ފ+.8<htuˌ،+,./1578:;<CDHJඪѶ} jhhOJQJmH sH  j"hh@OJQJmH sH hh6OJQJmH sH hvOJQJmH sH hhOJQJmH sH  jhhOJQJmH sH  jhhOJQJmH sH h8hhOJQJmHsHh8hh6OJQJmHsH1ŋߋcghtuˌ،!bc^ ^ ^ & F ^gdxJ( vv^v` vv^v vJXZhiln{}1289?@QRbŽɎyyy jhhCJOJQJmH sH  jhhCJOJQJmH sH  jhhCJOJQJmH sH hhCJOJQJmH sH  jhhOJQJmH sH  jhhOJQJmH sH  jhhOJQJmH sH hh6OJQJmH sH hhOJQJmH sH /ɎʎΎЎюَڎ 569:ABIJfgikl׵פפפufufWh8hhOJQJmHsH jhvOJQJmH sH  jhvOJQJmH sH  jhhOJQJmH sH  j"hh@OJQJmH sH  jhhCJOJQJmH sH  jhhCJOJQJmH sH  jhhCJOJQJmH sH hhCJOJQJmH sH hhOJQJmH sH  jhhOJQJmH sH "c7hdddd eteeeee f & F  p^p` & F  ^ ^ & F  ^lstӏԏddd dddd2d3d;d { SUM (y.amount * z.price) | x ( ORDER ( y ( ORDERLINE ( z ( ARTICLE ( (x.customernr=t.customernr) ( (x.ordernr=y.ordernr) ( (y.articlenr=z.articlenr) } ) Exercise 8.1 { t.naam | t ( CUSTOMER ( ( (w )( w ( ORDER ( (w.customernr=t.customernr) ( w.orderdate > '01-Jan-1991' ( ( (x )( x ( DEEL-ORDER ( (x.ordernr=w.ordernr) ( ( (y )( y ( ARTICLE ( (y.articlenr=x.articlenr) ( (y.color=red) ) ) ) } remark there is an alternative using the join operator: { t.name | t ( (((CUSTOMER join ORDER) join ORDERLINE) join ARTICLE) ( (t.orderdate > '01-Jan-1991' ( (t.color='red') } { t.name | t ( CUSTOMER ( ( (w )( w ( ORDER ( (w.customernr = t.customernr) ( ( (x )( x ( ORDERLINE ( (x.ordernr=w.ordernr) ( ~ ( (y )( y ( ARTICLE ( (y.articlenr=x.articlenr) ( (y.price > 100) ) ) ) } rewriting yields: { t.name | t ( CUSTOMER ( ( (w )( w ( ORDER ((w.customernr = t.customernr) ( ( (x )( x ( ORDERLINE ((x.ordernr=w.ordernr) ( ( (y )( y ( ARTICLE ( (y.articlenr=x.articlenr) ((y.price > 100) ) ) ) } { t.articlenr | t ( ARTICLE ( ( (w )( w ( ORDERLINE ((w.articlenr = t. articlenr) ( ~ ( (x )( x ( ORDER ((x.ordernr = w.ordernr) ( ( (y )( y ( CUSTOMER ( (y. customernr = x. customernr) ( (y.city='AMSTERDAM') ))) } remark { t. articlenr | t ( ARTICLE ( ( (w )( w ( ORDERLINE ((w.articlenr = t. articlenr) ( ( (x )( x ( ORDER ((x.ordernr = w.ordernr) ( ~ ( (y )( y ( CUSTOMER ( (y. customernr = x. customernr) ( (y.city='AMSTERDAM') ))) } This expression answers the question: give the article numbers of articles that have been ordered by customers (ORDER!) who do not live in Amsterdam. The question was, however, give the articles that were not ordered (ORDER!) by customers from Amsterdam! rewriting yields: { t. articlenr | t ( ARTICLE ( ~ ( (w )( w ( ORDERLINE ((w.articlenr = t. articlenr) ( ( (x )( x ( ORDER ((x.ordernr = w.ordernr) ( ( (y )( y ( CUSTOMER ( (y. customernr = x. customernr) ( (y.city='AMSTERDAM') ))) } { t. articlenr | t ( ARTIKEL ( ( (w )( w ( ORDERLINE ((w. articlenr =t. articlenr) ( ( (x )( x ( ORDER ((x.ordernr=w.ordernr) ( ( (y )( y ( CUSTOMER ( (y. customernr =x. customernr) ( (y.city = 'AMSTERDAM') ))) } Exercise 9.1 a. SELECT PNR,DOB FROM P WHERE BLTP = 'A'; c. SELECT PNR FROM P WHERE BLTP = 'A' /* OR BLTP IN ('A','B','AB') OR BLTP = 'B' OR BLTP = 'AB' OR (BLTP = 'O' AND RHF = '+'); d. SELECT COUNT(*) FROM HOSP WHERE SNR = 10; f. SELECT MAX(DATEOUT- DATEIN) FROM HOSP; g. SELECT MAX(DATEOUT- DATEIN),MIN(DATEOUT- DATEIN) FROM HOSP; k. SELECT PNR, MAX(DATEOUT- DATEIN), MIN(DATEOUT- DATEIN) FROM HOSP WHERE SNR = 10 GROUP BY PNR HAVING COUNT(*) > 2 AND MAX(DATEOUT- DATEIN) e" 3 * MIN(DATEOUT- DATEIN); o. { t.(PNR,PNM) | t ( P ( { COUNT (w) | w ( OPN ( (w.PNR=t.PNR) ( (w.SNR = 10) } > 5 } SELECT PNR, PNM FROM P WHERE 5 < (SELECT COUNT(*) FROM HOSP WHERE P.PNR = HOSP.PNR AND SNR = 10); p. SELECT P.PNR, COUNT(*) FROM P, HOSP WHERE P.PNR = HOSP.PNR GROUP BY P.PNR HAVING MAX(DATEOUT- DATEIN) ( 5 AND COUNT(*) > 5; w. combination of 21 and 22: { t.(SNR,SNM) | t ( SP ( ( (w )( w ( P ( (w.dob <= '01-Jan-1900') ( ( (x )( x ( HOSP ( (x.PNR = w.PNR) ((x.SNR = t.SNR))) AND ( (w )( w ( HOSP ( (w.SNR = t.SNR) ( ( (x )( x ( P ( (x.PNR = w.PNR) ((x.dob <= '01-Jan-1900'))) } x. { t.(SNR,SNM) : t ( SP ( ( (w )( w ( (P join HOSP) ((w.dob <= '01-Jan-1900') ( (w.hrsn = 'new hip') ( ( ( x )( x ( HOSP ( (x.PNR = w.PNR) ((x.SNR = t.SNR))) ( ( (w )( w ( (HOSP join P) ((w.SNR = t.SNR) ( (w.hrsn = 'new hip') ( ( (x )( x ( P ( (x.PNR = w.PNR) ((x.dob <= '01-Jan-1900'))) } z. DELETE FROM HOSP WHERE PNR= 6883 AND RNR = 27 AND DATEIN= '20-Jun-1977';     Author: Sander van Laar  PAGE 24 dd e eeeee*e+eMeNeUeVeYeZeeefeiejeveweeeeeee f ffffff f>f?fSf]f^fcfdfkflfxfyfffffhvOJQJmH sH  j$hh@OJQJmH sH  jhhOJQJmH sH h8OJQJmH sH  jhhOJQJmH sH  jhhOJQJmH sH  j"hh@OJQJmH sH hhOJQJmH sH hhCJOJQJmH sH 2 f_ffffff$gkgggggg-huhhhhhhini ^^` & F gd8 1$   ^ffffffffff1g2g?gCgKgOg[g_gigjgkgggggggggggggggggghhhhh+h,h1h5h6h=h>hGhɼ֐֐ j$hh@OJQJmH sH h8hhOJQJmHsH j"hh@OJQJmH sH hvOJQJmH sH hh6OJQJmH sH hh5OJQJmH sH  jhhOJQJmH sH  jhhOJQJmH sH hhOJQJmH sH 2GhHhchdhhhhhhhhhhhhhhhhhhhhhhhiiii-i/i0i7i8iAiBi]i^iiiiiiiiiiiݺ勩z j"hh@OJQJmH sH h8hhOJQJmHsH jhhOJQJmH sH  j$hh@OJQJmH sH  jhhmH sH  jhhmH sH hh6OJQJmH sH hhmH sH hhOJQJmH sH  jhhOJQJmH sH 0ni{i~iiiijDjcjkj{jjjkAk`kokylzlllmUm SV^S`V V^`V^ ^  & F  iiiiiiiiijj jjjjj j!jBjCjtjzjjjjjjjjjjjjjjjjjjjkk k kkkkkk?k@kok j"hh@OJQJmH sH hh6OJQJmH sH  jhhmH sH hhmH sH  jhhOJQJmH sH  jhhOJQJmH sH  j$hh@OJQJmH sH  jhhOJQJmH sH hhOJQJmH sH 3okkkBlRlzllllllllllllllllllllmmmm&m'm(m1m2mSmTmmmmmmmmmmmmʻʬʛʻʬʬʛʻʬʬʛʻʓʬʓʻʬwʻ j"hh@OJQJmH sH  jhhmH sH hhmH sH  j$hh@OJQJmH sH  jhhOJQJmH sH  jhhOJQJmH sH hhOJQJmH sH hh6OJQJmH sH hh6CJOJQJmH sH hhCJOJQJmH sH .UmtmmmmmnOnmn{nnnnnnnnnnnoo&o  0j*$ j  & F ^`gdxJ( ^` mmmmmmmmmmnnnn!n"n,n-nMnNnnnnFoJowo{ooooooo,q.q\q^qdq嬢wj jhhCJOJQJhh>*OJQJ h8hhCJOJQJmHsH h8hhCJOJQJmHsHhhCJOJQJhhCJOJQJ jhhOJQJmH sH  j$hh@OJQJmH sH  jhhOJQJmH sH hhOJQJmH sH  jhhOJQJmH sH %&oFoGoJo[ofowoxo{oooooooooDpZpzppp,q.q4qqq 0j~ *$  0j*$dqfqqqqqqqqgrkrrrrs s$s%s*s+s2s3s6s7sFsIsQsRsXsYs`sasgshsyszsssssssssssssssssttttt t't(t j$hh@OJQJ jhhOJQJhvCJOJQJ j"hh@OJQJ jhhCJOJQJhhCJOJQJ jhhCJOJQJhhCJOJQJ jhhCJOJQJ;qrrr.r;rUrgrhrkrrrrrrrrr s&sSsssssst  0j$ *$  0j*$ttkttt/u2u3u6u>uIu[ujuuuuuuuuuuuuuuuu 0  0j*$(t,t0t7t8tRtStitjtqtrtzt{tttttttttttttttttttttttuuuu6uuuuuuuuu|x|x|hxJ(jhxJ(UhhB*OJQJmH phsH hh@OJQJmH sH hhCJOJQJ j"hh@OJQJ jhhCJOJQJ j$hh@OJQJ jhhOJQJ jhhCJOJQJhh5CJOJQJhhCJOJQJ/uuuuuuuuuuuuuuuuhhB*OJQJmH phsH h80JmHnHu hh0Jjhh0JUhhmH sH hhjhxJ(UhxJ(uuu/ 0&P . A!n"n#$% FTu#ŠLhJFIFHHC  !"$"$Cm" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?.ɢ\4S_:V|>6\[]H&lO/,xvWj| i{Z|/t __\kzsʫ`䌰_rlPё^S|\_. h:13:D`]y<-:h /=} J;xDpĉC,QE|࿉?tϊz#SKc%ֲȅ o-6K@ 6#ƕm5K(omU 9:ddMjEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQER0- 5K¶о,EY;xllwV%9VgzǀHJ 8Y(VFY\ zm^"U%ċh'ҵ;4aoy"}nfR`<@ʱ9*MP>:]l?4 5͓?G7ك Mh5Myg4|O>^G/_P >o'Ə>o'ك Mh&5S ҷ#|;,OG_> GxwNǧc+\^ſ^G/_P >o'Ə>o'v`?E@?zMoygl_>o'Əh/(z~:|Mo=%?I=d&4?E@GhGi{@0zM~D?&笟<笟=}]?~D?&^Mk{ϛz}ϘY=c4{P0z| @?zMq$ w+'?>>|O7R^G/_P >l͓?O1,Əh?D&^h[|O|O/hWf/_Q4 (7?G7?G( Mk{ϛz}ϛz}ك Mh&5i[்:%ry|'4z0dץ?h*?E@?zMoyudgY:g4?E@Gi|礟=}]~C?&^[|ϛ&?G7?O4?E@GhGh0zM~C?&笟_>o'Əh~==ko9 6MK͞e(O Kϛz}e̓@0FW3>Ch0(((((((((((((7+7kgѻ$gHdvzשxE}W yoqOG5u9|m4MZؾ\ZO&Kmm iUdTf8|J^[z_P[[{KI݋*vǂN'\OUK/HegSh@y}/Brpr='~kV{ou>jX\< p@BA8򹫪QV6]&Hԧ.L> Ef>os'լ Oy Dvq)5x?n^Aë=xdqc+$Ć$O|9״=o&^k <N9-84^Wi<xoTzv~#CRA%$r(ulHG|E𦱨délVsd1ϙ.9Np +?-k]Ӿ%OOڝJK pxV#g88{K4k:t2)kdP+Q#nǣU7-O/kе&{Jm%J]: ̌hԔ Ndv|]Ÿn<1V6kcWlf1ݷ,6`ݚ+/tT~Gzs]w ^|Ygh^Ѡ~@ y=KO]?`ѴWJ8.1w-F:E._wVC]G7/'.`)F c' |4OZvuZvI #\< ^ѭE7ڵ<J hE!,XaE^]NGlGKIG$> 'xwN9=cKv==u4O9AཤwO c#?hk[&H a{r,57nr<1Lw+ zwōw|qm{l4+q#^5 \FLHb5Ubؓ3/¯NCx7R7bim ^Hf:2d^/#x7đ|QeqI%-Ȱά$¨$֯ŏ kuQ|W4pݣ.V HSյ3Z'b)xx#Zdž&;bBk6wpTOpUIi/>-h6~Aqt A4#Uc$V d“!p"x[/ #,h&G3]U۵NUnOU-G>)L4hDٹZp 8 IGZ, O>a} uAF9o 趞'}xoW~iڬ~-ldu7Mj$i]͵APӃ_E{_&.2oq(E8E|i`Kk𾈣s?,K4#x赪Kќu:tZĺT,oe]Hd$*yA#cr0'?|5Z-Vqe=DaH?yg4oX|!Yn/WNa5-tfq$s*@1 c'm|ox Nm5-.S{[kTXx 69>TBя ~+:l- ydK8[q=vm 5|UşK׾7WZMޝskt7+#Ÿ+3& m̀+U?uKo k3_}+Hm:,S$ dx{׍Lnqɦh:χgtKv}UmndV_?͒51 -7nI?(Yt_ DV=ŋj7 4OH^߀ qĿIಷ V;imggUxeE|vA qi U%m[=p;,!J&^;y.{Q,M%mҫ~a014u kzhVwڤдֶ=Q$K:/~8Mr>3sEu/ݝBKS>tyS UH2H񗊾"xcĞ)4k q<i]y<ɑˋv0I# /owmG Ou}p|c ARV ZXxië%b$&-F@I9HGfgNmB3MM&[̺v!T슃ζo( v~}>(Ejd+S(((((((((((((WyM9Ook|R3S?/kþ|{𖯨:wzTLɭ^Ƭ쀒f jFɩ>T*Ga xDz'ʼ5>1}<_73y85?غqFGII< 湿P P†a@]ODV6$.IhoW7 u?~P A=}av:O*OT*C/.C u?~fXGII<ʓy\(o?C|0.C 7[o%?gލڵ~v=4􊮱LU{A |ku*mR2Ke (&?OJ9cdY$f=IyR7 ?G(?͏ yR7oW7 u?~P ? P{6X]ʓyG'ʹP ? PڟٰtT*QT=(2 ( ( ( ( ( ( ( ( ( ( ( ( (3S"Ϋ^Sٻ?ȳה7oA-@$jmo Y4!j4e-0a2g5lZ5+Ff}H3,}?t8'ڎ;=A|Aqm6-1 CB@Cǹ^ 2"_3S.ŗ7>5)@ujKWPwVbw6*Bӵ>\'a١g8bdth K>UvU>?Ο={ilKo38l% A ''}cR{]O! .niee%YOPT^MK&W汨٤WGSbHQJFNTdPyBSӖGҤf;ah%{8h3g0kIooej{k[1lLp i.ZBL1KEqCI bޟt%5&D bW^8_4S:vl#VHyHA#p~yMRjc.ԷFB$(٢ݼDBrA۴Hc;mgYdD[NbӼN/+OlPK4yj@idտ5_Cw}n4.Q,k&6fuQ' Ju_u 'X,1_eYKy,\pmpֲu_k?Z}&Qwtt:vng8$+n8 x7~+iwOZ]\_jU͌z f,F N:Ҳm7źÃk+4;?>Uly!2|OM>&6:̺} Okq5ƓFe,FA *ޫi:H꺭3spo9q}H&5xmxVDѭ[McrGJT\60# Yj"YFf3ԭw% ")i@䜜qStK{-gNHn#p/{~&. =:Q[}F=p${i< H1,mNn;jGIMig$"-<1S7 \o-J\o o+pDAC+ⷍ<_YLK쮯V %'>K&wR7aX%۝шp9 j"^`~k?x7)Ff%s g7nx4wz$s%hpX΁xfu޻pᯈ1.i^\YZ2Bڻ!zftV}m:.|b B. tV*kn0W4 V}fi-89!8F@s:׼7d~${ 26g F )M;z'.y\Omp3 dRwo=x8~xPuy$#ne-TIwRaBn[TV|]kWrKiWs b]p–6x(q5xwƚG|E=FY|q, ^TfUF,nƿt5 JQӾС{V(Lʭw.T1*UW_oi{ n`1TV` ºW*ڍuC@*K9!8o>a߳^&ìhm`29=UsÞ[o74-< ٲʰܾT)$85OϏkC=?X&3moG>aGC@/|U.h(%iaI68{8>ij?w}scj׶X;KH"ف#=rP+fj U㿳ϊQ_ *( ( ( ( ( ( ( ( ( ( ( ( ( (3S"Ϋ^SٳH o |S"Ϋ^SٻH8Im@jcΰ&fҳmTb}Z=+gAz]y_) ,L2ÖU Ah+m>!SSt-Y$I$.eHgHr$@dzuOVIn߶jhb 78t!,D5+ YԼ}麟<;jri@Q@Q@oO"^;sPi($S.iM?xCI bޟeFG21Devsyv7u8U_VM5;L׭tmnŴy}M䯓kr˖R CPąe%N$VO|=^h^!wo%b8SGva^W >A{2M;#,1vbGEf^{Y (4ֽ]S+MCCguy9.YC*3LV,4-U<_xf> CKkj׍,ߗg/9ZT'NWNF#ּtsi?ꜯw+@X4X&[ 5c[pĸW!ˍdEtS\m%+4RO@ima^΁ḷdE= $o k+[(mX ws$6;W|Sbd.5 Uycskuk?Lӧt e:.d`H9`Ydzז'~%Z4K8ɬ,!hLlTd`Hh1>5&Mֳn4=>H#y+ȌloNzZkiZm$mRͱ `N̏Zn{MA/5vpCBrXg tkhOtkFH//%Hх ^)3dQ^U.񶃢xNm >EaIQQ7H0Qui:ԟ_\x*=.EڣYW3xdCg x7)OZ3BCyoș:Eldzё^ͷ"j2h^_OhJ<212VeO;Ú˧Yif;ksFj ϻ}9pJ@zё^/_Xr\QI+rt;OԚ7@MEmA8TZo< ZjE{bKȮ<0g˅wˍ9\2=E|k <*tT#[dO(%q1(v1>> }ceu!-ֵmr Naԣ-mM/-^brb4*tB{.+fsBR@Gv.F8$t&CeH{M=CE)\a c qq\W~%'eZCm}ΣvM =-X$RG{y` ퟔ+_Qjq%s ibPA+.?:F3j,R5 @/  ?(մ+VHSVlUeH*0<JfhĖ.Ie(ծSX?0k5/HV-fu(lv_\DyJ/mU-u!ЯZ%w3,e**H}h1ZEEVF!/˴Lr;))kC?]?2MiBs$%g ^]k[Ƌ#[cT?6RA^Ϊ<]X 3C)$q=3@W"` 6,y /tK+N־R/^+_"9XUV"ϵR%1BdĒR<3-ɻX $ʋ ;'k;St5og{^sbȲY"!8-H =-V--eUTC,L|rhsYtjɬu}6QfW0]@YX2$thl!,# Ebxc_K^ݫ;!`Հdpr Z 5 Z^hz>ޤVN\jlW3E_ veP:6iQXiZui!bEW^gM}Kéhi45 K-œRp5x?Rc+ӉSJSolw}X0Ggyh'+#]|[>\ao$\hFdwl4,̊1nA.u}nGӦmZOd#rPh懰hҴp8n9lm'׽Uxio}by_/aKyvF R+ f'O&4fMT _9h$Ic0y,@m۝wNi=#^gfo%`Vʍ@8,%%Ň?i4s:u.Cq`  k2i5\#ӎ 5sj6ښ\[^ش1o>B@@ ӈG|&t&ߍ9v4] -.%lpYF9o kkx_DWq;M69ry ]tWZ:1I.`L`6v3iu/h:lZ(T}E"̲Z.ie~nGLּ$dPYC TPU>AɂBe@PXs_ xf_ h:l$,Z#ԚW:;-(qMsq%đ#cr#HQN\Tg8oPVIμ4GD"M 7PXHwa8݅BMާ)2<7z-ku,r 8#s,} ?Z هg?(گ{xmWA=(((((((((((((( ȳה;n~?,7kx *k:/k׋1y l-xX bF{#S<xwPMPŠ[hIcM;C0uV#tS^;}_ iNp4ՈDp# g#kSjΛa]$k"*X$Z-xsQo3MӯL |-Ē)@S ՘.mv^a xZ:CǣjwΥyIl%č#y%VL,PduڎiC>Y;y5 NcڬY[^Y{gq ŴIUAP=/ V=]xYfoZ(j \I'q'&j51 2HCu ؂J ( (8ߎDwbQ;H\:>:IG"sOh֨obW:,XJAM,Wv獹;|2w| k:uh'D\)ar/.uЭ*mZ0c)[_/[Z@Yw.ocQwgmNhi:H\:R,rHne9AVP"|>P 7|s^ ִ}9Q9&f  n;y8qqg5jz~Mw)ig'N%%ٿ@$*{[.a9HFܮ2hP#~,--52/!`F/A.埐b3ǭkz~x/l.4ٖ!a8a g5'Y7_:ipӴc2ÍG*x_xz 5U..Tx. Bn7jOgoIPZf ]G|gwls9F=hZxSQ~$[f:wFaf;vcdF1ڱw]wռ/H=}ksq3ilcw%665!e?2X|1}goumFE 8[2 j_cpKi>v %q<2[4HHpcYH+.^Q KİOtaA#T4_hi}I{ʑ_*զA=? lO|p=AzӨ覮Ȳx'FGEum6 ,dh!: jʞ Y*6I8yb9xO\NoAޖ&Ḃb܂Po i]x|׼%դڶmBfG!rk,h W]g?\Eogig6:lj޵:"u7MQK"Vw4KK+?/_A` fTg 4-C?Lڵ֕f[Βyq *HSLQR9fQpI:jzgcA$@'o]\@lt1/-~yƞeRW g$&ND~Ѽqm8ңos M%@qR }0ʲ=E'6?;n/pݷq2E:ENj3sII)F+ثfj TQEQEQEQEQEQEQEQEQEQEQEQEQEQEgxEW q߳o/@EW q߳w/@ח^om)/&)8 HU$:|vsF6xIO[Im>.bc2Nnm mYa8OzG{b>|Amh:1O[]3;{BK} T'vdkk+q GĺK2O$B# T?DM::{IG g%n"ǵ(A (V8 slh7PEPEPH\?J>/GGO"^;sPi($O.iMqզk~մOZrFtCrC*z$ad V|oo<,(𽍾ǩ콀]Kjo;̍#fW]bE HrK=#wn/-ak7¡it޸ oڮO[j#]71X Q{60x?{p1ڀ>|w_ ]ukݨ:zC 9uUB\ቔBd|s N[Vk?ohf4P4Pa|̛ 7_EH Oqڀ(覮&hk\$#_M]_:2:V`GPϊqTLysVAmሎY LD͖`:׉x#z~CE/&0,fxw`$҂"wK++m+LKkY˷nUlzdsIyiw^^W0X1$9<+aо&Ϧhzh4Vi#ȱV"<FaT8/ xk> *u8`$_B,m\[\).|\,_ xD_6[YkjcI7ccdV\뎤JIm6NNHOugQ à!9\;9 -IgHVtp\Veϗ H$ȬдXǣi*qjZQ@|S0WW?>)F(ب(((((((((((((O:yMf ^-+O:yf~x#?~6|LTVܐe(/g.$X{ܩvx§,G]z K{_YjէLout_ˎ~Vyk)V֬x8_IJF^Nc`S ; ݓqF¿`>N6Z~xxx~_ iyX`'\}d͂J&+-dn~@mV{YYQiICTgsT*r.| ׵b{EfAZY B+FY+sJgXu]2յɘvkm1UNI'@Q@Q@oO"^;sPi($O-M?xŽCIw?< ?[:|sZO&o^kV. *޼IDEqarjI>(YWk%|?gu;:y6 && Ej0v~'bŚ:Ǩ[Gobyͽmȹʜwkm]:wBgC4l6p" _16j|R\j6]jWPXiJJ%,q |1qT[=.bB_(H12ap?MxgKw/<=Y](ч!>/t\i'Ƃ4t5Zb΅R?D0_?2Yah:6R`I U7HLaF*'OXǯ_iZMi%啝GǙȎѳa.y}_u |ZpuyrMoI,0 cBmė7:~qe x$ye8, :Uk7[Y2p|tdu;@xZjZn[Mkouos{i%L̜qA\|GmBKXm#O%:bTPܞ1Bg7IXea 3u{j^+֭-M=V(^WBJcb1mNӧ)o7;I ҹ|9_9"NŖUzX;TԵ[y/X|é Oosk,A6eidp gfeuj g4hqnvFw@ xw.ho5֔kC"!rv  m7n/|I}N^MOv+$ m/2IGjo[^цn-vA,BNw+V# +m8&.xߌ$ڌ½p2[\|<@]T\nm7] 5b}m~k* P>RF$*i:, M%>k!ocVk.x菋mcŲux,!Trn2 .QA#3xz)淰{{F?$wE8daH `0HKOi^/N-eŘ  (f^iS4VPڤ QI %s$!Rg@Ua@)7Ak}a{]K+Mo&pHaZkdždѼO]iq]I`p㑶%'=(?x7)p-C'Mss?E5t^ VNzZ-SӼG㘡K/(Xn^ZvN6J8_lƚφzmc75ԯb[8&a"~Dy5m|Sſa״JY#@fۏ1*_`AU.zcv74,#`ݷ$ -Oƛzu&-غ$'C*<1qj^$j[{kHt *^h9rtS9.Agf/"F, 'cXQO2S5gGݞ ̗2[gP^\e;v=7pzoī2me桪Zv%ȵBʌ7gV~$oxo&OX4r[< ݺȸi*b9ݼlf kWxsguSJxFOi>!yYKmewͰK4snr#P6 N?54O7N˒E/p5v8θ~/xD&}: nkHH%±rNA]7<+qy/ŚN/[VC $*9Cl akPZx|K}q5f[*&cE$ĵ^]^[?OjpiP,ַBtd+$CޣN]^jZm}$DG$"FĀN:yWz|llFi P6sF 'br)ko\Ejb0KUp`p Rs7w~uuc H gt p2N:c$6|S0Wkok1 FT ?y']WA=(((((((((((((( gWh x ?_T0uNWߟ3٫mu ܸs{ FyEO5#Zg'K :o']Wÿi7V!ԭdRmb8ܮ(|!Mdh7J<tO&_?y?(|!Mdh7J<tO&_?y?(~-h]|)~xOЯmU2H:$ Oh #^1Ь!u}H e8\dE{~24CCΛ|ץQ@k :o'G/?<̟MzU~24CCΛ|ץQ@k :o'G/?<̟MzU~24CCΛ|ץQ@k :o'H~<|!<u25tPc5Cx/F: ͯ _5~25TPCCΛ| :o'^Ey/?<̟M~25TPCCΛ| :o'^Ey/?<̟M~25TPk[C#Ks (Fz[:Mύdʰ@?/l(|!Mdh7J<tO&_?y?(|!Mdh7J<tO&_?y?(|!Mdh7Jq yy=+>0WIa!=ANL.2;k;u$I8U ON@ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (ҼJϋUnHfSP(((((($RjMjˌefǮ&$5>Lm F7zKYur?-t;2x 3Փ zO!5QEQEQEQEQEQEQEQEQEQEQEQEQEQE խ~m0!8+T~S}~/<ǀ#5% o{!?W<Ө +g}mp2DR=x5g#kͼGkm@֋kkqubBKI(bB\ᜠ$fԵ}{04[a=^{xxݘ*Jem3o:2=Exxư4V/?gmk m82v|4qΫZi֚֍ym3ΪQ\Υ $e.0#ܬC|r=>Z״oxwM> fkK$]h qi2ī/ϕ]G;.u; C Ei3},/N'flt(#Mz6I#wHꋐ2$Đ+o|Y@j U^ԛO6I0.'W#A%irTe?ğʚo/][˅7-~U^z{Ey}~/ xiped&p29#27:QnLNV[c :ca+9 =zφ4mc񼚛hK8D]?ەУz`<@((((=+~?kZO |,FO5#U= ~5G4գ(կC?x|! Z?x|! Z?Ώ΀<(գ(կC?x|! Z?x|! Z?Ώ΀<(գ(կC?x|! Z?x|! Z?Ώ΀sy}$uߍ?gۆ|yIehQIYlȦE\c9Ώ΀iq%ȔGl9,刐XdG@UᏊ9?AҼ},th߫=䜓Z_>FzG@y oj ojסt~t>F>FzG@y oj ojסt~t>F>FzG@y oj ojסt~t>F>FzG@y oj ojסt~t>F>FzG@y oj ojסt~t>F>FzG@y oj ojסt~t>F>FzG@y oj ojסt~t>F>FzG@x~7!oj u :}6lyr&yG~t~tŏޕ6xV9/We`XTAYGw_Ah \_^J ^gvE$B U';F="K gუ[[oFm;pw)PAȋA#EQOzE5A(<ȬUI @bH$ {G@>_ö]Z۾=qPG{ c! $w`5|K^Jf VIb!$tˉ.do:ym"ƊL?:?:C-FNLU@._)Ag0s-fYj^=ź OeIn<O=j<=f((()Z2=k oZ{_L:uiRUɓ_i3iyOX嵯:DLmDo"!, }'@ " \o?44ߊ-VPZJTTO|8FGUi WI%LjZ=h $P9W͟w~кm,-Ά}U@yH/e={Ҁ(((((((((((((((((((((((((((((()ZoP|?_qVh? +kD {K$#ݾCW'xUY]+mu[Sl1JX1@[Q@ ( ( F4yY5JNfeRi'o2 njπ jկ$͍+CPT\,BއB׏?'-!.g^c|no-+v_jK[xZ?:gȓtCsrq[е$55E:+m-x CQ oCkHjjTWZއB׏? 3Ш=е$55I oCkHjjtWZw +;iGowkR؋SSE+m-x CQ oCkHjjTWZއB׏? 3Ш=е$55I oCkHjjtWZ_'k}gcux uO _,]LYbqhYEy-!?m-x CQp= [z ^>CPTZfz?}ƨе$55E*+m-x CQ oCkHjjTWZе$55E:+?m-x CU];o!pt'Ɨ ʙ6Gkwfzm?}ƨе$55E*+m-x CQ oCkHjjTWj<%5O- [ -|t X1|Brp}*-!.g^{ oCkHjj[z ^>CPT\,BއB׏??}ƨYEy-!?m-x CQp= [z ^>CPTZfz?}ƨе$55E*+̮>6xNQӮ4E{x$k[w8@ S[h g_?}ƨYEy-!?m-x CQp= [z ^>CPTZfz?}ƨе$55E*+?~-Ru ]a,|Ha9v`Wr]=&F~z̒xm6-*Ho/.9H%/9⿇ls!"PwG/v<N[z<#E.'| _K[!T0Yp@8*h >-y-!?m-x CQp= [z ^>CPTZfzԊH 2O^:}/-y[j&# @Oj3Ǩ)JGO"?iIY/@rta⧉ki1,b<->߬H#ԭ٦Iv2p< n4Xs{=ǵy߄kOR{[61E ;9Ha 䞋U[O𾷭jVk.j@C4K1Jn"rFT;OvzoG^tτ{C5۬Y s/ pa]䨢sw= E7Hhp( rs\z X<M{7^үM~oZXf۳ctu AXs 9~ݪۃSWZwJǣ^cx:tȵ?jqiS\hʮv*IfŽUx:nOx3,k2&'<}p*UʺGOj? [c!$}9n>'M۳{ =v+O\4f}Yu;B4 /K{He^S0!r2s1brw9\_'ZukzD_b =qNd~`q|oռMVSxR{H.5m:kGe!,\jGʖC|\={Px3?xo}uuu\[}; :k˗ BQ2zއV_>֞(7NKc .U+&I>`\ Ees#ǵ'\φ|us{k;:{9BUfE,#Rwg~>=ףכ_cuO/4&=#W\WeTӣ]B=;J 8fG0UXFqE?Zi65Y.\BL66]\^(]ˊ5i0\,tuTJ<'%m3L<7S$lSIe!EbꖱȶFTƁ`H`y2Yh:n72G>ʼHoc+ 8KEm-fc0#؊l:\{QWk(x x:ޟ_Yugqÿ#I"Q#Yu,uOcYY2oebGHw;`r@敘sIWa3ʼ'8z C iW: x\QbvPX0xf4~џ YåvdzƼ?oT_|]o]^&d=Λ]^BQ802FFGqOQ-6q^mOxYaiݽ%EI-Sc\/88ֽį ]xr7W}YjN;b&ұN@v;N=(8N=e{I]>s<6U( Ԓ1|O𶗭j!]kQ_iMö* f;(|1x=Quydqª\*A `?m^ &OgޟXM־|ͅ0T,̏ZhKA}gPn{ -OJ^ģs<>j.Ocq0{A|- m> 57JR+-8k!nh%{@)84f]i:/tX82G#FyXG8 <9޼M[JXf5F: `f5$s ?F ?-Zczׄ|\g_G^k~I,j`' qGD :Ho/!d:еhC}{gsu |D,L4]ϫێٯbE >o={8klCr6ⳎUӈCxw¯iz~kCГJPѵO- eϴ[x(ɴ߇~*&wˡjWCX^ VO8= ־9PuEmm+YT#ddv(E Ny=B_#> ּ4b@Ģ9C0뺻[x($/s~|<uRMG`Ƀuslߛ^{8߃ziǹ m{ñnB,Ж&* V 2=;(E .cxV𽦉Nny5F9gUD,yO4h|o8Rd˚qw|GθTxJN)Fs̾ot6{Ӊ]]f)%ƿgs6`5H4x'r`־o=[x,N{N|870#<9oR03* &x\U%?j@_h^sh†D@I!bwbiE$ڭ. N1a>rW$g⴯#DEtBKkn򥐻D ʮ n<eNV%>ҁI>|>q4\9wl|1IiM YoŴi $yx3$.V<_o5k}zG`!3MN*v8ߴ[x)/gt4XYxVU]VI]0̹h}I-sw/|70.-SMXj_H6nm$BW |I{hE# _^ 'YY >dH*<eA=3uZR\]j:37:Fo*aT;.AoiE >o=SRf̶%Z6v9q9]G}{KLdI^o=|}c+ x4|y"sM'a7GSWψm<9I,Pc躜 Hp@ۂ]¿Rb?4*]3VY57q"myrDA#u{W-?Qyw>oҠAq_hg:DV q½f};GtW1|/bUx! vlN?[x(s:otq]ᶿ:Kx+6'fXՉUc;\9keǚq8q+ž8)j gk>xx-łizW /.# k=_^j]oᦡ~>GÚRk_؁» $`H,rF}{hN9Ws|E/|@׼>04Oh:/n##E$XcPIvOxS^#uCynڵӬǷYes ^}{$Y|.}'ZRĺ.~6 "2Tp =G}{&)$(o=[xf;J*?[x( |q%y0Vş \xpi^BE<4xԐTП2 B@F axǯDM\!%Jٙ+'@;X1 uk4Bn&a[|)s$F36hxǖsֽn!S}ĀP01$OvW* YåTuC|ArAΥB#W&E,@$ kgehTYQ^-ſ߿Ywg|+=nP%V2vdO)]7<|BU.q]Alm":fFs}{;rGk~m54Y{Zz4RB${- ~@\I j'>*kOc%BF ѼTI뎕}{hE{8-Ꮔ+> OD P>\/.ὒO5wa(g\Z~&kR "B^dGmc}{NG>5ŪXxxj_jFq,iC A*qk~E7%֬ldc-I** dEz-?QjϡʓxJ"Yngt@aG9'¿&5G*OM["-Rmt{ZG@Ir쨃ܷZ.yejvemFF19\9@ _oIKoVïx_.Ԣ3Cʪ>`@6w m?R|+ms/4]$ZM] b8rdt_?ž>,Ӭa=@%Etx`8*OM["'&-]Fi5;9uq?) WL;X5+9n$Hu.%szP- g_'&-]ğ +o6e3x7z}._&(#?2F@'/ZƑ4˥7amp #Od|5 m>YdY0Y_kwzT+Kep0 +ߍy_?.V|*OM["T 6w muxrWN%FO[KRAA jA<,]kCtDHg?#!V *Uh?>6w m_T ??EYqck#MK˺p& 72.0*xsڷ}&OуSȒ>ГGpFqL_'&-G*OM|["K n"Ucc;Xv4zyqqogkq5)"y9R}IKoQ g_T.ٖQάDdֈ].YnRK<}u& ~^['&-G*OM|["-GO㳾x)Uʫ8<t4ğ 1o2?mru?xfV_Ʌ$#Lڊ:(:_٫<"@h/¯&5G*OM["ԼskH~fQZP&7c1\,O9|-XM{XlbfH1*XNR|+m7O ǜ*y@=zsKrw|3f/cEsw}.諊i.Ta~¤WD%)R|,kJQ_\ A" qH܍LUO=}kYiQn'8UX$?R|+m¤WD%*]_ľ%|?&/' sq55 mՓXt׬>שB&E* 8θx+}b8T x;E~6w [>*3;.LGD)C \r/<_v!tںYJ\]Md#G !ڒ!$!d _o$Y&-]$ޝ@?__ f++]eJbP.pK28+ҿR|+ %+'m^ZZ澝"E <)R+m[¤WD%*+oWZZEKMH[ɸ+;J*`|B4og{w5LsHL2^ )ޤ>6w m_ciMoTJ,Si&5&ϓqYq) &H6ìk7\Ү4Y5{)olM̊~XZH̪.iR+k ??E5mŖ}FE>iXĈ?ՙ"Ft\?!Xw< qI-ƙo L !i-#fGYI *H#5~IkV=$NIȫmkXpI$({ҝsIKoQ _oMWoEeȖXw&jIBN#kTŭ_}#B[=OQ!>_0[s$AyqW >6w m?R+m[.=:_3RðG>=."ܞa0gc#(u3k0,Kx{U0jd"揇۷vv7TI8m>5 m4kI%w#%2*q#f8T ??E>5 mh+'&-H~|,#ᯃ`["j( =|{73wt{DA#!g% *W*=@(?󖽈א~̟+zyW=gF%k|A>'֧׼66^Eݳ`nQ!9"pPe#<"9~MfW|Wa` +^HHkznJMn uդ|ЇʱT*Yi^> <.ig0Y逨Ev :>xXs^6la)oIW­'P-N&ЊC"u|=-޷X5]>[q,{l3me em= q#֑UK3dxu:[<3?..cPOv#“*6R@wpMrZm֓Im.V#;_{Xl3/9=j;x)]H#LumǩhZKx^_ ZfyA4*P¡c]G|'yqᅳ>izϥA#k 5$j(JwDLQL FN^xAУXtML"Eةghqjz~ xV ;4t+=3WI ,D:}yk+fl!@pZ& gFOj04+'NK<[Ow2"ԫM 8xKƚ?l+]u],D-&W1E0$̒HA @ˑFE2"Aet'jyEy7 i*ZR2;a?:;>@Uzp_ -gO𮹦]WΩuo"|(=wDWyoaZs~)gXD#9p%!m,A'm^@;q{}"mk6z;K5 mQQ#y1.ígƺ:EΝYhKnk^R!V=~Ah;{\Cq=\omm$J>`$mvp֖{IޝcW_K$M R P7~ {IޝcWPϾ kk |:n$ sR0iYz )BNAQTWmiB/j7[jFDXm`9ʥ×UT,,=#8ȣ#ր<þ$ݎ%Bϧ'EKi;VKJI0C0ە<:W>/4H,`n*4ıٍ[P(9hG/,@ gKFG ( (Bm+sWš?N gXa9-f`hHz\Mό]7~-Ξ.,u{% z̍R;ci"-zxḼe_Vb\@8cAQCiڤ4P0H&4,IDʯ0(/|'᛿`k?/V.ƩI./hdoxá2QvV x^Wmfz=΢My5o9wml⛨OsIҭh,@(°#']x:^ kf\߼rZH=GP#EQr*GU20#ž&_~ס, yRѤHXCgezJABΑ6o/١)9.>WgL8T_bpG$Z)\h*4i5HcT1 9X_cX,5xcQd(Yz`zZ=15qhd'0ʹ "`$y4Y|Aǎ[Cuy/+I<+Cumam!_V{HgKyN lՓ_Nom-]b,I,{M|7蒙t:+wR[) gd(I;"\rph֊ta JI/4bk!]+g9<]Sqb۬E͠ P3%$@|rfE'}qTt]'NttU>\*Ns@Y\x{^ѭoQE_xDKUHaTmCm_Eawx*yA)Px\B8ܪ2ww *LM+M>C-pl$Е>B0 8'KҠxt8mIi6 dcw=Y>9+-;U:PBtuOzt@Od<('/Ou%|;u-n %'Gg!IXP0$dwi6kivpı[ HFk^iiڭ/rX9x[tK&y4eT,hnT0(r;4Q'-u`{q<@t_1Ŝdz΄4 t{5 }|>PN hn%ĖV&ppbY$ q@wN;Gy&ڽ3X;*UvGrt'wMz]ZosK Ѓ@s~ ےci5K1EdXl .CeI6ux[xcGզd@5(/?v.JGmYWfF1=fpA\DFqм? :d7wie &o\3p^ 5 >fU8[kDy#ϖXž)Z|:Fơ 6$JǙ\NaQ#iLڼѤr4qfDDj!WL<;4" *!K$ I:> k,~v\ۦq6iF1^:v,{R y];cepkW(i'zwzOE^}moyi-ݼWJ$T Gy=$NIȫӯ Kyyr.k8b4 |[w[iz}圗7LY$0.|;݊W/.&i[7xD5̰.߲GȎ6hIDIe22X -rWjφ4M)ieiGOk,W`Pj-q>,\ ar<+E8yNeV2;D` x旪>\@}e;j0`Ҥ@>gA'i-.`0;n#BcAĨp@,j>ɪ^Vr}r+< "}, 7:? 5HkL6ekVHiJ\G]52O4((ڋ/9k؍xE~FFe\.zyͷĮ3Y%ox-iFv|Wvۊj2;ȭ 2Sj0Vnc~&ൾn 9`7LLߵdν.CZ+ov02(>%H~ 2XIo, ʴo;8`IZu·:t0cqɓK8PQv09lg0{i TBs]L hPrYN 5%l:wow*]`>YI^k)u?_T5~:|J'x| 5s9%Dyh-5c!!ȃKBã_Xt \[i&OHpmS6sBY7ZX/Y):oUfC0V@#ןK&s0+3>>$ծZ)u}褗JG AXQ]8b=|2"5-7Qе5־n-)]I 9SG*r=xgiw8њy^"D.2;Qxv:ψt4\'/b~J A q>- ^ ^Ԭ,nuK>{9gY+8BLh@9@4ۯzu7N7Es"[KyHvger0HxMUobE#,e#8eY½^=)` ϵyG3eu@~ ƃ7Oc [҈#ȑC5͚>(x.CyyvVJ˲@0'jeC;xR[d6-)DJ& ɵ\5981p2uO(~kuj"[ӵmcQfnDmP (nfF P0? F [r3SO=(ɿh]eOWv|}`E Fc3 18V8Sw}.蛊6Z|Q#B\esxC:ck:m{+溷UOD^pxwrݬz#S|Oe[ڜn6Z__y$ 6)M ؊#D guM'↹GSY[·$ yJq0`u0f6Ur0@=23O&R~f~I,=deO'lzv|3ijWƝ&=vkl!b8Ep1|*+jލWf 9XCdEdl2XI xxtFӭb_FZ|8bB=-4 ˫}F'[c`ٗp;X\ 'yͣiڷ82}HhL{?~ [ ^)|a G]ڼ yw<* 6B: ^)x<9 ?UxKl̪rU/z'ƟGbOm!/?ٖRe:Np g|;{.@Gn<*5KO0 2&\]el >4um[YBr <`~ Fֱyvƻŋq,p0@B?xn >2ӓXH&.,巈K-?yU L^! ׌o5+Ow>С4D,x}>Eh\D!f~`X|Aakkx+5 n2GnۍU qc^o|?ş4mjOLl5+EnΧ88>3h?i'zwzOE^x m"s2PO+?i'zwzOE^|nVV G,4cX+?@9ߋ+UJd4qMF$5L aw/$E|H #"R@Z^'BWRƛ0D?8GRg|͢ٿ-MrCo#]l/k狼!]ţxkŤwD0\roR#5o_*mDRHnݯ 6|Wäw:zZIf.<l| [zMruUU"eN6VZh6,ztRS, {dGhg ҧNkff*^TT$G9u<5e,vQY$ͺFX(,zrA:0+b ( (pgwgeY<$o(80nZ( W/(?%z奅PZi$j:c漗U.^./ω,M"|ٝ}ӧ^cyicVO eYXpT#*-[JԬn%ί$ @!]Aʜpq>ᮕld֢7c,0]#Pq,6ƥ@pzm(pY!2Gf˳śdz׉xćSKoiz5ͣo3M寖Z pwFSR_tUm;Nnm9-${b ot.?:Tg]]k&5)D=Ei| | 1WE lW$ ;DŽZҊJ?<Pn}>g۞3PYή!̀O^wm3^_Ku/]mmjVCX\g~ܜlY瞆]OX>?#ekō-He!wbK(݁▞3׿>k?ė$-5;/d<&ܩ,q!|E/<_>iHMbZƋs$[xi59 TWk?+mSj)ze[g0_L lFʿ#_ /n/\1 vqwJ*IVR2#RdW:އ53/详Rk+dL$] ,@7ggx}o/[hb⹉nGY(W*B.${GGz 5mM9.~$ܗRky NxC.ij$꺍,q"hY][|x`wj+~7w9-/cHdq)Z o٧=>!@pY%&:pD?Lw!-/b_{KnNq3U6SMw=$r/W?knx"vc< ((ojpI<'e}cYb:Bg -#y'kPzQA@MG(Y&w ?E\WMsBLu``x P L*I6 8 Sӵ,5 K3+54#|񏆴5 ;{dZU*8鎢Ů?plú֝Ϡgvvȴ ѡB7D7yAHpgvTRT Ne?+q/P] M#V.+ jmAw\۴sm`*p$088CᦘW,ZxPkydMNI7#)8ji6PK@:^A}&4rJpFA)[=]ohvMq{,:*d|m LL[6ݬyϿ /s4YbxKI`j_k ce'̷ߌ  ;(dt/RT/JWQ}Z5AxO+]=-i+O:kjv^I#y[YZ-pຩ;('WuxZ}'S"B=*# 9MNIuK+׷ L2I0RqO_C^5rMCV>y.n%{H!Jpe ]JROlúlQ=-pnh?[iiZj7`Hܠ`sW<< e֗1ض:b+(2&d"<wǤdU6v]EooY\"";='K"RFf` {P> j[i^&oC$_+JdbXԊЗQ"ӥKٔv*FrB$pyYWJ}?Y,-4[E0\,h{ [F,{6PnV |,ƷIOn iVb1mn<9{ޣ\[]Zr`YUZV#2UVv i 88'ΝoDky[N:r|ܔ6gf>lB6ZΏF[-s k h,8 쩐e=jxppppGKYtVZ&n a:Ԟ䜒O$OZҠ(((?󖽈׎_wm^hk?fO(zJٛoczuCq{Y]O']?+Nl>o>HycNN+ ow>P mlv"S v[Sj/iZd: z -%*i+1*w2z\,NfFIYSX|#zիh5(8mEAtvz-J0#x5 R͝³,iѣE*0`F7'jJ:+ۉM*)^K7$v3lV݆PTQE(4ߴ_Qt Jx.b1\Aђ2(`qӃ^IOeeGD~ֵ 鉪kVRcf4~P@ O@Fs@[[ BsJt4 ӭgVI@[+'4f}?rjڳhBSJj0L0r@۰|<(``ŐTǐ~C8>€7WHңˏLTVjyKtnl&xBgru(X`R%ݙa6y @bFm70ulB^N&X20ߴ-xG[tYbmԞ-\YD?20@|@:pqӚ}qz?į jWXTKvh0pi IWi@yW'zWו~?PJ.zGZ5!9q*gu/rxnM{Ydj=7J[n3,1R8*~n@w)-c]%湩4"uiLG).Vi@oSIq1$uPL2{jD@ ӓ#Mψ/<=a`RKh|p#v(|}S]iwZ#ٸnbS|ܑ@/4ٴm1zRPE,hEvOHKñ1 iBht/6#x`rA*,<kZi -7N`M+ehʷyp@5[MW]~(Үo-ݬrH`G^XY]7vo}L:V?KFڕEa}$4?Eޤd V/ C>u -u].OLGB(3n{ymH<unm{=W3*J{n`2zwjeZZcY99渿,կ/j+9 "fLwM* m$]1U/~'xbƿhj?ٺ-f,f!r"XpJ9u)j.\'Bo?uT[51vvt~z ޡ5+&Z;b2کPNe5k2[2{-$k.װ偘`܎׺7 tx"Hal#!"%*` }r@*EݲÏ+*Dg;;ej7oӟUm^(͊uH~Xw(err w'dNT-&5FvW,DLlۀH`kȬp,`Zxcq׊7dHЯ}jD,!PBM`d}*O4}eR[]gT}.Ep#*Dz&:Ӵd㱵KPG%¢WQKc$d3Lt;ٯ-t8.gɚxUy9&'5?i^!5M:/- -om/-cc| 0RA +rkC$J4QfcI% ֵuèhZNhC$0q[{x-㷆(U,h'$u$& 1CfV2I.'y|yQ֌:ͤ>-]Ȑj%_q|&c+[o-/}>[-m}=C90i6eQm 6n x.!hE {IޝcWDZsnFP@Zi6r'QÍT^^(-F =`. GV|#Ծ lZ{i^.-4Lfр081@JytIDxRzt*_n}c1vIz=q^}^[.-<.Is^ dKZ4 Cc64>5Ϊ ׆,tUmcyYH/Fco%|Egxr= Nݬ]16w|>\Ӟp8((ڋ/9k؍xE~FFeeYщ^^C2eYщ@95]J[oY6}__B6QsE` t}Kۍ/Um}"ͩ!z *TeOUxKK2Aee5ܱKfHU(r>bH8qo A{Zy״h6<}~myz0WG T^1&MjII8ZBY4F}kkħM岼Qsv&CItf>0T@VtWCZItYdwYgfLqbsަmt.B],Fqm}۱1_:quoh\N&Kq|YI''^֝E_|{c_yc{JON4%HQ)bEb3yt?[ijI=[WW,_^łT\>6^'C3Eѳ7ͷgnMp?>7' vz.%o İHaJ𑌮ڷi૘ ksK6{D('1^#Q@cdFWvxX^Skw)|BJ$u*y*g8#υ/tj^)5{{\E J 3WYEOJC^WKKտ%v~=Я|I4=F-=ZimLlrv^19>%㥹n綍fP(8ʂ;CҳtmcLծutdnBHa9B{'NPEp8`gq5:M OŶ:Y=L*T<,yOpx5hQ"џIZJ<+? ={u @P`{V-=jd7mq1hC. !eFkSC:=COvthY+A PzP~+ҵuK*X[[ P=ͩphá`Tj_;>@UzHꈪY=r YԵ}-5ORSK-j)v0l[ffOᶽx{Fѿ[yјwX.ʙ!TRYz'^ѵm2MWM,D{ 1R'<`4 j{7Q[#Yl+Z6Ì0u/G_kᰛGӤҞ;tбl 5y׆5'_^i,riLoN0Wj7pXw?BʉlU5W:֛=\{>%W2F*\G @ݟ-3ngYxM (;Ϙr %mYcHdgH!S_zWD=Ƞ>ᝃxڮr/l56-:kY~XfSF,'`~QqMZw5Ntklbi$h 4s#ߺ8gZkZ]6W]On;0JHFB? ljx{uKC HXTc$c}ǭtt~צm񖓫kZ?4vMGLB]E!ԦpA7O8jj4?Fl:M,'N:D0yjʦ$[nA|%[Lfx^#cKgl-p-r 7H#Z#LQ/!$2@ܒ@rIrk2žTjq[d'ڵ!RIVPT1 x4}85BŗSFE1[C;*}(S[x}/Q6Yى RY$*@OҼCj3\Aorm<0Im,qU7cFʜE@."KD=D DY@?>t>%ŕ%V-۵Xg qH0$lWt:G[{K R9^JmXDg\ﰞ9<wǤdUrpWrK l{IޝcW_O2KQ4 1 ,|7>k^#[ JB->5ІQ,hd}W;':ZauxB Gzzۖ~r]e2t> .-ugK]izm͜Hs4DU.;S9mֽljmQٵ(R9QHowޛQ-pF@0u]wSkY5]FoN{-hjV~/u$mZ=9kw5" wDOXuVU/GUn#2IqqT3ۤl!p+qqZcW[K annb[.A{y 2#7,[r>]b%毧ỼH[%.#Eޡebō{;cc(g(gǖW-CD7SyR qNH7LS%' gG _ٯPRxedY\pKc)@z"o-v}po)&8esm>Ս g5[gˣIwXF?4Y< i2x ӊhLx*;_V?Q׼&rCt qE H),J7WSW;tN)'m^+ʾ"|(=wDWP)G@dծ4--moaP2zɏ8$0Ǎ 黝΅ôHێ \zRvKǺҏ@-4]^ZOqvmI$ߟ~bVWiyx> %ޖ,tEn'xM-|6$eD2:=_RsPhᏃ9sm6(Kk G$7r)a>n{IޝcW^\Aim% (2=+i'zpWr:1oh7we!q+#+$j4L2PW/s?_Q:uշFO ZNy-|烏֌xިC_v5δ=6 $T1ՈÂmYi/_41Yz?jz揭_|^چɧ`KK8l#:kh6 [[ֵ=ĿbEh-dF墉[qNQ@PDd%`'[[L  C (AEscher2R |ؖ{Y WD F |ؖ{Y WJFIFHHnPhotoshop 3.08BIMxHH(FG(HH(d'`8BIMHH8BIM8BIM' 8BIMH/fflff/ff2Z5-8BIM8BIMPHUT48BIM'File written by Adobe Photoshop 4.0Adobed         =  s!1AQa"q2B#R3b$r%C4Scs5D'6Tdt& EFVU(eufv7GWgw8HXhx)9IYiy*:JZjzm!1AQa"q2#BRbr3$4CS%cs5DT &6E'dtU7()󄔤euFVfvGWgw8HXhx9IYiy*:JZjz ?HȶJbbb]Q㊺ )㊺. T{bٮoumQ V)?8.a7.GP)Q?7?/aYUFbzz_6'׬4զj~Ҵ*̿#LGٞU3*<1UGZ]o <~>uj`6nͲ:oӖ*̺1V7㊢$la[nZ *" 8Ɗ I*W *$PoW-JCB>,SMuhINîi &ʅh5鍅G TjcW =V |qWrbv48cҸUw,P튻*F[[7\)wQ7QLUF*zbN4?Fr\Upbvl1K]@qB/`Uzb5wű)^iƢ9xV6QL ?rNfo˸URF ;5c|)y|k EkAC(OK\V;i[zl*L 6i>J()C\ySː9y|a"fqEjⴣ>3\m )@<J BkoKJi+,0Ƥ2NC_q2,Z]ʡ\fcJl/4eZo6[F i6SuT34W1Ua=NKtEoHE=akRYu fG'vſ^*;vªP~#$W1Uܞ0*fcUXūbݨ+LUokn8NКT*z]kX;G ?aiN|_0^"Ֆ{I˗AUJ]'~\cH0׿I7tY.y54>nXTq0O5INC c[HZ4&cN A)zaɔMgo,i(gvY#D@*BNA5!?V3MKurlȯ2+ZHW ?ˀqVNn"$F8IK 6ZUTb0^# bUins^A|*эdŵm H I*v oUGVRJ!ZƤSqV2amF]WG(~ b";MZK@c`@7XߕёJz1Pj|<& _cb-Te{K6FTR:/*ժ[Xט9|ou/FjnOWb lÅy/loVV+ܛY(䓊1PC$~\rTzƦ[KxB OMYUyI. 26#T֟ g 3i(X6juFP7>TfX_\4v꼚8G .*`WaW'^@Dfm cR@s#Z[*CZK/eWh S8Q`zbcΞ!OmT VM68pwU5)_ rɲ!b|S?.W Y3P56Ew8Ҳ+w܇` ӡW?RIRmviG?"g2W6 B'fG35hjEI޽N*G *m^S]"G4oʥNJ[ҞL,4G|^fWbFzE/(ʠQhI //(]xeXo杛jD֭eVr)\h2%/ lBl~J?,9Iki|QP䂳5…0%?b48@4튪/LPQt-qڴ¨kCNV5:V-}toI2,lɺ0Z_4- !q7r3I+zqV*m⼕Z|9G3d@8,obt+t#Z+<:"%d//!-%jp+Z% *!ZʵTW!6r 8 2vo.yY []B(M6H~g?~,*?<^ſyй:銗~K__.Y^pA t@y^TKh&4p! SWo~PyWPEʍE.GwAcZp4GB~,R?2|c R] 4F@xHubz/*.>rU}^3b.WF"m+Wmt'lKLjLq)~[~kil?FZEKlupDn5yW+[¯&,Zi_#/$o h&b/|> U/!c(zSq1BqXj*ԨpXG©pbM^0O0E}xw3-UK/?,UL݈=#Ki{#6nj[c{WT̳܋aRԂ 4JǍvId*+mcKlGnHjހi IЭRd׵qK-/eqGjb/-*qVAoE*D࣯5[ۮ*l(k ʖV7@JJ> FK9kR dHyr1>.;~U!-\M=Ef}*jz}մk0Lr ~ @ڄƕ6a&^iMgğY |۷.t*p*Fsmm TRH|Pb~_(u4;u ,|QKR?Ux-y.>+6 :QZ8ISJ0i^/A7PYEf :szpa7j%m:EI,McP&N?uq<|ق"Wy#^|%B[x*WD Tm[O0=[HVxbCK]2>i' E&^UotMBK/JF bWHf#[U.ifԼ>OI d_[:UTuȤ"!38ZҠWaL(Y }]nVZG FrQ.ZS%[b)}6w$ )V4AWz_6{ޔF1Ǹ#v?Ol$< P ֛b凕(/6O*_D!$5*wT; H%ZcMmP銷 *F^W^q x{nF`m]:bZTbi& pZ9FM]kcG%n(Km"g[z €xU\C$QՈ?e_~vٵvV?oZoRr,qoXߘ3xc* i!eS$G ]SXD/*Mhԙи-^{JFO+Jm iP z*7O_cӼt}-B#ޤr0vpoO#L!X41_yɪy#<2Ny$2b8ta33u%-eE-Z5tz俘.yLK=Ŗ < OIO× !K,_-_k>5_b'*oJѮm6HLQ,>_r?/(Fo5\VX4HhgtS\݈/X9iՑc"gL'Uu/J>oZ_K ғz]É-Y6SEpS~dy3B5-TI}BuVG_/͟.I:-LՌ$*Nr/.Tߗ?jC6֖zUi/fdPOPĄ!<﩮ys}yyV610$pU~ҧp䔲?/&oQGF?Xr|ՁhHo>! WZߛ5]wWdӔƆC%CEj?` eޝqyi[Y!G1CM$~,[Ht{ =H򱑏S?%7}I-m {5(ftFkc]/g^-Ωmq4LĮre.~d#Y>i52oxcN\ᱴyMѵ1l4WhT*MBF$&eƟh[l* _1>~wеaeDDy G߼RWϝtin~Y]I3*}M>*|j}넡.:n:"g_4| ҝ}ıQH#񢌒!Fp* W1V@uP 1WS1U(+⫷&Wlk튶*8`*TӶ*X?<-PW4Q떆UcS1;Po@P ;oCGD qTU/D~B. (JW|9/ibq.2LU?_,K%%A \ha!ۗ'*b/󯓼èח\׶+J`Xy/+^ PlV;8"EMF}?Fe:7Ϟ5 -F46AH<`Ӛ;|? rƖ[ʚ?#dOxʚx/ ^i=DY8#e !yt۫-w4 l>q$D'S:7mm$$$V9*⭁^cQ].odҙK;#_@c*JzDp?0i:{-Ԛ4MVe-_bJ__^VOin Mq, Ń!S/8~[yS]Ӭr^uK+bQ`Y,U¿*uRV{mE"}g^E/~/:ⶣ#i(]=bI hc_74 Q򞁧CD6c#%B+E=8,*om(-Vq%ݗE޽4 KK$@GUusI<~"UQpyslG3q_ʅ!u'p[ԮbU)3z1Z4,`?յmSK!%[{URb$TxmTǘ7QZ';Tp$B*;s퍭/8jCq3z,$F8E]8C7~.XҲ/-~E1^M-R^VS\4L=6d5ڸUy-\4;U Z\M7,|e[\U88-bu+@u8Sy`!~fGO%#ʶ0ȆU*2%yju,iPVӎ]{ ~ay?O֧Hc{[Y2X"+6g!Sj>R(&|}aC ,x#Ȱ9_Svs?fhGy{ΡTn5eCA¯'i^dHZ1W_~c7HE剡eo',,H҃jm,Pduwn<unHY޿u)jH_ hML6OjiOܥ?E2hLޘak+(_MlU>OU W *{DrZid4?q#I5/"izL]YBP+ʅ.ĔA/秗%[ѥX^3X[Iy<+C ,~7QpZ)yS$u:Ie@]u|USXAZp!U5ER?Q8Uuc7eH<*rOEO\[GJl}Pk=wLM R@¹ziqi#é]Mssi)&Dz"䂱/&O!+gXƭb8li[7+cO.stybU `Y .5IiJ }!yWɉK̆ x%a$"vqrQp+?3Rsf\r 8U?G6R4y^PZO! N@;e~(Q|i#ff*@@b%+ɧE3rY9Ɣٯ&X ^Gq|/$I/?{ +i0? I$pLH(YI-dvRC/`TM!p4F'u 3ƬOOi͈C12H#+-?"&o©v5K4DnmpSug$~8Uן6'`ӭ}I aC,\xYVi 7땭<1U}5hGEy%ķd$"$ԯˁ(o?lڔb?)r35+_ u^X[_uYa%YkKouWͥZkZ5N<\~(f2Em"4qV~ %(]mN{?^XflmK SsRIUWo[u49TXK,}pqRLѪ74KO_-$^Ifq 3a0UdWsyo6krԭ{."4 =5 :#sIAZ רBDM iZNQXauegbĠmQC>x'c>E'=W#%|A@̕䤰oB2){D>DԼ˨m0Z|?[K&B|LxTt_m`wQ\$1Q'J Ɵ"M_]Fs&42VSQ_%֟χσ~dO0\~Ӄ*aNTz;|_8|eGeE,z.i! \//u;_լK<6Yu$u$-Ks}NoL9S؅,?wֱ^ml!"dYQbE[(}O;n)NMSD <{>do!ӯEȭwGO!2K]F j (SW,ŷ5ળ~\gBPIWԠb&&?+s*2x_6^Oss2ވm% Y݆O8.յKC7 {=7Ćex?>ݶ*}cWXK!!7riʊm-N)B J8LffREUj߻~ϗňTRӼd!qSZLIXri8qk_{M ,LT06Ȝde!6egO?'7L'Qxf$WH f:V :%rX#Z,V䐝?(h-Pd$2Y.0gb[_XѿH\+s#n|8Xfgc `OWunMS?iYUI7粸ikn!]>,PD:xBoǪMCrF){ʪufV 8i\'hzF gi1;4["+Iiqi;x!'" KSg]0j3\GqrK/j)bnmBg OMccPpEj^hDoiwxr(8~91T+x;[[]~ #τ= r+ K:CDUeh/ݷ-mqTHk;N?3]/[XhdxMpQcB2MԹDf3:"hmiIC (9SĀ:UFFK5jۊT'zaWM[((#7ymZ) ,;;}#}ڿ}=3U%O"j~S\y?@eyG?.5VQ-(sKr}ѷǒRvIU=XI$hҒd:lPBArmBM}oˋ\JXՅO:3H_3QVQy?͞W;?Z_ڲ6 N%hH(  u+ck6p+𫆊f[oQJZˢ6VG,f[#*Ȝ qw˾c懮݋I57Pzh؂:c{M„&$Sm1 po !KVfV8|&U=~~NzǨ%U9Q$'"IEyWD4KmNf -bYs.A(JʹmcWJdfvD6i՗ƕB]__5|h}<٪]Yu͓svz7> =qXGEF.]}=kL)n_-w2L_0q#We"ˊrR}UV;XA( $zl$y' 7ߕ(~0ݿgOTZSJxI J/('L<'+2 rN |\B'@bvw~KդcK%ԑbR9nɌf"y B{ӎ*ډOUٙKX:eԓh,8YAe$(  5;;}j}J">l'n)1)e޻aprֈUVB|TN|kB3A-m}֗+ŨnZY'E8B]\E<\aYEp2?ƓhR=JNS 2XЈRN~$qBEm}/V]UlӺQ9G R.{/O6t6iԒ%g!Ǔek3]-ŵv19й@8`yU{\֣譍ƛ [-/8d2 FT2;>g?1yᢎxn.{E , `οkqM1'OMߨM:y/vأ)[h]K_!N5iCs!e*c/{ }nJTSOn[E{[b|RUiCR6^m9)(vXw1rEyFJ'Ʋ;k4*ܶr!6+6[,^xPmGB )ZV<:<&nY\w3cBl55QҴ2KѢ-qdC-yPL%ߔ]M%O$仔FPi RNTx"&F"ũ CM e&@Ijq^G :=^-u2."pRR};̞]kszuNKMo~GkysD րSiz;56iƱw'$aS!5'Ħ͇ ~USCXXuK3~jv*s\B+DKLN v!8u$V巩ʼ&+*Q6!bfzLjp%(Y%#8Hc;Jw醕CbMfJ@[xpJ yC[^lekƒi-FF"cjC!ך*v4;FK;J?8S\ooX;E%G#Bx0 !!}JaJZL{E:1#t?S=kURM=dX\E$NH$MJ˅SKŴs$JEiP\U|ըjZ8 -Y2#\jr &OY#_쏭H PjR2~U#EBr>+OgRzg4B C}b!j.?aCGm4Iґk/6vzɩ>yyLDqȱ4K'U~.faTEM.ukkc/ wP4z"4OJN-^m>=/C[*ZPn>32ȼ<6};M_<~HXkĿͅY Y̐hڄͅv4:j b8Aum-sfеX( Ò^MUO$y:h/u rGSk1ӬY'?a蠣67mŒ\#K*o-_#*I}~ү2~Y溻OU>\x{ⴗWMAψFh֛)YuuQR,wU-hܰXq'^G9GSZT Y=(+#$ξF4;cOW‚@Ƨ5 "HuFH9Y7-^O7Y;A/)S_ލo53$lUa ! տ<}K{o1X`+QcɭeV/0 ;mWĄIIa!kΧ^&AdW?jHCpt/$O#("#~!-KYkTм $&KU&1J[nKx iov>m.GۚOqhۓq8g [J&24-|k2@46-UY}_KUK&u4=VUͬIJ:R}o LP֗6]R"4Vn[R7*њSDH_:`y-VdYgۘ}'c-\xd-KF)$3KC ^j%_aK:Ǚof'Я.RzRxQǿ"h0Á'Zt׮\Rw1Gi nDf9$<rK֚eΙ0%Zomu%B}&_JF0!G7L(H*Z*0ȏ.i('m>(%2Fк%(8el]kmOw2݌)&%4v)hZА?oKa~^&yxţFySKy9b;oQ% hH!"oāK8-O1K{b03I| ҧ2S^ /5%_L憟dRkA4I V"HU=nח=R;mD@ͨ#nc r&n;tU}/|=z?,[]Xkˀڝ>XK瘽_&񃹷$!P -*ȩ­Cky !8^^'2G7 xt'&Y YWA [ f t+ pzEFIP(Fݑ/9/ZS1$QtBcQGw@hf_=P / Z@feBG)4NeG$(wI--nF4T1ʌ|K$xbw4/([;~#4q~b|m'ʗL..::H HjU$(/͋0`HI埃IVu RѱRnK.Hmb/4Ƥ`\(l(J<.(^$1PK7DytҺč 89&v%)^$cCPUA9^5!E> o銬6X5E6⯎_'lbk]H[#W2e΍j40o5te$Rꊎ$hFgߋES$z缶^34R(/ k0$~%pC~ay7xՍ֫*khPyE$|%yihN?+l| WNT ԏ<ʨ;A|'ZCbe-\A`EaNUWB[j%Lmbuat2C0FT7Ȅp8n-IQE)߇ \u.X-V{.O%6C"JXO tI2Ya ^^2XMܐpOŞckoM^T$P?3/cP K -fPЅ_iXo/t_kM4vVR /ugPYXPq5d.}R"Bѝ)#Y W-;TJ%qT5~~U^5OjeV!ee,Ⱥ47Mnޔ:Fu$,]j:帲c"H/Ri\< SjQl^8p]PYđ|C]؅UO˫9b^[\,--mRPo=NKi!TDvҝrZc:Y#F\$N*5́v4#RcaCֻPX*FT^#~o@|4_O=D]ZY})"(ci\Srk4Ġ12q K,G1vƅ |X BOghQq|tcszk.'^i [ZkyRY.’>1$~h R0i?\MGJZO\4WPG⼱Bn5_d8piaVf_1yro_}J(% :墌Pw-^i2I]|41fgT;VTҹEc&Z]b<樴l[9SU,?SMeoalb{UnNiK ?~?/|,w^9IQ ^6AH5R3c sOmXzgMU핊DFFnO=f {&J伎w$֦[X iS;=ZZ؊^?τbH˺q{,^] n vn,̸2<=GE+, n9jVd]/őu,Ϳ^T-$m<+t.eCqdeI ~ In+w7jY)j}%^oytv)ȿ,M2*e洲ՐCn2ʮXҌdِ6R|-u[9G ʋ%iV̟5Eg~af>1&Ƒh_ȏ2^J$ԥhjXC=*"~[fz/Fnr\Aɝqz^"!6GRq*~Za}2B[nm[\U*>/3ѽ}GOY<`E g(|w[kpV5(3dd=@B^i)? +9יmdBzȚcӔvqDQV"_3a~Z ȥ_֗$B " 8 .J+ ds%>M8_ey%%Qϭ8Z($˼-k4Jˠ$-چ֫~*ҟQOŧ$OerX"rVT;`J׊_>IUu=,!K%M3Jծ4V:{cGG!h>:2H0l K/4kz娚?/b&w8FoVa?-cFy=PA'ֲ|(M[tDY( 65bxiaxAp*^6#ɦZ,^=v"q(7? 2 fukfss#n~'_r+?!"Kr2CS5e SM~qoKFV]^JoU8 +oq%C= ,mcեM"kKc}8%c2-9?!%T/5M hwHAKl_ %j>d5{MOe0hD@$yQS|Ox+tk9 $HВaHgӓT>zԠWP>JDT <ʝT)p*X0nuDմ/Wy& ԨO_B\6gg$e42 Z*Id^t0Ɨ y-:JC+)*6)evD EAE)2URWj1F*?8NՒn&$PEPMx# qJ.zA7x-"Ij d1{n7vXwTn*̺۽b셷 cJQgn+s=~YS'*ҊU%io.^H.lSj'ԚY#wo$y^?.yOz"x:FP o3r lV32O5şF?|R-z̶&[P^[*.>7 2aO$z;(Yw77/_i_VkiAtP]qF 9a|y>Zj䥄8Gٍ[%,lQ@2x^^++0ZZαem.TXBedi+]U^˻-)%}:uرO >kF`GӾvWPn˒^6eQT]k+J6nKOnڞy. I(q?tzPa+ %Fecˀ%PG~} Jw7>- .%u>}:h-.HXRE* xJ{zMWH7F e4mCȚ . X*\Oىg- COӿ+t; wvq %߀$pԯ_6Oh7:r2bhxPO$7^YѮn*n.,.+14c$=4x]\' j^;T?KH_Խ-q'w4Vִ"7JSO8@@XIH,hO*ltHV QM]%(*8Kޡ7/Ym"ْ&^_S_a9()a^o(V2*;Y JTq;u8׫uOYcx$aT,|=6kqp,&4WN*+y.q;M9S5G$!<縼X6@v-TڂlUlUo\R=rLQk}2)_=~~zX O7aҧS"Rێ($EGO *A m(K5ib0On$ Lh ɉDxO\U"Bk_XQ`)WO DyV87"+QZkqj1h$M2Ѷ>Rk #Vvo IcfU푂~>Okw,^$PI'u"H񷤈`T0wWfoysG~eEuF+P< ? ߲ZM?.4-,uo2O,O׾qIMa_Sd )3qX;wqPCjfHxTR1] iqWKIdɐƤRƍ 8H<Ƽou`Dҕg(v\.'^D%<{Nj-}^OI9cGfF;/_/+_hhjkq]Ȕv^7^w? '%Cٵ0|Z+{ȋFY%g…ıXIjjOMqV+W;Z㾱^r!/wqV8djmK8_7^{ʫ5k8Q&cȻxpREo[Yd-$ P7DD_rqu|*:5$ƕ wc?]j1@6 ?t%9< _yYڒ؆y r;":㺱+^l4 /W}N8 \#oPW˜i}a N^'OtKMY^:l)|PenJ SZ*R4)mޤIڤslV(ܠx1^RtGOM **|Myoء3Im ϰmaT\j#onTeSE)5#| ~U.[Nh\ZFO۷8/┣Ytk߹ 2lиB ϵ[m*<]ikKȢtq;A(D_Of\( Gc!NU.I LЭ2s (w&G|X/S]֥"V9+ >.D_"T>2Qֵn8:٤BBwlIz]~Jhqv$[.$ ˙DVL _7HP`E42 ך2~mHLKJ]vO| V_R,Ԯ1m=[Ī'.c`Q̴2?8.#ry_˼Mއ$$U3lA,qN b>,iXUC%["xkuXѭ[`T>>?F*?6/&Z{SPBX U]|Xok*HX5f$hNF45XE JgǕIM"( OmXX.QƐ}KRMuhڋIոG7ژXìZkI=9:}7*O4oתb`kJ?lmSivF2?m.d%|ר]*pCU+] y_lHR[AstiqrLJx2|MbxLz2F1߽G†}e6,8]KpxSwGs-]G'mw40LcUK;mZX# OV3CE*eOd$˗osE]N^S n/ miPAs'Ph7S1C.ePMZW #0l " +\u[ƒ4BH8%w۲(ο(<}iڝǘybww 7)O˧#ef|o'6}%חvh--.3~.JT6oVB|VKUI&"M˛%@b^ugӃC;VkqC%_Rg>nַ7r`d!aW B03K Xdo S\(yǔ5x'KKRA"x.NR變'ĘBDxGSЃ,C<^^tmd?̦X6<C)[LRFl4ٚt 5^ŪX[«ʹXsmKzKk$Hz/ϊc7DyȨA ^N 6ko,C*\ VȉjM@kCmQɢ3]{OMn"j)¶{\u 7ýV>mS+M[I/ڤD+M6lm I]՘PHքҴw"{+WTp]݊Vuk7c:EEnU (XLw@0'o~*u47>_l:$vn7 -4 xgUa;i ;ЎYO>R6jwnYiw($Imgik f;;8^ǯXPuzyP5{ھ? 1@ǖjH vI&6BExǛw`ˣYwr쾤 ڧ؏\*J ;_-;j<UT*Q$"هA˂ib""^Ke&Wd^ &NY%hrbnˡx@WOOO~!;_R#ͺO keeYmٙJLY՚*߷Eÿ3|%ǡ.?/"rt,> w{McylW̚@Y^PI%z*|)m'yqqqqrg)$E"Oo,gWLi^o[%0-n-'Uu%U7UVɿ|qHK=o˾\{{.mZDcąmPr:5L6C}Y)4@G)"lJ^5O75t z)Ok23--6 d#5& &%zGVLT*ʍWW!+Qԯ9xZĬ@,M>m;⬇SԴ5NE[SE/YAr򤰥r+Tvyq_VBj{Vkv C(_)VrSMpy_^eNrUY="7VS.k;_.>e(D&q1- w2jJH!WyuκlaMh0G%"TOO#JI͖w?Zg,w4*Td.ycN718ԭ^ ^NUGx/1螯-$Ɇy4C\?dH1?OWHeK%`8n *Ⱦm'74UwͰ[5V|ա4ofhNE[+I)T~wCqm;Ԓ"?hAon#aEjIK$ZX7֑ \=~#xIޕwiqi4 H")_YlY宥iWG@nSC9neKyȒJ9.V0b$uIoumZijj^<oqn/zuռz\N/b #hw y+[+4f҉3i)ɏ.|~B͋|2o3~XU`WTt/8;䙡/ޛpM6x]|m4:խVaBjD[U Ky>O$a ^W|g=ƕgr'Oo]zT@wSԵSl3+.ZP-L$%/%L2L_?Y(-j@*(Q~q "x:G’G\UguX`[2ySL^dNBa{!Յ |<9aB2HE/+^iUmǦb;1%ooee(J]H:\ˤjRsPӱg1~)bvk64%yA-(J5?o~U?XLFƂ"oKwAcfjaSP?SGR m*104'nUE1YAٮO}l)7Uԥj]$@ I/<ʚ- Q2EVyN^g'yxnc k8-@I3~>_dIQ?k`!6a+5KeD1%S4jiC>ϩ`Pt#6`iosDn_3~Khd{P#q_GV*኷>NS2dL4Bt I$*o_o<ͺ}eMb,('y}yO-SjAT~~Y-˟+-Z:I!"h@zrՏlJ~YL - bHT[\H=B ??zv=|/u?"4F(av;)tZ5:IJ|R7GVt#MQnR^Y4 DziyWM?_+Lˬi3 MO'N.94. 7NDuiecY1q*>ѩwXZ}@_4TYbY$c$s PjzroL$2P*j {;aWjt]$o2ͤٻ[4mFz\#q/ّd\cyȰ--e{c'.lЂ%Ն̿)b^_ƣjVvj~nL*%w-_6UXz~Y%L?QfxƱw+:M%-,-#&dƵ9Շ#JG>biRL *J[ ds0٥$}1T$__إ-ZSIE܊ɛj- B>o-B% [Y=-\'/RJVw}WwMe*BsEjvs&91zhPv;^eDoVA[+ǩ8o7 N< QF5FG~h(ņ jCTr^U&=O{^8ϪH,.%> b6S(MXR@+C4_|<9|^}BX:l챤(KUv{7©] k[n*  a~ M֜CB~8-xtf]mtt9YD>m(f>/HdI 17Z~(E@2)ʩ'rTAhY7_L ͉4>o',q~(ac_H2&BE`X4׵fcUh2[Qx-Fd9|̆!>^:/֯њZDǔW OZroY"5_8_^ieCw лE"B˳EKWu][ں~' LrSV4!nC[Ĭd~eP|7lU$[Iq-, 5ϭEj.ܾ&b֙c=2:vO0`naWgc//R??&4NM.[[~I`}6Uqp4_{ipQQ+IonY#? ɹ'6dR XƇeiiz)XSNvM'.X}Zkŕ+NEkؤp0-Gپ:{>g5`8%#ȻA#|]j3F.mohqr_z~?r+m_j>Z_mgb)GN _VVaZXݹ O35,k %.{%[P.,Q_Wi&2HQbc2C(`*êOkN$ ֮I3GZ-6Z ԹV1Q4|?aI\O`jAc}ˊ:yN:6W7p*\+[/_dx>?*ZO joXP}7*7(v*t{UxJ%څ/VT̞hKVf# Q,|,F*y*ͺZĪPʠe>EUٰ+&{ep&ol6O>z5{ʷqnG45YW W7w:ZkBKY!4bހȌ( r\'[;R7E*T'|>/俳R^6† =qK@d!&߭qKOȡwh~iU`6!%'6COD\b]F=XLa~<2%rg?'$+7ԣU!0e席7ޕlNn#S#B@;[UjV(ΫzUx{wTJd jn)ӱ?54dvwnﳀ%^yVw}tAARH;XVF9q-NKAREY54-W@1(Ň)!z+h]c)kc!JǨ&FI?I-=L1*OJ$_ś%1UPtWIrYMBDB^FnUXo2Fq/?si8)a,q.| &ޗ}RH{أR_N V) lX$*Z)4O|9'|k|KvdY=$jN4^O(&%K2'5VcM,4V3qNb_BizeƝ/AvPqQ!8jqUn?g&WHlߺtzΥ|-Y~4; P qM?u%e*-LHk#ͤkINlhܲFPI@WLI>aVa=V ?8hiڴȫ^^d_iU.iqzz@.t',u% pjF(2W?'>Uݾ}j{.DJY%gMᅖ0ʼi?c">zu^Osw'rzjC "]vO.Z_-#1̜hA>8 FC/I!UQPx>Þ%{:uHeKl+;O?AievgљrD^PFgXœKE*Z˯dяÏ&L̀%\i~d[71'F'@$@z {=-o2E D*i'.I [ƾgf_V di#~h_!%4,Qz;9|l6챵 D+B]Y]vjN$_A _Z-ykţ`љ8?ňaBU@Iָ濞M̞Hhi0zh`!/!Fgҧ}V`BH=U%F*+3 ,U,}9XL*[=*ң!60od@+w6[xȮ%921?̧oRx֟cs)ߒ/T~*o8]o8m>bv?rA o(Nu}COҭXlTj4Q)x58eK+du 6 ֒INw¬[N>SldNF{]hcߒ/`K. %m:*$~F+ׇX{)%U!9q*/^_KhGkK6C=VgzE_LyOCljD.l-!yJr`tMX%)chHx~d -A"/ -@P?**hƁYzǥ\ݏVʭx*yG&kp $ >,Nǔny'J,H dK->?S^-UޭKkBmf%{ԯ-FM3Z^ ";ƵW i}MV^'/~d giw3Kh, ҲŸ.(X[^wk*o:T5VSy9 wk_iB .NPf LD2èiwtaP¹ D~^umGI6.RKuI 5_ˡ'K^3ؑ)X<Ͽ΍]Py~O?[xj5$Ȗigb^ipEqo hUP ѓ"(yFlSz7 %18ȥ=j ~fEnBю"*?_a :d_W]bM"іV)YGuVVXc l~jP͗*^clm$CܺDշ?a_>$saEq;+;t,U_8y@jGޕLgN[(%s).[{ۋI˱9fՈ7j?}yz"N2UhJ!:R/֖}]*Zݖd!oN*Fxmd gqҠJBܣ#K}SH _A$))ZbE-dJX>Oա{a6y+2az}\}ҳo%h:X,6PEkY4"Ļ6fG8QI ~HT_]yEOuHp@ҸQ'ƭrƕ6ZQY'r{PͿ;"\pLukvT22eȒﯧp{X" UmM0#yi%F}N+8I,#(gdt-+U0j^J#-'ɣ! c q %DCռa冺--F]-%_\ٍ%m[MK+T4Fqɚ#uSLy8 M bp5j|\›} )lYY`mcOP%Ay?獣^jZQ.9!TZjo^8dU5cJCKB[_glf=ko Kh#SD*v?&|qUrb_$}CZ?ڱUh/MHnLњ7T=m uSK5Tpd:T]gQA *>)G6|Vؗ䏚<`SUs2_EDo_+rG|)n?H2B׋j[)KED~NC߉^S7ZNqksArx/%dig~IGr<6̯XUn$k55yS!ªig|XTΐ[`4a4ec2ݢJ?⇝~b鷔%Ţ2dnQmƿgV-Fpﴓ}8*?땮1kv!ߞ֗.S&:GU*W󥭤[,mo5m?ʓ$n%IGgd4H)pjVLyBFx;yd/ޢf+IǛmu[KvܞhcieEZ"&)aI|oXLsYj?_\_wP=GZsp(r?\Ώ]v(|S{zKr2) +;1lufRE j9sݫ<~@ijfJDxu(dW@ljgz+oz@_MsTIYOXX ʼn`a8%w ğik6 ʢ'|(b?_tPEJp֟f' ڼ/AJ|2IJ/X-Yl-OAV+¬N,UeRo&{c; ?+)ueY,g&=;˺%ֱ1[{Uݝewf^+Qo{:c7$SV*ÏN_YM\[A.$uY"u5VWAɱV So}cȶ7ZԴ#P[)J$BK s_qSm5K5(yB}EBfPe`PfB! "8ϊo̻vwYAi̽#?NLmQJQ @T)ƿ yBM>}Vx'*5WtIJ?߼kuqV/H>&hkFc06kspPK I7#ODo'5]bo8v|QpKմ[״H4(Ds x "[Z\,#?@FQCNj%ݜ&F'd-Xą#6kkK{VYPcbLX~펩ߛW(ndwVP~0zҸOeCh\K!}q YG!=PU|kkkK/6$y5(35Ϊ"1,4WNQMbN8?7t7:!@7|YYc.|Z7'$(/6Ե8YVZZy/;koa8361%Yv+[Xk=y1 WȾneߟ<{ M2Բ#Y? 7ݑ{W|u8m>\@7 ɱN|7dzeH;GoZYȧ?m8J[y1tmcJoZ vǡ,,F.E,m : JPU%lPl_bWҵ=I>&(d`VBSO/ Ui=N3SNM劮P\0H ƠqF2,+ޟۊև{WH@P<2 UxTN*izR=${}s:h!ZV?RywR6[_Gͣ\ 8&u6rM>&oq+[Ǩjq_F"F:x,*[Rݐ=͉eӊ2o5R Ş&U#T m׍VzY+T2 '"5R^-dbR[ݥSbB8A}hzWqq|2N x|J~!?|y`k}-ַV}u-$CS(oȒMO!LZ%ፍ:[,ȃ? tG1khX-]cC o.H)f*KPBw6~sduJۑR6FNA+ W'؂|ק]2Y@X'KcFj섔&Hp>:+LvZ̠VjjȬ.(`Vchff[aBbV>?Q9-g#,^Z]kwj$ro o.rJ~4eV N_yU Uw|UH&hkFcyl+Y%)$mI6^S(y^g2=ś` ˳~i^}/zw~[6l"++IqrCt4ni7.G>OӢ^"÷9s?BnVR 7Sef9x~g+!xI. 3r+SY6O6. 7 ms KH*7w[Ŀ-ד>ҽϧBvR5 ^coBbr윩o|ӗoUVyRJZQO­8$m_k&JE@"ޢN}`ÊVyBGBfV ve, zSh+K/jA8Msٰa\|N)] UCw"'e 1Eߧ/FZuVѲ kLUiUq,6$RR=V1 &h(U Ue HX256Gw#Ū~qT5v{SjV}W#BhO1U&xA#Bޙ"o(2H"xk>ƀ6$"ӗ4>x򟒵O3ymU[XI$><}:}#/9S~_ FO9Rɼ7|ЁNY[xO\4=HCAcx_5 iU1nsI^_A~Pr"g+GX6 o,JMߕl<_MA+(Cq"w2"0I Nk43AVެWIRT7؟puU//mu=B79 Րn H!Y cJ7ǎFEvѹvڿBqUTUFc,Ib_{*4ޘk/:b95 ) Ū(KzH ^o-c oN?)LXiEȑC:n\0VWo+jw7sjR6V85WIRg6Sa43fDsn@ -_k{]?+|&<3h RS-%=o9%~]CT4q6E]iRj"߮ݽHKL I/Ֆ Ƕ ! \ok`y.5c'6pw:DUƫ]BkXUbOdpWV ihӥz0aʡB֕2)zOImps.n+Sܧx^9!a;_.Y_#hEl{+W2Hx|?໏c7@V&x,bA$5'}+fK} {"KF^ ¬Hҵ GHY,4$zs<(Y}O;3~g7t;]{2@ 9nݽILI 9ݓx?\(d_1];79*[UXOtuٱ0OI!jx*$/Xץ){`C ՒoJ!.RI$jGv>_+>xlJdo&(o,^\yM;JHiOGOF_ C@ 7DG- G^2]^sbL4p(߇bnׯ˥j7 '(m qeSYx"T=onz,x 'E1DC]Um,u?ni¿͑KNK^Uy Ե=d^@iA3ztx:%K(5%+ Kگ"ߕ|=6ʔcR(Av¯ o;:m9[f)M8W87YO/#hT}ͅ^1JH3Cܑx7o{WMN\R8B s""R|1:?"\36%ݜ6W6%f0P V?nyiN"^a-ou_"yjsXs+m4pу{|8ZWK+'/~g Ee8'#a` Cʾm~VK:T ]{uڬ[_[/{.kh)omي xeM$@8)OzzmS}byDf e# (LGW'H.CZ$QC22W7^ oMkF["n{Q:HGIU8xt"5]pavGI$!῝n3 In42hh:evʒԵ1i>_. <,7{]'csG^w^Y4uۛ)CZ'%C_adce:) Cs5]ۓ][ISo-$W%!bYo+]/qBe1\-{vܿ_qJ+Mu{hσRQUmLI_(),GQg;Inlt=cZP|3*/"g<7¿ db ~UF[p !PıVH'8pUv>uyvJh#=!_O4?'$/¯"SN/6JO_ʷq+Ov1پ#m'x/($Nˉ'5o杗}R!?aWo9@t%*b|OzVE3,@ȁ_ո|9X T7㣦:ʍB+U,]y~bcI3;V,bo("EӞi=8RiC <=7S9bj[yNԃmBgUUޥ?Z|<~,H} hos ԏd"7_tCŵ=*{(ͤYqQq ]Wn*/M']Ҽ 3P@.B6SμYZ#ԊÏ"8Xc7r_ Qj9G_f>M96 JEk#kS&mn҇[zWK_ 6v/F#m@B[oRAC{bH3C\ o0Z2І1,xO["y44^YTsz|J'R+*uM4R=Mv237?BrC:v{vlDP*=S 4$ qA=+^ *?F|ypyUq5޷f WfRR In>d \%fK+E)c*ž%ogAo2K;XE,Q(nLNj}!?ߗ^ӻC@Ӑ 1a6Jw}TQE b_̦/5hweA~$'؃qn?ﶎhTSRִo%_zlP="'ј>J/>XԿ6<\~PO1.1i@yqUY7#rz{C?!ZyGU0J <_s噕fGhdWӕH4kr%!ǚ=KmdFCd/Wh^j~ @%V{`"bSdJ3 wJ-fcRQBl1\,UibF^+_ҪFhO/>H+(_/P3B\'CE-9Z)kƔ,ߑgKR*\+R;WcGnf/a'w4hrA^3Zqik}VXSr@|#W|cZdGD̽hȈ?E+46\KTv>;[_QɓVҺR"VmXd=rzTqP>gu2gBkQ`ZWK+jۅrJV2g_x4_//&]+,O ! fESCăCzaUR*<#>RwV1=$x ]wP,3~BK|y`"&{g#XKp=4PNdq3k^K JX)$? So‭MN A?iJNE/QuMf=T7:{Mm&-dĆo&_Gy[C]VC[ze6 O)dxRmOf|o_\Iw[NہZ!INW"_bgyX/⫨e?_E76򵴊W,"S#u-?2zm glUh}TY kL{OBY=Ldp4dm֜|>ڴ3 BPj* }XmXg8 "]4RrhX-<*~\_cͱc' U@Si1Գo=DFYC)A% =G[̟=ڷ@,q-MUI?K3Phj[ģl7a+> g㊠UMNޟhSBϨ\N8Y3Ά9&͊Zל4=ܦZF[ۑGOpZ15V-Fm/YY*M̉Srwѩ O!>YSi/$MvՂcM'S7NGmw,8hm/5@7)G'In|'X0]% ~$Lkڥ0K֣mR,i# .-Kt?tzP0O+==VSJ1l륍G~$/[^C$,ox|g4v#Yn#c 2W^YysMvW:j /8}UcѼŭ;i_Sӽ9K)% ڿ|?8 R+;MVGhğU]95!T|?Ȫ>_-_\m{\Qy[-0X?qK+4$ K}; 'tXCO/#-1-"Jq9BkAmJc3@gJ!즴bWbH3B J2 SKӧ6"c*̚vꏦhLuJ"TxЭ"hZ`kFL!K?#jF@'H#$y.' q 2Oj +~C;I#ZSxm`gmt~15Z̫75Ğc:4( h?qT~t6$M%Xj}k3ȶ)DJΧkO},VIp]I NnQL+iD\\GgnvD՟e[Y'j W^C%TJDu?+\-d\BjƲ"Sc1];^DmV@M."J7zx'XT"+U?ĠtXRVzOgF}EqlF꼆10MOS0y~H%}9Z;ȮBE',Er8:"-#]VA_$!Oc@:Z/*'}Z̩Qyu<@r_qao4#JIuۤOv_Jij|YO1vNҊ-+|/k}PNb) yW!+찀yB~VTr VnU¨5^C5St# U/[{da˃ ncn,U5~bn I>)i{C)w9qV(gAIG9NŐ cMZҶp7q,.e֓m'ɲ[,o "g`Zˈ!_+~ahc)hUC+S`U-Ǟ*uߗW!QY8e+6`zr\GѦHj-Z3y.uyPKE4 _ ^YqB{*$TW~ ~trAuv/-]뚇hJ$II|o7j^bfޫAqTD%ǥĉL}KE=$Lq,_}C3+2ҋ-1Rv~uEs_n%zJKO;PO}=氲iɪ ķ=PDžKӼoiYH9jn+|JLHf O]:'Q͖ݳTnQǰK*iRܒؖfcНr~CIw}qm!0$O*m4P̆92£ [M2as,j#@dj->MFAaayAkP~U.Otk}V`z5:V׶] T ᵦ%~H"0۽0zQ; (/+Y5Y};vnVtuQ*K}qM,Zġ4Z'o * ?B4JGMș$Q(Vr)Hu/V-tDPNՑPsTF B_>R2CkzR66iVʧ%@>,K ՘ŕjNI ypN9(c࿳. K,̈́?/4-Pq76ى'֎@͸I=6GrBr|ZFػ=Zv^='+agR>-JZGaP(qA}a,kq sF巸0<[$O" 7G0zR`WP2C]W cB(3f O+Ky:tUk714}JՌ8 _{Ě3Ԣd x-%BHHmɍ-򶕫-L]N9WJevo4}6!ɯNB"+ٲHN+x€ oTT?u70\zֿZWyqkVK) PHcl b>D47 ,wms9> ~k\U>I w_0, ]rڄij"`3>MI_\P̂V,◠<:㴗Qi̝\<>/˴t;/E Oy#0Fy O y#Q('# c^{9;ifƭE[kC%izƛ٥p6#5$"h)_$wy9Z),@vH =?+[!}Y1-^\*ԧ\@Bo}sw꠬=0*! o؅j[]Im}d| ͙[e`jzv!=#?]>Z,]f ?ON}Vk~kh7k˫o-2x&i%ti$Adi~gJ]jfў =#P,7b:#ω-BY@'=}Jp v_W^ӵ+hiR2 V3-~.8M@2֕1T<;;bM4vDOՠ Vhz:֞#LE3'f JV( -fi`FUךO zC;w%̚v =vd$$ሤ~nIҽ^u,@h<èn2?xG^`OěHx4 kZ9T~ -JN R &5`;?t+h qq nPFe| +|mm[TatP\ΔbzJ7O??jn|aj. +kE7"{LOȞaSC+=ʒ(-}GaI}0uw/rѓox]H7_O<r#_67S`֚tѯ BےkCVGB}[ ~[-yf01ۃI#/6?ga_̚O2IWSn*j'T6vNk%V(8ٿ }491 Zl\ f,vrOl*K WiBT~ōÖ*y_^'\I} &*Y߭{Wv*Ѽ.ZlHpی`3#I{6奲["IAJ|-3/}2OKh YسIffcf'6*T:VVe-"Ii$p?k5!؞@q H#5&ԁUN銼_ZuɛBw.,!€>/M97xR_1=6CZ"77(T43h+:/8_ ˺&H<)eu=y(:E4c4[@91t VЇLXMwaq%!܅S^NOro#q1D ۩ݩ gգ!E]PqQvid4 Ǜb #b)oqWXrL#)7u.܉)aUP #_6Hyn+M~Y1w )a+6'@^P12Ȫ|\kEB'WK-S:p䱎p2zw GQiF+?G5b=]QE޿ }%kI{Wz@Q(⢔}P3@;W*^.fPexFz FWB(ۉ@PѸYxlJ^Wiu JE< 4\*|:/&U7Ȏew}KԨ!gQP?>e| IϨ0$E:J84cwu!%e`ZF7uYwfg8U*ÃRG#_5?Bj E⮡ʒS<|.*yMa"X2n ?z>^\[~U^b<}$Mu[BD`9*pߖ(|mlVP&=Q,ޣҊ9d:Jڇ)]ʪg[)^*Xu-gWЬ{U&ܤ6k#l/ro VgGNbXXvbF`"äHk3* cGz>G8-#y]*tC$ז-z|^jsoU,Ṷz]&h74_;hd];FN=Vw]GELqoSԴ-$ni  MWoSņ(/Kw#YK+`70D1wM!?'B}G$Ӧ*@#U=OrNT'@o͍J|d1.j^RT$kL7CDdj6#iFvpgK9RDijZDĪHؑ+.G}O/̏,H[͜[[Db}޽;GĚ|WVyBկQ~gu| K(,iVMەx#ʱo>eLKne,"-T~ܥGˌj>/pZ^3yk̞m^e[,ho5_)^ݣIN h5=P"v!Ѯ ܟ2 +{+T=8ҽIfbw,wfc3|LU jmoL'bb(#p*c+?w+zwD2vgUa8⪗1t#!@j_X?#ވ}3k)nBxv<JR+iZM%E;*QԐcCmCE3 1 |=֟2Jzck9ug& uMV>'؂Oē1UMZ7S,OrPW*үjZS޻֋VX+EĢEI?M憧K!M*xvCg .A)ɊWk=F߃lU}?4Q,3ʐѥHW޲Ʉo62Z ؃n2?>c'k?4XT:=8WZK "cureRK'KтGwkRO*L`T"tQء/9gyy" tU;8GO'"Κ~edd?4Ov %]r oТ57ט.4GUD}!'p<+nu'?ij+5Tѿ|$1Oϯ;˫i:mdՐͫj&+?9zʟGgv+/'Fy }7Csˊ൦aw<^x.z5jH/NK4?ʬgRk(Rɚֹͭlj^EXکyzNƝiE TJ|0_AFT`y6zbW|١_JU.!P~/V'4K[ͩ4VA"f^3 ې: )a7WNgڶ滶Ud+Gl~#T. j|JwtX3.ƟIbJ)yGSQHԵA+q,˂}M1PuSugݲpx\Ј!v:sZx_0Ǩټntܷ*HةF4m+R[m;ͨ4E_FQ64W.)kzoK9]dSS m:)HywΓƏ;g!HG />D7ڸ{f}@ޯ#]׏3{KHcdXP3 | m^*XXVXwŵ>H#A.*MӚSmF@oE5'*"gXG5> Ko4:]VBaSիI?◌kMԼ{T5*[5@؄=FPHp(Jlgu6R5=4I4Xx6qT.tg;؃WTtր"1_⊂^UJ6 p}`V @֒] 4Dҝ;UXU5NA7\me9W]yՔ*Z$-KOhڟCB^'s1T M*TZL:ח-.`]A,jq^'0JXӯ~OvIx䤊)zNmZna#f`dbQ^ϓ/w&sg ¤r\HUU'!I`ř:\UAɒjeW$o͝P+2)8Pl$* ;hUjVޞ+zLY_@]CL7@}aV~RhW.I4ؒc_hiXڢ .<-^Kؚb<ҾeU y9VHi0 !T[`J$"RH ;j8U2[0nҘn\Hl^BWi0HncOI L<=-6x MM ̏^^Cajkbݭͣ4*AOW4TG^l|bz]̌*R!.ǖ<=b[wj~HWɿm}z;:V-Yj[n V]N [V^Fk."y` YE%a'/F1$EpcS >ܟ"o&i毜ô>EрᵬP?mN&|R<$ڗmwȫ_m#H$wVUR8D`f)o?i!U<w3\*H4DEP+HӊDaTF׵-^&V.t$SPOl Wzukx F4%/$W>&NԼqK{堮lx'en=GoO,K 4Ex_$91廅X<ɤRB?{wh$ԡ~$_%QvaVHYVҹ0QLA yP$X՞ZbW犷%65fsWDL~HZ*o:o<]"ɛ5~֗OPG^J_97r)zAi YKԹ`Ea2He GH /¡ SjmtZ©e8H15O"EJֱ1U 5RqH ۢ#VH\^ޝ%46I?Z_\ id(ơFUVtH^kT J^Q Mi4:t8T7L ~زRg✲=UwVej@b^HY_<Yj+֟k {:C{SP2BQg$1T%9а}8 BM)߅Z*njEhvኾONG'+]i@%_@Xë2\*gXAE=lLuH-5DRSyj8CB'^z1g.bR.& qXFRo/\i/Q,mg)J4#zTgʆKX5nD4HO}e4]^OԝDf?T3䪭\oudxE%+oqD4ӔWBj)smujLE%B_M"| i:SlY<ѧM> NRGSV-埬oy]]յDF^8VIy @vzezEplGa4RGp RQ߿.xU㩑JܞN*<+kenRkbm2V*<腥j* s,cvn{_Ŋ9h$qV#Ӗ4cr:97Wتwy[ɾu㚴:S$i@/y3'uv .x^WPbfY)9cž/Uy~_Q35%d RNqyޭ* =X&+*7F rΣa6+utu-^E5ĐWHԟ7^%K6ך_3,mC{ hdxun*O+򎳯KuV+i2e{-=uiF<ۃaib?R7uP2A@STސ^bu2O#ֺ}(3nUoR9OP~"#I% }#U}y46- =ʁ w .!Wyg'X>lv6ڬk>[~Q-׏I K26 (EܲsǒQϖ1bn=/GgOZ7ax}_<_{^ԌMj>R4Ua^,Oƪ:|?r")f%=1g ekv/Bde>3-ӿ58| kQEFfo/bl.E 2] msDxug/ZR!vvĴMTEk+o+nqIkL{K^2$Uny?6].帣'Bn+!QI#J_ª>Mz%]R\2Liv"PT8)v1U#ki3#;/,1UВ}2k^"Fn;c xu[~Fj 㹆&l]5;_4p:uԆIX*KP?˅PVMΫu[钴: 9; YWt8uO!>-sHcmqĊ.[_)3 oBՁ%*2CB&/0^[0h}XD}1[Cg:bn.S.DRHޡ]R3oj:,``)I*OaFW˒/(UZI!^tnU4h/m(cq58P d y#aUV #|Rqݮz3c^nט֧@*ů-VVA>Dbtb"2dBguڛ/au_3z~=[kYBh,?nB@F"T P6¯Ҽ6y܁n[q>ɾdO4+yOO@ͬj+"w<Ă?gd?^VƯ6ֺdR-o!Gl)竘Q pZ-FFy<*Wט͚UNԘ/9^˅K󎗭=*Ylw'QBf[l~Xd1,ȟg!yXWT'?PW1)z\_~QOObIERi͊y%ĜWm#\4͟|]ҝuxwI$;o-K=5( Re*-.Up,nǯ^U/u- @Q-`mNbJ]$쭢ӠS' ~ .E,R>꺇/V[ɭ8cGAȹy#ZWi[^f/bvfx9DEH/o.kyjeNBxG S46Ѽ"ޛ&P(yH`HJelxQl:歎,uyDPHG *oBY_)N!s$Ac^N XUE(Wʿˎ/G57  mԑQCO1ҿ?goFwh lf7ju8TOύ bzU0D%Znj|6Kw ͗Z+$֘dMդ{mB"HYACMRBW/,ki׫u+1$πV/Y\ z+gI?ah_,X^hB4R"}$p0gb)V$~FGĢۚ_OB(@)T_XY&H[?Ky3Gg"SIFd8PP̫V Hz5xP‡~~ؼLoO*I ro`)||ꛭLJtbD)$%B;/>/}S|# UԲ$İ[B?5/_q/NQr ݁#SWym#%ix>8#ނ^~Dh:#hZΥNt6~h-Mb v:# -J{}S+_(Le7YЃi$u66cUҵQy%9nh kfj^.c`; D(XczFe~tYfC.akr>7W,OF?` ,Vya1--6%7H!^+@gCv1|&e-5)LUk>MNqk[;2h(;%XY!ݣ>t nCHت%e j$nz5G5`>F%vZxKEbCHV2 i,Ɯ7-a/KX,'ۑضc',JORXmt,g->#vQ?]*5<6gY㵞d]('!ߘED6[OwsB 7T/o_\ A!=6fKе`#cy:i6־M[M͸ݧ% !Y'|SkJM:pPąDpP#5fpnM>rYpڅBI4@S©TtkV:uM&Zs"J8VF*]y-oF/uKtJJ ȒOUz㇘ּ\ݪFjMqu4;.ݰ~*Z|$%LCXwd[mWF Dž+vNeQs51Jj[~jz|+  bzmR]+5h.[FA5t`% iw k+D$$ ׎dB_A_4ZֿdQN]9&&Nz$>N~ÈS4*s-cU,mkO;ӭyrise*`3|!!ފjĵcgJ+_)6sU GrYmW~G^yS%:di`x񐩍z* C~jz?w<鍨}J;PUՊ2E8pyrǪ^@/Hu2kٌJ:8/1y[V;[{^5PI|.&R/C }'/uoq%itײ[/-aO]/ɾ,C:~cjhecRWIR3(bߝ`u\/stڛ79+^0~Ui~\뚪-R49jL!ס>;6#@kk^ê7RVֳH!8:8y"gtg1"8T<FԞ15:ɿd/7>H+XK]fO 'UӒќ㇉UYIs/(^_Tg?ižG5Gӯ5fbllbWDDI- <PA]ԵC `M턉[`X)j{.ԑZ\څ2=iGGJ}Y6UIjk^2ֲz[YHI>J/S-V 4߉ܷdi!וJ_vj2j:Ǖ,VZ]W.%Tt9|ۦ5u7-ӖArW1$E(_Rt[wNH&0(@גrQ*l/,hpwy^Q0F^r튔g3X~XfX P89n8>caGӏ+Nn[evgq6[Ȉ5u**i?kʺw|_COJ[ib? j(@;UZXfr|A%EI̮U@15a*M#Jsݬ~c*z)F&G|xIpat *\XdꬮV_9 QOu{UӭC鶙C,!hvhoUȕE[D4 νqq4y 6h^SQKԈfQMڪdtSͻmf} o\34F5Ew/f;ȓ]Y[ qu%3hn_d!* ^@]X2Aݚ^ $1W+JIf"N 8Y+u[[;؜#1ZҮ>!B*վ6⧃HOzxr{9T22W~U%k TZwEMDrz ?7?Yբ\"qÆLrbd7tՠ &Ԩf&ۗ+{1ۨ!_hXNJ{w_/i־=yT}rE'%Gʨ1:JG*' :y@di\Z:,j7HƘ,g_Pk(T|M:wcV"#Lbt2{+bBPMXSfJXkڟ-K&hcyM7eqלӯ,7W.2M<}~i S,Ğ?a6|Κ\Zf^{*; Ae劄J2%%B񔶞qـ#p†wN{%g5fv?ew?&e^)#s_?#5]0xJ}.KC{8l/>˦deOQu4ަIo]y"w-Υ-UwYM\6 GSpu&n`C ])AYFU 3[2~bz"nGiZWG]i"QzLJNը_Z.FFfYKroxʠ'b~bԵ9ˋS-ԩv6q%M*1vU_~f-oo'  ΢'Xڥ<5k[ˆq>X ʦ>VVљF@*`?RN튷^ثX2@ޏ*ļu}.$N+hZX6EWlRdTeq5R7qBrP 5Hۥ{UZ"z?U]~uխWToGoKrۦVY~@jwk, 緞'IA(S t*pi\Υ°Il9UCܰI!V5ezޖ-nlPks+6!xg{]GJzOʐڳ뱧5JB?;w:yymw˫eGoG,!.-Guy,$%+MeHYF.δ[EkJ~I_Q/SjR$+H~)S.*]˶\L9ݝ¯?7O~ܫaGCp7RYeHZDT7"<?~OQzQ=պm|sM<Fַ{q9(+u"'HW$P󏚆G645'EK4?&opn?u>eyr8}[Nf0"Ivo.8?,sAՄ&X{)%I.|_g©]EX[zx]NJ9B(%\R1ۿ=i77 (EO!C/F|iC ܣ}D18U~C_MϮ)X2A^ԧ,U~dE%mkkTIɸ߮*zx?/ !SrE~CJ.*ҳCe|1W?v~`ݼoQ:D(' m+%o"f 1X <- %Gjs蟘q^1_A1* 2L 5K bG{ °$hwآzS=&\W&i٦+x Ď>zޕkiq$pThY ,kP`yt8隄eVHǚ_]zߛ~2` yazђk⑬ ˿-q ~V~W̚/\"^Iʱ^*X6řl9??*^X᛿^%DŽ!*R򍮷gzu; yVYl'XϪ#H(@D8h+B@0ꚬqKMy5u$ S=9ԔneGZ0/-y2~uOSxK=Ϻ:{oqzPNQF{oXyqo>4B2JP¶ļG9tI5UT#,+?GC7dRBivT,N?}FH{6reC+Dxz%*8?e/!,~/aDyvܨ"#q@O3B gj⯓4Y^f%boBjd/OO%hn!ӯ8jz<6$qM$< $)?#?͒zimt#M>l 2Iv Yzθ!|e/jYEm2lf дD#%)QLT<ӧ\jYGatn"qYOOENMS[32}Lf#0Oiqqpn s8TM.OGG֮nKW3(R_Oщ/4;?LMExR-_,R-0Kxti"q/$kH.ǖG9Cm|^k$ެ:D~n]:SX^] Wj {ڌZ*"伀Б\(C^ϧj=_MTJT!~ԱXKG%2CmvOHI)e9r8#_dO-#X)XЫ$ f^HOݧF^M]ޱ9s~*iz?A}k>, VKknmfXNeރ+;w8k,ߖZ,m.ZP2n$0ʯ+jy;P5:֌DOIGp hS~`yg˺vA2XO0J튥kdߖSC} ʑX?DOK&M'G[!Im+GTmKϾuhRxcZ?D 9{3<1 *Z-k>3D8:X7yp<M8kN溻2DLF%53_?^wI׬η'r@C /,^]~-_FK$YVC:mĈ'}UV-b: PhDnm{T/4rO,1)*8 ߱p%(*qWP3A]7JO6"='i-]HfJӫU"y|,ac쥊06K>"I1h,eƘUzqV*•#xWΟsG7Tp>"0,|¿+ct&~Oo J iu6rtH*A,Jo毡dαF upP|qyI*Wr/ć;zi-Y~ޕonNW("6jnm_˒*ǜ#d>ӟEf5FHI䷚Yr^VփWS Pڋ}`V-:"^#*<ֽ:W?.]􉹹Vz ]fE%:|zO5,[89k$pidX$t+Iۢ.Ƒ'ֵciGgc9{9c2G n&Oͮ m2,\hOS"N<ʞLգ^"7iRȳ #Q#7Q-Jb)OyzL>?x3vU2K|8Kg #Af90~Bk- 0IXv; fZG)UWgDt DɏR^kokS@W X^Cw(zvvII4uM9s_R_=JDy2,nk)Z%Wī[ЄU?HN+4ґ|Cop(]ֳ.y,u&n3z4k.~ ]\iڀOqo,JB?M䧛2[ʙ&EDFEPPR^л PZd!nW_0SczFLӢңDn'fVe~/ȑYGA"=r-w,%j%j9 dD=HEX*ܶj>U"{VA!^G5+R:cy511 j@!蟞'nRz;v+R ^ߏ7c.j9إ^+0 Սy~({Zbdm3P yop G#G7[Ru +hU%*4ZN ăԦZˠ؊*MRx%TBbCM'@ɩ]-I.uKcb wߑx>J$ ͦ<ƣoSrhOB/VTm_"[_t$A}J}脯%]%K5KLn=Ni䉢W* *2)0ǚb(͊o6<èƬhgI^ٺ;:7Zfs]^M{;Mw?ha7ƌfԹ.Ǖ j~n~b ze? |0#CK֯,u'L!NjQo\ i/[x̗EK4_$-8i4?9^y/~7!F%AV{fSG$YF&Zn|aZ}5 xެ(Dn('<_D[CRkVΊRy*-,ߛڿaӴ˥Ԅf!4z54Rp‡̍,Vgs_8J{rjҌ?Yeڴ@u&V^JPRWoSyDۭIm-('u^Icط Ӗ K)'_-IOC"hiM91g%%`N*ļȐɤꑗ,3rڎі-qV`1o5I$7U P: *?ȫkI,.Jh.$5x4唲qnA*~_q~N@s.hJIJJ}JH\*̡4BKjG;T2R}kuX,gm³H$kCʕ«_qC8]vUi@{W *i=K멚ȣv)Mzf잎iKU1Vˆ3.D 19e.p0!WbkO!_~[[M.?FedYJCkȠ,( ~ƕFR[_32 ʜy,͈ T4O*{glu Y[iwك}ʵkF'S)m M21Vk[s xWWmu{IatnWRJ,T2(|Hϕ,LuJ ڮJ~ZoHK7B )DdzrfÖ Vʟ*fԷ~tbz$ҩ?ϓR;4X9hߙX7*;y|X1J__.}CO2_zVBCZ~B.x&I_Z#%Q$nu򫮢Ftbw r:6r HvZ*'Gq~wG$ @1qF*,#K4\fA+\Q zۥğe5ckHc.gkuy0?w?.ES_g #6(XGѴftu/HUsn/CAc\"._IS_a^kN>PaJF t\yɋ~`-zVBdG$,o`2Kc]v[I:7Q{#G^&os{KUd@^E*ӱ؍©TyZQ>ŸVu+9ׂG%NzrXQ aT꒽_X}O4B)y戩@fO%^d F"֊A҇oI)"wepGk &[i$eZ/+y_ g_'CkVo ĭ“̅U C򟗭u(iIFjRQ\T|D{MAqip,JZoL+|/({;$h4;8J'JOr1d^০._b֕d_Oa>5ܨEu~RS5m4,MĹ_O?hq~k=wɷɺEMEZ݅6b4+|$Qo¬̖xI O)l/+iz޿BȂ~O5Ȃ[qƩN%y#@WܲJA1ӴHbTc&኷&*\Hty) Tƀъ "[Wy_BJtйےRkC*krumNhG²| ~&hbMyz2fw d+ÊӧO⮶ҼQUIZR ȨgRWUx_B.JdQ%ب`U<>H 'N*$wUK"  SP*kb$q m+hˎ,|41\Ho)}JrYTSzi__`LIw)5b.?ϯ6ZSԬdpܷn-RCQ} '0CakE~%@ei2\EZF@PkS~5? .4rj)zEkOI^\_*ܺ\NQ;ͺ#OT`\ P@(hI"pL6WeR8tW#^!柝_&^dծMQ}&!7>_ߙ5|׶; 2whdZd.VIz奝IogZǓUwd~8PּѣY ^`I:oqfđæ^IΊuSFH~)WX~a.)jO"q1]?_qTm5jv~k)gfR\PF7VXk-}VCweh^'f.Ȼ|.X^77ڍռD}$>c>YˏN6q.&Eo!ĤIOVk<3Ѳ4rtu V|v?;!2,Ve^9ND7mx5 <{Rq9jZ/ +qJO󧘥g%kHk Ԗ?%Ê%qwpcc,Hj9mΟԼs4FR֜<x2PyYxyŊ *hmSob?~ZiIEw]^O$>-P`D;oFۑC.Wʖ4hhd[gv¯`./וRpXgR&'F~%k)e5fHh#3Ƶ;G}6IL*8ATKKfY G%:#8!$RM.unA|? Ҽ rGjTBUs(nȢ4X'l &IYVUAKG#Nb%u P0ĉC|*- |ko,n e[buJ5>|![hhvgVKN?=T=|ᢑգSR:oW6/!{#(Ppo$E>5\R1 ,+j1BƜl >8~^s9BUR,$~1"˲HOILYM x+"iV=˼#|o ?C}*EW&O??K%ZE _SbvR:R?^{Uw @y$9+ѝ.$7m ԣ/i$J[ae7"zHxU#.*XT}¨{USscә"SYw~/LX[DHc^$M gC*PŅ˟IgfBGB `FW[$)^8xhĐ:{PR[2G9Y>BsbN=FDRB4> XJS-R&I' Qh '!SY.fR2p_S9Œ(?JXª ̡HrQru8OOa4תa0VcT( |6uR[KmatCŢx.Chf*͗/g rd_V4 [} ߖZTWw}u-!QSSӐ= /_6Eb7TE p<^?&%,"F?*M$ 3"(޻/:ؿ?4{W%&zej,h G&R9-TWhB;M>̱<|1ȕLƊA)aY @BhE;Ň_l%RUБ+@rRhF把 Win4QF8UHO"5' ,jjX 0I{{q'{4F ?PvYmn%W$7r9~^A|&֝_bb "3AX_0kT0#S:I_L #HԵk/E'/? @ڊ&GPY*~#aUc};N0R~JwM?} B@fi=;uhd , ?⩔Gf4M3Ԑ;r<.#ǒwa|YG]E3I@꠨*pz]m-na_ܴ|'W韕wi[MpD Tq_Ɣ3OɽL\kZYU 6㓱Ah[4JtW鿬v%Y գ!mzmCOE=ڄCHOJvSyM9qv\U矝Zg|u4}*Kv bXb6q(,~Iݮy +LG8d1ժ>"\#I]&&u ۨ3qvr1 iJ(YahfVfaeUnoeg$q(Z[__ $=2&ED!c+5x?ˆUy;ɯu>.+>"Wj\ kuiguƢ[ɫ2aO! +ueo3i1jZSq_`<|_ȟaT[W꒙ܲHݹRJ/-R uk/4W6o>^HE7 :SFe|%*!BEQM$уU%iQߕ$sIsurM<2:`P)Zy3B"YJ;7]~&֘${9$YmuF)~/ՉbmXм~Ո,IRVy|UkpZ{oQkaYȑ9)I/x}*wM5;ks ؀oPلA#ecWvo ջ `Ey)%Eю'g6?6-TT`rt5c*uC<.dC0W^8B)9 }4PHDj\Oٍ>olUeiac/ZYי$9/!L|H9cJ8%СPhWWL*}odgeB$U ӲT\xLU $yLB99d0Vb)3V///W L[ϧM,.#Io }#nG~Av2rVCcF#!)@es_~%Y\ZƢ/ՠ'[G CI@Ibj&fUKBFeutJp 8|M\U&N-AZڍ(Z~0#L(ÕY!YDyrX4Ք1-?X*)56*YiV6/a XHT*u*X_RyT}?[eR3 aJ_Up֣M r\[WqUHyUM}Vjֿ˹ZlIAQwԜUmm4r* jiڃ(+!E炤/N=.kgcqn?|X_XEE,NkR+SⅻH^WSTM/}(bozv(|[tvd2i֪d P_W#$I PoORu&z$ZV 4t_om[/b%Ix"{c44"A4lUa%݁V<6,8htVR8~ʪ^ (K. ZK"y'baZ1U%EUѴBC-~<~/!RzR֝;?3Zsl.?HfC"גT-(~b7x.VhT(o8U4awƟ1VX YLip;lѾ|jCwUk}mcВOcO\Ut_KEMI Ø4bw)cW6m&ա%O8 VVhZnHU)T)w!V -~X(M3H ,.#WG~̿4WDu1<"W$DoY- M,3 IRZ+>nvwb5H$rG,9*#*(+UuΝPmִ[LnGv1VKWJV4$W¸F~Aj0ŚS~5|ȪjiVɧXU8+6bbc](C&G7A~_**w#O΃it1 UA1VK\W1J!p6TJqUT|WVtT"mV_X+KX-@CWKUR0*ѪY<}0S]+~ثj|%٬ b()U1E_w1W~bW "[L[G /3[:DTS]&!_LUKOkboث]*?FG=Vƛ\4 Pw늻rnki:PqKGҸG)\*GN4B~XbxURO8qV͒qW}I#6h*p%'v8S[IN*ѱ_8_Q)r=Gl}I:r8pJ}l)w*逸UfFb1\lVHWUR*P(q^_l,Pr'w8aAND⭛0CLUH 1ۊb'*vv,i\ GTbi? }Cq_bq_ۅ?k6n6?%_-mckm}Sq}SaW__ mmU+mmT+6q}S~ۍ~ۍۆ_ ckn_kn_6?Bҟn66_6n6ckn_6cknk6k_?ZpZT+O_knk_ᵶW,knחU+o__Ory{q1߇ᵶ-mebq=_mm1}Sq:siF=>}Wտ1N*j]躸QY5͌7Ē,>)?ƪkzy^Ij:4:V^\Z"ۇ9Oio UU?wkYy&[m4h4gW[eJgdÊ嫭]y[x>y)~1̒$KX4V 2kvç]\Z"" ary8lRzƓktK3Kn$)zd2z+'8ѯ%]熚Zuoh%W&c%Ħi,G Z|K'? V/4chjm$v`ӇBS5~a |_0ZC=#T[/1X,6wt܉l>Z#++)kwa.lv5 ΅imcjZN:c>pM\< Cr}ѷ(u,'}c[{. $}jeF"XR8$JMBuռݪWSukMҭ..mUytK~hqQRA./|65lZJcۃ441BA~f zUڴ廭jS5 &LhZhG#FyF%NI"/Čuţ\~W7SYY+M)g.a-4y\UK;Պ-\Ao{atޤȪ(/'8֍9y@ZjyȇΖRӣjN*(?$I?i|K%\Uo׺ijH:o-eC"±x9!I}N(_կ'DWBR!-j&W_*|^bke ._*4{mBo)'?.)OO4Kk9jM_̺m%"Ixۤ fǒĈռc{yJk5E;ȝ{m6ohYudVYcvƂR麧VR7%)9nJsLPʮ Ky`r%FF10UѿѕqV 5ĿZe\qu{s5Ԅđ'yT$j8)ɛ*y5:NokuyQk.spEhd:ѺH'pIM.fXgX%u[ih捕y_0ZC=#T[/1X,6wt܉l>Z#++*PUثWb]v*UثWb]v*UثN*uʍ]MJ{0уm轫"‰Y_劦6>Dy +XťKah3oo?o@_qW ?I^}oG}SN?}by}c|?HgKiK #lÇx2/MKtZyMb[K} vI$2Y9,I+4rGžGP'EM3]֝Hl4ee qRFosgUBO"A{ڕ֍sp:6 xׂc9DwR>*Pw>]^)..\K{yrdSq[7̣#'N>uuoMǘ(%fѮe,T5FEmlEɢqfતU~+_Q[I/N?Bdjޥ >C/%)Y[M<4M22 n[+( 9[DŽ{~ЧVTWH*4mt]: K̖i;F6FxNQB_~T fCw2\LԎYg VS1};S|Xj6$wWjҺصWR_ȫO+kz֖Eek.1:Ki%oWFhu=JY8,^pLI "?ؓ*">z^yϭGz,$0'"8*4助姗t %ҟ݃I$1ʮ%,},U q{55޸Ҥ76 ׊_m4O!`95?G3aez$Z=oBY~PiZvij]otJ_е;BARAp?46o8yK_,iw]:xtDOM8u=?ҚT"skZo. 7ȓE$:MQ~ٞh#iv5YWg4Z嶱m&[[g2dy9OV8⡅yQ< @)=_Ջ=ĭ3G,/孓Zy\j~i``-uD1(ah##w_]xr>%P?,VO*5.^QV]6Rh;w|?߽Y*UثWb]v*UثWb]v*Uث{DyK  _Toc29786483{DyK  _Toc29786484{DyK  _Toc29786485{DyK  _Toc29786486{DyK  _Toc29786487{DyK  _Toc29786488{DyK  _Toc29786489{DyK  _Toc29786490{DyK  _Toc29786491{DyK  _Toc29786492$$If!vh555555#v:V l05/  / / / 4a$$If!vh555555#v:V l05/  / / / 4a$$If!vh555555#v:V l05/ / 4a$$If!vh555555#v:V l05/ / 4a$$If!vh555555#v:V l05/ / 4a$$If!vh55 5j#v#v #vj:V l055 5j4$$If!vh55 5j#v#v #vj:V l055 5j4$$If!vh55 5j#v#v #vj:V l055 5j4$$If!vh55 5j#v#v #vj:V l055 5j4$$If!vh55 5j#v#v #vj:V l055 5j4$$If!vh55 5j#v#v #vj:V l055 5j4$$If!vh555255#v#v#v2#v#v:V 555255/ /  /  / / / 44 T$$If!vh555255#v#v#v2#v#v:V 555255/  / / / / / 44 T$$If!vh555r5r55+#v#v#vr#v#v+:V 555r55+/ /  44 a$$If!vh555r5r55+#v#v#vr#v#v+:V 555r55+/ / 44 a$$If!vh5=5 555#v=#v #v#v#v:V 5=5 555/  /  / / / 44 a$$If!vh5=5 555#v=#v #v#v#v:V 5=5 555/ / / / / 44 a{DyK  _Ref12172670{DyK  _Ref12172704{DyK  _Ref12172719{DyK  _Ref12172729{DyK  _Ref121727398@8 Normal_HmH sH tHP@P Heading 1$<@&5CJKHOJQJN@N Heading 2$<@&56CJOJQJH@H Heading 3$<@& CJOJQJT`T Heading 4 & F1$@&CJOJQJmHsHuT`T Heading 5 & F1$@&CJOJQJmH sH uT`T Heading 6 & F1$@&CJOJQJmH sH uT`T Heading 7 & F1$@&CJOJQJmH sH uT`T Heading 8 & F1$@&CJOJQJmH sH uDA@D Default Paragraph FontVi@V  Table Normal :V 44 la (k@(No List 4@4 Header  9r 4 @4 Footer  9r .)@. Page NumberP+@"P  Endnote Text1$CJOJQJmH sH uDZ@2D Plain TextOJQJmH sH uzS@Bz Body Text Indent 3# `0;1$^`;CJOJQJmHsHuVORV Settings*$1$ 0CJOJQJ_HmH sH tH&@& TOC 1.@. TOC 2 ^.@. TOC 3 ^.@. TOC 4 X^X.@. TOC 5  ^ .@. TOC 6 ^.@. TOC 7 ^.@. TOC 8 x^x.@. TOC 9 @^@BB:;XY[\]vKx O78O>t   : J L M N ? l n o ?@8Z}G56L$DE %+067<AGLQVWX:,-Z[2` 23`a Z[EFy,->}~J-.d fg)OP^ _ h q x y  !:!;!?!_!!!!!!!!"P"Q"R"##*$+$h$i$$$$%`%a%%%%%&&&&3'5'n'p'q'''''!(J((($)%)v)w)x))++4+u+v++++ ,`,a,,,,(-s-t--../.....3/\/////R0S0T0U0V0W0[0\0g0h0o0p0u0v0w0x0y000000000000000000000000000000011 111111"1:1R1[1k1l1s1t111111111111111111111222(2I2{22223839333 4m4n4444 5/5^5_555556G6m6n6677L7M7777788O8P8888889999999w:x:::::[;\;z;{;5<6<==9=Z=[=====8>:><>h>>>>>???????3@y@|@}@@@AAAEAFAAAAAB B\B]BBBBCCCDEE.F/FbFFFFFGGNGxGyGGGH+H,HwHxHHHHH,I-ItIuIIIJJWJXJJJKKfKgKK L L!L"L6L7LJLWLdLeLLL(M)MEMFM^M_MoM|MMMNNHNIN^N_NhNvNNNNNNNN O+O,O[OOOOOO PP1PBPCPPPPPPPPPQQQ5S6S`SaSiSSS T TBTrTTTT#USUUUUV5VnVVV W9WnWWWWWWWWW XX)XJXdXuXXXXXXXY.YOYsYYYYY Z Z$ZKZZZZ[B[x[[[[[ \8\\\\\\]%]9]=]p]q]]]]]+^,^^^^^2_3_____'`(`R`S`````7a8aaabbbncocccdddde eee\f]fffffkglg h!hhhhhh9i:iii-j.jj#kkPlQlRlllllHmImmmmmmmn+n,n1nXnYn_nnnnnnn4o5oOoPo_o`omooooooopp\p]pjprpppppppq'q8q?@C0000000000000000000000000000000008(08000000000(08 0  0  0  0 0 0 0 0 (08!0 !0 !0 !0 0 0 00o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o (0o  0 0 0 0 0 0 0 00(0o 00000606!06!06!06!06!06!060606060606060606060606060606060606060606060606060606060606060606060606060606 060606!06!06!06!0 606(060000!0!0!0!0!0!0!0!00(060 0 0 0 !0 !0 !0 !0 0 (060000!0!0!0!00(060-0-!0-!0-!0-!0-0-(0600000!0!0!0!00000!0!0!0!00000000000000 0000 000000000000000000(00#0#0#0#0#0#0#0#0#0#0#0#0#(00%0%0%0%0%0%0%0%0%(00q'0q'0q'!0q'!0q'!0q'!0q'!0q'0q'0q'0q'0q'00x)(0x)!0+0+0+!0+0+0+!0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+(0x)0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/ 0/ 0/ 0/ 0/ 0/ 0/ 0/ 0/0/0/0/(0x)0303030303030303030303030303030303030303!0303!0303!0303!0303!0303!0303!0303!0303030303009090909090909090909090909(09 0=0=0= 0=0=0=0=0=0=0=00<>0<>0<>0<>0<>0<>0<>0<>(0<>0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?(0<>0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E!0E0E!0E0E!0E0E!0E0E!0E0E!0E0E!0E0E!0E0E!0E0E0E0E00gK0gK0gK0gK0gK0gK0gK0gK0gK0gK0gK0gK0gK0gK0gK0gK0gK0gK0gK0gK0gK(0gK0M(0gK0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N(0gK0Q0Q0Q0Q(0gK0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS0aS(0gK0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X!0X0X!0X0X!0X0X0X0X!0X0X!0X0X!0X0X!0X0X0X0X!0X0X0X0X!0X0X!0 X0X!0 X0X0X0X0X0X0X!0 X0X!0 X0X0X0X!0 X0X!0X0X0X0X0X0X!0X0X!0X0X!0X0X0X0X0X0X0X!0X0X!0X0X!0X!0X!0X!0X0X0X0X0X!0X0X!0X0X0X0(0m 0m0m0m 0m0m0m 0m0m0m 0m0m0m(0m!0n0n!0n0n0n!0n0n!0n0n(0m!0`o0`o 0`o0`o 0`o0`o 0`o0`o 0`o0`o(0m0]p0]p0]p0]p0]p0]p0]p0]p0]p0]p0]p0]p0]p0]p0]p0]p0]p0]p0]p0]p0]p0]p0]p0]p(0m 0r0r0r0r0r0r!0r0r0r0r0r0r0r0r0r0r0r!0r0r0r0r0r(0m!0cw0cw0cw0cw0cw0cw0cw0cw0cw0cw0cw0cw!0cw0cw0cw0cw0cw0cw0cw0cw0cw0cw0cw0cw0cw0cw!0cw0cw0cw0cw0cw0cw0cw0cw0cw0cw0cw0cw0cw0cw0cw0cw0cw0cw0cw0cw0cw0cw!0cw0cw0cw0cw0cw0cw0cw(0m0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 5558 4+y1 |!!"O#@$%U&*0+<./19R@[BGPUX`-ekmUn*oop݀]ɉJɎldfGhiokmdq(tuuHKLMOPRSTUVWYZ[acdefgijlmorwz{}  $ @ \ s \%9)\,.Y//0i004:AbEEEF0FGFeFFF G!GLHJ/NRW-^rad glGqtax}[c fniUm&oqtuuINQX\]^_`bhknpqstuvxy|~uJ,GIYtv /JMn8Bo y 6@y))99<>F>hKrK T:T>TUUUUUVVVVVWWmmB t%t%t%t%t%t%t%t%t%t%t666666666444446(/28!t?2$Xb_33AR$D0F4xR$u#ŠLh\1@(  x  C :A"TBL_branch_staff"bB   c $D"bB  c $D"VB  C D"VB  C D"\B  S D"B S  ?#0111[1BBb"4 @n nt:zt t t@:p:t4 _Toc25051109 _Toc25051110 _Toc25051112 _Toc29786483 _Toc25051113 _Toc29786484 _Toc25051114 _Toc25051115 _Toc25051116 _Toc25051117 _Toc29786485 _Toc25051118 _Toc25051119 _Ref12948062 _Toc25051120 _Toc29786486 _Ref12172729 _Ref12172704 _Ref12172739 _Ref12172719 _Ref12172670 _Toc25051121 _Toc29786487 _Toc25051122 _Toc25051123 _Ref12948216 _Toc25051124 _Toc29786488 _Toc25051125 _Toc25051126 _Toc29786489 _Toc25051127 _Toc25051128 _Toc29786490 _Toc25051129 _Toc25051130 _Toc29786491 _Toc25051131 _Toc25051132 _Toc25051133 _Toc25051134 _Hlt12173388 _Toc25051145 _Toc25051146 _Toc29786492 _Toc25051147 _Toc25051148 _Toc25051149 _Toc25051150 _Toc25051151 _Toc25051152 _Toc25051153BB y y 6@@#%y)))+99=F>F>?rKrKMNQaS TXmmmn`o]prcwC  !"#$%&'()*+,-./01238NN KKK#%))) +99 =g>g>?KKMNQhS?TXmmmniofprowCH`c }ac lbc i{cc 1dc d+ec afc |gc hc IJic jc kc lc mc nc Doc "pc qc ĩrc 4Xsc xtc uc 4Evc Ԡ}wc d`xc )|yc lzc {c t |c +}c s#~c y c Gc c zc |c  c {c c tc ҏc c {c ޏc Lc &c c Tc c c D-c $/c L?c #c  c ԁc c c Tc t}c  }c }c <}c Ă c \Tc ܎}c T}c  c |{c tc \{c c 4  O D))..R/R/c8c8??HHHIIIIIJJ K KcYcYYYYp\p\\\\^^`jqqqqtt{{||}}}}~~C      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG % W L  ,,..X/X/l8l8??HHH*IRIRIJJKKqYqYYYY\\\\\^)^`jqqqqtt{{||}}}}~~C  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG8@*urn:schemas-microsoft-com:office:smarttagsCity:+*urn:schemas-microsoft-com:office:smarttagsStreet=*urn:schemas-microsoft-com:office:smarttags PlaceName=*urn:schemas-microsoft-com:office:smarttags PlaceType9H*urn:schemas-microsoft-com:office:smarttagsplace8(*urn:schemas-microsoft-com:office:smarttagsdate;,*urn:schemas-microsoft-com:office:smarttagsaddress Ԏ 112190019801988199119981999231DayMonthYearHHHHHHHH@H@H@H@H@H@H@H@H@H@H,+@H(  ( @H@H@H,+H,+H(  (  (   (  ( (  ( (  @HH@H@@HH@H@H@]cv}!"')*+18]_bcfglnopv} G+O+++ ,*,8,@,,,,,A-K-....H/N/u//////66nnnnnnnnnnnnnnnnnnnnnnnnnnooooo ooooooooo"o#o&o'o*o+o.o4op p$p%p(p+p.p/p2pFpJpKpNpQpTpUpXp\pttttttu u uuyyyyyyzzzz/4V[_dԄڄ !MRX^ >?C;< ACTW7Z|} 0 !8#<##$/$4$$$%%%%N&S&&&&&&&5'<'**4+6+:+A+_+h+++++ , ,,,N,S,,,,,,,--(-/---..........4/6/:/B/^/e///o4x44444 5515;5`5h55555556&6I6P6::\;_;{;;9=<==== >>>>>? ??!??@@@L@@@GAJAAA^BaBBBBBBBEE0F9FdFnFFFFFFFG'GPGYGzGGGGGGHH LL"L$L*M-MFMIMgMiMN NINKNNNNNNN\O_OOO#P'PGPSPPPPP:S\C\c\h\\\\\\\ ]]r]x]^^)`4```JcNcpczcddffhhhimmnn2n=n`nknnnn3oPoSop[ptp|ppppppppppppqqq(q,qFqLq_qgqqqqqqqqqrrJrQrssssssssttttttttuu"u$uvvEwHwwwwwwwwwxxxxixoxxxCyEyIyLyyyyy zzz#z6z8z?C3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333;Yv N ? 8ZEX2a_  ;!_!!!!!++W012I2{2222393==w@z@q]]^^``ffmmmn,n1nYn_nnnnn5oooprr{tt~vv_wwx@yz{~& 1>?C >?C#S&holCS |x^[ ܖI5I*f[:k}Q_)#NPO, (06~IU'9ʼ='9$!sw;*f[KhAPEF&hMPqJjW, oW.gs\Tp^V"_V'a-]av$a&hCf&hh&hw-j&hBQvxdx&h27;|#NP*hh^h`o(.hh^h`CJo(.0^`0o(()hh^h`.0^`0o(()0^`0o(.0^`0o(()hh^h`o()hh^h`o(.hh^h`CJo(.hh^h`CJo(.0^`0o(()hh^h`o(.hh^h`o(.0^`0CJ.hh^h`CJo(.0^`0o(.0^`0o(. 0^`0o(hH.0^`0o(()hh^h`CJo(.hh^h`o(.hh^h`o(.hh^h`o(.hh^h`o(.@ ^`OJQJo(hh^h`o(.0^`0o(()O,5I27;| |BQvKhAolCMV"_ oWh$aw-jCf#SEFxdxgs\Q_)sw;(0U'9-]aqJjW='9^[ 'a @" Y^Y`OJQJo(  xJ(~*<qTh8% vE %+067<AGLQVW^ _ h q x y  !:!;!?!_!!!!!!!!"P"Q"/R0S0T0V0[0g0o0u0v0x0000000000000000001 111[1k1s111111111111 44ۅ >C90U1@zz@ zzl J J J #$%&'P+P,/08>8?CDQRXYuB@@@@$@@@@0@@@<@@$@L@@2@h@@6@8@t@@>@@@D@@@T@@@Z@@@j@@@r@@@@@p@@UnknownG: Times New Roman5Symbol3& : ArialK@Palatino LinotypeA& Trebuchet MS]CG Times 12ptBook Antiqua?5 z Courier New"0hesfwqkqDkqD!4dŅŅ2QHX?~*<2!Tuple Relational Calculus and SQLSander van LaarSander van Laar                        Oh+'0 , L X d p|$Tuple Relational Calculus and SQLSander van Laar Normal.dotSander van Laar206Microsoft Office Word@0gl@"@0@JL\сkq՜.+,0 hp|  HiDŅ "Tuple Relational Calculus and SQL Title  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root Entry FaсData O1TableWordDocumentSummaryInformation(DocumentSummaryInformation8CompObjq  FMicrosoft Office Word Document MSWordDocWord.Document.89q