PK \8–Aoa«,mimetypeapplication/epub+zipPK\8–AiTunesMetadata.plistZ¥û artistName Oracle Corporation book-info cover-image-hash 497839747 cover-image-path OEBPS/dcommon/oracle-logo.jpg package-file-hash 265702527 publisher-unique-id E21633-05 unique-id 17634628 genre Oracle Documentation itemName Oracle® TimesTen In-Memory Database Operations Guide, 11g Release 2 (11.2.2) releaseDate 2012-09-26T08:18:31Z year 2012 PK4RnÙ_ZPK\8–AMETA-INF/container.xmlâÿ PKYuìçâPK\8–AOEBPS/ttisql.htm€ÿ Using the ttIsql Utility

6 Using the ttIsql Utility

The TimesTen ttIsql utility is a general tool for working with a TimesTen data source. The ttIsql command line interface is used to execute SQL statements and built-in ttIsql commands to perform various operations. Some common tasks that are typically accomplished using ttIsql include:

The following sections describe how the ttIsql utility is used to perform these types of tasks:

For more information on ttIsql commands, see the "ttIsql" section in the Oracle TimesTen In-Memory Database Reference.

Batch mode vs. interactive mode

The ttIsql utility can be used in two distinctly different ways: batch mode or interactive mode. When ttIsql is used in interactive mode, users type commands directly into ttIsql from the console. When ttIsql is used in batch mode, a prepared script of ttIsql commands is executed by specifying the name of the file containing the commands.

Batch mode is commonly used for the following types of tasks:

Interactive mode is suited for the following types of tasks:

By default, when starting ttIsql from the shell, ttIsql is in interactive mode. The ttIsql utility prompts you to type in a valid ttIsql built-in command or SQL statement by printing the Command> prompt. The following example starts ttIsql in interactive mode and then connects to a TimesTen database by executing the connect command with the MY_DSN DSN.

C:\>ttIsql

Copyright (c) 1996-2011, Oracle.  All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.

Command> connect MY_DSN;
Connection successful: DSN=MY_DSN;DataStore=E:\ds\MY_DSN; 
DRIVER=E:\WINNT\System32\TTdv1122.dll;
(Default setting AutoCommit=1)

Command>

When connecting to the database using ttIsql, you can also specify the DSN or connection string on the ttIsql command line. The connect command is implicitly executed.

C:\>ttIsql MY_DSN

Copyright (c) 1996-2011, Oracle.  All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.

connect "DSN=MY_DSN";
Connection successful: DSN=MY_DSN;DataStore=E:\ds\MY_DSN; 
DRIVER=E:\WINNT\System32\TTdv1122.dll;
(Default setting AutoCommit=1)

Command>

Batch mode can be accessed in two different ways. The most common way is to specify the -f option on the ttIsql command line followed by the name of file to run.

For example, executing a file containing a CREATE TABLE statement will look like this:

C:\>ttIsql -f create.sql MY_DSN

Copyright (c) 1996-2011, Oracle.  All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.

Command> connect "DSN=MY_DSN"
Connection successful: DSN=MY_DSN;DataStore=E:\ds\MY_DSN; 
DRIVER=E:\WINNT\System32\TTdv1122.dll;
(Default setting AutoCommit=1)

Command> run "create.sql"

CREATE TABLE LOOKUP (KEY NUMBER NOT NULL PRIMARY KEY, VALUE CHAR (64))

Command> exit
Disconnecting...
Done.

C:\>

The other way to use batch mode is to enter the run command directly from the interactive command prompt. The run command is followed by the name of the file containing ttIsql built-in commands and SQL statements to execute:

Command> run "create.sql";

CREATE TABLE LOOKUP (KEY NUMBER NOT NULL PRIMARY KEY, VALUE CHAR (64))
Command>

Defining default settings with the TTISQL environment variable

The ttIsql utility can be customized to automatically execute a set of command line options every time a ttIsql session is started from the command prompt. This is accomplished by setting an environment variable called TTISQL to the value of the ttIsql command line that you prefer. A summary of ttIsql command line options is shown below. For a complete description of the ttIsql command line options, see the "ttIsql" section in the Oracle TimesTen In-Memory Database Reference.

Usage: ttIsql [-h | -help | -helpcmds | -helpfull | -V]
        ttIsql [-f <filename>] 
               [-v <verbosity>] 
               [-e <commands>]
               [-interactive] 
               [-N <ncharEncoding>] 
               [-wait]
               [{<DSN> | -connstr <connection_string>}]

The TTISQL environment variable has the same syntax requirements as the ttIsql command line. When ttIsql starts up it reads the value of the TTISQL environment variable and applies all options specified by the variable to the current ttIsql session. If a particular command line option is specified in both the TTISQL environment variable and the command line then the command line version will always take precedence.

The procedure for setting the value of an environment variable differs based on the platform and shell that ttIsql is started from. As an example, setting the TTISQL environment variable on Windows could look like this:

C:\>set TTISQL=-connStr "DSN=MY_DSN" -e "autocommit 0;dssize;"

In this example, ttIsql will automatically connect to a DSN called MY_DSN, turn off autocommit and display the size of the database as shown below:

C:\>ttIsql

Copyright (c) 1996-2011, Oracle.  All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.

Command> connect "DSN=MY_DSN";
Connection successful: DSN=MY_DSN;DataStore=E:\ds\MY_DSN;
DRIVER=E:\WINNT\System32\TTdv1122.dll;
(Default setting AutoCommit=1)
Command> autocommit 0;

Command> alltables;
  SYS.ACCESS$
  SYS.ARGUMENT$
  SYS.CACHE_GROUP
  SYS.COLUMNS
  SYS.COLUMN_HISTORY
  SYS.COL_STATS
  SYS.DEPENDENCY$
  SYS.DIR$
  SYS.DUAL
  SYS.ERROR$
  SYS.IDL_CHAR$
  SYS.IDL_SB4$
  SYS.IDL_UB1$
  SYS.IDL_UB2$
  SYS.INDEXES
  SYS.MONITOR
...
59 tables found.
Command>

Customizing the ttIsql command prompt

You can customize the ttIsql command prompt by using the set command with the prompt attribute:

Command> set prompt MY_DSN;
MY_DSN

You can specify a string format (%c) that returns the name of the current connection:

Command> set prompt %c;
con1

If you want to embed spaces, you must quote the string:

Command> set prompt "MY_DSN %c> ";
MY_DSN con1>

Using the ttIsql online help

The ttIsql utility has an online version of command syntax definitions and descriptions for all built-in ttIsql commands. To access this online help from within ttIsql use the help command. To view a detailed description of any built-in ttIsql commands type the help command followed by one or more ttIsql commands to display help for. The example below displays the online description for the connect and disconnect commands.

Command> help connect disconnect
 
Arguments in <> are required.
Arguments in [] are optional.
 
Command Usage: connect [DSN|connection_string] [as <connection_id>]
Command Aliases: (none)
Description: Connects to the data source specified by the optional DSN or 
connection string argument. If an argument is not given, then the DSN or 
connection string from the last successful connection is used. A connection ID 
may optionally be specified, for use in referring to the connection when multiple 
connections are enabled. The DSN is used as the default connection ID. If that ID 
is already in use, the connection will be assigned the ID "conN", where N is some 
number larger than 0.
Requires an active connection: NO
Requires autocommit turned off: NO
Reports elapsed execution time: YES
Works only with a TimesTen data source: NO
Example: connect; -or- connect RunData; -or- connect "DSN=RunData";
-or- connect RunData as rundata1;
 
Command Usage: disconnect [all]
Command Aliases: (none)
Description: Disconnects from the currently connected data source or all 
connections when the "all" argument is included. If a transaction is active when 
disconnecting then the transaction will be rolled back automatically. If a 
connection exists when executing the "bye", "quit" or "exit" commands then the 
"disconnect" command will be executed automatically.
Requires an active connection: NO
Requires autocommit turned off: NO
Reports elapsed execution time: YES
Works only with a TimesTen data source: NO
Example: disconnect;

To view a short description of all ttIsql built-in commands type the help command without an argument. To view a detailed description of all built-in ttIsql commands type the help command followed by the all argument.

To view the list of attributes that can be set or shown by using ttIsql, enter:

Command> help attributes

Using the ttIsql 'editline' feature for UNIX only

On UNIX systems, you can use the 'editline' library to set up emacs (default) or vi bindings that enable you to scroll through previous ttIsql commands, as well as edit and resubmit them. This feature is not available or needed on Windows.

To disable the 'editline' feature in ttIsql, use the ttIsql command set editline off.

The set up and keystroke information is described for each type of editor:

Emacs binding

To use the emacs binding, create a file ~/.editrc and put "bind" on the last line of the file, run ttIsql. The editline lib will print the current bindings.

The keystrokes when using ttIsql with the emacs binding are:

KeystrokeAction
<Left-Arrow>Move the insertion point left. Back up.
<Right-Arrow>Move the insertion point right. Move forward.
<Up-Arrow>Scroll to the command prior to the one being displayed. Places the cursor at the end of the line.
<Down-Arrow>Scroll to a more recent command history item and put the cursor at the end of the line.
<Ctrl-A>Move the insertion point to the beginning of the line.
<Ctrl-E>Move the insertion point to the end of the line.
<Ctrl-K>"Kill" (Save and erase) the characters on the command line from the current position to the end of the line.
<Ctrl-Y>"Yank" (Restore) the characters previously saved and insert them at the current insertion point.
<Ctrl-F>Forward char - move forward 1 (see Right Arrow)
<Ctrl-B>Backward char - move back 1 (see Left Arrow)
<Ctrl-P>Previous History (see Up Arrow)
<Ctrl-N>Next History (see up Down Arrow)

vi binding

To use the vi bindings, create a file ${HOME}/.editrc and put "bind-v" in the file, run ttIsql. To get the current settings, create a file ${HOME}/.editrc and put "bind" on the last line of the file. When you execute ttIsql, the editline lib will print the current bindings.

The keystrokes when using ttIsql with the vi binding are:

KeystrokeAction
<Left-Arrow>, hMove the insertion point left (back up)
<Right-Arrow>, lMove the insertion point right (forward)
<Up-Arrow>, kScroll to the prior command in the history and put the cursor at the end of the line.
<Down-Arrow>, jScroll to the next command in the history and put the cursor at the end of the line.
ESCVi Command mode
0, $Move the insertion point to the beginning of the line, Move to end of the line.
i, IInsert mode, Insert mode at beginning of the line
a, AAdd ("Insert after") mode, Append at end of line
RReplace mode
CChange to end of line
BMove to previous word
eMove to end of word
<Ctrl-P>Previous History (see Up Arrow)
<Ctrl-N>Next History (see up Down Arrow)

Using the ttIsql command history

The ttIsql utility stores a list of the last 100 commands executed within the current ttIsql session. The commands in this list can be viewed or executed again without having to type the entire command over. Both SQL statements and built-in ttIsql commands are stored in the history list. Use the history command ("h ") to view the list of previously executed commands. For example:

Command> h;
8 INSERT INTO T3 VALUES (3)
9 INSERT INTO T1 VALUES (4)
10 INSERT INTO T2 VALUES (5)
11 INSERT INTO T3 VALUES (6)
12 autocommit 0
13 showplan
14 SELECT * FROM T1, t2, t3 WHERE A=B AND B=C AND A=B
15 trytbllocks 0
16 tryserial 0
17 SELECT * FROM T1, t2, t3 WHERE A=B AND B=C AND A=B
Command>

The history command displays the last 10 SQL statements or ttIsql built-in commands executed. To display more than that last 10 commands specify the maximum number to display as an argument to the history command.

Each entry in the history list is identified by a unique number. The ! character followed by the number of the command can be used to execute the command again. For example:

Command>
Command> ! 12;

autocommit 0
Command>

To execute the last command again simply type a sequence of two ! characters:

Command> !!;

autocommit 0
Command>

To execute the last command that begins with a given string type the ! character followed by the first few letters of the command. For example:

Command> ! auto;

autocommit 0
Command>

Saving and clearing the ttIsql command history

You can save the list of commands that ttIsql stores by using the savehistory command:

Command> savehistory history.txt;

If the output file already exists, use the -a option to append the new command history to the file or the -f option to overwrite the file. The next example shows how to append new command history to an existing file.

Command> savehistory -a history.txt;

You can clear the list of commands that ttIsql stores by using the clearhistory command:

Command> clearhistory;

Working with character sets

The ttIsql utility supports the character sets listed in "Supported character sets" in the Oracle TimesTen In-Memory Database Reference. The ability of ttIsql to display characters depends on the native operating system locale settings of the terminal on which you are using ttIsql.

To override the locale-based output format, use the ncharencoding option or the -N option. The valid values for these options are LOCALE (the default) and ASCII. If you choose ASCII and ttIsql encounters a Unicode character, it displays it in escaped format.

You do not need to have an active connection to change the output method.

Displaying database structure information

There are several ttIsql commands that display information on database structures. The most useful commands are summarized below:

Using the ttIsql describe command

Use the describe command to display information on individual database objects. Displays parameters for prepared SQL statements and built-in procedures. The argument to the describe command can be the name of a table, cache group, view, materialized view, materialized view log, sequence, synonym, a built-in procedure, a SQL statement or a command ID for a previously prepared SQL statement, a PL/SQL function, PL/SQL procedure or PL/SQL package.

The describe command requires a semicolon character to terminate the command.

Command> CREATE TABLE T1 (KEY NUMBER NOT NULL PRIMARY KEY, VALUE CHAR (64));
Command> describe T1
       > ;

Table USER.T1:
  Columns:
   *KEY                            NUMBER NOT NULL
    VALUE                          CHAR (64)
1 table found.

(primary key columns are indicated with *)
Command> describe SELECT * FROM T1 WHERE KEY=?;

Prepared Statement:
  Parameters:
    Parameter 1                    NUMBER
  Columns:
    KEY NUMBER                     NOT NULL
    VALUE                          CHAR (64)
Command> describe ttOptUseIndex;

Procedure TTOPTUSEINDEX:
  Parameters:
    Parameter INDOPTION            VARCHAR (1024)
  Columns:
    (none)

1 procedure found.
Command>

Using the ttIsql cachegroups command

The cachegroups command is used to provide detailed information on cache groups defined in the current database. The attributes of the root and child tables defined in the cache group are displayed in addition to the WHERE clauses associated with the cache group. The argument to the cachegroups command is the name of the cache group that you want to display information for.

Command> cachegroups;
Cache Group CACHEUSER.READCACHE:
 Cache Group Type: Read Only
 Autorefresh: Yes
 Autorefresh Mode: Incremental
 Autorefresh State: Paused
 Autorefresh Interval: 5 Seconds
 Autorefresh Status: ok
 Aging: No aging defined
 Root Table: ORATT.READTAB
 Table Type: Read Only
Cache Group CACHEUSER.WRITECACHE:
 Cache Group Type: Asynchronous Writethrough global (Dynamic)
 Autorefresh: No
 Aging: LRU on
 Root Table: ORATT.WRITETAB
 Table Type: Propagate
2 cache groups found.

Using the ttIsql dssize command

The dssize command is used to report the current memory status of the permanent and temporary partitions as well as the maximum, allocated and in-use sizes for the database.

Command> dssize
 
  PERM_ALLOCATED_SIZE:      32768
  PERM_IN_USE_SIZE:         8615
  PERM_IN_USE_HIGH_WATER:   8615
  TEMP_ALLOCATED_SIZE:      40960
  TEMP_IN_USE_SIZE:         5794
  TEMP_IN_USE_HIGH_WATER:   8959

Using the ttIsql tablesize command

The tablesize command displays the detailed analysis of the amount of space used by a table. Once you execute the ttComputeTabSizes built-in procedure, which analyzes the table size of the indicated tables, the tablesize command displays the total size data for all analyzed tables.


Note:

For more details, see ttComputeTabSizes in the Oracle TimesTen In-Memory Database Reference.

Executing the tablesize command with no arguments displays available sizing information for all tables that have had the ttComputeTabSizes computation run. When you provide a table as an argument, tablesize displays available sizing only for the indicated table.

The syntax for tablesize is as follows:

tablesize [[owner_name_pattern.]table_name_pattern]

The following example invokes the ttComputeTabSizes built-in procedure to calculate the table size of the employees table. Then, the tablesize command displays the sizing information gathered for the employees table.

Command> call ttComputeTabSizes('employees');
Command> tablesize employees;
 
Sizes of USER1.EMPLOYEES:
 
  INLINE_ALLOC_BYTES:   60432
  NUM_USED_ROWS:        107
  NUM_FREE_ROWS:        149
  AVG_ROW_LEN:          236
  OUT_OF_LINE_BYTES:    0
  METADATA_BYTES:       1304
  TOTAL_BYTES:          61736
  LAST_UPDATED:         2011-06-29 12:55:28.000000
 
1 table found.

These values provide insights into overhead and how the total space is used for the table.

For example:

  • The NUM_FREE_ROWS value describes the number of rows allocated for the table, but not currently in use. Space occupied by free rows cannot be used by the system for storing other system objects or structures.

  • Use the TOTAL_BYTES value to calculate how much permanent space your table occupies.

  • LAST_UPDATED is the time of the last size computation. If you want a more recent computation, re-execute ttComputeTabSizes and display the new output.

You can find a description for each calculated value in the "SYS.ALL_TAB_SIZES" section in the Oracle TimesTen In-Memory Database System Tables and Views Reference.

Using the ttIsql monitor command

The monitor command displays all of the information provided by the dssize command plus additional statistics on the number of connections, checkpoints, lock timeouts, commits, rollbacks and other information collected since the last time the database was loaded into memory.

Command> monitor; 
TIME_OF_1ST_CONNECT: Wed Apr 20 10:34:17 2011
DS_CONNECTS: 11 
DS_DISCONNECTS: 0 
DS_CHECKPOINTS: 0 
DS_CHECKPOINTS_FUZZY: 0 
DS_COMPACTS: 0 
PERM_ALLOCATED_SIZE: 40960 
PERM_IN_USE_SIZE: 5174 
PERM_IN_USE_HIGH_WATER: 5174 
TEMP_ALLOCATED_SIZE: 18432 
TEMP_IN_USE_SIZE: 4527 
TEMP_IN_USE_HIGH_WATER: 4527 
SYS18: 0 
TPL_FETCHES: 0 
TPL_EXECS: 0 
CACHE_HITS: 0 
PASSTHROUGH_COUNT: 0 
XACT_BEGINS: 2 
XACT_COMMITS: 1 
XACT_D_COMMITS: 0 
XACT_ROLLBACKS: 0 
LOG_FORCES: 0 
DEADLOCKS: 0 
LOCK_TIMEOUTS: 0 
LOCK_GRANTS_IMMED: 17 
LOCK_GRANTS_WAIT: 0 
SYS19: 0 
CMD_PREPARES: 1 
CMD_REPREPARES: 0 
CMD_TEMP_INDEXES: 0 
LAST_LOG_FILE: 0 
REPHOLD_LOG_FILE: -1 
REPHOLD_LOG_OFF: -1 
REP_XACT_COUNT: 0 
REP_CONFLICT_COUNT: 0 
REP_PEER_CONNECTIONS: 0 
REP_PEER_RETRIES: 0 
FIRST_LOG_FILE: 0 
LOG_BYTES_TO_LOG_BUFFER: 64 
LOG_FS_READS: 0 
LOG_FS_WRITES: 0 
LOG_BUFFER_WAITS: 0 
CHECKPOINT_BYTES_WRITTEN: 0 
CURSOR_OPENS: 1 
CURSOR_CLOSES: 1 
SYS3: 0 
SYS4: 0 
SYS5: 0 
SYS6: 0 
CHECKPOINT_BLOCKS_WRITTEN: 0 
CHECKPOINT_WRITES: 0 
REQUIRED_RECOVERY: 0 
SYS11: 0 
SYS12: 1 
TYPE_MODE: 0 
SYS13: 0 
SYS14: 0 
SYS15: 0 
SYS16: 0 
SYS17: 0 
SYS9: 

Listing database objects by object type

You can use ttIsql to list tables, indexes, views, sequences, synonyms, PL/SQL functions, procedures and packages in a database. Commands prefixed by all display all of this type of object. For example, the functions command lists PL/SQL functions that are owned by the user, whereas allfunctions lists all PL/SQL functions.

You can optionally specify patterns for object owners and object names.

Use these commands to list database objects:


Note:

For details on each of these commands, see the "ttIsql" section in the Oracle TimesTen In-Memory Database Reference.

The following example demonstrates the procedures and allprocedures commands. User TERRY creates a procedure called proc1 while connected to myDSN. Note that a slash character (/) is entered on a new line following the PL/SQL statements.

The procedures command and the allprocedures command show that it is the only PL/SQL procedure in the database.

$ ttisql myDSN
Copyright (c) 1996-2011, Oracle.  All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.
connect "DSN=myDSN";
Connection successful: 
DSN=myDSN;UID=terry;DataStore=/scratch/terry/myDSN;DatabaseCharacter 
Set=AL32UTF8;ConnectionCharacterSet=US7ASCII;PermSize=32;TypeMode=0;
(Default setting AutoCommit=1)
Command> create or replace procedure proc1 as begin null; end;
       > /
Procedure created.
Command> procedures;
  TERRY.PROC1
1 procedure found.
Command> allprocedures;
  TERRY.PROC1
1 procedure found.

Now connect to the same DSN as Pat and create a procedure called q. The allprocedures command shows the PL/SQL procedures created by Terry and pat.

$ ttisql "dsn=myDSN;uid=PAT"
Copyright (c) 1996-2011, Oracle.  All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.
connect "dsn=myDSN;uid=PAT";
Connection successful: DSN=myDSN;UID=PAT;
DataStore=/scratch/terry/myDSN;DatabaseCharacterSet=AL32UTF8;
ConnectionCharacterSet=US7ASCII;PermSize=32;TypeMode=0;
(Default setting AutoCommit=1)
Command> create or replace procedure q as begin null; end;
       > /
Procedure created.
Command> procedures;
  PAT.Q
1 procedure found.
Command> allprocedures;
  TERRY.PROC1
  PAT.Q
2 procedures found.

Viewing and setting connection attributes

You can view and set connection attributes with the ttIsql show and set commands. For a list of the attributes that you can view and set with ttIsql, see "Connection Attributes" in Oracle TimesTen In-Memory Database Reference.

To view the setting for the Passthrough attribute, enter:

Command> show passthrough;
PassThrough = 0

To change the Passthrough setting, enter:

Command> set passthrough 1;

Working with transactions

The ttIsql utility has several built-in commands for managing transactions. These commands are summarized below:

When starting ttIsql, the autocommit feature is turned on by default, even within a SQL script. In this mode, every SQL operation against the database is committed automatically. When autocommit is turned off, then automatic commit depends on the setting for the DDLCommitBehavior connection attribute and the user executing DDL. For more information, see "Relationship between autocommit and DDLCommitBehavior".

To turn the autocommit feature off, execute the ttIsql autocommit command with an argument of 0. When autocommit is turned off, transactions must be committed or rolled back manually by executing the ttIsql commit, commitdurable or rollback commands. The commitdurable command ensures that the transaction's effect is preserved in case of database failure. If autocommit is off when ttIsql exits, any uncommitted statements will be rolled back and reported by ttIsql.

The ttIsql isolation command can be used to change the current connection's transaction isolation properties. The isolation can be changed only at the beginning of a transaction. The isolation command accepts one of the following constants: READ_COMMITTED and SERIALIZABLE. If the isolation command is modified without an argument then the current isolation level is reported.

The ttIsql sqlquerytimeout command sets the timeout period for SQL statements. If the execution time of a SQL statement exceeds the number of seconds set by the sqlquerytimeout command, the SQL statement is not executed and an 6111 error is generated. For details, see "Setting a timeout duration for SQL statements" in the Oracle TimesTen In-Memory Database Java Developer's Guide and "Setting a timeout duration for SQL statements" in the Oracle TimesTen In-Memory Database C Developer's Guide.


Note:

TimesTen rollback and query timeout features do not stop IMDB Cache operations that are being processed on Oracle. This includes passthrough statements, flushing, manual loading, manual refreshing, synchronous writethrough, propagating and dynamic loading.

The following example demonstrates the common use of the ttIsql built-in transaction management commands.

E:\>ttIsql
Copyright (c) 1996-2011, Oracle.  All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.

Command> connect "DSN=MY_DSN";
Connection successful: DSN=MY_DSN;DataStore=E:\ds\MY_DSN;
DRIVER=E:\WINNT\System32\TTdv1122.dll;
(Default setting AutoCommit=1)
Command> autocommit 0;
Command> CREATE TABLE LOOKUP (KEY NUMBER NOT NULL PRIMARY KEY, VALUE CHAR (64));
Command> commit;
Command> INSERT INTO LOOKUP VALUES (1, 'ABC');
1 row inserted.
Command> SELECT * FROM LOOKUP;
< 1, ABC >
1 row found.
Command> rollback;
Command> SELECT * FROM LOOKUP;
0 rows found.
Command> isolation;
isolation = READ_COMMITTED
Command> commitdurable;
Command> sqlquerytimeout 10;
Command> sqlquerytimeout;
Query timeout = 10 seconds
Command> disconnect;
Disconnecting...
Command> exit;
Done.

Working with prepared and parameterized SQL statements

Preparing a SQL statement just once and then executing it multiple times is much more efficient for TimesTen applications than re-preparing the statement each time it is to be executed. ttIsql has a set of built-in commands to work with prepared SQL statements. These commands are summarized below:

The ttIsql utility prepared statement commands also handle SQL statement parameter markers. When parameter markers are included in a prepared SQL statement, ttIsql will automatically prompt for the value of each parameter in the statement at execution time.

The example below uses the prepared statement commands of the ttIsql utility to prepare an INSERT statement into a table containing a NUMBER and a CHAR column. The statement is prepared and then executed twice with different values for each of the statement's two parameters. The ttIsql utility timing command is used to display the elapsed time required to executed the primary ODBC function call associated with each command.

Command> connect "DSN=MY_DSN";
Connection successful: DSN=MY_DSN;DataStore=E:\ds\MY_DSN;DRIVER=
E:\WINNT\System32\TTdv1122.dll;
(Default setting AutoCommit=1)

Command> timing 1;
Command> create table t1 (key number not null primary key, value char(20));
Execution time (SQLExecute) = 0.007247 seconds.
Command> prepare insert into t1 values (:f, :g);
Execution time (SQLPrepare) = 0.000603 seconds.

Command> exec;
Type '?' for help on entering parameter values.
Type '*' to end prompting and abort the command.
Type '-' to leave the parameter unbound.
Type '/' to leave the remaining parameters unbound and execute the command.
Enter Parameter 1 'F' (NUMBER) > 1;
Enter Parameter 2 'G' (CHAR) > 'abc';
1 row inserted.
Execution time (SQLExecute) = 0.000454 seconds.

Command> exec;
Type '?' for help on entering parameter values.
Type '*' to end prompting and abort the command.
Type '-' to leave the parameter unbound.
Type '/' to leave the remaining parameters unbound and execute the help command.
Enter Parameter 1 'F' (NUMBER) > 2;
Enter Parameter 2 'G' (CHAR) > 'def';
1 row inserted.
Execution time (SQLExecute) = 0.000300 seconds.

Command> free;
Command> select * from t1;
< 1, abc                  >
< 2, def                  >
2 rows found.
Execution time (SQLExecute + Fetch Loop) = 0.000226 seconds.

Command> disconnect;
Disconnecting...
Execution time (SQLDisconnect) = 2.911396 seconds. 
Command>

In the example above, the prepare command is immediately followed by the SQL statement to prepare. Whenever a SQL statement is prepared in ttIsql, a unique command ID is assigned to the prepared statement. The ttIsql utility uses this ID to keep track of multiple prepared statements. A maximum of 256 prepared statements can exist in a ttIsql session simultaneously. When the free command is executed, the command ID is automatically disassociated from the prepared SQL statement.

To see the command IDs generated by ttIsql when using the prepared statement commands, set the verbosity level to 4 using the verbosity command before preparing the statement, or use the describe * command to list all prepared statements with their IDs.

Command IDs can be referenced explicitly when using ttIsql's prepared statement commands. For a complete description of the syntax of ttIsql's prepared statement commands see the "ttIsql" section in the Oracle TimesTen In-Memory Database Reference or type help at the ttIsql command prompt.

The example below prepares and executes a SELECT statement with a predicate containing one NUMBER parameter. The fetchone command is used to fetch the result row generated by the statement. The showplan command is used to display the execution plan used by the TimesTen query optimizer when the statement is executed. In addition, the verbosity level is set to 4 so that the command ID used by ttIsql to keep track of the prepared statement is displayed.

Command> connect "DSN=MY_DSN";
Connection successful: DSN=MY_DSN;DataStore=E:\ds\MY_DSN;
DRIVER=E:\WINNT\Sys tem32\TTdv1122.dll;
(Default setting AutoCommit=1)
The command succeeded.
Command> CREATE TABLE T1 (KEY NUMBER NOT NULL PRIMARY KEY, VALUE CHAR (64));
The command succeeded.
Command> INSERT INTO T1 VALUES (1, 'abc');
1 row inserted.
The command succeeded.
Command> autocommit 0;
The command succeeded.
Command> showplan 1;
The command succeeded.
Command> verbosity 4;
The command succeeded.
Command> prepare SELECT * FROM T1 WHERE KEY=?;
Assigning new prepared command id = 0.

Query Optimizer Plan:

  STEP: 1
  LEVEL: 1
  OPERATION: RowLkHashScan
  TBLNAME: T1
  IXNAME: T1
  PRED: T1.KEY = qmark_1
  OTHERPRED: <NULL>

The command succeeded.
Command> exec;

Executing prepared command id = 0.
Type '?;' for help on entering parameter values.
Type '*;' to abort the parameter entry process.

Enter Parameter 1 (NUMBER) >1;
The command succeeded.
Command> fetchone;
Fetching prepared command id = 0.
< 1, abc >
1 row found.
The command succeeded.
Command> close;
Closing prepared command id = 0.
The command succeeded.
Command> free;
Freeing prepared command id = 0.
The command succeeded.
Command> commit;
The command succeeded.
Command> disconnect;
Disconnecting...
The command succeeded.
Command>

Note:

For information about using ttIsql with PL/SQL host variables, see "Introduction to PL/SQL in the TimesTen Database" in Oracle TimesTen In-Memory Database PL/SQL Developer's Guide.

Using, declaring, and setting variables

The following sections describe how to declare, set and use bind variables in ttIsql:

Declaring and setting bind variables

You can declare and set variables and arrays in ttIsql that can be referenced in a SQL statement, SQL script, or PL/SQL block. The variables declared using the variable and setvariable command must be one of the following data types: NUMBER, CHAR, NCHAR, VARCHAR2, NVARCHAR2, CLOB, NCLOB, BLOB, or REFCURSOR. However, when binding arrays, Timesten supports only binding arrays of the NUMBER, CHAR, NCHAR, VARCHAR2, or NVARCHAR2 data types.


Note:

All variables that are declared exist for the life of the ttIsql session. However, if you declare a new variable with the same name, the new variable replaces the old variable.

The following examples declare bind variables with the variable or var command for a number, character string, and an array. Each is assigned to a value either when declared or by using the setvariable or setvar command.


Note:

For details on the syntax for these commands, see "ttIsql" in the Oracle TimesTen In-Memory Database Reference.

Command> VARIABLE house_number NUMBER := 268;
Command> PRINT house_number;
HOUSE_NUMBER            : 268

Command> VARIABLE street_name VARCHAR2(15);
Command> SETVARIABLE street_name := 'Oracle Parkway'; 

Command> VARIABLE occupants[5] VARCHAR2(15);
Command> SETVARIABLE occupants[1] := 'Pat'; 
Command> SETVARIABLE occupants[2] := 'Terry';
Command> PRINT occupants;
OCCUPANTS            : ARRAY [ 5 ] (Current Size 2)
OCCUPANTS[1] : Pat
OCCUPANTS[2] : Terry

The following is an example of binding multiple values in an array using square brackets to delineate the values and commas to separate each value for the array:

Command> VARIABLE occupants[5] VARCHAR2(15) := ['Pat', 'Terry'];
Command> PRINT occupants;
OCCUPANTS : ARRAY [ 5 ] (Current Size 2)
OCCUPANTS[1] : Pat
OCCUPANTS[2] : Terry

When using array binds, PL/SQL enables you to bind each variable to a PL/SQL variable with the following declaration, where TypeName is any unique identifier for the PL/SQL data type and DataType can be specified as CHAR, NCHAR, VARCHAR2, or NVARCHAR2.

TYPE TypeName IS TABLE OF DataType(<precision>) INDEX BY BINARY_INTEGER;
 

If the variable is declared as array of NUMBER, you can bind it to a PL/SQL variable of the following data types: NUMBER, INTEGER, FLOAT, or DOUBLE PRECISION. To do so, use the appropriate declaration:

TYPE TypeName IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
TYPE TypeName IS TABLE OF INTEGER INDEX BY BINARY_INTEGER;
TYPE TypeName IS TABLE OF FLOAT INDEX BY BINARY_INTEGER;
TYPE TypeName IS TABLE OF DOUBLE PRECISION INDEX BY BINARY_INTEGER;

The following example declares the occupants VARCHAR2 array, which is then declared and used within a PL/SQL block:

Command> VARIABLE occupants[5] VARCHAR2(15);
Command> SETVARIABLE occupants[1] := 'Pat';
Command> SETVARIABLE occupants[2] := 'Terry';
Command> DECLARE
       > TYPE occuname IS TABLE OF VARCHAR2(15) INDEX BY BINARY_INTEGER;
       > x occuname;
       > BEGIN
       > x := :occupants;
       > FOR LROW IN x.FIRST..x.LAST LOOP
       >   x(LROW) := x(LROW) || ' Doe';
       > END LOOP;
       > :occupants := x;
       > END;
       > /
 
PL/SQL procedure successfully completed.
 
Command> PRINT occupants;
OCCUPANTS            : ARRAY [ 5 ] (Current Size 2)
OCCUPANTS[1] : Pat Doe
OCCUPANTS[2] : Terry Doe

Automatically creating bind variables for retrieved columns

When you set autovariables on in ttIsql, TimesTen creates an automatic bind variable named after each column in the last fetched row. An automatic bind variable can be used in the same manner of any bind variable.

The following example selects all rows from the employees table. Since all columns are retrieved, automatic variables are created and named for each column. The bind variable contains the last value retrieved for each column.

Command> SET AUTOVARIABLES ON;
Command> SELECT * FROM employees;
...
< 204, Hermann, Baer, HBAER, 515.123.8888, 1994-06-07 00:00:00, PR_REP, 10000,
 <NULL>, 101, 70 >
< 205, Shelley, Higgins, SHIGGINS, 515.123.8080, 1994-06-07 00:00:00, AC_MGR, 
12000, <NULL>, 101, 110 >
< 206, William, Gietz, WGIETZ, 515.123.8181, 1994-06-07 00:00:00, AC_ACCOUNT, 
8300, <NULL>, 205, 110 >

Command> PRINT;
EMPLOYEE_ID          : 206
FIRST_NAME           : William
LAST_NAME            : Gietz
EMAIL                : WGIETZ
PHONE_NUMBER         : 515.123.8181
HIRE_DATE            : 1994-06-07 00:00:00
JOB_ID               : AC_ACCOUNT
SALARY               : 8300
COMMISSION_PCT       : <NULL>
MANAGER_ID           : 205
DEPARTMENT_ID        : 110

If you provide an alias for a column name, the automatic bind variable name uses the alias, rather than the column name.

Command> SET AUTOVARIABLES ON;
Command> SELECT employee_id ID, First_name SURNAME, last_name LASTNAME 
 FROM employees;
 
ID, SURNAME, LASTNAME
...
< 204, Hermann, Baer >
< 205, Shelley, Higgins >
< 206, William, Gietz >
107 rows found.
Command> PRINT;
ID                   : 206
SURNAME              : William
LASTNAME             : Gietz

For any query that fetches data without a known named column, set columnlabels on to show the column names. The following example shows that the columns returns from ttConfiguration built-in procedure are paramname and paramvalue.

Command> SET AUTOVARIABLES ON;
Command> SET COLUMNLABELS ON;

Command> call TTCONFIGURATION('PLSQL');

PARAMNAME, PARAMVALUE
< PLSQL, 1 >
1 row found.

Command> IF :paramvalue = 1 THEN "e:PLSQL is enabled";
PLSQL is enabled
Command> IF NOT  :paramvalue = 1 THEN "e:PLSQL is not enabled";

You can also use the describe command to show the column names. The following example uses the describe command to display the column names for the ttConfiguration built-in procedure.

Command> DESCRIBE TTCONFIGURATION;
 
Procedure TTCONFIGURATION:
  Parameters:
    PARAMNAME                       TT_VARCHAR (30)
  Columns:
    PARAMNAME                       TT_VARCHAR (30) NOT NULL
    PARAMVALUE                      TT_VARCHAR (1024)
 
1 procedure found.

Creating and executing PL/SQL blocks

You can create and execute PL/SQL blocks from the ttIsql command line.

Set serveroutput on to display results generated fro€ÿm the PL/SQL block:

Command> set serveroutput on

Create an anonymous block that puts a text line in the output buffer. Note that the block must be terminated with a slash (/).

Command> BEGIN
       > DBMS_OUTPUT.put_line(
       >   'Welcome!');
       > END;
       > /
Welcome!
PL/SQL procedure successfully completed.
Command>

See the Oracle TimesTen In-Memory Database PL/SQL Developer's Guide for more examples.

Passing data from PL/SQL using OUT parameters

You can pass data back to applications from PL/SQL by using OUT parameters. This example returns information about how full a TimesTen database is.

Create the tt_space_info PL/SQL procedure and use SQL to provide values for the permpct, permmaxpct, temppct, and tempmaxpct parameters.

Command> CREATE OR REPLACE PROCEDURE tt_space_info
       >   (permpct    OUT PLS_INTEGER,
       >    permmaxpct OUT PLS_INTEGER,
       >    temppct    OUT PLS_INTEGER,
       >    tempmaxpct OUT PLS_INTEGER) AS
       >    monitor    sys.monitor%ROWTYPE;
       > BEGIN
       >   SELECT * INTO monitor FROM sys.monitor;
       >   permpct := monitor.perm_in_use_size * 100 / 
                 monitor.perm_allocated_size;
       >   permmaxpct := monitor.perm_in_use_high_water * 100 / 
                 monitor.perm_allocated_size;
       >   temppct := monitor.temp_in_use_size * 100 / 
                 monitor.temp_allocated_size;
       >   tempmaxpct := monitor.temp_in_use_high_water * 100 / 
                 monitor.temp_allocated_size;
       > END;
       >/

Procedure created.

Declare the variables and call tt_space_info. The parameter values are passed back to ttIsql so they can be printed:

Command> VARIABLE permpct NUMBER
Command> VARIABLE permpctmax NUMBER
Command> VARIABLE temppct NUMBER
Command> VARIABLE temppctmax NUMBER
Command> BEGIN
       >   tt_space_info(:permpct, :permpctmax, :temppct, :temppctmax);
       > END;
       >/

PL/SQL procedure successfully completed.

Command> PRINT permpct;
PERMPCT              : 4

Command> PRINT permpctmax;
PERMPCTMAX           : 4

Command> PRINT temppct;
TEMPPCT              : 11

Command> PRINT temppctmax;
TEMPPCTMAX           : 11

You can also pass back a statement handle that can be executed by a PL/SQL statement with an OUT refcursor parameter. The PL/SQL statement can choose the query associated with the cursor. The following example opens a refcursor, which randomly chooses between ascending or descending order.

Command> VARIABLE ref REFCURSOR;
Command> BEGIN
    >    IF (mod(dbms_random.random(), 2) = 0) THEN
    >     open :ref for select object_name from SYS.ALL_OBJECTS order by 1 asc;
    >    ELSE
    >     open :ref for select object_name from SYS.ALL_OBJECTS order by 1 desc;
    >    end if;
    >   END;
    >   /

PL/SQL procedure successfully completed.

To fetch the result set from the refcursor, use the PRINT command:

Command> PRINT ref 
REF           : 
< ACCESS$ >
< ALL_ARGUMENTS >
< ALL_COL_PRIVS >
< ALL_DEPENDENCIES >
...
143 rows found.

Or if the result set was ordered in descending order, the following would print:

Command> PRINT ref
REF          : 
< XLASUBSCRIPTIONS >
< WARNING_SETTINGS$ >
< VIEWS >
...
143 rows found.

Conditional control with the IF-THEN-ELSE command construct

The IF-THEN-ELSE command construct enables you to implement conditional branching logic in a ttIsql session. The IF command tests a condition and decides whether to execute commands within the THEN clause or the optional ELSE clause. The commands executed can be SQL statements, SQL scripts, PL/SQL blocks, or TimesTen utilities.


Note:

For details on the syntax of the IF-THEN-ELSE construct, see the "ttIsql" section in the Oracle TimesTen In-Memory Database Reference.

The following example creates and tests a bind variable to see if PL/SQL is enabled. It uses the autovariables command to create the bind variable from the result of the call to ttConfiguration. The value can be tested within the IF-THEN-ELSE conditional by testing the paramvalue variable.


Note:

For more details on the autovariables command, see "Automatically creating bind variables for retrieved columns".

Command> SET AUTOVARIABLES ON;
Command> CALL TTCONFIGURATION('PLSQL');
PARAMNAME, PARAMVALUE
< PLSQL, 1 >
1 row found.
Command> IF :paramvalue = 1 THEN "e:PLSQL is enabled"
> ELSE "e:PLSQL is not enabled";
PLSQL is enabled

The following example checks to see that the employees table exists. If it does not, it executes the SQL script that creates the employees table; otherwise, a message is printed out.

Command> IF 0 = "SELECT COUNT(*) FROM SYS.TABLES 
       > WHERE TBLNAME LIKE 'employees';"
       > THEN "e:EMPLOYEES table already exists"
       > ELSE "@HR_CRE_TT.SQL;";
EMPLOYEES table already exists

Loading Oracle data into a TimesTen table

There may be a situation where you want to load the results of a SQL query from a back-end Oracle database into a single table on TimesTen without creating a cache grid, cache group, and cache table to contain the results. TimesTen provides the tools that will execute a user-provided SELECT statement on Oracle and load the result set into a table on TimesTen.

The following are the major steps that are performed to accomplish this task:

  1. Create a table with the correct columns and data types on TimesTen.

  2. Provide a SELECT statement that will be executed on Oracle to generate the desired result set.

  3. Load the result set into the table on TimesTen.

TimesTen provides two methods to accomplish these tasks:

Both methods require the following:

TimesTen evaluates the SELECT statement and uses the column names, data types, and nullability information to create the table on TimesTen into which the result set will be loaded. The column names and data types (either the same or mapped) are taken from the tables on Oracle involved in the SELECT statement. However, other Oracle table definition information (such as DEFAULT values, primary key, foreign key relationships, and so on) are not used when creating the CREATE TABLE statement for the TimesTen table.


Note:

If the evaluation returns any unsupported data types or if the query cannot be executed on Oracle, such as from a syntax error, a warning is logged and a comment is displayed for the unsupported column in the output. However, if the data type is not supported by TimesTen, you can cast the data type directly in the SELECT list to a TimesTen supported data type.

The load process does not check that the column data types and sizes in the TimesTen table match the data types and sizes of the result set. Instead, the insert is attempted and if the column data types cannot be mapped, an error is returned. If the retrieved Oracle data from the SQL query exceeds the TimesTen column size, the data is truncated without a warning.

The load is automatically committed every 256 rows. If an error is encountered during the load, it will terminate the load, but will not roll back any committed transactions. Any errors returned from the Oracle database are reported in the same manner as when using cache groups.

Because you can use these methods to load into an existing TimesTen table, the following lists the restrictions for this situation:

The following sections provide more details on each individual method:

Use ttIsql to create a table and load SQL query results

The ttIsql utility provides the createandloadfromoraquery command, which takes a table name, the number of parallel threads, and a SELECT statement that will be executed on Oracle as input parameters. From these parameters, TimesTen performs the following:

  1. Evaluates the SQL query and creates an appropriate table, if not already created, with the provided table name where the columns are those named in the SQL query with the same (or mapped) data types as those in the Oracle database tables from which the resulting data is retrieved.

  2. Loads the results of the SQL query as executed on the Oracle database into this table. The call returns a single number indicating the number of rows loaded. Any subsequent calls to this command append retrieved rows to the table.


Note:

See the createandloadfromoraquery command in "ttIsql" in the Oracle TimesTen In-Memory Database Reference for full details on syntax, requirements, restrictions, and required privileges.

The following ttIsql example connects providing the DSN, user name, password for the user on TimesTen, and the password for the same user name on the Oracle database. Then, it executes the createandloadfromoraquery command to evaluate the SELECT statement. The employees table is created on TimesTen with the same column names and data types as the columns and data types of the retrieved rows. Then, the table is populated with the result set from Oracle over two parallel threads.

ttisql "DSN=cachedb1_1122;UID=oratt;PWD=timesten;OraclePWD=oracle"
 
Copyright (c) 1996-2011, Oracle.  All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql
connect "DSN=mydb;UID=oratt;PWD=timesten;OraclePWD=oracle";
Connection successful: DSN=mydb;UID=oratt;
DataStore=/timesten/install/info/DemoDataStore/mydb;DatabaseCharacterSet=WE8DEC;
ConnectionCharacterSet=US7ASCII;DRIVER=/timesten/install/lib/libtten.so;
PermSize=40;TempSize=32;TypeMode=0;OracleNetServiceName=inst1;

(Default setting AutoCommit=1)
Command> createandloadfromoraquery employees 2 SELECT * FROM hr.employees;
Mapping query to this table:
    CREATE TABLE "ORATT"."EMPLOYEES" (
    "EMPLOYEE_ID" number(6,0) NOT NULL,
    "FIRST_NAME" varchar2(20 byte),
    "LAST_NAME" varchar2(25 byte) NOT NULL,
    "EMAIL" varchar2(25 byte) NOT NULL,
    "PHONE_NUMBER" varchar2(20 byte),
    "HIRE_DATE" date NOT NULL,
    "JOB_ID" varchar2(10 byte) NOT NULL,
    "SALARY" number(8,2),
    "COMMISSION_PCT" number(2,2),
    "MANAGER_ID" number(6,0),
    "DEPARTMENT_ID" number(4,0)
     )
Table employees created
107 rows loaded from oracle.

Execute the DESCRIBE command to show the new table:


Note:

In this example, the table owner is not specified, so it defaults to the current user. In this example, the current user is oratt.

Command> DESCRIBE employees;
 
Table ORATT.EMPLOYEES:
  Columns:
    EMPLOYEE_ID                     NUMBER (6) NOT NULL
    FIRST_NAME                      VARCHAR2 (20) INLINE
    LAST_NAME                       VARCHAR2 (25) INLINE NOT NULL
    EMAIL                           VARCHAR2 (25) INLINE NOT NULL
    PHONE_NUMBER                    VARCHAR2 (20) INLINE
    HIRE_DATE                       DATE NOT NULL
    JOB_ID                          VARCHAR2 (10) INLINE NOT NULL
    SALARY                          NUMBER (8,2)
    COMMISSION_PCT                  NUMBER (2,2)
    MANAGER_ID                      NUMBER (6)
    DEPARTMENT_ID                   NUMBER (4)
 
1 table found.
(primary key columns are indicated with *)
 
Command> SELECT * FROM employees;
< 114, Den, Raphaely, DRAPHEAL, 515.127.4561, 2002-12-07 00:00:00, PU_MAN, 
11000, <NULL>, 100, 30 >
< 115, Alexander, Khoo, AKHOO, 515.127.4562, 2003-05-18 00:00:00, PU_CLERK, 
3100, <NULL>, 114, 30 >
…
< 205, Shelley, Higgins, SHIGGINS, 515.123.8080, 2002-06-07 00:00:00, 
AC_MGR, 12008, <NULL>, 101, 110 >
< 206, William, Gietz, WGIETZ, 515.123.8181, 2002-06-07 00:00:00, 
AC_ACCOUNT, 8300, <NULL>, 205, 110 >
107 rows found. 

The following example uses the createandloadfromoraquery command to create the oratt.emp table on TimesTen and populate it in parallel over four threads with data from the hr.employees table on the Oracle database, where employee_id is less than 200.

Command> createandloadfromoraquery emp 4 SELECT * FROM hr.employees 
 WHERE employee_id < 200;
Mapping query to this table:
    CREATE TABLE "ORATT"."EMP" (
    "EMPLOYEE_ID" number(6,0) NOT NULL,
    "FIRST_NAME" varchar2(20 byte),
    "LAST_NAME" varchar2(25 byte) NOT NULL,
    "EMAIL" varchar2(25 byte) NOT NULL,
    "PHONE_NUMBER" varchar2(20 byte),
    "HIRE_DATE" date NOT NULL,
    "JOB_ID" varchar2(10 byte) NOT NULL,
    "SALARY" number(8,2),
    "COMMISSION_PCT" number(2,2),
    "MANAGER_ID" number(6,0),
    "DEPARTMENT_ID" number(4,0)
     )
 
Table emp created
100 rows loaded from oracle.

Then, the following createandloadfromoraquery retrieves all employees whose id is > 200 and the result set is appended to the existing table in TimesTen. A warning tells you that the table already exists and that 6 rows were added to it.

Command> createandloadfromoraquery emp 4 SELECT * FROM hr.employees 
 WHERE employee_id > 200;
Warning  2207: Table ORATT.EMP already exists
6 rows loaded from oracle.

Use TimesTen built-in procedures to recommend a table and load SQL query results

While the createAndLoadFromOraQuery command automatically performs all of the tasks for creating the TimesTen table and loading the result set from Oracle into it, the following two built-in procedures separate the same functionality into the following two steps:

  1. The ttTableSchemaFromOraQueryGet built-in procedure evaluates the SQL query and generates the CREATE TABLE SQL statement that you can choose to execute. In order to execute this statement, the user should have all required privileges to execute the query on Oracle. This enables you to view the table structure without execution. However, it does require you to execute the recommended CREATE TABLE statement yourself.

  2. The ttLoadFromOracle built-in procedure executes the SQL query on the back-end Oracle database and then loads the result set into the TimesTen table. It requires the TimesTen table name where the results will be loaded, the Oracle SQL SELECT statement to obtain the required rows, and the number of parallel threads that you would like to be used in parallel when loading the table with this result set.

    The call returns a single number indicating the number of rows loaded. Any subsequent calls append the retrieved rows to the table.


Note:

See "ttTableSchemaFromOraQueryGet" and "ttLoadFromOracle" in the Oracle TimesTen In-Memory Database Reference for full details on syntax, requirements, restrictions, and required privileges.

The following example connects providing the DSN, user name, password for the user on TimesTen, the password for a user with the same name on the Oracle database, and the OracleNetServiceName for the Oracle database instance. Then, it executes the ttTableSchemaFromOraQueryGet built-in procedure to evaluate the SELECT statement and return a recommended CREATE TABLE statement for the employees table. Finally, the example executes the ttLoadFromOracle built-in procedure to load the employees table with the result set from Oracle. The load is performed in parallel over four threads, which is the default.


Note:

If autocommit is set to off, then the user must either commit or rollback manually after loading the table.

$ ttisql "DSN=mydb;uid=oratt;pwd=timesten;
OraclePwd=oracle;OracleNetServiceName=inst1"
Copyright (c) 1996-2011, Oracle.  All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.
connect "DSN=mydb;uid=oratt;pwd=timesten;
OraclePwd=oracle;OracleNetServiceName=inst1";
Connection successful: DSN=mydb;UID=oratt;
DataStore=/timesten/install/info/DemoDataStore/mydb;
DatabaseCharacterSet=WE8DEC;ConnectionCharacterSet=US7ASCII;
DRIVER=/timesten/install/lib/libtten.so;PermSize=40;TempSize=32;
TypeMode=0;OracleNetServiceName=inst1;
(Default setting AutoCommit=1)

Command> call ttTableSchemaFromOraQueryGet('hr','employees',
 'SELECT * FROM hr.employees');
< CREATE TABLE "HR"."EMPLOYEES" (
"EMPLOYEE_ID" number(6,0) NOT NULL,
"FIRST_NAME" varchar2(20 byte),
"LAST_NAME" varchar2(25 byte) NOT NULL,
"EMAIL" varchar2(25 byte) NOT NULL,
"PHONE_NUMBER" varchar2(20 byte),
"HIRE_DATE" date NOT NULL,
"JOB_ID" varchar2(10 byte) NOT NULL,
"SALARY" number(8,2),
"COMMISSION_PCT" number(2,2),
"MANAGER_ID" number(6,0),
"DEPARTMENT_ID" number(4,0)
 ) >
1 row found.

Command> CALL ttLoadFromOracle ('HR','EMPLOYEES','SELECT * FROM HR.EMPLOYEES');
< 107 >
1 row found.

Command> SELECT * FROM hr.employees;
< 100, Steven, King, SKING, 515.123.4567, 2003-06-17 00:00:00, AD_PRES, 24000, <NULL>, <NULL>, 90 >
< 101, Neena, Kochhar, NKOCHHAR, 515.123.4568, 2005-09-21 00:00:00, AD_VP, 17000, <NULL>, 100, 90 >
...
< 205, Shelley, Higgins, SHIGGINS, 515.123.8080, 2002-06-07 00:00:00, AC_MGR, 12008, <NULL>, 101, 110 >
< 206, William, Gietz, WGIETZ, 515.123.8181, 2002-06-07 00:00:00, AC_ACCOUNT, 8300, <NULL>, 205, 110 >
107 rows found.

Viewing and changing query optimizer plans

The following sections describe how to view the query optimizer plans, commands in the SQL command cache, or query plans for commands in the SQL command cache:

Using the showplan command

The built-in showplan command is used to display the query optimizer plans used by the TimesTen Data Manager for executing queries. In addition, ttIsql contains built-in query optimizer hint commands for altering the query optimizer plan. By using the showplan command in conjunction with the ttIsql commands summarized below, the optimum execution plan can be designed. For detailed information on the TimesTen query optimizer see "The TimesTen Query Optimizer".

  • optprofile - Displays the current optimizer hint settings and join order.

  • setjoinorder - Sets the join order.

  • setuseindex - Sets the index hint.

  • tryhash - Enables or disables the use of hash indexes.

  • trymergejoin - Enables or disables merge joins.

  • trynestedloopjoin - Enables or disables nested loop joins.

  • tryserial - Enables or disables serial scans.

  • trytmphash - Enables or disables the use of temporary hash indexes.

  • trytmptable - Enables or disables the use of an intermediate results table.

  • trytmprange - Enables or disables the use of temporary range indexes.

  • tryrange - Enables or disables the use of range indexes.

  • tryrowid - Enables or disables the use of rowid scans.

  • trytbllocks - Enables or disables the use of table locks.

  • unsetjoinorder - Clears the join order.

  • unsetuseindex - Clears the index hint.

When using the showplan command and the query optimizer hint commands the autocommit feature must be turned off. Use ttIsql's autocommit built-in command to turn autocommit off.

The example below shows how these commands can be used to change the query optimizer execution plan.

Command> CREATE TABLE T1 (A NUMBER);
Command> CREATE TABLE T2 (B NUMBER);
Command> CREATE TABLE T3 (C NUMBER);
Command>
Command> INSERT INTO T1 VALUES (3);
1 row inserted.
Command> INSERT INTO T2 VALUES (3);
1 row inserted.
Command> INSERT INTO T3 VALUES (3);
1 row inserted.
Command> INSERT INTO T1 VALUES (4);
1 row inserted.
Command> INSERT INTO T2 VALUES (5);
1 row inserted.
Command> INSERT INTO T3 VALUES (6);
1 row inserted.
Command>
Command> autocommit 0;
Command> showplan;
Command> SELECT * FROM T1, T2, T3 WHERE A=B AND B=C AND A=B;

Query Optimizer Plan:

  STEP: 1
  LEVEL: 3
  OPERATION: TblLkSerialScan
  TBLNAME: T1
  IXNAME: <NULL>
  INDEXED CONDITION:   <NULL> 
  NOT INDEXED: <NULL>

  STEP: 2
  LEVEL: 3
  OPERATION: TblLkSerialScan
  TBLNAME: T2
  IXNAME: <NULL>
  INDEXED CONDITION:   <NULL> 
  NOT INDEXED: T1.A = T2.B AND T1.A = T2.B

  STEP: 3
  LEVEL: 2
  OPERATION: NestedLoop
  TBLNAME: <NULL>
  IXNAME: <NULL>
  INDEXED CONDITION:   <NULL> 
  NOT INDEXED: <NULL>

  STEP: 4
  LEVEL: 2
  OPERATION: TblLkSerialScan
  TBLNAME: T3
  IXNAME: <NULL>
  INDEXED CONDITION:   <NULL> 
  NOT INDEXED: T1.A = T3.C AND T2.B = T3.C

  STEP: 5
  LEVEL: 1
  OPERATION: NestedLoop
  TBLNAME: <NULL>
  IXNAME: <NULL>
  INDEXED CONDITION:   <NULL> 
  NOT INDEXED: <NULL>

< 3, 3, 3 >
1 row found.
Command> trytbllocks 0;
Command> tryserial 0;
Command> SELECT * FROM T1, T2, T3 WHERE A=B AND B=C AND A=B;

Query Optimizer Plan:
 
  STEP:                1
  LEVEL:               3
  OPERATION:           TmpRangeScan
  TBLNAME:             T1
  IXNAME:              <NULL>
  INDEXED CONDITION:   <NULL>
  NOT INDEXED:         <NULL>
 
 
  STEP:                2
  LEVEL:               3
  OPERATION:           RowLkSerialScan
  TBLNAME:             T2
  IXNAME:              <NULL>
  INDEXED CONDITION:   <NULL>
  NOT INDEXED:         T1.A = T2.B AND T1.A = T2.B
 
 
  STEP:                3
  LEVEL:               2
  OPERATION:           NestedLoop
  TBLNAME:             <NULL>
  IXNAME:              <NULL>
  INDEXED CONDITION:   <NULL>
  NOT INDEXED:         <NULL>
 
 
  STEP:                4
  LEVEL:               2
  OPERATION:           RowLkSerialScan
  TBLNAME:             T3
  IXNAME:              <NULL>
  INDEXED CONDITION:   <NULL>
  NOT INDEXED:         T1.A = T3.C AND T2.B = T3.C
 
 
  STEP:                5
  LEVEL:               1
  OPERATION:           NestedLoop
  TBLNAME:             <NULL>
  IXNAME:              <NULL>
  INDEXED CONDITION:   <NULL>
  NOT INDEXED:         <NULL>
 
< 3, 3, 3 >
1 row found.
Command>

In this example a query against three tables is executed and the query optimizer pla÷@¿n is displayed. The first version of the query simply uses the query optimizer's default execution plan. However, in the second version the trytbllocks and tryserial ttIsql built-in hint commands have been used to alter the query optimizer's plan. Instead of using serial scans and nested loop joins the second version of the query uses temporary index scans, serial scans and nested loops.

In this way the showplan command in conjunction with ttIsql's built-in query optimizer hint commands can be used to quickly determine which execution plan should be used to meet application requirements.

Viewing commands and explain plans from the SQL Command Cache

The following sections describe how to view commands and their explain plans:

View commands in the SQL Command Cache

The ttIsql cmdcache command invokes the ttSqlCmdCacheInfo built-in procedure to display the contents of the TimesTen SQL Command Cache. See "Displaying commands stored in the SQL Command Cache" for full details on this procedure.

If you execute the cmdcache command without parameters, the full SQL Command Cache contents are displayed. Identical to the ttSqlCmdCacheInfo built-in procedure, you can provide a command ID to specify a specific command to be displayed.

In addition, the ttIsql cmdcache command can filter the results so that only those commands that match a particular owner or query text are displayed.

The syntax for the cmdcache command is as follows:

cmdcache [[by {sqlcmdid | querytext | owner}] <query_substring>

If you provide the owner parameter, the results are filtered by the owner, identified by the <query_substring>, displayed within each returned command. If you provide the querytext parameter, the results are filtered so that all queries are displayed that contain the substring provided within the <query_substring>. If only the <query_substring> is provided, such as cmdcache <query_substring>, the command assumes to filter the query text by the <query_substring>.

Display query plan for statement in SQL Command Cache

The ttIsql explain command displays the query plan for an individual command.

  • If you provide a command ID from the SQL Command Cache, the explain command invokes the ttSqlCmdQueryPlan built-in procedure to display the query plan for an individual command in the TimesTen SQL Command Cache. If you want the explain plan displayed in a formatted method, execute the explain command instead of calling the ttSqlCmdQueryPlan built-in procedure. Both provide the same information, but the ttSqlCmdQueryPlan built-in procedure provides the data in a raw data format. See "Viewing query plans associated with commands stored in the SQL Command Cache" for full details on the ttSqlCmdQueryPlan built-in procedure.

  • If you provide a SQL statement or the history item number, the explain command executes the SQL statements necessary to display the explain plan for this particular SQL statement.

The syntax for the explain command is as follows:

explain [plan for] {[<Connid>.]<ttisqlcmdid> | sqlcmdid <sqlcmdid> | <sqlstmt> 
| !<historyitem>}

Identical to the ttSqlCmdQueryPlan built-in procedure, you can provide a command ID to specify a specific command to be displayed. The command ID can be retrieved with the cmdcache command, as described in "View commands in the SQL Command Cache".

The following example provides an explain plan for command ID 38001456:

Command> EXPLAIN SQLCMDID 38001456;
 
Query Optimizer Plan:
 Query Text: select * from all_objects where object_name = 'DBMS_OUTPUT'
 
  STEP:             1
  LEVEL:            12
  OPERATION:        TblLkRangeScan
  TABLENAME:        OBJ$
  TABLEOWNERNAME:   SYS
  INDEXNAME:        USER$.I_OBJ
  INDEXEDPRED:      
  NONINDEXEDPRED:   (RTRIM( NAME ))  = DBMS_OUTPUT;NOT( 10 = TYPE#) ;
(  FLAGS ^ 128 = 0) ;
 
 
  STEP:             2
  LEVEL:            12
  OPERATION:        RowLkRangeScan
  TABLENAME:        OBJAUTH$
  TABLEOWNERNAME:   SYS
  INDEXNAME:        OBJAUTH$.I_OBJAUTH1
  INDEXEDPRED:      ( (GRANTEE#=1 )  OR (GRANTEE#=10 ) )  AND ( (PRIVILEGE#=8 ) )
  NONINDEXEDPRED:   OBJ# = OBJ#;
 
 
  STEP:             3
  LEVEL:            11
  OPERATION:        NestedLoop(Left OuterJoin)
  TABLENAME:        
  TABLEOWNERNAME:   
  INDEXNAME:        
  INDEXEDPRED:      
  NONINDEXEDPRED: 
...
 STEP:             21
  LEVEL:            1
  OPERATION:        Project
  TABLENAME:        
  TABLEOWNERNAME:   
  INDEXNAME:        
  INDEXEDPRED:      
  NONINDEXEDPRED:   
 
Command> 

In addition, the ttIsql explain command can generate an explain plan for any SQL query you provide. For example, the following shows the explain plan for SQL query "SELECT * FROM DUAL;"

Command> EXPLAIN SELECT * FROM DUAL;
 
Query Optimizer Plan:
 
  STEP:                1
  LEVEL:               1
  OPERATION:           RowLkSerialScan
  TBLNAME:             DUAL
  IXNAME:              <NULL>
  INDEXED CONDITION:   <NULL>
  NOT INDEXED:         <NULL>
 

You can also retrieve explain plans based upon the command history. The following example shows how you explain a previously executed SQL statement using the history command ID:

Command> SELECT * FROM all_objects WHERE object_name = 'DBMS_OUTPUT';
< SYS, DBMS_OUTPUT, <NULL>, 241, <NULL>, PACKAGE, 2009-10-13 10:41:11, 2009-10-13 
10:41:11, 2009-10-13:10:41:11, VALID, N, N, N, 1, <NULL> >
< PUBLIC, DBMS_OUTPUT, <NULL>, 242, <NULL>, SYNONYM, 2009-10-13 10:41:11, 
2009-10-13 10:41:11, 2009-10-13:10:41:11, INVALID, N, N, N, 1, <NULL> >
< SYS, DBMS_OUTPUT, <NULL>, 243, <NULL>, PACKAGE BODY, 2009-10-13 10:41:11, 
2009-10-13 10:41:11, 2009-10-13:10:41:11, VALID, N, N, N, 2, <NULL> >
3 rows found.
Command> HISTORY;
1     connect "DSN=cache";
2     help cmdcache;
3     cmdcache;
4     explain select * from dual;
5     select * from all_objects where object_name = 'DBMS_OUTPUT';
Command> EXPLAIN !5;
 
Query Optimizer Plan:
 
  STEP:                1
  LEVEL:               10
  OPERATION:           TblLkRangeScan
  TBLNAME:             SYS.OBJ$
  IXNAME:              USER$.I_OBJ
  INDEXED CONDITION:   <NULL>
  NOT INDEXED:         O.FLAGS & 128 = 0 AND CAST(RTRIM (O.NAME) AS VARCHAR2(30 
BYTE) INLINE) = 'DBMS_OUTPUT' AND O.TYPE# <> 10
 
  STEP:                2
  LEVEL:               10
  OPERATION:           RowLkRangeScan
  TBLNAME:             SYS.OBJAUTH$
  IXNAME:              OBJAUTH$.I_OBJAUTH1
  INDEXED CONDITION:   (OA.GRANTEE# = 1 OR OA.GRANTEE# = 10) AND OA.PRIVILEGE# = 8
  NOT INDEXED:         OA.OBJ# = O.OBJ#
 
  STEP:                3
  LEVEL:               9
  OPERATION:           NestedLoop(Left OuterJoin)
  TBLNAME:             <NULL>
  IXNAME:              <NULL>
  INDEXED CONDITION:   <NULL>
  NOT INDEXED:         <NULL>
 
  STEP:                4
  LEVEL:               9
  OPERATION:           TblLkRangeScan
  TBLNAME:             SYS.OBJAUTH$
  IXNAME:              OBJAUTH$.I_OBJAUTH1
  INDEXED CONDITION:   (OBJAUTH$.GRANTEE# = 1 OR OBJAUTH$.GRANTEE# = 10) AND 
(OBJAUTH$.PRIVILEGE# = 2 OR OBJAUTH$.PRIVILEGE# = 3 OR OBJAUTH$.PRIVILEGE# = 4 OR 
OBJAUTH$.PRIVILEGE# = 5 OR OBJAUTH$.PRIVILEGE# = 8)
  NOT INDEXED:         O.OBJ# = OBJAUTH$.OBJ#
... 
 STEP:                19
  LEVEL:               1
  OPERATION:           NestedLoop(Left OuterJoin)
  TBLNAME:             <NULL>
  IXNAME:              <NULL>
  INDEXED CONDITION:   <NULL>
  NOT INDEXED:         O.OWNER# = 1 OR (O.TYPE# IN (7,8,9) AND (NOT( ISNULLROW 
(SYS.OBJAUTH$.ROWID)) OR NOT( ISNULLROW (SYS.SYSAUTH$.ROWID)))) OR (O.TYPE# IN 
(1,2,3,4,5) AND NOT( ISNULLROW (SYS.SYSAUTH$.ROWID))) OR (O.TYPE# = 6 AND NOT( 
ISNULLROW (SYS.SYSAUTH$.ROWID))) OR (O.TYPE# = 11 AND NOT( ISNULLROW 
(SYS.SYSAUTH$.ROWID))) OR (O.TYPE# NOT IN (7,8,9,11) AND NOT( ISNULLROW 
(SYS.OBJAUTH$.ROWID))) OR (O.TYPE# = 28 AND NOT( ISNULLROW (SYS.SYSAUTH$.ROWID))) 
OR (O.TYPE# = 23 AND NOT( ISNULLROW (SYS.SYSAUTH$.ROWID))) OR O.OWNER# = 10

Managing ODBC functions

You can perform the following on ODBC functions within ttIsql:

Canceling ODBC functions

The ttIsql command attempts to cancel an ongoing ODBC function when the user presses Ctrl-C.

Timing ODBC function calls

Information on the time required to execute common ODBC function calls can be displayed by using the ttIsql timing command. When the timing feature is enabled many built-in ttIsql commands will report the elapsed execution time associated with the primary ODBC function call corresponding to the ttIsql command that is executed.

For example, when executing the ttIsql connect command several ODBC function calls are executed, however, the primary ODBC function call associated with connect is SQLDriverConnect and this is the function call that is timed and reported as shown below.

Command> timing 1;
Command> connect "DSN=MY_DSN";
Connection successful: DSN=MY_DSN;DataStore=E:\ds\MY_DSN;
DRIVER=E:\WINNT\System32\ TTdv1122.dll;
(Default setting AutoCommit=1)
Execution time (SQLDriverConnect) = 1.2626 seconds.
Command>

In the example above, the SQLDriverConnect call took about 1.26 seconds to execute.

When using the timing command to measure queries, the time required to execute the query plus the time required to fetch the query results is measured. To avoid measuring the time to format and print query results to the display, set the verbosity level to 0 before executing the query.

Command> timing 1;
Command> verbosity 0;
Command> SELECT * FROM T1;
Execution time (SQLExecute + FetchLoop) = 0.064210 seconds.
Command>

Error recovery with WHENEVER SQLERROR

Execute the WHENEVER SQLERROR command to prescribe what to do when a SQL error occurs. WHENEVER SQLERROR can be used to set up a recovery action for SQL statements, SQL script, or PL/SQL block.

By default, if a SQL error occurs while in ttIsql, the error information is displayed and ttIsql continues so that you can enter a new command. The default setting is WHENEVER SQLERROR CONTINUE NONE. You can also specify that ttIsql exits each time an error occurs, which may not be the best action for interactive use or when executing a SQL script or a PL/SQL block.


Note:

For syntax of the WHENEVER SQLERROR command, see the "ttIsql" section in the Oracle TimesTen In-Memory Database Reference.

The following example uses EXIT to return an error code of 255 and executes a COMMIT statement to save all changes to the current connection before exiting ttIsql. The example retrieves the error code using the C shell echo $status command.

Command> WHENEVER SQLERROR EXIT 255 COMMIT;
Command> SELECT emp_id FROM employee;
 2206: Table PAT.EMPLOYEE not found
WHENEVER SQLERROR exiting.
$ echo $status
255

The following example demonstrates how the WHENEVER SQLERROR command can execute ttIsql commands or TimesTen utilities when an error occurs, even if the error is from another TimesTen utility:

Command> WHENEVER SQLERROR EXEC "DSSIZE;CALL TTSQLCMDCACHEINFOGET();";
Command> CALL TTCACHEPOLICYGET;
 5010: No OracleNetServiceName specified in DSN
The command failed.
 
DSSIZE;
 
  PERM_ALLOCATED_SIZE:      32768
  PERM_IN_USE_SIZE:         9204
  PERM_IN_USE_HIGH_WATER:   9204
  TEMP_ALLOCATED_SIZE:      40960
  TEMP_IN_USE_SIZE:         7785
  TEMP_IN_USE_HIGH_WATER:   7848
 
CALL TTSQLCMDCACHEINFOGET();
 
CMDCOUNT, FREEABLECOUNT, SIZE
< 10, 7, 41800 >
1 row found.

The following demonstrates the SUPPRESS command option. It suppresses all error messages and continues to the next command. The example shows that the error messages can be turned back on in the existing connection with another command option, which in this case is the EXIT command.

Command> WHENEVER SQLERROR SUPPRESS;
Command> SELECT *;
Command> WHENEVER SQLERROR EXIT;
Command> SELECT *;
 1001: Syntax error in SQL statement before or at: "", character position: 9
select *
        ^
WHENEVER SQLERROR exiting.

The following example sets a bind variable called retcode, the value of which is returned when a SQL error occurs:

Command> VARIABLE retcode NUMBER := 111;
Command> WHENEVER SQLERROR EXIT :retcode;
Command> INSERT INTO EMPLOYEES VALUES (
       > 202, 'Pat', 'Fay', 'PFAY', '603.123.6666',
       > TO_DATE ('17-AUG-1997', 'DD-MON-YYYY'),
       > 'MK_REP', 6000, NULL, 201, 20);
  907: Unique constraint (EMPLOYEES on PAT.EMPLOYEES) violated at Rowid
 <BMUFVUAAACOAAAAIiB>
WHENEVER SQLERROR exiting.
$ echo $status;
111
PKÿÄQ Á÷ÀPK\8–AOEBPS/cover.htmO°ý Cover

Oracle Corporation

PK[×ßpTOPK\8–AOEBPS/whatsnew.htmýé What's New

What's New

This section summarizes the new features and functionality of Oracle TimesTen In-Memory Database Release 11.2.2 that are documented in this guide, providing links into the guide for more information.

New features in release 11.2.2.4.0

New features in release 11.2.2.2.0

New features in release 11.2.2.1.0

New features in release 11.2.2.0.0

PK™9“¤ýPK\8–AOEBPS/accesscontrol.htm€ÿ Managing Access Control

4 Managing Access Control

The TimesTen Access Control provides authentication for each user and authorization for all objects in the database. Authentication is provided with the correct user password. Management of authorization for all objects in the database is provided by granting appropriate privileges to specific users.

The following sections describe the TimesTen authentication and authorization:

Managing users to control authentication

For users to access and manipulate data within the database, you must create users and provide appropriate passwords. When you create a user, you should also grant the appropriate privileges for connecting to the database or for access to objects in the database. For more information on granting privileges, see "Providing authorization to objects through privileges".

The following sections describe how to create and manage your users:

Overview of users

There are three types of users in the TimesTen database:

  • Instance administrator: The instance administrator is the user who installed the TimesTen instance. This user has full privileges for everything within the TimesTen instance. For information on creating this user, see "TimesTen Installation" in the Oracle TimesTen In-Memory Database Installation Guide.


    Note:

    In addition to the instance administrator, there are four system users created during the TimesTen install. These system users are used internally by TimesTen as follows: SYSTEM for internal use, SYS for system objects, GRID for cache grid objects and TTREP for replication objects.

  • Internal user: An internal user is created within TimesTen for use within the TimesTen database. An internal user authenticates with a password for a particular database in which it was defined.

    TimesTen user names are case-insensitive, of type TT_CHAR and limited to 30 characters. For details on all user naming conventions, see "Names, Namespace and Parameters" in the Oracle TimesTen In-Memory Database SQL Reference.

    You can create an internal user with the CREATE USER statement, which is described in the CREATE USER section in the Oracle TimesTen In-Memory Database SQL Reference.

  • External user: An external user is created within the operating system. External users are assumed to have been authenticated by the operating system at login time, so there is no stored password within the database. One cannot connect as an external user from a different host from which the TimesTen database is installed. On the same host, we use the operating system credentials of the client to enable the client to connect as that particular external user. For example, if an external user logs into the UNIX system, they can connect to the TimesTen database without specifying a password since they already provided it during the login, as long as the external user has been granted the correct privileges. The external user must also be in the TimesTen users group and have the correct permissions granted to it, as described in the Oracle TimesTen In-Memory Database Installation Guide.

    You cannot connect with an external user defined on one host to a TimesTen data source on a remote host. External users can only be used to connect to the local TimesTen data source, because the local operating system authenticates the external user. When connecting over a client/server connection, the external user must be defined on the same host the client and server. Thus, in when using an external user, both the client and the server must be on the same host since the operating system provides the authentication of the user.

    While the external user is created within the operating system, you still need to identify the user to the database as an external user with the IDENTIFIED EXTERNALLY clause of the CREATE USER statement. For details on this SQL statement, see "CREATE USER" in the Oracle TimesTen In-Memory Database SQL Reference.

    UNIX external user names are case sensitive. Windows external user names are not. When connecting from UNIX platforms, TimesTen automatically converts the external user name to upper case, rendering it case insensitive.

    If you do not want to use cleartext passwords to log into TimesTen, then use the PWDCrypt attribute to create a hash of the password. The only reason to use this attribute is if the password is used for logging into other entities, such as an Oracle Database. The PWDCrypt version of the password can always be used to connect to TimesTen, but you cannot convert it back to the original password in order to connect to Oracle.


Note:

Both the instance administrator and all external users must be in the TimesTen users group specified during the install. For more details, see "TimesTen Installation" in the Oracle TimesTen In-Memory Database Installation Guide.

Creating or identifying users to the database

Only the instance administrator or a user with the ADMIN privilege can create the internal user or identify the external user with the CREATE USER statement. For security purposes, you can only create or alter the internal user with the CREATE USER or ALTER USER statements using a direct connection to the TimesTen database. Thus, executing CREATE USER or ALTER USER from a client-server application or through passthrough execution is not allowed. You can use the ALTER USER statement to change a user from an internal to an external user or from an external to an internal user. The full syntax for the CREATE USER statement is detailed in the "SQL Statements" chapter in the Oracle TimesTen In-Memory Database SQL Reference.


Note:

For details on a user with the ADMIN privilege, see "Granting administrator privileges".

To create an internal user, provide the user name and password in the CREATE USER statement. The following example creates the internal user TERRY with the password "secret":

CREATE USER TERRY IDENTIFIED BY "secret";
User created.

To identify an external user, provide the user name in the CREATE USER IDENTIFIED EXTERNALLY statement. The following example identifies the external user PAT to the TimesTen database:

CREATE USER PAT IDENTIFIED EXTERNALLY;
User created.

To change the external user PAT to an internal user, perform the following ALTER USER statement:

ALTER USER PAT IDENTIFIED BY "secret"; 

To change the internal user PAT to an external user, perform the following ALTER USER statement:

ALTER USER PAT IDENTIFIED EXTERNALLY; 

You can see what users have been created by executing a SELECT statement on the following system views:

  • SYS.ALL_USERS lists all users of the database that are visible to the current user.

  • SYS.USER_USERS describes the current user of the database.

  • SYS.DBA_USERS describes all users of the database. To perform a select statement on this view, you must have the appropriate privileges granted.

For example, to see the current user, perform the following:

SELECT * FROM sys.user_users;
< PAT, 4, OPEN, <NULL>, <NULL>, USERS, TEMP, 2009-02-25 12:00:17.027100, <NULL>,
<NULL> >
1 row found.

For more details on these views, see "System Tables" in the Oracle TimesTen In-Memory Database System Tables and Views Reference.

Changing the password of the internal user

Only the internal user has a password that can be modified within the database. A user can alter their own password. A user with the ADMIN privilege can alter the password of any user. These users can change the password with the IDENTIFIED BY clause of the ALTER USER statement.

For example, to change the password for internal user TERRY to "12345" from its current setting, perform the following:

ALTER USER TERRY IDENTIFIED BY "12345";
User altered.

Dropping users from the database

If granted the appropriate privileges, you can use the DROP USER statement to drop users created in the database. You cannot drop the user in the following instances:

  • You cannot drop the instance administrator.

  • You cannot drop a user unless all objects owned by that user have first been deleted.

  • You cannot drop a user if the user is currently connected to the database.

The following DROP USER statement drops the user TERRY from the database:

Command> drop user terry;
User dropped.

The following error occurs if you try to drop the instance administrator:

Command> drop user instadmin;
15103: System-defined users and roles cannot be dropped
The command failed.

The following error occurs if user Pat tries to drop user Terry when Pat does not have the required ADMIN privilege:

Command> drop user terry;
15100: User PAT lacks privilege ADMIN
The command failed.

Note:

Currently, we do not support DROP USER CASCADE.

Providing authorization to objects through privileges

When multiple users can access database objects, authorization can be controlled to these objects with privileges. Every object has an owner. Privileges control if a user can modify an object owned by another user. Privileges are granted or revoked either by the instance administrator, a user with the ADMIN privilege or, for privileges to a certain object, by the owner of the object.

The following sections describe authorization to objects through the use of privileges:

Privileges overview

TimesTen provides user authorization to objects in the database through privileges. Users must be granted privileges for access to database resources or objects. These privileges restrict what operations users may perform on those objects. A user has all privileges on all objects in their own schema, and these privileges cannot be revoked. A user can be granted privileges for objects in other users' schemas.

TimesTen evaluates each user's privileges when the SQL statement is executed. Each SQL statement can be executed by an arbitrary user. For example:

SELECT * from PAT.TABLE1;

If this statement is executed by Pat, then no extra privileges are necessary because Pat owns this object. However, if another user, such as Terry, executes this statement, then Terry must have been granted the SELECT privilege for PAT.TABLE1.

Privileges provide the following:

  • Define what data users, applications, or functions can access or what operations they can perform.

  • Prevent users from adversely affecting system performance or from consuming excessive system resources. For example, a privilege restricting the creation of indexes is provided not because of an authorization concern, but because it may affect DML performance and occupies space.

Some examples of privileges include the right to perform the following:

  • Connect to the database and create a session

  • Create a table

  • Select rows from a table that is owned by another user

  • Perform any cache group operation

In addition, a user may need certain privileges in order to perform the following:

There are two levels of privileges:

  • System privileges: These privileges enable system-wide functionality, such as access to all objects. Granting system privileges can enable a user to perform standard administrator tasks or access to objects in other users' schemas. These privileges extend beyond a single object. Restrict them only to trusted users.

  • Object privileges: Each type of object has privileges associated with it.

A subset of these privileges are automatically granted to each user upon creation through the PUBLIC role. Privilege hierarchy rules apply to all privileges granted to a user.

Grant privileges to users so that they can accomplish tasks required for their job. We recommend that you are intentional about who you grant privileges, so that they have only the exact privileges that they need to perform necessary operations.

Privileges are checked at prepare time and when the statement is first executed for each SQL statement. Subsequent executions of that statement require further privilege checks only when a revoke operation is executed in the database.

System privileges

A system privilege enables a user the ability to perform system-level activities across multiple objects in the database. It confers the right to perform a particular operation in the database or to perform an operation on a type of object. For example, the privilege to create or modify an object in another user's schema in the database requires a system privilege to be granted to the user.

Only the instance administrator or a user with the ADMIN privilege can grant a system privilege to a user. The instance administrator always has full system and object privileges, which cannot be revoked at any time.


Note:

The instance administrator can perform all operations. So, any operation that can be performed by a user with ADMIN privileges can also be performed by the instance administrator.

Some of the system privileges include ADMIN, SELECT ANY TABLE, CREATE SESSION and CREATE ANY SEQUENCE. For more details on granting or revoking system privileges, see "Granting or revoking system privileges".

Object privileges

An object privilege enables a user to perform defined operations on a specific object. Separate object privileges are available for each object type.

Every object owner has access and full privileges to their own objects. A user does not have access to objects owned by other users unless explicitly granted access by the object's owner or by a user with ADMIN privilege. If the PUBLIC role has been granted access to a given object, then all database users have access to that object. A user with ADMIN privileges cannot revoke an owner's privileges on the owner's object.


Note:

Some objects, such as cache group and replication objects, require system level privileges before a user can perform certain operations.

Object access control requires that a user either be the owner of an object or granted the appropriate object privilege to perform operations on the object. Object privileges are granted or revoked by the instance administrator, a user with the ADMIN privilege or the user who is the owner of the object.

For more details on granting or revoking object privileges, see "Granting or revoking object privileges".

PUBLIC role

A role called PUBLIC is automatically created in each TimesTen database. By default, TimesTen grants specific privileges to this role. Every user created within the TimesTen database are granted each privilege that is granted to the PUBLIC role. That is, when the instance administrator or a user with the ADMIN privilege creates a user, the privileges associated with the PUBLIC role are granted to each of these users. Each subsequent privilege that is granted to the PUBLIC role is also automatically granted to all users simultaneously. A user with the ADMIN privilege can add or remove default privileges for all users by granting or revoking privileges from the PUBLIC role. When the user revokes a privilege from PUBLIC, it is revoked from each user, except for those users who have this privilege granted to them explicitly.


Note:

The only exception to this behavior is that any privileges that were granted to PUBLIC by user SYS cannot be revoked. The privileges that were granted as part of database creation are shown when you execute the following SQL statement:
SELECT * FROM DBA_TAB_PRIVS WHERE GRANTOR = 'SYS'

In the following example, user Pat is granted the SELECT ANY TABLE privilege and PUBLIC is granted the SELECT ANY TABLE privilege. Then, all system privileges are displayed from the SYS.DBA_SYS_PRIVS view. For more information on this view, see "Viewing user privileges". Revoking SELECT ANY TABLE from PUBLIC does not remove SELECT ANY TABLE from Pat, which is shown again through the SYS.DBA_SYS_PRIVS view.

Command> GRANT SELECT ANY TABLE TO PAT;
Command> GRANT SELECT ANY TABLE TO PUBLIC;
Command> SELECT * FROM SYS.DBA_SYS_PRIVS;
< SYS, ADMIN, NO >
< PUBLIC, SELECT ANY TABLE, NO >
< SYSTEM, ADMIN, NO >
< PAT, ADMIN, NO >
< PAT, SELECT ANY TABLE, NO >
5 rows found.
Command> REVOKE SELECT ANY TABLE FROM PUBLIC;
Command> select * from sys.dba_sys_privs;
< SYS, ADMIN, NO >
< SYSTEM, ADMIN, NO >
< PAT, ADMIN, NO >
< PAT, SELECT ANY TABLE, NO >
4 rows found.

If you must, you may create a database that grants the ADMIN privilege to PUBLIC. This grants the ADMIN privilege to all users who will then have unrestricted access to all database objects and be able to perform administrative tasks except for tasks that must be performed by the instance administrator. This is never recommended as a long-term approach, since it results in an insecure database. See "TimesTen Upgrades" in the Oracle TimesTen In-Memory Database Installation Guide for full details on when and for what purposes to use this approach.


Note:

For a full description of the default privileges assigned to the PUBLIC role, see "The PUBLIC role" in the Oracle TimesTen In-Memory Database SQL Reference.

The PUBLIC role also grants access to certain objects, system tables and views. By default, in a newly created TimesTen database, PUBLIC has SELECT and EXECUTE privileges on various system tables and views and PL/SQL functions, procedures and packages. You can see the list of privileges granted to PUBLIC, and subsequently all users, by querying the SYS.DBA_TAB_PRIVS view. In the following query, the privilege granted to PUBLIC is in the fifth column.

Command> DESC SYS.DBA_TAB_PRIVS;
View SYS.DBA_TAB_PRIVS:
  Columns:
    GRANTEE                         VARCHAR2 (30) INLINE
    OWNER                           VARCHAR2 (30) INLINE
    TABLE_NAME                      VARCHAR2 (30) INLINE
    GRANTOR                         VARCHAR2 (30) INLINE
    PRIVILEGE                       VARCHAR2 (40) INLINE NOT NULL
    GRANTABLE                       VARCHAR2 (3) INLINE NOT NULL
    HIERARCHY                       VARCHAR2 (3) INLINE NOT NULL
1 view found.

Command> SELECT * FROM SYS.DBA_TAB_PRIVS WHERE GRANTEE='PUBLIC';
< PUBLIC, SYS, TABLES, SYS, SELECT, NO, NO >
< PUBLIC, SYS, COLUMNS, SYS, SELECT, NO, NO >
< PUBLIC, SYS, INDEXES, SYS, SELECT, NO, NO >
< PUBLIC, SYS, USER_COL_PRIVS, SYS, SELECT, NO, NO >
< PUBLIC, SYS, PUBLIC_DEPENDENCY, SYS, SELECT, NO, NO >
< PUBLIC, SYS, USER_OBJECT_SIZE, SYS, SELECT, NO, NO >
< PUBLIC, SYS, STANDARD, SYS, EXECUTE, NO, NO >
< PUBLIC, SYS, UTL_IDENT, SYS, EXECUTE, NO, NO >
< PUBLIC, SYS, TT_DB_VERSION, SYS, EXECUTE, NO, NO >
< PUBLIC, SYS, PLITBLM, SYS, EXECUTE, NO, NO >
< PUBLIC, SYS, DBMS_OUTPUT, SYS, EXECUTE, NO, NO >
< PUBLIC, SYS, DBMS_SQL, SYS, EXECUTE, NO, NO >
< PUBLIC, SYS, DBMS_STANDARD, SYS, EXECUTE, NO, NO >
< PUBLIC, SYS, DBMS_PREPROCESSOR, SYS, EXECUTE, NO, NO >
< PUBLIC, SYS, UTL_RAW, SYS, EXECUTE, NO, NO >
< PUBLIC, SYS, DBMS_UTILITY, SYS, EXECUTE, NO, NO >
< PUBLIC, SYS, DBMS_RANDOM, SYS, EXECUTE, NO, NO >
...
57 rows found.

Privilege hierarchy rules

There is a hierarchy for all of the privileges. The higher level privileges confer related lower level privileges. For example, the ADMIN privilege confers all privileges. The SELECT ANY TABLE privilege confers the SELECT privilege on any individual table.

Whenever a user needs a privilege for an operation, you can verify if the user already has the privilege if either the user is the owner of the object or has a higher level privilege that confers the necessary privileges for that operation. For example, if the user Pat needs to have the SELECT privilege for Terry.Table2, you can check the following:

  • Is Pat the owner of the object? If so, owners have all object privileges on their objects

  • Has Pat been granted the SELECT ANY TABLE privilege? This privilege means Pat would have SELECT ON any table, view, or materialized view.

  • Has Pat been granted the ADMIN privilege, which would mean that Pat can perform any valid SQL operation.

If you grant a privilege that is included in a higher level privilege, no error occurs. However, when you revoke privileges, they must be revoked in the same unit as granted. The following sequence of grant and revoke statements for user PAT grants the ability to update any table as well as an update privilege on a specific table:

GRANT UPDATE ANY TABLE TO PAT;
GRANT UPDATE ON HR.employees TO PAT;
REVOKE UPDATE ON HR.employees FROM PAT;
 

The UPDATE ANY TABLE privilege grants the ability to update any table in the database. The second grant is specific for UPDATE privilege to the HR.employees table. The second grant is unnecessary as the UPDATE ANY TABLE provides access to all tables, including employees, but it does not result in an error. You can revoke the second grant, but it will not affect the first grant of the UPDATE ANY TABLE system privilege. Thus, Pat can still update the HR.employees table.

You must revoke in the same unit as was granted. The following example gr€ÿants the UPDATE ANY TABLE system privilege to Pat. A user tries to revoke the ability to update the HR.employees table from the user. But, the UPDATE ANY TABLE privilege is a system privilege and the UPDATE privilege is an object privilege. The execution of the REVOKE statement for a unit that was not granted fails with an error.

GRANT UPDATE ANY TABLE TO PAT;
REVOKE UPDATE ON HR.employees FROM PAT;
15143: REVOKE failed: User PAT does not have object privilege UPDATE on HR.EMPLOYEES
The command failed.

The full details of the privilege hierarchy is described in the "Privilege hierarchy" section in the Oracle TimesTen In-Memory Database SQL Reference.

Granting or revoking system privileges

To grant or revoke a system privilege, use the GRANT or REVOKE statements. Only the instance administrator or a user with the ADMIN privilege can grant or revoke system privileges. The GRANT or REVOKE syntax for system privileges includes the system privilege and the user who receives that privilege. Both the syntax for the GRANT and REVOKE statements and the required privileges for executing each SQL statement are described in the "SQL Statements" chapter in the Oracle TimesTen In-Memory Database SQL Reference.


Note:

How to grant and revoke object privileges is described in "Granting or revoking object privileges".

The most powerful system privilege is ADMIN. When you grant a user the ADMIN privilege, you enable this user to perform any operation for any database object.

An individual user can view their own system privileges in the SYS.USER_SYS_PRIVS system view. A user with the ADMIN privilege can view all system privileges for all users in the SYS.DBA_SYS_PRIVS system table. These system views are described in "Viewing user privileges".

The following sections describe some of the system privileges available in TimesTen:


Note:

For a full list of all system privileges, see "Privileges" in the Oracle TimesTen In-Memory Database SQL Reference.

Granting administrator privileges

The ADMIN privilege confers all system and object privileges, which allows these users to perform all administrative tasks and valid database operations. For all objects, a user with the ADMIN privilege can perform create, alter, drop, select, update, insert, or delete operations. In addition, a user with the ADMIN privilege can perform replication tasks, checkpointing, backups, migration, user creation and deletion, and so on. Only a user with the ADMIN privilege can grant or revoke all privileges.

Only a user with the ADMIN privilege may view all system tables and views by default. Only a user with the ADMIN privilege can create, alter or drop replication schemas or active standby pairs. The following views and packages can only be accessed by users with the ADMIN privilege:

  • The SYS.DBA_TAB_PRIVS view

  • The SYS.DBA_SYS_PRIVS view

  • The SYS.UTL_RECOMP package


Note:

For more information on viewing privileges for users from system tables or views, see "Viewing user privileges".

To grant the ADMIN privilege to the user TERRY, execute the following statement:

GRANT ADMIN TO TERRY;

If you have the ADMIN privilege, then you can grant privileges to other users. For example, a user with the ADMIN privilege can grant the SELECT privilege to TERRY on the departments table owned by Pat, as follows:

GRANT SELECT ON PAT.departments TO TERRY;

Note:

Since Pat is the owner of departments, Pat may also grant the SELECT object privilege to Terry.

Granting ALL PRIVILEGES

The ALL PRIVILEGES grants every system privilege to a user. If you want a user to have most of the system privileges, you can grant ALL PRIVILEGES to a user and then revoke only those system privileges that you do not want them to have. The following example grants all system privileges to user PAT. Then, revokes the ADMIN and DROP ANY TABLE privileges to disallow Pat the ability to perform all administration tasks or to drop any tables.

GRANT ALL PRIVILEGES TO PAT;
REVOKE ADMIN, DROP ANY TABLE FROM PAT;

You may also REVOKE ALL PRIVILEGES that were granted to a user. This removes all system privileges from the user, except what the user inherits from the PUBLIC role, as demonstrated below for user PAT:

REVOKE ALL PRIVILEGES FROM PAT;

Granting privileges to connect to the database

TimesTen databases are accessed through Data Source Names (DSNs). If a user tries to use a DSN that has connection attributes for which they do not have privileges, such as first connection attributes, they receive an error.

For a complete description of first connection attributes, see "Connection Attributes" in the Oracle TimesTen In-Memory Database Reference.

All users must be granted the CREATE SESSION system privilege by a user with the ADMIN privilege in order to connect to the database. The CREATE SESSION system privilege provides the authorization to connect to the database. The following example grants the CREATE SESSION privilege to Pat:

GRANT CREATE SESSION TO PAT;

A user with the ADMIN privilege can grant CREATE SESSION privilege to all users by granting this privilege to the PUBLIC role. This allows all users to connect to the database.

GRANT CREATE SESSION TO PUBLIC;

Granting additional system privileges

In addition to the ADMIN privilege, there are a few system privileges that confer a superset of abilities. The following provides a brief description of these privileges:

  • XLA: XLA readers can have global impact on the system. They create extra log volume, and can cause long log holds if they do not advance their bookmarks. You must have the XLA system privilege to connect as an XLA reader.

  • CACHE_MANAGER: The CACHE_MANAGER privilege is used for cache group administrator operations. See "Granting or revoking privileges for cache groups" for details.

Enabling users to perform operations on any database object type

When you want to grant or revoke privileges for a user, you can grant or revoke privileges for a single object or for that type of object anywhere in the database.


Note:

To grant or revoke privileges for a single object, use object privileges, which are described in "Granting or revoking object privileges".

The system privileges that contain the ANY keyword enable the user to perform the functions on all objects of the same type in the database. These system privileges are CREATE ANY object_type, DROP ANY object_type, ALTER ANY object_type, SELECT ANY object_type, UPDATE ANY TABLE, INSERT ANY TABLE, DELETE ANY TABLE, and EXECUTE ANY PROCEDURE.


Note:

For a full description of these privileges, see "Privileges" in the Oracle TimesTen In-Memory Database SQL Reference. For details on the cache group system privileges that contain the ANY keyword, see "Granting or revoking privileges for cache groups".

The following sections provide more details for the CREATE ANY object_type, DROP ANY object_type, and ALTER ANY object_type system privileges:

Creating a table, index, view, materialized view, sequence, PL/SQL procedure, PL/SQL function, PL/SQL package or synonym

To create a table, view, materialized view, sequence, PL/SQL procedure, PL/SQL function, PL/SQL package, or synonym within the user's namespace or another user's namespace, you must have the appropriate CREATE object_type or CREATE ANY object_type system privileges.

The following describes the CREATE and CREATE ANY system privileges:

  • The CREATE object_type privilege grants a user the ability to create that object, but only in the user's own schema. After creation, the user owns this object and thus, automatically has been granted all privileges for that object.

    Other privileges are required if a user wants to create cache groups.

  • The CREATE ANY object_type privilege grants a user the ability to create any object of that type in the database, even in another user's schema. The object types include table, index, view, materialized view, sequence, synonym and procedure. The CREATE ANY object_type privileges are CREATE ANY TABLE, CREATE ANY INDEX, CREATE ANY VIEW, CREATE ANY MATERIALIZED VIEW, CREATE ANY SEQUENCE, CREATE ANY SYNONYM and CREATE ANY PROCEDURE.

The following example grants the privilege to create any table in other users' schemas to user TERRY:

GRANT CREATE ANY TABLE TO TERRY;

The following example grants the privilege to create a table within the user's own schema:

GRANT CREATE TABLE TO TERRY;
Dropping a table, view, materialized view, sequence, procedure, function, package or synonym

Grant the DROP ANY object_type system privilege in order for a user to drop an object of object_type that the user does not own. For example, granting Pat this privilege enables Pat to drop the employees table that is owned by the user HR. A user always has the right to drop a table they own. The DROP ANY object_type privilege enables a user to drop any object of the specified type in the database, except for cache groups that require other privileges.

Altering a table, view, materialized view, sequence, procedure, function or package

ALTER ANY PROCEDURE allows users to alter any procedure, function or package in the database. The ALTER ANY object_type privilege is necessary to modify the properties of objects that the user does not own. For example, if a procedure is created in the HR schema named Proc1 and if Pat is granted the ALTER ANY PROCEDURE privilege, Pat can successfully alter the procedure HR.Proc1.

Granting or revoking object privileges

To grant or revoke an object privilege, use the GRANT or REVOKE statements. The syntax for the object-level GRANT or REVOKE statement requires the name of the object on which the grant or revoke is applied. The syntax for the GRANT and REVOKE statements is described in the "SQL Statements" chapter in the Oracle TimesTen In-Memory Database SQL Reference.

The following sections describe and provide examples on the object privileges for all object types, except for the cache admin objects. The cache object privileges are described in "Granting or revoking privileges for cache groups".:


Note:

  • Each SQL statement may require a certain privilege. The required privileges are documented with each statement description in the "SQL Statements" chapter in the Oracle TimesTen In-Memory Database SQL Reference.

  • For a full list of all object privileges, see "Privileges" in the Oracle TimesTen In-Memory Database SQL Reference.


Grant all object privileges

You can grant all privileges for an object to a user with the ALL keyword. This essentially grants a user the right to perform any operation on the object.

There are no specific object privileges for DROP or ALTER. These operations cannot be granted for individual objects; instead, granting the appropriate system privilege enables a user other the owner of an object to DROP or ALTER that object.

For example, GRANT ALL ON employees TO PAT grants all privileges for the employees table to user PAT. It is possible to revoke individual privileges after granting all object privileges. For instance, the following is a valid sequence of operations:

GRANT ALL ON HR.employees TO PAT;
REVOKE DELETE ON HR.employees FROM PAT; 

You may also REVOKE ALL object privileges that were granted to a user for the object. This removes all privileges for the object from the user, as demonstrated below for user PAT:

REVOKE ALL ON HR.employees FROM PAT;

Both the object owner and a user with the ADMIN privilege can perform the GRANT ALL and REVOKE ALL statements.

Object privileges for tables

For a user to perform operations on tables that they do not own, they must be granted the appropriate object privilege for that table. This includes privileges for tables within cache groups. The object privileges for tables include SELECT, UPDATE, DELETE, INSERT, INDEX and REFERENCES.

The following object privileges may be appropriate not only for authorization, but also for performance reasons:

  • The INDEX privilege enables the user to create an index on the table. Creating an index consumes additional space and impacts the performance of DML on the table. A specific grant for INDEX is required for a user to create an index.

  • The REFERENCES privilege enables the user to create a foreign key dependency on the table. Foreign key dependencies impact the performance of DML operations on the parent. For more details on the REFERENCES privilege, see "Object Privileges needed when creating foreign key with REFERENCES clause".

The following example grants the SELECT object privilege for the employees table in the HR schema to the user PAT:

GRANT SELECT ON HR.employees TO PAT;

The next example shows an example of how to grant the UPDATE privilege on the employees table owned by the user HR to the user PAT:

GRANT UPDATE ON HR.employees TO PAT; 

Object privileges for views

For a user to create a view, that user must be granted the CREATE VIEW or CREATE ANY VIEW privilege. For a user to select from a view that they do not own, they need to be granted the SELECT object privilege for that view. Furthermore, the view itself needs to be valid; that is, the owner of the view must be granted the SELECT object privilege for all of the objects referenced by the view.

When user PAT creates a view owned by Pat and that view only references objects owned by Pat, then Pat is only required to be granted the CREATE VIEW privilege for this operation. If Pat creates a view owned by Terry that references objects owned by Terry, Pat is required to be granted the CREATE ANY VIEW privilege for this operation. For example:

CREATE VIEW PAT.VIEW1 as select * from PAT.TABLE1;

In this example, if Pat executes this statement, Pat only needs to be granted the CREATE VIEW privilege.

If user Pat creates a view, and the view references a table owned by Terry, then Pat needs to be granted the CREATE VIEW privilege and the SELECT object privilege on all of the objects referenced by the view. The owner of the view, not the view creator, must be granted the SELECT object privilege on the objects referenced by the view. Therefore, in this example, Pat must be granted the SELECT object privilege on TABLE2 that is owned by Terry. Once these privileges are granted, Pat can execute the following:

CREATE VIEW PAT.VIEW2 as select * from TERRY.TABLE2;

However, if a third user, Joe, executes this statement, then Joe must be granted the CREATE ANY VIEW privilege to create the view. Even though Joe is executing the statement, Pat, as the owner of the view, is still required to be granted the SELECT object privilege in order to perform the select on Terry's table.

TimesTen validates all views referenced at execution time. TimesTen will notify which privileges are not in place in order to perform the given operation.

For example:

CREATE VIEW PAT.VIEW2 as select * from TERRY.TABLE2;
CREATE VIEW JOE.VIEW4 as select * from PAT.VIEW2, TERRY.TABLE4;
 

If Pat is executing these statements, the following privileges must be granted:

  • CREATE ANY VIEW privilege so that Pat can create the view in Pat's own schema as well as a view in Joe's schema.

  • User Joe must be granted the SELECT object privilege on Terry.Table4.

  • User Joe must be granted the SELECT object privilege on Pat.View2

  • User Pat must be granted the SELECT object privilege on Terry.Table2

When validating all references, TimesTen also validates that PAT.VIEW2 is still valid by verifying that Pat has the SELECT object privilege on TERRY.TABLE2. When you select from a view, TimesTen validates that the view itself is still valid, as well as any views referenced by that view.

Object privileges for sequences

For a user to perform operations on sequences that they do not own, they must be granted the SELECT object privilege. The SELECT privilege on a sequence allows the user to perform all operations on a sequence, including NEXTVAL, even though it ultimately updates the sequence.

For example, to grant SELECT privilege on the employees_seq sequence in the HR schema to the user PAT, issue the following statement:

GRANT SELECT ON HR.employees_seq TO PAT; 

Pat can subsequently generate the next value of the sequence with the following statement:

SELECT HR.employees_seq.NEXTVAL FROM DUAL;
< 207 >
1 row found. 

Object privileges for materialized views

In order to create a materialized view, a user needs the CREATE MATERIALIZED VIEW privilege. If the user is creating a materialized view in some other user's schema, the user needs the CREATE ANY MATERIALIZED VIEW privilege.

The owner of the materialized view needs to have CREATE TABLE privilege as well as SELECT privileges on every detail table in that materialized view. However, the owner of the materialized view is automatically granted the SELECT privilege on the detail tables if previously granted a higher-level system privilege, such as SELECT ANY TABLE or ADMIN.

For a user to select from a materialized view that they do not own, the user needs to be granted the object privileges for materialized views, which include SELECT, INDEX and REFERENCES. For more details on the privileges required, see the appropriate SQL statements in the Oracle TimesTen In-Memory Database SQL Reference.

Behavior of Invalid Materialized Views

In order for the materialized view to be valid, the owner of the view must be granted and must keep the SELECT object privilege for all of the detail tables referenced by the materialized view. If the owner of an existing materialized view loses the SELECT privilege on any detail table on which the materialized view is based, the materialized view becomes invalid.

The status of the materialized view is provided in the STATUS column of the SYS.DBA_OBJECTS, SYS.ALL_OBJECTS, and SYS.USER_OBJECTS views. The owner of the materialized view can see the status of its materialized views in the USER_OBJECTS view. Alternatively, execute the ttIsql describe command, which appends INVALID to the materialized view when it becomes invalid.


Note:

If the owner of the materialized view was granted with a higher-level system privilege, such as SELECT ANY TABLE or ADMIN, the owner loses the required SELECT privileges on the detail tables if the higher-level system privilege is revoked. At this point, the materialized view becomes invalid.

  • Users may still select from an invalid asynchronous materialized view without error. However, users will receive an error when selecting from an invalid synchronous materialized view.

  • Users that have the privilege to do so can still update the detail tables of the materialized view. However, the invalid materialized view will not reflect these changes. In addition, for asynchronous materialized views, the materialized view log will not be updated if no valid materialized views depend on them.

  • REFRESH on an invalid synchronous materialized view fails with an error.

  • If the owner of the materialized view has been re-granted the privilege that was previously revoked, a REFRESH on an invalid COMPLETE asynchronous materialized view succeeds and the asynchronous materialized view is now valid.

  • In order to fix an invalid materialized view, you must grant the appropriate privileges to the owner of the materialized view and then drop and re-c Yߦreate the materialized view.

Object Privileges needed when creating foreign key with REFERENCES clause

The REFERENCES clause in the CREATE or ALTER TABLE statements creates a foreign key dependency from the new child table column (TABLE1.COL1) on the parent table column (TABLE2.PK) as shown in the following operation:

ALTER TABLE PAT.TABLE1 ADD CONSTRAINT FK1
    FOREIGN KEY (COL1) REFERENCES PAT.TABLE2 (PK);

In this example, the user executing the SQL must have ALTER ANY TABLE privilege. Since Pat owns both tables, no additional privileges are needed since Pat owns both tables.

However, if the REFERENCES clause refers to a table not owned by this user, then the REFERENCES object privilege on the table not owned by the user is required before execution is allowed. For example:

ALTER TABLE PAT.TABLE1 ADD CONSTRAINT FK1
    FOREIGN KEY (COL1) REFERENCES TERRY.TABLE2 (PK);

In this example, the user executing this SQL must have ALTER ANY TABLE privilege. As in the previous example, if the user executing this SQL is Pat, the ALTER ANY TABLE privilege is not required because a table's owner can always modify its own table. In addition, the user Pat must be granted the REFERENCES privilege on TERRY.TABLE2 in order for Pat to create a foreign key involving a table owned by Terry.

A user who creates or alters a child table needs the REFERENCES object privilege on the parent table to create a foreign key dependency. The REFERENCES privilege implicitly grants SELECT privileges for a user creating a foreign key on the parent table. However, this implicit grant does not mean that the user has the SELECT privilege on the parent table, so any SELECT statements will fail if the only privilege on the parent table is the REFERENCES privilege.

Object privileges for PL/SQL functions, procedures and packages

For a user to perform operations on PL/SQL functions, PL/SQL procedures or PL/SQL packages that they do not own, they must be granted the EXECUTE object privilege. When you grant a user EXECUTE privilege on a package, this automatically grants EXECUTE privilege on its component procedures and functions.

This privilege grants the right to the following:

  • Execute the procedure or function.

  • Access any program object declared in the specification of a package.

  • Compile the object implicitly during a call to a currently invalid or uncompiled function or procedure.

The EXECUTE privilege does not allow the user to create, drop or alter any procedure, function or package. This requires appropriate system privileges. For example, to explicitly compile using ALTER PROCEDURE or ALTER FUNCTION, the user must be granted the ALTER ANY PROCEDURE system privilege. For details on the system privileges for functions, procedures or packages, see "Enabling users to perform operations on any database object type".

Object privileges for synonyms

For a user to create or drop private or public synonyms, the user must have the following privileges:

Table 4-1 Privileges for synonyms

ActionRequired privilege

Create a private synonym in the user's own schema.

CREATE SYNONYM

Create a private synonym in another user's schema.

CREATE ANY SYNONYM

Create a public synonym.

CREATE PUBLIC SYNONYM

Drop a private synonym in the user's own schema.

No privilege needed.

Drop a private synonym in another user's schema.

DROP ANY SYNONYM

Drop a public synonym.

DROP PUBLIC SYNONYM


In addition, in order to use a synonym, the user must have the appropriate access privileges for the object that the synonym refers to. For example, if you create a synonym for a view, then to select from that view using the synonym, the user would need the SELECT privilege that is necessary to select from a view.

Granting or revoking multiple privileges with a single SQL statement

You can grant multiple object privileges in the same GRANT or REVOKE statement for the same database object for one or more users. For example, the following grants Terry the SELECT and UPDATE object privileges on the HR.employees table in the same SQL statement.

GRANT SELECT, UPDATE ON HR.employees TO TERRY;

You can also grant multiple system privileges to one or more users with the same GRANT or REVOKE statement. The following example grants multiple system privileges to both Terry and Pat.

GRANT CREATE ANY TABLE, CREATE SESSION TO TERRY, PAT;

You cannot combine system and object privileges in the same GRANT or REVOKE statement.

Granting or revoking privileges for cache groups

In order for a user to be able to perform activities involving any cache group, the user must have the appropriate cache group privileges. There are system and object privileges for cache groups, where system privileges confer abilities beyond a singular object.


Note:

Passthrough does not require any privileges to be granted, since the privilege checking will be performed by the Oracle Database with the user credentials. For details on passthrough, see the Oracle In-Memory Database Cache User's Guide.

The following sections provide an overview of cache group privileges:

For a full list of all system and object privileges for cache group operations, see "Privileges" in the Oracle TimesTen In-Memory Database SQL Reference.

Cache manager privilege

The cache group system privileges provide a user the ability to affect cache group objects across the database. The CACHE_MANAGER system privilege is the administrator privilege for cache groups. If a user has been granted the CACHE_MANAGER privilege, this user may perform any cache group operation. This privilege confers all cache group operation privileges, which are listed in the "Privilege hierarchy" section in the Oracle TimesTen In-Memory Database SQL Reference.

You must have the CACHE_MANAGER privilege to perform the initial load of a read-only cache group or to change the state of autorefresh on a read-only cache group. The initial load implicitly alters the state of the cache group autorefresh from paused to on.

The following grants the CACHE_MANAGER privilege to Pat:

GRANT CACHE_MANAGER TO PAT;

Note:

An asynchronous writethrough (AWT) cache group combines both cache groups and replication. The CACHE_MANAGER privilege provides all of the privileges that you need for creating AWT cache groups.

Cache group system privileges

The privileges that the TimesTen users require depend on the types of cache group operations that you want to perform.

  • To create a cache group, a user must be granted either the CREATE CACHE GROUP or CREATE ANY CACHE GROUP system privilege. In addition, the user must be granted either the CREATE ANY TABLE or CREATE TABLE privilege to create any underlying cache tables, depending on if the table is owned by the user or not.

  • To drop or alter a cache group that is not owned by the user, the user must be granted the DROP ANY CACHE GROUP or ALTER ANY CACHE GROUP privilege as appropriate. In addition, the user must be granted the DROP ANY TABLE privilege to drop any underlying cache tables, if the tables are not owned by the user.


Note:

All cache group privileges are described in detail in the "Setting Up a Caching Infrastructure" chapter in the Oracle In-Memory Database Cache User's Guide.

For example, the following confers the privilege for a user to alter any cache group in the database:

GRANT ALTER ANY CACHE GROUP TO PAT;

Note:

Users with certain privileges must also be created on the Oracle database to own Oracle tables and to store cache grid information. The privileges required for the Oracle cache administration user and the TimesTen cache manager user for each cache operation are listed in the "Setting Up a Caching Infrastructure" chapter in the Oracle In-Memory Database Cache User's Guide.

Other system privileges for cache group operations are for performing the following on objects not owned by the user:

  • FLUSH ANY CACHE GROUP: Enables users to flush any cache group in the database.

  • LOAD ANY CACHE GROUP: Enables users to load any cache group in the database.

  • UNLOAD ANY CACHE GROUP: Enables users to unload any cache group in the database.

  • REFRESH ANY CACHE GROUP: Enables users to refresh any cache group in the database.

Cache group object privileges

The object privileges for cache group operations are granted to a user for performing the operation on a single, defined object. The following are the object privileges for cache group objects:

  • FLUSH: Enables the user to flush a cache group owned by another user.

  • LOAD: Enables the user to load a cache group owned by another user.

  • UNLOAD: Enables the user to unload a cache group owned by another user.

  • REFRESH: Enables the user to refresh a cache group owned by another user.

For example, the following example grants Pat the cache group object privilege to perform a FLUSH on the cache group CACHEGRP that is owned by Terry:

GRANT FLUSH ON TERRY.CACHEGRP TO PAT;
 

For details on cache group operations, see the Oracle In-Memory Database Cache User's Guide.

Viewing user privileges

You can view the privileges granted to each user through the following views:

Table 4-2 System privilege views

View nameDescription

SYS.USER_SYS_PRIVS

Returns all of the system privileges granted to the current user.

SYS.DBA_SYS_PRIVS

Returns the list of system privileges granted to all users and inherited from the PUBLIC role. Requires the ADMIN privilege to select from this view.

SYS.USER_TAB_PRIVS

Returns all of the object privileges granted to the current user.

SYS.ALL_TAB_PRIVS

Returns the results of both USER_TAB_PRIVS and the object privileges inherited from the PUBLIC role for a user. This shows all object privileges granted to a user.

SYS.DBA_TAB_PRIVS

Returns the object privileges granted to all users and inherited from the PUBLIC role. Requires the ADMIN privilege to select from this view.


For example, perform the following to see all of the system privileges granted to all users:

Command> SELECT * FROM SYS.DBA_SYS_PRIVS;
< SYS, ADMIN, YES >
< SYSTEM, ADMIN, YES >
< TERRY, ADMIN, YES >
< TERRY, CREATE ANY TABLE, NO >
< PAT, CACHE_MANAGER, NO >
5 rows found.

Note:

For details on these views, see "System Tables" in the Oracle TimesTen In-Memory Database System Tables and Views Reference.

Privileges needed for utilities, built-in procedures and first connection attributes

Many of the utilities and built-in procedures require a certain privilege in order to execute. In addition, in order to modify or connect with certain first connection attributes, certain privileges are required. First connection attributes are set when a database is first loaded, and only the instance administrator can load a database with first connection attribute settings. The required privilege for each is described with the utility, built-in procedure or first connection attribute description in the Oracle TimesTen In-Memory Database Reference.

Privilege checking rules for parent-child tables

If you have tables related by foreign key constraints, then the following applies:

  • If ON DELETE CASCADE is specified on a foreign-key constraint for a child table, a user can delete rows from the parent table resulting in deletions from the child table without requiring an explicit DELETE privilege on the child table. However, a user must have the DELETE privilege on the parent table for this to occur automatically.

  • When you perform an insert or update on a child table, TimesTen determines if there is a foreign key constraint violation on the parent table resulting from the change to the child table. In this case, a user is required to have the INSERT or UPDATE privilege on the child table, but not a SELECT privilege on the parent table.

  • A user who creates a child table needs the REFERENCES object privilege on the parent table to create a foreign key dependency. See "Object Privileges needed when creating foreign key with REFERENCES clause" for more details.

PKÚl/Y YPK\8–AOEBPS/title.htmö ì Oracle TimesTen In-Memory Database Operations Guide, 11g Release 2 (11.2.2)

Oracle® TimesTen In-Memory Database

Operations Guide

11g Release 2 (11.2.2)

E21633-05

September 2012


Oracle TimesTen In-Memory Database Operations Guide, 11g Release 2 (11.2.2)

E21633-05

Copyright © 1996, 2012, Oracle and/or its affiliates. All rights reserved.

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

PK2úûöPK\8–AOEBPS/query.htm€ÿ The TimesTen Query Optimizer

10 The TimesTen Query Optimizer

The TimesTen cost-based query optimizer uses information about an application's tables and their available indexes to choose a fast path to the data. Application developers can examine the plan chosen by the optimizer to check that indexes are used appropriately. If necessary, application developers can also modify the optimizer's behavior so that it chooses a different plan.

This chapter includes the following topics:

When optimization occurs

It is useful to understand when TimesTen performs query optimization, since a single command may be optimized several times.

TimesTen invokes the optimizer whenever a SELECT, UPDATE, DELETE, INSERT SELECT or CREATE MATERIALIZED VIEW statement is prepared through an ODBC SQLPrepare or SQLExecDirect function or any of the JDBC execute methods. The resulting plan persists until an invalidating event occurs, or the command is dropped by the application.

A command is invalidated under the following circumstances:

An invalid command is usually reprepared automatically just before it is re-executed. This means that the optimizer is invoked again at this time, possibly resulting in a new plan. Thus, a single command may be prepared several times.


Note:

When using JDBC, you must manually reprepare commands when a table has been altered.

A command may have to be prepared manually if, for example, the table that the command referenced was dropped and a new table with the same name was created. When you prepare a statement manually, you should commit the prepare statement so it can be shared. If the command is recompiled because it was invalid, and if recompilation involves DDL on one of the referenced tables, then the prepared statement must be committed to release the command lock.

For example, in ODBC a command joining tables T1 and T2 may undergo the following changes:

ActionDescription
SQLPrepareCommand is prepared.
SQLExecuteCommand is executed.
SQLExecuteCommand is re-executed.
Create Index on T1Command is invalidated.
SQLExecuteCommand is reprepared, then executed.
SQLExecuteCommand is re-executed.
ttOptUpdateStats on T1Command is invalidated if the invalidate flag is passed to the ttOptUpdateStats procedure.
SQLExecuteCommand is reprepared, then executed.
SQLExecuteCommand is re-executed.
SQLFreeStmtCommand is dropped.

In JDBC, a command joining tables T1 and T2 may undergo the following changes:

ActionDescription
Connection.prepareStatementCommand is prepared.
PreparedStatement.executeCommand is executed.
PreparedStatement.executeCommand is re-executed.
Create Index on T1Command is invalidated.
PreparedStatement.executeCommand is reprepared, then executed.
PreparedStatement.executeCommand is re-executed.
ttOptUpdateStats on T1Command is invalidated if the invalidate flag is passed to the ttOptUpdateStats procedure.
PreparedStatement.executeCommand is reprepared, then executed.
PreparedStatement.executeCommand is re-executed.
PreparedStatement.closeCommand is dropped.

As illustrated, optimization is generally performed at prepare time, but it may also be performed later when indexes are dropped or created, or when statistics are modified. Optimization does not occur if a prepare can use a command in the cache.

If a command was prepared with the genPlan flag set, it will be recompiled with the same flag set. Thus, the plan is generated even though the plan for another query was found in the SYS.PLAN table.

If an application specifies hints to modify the optimizer's behavior, these hints persist until the command is deleted. See "Modifying plan generation" for more information. For example, when the ODBC SQLPrepare function or JDBC Connection.prepareStatement method is called again on the same handle or when the SQLFreeStmt function or PreparedStatement.close method is called. This means that any intermediate reprepare operations that occur because of invalidations will use those same hints.

Viewing SQL commands stored in the SQL Command Cache

All commands executed—SQL statements, built-in procedures, and so on—are stored in the SQL Command Cache, which uses temporary memory. The commands are stored up until the limit of the SQL Command Cache is reached, then the new commands are stored after the last used commands are removed. You can retrieve one or more of these commands that are stored in the SQL Command Cache.


Note:

This section describes viewing the commands stored in the SQL Command Cache. For details on how to view the query plans associated with these commands, see "Viewing query plans associated with commands stored in the SQL Command Cache".

The following sections describe how to view commands cached in the SQL Command Cache:

Managing performance and troubleshooting commands

You can view all one or more commands or details of their query plans with the ttSqlCmdCacheInfo and ttSqlCmdQueryPlan built-in procedures. Use the query plan information to monitor and troubleshoot your queries.

Viewing commands and query plans can help you perform the following:

  • Detect updates or deletes that are not using an index scan.

  • Monitor query plans of executing queries to ensure all plans are optimized.

  • Detect applications that do not prepare SQL statements or that re-prepare the same statement multiple times.

  • Discover the percentage of space used in the command cache for performance evaluation.

Displaying commands stored in the SQL Command Cache

The commands executed against the TimesTen database are cached in the SQL command cache. The ttSqlCmdCacheInfo built-in procedure displays a specific or all cached commands in the TimesTen SQL command cache. By default, all commands are displayed; if you specify a command id, then only this command is retrieved for display.

The command data is saved in the following format:

  • Command identifier, which is used to retrieve a specific command or its associated query plan.

  • Private connection identifier.

  • Counter for the number of executions.

  • Counter for the number of times the user prepares this statement.

  • Counter for the number of times the user re-prepares this SQL statement.

  • Freeable status, where if the value is one, then the subdaemon can free the space with the garbage collector. A value of zero determines that the space is not able to be freed.

  • Total size in bytes allocated for this command in the cache.

  • User who created the command.

  • Query text up to 1024 characters.

At the end of the list of all commands, a status is printed of how many commands were in the cache.

The following examples show how to display all or a single command from the SQL Command Cache using the ttSqlCmdCacheInfo built-in utility:

Example 10-1 Displaying all commands in the SQL Command Cache

This example executes within ttIsql the ttSqlCmdCacheInfo built-in procedure without arguments to show all cached commands. The commands are displayed in terse format. To display the information where each column is prepended with the column name, execute vertical on before executing the ttsqlCmdCacheInfo procedure.

Command> call ttsqlCmdCacheInfo;
< 528079360, 2048, 0, 1, 0, 1, 2168, PAT                        , select * from 
t7 where x7 is not null or exists (select 1 from t2,t3 where not 'tuf' like 
'abc') >
< 527609108, 2048, 0, 1, 0, 1, 2960, PAT                        , select * from 
t1 where x1 = (select x2 from t2 where z2 in (1,3) and y1=y2) order by 1, 2, 3 >
< 528054656, 2048, 0, 1, 0, 1, 1216, PAT                        , create table 
t2(x2 int,y2 int, z2 int) >
< 528066648, 2048, 0, 1, 0, 1, 1176, PAT                        , insert into t2
select * from t1 >
< 528013192, 2048, 0, 1, 0, 1, 1848, PAT                        , select * from 
t1 where exists (select * from t2 where x1=x2) or y1=1 >
< 527582620, 2048, 0, 1, 0, 1, 1240, PAT                        , insert into t2
select * from t1 >
< 527614292, 2048, 0, 1, 0, 1, 2248, PAT                        , select * from 
t1 where exists (select x2 from t2 where x1=x2) order by 1, 2, 3 >
< 528061248, 2048, 0, 1, 0, 1, 696, PAT                        , create index i1
on t3(y3) >
< 528070368, 2048, 0, 1, 0, 1, 824, PAT                        , call 
ttOptSetOrder('t3 t4 t2 t1') >
< 528018856, 2048, 0, 1, 0, 1, 984, PAT                        , insert into t2 
select * from t1 >
< 527606460, 2048, 0, 1, 0, 1, 2624, PAT                        , select * from 
t1 where x1 = (select x2 from t2 where y1=y2) order by 1, 2, 3 >
< 528123000, 2048, 0, 1, 0, 1, 3616, PAT                        , select * from 
t1 where x1 = 1 or x1 = (select x2 from t2,t3 where z2=t3.x3) >
< 528074624, 2048, 0, 1, 0, 1, 856, PAT                        , call 
ttOptSetOrder('t4 t2 t3 t1') >
< 527973892, 2048, 0, 1, 0, 1, 2872, PAT                        , select * from 
t1 where x1 in (select x2 from t2) or x1 in (select x3 from t3) order by 1, 2, 3 >
< 527953876, 2048, 0, 1, 0, 1, 3000, PAT                        , select * from 
t1 where x1 = (select x2 from t2) order by 1, 2, 3 >
< 527603900, 2048, 0, 1, 0, 1, 2440, PAT                        , select * from 
t1 where x1 in (select x2 from t2 where y1=y2) order by 1, 2, 3 >
< 528093308, 2048, 0, 1, 0, 1, 3608, PAT                        , select * from 
t1 where x1 = 1 or x1 = (select x2 from t2,t3 where z2=t3.x3 and t3.z3=1) >
< 528060608, 2048, 0, 1, 0, 1, 696, PAT                        , create index i1
on t2 (y2) > 

Example 10-2 Displaying a single SQL command

If you provide a command id as the input for the ttSqlCmdCacheInfo, the single command is displayed from within the SQL Command Cache. You can discover the command id from executing this built-in procedure without input. The command id is the first column displayed.

The following example displays the command identified by Command ID of 527973892. It is displayed in terse format; to view with the column headings prepended, execute vertical on before executing the ttSqlCmdCacheInfo built-in.

Command> call ttsqlCmdCacheInfo(527973892);
< 527973892, 2048, 0, 1, 0, 1, 2872, PAT                        , select * from 
t1 where x1 in (select x2 from t2) or x1 in (select x3 from t3) order by 1, 2, 3 >
1 row found.

Viewing SQL query plans

You can view the query plan for a command in one of two ways: storing the latest query plan into the system PLAN table or viewing all cached commands and their query plans in the SQL command cache. Both methods are described in the following sections:

Viewing a query plan from the system PLAN table

The optimizer prepares the query plans. For the last SQL statement to be executed—such as a prepared SELECT, UPDATE, DELETE, INSERT SELECT, CREATE TABLE, CREATE MATERIALIZED VIEW and so on—you can instruct that the plan be stored in the system PLAN table:

  1. Instruct TimesTen to generate the plan and store it in the system PLAN table.

  2. Prepare the statement means calling the ODBC SQLPrepare function or JDBC Connection.prepareStatement method on the statement. TimesTen stores the plan into the PLAN table.

  3. Read the generated plan within the SYS.PLAN table.

The stored plan is updated automatically whenever the command is reprepared. Re-preparation occurs automatically if one or more of the following occurs:

  • A table in the statement is altered.

  • If indexes are created or dropped.

  • The application invalidates commands when statistics are updated with the invalidate option in the ttOptUpdateStats built-in procedure.


Note:

For more information, see ttOptUpdateStats in the Oracle TimesTen In-Memory Database Reference.

For these cases, read the PLAN table to view how the plan has been modified.

Instruct TimesTen to store the plan in the system PLAN table

Before you can view the plan in the system PLAN table, call the built-in ttOptSetFlag procedure with the GenPlan flag. This call informs TimesTen that all subsequent calls to the ODBC SQLPrepare function or JDBC Connection.prepareStatement method in the transaction should store the resulting plan in the current SYS.PLAN table.


Note:

Make sure AUTOCOMMIT is not set. If it is, the current transaction completes after the processing of the command and prepares in the next transaction are not affected.

The SYS.PLAN table only stores one plan, so each call to the ODBC SQLPrepare function or JDBC Connection.prepareStatement method overwrites any plan currently stored in the table.

If a command is prepared with the genPlan flag set, it is recompiled with this flag. Thus, the plan is generated even though the plan for another query was found in the SYS.PLAN table.

For example, try the query and optimizer hints with the ttIsql utility. To display optimizer plans, issue the following commands:

autocommit 0;
showplan 1;

Reading query plan from the PLAN table

Once plan generation has been turned on and a command has been prepared, one or more rows in the SYS.PLAN table store the plan for the command. The number of rows in the table depends on the complexity of the command. Each row has seven columns, as described in "System Tables" in the Oracle TimesTen In-Memory Database System Tables and Views Reference.

Example 10-3 Generating a query plan

This example uses the following query:

SELECT COUNT(*)
FROM T1, T2, T3
WHERE T3.B/T1.B > 1
AND T2.B <> 0
AND T1.A = -T2.A
AND T2.A = T3.A

The optimizer generates the five SYS.PLAN rows shown in the following table. Each row is one step in the plan and reflects an operation that is performed during query execution.

StepLevelOperationTblNamesIXNamePredOther Pred
13TblLkRangeScanT1IX1

23TblLkRangeScanT2IX2(D)
T2.B <> 0
32MergeJoin

T1.A = -T2.A
42TblLkRangeScanT3IX3(D)

51MergeJoin

T2.A = T3.AT3.B / T1.B > 1

For details about each column in the SYS.PLAN table, see "Describing the PLAN table columns".

Describing the PLAN table columns

The SYS.PLAN table has seven columns.

Column 1 (Step)

Indicates the order of operation, which always starts with one. Example 10-3 uses a table lock range scan in the following order:

  1. Table locking range scan of IX1 on table T1.

  2. Table locking range scan of IX2 on T2.

  3. Merge join of T1 and T2 and so forth.

Column 2 (Level)

Indicates the position of the operation in the join-tree diagram that describes the execution. For Example 10-3, the join tree is as follows:

Description of jointree.gif follows
Description of the illustration jointree.gif

Column 3 (Operation)

Indicates the type of operation being executed. For a description of the potential values in this field and the type of table scan each represents, see SYS.PLAN in "System Tables" in the Oracle TimesTen In-Memory Database System Tables and Views Reference.

Not all operations the optimizer performs are visible to the user. Only operations significant to performance analysis are shown in the SYS.PLAN table. TblLk is an optimizer hint that is honored at execution time in Serializable or Read Committed isolation. Table locks are used during a scan only if row locks are disabled during preparation.

Column 4 (TblNames)

Indicates the table that is being scanned. This column is used only when the operation is a scan. In all other cases, this column is NULL.

Column 5 (IXName)

Indicates the index that is being used. This column is used only when the operation is an index scan using an existing index—such as a hash or range scan. In all other cases, this column is NULL. Names of range indexes are followed with "(D)" if the scan is descending—from large to small rather than from small to large.

Column 6 (Pred)

Indicates the predicate that participates in the operation, if there is one. Predicates are used only with index scan and MergeJoin operations. The predicate character string is limited to 1,024 characters.

This column may be NULL—indicating no predicate—for a range scan. The optimizer may choose a range scan over a table scan because, in addition to filtering, it has two useful properties:

  • Rows are returned in sorted order, on index key.

  • Rows may be returned faster, especially if the table is sparse.

In Example 10-3, the range scans are used for their sorting capability; none of them evaluates a predicate.

Column 7 (Other Pred)

Indicates any other predicate that is applied while the operation is being executed. These predicates do not participate directly in the scan or join but are evaluated on each row returned by the scan or join.

For example, at step two of the plan generated for Example 10-3, a range scan is performed on table T2. When that scan is performed, the predicate T2.B <> 0 is also evaluated. Similarly, once the final merge-join has been performed, it is then possible to evaluate the predicate T3.B / T1.B > 1.

Viewing query plans associated with commands stored in the SQL Command Cache

Use the query plan information to monitor and troubleshoot your queries.


Note:

For more reasons why to use the ttSqlCmdQueryPlan built-in procedure, see "Managing performance and troubleshooting commands".

The ttSqlCmdQueryPlan built-in procedure displays the query plan of a specific statement or all statements in the command cache. It displays the detailed run-time query plans for the cached SQL queries. By default, all query plans are displayed; if you specify the command id taken from the command output, only the query plan for the specified command is displayed.


Note:

If you want to display a query plan for a specific command, you must provide the command identifier, which is displayed with the ttSqlCmdCacheInfo built-in procedure. See "Displaying commands stored in the SQL Command Cache" for full details.

The plan data displayed when you invoke this built-in procedure is as follows:

  • Command identifier

  • Query text up to 1024 characters

  • Step number of the current operation in the run-time query plan

  • Level number of the current operation in the query plan tree

  • Operation name of current step

  • Name of table used

  • Owner of the table

  • Name of index used

  • If used and available, the index predicate

  • If used and available, the non-indexed predicate


Note:

For more information on how to view this information, see "Reading query plan from the PLAN table". The source of the data may be different, but the mapping and understanding of the material is the same as the query plan in the system PLAN table.

The ttSqlCmdQueryPlan built-in process displays the query plan in a raw data format. Alternatively, you can execute the ttIsql explain command for a formatted version of this output. For more information, see "Display query plan for statement in SQL Command Cache".

The following examples show how to display all or a single SQL query plan from the SQL Command Cache using the ttSqlCmdQueryPlan built-in procedure:

Example 10-4 Displaying all SQL query plans

You can display all SQL query plans associated with commands stored in the command cache with the ttSqlCmdQuery plan built-in procedure within the ttIsql utility.

The following example shows the output when executing the ttSqlCmdQueryPlan built-in procedure without arguments, which displays detailed run-time query plans for all valid queries. For invalid queries, there is no query plan; instead, the query text is displayed.

The query plans are displayed in terse format. To view with the column headings prepended, execute vertical on before executing the ttSqlCmdQueryPlan built-in procedure.

Note: For complex expressions, there may be some difficulties in printing out the original expressions.

Command> call ttSqlCmdQueryPlan();

< 528079360, select * from t7 where x7 is not null or exists (select 1 from t2,t3 
where not 'tuf' like 'abc'), <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, 
<NULL>, <NULL> >
< 528079360, <NULL>, 0, 2, RowLkSerialScan                , T7 
, PAT                        ,                                , ,  >
< 528079360, <NULL>, 1, 3, RowLkRangeScan                 , T2 
, PAT                        , I2                             , , NOT(LIKE( tuf 
,abc ,NULL ))  >
< 528079360, <NULL>, 2, 3, RowLkRangeScan                 , T3 
, PAT                        , I2                             , ,  >
< 528079360, <NULL>, 3, 2, NestedLoop                     , 
,                                ,                                , ,  >
< 528079360, <NULL>, 4, 1, NestedLoop(Left OuterJoin)     , 
,                                ,                                , ,  >
< 528079360, <NULL>, 5, 0, Filter                         , 
,                                ,                                , , X7 >
< 527576540, call ttSqlCmdQueryPlan(527973892), <NULL>, <NULL>, <NULL>, <NULL>, 
<NULL>, <NULL>, <NULL>, <NULL> >
< 527576540, <NULL>, 0, 0, Procedure Call                 , 
,                                ,                                , ,  >
< 528054656, create table t2(x2 int,y2 int, z2 int), <NULL>, <NULL>, <NULL>, 
<NULL>, <NULL>, <NULL>, <NULL>, <NULL> >
< 528066648, insert into t2 select * from t1, <NULL>, <NULL>, <NULL>, <NULL>, 
<NULL>, <NULL>, <NULL>, <NULL> >
< 528066648, <NULL>, 0, 0, Insert                         , T2 
, PAT                        ,                                , ,  >
< 528013192, select * from t1 where exists (select * from t2 where x1=x2) or 
y1=1, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> >
< 528061248, create index i1 on t3(y3), <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, 
<NULL>, <NULL>, <NULL> >
< 528070368, call ttOptSetOrder('t3 t4 t2 t1'), <NULL>, <NULL>, <NULL>, <NULL>, 
<NULL>, <NULL>, <NULL>, <NULL> >
< 528070368, <NULL>, 0, 0, Procedure Call                 , 
,                                ,                                , ,  >
< 528018856, insert into t2 select * from t1, <NULL>, <NULL>, <NULL>, <NULL>, 
<NULL>, <NULL>, <NULL>, <NULL> >
< 527573452, call ttsqlCmdCacheInfo(527973892), <NULL>, <NULL>, <NULL>, <NULL>, 
<NULL>, <NULL>, <NULL>, <NULL> >
< 527573452, <NULL>, 0, 0, Procedure Call                 , 
,                                ,                                , ,  >
< 528123000, select * from t1 where x1 = 1 or x1 = (select x2 from t2,t3 where 
z2=t3.x3), <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> >
< 528123000, <NULL>, 0, 2, RowLkSerialScan                , T1 
, PAT                        ,                                , ,  >
< 528123000, <NULL>, 1, 6, RowLkRangeScan                 , T2 
, PAT                        , I2                             , ,  >
< 528123000, <NULL>, 2, 6, RowLkRangeScan                 , T3 
, PAT                        , I2                             , ,  Z2 = X3; >
< 528123000, <NULL>, 3, 5, NestedLoop                     , 
,                                ,                                , ,  >
< 528123000, <NULL>, 4, 4, Materialized View              , 
,                                ,                                , ,  >
< 528123000, <NULL>, 5, 3, GroupBy                        , 
,                                ,                                , ,  >
< 528123000, <NULL>, 6, 2, Filter                         , 
,                                ,                                , ,  X1 = 
colum_name; >
< 528123000, <NULL>, 7, 1, NestedLoop(Left OuterJoin)     , 
,                                ,                                , ,  >
< 528123000, <NULL>, 8, 0, Filter                         , 
,                                ,                                , ,  X1 = 1; >

Example 10-5 Displaying a single SQL query plan

You can display any query plan associated with a command by providing the command id of the command as the input for the ttSqlCmdQueryPlan built-in procedure. The single query plan is displayed from within the SQL Command Cache. You can discover the command id from executing this ttSqlCmdCacheInfo built-in without input. The command id is the first column displayed.

The following example displays the query plan of the command identified by command id of 528078576. It is displayed in terse format; to view with the column headings prepended, execute vertical on before executing the ttSqlCmdQueryPlan built-in procedure.

Note: for complex expressions, there are some difficulties to print original expressions.

Command> call ttSqlCmdQueryPlan( 528078576);
< 528078576, select * from t1 where 1=2 or (x1 in (select x2 from t2, t5 where y2 
in (select y3 from t3)) and y1 in (select x4 from t4)), <NULL>, <NULL>, <NULL>, 
<NULL>, <NULL>, <NULL>, <NULL>, <NULL> >
< 528078576, <NULL>, 0, 4, RowLkSerialScan                , T1 
, PAT                        ,                                , ,  >
< 528078576, <NULL>, 1, 7, RowLkRangeScan                 , T2 
, PAT                        , I2                             , ,  >
< 528078576, <NULL>, 2, 7, RowLkRangeScan                 , T5 
, PAT                        , I2                             , ,  >
< 528078576, <NULL>, 3, 6, NestedLoop                     , 
,                                ,                                , ,  >
< 528078576, <NULL>, 4, 6, RowLkRangeScan                 , T3 
, PAT                        , I1                             ,  ( (Y3=Y2; ) ) ,  >
< 528078576, <NULL>, 5, 5, NestedLoop                     , 
,                                ,                                , ,  >
< 528078576, <NULL>, 6, 4, Filter                         , 
,                                ,                                , ,  X1 = X2; >
< 528078576, <NULL>, 7, 3, NestedLoop(Left OuterJoin)     , 
,                                ,                                , ,  >
< 528078576, <NULL>, 8, 2, Filter                         , 
,                                ,                                , ,  >
< 528078576, <NULL>, 9, 2, RowLkRangeScan                 , T4 
, PAT                        , I2                             , ,  Y1 = X4; >
< 528078576, <NULL>, 10, 1, NestedLoop(Left OuterJoin)     , 
,                                ,                                , ,  >
< 528078576, <NULL>, 11, 0, Filter                         , 
,                                ,                                , ,  >
13 rows found.
Command>

Modifying plan generation

If you decide that you want to modify a query plan, you can only modify the query plan that exists in the system PLAN table as described in "Viewing a query plan from the system PLAN table". Once you do modify the query plan, it does not replace the query plan, but creates a new query plan with your changes.

The following sections describe why you may want to modify execution plans and then how to modify them:

Why modify an execution plan?

Applications may want to modify an execution plan for two reasons:

  • The plan is optimally fast but is ill-suited for the application. The optimizer may select the fastest execution path, but this path may not be desirable from the application's point of view. For example, if the optimizer chooses to use certain indexes, these choices may prevent other operations-such as certain update or delete operations-from occurring simultaneously on the indexed tables. In this case, an application can prevent the use of those indexes.

    The plan chosen by the optimizer may also consume more memory than is available or than the application wants to allocate. For example, this may happen if the plan stores intermediate results or requires the creation of temporary indexes.

  • The plan is not optimally performant. The query optimizer chooses the plan that it estimates will execute the fastest based on its knowledge of the tables' contents, available indexes, statistics, and the relative costs of various internal operations. The optimizer often has to make estimates or generalizations when evaluating this information, so there can be instances where it does not choose the fastest plan. In this case, an application can adjust the optimizer's behavior to try to produce a better plan.

When to modify an execution plan

Applications can modify an execution plan by providing hints to the optimizer. Hints are specified by calls to one of the TimesTen optimizer built-in procedures and are in effect for all calls to the ODBC SQLPrepare function or JDBC PreparedStatement objects in the transaction. For more information on how to provide these hints, see "How to modify execution plan generation".


Note:

Make sure AUTOCOMMIT is not set. If it is, the current transaction completes after processing the ttOptSetFlag procedure and prepares in the next transaction are not affected.

If a command is prepared with certain hints in effect, those hints continue to apply if the command is reprepared automatically, even when this happens outside the initial prepare transaction. This can happen when a table is altered, or an index is dropped or created, or when statistics are modified, as described in "When optimization occurs".

If a command is prepared without hints, subsequent hints will not affect the command if it is reprepared automatically. An application must call the ODBC SQLPrepare function or JDBC Connection.prepareStatement method a second time so that hints have an effect.

Example 10-6 Tuning a join when using ODBC

When using ODBC, a developer tuning a join on T1 and T2 might go through the steps shown in the following figure.

Description of tune_join.gif follows
Description of the illustration tune_join.gif

During execution, the application may then go through the steps shown in the following figure.

Description of execution_steps.gif follows
Description of the illustration execution_steps.gif

Example 10-7 Tuning a join when using JDBC

When using JDBC, a developer tuning a join on T1 and T2 might go through the steps shown in the following figure.

Description of jdbc_steps.gif follows
Description of the illustration jdbc_steps.gif

During execution, the application may then go through the steps shown in the following figure.

Description of jdbc_exec_steps.gif follows
Description of the illustration jdbc_exec_steps.gif

How to modify execution plan generation

You can apply hints to change the query optimizer behavior, which modifies the execution plan generation.

Apply hints for a transaction

To change the query optimizer behavior for a transaction, an application calls one of the following built-in procedures using the ODBC procedure call interface:

  • ttOptSetFlag—Sets certain optimizer parameters.

  • ttOptSetOrder—Enables an application to specify the table join order.

  • ttOptUseIndex—Enables an application to specify that an index be used or to disable the use of certain indexes.

  • ttOptClearStats, ttOptEstimateStats, ttOptSetColIntvlStats, ttOptSetTblStats, ttOptUpdateStats—Manipulate statistics that the TimesTen Data Manager maintains on the application's data that are used by the query optimizer to estimate costs of various operations.

Some of these built-in procedures require that the user have privileges to the objects on which the utility executes. For full details on these built-in procedures and any privileges required, see "Built-In Procedures" in the Oracle TimesTen In-Memory Database Reference.

The following examples provide an ODBC and JDBC method on how to use the ttOptSetFlag built-in procedure:


Note:

You can also experiment with optimizer settings using the ttIsql utility. The commands that start with try control the optimizer hints. To view your current optimizer hint settings, use the optprofile command.

Example 10-8 Using ttOptSetFlag in JDBC

This JDBC example illustrates the use of ttOptSetFlag to prevent the optimizer from choosing a merge join.

import java.sql.*; 
class Example 
{ 
 public void myMethod() { 
    CallableStatement cStmt; 
    PreparedStatement pStmt;
     . . . . . 
    try {
         . . . . . . . 
        // Prevent the optimizer from choosing Merge Join 
        cStmt = con.prepareCall("{ 
            CALL ttOptSetFlag('MergeJoin', 0)}"); 
        cStmt.execute();
        // Next prepared query 
        pStmt=con.prepareStatement( 
        "SELECT * FROM Tbl1, Tbl2 WHERE Tbl1.ssn=Tbl2.ssn");
        . . . . . . . 
        catch (SQLException ex) { 
            ex.printStackTrace(); 
        } 
    } 
    . . . . . . .
}

Example 10-9 Using ttOptSetFlag in ODBC

This ODBC example illustrates the use of ttOptSetFlag to prevent the optimizer from choosing a merge join.

#include <sql.h>
SQLRETURN rc;
SQLHSTMT hstmt; fetchStmt;
....
rc = SQLExecDirect (hstmt, (SQLCHAR *)
     "{CALL ttOptSetFlag (MergeJoin, 0)}",
     SQL_NTS)
/* check return value */
...
rc = SQLPrepare (fetchStmt, ...)
/* check return value */
...
PKЖmCâæØæPK\8–AOEBPS/glossary.htm^|¡ƒ Glossary

Glossary

.odbc.ini file

See "ODBC initialization file (ODBC INI)".

ACID transaction semantics

An acronym referring to the four fundamental properties of a transaction: atomicity, consistency, isolation and durability.

atomicity

A property of a transaction whereby either all or none of the operations of a transaction are applied to the database.

backup instance

A set of files containing backup information for a given database, residing at a given backup path. See also "backup path", "full backup" and "incremental backup".

backup path

The location of a database, specified by a directory name and an optional basename.

backup point

The time at which a backup begins. See also "backup path", "full backup" and "incremental backup".

bitmap index

Indexes are used to speed up queries on a table. Bitmap indexes are useful when searching and retrieving data from columns with low cardinality. That is, these columns can have only a few unique possible values.

cache group

A set of cached tables related through foreign keys.

cache instance

A set of rows related through foreign keys. Each cache instance contains exactly one row from the root table of a cache group and zero or more rows from the other tables in the cache group.

client/server

An approach to application design and development in which application processing is divided between components running on an end user's machine, such as the client, and a network server. Generally, user interface elements are implemented in the client component, while the server controls database access.

client data source name

See "data source name, client".

concurrency

The ability to have multiple transactions access and manipulate the database at the same time.

connection

A data path between an application and a particular ODBC data source.

connection attribute

A character string that defines a connection parameter to be used when connecting to an ODBC data source. Connection attributes have the form name=value, where name is the name of the parameter and value is the parameter value. See also connection string.

connection request

A message sent by an application through an ODBC driver to an ODBC data source to request a connection to that data source.

connection string

A character string that defines the connection parameters to be used when connecting to an ODBC data source. A connection string is expressed as one or more connection attributes separated by semicolons.

consistency

A property of transactions whereby each transaction transforms the database from one consistent state to another.

cursor

A control structure used by an application to iterate through the results of an SQL query.

data source definition

A named collection of connection attributes that defines the connection parameters to be used when connecting to an ODBC data source. See also "data source name".

data source name

A logical name by which an end user or application refers to an ODBC data source definition. Sometimes incorrectly used to mean "data source definition". See also "data source definition", ODBC.INI file.

data source name, client

A data source name defined on a TimesTen client machine that refers to a Server DSN on a server machine.

data source name, server

A system data source name (system DSN) defined on a server machine. Server Data Source Names become available to all TimesTen clients on a network when the TimesTen Server is running.

data source name, system

A data source name that is accessible by all users of a particular machine.

data source name, user

A data source name that is accessible only by the user who created the data source name.

driver

See "ODBC driver".

DSN

See "data source name".

DSN, client

See "data source name, client".

DSN, server

See "data source name, server".

DSN, system

See "data source name, system".

DSN, user

See "data source name, user".

durability

A property of transactions whereby the effects of a committed transaction survive system failures.

environment variable

A name, value pair maintained by the operating system that can be used to pass configuration parameters to an application.

event

An activity or occurrence that can be tracked by a logging mechanism in an application, service or operating system. See also "logging", "protocol message logging" and "event viewer".

event viewer

On Windows, a utility program used to view the contents of the operating system event log.

full backup

A database backup procedure in which a complete copy of a database is created. Typically, the first backup of a database must be a full backup. See also "incremental backup".

hash index

Indexes are used to speed up queries on a table. Hash indexes are useful for finding rows with an exact match on one or more columns.

host

A computer. Typically used to refer to a computer on a network that provides services to other computers on the network.

host name

A character string name that uniquely identifies a particular computer on a network. Examples: athena, thames.mycompany.com. See also "host".

in-line column

A column whose values are physically stored together with the other column values of a row.

incremental backup

A database backup procedure in which an existing backup is augmented with all the transaction log records created since its last full or incremental backup. See also "backup instance" and "full backup".

initialization file

See ODBC.INI file.

IP address

A numeric address that uniquely identifies a computer on a network and consists of four numbers separated by dots. Abbreviation for Internet Protocol address. Example: 123.61.129.91.

IPC

Inter Process Communication

isolation

A property of transactions whereby each transaction runs as if it were the only transaction in the system.

listener thread

A thread that runs on the TimesTen Server that receives and processes connection requests from TimesTen Clients.

logging

The process by which an application, service or operating system records specific events that occur during processing.

multithreading

A programming paradigm in which a process contains multiple threads of control.

network address

A host name, or IP address that uniquely identifies a particular computer on a network. Examples: 123.61.129.91, athena, thams.mycompany.com.

ODBC

See "Open Database Connectivity (ODBC)".

ODBC Administrator

A utility program used on Windows to create, configure and delete data source definitions.

ODBC data source

See "data source name" (DSN).

ODBC data source name

See "data source name" (DSN).

ODBC driver

A library that implements the function calls defined in the ODBC API and enables applications to interact with ODBC data sources.

ODBC Driver Manager

A library that acts as an intermediary between an ODBC application and one or more ODBC drivers.

ODBC initialization file (ODBC INI)

The ODBC.INI file contains a list of Data Sources and any properties for each. Each Data Source name must have a driver property defined. This enables the driver to be loaded when a connect call is made.

Open Database Connectivity (ODBC)

A database-independent application programming interface that enables applications to access data stored in heterogeneous relational and non-relational databases. Based on the Call-Level Interface (CLI) specification developed by X/Open's SQL Access Group and first popularized by Microsoft on the Windows platform.

Open database connectivity (ODBC), is a database access protocol that lets you connect to a database and then prepare and run SQL statements against the database. In conjunction with an ODBC driver, an application can access any data source including data stored in spreadsheets, like Excel. Because ODBC is a widely accepted standard API, applications can be written to comply to the ODBC standard. The ODBC driver performs all mappings between the ODBC standard and the particular database the application is accessing. Using a data source-specific driver, an ODBC compliant program can access any data source without any more development effort.

TimesTen provides the ODBC interface so that applications of any type that are ODBC compliant can access TimesTen using the ODBC driver provided by TimesTen.

out-of-line column

A column whose values are physically stored separately from the other column values of a row.

phantom

A row that appears during one read but not during another read within the same transaction, due to the actions of other concurrently executing transactions.

ping

A utility that tests the connection between two computers on a network by sending a message from one computer to the other and measuring how long it takes for the receiving system to confirm that the message was received. Typically packaged with network software.

port number

See "TCP/IP port number".

procedure

See "stored procedure".

process

An instance of a program in execution.

propagate

When using IMDB Cache to send table or row modifications from an IMDB Cache to an Oracle database. Compare with "replicate".

protocol message logging

The process that the TimesTen Server uses to record each message it receives through the TimesTen network protocol.

range index

Indexes are used to speed up queries on a table. A range index is similar in functionality to a B+-tree index and is best used for retrieving rows with column values within a certain range.

replicate

The sending of table or row modifications from one database to another. Compare with "propagate".

result set

A collection of zero or more rows of data that represent the result of an SQL query.

rollback

To undo the actions of a transaction, thereby returning all items modified by the transaction to their original state.

row buffering

A performance enhancement used by the TimesTen Client in which the client receives multiple result rows of an SQL query in each message from the TimesTen Server to reduce network communication.

RPC

Remote Procedure Call.

scalability

The degree to which a system or application can handle increasing demands on system resources without significant performance degradation.

schema

A schema is automatically created for a user upon user creation. A schema is the namespace for a given user, where all objects owned by this user belong and all objects are identified by schema qualified names. For example, user PAT belongs to the PAT schema. In addition, the object EMPLOYEES owned by PAT is identified as PAT.EMPLOYEES.

If a user refers to an object without the schema name, TimesTen first tries to resolve the name to the user's schema. If this object does not exist, TimesTen tries to resolve the name to SYS.EMPLOYEES.

A user always has all privileges to all objects in their own schema. These privileges can never be revoked.

server data source name

See "data source name, server".

server DSN

See "data source name, server".

system DSN

See "data source name, system".

shorthand name

A logical name used to refer to a particular TimesTen Server. Shorthand names relieve the end user of having to enter a host name and port number to connect to a TimesTen Server.

SMP

Symmetric multi-processing. A hardware configuration in which two or more similar processors are connected via a high-bandwidth link and managed by one operating system, where each processor has equal access to I/O devices.

SNMP

Simple Network Management Protocol. Used to manage nodes on a network.

SQL

Structured Query Language.

stack overflow condition

An error condition in which the stack usage of a thread or process exceeds the amount of space allocated for the stack.

stored procedure

An executable object or named entity stored in a database that can be invoked with input and output parameters and which can return result sets similar to those returned by an SQL query.

system account

A special account on Windows used by the operating system and certain operating system services. The TimesTen service and the TimesTen Server run under the system account.

system DSN

See "data source name, system".

TCP/IP

The communications protocol used by computers on the Internet. Abbreviation for Transport Control Protocol/Internet Protocol.

TCP/IP port number

A number used by TCP/IP that identifies the end point for a connection to a host that supports multiple simultaneous connections.

telnet

A utility program and protocol that enables a user on one computer to open a virtual terminal, log in to a remote host and interact as a terminal user of that host.

thread

An independent sequence of execution of program code inside a process. See also "process".

thread-safe ODBC driver

An ODBC driver that supports multithreaded servers and clients. The TimesTen data manager driver and the TimesTen Client driver are thread-safe.

timeout error

An error condition indicating that the requested operation did not complete within the given amount of time. See also "timeout interval".

timeout interval

A configuration parameter that specifies the maximum amount of time that an operation should take to complete. See also "timeout error".

TimesTen Client

(1) An ODBC driver that enables end users to access data sources through a TimesTen Server. (2) A computer on which the TimesTen Client software has been installed. Using the TimesTen Client driver, an end user or application can access any data source managed by an available TimesTen Server.

TimesTen Client/Server network protocol

The protocol used by TimesTen Clients and TimesTen Servers to exchange data over a standard TCP/IP network connection.

TimesTen Data Server

(1) An application program that makes TimesTen data sources available to the TimesTen Clients on a network. (2) A computer on which the TimesTen Data Server software is running.

TimesTen Server address

The host name or IP address used during installation of the TimesTen Server to identify the computer on which the software is being installed.

transaction

An operation or set of operations performed against data in a database. The operations defined in a transaction must be completed as a whole; if any part of the transaction fails, the entire transaction fails. See also "ACID transaction semantics".

UCS-4

A fixed-width, 32-bit Unicode character set. Each character occupies 32 bits of storage. The UCS-2 characters are the first 65,536 code points in this standard, so it can be viewed as a 32-bit extension of UCS-2.

UTF-16

An encoding scheme defined by the ISO/IEC 10646 standard in which each Unicode character is represented by either a two-byte integer or a pair of two-byte integers. Characters from European scripts and most Asian scripts are represented in two bytes. Surrogate pairs are represented in four bytes. Surrogate pairs represent characters such as infrequently used Asian characters that were not included in the original range of two-byte characters.

user account

The combination of a user name, password and access permissions that gives an individual user access to an operating system.

user data source name

See"data source name, user".

user DSN

See "data source name, user".

User Manager

A Windows utility program used to create user accounts and assign access rights and group membership.

Windows sockets (Winsock)

An API that defines a standard binary interface for TCP/IP transports on Windows platforms. This API adds Windows-specific extensions to the Berkeley Sockets interface originally defined in Berkeley UNIX.

PKAéæïc|^|PK\8–AOEBPS/preface.htm,îÓ Preface

Preface

Oracle TimesTen In-Memory Database is a memory-optimized relational database. Deployed in the application tier, Oracle TimesTen In-Memory Database operates on databases that fit entirely in physical memory using standard SQL interfaces. High availability for the in-memory database is provided through real-time transactional replication.

This guide provides:

Audience

To work with this guide, you should understand how database systems work and have some knowledge of Structured Query Language (SQL).

Related documents

TimesTen documentation is available on the product distribution media and on the Oracle Technology Network:

http://www.oracle.com/technetwork/products/timesten/documentation

Conventions

TimesTen supports multiple platforms. Unless otherwise indicated, the information in this guide applies to all supported platforms. The term Windows refers to all supported Windows platforms. The term UNIX applies to all supported UNIX and Linux platforms. See "Platforms" in Oracle TimesTen In-Memory Database Release Notes for specific platform versions supported by TimesTen.


Note:

In TimesTen documentation, the terms "data store" and "database" are equivalent. Both terms refer to the TimesTen database unless otherwise noted.

This document uses the following text conventions:

ConventionMeaning
boldfaceBoldface type indicates graphical user interface elements associated with an action, or terms defined in text.
italicItalic type indicates book titles, emphasis, or placeholder variables for which you supply particular values.
monospaceMonospace type indicates commands within a paragraph, URLs, code in examples, text that appears on the screen, or text that you enter.
italic monospaceItalic monospace type indicates a variable in a code example that you must replace. For example:

Driver=TimesTen_install_dir/lib/libtten.so

Replace TimesTen_install_dir with the path of your TimesTen installation directory.

[ ]Square brackets indicate that an item in a command line is optional.
{ }Curly braces indicate that you must choose one of the items separated by a vertical bar ( | ) in a command line.
|
A vertical bar separates alternative arguments.
. . .An ellipsis (. . .) after an argument indicates that you may use more than one argument on a single command line.
%
The percent sign indicates the UNIX shell prompt.
#
The number (or pound) sign indicates the prompt for the UNIX root user.

TimesTen documentation uses these variables to identify path, file and user names:

ConventionMeaning
TimesTen_install_dirThe path that represents the directory where the current release of TimesTen is installed.
TTinstanceThe instance name for your specific installation of TimesTen. Each installation of TimesTen must be identified at install time with a unique alphanumeric instance name. This name appears in the install path.
bits or bbTwo digits, 32 or 64, that represent either the 32-bit or 64-bit version of the operating system.
release or rrThe first three parts in a release number, with or without dots. The first three parts of a release number represent a major TimesTen release. For example, 1122 or 11.2.2 represents TimesTen 11g Release 2 (11.2.2).
jdk_versionOne or two digits that represent the major version number of the Java Development Kit (JDK) release. For example, 5 represents JDK 5.
DSNThe data source name.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

PKÙ}Ðã,,PK\8–AOEBPS/daemon.htm€ÿ Working with the Oracle TimesTen Data Manager Daemon

3 Working with the Oracle TimesTen Data Manager Daemon

The Oracle TimesTen Data Manager daemon, which is the Oracle TimesTen Data Manager service on Windows, starts when TimesTen is installed. The daemon operates continually in the background.

The TimesTen daemon performs the following functions:

Application developers do not interact with the daemon directly. No application code runs in the daemon and application developers do not generally have to be concerned with it. Application programs that access TimesTen databases communicate with the daemon transparently using TimesTen internal routines.

The following sections discuss interaction with the TimesTen daemon on various platforms:

Starting and stopping the Oracle TimesTen Data Manager service on Windows

The Oracle TimesTen Data Manager service starts when you install the Oracle TimesTen Data Manager on your Windows system. To manually start and stop the Oracle TimesTen Data Manager service, you can use the ttDaemonAdmin utility with the -start or -stop option, or the Windows Administrative Tools as follows:

  1. Open Administrative Tools:

    On Windows 2000 and XP from the Start menu, select Settings, Control Panel, and finally Administrative Tools.

  2. Double-click Services. All currently available services are displayed.

  3. Select TimesTen Data Manager 11.2.2, then click the appropriate button to stop or start the service.


Note:

You must have administrative privileges to start and stop the TimesTen service.

Starting and stopping the daemon on UNIX

You must be the instance administrator to start and stop the TimesTen daemon.

The instance administrator must manually start and stop the daemon, after each system reboot, unless the setuproot script has been run. To manually start and stop the TimesTen main daemon, you can use the ttDaemonAdmin utility with the -start or -stop option.

User root can start the daemon by executing the daemon startup script. The following table shows the location of the daemon startup script by platform.

PlatformLocation of daemon startup script
Linux/etc/init.d/tt_instance_name
Solaris/etc/init.d/tt_instance_name
AIX/etc/init.d/tt_instance_name

Shutting down a TimesTen application

A TimesTen application consists of a database that has been allocated shared memory, user connections, and possibly replication and cache agents for communication with other TimesTen or Oracle databases.

To shut down a TimesTen application, complete the following tasks:

  1. Disconnect all user connections gracefully.

  2. Shut down all replication and cache agents.

  3. Unload the database from shared memory if it was manually loaded.

  4. Stop the TimesTen daemon.

Managing TimesTen daemon options

The ttendaemon.options file contains TimesTen daemon options. During installation, the installer sets some of these options to correspond to your responses to the installation prompts.

On Windows, the ttendaemon.options file is located in the directory:

install_dir\srv\info

On UNIX, the ttendaemon.options file is located in the directory:

install_dir/info/ 

The features that the ttendaemon.options file controls are as follows:

Use the ttmodinstall utility to make changes to the ttendaemon.options file for most commonly changed options. See "ttmodinstall" in Oracle TimesTen In-Memory Database Reference. If you cannot use ttmodinstall to change a particular option and must modify the ttendaemon.options file directly, stop the TimesTen daemon before you change the file. Restart the TimesTen daemon after you have finished changing the file. To change TimesTen Server options, it is only necessary to stop the server. It is not necessary to stop the TimesTen daemon.

The rest of this section includes the following topics:

Determining the daemon listening address

By default, the TimesTen main daemon, all subdaemons and agents listen on a socket for requests, using any available address. All TimesTen utilities and agents use the loopback address to talk to the main daemon, and the main daemon uses the loopback address to talk to agents.

The -listenaddr entry in a separate line in the ttendaemon.options file tells the TimesTen daemons to listen on the specific address indicated in the value supplied. The address specified with this option can be either a host name or a numerical IP address.

The -listenaddr parameter exists for situations where a server has multiple network addresses and multiple network cards. In this case it is possible to limit the network addresses on which the TimesTen daemon is listening to a subset of the server's network addresses. This is done by making entries only for those addresses on which the daemon listens. These possibilities exist:

  • Given a situation where a server has a "public" network address that is accessible both inside and outside the local network and a "private" address that is accessible only within the local network, adding a -listenaddr entry containing only the private address blocks all communications to TimesTen coming on the public address.

  • By specifying only the local host, the TimesTen main daemon can be cut off from all communications coming from outside the server and communicate only with local clients and subdaemons.

There is no relationship between TimesTen replication and the -listenaddr parameter and there is no requirement for enabling the -listenaddr parameter when replication is enabled. If replication is going to be used in an environment where -listenaddr is enabled, then the replication nodes need to know the allowable network addresses to use. However, if no -listenaddr parameter is enabled replication still works.

To explicitly specify the address on which the daemons should listen on a separate line in the ttendaemon.options file, enter:

-listenaddr address

For example, if you want to restrict the daemon to listen to just the loopback address, you say either:

-listenaddr 127.0.0.1

or

-listenaddr localhost

This means that only processes on the local machine can communicate with the daemon. Processes from other machines would be excluded, so you would not be able to replicate to or from other machines, or grant client access from other machines.

If you have multiple ethernet cards on different subnets, you can specify -listenaddr entries to control which machines can connect to the daemon.

You can enter up to four addresses on which to listen by specifying the option and a value on up to four separate lines in the ttendaemon.options file. In addition to the addresses you specify, TimesTen always listens on the loopback address.

Listening on IPv6

By default, TimesTen uses the IPv4 protocol. To enable the daemon to listen on IPv6, you must enter on a separate line in the ttendaemon.options file:

-enableIPv6

and

-listenaddr6 address
  • You can specify an IPv6 address with the -listenaddr6 option to enable IPv6.

  • Specifying the -enableIPv6 option with one or more -listenaddr or -listenaddr6 options adds the IPv6 loopback interface to the list.

  • If you specify the -enableIPv6 option without specifying any addresses with the -listenaddr or -listenaddr6 options, then the daemon listens on any IPv6 interface as well as any IPv4 interface.

The address specified with this option can be either a host name or a numerical IP address. See "Determining the daemon listening address" for specifics on the -listenaddr option

If one or more -listenaddr options are provided, the daemons listen on the specified IPv4 interfaces, with the IPv4 loopback address being added to the list if not specified. If only -enableIPv6 is specified, the daemons listen on both the IPv4 ANY interface and the IPv6 ANY interface.

You can specify both -listenaddr and -listenaddr6 options. If you specify one or more -listenaddr6 options, the daemons listen on the specified IPv4 or IPv6 interfaces, with both the IPv4 and IPv6 loopback interfaces being added if not specified. If the name resolver returns multiple IPv4 and/or IPv6 addresses for a name, the daemons listen on all of the names.

Modifying informational messages

As the daemon operates, it generates error, warning, and informational messages. These messages may be useful for TimesTen system administration and for debugging applications.

By default, informational messages are stored in the following:

  • A user error log that contains information you may need to see. Generally, these messages contain information on actions you may need to take.

  • A support log containing everything in the user error log plus information of use by TimesTen Customer Support.

The following options specify the locations and size of the support and user logs, as well as the number of files to keep stored on your system.

OptionDescription
-supportlog path -f pathSpecifies the location for the support log file. The default file is daemon_home/ttmesg.log
-maxsupportlogfiles numThe TimesTen main daemon automatically rotates the files once they get to a specific size. This option specifies the number of support log files to keep. The default is 10.
-maxsupportlogsize nBytesSpecifies the maximum size of the support log file. The default is 10 MB.
-userlog logfile

or

-userlog [syslog]

logfile: A user-provided logfile specifies the location and name of the log file to use. The default file is daemon_home/tterrors.log.

syslog: Specify -userlog [syslog] so that the output is sent to one of the following appropriate operating system files:

  • The UNIX syslog

  • The Windows Event Log

-maxuserlogfiles numThe TimesTen main daemon automatically rotates the files once they get to a specific size. This option specifies the number of user log files to keep. The default is 10.
-maxuserlogsize nBytesSpecifies maximum size of the user log. Default is 1MB.
-showdateOn UNIX systems only, indicates that the date should be prepended to all messages

If you have specified the Event Log as the location for your log messages, to view them follow these steps:

  1. Open the Event Viewer window. From the Start menu, select Control Panel, Administrative Tools, and then select Event Viewer.

  2. In the Event Viewer list, choose Applications and Services Logs.

    The window displays log messages generated by applications. Any messages with the word "TimesTen" in the "Source" column were generated by the Oracle TimesTen Data Manager service.

  3. To view any TimesTen message, double-click the message summary.

    The message window is displayed. You can view additional messages by clicking Next , Previous, up or down arrows, depending on your version of Windows.


Note:

You can also view messages using the ttDaemonLog utility.

To specify the syslog facility used to log TimesTen daemon and subdaemon messages on UNIX, on a separate line of the ttendaemon.options file add:

-facility name

Possible name values are: auth, cron, daemon, local0-local7, lpr, mail, news, user, or uucp.

To turn off detailed log messages, add a # before -verbose in the ttendaemon.options file.

Changing the allowable number of subdaemons

TimesTen uses subdaemons to perform the following:

  • Manage databases.

  • Flush the transaction log buffer to disk.

  • Perform periodic checkpoints.

  • Implement the aging policies of various tables.

  • Find and break deadlocks.

  • Rollback transactions for abnormally terminated direct-mode applications.

  • Perform required background processing for the database.

The main TimesTen daemon spawns subdaemons dynamically as they are needed. You can manually specify a range of subdaemons that the daemon may spawn, by specifying a minimum and maximum.

At any point in time, one subdaemon is potentially needed for TimesTen process recovery for each failed application process that is being recovered at that time.

By default, TimesTen spawns a minimum of 4 subdaemons and specifies the default maximum number of subdaemons at 50. However, you can change these settings by assigning new values to the -minsubs and -maxsubs options in the ttendaemon.options file.

Allowing database access over NFS-mounted systems

By default, TimesTen systems cannot access data across NFS-mounted systems. On Linux x86 64-bit systems, you can access checkpoint and transaction log files on NFS-mounted systems.

To enable data access on NFS-mounted systems, on a separate line of the ttendaemon.options file, add:

-allowNetworkFiles

Note:

TimesTen does not support the storage of trace files or user and support logs across NFS-mounted systems

Enabling Linux large page support

To enable Linux large page support on TimesTen, on a separate line of the ttendaemon.options file, add:

-linuxLargePageAlignment Size_in_MB

The Size_in_MB is the Hugepagesize value in /proc/meminfo, specified in MB instead of KB.

Managing TimesTen Client/Server options

This section includes the following topics:

Modifying the TimesTen Server options

The TimesTen Server is a child process of the TimesTen daemon that operates continually in the background. To modify the TimesTen Server options, you must do the following:

  1. Stop the TimesTen Server.

  2. Modify the options in the ttendaemon.options file as described in the following sections.

  3. Restart the TimesTen Server.

Controlling the TimesTen Server

The -server portno entry in a separate line in the ttendaemon.options file tells the TimesTen daemon to start the TimesTen Server and what port to use. The portno is the port number on which the server will listen.

If the TimesTen Server is installed, you can enable or disable the TimesTen Server:

  • To enable the TimesTen Server, remove the comment symbol '#' in front of the -server portno entry.

  • To disable the TimesTen Server, add a comment symbol '#' in front of the -server portno entry.

Prespawning TimesTen Server processes

Each TimesTen Client connection requires one server process. By default, a server process is spawned when a client requests a connection.

You can prespawn a pool of reserve server processes, making them immediately available for a client connection, thus improving client/server connection performance.

The -serverpool number entry in a separate line in the ttendaemon.options file on the Server machine tells the TimesTen Server to create number processes. If this option is not specified, no processes are prespawned and kept in the reserve pool.

When a new connection is requested, if there are no items in the server pool, a new process is spawned, as long as you have not met the operating system limit.

If you request more process than allowed by your operating system, a warning is returned. Regardless of the number of processes requested, an error does not occur unless a client requests a connection when no more are available on the system, even if there are no processes remaining in the reserve pool.

Changes to the TimesTen Server take effect when the Server is restarted.

Specifying multiple connections to the TimesTen Server

By default, TimesTen creates only one connection to a Server for each child process. You can set multiple connects to a single TimesTen Server, either by using the Server connection attributes described in the Oracle TimesTen In-Memory Database Reference or by setting the TimesTen daemon options described in this section. These options enable you to set the number of connections to a TimesTen Server, the number of servers for each DSN and the size of each connection to the server.

Changes to TimesTen Server settings do not occur until the TimesTen server is restarted. To restart the Server, use the following command:

ttDaemonAdmin -restartserver

Note:

In the case that you have set both the Server connection attributes and these daemon options, the value of the Server connection attributes takes precedence.

Configuring the maximum number of client connections per child server process

To run a child server process in multithreaded mode so that a single server process can service multiple client connections to a database, add the following line to the ttendaemon.options file:

-maxConnsPerServer NumberOfClientConnections

The possible values of NumberOfClientConnections range from 1 to 2047, inclusive. The default value is 1, which indicates that the child server process runs in multi-process mode and, therefore, can service only one client connection.

ó# Ü

Configuring the desired number of child server processes spawned for a server DSN

To specify the desired number of child server processes to be spawned for a particular server DSN, add the following line to the ttendaemon.options file:

-serversPerDSN NumberOfChildServerProcesses

The possible values of NumberOfChildServerProcesses range from 1 to 2047, inclusive. The default value is 1.

Client connections to a particular server DSN are evenly distributed in round-robin fashion to the child server processes that are spawned and assigned to the DSN. The number of child server processes assigned to the server DSN is greater than NumberOfChildServerProcesses if the number of client connections to the DSN is greater than the maximum number of client connections per child server process multiplied by the desired number of child server processes spawned for a server DSN.

Configuring the thread stack size of the child server processes

To set the size of the child server process thread stack for each client connection, add the following line to the ttendaemon.options file:

-serverStackSize ThreadStackSize

ThreadStackSize is specified in KB. The default is 128 KB on 32-bit systems and 256 KB on 64-bit systems. The ThreadStackSize setting is ignored if the maximum number of client connections per child server process is 1 because the sole client connection will be serviced by the main thread of the child server process.


Note:

These changes to the TimesTen Server do not occur until the TimesTen daemon is restarted.

Using shared memory for Client/Server IPC

By default, TimesTen uses TCP/IP communication between applications linked with the TimesTen Client driver and the TimesTen Server.

Where the client application resides on the same machine as the TimesTen Server, you can alternatively use shared memory for the inter-process communication (IPC).

This can be useful for performance purposes or to allow 32-bit client applications to communicate with a 64-bit database on the server. Before using shared memory as IPC verify that you have configured your system correctly. See "Installation prerequisites" in Oracle TimesTen In-Memory Database Installation Guide.

The -serverShmIpc entry in a separate line in the ttendaemon.options file tells the TimesTen Server to accept a client connection that intends to use a shared memory segment for IPC.

If this entry is missing, add this line to the ttendaemon.options file to start the TimesTen Server with shared memory IPC capability when the TimesTen daemon is restarted.

If the entry exists, add the # symbol before the line in the ttendaemon.options file to comment it out. The TimesTen Server is no longer started with shared memory IPC capability when the TimesTen daemon starts.


Note:

TimesTen supports a maximum of 16 different instances of the shared memory IPC-enabled server. If an application tries to connect to more than 16 different shared memory segments it receives an ODBC error.

Managing the size of the shared memory segment

The -serverShmSize size entry in a separate line in the ttendaemon.options file tells the TimesTen Server to create a shared memory segment of the specified size in MB.

If this entry is missing, the TimesTen Server creates a shared memory segment of 64MB.

An appropriate value for the shared memory segment depends on:

  • The expected number of concurrent client/server connections to all databases that belong to an instance of the TimesTen Server.

  • The number of concurrent allocated statements within each such connection.

  • The amount of data being transmitted for a query.

Some guidelines for determining the size of the shared memory segment include:

  • The maximum size allowed is 1 gigabyte.

  • TimesTen needs 1 MB of memory for internal use.

  • Each connection needs a fixed block of 16 KB.

  • Each statement starts with a block of 16 KB for the IPC. But this size is increased or decreased depending upon the size of the data being transmitted for a query. TimesTen increments the statement buffer size by doubling it and decreases it by halving it.

For example, if the user application anticipates a max of 100 simultaneous shared-memory-enabled client/server connections, and if each connection is anticipated to have a maximum of 50 statements, and the largest query returns 128 KB of data, use this formula to configure the serverShmSize:

serverShmSize = 1 MB + (100 * 16) KB + (100 * 50 * 128) KB
              = 1 MB + 2 MB + 625 MB = 628 MB

This is the most memory required for this example. The entire memory segment would be used only if all 100 connections have 50 statements each and each statement has a query that returns 128 KB of data in a row of the result.

In this example, if you configured the serverShmSize to 128 MB, either a new shared-memory-enabled client/server connection is refused by the TimesTen Server or a query may fail due to lack of resources within the shared memory segment.

Changing the size of the shared memory segment

Once configured, to change the value of the shared memory segment you must stop the TimesTen Server. Stopping the server detaches all existing client/server connections to any database that is associated with that instance of the TimesTen Server. The steps for modifying the value of the -serverShmSize option are:

  1. Modify the value of -serverShmSize in the ttendaemon.options file.

  2. Use the ttDaemonAdmin utility to restart the TimesTen Server. Only the instance administrator can restart the TimesTen Server.

Controlling the TimesTen Server log messages

The -noserverlog entry in a separate line in the ttendaemon.options file tells the TimesTen daemon to turn off logging of connects and disconnects from the client applications.

If the TimesTen Server is installed, you can enable or disable logging of connect and disconnect messages by:

  • To enable logging, add a comment symbol '#' before the -noserverlog entry.

  • To disable logging, remove the comment symbol '#' before the -noserverlog entry.

PK_j1ý£ó£PK\8–AOEBPS/index.htm€ÿ Index

Index

A  B  C  D  E  F  G  H  I  J  L  M  N  O  P  Q  R  S  T  U  V  W  X 

A

accent-insensitive linguistic sort, 5.5.3
access control, 4
authorizing, 4.2.1
overview, 4.2
acknowledging updates, 9.8.2
active standby pair
aging, 7.2.3.5
ADMIN privilege, 4.2.1.1, 4.2.2
administrator
privileges, 4.2.1.1
aging
active standby pair, 7.2.3.5
attributes, 7.2.3.1
foreign keys, 7.2.3.3
LRU, 7.2.3.1
ON DELETE CASCADE, 7.2.3.3
parent and child tables, 7.2.3.3
performance, 7.2.3.2
replication, 7.2.3.5
restrictions, 7.2.3
tables, 7.2.3
time-based, 7.2.3, 7.2.3.2
usage-based, 7.2.3.1
aging, see also LRU aging
ALL keyword, 4.2.3.1
system privileges, 4.2.2.2
ALL_TAB_PRIVS view, 4.2.6
ALL_USERS view, 4.1.2
allfunctions command
ttIsql utility, 6.9
-allowNetworkFiles option
ttendaemon.options file, 3.4.4
allpackages command
ttIsql utility, 6.9
allprocedures command
ttIsql utility, 6.9
ALTER ANY CACHE GROUP privilege, 4.2.5.2
ALTER ANY privilege, 4.2.2.5.1, 4.2.3.7
ALTER SESSION SQL statement, 5.7
ALTER TABLE
adding and removing columns, 7.2.1.1
performance, 9.3.6
REFERENCES privilege, 4.2.3.6
ANY system privileges, 4.2.2.5
application
failure
use of logs and locks, 8.2
linking
direct, 1.1
linking with driver manager, 1.1
shut down, 3.3
asynchronous checkpoints
See fuzzy checkpoints
attributes
connection, 2.2.5
database name, 1.6.3
PermWarnThreshold, 1.10.4
setting for UNIX, 1.3.2.1
specifying, 1.3.1.3
TempWarnThreshold, 1.10.4
viewing and changing by ttIsql, 6.10
AUTO_ACKNOWLEDGE mode, 9.8.2
autocommit
performance impact, 9.5.4
autocommit command
ttIsql utility, 6.11
automatic client failover, 2.2.6

B

batch mode
ttIsql, 6.1
bitmap index, 9.3.2
when used, 7.5.1
byte semantics, 5.3, 5.3

C

cache group
altering, 4.2.5.2
creation, 4.2.5.2
dropping, 4.2.5.2
granting privileges, 4.2.5
privileges, 4.2.1.2, 4.2.5.3
required privileges for AWT, 4.2.5.1
time-based aging, 7.2.3.2
CACHE_MANAGER privilege, 4.2.5.1
cachegroups command
ttIsql utility, 6.8, 6.8.2
case-insensitive linguistic sort, 5.5.3
character semantics, 5.3, 5.3
character set
application, 5.2.2, 5.2.2
application data, 5.4
choosing, 5.2
connection, 5.4
conversion, 5.2.3, 5.4
encoding, 5.2.1
globalization, 5
languages, 5.2.1
length semantics, 5.3
multibyte, 5.2.1, 5.3
operating system, 5.2.2
performance, 5.2.3, 5.4
replication, 5.2.4
selecting, 5.2
single-byte, 5.2.1, 5.3
TIMESTEN8, 5.7.1
working with in ttIsql, 6.7
checkpoints
automatic, 7.1.3
fuzzy
influences on duration, 8.7
performance, 9.5.3
static
CkptFrequency connection attribute, 8.5.2.1
CkptLogVolume connection attribute, 8.5.2.1
client
configuring automatic failover on UNIX, 2.2.6.2.2
configuring automatic failover on Windows, 2.2.6.2
connection attributes
described, 2.2.3, 2.2.5
creating DSN
on UNIX, 2.2.5.2
on Windows, 2.2.5.1.1
performance, 9.2.2
Client DSN
creating, 2.2.5.2
creating on UNIX, 2.2.5.2
creating on Windows, 2.2.5.1.1
Data Source Setup dialog, 2.2.5.1.1
name, 2.2.5.1.1, 2.2.5.1.1
client failover
automatic client failover, 2.2.6
CLIENT_ACKNOWLEDGE mode, 9.8.3
Client/Server
changing shared memory segment size, 3.5.5.2
communication
overview, 2.1.2
configuring, 2.2
connections across bit-levels, 2.2.2.2
connections across releases, 2.2.2.2
managing shared memory segment size, 3.5.5.1
performance, 9.2.1
shared memory, 3.5.5.2
TCP/IP communication, 2.1.2.1, 2.1.2.1
UNIX socket communication, 2.1.2.3, 2.1.2.3
Client/Server communication
shared memory, 3.5.5
TCP/IP, 3.5.5
close command
ttIsql utility, 6.12
cmdcache command
ttIsql utility, 6.18.2.1
coexistence of different locking levels
columns
adding, 7.2.1.1
default values, 7.2.1.3
in-line, 7.2.1.2
nullability, 7.2.1.1
command
history
ttIsql, 6.6
invalidated, 10.1
command history
ttIsql
clearing, 6.6.1
saving, 6.6.1
commit behavior
Oracle, 8.1.1.2
TimesTen, 8.1.1.2
commit command
ttIsql utility, 6.11
commitdurable command
ttIsql utility, 6.11
compression
table, 9.3.10
concurrency
locking, 8.6, 9.2.4.1
types of isolation, 8.6
configuring
Client/Server, 2.2
connect
using connection string, 1.8
connect command
ttIsql utility, 6.19.2
connection
locking, 9.2.4
locks, 9.2.3
performance overhead, 9.1.6
testing on Windows, 2.2.5.1.4
timeout interval, 9.2.3
Connection
setAutoCommit method, 8.1.1.1, 8.1.1.1
connection attribute
connection, 2.2.3
LockLevel, 9.2.4
LogFlushMethod, 9.5.2
PermSize, 1.10, 1.10
PLSCOPE_SETTINGS, 1.6.2
PLSQL_MEMORY_ADDRESS, 1.6.2
PLSQL_MEMORY_SIZE, 1.6.2
PLSQL_OPTIMIZE_LEVEL, 1.6.2
TempSize, 1.10, 1.10
UID, 7.1.2
UNIX, 1.3.2.1
connection character set, 2.2.5.1.1, 5.4
connection string
using to connect, 1.8
ConnectionCharacterSet connection attribute, 5.4
Connection.prepareStatement method, 10.3.1
execution plan generation, 10.4.2
Connection.prepareStatement methods, 10.3.1
Connection.setAutoCommit methods, 8.1.1.1, 8.1.1.1
contention
lock, 9.1.8
CREATE ANY CACHE GROUP privilege, 4.2.5.2
CREATE ANY privilege, 4.2.2.5.1
CREATE ANY SYNONYM statement, 4.2.3.8
CREATE ANY TABLE privilege, 4.2.5.2
CREATE CACHE GROUP privilege, 4.2.5.2
CREATE INDEX statement, 7.5.2
CREATE OR REPLACE SYNONYM statement, 4.2.3.8, 7.7.1
CREATE privilege, 4.2.2.5.1
CREATE PUBLIC SYNONYM statement, 4.2.3.8
CREATE SESSION privilege, 4.2.2.3, 4.2.2.3
CREATE SYNONYM statement, 4.2.3.8, 7.7.1
CREATE TABLE privilege, 4.2.5.2
createandloadfromoraquery command, 6.17
createAndLoadFromOraQuery command, 6.17.1
creating, 7.5.2
Custom setup, Windows, 1.1.1

D

daemon
control operations, 3.4.3
informational messages on Windows
listener, 3.4.1
IPv4 protocol, 3.4.1.1
listening address, 3.4.1, 3.4.1
modifying options, 3.5.1
options, 3.4
options, see ttendaemon.options file
overview, 3
starting
UNIX, 3.2, 3.2
Windows, 3.1, 3.1
stopping
UNIX, 3.2, 3.2
Windows, 3.1, 3.1
data
permanent, 1.10
temporary, 1.10
Data Manager
starting, 3.1
starting service, 3.1
stopping, 3.1
stopping service, 3.1
Data Manager service, 3.1
data source names, See DSN
database
accessing on a local machine, 2.1.2.3
accessing on a remote machine, 2.1.2.1
changing size of, 1.10
character set, see character set
components, 7.1.1, 7.1.1
connecting, 4.2.2.3, 4.2.2.3
contention, 9.1.8
definition, 1
defragment, 1.13
getting information with ttIsql, 6.8
loading to memory, 1.9
lock contention, 9.1.8
owner, 7.1.2
path names, environment variables in, 1.3.2.2
permanent, 7.1.3
prefix name, 1.3.2.1
setting attributes for UNIX, 1.3.2.1
sizing, 9.1.2
specification, 1.7.2
specifying size, 9.1.2
TCP/IP Client/Server access, 2.1.2.1
temporary, 1.6.1, 7.1.3, 9.1.5
performance, 9.1.5
UID connection attribute, 7.1.2
UNIX configuration files, 1.7.3
UNIX socket Client/Server access, 2.1.2.3
user names, 7.1.2
users, 7.1.2
DatabaseCharacterSet attribute, 5.2
database-level locks, 8.6.2, 8.6.2, 8.6.2
DBA_SYS_PRIVS view, 4.2.2, 4.2.2.1, 4.2.6
DBA_TAB_PRIVS view, 4.2.2.1, 4.2.6
DBA_USERS view, 4.1.2
DDLCommitBehavior connection attribute, 8.1.1.2
default column values, 7.2.1.3
defragment
TimesTen database, 1.13
DELETE ANY privilege, 4.2.2.5
DELETE privilege, 4.2.3.2
deleting
rows, 7.6.2
Windows server name, 2.2.4.1
describe command
ttIsql utility, 6.8, 6.8.1, 6.12
detail table, 7.4.1
diagnostics
SNMP traps, 1.10.4
driver
JDBC, 1.3.1.1
DRIVER attribute, 1.3.2.1
driver manager
JDBC, 1.1.2
linking with, 1.1
ODBC, 1.1
DriverManager.getConnection method, 2.2.5, 2.2.5
drop
materialized view, 7.4.2.2
materialized view log, 7.4.2.2
DROP ANY CACHE GROUP privilege, 4.2.5.2
DROP ANY privilege, 4.2.2.5.1
DROP ANY SYNONYM statement, 4.2.3.8
DROP PUBLIC SYNONYM statement, 4.2.3.8
DROP SYNONYM statement, 7.7.2
dropping
indexes, 7.5.4
tables, example, 7.2.2.2
DSN, 4.2.2.3
client, 2.2.5.1.1
Client, 1.2.2, 1.2.2, 2.2.5
connection attributes, Data Manager, 1.2.3
Data Manager, 1.2.2
example, 1.6
example, Windows
finding in order of precedence, 1.5
maximum length, 1.2
naming rules, 1.2
number of server processes, 3.5.4.2
.odbc.ini file, 1.2.1
setting attributes, 1.6.3
system, 1.2.1
user, 1.2.1
dssize command
ttIsql utility, 6.8, 6.8.3
DUPS_OK_ACKNOWLEDGE mode, 9.8.2
durability
overview, 8.4
durable commit
performance, 9.5.2
transaction, 9.5.1

E

editline for ttIsql, 6.5
-enableIPv6 option
ttendaemon.options file, 3.4.1.1
encoding
character set, 5.2.1
environment variables
in database path names, 1.3.2.2
TTISQL, 6.2
examples
creating indexes, 7.5.2
creating tables, 7.2.2.1
drop materialized view, 7.4.2.2
drop materialized view log, 7.4.2.2
dropping tables, 7.2.2.2
PLAN rows, 10.3.1.2
exec command
ttIsql utility, 6.12
execandfetch command
ttIsql utility, 6.12
EXECUTE ANY privilege, 4.2.2.5
EXECUTE privilege, 4.2.3.7
execution plan
generating, 10.1, 10.4.2
SQLPrepare, 10.4.2
generation, 10.4.2
Connection.prepareStatement, 10.4.2
modifying, 10.4.1, 10.4.2, 10.4.3
explain command
ttIsql utility, 6.18.2.2
explain plan
display, 6.18.2.2

F

-facility option
ttendaemon.options file, 3.4.2
failover, 2.2.6
configuring for client on UNIX, 2.2.6.2.2
configuring for client on Windows, 2.2.6.2
fetchall command
ttIsql utility, 6.12
fetchone command
ttIsql utility, 6.12
files
odbc.ini, 1.2.1, 1.7.3
.ttconnect.ini, 2.2.4.3
ttendaemon.options, 3.4, 3.4.3, 3.5.5
first connection attribute, 4.2.2.3
PLSQL_MEMORY_SIZE, 9.1.3
FLUSH ANY CACHE GROUP privilege, 4.2.5.2
FLUSH privilege, 4.2.5.3
foreign key
constraint
performance, 9.3.4
REFERENCES privilege, 4.2.3.6
fragmentation
block-level, 1.10.3
free command
ttIsql utility, 6.12
functions
object privileges, 4.2.3.7
functions command
ttIsql utility, 6.9
fuzzy checkpoints, definition

G

getConnection method, 2.2.5
globalization, 5
character set, 5
GRANT ALL command, 4.2.2.2, 4.2.3.1
GRANT command, 4.2.2, 4.2.3

H

hash index, 9.3.2
definition, 7.5.1
overview, 7.5.1
sizing, 9.3.3
when used, 7.5.1
hints
transaction level, 10.4.3.1
history command, 6.6
host binds
using ttIsql, 6.12

I

IF command, 6.16
index, 7.5.2
aging performance, 7.2.3.2
automatic creation, 7.2.1.5, 7.2.1.5
creating, 7.2.1.5, 7.5.2
example, 7.5.2
dropping, 7.5.4, 7.5.4
estimating size, 7.5.5
explicit creation, 7.2.1.5
overview, 7.5
owner, 7.5.2
performance, 9.3.1
recommendations, 7.5.6
referencing, 7.5.4
See also range index
See also bitmap index
See also hash indexes
unique, 7.5, 7.5
Index Advisor
capture data, 7.5.6.2
data collection information, 7.5.6.3
drop data collected, 7.5.6.4
evaluate results, 7.5.6.4
example, 7.5.6.5
overview, 7.5.6
retrieve index recommendations, 7.5.6.3
INDEX privilege, 4.2.3.2, 4.2.3.5
index size
estimating, 7.5.5
ttSize utility, 7.5.5
informational messages
modifying, 3.4.2
in-line columns, 7.2.1.2
INSERT ANY privilege, 4.2.2.5
INSERT privilege, 4.2.3.2
inserting rows, 7.6.1
interactive mode
ttIsql, 6.1
I/O
performance, 9.5.1
IPC
Client/Server communication, 3.5.5
isolation command
ttIsql utility, 6.11
isolation level
performance, 9.2.4.2
isolation modes
described, 8.6
performance, 9.2.4.2
Serializable, 8.6.1
IXNAME column in PLAN table, 10.3.1.3.5

J

JDBC
driver, 1.1.2
driver manager, 1.1.2
JDBC driver, 1.1.2
JDBC tracing, 9.1.12
join
columns, view performance, 9.4.2
rows, view performance, 9.4.1

L

large page support
Linux, 3.4.5
least recently used aging, See also LRU
length semantics, 5.3
LEVEL column in PLAN table, 10.3.1.3.2
linguistic index, 5.5.5
linguistic sort
accent-insensitive, 5.5.3
case-insensitive, 5.5.3
monolingual, 5.5.1
multilingual, 5.5.2
Linux
large page support, 3.4.5
-linuxLargePageAlignment option
ttendaemon.options file, 3.4.5
-listenaddr entry
ttendaemon.options file, 3.4.1
-listenaddr option
ttendaemon.options file, 3.4.1
-listenaddr6 option
ttendaemon.options file, 3.4.1.1
LOAD ANY CACHE GROUP privilege, 4.2.5.2
LOAD privilege, 4.2.5.3
LockLevel connection attribute, 9.2.4
locks
coexistence of different levels
concurrency, 9.2.4.1
database-level, 8.6.2, 9.2.4.1
overview table, 8.2
performance, 9.2.4
reduce contention, 9.1.8
row-level, 8.6.2, 9.2.4.1
See also ttLockLevel
set wait time, 8.6.2.1
table-level, 8.6.2, 9.2.4.1
timeout interval and performance, 9.2.3
LockWait attribute, 8.6.2.1
log files
accumulation, 8.5.2, 8.5.2.3
CkptFrequency attribute, 8.5.2.1
CkptLogVolume attribute, 8.5.2.1
hold, 8.5.2.2
monitoring, 8.5.2, 8.5.2.3
purging, 8.5.2.1
sequence number, 8.5.2.3
ttCkpt built-in function, 8.5.2.1
LogFlushMethod connection attribute, 9.5.2
logging
managing, 3.5.6
overview table, 8.2
temporary database, 7.1.3
logical server
Network Address, 2.1.2.3, 2.2.4.1, 2.2.4.2
logical server name
creating on UNIX, 2.2.4.2
LRU aging, 7.2.3, 7.2.3.1, 7.2.3.1
attributes, 7.2.3.1

M

maintenance options
performance impact, 9.1.10
materialized view
asynchronous
create, 7.4.2.1.2
overview, 7.4.1.2
create, 7.4.2.1
detail table, 7.4.1
drop, 7.4.2.2, 7.4.2.2
invalidated, 4.2.3.5.1
performance, 7.4.2.4.2
privileges, 4.2.3.5
restrictions, 7.4.2.3
SELECT queries in, 7.4.2.1.3
synchronous
create, 7.4.2.1.1
overview, 7.4.1.1
understanding, 7.4
materialized view log
drop, 7.4.2.2, 7.4.2.2
-maxConnsPerServer option
ttendaemon.options file, 3.5.4
maximum name length, 7.2.1.4
-maxsubs option
ttendaemon.options file, 3.4.3
-maxsupportlogfiles option
ttendaemon.options file, 3.4.2
-maxsupportlogsize option
ttendaemon.options file, 3.4.2
-maxuserlogfiles option
ttendaemon.options file, 3.4.2
-maxuserlogsize option
ttendaemon.options file, 3.4.2
memory
loading a database into, 1.9
partitions, 1.10
permanent, 1.10
policy for loading a database, 1.9
temporary, 1.10
messages
informational, 2.3.1, 3.4.2
server log, 2.3.1
turn off, 3.4.2
metadata, TimesTen, 7.2.1.7
-minsubs option
ttendaemon.options file, 3.4.3
modifying execution plan
overview, 10.4
monitor command
ttIsql utility, 6.8, 6.8.5

N

names
log files, 8.5.1
maximum, 7.2.1.4
nested subqueries
performance, 9.3.7
Network Address for logical server
ttLocalHost, 2.1.2.3
ttShmHost, 2.1.2.2
UNIX, 2.2.4.2
Windows, 2.2.4.1
NFS mounted systems
restriction, 3.4.4
NLS_LENGTH_SEMANTICS connection attribute, 5.3
NLS_LENGTH_SEMANTICS general connection attribute, 5.3
NLS_SORT connection attribute, 5.5.4
NLSSORT SQL function, 5.5.4
non-durable commit, 9.5.2
non-durable commits
advantages and disadvantages, 9.5.2
-noserverlog option
ttendaemon.options file, 3.5.6
not inline columns, 7.2.1.2
NULL values, sorting, 7.5
nullable columns
definition, 7.2
primary key not nullable, 7.2.1.6

O

object privileges
ALL keyword, 4.2.3.1
functions, 4.2.3.7
granting, 4.2.1.2, 4.2.3
materialized views, 4.2.3.5
object
cache group, 4.2.5.3
overview, 4.2.1.2
packages, 4.2.3.7
procedures, 4.2.3.7
revoking, 4.2.3
sequences, 4.2.3.4
tables, 4.2.3.2
view user grants, 4.2.6
views, 4.2.3.3
ODBC
cancel function, 6.19.1
JDBC driver, 1.1.2
timing function calls, 6.19.2
tracing and performance, 9.1.12
UNIX driver, 1.3.2.1
odbc.ini file, 1.2.1, 1.2.1, 1.7.3
entry example, 1.7.3
format, 1.7.3
format of, 1.7.3
online help, 6.4
operating system
paging, 9.1.9
OPERATION column in PLAN table, 10.3.1.3.3
optimizer
application hints, 10.1
computing statistics, 7.4.2.4.1
example scenario, 10.1, 10.1
generating plan, 10.3.1.1
hints
ttOptSetFlag procedure, 9.2.4
invalid statistics, 10.1
modifying execution plan, 10.4
PLAN row example, 10.3.1.2
query plan, 10.3.1
reading plan, 10.3.1.2
specifying hints, 10.4.3
optprofile command
ttIsql utility, 6.18.1
OTHERPRED column in PLAN table, 10.3.1.3.7
OUT parameters, 6.15
outer join
materialized view performance, 9.4.4
out-of-memory warnings, 1.10.4
owners
of indexes, 7.5.2

P

packages
object privileges, 4.2.3.7
packages command
ttIsql utility, 6.9
parameterized SQL statements, 6.12
performance
ALTER TABLE, 9.3.6
altered tables, 9.3.6
application tuning
autocommit mode, 9.5.4
checkpoints, 9.5.3
connection overhead, 9.1.6
durable commits, 9.5.2
maintenance options, 9.1.10
ODBC tracing, 9.1.12
transaction rollback, 9.5.5
transaction size, 9.5.1
autocommit, 8.1.1.1, 8.1.1.1
automatic index creation, 7.2.1.5
character set, 5.2.3
conversion, 5.4
checkpoints, 9.5.3
Client, 9.2.2
Client/Server statistics, 9.2.1
database tuning
driver usage, 9.1.11
specifying size, 9.1.2
temporary database performance, 9.1.5
foreign key constraint, 9.3.4
index, 9.3.1
isolation modes, 9.2.4.2
join columns in materialized views, 9.4.2
join rows in materialized views, 9.4.1
lock timeout interval, 9.2.3
materialized views, 9.4.4
nested subqueries, 9.3.7
replication throughput, 9.1.15
SQL tuning
indexes, 9.3.1
prepare operations, 9.3.9
temporary database, 9.1.5
temporary databases, 9.1.4
tuning, 9
using privileges, 4.2.3.2
working locally, 9.2.2
permanent data partition, 1.10.1
permanent database, 7.1.3
automatic checkpointing, 7.1.3
PermSize attribute, 1.10, 1.10
monitoring, 1.10.3
specifying, 9.1.2
PermWarnThreshold attribute, 1.10.4
phantoms, 9.2.4.2
plan
See execution plan, 10.3.1.3
PLAN rows, 10.3.1.2
PLAN table
columns, 10.3.1.3
IXNAME column, 10.3.1.3.5
LEVEL column, 10.3.1.3.2
OPERATION column, 10.3.1.3.3
OTHERPRED column, 10.3.1.3.7
PRED column, 10.3.1.3.6
STEP column, 10.3.1.3.1
TBLNAME column, 10.3.1.3.4
PLSCOPE_SETTINGS connection attribute, 1.6.2
PL/SQL
creating and executing blocks, 6.14
host variables
using ttIsql, 6.12
objects
using ttIsql to list, 6.9
shared memory sizing, 9.1.3
PLSQL_MEMORY_ADDRESS connection attribute, 1.6.2
PLSQL_MEMORY_SIZE connection attribute, 1.6.2, 9.1.3
PLSQL_OPTIMIZE_LEVEL connection attribute, 1.6.2
PRED column in PLAN table, 10.3.1.3.6
limit on length, 10.3.1.3.6
prefetch multiple update records, 9.8.2
prepare command
ttIsql utility, 6.12
prepared SQL statements, 6.12
PreparedStatement objects, 10.4.2, 10.4.2
preparing statements, 10.3.1, 10.3.1
primary keys, 7.2.1.6
nullability, 7.2.1.6
See Also unique indexes
privileges
ADMIN, 4.2.1.1, 4.2.2
administrator, 4.2.1.1
ALL keyword, 4.2.3.1
ALL keyword system privileges, 4.2.2.2
ALTER ANY, 4.2.2.5.1, 4.2.3.7
ANY, 4.2.2.5
authorizing, 4.2.1
cache group, 4.2.1.2, 4.2.5, 4.2.5.3
CACHE_MANAGER, 4.2.5.1
CREATE ANY, 4.2.2.5.1
CREATE SESSION, 4.2.2.3
CREATE system, 4.2.2.5.1
definition, 4.2.1
DELETE, 4.2.3.2
DELETE ANY, 4.2.2.5
DROP ANY, 4.2.2.5.1
EXECUTE, 4.2.3.7
EXECUTE ANY, 4.2.2.5
first connection attributes, 4.2.2.3
grant system, 4.2.2
granting rights, 4.2.1
granting system privileges, 4.2.1.1
hierarchy rules, 4.2.1.4
INDEX, 4.2.3.2
INSERT ANY, 4.2.2.5
levels, 4.2.1
object, 4.2.1.2, 4.2.3.3
cache group, 4.2.5.3
functions, 4.2.3.7
granting, 4.2.1.2, 4.2.3
materialized view, 4.2.3.5
packages, 4.2.3.7
procedures, 4.2.3.7
revoking, 4.2.3
sequences, 4.2.3.4
tables, 4.2.3.2
overview, 4.2
parent-child table rules, 4.2.8
performance, 4.2.3.2
REFERENCES, 4.2.3.2
replication, 4.2.1.2
revoke system, 4.2.2
revoking ALL, 4.2.2.2
role, 4.2.1.3
SELECT, 4.2.3.2, 4.2.3.3, 4.2.3.4, 4.2.3.5
SELECT ANY, 4.2.2.5
system
overview, 4.2.1.1
UPDATE, 4.2.3.2
UPDATE ANY, 4.2.2.5
view user grants, 4.2.6
XLA, 4.2.2.4
procedures
object privileges, 4.2.3.7
procedures command
ttIsql utility, 6.9
PUBLIC role, 4.2.1.3
role
PUBLIC, 4.2.1.3

Q

query
plan, 10.3.1
query optimizer
plans, 10.1
viewing with ttIsql, 6.18.1
See optimizer
query plan
display, 6.18.2.2

R

RAM policy
defined, 1.9
setting, 1.9
range index, 9.3.2
overview, 7.5.1
RecoveryThreads attribute, 9.1.15
REF CURSOR
using ttIsql, 6.12
REFERENCES privilege, 4.2.3.2, 4.2.3.5, 4.2.3.6
referencing indexes, 7.5.4
REFRESH ANY CACHE GROUP privilege, 4.2.5.2
REFRESH privilege, 4.2.5.3
remote database
accessing on UNIX, 2.2.4.2, 2.2.5.2, 2.4, 2.4.1
accessing on Windows, 2.2.5.1.3
removing
columns, 7.2.1.1
rows, 7.2.1.1
replication
aging, 7.2.3.5
character sets, 5.2.4
privileges, 4.2.1.2
temporary data partition, 1.10.1
TimesTen daemon, 3
TTREP system tables, 7.2.1.4
replication performance, 9.1.15
.res files, 8.7.2
restrictions on table names, 7.2.1.4
REVOKE ALL command, 4.2.2.2, 4.2.3.1
REVOKE command, 4.2.2, 4.2.3
role
PUBLIC, 4.2.1.3
rollback
logs and locks, 8.2
performance impact, 9.5.5
rollback command
ttIsql utility, 6.11
row-level locks, 8.6.2
rows
adding, 7.2.1.1
deleting, 7.6.2
in-line and out-of-line portions, 7.2.1.2
inserting, 7.6.1
understanding, 7.6

S

schema
definition, Glossary
SELECT ANY privilege, 4.2.2.5
SELECT privilege, 4.2.3.2, 4.2.3.3, 4.2.3.4, 4.2.3.5, 4.2.3.5
semantics
byte, 5.3
character, 5.3
length considerations, 5.3
sequences
object privileges, 4.2.3.4
Serializable isolation mode, 8.6.1
serializable transaction
performance, 9.2.6
Server
controlling, 3.5.2
creating a DSN, 2.2.3, 2.2.3
creating logical name, 2.2.4.1
on UNIX, 2.2.4.2
described, 2.3
modifying options, 3.5.1
name, 2.2.4.1, 2.2.5.1.1
creating on Windows, 2.2.4.1
number of processes, 3.5.4.2
port number, 3.5.2
prespawning processes, 3.5.3
Server List dialog, 2.2.4.1
Server Name Setup dialog, 2.2.4.1
specifying number of connections, 3.5.4
starting, 2.3, 3.5.2
stopping, 2.3
thread stack size, 3.5.4.3
Server daemon
modifying options, 3.5.1
Server log messages
controlling, 3.5.6
-server option
ttendaemon.options file, 3.5.2
-serverpool option
ttendaemon.options file, 3.5.3
-serverShmIpc option
ttendaemon.options file, 3.5.5
-serverShmSize option
ttendaemon.options file, 3.5.5.2
-serversPerDSN option
ttendaemon.options file, 3.5.4.2
-serverStackSize option
ttendaemon.options file, 3.5.4.3
service
See daemon
setjoinorder command
ttIsql utility, 6.18.1
setting the timeout interval on Windows, 2.2.5.1.2
setuseindex command
ttIsql utility, 6.18.1
shared memory
changing size, 3.5.5.2
Client/Server IPC, 3.5.5
Client/Server, managing size, 3.5.5.1
IPC-enabled server, 3.5.5
sizing, 9.1.3
shared memory segment
managing size, 3.5.5.1
size, 3.5.5.2
-showdate option
ttendaemon.options file, 3.4.2
showplan command, 6.12, 6.18.1
ttIsql utility, 6.18.1
size
database, 1.10
sizing
hash indexes, 9.3.3
transactions, 9.5.1
SNMP traps
described, 1.10.4
sorting NULL values, 7.5
SQL
parameterized statements, 6.12
prepared statements, 6.12
query plan, 10.3.1
tuning and performance, 9.3
SQL command cache
invalidated, 10.1
SQL Command Cache
viewing commands, 6.18.2.1
SQLPrepare, 10.3.1
execution plan generation, 10.4.2
performance impact, 9.3.9
sqlquerytimeout command
ttIsql utility, 6.11
static checkpoints, definition
statistics
computing, 9.3.5
recomputation, 10.1, 10.1
ttOptEstimateStats, 7.4.2.4.1, 9.3.5
ttOptUpdateStats, 7.4.2.4.1, 9.3.5
update, 7.5.6.1
STEP column in PLAN table, 10.3.1.3.1
subdaemons
definition, 3.4.3
minimum required, 3.4.3
setting allowable number, 3.4.3
specifying allowable range, 3.4.3
subqueries
nested
performance, 9.3.7
-supportlog option
ttendaemon.options file, 3.4.2
synchronous checkpoints
See static checkpoints
synonym
create, 7.7, 7.7.1
definition, 7.7
drop, 7.7.2
invalidation, 7.7.3
private, 7.7
public, 7.7
recompiled, 7.7.3
required privileges, 4.2.3.8
viewing, 7.7
SYS owner of tables, 7.2.1.4
syslog
specify facility, 3.4.2
SYS.MONITOR table, 1.10.3, 8.5.2.3, 9.5.2, 9.8.1
System DSN, 1.3.1.1, 2.2.4.1, 2.2.5.1.4
system failure
resulting logs and locks, 8.2
system privileges
ANY, 4.2.2.5
cache group, 4.2.5
CREATE, 4.2.2.5.1
default privileges, 4.2.2.1
granting, 4.2.1.1, 4.2.2
granting ALL, 4.2.2.2
overview, 4.2.1.1
revoking, 4.2.2
view user grants, 4.2.6
system tables
access, 4.2.2.1
indexes on, 7.5.2
overview, 7.2.1.7

T

table
calculating size, 6.8.4
compression, 9.3.10
computing statistics, 7.4.2.4.1
creating, example, 7.2.2.1
creating, examples, 7.2.2.1
deleting rows, 7.6.2
dropping, example, 7.2.2.2, 7.4.2.2
estimating size, 7.2.2.3
format, 7.2
in-line vs. not inline columns, 7.2.1.2
inserting rows, 7.6.1
load Oracle data, 6.17
modifying format, 7.2.1.1
name length, 7.2.1.4
names, 7.2.1.4
names, restrictions, 7.2.1.4
nullable columns, 7.2
object privileges, 4.2.3.2
owners, 7.2.1.4
performance, 9.3.6
size
estimating, 7.2.2.3
ttSize utility, 7.2.2.3
SYS owner, 7.2.1.4
system, 4.2.2.1
understanding rows, 7.6
unique indexes
table-level locks, 8.6.2
tablesize command, 6.8
ttIsql utility, 6.8.4
TBLNAME column in PLAN table, 10.3.1.3.4
TCP/IP
Client/Server
communication, 2.1.2.1
Temporary attribute
performance, 9.1.4, 9.1.5
temporary data partition
replication, 1.10.1
temporary database, 7.1.3
logging, 7.1.3
TempSize attribute, 1.10, 1.10
monitoring, 1.10.3
specifying, 9.1.2
testing connections on Windows, 2.2.5.1.4
thread programming, 1.12
time-based aging, 7.2.3.2
timeout interval
setting on Windows, 2.2.5.1.2
TimesTen
ODBC driver, 1.1.1
TimesTen daemon
options, 3.4
TIMESTEN8 character set, 5.7.1
timestend, 3
timing command
ttIsql utility, 6.19.2
transaction
commit
logs and locks, 8.2
durable commit, 9.5.1
locking, 9.2.4
log files, 8.5.2.1
accumulation, 8.5.2, 8.5.2.3
CkptFrequency attribute, 8.5.2.1
CkptLogVolume attribute, 8.5.2.1
holds, 8.5.2.2
how to control, 8.5.1
monitor, 8.5.2
monitoring, 8.5.2.3
names, 8.5.1
purging, 8.5.2.1
sequence number, 8.5.2.3
logging, 8.5.1
management
isolation levels, 8
locking, 8.2
logging, 8.2
semantics, 8.2
performance, 8.4.3, 9.5.1, 9.5.2
rollback
logs and locks, 8.2
performance impact, 9.5.5
ttXactAdmin utility, 8.5.2.2
serializable
performance, 9.2.6
sizing, 9.5.1
ttIsql utility, 6.11
XLA, 9.8.1
tryhash command
ttIsql utility, 6.18.1
trymergejoin command
ttIsql utility, 6.18.1
trynestedloopjoin command
ttIsql utility, 6.18.1
tryrange command
ttIsql utility, 6.18.1
tryrowid command
ttIsql utility, 6.18.1
tryserial command
ttIsql utility, 6.18.1
trytbllocks command
ttIsql utility, 6.18.1
trytmphash command
ttIsql utility, 6.18.1
trytmprange command
ttIsql utility, 6.18.1
trytmptable command
ttIsql utility, 6.18.1
TT_PREFETCH_CLOSE connection option, 9.2.6
ttAgingLRUConfig built-in procedure, 7.2.3.1
ttBlockInfo utility, 1.10.3
ttCkpt built-in function, 8.5.2.1, 8.5.2.1
ttCkptHistory built-in procedure, 8.5.2.3
ttconnect.ini file, 2.2.4.3
ttdaemon.options file
changing, 3.4
ttDurableCommit procedure, 9.5.2
ttendaemon.options file, 3.4, 3.4.2, 3.4.2, 3.4.3, 3.5.5
-allowNetworkFiles option, 3.4.4
-enableIPv6, 3.4.1.1
-facility option, 3.4.2
-linuxLargePageAlignment option, 3.4.5
-listenaddr entry, 3.4.1
-listenaddr option, 3.4.1
-listenaddr6 option, 3.4.1.1
-maxConnsPerServer option, 3.5.4
-maxsubs option, 3.4.3
-maxsupportlogfiles option, 3.4.2
-maxsupportlogsize option, 3.4.2
-maxuserlogfiles option, 3.4.2
-maxuserlogsize option, 3.4.2
-minsubs option, 3.4.3
-noserverlog option, 3.5.6
-server option, 3.5.2
-serverpool option, 3.5.3
-serverShmlpc option, 3.5.5
-serverShmSize option, 3.5.5.2
-serversPerDSN option, 3.5.4.2
-serverStackSize option, 3.5.4.3
-showdate, 3.4.2
specify syslog facility, 3.4.2
-supportlog option, 3.4.2
turn off messages, 3.4.2
-verbose option, 3.4.2
ttIndexAdviceCaptureDrop built-in procedure, 7.5.6.4
ttIndexAdviceCaptureEnd built-in procedure, 7.5.6.2
ttIndexAdviceCaptureInfoGet built-in procedure, 7.5.6.3
ttIndexAdviceCaptureOutput built-in procedure, 7.5.6.3
ttIndexAdviceCaptureStart built-in procedure, 7.5.6.2
ttIsql, 6.4
autocommit command, 6.11
built-in command usage, 6.8, 6.11, 6.12, 6.18.1
cachegroups command, 6.8, 6.8.2
clearing command history, 6.6.1
cmdcache command, 6.18.2.1
command history, 6.6
commit command, 6.11
commitdurable command, 6.11
connect command, 6.19.2
customizing command prompt, 6.3
deleting rows, 7.6.2
describe command, 6.8, 6.8.1
displaying database information, 6.8
dssize command, 6.8, 6.8.3
editline feature, 6.5
error recovery, 6.20
explain command, 6.18.2.2
IF command, 6.16
isolation command, 6.11
modes, interactive and batch, 6.1
monitor command, 6.8, 6.8.5
online help, 6.4
rollback command, 6.11
saving command history, 6.6.1, 6.6.1
showplan command, 6.18.1
sqlquerytimeout command, 6.11
tablesize command, 6.8.4
timing command, 6.19.2
timing ODBC function calls, 6.19.2
using, 6
using OUT parameters, 6.15
variable, 6.13
variables, 6.13.2
view and set connection attributes, 6.10
viewing optimizer plan, 6.18.1
WHENEVER SQLERROR, 6.20
working with character sets, 6.7
working with parameterized SQL statements, 6.12
working with prepared SQL statements, 6.12
working with transactions, 6.11
TTISQL environment variable, 6.2
ttIsql utility
createandloadfromoraquery command, 6.17
createAndLoadFromOraQuery command, 6.17.1
history command, 6.6
ttLoadFromOracle built-in procedure, 6.17, 6.17.2
ttLocalHost
logical server address, 2.1.2.3
ttLogHolds built-in procedure, 8.5.2.3
ttMigrate utility
use in defragmentation, 1.13
ttmodinstall utility, 3.4
ttOptClearStats built-in procedure, 10.4.3.1
ttOptEstimateStats built-in procedure, 7.4.2.4.1, 7.5.6.1, 10.4.3.1
statistics computing, 7.4.2.4.1, 9.3.5
ttOptSetColIntvlStats built-in procedure, 10.4.3.1
ttOptSetFlag built-in procedure, 7.5.6.1, 10.4.3.1
ttOptSetFlag procedure, 9.2.4
ttOptSetOrder built-in procedure, 10.4.3.1
ttOptSetTblStats built-in procedure, 7.5.6.1, 10.4.3.1
ttOptStatsExport built-in procedure, 7.5.6.4
ttOptUpdateStats built-in procedure, 7.5.6.1, 10.4.3.1
ttOptUseIndex built-in procedure, 10.4.3.1
TTREP system tables, 7.2.1.4
ttRepAdmin utility
use in defragmentation, 1.13
ttShmHost, 2.2.4.3.1
logical server address, 2.1.2.2
ttSize utility, 1.10.1
ttSqlCmdCacheInfo built-in procedure, 6.18.2.1
ttSqlCmdQueryPlan built-in procedure, 6.18.2.2
ttStatus utility, 1.10.2
ttTableSchemaFromOraQueryGet built-in procedure, 6.17, 6.17.2
ttWarnOnLowMemory procedure, 1.10.4
ttXactAdmin utility, 8.5.2.2

U

UID connection attribute, 7.1.2
unique index
See also primary key
unique indexes, 7.5
UNIX
configuration file
odbc.ini, 1.7.3
configuration files
.odbc.ini, 1.7.3
setting attributes, 1.3.2.1
stopping daemon, 3.2
UNIX socket
Client/Server communication, 2.1.2.3
UNLOAD ANY CACHE GROUP privilege, 4.2.5.2
UNLOAD privilege, 4.2.5.3
unsetjoinorder command
ttIsql utility, 6.18.1
unsetuseindex command
ttIsql utility, 6.18.1
UPDATE ANY privilege, 4.2.2.5
UPDATE privilege, 4.2.3.2
updates
materialized view performance, 9.4.3
usage-based aging, 7.2.3.1
USER_SYS_PRIVS view, 4.2.2, 4.2.6
USER_TAB_PRIVS view, 4.2.6
USER_USERS view, 4.1.2
-userlog option
ttendaemon.options file, 3.4.2
UTL_RECOMP package, 4.2.2.1

V

variable
declaring, 6.13
variables
automatically created, 6.13.2
-verbose option
ttendaemon.options file, 3.4.2
view
creating, 7.3.1
drop, 7.3.2
object privileges, 4.2.3.3
overview, 7.3
restrictions, 7.3.3
SELECT query, 7.3.1.1
views, 4.2.3.3

W

WHENEVER SQLERROR command, 6.20
Windows
starting, 3.1
stopping, 3.1

X

XLA
performance, 9.8.1
privilege, 4.2.2.4
updates
acknowledging, 9.8.3
PK*ÿ?š/´´PK\8–AOEBPS/perform.htm€ÿ TimesTen Database Performance Tuning

9 TimesTen Database Performance Tuning

An application using the TimesTen Data Manager should obtain an order of magnitude performance improvement in its data access over an application using a traditional DBMS. However, poor application design and tuning can erode the TimesTen advantage. This chapter discusses factors that can affect the performance of a TimesTen application. These factors range from subtle, such as data conversions, to more overt, such as preparing a command at each execution.

This chapter explains the full range of these factors, with a section on each factor indicating:

The following sections describe how to tune and identify performance issues:


Note:

You can also identify performance issues by examining the SYS.MONITOR table.

For information on tuning TimesTen Java applications, see "Java Application Tuning" in the Oracle TimesTen In-Memory Database Java Developer's Guide. For information on tuning TimesTen C applications, see "ODBC Application Tuning" in the Oracle TimesTen In-Memory Database C Developer's Guide.

System and database tuning

The following sections include tips for tuning your system and databases:

Provide enough memory

Performance impact: Large

Configure your system so that the entire database fits in main memory. The use of virtual memory substantially decreases performance. You will know that the database or working set does not fit if a performance monitoring tool shows excessive paging or virtual memory activity.

You may have to add physical memory or configure the system software to allow a large amount of shared memory to be allocated to your process(es). TimesTen includes the ttSize utility to help you estimate the size of your database. For more information, see "ttSize" in the Oracle TimesTen In-Memory Database Reference.

Size your database correctly

Performance impact: Variable

When you create a database, you are required to specify a database size. Specifically, you specify sizes for the permanent and temporary partitions of the database. For details on how to size the database and shared memory, see "Specifying the size of a database".

Calculate shared memory size for PL/SQL runtime

Performance impact: Variable

The PL/SQL runtime system uses an area of shared memory to hold metadata about PL/SQL objects in TimesTen and the executable code for PL/SQL program units that are currently being executed or that have recently been executed. The size of this shared memory area is controlled by the PLSQL_MEMORY_SIZE first connect attribute.


Note:

For more information on PLSQL_MEMORY_SIZE first connect attribute, see "PL/SQL first connection attributes" in the Oracle TimesTen In-Memory Database Reference.

When a new PL/SQL program unit is prepared for execution, it is loaded into shared memory. If shared memory space is not available, the cached recently-executed program units are discarded from memory until sufficient shared memory space is available. If all of the PL/SQL shared memory is being used by currently executing program units, then attempts by a new connection to execute PL/SQL may result in out of space errors, such as ORA-04031. If this happens, increase the PLSQL_MEMORY_SIZE.

Even if such out of space errors do not occur, the PLSQL_MEMORY_SIZE may be too small. It is less expensive in CPU time to execute a PL/SQL procedure that is cached in shared memory than one that is not cached. In a production application, the goal should be for PLSQL_MEMORY_SIZE to be large enough so that frequently-executed PL/SQL units are always cached. The TimesTen built-in procedure ttPLSQLMemoryStats can be used to determine how often this occurs. The PinHitRatio value returned is a real number between 0 and 1.

  • 1.0: A value of 1.0 means that every PL/SQL execution occurred from the cache.

  • 0.0: A value of 0.0 means that every execution required that the program unit be loaded into shared memory.

The proper value of PLSQL_MEMORY_SIZE for a given application depends on the application. If only a small number of PL/SQL program units are repeatedly executed, then the size requirements can be small. If the application uses hundreds of PL/SQL program units, memory requirements increase.

Performance increases dramatically as the PinHitRatio goes up. In one set of experiments, an application program repeatedly executed a large number of PL/SQL stored procedures. With a larger value for PLSQL_MEMORY_SIZE, the application results in a PinHitRatio of around 90%, and the average execution time for a PL/SQL procedure was 0.02 seconds. With a smaller value for PLSQL_MEMORY_SIZE, there was more contention for the cache, resulting in a PinHitRatio of 66%. In this experiment the average execution time was 0.26 seconds.

The default value for PLSQL_MEMORY_SIZE is 32 MBs. This should be sufficient for several hundred PL/SQL program units of reasonable complexity to execute. After running a production workload for some time, check the value of PinHitRatio. If it is less than 0.90, consider increasing PLSQL_MEMORY_SIZE.

Increase LogBufMB if needed

Performance impact: Large

Increasing the value of LogBufMB can have a substantial positive performance impact. If LOG_BUFFER_WAITS is increasing, increase the value of LogBufMB.

The trade-off is that more transactions are buffered in memory and may be lost if the process crashes. If DurableCommits are enabled, increasing the default LogBufMB value does not improve performance.


Note:

For more details, see "LogBufMB" in the Oracle TimesTen In-Memory Database Reference.

Use temporary databases if appropriate

Performance impact: Variable

A TimesTen database may be permanent or temporary. A temporary database disappears when the last connection goes away or when there is a system or application failure. For information on temporary databases, see "Database overview".

If you do not need to save the database to disk, you can save checkpoint overhead by creating a temporary database.

Temporary databases are never fully checkpointed to disk, although the transaction log is periodically written to disk. The amount of data written to the transaction log for temporary databases is less than that written for permanent databases, allowing better performance for temporary databases. Checkpoint operations can have significant overhead for permanent databases, depending on database size and activity, but have very little impact for temporary databases. Checkpoints are still necessary to remove transaction log files.

Avoid connection overhead

Performance impact: Large

By default, TimesTen loads an idle database, which is a database with no connections, into memory when a first connection is made to it. When the final application disconnects from a database, a delay occurs when the database is written to disk. If applications are continually connecting and disconnecting from a database, the database may be loaded to and unloaded from memory continuously, resulting in excessive disk I/O and poor performance. Similarly, if you are using a very large database you may want to pre-load the database into memory before any applications attempt to use it.

To avoid the latency of loading a database into memory, you can change the RAM policy of the database to allow databases to always remain in memory. The trade-off is that since the database is never unloaded from memory, a final disconnect checkpoint never occurs. So, applications should checkpoint the database explicitly in order to reduce the disk space taken up by transaction log files.

Alternatively, you can specify that the database remain in memory for a specified interval of time and accept new connections. If no new connections occur in this interval, TimesTen unloads the database from memory and checkpoints it. You can also specify a setting to enable a system administrator to load and unload the database from memory manually.

To change the RAM policy of a database, use the ttAdmin utility. For more details on the RAM policy and the ttAdmin utility, see "Specifying a RAM policy" and "ttAdmin" in the Oracle TimesTen In-Memory Database Reference.

Load the database into RAM when duplicating

Performance impact: Large

When you duplicate a database, use the -ramLoad option of the ttAdmin utility. This places the database in memory, available for connections, instead of unloading it with a blocking checkpoint. For more information, see "Avoid connection overhead" and "ttAdmin" in the Oracle TimesTen In-Memory Database Reference..

Reduce contention

Database contention can substantially impede application performance.

To reduce contention in your application:

If your application suffers a decrease in performance because of lock contention and a lack of concurrency, reducing contention is an important first step in improving performance.

The LOCK_GRANTS_IMMED, LOCK_GRANTS_WAIT and LOCK_DENIALS_COND columns in the SYS.MONITOR table provide some information on lock contention:

  • LOCK_GRANTS_IMMED counts how often a lock was available and was immediately granted at lock request time.

  • LOCK_GRANTS_WAIT counts how often a lock request was granted after the requestor had to wait for the lock to become available.

  • LOCK_DENIALS_COND counts how often a lock request was not granted because the requestor did not want to wait for the lock to become available.

If limited concurrency results in a lack of throughput, or if response time is an issue, an application can serialize JDBC calls to avoid contention. This can be achieved by having a single thread issue all those calls. Using a single thread requires some queuing and scheduling on the part of the application, which has to trade off some CPU time for a decrease in contention and wait time. The result is higher performance for low-concurrency applications that spend the bulk of their time in the database.

Avoid operating system paging at load time

Performance impact: Medium

All of the TimesTen platform operating systems implement a dynamic file system buffer pool in main memory. If this buffer pool is allowed to be large, TimesTen and the operating system both retain a copy of the file in memory, causing some of the TimesTen shared segment to be paged out.

This behavior may not occur for databases that are less than half of the installed memory size. On some systems, it is possible to limit the amount of main memory used by the file system. On other systems, this effect is less pronounced.

On AIX, you can avoid paging by configuring large pages, which locks the shared segment into memory so it cannot be paged. See "Large pages" in the Oracle TimesTen In-Memory Database Installation Guide for details on how to configure large pages on AIX.

Consider special options for maintenance

Performance impact: Medium

During special operations such as initial loading, you can choose different options than you would use during normal operations. In particular, consider using database-level locking for bulk loading; an example would be using ttBulkCp or ttMigrate. These choices can improve loading performance by a factor of two.

An alternative to database-level locking is to exploit concurrency. Multiple copies of ttBulkCp -i can be run using the -notblLock option. Optimal batching for ttBulkCp occurs by adding the -xp 256 option. ttMigrate can be run with -numThreads option to load individual or multiple tables concurrently.

For more details, see "ttBulkCp" and "ttMigrate" in the Oracle TimesTen In-Memory Database Reference.

Check your driver

Performance impact: Large

There are two versions of the TimesTen Data Manager driver for each platform: a debug and production version. Unless you are debugging, use the production version. The debug library can be significantly slower. See "Specify the Data Manager DSN" and "Specify the ODBC driver" for a description of the TimesTen Data Manager drivers for the different platforms.

On Windows, make sure that applications that use the ODBC driver manager use a DSN that accesses the correct TimesTen driver. Make sure that applications are linked with the correct TimesTen driver. For direct connect applications, use the TimesTen Data Manager driver. An application can call the ODBC SQLGetInfo function with the SQL_DRIVER_NAME argument to determine which driver it is using.

Enable tracing only as needed

Performance impact: Large

Both ODBC and JDBC provide a trace facility to help debug applications. For performance runs, make sure that tracing is disabled except when debugging applications.

To turn the JDBC tracing on, use:

DriverManager.setLogStream method:
DriverManager.setLogStream(new PrintStream(System.out, true));

By default tracing is off. You must call this method before you load a JDBC driver. Once you turn the tracing on, you cannot turn it off for the entire execution of the application.

Investigate alternative JVMs

Performance impact: Variable

JRockit and IBM provide JVMs that may perform better than the Sun JVM.

If you are using replication, adjust transaction log buffer size and CPU

Performance impact: Large

If you are planning a replication scheme, ensure the following:

  • The transaction log setting for LogBufMB should result in the value of LOG_FS_READS in the SYS.MONITOR table being 0 or close to 0. This ensures that the replication agent does not have to read any transaction log records from disk. If the value of LOG_FS_READS is increasing, then increase the transaction log buffer size.

  • CPU resources are adequate. The replication agent on the master database will spawn a thread for every subscriber database. Each thread reads and processes the transaction log independently and needs adequate CPU resources to make progress.

  • If the sending side and receiving side of the replication scheme are mismatched in CPU power, place the replication receiver on the faster system.

Increase replication throughput for active standby pairs

Performance impact: Medium

Use the RecoveryThreads first connection attribute to increase the number of threads that apply changes from the active master database to the standby master database from 1 to 2. If you set RecoveryThreads to 2 on the standby, you should also set it to 2 on the active to maintain increased throughput if there is a failover.

You can also set RecoveryThreads to 2 on one or more read-only subscribers in an active standby pair to increase replication throughput from the standby master database.

Databases must be hosted on systems that are 2-way or larger to take advantage of setting this attribute to 2.


Note:

For more details, see "RecoveryThreads" in the Oracle TimesTen In-Memory Database Reference.

Migrating data with character set conversions

Performance impact: Variable

If character set conversion is requested when migrating databases, performance may be slower than if character set conversion is not requested.

Client/Server tuning

The following sections include tips for Client/Server tuning:

Diagnose Client/Server performance

You can analyze your Client/Server performance with the following statistics that are tracked in the SYS.SYSTEMSTATS table:


Note:

For more details on the SYS.SYSTEMSTATS table, see "SYS.SYSTEMSTATS" in the Oracle TimesTen In-Memory Database System Tables and Views Reference.

  • Total number of executions from a Client/Server application.

  • Total number of INSERT, UPDATE, DELETE, SELECT, MERGE, ALTER, CREATE, DROP statements executed by the server.

  • Total number of transactions committed or rolled back by the server.

  • Total number of table rows inserted, updated, or deleted by the server.

  • Total number of Client/Server roundtrips.

  • Total number of bytes transmitted or received by the server.

  • Total number of Client/Server disconnects.

Work locally when possible

Performance impact: Large

Using TimesTen Client to access databases on a remote server machine adds network overhead to your connections. Whenever possible, write your applications to access the TimesTen Data Manager locally, and link the application directly with the TimesTen Data Manager.

Choose a timeout interval

By default, connections wait 10 seconds to acquire a lock. To change the timeout interval for locks, use the ttLockWait built-in procedure.

For more details, see "ttLockWait" in the Oracle TimesTen In-Memory Database Reference.

Choose the best method of locking

When multiple connections access a database simultaneously, TimesTen uses locks to ensure that the various transactions operate in apparent isolation. TimesTen supports the isolation levels described in Chapter 8, "Transaction Management and Recovery". It also supports the locking levels: database-level locking, table-level locking and row-level locking. You can use the LockLevel connection attribute to indicate whether database-level locking or row-level locking should be used. Use the ttOptSetFlag procedure to set optimizer hints that indicate whether table locks should be used. The default lock granularity is row-level locking.


Note:

For more information, see "LockLevel" and "ttOptSetFlag" in the Oracle TimesTen In-Memory Database Reference.

Choose an appropriate lock level

If there is very little contention on the database, use table-level locking. It provides better performance and deadlocks are less likely. There is generally little contention on the database when transactions are short or there are few connections. In that case, transactions are not likely to overlap.

Table-level locking is also useful when a statement accesses nearly all the rows on a table. Such statements can be queries, updates, deletes or multiple inserts done in a single transaction.

TimesTen uses table locks only with Serializable isolation. If your application specifies table locks with any other isolation levels, TimesTen overrides table-level locking and uses row locks. However, the optimizer plan may still display table-level locking hints.

Database-level locking restricts concurrency more than table-level locking, and is generally useful only for initialization operations, such as bulk-loading, when no concurrency is necessary. It has better response-time than row-level or table-level locking, at the cost of diminished throughput.

Row-level locking is generally preferable when there are many concurrent transactions that are not likely to need access to the same row.

Choose an appropriate isolation level

When using row-level locking, applications can run transactions at the SERIALIZABLE or READ_COMMITTED isolation level. The default isolation level is READ_COMMITTED. You can use the Isolation connection attribute to specify one of these isolation levels for new connections.

When running at SERIALIZABLE transaction isolation level, TimesTen holds all locks for the duration of the transaction.

  • Any transaction updating a row blocks writers until the t€ÿransaction commits.

  • Any transaction reading a row blocks out writers until the transaction commits.

When running at READ_COMMITTED transaction isolation level, TimesTen only holds update locks for the duration of the transaction.

  • Any transaction updating a row blocks out writers to that row until the transaction commits. A reader of that row receives the previously committed version of the row.

  • Phantoms are possible. A phantom is a row that appears during one read but not during another read, or appears in modified form in two different reads, in the same transaction, due to early release of read locks during the transaction.

You can determine if there is an undue amount of contention on your system by checking for time-out and deadlock errors (errors 6001, 6002, and 6003). Information is also available in the LOCK_TIMEOUTS and DEADLOCKS columns of the SYS.MONITOR table.

For more details on isolation levels, see "Transaction isolation levels".

Use shared memory segment as IPC when client and server are on the same machine

Performance impact: Variable

The TimesTen Client normally communicates with TimesTen Server using TCP/IP sockets. If both the TimesTen Client and TimesTen Server are on the same machine, client applications show improved performance by using a shared memory segment or a UNIX domain socket for inter-process communication (IPC).

To use a shared memory segment as IPC, you must set the server options in the ttendaemon.options file. For a description of the server options, see "Modifying the TimesTen Server options".

In addition, applications that use shared memory for IPC must use a logical server name for the Client DSN with ttShmHost as the Network Address. For more information, see "Creating and configuring Client DSNs on UNIX".

This feature may require a significant amount of shared memory. The TimesTen Server pre-allocates the shared memory segment irrespective of the number of existing connections or the number of statements within all connections.

If your application is running on a UNIX machine and you are concerned about memory usage, the applications using TimesTen Client ODBC driver may improve the performance by using UNIX domain sockets for communication. The performance improvement when using UNIX domain sockets is not as large as when using ShmIPC.

Applications that take advantage of UNIX domain sockets for local connections must use a logical server name for the Client DSN with ttLocalHost as the Network Address. For more information, see "Creating and configuring Client DSNs on UNIX". In addition, make sure that your system kernel parameters are configured to allow the number of connections you require. See "Installation prerequisites" in the Oracle TimesTen In-Memory Database Installation Guide.

Enable TT_PREFETCH_CLOSE for Serializable transactions

Performance impact: Variable

Enable TT_PREFETCH_CLOSE for serializable transactions in client/server applications. In Serializable isolation mode, all transactions should be committed when executed, including read-only transactions. When TT_PREFETCH_CLOSE is enabled, the server closes the cursor and commits the transaction after the server has fetched the entire result set for a read-only query. The client should still call SQLFreeStmt(SQL_CLOSE) and SQLTransact(SQL_COMMIT), but the calls are executed in the client and do not require a network round trip between the client and server. TT_PREFETCH_CLOSE enhances performance by decreasing the network traffic between client and server.

Do not use multiple statement handles when TT_PREFETCH_CLOSE is enabled. The server may fetch all of the result set, commit the transaction, and close the statement handle before the client is finished, resulting in the closing of all statement handles.

The following example shows how to use the TT_PREFETCH_CLOSE option with ODBC and JDBC. This example sets TT_PREFETCH_CLOSE with the SQLSetConnectOption ODBC function. You can also set it with the SQLSetStmtOption ODBC function.

SQLSetConnectOption (hdbc, TT_PREFETCH_CLOSE, TT_PREFETCH_CLOSE_ON);
SQLExecDirect (hstmt, "SELECT * FROM T", SQL_NTS);
while (SQLFetch (hstmt) != SQL_NO_DATA_FOUND)
{
// do the processing
}
SQLFreeStmt (hstmt, SQL_CLOSE);

This example shows how to enable the TT_PREFETCH_CLOSE option with JDBC:

con = DriverManager.getConnection ("jdbc:timesten:client:" + DSN);
stmt = con.createStatement();
import com.timesten.sql
...
...
con.setTtPrefetchClose(true);
rs = stmt.executeQuery("select * from t");
while(rs.next())
{
// do the processing
}
import com.timesten.sql
....
try {
       ((TimesTenConnection)con).setTtPrefetchClose(true);
}
catch (SQLException) {
...
}
rs.close();
con.commit();

Use a connection handle when calling SQLTransact

Performance impact: Large

An application can make a call to SQLTransact with either SQL_NULL_HDBC and a valid environment handle:

SQLTransact (ValidHENV, SQL_NULL_HDBC, fType)

or a valid connection handle:

SQLTransact (SQL_NULL_HENV, ValidHDBC, fType).

If the intention of the application is simply to commit or rollback on a single connection, it should use a valid connection handle when calling SQLTransact.

SQL tuning

After you have determined the overall locking and I/O strategies, make sure that the individual SQL statements are executed as efficiently as possible. The following sections describe how to streamline your SQL statements:

Tune statements and use indexes

Performance impact: Large

Verify that all statements are executed efficiently. For example, use queries that reference only the rows necessary to produce the required result set. If only col1 from table t1 is needed, use the statement:

SELECT col1 FROM t1...

instead of using:

SELECT * FROM t1...

Chapter 10, "The TimesTen Query Optimizer" describes how to view the plan that TimesTen uses to execute a statement. Alternatively, you can use the ttIsql showplan command to view the plan. View the plan for each frequently executed statement in the application. If indexes are not used to evaluate predicates, consider creating new indexes or rewriting the statement or query so that indexes can be used. For example, indexes can only be used to evaluate WHERE clauses when single columns appear on one side of a comparison predicate (equalities and inequalities), or in a BETWEEN predicate.

If this comparison predicate is evaluated often, it would therefore make sense to rewrite

WHERE c1+10 < c2+20

to

WHERE c1 < c2+10

and create an index on c1.

The presence of indexes does slow down write operations such as UPDATE, INSERT, DELETE and CREATE VIEW. If an application does few reads but many writes to a table, an index on that table may hurt overall performance rather than help it.

The FIRST keyword can be used to operate on a specific number of rows in the SQL statements, SELECT, UPDATE and DELETE. This attribute can improve throughput and response time. Alternatively, if an application plans to fetch at most one row for a query, and a unique index is not being used to fetch the row, the application should set SQL_MAX_ROW_COUNT to 1. See the Oracle TimesTen In-Memory Database Reference.

Occasionally, the system may create a temporary index to speed up query evaluation. If this happens frequently, it is better for the application itself to create the index. The CMD_TEMP_INDEXES column in the MONITOR table indicates how often a temporary index was created during query evaluation.

If you have implemented time-based aging for a table or cache group, create an index on the timestamp column for better performance of aging. See "Time-based aging".

Select hash, range, or bitmap indexes appropriately

Performance impact: Variable

The TimesTen Data Manager supports hash, range, and bitmap indexes. Each index structure has a different strength.

Hash indexes are created when you supply the UNIQUE HASH clause for the CREATE TABLE or ALTER TABLE statements. Hash indexes require that the table have a primary key.

Range indexes are created by default with the CREATE TABLE statement or created with the CREATE INDEX statement. Range indexes can speed up exact key lookups but are more flexible and can speed up other queries as well. Select a range index if your queries include LESS THAN or GREATER THAN comparisons. Range indexes are effective for high-cardinality data: that is, data with many possible values, such as CUSTOMER_NAME or PHONE_NUMBER.

Range indexes can also be used to speed up "prefix" queries. A prefix query has equality conditions on all but the last key column that is specified. The last column of a prefix query can have either an equality condition or an inequality condition.

Consider the following table and index definitions:

CREATE TABLE T(i1 integer, i2 integer, i3 integer, ...);
CREATE INDEX IXT on T(i1, i2, i3);

The index IXT can be used to speed up the following queries:

SELECT * FROM T WHERE i1>12;
SELECT * FROM T WHERE i1=12 and i2=75;
SELECT * FROM T WHERE i1=12 and i2 BETWEEN 10 and 20;
SELECT * FROM T WHERE i1=12 and i2=75 and i3>30;

The index IXT will not be used for queries like:

SELECT * FROM T WHERE i2=12;

because the prefix property is not satisfied. There is no equality condition for i1.

The index IXT will be used, but matching will only occur on the first two columns for queries like:

SELECT * FROM T WHERE i1=12 and i2<50 and i3=630;

Range indexes have a dynamic structure that adjusts itself automatically to accommodate changes in table size. A range index can be either unique or non-unique and can be declared over nullable columns. It also allows the indexed column values to be changed once a record is inserted. A range index is likely to be more compact than an equivalent hash index.

Bitmap indexes are created with the CREATE INDEX statement. Bitmap indexes are performant when searching and retrieving data from columns with low cardinality. Bitmap indexes are useful with equality queries, especially when using the AND and OR operators. These indexes increase the performance of complex queries that specify multiple predicates on multiple columns connected by AND and OR operators. Bitmap indexes are widely used in data warehousing environments. The environments typically have large amounts of data and ad hoc queries, but a low level of concurrent DML transactions. Bitmap indexes are compressed and have smaller storage requirements than other indexing techniques. For more details on when to use bitmap indexes, see "CREATE INDEX" in the Oracle TimesTen In-Memory Database SQL Reference.

Size hash indexes appropriately

Performance impact: Variable

TimesTen uses hash indexes to enforce primary key constraints. The number of buckets used for the hash index is determined by the PAGES parameter specified in the UNIQUE HASH ON clause of the CREATE TABLE statement. The value for PAGES should be the expected number of rows in the table divided by 256. A smaller value may result in a greater number of collisions, decreasing performance, while a larger value may provide somewhat increased performance at the cost of extra space used by the index.

If the number of values to be indexed varies dramatically, it is best to err on the side of a large index. If the size of a table cannot be accurately predicted, consider using a range index with CREATE INDEX. Also, consider the use of unique indexes when the indexed columns are large CHAR or binary values or when many columns are indexed. Unique indexes may be faster than hash indexes in these cases.

If the performance of record inserts degrades as the size of the table gets larger, it is very likely that you have underestimated the expected size of the table. You can resize the hash index by using the ALTER TABLE statement to reset the PAGES value in the UNIQUE HASH ON clause.

Use foreign key constraint appropriately

Performance impact: Variable

The declaration of a foreign key has no performance impact on SELECT queries, but it slows down the INSERT and UPDATE operations on the table that the foreign key is defined on and the UPDATE and DELETE operations on the table referenced by the foreign key. The slow down is proportional to the number of foreign keys that either reference or are defined on the table.

Compute exact or estimated statistics

Performance impact: Large

If statistics are available on the data in the database, the TimesTen optimizer uses them when preparing a command to determine the optimal path to the data. If there are no statistics, the optimizer uses generic guesses about the data distribution.


Note:

See Chapter 10, "The TimesTen Query Optimizer" for more information.

You should compute statistics before preparing your statements, since the information is likely to result in a more efficient query optimizer plan. When gathering statistics, you need to determine when and how often to gather new statistics as performance is affected by the statistics collection process. The frequency of collection should balance the task of providing accurate statistics for the optimizer against the processing overhead incurred by the statistics collection process.

Since computing statistics is a time-consuming operation, you should compute statistics with the following guidelines:

  • Update statistics after loading your database or after major application upgrades.

  • Do not update statistics during a heavy transaction load.

  • Update statistics when there is substantial creation or alteration on tables, columns, or PL/SQL objects.

    If you have created or altered a substantial number of tables, columns, or PL/SQL objects in your database, you should update the data dictionary optimizer statistics for the following system tables: SYS.TABLES, SYS.COLUMNS, and SYS.OBJ$.

  • When you substantially modify tables in batch operations, such as a bulk load or bulk delete, you can gather statistics on these tables as part of the batch operation.

  • Update statistics infrequently, such as once a week or once a month, when tables are only incrementally modified.

  • Update statistics as part of a regularly executed script or batch job during low transaction load times.


Note:

For performance reasons, TimesTen does not hold a lock on tables or rows when computing statistics.

Use the following for computing statistics: ttIsql statsupdate command, ttOptUpdateStats, or ttOptEstimateStats. Providing an empty string as the table name updates statistics for all tables in the current user's schema.

  • The statsupdate command within ttIsql evaluates every row of the table(s) in question and computes exact statistics.

  • The ttOptUpdateStats built-in procedure evaluates every row of the table(s) in question and computes exact statistics.

  • The ttOptEstimateStats procedure evaluates only a sampling of the rows of the table(s) in question and produces estimated statistics. This can be faster, but may result in less accurate statistics. Computing statistics with a sample of 10 percent is about ten times faster than computing exact statistics and generally results in the same execution plans.


Note:

For more details on ttIsql or the built-in procedures, see "ttIsql" and "Built-In Procedures" in the Oracle TimesTen In-Memory Database Replication Guide.

Avoid ALTER TABLE

Performance impact: Variable

The ALTER TABLE statement allows applications to add columns to a table and to drop columns from a table. Although the ALTER TABLE statement itself runs very quickly in most cases, the modifications it makes to the table can cause subsequent operations on the table to run more slowly. The actual performance degradation the application experiences varies with the number of times the table has been altered and with the particular operation being performed on the table.

Dropping VARCHAR2 and VARBINARY columns is slower than dropping columns of other data types since a table scan is required to free the space allocated to the existing VARCHAR2 and VARBINARY values in the column to be dropped.

Avoid nested queries

Performance impact: Variable

If you can, it is recommended that you should rewrite your query to avoid nested queries that need materialization of many rows.

The following are examples of nested queries that may need to be materialized and result in multiple rows:

  • Aggregate nested query with groupby

  • Nested queries that reference rownum

  • Union, intersect, or minus nested queries

  • Nested queries with order by

For example, the following aggregate nested query results in an expensive performance impact:

select * from (select sum(x1) sum1 from t1 group by y1), 
 (select sum(x2) sum2 from t2 group by y2) where sum1=sum2;

The following is an example of a nested query that references rownum:

select * from (select rownum rc, x1 from t1 where x1>100), 
 (select rownum rc, x2 from t2 where x2>100) where x1=x2;

The following is an example of a union nested query:

select * from (select x1 from t1 union select x2 from t2), 
 (select x3 from t3 group by x3) where x1=x3;

See the Oracle TimesTen In-Memory Database SQL Reference for details on subqueries.

Prepare statements in advance

If you have applications that generate a statement multiple times searching for different values each time, prepare a parameterized statement to reduce compile time. For example, if your application generates statements like:

SELECT A FROM B WHERE C = 10
SELECT A FROM B WHERE C = 15

You can replace these statements with the single statement:

SELECT A FROM B WHERE C = ?

TimesTen shares prepared statements automatically after they have been committed. As a result, an application request to prepare a statement for execution may be completed very quickly if a prepared version of the statement already exists in the system. Also, repeated requests to execute the same statement can avoid the prepare overhead by sharing a previously prepared version of the statement.

Even though TimesTen allows prepared statements to be shared, it is still a good practice for performance reasons to use parameterized statements. Using parameterized statements can further reduce prepare overhead, in addition to any savings from sharing statements.

Avoid unnecessary prepare operations

Because preparing SQL statements is an expensive operation, your application should minimize the number of calls to the prepare API. Most applications prepare a set of statements at the beginning of a connection and use that set for the duration of the connection. This is a good strategy when connections are long, consisting of hundreds or thousands of transactions. But if connections are relatively short, a better strategy is to establish a long-duration connection that prepares the statements and executes them on behalf of all threads or processes. The trade-off here is between communication overhead and prepare overhead, and can be examined for each application. Prepared statements are invalidated when a connection is closed.

See "ttSQLCmdCacheInfoGet" in the Oracle TimesTen In-Memory Database Reference for related information.

Store data efficiently with table compression

TimesTen provides the ability to compress tables at the column level, which stores the data more efficiently. This mechanism provides space reduction for tables by eliminating the redundant storage of duplicate values within columns.

For more information, see "CREATE TABLE" in the Oracle TimesTen In-Memory Database SQL Reference.

Materialized view tuning

The following sections include tips for improving performance of materialized views:

Limit number of join rows

Performance impact: Variable

Larger numbers of join rows decrease performance. You can limit the number of join rows and the number of tables joined by controlling the join condition. For example, use only equality conditions that map one row from one table to one or at most a few rows from the other table.

Use indexes on join columns

Performance impact: Variable

Create indexes on the columns of the detail table that are specified in the SELECT statement that creates the join. Also consider creating an index on the materialized view itself. This can improve the performance of keeping the materialized view updated.

If an UPDATE or DELETE operation on a detail table is often based on a condition on a column, try to create an index on the materialized view on this column if possible.

For example, CustOrder is a materialized view of customer orders, based on two tables. The tables are Customer and bookOrder. The former has two columns (custNo and custName) and the latter has three columns (ordNo, book, and custNo). If you often update the bookOrder table to change a particular order by using the condition bookOrder.ordNo=const, then create an index on CustOrder.ordNo. On the other hand, if you often update based on the condition bookOrder.custNo=const, then create an index on CustOrder.custNo.

If you often update using both conditions and cannot afford to create both indexes, you may want to add bookOrder.rowId in the view and create an index on it instead. In this case, TimesTen updates the view for each detail row update instead of updating all of the rows in the view directly and at the same time. The scan to find the row to be updated is an index scan instead of a row scan, and no join rows need to be generated.

If ViewUniqueMatchScan is used in the execution plan, it is a sign that the execution may be slower or require more space than necessary. A ViewUniqueMatchScan is used to handle an update or delete that cannot be translated to a direct update or delete of a materialized view, and there is no unique mapping between a join row and the associated row in the materialized view. This can be fixed by selecting a unique key for each detail table that is updated or deleted.

Avoid unnecessary updates

Performance impact: Variable

Try not to update a join column or a GROUP BY column because this involves deleting the old value and inserting the new value.

Try not to update an expression that references more than one table. This may disallow direct update of the view because TimesTen may perform another join operation to get the new value when one value in this expression is updated.

View maintenance based on an update or delete is more expensive when:

  • The view cannot be updated directly. For example, not all columns specified in the detail table UPDATE or DELETE statement are selected in the view, or

  • There is not an indication of a one-to-one mapping from the view rows to the join rows.

For example:

CREATE MATERIALIZED VIEW v1 AS SELECT x1 FROM t1, t2 WHERE x1=x2;
DELETE FROM t1 WHERE y1=1;

The extra cost comes from the fact that extra processing is needed to ensure that one and only one view row is affected due to a join row.

The problem is resolved if either x1 is UNIQUE or a unique key from t1 is included in the select list of the view. ROWID can always be used as the unique key.

Avoid changes to the inner table of an outer join

Performance impact: Variable

Tï«Since outer join maintenance is more expensive when changes happen to an inner table, try to avoid changes to the inner table of an outer join. When possible, perform INSERT operations on an inner table before inserting into the associated join rows into an outer table. Likewise, when possible perform DELETE operations on the outer table before deleting from the inner table. This avoids having to convert non-matching rows into matching rows or vice versa.

Limit number of columns in a view table

Performance impact: Variable

The number of columns projected in the view SelectList can impact performance. As the number of columns in the select list grows, the time to prepare operations on detail tables increases. In addition, the time to execute operations on the view detail tables also increases. Do not select values or expressions that are not needed.

The optimizer considers the use of temporary indexes when preparing operations on detail tables of views. This can significantly slow down prepare time, depending upon the operation and the view. If prepare time seems slow, consider using ttOptSetFlag to turn off temporary range indexes and temporary hash scans.

Transaction tuning

The following sections describe how to increase performance when using transactions:

Size transactions appropriately

Each transaction, when it generates transaction log records (for example, a transaction that does an INSERT, DELETE or UPDATE), incurs a disk write when the transaction commits. Disk I/O affects response time and may affect throughput, depending on how effective group commit is.

Performance-sensitive applications should avoid unnecessary disk writes at commit. Use a performance analysis tool to measure the amount of time your application spends in disk writes (versus CPU time). If there seems to be an excessive amount of I/O, there are two steps you can take to avoid writes at commit:

Long transactions perform fewer disk writes per unit of time than short transactions. However, long transactions also can reduce concurrency, as discussed in Chapter 8, "Transaction Management and Recovery".

  • If only one connection is active on a database, longer transactions could improve performance. However, long transactions may have some disadvantages, such as longer rollbacks.

  • If there are multiple connections, there is a trade-off between transaction log I/O delays and locking delays. In this case, transactions are best kept to the natural length, as determined by requirements for atomicity and durability.

Use durable commits appropriately

By default, each TimesTen transaction results in a disk write at commit time. This practice ensures that no committed transactions are lost because of system or application failures. Applications can avoid some or all of these disk writes by performing nondurable commits. Nondurable commits do everything that a durable commit does except write the transaction log to disk. Locks are released and cursors are closed, but no disk write is performed.


Note:

Some controllers or drivers only write data into cache memory in the controller or write to disk some time after the operating system is told that the write is completed. In these cases, a power failure may cause some information that you thought was durably committed to be lost. To avoid this loss of data, configure your disk to write to the recording media before reporting media before reporting completion or use an uninterruptible power supply.

The advantage of nondurable commits is a potential reduction in response time and increase in throughput. The disadvantage is that some transactions may be lost in the event of system failure. An application can force the transaction log to disk by performing an occasional durable commit or checkpoint, thereby decreasing the amount of potentially lost data. In addition, TimesTen itself periodically flushes the transaction log to disk when internal buffers fill up, limiting the amount of data that will be lost.

Transactions can be made durable or can be made to have delayed durability on a connection-by-connection basis. Applications can force a durable commit of a specific transaction by calling the ttDurableCommit procedure.

Applications that do not use nondurable commits can benefit from using synchronous writes in place of write and flush. To turn on synchronous writes set the first connection attribute LogFlushMethod=2.

The XACT_D_COMMITS column of the SYS.MONITOR table indicates the number of transactions that were durably committed.

Avoid frequent checkpoints

Applications that are connected to a database for a long period of time occasionally need to call the ttCkpt built-in procedure to checkpoint the database so that transaction log files do not fill up the disk. Transaction-consistent checkpoints can have a significant performance impact because they require exclusive access to the database.

It is generally better to call ttCkpt to perform a non-blocking (or "fuzzy") checkpoint than to call ttCkptBlocking to perform a blocking checkpoint. Non-blocking checkpoints may take longer, but they permit other transactions to operate against the database at the same time and thus impose less overall overhead. You can increase the interval between successive checkpoints by increasing the amount of disk space available for accumulating transaction log files.

As the transaction log increases in size (if the interval between checkpoints is large), recovery time increases accordingly. If reducing recovery time after a system crash or application failure is important, frequent checkpoints may be preferable. The DS_CHECKPOINTS column of the SYS.MONITOR table indicates how often checkpoints have successfully completed.

Turn off autocommit mode

AUTOCOMMIT mode forces a commit after each statement, and is enabled by default. Committing each statement after execution, however, can significantly degrade performance. For this reason, it is generally advisable to disable AUTOCOMMIT, using the appropriate API for your programming environment.

The XACT_COMMITS column of the SYS.MONITOR table indicates the number of transaction commits.


Note:

If you do not include any explicit commits in your application, the application can use up important resources unnecessarily, including memory and locks. All applications should do periodic commits.

Avoid transaction rollback

When transactions fail due to erroneous data or application failure, they are rolled back by TimesTen automatically. In addition, applications often explicitly rollback transactions to recover from deadlock or timeout conditions. This is not desirable from a performance point of view, as a rollback consumes resources and the entire transaction is wasted.

Applications should avoid unnecessary rollbacks. This may mean designing the application to avoid contention and checking application or input data for potential errors in advance, if possible. The XACT_ROLLBACKS column of the SYS.MONITOR table indicates the number of transactions that were rolled back.

Recovery tuning

The following sections include tips for improving performance of database recovery after database shutdown or system failure:

Set RecoveryThreads

Performance impact: Large

Set the RecoveryThreads attribute to the number of indexes or CPUs to improve recovery performance.

Scaling for multiple CPUs

The following sections include tips for improving performance for multiple CPUs:

Run the demo applications as a prototype

Performance impact: Variable

One way to determine the approximate scaling you can expect from TimesTen is to run one of the scalable demo applications, such as tptbm, on your system.

The tptbm application implements a multi-user throughput benchmark. It enables you to control how it executes, including options to vary the number of processes that execute TimesTen operations and the transaction mix of SELECTs, UPDATEs, and INSERTs, for example. Run tptbm -help to see the full list of options.

By default the demo executes one operation per transaction. You can specify more operations per transaction to better model your application. Larger transactions may scale better or worse, depending on the application profile.

Run multi-processor versions of the demo to evaluate how your application can be expected to perform on systems that have multiple CPUs. If the demo scales well but your application scales poorly, you might try simplifying your application to see where the issue is. Some users comment out the TimesTen calls and find they still have bad scaling due to issues in the application.

You may also find, for example, that some simulated application data is not being generated properly, so that all the operations are accessing the same few rows. That type of localized access will greatly inhibit scalability if the accesses involve changes to the data.

See the Quick Start home page at install_dir/quickstart.html for additional information about tptbm and other demo applications. Go to the ODBC link under "Sample Programs".

Limit database-intensive connections per CPU

Performance impact: Variable

Check the LOCK_TIMEOUTS or LOCK_GRANTS_WAIT fields in the SYS.MONITOR table. If they have high values, this may indicate undue contention, which can lead to poor scaling.

Because TimesTen is quite CPU-intensive, optimal scaling is achieved by having at most one database-intensive connection per CPU. If you have a 4-CPU system or a 2-CPU system with hyperthreading, then a 4-processor application will run well, but an 8-processor application will not perform well. The contention between the active threads will be too high. The only exception to this rule is when many transactions are committed durably. In this case, the connections are not very CPU-intensive because of the increase in I/O operations to disk, and so the machine can support many more concurrent connections.

Use read operations when available

Performance impact: Variable

Read operations scale better than write operations. Make sure that the read and write balance reflects the real-life workload of your application.

Limit prepares, re-prepares and connects

Performance impact: Variable

Prepares do not scale. Make sure that you pre-prepare commands that are executed more than once. The CMD_PREPARES and CMD_REPREPARES columns of the SYS.MONITOR table indicate how often commands were prepared or automatically re-prepared due to creation or deletion of indexes. If either has a high value, modify your application to do connection pooling, so that connects and disconnects are rare events.

Connects do not scale. Make sure that you pre-prepare commands that are executed more than once. Look at the DS_CONNECTS field in the SYS.MONITOR table. If the field has a high value, modify your application to do connection pooling, so that connects and disconnects are rare events.

Limit replication transmitters and receivers and XLA readers

Performance impact: Variable

Replication and XLA operations have significant logging overhead. Replication scales best when there are a limited number of transmitters or receivers. Check your replication topology and see if you can simplify it. Generally, XLA scales best when there are a limited number of readers. If your application has numerous readers, see if you can reduce the number.

Monitor XLA and replication to ensure they are reading from the transaction log buffer rather than from the disk. With a lot of concurrent updates, replication may not keep up. Updates are single-threaded at the subscriber. You can achieve better XLA throughput if the frequency of acknowledgements is reduced.

Estimate the number of readers and transmitters required by checking the values in the LOG_FS_READS and LOG_BUFFER_WAITS columns in the SYS.MONITOR table. The system updates this information each time a connection is made or released and each time a transaction is committed or rolled back.

Setting LogFlushMethod=2 can improve performance of RETURN TWOSAFE replication operations and RETURN RECEIPT with DURABLE TRANSMIT operations.

Allow indexes to be rebuilt in parallel during recovery

Performance impact: Variable

On multi-processor systems, set RecoveryThreads to minimum(number of CPUs available, number of indexes) to allow indexes to be rebuilt in parallel if recovery is necessary. If a rebuild is necessary, progress can be viewed in the user log. Setting RecoveryThreads to a number larger than the number of CPUs available can cause recovery to take longer than if it were single-threaded.

Use private commands

Performance impact: Variable

On multi-processor systems, if many threads are executing the same commands, then try setting PrivateCommands=1 to improve throughput or response time. The use of private commands increases the amount of temporary space used.

XLA tuning

The following sections include tips for improving XLA performance:

Increase transaction log buffer size when using XLA

A larger transaction log buffer size is appropriate when using XLA. When XLA is enabled, additional transaction log records are generated to store additional information for XLA. To ensure the transaction log buffer is properly sized, one can watch for changes in the SYS.MONITOR table entries LOG_FS_READS and LOG_BUFFER_WAITS. For optimal performance, both of these values should remain 0. Increasing the transaction log buffer size may be necessary to ensure the values remain 0.

Prefetch multiple update records

Performance impact: Medium

Prefetching multiple update records at a time is more efficient than obtaining each update record from XLA individually. Because updates are not prefetched when you use AUTO_ACKNOWLEDGE mode, it can be slower than the other modes. If possible, you should design your application to tolerate duplicate updates so you can use DUPS_OK_ACKNOWLEDGE, or explicitly acknowledge updates. Explicitly acknowledging updates usually yields the best performance if the application can tolerate not acknowledging each message individually.

Acknowledge XLA updates

Performance impact: Medium

To explicitly acknowledge an XLA update, you call acknowledge on the update message. Acknowledging a message implicitly acknowledges all previous messages. Typically, you receive and process multiple update messages between acknowledgements. If you are using the CLIENT_ACKNOWLEDGE mode and intend to reuse a durable subscription in the future, you should call acknowledge to reset the bookmark to the last-read position before exiting.

PKÛô¾TTPK\8–AOEBPS/img/jointree.gifbâGIF89a¾ÄÀÀÀ€€€ðððÐÐР  ppp000ààà ```PPP°°°@@@ÿÿÿ!ù,¾ÿ $Ždižhª®lë¾p,»Ác߸ƒïÎÿ?°7$…E 2X\îœI`F­Z¯Ø¬vËíz¿`Y-á(›Ë†³Ú‘^»Ýí7[>—Çéï;œ®W÷ñeSa…†‡ˆ‰Š‹ŒŒ5‘’V:„“—˜™š›œˆ —•¡¤¥¦§¨‡Ÿ©¬]£­°±²³¡«´·.¯¸»¼½¾b¿ÃºÄÇÈÉ­¶Ê·ÆÍÐÑÒŽÁÓ³ÏÖÙÚÛTÌ%àâŠ,é1–  ìŠó%ØÜùúû#Þ5J°aéPebAÁŽ$(ØR`¤ NàãDZc4$ ä EWÿ¬ƒA`À¸Š |s(¬˜ƒ-‚Ø9@‚q÷NzT @5OH:4H‡2EÀ €¨ä,…3!`kŠ”"ÀaEÑuì=†:€ŠH0`DBVÍ~3—â­@¦Å¨65ÖK ÷nY±Áˆ jL!0ІµÁlhiãÀ‚"þ…4z"¥!ÝÞ¬QÑÆDD½lϪ!‹÷‡æçΧKh´ `0}»üUzóok X1À€b" h0ঠɀ5`pÙ÷uë: ›°Æé—3–00R€ÌHôÒQw“¼>©-0Pÿb#”$Ÿ[zçEp#0°Ó<à¨:aÁSPÕ°Ý—I8Mr5ŒÃÀ ŠQ§Ö}ì¤Ô€j"f$åD&”ša"ÌÈN{ÈW^;’pà ô–‹#À¨K<ê†_é1ÇÔF&bAág8œ–Úm%¶Û ¤" ð,e\—Í$—ZF´¥b;åùÕs 9¥¦@žXòVÂA)Ž @ŸD’Ч£x½SÜmoáIèžü9BN'¼£Öe@ÙõZ„pfA¡ïA ÀŒœQ9ÂŒ”´€LŒ´¦ ·–JLr 0‘«ŠA! £Öe6öæuÂ4:£ÏâÕà¡¢÷ÿ–Å‚·l ÷"j^æéj…ÜÖu9EuÀŸÔ‹Û–«¸¾ðª@%¬¦ ƒ Ý÷` ܆èj-Ú¬²ö(Ì} õ#Ô[™jÄ/už°R”g .½ZwßgÜø®acSÝ:ÅK¼ ïÂëT2µøÀ<,£0ŽUb–*~DÈIH²(à#"É‘C2’Š|¤$µ1†<ðvÀÃÌ°I4`Ò’—̤(?iAÔq’¨DNV%$ 7€¥cZéJVÖò–´”B*w©r„ã—¿œ 0)Ìaó˜ÅD&0‹ËÏŒ&1¥ Íh&s˜×¤&0ÈËn¦y±D€|°nzóœèôÅvnP“UF‹éŒ§áƒç ¤Ç†“ºÔ¥à39[„æ¥8}(ul0R, 8Í©På)ÑTTÏãi‡ÊTT"}´BQ=ØÔª>2 öT)4#?«zµàÓA@ÃÀô¥é«h½ãN{@R/ÄTi+‹JQz0“ªrÍ«®<UCpu¦z ìPTF”•§Z¬bóñÖ±N"©ØY¬dù±ÖžjBä{€c'ËÙhÐõ¨’˜Qe@ÛÙÒÒÒ„GùgÚÖþ‚°‰Íd÷äÚÚÒ¢±€Ýfš[ÛúV•mk)D{?Òþö¸øì,ÖI S"÷¹‡@-.èçƒÔB÷ºÿa( FcË í–»à c|°Ù]h÷Ü ¯z_°S ÷”Qèzç+ƒ¢®1ôc'}÷ëéB#³ß寀MÛiœ7½†.n³A‘"8Á¿ .7XJP_w‰áÜGMjáën§º)€ ÛaÛÖÓ$ÖGƒ•Zbß¾µ½Õ†ô6×âÖJø8 ½i%«\]4Å;Ž«áÓTY¯WQtd´þS¦fûG¦bÜä’&Ô²u+«ÎZå¡J´ Æ%rf—Úåòõ½ ›j™]šä)þuͳhærÉYÎrÎx¦³œóÌ>ë RÄÂ}þüJ[öYÏwöó MhF/Zѹ„ÿÂ>GØÉ:ò •¶ôFyiO†” îtè+܇ ¤Ìt¥ïOŒjºÓªþô¦Eýj"ÊÚÖ´~uáæI!^Þ§ÔV¸u ±Û®¢r×òìõ.ýa_âC»Dv<•Jf{ÁÙ’•v:©JkwÛ‹Õ6:¹=IosÜŠ÷9É-IsoÝ‚U·7ÙýHwkÞ•w7ûÒ•’ ßa¶¢¿QŽÔÂ;)@À©` ÅJDô–³û}LlŒ+æàáyL*c _¸©%rF<üY1äe_}1·õµÙ/ÿ_ 0¢*ÙD¶BxÁŠmPàKIoG5}­/nè$ú"ÿ*Ü…üâ€ÉaXˆ¢lNÛª» Ëϯ“òhgë>‚ [^~í—< °ŽC`<<ªÿ\Á4{gaâ¿œ‘x£wËzPTú€É€9 køœk…–|mOŠ7¶¼Pš—UIß*ÿºfç^šˆ¨ JÕâ• »‚ÜJ,tä“6’܃aѸ 2t‚ž±­X‹ÒJÐaot'dô›BÒ¥œ’k‚³=ê•ÔÀÖ7èõ Ôb8T*{´ôY“Õä¨RÚ§ 5‚ø·P0ïu ·«J¬zÔaÓW &ʯ1Í¡ŠfŒ ñÕf¹ÏZm‚¸K$¢qB 9ÿY% GöP?" Ubw‚Ö;¾çäC7|V“6ã‹r;SPc¶€ìT ëGc¨$ìd•6Q¡èÃD#Ìñ(¨PTU6°T6rËÓ5ÿÖÓuC¨y˜ ƒm -Ð:p·Q…½¢#\stp4Ar3ùGc@(PuR!R1I–@2%Áh,÷£!Ò¸‰W×Qu¨#U“Œ<¢‡Ö}ˆr;#3ñ ‘ù³¹1#p‹/ÃÛÓDQá+8³{6Œ÷è+Q1ÛX# C6aŒ¬²}1(|°Ø#ÝXó‚Y‚À Ñ@„ÐØs3ØV„âXc‰"+²šE(b…ÕP’ªÒ2Gg _ôw$7pXòH(µS1›’;2Qx0˜„»÷½g‡³<äxcgµuBƒp&cÂV$Š ÿ ™'"‰p6iV‰ãQ'ÖA“6á0(r]¹}9™';y”ÛòÉ4B(‘a0/1(b•‘²h;#6ØB’ËòwD·, ·“d9“ƒtt‘ãš‘Jó2]—/ st)qß”¹‰Âxi“CÏr|ç+8•ÅR•?`#C–€‚&Õá™°w™ÜÒzÙ±4™ºCŒ¸£(—y(™9¹²"LV"g{Y>7ÉtT£='!0J!›ˆ˜oc?;‹)E4Y泋Jã’÷p”†Ò!‡’BYœ¼·™nž´™t?1#Òzwt‡3혚{Ây‘QaÿâÙ_i5Ú’éðßi–3ž˜‘›Ûi}òé(×Ò0sIœ¦×:cÑI†±D) ¹Â8@Çx¸ ‘—èFa‹PišNôGòA" š"àGwÈYÌ($Ç(“RÄ:˜-6â.e@Œªr8£¢5µ£>sgï"slð™¤5R;IəŕÁQ k²‹T9Êh,óØ¢ üƽ’÷!b¸7›1Y›lãA©!¤hj̈<ò‘5Uz½ù|q¡ŽE%ô12±(³"q—ó¸92§-G (ú…‚0Ø62Ò‘…eY£)éRx?ˆÓ'¨ˆˆS³85CoÊ›& 6ÿ]Óƒ8‚bF”ˆè-U:b#B“=ÜsLá{yƒ«„P‰A(lz ;iNX8_:=àBœØ¬ëqÁE~«Ú"ûákç772–nE•C9®º­V)ž2¡´*yyA:µê?Ûâ«€:š«Z%6r·ÓmQó+2×^8 “ššn%¢â~3b ‘1«u3= §€â.UôgšØÁLô‚`×Ë=CˆýnbÓÍH¤mÚª4=ÙMHÀP'Ý0}Üß}6µLËœÞ<ˆœË„¬Þð½Þ´äÞÈâÄ{,ßó½ß·ŒÈÿ¸Üߺìߌ¼²½m+Sk~pk žkl¬Æ~i ¾ài ášôúv·Èà^ƾÆ>ᘖkâk`J/5Ç&uáOmŦnÞ^(b¯á‰6’jPÔdTÎ]ÍD€ àXYŽ 06H¡·™ºi†PXÄÓ_ó`è>P2N6—ŽIùP`æ7¢6ÑhtÃa'Æ(æ|d…QÎq- ÿêk’¤Þ¨4HÕì¦na0J-Â%PQ'X´ÜMS¹ñóÂÖóè'°vªRL¦cSæÛ&Eµ®ª“ع{{˜%€?aÀj!…€%$`íH è‹v‚à1Ûᇳ.è’„rñЂ±â@æÙ}"rm5"700g!úN·ó€n+ÒˆâÑ ’0âмU^úx{1ˆÊ>nÌ®Ez‹ ¾‡ýñ++$p×l zãäDê$h[ÊiÄÀ Ò €!ð;BRÐa.-O†5o5ã´æ¢ŒãÀÝÑCåÍ.‚éYh=«HèÿñEâ€ÑÁÜ4õg5õÐ×­ï¼@}/|(7 ˃&Z´¶$ €_1¿nï$lAc¿ñå(‚+Ú;¤á6d0¾Yš7ñ'-Q ùE2Y”ÀM¡O5Q6Ђ¡Y½ UAQÛ°á±Õøç‘6wyFÜCíÂuN™Æ5u£–šC‘ås#?éP€*F±*ú“¾¢pÛ>x2›Í¥*[©-¥­-]Ī±¹ûXq/+´rõ1h(ýl½Ÿ¨fs}_Àæµw‹„¯¸ã$šUïÛg*Ê„r¢}"P":À‚b‡š¹è3$S7B" /ÿÿí¢<OpÏ!@³œ5´86š<ÃÒ jŽ\l €A Àéñ(œKmHm™œÔZkU“:É Ñ@B¬³šáÁp³—O›‚X„¦7£ÆèÿqMAH™Ä¨èÈ@éÜå"&Ø Lµ(øÁm¡ Õ(!9 jŽ’–šž¢¦ªê4¹ž ‘,B´„99$# ‘¤+?=4Ô¤ؼ!à9uSbŸÜBPzµ$[é$tS…‡ÍÃÛpÛÂÛP„k˜¦.6¤4@Ê<. ÈIX,AR Â# T¤‚ @€ÿ…ÄåE/*:öÈâŧŒ¡V´h©²à€Œ…Òùj(Ñ¢FKå::*å‰óøÃU,Š¨4®*VLZ%L2ƒë|¬! Ž0V-VUÁŒ™P¡ äÜÀ€â›:q‹ÛÝàYKd/@*…k ÒRpï® \Š±°¥¤ìâÂæB-1=¡ÄÉ<¼Rî­¦ÓóÏKhrv¦ÚFjѭа4VU)ïÞ¾Gi H×Á™¦nEé§ Ú¸ƒ^ð/U c%X=ÍšH¼±%ysi5ëTë ûö$‘ŸH0¯ %œ(i'êðN‡ð!ÈwEí±·aS ÿ`bÐ]ÁØuS(0€rg]f:=–L xü×ÊcÈ”‚·à…ÚJ,TÅ!+–yÌbÏÌ¡ ‘5ÈKP¿á˜ãoÛAÕJD>•“ͳÐ4Gh:@åÅvÂèDÓ/PÅV xË­ñ˜:mXÍ ½@4ˆ5Rj¡yÎø Ö]ûM5À‰ùM9 Æ’ÉÛ%1Yñ<=P®yšz`87ê  i3‹I ÏôÒš»,$Šl©Íoêh˜à4åø ƒáà? é`ç ¨ ovÎ9ˆ©æ8ëYOnVÛöÜ'QÄÉÏ檔¨%ñ™-‚"´þL(C‹¢J÷”s|$‰h(ZQ‹b4—(Eß9Qf´œ )FGJ “†ô¢E©AÙІ.ô¥2Õ3¨÷¼<ܧ9mÅN{Ú ŸÚô¦A=¦O{:T¢îô¨5-jRÚÓƒ¹t¦©T«ª‹“n´¤ZMéG³ºÒ­rU¢^í(Xà Ѳ–ª8([uÖÖ! ‡­q-Þ\ßJW»ÖÕ­mÍ«]mÂW¿bV,a [Ì(•©<5*c›ªX¤:6§‰ýécãÔœRÒ°šÝ,gsD,Ï($´¢-iAKÚКö´©-íi[ËZ×`µ£•­hi ÛÚÞÖ¶fg¥;PKÖJtgbPK\8–AOEBPS/img/jdbc_exec_steps.gifc4œËGIF89a!”Ä€€€ÀÀÀ@@@ðððÐÐР  ààà000```ppp °°°PPPÿÿÿ!ù,!”ÿà#ŽdižÂ©®ìš¶0ûÆt9׸›ç÷÷>0¨MÆ#)©l1›§RÊ DجvËݺà°8ü›Åå³Ú»n›Ón5<~žÓéö;8¯çòûZ€c‚ƒ…€ˆ` V‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®šV¯µ¶·¸¹º»¼½¾¿À¯ÁÈÉÊËÌÍÎÏе±ÆÑÕÖ×ØÙÚÛÜÓÇÜàáâãäåäÞæéêëìíî¤èïòóôõöÑñ÷úûüýþ¡ùþ H° »€*\Ȇ#Jœxê!Å‹3f´¨±£Ç9‚I²ä:‘&Sÿª\Y %Ë—0cîr)³¦Í›¥hâÜɳ'%>ƒú @‚>PÀÁ™8à‹ÐV@¯jURW@*ð@Á&¨  €pARK]DÀ[UÑœEŠ@dzkJ­¡cÍf* ¸±I/fùeì#HBð@0¦ÊÔÒ,É/$¹  …7/*šÔF-hÀ jçKRŸ*@:Wnº‡1NªÑ$pë¦ü)Y¤)HRð @øy€¿n!­=àÀÁÚëÜnŸ‹}mëëX’Cð¥voד`eå<„ ”¦ÝiËir@v’ p_ÿ{™(ØU%N‚$‰‚òð`T&HZ#ú7 †^¨aI¤ @…Wˆ°Ÿ\Ì'·¥xˆðŽß!°u 'W`áÝã °€É!°ÀKî‡ßOƉ• p%pö€4¾ ß`#"¨œ™µâu ˆ&oB`…W9V'"$Ôé¨`Y€­cŒÒ™@Ž¬)‚Y…–ðH—r¶f›’4''TÆÑÙ@žS€^ $Éõˆ¨F¾Ø^dvZlÃŒ (rÑb…nC2Pdkh–Bvs¥°á”ùU)e%|¤ž™$dUd$hÆÖ4ËÖÿX!Vro. ÀPç4 ”ÉŽu õ@´%Ý „W¨`#- ØUhvDå Ë’•œ¶lUŠÀ `¦øBu(½á™{mº‘J*¥‘ É©G’š!gƒER³®šÚ„Fª¶Tœh™Z òK¥#¸g @UŒØ:‰–PEë[iq÷€+S3¶ãy(¿BÒ€tc%nÖ%Â:³b;ÓEèrdùl2ØÚ¹4%[6ú–™b{ ÉÔUgL ©dY g‡j¬Ô4¦ä ¦ ¸nòµÖo«I1`@ `ls$Y2@šÍ*Àæ³=ÉÕ‹u¹ÿœ(-ÉŠäB²bÔâ¡9dßLCyÈ´Î|ŒÐw ]Œ¤QpÎWꕾå¶êÇä®Û®K®‘\ ØÖü™ƒµ‘ñ6·jóˆ5&ŒÀ‹ öÎUiŒÅøÈYR(?ùì8×"Àôj_·µjrSR@¾[×; ™À7=?P;fT3€0`SŸ›Þý¬ ŸHKh÷ºnŒ‡íɯf:Ò$25<:ol4 G®|•°+0“Šõ±Î4à[^YÅ”ˆî/¥O 0C4€0²€v¢D³dfs?\_°Ú÷ŠF"ºYÀ –ªèmDéÑ› ÓE¢[0¤Îà£ÿ¶©]‚ú[$È"v¹+Im›Þ"Ø5ã àq“brª?¶ /5û ¬ô†FX©±'búEÉä¤DITNŒ@¾§˜3ÿ{âã8Àø°ŠÓ—d…(ê@¢“£¤DŸ¢ð'4Á˜<ëg¼A騒‹Š›KȸÅ•sÞMÙ vE¢Kd–„…ì‰A^é$Bd"¨(HA¥©‚LTÀÉl³Êàu~Õž§\G>æœORžr €(šþÁæOÎcÎ@>ò„æ7剓 Þg`Ê!ö´¾G2D˜ÉLhJ º„*ô¡ a(D'JÑk¸¤*ͨFñ!¬Á ÿk£ )/.úQ‘šô¤Xé¨pJŠÒ–ºt$}©Lg*Š˜Òô¦8ŽJ%ÃÒœúT¦6ý©PoÔ¡Õ¥E=ªREê’j-õ©Lm ¡JÕ—ãgUÍ*RwªÕ®‚T¢^ k^À*Ö²…¬fMk?¹ÚŠaø΂aŒZÕŠVXœ­_iˆçæ*V—Ä dÖ!ï鲚ÑåW ’¦üNK4¶š” ‘6$ÙwF³jÔvözR4*†½…TÆQg†¶¡lýIOíêÈ#½Oc´¤×¼¤À$ê.‘œÏ"óʧ`m•¯|¢UC ×KfiØô14Ý–,_zaK×€ƒÕéÿkÙU80/%eEx‡’Úü¬v0—nB/L1  Ñ#êB -=âr;Ü{°øJ‰V(ᄵˆík¿v1ðüŸ'©­+zjXuÃb'X¤Å]Î{Šl]®Ú(F²¦‡¼K”¸VFR•R‚ž©N1Ë‚ aï^G›»K²bŒJtG²`_|½Ý nƒŒÛ_«•©¶e¯ÆÞh ¤ô–Ì–†œX6Qͬõ“ª]S2=:I“ÎH<¶4ç!T¬pÛ„ÍG’ÇìPÖs J¨™.5û²#·œ©d¬Ø±ÈΆêTß1e9BëWšI˜Bs.¯×%ÿÞì$MËÕ wäóÌ>öGÏqv£Zêó_±X¡,qRªcÓ°Iǘ¡Žª9ã´zg ûË ¿$¢S`S “ `Õ+¶ 6ÖRĽMªm“ïj5Á¦#Â0ÂÂ)\“À®M cûèÙ ˆÓ¯s”[gÕÙ”qfÞþâÏp¨!1'úÑø‰¯6’³Â»¦ÞnŽ„³#äûQÓó®4‘"£·pðÉOŒrFOÝ-1ŠZFÂÎ\D qÝüp]sµ«]F¸'@r vÇW½õ6‡ ¨¢˜R\F o“†›Ñ!>.ØÈEb›Y¸H•2™×HR•¨ÿ°Z+¨…Ttu0àÍ y×éP(+\L­oX9ØqŒ~âmë²'²ëëj×Á'hi ÆôjòµÄu‰W´[¢Ðݨ—”õ]|.‚bª!cí‚ pXy$õ·5g…45¶CFèæ=Ï]^p0ödkÊjzQü÷Ôˆ 5â\ ®xdP}V?ÆÏY¹3äªF”³KŸgÿÊH\~Z{Ü.ÍvÀ‰àPÚ{¸`£[|ÆÉÝã{Œü>}ÀÏ/å„OŠá„Rµ¾eà_ù‚W%ùûÖ 3—× l«I”±ç}DÇzÄËez)c½ÔñzMðSB†õXÿZÿÛ¤ŠÅ1ãX–…€†EXlÑØä€é$O•N2Ú!åtþ¡fX%˜R}€$‚ª3y`q]±+ŒS.܇rÔ°+À$-$##ÇAâãYƒq6—szÛ±u±³Â.„B Cˆ§4ƒùg l¶µ±z±¡‚*V^ŽÄa¬ði|Õ ðU¡=4_ó%¶9b(Æn.h pÔáƒ%h“kïB„#¶Iul¬Æ3 Kï’XIr‘/‡'éöÈÂB¤9-ïIñÒˆÊå-×fèÑÆm8Ø3º.SägTH9V¸ X˜…ÍÐNC“€ñ VvNÿ•ðMàô }7^ÑD~e¶X®h '’f¤Mò$g„Á2œÐŠvvZïŠâaŒ¦ˆRÄ” PÇuµŒUˆœ0:ðÒÑ(ÚØÙ¸ÞHÝøâØá8ŽæhåxŽêø鸎î¨ý÷ŽòÈñ8öXõxúxÈh'£¸iùIZýˆQ™üÈDºø ùÖ09‘Ð SõŠI‘© WµLªµ‘ © ’$Ù #Y’(‰ 혒,é +Ù’0™ /“4 X ù î0ဠ…Ѩp­ð<æi…dJ ê“„µ.Æ ·H ÿ @1“‹÷Oª°áÀ”¥'c17,•Bµ€#VcCö óO€à8usPFy R§3iNøB|ifP” õ ¼qo‘9›cA¿¶"ç1Š/~!‚!K“©/P´ôIvR‘ŒP¤ˆi3qâ_ssÌ’Ç@Ar0×(tŠÈ(u2C´ažù>0kÜ!K>T7À] ‚µóqß0F‘äÑ›ññfÍA Á¹,ó‘B”‰.Qg¥°9vG£bL!EŒ¸:L’:«S´€W“€WìYDu8GRDcNÂ"B&øÒnŒà˜‘bÛ‘ÿ; laa4–C!5k™¡Œ€á¶_nÐ/&º–Ô‚#žylæáx3Ô¡$WôDšÁ&,˜•ÖD0©¢Óö.Þgf$¢30zƒÜ#ƒàx£¹AŽR ˆ)#ò:î%p¼òE`iAOk#[Â=©rZ"u脶Ö± #Ç@&0]y¥ ·_z“*? ,q[¤b¡Ô†©3Œ`jP˜x§` K¸¤GÂmbZâœqO¨.îbdq8H§Ž3M¨6Ù£7ù‘Û™-#˜A §F‰Ge=¸¤7W@X}$iÇi©ÓK§ÿ˜c‰ËQxer¦øQeœ±ñá¦Fr©õ7£²‚Ö«ÒgWn‘‚">†‰ ÌÓ1/1ZÚtÆQ>j `‰ßh¼Ê”æ ªƒ”“þ!L ¤p¨ª~os ý²"Íâ9°ª¤"Å\2Ò)@覫9âB8§÷Šq¯¦7¬B5òó¤kሂ!¡âÁ,ªB~W‚"çA‹[9­ÛYq¥3m©¢=ÈG:7ͳ6Þéo°„q×A2â€?Tz§êo©Z®ã± ®I±±f*R'뱆"p@Íñ'ASžµføº+l&`²‚¯"à”€„Q÷C @ Àš”#és_ÿq‚Mñ.ä¬é“N ±q’lãŸZÐ"bêŸK2úÚ!  $w‘D1hÖžàY‡©ŸéQGäÚ²”·Pkžõªëd Q+ʨP<„O;2¹ÁCÄW4œÉ,X ŸÕL°ôB‡QškŠ¨•^Q,Êù>O‘>:s#똪‘™´BQ˺×ÑɵBÌ9b ¾³9 pÌr©EId'æ²´BÉ…˜æa?›©Öù¼Ì¢ÃðEj¶‘a¯û>3är¥:]A/”ɽ‘Q“®±»è»¾€&±ìû¾¬ ¾ð;¿¯è¾ô{¿0Õ…¿ü wÙ¿ÿܾ“Àì¿\À\uÿ›À ¬L²ÚÀýË• “<Á,YÁŒ’MEºÌ¿òÛÁl¿ ìÁ"<Â÷k‘\…& À¹Z¹ÂøûÁ0¬‘2<ÃYÃ6ü8œÃ ¹Á<<¿lÃ>¹žì Bé D‰ üâà”•°d T¹¸¯p•“•EyÀL|”ßÆ,fy h) s5åqHØõ,“—sII«Å¨ K^ð `‹ Æ)R¥–÷ šêÒš¯›¹I›Ç`›žñ¹™$¼3›•0Ù>U‘Ê韲œÍ©ÈÆ©\XìÈâaP¬\©9æ h,`ywyBjÿÈÓ/¡b!¡@¡ª6ú‡q¢f`¢£´ ¢a1¢º4âyÅ)jÁ¢o–$G£ à«lÁ6:̧Ôs¡Lª¯pÊۀ͕¦C8LÒ¦õ§–§g§ï"¬zzJ}:4J-'{³Þñ%‹¨ÌÜxª(>#:‘Úƹ uUc/Ê™#±ÊѶ_‡q½Q‡{\šÊcÐ׈<­±¹¡'ÔQoÃp?›D„0)QÀ-[Û‡¾Gl\¶ªQ«P‡«F¸qZš€ä¼+)`©BÛ¯éŒ^Å: L›¬7×õL´Ðz€YÜÏÓä•°×ÒѺ_j¶dT‡’"a+¶£K÷·)ÿ…Ùf§óÔpµ/)bs¹$Ð!-³²™µ›tG?d+Òñ%|ŠG†ä™çcRîz±kJ-ñ—õz°/Ýúª×HkÍâ°x÷°T'[˚̪¨ ;Øûò»©®"³fQ¥$"ëT¬ÃiA0B¦›]Zòw”BXso}Ä@sŽI½Pt‡!4i#?D Q7Ë.9 ]<›$N×)°{Í+`"`èl$J{âãµKµR{GÆàYóqµ]¨µ›u]û.Í-­nì€u å#66`ÍíoH,譤ħK€;oä%aW?}¦ÍÕ¸ë¹È/“; d¹ÿÇ ºS!¢œ»™Ÿ›¹n@‰y¦‹»©Ë«+k°Û½|yº³›Ð¶{œ¨«»%ܾ—0ˆ×kOzcå]%PÜqâøév«M®Ä3s…ßB³%©rÛ[l—ÝýÂþ«‹|­7nÍ.u¡=˜!.ÌõqœFFø-—”àÕÑ|²Šüí·º²6Ó ãÇ\|TãAí²*Êœ39ô±¬™Ö‘7)`yã-”+‡baÄvZf^\q.ë½â]ÙâGTš¡|è!Eq 8ZÎÏ\N p¼°dAzÉS‘,p DÎyLeÈãÕèf–¹cñáÇ KÓ@딹۱’kuŒãÿnãB-Š© ’õT;Üê2ù%uùS±.ë…ßPuë¸N ‹dw>Åë½. ÊÅÆJ•4>ì¹ðêKÄÊ®ŽÎþìæíÒ.ŽÔ^íÞxíخھíËØíÞž…Âîâ¾áäã~îteîê®éÞîeõîðVò>ï]UïöžUøžïTµïüëR•Â¬þï­ KŸœS-ìQß ˜änCîù® ÀžSoï30ñ8UñóÎ"à®Ç¾Ä ¯ ÐÅÍò!ïŽòG•ò*ÿðúKÅ-¿þóÏî4Ïí6óßžóçNÍ4Ç&«ØÔ©Hô›Pç–9©“«šì'ÁóÊOÿtñ8t(?2’wŒ¬ !–Ð0²²Ì^z'8³JE,’Pßë:ãBlþqËQq bØ1œð}?f `AOÇbìôU'´!ô0ˆû0óŒ#qÿº& Ý“ˆ wCó+1³rgÆù‘C‚NkÚ–UÒu¶'Ä8N#"Þ½xfLŠOÀ“(|HµzW}›lÐé-»Š÷Ö¨l”½†äÆlŒ°¼:"k`&ïÜÉÁnF‘µÒÁüë8“á@¥nƒG%€*ðƒm/ëѧ§¦Â}K#3 »û–8gb`!ç+< w›»‰{‚áÓkíZƒCofÿÅÀC@Ï<´²ú´la ±}ã¹¾ó}Œ¢»€Ð§c#³i Ôb„ånê”.­­éjãzÃâ1Ù+ž!‹Gq%Z¬Lq$]zXÅtZ€‡øA$¤Ì­ ,4äA¬ÁB88ÈþÕ™(´ð±Ý¹>a¶ ,t•©®Þê P…,¬°–i¶´åøŽ{ªè(8îë6;?Û|¢®4¼bbÚ™$;¸öý$ 0Œb&²t¯ ÀL bN®0 FØ|Ë]€Bü͉Õð¡6ÝäG' !í˜ø†³5€¥VÌ A²^EAèN‹Ž 0åÀ FÆ”@@®e ¢8К€J€ ˜­× AÔ®Xó`¤ J‹yäúÀ€ Ý(ЪvE0Ç0ûò(°#  dÌ.3Ñ__¿6g €ì<ãÊ1@p—…‰ t©]–¢ˆhÀ`ÁÃÏ­Pàܽ|d"´d,¹Iý÷r‰_B:e= (…çDlM0ˆÕÄUØ"Ô@s6ܤÀo ’ÿÒ2  @!”=°€ƒ)4 €XhàÆq’=€kˆZ4F&–paR3° àuŠXXÄ0B<· 1æ$°` ~ `ž/®£¶ø—dH`ØgÐ?1v[D@Á$ P¤2¥.0öäQ\Ù‚Vh©E,SÆp@õ)gBx¼ F¦è´ÂPÄg¯PWB“ì%è Ð`=™ˆ ÌÄB0¯dÖešÐ¢ÝhN„®à@šà¡@v (j‘+Ê«ýa‡¬·âJ€ݹ%œ oŽ\Jì* àÛ‘t¸Fg2㎄pëÿ† <‰žd6Ê®¹†D$Æ€üÉ.¬¹² Í %ò0€5 DÙ®½÷’ÖA®•êد, [.°%kíŒ)Š`p¹¼@[Z÷Vm*ˆ*@'0Øã\‡ÆŒhúRªæžöÓOë±.¾+³Ü²Ë°í MT©4ä@KíÙ篚HW# Ç,3x8 9%úÒ öÂOiÆ BSrfL¨@¿G{~Òا-'4Å2”£µ¹üy{±djñ—Ö±4ªùL÷ ‰¢åÑ8[½é±`2™Ë €,Ìå/mÈKòÜt‹"0 -Œ!€öèL÷Yð Ú$lñÂÕˆ3Š‚ná ¸Ì#ÊM.¤"ΤdCzbÐ"ø”ˆv&GD"ˆ^aŽg £Ž5Œƒl6dH|â uŽÄ IHnÚÈO"ϬÊÀ˜@ó0F–CqEL{rº)cè†  ÈœLU2 ÚÖá:.þ g¸FW‰jwX½h@µ–a§ÂòHKR±€öŠ‰'ëWR*Œ"¬Và–¬Ö_`$6¥c*•užúÕWt¼“5!^¥ (ÀXJ\w.tÝŽž Ö¿äØÕ_ƒ¤‡jIÈ ²¶ÉZ <òtÅstí3ì*bäõ “Nb•Z”-ƒ°EZÂvF„Þ‚´¿hìÓ¶Y_}&/ä@òLvÿ2DT®Nëlü>‹U³6„2æ°˜…Ú¿Š¸­i­ €`]Y°‘¶ò­m4Ù–ÜÆÀC–²ÚYñ°”<¤7Ý*ÆD4ÄÞî§äXì/\Å*‚),©’ƒ´Ž–”u_B§¢`(¬ÞLO[mwFÄf" ál¹ÌŠÎ˜­Ue‡÷X°ÒùâxŽõ}FyYº¢Åyˆn€°Å9;wNઠC¿O Ñ·80Âûl§?±Úl‚±;rIõÉÎ~Ù Ó\&€lZ èÁÇBmPb]Ç!+h[wj¡;:`”ȵàp“ù´ßá&=ªc‚ô8æ8ÑW°mZ’ÿl/¬›ÞMM”½µF–ÎÛë6³;‹õd÷à ÜqR+)^¤?=>RW+¼ÓSùH ˜ÓÁΓ¶að`gc‚|§ çSNâëàqO @µ«{'/ÛÅòÕ"®^ImmµíønƒˆÂÐ+;^;N77¹½ÐG#6ÚpòÁ·ÿXî`Œ×ïžwÎín®MðLcMï0à…ÿx¾´ÛŠ{<á G ½îð‡O°áŸ8Å(ñŠc<ãò»¸Æ;îq´qüã"ù½BNò“£¸.ðú¯ø ëì£éŽˆ€IñMÞ°TÛ'v,æœ Ó!»¥v‹ß\b˜A˜Š³-$ãI0•"¿C߯’¯kÍL¸À–«îÕft“©ô]™ÅçbµÕ“o!Gˆ^OSHB”àx0½Þh¬g‡o`G’H^M¦¯êR¿¥ÕF~&®Gý% À÷Å®{½Ïøþ™¼ÿýl+7Dq 2B…(AZÉØs¦²•=ÃmÆ×÷CsⱡÄ$qàÉEp´!|\dý¨˜Ü‘âÆÕ[¸#)ÑŠ}èÏ ìGýEÿA!lEžìŸÕØB-¼E&NüŒ_öយߜŸý¥ÀsDMøuæŸ|x3½Ÿ±%ΑH‚ßžM¨ÑD”‰ÜEŸ*L_ßáÀ…<ŠðÌØždG|¸„ähØ¡¨Ó˜ƒ7@a F©4Ìd¹À€¤Y54u]oƒy”ðÈÈg´ŽØÆtÆ8‚¡À_©ØŸªŒE ‘ øà;˜Ý°0B `Ì:ä ìà\háíCÀ˺€º}†¥]õ©AàâŠuàJø!™Ðè·í ‹ÙMÏø}—Ð ËVaXû5sxÞÀ”¡h…:YW ´†1 (z“~Éae ÿ:ñ‚7i…;ŒZ‘ì›,ƒÖ ÁŒØ‡áÂäÛ‘Ñ! ŒX*Y‚O¤¨Dź9C|p;¢' DôžJB\— Ä‚ ‘ÁÁH@X wñT$:'zD!Ø‚5(Œ.> ÒpXÛDH}%µF%aÃpM ôÈ=*˙Ćðß+†Æ=þV ¨#`àb9ºãAœ-C@jÅÒ°p„Ȥ€1N¢D¹ØGGØÆP „l 4?¡ØG0“™‡àD ‰=DÉ´hBCäõb/NÌÌ`…%– ¾Îà-,10£ÑÜŒÐðBRÜoÄH'„ᜩÿ/lÌë0€ n”™¼¤ÈÀXå_5O.CUò`Ý‹PΙ­Ãž˜Ë$ª [ZĹŒ’Db†Ô@B~OåD^tGJØÞ( EÑæM,¥lG`ªÀ‰¼TŽ•HÏV>Z>ψ”]tŠí0SJ,†€xV@ô%Ð úÀúåA§¨ ¼•¹,ŠNŒYÊXÂa¡L¹ü†_°_ $ mÎÀéÄmŠ@I‘‡n¾d §N$à„y8ÆM\e2 €YÌÀiЦ5,Õ& ´ @ÂÎHGy”ÕÈ cëHÔxRd~¬ÕyÞÆP'O¤]Sb 1„;˜À>@@Ü¥PÜöà àÿ¡K˜àøS7è÷d™I6Ó‘a75“´ŽÊ`6D'(ÐÃ$¬ß!I¼d™fPW× [!¸H×ÀÈfÜC9Þß°¨D]<8Tû¹GºÙX„H TÆÇ2 f)šhXEä=ÕÀràƒýFJØ fëüJ!¤H‹Â•lræ`IT³ÜÃ[M$@ƒÄ§dG|5ÃwÎ( E§œ–!ÜÃ-rHa(X¶P¤&ÐÒg¼PT@œS^‚/ÈÁ%pØ}A†â Ò¨m€ä…¨¸eQGäI”¥LÄLÂz9¾éUŠöm¢ú×0êÿi‚zPJHZ„xCú˜D *±|V ŠÑ¤Ñ¥âšvÐÃlI'6ƒ)'Œ¨Îé ¥(Ði­i1멆‚ ÁN.ìÉIÄÂÄ°)¬DØ, ²f‚­^‰ Œ‰2¤ÏmDZ›W\È8ÀK\‚š-‘5ÜTTDl¨J’ºj\ŸP¶ä9 ÀÞÃnä×( ¦t àX‡,‚:Q‡öx¦åTƒKŒ'åìQek ŠÑ[ø\Y‘õÞëΞ ü„•´¬É؇©ðÅËBI-Ýö¤ä‚˺ÉɬVW”^=ü’Ë:c{è¬3iÈ*­Ã%-+8¾ð›  ºÿ ""ÕöÛÒÎUÓ®B»¶K¯ š¶¥$4ø*4ˆÜÖ’×PÚþÀÙ9CÙ>ƒÛZ™Ú"mLv-ðÈΈÊà#äCµ&,V$ì@Ø-DAÈ‹ ¼‡MH—JÜĦRB$«Åø×á]¬x G ¼…ô­õ­AöqÆwj. ¦À‡ý€;lTw°‘º€ê¶ìG>°Zw$N'`Æ=¬ëw²†Ý>Û*ÃÐôWüæm¢W\‚¿ vÚs0§z”ÃîHBy,‡C %œço m>Ç݇=<Ä|ªø/ä’âo‹L†ê s®ˆvBÂ/•G~"üÆGCPçFiÙ+åÂIÿGÛ@Õuz£ï‘ÇšküÍI"†Â¡‰peü8DbEó¼Cù‘ÅZ"ÞOLa/4‡°\ AˆFÀ(p·âÀ^±ÓäÉÄÀH5¬ÈhþD<<Â…¬¦ ¬°Ñä–±HΘŒh=0w,Þ–‘üá:Ä„°rdc|éfÂeA$EÞº¬HÞMs•£äEè–©ËE  &ô:ñm’XsÃkñÇ¢¢ë‘®bê°ÔÈÀAsÑ,^Çþ$KÛÜŠTÂƧE kÓ$ÊáHq.Ùq¯î+ì|ñÓ¨¢MT±\ íÊU$g«¯q©Z ðˆ$¯­ûï`ñZØÿ¯rUån!f†#fl'ÊIÖ@;¢#rÝœòÖÑß^ÃÓøä)¬ˆytAõiETP1ÏÙKø¤MÀÁŒ 3œÉYA,î*0(ƒ¨(£Ûì Ü‚`_'à1°´ƒ-Güô•;ä‡ØƒDÄ Ã3µójòæærSr8ûA'D¬_â”es ƒ¬ˆIÜŸü†ßЀAcì¡\à@ 4ÿñM¶Dœp;ÇǺbs6£ë7Š[ÔE´HâL8-Õž!8còQ‚é˜^IÓžöð¿±Å¡Õ_Ÿãá^ÀO9X†ètýÄè­ôɦ‚mHü’ üÿ’#a4vž¤ý’gDõFŸë5/¢ŒÅHŠú¬ Wû®CÈr‚ú¬Y1Zÿᛸõ\ƒœ6#]ãuÄÙu^óu®Šò¶õu`Kª( va‹ðvb^G+vc#"a;vd—&dKve/¶W[vf_ö]kvg«b{vhÑ_“¦h›¶½Àõi«ö­¤öj»¶’´ökËv]íõlÛ6»Äöm붻Ôönû6Jõöo ·Wäöp·¹ù—ÕŽòq37BtcqvsKw«2öt[·ŽU·ÐqU°Â6¦ ¯ŠÜ Z6h PW™L5îBi³ xw N† Þ !ÞŠ!†rv» ÜR"1ª¡©$ÿ[ ÂëPß¡€øž¶´%ñ7€e\^(ã=Bì ßãÅ^ÌjžzO\RÃâé@tû€4¶C[‡Ä5Æ@6z7Gcv;$Ôu¼„=`E¯_žXñWNÚÐõuà>D(ºƒŠ´¡?Ô9¬ p ®_¦Üì&Ë}$"8Geå3ˆåI:YH¬$›Ó‡>¶}«x Ldñ×@äb 3­ƒ~Õ8ÁL!ÚÀüÖ‚ô­9ÀÎâ„X¸}´!!ÍÆ*¶!#TCvŸËÙå˜HËM-ì%yÈŽƒˆ%XLzô•¬f¤Ï#FÒEcz 6‚¦d¶e`TZ¨cffLÿ”[¤ŸgBfh>Âh¶—ë ÜãV³è‚ùöùA½¬9 ¢:YE”À2-Âs.òä/º"c"{kœIܧ´êç¨æ„Ò`€Ò O˜CŠp$E(äç‚Žm‘8è&D¨}LèKTh™j­¢Sl(ƒRÂHÍa‹òÇ"wDEÎúzÙ(CÒI?RÞÛ|Ob0Ò±‰Hä@"û;Òœš2§´)óEœúÁœJk Ü)FëžÒAŸŠxe8‰ ªU5Ù¡‚-ƒ¸:*¹ˆ8†¯]pc´ßd!/ø‹°y 1ˆ%Á@å í‰Ís N;¿ ZnŒ÷áP²üÃyª¬ƒÂùl;P˜ÿ°ÂÉû¾­ªR´j Š Yˆ€¬ŠnÅóÌ­šTqƒ…u99€ ‰cXƒíEïLuçwòFá ÞpÆŸqÌÔ-à= =l‹s¢çCŠFn©éa-Å«ok®ïg (ëëd|ö„èÒ`³NkáBϵ–«¶:<·’€lÔòɯû~l¾_{ù6cÛvÇp1«Ä8X)+mǤôÕ%4—E›¨íd)aÈr9ú½Ái‘bqŒŠŒ#(ûÄÅ+%ÐkJÌ>àë 3¿ÒKØ,ü©óÀ*ÁÊM™ïh40¬CéÄ’€Ä®PÞÅnÕ¼l¬ÃƱË_7lˆ¬Kc…þö˜ž¯ìyëÿÿÉ,”D @Œî8°.Ð(4@ðò!´æ`Œh¶—ó J§ÔªõŠ <´j ‹ ‹Çä²ùŒN«×ì¶û ËçtÒö–~ëü¾ÿ(8HXhè¦Åå•wØèø)9II™ˆ·X©¹ÉÙéù *xɵzŠšªºÊê8šÙ+;K[kk§8ezËÛëû \÷:EÐ|Œœ¬¼<¼ìü mÛ,]m} IÍÝíý½¶ >N^n.nž®6³‹þ.?ï¢eÐBŸÏ_®€ðà€~¡ö(F0¡5*ôd©‡0ðà^ÅMwmüøK‡–îÿLt⑤ʕ,qaÒu²¥Ì™ü:Ƥ‰3g¹DŒEI©3¨Ðnx©çæÐ¥L•Ùl 5ªS“°¤Z½:*L¬\»²Šè5¬XP`Çš=+©,Úµl©m 7rëÚMC÷nÝêµ’÷o[ ý Ö¥õ°â û.Ö“øñá}J®¹”ÒË\(áŒ2ó  K£}j:õZÔª[‹eí:6VزkC¥m;·Pܺ{Óäí;øJà‹oŒ¨Ã¸r•—;OØü¹tzѧ¤ì8uuëV½ûÃƵ‹4Fó¹Ð3É©ûù5Ï¿PA?ÿ7âúû;ãiÙh›ùG`0Eÿµi.  >˜U{? a…­8ha†ª`¨a‡dÙW…ŽÈˆ#(HbŠœp¨b‹D„Ÿ‹2–(áŒ6dâ:NÞŽ>öÑãBÊäF¶Qä‘€àN~ÈüÀƒ“? ÑÉ"“¤’hñ€ ˜ àÀø£øÈÑfe–|^&c¤ˆ™?ìé `  Ð1(sbSç–w ³(C˜™ÔpC 1z)"´“iöà© RN‰ÇQxI&_àsÀ”C\„@ ¤ª2ø?äú–®¾9B¬¥.*QdB°BCÜÚK£ºÿ2§c2 w5pÀ |–À· p a Ä8°c.€ _uA½ ØPÀx§a °à.¼&€€À.$`Ô†€Âˆïû¾pQ °hÄ°ÀÐÃ@”½»^„vBñr eôm08Z˜Ož˜‘” ÄÈa‚ë/øËf %a%hL&~ŽF%=‚w+`¢Å@Nk‘€™ @À‹bÛÅ?06ÖdoáC7 4 ¤…]ð`ó"m‰”Ð/6ã,Wž/tÍóÀNÖ Á¢:(@¯Ò/16¦Sû9R ÿ7_0Ôã˜;)nX/º´•S»í¶ ÈF&㦇ûvæÊ8Z¼p€6 ¥ ¤ú”‚š9Ÿ±X±Â¨S~šÂ”d*¿„“X «O·Þl^˜‹—gÏ ‹f4‚ [†¤/lŽGP:°…Û?õí|Bð:ܬ?p(ªavpãÞ0¥9o$¼ºý.GxßÃ@6y- G€Æ4, 2Nà‹ÎÕ‘!sTCÀ0·Â…ÙADÀºèÕ’0ƒ/„p·£!..ŠÃŒaèÕ…MP;ʘ¾ˆl`Ò —”l †+02€,ÿŠ)S¬bêÞɤzýBÙèg€ô=`LPÕä5 MG)†ÚÌ8Á½áwïšáþÅ4f€OåÇ È˜±`lQk™R(=-M àÀ‚7øå„Ÿ¶ˆ ÓÄŠ† XÖÔ€‘ 0۸Ȝ«al€(°,‹Õ ÷K@*Æ€)5,"¸½³/˜Œ!6æ~i(LŠ†Cè—@<–°lòÉ™´‚_nÎM”¥@æÒ‡‘aºlˆa d €†q¹@”!ü ¸°€CbÆ•îâŸ_ìé7 †|7 Á B&Ì}ÎìœÓ¥RX0ÿkdhè B,}†áÙ ÀGR“†¡nv^HCˆª”¡d£gj.ºœŒŽf£ÁSCæw†OGqåýêÁÌÐÌ)µƒìžöTˆžrY“©S!`L0ì9é¡rJA4 ŽŒ­)Õé±Ðe¤í Ðùy‹lµL'Ê@zÕÈA5¤R^ZGQñq!Ú"+§å•} €†4$V=gæ­eÑ´jsLà)5vع¤fa HðÑT–²¢ ÈÈÄP{2€^ìÔ+b_c"òd¶}­† "2µ ¢¶¶µPD0âV@¥·ŠalJÜi!‡·ÉmîO(˜HçJ÷¹‚àÍt¯»Óêbw»Ôw¿;>킼:ïÊkÞ¡7½;Z/{o ÷¦÷@Þ•ïtÝk_á7¿*Ú/Iäßÿz(À¾mX ü(#¸B ^ðƒìàA8ºÄÍ\‡á kØJMÚ°‡? b‡xÄî0‰OŒ:«øÃ&^qˆ[ìbÃ8Æ*ž13lã».Ç:NqWÌãYÇCÞ0_À4³$+yÉ3#“Ÿ å(÷EÊT~²“«ŒedyËP¾2—£ìå/wYÌdžr™Á|f4§ÙÊkær˜Ûlf8'ùÍU@;PK³ ¹+h4c4PK\8–AOEBPS/img/odbc_empty.gif¶WI¨GIF87aÆ ç÷÷÷!BR!!!!!B)RcŒœœççïçïïÞçïÞÞÖ÷÷÷ÎÞç{Œ”!RÆÞç„œ½c­Ös”µR¥ÖBœÎB”ÆRŒµZ„¥Zs”ss„sss{ckŒckŒccŒZR”kc”sk”ŒsŒ„Œœ”Œœœ”œ¥¥¥­¥­­µ­½µ­½¥µÆƵÖƵÖƵÎÖµÖçµÎÞ­½Ö¥µÎœµÎ”­ÆŒ¥Æ{”½k¥Æc¥ÆRœÆ1„½ZœÆ¥µ½œÎ½œÆµ”Ƶ”µ¥ŒÆ¥Œ½œ{½”{”¥{µŒs­„s¥{c­sc”sRŒkRŒsJŒŒB„ŒBs¥1s­RŒÆcŒ­RœÎJŒ{Bsœ)ZŒ{s„Z¥Æ„kkµÆÖÎÎÎƽ½Ö½½ÎÎÖÞÞçÆÞÆ­½Îc”ÎsŒ¥9Rc9JR9BJB9BRB9RRJRZRZcsJccRRc!JcBZR9R9)99)B{„Œ!R„{Œ„Œ”Œµ½ÆR„1ZŒcŒµkŒµÆÖ猥µ{”µsŒµs„”œµÆRs¥9k”J„J{)R„!J{œ­Æs„„!sŒ¥1B{µJcs!1BJ!„JB„c1ŒZ­”sB”„B­­”ZœÖc¥JRœsZ„„k{sBcss9J„½kZJZ­µÆ„9)Ö¥¥Î­­½””œµµB”Z9”s{Z„sBc1B„¥œ9kk9{1!¥cZµcZµscÆscµskµ{sΔŒsJJRœ„Z¥„Z¥{s9c1){œ1)µcRÆkRk­„s!Æ¥œœRJ¥RJ­RJµRJµRBÆZBZ¥„Zs”Rs””¥µÖœœµB1R”Œ”Δ”­µZRRk„RsŒsµ1)cB”{{cs”1)µ9)µ1!RŒœZœ”{ŒsJs„k¥¥œ­”ÆZJœœ¥„B9εµµskÎskÎ{sJ1)Æ{{ŒRJÎŒ„Þ”ŒÎ””眜ZB9B,Æ þ0Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(Mþ8°  bÊœI³¦Í›8sêÜÉ󦃟@ƒ J´¨Ñ£’*]Ê´©Ó§P£JJµªÕ«X³jÝʵ«×¯`ʵz´ìQzÖ ‡¥Û·pã²,!·®Ý»xúà@‚ Z"0(ǎÈ*„¡±c †"Gt¥ò4h $ÙåÏ›CMº´éÓ–;¨^ͺµkÖ‰bËžM{Š–Û¸o+ÚÍ»7o@Àƒ |‹ñãÈ·èYμ¹sç¢KŸþg‘õëØ­Gν»wîÉÃþ‹O¾¼ùóèÓ«_Ïþ»ûçÕ³/bD¿¾ýûøó3²þœ½ÿõ€lAÜ€ç[nØ`C["¯5¸jƒØÁ Vhá…ZXÆÖ ¸"∮hcâ‰Úô£âŠ,¶èâ‹(¢X"Šbø3„Œ!` fCb@î°ØcŽuf¤‘©ä’LJÚ“W†+˜as¤^kh£1'tðéJW-¢¹î=¬ ¡ÿóÁæÀ.våšÝrŽ¦»-äî….|¡ y'߈7^‚W–$ØâYb þA¢‡h6Äk#¢Ç€‰y#øÀ‡=¦HÅ*ZqŠmHøìñ=–ÈáŠ`¤bŸ¸>¾Y†ð“bxe¸ÄåÏpŒ£çHÇ:þ¯€Tœ—²‰Lf›!ÖcSAÐ)§9tMçÁzg„Œ$y¹œqa…²[DæÔÂãÌð“ œ¡ wWëõ&‡›“à 5†G¸ò•°|DÀ~qA‹J\bŸøÄ0ú²‹Z¦@¶èK0òÒìû ?5†H%;Œýô·?WâàšØ̦6·ÉÍnr3–à´ãñÀ*Pp–sàcy,BZð‚‡¬¤¹ÈÓQò‘’þÌg>ï©ÈKb’O*\ ÿ#(†ò í$rLyÊwÙL‚¬g,åЀŠÊÁ•µ¨D]9ƒ&Òã£ôF1Á(L¶x1#½"HéáŠKT ÊLcЂšÚô¦6•À X° œìÕ¼æ †JÔ¢õ¨HMªR‘êÍn>âš®'ÿÈ©=î‘ÎRc(ÓÎf'ž££§Xÿ¨{âSŸh…$%-yö) Mï*Ð T erØ•5-OxòŠèF] ‡14 pÀhEpÑvt+iJ­XR-¢t²U\iK_ ÓÊ,³™@ŠFKÚÒŽá´c - TkÕ 6Xþžlg»ÔÚÚ6©MÝæ+ÅIÕüÝïª œd¸Úw*¢8ˆDÓX—»³v'­Ð á=OèÖü¯œ%^s÷F4‡»yÝ«¡ªµÍ1ÈXšA6Öëöº·½x€ƒà G$2i¬D¿ È®”õ°=Là8r€€‚,‡øÁp€W ŒÍb¦³Ÿu ò2<‚š9x*Qakƒ›øÄ(N±ŠUœ¼'ﶶÍm6£*ÕÞð·ÀE™V‰ÛXÐ8Ì¡Y…¼Ü–Õ¹à‰®’«æH¶>­ºök\ÑJ×yw»]èxq˜óž×A2ƒ$ÆLæ2—ùò…ƒþ bò9$áÍp†3+váŠhHãÎÒ˜†ž©ÁgxøùÏ€4 2ÊXúÐæ35ô< °XÅM„WÖDö“¹ÔAr’—Lnu5ÙÉ䂲ŸÆÍžƒÞ¼ Ôr»È{/Ù5zD8öí~÷ûx%Zð€™´¿†¿û sÀâʈ¸ÄÇ1tXœâÏxƇAh9 Cã §øÅþ).q‰#Òö,¥³aŒ d8ìh= jóï©8j&4„ÍÕ@:¬ÏôØÚ@©žÈC(z½ ZXà¾þÁ5cqŒ»í7F Ž·Ší ¹òô6ºé‰&q;§Ü€GšëöÞVuïG…S–« ±lÖ+ëµP꫼ܠ|ƒãò˜ß·æ5/‡™< r‡Âð†?¼äO‡êWÏúÖ«žã4ñ¸ëgÏzÔ+ãä’†i†ƒ´äÀ1WpÌ Œ! ¡föþ„ªsžû¼mÐ/ºŠ‡.ý×K'ª¯—þõ`3À²¾õ"ˆ"0(èh‹N˜ýŽx|;U·º«†Û‹Œ¾#9ž+xÈ-ÄA†'5š”.qâ]våwßõIòö;\Öeæõ–‡y™·yû&œö •þp#x ¦q¨G{´{5!{*èz¶‡{†»$½‡… Q°ƒë@°`0Æ|A•s͇aó›ð_À À¦F DPuJgbœpj¬fJhj²Ðs6@}Vˆ…%¶sÄvFHTž~F~uÙvWG~8`~Tðí÷~rÔuU°?„vºf¥ k©u;?„ˆvþík£ÀcÚ–‡¤wüÇ&ödV=€x‰sòA„gx›'ßå€yˆS@y¬)Þ€¨Èirðo W‹&èp(Xrãð‚¬ÇqØf¿è‚¼˜ãƒ(7ƒ5˜½GR°ƒQ@ Ö@°XÆ×DbÌw;×s_ „Lx…´°–L˜tgЄypŽ°ö.p ¬öäà…`hWHtëh¥Æj÷HTAp »fTWXnˆME° ¡0~Z7~Áö¤p ;@GÈfu}8 Òölj':@ˆ†¨ ;€v¹P;Py u—>v\Ü–w@‰knÿd–ˆþ‰2郷‰óaxp•‰¢è¤XŠXCo·‘Š¨¬èŠ¯¨y•Ð/•`‹Ly‚¶'r#·‹ª‡q¾Ø‹²øq!Wqè€qƘ{hŒˆÑ{°ƒÜ@ ÐsØР׈sDµ>çèxŽ_ áØKØŽYˆ²P?b`È—&¶x©6ÐŽ<ÇþÈkEyMê7~²¶‡È&vuT†©°‘?¦p €‘™‘‰v[`Bò ÉP’>öU*Id,Ù’.é\8“¶I“¨ómOežøw%(;Ù]¢dó¶93yCyû– ÌY‹X)Li‹Ù °`{Ê° Û@qØþ¹Ü¹ XÙfð U)‹ÝÙã°_9ƒa¹rc e‰–ÄP Ñ(s`Ц|py„s¹„MØ ;6™Ð…Z¸„[(k]˜t´€˜&†ªl8°f ÿ8Tý8¡Dyu) q¨u9€vˆ ˜Gå”l[°É&k )š¹‘9 ©€š…  §Àšï“Ó›ŒÔH÷€zp›@z'5i€êÖ›´³€Üœ<9œÅiœÌ"”›“o× Ñ9zϹpXºpÙà Ú`{åù¥ØÉqýža >d ¦Ý‰z–by½—hY Æ` Íàƒ,±`x€ŸÙ(—zùþ  êÞ¨bþíX…%Æ K˜b;瘋ZTl¸†N—¡o˜UÀšwX îG¢D pÈ vÄ¢…¨ªPš0*£4j£(™’z \:ÊAú£Az«K£‰DZ¤ H5¿yeHÖ«ï!C7’‡ŠQA¥ÌêWÚoVòÎð Ð Öêh{¦hÔP ÜÚ­Þú­à ®Úºh†gÖ °pŒÖ¦;Ð{EŸsÚMs¤ÕÓyZ„qé|}ÚŸ;0†º—Ç  *æ„ÿú…“@k‰é^XbʨzØGTshsÈ¡Ø "ª?Y§|wˆv£Ð?Te î×0ª¢Ðvªp <àþl"ú¢[ph€ «y&y£A&’h“à6‰¢ˆ«@[‰5¹w(¬Ì!'IjVš45F;Š0Dœ”¸a3c ¬h /òÅ/pÐ6fh0f  ®À d[¶½° h‹¶Ì°¶lÛ¶nû¶pÛ¶i›¶½P¶d .¥žìÚ{A ±0D†µ–÷š¯Øx†r9 i°Ûsƒšt‰gð³Ðsž ‡š°&æ¸:WÛ|Ž‰†J'™¢l[‡9`~›šµ v Ú™]'ª Pvd m÷lˆjg´k¸ £p2£È‘{0 9£VWw' OA¶£º‰þœA;½šø¼œþÈ«Gv¤ 8]K+zp]È;?)µA™%6P ‰U¤¡žìÛ¾–’7° ¯`¶½à ø‹¿¿°¿üÛ¿þû¿À¿¿¾Ð ½ Á (0 lÊžnúƒ‹ÁF´`…¯Ê—ؤŸˆKþ9†Î7¨6tº†ÚÁ— E%ÂaÇkú°Û„kXøJæ'k!Ë?ehj¢š?xj9왲ƑÀ{j§Ð'ƒ ¦£ª`j§° š€Å›§F‚`³Ëëª:+›9Zd?£¤Ó´Õk½7É›M‹]ëa«I[BkâŽ`j<Æ´ÓIãK¾ÈI…`vP ¬ðÏ}|ÜÇbÓ þ`@"‚<È„\Ȇ|È$ò °€—9 ·Ü®&„[¸EU}Egk0ÆTMKvdc8–c¢Ü8ÅK õwmT|wÌûª44z×ÊÙ¡A\ÜŸZB°ìO¼ú‰þÑ€h\-m¼¿ìÆpµr<Dz_P ` ÌÜÌÎüÌÐlÒ<ÍÔ| Ö|ÍØœÍÚ¼ÍÜÜÍÞl͘0„À¾ì* ‡pÎèœÎx ÎxàS –Á—¼ÉòŒ[2†°TGÓfN¢œUü\Êö—mU “¬Ld¯¼’z§¤¶JËAjËÖ[´ì¦´ÓËA㌠ÆÜñ´MzŠ8…ðc0"=Ò$]Ò&}Ò#]þƒP,ÝÒ.ýÒ0Ó2=Ó4]LΑL+J22…ðS †ÁÙ8Ï1VÏØDcŸŒGú\mü,\êÔ+ R̈­]Õ=Ë ¤_48PrBI‹t½Æc¬ÑqÌѽCòB,¦ñ$GÒÔp-2íË®®ò®‚8Ô?8GÔ36XF-Uð‡GçÄ@„ÓÔ€t؈-,•ÑN&éˆÉeÕHXÕ¶ùÅ<ëVC£Ëe Ö\½b}ÑMkÖÄ,ÇP XÆÂÖ¥o׬-+8ÍLjÄ+AÂ8ضØädUƒ$…M$‰9<܃d’U쪯ÙȽ?KÙ·ÉÐ`\x˜d¤GþKBfE´ú1ÖÒ-Ú£ÖõöPkÚ£áÖÑÚäݯ Zó+w×6†ÔÊÀEؾ2Ã’ê²^çQƒx€èa2èOjỎè¾ìê´®\(]Ò¨ïò>ïñ~)ö~ïø^~¼ïbƒÉB=Ï|ð?ð_ðÙôïŸð ¿ð ßð¿T¿Mˆ0ñ_ññÚôðC[ŸMÿñ ßñg¨T$&þ}ü}ùžò*Oï,ßò.Ïò_ð4Èž5€wpó8Ÿó:¿ó<ßó>ÿó@ôB?ôD_ôFôHŸôJ¿ôLßôNÿôPõR?õT_õVõXŸõO1O+ëùè‡1w°`d_öföhŸöj¿ölßönÿöp÷r?÷t_÷v÷xŸ÷z¿÷|ß÷~ÿ÷€ø‚?ø„ß÷w0æ_?ìb_øŽÿøù’?ù”_ù–ù˜Ÿùš¿ù€øæ=ó`¿Ïù¤_ú¦ú¨Ÿúª¿ú¬ßú®ž Þ0ú¯û¸Ÿûº¿û¼ßû¾ÿûeû²/–¶üÆüÈŸüÊ¿üÌ¿ûžþoæMücßüÔ_ýÖýØŸýÚöÏoå‹$Å¿ýâ?þä_þæþ…û’‘Œµ?ýèÿþðÿò?ÿäøІ°{Žþ †þÿÿBà@‚ D˜PáB„>„QâDŠ-^ĘQãFŽ=~RäH’%MžD™RåJ–-]V¼3ƒ!C3 @À`žÝ¡ˆÀP¢EEšTéR¦MQ¼„UêTªU­^ÅšUëV®#cö¬y3gOž?ƒ6E›VíÚ¤ ݾ…Wî\ºuíÞÅ›Wï^¾}ýþXð`†]7~%+–YŸ@' eYòd¢)_Ɯ٩eÍ=þ–,ôhÒkE—Fšsê´§Y³}j8#➊›}üZ·Ñز í[xHàB‡ÿ~üdqÈË®œ"mž¶Éâ–¸z7ëÞÒ¯2÷¾"xñß“—Iž«ú®ÑÑC ŽÁzOìµÍ“_¿gýùKw*öôn@]2ðÀ‹4ï9äŒo¾²Ë.©<Œºp© ™Ú?=PÁ•ѹæJDð<-"±ª­r½qZì: í³ð¨uDkÇ wÄ …†²?ýȃH%—d’Èþš„2J)£LrJ(™kòI+·Ü²Ê%µä2L+½³,•$³H5™4J0Ë„óË8ÍþMN$³,²M'õdóÈ2Ó´òL4ßœ3LAóÐ5ùD”LEc,oƱl< ) 7ì?ÿÈCK7í”SQ9ݯ-;ãÔÑBáTTÌCׄuÕ.ÙDSV1[5´ÎAíLõT'kµ•K\¹|µJE=5Í^½µÌb} 6Êgm5Ie™…õѽ“´Fún„è¾Q‹ú‘Ü;¼tS¢Ê]WÓßå Úf¥7Z*e¶^{iÕ÷Î}ï]õYUýÕ÷ZyÿÅvÎióûY^¡]VXguM˜`„—Ì÷×j-öwYm!”)1o÷!q/]·SLCÕSxÙ7梄ì·ãŽFçXÖÙZ/}þTçœ>òg?ïzÈŒûì9ç ¾¹éšÕj¡ß|²è=›NšN¡ä8b7©<h5¯>zhŸ­ÝÚj@VÖaj!&mœÍ¦cŠw~ºj^ËæØkäe›ßfRñº%¹R=™]t9<×Üqr(àœsÌ=÷<ÐG½óJ7}tÒKguÕO]t×aï¼õ×€@ RG=uÚW'ÝtÛ§½wâ…GþôÙó ¾öØ‹^ùÛsŠwÕgçyßw¾{í‡Çzç—OþûÔ©ß½üße¿½x#}7¾ûæA7Ÿxãч_{ùÝ?ž}ïãÇ>øÕNí _çþr²šðÄjŒã g¹Éª‚í¢àËÞ•¹£l.yD]üŒ@û]Ï„%äù¼·¿VïƒÊ öb»þÜŽ„½“á qˆÀù‰ïxøû  ·'½p…ó›a {˜CÓq…!ôáYHBÖ/ˆÑS ‡¨¿®OŠQl¢ XÃö¥Š ÜÞßš8‚õ WŽ,¹ÊaÐŽu¬ Ëî8³"0tgdáþ˜xÆÏ)1ŠLÌ¢ Ù:2ò}^ü"÷¢GÈÿ5ÒˆI$çœø¼no„[ôã )Â%ž0‘é;¢ÿ:™ÀOzÒòc¤~Î'FPVÑŠŽ´di)ICºÒT£ŒdþBš¼±d9™‘0´É1s™¥:4ÑÍö1’=Tb)‰MÒ”šÜ%)%¹Í"jÓš°3'Ë(NL²p“%\¥5I™Nvò—“tg8ƒ'ÄH¶yô„eO)Ïuþ3¼|ç Ø?N–1˜‘ 1)Áípçœõ¼&@ùÅò‘àT¤ ÛYJHrS£:ähC½YR¢Ò†ñ|!>¥¸Ñ”zô›-t)F±™É^®t‡äü¡>_ÙQA 4¡µ¼bRo Nå#£Tn*ªŒÁªVÍÃUµšÕ1p«ùÙªV¿ Ö«ö§¬gí*Z»ªŸ­²«i«Wå*Vô‰5®p]+Yñ*þW·â5¯Y¬]ÿÚV½Îu¯eíë`ßÊתժu «X¹Š¹¸zU²‰5ë[5kXÅÞu±ˆm¬f¯ Y´rv²F"lbS»ÚÓ’Õ´ªiA«×ÎZÖ¯µllu'ÙÜbζ¨eme¹úÐÅ¡6ê·(:Õÿäֹυnt¥;]êBW¶ÕÅnvµ»]îZw·ÝoxÅëÜëŽ×¼â-ïy«›^éÚv¼Ä ã¢Z!ærG½÷ůtÙ›_þöW»ûõo€Ã `˜ÀÖíS¶ë^ônK:òU®Të‹šª"ØÂà=ð…5Œß oØÃZíð‡ü]?–Ä%6qSE6©ÓwÂÍEqŒézbþט»!¶±€qœãé>î/|¹²Ú$wBË}1ˆÀ°d&7ÙÉO†r”¥÷ÙÏt =hBÚÐy©sïŒgF7Úцt¤%=iJWÚÒN4MF”uÚÓŸu¨E=jRG$ÓÇ̧K½jV·ÚÕ¯†u¬/rjÇÉÚÖ·Æu®u½ë«ÐZ¼v°…=lbóÚ×..v²•½lf7;¾D®Ž‘lgWÛÚ×Æv¶EÒ­ìÄÎÔÖv¸Å=nr+›ÛÝþ6Ž†Rnvþ·ÛÝï.õ¹[¬îÁÛÞ÷Æw¾…sntk™ªÖwÀ>p‚£„ßéŽãº ¾p†7Üá‘7Â7­ð‡WÜâo7¿»íïTSãyÈÍ mùШÛ'ç¸eD¾r–·üÖßAÊîrš×Üæ+‚¹Ì=~sž÷ÜçÃÉ9ªUþs¢ÝèU z­¾t¦7½$IÿµÓ¥>uªÃ„È…(„bN¾q¡Ï¼ê_ûÒƒõ¬›|ë:¯wØÕ¾vžÓëZ?{×wÎvº×än/{N¶s¹§Ýî|ÿBö¼ë$îJ|âð˜¾ð{Gûâ%?ùw7¾'‡;ÊûNyÎw^Û1Ù»b,`Í#þÞó§G}±A¿uÑžë¦O}ìeëÕcžF£Ç}äg¿{Þ¿ºöÝn}î7ß{â?ÔwDèo{ èÞøχþ¯üœ0¿ùÃ~öµÿàäw{ôÁ½ó·?~òoeúÞ·ø¯ûò·ßýP™>óÕ/þ÷×ßþ„õçýû÷ßÿ A>ý£`>úû¿D@˜È?ù@ ?þKÀ”@øX@Ü‹Ð |@ö›Àì¿d@ÀÀ $À €@DÁúA ĉ$AäÀ”Áñ[ABÐ $Á „Á¨›Á$¿ÌÀhÁÔ7DÂè ÀB$B#¤·‘è‡Èƒ¬¨þÂl»ÂOËÂPÛBŒèÂø‹C/$‰1Cß2ÖHCXÈhC¸Â7ì´%$Á&l€ÈA(L8¿ëˆ-ŒC+´9”µ4D7¬Š?µ7DÄ2ŒŠB4Ä—pÄ” Ä>tE¬ÄŠÃHô ä#B;Ì<ÔÁ܈/¬BM4‰I,6TôSÃKLÄŒXD)lÄV„D­PE8tE1ÌE‰ÈDáD&lÁO|AQÄʼn(E?Ôˆ˜B*ÌeLF^lÆ,\Æg\F7lFf¼F6¤ÂKŒÃgdCoÜÆlüÆl<ÆJDFq„ÆRÄÆndÇ0¤Æk¬FuGRGg„ÇhüFŠpÇ|\ÇpìF{þ$Do,GlÔFk¼GuÇx,H‚”FpHn4Ç„ÄGƒ”Æz¬Ç†$G~ŒH2¤H^ÜÆìÇt\Èi<ÈŠtÅcìB’œB„äÆŒlÉv\£AèÄ`Æ"$FXÔGDôÃ]\ÄXLIfäÉ“TÆG,ÈIs J£Ê¢J~„Ç 4Æ¥4JŸ$JlʧüÈ¥dÊüÇ…lJkJ®ìJªŒJ± K„ʱLËŸDJ¯ìÉ“$ˆ$Ê¢4I«4Ë­ôʲÌʼ¬K®üÊ\ÄÊ°œJ¿äË«„ËÃE}$̳Ä˽dKÀœÆuÜLÍÌÐœËÍÄÈÀì˽üËþÒìÉj\ÌÌ|KÔTJ#ILŠ$MÏM×ÄÄÎÄÌÏT̸ôÈËÌÌÙNÞLËÝMA$ίŒE¨M·äLj$LRÔÍ×LÁüKÆÌÁðDÈÌÉü·¹«L½ôͬHÙLÍâtNƒlÎÓÌËyDGöÄ˺4Ïß4NÜTÏúTÍä¬N“œKòDÏ£tÏ1¬Nû\Ïã4OzËxtÉüdÎÿÜÊñItÔËP‹ ÐÑŒHèLÏÓÔOáPœÏøjLîÜÎȼIŽJø$KÃÄDµNÔtÑø¼MUÎÿ„ÏÎú,K½ÅñäÏëUÎ;}Ó.ÝO­TQ0µCÀ1-S/|Èç<ÇsHcœÈy|ÐdLI‰”H×,O åÏ•¬ÐÒŒÒT¥UºLU„K—ÌPtHV…È@Ï~”ÇZÕS=VŒLR‡DV_µÇuÕá Öc É8MHiU‚ Té”Ð|dÖkV[%UºLÔ_µÊ¾ Ö9ÇM%ÑôÔx%Ó¬:Vä {í |6}þ-¿;ˆîÄNW˜WLÂGõ<~ýÁX•×PEB…:‰Ý>Ø€mÁÐXO-Ø#<Øå=‹mØŒÕXíØ(Ù”Ý=‘õÔ°Ã’5YˆUÙ™ <‘-Ù—…Ù“ÝC¨ X5C)uVW¡ýˆž]Å-‰å” £•Åö ÄYœÐ“PZ¢ýUHõ<…Y—%Ù’ÕÙÉäY¨}Z½M+íRùLŽ˜ZbíϦ•å¼E5¬Ò•hC²uÔ«€¬µCÐ[½u™ ¦¥O± ÜEXÂí´³ ÏŸ-ÆS· ÛZ4TÆÕÅÂ}PÙÃÚ’µ¼Ý[è[zÜeOråUTÅJþrýÑ$VÁ}Il=Õ–ôÏp­Ú¨¼ÇÖÝÈ?dM¾|GZ•G”|Ý’ìO˜ìSÖl×ØÈŽÜMß]]n5^ÖeÈqEK…üÖé ÉÓEPkE½;p€Ø\ÍÝÛÎ5X´5ÄKýS§uNÅŒÓÖ¬Þ¹ýMµÜÐe G@%ßÙÅR©LݵËÒ ]-LñßÅœJÇθ½Ësm_E­Róe_ÐDààD]´L=ìÝÜÌmÁö^_RÝRAUÝÊ ß¨eJ)]_ø}K–d`9¥Òþ}ÑÓuOÂåQý}ÖÒ­SÅÕS€4_m…PÒ5M5a¤­^ôuÚܦƒàímÁ/0b#®`”-Ú6P•þaõV®áµÍ`Ì M†]+.Öñå`ê…â.Ô ­Q6]r”U!ÕRÿuPØ-P¦Î…ÍnÖ}à ;ØÜ/°Ã#Fb¿•Ý6FR õád4¦Ü*.V,–ãÏ•Tþµ^2cUÛó=RàŒÚFdváÂÔS9¥Î-ŽÒ²UÚždÅÃ^>þÀ @å$ÞÙVüÑûmá Ýݤ å&ßôr×q+ Q)¼]ÈÕfsΈ-ÿò8—ó9Ÿª0‡*'s+Gò3Ç Ä]ÛKžŠ÷D ¶8§óCGôDÏ ;_#<p=7sWŽaFéÁ¥ik.å>üiˆ0tE÷ôOu¤`tqô‡tþÆr®&aVÉØ%Z…Jà½g&χ”ߪÆ6ìôPçõ^?ôQ”R/sTçó« eÃâhŽTZÇçFf_ƈ]÷õi§ö'öÅöSÏqI?V×ÍÎIf†SVÔ‹–TŽöjW÷uñk¯lð+/v«þ8ö}Îåñw1V`DÕÕávvø€ò¯òxßsnŽz_`á5s—'ú¢g4˜§3™?x%×r£wú§ß¤?Ž1tƒt¦?½•‡ú­çz¶z Sú«Ïò¬ïú²7{Êøú} ûŽÇzÏÓú³‡û³OûM\ûmoûÎ{û¸×û­Ÿ{Ù zS·z¶{·ð½7|½_p‚ÏóÀ·ûÁï< ëÈ—üɧüÊ·üËÇüÌ×üÍçüþÎ÷üÏýÐýÑ'ýÒ7ýÓGýÔ—|PüªçøÆWuã–}{ûûa‡}´žýܯ¼ºOuÜ×ýß'·Ú×öÞŸkà7þp~Æ'þ¾>þæ϶äýå?lç§~kƒþ™¿{΃>hî÷þïÿðÿñ'ÿò7ÿóGÿôWÿõgÿöwÿ÷‡ÿø—ÿù§ÿú·ÿûïƒØ qÞŸw°c3,hð „ 2lèð!Ĉ'R¬hñ"ÆŒ7nl@È"G’,iò$Ê”"ïÜØâÒe"è©YÇ“(ªìéó'РB‡-j´'ŽJ—2mêô)Ô¨R§R5øñ(V£,_”þIÓ¦œ:yf-kö,Ú´jC&­êö-ܸrçÒ­»ðêÚ¼!·r9lØœ%w Ôkø0âÄDÛÚmìø1äÈ’ßâU|–ïK¿_mŠLÖ2èТ×2žlú4êÔª#W­µe_¯€;“$ À5îܺ}–^íû7ðàÂ#¶Þ s׿`i´mü9Ñ<Ò§§ÍÓÓºÙÞ÷sïîrqè*‘oÑ<[píÏâקÄÒ=bøÙ¿Ó¯oÿ¾ÓðìM’7¿}sêí7 HòA``^b¥~ :ø „éGàJ°e&ÛcF!‡’äÞtðQ÷ÞˆÖ™’‰Ò¡¨"ˆ#z¨"RÊ8#ÜMØaþr HÎuH¡Ø‰ˆâ{D £ )d+™ƒ5J9%•tÝÈaŽÊí¨ám?ä“ŠÙäHJŽ)&“g¦yæIQVù&œq.u%…Ynv!ùèå~`b‹f’‰&™i9¦‚#¹)'£:ÚÚy—|èg¢K~X¤ššvŠhŒŠ:*©E:à¤z¶¡¥ëÉ'(¡ži&Œ±®+›&-Z*¯½Òxê~©n¹j—­Šè«.þ)b‰œ¦8d ‚fÊ–¯ÕZ[#°ì ‹g¥Æz‹Õ´gíz-¹å —ízÛÖí·íî|æÊ;ïp芧.s= è.¿*Á[Ö¸ô 8Ùz{±Æ„+¾8ã;®›án#¾ïã•[~9晧¹M|ëë·æ¡‹>ús|€p:ê©«¾:ë­»þ:챿οœ×乞”“îð}´ð;ðÁ ?<ñÅ<òÉ+¿<óÍ;ÿþ<ôÑK?=õÕÿÞÇ)íÁÇÊ36ÀÇîÚ^óä ïî°Ê.«OÌ(°rÙ4‚ø[¯Ývçå{>ǯÿÿœR‚ý ôÓšÚb‚¿Ûé(ó#˜‘+ ðl¬_Ù¶·:°ü T(H@±]±Y ùnÖA~A„.„ˆ-xÀow ÓÝ ½ÕÂòð.”_‚(Ä!±ˆF<"“¨Ä%"±„4´Ÿ7¨B½ Ë,€BK¯ó®Ma‘7=üâÈD$"kŒf<£è­r01¯j ••7žäV?©U˜Àõ"•ìŒ~”Ñ8Ä<‘‚<$"W6Ã5BþQƒ‡›b‚¸hxÑñ_p,Sóè“qÊŠxlÓCIœ@"ÒB4e"SÉD5‹\‹Ÿ–•¤YƲ@Hr'C$Ig•ˆEšdI8ù$]Î*I¶¼å/¡$ÊeBŠ”‡De IHiN'ˆ¦¼¦5¥3Èjª’•­r%؃)9~ꘘü’•Ç[ÊŽšÄ;”Ìx¥Ì|!!ð€}ò³ŸþüçÅOéì3ý4¨A :Ѐ.”¡ (Dÿ E¶²‘(´aÆp¨–X^QÄ &­ÈYÎ}T–†ê$I?Ò”®i¥ïTæ=cjê3¢6UèAqêPœ"”¡ MhNzÓˆNþƒ'”b8ÝÈÅCÑ3“¸‚gGQªÎ“¾AÐ SKyYR/Ê´«€t_M‡ Q òT¨?õéN§3P@‰Õ¦E5á….ÚÆø,•œ‡’*Ue•)1u˜Áüë‘°êWY-Æ«^Íg[ÇêϳêÔ¡=íéb›X¢Rô›E*ÜFHÅs¢S°ê´•HïúÒ¾‚j“e¢§´< {öˆldƒ T²Îö¡µÝ)na»Ï·>1ƒr}åF£šR[Q'YÊ¢%J·š+ùr/ì t)Li)ë'¬m­ú^«Û‚²µ±! *nÕºV‚n·Ÿ¼e¤o1Û7ÍæP‡Øi>Ç ßùÒ·¾ö½/~ó«ßýòW¿þç­hz™ÔöºëºïeY|û«à3¸Áüý¯e,9àØK>0Èìà s¸Ãø…°¥À™Ù ³ÃËÔ°‡S¬bƒ˜O"^/‰ lbQ¢xÅ6¾±}[쥎½1þQúf Æö*’“¬ä%3¹ÉN~2”£,e'גּ!¾¬€Gücoíìj^þ2˜Ã,æ1“¹Ì@ËJP€”j6j\÷ o¹Îv~d§ç=ó¹Ï²ÃCí°ì¶9øΆ>4¢c\CBk9ÑŽ~4¤EÇ=ÕkŒ†q¤3­éMnҔ暜éÌéQ“ºÔ ›t¥-jS³ºÕ»1Ÿc-ëY»Žvõþ«Iœ-½jW¯¥wÖû5°ƒ-ìa»ØÆ>6ñ°§=îÑè{áÓ®A­ëBóÚ2Ar‰l’÷ù˜cò³²‹q`i«šÚÕNÌ…±=°šÍ›!÷¸£8íFŸÛÚê#»ãîÃ×ò.7½ëî{1ßdsw¸Ár¿P›[àzI7ÁåeðîûGwèwMþë\ºÇ·wÄñéLU’¼äKD8¿#o®p|×ïBÖ'-cIÎ%‹ÏíXÈEî> –P&ÿ¹QnqŒë!Šjky냛™C·æ4/ Ó­›sŠ0•Ð„&ÐM.tÝè,ïxîÌ·Ñ¥%êM¿¹iÕñ©[«ê‰¼þzÖã¾u,áà`ñúKðH6 ¹Å4's™Å¢æÊòHµ ¼9éhW4·¸·¬UŠž^’µ³ÝWn/e!­Íljsóšÿ<79uAνNu¿»öŠ]é¶ôl:KKÚYÖ˜lªeKï,yÎÞ¹L&Ú!@ùÊóJ»Û(w½›Ö…Þ–¶å姎‡þ»g<õ_w¹Ó§JL—3ö‹ßý:wÙTMæµ÷µìrI2|â“Êøº%«cͪÐÇJ6¼ÏßmŹ>}›àÝ%zÇôa(ÞìJr‘ßù•–Tu^Õ•GmêUNûûÁü1–ý¡dyqàwÝ_ôéßþõþåÝêeTëuQt…Ö>•§  äõžî½`ŽøÑ^¨L`vÑÔý] N9ŸæVüÝŸ?… ÝMõõßüŸÇÑÕ Þ`V) ¢ÖÒ\î=KÉàSÅÓ¿¬Ÿ:JN–.Ÿm•aY Õv¡é!¡Ý)!†]·…îI6^s}Ôtá^uTI×iõ!VÙ!­èág¡„~!£„ab!_x‰×Tz ü¥aþ!’ą̀öaŽÙ†%""ÆIá)Ú˜JJݱ¡ž`âtP'òW…bÈŒb)Öb‡"ª¤"®â&:Žr-Ó¢,V -Ú¢1²X%®¡*– ÿ±¢þF}Zã0NI1£5î.‹.N/&4Fã4fM]#9.X6jË6þA7îÝ7ª]÷„#Áh[IYL™=Þ#>æc”U™ø¤ã:`;æE—™A¤A$B&dÒ ÙI¨›‘›¡@?²¡:2ã:c ¤Fn$Jä­}$Hú Mä2fâõy#G¦¤J~ãÅQdL@h"J®$MÖd«µä2¤L²£Mö¤OŽNî"èäIòäO%R"ZPrãPÆdQdRF¥TÖÙRV$Qš`/J%¬…$Wv¥W~%X~¥­ÙÍV†¥Yž¥ìŒåùcSî$TN¥JlÏ;Â#B8›ÝÈþ%¹Ø% ±åU6cV&%·Á%J|›Ýfåæ^ºd[>e fOTcžDéå dZÎdj£böåEþ%RVfd’Äe¢Œg>Nh¦ _:%VÎägŽæg†Dir k6ÎkÌiºec¶æ¶ñ\Üí&oö¦oöæl:Ìý&qç'ÉÔ&c¡' ×Q!‡s¢„híœq^'vf§qN&ÌÅÔuÅpj'yj]2æbf¢¦_ªföE`!¾§‰”ëÝ‘äõÝ‹œH¸Œgyî'öçÉ'|–x:UPè§èÆŒr¦¦Q–ÅáÕ§{ÎѦ¼¢¿Å žS/Á‹"(‡vèu¾&…þÖQ²Ð§Pl¨‡ž(rîFU¾¤zn&{~'gmßã)‰ ÞpAhä!ÞÖh†Òh€Ê¨ã žJ˜è‰©‘.‘Àœ'€ }ÖèiEé’Tæ§n©q&)²,©¥(ä,èz6¨„bè÷- ÷EauòU^1ìÙ':‰Jɧx†Ö©Þ)žæ)žŽŠa“ªÖß``Mahß<Ò©ž.*£úŸú) *hzÚ&snVŒ: K©ŠŽvÒ¦ž;Q¡ˆ:iˆÒO£ž*ª¦ªª¶ô©tüi¤ZhŒ¶éú¨n!®ª®Öi«N¬šW Þ ˜º¨˜ê™‚Ÿ–þ.9'_Ý <É)ãajxš”;¨¢î*¶f«¶êV¯þ*° …³ê­Ò’wŠ„©n«ºŠU·Ô9 ë¤.'ëÅ¡±Ê皊ª¦Ÿž)ú¹ ¿æJ% (P¤ëº¬ÁløÁ¸k°‚ ¬TëîÝ+­úÁ¬ÅîSÂ.¬D+mêAN¶èΫ'Î*² ¿Ê^! j!¾V¡ù•èµ^¬ÌÎ쪾«Ã’ˆ³†ë¶ˆ &*Íþl¬®¥Ç ¥f†, ÒkÙ1«F+~.K÷EëÓ‚äyª ^."J-bQÐO9~-؆m9ÚlÓ=KÔ>a•&žŽ‚•Ø¶í½kÇ~,¥Šþ,n¸-Þæ­Þ*Ü–íxíÞ.ßr¬ÅˆÛÇRâ†é[ÖmH®à>.ä†mßbáßÞmä^.}M®ŠöSÂ$â&®Ñ¶"ãæ–®éâ˜æ&S€Š‡ãžîã¦nn\œMtn|.â†î3¶fëº.ïöîƒnÃì®ïâ-ìâ†ìÖíÚ.ànFêî‘é#ôF¯ôN/õV¯õJ/?Ö =^/÷v¯÷f¯Ð"¯UÖ®í2/ÒF¦CŽ®ð½YݤoåD¤‚ª\S*¯ùªoIx$Zæ¯þî/ÿêÙHÚ þö¯ƒåÿ†/ÿÍoùbäùÚ/7ðÉï{ns¦W°süJðçÖïþw°÷ WŸß®° Ÿð»e0ùnp £° ¿0:ª0ý¶0 ×° »F“à// ß°ÿ°aä0‹Î0±1IxZ¯0 1?±+±31;1_± K±GÀtqs0‡±'ñ ¨°q±c±³èÿ¯±?q7åÇñçñ×1LÞqë1 Ã0sñãq ò ²[1"7rT*r!ÿ±#OrC²2%gòèZ23²&2Gr2K2(—2\Š2&›²*'%*“2ãú²›²ÁeY°-ß2HªeE™q${2M^›jÈ#RâeWé%þ#ñò%»rÝJcM¥a–b3êõq/¿(tþbu¢6O§¬êë¿Lpd‹Íu³6 htlRuSElrš—ÆnO3!'³/Ÿóêh7Ãh„fó´>\8Å…®s>›ós^Rð…èÀ.p¢½³ñÆó/²5Ãâ>«3¸ôDOë^3+…8ïRÚU´•³AO4BÿD;oCã°CO1D«F—bíÚiÚjÊNéÕNmMCÚ^,úFG_êÔÊ4NgèNçè„öÝPµÖÕ,µï©®Ó& ‘b©UËðªèJoqK/nh謙–l§jÙQÀò­Š*šÚÞ'þ3‰zþªÉŠõUÉu\,Õ¢µ¦ÌáR]ᛆ5T™n†^aÝèù¦4 öç]5¥ôh´r=¿\T%ëš‚* Bá ";aªZç+ò‘[£sdÛke_6U©,ÚJv¿Úugã+š¨~b“uÞ)eça“‘b7QVCÎV»q5»tîµ´‚–jW¶i Êõ§ úµ5pµÉwisªpC`÷5KÎRwF¡™JkkGèkÏvl{^bgmQaß6c‹ÆVÈsWߦkØ`SO7©îlJ÷ÃŽ6´j7sÿ†s;ë|û+YOì ¶lV=¨vÿkö,ºòl#6*]“`kž`‡ÈlS“l—7…þƒÞ)]x4QSqj©Ÿ2© =to{5hÀ7›·›ª¸eÃgqG7]c÷~5@· OÃ8²8v/R߸_YÕiãìÊÏn[XÝ–Ma æV.ùO9ù!c5ß“×ߢ>jˆxë¯J¿K—¸{^1eá²Þ!T‡ß$UíÓæÒL“Nw6LñwwO›9ä-mÆyuÒ^Lǹ¾r-•F \×!á‘Á"¹$‚×”ƒ—òq—xÑÖ6zCQ:££a£öê«n,\}9=G´tnÙF‹Œ¥‰ÀÞó{Û­&yNA¹£»º¢S:ò)y“¯zª¶+§÷–Kxz'ƒún”´ãŒúþFŒŒ@_Ê©_ª¹­+ó=ºüe`¬G9@-ù’áªf,ÃÂÕp5˜Wª¥{ã»F{…rȘƒ”«¤3º9¦ÿÓºúZUºl=»¥¡’?¢•k+—7v#Qó§û¶cŠ{9³åÊ×tôWØWÂüÁ×WÂ7<ÃKÇ<<}…ÈÄ_<ÆO<Ä/üÂk|Çü|u|Þî»z÷û<÷:À ¦Àc¹œðZ£È/ñæ6î íw±íç|îÿþÇíþô~˜¿ñ¿Éƒ>æ?ó›šðÛÀˆ~óO=ô³>õg¿ç'¿ê_ÿík?øo?Õƒ¾÷û~øŸ¿¡Y¿ô£?û?ŽúcûÇÿè¼ÿ÷Ë¿ýÏ?÷×~ùÿý³Úƒª3@ä0`Aƒ&T¸p¡@†>Tè0¢D‹1fÔøþðÎ-?F@ “&mÌIˆ@Ë/aÆ”9“fM›7qæÔ¹“gOˆV¼(t¨ÏDh©Q§;‚ 9²äÉ)W¶ð”kW¯_Á†;–,ÄþuÿÍQëÏ9ìê[ν…ÂÛ¢¶½Ê3è¼!ŒP wƒÏ¿ãËŽ¾Òðë¬2ï˜ã.µ…ÚOÀ Cô®öÌËû2O7 i¬ÑÆ{²ÐDÓPÄP¸yìQ¿ê’ºoGAä@ jq¤É‹ÑÁ™¬ÒÊ+±R@ùˆ;2ÉüÀܱ±ìNÔrL $òL?üÏF'€ò6) z0Ë;ñÌÓ= _‘4ú´³®50%ó ´ÏHTµùëNIÅ qÐ7=ÂëI³LÏM9íÔÓ£> N9Q¢“ ;CMUÕUY½¯ÕÂFÅ47M_­ÕÖ[k\W¯:¢ÂÒ8e•‘Ö]‰-ÖØcwþíÕWñHå+SôVÚi©½RYÚ.òÙj¹íÖÛo»–Ù`§ÜsÑMW]Ÿ”]ÖErë¤rÝàP¨×Þ{ñEaÞ}ù ÷*öõ]mg…¶ßÞô•(áƒn8°vÎvÎmÞM_0ÎXã>€`áŠAù)ˆ”%(¹°‹ÇhÙå–É` OÑ:•qΪ¦bàÛP.XçÁX~yŒbn` šÚ駂Øg“¯ ZXƒ¡«è£Éˆ™”fȬ2І\MW4Ï^kD'Õim¥þùä”É«èèì x@l¶aër:Ñm QÅ×LÏÕVÛhî¶þy+1#ËUÕº©¶Áêr±ÎÛ«¢“þ{ 2?{¿é'Ѹ ?£}ÏRžLÑš·£}4CñûÀ%-¼4ð7w ‰ÚpqíG;ôÏÆ)íyêàÆÛø®Xæûo°€ÔémÌ‘žë H>Ù½ŠuÕá’ú´$¦!°{jj ™nFÁÜ駀lÃÞ…v§AÇIxÍòœþö÷–•€ ¢¤ ‰†]:’"h–°l„¢`kà ºŠ}cS“wøÃF¨„ Þ©ä•BBÀ¥;þàš—9 r0z|šaõ6…Ã4-PŠ«]÷Ü÷<.Ù E]$bÓ6$4îpŒüÏf·ª¡PŠ>ÑW’‡,‰{a’¢WÈØ-‘ aÓÆèCBR•$c‡ÄÔ¶"®r^âa(ÔDáñ±<ÑWÀÐ2¤yÍtY¬ ßrCG¾Îuž,Ó$·D&K’s™Ô¢=˜@%*”eþ„VÊ)*Ls9e¸(ùÍ‘MˆlÜÆWÁ¦¯O@J_û:8½Ò±PØdM!X¿žéñ„ÉT¦QòO{5³wÏ|'%ï92<ŒOªòP‡ÙS ‰Ê:;çOE±  ]þAÊ»ä1¡¤ŒèE1j¼‰ò³¢îÌèGAšµÙp4N0©IÛyµ®”¥9éýpR”* -µéM÷˜Êt)NTtŠ§>%^è„šT¥‹¨25*‹·T©NuUM=éSÿÉPªn•«›²êL-ÚU±ŽõF_í)MµJVµ®•‰•ÂVœ4àT´F•­uµ«¨n ‡_9 ®W+RïXÁ"¦#z}+_ûzÖ°–±Ka [2¸j ¯X](]›YÍêS‘ueAkÙšn–´¥åÉpÐYÃ~´mZM[ÙµªeVk]û×Ùî–·/©­mYZÝö–¸ÅEPjþU«‡àRöµ˜5îsgû[Õ.7·‹…îuI+ÝÎR·¹€Åîw7«]å> ·Ýïyc+^î½íͬzÉÛZóº—¾Œ…ïd…kÝúîw«÷El~=Ê_Õ¿Xh- Ø;`sÕ¿8p‚á¥6ØÀ”E°~%œa68¾p€5â–r þ°JEœâ#wºOÊÀ‹|⟪˜Æfñv] ã Èø¨5ö1F9 cCÕ»?6rƒüâ!gÕ¹GvrÞ’¼c?™Ê½ñxã¤c)c¸Ê]Y”—|Ù"{™Ì_¾²‹´æÑ–™ÍfN.–æ)·™Îóœëœg~Ý™Ëzö3·øþ â?ú\F1¡]è3çXÈxNô££eèCšÒÓ’t+id]šÈšö4Se«¶Ÿ6u¨8Íä1ŸšÕzJµ˜[ëT½zͲ¶u–h]ê[ﺬ¡Žó¨ÍkaÓ(×Mö±ÝSìU#›ÙêQv³¡MB_˹ÏѶöaž}mm§²-u£«½mq—¥Û8þ¶’ƒ=nu?,¯ÉE3°Ã½nys¥Üp¦¶ çïǶÛÛ¿7¾õp^ñÛÜþFw¼žðšÔûÝÿ>´Â!ÎYw3úàøÅeCp8_€ã'µ±1rßjÜE÷xºEžr0ÜÅ&ÿø²UsŽüI&¿ÀËežþsÚÒÃs<sDBó1—ó@ÏÓ;1tAGAÓ@ÉÓ?!”AËðW”±(íR"⓹¢>ôBý2%t?K”0ó³;”: ÔBaÓ4EsE©³EñE!4FµóD%”DGq=GbCÕ°C=¥QIŸBD]H{tF4J©´GTHH‘E˳J TA/KgÂ/¡ôG»TAgÓJËTLe.ùC™Ñ™tI÷R5Ë4;Ó2H“K'4MñÔFŸ“M%RG³?]ÓOSO¿”FITPa‚LË4EóQ÷4M#õ/þ5Y±HÛ3‘48œ4GfTIµTMõTQ5UUUU3u#„pUa5VeuVWµUÏh5Wa5tuVmU.7UŒ´.ÙP5{õX‘5Y#^5YõYauY/¢Y¡YyµZMUZ[ÅM!ñ7ÞÓJB53±u\ÉuitLqµ\ÕÕYµU"¨u]cõZáÕ\3ô­†Õ?8ÂÕAçµ_iµ]â]ýu`Q`B` 6aGÕ`g-Xïõ#‹•ÓUa)ÖhV!¶böb"c5–`9ÖSà$øˆR ! _{C‡ðkÀ e]öea6fevfi¶fmöfq €Îõ Y6g6hþ…vhmvg{V"–h•vi™vf¶^ŃdéÒ-ÐÏ.ù’&êE€î„ê¥'¶O¼Ö•l"l»ökqóW¤öM‹òýÜömá6nÝÖ(ðàíönp>m¢nñ¶oý¶ÿô¶&øöo ·pç/pç1X׶[ÃïèF¶S×qr#÷é&×#+és37è6·d;×é>wjC×s/tK×t‰TwSWäF÷æÐ@h·vm—vÓ wuwww÷v}÷w7x…wx‰·x÷x‘x@ Ô` Øày¡· ¤wz©·z­—zÝ {Ýà ¸·{½÷{Á7|Åw|»Ì÷|Ñ7}Õwþ}Ù·}Ý÷}á7~Ï7èWt÷vç õwùwnWwé7€x€ ¸€ ø€8xéW|éà!8‚%x‚)X‚ëà‚18ƒ5Xƒí ƒ=øƒA8„C8H¸„Mø„Q8…Ux…Y8…ïà…a8†ex†i¸†mø†q˜†= Vwmu€€8ˆ…xˆ+ ˆøˆ‡8‰•x‰™¸‰ø‰¡8Š›Ø¨¸Š­øŠ±8‹m ¸x¾  ŒÅ8 Ä ŒÍøŒÑgöe³kÜøB ŽåxŽé¸ŽíøŽñ8õxù˜#à8ˆµØn  ¹¯Xˆ‹ø¹‘ù‘¹ý’)þ¹’-™’‘õ˜¶ 8¹ dà“A9”E9”aÔ¯”aÀ Ì`Y¹•]ù•a9–eÙŠ¹–mù–q9Î`u—Îæ|ù—9„y˜‡˜Ù—µ,™•y™™¹™ù™a ·¤yš©¹š)‹§8 :À>B@F`H`œI ÌùœKÀÔyMàÜù^T ä9T žW`X@ý^`Ÿù¹ŸùÙmQ9 Ky”Cy ú Z z¡a¡š‹¹x–%šŠ r@vz Lj/<ú£M¤€ x`, ppy¥Yº¥]ú¥k9dz¦iº¦…à¦q:§…`xšþˆ €ºŒ`¨ Žà ©“`©“ ”à©¡ª—`ª©ºª«š ˜  ´z«›À ¼ú«ÁÚ  à Ⱥ¬Íú   ¤`­µ¤Ýú­á:®åz®é®íç®ñ:¯ïZ*¨ Fb,à˜™˜ [° ›ã 9±{±¡Ùšû±A‹§®@›¹9¼ œÅyœGÏ™×Ùß¹^âyžëYî™Z ýüyµ÷ùý”z¶úµš¶g¢!z‹'Z–+:,`x | £ëú$6ÀFv@PZ¥a:º¥{ºaº¦iZ§sº§:¨…š¨:©‘€©›:ªÉÛªÍ{þª™` ²š«·:¬Ýû¬Ï:­³ ¤@ ¦à¸ñ;¿õ{¿ÝZ¯ýû¿$ª@  Ûæ»°\°ûÁ!üÁ!{§Y¦8`²=À¸à›1›œ7›³ÓÙ³Û´íe´å¹´Mµõ™µûÙµ:`;¶e·i|šÆu;Çk ·cùR¸5 Š{òÛ¤|  x,À¹SšºmÙ·<ÊoÀº±û¦µ›»»{¨©•š©š¼Ÿú¼Ï{½Ù[«Ý;¬á۬图훿ÝüÍáÜ®|Î÷z l@`n Á/`Á‰ÙÏ< ½Ð—™Â=²Oê·¹›9<œ=þÄE\AûJ|žé¹´ñùRýX¼ÅÛO¡c dü“küÔq»€XÇuœ·yÜ•}tÀ‚¼¸õÛÈIÚ¤u É¥Ü'º×©Û¦±ûʹ›¨`ËÁ[¼¿¼¼Åܼ±ºÌÛû̽:ÍÉ:­¡`¾ë;ε}ÛãœÎ½=Àw` %€ Û°=Ðý˜ ýÝß=ÑÝÂ)ÛÑÁÒ5[Ò'½ÒíÓ3Ýžñ¹Ó=ýÓ_Àý^|ÔK}ÆQÕ¡˜‹i Ç_Ö-£‡{È‹\¤{€¹Oºý^½ã«ûºušØƒÚØ‘½Ë—zÙ£ºÙǼ Èœ«¥}Ú©ÝÚ£€¾ï›Ûq>çïûÛç¼ l`¬`´BÀ o>é•~陾陾%9ê¥~ꩾêïXéÁ†0Wr©n0Ènë[ééø’#™Ž‘ìÑ>ícÑéÙ¾íÝží«žìå~îé>ê¸îñ>ïõž‘%@@è©.`ð ¿ð ÿð?ññ¿ñÿñ!?ò%Ÿñ€ 0?ó5ó-¿ó=ÿó=ßDôI¿ôMÿôQ?õUõY¿õ]ÿõaŸõ'Ÿñc¿ömÿöq?÷sx¿÷}ÿ÷}ô…_øöÿø‘ßø`ù™¿ù ?ú¥ú©ò\+;PK s»W¶WPK\8–AOEBPS/img/add_dsn.gifY~¦GIF87az·ç÷÷÷9R9!9Jc!9{„”ÞÞÞŒ”œ¥ÆÖk¥Æ1„½BŒ½R”ÆZ{¥c„¥k„¥„ks”sk¥cZ¥sk”„kœ„{¥”{””„œsssssks„JkœBs¥9{­)s­)k¥9c”1„½)c¥c¥)Z”R„½¥½Ö”µÖR”½{¥Æ9ZRs¥”ÆÖµÆÖ½ÎÞ½½ÆÎÎÆεµÎÖÖ­½Ö¥ÎçkŒµ1J9BB111J11R99RB9RJBµµµ¥µ­{„„9Î÷ŒŒ„ZÎ÷{œµçέ”­¥œœ¥Î”„¥Î÷”””ÞÞœ99{­Î΄1RœÖÖµ{1ÞŒ911çÞ½{9Zç½”÷ï­1{”kZ”½çZ11Z­­”Î{cc­¥cïï­„Îï„„Z÷ÆZZ­ïï΄„1JÖÿcµÿ„ŒŒ­­­œœœµ¥”ZcZkkkÿ÷µ9ŒÖµc1„ÿÞ„„Ö÷ÿµZ1cc1Z„9cŒŒ”91Þÿµ„­„ŒÞµ99Zc1cc1œÿ¥­ÿ¥ï÷c¥÷1­ÿcc„cc9µÿµœµÎ99)R„c9Œµ{ŒŒ”Îœ!Ö­BÖ¥)Ö¥1Þ½k÷΄ÿïµ÷Þ{÷ÎsÿçœïÖ”ç¥ç¥)ƌ֔֜çµBç­9ï½RŒŒ¥”­½µ½¥÷µB÷µ1÷ÎBÿÎZïµcÿÞZÿçk÷­cÖ÷µ½k!÷{÷{÷Œ!”ÞÿŒ¥ÆŒ¥½ï½kïÞ­çΔ11­÷­R„J{B{„RJR)!B!Œœ½œ„BkŒ{BsZRcŒ­¥skB„”„έœÖ¥œ¥½­µœsc”Î¥”ss9œ”scJsJJΔ”½sk½kZ9BŒ­µ½cR½cRŒœs”­µ1¥RJ­JB½RBµZB΄„¥91µB1RRcµ„{¥91¥1!µ1!¥­”½{s”1!„RZÆ¥¥½skÎsk„ccJ))Æ{k„ckÎ{sJ1)Þ”ŒÎµµÆŒŒ!R,z·þðo€Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É,8Ê—0cÊœI³¦Í›8sêÜɳ§ÏŸ@ƒÎ¬A´¨Ñ£H“*]Ê´iÒ›N£JJ•¨Ð«X³í¡µ+W XIAŒ\8Òª]˶­Û·p㺕@WÂÚºxóæÀ·¯ß¿€û…@¸°aÂ.+^ìâƒcÇ"Kö0¢²å˘3_>Á¹³çÏ C‹þ©´éÓ¨S«^ͺµi`°cËžM;v°Û¸sëÞÍ»7oÚ®O×NÜ·ñãÆe£æü9óΚ£GŸL:ãÃØ Ö˽»÷ïjþô ‘ šùóèÓ«_Ͼ}{=j бZÚË¿¿ÿÿ‚'`wÚ†ÝaŒ1öØcÔIçà£E(a„ÁUhá…ª§!mÈuèanÀY¸áˆ–˜lË9§¢g:XÝ‹‘]w a6àÖàyÙôè£ü)äDiä‘?&Iƒ5ÔõHX0@ maå•Xf©å–\vi%€`†Ù_]HPc3–àš FÖ"„Æ)'gÖi§k#æ Œ‰|þ6†z×砸ŖšŠ|pögoJã‹2Îx¦_8VÊ] <ð˜äGvê©‘›þHMÖô„VZ^¶êê«þ°ÆÚª˜´â@fiª ‚P&ÝœÀRxç°Ä¢hq„bÇÚ–,ŸÊ¥¸bsÐ5ªÙ£Õ-–+“òeé·taÚ?þ(aî¹è*ñéºG¦ëҥKXÔЪ.øæ¢ï¾üö«/¾¬‹¬lp—µ¦…פ†)ÖktÁFLZ±ÛlmϺ, ï™q‰ÑJ‹è¢ŒZ{¶Ù*–k·e‚[)¦Ïœ#óÌ4×lóêä¬Î牳ÎióÐÏŠ5À–ºð›ÊÓPG-õÔTWý´¿Xg­u¿|ð×_&lf_ˆ5ö0fG\ñÚw<ÛÇÐþÉlÇpƒl¨È#“|‚þɘ¡<™¶i²ìò5ìóÌ@ð$>Œ7î¸ãꨤN>úà,ùã˜ëƒÏæð ôÌ>ñÒ•ßKcÙt.R?¢úꬷîúë°[-ûì´omûÖ,°6–còUöÙ–¥ l…ž±m|$nsX·‡‹èöòÌß}ZÞˆ²Èwe~ÿضÝžã>Ð(.þâ™?žOäMŽ¾@“—ßøøŠCz^£—nÄéQîÿþü÷ïÿÿ´  ìn·¯Ý-hÚUc|Uáë4s:^Å’'èu¨yÎ{ž}²éQÏ9ÕºÞ²#•nRÞûN î1m¸ð…Ú€ÇæÄ@Ãچ瓜ä(ç>Ɖ†þиGè$P?+íëi®K –hƒ8ñ‰Ptâÿ¦HÅ*Z±$ ×t·¥µø.1@›Ç8! ¶‚°Ùà‰äÆ1 ªÑOÀXÍ«W²ë‘0Rê^ õ²ÂÂÐ…›ÃÇ ‰Ãõí°‡ïS…H?¥A_Pk™HÉJZò’˜Ì$£Å+zÒ“¼šs10ޥ勎٠WYÆHˆÆŒ©AcßGé]´ÜMU3GjÕ‘ow\Q¸G¼Ô -¤‡2• Ãz8ó™Ð„¦= uØ#šØ¬ —ÉÌycˆõÃ_*$ÉÄhòœèL§:- ÅOºóu¡%ÖLyJÄ„1x¬þÌgÚ`ùY:+—… žp Ѐ¢È5½$™Ièaf‡˜Å O1Î1rX”åȨF7ÊQŽÊc}êGGGÊÑ‹’cçøf#II$®.Ô €L 0Øô¦8Í©NwzÓK†a ÈP£Ñ¬3“ǘ©LðÎÖ1a 3}@ìâµ}qñ€jIàñ©Ï® ÏŒþôXAo#Ðàt¬»”cBCh2†:ô0Ýc ¦xØ5íÈk^ÝÁ×¾úõ¯îÀH±غC¯y½k<à1p*­¥¬KE5›Jc 0Ȭf7ËÙ΀ 'xgyúSŒá¦DmÀQ1yŒ ª.¦ÈØþ5ÀÿYƒL}„5>À?ªÊ“žZMe½JÜ|žQ–c5¨-3˜¼ä#­jí%[­åÖíq¯@Åœk]‹Øv°‚M€xÅ«Â~·¯ÝU,cËRÔsuÉÀl°ÏÚ÷¾Ÿ=A ð›ÙüTòµijyzÔÖ u‰ï˜Âô7ÛÚöÈx(¨/àÚ“_-®†‹g§°þ e5ks“ËÆ ­õ—ª®uO¨¹ÒU±xEìyûÞñŽ·¼3>,bÕÛØ•²ª BÆ°Äúj– w¸na ™bª€*ä«Š.8ÊV&2D»Ù8LaWí<æ,où§ÓX"þ„…:Ûù2ÑÀLLÅb+Ù™2•3pLeáÖ1‚¶®{ªL0G ¡ ¼54¢S‘ d,ô©8ô §‘ "ÌôXÅAp§á•fà¦S=LâßrÄ¥>(†¨;fÃlñà´ ãîæ¸Æäµ1ŽÏ›Þ»®×Ç@~ÄSJßÍraÉL¦)”§Ð£Ù0ó~A»ß*?YÚ]þr“›=`¢žVÎ'3‘‰*_ÀùÍA¥ä1hûŽ¨.¾µm°ê!U!/˜uB&€TWwÛD+#‡NtÀ éHwáOHE3¦q8ÀÎ €²zaUFÐ4¡õ<,V›š¹tKµªþWÍêϸÚoo}(vÁEkîÊø¼¸N@yÕ¡kó¶×vý5^êì˜Fa‰œå–3{…'çw¿šm­h©íì¡3Y¾ÙžÆg·<`¥Û´ÍŒ8 f ˆ»’ç^"¼Y÷T©ÊÛÏîn]„FÜauBþÀÀ þFúifÔÂш1äÂJ׸ƒÂ6ÍUO:ãÅ©E>r‡¼ ¿ÐAsrlÁ®+ÿV ıŽ?xþì=:ÐáÝóÒüÆ„¹: ›ŽÖ¡gÇç×!öþؽ«óy‘­_,+•½O*Ÿ—Þûc+êšõrM½=`<ÿ m>Æ1¢þ\Ý®…oŸþ-S³zÞ—†]¾÷Õñ} sx£~þ¨!AÊ3¼­?\‰añ^-VXÇ£òÐ%y%g=m…r&ÄbÛa)›wŸ÷zè`Q­‚¥3Ø@:S^8å€èàyçP{À†{ªóTDVlGÖ{Um›5g¢¥tG—_\æYhfSI]Ð u/`SCÕ8p$@ Èå†}*ª#Yî– ú&lSà}µ%di—uúÓvÈ€ˆf~}—~‹–w©Ð~Pó~!ðwaSO»<ø·††×aþÄþçFhy2y”L¸b±–€8²yJ0€ˆ•QæPˆ†xˆþˆ˜ˆŠ¨ˆuQ8J ‚;÷Xîõ^ðgóed™ÅtÑÖ{É÷e›8t õ‚È×_8Uƒ gƒÀl °nngWÀ Nðaà„ u›”Æ:1õ’uo½¨[€f l×i;ÿfn'atwhcð40u†©ðoz÷4Ýàvô¤i ¤†løB1ÈÅxq(‡¸\u"]X€–—r†Q#}X ÙPôXÞpß÷¸üØþøü˜ßÀõHÙ R“Ø^‘¤:ä–‰—ƒÎ†l\0 Ö^¶e;ˆ‘?%fÔpZ§øeLTZªµ‘lv‚I¥urF$ „¬³~ïfZóþau&U·%UÑÈ[·õv¬£ ( :ÑøŒ WwÕˆ zg¹  ð¹wú¦¥/ × €§„&`Txต¡q\æHKµá†ä\!&€8]-òj¸‡|¨B؀٠ PÛ° ÚP—x™—z¹—|Ù—~i—Ú € ¶wD–ø)9hO°ƒbfƒ—ÖƒÂ'„°e6PZ§UZSöŠKôSקf*¹™Rv„?µ’ºø„­ã„3õ}P(S|…ÐvZöH©eËp•XJõŒOÓp|Æú R SP†Í@”ûq½™ R)SòÇixOÆ•ÒÉaåø¹–bùxsþ€éh‡ëø&yè×%kß¡ 0P ÏÏОîùžðŸò9ŸîÉž@@źàcD‚/µZ KÔNMO¾%5£” fx%Y\7ªãèqt8P_I¡è8,sdrxØŽk‰y™×F Ã@ Åp¢(J *º¢,Ú¢.ú¢0º¢(š¢Ã Æ Ed˜ä$ çÄIœT þJ ê/, ¹“;”iÎi6Z ¡Ò)Žze¹g7Âp¥T¡w²¡ß™–á¹2!ʹPdZ¦5 ÜQDýY‰’ä£nÊ’@§«“EZs:M“¤ãEXɤMê¤OªxoxŽj¡þÖù,WŠ¥µ4¨Äâhù _Š€mYL”Q¢¦FĦrš©jG§Yƒ/xÊ% ¾ÓÐ~¡€¥`9¥TZ¨É" °! YÊŨ(æ¥ry旅S&}A-C©Þa©Wb˜‡ÙTJ5 zUªÎúdó;¥jª§:Z¥Rª¥­z¡„«À «³ª¨“7'(]꨹ÚP ¢äÙ«16Á*¬>†[â/µ3¤øz¤Ìj0r+,#Û°ec6ÓZ­ ¥ØúFØ9jÚi¨‡ºFâZ1äj®ê"骮` .s&òŠ£JÃ*­b¤ú:²Ÿj@a⯱-k²²,›þ ±Žá0 ™a°6;1 몴°Žw1Vú°Ûxfd«š«zÈ®|¯7±[õÃ%›¤Ï ¯){ +» ½’µ µ ²µ3K³"ô&7;¶]Ù³:»<<{jg«FÚÊ6DK]˜±Øå«K«Gû´qá*Ï*6Tk 3â²mâ&a;¸B¶†+,Âq±’°«J«Çó¶)æ¡â))K·fB&™ ¬ÿÚ´x»· «( °irµmb2‡›ºcÛµx ¹¬1–dÙ¶Æs–{·F{´»ŠBÞò«¿Ú·qQŸ«0Æ{¼È›¼Ê»¼ÌÛ¼Îû¼ÇË_•S=úpþÊ?Rô¦O„½R¤©Þû½à¾W”¬V#¾îD¾´c¾šŠN6%½œ%ð›Ð;¿ô[¿ô K:lþû¿À<À\À|ÀœÀ ¼À ÜÀüÀÁ<Á\ÁìÀÁ¼ÁÜÁüÁ Â"<Â$\Â&|Â(œÂ*¼Â,|ÂB€¿ l9Ð6|Ã8œÃ:¼Ã<ÜÃ>üÃ@ÄB<ÄDŒÃóº4\ÄLÜÄNüÄPÅR<ÅT\ÅVLGœÄj±ÄWÜÅ^üÅ`Æb<Æd\ÆYÃ3\Ãe¼ÆlÜÆnüÆpÇ^|ÆNû±J¬ÆrœÇz¼Ç|ÜÇ~œÇþt,:v¼Åxüdž|ȈœÈŠ¼ÈWÈD4ÈiÁÅŒ<É”\É–|ÉoìÈË’ŒÉžüɠʢ¬Ãš Éœ\È£œÊª¼Ê¬¬Ê¥¬¿wÜʲ<Ë´\ËüÊ2˶¼Ë¼Ü˾\ŸœÆ¿<ÌÄ\ÌÆ|ÃÁ¬ËǼÌÌÜÌάÉLÈÏ<ÍÔ\ͶÍ‘ŒÊVlcÜÜÍÞüÍÝ\ Îe:F1èœÎê¼ÎìlÍîüÎ~ŒÍ§üÅâà|ÏøÌÍä<ÎfZæüÏÍÎ Ï]ЙŒÄ›»ÉÜÅùÜÐ÷|ü\íÏ-ÐmÐÑaLÇe¢ÐÚ|ÅÒãEÎ$M¦æ\íþÏ­ÎÝÒ.=ÅGÜ2|áÑ`œö,Ò"]ÒåLé¬Ò+}Ñ/ÔB=Ä1-Ó4]Ó8ÓDÑRqÒ>ýÓP=C=ÕT½ÃEí-GÔIÒýŒÒèìÓOÕU=ÖdW=Ó¦¼ÐTlÓ±ÕÝÕ×Q½Òe]×v½ò¬ÖÛìÖ ×=Ö<=×R}ׄ]Ø1‘×-ÅõÌ×o ×a-ØëlØ’-ÙˆÍÐŒÏû¬ÓýÕ' Ù,=Ù mו Òm}ÙíØíÙéÚ¬MÖ£]Ål}Ó¦­Ï#ÍÔå¬ÚÝÚº=Ô¯ Ò³ýÍEaÛNáÔÛŸ½ÛÈÝÒ½½Ö‹ýÛáÜÕmÜ‘þÜÔÑË=űíܵÍÏÂÝÔÒÛÕÞï|ÝÌ­Ýâ¥ÙfúÝí,Þì]ÍäÝæmcÐ ØêíÆd0S‰@ZðfÐÃûÝßñßApA!àÎß1àÖÌàÖüÞQßòÜéÍÙê=Øeœk0¡E5^!Ž#~à]ß®à7QâOÌà,Î/®,ã» áLœÝ>ÎÝÝÔmáßÍÆ . .4®E¾à*žG.âIÎäNÅ.Þä@±ä)þä/Aå²lãMÌÖ9>Ò&]Ñ©mÜ@þá0¡á2Åá àfnZže‰`æðäš(>k^ü½ß„€þ¿Àßd0äÎákŽæzŽˆæYFk>ä…~èšPýýè‘^ðg S$æ îá2•ßû}é*©ÞÖnÏkÀœ¾é*.éÀê’>çø­é ®è§ç¦>ef°è0! ±~ëlç.àÿ­ç2eè/ëþw®àÈNo^ëfÐìu.¼žì¾ÎèªnÎéÎNêg~ÐZœÍ^œãâ¼ã<~áÓ½ÆÈŽæA™PÀáîîï¦Îá’îâ'NíÆ>d€æ²çžéÃÎì`pèôïòNæ©ÞßÿÞî ÿîížé¼žßñîáø~ðÿè­éßêŸà“îðhþþðžäô^ñ ïá(. †þñš ñI>ï%Ïî è.ðïnïQÞßÃ~põ>ä¾ïó¢ðOô9ÿó-ßï7_ôÆþð`òÙ>ð÷Þñ¿ó6oÆ]Ç°,Í–-áþå`îp\í¿ê2¯íjÎâ1è ßð'Ÿõ ¯é÷oŸçmïà²Àád €Ÿu_ðV^÷¢žé<ß÷Ù>?õ‚?õÓ~ó…?ó|Ÿ÷!?ô÷¡÷–ïó—?÷1÷"/úáùVþôšoäŒúlïú¬ùr¿ÆZ~ã]ŽÞSáÔe_ßqœóÍŽëÿýûqNú¥oç§^ì³Oü†ÏùB>kþßÂÿú±¯ü¡ú`ÐçØú†Oüsï÷wàüПùËÏà1Ÿý}ÞßkN/_õŸOý‡Ÿè­ÀÿùxàžþNïþ¾®þn¯àø?û@KHÐ_ÌhqØðaÄ„ "œR° 3=~RäH’%Aˆ!A¥JÀ3fŒ&mÞÄ N† |þTèП5Ô@šTéR¦5f ñ4êTªU­VÍ™UkVYwÌ֭䈊){þÞlñ#X³i?wæ«ö¯f„w÷ŽMÜ¥mkD±g¿I:rmÔfÿâÝ\¸M”+Yº„)ÍáÍKî$]:P£G‘ZoÚô©Ó¨Ü¯~?Ãùø­2„2†!õdaáÝ‘=Ã÷ˆ¬Q¯[o\(ð=΀ Ž&[€öl¯¾ßÐp¾ß€Â %œ¬¬ûò ‹Àÿ ¼¨Aõ4ƒ‚#"<ˆDàú‹O®ý"òУ®BC>øV“ »8 ¯àR ÅÿÚ°4AƒÐ?úv|«EŒèB„ŠÑ=#É£ò¦âŒké%å–«©J/§ÌìÆLª;§  /Mª¼d“¤û4:ðMüCþKN#ålëÍÙÜÓh×zZ£ >Rë¨/(-ˆÎÆš ”€$íÉB{«³Ñ¶4¼Hö”sG> ”2IGý”?S´0ÐÙôì¤ ZµQÿôÌTÐÔ|)ÈÓZ :Õ#9C-õT=5åõÏ aEÔÑ]C ÏdýíMi¸R%²LN&æ¦m.Lo‡ºŽL2¥òNMs¹E7]u×V“Ã؅צ㥷Þ*‹C ßk‘Ûr[{ÝÔé[o·àîÌExªf¸a*É8Ïaz畸b‹QÒ7_lûíÒbžø[‚G.X)r>×c•Wnx ]Yæ–b˜gVãŒ7VÎ_C™ä’Mþ.å”i&ºh£F:inmÖ[#ŒÐ¶ã•yù祶+Wèð”æºk¯¿›f¦ÀÁ駡ÖÙbª«ÆÎjî¼ËZë5æ»n»ïÆ{8Œqh¹³ŸN»ázZ{:¥Ú6Øä©â–[¼¼‡yç¿?ü»QúÛé]—xm+>Ѥ÷ßïD#Žò)ûî“·J|ý÷çŸhò£÷Ûߦ·°Íy‹œàþ<±@ÙÄ&<ÑÀN@°«€á.°fµíXð‚ä`u¸CçxðiØbÁßj B{Ud`Ò~² :,±h!^È V¬bÙCSèjÇC.vÑ‹&ñ¡ùÃ2qˆ;³˜8±‰%ªxˆ…+\¸ *V‹'£ŠÖµŒõÑd 9HBÒ‡Dd"¹HF6Ò‘„d$%9IQ)Œ@,# Îøº#"®)h£Ÿ(ÇV´¢ŽT´ß ¿ÃÇ/¶Ò•Z¹–%cP>lå"“›TÙOpN,…+„£+HþiÊ:†Âs5TåUXùJfrÐ'[‰%yPZ"'×¼&.w ìò#®ÐÉ/=ñÄ8º˜«@ƒ1I;=Šn™Í„'ÿž Ë{Q€/Áf6‰ø/¡xÓ#®\ÆÌa¶ Lg*“©<¥E3žß<³âÐÚóƒø̧6Ó×Í’¸â„ÜLÀ&è 6ú„±hE(PAv.ô…)ó$šŠ6gšFÐENuQËŒî^ Š?/âÑy±'›à,`‘R†üŒ\íô×jSª¢n¦8™ªp¦©Óœb+=M_}"T†up±@+Z•ºVX¸"¥5hªS¹·Ð¨¼´ªw5ÝUo’þÕàl•«ØzÄ#¾š j®Ÿ=áà˜Ö´®µ”¡H\W:¦ ªZ³+^59½Ú„¯¼«WwŠœÀ6…-"Q¼™†$Á¬>Y,cÙúØÀ®n£+C“6U:tá@ Ãp±Yâz© uø°°•à×WFÝk=E ØÒ>µôJ-´»]îv×»¯M@lÕ:[V„â 3 ‚'Å•[…I5$½%@.ÒÜâÖw<ÊõHo‘KžÎ $ŸÕÊ4s‘ §‚º¥½.½hQ‹ZØ¢Á·€ð-¨@…*ÂpzÀ°À+ÞX°u©åÕÉ d ;ö’ufS…È–»—<Ø×ň|òŠþóºØÁHà¬L³À>p`¯7øÁžp…a˜a '¶äìðlM©R†0¡d6t©{A‘<Ø¡=\ƈFä›â‚ÔáeNÖo_\U/_¤Í:iÔ—¿@ˆåž¹ cþB‹ß°àøÃHxœÿ8ÈÖõ)¼Šì`[DX¶ð…3¼a({¸” n-nKlb˜¡8Ï1nH@  Ä·Éb‡ý¦gÍñ„.©WøˆÆ¢yºG eu¨=‡óºCfuý¿õ;ÙË~v† ás¢Rï>z†ëþÝ`ãûÐÓrô|¿~ⲿ[î÷$Þ—ð36ñ#8äX€<¿fC—Áq>­p¦ú³¿ž»6ÜËB˜mó¿þÀ6À~#@xÀ–4Aô‹D¸Nx#’À dS¨À+›,Û"ÕÛÀ ì@6ù@ø:0ó;?ä€"<@ü)ŸX?øc?ö{…V@ ÷yAû‹ÁÌþŽMS&ÌAÄ®ôÁâ³€1Ä–"4C$LÁt@tz  ¼´U8+d ,ÌBíâ;ÄÃ<ÔÃ=äÃ>ôÃ?Ä@D>£'K3,Â2DD4t6%ŽN€!7$¦S0¢ü›+:œíÛÂMLA/üˆ, ÿBDÀ–XDL—XBµ{?Vl?W\;UÐ= £S¢¢U%°DL\%-äÄ_ @OôP$ Q\DäˆdLFFlD5l!à8à€9àT@‰üãÅ^ÔD`ôÆ`„9CTÆeDÆqdFuqDò!F{Ó ~ÓEÅÙÆüñÅo´ÇnÆ‹ Æ‘ð¯qŒRþ4GTôÀ€ZÅ·kB&„?‚$"¸·ÖÊÆ©˜ÈyÌDþ»ÇŒüÄâóG€TÆsä–êqÆá`G ‚9p>ÖÒEpI—±˜´H ÔÈš¼ ŽF4Çr IÉ’! ‚$4Ð kÉ—œÈŠ´HNcÞꂃ³ .Ö“*h¼ù"Êæ¨J­€/ ×+‰ªüJá õ I ³¼:_Y»½FÙ¯‹Ð1óˆ´üˆ»ËÁI}ÔÉäÉeôÉ*©žÊàÊ7(JkÄƤTÊ—”I^Ü6ø’K<˜²D—Þjƒ³®«£‚—ÏË·¼ ÒÌŠþà’¸AØx ·´Êüú‚/j3ÎÔJùÒƒ³ƒ‚P³½ôË|dˆ}‰~ÜÉ—øȤ’€Ò‰ÄÜ !`””æü¹È¤N¦¤ÃÊœ³¡‚B0MiÍùº:<¨ºñ@Íœ(O“8Ï› ‚ýÒÍ|Í‹á Õ‘ l98Žã€âáx&¸Ý -¾Ð/cÉ4“ "ã_TM*dÎ5¾—Gˆã`d8–ã ãÔ’â­`kuÎ=Ö·>®HyÌ#¡ ä_t]áÈá4>d6> E~dG–ãH–dÖŠI€åXž„‘xÎLæã–Åôäz´É^v“RNäG>Užã:qÊS84¸X¦å}ób¿Í匪Àõålþåp”&T–cb†dcÎ è+ÕÒ Q…R°F`„Y‰|“}Ãe¨€›â þ¬+^Öæ}Vbâ³$oŽcpfeê‘b8¸ÖƒFè„>hR<Ð.àQPèk­eivÉLÖÐãã·ÁçöÂf~é~¿fgœ¨ëù iÖ·QMøˆ–¦i[¶åŒ—·iœOéšTcSþˆèaFaèNž¨i—†i2 ƒI¨é¨fé—¼2d’žîéŒüé`Nå¢~ä£f7¥šxÞ·I@çQ`h˜6kR…¶ž„7jšžH˺B«šN®CŒÌjÞj’îê—0ê“Fér&‚¸6l `‚I@Mð„NxéO˜„P`l÷™„Š>lš&íQ¨Ò¢ÊŒJ¸¤Êþîô¬¤ÕnÑ µ ÍJÁuReK¯|ínáÓf’Î%â\åß½ËÆëën.i¯^eÁl¡ ¸>d8˜M`#¤B¨ÄòÈ^”nȺÖéŽ~ ÏNÑ…aïLºò¬ÕO%_ÐÜnòœM;`M×ôîî4ïÖ´mæšRfâT¹´ÍýÝM ±æŽ„¿€ÀFjâ¦ÆpK¨„KÀ„GpL@ðJÈ„Ið_Ç{³kíÀ£ï(ì$íÌQu ]ÑMmP}ËP¾/ötÏôÚL%4n%ñØülݲMÕÿìíñêHØï€îbëà ‡ä¡œè!¿VJXfgˆfþç%çF¨'ò(‡F"ÀizÞÔ£gðàPþƒZ!Ò¾íìnÕ†aÒ”“UõÑ5èHˆZÑW:s„%ô?uÞøMßBU{½ÔEEXìµJ“#ÕNT·Jôµ^ ÎOe_UνYðÖ/ííøubwZÖÝöºUÜ6âTÍm‘¨µŠÍoßæoÿîñÜõ ²¾lšþ>uY¶÷I ƒvžw©†I ¼rnÔkÁ×:8ÜgïWCWVÅÜo_̽moƒÿrrKwµTÜömtƒ%·{Åø¶<]Û®øüMâ.bØ'ÅßI7÷r ŠµtÔïvÿjáþ¿;Vé¡Pj›öâ}3A¬¬ªŠ ¿àþüv9{lÜÅvÂwÔ‰W‚ºÕÀ›`¼1˜ÞbÃ!&!qƒé‡Ú…j¸!‡‚ÇßSþA–ÃYhÁ% w´-— ‹¹Aø¢bæáR"Òx#Žþ9ê˜_uýyF"\j¡W¶x$_ >#“‹íX”OJ9%•Uî‡!f@Ƶ][Ý©âhü!9f’6yæaVFi%›mºùd!þXbCʦhÞF&’ ¢ùgaj¾9(¡…Ò§Sk†¥e]Xd˜,íÉg‹J. (š‚º)§F‡hSŠ>Å(ZvˆghâMJ)‚ ú‰) šz:+­µR*S¢:E"kq™ im¬éª^†] «o²¦äÐH&­ÑGEODQUD@ ¶m ÕEÒFF’TV®e÷ÙšjH›¥d•TX½D¼…ksªu¢£)FZ“°cº:0þ²/*{íC> ô­qµ!nM;%ñ²%=EqXÍÙ1È]¸›Ñ´$…lÇŸûź¡ÙAÃ3¤G³v¸”ÔP_ay¯½®Õï—¥épŸgZ¥2/…X\›´ƒœñÒ×FÍ”ÓN&ÃOG<5Ö#?vuÊ•eÔVÓ‡”uàqÛÍ–åÜ믨æ t‚ šw¬ÐçLR 8ý!H¸aËÑ#ådm½(ÎU¶YkýQH,w1H}@¢íÈÎRä"[tDÍr>sF„ˆ~|‚2äörn¹¶}Û¤:ëÇ+ÔUvÜ»A5‡]™ïEù®.g“½’l[7g¬Åmþ$Ý,†wÞ½íQBSÑíE ”Cî®\Ðø[ÁLþKã7=5Åiï$yTŒTµæ&ä.¹áN¾Qî¿Mhr”¦yL~SŠ÷~ÒóÍO#eãÚïžB…;0âvÿþ‡¶ÍPAy>Êø‘æ4ÑÁcžê9‰hF‘}4³>îMK\£Jø*æ.s»!MàE¸‹ð„ÓœàJÂCzN‰+¡Xð^¨!0)ËaJÜw¶–E2<™JG(b¼ ¯&cë ¾”¢«¦jg#ìY¤NH&%±=דÖM`ðâQ€"û‰mø#Rj|dŸÅÒ8Œ€þ„(ôû¡§°ÈŠL‘Þb"½¬%EF®Á‘,JglGH¡ÜA]Äë"Y‚—Áá­Á'eÌâK’—Ƥ¬‘)m|^°ä8K­ÐAÔ«£aîؽ5ø £¤!µJbr‰NCâȨЂFlæ‘A±aÔ‰ÌdfÒŠ‘&5«ˆ”ª13#²kHWPù˜ÎdðAyåâA9p@¸ôÌt4»­˜ˆ&FxRÍ&|%ŸAzG”­ T}=,Jûb9 ÔkÐD_U-ûé£BÑh½™Šv„œE)hG|ÇNÌˤêL H636t¾Lt,ÊM2ÏD1/@<»Sª¾¢Ï -éþ—Àh9)™“!zdq;¹Êè$"²–xå€9™è@Èlíš%¹ªç)ÕÖ‰$ž«j!s’¾­Î)[YêS-8SR¾ô1ƒ+$î,xÓ²¥/ âi=}úF âS¨C•ÞbŒ*´ëÕU:`#Ë2CóØÆêg–H©åRnùÓSÅñ°ˆePQ £ØX¹²ò‡PkÚÊþ5T=õÕfU™ð¬Ê³»!Ö¥F»ØÒ®Ö=ðäQ+{{!ËJæµ"ôa/£ª|Ú60}yU?ý(Þ ·ºÖ•q‚Y¥hv°œÅŒ˜jÛ\K…,ü%c¯«Þõ†©µ¹2®‘û]å†g¼­Ú Íû¼évFþÔe/€L߶U¦»ò•-}í[»¥0·¯JáШ´]S¸Â&qo¾ [ï"x¶ ®[±Ìôà‚]*½>1Š/L`ÊøQrƒŒ ÅûaçöóAÑíy@K=§¸ÇÎ.”à{Ϻ€HL3ÆÍÀüò`´gÂpŽ&ìã)›È5‘òQZLÂÙÊøÈÏý /}©BS¿#^л`ÓÊa²4ÕZ–ýĈG|’j?«^­ˆg›R Ïšä&•EÏÄUªô2´•S‚e£hŽ ö²ôîÆ`?«¿N6o¢5T´„Qda^ÃÌfS,Ræ¢Ï±XN'†jÇš42ciÄÒy¾–Ïeþ­ÈN]«á㺟Vy§§c膖ŸÓ;v¦3T´/MŒJûth¶ÉÅ[[ÆÔP Ê\—B±ß¶z4¯t§;;Mæú½»Žo¯ÓeØ_/8Ä5ÎoQk¬ãaÏÊ8Zö9ð·‡ÞusNÍ+W×-Ìap^Å¡±‰KêÄÚ΂ÈDB¹5Ì9‘Od¶áBògŠñÐttÎCG9Gµ’ÄtÝNÊ+YÙ•w“sŠ³÷e…Û3¥µìŽt™ŒMÇ^âÇ”Æo²/´ììýd{ÒBéFÅ—¾ï1fK?æÒjݲ>fôiDɬ§'”+ñ)ù"ÎQ®›õ˜&£$CñÀ“#å•cŒþŸÁ?öv›-ïÜC¾ÕÍù4æ»Iº{//ßùÐÖa†WLâŸge^¼Í.§«Ù?fõ¨-Ðñ4_¼îIŒQ‡:Tøý4Øy—žÜíqŸûÉç® /º(N.Œ%Õå¼}—Á¼~¤€æq3\¦¸:#HˆÈ4=ÄXNý7|B‚>'eu8^ŸÖȲÿQøœVåÅ5ÔIò’¤ïvÊw·rñ·Ü”0/®ÝgîaÚÛž<ü,“/YPêŽ}ô7RR'ÚߌNDPE™JTõu^ñLÓ@ùçñŸååO6à9aÌ÷µÚ·ÛE„›JÄëɇÑ\ÍÍûµ[üþÉR ”ý!Ä4”Bm`×uÝ6aÐXŒJ)CP´@ŒAß –ÏízB™F ÖÈŒÁI”8±Í MÝ­š¬„,ŸvyààR¨ŠŽ``„’ñ RR…S‘•µQÀiÜT)DUY…Oˆ‹bDðÁEÄ4žå¡áOdLNFÕÆùY2ÝPFU³T`  æÝ¡5¢NØA¹e΄ºÅÆ\DÆÏx¡.½_‹ð†bu`úyW&>Ærq¢*îÞ‰¢+¢)âL ØÓf¢]|D®â¯â+ö¢§Ä¢ÛÌ¢`É—-j¢.ª"/ú¢2 0˜þ0n1j¡S#'&ã2^c›4#‹=ãq‰&J£}P£.Z#6–ã”hcdä7Æ—7ÆE1Â.îI.Šã‡‘£9ÞcŽ ãˆ¬#wˆ@;žÀ;ÚÇIÑ#2¶">$•èãc¨#-º…?¶c@ÖA®¢="¤EfˆBÖCãCÊ8äDV£A^$IŠY–ðc—<¤7F¤@ÎcHÖ£A2 ^<‹ãyÛ zÝgT´ÙÙ5áWiÛž=P²D=>TÚ» ÚI^Ù¨¤C²¤KE*Æ$û¥YPzšr„ªI¡äqËõÕ…Ùü™ªõäÕ™+¾šrEM¹%µ=á¬M¢EeCþKŠ@UŒaeVÎ$³!ͳu%RÂeÕUÛXž¶âŨå&äVbÛd¢ÑS*š]c PåGÊž¤ø%í S¾íõÆ â¡ÝŽÀáà áÁÜ_÷5\bÖ$ÄqÅÄñ¤¸•NÆÝfZz•É‘ÔNY‘ÕKløµ¥Ê±\U]ÒRfBc l¦?î¥_}&h†&`]ê¬ ©àØa !Ë&µM]6ÝämÖãDשO¹gGa þ&ˆڙQ¤šÿËâ-b[¾êÝTè=gÌ¥ä]NçCZ'_2WvBÚà„ ßÒà-Þè™ç}øIþþí&ô! iÞu^ÑXn(&!“&çgœ^Ü5!­ÞeŠEt×tR§ƒ^X„þ¥„mRïÒHùÑÓXç RñR ÏD(Ÿà(ézFÕóÕ¦ J_'Qß‘ŸE%ÃaŽ6eàl‚©cZXøsBžù­X:J%^2¨^~äîýhÞÍ1“á](â]©þ5Sãa G GpàŽ¨‚Ó¥æŸçh6!e“*"…E&Èh ^ALF’ÅFBãCnfÂ$6× 2Añ3­àÓÕ yö_MÈŒµH «¶Lê {:Í}’ÔM!Ùu7!TÖ%]ØyT°²Ý+E!\Öšþ\R!‚¢Ÿ,Þe„€€jgBè¨Ù†QfÞW±a\­¡oÖ&ÓØ!Âá¡jéâÄZ"£ò!~r`H$¢þ¸Yá+Zž#ÑR^$2„$nꢸi´Jk „êµjg–$ÄâˆÁŽ ÂFë´2¬¨6¬.UdÄvìŠÜhA´^Mtêq%¬´2¬Æ²Çz,Ëú ȀȦÉƗɆʦ¬„ŽdËî짼lÌRÄÌrGÍÞ,Îb«Îò,ÒÇÄîJÅ&,ÊflÑÌÊ&-Õ¢¢Ïæ(Íš,ÑF­‚MmÕ~í4^­‚ãÐÊ)Ôr-«x-Ø®mRÌÀÀÜÆ­ÜÎþíÌ@Èb­Ðjmµ¢m×-Ûþ-Y¼šÇÜíØBcÙ6ßÊäîãF€d’È@ D.Ìâm—$®D.îx¥×«å{ŠŽI}.Z=®uåDX2eꥦ¾Z®_õÜ P®åþlAmæê­ârnçdéd¢D.aï’šé^—|Æá’é…︮ö“ È®á>+Ùâîæê®g!Usªž¼,¡ÄDQñ W¶íæãp›ê­ó®Û`DoåNo0B«õn!öÚVš…¥¶k¬ÙoT'Æ-ÂîŒ\çðføº ø–_p­.(!¤ïª¬¯ô^îá–lü"ÐüfïHZÒ¼ŸyÚD÷þ9áPðÑÄûî³ÉUè¨ùjÑKïìb®[h®üVðPñ¼,éç©e3ÞrPy&Þ–ð“|Q9­.µe§…Q1p’ »¯3¯ÓÊ© ß°ßVÇá/Í`Õ$•Äö×—æ`™±‡¨ÒǤ)·k LÏÕ@C0õ"îÃÔëÓõDÑØ|0…ê£ZÄFj¿š±‡°ÓÇ`êoÝP¿.ô>0í€íÎp‡ã§m_Ô/þîë4jþn2°Ò'¬«{²”ÄÔ'«MýVªIŠ¿qGò$ Sð%ÓM›ˆˆó9!¶`Á",ÄÀIÞ.?\qJÌþ\Õ›2ŽÜÕÀvo¦öE0°úƲ Ór%[å- K³ÞˆÈ¾¬2+£óîÀp9“3ÄCr5׬ Xq6‹!ªí7ï¬ó A>ã3å&5GpÖ&l;çî;#I<ºI$Ï3ÄJs÷óK0@»ó@—ÛÄs.#´!+ô䪳?çm´‚@@_oDGAo37[´‡ó8—3œ3?ktCÿ3x4D‡tn¬ŠgtM‚Nï4O÷´Oÿ4PµP5QµQ5Rÿ´ISF=ßs>Á>3ôûVoLË´@Ó´nÌÊu$5WwµW5X‡õN/5äbs±Hõ“mU[5HcuM‡þ×›lµXÏ5]×µ]5YCFãZoã]®5[×°[ûÅM{3Èõ]'¶b/vWçõc ´J¯t´tûÊñTC#`´`6+²b§ 6c‡¶h¶N;v]4õSCõ‚ôu›þõZk¶-s¶g× bÅ!Ü6]Û¶W+BJŒõmç¶Xô4qû´oSDO'wA(õ›žð@•%¡Õ^ŸµK_öqeöL¶g¶Ž€viëvh ÷Wû¶ncDx7¶xBPìt{÷ts›7OÇ7yÏwñ²¥ Ž²­ÍZ:Í4òó¾ðu§5f¿öv‡t_Þ4§€7n¯÷b×wW#Bqwƒ«·O7OþcøNk¸„oø„B‡Ã÷sh[ºSªúº°W¶,»©v_5‚ǘNy÷½å4|¯·pÀPsï´„7·N3÷‡§7Oÿø‡ë¸rï´o'‚R·nùXïxsÿ¸ƒk¸N[¹Oy–yixŒ’«s>aU¸úBñ€ûõ0¾x[Óôg*øgÛø|ãxpwrÂ’³÷„÷ß9…»wžO8}3y€ ßx…£·!`x W¸qs9–g8¡ÿ4qúX{¹3oòîÄ*“y›9‹W³šo6››08„ç¸n“7ª:“k¹¡÷ù«ºx󹡯ºGº¬3:¤7:PË7rCx¥‡/þt_ú*eM«¸§ÇðFwI¨ÇvŒ“4¡˜ºœ3º¬ yA¤z’÷ù­×„“ù­S:…綵ۺ­ïº¹7ºƒ_9°{ñ»¯ã$Ï+kï£kW5lÛñ;Ë#E§Œ´Ç9µ§z·÷ú©Oû«Cxˆßz·—{Ÿ3¼ºó:ºKúº³»éº» Ê!«¥¸Óû™·vš8Œ_r›¿Ô¿‡»À§7¢/¹o³:Àû9Ë纒“7¢¯zÊãúɯ;–c¹¯/÷ÄSüãZ¼*wÍ qú§ó§/»[4»¾ß2.Ò8Nÿö«§7Ì“·‘ :qg»·ëtÕ9° ¹Ék=Ez®ÿ8Ä{8«Ì’Ì– þ;‰» ¡}.ñuƼ?òÑ¿4w(½%3½N‘<œ“¶ßÿýn›vX0°zÔûBº8ȯy+ÓW4Ô>äG>W þàLpDoÇÛûÇãûß±›GƒK¾è¾ˆS~SîÆ?ñ $£ys~Èóm‚7þ „>é߾䛾SÈÀ0ïÿ>ðAë{üëÇt¾ç=çŽt¿«“íã>ôû½îç.›jþñ¶³/óSÖAO¿2.-!>ì+~ÔX÷{/‚¿-‰?òw~ÊŽ´z?ú»¢úgûcÿÒs-Ý­—üÏ(Ö?@8 €)N$L`À B´‘£`Å 0fÔ¸þ‘cGA†ù@F JZT¹’eK—/aÆ,ˆ@fM›7qæÔ¹“gOŸ?ZãMš?*\ØðaDaŽ”:•jU‘QÕº•åÑ‚tº+¶O:_òø;–lÚškÇÞé  ÁkÊrIeLA¾ñLÛ¦`àÁz'–ù— c‚zÆ`˜€d»Ykzí™T)C‡NŸR|i•tiÓOb>©˜õOÍϺÝ;'mTòª´½r­åÀ¹[´#¶¯ÀáŠKÙË';>]ññäÖ¿v!¬§.ôæÏKªŽùz'g…ž›F„:út{÷SWS—Ï“<ÁÝZï¿EÛ89þìý,Ï"$9* ùo¾ÛúÀ±Ûä*i ˨hð.ˬð§L0Š-“ðŒʼ¥>sj=—ÞkÑÅ¢Š"ÑÂÇÐÀØÎ:C¬: # ‰¨ÇÊì3ÐÁ ÈqÇ"e›ŒÃÉì.Ê¢ŒHå¾äÉþd?+ SÒGÀ’€A¤›¹¿ ¤.¿ÄÐ>í,‚ŽÆ;sÂC=$ Q9:ÒCFvhè€tøA",ª/§O@´[zÑR÷RºÏMµñ9´Àê+0QŸ´ãÇ ôM6›4Á$» •I&íä.IPµËBă@p•ÌÖPS­õM;ŠþÃ--WQëT8¡U‰ŠUý¢–Ók[Ò3ÎëžUZ*@Q„€# Tr'H%UQ4/—´Ô4Å–SuoýÔ¬ýhÃñ¿ aíK}Éä°ßÌ`…Ÿdõ/*ê`8߉ Zø?ݲ¸É´UIàÙÞ‘£åxÛ˜àã&Áq 9„`"‰VÂ×&v™šôÝJåí¤ð`ŒäMñÝ ã‰c³’Ê´àêv7¥Ë:˜`·\c¬îöS“j“†?öMKk¬™ÎÚj±ê˜U¨Ã¶¨ãŠ”u[䡇~[È>%‹û±p*—æšMD¨³œÝÊçÃQ³Khºg,ᶥίbéþXø+~çVÉ4¶SmVïòƒ|=7s³Õ˜Õü$GUs¿æV0vÆíµ»àÊõ®˜oÞhÉæšpNQ½YBÜø¬LBžv¢=XꉑUUå?§Ø¸â†=ÝòÛò²mZÒÿûÞr*Æ<Ú[¤A ÿØâìÈ+z•Évûä7tö寵}søUŽŽÝ_ò;™/=!ÞJŽ‡¸‹ D<øk\óV§=Ú¨iUä;ÌöÌô¦çu(,qyÌXöÀ¡)µaH!œÕw&VBÓ•--*4̆¶ÊÁm~;ÎXê`C¶ŒÉØz›Ú†D˜îès „‰cB@./`ïE)¦aS´þ"ãŒÀÀ)%R„›Ø"1‹WT Íx§»œÊ Jã¯UFßmqpÂ3 Ãè¢L=Ž‰Ac+k’ó‘cWèx/Þ‘=yÄÔâ°RÈ3J’’•´dN 8¤N‘v i ]r:$å)Q™ÆL¦+‘(*à'JQÖ‹©ÜŠ)m™K]Òm•Ú$ÛõÅXÊ> Ü¥™Lež—,Qbá†IÌ‘(n™·id&l“›Ýôæ7ÁNqŽ“œå4ç9щÎ$È@šítg(uÒÌ•±Ù8ÐTÚÉ! a«@æ^¢«eÙ~`RŸõ«$«Jx•kÖ ’vÍ K F­ä¢©Ác!YÉN–²•µìe#  K³œÝ,0ZÑŽ6´ ¨«a¯59ÌA+@-_¿úW‹ÔR–D©)j稒ìà§%Hc@Zá³ÈgþK\å.W²¦ÅíÈ@®ª ŵíPek[’:±##Ež>Ÿ»Gêsà¬J€Ë\õ 7›Åˆ{Û „à®—¾£unx¯EU&À¡wJíªCúê×6Œ©qQðÏ•ì€8¯EÒ[_ S6¾ï•o…'œa û6ÁÒ¹þæß_ÖÎ.VˆÏxÑ+¢|ìðY²¨W$ÂÎp…qì^ï¸÷}1~0³Öþ·Ä}=±â~F’ªÈèÀ)¹í b3&̸ åñ§Œ‘,'€ ì¼r†gPCy:r rBGÜÉ"ÇvÀ³ I>¯Ò]š2Y5O&óïÎ<+¹¾ ˆÃ 0þòç@÷˜ÏõA˜ÇLæÖ,vÈiv¥‰ÛŒà[ÎÛÝãœ#©h›• ó=ô§AjQšÔ¥6u¨{<_Ǻ§võ«a}jˆYÓ”¬î@è#GÅNñ`aDS‰ ;¢v®5+O\,›ÙÍvö³¡miO›ÚÕ¶öµ±}mZ›·H®u]^»¹Ø“6w¹=gðr[ÁÉÎö»áoyÏ›Þ@¶٠Go$% ±Â-à›XúÜù¤WòÌ-Ñ|ã¨os«cq‰Oœâ·¸¨³¹p}®þv%À¿º€q#8\uNø!Jrck¨3x`s™Ïœæ5·ùÍqžþsïœç=ïù¹4þÆ}¤ãjx¸EŽÌmP.[·ÓƒNŸ¨O}™CïwÑ €£5é7æw“–ê›.ûÙsiõŽ=['A×cv²áƒmaÑÞ(ìï}÷ûßxÁžð…7üáŸxÅ/žñwüã!yÉOþñ_{ Úò·<ï÷üç÷zõµgéœýéQŸúyŠ¾ã¤çºéU{Ùžè—wýægŸ{Ý«þ "°=SÜ÷ÝŸøTï½ï[|Í ¿øÍw~­/ß“^×Ìþõ±ÞèKŸú¸Ïþ÷Áo×í‹ ûÖÿùÑÐñ—öéwÿû)¹~þåÝüð·ÿý%)‡àõÇÿÿЊôOëøÏÿðnÿÀð!ðN°Û/-ðƒè¤ûæ¯ÿ*A0C¯6ü:°?PUp(JÐ÷Ypip3\°©kpy°_0°…p'þRp‘Ð5pð“ð p 90 ­°¥ ° ¯° U°ö˜ðƒÐ ÉðÿjµÇ° ÙðýÎp ·ÐÛp£PôàP õpøΛpþ’â÷¨PñÏoGO óÑó8 ÿð)Ñù"ѱ5‘øÌþ#ù Q71g¯1/EñSïDJñ×]1ßÀ _qÏ. ‘q1êls±aQ€É}q¡OFàßd•‘ÌrÀ‘Q—1ñ«Gà?.¥1q«OÀ³µ1 ‹»ñ¡QÑ‘¥¸±ÍñÓñ9ŠËqá±)J«‘íq• G@ù1 sI» ò I‰ ÿQ²!-‰ ¿r" " ’"1ÒŒ,’!3²#ŸÑ=r${h#Y±I2%åÃ$ãUò%‡†%Á&irddR"k2'%$Õ¬pR'ò@X²|R$þƒò(§c(‹Ò%‘²)YC)‹²r*y*’*±2(¬’)³²+÷Š'(}R*½²,[‚%I@,¹Ò,ÙxÀ2ëÒR,ɲ-éòÛÞ=â’(ç².Û-ór/ùÒ,ý2.×0 ó031s1³1ó1!32%s2)³2-ó21335s39³3=ó3A34Es4I³4=3‰î2g¾ª30½’%A`¨ô%]s*a36Ó²5k+Y2p“5is7‘²7!âõ„ó8q-5"|Ó8‘ó8‰7uó9²7›Óû¨³6­³8§3;uÒ:›³;½³&©‘ĘÓ7ai<ù²<Õì<}óþÈÔ“7±=™³¨âS0çÓ•Ü3=ï“-©‘³Î=C>û³)ÿÓÑC@ ´@«Ó4AÝsA(T?ës@ƒsB3ò@ó‘)öSBS‚`DI´DMôDQ4EUtEY´E]”D,P4h´FmôFq4GutGsRÀ&˜€„tH‰´HôH‘4I•tI™´I‡Ô©\‚Cr9#4Cdà˜d€³T †€ À4LÅtLÉ´LÍôLÑ4MÕtMÙ`@d  4•˜À P³ñBÏDG2”ÉO†€BP© †d"­’IQ_bóÔC«t*õ˜Øà˜ØþU™5JO§ô!"Õ)'u—*õRw)S7uQQ³ÕŽ0TRÿT ,S55&:U—rÕ™@òU×LÜd5™NÕVWõ˜vuž”óWŽTgõ!†à˜†àVaâXS‰Z-b0•Y#0@¼UŒ &¸l+*õY¢ :h,Ò  ¾À ,‚]ݵ"à•+¢µX}B ¢$A~b^}ÂZƒ*Y!-Xõb\" Â5îæô'Ê5(øu'v(êW  ^É@_{âawÂ__ `wM`ƒB –à"œJ Ú aÉ•VÍu_Û5c[v+"vZâ.Ò` 4Öeãµ'8Öº<–Í@Ö'²@þžÀ.œ* †´ [½udKBiG–`@hbaÏõem¶]ÙUG€`^Ñ@]»ö ´–k…"f_bgcB À`,_Á6kÅ‚lÑU,jöHÖ$ls–'ÐÖ.ƒÀ>V[Vj±Bi½õ`¹•i Ÿ”`hµ ±.* öM ÊÕRš ]‘#šà ž rÇ ¤ ^ sŸàs_ Ä B7V<t/Ål]"­ZätKw#*7 0Bv9wu_À ® s¥  ž È 0 :WtÅho ¢g³µ)Ku'Žà`‰Â©¤@zÂdKJ¹, "WrU–r5—v5yE·|»€x3‚|Ã×þR\·%`÷=d7$HW}7w}1yu1Ey±uY(‚öh‰– ÷$”à[i{í ¼@(&÷Eô÷~Ç7|Ëׂ;ˆxé·u¥õl+4H·#x÷jBׂ57„3B ¢D, ~ƒ÷=4+‰8éÑþöƒ"€øzÛêp{ –d‘6aw"‚]¤ œà…Ó÷ˆ8x—x‰5âw7÷ˆ1WŠÙ·ƒ_÷ƒ­‚wm# ¸v¹¸ BWŠ›˜Šï—ŒË‰Û#†aâºü)Ÿ÷'Dˆ¢z³·`—qW 7(ˆ¸EœX#Ƙ‰•øˆ©` bÀsÁ؉ÿøEÚ—%Þ÷=¨ …1‚ Nþ`Š_ PW‘˜w+Š€’1bZÂOCu†³N, ò‡‚[¿\"j½ N6Xž¥pyßúø=ùŒ59Šƒ ÆÂv‡™ƒ7õETX,*9”ÇBYŒ¥x„ `‹­u-9ye¸o@•€O=Ò•S©\ 휙«‘W"­Ð¹‡Ë”£4L€ÄÀY<’œQÉœÝyŸCKU‚ù9 + žÏRžçÙ•êÙJŸOIŸú¡!ËŸ- !¢ Ú™ ú Ñ#¡6—º¢Z¢+‚¢A: /zõL ¥—B¾Y•íù š”>º¤÷Y¤ ‚¤iÚOú¥2zžþ‚¥9pMU µ.ú¨‹àP%’ú©¡ÖJ‚{Ú~º¥åR¡ùKµ”K½tÀ:¬Åz¬Éº¬Íú¬Ñ:­Õz­ÁúMe‚ˆ`å¬(àZ†Sú®¯:¨RD_´¯ýú¯ÛELf”G û°;±{NkBœô±!;²%ÛI§k«:¯]Z«5´!â®S³³z³_ó²¨3[´»²³=´gµ³Rµñº´±ºµ]›*aû³e[¯kÛ@IÛ´C{·ò¶­:·O¸yÛ³‡Û·iÛ¸«³·g8™{8[·£;'{oµ‰û·«û;o0¶•º·›»7·¿û" þÐ;½Õ{½Ù»½Ýû½Ù[ä[¾w€ìû¾ñ;¿{ ¿ùÛüû¿ü|À ¼À üÀ<Á|Á¼ÁÀ!<Âý›¿)<¿ç[¾á;Ã5|Ã9¼Ã=üÃA<ÄE|ÄI¼ÄMüÄQ<ÅUÜÃ;@J0¹Ÿ›^`h¼ÆmüÆq<ÇsxœÇ ¢Çü—íÐh ÈüÈ‘<É“üÐ ëE.§™ëÕ”|Ê©ÜÈÙxÜ´<n Ë½üËÁüËS`ÌɼÌuÇË<ÍÕ|ÍÙ¼ÍÝ<h<Ìå<ÌϼÎãÜËï¼Ëí|Ïù¼Ïû\Ë=Ð}Ð ]ÐßüÐ=ÑÌU ÑýÑ!þ=Ò#}Ñ)½ÌU~P¶œ9½Ó=Ó0ÔEÿ` $l( \ýÕa=ÖaÝh½Ökýp=×12 ×}ý×=Ø…=v½ØýØ‘=Ù•}Ù™½Ù1àž=×)`Ú©½Ú©}¬=Ûµ½Ú' Û9 "À> ">½ÜôÜË=Ý?ýÜÙ½ÝÛýBàÔ}Þ¬ÞlÞ;ÝÞûJ•õýÞ‰²ß~5ñ]Ý? à þà>á¾àݽáÛýò.¹%~â)^¥¢âMù:ÎáÙâ= 7° @`àM~)G=åàJýÔ%`ÕY]Öe^Öm½æs]×y}Øþu~ç{ÝÙ]€>è…~è5Àç~×o~Û³}°]é·½Û'àÛ#ÀÆ"N¾8>®~Þ³¾ëá=Þ·œÞ߯~ìù}ìÓí>ì;}áÝþí¾ëþãKãí~â•â®O@â¥oíäÞ=éþòJð@Zà€íÕ]åU¾ÔR}Õ[}æ)¿jÞæo¾Øy~óuþè‘èAôw½è=_Ù¥Ýé­é›õ)ÀÛ; <ÀÈýäÿ^ñÓýïß½äÝöÕ>/Ã~íÿ½÷…_ßm_•áþøß÷ôãï¾ùõž‹*^ãK@ùíJ0 @ K‹¿Ó?å[þÕU½Û'¿òeþòmýæ¡}×9ÿýƒÝóƒþ×C¿þE¿ô=éY¿ÚUßé]?Ü∠<ˆÐ`ˆ… E ‘¡Ä„+Z,(1£Æ /z4H"¤È‘#?š$‰’DÁ”,U¶|YÒ¤Ì4kÚ¼‰3§MŽ<3–ø ô§‰¡D‹=ŠÔĉ¥'’´çÆ TBÁÁ P°€Ì±˜=‹6-Ú D€`‚\ êÚ½‹×®…½|û^ø ƒà „ >Œ8qbÁŒ3ÖrâÈ”+[¾ì8³æÆ€/Pø :´hÐ6Œ¦ —C‡$+ÑáˆÙ³ADÌHv¬Ô¼Ý!>äNSäïŠÁA?Ž|¸EÌ›ãäͱªP§Ô“2]J*t†Ò©¢H€@®]@@>½úõìÛ»Ÿ>üùôëÛ¿?¿~ùê÷ûÿ`€Hà|ðˆ`‚ .È`ƒ>a„NHa…^ˆ¡zZ 0žzbˆ"ŽHb‰&žâ*®¸".¾cŒ2ÎHãŒ,ÞˆcŽ:îÈc>þd?Æ(d‘F‰d’J.Éd“N> e”RN)d‡\;PKѯô†YYPK\8–AOEBPS/img/odbc_diagram.gif|ƒîGIF89a‘ÿÿÿÿÜÜÜ,ÿŒ©Ëí£œ´Ú‹³Þ¼û†âH–扦êÊ¶î ³ÀL×öçúÎ÷þ ‡Ä¢ñˆL*—̦ó ý!¢ÔªõŠÍj·Ü®÷œ‚Çä²ùŒN«×Òû ËçôzWlÏë÷ü¾Œ÷'8HXh8x¨¸ÈØèh•ø(9IYIi™©¹É)‡Ù *:JõIzŠšªŠcºêú kÙK[kû7{«»Ë«–Û ,|õ;l|ŒLT|´Œä6óŒL]­Ó\” m@3 Ém.íý¤°Ð îä]>þ>Œ=tN¼^åŸ,/´PŸþOŸÀjü€0¸ñ,RÂrÑÜ}ÒVÃ9€1-´70££‚ÿm2äFO]ºEÚ8X1¤DÓœ Q£ÌE}\Dè %Ê’<'®Ìi2¥È,ÎÅœÑ0Žk™²dº“Go ÓíaˆK‹î ÛÌç¡ û%­õöjÍzç²>m:sìá²733kXu×¾®«þn;øcÞÀ‰[ß2;òÕä+·wo¾“¬êÜ>¿û¾ŽÞKö×ÁIruïÚ»oóà»G7ž>?;üÊð1ÿ§€h½æßEãEÓtìéÇ ë̓t Nh̃ýD¨ …caj·aˆµthЇ Šˆâ*$vÔ)¾(ÊŠ0Î8Œ4ÞøŽ8îH‹<òCB:þÈ‘J.I¤‘>"™‡LIe•V^‰e–ZnÉe—^Z)å—bŽIf™cšøÅ‘Pf¦™n¾ g—mÆIgp¢©Þ“kÒ1§~þÉeŸ€Jè”xÞ¡çžžPh£„ êh¤wVG†šŠÞ褚Nºi§nšd¢—¾©§¦fYꩪV *v¢ŽºFª«ª*묧¶ª…¥°š“©­¾ P믛âÊæ«»zÖ«°«ÿ«l¤Ä¢Cé±s0Ûl¡ÔVûh´`è*í×bûç·àúùì?ÚvKj²ãj*îºt–û ¼èn«®»Ž¶kï›ò–bì¼ôæËn½gëä¾þ†:°³'î¹y|p® 3\'¾ 1¯G\˜ ÄYjXÎ)²_,§ÃˆnÌ1¦¬o½ \æÌO<ò4ÃL¥Í/ÿ lA sÁ*· ˆº:÷Œ¯L·¹´¡™"ðôÍó<´ÓOkÍjÔCK=ó¨í*ËHCѧ×Kë 5Õ]]µÔ`ó—j·lÔw+íö×~oéõØFŸGÚ$×\2Ï}žó߀/2ÎqÏM9Ó“ÿ;žu¯kËø΃ž.Ý›S­w͆^Þ8æc¯žúã2#Î÷Ô‡Ç>zåZvîñç ÇJ{ÉŽ;޺Ǭ»¾³ì±Û¼”°ƒÍ5êEónöîÞö¾7êÁ×úüí0û,w ‚ÖÞµòÑÏÍ6ìçŸ;õd[_,Ýp7yÈAKºÍàß/þëʽ?Ê9¯{ÈŸîàwÃM¬tË[ÞW¾¾­x, ég;níýKÙXzïš“UöøÇ<ÃÏx)#¡öJ(¹ß¹MxøkŸ/úB^ÉO‚ÐëÛç?ß og+!OÈ>f-ƒ9‹aõ”À­6f‡ÒbÿèÀúÿqˆWô!ј跽™ï|4”Ú¥˜¦¢¬LßòaÇ)òÅÍT´a¢ˆÆŠ¬P'Û£àÜ—ÇJ©ÑW#$¹ÞW¬'²D†´Z#ß…Hh-ò_äT%'uÆIÆï’Ÿ$'§wCEjr)žüdMy¦Hšk”ˆB%™úxIQG–¬œ¢+ÅËJÒ28¬%„n‰ËRÞr—ý!¦/ÉÌB&ÓnªŒW3y¡e¦Lš$4;FMïeóq™¼æ~¶¹EpšÑ}L*§9ωÎtªs.H;ß ÏxÊsžôl’3Ê(ÎSæ\¹Ü§?_ùLŸüS|å§0 ŠÐTºŸþìgBMvЇJÔÿ{ u(*-:Ѻet£¬hD©‰QŽT¤$ ¦GEÒ’2S¥,¥è=S˶ÔL0é2 æF‰ÖÔ¦,äéLqÊÐ}îÔ§á#*K:TC&Õ§K5ª.º”ÊÔ©¥jI‘:Õd6Õ¦[µª±*U¯ò1«b&X9ÚÕ–¦µ¬;ëFתR¸²u`nµ–úÜøÅ—¥TЫ íÇ VUŸf¥¡›ÐºfkŒ^Ìkæ»ÒòõõxË×ì¬HÓ×I3€>ƒlA;(9Ê°K£F›¨A½ÎQ®Á”l SÙÓaÎεdíW¡šÓ±rpˆÌ gµ™Úä 7‚ ,_i—¼ÈýõµWÿâVgûBFýöŸ Õ­o X[²N3¸ò3ì]/[ÜÑùk\dhªâè\ÙúÏ´ìE+n§ÌÝfWqK=¯rëXÛÕ–°rÝ“#z•\ …®dœh‡ûÓ÷&õÀâå|[Ë]{WºLæ+] +Ѽ Xéž»Þ$Šø­ Ön{‹âúv¸~¤E-e7HÂ1·Hlâx±öá†xÂ<­î¤`x]ù†Ñ~5¢‹k˜aó9.zN£ã̾$ߘÉmñpƒ7âŒú8f@¾p—'WcHÊ)ü#üdf¶xÉ* gŽu¼aè>8Ÿ[îd—‘Ø[6›xÀu4°œd1Î6¼Ë ²ÿ„;|dÛvªÆ'œ³8ëlçÅÏÉ0©}YlcI3ö»œÞ´§ÌYD‘‹êÅlg½FHG:Æ~&ïÖ²5füâµ²‚ö«jm-`è…“ÏFµ§rûjǵÄaÕéVï6W-Û½Êß’=QU7tÏœTñ¨¡Øe“xÛ »6¶?«íf»“ãF¨´…Jm±úºÜ¿:7ÓíÕu³ÛVî~4¼­*ïy/+ÜѾ7Uó­ï[ñÛ؇pÁÁYo„ûÛ©?¸³OÊl‡Vâ›øCnŠg3áÛÄø@=®q‚½táù´C^qÖså,o¹Ë_Îr•Ã|æ4¯¹ÍoŽóœë|ç<ï¹ÏQÿô —ZèD/zÉmô¤+}ÑH_ºÓŸ®[’C}êT¿bÕ¯ŽuI;ë\ïzfMîõ°C{ëb/»Ùƒ}ö´«½´ko»ØÉîö›wÖ®îa|cwaÁ=ï«4†É@43—ï¦Ú;áS¹\<‹P×íüá•eøÇ«ùˆmöò—ÁHºçZÏhÿØCyÉ[P¿n `‰ÖdO˜} ¥žöVú±š¾{iSÏAòÉØõý¼ÐeoyÊžyò¤/~ú\Øt¾‡ž÷d²éÔFC—Þ<ó{û³?Åχœè°›ãê'ùúØ'ÿ×)ÿìÙsþûò%´i“Ÿ÷囿̗>˜§AÿÑŠýYž?ãý_‡5iŽx´~—%Y3ä{('Èv•–\­÷€6æ|qæaaæ€É•˜l ÈHb ‚#¸.H‚'H]ð‡‚+8t,è‚î%‚/(ƒLƒ3hƒ÷¢‚7¨ƒm•ƒ;胖Ճ?(„UƒCh„åw„IXm>Ç„Mè„O…Q(…SH…UØÞ„…@ÒKYÈ…eU]†Î†cØMdh†ó…g¨†³”†kè†bLo(‡Û1 VO×c‡ëT‡[8-y¨‡Pä‡ê´‡qH/ב1„Ø ˆˆ†{hˆi¨ˆ»ðˆ¡‰®Òˆ×S‰’€Gs‰ µ‰Á‡‹Ò‰ÇŠŒÿ‰Å2Š¼tŠŠPŠÛŠÒŠ†°ŠõðŠ2‹Iñ‰…Ó†âpˆ¹“(1¾hŠÖ±‹µˆ·¸¼h Ã(ŒÈhMŒ´ ŒÄñŒ«„‰ÌH Ñ8Ó(†ÕHŒ6aÉ ˜ŽüÒ-òûpŽ dŒéRŽ¤ÔŽ}‹ß€61 S–è‚a"Z!’Ž‘Žãñˆ)ûôA/ÿèøhŽ?±#aD±Ž )H9M@ÌA1âˆ*³‘Ññ¶Q ‹™4É+9i%Òyn4‰ÕƒùÆ‘#¹ñÊ5Ù“´A‹Õ¨’ûÁ’”2 .ÿ‚)òöqO IJÊ!’‘•¢AùúHRéÅ”K‰’…h–ç‘N) ÏÑmé–“Ñ•œˆ,›Áj¹“xB”/I>Áä1—y1ˆg™F3•3Ù– )r)˜‹Y!Y—“Ù*!1™˜|±• b“~é˜nù1¹Hi˜yÂ/ƒ9˜¨¡ Ÿy—šDQ•”y• ‚—ÀM‰&9Áš šI•Q˜Œ/$©ü¡›é™®é›î!Š²©“•ÑÚÒ™Qœ¹é»Y½™¿‰ÁÉ¢–Ri’ ‚}i©•Î™L—™1aœÑ™œóù–E銤ÿ)œxèºá—Wyž‰œõ©m˜“ëi À ˜êÀŸã©ÒQ­9 :šÎˆž7d`i™¿ù”•Ê —³Q ÐÉžþ0´°Y˜1–æÉ› ÞI¡óX EYFÙ ÿ—I‡J©ž"ºžçÐôH£(ê7™ï©£ÍP–๤V )É;Nê Pª‰øùš”!ô‘°¥äh¥1Ê Ü)HRš b:¥¹2h* à¢ÈB¦eª+M ˆrJ—Ò¸¥Ë£žøŽ„‰§_ª§}Z§Ù¨¦^˜Ÿ‚ú¦ŠA§#W¨±¢œ‘¨l¸¨°Ñ¨ˆ:¨¿X©Áh§‡šj饙ڣŽÿz©’t¥†ª”š§À©›0©›:ªÔ¦ ¨ŒúªÛ«¦:«’Z«â¸«§ˆç¤Ÿ¿ZN©JŠÂ ¬sj¬LB¬sȬÚ¬Ï*£½ ­¾ä©ÓZKÕj­£„­Ù:IÛÊ­ä­ßŠFá*®9D®åŠ@犮֣®ë :íê®g¯iä'"‰F!‰‰¤ J 󊆡Á¯R¯+£¯p*­‡à¯i °áX$öH‘»¯«%«Š»™e‡«† K¥z@±v “{†›> ¡EŠ"úÕѦ“ Y´Ñ7™ )Û3 *mš¶Ù•!i$Kª¶0£:±š-{Ì™!)ºHÿ«š$é& –ò¡š˜é¿@•Ë¹Óé’RK´ «#"Ÿ];°ò!:Ë•PY£S›˜)¶+ µO‹¡f;.:°c[¶Ê´¡´«™5›™F*™}k¤;J¸7{ ?)šœÉËá´0+™økë’Xé·¥ñ±{°·{³ŠK¹ƒá&ëžýy"¸¹[;¤»–­Ajº' ›2 ™›¯›Ûº¦±¡rº'Zº ‹ Qk¸@‰b©˜i;·À뺜›!ÄK»ˆ© C{»n»¶r;³O+»I{·°K¶:Š¸p Ÿø*³ÈË›‚ »Ì{¹ëµ|ûº‰+¡ù(¤×»¼R@ʾ)ÿê üiŸÇ ³ùȘ{Y¼Êë¿B{¾¶È²õû¸Ä½ :¾;¾¼ºg»¿<éš Ëº ìÀ÷1Á\:ÀÅXÀ”Û¸§;— ¼ \Á_¹¾Œ» \º ìÏY¸,Œ™ì Í묷 ›½Tk à ½«²z¸1۸ܑ¡Œ[ÆÛ¶>Œ»lKÂH¬·a½%Jŵɳt«—?jŸøú½¼Ëµú+½YË–FëÃ\\¿C Åw‘Æ~pÃ|“ò¹²?,¸[¤âQ³/ì²;k¸wl¶º+³¶»»Ý¿bü 4¯+†|ȶZ¸ú È‹Ì«y; Égj¦“¼Æ•Œ¹~ŒÉé«É£UBÉŸ¼#¡,Ê7BÊ¥<#§ŒÊ/¢Ê«Œ"­ìÊ!˱¬!³LËbË·Ì ¹¬ËùÁ˽Œ¿ ÌËèÉà #ÂlÌ´ZÌÉüÊÉêÌÏ ÍÑ,ÍÓLÍÕœN;PK‡ê/|PK\8–AOEBPS/img/setup_adv.gif—Fh¹GIF87axÉç÷÷÷Z1!!9””ŒçççÖÞçÖÖÖ„Œ”!B¥œŒÖƽµ”Œ¥sk¥„{¥­µ¥”s¥­”µµœ½¥¥µ½¥µµ­¥­¥œœ¥„”œkŒœZ„¥k”µBŒ½1{­B{¥Bs”R{œZ”{Z¥{c¥kZŒkZŒcRŒcR„cB{kk¥Œ{­”„µ¥„¥½”­œB{Z)RŒ!R„c¥Zœ¥½Îµ­œ”­½1µ„{k­œ1B{µÆÖÞ½œ”ÖµµÆÆεÆÞµÎÞµ½ÎµÆ½½Æ½½Ö½µÖçµÆ­”µÎŒ{sRB9RB9RJBRRJRRZJJJBJR9JR)JZ)JB1R9)99)9J)BR!9J!9Z1RRBZR9RJ!19!9J1JRk„R)!¥kc„„„sssµµ½„„ŒB11œcZ”cZ”cZŒccJ1)„ck„kkν½k{œ½½½999Zsœ¥µÎRŒJ„)BB{1ZŒ1k”Bk”ÆÎÞ”­Î{œ½kŒ¥k„­kŒµ1B)BBs¥Rsœ){„ŒBZk)9!)9BJ)!{JBŒkBB”cks{B9œ„Bkk91”„BR”Œk„sBŒœŒ9Œ„­¥ŒŒkkRZœ{sB1ŒŒ”ŒŒ„kJZ1„RZk„9)Î¥¥Öœ”Z¥½­c{9s9sŒ­œŒ¥œ9kk9Zcs{)!­cZµkc½scÆsZ½ssÆ””{cµœs9””­µ9BŒœ­1{¥ZR½cRcœµZs”RkŒRs”c{”s!Æœ”¥JBµJ9½RBs!œB9¥B1½J1{RRs”1!œ1)¥1!µ1!µB)µ¥sB{RZs½ŒŒ¥1!BscBk{BcŒR”œ1!ZZkRcsZk{„RZ{„œ„B9ÎskεµÎ{sJ))Æ{{Ö„sÎŒ„ÆŒ„ÖŒ„ÞŒ„ŒcZ)Z)R,xÉþðÏ€Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É>ôg`*cÊœI@‚*qÖÜɳ§Ï7ƒ JT¨‚£H“*]Ê´©Ó§P£JJµªÕ«X³jÝʵ«×¯`·ò³lÌ7fÓªù€ XZi€ òêÝË·¯^D€ý L¸°aÁ€+^¬øƒãÇ#K–\¢²åË%F,Ú¼ˆ„çÏ IMZP Ó¨S£ĺµë×°[Ó˜M»¶íÛ¶kèÞÍ»7ï>ÀÿN¼¸ñãȇ÷ñ]·óÚÌ£Kž¼ºõêË¥?ßÎýyìïàÁþ—_:´gF$©_Ïså<ðãËŸO?Ïc aÙÏ¿¿ÿþC aD€8n@0Í‚ ÊâàƒF(á„Vá‚B<„!1 €\Õ…Ãa$–hâ‰(ÆØŠ†2Ù‹0ºwg4šy¤©¦£Žáõ[w@Òu×i\v½ tLöF¤‘P‡$sJV¹XŠ‡cy6²Çž{ð•Pߘó}€Ÿ~ÿ¥ùŸl˜ ƒ B€…tÖù`Lp áĆ-îñ! DŠ$b衈&ªè¢Œ6ê(¢„ò…,¶#ŒöA&ãŒ4rf㧞mIÞŽ¤’婬áæÛ“Qb盕þ´5)k }´jkqMª«m€Ð€ê©¢riž—ëɘÇ{dŽy¦šýQàÈ+RD+Å+ŽPÐ&@ôÁ0Üv;Œà†ëà4Þ QŸ-2€uái_ŽÆ ï¼ôÖkï½øækï£üšX©‹—üئ`p§oê¡ìŽ=.¹«·*7ånºÎÚd­ßšë® ûêë¯Y:,ȧĶW‚ÊÆ&+~@à óÌ3ïGA;wÈtG;0 Ä6Bè#´>ù]ô>HïÃÏÒL7íôÓP74ÒF­¹èrø¡ƒ¾»W¢ú†-öØd—]/¿‡úËX‹– ì¶ÀÇ7# wÆ0¨¥½ëþÄwLp¯Âª1“ûmÝÅI†2ɧâ0Ê)[ÆòeÇZF&Ìd®ùæØ‘óLwØAóè@PôÐBW=õêHË!­r ÍëÒÊõêU£ËY„A x¢úê`üñÈ'¯üòÌ7¯¼ÙÐïû(¡+&ÆöÛØg¯ý‹2ª×° ®Íö›á#Þœ•ƒ^8ùÇ1©øûŒ—ü8ä^®¬žý“SN~C8¯C;;i‡ò47JÐCÆ=xz8ð| Y;|¸N%RÀ‡7¨A£9÷H`,âлÂ#^½˜GˆºÐ…Lˆ¡ gHÃÖð…8|¡ÿš=±¡-mþÂCLõ†¶ñzÛ{[eÐ#ð¥J|ºaŸÅ'¸ô1'8}“"r¢ó¾.Î&~>2Ùhº”²Èi>üó߀†h¡‚Í+àHGaDðŽõ¸ õ(Øá1‚u! hB ð]‡Záñl8Ã=8ò‘Œ¤$')IFZò’3Ô!!x¨ƒŽí‡ LTߥ˜#¶Í1• •©ž¸-š/cV\µ˜óÏ‹^£–æ7¬2keKD|Òè<)E Æ3æMÉ<9ÖЄæ<¦IÍ;òq,”ÃHaÄÂ%<¡_:À¹rf.Ø@âA¯E2Á‘£‹§<çIÏzÚ3ž{þY%1yCúÏ“h(úC½œ²ª|¢h%EÀ%}±”åúhÉE\ZT—ß#ý|¹ö 3 ýs/†€!ð"™ÇŒ£ŸM`Pó¥óˆà5÷¸Mnò›á4¤_8p­ž:¢ò2ž óyÏ¢õ¨HÕç>ù™É/ ¨T§=´åå èqb¯Zƒ†:”7UŒ¨“&êJ*Yô¬#èkÄx²a¥‡£õSÿðu<;ðB ¼ˆ‡âÁ‹”2ÏòˆEKëR˜vš3…Ýa KØ–b`9=$_65ÕDMªf7ËYyF’©2l¡SyHÕÒšV_†º*À>€PÑÈf¡YôþÛWÁV±Ò*8´LNEÑzQµ®U£d„kýðÓ9;÷¸ÈEî;^Á‹;Üd¯ð€t§;] ôbÔÈ®v­ÁÝîz÷»Þ…‡2 x€÷¼àÕnvË!‰Èú…²{Hž»€$`€‚ªƒ¡â mp@ÐY#X@¶ç&,`NÀ —`BgGG‹Y08À"m qhBÒB¤qve&‚$ØfnWw*è‚-X_t÷o1ø æ zgD…$Y{‘p:H•aƒ—nõ•n20„Ex„ †û¡„L(…ÿQ ‘†…üzJXz“g{þrº†ª·†jrG¶ð†±'3Ÿàiàx£Ãx£æHÄЇ14|… ˆL@ ©6CY9Tˆ¬&bÆS}6P}é÷‡ê’ɉhb:p F~–Øþ’4¦‰ä’VŠ+'/ãh¥h2c†r Ê )¸UºuP‚ET¤$Ou HmM©‹8*ŒáQÑ(eö•evfi¶Œ}ö rh™–h,H áðŒÒ¨–j)geilÆ;ppݘƒàX'ð—‰F :Ž1¤ŽI¸„ÿ{ü1zi6…õˆ`™waŠ¹3†b¸† vziyažv„µ†ä1”r Y‘)|©öBÉayj6’€ !¶I“*i<»y œ¨1b¨sö2‰06‰ Fc=y¦Ø?†² œ`”¯ˆ”IæU²è”Oþ©€Úö7H•¼•*¼x•cd#ÁH`9f] –ÎОîé 1p A€ ô‰ ÙpŸøY ú© üÙŸÚP Ûð:ÛÀŸ* úy ªŸÙ…Ÿ÷IŸx©—z‘p¥P&ð—€IŽF„1ä{ )3\Xip™• qòXÙ —y^¸—Ù™y`›©{I 9O{{Ày˜aLr€ˆ«I‘›},‰<±i~ÉS}¶I}¸y’®æ}ä~4–<á1IbmP(Uõ~Í€›ö²œ?©Î … Ô©UC–mRg€(VÜÙ`€·žV×+¼HhŸ1a Îð•Ð0¨þÐðž]ùžˆêžÑ Ò€]ê¥^Š^’:©Þ• š]—6È ¥P¡‰'˜‹f7q1´'išq…0yf*º®:z¡·ö¸„SXO˜ù0:i2Z£9r3Ó{æC;*C ¤Ii¤ ~Ð:bÏ'œIÚ¤Lš›[úˆßwjOz‹G`˜0™°y¿ª³¶½œæ¢5jæ÷´ŸF£6àHÝÛž†š/)C­6ˆ„À}ò«j;)¶äç‰ý`+W ív‹Ökoo› ö·u{a,`>)cŒÀ‚KÁ æ“1ูgküœ6É ­à …0¹ `‹ðcÐæDP•Q%ë¹Ú‰dqÚ¶Dº¥Ûm»§†@að =ÃY– €±°ÄL¼ÄââÄÒÄR<ÅSŒg0 F+‹ƒfñSüå_$ÆöDjÆaÿtZhœÆ§5¹?ÐcHçZÒ&ÃØ9•Aòt9¬Ã¹Øæ;žl%: þÈ‘0È„<ÈapȈœÈŠ¬Èe ŽìÈeÉ’<É”\É–|É—< É”0Z¼Å|á³;ÊpÕk½b jd\ÆþtbjüÊ°œÆ†‚ÎÙlˆJжJ½òw\dÙyÃ8º¢›Çz¼ÇjÕ‹&c80ÌÜÌÎÌÌ@ÍÒ<ÍÔ\ÍÖ|ÍØœÍÚ¼Í:`J†°~Þ<ΆŠŠÔH©<Æ«ÌÊÌ—<±üÎùBPò<ψBË?@).|”1¬€Âl+5LuoQüÚÚQÌvzº¬±§½ôK¯û"™’D\‡€\¢|‡@ÎíÍà|Š/†¢HZj"}I9ÔÎîÌcô þ)£´Ò,M=§ÄZ óZ¼ÌÏ3¼”nбDÓ»Ã]°Hzšu aFeâФl}ÑÝÔ]‹á*ÔNÇcÒ/wÕ¥5=-M)DÔÕ^ýÕ`ÖQ G­)@d¯ÅU2¬ÓøËÀL‹½,•tÜÓºøÓA=eD]Ô’ñÐeý³ëKÍÔMMÎO-DŒ!S ÏÅ(%BD{ádÝ×’=Ù”D’ó¦>1œ”4×4|ÓŸ ×]VÿJ×uýÓ¥°[W,b"—Â×G=»½ÔƒMØ|gØ+B)RØïÜ/}Ø”-7Â=ÜÄ]ÜÆ}Üîq0u£0ߣË[¥ÖšÛÙ›þ‹LiÃo-Ðü¼ÓÄlÚÆŒÚx]?Â0° Ѳص­Ñ·ÝÛ…‘ÒŒí5c=•#7SßʽÜøßú]7wÓßþí߸z³Ù3-Ý£ýÙMW[ ëÙìÃÓÜ]ºvÐBýKÂ4Þ•ѱØ}ÞÚ˜Þ‘yñÕ["ìÙnS0úMÌlU*.~9òâ2>ã4^ãñsÓaàÙíÏs Ú¡Ó;.ºûà=á.*C Þ®}á/"ÑNÛþÍÎbÝуQåC¤Û­D2rß5‚•1^ãcäd^æγ¢ãAnÓÿ|€»bÇkNÚsMäTiä®äññÚ”íäþO.ص]ØyA‚>è„^è†~舞芾茞èj’Îé’>é“4ÒŒtÕËSC”´éœ¾é¥†é¯ÖH>ê¤^ê¦~ê¨þH“.O§&=õê2èÒè´.èF`J€Nv0¼Þë¾þëÀìÂ>ìÄ^ìÆ~ìÈžìʾìÌÞìÎþìÐíÒîë‰PíÖ~íØžíÚ¾íÕîÞþíàîâ>îä^îæ~îèžîê¾îìÞîîþîðïòÎîŠPïvpë~ƒzAc°þþïð?ð_ððŸð ¿ð ßðÿðñ1áDÊÞïŸñ¿ñßñÿñ ò"?ò$_þoñ Àï%¿ò,ßò.ÿò0ó2?óòùΈ ò4¿ó<ßó>ÿó@ôB¿6Ï6O :?ôJ¿ôLßôNÿôPOEß"à¬IõXŸõZ¿õ\ßõ?õRnH‹qõ^_öföhŸöJöÛ8)!Nöj÷r?÷t_÷Oñ~¾Ñ‰÷vß÷~ÿ÷€øx¿áaBVñŸøŠ¿ø;Ÿæôøù’?ù”_ù–oNi ƒ¿ámøŒÿù ú!ŸH øHùf±ùÝù{ø¢ÿú°ûOŒOû©OÎúHïú²ßû¾ÿû>aûŠ/ü?¡ú‡ û9ÏûÀ¿üÌÿûÄþøÏßÆ_ØÉßü>1""ýÚ¿ýÜßýÞÿýàþâ?þä_þæþèŸþê¿þìßþîÿþåO` ýOÿDû­÷»oý=A@Àÿ@à@‚ D˜PáB† >„Q¢D 8&:¤pQãFŽ3BôCäÐÈ‘ ÑJDDÆt„SæLƒDhÞÄ™SçNž=}N´˜óãO¢4‡: I²äI,Wº,UjC›S­^ÅšU«Ô 8Z=ö Á±ËZýÊ0ä¥&Q:mùrëÜžUéÞÅ›WïÖ®7ÓF= àìମe»ô­S¨{o´ûXòdÊ•ö5Š5°À²µþNˆø[·M˵œú`dÕ­]¿ÆŠy&hŸ›s¾ý9¢èÑ¥á6^ØFx›Ä×8|xAåÈ‘¯ÌötêÕiÊ–I»§íζÑî&2Z|i•,'|nü9Äõí¡Tïž²tëõíßgˆ=¦vžÜq{—Š¿‚’j‹©ßPCh½ãœH>ø’¸ô¢Ã¯B /H?˜ÔÉ¿Ü,ŠÃ$É·Ó‚KÂâ–SQ8]|ïA ’PFñ¢Cw´LÃŽDÄÉC°K %A8ï TÏÆ(gT‘¹#ŒQ²yä²K¼|ä¨È›·«Š\«@”–T²IS„ÒÆ÷ÌþòŧœlK/÷äs*0=ÒJ,2 ±'4ER3I%ãBÑÉ*›ÃÏ*e|“Êçë3SMýÔIÌ>UêòØtÓJ+§¼Ñ¹IW}ÔÔ ŸÌKÏMg¥µ£?5ò”OPe“Iál5Î9‡¥tR,áƒÇZ—e¦[/ÊuÏ]Kdª×RidQØã²UuUH™S®Nm÷’µYsÏ-èÙ‰¢õrZ$­ý]šÊ•·ÞeÕ•ˆÝ.§5ÄQ—¼Ö^Žè¸à>ñH_.í·áÛŒ×`È$¦ø^Ò@B`$Ò¯á~öµb˜¹düŽ( Vf¹e—_†9f™g¦¹f›o¦€ãŽ=yˆMþ~ˆd ‡že¢a Éc«eÓç£%"ˆ§§¶¯"ª‰Jšg¦—túê†P"l±Ç&»l³ÏF;mµ×f»m·ß†;n¹ç¦»n»ï~[¯}ÊÚá­•ìzoÁ'œâ¾?þ„À g¼qÇ7=|é5›þùqË/ǼºÈA¢òÌ?=t½6O¼sÑOG=u­HŸ|IÓU‡=vÙqb]Q%_Ÿ=wÝwGj¥9÷œwᇟ4ŽG>yå—g¾y矇>zé§G‰üð]ëÖožxï¿GH ¨7ÔØ-{¿·wð߇ÿ 4È·74Òÿ©B q½ûøÿçÝý &À‡`Ïl*Íþþè>6Ð{´‚½^%P…` ãpœuЃaE8B–Є'Da mv‡èD‚òzáB(ˆ@ý]0ƒ£Ÿs§·œÄð\> Í ØTÔpþóZu(;âä~ €b¥8E*VÑŠWÄbµ¸E.’ˆ™¡’ˆhÄýÝqJ\"ìšx“'vÑQTÎÝØ9v_<ö.8F”ìÑŒ…CcS·Fš´±Ž[¤#©ÅD.‹wÜ öXD”ÄÀ†H¼Z y:BÎÄŽ´b# Ê*Š’”S„$H$yAJ ¯´ä §ÉM†®“2ùä)¥hÊ]G‘Âé%0¡þÇa겊©,à*ØJX¾R–Û M’%®×в–Ÿ»eLî·nvÓ›ßg8¿Ùq’³›æ7ÑéMršSïg<åùMd"E™ûcf3ŸI§žL³5Ö¼&æ² “mÎÓ ñt'8›Ï¬sœìdèA%ÚÍzNP™¯Ì',÷Y)ŸøS5 ¨åÚ‘‚NÔ¤ …è9êPv.´¡&…iEÕ"ÉffÔ™ÁSs²MdÁ¨FQbÑrt £Õ£SiH7RŽ”¦EéKÊR–ªT¡O¨Le„fÆÀ¦1ب«ä¬¡ª[¨’«ò’T¥2Ž©q*Vç9ÕˆRµ®/µjTåþN­†«5eJWÃ:V²Šë¬c•T¤$Ãֶë^:œ–¦³Vm(eÕ©Y¼J6ž} Í_aùÕÁΩ9W2,±‚•Xc-¶±¶t!<;[ÚÖVœ £h1X}â´RÓ”Tk-µZÂõ*Œ}íÞ{‘ÈÚÖ¹Ï5)nó¨[¯òV£¾¥Ô„fÄÚ³v\Š} r“{µåN¤¹ÐEozÁ)]ƒøº¤Åéi{š¢B¼ªï¥ì{'µÎE¼ãZy%r^õ½ìÐ{™BB\w.ÆÎ|4G„ÀÆpmL÷vµ• vðV  Oxh†Èü0·ØÅ/†qŒeu¬e}“TߙծƬg½k^_¤ÓQÞC°oíj]÷ÚØÇ>Œ‚½ìa¿šÔȆv©;½ì=X$Ô¸.v´µmìiãºÙ¹~ö¶Å½ã…ÙÜçF7õ¬·þàÚÚ(qw¶Ç=ïÔˆÏ2ú@Òno3…ÿ&¸é=ðÖÌO`öc·»[ ðË›à×ËŽk%qóÛoeŠp‡CÜãs¡ø¬B.N_Üä ׸Æ;þq–_eäšzyÉMn„…3|å-ÇyQ^ž©˜+`æC¨9Àîœ]›ˆtÒ½áùÜ-n¥¢ÝêEzÒyÉË]*ýŠL'yn¦Aêÿ¦úÕÕþ“\:zëXäº×½¸±O½ì@À»Ôª¾v¾3¤í~ûãîu°©îoeÞñžö¾7¾Ytà@ÌÉÓ—„yݱùÄ+žñŽ=Ie›áÌBþê®xMgD1\x?$`ó¯ï|Þ?zÚ›wôŽjUJWÒ·0ó›—ýÝe¿÷Ú;þÂÏÍýf•OÞ“žõ®÷¼ðOüâ÷ýøÎM~gSÚü ³Š—šôõÎùò$§Õ×ôõm›}Þ£ÓzU¯÷Áûé7ŠšÒä'l6¨Bþ÷ßÿÿÀÀô Š­Þ˾Ò{¿wâ,狹ï‹>”˜?캿™Ð/*‰0ô³?ó»Û뽧‚¿î{Àùó·©£@l1ªmqn.íÚ¯²²“+I²†¸7 Ì \õûÀp ÁÕë¹±k%x!¿ú.tí2ÂûJ+ü.Sy”´AÄTþìÁ‡ÊBnb½ðp A CAÀLJAÕò®Â®¡ò)þ:Â, ®™¸A*¤ +L,ÜÂ=ô&ÖÛƒ¨D8 AÄ3Œˆøˆ¦nù:?è`­í2­h’ÃþŠ‰:´Ã­ÀC„ÐC>äCÖc@$EB4@ÄD<Áq¹DG,oyBJdC(dE:–.‰DÔÒEôÈ/#¤N”(±a$Æb4Æc|1ÛQ$Å0ETLEETˆc),ýRBŽŠÁklÃWÔFœ %)¤ ³¢//G!+pä`4$ÓDü`2}+ f,ÅBLEÆi´ÄÄÀö`AZ4¡þ’ÅíÚ)¬ÀŽøF ™ÄbYC*ÇMRGƒØ²t“ȉœÈ1Ë#&èƒf|Æz¼GËQ"€|‘ô©q®^É¡A')¿\ôG ¼ELt ‡t?ÀȌČF꫘Ò)XtÂ7ŒCŽšDIÂ&4G¤&–L¥$€”6Ѓ‚ÉÆ¡É>°Ê›¤Çœ<´K÷þÓ>©Ú>»*°x•×#¥Wkµ×ÐÃWƒJ½}]©¼Ú>ÌBýƒåÕpµÐƒ½WÄ>åÓ¬d>—šª…¿"ØíRƒÅØÆKXÔB½¢+Õ˜M/ØŠ-XqMY•ÕؽB)Ý»+˜E=ÌúAÚ¢Yy=YœÍY¾[Y\¾s⬞§§­,‡í×½*Ú?8Ú‹MZªYPõZ݉¥ÅÞ»Ú¬QÂÙ?TÛµeÛ¶í? ŸñI|ë ±[œÓ>(Y³ýUƒqSh¨!Û°½ÛÃ¥(DµJ¬íU­õÈÚ Ü× \ 3\Ä=Üo%XeÅœ¿E¶ÈuÉM±ÊµÜ±Å\þ›ÕÜËáÜcóÜ‚«[aDÆ×…ÝØ-FeŒPd=ÝÇ¥½ÕU Ð}v,Ÿ&«Ýy½]»„Ü<„¼n}$Þ}ˆˆôÚæu^å±ÈöÚU¾ÝÊÜ5^¸#VF:$n•¢Â‹û4Ýz%^ëõÄ㥢gÍ"î<;R^@ƒËÌ_3¥Î›0Ð0M­µ*Þò…»óÝßíe__ê½SÞ´@(DÉøÌŠÔ}3§„߀Èíß®¦Ëó¥tàw½¼Ê{W+ò^Ø àÆ=Û}ì§ß+þt΢KÌápà6Þ|ÙöÛ¬ÓóØÔÚV¶ØPDI½ß'¹À9Ä ~3ÒT̃ˆÜ|5=nXªMþ©ª¥§ö .€›uÜ¥¤-JÓJÎ2Mü-:Ò\aHb„º*¤á•r©ÒÚy²áÔ¡b+áõtÒ5¬E¦ÌN!>a£CÌ„(ãr:c—mb3bЉãá}Ï0-GmTµbXToÌ_ùݪõÙ ebæƒX¾:äÏIäøõG!æÌÍ TVá.½ b^ûc– d©Ýׄe(îÃOÎœPFÙ—$SIuÒëôå}œä›Xå]kåÑ•§7F\FZ^ŒÕìDe OìtæYâJ6»ÝBd–³÷åÕ*Vd²æ‚Àæ,Ôf÷¥Soå3 g‚ç,ç)æfBDç\ßÐ+fcþ¾-[Æe¾b×\çP1Ùèa¤Ýøáç9n3äUè…fhi Ÿ$›[à5èx6€y^æ­=æ}^ŠŒÞÝŠ¶è~Æè‘æ’>g9î[’VéÇ0éD i„^阞Ž–†Ñ—Ni™Æé­ iü´éœöiûØénFéŸ&jêjyê¢VêÖ8êŠNꥆjÊhꞎêªfi~j«Ö께ê¬Þê¯ÎŠæ—öj°6k©ë±æé²>ë¶ö‰´Vk¤þfÆI[·µkµ…ÛØ©ë»æë¾&¡¼– ¸^빤Ʃϒæ‘ɮ>ˆk§&ìY2ìÙIlǺ Ævì±–ët.l·¢lZlþfÌìͦgölÙ©ìÁ m@mÈælÉ>íØImÁYmÖæÒ¾hÓVìÏŽÉË–ÇÆÆm‘6KAuä`¯ÉÆ¿ù5¿‹`Êž˜måòíf¼m×.í.Þˆà2î½xn/yH>PŽXB©ØnòŠn¤îܶîä€do.QÇæþîëþLŸhï+ïy|i.øÒ$I½Lj®ŽúÞ‘÷ffU9Ië$HÔGüzräá Ip »o¬Ìïý¶Ô®ôSÝ p䎉HæâG¬FIqØüâÍÆHMˆ 'šÅþCó¾ð¾cÁœÅìãÝ– ÷Ñ¿¤qaáSæo¿´cãbñ»ìÇo9ÖþoÑäÇ7‡ ÏðîÊK±êÊ_æåBï4QÐ>ò nXòSýáæüo¶Ž"ßÀ>•OóÁüS-ÇÓ/®E‡`s“qq1?oº,s3Ônüo¿qËvó_È^ÞÓ:å]ò‡Èó’ÙsWò†ðÎfÔâîOêˆôûÉ|\Õ×ÇŸÎG½ßý²FUîƒèôŠ™ô$—Ñ?¯gC—m0§‰1@r ¯ôÍ•rÕiu8 sJ—Ìã”uݦuØùu‰yu]çÈbçØFv[Ÿ \çó*nöêÅñZïí[Ïugtêkçuh÷uiìnGjpG݆Vw.¢ìuw÷N ö$Gw·þ¦÷ž¨vhDD2¯÷~ç‰{Ï÷y÷÷l|öhtv‚Wø‹øƒß÷„_øˆˆ†—w„—ø‹ŸŠgv‹ÇøŽw÷vkçx'ù„¸÷aßø‡Ïœ½öë–G!À¾²®Ý虧ù™‡Ð“wøDìl?ö"[ÑÜ¡[ªÃ”y}×yžWíL\  “GùsÆ÷l¿2}œ¦ú¹,zŽ”zÔíu³ú½ÁúTÜú¨GzÚVúáûT„ú}ïzÜ¥ú"+×w§ûÿúzlû£ÇG/¿ B§ï¯ÿp6í¨ë†f­(¿Â­ûÄ¥TrzDÌ{{|{4Wó¢ð{çüŽðnúÅüÏqþ÷Ütž{Å}*bü¬wüo7{&1×Hö Õ|–&ðnp±üÛôÐýÜŸ»»g{Ôw{ QÕÅ@OIžÒcí¾|ùÆbg~pã΢‚oþ=Åtž"uïîÎ'Á}ÝG^fËî]ûÓùß`Go-mžü§äWo4çQŸsÿJì^JDßå:qáŸÒòÅçÿˆ,hðà@=m.ÔSÆà aÑ¢\´ˆ£‹Ä"%2d(²d’#¤™ò%K•![¶Œ9s%Îœ:wòì)2Ï B‡-j´¨‚£;kº<)ÓfMšNmN•z“*SªMŸ¢|þʲ¤W™L­æ\xU¬Îˆײmëö-ܸrçÆ¢°¡Aˆ)v¤‘qcß<³žÅjvæá˜0ÉB-LX)ä¢@#S®lù²È¤˜µNEëjWε’Íú«×ÒUWÒ }ºªë´èÒ®mû6nºvÛ8ÌqbÅŽ9v¼´lçÂh§æš|3ôŸÑ§S¯®3a˜W£:-ÚêØîÊo_Ýü{Øô¦Ó{—¨67üøòç·EÒÛ÷Þà‡ygx¨ 8`€Ü‘ôZu”M– ƒ uvæ}¦iÍ'avžgàgäUˆž„£áô}%šxâ|z×Åù§Ók`µ6Vb~•þÚ!èàP òø#8AˆIˆáXWExdTJrx’“gÉHšI3{¡-àJ$¢ø%˜a¶¥"_ÂiDÜEƹ&›#ùØ&œ 'uò襘yêù%™úatfv šà›ƒúࡉ*ž{:úhn}²¨‹‹ZªT¡—j:Òœ›zzi£Š:*\’š X¥ŸªšS¦«ZÚ©«±Ò*©µÚJ©ûQšæ‹²®Úª¯†Â,±w&ÀÉ*»,³Í:û,´ÑJ;-µÕZ{mµÇþV¦® éQ¯Åj ¬¸t[.ºÐ©¡¹éªšÀºùMêm îZz,¾ùê»/¿ýúû/À <0þÁÛ{ðtg ±0à ;ü0ÄK<1Å[|1Æg|FHÜþIoª‹<2É%›|rtûeȼ¢ü2Ì1Ë<³»*gÔ2¸4ë¼3Ï=û ¤Í,Kƒš?}4ÒI+-¯™8îÒQK=5ÕåítÑUk½5×]ÛyõÐY{=6ÙŸ.pi«½6Ûm»ý6ÜqËýö ”Ít·aC}7ß‹fHÝi(M)h»«ž[5ØõöíÓÙs;þ8ä‘K>9åk×]]í±7ÔŽš.TáªNuâ!/ÎSèd™v›»TçC'»D©{ººÔ¥»|zO¶{ûQ­v–ÏÜæë)Ö”5þ“’¨§ üÒºçÌ»ôØg†ywø!ñ®+Oü…HNøº›ÓómýÓÚïä{×Ôuå†*!ï½ýÿ™O¿ù"2–ý’šw»õùieXÛ›ûj—@‰È(á±RøÈ£# en+ûÛNl.è¹ôuo<‰j ÒØ'¶~\¡P˜¥üMPƒ1Ú ‡þW¿ðo´ &B©Hʃž–zˆ2n-‡>1 c(d#%†Rš¡g"è“Ùvq2¢Ïv8˜¦ü0ÉáÒüÞEB,nÑ‚Åó_óbøœ°0Qˆn<ÞÄ'jŠŒ<Ó¢þcA/†}0ãíx:*–ï†u¤ÎðøG.Bþ¯4œ£S^B>á-ŠˆZCdߨ¨ÁKarfŠDŽ†ø×G=®çH†$ÜI(:>iQ”Ù'ÄÖÑ’5Écå(ï•JUö—~<$祷25­‘û'C]’—½4’7õʘÅÒ–ÈáÎ1e(¼Z:òR–¬Ú4ÉöͳiÃÌ£5³GüñÑ”V¬Ó8§ÎÍP²NM4J<…Uμ)”þLM·¤œ:ï”qÊgÔæy™wé…«D—BOVÍAQV]ZD+ÃÐ9”(Åá>?vÎDuÑ¢»ô[y*x£4²T öËÑðrÉ*õÝ l"0 *¸ÑC}4iÌ•þ'JdnþŽþk£GiZ6›ÞôzÎ,áI%Ê’‚/h¬ªUƒÒSs…Ô€ ASÛ÷T¨6ÓRSe Ž2øÅJ© I…hWoöÕ°Žp[=ÚOY·Ik>ƆW­h§¨T²1µ©uM`Á«ØÅ2¶±½ÔY;“D iÈ0âÙ¨c3«YÅUh`«XÇ*ÚCE6š.=íó’DK·ît´‹º>{Óú¶¶Ajmœpk[EÁV¶" ínƒ› ݶ‰¸ÂToe Üã2—ž«2nsé”ÜÏ.7ºÖ½.vs2]°V7»Þý.s·û[‚·¼æµ­x»{Þõ²W{é%o{ã+ß¾½W–•©FÏ8ßýò×PþõÍê§CÕþ¸À@+àÍb«Ü½mºÅ\£#,áéüw-=ªÅ%À¾Q’0Üð„C,á §1ÃåSa$aƒÖ.2¯”*1Œ LbÞ(‚“5~¿¢Îïa5Æ>žïŒWˆ¤K±Û’‹ìÃKMpu0“µ‹`–)˜º ~pÏã!ïø™ê<¦A£³oªq•;3šÓ¬æ3_N(Aæ²yn¼evŠsα˜uFæq=•zo\•0\ÒԺ䌄fc”xdæ53ºÑŽ~4¤#-鴵˅v§ÇâéÜUi~žòªÌ]øb¯ÓyVÊ°7ÃɺƒÕ15Ò>=/QW´°þ>5R¹bC‘È„êóPÞlW\ƒôŸ;.ä_ÕÊi`»Ô´Vo&‰ Lc¯ZËÜ´0tnm4Y7í٤涥í“T[úÄ’]â/!nŸq»[Þ¶µ¸¯¨ëKßïˆ6%uÖݳvì݆rð¡lÇNy”¾yÆoú»ÐØnè€iœÂè$¼à+98*¹ðûv„E…ÓÇ©í@Š[œM·SÅu¶q*wüÊ\zù.|ᢾ܇‰ “‹©’o†NÖ§b–rš­<Ô-ðP™§c¢®Ó¨.\ „lñ|3waЃ³¡Ï¬è ?÷ð’¬Ì¦ƒh4øcŽ¯ùh®ÿ8WÏþºÖ_Æö˜yýèVmáù4¬_:S¶Æ¼®÷þTªîªoÆí¼ÉIªï›BÅiî0«û‚ËÍt#ˆïZ¦TŸw€;ÞÇn× ¹!liÎŸÌ lCù¬šø²Z¶3¢{MǼ‡€„oPèEoá.7þô>I}‚_ë ñÚMRé¡Õco%Öxöµ×IçÅ{ 2)zUÜ0LÿÎèŸÌëÁÿ>´ùÆ}bOò&ý± Ùz­ú¾'Àÿ·y{%þÐÌ÷»óŒ<ö VãÁvö÷_øÝÍøáZù[9ÑÓQ_ôØ^T¹à–MžÚÊÞ¥ùEŽŒ÷I`ü-NŠÙþöUi`iÈYï´O¼Ÿ†`´Íîͽí˜MI ™…ö=/} ü¡ÓÕž»l¡!&¡ö‹«×>!>áÿÍZ†mUÞèÉ Š\¹ òP=yn!Œé׈Eà^Ó¥ÅTæÖJASº‘¡¢¾ ?å`’;Ýßö¡uya]©Ñþ=‰6ù¡!~ 2˜ªõ˜ ¥L"$†W~áèiàUÑàóE¢&žN" Üjå!ºáXn").N'aQY_þY)¾"'NâÂ"-ö×)Ö".2Ù-æ"/ŠØ.ö"0Ø/#1î×0#2²×1‚×þ26#4^×3F#5 ZA5f£4Ê"6j£7Z#7~£8îÖ5Ž£9ŽV9ž£:òR:®£k!€ÆÄ£î#?ö£?FN¥­„ À¾¨Ýc5 ž±ŽÆJA2Ù° AD¾ÏoÄW;Ž¢FNœî}JEúØDÊÊE¶WF>ߢ±|dŒ…d¬Œ¤2*dò$Ú¢$ÌéÌiZÎñˆJÂKºŠK®WI.âÙõ]#¹Ú®•Žµš†õ^6öäªüäyeYèßvÈ2éVå줈…d"¡Š`$LÂÙa Pö!ÕY2e5z¥¿ŽÀ´cÉåÀ„%IŽþe_Å™µé\—a^Š ÙVj£[ö ]âKafc&ÀØåKR¡v£ê%ÿ]›—ÑdˆPæU¾š`ÊÆ¿(fxf¾€æÀˆ&¿0&PâåTê  íÞÍ•Ø̱&¾éd/úœàÀqæ[îKa–ı0Ägþægú¦a.„agÀ˜fTŽ¥*qe{]]C\œl°EÄt DuZ'v.ÀBdgv^gun§vŽ TšWI.'0ÞsBgNЊu Î@\gxƧwÄwÄ|²r’§r’s¶—áÙæö¬çl¬|v'Jtç{h{Þg|®E~–Wyò'1~âE'Ú'wÒ'w(†6(‡>ÄxþBè~[SZ(Bph}¾'‚fhŠÊ§Šâgˆ:ãˆ"Öf ¨tÄw2Ä‹ÂgIÐ'xz¨x&¤c‚d"µæFžLJXHÞÊ\<¨Œ©)JÒdÄñÌ’FX“:i\@)"¢¦¦TGêL–Ø–ré[x©wIe˜2R7íL™Ø™¢iÊ›JVæð¡ÏÄ)Í):hŒ~©”Z!•ò¾e&œÖèˆ ¶4ª£F‹¶i·U!ªÀ1ÝIËWn*§vª§zªN¬Ë’ BÚ)˜ö«¹£Ô(Ì<¶ª«. ÇHª»Qª¥‚# žªæªÉx!j@iÉßdª®«M"h±&+þaÕ!Á(+´rMêµ~@ k´fëÔÀVµ~À ¶j«¸& Øxëä Œ+»M¹¢«¤ëº¶+½Þ¨%@¼2ÌÌk½ö+,Mà+ÈÁÖÁø+ÂÂLÐìÀ¬lÂFì®lÈÁÈÀÄJ,Ç"LÐ@\,¸ÁÁv,ʦËÇVìÈ’¬ÄAÊƬ¸$@ƺÁ”,Ì^<¾ªÏþ,ЭÐ-Ñí<Öcƒ¤Á?.-Ó6­Ó:mPØ”Õl˾¼ìe $Ÿ^$ƒ¤+D-tЬ͒,\íÎVE&ljeP€²ÊþmÙNm䬤­É^ÜjkßFÝkàb†Ù¢­Þž,ÛJìßBÆàêjãZÍ.€á^-âRÆâBëåÅãªêæRFäNîÞZFæ&ëèEç®ãéBÆç¦íáòm }*ìÆ®ìÎ.ìª)e¤î9âîQ¬.ë†n⦓‘&Áð¦c oo/pnVðï[ïW:o§2ïq–.QèneœöfoöB†öbïetohïšÄê XoQD.붮è¾ngÎ¥n†fñŒôjÖüæ&üFáaÖ/ý¡í./Q0°¯DãÿpÂ,Šùú¦¯ïZ.ûÚ¯b)¦g꯾è¯þ»oüÞïfð¦v0gQïP<°e0pO$ðH¨ðû 7H»0fÐ0œ p³MŠ,@úR®ëL çñÒ¥'oqþ&1ñîfo°#q‡¦çK1CñûïËå÷æ煉¦ór1w1ôò¦o2ñg 3SÆ ooHȱKÄ Ï1{ï×ñë„øÚq¿p¬þñë±H¨0!sŒ!+òó±øn/ù&òÿÈÿÞÔò°W.£ èjèŽ~²'{2xò(‹ºè‹vèŽæ芮r¶²(·h‚ºr*7(v’²vÊ2*ËgŠŽr)Óòtîò+g(ˆºñÿ¶ðþ!22Çp /p2s 227s2ò13³3°3ëñ Só /s5Kó4G31×­crïj2d°ç)÷2ŠRg‡òhÒò*Ëó:›2ú²0‡2;׳®s‹Þ§-·3ŽŠ2(Û³A¯h@óó@ô/ãó5wó?t4ƒo724?s ƒ37WtFs´GwôF‡´8o´7s´H;H%C`9÷ðo²[´²‚Þ2ƒæó?´;Ë´Ž´Mß³{.h.ã4/çóM÷4ƒæh< t.×4O+¨@òRC+EJ+St!wôG“47[³ôDõ3²8?ôIG²StDk5X7ÈTïDŸþ³ë¾ôM_¨<7µ?Ó´PÿôSòN×ó‡Ît] 5)6^»sB³²`¿ó>çµÝ˜°P´µQ(3uZg³WK´ZWôIK´1³5›µfµhoµe‹6u@¶”­t&Çu[à²=ó5>oèN‡§SŸèPŸrmß³_ï´ktmÏ4lÇöa¿öb×ò*žç¹žï9Ÿ÷¹Ÿÿ9 _K¤*7œ_†ÙÎy[†¨ú+©~mØëØ&ù•'À™C@¢§°Ñfº¦o:§wº§ËcxW†Ò>-©—º©Ÿºä­•ëJÍ.¹H€¥Ë¬¬ûÊ¡›Á«Ãú¥Ïº®{Ê¡ß:®ï:°oJþ¯ßz¬»±ó–Ýúú¯;³ EÔÀ¤+{±7;µÇɳG»¯O{µo{<;´ÿIÍJ{®s;¹7ˆ·³zˆ{¹¯»¹3A ¼;¸§{¶;»×;áº;¼¯L¸Ï»½÷{™ã;¼gľ;½û»ÁÅü» ¼¼üÁ?¼R$ü»O<ë;Ä_|°)| T<¿c¼Ç»ŸÆs¼Ã<ÉkWÈÀÀ¿º¶—<ËOÜÀÄo<Ê7¼Ê|Ë{|ÂÃ<ÅϼÅß<Ëç|Ì‹|Íû|ËK|Ðó|Ç=ÉýΧ¼A8ÔO=ÕSý\ý@Öo=×w}|=؇½ØKÙ—½ÙŸ=Ú§½Ú¯þ=Û·½Û¿½ØÇ=ØCÁLPAXÞï=ß÷½ßÿý~àcá¾á¾à'¾â/>ã/~<¾D~äoåsåwæg¾æo>çw¾ç>è‡~çoÁÞ{AxÁ¤¾ê¯>ë«>€Aà?¾ìÏþã‡íßþí‹åsæïÿ>ð¿ð?ñ¿ñ?ò'¿ò/?ó7¿ó??ôG?ð“A Ü€Î˼Ó@÷w¿÷÷³ù“/ Aàú§¿ú¯?û¯¿¼ÿ AÌ?ý׿ý×?ä?ÿ÷¿ÿÿ?@8P  8&T¸aC‡!F”¸°ˆ%J€dÔ˜þQAG59 Á#),A¹ÒàD—/aÆ”9“¦B&7qæÔ¹“'“š?'öÊ3ˆ7j$U`@À O¡>0•êT–&Tк•ë¯_Á>°0–lY gѦU›Vƒ n7Ä•;—n]»wñæå°—oß½aƒEÀ C>„ñCDcÇ!G1‚D —QdÖ¼™sæŸA§P1šté§Q³PÍ¢Ek×$`Ç– [rmÛ‘iÜÖ½ÛñÊ•÷èFŒ:'W®# .\˜H¡zFuë×­·–Í›{wïßÁã¦1ž|yóçÇ'U¿ž}{÷6Žµá>)úܺíç?OŸ?þÿøÿ¬v@€‡¨¤ªª*–¸jp«ÀÀ*k¬ .Ø`­ ßjKà 5ÌËÃAÄ˯9€0, 3 1ÅÂë 6Ë0ëLÆÎB­´QËq5Õ\Ón¶IhQHï|óíÇ‚Ž8ã–S®9 »l:°«²:ƒRË-¹„L¿/ÉëOÌöàp>÷ò» Ì/Çl³á<ª†ð! @P©bÐÁMüJÂ(´CM4ÄEýÄå 0E!ƒÑ„9å¬Fo$-ÇQWë± QͲËðŒLµ2$?€NâŠ;®É'Ÿ“r:+«|¶U ¶»5ÁtÓÍ2åþãÏ>5‰µÏX1㌇@€0@O«PúÐ@½ô M+ƒDÑE´ÑuÙ¥ëѾ ”TÅÄ.m‘2$/;¡Ó}7ûô³PEUGÖzt5UaûÍà5½Ìè\ µÖåž„2:é¨ãõ:,UEØãkÖÙgÇDö†3ÑDY‘÷#Ù½h¡ € ‚·]ÉÛÁ ·, /<7Ý£7lWivßý ,yU´4„!Ä÷}ùÍÚ3XàÓ.xá±É.[¶ÐNÛáµ/ƒî‰‹»â\¥›RãO ä½?fÙ<—Å4å”ÍÛÍï¿oæp˜¹šm@¿¨ÜòË1Ï\óÍ9ïÜóÏA]ôÑI×¼#ÈQO]õÔ?ê¨tÑ[]öÙi¯ÝöÛqÏÝö×h}ß~ÚW/Þøã‘O^ù噇\÷ç¡^ú驇ž x<õ;%ïÞûïÁ_üñÉ/ßüóÑO_ýõÃÀý÷á_þùé¯ßþûñÏ_ÿýùïßúÁw? €4`÷þç¿, tà!ø@L‚´à1˜A nƒôàABŽð‚Õ‚\@;PKi×'œF—FPK\8–AOEBPS/img/odbc_temp.gif[ù¤GIF87aÆ ç÷÷÷1J!!!)!!!!!B1ZcŒœ¥ççïÖÞçÞÞÖ÷÷÷„„Œ)J)JcÆÖç„¥½kÆïs”µcµÞZ­ÖZ¥ÎBœÎB”ÆJ”½ZŒ­R{¥Z{”k{œks{{{{„ckŒcZ”kc”skœ{sÆ{sœŒ{””Œœœ”œœ¥œ­¥­­µ­µµ¥­½­½½­½¥µ½µµ½½µÎ½­½ÎÆÎƽÎÖµÆÖ­½Ö¥½ÎœµÎ”­Æ{”½k­ÆRŒÆ9„½Z”Æœµ½”ƵŒ½¥„½”kŒ¥k­{kœscœsZŒkRŒkRŒ{JŒŒB„Œ1sµ„””ssŒBkœ9„¥)ZŒkœ½)1½½ÆεµÖÆÆÖÖÖÆÞÎÆÞÆÞ¥œ)Rk1BR9BJBBJJ9BJ99RB9RJBRRRRZZRZkZkkBZk9RcBZZBZB1R91B9)BB9{µkss9ÆïZÎïBÖ÷!RŒs{{1k¥RkŒRkœs„”1ZŒ¥µÎRcœ9cŒ„”µœ¥ÆRŒ1cŒkŒµ1B)B{”µZ{­Js¥9k”J{!{Œ„)1B)9BZ!J!R)!J)!„JBŒc9ŒZ­”s9”„B­­”9ZœÖ„c1c¥Œ­¥JRœsZ„„k{sB1Œkkk9kZJZ„9)ÎœœÎ­¥Z9”„sBc1B„¥œ{1!­cZµsc½scÎscµssÆ”ŒsJJRœ„Z¥„Z¥{c­s{9k9c1Œ”ŒR1Zk{RRc{)!¥cZ½cRÆkRR”Œ”ŒksœRJ¥RJ­RJµRJ½ZBÆZBs9c9RsŒ”¥µs!œ1)­B1½B1”Δ”­µZRkµk{{cs”1)­1!­9!½1!{ŒsŒŒkJs„c­½RJÆZJÎZJÖ„{„B9„JBÖ{sJ1)ŒZRΔŒÞ”ŒR91!JÞÆÆÞœœ)ZZB9ZZc,Æ þ ïÁƒ*\È°¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(M*8°ß!ÈœI³¦Í›8sêÜɳ'N@ƒ J´¨Ñ£H“*]Ê´©Ó§P£JJµªÕ«X³jÝÊ•i>møDz¬Ù³hYžH˶­Û·ýpAÀ¡•]F¨ðˆß¿~1Â@¸0†Dˆ'YÌ8±cÆ'‚L¹²å˘?hnĹ³çÏAˆMºti?~UYͺµëÖ šM{¢Û¸oÚ}¥·ïßWôN¼8qHÈ“+_μ¹ñçУN½ºõëسkßν»÷ïЛþ‹O¾¼yæz¾«÷èÊî÷ðáß®M?¶ýÖ¨M“Í¿‘æ–U@‰:hà&¨à˜°,F!Vhá…f¨á…F¸…?$aÜ%Ð!ðØŠ@fXa’Ř˜a2Öhã1&!f•ý×hú9j©9bäkHÂ&}¶å¦›uÒEwÞ”ÈEiå•ëe©å–\v¹•T†)fyéyi¦oñ¥¹Û|Lb_løù!äh?zöeLBà‚|öÉ ƒJÈÏ „j衈&Jh nqFˆ‹õP"ATÀ⊂ öâa„͘Ȧ™†*ª¦›–jê©/⸣eÿmV§gþsŠ†š‘G&ië›KΖ[{¿]9ܘæâë°Ðiì±Èžy%°Ì2[f²êAò›´j¾‡ ˆ´‰kœ±Šö*gšA–çž}ÊðÇʤ«ÌÈÐgƒ\Ü#ï=¾Ì+/>øæ«ï¾üöë/>ö¼….¦ƒ A_—æ"ª/ŠÚ"„TÜð¥£f¬ñÆ™B\ª=ºúj· Y«­Iʆ¯½-Û,™ÄÆ<´4×lsu¾¾¬óyÂÝ<íÈ--ÐBÝ[µñe[ß›Üvû­.6îTWmõ2¬¡…YZ¬!ÃÕVW`¾”mv½óþ«öÚú|vÙ[äS°ˆ%béÅ“jjþ¨~Uì7!.øàÿmøáˆ'®8!xçªÇ2R&òÈ$ËJäɬ©|­oÒí ³Ì1û,úèÇ‚éùéÎù<´ÐS¢‰4¶lÖÆ4kù9ýt¸yV€Ãî¼÷ŽÃ[Ÿ¥Å¾÷®C&[¨ üòÊÇãüóÐ?_‚ºÊ” =õÖG¯=óÌÏRÏÜIT`P†*ß~nÁì·ïþêÇ/ÿüôÓ¿¸ß ?yŽ‹µúôg¦ñƒkšÄ9ã îs éÈÀõ˜î€ìÙÍ‚Ö,÷ -v´¹käD²Û} O:GH¬A-ðZ Gx¼äq{Úƒž2XR½xL†1|Þ »÷=Ê4`|þåûK©øF±Š î}HL¢—ÈÄ&¯~Pâ.ö0ˆLr­ú¬FÓ]ñê8$°H¬šñŒ×qYQ'AhIËs¬«ݤAÚUßúà$tPˆ>úñ…˜¡@H. D+d!òvÈ=z8ò‘¼á!%)êA’Œdž,z™‚|AôË‹&Ö7#®}}ô*WÉÊVºò•°|% géÄ%FQ~‡Ã›¨<¶)Ä$!4%c[&œ5Ž‡Œ¡C£2•™3cž®Èrfµl#;8m0wlûÂYR3QFÁ)qz³:˜‡ 3©‚K^’’d%KàÎG²Sy²þÀø< Ê1 ¨@¼€Ü)ÙWUâ¡=ˆ¨D'JÑ<ô¢ͨF7ªÑX²¡>èc-ÛwKõ-.”éÔ/9#aÞ†˜z0„3ƒL_-ó¦h|àL_ÍcítšÕ´&í8ØÁm‚¦›çìãtЀ$cœáLj:×™ÉzBž“´ª#ï©‚|îˆ,rAÆJÖ²ˆ¬`ÄBSyÑà€Å‹«ï*J׺J”£xõ¨+ýXË’âò~ø3ßa¡Em‚À¥íùÕN—SSâô±¤Óéb53ŸN9jZÚkˆÚAmuÛm8FKÚÑžKÉHB!°†¨žSòØþB/z±¼]Øv¼È­nwËÛéAà·¿­o‡»ÛÛW^õ!XWô¸ $¡ëc¨ úVX÷ºØÍ®v·»]ÞY—wv­(^¡WVŠt¤~µ_âR:–‚@5«± 1/«œÆÚ²øõY”èë¬g™Iü…Dš”–A¡Ú1›ŸÅ ó‡d¬a [ÉÖ€àBÓ ††©Q»ãÃïñ;àAâ›xzá,ºÒ–ÌäM¼ ¥à®”§ ŠP0™É¢èîîÂûТÉ?xè 8qåVa•©¸²þÜŽb49ºO¼Å)˜|…ôš”q@èTa[_DÌ—¿c´o”òKèš©1ÀSêé–ª„èøHª]å>“§BhãÒ˜Ît¦×ƒÐkÈtF=êm”Ãæ膪WŽV·:°Žµ¬cý r6@¿˜µ®aíêV¯zÕ½ EŽû ˜æZ U‹ Y‰lä„¢Ò¡=ÐÄ&|ÀªMùÚ×®r–±ýV»~í°è˜[a@Œyª,6ð U¦bðA-ØÍ>hàÞ?Ç/°à>;Få'çÛO”‡Ùó{ûœØbZЃ.´Äi¶_DóLYœƒ€ù›´ FúŽÞâL¥þû@ò’kÓ¶nÀ@Œ“cÚÔ¨þµªÏAsšïzÖµ® ®oëš×\æÝö°/åü 0Œqf@áÈ„hŸCíiWlXÇ6wµ­õìRÔËᶨ¹9QŠ±¼ª…'0àƒwÇû§(E!Lw&ÖÂD`_ý E‹©Ô½™{©béhˆ÷l:O¼±$kqšréY`t8}åSÍ$q¶³PD!JÎy—+CÈÁºZîòKÃ<Õ2÷ù9xëœÛdç è'Ö~×@¨çf¥½ÛívÀ] …¸;¿—8o!è]pÇ KÆ °W6©À @8 Ȉ¨Ð^†x~1õp†WY0¥xØ%Œ×xèá_êA(yÖq†$Žrx”yáÀy&wrŸ'dÊPzšvz@Ws¯ÆsµzPƒ6˜k<×j?'sµ×IËEgQÐ{Pð ÁàÀt:0Å÷ QÉWmÌç|Ú× ?Pexà|ß& χhXeC0Äe4@ Ô~¡°m< }YƆ<  xez8QØ° ?Ð~ÚGñ·JþcV momgf… fÆDá ì68Xgrp|g È€ €xä€z°R¢_°9(S¸§h‹ÝQq"xL$X‚áÑx”W`¶Ò‚wƒ28ƒ›¦.¡†ƒ/wj¨÷kçÐk>(„Aøƒ {»æj4G{Âf{ÄöMè{Ï S¨rCöà…[ˆ|V·_˜†h¸š †èØ|6ð†×%mç¦]áç†Ø·‡ÓÖŽÀn8m€(ˆb÷P…xˆªwŠx~Kæm†oMt~CÀ€ð8«Ð °‰È‰Ÿ WÀ8Œ  pðe_´qVx†w‚·(‹,©´X‹Ž·þ%¹Øx´&+hy•“y›×ÆxiBxƒ=© Û ¾tÝà H‰”ß°”LɔΈkß6Ø”M™”I t*pJx{+²Ï …ÁðËö\Q§…SWuÔöŽ`è @@5]ø…ÝweÓömä†]á—MæɇU7ˆˆa†QÉ í†ˆ§@øæoðV ™D„C‰WÀÆpex`‘©€žè€‘0é ­ ’ ÷g'銇g‚-yš.ù’0Y_+ T‹5‰-¼Ø‹$£“A9j?Ijº¹›!° Ü @g•Þ@•TYkêò Liœé‚œÄ¹”Âé 2§8†D¦ÐÁ Âþ JÇÀålfy|hé…Í÷|lé–V—Í·]n؇×u—ë™]Òæ—ó9Qï—Q£@ncV˜ªdoBðˆ©©à û÷>ò3 ` G8—¹€ð É™-â™ ¹ªˆ‚„Gšéa¨Ù¡P‚« ‹®Y0y4°s“Iâ‹B" 2À›.¹É›"0£4ZÑ Ò0 :ZcF Öð£Öp B:¤DZ¤Fj¤@j Fc¦£Óà Ó¹•ÙèEg Þ¨ÃÀM5V P…žå8žjiž@P~éÙ|ÿ8‡Ú}eJ‡Û–¦ØÕ—5 yQ^Vvedg‡¹JEÀ˜ëãvì£þþ† îS?«€wˆ z ÷ ­€ ™y~‘È’î5’›3x£©¡ê¡¢Z@ª¹šUÒš³ø%Z“f`8$: 2¥A£¶*É .Ép«Ы‹ñ‹QË ÌÀ ¹p¬Èš Í°¬ÎЬÎú¬Ð­Òú¬Ëº¬Éš¬²` C‡{2PEÕàèi^ ¦gÙ…<ð…wÈ–fJmêúmCP~¢‡Ôö ué¦×¯¥ DÐtê—ÿšQߦˆ|jf|Š?@wÊ>‚ª˜3o ʶ@ƒ³ 'g ¨ H‘˜x ª±©±’ xÇ®Àn{_U þ_'(‚( ª¨:ª²¢0)¢©úš°iA±SG)zy¢ÁƒÀ…À v´–¸0 ת º`\·E\R;µÅµ·u¬ºÐ ¾¿°­] Uh'\2ñ¥eù«ôP誮lÚ®éŸßæ}>—ìj]Ú6Qq{oa°î'ˆ®äeÛçGtwe†Ú> ¹±‚£±L¶ ‚³ W†™ ¸•)©²eH¯0}° P²nÀdR›êRÄÄŠˆf¨+³¦I³j³µÈ³Ø+`dª&*›³á³¯JŒ€”à5;puX¼Â[5±ÀŒ2 È‹¼²¼ÌK!É‹¼2 ²@˜€?þ@¸ç\YžÕ]×u[Æeã¥W€äDv?€•¾S²Rg 7º-{¡hq¨³ʺ¢zh¦zª è©´k-(Š2—‡;0b œÀ ¬“ÐÀüÀ”Á<Á•` |Á| ¼ÁÜÁüÁ ¼Á˜€Á–p ™ Püt)IЫ.üÂ0ìÂI8R7uTç½á•Ã9^U^ªôGMt¾X(UÄì«gð[/u‚¦{’©«º°‹¿-©¿û‹³Ø13$º¿CÀ³‰2U i À; PÆf|ÆhœÆj¼ÆlÜÆnüÆn|½*¼„B4X11‚¡Pp†¶6¼Ã<üÇþhçÃ?\èåWëUÄ‚ÅK§²‘º„•Ä.;¨ ³O Å3+ʼnçº"hÅÙ1“´Ëª­ i^¼@«žÕw‚´a#ŠÜʼd+D†q)z¼PÆ'Èæ•Tç5RÿwKS”?zÓʪ2Ì5"2£Á²‘,É0Y¿–|ɘ,qš¼ÉÎü¡¯i’«º&FG£¼*+¯.ª¼Ê2âÊä|*sÌ•xS*,bJƒÃËîüDç{È,Ì©r#ýã?ÿ“ÏßrÌ,«ÄHõÐ]¿3ÅÌ–ü̧IŦÊÉiTª4 Ê•·Í¥lß ÎáÌÊåœÑH‡½ƒ*´ÌÎBlÈ'…1ô #ü“““þÏ.¸ÒúA+®±Ä*9Ð2=Ó}:íŠ05Í YͤÅÇÐ8ãÐÍ¡¼ÍÜ<ÑûQ'©|Ñ­ÑåÌÑ—â1“8…£¾U>c*W„ÒuR9³B+`Öª9F]Ö]ÓÅAÓj½Ö=&•¼;¿Ñlq@ÝЪªÅµÛ³¢lÔHÔ?bѪ|#N]ΓÁ±Õ¼ä¾EÌ1£ÂK[ÍÕ”£_íÒf]ÙmrÙ˜­++#»’ÌÖžÍÖS2Ð÷×ÚÓU\×Ô¬³ŸLÔìÅŽÐ×!÷×€´M=ØŽ-¥ˆmÛy澊|E¾TØ‘Òü+`mÖ˜í$ÈÜ×¢&ýkŸýÜ ,¢þMš¤Ýº -Í:m×Y¼¿&Š¶×£ Û±ÍKصmÛ¨‚ÛƒÞR#ª,Üý+—CÖH’+š½2iâФºÐÝßÑ]2=ÚÕÐ×ÝxQŒ‹ª½š®ãÝ­2Ý,$΋1Îì­È†MÇ@@Æoì'Þáž Ûuß«ÃÈ…Ë(žâ*¾â,ÎJ&þâ&Nâ2>ã4^ã6~ã: ãÕâ®ä­>þã@äEÐJ:^ä=\^ÞÊJB¾äKnÃmEQÕÕu!Žu^åV~å ²†±‡í:ðæb>æd^æf~æhžæj¾ælÞænþæpçr>çt^çv~çxžçz¾çþ|Þç~næ è‚>辆~舞芾èŒÞèŽþèé’>é”^éˆþZ®R]Àõé ê¢>ê¤^ê¦~ꨞꪾê¬Þê®þê°ë²>ë´^ë¶~븞뺾ë¼Þë¾þ븾:@I€I°éìʾìÌÞìÎþìÐíÒ>íÔ^íÖ~í».ìÄÎåtœìØþíàîâ>îä^îæ~îèžî í‡ÁíèŒÞ®îò>ïô^ïö~ïøžïúêìÞîÈîéûð?ð_ððø®íŸbìÿŽðÿðñ?ñ?ê _Ø _ñ¿ñßñÿñÌÎî‰Ñåðþð ò(Ÿò*¿ò/ì ±\ñêPó6ó8Ÿó:¿ó<ßó>ÿó5ÏòB?ôD_ôñ‡±Â†1óŸÚûôPõhF_õVõXîýþ)üô"LÿRöbï\@_öföhŸöj¿ölßönÿöp÷r?÷t_÷v÷xŸ÷o¯îýN]¿ô&Oóc?ø„oN_øˆŸøb_óŠßøŽÿø†ø?ù”/Œ_ù˜ß—Ÿùn±ùœßù|?ì†ñ÷2øMÿù™Oõ+dNŸõ¨Îú`Ëò°ïð³_íµoíGú/Bú„ñõ¿%ù¨?ùª¯ò·ïú¤^ü)ü¯üÐÎüÑþžûéÞ÷Àû%?êÀÏ”‰ˆO™?üÉÏøÆoêÎÿñã¿ïåÏìçßìÐîÒOý¾ÿ¥h¡ýØßòOÿe!ÿõOøÞòéïúý¯ñ B D˜PáB† >„˜P Áˆ-2œXðâFŽ9~¹p‘ %K68t¨É’0$@æLxhÊ´y“fN7yâÚSèЙ=ŠGéR< š"…UjÒ¥S­^ÅzõiÖ©§2åVìV¨`Åž K­×²RŸª¥Zõ«\´u­ÂËéÛ¯qé:eŠ°R»‚¯êÝkÖîbăé ~«Øo[©C^9’%”*7»þ„)ôgКKq*=ÚgOÓ¥Uׄíz4M£”Ã%kxqVÝa;µ½û,îàÂÇoИ0eâÅïEŽ¶7WåIû>‡nÝyîºÓ£VwÝ*øì±k?¿¯eÌí-jfÙy%KÐ cêœó§~Ò±w¾j¿Óú›M¦Ú²»-ªæÄã 9òdð.ÝŠ°Aãªãî<ô6Ô°Ã Ã[k &LA¾HT+E ‡«ëA?<ÊEàÌS±Ã¿‹À=#‚Ï$ù>{É>Ñð›)0ÒŒ'þŠ“êSè¾Õ^0¶X‡Z2V%‘Ô)‚vÝ50—܉­zÞ‡‰6Újª·ÖzéŠöj™ŽXÙ~³nzèªÏ6·í°1^Øéƒ.ºl©†¸m¢ÅÎxl°‡¦;[¸ÍfÊoÃÉ=|î‹Yf—_Æ æT µWýËóÑ6÷yg%u¾Iר7¹n’v;ؽֻܷíÙ«¾ï£;.;íÔkŸûkן|cÅ…Fõ¿y·˜lµ‡e÷ÓçÚWæ¶;àÕi—}û²ù^:ù¬¡W\åÆWÖ,õ%÷læÊñÃ55›j5ms¦xnMóüsZoêÙÖÝñŒÆ6ºýNpÍ_òþ’6½®I\4àó¶6Ã` A:oƒ×»Wµ¾æ?¶+€c½‚‡5^°…ß[añD&=Í|ç#|Ö'³UÑ,!®Z…8D"Et‡;ùŒ'@Ò ¯u\ãø¬FÁ'"Í üà›è;(ªXë]ÿNÈÁ*ÖðvŒ!Æ= –ñM< öL7F+BÏ‹r ëL×µð݇:ê‘úxØ"ˆEDd"Y”.4²‘xpd$!Ù…I>R)’Œ¤%/éH¦pÒ“”ü$%—"ÉQ>”š¬d*3™°L¢ò”¢Üä+SYÊWÂ’·l¥-IKUÊ’“´Ô¥)gþÉËP6’•˜Ìä$}…ÊJ&˜4e4{LW ó—ÄŒ¦#ùÉi*30»&8ÅéÍMv3œ]Øæ5cIÍfÖ’¹D綒 O_µó›ãdæ$ýøÇö¸ fƒÄ«~¸H‚”ˆ€gBºP†6Ô¡]h:!:QŠVÔ¢¨<1ºQŽv4¡õhH; R‘B”¤ m§G÷ÉÏËœŠ3“sŸ :Sš†®¤7ÅiCOšSžö´¢;õiP9 T¡•¨EgŽ,šÒ‘ŽŠ¥ý$I|`ÚÃ÷ÕÔªE(RµºÑ£nÕ«8íêWÅÉ°Žu¨5«1ÑšVµ>Õ=.¨@ yUº4«lÅ+YךþW¾^´¬}ê_ëPÁò´°=]©[9ש²ªu…¬#ÊVÖ²—Ålf5»YÎvÖ³ŸõlÂ@;ZÒ–Ö´§EmfE›ZÖ¶ÖµŸ]íke;ÛÊÆ–¶§µímqëTÅf&ª>jl@ yCFÖ¸=Hr•»\æ6׹υnt¥;]êV׺×Ånvµ»]îv×»ßoxÅ;^ò–×¼çEotÛ>ªÊô¸ï…o|å;_úÖ×¾÷Åo~õ»_þö‘ëU•cÝÛ[ØÀFp‚¼`7ØÁ†°ã~‹*ö ¸f2‰p†5¼awØÃqˆEÜSnÀ#FqŠU¼b·ØÅ/vk‰czaþÀØÆ7ÆqŽu¼c÷VÆí¥q…™u¨E=ê÷Lø¥*á3§‡ëi@“ÚÕ¯†õ¥7 „Nk«Õ±Æu®uMçY×úÓ»v°…=å^¯ÚÖ”v²•½ì[Ñ̆v´¥ iSï9Õ¾¾õ´µ½mn#¸GŒ`„µùŒmdwÛÜçFw©àîpþ§*Õ´6ö¯Ó=oz×û"ßn7ª¯ïlÛÛßÿö7¾Å­êgÜà?·fØï¼›ÜrFxÄ%®ì‘,œáçw¹'¾qŽÇºâŒàóÀá]ðŽ—Üä¢É»åCBŒ;ã?yÌe¾è”§Z>`9ÁOu®wÝÐV·9Ö‰¾u¯—Ýì9®:ŸYÞô±¿üìo‡»˜Á„µ‹}èd{ÞõÞá´³¼î*ɺÖݾwÂÂU÷ûßx¼Þñ÷qo¶ß}ðÇ|æÿˆx–½ò‚'¹æE?ú·Jþçž·;èwNzÖ·~#ˆÏúçïzÚ×¾e¼ì/o{Þó¾ê¹Oýì{?üÑÿ>öÁß=ñ•/zã]÷¡çS‚SŸÎÖw1öa¬}ˆp?$Þø»ßñ¿žåoú! þ„°¿"Öw?‹ûã«äYþûÿê;$þEF¿ÿk?Åâ¿s¿$?~ÀÄ¡,•Üô?ƒ(¿øsÀ›?೿û³<è³ Ôô2Œ>¤@;ÀtŒÀïû#lÁ ¼ lÜ?ýK± ¬¿øT½  ñ A퓾é[ŠýS %\B…HBì;Â$\?)l¿&¤þ@*„„?,¤Âé›B&ÌÂ&´Â)C'\B(”Â4ìB$ÜÂ6 Ã+,Ãõ#C0„C9ŒCÀ1„D ús¾TùAÌ¿ñûÄ4B<\ERÜżB^ÔE`lE DÀ>\DUlÅ`ìE_DFcd4ÆR$F<FgœF%ôE`|ÆOÌEjÄÆ@„Fo ÇcäGOƧüÒ }ÌÓÐZ”…Sðô@€“A«Ó»S*ËSÇ pHxS8õ9]½å N©ÛSÃëÓÔ@S5TÚDºD-¼>T@M•ÐÔ%T!ŒÔOåS¸TùÐÔRíT-ÕT­TQ…Ó@ ÕRíS3U¥Õ¼³T„\}US…Ô¡Ôç¬ÀðûQ¹dÒéLÀ+ÓüIt0£ÔÏó!B–qÖ5Ñš<º>ÍÕRÝUM•ÕIƒ¹dÖˆ|V×âT±œÏ`=T_mV–4AheÀ_]ÖÞTΕLº>…ÕþàW~íVVÓ8pA\ÔMú4Vƒ=WzÅEu%Øl0|×ô‹WimØלÐ{uXå}íWø×cûÖŠ}EÞK0õCstP‹ÕBq-MC¤Òû|ÒED<ÊB¬Ö5EtEE UÆ+HJÔYš-Ð’½Ã=,Â\äÑ=RWdÑbåÃH„Ú—½D¤•Ê›t×Û”Y©Ã׎åØ~ýXy{Á&µN÷¤Ö]œÐuÎp$M ­M™MDÓœW›ÝÏt\YèÔIºEPà¬ÉsDÏì´On„ØeK¸½NqPÀmÛ«ÅRÜTJ¬•W{ëÓŽÝØT‘ܯí7ñDQÁ„ËgEج5κåÜ»õÛ]þ»%F¸ÛdLílÎÕŒNËDÝiNµ¼X¥KªUпÕÛ…JêôÜÞ-R­uÉ•0^ãµÜ€]×ÔuF£}ÌžTÊ¢ÅÚy^„´LUD[)íÌÓ%[ѵWâÜÝò̤¤PuÞ´UݾíÞÉ4ÖÜÍG¾œIÝ\%Ö‹EºÈí×(ÞãÝä ÙCµWÍÅGIí\àýK†[êüÙž^‚Ýòýݾ}`½àP–%ÐÂTÜãLÛË´ÖÜÎêa•5RŒå߀€”€ößËpÛ%Ìú,ɳ-ál´Vèt_&\†ÍÑLôe]fÄQ×]\ðáô=à ÜÊO 6þÐ$ö`‹¤áïmIbí¹>=á>„æßva&uÛ0~Yã´Ú(…Ï’ÍCªMã­W-ÍRîecA¤a5>ÓmLSøV: ã¥ß7žMžmÜQœÑ1VË"eß”TÒ˜-ä{´Z$ÕÃ5ö9,æ_-æâÐðb {\"ÛäЭUÈ“dKÖPáK6åèUÃëäOž¹>5åK&å-~e@å9UåUfe™ €˜åX€Y®åBÍåa¾V^~e_æT&æeî¸]îåR¾ä ¨€`öTf¶æ˜sæcVaiæfjFÕkg“ËfSöen–fožÕpVçÛes®€r6gtöÖu¦çˆkgsþ†çnVæzægn»gnÎçsÞç~&èhûgièiè‚fèd;èwÞæx^膦è]{è„–g€ýߊæh`»èˆÖg[îè‘ε–åWÎh%镶q†åTù€˜Ži˜h–¶éJ XAJ ¸‚Ÿþé¨é“ë-€£Fê¤Vê¥fê¦v꧆ꨖꩦꪶê«Æê¬Öê­æê®öê¯ë°ÖtJ±èD@k´v€žÖƒ¶nk¡飋ÿ¢ëº¶ë»Æë¼>®p3k þéµ>pë¶ö¡6¹äÐëÅfìÆvìÇö¯¾.ëì+lÂ.ìÃŽkŸSlÈöìÏíþÐm!’lûkÀ¾ìÂÖÍf©ëìцíØ–íÙŽl¿¦lÔfëÌFì’{mÚöíßîàž©Ò±ÓêÔÖíÍî9Å>¿!(_ñ‰ûîé¦îê®+â1ãìÜvkÖ®æ3̤Ì~d£w½å(‘€JJ9%rà y$–Yj¹eEIR©“¼-ÔÓEù%šifv%—mºù¦…^ªQ˜‘‘IÖŽsê¹'VlÂù' Â&§žu†uçofñ¹(£{ù)(¤‘J:U„Îi(Cˆ’¨h£vÚ¨¡Š:*©¥šz*ª©ªº*«­ºú*¬±Ê:+­µÚz+®¹ê*ª§tä؇–9Qž½{,²É*»,³Íb†é˜ÃBp¦³ÕZ{-¶Ùj»ív¿êl¦ÒRË-¹åš{.ºé^êmwbê¡©Žœª;/½õÚ{/¾Aû®¸Åæû/À ¹–‡—›¸Û]‡nØÏÝ“ ïd éSá1:驧Àê<•Nyáxï:û®˜÷­ù×üv^ é)FˆYê?jUœf@^Tá飻þSòU5¿þ<ó¢CϺô°×-û¬©Ó^;ß½ú/à·ÙGã×…–ù÷cúŠ­gè“ù=„^Ta õB-òO…(|! '%ÀX0T$à=ª6ÒqŽ/•l•À.Ð]3SÂzA ¾¥8lŽÕ3—E–þ5|byÅI2+ÊùÂÿmÒ…[$c͈º4Æ#[{*S©ÊU²ò©KåKP‰UÎr–²„¥+q™K]¶²—¬„ ÖG;,|‚d$ó"Ä’4‘’Í2{§œ .BQü]j*Ù§Pî/”­;!§ÇEPŠ²œÜ$%¤Ò_²“—·Ü%S}ïqf2Û7Äi:>ð9"A#™PKrsœeÌ8Å(Nzó“-ü(:ÓYµuæÓ—ö|§=OZOzÂÓ3°$]IÙ¹ÏÌ-nsŽû›~ºœ‚žÏ=ÓÄàBêHZ°þ&ÚÌf•(šÅLvÔ“füâS9ZN‹~!…“:cÚË“ÊÓ+'W»ªÕ|Îôv5ÍÝ?§H"3¢t¨OÓWƒ:³¡æ!¢$‘ÚÈmºn„¢ìâýê?pžN°%ç ›X«^Õp#++¹ºÒwR6¥¼œ,e!›Ê²*ð¬þ,fN¥ Mˆþ°§Ñ,­zäÐ*’Ö®´`„ ˜MÕ†Dræ| ÛØÝv鱚}©¼êÒËÒ2–À «f9ËGÏú´žÓ–mAŠÛ è–·Ug²«Ýír·»Þý.xÃ+Þñ†W¹Âd.1w÷\lE·/Õµ.|y‚]òÒ·¾ö½ïxÍÛ(2 þëUV{ã+àÖÌ¿>0‚¿«_Fñ Æü/€,aüŒ4Á¾°¼¨«Õ¿>V€',âÀÃ&>±w5Ì'ëÃñˆcL©´*6¾1Žs¬ãó¸Ç>þ1y ª`îw˜ÂR¯‹™eÃ%3¹ÉN~2”£Lª E ‘‹ÒhÚÏæ"9É^þ2˜EB‚‘¹Ìf>óÆHà1#sÎa~3œã,çà°x­s¾3žó¬gD[N¯›÷,èA:É}ös»ÓB3ºÑŽnXŸÿ|ä@?ºÒ–nÖÃЬéMsúbãÚB¾õÙ._šF$ëªS­êU³ºÕ®~5¬Wö³  ¶þ¾5®s­ë]óº×¾þ5°ym´,ß.Ô‰žô¢KÝ£§»ÙÎ~6´£-íiS»ÚÖ¾6¶³­í¬ÑøÁÎʑ솻ÍÉV6`¼íu³»Ýî~7¼ãÝn˱-iã&·MxntŸHÝòþ7À.ð¼×ôæÖ vïPç;­-æ÷€ü]ð‰S¼â¿8¯®·poxá~n¸s!ÞoŒ“¼ä&?9Æ5®­„ï×ãz°é~k‘£ˆE¡Ãõ{Q®óóüäk”²”Y.îÈø§+2·µøT'Ácfeé Þjy„<œSýÖ9ï9Ö³®õyËVÚº«„Þq¢eqG÷6ðPäô×®E¡gYþ;_AšQén½îv¿»µþª6Îì­ûŠ]¾³‡|8p/žZO× V0HVçu'ýzsê¥0Œ… #Þ3¯y”ëÝU|oÀçý~*Àï)>0DXoô‹o‘@<ä¡ÉÚÙf%Fœ$ã‘XÅžr&¯_‹{Ü'#—ì5a«^ùÈÏ}óÎ~Á;ߪϿôv¼£õû®}9º‘û´"}¡NŸú²¯žÔlEP^‡šW›Ä•Š¼GæO™Ô»•ýé|lÍØä?~°ý,ô þ[Vý–,ÁÔfÖeÖo©Xé¾ù] ë1] ÆŸì¡àNà\ÁŸ6­ÖPmà”5aQ VÝÿe¡òÒ †á³Ùàoá`ê K¥”q¹> †ßR ŽGúDÕ#é! 2a2TÔéBHL]ÿ) a5Ÿ6¢#êj–Zîà*aÖªÒ^ŠÊaÒស„4¡:¡h´ßJ!)ÊþÉ•¢)ú^!æÚä YÞ!n’b="/>b$BÖ$zqå Jeâl¢š˜^¢ÞÆ\þ(Ú†Ö^*ªVl¡,ê^N6*ˆiViPãím£Ûí´]Ý®™c/¦#ôýâX½’W JÁ£F`.#&ᙟ‹)žv¬]t¡#-ª#Aòb‰¡Bž2¦‰2.c3Öa˜ùcëÕÖÀ dA^äÖdBnd‚-$š4d>ä3>W5Ñ+b!F¦¤Jæ]…q¤Kv¤=¡C~¢3ò#͇ĭ¤N¤F¾¤O’—G~ HN HÚäMZÉN&¥RúZOþ¤S*XLrâ2BQRÚQ’³-¥V*%Õ˜RX†¥XŽ¥ ™½MeUîÛUâ¤èµ¥[¾%\Æ%«P™•Í –þåLêcùYåZö¥_ÞƘuš`&š©^†$MBä_.&c6æ‡t"Q&æH:&eV¦eòdR¥dåev¦gåPj¦^!g~¦iž¦¥…fZ‚j¶¦k–šjn&_¾fHdaÞ&næ¦nî¦n~½Ø&o§pnŒozOf®æ¡mn„ÐääVfÞ°ÑKs>ç®Egߧlªår~„Õ(çv‚½t§È€çu¢ev²ævb…Ú¤çG€_¶¬gÓ¸'Cbçh‚bi²§DÀ'~n„|^‹~6L %}:À>Îæ~bÄèEhµ$èÂ0è”Äf}Ö¤*hD¨\f¨†6„6 †n(ˆþv¨’H(î¥vnPIb…D²E8úˆh=]îećfuŸ÷‘N PáÑjˆþè¬È§Ò­hQEÝâ‰ÄŒ‚ö­ÊŽÒ†Šˆú‰艦ü]Б"Þ fÆáã)ÕûxÄŒ†^õÕhŽºÑ™ú(ß•iè=©›¦ „)Û]é]eŘ¢©ª¬©×½©NDå|šç„*&4)ƨûŒ†œÖ)[*{¼wÎâ)õ‘Šžê©™’iöµ)Ÿnª¨Ä)4žÇÚùãúè©`êñi”öÈ”š(z"á5 Ÿ56ðßì1jìÅjgÈ_l ŸL¼3ñª¬ÞêFŒê¥¦Ê¤Z*¥šJþ™rê€ê@§ú©P¹žƒÔ*ú]ë6V«í$‚Bjk²Z_-©’byß“9kê@+”J«€j‰’f…ê6!!q`)ú*PQÒýÅ",Þë¯Bañ!)IÅSe­á%öà<šadù 1>,ÄF¬vºz¬RPîÕ)âëøô*‘¡BÄ)Å£I5,:`<-`1JlIQ,é\¬&º+•¬ª¼Véb$þPæì´Æèlyàh­Žz lHŒ¬Á&-Â,%^bÓ&lÒ²¬ÔN-Õæ@ÅÂlÌ6][ùaÇ~©¿F¡F íÓ—;¡Tq WXa"rQ­*Y­Åþ’ÌFè€Rþi«Šâ ¢"Bì½è¾rl ­ÎRÐòìYˆ­Énʺ£É®-&²­ã>n&º-Öf­Šn-ò-Kà­¥h~ìÓnÕâ £ÒÊ#=BnÛ:ëäB ÛÌ-«&§áU! Þ-O ¡ÊÖÇ’â–ž îéÑznè*,Ô¢!>¥-š®ño>Ym´RÆOÑîë{hnîš’ï:,âš-ÊoÔ"o*)/óÆ­”˜žäe¼Ú缶åÀ¾¢\ék,òaÞ’VîšOÞjÒ¦lÙŽm+-à0bïÚr/0ÆÆ­ó‚†ì‘ßêíì^„áZ/â6íÊ£Ú °>ùÒ­ë&]5þUc®†)827Ž–ú´è¶†) ÿ^£ºÖ‹zcáBwH Ë°váÁvÙpwá0éÌðKÔpváðS±ßWób)˜Î*lIHë-·20 ×pÓ ÿð {Fè°_1Gñç—K)#f N¦…îSŸ1§1LÞlÈJÉÖ¨1gØ«jGfBH›¯Í–ñDZÿqg¬Cï”ô1 rŠÍ1ˆïBرàq j;1"W²%¿¤ c+ïò_r%g23„#C2Kò$_h'{²*¯²‡g*³r +20òøŠæ#“²)Ÿ20}%Yö²/ÿ20³0³/›åþ¼XM³2/33³qŠ2U"Àã2[(–Õå)7À]ÎË5‹Œ6[ ž4ß2$ç².æp¦³:¯3;“™aÒ :·³<ïæ;?sê3)K9ë2?÷ó¹Ðrâ35ߧ?´A7 @¿œ@—s5´C?´=3„,t)74D_4F'£8O3CtF4H/òF“sE{tHŸ4J“GBO4G—ôù¦4LÇôvŒt>ï³Lß4N+Æ¡I4Eë³Eç4PµGìt@·´O›´P'µRóYÝ8TCµM/5U+5Q+tBDµTÿtUwµL_5K;€VÁT{µYÇ4X?µV—õY·uH§þuV¯5W»5]?4\‹µ\#u]ïµ?ßõX³5_v?ûu^¿´`ö)vT6b7ö~*öVëµcOökB6YÏ5eg6jZ6ck¶g&gcövžZ¬©Ú¬±'pγj¯ö`'9u\/¶h/gVj]WnçtR§ÅY§Á6^˶dÓ6ÞYŠgŠ'º‘goßslG¶aß.*!+ªŠ>wå²à*†s q­D^7ùú°O3*¡Ú©wZª.rS+÷o3÷g yK·HÈ©— ukGvÜvOPãi-½ö·tKP¢íyZzÏòzóôr_vpsiy·‡w|·ñ ¸ ÚÝ~þça„WwâE÷œ~¸Ñ†xf8è¥8Š„vƒ§][Ý^8ž0 k닃ií⪠[¡½êƺß,öœae8βøð1±‹Ã8;Q#¹ÇöìN9êbæÒ*$)³Ny¬˜ø‰ xsOä(²G ¹½ö«B•Ž¹DY‘‡GD~³[FùxúvF—?ˆ[yë8!’’2É9¿*pØBj¹2i¸>Ù²–Ê oª•›–¿·BÝת/Ñ-üv`ƒlÐ:ú›Ïù™Ç¢3züZº¤3⬠šbVá§_a˨·â)ªk¤6Y¡§é”º‡$zÝžÈ@®¨U¯#”—Žúþ—k£2éU¦C@š¯ÛšÏ7žcÓ°‹à¯Ûx¨S:ûJ;ã¹âS{û*±jj"«“ͺ™RyŸÒ{ÿõl;x½ú:¨—ºôþáí^:ìZû±';Ü;¾ç»¾ï;¿/;tï. ®¼Ó;7º5‰ Á?°/°È¶:©*k¤ž+¬‹+¹6)]ß·J|ÆÛ(šš«·ëJÅ»>,Ÿø¯(x{3x–»êÖ¹¥Ãù³¯¢­ÊüÀÇ.º–FØ;¿ï<Ï㻿Û7ÍÛ_Íc;$9Ò{­À¦ µç+°Gyõnï𠯮áŸ,þŠUc¯<ÕSãR­ËŠükÙuÊw¶Ý®ðÆÞþ¼Iã5ÞxÁ?: —–üŠ#Ž3=Eö¼Þï=ßëýÏ—ÏÝx‹Ç¸Ë– çÞû _‹B¯ ¹ÝÓ»ÛËhÔ/ìÊj}¢,¢íÙ×dm}ñÆãÿ²¬Û¾DêcÉ_¹·˜=º§¸®Ï™Î÷ýÞÿ½–Î QÉ·’@}ÿ–,.]½èz~Öw>bÉ‚îîc~öN}÷>×Sýç>®÷Â-Ù—}X¯þÊ»¨ëC¿û¿ÿÎ÷¸–«Ií3óÓ–ç¾ö¿÷c}ñ ?@<øÀ‚ D¸ðàA†:T8‘bE‹+B¨þcGA†9’dIz\Q©Ò†ÄŒÙ#€ÈpšÔ¹“gOŸ?:TgœG‘&Uº”iS§O8 :•jU«W±rÜØ…k<_»†ëu,ž®_ÁŠ5‹6,Úµdϲ} ×+[®féÚÍ{vl_¿ÿÕ˜•ðH”+Yº„)sM›G G–<™rV£P1gÖüTjeÏŸAcݘt鶦Q§V½šuéÁ¡¯FÜò%ãÆ5CÞÌ ›woßT/o>sçßÇ‘‡Ýš5^æÏ¡Goý:9PÙ+i/–é87äêßÁÿNœ|ù£ÆçWt¹ôÒÎÝÇ—/Ÿúú’××f̤þnö °ªñÌ+P8ôL0ÀöækÐÁéÛHÁð»";ÛøûÈ¿ 9ìP$ *=,ñ·:h ‡YlÑÅaŒQÆi¬ÑÆqÌ1Ç%4±Â ÷í?ïL,2AELr)l²²"hÀÉ)CjJ#T C!5$’Ê/‘CRÉ1qbÌ3©"¡Ž5ÙlÓÍ7áŒSÎ9é¬ÓÎ;ñÌSÏ:Hh2Ký¶ãÒ£ Ñ,61ÉTÒLCmÔQ4ÿÔ.&íˆÐG1Å ÑDE\4ÓOA 5¼Hm£ô±ÝDMÕ§9å´OUUÖYcKi6-3µ;TiíÕ£ VØa‰-ÖØc‘þÖ×e™mv'Rs­”£K­ÖÚk±Í¶:heÒuH^µ WÜqÉ-W'n'•jÍm×Ýwá¥Ý!¼íÜxñÍWß}±´;\»U—]~ .Øàƒ}›·ÞA½DØá‡!ŽX(…nXâ‹1Î8bŠOýOãA9_ŽwõXä“QNÙZ’¿5Yå—aŽùS–íuYæ›qι_Ä,8ÝŽuš_<@"Z'£ž0éž– imifø^¡©&—諪i·éi‘ºö:Ö¨-µ¸ê³ÃEKëµ= û£¯Å>zló“”ÞŠ§F[ïj¿‚ ïŽžþ›#µáv pµýþÛð÷Æ:qÁ÷{pÀþ'—iÄï»qÄÝÒÜòÉ1OújÅ1w”ìiÍÞ[um/¯\ô¯—vÜõÊg§=sÛ /Üu¸%ï=ñ·=‚ýöÞ×øà1=}ÝÔWožoÚy¾èÅ£·xܱ÷]zߧümêkï>üí¹gTùO¿YãcßûÚ;½qÆ9G^ûñ;ÏþýîÙ·_ôÝg:ºõ P?+™úø¼ûq|Ùã]ÜÞ×µö-Ðx׳Þ·W= Z/yRÀ€–@úªë¸¿âowãóßá,È?è äs˜ÎǼî0S$ôB÷Câ•®t¸#¢çngÃ#ÊŽ~2üŸå ‡Ä!B®Q9Ìþ±HµÍŠ6Ëâ…¶EuŒeÔbóP‡[ðn!4ãáx±4ª±n¥Â›ã˜G=êkŽÿbãÂÊvÅ=’âêc£åÆBVküœ#!ùHIF’’“üÜ"1yŸð“ˆá3™(’”¥Œ@(Qy¦9vòƒlY*5´“S–k°´å*ÕØÊ6‚Ò–ë‚€ €LØ@]ÐB|ÙKez—t@  ML@‘°<¥ tMm6 „PQ2ã@õˆq™oÄ%²MiR“—¶¼¦6¹â€ …Ò,cXN}&çœéTç4«™Êwóò$ ú€Ó~"çþ§&ØÐ’<СYËçDóG?*æ¡™ê§bÔÙ€¶Óš¿,¦<P@B MæE8:Ž.v¡›âÿ¨ØÑG5Ò‘?Ñ©D•vщZ°i?å‰Q;ÈI¥ú3š#}¥2¯ù*yB@€øä2ˈ:°uCô5(EÒŠsÝ Ri™ ¢úd~åC«IÞZÅM* ý';ŸÚËSj€ðCv°ÒÎd‚)œ! ›¹ú–„4•éWÇ8ñÅ´¬—‹âF'N!>1pŠ­)+‹S Šƒà³ìg-«=›šµP}IHZ³ežÒ '!úBtäžúó¬â"˜Øɾp†qUWþsç>Ð*—±&$nd9ë\ÈŽ•´]UáM1‹<àN~\å`kçºT»6¯²…ê/ˆ•BRâHo‹&Ô'V7±(¤œqUUÂîNo±ö… ‡`æ>—´¥½ L÷'¿í†õºà¥k]_{×€¢’¶RùÃJñ+†ªÐ¿œ.wœY«Ö¾m…_F#GÔŒvàã°p ìVÿ–Áô]¡\ÌÔuN8”{M‘úà‡À¦6%qŠ=›à®µ]ú•a ߆Jð¹,,“c&_w¾•‹åÚgJ˜¤…ÀŠº`¬ [¿#é2ëŽ,Ýö•¸ÊD­2ì¬ b,øÀ}Nðkþ\ã´B*¼œÔ±HË+5<öX–…isaËåC$*¸‰x¾¬‰÷YÕ>9É’ÝrLù»Ä"vµÁÛ¬j‹×`Bçx¼;.3…Më+ Z(6µPËhë2Š¶‰ä¢÷ 6KV’ØÃ6v±™G]ƒñ0t=tllishÙ_”x#L^O›ÛÝþε ÝjDoÛÛå6wh®î—p€Ýì†ö¯Ïoy£Û_êv@»ÝíkÔ rÞýö÷Pðá{ãûÝûö¿žðgyP1øæ@Á—Ço…Oœâ‰”Ã!Ž¾Šo¼â'¸¾#~pŽÜßowÆuHr•ÇÛäù&÷Êaîí–?äù͹þ=¬qà'¯yÊqôeêœçÿ¹Ä…žôTê|çu3úË•õL2Ý=wù«¥žõ©û@]wúÇ¡®u±Ç1\÷º3ŸŽõ±¯ìf÷zvÒžW¶Ï=eïúÝávµÓï<´ûÝõwŸ‡½ï…wÞßñÞp½ËÝð!â».ø«3Þñ•?¼Û#¯øÁïÝò§ä¯ùÉ›×ó¥×è%Os›žõ)C½èUÏùÖÏe¯É𽃣‹œö½™í€ûvë~õ¾7>Ä€¿ás€ø²?þó–|å³»ù”‡þõ7†ùÐß^ù¸¯>é±~äk?;Ý÷þîÅŸþè“_1æßÀ÷£­~þùLú݇?¼çŸ>²_Á7ÿý Nÿ0^^¯ÿÜCn°] Ðÿìý0 ‰ÿPùÐæ$0}¥5ð›…ÿÏA°å…;°øLp[ GPY0©Deð‹„-q°[ðBÏ_Ðù|°™Ékp Dß™0 [¢ÿ4à ¯ðN ¹P= ³ »p íã ÁP ‘Ž Õð7Ì Ñ÷Ö0y£ ÃÐåð ƒ5ÀÄý4ôíð ‘(± 1 ãQñY( ÷±.ÁP•Ð9þÑ$q;1)¤¨¬0)QUÑ0HðªÐ$Q­oiQ$˜.ñN eüj±G±sñ w1þ|±?â3/'±±‘1a™±ÿð_1S‘CÑM1u1µ‘¹Q‡ÿÂÑÇÑ…ÏñÓ§±×ð¥å±[Õqíññ¿1ý± rr ¥° ù±eZ¥!ò!!2"%r")²"-ò"12#5r#9E!ËÑà82$Er$I²$Mò$Q2%Ur%EÄ#kNÖ`2&er&i²&mò&q2'ur'y²'}ò'2(…r(‰²(þò(‘2)•r)™RÖ\R$X2*¥r*©²*­ò*±2+Çd2¹Ò+¿’òDzË2 Ï-ó1»Ò,×Û2ßR-ãR.±. ò.ñÒMQ/’/i1-÷ÒIz@è 1s1³1ó1!32%s2)“„ (£öd39³3ó¤(c öÀ3I³4Is¦ 3Ms5Yó3éo.«0?ÒC| ì p37us7y³7}ó738…s8óÀ:À$#Z`S´ò) ð‰0"` ˜³9›¢¦ :³B9«Ó:—â9µ_deä:DìàTåì@$þEà°P z„0FÀ(Te>Gà=ñ3Uæ³>GÆ_Ü2”@g³Cè d%èà=ãÓP@EãAåSB¯¢(M"”`ðƒ. Ô@Í“CtA420TV6ÔD3ôLR´0N4VZ”NºòCTD4VÔAQÔB­C“%H…tH‰´H‰%F³âEóÓGß%KhTl4D'dDu´D]tEÁI'ÔH¹´K½”HµôB±ôKÂ^œ´F ôF§4¾´MÝôMwTEßtNéL™”*€´NõtO‡¥L«"Où4PõÔOÝåL¯0M¥TATP‹Å-‚•Q…%N¯TO5P!þuN u*ÕMã'H3UHC•N7•(:ÕR‡eTSURôNpF 5ÔTQÙ”UeTCuWqX(•0NµMuSIÕUMu>çTUUuU‰4S—ÕKKu(‚•N—õYsµWƒ%ZÉåL?”V5AµW«5Eœ[SäW“Yßt\÷ÔZ¹T[ƒbZ»”]µHËUSUZÕµ]™µ^ÍÕ(òu[aµ[k\oWÙRÝUPÑuK“ÕX.µVWÑ"W+–\‹ÕA©µ_/õb#–W%Vb¿_5–X…eW/6dC6e^ i`£tJ#h¶f)B"‚ pÖfy–föBªgþivgs6g¿Âh¢ $¢!„–fë#I!À¤vj©¶j­Öjñk¥6k§–k½–j¿vkÅÖ¸öjÍöl¥"`ã5h›–gÉi!Âh#¢m…öiÅfUfó€nùvg™–hù¶göGÙ6pãÖ":§há6iw! w ìhÑvrµ¶jÃvl˶sÆ–l1—r=Wj#—p#ü¶hÂqQwt)"t›oAToU×moic—g÷O ÷qwi×t "qS×pYOs×pKWgÝ‚v•n—n‡—S‹·v7~”7xkw¡Ôöey&6 ö[df¯—tg×q›7|âv‰Wzg—þwÉ×w­·|›öyMâ>îâ~Ëñ×9ð¢ãC~¥5zcwz+bq­·vX`·÷/»vÍ÷"Øuá÷zÑz¯—}1øpy7ƒc7׶~Õ‚/DØGø.HØ~ŸÃƒÙC€U—€5øw÷±—C]×[X† -7†qø|­XY¸ou"tXic8y÷hÝ7pUø'ä9âG-ô‚å„á‚Ý£‰}b#pøx‘wnbˆqX‹³…[mtdÖ dãÃ~jÙ8Ž¡ƒŒyâ‰åøŽ]#{˜~ñØ4PBèøZÌ8MÑØIè@û8‘IÃß“ù‘û"uÂŽ!þù‘%Ù$(¹’é"Ž/ÙYÙ@ ¹IY“I¹ ÙD¹”-Y·8•U9‘;™$2¹’ÿøAb™Y>™VCÙHFù•ù”]Ô•}ùŽoY$6B›9™•y™™¹™ù™¡9š•¹˜Cb–‡Ù–Y¹ŒkØv¹Hzùšñ˜œû˜šA☥9ÕyÙ9šÍù#¬™œ#„†˜F ¶›M=ï@Gø¹Ÿý™Ÿï =ùSEþ¹  ú s€G$ã> ú¡!Ú™Sd?M4Eú¢1úFš_r™›§¤6í ¤Ez¤Iº¤Mú¤Q:¥Uz¥YZ¤39£DU¬$<¯b:ÝKT°“¦­Jn:TþfšžoŞϘJ|1+ó¨‘:©•Z2…9'CMZ3ª¥úMúd2"`¦:«£ztú* Z«ÁÚ4«š£·ŸsËú¬k±£ÍZ­-‘­Ýzá:®Eq®éº?ù<ú®ño/@¯Ûš¯fÿ°[ û¯w  ±û±!;²%²' ²-û²1;³5{³9»³={ ´E{´I»´Mû´Kû³3[ X{ È  Ì ¶e{¶eû lÛ¶Ñ ·u{·y; |; Ô ¸…{¸‰»¸û¸‘;¹•{¹•{ œû¹Ÿ› ¤{º¥º£»º¯›ºµ{»Ÿ» ¼{ܳ`¼É»¼Í;þ0Û Þ`½ß€¹Ûºá;¾åۺݻ¾í;¸Ù;¿õ{¿á ¿ýû¿Ü¿ã`À ¼À œÀå Á|Á|ÁçàÁ!üÁÏ{Â)¼Â-üÂ1<Ã5|Ã9<ÃCàê9V3 °-`&·P<ÅU|ÅQüs¯v`<Æe|Æi¼ÆmüÆq<ÇuÆy Ç}üÇ<È…œb<›ŽI ¶ É•|É™|ɹàÉ¡<ÊŸ|,¢jU×ű<˵|˹\j+àÇ*`†œz ÌͼÌÆW¼ËÙ¼ÍÝœjýBsÀ è¼ÎíüÎñÜ ¾`Ï¿ ø9›À n`Ð ½ÐqÆ<Ñ}ѽÑýÑþüÌ%}Ò)½Ò€êÙ.€@ »Ó=ýÓ1 ÔE]Ô?½°»õÔeUU}ÕUÝý\ýÕa=Öe½û®ÖmýÖqBÊ>B@F€J`ØKÀŒÝN Ù•ýP Ù=T`¤}ÚW€¬Z Û]À^ „Él`€ȽÜͽÜk ÝÕ=ÝÁ½Ým ÐáýÐq FœYÞíýÞñtÒù½ÇËÜ~À€6€ É6>ácšˆ`‚,à|À*½â-þâ1>ã5~Ò‹ ã=þã?ÞŒàH¾äMþ åU ’ å]Þå• æe~æi¾æe~ –€ þt~ç™  |þç¾ œ`èà ¢àè«À ~陾éþé¡>ê™^ ¨¾ê­þê±>ë­1¤  ÀF¼ÔÉþ¯GýìËÕOÕÙžÕgýíáîs}îé¾ÝÔ‰×}؉}ؽ–]ÙýÙ£Ú¥ýÚ±]Û¹¼]f`d@ÜÏ=òÉ}ÝÕÝÝÁÞ ýÐé=šó=ßw\Ìżßýß‚`„àà¥^&:@ ^â)~ãi¿ömÿöA>÷EþäyåUþå? l~ø‰çy~çƒ>è‰Þ   ¢  V?ú¥ú©êµþú±ëUB¦à* ìËþþìÑþÓG\í×¾íÕ ã¾ýÝßýê>þm=šx½×E@„}ïûþï“=ð›Úb…À+XdÑ"a /`Äq† iX¼ˆÑbkØøò†È‘#qàÈ2%J,[º|Ér‡É™3wؼ‰3'N<{úü 4hÐ>|ü°€a!: y 5ªÔ¨M…lÀ‚Á‚…E{xý 6¬Ø¯B…Ž=‹6­Z¯EÚº}kÄÈ‘¹tëÎE‚7/’$|ûöU8°àÁ„/YÂ$±b&M;~ì$²(P¢T™Š9³æÍœ;{þ zˆ”ѤK›>ºô•+<( €A ´kÛ¾}ƒîþݼqÓÎ<¸ðá4?Ž<¹òäš;=ºôéÔŸs¸Ž=»öíÜ·7íàáÇ"¨(½‰õ%N¸"¾|)Tx¡B†4B„CE ØG }DR‚&©Ä L>˜“K:M¸–…a†=åƒVI-åThO}gU@hÕÕZki8”Š.¾ÈÖ[pÉeWzååWŽ…íÈ£ˆ-–ØcB6!Ù”Yf…ˆJ.Éd“œ¥e”ª10 T`o¸ñ¦n^G¦pˉ¦qÕ­Éf›ÍugœÜ5åAx 7Âyé•°ž í½çÞ|òÕw_Aù)´CþÉ ÑþDxQ˜ ‚'1˜Òƒšnê …;±*PDD0¢ˆß±'rcZ¡¶k­bÉèV\5Úxã^9þÕc°†ý¸ØEfdeN.Ël³ I íiBð0\ ÀÀ@Þ~ n¸âŽKn¹á:€nºê®Ën»î¾ o¼òÎK¯»ã>€o¾˜Ëo¿þ~‹í• LpÁŒp 'pÃ;üoÄÿÖ+¯Ä_ŒqÆo̱¿ rÈ"LòÈ€Àµ  @Ë.¿ sÌ2ÏLsÍ6ߌsÎ:ï̳ÍüL@ÐB-tFtÒJ#ÝsÓuÔR@uÕV_CuÖZoÍu×^}@ÌŒMvÙfŸ=vÌ`¯ÍvÛnƒ=uÛ?ÏMwÝvß÷Ï $wßw£ xà‚Nxᆎxâh¿†m@;PKªIA: [[PK\8–AOEBPS/img/execution_steps.gif%.ÚÑGIF89a۔Ā€€ÀÀÀ@@@ðððÐÐÐààà   000 ```°°°pppPPPÿÿÿ!ù,Û”ÿà#Ždižhª®lë¾p,Ïtmßx®ï|﯀pH,ȤrÉl:ŸÐ¨tJ­Z¯Ø¬vËíz B.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€hb…†‡ˆ‰Š‹ŒŽ†ƒc•–—˜™š›œ˜’”¡¢£¤¥¦§{Ÿ¨«¬­®¯°€ª±´µ¶·¸¡³¹¼½¾¿Àr»ÁÄÅÆÇ­ÃÈËÌÍΊÊÏÒÓÔÕmÑÖÙÚÛÇØÜßàá°Þâåæçšäèëìí…êîñòóqðô÷ø÷öùüýçûþ Ìp Ab(àà€œ ð†#„Vð ÇW6’!P&@# ÿÀ&$„(!˜dC’ €ÈÌð€â/uÔ´ Áƒ X®04PHD>m3Ä4UÏDýGÏ” x òåƒl¼Bx(4`ËÜÌ Á€Cž>}©»™—Î ,@€€ƒ·x”mTÀ§b7ó {&2šÆ\ß„a@àÀµ7˜Y "d€8„°™ÀX•ÖeÀ€¥gµnqB €^2.æ] ñ´lT{{Þ€øƒ¡ R/Àb‹ÉDoªÆ€õ5¼G_¬ oà½Ýl7¿x²LîfΓ)¿;}æ2Œ*`À“z3’P„ÀY¤5ßgx&BÿR)àôGÉM æÓoˆæÀ ˜EÀ† dgJr}Í¡ÀJiÜ$ÂJ<éVÆ(5Sc‰À€oa<À’r Œ°Ò eP‚Ÿ™gÔQw)Pãj#ŒÑÓ ="(Bõ¤â6ù¨”9Êa –ñäg"$0@“¬°Ú}düv%ÿ•$E¿ ay #æÖ$r=P!*·aF€ŠÛɲ_wèeÁHQ„ €@¦g°š(%àKà›™"õäY‡ùyõ@”&•g$€bwRÄY2=@éZ§I!ÉÚ“w‚!¥uqÙ&ªfÜt£g5©Àÿn€ B)ϹU›m*÷&=~«Si¾)‡×o"ýåëZ“À¸Yæ$ßoÑM¨Q~ºB" äYd8„Jú†k1yZKôè[só9x-Ù&% ðëÜ–•C0rÅÏ8_‡ «1¹¥“—²uÀqlº h]è’[dºt>÷ÅÜ:Ùm– Ì\¸ýõçš:À§¨ãÐw r—­”“ñ‘#ÆGò‹6°h¢qË»µ˜ÕÜ £-dycâ¼±Ë<¸%Ùfÿ]e| +ày.öG<-0ïY_ =@Ç[rh²h‘RÓ´†1êÿi75à˜‹A*7ÖaŒA-Í1ÈbÔ9Pò,½]ÆȶÍÙ²¯¾ÝSï7ö*PB’]0§-2É»3™³â(·¬œf–A<¸-âÓÏM]y$Y$+¸›_CY<²ñ$D$¥ÏúE ù4À†`û»i€ìFR€gX¤’²­i±›C„­ª½Ë8Å¢5 Ém7}^Vµ› rË!»ƒÞµ¿¶ÁV,Á•0ÃZ­…e}«ÞøæÀ2xæF¤‹îܾ”ÏzÊX]N®åЧ»"|JA9¸F%*Y”@?³ˆF+\LzDÿšeE,ÙN„t¥.ÆGOwqÀX†¼"åp;4E¶èÆ!º§zw¤NÓ…Fº5Q¿¹„ ¡F ÍwÖS’é¤)áÙ° ¥xç:å+ %ÓpXEG<Ò‘ îò’N¢æ4°LÏ(5‰†M–DF«ÄOlRY—ïŒDD‡dƒÀ(K, "ø+ª¨!ó™?qÔ<œ Íjâ‚™Ö̦6¡Êló›àôC7ÃIÎrâaœæL§:Ý€Îuºóçz$VàIÏu¶³žøç=óÉOk=ä?JÐÌ ´ 5ˆ:6˜Ð†›è< *ÑŠ²ƒ¢Íh90ªÑŽrÿƒ£ i5@*Ò’:ƒ¤i Ù8UŽ¬˜4›(ECÙ†0C`jã‰/õ§4Ó0ED¾…‰Üce‰¾2^§)¥TCRñc¦¢ç8D€| L’§"À–:¤…ì‡% ŽD®ƒ?I®ã qxu¦À¨LWR9”0d,z+¹s £”ŽçŠ’§T¥(ªF¬ªÑ»¼5 ¶p¯±a°dH=Fþh¯[Œl$¼,)µ›”l£;•©S@áŠhkV7@DÃE°î‹ØÛˆçnB܉%µ«­URö'šE¶ÂT±n$\±°o4Ù¨Übª~QKbV=zZ›­dÿÚV¥¯žn­phÑš£2lmÏyÀjVH—tÆJæ2/ž¶^qo“ö5ÙTvÿi®fD|˜L$æ-œÑq…’í(·&Vî‰`MgÒÜœlæ"ðF:Ze q|‚¬Ô¬‰8µé%jÀ²e Á] í¼Y.ÁR6+•ÙÊÆ­¼(GSe²ed<ãöñ\fXë˳Cù'C9¶ øè3]æ¨ñì !&\ÝxxœÄ‰NXG·ž…‘àÖ·´ÚãmY½ãPqGKÊã™× UZ/¯&H‘3Í‹2o.Ãuò˜üžlnD晑°Âß‘FÉ–3Š;Zªõê‰SÞÿ.ÍÚ«©&Q_¬‡ìx<ù ¯˜N³¢»´–¹ñJJºˆ7ÇMGü¶¯t´¯ñøkBž¥[±î rh‘ ¦ »¢H(Fš/B{"¹añ ¨íØ ««' –¢(z[ÍAÊ'Ñ3,õXCýÎ&méqgªfè¸N”âJ–‹„ä™ä$ÉU9’´Ò¦ @ö–õ-Fî\ŽÕ*ÏåH…ºsÑe…úfTäÿ6·«M<‘DKº¨¹–qH49§Æþ²þ0$DÜ[@ÙÂ{ €fàl؆“šÈ¯(¼)@ã©asHFq)1Þ¦J\ëÔ }uf¨Ã»€¯æ‡>Cu=~1M|AíþŒÈKþò°ã;æ7yÍsþóÄ°<èG? Ñ“þô›0=êWo Õ³þõX(ìgŸâQ¯˜ö¸/½æYœûÞ_âÛ¾~"€/üâss÷ÆO>#ˆ¯üæŸùξ, /ý꧂úÖϾ˜¯ýî{ÜóÞ=À/þò³Áõæ7¾ë£K£Š£©é—†ë%AÞ럭Åß+:¯Ÿ-Æ.Éô9±ôÿíç~ïG~Ï—±f ûQ p-*÷.&Á ̆¤ñ$ ó÷cd°Å$‚•å@fÄ„1vb°5#q" "È%5‘”1h!v`sÀƒLa0%¦Z3E*ø²±Ѓ ØPÜRb³@>t4Ð&'¯C€À:¼z€7ÚeÔ‚pkÍA†dH7bó?91 QSp¦“A%b‘<Â2-è·qEQ{¸‡[ÃJ[skNR Ð#”@ Pf‹Qƒ€uAcQLHwUX% C‰ÂÔò¡ŒäM§äØ·}z<&á:;·B¸ó_ p-ÿB$DYd°ˆfÐæB@¹5‹ßR6ä²'‡V*¦vVk`C#@ÈӤшÕXÀefi–$ È•v"ЊðÃ0Ð…;tH,û3 `*Q?#ÓCþ2Šu 7±¤=Âp%@=AF °H&àMº7Vo»öGò @ºQÄdÌèPûF‰r‰cÔ\e :ŒpPÀCã‚ 7‰b.ŽÔx¾Ñ… X=r1_Ò~Ñ1’¯ø*°Ôù ÃFtQ@†2sèU9Aöhc™P2Ò"QQ…¶Y)÷h/q CdŸ!@Ú-€¢‘.Rm¼xq¶·fÿyà…!¨^C5«È2b!ÍqÆ'máVµh.‹˜‹¬±‹üh“»†27Ó&;étÊØ„ eTÇ&?øq;B¥„‰5±&a Dh¦]M‘‘cÂpù—ŽWYuχ²RC†˜‡½*‘ Á/¥â:8¡/}!A°!ÖQtø_4 dþ8d´šY<¹•‹(ŽR@&Á®a.=Â$ôAhHYY>ñiFáÜ¥„Žåã2 Áò¨aSÇö7e4cesˆ$‰©Q6!†1EÈ=ïÓ›Üc06ƒ–4ƒhWìI’«qu3$ÍQFAr˜âYFÈu˜ã =(ÿøI]xHbÏK8/v"púR*±bÒ½ZÈ! Á ²ŒÄÞ¸!Š!ŽäøRC’ª{Èêx^ÑŽ­°¯•€B­Úå4½zkg ‘•5& ñ*^™c •tÑ4ká‘Ç ’ŽÇ5TE_©%‘L"‘¶„²«`ñ3/’L`…a'¦KóÒ!1žÁá±·ÃqbòªQA)C ihV…£( µ”…²ˆÌ1q2°ÉmU)™ ™®TÁ5˜y‘ 7 ‘˜ÿsUx™b€LËqÿš9CÞxµO»pX ]Fáv-¢¶âX®a+r'&„Qµ‰Éš¢jQ~ùp À-{m…©(‡‘.ÂkbaP ´Ó™%‘ù‘Øé„ÃABh²â5Q¡Oc¸·IDŠ‚ pÙ:"H+ÈE@Ôp.x*ÜÚ-žñt1Œk3BY¶òRè©{œ$¹˜Ðfœ˜ˆœ#Ñ8Ìé"ΉÐ (Ò¹p6'˜ËRªjжàv0Ba ļ%b¸AFp=!›†óšs pl€ó>ÂI¼9W bW@ ú%V *<¡c¤/Ê>Š¢¡á(( b Ž#š&*q¢ÿ{‡¬â{´k š6q^3Ã{Ïœ±‹3ròt£½@¢ \’8Jk/›Q,Úf´ö0ê~Þ¡”§i¬ ’ŒT÷Zc´05T×R'¢d¡4XYÝ»c ÁBBÁ¯r>V=“ñÚ“Â&µ£=*wêbˆ-Ñ< S!ƒa&'!d2„"c #V,ˆ‚0 Zç)PRÆ'†½—CL@ F¼Y,m#›§\åOlð³))á‹ÇåÓ"ù«Ȉ-ê¥F=˜eËb.ÄpÂÆÌEoÜ·YF8QÈk¡°½—IE¤µ: ¬ÈЧ¡Ì #¸ÿÔ`ʧŒ $pwÖÀÊ­Ì€"@,ŸŒ¬4ËÔ¶|Ëœ¬ËÙ0ž¾ ÌÂG«ÄPÆ|Ìý”ÌÊœOÌÜÌõôÌÐ O²<ÍUÍÖ PØœÍü´ÍÜŒOÞüÍôÎâüNä\ÎöÊè¬Qç¼ÎæÔÎîLNðÏú¤Îô¯”ö]”zÏ·0èHûÌÏú‡&ú¼®Ê#Ë#Ð ©ü ÒÜÐÏÑ-P ]Ñuxí¶ö¼ÑÝÜÑ Î Òã<Ò$­b¥Lm€,''¤mpaw&[{(|Ò~ ²A”Bê<:¢(Ò&Ôif2qG¹0Ïü#A t•›ÁÿN=»Öõ>«ׯž N­ðËÓ'À6½¥…-”°+“ë“KKC¢Ví—§”ÕŸ„·eŠòrª*TøÁÈKª¶jÒeÍSc±)õ›âMr¿c¨^®!(¦“ÕQ#( @4"‡\­ˆfœ çˆ5ƒ)!ÙÆÜÈEÌ‘L#ù„]Ø2%.C'иtÿ³o¦EÙrRžÁ:2Ô~²‘ðR_NRðf‡ÊFBã$£"Ö"IÖz²œ 3—×ÌH£vÐqØ­gFËN‚]MËM¢Œ-³·.p­ÛF×+-¢]ÚøWa,Yše£H–iÊAbHFŽÙnˆ §ÿå½¼ ðª•cœ•¯BàŒ­nÀ—‡ÞÇÙ¯Š™4½yÞ?VL¹p·ÙÐEöß%SLtumy²=!ž:|šÇPtP*5¸Åœ°Á(ÎLàiÀàM„a= 5k¢™n§š‰m0ÉfáºA—MÀYÂ]l­aB Îá÷&aÖÐpÑpÀß­g‡ƒw¶ƒäƒ@ø!&ú‚&hG˜DȾµôkÀ»9B<è$†¸U„@²›Ú!@nN„HŸà¨„‚KXcæT.@è<ªÓA h¦èËš‚ñ@ƒ0w‚ãA0a¼|4 (Q®Äqˆ#dœÿfA(cÄ×ÂèƒÀ‚ÀÚ¦2i0‡¾m‡¢’‡ÉÓ1Ž¾ë‚¨/ÅÞ{‡È»ø™ßÇ\à½rÂ\É£™.¬=×òë„$sóë3”Ôe86@†¸‡¸Éˆé´qÕ­TE5çÖæž G£‡TÀYÛ2ÂWaK4Šï0ÚßZÎN­ý_ô–vÙ‹ÁÈ\ÁXgøÀÇh¢?Í'¼$É5$ìÎ’{2Œg’¾b@"1Ö~<¤ˆ„VŒ±y&C1w|²—¤üN½Ð6ÿ®ƒ›5‰½a ]CÓüðÛ ¹ÜEÄ×’!)Àvàdzó³aôçBhbåØÿu±Þ ý¾à}Á:"“û8lr)oÞ—M :¿c<ïå¢p,ôo¸9¹ìG?—;ÿö5Ü+ìø¨€“÷­zK-¦â–­F7±y–òF½ CöxùñÈsö¸qh²ö¼6ä´U`vÙñ[ òué5&ŒÂ:$¡—[™òܬzœ.9<^¬yë3ô7 ,JrˆÿcÉQ‹íÈþø¬ñí©kûù–·öE·ñ%–Žôe@ûðûµX T¾Ø”â¸Ñ€)j´ ÀŸä2Ÿ÷™ô9 ¾Q[“çÓ&þižA@Ÿñ‘áIL@ƒŸä_e´&(ÈÀf/”¡UãïÏŸäRü`0ÿ`8!¢º²­û±<Óµ}ã¹¾ó½_@Lð;"“Ê%³é|B£Òé38,R³Ú-·ëýÞ 0g%ÂŒå5»í~;…†B¨‹ê„?cù ²,Œå0, <(–¦M^bfjòô)>ˆô ˆ,<¨mjU¾˜ž²¶ºr Œ$¶X¹1¼N¥º¬ò0 Œ t"9CD߈*/Mƒ‰Îøpt¯ Åh·  ¯ H6ô ‹ø¶4$˜«ÇÙöÜР[‚õ|<ƒâÆ#—$$Ó€\Œ |Ì‚`‘Ea( (ŒÁ‚ÿ- rðÞº)øA!Öâ`˜û"B“#cœ_ˆ|³ק"AU°{&Ì$¦R–úµˆ…ƒpû`*‘É‚¦ :" x€à"‹w ¤;‘ëY\ Ji‹¸ðÄY²±„ès A! PP TŠ Â&ÐÉ‚î'ß EÀÚ^8 lc Þ&à%Pˆƒ«ï4xtöèFÈPa òÊ{tfÜX{I{+-€Ú€mË*UGªéƒDPWNUÁ@€ÒX›hU²KP“ ©P@™É>*ä"²g5²sÀ­€øˆH²•`¡mÙ À9È—ÿÞSã-Ð;´,`wÿ `“Ì× ã Þ¹,ðˆ$+ì%@ °aP H >Í}… ° Jc‹5®eÏjdÐgò5dJƒXÝ2£1)2¶@ÊæX!”×-‘LÉzŠ©€(¡ÓgO¡AÀñŒ‘P.*؈Ž6 ¨Á"\êÄÎ&úØ›£´Î,¹h„xŠ §BðÒ~°‘ Ɇ `ÀU3Þa 8®Àâˆ90bÁðÒEe4 —/õé ‹—{AJJ'L*%Ì„Cl¾Â–«jì¯X2¡åyù˜‰6P¡µ¥ÿˆ³*¼×f‡õ,°(^"Øi­ @Õ' Ca‹¹+$Ĭ—¼ÕN+Kˆ¡Í‘0ö@ Ùpe¥A ´-˜*bŽ,»žÊl"œ2Rív)‚¬,$·@@Êkn5Kr¤´®¸ã)à`ÈtŽ9†< ªô-pBÍ\ÙÇ“½Æ>àÚìØOñBµé”ð”Ôl蘶j¾”΀Ix5À‘âµ¹+àýÕÐêªÉË;"n2é0½¨(±ÓÀÜL> Ô†¡0w§ÿ¢ÁÿlÔãÅ,e/g„–éEù%‚š_«Î^ÚpyiÙ·wq¶ „³ñ³3–’$Ý@ð<ªQI$!—¥Ç™¡…:Àï`»BVl`œdƹJb2“š$Ƹ²ÉO‚2”y|˜*DiÊS¢ L%+[éʬò•²œe*cIË[â2“¶Ì%/{IÇ]ú2˜Â´0‡iÌc¾càA&3›™ Ý93šÒ¼˜%§iÍkþ¡šØÜ&7½Ín‚3œYÒ¦8ËiNC’ ¾zä9Û)Ìoò BôJÐ58~Ø“!o|@Š*¨ ùdäuZƒµý>¿ûçÕÊIrÎhwÙÐÿ¾hˆ‰Q¡@úEÀÀðV»Â†#w¥˜Àe,`辘+ÀÀh}â3@Ú¡^¡<<µG2b*’Ô @FQ—ÙQ™®à)i˜y’NÀt„® i"Æ¡Õ#j¾ê`áCkñ¤@¼©E-HÐKrÂd.ˆ•ý ð’[pSa‘Zʦw!÷¦~þAZòØç°¡_r€‚øÅ$Ðë]…Î7#ãéC¥ÞSüÃÙF §Bêëã À9•"±,Èže+ê,zÕG°÷ãŽg‡0=©±Ï Âq ^ŠB×ø‰b|ʨ¦“(¢‚‘¡`ö™Ëb±_+Ø`:7ÿ¡àÊõTšMÁ©Î˜ù ø2 ä:€¾­ #|rÞ³‚ö½äH3êÞhD»Ž¢õŒ~¢Ì™D¡J”‚Q¸óãgVJ󨻙¹ù»ÜýD´Ž«žy&³ìX€  “hu„'«ÒH ±'n ˆ xºá$;ø0bÍ@ï&¡kÎhi¬COB¬wá„ﯺ8ZaŽ´=$ ¸úr‹°($93“¢“o‘’a.Q)ªƒL͇W]éÈâتLѼÖi­Ye#Àe»1 Í‹©A|¬‚±@`À…@`æ¦&N™$C²oGt ~ظLzc&.€ÿõ˜¸ƒKûÄâ€ýÈ1GCÉ'³ ‚2kSÍuM.)îgÔÎðIDNU .ó$ªîƦQ‡¾œÎµg&GœyüãO¸ÚD8Á0÷ ƒÜÂÎfÒ ýP¼B‰à-äPÒÞE€ tB4F=IƒŸipJÛŽ ýë5W+!q‹6‘ö§<+Ø¡0 ’5hÇdˆÂºŒk9•¨"žÄu]R«ÂL‚»%vÀ* §‘2I[ÎÓT¹}Ý'‚ó™ØQ“Ž3;qe—lq†`ÇjŠeí§üä>ú„¡é–ìfTcQd¡ž-.2œ·žKç"³‰D×`9Õh ËRD5GÿÝéZTˆ(ÓîÙG²L¦‘.]ï©ÕèåþÑ¥7Cvd½@ bÏÜÄ HÈ”)"ßÔX þhCEénCÞ㌢«éç6»§‡Í«¢!¦:ÀàЀR€<Ϥé *}žÜ*÷V–%-z' °Û4K(«¯&€^ƒµai !‡¹û”t»1¦ €N2B¿Ä»Q¶1ÁÕuOš»F‹0Åö=¾Nö™Hˆ 4žžÅ÷0í°àþ\ƒ©Ñvœ·RŒ¡R“'¹—tî/?g©–<ÒœŠiè:¥ëf Æ&Ô“P²6_´¼QBx e€XÀƒË€ÿÞÛYOÄü\·©’#ÒQÈD‰Ò™p'Ý ÚAÀ[¤CÁU›Oˆ'=ÇöhR8ÅÖ ±‚鉒£Ù€~Ò83pRrJæyI…µ)@û- /À_DÔÁˆÜˆB òŒÏ Ž8W!¨`(ýÅ ,+É™!<S)À6H0ÈY0ɬÖD‡Öh @¥ †ÿÁFê)€^ˆE>4ÿ $øÅbÆ,a[á¡lT í“Iܤâ K ÚCäÔ±Q'x•9ÀTIÁFM]†K<åa%Þ€ö±-Q¢p (0 RHA'f;1W(‚R¡¢+mÿbD!5-†'}D¸ 0 à˜%^G+þ’ûÉ :A->0ò‹.Þ/Ú@nÄZ À]åÍaÜFu9ßA0ãKÜE)”ÚoXb¤€ÍeÆ>ÁZ¬)¸6žÆú( ìF4j„ìE:¼Ãx¬7Æ ˜JiÐã+‚_£˜Xˆñ@ÂÑ% eŒŠ/#V ãC© — ˆÕ…O‹ˆÕõsÄ´Ý}HÂõ ZDˆ$0]ÆUÏR‘íBƒ|‡A„¬]&REjKÖ ²ÇÚ|dHæÃÀÀÈMöOà­]ŽK3D‚!þÈ^ô ÆA’"â\U¥dÚzŠ\Ñû©ÿIA¥œä°ÝŒŒˆªDlð’uP™ €ãì`£À@©„¹¥Ë¨ܳp‰ˆeájœ]>ÖaÝ T‹ï8|ÀƦ«¤RªCÆ@í9„•„NÐÌ•#>@æ(xKTH¦¯U lõžY¦›ºpÏZìÇ#éܽ@œÝ°Z{IŒ?¨ ”t¦?£Æ| ð´f÷ä¢b&ö€c‚PF7l¦dMæ½À«'ËWꄹç fL…æË8Z2Fþ% Õ Bj¾–ŽÍs†ÇY˜GÏX^rX m^ËúˆÈ$¦nºcÂ@À!X„hƒ¬ §µ\®­}†×Þ ØCZÿ\;¸Nb|¦tRŒßÜ ~ù—ThC®1 ÌMç±€€6Jb”É¢¨å€ŽÁgLŽ‰A ¼ÎµlÈKläg{ºg ò& Ö-°C]áŒþõ$åLµOcÁõèË$aXÈO÷€æfIôÏF EûÒê¹?(«*¥«>#M­êê%Øê®ú*&õê¯ +!ë°ëa =ë²êF1ë³jRBBë´V´Rëµ.¥³b붪‘µrë·.¦¶‚ë¸VŒ·’ë¹>F9º²«Š–j¶k¼º+*z›¼Úë@Ñë½êë$ë¾úë½kFýëÀºA¿ìÁfÅŠ"ìÂrÁ2ìÃê€ÃBìÄÂRìÅŽSÀbìÆ&‹¸òjÒK®¢ ž‚C «rsâ0™k°$ š"˜ì%̬¯žØ¤Ø€²é¼ØĘèU(µ¬*ÅÇ‘56Ã3ð ÒN À…ŒÁP½1ÿ¢G†#ÁP5ÕVuHWY­« •ÕKÅTÍê*ŸÕ†ÀZÀ¡\#MŪ2Á*Ö¡Çî0òWŽfM–õù~ùfÄ Áfuå:Öie©]©Dü\È[ÜUméÕxå–ha‹ñpbµ´>›V )QÛ¼¸í'dÛŒ›0 m1 Û-$Ç-t˜)hƒ8\ëøfŽÀW~µ‡NÍR!σCÁÍ ÂE˜õMØ‚–Ì…ÍMΙ+ÉчÉqLýµ-Q°Üt½\}h„Ì}Å…\„Íáq ÀÎhÏŬ³Ñ­ܬ%)‚4Ù“©Øˆ¦¦U”m…²ÊöM'÷´ž¸´Ù›…„Y½êÿªãm‡ÐßLžTÞ¸ ‚lÞ”tž¦¡tØE^ºj¬Ø­ Pn¤Ú¨®Ö PtpÒ&M gýÌývD°é¯cÖµþ üE^ÊÝß"äµñ_$üŸæBpèU%PDÇÜ^pd0‰u‰EbÝØCFêĸ ʽ•Õ ”(ݸÅYs~ÍËàg:dœº¼ÃaîF„ÊÆ>/(P èj®õHXˆ aàça*«ç+¿,¤ìé €Ô€]ˆˆ}tdbˆxÔIh s ¿‡°…ÑhTf±Òñîod˜Ô]í±¿àmã o)ÆZ²„˜†xÿ!a¢xðDp5ìë`Àúo´æÄŠ’Îdü?V†(ú¨ÿAýÆöD£œ"Ô2` ó@´û>{Æ"¬º¾Ç'øðE¬¬×mwlÊdŠŽkŠÀ‰\y‡o¼µÕ= Š+“– Qp´z»r«G;5©x°`’hY˜LÔʺ€(#í“LŽÑ"…ÀëûÀ+ l|˜æ¾Ê™xÎ;t£ñÄÉÈÁÊ!Ù QiÆÃTÊt‚Øß’±:TÈ¥´mk6v1PÁ$ Ä`ìÁĶaçáÇhàE\Ø<†À|"˜HüH껄s$½N8ÞÛkNÁ<Ã…ÿF¢t¼ªÝÉJQŠop£Ð BŸf}P ¥Æ(àJ}Q‘‡Q͈“Avt!½ ø #Ïháâù‡»ËÁ2åµ@úUèˆHi‡ÙÕƒÍW …E7ˆ—PiÜHi¬ô®e™Nl¬°mEk“ÃT0½‹ψ¦4pÊ癡¥€ž‘˜cðš±Yì»t£-p%/ØaiÅ¢ƒ‰¤<*i‰m °àª„Ú*DÄ ¥ ‹Ë}:Íë ÌKˆoºKnZ:À2`Ä,2æO—¦ç˜aæAË‘>lþŸZ*‰qØ‚ú¦štÂì?¿7i“´:Z.Ìý˜doÝk–VŸ½Eí~ðÿ=¼ø=$# &„ŽÁs&´é#²)”(ƒ€†Ä¢ñˆL*—̦ó J§ÔªõŠÍJ_•qðx̪‚°¹áB…p‚pBèbÃ,@îáü7Rr’"¨“6bV PhA ø Ó¢•©¹ÉÙéù  ÊåegE°š32Ð ñŠ:0fdpJ”{[«'9fGŒúJ´êòú+ŒlpÜ,*=M]m}}EšÍ„Éý .>N^®VZîmÎÞîþ¿…._oŸ¯Ï¹½ïÿ0 @sý<ˆ0¡B(:|1⽆+Z¼ˆQÅŒ;zü¸d#È‘$K¢Fi2¥Ê•úP²| 3¦8—2kÚ¼é‰&Î<{>Ñé3¨Ð @‡=³(Ò¥LG*m 5jŧR«Z=HõªÖ­ù²rý ¶×°dËrk6­ÚPh׺}›¥-ܹtº€7¯Þ½|ûúý 8°àÁ„ >Œ8±âÅŒ;~ 9²äÉ”ùÎ1ƒ9³æÍœ;{þ :´èѤK›>:µêÕ¬[»~ ;¶lÐ!;PKŠøB\*.%.PK\8–AOEBPS/img/admin_concharset.gifŽPq¯GIF87aÆ ç÷÷÷!BR!)!!!!B)RcŒŒ”ççïÖÞçÞÞÖ÷÷÷{Œ”œœ¥ÆÖç„œ½cµÞs”µZ¥ÖBœÎB”ÆRŒµZ„¥Zs”ss„{s{ŒkkŒcc”{kœ„{œŒ„œœ”œ­¥­­µ­½½µµµµÆÖ­½¥µÆµµÎƽÎÖ­½Ö¥µÎœµÎ”­Æ„¥½{”½k¥ÆZ¥ÆR”½9„½¥µ½œµ½”Ƶœµ¥{½”sŒ¥sµŒs­{c­sc”sRŒkRŒsJŒŒB„Œ1sµcŒ­R”ÎJŒ{Bkœ1sµ)ZŒRŒ½½ÆÖÆÆÎƽ½Ö½½ÎÎÎÎÖÖÆÞÆ­½Îc”Î9Rc9JZ9JR9BJJ99R99RBBRB9RRJRZRRcZZcsJccRRc!JcBZR9R9)99)Bs„”{„Œsss9ÆïZÎïBÖ÷!R„kÞÿ{Œ„””ŒR¥Î1k¥½½½ÆÎÖR„1cŒcŒµkŒµ{”µsŒµRs¥Js¥9kœ9k”9cŒ1ZŒJ„J{)R„!J{œ­Æs„„!)B{µJcs!1BJ!„JBŒc1ŒZ­œs9”„B­­”9„c1c¥JRœsZ„„k{sBcss9kZJZ„9)Ö¥¥Î­­½œœµÆÎB”s„sBc1B„¥œkk9{1!­cZµskÆscµ{sΔŒ”„ŒsJJRœ„Z¥„Z¥{{Bs9c1{c„{B){{!¥RJµZJÆkRc­„”ŒkÖœœœRJ­RJÆZB½ŒŒJ”Œ¥”sRkŒ”¥µsœ1)µB1½{{R”Œc¥Œ”Δ”­µZRµ1)1ZœŒ{{c”­½s”1)­9)µ1!µ{{RŒœ{kJs„k¥¥Zk„œ­”ÆZJ„ZZ„B9εµÎskÎ{sŒJBJ1)Æ{{µ½ÎŒRJÆŒ„ÎŒ„Þ”Œ„Œ”Δ”眜!RZBBB,Æ þÐOÁƒ*\È°¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(Mþ8° }bÊœI³¦Í›8sêÜÉó惟@ƒ J´¨Ñ£H“*]Ê´©Ó§P£JJµªÕ«X³jݺÔÁƒž5˜aI¶¬Ù³,A ]˶­Ûþ<Ð'@Á‚– ôQA£¯ß¾þ\Lø Ã‡ý$YœÄ‡@~ü ĸräË•3kÞ̹3c C‹MZt Ó¨S«Ĥµë×°[DˆP¡Û¸ ñÙÍ{·¡ßN‚ îdŽñãÈ“'ßü¹ó=‡¢KŸ¹òëس_'ν»÷ïàÃþ‹O¾¼ùóÚÓ+‡Ný¢÷ðãËŸOQtåçó›7ää·ÿÿÿí–Û€µøZ4ѨHi †æj<à„Vhá…Vø@¤âᇩ(#âˆÊðcâ‰(¦¨âŠ$’"‰S€A3è¡]åõÂ_<ÒXa„M&¤… iä‘H"vÙ’I,©˜g›5(¥‚T¢&È•¬ÅÛl³Õ6àm½ñÆ_wê]÷ܙ̵×^se¶©~pÆ)çœtŽçf™jÖ§çžð²Gr‰Ô)¨pú›€_R`m&¨š” rFA$fh饆0E‹œvZ⊠¢èé¨SxAc0ÜÀPÐ#þ ¤aƒ!F+±æª«¬³öêë¯@é$“P&ihUR‰e–Z6KÛ¢¹õ6¦pw¢‰¦šÕUçÜÜ"7è·à†;h·Ú±GŸèÎw â j¨|ÂG¢‹Ò(•Ç–¦Ù¤@im˜!ðÀmäpé†Sì£ð>¸4ìp>G,ñÄWlq>7¼ð>ï˜Z™uåÅ׫ý,®¹úHC,“üê®0Ç,s¬'÷:,fœå›ìjX6ë3´éæÛpeZ{-¶~J·-¹Ü¶ëôÓP“É´™æN—îÕï­ëmÔq¾ à¼.z/¾ùŠ–¿*¤­öÚ*ä`FeåaFl¯M=Sd¬wþÃ÷í·Ä{ëýÎ<§26à ¸êrɼúšòÊ,G>Ãä”W>yä˜g®ùæœo¾8ã¹Ö|s”eïœì•±Ù6tpåíÒH³9µ›\×n;¸³/—'Öéj}\ P/|"ļw^Šhnb»†`²e›½Ø¤\aýõØ_ÑÜfåÑöõ„~xßcþ=ø¤¯¾úƒ0° DìþÀñS¼þýøœ¯ á•ù@AøÜ_€•2ÉYNL e`¹:ðŒ å:‡9’…NtÃ"]ô•š× BhÔZë^;l--wê¹ W¨"gw¼C—ïŒã´â9x8¼!wx¼î$oyþ¸1lU¥ r`z‘¨B–ÈÄ&º-g‰ÀÜœÈD=ÈãÖ°=è.zñ‹`ìâX¿x¸%f£½¸Å,î¯pŒqè—^=΀3X ÷ÈÇ>úñ ”  +ç9 6îW7‹L±Fƒš×€iLËaÕJ¨¦ç¸0…,̤&½sIãL2:1ìÝ!ð#' ‡‡¨L%oh< ˆŠ¢óL·Á$LJ‹È¥.w¹ˆ1àû©XÅ+Ö☵X£2CàK±0!Pæ‘™ þUFŽ  û$•õ Ìe ÆIÎršóœèL':yÉN@öqÔÜâtU³Y)’ƒþpÍ#YwIR’’²ëdv6IЂ 4Mí %Ÿfhœê'P9T¥D'jÊá¼K7ÌcÔ‰H¶²Ý’¼4ƒLÌK‘Æ„¤ ]„ &ñdSšj|&¡ Ó0º4’˜Ñ5çØ£ œà§@ *P%04@ \8Ç ƒ¦:õ©PªT§JU©ª3‹g.Ý™@x6‚ÛÌ`ÃA}spÝ?×ê§? t «&;ùI÷(tO u(yŽ7цⰡs ¨*‰sÑŒjÔyUPô>šÒ\’A J:ÒÆ®´¥.­ieJ3DS³_¼iNGžòhTH­jW«‡*èAªmþÃ&‡@q>õ /Èžnw[ÕÞúvªW=§.ÝéÕxR°‚4 Y9p³ò9GcëZ­óVìÈõº*( ïJ†¶”© ,ñ´“äŒW°„-TØb“ØŽJiR.†|ÁAßúÒ· d0$°¡²)…‚;0ëRx8N°‚ÌÌ8ØÁž]°„Œ`»´8i“€MmòÈoH’ºT§âö(N±ŠWÌâ·øz(¾Þo}Ürn•«Å`çĺÜÓdéƒ|@ësÚ:déšÐ­ÕÝv—̵KÖÕjÜO^õ:U殼â¨E¿6{ÁÆt§Ô¤®à˜2›ùÌlÈ/þò˜áÌf>Á,RQ fØ™ÆȳžÙÁç>ûÙÏí0©ÌÐŽ?ºÏzÖó™áŒMhØ‹éð«@|^æÀ€€¦ <`Äy”AV9‡R›ºëØ„'\ÌêVkb¦6µ^l=ß– ¦®„ šÊKÄÚ4 g0b}j¹®@WgЀO˜Ú 9þj¸yçhº²$jd"4É[c²¸Ûåä'K'ÊRVr~$*Ðó¦rË âa_æ03hR‹@P4:Àï~û»8fr2üÛßÒ‡3ÄA†;|ãà†Ä'NñŠsC‚6ƒ.,Îq‰C|wx9þºñèH›ö/ žAf|ðÕrÚÓ#^j šJ‰JÄàikµÎuþj,ì<·/ j&âà ^[€A¯q0Nü"Gg0*1ƒ¼êLF*¡lmÀ ´C'@1¹@ûÍ>»Ž©mí,é湞Ü6·|&p'gÜxZîÌ JtÛg†TÞë³üV,–Pñ–·—¿ æ{G"ßúŽ¼ä£!h@àfPÇÁûð…‡¼áä½èGOúÐcœ&/½êGÿyj”£†´¤{ & é`9d*áÓÊF Sinsœ×íø?oqÏ“¯b¨ÞºèNíuÑ—rrˆÁÔ«þ΃Oxb&ð¾… °‚idËÆj,æ^› „8k?åÞm¥Y2ÉÅ wÞ÷/(–ÐïY3Jì'åõWvg^¨oò’QÍRo¥o“”§iàf š·yüÖy ÷y«·z§W©÷¥×z¯{>0{§:ðæPEð Þðð`P½|µ5|0Ps16+` 8 —€ ¢Pj®°¾Pj«†b—`jM„¥Ö 7÷Ë—bOÈ„(VsçPj6U™€}Pu}°tå¤uQ·}1~G°¯P~ãO€@•ÓŽà…p„¦†¡P 409}Hvˆw `mþ®A–ôWÓqBoE44Ä”8'(Äwv…nÒAJpb^( ؉w²ô‚à€¢1)à “ghøoØzÜ@‚£‡qèf¹8‚¶HÜ`‚°wf*ø3`0ø »0ƒÀ{U:(j<èƒ8„Cø„® ¯C8tX@„qð¯†(à «¶P…WøOèsãø”@tV¸ 8tM•¿ kP q fHNÒ§}T§}À¶Á@ 4àGÇuuèÐÖld—~3ˆ€è‡vˆ O@ßsÐ~>ÖñIie4Žxdß&P!4•¸’q²w˜€y%þ'ŸH^«£K>sŠªÈŠ’  ±ˆp ×!Ç Wq¢7q¸øŠM©i×q—”&è(8Œ~QŒƒ×° »€ _A–— јU3G|7§ÖŽß¨”j)„,`Ž)F ­°t,v…(ð M6÷–3ð{ù…÷˜»öTüèBXNÝç Úksxl\H¡Pj8P‘I5£@  ‘9‘éÓöÛ0 n/üD’%YI÷W]ù7‰,9›æá’ÿ§‰ E€2“4¹Cˆw(Šç3¨øo®•CÉyÓà ­G W ÐÒyœP© Õð”n&ÚþY ×zÖ@rÂxrY  Œ^É ÈÐr©…isÒx–=X|qy˜@ic—7gRkT8t®˜)v…û™k1àƒWŸ‡ ø¨ˆÙ½uù iHu2 v\ “ÉG–ƒlNÐÈkœé™~X‘‚è80š²@ §™š"i-­i’'ÙI±)›´Y£àq‰/‰›ø;º‰e¼‰¡8Šó:i:øÖ’œÔ ‹ÉÙÒ0 ÊÐzÛ9¥Ð‰qcUú>XJ¥ÚùyÖàhá™M¯RŒ>pž½Ð éIæžféTÔ8ŸDXŸ÷I…/ ŸBØbå((& wºb5w˜úTd8†þH÷ gØI¡2@~X p¨Gä¨I dg9"ú‡3` ¡y¢>’¢+êªÉˆEö¢±£—4£4j£ª*‰{w›¸É‰ë6^ඣêá›6)/`K‹§%EZ%9Фü¶¤ý&%‹@ Ê° Å°¬‹–hzÖ Ð­Ò:­ÔJ­Îšg‹¶¬ÅÐhW)ž}QŒ ° ¼p¦AêIÐŒÀ¦Ó(ŸkY„4°…tjåH§-¯{º ³&˜ùX…(† MÅ ÚTÏçT1Ý¡1 šGS|Œ*v  @4 å œi©Ÿpv¦@ 5ÀlZ¢NÐ> ¦ Éo›$ôþˆs÷¢¯9“«:³¬:;Í-0I«Ç'²úV£¤5: Š9t« HŠ»Ú€ÉRÀêù’_C£gŽq¬tV ´pµ´p­Ç°µ\Ûµ^ûµ`Ûµ×j X{µ«0Zf†•ß 9 :ÐDU`y›¦®ì ŸÔX§wŠ¯ð8¯w:tõX€Ž7— ÿ™¯ûú~KsJ{˜ †D7NÝl+¡‹ á÷¨}¨lšTWW© ðu•3 g×l~x„•Jº3 ŸP©Gx™Gè‡uàù²uùcÙƲ¥z³¤Zw?J³Â‹£ææwÕ¡WeÚõ³í1Þ…€Ç£<Áù3½š/þ “õš!µÜÛ½00 ª€µvL¶P¾æ{¾è›¾ê»¾¶0¾µp ¸ ºÐ­bJ{ÍXPô`1±®Á'ä„–(fìXŸ[X|Œ¸ºŸl¸O5t^¸k˸ºvN·…º~±6± T™¦V©“£‡¥æÁ“3 ±6¢3Â;9¥`™` ¥F §P 0»Y`jGà(‹š²±»q÷djEwÖ¼Â;³Ä[¼¯Š¼èa<>êBj¢ŠN´Ðû›¹ZŠH«pjp*`|Ç÷Å`¬6¨@ RÆf|ÆhœÆj "ª° ¬ aêaÄbíÙ¿mêTÌ÷sµ6cVuUþ¼HÑæ@ÇUÈš3»@ì—Ã,ºš-«-rç»kâ:B<ĪêB eG¬ça€LŒ-Q|¡,ÅâEÅÓû3L   ‘ðÊ°˲<ËjP˶|˒˺¼Ë¼Ü˾üËÀ̹< .0p¦¶4àl°ÌÌÜÌmàÌm€T¡æ¿<ØTöèÇØU5¦UÃåGƒ<…VâŒÈ‹ì~?vV,{&É-+w?ª’–|ÉÄ‹³Æ+Å-Xþ;Š€NÜÏÓqC / ˆÊ©ŒÅ*PÐ ½Ð ÝÐýÐÑ=Ñ-ÇÇì­ŠlF‚2™ÓLÍð™Í4¶Íätc‚\\œ#þÎöcL€ÎÐ5תMɼi×5ŠÉ’Œ4wõÓœ\ÕõdzRÔ´eD[ØG+œˆíÔŠQ=}Ü…ÙtŒÕ¿¢Õ–ýÍÑv\†þô+‰A,ŸaDõ–ÝÚš¨#§½ˆ3ºÚâm4à†VðìÚ+Yn<}.³í'|M5Jë½'º­³6¤Ó%&•nÛ窷éÊnª.Äéîé*žP¡Dïýâ¥.íÓnßqîÛ¿}Ø®þê<>à¹ÎÒî­.@ÑUîêžî¯Õîîþî˜ïô^ïPÆÈÇ|"Í]Ýïþþïðå´ï_ððŸð _UNnûðñ¯æ´ð#\n[N¿ñ_ÍSubɇïÇç/ò^þòòî(Ÿò*¿ò)¯É‚âém°4_ó6ó8Ÿó:¿ó<ßó>ÿó@ôB?ôD_ôFôHŸôJ¿ôLßôNÿôPõR?õT_õVÏôlàòµó·N°öb?öd_öföhŸöj¿ölßönÿöp÷r?÷t_÷v÷xŸ÷z¿÷|ß÷~ÿ÷€øz¿z0>p\¿Ü_/øŒßøŽÿøù’?ù”_ù–ù˜Ÿù}Oø†ïX¹øšú¢?ú¤_ú¦ú¨Ÿúª¿úÀù†áù'w Ïú´_û¶û¸Ÿûº¿û¼/ö®ÿúŸö½?üÄ_üÆüÈŸüºÏù€`øÁþ¯üÐýÒ?ýÔ_ýÖ_öÌïçÏýÜßýÞÿýàþŽïúˆ1Œ²/üâŸþê¿þìßþÞOøͯѳG³ïþöÿcßú¿ÿüßÿþÿÿÑ@à@‚ D˜PáB†#<„QâDŠ-^ĘQãFŽ=~Räȉkô\¥ иó…5$mÞÄ™SçNž=}þÔØÀP¢EEšTéR¦M>5ÚèTªU­^ÅjR¦J–.eƤy±áX²eÍžE›VíZ¶mݾ…Ëê\ºuíÞWï^¾}ý2ÄjSë×®¾Î¬iQ(^Æ‘ tYòd¢)_Æœ9ébÍ=+þåüYôRË£–6}:0ÉÁ2 «Àjž ÓÆÝѶÐܽ§†N|²TßSwÏ.áxrˆ¶™olóõ×Øy?¹;síÛ½{.\°³¹+ªðÞB»ÿtp@ 4PÀ¢Vì ÆKüˆÄ«lÔBþ2lÉ0ê8¤†rÁ‰D2I%—,rA&Ÿ„rÈã’4òÈ8¢„ÒI,·ä’È+»DrJ%µ³L$¿¤A3דÍdPE_lþ±NÑd¬«*‹\òË*Ï4’I2»D“K1U“M3m’ÌBÏlôHD }TJóãÑ«ÅROŸ¬´Ï=uQÈF]³RJ5³Ô.åÓKVÁTõÓY·t•Ë7Y$JN;TjÁ^Q6Á^|Ye5–ÅfÒÓÓPýDõÑZe¥µLX­½ÕÐSm%5Ö6¹7Ür‰¼°¿L}”ȉ„B[Aq5×W¿•·ÕxÏív^V·m³ß,÷5W`PgÝ•W^aD)ãÐWc}°âb-†˜X…£ª×ZjëÝ÷Z.íU`p NÒdHK½’ÜkCMwÇ“ë6w%‚÷d4µLtP~Iþ•ÔQs}v@ei‡ZÒŸ#•Ué–)M”i5wŽúé’ñ]ši>•Úi¤½>Ù˪nj®œZl¯¹2á…-VpŇéT˜bŠß®ón»7ë8M~?ηà1£îšÚ³ ·4çÀ'-»ãµ¯VüoÁ±e9`˜/µo]›ÅŠÏ=ãóÏC‡€tÐO/]tÓG?PôÔ_G½uØg‡À?©\¯2vÒMßw×GWôÞK~õáO/>xâQÿÜöΕÿ}öÝ“~yé™Çú×eŸ>våßûîiwÛY¸ƒý•nŒ‡­;ba7^ã½ó=uÞï?÷úÿzîÅwóø'»êéŽv¡ëþE'@íáoÚ_õV×<̵Ç$*‰ 4„ÎEyFúà‚¢'< ~¯€´cà K˜½Ž0+t` ½w=ØM0…âû C¶0z/œ!YH½ N°|p:_S䢌h~ ›“Þà&£䯆2”á'¨:ÒîŠ4¤àí\x?‹ž»!ñºèE/p‹;¤ ˆ.ˆA ÖlSŠyž …¸Çâˆj„à’GòÐ<áñ)¼.¾1ˆ´á 9½FJ°‡d|$iHFN^’\¤èʧ1¹¥O~ç{"ûšH'‰Ñ͉›±¢ý2™ED°–\#%ÙÇíyòƒŒ äuþ)F=±p<£äx’”¤dƒóy!o¹I[ªˆäe…‰LZúî¡Üæ'÷ˆÉaJÓ‘lää™=G~ó—èçCù¹Q.ÌHî{V²žõ¾öõEûl˜ùðÉ>øU&–œ%µøÉ?›a4g,#ˆÐB ³v»,æ4}>n*óCƒiæ3ob²s|4é8O ÑZΙ §åéGf/Ò›éÝiF[î42¥iE9¢6¦Š5Õé'‰T!þÔ¦M)L¿8ËrÖR£ ­¦0=Š¡™¡¤Žšjçª0Ö±V‰¬eEPâPV´H­gUë‚κָº•­d•+\þWºòõ®m+\ëÚ×ÁâÕ°oýk^ÛÚ×µ26­‰Õë [XÇÚ±—U,aåÚØÉ*¶°Å,^»XÃV–±‡%뉊ºZ¦4À¯¡½«YEëÙ¹Ž–²¤…ígϺW¾z6³¯íi'Ë[ÔöÖHƵ,ié*Û­ªK\‰ÊÇÉV׺×Ånvµ;Vân×»ßoxÅ[…îŽ×¼çEoz³«ZÖ¶Zê…o|#+ùž·¼Þ%l|›+³ÃˆT¬õpvï`˜¼’5p‚<^öº×Á¶Yp„«;` ïÁáÍ/|÷‹©®JGºúo…La—XÀ6qŠÜà·×µ*^0‰E,ãþo8s†Ï‡9H]«—Æ=Vñv²ß¨ÞÂú½¯î²·Ýío‰×…v§ÃÝîwÇ»Df]h§ÝêtÇzÞ?x²ï]&øƒÇ¿În¶Þñºá/€øÄÛ|ñ§n<ä5¿ùK~ò•÷ûÚ9?zÒÇþÜóˆWüÜ_zÖ·>ㆧ<è—®zÌ»Þö›¯’DŒ‘8L¤÷ù}E‚|‹ä>"»Èð“/’½Ç^öUýí¥Oxå¿úÉ¿>ñ‹O’ìG ûÒ=óë]Ä<õj|槿þ¶+ßûË?þò‡ïþøÓþ"qÿï¿ÿ~Þ‹_åU¨ºÂ¨€  =pc¿„»ü»¿ð›¿ì¿ê?ýó>ý³>ù«Àðã?ßËÀ ôˆ½ À@ü»ÕCÀ$;ľýsÀø»?ë£@샿ä?œ@ä@Ý¿t‰Àè3ÁÔ:ä½ œÁíkA$B Ì@%dÁãKÂäü8äAþÂ+|:!DÂú>ãkÀ%ì¿"ŒA ¤&|?û»z£t¬+ÄÂ8ô9´Á3> üÂ'Ã= Ã:ì=4̈Y[Ã)Á*L?9DÄ9Ä@4à ,ÃGtÁ#C0dÄ0ìCÝÄ”5D@* A8LÄQ<9ãB±ÄKLÅ>Œ@Ià 4Å¿ÌDYSÂûÄB ÅC$Å^ôÅçDO APìA^üÅcDÆÀD7$Æ74Æd„Æh5äÁ(Œ0D”ÆmäF’XÆœkì‘pÜEmìÆsDÇ4T9 ¨l Çk$Gg4Çt¤Çzlj ÇwÇ|”ÇÚ³Çþ¬GAÌG}t‰œQÈ„ŒFtGq,ÈDH…”È_dÈvtH0ȈœÈLD†ÌGxÌGÄ?2¤?äó=T´Š’DÉÀ¨EŒhÉIäÈ\Æ, €ÈgĉYTÅ&¤Ež !|É›J—ÄC#̈¡ŒÉôH‚t°ÉpÉøÃ-\DÔBŸè¾Uü ¤¼Ã<4J¢LJŠTCƒ¬É§ œE¯ÍÍ\«¼ÌÔ”DÞ¤Jâ¤AXÎÕÄMЄˆÚtÎç„Îè”Îé¤Îê´ÎëÄÎìÔÎíäÎîôÎïÏðÏñ$ÏòŒÎ¸Ë|”ØtJÙ¬ˆ0ŠTÍ£lËD>X¼OùÎGÜÉÉ”ÅÝ$ÉôO¾üÍWÜIá´Ï­Ì{µuÐ…ÐÏxÿÛD ˜Ç\ÏÁPpω€ÏàœÏ¶ÌJæLN2TËýäÂþ,Ñú\N]EÜDNåCþlM»€ •5ÜPö”@ËøP%M-ÔM]QÑUÒ M#mÑ…ÂÅþOUÐ%ÕÊ-»ÍÅЈxLGŽReÅ5ILô˽tEËVTÉÄ4L˜tA9}Ë%œS%-J;CÅ\SÄ|S,½;-ÍÑuÜÑùÒDSüˆ2ÔGå9B­‘z{ /MÔXT G…ÔO…9Ií@J•LÅTEýQðTPeU’UT¹ÈÔKí°Õ/ÝÔŠS¿ŒXÕVõÕ‹{Õ(¤ÔY- [5Ö\u¹ÀSÕ]ýÕfý·`݈Y“ÕD…b5V@ÖœSV^eVgõVyƒVuÜÄi5Vk=ÖTåÖoUW€ ×@¤Ôk­ÖZ½ÖlE¸ºÒn]×|·vþÕDÑXƒ€×ÂxXz9|}O„Õ×…µ6~µÅX½ÖX‚}ƒ »ŽèU†ÕXlsX‹V Ø‰%X‹µ×eÝØ“·ŽJ¥X‰í‘–%ÙmňŒEÙšÝ6ÔXmÙÂPžíÙ˜UX Z›%ZXSYŠVŠUžõYÚ Ù¢•Z\;Ú‰Ö¦Uh ÀÚ§íÔ¡Ú°-‘ªÕ;JÅZ­U®mZ¯mT°Û·å²ˆ«mZ´U[p`[ˆZ¸õÛ‘[WŸÍ[ØÚ¼E\@×™uÛ¿u\`ÄÙQUÄ-ÜÃ¥\ÅÓ{}ÜÍÛÈ…ÕMtÊuÃM[þÑÅ\FåÛÆåÜÕ]À}ˆY ]Ê%]0ÝÅMÕeÝÜå8ÏV•‹]ÄÝÚÍ\“ÕÝâÅ×UŽz ]=`^=^Ä¥€ÓåÔ¶5ÞêMä…Ýæ­çÝZ ð^ï•^]…ZܵÞòµ ìUÞïõÞÙUßèµ]‹è[ó•ßÚàÝhM_õe_õ ßdUÝøßÿ½ ôõÝöÍßïÝ_mí_òà¶úWuî^ý}ß„eà Þ ] NÛö=àz•ÙÛÅà`v×Æß 6à ¦ÿ%áî×ÏXƒNá¦àáMWæaÝá‡Ýà¦ÝËea¡íá#¾öXå]Òuþ€>€b(v"–FbÖ`u?àb.îŠp‚0c âˆ°â+&á,¦aàƒ6nãh‰˜ƒ9žc2ÖaÆEã<Ö;%^Y•ƒ1c8V9¦ã9ˆ2nNÖãòUcÏXƒ?dA&d:>ä;áEÖãFîŒGd'äB6dD~ˆ3ÆdÖdÍàäHŽcP®dÔÅXE.åâ=åÌHe1þäBnåéM]Aµ7ðå_æ`æa&æb6æcFædVæefæfvæg†æh–æi¦fg¶ƒôàc¤­7H¶åUÆeQŽR¦Ç:°ƒ¢‰ÐsFçtÆ °ƒ:@·l¶Úmîä[¦dpçtþtƒ¢‰å(t7xç-õãyöæz¶dø…åhtƒƒ>bðçܘęå@è9ÎeñýZ,Mè}Ö†¶x.Û€VåAfe{VèdÌhŽVŽ¦ž[yéI¦h’ÆèNA™š¶é›ÆéœÖéæé5aè.ÔMäf‰éo.h .Å ®$Ð+Í4%‰„^ª©ŸQ«›Ééé­æê®öꯆ’Ÿvh–\jOžèP>ê.éªøB·¶ âä ¤Ñú´©–œÉ™s!Áù’ëÀìÁ&l0ëŽh¡è¢&hW&Ó¶žŠ«ÄJîÓ@¦Þº¶k§¦¼ÖjÀÉë­þÏm­.ìÒ6íÓ.íÃ^éÄ6ëņiµvlÍý4tSGLÁlêÁÄíÛöI¼ljùûË»DÉÚ~k·DÌàì—‰nYQqnÀFíè–îéæ$¨’8@‚0QéÖ%ë×uénfì˜^k#žmÒó¶ÒìMôvê*õÌôî%Í?½„ïŒðg=âÒr ¤Œz(^ðð'ð7ðGðWðgðß©ë^$ íVÆîN^ï×®hþ_éLå<Òµ|RW´Ë$DSq#eMÒ¬oŒ¸oc¬r¨"'¦jðÇñ×ñçñ_p*€pìþ pý°ðY;kzþïØ&ÞùpÅÏßSãÌl&EÒ§Ë*Õ>/äˆר‰â¢Š'*$7ó3Gó4Ws3r!ò"¿‘#ÿn¢Öp™.oqJ,ɅﺞË&¥D¥L"Ò.Ï£s’qϤ—:£5wôG‡ôH‡t)@‚*ˆ"êœUì—éñ®bÈŽìÕDP+ÍtýÔó<_ïÑ,Í=%Ñ»&¤þñ!0 žD¯)‹’ô\×õ]çõÇô±fí5víNgòöp?ÍS(UjâÞíSov‡ÓÜn@½Ò4]väŽäB.Í ,ÁZ.Úú­ËR²q'÷r28w69Çp:'v]~eŒÎvs—÷yþ§÷z'°_Gì nmN7êbÇãõg{ø'ø‚Ÿ0tßÝ`wä$Oë Gàøx7ø‰§øŠ'2|_m}v~olwlx·øù‘W0Œçn…ßd†oØöxÙnÍ|v€>“ù™§ùš·ù›ÇùœW³!Axªxèˈh´^y‡áÆRp”Î$`×ø…ö~où&oÍ6¨æ«Çú¬×ú­çú®÷ú¯Ÿæ6Àf”Ge•¯sO7cPWú·ýyÊz%gy‹¦ÞµÇbußô ow¹ßeºᶟŒ·ox;çûö{Éü¡üÁ¿àÂŒÃ?{¿dÅ_|»ßw¼—z½wÉŸ|²§eþ³Ï{¿hÍg`Æw Çÿü‡}Ñ7eÊßxËïxÌÿxÕ_}·hÏ¿|П{ÙŸ_Òo Ó¿}ÔÏ}Ý7_Þg ß}Üß{á~Ö€æwþç‡þè—þè7þ%ŸzcW~ë%þéçþç¯þ¸GþÌÏ~ígþî7ÿóÿ~¢?XˆÿêÝþóŸþôOüö×Ý÷‡ê·ýãþä§ÿú/ÿû,8p ' >P àÁœˆc¬‰`ñ¢Å1rìÈñ"G’,iò$Ê”*W²léò%Ë*yNЬió&Îœ:wòìéó'РB‡-jô(Ò¤J‰æ©ói\¬jõ*V„ :„þ(qE‘º õ,Ú´jײm+Ò¬rçÒ­k÷.Þ¼z÷òíë÷/àÀsLu{R*UÁsµnmøðë=Ž ÙÒ¬áÌš7sîŒ2®âТG“.mú4êÑ…=sDÜ2õÁ„»B–,vãeˬwóîí[%h؇/nü¸êßQW¯Îx¡c¯mSÆͳòìÚ·oŽü;øðâÇ“fÎÛ5K粡+H ="õŽ•Ëêænÿ>þ–ÞÉóïïÿ?yæí†^sÂ=Ç•{µM&Ÿu+a—„JxQpqXxá@q¤aAfØá…~h‡šx"Š§ È*©·• %øU|Í—Û„þ9¦GG`¾·|G¨æñj6Þ=ül†O>ýõÛe>[è·&<™©›ý~I¶¿Jh~ö; qæýaD}4úY†å>RP~ ¼ Ø^ÄfR»*(BÁ%ƒ&D a¢÷þMÊÆ I8Âú.6¼!s¨Ãò°‡>ü!ƒ(Ä!±ˆF<"“¨Ä%*Q…éa!ºB´Ñ°ŠV¼"³èÄM¯WÕs!û`8j±Œf<#Ó¸饆zÄ“âÿV§Æ9Ò±Žv„-âÁJMywü# )Hå1*Püâú*Ö¾‹‰þqŽ|$$#ùüuðoü`C(ÉMr²“žì %õhI²Áñ…rü$*S©Ê:r‰Ë$W)ËYÒr†­¥õ (AFÖ²—¾ü¥ãnÙÅá‘“¦Ô$0“©ÌeæG˜môâ%ùK?2³šÖ¼&‹BiÈaö/‘Ø[$ã°)Îq’-ÎD‹ Ÿôq‚å|'<ã)6mº윦;å©Ï}’óœ§I§õîyÌXò³ M¦?Mƒ9t“F ã)*щ®2¡¥Y(C£8‡*²‘!#EC*R@Z”4 mèFÛÉË‘²´¥,éh0ÚÂÚpô›íH]Š;¸¡§>ý)Pƒ*Ô¡µþ¨F=*R“ªÔ¥2µ©N}*T£*Õ©6ÕÙ©hdªÑuª4œ:mSì`À’5t°C¶è"Å@"[LMNíÝô«ÙqC\ì*O8À j[¿‚H‡v•®zÕ‘êzX`À¯9£g`ÝM¸Ö$9]ìo‹Yx6ö¯‘ŠlD›R|®t³ùѬiûéØBvzmýJ4`ÏÊP±©åLb™¨ÛÝò¶·¾ý-pƒ+\%vö±lDçk%B¼­Ì–´^eë¼»¦åéuÏÙÇ–ô¦ëJ7»Öõ˜äà¤]¶a÷S³KIná’$õêp¼qpÀ’†+ßùÒ·¾ö½¯‹ËÚãþ3¹þ錚;Pjz¦vG£®í,‡4‡ÌinÛÛHµ`ðBkdáuZåHu’ô‡ï}oAÌÞŠ¿&>1ŠS¬b"êwƒ­m£ç`æÆ5‚Ù³¬m¡BÞ_Á Þqä*|9! 9ÈF:2ªŒV¹yN6 ‡KÜá)ÛPÊV^1–³¬å-Ï·Åçy1r÷[‰¸Æ»|noaf%ÍÉʪWÒ"ܬAOJ.2¾(Ü’({¸Ê~î3‰¹,èAšÐ5SØ ½< 0÷WÌÊ%3iÃ?%ÈMÆ.œig/K[ÁÚEƒ‹äæQ—ªÁ fr§1½¿B ÕIj5¬ãYÃ:Öµþžµn­ë]óº×¾þ5°ƒ-ìa»ØÆ>6²“­ìeú ‡¶Ù­#°ZóW¡1؃£e é…¢È䌩Smáɵ¹ÔrS5ªËä›ûÔ„A¦V»úÖ´¶õ®ï]ofó»ßþþ7À.ð+› 5C‚®¥íÙ]¹ÛvO™%=FJÃäÎ &òƒÙd÷XÜ%›ð"·¤ŽíørtøHè=k{³<ß-'8Ìc.ó™Ó¼æÿÂ>í/Wû¢×v¸¶!içv7çîÅ‘î`¶!ýÉâŽ7…™o’ùÜG¹GT®ï•×zëøþºÍÃ.ö±“½ìÇ–ª°k…w… þúŒ¹mæ×–7u^3Ö•ïSÏ«ãIÏsÓB&¯’3˜roÆzG´þò}ëzë^7;ä#/ùɇíûu;Œ±íð¸+¤Ûhg\'jQËnv#Ç{y«Žúî*黳]ÉUoÞÚ‘~èûÝW!¼ç½ï¯ûß¿øÆ?>ò“¯üå3¿ùÎ>ô£/ýéS¿úÌ·<µ1fÍý':Žo‹¿Z¿üæ??úÓ¯þõ³¿ýíÇ>ϵßhÍïó²û\ìÓã‡ÿ4$¿û   àóÁߢõœIýœæÙŸçÙè‰ß]Ý^ f n âžfÆ”bþâ¥]â–v ¶  ¾ ß‚ £YýÕ߶už N` ú^9¡!¡!&¡.!6¡>!F¡N!V¡^áÂÅÎ- üÙ ý• Ä‰ ö`f4@8.“˜á™ [Ý ‚_Ý¥av´UÝ!æ¡î!ö¡þ¡TµÁUÕ ÏÁaÞ_~ÅÑ!#6¢9b¢ÐÉ]"âÔ":"&f¢‹@¢¢xßÐ X>i")–â#†`V ~â÷‰bi™",Æbspb*z"(R¢Nš,î"/> -†Æ¨bC°b(zAõ"2ö"V£0*þ1â¢+¢Y2Nc,.£b£-¶¢15v#)Z£``ã:ã-ê`%~Ä%z£:~8†8> 9jãç}Û:Öc¶#`¼# Æc1Îã1Ú#@Š>þ…>®b9"b.N\@.$¤_ä0dÊÕ ¦#C^ä^ýâ56ã3šcBŠ¡Eb¤Hö“F†#GJäÒãH®$E9d_@$?Bã6Ž"KÖäD¹$_ÀdG"d4MþäAáä^è$Jž#FŒ!P&%3 ¥^¥%Eò _&*Ñe]Ø%<~â4¦Gö¤þ¦d¦bÒEZFÄ>2fcOÎä+N&hnRe.Freælfc¶å™ùdh¶&$¦\\¦Z$jjÒ.º¦n:lfEiÒ&jÞæ[ææVš¡q'r²án’”_æcŒEdm gE’e Du.çõæUÈæ‘ct¦¤VeuêD ¤@HAagv6'A>§w'xŽeRŽ§Ôçï=¦gÆ]ìXœ!ɦyš¦ùgwi‘ÅÞ‘ÌuW¨@²çCº§fn¦tæOÒ§ðà§8ÅuŽÛ½þ4ݨhX† (ž)Íëa˜¨ Þœ(Õ©^CBèKJèi§Q^R2$}âÞ†r(\x¨Þ‰‚W‰Šu™í'Þ!)ŒfÜ‹.‹Þ¥–vZwjÛ„¦f|Ò¤RŽ'æP@€~’!ž‘†h‹RÝ’9iªEW‘ªéß™›ž¹éfMiUT)tÚh^Z"uFÀ àžÂ…ELŇŽ)NWÔ™)ëhŠÊ)ÈÞ»yÜ÷€¨ÆÉéœÊhNÒèwÞh †d7riü)F€ B‹ÈŠ–jœ.jëÕ^’.)¢Âé™®[‚2(Ò©AØé{Rh–~æ–ò©Úyi á ]¦Å©Ô¥êѸ^þÞŪ‘!éÉɬªÛ=ZêPÂdÜ©®jª¨r*5Vg |*QH˜ÞÎ¥9]…kžÕ=ÈD×Õ‰)²>i»j¢­F=Ú•Úæ®Jc¯¦€v„°Y¹ªÛÝ©”i«¾¨š¹¹&©»®+#Ö+AÜkw~"\ìÅVhTÚduæ yDÀ*iƒ‚ ­úØìñ¼¦ìÅõ§Š,¥Žlì­*ÊF,µ6¥µŽ™Åb,hlx^hHðè€ê¸ªçIll\+9êìÎî+kJå ’DÔêX¤ú†ÿeÆÕ2$Ò ÅZé0-Ïʧx&'Ù*§ÑÒÑÖ@×F$Ø:mdž-Ü–QÚ®þíÒêlØjiÜæ- ÍíÍâë×Ú­ÛÂ¥Þ®-Õ¬UömÅþ-ÆÞ-¯®ãÆß*mÎ.nàçã^.îW"®×¶­¶æ(æ†.›D.Î*nÆV®BŠ®ê“æ¢%ç²-à~.·®.ífßu‘äšnÓÊníön»®ßznž¢£ïï¦oâ /d ®ñ6/!µn]¾nÝR.ï:¯õ6ô&¦ôNîéVïõ~ïv oçÆîðåì‚/ú¦GöZæöê.ãòkúÆo®¬ïb´¯òz&üʯþþýƦý’ïòZîþðùôoVü/õ–/Žž/7ðuáE%DéÞ¯Xâ­_0UðvÊFðþ0þ>-‡°ú¢"0®Gòzp7®¯°¹h0•šðø&p§. ×ða¸pÂ0ìÊð¿­ ÿðéàð­öJ w¯o*'q“ð5BÓôñ ƒ¤O1(1q8:1÷îîo+S1ßS¿/wq ñl„1êJ1'±³{ïÛpsÅo1èÆ1úÎqÄÔqë%˱Û+»oûñ³°ï0÷0ó2'òãÀ ²ž:ò CrO2[òc²îj²30'_®'3-(÷q%r'òIJ)S2ñªò*[±;º²Îž2# °,ïo)ß2,›ï.;p/cì œÁþ&³üóÅó1#sú*³$s(;óC33O35ë¯5K3*Çr6Çï67ó7[o8có8ç1+Ç27ç2 Ÿó÷–s73<ƒ¯<»³×óõÞs ç¯>÷.?g¥Øþsíô`n,A«®A»åt&tó.ôjú°Ct:s­-s;÷óO´BW´Ú^ô2g´@[0G‡.Dãæ;—ôêžôp¦´J‹.K7ôK¯´G#œ1;‹óL;.ßâÁMÓqN›óN›tMÀO»qPÏóuGÓr>õOïqRã³!35)µOÿ´"G³N[uÜötVKµ)‹ôA÷¬WÃ-XõV_³R#ñY?þnZßtDj]Óõ 0@W¿µzÆ5Ìu]kÀ]çµ^/'_ûu]¶PöWcuV÷59þ5`ãub+öÙöcÿ5b·5SvÞZö'BvfSu*sve3vV¶]K¶fiÇå«Gc;ögc¶j‹vú -nç¶nï6o÷¶oÿ6p·p7q·q7r'·r/7s7·s?7tG·tO7uW·u_÷ÐRl76jG¶¶ŠRY…·x7y‡Ll÷i_öa׶F·v'óJlwwh··{70zû´|³÷H×÷#Ã7w«wj7?´§÷l¯·€xñ¾Èx€o±‚ï˜ø€¶~—u„þ 3ÿP¸…'x†Ó®¤à7€{7„xA³ˆ;8‰k¶‰Ÿ87)„lW8m{x‹›ô(©ø|ïw?óË8‚—øŽÛø‹u‡y“r9‹9æŽ Ž_8C3y2÷x̸‘KùàªGFu•ÿø’c9áj9Ng@—¯¸mƒ¹?Shq9™?ø—£ygóÊšK5™×yŽSdy繞ï9ŸëŽl²¹Cyeô9¡º¡z¢ü9×yÜ9C#:¤Gº¤Oºsø×¢ºâPº¦o:§wz]Ò(£7º {:©—º©o:®~b¨;ú Ÿº«¿:¬‹wª?Àªz¬ß:®çzýÌz­gº®ÿ:°;þÖð:£³º°;²';­¨»­+;´G»´“³çn¯ÿÏ´g»¶o»iT{é^û q»¸;¹ç…·ûí0º <{¹·»»¿»@œ{âb€º³;¼ß;¾O»¼{-¤;™¯»¯ç»À<°ï{Db@¿ÿ»½<Ã7¼«<9"ü¤;Àc»Ã_<Æo:Ä"Â#|T|¸g¼È¼¡oüt<ƒ|‘<Ë·|y›<Êc€Êw”Ë×¼ÍgÌ£üÌÛÔÍ÷¼Ï“OÎwüÎãùϽыNЧüÂ=Ó7½Á$½Ì/½ÓO=Õ/ Ôý£W½Öo½–\½Ôs=؇}xx}À‹½ÙŸ=q½Å£þ=Û·}i¨}È»½ÜÏý_ÀýÊÓ=Þçý]Ø=Íë½ßÿ}Uð=Ï>á¾à}á'>Þ~Ö+¾ã»=ã·úãOþÙG>å_>Ú[>æo>Øk>ç>ÕC½ |=è—þÍ‹>雾ê³<ê—ýê¿>É·þÚÃ>íg¼ìÇ}íç~ÃßþÝë¾ï<ï÷ýïÿ½@ûÆüè»>ñ/ÿ¸î"ê3¿ôK»ó—.ô+ÿôg?´W¿ß^ÿìk?ø';÷Ï;Ê'ÿ÷‡?úüñ—ô§¿û¿úøó;ûcÿû×ÿ©ÇÿÁÏÿùÛ?ÿ“:þG<@`ˆÁƒl€aC‡!F”8‘bE‹1fÔ¸þ‘cGA†9’dI“'Q¦T¹’eK—À˜3sæ X0aÂ…/:”hQ£G‘&Uº”iS1iÖ¼™S'Ïž fÕº•kW¯_Á†ËjT›8u4x5ÂϱoáÆ•;—n]»w!–¥y–ê@«WÝâ<˜paÇÏÕ+mÕµ€G–<™reË—#.žÃ7íßž1‡=štiÓ-5sv̶íiׯaÇ–=:õÔÎ?ÏÖ½›woßdešµ½šmãÇ‘'W¾œysçÏ¡G—>zuë×±g×¾{wïßÁ‡?ž|yóçÑ[¯ÝØ/î„¿áÇ—?ŸþÇõn³Ö¿Ÿþÿÿ PÀ ,ÐÀLPÁlÐÁ!ŒP )¬ÐBïËï 9ìÐÃA QÄI,ÑÄQ 0CâRlÑÅaŒQÆi¬ÑFWlïÆyìÑÇ RÈ!ÙÊq'÷ˆLRÉ%™lÒÉ'{4R-(©¬ÒÊ+±ÌRKÖ¤ôlË/Á SÌ1É´°K$ËLSÍ5ÙlSË3‰„á†#è¬ÓÎ;ñÌSÏ=ùìÓÏ?¸† %èÀÐCMTÑEmÔÑG!ôP *´ÃK1ÍTÓM9íÔÓOA UTLí¨tÔSQMUÕQKuó@8…ŒAƒ7ä¨ÕÖ[qÍU×]yíÕ×_•ã b˜PþÍ(•°;’Í;ê˜ðÙhC›¶ZW ŒÉ 'öº ?¼á :À¤ã&ì YàWÞyé­×Þ{ñÍWß}ßí`B7’Üø7à/.˜[½ý–1,ˆ8b/}\ŽÍãCõ8äe=uÔûq­Ww]qÛ³žB“ç®]õ}q×7øË÷f÷Ň¾uÔãíÜsþ@§Ù&.ýFÄQÇÝöí™B¹{_þö¹u{v¡ƒW^üŽ]W?dç͇{Àñ˜G=îqqàãüˆÇ@ªîŽƒÌ£YHEþ‘‘Œ| ß" GI²qŒl¤dÃhÉJf2œÄ¤$ãâ91’ 4e}çÆOzÒ’”¼ä)å(J,îG‹\¬^ a™KOn“¯Ôå)éÈ ;6’˜zLdk·H@*S‡df1‰ùHã•ò—¼äå%5™ÉÚí2›¾ü¥,KFÍjžÑ—Ùdå.W9Î3‚s–EÒßÓLØ?!Q“\ã9ë Ê`.h˜Ð,æ1ÙÌe. €ôÝ3ýùGi’2Ÿéd¥þïðÑn6”»gCÑùÐm~›-cEÛ™ZžÐpדƒGßXNn¢ôûTÏ(S™Î”¦5­inJœÊt§;ÕiL}ÊS›Õ¦E-êBT°†ªÔ¡åh'ŸšOBð¢eª7ÍÙTŒN5¤©<ƒDO–š±£èôæX]š ˜•­E jOg W ÎU¨o¥k[ñS¤&H©ù|¥+¯iÖ‡:uœ\æX›šÕn±†mçW»ˆKÄ’uuÖÌ(bÓŠ µæ•³µ‹ëê~êSÑ‚¨¤ý)gñºWõµž©$ãFW¹ÍVFU«¹tlR«ºÔ{jS•O­ìdo‹EÈÞržo¨Âqþ‘›\å.—¹Íuîs¡]é"÷ pûP›]ín—»FUí 6]ñŽ—¼ånpWó®W¼q`oyÑ‹¿á¢°¸ïµï}ñ[ÝvE »ýõï‹ŠM½ø5ðÅ_…Áøuoƒ«`ÏÍ·¤_4.„1œaýöŒ¿öð‡·+à8Ã%>°„ Ä`—÷Á+>.ŠÍFa/ÖèvñͻḑÇ=>êc!KÆRñ‘¼Ü"¿LÆþ³q’¡|\ÏQ¶rdH^9ÊKБ¹,d/s«ÉB2¨f5¯™Ímvó›ág9Ï™ÎT€ÃºÚõ€*‡YÈx€–þ¯:šÐ…6ôœá5ʤ úÐvô£áœè®^¥ÌA’Õ0iMošÓöô§AjQ:ÓÄ2–ôL@UÛëÌšq&çÕ ˆõ—fÝ€I“ð‚Û"Ig\£Ì PÅ6ö±‘ݧ‹BlÔ³¡miKŠ jê°mm‡ª ÖÞö·Á­ínïZ¤½]<#Knu¯›ÝíR¥ÝoyÏ›Þ ‚w½ño}ï»iææ_ºùp|ß÷&øÁžðÇúÝÄUøÃ!qW\â·øÅ«DqŒoœãà Vœä%wÑ|Uଜå-_y`s™ËÜå5·ùÍqžþsïœç=÷ùÏo-l \èÂÑî¥/éLÿÂÀõ§Oý a°úÕ­.­oë]÷ú׿>±}ìd0ûÙÑžvµ¯ímwûÛá÷³—îfˆ¹ËÏw½ïïgpyÌéxÁžð…7üáŸxÅ/žîd'; yÉOžò•Ÿ|0ŸyÍo~ójðüçAzÑ‹>¥7ýéQŸzÕ¯žõ­Wý`{ÙÏžöµ·ýíq/{×›¾2ܹC.±¨ÀÅ7þñÏVä/ŸùÌWÁó¡}éOŸúÕ·þõ±Ÿýç¿€ûÝ÷þ÷Áþ@ßPˆ‚П~)LýíwÿûßßæþåŠQõLèýñŸýïÿŽ2-¾ Äï`` p¿ïùŠO¦øo°óÈʬ ­ ù(pùZà10¯à °=ðA0Ep½¯MðQ0e ~/NèaPb.`icðm&-tpy°}ð0-2`‰°ð‘0 3@˜ 7€8 <à@ ¬ð C´p ¹Dà E`F€È° Ë°J`ÔÐN  Û0RàùV`é°éñôp÷0ý+°ùþpÿ0ûHð¹oc@f€.À”€ q`)±-Ñ™ðl hþ d b EqI±MÑs UqYQ\ñaw`x y`9z }`} ~àñ`‰±qƒ •1„ ñ…€†`©±‡€ˆÀ´‘ .±½ñÁ1ÅqÉq“ÍOš pŽ€n¢*o°åá1íññ•pùñ› “ ¥ ±ð »ð Á0 ÇÐ Í ÕpØÐ QN@íð"Wáù30Ñ#ýPûQQ*€jÀn@˱5à4ñh`>1Oq'y²'O‘W1…rmñþ•#{€{1™ò’—q¡q*­Ñ±q ŠÀ¸1&¹²+½ò+Éñù¤ Òñ[ž@ €èñåqÛòóq.é².1 ñR ÿqÒP¨° 2 ’ R ²!Óp Ý° Q -#ïP#9²E$-S‘$¥ï$QUò•à%5À+3q/ p}òGp5]sR(e‘m‘9R)}‘)…ñ)1*¥r*Ÿ±*«ñ*³r+Áò8‘39ÃR,õ„,¿å`@&â2bÞ²¯S.í²;½“ó2

bÕ65TQ5U§SYµU]ÕU%@`R"àVq5WuuWyµW}õW5X…uX‰µXuW W   ÀœõY¡5Z™uZ©µZ©õ°[`[¹µ[½õ[Á5\Åu\ɵ\Íõ\Ñ5]ÁõXU]Ýõ]á5^åu[³µ^íõ^±•ôu_ùµ_õ5_ý5`–_Ùµ` ö` 6va¶aàa!6b%vb€V ;PK+9”s“PŽPPK\8–AOEBPS/img/adminds2.gifïV©GIF87aÆ ç÷÷÷1J!!!)!!!!)!!B1ZcŒœœççïÖÞçÞÞÖ÷÷÷„„Œ)J)JcÆÖç„¥½k”µcµÞZ­ÖR­ÖZ¥ÎBœÎB”ÆZŒ­R{¥Z{”s{Œss„{{{{ckŒckŒZZ”sc”{s”{kœ„sœŒ{””Œ”œŒ¥œ”¥¥”¥¥¥¥¥­­­µ­µµ¥­½­½½­½¥µ½µµ½½µÎ½­½Î½ÎƽÎÖ­½Ö¥½Î”­Æ{”½RŒÆ9„½Z”ÆŒ½¥Œ½œ„½”kŒ¥k­{kœsc”sRŒkRŒ{JŒŒB„Œ1sµBkœ!RŒ)1½ÆÖ½½ÆεµÖµµÖÆÆÖÖÖÆÞƽν)Rk1BR9BJBBJJ99R91RB9RJBRRRRZZZckRZkBZk9RcBZZJcRBZJBZB1R91B9)BBsss9ÆŒZÎïÎÎÎBÖ÷1k¥RkŒRsœk{¥1ZŒ¥µÎRcœ9cŒ„”µ)))1cŒkŒµ1B)B{”µs„”Z{­Bs¥9k”J{!{Œ„)1B)9BZ!J!R)!J)!„JBŒcZ­œs9”„B9ZœÖ„c1Œ­¥JsZŒ„k{sB„„kkkk9JZ„”„„9)ÎœœÎ­¥Þ¥œZ9”sœµ¥{Z„sBc1B{1!­cZµcZµsc½scÎscµssÆ”ŒsJJR”ŒZ¥„Z¥{c­s{9k9c1Œ”ŒR1Zk{RRc{)!¥cZ½cRÆcJœŒkck„œ{!­RJµZJ½ZBÆZBs9c9RsŒs!œ1)­B1½B1{RR½„„”ΔZRs{JJkµk{{cs”1)­1!­1!½1!{Œsœ­¥Js„k9Bœ­”½½½½RJÎZJ„B9½ssÆ{sÎ{sÖ{sJ1)Æ„{΄{Ö„{ŒZRÖ”ŒÞ”Œ!JÞÆÆÞœœ)Z!R,Æ þðOÁƒ*\È°¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(M.8П ÈœI³¦Í›8sêÜɳ'Î@ƒ J´¨Ñ£H“*]Ê´©Ó§P£JJµªÕ«X³jÝÊ•©ƒ>m(ò¬Ù³hYšH˶­Û·Åx A€ •]J°$ˆß¿~Â@¸0Bˆ#YÌ8±cÆ‚L¹²å˘?hNĹ³çÏAˆMºti=zEYͺµëÖ‹ý™MûÏ Û¸oóÙ-¥·ïßÀƒ ïͨ¸ñãÈ“+μ¹óçУKŸN½ºõë¿•kßν»÷äØÃþ3ç#e·ùóço×^»}kÔ¦IƒžŸHóË =èÁ¿¿ÿÿèß'ð£ÊÈÊ‚ 6èàƒFè`‚^!†H\Ѓw $ˆ>&b‚V˜d(&fXŠ,¶è"ŠHH†YeöÑZ|8Ž†ZjŠôøڰɶžm¹é&^vß%ÉÈ‘L6éä“PF)…’TVÙ”L¢§ånê ùG{±½§GŽ£Ùè™}”YðÈ~¶éæ€R˜`?tÖiçxæ©grh!†‹ýÀ!û`Áˆ" 6˜‰‡¦"!Œ**餋2j饘šø¢Œ–Ù·™™ž‘)j=úä©` 9[nä]g¥wþXÆ*무†÷ê­·Ö*Ý’¾-¹¥yƒð1ˆ—©Š)ªh r¦dj>@Å›5ˆp†1Ôs†5¸I ºtÛm>à‚«Ï¸ä–kî¹è¦«O¸àz«ËaºX$€}! X‰™š8)‰A"°¾ˆRjðÁ+Ú¯¥-Òø)¨Ç‚À£©§)n­îŠë•ºvìñDZn,òw /YÜ”¼šl²o¿¢7,{`{l²õÝ·X³>ä¬óÎ>ÔpFfUqF <ïl>ܺûm¸ê6ít¹ìæ£ô»ñBv‡‚Jð¾•^*©_‡ Èd—m6Ùb§­öÚl· ÈÖ\KºpŠ”= qÄ£îH1þk Ýȃ,øà„OøáÚéÊ+ÊI²Ü²°]Ö3kðÍLó²jZ°Ãæœw¾ƒ@ŸU…žwÞC%WÔ£z=ö´nÏ=°Ç.{ì&TkŒ ´ÛŽûì¼»Þúê«Ð#ïÍ97`™~öÙáüóÐÁüôÔWo½õn‡­¯Üsø˜§4fš®Ùâ®þúê£ïþÉŠ«üjy-GN›{®ñå¨ÙC  }´D`h àé®Âcu¾ãìŒÁ’ÛÝ£v”`ì|§:Â#xÃC‚Šw¼¿XêkX٢Ǻð…0Œ¡ô®GC³­`üêWÃêæ©„j4þ­YUÆzõ¾í°ïˆH,YG+ùmŒq¿²ß—ðG9¼ Yý{DbHA€Z$ˆ1¨@Ôy0hŒ‡<Ö(y¸ñoÄ å(ÛÁŽl\cãá@U2#„ñJè l*$› ÉÈF:†5¤žÚ¶6©…1 1HÄX#Dà,1qI ¥(CöIÀÍê“¿²ä”¿X1W¤ÿ¸8c8ϵ|áé¬àAxì‘w¼#ÐÅ:– ˜oÌã=¨ J„0ƒQf@ÍjZ³šh€  ±)2z}çÆIÎršóáL§:×ÉÎv²ó‘ð|^$™ç6BÆQ™þäŒh8y›à”<£ ¨@ÅóÏ‘²”©\%+)§¿ýÅ4³„ázà€:ã–¹tá.{ùË5"ŽÃã1?:e¦‘™Î$ GÔ€:¸ô¥0õÏK%pˆo>/?ØJÇSÏó§@%§;‡ÏEÎS’ÙÓòCÂübA‘3ЪZUcSÍ–²Zœ-Áì5 Ý,!ªÅ"bZÅ@p†Œ¶ ï°B.ráÀ[Øõ¸È«^÷Ê×#€¬1JÀ×Âîõ®ˆÍE3Ÿ¹RÉ.éfó 'Ní²˜Í,Ï8—3ÎõœCíCQexTì±íž“Ñ'T³Û ‰«‹»þªlgKDØVi«°ÕÒËî·Ð*¾’¬;˜dQŒ3œ2À0SƒY¨âÐ.tÛA]eXWîÈ®v·{\ÊÄ'pv·›ÝëZ—ºínt·± Æ Q-ôjà@à¾è Yèu°ֱ )höÀEƒÁ&`N\Ö³A ' à @“œáÈ!ˆr” ]ŒãXÎr9¶¼esxùË`þò7¼ëc|#Ìhö2þ—·œå,çÂî&`{O-,/Íï~»ÉÂ>üÀR‚­Y;Á: ª&ì tbØ膇ð¼iØÄ@…š‹K;oŒž¬:0=xbÓª§gâUWïm,>Œ‹W c©Â¶Æ¸ží·UÆeÕe ý±‘Å™!çáØÈF²‘Éì8¹Ê62•­Üf,o™ØNs˜Ç\3kûËØ&—«}7ǾBaóÌ$=pN?ZЄÎ7Ï ­ïœ™sÂF§¤/!…A¾@èD&H­éæ½þÄa‹LÁy×k5 †OÕò­Ÿµq®þG^Õ]à ·ÄÉ-°V ¤°ŠÕ…²gmcÜ#°´£]äi_¹Ú×Îö·ÍÁm›xûÛáwµÍ­Ò÷Žè±@8/œ@u^´;°è/æ]ï?:g“ö&2q»À°s† ƒ=ÃŒÆ7¿uÖvµç ÐŽ»95±p¡öAá˜4ô@ ↠qÅIýÂN ãeF#Ô~R0xšÙ2/ùtLžÑ©}êÇc,ã‚’üô5ùÉ¥dr`÷øGŠöa.ó™»æ77Ï‘ìsr‹[Üåú˜o›çþÌß^39ÈÍtÈ@ÝxÕÀ‹^< ï¶8¸þNY{ÝaoûÙl‡!ø`Ñn»ƒ<ÃÀ7h…Ü7qh±Ûaý›0¿%íöû œÓh~jD xÏó —i›–i–i¥Àa0D —f6’·i§qy›'A yáÀhù$¬µ~Sz¦‡z*xDª—>Q¢zéÁr@{VD{¶—lH6-Ôòd»'mUösm|]¦mÃw|Æw_G—f\†mÌgM'gAgUÇ Õ7×lÜÀ}7å}ø~÷wwg~—09ð~:hh~ûF9ã~kç÷f æn(€êD€è<hy`Á°€1”wC°þe3 ¥€¨Èø6‡Ð Œ0k¬e¶f[+¸‰íÓ‚F„[&G?\òz-‡76˜=XdG¨{©X @à º@n×€ ´H‹Ùp‹¸ˆ‹GX|ß Eˆ„¹˜‹µX‹ä¶ Nè|5gpÔW}½`}åRõ%|Ö}^×…c(v™w÷u“†a w‹6‡:3wàÈ`vo;pwhayhD€€˜Æ‡‰§€Ícj›6ˆ$ÆBg#RÐÂŽ‹Øˆ¸ØC ‰¦À –Xk(8Uœ‘ƒã‰ Äz-(ŠÂÂ[Cƒ¢B{­e«(e"9’!Ö  Y6ŒÃŒÁ¨ ¶£ ¸èþ’Õ“,y‹*9ŒXÆ^çötð TØ ¾à IÐn,XÕ¸…×øvæ7v܇Þ8†aW4îÇ9cŽÙÈ3÷6NYIN€·Niò8xvðx†‹ ×BÔ ™ðÂàjdCš÷ˆ™$² ¹'˜rš(‘~é1¹ Šô9T{ 5@’Œ!I’Í™’ Îð\ê%]Ð š ÒЙžù™ š¡¹™Ñ —]ºÐ^Oˆn> ”¾ð CuàØGé<âtoJ©M©›“V‡˜Å”UɆtø~øæo[Ù x(a§–N@€€öpó(ˆ X–‹‡Ðs=£þ`q¡°ˆgÓˆÞ ØH@ •¨Z—¸—¾vkùžM˜T5˜»Ö+7½UŠ8Ò]PHP{  ÅP-Å0 º{°@p ª€ È@ J µP¡Ép¡æ•¡º¡j]z¡Z *¡ª ;éXPÎ3ä”͆_µy›î˜”b¸”ÛØ‚v‹¦†–À ñ'hš@Žsw~姕DðÊi‡Hhë´höœ Ð€Òé<—–@ ˆdÓi¨Ö²@f3 ] qA ¡vbzhy‡hyŒ¨Ðw¦pi.ÆZQàZ)rðÙ§/(ŸÇAJY˜þ»u˜°çr¢á`Q'\Žj}0 «0¡j ¶€XweXšº©‡…©wU¡s¥ s° 'ªŒØgX2a›ôVoºY£¼‰£°J¤jçx£ÃÉ å´hµúwLê«-djF¥'6¬Îó‡gJ6fŠb‰ˆŽsiyæP§åyW §À§i`P@êÉOžTŸ~Z®9¨Æa‘iŸ£ˆŸù)l¥q; CÓo„– XÐ'«°¯û*!þú¯ ¯ûš «  $@ ;«É“¥…HùöªY›óYGT£Å)FOIµ±aã±ÖTᚧìÙž\e®(Û$èš®P²þ²¢X¨ï ¯£ŠÚ…p³8›³…ð<Û³> @´B ’P´F{´“´J»´LÛ´Nû´JK G+ “P =p•ñ|#‚ˆÐµ^ûµ"¶"€cÓgâ±K±¡ÕN«–›Tö·«-6²Qr{š‚)»·Ø±²ðs®òÉ®©‘³@‡à=`ŒÛ¸Žû¸¹’;¹”[¹–[¹ ›µÉhBL…"þ"Þ´[ègk[ºëÔ¶tT§·KeI˜B‹yI²Â¡z|{»Õá·±å$è*¸†éc…k¸e#hò¨Ñ"®›¼–dZ{<†(¡kS¨;½ò4O7þ´=]“¼›²½,ò0£§z:®¶‹»äûº»»L¢cëJ¨2¼)* ²,Æ{¼)¢¼ö‹)šëtpc)#’HfC½û¶×;"Ù«).ò=à> œ,ß‹§wKzÖQJå;Áçã·²¸/»[S¼Âk9Ä+¿ó‹¼÷;Â붰“)Ðë¿[ZÙƒ½˜B7¼Àš${4\¥âxÛ²¦DÁ<,¾€zÁÌ%¿ËÁ«¡ˆjñ ÂÆë"$LÂ&Œ( C0lƒ6«TÇ£0—²CHàTô7¤R*`ƪ±7D\ÆA”Ãc%=¼Æ&»¾êº¾À³f|ÄHl&Jü¨LÜÄö;ŒÑ¼#âºþ±· C)–¤Å[ÌÀ8òÅ7lÆŒì%ŽüÈ«‚1¸zlÌÆ.+¨p 90 ¼lÄLÅÂ,¢ÇÊËÇ‹áÇœKÊ,k®»C˜dÊŒa7]L&`lÆ\$¸œËÁ²%*H2•üËm<¾ôé‰ìŠ=ÆÉÁKÇ¥aÇwì¨yLÊ ƒŒú{ÂÐܹÞ㨲l#¢¢7dü#ªÉ£%¿ìËÀlÉ?ŒÉé8ÆLŠ,V<¿‹Q¿Õìº}¼¹A°¸–û&ú¼Ïü KhikN¦{º\кÐÐ ÝÐýÐÑi«Ðl{ÐKÑ­N½HìtN–õÏÖÏ"=Ò$ >`§¼þ¹= ÐÒ.ýÒ0Ó2=Ó4]Ó6}Ó8Ó:½Ó<ÝÓ>ýÓ@ÔB=ÔD]ÔF}ÔHÔJ-Ó:ÛÔNýÔMmR=ÕT]ÕV}ÕXÕZ½Õ\ÝÕ^ýÕ`ÖT'O¨lXj½ÖlÝÖnýÖp×r=×t]×v}×x×z½×|Ý×~ý׀؂=Ø„]؆}؈؊=؆Є B›‹Ö‹]Ù–}Ù˜Ùš½ÙœÝÙžýÙ Ú¢mØýØ)=ÍA@Ù£½Ú¬ÝÚ®ýÚ°Û²=Û´]ÛPÚ‡qÚr†ªmÛ¾ýÛÀÜÂ=ÜÄ]ÜƽָÛgÖÇÝÜÎýÜÐÝÒþ=ÝÄ]ÚÙËMÝÚ½ÝÜÝÝÞýÝàíÖÖÍÇÙÞæ}ÞèÞê½Þ—Û‰áǼÍÜì=ßô]ßö}ßèÝØ×Z[½½Ösà>à^à~àžà ¾àŽßþàáÑ=Þ‡ñ|†ñßj= »áÞáh1â">â$ÎÚÉ )Ðd"Xîá.þâpÁà2>ã4^ã6~ã8žã:¾ã<Þã>þã@äB>äD^äFÎã¶Ü„‘â.ßãPåfÑâR^åVîâ~åZ¾å\>åTÞå`æåb^æmAæfîhžæjžäŽmLîßNžálnæ ~ßc®á%>×þyÞçÚ è -è¡=ænn"qN+X_^ç]~çöMè{þÖ’^ß•Ý—¾Ù™ÎÙ†^ÛJŽ‰ßnÝèŽvPåáÈånéY>éq½éë ëÇ-ë—Më˜Ýé´ý顾è@êqê,ìi!ìlAììÆã«N߶¾çÍnÞÏ.ÜÑžØӮظ>Ûº^<*>ç,ŽÉžìÁþÆŽìV>5aêvàéç`ìþî:±îðÞç7Á`ð~ï2!ï4aïøÞïêŽïô¾ï6±îú>áˆüîï÷^ðaðŸïõžïoð?ðîþî ¿Oñ¯ð>±ñê^ñÿï!ßþñ`/ËÛÙ.HÛ>êÞnÂÎ`¿`5oóeîvó3ì<Ÿæžò ?ðBïñ<1ò ŸåDÿðFôKñMïôþò(Ÿò _ðW_ôQð OõPî_ÿõXÿô$H^¯õ[_iÏô#Ÿîcöòžñ×.Û-ï/ßÖ¾îó9ÿëáÎ÷Äþí8_ê~OøÇNî†?å`ïq¯ökÏôýÞöÿøZŸõ”Oö÷îõúNð˜ßø“ùaŸùJoõXÏù‹ïùeÿù;qö7!ù©úõ5úª÷\÷–O÷+ÛwŸ÷l½÷ß^ê4Ï÷‡¿óÞÞóÂø‰ü,ôªOò´þ_ò'ïø'?÷!ÿðU?ýûîîÚÏñÔý3áúí~ýp¿ùÿü úÙ/þÕñÞŸð%?þÏÿþÖÏðšoõ˜ÿÜ?ÿúŸÿù¿ýØÏþaÇÁ@‚æÌ@p @vt¸P¡Ä†Rœ¸ÐáÅ F„¸1£A„3†Y1%ÅŽ+N$™PáE‰4Yž|9£Bƒ|þTèP¢E5ÔÃÒ¥ rÀt©…DÀš€­X¹nÕúUlØ®eÇ‚Ízvkǯeç@€ —­¹réB¸‹·n\½|ãæíëp¯àÀ|ï¦{xï`Å|#Œà°dÃvWÆÛø2f¿}þ.üw±Þƈ-{†ûxNdÌy5&Üy²hÚ„—n]wí×T³®í9ñhÆewý:ñnâ¿eÇNnyòpÞÈsÞLÙîôã¨ã>>^üøñI 1%äªT T­–õj6~ÚùmÑÒ'‹Ö¾Zûð±¾Å.8â¼›-:áSn@æBóî:Ú¶3еaÛˆ¸QÓ,à µKð@Ç Ó.´ O ðA5ÄPÁìNôËÁË$ìA ‘ÛζîdœÌEÉ$ÐCÓ¼ûD +ÈØf‹Ñ·ÕÈc²IòÌ;ƒôžŠJ*÷†ºJ¾üîÓo>/¿ì’Kþ¶ì @{ÌŒÇ3MD‘ǹTÄÁ…\þó6ã|dKN4ÜÅ4‰DrEƒ\-DÒŠ4”Ï}äíÎ@ãôPà6£.ÆÞ¸CîÇGËóÃBi,ÐíÕ::Ý´»G ÏIW_*)) ¡U½*™ºR¨,»š‹×ÂìˆËµ~Å/Ø/…ÏÌ"“¼ô8M{dVÕ>s<ÕÈe÷ÔsEkŸÍ.Z§óS6eœ±DêºÕ³ÀUÁõtRßý6À@¹å,IIõ¶.5KL­Ú 7ÅÔ´$[…µ`WeuÊõ¬¬ Kÿ†8b‰'¦Ø DÑÕvQzÛÌM´íW\6;t³co„´dA£û8ÛÝÎÒ‹éõSå•[Žôåx­wf“ãþ´¹Awz\Euü÷FLå“`ƒŸ.O©¥j¥’½\ƒÚµb­·æÚ¿9²l;Â&{ì,ÌÛ¡²ÉN[í°;z;î³å>{£²í{î¶Ñæ›íßØÞ[ïºÝœo¼|lÅOünÂû.üíÃÏÛðÇéûïµÙ6{®½Ñæ|r¸ó&rʯ\òËI[s¹Mïœ-Ç'Ÿ½öØ݆ö,\WðÓAGüwÆw‡Œóáç^vÛ?7Ûi¨ŸGª‡(¥´Õê†uí:{í¹þzxï¿?|ñÇ'ÿ{ÞËG?}õ×güóÛ‡?~ùý.~~ûï'~5üÙ|àçwô„1¥z {Ïöþ¸@¯íÏ4_ý 8A ¶¯Ä`ü.˜A nƒ™“ úþ'¿p€lJÕè0¶°…Ýû` ×çAÖÐ4´aɆC’0„:ä!KhBè¡ÄÕõ°æB&*†=„"ýôE*ð‡U„b±ˆ>-R°‹"¡fD$NE‰@ÉZÕH±9ÔÁo„cå8G:ÖÑŽwÄcñø=öÑd 9G>Ò‡Dd ™HF6ò‹td !II.IŒ&$£ “˜À5vrbe(E9JR–Ò”§De*U¹JV¶Ò•¯„e,e9KZÖÒ–·Äe.u¹K^öÒ—¿De&þ¶IzÒ˜ÇDf2•¹Lf6әτf4¥9MjzR˜·2#'/¹MnvÓ›ßg8Å9Nr–ÓœçDg:ÅxMëiSï„g<å9OzÖÓž÷Äg>Ç(5j2›ÅÔg@:P‚Ô EhB÷Éž2¶çŒ?É’B%:QŠVÔ¢ÅhFƒÂÎb+iHE:R’–Ô¤áá(1= €“¶Ô¥/…iLeJÎk!*]âGgºSžöÔ§?•iMmúÏ•Õ¨GEjR•ŠO¡âYYjT¥:UªVÕ`BêÕžªS«vÕ«_ëQ±JÔœ²4¬gEkZ՚Ѧ’u«f]k\å:WºÊ«6Õ*D¡ZþW¾öÕ¯=!?S›6¯>‰(`»XÆ6–€‚="• ‹×‡"v¯ŽÅlf5‹Ö»á°¹ìfE;ZÒŠ²¶š¬g+ Z®–Öµ¯…­I;ûÙÄÆÖ¶·Å­Dg»ÚÚæÖ·¿.= xˆC v²´ mp•»\æ~aÄ-®dËÛä6׺×Å.¬†]ÂN×ÙoxÅK”í×°ÔmíxÕ»^ëÊ ºÜu@j‘›^öÖ×¾¸MÊ{á+_ôÂõ¾ÿpió{ˆÂš—²ß p‚Üؤ¤ÖV€Äy¼` W˜® ž¬­.áÔÂqZ1\`*]ÀÄž¯C¼bKuÄ6Õð‰‘âþ×ØÆH5„\â_€Æ7rƒªã óøÄ?r’•<ÒÂ1>r—÷œv„‰ólæ ûÙЇ.¢hi7¾‹rmzÇ3Û¦æv·õlëj E×ý~ž½ªp'!¼Øúf·xÜm0‡3Éá/ø¸÷}ïhKâCáwBÿ½mAà.ê«}ðpo(¸ÎµC^îrƒËÜ×0§9̧-ó˜ó¼ã?8¾ií¡çšè3÷9Ë…ŽôsÛ¼çÖæ¹Î‘.t¨'ýçR×wÑqîtŸË;Ý]×¹Òþtr]ìTÿ9ÓÑ~v¢[]Ø.¿¹Ö­Þñª·<è;w{ÔNõ›íÇ®y×?w»îdo;ßôÄ«½í‡¿;Ëûžu½ þžÐ6­©drÛã _w¸?~õÅ‹þþå1}èO¿zÒ—¾ô¿ûèÇû¥Ï>õD‰ûí[/ûÉÓÞö‹G=ã]ÿ{¯Ï\ø@‡úñÓ^üäï^ð¦o¾ïŸ|è?ê«Ï=ë¯Þ{åGð€×þÛ‡¿ûå§ýúÖÇ>úÃ/üóÏûËÇ881ð’sžO6ÈÇOþ‰ëøæǹ§?æû>ó38í3@¾s·÷“½ÿ#¼ó{¼L¿ñ3=Àã{;¬›¼,@þÛ·ì>t>Ý#¶êÛ? œ@ÞKÁÖ“¾$7¾þƒ?4AL@d öÛ¿ A}š¿[±¿û{5‹Ã½ô?³ËÁõ›AÄ; ¼ÁÿS@ lÁœþ‹#DB'œº|ÀéËB<À0t ¬;Ë#Á,„B0¼ÂòkÂ5l<ç[ ¬CåkC Dö[Â|š?ûBûÃ?ð;=ÔBdB”CyûÃD@¯«Â(¼Ã1ô¿0ÌD†ãDK¼DMDòÛ8 ìÄAtD)ÄSCœClÅdÄTÜ@HLCý›E@”D+LAÕ+(ÌÂDä¼(B#DÅVÁ&ŒÁ*œDG ½W¤;„Æô=1„@¤Fõ+Åòs¿ ¼EFüD4¤A äC` EÖËF5ì@8¤Á÷GQÔE_”ÂìëEëCÇ9TCxÜÇøþû&aDÄͳ?c$8p3»f;¹+<Ћ=\‹Æ½ÓCÄ[:ØSBË#CÈËCÅkÀÃS¼ˆŒ½¿C¾¹ãÈF\Ƚ{HpSÈ #CŠ,A<‰¤ÈiŒI’œºÜBþcH6 »7¤ÉÇÛÈ7\¹À3¼‡<É¢4J’„ÈŠlG T=î“»,:|HÎ#F“3HH³/€,'®Ô8´òJ5 €F‚,ÆcŒµ´±°L³±,Ë€;˃LËyl1¶D3·H¨ø½ÄJ´œË¿ô2¼´J*ÙËÂÌÊ”ÌļK²ä¼>°•ÂÜËÃ,+ŤÌÀdÌ>ÀÌÇ„LÉ|«n²K]\6h“ºIÄ;ÞÏDÆþp|76„7y’Aµœ7,¬·dÅÒdÂKÌ,LÍ4L¿<ÍÖ¬E1´DP\Å„âÃÔ<ÅM\Mxê?P|6J$"i#ΠÄ̰̀ÐNíäL½¢/BÍâ“Má”Åñ,O‰:N•dMÚ¤Ëå|§æ„ÍmÀÏ”ÎääFKÈôìÜNèNËúÎÏ{½o¬I»+»öC¼p¤ÅŸ4Oºãº†¤¼<´Ã™üºæ+ÉÄ7 ´ÍdIÒKHÊ«;ñ ÑRM3ìIýPJÍIÇsЛ„Ñ£4:EPŽTPO\ÏËÏþäÏíüOÖR1õœQpüÂÚœÁ4Ež¬½ø$D.Lɬ³GöÔþ;.¤>(½Mmü=ÅR[TÅ"UÁ×ûÒóC<ÇÚ[ÀùDRâ»=$ÅAO OìËþÜO*‘Óí-ŽÀœ‹Ò$%Ï-Ò>ÍÐàÜÒqìÐ$%MkŒE,UÍ8ÄJ¼FkôC/¥KiT@^¼@e$Jv¼Ç=¥ÔmSÓ„Î7µ®8åQ:íO;­.!uƽHûSŸdÅ}ÔFeT(¼‰äPÙ¬Æ.•Ç|ÜUÔP*•Ê°ÃÈ_,GoLÔ Dr\Æ5¼QèäIÅÑ1RÝÎåNßL¶[DÇ×E%5ÔŽœÖõÔ=•Pš,×;üU"µÒemVcåÓFÌER4ÏJœ×ù\Á×Gþ|WlO?DpUM}9€§€:ÕVÀãÖ&ÝÅIõÓ'½ÍCMBN­ØFýÖ–œÅnWYì=ìAyåG3…×}-SS”>2=Vw„W{]Ó\TuüÖ³Ví³Vº„¥ÛÁu€E³½íÛËÁ\ÁeÜ•Ë4»ÚijpÆíÀÅYÌ…\­¤ÜÏuÛËe\ÍþÎ5\ÐEÝÿ²\Ì%ÝÁµ è\ÄLÝÙ­°Õ]„}ÝÜÝɤÝÞU\Ñ\ÒÍÝ×ÝÝÎôÝã0Ë^ Þá-^ï Rä•^ñRÞám^Ý=ÝéÕÞߪÞܽ^âÍÞí_ÛêÞ×ý^Ø ßñUßÒ*_æÅ]çMßõ•_Íjßó}^ÞùÕßתß÷ÅÞÈÝßάþÝÜÇ_FາÝ॒p`îNà ^«Z¡Ax)à`þ °,¨‚ á6áFáVáfává†á–á¦á¶áÆáÖáæáöá*Ø„ €„".âxŠ î`)ø`þ±¨¦(–â)¦â*¶bgr€H¨!^b)@b îb as€+6ã3Fã4Vc3Öb!þ.þb%î`1vb+ã5Æã<Öã=æãìiãƒââ%Žã0ãÿºã>FäDVäE¾â?6¨@îàA^b:ö\ ;dFÆäLÖäMV#GÆ7ä$&ä:þ°K^™˜þ ¶ðb–WæäX–åYÖO&(Hæ`IžãBÞµBT6¬‹M¾¥¸ñ0eXÆíé¶Hf¯XfZvæg†æ®°åÂe/åIæå®f#Qpò„cP¢0e®PåcÎUV‹ú“hfçvŽåi¨jÖe¦dÙ%(}þmÏzõæµ…š©gTNf‡è^‹b)èSNg²Øwfè†Ndx(y¾æ]&åyÒ×­Ñ™mZ-I`É­;ÕZi»de>f‚Fé³ •Ö’aAåû(g‡–é™®bˆöAPŽä‰¦çl&§t=Ï ]YïûÓ/ýU¡¦X£(é“ΓVg˜Fh³`ê0¡é©¦ê(¶iCÄé\Öi)¨gÞ5¨‹A=“mJ~&Ó°ÞU&9dä9/aê1yå˜Ngr®êº¶ëgºjªÌjkcl®h×׈?GU_>ÒX´Zµ~é…vê¦~k-i慎黶ìËn¡¼¾¼½Fâãþkþ¼ ì4ÝÔ‡Yû¼ÕdŒWò¸ãr¦kfvkƒ~ìf–„&hÌÆíÜV Ͷ'‰öìQ®d¢Bv Sa…@Ñ{ÆClfÖ†•~í¨féú`åUvetÖíìÖîZÞb΄ßöëà(7üÈ‘ I±^Q¦„¿‹Ä秕حUëí–ïùÎdÞ®'ßþl®æiö*fúöïÿNcû¦'ün{¶dGðgãî†ãïÎï®6Þ$ëo§ð o&Ÿ'o¿± ·ðñ5ÂpyÒpŠïóðWñמ§ío1(fñ·q®Ébeð6q·1œò ò!'ò"7ò#Gò$Wþò%gò&wò'‡ò(—ò)§r‚Ðñœæñ÷q ær¿‚qýí.s°úr‡Þ1Gs/÷î,sOó7'ó5ðý†ó:Ÿ©2§s;×s—Âó0W0öá@ôA'ôB7ôCGôDWôE7a ¾r­fs3Çß%£ñ·ôK÷wãô<¯ÇôP¯q‡§>wóuQWu'õw2õ-ŸñU—õouuzu¯²TŸõ]ÿïZO§[ð\çõaÿp_G'`?s°4ì~P¨Ñub‡öÜ6ösBöIËmŽN"zöhçö»žvsªv M«ö–Omïös—ïo/§p¿Ó¯ë“t¼B•¼µþsI¿;ŠmG÷|whu''vOÕ®òé~Ðí£CìóÖ Àw}Wxvæ÷qò÷»íµÑWLÙ‡½÷…Çøºnxqzøüµ*°%ÖÓÅx¼øŒ7ù™ÞøpêøqlÐôW^uÙ¢Hø“§yLNyù“óÇu°îdDn0õØ’Eêš'z†tkît?_8Ã.Q…J°ËS´•ù¢§zg¾ù€Ìù ßyßBܘùª{5¾zoZyåêú¯û´oä£ïì9WzÌ:{µ—{Eûnúò&>õ'žû½çãºç¦»÷tñB{¾'|¼f{ïb¼‡u«ôÂwü*Öt@ÎúVü­ïð*ÇüÌ×üÍçüþÎ÷üÏýÐòÃgóÊö=G}ªü·OýÖo©ÕÏ{×—}™‚ýÅŸýÛ‡©Ú·|ÜçýÜŸ|üÞ¿±ˆƒâ7þãGþäWþågþæwþçoþ(Ý?} tFÇþì×þíçþîwt£€|=v€…¢þd—ðñ|ÌŽ|¢ˆƒ2.©„ˆôÿ}&~ðbÿöÇì«Žˆ,hð „ 2Œ NÈ'6 ðC FŒ%xãç(Iñ$Ê”*W²lér¡ƒ’2gÒ¬ió&Îœ:wòìéó'РB‡-jô(Í ãxéôéÁ‡P§2´øQÊÆŽWCŽ”þIõ+Ø°bÅÆDjö,Ú´jײmëö¦R…LÇÒ•(µîW«³züÈõ I“x.L·ìÛÄŠ3nì8qÜ„s S¾KÙ¥ÞŒ|·Šìõ2èТ".iç´š©o®Ú5ìزÌžû1îܺwGFÈÔðà‡/nü8òäÊ‘[2³FŽ}3þ5¸)^ÙNcCÕÞÐJðÅ?%Ó6z™­k®g³½iÖªçÇO¿û>þüg{ü½Ü¸lÿ 8 €Í9GtXIÇYW‚Õe^$áAŠGáI*taxn!ˆçÕg|êåTâˆöÑg"}í¡¨Œ1ʘÔR8œþ8Þ¸#Àx D næWgÖ}öà„~7ž@R$¡“fb“ÝF‹îÑfÛi[š†Ú—«Á–%™*z™Þ‹3ª¹&Œüä9 'guþ÷#]´×‚D6ˆ’L6‰Ú *èxWFx(ˆ†*J”…:Ú(†‚gy° t©¡zå£ !–景‰‰fŠ§®¸ê™Y‚É&¬±ÞçfApîH'præ¨+j¹G'¯¸ÂfgLå‰àžšõI]‘]7X¤T†(e•‰zˆé Õj»í´V«¨¥jKí´v»éI£êô‰c–ê.|(º¨%—²Ú{¯b´ýúû/ÀC ›þ¿§õkÇ¿#|pÁ7ìðÃKpÆd²Ñiå§gÒí¢Ÿnª)B’K-¶ž’,©”™Z*•(“ìò·ÞR¤îº©êìåzìšYf¼òá;4Ñfé;¿+ÍpÂLCÌ´Â/¼pÓ/=qÅO$ä² 5KгÙ%)mË6'T6º1sg6¢çÒÜvÚUž¶¶‘ê[„²ÐÊÊe2•lB”Û÷2M±Žn’BIúvB*¡¬P.|aPø&Œr”œkÈ8ØÐ` T`B¤Ç ±ˆF¼PZ˜D2±‰D‘a¢(Å)R±ŠV¼"³¨Å-fñ‡G$ˆ9f$}±ŒfŒ@ ¨Æ5ª Š\|#ã(Ç-zÑŒaäϨÇ/¦‘~ü£nÜ8ÇA²W¬cïøÀ1FþpŽÄ\)ÉI¾E†¼$&ãˆÈ/*R ÕqÖ‘)ÊcE’’¦<%R,™ÉU²²Š›ó©Ï}ò³Ÿþä' D©Î<Ƴ =(BªÐ=”‘ }(D#*щRt% %+ªÑr´£(‡„G‡~´¤&=)JS:˜‹Î2£*})LcjÆü³¦6½)NÿÙ^E¤‹Äh#eêÎ,TaþF=*R“ªÔ¥2µ©N}*T£*Õ©RµªV½*V³ªÕ­rÕ¨UÈÂB$ЂR¾Ð-@:CÚ5OFS Óê;q¹Ë¹Òu'½\JL j#gÚ=]«,¥IK¸²“¬u=ì\ùÔw≓~å“ÙºN¶Ӱˆ½ì)‹ÐÆÂò±ÊŠl`Ý:XÊRÓ²˜=- 5{PÎ1žÕØô$KPÒšÓ´¨½­U«W¾&òµ Œmh#ðVÚ–V5øËn“Û;Å‚³¹;bm]ûWжU¸£ÝŽl`æ¹ð¸Än绥ŠdG?å’÷^ÌíQ€œk'èQºnu‡ '}Œ%ô•ˆ‡ìû¼¹ŠwþåýïšÎ'©·GìU {? ßɆå¾bq°»;¶•@…ebQû2Ì®.©ÏDÇ0ˆÑ"à[¸ÀÏå­c§»àÙ6˜IŽrY¨2L]°‚'”[)Hã†pt/æ`ÈnL)ï„¿6ñ™ì8¬ä/]8ÄN.ʈo„+èŠÊ¹ê••}¥e,_ù4Ä:0ô Û!’t,$¸Lˆ=tm¯\Üê Ì¼×²Ða‹Î<_‘›¼»$÷—}OþóQdØÃÙp`Æcý°(î¬ŠÉ Ô@}om4³ÔÌ>‡æ™|=ÞÞšI'jŠ¹³S¼ú,^@³ÚpK™á  xhFCNyþ|®iøÊÖúÖ§²-óƒêLmðu‚¢3§'|®7kZm™>ö¨ËWê ¡ ¹ó«[­í’:ÖË‹\Õ’9ƒš‡Þut{ Øø^w*ùv³Í‡:x‹®{öþ4÷ÂmcƒKd¢6¶G„äùm»à8éveí4Z‹ûÖ‡n´¿ÐÝ^uS—Áóv´]gï:›Oãøæ7ÌÞMêe7jÓlFŸq9ìgž­ïÚñù°Ác¼W7ZáàÎáÂ]µAKÁ_1°[¼º¾MÆ$2WVºƒËè6ÖqŒ[çôb+ȱíx—(ó­Ã…æ±.ôq˜óÉ…Üç~4¯#-ÆIWuΩþ0µN”lsÕªl%ÞWÙó0ÿ\Ò-]lÛáNi3†îuÿóÝó®øBîsbþ­ßëRÊfP4Ú-õá3ߘÄ/¾óšD{ºÕ>R¶·½¸š?ýb8ïùÕk±ñZ{¼¯ƒ+ßÒ?먿½PTÏúÝ»ôýOÿNûÒÚ÷Æ·«/°Ìå3¿ùÎOf3ÓÙ÷µ øµ41ö³¯ýís¿ûÊ'9 êt:ö붸õÓ¯þõ dž9}?üã¿Ï€Jø¿&=ûó¯ÿýóAÓ}õõŸ êŸùU‹ . ÆÔþ5 N VÔFžhM^n v 9] õIày`aþДü ¦  ® ÂßNI” ¶  Π Öß{a ui â…Xßñ-†Y¡Dõ`yaùý_ð‰à†FäÕâÅ^ETŽ GE!C!áýàÆd@x!~¡†!Ž¡–!ž¡¦!®¡¶!¾¡Æ!Ρ®˜µÓd¨T^  n¡aÌ… bCbJô¡9íaJ)bžüaf âW0"%‚…#R“%žT&$fa ^b]üxŸ)ž"7•¢ùÞ;Ù *¾âqt¢s|¢ìµÛKxw5£ž™UžøàYØH‰iŽxÙ¯c–Í •e×®¤þ—Á"4b˜1#/þb½ JØÊ3&Ç°ÔÉ”E£pÈâhÐ"»é „]#:ã-F›»=‰Õ§”\8€*£=c•mqL?°€#8Öã‰MI;*[„œü£r‹7dqˆ£h#ú•‡A¾ãw}ˆ‹]ÜDä—é|Ê彉0þJ2Žä>âã=’d?–äI:$K*‡#VãwœYDÀdBŠ$7ª$‰µdp@dhHdvÇ„ÍLÓmÐÔíY]<êØÉÍy$Q¦£PÖ¨8)Š$CÇ7æ£2n¥M–Ø7êäö äp@v äKŠë¥%ŠRR³QeH*$rd¥¯‹°`þ°l£z‘¥l˜%+:Ö¢9¶D´¬è\ZÆy0¦ÙÆ!ÛR¦q$¹d#¬]®MNÀ$ÚÎ1Á”Ä}&h†æ e_¢øÐ_®Ž‹!f²Á˜É-ŠböGejæÄ8¡n>Ü­‰¦Äflœæ¿¸Þ±ødÐäõ<Óyš¥)G^ÔIÈ웼±åk¦¿€eîfýO®ÙÜ·]&o†§xvNL”&pgj&[ÇÅfÒ‘œcª#â̦ãˆÝeꦹÙ&®içxúËyš&Ŭçpf9N"aÆø´ç½íâ-&¿-[¨ÕÍr¤wÀä¾ÌfgòçÍq§w2eö'ˆþ†èýgzª'AÆU‡´YŠÊ˜lâœÒè'm>Ôšˆ ‰ Œp>"N$F²#‹VgaZc¿ÁçÈM&É}܃öE\gwzh¸e¦”n&xÒæ^éx–§ÒTdŽ èw½ç’B[nÜD$Ž• ŒŒnçšbé–vé—¡ý ¦ê—sd*(k†½Ñ[{Æ'{F(eB©òìâæw*wº)£6*jžèR¦‚¢èƒÆÙ½ù}Bé”fg”6Œn:êÕì(gº[ƒ2åœU§ìX ©e…ì"Š]S"­FfŒÝJ@D‚XQ¯ÊF¡†ÅÆÁ†¯RQ¯úêþið³.^ ҎꎱjPÆê­&‹Êf±.ëë°në²&«·&kxk³r‘¨zbþ¤(Vbœ+¼Æ«¼ê˜–L:扮Ϋ¾RºÎâÏAÀFbÖi»º„®>ë¾&¬Â®Âòk½¤…rá».,ÅvÑÃú«ŠlÀÒiÁÒE¾V,Ȇìêõk¶X$|¬È†,ÉFä¿j,plÇŠÅÁî*Í>«ÍÖ,ÎÞ¬Îæ,Ïî¬Ïö,Ðþ¬Ð-Ñ­Ñ-ÒíÎ2ÞÅŽʦlÅ®lO¶¬ÆÂlÌ‚E*ßóm-×v­×~-؆m×FDe­Øž-Ú¦-Ùêì%@G¸ìËèÕ†þÅ8•ÓܾÄøÍADÕ­Jå­œî…Û>ÜZíÝN…ûÑ â&®â.. Ò_D.ãFnâ:.ÛöZà®Ü®ænná¶íÛº,ár®èŽ® z®à‚næ’®ê®nš.æú(ëÆ®ìòŸë¢.ìÎ.îæ.íÕnÕ¦®îþ.ð¶ïlè¯ñïK oÜÞ.ò6¯óN”\®í²ëóV¯õ*Tô~nï2ïõv¯÷VSö>ÀŒïøï÷ž/úÖRø’oùúnú¾/ü>SH.ûùÆ/þæ¯ÎoGÔïýê/ðe¬/ûþ¯0‹“¯'°?0fð¯ø°ûB°_°J,pûr/þw°ƒ‘ûo0 —°@h°ýŽ° ¯0£p³0 ° «p ×°Ï0/QuGÕWýn J®ñ ¾ C…0çðïÊ•½ÜUîáÚÕY•30 7¯ΊîN! Z!ÛVñS/´œ*~É'‘â»ãEŽ©Sd1old/É3DÄšñ—L¶º6²Ä&n O‚‹±õ0)§DŸO#é½âmÑöä"¤R˜J@XÊÜq%¬þñƒq +±F.²Ϥ‚òÓ×!¾8r½U£…ž²‹“h#2Î%N˜VúãJ‚%:†:káedW¥™œ"Oh|bPM(ËÌÛ¨!iÑIÄ>'F?ÃñE(Ú`ZtŽtµ i¾ÉÙ‘¾¦ÆU2HvåWã0ªWEO´9‡cÓF$'¿p}›IƒO§%(„"ebt…:ôJÛñ@´ô[¼t;5rB5s¢4ȽLtêéÈ…éN3]OWê8þõBŽdPSQõQûHR÷äR_ñ ³ñ@Gu™.]¥T5YëÛ¦µBpµ[xµ(K'7·Hóô#›iYçØTûuY_j­ÄeWb¥\cD×eDw£•Ù¥Mæ%2j%—5ã•íeY"5÷ý&± žž²æÜü5a;hfvJ«¥2óš0¶é2Ï´·èvo_dRºYNK«´›d—tc*ŒÖæØÑf6΢}*í'w'¹÷ú&l”(H- ïµ'…a÷22#]0ck±!òÙȪR¶j[Bh}/]b7s–ø3s s|3å ­è~—N¸¬*›Õ÷—´ÊX3u[ë£i}šÝÍþy÷v•ywx{¨fj¨hþçi wzçõzËvÿÒ¶.Ñ,›”b·q'ô@·½^ÌCg*x&ª­Q)Ãu*xw†.œÙ8–æh€Æ6ම·÷hÄxIÍ8[Ô8PÂx(“2eìøu§"*› yƒ¸ë܇Š(—zé’1‹Oð“׶Žë•W¹Ê€€ÃrœWäÈ‹/^h—«iñhømr7¡¹wxÿ9¨ª÷&·¹CùìÎyêmñÄ+·j¹~«¥_ú· ë° ë¯‚k¨‹ë§_:©oº¦—kªë+£ã2{ÃyðJz¾Pú¹f:ÔRl«§ó«¿¸óÊ:dÐz³Úúþ­+l®kô®¯óóúz%;³ û°ïk±ÆF‡b÷*»[ÜùÜ>í³o{+EûJ;G[¯µ·¶_­Ù¦-º§»º«­¨x£7¹›‡1¯cq#ë.ßz ß²9¼?:¬︳E¹_-ä1Á|üQ®ü:º‹#{¯×» Ç. û_￯EÀ?<%FüÄ/ËŠc¼êj<¤Ëî] ȯ®È÷ûɯ¼ó¦ü¼³<Ì?¯Ë3|Ì×<òÎ|¸Û¼Î/ÎSûÎÿ|ðö¼$=Ñ='KüȽҷ«ÐìÒ?=ÄýÆC=Õ3½Ô'}Õg=6ýìi½×_"×Ûâ×Ǭe縔7µO²VKþTØæØ_bZBrÚ%«c…=']½Ê¿ýæqqÏýÕýƒ7öBµ=&óýN¥¨]+›ŒS Ye¤‹ó„ËcI?0sGÜSÊJ;%Þ¿žÞ¿<âÏmC«ÍŸþörKê°µµêg\B»ÍœevèÀ“áþê²>Y›5Zç8eçôeOês&¨Mi<Õ¾í“.îK5HÇô0CÝðËLX¿>¨M÷‹}$ø†>Í?Ùw@?¶‹ÜXW¾k¶r?nc/öç¼ö“>÷·¾@£¾ïw¾ÅþïówÛ ·ái™Ò~úûüúß-@؉AàÀ‚í,x0aÂ.4Øð!ÄŠ+6ýþ¦þù PÀóªOŠûŠËï¡ýÔο Œ°†zÈ¢Š*"°Á 9ìÐ*‡ó@D} ®Æòˆ(/’²K¯6‚IÍ‘>ÒìM™ÜtÊÆ6m$kNç®\ëG MÜrÈ5s[1I°€>¨0ÍŒ¢¼Q¡…ZɤJ)u#MáLÏ£“öLSªP+‰T—:E5έNm®Ï þÔò:. míAP2‚=øØC®MuUJ'B©RU‰þE¶XSãéƧZ]UNQíŒRÚhqÂV¹Wˆ5ÐY­•5ÿªØL|XØ€ÕÒwUŠS¢NÛV#y…ý."’ê‰SŽä•ÔYMï­ÑÚLñLéX‰©¥• ö^z©u˜áK-6 Õˆ'uõ<@K¿5VqUó/‡˜$>yèIwó½ßxqvéXœwî0ÙyÊùáyûí9he7šh uf‰Ú¢™}:ÏŠýeÚêx¡–Ö7n½eÜnícQ>üxr ™é¤:Õ…ß-ZØ«µíNéas®‘`ºU­ØmŠ±~o¾ëλé‰ï¹#g…¾yÛCîÑÏe59ܯþQSX^ùè£"´­xncézãæîó½ëäÛfõžzïÁG¼f¼So[íÚWGö|·f<ä‘õšòÕÈEô<ô¸ˆsµ_Z›âg9ÎøaÁ9<Ýö¯W3jê_'šw¤CgZkñ·w¾ó¾Gÿž7®!/Y¿ó†¯<‚*êÈÑûñ6«Òkâ;ë‹%:‰©îzy3\À@'ºîEíu³»ÕZÒ@ï¥Ok½a_–Ü· øÅÏ44£‰±â¿´éèsK§îµ´=Ë^+<ɲ„½®MR‘ŠØKþe·&La'Ü™)sA’ ƒ§qÏ߮䰈bõ"Äà ŠU´þ"jžxź ¥qÀ‹ÜûN¦E1Ž0Y$#Yó»ÇaˆgtãáÈŸ4ŠlC¤bñ˜G=B‡0R #¬Ú×Æ=’…TMÿØ­@ÞÑtä##ÓG?z1ƒa$1™IMÎE’ªãÁµIQŽ’”Xé$%YJU®’•®Ù‰gÉFF¶’–µå)?ùE †Ñ–½ôå qK;†ò—Å4fƒù€,’˜Çtæ3µ˜Ìeʲ™Ð´æ5)'Íi‚RrØôæ7פÍiêÒ’ç9ѹ£W g-p§;É™!s¦“žõLO€Oåð¬¤õ9œ~v@¡ótèE1zHƒ²“Ÿ ýçB3R‘j¢hE:R•®0%å(B߉Òɱ”¦5Å‹K§sÒZÔ¦=õéWpºO˜ú3•?5êQM¹Ñœz´¨HuêST‰2u–PµêUk"ÕvRµšXõêW# Õ p€«ÝëY±*Ö5¦;M)ZáZSµr€­uëLãšWšÎ•®D­ª^»R¾öU¦5,KKÖ–±!M,ÛXÉ6ô±‘ìeí©U¬•®tµ,fA{NÍr¶³Ÿ íi¯9ÚÎzö®¨u-6U»ZÓ¾–¶¾Œmi[[[Ýþò¶¬mênKÊÞB6·Á5®*þ‡;Ûã.’É-.s¡Û\¥zr³«%îo£›]dN÷'Õ•ísµ^=:»â5¯Éû×ó®½ÜMÀf5ßø*—½õmâhå;_ðÚ—¿EÄo~éÛ_×ê¿ò ð€L¥ë·¼ v0Ž¬ ì÷ÁÎQ„'Ü` oX@¦0‡A< k8Ä%þΈÕkbßÓ½ðÍo†S¼b[©Åȯ„?ÇøÏ…æËœÝÜgC/Þó—wfFOš.ˆ´)iN:ÚËoÖô§·biH—ó­ 6µ)9mfAÅ…Õ­võ«akYÏšÖµ¶õ­qk]ïš×½öõ¯la›ØÅ6ö±‘le/›Ù¹õ]›miO›ÚÕ¶öµ±mmo›ÛÝö6¯Ÿ$Ž›Üå6÷¹Ñnu¯›Ýív÷»áoyÏ›Þõ¶÷½ño}ï›ßýö÷¿>‡pËäÛ7øÁžp…/œá wxÂì€NŸšâ€Žè{%®êŠo|Ó@ÆéÌq‘7Úã OôÈQO<å-×ÊÊ5îr™Sæ!ŸùÍ£Rþó“ãœçMÑù¥Wó"@èE7úÑ‘žt¥/éMwúÓ¡@„¥q°úÕ±žu­oë]÷ú×Áö«·€êb7ûÙÑžv±“},UWûÛá÷¯³À69ÐSÈá}÷ûßxÁžð…7üá9x`‘@ ððb; p<ä%OlÊ[þ+|æ…½yqý|Ô¦!‚0° È`‰Cä·ÄÁõ°×Žìiÿ•×K:9¸½Ý3üà—¾4P¸Cwî×ó^9ȽWâÀüÞ?¿+ÑïŽó_ráÿŸÅ?>w’¿üëSŸ+Öçöu/ýß ŸP+ß>ñIc|þä+?ýãÿùÉ¿óÇ>ÿ ¶»Þ¯ûâïû¶#üêÿîÿðöúoJÜOøàO3Œ(°-ð105p9 úd¯EpI°9ýª/MpY°3ËO]piÐa°J`Pï EP#ðÇ‚Ð7ðS‘ð~„°oP+¢Ïï„›°«ÐŸ0+¢p å »0½ +0 ‰$â2 ¾¸¯5&P -ð «ð ÙÐ0‰Ð Å0 Y ¯b iÐ ñpG° ÿÐ+øp Ãp“0/P/ øP {™°ñ )æPÿdþБ ‘±*Ñ- Ið°÷°ëð10¹pSÄ #‘5Ö0?qeq 7 ]‘Q yÑ ‚ i§¢[p“0¥1…]¥Â¥£1!*±{±µ‘ClQ%ÔqÙ±ÝñáqíÀç"ñ1õ~Q Íd÷±é‘ëñíQò ² r#€­‚öR!-R/r!/ò 9²"'ÒÒõþñ#òN R#;R =’$ñ1$ëNûnq5Œ%iÒ#r%i²!ûÑG2'1md#²Q'þYÒ%¡¯'}’# r#;R5B(3r)Ù)«O)©²)‰Ò)‡%³ò­²KÎ1 qñ¾2 ò)Ïrwr±2'q²(Ò&ƒ’)©2,õï-k2-ïd*çò/ír)ñ õ2+m!ër(r-Õq0ѱ,“)r2ù‘þ’ò,S.ýR+·ò+“'9“/ßQ1ÕR-/ó#GÓ-1s1SS+½3[óa22eÒ,_ó4As6wSÛ2" “%=ó3Qs‹ó.!’‡ó#+R%e“+3²+ϲ6™s7+Ó3 20Ó:k2É27ó44aó5ƒó:×2*¡ò‘óþ'í±<s;Ws"½³›s"û’ åÓ2˳ ßÓ2Es9©B"_³2ã“>-²?_ó>;d,3À@ åI,ôB14C5tC9´C=ôCAôBå@3¯2DMôDQ4ECÔA£‚öTôEa4F?”E¡ÂEeôF3ÔptE ÔC TB)tG…tHAtDE’H‘4I/”FŸÂF•ôI…”IÂI¡Eu´J-TJE <#tBq±B±4L_ÔHu/ÄôLQTK™‚JÑ´M9TMq‚MÝTC¯4LáTŽ¸H¿tNùTCÉ4)û4P³´G·ÑL5PïÔ&äôPÑ4QåãG½T&Á”QçôOK”RçþÔQibQ1K5u&8µS¡ôSï)O#U5Nê`UYµU]õUa5VeuViµVmµè€õjOFnµW}õW•V…P[Q‚õX‘5YguXwUYõY•Y_Ò3>nûº´5ôN´u[¹µ[½õ[Á5\Åu\ɵ\·•ñÀb=Ì&;`=ÒuÖ:Ú„²B]·c^³ZÀZõ”5€`è .`v` ¶éˆ ñÆ‚äna6îH€,¶a%vbÁîa–b16c±Îb§•ªõýNµçD–& udM–dMõdUÖ•nsøBveM¶daveevfOv,1 _mvdÏröewçþlÑg6hc‰Ö€˜¶iöi¡6jŸ–¨¶j­öj±6kµvk¹¶k)€ À6lÅvlɶlÍ–l½k»`m½à Ààmß6 ävnçV ìönÅ` ôvoùvoÉàoÉ  wp ·p ÷pqÍ`q·q÷q!7r%÷ (·r+7r-÷r×r%s) @—Òàj tM÷tQ7®6 Ô uÕ qa· 2wvi·v37vq7wc×u]w |÷w×wÙ`x‰·x· × ”wy™·y—÷  7z¥wz¥¬÷z­7uµw{¹·{½÷{Á7|Åw|Á7Zl_3€h/Àþ, }Ý÷}á7~åw~é÷}}à~ñ7õwù·ý÷8€x€ù·¨àBªÀ X¯ ø $x‚)X‚3ts%ƒ³2ƒ9¸ƒ=øƒA8„Ex„I¸„M¸ƒ-QÚ÷ …]¸…ù~Ox†i¸†m8„á±Ez ~ÛW |ø‡8ˆ…xˆy ˆøˆ‘‰·` t ‰ø‰w`xŠ©¸Š­ØŠ_8‹µx‹¹ø_=î0 øˆvŒÉ¸ŒÍøŒ‰ÖZÕø oìÆ6àá8Žãغ踎íøŽñ¸³&jù¸ýØþä@ D`H L ‘O`‘O ‘9‘QR Tþ`’W`’Y “3¹8¹^à` b@h@Br f`n`•Y¹•Y`9–aù”i9žø–£x’¸ˆu¸—{ —9˜…YŠ¯¸˜ù·…. 0€ˆ@D#š¥y(D„8‚à’¸¸›½ù›Á9œÅY‹·¹œÍ¹œ‹ ÕYÀŽàáù`žé™ž“àžñ9ŸõyŸñY ”` : š º  º ›à : ¦¹¡ú¡!:¢%z¢º`Ÿ.- À` àÒA:¤ÉxÕ¸ÝXŽQúóx¥Yš¥ÿø¥aúy ¹Y‘ù‘9’'¹’þSà’S@“7¹“]”EYf ”kÀl RÙ•¡z•e9–kù”oŠ£x—yÀ—¹ú—‡Y˜9¬÷™•™™9@ ™¢‰Â„Àš±Y›“yœåz®éº®àœñzõºãžëù¯‘€Ÿ{°ýY  û › œÀ ž€¡Õú±!;²%»¡-ÚézB à,@¤=¤Ó—¤KÚ¤å+¥Sº¥Q;µ­+¦Y›äYDà™‘uÚ‘yš’-“…º“[ ¨a ”‘Z©—Ú©Ÿ:ª[yªg¹ª¯Ú‰³z—»:º}à«Åººõ÷®“ùš™ÐÚ [D„àš1ààš›íÚþ…§ø¼Õû…ñÚœõzÛÙûZž{žû¾õ¹° { Û »±';À|À!º²›Ž'|@ ~à³!|¤E{´I;¾L¥U;Ã[ºµ9\¦G¶ y¶o§ù¶#Y’)¹’Z¨YÀ·[¸‡[Bhฑ[ª•›¹›[žº£»Ç{@uغÅ»É{»Ñú»Áûš³®×†«¸ÉÏ»½·ù½Ù™¯ç»¾í¿µ< þy¿º¿ú¿›ÀɼÌÜÀ—N ‚ ³•‚* ,@»#Â'|+¼´/|Ž5|Ïí¸Ã;üµiÚGÜlÛÄQ<Åš·‡š¨{”c¼¸þ[•kün¼–s¼‰w<‰}|Ó}\ȱ8»Íº»‘ÜÜ:›ãÊÊéZÊ€ÊÓ9¾ç›¾ë{˵\¿÷Ì º þÛÌy½×!Í‘N| `â‚à 9ð†ýÙ¡=Ú3Øß‘Ù5°Õ£×¬¤=W¶ýÛÁ=Üï§ÛɽÜÍýÜMX Œ½Õ@à=Þå}Þé½ÞíýÞñ=ßõ}ßù½ßýýßó}ž¾à ¾à á~á¾áà!^ `â)¾âàâ1>ã5~ã9¾ã=þãA>äEþ äã(P>åU~åQ>ÞKF>æe~æi~ä-~æ>ç(u~çy¾ç}^à@~~è{žåþè‘>é•~陾éþéY~Áã" ;PKn·†€ôVïVPK\8–AOEBPS/img/odbc_cache.gif­ZR¥GIF87aÆ çÿ÷÷)BR!!!!!B)RcŒœœÞçïïïïï÷ï÷÷÷ÎÖç„„”„¥½kŒµZ­ÖR¥ÖBœÎB”½RŒµR{¥Z{”k{œss{{ckŒccŒccŒZR”skœ„sœ„{œŒ{””Œ”œŒ¥¥”¥¥¥­­µ¥­½­½½­½¥µÆµµÎ½­½ÎÆÎνÎÞ­½Ö¥½ÎœµÎ”­Æ{”½ZœÆZœÎ1„½œµ½”¥µŒÆ­ŒÆ¥„½”sµŒs­„k­{kœsk¥{Z¥sZŒkJŒsJŒŒB„ŒB„¥1s­RŒÆZ„­ssŒBsœ)ZŒ!JZŒ½¥½ÆÖƽÆε½ÖÆÆÖÖÖÞÞÞsŒœ9RcBBR9JRB9BR99RB9RBBRZRZcsJcsJccRRc!JcBZR9R91J9)B9!BJ!9R)B„Œ„sss)k­R„B”ν½½RkŒRs¥s„”1ZŒ¥µÎRcœ„”µœ¥ÆÎÖÞ))9)cŒµZŒÆÆÖÞ{”µkŒ­Js¥9k”J„J{)R„!J{s„„!)B{µB{½!1B)9BR!BR)!J)!„JB„c9ŒZ­œs9”„B11Œ­¥JsZ„„k{sB1Œkkk9J„½JZ1„„9)Î¥¥Þ¥œZ9”œµ¥c1B{1!­cZµsc½scÎscµss½ŒŒsJJRœ„Z¥„s9c1Œ”ŒR1){s!¥cZ½cRÎœœRœŒœ”scÎ¥œœRJ¥RJ­RJÆZBc9RkŒs!œ1)­B1½J9{RR½{s”ΔZR1{­91½B){JJZ¥Œkµk{{cs”1)­1!­9)½9)½1!RŒœ{kœ­¥Œ{BŒŒkJs„ZsŒµ9!k¥¥”Œkk9Bœ­”Rsœ„B9εµÆskÎ{sJ))ŒJBÖµµJ1)ÞŒ„ŒksΔŒÞ”ŒÎ””Þœ”)Z,Æ þ  Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(M*8ð_ÈœI³¦Í›8sêÜɳ§ÏŸ@ƒ6ˆ@´¨Ñ£H“*]Ê´©Ó§P£JJµªÕ«X³jÝʵkT¡`:8ò¬Ù³hY‚H˶­Û·Å8h A@‚•]Jˆp‡ß¿~ ª@¸°á†+>LX±ãÃŽ#KžL¹ò“˘3kÞ¼¡³çÏ AãÁs(ŠéÓ¦©^Ízµž×°cˆ-¥¶íÛRèèÞÍ»·ïß» N\8ðãÈ“ÓÁͼ¹óçУKŸN½ºõëʳ/žH‘÷ïàÃþ‹¯Èxïëè­ë‘2»½{Ø­QÃúóæû™'G˜A†ÿÿ( €3hà ˆ€E+ 6Ø 2®D(á„Vhá…"ó 2"sEBÁ Ü%PÐØŠ8ÆØ‹0Æ(ãŒ46Ye‘á§c}º÷Ž-ð»ç~ûñôÌÞJ=Y‡nPs&£Ød«MÁ Øg¯ý Öwïý÷àƒ7ÙøÖm·bŸs&šª´Õ¶ëà„/ž]âôןžü;þ%Ê[.Eåüˆ9æh>«’²b&39‚Œ w´@@hŒà `'»ÚÍy ¤YrÐ#ÈBˆ¼&­ÀGóð¼èýS•ۿж½úð‡þ@ ¢¹¾"¦ÍmÓ—Ýî†7ü|†H€Ë ”à?ùqÌ~XÌ¢’ðG2ý=.Lç©’ÿlCÀ2š‘€ÿ»\æXÆîYÍ’Ó ü@Ç:ÚÑ)ôÀµ<@ FPö¸ÇìI;Ú…,)a PBCÚŽ²‹á khC¿¦_:4ÛÙ²GGxò“  ¥(GIÊQÞñ”C¢½×6¯ij‰†ÀL©¢ š(2‰ŠT´¢r´ÈË^ê2^ÊèP@ôŒ)€gL¦2Çx6¶qMx£Þt$ÇSÞñ ÈæèˆMmZ“Ž2À„< ùAGžp‘èü€9_ÉåM2ÐcV@ÏzÚ³žþ`€  M^{~ðäZƒ‚ô ­Á@ÊІ:ô¡-%)j:¦2{«´^Ü*ÄÈr´<Òkܧ\šŒºN/WªE.'˜ûC©°Ò9eêf€7%æ2͈c¹, ‹7SÍoÒ‘ 2p€ ÈÀÍlŽÅ¨á'9 iNDšå ê\çTÝÂsR*˜–€$PˆMÞ “ ­A hк¶š.¡p«A!JW‰Š²Ž©Ì(+ÇG>éæ£!¥ ¬NzÒ”‡¥ˆ¥ŸK‰S/ ³˜Ö9£NÊ ‹²;í陞ù²7Âq¨˜‘“ z@ÚÒš¶y ÃÈ°?0€ 3Ùþæ7«yÜⳫÅKæ£øl”íèG§LÒ '–àþw`0ilÁÓ!àd­ø`ž~ºe¡ŽB…IýSßáæ8wµ«Ï@-¬à ©^µ:Z­k^KÛ×àHzÒÇÁô¦;éɮɲŸNu¥+ýèи(¬]]Ü1ì0“gB$aÊ}Èž@÷ nrŸûíaþ„ºáŽÐ5Ã[¡õÞò¾öz2¨€ øíoXˆ‚~ÅáƒXŠNè{á›xæQ½4°ëÙ8Ç/mØýb:ä ·ÕÈ1Vr“‹‰J˜å´ÇìéÚ¼'æ2÷,# ?àüö:Gõœ¬=–Á«úÐQô^Ýêà úÓ£n“©+ŸéÈÖµÎuÀX—… G¶þ_Œ ¸Ð^eï²}Ü妽iÀ‰N˧Ð3–½l3Nd™þpƲÛinœÙþ63nå 6€Pžxsµ€WöJÆpƒ×o6`¢À~pÇxrЇ6¾ðXf €d– £` 8p6'ˆ˜ ønõeyP¤_Œ¶y·8óy¡·ƒU"2VzÃá=(,«wYž†$°w²Ws’з—s¹·{Nv¬–{®V|X§të°ÏuR8…¼wbÚÐ…ã°…WwtÔ×U”Ôu Û—Å° N2À ä×]æ×vé·~öw 7 fr°4ànffþf&f;мàe.ð é×õ'‰ø „xe^¦ˆ4pP¼  7€8 øI° wèo£0g~Š8D=Ð —6(hæp’G+¨‚(ø08Ð ïK–‡_"µhÇaƒNR„£ƒ<ØŒèáƒ$„—†rYR„¿QF/'?eJøF´ç„Oxs¹WØò{V¨sXx|ÐVlM‡l_(†ï¸lÎölÁ–tÓ·ujøU×æÀ}Å  Ý×dO¦Õ‡EPèg3~H‰ˆê· ;ðx3ãVŠ„˜3’ȈôGè— óFŒHnœè‰x7P¡8Šždxt0xdÆzfpBdþgr *ØogS §P·˜‹¸¸‹ rSÖp GKí3XÈXÖèyÎØ”Ï8z±"—–icbÀ®sª1±×0´g{wpŽ;Ç{@'–D ¸€uЀ l‰ Ñ p—qÚ É†g —r ÑЖ؀uÔPmùH]ÖÇpX »˜Ûæ>¹v|¨É~€èvö–dFnîö‘7#‰š©eVFn1ÐvŸhPèf Š¥¨o¤X§x ×oÈ]=¤6°( Ð d&9¹“(¨‹,ø©”¨p —_4xŒIÉKFNÑQ8?x`AÈÔþd•Wy„Z¹•©Ò¤ò•f‰j·ö…g€k깞ÐÏ@ XÇ—ò) ôYŸö©cØ2 õ‰Ÿ×¢ŸöiŸò)ŸG˜Õ÷Ö ÿ¸ F`Bà},Q\ߦ‡¹~X™—Yn™9™DÈïö™r'™‰3ãvš#zP ØPI­é€¸Š0Ùx0 x›Ý#£OÐ §6À™‚=9œÅÙ"Ç™œ"µœ#Óœ±²zžÇŒÒ¹¤9••LüC•–•Rœ×côˆÀ•âÉ#ûÁìù¥€ž_ÚdZ¦~ È Ê°¦Böb?ö¦púcmº kª ¸ ˜ŽáU„i  º   :‹™TþtzçG¡“Ù~–É‘˜ ‘!™~Dè6“‘(©›X¢¦Y’v·P6PŠ+ix®éIµy„‡=0Êpt =áÓxƒŠ £¢q°J»é“Rà[ð À ¤×ÎÉ8FZ¥HʤƺŒÔù¤^4L¨7¥øC³B¬9Xš¥3sõAÀ†eú­ Z×Bàšæªay agÚ Â ³ð®ð: Ã0¯ôZ¯öz¯øš¯ô¯ñJ E6˜GÆ<À,`P3 Zà…z¨™Iˆ”ê¨:™îv‘™ Xnžà™’XˆƒXP™0›jš ån+ù©¢0g(k7 þx3zª³y“ïæg±0iS ÷g(ø~9Š³¶zxgó~4ù~«€pð½X¨p²DŒ#åyÿ%¬IÉÐy¬LZ`QYr…z\­Îyƒ“•i²§qØú4PLU8Ò¶•±,Ư´@ Ε\v{·xë[ÎU ïz[¸ ¹P ~a]t˜]T\Ùd¨i‡=Ÿ4P[¡šë籨™Z©rwPî¦n6¢Žë‰¢Äp÷WGŠGf«š=29ió~÷§6¥@fÁI¬ë›±JK;“} “§  «PGËYÆ€hNK¤R«”ÌIXT+„Vk¬”ÆXZËyÙÉ)£zÉþZŒÀ‘½Ò@Y©jr­¡Q10 e04pwn¬° Ò¾ R(ð‹!îÛ¾pp 1p»Ùµ¿N¡Êv5¾_6:éU’eWw4DƒÖ=|ÕÀes´‘`hG¼Fù´ýõ$š¬Ë[µÍV”µÑ˼4e½NJÜ›'\¥Wº9á+¾ŸQi’0Ã4\Ã’8œÃ:< <ÜÃ>L •ÄAL DLÄ–pÄHœÄJ¼ÄLÜÄH| BÄ–€ 2@’¡§“"æºÅ\ÜÅ[¼f£vkÀ›XÀéµ^Õ^ždGB´ÀÀWÇðphÈyÆ82ï¶ËÛÁW‹µþ]Â"lDXÂØ«Ù›ÈÜÞ jd+jg[4@^QÉ–Lø{ÅkèW5R)þ¤=KPh<Ê ¥Æîåð¥WóÇœ¼DÐŽ ¼ÃKÁŠ–¤|Ë~¼¤€È–¥÷s½¤‰¬½Òë?Ž {§q¶=2M¢â¶‘áÊÐ#“Å6d“âOfU~¦|ÊF…Ê…Q…Då6Ñ\γüQP¼y|˸œË¼Ë ¬?×ÉÁÕñ¼ÐÛ¬ÈÓhÌÕ žá¹7 ãÌÏlÎæ¬Éú87/Â";¤6ßÜÐD´À«Ì"äì)‰‘>Ý,ž!$ʹÎì¼ÁîüÎð¬¬_4•¿üÁ"=Ìóþ¶ìqÌÈÜ•žÐ]ν§,"#×¼Ðn_ã3Î]Ñmy²7Ô q*3¨_¶ÜÑKÉ”팿PÊy%MM½äÒ ÆÏ,l$ZªÌõ!31-Ó3 Íù‹/40o³6ÜWÑs0Ÿ‚>£Ò0¦r*t]×¥1\™*«²×®ñ´I­ÔKÝÔºlÒÁ¼¬¾<Õ{&ÃQÂá+(ÍÈÃÂÒìÒmÓ1=Öd­Ô<)—"Áql0›’Ù@-*=2×F=$|ÚFr@šÓ¤€Ý΂-„]Øò|ØOiÈ'S2È«Sb;¶\m­Cb¶ Ô,am˜}>š½É7TΆ&ÁÑ,ÖÆ­0 þC*tÚ|ÍÚØÔTòÚÜ­¤±Ý”!ÍË&³È6„#Ò]BÞZ ¾{Í•^ýÕÄÖÇýÖÉ}Ð3߆!ПC*}ƒ×{ÍÚ„üqÝÝN+ß=ØÀŒÞéMÞÞ¸ÕŒÜÛ¾­&À[ºÌñ}Ùø})õmÓâ„â"âyRâ&~â(žâ"ÀogÆEÊ¥¼Í2>ã4^ã6Ê0žã£ìâ<Þã>þã@äf¬ãi|ã¡4°HžäJ¾ä<JDþä ¥Æ JL^åU>Æi…PàÅâæ¦â^þå`æ'Nù-vÊ=yðj¾ælÞænþæpçr>çt^çv~çxžçz¾çþ|Þç~þç€è‚>è„^è†~舞芾èŒ.èy@戱Ù~oP\–~阞难éœÞéžþé ê¢>ê¤^ê¦~ꨞꪾê¬Þê®þê°ë²>ë´^ë¶þêo06bæö”~ëÀìÂ>ìÄ^ìÆ~ìÈžìʾìÌÞ첞ë‘’îë•îìÖ~íØžíÚ¾íÜÞíÞþíàÐí’^¿îèžîê¾îìÞîîþîðŽéãÞÓ~îñ~ïøžïú¾ïüÞïí>ïwSïÕîï_ððŸð /ïºNîÊmï ñ?ñ_ñì_åñßñÿñ òŸñÔ\þ/ò(Ÿò*é Öò.ÿò0ó2?ó4_ó.¿òèNò5d'ó>ÿó/p1ôD_ôFŸôÞ®óðt=¡6õR?õT_õVõXŸõZ¿õ\ßõ^ÿõ`ö6ôd_öfbŸöj/óáÎô àôŸéBöt_÷àavŸ÷zO÷x¿÷~ÿ÷€_}ø„_øwoøˆOôsŸøm1øŒïIîn÷œ.ôï~÷–ò˜ÿ}Jÿé›ò‹ÿø¢/øÌþùÍ~÷mßð…¡§”¿é™ßî¦ò±ßùœ>ûú£Ÿû‘¯ì¶Ÿì¨/ùªO¬ÏóqÏòœûx/ò½Oû˜¾üþû!!ýfAý½IýÓß›hAfFýE¿û¾Ÿü§þÝ>ùÄ_ùÇÏîÎ_ñëÏüÄÕþýÓ?ÿÕOÿÑÿ,áýöúïý!Â@‚ D˜P¡A$XQâă )^Ęqà›b/3”àCŸª*°ù³i·ñ«*&[$2I+¼©œ,Œ¶ {²IÝ;0!¡drËù °Ë'¯LPJ!¯¤’J1Ëtì@¬üQ¾0ƒþÓË3Ã**¨5a;s% G¼Ä•;ŽÃ½6lÎÂA›;ëº%éd“7+±tÓÁoSSÍ‹±ÓˆfI¤ö>z/!´@U9RMuU-\U5ÖWY…µU—X5WYoÕµW- p\rµØb[•Y\“Í•Wcw¥•ÙUíõY_=5Úe¥U•ÚZ­ý–Y_•ÝÕ[oµ ÷\eÅ[aÑ]wÛ—¶—ÛWÍ…6^dÕ-WÜ? t®De®¯¼D4”B ú’`Ùyµí·ÖYýw[w‡Å¸^X&Wßv9õ4äÉ:ZOTSz·ãdZù&z+Î7fŠS½bxÅõU⎩mÖãž3þæùçkƒÍ¸Û y>ZZ—s¦—âW¶Wg~…–¸fr§vXê¦o¦:j‡cîšÕ1á Ñà ¦ a¿}™×j¡;hV­6šcÇ•[ëz9pƒ@µÌd÷n45eœ“ºÞ›¶uiš‰¶Ùg½‹Æiº‰]¼nº'ÏVåfYÖÕØ¥ŸöÙqÈeΛ] ½ï¹í–s›5/½uÚ§Æ=Õ±Vø´ 5Tx²Õ8x·~yôÓ¯ÖgTeß›ï¸;ÿdÁE&¼ÆÃQ¶½qÞm?÷—©¯]cqµ^=ì½ýfuз^}°¡O}®qÿkñ?ŸåvÖ¸õ…oZûÛ\úþ‡@±ìCŠzˆ4CU'‚BTð$(æ©Œv³ãЧ@üYŽ€ÜÞöºg8R!!¡+ ìfÃø ðn”^ïvÇ5÷™„ÿ3ßüü×-ØQ~'l_=÷ÃƇ9Ûaåæ6EÔU‘‡4¢Ê~÷6.vÑ‹_#ÉWĉٰz#b xÄÉ¥Pp+ÄÌ÷à,Ô±ŽÄ²ã_’9ÜQ.ácùx“<öq€ô£ )Hw ÒŽLä )ÈC>²’ŠÄd #¹È?>²žÜã&,J^”ˆÔd*9iIB~²”œ¼¤(U©ÈPv“§ôd&íØÈIB²’ˆJ)cþiKYæ’˜Çt%2uYÇ-†Ñ™Ï„æÛ$@É`Ò•–L¥2KÉËeÞ¬¥- ùMÀ¹‘{$£ MâƒD˜ï„g<å9Ïwr“ž÷Äg>õ¹Ï,Ø“Ÿÿh@*OÔ ýg3£¹P††qšýgAé‰Mƒ–Óœž‚ã¨Ö‰2ˆvtžõhHE R‘–Ô¤ø$éIU P…6Ô¥/åàJ JÊ}Rt ½hŒ2z²9Êt¤4õiPù™R¡Õ£D5jRóØR˜6Õ¥Uj‘êSœæ=;•câ¢zS nÕ«»ìêWÅÑ°Ž5ªLujZ¡ Õ¨NU¦Uµªd°ÚB”ÉÀ®wÅk^õºþW¾öÕ¯Õ«»;XÂÖ°‡5¬`»XÆ6Ö±µ«b!;YÊV­jÅì%PÙÇJ–³…k\!3×¾Ð!§EmjU»ZÖ¶Öµ¯…mle;[ÚÖÖ¶·Åmnu»[ÞöÖ·¿.m3;ܧ׸ÇEnrkKÚ ”Ê —%nt¥;]êV׺×Ånvµ»]îv×»ßM s[âˆÖ¼çEozÕ»^ö¶×½ï…o|å{ÎÊx®/DË|õ»_þö׿ÿp€<à7¢3Tq¼o;óK`7ØÁ†p„%<áþŠ—)/…5¼awØñ-lª‡ØÄ'FqŠU¼b¿gaqŒerôN¼â&‡ÀÅSnq"ÙìéC>o’×Üæ9EùÊunðë<çv¹®ÙC˜ïšæ7GzÒ=•ó‰¿$ã;ÿùmýrQQÀêDß·Òµ¾uÈ0ÝàM?yË©>’«cä\G{Úâu„¨œâQqÆÞ€²S ëjÇ{ÞÙŽr·¤àp¯°Ü…^õ²ß=ï‡ç:ß+v‹ž¿o<b>ôŸñ—WzÀït¿ó¼çRüä uÃcþÞô§§0ä%ó>Pžô–G}ìeð°^ôd¯üÑg¿{Þ?¾ö¬§€ë­^úÞßøë…<ðƒ?úáÃþøχ~´kOt«_Æu'~ôµ¿}ŒNÿêÖǾó¹?~ò6uî_òò·ßý <úEr}õ'™ýïÇþã_vÌ?üºÏ¿|¿ý»ºþKú{= ™›(¹Èp<ˆºd<ãÓ¼¸™¼ˆ¾‹8´:t€¨?5»? d9«’ÀµËÀ„P¼Ï;A‰HA›kA…ÀŒAÄÀ¶{:¸KÁŒ5¤¼l>4Á§»(ô¼¥ÓA“ã@$Œ%9¶cÁ‰°þÁ#dBžsÂΫB+47 B"´;ñïøÎ;ÕKÔã<¿sº7$¸6ü;*ܼ'¼89lÂ8dÀ¿ó96;4ÑÀ“s»@äB.ÜÂS4EXœÁÅ‹E–ÛBœÄSdF]TE_tÁQûÄ Å!Å‹ˆ€lÌFcLľóFb„ÅgüE\„Bp„:s¤Â?üÆqDHï”Îã\D³NÛ4LÔÍùTÌë@ {Ï„`Ìûô”ü„/È«FÏù´úTˆýäOóσ@ÐEu/%Ð¥ÏÞ”ˆuPƒÐŠüÍ Åˆ ݳ P¿0QÝ4PýìP 1 eÑŒpQõ‚¼AÅÑEQ›Qíщ˜ÑôªÑù܃ÅÑÐQ]Ñ å°mR'Eþˆ!E¯"݃+EÒµÐДÒƒÒ.•ÑÚŒ²¸RÍR]RxŒR0°/eSŠ Òó‚¼$­¤;½ÓØRû|SsÓ>ˆ85¯9ÅQ°S<¥=5­ÔûÓFMA­7h€@ÔCÅSE]¿ÈRH}°GõT†ÓÿlD5Ôù3UMµ?N]ÓP 0PuÕÔ¸¢TSÅÔ<ÝÓmÕXõ/XÕY¶R½TTETU%AVåÕ óUWÖœªUD…bÍÔ\UÑd•°e ÕfÅ1aÅÓh=ÀT¥ÖÝUkÕ/lõTm5§gíVi0V:W‚èTrý/s…Ttu#umWþl×~}W0s¸ Wz…/{mT|M!Jí×}¿…u×peR‚u0ƒT„U¡pX~]Ø=µ€åR‰e0ŠíS‹}#Œ]XõWˆUÓí!ήóÂrtÙä<>‘}S’ …=Ù†m×läØ^X˜W|ÅŒ¨Á%”ŒH,>šeS›å“íW”Çže6lüÙÀ$IŠ(Z˜…À½ÜÅ­SZ0eÚÁÙ „€Úx”ÚrãÓœÅï,N‚ Æ®lOH4εtLÔûÚ. [Œjy<[mL[]Û,lÅÉGÃÍˈŒÍ¹ÜËØË[)ÝÛN¡T¿¿¨UY œ°O®5ÇÄ5Ú'¼[¼<½ÇuÒþÈÕ©¾Ç¿åÙ˕תʾüˤ$ÏBdD¤„Ý¡uÜQXz5]™ÜÔ­\´eÝuÝÆôK‡´Û¡Õ\ååÜÞ#] £A`‚é¥ÞêµÞëÅÞìÕÞíåÞîõÞïßëXˆÞ½*ÔÕFÕ€ÀýÙ ÙáœK׬ÌÙ4ÜåÝÑÕÝ•]¯–ÝZ4Z Ÿ”Ê£¨òÍßöúÝô ^À^ -^ôÎàœÎJŒ[öœ[öÜ»ììZ¤{Þ2ìàLMÜ- à£Vó=ÎFõe_dYû`ô Ë ôÂæü߃0aöá·QáHMà=CßÖÙ”]TßœabâUþ¯^t[¥äßÕ„ÛM\ˆþá,v‹ žÒ&¦Q§eØ‘„1ãx`÷]â‚õb4œ Ž]ù5MÅ]ƒÀb-¶c.®/&ÒC»Œ‚?þã8ãN㸪áóX^Û_$œÈÐ¥c;†dÀcQ­ÊЃK¾ä‰ ƒNîdANb-äW]cBÚÛ%ÍÂmÙUÏ9.áH¾c®d@þcMNNöd:°Ae;ä£õ<ól^ÀcåÖŒˆ:†ežä‚`a¹ªZ–[ÆeOÞåPþØ^î¯_fá|ãÓ¬Ëú=ædÎâe&ˆfNg¦eiÎe]æelÎæRf/âŒNîÖNjùZjkj§Î.¨ž/©&ê[ÆhÎêö:äììßµ¾ÚÀéj¯¾.°¶›.êª6ë³^¯as Æƈ·†ëê’ë(£k²^é£ÖU¼VjxFd­åëÒt#Àìéìÿ,ìi¶kÄ®V;›;XÏíþÐíÑ&íÒ6íÓFíÔVíÕfíÖví×Vm;˜‰Ðk ¾Å¾®bº•Å‡ÄÃñ Îpžì™–娾ì²Ölq½³p€àfî—r€ mÆFdÜFÅ›L†L—tCÙTÉnî̪ì÷ë®kv>îÝ…³øîõ^(èTé&Ea¦_»Ån]”âÈnöÆ®ðŽÐâ>ìƒÖˆ„¾2õÖïÿ"÷n¤&ÅV†ßЭ@pç×Tk6ð¸Nð¹žêò¶jx•áô®ð÷ _aø~ßä-f·Z8~LäÍo.þV`ÿ6jÏ·2wñbQnìE>\ü®ïÆûK9nqÇ,ßþ3ÏlHŽ2Gòçñ.öñéVOØ4F|Æàæ-ÎõÄÅðDˆžrÌ2à 'ì 7ì×è‡r “ò2/ð*Ïã+3n5Õ<×ó=çó>÷ó?ô@tA§ór®éAeróvrªMn9§òè¶ód-éŒo‹^ó&oóÿYþ%Z+œð'Fˆ8wôõ.tf&q^tŒ¨ô”¾tEÏô'/ñ~Ù¶6¯ŸõQoîR7ôHGõCŸÔDßp€mßx½a¬uZ+[Çõ9‡ôk¶ÖT—`¿kÿíË(>DÝfÞ·Í`?lpæÜL*&ˆ[_öÉÖõæõ_õuZ•öóÖ_ŒpcÖTñ³Œðþ_F§,ÊPwö.w‰>utjònõ`ïØagk¢TJü®CNÆT>yHy•i–?w—ÿwKÇlçp¬fëzòÎmÜ»\Çù6I6Äw n¡wvIygùWgô®›`º­`loë=Üö°O-çve·zrov÷wâVó£xŸíð7ûù¶Of¬‡{¢—û±¦ûi7³¼×ûHæûÄæݭDZ®ßxMoô—ø·G|rµx.cü¤çx;#|È×âþÃßlÊWüt½|a¿{7Û|ÎÿaÏGîÄ/zV|vÇ\ÍGý•—üÏöÐÏ×ÑøÒo³ÓŸýV}ô¾ýÖÏøºŸÚ™Oïåþ}q~îÚ_}Ð'~ ü2{î°þëÇþì×þíçþî÷þïÿðÿñ'ÿò7ñwç~­þ€Ÿ~Å-ŠÇ¿Ê—Œ—~Øo]øGë–ÏVÜOXÝ„`ð „ #Pèð!Ĉ'R¬hñ"ÆŒ7rìèñ#È‹"Ldò$Ê”*W²lÙq¤ËŽojH©Y3B‚èðäiãÍÃ5šŒiô(Ò¤J—2ÅSbѦR§R­ºò©U…3mÞÌþ¹³'ŸA 6$Z6+Ú´jײµˆbÔ¶rçÒMùVíV®8u‚ ԡгãÖ-lø0b§$¡ NìøqÝ»ióÚÜûµ§XÀd7†ìù3誒vmú´ÑÑY)wå 6³ÂÀœ£®mû¶FÕKãîí»¢îª¬¥Xî[ãoìÍfS=ç9ôèÒ§S¯ný:öìÚ·sïîý»öƒäÍüùIhC+Ú-¨A‡¼l_‹:#7Üp±š,g!ú!¼††DúTOP½”ZÖ±°®}m^c«Ð3)e„eKÌz‹ÑÀ×­Âõ'q{[Änd&t ˜j—¤\Gz•¶ÍµæcÁi‘eNò‚¼dÉvÈÉ7}‰nŽŒ»O¹X÷º4ämk3û]çbµ‡þæ¥H{ÝKG"ªw½p€|‘a‰¬ÁŽ’ïˆr;§Ø÷¾ÆÙ.,»»ßº6“ìÕÈßìCꬖð»H‚mÉ.Í ^â Ô‹3æàFAرÆ…+LTüúV¿&k‡'.M Î’âå›zC|^7Œpx중‡ûs¡ ¯S¥zÆ ʦ{c]1ºÑ;þ¾p~çFi ÷÷¿t <á“ß!Éò­ŽûÍüÅž¤ÝÕáI_9Í€ŒSèÁþÏöm’ùšöŒø ù%àLTBõC…ž%ÌT`Œ\ ûÅ_¤÷ÔþSì_˜àÿ}š§YÛ»E.[””ß*me]!’”eýëEΊÛüÑžôå_8t€äACøß%ÖY³aPAœ©‹P!ðÉúñDû žË5ˆÄ : ìß º!÷ýœ'±YašÆÑœž¥ •èáÎÅêaDëaÞë¢Õ-\÷4H èŸôÁœâA0" ¢—”-ÝÑÎ[$ o`b&¶Å&^D'²_æ"ÛùXô±@ìÁþéÌ °b.Yþ+¢ -Nb4ÆÑ%Â`.>Æ.ZD/úá/6Ÿ¡çA@)B@ìß &!åÜNÜ&Æ5›Îå¡5^c‹à Ûè`À^ Î^¥‚ØÁ85ÀàAB¤£¯Χ}%™’ÎÌÙ\%U"Ïu.ÚcLá#é#?†âËUK t¤†@€È@Œ“Ÿäߟœ èe¤FfE6VÄ6^7f`? ß­BtIž$EØ ÛÉäLŠG¦‘G#ç1—­ø$Pš¤¯,U2ðåQZJR2ÒRzãN’^°ä_Pf¥]µ‰w™%Sm¥+U ì#S>ŸS~ŠXÄOJþ¥ZN“?æ¥.²%1¹%\z%H ¢HêÇ]â%_–O&¦\Ô$EÜ$N¼åGãÕQK]’ÅO–%cŽn&^ž/Jf\Êß\þã~d&bò%VzfL8æD@fˆ¦`R¦(Z&ejªåj²fK¸¦DÀ¦lêä`îåž\æ~hfªf=ò¦UøfDg` 'm†¤mîÇAÌIææLî&sª„sBtNfS¶]OZ§Aø‰ D¥rgwJÅw>DxŽæŽ¡iêÇA §zæ%w¶çI¼§CÄçlŽ§0>¥}BÀŸä_9uÁz.&R…j`Š§\’'„ü Pf¨‚êçr6(Sï^ïÁäQÂr33#Gsãóô™Sõ]_öÉL¦½F¬/ ô#+sDÔE[öißÿ….ŠqtX14ZÔ=×ò8t1g„HïÞî_ÿe´G°£ #óLòIN´MçN3£¸ò4}3)¿´0Ûs2ÿôEˆ4Š "ỬÉòªO—3AKu:À– ètG µš1sK;³°BsL2T[þ„ºdêÁŽµ:‚ÚȆZ‚Ÿ({´[orH{à:À\×5Yã5‘Ylÿ¦ðN±´À8ô)K³7Õž¢¡²á2f´°Õl5îU?éV4PßI6À¦á¶¡f›Ð , ìK9¶U¸´³µS¿5>â!&¢,âa/÷Aoݲ_s²+»3Jâ ¢"„Qÿ¬“Ydk‡/Z?v8ÃômsµL›³8š"*ª¢sÿöá.Z맆övwuwïßw÷Á*ŠwôÆ#ð˜÷+50_wScê-weãþ%ã{ß5p¿ãïj0¤vðS6Dô÷1xx øx w›xÉ6ê@6Dþ·3>c9êÁ9Þ'|ï|¿6ñ‚ö:'¸zs¸9¢cˆ+ng“¸£”…ƒZ¿¥më·dó÷@äA&äjkmt{ÚÌy_#ø[³s`$>õ8‹ŸtÕú\ˆíbS8é̸ I~?t[·vG5Jª$KâS˜+4@‹iqÇN2"˜è˜ÿs.ZùDÕSkyv‹ö_ÓtE¸y™ƒª}£øhûJžÇ3 DzMÔv=ãxDO67+Þž7«‘wy;‡ô¢'ž ë%jú,ß8‰*s*7:”žø‘ûyGËs cú3ú¦w§{º.?ºGz‘z3sE¦£ºžr:.³úG ÷ÿ9¹P¥Ýþ©c7¢kx®ëº£÷y¨/»ª»n ûZÛú±bð±#ûFð:—´‰+»À@»Kû|Îåª[»w‚:¤#ysÍ€¬»·»»¿;¼Ç;¼ÛÁ ¸-©:Á|;±§ú&;¹£¶£yµÏÔ8¡.>Ù»¬§µ·Ór~óû~ÿûFžyÂø;X5êÚ%Â[:/¼¦ßºª<Äg|Ÿ»¨ï—Å_¼2º:gâ»êè{Ã{|¿ƒ|oDVÖ¼Íß|Í‹ÇÈ;¬3»f<ê¦<·+æÆç;ÃÓy±ß³Ì߆g]¼Ó?=ÔSnií|ði3ÉП®Ðßûq•ºÑ›òl9oP|‡ÌVšÙÕ}Ï_þýke=‚„‹~À=fŠ|׳|W¸üÐ@Ø×yz÷½­À×~AXÀOüÒC”ÛˆEâÀâ3þÜó¹Æ{}˽ދ=½„þw ¾¹¿:ºc}h5¾â>ÆCþ †ǃqåó}¯·þ§hþ½úÒàSqº¨tSTœíÆ®ìPÄáˆèDã7þÖSýêöÞ¯~Ò—<æGƒšó?¿Èp¾ÄÓþJ˜5Uàþ‡ýëÃDDïHâ é;~é{tñ§~#¿Ãç¸Í ôNÛ¾ûGƒ} –• ô+J‹Õ?½H¿Ê»þçKL‰¡@È0p @‚ TˆpaÂ…!>t±‹1fÔ(þGŽÅŽ>‚¼Ø ¢BJž,¹’eË’ojH‘)3BväÌIc D ].ŒâРG#NDšTbP¥-ãp0UÎTU­fÍŠUkW¯_Á†íÊ,Y±gѦU»Ö€8U®Œ[ÒhкKñ"œÈ‘ G¾}ÿ ¬w°_†‚ì{˜±ß„ /ìÐñÁʈ-¯¬¨‘3ç?t9÷!鼧WÂœIÓ&N;xúŠ÷®ÂÚ¨]>Å­Waâ’ºWFµÊÕ¬×âl‘Ÿ=®uyrçÏ‘»…‹R.uºDíbß»ñaÊŠÁ?ðxÆã!Kþî½·döê3‹7ÿpsgû/‚Î/º¥þi“Ö· p ÕV«é¦×`CC6‹òº lª©ô ºŒ!Êöz,2Ì4ôm!á¨N¹¯ª*ñ*ªü«™»Š,ÇP4‹Å9ÚŠEâTtºpÂ1¿œÈJºÒœŽ%#B2Âø«0³óæCì¯õÖcR1 #sòI(ÏÓrË/é»OÌÐDÂÏ"’ú+ò¿%$p&]Ó‰ú‰AÚ´³-O6ú±<Þº¬=ñ¼|Ð*!zK‹EåXT‹F4Ò!}RŽ”ÑK­tÓLÕ4TQGÅ´TM+MÕRP%mÕÕWa}5 sBRÞ"’%ÿ„Ús%%ùtRKJ'³,0*Ÿþ$vÐ&Ý{o/c;ÌR¢Â4sLŽ0ò #4wUó ^ù\ÊMÖ|mÎ}u I`ÙÔM¾@¹LïJó ­78:Í·S¿H•TUVOØ_}=å´_V µÑ…5Ö‡!~XZå°õÖ\÷[oõ<ŠÝ%…%ï·†è-™Ëeç5¹Ð“WŽrKàªÏÚ™;㶺”8÷¨q¥€Ásëœm©uÓÕÙ]÷mïB‘™öÎÏ’EbOIýWáIM­à„÷µškNN˜êˆÉ.{âŠ]ÅÕÈ›-º(·ƒEZeøšörJ0çCtX¥»ƒ÷»wa†@fš ç¯[œuÆgŸÍ¥s!;á¾îíÄþI–°ï¦ÉÛ›nÌïÕ×aXÇ–zkþ·`Ò N=õ°E/Ûõ²­p"‹´1^“mɳ£œoÀ7$ Zhå5,Zˆž~i“1› ËñVhð ·ñˆ4Ö=µ˜ lígÇ‚¼Á¢?Žðhô’­¼ï¤mþ ¨}`W½5~­?çº}ÑOoÝê×ùï_ µuu»$E®cÖ3àȨ>ÜNpÐs ¤G½œA z \Læ½rɉ{ñž&w@JÙÍxQœò~7¼{e…YðK aCRŠ…rh¡ oøÂÂP‡<¼a9âCq‡Eœ!ˆCþP†Mtâ¡E0cþH!¾ЂFë¢ËvÃÀç=PL\Û¿ø’Ì!ƒäŠÓN:H |\Lã]ò)î‘}ôãHAò‰T´Ýôp§.;â5ú"‘É1’Ñ>f © ¶±gÚkº¾ÂLŽ)z$ä)Q™JU®R•†ÜØáÚæ±E’’–µ¤%£7š b1›dc'7GP‚ð!Z´å(MÉJe.“™Í$¤+ ‚E,3‹³<æ5i9I\jÄ’UD¤-}ÉFÆqp˜t%6Ñ™Lg®“ít&4¯hE Ê“šÔDç=ï¨ÍmnK—߬e8ç0NaíNæ,¦5ñ™À84À2pèþC!Q‰N”¢µèE1šQn”£õ¨ ЀڽR€ç<BšRëésŸg꧱ P&¨œH!šJ) t§=Õ]tŠÉKP–>5j>ÛÒÒ΄ô¥B%¥L=IN‚¢´š&=êá­n•«]õêWÁV±Ž•¬e5ëYÑšVµn0-éA‹zU¹0¤ °ë]ñšW½îu¯hêPÿ¹F6ŠÓ& Ø^MãÚ«¹.–±=Š4é9K{:–²*­/¿Uö“S %\+ZÑβ'MìhQkÔËʳ—‚¬8+ÕÇ Í¦uLímq‹ÍÒÆ2w¹õí=WÓ˜ 6 …=¬gþ‰©Øß.—¹ Üm"[2ÙæN—OÁ½&^kÜÎζ µµ*uÁÞ¼<—¨½ïy­gÝcº‰°›=.w©zSôΗ¾þ,hY_ý.I½à¬dÒÞؾŸUî~<_ò~·¼ v0^úX&XÀïímOKÒo¸¹›æ,1Ëa+Ä„É„ [ {Ãæ­b`cϘÆ5¶ñqœcï˜Ç=öñd!™ÈE6rø>Œ”“™ÉMvò“¡å(G®Ä <1€É5`š"× pQê—Áf1™Ìe6ó˜ÿÊà”œ™Ímvó›áÜ]§ŽòÊXVñv/,g‹˜ÏNrŸþ­»*°Î¾³ló_ªšÑ©ýs£!- A°ÐÀÔ2Ð œÜHozºæô§—2iëUúÐ;Yb÷ jU£ÖÓ«vµ[×ûß O¸Ô°95—½ûj]W¶Õ»öµ¨uWh&Ôš·Ît—}ì«öZÙ®6å„Mlc'ÚÀͶ¶e#{í]?;qÑÖ®œ¦Íb=çWÛån¶Í½jnëÌÛî5W¸åØbr§›Þ´dv½½îpµûÒðÈ•ÌZ|úÒ¡u©û´é(ÇõÔ±žu­ÇzÖ&w·Ó¯¾u±ì —B×ö²¯ímÏ ~r[?Ýíu·ûÝáîõ~Óýî}÷»Øݤ÷: ~ðÅæûߟx¥cP&‚'| ¯vÅOžòBg|ãaûxÈ÷üç•÷üçë½É7Vó‘?6èQŸzkû2˥缼U{Ùsšõ–výágŸ{Ý'¸ö™¼é©½{áê¬íÿúqŸùͧ®ñ³»Y $÷ηþõ) :H!ú ˜>á/î‘cŸüå×y ¶ß} |óÕ7ÿûá/\þ:¤¿¸Ò_á•?þøïŸÿ„F?ýaký0üâmùúïðŽÞÀæ/ýP1€ÿ ö°-0Øpþ² #0ÿ.ðAÚ2Pp=0Q0·cpþJpý$Ðç(Pi°!‚[ð;Ðýl°CPc°ó|°m]°°8pgÐð‘„🰠S0 §­p É •™Ð¹p áÏ íϵ ÕPøÌ°r ©p åÐüÚðà0 ç0Q¯ßãP‘øêðú0 õ/ïF0 7ëñ 1%Q÷ÑwPò&1)¯þ15ñ?/ÀA±OIÑU±ïPñWñÙ®ñiÑòQ Ëu1k±µN1Ñ…1é€ñô†ñïaK;Ñ‘ñ®ƒ©1•1™‘«qÓMÅÁ‘Þ¼±1ÍQÄÆqÅðÙñÓÒQ×±å±ÑÚÐìѵqõÒêñ- ÷1 û¬ï ò Œ ñѲ!‰î7Ëÿ‘!²"çK!- (Ò"9¼0R#g±#E²²>r#Gò$q«$C%Yò¨T2[2&³"@"A&e2'çê%Q'}’±´/ Ë&Mò'þR¥‚2‡Òo²'ò)q*)±&™²(¡ò*ý«q1"«r%±ò+)íÿ”’+ï±)§,Ñ2Ö´¶ˆÒ+Óò-—D*·’*ËÒ*áò.In-—².Ý/ýòíÄr*Û'ÿ²0ã20çr0Ò0“Mä’-»’0s2S/ÉÒÍò)s3#ä1÷3í’3Eóz,“.A³/G“2=ó2324Só5b5M³5Ñçló6q37us7y³7}ó7WN63Ñ€³8ó8‘39•s9™9…32G§¤s:©³:­ó:±3;µs;¹³;½ó;Á3<Ås<ɳ<Íó<Ñ3=Õs=Ù³=Ýóþ=á3>ås>Ãó9ù²4š3?õs?ù³?ýó?—Ó>O6 4@”6 4AQã@3SAÔ%´çtB"B)ôBIS(Y³A1´C!ÀB=4D1!ó>EÔCA”±Z€X´E]ôEa4FetFi´FmôF[´tçÖªG}ôGÉêvH‰´HTH)‡GtI™4Hw-E犬€‚ô> À X q$à’ªJ—ê$@K¹ÔKíÃÀTL»”L3ÂLÃôÕ6i,g“C*KËQµ Ku&Ú¼¤b¤–DOëÔ§ú4q•OÀOÝѵ:£4PU OÃ%*ÄkH"ÕQQþDRËRW-œ“QåŠ,µ§RùDSùSU©‹SÙ„U;MU#M³âTB{JT'ÕT_uTqÊUÿ”W-KVwV›ËW•¸ê¯V W7UWuR…7ˆ•¹Œ5S5¥ªuÓ OÀ†3T¯5¡J•P¥‚Gȵ\£#ZQDÌu]Ùõ+²u;Ôµ]åµ]ß•±§ûºõª˜õ€à _ÛŠ þu VÐœ5Bâ•\ad^›ã\ÅÕ\)-v,è]Oã`×µ86båµ^é{¸/Yóõ¨öÕz6`MÖ¹ ÖZ/v+Ö\96]Ça[$,4vfk6-^¶bc¶]1–fç5,rÐþÆdAU_¿õ V`•’–`¶\{–g]–bóÂbŸ#jI„-VdjŸV^±Ö8~,‚v =–ûJt@kd)§iÿµ­šÖiótgw¤9–F^dFêöfÑbl—ÂjköFðVDìVoÅ‚oKInWvf]¤FB¤pö-¨–lWÃÒBvN`¢mßn#_ü§UÜ'Låkêuüž2tC÷`&`HWuܧTwUY·u_e„L·TöwiG×ç34m3wi‘Vi;7qÂ5Oowg÷GðGtåÇw¥váµy[wlv7U#z?w­wX±—zIg{G‡|×MËÖþr‹Vd‹—i7wi“7\–÷sÑwt§÷jüz¿·uÃWZÇ×´wSº÷uÅF©÷Ó5€©w€-¥€w}/x×÷l‡·Qù5~á×xÓ+em÷~¥7vØs\7t¸b˜8tÌWg—N¸jSØy¥· X‚[%†)Wƒ”•±Ôvm—ƒç—¿<øz%X„Øt‘Øwu¸ogØu¨f F„Kuiwr‡]·…³æ…™‹Ñ±‚…WN}ê‡×Ö_ƒXs;˜PŸøu ˜€YaøŽI|Áø(ØÇw)e»¸kfU8ï8(ò‡øMçµx‚Õ·r-˜Œoõ}¯©~OþÜé’©‰KÉ’1¹“ùH“ñ˜“=9Š”¨@¹øÄxCm§Ìx¹(ùUEy”eyŠ9by–q9 NÙ–sÙ‰J™vÙÁ‚W•—U’é•ÿô–{y”ƒ™%Ôi™™¹–¡B™—ù—ש™‰.•{˜xs•¡—±j¨ù›Ý)œ#â™Éù’͹¾†y›1¸Y½9=y嘥ٙÇùž›‰ž/R›/·Œ)ˆOï”Pê£:¡Ú¢B*Ÿƒã :¢%ú£Ú j¢1:£Z¤(Ø‘Çx•UJJ©TM3âJ‹x7tŠ§n ¨Ú4\R¼XZKw ¦ƒª‘y8 ËGuz§yº§þuZw²ªI…z¨Ù ¨‰ú¨›tˆ·#¨‘º©T©;Ö£‰ùDQ Û—ª´q« T«¯š« Ô«M¬T¬Ñ–¬³Úªí± ­GS¬+€­AÚ­7Ó«ãZ®é:­¥š*`;°°¹ ° û°{°{±»±û±!;²%{²)›±  ¼à 4{³¿ <û³?; D[´Å ´Mû´Å` T{µY»µ]ûµa;¶_› h»¶mû¶q;·u{·y»·}û·k» ÊÀ ÎÀ° ;¹•{¹Ñ`° Û  ;º¥{º©Û „ûº±;»µ{»±»º½û»Á{ºa; È»¼Íûþ¼Ñ;½Ï[ Ø»½Ýû½ß{ ä{¾é»¾é› ð;¿ñ;ÚÀ üû¿<À|À ¼À <Àß Á|Á¼ÁüÁ!<Â%ÜÁ9àöz­ãšh ädŒ<üÃA<ÄE|ÄI¼ÄMüÄQ<ÅU|Äe  ¬àů Æe|Æg lüÆq<Çq†%¯\ev\‡¯„|ȉ¼ÈüÈ‘¼ÈmÌÄk É¼ÉGüÉ’œÈ?n¬üʱÜÊ5zË ¼üËÁ<b`ÅɼÌÍüÌÏüÉÕ|ÍÙ¼Ío@öº0ü®é¼ÎíüÎñ\Î%rÏù¼Ïýܘ1Ð}Ð ½Ð =Ñ}Ñ×/ÝÑ5þ`8 <À>B D`ÓE<ýÓA`D}ÔG€J L ÕSýXýRàÕU Ö_´V”\àÖq=×qÖyý|ý×Ì…]ÌcÀ£ˆýØ‘=ÙÇÍ™}Ä›Ün€p r@A°=ÛsÂÑs *(àlÀÚ¼ÜÍýÜÑ=ÝÕ}Íy ÝÝýÝß½zÀèÝ~àÞ€ €`ßù߃àßà…`à ¾à žˆ ~á‹áàá!ÞŽ`â)¾â 0ã•`ã£@Û=þãA>äE~äIä»îäQ>åUÅfbØl‚(Àò|æiÞÎÿüæq^"þ }çy¾çu‘Ñ>èðÑý $Ò?à2]Ó7=@ýÓI}ÔMÕUÝZýP b=ÖW GkÝÖu=ì]€×iØ]ØÃ\ÌZÙ•½ÙÝ^ÄŸ=Ú§½Ú¯½äu"t Û¿=ÜÇ}Ýýþï?ðkÞ _ÞëÞñýú}ñ¾ñƒÀà!à‡@žáÞá#þá-Þâ3ã“@ ¢` ì~ôI¿ôMßãW>õUŸå¥   ¦À" æiæe>çqç}~÷y?Ð…þ÷è5Àè;é1=Ó9ÝéŸ>Ô£¾ÔO½ê­¾Õ³^´^º>G]Tìuì[Àìƒí½\í#šþØþíÍ?Äk`Ü£ÚuÀÚ3€ô=ï3œïÉ]ðœÌí?ÿŸœðã}Þ?ñˆÀƒ:5i¬Y—žÑ:¶ìÙ´kÛ®]Æ þ *äС#CÌ”gu䨀ƒ·îÌ›;ÝùmÛÑ«[¿Ž‡öíÛ{ôðüñ?š‚0}Ãõ ‡<”(±"F‹ëùRäðýüûûÿ_RN¨ LÀ@½)a„FMEa…ZÐU†nXUY~HZimÀ–oÅ5W]xåÅ×^~&Xa„¡pØb‹5æX ±PY˜eÆYg  )šjF™Ú J.¹ätN>y[n7P€ƒoÁ ×Z9—Ü 6`fsPâf™frÇwá‰GÞy¥—{ì¹G|Q4_Föm„_!‘` ‚ʆÞÔ 8ñSé‚ ` LJi¥–^Ši¦šnÊi§ž~ j¨¢‚ê@©¦žŠjªª®Êjª¼ ë¨B@k­¶ÞŠk®ºîªk«¾þ l°dA±Æ‹lš Ël³Î>ël¬Ò¾:jµÖ‚šl¶ÚnËm·Ç^êm¸âŽK®±€@£ &€î¾ o¼òÎKo½öÞ‹o¾úîËo¿÷@ LpÁŒp 'l@Ã? qÄOLqÅ_ŒqÆo|±¿÷r rÈ"L2ÉœŒrÊ*§|@Ë.¿ 3Ì+{LsÍ6ÓŒ@Î:ïÌs>ÿ tÐB' .;PK&dô²Z­ZPK\8–A OEBPS/img/materialized_views.gifà)ÖGIF89aæR÷ååæØØÙòòò&58ÌÌÍrŸ¨¿¿¿Ljpæõø??? ‚³àéÌêðÇÒ …ºÄ'*_…Œ|­¶ a ///9OTi’šïïïÏÏÏAB]b/26˜£/BFVw~ŸŸŸ_em___ïòöÏØãrrs§±¾ßåí³¾Ìw~ˆßßß@@@krzGLQ›¤±¥¥¦OOOƒ‹•333™™™;?Dooo¯¯¯ÇÒßûüý çìñóõø#&(999SX_ÓÛæfffÃÎÜ×ßèÛâê<<<666 ¬¬¬÷ùûãèï&&&lll 0yyyÕÕÖËÕáµµµ¢¢£²²²    yIŒŒŒLLLÐÐЕ•–µµ¶²²³ðððåååYYY’’’€ëïô 8âââpppiii)))|||‚‚ƒÈÈÉ iœœœ¿¿ÀÒÒÒOOPVVVFFF‰‰‰¨¨©ÈÈÈ\\\,,,ààà€€€( q2:gñ=Ƈí߉ô~Žù ’'&$§‘@$á~±ÀDmŽ}b]uè}@Ýlv‰÷ àÁ$„k´Éw!zR'¡e "XÚIQ•€ˆi&*æÞy TvK |@!„;ŽK5|ðê5^‡9îèaŒÏõ€„ŠÉùÐÆ‹L>‡ €p¥ƒ Ö^‡DÄg!|-±À~E²4^ 5°ä¥’ãU‰ “m f•@!' ¶Tƒc¨Å&D…8Üvfµñ`Wng‚@ä'8Äç!Bšæ’{šXv†”g¦‚bx,@8´9†1èF‡8Úÿ_ æµàš 8Dk z½¨Un ’H,¨7ºÔá±Ì"x+fd Í";jx|U«mi'ØPÔn+î¸äúuF ùD¹ì¶ë®RIt*P0¾kï½ìö€î@A‹ï¿‹{ľýlðÁÇ,P¸7ì°‰'@ôðÄ—îf[ñÆ1“-H évHÅÉñÉϵáD•ö‰T’0¥@Ê4‹U•ž12Ar’”µÉŸÔ`êÌ–Á@dåMxšjBWsX³[„@>øË'-Á0³§é8ÛÑÌúA DÄ@ŸoŸÄ@‚{²éôÓeÂðÝÛfÚ{Ä`ô†êuÚñ1ÿ¡êxÉâ•Â¡7~ðz2,¸%Ü2Å@]ÔµI– ºeªoA>0\Z²Ÿð ƒËƒw®ÚxÓ±4è’Ù}€Ã­BˆÌ¸K&³Ä ?ÈÒÒ²/Ý”MÂÛÄ ¯@OX™Ñ,É€5Ì7ÆÙ‚c´É )xýÓ,ÄþzxfËvÙi·©6ۼՕŸ ”궉G<±H”6x è;ˆ Ö*dzlâ° žsPtZ›Èm{/ax´ IÆp¢ÚÍ‚–¥%òLAHÞAœãÍ%0hÉrEU}bv”ÑKÈÄ’⨄E!aò ©{k‚êd‚ñh7­{Îÿ’­‡àé@™IÍ «TÉ`­%Õ›l`Æ^•I{}¹§@„$Ôk.{[âsˆ@?Ú˜Ôy“u@@ÀÎa©B$hÃH–$a_=éâÅH.„P6§ù^D¥*ø¬22øeXÇ;¶Å OÀ'¹”"<¡ˆžÙŠæ(ù/,qKÞb‘A–S„=6e…œDÐ{úÒK†R” ‰ Jy:¦35ÅôÀÒJPj–ÒzBNàA˜ìï–Äù€.¯“#œ f[B“eÙ™s.A¡³–læ8¯”&‹FÒDâHÄ&· ŠE¤Eœð<È ^šå¨`˜£QçKjòÿLÈ`'(Â`†x” p€Ã·$ò„¢¤¤˜s&TJòO<ä!ÊQ Dd"8¹§Ml¼‘¢$ !¥ˆE7Â…Œêr©Lg 3„Á¥  'MwÊSX"b›a*;)ÑÓ¢•--"Šyš ž¨ŽJÕª‚D /àBA2Ï ‚/تU¯Â.Œµ£]=kaÒªÖx²µ­ky+\)†©Î5®:½«^÷J¹òõ¯mõ+`[Õ„ö°ˆM¬b»XÁ2ö±ðt,d'+JÉRö²ž±,f RÖÍúD³žmj^CûÐzÖ´¤]H]S›Ô²V­Œh€lgKÛÚÿÚö¶¸ÍmqÝúö·À ®p‡KÜâ÷¸ ЄC Šæ:÷¹Ð®t§K]Q `ÕÍ®v·ËÝîz÷»à ¯xEÁ€åŽ÷¼Îõ€ÐËÞöº÷½ðÝnyÂÜøÚ÷¾øͯ~Ù;_†Ôw¿°€Å{ÝC·¿ ù¯Ì`¸ÁVˆ‚ü^àˆ/  o÷Á ŽpB&ìaö‚"×E4Ý kר@Œà\—ø¹ ^°ˆBbO`îEœ+P°xº! ±v=€ÝæºøC¾1Ž›bóz8ÇçòsPæR@ @s' ã ùËaŽî”ìÜ€"ÿè°(4p€ ؘƈ2l_,xÇéñ€ý,^-; €"p<Ïeæ0£ÍææÊ[~sœ€âÄXΠð@ì$G ÷¥€˜!le :¼†vn¬EAææ®9ºµ†®NÌgCg€Ê@µ(@‚æf Ø¢pÀV-e÷Ú ‚ð«Á;ëa"A@ak6c[ÛÜŽ.2 [»¹à³Ð\#£Îàr¥›Þg$Úžöwg­nSà(@‘»íe€ <ÜÒ»ÏÍpQ ܆Öt¼ÍLog·ºÁê r”›{jQ„`½÷­=ò‡S×ä ÿgt›#Ðî(G@·¯½ ‚ï˜k×Ј@2|l,:Ü!@vÏÝ txÑÂ~ÌçŒé¤»åcÆ´(˜móñÎ| 5¯:u·ù€ˆÀÅÀ‰QN €‚a;›+j{ÀÅxÀÂÉÌkYo|Û•á«oý^] Y׺௼wÿ=¼â Ü÷ü>ñ‹ü~ßÇ—øÇ’_<åïkyÂg^ñ›—ùÅ\øÏÇ\ÕKoúÖs~ô ½ëg^Õ7Xö´Ï½|aoàŒëþ÷üå=ð‡ŸyÛÿøÝÅý{üæWWù§¯ó§Ÿ]è·—ùÔϾuY`ìóÚÏ7ÿ÷ì}i?ü|?¿ß…o~ôõ¬–¾çÝOýò‹ŸþîUtx)`cøÚÀÖWu0̦êW]0o–FcÐÚ5QV gk0T×]ÿ·_¾|,']i†€K]ñ& _ç]èd àb97gÈ]ˆèU—Ö\pt‚d–æÖƒp@¦d6e'ht0qqæpMèea¶‚gnsÖ\6ØapdF—l•6ƒ48^`,æ°‚"Px7u/'fŒFf†b@æoy6,v‚ha6¸s@†0d}hƒR‡‚I×a'؇9We‡n0§ÈÿÖ\`†áo"€j;'…÷‡Ö5d ls‰Ön‡&Ø…‡Q¦lbÖes Š¢ ‰8ÈnŽ¸€¢ Š³X@g,„ω’ø]ñËVl+èŒVC¶‚\v]0‡²Æ†ðk¢`ŠçtÌpÀ¶q¯Ø‰æoÖx]ë„0€°s½È~¿x^uöŠ!dv¸h¶–ŒC¦ÂöŒ¢˜,V¥HchØd­ø\ÿÈqÚ(ŽæbñÎ¥L†‚ðˆˆŽ~À‡†aÁ˜n\6dànhfæ†pÜŽ¸›HF†a¨vlˆŒÏ%Œxˆ!P*Ù\°^eÿgnÎå‹}v€™×…Dˆ…×ff–l"pd{f‘m6f_dWht68qZXgrFgP”Ï%Ìv…SG•c&gO¸“9y>™Ž’Ç“ñ€fsh™~kù’L—r9—tY—§âՖ稜È÷p8õ—€˜Û¤€µ7–úÅ—Ç÷p°ИŽù˜ ™é“I™Žé¡ „ù]zù–÷¥˜˜‘€¹¦ù— °™é]Ÿ šñ%š àP›¶iS ¥ ·y› €š¼Ù›µù›¬|ò›7&› ÌÙœ к pÎ霿9ÕÙœÄÉ™Æé_È)eÊ™ÏÿØ)ž×I湚ÜYo†é^H]ïé~·4 Ë™Ð) è™ Pü)ž 🰞çõšßc°qð7uƃ藀º´°€)ú—Rjuí™àv¸ƒ"w|Fàhº4.°0£2ºš¡00J¡ P2j6 £ 3™š—!ê^ýÆN#ºMè~¨bG ‘é€9ª™±¦™1¤á… á8eŽÊeÄvdŠÙ`š `¥Á°€\Z˜Ç9`ÂèRx9} 'gX¥ áõ™QŠ9 ° 1§žÿY¤ïåfU–´WÛ:ù\gŠ.P °…z¥õI£‹Úšè¨îivìä§Í·¢#:Ž' X Ÿ²ªŸh° pj0«ºªŸ€?°»º«Œêš¦ê^ÀNõˆ|Žè¤ñ‰© ­u`?p«Fp­Øz­t­tð‚`Ñ®âꡤ*ƒÅê^¨ŠÇç"`vvÈ]™*#ð£Tú— œª1¬¥Z§ Vdov|@n}ê]™:ª`«zkŠ0Á¯æꯦlÕF{xwbv^¢iš%`¥ +ž°€q:±åº{k`‚¹Çªo–§Ýõpÿš)+#›£Šª˲Þéap©­·¬Ѐ畃ˆú©:kŸÂiP€´Ú奒Ȯá5n| Mb;¶€€9d›¶j›¶V›]Xû^]¸]A‰©4 _˧ ªá•€0j¶iKQ s°†Ëˆj¸@¶%`Žû¸ûdÛ¶Õ…µx7r^ÀbRX¢€bKêp…w‚øu†*Ö±çÅ·ö§Nk«(+ª‘Zp¶{»¶KœA¹Ô…µ¤[v\ë\ 'n†‰ñ(]úh‚+ ^Kتuû]döh6¯@¥¢Z½à´Qžþ)ªÅÉž-ÿ ^¤;g!X!&v͘€#‡yÆ»‰^8rúh€Kw‚ìkn‹¾ße¾*–çEwà€™j«8;óŠlzÜ[º+¼;]¾[iÜÖ¦Šá¦À€üˆ—+ˆÁ4ætàÑ8üøuíX‹h×]Z«wF;^úøfz˺ث¥‘¯ ±ÀÖé½,]ü\Ü–Á¦‰G„ÒH8eDŒ]èd]vÈ(pØÅhÍ ]+wúÛ^/L€¯:¨lê+±7L0Æd<Æ ü½z®Ê›ØlR9lÍ•s=H’ﻂrLŠ¢ûŒÞ˜´ñd"ü1ü\¦;jSü]^û¾¸ ?ÿ€ázM0®’|¡®;]=œl–ÊÐtóHÇ«h0T¹:äúY±«AÞš y ä0 ºäàTÜ·øpX˜rðB^€©úÙãm “œæj¾æã* iP­iPl>®RÛКæw` à:çŠÕJ³E6ïùpY  ÿÀ (°è‹Ž¸ß:ç3èÀè”þjæ¤Í"ØÝ©ÛÝn]ÎjZàšjš¶]¿Ý™çÓ1¯%ÀâQ€ãé] Þþ Ÿ>Ú»©M«9pã›IÅ0ˆÑõp[@]q¨ä½¥¢ Á™N0â%οþ©ËÝ©Ó΢ÞÀkwÀÕ°mN‡ í,½Î1 ¾C»omaä=îÑí°{à+€ïÞÓôpäºÐåt#ú©Ì}Ñàî aëóî]¹´€I£¤îú~à+®Õ{Æ, ÂÝ‚\¦€Š¯Q}š±+@µ áð3Mmkókÿ PÆc ºtq`2ßó>/¶(ÛR°?°ó?¯¶s 6@3ŸÞ`- »¶^ @?0C Æ6oÆ(¶p<ô.¿ß0ô1Oã Ð^@ Àö€köp?¶AÏt9êq/¶‚+} óºáÓõÛæö·VÙ CП Üõc«…?¶_¹¯çÕÎÃ×^µîm¹©n`ð}ñ!±:ȧë®lâ¡Î2.nɾ•~áÒ‰ø9lÀ 0í¶Š»¸«c?büí®P]Àœ¿À®`²ìl½vÑõoçî¬=ͦ8¬4:šÞû´ ›û<ÿ¶ûUKþ¸‹óžßÂ.Ë\þ§¯ˆjú¡Òàü#OÖÏÕoï¼½µkû¹»š.h„"X0ÔP .TxÔQ%N¤XQ"ƒ3"°Øq"(!E†JPÒäÉF®\¹A¨#@5À€A9uîܱB‚ŽA е€ ¨Ž@e¨Xਛ€ByrÄ 6„DÈ¡CšÅ^dYãX‹ Ë®eÛVã†$Œ 83¢Mƒ ôîå Š† „}ùJˆ )E@M¨8T¨w€Ò±’†"vàÜ™3•‡hÑb\{VôÇ©U¯fÝÚõkرYÇýa¤Žÿj)4dY jŠàÁ-xÅ[ (á¡,é8ƒ—(®ºŒ0±_^‚}\0ß°§-’.kZ¼(PÔ¯gßÞý{øñå¯Ws¦(šöUtcaªƒW…,…¿*P ”èo" ˆ€‚Š”‚ˆ:þXã‡äã;¾Ô{#Þ í¼ñØ2O<µÜRqÅ‚ X”2ÓÈ®š 3ì?¼©«/H /‰&x`*RŒ1Q¨» +­Fâ@ß<ëÌ¡º0 iD)"¥OK‘E0Ë2`ª¿F¢¯‚ü;Pǃ ÐG EQŠ)#“HI¬VØJ¤ |BîÀ@â”DÂ2K²JCÿôË0%è$ ô’À$•fÔÍFP¨¸`SN/€"2„:íT‹ÓE1*rà¹èî„ê²JEJ@‚É,$ J½2u_‚ØZý¼ÖÍZt>öÛwÿýõô»«BøÝ»”=Þh©#=Êàmq«*PªJ¤r)PPZ'9ŸxÒG×¥E6¤`-ˆÝðæ‚­ÃÍ\³ÿ” É"Ši•((0¦p ¨€ QXP¸p0”a U(Bu=0¬Hìœ/è­h³žA6 zÄ18a'â€t."h¡Ù$¶¼,ùð‡Ž ¢[l‡;ÄEª_ÒI•Xs-ŠÌðox¬¨µˆÍÚéí¥Vµ}õ’n[9ÍÖ¹Ó½í]rë\2ü¨- ‹)–­²rhÔɪr'Ë\aYÖ¬˜¬Š€É’#~W,ÊÔ«2-REózdµcÍWY+»ö¶Ez ØÓJ¦ÒN#½s"ȵ¨DØØàüòU¬~í/`٫ٶ¬|e:¥SÞˆPg£Œň#¼.ô¾K½ÿ\€Ë¢áµ Ä`‡dQK‘WžX¿)¶ØŠ/|¯µ¼¤x, žNy'\‹„ ¹BÿE°Ž}Åc¤m06K0©¤,e*ßEƒ±Ù(è@AŸ"5–}-¢»R$žN6*”×V?ù(Á¤U€3œå<¿ùtùí»P ÖCæS)žŽ%­GÙ|Þ {ÉÇ[tñ[nçYcG:ŠLÇDöÐONtz+|YFc8$] “ ldâ±Ìl§W7MÏYVöÓë 5#M8H‡1uÕ{â:‚È$çõÕˆŽµ=ÝTQwoz§¶ y]fac+¨uñ°÷Ká¤Z¸ÖOÕײق7Ï “±a°ªN;lXsiQ+c7Æl`R#´[Þ{÷]R†16ü xh7 @Á™r‰¡ÿ­ºdt£¸Ó*ž5‹Ûæb³¥Èˆ%ñª{ã¬<á×Vtà ʈ¯e\¦8P=¢d½â7á.6³ jdߥ ØêR¹Ü!w‰¶t4ýà•[ݲ~9­c.Š °QÕ¨b"Àô~Š¹MþœÅWâ  XH%–?î%W›wfFËÀ--߉Ø7ë,º=ë Ÿ;€ÎoßWÅBÚ†¯Ì» ”f7ðkWxËQtå×dùVF¼©|w9Ì@ò“§|åg ÜÀò›ß¡ÅkbQ¬™ð…o»Ë»®í¦Š ˜€øX‚·Ífd*zM§ÊÓXѳ}ëD?=ÌÑÿúÀõ;[^èrWÍš^;Ç=]t‡+MzÅþZ 6d–LfÆgNsc­ž{ç3ú?4ØPC<üHÈ-O*Ÿ‡¡ˆñ‰à•öÍw3ìŽ9 ;µú+aa‡j‰?‹ ¯ÜÓºvYêª-è:éJ@ÝšPˆ€®$Ú ˆ+p.0ø 䦊P$ì9·Ô½Ì"|­lÀ|-=…1À& , t-+ˆ‚ír®—ØsR³¿#7„+Á³©¿´¸¿|y«Gi•ý ‰ÛA—ìË›gK&ÏË8!4AŠá:GñºË™•fQBô“*g[ °!¹ªr§&˱*$½Ý36ËÿR“ /üPØÿ£^k¤¤h£4TÃdÃñ‹x4пᛸµ'Ì“³<ÜÃD1¼ŽûCGy¯AŒCƒ0˜èÓˆ©ÙšÃøÚë(GäÃ+Ì¢Æk Åc¼R¼Ž(¸ ×Ȳ$aëÀ šPh„×@ 4;ã ÅG,=¡;÷ˆ»¹£»NøÀ¸SBQ ÷ÉcŒ—A%‹=^ä4H|¾Þ3: 9Y±Ä>±Ã²È fË‹Ò"­žãÅðë±6ìFõc B Sk‹ÑÉ5Ã0?îc¾4\G¤1¶²µˆÇY´Àà/yJ§¼FlôÅHÜÆL $, B¬G3ñÿÎ(P(„ ‚/¤Ž@9†ìÅ54½,D½Âª20%˜•àè-¸€†@¿¸ 3É!\8‹™7•©·ˆ7yÃ(ø˜·z›8171„)肆°ŽñAøcH~\‰7$©è@³/|7ñ 81¢C®ùsÄ­´¿vd ÛÁ{üF™Ëey›c¹RɈË&½k|Ë"ŒK'ñ¶I’%,˜9úžÉ CL¦iÓÉÌFñƒÈ² ÄļšÆt°Qa:Ë$É>4ÉFÑBâ+r,¬¶ÏLÍ]3%P¬P$ÌÆöÆöÀ‚{‚3¢@£ÿXFÝ€/…5XŽšÂÒÄMŠ…RdSd,ˆ’…qˆ ê @PBXŒÎ&  Ö¨š],MQ4,LM” …q±•r)©9˜x$–ÿ‹k$ÏËtHmSY>-Ï´9Ï0QM‚(ØKÐX‹þKÂók”>ˆ+qµ MPóä=ýäÆPà:* °Á8<Ñ0ùKCñÄuÑ EÁ¬.ÒÖâ- Ô¦¬ÁÜ?x-½;òtÎ0ÒmZA+Õ¦”îRR%dÒ´„@…¬ÌP*•÷ Èÿôl‹”=KLLq̈—hËæ$ÂêJ½˜Ð¶@ˆ\@³Ï4ˆ5¥È6uÇ•4Ñ$ÁK‘”LÌ•AR<}N=u‹ë ?å¬\yIPpI½SžìGÃ\‘A!ÃJ ±й–"Š™c«Ú¹ÕÐÇ!ÅèT ÅÃ']ÕÕV¨¨Xºr¨›U ­U·+Nõ¸3+"&;U—÷‹ñ4VZu§‚V²›¦­Æ…¤Öû,Ilë½¾+×z sM׼û¼Û;׆ׇÔO¨à#{݉ÛÙ{ÝW~Õ Û×—UË,Tô°¬C-ˆü¡ù5òÉ‚ÕIƒMX–áæÙáìaQªïbóIayÍO >b$. !?†Þ'n›(="NÌ®b¥¹b›ØÎ2è<`2FMxMä½dEndHJãªcIždJ®dKæ‹CVPQ\NîdOY?^¹Bub.ÖàPÞ8µ%åRžàSF·Q^eXF[Ý…dKe[Ž¯Må[Þå FÓT†c`f8kekKå2>fd–2b~µWæe[^æMkfg†eh>4ižæR®f6»fl®bmv2nîf$þfå>gtv@r>1sNgw~g×Zç gq>ayÎ/z®gSÎäEM}ÞçYvÞÉýg ¾góÊg‚v`~R‘Jf‡~hØ0håe½a®h‹–Æ…FÖqMh –èÔBhŽv–,iÙéEÖe“î茶Ö]éniõ±§O®i›¾iŒAi°*i˜îb™† íé þé j¡Ž.*ž>jGIêe>Žj©žjªÆc§ž§B-d­Þj®îê¾#jird±nœÝk³^.Z>kµ†¦²^k·ŽWD~k¹+žk»>VƒØØk¾îk¿þkÀlÁlÂ.lÃ>lÄNlÅ^lÆnì¾®‘;PK}ì“På)à)PK\8–AOEBPS/img/server.gif+0ÔÏGIF87a×çÿÿÿ!9R)!1!BBc„ŒœÞï÷Îç÷Þç÷çï÷Öçï­Öïc¥Ö9”ÎBŒÆ9„Î)ŒÎ){½)s½!s½k­9„½J„ÆJ”ÎR”ÎZœÎcœÆk¥Ök¥Ö{¥Ö„µÖŒ½ç”½ç”½ÞœÆçsµÞc­)kµ¥½Ö!1)1sµ½Öï­Îï¥Îç­Î眽֔µÞZ”Æc„œ!BcBZ)Jc1Jc9ZkRZkJc{9ZZs”÷÷÷ïïïçççÖÞÞ„”{sssŒŒŒÎÎÎÖÎÖ½½½­­­„ŒŒ”ŒŒ½ÎÞkœÆ9{­)Î÷„ÎïsœÆÞçï{½ÞÆç÷1œÿ”Öï¥çÿœÖïkÞÿ”Îç­½Ö„½ç{”¥sŒ¥sµÖ„Æ猽ބ„JR9Z­”­¥)ŒŒJ{{ÆçJsŒ)BRZ!J!R!B!„RR”½Ö”sBB¥½µ„Zk{„B9¥”JB¥­ÎÖk½”Öç{B­­„­Î½Zœ”JœÎ½{kkBJ”µ¥1k{Rœç”œ{sc„¥œŒµµ{„Jc99{J9c{{1!έ­Ö­­Þ­¥½­­½Ö½½Æ¥µÎÖ{B„¥¥„œµ¥”ƽ„½µ9”Œ½ÆZ9B)9œ{œœ{œ½{1)­sk½skÎ{kÆœœsRRk”ÎÎsBJkJ)9c{BRRcÆ­­­cZ½kZÆkZÆ¥¥sƄνskcŒ­R„­s­RRµZJ½ZJÆcJ½cJ­JB½ŒŒ”­œÆœ¥œB9½RB”ÖÖœ91œB9­B9½B1½B9½„„„B„1B¥”½µ{­µœ11¥1)­9)½9)„JBJ„Rk9Jc„­”11)1Jss„µ„„c9{”Ö½ÆÆÆ!)9s”­csŒÎZR„”­ŒckJ))½{{Æ{{Ö„{Ö½½J11ÎŒŒ{„”Ö”ŒŒ”¥!1Jk”µŒcZÖÆÎÎœ”Þœ”JkÎ¥¥Ö¥¥Þ¥¥cŒÖ­¥1c,×þO€Áƒ*\È°¡Ã‡(È€‹3jÜȱ£ÇˆCŠI²¤É“(Sª\ɲ¥Ë—0cÊœI³¦Íÿ( ìgðÀ‚Ÿ@ƒ J´¨Ñ£H“  j´(JU(‚«X³jÝʵ«‚¯ ŠK¶¬Ù³hÓª]˶­Û·pã&øJ·®Ý¯tÝÛµjQ±š L˜b½Âˆ+NÊÇ‚sî /A–-R2kÞ̹³gÏ B‹º„éÓ%¼¨^ͺµjÔ¦G¯dž®Í°sëFí¡·ïßÀ>|ƒñãÈ7hXÎ|y†çÐ!H—~¡ºõë²kßν{v àÃþ‹O¾¼ùðßÏ«_Ï>|ðâ¿oO¼÷û®ë¯>½ ˆAsËÍ`à Èq à‚ rÀăv ᄶ Kd¨á†vèᆠÔc„>úìãω'V¢âŠ,¶èâ‹0¶ˆâ‰ûèSI( |0B ¤ ™4ð™f`i$C&©df¤5)Ún¨‰&šÍ¦“XaÛmœAéåiÀ…éqd&g¦r:ûµ¹~pÆ)çœtÖ©zíÉ7_}õÙé¦uþù' €h`‚ 6áƒNh!†F*)ˆõØCb‰ûdº?œvê駠†*꧚fJb;8~ * $@þ[lB¬`„`kFÞª+®Göêë¯G.Ù™“RvV¤•aéÃ?,1Ï<ôÄ*í´˜iöenbŠIæ¶ÂyÐ…è¸lþiî¹è¦«îºÖá·^||Ækg~’;Ý z`r‰2¸(vðè¤K ±$‹ðh!iˆöÜ#ñÄãcñÅg¬ñÆ[LñÇí¸“£ª´0@*È“Å®ºŽàòË0Ç,óÌ Ô ìÍ8çü+²)ˬ³Ð²¼+µÕ2ùäµ%d«4·Ä™f¸PG €ÏÙkõÕXg­õÖong¼ñòéç¹äâ `šû"Ú¯ƒÿRø( pÇ-7 (èp„ùp„þ(DD¥Ã¼#¸àwløá<¸à!¬ê¬ðê®3“`ùå˜g~ùÌœwîùçŸ3•ì²Ì>UDÝÈ,ôê³R»YiH'­ôÒÜz›æí¸ç®;sR÷Þ;¸¾/üÔL×nzäé¶Øt¢[6¾h§}ÜÚl/ê¨-h¡½ztï½ð1Øð|o~ ×´3ÌúÏûñ°#ÿüó££p,èÔþôÏÿû‹c%DF2U™L ¸UÌH…6ðŒ %èÀ ZPsÌ cÀAjÐr¢€‚À¬tã„(Ìèbƺ[m ¤‰˜f×› ‘‰zýò–wÈÃúð‡þg˜ñŒ‹ëŸ3ü±Ã~‰…û·¸3šq,à€ÀÀŒœ  IÈBò‚Ì  ™‚¥ €O @iÁ fp…-”Öbx-ì“  e£˜FÊRšò”¨Ü–‚ŒÃ»â‰zÚ“ÙS'²ÊlPDÚEE+vð—1È"0„„ ¡ZL&Û¡ŽfªcÐŒæ:樿8±ü£¦4¥ÙL<:NU{DàË)A4àœèL§:Ï9·vºóîD¤<0BG’‚¦þ#€ \ OJ6ðƒ–] …öN¢¦€ ¡BÊІ:ô¡¾±á*•“"q°T|d9ËòÔ²^‚Tr©K)ökQ¾&0cQÂXp¥ÌŠE2µHFJ8ó™Û„&5åwM nÔfN¡éÌI¤ã›çFÈ,DМ댪T§*UxZõªîl=ƒ`Ïq˜nTݧX÷ÙO: $X¡ËD ‚öÊhÄ kæJW× ô®uUÍ]÷Ê×¾úµ¯íX©‹^y¥bÁÖQÎÉ–ÿÔí UÒ àðA)Uië°„¡/méL³XÓ›uš;}ãO±™ÚÓ®£¨GEþ¨RÉ AªÚö¶UŪn±ªUG€ P5p·ckYÍŠÖ€ªul®­n×êZ÷ºØÍ®v·K’Õ°ìr,ŠX ,ö¼m¬x˜è¦[B/—ü¢ža¦Ù.Ô!u8G ÎQ‡§Á¥š'qŠØÀ¨H°‚Ì`û) Køc°„|`©Ju`¥Ú‚{øÃÆ­ˆ©º[¹¡³¿nîI€ ˆ¬#FgrÅZÖ³6ws+ŒîrÆÝûøÇ@n’ª¾;XŠºò°uzÑ«^Ç>¶Mã)|ãÛ¯@ ¤È²–·¼er”Cu8ÂS‚ .oY ’°Eþ/ÖÌæ5ÿâÍp6‡œçLgs¼¦?ˆÅêÌg8û¹Ík†0ÌÇòêŒC ‚€øÑöppÜŒfôˆ<\!»•ê±hqaш±ŒGýå.WÁc@ˆ=8×e(£% ˜é¬WÛeD!äà€Ñ8b AÆ®"ý‰$;4C–PxÑ”ê oÉØNo“Ù»÷R¤»d•c°‹r›ûÜçÞqý $ÔAðŽw¼GÀ‹ap#ø¦†¾«Áo~[ãß8À¯çX\Càx¿ù­o|'Ãe 4ÎQËá Æô"Íñc¢Ò—tþðp†*¨n#F'RÀƒ¨:.`ur—kÖ¢•Ö¶Æ'Ê°—‘aÐíµ¯Mô"yBןB‘@qì¢S—4Fbú¦p8›XŠh6v‡ìðv¨h¯ml7™<߉H#ûD}EÑ8U¹ÑM÷rÇ‚ÝA@‚z`îmø}ÞõæÆ4¯oj,¼ 8ÁÙý߃'^á o8¾§ñˆË¶Ð„jâpñx9Ç?îѾäÆíÜ€rªªœå.yÅÑêÓü6ÿ Î3g9” ­ÏuúÍŽÞd`éM~ÑQ =ëJ:¼Ð® v`¯v‘þœØ²›ýìh‡S{½}¶ÉJϲâ–{Ýë ®Á:ØßÏí÷mÀ›Þöü4 øÇÿ{ñŒ×xþg ‡'yÉ@y–§G˜çT/ði 0j·àyöq{Ðq€ „p «ÀhŽÖaŠ†j÷tÀhi$W¶vP”¦ w‚žvN”¶h5¨v°h%wN¬–N7˜5HrÀƒ! N27VzÐ »A›Àhuà{/Ð {€{¬À„‹¶1€…) $°{˜c) ˜ãse°hs #g )  e0È—tGǃJ'rà )tFrt SL7E̦tþl ‹ö u˜ÎWˆŒöˆFÂ|„Ø+L·hÄÖˆ)0xèEÒ‰LgbÀƒ !EvÔÁ}æå}e~á'~PÆvm×”eR0nëGwíÇU±‹õ§ ø'xù¶o çç~A°‹¼èx‰W€’7 'q†¶açä)`i¶}0›§F'gpztð#Ø%èh·q–‚+Ø‚-ðq7j)° `©Fi©6jøž¦Ï`rH{èĘæiþˆ„´7V£–Nõ„ðO(/°sRH…Ô gð$`À Ð k½W`x9´Ö…˜Ce #þ …`k˜49Žt#@ q(“4ÉtI'{}}XÀ| ˆŽ”  žÈ|rhˆA¹hÇ— Äap•By|G"•D ”J§}`ЉŸHl—8 wð p}•ŠéÁŠtéŠö‹úA~0Ræ÷v ‚‹¹˜n ³ xÃ0xÃhxýfŒÊ˜ŒÇè~÷xÎH —7qä€Öˆ¦Ü(Žäbtpqé8wPÚx‚8¡ùaðØ,è‚wj#×y:ø58rg€ -¸N?xNqÀšç”‚ 'ÀyGØû”„ûÔ{RAƒW(‘t’SX…‰à{þ´s’˜3‹†i~´†S—•à2èižRÀ†jX–Ä&”à+G•h¹”–ˆŸè©”|È|à‡ÈW‰G"”›x–žþ di–ðé@él0rp‰ŠÛ7—tY—v‰xy!õmàw€˜v™å&o(z¼ É  .j Æ° 2:£ÌP£6j£ ªÀ w†Œ±p£7Ú 3*£0j .ª –©€˜ Ašy¸‚Û¸yÜèa%ˆ‰O@r­9§É™–¬ùŽ¨×·9i•6œ=x›:Ø¥%gr`œ³G›zÐjZ€œçT§G(VÌùÉ€/`g€ €€‘þ´ ¹Y@ž™³sŒÖµ–A+ “˜iç9u.ÓŠ` ]ŸWÙ+ –ø©”ŒFˆî©”•èŸÌ×¥Ú+^iˆ]z| ú© xlÐ6 )ª}Õ}ê}ã‘DêÕ¡€ò¡‚;µ¸#š‹ð¦Œ±¢Ð¼P EZ¤Âp­×z Úº­Üª ÷£ Ûzg óÜZ®ØŠ­Õj ÃpÒHyèq³¹šÈy7šW:ŽòZ—@{¢ 0¦”fiºirhÚ{°zÀ)„ø›qꄧwŠœùÐIÕ¨ƒAÙ‰’THŠz9bH†Üéš3rÀµ&3îùþ2¹ð Ì7Ÿ/K”JŸ…ðˆByøI‰¨Š•8ˆE¢ªeÀ•:#”pª½2«Z«È€«ºzŠb׫«ø«¿ê«Ú&/ø‹÷"Y}y(‚ºp¢ÐoÎJEh+­jh½à nëgp gÀ0·t[·vk·Á o涾 l»®íê§èd¯O zœžÇîh¸ë(¯À‚žr)xN[¦ºÉ0p›0 Ž˜ëNëƒyœ‰NÛxª\´'AÎy±Wˆ¨ t’[hk'©’J‰0†&3½çƒph3-»cxè ¸Ÿú©G E¢r𠦈G÷¼J´:´ÑþKtÌG[é+ j|¡Ñ÷ÙlÔ z}Ùwdjµê»Xúµyi¬ÇšK-€( ‚¶‹Ò ÓPпþû¿þ‹’ ³PÀ\À´À´P ÜÀ\ Á<Á Á|Àl ¶0h—ih‚ º¡×‚Sê™WЯ§¨wŽ¤'ÂÞh«N“°½ù¹—›¹ Ö˜°0 š:ܦ K›ùxwšj§ëx:A+A6‘)°Y †@‰’…&©½û»ˆ#°²0c09¹–_p»='a“H uøˆÌLJB@ˆ š¼7[”º½þEHˆð³É— Ë–¡á”£±¢@uÌëÂvÎÆÈÎ&–Î&lÈ&lÄŽð´›èuÔæJd·¾¦Kí{ï+‹ñëv0 E Pð \Ëÿkff¦¥0 ¦Ð˾\a6aÂ<Ì Ìæ˦ J  KƒËh!¼š¡Y¥)…Ç‚Œæ6Œi8è€2܃4ŒŸ $‡¹qÊÃÖh„qšÍqó›Õ¨i!ÀÄÈ™±OàÄ™&‘°ÆhWl9à)ƒªÅ9ÇŘX†p†)pe@Æfü2°Šƒ_à2·k‡>K³,«*ƒÅÖ‰M"l0œ È6ÈWg« àþŸ¡±l‹Ö´mÐÂÆhˆœÒgˆlš;°Éb 1Ê¢<^Ö–dU{ÊF-¬³ä¾ ¿ù‚6 j°ZPbðä!’`“ÕZM \ÍÕ1òÕ`Í"]ÝÕZm JàKL[ˆU&{pNT=×00c4ÖO–tc!é»Ï¥VÑõ×m…3Ï6Ø„ db0\gŠ¬4µªXÔGýØŒ6ª¼ÊÒa6MM PðÊ8œÝÙžýÙjÚ¢=Ú¤­kÀ¨Úm°Ú¬ÝÚ®ýÚ°Û±ínÚlÐo°ppWJ5ÖÖq ×tMÕ·‡H¹PŸã’i 3=PÎ}+ÀBu…þ=ÝÔ]‡]}Ò&^…5ÔâÙÞ­QJä”]Ùï•&¦—Þêía ÐÞîýÞðßò=ßô­Ö¼]h.óÛÀÜ16ÜíT܇äT6vIÏÇ™&ÏàºòVœá$¦QWWN}Uá~á~ØÖW¡Û}¡DýÝ ÞZËã –}ÙÌ‘¬—…¶°(PQ¾á2Žá½ß‡¶ß#æ%à„¤×Ô\j¥à­C4 ¯C,2´ÕãLÞäNÞPeç+—DíØ!þÝË#Þ%nÙ_«K+Ž¿òâL>ãdîWJUž6~ã<~{®×·:`°ckm5ÏýBÔr4I¾çþØã¢æ€.mÜ’(¨´6©tè7ô-aÇØmåWâYNâ[Îå$… Sè´ìäe¾éJš@¶òG•Ts•tÜnNà}=t7Ã$‚±¢ Àç3ôä².èƒ^d@t븞ëºn;¼£}^åì¨<âÚÑmLÝÊ)^‹_èšÎé›~æ-S9exꧮ|EräMBW°nLŽè‡¾ëȱ;â>îj2<æ~îè5b<UåŽ.ìW~òNZ¾ÔÇŽâ¢ìkƒé#æ0îìeíBã9ÏmíFRPHáK.ë¿‘JºÞáNîä.<[Sñño/]S^ïï!n0ïô.éö~þï•Ž~'èLàïð3®TÒò_ ä,,ÂW%­åâíÅáCßëé>ôâ¢ñìrôHŸôìb'åáñN ò"OKÝQâä]Þ´h((ÏKüÎÍîòóx.+³b+­~ó8Ÿóײó ÕóÔ³ëãNôŸñvú1/z¿÷|/'õôNõQ?ï‘ýŠÛaìz‰ìùn(Ëæ,ÿP`ö…F4k±Þ–ù˜ÿhü½ù9nמÿùÉOTê¤_ú¦ú¨ŸúªŸ9£E£õú3ucþ]ÕKù¶û¢·÷@Ô’\PÀüÂ?üÄ_üÆüÈŸüÊ¿üÌßüÎþÿüÐýÒ?ýÔ/ý6pýØŸýÚ¿ýÜßýÞÿýàþâ?þäïý„QâDŠ-^ĘQãFŽ=äÑâÃÈ‘ X°E¥Ê5>¾„SæLš5mÞÄ™SgÇ$KžL¹rKËEEšTéR¦M3öôi¥Ð¡.^ÅšUëV®]“B%)5èJ¢^ÍžE›VíZ§`NZ–í\ºuíÞÅKÐí±TåæXð`Â3÷ökµðbÆ?öq¨ß-_Æœ™«d¸d+kþZô蘜DzüLZõjÖ­š¦ìZölÚ™aÇM][÷nÞvM‡WeµÕ(ýÌ'°°¢V[oÅ5W]wåµW_Ö ,œÀ@ÒP@Y±®h \@ Að6MµZk¯ÅöTW·å¶UX1j + ·\sÏE7]u×e·]wß]À 'š0–{í«Y}£u(ý¥)ƒV‹ÚlF8aR»e¸a;¿½(Üq᥸b‹/nW^zâA{ñJßfùeˆàL† `‚P>Ë`P9½æjeVa‡oƹJˆ-’cŸþš]%U£–Ê‘ y!–YþH`”¡öŠZ˜¯®YÛ¬ιk¯™Ü¹¢žƒ&»lŒ‡æ£‘>ɇÞ~»i…¨è_“¥~ºîOöaê¾W>yïºû&Xe½ §Û#«;Åzë…?økÉ¿›¢±ÍÆ<óuÑnˆµ×ö¡m¸ß^@Úƒç;u€óö›ð‚ Wp×g‡=u›6]RUO“üIÝWÕwÆ…^Tâƒ?r÷à_>yÆuŸò‰‚â¥XÅ*ÒŠñš—¤Ä·Å¶u1_œ[ÓxFÂo`¯³¡çÇ¿™ðЈsôá'‹¨D­ 1Žx Õû¸Ê;ý"᪂#e9KZÖR})%.à/[öÒ—µ¬B"9þ¶H¸q±‹œ› ÷>3*““P»ÛÞÐXÉÃáP&ž$¥(——Mj3•tçóNV–“N®|,¹Î^겋ºÄ¥;Ù9ÏYsc[ô©Ocª™á1ÖTé¼æeSˆÈc ){GP„&СÍ'BÍ9Q*¡Ó!ê¤gFÓ'Ïvt—iì©HtÑ|@@JSúÏi14[ „\LSIQšNÉ¢ sB:OŽ~Ô§?Ýé:C L|:ò¤*]©é¼ã²ÈqíŽ2 bM¥ê¤›2$§)ÄjVµºU®j5Xý* Ã*Ö®–Õ¬\ê=Á·´µ­8 J‘ÊÒï0ufǃj^!:þU¾"©ª ¹êY;X»5«clb³šVEºõ­@¹¦”šÜõÕ²—=çÅvÖ³Ÿ- Ë1PªR@‘BjS›©èT³¯…­”þªœ’ж·Åmnu»[Þöv·£í\  0ÜእÇ=.k¡ãÚØ6×¹~Õl|;]êV׺¼.ø„K\(¹%PîsŠô\ò:·Kš}ÂuÕ»^öêö DÕ.¸ë]ä†×9QXZ~õ»_þö׿ÿp€<`ØÀF°€£€Þö6ØÁê}¯ZEØ&È·¸@ù.x'{!·FVxBˆE÷™cg®°žý®ˆc#ÛÚRUö‚˜Ín:Íöž¡Sík—ÛœÙVж¹-kïþ‚;Üõ!·¹åÍGt HÝën7¸§ žj»ÐnHžüý/,ù›Iw• çM§zèÞÜ‹»õÍf{„e(W¹»Y.I—§Œ.29Âî¯üßH"¸’nõ‘3]êKZzÕAnu«7½ëKOºÎôôª‡àTÏ:y}^ EâºË£i¸û­ 5þV·Ìø1)H¿úÙ›ò™žãf‡ºØ_xÂ'~ñJ‡¼áÏtÄ{=ð†O{â>øò®>ÌžÁºSîvp;þîoyëÖ8•µP~™Ô›“øÉ;~æ›güå{Û{íŽ?¼í^øà7éëµo¼Ò‘ßyXÏ ôw»éMwŒßÐ’D·ì­?Ij.…öÀ¾ï¿ÞõÞŸýéÅ/ø‰~ö¯ÿI?¿ú ž{çz~=<€óŸ/éOõ’¬¸Ã©¾Õ{=Jê>¥ø>ÉK¾Ý;8Ý£?÷K¿„@åk?­s@ Ô½Ìùƒ-ûSüÓ¿ÐC è¿Ókh’½Ôk¹íÓŸÚQ½ê;Šä= Ä=ôcÀ,¿+>ôÃÀÜ:¬ <Ô¼ÞëÁçòÀôÁA”(Aê“=kÒ¤IZ#Ô>kšþ= \>¤:óÃBû½4¾öÓBÊË=$;ó³Á2üBæÛ%‚7„Ã8”Ã9¤Ã:´Ã;ÄÃ<ÔC8T4É?%$ÁþsÂûAj²»©¹»¬;¾™;²!£9ž{?I\•#tˆ$P‚ ¹P‚$”?Ô¿%\€þÛ€A´ ˜S‹H¤Ä.\Å<±Ä†MÌ ø!øD D&4½ Ø€·€ UlÅÅFW܈!Ð[äÀ\t>QÜE^ôE¦@Å´ÆbÔFcÔdTFfìg|Æh$A^¤Æ_tŽlÜÆud¸cLFÍXÆ[|F\\B0Çs„7vÔG=yE†ðFxþGðÇy¬Ç{ìEtD\ÛÇ…¤“^sǀȈ”ȉ¤ÈŠ´È‹ÄÈŒÔÈŒÈxlÆy|Æ‚4G ¨Fúø @É”TÉ•dÉ–tÉ—„ɘ”É™¤Éš´É›ÄÉœÔÉ\ÉxHŽäH»Ê¡„È JŒôÈpI É Ð’DHG“Ê›@Æ£ÄH£ŒH¬´ÊŒÔÊ­”ȤÈ¥ɧ„Ê©4K§¨J¯œÈ®,Jµ¼H¶TK°¡ É“°G²,˳ÔˤHK·lK‹ʶô‰ Ì(L¸ôJ¹Ì"ºdJ»tJ²,ɽ”Ì°Å °ÌËÄÌÌÔLÍLÍ ‚μLÐôËMÌìLÐ$ÍþÔôÌÕ\MȹK»Ä˼œÌÚ¤J`ÍÜäÌÕt!ÕüLß MÓNÝÌM×”G‚”M²Ì€È´Í攉Ê$NâDÍÌœÎÒTÍé$ÍÞüÍèÔMãüH¬G¼\ΨtÎò|èäNÖÄÎ߬Nß´NáÜÍôdMï GIHN È€ñ4Ïþôô”OÏlÏí¼Îà$Pö„Ïõ ÐˤO„û|FüxÊýäOÿÄÐŒÐåÌ1M=MýLÍÎÑNµÌË…P ¥PýÜOæÌЕ[4‚ÅÑÕÑåÑõÑÒ RUÑÅdQûtQQò¤ÑµÑ!…Ò(•þÒ)Ò"8RHR ½Ð&õR‡xR*Ó1%ÓµÒ×ÀÒ#uQ.íRõ°4VƒÓ8•Ó9¥Ó:µÓ;uµcô2åÓ>%Ó3=HS]S …¥¶\cÈE½‡ìÆ=õÓH•Ô T PS»4ÔCeÒÞPGFÕ%éÇ… ø"@ÕTUÕUeÕVuÕW…ÕX•ÕY-‚“|Í,ºTL}ÐBÍ€ET~ Õ`í¹ "‚Ì‚b•”\ÕÕBeÑ_ýŽOÖPÕ…‚=ÄÖlÕÖmÝC!@fÝUMíU_íTÞÖieÔjefÅTg%×|D×xMu½A½€{½WwåÔþ\Á¨)™Hê×›8WyÝGzµ{Å× ÐWhÅ$ì Xúׄ škôˆ%Xv4Øè@X|]XÔk„ X£Ä™Øˆ·-$;° ÂßÛ<®+Bø;<–¼­#¿”}¼ D;™å¼yËXèÔ HØ5=R†e=úQ&gšÂ÷™¦’}š½@؉!D”ZDrÛÁÉ˼¾¤›Ù¬µ@­Å<ΛY¼=嫼–ÅZ±]¸ž}ŽŸ ZMÚÿ#@EtDîk½ì¾hš¡Ö«Âù Y°ZVÄÀ«­@ ôÁ"d¼Á­À˜:Â-CÁ5\Ü5¶uŽŸÚ|…Ûgý¿í{A¼C£ÎÅ»ÓɾëSDþDÁŠ8Ùñ‹?¾›“¿ÂMÜÈݽT\dÀØÀµå˜€ÞÅÜ ×wؼ«¦»õ\dÁBä»D,Ýæ ÀE@‰ˆDÄÝ4¼]ÂëÍÂÅ]ÙuÝ ”]žåè]ßM€Ì^0bD¼…ÚÐÝG䟾õ[õ-º…\Ä߯BÅË]ÌÚÚ-[îí_ÈÝ_ëµ6ÊE ßò€óÞ¸åW»3ÝÑà½-º¥U£(t^ ŽˆÔuº5¼Á5`܃ºœ=>äÂ&Cÿåß”áD6>fà¶Ë,%Úä;Ò•Úº¥`tںˤB$b¿c‹uÉÍ%–&þU6fòu`Þ}¥$f'¶9»Øyß ˜âÞ­â+ÎáëÐbšãâ.^â5N×ñe8&côÅâõHã/nE(.Žc9®b.×ݸc<¦D=¾èã8.cÎbBžVCæ >Nä?fd;VTGfTGÕ6Džä®dõ8IžåQ&åR6åSFåT6Õñ=NžP@þÒXþ>VVdOÖ\YÖåzEZîcJÎå]æÊíe_f`Nßaf7äÖfvægÆÃ>””böed®ceÖeLÔÄ…ãDOäj®ek>clöÏX|ÇË Å[p>qdr6ËœEu~ vvgxþÖeyÆ Å\çZöç{ÆçXÖgt¦ç@µg\N怦Ѷ ~®gg„¾f…vRZôË‹Æè£thƒ†èv–èq¦èÚìËŒÎJŠDÌ’&éÜh8èWþäôxÓ;•é™¦éš¶é›Æ´<íF‹Né¿$Ì«ìi\é‚ eˆhKÆdPÕdŒ锆˓ö頶ȡ֋–FXnä¤~⟠ê§ÎÊAi£k©†Hªˆ¢þçÞ\ªÕ’Õ¡˜Óê­~TÕÍ{ÏíMÔTPºÎÌJ%j«Æj§É‰½’uXÂ6Ù¸~ã¹ækތϽë½nì-h–î裎¤]‹0ìÃÞldþÅ.7ÞÐÉQõ·=mÓÆL¿®êËVk~ýØ£E¤í»|&CÌ;iÊ «uán&?Ñž*ÒÆMÖ¦ÎÇÞÌÈFnÍtí³ì—YjzÁºU= Ø*„_›¸ßFáü%nË2îæ†Ï5ï]íæ~n@ëˆvé`¦_ì.@2’ßÐÅ$¤åá¢èî BØ ïâÖSòNo½&Q¼QÉ6íõŽŒè†o€%^B4^úFÞ .ÙÏN^ý†aíu?7þozÓÓIíÓqUðööè÷Nèé~ð —ðú†_ºy_ ÷=©ãZ/d\ïpé1î/Sçñ-qOq §üæà ~B¿þðÄ6Üô«]ÎqVÚñS§r"­ì¿†mŸh%ß[">rBüaî;Ú.Zœ˜^VÄßïrŠšò+‡ó1 ò-¿jéV5§?Îð6o¢7ó?Ò97êØÎê Ãï~@>÷ðn4UZuôG‡ôH—U[f:ì[³ñLWaM·C‡ß¿~ ª@¸p?ˆYÌ8±cÆûL¹²å˘7hÞ̹³çÏ…B‹Mº”Ó¨OZÍšõ”)}bËžM›6•Û¸sSÙû·ïß¾ñN¼8DÈ“+G>üÐ!àУKÿ­»ºõëسkßν»÷ïà£þ;O¾|ùãË%ZϾ½û÷ð!/¿¼ýï}¨ÔÞÏ?ö¾Ö†¤VM5¥}f g–I0‡54èàƒFø`V…"pÑʆ¶âŒ+ †(âˆ$–hâˆÎxèÌŠÎlA†CLÅw tÀ6¦£‚V˜d@&fXDi$CH†Ye6¹YiPB™šjòÚkýñwÝtÒçåpé¥GÜs\–Yæ}h¦©æšlrW¦ypŽf|tÖÉ"|·‡"mö‰[–€öñ€¨ X “MR&$ Jèè£ Zxa†ºTª ?˜bz¢+þtê駠‚zb¦˜Zê"Œ‹Ý@#AH°£Žþ‚ æãa„ éǬ±æª«¬³öêë¯>©¤eˆ‚屦MIe•V›nfööå—a2Ç\qÑfŸÜvë­ŸfÆ 'zËÙiî{óéÉç·m:»¡…xh±2¶¨W@ZC „°áï¿„´¡…rai¥¤òê 7¼pŸ YvÝØ׫€õ¬ºò¨ƒ cüê®$—lr¬÷Z$“ôn€l”Ê*[%l¶áfæ´ÔV‹grØjësoì-ôÐÖE+îyä*wîÒë¥ëoD«énmðžf(”-wf/£0tíõ×0´À °Äl´ö×À³5pÇM ©ýÔm÷Ýxç­wþÞ Ë w>’ ºØ4àªÈóêk®~ì¸ D.ùä‘?nùå˜g®¹ ˆ'žkÊAR–µË/‹k5ïÖ%ÎÅé¬3q?Çõì´wûæÑä%ÓK;ýôºB¯+¼"Äß¼uSÏ6(kñ;úfC,*Á ÔWoý „`„\o}Û[t#þøâëcþù蟿l€ >ûî§/?ùä·‚à‹I`Ð,㎣Ür@À0L È@nÎqûè´˜çy†4T¢Y~nÖÇu¯ƒ]ì|V»šð>·ÃœÒûÞ!BOõaWñ¨@¼Ò°†8<^u’›ÖLI^þQ²à¢þЂ"ñˆbkZ6$1 ”ýè'?ô‘e íÓÇúX†*žoŠõ»e°¿þý¥WŒûÈ$wÀ6ºñpŒ£ØÀ:Ns"ÓØÆV&º&‰†J³á`o„ãAÝPL=a¶NÈÈFb'\*tŽ!ÕÓBsùjjš!nrÈÉNæ†ÆCž»|( —nQQ`„*WÉJF\ð—°èD#rù˜‡.ça^ú²—÷¦0…¹E,S íæ0ÉÌ]ÚC ãøgF¿øÈc[cä ¨Jxó›à §8ÇIÎq¶òœs„£x9Äé*e³BÌž)¬&ªþÛ!YwÈCŠP‘‹t¤@j´H‚‰…•¬“ïȤCûðɆžŒ¨D5™›Q’Òj@VÖPyÎV² eƒ*?ÒŽª²õÇ.uÉL`*s˜ÇÀ+eú— ³¥½\é3ÇXÆE€@ ªPƒú€¬ €Ü6 Èoâ©7ˆªT§JÕ<õªXͪV·ªÕr’³©8Pe: ¸Nn®š©Õ<5SÏ{>+Ÿüì§\›Ѐô®ŒL¡ '™P;]rO÷žDƒCÂb¢žÔ³ª&…«‘^5©*Õ hA #éX$‹R•®§6…éL±XÓÐÞ§öЩ!#Mjê(Zˆþ­lgKÛØ>`KíæUo0xï·×«ªp‡+U®׫â\e:ËÊÎBЇñ=íiÙäsŸ­“«vñćºÚ¯à^U8§¾Ò鯀M“'K¼£)‚<íE¬buÑÆ–®X‹ª5ö Žþú·¿„PÔ0FD@ 3©I¯yä"»¼…„oA [øÂþÀa³áñ…'Lâ\´bÐlí«V Ù»ØÅI SqÕÞÚàÆ8αŽwÌcWïÆÕ#nU ä‚S¬ce®3—ÖÉ°µ­4$v“³í†‰®Þ5Sx·,ÞéDR’ 4¯{þJQïxRŸ_†Óþ{Ù+ÑŠÒ—y©)]!œ´¨, 20dâ6`¦¬h4¢AèBGÈ~‡¢ß1F;úÑð éXà1 F?ºÑ‹V4¢ÝaèBSc)î©ŽX ˆV¶` ð‚ª…)0 Æ3®DfMkK´cÊè±®w‚MК֜ð1õ„üÔt¢Ö9xê .ñkXèà›¡øµ `ÔZÆtŒÀ'hM%›•s:¨Õt›µAÞL9®Væn"³<.»[hÄÝAu&æö¼†hŠ(šÓìÞ÷&öOYª¯äîúlÄ|殌 ƒÂ0Õ3iÀ¤ðjAЩ€úЋ¾¶ê#½ÇJ¿¾Ž©þjì¨[Õê—àø{PdoV"ÀÁ×ËOðžpG‘ °u¯cÈÔúdÕX×ïx‚÷O„5ÔqxÈ-ã'‹Çxd¦^’§ÁA&–I™pïgqæyz¡'zl j^Knzª7 ¬§q®{²‡{èP{6q{¸§{¼çz¿ÇS4·#Ã÷ƒ §ÁÉ°ÐaPHÐ|3FcÑ't8Ð5/p =˜ é0k°[u8† ´–k6ð„³6}6}[Ø…7&tÑvv8@Uš€~ÅçWWNf×uë‡í猠™Àvp4 y ÷'9Âð³F þ ¿¦¡@ :9¨…¸†˜ àd¤ãoÅ7IV6x„—@“€¤¸& hž¸;øWjâ8HÈopˆ×Ì¢z!¨jlp‚ —‚½·{»w.hr"ØgÉ(ƒ³×ræÐ{7ÈZ¢&|6×RÀ@„  Y  〄9VPÅ„E÷„QÈ…°ð ½–Qøtœ …yðŽ½Ö.ð ¹ö¯@tc¸ Kg\lóh²–k9U¿` 9ð†fçsøM±~êvêçlŒ ¦ qÁÀu“SˆÝ¦mp—‰èˆ…H > ¥{°VÄwå¶þè&€Ëaè6ƒI¥¸“(”xG3oÕÂxCçÒ‹–ÇIH5×y¸(º¸‹ ÷/nŒ 'Œ®WŒ 7{È(‚(׋¾˜rÍÈ‚Ð(s8|1|pÉ ¼„©¶j^à à(ŽK8}0`ŽðøŽ0P 阗PöˆcB÷=°cdX^(Cç—`õ8t‰ß÷T ÙÞÔ~| ~‹˜vÀ€vr”†‰`9£`  ’$9’&ùTÀ9ƒÄ wöd]ªƒ34Y-^r“@ƒ“<ù›áá“â”å%fÉoÅ'â”IùI·±yµ¸¦´h•–¿hÕþ` ×  ½— Úžá¹ äYžå –}&ÛЕ¾hžæ)žâÙ{Ý`–Ò˜ƒ:¢–Ù˜ ½Ð :[eu }ÒGt€yŽ™ ]CŽæ†¿6tOGu9F† Zk8À„3 } )U™lXµ† Ny‘äv`÷™ØÖF”³‘Tùk¨©šŽX’’ø›§À zçV19-¹©›6É›õq€À9¤ÚqŠHÓ€æuœO“^5yÀÁœ±¨”ú«3wpÚIqØYq\Ú¥ÀØÐ{ð© îéžÜÀ>ÜPžgú/iZ¦ä9¦ÚàzÝjgù*Ãç nÙ Hà E „,Ña>ŽJŽþ*…š Ó· PÈcõ¨…7&¡‹ªcB—¡“:Uq˜UŽù]÷Mf§ šô' ¡Ð‡n¤@£ºÁw”£8¨Ðš5Ê#7š£ä&H^Ò£ Šì–O£H¤¾Zñ6œHš¤÷¶¤ê夿¥äQ¬*„CK9My¥#Ð^z­°¥^ÚÜÚ­ŒÐ Îð Ð0® µ è* —¶®ìÚ®Ó®ÒP å:®ÐðiÀg§ à ¼ §¾À§ýYYÛØj—ZŽPh¨:p†‰ …‘©;6… »K×°9†¡QU©Welâ÷Tx‘!šu&šëG@¡êv `@ D>`‘°þªŸ0w¨` V0,ÚšTàC0 ³ùd… £px5Iœ¹ù£@ ¿z´¢h¤¹#´È!” ¥“MºœÌùBNìæáœSÊ”Ñi‹ÇòÕºV›Ñ­bÛÅð/Å0¶„¶‹A‹ÁÆÐ µ·r+·ÇP·Èp·x›·z»·|›·u[·s;·º ÷ªƒ Ð?ð- U—^À;°ƒ*†æ誰DW¹Ow˜É øHtš¡‹c›{±>`±šUO·™xø ÎÖºz˜ñGª"‹v$jš–90 >09£0wÚ戊¨ª¿K³Ÿ ª+9š+© :° €’ƒp y0ãepþB@Û£»Y´F‹´H«´ã‘½eœxB”H9ar uµšD¥Uj¥Qbn€Yƒpgøk€hk ¶@b† <À\À|ÀLbqû`ºð»P¸÷ ¹/¹CÈa %°ÎG@ßôTäø…‹ ±˜ëÁœûtaˆ z¹ÊSEÂg—l“ÊÁ)NnGkï§Jñ÷k'[@i8kª9ŠHk=Œ»´£°’³&³‘#½(¨pÄ©  à¼`@kS ]¤³wÖˉL«nU¦]8ýBê½¾ ¾’$¾åRoèU”d<¯‹S›‹°ÈÇV[6ôœ­N9ƒ0sàþjC}Õ7È„ì5¬ !’Ȳ)ŒÌÈŠœÈv0 3uj¸|Éà(¨JUÚ§}ÃFlD†\­4GÞ–@ÎuÊcPá–w<[››(“ÙÅ38ËAûÅ`Ü«bL¤Á'¶¬4«ˆœÉÙÆ•‹:CLj€ÌuŒyÏ ­z¼Ç¡Q0à Ö|ÍØœÍÚ<ÜÜÍÞ àÎâ ’PÎæ|ÎèœÎê¼Îæ< ã, ”PP*¶#C¶øœÏúŒÏC9Ï}Ñw6 d]™D†UFæM¬$G¥<Î…VÝ«,n¯\«?ûA\\ËÙÛ‰¹ì›»ÌËd¼OAÌÂü½AÌÅœþf ´‰Ç.­j6CýQ%1Í…00ð°Ó<ÝÓ>ýÓ@ÔB=ÔD]ÔDMÉôÆÇŽì©Ø´é-í—ŽéèÞÐ^évÜÌZË<£>%׎(Ù>ÜáþÕsŽÜ~Fý?ñ/)ñŸñ_!…l}\ÐTUÕV-Ù$_þò&ò(/Õ"¿òT ò.ÿò0ó2?óÍò[•ò┸:¿ó<ßó?N6ômd‰ N>ôGлEU6¦}_}õR?õTñ0`¬îðQ@uÐõ^ÿõ`öb?öd_öföhŸöj¿ölßönÿöp÷r?÷t_÷v÷xŸ÷z¿÷b~ÿ÷€ø‚?ø„_ø†øˆŸøŠ¿øŒßø€OW¯V‹íPvù˜Ÿùš¿ùœßùžÿù ú¢?ú¤_ú¦ú¨Ÿúª¿ú¬ßú®ÿú°û²?û´_û¶û°Q@CPѤԕûÂ?üÄ_üÆüÈŸüÊ¿üÌßüÎþÿü³¯û¼ŸõhüÐýØŸýÚ¿ýÜßýÞÿýàþ ý‡AýþcýâŸþê¿þìßþîÿþðÿ˜Oþå?ù:€þòŸÿú¿ÿüßÿþÿÿÑ@à@‚ D˜Pá¢TðS¡Â,Б1£„: =~RäH’%MžD™RåJ–-]¾„SæLš5mÞ颟!-bÔ¨ƒ#N¢EEšTéR¦M>…U Î~*^ Za¨T®]½~VìX²e:Œ¸ó*P‰Z;š…Wî\ºuq>À›Wï^¾}ýþœ×®R~"Zý©£­ÛÁ?†™ì•-_ÆœYófÎ<þŒ“*Ä k3NXõjÖ­]¿†[ölÚµmßÆ[÷nÞ½}ÿ¦ìYøpâ˜Ï.;Z¢éÅ[/]úôÌx©_Çž]»uíݽ_™{xòå¥7Ÿ~:tõ×Ù·/š¬òÒ?O;?HÙîgý¡OòÀ¿¤ð?ë |¾èäsê³äZŒ¹¶ð3¨?º,$ 3$jCCòP²$ŽÁ¦œ¶$”ˆÂ‚,œ+Ä’qF™j´1!±²<~ü‘Dã Bq,úXDí¹ëÚ1Ç‚štr%(£hʺz̳,…HÃ:Ò¾æÞR’3ÍÈ3×d³M7ÑLóM9ç4þ@6ÓT3:çŒsO?ÿEtMAïT3QGï|´Ð@ EÓM<ß<ôÑGETÒJàtRP/ ”TC4Ô=±Ô’Kñ=TÕOM…óGEÝ,R¬0/ºÌü€ôV>ý UPYõTMUåôXM‡}6YeE}öOf…­ÖÚj“µUØk±¥vÚl‰ÝÖº`e56Xq?×YLeu³4-Ë2È˶œ×G¶Ôìug}·Øp•5W0U\NÌ }­XpÙµ”\oÇåvÙ!WNwý¬øâŒ)}xÝ#ŽÖÜ[›ÅXd=9äNMµÛRSN÷áoµ´Ç}í¥÷^ëþm•ß}îÌßõ<ésA.øK°v] W…(ó˜àF¯F5ÜREUéQe>³ã¥¹&ÛåZ uR°33Ï­Ñ»N˜SV´ë´ßVûl­õne×κm[­–iU+FYdÅYÖ»ÒÂýþºÙ<ÇÛñÃçž6în¿]YëºßòLÍÔ™^~…Æ·g}‡V]è~«^¼f'nÓ৮×1§nÀ ß}Ïã÷߃÷‚xà/^xã‡ÿQøäŸG¾yè§÷¢¼zWÏè‰7ž{ç—W>üâ½?zñ—ž|ô'ÿwëAûÞyñ·7xö‘¯ß~ù§ç^}õÏßÿô'=ð½{D üþ€´?êé~Ï# þ ÀüA°}¾3`ü’×½ jOàk /˜>JÐ ¥óÙÎòuºÖáiuœy€(ÃÎo†Â³ÞƒÒ$¹ˆ ð³!þ´½!îOzÌßúpx=ЄÔ¡…8Eþ=±„H, mXC%r°ŠüK“ £øE/–щNì¢1¨E^Q c“(Å^±}Y"9xÁ B‘ãã¢o¾xµN3¨c]"SÃï1Špô◨ô Fw ã]+hÇ?ÖOŽ€¬¡ûØøD$R!$ã ûÆ:n’Š¢Ì£ÙÇÊ21’¥Då'ï8Ë@zŽ·¬Þ(«þÈG#jR»$"/#èËTš0ƒhì ÅhÌ_ r{¬ü]!W‡HEí…¬s]u¨ÙJ“˜Á|PU,µÝ¥æ€²l¦OÉÉdþñ™§ìc¥©K*>Òš#|åcIN泞ú$?ëYPhªÒy÷”¢95¹Ï3"“¡ T(,ßMŽ2sž •d?;©3šŽg®C)TÇÈ â˜=gS$ìSjîœè1]DzÞ-h$%:H‘ît}==%DEÐ…V4¤ÍœcS‰ŠTg |Ëä©5êP¨np«U(2qùR­–¦D ]eœqJsšt ¡L¤"Ãôa/j@ôªþ×@êBøú×Ö¯M“_‹ØÂv¯‰=¬»ØÉ:–°Š=,c)«ÙÇvÖ°–…,a)+ØÑ´‘½^f9[ÚÆ~Öµ¡ÝlbI«ÚÐrö´¯}¬iEÛYÖŽÖ³{•,f+«ÙÆâIµ¶Ýím}›\æζ¹¿Õkp=»ÜÏö5·µU¬nW›\êb· j]«e0ÜÌ~p³Ä,`k]¹ê* ;´i;Ÿ“×ãÖ×¾÷Åo~+]ýö׿ÿp€»À_ØÀF0~ œ`7¸À vp„ Þð~FÀçep{v»òN¾/„A<⋘Ä'Fq~Mœb xÅ-&1…Ã;Þþc8Á¾‡Ö¢»þ¾0–ð‹<äú ™ÈGn°‘‘¼d%/ùÀ2^+ \§}j7ï”Üd-·˜Ë]s‘Sf0™Ìù…²«¤¬e[wv§äqŠW! ÏPnoèXÜã9¿1¾–ŒÐâìyÊU¾rj<1ñö@:Îrš×ÜæryÃ7.ð™ßÜç?º\rΖ‡K;âAGzÒ•þ”¡E(<Ç÷Ò¥>uªÓ¤éAáxÔ«¾u®w}$W×HÖîu²—ÝìUâÔœ.v”ŸÝío—:Ø7õ±ÃÝîw·¹ÜŸnì¶ãÝïÿø³ÿ€nÏï€G|â).ø¶ b$Ç:Ýû®xÊWþÝŒ¯€ãÿò°KÞòŸ½¹Ó>x‰8þò?|èU¿ú–¾ñ›×¹á×ÍzÚ×>JŒ×<ì ¿÷ÙÛÞ÷¿gÉ ‚§äÁ Æ—Òès¯ûµ{øχþH_|êù?>Kïxœ^ö'~øůéW¿ü ¸>ú­¯ýÑ;}-‚ê{?~úÓÿüêÇÿñóÿû½ýAY‹ €¿ï3ºÉ«¿ô½û›> ɾüë¿’<÷û‰  @d;ÄÀçSÀã[@óc?! „?À‹¨@ t¾ DAÚÛÀƒH?ê{@ I; Á(Á ¸ÀÄAÕ[ÁókA0¾ô?”AœÀ¼ÁDÂÊãÁêó@ëB‘x¶!Ôø @#<þÁ$ÄBÀ>'d@Ô¿ýƒÀÔ*, <Â,DÃ4Tˆ(œBø„*4Ã+TÃ9¤Ã(tC2$A+L=:äC5´C7œ8¤À3ìÃBDÂ? D”CCtÄ ´CTD‹`€$ÄGÄÄú‹Ä ¼ŠJÔÃùËÄP¿(¬ÁN´ÄFÅTü=R,ASüDðSÅX>V¬@ ÄSÜCYÔEÖ£E ´ÅðÄ8ÌÅ]$ÆÏs•:€üEÈW,Àb„FcädTFJÌfDTŒÆm¼»cLÆ\ÆkFPäÆr´;o¬F`¼Fl¼Ä¥ >œxÂõCs¤G£@Gp´ÆuÌvLŠ%¼ þ|ÁxôÂz$È$j¬ÀG}äG¤ðÇšøAy ÈÈ‚´È…@G}\ÈulÈ£È.T?ì“HŒÈì[@â‹Èô#IÉ4á‹„IƒðF}TÈ|\GÐÆ~I&ä¿’tÁ‘üBÈ–ôÁJþ“HžŒÉ‹œI¤DÀ›ÌIšp€ª¬J4Ê¡dÂDÊ 4ÊäJ°ÔÊ&,«4˳DË´T˵d˶tË·„˸”˹¤Ëº´Ë»Ä˼ÔKµ¬½¦\Çe„ÊÀÄÉa¼ ÀŒ„¸¾wÌÊÄtÉy4¯±üʤ„ÌwD¿laÃÌÌÔÌÍì  ½ct}ÄÀ LLr´ þÃD€dÁõËJy„MÈȮˮ|Š\J¦Ï\=ÐÌÒ$MÁœÊ˜PÍÖ”ÌÚ IžäÊyLNÚLÌ&$ÊýËÜ ‹ÝäÅit€ÒMJ¼î„ÊÓ„E¢(N¬ÉÊÜɇ,ÊólÀTI,OìûÊ÷´Lêô ëìMìÔÎeìÎýÏg,Šñ¤O³³OÕÍÒýÜÏèÏo«»šÐ%» ½Å@°PåÏᄉ…Ю“PÐM ÝO íΕ9­KMìPªûPi’:p€½e´­ÑÐЗàЭºµ<ÐLP Qµ%LUQ]:­¼c\€ Ò!µþQ#EM$UR¯cRÊsR"RJäR* OœØÑ+]RÞ$Ði\.]F`S6SÿÏ$%Ó ËRÅÛR…5mSxS•Ó ýÓ9õ¹:M<'ÝShJ<Ô>=Ñ¥Ê@Ô¼3Ó EÓCMT`\Ôu‰1T #TÄ3Ô=½ThÓ(ˆFˆžSHíT–ûTÀ U0Õe4ÕZEÕcU–àÔV½¹Wý;'­ÕY¥Ä`=UMm‰]åÕšóU¿Ö`¥Õ`½UU-Ì\MV[V¼kÖZ}V[5V]¥Öjõ¸kíF4%Öm5ÕhEQ+W:T%WgÖZ•tuÔ™@ÖuM9q=Çwþ‚?ˆ‚e”€€ XzýÖ”¸W|µÖvuу\ X€uX‚5ŠƒEØpUØES‡•ˆX‰ýÏ‚­X„ÓW¸sRåØíÖ• Ø]¼‹mÒŒuؓהU‰•eY‰Ù·+Ù˜¥DõØ8½YeuY-…Y•ÙŸ]Õ ¥¹œu»5ÚžXš5XUÚ}cÚ³sÚ‡Wn=ÒG­Ú•»ZåWa½0[³©E ›ýÚ~ Û²;Æ÷ª)Kr*°[»½µ= ¶m[«Z;ÆèƒÁ\°؃ÄMܼíZ{¥Ú¾½¼¿-ÔÀ½[»5Ü@\ÅÝÐ[“à[È··PÊ­ÜþËÍ\ÅåÜÆ•‰ÏÝȽνʥÓÕÜÍíÜ’`ÝÖm7ÑÅRÒ½[ÚÕÜÔ­R¯ÕÝŠã]õ]Ë=ÜÚÞ0ÖâUÀ ÞêµÞëÅÞìÕÞíåÞîå^,\í _XMÞÙ]Þà½]’ÈÝ›]àLâ`€¸‰ãåºcŒÝÒ=_ÔMß‘X_–]€÷-ùÕ¶ñýÕò^ýU]â|\ÿ`âàš ß­³_Ù=àÄm^8MZèEˆÿm`áx`«#`f5àüµàý‰þ YîàÎø`… alaÌe^ ®X^áÍháyáq…] &aÛM`@Õà ÎažßÞ×Æ_Fþß!ÖÑNá#挎‰îÑ>݆âM•b¥œMÀM“hÌ¢ã…ØB‘ Ì™Hc©Àa*¾ +† ,fQ-žá.>Ö/c0VŠò;ã“øc†@O1^O™ä§xc8® 9~ :žº nâ-âáuÜàãÁ@Ž‰„È—ÐdBŽÍLJ¨HdEfd—p丳ã'¦äÕÕãʾ“ŒN/TÉçœÍY.ÊP~eõÔe?–Oø„Ïâ[IË,Ï=îI]þd.ìÀùdÌd>æ”LO^>Ï^~Ie8.å–8å%Me^e>¡ KÙtåqžÎ–\Îôã[îIä çLgr®åB¦ÍuÎåB~Î%þ|gefÏp–Î~>Ê×\ˆj¦âkß×=ÈûýÝ ¾`?ØVöɇ.cõë»N¿^aÀF ÁF:Â6_ÞdÄ&^ÅÞJþÁtžN,IÈ–jdží‰.c“þÉgîmó\iÚæã5þèONîcFé^†ehžf–¾jÌ@íÿˆié×Æàç-bƒ0í®n“Pm:Íî…nÔV FØïnàð†ÀënÚò¦áôFopeovo o¬•o<öÖîöîéŽã$6h©„.lI6ïTM×Øp¸ï÷Íï¯Ûo±eb¯VðùþõÆ×çÌ ‡Â ‡Ûþ®é(~p‚ððÍqñѽð¿ã÷âˆöp`YqoO%qØ®do€ø]€!'ò"7ò#Gò$Wþò%gr&g¿Ïoí ÷o•­o w’ÿ9Ö®`ífèÅr‘kñÞ•ò._p\mè0÷Û‡b×>sik5Ï7-Ôßî9§sx³ó^Åó/Ú=çó1GÞ2Wh ÷ôéó¼ûóóNóEw·FWÖGgðzee,—^ïåôN÷ôOÇ^ð…ò35t8Gt†Ptûv_ßQ§ÔR§rÏc,OqÍÌñ ô¥µt4s ¯õ̼uÈuWÝu9OìÿuÌ v!ôú-öÿqOva[vŒlv ~vL÷f_¿ñEvuw…õ÷ñLçön¯ö5¼ö,wÍe\Yÿïr¿ñsבtþ¯ãuWÜv÷m×·56d~÷Š6¦H~§Ì½.íny¿8zäìÆ÷zÑêÖ„y†ù_£ù'±ymÆù‘?õ…Hõæ|öIYJåVçÐûŒ¶ì‰Þl½>dXvùŽ6bsÿö…5p7ßœg÷­Þ+‰fkÊVÀ÷ìNNéP®ë¥~ÍÂWk¿?|7øª'ˆW9.?¼¿w½Oˆ®G¶efjþóSÌâVû”xª~îhfy¡fzã´mj~ü¹Çج×yÌGÍÿÖ4|µúÕ|ÐÏý£ÆlÝO}ngÖ—ûfóöpsüµüÅ•ýƒ }±}ËN|¼~½îl nkìçcë—gŸ¶è¾n}ãòƒâå߃¿t¾çzõ¯ýß^îï÷ûí‡æù7ú¥Gúú'î‰WúÀÿm¤îý˜,hð „ 2\Ðà!Ĉ'R¬ø€‹7rìèñ#È"G’¬Èð$JunPiÙÒÁöФy£NÅK–t€'РB‡-jô(R£ R2mê´aÒ‰£R­jõ*ŧZU²tþI¦Ìš6qRÔ)kDŸhײmëö-Ü¥[çÒ]èðêT¸z÷º­Ët¥×¯1gŠ½™s'[µ|3nìØ­\¿’ýÞµš÷1æÌ"'Ÿì,ᚆË"^«X3êÔªW?ŒÌùµÓÊU/³®­¶BÏ.A‹Ý3z¢ÙŸ‰…Û.nü8U׸—ÛÅJ9ô¾Ì ê~9¸÷o‰ÁÛžŽîý;x‹Ê§“'(›êóðê–'X]pØÂd—FÛ}=þüµÇ·'>jzú 8R½Ç›|‡5Ü€ :ØØ Øÿ%àƒšTà×%HÚ‚¦§!‰%FUá)ª¸"‹-ºø"Œ1Ê(#Îed"ŽþMØa|¢Í§]}XÝ—#‘EɆG¸cW»y裂# )¥’UZyeIIb©“!%ˆTZ5ä–ešy¦–gF×ågOŽ%wbª9'9¦Ygql:Ùã›aƉ' jx§ ªéiŸ¾ýÑv ú(¤à)f‡ÂZŸô…hŸœ”zúéc“‚º˜¥_f ä¦SŽº*«¤ÞØ*j¥º©(œŽÂz+®³½š«c²&š£A^E&¯Å»Ù®Çîå+¦´úi«²ÑJ«‘¨Ó^Èa“ˆ6 ,DŠh-¸á6P­¸D1‹Ý¢Ý ;f§åº›,È;/½õÚ{/¾ù껯¾X$ à¿ï¢‡­þ—³rû·œ ¼0ENX^…62ŒÁmþ@­ßN¼1Ãf!Rän¼YÅ{n‹ñ³¼pÇs2{¯<Ô¹…¡¬i»I;³µ-»,ÌF‰ÌsGLîañÉ+L´»>ÿ\WÐE Í4µØÒd2v7£š3R;S}¬ÓOϵ¹2M ÕHg­´ªgƒ¶ØZ‘M³ÙnƒdôÑÚ®òÒvK wܱIì7Oxcm3ÛÃrmm7Ž•ã“”‡F‘SþÐå#Qžy—[îyH€ÎÔÜBMMøEâP“ÞˆóÝ6Ãœwn•ì ƒ${Dµeûì˜KÄ{G¢ŽRéAŽúŽ«³nªoZ›þªâë^Õô¸od½ï¹ïž=çÕƒ$üðPáU7ê%/Ö¥{ãüçÄØwî8D›W¿ïÝSDä¹ãÿïyNÿû$§½úõo€½ ^ø&S< pç[žÁœ§.è±kdÌ÷6×?û½o"ìí¼ø ƒÜ3 Kˆ9Ë¡p#àK`BX8ò•Ï"¬‰©¨p "l]Uñš»Bþˆîë` ów@þ‰K̉8»éI±‰y! "Ã,Ñ°†YQ]oxã•&®‚DûŸ¡hD.ÑE|# ­B)ðƒj|bÛ¨,f± [$IývCš€&0d|]ôÚW@ë‰þŽŽl£í†¸HNÒ„G¼ã©(ÇÖô‘.$P½(‘Aî¡cäa»…yψÚÃäóXDIЄ„# HË~„È'‘%ÊÒ”.9äú ÅJ%®Pˆ²¬ã#ëBø¡xµcf5ãˆ;XN‘¶Üã/·Lb†r˜©ëO”‡ÃÁ•ªL¤9M´Égº0œr\<9RLvž²Œ?\\>×3ÏÖÓž‚_@õ F±³%ÈÜûª¡ê± %>%úEt†åç1ÝéCªQ£òå/Çy·rš3y]§LÚéO’Ô¤tBi'Uú‘@ÚÍ¥/-%H*R þÓþ¦ ÂiuꞺͧ0u€!é0Ó¨”Ô¨7½hS”Z4–Ó§/m¨¥ŠH3Z5RÃêI"†Ð²BÄ¥4ñ(Xo ÖdªŒ­…BÑŒòª×½òµE5Z«]º>Äu®U¦]«¦žÍ«„ jX§ª³š*¶²âª( Ô˜ŽÑ°Ï£ìPªjÙÑÆL±š-¬d»ZÒ²v†¦Ub WÈÊ5µGmksËÅ×rT¶±EíX‹ªÛá–6±^ý-m=;ÁÕ·Ä}®>1ëÅã6¹¶5Šs¡«Ý¬H·†Ô.]û¶Ýñ®”·íI§o«ËÙc*·‡D¥)yã»Óî–ï²ïaë*ßýr×¼þåIgM»^‡¶7•#¥*sù;\Æ~mŸŽlpá«à 눾È[èS£zÝ¢d—ºe0Õ ÕÎn˜(öpkAÌ4k8ÂF1…UL4“ØÅ“…ñ„eÌ3³·Ä¡M0Ž+«ã™ñ˜À>ʉƒ,d ;Ã}pmm¬Z%ïwÈ++2„ûJ*o×Ê#Ãr”µ O.w™É‚tòfGÜc)ßÈd¶ª—7æ¿“¬o†nœ'6ç#7×Íw6iž¶g6c×Ï–h 6h1ÛùÐ6sOÑŒßÏFÔÑö/yüQ™8¡ÓF&4‡ méx&Z`"Ü_ñŽšµ¥~שQíUS±­þ¶ì«ÝkTÓz¹•¾õhs]®]wº×îuH’ lRCº©’Œ¬gMçßxÙ¤¶¸ˆ-m>EÙÖÎl³ûlNËÚØ~ï‹¿ëp7x܈¶¹ë,\u›–Ý!v7¼§îjÓÛ¸ö^1¾Ë­odƒÄÛývà¿gp^ü×7*¶Ã¥íxS{ÊgkÄÁ5ñ†ÛúâˆNøŽ­¶éw œÛ<1¸Ç r"‹ü©ù6yOžr"¯üÊ-2És’ |æ3®ù—ožæ—ƒÚÄ2÷¹œ.g¡ƒ¦NïÁ¶‹þc¤Zézfú`žîtŠïÛâTOhÆ­…·§j½\?zGzþõ¤cz:+ þcÖµ~v‡¯ÜmgÎÛG^ö¹w¼îõµº ±.“½s\¿~Ÿ.à-x~ç#QûáaxS/¾ñRG2Ú#¯ñÉúòr/<«5<ÎëÚóOç»áE/HÒÛô[ý–U¿ú»/'ïdÿ¼ãEyÙ‹õÙv½Ùa?fÞ÷Ô÷>êCO|•Ó7¶Ç¹å=ïå7ÕøG¾ðMý[_ìØÏ}²3¿ý\…}Zc‡>î/ßçñW¿ù°y~š£¿êسŸæî ü›ž~éK¸þ+î¾ùŒÞíßü Ÿÿ]J ›ÜÞéeßô Þgèú5 øœøAਔŸ–L¾ÞΗòÌîþÝ:5É_Η´  ¾ Æ  Î Ö  Þ æ î ö þ ¡!¡! f Ë WÄÖZ[ •N!V¡>®•Œ¶ÈŽ  ³p¡¯}!J>á–¡ÎÉZ ú­!fH‚àÆ¡ Ȫ`Þ!r‰^Š["‘äaò"">ˆ!•&¢#’ÊêßÓÙ#>¢%âa$ÆÝ$Vâ%v¢2!Ò”%® '–bfâàiÝ(î¡)¶"\äá*òŸ+Îb¥ "ã©"'Ò¢.ÆŠ-Šb.î"0öJ/ªbb0c– ã$#+"£þ32: 0£,>£5H4öÀ4ã5vㆀ¢Éˆ"5 7–£Ðdã66£9®ãFW¶"1r#;z#,ŽcÎ#>na<ªc>²c=Êã?:c@úã@–cAVãA.¤Ž £=¦!CFä7ºcÁ¤â2 ¤DÒ¢¯,€8bdFºâFv¤A~ä1†d?*$Iæ£I^äH¦ä.®¤4>¤ ºäG¤6Êä¹5"Mv"“LÅpäI’ãNþcOú$¢%K¢äP"$¶LQÂRƤG.¥#åžDåMN%U"bQ%X`e:*åVZcWúäWŠ¤XŽ%A6¥SšeL€%NÊ›Z2å ¶¥[ þX&€VÎå–圥*êeKòå#ú%`N¢`¦%a¾$[¶åaJcb åb’ec:åcjcdÞãdv£a¾¥(f&Dn&gVæ_zf`î¥h’agâåg¢fjzájæ¥k¾¦Æfk&mÚ¡mž&næ&î&bΦoÖpB¦pçø'f'rR_—ØåeÚhÎds#›8¦igoV'lV v²&o*&wreÉXæ[fz¢§t2çxªžž˜'^¦§zNgN¶'cîciƧ|®çvÚ§ÿm¤|fŠ§ö%*.@€¨dhah‚Ò§\2hU:è~BhÅIè h…²'†~†¦§‚þjf‡Nè æÍQ>(‡Ž¨ÏÍO¢hª¨ìΉnè‹Â¨èÉ(Tº(Î\!ö¨þ(©)]hZÞ|¥Žn ‘.)“6©“>)”FéªÓŒ‚¨…J)–f©–n)—v©=éÑ )–©™ž)š¦©š˜nÖ`À˜*éšÎ)Ö©Þ©¶éWbŸÎg”à) ª *¡âŸ:=Ù›ò)œ†èrª£>*¤Fê êé[*ê¢^©¤fª¦n*§J)¥â¥¥b£[§–ª©ž*ªÔ§&ª¢ŽjN¦*¬Æª¬Îj¦ª›†ª«­î*¯öª¯æ†­î©¥æ꯫±k¬®êþX* `*²>+´Fë¤ë[.«¢6ëŸJ«¶n+·z©²^€µbk˜t+¹–«¹é·‚+ˆ+™ž«»¾+¼ª*µâ%¸Ö+»Êi¼æ«¾îëϤ+¸Þëgñ«À,Á¾ß¼.@½þ«³,Ã6¬ÃvÆÁ&ìl£>¬Å^ìÃúëÄ.,Æv¬Çê«ÆR,©~,É–l¹†,Çš¬Ê®ì±¢l¶²,ÌÆ,­ºì¸Ê¬ÍÞ¬©®ªX€½¦,Îþ,ЪÎî¬Â¾lÐ-ÒÚéÐòìÆmÒ>-Ô–éÒò¬È¾jÔ^-ÖféÔZ@ÕêjÖ~-Ø.éÖvmØ–­ÙéØúìÙ®-ÛþRÚ:mÛÆ­ÜþÎÛÖìÜÞ-ÞzLݶkÞö­ßÖÞÁî¬à’íß®áN)Üá¥àî,á®ã>®Sì-¾B.åVnAl­€ÜZ.ç:.æj®Ýv®è.æªíèž.Þ–îæ¢.붭ê†nëÆ.Û¾.ßÊ®í–-íNîíînÖæß[.®H€éò.ñ"­ï*îâ ïê/óâìñ.ð*/ì6/õÞìóFïðV¯öªìõ&oön/øzl÷ ®ôÖnøž¯øÞ@âB¯÷./ú¾/ÃŽïΖ¯î¯ýƯúnû’ï÷Þ¯ÿÆ«üoÿþ/›kÓoÀ°çëð?0´6°ûB0#«Oog°ç/Lþíïü:°‡°¬^°ùŠ° ï* ×ï ¯p²r0¢boN<€ Ï0 ×° ß0ç°ï0÷°ÿ0±1±1'±/17±?1G±O1q 7$ g1 »°›Â°æñV†±/%—ñNž1»¤¯1I¶±g$ÇqDÎqm¸@ ä±ï1÷±ÿ1 ² 2!ë± Xh@´-2#7²#?2$G²$C²à€Uœ€d²&o2'w²'2(‡²(2)kò \r)§²*¯2+—ò)ߊ¯F `Á¸pi`A PdÀè/ÿ20³031³þ132'³ÜAXrT<À H—2À <U@³4o)5[3¬xF{ñwä²NÞFärThÀT@‘TÀhUx€„ 0€¼s<"=Ã2 vqû‚G Œs¬˜sR8‰8Á;ômÔsTx€Bg0t«T?óoxüó‘€@#A4B7ôCWŠD#…CgôH¯ x°_tH‡ÊFA3€LÏ4M×´Mß4Nç´Nï4O÷ôLtB›tPIDësEª4CFõKELû4TGµTOuO5H õUõIJJƒ³w,µ<7uQ<5U—µYŸµN[uR84Z·µ[ŸþuQƒô[Ï5]÷t\Oô;~¥WGXc…üµDD`CÄ`ã…XY¿uäÔ5MçÁ\«5Iϳb[NO;6T[6]ßud3öLcvgë´gsöMk6Jçõïös8?ta7@a·öZh4U$v[{vhÏum›5d[+vMßvcKµeû6U“¶Qì6g׶p3@r‹6qƒJW£öW+ôj?Ä`W7’öPÈöY#÷q?öG¯µd»5wçôrÛtpÏus…q3öxãty3vz{Ês[´?K÷DX÷tvlëm“·ã|vã4öËôb¸w't÷vg8ƒ¸röƒ;8ZÇ·P¬w]·wþ?x„¸hË4…GÊ|0K£E~Ww~ëwT8Áx‹·¸‹¿8ŒÃxĸÌx‹Ûxã°8Ž»øŒÛ¸Žÿ8yßÁw“t9’˸’×8¹39”CùŽ'9•{AluQÔs•o9Δ;¹Žûø“sy•_¹Qÿä^+µ}K~G!v …Š“¹y—;Kù’ƒ¹œÓ8‘¿ó‘ïyŒÓù—ãy˜Ûy”O9º•c¹zÿ¹¢Ïù’?9¢7ù£#¹™w³i#/}§6‰ß7uúk¿yPÄy¥ß8Kúz¡z¢zŸ7´£—º ¯zŽºžz«ïù¥¯u¬—ú‹Ïz[Îþ­G¹¯Ãø®³Jˆ¯t}w:›ƒ:k‡zl¯x±Ï:ªú›zž—ú«óz±û°c{µ‹ù·?ú±ëv¯w»·Û:¥W;º»x¹su¦#5}G_[Åj»6a£l§øa¼à¿;@À·`À|Á¼À#|Âá¶y·¹¸ƒûµ#ú¤û»gù¹?|¤¯{˜c{»·øÅJ²'5rÔ»½¶`7;Št¿û»ãüËÿ»Á»`äÐü˼6¼¹?¼°×yÄ{Žãx§ºÅ3úPhùÇ_{ª:ž3}Ò/ú™_eš—|K÷Š¨…Š#¡Öoý ê|q7@„½Ø=Ù—½ÙŸ=Ú§½Ú¯þ=Û‹}È=Ø·½ÜÏýÙçÝßýØ¿=¥Œü¼‡É›È¾³<Þ>áþÚ{=ƾâ/~áë}PÔ3ãG~ؽ䧽ãC ß8SG{åw¾ç=â7úç~å_>O@>éã=å§~Ø›~¡dþ²o>¿³>í~èÃ}íç>Ý»>I ¾îÿ¾Úó~ À>§Ë>Ëkò'¿ò/?ó7¿ó??ôG¿ôOòß~…Ç=ðg¿Ù ¿Hø¾öëýÞÇûÔ‡8Ës9S:ãõ·¿û¿?üK?´ó;GHüß?þç?ôWˆø?¾ýë?@h8`Aƒ&T¸P ƒD”8‘bE‹1fÔ¸þ‘cGëÜ 2r¤ƒXP©RB‚/aÆ”ØK7qæÔ¹“gOŸ?  –2;âèq‡iS§O¡F•:•jU«W›öÀ”ム¸†v×±½‚=»–mƲÚÆ•;WbH’%O¦\i¡%]¿[<˜paÇ'V¼˜1á¿ rhp2™reË—1gÖ¼™sgÏN4äxlÇCiÓ§Q§V½šukׯa›¶3:vmÛ·qÇžý˜wïŽvïšD¹—¯KßÇ‘'W¾œysçÏ¡G—>zà$…ë]Ù·zwïßÁ‡?ž|yóɯã¾—ûy÷ïáÇ—?Ÿ~ýøé©d'ÞÞ~þÿÿ PÀï)¸¼ö3ŽÀlÐÁ!Œ°"üôcOA 1ÌPà 9ì°7 \‰þ<,ÑÄQLC׳€‚/TQÆi¬ÑÆîXÔëEoìÑÇ 2¬UÚ†!HRÉ%“ÃÉ'¡„’É)©¬ÒÊ+±ÌRË-¹ìrJ0 1ÈÃL3ÉHSÍ5×,£ 3à^z<°Bþ&€Éþy’hq£èE‹J2”¤4%*/¸J‘º’¤°\¡ iiË%àR—NæKaÓ`bf Ä´DàÌ œ3 ·Äiu%×4êQ)—Mmn3tÝ<<@Fq¶¯“ÝÙˆ;uÆqŽïTA< COååëžÎËgÙÒ&6®õŸùÂ^¹0‚ºíü‹(B3×Kú5tù›@&1zñ–¢5 (;:Ê‚´‚")IGKYβ–(\ÂJg¸K™n–³•_f†¨ƒà& @$0Ÿ6¨†;Qa‹TÙÎV©›cjS3WºÓ¥nu!¨jU]';sf5pŒc;þé(ÏyŠõd½çYѺO~²•ºØ£øæʶº:’’œ$C-™¿ýV°%ï& ‹ØÄFp‚Œm¬cUY„VBV²I¨¯,˶ԥžõïez Ø O€N (j vðƒ!a O¸f °ð…1œa o˜Ãö0‡©óa˜ÄŽ™Õž³¯˜Å-vñ‹;LaOÅ5¶1Š_vcï˜ÇJ{€p`ÈE6ò‘‘œd%/™ÉMvò“¡e)OÙÉ  e-o™ËWöò—ÁüeŒ™Ìe6ó™Ñœf5¯™Ímvó›áç6S¹Ér¶óñœg=ëy}öóŸhAšÐt6ô¡h'€Ñvô£!}€œâ$ ;PKÑØõIðIPK\8–AOEBPS/img/odbc_gencon.gifXj§•GIF87aÈç÷÷÷RRZ!)1!!)!kks))1œœ¥ïïïÞçïÖÞç„Œ”œ¥¥ÆÞïµÞ÷ÆÖç­½Ö¥½ÖœµÎ”µÎŒ­Æ„­ÎsœÆk”µZŒ½JŒÆB{½B{­9{µ1kœ)cœ!Z”!R„!Js1Rs9Z{1Z{Bc”c„œ¥½ÆŒŒ”Œœ½cccBs”µÆÎJJJkŒ¥µÆÞ¥µÆ­µÆµ½ÆµÆÖs”­”¥ÆZk{ZcsRZkJZkBRk9JZ)BZ!9R1J!1B)1B÷÷÷„„„9”Æ9Æ„ZÎïÎÆÎÖÖÖ!BkBÖ÷ÞÞÞBRc„¥Æ„œÆBsÆÆÆJ„RŒÆÞç„¥½BRZ„”µ­­µ„œµZ{œµ½µs„­k{¥)ZŒs”µsŒœÆÎÞ1cœkŒµ)BRsœÆkŒ­Z„­)Bs„ŒZ„µR„­J{­Bs¥9k¥9kœJ{¥J„­1s„œ„”ŒJc{Z!J!J)!Z)!„RJŒk9”µÎµZ9ŒÆµ¥{JœŒJ­¥œZœÖ”„B„kœ¥”c­œµ­JZœscŒŒk{{Bsk­ÆkZJZ”1)Î¥¥Ö­¥Þ¥œc¥Þk­B„{BZ99cœÎksB{)!­cZµcRµscÆscµssÆŒŒsJJRœ„R¥{c­kc­{9”΄B­œ{¥µœ{B¥­”¥½­k91„k„¥Æ¥¥¥cZÆkR½œœ„­­J”ŒµÆÆœ”sR”ÎkkBsœRJ­RJµRJµRJ½ZBµJ9­J99„¥µ¥œsR”½RsŒ¥B9¥1)½J9{JJÆ„„J„”cRµ9)µ9!µ„{1ÎçÖ½½œµµœ{„k­1!1ÆÞÖ„”{µ1!¥1!k9BZZkÆRJ„RZ„”¥ÎµµÎsk„ZZ„”œ„JBÎ{s„ck{{„Öµ½ŒRJÖ½½ÖŒ„Ö½ÆÖ””)RÎœ”R99”cZ1kÖ¥œ!B)ZB,ÈþàÏ€Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(Qþ8pŸÈœI³¦Í›8sêÜɳ§ÏŸ@ƒÞl@´¨Ñ£H“*]Ê´©Ó§P£JJµªÕ«X³jÝʵ«Ð¯`o.À²¬Ù³hYêK˶­Û·ó-`à€€~- 8˜pAJš¿€ L¸pà1ˆ+^<‡cÇ"KžL¹²å g2kvù³çÏ =¯Yó¦´é7pR«^š8°cÇ‘C»¶íÚ!rëÎmF„ïßÀƒ‹A¼¸ñãÈ“+_~\¸óçУKŸNÝ·™ëسkßν»÷ìÕ…þ‹O¾¼æè_YϾý+ðãËŸ/}róøóãOŸž âþ(`€úá7Ç)$˜à 2([l®E(!^TèÅhf¨á†£©áá‡jL@D7”hâ‰(¦xâ ,Î`búԃɌüÔX£&8æ¨ãŽ<ö裎6Ú8ã<ŸLF e8p—@zQ`Ø“P&…_…1få•X^yÙ–˜i–Yh`‚†ái¨±ÆÚ„ÂvÛšrì¦ÛtüÅ)'záÕiçÒy·Ûw|ö©ž’7§rî¹Gß¡‡Úw\ Œ :hqÿ8à¤6*Æ*˜Bƒ/¤ Û„ZX!‡¤rbˆ#ª¨êª&²ø¢>þKà#+>öÔjë­¸æªë®¼Ú:+>óä3Á‡4( À=`å²RNéì³Ð: X–ÔVkíb\J¶Y˜¡eHfif†ûkžÆ¶ænÐ=ªî x¶ëîݹ¹§Ÿôn÷n ëW¨¡ˆök…¢ÆYŠo¾þIJéÁ$Xz ¦œ:˜&¨¡ŠZêÄ~("‰¬Þ@C<àq<´ACŠ-ÞÐÀ:õ ¢2*²öêòË/ã³2*ñ bvéu³QF+E -tÐ@·Ð‚ÏÐN¡ôa×6í´bÙr+õ·§…+®l¸½é\¾\Óùî×`?¯¼òÖkvo€¬î¾…ú‹è÷ ¬_×#L©Â +Øpþ§CìšÄ—jqª¬ÒPŽ °´€ 匬ê(ϼ2=”Sóå¹VN¹ä¨¤ÃÇ°¶ ¤PÉ3aÐ=t¬·îúаc`´ÑH×nûíSötbÙž!õïœÕAu™©}`n›¹G÷òÊ…í¼óz’MöÙ}¶Ûh¾lïëv}p/*÷Ü]Ûm÷bªé¦ {ê÷߀¾!ª¬ ÿüô¯Ð† hÙÐFýôO Ï<Ó ¨¹Vî À;˜À°€ &>"0LÀ 8êœ5…Õåà ´€GHBšð®Ka cǶpvGÃݳ ã´lmx`2MkfC›äý†yþ@4Îó†è.ÞlGzH¤Ÿît=ìe¯=Û‹{¼÷½ý,O|#_0•)½¥O}ëkŸû2$¢ ÐàŒhL£áŠ€–"4Nh,C;âqŠ:žÂxÌ£÷ˆG² Dî@ KÀÇBêÑŽ݇€A †ƒ« ! +@ÉJV€„˜Ì¤NÈÉNzR… l YH;Ò°i6œ hÀ5!OyA"g‰'Ýh‰¸T"w¬§¶G=‘_QXqª˜Ÿ+bñ`ZÜ¢ùη·¾ùMŒc\ƒˆÊÊÖùðð<þHÂ3ZàŒ7hG:ìxGCRD§@iN>’3‘§b¤2èÈ¿@2hþ¼À-ÉÏ~ú“Ÿš ¨@šÉOVs”D“¡ét7†4 22ž)“+}8œXÊ’–´4º ƒËŽvT—îb”¹ž(ÂG˜É$fy¸vLñ¥4?\ì₾ø 0B3pÓ¬&ë°€ž`§=K5Ã9Nr¶³êÀ5•úŽ£î‘œ§€'ˆäIOÁ°€ XͪV³ê@€ìhA>EXI ˜õ¬hM«ZÍú϶ºõ­”$h@= Â"4h …Ö“Ñàí°‡?´èE1JD²=Ç£ˆ•ž¿¾u‘´¤&EéKU:žuµÔ¥Œ2CL™ISÙØÔBÑÌ©Nw°„,A@õéPÅ U§ò1©étþí!ßIÁ©6r0 X‚nwËÛÒöÖYÐ'Y)™Ö·EkM®r)×æúS®˜¤«]ï*´¼Îð/|½!g$ÚÃøF°ƒ%laÝäœÄš·lf[1¹öØ÷D¶{£ìJY:)+\v²Ú,gFP‰jT8% tšƒ;ì : Cбƒ™ü4”7¸DQíXŠR¨ãÂΰ†/¼ŽáÃÀ:6Lâ WøÄ¥ÀEmy[Á@ ¨0ŽqŒ+ܲžõ¸8ÆñrwÌc¶:÷ŸÐ!]Q8]êÂ.@vÇ°t†»/óÄ;Ké ç¼XFïwÂÖX_¶÷½ð¦|+kÙÀÇ?g&Aþší;¾òÅT¦èãT'ô߯€ xγžõ|ð`_ xçÇ<†¢ÀÅ0ˆÁhbãÑƈ´9&MéJWú<õé9,ÍiJGÚn41† e(ÒCT%Ì‹kB0PˆõÊ ‡¡û¬ÀœÀë^"vàDŽ‡=ƒÂ½î5"zÌVæZrÈæ5 .@IZ"Ù“ÈÀ!‘ì”°¾Î‘YÇGô:Fv¡´²ûäÔðлߕòò¨ó¦d$BœAñŠ[Üâ<àhÂ\Üâ9*þ.AòK@ãä'·†Ê¯Áò–»¼åÒÈôX¤ñòš_CåÖ@ùÉK~‰S|ãÔjHõ`^Ü‚ m 0­ng]ë[çú¬DˆMõß ¹Ç^6³ÕZÉD8ÕD¶+`íP’àö¶¢Ž x jÿ…’c'dAn3ä …åÁ]sçP&w¦Å› ¼+*ï®Ñ»ÞVN¾'ï&{ñÛ<]û÷ö¦ˆÊÓ¤lžqÜüæóÅ™¿‡ÄG3!äÀô úxh.”C¯xÈGÎó“ÃÞ‡ð‡O|âǼ&Fñ—?|àãù¨s8gs,wÛ¨±–|t©rÞˆrÑ÷sä8Oª¶ËŽê¨ W¸6¨˜,0õx,’)3ðk(†‚0ð oX™€@™i\xhZ· I~k7 @¦ whVhç‘–’")fW %™lÀ BYw-™Ø¬““Aã (y“ƹ“ h"@%Õ` pŠFÙ]ñ–”ù²”®þ•Ü‰KÎ3•#u‹o‚b&pN´•\Y0'hf–ÃÈp“ztVggyzœbqxéŒnɃpYr: sI—x™4g—y¹—9÷ŸÐPrØ N(˜CG˜êØ «° ­t»•8à˜ÄՇ凙úXÀ"9†šY‡¾f©šéGšfÅ(*mø÷šQ÷š›Ô6›!9#”›Þ¶‰m·v@w¿iP)ô’à†mi œ€žØ¤¡ØT “Ð §ˆx`ˆë¢ïÒ`*/C4_á)ž‰"YëÙK^Yèù‹^)0)(–|C–þõ_0xŸÏ˜Ÿÿµ§r»PrϨРþÉ€ † ˆš¨‰s# ‹š@Žª¨ˆj¨†J¨Ð¨JrÓ`jYUP¸¼Ð ªP¡új,bNGj*™g8¢ž9u&j¢9–9šZ£™V5ê¡9JI…¨„˜meGBr×›@*BŽ h¤)ĬnP 5 ;Lê¤P PjRúT:Áƒ¥ZÊ¥Jé¥í¦æºx\žƒÒ^À4äù¦ß“ylÚ¦¡WžÂøž35–,X§""4À§|ª§{ªë§Ã°‹Öhv û°±;±K©È@¨£¦°¤Æ©¶¡ÖÇ£Z¡¬p¡JWZîX©ªª`™dhþ†"J¢å7«¯ð¡¢I°Pi€«fÕš¯‰šÌu¿ZÐö~$©¶IB¿©’tBŽ¨wpB*; +I­Ž x׊’ٜϙ8ÀÒy¥¨xH)®]J®Et®æúµ¸¦U)Ejº®ìA¯n ¯™§b9g3h@`°§·P¸†{ :ð1:p¸‡{Ž‹g9h¹ £P¹£@ ˜›¹¤  œÛ¹žû¹ ºº ¹šk¹”; »°ê©æ¸4 BiÄŠ)k'›²« ™˜9. «%š©»•¹ \Ð`,š‘.jV^·«€º&›Š ›]÷u—”›Ùþƈ"´Íz9yzljðv|·µŸ Cã X[nMŠ‰Ó* ‚G“Aƒ‰€˜˜­>™¡à @” èn€uhû(j[®l¦Ø¡^ý·ìj•sK·]¦Àx[¯z{¯ËŸsº¯tFy°90§ò!`Â"<Â$\Â8€h˜`¹˜‹b¥` .üÂ0Ã2<Ã3̘; ¥p ¨©°ºƒéŽ2ÆF ÖS(+~ªú…¬Š¡ùª0+«¡9)£0Êk8{VY‡V^'mÔ½9ÊÅ%¤½ÖÙkn½ö´&ô‡¼6¾ñ›lÓ*4’lMºÆjH AóÆNÐP jh MŠvÐþ½ö}åP¶xœ\K ¦»d','ì Egfö*7òÁñ¡žLzúeÁÎ$!c°DÀ5pu1¨Œ"—°3ÒÊ3’ °Ë™ð#š ˶|˸ Ë®<#‡|`-Щƒ)cÄT4öt7v~èÇl?PA6dQ›nAƒdHf]µãÇð`ŠEY¶xȈœÈw²ÈÝÙÈŽü¶v»ÀîêX¯¶ˆÉgFEUÄ·ðé·t€7h0üÜÏþ<DÐ=ÐMÐz°Ð Í ÝÐ ÝÑ=ÑÍ ½}à7ÌÂ<8@ŽÒ!½gzÖ’Tfuþ\ìÇuÍ|IA¶IÒ%JFVÍÖ\;ÌBvà°ÍƒŒx­ô¿[ Îs"ΊLÎÜiyu‚ÎsÉóú/…ÒyºØðl_ò<ÏaéÉòécpÐÕ^ýÕ`ÖbÖXPÖf}Öhc½ÖlÝÖ]tå8-×â,À)\G¼ÒÊW/ ‰1ýww•d UOõ„ÓÀdü[>ýng+ÔêBÔãlÔæz¼ä(þÆÔ ÜÀQíoSMÕ!¨RWÕtʯMkר "gà!™‘Ú® b°²íÚ´]}Ž4%S “[+I^ØÒmEPÁù:…;Q²;5”JÞÚÍAíØC Ùá!Ùçþ*•dvÙê,·WYÕî¼®#p·S)•lÕøZŒÇhÚCÛ¨ÝÚèýÁ°í!²ýÞëýÁ¶}ÛR 4º}B}ýÌœ$ÓhÓUb-©ÔdÓ9à^à (5Î΀ŠxÈcÈÎÎÐMÒݶ•mÙ LRëœÝÚ½Ýq2EM·àíÀŒBÏöùÉó‰Œîßq½Ú,ÛòÞ³ýârí±„¸­ÛAÓIBÖ’>ÞBƒ- E-\’Ü8täH&ŠÝà¸ÜÕÜ.'ݦÔ}eªáÜÃ៕ Ï#Nâ%Ú§‡â£âCãjÎÞ«2>ã,>ß7^ß¹­ã$ͱCÍz%äþ~F~äK.<ÃcîÓVs舾`<<ÄÜPåÏ=åÓQåV.•TÉ>·›½ÔÚÁš,æcÞÉùzÁŸÒ‚¥Mñíâk~*mþæpŽÞr~ãö¤4öMÍ-D͸ž´®4×ÅçV²%€®Ø߲䉾èÆ>.t`ìR.žÂ&ÎÎ&Qùèé’ÎQ”ÞWžåZ~ROÝå^Îé.â#>f(ÈE}›Õg~êc´êjÛ³íêm¾Þ±.ëR2ϲëöNx§³ÍØBHN5‡¾èäÂìÏþìl+Ó^Õî×~ð!E¦~Ýì ÕÄdÝ’ìéNYd^æfÎ>h>1ìNãîïð.þïsMï(¯Í;½ò; 5“ñ%ܲ„ü-âÂèXSð!ðà“GX /X ‹ _é_ݯÎÝîíc‹ñáMîdNÞeùñ òñ=òðîî°>×3àÖ\ßõ^/Öe Ìç§×ÎÖÌiåÛhïÌù½ölßöiÿöp÷r?÷tÿö+ðºmŸ÷ßD+öôGÞ¤÷zŸFüÓ÷-Mö¨,öŠ¿øŒo~7 ßå8d ”_ù–ù˜Ÿùš¿ùœoùÿüùÿÜù¢?úœ¦ú¨Ÿúª¯ú¤ßú®ÿú°û²?û´_û¶û¸Ÿûº¿û¼ßû¾ÿûÀûl0üÄ_üÆ/mðø˺  þöüÐýÒ?ýÔ_ýÖýØŸýÚ¿ýÜßýÞÿýàþâ?þä_þæþèŸþê¿þìßþîÿþê/3ÐÑ€ÑüðÿøŸÿú¿ÿüßÿþÿÿQDà@‚ D˜PáB† >„QâDŠ-^(d†Ž0À ÍÈ‘„`D™RåJ–-]¾„SæLš5mÞÄ™S'F=‚d0†d“;EšTéR¦M>…ugOŸC %YTêV®]½~VìX² ©v´+Ñ“eݾ…Wî\ºužýY@mÖ¶výþXð`ÂIñªù¨wÌZ­…?†YòäºÃT5 ˜q_ʲþZôhÒ¥MŸFZõjÖ­Y{†›°å0—gÞ[’³lÉ,ü\øpâÅGž\ùræÉYð†=.íÚ·5óUèZûvîݽtsòåÍŸG^üzöíÝ¿‡_þüÓc©×Nœ›möôýý ï?üÏ7D0Aå T°Aƒ ðA cpB -lî9±î #¿-6ã/.Æ“N  1D1Åâ4,qDßs€¥bljDûf¨-Çü²1¡ᢱÄU$RE¥ 2°$‘Z2)7Ä1Çqû;e’D!s¢K'0ür8/ÃL‘Ì󎌮I¿Ô܉M£ž K£5¤ôþ°G„~|ËM؆ÎL3ü?ÁMèôœ ћŠN°ä\cÎ)õªR7þÀÓ1»Ì´SO?UÓ1C%µTLcôtSN0µÔQ[…5ÖLY•µS>sÂ? TÁ^Íc!ÕOi¥5ÕW‡õ²Ve]]öÔñ„] ØN‰ÝtÚjA=VViaEÕØd›m¶ÛY¯6Tj¿—ÓYAuô+H#”J÷»Úu™mu[bÁõT\MùݶÜ{ù­5`eoýõ·1ûÔO/sa……KXb\»„ØaŒû|¸cŽ7¾8á`­…6`}‡–`e ®Õ_ Þ7åe¦Y`m•uùd•c͹dsmþžèb n×+¼ˆ4Òüº°ó ßì[Xufçgk^ê w6µêX6nІ'Æ•á±Ë&{×âÄÞ8âˆÉN;¸/ßF»ì¶WVÚ˜±Ök®&¸çhõÝûÞ¾·F¼k«ŸæûïVO™eV©FèL‹îJN¤•Æ ‡¦ b<ê _ý6ÛÄ?wè—ѽüjÑgž\ÔsýNWuu˽u½“å½öusÇìá¶Ûl¶å–Xm⎻yç'žîº!Ì[f“7ÝÉmß=÷Q{—ûO^Ýë-?ÜÛî÷õžugC?=üß©ÖÞò ÿ]jû/¼õ×ðB×Ïa¥1N+þ¨@',p „8Á:P‚ì’+¸A fƒ„B@“@ nªƒ” 5xA ¶0‚*|a]xÁ† „á…'7…m nnKžÙž7=!Ïy@|éÆ<"þ†+¤àYˆÃ)FŠÄá eˆÅÖp‹Z¡ŸsE/N0‡\T•AÈÅ/VЃgd¡IXBÞ0†uìbÕ(Ç+¢QôRý¸GCen‘  ¸ ÐëNs´bMÈ1ýQRœ!Ã8BArxü£S(I+žq‹¢Ô$v½\ ñ‡<œ¯ê&=Z¯ˆÍc⯞èBL®±„j¬bþIJaNц™Œ$39JSö2•Á|a ?éÉMŽÑ’,&áÉ*ƒ•äæ'GIÆ?ŠðˆTdç©‚’Ó̦0-ÙKTRQšÝä$/‘IÅg^sŸ9Dá$ÙF€jðV³”žªP&1¡µDÛC£gÄ\®He„f?CùOb¦žÛ¦½yJz3’ 4)5;:I|Zsžç8¥(PKŽÔ—ðÜèGËYH®¼ €‹ƒع›‚¸”› ©F‘šJ Ú´ŠÍtæQãéL¨4ªuàA†12Y¬«û*X/¶¼$öda ëV5öÕ®–5­ºhTOÚI7r4¤OMéR“™þÏAbTª D)ëÉK¨¶ô Ä«`™zS§ú³ˆm!TÍ %rN/j;‹zØÇ"ÓŽJ-%1÷jT_bU®S¥jG÷Y׫ŠVZ-Rl´Ëg63°¡*VËZ½V“³!•«LÿJÐÐŽó³ lìj·)ÜÂ&7¥„í¬6wz£DZ–˜jvŠÀîrWUÝõ®—˜àKãïxÇ^òª÷¼åíîzÓ+Çô¶·¾ð5/{Óë^ûò7¾ÿE/~åk^û’·Àâpza+[ˆ÷…ðwùÛ_ö"˜Àpãkaÿ–÷Àï pˆ¹K_ý†XÃ÷;`ÿ¶W¾'î0xI\aþ˜Â7¶0…»;cüÖWÅÆñy]¼©ót+G«.P3KT‚uªW=,Jgºⵘ t}俱zØÅ>v²/*E‡‰ùb¾Ž¥²·Ýío‡;ÏϾt´8]íBzÜõ¾w¾‹ë˜Éö6°ö¾Þð‡Ïùßëø1ñ‡|ä#£ø¼,üîP»ä5¿yÎË…òÖ±|ãñžùΗþÞô§ÊçÓ.z̳õ¯‡}ìm¢z»³Þiy—}îu¿û‹ô¼ >½P…ïxÞßøÇGˆÒÏp†Å3@øKn=ò¥?ýâû~ùÍþ¯‹Š{êwßû·>ó+Ÿ}âßüçG¼õÁ†3€!?ä½ëÑ?ú¿Ý÷8Xÿúßÿüò×ßÿÿ¯ºûÃ?Àý¾øÀTÀ£@,@Ü€¿è[À ¤À9»2p@4@è»=Ò«ÀÁÉh@ „@þCÀDÁ$Œ|@½H”@”ÁL” ÌÀ‰‘Ȭ ˆAôA²S•‚Ø”pƒ(B#T•$ˆ8B‚hBð!dˆ(4Š`þÁü ‰ìÁäª{Â"hÂ/<Â.‘B…øB"œB(„B2$B6TÃ7¤Â„C!<Ã‡è¹ ¸A,Š àÁ”¿.Ä£;Ã1,Ã"|Â:tB„@ÄDCFtÄF|ÃHTÄI\D†¸Ã<Ä¡ Š>î ÄOܹA”ÄD<ÄQDèD0BSDÄR4CJ´Â³ÃC=Ì NÜ>Å]Ä9Q\C1ŒÄTlÅ4„DVDÅ2”CUdÄTTˆ;µZÌÄ=ÄÅ&óD^´FèðE'œC8\ˆaìFIÌÆS|DT$ÄbdÆ„pFP³Å’˜ÆϨÆk„GÏÇe$ÅoõÓ?Ô@ÔA%ÔB5ÔCEÔDUÔEeÔFuÔG…ÔH•ÔI¥ÔJ T‹ØÒ·ÄQ/ÕQ0ýQ>Ž:Òè”ÒUÜF'UpŒÓR%U’TS(ISEÕW]Õ=Ñ'l¹\ÕÕ]åUDk€¢Ä!À‚ÅÄ€MåTOÓ†hÙTI5GgµÓ;UÕZíI+ÝSLÈ%EUiåÖ ÍR€_ýdzV À€Ê4Ö/ Óؤˆe Ò6µRiõV&}Ó<­W|]Ènþ…U“Ü×|õP!å×h ×ÿWŠ4WtÍuíÔvÍEfex•CÕÐS½ÕSíÐ%Ç ”Ñ* FEÑŠ}V]Ò*Y<•Ñ-Ø<Øru9,MuíÒc5ÏdXˆ]Ùœ-º–•ˆžƒÙ˜eX `€šu׉XEZ¤ãو蹈ÙÚ¡ýT‚8Ú¤µÚ[ZˆhZÑäM½øRç,Z‰¨Ú«5[›ËZ–t¹XήÅϯ…[Û‡}Wœ=ۻ팴uˆ¦m[ xÐ"€Û¯•Û©ˆ²ÅÛÃõ ½•»µíÛ¿ Ü\›]ÃEÜÊþ¶`_&h`€%ÐãŠMQôW‹Ðÿ¼V¥ ãI®äKÎäM¶Õ†l‰”UŠöD:Aä•+dK<äë=_Enã^‡ÅáºcI^‚°ä€L&fUÖÖ:Ћe åŠRæb>f¾à/~f‰°ÎôL X>:Yžå”«åë½eóMäæ]dîeˆ.eb®fd^€_ÅfWuSoþNP¡l|Ɖwf‚xFáyVæf†æ|Öçœàg© hhÆÉ„çp>¹qnÆr¾ßsö]õÓuÞ„pg>†gLèH ¶gƒÎØQLÒ€MÕ”mU=ÍÐM舠ã–g‘¡z–BÝÖ-Rê4E‘…Ñ) ê5dS4äXÕP¸Xè‡pÖJ|hˆ.9‰FGŠN¾\FgüÌè(`ç"èh.˜TîhaœŽÒ5ÉRÆlýIzåÐRÕ˜†:þêšé"k}$ê5êåæˆØ jy%Òo•×ƒîŠ¥vh]ħ†jŠ“êä£êƒÀÞÞ-ƒÊÆQ&Óð­îê¹麾ëþiEB lÖ4UÕeþPÅÆWZ¥ ¹ëLëöG5Ç–îkí×jýX4XËlٵןëÆgvÙ ®ìå~PidîÎÖb>þçÏm’vÓµ^e”•Õ³n•WÖž :®nO‰m²FÆÜÞÓ†&îl¥mÚز†ën.i¶ÎëyMÕâ6îˆFîÌ…áý€æ~nŽîFˆŽþ‚×Æ”í‰|f‚¦V¢ônüÖmøžo‡â§kÇîžœCŒýVVnÒð&ñÞ¶ðQ‹9ERGqßoþfâÞ`ðç^î`þy6‘Fo<íÔÞëÓ~p{ð oÚÈþp/ÿd‹ò;åf}Íí|µo”Mò( àÞÐîþîÅ~q“{lÉŽlƒÀ^7€pnÇq?ˆŽ¶€>'çäX5ëŒíéNJŒÅó”ÑÂþW‹EêÖ.‚8_ðïðôÖGŠÕV n(×íÚFjAð; …ÖÒÖôƒ`ì0oµ17ó2/ˆ3ßßûTó¿ñä*XKhØdé¸p..Vwu_ðX§À|€xÙxƒ/x˜ì«JÞ_Xø+Îaªýx‡ç<ˆø"™x‹¯ø"P¾å[¾Èxå­€èx8~äÉ y‘×<’/y9y•Oùž«103h€4_˜—yUÇyÞCáO4väu¹ ú«?ú—WÞ¥_v¾ù¦‡<ð±'û²7û³Gû´Wûµgû¶wû±¯ë3–ñn·ú«ƒ¬Oú­ŸyGþúû¿Ÿ½Ÿ?»ºÇz¤Wú½º†üÅ? û­êª·û»GúåœPÄc›Ÿcvâ!Öüþfü½s|ÉüÈÇû¾åzrÏbiW]‡<Ö/×ÿü° }3}»?zä¼€ÜÏýÓç÷ÿî>ÆceÞ<:V`;~Øý|È·}üD×·Ä,Ðê®ù`æSžKÆdMÆfOFO¿PK·Ð¥æa>åíOôüŽÏ§uOþÆ_þ`%ü¡¿}yé‚.`Ë ˜~Ô‡äÕfbˆ  0`°€I‘$EqÂp¡Ã‡'NŒ(Ñ"Ň1fìèQãÇ"C*ä²dÉA "TÈ#D0_vœ9ò"H™7wòìéó'РB‡-jô(O ~hêô)Ô¨R§FRA V¬ `þ€ãë× Z2²pú³’EL\YpÁ‚¥.câü9ÓfÝœHiîåY%·ã&ÔÈÑ Þ†5…™8qßÈ’'S®lùrd¥L©rîÜÙjV­\)v,ŲMϦýX²mÁÁ Š@)Ì7§Åˆu#ÎÝñíÞŽkö¦ ü·qÞÉyCîû:pl¸³kÏEnøeñßÌu[×kø8Dà‡+ÆÌn<æôê2±Áå=üøòçÓ¯oÿ>þüú÷óïŸßB7iæ“gèh¡mÕUi¦•ÚDªµÖZjq1AoI·¶Ñ…_Çm^ˆ*æwÊY§¢ˆtqg¢e%a¨!\z¨˜oþ/ºhân:ÂxâŽ$¢x"x/ú¶’IŠdÐM:ù$”QJ9å ¸SB™`V ’Ö b‘e–Oº¶ÖŒ²ÍVD‡Õ ¤ÂÅ$Œ6g‰ù#f2f¨¦nâ™›pt—×mD¢øæ>*ù(¤1 %¥•Zzi¥VŽ4`O˜È¥h ’Æic®Væ„•t5²y#£y©hžrŽGQ£‡â$¡Ííµ*A­®Ù&ˆ{ÖJ^Èz+ˆ²f)´JNê)µÕZ{©¦"qšÔµS*†—`Ñ…˜©‘Iaª)ôÅŸ­2Dl¢tê˜ë±ŒDï®GÒúfŸE°K㚯 Šãþ²†ê‰( 9ç¬|Fû0eÓv;1ÅG•mHÛîdñSßzÙÈ[l1A¦¦{“™­«áD³ ¬k‹ Y0¢ ë;o½ú^¶ò`-à s³#êÜð¬óò ç‘8C¼´esü4ÔØnŒe§P{«ÝÍÎÊ­Ýz ‰íªD.ëu³Ú.š¯­á¡×wEo÷Ø(zL+Þ—ÓQ;þ¸“¤±€V_¥ W `°ùæ\›ÌšZU,ÁÄ@±Évãâ©#¥è¤ ¶auªm¯ìBÞðx·ãúöQCþ;ðRIîå›Z¸™_°üò tþá¹<¥¬êH±×~ýOÖ«‹ýìùÊ=í/Š;®CÞ„—ïÁ«üð¯­å"`NÀØo<|Ž*IIøÿ?¾ú%€ ì u>úÄ1Ì*²~ô½Jj}T_û2ò¾ŒÅO~¢@ýîgüíl %:ù‚©Ô«‚ Z»€,ÖJÿ•ãF註4+¼%V¾ ëà³X~¨„‰]†L£ÔÛb[à…´à]¨óî÷Í; _(vgm[¬ä%·òÅQÛê7 B È8‘ô-¬Z¾À,¶Ã>Žu–àÙ™hãEq5ÍÌä5³ù‘Næ” ‰ÆÒ†ä´YYÀ°Øõâ Z¿.(„÷“ô`YŠå3µN64þ‚*ªs­ë]/·§«-ý–g¿ 8α3C`JV^3»ÙÎö"O7Lúå ÚÕöÜ•“Ù?ðÙÞþv®Um1(•~œëÜóbmØŒ Üî~÷·Å]1rÿ•~ZËÉŒ-Öuûßþ6µ¼)FïVcàÞØž´ÿ­ð…<Ú•kt¹5ǹ\Ýf8Æ3®ä€OlàÊ»@š—néVÛ?9ÊÌñnyœ~"a^ߔӼæt]ùµ<.ÄûE:槴̓.ô‚âÜZ:_¤+0çl›sèN::‹^­£òV–ù¬¡®õ­7RêÔò8!ËXÊS2Ý´üæ:ÚÓ^;¯{ ìgþ»`I.k“«½îvçÛ1åvb3î4.yÓï.øÁ+.ï—Ú»Œý¾ÏœðŽ|’ o)Äýê?O8ä3¯yÉH¾R”7¥åå~v‰´ûÝ,@êS¯úÕ³¾õ®=ìc/ûÙÓ¾ö¶¿=X°yHµÇ?öP¯¥ ñ¿†]ΡÿûÜq°`›ÝìXà€ÝKËù•ê앲:îÐF¹øf$;ÖéÎp8ÿßX¨Ÿ¤ªF.øÿu÷ ùýã/ðf×8F¿k¤_ýëa“ìsÁ_Pßßå5ÞÂåßÂñŸÿý¦ ¯m« ÕÒ_0^ÖŸþéš>`zàH ðþ ñ½èé[G”¸åŸ°¼ Æ  Î Ö  Þ æ Òà‚àeˆàT8TàûQ s¡`1a Šßù¸“àÎGÌR¸R\… JGoØ ì ÂEÆ`Šáz!š!Ê`2\ÝVcBEo ¡ûÏð‰’!%¡ ²[>³°e…[éÄzdáŒáÊ`"êà"Î`#&b#¦! F¢$êà.œY†Z“”áS¡šàUŠÞÅD¬ÔÅ[E“Q " Y†!"b RâÞà">b%:b.¦á%*\’iâPÄaTx¢^Õ!üÜ¡”!¤-]ø)ßþª"²¬âîÌ 5N^„ZzÅŒqÚ‚MD,~! †a"Êb"ja–£9Šã$¦£;žã¾ã;ªc:îb«€­8Á´J/þ[*Žšà(Ê6†s M‘¬Wu"fßg¡£¹þøœ)*F£F¾Òd ‹IÌŒ˜"NÁäÎuDúAJ:JBK¶$LÂäK"ÆJÎdM¶¤MºäJʤNö$NÆäO%MºdN¥Qî¤O¥R.%SB€œ@LAÿa\*ÙGJÓ)X-qb”cS€â1ŠâÇ1OôÀR Zá ½Ð§˜¨4Æ¥ˆÕ‹-=þDJ"eR OúäKöä_&Ræ`Æ$aeaêeNúeb6¥c>æ@%bHåTV%n$ÜØL€ÉW¢0ÊáCnŠÃ…¢DF\µmÅòõa¬å,µ%YR\Ú‘ÑÑíl¥¼šGä%c:æbþåb ¦pö%a¦^'p*¦Pçc6§RF¦?*%UjÜU–˜‚1Œ<ÕæÙØÄg>X€Xr2ÚÛ½å[ÙÕYdšÉ’‘ÍfgBÑda'iånÒ†rúæ}§pgc2§Næo.ç}ò§shKVÁPNgÆUçfæËÂð !fÒW†¦¶ŒæX–f½-@ÖdÈ”K3þÞ_Oüa6N(W*ÍuÚe²Ð'ÍPR™á¥}öfSè`&ç~ò$èqÒ(r ¨q(J§ebb‰²èŠ<èVÎÉÐÜ”C~¢1Š'Y’§È „$à6!¨9af:ÐAêJŠææ€u)mJ§=a©M'¤)ô†š¶©›®iš:šÊiœÖ)›Ö)œÆéÒiž¶©pøéö)ŸÒé Î)žöé›&ª¢.*£ª)ƒZ¥–~WB¢h–š™$Et§N=i'‡f͇VéEbÞ¿¥_£žj£ò)ª®*«¶ª«¾*¬¶é£Þ&öNr*yj\ dˆZ)*œ©Æ*ªª*±+²&«þ²ÎªàÕªQhjCá* y*Èíj üê¨* °².ª±v+¸†«¸Êê¦]®ß­Bäjè ÈU\¶^鶎+½Ö«½†+³úàd@«ðH+(!ãνšjÖ_ò‰(Æ!€Aœ„Â.,Ã6¬Ã>,ÄF¬ÄN,ÅV¬Å^,ÆVI¹êkdðëÅøë/¬2Ì¥åD¸æ³ùCåøÇ6õQ ö‰¦öÍ÷Õ”A¬Åk°*œàЭÐ-ÑmëÁËZÆn%×oÌ…Ö¬ÀÝì ’¢E®æ)&-Öª_çQŠÛQ­É’kf­ØrÝÖj‰UŒÀ^à×>ÊŽ­Û’-†Béö¡þmü©íy[ؾ­ÞÚ\ÙNÉÙÒí  âe ý¡çÞîàõ­”ü-ÝŠ’à®-C´-âN.Ê)n”Œ€æ¢­ã&ä.„äR®è2œånIænnàVÙç¶fÞŽ®ëº[é> æn®ævnå­nè¾®î.Dïùžïþ.ð¯ðŸºNà¼îæâ¡œU-Á²fîîîëjÖóAÎÌ>mD/íŽÀ(–Ñ1#°:#Þю/ù–¯ùâžî±ìôOxvªVYÀÐî%ÝÎZ-FþóÅìúŽTôMªyìþjIûæêû^AüÖn2V€ÛÝîþ•Ÿ¿ßƶð.ì>qü°öþ&£ÛÀnÁnÆ1 Â$[ðã ð´°#0¹kjân뢚 ›ß³Y«ð“°ð¿ºð ·«T+¼Ú/©ª“dùŠ³Re # Ëï\†þ"Rì0 G”p{ð¿k/!øT›¨P¢>¦±¯1¿àgä™N¡íd¢­^ñÓøpȱ ñqó^-Ó–·±!2"çàË–F†³žYeX±“TŸÔsñÌï‡qáâ­GõÊwð yÛtEr"§²*«ò"G!q\ãy]ª™AöyÜI-¯B&†$Orgàqëq&'0•lþ¯`;Q¡IhÎà†[.*¯²4Os·ò Ÿ¤Gêf7ž(HÎ%7ër‹ND/ûò¦o ŽÛsñöR@1¯;o27l:K]~ó’2D4S³>ï³°ð£­ü£tXó+é2w¦v~é%eæ˜*L¦’3Ur|]²:[àòÒð'£ i³fâo©G4H‡´HèSFeeTG.óvp£Š¢hÂlt¾h)…:ôµ³ ³í¦à1óáE{óAK{fDG4QµQõRBçd.h‹Äp5nF¨=OÑ6µAgÄ8Ó´…fLܺ/:cò0÷ÜYtGt‚5\ uŒ"5[·µ[þ)tRæI£´6)¡ý4mÖ LG5úh5At„Iôt ®¬A²7*d‘2<‘×P¿µdO6eC‚*è\G’á”2˜d.W^«Ù,Ïhcµ_×4`Ø`‡õP6YìZW¶lÏ6eç+¢eõiƒgj?Y:ös“aw²—0·Þ«q7r7ªm§pnS‹M[2N–çî´ZÆs¢ krg·v÷rëps;÷n[Mo³¶Ý†( Ãöv§·zãkS3nŸösGttà|Ÿ;öy_q¯7÷·«v÷š½·_Çw`GwœÙ÷kë·/8ƒ3*€»·þ~·–T/WCmÇ÷öþQýþñýú®Ɔ¸ˆ8‰—¸‰K¬ÆæÚÒ2-‹·¸‹¿xr9m…_¯Àa81“,›·'gœÊþ[Ë*ô.Mì: æ‚õü*0þpòïxÆýìù>9”G9ù"m_Ï7I‘c²&›¿3 W9˜ÃnWðWkyßÏt9~3y˜·ù»]ùdùDìçø÷"¶›çù³Áù§Øø£ l‚빠󟈜ö£á¸’Ãó 7:¡y —ùœË_;º£_ºCúK:¢/À T4uŸ¬u'šøJ¹©Ÿ:ªÃ^úb:¤ºg:y—Ò x/ÏŽ1þ6Ÿ„ãPÿ²z«kzsz¬ßnþ¨ƒíz‹I0¯?Š«†ÿvEYz©ûƵ· bGJñŸhõãxÅ÷šì,;gÀzW¹ö°³­´¯Ù G0µ?ã62e¸âzб»»2¼ ¹¯3°—;pC»‡§;‹ 47Æa,±¶ÓѼ³bµ3ò½CŒ¸S¹v¿Ÿ{äü’å3?g¼ÆÇ À;õ4Rêu„üg«ˆ,Ûr<}ci¯MwpÇ6vOîÄR¥Ær.¤bã»…³\³·öÄëøpÓ–LñÁN¨y¼ùLУq>ŽcÒï -n¼Æw<ÃÇSÜl³øä‘je·ãò|Z}Hv3Òp$vø̘F‡}EËÃ{KΗþ÷ç÷!Ô5½½Çqd]{ÜïD8®ã,¶JÓï½Óÿ=@¶»Z „@ÌS®¨ü½TuZOuhƒX(ƒ¼]›ØÞäõ<3þ‹>æg¾æo>ç¾9áñ¹NÀ ”>­±¶Ê=Ý+üÜ›q‹¼¨þOä½:Žã ö½.¾îC=èB…á -¤ßÔ3„ºgâ£üâ vf»Ñˆ×co´Ö£ÇÄä{ÚKEÄøÝ·p#sa&ËÃSÊŸÇvÔ½A"$îübÓMiíã>.âã9Þã!¶#;ʿ?GeàñÑ°|ðû?@qRD Aƒ"4˜0¡Â‚ ,Øp Ń !:Ĩþñ¢ÄŒ7FôÈ‘$Ɇ"ŽT¹’%A Z|S%›7qæÔ¹“§N!® ÚÀÀ€*$­Ð€‡J7iŽl ªÄ“%Z|rbÇ­^:+6#Ù¯¯V„È5¤Ù“W["(…®ºPìÞÕ«7/ߺyûâ­ë°ß½‡'V¼˜qcÇP˜+öÀÞ"r«œªî[µžÅZÖ«g¸)Q{Ž¨µmJ³ ­’N횶È[gÖ}p&ÍÞ»{>ü§Ð¡E$µ°¼A§PwÙ¼»smÕ·GNÆþõYÖ`Zd;Ûvf¹wûžlØ°úõ‚÷Fÿ˜~}û÷õ.‘LùðþåÝÓAÓ­×Vƒ­6Æú̵»;­A«T˺#ä,¶’$Á ­Â£ ñ·–FÌl¸Q¼©8ãˆ2j9 rÈ¡¹çl À̪ãð: ÉËj² eûŽ»¯¶ÃÐÇ i:o°% lÉôÚ; 0íð«ÒÊ+ïÒωÊúÃ,³C S̘sÌ2ÍLSÍ4K\©Í¨RŒS¸ŸF`ÑX.ưЂFª¢3ª…4©»òDËîÂÜT#­ÈD¹ÒMIø(UÌIø œ¯Ò'±ìÔSüª8€ ÄüÓMÐ5QÕ ÍTqdÕÕWM„É7Y“ÓVŸ,¡ÎãðÔ3‡úüÓF@U2+´‚þœmGD‡,²­´\Aò¢š4SÆÔÓ´RùãvÓOÁ w±R¿$ÖsDWU$ÕmÖ7G‚7¦[éU1W]sƃé©5·*íÒ’°¢×žEøÃ#üq4¡¥É3\Õ#¹˜È˜‰±4îØc'ëØ ‘9ycŽ7åYnÙå—aŽYæ™=&·ªSÝÍYçynW^‰~f©ÞzéÄ÷Š“{QFçü…î?]µ¸ç©ÅĘ櫱ÎZë­¹îºf/o†šê±É.Ûl™h%1m‡¾µh¡VŠ9¦=úWlšpFUê³ùÉj¯\ðÁ·9ª¼ûN\ñÅà mÛ¶•N;þ¢©¤èAØ€ÕÝ›q¾ÿ&\ôÑI/ Ãñ¾ûóÕYoÝ¥µÝ„ÎÈå,zW¢X`Ë-g ©¦~ÚõáÑ Ýôã‘O>fÔcBœøç¡çÙñ×!§=EÛëÄ} ¸Ÿ`ß7>úñÍD€–H_ýõÙoßý÷á_þùé¯ßþûï_€°Wüÿˆªéa€±^œ°7íu{ ØAøLå¿NP"IH(˜A‰0À‚âÓàA'ÙÅk„ó: Š¨= ¬p…„`¹BC‚5´á q˜Cî‡=ôáD!‘ˆ0çd˜D%°€@;á‰Rh€Ü±°…:xþaØ”˜E-nÑy[$lÀ1Ž‘Œe4ãјF5rÁ§‹KH¢'§º²£ ©È+O‚+é¢H×ýQÃ;ß­§?Å‘7Œt"ƒ#„:ÚQR\% Ç+ö¯ôä ûøIÖ1’ÖÃàI½7–’'’¤d%§˜Ç=ÖÍiå-qi6Bæ2q¤deÛN œTp˜ü¥O&yGK2p.äã°xMi¶k—Ó,›/I¯`êŽÕ˦M\IÉzoßû-ƒgKk®“fªf;{†ÍoÊi›±¡7¿NeVŽwß3‘O´%ï$¨»ä9ÏÕ³*Ý\¥þBõ©+¤]s甈ݠyPnÔ +!Øð>º¦c)*D Uè‰zÏYá3›­¤Q*ð" Ì ÜhÁ¸F=õéOjÆ6Š©£ß"6$‘ÉHJŠIO*œ”®”ªµ‚h2%Š_ñ‰n­% o:ÁCF•¬ÇTd˜ŠJÒ£š-©Nu«rs¨§–ES×0›È›“º”(½ÚŸüTSu†€P¥ëaMIÔP ®RËÁ„MK²âñÑZqãÍ(5¡y+K ‹Ø›ØUm*µê<ùz§<í©,:ë‘´öl¡ímmEÚæÅ–©¥)ÍHÝÒ£G÷A‹ò-³þ䊒ä¶Ä¶¢ÕmìLËͽbõ¥yúk¿`›QÚ’¯¹¸õîpžË’ÙBÈaˆòHV(ÑD*GKgOã Ϥ»‡ / £Ë¶«¾2n¾ÂBW‚Ñ€n7zõýîur_•Œw­ .…zTéH²1T³–ª¡è¸¬ ^‹éÄýŠ9Ê™Û&SG`î"˜Å U¬Hj¬h7Q3Æl„‘‹’BÍ× &«‡™ß†N—¿È±œR2‡âݪx|>nñw,»UZç5¯…×[\]XËW^.hŸ €(«ò®,=fjs·;Þý3»f²!ÃçŒÙ S^ny­¼š yȱ[voÁÈþrŠ)÷"ÊŒ“OJg‡ž6ŸÔ'9ÙìÕt‚õÍÄC´œíûâJW˜%<îq˜ b3ÿÍÛc 3ÛlÓMÓ­³¦WýåÓäÒó µg7beÆ’…¨–4obç±K¤ tšö_µªiUµvu¢akBsúР^$®}CdóºŠJ.(°Ï4k‹»U4Q6µ‘ ægǙΚ·´KjmTbÛ„WÁ¶/)Ko‹÷Ý!joÔÐMÆ.õ³aB“³×ýÍvK§ßðÖ ÂyëªJ×ÞøƤ&KéÎÁ½“…ï²'"žÚ²$糄¸31•+ÌÐL¸¼µëpXÁg&½åhþï{g•Û™œå¯cŽ.BaùXmm– q¼•áb%©êOž=ñ—³rá–¹JôÇ­oë]÷ú×Áv±k}מ¸~Q[¬ç¦îž¯üU,ºkèMåд›~ S8Y>”´œZ&©O’UoøÕ?¹hŠ§}í;_`9{gѸOzîíª»ÒÓëç£îx²1—uLòÊ>˜¼â<áçhxÄßTñhotãï=Ñ~Fzòý¶zKL3!‚£œà|Ÿ¶…Ç)tGêËžu9ê¬úÕk´õCÖyã㦔¥HÞ VµÐÁB\¢ÿ>ïwϲï½Û=÷z?>ò½«üå´ù¹f<ìûû"þš¦z°t§Ø±GÞåÞ;}å[ƳdC+Ëäp¹Ný ­oý©ý²íùÖi¶ê¿öÍlP´l®EPLr*¨xЧ†jÞÎÎùL0Q0FZ µV°ö‚¤bSeU²nì¤p ©° ­ð ±ÐëÊNspMhîÀnО‚Ðý^þ´êŒ»Xðúº° ùæöÐSÏìÊ졆P$п¬ú䎓Üðû×OŸHâêÑZJí̦bêÄ2®ò1ÇF—OÈKËËð+þGú’ìýPE±g(qõ,ñ€0QhBL¯ -©Ÿü‰úÂúêom‘š.Ð O1on ðmwh)/oñÏ…ÁŒ³>'¤˜-²z¯Úž,¡Kö\1w˜ îˆÑörÁqÁ¾QÖÇè¢Ñ¨‚ï÷˜ æ¸IÔ¬ñÌñ¹­™S,ñU¬® {æßΑ¤âJխŨ±&VQ&¦ ñ¨×~N q0Çd{p")²"-²Œ~0Ṳ́3úL³ÖBC:2ÿB®ÂÚ+½6ëß&+àÖqé0Ò’.®!»q !rL¾°É* ÒßH2²,%¯#øð/åþ8®ïô/ð6ŒÅðo‰°ç0Žþ4î&ÍduÒÅÆdòÆÜ ÂnÌÁ„]ÎíW’ [RG•$)&µ‘{ºÍ—Ì*Õ+³¥Üiul¬ ð2®Ìñ+s¬$[n®XÒõ®Ñ ãòíê‘*!Ñ.Å/óRªöRo†ïó„Ïûž. ³åºÏøS-Ó%Ÿ²1åQwfO‹€«’2ãí2;,3ÇÍ(½ ÓËÂcÿp3©åûŽ)Ê_’Ôâ‘ùér†qûðe³2i³6·’/92%)lå<ëGxÐœqä­(ÕQÃvÃ2‡¦ ñë‘3&1¦¦¯þʼnٖQ a…UÒ<§3Ál©îSg’m6M³S¡ÒõEþöÐ9‹:ÙŠÜÒmgüñGB?÷'ÎÝœàtàÊ“8q.ÈÔÓ-“Aó ùeA_ó9ëòAU2B;ôE ®/ÚªsCõ?÷ÂÄBo= è ]"!ÍObŽÐµàS*ø2ÜŒ«,K®Á"²(K$+æ3&FôpK=Ï©|´F3”á¢óÓ“@Q“1a²HÀ“4 k²'yæòˆ²;ÏR#´0uÏÿ’®+Ì ¾ôBôïOãH?¬-Ké-qµ~ —T¶šTLä4éH³¸þ,þeüÀƒøê”LkTáú3:sÒ»x2DgDµDópO(.¿Í?Ÿóê6O,CªÊºÌ±ü2;Èóü>5âBU6£0 ‰Õ ·ÐLÙU!IQ91iôQ¥,Rgt-òtS¹/VÕë7±Ì;å M*•P§3P¥uLù†sKÌÄ>Q2±lEûšªL¦”3C“½èUY4ÏOTo”\eÈ\…†HWóÈ* Zƒm\ îþPîÿÈm^%$AÒ3µÔJñ¬Wék_³I\ýõ_35Ót`[Ó`ë a]tut4àÀ•65vcC`©Í{¸‘A½1‰Nö\nÖ­Rö2W–e?ÈekB`þ£Òí(2×°3ˆ›ñ Wbgó²g}6ƒ€6^ˆÌ1‰¶™h’fm2j›cµ_¹–‚¦Ö˜öËj·1kW´A[4lÓÒk ÏLòŠm‡âvHGl5ÏVd5Tn™‹Ý‘JU˜`p ·p ÷p7qwq·q÷q!7r%wr)·r-·qc«n HÛF`hóÖUùo[bX‹µtM÷tQ·ëŽuLþ¶u1­)=–Ôî¥s³ñ(fÏh’ Ewwy÷y47ª°§va±9Ó¶f{÷x‘×u~w¯f7«Ú³`Aדwz©7q–¢š·ºdj¦\6'³zÁ7|sæzQ (HÌ(. }STþoÅT|Ý÷}Ï…|óÉ|÷iMs´UÙÕAá·ýWLä·¥€â ”ÉH°MÙWPÿw{7€Ïl€ x´²` ”4zã“5xƒ“õ8Ýr€ ¸’ðd‚)ø‚÷wm98…9Øe×8ª‹M[KE½·]U¸†ÿ—…?Ø…‘EïW66W"/rˆ‰¸ˆÓ(#ÝWˆx‰×‰ ” Ø8ŽF«–#}™"IGÕuÛ&p©w‹ Ï‹ÓÓƒ„ó%9‘{±|6+ÔeÛx‹Q—ÕŒ§8w¤ï=1˜IÙ˜‹åø}ã¸aM[ØNrgxq÷Mu—wùßxcÙ@£þØmwÍÐv†ùz^P¾8M^egù´BýXÉç;Ëm3pU¹GŸv’¡ø¥8f±vÿ§“c,)AsãˆO_K'œ 'Æb'†y´nYFs¹Ü6r™´= ‡Ëx–—éÔ2™E_õ˜}äÌq—±¯—‹ ’«˜m"˜ÇY˜o‚œ_í”ÑÒ£²™™%Õ•Ý–q~¥ù1¨šÕöšÕ¹aÞbVýn”3˲ M; DÈËŸ£î—y¡Ë™¡¹3¬#…’KMra)š;‚a¶´RÒ™å¹éÙ’'`öðÙx÷ÙZ˃S©•ü´ÌéðõïrÌ—ú¡Ú¦m"¢ãTSþ•®ïÊï†2¹ fO æCãyŽ•‘Vn^ñvm9¥µ56åMà‘ÕÖ Ò3~ãµÚù²xg`äþY–áþÒ)â[>–_þŒÑ5¾ÎM}wmþgu~c?þæ¥ D>èçùɉ~Or ß‘{z—^ƒrÙ:ïÏÄ •†ÁAnGÍMM¾^þ!¼ÚãÜxøÞ]œ†×æ`ïù¾ïýþï?ðð ðßÞI5Ï£°X¢CG-&gÛž_Ç ™Ç!½Š­øÙgÇþ;åuìS¹ÿ6/FêûÞ ?õUõYò§•·÷N©<­•—yU ê§Éõ›ü¼xWÎóÕ˜Ý÷–¶w»ø™{ô‘¿ñ™V%ô~ïÇ‚õ¡?ú¥_÷•?V·u,ï;ä8¯À!Æ¢«”µ Pa=Îþbš_úÍÿüÑ?ýÕð©¿Ö…þƒ}Ü­kݹÞ̵ûú½Y¹f_ô«Ÿô%¢übÁ' <ˆ0¡Â… € ˆÄ‰+Z¤èÄbÆ"1J쨱bGŒüˆ’£G’)KzäèRäÄ“3UÚd 3åE‰$8!P&MþŠt`Q£?—2u5ªÔ© !î¼Z@¬Xxý 6¬Ø±dÅ ±0âŠÚ+ XP¡‚…¹ xìdñ•ëÕôúýûò%È–WÛ„i²fÑš‡—Î\Œ¸1d•‰ej„<¸ädÃ{J5´hNM0hpá‡sþXš1a׳E:¾©wnþ4çŽÙú¢g¢DA%~ô¸AãÇe.:ºtÑ©UkUM±¬öíÜÏ®UÛömÜñuïæÅ.‘/úõ¬}[~¼÷Mš1Yâ¬/øîÖ3óßßYP 8 ˆ`‚ .È`ƒ2q€S XDDìFÛ{«½çÔo³v_mºÅ[pº… EÃ5§‹ŸµˆÜr1&Ýt6Þ¸Pu€]·w>þøÕYi­Õ–pWAyáå{ê]x!ˆûég[‡þwâEVâ—a|í¨•* x ž‰fš .¡i V¥l]Îi™{ufi"Šaòv爢hbE+Eh„*Ä\¢3"W#þŽŽBEZi§¤ã_<¢d¦Ûy÷]‘ Pj0°ƒyM®÷dœèI™gŠ­"†™{bêy¥|yné®;E„ ™jþ ,ƒl:1á›Æéßn¶b(¢fzH+–òqÖßJÍò‰¯n …¯fúÚk‚àr;n·:lºê6¡„»ãV=jJ¯Y|Ç–F‚Ê/©¦ö…*ÀªbÇjÁÚ‰!—¬~X«œ¯†´l <‘I`¹ë^ì`0¡ œª–Ûm!O¨f•Qv2p";æÒH›ÉIíÈŠ=–²ÃiknÎ9»`¹>s[&Ðñ°n¾‹©¼˜ÖË´WgY5Ôžò ª¿Kž‡þ^ª–¬—®œë³ÿE h×0ÏÜð® MtÛjz¼uÜ«ÊMwÝ\áÌsÅ;÷,nß:ëý·Û‚«9l±Hcw)âM3}Ž;>5ÕV[ĤÀØim÷N Ãz2ç8qXóË’¥¼XË4÷–Ù–$“X³ÚL¼þº°ÏN{í¶ßŽ{îºÛwæ¾÷ù{ðªâ-´yýs¸ï=xójj̱±I³·8ã9<¹¾ŸJ^êÕ§fm¹ðâÿßøæß\Äîê¯Ï~ûµ÷~>ÝåÇO¿ .àä*®·Ê/ï¼þ ~~IœuªG/!\{‘ëW÷(‡µË…¯~õ›Å÷ipƒ|/þÂÊ-ƒ±+!íd»¥¤Ð)+4ÉìJóBvp†4ÜݹbÀ!PS ‚}ØÀª=°"•sÒE(> "Ñn$¬¡xÃ%JqŠwK߯ˆÅ,^1ŠWÉ¡¥v˜©þPAÕ)RÄ€Qql„RµG«tdããˆÇ<ê‘‹;ñbÁ$1þ°Œ“#bUƒ¹:*r‘µ£Ï1RÒhB/ŠÑŒjTxקG? ÒŠt¤$õ(9º´‡–%¢ƒÔÞ^úRPÔ{GôK"7ŠÓœêt§<-(2»¢Ò•6S¢.…édZQ öt©LmªSŸŸv1¨diå3dԣ΂ßS*T¿ Ö°Šu¬]±ç©j–¡¶«FE*MgIÖ¸Êu®tŨTûˆÖ´î³¨0u+Wkª—›Öu°„-¬a‘x×cæ5,VõTVýjÈ®þ"°‡­¬e/‹Y(%Ö"‹e¬Z]ÉÖ¾n5²”ÅŠ`3‹ÚÔª6µ›­HgÁÒX¾Æt´h<$`N»ÚÜêv·dmmv^ë´Ï^u¥­?mûÜòv¹Ìm.N};àw¯¡mR'ëÜìjw» …®D¤ €ØVW«×½mi¹‹ÞôªWŠÞÍŠtÅKܶW"ÿDœY׋ßüê7~Ê*pá[ÜòÆ«.°Œà+xÁ n°ƒ áKx®°…/Œá kxÃî°‡? â‹xÄ$>¯_ `ù X‡àm±‹_ ãËxÆ4®±oŒ@;W¸ŽUñ[÷ ä 9 àM±hW<ä$+þyÉK,r‚@ÔñB¶¶’e²•¯Œeñ™M‚—ƒÐã#ÿ8Ëd.³™Uµå&¨YÍa¶î˜Ï ç8ËY±ÿåòš›Ðfò¾yÎ|î3™·\‚@³Y¶zþ«Ÿh&oÙ&t ò<åãV9Ñ”®4zÁ;œàŒ6A åù¡¾–.µ©™‹éœœötBäSËzÖ•MõªY}‚¼:¾b64­ ìÃÚ¸Ö5¬÷ìd+;¬˜¦±[mìHÀǾ^¶µ¯ÝÔ-·šÑÑ–À´Ý\ml‹{Ü]t§= jiS›´än·» hG?º¨ßŽ4}‘ûî|ë{‘ñv´c½ nvï{þà§cšï iQ“ºà o8¾æ„ÇÚá¯xÝ >èc‡ÛâïxÜ0ŽgB’Ê8.¹ÉOŽò”«|å,o¹Ë©*;7!Ð=î—]húòœë|ç<ï¹Ïô•Ç\ÞN7¿â¢$ʱ`éLoºÓŸõ¨K}êT¯ºÕ¯Žõ¬k}ë\ïº×¿ö°‹}ìd/»ÙÏŽö´«}ílo;×c~nWï‹q±@z€× ë}ï|ï»ßÿx—gzÓÄFv]w \ x÷¸ã?Ð!ÔàÙ›>¼‘är ` Q€¼ç?ïË!¬`Ó¤·<\)L ó o½ëé(zÒW~רoVÿúÜë‰þ±—½é+ y Üžõæ¬@@€üä+ùÌo¾óŸýèKú è@„Ç‚’jûÜ÷& °ßýð‹Ÿ¤ß^öÇþô³üÌ•|á‰mÌc¸7§Žð„üëÿüï¿ÿÿ€(€H€úwð;À xÚ±,à ¸€ X¾£€ HcaÍ5xçöi—§x™ÇyÕO°MµOпƒ ˜m @O[ó‚&vQ>1ƒSƒ1˜ƒ¨wFsÚ“xpwOðTO.hƒvÕƒqÒOU)t…N5…¹5tŽrû’xIWMG˜„Kè;U˜mOèFMxƒfx!þdÈTW¸ZC‡pÐD7WN`èTJÈ„R¨†ìÁ†Kå†4ˆ†Ýµ‡•sw¶…Û3‡Fˆ„w(†çˆ>5ˆèч=õ‡:øˆð‰†Uˆq8wtW @‡_øBŠ¥Èx8†>aŠ«ÈŠ•8<ªÈŠ±ø(®…°(‹·8´ˆY›qÐdsŠˆ‹ŸQ2’ÁˆŠŽXŠK‹º¸†¶h#¥̘¤èŒ|¤¨( A«x„(s·=¿hNGŒÅ¨ÏqŽqŒL”Óa(¬ØRñ’øŽÑá 1ĸPQر"¦¸ˆ²Ž”’‰…Å‹âxtŸŠÔdŽç¸‡RíXþ7Õ¨³x€a‘ðˆ‘é‰#ÿ¨ù(™ý¨‘Í•‡H5 Œ™…Rì؈îx’Ü8ŒÄñJñʸ(¹¸‘a’øX@¹“@™Ž<Ù“BÉ„Ëx”;É"RÙŠCYW-Ù@qŠŠ(@~4Ýb1]9 I…kƒ1aÙ?ùÃ<Û’–¤.ÆäFfy1ÉÓ–øsú¨g*¥i:©…Z©Âñ¥ƒÊ¦£d¨_ÅßSý¤¢Žz©¥©c¸©§ºG™ê§¬Ú¦®*¨°ê©²z¨áxˆ¢zT¤Š¥¦J«x”ªç´ª¿ªEŸ:1ÄšGÆ 'ÈŠGÊêT…(ožâmõÆ«µÔH ñ¤­ÛÊ­”¤HЂc˜NÝJ®åÚNóä‚ãj®ëÊ®”„®âúHí*¯íú®Ë•…þ¦=Ó:m#÷K÷‡ÿ °+°K°k°‹° «°{€¿sPMµþP‹KÛK¾ó°L±Ìõƒ&°iÒª¯öæKp|ÔG²%k²'}€€ÁÓQêç².{R¿Ó²/K³â³¾3³5«³Úw³¼s”w¦§¯²»g´G›9½Wz»6´E‹´O µP¢´'Bû±¢µY«µÑ{)àµV;­N»µcK¶{^ûµL{µe˶mKg‹¶`ëmbë¶uk´p›¶FÒ´Xk·}«{]›·Ò¶¶~K¸H;µU«¶aË·…˸7µA›¸s»¸K¹'y²¹z;¸•Ë¹s·鶷Kº÷ƒ¤ç±Š[º«[qËmùº¹¬+»÷³¤çi°«º³þ«»ú¦´¡«¹¹»»ÁKn+·D;¹Â‹¼²F¼‘K´9 Ï ½Ñ+½ÓK½Õk½×‹½Ù«½Û˽Ýë½ß ¾á+¾ãK¾åk¾ç‹¾é«¾ë˾íû½;¿ñËó;¿=Ð>à?û»¿_eÎÀ,ÀLÀìLC€À ¬À ÌÀDàÀüÀ ,Á,Á<:@h¸C àÁ Â!,Â#LÂ%lÂ'ŒÂ)¬Â+ÌÂ-ìÂ/ Ã1,Ã3LÃ5lÃ7ŒÃ9¬Ã;ÌÃ7l`/5U*HbÄGŒÄI¬ÄKŒ$+@O ÅP\+@ÅUlÅ+`Yl0ÀÅ] 7Æa|þ]œÅWlÆg\ÅZÜÅ4€Œ¸¿;´q,ÇsLÇpY…Çy¬Ç{ÌÇ}ÌÇt È,ȃLÈ…lȇ È~¬ÈŠ KìÈÜÈxŒÈ“LÉ•<­}üÈ‹¬É›ÌÉìÉŸ Ê0KH‚z Àà!" # ˳<Ë°lË·ŒË¹¬Ë»¬Ë²LD·j¤çÆhûÅlÌÇŒÌÉlÌÃŒ¶˜+ÌüÌ\̺––LÈ¡¬ÍÛüRØìÍß Îá|ÉÜìÇlÎçLy,ÎëŒÍ˜ìÈä Ïñ,Ïó,Ê/9¥|Ê©¼Ê­üʱLËÿÌË-ÐíËDW@ ÍʬРÍþÌÍŒ¹ ÝÐ/ ,@. ÀÎúJÏ­ÈíÑ-Î]ÏèLҬΠÒsÌÇ%M5"íÒ/Ï£LÊšgʨ¬Ê¬ìÊ°üÏ=Ð=íÓþüËÀŒk›ÆÌ mÔ/ÑìÌIÍÌ0@1Î0mÕzœÒY­Õ‰,Ï,íÕ$}Ò[ÒzüÕ_}Õg}Ö2}Ï4Ï7ÍÏ:½Ó´üÓsÍË ÌÁ¼ÔL­×zíÌT»×)Ð,P^0Õ×\Éh­Ø’,Ö=Öä\Ö‘ ÖŒíØìLÖ’Ù ²Ø›ÊlÄølÓûœÓþ×µLקmËvMt ´²÷×JÝ×ÌÜ׳íÌ*¤°,j_ P“¿ ÜÁ-ÜÃMÜÅmÜÇÜÉm$LbÍ`=üÁÆÂ@`b ÝÛÍÝÝíÝß Þá-ÞãMÞåmÞçÞé­ÞëÍÞííÞï ßñ-ßóMßõmß÷ßð=ûÍßüMÿ àÕ]NàÖmŽà ®à Îà îàá ~Ná~~^áŽànáÞà`;PKDó¿9]jXjPK\8–AOEBPS/img/odbc_nls.gif1NαGIF87aÆ ç÷÷÷!BR!)!!!!!!B)RcŒŒ”ççïÖÞçÞÞÖ÷÷÷{Œ”œœ¥ÆÖç„œ½cµÞs”µZ¥ÖBœÎB”ÆRŒµZ„¥Zs”ss„{s{ŒckŒZR”sk”skœ„sœ„{œŒ„œœ”œ­¥­­µ­½½µµµ­½¥µÆµµÎƽÎÖµÆÖ­½Ö¥µÎœµÎ”­ÆŒ¥Æk¥ÆZ¥ÆR”Æ9„½¥µ½œÎ½œÆµ”Ƶœµ¥{µ”„½”{µ„sµ„s¥{c­sc”sRŒkRŒsJŒŒB„Œ1{½1sµcŒ­R”ÎJŒ{Bkœ)ZŒk{ŒsssRŒ½½ÆÖÆÆÎƽ½Ö½½ÎÖÖÆÞÆ­½Îc”ÎsŒ¥9Rc9JZ9JR9BJJ99R99RBBRB9RRJRZRRcZZcsJccRRc!JcBZR9R9)99)B{„Œ9Æï9Î÷ZÎïBÖ÷R„kÞÿ„ŒŒ””Œ!k¥1k¥½½½1cŒcŒµkŒµŒ¥µsŒµs„”œµÆRs¥Js¥9k”9cŒ1ZŒJ„J{)R„!J{œ­Æs„„!{Œ¥{Œ„)Jcs!1BJ!„RJŒc9ŒZ­œs9”„B­­”1„cJsZ„„k{sB1„css9kZJZ„9)Ö¥¥Î­­½œœµÆÎœµµsc1B„¥œkk9{”¥{)!­kcµkcµskÆscΔŒ”„ŒsJJRœ„Z¥„Z¥{{9c1„{B){¥cZµcR½kRÆkR„­­c­„”Œk{!ÖœœœRJ¥RJµRJµZJ½ZBÆZB½ŒŒs9¥”sRkŒ”¥µsœ1)µB1½{{R”Œc¥Œ”Δ”­µZRœ91µ1!½B1ZœŒ{{cs”1)µ9)µ{{RŒœJs„k¥¥œ­”„B9εµµssÎskÎ{s„ck„JBŒJBJ1)Æ{{µ½ÎÆŒ„Þ”ŒÎ””眜!RZBBB,Æ þÐOÁƒ*\È°¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(Mþ8°  bÊœI³¦Í›8sêÜÉó惟@ƒ J´¨Ñ£H“*]Ê´©Ó§P£JJµªÕ«X³jݺÔÁƒž5¬aI¶¬Ù³,C ]˶­Ûþ<@@Á‚– $T¨¡¯ß¿€û <P“ÃMºtaAˆ#7ž¹²å˘3#îÀ¹³çÏ =Mº´iCPR«^Ízõ¡CˆbËF䧶íÚ‰rGÙÍ»w”;Àƒ N¼xpEÈ“+Gn¼¹óçw|KŸN½ºõëسkßν;ôïÇ—þ+ZD¾¼ùóèÓ/b>¼»{äžOŸ~íÙø_ë_mÍšéB¡Ø™f¼ñ &¨à‚ 6¨à"@°Ê„®ÂÌ…2Ãφvèᇠf˜¡…bQF]b…v ”— ÅØc4ÒøW8æ¨#a“õØD†iv™€Dþg$i†$‰ZkLªö~±Ýf[|Ógexâ)wå–Žçå—`†)fv\:—¥zh¦Yž"Ä12曼Õ'gn÷A‰ˆ~¯ñçŸiD ˆY•èà „>("&ª¨† 6Úá¢b1FˆÍÀ" PŒœÞ(Ø`Ò騤–Ú)Ž@ú(d}vv¤‘þJ.Ùd“xÂ&ÛmTòVæsY2ÇÞ®»Â)ì°Ä ¬qgª©ìy¿çf±cÎ9Ÿ‰øag­zÙjh–ú@…îÇä–Ç„BˆÅ>ìî£Ë»ðê#ï¼ôÖkï½øêï»íîóΤ‘YQW^|™j°Œ$|ð œ*e˜mûêiJÎj1lSöv,q½úÚìÆàA+òÈ$W òpÉ.«òÇÑ•ü¥´õY›žÙj»­g•yÃÎ<÷ÃkôQVkìàsϺïÒïæëôÓô2½ô;öPŠX ,*°iÃ¥&ìµòõØd—möÙh[À5©yóį&ÙÆÔêºqÇŸl¥þË|÷=¬ÞÀ¥¬²²,?;ò³ˆ3¢øn†O3uÎF³jý½z3·ZÁœwîùqmVqxŽÏé§gq ù´îzëVÄ;¾!”»FóÖ^.îöÊû믳Rud]T`ksêuØaÛ`C ÐG/} ÎWoýõØg¯=óÜ‹¶ÙÉûÕ¶e—fk´ùa÷®xç øw~Ç/ÿ{ï >¸š,‹¼xŠ÷Ïÿlœt9Ùì‡5{:Rù:¹JdaŒ ³D hŒ êñŽmlã÷‡GHŠp,¹3àV,´u¸5 Ì Î:èä+¨Q&tR™° „Qpè)£™ô7bÁééAÌÎk¢µWè»·{ “/gþF³$¿B:Ò’60¥…sé–cúnxÛôš>†`˜Ò´Vd0NIM§2)Õ«®D«]Mô¢[cÇ€€ Ö°k^ûØÕÎF´§NlfÓÄÙTŸzÔ³qí$+™Éô@Á0Ðv€2‰@’€eACo é^w»Fwz‡WÞv÷îA߬ï‚ÖYߟ'AÁ‰<#\á?Å‘ÅQœ¨8‹ØñŠf.„“jsr+¥\˜$í|Ë\NzcÁ¼c2Ÿy›¾TÙP¯üÀ£ÞM©MÝ$ ƒ†ÕFÏýÑ© ¬Mwú¯·žuh[½&X/~²·Þõ wì[!0 Ž$XŸpþ…_´] èŽ; vÖMè ›àĺ £Ëcæî&¼ÿòÇ™Ý2À{wçîª{Ï~Õ …wP„‡÷Igp‡GÇŽy’÷C GÐc= 0 ]V 0 i¦¢P ce!ˆ¸˜o™·yê#z€õy ÷>¥Wƒbr2–z“Ö_âR¯GY£ö`¦a­a¶×€ò ºgtkÀ{L|ÂuÕ¦|ÈÆl¼GbW˜|TÈ|Ø–aÐ÷ Ö—½€}vYP߇]p7êÆn1P~ç7°PgVç‡o\€~uЇg¦+ cÖ€þú'ó7o(˜où÷ :`oµÔ gU uà èIG ( xæ¢` DVp8 ˆVhw@h¡°q%è<%˜œ@Pù6_$—‡P7.È10(?¸>6xŒ=29(s…&?hdÄs2§ÆF8aHX J¸„DG å|Pk½6|Q'mÓmVè„éHeZmçÈ…^÷|ÛæahÖÇ ½Ð Ýð¼—tÞІçVPqØntè‡}˜p‡sh~.@ˆÝ¥n^ú7ˆñçˆë–6 ƒ¸ne‰˜hPšÈ‰æ÷I‰w ˜føg7D¨´qÎCþ ¦Xy$(‚´(‚ñÃÀ‹õ5KÀø‚è%ÅÈrÈx”Þ¡Œ1ÇŒ`äiÁøŒ¢&F³×FDøsØظ§{³Ö„ìŽâˆ ÓbÆlÚ0ã  j¹–ÚÀ•ìÈ Ú°Ž$†–tI—j¹|Á6–ÛÐ…ö…ôö˜½à Én±#enâGæ‡~…·3I‡ö—fë†o°‘Ý¥•ùe4‡[‡99g ¹‰u¶$ ˜p5pq +ùC«hQЀ–f3‹79‚µ8 :_³` >YrAÙC™%Ï(zHÙœd‚ƒK¹i;è,^‚sPYÑ(ÓþB{³rpÃjÐ^é–Oè•×€ Ì°ul¹žìÉlå—jéžäŸìYŸQ·—ñè—}†È¾ð ¿P˜d\Š ~)w Y‡‘‰rG™æ^ƒ‰ÜÅ™ú]êfšjPh€ýVgçIç¤èš5 ¢y>¤='ÚÁðŠ×C“³h¨€“À)œÄ9r?™Ç)ŒÉÙ+¯ç‚Τ[¨§ƒ*Çz®GR*×ä`‘ãFLâGR°^käkDâËÀ ÍPd.cÐ d @v¦hjce Ðc`ÚbG–Ÿó¸ŸÐƒ  EP†YTiê†8 ™þà j~‰à•~…‰k¦‘À wÝ%š¦ £9|WP4ð‰‰÷¡4ð ²ù<çvxqw =E ‘WŠ#X=4‰ ¦p„ 4}ÑÁГ8jœÅ£ÓÙ£1¸rB:¬3¨7šf¤æiJz¿²¤@(•=GU9+“UÚÛrZä’Ÿá|æ+F â:®ÅP®åj Ǯ꺮ìڮÆ` æZ®ãJ ¶Ð Wå…sŠa¸¯ð ”IWe}ú§Œ)šøG‡ŠXx†Ên ‹o“èˆ\`ˆìÖ ™9¡Ÿð¨2±éæ3`©•z©3€o&¹©¡€g& 5Ðx(Zþ£úšŸ“¤oGqÖC Wh"è¯h8k² x ãÁé"( “p‹0 Ç‹öÕ‚ÂÁ_“œ×ɃÄ:¬v¬Ò¹¤5—`)ŬĬå¤Ó¥Qz$2@ HEvßæ­n붴 ´0µÀ ¶p··p É• |Û·~û·€¸‚› ä”·ƒ¤ »À rJI1†iX\1á§nWžÔ˜2 °ŒÚ°™[¡øv•É°ë±øes²²¡ôfôgG—f§=Öãôw=3ëe"8´^« s ]œ¨Ðe¦ G; ^àeL»ÚQPµÊ‰œûUµÄqµÄþši‰Å”ØéŒ3YÆ*ÐȾΠ{¤V¶Õh•¦[ðµsGwò;¿<£ VP!ø›¿ú»¿üÛ¿ ­Ð–à 5à|úɯӕ˜•{°3wôÖfçÕP…GCÔ^ï_ì5HË"G_¼Š_Ð;¶½ÔkµÖëœ\ôKÀÔ”žæ½J™%ä«1ì¬ÐZ-Ch1ªñ”•ðÃ@ÄB<ÄoPÄF|Ä–ÄJ¼ÄLÜÄNüÄPÅI| 0ÞzÀ6Z¼Å[\qðO×u¹E‰|Æ•^%WA”h¬_®Ü™'+œ÷”S{,"\ÂÕ{ÂAŠ½þÉ‘z뱤ôSS/Ü+°á»ÈD9þ£6Ì8¬Ã1pɘœÉš¼ÉœÜÉžüÉ Ê \ÀW¼¯ŸR#cõvoˆÆè¥Æž´^\Do¼hq¼0 Ë[ÇÎ Â|ÌÇ~üÇß«Â÷³Ç£çYä±Èâ˵û3-è‹Ã9<17³*˜Ñ#¨|Ë¥â¶Ì0^S=Òsn°¬^B%Ë5yEÔJÚ¼DìÜΩr±”£}õ¼¿\ÏÁŒÂÉ\¤+,L^ÈÊAãaÌ\8Ï\-ÓØFÒœRúSÕlÍ–1٬ͣRÊŒkI_c=çœÑè¬J¥Î ãÎn³@"íDõ%+PpÇõœþÒÇ|ÏǘÂÊ\Ì,ÌJJÌÝ, ÍÏ”ÐPGÛâÐ Ñ!ÑmÀ¦Ì5Ý^´Ü=ŒQ Sª² ”jR=Õ%mÒ'Ý‚x¬ÒýÂ,}”¾ôÒ0¬ÛÁEXòÏhRÓŽü,Í:½Ð|ÒÓ>-@ÔB-#D]ÑÚœÁ¶œCN $‘Ñ'S+‚-ØP 7:}ØLâQ¾¬ÕËÙÕBúÕúìEÆìŒD ¶ãÈj2Ði-{#É ÍÓ­׈Í6R×3¢¯xmÚª*ŒñÎ ØC؈=ÛvRÛ¶%³>ŒM½ŽýØþœ½û|¤ÉxȘÐ,5Ðj7ÜÖÔ ×¢ý#s *«þ-¨ ]ÓM*51L$äÛqS1‡mÛR2ÞäM-srƒ»­Õ½íÛDÙƒÓÈF9Üz¬R’-­ÜÒš¾ÔÚÜ}ò܇AÚt½ÚÕ}ݬÝÚOmÍo“jà}1ø!%ç=ÖÇœÞ8ë-Ììµ0=Ù”}zf½ÏŽL¶m¶ãÖ¥ÑТ à~«Š¡Ÿ0 ÊYðâ0þâ^5ãVP(6® Uã:^ô[wyçÊh<ÎB>äD^äFþI@žäJ¾äLÞäNþä uä¡DT^åV~åXJPþÊpE埄å`æ^.€ µ]v×ãt.7¾æBãnþæpî;1ð+>0pçz¾çþ|Þç~þç€è‚>è„^è†~舞芾èŒÞèŽþèé’>é”^é–~阞难é‘>sNÝ~Yp\¤^ê¦~ꨞꪾê¬Þê®þê°ë²>ë´^ë¶~븞뺾ë¼Þë¾þëÀìÂ>ìÄÞëp`·Šò˜Ú êÅþìÐíÒ>íÔ^íÖ~íØžíÚ¾íÜìÇ®âËnÝÍ>êÝ^îæ~îèžîê¾îìÞîîþîðí¡RçÌîìð~ïøžïú¾ïüÞïþþï¦.ïóêäððŸð ¿ð Ïïß.*ÊNð ?ñ_ññŸñ¨þð‚@ïânïò"?ò$_þò&íòNò,ßò.ÿò0OòÇñƒ±ò1ó8ê °ó<ßó>ÿó@ôB?ôD_ôFô@ŸóJí*6¿ôPÿò ÀT_õVõWßQ¿õÏ.ð¢òô¦Žôb?öd_öföhŸöj¿ölßönOôX÷r?÷Yÿöv÷xŸ÷zÿóð.ð}ö¥>õt?øq¿ó„øˆõ†ŸøŒßøŽ/øŽù’_?ù–‹ùm‘ùš¿ù}ìø¤>õþ^§¤ó¦¯}\ßê•ßù®O÷Zßð©¿í³Ïíuúù€!úÀuúü^û/ïû«¯ê­ÿúÄŸõü׎üØ~ûïî÷þ û¿Åûû®ü'OýÁøgQe¡ýÀýd‘fÞÿý^Füáoõ±ÏðÖ?íéOíÌïîÎý ýú¾þ#Oÿ×?üÑeߟÿÛ¿ÿþÏÿ@à@‚ D(°NB†D€QâDŠ-^ĘQãD ØR¤ÅŽGžD¡cJ–-%±‚A¦L 8˜)³ŒüüYGèP EEth¤Mþ, ÀèR¢LŸ6]zUëÖ¢V¹Š4ëW²SÅ-›ÖlÚ..Á¹ ÖµÛPï^xù:\뵫ұ„Ñ-ÌU°Ö°S«åÚ(U¯‹'^œØ²ƒ•.=£þ„™CÍ›¢wö”:X5V­™ƒB.*ùµZË‚7Ãvz;²ÇÔ«èÆXøåà[kmkð-ݼÌú;4nß¹oë.¥+]{t¡Ó»#lXìlâ¿×ú>>|·Oßæ‹_•ížøm¦®ÉËßÜùóþ¡s’Æ)§Ó.b¯<ÕËM¼àâKµöä{ÏAÈD0 k³0AØ’»«9¹ÜúN9„®SèCêò"±/æLLñ;è: ,3«0„°F#‹Â3‹·ó.£ÏÆûfËï!þŽÄÈ¿™4'{?´¦<ì@ K£toF¡®´r²Ãê«ì7۪̪*1¿|ÍØ|ÜqÍ2Ý4þÓÍú´2©ÂÈòL:Óü²²1Í<ŠCçTDôÅEt˹괜ýìljWÛÚ¦pnlè8ÇúÚßw¸‰L^8hÛÈ›Ž¶·Å½nvþ·#ÙÞv¤;ínz×›Þð>·©ƒ=m{÷ÛßÎÆ7•ÑÝmaÿÛà×uÀÅr‰`\(÷xËoŽ+ä/‡y‡ENò™GÀä6/yÊq»òs[À¸Þ7ªc>t¢3¸æ8GúÅ“Žô£“šÜæ¸Ïžì ÝêW?ðÑE>”'½é,Ñ8€¤îótëgGû‘´~ñ­Ó\ç·åyÔÇ^v~§ÝîwgÉÚ+ró‘=%®ËÇnº ï‡G|Fô^s¾CÄâ~wºÊßó¹¼î‰Ç|æ—îõ®3ò'üL|.öÊ7þ\ó§Ï¼ÄK¾’ç|ó'÷ä10z\ ¾ð¨Ç}îú±“^ê·×}ð…OPÀÞ÷d·¼á‡¿|滤ø½Ç• JßñæWßú ½ñ£/}ä›þúß?I²ý›ØÀüݧ~øÕþçK@æ??ð×?ÿë·Ÿö凿 äOþ/¿ý°÷Ë¿ýë¿̽ö3?„?4À̼âË?4?üŒÅÛ;Ö»À“Ûª¦ÃÀâú<ø@·sÀõƒ@øÀä£ A×k½ ÁýÐ;ÇëÁλˆ´Á<;ÀË¿Ä•@Á TÁYy<×›AtÁ¬ÆS:›ÚÁ\ºÆ{ÂäþAÔóÁ Â!Ô¿"D’#lA&¬Â l;´9®£A“CÃÍó»|¼2œ¹<Ó㺭[Ã7´0œÃ:Ĺ›»Ã¾Ó@9\Ã+,º,4Á-B ôŒÆ£ÂŠ3Ã%ì:% D%”D*lį‹CÇã»IœBJìCIDÂFä•ûÌÑMÊ,J‘hKÕ´MPãLÇ„»ÍÐÄ•γ,ͪK‰Ú¼Í㬴ÜlMÏìMÎçN‰P7ÚDMä´Î@SN=#7ÞœÌpÎçœè,³ËÛã¼ÎóÄNÖÔN×<ËçüNèœMY¬Nô¤O6ËN‘ °OïüMðOD#O0Ïú$PûTOüÜÎý`PýOi›Ï‹Ð¥Ð3»ÏÈOð”mPxÐé”Ï Q5»ÐÈÐåÐýP³ÐÑe²ÕˆüìÐ Å•]ÑI…Ñ2ÍEQ\‰"-ÒåQŠ˜PeÒ ÒwÛÎþ1Ò#ÏòLÒ&ÕÒ{Ò‹ÈÏ*° S$e‰%ÝÒ4±.?×S1U2­R3-Î,UÓ;í06­ˆ/­R8•Ó€ Sy´S<5T ÓSŠàS@…Ó@…T¸Ò=ÔJu±Dåˆí„Ô@uÔ8ÝTÔµ¼LK%ÕÃTˆ$7øÔN€O UˤÎR•Õ<=P MÕU}ÔM}UÓÕYõUD­U½ÕMeUWÔýÕd•²`Ñ[å¬b…Ô ØUâ$TeµÖ;Õˆ 0ج,°V­€p ×i•NEÖkEWËV0KUq WpuWrÏB…4M×{0f ÒvþuWxWyPz{ÅׂýŒuU ~W×cÅ‚5؈ý;}…R•sw­†•V‡•P•ØÝSŠõR…}×1ÅX€…Ð3õXeY0Ù6ݹ‹íW“WŽµˆmÙœUÔ—ÝS’ÍXšýW›­œÕÙ¢U žUTŸ…ÖHZ%]Y£5X„ÝV\½‰?°Z«…¦¢…Ú–•Zrƒ@[±%ˆ‚³=ÛÐÚg|Ú®½×¯U¹ðƒ¹Û°‰¸ƒ¼Í[µÕXuÛ¿…H¤ÍÔ¸EÛ³µ[À[½½XÛˆàZÀX¸Ý¹(Ü(8ÜÄÕ[ÆíÛ…\À•\¸£Ü½\Å]Üþƭ׶íÜdý\Å‚ƒÐEÛÑU\Í…UÎMÝ®]ÝÄjÝÊ…ÝÌ5ÝEÝåÓƒ)Þá%Þâ5ÞãEÞäUÞåeÞæuÞç…Þè•Þé¥ÞêµÞëÅ^éÕl\T%\ѽ[Ò•]^õ[BÌ=à ‹TßõeßöeЃ<ؽîÕVrs]à ßØíÝÇ¿)àŒÚÅO˜‚ùËï}ÝüåÝÍÅRœ‚ß5Zà»Ý·Ê]ðE\ñÝ_¾`=‹àL£_v5`ü½`ýU`J]Eî` ý`l á„aËEà¼_j=M†Ñáæáöáâ N &àÎ]ÝáÒ=ás±¸Üþ@—àKsÈÏh`!¶â+Æâ,Öâ-^Vצ°û•áNàÙ]à&†Ä$ŠB¤\É/<‰¥tKŒ¨b.¦ã:¶ã;Æã÷ b cûEb2¦á Fc|TãETº5‰(„cB–ãÎãG†äH–ä,Þc.àÉýcÌ ä%~X &¨6üCÀ4CA¬Ã¹ÔDQN‘üË2<åU~È=ì»4öËS‰9žä[Æå\Ö夘ʨƒ ˆ /.® v« >`@Vb3FaÃÄP4Å…„f0”ÊKÌC«ÜJ™ÌÄif»¥Å‹`Âçpçq&çr6çsFçtVçufçvvçw6ç,è奘’fÊþ"æ¶2fÖäd&_Úý°f>E”ôJ®|JYVI~ÄK’̯¼fl‰o†ç‰¦èŠ¶è‹ÆèŒÖ趂yþeȹg¼Êg§Úç1îç.WíäA×\F…ÆAˆ¦ÉœŒf”lãÄäDŒÀén¶‰ÞèŸê ê¡&j¡îèé"ÖMÖãÝÝdefâ€>䃞JF¶æ™dI§è0l㬆J¬ìé2*ê±&ë²6ë³Þè+˜€,hŸÞª‘nª’vj¶á^ ±‚vé0¬Jª´ézÔê¾ÔëšöêÀvhŠði´FìÄVìÅflqŽ·¶)¸f*¹Nb”žW•m1RLÀ†åYNCÏÆêþV¶ÅYnIÖKÌ|Ül„<ÌQ®e¿j¬×†íØ–mÃzl¥^Î#¶à“ävíÙöíßîà,È&¾>Žá¹¶ì€ÅlÞîævîç†nLªm>¾dÜ>fÝæäŽeàÞŽîîöîï6«é¶d#fêLÆàì¾YOνïövï÷+âv$É>)ÊFæäNÙ:eàŸ®þöïÿðð'ð×ú ùN"ú6)ûÆn¨^éUôXap€k¡nòÆݦ®ìÝ^Å8ÈÞññ'ñ7ñ¿Þ8àÞê.ïÜ>o×î ×Y/)ñ>c÷ZãÆd7aOoÏY'ÿq_f!ÿþX"'#/c$j%\·n~¾ñº._)ŸrÏpó>r,h-/X&''j(p1Z*oñë¾ò”XþUóJ%óo2sº†óåžs|­ó;ºsüÑßótís;ústt-ô::tôZõNt]t:jt ôH't6ïrr0tLW]M§` ¿oDõ_ô9ªt4ñSu.u/ïô<×oWu uN?sOOrÌ‚>P`öa'öb7öcGödWöegöfwög‡öh—öi§öj·ökö>ਠ_êMwó/§õj]E¨pßr7÷s—HxáŒõb&õ~æ[KwZþL_t·÷{Ç÷ùZ÷ýHõ¿¸óxgõ ÷|'ø‚7x“Ú÷ƒmw}~wÒx^ò¬÷ƒ§øŠ·øƒHxÏèw¾ ì€wS—ø‹ù‘§øŒw¾…'i ÷x‡y¬wÊpF9˜r¡F!ù›Çù¿0ùŒDù¸Vùwôy7¶˜TíGÜæGÔì;ôå|y¹‘‹…Éèá›çÉùª·zØy°ëùÉþy–ú­…tECz¥dd&ìG¬Nåhz½±ž™¼™ú«—{’Ïú‰…uwGâ•W܇÷z™†Ä6Œé¯^d Ÿù¸¹¸I‘Cy¡¹w|º·íõìñÖ{½åûË®õb+m² þ&ü²Ïˆ—¡»9¡ÒzQ”ÇWýõõhz.ˆº'µ­¯ï®ßû–ßµ¼ÞæD¯^ä5^û˜—êñ˜?ýÕ7~ö€Öÿeƒ€}Гý§}Ë·}]›JÈ3új6É=Üý¶ˆß'}·‡’ù¸?þòŸHðè ÀøÈGÐãV€ÊßÛ鯵lk„&Ì‚tKß?|¨§zÿ,hð „ 2lèð!Ĉ'R¬h± ƒ u& |á#È"G’,i2'M^ŒgF”˜1(ðàNœ3à”l0p¥É€-jô(Ò¤J—Ö Ù´i¨NEJY5êÇ«X·NíþzÔÁÀ:Å K6¬Ø³ÓT[¶%ܸrçÒ­k÷nÂŒ U.í 2åR¼_ÊœYófÎ;;{þT*Ô/äÈ’'G¾ZªVË&5gõš™jR°/“>k¶í[ÔnG¯ìú5ìزg7äKù(`¥³ ¦i3±bž$} \úø6òäÊ%ŽZsé•Ï©’öj]+PÑ´·sïîý;x…¶—ŸÌt7ÌÞ‡/Þ8éqòòçÓ¯oŸ¨öðú÷óïïßáx÷}dRè…oˆåÔÞHÄ å؃J8!…ÎMW!Iùý·!‡zøZ€ˆ›l¼É” {Â5øRñaø"Œ1Þ§á‡5Úx#Žþâ½8¢Qª÷[b Šä qÊx$’IBFcŽM:ùd!ÞÇcQ>ž¸^*ÉâQ.*ù%˜aŽÄ$”ešy¦kRÚG%QVä‚Z†D$„bÚyç—‰&Ÿ}ú ‘jÖÇ&Pn"ˆeœŒW'ž:Z¡ž‘J:)¥•Zz)¦™jº)§zú)¨¡Š:*©¥šZꎂ–WbzW©“œ Ñ Ÿ‘Úz+®¹êº+¯xº’¡(f©h­FyÙ+²É*»,³Í&û몱™ø¦‚wì!äœ\[¬³Ýzû-¸áŠ ´,±z`‚{¨«.¶²j[Ô±ãÊ;/½õÚ{k¹%{غìÆúѬ-r{/þÁ|0·åKÒ¾6õ{í¿ÜåÀ [|1ƼðH ?ðp»¿KT¼›|2Ê)ïʱHƒñÄÛª<3Í5ÛŒ$Ë!¹ÜoÈ TÉ7 =4ÑEŸ§ª¹Ò¶JíËÄi4ÔQK=5JHë{îó óÏ+M5Øa‹½±Õ cíªÖëö3¼ý6Üq7›ó_g3ÍsN3*7ß}û­+ÝÚ}¨ÃxëMë߉+¾ø—£4xº†»·(âŒ[~9惖Ý1«wd rÞ“»}Ò×™›~:ê…nÞrçžß­vè+R.pêµÛ~{Ç«ëÜùç’Ë>zPÀã><ñ|;ŽNhƒ~8íÅ/«þÇÑK?=õÕ[=öÙk¿=÷Ý{ÿ=øá‹?>ùå›~øzÀx|ëÊû¾åì;¯lzìù'þùÿé€y¤X‰h“×±+vðIJ7?GM, |à_0…ÿé&€‰!\Ú È<ùApWS@`Q€ bˆ}Òà#» Ê,„¹ú  8B žÇ‚)ä×û²¿ÆÐV0ì¡ófXBÝÕí„ÀQá¢0ê„"Q “ôÁSQ±ŠV¼"³¨Å-r±TB¬ aæ$]…Y" Û6¡æ`çB%ÉÌs0c§T'+q¼ W@‚=FÇŽj#h¬Ó™;â±*}ô#2E=Åþ‘‘•"äepÇ.R²’–¼$&3Ù©/R(Œ¯ãs 4ŠîiJ¤;ÈT¾qŽ$A¥*óØV Rr|%.mÉZÆÒ±üåJ)ÉIÕa˜”*f¤™LM2³™Î|&4EÅÉ yÒ5 LL‚FÉDwíP§”%0ó(ÎZîñ)]™%0ѹJU–Ó2¾|§-ù™]E˜Êt¤1—)©{æ3šþü'@ÊÅiJ¨š‚¹fEyÆmŠ¬›$sâdÌÉJuž„¢ƒ<'PèN^ÖÒŽÔ™ <9Ê™röÅžÄÔg?ñ‰R²´¥.¨Fâ8ITDDœ±©P™òw¦Ð-·ÒFX¶’þ:‡ jP7cT7¾’¨qL¥T$Ê•¨örBÝ Q‰2Ap5Ž\ýj Ö¯‚•¬b}ŽYÓªÖµ²µ­n}+\ã*×¹Òµ®v½+^óª×¯f!¦¤™€Y#@B0Þôq9M¨M´™Æ‡®q¢åcE])Ù[Ò©VgS9 ÕÍVµ³Mê÷X’­vÕ¬c-«ZO[Ú½²¶µ®}-lc+ÛÙæÕ ~l`ÛÉÂ8ÉæB 4ˆ2¤íh8IÊYuj³EU®D¡óGãÆÓ¹’­gP«ÝÕ¦Uµb¥-xÃ+Þñ’·¼{µíFÔ*XȆˆ}€bK¹·û„”¹J½ì/£{]qZ4þ•#eåI]‘&—¿ŠÌ.wüÝÔšÖ¼~0„#,á¼^aYP¯n©É[÷þv§1ééJߎ³¹šU.dóûÙýVÅT¤;­JUÇ"—$¤]ðvqÜ`²zwÂ>þ1ƒüàõ€‡ípbƒ+ßÊÕ•OµPVé;˜…”1‹¥ŒJ*O•³ ±ïuêˆHÑÚ8Y8sϬæ,ÔaÍknó›Óìæ9Ó¹Îv¾3žó¬ç=ó¹Ï~þ3 -èAzÏD&¬‘ÅèÛ;—§ õ™C‡ÅGM°Ð–¾4¦3­éMsºÓžöô¡w›èO.ºÑ~4Û‹+.+‰Õõªô§c-ëYÓºÖ¶þ¾µŸC­áQ[³ÔV"ª»F:âNºB°Æ5²“­ìe3»ÙYÐuA7|dFÿÄMq±Åtlgs»ÛÞþ6¸ç m›òú ¾N²£…ë5bg[B t€â-ïyÓ»Þö¾7¾ó­ï}ó»ßþþ7À.ð¼à?ø¿õ”áh—/E2|•ìÓù¶L h€*ž:\œ½$š¶©­îakÜNq@ÊS®ò•³¼å.9Ì͇õI[Ñ¡D÷©G¼’ó¼çs«9©oñt/¹y>?:ÒqeP‡Ÿ{è9/:“.õ©‹iéwy8µq.r¨óê^ÿ:Í~õ¦ÇwâL;ÚÓ¾& ÷Zèeþ1ÅÕ.÷¹SÆêvÁzÈ­ÍMvC‘î~ÿ{yØnn·Kîg<âx±ßì…¿vÜ/yÉÛ½.x¯v°#½îÉsžó•§Ëåµ®÷†òÝ?½Ï??—Ð;}ëf7:êc/wÕË…õo‡üáe¯{¯Ó>.¶üÞ±½ûá'½÷pù=Ñ_uâ3ÿèÆo òŸ®ü®7¿úþE¢ïzÃÃÞúÞ/6ö-¢ýÑCºôß??øÏtÂ'ŸûËG?ü;þŠŒ?óæ?þ!8ŠÔ_ç%é{þ æìßDô×y“&àí Dàô! Fàé0 K8^ûá^÷I 2Bë1JŸûQßþ–àßtàC| 2Áöaàû™ Ê :„ ® ù¥š¤Å Ê úЭ Þ °íÜáØÌ`CÔ`ÚŸð àÅ=!FaÇ!Ñ !C(!¡æ‘œ6@Qx!.jáýI ª€®¡² ôÁHLŠa6Þ¡6a¦¡¼¹ÙÀ›žØF1‹UÖ–í—;RE‰"‘fµÓtÌÒQbñÕ¡å5f!FÞF€ ÄÛšAÀ:À³¡Ga–…Ö*ùR‰¥¢f­ÓŒõ’fR.]VR™•Ü*Dnbî9¡'ZÁ™‰â(êI)ØU¹â±â<]—þTµbQ!#;“E#,XñÜ.&D/ú_™Þð¥á0RJvâEÑX-#*"2f#Š93â×q!•5—.Z"èa"úb£ œY1êÉGx„)&£AJYFyVh=Y—ù×}±£AÆ"™1ä)þ—<öÜ6"D7 ª¡¡'ä¤ ¤96$h‘X4X-Ò’DRd–AãŒIddar±d%2Þ%Þ¡ òã úã…‘cd\AÖWBZ£~¥$;=™;ÖãA>ã3å:¾#Øeä`ÌN.¡7ŽzŸ²@dÆ}P^ÇA:dJ¥4ŽeIŠV3 ˜—aE.¾cZZ—ÔI¥A¼DUjþâU>8îÞV㘌dŒAã+¦S,Ž¥[âR6R£bæ`v­#ÚÑeAØ¥NÙ„\æeæ!'æŸöA¤d`:Ù)"D6"6"¦SjÙR9b:ŽÙ•­¢˜å"ÒI&APæ{affê$ ãã…=€WŽäÒ m„mBnê€fþb'EA2M®Qt*‡«Y_q ÄqfÝ$çröãJ!xNápÖÌu@v&wê&Ž'{'>®UVævâfwîd{ާƔçyFzæeHd%~h½èg|Þ&}ªgG ¨‚Z ]rd.¨„LƒÊçƒ>`‚N¨†è{Ö^"çþú'H膖(²T¨bf}¶¨³ (ˆª(‚F¨‹Öè‹v¨ï}¨v^讧þè‰âèñé(z†(„n&iÚ$è))†Ò¨’N)¾)ô9©eBif(•v©¯Xiöaé|ʨˆä^z)š®“§ƒj© ²hšÆ©ŒÀ莺iðm¦œæ)¢UÒ´)™)ê© †ŸŠ‘˜òè›úè .ꔀ©øÁ„…Ú)éé!£V*yhL¤hn–i¨¥~ªn8*ýµJŒn* !¨¦ªr`j¦ÖéŸF)’ªª¬Ö¨ò©ºª©Âj Î*¯ú«fj‘¾ê–Ji¯+nÔj. þ!ê2§±>+K k*k°æê°Æ*´fëâê'Që“ k¢r©¶Žë_H«Kxk–‚k³z'¹jë¯R ³N*ž¶ë³¾ë²JjùQ*½Ö«¹z ºŽ©µ†+±îk¶Úkµ*çŒb+Áºk¿¦à¿Æk¾ÎëÂΪÁ~ëeÊ@ÂîêÄBkŦëÅf,ªn,Ç6, >,nb,§zªÈ jǬ ì©þß™®,š¶lr¬®†,ÍöªÍž,ÈÊìÎòëšz(ºXìËþì7­±ö,fʤìÌ*­’2íÅ>mÌ&­Ôò*Õ¾¬Õæ,Ðf-Å’lšlÓvíµj,Ø~êÖ:-Ô¦­¬®­Ù ¬Âºþm¥ÂmÛÒ-¨ÚíÕbeÔâ­‰ê­×b­ßÖ­Ø^!ÙVíÝ.£îÙê¬âê)ãÊ-Ú>®œFîºÚ'åÖlá’áármâfnžZ®¼:+èR©èF,é–îÔn./v.Ûî­^ªnè².7ºnÜ^.œÊn’ž.έîN)ïá×þ®—(dÍÍÞîè²+ñÚ¨ñ/¼ž¬ò¢.ó6¯‹>/Ú$ïçZïîÒ®FÎ@ï½–íörï>/ôìë.ßš/ðzïT†oøŽ/âÂîö­û!ú¯úNoïNnþþ-üÖ%øÊ/m#° 0@ù°mŽÊoø&H+0Ûïˆâ¯ÇàþþòWð7ðkhp‡0›é×h Fo ³oì®p‹¶°M¼p 7îðÒð†Úðàð˰Ρʢ‡{° ƒpë°¾'G±O1W±_1g±o1w±1‡±1—±Ÿ1§±¯1·±¿1pšK° [0§â”þä±ï1÷±O„¯²J×1 7±ä1Ï 2/ñ 2î"2Ç*²ür2$¿­$O0#Ûq _ò¢Îñ$or!ß±'Cî¹,ò 31)—råbM(§r#¯2+§©¼ò«r'Ïr++Lh2,s²ë²)órLøòþ-Çr. sÍÚÿò('³2w©Ç±,GóÔBŽ(Wò#[³¥N3.37/6;³6/o8«í830;ñ9Ór:kÀ7³s;‹³Ò$ÚÀ32ƒó<ï.«Ø3µh>?³>ïóùö³?'@ãs9S/A*z¨Ë='´,´ƒü±E_4Fg´Fot‡€DcDO´#“G—´IŸ4J§´Jk¤}4BK4E¯´LÏ4M×´MCÉ5AôK'tLß´Oÿ4PµPÛ¡µ¨ËNtOµR/5S7µP#”QFH'µSWµU_5Vû1TïÁQ‹4±d5X‡µXu<WK5Ltù‘5[·µ[¿þuÛåÄYÛÄT«uEÃ5^çµ^ïuB@ÓÕõWóµ`6a‹µ_ `‹Na/6c7vP¶|&öï86eW¶e—4d¿Ht Øõe6h‡¶g6Äeg{¶h§¶j¯vŽ¶vfÀftg6k׶mßvw¸v‚dlË6jã6p·pÛ…noãÀf϶b7s7·s7DqÛoó¶(÷d?7vg÷sG÷L7o[÷i·x7ns·wgx7y¯7{‡vq @w{wzï]{×·}3ö{Ç÷tÏ7Iß·ÿ7^ç÷yó÷Z¸xX ¸|ÿ6‚7¸ƒ7µ‚ï7ƒ?8…WøMGøwþO¸…o8‡Ÿ4†£·†w¸ˆø8ß5‰§¸Šç‰‡øŠ¿8Œ?I‹ÓvŒ×¸ÈŒ/÷ï8óGŽ_w¹oLJ÷9’ F‘«w’7¹“ÃÅ’Ó÷“O9•CD”÷w•g¹–Ä•ø–¹–w9Šƒ9™?ù‡Ã€‹—¹šù™§ùš¿ùŽ·9Ã9Û¸_ïNÁ÷y£ùœ×¹Ÿ¯øãy‡é¹wó¹Žÿ9¢§x '¡O·¡y¢Gz‡/ú ë7o?º‘Kº¦[xÌÀºTúž»ù¦:€wz¿P[£_º¨“:«×·©:M¤z`:“·º­ß÷«« ª[ú¬¯ú­ÿ:vçzþTË:­K9°»x ûY»¯#»³—·§÷K¬óz±cù³_»p+û´‡zŸc»·³¶¶+³wû·—»{Gûºl{¡7»¹·{c‡û¸º»Ï{eÃ;µ³;½ç»^wzQû½“»¾ü¾Çgº‹û¿Ë»À'|^ó;Nø;·#¼ÂG|[3|뻣ã»Äg|US¼µX¼ª¼Æ‡üÆè²|ƒ„'ʧ¼Ê¯<Ë·¼Ë¿<ÌǼÌÏ<Í×¼Íß<Îç¼Îï<Ï÷¼Ïÿ<нÐ=ч'ÇïúÃsŽÈ/½a;©8@Ò7ôï}¬CýºK}óR½¸[ýÅc=ñjýÓG½×—.Øsýǽ얽أþ=åªýÕ³=Ù;½Ù÷:ÜÇ}(…ýÛ# °!ß÷½ßÿ=à¾à>á> ÐÇ PA&.>ã7¾ã?>äG¾äC>Ì}@OÌe~ù¨Ï|`¾æ>øp~ظ}×ë}nt\Áá“ lÀØìǾìÏ>í×¾íß>îç¾îï¾ÌÁЀ|ÔÏýì1ÿøyÿF¿Øtz«¢úÜW;®¨JÌPH?yPÁàÁàÁP|4? HÐ÷;нŒÿÂE ó·jÕ_€û»?ôߊ „¿­€õ/ØÁØ|?ý‹?@L‰0`Aƒœ aC‡!F”8q 1fÔ¸þ‘cÄ3¢„Œrç.¤L ƒAG—/ ª`“f͉TØ<ÈÄŽNŸ? ÚatàB¢GkZ7núXrå†yEîí»²¥å‰‚=- ”§Ó§Q§V½šukׯaÇ>­8.Ù·qçÖ-›²Í…»»wèИ¯šä»ù¯ñ‡ £Æ‘§ u‚ÖŽþYzxê:ßëto^¼Ú?—>6yÙîË;(N3}|ÔðMã÷nŸ÷þEçÿ‘‹b¯ 2諹ÿ‚®)ì"ÀÎÁ©´ó‰;õîãï4ý‚;2Û(¬Ð5 ?Ì/¾ù`ªÏBý@ÑÂ×HDp°Üê@ Rð(²NG¯"ÔiÂîP\1EÝ4ÔÉÄá‚/7ò†Ì­E—Ž´/IÖš\ñIç‚Q¹­¸ê ËÙZð qÌ.'Ãìˆ/Åõ.tà»ûØË/N7ã+Ò7Å›’M7ßä³O:U oÎá®ä(J5UsoO@ýsEùüûR2-OârFIm$ªLË4³,; UÔQI-µÔ:L…UQWý.ÔVGEuÕWiMÕV[í¬I [y=ÕWUc­uV`‰%Ö^‘þ… ‚H!‹ Ùgc]¼Z…}uÖa¡MvYI-£%½ä6‚LÚ4Ç ;“4P³µÛh§-öØ`Y¥¶ÝRs¥ÏÙ{M}w^cY]ÚcßåWYfÜ×à[ýµ—`z¾u[qóÖÒp¹%÷'sÑíXªmâ)bˆIvÞ­¸Ø‘ó-Qá‘VUÚjë•—æ‘^êeœIvf€kæ¹Ô‰)~$½¶·èqÃDŠã?Vw;vqnØäíÍZkƒ[~iWžc.øß“o™hôvzå²k¾ZmRÏ^:Ë£3KÚ/Œ1mÚéê®ãÛ1©%¤ºjzݾÖá•Q^¸k(Ó6[ÃÛ>Ü؇þyŽ;á·{šfW·Úr¹Ñ²Xé¢5.w:¿ûöÍ·UNYV›]˜óµj±Æù•öñxå¶Õ×a7aßp¼dÙ!—uvÌCýt±D¿{éÒŸO䚘˜#‹í¹ïÞûïÁ_üñÉ/ß|îç°=®Îoßý÷á?ßy}㯿ý:ì‡þꥊž³éõÆ?‡\&ÙËߘÀôé, t ûöç5ö=0ø£ ø"(@¤ø¯KÔ D^„%\àíJ˜B f°#Qaý,øÂí±ðƒ?áॾD½¾p>Òž X¿®/ˆE| 7âB#.±|HÜaMnˆ·ð‰ þáKFÈD-‚oˆhÛâ½çÄŒ(Œ`c]Åé½aHmB9ÐÁ u´ãñ˜G=î‘}ôãi:È K1M ™HE.ò¦ž®ÉHIN’’|td£¢Æ¢±à oÀ'AJQŽ’”¥4å)Q™JUFà ,8 6 ‡9Ì’–µ´å-q™K]î’—½ôåä°¥ p& â€bÓ˜È$ˆ2àÌ Ò-9•Ý&UMmn“›Ýôæ7ÁNqŽ“œÚt%Rh@&¬“ítç;áOyΓžõ´'¨0L§MŸýôç?P” 5èAûÙ)Ä¡ uèþC!ŠP…JŠÔÝþGQn”£õèGi¢IŽ”¤%5éI?(R”®”¥-uéKÏ¢R˜Î”¦5µéM"Sœî”§=õ)EuúS¡•¨EÅRPšT¥.•©SAjS¡U©NU"O¥êU±šU¥r0]`ÀWÁÖ¯z¬e5«YÅšVµ®•­muë[áW¹Îu­øÂ1ìu¯cðë_ X2¡ …ìaÉ`Å.V±gpìc!YÉNv²h°ìe/›Ín–³õìgAZÑŽ–´¥Ý¬P»†²Š• ­uíka˱–µµµímq›[Ýî–·½õíoQ‹Y̶¸Å5îqþ‘›Ü㺹ÍuîsŸûéN—ºÕµ®u]ín—»ÝõîwÁ^ï¼å5ïyÑ›^õ®—½æ¯v=P«\Ôš*±A `_ýîw¿ðïÌ_xÀ10ðœ`/˜Á vðƒ!l`L˜Â¶ð…1,ƒà V¸Â‡A|,Œ˜Ä%6±‰óø=Q=€Å,ÆY‹acϘÆ5¶ñqœcÇø¿ùA†e0!YÈ6p~ÿ»c%/™ÉM®1!?-LY ¶²€_e-oy [ò—Áf1™Ìe®0‘Ñœf5¯¹\˜/VÀ%9ÏY%°óïLg=o¥@}öóŸþhAšÐ…´hE/šÑv´6éHs ðÀ@M‡@Á¦A=‚€¢A L`‚¬šÕ¬F (ëp“µfA pk]çÚÖµvÁ¯ ì-[ËW&0±‘Ml›™Ù2 j`;ãÀ ‘ÖÁµ±mmk;Ò9ÀÁ 0`Ѐk6÷¹Ñnu£yív÷»áÍyÏ›Þ<èÁ½}àƒìûÅôw1ð <ÂÁ~ð!á wøËq‰Á·øÅ€„#lœã? „$( Û6ùÉQžr•¯œå-gù`s™Ïœæ2‡§U˜Pþ“4À{Ö3žîsŸšèE7úÑýüh¥/Ñ’Žt*}éLoÚÓ õ¨K-jT§ºÕ­~u¬)0km®`*¨õ®ÑŽë^³ ØÁNö–mì·;Â?þq³ÉüìX7ÀA¬íòlo Þ¶³ Æ]îu/žñ_7¼ß]ozã[ßüþ·¿‚ OøÃAñ‰Kã¥÷¸ÇAþ„‘—\ð­wýëaßòšÏžöñ $ €$ B—3Ѓî{=#øÅ7~˜žüG;P÷€@0PWÝêš5©M½uUw}Õ_—57WÐë´ïzímöÜãžþ$»î Æ{Þɽwþ Pðx}·¿nÄ“Ûñi.sÿPÈ Oòäòø­ß.àŽà:ÏónáBOôF/âJãN¯ãRoõbo9°ö@Ðæl/ d@€f@øRøðŒ‡ïødpMùlPјÏù0Íê¨ÏêL û´.Õ¶û¼/ìZÀ›ÎnüxÍÖÌï×æîÒ/ õ+Áö«î4ìýÄlÈÍøŽþìÏõ$ÍÛÀÍl€ÿpÈší /Þ$Ï0 ó6¯=o 0%p+Ðâ.pã@ Tä‰&€* ç„Î_éŒ5Qoþ°!MÒ(ÍÒvpú:­úBàú€ðÔ„ûº¯Å.›ÊNü”°z­ Ÿ ¥0mÙ°Ì´0Úúîï¯õÂìLÜO g •ññ"¯ÞÜpßà0pà ®ñ0ôŠ€&âöÐúðã@. FÎÍñ_Ñr@`Nð ŒéQrÃÉð1õq[l5LÅqC”C•J [ƒYÌ r!r8ò!!2"%RÇ$@ C)`#9²#=ò#A2$Er$I²$Mò$Q2%Uò#€\’ À àh²&mò&e2'ur'u|Ò' (…r(‰²(aò(‘2)•r)™²)ò)’#`*©²*­ò*§’#¡r+¹²+½ò+ƒò'År,ÉÒ' à,Ñ2-Õò,Ír-Ýò-Ó+år.é².íò.ñ2/õr* /ýò/30# ;PK/Á_'6N1NPK\8–AOEBPS/img/jdbc_steps.gifrN±GIF89a÷þþþ¾¾¾€€€@@@ÀÀÀ÷÷÷øøøúúúüüüòòòêêêôôôïïïûûûõõõöööùùùÂÂÂñññBBBóóóÃÃÃýýýðððÕÕÕ²²²»»»âââããã666îîî‚‚‚ìììDDDèèèÛÛÛæææ½½½···žžž===àààßßßÅÅÅuuu‹‹‹~~~777ÙÙÙƒƒƒ±±±ÚÚÚÝÝÝéé饥¥JJJFFFÔÔÔÞÞÞäääÄÄÄÆÆÆ ;;;ÊÊÊ555}}}>>>ÏÏÏ¿¿¿ÇÇÇrrråååÉÉÉÈÈÈÒÒÒ………???|||ááᣣ£ÜÜÜ„„„‡‡‡µµµÍÍ͆††ŒŒŒ××׫««ŠŠŠ¹¹¹fffíííkkk$$$ØØؼ¼¼°°°zzzwwwëëëÑÑÑvvv–––lll222ççç   ¶¶¶<<< •••³³³ÁÁÁ‘‘‘xxx ,,,ÖÖÖ´´´ŸŸŸpppeeegggCCC333’’’```\\\YYYNNNHHH111TTT888”””˜˜˜AAAddd"""___999sss))):::iiitttqqq[[[ˆˆˆÎÎÎKKKËË˺ºº]]] ›››jjjEEEÓÓÓyyy'''¦¦¦nnn¬¬¬¤¤¤!!!¯¯¯aaaOOO(((...GGGšššªªª™™™LLL000XXXbbbœœœÐÐЉ‰‰SSS¡¡¡+++oooPPP¢¢¢{{{ ###¸¸¸ccc444***VVV&&&---“““———mmm®®®QQQhhh^^^ MMMRRRUUU©©©ZZZWWW§§§­­­IIIÌÌÌŽŽŽ%%%¨¨¨///ÿÿÿ!ù,ÿý H° Áƒþ \È°aA…#.„(±¢CŠ3Ĩ±£@Ž'† rdÅ’& ¢LÙp%K‘/7zœ ¦Í›8sæ,¤³§ÏŸ>y T(Ñ£G"]”©ÓžJŸ•JµfÔªK¯bÅ©uëЮ^‚õ:¶§ÀÒª]˶­Û·pãÊK·®Ý»xóêÝË·¯ß¿€ L¸°áÃrÏþ[̸±ãÇ#KžL¹²å˘3kÞ̹³çÏ C‹Mº´éÓ¨SSV¬ºµë×°cËžM»¶íÛ¸Q³ÎÍ»·ïßÀƒ N<õîâÈ“+_μ¹óå<ŸN½ºõëر'´“½»÷ïàËÿ÷L€Ù‡ñèÓ«_Ͼ83ÚËŸO¿¾ýÎÇïëßÏ¿?øüþ(à€ú`&¨à‚ ÈàƒŽö‚/pv‚üÃ@„Â9ÈᇠRvŒ:2 Ã3ÅdÖ# Љ”µPCy|ðÁ/DìNR„8š‡>É`4Œ±,>ÐAÄ‘‘”‰Ë.$p2HfäktÀd!ð Ù`™f¦ùà³,&ÿ”?d0f„?D81Ù›ÿÔàÏ‹%ÐJd|þS€@‹Ý€ ©æf@>*é}‡ìb Müá<”c¤n<MœØ³Ø4šR0?» ÿ£j‹!pJ3Ô˜Àê¦ÓêÏ?X„ðOÆ÷)•1 ÿàʳ<É4“.iµØ²×Š?,0@ `ƒhcg@Œ@pÏ'ü¸#ÐI0û t80' €¯0cl±ÿÈ­HÉ?¢’7]¶×fkñx‡`í¯1ŒË˜@1üÓh–d~±q­ÐÀã$ÉüÓ3Ú„ Ž?|Œë+d)r™OÌFþLñþX`AÐÙV|ñÒÞe|ò …ÁØ 1Kp£HœÌÏ?<ÀÇÌü³„?‘0ýþj(¢ȳÁÿ\ó  ý£ƒ?•TâI;ÿÊôßèˆÿ Ú#þ„¼˜3þ0rÁÎ5üôÖ…ÿÚÉ‹@E9ÀúÓ…ÿ P¢Ô¬6‹}àÏy`´#FÍ,FHDá@ßÆ®{xøø3„°øsH0Òÿ01Dºoû“ÎÊd‚ú?Ár ¼üSüsâÂhñËÕOÀ¸ãÏ9ÿ¬â|.þp?ž!D*Sì÷îüc—€/¦¨Ã? aˆÐ J EH¡0¦QT°C 8À¾€ 0BD@‹Ûý…0…%*0Àº`¾ðE0° ¤À)À@ 1ˆ `?²‘ "¬ úË]rÿF‘1 .˜L,ó‚Q”†YPâe°P§c Ë)@$3Š 1¦‰r€¹Oe€­£º€pŒ @?•€4®±V8Àp8ÀXcþè€\·3€m°S˜¢ ªÐÙ¤”Æ›Õéâ’‰Xd ð˪4APÃ&;i™dôè4Ñ ØYtâlølxÈ¡ iB ³kÀ#–ÿ¨Bâ€ËÆ !’ñGóÉl©}¹91Ö°†c4£]Õ¢dnüBvÀ/€Ã†â„ 1NœŒ)Á ‚i䯙°ÁÂÅÀá¾#ÿOä¯17 Ì tÏœþ@§¡DÀÇà@ë('¤ ƒ2¦…Ð'd"@€@PAnB p€@bfl̲!Ç<’B †Å n¤ôpðG0rÏyÖ³pO`ƒpÙÌÅ`T£BÂÀt±…ŸÚ¦@ n0Îlî¯8EcL¿Ö` dþ-ó•2ƒ ù |bªHÃ.ÿaŒ$Ây@GŸº±‰O$á1É@Å?’1ml"X›@ `€Dc¡Ð€ Dä °jl‚M€ŒBâÓ%8Un™‰†?ÞñYô½xøà˜ÿÀÀ­p•«µŠ OøÀEå¬gA+¤ø1½AþiU!"Ç*ˆB,Œn¼ µZìáLl1ðÇ1ÌpN¨`mÿ°3~P B°…#ÁF@‚…íhÁ%ŠÉ˜TNá&0²á.îzWy0‚L F4Æ  (èÀ ¸“+°˜2ð {QÖÂÚV,6†ZÇØbeÀd RñªÄ‹¡š=x±Þö¾×ZXÀ°Á… ¨íÞp‡ûGä]•8¡ ‡ÚhìøñÛÀáÁuð½ˆ-lðnH§pwІ¡LìÁ©‹!@|à†Å @ÿmQ^ Ê°F˜–18Ï?ØìfÁ<0’áƒÈ9F!Þ¸C$Ò°äÓ>F °†?ðà´t© 0Œ­%h™Ë^¶ß´ç/¨íÏt¡‹ÌêÏh7þЀà|j¬ÿÁ“‹ú¶Ø-&”þäô! @ðà Æ¢ÙÛ4v‚3ÔÂÛØ´š÷¬çf6“Q\Œm¬.NYCO{m&ð3ô(rÚHX¹pí.A°bYÀ³MÑc ùæ·?‚ÀŽŽ<äÖRÕý µå\;ÿGÏNö˼ú6DgL,ÐB¬½Ï/ÐcóѽY½³P„ÐŒR[kä ˆEÂ`H¤ƒÛ{n¹ÚÞw øC =àÅ( É˜Mœ¢‰ÿ¶?0.ÜAeÄÐ}UÐv1•(€@€ ÐíÓËõE¹vkBzç»ß ÷Œ=¼ ãxs :ÿùоìÈO&Ã;´GCô8³€PøcÜÄ/$¡ sÜn¿Z‚ÿ2ü‘†_ÌÃÖjþ?Ü@‡ Xb’H0fÚ:´Ùþ‹?õ­¿ˆ˜C’À ²@B¡CÝðø÷ú‡;0’° rpS‹QþðeC·‹Á £@ †À Pò¿Ð& Kðî ãW~çg-¶`}€] è€(É—ƒ•ã\ÅÑr×p-`°™S-0t ÐN w€y°-À €ô>¸`„€„±JH†‹…G˜„ÿpNà„ ðÀd†kˆyÿÐ%ðƒŒ!Õ°_Œ1{°ë@R H "‚ÿø`ˆ0€K{Ð {Ð)À UpTh…X¸Àm(†hÈx¨‡|¨ƒ:xvÔ!”&  Pßå=@‹ÐWH‹ð]³¨p;0¢U±ÇŠÊhËz  ËÒø1Íø ÐÓ˜ÊèŠÚØÞˆdÕøâ8Ž ŽäxŽèˆvæH P K”Žð ܸc#Iñx÷1úq(<ˆþÈúxüø)iY ™Y ¹ùë8 O°{y‘ÙÑòÑ*àþ` … ‰9’Ô¡‘íñûð þðip $ù’Î!YÃ!0 ‘oÿ“:™þPçõ!=SE@;Y”ÅQí`2ràл JF•ÀÑ"Rà”àAR¹•Û4‘Ò’€ \9–°æ•Õ@€d¹–²a’ó!†l—°á–rY—’B—v™—B‚—zÙ——§Q×`„ùˆ ²õà—ñ˜¦ñ Ãàù X” B@sŠ‰ŽŒYþPЙ`Fˆ Ûö=à·×Á¦é=ß‘™¤Nä⇠g°U ™ |ƒÕ t –€ŠË h R ³Y›Á„›º¹‰ˆ›Áy‡q@œðU |@ú2Œ€À 'ÿ–@™ÿÀ PÊ)òA0 ™ “Y0wÀ™àÇçh@õPqéX I Üp YÐR²™ ÖQ ²À cð£Ö®ù#JÀ‚àà  ¤ð'°¿0p ¸ >@Hp£€ ÿPÔ Z` Â%Š¡Ê¡ ¢‘”ð ZP Æ 8J -ºìãÔðgð”p¶m°Y° Ú ŠP `±Z0ªÀ rÖ ç Ïàbç  ¶Ð ´‡çC5u`±ø× ¡ú`ÏÁ µÐVФb7- ®Q§®f–h·Þà ñÿð ÷ð.`6ÿÐð70ð cS €sð w( Iôš…©JH©–Š© Êƒ° 4p õðªLp P >°þ@Ú$ p¦úð Xp¸à{`ß$=p¨sÔmI9pÓÀ àõÀ púIŽàœGkˆ§ªA À`T8Èd‚}"ÿðû  à«™ìz&ýØp<à ®àr€yÜĉð£ Ý° Êäp´ac(qÂð Bs°‹‘° Û°R–3ÀÞ²Œq~¦±@‹QB#2› mþ°Fþp‚V <ÿ° »ðe ²õz²f¤ñè>#ø`‹³0à ÿ "Ð{àGZÿÀ M _0 á „B Ö€´‹‘µ²Zm` µ@¨àbù 0"P¸MÐwp@¨Œ¶·ô0  µM€ )@ /Ðep¡å¶M€µhË  H«´MÀÀ µ[»ÇàÆB°†ºðZôÀ= ‡ +Gà—pØÐ À€«N›À à’ÿà 0`ºI»´Mû´“*¶ô žñ ¢k³æîvzÿàì` pEµð‚€“_ £l‹ÿá¼Ð+½RÃq qçK.ܾÞ&2O6— yS:° ®–0ÝVmþоŒ16÷8'êºòP wµà}nà›Pïà„j> luz€½ ×P Ýs½°üà¤p7ŠàòàWx°?à 3À‹FD!àôÐÀ>€ ^ ;°L WY xà .àTÐF¤H2™Ê0 8µ ÐÀSP þÀÜÁÝSM ½€ #@5þàÀ~ °•¢ÃàÅàŒ ð ”VÅ>@ l cþ  ÿ µ ¢Ð `ÇÁ©`Â^ÿ – ÷¯rwµUb¥ Ócqp(¾°s ÿðhG›`ªD7É•Aþ „ÿ` E€Ê=°–ʸvsN¶lôûw‰Ð ¨3"•fŠ7þ07®ã(Z·àmÿ :²ðIàeþ@€5‡°>²àè+ EÅG;GóWùÙ¤2àVP99esºS@'ÿp’@¨Q& Nð}àÄ ˆ"~ä#öp ÒÜÌþÐ%ð® ÍÜlTÇ@ þÀ eP9ÿ€`j¬6NU½ ±à@¤:ÕÍþɈ’ þ@Ñ9άÒÿ0ÎþÊK.ö&¡P8‡Òá °d# ¢€µÀ…³Ó=ýÓA­8‹a3À e° hÕÝPáà0ðÔák ‹a PÖgýÂg-(ð 0°·ÐÍ0Ö}ö0@Ë@ ¯uã1.ˆÒ(‘s cu(±£:Àê,ðÊ àÝó)Nã4ârª£²ˆR3O†gÊöÑur(,Ð`ãÃím þ€c€}PàXù† ÛàmÆë‹16ÆŽìÿ$Ð= •P9Ø@&G`9ø `“‰ ¦à@öîëíkjh ¢ 'ÙÎn Šˆê@{™ÁQdð¨Ðöò¸P¸‹:ÿ: r¸1 ‚0ó:Ðbà ˜¨IšÀk ¬1J órðâ´@}@´ðQ1N À®v sPL[¿ §`$Q€ 1 „ ˜ V  >ÿ† ôCÜ€kÐr°$Òp pð ~ÐHð “¿ PH0 ÑPõxOó6óWŸõ` ðà|p™_ó7¿ °ôZ¼!ß@$$?`7š4ès ³hŒÀB`Ũû ð)9Ð7•U`Fðâ¿ŸFN~Ož´o¤Íï@9ð†].—²ÿüct‡“è ¦ û³¨•ÅoFô7Ðwz”®9°F9€š Jüûç@Àpá¿@€4ˆP!Ã&äØÑãG‚þü YÒäI”)U¢¼``åK˜1eΤYÓæMœ9uîä©¿=0 ˆ<ÐÓèÑ—"I"eÚÔéS¨Q¥N¥Z• rZÁ¤¥E -«ae*[ÖìY´iÕ®µ aa˜ ˜Àv-Y»yõîåÛ×ï_À0ñ.[áaĉ/f¼spã¨Èè@¦\Ùòå¿1¥âoógСEÕ<çϦU¯fݺtk™¨aϦ]{ñÿkÛ)eçæÝÛ·YÜ¿?î^Üøq"© 7IœùsèÑ=úûVL:Á:%ò}+á¤Âuðá}S| âÔy €@ü{ø­Õù“~ƒH‘Àâïç:¸qÆÁ/ˆþ 4°±ÿŒ#E$@8ðA3)¼7òð‡”3Ô­[&76< lÀ‚£PqE÷þY ÅŽXqÅ8‚À ˆqF;jFy„KÆARG9’ñ;ŽX.Û:,΂ID4N @¡äšcœ  ‚ŠPâ£`¾3L@J²T#§1É„èC\éË5éù'M1µ¡ç0‚xÿd…8Á †£`f˜§#f˜#7)…Cà+…‹\¶Ø ˜lôøg†TPUÕ:BBá£6VXUÕ3?xf‘ ¶˜Ã RBÕRüYµÕÖXE›y–ùÕYïø'ÖUÑ&‚"€D\rµå]jƒˆý'IfÀtÂNÓM‚Ô ¡>P)ÉŸ†#á£:²™FÉKjðŸv9ª‚uŠØâ£xííHŒÔy'Ž°E•º˜A1°c&Î]J]-«ƒ¾(  ŠÈgÞz=€˜tÂ#Ô𨀀9*EUL@xe—a樆Ô訯#òàæŸ(˜D‚ЀŽ£Dÿ7d¬!“r’0¤‚è…²)h‚#z‡‹¥l²ÿ Á\”piƒžpá±Ëvsm €!fBÊfƒeµ`š€kÒHàxÎø êÚ2Ízr½‚P¡±'åoñ ÿIÛåw>÷ü?îIIn˜èüs7KG$–]îhÑV>ºÇÃAð'•rÚ$§üx´ èàh&””±y`úŠ ©åŽ`úéÿ±¢€ÀåæœS"@zêÝÜþ&8ɘ Ìùh+ÿ‡$È£‚á=Fþ¿4£ygyåÎe³øˆüÁ„Žäâ^aÝK‚á\‚#•xÅòü€ÿ†$¤þ0ƒý>p„6$Â~Vû_ÀðÄ0†;qÁÑs7“t ‚<“cø£-A’°Š[`"9%º/4ñ`ÿ ‚0¤¸zC…A jXxDåCI–ã*#˜‚5Òjð #ø>A*ª‘þØFàÒè?¿¼‚ $!wÒƒGÔ„A`Š`Œà%ØC#ƒÀ€’ð"„ ÐC#1ù,ŒAŸüG+dq ¼Â#R€Äa’€,€ã úðÄhð`Ü»Üå£þQ eð„ Š3üãìІ>®Ž„ /¨EL€1†ÿŒA?IE/ôV°ÀúG$À$mþãà¨þ‘Nf¦= '=O2I~dÖ;@>€ŽìSŸùôÈ°‡< £ H &P„bÁzQ:š´füáY@3”0Q0$¡#ýœè"’ücÿþ`Ä?, “ðÃGðˆ'Db¸ø‹#¼@C7T÷DâG@ì?pæŒ~Db9ýûÇq‹H|Á¥»ŒñÄâh¤@¸)0Až‘LÃ%XA$ÈA pø n ‚+ú0 Ì‚ËDÖà7øú«èF]0‹t¢ðH û)ø®ÅlIr!ht¤sðG;4À´Ž°¡û€ÚºÐ9Ì¡¼ô-‚ÚPôO €ÈE!´Ð9ñVÃzñmXüˆ"„¸ºÃD°•Mà Pç#DÊ´}Ô5ˆKs ä6UÔõþ°À?Ð 9$ˆ ( PÀ %¸€œ5ü‡ DR)È€ €" &´ Vhð/Xž*`B|(ZØÂŽÀ¡ŽHhRª‹!L€Å!Bÿ¤iC;s€YPƒy¸‚0‚W8:‚0"Ø—@mè„10U¾ÇJ‚ÙË„Fø‡8˜Œ’XH3‚ 5G„DAÖëD‚ð¨>¸‡Cø;È” P‚x^à÷JÔ Úú ¨dðŽ .Ø[¡M|8O<Æ—ƒ\#ˆX8Jh%)ˆ…êû"€64_p¯'è´AÈE wøNÀ‡°9ƒZ`AbTNDƨ»M€ÿ∠‚x… #RP<0`’ÇÚÐpoìˆ+P¶p…°‘‚=ȃÜIÈNYGvl¸ÿ zðpx„0àˆ1Ø…tðˆ ¨o q „Íy,}ˆ„HðOðŠ´¬¯[ƒ>ð€"’XJHÇt±È‹$¶º0B(°:uògQ’ÅIÐG2DLÈ‚,ø‚ˆŸ$ˆ{ø„)60D¿Q€- žŸ4Æè0\H ô ?¨„Ž£Nc¹À¨é´§ê´3Ñ·À"~ày.H™¥¸Éf@ËŠTKè¸8x˾"X80YDìù“²Ž`ƒP$ˆ`ªÑÉðp`ƒ(¨¯`öæ³& ø鎆)ƒ YTœÙLŽÂ€1? [Ý`—kð‡i˜‹i˜‡¢ø®ð~h‡D`ÅÒSrx ëÑ瘀O8ƒ¨€`ð! {X,`6‚ Q`±=€uŽ ƒ °€!pÑwuX[P„ ¥˜ò!÷ŒáIH2H ý‡ò唘·„r~i7¹àô`r˜®'»“š Ìj€[ðnŽ¸¬[ÐÔ°=ƒì@Ìúº€𠉆žDÁ¬˜óÔpºð‡æL…_ðthµ¨ƒÿDˆ!Q@ri𚸱‰fxD@DИ{ P`‚è@ ã¤i¾K‡^x„€„@ð_ØxeH¼JXx„[ bx8`„¥éˆ>¨ŽÐ7„>à5Ã*=Õ¨aM°­t€b`0ð5¬9Є,èé ÈMø2ô pFè‚0[Є8Àþë'2àWÛˆdô„©vNBMÿþ i£©…Xš,¬¸P‰1.X± –}qcp‘&,²léò%̘2gÒ¬isatŠtü›ÓOÆÊ š`m€åjCÅþ~Y¸­¢OæÆðÛÀFƈ… ³e©çÏlÒ¥ë±òŸRéHˆÖ¯¿Z€‘T¦L£h%nòíë÷/à™þü l¸/‚ÿ3nüÏ_Ç’'S®lÙo _`°¸FÌ–ü}áÊ%gÿˆáÀ¢ ^6c£Aƒ0>Òȃ/êüSæß5m+VhóWé2ô耖ný:åvš±sïîý;Ì&þ(‚_c•þü3 €qæ,xõT"LÜ¡‚|Å— ƒ@ôƒJ8!MtÐ@»½g‚ Pø¡E ‚(þt2"Š)ª¸"‹•‰Ø"w#5Úx#Š/âx™ŒÕíø#A ߌбáŽ=¹$“M: “Ž”’ÑJ>y%–YÚådd‘ZŠ9ÿ&™ r)™—82áeºù&œÞéXš5bÁ4þœ!ˆ}qúù' †ÍÙX4æ0…2þhÃÂ:ú(¤/ ÊX¡4n3Ø`jDº)§€NzX¥0ê)$šz*™Ÿj‹-Ä2بÊ:k“ªÆB¬7âÏ´úú뎶Év6¦âÏÀ*»ìŠÂþuL;À³ÕZ+¡³pFq-·ÝÞ—­·áŠ;®¤a’{.ºé¶®ºíº+ë`2¼;/½Õúó)õ껯¬ïD‚Lt(äÀ/Á¯‰?TDG •;ü°™æVÆj_ÇL£ÆÜ8àèÇLv‡‹ »7Q¬ 1Ë­€¯£%N6ÿO#ËLYÉ6|“?l,°3*þ,Á?4x¸P4T±Ð@·`KEßô?@ ]QÑG»Ñ%@à ]‡ 3pÃÀ !AÐÑþã•@Óð4”ýO7Ô…?/½÷BÐð‹-”·Ý •ÐÙ×O“Û€w¤rC .p÷€ Ð°Ø ©@Qµ[JLÙÍ6ùaEþlA:Ò|±ëH3É5¸@ÅócÎYp";qØǺë°ËN;€ EaÈì–ìÀ‹00w”A )X´áŽ+-,$,r….Œ$Ë?ìqŠ4ijñ?ÁàÒ†4§l›Ãî0BÿHß,©Ï¾û6¦GHc "NBài8b[×àÃ?¨À†2¸Ã}ò–r± Dc„@Äu²b,cE ¨F)Š‘1<å É¢“•ÀÔ¬&¥«‰?È` þè?À‡\ü£·Æ¡ŠzlÀ @D#|PTàžhƒ!Fá†Ç‘ˆFD¢§X‘ŒCˆóð/ÈŠ8ˆ¢ ¢x 5Ñ<¢Èƒ,ƒ< ½P†"JA¼A]Ø60áþCÝFT¡Œˆ"¢p„>úgC"R‘èA, ‡[ø )C;æ€@LR¦ôÇ ! IlÑÿ[`?ZQÌÂ: h¼a…YÁ1ü‡ >@8S¤§¹Ì/5º.}IP“0„!¼! z<†9ƒ0” x#2jÏ?Já‰Ô¡öQ@3ŽÐÍo†sœå´ˆºµ,"ŸmûG1GàR,ŠÐã 2€Oxh þ@ÁBroüãf 3 €‡…øÂ…è? ¡ÉŠL´¢…Á9<°´£:sàÆ?0`‡¾ 0þˆÃBÖ!OoÁÂ*µ:1/t?p2 ËÑ9(h±@#™*4ž`9`Â=øA¤8ô@q.p„à…ä1À.ÿA¤ºÊ•ÀLØM–úœõ `êBœÀ Îüè.PÀ fCU«.Dþ(ƒ\%€þõ +XPëÆ°‡O¨Àrxæ {Ô (uÿ0^S/0ac†Mª^¹êU ù¥†4¹!MüAMl¢¨ð?žP‘#c”  B!£ŠH 7ÈB5&±üÑ‹b~XȈ G°áøØÁt 4ðÂ"'`ÇøqŽq å&.…ÚÁ†;œ ;PÑw°{ìà ÙCÀ SLÀÃ; D'TAÃ8+|(‡?úaŽÁñÍ!H3b€ 4x³ïðG3¬@ FÔ` r3*DŒ xC[Ì)²@ B ÀÍ!ñr¼c«Õvšhª& 3°.TÏ‚w°Ä0 Á¯øÊq„p´Ô…oEZýêXOÃ"R8èB „c{ítÀþGMšÞ¤w¹-/^‡2Œa÷­ŽŒøÿVëÿþ#ÛÛîöfñã…|£0ˆ8 áS4ø1Õ¤v¸óº–8ö ð&þáXjxAþˆˆ{?Føãbð‡:š…p#g?PG%‚áÜ âòB;\ñuøCSƒ!2üá]‹lÂûƒ*<ä^.Ôà!h;àÄÇø£@LÇBŒÑËa\àN¤‚"¾q‰/¤öG ðƒÁÜ€o‹àù^€F,DbØ3^èXJÜm€Ã`þAïÈØ/»4Îq¨•ÚG–ñHiˆêÔ¡ hèÚÂ'#=``ìH†z˱±7$!ö®ˆß>‹l@¬àáˆQyÿbà ¯0ó£­ÞiWû½(‚;$bŒ‰CÜþ0Ã+,¸‚ܨW}Ž@À]( ßT}ÔûÙøö–Jé’]ôÏ>P¯?Ì;Hʨ—Rð‡ îáBXÂyä?4Ã'ì—ÿh.uÇÀ¦dÁ`Àúš’Àøãÿ dþ!#aüã)oF x%`Ú‚4H@?,ôCÿ=Âöu_½P* B&ÑÖ€&4AsõÔ_øÃ7ÜÁ2DBY)ÅS ’p¥]6<” @Ÿô-RùI“ÝU†l‹ ä]êäƒ'”‚&¼ÂÈ(Ì&„RˆÁ4B)<ÿs ÀCUDþ`ÚÝðÀ0”"¨B4\á6”¨B<HyÀþCüT. ¼ t‚0 ÂLÁ3°ÃB˜!öM "B&Ê!²ÜÂ*”Â& ¼üÀˆ•‚+Pàa¢áOu =øÃ&ø¦Rý}‰ŒPW'AôáÀdý9CEȈù…â?„€Ÿ½b,¦+þà ÄýIÀ?t`DÈ ,øÃ$ÐÀGÚ=FH„TƒÖé¢R°)Æ€)f. þý!BA)ðOÿПX€?dŸ4@Ÿ'[Ú †T¼P'B|±" ~È*à EÔÿ£E˜€(˜ƒþ ð€T„9lyA"T>V„>ò£?²DÄÁÌ€,D´ Tä?,¤ðÄ?èÀº¤ò¬BEÔã´Á €üÜ?täH.D%Ì€4,I²ÄI¦äJæÀ hC$´É?ìÁ=A3ÐÀ2€K.¤HzKZhýƒ hÊøC$€?LÁ?€?À?à’.6—wi%ˆ”;4À,Î@äÀ´á˜XþC+øùA.a]\.@8ý¥À? ÃçŸÊ-„=øÃ>Á„Ì`€`â?ä¤Ì@ÎdåV.D5øCYžå?ÄÁ"N.Xÿà`ü€ øÃ<À`ÄPË¡C¼‚?0Á„Á ‰eWúƒ.¦ ø*0ÀØmz¥[NÝ Éœ8C#¼Ѐ1èRÁè$ƒd@ C¬¬'Ø€ x \4@2\Á@jÀ$C|'ÐÀ0¤)ôÁ@.€"&¨DÁ„B%˜g2<À8B›E %Œ°O@‚'à`=øÃ0ýÈ°<øÃ3®„C&L‚5ìlðÀ ð÷ÀôÂBÐÿ@94ÂUÝA¸Ák @(øîÖd‚„i‰ÛþÈŒÉb°uìWèÞyÀ¾­ZK €ã±4ø`ýC5œqg0ìÅüɱB­ñBô×?Â7°Äà°zÍÂ0äWøC5dq–lñsÇl𨠴uR'`™pRÁ&Sç?ÃvÉ„µ±„#ÀA<ð-Õjò&+(g€@ƒ#ŒÃB\.´Ä;ˆ*µÁ@˜Ô#c‰#Gò¯Ð |<‚.tp‚D³¬ߥñHs4ÿ6ðÀLœ² A³4+Ô5{€6¼Â6èâcDKðÀRÛ ÂnÌÀÿŸ˜³1ÏŠ5¶9Hƒ$Œ!Xƒ´ÀÔµ¥±0t@ÿ*$”E\Ä®b»ÂÄ?#´B´ðÀ>ìëBdƒsZ„ Âè!ÀˆÁøCгSp`üëCß³©øB±ÄM¯Kø±Äü"KðÁ.0îB0ÁûY„7ß–«Sƒ,˜é?\3U„øáÛ$¸‚ lJ7²JÆ\vô_` ¨Xƒµc<€¦ŒÝ]Í?9u·Æ+= CÙ$À1 ´QÁÔu]'@Dm€]3î$Á^ÀÙƒSà(°ÄPÏ„è°„)?äJ0ŒÂàu±b‚8  ¾YÁ œBÀ]ÿ51gõ_ÈÑöE/D6Wâa¤jóE€À¼Á 8Á1À¼6PvK€€ïâM¼ö•Ààö\CL@[D8‚À†A-, A!hÃÄ ˆ€u[7êøƒ,\·,¬w‹€üƒ A ,C7<Ó.EôK¸²üòGô‚j@ƃUÄÐüÜ€å(@ôÁ"¼Ô”À„AXt€Ó€™•€ Pú5„NÿÁ£gü°Ä`AdR£€cD7€$„€E ¸?l›מÀ!(Âlüà LCLCèȦOC×ß,A°ãÀÌüÀœ:e8»|8À˜§ WB‡dƒ6x‚·?GK·{;+G”ÎìÌ<?øƒ‡†Á>ÈBÿ'¼är:õÂ0p‚Ù¹Ã;äÁ(`mß”B7ä;DÂJ8@ ÃpÂ>ØCMøuÉHDGü'œu"Ôyˆ¬WD3<ÔÂ(„Bü?îÀ3Œ‚*„¾U; Á<Ã8‡KW¬?´CQOÆ B3üÐYK¨Ð}Y‡È*‚ÒÂ@š'´ø/¨ƒMÂ3 EÏüر<Ár @ Eq 4ú<øÀ «cœƒ?$9Å¿øAò¡ÓB Â5 ÁV:€Ý@5̳ÏÁ·±pÉH̾YÚ"èôÍ l;Á Rˆ?À)dþ)8ÿü?Ì@&\gÀ€Ì€ü©CóMêÀ×3ôc \A5B4A ”;ÏÙƒP%tkÜ»„ dÀQnÆ‚? C ÖÀ%-DÁ5À"õùÄÚÀ.à $ÁÂ:8‚\G¾À’b|O©º„ÜÑ„C-¤'ŒÃ´5ÿ?òÝ×Ãÿã@7°Cæ³C}ê„?D¤Öü3XÀŸ?ƒ/Lpf„¯„J0Ïß«S  `Í­lªŠø+ðáB„ÿMçêÔ)Fˆ8Ö´ygN;yöôùhPŽª(QrãÁ?3jŽ²Ð -%‚FàlñGÖlÅiÀÿÇ'8vzmZµkw&´ÈnÛ 6"öŠÖ?B¯X,s©ãG” šLɲðIª<`äfÂ'568ùŸGÑ•ów¨¢ÁãÖÄ 9LGøã38ŒA-œXºš´°J‹¸»y÷ö½Óž.DnaÀë›™…\™2HƒX"W4-¸‰&’íð ý[´§²òâkd{“ b·8eB®0ƒ2ðÂ@XìJYÓžö7“Emo*Ð9¬ƒåxEB˜á‰eh¢=WÛ[ßê©¿•Wp¡zÁƒ<'’Áv#PDÄ<‰8Zð ƒYà^8³@›\`X‰€˜ó‘ˆû¥590² À xÀІ$ +0}yÌ癋)çq@̈ΰüx"€ÅÁdŽ_ö¦p«¯9”Xˆ,œñt–œBÁÂ&*¸&ì !ËÈAd ?½ƒ *¸Bîä Yüÿ£í,ð‡'êp†ŒXâv7ˆ ðPxJl"…)„?>á\À¡ð‡,’ð–”@]ã7Æ|Z0Œ|>gsA.éõ”0C&jb†Wð d@%`š„Oh Ëx‘ -üã4ÿHBÌA†müáPà'€ÏI hA Hà þÑ=)½ðÃü (ÄãÆ|Äæ}(ue@Ÿ~ÍåQXòôÀ8 øÄ‘`Ä"bBðÇ$–ˆ…Ä¢B ŠX‚ðåj  ¢rÁ榬a Zad á6 ¢Þ‚XüdÈüŠ­ãl‚ý°Èýþ bü¡ÿL#Š ƒ E â1p¡è ~ÀjA¢Z"ý )²a fðjp!^ð(‰­w¦ òLÏ ²`À`l"†aÍ G$& "†anð#œ1NðŠ!2`!(Àj‚Æðʪڥ uMóöð'zG$Á {,â;À¸ l‚$ád¡g€™ l…ßb yÐ ŽÁ¦Á 1*! æá*á ,±É°;üžpØ>ÀãlBÒ ¤Eø  X$ÿAü¡n¢ $†¡ tàqè ô.þ˜ÿÏd³ñ€Q " Fa X€•@<ÀXà º`à>b fP 8‰È}M’Ç& Èá8° qÂ!'‚ *AldP!›¨j  Ò Âð òò"ù1 ² >²ÌdRlx¡€€,² Þå©'[òÞ`øÑ'œ®%««oò7ìÀè`E|‚P'Që%ïñÀ–(¢ÀL†’(s’)Ÿ²ØB€*«Ò*¯+±R ²’+»Ò+»r+¿R,¿2,ÇÒ,Ͳ,ÏR-Ár-Û’+ÓÒ-É2.ç’*á’.ÕÒ.ïò*óR/Å’/ûÒ+Oÿ²/“+%Í01““1Ó1 s1S232'Ó2³2/S3337Ó3¢3?“2E“4C“4-Ó4OSÒRS5“5[s4a“3=3 ;PK°n: wNrNPK\8–AOEBPS/img/clisvr.gifð2ÍGIF89a;÷€€€@@@ÀÀÀàààÐÐÐðððÔÔÔøøøüüüØØØÜÜÜåååçççôôôëëëïïïÏÏÏ    ÓÓÓÖÖÖ×××ÒÒÒÑÑÑöööÎÎÎùùùÕÕÕýýýûûûúúú÷÷÷þþþÞÞÞpppîîîÚÚÚòòò000ÙÙÙããã```ìììâââõõõ°°°ÝÝÝêêêèèèáááæææäääÛÛÛPPPéééßßßóóóñññ???;;;±±±¢¢¢vvv<<<,,,:::¶¶¶………XXX”””===ggg777888nnn666tttµµµ´´´999sssJJJ¬¬¬«««mmm®®® ¨¨¨qqq§§§ÄÄÄ***+++­­­ooo)))---¦¦¦¸¸¸²²²[[[xxxcccuuuwww···FFF}}}VVVrrrÇÇLjˆˆ¯¯¯yyyƒƒƒdddÌÌÌ–––ÂÂÂÁÁÁZZZ¾¾¾zzz———ŠŠŠ¥¥¥KKKÈÈÈ•••jjj~~~žžžÍÍÍ„„„½½½444___HHHÊÊÊiii©©©aaa¹¹¹ººº|||³³³ÃÃÃAAA™™™ÆÆÆ\\\LLL>>>fff˜˜˜ËËˉ‰‰WWWeee...ªªª&&&‘‘‘RRRUUU^^^ššš’’’ŒŒŒDDD‚‚‚IIIMMM¿¿¿NNNEEEOOO{{{kkk›››CCC]]]hhh(((£££»»»ÅÅÅ“““ŽŽŽ¼¼¼ ¤¤¤GGGSSS¡¡¡‡‡‡íííÿÿÿ!ù,;ÿ­ H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(S–$ !Ë*cÊœI³&H ªUS``€j-¶ŒøҦѣH“n” ³iµžÖ„F*QªÒ«X³j-ÓÆ€#t˜:”¢U­hÓªEÉTLªí kmDÄõ*Ю‹Ÿ6`ŽÈyBÂÚÈg kƒ ˱R¥†m:AàÏœ:ULÕ U±çÏ þì\02Ð;8QÍðÏ\ì´L5´íÛŠG#4-€é²5ÿt!P'í²¸“+¿jãénªB8Õ€®5ãÖ—kßNSú ‚~éFÿ¯€y®kc?˽½{’t_ 2t Á€×êúÚï(`G—0yÇ‘U€N;ÀZzCýÀXVh!EÄÕl J%݆0ùW@*pvá‰(6TÀ°Ã[ÖH0aŒ3ÆhC#¼%#…æ $#r))äDiä‘H&©ä’L6éä“PF)å”TViå•ApÞ–\véå—`†)æ˜d–iæ™h¦©æšl¶éæ›g y-Öiçxæ©çž|öé矀*è „j衈&ªhŸ<͉壖ç(¤”n'鈕fšÜ¥švj§ž†š“ŠjªZ žªjV©®ê*R­¾ÿ*+M±ÎjkJµÞª+I¹îêëG½¾Ê’œÄkì±ÈÊù+AÁ9¬œ.t©çtÔVkíµØb«g—Ke³í=»¥˜Y‹ç^v›¬œn´ßºDÛ¥]wb«€[‹—à*V€œ2 B‹¬Q{Bèš× ±í¦ø.ÀçÑ@ÁÓ€ æ© £¥¤bšØ»æ üÓtužç»ª>|Þ”K]6˜wrÞõK“œæÝèòÁ1p2Ë&mÈ;uoy¤ÍjÇGý+ãNŒ±ºA‡Ä’ŒSL^ÌÝn|”Íí€]˜Ý;µjUÛôo´—}1©4ÇvFì`WS0û¬tÚYÿÀöÈäРÜL[½ƒ O³ qó šØ6|‚ ƒ—4÷C0²â¤zíx{uÛ ay.x¾Ñå  ¹N'ŒÀ8nZFŽJõUuÍþ[r¸0‚äìËê  B\ ¨ é¡ÍYóévØAd^ÐoÛñ;©@œFÄë§W5Œ üvÐÇ.Qöag;DR©ÿ#ÄU~ã?@‰ ˜¿ÝØ… ÷/á©ny)àŠ¸¢jœhØzòÕ OY.à@°£,ý°aª#•@Àp   0-}ï3ôëÊÞr¹”hD_¹ ½ì•H'ËœÿN ¡ïÌ©)@¹8˜¦æ:ÕhÎNöE=L)щÙS„Ó”ŽáŽ)MÑŒ5¤#Åjì.4ˆ‹ ˜Ç¹@ xb{ö2™ý zmù]54sÄÖå„q7$5š³œ¤ÇŒ—‰NxÜU.Q¬£5rb ±¤qrBjöx Ã|È?d#bÒ¨€*lo Ì{†H"¹ôARáʈæä–º8‡}>Átz¢k°¦%ò±Æ‚0õHVZ£D;žx¨=鈑)Õ‘î~™è!`›€ߣEA¾²:œ1O\2©Ë["È ª³ANxY›°ô¤zÔ|d7­‘…™°¬Æ÷†9ÿFçd7*¨%ü ·Ùˆ29»LâT-ræÅœ¸Ï"YÃΡ$´zRydB ’¸qÒzg1ÎFÙƒ›8æ  ÙÁw$ÝeΡÐËIñΙP\ 35ý¬h+çR½¸àE£fÈKesûܳ%ÐkÎQ£€œ&h9å9i©‚S&gN‘>¿9H¹³Eÿ¢)DŠ»æ°³1²ü©WiYbÎ’|Z–s2t¤"H‹ålÌH¯y›øœ¯!`Ì_¹c?ûYƒ«²!Ï^+Öž1¢ÖØä¤ÈNæ¤2P$OfÚÊYk–|1Ú vOð²¤uê?m“ʪ t!Ëü44ìÿ-w“q L²·Ñd2­Ë'.KE¹Pç-´h»¯‚ÙÀ¬‡‹G¨!“ª–¤ ÙÁ½*š×.D:8 P UÄ‹ à¯BùAŒs^‡Œ×1øCK䊚Ż ÀO&ð¢Sa·z*À%ïR‘ðà‡6xa§þë±L¹à‡*°jñë9Wñ­Òõ Ò¢J Xì/FÂWJ±u¥ûœ‘b£Gòhðt¦ˆï$7 «øB½k1Š¹;/ä_šËɽ|–á{¦wA¦ŽÏxl?„2ju0ÆB##f?vÙ½jø¤^9z ·ä'ž1þñ4_ù’47 Ìs¸ñHñüm8/ Ñ3 ôM×¼’H ÓûõFq=hX¿JÕ‡Äït³=’hïÙGö6ñ½gx:Ý ø5¾bˆÏßã#ÊO óÑgü¾#×Rš¾vœ}kg²½¯>ÿºßnñIûËá~ôÿnþ!¡_9êo¿Q ³zÌ6c’ÞUùgäùÑC –Û´zàW|—ç±g.N¸³G-  iAI„k!?qB!ŸAWN![M‚ëÅ€6Å) =ðò‚0ƒr’[©!ƒ6xƒ/h&¸A ¨L˜sNÑ‚ùÓmDX„Fx„H˜„Ô¢ƒ ȶ^£^ A4“g±‚?¸€÷e`„YuÇ€±ƒU€sF8±xÅX¸sEäñZD¶Õ„Yˆ+U6úçx`ØbE´q/&²I0:j(L„ÑH‘EqaD@8Bÿ8P:(P_È„añQKl%M´ñâC` &>_ꈨšŸªš_îi4êbOýD>È£\¬q/Q£ÃD?Ý£`Áy€z…@ƒðú‚o¸E±I˜/zŠ `·Ú •x¡E‰šUž…Oaª¨ò¥2ª"%¢ T*njFiéøyzùªyÛ<}šIMµWvU°¤LûS.µ$ñQšÿ¸’Õš˜D¥·²¯w­T¥¦“±Gÿ4×E°ÚjŒ›´1¦2šÈ‚0k²¡8–iûzaH­ Z6»±Ä’³»³±cDîôQÅ™´BU´9þéµ ±´–¡ŸqC0±A•±×QKZ2û«‘¿áQ­´›A¶ë'F¹fû{Ø&dRV¯êÍq£Õ¶þ$´$HbZ¸0!ɳ:%[•¯}¹˜L9”h›D$»/n‹°¬3¹ÛR®Ÿ&<[§O5| ¶ñ·¶‡ù¹5)#ºcÁ» ¤»oá»Ê娴BÇFº“à #û¡o²)»ÚJ¶Ÿ¸ˆÉ$·Ù|¶k¥d¹¹áw¯¿8ž1ÿч-bšýs…³FÊõš 0.°\å;B¬I‚k—½2KÐ[®ÒËŒ@û‰MÑ´$£;Y¥jvôë¹à«רŒZAŒµ¥ \"Úy©óë½yÀ)q»¥I,æ˜ Ð#Ÿz:±ŠÁ-¹•÷ ©ùkE4Uné¸ • ŒÂt‰»Br½ ÁA’GGÃ:»¢æaÂRiÓ©ÂÜÛ<\ÜÈYÙ#ÃÕ¥‡å¨.Ú¹[ˆÄ‚ÙÂ_ Ž^å[O¬³añ@ZdŸU\¥õ»‘+lZ\ˆ`TœÕV¸Åü»¿5lÅ€‰Å)½¶#?,’#2B…D#½ÈÏ 3êZÆ'q»ÿŒ´»q|ÅÛ›Å÷ÈwÉy<ÉFœ™‹|\r”ܘx\™˜lÇ lÉ¢ü²™L››l,Œ¤Ü ¡¼œÒK±Ÿ ˦,Ë£lÆË2ÑÊ\WË0z˽<ËŠA½8$:¼}ÀŒ¯¼¾Ä,—Ëü½ÍŒÀÏl¯¯ ?Ϧxڼ͂‘ÈÍà\(Þ|Íñk”wÎèœ&±—Î^RhìL&©Œ³cdÕ pä×oi¼$õìxªô|ÌWþ|cû\pm‘ÿ|"ýŒÐ С±Ð@™ÐÑÔ*ÑBÑÏhÑ‚ÑšÛÐ }Ï`©ÑÂÑD+ÒBÒë8Í(©*¶Ò —Ï÷)ÓIÿÓÚÑÒ'ìÑ ÒGÓHbÓPÅÓçÓGÔ'Ô GÔFbÔ›‚Ô*gÒ‘Ò1ï<Õ!óT}ÕXMÕîœÕ\ý%§9;áÖC'b]ÖfÖë{ÖjÍ'ÓZÌJ]$L}c]ÔÍ7s½Ôu6w ×y]5{M$q­b=$ý9ƒÍ/}4‡$…í8‹"m×o ؉½,"‘­×“MØ•ý+—ýÑ1÷Ù;ڛؤ Õ'ÚÝÙ¾¢ÚÍÚ»âÚ# Ûº"Û'MÛ·bÛQ}Ú:}rºmϼýÒ¸m+¿ÍÏÃ=+Å]pÁý9™í×¥ÍØÇ-+ÉÍÒÑý*ÓÍ1Ë­ÒÕí*×}ÓÛÿ½*ÝÔÙÍ7Í­ØÏ Ùß­*á}Ôã6åmÙçÙé}*ëÝÔí]5ïíÙñ Ú,Wß7ߦâß-à¢"àwßA“ß­½ß£Ýß ¾Ú¾, ÛþÚþ+^Û>Ûî+žÛ~Û¾+NÜ!¾ÛŽÚ gàMà¡ÂâçâžãŸQâÈ}âÀâ½-r4>r#®+6.Ý8nÜ?~+AnÝC®Ü:.ÜEn+GÎÝINÝM>+OÞQŽÝKÎÜ2Þ)=>*S.+U®ÞWîÝ_þ*aNßc.ÞY®Ýeî*gàiÎÞkNÞ[®)]Žruž)wžky^){~o^àqnßsîÞ}N)ÿ.sß}x䣰\>èÿ=4¸ß™˜>à"1L-AB^¥ç—~àC„Þ¨v1š‡E*‡§:Ë »50$øÇc“ËZ.—xÈÒ¹H¦[0¬\³ÑÆhê@)K}*®Õå=>E­:3Û°(K>“÷dFm~ŸÞâ#±\NQ[ 2×9´¶Ôܘ¡õ½$ëlN¾£!6@KuRŒ1ê2¹¬ÁÅõÚ<×ã(ñ†în'ª%(鉑 m«Å¹LJÙV¨±RûJÍ‘¤¾Áa|eð³n5;A`ቾš†5ZxÊTx]ØÕ½;þLóªÄÑñÃÄðe´Fe!‰ÿŽ*ߢ `Â3>á#‡#G¡é@û²a2óJÑ^L{…D ß|s<3UϪMgôJÁ¶ThÎÕqTôªWZŸï‰‘òÆ9õ`rNA¬d/ØN±ôšMЛåÛeŸ‰å¼ï¡%]=y%r÷z¿÷j"Z|÷räø†ø„rƒøj]hîŠïFöÂzŽõŸCùCnùŽƒùxZÁùe÷ÿúÓ+ú‰Fú´ìùŸQ•oúw†ún­úYûÐ,ûXAûÖlûIû‘éúfÆû€ëûVüµ«ûµÃúä1vÈÆÏÈÈŸÛ9!Ž‚ºõü¸üµŠ1¯ÈÿD•ŽýAü¬ÒPàŸýŒå‚ñšþÈâëÔ¡þîƒ|'þ¢!¬ô_ÿö/¬ñý¶,²Õª°VÐàA„ .dØP@µ†%N¤XÑâEŒ5NÀàCŒn$y€@J®\’åK˜1eΔØñ#Ä‹"i^, `àΕ.%ZÔ¨5›…VÔy´¡Šjœ^\:ÕêU¬ “Z«:±iVƒl€•Ø•ìY´4·šøõ¬€´-qÆ¥[·äÚ¹LGڵ˖ï_Àñ†Ü­_ÉëÎYXqVÄ%ƒelÑíd«‘1o>ZY/ç«šAVëQi^Š—I½ÚõJÏ©¿¦Ùšöÿ틱½ÎÆ Óvoà uKT<(jãÉ)oË[¹ÆßÏ“3oX\:Æè×Sgh]{Åìßos_è]|Yä篓Wh^=ÃðïI³Oè^~Âø÷9ÓGh_ÿÍÿÖ3«ôš p¢ü|Œ¿ƒü 0AcÐ ÿƒ0ÂÀ&,¨Bý.Äð/ ­áК\À•B`ER<ˆ€v À V|±EŠ<üЮ9”À'”$¸J "«Q!Å(2•ªFÈ « ÁjFÀÅ]ëÑ9…HN¨&%« 1«Ë¨&@Ÿrr ¥ÌQMl¸2ËÕ¶¬h#ë„Òš¦Ä/¢B*ÿ`ƃ2ÈfôI*étòÉ( ¤$°!Ï=ùÜÌÏåªü¸’DÉ…‚Na‚*Õ,ÒHTrLVEH rÔ 1 ÈEä¬V:uÕÔ¡¼:…³šv TTÅHR5CR1É<‰HH“ÁT%¹S¥[¡EèׂÆKÌ F`ô´ bUÉeá+Ð…gO–Zì(Í<á"àX•>Ý©1Ô1 8x‚„«YXÉ°ô5¯“<ÂV 7›„ÖKð½3"~}òwÞÉV4±XÎ<“à"¡•9ŠEU–0; V"T…ËUƒ>½òXkŽNZV%s]ÿ—cu¹ú”HòèSL¦’"^=VÞ¿ -Íš{p{ !ââ궻î#äb ·{¨ùLv`Zº®h|³fuOÚK#Rá¿•Uˆ]6M=È…[ U×k±Ñ»¨ldÑ&ËhÒ%¢‡¸ëØc—}vÚk‡]‚Ø» ¸AÆ´ oH¦…T¤ÈYœÑq«9á$VOBZyËÂV b)½ÞÖα3*Þ¬.ªÄn‚õ °ý}øã·]Ý{øÁÌò5vJx† z<ò¬ àD +Œ˜ÄD/¥ 0tš  ªQ/‘© °òœi.•/¹”d;è– Ì'ÿ“ñ „KBäwB¦vˆ çõ¬(ü“‹šÞ$¸ø$g>‰ÞO âÀ5YC‡‰«Æ½Àwµ™ d$JŠ×Ð>—5]qSÂÈ;øA’¤¬@ áëTøE0ÊO-ìÝÖ™ŸQ±;\RäŠ4’Š€/È â8¹ê]­H# ÍN0#ïFŠÌ’É<*ýQd#ð Ž`Â0FR’ñÀ^/•@቉²w ° …Ê䊰J«GøaÑ*_´Tшg1åÉhÒ©­é)‘ ‘€’€ HNR˜Ã¬]–л`&4üŽ‚KPe!€•‚@Llÿf“vAðÛ¶·Ì4`§qŠý•IÀ ÁÔf;µ)$8ƒ$a&†œYsJkJ²;ÝùÏlFÀo6ØeFê¡{^ÄfÈúÐ P¦AÃÉÉq&#P±Bï¸è>ˆ†t˜"ˆ'asQË°¡j,Š ~Ø à˜[\HEzS0&AŽôDég2ÊÒ¡¸Ô¦±«ä €„kâT©'Ô)7rPi´TC¥],Y£&u©[¥N¿™›žÊfœŠ—zB«úí¨Iðâ ÏÊUl AÒ¬T$U‰¨ `A¬ +°U~=ð\³ §bÄ®êL P ­òÕÿ¯€¬íx×VÃN2 xjXw3V¼6RÄì+î׃GÒÎoHÈìHYWÏG¥Qm¬L°WmÁ´Õpd0ýV !´V˜DX˜E7™RÐÖ6&·¨nïçHü¶0n${0[­ÄÖ@?½ €R™ö®fԭ‘ÅZH¹Ë¬†?zÆ-¡¼*ôÁk—£Ýê`—±Ý­kC*‚û1Î ˜ïûâ9ÏšàwÉ寔B*]"õ-¸†_}íË—G¿êí.x@ks aBLaÛ‰ ´Hz;´Þ—€`ˆ# „Ê¢…" +qáק -CdlÔøÄÂÿt¯ŽãÇãf€A@Žˆ‹ïSd­ð  `¨êä¥úà¬ð‚¦Œà*g¸=~q‡ ð¸`ÞªF܉?DÀÌTŽšëÃæ+Ø%G¶FBÐEl±°t©D»àD@ÏgF¯Ÿûhù`Y!„6t:ð9–Ñõß:a‰IzÏhî³ÅÊ]«púÐ@!Šjô ²£fü R`@b‘ž4ŸléMàfËfv³ýlhG[ÚÓ¦ö³k-zÖµF€˜ë_6™×hBï:AŠ `@Ø©.6«íê‰Ogó¦w½í}o|ç[ßûæw¿ïífm{šÛðÀÿJ &ä:Ç㆟U_8P¤H÷º‰½êJÃ{¬Ëv§i]k‚àØ@p!Â#|™áE­Fx1 €¯ø°UMiã’sã’‘µÀA^ð‘oàC·($$Aå(®¤î7$ƒˆ¹Ìi®n›·;ã:ßyµ:¾íŸ‹œäC?@;" ÿûÄÍU Á~-†¸` T`êUŸ9űÎnŒçœ¬]÷ú›ÁÞm }èfÏ@ZÐ|¢k8C„‘ „ºá4wB@‚t¡‰i¸ £·ÞõNõ˜÷½æ€Ç¹b‘MxÊ|Ý爻ÐvÇCÞÈALÿC°á•pà&„ ØmÉ´Ã]ÝtÇy·© µx!|Pƒ”(}JŸ÷½§þ꿹±³«qØ/Fö§}ÐÉÎøÜïž÷¾7tP€@`›0Æ„`· 0ÆÀü'p‚824 €xˆÀÀ>íã>Ò3½ð³:¿#?­¤H"<Â$\Â&|B”@ ¬Â ?ÔÓÀÕ»¸Ö+/ü³è9ö ¹14Á2Ô½ù[AûSÃŒÁ¬ÁœÃ:¼Ã<ÜÃ>üÃ@DB%&tB(DD*´@ïÃÀFT½¿ƒDóÛ´×£Äý ÃöSU‚!øÓ0‚j4}PðŒP M\ÔEmQçÄÐ-L$%P“0Ð;U¬<-F%@)TBõNC¥ÒääItÔ7L •Ñ$½/;½Ô»ÈTø³8€ƒÊ»##œN(ÔÕTSñÌËU°K/(VS%R8 PéäгMW݉1-Íù„¼M5ú£6ðƒÀ€7H5°‚uz$¸i Ç>H…"HÈÃLà*¨;€MøIN¸„&Pˆ@CÐg¸ƒÏ3TÑ.]U kÕgE/XÊj¥?O-€)Ø¢‚ÀAÿüh,(’À„žœW%”‚. ’.Ѐx‚j0"‚€åÒI¥ÓJ5؃ÅÔ}Ê¿…]Á†}Øj8â-nê/(‚j.ƒj¨‚ ƒjÀàƒjhƒ %l‚jØ4PÙ'8Y„;ˆG@O—SöôЙ]Ž„Éœ5å­ô› Xú*‚Ø¢:4…jƒ ‚j D¨€,ðØ@Ù ¨†+pÂ3®u…ìƒÈ[I%Û=[hM[œ­kÕÙAuØ\{Ûjð¹­†"Ȭ*Óˆ¨"Ù‚:Wªõ‚–kÙ®Õ‚Æ}\ÛÜ,[ʽњÎÿ2¥VÌeØÍ}Øð\Ð[ÒýÓ-* iă- ’W˜Z%„Ý.]í­ÝÛ È•ÓÝÜÞmÒß%SÓÞÌeÛâí\ð›äÝ>ÈÛðüA@„:ë€0HÙËDYÛ-ÇõÞÜÜðmÖö¼Óh•Ïí\Û¶=ÞöýÜÐ-èVˆ[¨èÞL`€ Àªü€+¨†BM¨†&à^ÆÝHßõßñ]&ËEA^_v߆=¨FH] ‚û‘ÚÁ¥Úƒš!àïÐþÌÓјT%@ú ƒ! „øƒ †äX\(‚QÃ(ð¨ÈÃ*@Zÿ1hÝž<ÀŸ,ƒ¾‚BˆÀS€‚;ȾH€Ñ`fV&6Û~ÏÑQ…ÒúÕ^ÍÏ_eS!µÐ°lYnaä@VʆË3EäãTd]NËtäÿ\a%–ä?®d<-_iÝNuLÕÜäMÔ+=ÖGNâeõLSS¦ÙA¶ÙàåNV>QÕý$O,uQH5ÒQöã[vÖ\6¨KöeíÑC­Òñ¤PYed®e/eU\næºzæUŽæ4ådX&ækÖÒlÞP[þRföæçåUWFT+5g7EVHîãuæævvg´Ee&Ñ(•g¥çjnÓ!e>Næ}.Ønöç*ƒgÐÿBhÐV.h.¨2Xä ýä,=æ8eèmvè~†èˆh(fL#T‹~ÛHä:Œ‚¤åhOîÏG-ÒÖf‚ ²‡6iAö8B¾Ùv\é!hi˜Ž™VÚNŽå{VhQÖiJ5ˆ¥„è'.äÇó‚Aø¢fÁà{ €A5xX€Ypƒ=(˜NÚIÀFÀG;ˆ†/Ÿ Z)ØÆ8…'¸>tÎiuiž.iŸþéÃ3ßù\"aì¢ÖC(’D8j")kñªGPê¢ 0:àÃ,@1 ˆ„†'Ü„‘ˆÿÅieìN3™õ髾Ù4ˆ5`l–Þ_&¾-"ÿ7!ÐGà-7@ZTÐì¢eÚjÈx†jˆƒ/¸Z1¨†Eð„Fƒá{AéÖVÕ©nKuçÙ~R_¨†5Ø=E`i?m…ˆA¤^%(A€Ò-ÍÖÛ€Z>`€çÄ/¨#À0(4@Ž@-¨ÛeíTØñFŠòöæó^ÌMõ‚Ýëj? â£ïjxÃFpTèþ^jid ®FLø‚8¸ŸéMÙKø(~‚'p…j€ð®ð—åÝÃþf”.äM…ƒgi H¸\›oʦÁ ¢mñ™ž¥høê¾q#¨nèÿ4ðñš!r Ø#wá$¯ Ë …j(…Ý–¦„jïj0q|!GÐoÑÕl¦®„jx…þUH¿q%49á](á­ÅgZví ¯jÞðb,„jP‚݋좂j˜‚,¦òúˆ8Ìa-ß‚˜¾€,À`@Œƒ*Yi1€Eój0w0‚¯†K8íˆ;®÷HVfvÎwÝ÷¨trÔœ‚>wÐ7\€ŠõU,°¹&Bò 0hN50„FÀfÁo˜¥ê of”×ÑÖ䂦æa¶æ§öùð¶ð 'ïØ6é¢7äLvùyVzFöhcns{'y~6ù­z35êq~åzfú„vz#?öRNv9_r¡Æd³U_mj{^ûÀ~ú7Gv¸?éeWlUŽg¤æ5íh›>ÕLz$ÿ{#ƒç£Çú¤æ­O|L_h©Žz Ÿz«†üC–|çi§Ö{‘×g†ížþ{²§û_–fQ=üš.æ›NÖ¶_b|§d ÷ü«¿èÿÐÇ{µ彯ý{/yÜ'zݯû¤ÖzÄ—}ÅÇ|M×|N7ïãoý³7è¥Ghà/}‘~íVK}¸_}h–R»'ç´Çþöú‘oèÂûÿpÿä§üå?gíÏüÆwüM›~q´ hÐH‘‚ 20ÄC„ˆ/P¬Q£D (p´`¡B ¤@á °ŒAƒ†j¬Ñ¬ióæMj ¨†ó'РB‡-jô(Ò¤J‘àA3DˆPõàáÇ p"C†-͑Ä : €à– jÔV¬x`Œ7bÄhàwÆ  L¸°áÈ+ÿ^̸±ãÇ#KžL¹²å˘3—êäés)èТG“.tDz§Q§V½šukׯaÇ–=›vmÛ·qçÖ½›woß¿4ˆP!Ã!J¤¸À"Fx)’¤“(U²$àRÔj@w¦ÙÓ4úôê׳·6 ZkP¥RE`«V®¼‚KÖYh©Å–[À%]v=€—^|ùÕ`‚Wrˆ1·ØsI™u“eWw˜iP…¡•gÍyí©¸"‹-Ò/ò­Vß}¯éÇßlÿxº!ØÛ‚¿9(œ„„w˜r‰5ÇXtQÙu”mw™w &îdÞg.zù%˜Iõ”ÿÇ|¬ÙçZ~±õG€¶ ˜›»%è[ƒÁA8Ü`Æ–ÜrŠ9cÓU'vÚYÖK(P€–ž…ù(¤‘Ú4ÌØ~°í'›µ ˆ[ò¦ ƒÀ=!qFîi¡ŸLÊ!¡RÚÕ¸ Ú‰)Jº+¯,žP)}˜Ú¨fŽžò§¨sYç©xNx$ŸJbè†OvX(ˆTÖ:Âh¹vÙ+¸á–VÀ¯˜Ycš›®©£› ú8*¦™ªž&yáŸ:9h”NÉ’-Õ¨@š·â|0hØPÍ"4¢©)Ž¶ùiqþHªv¢š'…Hö¹d†M ¥‡†ªÄ‰.ÕdIð–(~‹ÿ0Ì1@5<ôqf¦7rÊæŽo†*'¥yg‘õz,m¾"Ãگɕ̡À­¥,3ÕUÛDÀ Õ<ñÀÃ:¯k¬Ïï*+´ÆΪjïÇÓê;òµRÂI560jÚÔVÛMµ 0! ê[ìÄÇþ|q¼Coüìª÷¶ò«ÖÆš])O°zuß}9 @5ÃLñÎìRŒ,Ð3;/Çв 2µû’LR+pO {–c~»¸H0A5ªüÃß÷ì®Åð.+/Ñôv-¾®VËo&ŠÌQMQ×Þ²®¸k/®*pŽK, |xØÅq³E/¿ºÚJ?y ÅT3Á°hûöùóªÿû½÷’ÏÚU±d }¨CÚæ¼L" °˜žT`½ûaïeú» ¯\ Þ1A ƒ€ÃðXºÂ•M}ªSë.Ò‡DÀ Õ¨Æ F00áƒ6”Ô$°Áž!z˜ÂDH¸ãÎlFcžŸÔ@-Ôâ /Œ¡ æö¨Þ°Š‘*€`ƒ¬½pVxC"Ôˆ!’-}Ê;!À ‡24Á /¤ž v@¹]QÑŠv”\€wo$BŠ€72 àÈ H,02 YPF¾ É88Á [x# 0`†«ãCÉ«@;À Ê>b²•™\å& RJ‘Íj %.s ³[ê²—¾”/)ÌaRÐQÄ<&2]Ìd2³™L© 3£)Mò@sšÖ¼¦P–‰Ím"S›Üüæ/½ ÎqâRœä<§͉Îu^Pì|'îÜ ÏyÚMžô¼gÌì‰Ï}ŠKŸüü'« Ð^Ο=¨2ŠÐ…"Ì  }hz щv«‚¨¼(F3ªÑr´£ý(HC*Ò‘’´¤&=)JSªÒ•²´£ª¬ V)Ó™Ò´¦6½)NsªÓò´§>ý)Pƒ*Ô¡µ¨FÝ)·;PKèÒ%iõ2ð2PK\8–AOEBPS/img/global_dsn.gif_X §GIF87aÆ ç÷÷÷1J)!!!)!)9)½½ÆÖÖÖ!B1ZcŒœœççïÖÞçÞÞÖ÷÷÷÷÷ÿ9BJ!µ½µ)1))9„„Œ)J)JcÆÖç„¥½k”µc­ÖZ­ÖR¥ÖBœÎB”ÆZŒ­R{¥Z{”k{Œss„{s{„ckŒccŒZR”sc”skœ„sœŒsœŒ„””Œ”œŒ¥œ”¥œœ¥¥”¥¥­­­µ¥µ½­½½¥µ¥­½­µÎ½­½ÎÆÎƽÎÖ­½Ö¥½Î”­Æ{”½ZœÎR”Æ9„½Z”½ŒÆ¥ŒÆ”„½œ„½”sµŒ{µŒs­„R„kk­{!11JsZkœsZ”sc”sZ”kRŒ{JŒŒB„Œ1sµssŒ1Œ½Bkœ!RŒZ¥Ækœ{)1RŒÆεµÖÆÆ)9B½ÖÆZ”Îs”¥)BR9BRBBJJ99R91RB9RJBRRRZZZRZZRZkZkkBZk9RcBZZBZB1R9)B9)BB{{„ssss„”Rk„9ÆïBÖ÷Œ„ŒsŒœZÎï1s­RcœRsœkŒ­1ZŒ¥µÎ9cŒ„”µk{¥1cŒkŒµÆÖçÆÎÞ1B{”µZ{­Bs¥9k”J{!{Œ{„Œ„J!R)!J)!„cZ­œsB”„B­­”1Œ­¥JsZ„„k{sBkkk9kZJZ„9)ÎœœÎ­¥Þ¥œZ9”œµ¥„sBc1B9{)!­cZµsc½scÆscÎscµssÆ”ŒsJJRœ„Z¥„Z¥{c­ss9{9c1Œ”ŒR11BRRRc½cRR”Œ¥­½Z{œk„œsœRJ¥RJ­RJ½ZBRs”s!œ1)­B1½B1Æ{sZRkµkcB”{{cs”1)­1!­9!½1!œ­¥ŒŒkJs„k¥¥9k¥œ­”ÆRJÖ„{„B9„JBÖ{sŒJBJ1)ŒRJÖ”ŒÞ”Œ!J1ÞÆÆÞœœ)ZZB9B,Æ þÏÁƒ*\È°¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(Mþ8°Ÿ$ÈœI³¦Í›8sêÜɳ'Î @ƒ J´¨Ñ£H“*]Ê´©Ó§P£JJµªÕ«X³jÝÊ•©„ >mZ°Ã²¬Ù³hYºH˶­Û·ýY˜À€ƒ-pø`äˆß¿~1a A¸pJˆ7ZÌ8±cÆS‚L¹²å˘OhÎĹ³çÏQˆMºtiFŒ4…YͺµëÖ›6AšMÒ¤Û¸o;Ú-¦·ïßÀƒ ïÍ©¸ñãÈ“+μ¹óçУKŸN½ºõë¿•kßν»÷äØÃþ3w$f·ùóço×^»}kÔ¦IƒžŸIó ËÒL¿¿ÿÿèß/ìC -¶$˜ ‚ 6èàƒF!‚Vx†?4‚%Ü%^D&â‚V˜d(&fXŠ,¶è"ŠH†YeöÑZ|8Ž†Zjšôøڰɶžm¹é&^vß%ÉÉ‘L6éä“PF)†’TVÙ”L¢§ånê I{±½ÇHŽ£Ùè™}”}°Á~¶éæ€V(çüÔiçxæ©çžvÎi¡.VD‡ðÁˆ" 6˜‰‡¦"%Œ**餋2j饘šø¢Œ–Ù·™™ž‘)j=úä©` 9[nä]g¥wþXÆ*무†÷ê­·Ö*Ý’¾-¹¥y“82‰—©Š)ªh r¦dj²é&‚ÜñÌ´ÏÜ!nˆÆ0Ür{Ï·ßâ#î¸ä–kî¹èâî·ÝsF.f ú ÀA_ˆVb¦&NJâ‘œ/¢”lðÁŠòki‹4~ ê±(ðhê©@ʆ[«»âz¥®wìq¬‡üÝÇK7%¯%—ìÛ¯è ˘ƛl}÷-Ö,8ç¬3<ÜÁ€,YÀÀ<ì¬ó/lÛ®·à¦ëôÓä®{ÏÒî :pèÀúVz©¤~,v$ ”möÙe­öÚl·ív$\w-©Â)RæðúãþĬY,t"oüñà„>]àˆk§+¯''¹2ËÂvY̬Á'óÌ˪ùAœwîy‚0€‚|îùöœñÍ꬯Ïë°Ç{ Ô>ÓÂìµß.ûî­·^K=ñÚlq–)Øb£ ‚Ì7ï¼ÊG/ýôÔSÿ¶ØùÎM7Œ‹y:óg¦1â‘Í%.¸á觾ù웼xʯ–Dz䴹çÚ˜c~‚šCðàÿÿìYÐR¢ð– ‡êz×»ÝÅî,±úñ€L¡ ¥·6®MJaŒBL#B1Öì8DTœ'IIE2p³Šä¯l3¹0Ý/OÌé£&*¦ð3yóP)UžpòX ¿ÁF6¦VTc jIÆY®Ž¢^#æXGE`ÈL¦2“Éè  Ÿ÷ˆjášØ̦6‹PÍnzó›à '8IÎæ Ryo³c`µHΈƑ· Î%ÁSÉzÚS<óþY&/¹ÉNz²røËß(ASJÞa V™JÂR–näeo‰F‰ŽÑ—ߦ0‰‰¨ᣠ©@ÊLL³yÝ,Bˆ`º–~n›0)6ÅIÓröñœ„¼öŒwJÜP”(€'ó‰œ{õ¨#j®°¤Ôâlée¯ hþDIÐ A…ÑzÆ a„Ü¡¡¯ŒÇ„! Öýh †Z×ÊÖ¶Ò®p…«íÚJW¶¢¿Èë/„¡Ñ vpD:°€`KØ 6šËsž5Wj´Æ:ö±;ëÎ:'ÓmÒô6]!N­×¶uNÆ(PÍjlƒ¤¦2©¨MmM[%¦šVK.«þß?ʪá¸Í­nu+ˆAÜág îÀ†âV†¼ Å5°ÁÜæbãЮt§ Ý°RÏxu·+]ç6©Øè_EXÌ:Ö+K´ÃˆuÞ(AßúŠÁ©d÷k4T¤¢¾õ]Cc)+Ójæà¿ôƒªéRøGhÞ|ëë…ç%þ‰eaVáÍ¢M`GpÔOß9ÚI”V©ªM±ŠYÛÚ'™ŒÅ°•í&~d¹¼}FMF„Žw¬cmøøÇwØh²ƒ;üX)Hr’@Ža”ƒPŽò9¦öÏå8^¡[]8:¢aŒ T`ÜCÇÓ«n©SÝêaçºþaõ@ 8ìö¯z ýþ@fG;ÎÀöTX}¾ú?²Y~#ÌÒk¸{ópoG{ÚÑ€–BË igcxžÖp ‘yŽgx»°G0‚ÖN¢!Z›ð7›Çyž×@zç% —$§÷DªÇz»&-Óbd²'{´7sb†{¼·^]Vƒ»ç{`FeÉæsgF|ÙF^LJtÑP ÍçkìEM0}(U}fw}W—}6 \7uU—å—3wÆV·3ê×Ê _l§`TD†o‡MõgoÕ„úÇ<G†6x]÷*Ä ô¥h6®ð !°€ È€Ø b7˜þœ`j¢e©ÆZøˆë‚?äZ'?\Rz —7)ør/èc5ø {FP ÃPmÜÐ ¨ˆŠÞ°Š¬ÈŠ8ØeÞ{®×Š­˜Š©XmßðƒŒÁQÚËÇ|Æp„p&LÈ<Ö´ncWuWg G0†ìv}d` h†¦3êöåFQgj¨`ß„ü×hpØwþ·<šæiå—a%„6(P€ö‡ç€'ˆ’× J`ˆ°ð ŠˆjHT8„#‰’$z h‰Â"[s‚¢R $Š?–dŸ˜dÓp‘™‘Ó`Û@ Õf‹Ý@‹´¸eÔB ¬H’Ób’"¹Š Ù Ç–‹ØþtXªP„Æp Æ@áÆq5gÔ×Ɉ}ÌèŒV¨Ph4ä÷u8sʸ3ëvMO‰MußT†ãˆwRxŽÌów¬ào&$=]yËjgˆŽW6±0ˆûH"ýø«¡çˆ9—cËA‰•(?’ÓD¦÷i Ó d) ‘ù‰)˜Ô˜Š9Š´` ×ð˜Þ… ½ ”Y™–y™˜™™™Ù ‘ù˜×0 º¸¼(„ª`„8‰ :™P%ÏW>Ù„@Y”ËØŒD€Œ×G~Rg4XG›_†f‡3Ý•o×MôÖM×GŽu¸<g—ŽÎS=®p¬à‡h³€±`ñþ8ˆŽwlÐ ‰Z‹—±¦jtyžFd—E…—®Ö7³•‰82ÎÀP’Ÿú™Ÿƒ@-ƒ°Ÿ’ Š[‚€[F\½  ª ÐРú ¡:¡º  J  “jf<À<;€M €„CÖš¯iŒN”³I”Ph]8 kð·Àn§Pío, •kœÝøM¦`· ˜œÌSp^i‡Ž›‘j  Kp6®À¤w­Pi ¥ °€Uª‡UÊ Gð ˜ ’6b¢¤‡žl*‚êy–”z[|iz!'D x@t3Ò§˜ñ¼P ê þ¾ Ww u•¨ŠjW‡ªW¿ d5 †@ ªmÏgW2ášè–nÈ(›»©¢MheC¹”ð–M¤*h ¶nÕ´n%¤iÙ8¤6«Ìƒ‡V6Uš«eã Òx»šÖ dÊ}‘ [' œ`ªF â OÔžmZ­.ö¦Ævéž—ŸñYk¥ ADãní6 hà'´P ìÊ®ò®ðš íꮶp µ@ Ÿ A`@·¡†õ¯ƒU¢&zMæº_œSYl(N™õ•†N:õ°b¦^@j>­hJžåÙTÖº±M‚­Ù %k‰tú­à:!§mp *»²,{þ ð²0³i0³4[³ p³8›³  <Û³>û³@´BÛ³¢ ³¡ðC•1š€qú´PµO{dCgÖTó‡°•uYá´° ëa:¥Nbë   "f±a0qjÊÛ¶Øá±îs­êÉ­ ɳ5†˜@CP ~û·¸‚;¸„[¸†{¸ˆ›¸Š»¸„˯K[|ÔS(Ò/‚!MìØ„uƵšûM^+H8ÕYbËSˆ„)+Ð ^€ny±ÂznÛºÕ·§å$ØJ·{9cw‹·e#h⧑Ñ"£û»ˆdLË5†(–{R›¼ætN0”=^ó»›½,â0£q¦iþ:­¬ëºÚû°»LòbÛ:§%x»)* ²,¼Û»)¼ì‹)„ÄË(#²Gg£¼íØ° º#ò¼šâ"Ýã=ßÀÉR½gš¶šg—´½ \>p++s+²±ÅD·‹»—£»è›¾1Â"í»Á†ñ¾29"™b¼ô‹¿Ÿ›Nÿ'Â=p7Œz.¥âj ²˜´À6Œ½oêÀÌ%µ;Á«¡ wjç{Áéë"ÌÁý:0 30m“6»SÅ“0—BC+l&yC*¥’ÅZ¬|ãÃ^¬C3Ì1VrÃdœ±á«­á ,#ûÅA,ÄfBļkÄG̾“±‹+ºüBjb‹0”‚HT\ÅþxXÃ_\È^rȈ¼*‰¡WÆe²qšÆ‘3²¶;Á@\Áô±»ì»s ½@øÁ¤ÖÉ!Ê~Ì"‹¡Hu ,<¢’Å_ŒÈE˲,[Ò#ãȸlÆÙËž’È­¸!c•|»m\o Ç~*Ǭ0Ÿ\<Éì(¦Ì»«L¢²7]ü#ª¢È£%¸|˹üÈ9Éù8¿Œ‰–ýÓ@ÔB=ÔD]ÔF}ÔHÔJ½ÔLMÓ-ûÔPÕOT]ÕV}ÕXÕZ½Õ\ÝÕ^ýÕ`Öb=ÖV-)ÍNÃ[ WlÝÖnýÖp×r=×t]×v}×x×z½×|Ý×~ý׀؂=Ø„]؆}؈؊½ØŒ]Ø ` „Ñ!°Òî¬Ö}Ù˜Ùš½ÙœÝÙžýÙ Ú¢=Ú¤ØÙ¢ ¹–]Ú¬ÝÚ®ýÚ°Û²=Û´]Û¶]§}© ¿!°Ú·ýÛÀÜÂ=ÜÄ]ÜÆ}ÜmÛºÖkÜÎýÜÐÝÒþ=ÝÔ]ܧ )“ÍÜÕ½ÝÜÝÝÞýÝàÞp}Ýu¬Ýâ}ÞèÞê½ÞìÙ¹LÛÛÍÝÞô]ßö}ßøÞ݈Á‹…áÛmm>à^à~àžà ¾à .àùýàá.Ýä}eÎÖ†ÞáÞá†0á">â$^â­­ÜBL&’áqµáþâ0ã >ã4^ã6~ã8žã:¾ã<Þã>þã@äB>äD^äF~ä=~ÛÊM*Žáóà1åRî.>åV~åX.àX¾å\Þåp¡å^æbž`>æfþåU~æoQæjþåJÙ†ÑäÿýäÞæv!Žßx¾áþ&^×{þçÛ-è¢Mè£çon"rN,Wi~çcžç÷mè}×”nß—Ý™ÞÙ›îÙˆnÛK‹.ßpýè`ô…å¨æ’ŽéZ^ésÝéì-ëÈMë™mëšýéµê£Þè`ê‘e!ìlAìmaìÁžìYžß¸ÞçÍ~ÞÏ>ÜѾØÓÎغNÛ¼><+Nç-ŽÈ®ìÞþßNìß.å†P¨N_aaÖîð®ìïé¥å7ñîôNïóŽîõ•ïþ.ûïŽîîð÷ŽïîÞïÿžïßîOóÞð¿î¨ñðêï¿oñ ¿ð>ÑññëŽþð#Ÿñ_×>ÛÙNGÛ^êá>ì§^_Ážê`fQî9ó:Ÿìänóhqîïïðò&¿ð"¿ò%¯ôl80ßÂyFü8pˆ¾¼x/bÍ}%sþî[•b­·æZ@CìDÂ&{ìÌ[ ²ÉN[í°Gz;î³å>¡²í{î¶Ñæ›íáØÞ[ïºÝœo¼|lÅOünÂû.üíÃÏÛðÇéûïµÙ6¯½Ñæ|r¸ó&rʯ\òËI[s¹Mï<.Ç'Ÿ½öØ݆ö\WðÓAGüwÆw¯Œóáñ^vÛ?7Ûi¨Ÿ_J=öfµšá[»Æ>{®¿¾{ï¿?|ñÇ÷žwòÏG?}õ×ÿÞ|ö߇?~¿‹—¿~û‰êþõÝxù‡^r°¨PoaóÑ^þè5ý5Ðå£ß%8Aöñ‚„Ÿ1xA n0s<Ÿÿâ@–€R©Ú¶@²{„¡ú:C6p†5Ä!Ùn˜Ã‚0‡;Ü KÀ†À€µ²ÖZ¸Ä¾‡Oœ_þ 8ÅÿùŠOâÏ—Å r‘‚BâóŠxD¬$±(Ycb'f!´Ño„cå8G:ÖÑŽwÄ㇓G>öÑd å¸GAÒ‡Ä#!¹HFºQ‘ä#!I&…Ñ„R+` ‘ˆ@5vRbe(E9JR–Ò”§De*U¹JV¶Ò•¯„e,e9KZÖÒ–·Äe.u¹K^öÒ—¿Då5þYFNzÒ˜ÇDf2•¹Lf6әτf4¥9MjvR˜ Ûä `InvÓ›ßg8Å9Nr–ÓœçDg:ÕÆkÒŠ˜Ú\g<å9OzÖÓž÷Äg>õ¹O1b…Ø|çõºÂO‚Ô EhBºP†B­ÕãdC%:QŠVÔ¢ÅhFèO#3>f$Š–4:R’–Ô¤'EiJËóP t›*…iLe:SšÖ”œí<²éR›öÔ§?jPmŠÓœT‰jR•ºT¦65ŸDÝéQ_êTªVÕªWÅj«ˆZÔ«Ñ+YkXÅ:V¦nÕ¨^E*YÕºV¶¶£P=kH¿êVºÖÕ®w­çVsÚþU¹¦¯l` =½¯Cé`»XÆ6¶(…=,eæêXÊVÖ²k…,H;ÙËvÖ³ŸUjf# ZÒ–Ö´0-Fq‰¼d&ŸtÇ´°ŒQüÛ¸ÉWÆòk|„(#ùÄTþp–Å9Â]®ÊAfÕ’ÙÍoÆçŽÏŒf ¨™Í<…sžõ¼N9ŸRþr•÷÷6Γ­sžs»èAw÷чÎñp+ýèÄ6zÏ~ó¦KÞBÿyÓµí¢w]éÜ>øÓ™t£ûœçT·9RОu¨›=éd_ù×É~ö¸»ýæQg;Ó‘ö°Ï}êz/ûÛùnõ¶Û}ð:»ß»ýlÄCåOoüÏïõ­;žïTo6Ñã’øË—Ýò˜ï{ÈÇ€rÿþºJ1¸º7»â“«ßîVù¾ žùÇþã°Ï¹ãq¿t¼Ã÷µï¼î«|•ç>ì¶'þà{ã›ÝøÀOþë nùž3_øÇ~Ú¯O|¸ïû³ÇþçÁøÛè´ß~ðÍÿzê«ýßÅç}üŸÿxó#_þÊW>û{~Ù[¿øø$½†ƒ9Ô3Õ+.vk½•Ó½æcÀ÷ÿßÛ¼É;Æk@îSÀöã½Àë?ÿÃ?ê;¿®Ë:ô«@ ÄÀç‹À Á÷û@ç[¾üSŠ\ÀŒÁûã@ûAÿó>ä@ýËÁäK¹ùÁésA ´ÁÐÛ@!„AìAýû¿{ @3‚Y!ÀÔ5‚Óþ¾ìBÏ3BÄÂñ“:lÁ Á ,BòÓÀiëAõ›¿¾‹AŒ@0B\Ã0¬Àø{C<Â5ÌA;$º ,?Äû: AìÂlA-48"4AÉÛB.äÁ6TÂGܧ$@)$@T/+œ8JôBJôCHü½ \ÂCl?,CLDCÄB÷ƒÄTÄ=LEYdEBXÄAäƒÃ<Å2Ô>9„Ã^lÀúû¿m“DUü7“ËEcTÃYÜÅ8œÁ„"½)ÔDÔ›€*ôÄhLC_„?à£E4FtÁR4ÃStE?$ÇgüÆH¬C=¼Åh4x4ÃWtÄs„¾"¤G ü¾w$A7þ¼Ç¿cÇJlB=4ÈýKGúÓÇbdÂ…<ÇûcAsÀ°ÆÓ#ÀlŒ¸y DA$¬û¼;¾Ùs:¸«Ça É•ÜHÉ[Aõ£»’üC1Œ¼ÄS¼lIyË@–\I“d<ºëI’ìHÀãÈ&œÉÀ£I”T¼DDä¼<Ä—œÃ›Œº,Ê/ŒIú#É®ÄÀ™|7ùƒ¼”J~ªÆL´HlÔFö½’k¨¶ü)¸Ô³˜€Št8µÌH^ûE“Ë<£K»@¼¤9½”¸ëK8ûK´¬Š"`̘ÃÈÁ$ÌÈ|³ÄD½YaÌË|L<“ÌÍt3Ê4‚G°ÌË,‚Ì 5Î4M1KÌþGPÍÐÄ̵¸~+HYÌJ‰ÌÊZd•Ã\aä7Ù$¹yÊÅ„M]  ßäͲÌB£KÕ¼LÖdLÒ”5oÂÍ+ÎéœÊVÄGes@‘ãM–ƒžè,˜é39m[Æ!Z<ëìI!£KÑ,‚Y!‚ölOç\7è NëÌÎ܈|Ëúl=„K@£'ð¤Ï0B?ï,OétGôœÑ$ötO"€ÏÕCÀ¬É6ÜJ6|ÁAÜJ1tJ£4Pœ¼»œ,¼Ï“ÀÚÌ=·›M¯Œ¼Ì£<¡ì¼=¥<ȧtɦ¬»¥SI>»³QEºÕÊѱI&ìÃvd@ï¼®ôlPuÏ=ÀÛüÄitþE ÆÔÉû ?êœA+=IõFÙ4ÑXŒÈ„ÆË“> MHÚ G1 H•RPä?TŒC"P.EÈ*5D$4E$MÒ hЭ’?uÒNÔNA$R`ìPüŒÊú Ë,F8%¿­Áã\Ä)}ÔzLAvtF;Q#äÆ,S§,Ò ,ÒIµº/PHÕP~ÔS®3Åâ 1ºüS&}OלGU Ã7»ªœÔ]ÝPdTnLBλR =Ã+ÜÇK]UeÅÕH¼Ãë`6_Ñ%à-FàÿµØþü}RÆ`ׂ`V` &Ô áÏÚàþÜÊàFaÁâ]Ú­’pa‚Nᾫ‚XÁa÷˜1àa.®°`€ â"6â#Fâ$Vâ%fâ&vþâ'†â(–â)¦â*¶â+Æâ,Öâ-æâ.öbØ… €"˜„2.ã  Šîa1øa1›¨¦8–ã9¦ã:¶ãf’€ `¨1^c1@cPã6 f0 ¸ãCFäDVäE>d=ã"èã?dd7¾0CfäLÖäMæäNÆGV(>^cIîãJv]ÃdOVåUfåV¾cP¦FHå4.eB^°Två\Öå]æå4‚e„å&å56åá2\–ÿx˜Y汈‹] –_‘æ^¦æj¶æ‰ùåƒ ffA¶åu‹î´JñÔÏï<\Væ0ÉŠy‹/ ³xçk–çy¦ç¯ÈfƒþÚf?¦ebþfuâÂÆ×ÌÍGXµÂ–TŠTfævÞ‰Qh1–1©çˆ–h^¾ç‚Êçn¦ä~N'–ÝË€'ƒÆM_= „v¹(–°ˆæd~èužæ²H牆é˜æäŠ&¨‹Þgo¶äÿTGÊ3ÎØlÛFÅÑ›i ì=®=Én#iigx^éüPg“–6i™¦êªNdš6KYæ›ÎèœV\žبMØòÚUÕáCYóHjgf‹t~égvhþ0‹©vj«¶ë»®&¬¾D­æf®ƒb†^„ÒÖa}Öê[E9¥Ô“-Uzl’µ^i·îÈ–ff®ëú l¼ÆìÌ6&½Ö'›äZöjþyÂ×7…ÕMEìp&BÓ®IÒ=h¹~ìȆí×–êÙÆËÖìÛÆmâì|²é˜ä¿Öh·ëügÕZódSSmì2‰ê¸fêÊî–þ…nîܶîëΞÝ@¾ÖgßíSæ'2$íâÖG9jxóBWt@/ò=ßpø]ôH¯«Côü•ôKo+J§rLçôšÒô>0!öâQ'õR7õSGõTWõUgõV7b0Îó¾vôM·/+Ïò[ÇuúØòGŽòYu[ò\v'ÏqyúôD±`öeòb§côSvf§öwöu‚öÀ>æjçö&¿vuÊv'²iïör×ïoO§p‡ôÅ-ìÝtT¨!ws—÷ÜþFwtRwKW«îMŠ÷y÷wÌ®÷sº÷ Î÷ŽÐ!ê÷Wøªxsø+çQ•Tµ[¢fí¢Hø…çø‰nørzxuxˆmWœ$ëÝ=âÔøŽgyÜþxr ùÄE6’ÖÁvÈšMŠoù¯æ—½FŸò_Ë=ÖãþWÕf çù¥×eŸ§˜Ð™nX´y›Mï¤gú¬i§'¨g+ñ.ùºH;¥R¤Pz­Gû™Žõîzdwª_Û %[ß#êˆ%Š³Oû¼_d®'¯?. ¼×ûÁåµð¶öÕü |Âw|9æûoòûÝZüÆüË—¦È÷¦Cocþ·¿dÌýNÖünâ|Zo/ËýÔO¦Ñç¦Òú*G}Õ—ý4ÚõPú>îüÄ÷ñ;çýÞ÷ýßþàþá'þâ~×rÜ7ýNgþ”r}Ïoþè·©ç×}é·þž¢~m¿þíÿ©ìwîÿé¿ý5Î}íM«@Pÿõgÿöwÿ÷‡ÿø—ÿù§ù¯‰òþu2Qwõþ÷ÿÿˆ,hð „ 2lèðáC *P¬h±‡pìèñ#È"G’,iR¤„.²léò%̘2+("ææÍ LÀy³H—†:Î,jô(Ò¤J—2mꔢ„'§R­jõ*Ö¬Z·ríþêõ+X&Ä ´ñ)Ú´1ÅRëöhMŸbtò” T(Ñ·z÷òíë¦Ô°‚.lø0âÄSÉ à/d¤ÚFî×'Ýž>ï¶ʱ2èТGVlú4êÔªWkeüÒñèØ'ËV{gf»A;ç­íû7p™¥Y/nü8òÖe¯L»ùÒÛ9wjÆÉ™¥gæзs'ü;øðâY»v »{ßçè‹JŸK]7ÞÏëçÓw;<þDõ‹äÕ~ 8 z$àx *^y-9„J8!…Zx!†b¨^}/µ—Ûf»a×[dª%à[&ΔˆR,^ä¢[0ÆTš8Rþ åx£Žýí÷#G9î¸ ‘E&Ö KjXá€K:ù¤“vØ҇v%¾“Œ/uéb—K} ˜-Žyb,†ÉR`;ˆ#IC’œBöh#Fê¹'aH^¤$”&"á zèF”MéR•u]É›|•…¹fE”niQ™OMê%E–’™&¦)â7S›>â$~§ˆ*«Î ä¹ù*ŸµÚ–Ÿjh¡‚"úë“R.jQ£Õý$âEÙ…¶i§ù5 ¦³—¾8jšÑ‚ -µ¡^à³×Rº¦šÚV›­šÐbí¨Ù¾Tjœ²ÊÚ*ðº{ê¼±ÒZo~·ê»ïU¹V´k ½FUèþ ç7°¯Kp°  ÿ*ì° ¤YBƬŒ™fÌ’µz\i³‹<2¨%l®Éâj c¦'£ÜrÊE± 罺js¾ôÞ›çÎ:('¿Aí/EmQp4ÒI+½4"ßщ$-µÔQ?ÝôÕXgÍ4×KW hÄÄÚ„™•Ö!k‘² 1;.µ,së¹#·¼ñ¹o?Û¶È_ÚwÞo³ rÊžº43Í5ÊûêáªÂº¸Ïu ý8äD]AוomµÖ™kM5ÖUW=5è–[>yØMü舑j¹íÊrsyrëw«3à°› nKÃ<7à*EøΉ xžvÒÉ8žÆC¾¼¾’-þzןcþ¹ôžwžy~O }夗NÓظ•},–ËrìzÉt×n;Ýsš{ìîK«r¸óm;S4òL<ª5óO«ò§¼2¯€zrå¸Ç4émîrÖã¨@Ñyï{8Ùʧ6iµ}ëKúä³oÅ:Wk·»¤Ü'gôjUªp¦y­êMõ ‚ä*òÐHœàÒh=Ì‘z["ˆ´ ~ƒä«Ø²PT·úa«~•Ú[×·7’M„"|eEùmQfVšVÐØÃ5²‘#?T¢öäÀìqjP‹c•ÈÄÒ9Q ×I‰,(Èú Ç$jÄÊ!Û¨Hæ!þ°Ž|$$#)ÉIR²’–¼$&-¹Ç°õñh ä CÙB.²”¦DM#3©ÊU²²•˜ÜdÄ:y¶Š¤M”¶ä)O©Ë]&•®ü%0ƒIIXK–¼%2ƒ“K^2³™Yñ¥0£)MVsQÆ„b2³é›e:³›Þ$ 4§)ÎqJ²šSºfê,¦ÍuV&*ß|'ó©Ï}ò³Ÿþüç>£¶&†o:ŽÊ 6Ù©ÐÈ«¡}(D#*щR´¢‰! !…ZD %:©:Ž’´¤&=)J+ˆ@°´¥.})Lc*Ó™Ò´¦6¥) DÒOŽ4¥>ý)Pƒ*Ô¡îeþ§´%Q“ªÔ¥2µ©5*EjéÔ©RµªV½js Z©bµ«^ý*XÃ:­rU¬f=+Z¡Sƒ›²µ­n}ëMk Ó‚ºç OLgZÚ@¤¯~ý+`+ØÁ¶°†=,b!"‘˜d„›ÌKÉJIV¤æõ–îŒ'fã9–²œ¥¤l©ä"„âµ²ëtlfS{Jç©s¡‹ehÉfW?Î2ª”5m(Q«Úݶ‘µ(}m1c+¾Ùzò¨=Å­(uËÛåз'®5…kPcÑö˜Èµ,s³kJ皺ç”n]©[\Û÷º‚laªö§Ýõ}/¢¼Û¡€w´wikO4 Ù™¯Eþhñ퀣¿Ž½&’{Õ$ø6T¾õ¡¯hÇWÝ„þEpvŠ…W4?¦dX)ÀSÜ ,âï$øP[ƒå`ú@X¶â­íVo›"ßtø}>ß÷òaþål‡3„¡»\8â!o¥Ä¼"TŠ6P>ÖWÂãqyõ2¦,zL]âÓuŸñ\WÖ²ÊØ—¾/§«mÖ*׆[²ãâùïgýKž ‰,ç~-çW'&ŠÆ°^ñy`ø‰P€¼dN6™¸0.+_ôBõ.vUÆߘI¶6†,Ì”Æ[£A¶ÂjP8!ŽÕð@œ<õιÔà,KáØ´íE ‰×+"ö’˜Ç šs¾…þ~±uýr&ÙÝÏËèÂñ¦¿8éM›Ñ)d]¦oGªOß †7ÃW›M-íS7&Õp"¬³A †.‰p¬õƒoM±Ò^ŒƒŽv›a&ædïZ‹䢱نiGSZÙžî™ñíÿùlÚþv#ªUím$VÏjÛn5õX-pp³Xܨï¤ÌÍn`Ó{Ýøk÷±%Mq{§9Ø¡êð€ñÍïÃÙ0½ýþ÷´ß¨jlÇZÛ׋ «¾ÄAÃ6†Îu_vÝÁ‹güZæ¥wÎé0»/Ý®ó¸¦Í¨C“ÎLß÷‰r"«üÚJ#x·˜í‚ËœáóiñpqMa]Ï[cÜr©ìó»©pZ~#þó¥øs2ýÌi^×¹"õ©Ï¹êJtš¬é˜m„ÛñŽ]§ypm.vr›7À¿©±r™]•½óê¨&'æ3?ÄGWñã†xã¹øøߥ†ò•q85¯z`z}=`Ÿîçyš_´–‘Æ5†ÊésŸšÔ¯¾÷«l=z^ÞØwö¡Xäu¯ü"_Þ÷Χ&ç¿ëù‡ËþøÉ]>ö Ãûçs¿œÑ·õôI zëŸ7ùÙ?I6Ûz´ýî?üû)PІÿ¾Õ'ù“¬ÿýó¿ÿþÿ?”`”F™”Gý¹ñ‘—ñá6 X­\E NàLåÔ†]BÙ: v †žðÙׄ1Þþ–  ž`Z… “šŒ¡  ¾ • ÞÜØÅ  Þ –Ô .Þøå þ ^ ìQ_ñáo¬&¡.!6¡J \ >!V! áð¡am4úd •fW Òf ¢qad˜Åª!Z|VP±¡WÁ¡¡j ŽÆyäá_¬;íaWùað9œøÝV â^¢6%âU1"wØa!¡"®aVâR@b29¢Ui"tH¢ýQ"&úÀ )ž"*Jˆ'ÞR)¦¢+RÈ*(Ž`î€ù—®ÙtÈL¨O! QˆÃèYŸ!Ù~ýÙ~ùÙ‰½"3 ZþQãíÑÝÁRìÊ0bH ÙY3ZH,Ç,>Y¢‰¥M£è‰#¤ÍØQ`Ü–„‹–YX)ÞÙ„£<Æ#0&L=.ã6æc°|Ž¡#9öãQJ1bc0*˜>NH7þÆ7²`”¥Å¤$DÆÈùDc:"…:®Œ™eÀLA2‰ÂäÙ2ÂcGv$>¤Ir#?þ#‡)Ú3V£X|dIŽäGÌIBHBúÆBâœ?ªºdäßÐ]ÝtÑ4¢Ù–ý$Ûå¸åÚ•#ÛðšÙ¹ãKúŠÀÄdždHÖãLÚ#UÖ$*À~-@„@¢/úPN‹Y*eR¢Tje†\%ŠÌŸ5L\òÙ5¦˜WþXÚdJº!†â’²Y\¤ý\¯ÜÄÛ` ÝڵϤ̎bV£µiæØQ]ÎÀ] žÌm&gv¦Ì5ÀÈ( ðÙÏÇa¥iºÍ»9HªIfôTæªÉmºÚ¬y&Ó€¦h’æ^býÑ¢!&Z?J‘ZqäErÜq¥ºÕ›srŒÑ9žQ<Ïàݦæp]·]¦lN&nv§w~§„&~Œ&o&…ÎõÜ”%ÝjÒ›àP'lÊ‘erÛªÑÌÑæwZNxæy&MinGNÖàN¦s"]ßgr¢æÄ%[ï,ç ©EþÉkžuÂ&w²\|¶Ü}f¨†Ê\~î'ö¦Æþ è-– b/ºfYN}b¨|NÂmèÒt(Óôç'ö%pŠ¢p楱gk>gÇÙ›Ð=¦ÒΙàNS¸çÕy[’Vèvjç’r'ŒF©”2 ,@Ì(ˆ)Ç i£•hÏÉ’*i“N)iÌMéÒTé•zM–ú§‚c jŠÄ &Ê haÛ¹eœbRQÅuÚziåç<é™^ç˜ ê…¢©¢.ꇚçD^‘‚ž§ˆBªi¾Æk&ê“b(לm2*µiþ&œ6ä¨Ù¹L;&%Rb‹PBgÜ(;¦Rª¯YÙ•ª#%Â$éê€ä*~<’€@R€ìj$éê®þj÷%«þ²^Rii•Ùj—µZŠR6Ÿ¯k& +° k~4€±j+¶jë²2+¨fÕ›2ä%Ž"S´Å¸¶«»¾«+Ñ(r. »Â«½BŸdÝšì«_⡺öE½Þ«Àl»Ê«aNIÀ¬ÂB’Áz£¾î«Üè_þë^$ìÂ^,ÆŽSÃF+ÂV@Æ^lÃ*äÃB쨦+Å"…Å~¬Ê®¬*…ì ¥,˺«ËÖÆBì¾–ìÉV,ûÅÏö¬Ïþ,ЭÐöìüÅáÎ-Ò&íÐmÖ×ð„ÍzÎæì[dÔFQmS PY­Wi­:-ÔÚìÔb­Z@ ž-Ú¦­Ú*¡ •Ù®-Ü¢mÛ6þ­h=íDíØ’­Þî­† Ýâ-ºò­à.úmØ’là®â.n îÝŠmâ2®äN®õ9.àê$åf®æš•åB.æn.è†nUu.â~®èž.êéÞl䦮ë¾.P}Èßz.€Â®íÞî:Éîá²®éâ®ïþ.AÕ-O(ñoÞ/ò&o,ÑÕØmñoë*¯ôNoð1¯ó>ïñR¯ön/ÍZïðboôr¯øŽ/dèî<¯d/ù®/û¦…ù¢¯ú¶¯üÎ/\xïù‚oïÒ¯þî/øïýoüò¯ïïûâoí0Ëopø&°³ïCoþ>0Ko§oW°Oïþ°èÁ(‚0 —° Ÿ0 §° §ðåNaÜÆ° Waš¡ýÂoŸ.|Ÿ|@Lî~!I”aÞ°“ ë­ü°äÊ¡ÒaðbÆõ2ð_̉Es¶¤™Ô^EJ'—¢…× ?ãkñƒz±†‰ óü¤ñ‘šìÞd÷ú/Wñ…c/ªqS$§Ÿ_„1ŸŒ±3¥[¤CrØ [Ø»dʱltp÷r#²J6(%ï ï‰ çñ%G¤ßØ+2(O²^p¢ :rl@²¦¸ØM¹ hS%µÎêÐ-Ó*¬²—ÕéLlòxY'K#Oö²þ,ÃrOŽ‘ݱñRzËOrYÙQ«ªeÒ‘hÆ€™ƒD%WnsD©òh°òKòý¸L¦­ÐΙhˆFj¥ó±™òEsxÄÙ0Srt¾ª—²ój6'Õ]—Fó¶Ì :'fß¼†6×¥0Òãþá™…047»S¹Ê¢Sq8«ïì©`2'Ž³ì\ó¯iôŽ–3¼Ië//=§ãEóhH»¦èÚÜs ¥s‚N*ÏUj’Då@6´HêŸC'ôC«bD{ãDKpEG\@ûMLÛFo©ãiR/'º‘tÉ3xœ4ƒ†´R¯t½éMV#°mÜ>#uM¥®à´=6tU®uŠõ´Bÿþ´^JÖPcp+çœXÓOFÿ©KežŠt€ñó8OµI×K=Û˜‚ºW·³žnvµ–¦©:›ZgeBO¥\^å0fã[*ãÔ]ŠfXµBεoŽÖ©±éNR÷µ -¶_ëó1׶KPõwXu(O6>&nÓö_ß2ló³*'¥:µdWŠ^l¶v¶šËi[§JЦ’©‹R7”z§nˆ‡RÀÌ>2kG²kõ3ó™Õ²2¿ªŸæµzt¬ÞŽ.Fu`o'‡oò‚3/“ {Ó·{›5YúwV«Ü`3,Ït-?7‹ÂçÖÙg™"ÜU|Qvþ·¨¦Ji~Ž'›Ê5q-.Ê"U~#Ç~KÙ”$75¢‡¥„iwgç N·¡Öø{j·„‘áI¦uv§Œ~¸ ‡8E#ñŠ3à‰GŠèz°x)Ç‹_ª˜fêŒg§‡Îc÷™iu¢©šb)ˆKñ÷ùˆ9þ9’›ö!w“SêvpqÑ@yŒ[f…SùŽÛç•c¸•k7·Q¨§Š·jãdy׵䚹x¨ùÞ&l·b¶nëµ6z®z+²>º·V:°v+¯F:¥kz¸Nz¸::¼Ž÷*zQo®¡‡¢ë-Ìö¤Ç¬Ìúƒùÿ5‘£î©ƒGª“íª¯^«»ú¸Šú7“zþ­ëðO^¯ûº²»h€ó°p±7±Ç*;µ ³‡†³¹­G;ãš…(-¸‡»¸ƒ;ÓF1nL1­k;±‹ñär­zm yºçëÞúwä:Ù¾í ï;¿OàÜš{N ;]—ºæÚ{ràû¢ù‚Ã3<˜7è×ôrŸ›;¯3ð´Æ‚ÛBÙ¾çã~îßi^ËM·ñŸ–5G#?¯­ô^Û)I)ÿÄ2?Õ¿_ãõ˜!óKõê3§õwô?í#÷û«÷¿ó'¶^3SÛ6Ð4bÇ[ö#¾B½?@0°BAƒ&T¸aC‡!F”8‘bE‹1fÔ¸þ‘cGA"LTp$I“$K¦<8²äI•_VhyRæJš‰^ât ÓfM”"{æä)³eN¡CC&Í ˆ§N' 0AIÕªD,HPiW¯_Á†;–lY³JcÕ™§Úµ.Û®Ô fܺ,ëúŒIt.J¼"ã -jÒîÏÁ|gžËô)T©T­*Áªu Å—1gÖ¼™sgÏŸA&=º3ãÆQ§F–œUáVˤaÇ–=›vmÛaEßÖÒôSÔ­Nn]ywqãÇ‘'Wž4÷rç™*:ýXµð„®Ÿg×¾{wïß=G—î8ud뱃W¿ž}{÷﵋÷MÝ<ëëÄáç׿Ÿþÿå#¸«ìC¿ÿLPÁôN¼ñ~«®ÀƒÒk°?C0ÌPà ±ÐÃA4ëAé"¬2®B„¯CˆVLÑÅa¼hD1J nBƒ*ŒQ½yèÑG2¢¨ E‘L2ÉÃI'‰ðàÄ×”ôŽÇ!°ÌR#"‘@#ïj«°*É,S¿iòI0¢œÒLî®Ä²&GŒÌ„š{ÓÏ?¹CSÍ'ÛE@•‹³ êŒÄ‘E* `Oºýj&Ñú¤+ÓÑ6]Ó‰Äì 1QÑRPÐÇÖdSJC©¬¹+é”@‚qdˆH'íI®¾XJi°1ÅäÉW^‰¢Ô?¼ÞþêT!e—-.1f‘ºÉØ uïÔ©R-ô¾C]5ŽG &¨³IiIJ rÖ'¸~Òë°KÛ…·Øg´kLP/ª¶3zñÕtZôeïÚ ²]uÛV»-®C‚xT"jE·tTWÞÃô Jã0ÓR·¿µ»¸Ø»2öË­aMÞ•OwE LÚŒ‡½ô-’VסøÝU¥˜uökÝ` ظ v3áã:ìa‚;#YÄ‘H Ò³bšLž ã½°~y'­_ôu둳yÝ’Ç{c³·¶úlR³Ùã˜I»WªÛ>ŠÝ²»#zMm äöèÛ¾}¤V‡£N—j¼Æùl²Å& ÉŽåþZg»þÉ^™îËg|q~û𜑒wÔ´×^OoB îá¿më0t©õ‘ƒ¤nöfÈÝU\÷È#úØ—ÅþT÷Pݲ|Ôº‡ç¸íÝ+?¼yÐo sÊqÿît(S§ð@Ö¯€Y'X„„j7>Ìж0™“ý×Eȃ7ŸrÛÑ—x®£å|qç÷*[xÄãÇ;ŒY¯Š0 …=£q¯{ BdA ®#¾ƒˆ?v¿x].€_ËYãÔ†¶²Å_ÌûœÅŒõn yÎ T˜&Tí-{8Úi35­”Š9JÂË~¶> òŒf·SŸ g†µ#úï|ü“žò–e¯žogMÌþx®§ªâ0‡ò"†xH- r±+c$ãe²È7íùíŒmtcfÌøF²0&† Ô"«ä˜G=–%Ž{üŠihG5Ú~4ä!ùB§r†¨Ûb"!IIî¦7|Œ 0‰ÉA$G“ôä'AÉ™JÊp*™Ôd 9yÃP®’•­ìJoÄ@Ê ˜Ò›4’*]™K]îr"°¤Ñ%MiËNò’˜Å4f|ùZ —Çtæ3?™L`f’™…„æ5±éGi–2˜¨¼¥5³Nqrq›³ìæ#Ç™Nuþ­œ%8'×OyVªï<Ø<ñ™O2µÓ§D§>P ñ³ŸÕ\@šÐþ´%0¨þB!Ñ3¡1¿œJC1úP‰n”£Ö£èt.ŠQ‡zs˜5éI‡öÑù„4£$m&JaSØ@¥éHÿ)Sît34­èonªQž•¨h¬©E'T—‚³¨Mu*€Ž T‘ õ©UµjG| Ò¤Nu©½êWÁ ‘¬®t«-ÍiXÑšVƒŒÕ¦\=«ZáúU¶"U©oë]:×ß Á­ðÄë_¯ª×Ç ¯÷ìaŸ*Ø©€¯ ¥*b!»SÅN€ŒulW#›YÉFu°Œåëc5ZŽN¶²•Å©_E›Z‰’¶´$­jaPÖ–öµ±µíÇj[Ùç’úÑÿ8tÓHwzRzþó§OÝ#Q7:Õ±¾¥3ØY÷ºŒ¶.õ¯="Vo:ÙÑÞ³w]9EXƒàw¹Ïîu·ûÝñžw½ïÝ k(XjÁžð…7üáŸxÅ/žñ| ïxÉOžò•w<ä¿ ‚ó÷üçAzÑžô¥7ýé¡‚ jíÊ^ŽÀ@ˆBÌžöµ·ýíqŸ{Ýïž÷½÷}!#x…5ÀÎå-p€øÆG~¼•Ïü®"Çþ»%Cªõ´ÖÍý„€kðJ Ž¯H çO~Ößþþ®¤àýðY ¸¿uT§Ú›ºñB!ø£¼àül <@þ”" ð;Ð+aý$(%p)°-ð10)!ÿæLöÏûnãÿp»Bù£Op½C•â50epiP9ÐÉÌçf­ÿF÷C 00)Pp?\0)`°•p ™ðoðO¢n—ƒÐ»ãC¢ÕoC" ›0 ÅP ŸÂÂN •ãÿÆp Ù0pÛ0åP‚´$pñ° ëð#À0ý ËðM¬®×xÐ6Ôð%HLqQÞð ÛPç0Öp=âÇx2cþÙÐ;¢#Q=qK±ÑLzN Ô ±6±KÑi±eå‰3‘ãðÑ íPÃð}1‹Ñ9ñk9BÙЕQ¢qS±LV “#ÿe%mñ­0×{±ñ#0Q É‘§‘»ÑPGÑ‘ñe¥÷Iÿ°9´ÑÉ‘Û1qq å‘ •Q¥Qg±-"!ÒÏñ r ×QR!q¢!52!/2 ™q#œqݱ;Ò;’; õ‘§°(à%a2&er&i²&a2f')'l²'}ò')` í0R€(þu2'cR'yr'_ò(™Ò)•²(²"²#ÚO*Ò)›r+o’+¡’+™2,µ+g’*ÐÂ%-Õr-Ù²-Ù’xp"\A-çrê2.åÒ-õr/ÛÒRÒ ?0_‘6þ, 3)‘ò)s1aR(Ñ‘(1k2TÀ2*eò+Ã22aÒ,O2533»4-s'Ť2½ò37³*›-ù²5õ².é2/Óò.e³6]ó6ÕÒ/qÏ@p£0QÓ(s4ƒó'ó=S3Ç,Å24Ç’x˜S393“32Ÿ³))³9s;AS:U$Y7Å6gS.CE6É“<Åó6uS%Óþ78‹³'¯33—s>eò8­²:ó:1ó(‰3:”1§“ùs1ës9‰s4-ó>³@¿0<×Ó5ÕÓ.m³<-C'”=ÿRWÒ[?}3ESDmR?9â*‹ó?%@™'Y48!t(Wô2Có4KT,´8g”-à€4H…tH‰´H‡4ˆI?@ITI”I™ÔH¥tJ…´=33DMÔ&KóFÔDQt#TtEÛ")ËFo´KIs)»32{9ÉTM±“MôL±S;Ût1ß4”JýTJ£´IƒTLUPÛâOÕH­ÔCß³× ` aN$uR)µR-õR1þ5S5uS9uR !·°:uTIµTMµS÷4EEõTYµU]USS$+ QiµV“ÔVqH+ CUñCSíQÓ°^uX‰ÕUÃT#Ú¯X•uY95V‘uU™5Z¥uNœ5#:0K°5[µu[¹µ[½Ká[Åu\³dWw3ÖzÓQ[rZÙ•Y5#’µ]åuX«#âu^ñõTëõ"®•\ýõ_¹5\v`Ë•W­ÑW?X³QXóµaIõ]íZvb3u_-â^)6c+Õb+¢_ öcA6d½Õ\ÝKgMaù‘a5ve%b/cYVc9–"`6f)vf'ÂcEVdÀv–`IöJþy3Qö8À„ i•vi™¶iöi¡6j¥vj©V¡üÜÏKªvk¹¶k½Vjeå;‘UV¾¶lÍöl£6l½"êägy6 ŒÀgÝv\ÁÿJvhOöõbï÷ø¶oýöo{/ø†¯+0DOòCÀˆp ÁpáquÈ#¨q/C$À ÜàKÄ"û¶ïnÑ•hÃÞŽïDwtI·tón ×+ÁòX·u]—ñ,V÷ui·v[7v¿BRõx·w;o$@ |·x=/õ¶hӚݠHtéÕµy³éy¢r¥×•¨Ô˜×z {³7z·w•º÷WÁ›Äwþ|£wº–7}¯i}×ÏrË”Î7aá×y·MVÚ×|?4ð7I~+ƒú×~W2ø{X—Ø €|ø=x8|µ-j$`è7šô±‚‰€ `„I¸„Mø„QØ„=`…Y¸…]ø…a8†ex†i¸†mø†q†ÛÀr/à àà‡8„xˆ‡XŒØˆç ‰•x‰™˜œ˜ê Š¥xŠí Š­øŠ±¸Š§˜Š³¸‹½ø‹Á8Œ«øȸŒËÐ8ÑØŒÏxÛXá8ŽË8èôÀ… õxù8\Xö ÷@Œ½˜ ù™ y‘‹ù‘!9’ù`’)þ¹’-™’û “5¹ ƒ BV†€ 6¹”KÙP9•ÿ`•û¸•]ù•a9–ey–i¹–my–S Äz³‚A€rõ—”„y˜‰¹˜ù˜‘9™•y™™¹™ù˜±„Hà ¨¹š­ùš­ ´y›¹Y›+&×57tœÉ¹œÍ9\„ôa’¹عÙù˜g%HÏyžéyC/õ_ÑV Û>Y‚’6 Ô  Z ’Hà :¡ƒ ž¹¡ú¡!¢Ýy¢)º¢-tçlBÀÓ*¸£=ú£A:¤+xÿHš?ìÃZ+¥Uz¥Yº¥]ú¥Më¦dz¦iº¦û)“NR@V€þZ \À^`¨_ ¨:¨ab`©—Zf`h ªi`j ªkà°:r@vàG2 v`|`¬Éº¬}à~ ÔZ­¿º­Ý:¡áz¡ƒài½U®íú®ñš¡#z¯™ãŽ ª “T£° »*0i ŽâÖ,:²%{²)»²-›¢;³5;³™ ³=»³  šÀ Hû Lû   ¢`µY; ¤àµa;¶c{ˆƒ"Hp;·±`·± ² ´ ¸ƒ{ ˆ»¸§` º ¹Ãà°™»¹û¹¡;º¥Û¹Mwïà >`Ê @@Dú»Áû£Kš¤O¥aúþ¼Ñ;½YÚ¦Ù»½1Š–rz§W৚¨ú¨“š©›ú©¡:ª©Úªmàp@«¹º«y@­y ¬ÍzÁÑz­ÙÚ­Û®z¡éz\ó:¯ù:ÃÙ¯°; {º­Â’@±Û±ãö²U|ÅY¼Å‹`³aü³e\´IÛ NµU»µY[¶yüµi» (Àt@V4À Èà x;É}[¸‡Û¸‰› ¸  –[Ä©¼Ê­üÊ™»ºõî)Ì  àÂ{̿ۻǛ¼ËûÁÔ{ÍÙü¼ÝûÍgÚ”N §U@|¨ƒÚ¾ï©•Z¿ú©¥ú¿«:Àqà¶:¬}¤\Áœ¬ÜÁ!þ<Â%ü )Üi–.\Ã5½˜_ü¯ @ܪ“’` P²]¼zÕ]Ýa\³eü³E{´Kû´s\Ç]»Çe{ˆÒ¦`é¼DŽ<Éy{É™ÜÉŸ<ʧËýÙ¡½¹µ<à@" ȼÛ=úÌK:Í-¬ÍɽÜK ÎÑý½qúvú î¼¾‡zÏ] ©ûœ©ÿ¼¿§Úªk€Ð ] üGÂZ¬}¬ýÁ#}Ò)}®+œ`‹[7]Ã;Õ?Ä« H}±Å_ýzãW=Ö{Ö=»ÖküÆs½µ¡€×{ý׃l€ ÜØ{; ˜¼É‹{  \Êþ£}çy>Ú§ýîÄà¼| <`"à@ÀÛ½ÜÃ]ÜÌÜ¡~ÍÓ=Ýå\§yúÝó<Þ÷<¿õ;î]ªõ}ß }«ÿýÀ{$àþ¬Óz­#=>á¡vn·õá%ú¯ÔC\Ä3ÉÄ;Å=ž¯=žÅAÞD¾³IþÖM;µu=åU¶ È ª ¬)  ¬à b^Éi¾æ磼çA?ô«üçé. ˆ  *ªÏ)°žeögiö'Г;Ãx¿÷}ÿ÷÷ë÷‰¿øeð0à«e%p›`*ö¥ú©_ö9@@õµ- û½ÿûÁ?üÅ™üÉ¿üÍÿüÑ?ýÕ_*Ø¿ýÝÿýá?þÛ_DY” àþ ÿõÿõÿüÿÿâ€À $€0¡Â… :Dˆ ¢Ä‰ *Z¼ˆ1£Æ;zü2‚‘J8‰2¥Ê•'K ©AÈ™4kÚ91§N øü 4¨Ð¡C,`ÐÀÑ¥>:]À2ªÔ©T«Z½Š5«V–x;PK­AvªdX_XPK\8–AOEBPS/img/driver.gif?4ÀËGIF89amû÷@@@€€€ÀÀÀíííðððÐÐÐààà    ```000¿¿¿ßßßppp°°°PPPÏÏÏïïï???ÕÕÕþþþÓÓÓæææîîîñññûûûöööÝÝÝØØØâââÚÚÚìììóóóåååéééùùù___///ÒÒÒÑÑÑÞÞÞ333ýýý¯¯¯üüüÔÔÔŸŸŸäääáááúúúÜÜÜooo÷÷÷øøøãããÛÛÛÙÙÙ×××OOOëëëÖÖÖòòòçççêêê;;;èèèôôôõõõvvv±±±>>>999:::555zzzwww ®®®………XXX666yyy***¸¸¸”””¢¢¢,,,sss{{{­­­qqq¦¦¦777JJJ›››žžž---jjj|||tttggg´´´]]]kkk§§§<<<©©©ËËËÇÇÇ===mmm˜˜˜ddd¨¨¨+++nnnLLL•••«««888GGG½½½~~~¹¹¹DDD^^^···EEEÆÆƳ³³²²²}}}uuuCCCrrrÍÍÍ“““ YYYÃÃÃRRRfffŒŒŒœœœŠŠŠÊÊÊššš–––ÉÉÉ»»»ÈÈȶ¶¶ÅÅÅ(((xxxcccƒƒƒ¥¥¥‘‘‘'''IIIµµµaaaFFFÄÄÄKKK£££lll‚‚‚’’’UUUÂÂÂŽŽŽ)))‡‡‡iiiººº———¤¤¤BBBÌÌÌZZZ‰‰‰†††444¬¬¬NNNhhhVVV¾¾¾ÁÁÁ¼¼¼MMMHHH‹‹‹TTTÿÿÿ!ù,mûÿ© ¤Fà€ƒ*\È°¡Ã‡#JœH±¢Ä jÜȱ£Ç CŠI²¤É“(SªÔXÀÀ´cÊœI³¦Í†.¬Üɳ§ÏŸ@ƒŽ$`À€¡H“* ª`šƒ¥P£Jº´éQªXC>ˆ@ÁUjM cÖŽ¦}=˶­Û¥¦é|Ë–À‚ixñÎ 0-5¾~Oðô'Ñt+^lòÁ´Œ©˜f‚ÇÓ2¦v@À”¦`:@äÓ¨G@j\µˆþÛ—Y³LC`v°ƒ9 ¸k`ôOÓ ´^Î|ª¹Íƒ&ØíqófäÅñ*M€Ëûÿ­½¼ùžäÏ÷äkœ£õÚi†Ú€ééôgEÐ^½ÿÿ€;±W]m›áÀ‚x¥ß|öçÓAVhahkYXw¦ –fÖ†—Bz8„AQ¨áŠçaÈ¢ID9%º=@›_›ÝõÈ÷à‰ú¥â‹D¶æb‘#a“K˜öŽ/–N(BX_`? ‰ä–ŠÉ%H ¸4âg7–IMZ#šV¥~“M“¢„_Æ™•—rzÔ#™"uY[ZÖégTtþYaŸ‚T †úGh¢Œ®„h£å- é¤$=Jér’^ªiG–nzZ¦ž†Úi¨‹Jª¦£žJ—©ªNšj«|Âÿ +ª°Í«¶új®’ÉÊk£»þ®ÂÖl±J‹ì—Çn”À‚ÐF+í´ÔVkíµØf«í¶Ôfˆ’²ËnÙ¬Fmæeî¹è¦«îºì¶ëî»ð¦‹¥Jà†[ä¸Õ;izôúj¯±µ~ëï©ü¦¤ï¿+â+ÐÁ,0‰*L ÃŒ:|Å(1ƆZlÇ«·ñÀ¤z\È!›7²°&“„rÊÑ­ükË#½ 3s2óJ³H6ßldÀ“êÎ!õì3j9çJ4HFYÒ¶.ýQÓN/õ¬R{DuÕ‰] kÖmÍõ[^· 6GbÝVÙªž½QÚjŸÅ6Áó,tÜ-ýñÝ›ºÿM.ßxǬ÷É€_êw¾…¾ÜÜ%×ý°â2>´ãACùà.'¾/å{[~!æ5kéá ‹î¹Õ ólzÅœ~:’{JúÄ«¿NvêE×Þqë™Ûþ_ìà€nÏ‘é[‰/ηïB¯‘]癕AšÔàiÊëÎüœ¸3­ySÒtW~¾öØQgRs}dÙoŸ··½Ÿä’YÔ F>òèFÙžxÉF™ræ‚Ÿ[Úç¾ò8O * §€d—8|¦Á ¤D¾ôOŠ!`›s@¹i÷CÎ\šÀiìèzëcŒ7¸¸îM-q LŸF¨7¾ðºñËúPøAöñ.t,ä  ÿµ¦9¼ÐO@ i€he‡LábVD¤ 1lßÛ dp*1yÏ‚ "Å þPuUl¡ÑxEOM_¤Æ]`B™öðz.YÀž¦xÆÜ¥ñgkô#J —<§CÇ;gЀ= IE8ÈÍÈ“åý4WD›öEÅKv)“oÛäŸ:éIºtps•e)}rJ 8 ‘%ÚdYR®rm´,Ý[&s^žE¾LŠ-o)·\Òn%À$g䎠/_˜K&ë§Ì È™Õ ^3kÙGïó“ôæ Ë…Èð%b*ÌdšB³øÒ—(Waâ™—rr§AðDÓK)ÿ1uS}ÿ$â7»f̃ñeDŒà—ô’2¬c,z”´ T7 BhZ"p€¦Lp¢ÔhŠF©K8ÀÓüÈ0:•V>ë3ø¡Í^äKwf¤¼$€D‘ø”—Ú&Ž9•¨4³Ü%œY)KUPÑ åª!y ÌͼS-×ÈS£Š<^^Óªµ ¦H”ºÔ¥´²)x@L7C äŒ&˜²ñËU{T= U­@Åjâ Ò¾Ž5 X,+.‘*P”\o­úI‹\kãFŠNT§ tŒN›×£¸2n„L0Ų )­Ô C]"ÕÝç3mZ€n°0Øø|m‚Œh:›ÿ¾6|)ŽnŒ³Ù+zö³‡jjJò÷$Fà©N™ ”ËìvO¯„Lt BÛ\…¸ÖM¢“(4]j8¢ênwÿšJàr°ý [ÉeLV“æÅJ+ä8Îè·ñíÉ|;rŽŒ—@øÍïNö›¨ X%Þ]y •ÊÀ þ¥pgöÞPFجÖY…ÿva¥8˜“F\‡“òáQ†X—#n^†•vâc¦8¸è…/…ü⟔ØO®ñGn\§ëx1¶ðŒwbÉüòXN>þñFŽ§$+Ùš+ŽZ‹‹_&ÉÉOvP9<ä•PÙ¼Væ–Ÿæ-YÉeFÒ™œæ"­YÿÇm&Ò›kçäMY•tŽ2Öîœå4^€´ Mhtñ¹Ï.è¹ÅèF;úц֜_\gM:Å•^Ñ¥Gœi mºÃ¶Ð§/ê :Â¥ð¡É-‹¸ËýbuJR}ßUËzCzþš­o=ZÿçÔ öµ€}`Éu¦GÈ6ŸOƒrìd›ï-Ä°ä,ˆ.¿ªW]t‰¶‘s½äyZ¶ @Jy–|{AÙÞ5¯C⼬ú4Œ hâ_º‚'pÅéKÀ½1˜U{¦CaY"àê‘h»ÊÜ!{*¦ÝÔS ÓÉËL#þy?•¸“(c®qóäà`N8G²zU¿8ÆÿˆÑQtS¤ÅF.1MSld¢ö°ÜåÓ°‘ Q;»Ž€¸í®Þ\»ªY÷2Ó@ŒnàÈEFï‘cJžõåçŸ z†L½žk4ÄÅKøjn¢¯›Éê?Áº`µ¾pvÝ3/Ù P²$ÊƉ k7ÂV´ûDíee;4ûvjÔÈÞ¤Ìg$‹÷^±gï9G¿TÁ·–ðl‚>qÚäeìß¼Æ#ßbŸ«{Ý;¹Ü³‰@˜&™¦™{ë;t€€~õ{–ÓŸÇzÎØž~!Sð‘By– [=ÅèñÏ“üo.ß<Í'æóËý[PO‘½˜Oz Çz$á‘ ÿs7“Õ +Õ_eìZ²Üe@›QäIʈ=îwɪˆE;äÑ2i,ðd2w!neçzË‘~¥;Ú1€nä§ì´?‚ ÷Dyq~R¡€ž$9ÜA_%‚ÖeC$åAØxIHe!$$:{‡".è^4v©w~¬òã·u.te6ØC*h:h"-ÌqÒ2‹äŠkØèÆý%L¥xÀqŸ·'÷TOüt.Ð!Œb·L“g„áwi÷‹Ý;õ‘Èert0>­†.ñÜáp¬ô7|¾˜Šª¨„ßM6rM¯¡YóZAY2»qõC²!peO@&¯t¹Ñ—V“ŽÒˆz±£4^Ôwa#“áÓ%KW."&aQwajˆm¢¹……¡¸A èŒKM‹…ŒdÔ=ÈÑ$mÿÕ Üq›1ˆ!BRè#R…ŽHF¹n/‰÷#±¤ B[á´^:$›¡SR¢ â&и-Y@±3¶ÈWפ~åV±Trh€Ï˜UÙl•ù“•ê# a&ÉŽí;2#…qwyA†¹E&'·"ˆˆqù–á“22T;b>_©aé>±=D[sQñ~Ì50q èFÅñ~4§U.Àјr˜b²'EA:Q™Iu”¼<„ôyXRŒ/1‹å"A©IOb—š3$&ì„qëÕ¡O°qgt™Ûs@<¢‡çólÙ·M;}󇛷vŠ©!Ìÿžlè²FžõÇ—ªˆž>¤ž[Èž8‰íè}vÃ2æÉjð™…ò9Ÿø·„öéž–ÈŠ†sŸˆ–Ÿèe‘ˆiJ)âé;ðùÌx j;Shz¡ZhÚgó,‘ö¡ÆN¢j_tíÅ|Fd!'šu)jï™Ò¢k÷¢å145£ Êi6˜1zŠ²£ Ö£Bt.§4xDʉèz‘"¤¤¶¤Ì£æb瑤•'¥Ë£ç‚{̥Ƨ¥­ñ£ébœ˜¥¨&¦©á›ÑcR¦Ê§¦á©. P”Œ§Î'§¨A¥䦽Ÿý)(\Švz+hlzz?Úšuÿõ¥‡Zlò'¡ÁQž©Ñ§ß$y*£úsŽÑ€ –l™(È¡ ÔWzOæ~“Ò&ØÈ⥀Ê…ú% ”£Ë!³z2ª‰â?‰Ê°w¡J.()1Ò¨ŒÁ°ªF—‹‚ò£Ëš15¬¼Q$z­ØÊhõ”­ØºÔÊ)p˜¡â:®äZ®ìrHßÚ*¬š«éÊ<¯qwíºJÔæ§ñ:6Ç*¬õúG­ùZ@ïתýª‰yªë4È®«8 &š°Ë2¯ËBtè©ë>Âh¦ë;¬ê¬ë9µÊ«û:¡! 9ÇÚ°%«2åæD$ëÔf‹)k( À§éÿ²M‡³£O°0À  À3€* v в(QªšÊ³Í‘ºq)%13ð#B¯ë µq"ºI0´)Ñp¢Á´$ñ®ÐáµD‚s>1gK3aoá”ká«ô궊A\)@¶?Ñð)u´5 @Œûy°# ë·,2`µI‘ø–Ó@3ÐÑ3P¸µ­’k!Ó¡ž»€¶ºÁ…«Gʱ¥µÓ ‚» ´À·%¹_8°·ë§»»P1I{p«kúcBÅ«2¹‹¼Q‘̛ϛˆ1½Í±°ÿ`½PÑ( ¾$1Bè½_: Í›ÀÌgÝÚÛgLÓŸ+¿e]“ö µ%þêxþë¦Þ¤mÕw®¸L-å=´ï]ÇL¤ ÙbT­Æ{Íë¼ìaÜȇ·+×ÐÎÎDkê[\ä#=ò«ÀÈÍØíê¹­Ö¸L¶‚Þ×ß[näú¶í\Ðó Œð“mávLÙ‚;0°@ËE+´AÙZìñ?йDKñ©œÈ!”mðmMÎ?@æ±Ï ÿ¸Ì+… I0Ð%-ÉPÛƼBíœâ¡ÐŒþ­ÓAêªòÒϽgŒ±n«S…N*Ú½äÜiÞŽw1סbõ@ýÚ)ëQO*ÖNÎg<Ô’ûH*]óñÞ<ﶓó¶BÑs Ü×\ºÜ¡»¹²ÜîýyÜ&|o+/Mê!-£êû®ƒ?+Î.½ü£^(“Ïä¬ël«¬OÀ{ÙÅÎòýùÑÉ©ËÞy‘Õ< =yÈ¿(`ðŒ‘µ'ñ×d¬ÝzÁª¿ú3 úf‹çÞï{å fnÀLœçò³AûÈIð*°û"»'qøç’÷ì«ë²¸* )ÿ°Ï=mïm.qÿÀ`Ë.«Í"IÐõËŒ.hOÄR«.¿_!àë"1‰>¿`ïÁúÓüAÍàA„ .dØÐáÇ œqaàÅ5näØÑãG!EŽ$Y²!"0 ÑäË‘* Î@qÑf˜9uîäÙÓçφd%zÐåB 8jÚˆ` €¢Q¥N¥Zµ£ƒiV{=(aFŠ¥L àtÚ­iÕ®e[òÁ4 mK¸@Á®E±6d¤–`à¹f[`Ú Â qäÍk AB H\ÙòåœR`Þ¨‚±M ('0ÐgÔ©U7Œpauß%+€àPÁÿÀ¯uï®ì†Ú H¦È‹ B¨€÷sèk L+˜–ÁQ±Ÿ Hî1ÀÓèáÅGÜ@m Ä!= Ä9Ò,‚ññåë|»9íq?øx$„˜o@A:@ óÒ’<âO²ÑFŠlšÉ ´ð‡"˜;«júa&øÁ&K2L 0TqEƒœæ7­6è‚ô¢I/˜nˆ/{$Щ ¤J¦PHB?„H"¬ à±$˜›Æ9«”ÏE®¤š€I›ê²‹¼Äª-§·ÓJ4£›Ð>©Ö“í3ºËé½Ó´óµ§a“¨wÔðÍöê©´±î4ôµïÚÿÓ§>§)Q³> ¨ ÈíPL9›PO{ÂÏ&*@H›ŒÀ? D1SV-+k „ÌiA½êDˆî¸»TªD§‘³U`Û*@Êi.HB'mr²²(› öY¹†½ˆáJb€K Ÿ$Ì/P…ö[«¤¶Z®kYÌ€\v«"@]›TH¢S”ÄV l­ŒPGÛõw*¬ÄRdEHppS¬ÓTûsš]ÿ•Ø'HeCáK0EàWΖcob}" b…“¬Ýzå8d–¡$ÙäÆPæíÕiàkùæœxæSÅãvÀpú% Ô‹¹ù*Õwh¨EÂ5קããÿ·á¨³–XGˆµöºÝf§üzìo{=“l´3}/m¶1u±ß¶ãNÓi¹ëö1ÏíÖ[Å€§ÑvoÀã ;ÔÀ ¯Ìi¼5|ñçèdüqÞø-rÊ–,âÊ3¯LÕiÚÓüóÄTõoÐK§*l´ÐprÓ‡Àb—}vÚk·ývÜs?:P) Ðýwàƒ~xâ‹7þxäisv!0+yèGº¹è«·þzì³?Þ¬˜ö¶Ðª^Kxmò¾õŽ¸ Ýoo‹@|µàš©³ÑiXöƒ0ïĦ¿ˆuûÝÏ€ß@@ˈK,„ `HÀLùEq„yWcX–M0j°ÿ)ó]ð?Ó¨¦ À?ÎÌo %aGàÖª¢¦oj¡HÀ@LÅ5?sV A»`é5 V}ø Kˆ¨Qàù@†’€…mI" !˜šÀkŠSàY4X•*²j‰9@®ÌxF4¦Qkd#‰8 ´QŽsœ#éT™pGCž L35ƃô fƒ$d! yÈàp59È©42DàLQ,À©¾­6”¤A€@vtˆsxE„|‡Ž«då*ÐJXÎñ†ÐqŠ$ëTÁþ¤)ŽºMÃ4$šò%Ž¥1ËÊbÊCÒ ßi2UÃCÍ/8)Ù#€2ÿÖL—“™æ0)äMG à‹Q¤¡”I f²Ë™ªU¤œ£¡pG]H„œr€ýQžòô[iÐòÃrÞéœé×:_s€2„ #‚•`¥6 õUi ƒ¦i YQçE1ãO„DfT$TˆC b˜Ð ·©ŸEC’Q4m´™Å sòX´oúeP…Lj0§a:å)…p%6€•ähAiz™.¢kgþù)5z©zó© ©•dÚÑè@QŠuJÉòDõ«©%¤¬—Â)1ºU}Õ©qëj•äú­º -¯=º+´öz³¿®¨¯Ï ,Ë ‹¡Áë° [¬… ¬ÆJ,ÿ²zl«&ë¯ËΧ²¬Ê,X•¸Ôe6¯pÅYgã³ÙL™v´J}AWÛ6ÕŠµ˜Š-aIË¢Ùª¶Š½­`A‹NÑúµ·†.bëZáÒµ¸Ê­¡v Ùå:ö¸Áµ­rYëäV¶Ñ-PsRÆ4¢ó·)@Ýš“çZ–»”îGyjTƒ $Ïz1k_Ͷ×#E ø¢( (ê$QŒÌÒ@Y_ë~¶µÔåˆKY"J®ò[Z„» QƒÀp¾Ãº Gó .€ÑàĤ—³ø•wâ`]rT2‰TÞæ—7u-@]„ûðAnlÈËf"QqjY|Zý‚Æñÿ•±¯ô9¥£få@<€S `˜Z™©%š2ªì7jà‘Í2fŠüZ+.X$Kv¨C{Ìd«Â‘;·y€ªÀ´TÂí-q)`D d'ùÌÉU0v¼679´%bä{û•båkË¡%Q˜ýgA'8͆^3Rcüià2:+~Áš'±)€8%Ão&µB0é—Z»›nHvìi8çúÍŒ< P1ø”ù天Ñë_;*¯t¬5-Æ$$Ñ Þ5GG@*BoŽó@òÆì2k¤È´•ut\¬¶"„;Y÷±±Éîî”Ïì¾ä¯Ê1yÇ[œ'Ýw¦·{ÝZZ½Ïþcÿ´ Ͷq¿æÜhJ¸sË …‹ vpŠÕôð:à y›dÎûœ†ß)䩉85TÚhäsÃ8oJ^ÏŸ4ÈX‹¤û €1]0 ¥PÃꬄÛ'+§J®>>ô–ï¦äêB€Îæ1–L£a3VpLB¨ Õ›RzOˆžžV=vÁüL쎃œ£;[ã ±õDºØ½8 ¨Y1æò7§Ÿ·È9àì:Òš’¨_¤E0ƒ ¯+,AñK8¼áÿЧß&ùúeJ®áª)–V@•k ú­Õ‘é|”½d0&Ý$(Ѽ@¾Px/,a³§}ímûÙ·` ]PB¤ÿ¨WbPõ 7¸FÒ}Ræ 27”=Eû–Ü&#ËŸ]yqúË@g)‚d{ð‡_ü-ð O!Úø›Öl¸C ƒÀТð¦ÌOĒΘâD=U*¯`&¸/?<Àñë3h ™éˆÿ«Œ¥«;‹­«:m=ƒø“ ©& „þ›Šdõˆ"è6ƒ@à‹ªâ–]ÁÁŒø@©A…xæ¸ HA$LBÚ[‚"¨™¾;!ŒËÓ0î°•´òˆ+”‹(4ˆš†/ø>% C$ì&:38ö›)¹¨ %Cÿ7LÂX@*¥T)d‘-Œ |C>LÁ+8' «C’›Aèj ¿hÃ>LÄlB‹ 3AD;\‘(\)PDK<@")5®zDΈD‰Âi@ÄKEÜ+šÚÂÀðD ÂÒER|ÅÙ3Å·BÃ…h»ŒS‹Ò¸XÜÅ‚SäDÌPÅ aÅi`‚#äÅQô‚ë[T” a´bôBd¼D(Ã_¤E…°Åc‹Ò Ž"hiìCJ@†k\»Zl?#ãÆi`ùG7ô& ‚\ps\¿tTÃñiGj¨ˆixp”Ç€&Dƒ:|œEtÌFu$7v ha‚78Fÿ‚¿%øÃiHK(…ÌGhS3ÏÂE´ xB 0ƒ.ÈŒ¤= °‚óûD`+ I†ÔG‡äG“”È”Œ°ƒ8À —ÄÈiš4`CÀ€ÀI\ÈcFË#Ä[L‹ÒÊÊ°„¢)¸‚Ä#EÝS3(Ãi@ƒ8ƒ  €J©ÔɪÄÆ„ÐÆuìG®ôJ°<ÈC<)è>ï[˜D@ X/P‚7(¶œ-€„,€‚ ˆË¹ŒÊœ¤J:ÄË<óI­<ɠ쀯<ÀÌð$8‚ ˜ƒ,…5 &<ÜÌÍ&‹2¸?øIÿÈÌÍ”KºüL‘,8’œ+¾¤”ìJÔüËÀlÍ×$à/c„F°Ã{„'Ï'pó4ÏAõÌ>˜ƒhø€àNâ4NÎLΩ\ÎSjN4+;œNÕ¬N×<ìÔNîœ Ð€"00‚!È€ ( ¨h€÷ŒÏù¬Ïá,NÍÌOÏÜÏIN+I…ÎÓLÍÕ´NÍÎí$eP…P ¥P ÅP åPQø”Oú´O=ÎάKÐ «´Œg,b P%Ðë´Ñ]Ð}ÐÐ ½Ð ÝÐýÐ5R½ÏEεËÿÐlȼ|HÝzRQ1Mé¬RÖ,нÑÝRõÒ S!%Ó"Q$ÅO5eRþL&¬ÜÆçŒN¿Ð;½RÅQ-ÝÑ.õQ0 Ò1%R=Ò5Ô%UÎeÎuΟ„Ñ:¥ÎH­ÑIÝSKíÑ/R1Ò2%ÔOMÓPUÑ»tÓ<û/_ýU` VaVb-Vc=Vd V¥‰HT}ÔÅS,¥TåRXýSM¥ÕAõT4URýdS'M¦B$qWr=$9e7:uV+eU=­TjõÓLUAíÔ3MREÔQíÏRýO­ØÊfÐg•ÔvÖ>ÅTY TN5ÓBÅÕnmÒM×Ð"Í~MWgpÿGhŒ C¸<Ѓ<ÍR‚½ÔXÔQ:8Y?ð[ÝÖ{Õ]åÉ7•X«ðWGeI›ŽõØhuÕw5X@­±XY{=T—mS˜MX*µih‚êÌ€D¨…XÀ€Rð„ `„)X‚•7@;øÒ^ˆ„\X„@Å 2Qȃ(X⬂…)˜‚EhØD5§EÝËSuÔélÚêä‚iˆ(î/[&h† ؃iØ‚3˜†4S´Ïa*€€‚¶V°Û|UTÿ<¸åÛ¯ô[Ö\Á†SK(Æ`†i(‚`)àB˜hÈ€Ç- „ÿ1 ÜiHÛ -„%˜HØÜi°‚ †iPƒ5uXf(ÆAØÞ´M…iÀ‚<È- æÝL6ˆÞé½[Ê[ˆlÔeÚîõÕ_ñ-ò-‚ä•òt‚ ðUpùýúÕ,è`,Øß è_éÅ×—eÑKÚ™M×¾=àž†ðå€ñÕ€Ùý€ih ­…ZÈ'ØßÝ‚iÈ`"9„úŒ‚,aþßÐÅÛÑEÐxA…¸7q+”k6-´^š-`ÔEàïuánàÀ„ièƒöƒ P†i¸S˜ÿiÈภ] …i #ö_6ZNC† ž ¹(n;¦Ê“' B+Vá¯lƒ4¨Nˆ‚D ,ð…í,@XP%˜„E…ñ\…/U…[xßøõÐ9À\Ñ0èà] NbƒÍœ^à$.aR=á…0©IŽO%ÊAȤ(b¡å3¢·PZŽ"Ñ0µø¤ˆZf.¼¤(¯ÑØ0):gN€ Ò^ÓUUýXiåS‘µVyMX¡UÐue}…å’- 9Ž³”^qŽJ9(„#0S€r²uÎï(Ÿ ¹çcëÏS o›’e´æ†ÔlÞYw-Ø‘½ÖyUØ[åÖV¶ãWÆãÿX­ïpU€ÕÁå@6`ƒŒÄ&P€?ËèÕ.ǨÀ0é~¹ )'S—€uyŒ™«æA^Zƒ†ÖVMènŽW„­UmÚ\õÖ‡åU¦jˆŸºèýÕȰ~i+|ú¼ò•šŽ s²*T¾~ùŽ†é±­~jj`ŽKQ¶ù§|ŠŒ Df½æXåæjêMêzçˆþV¤ŽØ<­^¢硺P[¦Þ¡bKÓhžƒŠÀ¦®†›klæ“)~I¤ÃÞDù±ŠøABÆfžX¹†×ƒ­ël½k†Íë£>Ú¤îëFbÑ0Çø¤Çš0X4œr€©ÿ(™í{³ûí m!kƒP6,3£é3l(Ô±ñâ‰åH€+NUÕLƒ08èžY°7oêÓ^Xˆ®c½fm¾®è\‰ ¤@KƒêÓðj K>æg±l÷ká§üné)Á)'cŽŒà0?sîlkĞرÏVÍ&˜íæ8˜†)ði¨‚i cºÆVz%ï–ÕU‰.gŠ>ç‹X–f9šÉî‹æ¨&– ïª§Bñmæ0ñÚ^´G€÷ ù¼k³”Ìþ®?gª@Ä0]MhƒhðÖ "ž!]˜†J( XA%°¨ð 00†0]„1p€N R\hƒ0hµƒÿ,ƒ*(ï¢=ï;ÞG¶óUe¦†JŠ&c6ˆ{ Q’$MJˆËKʈ?§ó•¨³Œ¢IŽD't;?ôe^Lƒ€•81<7«ƒÁ\ÒŠé ¨‚Ólp¨ ÚWˆ)(€É¼] \ˆЄ‹P„ÐÊÔ= ‚p^¢õp7Ÿh8ØŠfù"í£(æÓá)™i@B¸Ü=àð€?˜†  Ú„p ×+˜JþChuø„È¥A˜†QXn€2€‹¸!>„ù4 ‚7êê…Xà*2ÙMlõqö)aöá1øƒB˜†@`p÷ÿ>ˆ‚lŸoŸp %¸‚2,÷ ·PÇ „Hƒ1€y(ƒ<` LZ΃_çwW³^)àçP€µ~ˆ(•ž b¹€ h®lxP€xƒiXƒ,èöŸðY˜)xƒVx Çp0pø4Þx÷ØEàu*†i ,€µ—ù¢¦Þš÷w½4”Ÿÿ­ø˜Gƒiˆƒ0‹ð€¦7P¨ÿö&ü€/Æúià ˆÜ xÜ}÷W(ù¼„i˜RÐNðI`ƒ;˜y·''¸Wǘ¸c¾ô_=›óÕú‘¿ƒˆSˆ ú—€—qÚ qŠõŒ&X ÿ8… ˆ<x]&„JHŽôø0ŽÜ= 3`‚1‰†i(?0^Êä\(Ø÷Ï)›ŒÍâ¡lAWÐà ŠâòÏŸŠNÇè–Ï°©˜ŽWRaˆƒ&Hìö€;ˆ?xôÌÉ‹œ)ŒT*¢£vÜÌã$R\` ÊÔ ‡«z”ÉÃ@D. È UA +X( Áj:wòÔ gÏ B‡-jô(Ò¤B§0`QÓ $ Fà©Ô¤. ‚i@L{à‚i¶N›¦ÀkXFÛ = `­Ò¼<ˆ ÷/ÑU¥2 fÁ‹:ÿØ8qBG!AB&hÐ0`Ä DL˜02$C†%hì¢Æ Z|øpƒ‡” @øRáeÌ™5o-ú0òäÊ“3u uh„æ;É>`[ü@ÛÔÈ ˜>­»±; ´íγY ènÀ@€î üÄë@wôSèDïÀÁwH§ÕrÈH˜aˆ)ƘcIF™e˜iÆ™g ‰Fši¨©Æšk°ÉF›m¸éÆ›oÀÉD“M8u\-ºø¢tD=Ejñ´žÖñVuÔyµ^VÔÔX•Q5"@{m¥ÀSM…UyÓp@Z¤ÅŸTi¸bq/†àa‰-ÖÿØc‘MVÙe™mÖÙg¡VÚi©­ÖÚk±ÍVÛm¹õ°[o¿Átâp*Å¢—…šTŒCÍ8{;I•Ó£{5‡d[måHMyFA0 Zmú\[MQÓ$5ëùµiŽ4G@Zlm)`—‡&¦‚c6h&„iNȦ…of('‡u~ˆ§ˆ{’ègp(Ç¥¬Í:ËS¢B-ºÔsŽŠ©w=ºÅ¤iU•iQ¤ê”dµ¤’g5áA°Ý¶Ôè•xJú¬Q´ŠÉ`™¢)ᚺ‰aœÒéá!êÉg‰ —b¬BÍK/Ä.FÔ´A‘µîN6…­U™r·Ó¦9‘ÅßNL⥓¸˜‚Z®tÑ€ÿºì.ð_Ãq½Óæ‚d:xf„jRØæ…pj8g‡v‚˜çˆ}š¸ð²ƒ6Œ3ÕMÜSÅXÇkUZÝq  \ìšGª~a…—ª1ƒ<Í:a·rÉÒ™: Éé63[µPöö|«¾AïêoÑ¿ œô°7p²NÝÓÃ|KŽÔÕ^uÓÀà½>㺯мþk4°+MìÁÇ>­¬ Æý>9ö=UwQ„§¤íRUÊ6Æ쎀ëVQj@ú<  å÷´Çm{xaë¤j[h§ÿ·ÔÙC‹ñþ–/ éª_DóUÀ&¬‚1ÍXNS˜²(á—þù¯‚K±¢ªE”¼ÍEvé`Pòv²äpP9‘›\.0žÙj€¹â×Ðz°£‹`K+¨¸aD²žƒ- JKƒB<¢O®Gµà©€…øúÙ “G8ÒÐy‰k`§W€:P¢m{Cb·‡2#‚1ˆ'œÜz( âŽ€0T^áXÃç)ÎŒ;Q¨`€ÜQ°ŒÙã¨ÈèGÿqrOA!Eä î€3lâˆCé)ìSác)9@^N“Ø+ääÐ2 DÜà‰ÇœeȼÃ-ð†Ñ{ ÔÀ ¶0ÿ“ž¤'yK¾rrˆÎ(EÐÆ(6R•†S  ¡·¸ß¬¢S!âw‰³\J“JÄžÔ„4ᔌáòŽ9Ç+NÒ ˆžI ¼ô²š…¢¦;'×Îì€sÓxÆ&î@ÌT†SŽV”¤ž¼€ˆt²íëÔË<ãÙ"x*´j õ ¥ ü! ¢Ø¹JdÒQžH*µ€`0m(s ©5”:ôšG,À"P£¶\€˜ ±cú3àE”a| P@j™œ“²Ôj*µœ.›z(¦ Ñ.P€•Æ7¾'pÕ ^u´Z©#9À,Su©TÃд:‹ªƒÿ,€W˜Ä$šÑ5vL2Ë] æV¶Îå©Üãk[Ñ ØO v°GY«a½´×ÄÒk±ŒÝI.Å*ÙÉR¶²–½,f3«Y­ö±s¬g)¹’¶´¦=-jS«ÚÕ²¶µ®Mí=kÆÎÊvˆµ½-n-F[Ü2·¾å+hÛÛß—¥Áeìp‹«\w7±É].t=Ù\Ã>7ºÖãt[ÝërׂÙ,ݺ+Þ]†w¼>±ŸyÓ+ÄàÅV¼ª¡zã;¹ðT¼¬Ú­|óÛ¢à]J½)Ó/€Ÿ•9(u¼Ô 0‚e•9êwÁ(p‚#ü— Áb›^«á s¸Ãþ0ˆC,â‹XF*_€ëºÍ²¸Å.~1Œc,ãӸƗ5@ÚK€;PK@6èüD4?4PK\8–AOEBPS/img/odbc_firstcon.gifh[—¤GIF87aÆ ç÷÷÷!BR!)!!!!!B)RcŒœœççïÖÞçïïïÖÖÖ÷÷÷„„”)JÆÖç„¥½kŒµZ­ÖJ¥ÎZœÎ9Œ½JŒÆRŒ­R{¥Z{”k{œss„{s{{ckŒckŒcZ”sc”skÆ{sœ„{””Œ”œŒ¥œ”¥¥”¥¥¥¥¥­­­µ­µµ¥­½­½½­½¥µÆµµÎ½­½ÎÆÎƽÎÖ­½Ö¥½ÎœµÎ”­Æ{”½Z¥Æ1„½œµ½”ƵŒ½¥Œ½œ„½”{½”sµŒs­{k­{k¥{kœscœsZŒkRŒkRŒsJŒ{JŒŒ9cŒ9„­9„½1sµs{Œœ”„9kœ9„¥)ZŒ{s„{µ„½½Æν½Ö½½½Î½sŒœ9Rc9JZ9BJJ99RB9RBBRRJRZRZcsJccRRc!JcJcsBZR9R9)991B„„„sssJ„1s¥RkŒJkœJc”¥µÎ1ZŒRcœ„”µÎÖ眥Æ1cŒcŒ­ZŒÆ)B{”µkŒ­s„”Z{­!ZŒJ{)R„!J{s„„!{Œ„)!1BR!BR)!„JB„cZ­œs9”„B1Œ­¥JsZ„„k{sBkkk9kZJZ„”„„9)ÎœœÎ­¥Þ¥œZ9”sœµ¥„sB{1!­cZµcZµsc½scÎscµskµssÆ”ŒsJJRœ„Z¥s{9k9c1Œ”ŒR1){sŒ¥{)!¥cZ½cRÆkRœ”sc{!­RJµZJ½ZBÆZBR¥„s9¥”sRsŒ”¥µs!œ1)­B1½B1JŒ””Δ”­µZRs{JJkµkcB”{{c1Z„s”1)­1!­9!½1!{Œsœ­¥ŒŒkk¥¥”Œkk9Bœ­”½½½½RJÆZJÎZJ„ZZ„B9εµ½{sÖ{sJ))ŒJBJ1)Öµ½Ö„{ŒZRÖ”ŒÞ”ŒÞœœ)Z,Æ þ°@Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(M.8ðŸÈœI³¦Í›8sêÜɳ'Î@ƒ J´¨Ñ£H“*]Ê´©Ó§P£JJµªÕ«X³jÝÊ•©ƒ>mhò¬Ù³hY–H˶­Û·Ïx0€‚•]Näã‡ß¿~Â@¸°áˆ+>LX±ãÃŽ#KžL¹2¡ËŠ2kÞÌYó‡Ï C‹­§´éÓz²¨^Í:Ë”×°ašM{vŸÛ[rëÞ½åŽïßÀƒ N¼¸qã‹’+_î{ù"ÞУKŸN½ºõëسkß¾è¸÷ãŒÂþ‹O¾¼yFÄ·«×ÞgËí÷ðáÏŽMŸ>j=£CwÞ¯è2¡É€Èñ€hà&hà&Dʃ>¸Ê„Vhá…fha„‚q ˆ\ Ãw ¤À;¦â‚1æâ‹0Æ(ãŒAVYdþñ×Y~<‚vß}­éZ}¯ÕF[{Ñ}§ä’LçÜ“O®'å”TViåuÝ5Éäy\v)Þp\)¦nñ•yÛ|DƶǨõšŽ›ù “ ¨àx.Ø ‡úã矀*è „þÉ烂˜$D +ª(Ø`4º8饘RZ馜2F™˜Á¹™›Ÿýˆš­¥9EmHê¦å«þ°"å¬Ïië­¸Š™e¬ÞyékyÄ…™ë•f¾7Hƒ¨ Û}¤~&jf—9F§xÎHØf›È x2.à‚Ëϸãöcî¹è¦«îºìöCî¸áâ’χŽé`׉}E X‹›bÊâ¬o¤™lðÁ“v£d9>Ûì¦þˆêGîÆëűÒ:ë°wìqtÉa Þ¯$£7ÜÇT‚N±Æ*;³Í>Û߉M»ÃÍ8ç¼Ã mxa–mÌ s΀ìóm¼â’ÛîÒL£û.?H㲊%Š&v‰ X0°¤š¾x©_‡ýÇd—m6Ùb§­öÚl·ýÇÖûbª08"³"ûhêþjE«Û®".«ÆΡløá·.øo%“ìÇÂFÞÈä¹ +Ëg¢™&›§=|w´t‚Ã褗ŽÃ>ŸåE"¦—®Ã%`¤ ûì²ëcûí¸ß^B¶m” ;ï¾ç.<í´«‚OÕ5äÜ€ÅøuØg_àÃôÔWïCôØg¯ýöÛ»¶¾—ÎMwb Þ=*i¥ñ=›«‹·?áQ".ÿüê)ç¾o;~ò°”o1ùÿþûŸ->¨ÌLš«O`³g]†N:˜'HAžI-Z'¨ƒ{äƒx îÈ2Þécw,iƒoÂâ/2Póþb©I-`e³žwÈÃúð‡þ×ãžͶ¶ñK| •Ý<£7Õ I÷‹bsà·úYñŠÓqÎýò÷«ôP©º Ç8@ÿU.:++SíÓ¦¼9‚ˆ£ç`ØA 7ÈÁ{¬‚€¤G SPBÒ(,a"Ò»Cr)d*^è˜*`y3ôËaþuñ‘zqì(GIÊRšò”¨<%W Ä1{jÛšÜæ†&¦bP”ââ¨?,ú‹OÚ"»DœEp=a —ÉL0î&ñY‘²À9Ó€ oÀ›Žà¸Ê9¶àlC¿ÎnÆñuó  AèHG.r,)$A; ÉÙ¥Âþ€¡ WÔ€øóŸýçƒLÀ“Ò›^ Dɇ†òࡨDyÐЊZô¢Í(FS‰Ê…ö Ž­¤Þ+£ç¶L1¶tâúz£KXÙ—û¥L¯¨Åö ÓKSå˜éöôÍ$#o  UUÓ4ØÔæ~¸iÎ@¬AÈÁÆ NˆÓœèTg çyÈw–Pž\­G=ewÏ|VrŸ*j@ÖÊÖ¶ˆ­8Ä'}ÊŠò;h^M7Ѿú¢ ,GM)ÇVŽ–Þû^ó ³ÄR©´=Šk©’` ¿™ZV~5]ÜM‰™S)‘¨“3N#€Ú òÆLÓ\`ç’ªÔÍ@P°Íþ†lg+Û¬¡ kC °†™\µ›:DZCûë6 »Ø©þ?³£]Ÿ—¼2„p)\ãRÐEÜ¥ ìâîeNïÞç]ïü™;ÐÄ&ÌæV hæf7£ jv3€õ—o9C€x3óVhÿÖÅ X|ðx`p¤t 'y×çð Vœ§q=$qðyeó ’€€t¦÷d3ƒ, -øoVzvzš¦z“Õr»¡°W„V"{³GsÅA%»ra¹'F¹ñs6t1C'Ù |JG|Æçemð|ħkV'}Þ¶uÏ&vÕv|/††Ú×uÍVvX÷}g~åè—~ê'U%Ð ð‡^òÇwõwùg­àþ{†þfghgrÆ4À nVÞ€‡3¸rV;pfn¶‰;QÏp>`Ð`… £ä ‰ç ‚ 0 ?àCÙà g6,iŽöp¡w3Xƒwð,¸ …ðßðoµÄƒõƒ@ø¬÷7Éa„Ô8%!#E´g{õóŒ=UFQÈ{±±?‚M`…X˜…ºöÙò_H|ahvãÀmf¸…\x†Ç·†ÙælZç}á~áæv‡º0êv|Øð‡åPôg€™€™Ø‰‡hi’ˆ3óÆŠø§3 ¸‘(€Ho˜0p)‰Q£XŠuŠ©˜ ·Š–'þyt–‚‰öp@ Œe# £€¿ŒÀ8Œ»ø6‡  Áà—Öƒ~ÃRÜè¬×zDXRÉ-¥„^„j[€„-…¹áj½g*y|R׎¹Fm@–`¸ ¸`vÔP né–Ö—r)—ôøbÜ` öÈ…s9—où–f—ý‡ÿø憇Î@ë–P^xˆ Ùw ‘›ðØw÷w€tFoþF’8Ó‘˜©ffFo8Àw¥ˆ’¤xQ,ÉŠ “ 7y>Àq× 6ÉCgƒ‹[иHg=ù“Ã(ŒÄ( Š@”¤€ HÉŒ)çŒM¹zBèzSٜա•"c•6çY¡RÄ•^ âþ8ŽÍb´†–¶6lfIläYž Ó f×—Õ°—{™ ¼“ r ŸÙ"Ÿî—ìY X˜i‡V ž0º° » qÇÒõnŽ9IˆúG™!Yo—ùì‰ÿÖ™—H‘œ¨3óVšQxQ#yª¹vв8›% ·CÙâ„à w6¼IƒP B œÂIœI¹K™œÐ¸œÌéœDÊÖy1Ù¸?ÈZ@Ú`”9¯æ{¿Ç#3`žX ãiž!Ð¥^É`cP–cËÀ fÊ Í¦jº¦lÚ¦mz¦Ì° cŠc¸˜ß埄  I ªnlz( ºþ :ˆú •)¡ù‘õ74ˆª‰ʨ9Cšõ¡UxÕ¬Ho•·š= ²)=®é%›ÕÃ=¢`Œ³ˆ4ú W =y¸™£[àb GÙ£ÇÙ¤Aú”UT¤À*£FjKH¼ŠaOz&½§Ó#:`¥ˆ ^:­+†-k@­^:b!0b0 ©@ Ä â ²P®Åp®Æ®êº®ìڮçz®å* ã*®©0eþ(~3 Bùe:¨z'ˆ)™ÚƉþ¶¡˜°5À õÆ œÙ‘;а•Z”Jšåoô¦©Ÿ h ;‚>y-ê® ›d#q3ÚþmPf# ׋? w2+«–G66«`³Ãx ’`Œ‡@ ×X·´*¹q¤Üè«.¬EÊ´°"ÓéYÇúÔ•ÈtÚ¹Ü);ðSu7R¶•Á°  ãZ®³0 Ù…\×·r‹]o‹\åj ·€  ý)‡k§‡Uµ‡ ]à$¨é£ÔP ©¡ù7™‰Ê¸ š˜é¸7“oåoØgª¸¤hJ§fr”y™Y=è‚ec³‹³™i£¨k±zFkÁY h6 ¦p ´cfV€I©”Èyµ¿á´PµÁšY6E¬ïssÔQ+L*EŽà¾½Ç‘µîþ¡¬Ëʬ_ ‡€rðBów÷† Â'ªp¾ç«!껾‚¾ç!ª t` 8àù:‡äõ‡ úPâûf£C_‡'XEG@$iØ“X,6t VPi&§««’KÂkjÄû«ÆK¤È;sÊ+Sò?’E½wÂÅ‘¬È¥Ú»½€a“ÐÂ.üÂ0Ãr0Ã4\ÔP 8ŒÃ”°Ã”` >üÃ@ÄB<ÄDÄ9ŒÃ–p :p’¡v€1‰ÅR<ÅTÅb06y§w{Ç¡Àôe_…_¢4G?dÀX&•Æ‘ÀÀ–ƃ¶R¬œ|jÜœÁ”¼tœ!ã„ÐËþÑÈÕÛ?àص¬Ñ¬Ü»:`ŒÜÈ€ðÈÉ’<É‘l€ÐȘœÉš¼ÉœÜÉžŒÉöÛÄxZr42)U=‰ëP`¼Ê%ÆùûuXþ•Æ‹%>„ñлprI[`LÇïã«wà`uŒÁ¢†Ç›U¬ë!µ¼B,½&,ƵS $`3ÙÄrb¶aËÞü"“áÄ[c‘‚Ps®üÊMË!%R#UDàÓ5ß<Ï»¼D¥‡r¶´À<8¬Åìœì>7eRÂÌS‹Î,È`BÈ[kÂ^k¤"*ÑÂÍÝLÏó,Ê~;ÎŒ±"8t6íüÑAdÀ³¼"òÌ)äS>æ“þÒpÒD>êËÝ¤Ä ÿlÇnjäÌTy`\òÌ -ÍPš½=¥="ÑMш`Ñ}¿#åÜÑfÌ_ÞÏ&}Ò*}iäxÕùq¬±R¿¼ÏÅä«Î8ÓR %ÃÊEÅ´Ì/ý*]ÂÓ6çÓ´ÔA-ÔùAÔ4cÔHýÍJ)320lƒ6 ¬XÌ“0¢ö¼y1ˆ}*ª51Œ=1>¨Ï^í”O)ÖÀzÇ6mÖW¹ØÈ8^ÂÖ¤åÓ ŽÖ|Í 'EMÑwíÍ‚¹Ô4âÀiŒ0™¢Ú„í0<’Ø}ÛBâ2º-ó7‘½$`MÙÆì`eÝ88­6}úÓÖ»÷Öp}ÂT8tþmÔ‰‘Ú´t§MCó\iŒ×GM7ã㡲Òn²7­*F’Þê},fr„iíÕN+ÜQ{ŽÜïS%ïm˜ÍÜ×ëÜÏÈ¥­Í§ÍÍÖ=ØØ=˜z]àˆÁÍã-*¤1ŽMFÒÞ|LÇsüÛ"ßò Ð5-ÐûÙË,LŽµÍ½F¯*¤í&DMÝß­à4rà+²ÈŸlyRã6~ãÒ¿~çÅÅÊ­œÎ@äB>äDžÊ>~ä«ÌãJ¾äLÞäNþä^Œäa\ä¥Ä¯V~åXžåBPJRÞå%ÆüJJZ>æc®Åv%Që¥ãö†ãlÞænž ;`U†§:spçxžçz¾çþ|Þç~þç€è‚>è„^è†~舞芾èŒÞèŽþèé’>é”^é|n˜žéš¾éœÞéžþé ê¢>ê¤^ê¦~êšžqŽâls ]°ë²>ë´^ë¶~븞뺾ë¼Þë¾þëÀìÂ>ìÄ^ìÆ~ìÈžìʾìÌÞìÎþìО솠52nxêêÑžíÚ¾íÜÞíÞþíàîâ>îä^îæÎìÓÞsžÝØ~îîþîðïò>ïô^ïö~ïø.é®îNŒížïð?ð_ððëûÞ­þê ÿðñ?ñ_ñ¿ðtÓð¿ñßñÿñ ò´¾ðë>þ˜ÿ.ò(Ÿò*¿ò,ßòÙŽñÐï'ïò4_ó6ó8ò0On…1óŸb@ôB?ôD_ôFôHŸôGŸóLßôN?ñ;/C†áó?ù{õXŸõZŸõðô^ÿõ`ïQI‡Aõ ªôhŸöj?ô[ßönÿö\¿ör?÷t_÷v÷xŸ÷z¿÷|ß÷~ÿ÷€Oôù>öPöOëV÷Š¿õ‰¿øŽÿønßø?ù”?ù'Vù˜Ÿù,qùšßùmÁùžï ú¢?øÔnàeø¶nõ/ù¤ÿúoßõa¯ëcÆú9_ûƒkñ¸_î»oîcfú‡‘úSø³nûïú°Ÿü\?û´ùLþßûýâ.ýãþûbú…!ü=Oü²nüüAgiv°õt–üåßö²Ïü·Ný5ïþÿÞ.ÿßný÷Nøª_ëÞ?ðàOþæoaÀ@ D˜PáB„>D8AÂDŠ-^ĘQãFŽ=~yÀ„ BžD™RåÇ‘%W¾„y²¥É˜5gÖÄ)adNž éÀ4¨  jaÎÆ’œ:µUêSªU­^…*ÕV®]–Tèb؆ ÅŽEËðlZ…®jõWîÓ­VáÎÅ+·n^§3«î¥ õí]»Sù~‹‚_ªu† 5jcÉX ã}—1eÊùnþÎJ8³àÈ—KO†\ugOÖ"Å@Ô(l¥LüÅÝu´ÝÜ»ù‚5K¶àð‚QJ=¸– ÖåÅ›_Ž<ºqä™w¾ÐmnÒž1óNí}®ï¹ K÷¾{dñyÉË5ï81ûÆê3~Ÿ¾<ÉÛõý·×Œ?îHÛm«ÇöÂO½¾$j­Á×’í(¤jÓ¨©ÿ¼«×ó ¸†$Ã.;ëBlN¸¡3E‰K WLñŶäÀùÌÏÆ»Š>õó±ÆÛ«Ï£LH7¤Ñ«"0Ã'=;²¾ƒ¤ï¾¡lÐA  ,JB¡(ÌÈBé2,ÍÎ0T5ö[ó«…”“þ‘¸äÊ2‘ÅG´SO<ëô³Ïƒ¶ÃM7 į3CC°IC=IF9CtÑIsó©IJSG/}ÒD3…k*•TÓ(!ËI-±dr0RÓLÕ4(ÍÜTD{C5³*M¾Y½jµ.{zP¨i[ªB "€Z;¢vÚ¬•6Ûk©Å¶Ú¨¨Ý6\m¿·Ü<¼3¸>¥T¹uI¬3ÆëÖ’±Exµ·Û|¹•ÖZù½ößjµ\‚Ã%×_»8Û…N\ Hzâ‚õíãƒwá‡/æ÷ãŽ7žX¢}·ÅvÚ†/–Ì`Ë]Ye‘Í-¹bnÉ-xd}U†XãšOþÙeowÚ\h'>–µd‡ “Y¦lÞXÜ–¥ÖÊ`oƒ7gsÑ-ñOá΢÷];ã]±ë=a¼·- Ž™à¶a®ÚÜ—v»n˜£ž¹a}æxf—1žÛâ¬'1¯pÖ3áF¸ëÙítÚÓãXÈ?¦ð€+,ÚìÎ'?éOzš s6ÂÆr% Ù÷^¦¿èQÎÜ3ZþPÀ˜°uczF`Dðµ†^4áÖØ2F2–ÑŒgDÞÚœwÃ.2ð€1l£ý8׶†QŠ[”ù ·=ª0ŽI|cøŠè?9öM„?¤ã³gÄ'&òVc"æ¼·ÇúlŠT|‰gC@gå w +_èv7êÅ°zÔr U¹JVB$„ûVÊNiBR2L”Q$¥ä†èÂ\Ö’j™Û!gþx¿æÕ|ßéKY“d<ô#ýl™Ë›áL— «ßÐ0†¾bjSžt¦Á" Kj~òš #Ò0YÅ/)ëŠIÉâEð8?zÖÓž÷´g*[¹O~ªò•øh@:P‚t‘EhBŠOn.Ô¡mèCQ{¾,¡ê\g&ÛÉ´Mb±€)>õÙO’–t,ÿ iJURŠ®Ô¥méKez4hÎt~1ŸEŠÑŒªD“b‚çGmªÒ‘šÔ¨GáP•ºTqÖ”©Oe¨S¡ºRœÚ´ªCåiOQòS§urª-*RÅÚO”~Õ¬ ½êY™šVµ”­.}ëK³ªÕp•“°ËA^õºþW¾öÕ¯l`Û×°ŽÕ°«œÀ`»XÆ6Ö±…l^kYÊVÖ²ìe5»Y¿f–³”õìgA{Iº‚Ä®Õ"IT»ZÖ¶Öµ¯…mle+ÛÃÖÖ¨³Åmnu»[ÞöÖ·¿np…;\â׸ÇEnr•»\æªö´AÕ¢m¥;]êV׺×Ånvµ»]îv×»F}.Èdà”Ö¼çEozÕ»^ö¶×½ï…o|OÞñV¤¼òÅo~õ»_þö׿ÿ°{éOŠÜ7ÀFp‚¼`7ØÁJÛ(ë: ]yäÁÆp†5¼aw8u.“…=÷€iÆñš“œg?ÚЇF4GýAOŒÐ‰†t¤%çE7ZÉ“Æt¦5ýäJ#ÙÑWÞt¨E=jwÚÊb&uªU½j ›:̬†u¬eý_WïÕ³Æu®umÞdâS.²¥½kbÛØü’¯]ç"3ÚÓ—>v´¥=môzÙFi¶³OMmnwÛÛ±6°ýìaÛÜçŽõk”}mþd[Ø Fw¼åí^øYD2±ÃEòMk¬›Ýî&7¼ç=p‚ÓußøFxEö{ø'¾.²¸µýê‚WÜâ˜ü9±›d¹ œ¼ŒÐ@ lÀLš\»þƒ˜@¥ @L‰¿ÃÀ¤Á À”ºˆAÄÁž Áô?@÷‹‰™ë¸…c8Ž+ ԈÈCÂ#$»ŒS º(Ä7ô¸#lþ¸ »7B&D8|B#¼ÁÃØAþ“@d; „‰Ç#B$tC¬Aë8#|Ã\Â:”C7;¢{Ã9äB>œ; Ã1$ÄŠ˜ (Á3DAXÁ“x€G|Dɳø“Ä= ÄKœC<ì@'ÔCJ¼LÌDLÔÄK¬H4ÅSDÅTTÅUdÅVtÅW„ÅX”ÅY¤ÅZ´Å[ÄÅ\ÔÅ]äÅ^ôÅ_ŒDý:D­ó\DlDx„¨ÄQ¤B8|APìD(T¸ Ei„¼{ ÄOœÄ>|B*Ô‰ïÇq$Çr4ÇsDªFDàK—K<¸ˆË¹$Ì«KøºË¼4A¾dÌ¿´¯r“Hš,ÌÉô°Ã|¯ÄŒJ>XLÆäÇd³ÀŒGɤÌÑÌ0Ët/ÌäƒþÔÜÌÆ|ËLÒ„M 3ÍöºËÔdÌÕäKÏ4ÐŒÌØôM ›MöºKÎäÜãUT?Ì$-EGÔH­ˆB¥¢C%Ò6UT>eÔÇ´Ïæ$¸(<ÕQ%ÕR5ÕSEÕTUÕUeÕVuÕS-„å¶ð‚°Õ[ÅÕ\ÕÕ]åÕ^õÕ_Ö`Öð‚üI J .ÍT ÀÔLÝÔÏ„Ô‰TiÛfEÇí²è6XŒk¥.°Ó@ÖÔQÖLmÖE…ÓGýToå.må6`×ê W×t€e=WMMWŠþ˜ÖhÛxÕ.w¥6xXéšW–8XÚ¼WE„|íÓ}•Öh%¶-ØëØi#ØŠ=¬„%TŽN„ Y‡}ÖÝ”Ø~=6ŠÕXêºXiËØ•+݈z=.Ù‘ÍЛ„’]ΕØ]SY˜µ­–¶—Z£’Y Ù.±Ù›%Yˆ•}¼üšÚ ÔI•0ÊÀÓF Ú£5,¢Å8 D‰ª š$Â/¬IA£õZ’JÚŒXÚiZ‘ÕÓ)…Z©-Èõ‚F‚üÇyìÛ“EŽ¼HèÚ¶E*° üÀ¼¼Å5Û{È ô¶5Ü}z[ŒˆÛÖ°Ô(5 Bð\ÏÕ»uNJÔÛþ¼M[¾eÜ5„B{ ÜÀ%ÜÊýZ­š:Çmƺs\+¤C¹‹\¬ýÊ…ÝUº\‘Þ¥3x€-@^äåÑM@±ÓI-$IžìžäÂ"ÌI ¬FëG¾=[,ÄÝŸd]ÈmFŒ(Üß%)Ä…A¿%JíÝÝNôBöõDÁ_÷¥Þúß‹ð]ó=£áTþýQ„à(Š¸ƒ>àå­ÒÐl^;<ÊÕÍÝŒŒà œ`ÝuÞMìÛí…Ãö­ºæÉ›ôˆòÕß}Bßc):PÜÈJ´H€œßŽÄǪIv]ŒÈß&#ÿˆÌe9àäE^6^>à`^Ž˜ZÅ•<‹ÜZŽŒá žþB/|âïBI\ah4Ê ;a^¥î’;Ã/\â0ÞÃ+¾È¦bœ\.f%Ö 8VÓöa 6`!&âîM#öÀ2Ä’ÔH?nÝ ^Àö%ä±ÓÆ$~áÖb7>_ÙíãÝäŠÜÄDÖHvF&ôã¿Å_GV%8Öa¤ãäµc!¾ƒ<&S+åcŠdLÆÞE¶àÇEfÓ¥a^Þ_•ežàaÞ‚RÆã"–AõÅKÞI$Åc~e Vánæ`WfÔ­ˆ-fæ1òå_öÇ‘4] –`r†e“„g1ΈþNç…e96ÔQþá6eTþSGÝ$[%ŽbþÉ?üã1ÆÝÈóC)ÌÆ‘|ÆíýãO´äFÎgUZç_ÛŽ¼ÞñíÞm´h„öF(ÎƉVis¦|Þh„Øç¦ôçièjÖãûÄ´¤diŠ@ç—†ˆŽ.-® jNîdŸF‹˜VÈ™¦fèFõÙLj ìi¤^ 68ó"jä—¶j¥VI¦®i§¶æIKJ®µê2ÂjHÖê¶îÝ´†°¶K±b›Ne¸ª†ëƒXkXój¤–kĤë;&ë›öÔ¼Þk¶èkVûkŸìËì€.ëx«ÖÄ‹lÝÖnµl‚WgæçJlþ»èªüY]{€øDíÔVíÕfíÖví׆íØÐnƒ°íÛÆíÜÖíÝæíÞöíßîàîۆϖiinê!žlIeîŽ=î:kå6ì-íæ>ÓgΉh†îº.ì»Þcëo¥ýìd íîí2 ïôÞç&åè>ååVïðÆnœÐîöænéönœŽïøžïš¨ï¾ï÷žî­n\£ÕaEðWðgð]-Ön;ð—ð §ða}ðcor-oü>oUž7nÝì‡èìwÕìq”èï˜øošð§æÔ“-ðYkì½ÎðP›ñ~ìÓÜpÏïÃþðëmòƒÈqÚÜq‡Ö¨þ¸Oëß4&Oç"Î#‡osƒrÀò!)ŸN*ðqY»rÇÎr-çrñôò§nƒÀý"Û—Hä­®G‡žá{Ör}ÖjKÖÛÌZ L‰1÷ä3Ï4ïp¼^åþ’åLBe‰žd twëûU¯Dj•ˆt7tþ$t¨&Ëî,j¶6ê[g8‡à)>fH¿s…pòTtö²ô²ýóUßôíôWòCOè%ŒÞ&´ßöɇvbéCbçä‘6ö$–_oVÀLòIWö›¬hë­È`·t¬Þd'c†óÞ·¾óZ¯Ð[OòO÷ˆ½%IjÏ]ZF÷>ôæ}¬g3NéZçiþô`:õ–^õ„hõ±Õe&cl×ÚvWሦ`n®`RŸg·apQq7Ù\¿fK¤ç‚—áj$g~ôÞu×sÈ[ãyçÃz·â6Îw"Ïó8·gƒ÷†–wMŒÜM®sPøføuøž%÷Žb÷÷o¦ø`v÷ž7dJÆH=çÆ\n厈ù@‡ö“^÷ŽÇh‹÷ùRÇD—g‹¶óo7î¥Fn÷Fò‡¿y]Of5NyƒWèÚú•ßIs.zq¦ôŠHzGÞwÀf³Wä^ã² y•ïyŒy3Ïú°Þú¯òÔMû^ß{²ïsfÇ`©ÇCsï÷<ú®y’êaÎÈ–oèË_ô£¯âþ÷e˜§õ¿ŸëÀ'l÷t@uªc袗v†ã²7[¢—è‘< üÆ’–çú£žüßüjoýŒgܾå¼ÿué=Û…öv¿ÇpöðÒçñBÿîôeç›êåŸü¸G°P/­·ÿÝ™ÿ_Ò—ì/GR*â~Vþ¯ëïû짱ó§+ï‡]ðwÒšßNC§~žbÿ:k€ÿ…—±ü ,hð „ :àð!Ĉ'R¬hñ"ÆŒ>X˜@G"G’,8‡Ç–”)(PðàL˜=æ œð°$Ápòìéó'РBK6Ühô(Ò¤J)†êô)Ô¨R]jõ*V£Mq‚œþõ¤Ê•-_Ƽ3³æÍž:½²mëö­ÂªYçÒ­q+ܼz÷z”k÷/`xIvåËlX–.Ëš¥yЦCŸk S®l¹ 7sÎaðåТƒfîlºógŸ…G'D¬R1Ù˜g§å9™5îÜC!8èíû7ðà‡/nü8òäÄ!ènî!oåÒ§S¯n½7óž«ŸKp-vqÙÙ!ïT[ž;úôê׳oïþ½åíϽoÍX|Aò’ÏÃïïÿ?€ 8 \ò9GŸ}á96^m8ÝF „J8!…6g`sŽuß‚ù5XÒƒŠ8"‰%šx"Aê¦!x²uH~æ¡8#5Úx£nþ*æÆbl2½8PŒ¶ñ‡#‘Ey$’"鈌ñð£@A:8d’UZy¥sx—]zù%˜aŠ9&™ešy&š1xj ­ˆRb–õ$Z‘Ɉ%žyêIYi§ùùWjÚ¹¹#œ¯É´Ù)äž:ú(T~ý9)Vƒ.´$kÐã‰2¸è”Š:*©}QzjV–*„éhšrꩇ ‚He©µÚÚ¨¤¨êº‘ªõ*š«NB)”³Þz,²yæº+³ýz«À*Ö¦ÂÖI«H!&»-·6.Û,¸wµ©^°s[,IÚv»îºv¸keð¶õm¸õ>kP´¡•‹è¹¦‹-»ß*¯þ@¿eð¼õ*<ѽå{Ù¾0Á £¿#©+0Ƥ",ÁÆ^u<½ 3ÛpŠ$Sq§ýÊúoÆ-Ûú1Çﯻ3ÇLлç3Í3Ë\ðÍ>ÃŒ™ÈE?ì°É†¡<1g °ËQãù±ÎË{õÕ@ÛÌ1Î\{]uÐYk½PÈFŸš´GW¶´ÊP+t±Ôq[Iu×^½5Ø‹7Þ8•mö¤h«}ò´õ)P­¹×î'7ãyÒÝ·Öc½³Ýó=öϦnï¸é±­ø‹ž¤Þ•‹}wä•ŽzêcoMöæœ Jná,!Î/茎¾û‘—·Îúé¬s½wÝ’c.Òß±›&8Ú{}®þ¨Û ÁÍ;õ'RnuÍÇÛ-yæ<Ï}öÛ =RòÊsÆ<ía~»Äm/^=üñ?U¾ù¡ïy퇿ê~èòûÿ?Qê7²Î¡çyŸŠB¦À2~´Ëý ˜?ö¥,w¡b 3H•ê*‚Ü1`¬xj°„»s çâÁùLp4– c(¿>¥ÐOâÉà”ÖBkAï}2ü!ï¢s!±ˆÒÉ›§Rle!£(Åå/LlšŸ6Å-rñHUtÞ×Ãþu±Œf,Ñ—FÜQwg|#'”Ƽ\1JNó ã¨Ç=¦gŽp©#±î¸<ò± Ir>„þo‹~| ÑõDC du¸$&3©ÉMr²“žü$(C)ÊQ’²”¦<¥&WàDŽa0kä[´”¦YÒ²–¶´åš€òH·DRoƒâ'°ÍÔ°˜6\ÁzÂJ‘¸2!°t ˜Îê³ ÛxÁBÖA3qê LÕuOfÍ,žÍ9¹ïEJšËÓ¥é¸Æö½e†¬0eqòdu¿[¤÷Âg<Ôåm™tçùà™¾8Q¨ç$ï™Ïîsœñ]å2z:â™ÎuNA!Bµ¢Pk2ôUÕ& ¹9QV´ŸÁè9!GPìýÌ  )`”¸Ë¶,í¤ô!ñ ¡µþ¨F=*R“ªÔ¥2µ©N}*T£*Õ©µ¥8ñ§ðbúÏÖu̦$)N3¢Óxþ‘w(©“|B ¦Ç«ÎTgFéLÕ1Ó¢ *QßåTuæõ©v jRùÚÔ¿B•°€=,b‡jÕ’`u£Z%(G1úÑ°æt¤„‰¡ªÖ&®T„[I×DÎõ¥ y¦G–‰WÖ°Ju-k‡ [£v¶ˆ…­m‹šÛ×Ê6±¾•êb©Hšâ¬f®®ÏfJ\¬”u–e?hV´Îi³XììgEÚÑ^”±o½èÐP+W¬¶µƒ=ê_wÛõþ–½}åmTkÛÞù25¸mÙnhœû\¦D—…þ˜¥–I!ªEötµœÆí®iŇ½têí¸B›Üðtfàž‘œ½½ðRg›Þ¼ê•µŠ”m‡c»aw½&1‰=\Û›WÄ)¦/`+ N;¢¨öe ~/£ßýJd¬´ûïúŒR{®§±˜;.å6ª½ì5“ýGÿ©Z D Êv¨r®Œå-oYËXÖ2˜»lå1gYÌY3šÉüe.—¹ÍdóšÝ g/³¹Îv¾3žï,E ‚Ëà'Ž»×žó">ö\bà´ W‚§ÑÑÔŸMN§ë¢¼M‹Dœqvó™ÝÕeE~šÔm†ó›Kýi5ǙΨ6µ—çœçYÓºÖUþÎÁžÝÕg?úJ„.´C]ÀD+›ŒrD‹é¬"ÁåÙëÎIáu2yÉè|B<­f:Û™Û­6³¬¿½íUƒúÍ°fõ«Smëu³{˸¦qÿ¬,`§ª¿"6f]ÝFòц1ò“±-ÓÕ=;uQ¾6³žm*;ÏÞV·ºQ}jU³ºÜg³ÄÓ}ñvsÜÖ^Ø5›å§_[ØÄ÷Yõ(ëÚ1‹ŽnÀ¹×ìkW{«uSðå*p€"DÛržõÃ7~ñŒ7üçf¦xÄÁmåpw¼éMùU‘ûñ ï-$/´Éçƒò;¨ü¬å÷/aŽÜëAû±GÞž@þlðUmíŽþëA|jZ=ÖÝE]ôXsY}¿û¶ïžf;½ð놺wonÑðò‰Þ•²w†¶nì°|Ù¶PŽ!$wÃs¾óžÿ<èixÒÎüªÌU¼^®Îã¬ß›1ØT_åJÆ ež@›=îs¯ûÝçyô­Lðõ¦9ǦíßÃiÖGÞõúƒ=Ëéò~Sˆì7º=ﳯýíÞ÷uE8”3ÍUš/ùpÿªò­ÂüIþù”¾$/T†s¿þö¿ÿ¬½ŸZ©4ÓI–tdEZÁñ„êí×úíHûm ôôø› ÕAfä€N V ^ f n v ~ † N oþôé-›’YMÕøD›ÀùMú-Å2I>ÀZÞËÒL€Ä‘ì ]Í\ ŽÜÁÒf^4Å FPS‘K Þ ì¹Q!Ñ*U¡^!f¡^!¬’h ù=™¦iÏù„¦¡!Q5 ›ó)àû1`9 %íÑ+™“éà!ñéÜ‚‘aí ÌN±ÅE>rû‰¤!þc!äêaÞ7²¤ÚœdIOJÓG¢ã&Þ$?Ž¤AdW^„ãŒUcßÔá RÑÀ¤ú¥¤³ÝKy%Î%[¥1¥&%â¤$¦n@åiy!ê¹”UNÚFYÖþ#W‚ß vFÎåXj¥`ȤB6"C:dËaWIF…[––\¾ éMrÑ¥AÝeX fnøQØVVr$`Š•`‚$ZB¢ZÒ"[²F-Æ%ð¼]éáÍð Ú—G C|¦RXf[RšE>¶!™mŠ#n^„YÆâhÎâ:²"h¡àÙ×ÿ%œm š´¡ž“ ÏU²¦AP&Bv‘vrPqj]H.eN£nÄuRšøÕ¥Õü&{ÞœfN›J"Ïp"…nÊMw>Ðw¶ÞqªãC²ãe˜§Ú¡g@µàxq&ÿáœr¹ æÌgLrÑ} P~6ß~–frÖâr¥ÂÍ%V>Ön¤Îœ‚þÁƒ6è=hýD(û…gCö#b6€Bæé\‡Jfmž§Öèée爒虨ù (ª¨aJ_‹–çؽ<î¡s’“FzoÆgù‘Ý2ùh1ÕgÜPiì) )‹Bd„ã¿Ådîh`Vߌi&T€iO`éæhi¦f—úç{¨é^dÞ˜’)FXénbgPÐ) â)G„&Rž¢R®(S„S)ÏÁ\Ê' B׈ȣPøéMª›¶ œjN$&±©w’H“9™”"éøä…§šÍ¥K¦ŽçRÒ©B(¨Òfø¥”‘!4=j° êYjZŠçZ#®š£„ÄT‡²§©'þQâªͤSÔä>*«’$%¡^+¶R$”"k²‚ ´™*³¦ª¾¬ê¯&.Ö¡±Új{‚«c‚̸êªqò*iúªikºÒº†(tFfpÂ+®’+Ę뽢k¾Ò¾J˜j®æj†+\ëpkI8ëP@k¡iüåàÁnl{Xk¶~,ÈǶÂ"xŽ¦œ¬½Vèir,Ë‚"Å …ÅnÊÉ¢,Æþb«¶,κ¬ž>k ÎìÉÖ¬?’g!-£3­Ñ#4æ,ílÅö¬Ïm‘î$11+DH¬Ò¢Ó¬ÓÎ,Ôzé½ê‰^íÒŠ&½ú¬t­œšØþ¨ØÚÈËEÌ>€Ù¢þ­rF$ÕöØeì Þî-ß!»ô-àê-Ž¼-PÄíÜÆiݶãÝâ­e$“H8îº@îBH.îOîÓ"®…ÚíâjãJÀ „®èΠ耖x±L2®è–îé¦îت>êÏájê@$êT@å_Ô5é8ñå€æèA¬­òdmB¬®$¯ò:@ üä쾦˜Ê¦ˆ ¯ò&/ó:/ôJ®îZ_ŽoáníÏjîÊBÚ¤J¯¤}ß»’ðN§£vn®~î (o•=€ìABR®ð®/†6êzX¯éF€ýâ¯þF¯²¦ú."ø^®øž-ùâke,æúvféÕžùù«³‘üþzneXoýBÀôP "-SA&{€0‹0 ›0÷Å ³†åúærmì3©ÂÒ%~#UºkF ”lÊ\qᨲo–æ-èš®ýB ìÁè€ ›¸Ò “±h­“sB˜“>òpfLq_±cŽ*šÆÕ{¢ð‚]¤TÜpOäðøÚ®@à®T¼(@ý$~kƒqhzº ¨òß”vpü~0è:À<s„À„ÀNtå® (9¥gÎñih¬®"3²82${ë1 ‡esñPÈña˜•Éf®{§Š)sf¨û*×P&q qu§{¾/ü6ðxH€àÀäþ쇄$C)‚ÒòX¢2k$Ó0ó1'óò,ë²Ôñ!­&ðÄó³rÙºò´6e,W%†êò¡+0¿þ¤µè¿fe‹3ŒH <þþìÁPÅ(¿3*±JŠ%dyï4ë3?÷?´@Ïð:Û¨Ú*µQª*ãÄI C2óA0äò¥ù%«â+&þ²n$Ó>“õ˜õ@ õI®u´±õS05I85½Bu€tùþÛ‘.ìËóµfñW“w5cûrç†u”sf<@”ðYGoû¶qåc¶“î õ.´lvg^?Ø+6eV5¶iÿ5f69ÏaK0£ˆr0X;±ä@dÆPaÇPð¶P3r+wt•s7æSP*BöH6o?€oKµÆÂvóÅp[öâæ6ÿÖ„êŽDz?fš^bno÷nÛdoCõoóp[¥¶xpKÿrÞ.àª.€÷í*éw?xTh·Hp7}{·}ƒ÷!î¤!+xÛR…/ƒþcÓw¿2Ë·i…Wn|/ø|køƒsx:ĪՆ8…\¸Bd¸þlø9#jŠÿdž¬Žï¸oŒ¬‹‹Œ·F‰Ïø‰×ø¦þ8’—Q#„Œ×·Gß÷T'¹”ëÓˆ{D“;ø“C¸NN9—³T•cø;yT£x——y -ùA\9Ÿk”›9© 8ÿ-œïíà~yŒ‡9–¹‘ßî»ùŒ´w0ÿ-{×ù=u‘³yxïÑ-£7º™$-e¬.붮 . ßŠ¤O:éVzuŸš„šzÁ¶y;Níⶸ[0ý’ñö~1‚Oª'oý:@«Ã6÷oh|ºIàùšz¢gãþ„£÷Ó:–E1›HôÁh²bê…o²k3³( O¯D¨g9™ä°¿´±/2s'û´Wû7{^¸0¸+·¸5\RðRÛ¹s´¨«,p+nqËï÷xs¯{ŽñrÝvññ}1Á¿ºSŒqr37sð;[§iS¥ñ),×”Á_ ¼3¹¯Ï{&î×v;¾“qQe3÷"4_÷ål·õzÎê·vÍx?ƃ¶Šã“=‘š=¹³üﻋ^~ÛS-±ï³rÄk×}I»1»oý诼ɧ:C¿k¯~/g5Vo=ÎG½Å/ÔÔþÏ#z„{Ì3g ÅK³ðÉöj¤b/v[§?Á÷!ö8àûj§þgÏ|ûç¡ǺSrˆîÎ?@LàÅ&”pP`B; >th‡bDŠ1"”(þáâFŽ'V”8$D“'!x€’eK—/[Îá±…æ–; x„'OPN0æÉŠ&5é1¢Æ‰Zì¨qdSŽO¯FõHR«Eˆ[¡v vcY˜†¦U»–m[·oáÆ•;—.Ü•Jñ¾è%G¿8(hPBü‡'V¼8áÞ¾fȘråÃ*-g†(³&Mœ:{úzR(ÑÃG5/E™1¬ØÖV³ºÎj6ö챪£¶fZ»êד»O¢­;œxqãÇÝÞM]Ô°ËæË¡GÏüœ%ué×/+Çž˜sçÏ;Cÿ š1jéÀ?‚½ vÇŠ¼s“œ»w{ß!C–^2wþKáÈ P@µÛ¢ LPÁ­3ÐÁbPÂ!¬Ð%Ì,Tª»š¾ -ñH#ï4¤ÎS­>õ˜Úïµ×NìO7ÚMÅÚV¼F”þPÇy\«À RÈ!‰T Ã"QÚгœÀë D“J#1/óJ\o6ÚRüÅøz{E+m“ñEøà£íÆàzLSMDÒÍ7áŒS³#å”@É-: o4(EœRÊóø#+=öf¤ê=Céc-=3ËâïÌ­]TªFÕs)Ç51Í4®6ëìÔÓO=¥SÎ;ótrÏûÄ‹Ê!ÑK­UÆÐ{51YºTÓ[qÔ]yíH]á$•IŸDÕ4?‘þ¤µ2ek•Y¼˜µ5×iÕäÔ×k±Í¶2`ß4=Ç;VÕ?…|v1s‹ŠTËÌž•–Úwu´VÛyé­—%nÝô¶IÑÂ%7©Uí X3wá-9yNXá]ñER_w85ÂT•xá‹ó"Øà‡CãA²á"-â~Ëó7䕃ƒ€ã—ƒÀcé&œå›±™È’{:9Dq+Vç›!Ì裑NZ饙nÚ駡Žºéƒ€lÊ¡±Uç!yæÉg>þWè¬É.TfH[íhÐ!/¼(Ì칑ÜZÈ®ƒøÚر]²˜î¿m/Ü@þ€ ¹kT ÝÕÜs4ðlþío½'»(¿'ïÜóë'ü/öè#‡Ññ—Ì}1×?/ªr /—¸1ŠÅŽ]÷ÝS ý/þèC "HýÌ×oœ%Øóbžw”fÏðr7Pñùë±Ïkðƒ=öÐxã÷s$+ÅÈKÉÙ»JѪ"OÒAçÏÞÈ™ïžÉ»aM¦þg¾[Â9û Ð~hs`‚=„)+iŽ˜¬¤.úŒ©>ÇKQ‹>"EÙ†L|Iô,4½ê!˃¾z[ P˜B®…-tá aCΆ-ôBñª6ì!ØøîâÀö‘©Rcš UG#FÅGuîÑ` ?ˆ?ËéCLâþÀ¯¸ÿ €, ãT˜±.2 ’@hð€ÒýA{øC­È‡›'NJ?ë)bû–xDŠ%r`l +¤/,fq‹{K™w¥12.2-R\ŽùÐðùuAÝåˆD%ÞKý‰•:)OŠ‘Ðs¤ô¨¸$ ’Zá¸Jù)E2r‘§Ô W¢À=ðA!“©Ñ—¨2D÷S“Ÿ´OõØ`Þ1–$„9HWþïͬÓ,i9F[Ng y@†×Kò9±~ƒbæ•ôȾA ‰”r'ågM„<óAÑÄâ4¹XMy ›Ù|Ù6-ã˜HF0ñåêö‰3z:Èž„|eþÐÊON´‘gd¬"z³…¨¡­,d溈’/²+PÈ;׺PêªGªŽEé'E ÐÊÔLB¯SgF/¶ÑítŸ†´v€É:Í*¥CeW]TAÿÀt¢2ÅéS£Sìðô£·ÓLFJ11+K¦ò¼ª./qÒ¥Lõ§S¡šÖ¤Hõ:T}hî®cÌ0­ïœñ<ŸQßéøq%?r«RÍ´T³Ò­j5ì ;ÕTâÉŠÒ¬*B¢¤Ïè³Q`ºQP%˜G>Ž…¯ìê0cÄÒøe°„=ìiç”ض.ö;¬ì)H% O°™ô¬_·ÔN&ÎñEf©m!òÒÒâJµ¨E-[þ¥ãVjþ´JK­e÷XL-ÑV¯»½R<“Ù%P’v¸d,®q‹Üè(7ŸÌ¬‰¬«ÉËZ¥®„g-»]Ðþ6y nw3õ]ðªU¼Ð!¯OIWörº¶åÒj†ª]dæñŽš¥¯²î‹ß5éw¿Píïrþ [óêP‚2å© Q~•Å`¢2kÄ?×R†…+ŒÓ §&ÃV ©Qnl ç¹dDzEèK"ìâÁ8Ʊfd‚‡ý­Ò±oÝ\Ž·ÓãåÅÉyÑ2Lj\ä}93IV²*àÚÇwOv“”'U'صëÊ˲–­ÉeËx¹ŠL¾ç˜#»a8§&ÈmЛ÷þ\J9W†Î`³“± å@ã¥Ï~  ÆASÆË_nm“—àHgFŒŽž–7éI3¦ÒJ¾ôý’¬†/E“Ú«akYÏziTcõžG½˜R3ÖÎÍ4,olaóÒ¤æmêÆÞ“©î›¢‡mi_/׊)5NÅfÿ¢Óöö·KXmî;ÙØ^¶¶@hƒ›ÝíÆš¸síl·rÛåÕ´»ñï¹Áû0ò>7½ÓíÅuë›àŸ¿óâï^œÛp5øÃ!¾0„ãEáa–f½Œ—‰Gœã·ÌªóWns/|×pv“r•¯œå-wùËas™Ïœæ5·ùÍqžþsïœç=÷ùÏt¡èE7úÑ‘ò—{Þ%ø=u©OêU·úpwUqךÜÆ÷ú×÷¬õ‹?ìe7»<ÅÎl²Ÿím÷`ÚÑÝp·Ïî„;Ãí]w½ïýyœaú¿.w¾žðsëN²›ÎuÈ–¹ðw<Ëìįýñ•·|¶6$yÀ+žÌW½üçA­ÌÜâj|èQŸú:)‰ô[§¼êaûz²vó¯—ýíqOcÚ“œóyÎýï¯ØÎðºôqÏ{ð‘Ÿ|Jï¾øxϸò¡} 1ßõ§—þõ±žöžñÙ÷~ôer‡%7?ðÇÿþù¡þñWßüèw?ðÃ/~þCÝúï·¿êã_gòsßó÷÷èç î`çÏôÚïÿðópåoòê/!ð‰ýž/1°ñ&¿cèï30ën°7ÀïäDpõŽo‚INðS°ëX°éÎMPËïm°¿a07`UÐÐã€P'„pùoàŽð £- ` ‰¡ð N ©° ±° N 5@«pñúÏ ÍPØÀP ¹ð ÙÐÛÀP m¯ é¼Þåðëp+ìáp ;Ï ùp3Ê5}1Æ »o!1­q #± ààpþ± -ñ› 5q‘AñJI±ç]‘wT‘;Q_±''9ÑmqíNð312 [‘ÑlDQ‡‘õðño’QÿPŸ±;'¥q­q=…Q¹1¡Ñ9P‚Q3ÅqÉÆÓ‘Ù1CÆÕQídèïq&‹‘rTȱÍñÐñÿ1 Òa ëq!%ÒWü±'ò"òò -@1ò#»¥!q╱#$Q2¹D² 9Ò#Sò%¥g%IRMÒ"aò&UR#Gò!KÒ%qò'ÛJ&y’&}(þ’Æ„²%Oò(™&â¯g2j›²*M'Y§’­²+­°2*·²½²,ã ,q'•Ò&Ͳ-7-¡r(¥²(ݲ.ß2,år,­Ð.ù2&à’ Å’.û².Ÿ0óR0³- s#µ1³,S-s)'#3+{’2+&/305s3S²3ó3A$Es-©²4!ó/33ÙR5ò4'ó®®6mó6q37us7åB6]“‹x38…s8‰³8³`|“(ƒ‚¦˜³9ó9¡3:¥s:©³:­ó:±3;µs;¹³;½ó;Á3<Ås<ɳ<ÍS;“s.¡ç8Ù³=Ýóþ=áÓ=;ÓP6ís>ëÓ>U?gS?a“?Ó?K@•S@÷“5G’>ûÓ@7“@Õ“AAÓAõBûRB9ïZh@4tC9´C=ôCA4DEtDI´D7”°cê`EY´E]ôEa4FetFi´Fm”EW EotGy´G}ôFsô:TôG‰´H”FƒíÔ4@µeâ†8bhf\f8!`¬†2&ÀJ‰3K·”1ºôJ…L÷©; ²I ”^dÀ™Ê)Ú4:êÀeÞê@:攵ìOé”løôN•´&SM”Mõôàâ:ê Q÷TPÕQ)R—£Q÷RcþII€ÑP'ôZd@RsfQ+T¯0U3,ÕlLOIÕWVuP÷G8õB{åS÷MTS#UßôT3CW•W-ÃW³æU­IXd5?³ÅVUWQµU{…XGõRYUZaµŠŽuAµEYß”Y{•O ê[Á5\Åu\ɵ\Íõ\Ñ\¡5W½5]Ýõ]á5^Ïu]›U^íõ^ñu^ŒŒuVíE[ „–‚`Â`·¸5XÛ5_ ª#–\í b ‚^»•b! rÐubÝ•c1Öeö•2õcÁÕc¶\M–dÉÕbý¨_‘[;V¶fDaYõcM6e1–gï•e+cdþ)6e}ö[‹Vb âhãhE¶aI–g•ViU¶bC¶„\[“ÕYQbfÂ`½BpVN_¡vj¥ö]™–1„6bËiß•cÏÖ]Óv1ÖVeÛv\ã–dçÖîhïZ4k„ki¶kl6hÇö^b“6cwö"r—b÷61ê6_ï–q%—q3öd;Wr¶rãru6\=–sáÖqóög«öíúÖ_ë%f¥Cp½VpöpE–xübwy·w}×wíàw# xw—x)Â/Œ—wƒ—x‘·y…÷yŸWZW1îz­x±wx•×y™W{½×{“÷zÅ·x¦×ruw|Ñy#'þ|¹W}‹7}á—|Ïôu_ÖSµö$h—pm÷:–QÏ7~³÷wÝÃyÁ7€ €Wzñôø}{—}xx;‚€Ã·{Ø/XNø‚ ¸}‚-˜ƒ}7ƒ‹•~±fï×$ò·p÷7:ú·R7¸C˜€#‚Õw‚¿W„I†EØ·W‚q„)؃{x‡s5†{8‡¹w€#X‰“xw¸”®öoQ8pU˜p±Ø@^øˆŸ8„—÷‡™×†xŒ8Š{‰Ø‹iøƒÁ˜É€Í8XÑX„ÕxŒ…ø‰G¸|ígŠ×t^dwv ö`Y‹qWmç8~»÷ŽÃ˜†¿Ø‹X£z“Ø‚þÙy‰‰X‡!9/$}Ø‘øx×Ø“ã˜_M˜ŠíBvf¹¶…ç¤éöù"”—–ù{qˆ+ù‘¸‹™¸xi™‚mÙ}Ùw†áx“ñ¢“=Ù‰Ã8˜ Ø™—ƒ‘¹ïN¹³5…?e‹QU–£¹›¹—½9œ“¸”sWœÓØœ¡xša±šÕ±9T`™z¹é9Á¹žñY|ÉÙóY|9š÷Ùu‡/Aë×WþX¡âÙ|ûy¡£W‹B™:¢åWƒ%Zxÿy™šošI ºVß¹S´ùŒ+º¢3Z¡G:¢Kztçù¤Ú¡u‡ÛùšoõžY:ŸS:’Wº¦ñø¦99§þuzœ]:v`ºS ÚMUzt "˜º©ú©¡:ª¥zª©ºª­úªs h‚Ú%ê`©±ú«Á:¬ÅºªµO½z¬Ñ:­ÕZªËºZ—Äo­9[ Ô™†sJif*)kAî:¯±f¯Ãt1į‡°çw£á:¦ŸÔD»±û±M”J¯ƒŽ´²-ÛH]¹2(û²9»³k4³)c³={´I{EA[ cv)ô1‡šVWÛ,[ûµY›‰Z¶W±UÛ¶í2¶u›/ùj»·«rŠ1¸][¸™òj‹Û¸‘›0Mx¹w@ `º©»º§{ °;»µ[»­»»½û»Á;¼Å{¼É»¼Íûþ¼¿;È  ØÛ ÜÛ½Ï ¾å{¾ç Ѐ¾ç; ô{¿õ[ üû¿<À|À œÀ×àÀ<Á|Á¼ÁüÁ!<Â%\ÁÙ  ²ÛºÝ Ã5|Ã9Ü ¬;»ßà Ø`ÄI¼ÄMÜÄ'<ÅüÄY¼Å]ÜÅ d|Æi¼ÆmüÆk<t|Çy¼Ç{\€<È…|ȉœÈàÈ‘<É•|É™¼ÉüÉ™|¤|Ê©¼Ê­üʱ<˵|˯|·…q¹/`, ÌÍüÌÑ<ÍÕ|ÍÙüÌwàÍá<Îå|Îé¼ÎíüÎñ<Ïõ|ÏéœpàÆ ¾ Ð ½Ð ÝÐxåz8éÑÑüÎyþ Ò%=Òé¼ÌÀÒ=ÓqNx GÚ¼Ì×:Ôs ÂàLýÔQp€ÏY½Õ]ýÕ_}Òe}Öi½Ö}`û0 Ì—»×}ý×=Ø‹û ‰½ØýØ¥q•}Ù™½Ù½Ù—0Úe•¨½Ú;àÚ=à@ D`H ÀÝÄÝÀ½ÜÁýNÔ]ÝS@Üýݱ`ä}Z \à^d`mh€P¨>à>àû½àmààáQ}áU¤ºÓ!^~â)¾âWÖ1žÎ#½|à~€`:€•<¤äyb:`€~à| z Öe~æi¾æmþæg]þt~çyžç‡`ˆ è…^è‹ Œàè‘ÞŽ ˜¾é™¾ ’ ê¥~ê§~ ¬þꯞ ˜  ¸¾ë›À À>ìÅÞ ž ì¡ @¦ ´€ ¨  à>îå~îé¾îíþîñ>ïõ^ïM¾'¬àï?ðð ?ð;à ,Àà2@ØÿñÙ%òòÙ-ÿò1_Ù¥=Ú«½ó¯èÚ±]Û¹¾=ÜÅÝÜÍÝ×ÝßÞç}XÀÞñb`ßÙ†fàß~÷k àû=á~áS]Õ>âßâ->ã•Î7¾ã?>äG~úÞCéW¾å_>æq~û¹¿û½¿çw¾tþþ燾ü‹>é‘~éÞ驾ý«ë±^ë½¾ëÇ~ìÍþì¥`íÝÞí÷¾ÿýÿÿ¢ŠÀ |'äË›ò ”(R¦d¡`ƒóÚ¿?¿þýO7¤`€m±ƒ @<Ä`ƒ%½a„æDa…âäS†?Å!Fu€KàTR™PÕSWa¥ \yÕXb‘eZi­ÅÖ 2ÄUWxÑÀ_€ )˜aF2†d’•)†[“N>ÉY­…6Ziþ1$TªaðCk°ùæÛ“•If™² ‡&qÈ­©\Î5ÝtÒaGgvÜq÷xà™Ç§é­Çž{ZÄ'Bôñ‡h¢ŠòwåþB>JÑ?400PA€æ`§$Ij¨*]Hj©:ièS‡~˜”ˆ"HÕ‰)ZÅb‹/Â(VX,Ðh£Zm±W =Öõc} X‘F–d³Î")f´bröÙT’fe£Ad¹e—¯™É›´c‚K®mh§æšÉ-÷æsrÎYg¼JÜÙ]žâõyžz쵡UºhÀœ¶A@Š°CìÐ@Xz© 4à@Å_ŒqÆoÌ1Æ| rÈ"LrÉ&ŸŒrÊ*¯\2Æ@AÌ2GðrÍ6ߌsÎ:ï|3Ä–JtÐBMtÑFm´ÏJ/½4ÏN?³Å,§l1ÔV_¥uÖZoýrÇ^ vÆSMvÙfŸöÙ0ÀÃJ @ÜrÏMwÝvßwÞzïÍwß~ÿ xÝ@8`ÀŠ/Îxãˆ?yä#@9å \ŽyæšoÎyçžzè¢NzéœË=@ꪯÎzë©Ëmzì²ÏN{í—WŽ{îºS^@ï¾ÿ|ï¼O|ñ¿»Ž|òÊ/Ï|óÎ?}ê LO}õÖ_¯À;PK6—Ñ?m[h[PK\8–AOEBPS/img/odbc_plsql.gifÏR0­GIF87aÆ ç÷÷÷1J!!)!)!!))!)))!BŒŒ”ÞçïçïïÖÖÖ÷÷÷ÎÞç{Œœ)J”œ¥½ÎÞ{œ½c­Ös”½cµÞR¥ÖJ¥ÖB”ÆRŒµR„¥c{œk„­{s{{ckŒccŒZR”sc”{k½ssœ„{œŒ{œŒ„””ŒœœŒœœœœ¥­­­­­µ­­µÆ­½­­ÎƽÖÆ­½ÖœµÎŒ¥ÆcœÆR”Î9„½1c”œ­Æœ½µŒ¥µ{½”{µŒs­„k­{k¥{kkkZ”kZŒkRŒ{JŒŒB„ŒB„¥½¥œBsœ)ZŒ{s„Z¥Ækœ{)1„kkRŒÆ½ÆÆνÆÎÎÆÖ½½k”¥9Zc1Jc1BR1J9B9BJ11R99RJBRRRZZZRZZRZkZkkJZcBZR9ZB!19Z{”JŒµBs¥{„„ZÎïJ„½cÖ÷!RŒ„Œ„R¥ÎRŒRŒc„­ÎÖç1B)B{Œµs”µ{„”Rs¥9cœ9k”9cŒJ{1ZŒ!{Œ„Z!J!R)R)!J)!{JJŒc9ŒZ­œsB”„B­­”1{cc¥”­¥JZ¥sZZœŒ„k{sB1Œ„„kkk¥½kk9kZJZBRk„9)Î¥¥Þ¥œœµµcœÖZ9”œµ¥{Zc1B„¥œ9{)­cZ½cR½scÎscµss½”””„ŒsJJRœ„c­s{9k9c1R1Rk„RRc¥cZk­„”ŒkR{œœ­½œRJ¥RJ½RB½Œ„c­„¥”sRsŒc{”s¥B9µB1c¥Œ”ΔZR”1)¥1)µ1!cB”{{c{ŒsŒ{BJs„R”­1!k¥¥k9Bœ­”ck{ÆZJÎZJ„ZZB„B9嵄JBÎ{sÖ{sŒJBÖ„{ŒRJÎŒ„Œks„Œ”ΔŒÞ””!J1Îœœ)ZÎ¥œZB9!RB,Æ þàOÁƒ*\È°¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(Mþ8pŸõÈœI³¦Í›8sêÜɳ§ÏŸ@ƒ>˜@´¨Ñ£H“*]Ê´©Ó§P£JJµªÕ«X³jÝʵkT¡`8ò¬Ù³hYšH˶­Û·ûxPO€ž-õÔë£# ¿€L8ЈÈ+^̸±ãÇó™L¹²åÊ!2kÖ<¨³çÏ á@Mz4¡Ó¨S*TÈë׆|ÈžMÛG”Û¸sG±Ã»·ïß¾ N¼¸ñãÀ“+_þ[·óçУKŸN½ºõëس+?ν»÷ïàþÛÉN;¢(ˆÒ«_϶{ÖðKG‹zÐæÌ—óOfܧÍ (à€(à'l±Ê‚ ®Â+F(á„Vhá„ü8ÈφülÑO#A=w ¤¥(XaƒEvXa.Æ(㌈é§ß}!Ô§£gpô(ZiP¨&$kî¹VÛlÐ1·\xL §ä“P–'å”TVieuO6©å–ßwå—¸±'æzEºk„6_}8Ú˜Ÿbýýgàœt˜ >xæ™ç=|öé矀*hŸzê¹Å –‰à#@*F ‹-¶øâ”Jš"¥œvê)§42æ&f›í¨£?¤¨ÙÚkþµéeo\‚·Ç¬¸*殼ö &”µ¬—¾’wHnÇŽ)f™®ÊG›÷ZYbqÖ‰A+‚ Q̶Š!H+t"¸…=ä–kî è¦¨¹ìšèaÏõè é¦Ÿ²Xüöëï¿ H¿÷¼b¾,Êè&Ž¦†æ£ªª²Úm¹+l—¹fÜ[±wìñs³^,rx¼}Œl¡|,Ê*³|›pÊ’ùÞ™Îîئ´| '<÷ì3? AƒY4 ñÃÏ>÷‘ 3ΰ{®ºP 괹θ›X$ê1_ÿ•ï¾DÀd—möÙh¬"‘-ÌpÃ;öHZ«±É†s#c¬qþÆ&÷í7¯Yæ-8r&¯¬2“aÆ,3lg¦9Úš6G‹óýõAÃå˜gNCCŸEƒ šg<[0Íô<¨ÏÏꬷÎ:=ÜCÏë±Ïîúí©£nú*b¼{X=Ðõ_xúÀb‹­ÃòÌ7ïüóÐG/=óÉW?vÚØs=)ÛŽáÌŽ¥~fÚiuß Üàzïëßì·_^àèÇ_òÇ) ‹ÌÊ Ÿãj6,¹´ýÁÀHÀMh‘€Ñ H@ Àc *ˆ Up» Æ£,)† âa ¤¼Ý#¸ŠGønÞðQ<}æ_A˜ž gHÃÚPÉË^Ù¼Æ=Ù(3þžŸ‘γZÅÏ;·R_®ÜÇÄ&FÇbGÜüŠu¬¼î1›k€ô,Smgd =)lK ãÁFÐptÇ;æHG:v0ƒwü  êXÇ8ÂÑ*(á S¨á­°…ƒy¡¿”Ǽäà‘Œ¤$'IÉJZr’¼¡&q¨Cµa”ªÑ÷‚H¾òÑQìŽùæÄV¶2d©Ü{K,. ŒCÿ døï‹"°Q•AÌbSÅ€€2‹AÌd.S?À@;ØÈ7‘|Ì£@È€b”›tôc5K8ÅÒ)º€ ÖÉÎv²“1ˆ(À/ç9ò’øþ̧>÷ÉÏMJOlÔáö3™ bU¦ìÍj)žUÎÊ•u"ü*¬YòŠ¢cÒb!v ¹Èiæ{úæ1‰†@@ æh¦2!P hJ“šÕŒ#8ë¨Í ~s¦ï' ÉiNªZªP‡¢F@¨qDóîIà tPÕ?§JUKПÐËa@Éf©‚v¡v3"E‡ãÐõEô¬›èX¹´±‹®Õ–íÉåiä7ûÜ'˜–  õöš­b˜ƒÊ fÂÌ‘ë`‡.tÈ\8ö±l Š!ÊVÖ›‘Í,d© ž&朑Š\’ÔæIÒ©HK­jWû3Ìñ sUþm$€Õéiµ““"¨AEC>Ûñ­d-k”ÐJ\“) ¸µ²¨•P‰Üeår£@ª«]ñs™þЀ1È®v)0s Ah2‰´«"Ôâ ÌHoz›ÁÞöžã½ç@‡|çKßt8“¥é@G|é+_ø¾·½íU/3œ¡Žr~Ö§)- ø J»Ì¤ † ãÐô\d" ,aÂ=^ž$þG]êS›üg©>9Ï$©bXCÆ°®u$3Q‰ ìº×°à„&~° O/•Hö £-CuÕ ¦)DX— \nw{<Í·Ôw¥Öq7´JÄ ºÓ½Öu¢ÝäâMï²÷»FA·øÝïùü»ÑzÖÆÀèƒÛ$átßÃŽgˆ÷´¡À2Œ%Þ ¶,0à Wxä¤æY &ÑP¢ÞÀ0)‚ {˜g”Èðç'Ïâ’§¼g¡÷<ÏFmcRKÒ5—$Í7 sHÛÖ¼vqÏ}ðƒoýçt¸Âó€ ‹"ÃÎðæ§[Æn¨1‚7Ð?PÑg™ Ò „Y˜†)ÿF Š¹˜‹i‘IhÜ ™Û"™ŽÙŒÉ˜ÎБ’†`Ÿ0’x Æ–* y%×’—“8°Š3™‹­ÕyŸ÷ƒ»(‹•÷3£j»9s±7s3f”Ãv7Ç<@·±ð{5ä •ÀÂÀl>v•^r§Ž\é^ –iþˆvó[Tv–•–jÉ–ä9eoé$ãyr™t‰Kì¶Q€8y¹#1 ÉŸÉp˜†9ü)‹¡ çµ ¦^v š  º ìU éµ™‡Bž ’(š¿P&Ùi(¨)rªÉŠ#ø’1‰›ÂXrHÓš<#b&öTÀ‚+×›ÅI-I0w”ˈkJÉk!wœ*Ö 6tœž°Ñùl§@ É6•à(ŽÀÃ`Žh(–„mL÷í¸äy¥mé–ôhÖì¹ð9WÓ0ð?0‡ÙÄÀ-Äà"?p^Æ` ¶0§¶p vz§xš§zº§|Ú§t:§»À:qþŸÙ †š@¨&õ`Ú¡CùH«ˆ›.éš°ÙŠ®–›‘à 5ð ¥f 8©¢=s©Ê1Zªäj.—s³–s¶¦=§œ± LÙc¡@в tË ÏöcÇ ¶Ú¼š³À ŸÀ/£@\™¬‡w€a¦@pàU¼¥dY–ìX¥É¥Þ*‡KržÄÁ¥X‡xx`¦ý8ŸŸ†?¡â€‘µ° tj§¸°¯üʯšõ¯ Yý:°vºX»À ½0¨ú¢…+•`YÊÄ¡Où¡’Š¢¯y-‰®Vz4)¢)Š ¤zªæbMhª¤b¢÷H<þdæ£ÌCˬ3ë<µšaLJ¬F ¥À/Óª¬p š‡ ‡°Ïš gˆŽIVDnÈd{žíø­Þª¥xØVv~Úv®té\ö‡ñé 4ÐB£r§¦ ZÐ nË ·r !oÛ Oà€:Љ7Zø¨¤¶¬u9²5UT[9P[PÏ Fö¤éØÛ7nSKµphµXjžçI®å:¥çÙža¦cK¶žîmºª»º¬Ûº®«º‹À²;»³ÛŽp»¸›»º»»¼Û»¸û´ËŽ ‹A¨€Á]Ž!‰!‚@O¦EIAX¸Ô{IWþU[Š»¸Ú0Š€p`m{’;¹YV¹ÜÚ­˜[žXk~œ 2%óâº2ê¶a«ýX0Y }°¿üÛ¿þû¿ý;}à^¡\p¼ ;PŒáBýò<ÕûÀ˜„¸Ës=Ûû/*²œÁŒHŸ2‰À´g¾Ø*‡Skuæ{¾Q—¾k¹¾V×¾Ib®Ÿûµôû~ö{¿¿ôEn2¯J<ÜÃÌ·]£ÁÇ0ÐÃT̲´%Áϳ¸<ÔÖ¢Ã<Vàµå;µ(üŽ* ,ÜÂé)ø¨­T†®é1Ã4\ÃñwÕÃP¬NüÆžòÃù€³Á<0d£ÄzŒC,PM *þmã=‚ü=àSȤÎë7¨2Ïõ\Ò¬R&(þÒFB1æ£PûüÒûÌ$ŽÌ­}¥°$®Zû>^zÐó;Ã]–A‚—×,fl¬ÍíÄ@œ"½ÔÛÃÃPŒËe*#]&ÒG’ÕZ}$q 0ýÕ1m+3ýÏ5­¾ýV9­Ó½Éýž¢{—czÍ£òÐ}Ô=ôÍÎLÁ€ÁRÊÒÒ ÓËã3$î±ÕH¢žÏ\¥`ÝØaýÂLÓeÍ–7}É]ÐZÃmýžÕŸì 7£Fm×=<Çym-¨Úª½Ú‚{jGüÚ°Û²=Û´]Û¶}Û¸-[дÛ”ÛºmļÜû„Z­ b«}ÜÈÜ‚0‚×)‚‚Òþ=ÝÔ]ÝÖ}ÝØÝÚ½ÝÜÝÝÞýÝàÞâ=Þä]Þæ}ÞèÞê½ÞìÝÞîýÞ×íò=ßô]ßö}ßôýú½ßüÝßþýßà>à^à~àžàü=Ìm)È[Ÿ–á>á^á~ážá¾áÞáþá â">â$^â&~â(žâ*¾â,Þâ.þâ0ã*þP)Î.ã:¾ã<Þã>þã@äB>äD^äF~ä,NãOüà€äNþäPåR>åT^åV~åX^YJnç™ãYæb>æd^æf~æhžæ¾å\Îäjþæpçr>çt^çh®ä˜bnnçþ|Þç~þç€è‚NáxnÚÏÝ䃞芾èŒÞèŽÎã[nè€ñåˆþè–~阞难è4žç]þ€ æ›>ê¤^ê¦îãꪾê¬Þê®þê°ë®^å…®ç*¤Á¢~꺾ë¼Þëî~ìž@ë5^)ç´Á¹.á²ÞìÎþìÐíÒ>íÔ^íÖ~íØžíÚ¾íÜÞíÞþíàîâ>îÖ>ìæ~îÅNål>ÉŽë•NáÀ~îò>ïg‘êô~ïøžïaïúÞïþþïÄï?ð_ü^ðïŸðm!ð ?ìé>åëíêï>áÀŽæ`ñïëîñÛñoþç"oäÿðÁñR>ñÁËáoæ'¯é5ò~ó™®ósÎóAžò*?Z,å.<Ê~ñÌ>ò4_ò;Ïô8_á>oéQçSêhAb6tpõõeAb,±õ oì,òò”~á3_æUÏèkÿôm¿èoæq/ã@ßõ_o÷g±õb¯õ|ß÷°÷ÄNö…aö1oYÀþ°€õt€øŒßøŽŸø$öø’/ù"øŠ¿ø‹?ùùšßùž¿R™ÿù+UùŒÏù¢úú©Ÿa¨ßú¥ïú¤ú¯ŸøõŽoú®ïúª/ú±¯L™¿û¾ïû¶úÃ_ú¬úÀ?ù½/üÇŸû¢þ_÷ozÏõ€ýÖöxÏCåE_HGö`ùâ/ùÉ?û²OûίLË_þüªÏþé_ûé¿üèüñßþæ_ÿ÷?ùðßùë¿ûA „øaDŠ8p aÁ‰ ;"üèpbÇŠK6¼˜qãÊ“-)fS&:3cÖ¬i“æMÝ7ØíÅË_>X^¼sßìgO¿ž$òåÊCìk\:q÷ÖÛS¯ï:þæóŽ%öÆKβ¼À ®?á°»¯p‹o@ÕsH³Ÿ†­'Ïhêp´L;5OL͵תºj6ÚºbŠ¨fœ‘i´1‚käQÇwÄ1´}$²G!‹D2 0’`Hs„J{œrH*‰<2J#¼ÒF)‘Ô2É%eäÒÊ.küÈ0Õ¼2É*L3Í2Ù”þ³Ê,‡³É9í4S73Ý…e×]OÿtÛt+ÅT^t³•öZ@#õTU]µ3RG,Õ¦Va…x5Yg ¤ÖØ\Ìu)ݬ÷Òe¡]Øå•_kïíÞ€ŸLÖdlo$¹å|õ…s¸—ùxÜJ£´™c—þ¦1ækëU÷Øj_þÖ×P=¾yär ý”èvyýXgJy>Ùé÷eh¬ï4³`S1áU9 ‘Õˆ×V͵Þ¶¸ÅÙ2Vj㥳–ꟉýSèe¥žºe«ÙüîÀ wW™ÿ¶·i¢ïé”=¼i%ŸZf½|åÉAnvR¿·<7p”¹´ÚÜGaÆœ[@é,y`±ÍþìÉ u»§›8ìéa¶*ªŠß¶c5Vütón“i ûMžq¯5¯Üó½Q¿>QÌÁìXòÐÃxjĆ½z¾µŽÞI©]?šüïÝ74{è)çûñÍÛOýÓêƒnþpõOÝfG¢²Ѐj^þ¢¢áonÇ«[ôD6³vÙLY=«Ùù0È?»MNM›âXÖ0®^‰ðdöÑtÔã9È>’‡Ü£!ùF.‚Ñ‘ŽôÝ×Æ@ØÈ-^IÞ"5i%EnÒ“‡ìä'E9J9n”§ôc(Q¹IU’²‘„¥#)IˆQ2hÜŠ‘ÂÆUþ±•½&'MþLb²r˜ÅDfâ’9Ê_Šò•±„fïh <[âòE˜\¦/™Íb6“›ßÄ—7Á)JqŽóåÔä3£¹ÎM“mÕ¼Ø1©zÖÓž÷Äg>õ¹O~öŸyòg@:P‚” 5hBºP†6”žuhD%:QˆNÔ¢­èE ªNvFs–îD<-™KaĤ'EiJUºR–¶Ô¥/…iLe:SšÖÔ¦7ÅiNuºSžöÔ§?jP…:T¢z§£GJQ}*Ò[‘´nH…jT¥:UªVÕªWÅjVµºU®vÕ«_+X™j<ɤgEkZÕºV¶¶Õ­o…k\å:Wººs¬ò|jLêºþW¾öÕ¯l`;X¶(w½d^`XÆ6Ö±…ld%;YÊï5·Œgb×hÖÊvÖ³ŸmhE;ÚÇ"Ö©›Õ+iU»ZÖ¶Öµ¯…­QL{MÅÆÖ¶·Åmnu»[25Ðì.9Ë[â׸ÇEîk}ûÛÓ 7µÉ…nt¥;]êÖu¹Á=Šfª»]îv×»ß=Ñr™K·ì¼çEozÕK\ñ6·¼Ï]o|å;_úRöºî5Švë»_þö׿sïoÉ›_óþ×ÀFp‚aà ¸(úUp„%Ê–ÑÜc0‘€„­~;ç CxÇwN3•Ñjæ2×8Ï~^³SøÜfˆyÐxFôïŒLc1Z)d>4¡¢"8Ç96s0ˆ1¬bW-zÉ€ÖÍ’CóçG‡úÓ£>u•M-êQ‡ZÇBö3ªõüjÅÔ5–õ«qíãUïZÒ…æòª­kYïZÕ­nµ—…k=SÙÔZfµ®g­l3úÖËN5¯‹Ýë_·Fx€³œ1]gŸèIŸf¶£Õìå@þóݨ^÷­Ù­æFûÙê~7½¥½ot¿›ÝÝFQ’ë­oÿ[Ìôþ³½IýïS#ÅÚ¿7¿Óíî‚Ë»Þ ¸RÞœqÓYÓvNÍD.rŒC¼ß%xÂM.üâ'ï·Ä%^q„¯ü(#ÇyÎu¾sž÷Üç?zÐ…>t¢Ýè#/9Æ×½ô“Ç»à/w4Ì£Îô©K]Ú·9Õãíô¢Ýë_{ØÅv‰E¥Ò–¾ ¦üñr+e6I:Ë} ó”¯\뵎úÓUN÷sc½åZv®‹V©oŸIÜ«ŽoÆ÷ÝйÃ-ä}ã]ËŽ§yÓ#j¼Ï½(†}èm2¶aþàìh€ÚÉÍ饼=Ð6‡ýã¡ø{»|ïy‡¶ßåN{,GšÅˆ'½ä%?ûÍ{Zø[ß|ÒS~õ…ã^ïo¼Ô…f¿)P¦;žéG9äÞŸþíg®tÍGú??ù§ÍrŠ[¼æ™ÏxR€ÿèÛ³¿øõ8ò¯|R?|ñ>ø˵|K?éc±êK P»í[»î[ ×£¿f;¶æ3¶4Ã6û‹6 @ZÀò;¾†ó·^K¶|Û¶b‹?£˜¿R+ÁÄÀ ¤6b{A†»<Êã¶d>ãÛ2~AÿÓ¶ $4œ4Ô¾K7¶c=·¿̸T´>o[@"ô8T lþÂ%Œ‰'¼B ÂëÂ9cÀÕKB¦°Â-ü5&4CëB(´+B*ü¾4ì64”Ã[Ã¥€Š(tÃ)Œ±8¬CB£Ã?$±;Ô¸/ü-ì#ÃÖ[DA\±@tD#ĤÈÃ6L=LKD8tŠ2ŒÄßËÂN,±I =¼Ä9ËÄ>ÜÄFŃÄU”0Q\ Cä8)ü­S„²TEWÔ°VÔŃEÙ’E[ÑLTD\ìEãÅc4°_<¬> EÆZ,Æ*ÌEeT°d´ÆþbÆXqÆ6„hŒF[t®jDArÌFÃÆs¬¯müƒnC«øFpÌ€ ˜F?TG KÇ{”/vtÇC„Gpþ„FzÔĦàD}L°|4HõâÇ9 `‘xGDE‚4Ç„¤/„´ÈóZÈß‚FøG€”È[¤ÆŒ¼ÆO$IþZH€ôH=€È€¬ÇT®ƒ:¹ ,á<‚¢8‚ø”Ï£Ïú„ϤxÏúÔO xOþÔÏü„Ïÿ Pû¤O¥Oü,Ðø}€TUÕU}‹øS@-A3É2ÔJÐùDÔC¥Qÿ$ÐÝO]MÐD½ÑFTõU…P¡ ›Ð¤ PO­SPµSæêà«>.«öêÁÊj†è©kâ볬±6ê²æêWVëÝJë¸î+¶Öé­Nâ ¥kÜšë½®+¢î­vë¼¾V¿¶­¾6l¹Jå>`lÆì}æi†ÕëÄ~-Ħì·ZìÆlcÖì>ˆì íêþË®l‹íÊÊìÆ~ì—~ke.mײìÖNéƒNèÎNíÏöaÖ†í¥&í܆,¶~>nàCŸæíÐzíâv'Ø,#¸‰› ˆ‚ç~î0kä6îݦn¬–íðíÞî °Š °ƒðoé^muNêëþ«ãFo7Ínè~nïÖðo; oÂ>Ýõî,õÆomo÷†oùïúvc˜ÜïÊÒï—Þþ†îÿžoúžn¬Mlþæ ïÊÕ€Ípï(`ðùpJ~c,Ñì»è伌ç2ã6vÝ/^–L`V ßððqÇ"q£\?ì¿>«à0û¯Ç ,SÆpïïnð÷þçJ¾ñ·n=LÓÔqØ3Lï/!_ëS>ã8ÕpÿFr·ñ&7¬@ „réd2+Ý@Æ´I_ã@bÃhÖÂò¿"ò7rÿò/ï˜sÀ"s*W7/6s¥N0Ö?ô›æ‰ë®9÷«:O ÷òøNò0ïóÁ"ñÎ3> ôÍ4o·û+À½#>îbtw²c4\Gw H_ð<oJ¯ôZ~ò¬=4·:Z—u ¬<ÊôPß®Q—$=¶XEõ`fŠèòU—t0ßóó¶H ·ðg‡öª g¡ÝÆ[¯rºÓ<®ã¿P¿M§Î?._§¥qå×ÏÓrGæògu_ö‚vq_Æ*ÏjþŸußüPà´²õDäC—òDçMÅevM–âa5÷"çÎc?òðVow€÷Üör¤÷¶ÜM´Á_qxfAªÃR5ÁäÙ€Ÿe‚'ùˆçbGxZéšÑý‡œ^)†È毒 ,¨DQÔ‘F%ûѱÊzÄì³Í:kP¢,ªÙœPÂi®Úפa¥í™)u’{nRŸ¢ÛPµ mÙP—µ=ˆ›ª ±jáX.©ÈŒgm¦mŸ•Ô¯þ·Q–Ûbsÿúk©Áò±hsÛÚ¹.ÅŠºÐµAf[®­o‰0¸qÎꨥæV|2­¢,A» ½ËP¼Q|™ª„«’ÙÒ«ˆmº2¬8á….øDkI*—¦z‰ª×»UX&ßö·vÚzV.tÛFó9Q 7½ùºÈp:ê©«¾:ë­»þºê0Å8¼ŽË ¦V_+t/å¤ûþ;ðw®5Ï¢e<ÇÁ+/<í0Û.þ3äaênï8«¼<öÙk?Ôðͯ|¹Æ#¿=ùIo×Ñç.ùõè•ÿ>üñ#ª¸¢žË?þØŸ?PúóJÏ>¾ò'À²~Ö²¨À«yO!ýÃ]„Ø»R°‚êž3¨Á)íO¤™­·Á’1,! S(”~0rcšœU(C‡øíp6¼!s¨Ãª$q(Aà ƒ(D–5}ÏëÚÿ^Ø>†Œmˆ*4ì¢(Å)R±ŠVDìÐÓA'r‘‚,<¢ú"¨Äv±Œ2t›ÓèÅ"òŒþ[ß'¨Æ9ft¼ãý¾Hè½QŒ6ƒ¡Ø–ˆÇAÆÏŽ„Öþkwas• )Éår’–Üœ"ÇÈé ¤z¼$(³WÉP’Òg™¼ãÃR²²r£l%,ÏuJ>B°‘Ô{äCšË]žì•¼üåŒf‰D8þ1’Ñ%0“É)_*³™©fmÙI\þЙÖü3¯©Í²Ñƒn¬%'%àIHn³œʦ9Ó hn2„ŸT'<ƒÎxÒ“ˆNùf*‹IÆzòÓB[ì'<Ù Nw’ …ä?ZNæl€,¨B#zL J”ž u¡>åXуÎs£ðƒâCêº,®³›-LbFWéQƒvt¥ä«!cJ8&ȤøĨCY?—r”¢<ÍŸQd*TÁ0þk6Ýã0ý˜Ó}þ”ž-ÝWò Ó°ŽEeÛ”èħšñU.¨æjQ©uÔET•ïlj=ŸJ'4M E2ŠÔC¸z¦¤ÈUsòóêÀ:ª{"5šág.uŠVgªu8lU¥Ôv¶ªêŒ®[ ^‰2T¬Ù3"'%æR5:Øt–W‰ýYÉšæ“m)L?£‘ê|H‹©¸O'SSÜ€:9i)E¯5å+Yêȇv³Nõé\—F¢Ëq4Å —i–t°[1Ì?vÕ•a…?¯F¦¶B +¢ÆªÉ²¦ô¬¾å,pãj¢ä‰¦8ozî°Œ5ûŒW½N;[Ò<ÕòQw$Ö•)v++››¢4³þ*ýn9;‹Þ¸rL\¢eîÝ:†`æ¶ÕªLJîk!ûÐgÉd²ù½hw+Xd˜°áUì— ]×N 6W|Óû- i±u5[d%sßÀ‘€"6Aà.¬]TâTÃLíð5âçê­EžÏÓ”Ö`©XÄIJ{çûRR˜)…€ãïÕ²üŬ5 d'4ª**qí¦·ò¬_$ãU©:Úº lÍq^qlñ‡×*[™pÀòD¶ÌåÛz¹¯í4+DÇä#åÅSt}¹g¸?k™p:Æívu{KÞVSÑÚlih:åèzFz…‡ûsá.]èÜöxÓ¬§Y j´yšº6þÆ’mKŠigØÕ?Ž50g ì ÅØÔ×íò~ Í]ÿzwØÁf´³ùVì XÙ¥R¶¦§Éi÷E;™Âîöɦëc:٬_ îg—yÝ+÷Oª]îkŸ̾³»Iùí|Ÿ Þ3桪ÍéV§û×üå¾Þ© NVÞº^õÀÑ-Njr[á¥L¸Å¯ӆ˔¦8¯í]p|g‘/ùŒ@*Ò•§Ž¤‹Û5-³=ñm3Ö(OãÉo¾A ‹|æêÖ¹%st ò\©aþïЩ¤r–3}å./Z»“ŽÂ¢KÓç—º€6Îñ­ãÐãƒ6ÖeHõ¿R¼æa׸ÍQv³—qìíþ-Ûgd5¾­=îNt;¢án÷¬§ýduß{ñÞÝD¾5s_Ûß ¯BÁ3›ðŠGÍáÑE[i%þñ%ü¢êmô{#Ýò‡‰|± 5¿FÝóÄ|æC¾ù‘wÞôD=¨ª[ ÝõÚüæ«ØNe¼|Ò¿Š Ú· È÷ÈkTÂ"<å©U™G´»í ˆúˆ÷|÷ÿÍZ35“nÔ¡f,MÈ+bï£ öç¢p²*ý N_õº/û׿ïY¶d¿þ×a¨Ÿûè4ù>ãóc¨ßú-ê¥^R½ÍÅ_øE×g ‰áßáÇÀXÕì [ LjµV¯ôÊö-ùu àó•Þþ¾OfÞ’]ü×¥W2à›%ŒsEJiáÝ ‹“@ºùËþIŠ éuS æÏ ÆÁYÉÇÜÄ iÀ×|aJs ƒ™Wº•ð=I‹Ùöá•4ßìájP¦àÛñöAáb¹ È‡(ßz…Œ”½W ‡œRI–e„G`žžMAÈ0Eþ\¾°¡‚É×æahY¡ Îߊ5âi —{qö]Åâ âÏ ÚÁÌÐF"^Ýð剓!ÍÄ —œ0M%–ÌæjOªÝá'ÂO(~É•bêߦ™›õ jù ÜäYÄ YU_þ£$ãÞdÏ-ú].îâÝ“!ÚÆ/ª "¢ÆžK8 ãÚ"' Ï5b£}Qà†/’¢7šâñÏ8’ã"š#ðx¢:š MµcV¼£Tcëøß<úŸïècð1ã†L•1¶á™Ýà>¾œ—å?Š"7Âc^ßD>D5vb:¶`$Â"Šµ!øuG=fÏÒ5K¶äê<»ôãEdTd³udC|$:’áÛÐ_› –ý­â•¤$öh×%ÇyC°£EbM"b<#Nêäº(ä¹–™Å #ŽÖi=dV Q*UVe1¥?>¥M:N.ÄXÊRH–£ ú ÝŒ¤”,‰{5þ]’P["^À•ŠE6%ZFå@®¥%R&à(åDµTHyI!ñµœ½âr„¥Xž#&õeãìÁfF¤`Þ$aÄJº¤iŽOŠ$dÆJ‰õ J#^>b íeY[ãü¥EæFšÝh­&PnŒk¾×ÆW^Žmžß²PžfÖnænæö&þüfÅ"\ùIpº¢|IUnPrÆžŽá¼Ý&nFçàéuV'ôAdc V¶âpõ‰Ra…§ä}‡óÙ¦sžçgÖdhªåz¾Oí$€éçùñçè•çþ%z6žzh!µç£9›‚‚`uõ§ƒ:ÏsFèÑþ‰&…’Ïæ[†Š§dpèÇù%€ZE7h…’ Î(2(Ë4§‡¶è¼¨tr¤Œ’¨…JrÊ¡ä¨î(„(TÂ( )ü”¨»錈’vèÖäÀ‡2iZN(”jϬY¦0Š©Qi•.gúéh–n©‹jäòæ— iÔ‘)cÑi~b&Yª©i)úhzNgœb¨Ùén“™î$–î)›ö¨›þ)ªòØ}Úg&]Ü 2^Ó¡V¥žÑ¢ú©„*¤Ogqgsu‹z=˜&Ó¦¢KYÊä’¶)h:éD*˜)g”Ía$ª µª[&éšöi£†ê£ÚªïHjþ¥ªê®šêŠ˜$/k±¼ê=}j±†("ëæXgqjHe™¯¦´‚ µV$±Îê›Æ¨¶O©Ræ‰ç_œ˜5k§”ë~Y+º:*œ®ëï(ë¥Rj{ÀÍjm¡2Ñ+§Ø+‹Æ*£æ«±î+¿’Π¡â)Ýujá«€ÒêN=l¿idrJ¸Šëß &ÉvœÅzÆ6iº>)ÇB¬Ç~,•„l •æiÖ¬HÁ¤»Àjnré€ziËš”þì3é,tò¬ÆÐnëË&--ˆržˆ2-Ï­ÔšÓV€*¶úlÕ® Õv-÷\ídíµBm¶‚-Å|-ÚbI!¶(Ù2ìÖŠêÚ¦þíÒέk´m¬¾mÆ®l­Ú­×Ö­ßzæ¹­Öš-×.¨¨-â®hãØÛúäî­¾ªëâž‹âVnLj#VììØBnäv©Übî•\®è•æ:nÑv®çúèkéN é¾®~•JVp.¬.ëölèÊî€Äîë`n€êznë:,ïÂ.àï윮S ïí®nñR®òˆï–n/:/îF/ËNïŒT¯è^ïðB®öö-÷voò–/Eî—!b/ôê®ë¢ojx/æ‚ïó¯û/ü¶†üV.ýfïýJoþªÆþ.nÿ¶ïÑrX#Æ#nÛïSl#”.F°°îéú†oî>0sÇþn‹ïÿnï{Fûíg0ßnì£F Ûí ¯ ¯°Ÿï¿p“¯ Ë S° kpÏ0Êp§0Òþ°ñ ñ䊰 E Ï­7,7ñO<ñÚFqܾ/[0îînq uq ¢;²¯1‹±³q…™ñ?¢1û°WñGð³^ÔÖqjòqæzÙ×ï«1±£m3á`úñב1Ãqób0 1#sñoq"[þVrÍ92C²(Ê1 /1sr÷Þ²¦CNž¬2Áì‹Ì*Z&Ûr#_²djŸÔÔ™·6+#®ß,¯`)Ûò-_hþúä+Æåu>Ç|a0#1sOÊ t]'‰˜‹ÑÙÂ{²=’QKÔ)ñ´J'u!ÿð!£ŒCž0!uBSòO×SðV÷4)+ôO_u׎õTwµR»ó'þ°ZûïF5ZWm\°Oõbµßu—µWÓõ[‹õŽÉ WÏõY/-ÍÚ,c7¶c?6dG¶d·ãÖRv^ëõ‘ a–¬g6h‡¶höQ*¦éBÜT`6`·u% ›ÁRhËø5äâ[Wu»¶msllöQc0m#6Gãöôî6Ìõ¶Jÿvfëµp+/q£¶aûvmk6XóuaæöÃ67È=÷qG·t/÷ñb7½y‰(#÷j[÷{7ï‚wã\6t·Kg›÷ºª·e7Èxs·f£·ìÒ·ó°÷v»w4ë÷lûy³ô07|S÷k(g©÷€„Køgñ&ø‚þEƒ¯çƒï){OÀ„S8~+w† ņSg‡ч‡xT8kñR3¸|kkŠ·ÑŠ‡¸‹ëñÙÚ²€[/ó¶ð‚8Ž¸`Ç÷pÿxq9‹ç¸"ï1—xPœxoÖ¸7Ýø„3¹&O1†9s#¹s÷¶_9‘'6—·—g7˜/ù˜+x™§÷™‡wj[…š81÷ø÷¾ùzÛ·œ9?y›ï7ž×·xÀÌyr¹Œye÷·ž:Ÿ:™'z—/:„7º¡—·to6ƒ,|wº§:¨‡º¨:©—º©Ÿ:ª§ºª¯:«·º«¿:¬Çú¨›¶X%9¡_:‚›5›S÷bO¶¯ÿ:°»þ°×,ÎÖú— ¯£‹yŸÇ8Gu²‹ø²»uXçïù€¥?:¦w7”sµ[{œ?{‹¯ù{O;üvû ƒ;–wú7K;uç°¹;®[¸–×ù¶Ûr·{{o£»¸oy» ±M­îsë{´·v½›ò½[{¾Çû‹_8½“;ú|À+¼ŽnÃ÷{ÿûê&<¶çz`Gz³c¼çj¼²Cú®ü=á®ÈC;É»Å{1ÈCnʇûÀ3r]KíÁû@̧;|¯;Á;|ùÞ|Îï{Å›¼—¡<²K|“ï8³/4ÐýÆË{Kó;Ñï—ÑßúÓ/ü¼ûyË—ñÉg¼Ó|¶çwÁsrÓ[=Øsá¾á>â'¾â/>ã7¾ã?>äG¾Ü¯„äW¾å_>æg¾æo>çw>âëÔlx½Ù«|Þ³Œ¬Ÿ>ꧾê¯>ë·¾ë¿>ìǾìÏ>í×¾íß>îÃúL0HÈ=és|¦¿Lð>Ìû¾Ì±ð'x?¡€ó;¿ÎϸòGs—0ÿÌš—paÇ'VLwïÌ´U;¼˜reË—1gÖŒp/ßÇk¯ v»™tiÓ§Q§nÙ¹/UÐœ8ÓÜvvëìprqçÏ¡G—Žñxr«°}N×¾{÷ÙÕýB^Ž°¹wóçÑ§Ç Þ5oìoÕÇ—?Ÿ~Rö•¿¯¿Ÿþÿ"ïO¿ÿ,Ð@|­­ìlÐÁ½KнáƒÐ 1î><Á A QDÌîë Cß>QÅY¬«Dó£°Åi¬¬;€12æ~³ÑÇ G<8Ü‘¼ƒLRÉ%?±ƒ<0R!$™¬ÒÊ+ròI)%(Ë/ÁLR˸ô2Ì3ÑdqÌ2©LÓÍ7-\s¼)S„ÓÎ;ÿ“s@<ùì³>=eôSÐAÏÔà MTQç EÑE!”¶Fy¬SÒK1Å-;8å4­'AeÓÒLI-1JÕÔUYelÓN‘ó Ô-çì²ÍVqÍu,Té|T×_5ëÕN?UT_ƒþMVY¢xµUÕe¡¥fÍ”ÖÚkG¢öVl¹í–ºa=@€f%³Öj½MW]ˆÀ·Üc×WÞ,ÁÕ]cÏÝvÞ}­m—ÜY1ðbO~ ÆÖßr¸à…¡=`eXbe5áˆ'ÎX׊Ÿ¼øPAΕãÛY©ÕŽ;Îzk·l³e>Zî½A$»k·Ñå[pé÷»×wðÅùóÛë¼™f\òþÇû=·0Ï\óÍ9ïÜóÏA]ôÑI/ÝôÓQO]õÕYoÝõ×a]öÙi¯ÝöÛq/½òÄsïÝ÷ß^øá‰/Þøã‘O^yÕw‡œ< ^ú驯Þúë±Ï^ûí¹ïÞûïÁ_üñÉ/ßüóÑO_ýõÙoßý÷á_þï›hùûñÏ_ÿýùïßÿÿ¸¿úMŽ€`Ø &y*œÝÚæ¼Np> ¤àãcA nÐ<äàµãAŽð9"” fB®…-tá aCΆ*¤AKt8ì‡=ôáD!‘ˆE4"@ ƒ–¸àMtâ¡E)N‘ŠU´þâ±èD,1‹]ôâÁ˜Å-fð‡‹`^h€ 0vÀ U¢ƒÔŽu´ãñ˜G=î‘}ôãëø%ªä.€aÜa%…<$"]§HFª&2!–á'A¹Ì`¦Ñ 'U2‡:dÀ4¨ÃVr„CzGHå*K€V’q&áp‰K·Åep« @™8Ô5u€C*}I¸R%GHæb–IËZÖí¹Ô¥&yùLÅs%ÄÀ7ÁNqŽ“œå4ç9Ñ™Nu‚Ó˜ÈDM4›©ÍÄÀ3=•D &­¹K¸ôòÁD‰7×P” êlg<ßÉÌ”83¡Òt þ>s©Ï²ðó4ÜT @ šQnôœ]¨<CO”0´¢ E=j·|bsŸ =ŒE…YŽÎ”¦õèHeYSî4"=‰3yT¡†Ó§ŒÉ=!Q–NÔ¥ ‰ÃSã¨"dª.é?eºS:l•C…@Wkzӟ攦\åª:ÁºÎ´ê´¨%êP×ú͸Šs®^g[»ƒÒ¾Ü’k×Ì ERU T•°A¹êI0ZÖpÖU±a=fq›Í ^oVÉVnòƒÜc(;yÏQ¶3“±þÜÌ:ÿÙÎTö³Ž eB[9Ðõd®–¼TÕF—#_¶n˜U2f’ söô§AêPÓAÔ µ§O}jSwZÕ¨v2«KkYÏY$.^ô ç óY×Töq¯}ë7z¤ƒv‘s-å'ÑÇ4’#ôèÒÞò¹x‘ðJ,]X hz$œ–õ·AÝjX·:Õ¨†u¸E-npÏú± 5¶³u­çxËÛ×}f6¼_L쟾ßò¦7=ï~ËXßFÊ´·ìWkSºÒR¥ªÃÂm‘ sàŠø¯/>ï€Ã›Ö!±u¿ =åk<Ê>Îõ± îV~W<Ù/y³+NphçUÚ®ö]®=þa¨Büáîfb¾ë­ö˜«y9Ž‹Žô¡ÛÙðÊ…íä'=ÞO–ò½O~ë”·ê dzÐncªÆ[çNƒM›Ï.t¹¢&3ÐÉw¹;ý#—ûÝnöZwïKÎzÜõ¾ÜƒÛ<¢k_x?»)‡¾/Þrhw±y­ÏœÎ’/´ä?´S»ðl÷¤Û7­x˞ɎO%ßIOúÌ×õ©ÿ;ÙWÍ'µ†Ç9Ãñ"ñÀAô©÷½ŒM/èß¿ì”ß;ñ‰{èÌþÁ¶·KÎ3£{ðùþ»«ÿ{åsÄîÙ·üöUó´wÞÚŒ¥@?’9ÈaÞýä€Êþf>Z°ÿýñŸýïŸÿý÷ÿÿ0µÀø<Žþ0p Ð5Oü8O—œ¯.Òh ©uÜŽRBŽäàA0EpI°MðQ0Ui% çLã ÇKC Ë®ù…jè0…†80ŽÞàˆ0 •p ‹è  ÛÂ( ¥p ¯ÓH"¨0 µp ­p´$ö0 Ih ‹ƒùÔŽ Ñ0üoü(0 ÝP8ÌüÞp'å yñP5â° ó°McÍF ýp+#½F 1OÅ9àoQ!1/H Ò®kp€ º 5q9þ±=‘½ EqI±MñQ1UÑ  ]ña1eqi±]Q¿à À Â@ |Q Æ …q‰q Èà‘1‘± ˜± Ìà¡1Ï`©±­q£Q¯q¹±½ñ§ ÄqÇ1 ÌñÍ‘Ë1×ÝñÇQ Ô CÑíQ3QÁ‘Õ±ýñÕqr ­q ò 2!r!’ ’ À "%r")²"-ò"Û #5² ì±#=ò#A2$Er$mÑ tàà(‘ÚºFp\ò%a2&er&i²&ap2'ur'y²'}ò'2(…r(‰²'þ] ° òo ˜²)ò)·iÌ»ú-άò*±2+³òÓnò'sà+Áò+Ò%×mÝ´¼Ê2-Ë’ÉÀM nà-á2.år.é².í)‘Òôr/ùR/‹ò/30S0ò0 ó0Sv%!ênó17 2%S2³¯Në2¹¦\4s39³3=ó3AT<`4I³*Ló4Q35?B@F`H L`6O 6O`6qs6QR 7S@R`V ˆ“8]à8]à^˜3f€ 3:Yè ¨ó V¨°3;µ³/¹³;ëÒ&»3<ùr0ÉÓ'ÁRt 6`x@ zàþ={Àäs>és>áS x`v 2@ó?4@t@ó ô@4A´A4 4B«G(´B)t04C3”8´C=ÔC DETD©ààDQ ’`ESTEWôE@ ˜`F¡>môFq4GutGy´G}ôGo´>…tH‰´H‡4*| &ªÀ2 +óI'3JŸô2©´kBóJ±4KC“4KS5½ôK? Zó5KÀ pÓ6s37wÓ738W€Š³39—³9eà9£ÓU¨:YH;ýT<Åó;mò%u<ËóPwò<ùS?ÛólÔHíó=?€òsúÓ? þ4S5uS5UAÔA4B%tz,ÔB5ôT?4U9´ˆ`D]µD[ôDY4E_tE›h –€    €´W}õWH!uX‰UHgâ (`€0àI¡4J'ó1‘J«43µôZ±UK¹ÔÀ´[M“5]s¤@6Ï´6Ó7×Ô7S8á´8çT9™bàNóTOSˆ:[ÈO·³PûRPõ&ÃQ6Q¿2=דRÝ>‡õ>'u vÀRÑ“Só/%¶b¿ÒSTTTG•TKõBOCUUU‹ÀUGVcuVQ´V“àVsuWƒG} Xi¶fm¶Xq–Xe @. þœÕ1¡5Z¥•Z«U²ui™¶3·Õ[¡V Àõ5c37Ñô\w“7ÕÕMÛÕ8‘^í”^¥s:óU_±“_ùÒ.ÿµ&w²+¶<õ`Û3H!•aós?ûÓb “0õvS=Uc€c!tB?VBvF–dKÖdCÔDS6 ·ecWuUfg6fm6s5·Gs¶s‹4 2À€!À.2`h¹¦hÖ1‘–Z­´ie·iŸ6j½uja“\iÓ\±Vk·–]Ýõ]Á6æOÇ6†Ì¶Ð6mýum×mß–bs=3€QVa붢RùSûV,Éó{ ôS5Vpƒ€p?öpWþqךèq#·‰”€ry•n7÷~ñ—G=wé“pÀœ Ü"€jð,8x˜¿‰Æk2g+R'‚Ãi¼ÔÒ½,xƒ98 øƒ·+¾+5‡`8sXX¸…]ø…a8†ex†i¸†mø†q‡mb‡y¸‡}ø‡˜‡ À… À à8‰•8‰Œø‰¡8Š¥ø‰s¸Šc8°8‹µX¸¸‹½ø‹Á8ŒÅxŒÉ¸ŒÍøŒ`Ô¸…ƒ¸y¸…Õx鸎íøŽÏX‹õx†§ø£¸y ¹ ù9‘Ýx‘¹‘ù‘!9’%™‡}Ö-;PKQw1#ÔRÏRPK\8–AOEBPS/img/global_concharset.gifËN4±GIF87aÆ ç÷÷÷!BR!)!!!!!!B)RcŒŒ”ççïÖÞçÞÞÖ÷÷÷{Œ”œœ¥ÆÖç„œ½cµÞs”µZ¥ÖBœÎB”ÆRŒµZ„¥Zs”ss„{s{ŒckŒZR”sk”skœ„sœ„{œŒ„œœ”œ­¥­­µ­½½µµµ­½¥µÆµµÎƽÎÖµÆÖ­½Ö¥µÎœµÎ”­ÆŒ¥Æk¥ÆZ¥ÆR”Æ9„½¥µ½œÎ½œÆµ”Ƶœµ¥{µ”„½”{µ„sµ„s¥{c­sc”sRŒkRŒsJŒŒB„Œ1{½1sµcŒ­R”ÎJŒ{Bkœ)ZŒk{ŒsssRŒ½½ÆÖÆÆÎƽ½Ö½½ÎÖÖÆÞÆ­½Îc”ÎsŒ¥9Rc9JZ9JR9BJJ99R99RBBRB9RRJRZRRcZZcsJccRRc!JcBZR9R9)99)B{„Œ9Æï9Î÷ZÎïBÖ÷R„kÞÿ„ŒŒ””Œ!k¥1k¥½½½1cŒcŒµkŒµŒ¥µsŒµs„”œµÆRs¥Js¥9k”9cŒ1ZŒJ„J{)R„!J{œ­Æs„„!{Œ¥{Œ„)Jcs!1BJ!„RJŒc9ŒZ­œs9”„B­­”1„cJsZ„„k{sB1„css9kZJZ„9)Ö¥¥Î­­½œœµÆÎœµµsc1B„¥œkk9{”¥{)!­kcµkcµskÆscΔŒ”„ŒsJJRœ„Z¥„Z¥{{9c1„{B){¥cZµcR½kRÆkR„­­c­„”Œk{!ÖœœœRJ¥RJµRJµZJ½ZBÆZB½ŒŒs9¥”sRkŒ”¥µsœ1)µB1½{{R”Œc¥Œ”Δ”­µZRœ91µ1!½B1ZœŒ{{cs”1)µ9)µ{{RŒœJs„k¥¥œ­”„B9εµµssÎskÎ{s„ck„JBŒJBJ1)Æ{{µ½ÎÆŒ„Þ”ŒÎ””眜!RZBBB,Æ þÐOÁƒ*\È°¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(Mþ8°  bÊœI³¦Í›8sêÜÉó惟@ƒ J´¨Ñ£H“*]Ê´©Ó§P£JJµªÕ«X³jݺÔÁƒž5¬aI¶¬Ù³,C ]˶­Ûþ<@@Á‚– $T¨¡¯ß¿€û <P“ÃMºtaAˆ#7ž¹²å˘3#îÀ¹³çÏ =Mº´iCPR«^Ízõ¡CˆbËF䧶íÚ‰rGÙÍ»w”;Àƒ N¼xpEÈ“+Gn¼¹óçw|KŸN½ºõëسkßν;ôïÇ—þ+ZD¾¼ùóèÓ/b>¼»{äžOŸ~íÙø_ë_mÍšéB¡Ø™f¼ñ &¨à‚ 6¨à"@°Ê„®ÂÌ…2Ãφvèᇠf˜¡…bQF]b…v ”— ÅØc4ÒøW8æ¨#a“õØD†iv™€Dþg$i†$‰ZkLªö~±Ýf[|Ógexâ)wå–Žçå—`†)fv\:—¥zh¦Yž"Ä12曼Õ'gn÷A‰ˆ~¯ñçŸiD ˆY•èà „>("&ª¨† 6Úá¢b1FˆÍÀ" PŒœÞ(Ø`Ò騤–Ú)Ž@ú(d}vv¤‘þJ.Ùd“xÂ&ÛmTòVæsY2ÇÞ®»Â)ì°Ä ¬qgª©ìy¿çf±cÎ9Ÿ‰øag­zÙjh–ú@…îÇä–Ç„BˆÅ>ìî£Ë»ðê#ï¼ôÖkï½øêï»íîóΤ‘YQW^|™j°Œ$|ð œ*e˜mûêiJÎj1lSöv,q½úÚìÆàA+òÈ$W òpÉ.«òÇÑ•ü¥´õY›žÙj»­g•yÃÎ<÷ÃkôQVkìàsϺïÒïæëôÓô2½ô;öPŠX ,*°iÃ¥&ìµòõØd—möÙh[À5©yóį&ÙÆÔêºqÇŸl¥þË|÷=¬ÞÀ¥¬²²,?;ò³ˆ3¢øn†O3uÎF³jý½z3·ZÁœwîùqmVqxŽÏé§gq ù´îzëVÄ;¾!”»FóÖ^.îöÊû믳Rud]T`ksêuØaÛ`C ÐG/} ÎWoýõØg¯=óÜ‹¶ÙÉûÕ¶e—fk´ùa÷®xç øw~Ç/ÿ{ï >¸š,‹¼xŠ÷Ïÿlœt9Ùì‡5{:Rù:¹JdaŒ ³D hŒ êñŽmlã÷‡GHŠp,¹3àV,´u¸5 Ì Î:èä+¨Q&tR™° „Qpè)£™ô7bÁééAÌÎk¢µWè»·{ “/gþF³$¿B:Ò’60¥…sé–cúnxÛôš>†`˜Ò´Vd0NIM§2)Õ«®D«]Mô¢[cÇ€€ Ö°k^ûØÕÎF´§NlfÓÄÙTŸzÔ³qí$+™Éô@Á0Ðv€2‰@’€eACo é^w»Fwz‡WÞv÷îA߬ï‚ÖYߟ'AÁ‰<#\á?Å‘ÅQœ¨8‹ØñŠf.„“jsr+¥\˜$í|Ë\NzcÁ¼c2Ÿy›¾TÙP¯üÀ£ÞM©MÝ$ ƒ†ÕFÏýÑ© ¬Mwú¯·žuh[½&X/~²·Þõ wì[!0 Ž$XŸpþ…_´] èŽ; vÖMè ›àĺ £Ëcæî&¼ÿòÇ™Ý2À{wçîª{Ï~Õ …wP„‡÷Igp‡GÇŽy’÷C GÐc= 0 ]V 0 i¦¢P ce!ˆ¸˜o™·yê#z€õy ÷>¥Wƒbr2–z“Ö_âR¯GY£ö`¦a­a¶×€ò ºgtkÀ{L|ÂuÕ¦|ÈÆl¼GbW˜|TÈ|Ø–aÐ÷ Ö—½€}vYP߇]p7êÆn1P~ç7°PgVç‡o\€~uЇg¦+ cÖ€þú'ó7o(˜où÷ :`oµÔ gU uà èIG ( xæ¢` DVp8 ˆVhw@h¡°q%è<%˜œ@Pù6_$—‡P7.È10(?¸>6xŒ=29(s…&?hdÄs2§ÆF8aHX J¸„DG å|Pk½6|Q'mÓmVè„éHeZmçÈ…^÷|ÛæahÖÇ ½Ð Ýð¼—tÞІçVPqØntè‡}˜p‡sh~.@ˆÝ¥n^ú7ˆñçˆë–6 ƒ¸ne‰˜hPšÈ‰æ÷I‰w ˜føg7D¨´qÎCþ ¦Xy$(‚´(‚ñÃÀ‹õ5KÀø‚è%ÅÈrÈx”Þ¡Œ1ÇŒ`äiÁøŒ¢&F³×FDøsØظ§{³Ö„ìŽâˆ ÓbÆlÚ0ã  j¹–ÚÀ•ìÈ Ú°Ž$†–tI—j¹|Á6–ÛÐ…ö…ôö˜½à Én±#enâGæ‡~…·3I‡ö—fë†o°‘Ý¥•ùe4‡[‡99g ¹‰u¶$ ˜p5pq +ùC«hQЀ–f3‹79‚µ8 :_³` >YrAÙC™%Ï(zHÙœd‚ƒK¹i;è,^‚sPYÑ(ÓþB{³rpÃjÐ^é–Oè•×€ Ì°ul¹žìÉlå—jéžäŸìYŸQ·—ñè—}†È¾ð ¿P˜d\Š ~)w Y‡‘‰rG™æ^ƒ‰ÜÅ™ú]êfšjPh€ýVgçIç¤èš5 ¢y>¤='ÚÁðŠ×C“³h¨€“À)œÄ9r?™Ç)ŒÉÙ+¯ç‚Τ[¨§ƒ*Çz®GR*×ä`‘ãFLâGR°^käkDâËÀ ÍPd.cÐ d @v¦hjce Ðc`ÚbG–Ÿó¸ŸÐƒ  EP†YTiê†8 ™þà j~‰à•~…‰k¦‘À wÝ%š¦ £9|WP4ð‰‰÷¡4ð ²ù<çvxqw =E ‘WŠ#X=4‰ ¦p„ 4}ÑÁГ8jœÅ£ÓÙ£1¸rB:¬3¨7šf¤æiJz¿²¤@(•=GU9+“UÚÛrZä’Ÿá|æ+F â:®ÅP®åj Ǯ꺮ìڮÆ` æZ®ãJ ¶Ð Wå…sŠa¸¯ð ”IWe}ú§Œ)šøG‡ŠXx†Ên ‹o“èˆ\`ˆìÖ ™9¡Ÿð¨2±éæ3`©•z©3€o&¹©¡€g& 5Ðx(Zþ£úšŸ“¤oGqÖC Wh"è¯h8k² x ãÁé"( “p‹0 Ç‹öÕ‚ÂÁ_“œ×ɃÄ:¬v¬Ò¹¤5—`)ŬĬå¤Ó¥Qz$2@ HEvßæ­n붴 ´0µÀ ¶p··p É• |Û·~û·€¸‚› ä”·ƒ¤ »À rJI1†iX\1á§nWžÔ˜2 °ŒÚ°™[¡øv•É°ë±øes²²¡ôfôgG—f§=Öãôw=3ëe"8´^« s ]œ¨Ðe¦ G; ^àeL»ÚQPµÊ‰œûUµÄqµÄþši‰Å”ØéŒ3YÆ*ÐȾΠ{¤V¶Õh•¦[ðµsGwò;¿<£ VP!ø›¿ú»¿üÛ¿ ­Ð–à 5à|úɯӕ˜•{°3wôÖfçÕP…GCÔ^ï_ì5HË"G_¼Š_Ð;¶½ÔkµÖëœ\ôKÀÔ”žæ½J™%ä«1ì¬ÐZ-Ch1ªñ”•ðÃ@ÄB<ÄoPÄF|Ä–ÄJ¼ÄLÜÄNüÄPÅI| 0ÞzÀ6Z¼Å[\qðO×u¹E‰|Æ•^%WA”h¬_®Ü™'+œ÷”S{,"\ÂÕ{ÂAŠ½þÉ‘z뱤ôSS/Ü+°á»ÈD9þ£6Ì8¬Ã1pɘœÉš¼ÉœÜÉžüÉ Ê \ÀW¼¯ŸR#cõvoˆÆè¥Æž´^\Do¼hq¼0 Ë[ÇÎ Â|ÌÇ~üÇß«Â÷³Ç£çYä±Èâ˵û3-è‹Ã9<17³*˜Ñ#¨|Ë¥â¶Ì0^S=Òsn°¬^B%Ë5yEÔJÚ¼DìÜΩr±”£}õ¼¿\ÏÁŒÂÉ\¤+,L^ÈÊAãaÌ\8Ï\-ÓØFÒœRúSÕlÍ–1٬ͣRÊŒkI_c=çœÑè¬J¥Î ãÎn³@"íDõ%+PpÇõœþÒÇ|ÏǘÂÊ\Ì,ÌJJÌÝ, ÍÏ”ÐPGÛâÐ Ñ!ÑmÀ¦Ì5Ý^´Ü=ŒQ Sª² ”jR=Õ%mÒ'Ý‚x¬ÒýÂ,}”¾ôÒ0¬ÛÁEXòÏhRÓŽü,Í:½Ð|ÒÓ>-@ÔB-#D]ÑÚœÁ¶œCN $‘Ñ'S+‚-ØP 7:}ØLâQ¾¬ÕËÙÕBúÕúìEÆìŒD ¶ãÈj2Ði-{#É ÍÓ­׈Í6R×3¢¯xmÚª*ŒñÎ ØC؈=ÛvRÛ¶%³>ŒM½ŽýØþœ½û|¤ÉxȘÐ,5Ðj7ÜÖÔ ×¢ý#s *«þ-¨ ]ÓM*51L$äÛqS1‡mÛR2ÞäM-srƒ»­Õ½íÛDÙƒÓÈF9Üz¬R’-­ÜÒš¾ÔÚÜ}ò܇AÚt½ÚÕ}ݬÝÚOmÍo“jà}1ø!%ç=ÖÇœÞ8ë-Ììµ0=Ù”}zf½ÏŽL¶m¶ãÖ¥ÑТ à~«Š¡Ÿ0 ÊYðâ0þâ^5ãVP(6® Uã:^ô[wyçÊh<ÎB>äD^äFþI@žäJ¾äLÞäNþä uä¡DT^åV~åXJPþÊpE埄å`æ^.€ µ]v×ãt.7¾æBãnþæpî;1ð+>0pçz¾çþ|Þç~þç€è‚>è„^è†~舞芾èŒÞèŽþèé’>é”^é–~阞难é‘>sNÝ~Yp\¤^ê¦~ꨞꪾê¬Þê®þê°ë²>ë´^ë¶~븞뺾ë¼Þë¾þëÀìÂ>ìÄÞëp`·Šò˜Ú êÅþìÐíÒ>íÔ^íÖ~íØžíÚ¾íÜìÇ®âËnÝÍ>êÝ^îæ~îèžîê¾îìÞîîþîðí¡RçÌîìð~ïøžïú¾ïüÞïþþï¦.ïóêäððŸð ¿ð Ïïß.*ÊNð ?ñ_ññŸñ¨þð‚@ïânïò"?ò$_þò&íòNò,ßò.ÿò0OòÇñƒ±ò1ó8ê °ó<ßó>ÿó@ôB?ôD_ôFô@ŸóJí*6¿ôPÿò ÀT_õVõWßQ¿õÏ.ð¢òô¦Žôb?öd_öföhŸöj¿ölßönOôX÷r?÷Yÿöv÷xŸ÷zÿóð.ð}ö¥>õt?øq¿ó„øˆõ†ŸøŒßøŽ/øŽù’_?ù–‹ùm‘ùš¿ù}ìø¤>õþ^§¤ó¦¯}\ßê•ßù®O÷Zßð©¿í³Ïíuúù€!úÀuúü^û/ïû«¯ê­ÿúÄŸõü׎üØ~ûïî÷þ û¿Åûû®ü'OýÁøgQe¡ýÀýd‘fÞÿý^Füáoõ±ÏðÖ?íéOíÌïîÎý ýú¾þ#Oÿ×?üÑeߟÿÛ¿ÿþÏÿ@à@‚ D(°NB†D€QâDŠ-^ĘQãD ØR¤ÅŽGžD¡cJ–-%±‚A¦L 8˜)³ŒüüYGèP EEth¤Mþ, ÀèR¢LŸ6]zUëÖ¢V¹Š4ëW²SÅ-›ÖlÚ..Á¹ ÖµÛPï^xù:\뵫ұ„Ñ-ÌU°Ö°S«åÚ(U¯‹'^œØ²ƒ•.=£þ„™CÍ›¢wö”:X5V­™ƒB.*ùµZË‚7Ãvz;²ÇÔ«èÆXøåà[kmkð-ݼÌú;4nß¹oë.¥+]{t¡Ó»#lXìlâ¿×ú>>|·Oßæ‹_•ížøm¦®ÉËßÜùóþ¡s’Æ)§Ó.b¯<ÕËM¼àâKµöä{ÏAÈD0 k³0AØ’»«9¹ÜúN9„®SèCêò"±/æLLñ;è: ,3«0„°F#‹Â3‹·ó.£ÏÆûfËï!þŽÄÈ¿™4'{?´¦<ì@ K£toF¡®´r²Ãê«ì7۪̪*1¿|ÍØ|ÜqÍ2Ý4þÓÍú´2©ÂÈòL:Óü²²1Í<ŠCçTDôÅEt˹괜ýìljWÛÚ¦pnlè8ÇúÚßw¸‰L^8hÛÈ›Ž¶·Å½nvþ·#ÙÞv¤;ínz×›Þð>·©ƒ=m{÷ÛßÎÆ7•ÑÝmaÿÛà×uÀÅó¥ó<%AÇ•,€ë}£ºè_·÷Ñ¥~q¤ï|æùPl®öŠ³½ìbwºÎ™~rr›[àZßz²»v¾‡ì2§úÎÿŽö¸ƒæ…O:Ü?uÁ“ºîñvÞµžî‚÷Ýò×V¼È?öŸ/þíOßüÈ9w™oþžôz~ü¹%oÊóûò¯¯væ¿všÏ~îeO<èez“7=$®äWßz¯ÃÞøÌV|àiOxÛóþóf?ýè9_u “;øª—<ñ¿ýfŸ]ùmϸ柟øÃãþùÞŸ=ø«?^8\ZÐð îzî×_×!o»Û“vµ}äHw»žë¿·£8‘Ó¿Ás<ös?ø˺웿⳿”@¾÷ûøsÀ†›À ä@¾ÕÃ@¼Ó¾$Á”2ëA\± :tÁ¤¬”<±œ¼„ÁÔÁ$’Á TÁ¼A ÜÁ!$BÏèA¼‰Â,Â&tÂßCÁüA%dÂ'´þÂ+”ˆ  A%´*ÄÂ0t¬Á.¤BÃ4lÂôB3¬A0Üý»¸ÿ›¸t¤¦£C¼ò=œãCóSÃ4dC%ðB8ü Ÿs>Ò“½=œ•EÔCþø>„º?ÌAàóB.Ä• Ä7DC$¡¾ÜëòEs4?é#GDÇéC<©SÅÑýò3çûˆÄÅ·LÇŒÌEϤǧ´ÆËÇÁ·þÂ\?Üj¿Ä žlL!JœL‡FgÌ¿Oü¿¥ìM”FþCÆßÌËÝÎåKFß´:ݛ˥NÞdFDMÂ4ÌdÍ pM\ÍíœÍ ÈœÎð46ÕÓ$eK;ÅÓB²6ÕíS‰FmÔ@%TŠØRC¥Ô,CÔŒPÔ*FuÔ€T–˜ÔJÕ&»Ôw«ÐN° @ÕOuÐHÕXå±R½EUUUVíTW}OX•Õ_…1Z%‰SíT\ÕÕ€àÕÚÖf2a­[mÔd€UMÖku€­SgåÖƒVŠ Ðk¥Vk×l¥ÍïôÕnUW ûVŽ 7W¨Ö\WsõN]×| V=þuÓw×y€zÕÖAÕׂe±vÍBW€ØsÅWƒ…Xä×DõWÎbØk­{uOfØŽe׉ÅÔwݬ,°€­€“=YmÐ^õØ–m35Uös”=Y“¥Y•åP:%X—åYC؈ °™¥Y›EYœÍÑtõH¤í٥埳w¥Ù Ú”XŒU¦ÅZqZ•€Ú¡]Õ¨5Z$UÚ«ÍÚ²mZ˜­Õ®EÙ©ÍتÕR¥5Û¸uS´V™Z¶ [,U¸•Û¾% ºVµ­Ù¯½Y·µ²õÛÄÛÕ´O¡][rÅVíÄUÜÊý[ÆU,8€×…Å•?ð\Ï…É•T¾µ\þ¿ÝZ ƒ@P]Õ%ˆ‚×}Ý݉ ÜÒµ]•\p%·ðƒÞíÝ°‰¸ƒá^ÙuØ4½Ýä}·ÜuWö›Ø}]àUá%Þ; Ù•ˆÚU^Å=ÝÝ…Þ(^ê%Þë=ÞÝÞóåæMXçýÞð­^ëÅÞˆÐ^ô•Ûîe_èußê%ß{E^ú=_ûeÍçÅßà}ßýÝXt•O=˜‚fàvà†à–à ¦à ¶à Æà Öà æàöàáÞ`=X0¶O†ÝüßøMÚøÌ=àŒ°”á¦áfЃƃGhlÆp®Æã,çäZÆAjÂq꧆ꨖꩦꪶê«Æê¬Öê«Î‚’^Š ™”Æ+ln+mninÆe˜&c›i‹lÎD¬È©Lç¹LÎé‹JÍ<Íþ̦¼è¢VÂ9ùqŸ­6ìÃFìÄVìÅf쬶¯®°ëG.϶e—îfµäkk¹nN¥ü;þœ6ÅÎæiºîÈÜÌi¨«J‘Xbš±§î Ò¡¢!*ìƶíÛÆíÜÖmÛ~ìÈn±Þ*²v*³îc´þç£ÝÛ–;·~Jẗ¤hèÜ뺔G½„KqüåÖî!Ø–íÙæ8Úíðïñ&ïò–+˜€,ømʮϾlã®dóéͼÊw¬oÓ¶iѶ韞îëîïÐî l ïö˜Ú6ïWðgp«Žà¶)án*âcÌNë~Xp@â„nˆ6·öpüŽNЄè[ŒÆÏÊÐ¼Æ ðžÂªQB§kê§{Š&{â§ÆÂñ×ñ´zpö¦P>®pøöæÃÝå\âGò$Wþò%ª×gH¦å~¶ðãÛä.c¿bò,×ò-çrW‚p‚’p¦¢ðI¾p9Fà+ïò4Wó5Çq'Wc(Ïf)rÍh4gó;Çóá÷t:ÿæøŒVõUgõVwõW‡õX—uŽƒ^i 's*×ÛWíôä­t“ºô)Ïô^/Ý_/©`Ÿs ï_b¯\c'd/ueifoö[·ìmŽv3ÏpjO\g'hÿcS'rn¯v?n@wi_krï[o'piußlvþ[wÿ&xÏly¯sz¯_kulOwm_v~/[{¿#|/s€[B'xY5x;Bx]GÓioø¬}ø:Šøa¯x¬½x:ÊxAÝ/xwo€w§x‘ïÙŽŸ£÷AWyŽ'ùH&õ€Wx+ù•Ÿù(¯ù“¿y^Ïy7÷ GwŸGn Ï,è`ú¦wú§‡ú¨—ú©§úª·ú«Çú¬×ú­çú®÷ú¯û°{®ïŽ õö¦y“Ïw”_wÔ„ †û¸—û®t=>Û¡ó¢/^wû¹÷û¿üú²ûý`ù¿@xã}ùÏüÆwüǧÁÿŒÂç‹ÃçûÁd|È×üÍçüþƒ|#Üù8·å@kÄ×÷SÏÌïüÕgýÆÿüœ ý?ýÒ¿ü}d|ÊpF9˜r¡Fiýßþ¿xý“‹ýsŸý÷5}¶Ÿ÷^“ÃaÔMç§ÊçìMSÖäÛ—¹X˜¼¾yžà÷þïˆáºâ'úã¯Þäÿy–56¡ÎLEìËQÔë×ëY‘¹Áîÿýo}ñ¿:ò,hð œQ.| `Àƒ;%΀á"Æ‹ fìè±ãG’,iò$Ê”*W²þ¹X§â•A)<Ê\re¨¤!mmý:öìÚµG]Ú jß'W«ÕÞ6ÜÙtmsÌ[<üøòGÒìiXxÊá‰N׿XùeÐYÆÔQý=`fÛ)¸ ƒ 6è€wu˜Þ|%‘§šy¯1[\­çÑmx½W!‰%¦&Lû•t}*–¢q.¦´Ü€.…Ôþ6Wƒ=úø#bA(¡Tá™xÑ…,mwÞ†éÉõaG!ºw$•U¶„bp2²㋆eÉ¥Œ(ј™s5B– Oñ$›mºé&„Syd’+-©á[²=Yˆíµ¤›• ú‘N_"×â(†y(€JMY‚8ª‰æoZz)¦AÎib*ÝéVªÇg”~²è © êåMÓµZÜŠ¤åk˜`nI™êº+¯½nµi‰¦ô)zzzHjFRþ9¢ªÍ:ûì^¹ú:-µÕf ,‰Â¢Dl“ÆR„,FÊžÊ,´åšûª¬ÎJk-»íº« ¶j;^† Šºg]¦®„ê¹ýú íºï <0þÁbÅ;ß¼&q›g‡ßæ{×”ÿJ<ñ |1Æt°| [Xo± Óö0¹)ñK1Ê)Çg±Æ-»,0Çñy|ÈÝŠ e²úªt²Ê=ûÜ—,¿<4Ñ»:3|3´p¨NK²ˆ?K=µ^A[}5ÖYk½5×]{ý5Øa‹=6Ùe›}6Úi«½¶Ú‚*ýÓ÷>ÍÄËR}7Þyë½7ß}¿íQÜN;LwÉ(ñÜ7â‰+¾8ãïõwG{»ÎáêlráŽk¾9ç{Ž2äIþÀ¥—^¹F—žùç­»þ:ì±ÿ:F£›~:¸©×=®ì½ûþ;ðÀÓŽdÍ ßNy/ëÁ;ÿþ<ôÑ÷<|¶ßŽºòªŸt¸ôÝ{ÿ=øURo½éØ/¿sóá«¿>ûí{Š4àÅ7 Ññæko÷îë¿?ÿê/?‡ê—¼óa®< £÷¿ì0Éx×àýJ’¿R°‚LܱÓÀù‘îP‹ØC(ÂÞ-ƒ×Ù`¯€Ú„.|! ûeBë .õ[!á¢Ãò°‡t‚_ähC²w><"“è—¶&!wÙ ‹È<%R±ŠV´E—!‰Ø,Š9áÃ(F$214N„"¿ØÂ1²±/,#hœøD–‡}ÚÝ݈7=L¡~ü# )ÈA²†<$"©ÈE2þ²‘Ž|$$#)ÉI6Rƒ‚ãgäØÅ4Þ1}#™ '–=­h¦<å ‡<¸-‹µ3 &BÇÓÙ±TxD_(©6… ä2—pÀZÉXÊ…ƒ^ì¤{é³)xR™J@0…IÏÀ!–²La¥ˆKgöŒ™ÜÔ#4…YZ“‹Ø¤¥6 øÍ”ysl §4]Iý©Ø*>yVþ˜rá¨&ªF#šÈ?ûi­RJ(F)ê?R%6jUŒ:•«ÆQJMSœb­dÍšY­–Vµµ­n}+\ãz6¡R©¡œyèQá’Ô|ZnŸ=K»”œ¨z”E}ê`½£Å~©U³" –¶z(V…µ$c]+MÏÊÖ«aV³rý,hC+Z„Òõ‡Ã¤g^!²WŠn¯™»9,Œ jÙ¬.Y¬G_”ØŒ>¶¶•lV±j–Ë–u³žÍ¬qG«Üå2w´*ÍÕJË)¢.©œAªDùª;ׂ„»ÎI»*Ü–ú¼¹e¬IÓÕþø61õÑ­yu‹X’Þj$Á„~ûƒßýÖþýÝ/ìßé¸À>0‚¬à3¸Á~0„#,á S¸ÂÞož+!G š ¥®Q'‚]†(™`$Ñ{c«íVEöá(c[Ì“#æ½4¾±–‚»b•Ü7¿þo€ d_¸ÈF>2’“¬ä%3¹ÂVˆÐ Üaqbµ"ÖkvY‹?ïú%²çÝ*˜ ûÛÂÆ·€‰êNìÃ^[)V°Äáq‚,g"xÈþm2žó¬ç=ó¹Ï~ò†¥ìá¡žVƒÖ½ÃˆRb[rù" ì—e»%Úº(°’Æí¤uœÕgÌòU±O*K’ßÀv¶óœKíçU³ºÕ®~õ„¯0,xÊñþ,ô è{j7{~m­E{{i­¢¹·-3˜?ÝX.Ù«…B¶m“mß8Ó¹Úªþ1¶a­íms»Û°¶õ‡qMC]c™Ä½&à_›ª˜5w”¾"e÷`eVJg¤ðvqna›c«¾´Ý0@ÞŸ€< u(xÁžð#¼á8Ä#.ñ‰S¼â¿8Æ3®ñs¼ã¯8¸ =NCCTµY^jû)±`~¼å.9Ìc.ó™Ó¼æ5y]Alåë–[ÑçŽ I]®ôB‹èc¹Í“®ô¥3½éN:ÆqnÚ‘çºäX-Ê·©ò!ê^ÿ:ØÃ.ö±gAêÓwÉmrskY‚Þþú‘ºNö¹Ó½îv¿{ÃÍ,“<µW?¹‰×÷síÒV8<â¯øÅ3¾ñŽ<ä#/ùÉS¾ò–¿<æ3¯ùÍs¾ó•Ú sŽv3ªýïlÏ:?o®4ÀªW¢XOe%…˜çk÷yÛƒþö×W(”ü=ðƒ/üá¿øÆ?¾$ãpI¾WÝïXøÃMõq[ýùŒNføÓ¯~hY_3Ø·½éqút¯¿þö•ûžýøoþÀ¾? ¼0ù9à߉  .`_´ßZ¼¢õ\ÿA_Ê1 ^ ’`Ú•ßêÓÛ †à: Xþ@à®-š¢Ÿ® V’žj] Ö ’`X˜ ¢`_} ÷Ù ª‚…jn— ¡Úß~Eòßúš.!Þ_zÅš_ &`váô]aWdaö`z¡ á ÆQéi!rá¾a?!Wˆ¡ " àÁ!º“nÊß ¦^¢3í![¬á"¡ ¢"¾Sf’!ÖáÞá"NâbVôáÚaôQ"'^‘%b&F!ºý_'–b}âU„âÏýÚ–™¢+>S#RÓ#ú¡&Và+Þb ¡¢U[i fbº6èƒF D耋ºè|Öf}öÕ|†J»¥¤cÖ[‡f1gK‰dU•ål±WL‚”ªè X݋¨„Ò`)êãð$­=€nr&Dv’2i“Æè„Ö'Jøf—g ]|˜én©ß5©x)”v¢;Æé:f)ø¨éþ±©›"î©Áæõ-éšvé“ê)Ÿªðø©ûê êdzDe*¤nŽÂž*ýE*¦ÂΤ²èTj£vW¦†ª¦"ê**¥2*u‚£¨®ªçl*‡xjªê«Îª¤’j š*§Âê^*­öªßØjâꫢꮒ¢¯ëÞ¸*þ\èj-¾)²>«Ô(k‹k³*´^kÊHk§Rë2:+¶~«Äh+³v«µ‚«¹š‹¸rkÒ繶«³¤ë‹æ)¯º+½ª ¼:é§fÄ£Ö+¿Ê °¡°.«º""»ö«ÁfË¿:aÀNk¼Zª±,ÄîUR“BjÃæ+FìkÄn¬^(éB,êÅƪ5r,ÉúëÄ:”†œjÈku–¬Ëò†Ç~l®¬bäËÞ¬j$,¦ìÌ®lµÎ+έèlâIÏâ«ÈRæ íÍƬ͌ëºÊ(ÓNíYíâ A-ÁJ-Õv­èX-bí°ú,¹­×ž­ žì]‰­À’mÔ~)Úz­Ó2þŒÖÖìVÆ-ÓÎmÖÒì(¶,ÞÆ­ÞŽ-Ò²¬ªþ-à‚-[°-ÃîÏ>¬ávmà¶-ã–­ã>îÔFîâê€ 8¬ßZ.Õbèæb¬£-­çº+è²éè&­£šîéžkê6éꮬ¾îç"î%*nèºèì6nçÚ.ÎÆ®èrnáoÐ /ïoíïñâ.(ê®ê²éò¦ë2/´"¯æJ/낪õ¯ó¦"ôÊ®öÒîÈvïËb¯ Œ¯ï¯ù’,úª/åþnûFìûN¯ÆÎ/¶Öïöêkõâï¬ê/ù*­ÿºï÷îbøŠ.ü¾­·p½ðú./¬Ç/ûF0¿N°—«Ãnþãóno-Ün°¹b°/0 ƒ« ÛmÁ¦pþvp4~pöÚoÿºp¡®pßV° «0 o£ §/ ï0½âp5 °·+#ñ·*)„Lô1—p—ã ðÁÓ­øJñ7q»?íïoÆÖp‹£gñÞ"0Ÿñõ~±M^q¯1·±#k‡±àÎ0—î_k?ñqS￱Úþ)ë1\l€#;² 0€2­2pÈ#C²$òýR2DZ2&gr$O²'¯*(7²(or·n)ûê)CD&oÀ(s²·ò+¾òÄò,¯2÷Ú2«â².«ò/ Qù2þ6Þï,2‡ò#ïò0³•F³4O35W³5_36g³6o37w³738‡³839—³9Ÿ3:§³:¯3;·³;¿3ï3?÷s¸ßx')8„G¸„ ƒïtv þÐ÷„o8‡wø®T8üe†k¸‡—¸‰Ÿ8ƒ€8§fÀ…v†÷7ŠÇ¸ŒÏøZ¨8‡d‹»8‰Ó8÷¸S…ÃŽãÀ…¿¸ÿ8’'99Dà8Žk€‘?¸’O9•w8“?€“ãx”3Z•w¹—'ø•gyl¹~¹™Ÿ¹}¹`y–“y¢9œÇ9x«9›;¹›»¶œç¹ž#7‹ùK÷žº ËvŸ·ùŽ:¢'ºhºº¢?:¤÷3£k¹£Gº¥_úÐLú˜W:¦wº§Œ¦ÿyz:©—zµ„:§›ºª¯ú› :Œ³:¬Çú¸ú‘˺­ßºvк”ã:¯÷ºgè:—ûºþ°;X{™;²'ûUû›+»³?;A0;žC;µ#»´zµg»¯_û¨k»·ßº¦Ã@ª;¹«z¸{¹§»§Ÿû««»»¯; ìA^­¹˜‹{»¿;¾Gº~—ΕÑ{–Û{­ç»À+ú¾Ë;Ïù»“ü®<à zÁ÷{ã¸Â{ÃW¼žÀ ˜ÎÁG|Lü±[<ÈÃ9ÆßN"¼Ä£{ȧ¼’¼Æ;„Éw<Ê«¼Ì÷8Ëó»Ës¼Ç7ûÌï<’×¼s+ÀËçü´ó<ÑϸϗwÐÇ|Ñ/ý†ýÍ×»Ò3½Ô+¸Ó=ÎGýÔg=€W}Òß»Ö=‚sýÕ{=Ø—½‹=Ô“½Ù¯þ½{£ý¿c=ÛÇýucüÜÎÓ¿½Ú˽Þ{7Ý×ýÏw}Àï½àó½¢þýØþà'þt÷½D ýá/¼âG~r3~Ýß}Âýäg¾iS¾ã§½mÈ)臾è>é—¾éŸ>ꧾê¯>ë·¾ë¿>ìǾìÏ>í×¾íß>îç¾îï>ïË)å—üã‘æÿqÿ¾Ë;€ç+6?Ð#?Þ+ÿò¬8ÿåCôCÔô'¿õÛ0ógÿóo?÷K?õŸ<øïp÷?Ì—øc?ú ½úðùkÿÔÌT¤ýß?þç¿þï?ÿ÷ÿþS@̈0`Aƒ&Ô3…aC‡!F”8‘bE‹êI¸þ‘ãÆ…A†9ò¢ÆŽ'O~$¹’eKŠ&QÆ”9“fM›'̸³sçd*ƒ›G‘r¤±aŽ§O¡F•:•jU«W±fµ3g¤óèq€lY³gѦU»–m[·o8Гç+Ç°cáæÕ»—o[¹të&¼Û—paÃlÿV¼˜±ÌœQ¢ðô t(Q£1w¤2OfÏŠñÌ¡òyÊØϧ“ÆBÚ4j×5U³ðš¶ÌصqçŽðrÏŸ.^Twc&vŠ'7h‡ éÙÊ¡XíyÊsèÉ¥;¿®<ûvïuy÷ž \øâßGŸ›¹öõµ»g®þþtùÖ风ŸŸÿþÆðÇË ¼óúCI½?k:üll¿Ææk0³‹PBí»°Àÿ¢pÀË4DèÀSð>£p1 QüJEÅXl©e¼ŽC…#°ÆãèÑÇ RÈ!‰,ÒÈ#‘ôÑD̪KÒÉ'¡Œ2IëjRÊ+±ÌÒH*¿²RË/Á¼’Ë‹»ñ7¡rqG;Ât²Ž7ëø1Nçl³È%!ŒËN8ë´³Ç>µ)/¿äóM$52Ñ/=ŠP?]”N?‘l”ÌÚÌê4ÍSSF)%²Ï:I •H<+Ô3ÌQM•TJKmz4K@]ýÊ9k…Öšdm3Ò"s u×KQË”¼4‰þÕT u×e‡DuEU 2X)¯2Ã<}µØ[m sØ™z]Õ[Q¡r\b=3¶¼N“e3ÝI™µ5[;¥…‘Z-]åsÒCé„3`€msݘÊÅö\gf׆ 7NˆÝ6Õe›u¸Ô‚)Öbv“s÷Ãx!(Ùä“QNYå•M®#e—!x“å™i®‚|[Íæa~ùd˜eŽ¹äž…&èmŽàc#@ºf¢‡Žºe©–Zè«¡v:e¥IkZk¤ …Ój¬‡î9ë¯gæäíDFöÒãÐŽ;ë£ÏŽiœ«ôÚîŸY6Ôê£Q®úê½MV[>½ |jřϿ©N¼ð¥þsF\r¾pÁ/ßšòµ1²ÑÇ{WÇOíèüiŸÉV½f¼»´|ïº7{ì²WœpÙ”Ýî¹q»õȉ¯mÞ!ôýràϽqÝ]GtÝÚÎÓáv½oÖmמeØ“ÒyyŸk_œùÌ/—~EåÑfþìçß¼sõ™öþöá1çÜ{ú§§­zxß–:û©Œsú`ÉÀ7(öµ/ $^ÔÊ—¾ÏÅ®sPë^ñ´çín‚á[ áÜ—Á ýûÌÿN‡=0p»ñ\—@G}ðk¹ ^Ñ×<³¹†Zã_Þ*è·Ÿñ°ebšËâ'Á® ð|6¤[ÐøCž…×Cþæ-n‘‹]ôâÁF1Ž‘ŒeÜâšC˜‘mtãÍ(E‘Žu´#å¨À;îñ‹uàcK8EÌT1YYüã!IF4v-‘t$ó8ÃGN2‘‘¼Éj(IG?fr‹–äbù6Cr’”p\¤K™J7z’WkTå+ñÈKº–bÜ$)YùIðˆntúé¬H",Ö’˜_<åኙÌNÊ2V´T&1sI.g>–ÑÔ%RBI¦aR“˜Çì7¡ÉÌV‚³–ÖDØ4ɉKq^3)Ù¬ä@+Ì“žõ´ç=ñ™O}î“Ÿýô§è ‡ÑP§Gÿ4èAšÐ~öhä*¨þB!Q‰ê“¡¬qÀD1šQˆV”¯q§Œ–"‡9Œ”¤%5éIQšR•®”¥-uéäЕÏ4 è¨A@Ó™Öô¦ÉivjÓžä§C¥"/I÷Ë‘‹T`ÂS¡U©N•ªUµêU±šU­2 ^9M\V±¶$¨ëXÑšV‹”õ«juë[ÂV£¶ ©RªÛæšW½î•¯}õë.{éKM-õ¯…5ìa›Ø)~T±uìc!ÙÜ0V²•µìe1›YƒPV³õìgA;TΆ–´¥5íi54ZÔ®–µ­u­Gë*ØcYïµµµímq‹ÍØ–Ž°¹õío{ÛÿÅ  0îqþ‘k\/,—¹Ímnr¡]éN—ºÕµîu±›]íJ7_C ñŠw å5ïyÏK2”½êu/Ì_ùÆ÷ õµï}ñ›_ýê ýõ¯Ó`˜À6ðœ`/˜ÁVÃ×ÀÜä²Â¶ð…Ù\æ>˜Ãöð‡Ab˜Ä%6ñƒÿûß6¬˜Å-vñ‹aìb7̘Æ5¶±ßcï˜Ç=îq€d!™ÈE6ò‘‘\d8,™ÉMvò“¡e)O¹ÉI²jXÞ Ç1€Á—Áæ0W€Ìe6³˜Ñœæ4Ç€Ímvó›ág9Ï™Îu¶3›eg=ï™Ï}ö³ Úþ ƒ*Xá …6ô°hE/šÑŒ¾§MöIKZr“¶ô¥1iMošÓöô§A}é29–Á PjTó™Í_.s¨akYÏzÓ{„€µk-¨™×h~Á¯ì-lÁÔÅ6ö±‘le/{Ϫvö³¡ípAË?yÀ»°má`€ÛÝÁ]žÊŒ›Üå6÷¹Ñnug@ív÷»áoyÏ[°·½9Ðxà Á¿C ‹àÁH@‚ƒ &0Á ñˆ£°x TñŒ³€ã,hÁÇArwœã.0ùÉOl•»×j^ùËWngfÏ<Ϩ¦A lÀþm8ÁÞ:ðùÏô Û;8¸,PÐ ÚMwúÓ¡ugï€êU·úÕyu­o=ðº|ð±ÿ€¦e§)еíBpûÛÝ>"Ìîu·{ðž÷"ï}÷»pÁžðG@”%@Aèwüã!yÉOžò“_Âå1ŸyÍo>óTí%*ð“X ÜàööéK_úu¯žõ­o=½aûxßÛÞMÐ7¿ý ðÜàWøÁîp‰Kœâ§Æ5¾‚¨€ã"wþÇIΔ£æÁnyË«¯ò;—ºÔ4W¶Ík` Ü9èyå¾Û6P:Ó¥þùÏ_êW·:×·þõ°ÝìeG;ÖŽí€îàÎî ðîô.ïþn ¯ðï ñÐo)°-ò8/5°ªF‡ $@ * õ°íôPÁÍõTpYÝdïçö8Àö<@ @` n÷xïß.á.ønø ®ø.Nã2nHîùD.ú¦/å²ïú 0`nûÞÌû¾oéÂvÎü6 ‰ÎèÎý–ŽþžmÙÈð QÍþð/ëôoìÈ®ÿÎ.íÖn 0îäî0ñnÿ® ï#ðq ý4ð;£@`@(`P08LÐÛ&1[05ÑÜ`þ°áMi°ßxOyoá|ø.…¯ŒPãšO G®ãšÐä²ï 0ÁìÍÂlûÍ ‘m–ÎÄo »ï­èŽÎl` Ñ0Õhîéëð¯ Ýàÿ pîóPù°ïüPð pñ qÙ±uѪ¢`È‚&€*€ôR¯-ñµmR =± ëíÞòmßD1nC O‘áRQ‡‘ãdúh± ou1$[Næ€ÑØ„çƯüÎo“¸-éàOge²þîë¬Qì°1åPíÚ®Áñ‹€ôpïûÆÑÊÑð/ Ïò)+ãQªr@`ñ jj^„ÖÀ2,År,'MHTÆ+ä,Ö£0ÐHÈRÒÚ2.år.…ä-íò.ñ2/AM`²Ò,@s0 ³0 ó031s1³1ó1!32 s 2   À`39³3=33A34E34 4K3P35Us5Y³5]ó5a36es6i³6m³5sts7y³7}S7ó6…s8‰³85M39•s9K³œó9¡3:³9¥³:­:3;µs;¹³;½ó;Á3ƒú€ §¢= xpÑ€( 0ðçÓ? È A€ˆ?Zª0Ú,£Ð³äˆ>hàQ-Û4>Š(0bE§òDø4@C£,ôcµhݯ¸„0ÖOÈ>Ž ‘—Y´˜»-Pð ÊÍM>úGDK4px,"r× .`„pàõúàv¬<+;ÂT  ëræç×ûiÜšSñ§}¬öAL˜DYŸ*öÊ•7\Wñ0®ƒõ<îr½¾4éê{.eÁ4ì¯eÅcpµö€n  ÿy~ðæp=pÐ{Y½×{–ýd߆ãà×\RÀ\ÿÇ w3¹äĶÂàk½%ám 0[VÇ%÷[†Åqè#7GÀTUÕ™S&BÕ_Œÿ)vÔh$Þ`ƒNßa\AæÚ7þè¥5ï æG˜-™´£R4õTˆ¨é÷ÀŠ`€Q €‹°eÜÍvÕJÁ‰pj$ @D Í×å—Œ>C€ 4õh¤Ž€¥)–È@8¹À~,0€ƒ @È÷_ HʼnÖ[á)q$ì¨ }˜Ô%QS•Ô•‰°š ª3Äbl}ÆRgïñÈß)¼‘ÿ! „˜ˆW™pkHd…Sé-RѯŽItl ë>$€ªˆn!Þr*³=Ââ@K!•‹ ¯—xEÖSáÚë/½L–\" ®úÈkÕ”æžk}›)¨=àäÜŸÇÔ È½Ï À@ $ꊩ Äe¾© Èh¤XsWè&È5£ê‘·œŒrS5 àK€Ç¹„W‚ ¨ÙGLj¡ ®j4Ò„!6A׎a2dL.rf€|Ó>µtÐ Må£\;ìÒÉ7ŠÀ–Èü$déÝk(x‚ä¬{Ü¢ „ÿ§‚k%÷Ä{ërë 0®­ ¨dÕ¥¬ ÿã  $'ä-%pÒyv¶\_~”=ÈS 7ˆ‹M˹œO0^‘ hN®qàYú¦Þöð]‰W Ü„Àj$ÛýJ4å@ǽýÇlH6• WÞl¹ÆÝ•fÔrXi‹POyÀª*À¯uö(»²[= ~Wï.õÛ´Ó^¨bļÄÇa׫J‘åQ¢Z"(ŠÝ¤w0Æ\k6õzÈ©b½S%G pR Æ2&|ÛKcØ8–è& qs]“ÒÔ. ñS¢*c•µpaT•€UÃ{àRQ¸!×áÀIømd-^áH#°Þ¨…њའ:"]Œ„T2ßk\¤Âÿ†uð à‰[Ü®53%. dÿñg®UŒ¥ ¸"ª˜0PÝ‹EjŒÛº–˜Ž&J≈Þɤ(/]Š[ ɹÅ9`a¬W½„ô€D™D^,L¤ q¿ØÝp&ƒ‚Â{ª× ²Ô‘” ¥•ñb„„‡!#H?4€•@#©×–œpKiGÙ %$:š`rŒš4¡Q ­`êj:¡$׈€B”ùµÑc²Ë“SÀ²~Õñ6KÁ#2o£Ì×ìÈ*|É Lb(`岋Š™•jrÅ*[ÉNBg'nÍ*@GÎîä‹ÙcR½×’© Ç­„êþE«\ÿ4£€€Dø$òueN4aNn.r€L iã\BHž‘Ïaj©ÍMï©Ž]B¢.öüÃd(¢ª+¨l…˜ÕmŒB(ä!ËrŒ| ‚A+YÉ ÌLÂ’‚2.QUT's€ º„Tb½E#Wµ¡©8.v¸>u©\•ª¨:Hž’ç®h˜_‹À¶B°„MìF Ë U±íc#KÙÊr"Ÿ–ͬf%1ÙÍzÖ¯]F`àøÙÒÞ"´Êð MËZY öªm­lO‹YxÄv¶¸…ÅkqÛÜú6»-FoK\R—Ã-®rÍQÛw$w¹ÐÅÄq‡ñÜèZwÿÓ  OÖ¢ëz—³Í]‡ –ÂÆïš—ÙõEµúzÞö"½½ÑÜK_R†—‰Jª¯~Áv_u`h¿žYÓ“8vFÇâl`øöâ] °ƒ#Lá%¸ÂÞÆ„3Ìá\ø$ÊË̵Òý°'¼‚Äó°R ˆEq@6üÉTl©"šˆ²ò_ÙÓ±á1!,dëØ8jƒ*wä6É+T®]#T1Ë]v ™ºR 3T r4¸¤’”¨V(õCÆÕŸ]D$hÆ%œ½x›2c&‚*ÐpúÃ8"ÕIÚt•¥©;aQ ‰k©˜J‚HRÿ ¢J¬ë=EyÞ‰ßAã'Z¥ cc$)Ý\Ž.ªcippC  -GTu¸täèT×!@cPŠšHM¥%,¢‹ ÊŸmúò€ý‘äS pë;­–µ#á–PCG•P…%ÊŠ|IÌioârqÛIˆÐ]‘zòPµ3ÀLŠÚ“ G£×üäQØR»óLgG(ŒòMÉ-F±.l§oB6tí[¯ê(‘o¸–2Ù+.o£ À)`x==3P`Œ˜*`'r³b|H jqMž€Ü…Xaq=UŠn4šXŠÿÊ5‚,rÕ@Š®X‹ØÕŠ¶˜‹º…‹ºØ‹ÀÅ‹×p¾H\´8 B4Œ¾UŒ²pŒÈˆ[Ê ÌØŒ²õŒ°ÒÈZÔø Öx¥•µ‡Ü¨YÞÈ dÖÜŽ•5Ž©€;1ˆèèYêx J1²øŽ‘¦P-ûc™…¥p';ÅýŒÕà'õ(‰å¥0$ûˆ”¥ ³iIXI 5‘‚7±(TU@O_TWS5FqsµZ ùSàU™2#³%•’Š·Èyì ‘iQP uHÄxþÒ"ÏÓ2* B³ez¬7"àUý;N©SŽt 7 pÄwlÿ«è‰‘®àhƒNQ}ÓÑ“à˜3À;”•5ò8åÕ?Ä˶'ׄ–±ÓNc˜•°•\É _WG142{8$‹Èɇ—‘Š±ó–dÔ ´˜@z5AZèE{é 7RVq˜dI5qŽ5FÌƃ$“ù2‚¬™ð˜£‘ï„n–¹z™™¨p;,b30‡dYìŽT2›`SÑG궘Ʒ˜†~Kƒ——)“¶y?¸oÇdYv ñ‡ –Ø°4ÑSã~ÀÂyÜé–"å“éy‰™Ñy ¡2—œ„˜§7½ÔU%$œíÀ˜~ÀŽMÿ Ù—Å2˜7š¿àžïY Æö‚|ä™WG$óÞ†€š¤1$QaWvcÅј"J› !&b+h œh q?Hˆ¤Y—4˜‡oÖ) QêB0e×Úkè,# 6þ‰$ò¡i„auÈ9"(8¤ö¤@rR šŽÐ4‡$xxVÁ^‹heŽ$cSw­ƒF4'@ð'@‚FÇ⤂€¡!5G±fQž@±!§‡vüyD¶c‚zŽu¡2uÁ^v$OGRRLéJ¤6 X^ˆu.@w¨6×JŸåc¢e±À©¦¨=V:!qœxŠ€´S†Öÿ›Ôgºf”&˜Y!RWJº}Ö]ÌQ³šÍ„*†&¢1"h  ¨ : a×<áC"*CH+«¦:T)üä˜T±IÊÖIr’ö)«¦äw«‚N˜„"ÌACèóäj%¬º}Õ&óbǺ+%ú(qrI’b$T’£aQ¥‘"<Ñ9B5®ÞZh«4Lù5NFgK t‰’ Ó¡> €nsMîX¯¥£à;±WG3™Jw;~—¯bG•ûbO |D,@kÂÕ:q‚UEêá›k¯ Û©«8ü’v‘Á=³‡²³§{7žÆ£÷s«7tÿ)ÂM툳@Á8›’T\ѳ<ÑJ£ArC{}«( ³áHY"'[M»²ÏzœùpR{C§Có5NŽ±Û"˜}‰1àÒ ð•´B¥eû‹g Rä·gü*~ä·}Ê$L»I+›vkÇŽ³³„6Tt<#Bòer¬×eˆkwI-:#‰ãwIŠ»¸§p(Š2+È1eõ1‚’?ȉ+jš<˜‰æ ÷{Æ.­âá‚®‡; *3.¬§ƱËb±)* Š±¢AÆJX|%TBFˆá’¾Yv#Db˜êd*Ó¢ÊP›^†.ê[vdË?üûcÿ–SNp’CFXKüpÆI°D(qç€çy øk»˜ : 1$Gë…v~b¸'Þä¶GqIâ @ „°0Bl LÁ–Э™ó´kGªâÂå•Â¹7-QGª%ÄlœyÈÂê€ò Ã%Ä…Âk‹œ@¿DF˜Ç)\ + Ä”1˜sT~¢†vÄ",ùpaÝÕe#"i;%0³ÑQl÷JÅÅ0*]äU”3nÜu <(]V™Ñ®ôI»i< SÌÆ dÉ„¸ ëK†üÇJ<½%“=!9Œœ‰KÕ…„)˜*™Å“ 3O”Õi5ÁËÈ#WÉÿáˆ~`(Lš¬|®|Ÿý©Q†ü˜OôJ÷»ÆÎpɘÌu ë’ÆpÌÅŠzŸlå5ãQ;óxÊ¼Ü ¾ìTõ¨ö+Õ2MqÍ‚À¿ë2AÈ!¨f €–¬Ê‚¬¨Ü-èœÎ±Î˜0Íî,ð0í<Ï\fÎâÐUúÓø|õ\ ãÕ¨ÿœM ²~MÏѼ óL ÍÐ÷Ü ƒÑÝÐË°jÑqД0Ÿ= –Ò"ÑÊ°mÒþ0Ò’p,Í.Ó¹4Ó4½D6}ÓÈ“Ó:Ý(¤x"‰µ»-49 ¸VÔ•r 0Ù 49ÔÿÌXÓ06ÿÆÓ–€ ³–Pƒ­ðRZí1úJÔÕ‚€ÕÈ4—âHÝc-c˜ÂYˆ++N--š°&Š›ÉÝsÄ_Í[> Î9;y½ãÇz#Ù¨Õ{‘ƒp-É!hXQá'Gq)è Œ…y€¶Ò¯AºUu;º68þ"@NѸI†ŒaòƒØ*èZ]ƒ!< ''¢©D^o6P/<ù“&¨a•[H3ñt⋤ ³:{ ž!dÈÙNÑ‚–SAÑý˜P2Á$¡9Õ…`±Å'%3Ø×ù€‹X¦.ÐKº!‹Ay,³†bf9Ã"EzãG38¯ 8W×~~E@Mÿkw‚êWµ&/ñšxWK›aƒ––-ä#àrÂâûÁ^d4LA2ä¡Òì(ïM+ê&p!Õò žA<¡ñûS€\åµ°ý¼%rœT6(˜(6TYˆ¡!Wà_“ÁrýIÀYÉjÀƒ`›;4C¾AsûƳAKB wýaNI{91®­Ç-9Ç/ö¦²"33Ñv±3W^ÈŽlÜC2çq†&èº̺ôÖeÕÑ!hv{á†6ˆr"6ÕC†á žÝ|1‘v‰qõ¢6Hí´Šº÷æ4G2óˆuq AÒÕÑF} ³2g®O± göÙ”à !ŠKé€2¹aLÙRÚSO„ ?C’€P`êR4=©ÎßBÞ‚dZBÓë¶ÇHd#D¡+ª5*‹GæÃëa=‘hÏmÃÞß|~<r"L⣜ÑTY‰SÒÝ×Ò¯vÛ8^?Á~»¸¸Žj`1:#TÃ42˜Ã T>³.âÀ¢4Ñc±ŽGŸ;0º±@Cr¹²~êfnEž[ó`!ž ³ë¿Óëåa‰G³ å2$q˜$‚Ýÿ£c†ü"7ÃB2„ BfB㛧íÀA CR‚ ÇÉj¹£Å:ˆGCµéÔò´Viø×¹6«±ViGuk'µîÔ:·àsï;Ï-—4~Á¶4iÿ>§++ðcÄo,˜s;cÑ“?t4Û#È^_‘;Ìá@4%‡maÊ[ÏÖu^ ¿×‰"Ü[L$òÁ$&Â¥Úú˜‡AŒ4ggŸh)Ÿ¤qfUvFn‰PC7Ë-@íV½:¥ë‹_ô™4嘧 Â/׿½’¤/—&¬ðKó9‘;ÿC$‹s#kF·.=p‘²¯Rý¨@‹±.¾²cu~Nÿˆ‚‘$1–¥8¤íÉB@ D;E»ó=YÔ|Âa ÚˆÊ%³é|òCIJU] ðиÊVh’4@¶.œD¹¢B C¦Å£ßG@B=| "&*:É,:>BFJN2yP:5$È5<`&~Ž’"6–¢¦ª®2Š²¶0$°H]¾*…ÖÚêîòöúþ*Ñ6pñ d5¨§à*ó\5KOSW[+2_§ ¸j{ƒ‡óf‹Srç–§«¯³?‘·/žÃÏÓק¿30Ø«tóÿ ø ß3þɨp!CI•˜°!ÅŠ—<$¡¿‹?VÌ8d#¿‰ Oÿ¢ (RI{&SÂŒÉn¥–ô$@ S&Ïžáhö°9¯û|"M* (¡ðøI¦t*UVLw8mW ‚ª^¿¢ºÚ"k»>GÁ¢MûHl } IU+wn¶ t¥«w/» œå+x0¿ ƒN¼×°âÆŽá1~,yò·È”/cVf93çÎV ¡cR šçÒ¦'&{z5k'©"“%Ë°P<@ºµâ׊¸! ü ¯B+:˜wb߉¸áæ¶;éqæ‚Dpó{sÐPT3¾LKƒB HPð@Aíg Ô ¶ÁÐ (˜• h€¸ôÑzE±Wš¬GÿÀE%@4…0pžp̓ëQ!aQ T·Ã|õAPQå%A†B œ ¼G\\t-ã 0› @.øÀ0*Ðç£̘’sˆˆgÂxÁÀ#0`Àm0%‡ówŽóuµÞê4å~ÄP&˜TyåµA€dȉÀ˜O¦Àïà€0@Ÿ"`ȇ`èážô!çåše.øÀ‚ú‰ècÄ; &(n~’•%@Õ ÜxÒ‚3pc€v1-y7 dQe~é-ƒH—Ý›%ZHƒ'xžêj ÆÇH ANŽ*,Õ ‰ÿ^^… …’’P-¼ùë·ÑÏÆîÁ­¶%Hz 7Ið1˜¦GLZœÝr+lª)¬Š/nß&ƒXRá0c\lM¬×'²,œ"¬ÃÐÇM !ž!CQØvaÀÄ ÀCȦ`qœµ˜|2Ç"³;)”¨‡B¾…yq1rÀjüEÈùðrÌîî›ò^[Q€P= ]!¦¢ºC¿D¬^¤6ÀÞŽ¨ÇÀ„¦²)¥Ç§öÁ‡U¿Çu5 Ò$¿°3[BWG~ÇÕ}ŽvNJZ;B $,ñXùWNð¼’e«-Á|Ä – K–àf4E¢ †™ª¡@%R@qb`¼ü™ zýÒâ¿–FƒùÕ¦P£“E ÃØ}ó›±…Д²•q©5Ü›”ÔØ  †>„À,QÂY€ó>,;… …8•²9§ íà (CBµ±ÎW´S)#ŠÝ«ÿ¬ã‚¢L'¬\ÈE=jRD¨¨Oa ÄHRÒ“ÂtXûBGùñÒyàà—1Ý)5n —ð4¨ÍØÝOm)Ô£ŽÃŒá=€ŠÔ§Ú‚¨íp*T«š ©²ƒªVÝê'°º­r5¬‘ðª:À*Ö³bC©aê<ÌŠÖ·‚¬ép+\ëʹŠCKy³+_×pÀL=Õì+aïªVˆ°µ}c—ÿ…ÝhAOÈ!„s C7À š2îxÙE~õ—qýíG QÙá’‚bždÅÜø‘d)èDtê*p¶ìTlÀÒP¯0‰*0¤ÞA°×#»‚¯-`æ$»oPÄUIöãÁ“c::`t¨ïxƒMS´¾ §ï%>mÇ„KáRÈ-…-™ä 0Ô¢×Çs]MC܃\b¥-ˆaÀdÜ6/€m•º˜h5€WþuG„/B€÷Þø`€U¨/?œÈ]@sjQ3–lyl#š‘deýYù\ÌQœëÒå0{f è–ˆÕŒüv¢È`±œo&Šÿª¡#ºs–Àu‚>Ö¨D€ óŒdLšÐ²å0þw/KÃqt.pDï ÁwÆIDí[M¡æ ¸Ì¶ŸEZUø…€~?Ü,Uß‚Õ(|‚ÅeˆéÓÖ2þ3tÒÙJö Ï(†p8$Ö¤^pÀ”&HZ¹ ðÑl ôåfÆøš‘Ý¡ìóÁi¼"(ïEYds×B°¶¬¬ë60?a Lú >І”YI2[ÏtûÛf¹MFczÛ?Dƒ·¡½‚kv8l?wE>ÒΧ¡jï&ÉÛ(rKòƒ´üÖ7SÁÆèàÀ™tÈΣPôo%LÿØ3èÄ`ÓÛáÝR ¡i\‰¸ã £ YhVßµLÓG§óÍLÕðp¹QaBô[çx%Çó¤Ì(r4•Ú QÓm‚Ýœ"ЊwE! ƒ3X£Æ-9ŽÊd‘J×»Ní”\´£ö'Vz,ØÓUׯ…%‹W`¿Ž{G7†Ð—ÈÐk|"íß1ç=‚Ê":p˜àEŒ–yh0'‹q£€URtãCòxI JìÊ Ô°Më(ÀßW³$Uóeþ²_üö.áÍ.èkS¯Åˆ‘Ú&¯{‹…'CZ|‹Ì¸ §ðA?,ñêKŒûç\_/ø2,ÿY}Iò0S @'<Éø•@ymåtxÂ×µÙû¡Dü…Çë……ÄËßÀÐß(’åÉAGm“€õŽÀm˜+䀜е֔5€1@`ˆM qÉšk=œ¤A 4@°Œ™pü`ÉàM2àÁÜÁ©•ÈžÊÎYÔñE²5ØÇY¼ö’îæUÁ˜à) `ð\BŽˆÀ„ K.Ž?„ˆ‡™|µÖDy™¥Àx”Ü°›¼xOŠ‹f>Ϫ}œ…-íǵ€ ºŒŽ:`à¡Ûl™±óáE¹ páþQß×—pŠÒõ@Þ%ÀÜFôÁÔÿ^ B‹ €Ì—¸ZqȉŸx–”ˆÇL‰«é^.¤ârÌ ÐÙùQ.&0fÇ” z rŠü ª$Ï›•C$*ÈM ˆ$‰áŠì¨l[k]Á¶…cœ¨€xVG=Q¥¥–âSa‰’ €zd Tˆá‡…ƹDÍ3°ÀB„£ŠBÈ8†[cÈa¨D4Ɖ#.d‹`ß4IG,Hœ˜¦ˆ 5Šƒ5¢ñõ@CMùá-¦€HÞc÷ñM'4c¬mž@‡BÌ°©Z `ÐÜnDQò|néÏl»„ÆÿÔKªIÊÿˆM>ÀÝäcŒ†RMH‘=¥?¢Žÿ,¼[zT“x@#Gþ„M6å\Œš¸Ú2¦–’yPô —øÃÜ"ñØš˜Rž X.„œTÎÏ…ål:„Úšµ@_¦À_[¢T ÉŽ›°lÌ=Ø¥B›5€Ø^:«=ܹà‘WO…Q Ñà Û“‰@D²‰±¨ÚAâc2„n€ˆù²Ô eÁ ™™æ I¨PàŒæœ1ÖÿPÚ”]ökZ`œ!ùÁ‘P&H6eÐAç ¬@Zx¤@(HÎ!ˆÐÑ&g\gCà@0'WÇdÛwFxzDvÊ ›@Ôàtª§u"çWà€&P ÈPfzÖgU°ÿgOÀÈ€ùæ‘}þ§ã1åeäçù±™Çh.¨fÝgc (ÆèЊwVè^(epˆDhåPè‡D€F(ÌÄ&qàÓÑ¡¨K…èjpOyÀ&…ä匪D2‡r:@yÂ(eò zƒŠ–†k¾§Øu§‘:fƒÖ ©sV¦€H‘:)% ©I¹gŽrç|î@!ðd–ªÂ–îÔx†šñ'zŽNì8!™’‚™"U—JævÆœ†…:ÖƒöÑbáiœê)gífŸþé(ÈiXÉÆuµ[¡vU 2ê£b”Bê¤fšRê¥ú™¤bê¦ ˜£r*™ê§Zf¨¶F4™àÒaÿ\#–ö«š€«†©²ÆÙôEBÌPÝDL¯­®†êÁÙ&-°~¯Z*\ ëik ÃJ᪒* ¼Ü©ÜÆÕF¼œnÐÀ¶"É ü¢1¤Û©œß>™Àù” ZV³šÆ³*ÉXŒÌ•€0áøH•˜JzL€4€­ˆß ¤G…ŽBˆ˜Ö[žG©h †q²ò•¼–^:ÌÔ+®*‹`Žñ8dDOˆ4‚Ì‚(€ˆßTB@…”€Ì™Ï·›Ë6Æzƺ¥ëÊp ®ÆlÚ1²LQ’U¸„›,!iÏ PáÇÿ¸MÜÿKË¢‡^¾•Îv½î½¦ ‰ÛtP]uD ¶ ìÒ¶Ì QóÍiÙ l@aÎz*Rq­¯ŒÐþO¢•Ùèk \ËV˜ˆÒ²Œ©í :âÿ<Ï‹‘ÀùuÖ¢•ÖrƳžym¾ÂÒ ê€\ãžíà®L# ¬áy’À€Ì±-tÝäfƳNˆNÈÝzBÊt‚ûÅ Àú¡áíGƒ¤,Ó.¾(_Ž­ÛØŽÇBÅ.kÖÎíQaXèpΤ0ZDk|° ÐB‰˜ «~Ù©Ù6BÉ| ”䀌o¼6ïe­AÙŠj¤.ïwBÅ«UBBn*ë(èÀÔo§jêcªÿ0|…‚ÿ1pçCpKðœÙê[0Wðkð‹np?°ƒð‡pgð{p ›°£p c0 ÇælÁp ¿– Óp Ûð ßpÛpäépã°q6ñû1±#qï0ûð1„;PKïý ~''PK\8–A$OEBPS/img_text/global_concharset.htmažü Description of the illustration global_concharset.gif

The NLS Connection Attributes for GlobalDSN are set as follows:


Connection Character Set: AL32UTF8
NLS_SORT: BINARY
NLS_LENGTH_SEMANTICS: BYTE

PK#¬œÛfaPK\8–AOEBPS/img_text/server.htm ßû Description of the illustration server.gif

The Oracle TimesTen Logical Server Name Setup dialog box contains the following fields and values:


Server Name: ttlogical_server
Description: TimesTen Primary Server
Network Address: server.mycompany.com
Network Port: 53385

The following buttons appear on the right side of the dialog box, from top to bottom: OK, Cancel, Help.

PK–ýJè% PK\8–AOEBPS/img_text/odbc_empty.htm<Ãú Description of the illustration odbc_empty.gif

The instructions at the top of the Data Store tab of the TimesTen ODBC Setup dialog box are: "Choose data source name, database path+name, and other desired options. To use default attribute values, click OK. Otherwise, modify attribute values on all tabs and then click OK."

The Data Store tab has the following fields: Data Source Name, Description, Data Store Path +, Log Directory, Database Character Set (drop-down list), Type Mode (drop-down list).

In the Data Store Attributes section, you can select Temporary.

The following buttons appear from left to right at the bottom of the dialog box: OK, Cancel, Default, Help.

PK7±A<PK\8–AOEBPS/img_text/odbc_diagram.htmß û Description of the illustration odbc_diagram.eps

This graphic shows how an application can access the TimesTen database engine through one of several methods:

  • Use the ODBC driver to the SQL or PL/SQL engine.

  • For Java programs, use JDBC to access the ODBC driver.

  • For C++ programs, use ttClasses to access the ODBC driver.

  • Pro*C programs access ODBC driver through the OCI interface.

  • ODP.NET programs access ODBC driver through the OCI interface.

  • The OCI interface accesses the ODBC driver.

PKH wäßPK\8–AOEBPS/img_text/jdbc_steps.htm~û Description of the illustration jdbc_steps.gif

These are the steps and the tools shown in the image:


Put plans into the PLAN table. ttOptSetFlag
Prepare command. Connection.prepareStatement
Examine PLAN table. SELECT * FROM SYS.PLAN
Set various optimizer hints. ttOptSetFlag
Prepare command again. Connection.prepareStatement
Examine PLAN table. SELECT * FROM SYS.PLAN

Repeat steps beginning with "Set various optimizer hints" until plan is fully optimized.

PK6JÓ†PK\8–A OEBPS/img_text/odbc_firstcon.htm»Dü Description of the illustration odbc_firstcon.gif

The First Connection Attributes for TempDS are set as follows:


Logging: 1-Disk Logging
Log Flush Method: 0-Platform Default

The following attributes are checked:


Auto Create
Log Auto Truncate
Log Purge

PK©†+CÀ»PK\8–A"OEBPS/img_text/jdbc_exec_steps.htm¹Fû Description of the illustration jdbc_exec_steps.gif

These are the steps and the tools shown in the image:


Set various optimizer hints. ttoptSetFlag
Prepare command. Connection.prepareStatement
Execute command. Statement*.execute*
Execute command. Statement*.execute*
Command is invalidated (if application shooses to invalidate). ttopUpdateStats on T2
Command is reprepared automatically, using same hints, and executed. Statement*.execute*
Execute command. Statement*.execute*
Drop command. PreparedStatement.close

PKØÇ2¾¹PK\8–AOEBPS/img_text/odbc_server.htmÁ>ü Description of the illustration odbc_server.gif

The Server tab of the TimesTen ODBC Setup contains the following fields: Maximum Connections Per Server Process, Server Processes Per DSN, Server Stack Size (KB).

The following buttons appear in a row at the bottom of the dialog box: OK, Cancel, Default, Help.

PK›ç¦OÆÁPK\8–A"OEBPS/img_text/execution_steps.htmy†û Description of the illustration execution_steps.gif

These are the steps and the tools shown in the image:


Set various optimizer hints. ttOptSetFlag
Prepare command. SQLPrepare
Execute command. SQLExecute
Execute command. SQLExecute
Command is invalidated (if application chooses to invalidate). ttOptUpdateStats on T2
Command is reprepared automatically, using same hints, and executed. SQLExecute
Execute command. SQLExecute
Drop command. SQLFreeStmt

PKƒOÊý~yPK\8–AOEBPS/img_text/driver.htm²Mü Description of the illustration driver.eps

This graphic shows how the TimesTen Client links with the ODBC driver. Then, the client connects over the network to the TimesTen Server, which links with the Data Manager ODBC driver. The Data Manager ODBC driver is the interface for the TimesTen database.

PKy-±û·²PK\8–AOEBPS/img_text/odbc_temp.htm}‚ú Description of the illustration odbc_temp.gif

The instructions at the top of the Data Store tab of the TimesTen ODBC Setup dialog box are: "Choose data source name, data store path+name, and other desired options. To use default attribute values, click OK. Otherwise, modify attribute values on all tabs and then click OK."

The fields are completed as follows:


Data Source Name: TempDS
Description
Data Store Path +: C:\data\TempDS
Log Directory: C:\temp
Database Character Set: US7ASCII
Type Mode: Oracle

The following Data Store Attributes are checked: Temporary, Authenticate TimesTen Client Connection.

The following buttons appear at the bottom of the dialog box: OK, Cancel, Default, Help.

PKS’•‚}PK\8–AOEBPS/img_text/odbc_plsql.htmuŠû Description of the illustration odbc_plsql.gif

The PL/SQL ODBC setup page enables you to enable PL/SQL, and to set the PL/SQL first connection attributes that include memory address and size. You can also set PL/SQL connection level attributes for PLScope setting, the PL/SQL connection memory limit in megabytes, the PL/SQL optimization level, the PL/SQL timeout in seconds, and the PL/SQL CCFlags.

The following buttons appear at the bottom of the dialog box: OK, Cancel, Default, Help.

PKÏ®zuPK\8–AOEBPS/img_text/adminds2.htmïü Description of the illustration adminds2.gif

The Data Store tab of the TimesTen ODBC Setup dialog box has the following settings:


Data Source Name: AdminDSN
Data Store Path +: C:\data\TTDS
Log Directory: C:\Temp
Database Character Set: AL32UTF8
Type Mode: 0-Oracle

Authenticate TimesTen Client Connection is checked.

PKüKW=ôïPK\8–AOEBPS/img_text/odbc_cache.htm?Àù Description of the illustration odbc_cache.gif

The Cache Connect tab of the TimesTen ODBC Setup dialog box has Connection Level Attributes on the left and Data Store Level Attributes on the right.

The Connection Level Attributes are: Oracle User ID, Oracle Password, PassThrough (drop-down list in which 0-None is chosen), RAC Callback (check-box containing a check).

The Data Store Level Attributes include a field for Oracle Net Service Name.

There is a box below RAC Callback that is labelled Dynamic Load. The box contains a checkbox for Disable and a drop-down list for Error Mode, which is set to 0 - Errors not shown.

There is a box below Oracle Net Service Name that is labelled Cache Grid. The box contains a checkbox for Enable and a field for Message Wait (secs). The Message Wait field is set to 60 and is grayed out.

The following buttons appear at the bottom of the dialog box: OK, Cancel, Default, Help.

PK‹xbD?PK\8–AOEBPS/img_text/tune_join.htmi–û Description of the illustration tune_join.gif

The steps and the tools shown in the image are as follows:


Put plans into the PLAN table - ttOptSetFlag
Prepare command - SQLPrepare
Examine PLAN table - SELECT * FROM SYS.PLAN
Set various optimizer hints - ttOptSetFlag
Prepare command again - SQLPrepare
Examine PLAN table - SELECT * FROM SYS.PLAN

Repeat steps beginning with "Set various optimizer hints" until plan is fully optimized.

PK`ÓÂØniPK\8–AOEBPS/img_text/jointree.htm³Lü Description of the illustration jointree.gif


Level 3:
TblLkRangeScan (Step 1)
RangeScan (Step 2)

Level 2:
MergeJoin (Step 3)
TblLkRangeScan (Step 4)

Level 1:
MergeJoin (Step 5)

Additional information is in the text preceding the figure.

PK@*¸³PK\8–AOEBPS/img_text/add_dsn.htmûû Description of the illustration add_dsn.gif

The Create New Data Source dialog box displays the following instructions: "Select a driver for which you want to set up a data source."

A scrollable window appears below the instructions. Several drivers are listed. TimesTen Client 11.2.2 is highlighted.

The following buttons appear below the window: Back, Finish, Cancel.

PK“;5 PK\8–AOEBPS/img_text/odbc_nls.htmB½û Description of the illustration odbc_nls.gif

The NLS Connection Attributes tab of the TimesTen ODBC Setup contains the following drop-down lists and their values:


Connection Character Set: US7ASCII
NLS_SORT: BINARY
NLS_LENGTH_SEMANTICS: BYTE

Below the drop-down lists there is a check-box for NLS_NCHAR_CONV_EXCP.

The following buttons appear at the bottom of the dialog box: OK, Cancel, Default, Help.

PK –0ƒGBPK\8–AOEBPS/img_text/setup_adv.htm”kú Description of the illustration setup_adv.gif

The Oracle TimesTen Client DSN Setup dialog box contains the following fields:


Client DSN
Description
Server Name or Network Address (set to ttlogical_server)
Server DSN
User ID
Password
PWDCrypt
Failover Server Name or Network Address
FailoverServer DSN
Connection Name
Connection Character Set
Network Timeout (in seconds) (set to 60)
Failover Port Range

A Refresh button appears to the right of theFailover Server DSN fielfield.

The following buttons appear on the right side of the dialog box: OK, Cancel, Help, Servers.

The following buttons appear at the bottom: Test Oracle TimesTen Server Connection, Test Data Source Connection.

PKì¦x™”PK\8–A#OEBPS/img_text/admin_concharset.htm_ ü Description of the illustration admin_concharset.gif

The NLS Connection Attributes for AdminDSN are set as follows:


Connection Character Set: US7ASCII
NLS_SORT: BINARY
NLS_LENGTH_SEMANTICS: BYTE

PKàІd_PK\8–AOEBPS/img_text/global_dsn.htmÌ3ü Description of the illustration global_dsn.gif

The Data Store tab has the following settings:


Data Source Name: GlobalDSN
Data Store Path +: C:\data\TTDS
Log Directory: C:\Temp
Database Character Set: AL32UTF8
Type Mode: 0-Oracle

Authenticate timesTen Client Connection is checked.

PK· Æ?ÑÌPK\8–AOEBPS/img_text/clisvr.htm½Bü Description of the illustration clisvr.eps

This graphic demonstrates that the client application refers to the Client DSN to initiate a connection. The Client DSN contains information about the server machine and the Server DSN to locate the TimesTen database. This may or may not include a logical server name.

PK‰°L½PK\8–A%OEBPS/img_text/materialized_views.htm#Üû Description of the illustration materialized_views.gif

This graphic shows several detail tables in the database. A materialized view is created by taking certain rows from each of the detail tables; thus, enabling only the desired information to be shown when a select is performed on the materialized view. However, all updates are applied solely to the detail tables and then reflected in the materialized view.

PK~M[_(#PK\8–AOEBPS/img_text/odbc_gencon.htmy†ù Description of the illustration odbc_gencon.gif

The General Connection Attributes tab of the TimesTen ODBC Setup dialog box has a column of check-boxes on the left: DS-Level Locking, Durable Commits, Wait for Connect (checked), Private Commands, Match Log Opts.

These fields are on the right side: UserID, PWD Crypt. Below the fields is the Diagnostics field. "1" appears in Diagnostics.

These drop-down lists are on the left below the check-boxes: DDL Commit Behavior and Isolation. DDL Commit Behavior is set to 0 - Implicit Commit.

Below the drop-down lists are the following fields: Query Threshold (secs), Query Timeout (secs), Lock Wait (secs.#), Replication Track, DDL Replication Level and DDL Replication Action. "10.0" appears in Lock Wait.

The Low Memory Warning Thresholds section is on the lower right side. It contains two fields: Permanent Data (%) and Temporary Data (%).

The following buttons appear at the bottom of the dialog box: OK, Cancel, Default, Help.

PKGgêø~yPK\8–AOEBPS/trans.htm€ÿ Transaction Management and Recovery

8 Transaction Management and Recovery

TimesTen supports transactions that provide atomic, consistent, isolated and durable (ACID) access to data.

TimesTen transactions support ANSI Serializable and ANSI Read Committed levels of isolation. ANSI Serializable isolation is the most stringent transaction isolation level. ANSI Read Committed allows greater concurrency. Read Committed is the default and is an appropriate isolation level for most applications.

Applications configure the transaction features they need with connection attributes or connection options. See "Connection Attributes" in Oracle TimesTen In-Memory Database Reference for more details on how to set isolation levels and durability options.

The main topics in this chapter are:

Transaction overview

All operations on a TimesTen database, even those that do not modify or access application data, are executed within a transaction. When running an operation and there is no outstanding transaction, one is started automatically on behalf of the application. Transactions are completed by an explicit or implicit commit or rollback. When completed, resources that were acquired or opened by the transaction are released and freed, such as locks and cursors.

Use the following SQL statements to commit or rollback your transaction:

  • The SQL COMMIT statement commits the current transaction. Updates made in the transaction are made available to concurrent transactions.

  • The SQL ROLLBACK statement rolls back the current transaction. All updates made in the transaction are undone.


Note:

For the syntax of the COMMIT and ROLLBACK statements, see "SQL Statements" in the Oracle TimesTen In-Memory Database SQL Reference.

Read-only transactions do not require a commit. When executing write operations, complete transactions to release locks. When possible, keep write transactions short in duration. Any long-running transactions can reduce concurrency and decrease throughput because locks are held for a longer period of time, which blocks concurrent transactions. Also, long-running transactions can prevent transaction log files from being purged, causing these files to accumulate on disk.

A connection can have only one outstanding transaction at any time and cannot be explicitly closed if it has an open transaction.

Configuring transaction implicit commit behavior

The following sections describe how you can configure whether the application enables implicit commit behavior or requires explicit commit behavior for DML or DDL statements:

Transaction autocommit behavior

Autocommit configures whether TimesTen issues an implicit commit after DML or DDL statements. By default, autocommit is enabled, following the ODBC and JDBC specifications.

When autocommit is on, the following behavior occurs:

  • An implicit commit is issued immediately after a statement executes successfully.

  • An implicit rollback is issued immediately after a statement execution fails, such as a primary key violation.

  • If the statement generates a result set that opens a cursor, the automatic commit is not issued until that cursor and any other open cursors in the transaction have been explicitly closed. Any statements executed while a cursor is open is not committed until all cursors have been closed.

    Fetching all rows of a result set does not automatically close its cursor. After the result set has been processed, its cursor must be explicitly closed if using the read committed isolation level or the transaction must be explicitly committed or rolled back if using Serializable isolation level.


    Note:

    Even with durable commits and autocommit enabled, you could lose work if there is a failure or the application exits without closing cursors.

  • If you are using ODBC or JDBC batch operations to INSERT, UPDATE or DELETE several rows in one call when autocommit is on, a commit occurs after the entire batch operation has completed. If there is an error during the batch operation, those rows that have been successfully modified will be committed within this transaction. If an error occurs due to a problem on a particular row, only the successfully modified rows preceding the row with the error are committed in this transaction. The pirow parameter to the ODBC SQLParamOptions function contains the number of the rows in the batch that had a problem.

Commits can be costly for performance and intrusive if they are implicitly executed after every statement. TimesTen recommends you disable autocommit so that all commits are intentional. Disabling autocommit provides control over transactional boundaries, enables multiple statements to be executed within a single transaction, and improves performance, since there is no implicit commit after every statement.

If autocommit is disabled, transactions must be explicitly completed with a commit or rollback after any of the following:

  • Completing all the work that was to be done in the transaction.

  • Issuing a transaction-consistent (blocking) checkpoint request.

  • Updating column and table statistics to be used by the query optimizer.

  • Calling a TimesTen built-in procedure that does not generate a result set in order for the new setting specified in the procedure to take effect, such as the ttLockWait procedure.

You must establish a connection to a database before changing the autocommit setting. To disable autocommit, perform one of the following:

  • In ODBC-based applications, execute SQLSetConnectOption function with SQL_AUTOCOMMIT_OFF.

  • In JDBC applications, Connection.setAutoCommit(false) method.

  • When running ttIsql, issue the autocommit 0 command.

TimesTen DDL commit behavior

Traditionally, in TimesTen databases, DDL statements are executed as part of the current transaction and are committed or rolled back along with the rest of the transaction. However, the default behavior for the Oracle database is that it issues an implicit COMMIT before and after any DDL statement.

For the TimesTen release 11.2.1, you can configure for either behavior with the DDLCommitBehavior connection attribute, as follows:

  • 0 - Oracle database behavior. An implicit transaction commit is performed before the execution of each DDL statement and a durable commit is performed after the execution of each DDL statement. This is the default.

  • 1 - Traditional TimesTen behavior. Execution of DDL statements does not trigger implicit transaction commits.

DDL statements include the following:

  • CREATE, ALTER and DROP statements for any database object, including tables, views, users, procedures and indexes.

  • TRUNCATE

  • GRANT and REVOKE

The consequences of setting DDLCommitBehavior=0 include the following:

  • DDL changes cannot be rolled back.

  • DDL statements delete records from global temporary tables unless the tables were created with the ON COMMIT PRESERVE ROWS clause.

  • Tables created with the CREATE TABLE ... AS SELECT statement are visible immediately.

  • TRUNCATE statements are committed automatically. However, the truncate of the parent and child tables must be truncated in separate transactions, with the child table truncated first. You cannot truncate a parent table unless the child table is empty. The truncation of child and parent table can only be in the same transaction if you set DDLCommitBehavior to 1.

For more information, see "DDLCommitBehavior" in the Oracle TimesTen In-Memory Database Reference.

Relationship between autocommit and DDLCommitBehavior

Both autocommit and DDLCommitBehavior configure if and when implicit commits occur for SQL statements.

  • Autocommit applies to both DDL and DML statements. Enabling for implicit commits of DDL statements overlaps in both options. If autocommit is enabled and DDLCommitBehavior is disabled, autocommit only commits after the DDL statement. However, if both autocommit and DDLCommitBehavior is enabled, an implicit commit occurs both before and after the DDL statement.

  • To enable DDLCommitBehavior, you set the DDLCommitBehavior DSN attribute. To enable or disable autocommit, the application executes an ODBC function or JDBC method.

Table 8-1 shows what behavior occurs when you enable or disable one option in conjunction with the other:

Table 8-1 Relationship between autocommit and DDLCommitBehavior

AutoCommitDDLCommitBehaviorRelationship

ON

ON

All statements are automatically committed, unless you have an open cursor. DDL statements are implicitly committed before and after execution.

OFF

ON

Recommended setting. DDL statements are implicitly committed before and after execution. All other statements require an explicit commit.

ON

OFF

All statements are implicitly committed after execution, unless you have an open cursor. A commit is issued after the DDL is processed and not before.

OFF

OFF

All statements require an explicit commit, including DDL statements.


Transaction semantics

Logging and locking are used to ensure atomicity, consistency, isolation and durability (ACID) semantics for transactions. Locking and transaction logs are used to ensure ACID semantics as a transaction modifies data in a database as follows:

The following table shows how TimesTen uses locks and transaction logs:

IfThen
Transaction is terminated successfully (committed)
  • Transaction log is posted to disk if the DurableCommits attribute is turned on.
  • Locks that were acquired on behalf of the transaction are released and the corresponding data becomes available to other transactions to read and modify.

  • All open cursors in the transaction are automatically closed.

Transaction is rolled back
  • Transaction log is used to undo the effects of the transaction and to restore any modified data items to the state they were before the transaction began.
  • Locks that were acquired on behalf of the transaction are released.

  • All open cursors in the transaction are automatically closed.

System fails (data not committed)
  • On first connect, TimesTen automatically performs database recovery by reading the latest checkpoint image and applying the transaction log to restore the database to its most recent transactionally consistent state. See "Checkpoint operations".
Application fails
  • All outstanding transactions are rolled back.

TimesTen supports temporary databases, which have essentially no checkpoints. However, they do have a transaction log so that transactions can be rolled back. Recovery is never performed for such databases. They will be destroyed after a database or application shuts down or fails. For information on temporary databases, see "Database overview".

Transaction atomicity

All TimesTen transactions are atomic. Either all or none of the effects of the transaction are applied to the database. Atomicity is implemented by using the transaction log to undo the effects of a transaction if it is rolled back. Rollback can be caused explicitly by the application or during database recovery because the transaction was not committed at the time of failure.

Transaction durability

The TimesTen Data Manager provides durability with a combination of checkpointing and transaction logging.

A checkpoint operation writes the current in-memory database image to a checkpoint file on disk, which has the effect of making all transactions that have been committed at the time of the checkpoint operation durable.

All transactions are logged to an in-memory transaction log buffer, which is written to disk in one of the following ways:


Note:

Checkpointing and logging are further described in "Transaction logging" and "Checkpoint operations".

The following sections describe durability options for TimesTen applications:

Guaranteed durability

Durability is implemented with a combination of checkpointing and logging.

  • Checkpoint files: A checkpoint operation writes the current database image to a checkpoint file on disk, which has the effect of making all transactions that committed before the checkpoint durable.

  • Transaction log files: For transactions that committed after the last checkpoint, TimesTen uses conventional logging techniques to make them durable. As each transaction progresses, it records its database modifications in an in-memory transaction log. At commit time, the relevant portion of the transaction log is flushed to disk. This log flush operation makes that transaction, and all previously-committed transactions, durable.

    Control returns to the application after the transaction log data has been durably written to disk. A durably committed transaction will not be lost even in the event of a system failure.

To enable guaranteed durability, applications set the DurableCommits attribute to 1.

Any recovery uses the last checkpoint image together with the transaction log to reconstruct the latest transaction-consistent state of the database.


Note:

Committing a transaction durably makes that transaction and all previous transactions durable. Any non-durable transactions will no longer be subject to loss in the event of a database failure, just as if it had originally been committed durably.

If most of your transactions commit durably, you may want to set the LogFlushMethod first connect attribute to 2. This connection attribute configures how TimesTen writes and synchronizes log data to transaction log files. For more information, see "Use durable commits appropriately".

Delayed durability

In delayed durability mode, as in guaranteed durability mode, each transaction enters records into the in-memory transaction log as it makes modifications to the database. However, when a transaction commits in delayed durability mode, it does not wait for the transaction log to be posted to disk before returning control to the application. Thus, a non-durable transaction may be lost in the event of a database failure. However, they execute considerably faster than durable transactions. Eventually, transactions are flushed to disk by the database's subdaemon process or when the in-memory log buffer is full.

Applications request delayed durability mode by setting the DurableCommits attribute to 0. This is the default and the recommended option. Connections that use delayed durability can coexist with connections that use guaranteed durability.

Applications that wish to take advantage of the performance benefits of delayed durability mode, but can only tolerate the loss of a small number of transactions, can perform periodic durable commits in a background process. Only those transactions that committed non-durably after the last durable commit are vulnerable to loss in the event of a system failure.

Durable commit performance enhancements

The performance cost for durable commits can be reduced with a group commit of multiple concurrently executing transactions. Many threads executing at the same time, if they are short transactions, may commit at almost the same time. Then, a single disk write commits a group of concurrent transactions durably. Group commit does not improve the response time of any given commit operation, as each durable commit must wait for a disk write to complete, but it can significantly improve the throughput of a series of concurrent transactions.

When durable commits are used frequently, TimesTen can support more connections than there are CPUs, as long as transactions are short. Each connection spends more time waiting to commit than it spends using the CPU. Alternatively, applications that perform infrequent durable commits cause each connection to be very CPU-intensive for the TimesTen portion of its workload.

Applications that do not require optimal response time and can tolerate some transaction loss may elect to perform periodic durable commits. This maintains a smaller window of vulnerability to transaction loss as opposed to all transactions being committed non-durably. By committing only every nth transaction durably or performing a durable commit every n seconds, an application can achieve a quicker response time while maintaining a small window of vulnerability to transaction loss. A user can elect to perform a durable commit of a critical transaction, such as one that deals with financial exchange, that cannot be vulnerable to loss.

To enable periodic durable commits, an application does the following:

  1. Connects with setting the attribute DurableCommits=0. This causes the transactions to commit non-durably.

  2. When a durable commit is needed, the application can call the ttDurableCommit built-in procedure before committing. The ttDurableCommit built-in procedure does not actually commit the transaction; it merely causes the commit to be durable when it occurs.

Transaction logging

TimesTen creates one transaction log for each database, which is shared by all concurrent connections. A transaction log record is created for each database update, commit, and rollback. However, transaction log records are not generated for read-only transactions. Log records are first written to the transaction log buffer, which resides in the same shared memory segment as the database. The contents of the log buffer are then subsequently flushed to the latest transaction log file on disk.

The transaction log is used to track all updates made within a transaction, so that those updates can be undone if the transaction is rolled back.

Transaction logging enables recovery of transactions from checkpoint files and the transaction log, which were committed from the time of the last checkpoint operation after a system failure. If the transaction is non-durable, any committed transactions in the log buffer that have not been flushed to disk would be lost in the event of a system failure.

The following sections describe how to manage and monitor the transaction log buffers and file:

Managing transaction log buffers and files

The following describes how to configure transaction log buffers and files:

  • Transaction log buffers: There is one transaction log buffer for each database and the size of the transaction log buffer can be configured using the LogBufMB DSN attribute. Each transaction log buffer can have multiple strands. The number of transaction log buffer strands is configured with the LogBufParallelism attribute.

  • Transaction log files: The maximum size for the transaction log files are configured with the LogFileSize DSN attribute. The transaction log files are created in the same directory as the checkpoint files unless the LogDir attribute specifies a different location. The transaction log file names have the form ds_name.logn. The ds_name is the database path name that is specified by the DataStore DSN attribute and is provided within the database's DSN. The suffix n is the transaction log file number, starting at zero.


    Note:

    For best performance, TimesTen recommends that applications use the LogDir attribute to place the transaction log files in a different physical device from the checkpoint files. If separated, I/O operations for checkpoints do not block I/O operations to the transaction log and vice versa.

Monitoring accumulation of transaction log files

It is important to verify at frequent intervals that there are no transaction log holds that could result in an excessive accumulation of transaction log files. If too many transaction log files accumulate and fill up available disk space, new transactions in the TimesTen database cannot begin until the transaction log hold is advanced and transaction log files are purged by the next checkpoint operation.

The following sections describe transaction log operations, log holds, and accumulation of log files:

Purging transaction log files

Any transaction log file is kept until TimesTen determines it can be purged, w€ÿhich can occur under the following conditions:

  • Transactions writing log records to the file have been committed or rolled back. These can be either local database transactions or XA transactions.

  • Changes recorded in the file have been written to both checkpoint files.

  • Changes recorded in the file have been replicated, if replication is enabled.

  • Changes recorded in the file have been propagated to Oracle Database, if IMDB Cache is used and configured for that behavior.

  • Changes recorded in the file have been reported to XLA, if XLA is used.

Under normal TimesTen operating conditions, unneeded transaction log files are purged each time a checkpoint is initiated. A checkpoint can be initiated either through a configurable time interval with the CkptFrequency connection attribute, a configurable log volume with the CkptLogVolume connection attribute, or execution of the ttCkpt built-in function, which can be called either manually or in a background checkpointing application thread.

If you are running out of disk space because of log files accumulating, use the CkptLogVolume connection attribute instead of the CkptFrequency connection attribute. In addition, if you execute the ttLogHolds build-in procedure frequently, you can tell if log reclamation is blocked.


Note:

To improve preformance, locate your log files on a separate disk partition from the one on which the checkpoint files are located. The LogDir connection attribute determines where log files are stored. For more information, see "Managing transaction log buffers and files" and "LogDir" in the Oracle TimesTen In-Memory Database Reference.

See "Checkpointing" in the Oracle In-Memory Database Cache Introduction for general information. See "Configure or turn off background checkpointing" for more details on CkptFrequency and CkptLogVolume. Also, see CkptFrequency, CkptLogVolume, ttCkpt, and ttLogHolds in the Oracle TimesTen In-Memory Database Reference.

Log holds by TimesTen components or operations

Several TimesTen components or operations can cause transaction log holds. A transaction log hold prevents log files, beyond a certain point, from being purged until they are no longer needed. In normal circumstances, the log hold position is regularly advanced and log files are purged appropriately. However, if operations are not functioning properly and the hold position does not advance, there can be an excessive accumulation of log files beyond the hold position that can no longer be purged, which eventually fills available disk space.

These components and operations include the following:

  • Replication: There is a transaction log hold until the transmitting replication agent confirms that the log files have been fully processed by the receiving host.

    Possible failure modes include the following:

    • The network is down or there is a standby crash and replication is unable to deliver data to one or more subscribers. If necessary, the application can direct that logs no longer be held, then duplicate the master database to the standby when normal operations resume. Criteria for when to do this includes the amount of time required to duplicate, the amount of available disk space on the master for log files, and the transaction log growth rate.

    • The overall database transaction rate exceeds the ability of replication to keep the active and standby databases synchronized. An application can reduce the application transaction rate or the number of replicated tables.

    For more information, see "Improving replication performance" in the Oracle TimesTen In-Memory Database Replication Guide and "Troubleshooting Replication" in the Oracle TimesTen In-Memory Database Troubleshooting Guide.

  • XLA: There is a transaction log hold until the XLA bookmark advances.

    A possible failure mode occurs when the bookmark becomes stuck, which can occur if an XLA application terminates unexpectedly or if it disconnects without first deleting its bookmark or disabling change-tracking. If a bookmark gets too far behind, the application can delete it. If the XLA reader process is still active, it must first be terminated, so that another XLA process can connect and delete the bookmark.

  • Active standby pairs that replicate AWT cache groups: There is a transaction log hold until the replication agent confirms that the transaction corresponding to the log hold has been committed on the Oracle Database. With an active standby pair, the active database typically receives the confirmation from the standby database. If the standby database is down, the replication agent receives confirmation from Oracle Database directly.

    Possible failure modes include the following:

    • Oracle Database is down or there is a lock or resource contention.

    • The network is down, slow, or saturated.

    • With an active standby pair, replication to the standby database falls behind. Check log holds on the standby database.

    • The transaction rate to TimesTen exceeds the maximum sustainable rate that TimesTen can propagate to Oracle Database.

    For more information, see "Monitoring AWT cache groups" in the Oracle In-Memory Database Cache User's Guide and "Troubleshooting AWT Cache Groups" in the Oracle TimesTen In-Memory Database Troubleshooting Guide.

  • Cache groups configured with AUTOREFRESH: There is a transaction log hold until the replication agent on the active database confirms the log files have been fully processed by the standby database.

    Possible failure modes include the following:

    • Replication from the active database to the standby database is impacted because the standby database falls behind due to large workloads resulting from AUTOREFRESH mode.

    • The standby database is down or recovering, but has not been marked as FAILED through a call, initiated by either the user application or Oracle Clusterware, to the ttRepStateSave built-in procedure. The active database does not take over propagation to the Oracle Database until the state of the standby database is marked as FAILED. While the standby database is down or recovering, transaction log files are held for the Oracle Database.

    For more information, see "Monitoring autorefresh cache groups" in the Oracle TimesTen In-Memory Database Troubleshooting Guide.

  • Incremental TimesTen backup: There is a transaction log hold until the backup completes.

    A possible failure mode can occur if the incremental backup falls too far behind the most recent entries in the transaction log. For example, ensure that an unexpected burst of transaction activity cannot fill up available transaction log disk space due to the backup holding a log file that is too old. An application can perform another incremental backup to work around this situation.

  • Long-running transaction or XA transaction: There is a transaction log hold until the transaction completes.

    A possible failure mode can occur if an application transaction does not commit or roll back for a long time, so that it becomes necessary for the application to terminate the long-running transaction.

    If necessary, you can roll back a transaction using the ttXactAdmin utility with the -xactIdRollback option. See "ttXactAdmin" in Oracle TimesTen In-Memory Database Reference.

Monitoring log holds and log file accumulation

Options for periodic monitoring of excessive transaction log accumulation include the following:

  • Call the ttLogHolds built-in procedure, which returns a result set with details of all log holds. The information includes the following, as applicable:

    • Log file number, the offset of the hold position, and the type of hold, which can be checkpoint, replication, backup, XLA, long-running transaction, or long-running XA transaction

    • Name of the checkpoint file for a checkpoint hold

    • Name of the subscriber and the parallel track ID it uses for replication

    • Backup path for a backup hold

    • Name of the persistent subscription and process ID of the last process to open it for XLA

    • Transaction ID for a long-running transaction

    • XA XID for a long-running XA transaction

    For more information, see "ttLogHolds" in the Oracle TimesTen In-Memory Database Reference.

  • Call the ttCkptHistory built-in procedure to check the last several checkpoints to confirm none of the returned rows has a status of FAILED.

    For more information, see "ttCkptHistory" in the Oracle TimesTen In-Memory Database Reference.

  • Check the SYS.MONITOR table for operational metrics. Each transaction log file has a unique sequence number, which starts at 0 for the first log file and increments by 1 for each subsequent log file. The number of the current log file is available in SYS.MONITOR.LAST_LOG_FILE. The number of the oldest log file not yet purged is available in SYS.MONITOR.FIRST_LOG_FILE. You should raise an error or warning if the difference in the sequence numbers exceeds an inappropriate threshold.

    For more information, see "SYS.MONITOR" in the Oracle TimesTen In-Memory Database System Tables and Views Reference.

  • For XLA, check the SYS.TRANSACTION_LOG_API table that provides bookmark information, such as the process ID of the connected application, which could help diagnose the reason why a bookmark may be stuck or lagging.

    For more information, see "SYS.TRANSACTION_LOG_API" in the Oracle TimesTen In-Memory Database System Tables and Views Reference.

Concurrency control through isolation and locking

The following sections describe transaction isolation and locking levels:

Transaction isolation levels

Transaction isolation enables each active transaction to operate as if there were no other transactions active in the system. Isolation levels determine if row-level locks are acquired when performing read operations. When a statement is issued to update a table, locks are acquired to prevent other transactions from modifying the same data until the updating transaction completes and releases its locks.

The Isolation connection attribute sets the isolation level for a connection. Isolation levels have no effect if using database-level locking because transactions cannot be run concurrently. The isolation level cannot be changed in the middle of a transaction.

TimesTen supports the following two transaction isolation levels:

  • ANSI Read Committed isolation: The read committed isolation level is the recommended mode of operation for most applications, and is the default mode. It enables transactions that are reading data to execute concurrently with a transaction that is updating the same data. TimesTen makes multiple versions of data items to allow non-serializable read and write operations to proceed in parallel.

    Read operations do not block write operations and write operations do not block read operations, even when they read and write the same data. Read operations do not acquire locks on scanned rows. Write operations acquire locks that are held until the transaction commits or rolls back. Readers share a committed copy of the data, whereas a writer has its own uncommitted version. Therefore, when a transaction reads an item that is being updated by another in-progress transaction, it sees the committed version of that item. It cannot see an uncommitted version of an in-progress transaction.

    Read committed isolation level provides for better concurrency at the expense of decreased isolation because of the possibility of non-repeatable reads or phantom rows within a transaction. If an application executes the same query multiple times within the same transaction, the commit of an update from another transaction may cause the results from the read operation to retrieve different results. A phantom row appears in modified form in two different reads, in the same transaction, due to early release of read locks during the transaction.

    To set read committed isolation level, if previously modified since this is the default, do one of the following:

    • ODBC applications execute the SQLSetConnectOption ODBC function with the SQL_TXN_ISOLATION flag set to SQL_TXN_READ_COMMITTED.

    • Connect with isolation=1 in the connection string.

    • When using ttIsql, execute ISOLATION 1 or ISOLATION READ_COMMITTED.

  • ANSI Serializable isolation: All locks acquired within a transaction by a read or write operation are held until the transaction commits or rolls back. Read operations block write operations, and write operations block read operations. As a result, a row that has been read by one transaction cannot be updated or deleted by another transaction until the original transaction terminates. Similarly, a row that has been inserted, updated or deleted by one transaction cannot be accessed in any way by another transaction until the original transaction terminates.

    Serializable isolation level provides for repeatable reads and increased isolation at the expense of decreased concurrency. A transaction that executes the same query multiple times within the same transaction is guaranteed to see the same result set each time. Other transactions cannot update or delete any of the returned rows, nor can they insert a new row that satisfies the query predicate.

    To set the isolation level to Serializable, do one of the following:

    • ODBC applications execute the SQLSetConnectOption ODBC function with the SQL_TXN_ISOLATION flag set to SQL_TXN_SERIALIZABLE.

    • Connect with isolation=0 in the connection string.

    • When using ttIsql, execute isolation 0 or isolation serializable.

    To ensure that materialized views are always in a consistent state, all view maintenance operations are performed under Serializable isolation, even when the transaction is in read committed isolation. This means that the transaction obtains read locks for any data items read during view maintenance. However, the transaction releases the read locks at the end of the INSERT, UPDATE or CREATE VIEW statement that triggered the view maintenance, instead of holding them until the end of the transaction.


Note:

The ttXactAdmin utility generates a report showing lock holds and lock waits for all outstanding transactions. It can be used to troubleshoot lock contention problems where operations are being blocked, or encountering lock timeout or deadlock errors. It can also be used to roll back a specified transaction.

Locking granularities

TimesTen supports row-level locks, table-level locks and database-level locks:


Note:

Different connections can coexist with different levels of locking, but the presence of even one connection using database-level locking leads to reduced concurrency. For performance information, see "Choose the best method of locking".

  • Row-level locking: Transactions usually obtain locks on the individual rows that they access. Row-level locking is the recommended mode of operation because it provides the finest granularity of concurrency control. It allows concurrent transactions to update different rows of the same table. However, row-level locking requires space in the database's temporary partition to store lock information.

    Row-level locking is the default. However, if it has been modified to another type of locking and you want to re-enable row-level locking, do one of the following:

    • Set the LockLevel connection attribute to 0.

    • Execute the ttLockLevel built-in procedure with the lockLevel parameter set to Row. This procedure changes the lock level between row-level and database-level locking on the next transaction and for all subsequent transactions for this connection.

    • Execute the ttOptSetFlag procedure to set the RowLock parameter to 1, which enables the optimizer to consider using row locks.


    Note:

    See "LockLevel," "ttLockLevel," and "ttOptSetFlag" in the Oracle TimesTen In-Memory Database Reference for more information.

  • Table-level locking: Table-level locking is recommended when concurrent transactions access different tables or a transaction accesses most of the rows of a particular table. Table-level locking provides better concurrency than database-level locking. Row-level locking provides better concurrency than table-level locking. Table-level locking requires only a small amount of space in the temporary partition to store lock information.

    Table-level locking provides the best performance for the following:

    • Queries that access a significant number of rows of a table

    • When there are very few concurrent transactions that access a table

    • When temporary space is inadequate to contain all row locks that an operation, such as a large insert or a large delete, might acquire

    To enable table-level locking, execute the ttOptSetFlag procedure to set the TblLock parameter to 1, which enables the optimizer to consider using table locks. In addition, set RowLock to 0 so that the optimizer does not consider row-level locks.

    If both table-level and row-level locking are disabled, TimesTen defaults to row-level locking. If both table-level and row-level locking are enabled, TimesTen chooses the locking scheme that is more likely to have better performance. Even though table-level locking provides better performance than row-level locking because of reduced locking overhead, the optimizer will often choose row-level locking for better concurrency. For more information, see "ttOptSetFlag" in the Oracle TimesTen In-Memory Database Reference.


    Note:

    When multiple locks have been obtained within the same transaction, the locks are released sequentially when the transaction ends.

  • Database-level locking: Database-level locking serializes all transactions, which effectively allows no concurrency on the database. When a transaction is started, it acquires an exclusive lock on the database, which ensures that there is no more than one active transaction in the database at any given time. It releases the lock when the transaction is completed.

    Database-level locking often provides better performance than row-level locking, due to reduced locking overhead. In addition, it provides higher throughput than row-level locking when running a single stream of transactions such as a bulk load operation. However, its applicability is limited to applications that never execute multiple concurrent transactions. With database-level locking, every transaction effectively runs in ANSI Serializable isolation, since concurrent transactions are disallowed.

    To enable database-level locking, do one of the following:

    • Set the LockLevel connection attribute to 1.

    • Execute the ttLockLevel built-in procedure with the lockLevel parameter set to DS. This procedure changes the lock level between row-level and database-level locking on the next transaction and for all subsequent transactions for this connection.

Setting wait time for acquiring a lock

Set the LockWait connection attribute to the maximum amount of time that a statement waits to acquire a lock before it times out. The default is 10 seconds. For more information, see "LockWait" in Oracle TimesTen In-Memory Database Reference.

If a statement within a transaction waits for a lock and the lock wait interval has elapsed, an error is returned. After receiving the error, the application can reissue the statement.

Lock wait intervals are imprecise due to the scheduling of the database's managing subdaemon process to detect lock timeouts. This imprecision does not apply to zero-second timeouts, which are always immediately reported. The lock wait interval does not apply to blocking checkpoints.

The database's managing subdaemon process checks every two seconds to see if there is a deadlock in the database among concurrent transactions. If a deadlock occurs, an error is returned to one of the transactions involved in the deadlock cycle. The transaction that receives the error must rollback in order to allow the other transactions involved in the deadlock to proceed.

Checkpoint operations

A checkpoint operation saves the in-memory image of a database to disk files, known as checkpoint files. By default, TimesTen performs background checkpoints at regular intervals. Checkpointing may generate a large amount of I/O activity and have a long execution time depending on the size of the database and the number of database changes since the most recent checkpoint.


Note:

Applications can programmatically initiate checkpoint operations. See "Setting and managing checkpoints" for more details.

Temporary databases do not initiate checkpointing. See "Database persistence" for more information on temporary databases.


The following sections describe checkpoint operations and how you can manage them:

Purpose of checkpoints

A checkpoint operation has two primary purposes.

  • Decreases the amount of time required for database recovery, because it provides a more up-to-date database image on which recovery can begin.

  • Makes a portion of the transaction log unneeded for any future database recovery operation, typically allowing one or more transaction log files to be deleted.

Both of these functions are very important to TimesTen applications. The reduction in recovery time is important, as the amount of a transaction log needed to recover a database has a direct impact on the amount of downtime seen by an application after a system failure. The removal of unneeded transaction log files is important because it frees disk space that can be used for new transaction log files. In addition, the fewer transaction log files you have, the less time is required to load a database into memory. If these files were never removed, they would eventually consume all available space in the transaction log directory's file system, causing database operations to fail due to log space exhaustion.

Usage of checkpoint files

Each TimesTen database has two checkpoint files, named dsname.ds0 and dsname.ds1, where dsname is the database path name and file name prefix specified in the database DSN. During a checkpoint operation, TimesTen determines which checkpoint file contains the most recent consistent image and then writes the next in-memory image of the database to the other file. Thus, the two files contain the two most recent database images.

TimesTen uses the most recent consistent checkpoint file and the transaction log to recover the database to its most recent transaction-consistent state after a database shutdown or system failure. If any errors occur during this process, or if the more recent checkpoint image is incomplete, then recovery restarts using the other checkpoint file.

TimesTen also creates dsName.resn files for each database. These files are pre-allocated to the same size as the transaction log files. The .res files contain pre-allocated space that is used if the transaction log directory were to become full. If this occurs, transactions are prevented from writing any new log records. Transactions that attempt to write new log records are forced to rollback.

Types of checkpoints

TimesTen supports two types of database checkpoint operations:

Fuzzy or non-blocking checkpoints

Fuzzy checkpoints, or non-blocking checkpoints, allow transactions to execute against the database while the checkpoint is in progress. Fuzzy checkpoints do not obtain lo )õÖcks of any kind, and therefore have a minimal impact on other database activity. Because transactions may modify the database while a checkpoint operation is in progress, the resulting checkpoint file may contain both committed and uncommitted transactions. Furthermore, different portions of the checkpoint image may reflect different points in time. For example, one portion may have been written before a given transaction committed, while another portion was written afterward. The term "fuzzy checkpoint" derives its name from this fuzzy state of the database image.

To recover the database when the checkpoint files were generated from fuzzy checkpoint operations, TimesTen requires the most recent consistent checkpoint file and the transaction log to bring the database into its most recent transaction-consistent state.

Transaction-consistent checkpoints

Transaction-consistent checkpoints, also known as blocking checkpoints, obtain an exclusive lock on the database for a portion of the checkpoint operation, blocking all access to the database during that time. The resulting checkpoint image contains all committed transactions prior to the time the checkpoint operations acquired the exclusive lock on the database. Because no transactions can be active while the database lock is held, no modifications made by in-progress transactions are included in the checkpoint image.

TimesTen uses the most recent consistent checkpoint file to recover the database to transaction-consistent state at the time of the last successful checkpoint operation completed. It uses the transaction log files to recover the database to its most recent transaction-consistent state after a database shutdown or system failure.

To request a transaction-consistent checkpoint, an application uses the ttCkptBlocking built-in procedure. The actual checkpoint is delayed until the requesting transaction commits or rolls back. If a transaction-consistent checkpoint is requested for a database for which both checkpoint files are already up to date then the checkpoint request is ignored.

Setting and managing checkpoints

The default behavior for TimesTen checkpoints is as follows:

You can manage and monitor checkpoints with the following connection attributes and built-in procedures:

  • CkptFrequency attribute

  • CkptLogVolume attribute

  • CkptRate attribute

  • ttCkpt built-in procedure

  • ttCkptBlocking built-in procedure

  • ttCkptConfig built-in procedure

  • ttCkptHistory built-in procedure

The following sections describe how to manage checkpointing:

Programmatically performing a checkpoint

By default, TimesTen performs periodic fuzzy checkpoints in the background. Therefore, applications rarely need to issue manual checkpoints. However, if an application wishes to issue a manual checkpoint, it can call the ttCkpt built-in procedure to request a fuzzy checkpoint or the ttCkptBlocking built-in procedure to request a transaction-consistent checkpoint.

Configure or turn off background checkpointing

Using attributes or built-in procedures, you can configure TimesTen to checkpoint either when the transaction log files contain a certain amount of data or at a specific frequency.

To configure checkpointing in TimesTen, do the following:

Configure the CkptFrequency and CkptLogVolume connection attributes as follows:

  • The CkptFrequency connection attribute controls the how often, in seconds, that TimesTen performs a background checkpoint. The default is 600 seconds.

  • The CkptLogVolume connection attribute controls how much data, in megabytes, that collects in the log between background checkpoints. By increasing this amount, you can delay the frequency of the checkpoint. The default is 0.

To turn off background checkpointing, set both the CkptFrequency and CkptLogVolume connection attributes to 0.

Alternatively, you can configure background checkpointing or turn it off by executing the ttCkptConfig built-in procedure. The values set by ttCkptConfig take precedence over those set with the connection attributes.


Note:

For information on default values and usage, see the Oracle TimesTen In-Memory Database Reference.

Display checkpoint history and status

Use the ttCkptHistory built-in procedure to display the information on the last eight checkpoints. You can monitor the progress of a running checkpoint with the Percent_Complete column.

Setting the checkpoint rate

By default, there is no limit to the rate at which checkpoint data is written to disk. You can use the CkptRate attribute or the ttCkptConfig built-in procedure to set the maximum rate at which background checkpoint data is written to disk. Checkpoints taken during recovery and final checkpoints do not honor this rate; in those situations, the rate is unlimited.


Note:

See the Oracle TimesTen In-Memory Database Reference for details on using these features.

Setting a rate too low can cause checkpoints to take an excessive amount of time and cause the following problems:

  • Delay the purging of unneeded transaction log files

  • Delay the start of backup operations

  • Increase recovery time.

When choosing a rate, you should take into consideration the amount of data written by a typical checkpoint and the amount of time checkpoints usually take. Both of these pieces of information are available through the ttCkptHistory built-in procedure.

If a running checkpoint appears to be progressing too slowly when you evaluate the progress of this checkpoint with the Percent_Complete column of the ttCkptHistory result set, the rate can be increased by calling the ttCkptConfig built-in procedure. If a call to ttCkptConfig changes the rate, the new rate takes effect immediately, affecting even the running checkpoint.

Perform the following to calculate the checkpoint rate:

  1. Call the ttCkptHistory built-in procedure.

  2. For any given checkpoint, subtract the starttime from the endtime.

  3. Divide the number of bytes written by this elapsed time in seconds to get the number of bytes per second.

  4. Divide this number by 1024*1024 to get the number of megabytes per second.

When setting the checkpoint rate, you should consider the following:

  • The specified checkpoint rate is only approximate. The actual rate of the checkpoint may be below the specified rate, depending on the hardware, system load and other factors.

  • The above method may underestimate the actual checkpoint rate, because the starttime and endtime interval includes other checkpoint activities in addition to the writing of dirty blocks to the checkpoint file.

  • The Percent_Complete field of the ttCkptHistory call may show 100 percent before the checkpoint is actually complete. The Percent_Complete field shows only the progress of the writing of dirty blocks and does not include additional bookkeeping at the end of the checkpoint.

  • When adjusting the checkpoint rate, you may also need to adjust the checkpoint frequency, as a slower rate makes checkpoints take longer, which effectively increases the minimum time between checkpoint beginnings.

PKb!oý) )PK\8–A OEBPS/toc.ncxV ©ò Oracle® TimesTen In-Memory Database Operations Guide, 11g Release 2 (11.2.2) Cover Table of Contents Oracle TimesTen In-Memory Database Operations Guide, 11g Release 2 (11.2.2) Preface What's New Managing TimesTen Databases Working with the TimesTen Client and Server Working with the Oracle TimesTen Data Manager Daemon Managing Access Control Globalization Support Using the ttIsql Utility Working with Data in a TimesTen Database Transaction Management and Recovery TimesTen Database Performance Tuning The TimesTen Query Optimizer Glossary Index Copyright PKxºª°[ V PK\8–AOEBPS/comp.htm€ÿ Working with Data in a TimesTen Database

7 Working with Data in a TimesTen Database

This chapter provides detailed information on the basic components in a TimesTen database and simple examples of how you can use SQL to manage these components. For more information about SQL, see the Oracle TimesTen In-Memory Database SQL Reference.

For information on how to execute SQL from within an application, see the appropriate TimesTen developer's guide.

This chapter includes the following topics:

Database overview

The following sections describe the main TimesTen database elements and features:

Database components

A TimesTen database has the following permanent components:

  • Tables. The primary components of a TimesTen database are the tables that contain the application data. See "Understanding tables".

  • Materialized Views. Read-only tables that hold a summary of data selected from one or more "regular" TimesTen tables. See "Understanding materialized views".

  • Views. Logical tables that are based on one or more tables called detail tables. A view itself contains no data. See "Understanding views".

  • Indexes. Indexes on one or more columns of a table may be created for faster access to tables. See "Understanding indexes".

  • Rows. Every table consists of 0 or more rows. A row is a formatted list of values. See "Understanding rows".

  • System tables. System tables contain TimesTen metadata, such as a table of all tables. See "System Tables" in the Oracle TimesTen In-Memory Database System Tables and Views Reference.

There are also many temporary components, including prepared commands, cursors and locks.

Database users and owners

When access control is enabled, the TimesTen Data Manager authenticates user names with passwords. TimesTen Client/Server also authenticates users with passwords. Applications should choose one UID for the application itself because by default the login name that is being used to run the application becomes the owner of the database. If two different logins are used, TimesTen may have difficulty finding the correct tables. If you omit the UID connection attribute in the connection string, TimesTen uses the current user's login name. TimesTen converts all user names to upper case characters.

Users cannot access TimesTen databases as user SYS. TimesTen determines the user name by the value of the UID connection attribute, or if not present, then by the login name of the connected user. If a user's login is SYS, set the UID connection to override the login name.

Database persistence

When a database is created, it has either the permanent or temporary attribute set:


Note:

You cannot change the permanent or temporary attribute on a database after it is created.

  • Permanent databases are stored to disk automatically through a procedure called checkpointing. TimesTen automatically performs background checkpoints based on the settings of the connection attributes CkptFrequency and CkptLogVolume. TimesTen also checkpoints the database when the last application disconnects. Applications can also checkpoint a database directly to disk by invoking the ttCkptBlocking built-in procedures described in the Oracle TimesTen In-Memory Database Reference.

  • Temporary databases are not stored to disk. A temporary database is automatically destroyed when no applications are connected to it; that is, when the last connection disconnects or when there is a system or application failure. TimesTen removes all disk-based files when the last application disconnects.

    A temporary database cannot be backed up or replicated. Temporary databases are never fully checkpointed to disk, although Checkpoint operations can have significant overhead for permanent databases, depending on database size and activity, but have very little impact for temporary databases. Checkpoints are still necessary to remove transaction log files.

    However, temporary databases do have a transaction log, which is periodically written to disk, so transactions can be rolled back. The amount of data written to the transaction log for temporary databases is less than that written for permanent databases, allowing better performance for temporary databases. Recovery is never performed for temporary databases.

    You can increase your performance with temporary databases. If you do not need to save the database to disk, you can save checkpoint overhead by creating a temporary database.

    Details for setting up a temporary database are described in "Setting up a temporary database".

Understanding tables

A TimesTen table consists of rows that have a common format or structure. This format is described by the table's columns.

The following sections describes tables, its columns and how to manage them:

Overview of tables

This section includes the following topics:

Column overview

When you create the columns in the table, the column names are case-insensitive.

Each column has the following:

  • A data type

  • Optional nullability, primary key and foreign key properties

  • An optional default value

Unless you explicitly declare a column NOT NULL, columns are nullable. If a column in a table is nullable, it can contain a NULL value. Otherwise, each row in the table must have a non-NULL value in that column.

The format of TimesTen columns cannot be altered. It is possible to add or remove columns but not to change column definitions. To add or remove columns, use the ALTER TABLE statement. To change column definitions, an application must first drop the table and then recreate it with the new definitions.

In-line and out-of-line columns

The in-memory layout of the rows of a table is designed to provide fast access to rows while minimizing wasted space. TimesTen designates each VARBINARY, NVARCHAR2 and VARCHAR2 column of a table as either in-line or not inline.

  • An in-line column has a fixed length. All values of fixed-length columns of a table are stored row wise.

  • A not inline column (also referred to as an out-of-line column) has a varying length. Some VARCHAR2, NVARCHAR2 or VARBINARY data type columns are stored out-of-line. Out-of-line columns are not stored contiguously with the row but are allocated. Accessing out-of-line columns is slightly slower than accessing in-line columns. By default, VARCHAR2, NVARCHAR2 and VARBINARY columns whose declared column length is > 128 bytes are stored out-of-line. In addition, all LOB data types are stored out-of-line. Columns whose declared column length is <= 128 bytes are stored in-line.

The maximum sizes of in-line and out-of-line portions of a row are listed in "Using the ttIsql tablesize command".

Default column values

When you create a table, you can specify default values for the columns. The default value you specify must be compatible with the data type of the column. You can specify one of the following default values for a column:

  • NULL for any column type

  • A constant value

  • SYSDATE for DATE and TIMESTAMP columns

  • USER for CHAR columns

  • CURRENT_USER for CHAR columns

  • SYSTEM_USER for CHAR columns

If you use the DEFAULT clause of the CREATE TABLE statement but do not specify the default value, the default value is NULL. See "Column Definition" in the Oracle TimesTen In-Memory Database SQL Reference.

Table names

A TimesTen table is identified uniquely by its owner name and table name. Every table has an owner. By default, the owner is the user who created the table. Tables created by TimesTen, such as system tables, have the owner name SYS, or TTREP if created during replication.

To uniquely refer to a table, specify both its owner and name separated by a period ("."), such as MARY.PAYROLL. If an application does not specify an owner, TimesTen looks for the table under the user name of the caller, then under the user name SYS.

A name is an alphanumeric value that begins with a letter. A name can include underscores. The maximum length of a table name is 30 characters. The maximum length of an owner name is also 30 characters. TimesTen displays all table, column and owner names to upper case characters. See "Names, Namespace and Parameters" in the Oracle TimesTen In-Memory Database SQL Reference for additional information.

Table access

Applications access tables through SQL statements. The TimesTen query optimizer automatically chooses a fast way to access tables. It uses existing indexes or, if necessary, creates temporary indexes to speed up access. For improved performance, applications should explicitly create indexes for frequently searched columns because the automatic creation and destruction of temporary indexes incurs a performance overhead. For more details, see "Tune statements and use indexes".

Primary keys, foreign keys and unique indexes

The creator of a TimesTen table can designate one or more columns as a primary key to indicate that duplicate values for that set of columns should be rejected. Primary key columns cannot be nullable. A table can have at most one primary key. TimesTen automatically creates a range index on the primary key to enforce uniqueness on the primary key and to guarantee fast access through the primary key. Once a row is inserted, its primary key columns cannot be modified, except to change a range index to a hash index.


Note:

Indexes are discussed in "Understanding indexes".

Although a table may have only one primary key, additional uniqueness properties may be added to the table using unique indexes. See "CREATE INDEX" in the Oracle TimesTen In-Memory Database SQL Reference for more information.


Note:

Columns of a primary key cannot be nullable; a unique index can be built on nullable columns.

A table may also have one or more foreign keys through which rows correspond to rows in another table. Foreign keys relate to a primary key or uniquely indexed columns in the other table. Foreign keys use a range index on the referencing columns. See "CREATE TABLE" in the Oracle TimesTen In-Memory Database SQL Reference for more information.

System tables

In addition to tables created by applications, a TimesTen database contains system tables. System tables contain TimesTen metadata such as descriptions of all tables and indexes in the database, as well as other information such as optimizer plans. Applications may query system tables just as they query user tables. Applications may not update system tables. TimesTen system tables are described in the "System Tables" chapter in the Oracle TimesTen In-Memory Database System Tables and Views Reference.


Note:

TimesTen system table formats may change between releases and are different between the 32- and 64-bit versions of TimesTen.

Working with tables

To perform any operation that creates, drops or manages a table, the user must have the appropriate privileges, which are described along with the syntax for all SQL statements in the "SQL Statements" chapter in the Oracle TimesTen In-Memory Database SQL Reference.

This section includes the following topics:

Creating a table

To create a table, use the SQL statement CREATE TABLE. The syntax for all SQL statements is provided in the Oracle TimesTen In-Memory Database SQL Reference. TimesTen converts table names to upper case characters.

Example 7-1 Create a table

The following SQL statement creates a table, called NameID, with two columns: CustId and CustName of two different data types.

CREATE TABLE NameID (CustId TT_INTEGER, CustName VARCHAR2(50));

Example 7-2 Create a table with a hash index

This example creates a table, called Customer, with the columns: CustId, CustName, Addr, Zip, and Region. The CustId column is designated as the primary key, so that the CustId value in a row uniquely identifies that row in the table, as described in "Primary keys, foreign keys and unique indexes". The UNIQUE HASH ON custId PAGES value indicates that there are 30 pages in the hash index. This number is used to determine the number of buckets that are to be allocated for the table's hash index. Bucket count = (PAGES * 256) / 20. Therefore the number of buckets allocated for the hash index is 384: (30 * 256) / 20 = 384

CREATE TABLE Customer
(custId NUMBER NOT NULL PRIMARY KEY,
custName CHAR(100) NOT NULL,
Addr CHAR(100),
Zip NUMBER,
Region CHAR(10))
UNIQUE HASH ON (custId) PAGES = 30;

Dropping a table

To drop a TimesTen table, call the SQL statement DROP TABLE.

Example 7-3 Drop a table

The following example drops the table NameID.

DROP TABLE NameID;

Estimating table size

Increasing the size of a TimesTen database can be done on first connect. To avoid having to increase the size of a database, it is important not to underestimate the eventual database size. Use the utility ttSize to estimate database size.

You can also calculate the size of an existing table with the ttIsql tablesize command. For more information, see "Using the ttIsql tablesize command".

Implementing aging in your tables

You can define an aging policy for one or more tables in your database. An aging policy refers to the type of aging and the aging attributes, as well as the aging state (ON or OFF). You can specify one of the following types of aging policies: usage-based or time-based. Usage-based aging removes least recently used (LRU) data within a specified database usage range. Time-based aging removes data based on the specified data lifetime and frequency of the aging process. You can define both usage-based aging and time-based aging in the same database, but you can define only one type of aging on a specific table.

You can define an aging policy for a new table with the CREATE TABLE statement. You can add an aging policy to an existing table with the ALTER TABLE statement if the table does not already have an aging policy defined. You can change the aging policy by dropping aging and adding a new aging policy.

You cannot specify aging on the following types of tables:

  • Global temporary tables

  • Detail tables for materialized views

You can also implement aging in cache groups. See "Implementing aging in a cache group" in the Oracle In-Memory Database Cache User's Guide.

This section includes the following topics:

Usage-based aging

Usage-based aging enables you to maintain the amount of memory used in a database within a specified threshold by removing the least recently used (LRU) data.

Define LRU aging for a new table by using the AGING LRU clause of the CREATE TABLE statement. Aging begins automatically if the aging state is ON.

Use the ttAgingLRUConfig built-in procedure to specify the LRU aging attributes. The attribute values apply to all tables in the database that have an LRU aging policy. If you do not call the ttAgingLRUConfig built-in procedure, then the default values for the attributes are used.


Note:

The ttAgingLRUConfig built-in procedure requires that the user have ADMIN privilege if you want to modify any attributes. You do not need any privileges for viewing existing attributes. For more information, see "Built-In Procedures" in the Oracle TimesTen In-Memory Database Reference.

The following table summarizes the LRU aging attributes:

LRU Aging AttributeDescription
LowUsageThreshholdThe percent of the database PermSize at which LRU aging is deactivated.
HighUsageThreshholdThe percent of the database PermSize at which LRU aging is activated.
AgingCycleThe number of minutes between aging cycles.

If you set a new value for AgingCycle after an LRU aging policy has already been defined, aging occurs based on the current time and the new cycle time. For example, if the original aging cycle is 15 minutes and LRU aging occurred 10 minutes ago, aging is expected to occur again in 5 minutes. However, if you change the AgingCycle parameter to 30 minutes, then aging occurs 30 minutes from the time you call the ttAgingLRUConfig procedure with the new value for AgingCycle.

If a row has been accessed or referenced since the last aging cycle, it is not eligible for LRU aging. A row is considered to be accessed or referenced if one of the following is true:

  • The row is used to build the result set of a SELECT statement.

  • The row has been flagged to be updated or deleted.

  • The row is used to build the result set of an INSERT SELECT statement.

You can use the ALTER TABLE statement to perform the following tasks:

  • Enable or disable the aging state on a table that has an aging policy defined by using the ALTER TABLE statement with the SET AGING {ON|OFF} clause.

  • Add an LRU aging policy to an existing table by using the ALTER TABLE statement with the ADD AGING LRU [ON|OFF] clause.

  • Drop aging on a table by using the ALTER TABLE statement with the DROP AGING clause.

Use the ttAgingScheduleNow built-in procedure to schedule when aging starts. For more information, see "Scheduling when aging starts".

To change aging from LRU to time-based on a table, first drop aging on the table by using the ALTER TABLE statement with the DROP AGING clause. Then add time-based aging by using the ALTER TABLE statement with the ADD AGING USE clause.


Note:

When you drop LRU aging or add LRU aging to tables that are referenced in commands, TimesTen marks the compiled commands invalid. The commands need to be recompiled.

Time-based aging

Time-based aging removes data from a table based on the specified data lifetime and frequency of the aging process. Specify a time-based aging policy for a new table with the AGING USE clause of the CREATE TABLE statement. Add a time-based aging policy to an existing table with the ADD AGING USE clause of the ALTER TABLE statement.

The AGING USE clause has a ColumnName argument.ColumnName is the name of the column that is used for time-based aging. For brevity, we will call it the timestamp column. The timestamp column must be defined as follows:

  • ORA_TIMESTAMP, TT_TIMESTAMP, ORA_DATE or TT_DATE data type

  • NOT NULL

Your application updates the values of the timestamp column. If the value of this column is unknown for some rows and you do not want the rows to be aged, then define the column with a large default value. You can create an index on the timestamp column for better performance of the aging process.


Note:

You cannot add or modify a column in an existing table and then use that column as a timestamp column because you cannot add or modify a column and define it to be NOT NULL.

You cannot drop the timestamp column from a table that has a time-based aging policy.

If the data type of the timestamp column is ORA_TIMESTAMP, TT_TIMESTAMP, or ORA_DATE, you can specify the lifetime in days, hours, or minutes in the LIFETIME clause of the CREATE TABLE statement. If the data type of the timestamp column is TT_DATE, specify the lifetime in days.

The value in the timestamp column is subtracted from SYSDATE. The result is truncated the result using the specified unit (minute, hour, day) and compared with the specified LIFETIME value. If the result is greater than the LIFETIME value, then the row is a candidate for aging.

Use the CYCLE clause to indicate how often the system should examine the rows to remove data that has exceeded the specified lifetime. If you do not specify CYCLE, aging occurs every five minutes. If you specify 0 for the cycle, then aging is continuous. Aging begins automatically if the state is ON.

Use the ALTER TABLE statement to perform the following tasks:

  • Enable or disable the aging state on a table with a time-based aging policy by using the SET AGING {ON|OFF} clause.

  • Change the aging cycle on a table with a time-based aging policy by using the SET AGING CYCLE clause.

  • Change the lifetime by using the SET AGING LIFETIME clause.

  • Add time-based aging to an existing table with no aging policy by using the ADD AGING USE clause.

  • Drop aging on a table by using the DROP AGING clause.

Use the ttAgingScheduleNow built-in procedure to schedule when aging starts. For more information, see "Scheduling when aging starts"

To change the aging policy from time-based aging to LRU aging on a table, first drop time-based aging on the table. Then add LRU aging by using the ALTER TABLE statement with the ADD AGING LRU clause.

Aging and foreign keys

Tables that are related by foreign keys must have the same aging policy.

If LRU aging is in effect and a row in a child table has been recently accessed, then neither the parent row nor the child row will be deleted.

If time-based aging is in effect and a row in a parent table is a candidate for aging out, then the parent row and all of its children will be deleted.

If a table has ON DELETE CASCADE enabled, the setting is ignored.

Scheduling when aging starts

Use the ttAgingScheduleNow built-in procedure to schedule the aging process. The aging process starts as soon as you call the procedure unless there is already an aging process in progress, in which case it will begin when that aging process has completed.

When you call ttAgingScheduleNow, the aging process starts regardless of whether the state is ON or OFF.

The aging process starts only once as a result of calling ttAgingScheduleNow does not change the aging state. If the aging state is OFF when you call ttAgingScheduleNow, then the aging process starts, but it does not continue after the process is complete. To continue aging, you must call ttAgingScheduleNow again or change the aging state to ON.

If the aging state is already set to ON, then ttAgingScheduleNow resets the aging cycle based on the time ttAgingScheduleNow was called.

You can control aging externally by disabling aging by using the ALTER TABLE statement with the SET AGING OFF clause. Then use ttAgingScheduleNow to start aging at the desired time.

Use ttAgingScheduleNow to start or reset aging for an individual table by specifying its name when you call the procedure. If you do not specify a table name, then ttAgingScheduleNow will start or reset aging on all of the tables in the database that have aging defined.

Aging and replication

For active standby pairs, implement aging on the active master database. Deletes that occur as a result of aging will be replicated to the standby master database and the read-only subscribers. If a failover to the standby master database occurs, aging is enabled on the database after its role changes to ACTIVE.

For all other types of replication schemes, implement aging separately on each node. The aging policy must be the same on all nodes.

If you implement LRU aging on a multimaster replication scheme used as a hot standby, LRU aging may provide unintended results. After a failover, you may not have all of the desired data because aging occurs locally.

Understanding views

A view is a logical table that is based on one or more tables. The view itself contains no data. It is sometimes called a non-materialized view to distinguish it from a materialized view, which does contain data that has already been calculated from detail tables. Views cannot be updated directly, but changes to the data in the detail tables are immediately reflected in the view.

To choose whether to create a view or a materialized view, consider where the cost of calculation lies. For a materialized view, the cost falls on the users who update the detail tables because calculations must be made to update the data in the materialized views. For a nonmaterialized view, the cost falls on a connection that queries the view, because the calculations must be made at the time of the query.

To perform any operation that creates, drops or manages a view, the user must have the appropriate privileges, which are described along with the syntax for all SQL statements in the "SQL Statements" chapter in the Oracle TimesTen In-Memory Database SQL Reference.

This section includes the following topics:

Creating a view

To create a view, use the CREATE VIEW SQL statement. The syntax for all SQL statements is provided in the "SQL Statements" chapter in the Oracle TimesTen In-Memory Database SQL Reference.

CREATE VIEW ViewName AS SelectQuery;

This selects columns from the detail tables to be used in the view.

For example, create a view from the table t1:

CREATE VIEW v1 AS SELECT * FROM t1;

Now create a view from an aggregate query on the table t1:

CREATE VIEW v1 (max1) AS SELECT max(x1) FROM t1;

The SELECT query in the CREATE VIEW statement

The SELECT query used to define the contents of a materialized view is similar to the top-level SQL SELECT statement described in "SQL Statements" in the Oracle TimesTen In-Memory Database SQL Reference, with the following restrictions:

  • A SELECT * query in a view definition is expanded at view creation time. Any columns added after a view is created do not affect the view.

  • The following cannot be used in a SELECT statement that is creating a view:

  • DISTINCT

  • FIRST

  • ORDER BY

  • Arguments

  • Temporary tables

  • Each expression in the select list must have a unique name. A name of a simple column expression would be that column's name unless a column alias is defined. RowId is considered an expression and needs an alias.

  • No SELECT FOR UPDATE or SELECT FOR INSERT statements can be used on a view.

  • Certain TimesTen query restrictions are not checked when a non-materialized view is created. Views that violate those restrictions may be allowed to be created, but an error is returned when the view is referenced later in an executed statement.

Dropping a view

The DROP VIEW statement deletes the specified view.

The following statement drops the CustOrder view:

DROP VIEW CustOrder;

Restrictions on views and detail tables

Views have the following restrictions:

  • When a view is referenced in the FROM clause of a SELECT statement, its name is replaced by its definition as a derived table at parsing time. If it is not possible to merge all clauses of a view to the same clause in the original select to form a legal query without the derived table, the content of this derived table is materialized. For example, if both the view and the referencing select specify aggregates, the view is materialized before its result can be joined with other tables of the select.

  • A view cannot be dropped with a DROP TABLE statement. You must use the DROP VIEW statement.

  • A view cannot be altered with an ALTER TABLE statement.

  • Referencing a view can fail due to dropped or altered detail tables.

Understanding materialized views

The following sections describes materialized views and how to manage them:

Overview of materialized views

A materialized view is a read-only table that maintains a summary of data selected from one or more regular TimesTen tables. The TimesTen tables queried to make up the result set for the materialized view are called detail tables.


Note:

Materialized views are not supported on cache tables.

Figure 7-1 shows a materialized view created from detail tables. An application updates the detail tables and can select data from the materialized view.

Figure 7-1 Materialized view

Description of Figure 7-1 follows
Description of "Figure 7-1 Materialized view"

There are two types of materialized views based upon how the result set for the materialized view is updated.

In addition, learn when to use each type of materialized views in the section: "When to use synchronous or asynchronous materialized views".

Synchronous materialized view

The synchronous materialized view, by default, updates the result set data from the detail tables at the time of the detail table transaction. Every time data is updated in the detail tables, the result set is updated. Thus, the synchronous materialized view is never out of sync with the detail tables. However, this can affect your performance. A single transaction, the user transaction, executes the updates for both the detail table and any synchronous materialized views.

Asynchronous materialized view

The materialized view is populated and it is in sync with the detail tables at creation. When the detail tables are updated, the asynchronous materialized views are not updated immediately. At any moment, they can be out of sync with the corresponding detail tables. The asynchronous materialized view defers updates to the result set as a trade-off for performance. You decide when and how the result set is refreshed either manually by the user or automatically within a pre-configured interval. The asynchronous materialized view is always refreshed in its own transaction, not within the user transaction that updates the detail tables. Thus, the user transaction is not blocked by any updates for the asynchronous materialized view.

The asynchronous refresh may use either of the following refresh method configurations:

  • FAST, which updates only the incremental changes since the last update.

  • COMPLETE, which provides a full refresh.

To facilitate a FAST refresh, you must create a materialized view log to manage the deferred incremental transactions for each detail table used by the asynchronous materialized view. Each detail table requires only one materialized view log for managing all deferred transactions, even if it is included in more than one FAST asynchronous materialized view.

The detail table cannot be dropped if there is an associated materialized view or materialized view log.


Note:

When you use XLA in conjunction with asynchronous materialized views, you cannot depend on the ordering of the DDL statements. In general, there are no operational differences between the XLA mechanisms used to track changes to a table or a materialized view. However, for asynchronous materialized views, be aware that the order of XLA notifications for an asynchronous view is not necessarily the same as it would be for the associated detail tables, or the same as it would be for asynchronous view. For example, if there are two inserts to a detail table, they may be done in the opposite order in the asynchronous materialized view. Furthermore, updates may be treated as a delete followed by an insert, and multiple operations, such as multiple inserts or multiple deletes, may be combined. Applications that depend on ordering should not use asynchronous materialized views.

When to use synchronous or asynchronous materialized views

The following sections provide guidelines on when to use synchronous or asynchronous materialized views:

Joins and aggregate functions turn into super locks

If a synchronous materialized view has joins or uses aggregate functions, there is a super lock effect. For example, if you have a single table with a synchronous materialized view that aggregates on average 1000 rows into 1. When you update a row in the detail table of the synchronous materialized view, you lock that row for the remainder of the transaction. Any other transaction that attempts to update that row blocks and waits until the transaction commits.

But since there is a synchronous materialized view on that table, the materialized view is also updated. The single row in the materialized view is locked and updated to reflect the change. However, there are 999 other rows from the base table that also aggregate to that same materialized view row. These 999 other base table rows are also effectively locked because if you try to update any of them, you will block and wait while retrieving the lock on the materialized view row. This is referred to as a super lock.

The same effect occurs across joins. If you have a synchronous materialized view that joins five tables and you update a row in any one of the five tables, you will have a super lock on all the rows in the other four tables that join to the one that you updated.

Obviously, the combination of joins and aggregate functions compound the problem for synchronous materialized views. However, asynchronous materialized views with COMPLETE refresh diminish the super lock because the locks on the asynchronous materialized view rows with COMPLETE refresh are only held during the refresh process. The super locks with synchronous materialized views will be held until the updating transaction commits. Thus, if you have short transactions, then super locks on synchronous materialized view are not a problem. However, if you have long transactions, use asynchronous materialized views with COMPLETE refresh that minimize the effect of any super lock.

Freshness of the materialized view

Synchronous materialized views are always fresh and they always return the latest data. Asynchronous materialized views can become stale after an update until refreshed. If you must have the most current data all the time, use synchronous materialized views. However, you may consider using asynchronous if your application does not need the most current data.

For example, you may execute a series of analytical queries each with variations. In this case, you can use an asynchronous materialized view to isolate the differences that result from the query variations from the differences that result from newly arrived or updated data.

Overhead cost

An asynchronous materialized view is not updated in the user transaction, which updates the detail tables. The refresh of an asynchronous materialized view is always performed in an independent transaction. This means that the user is free to execute any other transaction. By comparison, for synchronous materialized views, a single transaction executes the updates for both the detail table and any synchronous materialized views, which does affect your performance.

While the asynchronous materialized view logs for asynchronous materialized views with FAST refresh incur overhead, it is generally less overhead than the cost of updating a synchronous materialized view. This is especially true even if the asynchronous materialized view is complicated with joins. For asynchronous materialized views with COMPLETE refresh, there is no overhead at the time of updating the detail table.

You can defer asynchronous materialized view maintenance cost. The asynchronous materialized view log costs less than the incremental maintenance of the synchronous materialized view because the asynchronous materialized view logs perform simple inserts, whereas synchronous materialized view maintenance has to compute the delta for the materialized view and joins and then apply results in an update operation. Updates are more expensive than inserts. The cost difference reduces if the synchronous materialized view is simple in structure.

Working with materialized views

This section includes the following topics:

Creating a materialized view

To create a materialized view, use the SQL statement CREATE MATERIALIZED VIEW.


Note:

In order to create a materialized view, the user must have the appropriate privileges, which are described along with the syntax for all SQL statements in the "SQL Statements" chapter in the Oracle TimesTen In-Memory Database SQL Reference.

If the owner has these privileges revoked for any of the detail tables on which the materialized view is created, the materialized view becomes invalid. See "Object privileges for materialized views" for details.


When creating a materialized view, you can establish primary keys and the size of the hash table in the same manner as described for tables in "Primary keys, foreign keys and unique indexes".

The materialized view examples are based on the following two tables:

CREATE TABLE customer(custId int not null,
  custName char(100) not null,
  Addr char(100),
  Zip int,
  Region char(10),
  PRIMARY KEY (custId));

CREATE TABLE bookOrder(orderId int not null,
  custId int not null,
  book char(100),
  PRIMARY KEY (orderId),
  FOREIGN KEY (custId) REFERENCES Customer(custId));

The following sections provide details and examples for creating materialized views:

Creating a synchronous materialized view

A synchronous materialized view is automatically updated each time the detail tables are updated. You can create a synchronous materialized view with the CREATE MATERIALIZED VIEW statement.

The following creates a synchronous materialized view, named SampleMV, that generates a result set from selected columns in the customer and bookOrder detail tables described above.

CREATE MATERIALIZED VIEW SampleMV AS
 SELECT customer.custId, custName, orderId, book
 FROM customer, bookOrder
 WHERE customer.custId=bookOrder.custId;
Creating an asynchronous materialized view

An asynchronous materialized view is updated as specified by the refresh method and refresh interval, which are configured during the creation of the materialized view.

When you create an asynchronous materialized view, you specify the REFRESH clause with at least one of the following:

  • Refresh method: For the asynchronous materialized view, specify either FAST or COMPLETE for the refresh method. FAST denotes an incremental refresh. COMPLETE indicates a full refresh. If the refresh method is omitted, then COMPLETE is the default refresh method. If you specify FAST, you must create the asynchronous materialized view log for each detail table associated with the materialized view.


    Note:

    Aggregate functions and outer joins are not supported in a FAST refresh.

  • Refresh interval:

    • Manual update: If the refresh interval is not specified, the interval defaults to manual update. You can manually refresh the view by using the REFRESH MATERIALIZED VIEW statement, which is described at the end of this section.

    • Specify refresh after every commit: When you specify NEXT SYSDATE without specifying NUMTODSINTERVL(), the refresh is performed after every commit of any user transaction that updates the detail tables. This refresh is always performed in a separate transaction. The user transaction does not wait for the refresh to complete. The option to refresh at every commit is only supported for the fast refresh method.

    • Specify interval: The asynchronous materialized view is updated at a specified interval when you use the NEXT SYSDATE + NUMTODSINTERVAL(IntegerLiteral,IntervalUnit) clause. This option is supported for both FAST and COMPLETE refresh methods.

      This clause specifies that the materialized view will be refreshed at the specified interval. IntegerLiteral must be an integer. IntervalUnit must be one of the following values: 'DAY', 'HOUR', 'MINUTE', or 'SECOND'.

      The last refresh time is saved in order to determine the next refresh time. Refresh is skipped if there are no changes to the any of the detail tables of the asynchronous materialized view since the last refresh. If you want to modify a configured refresh interval, you must drop and recreate the asynchronous materialized view.

If you use the FAST refresh method, the deferred transactions are saved in a materialized view log. Thus, before you create an asynchronous materialized view, you must create a materialized view log for each detail table included in the asynchronous materialized view that uses FAST refresh. Each detail table can have only one materialized view log even if they are used by more than one asynchronous materialized view with FAST refresh. All columns referenced in an asynchronous materialized view must be included in the corresponding asynchronous materialized view log. If there is more than one asynchronous materialized view with FAST refresh created on a detail table, make sure to include all columns that are used in the different asynchronous materialized views created for that detail table in its asynchronous materialized view log.

The following example creates an asynchronous materialized view that uses FAST refresh, where the deferred transactions are updated every hour after creation. First, create the materialized view log for each detail table, customer and bookOrder. The following statements create the materialized log views for customer and bookOrder to track the deferred transactions for the FAST refresh. The materialized view log for customer tracks the primary key and the customer name as follows:

CREATE MATERIALIZED VIEW LOG ON customer WITH PRIMARY KEY (custName);

Note:

In the CREATE MATERIALIZED VIEW LOG syntax, the primary key is included if you specify WITH PRIMARY KEY or do not mention either PRIMARY KEY or ROWID. All non-primary key columns that you want included in the materialized view log must be specified in the parenthetical column list.

The materialized view log for the bookorder table tracks the primary key of orderId and columns custId, and book.

CREATE MATERIALIZED VIEW LOG ON bookOrder WITH (custId, book);

Once you create the materialized view log for both the customer and bookOrder detail tables, you can create an asynchronous materialized view. The asynchronous materialized view must include either the ROWID or primary key columns for all the detail tables.

The €ÿfollowing example creates an asynchronous materialized view named SampleAMV that generates a result set from selected columns in the customer and bookOrder detail tables. The statement specifies a FAST refresh to update the deferred transactions every hour from the moment of creation.

CREATE MATERIALIZED VIEW SampleAMV 
 REFRESH 
     FAST 
     NEXT SYSDATE + NUMTODSINTERVAL(1, 'HOUR')
 AS SELECT customer.custId, custName, orderId, book
 FROM customer, bookOrder
 WHERE customer.custId=bookOrder.custId;

If you want to manually refresh the materialized view, execute the REFRESH MATERIALIZED VIEW statement. You can manually refresh the materialized view at any time, even if a REFRESH interval is specified. For example, if there were multiple updates to the detail tables, you can manually refresh the SampleAMV materialized view as follows:

REFRESH MATERIALIZED VIEW SampleAMV;
The SELECT query in the CREATE MATERIALIZED VIEW statement

The SELECT query used to define the contents of a materialized view is similar to the top-level SQL SELECT statement described in "SQL Statements" in the Oracle TimesTen In-Memory Database SQL Reference with some restrictions, which are described in "CREATE MATERIALIZED VIEW" in the Oracle TimesTen In-Memory Database SQL Reference.

Dropping a materialized view or a materialized view log

To drop any materialized view, execute the DROP VIEW statement.

The following statement drops the sampleMV materialized view.

DROP VIEW sampleMV;

When there are no asynchronous materialized views referencing a table, the materialized view log on that table can be dropped. For example, if you have dropped the materialized view sampleAMV, then the following statements drop the associated materialized view logs.

DROP MATERIALIZED VIEW LOG ON customer;
DROP MATERIALIZED VIEW LOG ON bookOrder;

The syntax for all SQL statements is provided in the "SQL Statements" chapter in the Oracle TimesTen In-Memory Database SQL Reference.

Identifying the table associated with a materialized view log

Materialized view logs are represented in the TimesTen system tables as a table named MVLOG$_detailTableId, where detailTableId is the table id of the table on which it was created. The table id and table name are both recorded in SYS.TABLES. For example, if the materialized view log filename is MVLOG$_507244, then you can retrieve the table name from SYS.TABLES where the table id is 507244 as follows:

select tblname from sys.tables where tblid = 507244;
< T1 >
1 row found.

Restrictions on materialized views and detail tables

A materialized view is a read-only table that cannot be updated directly. This means a materialized view cannot be updated by an INSERT, DELETE, or UPDATE statement by replication, XLA, or the cache agent.

For example, any attempt to update a row in a materialized view generates the following error:

805: Update view table directly has not been implemented

Readers familiar with other implementations of materialized views should note the following characteristics of TimesTen views:

  • Detail tables can be replicated, but materialized views cannot.

  • Neither a materialized view nor its detail tables can be part of a cache group.

  • No referential indexes can be defined on the materialized view.

  • To drop a materialized view must use the DROP VIEW statement.

  • You cannot alter a materialized view. You must use the DROP VIEW statement and then create a new materialized view with a CREATE MATERIALIZED VIEW statement.

  • Materialized views must be explicitly created by the application. The TimesTen query optimizer has no facility to automatically create materialized views.

  • The TimesTen query optimizer does not rewrite queries on the detail tables to reference materialized views. Application queries must directly reference views, if they are to be used.

  • There are some restrictions to the SQL used to create materialized views. See "CREATE MATERIALIZED VIEW" in the Oracle TimesTen In-Memory Database SQL Reference for details.

Performance implications of materialized views

The following sections describes performance implications for each type of materialized view:

Managing performance for asynchronous materialized views

For managing performance, you can defer the refresh of the materialized view until an optimal time. Rows in the materialized view logs, detail table and materialized view may be locked during the refresh. If these locks interfere with the user transaction updating the detail tables, then the user can adjust the refresh interval. If performance is the highest priority and the asynchronous materialized view can be out of sync with the detail tables, set the refresh interval to execute when the system load is low.

  • FAST refresh incrementally updates the materialized view based on the changes captured in the materialized view log. The time for this refresh depends on the number of modifications captured in the materialized view log and the complexities of the SELECT statement used in the CREATE MATERIALIZED VIEW statement. After every refresh, the processed rows in the materialized view log are deleted.

    Update table statistics on the detail table, materialized view log tables and the materialized view at periodic intervals to improve the refresh performance. If the view involves joins, update table statistics before inserting any row in any of the detail tables. Table statistics can be updated using one of two built-in procedures for computing statistics: ttOptUpdateStats and ttOptEstimateStats.


    Note:

    For more details on updating table statistics and when it is appropriate to update statistics, see "Compute exact or estimated statistics".

  • A complete refresh is similar to the initial loading of the materialized view at creation time. The time for this refresh depends on the number of rows in the detail tables.

Managing performance for synchronous materialized views

The performance of UPDATE and INSERT operations may be impacted if the updated table is referenced in a materialized view. The performance impact depends on many factors, such as the following:

  • Nature of the materialized view: How many detail tables, whether outer join or aggregation is used.

  • Which indexes are present on the detail table and on the materialized view.

  • How many materialized view rows will be affected by the change.

A view is a persistent, up-to-date copy of a query result. To keep the view up to date, TimesTen must perform "view maintenance" when you change a view's detail table. For example, if you have a view named V that selects from tables T1, T2, and T3, then any time you insert into T1, or update T2, or delete from T3, TimesTen performs "view maintenance."

View maintenance needs appropriate indexes just like regular database operations. If they are not there, view maintenance will perform poorly.

All update, insert, or delete statements on detail tables have execution plans, as described in "The TimesTen Query Optimizer". For example, an update of a row in T1 will have a first stage of the plan where it updates the view V, followed by a second stage where it updates T1.

For fast view maintenance, you should evaluate the plans for all the operations that update the detail tables, as follows:

  1. Examine all the WHERE clauses for the update or delete statements that frequently occur on the detail tables. Note any clause that uses an index key. For example, if the operations that an application performs 95 percent of the time are as follows:

    UPDATE T1 set A=A+1 WHERE K1=? AND K2=?
    DELETE FROMT2 WHERE K3=?
    

    Then the keys to note are (K1, K2) and K3.

  2. Ensure that the view selects all of those key columns. In this example, the view should select K1, K2, and K3.

  3. Create an index on the view on each of those keys. In this example, the view should have two indexes, one on (V.K1, V.K2) and one on V.K3. The indexes do not have to be unique. The names of the view columns can be different from the names of the table columns, though they are the same in this example.

With this method, when you update a detail table, your WHERE clause is used to do the corresponding update of the view. This allows maintenance to be executed in a batch, which has better performance.

The above method may not always work, however. For example, an application may have many different methods to update the detail tables. The application would have to select far too many items in the view or create too many indexes on the view, taking up more space or more performance than you might wish. An alternative method is as follows:

  1. For each table in the view's FROM clause (each detail table), check which ones are frequently changed by UPDATE, INSERT and CREATE VIEW statements. For example, a view's FROM clause may have tables T1, T2, T3, T4, and T5, but of those, only T2 and T3 are frequently changed.

  2. For each of those tables, make sure the view selects its rowids. In this example, the view should select T2.rowid and T3.rowid.

  3. Create an index on the view on each of those rowid columns. In this example, the columns might be called T2rowid and T3rowid, and indexes would be created on V.T2rowid and V.T3rowid.

With this method, view maintenance is done on a row-by-row basis, rather than on a batch basis. But the rows can be matched very efficiently between a view and its detail tables, which speeds up the maintenance. It is generally not as fast as the first method, but it is still good.

Understanding indexes

Indexes are auxiliary data structures that greatly improve the performance of table searches. You can use the Index Advisor to recommend indexes for a particular SQL workload. For more details, see "Using the Index Advisor to recommend indexes".

Indexes are used automatically by the query optimizer to speed up the execution of a query. For information about the query optimizer, see "The TimesTen Query Optimizer".

You can designate an index as unique, which means that each row in the table has a unique value for the indexed column or columns. Unique indexes can be created over nullable columns. In conformance with the SQL standard, multiple NULL values are permitted in a unique index.

When sorting data values, TimesTen considers NULL values to be larger than all non-NULL values. See the Oracle TimesTen In-Memory Database SQL Reference for more information on NULL values.

To perform any operation that creates, drops or alters an index, the user must have the appropriate privileges, which are described along with the syntax for all SQL statements in the "SQL Statements" chapter in the Oracle TimesTen In-Memory Database SQL Reference.

The following sections describe how to manage your index:

Overview of index types

TimesTen provides three types of indexes to enable fast access to tables.

  • Hash Indexes. Hash indexes are useful for finding rows with an exact match on one or more columns. Hash indexes are useful for doing equality searches. TimesTen currently supports a maximum of one hash index per table. A hash index is created with the UNIQUE HASH option, which is specified over the columns that make up the primary key of a table.

    The "CREATE TABLE" section of the Oracle TimesTen In-Memory Database SQL Reference discusses in detail the automatic creation of hash indexes. For an example of how to create a hash index when creating the table, see Example 7-2.

  • Range Indexes. Range indexes are useful for finding rows with column values within a certain range. You can create range indexes over one or more columns of a table. Up to 32 range indexes may be created on one table.

    Range indexes and equijoins can be used for equality and range searches, such as greater than or equal to, less than or equal to, and so on. If you have a primary key on a field and want to see if FIELD > 10, then the primary key index will not expedite finding the answer, but a separate index will.

    The "CREATE INDEX" section of the Oracle TimesTen In-Memory Database SQL Reference discusses in describes how to create range indexes.


    Note:

    Hash indexes are faster than range indexes for exact match lookups, but they require more space than range indexes. Hash indexes cannot be used for lookups involving ranges.

  • Bitmap Indexes. Bitmap indexes are useful when searching and retrieving data from columns with low cardinality. That is, these columns can have only a few unique possible values. Bitmap indexes encode information about a unique value in a row in a bitmap. Each bit in the bitmap corresponds to a row in the table. Use a bitmap index for columns that do not have many unique values. An example of such a column is a column that records gender as one of two values.

    Bitmap indexes increase the performance of complex queries that specify multiple predicates on multiple columns connected by AND and OR operators.

    See "CREATE INDEX" in the Oracle TimesTen In-Memory Database SQL Reference for how to create and more information on bitmap indexes.


Note:

Alternatively, you can perform lookups by RowID for fast access to data. See the Oracle TimesTen In-Memory Database SQL Reference for more information on RowIDs.

Creating an index

To create an index, execute the SQL statement CREATE INDEX. TimesTen converts index names to upper case characters.

Every index has an owner. The owner is the user who created the underlying table. Indexes created by TimesTen itself, such as indexes on system tables, are created with the user name SYS or with the user name TTREP if created during replication.

Example 7-4 Create an index

Create an index IxID over column CustID of table NameID.

CREATE INDEX IxID ON NameID (CustID);

You can also create a hash index by creating a primary key or using the UNIQUE HASH ON clause in the CREATE TABLE. However, TimesTen may create temporary hash and range indexes automatically during query processing to speed up query execution.

Altering an index

You can change a range index to a hash index with the USE HASH INDEX of the ALTER TABLE statement.

Dropping an index

To uniquely refer to an index, an application must specify both its owner and name. If the application does not specify an owner, TimesTen looks for the index first under the user name of the caller, then under the user name SYS.

Example 7-5 Drop an index

The following drops the index named IxID.

DROP INDEX IxID;

To drop a TimesTen index, execute the DROP INDEX SQL statement. All indexes in a table are dropped automatically when the table is dropped.

Estimating index size

Increasing the size of a TimesTen database can be done on first connect. To avoid having to increase the size of a database, it is important not to underestimate the eventual database size. Use the utility ttSize to estimate database size.

Using the Index Advisor to recommend indexes

The right set of indexes can make a difference in query performance. The Index Advisor can be used to recommend indexes for improving the performance of a specific SQL workload. The Index Advisor is intended for read-intensive complex queries. The use of the Index Advisor is not recommended for a write-intensive workload.

The Index Advisor evaluates a SQL workload and recommends indexes that can improve the performance for the following: joins, single table scans, and ORDER BY or GROUP BY operations. Then Index Advisor does not differentiate tables that are used for specific intentions, such as the base table for a materialized view or as a table within a cache group. As long as the table is used in queries in the SQL workload, the Index Advisor may recommend indexes on that table.

The Index Advisor generates the CREATE statement for each recommended index, which you can choose to execute. A DBA should review each CREATE statement recommended for new indexes before they are applied since the Index Advisor may recommend the following:

  • Indexes that are duplicates of existing indexes.

  • Indexes for tables or columns of tables that are created and dropped during a SQL workload. However, you could add the CREATE statement for the recommended index in the SQL workload after the DDL that creates the tables or columns of tables and before they are dropped.

  • Indexes that cannot be created, such as a unique index for a data set where the data is not unique. In this case, you should ignore this recommendation.

The Index Advisor does not cover the following:

  • It does not optimize for memory use.

  • It does not consider maintenance costs.

  • It does not recommend special types of indexes, such as bitmap or hash indexes.

  • It will not recommend that existing indexes be dropped if they are not useful.

  • It will not recommend indexes for global temporary tables.

The recommended steps to use the Index Advisor are as follows:

Prepare for executing the Index Advisor

Before you execute the Index Advisor, you should optionally perform the following:

  1. Since the Index Advisor relies on the query plan, set any relevant optimizer hints using the ttOptSetFlag built-in procedure that you would use for the SQL workload before enabling the Index Advisor and running the workload. For more details, see "ttOptSetFlag" in the Oracle TimesTen In-Memory Database Reference.

  2. Update statistics for tables included in the SQL workload and force statements to be re-prepared during the capture. This provides the most up-to-date statistics for the data collection and causes the statements to be re-prepared based on the latest statistics.

Update the statistics for tables included in the SQL workload with one of the following built-in procedures: ttOptUpdateStats, ttOptEstimateStats, or ttOptSetTblStats. In the built-in procedures, set the invalidate parameter to 1 to invalidate all commands that reference the indicated tables and force these commands to be automatically prepared again when re-executed. This ensures that statistics are up to date.

  • The ttOptUpdateStats built-in procedure provides a full update of all statistics for the tables. However, it can be time consuming.

  • The ttOptEstimateStats evaluates statistics based upon a small percentage of rows in the indicated tables.

  • The ttOptSetTblStats sets the statistics to known values provided by you.


Note:

For more information on these built-in procedures, see "ttOptUpdateStats," "ttOptEstimateStats," and "ttOptSetTblStats" in the Oracle TimesTen In-Memory Database Reference.

The following example estimates statistics for all tables for the current user by evaluating a random sample of ten percent of the rows in these tables. It also invalidates all commands already prepared that reference these tables.

CALL ttOptEstimateStats ( '', 1, '10 PERCENT' );

Capture the data used for generating index recommendations

Execute the ttIndexAdviceCaptureStart and ttIndexAdviceCaptureEnd built-in procedures to capture the information needed by the Index Advisor to generate index recommendations, as follows:

  1. Execute the ttIndexAdviceCaptureStart built-in procedure to start the process to collect index information.

  2. Run the SQL workload.

  3. Execute the ttIndexAdviceCaptureEnd built-in procedure to end the index information collection process.


Note:

After the data collection process ends, you can retrieve the index recommendations as described in "Retrieve index recommendations and data collection information".

When you execute the ttIndexAdviceCaptureStart built-in procedure to initiate the data collection process, provide the following:

  • In the captureLevel parameter, specify whether the index information is to be collected for the current connection or for the entire database. You can execute multiple connection-level captures concurrently for independent connections without conflict. A database-level capture can take place in parallel with a connection-level capture. Since there is no conflict between a database-level and a connection-level capture, any outstanding connection-level captures that are already in progress when a database-level capture is initiated will complete as intended. However, an error is returned if you initiate a second request for a database-level capture while the first is still active; an error is also returned if a second request for a connection-level capture from the same connection is initiated while the first connection-level capture is still active.

    if you invoke ttIndexAdviceCaptureStart for a database-level capture, any outstanding connection-level captures that are already in progress will complete.

  • The captureMode parameter designates that you want the data collection performed on one of the following scenarios:

    • Perform the collection of index information using the current execution of the SQL workload.

    • Base the collection of index information not on a current execution of the SQL workload, but on existing computed statistics and query plan analysis. In this scenario, the SQL statements have been prepared, but not executed. This mode can only be executed with a connection-level capture.

To complete the capture, execute the ttIndexAdviceCaptureEnd built-in procedure, which ends either an active connection-level capture from the same connection or an active database-level capture. Completing a database-level capture requires the ADMIN privilege.

If a connection fails during a capture, the following occurs:

  • If the capture is a connection-level capture, the capture ends and all associated resources are freed.

  • If the capture is a database-level capture, the capture continues until another user with ADMIN privileges connects and invokes the ttIndexAdviceCaptureEnd built-in procedure to end a database-level capture.

If temporary space becomes full during a capture, an active capture ends and the data collected during the capture is saved.


Note:

EêqŽxecute ttIndexAdviceCaptureDrop to free the temporary space after a capture. See "Evaluate results of new indexes" for more information on ttIndexAdviceCaptureDrop.

The following example starts a collection for the Index Advisor at the connection-level for the current execution of a SQL workload:

Call ttIndexAdviceCaptureStart(0,0);

The following example ends the collection for the connection-level capture:

Call ttIndexAdviceCaptureEnd(0)

Note:

For more information on these built-in procedures, see "ttIndexAdviceCaptureStart" and "ttIndexAdviceCaptureEnd" in the Oracle TimesTen In-Memory Database Reference.

Retrieve index recommendations and data collection information

  1. Execute the ttIndexAdviceCaptureInfoGet built-in procedure to retrieve data collection overview information for the Index Advisor.

  2. Execute the ttIndexAdviceCaptureOutput built-in procedure to retrieve the recommended indexes.


    Note:

    These built-in procedures retrieve the data collection overview and Index Advisor recommendations. Execute either or both for the data you want.

  3. After a DBA has evaluated the recommended index creation statements, apply the desired index creation recommendations.

Retrieve data collection information with ttIndexAdviceCaptureInfoGet

The ttIndexAdviceCaptureInfoGet built-in procedure retrieves information about the data collected for the Index Advisor. There will be at most a single row returned for a connection-level capture and at most a single row for a database-level capture.


Note:

The database-level capture row can only be returned to a user with ADMIN privileges.

The ttIndexAdviceCaptureInfoGet built-in procedure captures data if:

  • The data capture was started and has not ended.

  • A previous capture that was started and stopped, and the data was not deleted.


Note:

If no capture is in progress or no data exists, then no rows are returned.

The rows returned include the following information:

  • The capture state: Returns 0 if a capture is completed. Returns 1 if a capture is still in progress.

  • The connection identifier, if appropriate.

  • The capture level and mode set for this capture.

  • The number of prepared and executed statements during the capture interval.

  • The time that the capture was started and stopped.

The following shows capture information for a completed connection-level capture for 363 prepared statements and 369 executed statements:

Command> CALL ttIndexAdviceCaptureInfoGet();
< 0, 1, 0, 0, 363, 369, 2012-07-27 11:44:08.136833, 2012-07-27 12:07:35.410993 >
1 row found.

Note:

For more details and syntax for this built-in procedure, see "ttIndexAdviceCaptureInfoGet" in the Oracle TimesTen In-Memory Database Reference.

Retrieve index recommendations with ttIndexAdviceCaptureOutput

The ttIndexAdviceCaptureOutput built-in procedure retrieves the list of index recommendations from the last recorded capture at the specified level (connection or database-level). The list contains the CREATE statement for each recommended index.

To request index recommendations for a connection-level capture, execute ttIndexAdviceCaptureOutput with captureLevel set to 0 in the same connection that initiated the capture. For a database-level capture, execute ttIndexAdviceCaptureOutput with captureLevel set to 1 in a connection where the user has ADMIN privilege.

The returned row contains:

  • stmtCount - The number of times the index would be useful to speed up the executed SQL workload.

  • createStmt - The executable statement that can be used to create the recommended index. All database object names in these statements are fully qualified.

The following example provides the CREATE statement for an index called PURCHASE_i1 on the HR.PURCHASE table, which would be useful 4 times for this SQL workload.

CALL ttIndexAdviceCaptureOutput();
< 4, create index PURCHASE_i1 on HR.PURCHASE(AMOUNT); >
1 row found. 

Note:

For more information and syntax for this built-in procedure, see "ttIndexAdviceCaptureOutput" in the Oracle TimesTen In-Memory Database Reference.

Evaluate results of new indexes

After you have applied the CREATE statements for the new indexes that have been approved by the DBA, perform the following:

  1. Save the current state of the table statistics. You can generate a set of SQL statements with the ttOptStatsExport built-in procedure from which you can restore the table statistics to the current state. When you apply these statements, you re-create the same environment. This ensures a consistent query plan is created for future executions. You can use this if you need to re-create the same query plan when investigating a query plan issue.

  2. Drop the captured data collected for the Index Advisor with the ttIndexAdviceCaptureDrop built-in procedure.

  3. Return to "Prepare for executing the Index Advisor" and repeat these steps until a SQL workload is executed with no more index recommendations. You can keep updating the statistics for the tables on which the new indexes were applied and re-execute the Index Advisor to see if any new indexes are now recommended.

Execute the ttOptStatsExport built-in procedure to return the set of statements required to restore the table statistics to the current state. If no table is specified, ttOptStatsExport returns the set of statements required to restore the table statistics for all user tables that the calling user has permission to access.


Note:

For more information and syntax for this built-in procedure, see "ttOptStatsExport" in the Oracle TimesTen In-Memory Database Reference.

The following example returns a set of built-in procedure commands that would be required to be executed to restore the statistics for the employees table:

Command> CALL ttOptStatsExport('HR.employees');

< call ttoptsetcolIntvlstats('HR.EMPLOYEES', 'EMPLOYEE_ID', 0, (6, 0, 107, 107,
 (20, 20, 1 ,100, 120, 101), (20, 20, 1 ,121, 141, 122), (20, 20, 1 ,142, 162, 
143), (20, 20, 1 ,163, 183, 164), (20, 20, 1 ,184, 204, 185), (1, 1, 1 ,205, 206, 
205))); >
< call ttoptsetcolIntvlstats('HR.EMPLOYEES', 'FIRST_NAME', 0, (1, 0, 89, 107, 
(89, 107, 0, 'Adam', 'Winston', 'Adam'))); >
< call ttoptsetcolIntvlstats('HR.EMPLOYEES', 'LAST_NAME', 0, (1, 0, 97, 107, (97, 
107, 0, 'Abel', 'Zlotkey', 'Abel'))); >
< call ttoptsetcolIntvlstats('HR.EMPLOYEES', 'EMAIL', 0, (6, 0, 107, 107, (20, 
20, 1, 'ABANDA', 'DGREENE', 'ABULL'), (20, 20, 1, 'DLEE', 'JKING', 'DLORENTZ'), 
(20, 20, 1, 'JLANDRY', 'LOZER', 'JLIVINGS'), (20, 20, 1, 'LPOPP', 'RMATOS', 
'LSMITH'), (20, 20, 1, 'RPERKINS', 'WGIETZ', 'SANDE'), (1, 1, 1, 'WSMITH', 
'WTAYLOR', 'WSMITH'))); >
< call ttoptsetcolIntvlstats('HR.EMPLOYEES', 'PHONE_NUMBER', 0, (1, 0, 103, 107, 
(103, 107, 0, '011.44.1343.329268', '650.509.4876', '011.44.1343.329268'))); >
< call ttoptsetcolIntvlstats('HR.EMPLOYEES', 'HIRE_DATE', 0, (1, 0, 90, 107, (90, 
107, 0 ,'1987-06-17 00:00:00', '2000-04-21 00:00:00', '1987-06-17 00:00:00'))); >
< call ttoptsetcolIntvlstats('HR.EMPLOYEES', 'JOB_ID', 0, (4, 0, 19, 107, (11, 
16, 5, 'AC_ACCOUNT', 'PR_REP', 'FI_ACCOUNT'), (3, 11, 30, 'PU_CLERK', 'SA_REP', 
'SA_REP'), (1, 20, 20, 'SH_CLERK', 'ST_CLERK', 'ST_CLERK'), (0, 0, 5, 'ST_MAN', 
'ST_MAN', 'ST_MAN'))); >
< call ttoptsetcolIntvlstats('HR.EMPLOYEES', 'SALARY', 0, (1, 0, 57, 107, (57, 
107, 0 ,2100, 24000, 2100))); >
< call ttoptsetcolIntvlstats('HR.EMPLOYEES', 'COMMISSION_PCT', 0, (1, 72, 7, 107, 
(7, 35, 0 ,0.1, 0.4, 0.1))); >
< call ttoptsetcolIntvlstats('HR.EMPLOYEES', 'MANAGER_ID', 0, (1, 1, 18, 107, 
(18, 106, 0 ,100, 205, 100))); >
< call ttoptsetcolIntvlstats('HR.EMPLOYEES', 'DEPARTMENT_ID', 0, (3, 1, 11, 107, 
(4, 10, 45 ,10, 50, 50), (2, 6, 34 ,60, 80, 80), (2, 5, 6 ,90, 110, 100))); >
< call ttoptsettblstats('HR.EMPLOYEES', 107, 0); >
12 rows found.

The ttIndexAdviceCaptureDrop built-in procedure drops the existing data collected for the specified captureLevel, which can either be a connection or database-level capture. You must execute this built-in procedure twice to drop both a connection-level and database-level capture. You may not invoke this built-in procedure while a capture at the same level is in progress.

Call ttIndexAdviceCaptureDrop(0);

Note:

For more information and syntax for this built-in procedure, see "ttIndexAdviceCaptureDrop" in the Oracle TimesTen In-Memory Database Reference.

Example using Index Advisor built-in procedures

The following shows the flow of a data collection for a SQL workload and the resulting index advice provided by the Index Advisor built-in procedures.

Command> CALL ttOptUpdateStats();

Command> CALL ttIndexAdviceCaptureStart();

Command> SELECT employee_id, first_name, last_name FROM employees;
< 100, Steven, King >
< 101, Neena, Kochhar >
< 102, Lex, De Haan >
< 103, Alexander, Hunold >
< 104, Bruce, Ernst >
...
< 204, Hermann, Baer >
< 205, Shelley, Higgins >
< 206, William, Gietz >
107 rows found.

Command> SELECT MAX(salary) AS MAX_SALARY 
FROM employees 
WHERE employees.hire_date > '2000-01-01 00:00:00';
< 10500 >
1 row found.

Command> SELECT employee_id, job_id FROM job_history
       > WHERE (employee_id, job_id) NOT IN (SELECT employee_id, job_id
       > FROM employees);
< 101, AC_ACCOUNT >
< 101, AC_MGR >
< 102, IT_PROG >
< 114, ST_CLERK >
< 122, ST_CLERK >
< 176, SA_MAN >
< 200, AC_ACCOUNT >
< 201, MK_REP >
8 rows found.

Command> WITH dept_costs AS (
       > SELECT department_name, SUM(salary) dept_total
       > FROM employees e, departments d
       > WHERE e.department_id = d.department_id
       > GROUP BY department_name),
       > avg_cost AS (
       > SELECT SUM(dept_total)/COUNT(*) avg
       > FROM dept_costs)
       > SELECT * FROM dept_costs
       > WHERE dept_total >
       > (SELECT avg FROM avg_cost)
       > ORDER BY department_name;
< Sales, 304500 >
< Shipping, 156400 >
2 rows found.

Command> call ttIndexAdviceCaptureEnd();

Command> call ttIndexAdviceCaptureInfoGet();
< 0, 1, 0, 0, 9, 6, 2012-07-27 11:44:08.136833, 2012-07-27 12:07:35.410993 >
1 row found.

Command> call ttIndexAdviceCaptureOutput();
< 1, create index EMPLOYEES_i1 on HR.EMPLOYEES(SALARY); >
< 1, create index EMPLOYEES_i2 on HR.EMPLOYEES(HIRE_DATE); >
2 rows found.

Command> CALL ttOptStatsExport('HR.employees');
< call ttoptsetcolIntvlstats('HR.EMPLOYEES', 'EMPLOYEE_ID', 0, (6, 0, 107, 107, 
(20, 20, 1 ,100, 120, 101), (20, 20, 1 ,121, 141, 122), (20, 20, 1 ,142, 162, 
143), (20, 20, 1 ,163, 183, 164), (20, 20, 1 ,184, 204, 185), (1, 1, 1 ,205, 206, 
205))); >
< call ttoptsetcolIntvlstats('HR.EMPLOYEES', 'FIRST_NAME', 0, (1, 0, 89, 107, 
(89, 107, 0, 'Adam', 'Winston', 'Adam'))); >
< call ttoptsetcolIntvlstats('HR.EMPLOYEES', 'LAST_NAME', 0, (1, 0, 97, 107, (97, 
107, 0, 'Abel', 'Zlotkey', 'Abel'))); >
< call ttoptsetcolIntvlstats('HR.EMPLOYEES', 'EMAIL', 0, (6, 0, 107, 107, (20, 
20, 1, 'ABANDA', 'DGREENE', 'ABULL'), (20, 20, 1, 'DLEE', 'JKING', 'DLORENTZ'), 
(20, 20, 1, 'JLANDRY', 'LOZER', 'JLIVINGS'), (20, 20, 1, 'LPOPP', 'RMATOS', 
'LSMITH'), (20, 20, 1, 'RPERKINS', 'WGIETZ', 'SANDE'), (1, 1, 1, 'WSMITH', 
'WTAYLOR', 'WSMITH'))); >
< call ttoptsetcolIntvlstats('HR.EMPLOYEES', 'PHONE_NUMBER', 0, (1, 0, 103, 107, 
(103, 107, 0, '011.44.1343.329268', '650.509.4876', '011.44.1343.329268'))); >
< call ttoptsetcolIntvlstats('HR.EMPLOYEES', 'HIRE_DATE', 0, (1, 0, 90, 107, (90, 
107, 0 ,'1987-06-17 00:00:00', '2000-04-21 00:00:00', '1987-06-17 00:00:00'))); >
< call ttoptsetcolIntvlstats('HR.EMPLOYEES', 'JOB_ID', 0, (4, 0, 19, 107, (11, 
16, 5, 'AC_ACCOUNT', 'PR_REP', 'FI_ACCOUNT'), (3, 11, 30, 'PU_CLERK', 'SA_REP', 
'SA_REP'), (1, 20, 20, 'SH_CLERK', 'ST_CLERK', 'ST_CLERK'), (0, 0, 5, 'ST_MAN', 
'ST_MAN', 'ST_MAN'))); >
< call ttoptsetcolIntvlstats('HR.EMPLOYEES', 'SALARY', 0, (1, 0, 57, 107, (57, 
107, 0 ,2100, 24000, 2100))); >
< call ttoptsetcolIntvlstats('HR.EMPLOYEES', 'COMMISSION_PCT', 0, (1, 72, 7, 107, 
(7, 35, 0 ,0.1, 0.4, 0.1))); >
< call ttoptsetcolIntvlstats('HR.EMPLOYEES', 'MANAGER_ID', 0, (1, 1, 18, 107, 
(18, 106, 0 ,100, 205, 100))); >
< call ttoptsetcolIntvlstats('HR.EMPLOYEES', 'DEPARTMENT_ID', 0, (3, 1, 11, 107, 
(4, 10, 45 ,10, 50, 50), (2, 6, 34 ,60, 80, 80), (2, 5, 6 ,90, 110, 100))); >
< call ttoptsettblstats('HR.EMPLOYEES', 107, 0); >
12 rows found.

Command> call ttIndexAdviceCaptureDrop();

Understanding rows

Rows are used to store TimesTen data. TimesTen supports several data types for fields in a row, including:

  • One-byte, two-byte, four-byte and eight-byte integers.

  • Four-byte and eight-byte floating-point numbers.

  • Fixed-length and variable-length character strings, both ASCII and Unicode.

  • Fixed-length and variable-length binary data.

  • Fixed-length fixed-point numbers.

  • Time represented as hh:mm:ss [AM|am|PM|pm].

  • Date represented as yyyy-mm-dd.

  • Timestamp represented as yyyy-mm-dd hh:mm:ss.

The "Data Types" section in the Oracle TimesTen In-Memory Database SQL Reference contains a detailed description of these data types.

To perform any operation for inserting or deleting rows, the user must have the appropriate privileges, which are described along with the syntax for all SQL statements in the "SQL Statements" chapter in the Oracle TimesTen In-Memory Database SQL Reference.

The following sections describe how to manage your rows:

Inserting rows

To insert a row, execute INSERT or INSERT SELECT. You can also use the ttBulkCp utility.

Example 7-6 Insert a row in a table

To insert a row in the table NameID, enter:

INSERT INTO NameID VALUES(23125, 'John Smith';

Note:

When inserting multiple rows into a table, it is more efficient to use prepared commands and parameters in your code. Create Indexes after the bulk load is completed.

Deleting rows

To delete a row, execute the DELETE statement.

Example 7-7 Delete a row

The following deletes all the rows from the table NameID for names that start with the letter "S."

DELETE FROM NameID WHERE CustName LIKE 'S%';

Understanding synonyms

A synonym is an alias for a database object. Synonyms are often used for security and convenience, because they can be used to mask object name and object owner. In addition, you can use a synonym to simplify SQL statements. Synonyms provide independence in that they permit applications to function without modification regardless of which object a synonym refers to. Synonyms can be used in DML statements and some DDL and IMDB cache statements.

Synonyms are categorized into two classes:

  • Private synonyms: A private synonym is owned by a specific user and exists in the schema of a specific user. A private synonym shares the same namespace as other object names, such as table names, view names, sequence names, and so on. Therefore, a private synonym cannot have the same name as a table name or a view name in the same schema.

  • Public synonyms: A public synonym is owned by all users and every user in the database can access it. A public synonym is accessible for all users and it does not belong to any user schema. Therefore, a public synonym can have the same name as a private synonym name or a table name.

In order to create and use synonyms, the user must have the correct privileges, which are described in "Object privileges for synonyms".

After synonyms are created, they can be viewed using the following views:

  • SYS.ALL_SYNONYMS: describes the synonyms accessible to the current user.

  • SYS.DBA_SYNONYMS: describes all synonyms in the database.

  • SYS.USER_SYNONYMS: describes the synonyms owned by the current user.

For full details on these views, see the Oracle TimesTen In-Memory Database Reference.

Creating synonyms

Create the synonym with the CREATE SYNONYM statement. You can use the CREATE OR REPLACE SYNONYM statement to change the definition of an existing synonym without needing to drop it first. The CREATE SYNONYM and CREATE OR REPLACE SYNONYM statements specify the synonym name and the schema name in which the synonym is created. If the schema is omitted, the synonym is created in the user's schema. However, when creating public synonyms, you do not provide the schema name as it will be defined in the PUBLIC namespace.

In order to execute the CREATE SYNONYM or CREATE OR REPLACE SYNONYM statements, the user must have the appropriate privileges, as described in "Object privileges for synonyms".

  • Object types for synonyms: The CREATE SYNONYM and CREATE OR REPLACE SYNONYM statements define an alias for a particular object, which can be one of the following object types: table, view, synonym, sequence, PL/SQL stored procedure, PL/SQL function, PL/SQL package, materialized view, or cache group.


    Note:

    If you try to create a synonym for unsupported object types, you may not be able to use the synonym.

  • Naming considerations: A private synonym shares the same namespace as all other object names, such as table names and so on. Therefore, a private synonym cannot have the same name as a table name or other objects in the same schema.

    A public synonym is accessible for all users and does not belong to any particular user schema. Therefore, a public synonym can have the same name as a private synonym name or other object name. However, you cannot create a public synonym that has the same name as any objects in the SYS schema.

In the following example, the user creates a private synonym of synjobs for the jobs table. Execute a SELECT statement on both the jobs table and the synjobs synonym to show that selecting from synjobs is the same as selecting from the jobs table. Finally, to display the private synonym, the example executes a SELECT statement on the SYS.USER_SYNONYMS table.

Command> CREATE SYNONYM synjobs FOR jobs;
Synonym created.

Command> SELECT FIRST 2 * FROM jobs;
< AC_ACCOUNT, Public Accountant, 4200, 9000 >
< AC_MGR, Accounting Manager, 8200, 16000 >
2 rows found.
Command> SELECT FIRST 2 * FROM synjobs;
< AC_ACCOUNT, Public Accountant, 4200, 9000 >
< AC_MGR, Accounting Manager, 8200, 16000 >
2 rows found.

Command> SELECT * FROM sys.user_synonyms;
< SYNJOBS, TTUSER, JOBS, <NULL> >
1 row found.

For full details, more examples, and rules on creating or replacing a synonym, see the "CREATE SYNONYM" section in the Oracle TimesTen In-Memory Database SQL Reference.

Dropping synonyms

Use the DROP SYNONYM statement to drop an existing synonym from the database. A user cannot be dropped unless all objects, including synonyms, owned by this user are dropped.

For example, the following drops the public synonym pubemp:

DROP PUBLIC SYNONYM pubemp;
Synonym dropped.

In order drop a public synonym or a private synonym in another user's schema, the user must have the appropriate privileges. For full details, more examples, and rules on creating or replacing a synonym, see the "DROP SYNONYM" section in the Oracle TimesTen In-Memory Database SQL Reference.

Synonyms may cause invalidation or recompilation of SQL queries

When a synonym or object is newly created or dropped, some SQL queries and DDL statements may be invalidated or recompiled. The following lists the invalidation and recompilation behavior for SQL queries and DDL statements:

  1. All SQL queries that depend on a public synonym are invalidated if you create a private synonym with the same name for one of the following objects:

    • private synonym

    • table

    • view

    • sequence

    • materialized view

    • cache group

    • PL/SQL object including procedures, functions, and packages.

  2. All SQL queries that depend on a private synonym or schema object are invalidated when a private synonym or schema object is dropped.

PKÐÁT¦þñêñPK\8–AOEBPS/client_server.htm€ÿ Working with the TimesTen Client and Server

2 Working with the TimesTen Client and Server

You can open client/server connections across a network to the TimesTen database with the TimesTen Client and TimesTen Server.

The following sections describe the TimesTen Client/Server and how to connect using them:

Overview of the TimesTen Client/Server

The TimesTen Server is a process that runs on a server machine that takes network requests from TimesTen Clients and translates them into operations on databases on the server machine. This enables clients to connect to databases that are located on different machines, potentially running a different platform and operating system bit level.

You can install the TimesTen Client on a separate or the same machine as the TimesTen Server. If you install the TimesTen Client on the same machine as the TimesTen Server, you can use them to access TimesTen databases on the local machine. For example, this is useful when you want a 32-bit application to access a 64-bit database on the same machine, for platforms that support both 32-bit and 64-bit applications.


Note:

You can create a client/server connection between any combination of platforms that TimesTen supports.

Figure 2-1 demonstrates how the TimesTen Client and TimesTen Server communicate using their respective drivers.

Figure 2-1 Diagram of TimesTen Client and TimesTen Server

Description of Figure 2-1 follows
Description of "Figure 2-1 Diagram of TimesTen Client and TimesTen Server"

  • TimesTen Client: To access TimesTen databases on remote systems, link your application with the TimesTen Client ODBC driver. The application then communicates with the TimesTen Server process. Using the TimesTen Client driver, applications can connect transparently to TimesTen databases on a remote or local system that has the TimesTen Server and Data Manager installed.

    You can link a client application either directly with the TimesTen Client driver or with the Windows ODBC driver manager. TimesTen supplies a driver manager for Windows with the Quick Start sample applications. Note that there are performance considerations in using a driver manager.

  • TimesTen Server: On the server machine, the TimesTen Server is linked with the TimesTen Data Manager ODBC driver. The Server's responsibility is to listen for requests from a client application, process the request through the Data Manager ODBC driver, and then send the results and any error information back to the client application.

The following sections describe the restrictions and the communication protocols for client/server communication:

Restrictions on client/server communication

The following are the restrictions on client/server communication:

  • XLA cannot be used over a client/server connection.

  • On UNIX, some TimesTen utilities only work over direct connections, such as ttAdmin, ttRepAdmin, and ttBackup. The utilities that can be executed over a client/server connection on the UNIX platform are named with a suffix of CS, such as ttIsqlCS, ttBulkCpCS, ttMigrateCS and ttSchemaCS. These utilities have been linked with the TimesTen Client driver and can be used to connect to Client DSNs when accessing a database over a client/server connection. Each utility listed in the Oracle TimesTen In-Memory Database Reference provides the name of the client/server version of that utility, if there is one.

  • The ttCacheUidPwdSet built-in procedure cannot be used over a client/server connection.

  • You cannot connect with an external user defined on one host to a TimesTen data source on a remote host. There are no restrictions for connecting with internal users.

  • Internal users can only be created or altered over a direct connection and not over a client/server connection to a TimesTen database. Thus, you can only execute the CREATE USER or ALTER USER statements using a direct connection to the TimesTen database. Once created, the user that connects from the client to the server must be granted the CREATE SESSION privilege or the connection will fail. For more information on how to create the user on the TimesTen database and how the administrator grants the CREATE SESSION privilege, see "Creating or identifying users to the database" and "Granting privileges to connect to the database".

  • On UNIX, TimesTen does not allow a child process to use a connection opened by its parent. Any attempt from a child process using fork() to use a connection opened by the parent process returns an error.

Communication protocols for Client/Server communication

By default, a server process is spawned at the time a client requests a connection. By setting the -serverPool option in the ttendaemon.options file on the server machine, you can pre-spawn a reserve pool of server processes. See "Prespawning TimesTen Server processes" for details.

The following sections describe the communication protocols that the TimesTen Client can use with the TimesTen Server:

TCP/IP Communication

By default, the TimesTen Client communicates with the TimesTen Server using TCP/IP sockets. This is the only form of communication available when the TimesTen Client and Server are installed on different machines.

Shared memory communication

If both the TimesTen Client and Server are installed on the same machine, applications using the TimesTen Client ODBC driver may improve performance by using a shared memory segment for inter-process communication (IPC). Using a shared memory segment allows for the best performance, but consumes more memory. To use a shared memory segment as communication, you must

  1. Configure the server options to use shared memory communication in the ttendaemon.options file. See "Using shared memory for Client/Server IPC".

  2. Define the Network Address as ttShmHost in the logical server name. See "Defining a logical server name" for details.


Note:

TimesTen supports a maximum of 16 different instances of the shared memory IPC-enabled server. If an application tries to connect to more than 16 different shared memory segments it receives an error.

UNIX domain socket communication

On UNIX platforms, if both the TimesTen Client and Server are installed on the same machine, you can use UNIX domain sockets for communication. Using a shared memory segment allows for the best performance, but greater memory usage. Using UNIX domain sockets allows for improved performance over TCP/IP, but with less memory consumption than a shared memory segment connection. To use domain sockets, you must define the Network Address of the logical server as ttLocalHost. See "Defining a logical server name" for more information.

Configuring TimesTen Client and Server

The following sections describe how to connect a TimesTen application to a TimesTen database using TimesTen Client and Server:

Overview of TimesTen Client/Server configuration

Before the client application can connect to a TimesTen database, the user must configure, as shown in Figure 2-2, the Client DSN, optionally a logical server name, and a Server DSN to uniquely identify the desired TimesTen database.

Figure 2-2 Configuring for a client/server connection

Description of Figure 2-2 follows
Description of "Figure 2-2 Configuring for a client/server connection"

The client application refers to the Client DSN when initiating a connection. With the following details, the connection request is resolved to be able to connect to the intended TimesTen database:

  • The logical server name is an optional configuration on the client. When used, it specifies the server host name where the TimesTen database is installed. This is used when you want to hide or simplify the server host name. You must use the logical server name when using shared memory IPC or UNIX domain sockets.

  • The Client DSN is configured in either the user or system ODBC.INI file with the server host name, either the logical server name or the actual server machine name, and the Server DSN that identifies the TimesTen database on the server.

  • The Server DSN is configured in the system ODBC.INI file with the TimesTen database name and its connection attributes. The connection attributes specify how the TimesTen database is loaded and configured, and how the connections to it are to be controlled or managed.

Thus, when these are configured correctly, the client application can use the Client DSN to locate and connect to the TimesTen database. The Client DSN defines the server machine and the Server DSN. The Server DSN, in turn, specifies the TimesTen database on that server, how the database is to be loaded, and how connections are to be managed.

Installing and configuring for client/server connections

The following sections describe what you must install on which node for client/server connections:

Configuring Client/Server of the same TimesTen release

The following sections describe how to install and configure TimesTen when the Client and Server are of the same TimesTen release:

Install and configure the TimesTen Server

Perform the following tasks on the machine on which the TimesTen database resides. This machine is called the server machine.

  1. Install the TimesTen Server. For information on how to install the TimesTen Server, see the Oracle TimesTen In-Memory Database Installation Guide.

  2. Create and configure a Server DSN corresponding to the TimesTen database. See "Defining Server DSNs". Set TimesTen connection attributes in the Server DSN. See "Connection Attributes" in the Oracle TimesTen In-Memory Database Reference.

Install and configure the TimesTen Client

Perform the following tasks on the machine where the client application resides. This machine is called the client machine.

  1. Install the TimesTen Client. For information on how to install the TimesTen Client, see the Oracle TimesTen In-Memory Database Installation Guide.

  2. If you are using JDBC to connect to the database, install the Java Developer's Kit (JDK), where the Java application will be running and set up the environment variables, such as CLASSPATH and the shared library search path. See "Setting the environment for Java development" in the Oracle TimesTen In-Memory Database Java Developer's Guide for details.

  3. Create and configure a Client DSN corresponding to the Server DSN. See "Creating and configuring Client DSNs on UNIX" and "Creating and configuring Client DSNs on Windows".

  4. For OCI and Pro*C/C++ client/server connections, configure the application to use either tnsnames.ora or easy connect as described in "Connecting to a TimesTen database from OCI" in the Oracle TimesTen In-Memory Database C Developer's Guide.

  5. Link client/server applications as follows:

    • Link C and C++ client/server applications as described in "Linking options" in the Oracle TimesTen In-Memory Database C Developer's Guide.

    • Link OCI or Pro*C/C++ applications in the same manner as any OCI or Pro*C/C++ direct connect applications, which is described in "TimesTen Support for OCI" and "TimesTen Support for Pro*C/C++" in the Oracle TimesTen In-Memory Database C Developer's Guide.

Configuring cross-release TimesTen Client/Server

A TimesTen Client can connect to a TimesTen Server from a different release and of a different bit level. A TimesTen Client 7.0 or later release may connect to a TimesTen Server 7.0 or later release of any bit level. If you are configuring for a cross-release TimesTen Client/Server connection, install and configure as directed in "Configuring Client/Server of the same TimesTen release".

The TimesTen Server loads a driver and a TimesTen database of its own release and bit level when a TimesTen Client application connects to the TimesTen database. The TimesTen Data Manager is automatically installed on the Server system.

  • If you are using a local client/server connection using UNIX Domain sockets through ttLocalHost, then the platforms for the client and the server must be UNIX. The bit level and the release level for the client and server hosts must be the same.

  • If you are using a local client/server connection over a shared memory IPC using ttShmHost, then the platforms for the client and server can be either Windows or UNIX. The bit level may be different on the client and server hosts.

Defining Server DSNs

Server DSNs identify TimesTen databases that are accessed by a client/server connection. A Server DSN must be defined as a system DSN and has the same configuration format and attributes as a TimesTen Data Manager DSN. For a description of DSNs and instructions on creating them, see "Creating a Data Manager DSN on Windows" or "Creating a Data Manager DSN on UNIX".


Note:

You can add or configure a Server DSN while the TimesTen Server is running.

Because a Server DSN identifies databases that are accessed by a TimesTen Server, a Server DSN can be configured using the same connection attributes as a Data Manager DSN. In addition, there are connection attributes that are only allowed within the Server DSN specification. These attributes enable you to specify multiple client/server connections to a single server.


Note:

Some connection attributes, including the ones described in the following sections, can be configured in the TimesTen daemon options file (ttendaemon.options). If you have set the same connection attributes in both the Server DSN and the daemon options file, the value of the connection attributes in the Server DSN takes precedence.

For a description of the TimesTen daemon options see "Managing TimesTen Client/Server options".


The following sections describe the Server DSN attributes in the context of the ODBC.INI file or the ODBC Data Source Administrator:


Note:

For a complete description of the TimesTen Server connection attributes, see "Connection Attributes" in the Oracle TimesTen In-Memory Database Reference.

Server DSN connection attributes defined in ODBC.INI file

By default, TimesTen creates only one connection to a server per child process. However, the following Server connection attributes enable you to specify multiple client/server connections to a single TimesTen Server:


Note:

These attributes are read at first connection. Changes to TimesTen Server settings do not occur until the TimesTen server is restarted. To restart the Server, use the following command:
ttDaemonAdmin -restartserver

  • MaxConnsPerServer: Set the maximum number of client connections that are handled by a single server process. The server is referenced by the Server DSN. The server may have multiple server processes, where each process can only have the maximum number of connections as specified by this attribute.

  • ServersPerDSN: You can have multiple server processes serving multiple incoming connections on the server. The ServersPerDSN attribute specifies the number of server processes that are initially spawned on the server. Each new incoming connection spawns a new server process up to the ServersPerDSN. When ServersPerDSN is reached, the existing server processes handle multiple connections up to the number specified in MaxConnsPerServer.

  • ServerStackSize: Set the size of the stack on the Server for each connection.

The MaxConnsPerServer and ServersPerDSN attributes are related. Neither of these attributes limits the number of client connections to given DSN. Instead, they control how connections are distributed over server processes. For example, if MaxConnsPerServer is set to 2 and ServersPerDSN is set to 5, then the following occurs:

  • Connection 1 arrives at the server, the first server process is started for this connection. Connections 2 through 5 arrive at the server, server processes 2 through 5 are initiated where each server process services a connection.

  • Connection 6 arrives at the server. Since ServersPerDSN is reached, and MaxConnsPerServer is not, connection 6 is given to the first server process. Incoming connections 7 through 10 are given respectively as the second connection to server processes 2 through 5.

  • Connection 11 arrives at the server. Both ServersPerDSN and MaxConnsPerServer are reached, so server process 6 is started to handle connection 11.

Server DSN connection attributes defined in ODBC Data Source Administrator

If you anticipate having more than one connection using the Server DSN, specify appropriate values for the Server DSN attributes as needed. On Windows in the ODBC Data Source Administrator, these are specified on the Server tab.

Figure 2-3 Server tab in TimesTen ODBC Administrator

Description of Figure 2-3 follows
Description of "Figure 2-3 Server tab in TimesTen ODBC Administrator"

Defining a logical server name

A logical server name is a definition for a server system on the TimesTen Client. In some cases, such as when using a communication protocol other than TCP/IP for local client/server or the TimesTen Server process is not listening on the default TCP/IP port, you must define a logical server name on the client system. In these cases, the Client DSN must refer to the logical server name. However, in most cases when the communication protocol used is TCP/IP, the Client DSN can refer directly to the server host name without having to define a logical server name.

The following sections demonstrate how to define a logical server name on Windows or UNIX platforms:

Creating and configuring a logical server name on Windows

To create and configure a logical server name:

  1. On the Windows Desktop from the Start menu, select Settings, Control Panel, Administrative Tools, and finally Data Sources (ODBC).

    This opens the ODBC Data Source Administrator.

  2. Click User DSN or System DSN.

  3. Select a TimesTen Client DSN and click Configure. If no Client DSN exists, click Add, select TimesTen Client 11.2.2 and click Finish. This opens the TimesTen Client DSN Setup dialog.

  4. Click Servers. This opens the TimesTen Logical Server List dialog.

  5. Click Add. This opens the TimesTen Logical Server Name Setup dialog.

  6. In the Server Name field, enter a logical server name.

  7. In the Description field, enter an optional description for the server.

  8. In the Network Address field, enter the host name or IP address of the server machine. The Network Address must be one of:

    Type of connectionNetwork Address
    Local client/server connection that uses shared memory for inter-process communicationttShmHost
    Remote client/server connectionThe name of the machine where the TimesTen Server is running. For example, server. mycompany.com

  9. In the Network Port field, TimesTen displays the port number on which the TimesTen Logical Server €ÿlistens by default. If the TimesTen Server is listening on a different port, enter that port number in the Network Port field.

    For example:

    Description of server.gif follows
    Description of the illustration server.gif

  10. Click OK, then click Close in the TimesTen Logical Server List dialog to finish creating the logical server name.

To delete a server name:

  1. On the Windows Desktop on the client machine from the Start menu, select Settings, and then select Control Panel.

  2. Double click ODBC. This opens the ODBC Data Source Administrator.

  3. Click either User DSN or System DSN.

  4. Select a TimesTen Client DSN and click Configure. This opens the TimesTen Client DSN Setup dialog.

  5. Click Servers. This opens the TimesTen Logical Server List dialog.

  6. Select a server name from the TimesTen Servers list.

  7. Click Delete.

Creating and configuring a logical server name on UNIX

Define logical server names in a file named by the SYSTTCONNECTINI environment variable. This file is referred to as the TTCONNECT.INI file. The file contains a description, a network address and a port number.

The Network Address must be one of the following:

Type of connectionNetwork address
Local client/server connection that uses UNIX domain socketsttLocalHost
Local client/server connection that uses shared memory for inter-process communicationttShmHost
Remote client/server connectionThe name of the machine where the TimesTen Server is running. For example, server. mycompany.com

TimesTen searches for the logical server in this order:

  1. In the file specified by the SYSTTCONNECTINI environment variable, if it is set

  2. In the daemon_home_dir/sys.ttconnect.ini file

Example 2-1 Defining a logical server name

This example from a TTCONNECT.INI file defines a logical server name, ttserver_logical, for a TimesTen Server running on the machine server.mycompany.com and listening on port 53385. The instance name of the TimesTen installation is tt1122.

[ttserver_logical]
Description=TimesTen Server 11.2.2
Network_Address=server.mycompany.com
TCP_Port=53385

Example 2-2 Using UNIX domain sockets for communication

If both the client and server are on the same UNIX machine, applications using the TimesTen Client ODBC driver may improve performance by using UNIX domain sockets for communication.

The logical server name must also define the port number on which the TimesTen Server is listening so that multiple instances of the same version of TimesTen Server can be run on the same machine. To achieve this, the logical server name definition in TTCONNECT.INI file might look like:

[LocalHost_tt1122_32]
Description=Local TimesTen Server TimesTen release 11.2.2 through domain sockets
Network_Address=ttLocalHost
TCP_PORT=53385

Example 2-3 Configuring shared memory for inter-process communication

If both the client and server are on the same machine, applications can use shared memory for inter-process communication. This may result in the best performance.

The logical server name must also define the port number on which the TimesTen Server is listening in order to make the initial connection. To achieve this, the logical server name definition in TTCONNECT.INI file might look like:

[ShmHost_tt1122]
Description= Local TimesTen Server TimesTen release 11.2.2 through shared memory
Network_Address=ttShmHost
TCP_PORT=53385

Working with the TTCONNECT.INI file

TimesTen uses the TTCONNECT.INI file to define the names and attributes for servers and the mappings between logical server names and their network addresses. This information is stored on machine where the TimesTen Client is installed. By default, the TTCONNECT.INI file is install_dir/sys.ttconnect.ini.

To override the name and location of this file at runtime, set the SYSTTCONNECTINI environment variable to the name and location of the TTCONNECT.INI file before launching the TimesTen application.

Defining a server name on UNIX

You can define short-hand names for TimesTen Servers on UNIX in the TTCONNECT.INI file. The format of a TimesTen Server specification in the TTCONNECT.INI file is shown in Table 2-1.

Table 2-1 TimesTen Server format in the TTCONNECT.INI file

ComponentDescription

[ServerName]

Logical server name of the TimesTen Server machine

Description=description

Description of the TimesTen Server

Network_Address=network-address

The DNS name, host name or IP address of the machine on which the TimesTen Server is running.

TCP_Port=port-number

The TCP/IP port number where the TImesTen Server is running. Default for TimesTen release 11.2.2 is 53385 for 32-bit platforms and 53389 for 64-bit platforms.


For example, the server specification for a remote TimesTen Server might appear as:

[ttserver]
Description=TimesTen Client/Server
Network_Address=server.company.com
TCP_Port=53385

For a local TimesTen Client/Server application that is using UNIX domain sockets, the network address must be defined as ttLocalHost. The server specification might appear as:

[LocalHost1122]
Description=Shm TimesTen Client/Server
Network_Address=ttLocalHost
TCP_Port=53385

For a TimesTen Client/Server application that is using a shared memory segment for inter-process communication, the network address must be defined as ttShmHost. The server specification might appear as:

[ShmHost1122]
Description=Shm TimesTen Client/Server
Network_Address=ttShmHost
TCP_Port=53385

Creating Client DSNs

A Client DSN specifies a remote database and uses the TimesTen Client. The Client DSN can be defined as a user or as a system DSN. A Client DSN refers to a TimesTen database indirectly by specifying a hostname, DSN pair, where the hostname represents the server machine on which TimesTen Server is running and the DSN refers to a Server DSN that is defined on that host. These are configured within the Client DSN connection attributes.


Note:

For a complete description of the TimesTen Client connection attributes, see "Connection Attributes" in the Oracle TimesTen In-Memory Database Reference.

Alternatively, you can configure connection attributes at runtime in the connection string that is passed to the ODBC SQLDriverConnect function or the URL string that is passed to the JDBC DriverManager.getConnection() method. For example, you could use the TTC_SERVER_DSN attribute in either the connection string or the Client DSN for a client to specify which DSN it should use on the server.


Note:

If you configure any of the Server DSN connection attributes within the definition of the Client DSN, they will be ignored. However, the TimesTen Client allows most of the Server DSN attributes (except for the DataStore connection attribute) to be passed in as part of the connection or URL string. These are transparently passed on to the server and overrides what is configured in the Server DSN.

The following sections describe how to create the Client DSN and its attributes on either the Windows or UNIX platforms:

Creating and configuring Client DSNs on Windows

On Windows, use the ODBC Data Source Administrator to configure logical server names and to define Client DSNs.

This section includes the following topics:

Creating a Client DSN on Windows

To define a TimesTen Client DSN:

  1. On the Windows Desktop from the Start menu, select Settings, Control Panel, Administrative Tools, and finally Data Sources (ODBC). This opens the ODBC Data Source Administrator.

  2. Choose either User DSN or System DSN. For a description of User DSNs and System DSNs see "Specifying Data Source Names to identify TimesTen databases".

  3. Click Add. This opens the Create New Data Source dialog.

    Description of add_dsn.gif follows
    Description of the illustration add_dsn.gif

  4. Choose TimesTen Client 11.2.2. Click Finish. This opens the Oracle TimesTen Client DSN Setup dialog.

    Description of setup_adv.gif follows
    Description of the illustration setup_adv.gif

  5. In the Client DSN field, enter a name for the Client DSN.

    The name must be unique to the current list of defined DSNs on the machine where the client application resides and can contain up to 32 characters. To avoid potential conflicts, you may want to use a consistent naming scheme that combines the logical server name with the name of the Server DSN. For example, a corporation might have Client DSNs named Boston_Accounts and Chicago_Accounts where Boston and Chicago are logical server names and Accounts is a Server DSN.

  6. In the Description field, enter an optional description for the Client DSN.

  7. In the Server Name or Network Address field, specify the logical server or network address of the server machine.

    • The name can be a host name, IP address or logical server name. The logical server names defined on the client machine can be found in the drop-down list. To define logical server names, click Servers.

    • If you do not specify a logical server name in this field, the TimesTen Client assumes that the TimesTen Server is running on the default TCP/IP port number. Therefore, if your Server is running on a port other than the default port and you do not specify a logical server name in this field, you must specify the port number in the ODBC connection string, using the TCP_Port attribute.

      For more information on defining logical server names, see "Creating and configuring a logical server name on Windows".

  8. In the Server DSN field, enter the Server DSN corresponding to the database that the client application will access.

    • If you do not know the name of the Server DSN, click Refresh to obtain a list of Server DSNs that are defined on the machine specified in the Server Name or Network Address field. Select the Server DSN from the drop-down list.

    • You must have a network connection to the machine where the TimesTen Server is running.

    For more information about customizing which Server DSNs show in this list, see "ODBC Data Sources".

  9. In the Connection Character Set field, choose a character set that matches your terminal settings or your data source. The default connection character set is US7ASCII. For more information, see "ConnectionCharacterSet" in Oracle TimesTen In-Memory Database Reference.

  10. If you are using automatic client failover, you would configure the Failover Server Name, Failover Port Range, and Failover DSN. For details, see "Configuring automatic client failover".

Setting the timeout interval and authentication

You can define the user name, password and timeout interval for the client/server connection in the Client DSN with the UID, PWD, and Timeout attributes. However, configuring the authentication in the Client DSN is optional, since you can provide the user name and password when connecting. If you do supply the user name and password in the Client DSN, the password is stored unencrypted on the client.

For a description of the UID, PWD, and Timeout attributes, see "Connection Attributes" in the Oracle TimesTen In-Memory Database Reference.

To set the timeout interval and authentication:

  1. In the User ID field of the Oracle TimesTen Client DSN Setup dialog box, enter a user name that is defined on the server machine.

  2. In the Password field, enter the password that corresponds to the user ID. Alternatively, you can enter an encrypted password in the PwdCrypt field.

  3. In the Timeout Interval field, enter the interval time in seconds. You can enter any non-negative integer. A value of 0 indicates that client/server operations should not time out. The default is 60 seconds. The maximum is 99,999 seconds.

  4. Click OK to save the setup.

Accessing a remote database on Windows

In this example, the TimesTen Client machine is client.mycompany.com. The client application is accessing the Server DSN on the remote server machine, server.mycompany.com. The logical server name is ttserver_logical.


Note:

These examples reference the 32-bit sample DSNs. This is indicated by the extension _32. On 64-bit platforms, the sample DSNs are appended with _64.

  1. On the server machine server.mycompany.com, use the ttStatus utility to verify that the TimesTen Server is running and to verify the port number it is listening on.

  2. Using the procedure in "Defining Server DSNs", verify that the Server DSN, RunData1122_32, is defined as a System DSN on server.mycompany.com.

  3. On the client machine, client.mycompany.com, create a Logical Server Name entry for the remote TimesTen Server. In the TimesTen Logical Server Name Setup dialog:

    • In the Server Name field, enter ttserver_logical.

    • In the Network Address field, enter server.mycompany.com.

    • In the Network Port field, enter 53385. This is the default port number for the TimesTen Server on 32-bit platforms for TimesTen Release 11.2.2. This value should correspond to the value displayed by ttStatus in Step 1.

    See "Creating and configuring a logical server name on Windows" for the procedure to open the TimesTen Server Name dialog and for more details.

  4. On the client machine, client.mycompany.com, create a Client DSN that corresponds to the remote Server DSN, RunData_tt1122_32. In the TimesTen Client DSN Setup dialog, enter the following values:

    • In the Client DSN field, enter RunDataCS_tt1122_32.

    • In the Server Name or Network Address field, enter ttserver_logical.

    • In the Description field, enter a description for the server. Entering data into this field is optional.

    • In the Server DSN field, enter RunData1122_32.

  5. Run the client application from the machine client.mycompany.com using the Client DSN, RunDataCS_tt1122. The example below uses the ttIsqlCS program installed with TimesTen Client.

    ttIsqlCS connStr "DSN=RunDataCS_tt1122_32"
    

This example describes how to access a TimesTen Server that is listening on a port numbered other than the default port number.

Consider that the Network Address of the TimesTen Server is server.mycompany.com and the Server is listening on Port 53385. The following methods can be used to connect to a Server DS:

  1. Define the logical server name logical_server with server.mycompany.com as the Network Address and 53385 as the Network Port. Define a Client DSN with logical_server as the Server name, Server_DSN as the Server DSN. And execute the command:

    ttIsqlCS -connStr "DSN=Client_DSN"
    
  2. Alternatively, define the logical server name logical_server with server.mycompany.com as the Network Address and the default port number as the Network Port. Define a Client DSN with logical_server as the Server name, Server_DSN as the Server DSN. Overwrite the port number in the command:

    ttIsqlCS -connStr "DSN=Client_DSN; TCP_Port=53385"
    
  3. Alternatively, define the Server in the connection string. In this case you do not need to define a Client DSN, nor a logical server name.

    ttIsqlCS -connStr "TTC_Server=server.mycompany.com;
    TTC_Server_DSN=Server_DSN; TCP_Port=53385"
    
Testing connections

To test client application connections to TimesTen databases:

  1. On the Windows Desktop from the Start menu, select Settings, and then select Control Panel.

  2. Double click ODBC. This opens the ODBC Data Source Administrator.

  3. Click User DSN or System DSN.

  4. Select the TimesTen Client DSN whose connection you want to test and click Configure. This opens the TimesTen Client DSN Setup dialog.

    Description of setup_adv.gif follows
    Description of the illustration setup_adv.gif

  5. Click Test TimesTen Server Connection to test the connection to TimesTen Server.

    The ODBC Data Source Administrator attempts to connect to TimesTen Server and displays messages to indicate if it was successful. During this test TimesTen Client verifies that:

    • ODBC, Windows sockets and TimesTen Client are installed on the client machine.

    • The server specified in the Server Name or Network Address field of the TimesTen Client DSN Setup dialog is defined and the corresponding machine exists.

    • The TimesTen Server is running on the server machine.

  6. Click Test Data Source Connection to test the connection to the Server DSN. The ODBC Data Source Administrator attempts to connect to the Server DSN and displays messages to indicate whether it was successful.

    During this test, TimesTen Client verifies that:

    • The Server DSN specified in the Server DSN field is defined on the server machine.

    • A client application can connect to the Server DSN.

Creating and configuring Client DSNs on UNIX

On UNIX, you define logical server names by editing the TTCONNECT.INI file; you define Client DSNs by editing the user ODBC.INI file for user DSN or the system ODBC.INI file for system DSNs. For a description of user and system DSNs, see "Specifying Data Source Names to identify TimesTen databases".


Note:

The syntax for defining the Client DSN in the ODBC.INI file is described in "ODBC.INI file entry descriptions".

In the ODBC Data Sources section of the ODBC.INI file, add an entry for the Client DSN. The Client DSN specifies the location of the TimesTen database with the following attributes:

  • ODBC client driver to use for the connection.

  • The server machine on which the database resides on is specified in the TTC_Server attribute.

  • The Server DSN that specifies the intended database is specified in the TTC_Server_DSN attribute.


    Note:

    The Server DSN is defined on the server machine where the database resides.

For each TimesTen database with which the client will connect needs to have two entries:

  • Define the Client DSN name and provide the name of the ODBC client driver to use in the ODBC Data Sources section.


    Note:

    All available ODBC client drivers are listed in "Connecting using TimesTen ODBC drivers".

  • Create an entry with the Client DSN you defined in the ODBC Data Sources section. Within this section, specify the server machine and the Server DSN.

The following is the syntax for providing the Client DSN name and the ODBC client driver to use:

[ODBC Data Sources]
Client_DSN=name-of-ODBC-driver

For example, to defined RunDataCS_tt1122_32 as the Client DSN and associate it with the TimesTen Client ODBC driver, you would make the following entry in the ODBC Data Sources section of the ODBC.INI file:

[ODBC Data Sources]
RunDataCS_tt1122_32=TimesTen Client 11.2.2

After the ODBC Data Sources section, you would add an entry to specify the server machine and Server DSN for each data source you defined. Each Client DSN listed in the ODBC Data Sources section of the ODBC.INI file requires a its own specification section.

The following is an example specification of the TimesTen Client DSN RunData_tt1122_32 where the server is configured with a logical server name of ttserver_logical and the Server DSN is RunData_tt1122_32:

[RunDataCS_tt1122_32]
TTC_Server=ttserver_logical
TTC_Server_DSN=RunData_tt1122_32

The TTC_SERVER* attributes are the main attributes for a Client DSN definition. There are only a few client attributes, each of which are for identifying the server. If you provide any server attributes in the client definition, these attributes are ignored. For a description of all the Client DSN attributes used in the ODBC.INI file, see "Connection Attributes" in the Oracle TimesTen In-Memory Database Reference.

Using automatic client failover

Automatic client failover is for use in High Availability scenarios with a TimesTen active standby pair replication configuration. Consider a scenario where failure of the active TimesTen node has resulted in the original standby node becoming the new active node. With the automaticTø« client failover feature, failover (transfer) to the new active (original standby) node occurs, and applications are automatically reconnected to the new active node. TimesTen provides features that enable applications to be alerted when this occurs, so they can take any appropriate action.


Note:

Automatic client failover is complementary to Oracle Clusterware in situations where Oracle Clusterware is used, but the two features are not dependent on each other. For information about Oracle Clusterware, you can refer to "Using Oracle Clusterware to Manage Active Standby Pairs" in the Oracle TimesTen In-Memory Database Replication Guide.

The following sections describe how to use and enable automatic client failover:

Features and functionality of automatic client failover

When an application connects to the active node, the connection is registered and this registration is replicated to the standby node. If the active node fails, the standby node becomes the active node and then notifies the client of the failover. At this point, the client has a new connection to the new active node. No state from the original connection, other than the connection handle, is preserved. All client statement handles from the original connection are marked as invalid.

When failover completes, TimesTen makes a callback to a user-defined function that you register. This function takes care of any custom actions you want to occur in a failover situation.


Note:

For C developers, details of how to create the callback and to facilitate an automatic client failover are discussed in "Using automatic client failover in your application" in the Oracle TimesTen In-Memory Database C Developer's Guide.

For Java developers, details are discussed in "JDBC support for automatic client failover" in the Oracle TimesTen In-Memory Database Java Developer's Guide.


The following items list the behavior of automatic client failover in particular failure scenarios:

  • If the client library loses the connection to the active node, it will failover and attempt to switch to the standby node.

  • If, for some reason, there is no active node (no failover has occurred at the server side and both servers are either standby or idle), applications cannot connect. But automatic client failover continues to alternate between both servers until it finds an active node or times out.

  • If a failover has already occurred and the client is already connected to the new active node, the next failover request results in an attempt to reconnect to the original active node. If that fails, alternating attempts are made to connect to the two servers until it times out.


    Note:

    When TimesTen attempts to recover from failure when using automatic client failover, a timeout specifies the duration for all attempts at failover recovery. The connection might be blocked while failover is attempted.

    This timeout defaults to 60 seconds or can be set with the value of the TTC_Timeout connection attribute. The minimum timeout is 60 seconds, regardless of the TTC_Timeout setting. Refer to "TTC_Timeout" in Oracle TimesTen In-Memory Database Reference for information about that attribute.


  • If the active node fails before the client registration is successfully propagated by replication to the standby node, the client will not receive a failover message and the connection registration will be lost. However, the client library will eventually notice (through TCP) that its connection to the original active node has been lost, and will then initiate a failover attempt.


Notes:

  • These features apply only to client/server connections, not direct connections.

  • Failover connections are created only as needed, not in advance.

  • Using automatic client failover results in one additional database connection per server process, which should be considered as you choose a setting for the TimesTen Connections attribute (upper limit of the number of concurrent connections to the database). The number of server processes, in turn, is affected by the setting of the MaxConnsPerServer attribute (maximum number of concurrent connections a child server process can handle). For example, if you have 12 connections and MaxConnsPerServer=3, then there will be four server processes. Therefore, if some of the connections use automatic client failover, there will be four additional connections.


Configuring automatic client failover

You can configure automatic client failover for databases that have active standby pair replication schemes. This enables the client to fail over automatically to the server on which the standby database resides.


Note:

See "Using automatic client failover in your application" in Oracle TimesTen In-Memory Database C Developer's Guide for information about connection option persistence after failover.

Configuring automatic client failover on Windows

In the Oracle TimesTen Client DSN Setup dialog, after you have configured the rest of the Client DSN information as described in "Creating and configuring Client DSNs on Windows", complete the following fields:

  1. In the Failover Server Name or Network Address field, specify the logical server or network address of the server machine.

    • The name can be a host name, IP address or logical server. The logical server names defined on the client machine can be found in the drop-down list. To define logical server names, click Servers.

    • If you do not specify a logical server name in this field, the TimesTen Client assumes that the TimesTen Server is running on the default TCP/IP port number. Therefore, if the Server is running on a port other than the default port and you do not specify a logical server name in this field, you must specify the port number in the ODBC connection string, using the TCP_Port attribute.

      For more information on defining logical server names, see "Creating and configuring a logical server name on Windows".

  2. In the Failover Server DSN field, enter the Server DSN corresponding to the standby database.

    • If you do not know the name of the Server DSN, click Refresh to obtain a list of Server DSNs that are defined on the machine specified in the Failover Server Name or Network Address field. Select the Server DSN from the drop-down list.

    • You must have a network connection to the machine where the TimesTen Server is running.

  3. Optionally, specify the Failover Port Range for the port or port range where TimesTen listens for failover notifications. By default, TimesTen uses a port chosen by the operating system. To accommodate firewalls between the client and server systems, you must specify one value for a UDP port number or a range of UDP port numbers. A port range is set as a lower and upper value separated by hyphen.

Configuring automatic client failover on UNIX

On the client, configure the following:

  1. In the ODBC.INI file on the client, define the client DSNs for the standby node by configuring TTC_SERVER2 to the server on which the standby database resides. Set TTC_SERVER_DSN2 to the name of the standby database.

    For example:

    [MYDSN FAILOVER]
    TTC_SERVER=localhost
    TTC_SERVER_DSN=MYDSN
    TTC_Timeout=60
    ConnectionCharacterSet=AL32UTF8
    TTC_SERVER2=localhost
    TTC_SERVER_DSN2=MYDSNSTANDBY
    
  2. Configure the following connection attributes for the logical server DSN in the sys.ttconnect.ini, which are equivalent to TTC_Server, TTC_Server_DSN, and TCP_Port, but configure the standby node.

    TTC_Server2
    TTC_Server_DSN2
    TCP_Port2
    

    Setting any of TTC_Server2, TTC_Server_DSN2, or TCP_Port2 implies the following:

    • You intend to use automatic client failover.

    • You understand that a new thread will be created for your application to support the failover mechanism.

  3. Optionally, configure the TTC_FAILOVERPORTRANGE connection attribute to specify a port or port range where the failover thread listens for failover notifications. By default, a port chosen by the operating system will be used. To accommodate firewalls between the client and server systems, you must specify one value for a UDP port number or a range of UDP port numbers. A port range is set as a lower and upper value separated by hyphen.


Notes:

  • Like other connection attributes, TTC_Server2, TTC_Server_DSN2, and TCP_Port2 can be specified in the connection string, overriding any settings in the DSN.

  • If TTC_Server2 is specified but TTC_Server_DSN2 and TCP_Port2 are not, then TTC_Server_DSN2 is set to the TTC_Server_DSN value and TCP_Port2 is set to the TCP_Port value.

  • If the client library cannot connect to TTC_Server_DSN, it will try the standby, TTC_Server_DSN2.

  • TTC_Server and TTC_Server2 can have the same setting if it is a virtual IP address.


Running the TimesTen Server

The TimesTen Server is a child process of the TimesTen daemon. If you installed the TimesTen Server, this process is automatically started and stopped when the TimesTen daemon or Data Manager service is started or stopped. You can explicitly start or shut down the daemon or service with the ttDaemonAdmin utility.

The TimesTen Server handles requests from applications linked with the TimesTen Client driver.

The default ports for the 32-bit and 64-bit versions of TimesTen main and TimesTen Servers are described in the "TimesTen Installation" chapter in the Oracle TimesTen In-Memory Database Installation Guide. System administrators can change the port number during installation to avoid conflicts or for security reasons. The port range is from 1 - 65535. To connect to the TimesTen Server, Client DSNs are required to specify the port number as part of the logical server name definition or in the connection string.

On Windows, the TimesTen service is run as user SYSTEM. On UNIX, the TimesTen Server is run as the instance administrator.

For instructions on modifying TimesTen Server options, see "Modifying the TimesTen Server options".

Server informational messages

The TimesTen Server records "connect," "disconnect" and various warning, error and informational entries in log files.

On Windows, these application messages can be accessed with the Event Viewer.

On UNIX, the TimesTen Server logs messages to the syslog facility.

See "Modifying informational messages".

Accessing a remote database on UNIX

In this example, the TimesTen Client application machine is a 32-bit Solaris machine, client.mycompany.com. The client application is accessing the Server DSN RunData_tt1122_32 on the remote server machine, another 32-bit Solaris machine, server.mycompany.com. The logical server name is ttserver_logical. The instance name of the TimesTen installation is tt1122_32.

  1. On the server machine server.mycompany.com, use the ttStatus utility to verify that the TimesTen Server is running and to verify the port number on which it is listening.

  2. Verify that the Server DSN RunData_tt1122_32 exists in the system ODBC.INI file on server.mycompany.com.

    There should be an entry in the ODBC.INI file as follows:

    [RunData_tt1122_32]
    Driver=install_dir/lib/libtten.so
    DataStore=install_dir/server/RunData_tt1122_32
    
  3. Create a logical server name entry for the remote TimesTen Server in the TTCONNECT.INI file on client.mycompany.com.

    [ttserver_logical]
    # This value for TCP_Port should correspond to the
    # value reported by ttStatus when verifying that the
    # server is running
    Network_Address=server.mycompany.com
    TCP_Port=53385
    

    See "Creating and configuring Client DSNs on UNIX" for information on the creating a TTCONNECT.INI file.

  4. On the client machine, client.mycompany.com, create a Client DSN corresponding to the remote Server DSN, RunData_tt1122_32.

    There should be an entry in the ODBC.INI file as follows:

    [RunDataCS_tt1122_32]
    TTC_SERVER=ttserver_logical
    TTC_SERVER_DSN=RunData_tt1122_32
    

    See "Overview of user and system DSNs" for information on the location of the proper ODBC.INI file.

  5. Run the client application from the machine client.mycompany.com using the Client DSN, RunDataCS_tt1122_32. The example below uses the ttIsql program that is installed with TimesTen Client.

    ttIsqlCS -connStr "DSN=RunDataCS_tt1122_32"
    

The next example describes how to access a TimesTen Server that is listening on a port numbered other than the default port number.

Let us consider the Network Address of the TimesTen Server is server.mycompany.com and the Server is listening on Port 53385. The following methods can be used to connect to a Server DS:

  1. Define the logical server name logical_server with server.mycompany.com as the Network Address and 53385 as the Network Port. Define a Client DSN with logical_server as the server name, Server_DSN as the Server DSN. Execute the command:

    ttIsqlCS -connStr "DSN=Client_DSN"
    
  2. Alternatively, define the logical server name logical_server with server.mycompany.com as the Network Address and the default port number as the Network Port. Define a Client DSN with logical_server as the server name, Server_DSN as the Server DSN. Overwrite the port number in the command:

    ttIsqlCS -connStr "DSN=Client_DSN; TCP_Port=53385"
    
  3. Alternatively, define the server in the connection string. In this case you do not need to define a Client DSN, nor a logical server name.

    ttIsqlCS -connStr "TTC_Server=server.mycompany.com;
    TTC_Server_DSN=Server_DSN; TCP_Port=53385"
    

Testing connections

To test client application connections to TimesTen databases:

  1. Verify that the client machine can access the server machine.

  2. Run ping from the client machine to see if a response is received from the server machine.

  3. Verify that the TimesTen Server is running on the server machine.

    • Use telnet to connect to the port on which the TimesTen Server is listening. For example:

      telnet server.mycompany.com 53385
      
    • If you successfully connect to the TimesTen Server, you will see a message similar to:

      Connected to server.mycompany.com
      
    • If the server machine responds to a command, but TimesTen Server does not, the TimesTen Server may not be running. In the case of a failed connection, you will see a message similar to:

      telnet: Unable to connect to remote host: Connection refused
      
    • Use the ttStatus utility on the server machine to determine the status and port number of the TimesTen Server. Generally, the TimesTen Server is started at installation time. If the TimesTen Server is not running, you must start it. For information on starting the TimesTen Server, see "Modifying the TimesTen Server options".

  4. Verify that the client application can connect to the database. If you cannot establish a connection to the database, check that the TTCONNECT.INI file contains the correct information.

  5. If the information in the TTCONNECT.INI file is correct, check that a Server DSN corresponding to the database has been defined properly in the system ODBC.INI file on the machine where the database resides and where the TimesTen Server is running.

PKZdR)TTPK\8–AOEBPS/content.opfp3Ì Oracle® TimesTen In-Memory Database Operations Guide, 11g Release 2 (11.2.2) en-US E21633-05 Oracle Corporation Oracle Corporation Oracle® TimesTen In-Memory Database Operations Guide, 11g Release 2 (11.2.2) 2012-09-26T08:18:31Z Provides information about how Oracle TimesTen In-Memory Database works. It includes step-by-step instructions and examples that show how to perform commonly needed tasks. PK‰Š×u3p3PK\8–AOEBPS/dcommon/prodbig.gif öùGIF87a÷ÿÿÿ!!!)))111BBBZZZsss„„„¥¥¥­­­µµµÆÆÆÎÎÎÖÖÖÞÞÞçççïïï÷÷÷½µµ„{{ZRRcZZ!!1!ÞÖÎ91)JB9B9)ÎÎÆÖÖÎççÞkkc¥¥”JJB991sscï÷÷ÖÞÞÞççµ½½½ÆÆZcc!!{”œ¥Ö祽ÆBZc!9B!c{!)c{9œÆ{¥Z{{­œ­µc­ÎZ¥ÆBœÆ1Œµ)”Æ„µŒÆs¥„½Jk{µ{œ­Z{Œ„µÎk­ÎBsŒZ­ÖJœÆ9Œµ1Œ½)„µZ{!ŒÆ„½{µ„½Bc„½Þs­ÎRœÆs­Bc{½9ZZŒ”­½k„”¥Î甽Ök­ÖBkR„½Öç¥ÆÞ!BZ9c)JJc{!))BZŒ”œ„Œ”ks{Bc„R{¥JsœBk”9kœ)ZŒcµkÎ!!BZµ”œ¥1k­!ZœcµRœB„ZµcÆZ½Jk”Bkœ1ZŒ9c!RŒ!cµ9kZ­R¥ZµR­B”ZÆ9{99„!R1{9Œ9R{1„!1)c1J”œ­)1BÖÞ÷!BJRïï÷¥¥­ŒŒ”œœ¥„„Œkk{œœµ¥¥Æ½½çµµÞŒŒ­­­ÞkkŒ­­çµµ÷RRs{{­„„½ŒŒÎ””Þ{{½JJsssµŒŒÞBBk„„Ökkµ!!9ssÎ{{çZZ­ssçccÎJJœZZ½RRµccÞRR½ZZÖ))cBB¥JJÆ99¥JJÖ!!c11”99½11¥99ÎZ11½!c!!œ))ÎZ!!ÆÆ­µÆ΄­µ!1BRck{„”œ½¥„Œ½µ÷)!cJBkZRZ,ÿHPà)X²ÆRõ  Ã‡EåZÖ¬4jÛJ0 ¢@ "8„pð‰YÒ´ES–ìYº3CÆŠª@µ*•U:l“ÎY0_û0üë’#  5tXð1E:‰î šCã_ºxÞ˜ýÂeK©‘T¢<¹ñOC(xrÔ' Jžþ©“çm1aÀú½0S%È-IÒex ‚ŸD} 1ZÔi”^sà°Eƒ¦Ïß #…ø`¢˜qTv å©ÓFËá¼Y»–Í3è)PÖ¶e ÁOê@¬]ëåëìoàÁ…{(óbÀ½S¯ž#|¯·b´\±º‹'YÐ$ÿÀP tߪƒ¿¶Î,¯^ãXB†.+ÎKWÿo¹Ø³qc[¸=1‡ ( Ÿ#ü‘H#¯ùGN8ãÌãN:ŸUaE\èpÅ (s’Ç#˜ä¥Ž9Šc!† m¸ƒ†8b‰…DbI%zÝC9ç¼xEŒUA#ˆÐ‘èˆ!9îxÙ.^8¤†Ei£’LF² +¶($‘Dxˆ¤ˆX6É%‹@~ÉņFÖ˜$Ž:r)O=õœ#”g±C›cÞ¸¤™O¦‰çVÁç•v,É xý£K2ǃŒ4ß`h†M”±Å 6ôéƒw$¢Èÿ ÐÊ)§¼âË3ž­E ¢¤î‘„ ž&JÈx4Bª·Ô’Ï.ÆPãPd1†Ltj㧆òH£ÛT3Í4ÖtSégBàðRìÑ'*u¢‡†H‡^ø”SÎ8ö¼“Î: 1„Eœá핇2I!„˜‹îèÐãî ñÎë…÷B‡&ƒd" &—šÎ;óÈ#<íüóÂ`€qÆ_¤“ tq¼ñI)¦¢Î?^±ãŽ;í°óÒ?ž°q |X62° 'é¨ó’´0Œ:ë-?-„²Ç6¸á† 4ôlðAЀ't`×#0àc{àA @ P@;PKœ_£ã PK\8–AOEBPS/dcommon/doclib.gif õþGIF89aó1ÿÿÿïï÷ÖÞçÆÎÖ­½Îœ­½„œ­{ŒœkŒ­c{ŒJsŒBc„9Zs1Jk,@¿ÈI«­Œ¥vÊ Ø5aƒ-¡‡é5-vÆasEnq0& ˆóÒˆVF[|’ÉO ¸ @’@°É48ÛªpM„(¬‘œ 7*X(±ÅÆ™ÎjŽ¶o0Fq|uH‡ˆ‰Šu9’(dK@ @Y ! mFt,¥gN–¬h¦%± N˜µN¸@±¶·¬ À§F³¦Ë¿lºN· du¸_ÂÒg%½‹áâ‹;PKÏY@¹ PK\8–AOEBPS/dcommon/oracle-logo.jpgdu›ŠÿØÿàJFIFÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀ'7"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?÷ú(¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (ÅQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE!KEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE†–šzгE7Vö%È£Š‹ÎOïÎ9?¼?:aË"\Òf£óSûãóžrýÐÄŸjAÊÉsKš„J:n§OzO=}E1-I›îÐ)3•¥(ÔQEQEQEQEQEQEQEÓÖHzŠa<Õ[›Èí"2Í"¢’ÌpÅO#ˆÁf8šðÏø®M[R“L·‹(‹,˜?ëg¯û9þ¶3«QSZØ ñuy"lø‹â£ïx4hƒ`àO!Âþ¸›¿ë÷ŒLºµÂúˆ˜ÅʨXé×Z­ìv¶q™&“  äúcÿÕšô]+á:˜‘õ É ãîǵ@ý+…Jµ]©tðËQ]ž~ø§¹ã¶Õã[å[ˆ¾eϸ¦ê¿ –(Ú]6êA&>äÜ«~+ƒú×›êzmÛZ^ÄÉ(°<îûÃ57«KsHÒÀf妬Ϧmnáº&…ƒFÃ!”çŠÏñ¼:-ëÆî¥`b¥©\/¨¯(øâÙtÝF*îBÖ³“ü ~èöVä{W«x™ƒxfù‡Cnøÿ¾MvF·=;Ÿ5_,6%S’>}ö²ücQÿÀ§ÿQ¯jÀs«ßñÿOOþ5›Îê=«Òü)ðûO×t [û†¸W‘9 /{é^tyêNÑgØâ#„ÁЄªGs‡þßÖ¿è1ÿ-þ4oëô¿ÿÀ–ÿõoøTZ?üõŸþûáKÿ Gÿž³ÿßcü+o«ÕîyÿÚ™oòNuíhÿÌ^ÿÿüiSÄÔo¹5{ì¯\ܹý3·ô¯Y´oùísÿ}ðª÷ô¿$ˆ.nQ€ã-œ~½nå,Ó-zr~- |KÕ4ëˆ×R"êÔðÌ8‘¯¡¯aÒõ{]^Ê;»I<ȤL©¯ž5"çEÔ¤²¹ÆP’²7_jë>ëOoªK¥;*U.œôaŒùþ•t*ÉK’[˜fymÒúÅÜ3Æii ü´^ò#wcŒõ®CÇ'ÓIŒ†º”ì‰Iêk¤½ºŽÊÒIæp‹î$ö󿉵ù|C­ËtĈ—÷p¯÷Wü¹±½œl{9>⪦׺·*ͯjóÜ¥Õ.L„ä•‚§Ðf½GáߦÔÒõw] Ýÿ|W–Á¤ÞÝéWŒ1–·ƒï8>¸úw¨­.çÓ¯!»öÍ ïVÓƒüÈú× :²Œ¯#ê1¹~½ +Þ‰õ·=Å;5Îøc_‹_Òb¼ˆò@¹û­ÜW@ +ï^´]Ö‡ÀÕƒ§7 n‚ º»ŠÖ&–gŠ2I8ÅLí±w7u¯ø‡â×Ôï¤Ò­$"Ö&"b§‰ê eZ§":ð8)âªòDÙñ'Å%{}5¯{±Çà;× wâÏ]–iu;”_údLʳ¬4û­Rí-,â2Hß6Ñü>þ½HøL¯K¨Ü¹”ŽR ~f¸oZ£Ðú§K—®ZŠìà¿·õ‘ÿ1[ÿüoñ£ûZÿ ­ÿþ7ø׫„Z7üõ¸ÿ¾ÇøRÿ¢Ñÿç½Ïýö?«êõ»‘ý«—'ày?öþµÿA}Cÿ_üiGˆ5®s¬_ý~Òÿã^«ÿ Jí5Çýö?ÂœŸ tpÊ]îX/c'𪎯r%šeܺA|4µÕ®-¤Ôµ+ëÙ’eÄ1M38Ç® `|KÕµ O¬VÚ…Ô‹u;"™Ðd–À5ì6¶ÑÙÚ, XЯø¢â­ÿÉÿ¡5kY¸R<Ì­CÕiØ·ð×XÔ®¸ô©¼]âü;£Oy)•O–¿ÞcÐW€j…Ö©}=íÜ…¥s‚Û¸QÏò®Zõ”*Üö²¼­âŸ<þ§Õ~%뺃²ÛȶpÒ ˆ÷f~B¹éð®î„zbæ\ݳz™øW*yê{’¯–á=Î[³Ë·õ¯ú ßÿàC/öö³ÿAkÿü oñ¯Xÿ…C¢ÿÏkŸûì…ð¨t_ùísÿ}ð«ö{‘ý­—'ày?öî±ÿAmCÿüjÞ“{â WR‚Æ×VÔ7ÌÁr.Ÿ gæ~¿Qõ"½7þ&×͹Ïûãü+cÃÞÓ<=,מd³J1¾Vßè=³ÍT)TRÕœ¸¬Ó*N4á«ò ^æëBðÚ¥¼%ÎäËìB+±=@fþ•ÂE5ëkía§}öÄ™•§ódܤFHÉþ¬®æû¤ï^¥¬i1k\¶SgdƒüðkŒ> Ö¤ŸaŸOM®\_ \T)8頸㡮»3Ä£Rš‹æ:ï j²júä ,Ž˜p‡Ù·k/KÓ!Ótø,íÓÀ=ÇϯãZ•¡Ç6œ´Š( ¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¤4´†€9Ïê ¦xnúå_k¬Lž›ˆÀýkç&f9s’K`’zóýxü…{¿ÅçÁ×{yù£8úHµàÄ ˜Ï8ÿðçbß4’>Ç©¨ÐE¹î|7›£Åvñ´Ü(‘É€z/á]ð½k7IxÛM‰»Œ}8­!÷«ºœyc¡óº’«ZR˜ïÀQø péKVrü(§RPEr?^}ñ'ðßhÏ{x¸´ýè+Õ€ê¿LW¡15—®4cKºó@ÙåœçÓÔN<ËS«VT«EÅõ>g À† C)rœr9ý+Þc¿:¯Ã×¹b –ЖÇf*s^ éøf½‹ÂêÃáKƒŸõSî7¶å^} ‘õ¹Ì*{£Çîzq_@ü8#þË ÿpÿèF¾~þ ÷´Ëà[V·Pe³(nw0šM‹ˆWû=3·Í#økȵ‰z晨Écy¥Ç ñòPÊpG÷Ç#ô÷ªƒâæ¦W:%ÿ¶­ÿÄ×d±ã¹ó´rŒMhóÁ]Ð3éHH<ôâ¼\ü]Ôÿ|_÷ôÿ…Wºø«ªÜÆË ¤HHë’ßÒ¡bàú›¬‹}PÿŠ×>¹k {ZEŒœrxþMX¾‰¤ñ¾ž@8C&qî¤søç󬫹¯®k©L³ÊÛ™‰çŸOnOç^ð«ÃsCæk7ql2¨XCw©5ÍÞVæG¿Š¶.öS~ñêÿÁHÌ8=(§­s1ñ~Ñå¸c™V5îÌz ô§%v|U2«QF=Nâo‰šW]Õ¸?<ì`~ï×®}ˆõ¯=Ó¬fÔµ,­òÒÈà=;ÿ"~‚£žâIç–æy7K#–gì{ñúJõ?†žû5§ö½Ú$ y`ÿ zýzÿÀ@¯-~þ¥úm7·m¤ÎËGðå® G§ˆ•£Ù±ò>öG&¼KÅ#ø]–؃öy1$$«ÎÔt>Äw¯£q·€jãüsáµ×t·XÆ.bÌ·£{ûWej)ÃDxfc:8‡)=$y‡|Lú²°Îø³¹`²xV8Úß™ö¯~‰ÖE)HÎkåwW$Œ¬ˆJ²0äuÊŸ®kÙ>ø¨ê6ŸÙ×S»·ÿg¡¬pµ~Ë;óÜ•±4ÖŒê¼W¨+Ã×—cŠ"Ã=Í|àÅ™Ùå9bùcýãÜþ5îÿÉ> ½*r™ðgôá {~cüj1rnIðì#¨·Gµ|8ðìv4w³Ä¿h¸Fb>è<^‚ pJÌÑLm¥[ùDl1®Ð;ŒV®x5ÝIZ:1Œ­*µ¤äp)Ø¥Š1Z¢bŒAKŠ(1´û×…|SÇü&Óì©ÿ¡5{Áé^ ñKþGÿ^éÿ¡5rã>Üáï÷´;áXÿŠÈÿ×»ÿèK^ì•á? sÿ ‘ÿ¯fþk^îµ8Oá•Ä/ý­ú"J)3K]‡‚ÒN)iLæ€ÿ„×Ãÿô±ÿÀ…ÿ?á5ðÿý¬ð!ƾq:þ¢Çü‘GÖåØ_êíùø£Œü=ÛX²ÿÀ…ÿšßÄú-ìé ¾©i,Žv¬i2’N3Ž |Ö03œóõ¯Qøaá†Ûý·s ! ¼€7}kZU§7ª81ùM,->e;³×@Q°z T(êëG€„Kš(Åah¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Šç¼Y¦[׶j2ÒFÁ}oÖ¾o‘YY¢qµ× ƒÆêú©£<ç?…x¯Ä/Ëe}&©e h$%¦@3µ¿½\XªM®d}AŒ9:Sz3¦øqâ4½ÓÆy¹¶R q_þµz6îœõ¯–¬ï.-.cº²™áš?¸Ès¯¨äó^¥|XžÝ5;`äËHÛþù¢†!ZÒ5ÌrZŽ£©E]3ÚâŒû×—ÿÂàÓÿçÆïþù_þ*ø\Zwüø]ãŸüUoõˆw<¯ìŒ_ò3Ô3Fáê+ËÿáqißóáwÿŽñTŒzüø]ÿãŸüUX§Ü?²1ÈÏLf rkÎ>$øš+]%´è$æè” v^rÏ­`êÿn®ax¬,ZÃïÏÉEþuç÷WSÞܽÅÌÍ,Òg%Ðà~"°¯‰MrÇsÕËrYÆ~Ò¾‰ÇË"Åî–Fت;±8üÍ{Ñ°þËøxÖYËEfP°ö^µÂü;ð„×WPëwqbù¡B:œc?…z‡‰p<7ŽÇþ;SB›Œ˜fØÕZ¼)ÃdÏ›; ÷ÿ‡ 7ƒ¬sýÓ×ýã^>í}ðá¿â±ìŸýÖx?¼BßÕi“x§Âö^#±hfŒ,©Ÿ*P9Sþ{w¯Öô[ÝüÛ]Gœó€Fñê?1ùZú_nGõ‡­ø~Ï]³kkˆƒ)9¡SêcÉç¯5Õˆ¢¦´<<¯6žJ-èÏ›€éè}xþUÓi>Õux#šÖâÅ£cœùþ‰ü'{ᛲ²‚öŽqà?Oþ¸ªºˆoü?x&´mѱùá'å#×ë^t)ƴϲÄbªb0þÓ ÏFðÿ«kIVmVsv@º}êkÒ¡!ËUTt¬x³Oñ¢½»þð¬‡Ì§é]òO±¯R”b•â|2­yÔµkÜŠ{„¶¥s…PIcí_?ø×ħÄ:ÛI“g)¡=¾¹Zí~'øŸìð "Ò\M2æVS÷S°üMyLÉslûú⺿øU~"ù–CþÚ7ÿ\¶­£ÞhzƒØ_ Rsµ—$~? ÂTêAóØõá‹Áâi¬<Ïl¹•óòOþ*“þŸÿ>’ÿñUÑõŠ}Ï+û'üŒôüÒf¼ÃþŸÿ>7_øçÿKÿ ‹NÿŸ ¯üsÿŠ£ëûå8¿äg¦1í^ñCæñÿ¯eÿК½ÿíüE¨ ;{+ ÅY™È\ ìO5翲|Yü{/oö›ü+ L”©ÝùÑÆòÔVc¾ÿÈÞOý;7óZ÷€x¯›ü-­E k&úd‘—ËØp¥zübÓ±°Þß+ÿÅTa«B0³gNy—×­‰æ§£Ô 3^cÿ ŠÃþ÷’ÿñTßø\šýîÿ$ÿâ««ëûž?öF3ùéù…‡¨¯3?tãÿ._øçÿQŒ~Nln°:ðŸüU/¬C¸eb’»ƒ1þ-i­§m¨¢’ °è ’WùŸÊ¸ÍQM+V‚æpØafR3òd׫éÙ|AÒ¯-Äq*ŒI P7óÓò:Ÿ¯­y&©¤]h×ÒX^Fbtû¼pëÜ©î?—|Wuïó­¤Ê«óÑxJš3ß´ûm"öš( uqÁA}jÿö.˜ßòéýð+Àü?âÍSÃò„öÜ£¹Çà wVÿí¼¡ö‹ …~á °üó[B½&µ<¬^UŒ§?rí‡ý‡§Ïœ_÷À£ûOÿŸH¿ï\'ü.;þ|.ÿ%ÿâ©ápéßóáwù/ÿZûZG'Ô1ÿÊÎçûÀøõ‹þøj(#†0‘¨UT` WŸŒzw}>ïò_þ*“þþš9m>ó‘“€¼ãÔF¥?²EL3–õ"ìzpãŠubèz¯öΕêÁ$+0܉&3ŒåzÚ¶+¡jy­r»1ôQE (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ƒUç·I£d‘C«0EZæ“m+]Y6Ñå^!ø[ Ô¯s¥Ìmܶæ†å?óü+Š¸ð‰me+ýŸæãþZE2•üŽ¾ˆ9¤)žÜÖÃB[Æ;ÄÑ*wGÍÿð‡x‡þsã¿ãKÿˆ¿è7þ;þ5ôw”¾‚)}gõHë~ÈùÃþÿÐ.ÍÆ”x?ÄXÿ\ßšÿ}äA@ˆtQõ(â:ý‘óͧ€|Iq(C§ˆTÿ’ ð?¥vÞø[´‰s«Kö©G+Œ*ר„qÇÒ¾Üc¥k <#©ÇˆÎ±5ãÊ݈`†8cXãP¨6T5ëi.´KÈ!äxX*ú’­p¸Æ&Ñœ÷çšÕÅZÇ“¸Ï˜ù´ø7Ä ãû*oÍƽ³ÀÖ:w…lຈÇ:‚QÉ5ÒyIž‚´‘Á¬¡EA݆/2©Š‚„ú*2¦jAÒÖçšeê}¶¥k%½ÌK$N9R2?Ïò¯ñ7ýKM¾VÓ!{«W9\PûŽâ½×›Aì+´c4w`ó ØWx=ž´ÝÅZeò\ÙXͪ{‘ó}y¯X°ÖõIô §¹Ò®!½…aùO˜ßÃŽ{ÿúñ]Q‰xÊ)#¹ D@9éÓéE:*µÇŠÇ}b|òZŸ>_økÅ7ú„÷—:dí$¯¼Œ¯Ýz ë>ø&êÖùµVÜÆêvÅóƒ½ùW¬lR:Rìq¥J ¹ùêfõ§GØ¥d9Tmè(ÇÒEtO¨}©1O¢•‚ä[xâ¸xEõÛ´Y ût¦8,3’¼vþ ô bšFF )Ç™r›PÄN…E8=OœÂ#ÒæV*C”Œó×Ôçð¯cð¹¾¾ðê&±lñÜ&cmøùÀïŒ÷®¨CçhÍ<.ÌÖP¡{˜¼Ê¦&Üۣ̥ÿY+öGÎð‡x‹þs~kþ5$>ñ ÓÇÓ¥PÌquÂŽä×ÑžZt~Tl†>œQ.g> ¯%k#ú:•œK¸‘Én¤þ'Ÿ­&¿á{[yWQGÝqÃF}Aþ•Ð…À¥Ûÿ×®§òòž/·©í}¥õ<;VøY«ZÈÍa$wQg!$;_ñã ùŠÀ“Áþ$NK—þúSü}“Ë_•„°{½ÿMYê|áÿwˆè7æ¿ãGü!þ"ÿ \ßøïø×ÑþJÿtRy+è´¾§õŽ¿d|ãÿoˆ¿è/þ;þ5­áßj—zÌ_Ú6fHÈw˼ŽÝkÞ<µþâÑ°ƒJ#„„]ÌkçõêAÆÈŽÚ J€ €=¥Y¤NÅu%dxRwwbÑEÄQEQEQEQEQEQEQEQEQE'f–ŠLQŠZ(1F)h ¢ŒQ@X1KE˜æŒQE-Q@ Š1KE3h=©iÔPb“ê(¢Š(¢Š(1GjZ(£ð¥Å-Í´ìRâŒPbŒRÑ@ Š1KE7`bÚ’y´S0(Å- Å&)ÔP+ ÚŽÔ´P11F)h Å&:ŠLRm§Q@¬¥Q@Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Šò½[à…ufûT¸Ô5•žöâK‰9¢ ر1“ŒŸS^q¥|&Ðo¾2ëž–ïR}…’ÜE"Èžib!8c³ýãt ü@>›ªvz¶›¨\][Ùj—3Ú>˘á™]¡l‘‡åNTŒCé\…¾ xoÂ>#´×,/uY.­wìI匡܌‡ FF=ëcÁú†ôøžóDÕþÛ}wæê0ý¦9>Í&ùݪNYÆ'åö4ØQTäÕ´ØuHt¹u DÔ&MñZ4Ê%uç•L䕹±ôªð–xoûGû;þ +íÞo‘öo¶Çæy™Û³ns»Ép’ìÎq¤ã8=} hPEãÿ?ä¡üNÿ°¨ÿÑ·ìU95m6R.]BÑ5 “|V2‰]yåS9#ån@ì}*Ÿü%žþÑþÎÿ„ƒJûw›ä}›í±ùžfvìÛœîÏëšØ¢Š(¢¼ÿãoü’wþÝÿô¢:àþO7†|Osዹd0jºe¶«fÒ±Yš5fXÐðÇA`åã”ß(®?∿áøu«ßG/—u$_f¶+7”þdŸ(d=w(%ð9ùN£É>è“x{âΡ§\yžzèI,‹$f6¤û<… žARûƒ¥}E‡?<+kq-½Ç‰thg‰ÊI—ñ+#‚-Aã¹EN=[M›T›K‹P´}Bß-¢Ì¦T^9dÎ@ù—’;Z¹EcØø³Ãzävv Ò®î¤ÎÈ`½ŽGlNœOáW5-[MÑ­ÖãTÔ-,`g²]L±)l€XœqìhåOMÕ´ÝfÝ®4½BÒúr%¬Ë*†À8%IÁâ®PEcÿÂYá¿íìïøH4¯·y¾GÙ¾Û™ægn͹ÎìñŽ¹­Š(¬øµÝo·yZ­ŒŸÙùûnÛ„?fÆsæsòckuÇÝ>•LxÓ­n÷ â]ÀŽ¨ò ø¶«0%A;° ÄûO¥nQESÔµm7F·[SP´±œ"Éu2Ä¥°Nbp DZ  ”QEQEQEQEQEQEQEQEQEQEQEQEQEãþÿ“¡ñgý‚£ÿÐmkØ+Çü=ÿ'CâÏûGÿ ÚаWü ÿ’‡ñ;þ£ÿFÜW°Wü ÿ’‡ñ;þ£ÿFÜPÅ oüzðæ Ô–ÂïLTšHä(ÞNéÌ &0ë‚0sƒÁ5Ö_|ðLú–V–³ÚßyA#Ô ò;‡ùÙ l9#êq·‚3üCÿ'Cá?ûIÿ ÝW°PÏŸ <,~$xj)|Sywu£é,¬ôô»‘RFPì^UõU™J•ÀM¤`r|PðV™ðÁô?xHIc=½êBÖ¦Y$;]òX¶àRŒ¹ÃíÎz?ÙÇþIæ¡ÿaY?ôTT~ÑßòO4ÿû Çÿ¢¥  OŒž.¾Ð4½/FÒ¯cÓïõ˃n/æm‰mÚ‹ç(réó`àn#\ÞðÿàΟ§$:ˆt­Rë‚÷k N!V9 H$g©­OŽþ›QÒôm}ldÔm4[†{ë$%L–í´¹ÞT,@$-ÀSYz6‰ð[Ó’ò/°Ú硾Ôæ·‘UåÆq•Ê䊯ðîâÃÁŸ%𦉯jø{U´3Zˆn#¸Ϋ’de+b9ËÔóœq_âöwü.„ÿ…‹öïøE>ȲönòwlMùòþo¿»8ù³åçäÅužÒ~CãÄ·ð¼skVò\}¢ÞêibHT#s9F$KŽ7c œ+ Õüwà‡Öï|%â «HçGU’ FäH6,ªÛ˜Ç#ˆ;—Ó >›àŸ‚Þ3·kMâ8®är‘ùW²¥ÆT;#˜Ãnrv‘Œ÷{e|ññRÛᎎú§†o¬m¼J%Ž[C£Ü’¹FPr±’‘áNà~RYr ç>çᩯ®|+¤Oª ¡%”/t$c Jù\ §vxÀÅyŸˆäè|'ÿ`©?ôªö ñÿÿÉÐøOþÁRè7Uìóÿˆ¯l>&|EÕtxž Ã: ¦í¤ž8%¹œnFq¼•8eo›œ.ÐcWð¿Å]m> ésÜi:įy§êA¥TŒ’]ЬM–åöž¤mS´ÈêçðŸÀ«kyg{¤h]„zÔŽÄže%°žÔÒ|ñ=ÇŠ>ZÍ{<÷Ör½¥Äóc2Ã)Èûß# $òH9ÏSåþiÞ3Ònu-~Iî4ÛK¶ŠÚÅ.Ècc0# ¬ ÙÎ@í­¼/„Öã²[é7wÈ¡ÙÉvVò‹üä–qŒ€r+‹ýœäžjö“ÿEE@çÅiŸ Cñ—„„–3ÛÞ¤-je‘ÒCµß%‹n…(Ëœ0nÜçè:ñÿÚ;þIæŸÿaXÿôTµìWü ÿ’‡ñ;þ£ÿFÜW°Wü ÿ’‡ñ;þ£ÿFÜPÅ oüzðæ Ô–ÂïLTšHä(ÞNéÌ &0ë‚0sƒÁ5Ö_|ðLú–V–³ÚßyA#Ô ò;‡ùÙ l9#êq·‚3üCÿ'Cá?ûIÿ ÝW°P—üÖo5†«ãùŸÙ÷og ’K£¨$“ÓyQŒª£Waÿ ߃ÿèkÐÿðcÿ^û8ÿÉ<Ô?ì+'þŠŠºøR_?è^ÿÉÛþ9@üfž¯ƒÅż±Í©lñÉWS,ÿ°Tú ­»¦Í9F_¶¾¶‚PNpØV ‘ž>\p29ãVƒooâÝƾ—>«áè¢û£o 1 ÌQ÷“!ÇA”°Þ*ņ¾êqÝCq¥$oœ õi¡q‚G(ò;Žzô àÖ¤šO‹|Ià‹}[ûSLµÿKÒåŠeš$ˆ·Ì7Œ|ÇÌ »ƒãçXðü&ß´_ˆt‰¯'¶°6‘K{äK±äa‡jŒ©÷†3‚1òç¨ßü;ÓþGâZO[fêÊ%‚æé&•ã`îß*—b˜AÜ0F ɬÉÐø³þÁQÿè6´~ x>ÛÁZ¥þg&yco%ÚʳÉ(q–(ÊìFF8<Œƒ_À> ƒâ?†¬üMãk‹½Pº,íMì¾TIHŒ„d0•š&,Ca·gééž;ÿ’yâ_û]覮à—ü’ þÞ?ô¢Jàõ¿ Z|.ø½á ß ¼ZkWcšÉÝÙKFónË泆@ysâkž(ðÿýâ{I5<Ï{?ZYFÿñ&ð–Ùä–& ùVÆৠ\"”'¤/‚EgøÃV¸øIñrãÄQÛyÚ6¿hí%¬XŒ4裰o½¿c ž&|s]GÀÏ>à·×oZy5=vSs<“†P ÄîÎY÷`gÌï€hÔ(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š+ßÂÚ5§Š.üKžÍ^î! ÷kè€6“´}Åè;}kbŠ+Gð¶ ê:¥þ™gä]j’ù×æ»y¯–9Ã.Ý1Ö¶(  { h×~(´ñ,ö{õ{HŒ0\y®6! ÚÓ÷Û¨ïô­Š(   ø[FðŽ%†‡göKY%32y¯&\€ Ë’z(ü¨ñ'…´oiÑØk–kµŽQ2§šñáÀ ¡£ζ( ¸{ïƒþÔ/$º›Ã$Œˆ%’pˆÁGNÞ½k¸¢€2ôO è¾·ò4m.ÒÅ "9† ­ Q…ÞÝ\ŒžX“Éõªúÿƒ¼9â”eÖ´{K·(ÎdÛ*¨mÀ,‹‡Qœðê}MnQ@~ð³Á:¢—úv]& <ÒI6Â!”HÌ 9µØQEcÜx[F»ñE§‰g³ß«ÚDa‚ãÍq±`FÐvŸ¾ÝG¥lQEgë:—â9ì5{/m['dɤ‚7)ê­‚pÃgƒ\½Áÿé÷‘ÝCáÈDÎòÉ2‚9Gb§¯qÇ^µÜQ@Á6¶ñ[ÛÅ0D#Ž5 ¨ `Æ+/Ã~Ѽ#§Ia¡Ùý’ÖILÌžkÉ— r䞊?*Ø¢€1üIámÅÚtvåŸÚíc”L©æ¼xp(AèÇó­Š( ±ô hÚ£ª_é–~EÖ©/xþk·šùcœ1 ríÓkbŠÇ¸ð¶wâ‹OÏg¿W´ˆÃÇšãbÀ í?}ºŽÿJØ¢ŠÇðß…´oéÒXhvdµ’S3'šòeÈœ¹'¢Ê¶(¢€3õ½Nñ>“«[ý¢Æ}¾d[Ù7m`Õ Ž@<±aco¦iÖÖqùv¶±$0¦âv¢€dòpëV( ±íü-£Zx¢ïÄ°YìÕîâÏqæ¹Þ€(i;GÜ^ƒ·Ö¶( ç‚«ymî"Žh%B’G"†WR0A‚ãÃÏðcáõÍij¿‡c#—aÌÈ “ž\À;WyESÓt7F·k}/O´±œ»Gk Ä¥°HPpÏ°ªvþÑ­ëíᯉðƒÃâXüE ÞÛ™tÉãgkRŠH‰œ(  £#îs ìfgùK“çq´œó`m&±¦èŸ ,ÓÄ?|}ÍÄ¡»Ó&Ô"˜^&v²<ð…´¾#Öo ðä;—M±´•Fæ>é ¨Ã4‹’7žB¸èú+Àîtkï¾,ÒõMVîãÁW·Þî åɉÝpY.€›Ã"‚B8È-ë5Ðõ¯hÐéÚ&»&Šïp­sw&AV;S—Ùœ2ñžOBÒQ_?ÿ²øYoûý;â7Ùo£ùíçþ×µ>Tƒ•l§ƒƒÁŽ£­vŸü]}¯éz¦ªÞǨ_èwÜßÂÛÒæ#¸#Î\åæÀÈÚNI&€=2ŠùãRk?üJñ&‘ãÿO¢éúd»tû4[G"«0Y3&T¶ÂHÜÂL© ¸®¯Ãt:÷Mñ„Ð.y¦j¯úT<Ìaó–W÷½†=‚€¥¥ë·røNúô[ß[Ýë`»˜…#s•W`Ê€,)È8;Ÿ´wü“Í?þ±ÿè©hØ(¯ƒàpñ%¼Z§üC¬ÝëS y9#U·Ü7†CŒ+3ýÒžwè>!ø9¼Mz³ëž,“H𕽺,öÑʱ ¥.ß3»| äíÜpœD¢¾tÕ|#á/iwç>#ǵhžhõH\"üÆ-¨bJŒ) €ç#Ôì>ÇñoáE·öŸm§}£ìøFY#nÙØ]ñœg'iìh?„Þ5Ô¼yá[­ST‚Òâ½{u[TeR¡²w3åÏJÜñ·†?á1ð…ööϱý«Ëýÿ•æmÛ"¿ÝÈÎvã¯zðO„ß ´xVëTÕ.õ(gŠõíÕmdER¡²w#åÏJôÿŠúl:7À‹ý.ݤh,­í-ãi,U&‰A8gÐPy¡iŸØžÓ4Ÿ;Îû ¤VÞnÝ»ö ]ØÉÆqœdÖ…rþ¾·Ó>hw÷’yv¶º%¼Ó>Òv¢À¥Ž'•å~ðÖ¯ñ±/uïêÚ•®ƒö‡];N·` a‰ ’›(r›ö–b6à€{åà~$ðÖ¯ðM,µï jÚ•Öƒö„]GN¸`Àå-›0@›ö†RTw`j~ÐÖúŸÂÍþÎO2ÖëP‚h_i‘ ”©ÁädÖ€=¢Šñ¸>[ŪxßÄ:ÍÞµ:‘c’5[}Ãqˆd8³?Ý!yáGsáEÞµáÏkÿ5]FMN t¸´œ‘  ‚@+$.p¥É4ì”Wƒøòóþ?‹“xGÅ^ ŸBð¼V‹$ ä¥ãWù¾S‡ †`Ty[@ I«šoÁ? Ý[¶¥àßjQÞDå"¿µ»Še‰°7å9*Ä`0ûèà€{eQ@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@?ñþJÃû Ÿýo^Á\Ž¾hÿ>Áý­s}Ø|Ï/쎋ûsÊßÜ1Þ¸ÿøgÿÐK\ÿ¿ðÿñªÏø¯ã+ÿgø Â7Ð_ÝjWh·rÁ™#D]¬ °R ä‡fBvˆˆ=H®ÓdzÍàƒW©£Ë { (l ™ØïU%!ß•Æ+dŽ@8í[žð?†¼#æH‚ÒI2l´’q•Þä¶ß”¹ÆFqšÜžn­å·¸Š9 • IŠ]HÁ#ŒPü>øMð÷Yðm…ü±k]MorÿnoÜJcBñb&P»IèÙažOJæ<8¾‹ö‹Ñm¼Í6Þ)¢‘ÖG‘%˜C6æFf$® Œô;I'³Ÿöuðl×Ê—zÌîYbŽâ2¨ û£tdàtä“êMtšg hž(Óuí& ì¦Óâx£‚)÷œ°.͉ÉnŠ£ År§†×Ç_ ®.%Ž"ÔÙä’F ¨¢[rI'€ç5앇⿠i3ÑŽ—¬Ã$ó#hä(Ñɵ”8ǀǂõ¹ÿ|&Ð|¬Íªiwz”ÓËnÖì·R#(RÊÙQNrƒ¿­yÞ“¤h_~0ø«þë­óX]ýOÓÅÑf<Õ .wœv730qP|`ð§Ãxq­tý;Èñ ÖÃj©s,†47;rFG$ð8$z_ŒþøgÆú¢jwâîÖð&É%²uC0Û¿r°$€x8à䌻€~ ·ÑîìvßK5ÎÛe•Zh”2¶åؼ¦3·v†phCþmëþåOý´¬€ž'Òõ[x~)öêzo˜fø,+0uþòüàCÔr¤úü#vð†ÿÂ/æOöìÿìÿ3pó<¿/ËÎqØïŒgµp÷üq£ÚXí¾Škl¶Å*¬Ò©fl?˱¹|gnì*ŒàP?ÆûëO¢øJ“Ï×gÔ#™ÑT²[¦ÇŒ‘Ãîà*–8ÍŽ—þd¾ðåÕßÙ4[Pÿ‰„ÂO,¬hÑŽXü»G˜Xîeö®£Áß ü-à›Ï·XA=ÍøÜîò@ï°…8Ýó0Î+ ñ?†4¿hsi¼m¼œ«/ŽŽ‡³ ŸÌ‚$o…_ ´ ZúÎ7Óá·Yýïæ"UÀÃüŽÈÀQÉ ÈÏþÏrXͬøÞ]. ÓÞⵊC–H‹O±O'¸OÔÖåìóà«KÈçš]Vö5Î`žáB>A”En:ðGON+°ð§€´ê:Íæ’g_íYVY!b‚8°\…UFÕÈÁÏP=OKðÄ;Ù,ï“MÔµ 7t’5—˺‹ËvF ´‰cÁùI Œäòø{Mø7ªXø‡ÁúÔêopV]*âe=»î?w‡1›~lœ•!ƒ.O¥øŸàσ¼Qy5ìÖ“Ù_O/›5Å”» ‡9V œžI <瓘ü/ðWÂÕR†+»û¸^¾•\BÃ<ªª¨'rÀà¨#Pñ¿B±ˆ>Ö@Î¥ìÿà=NÎ;Ë sU»µ“;&‚î °H8a#ð¯\Õt«sK¸Ó5;hîlîd±?FÌpA‚"¼¾Ù×Á³\K*]ë0#¹eŠ;ˆÊ 'îÑ“Ó’O©4¡ðóÀ^ 𷊵9|;­]ßêÖÿf»ŠIã‘aýÄ}БŒäwŠôÊÃð׃ôÛσ¦Çf“¸yHvvrY‰8àg'ÔÖåyÇ òãÂö^#Ò“þ&~»[Èä³$yˆ\8eÎဨÜõ¤ð7ÄÇZ\sØÏ7á ¸ÓÞ@e„ŒqÕ“,0à`äg u•æþ!øà­~ð]%¬ú\ŸÆ4ÖX‘ø|…YWþ3’NMnxçâ‹à].I硫kò€Ûéé ÌN@8ê©•9r00q“€y¿ú5å¿…ï|Gª§üLüAv×’HAVxòv’¸ 2Í#£]yè|ðVxnžÖ}ROà“,¨œ~@ª­œÿ8À#½"€<៉ô½âÿŽt‹ùü‹WUqjÏÂ;¤Ó|„öc¼c×ÎHÐ>,xŸKðï€uHoçÛq©ZMikrò;¡\ýÕÜ =¾¤æþ ð^…ã_|L³Ö­<ß+U& ‘ŠI 4—•aø© d ì4o€~ Ò5¼•oµ-˜+ ôªÑ†J¢®î˜ÃeH' Ðü!ºÇü3Gü#ÞOüLþÉö¯#kïÿ_ö/nÝÞfß—n>÷õÈ|?øcðïÇ´±kšªêË7–BâxÜ`;*É1äŒ6OP Î@ú>¼ïÅ|!âQõ)¢»°»•Ùç{UÌqË++x'*KrMrz—À߇z<¶‘j!Õm漕a¶‰îaß3³*€«åe¹uÎÉÀæ´?hïù'šý…cÿÑR×Aáƒ>ð½ä7°ÚO{}¾l7²ï1œ`aT*py© óž7,ÿ°Tú ­{sv^ Ól|y¨øÂ)îΡn-å|  F2£nsûµêOSøW×aðGŒ/äðÞ´tÛÍBØ-%%‹)òù‚»I(p@ ô"¼¯â?Ãÿü:³*ðƱ>¬Á*Igf× â@ £ˆÃüíÃîl–È#Lño¿ xÎâ[ÍFÊHµ PÞÚÈRL)ã#”c—,¤ã°ÆðÁZF¢—’­ö¥³a¾•Z0À‚ TUÝÓl©äï<5©M¬øWHÕ.5žöʉ0B†t @É'>¦µ(¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ +›ñÏŒì| á©5‹è䘗ÛÀœ¥ ¹ÆaI$ôà€|îÞëãW‹å“P±û…¬zAkyÞãsrCFï¸$ <94íW‰Þk_| “ßëi¾#ÒâDšâX©…áv„`qÉbŽ`öjöÊ(¢Š(®?â>âOøzÞÏÂú¿ö]ò]¬¯7ÚdƒtaÝ$òTã§ÕØPEåõmKOñ×û{-BîÚ ½L¥ÌpÌȳ/›Ã€pà F©õ T¢Š(¢Š(¢Š(¢¼ßÅ?ðµµÝéþþÊÒôˆ¶Io©Oµžo‘w!~>foàs¯©ðSÅ:Ï‹¼y®^}®ê=AáWò’< Ž2Õç@‘Eàþ)Öþ3é¾»ñ5ýÆ•¡ÚÙìì Håy7:¨q‘ êà}ñ÷zz€{Åá;ëOÁºýäžeÕÖŸo4Ï´ ÎÑ©cÀÉ'¥lPEPEÇüRÖõ|8Õµm&ãì÷Ðy>\»öî™ðÀƒÁ#‘@?…´mQÕ/ôË?"ëT—μ5ÛÍ|±Î9v鎵±^'¤éÿuÇT·ñ†Œ°^ÛÇqÉ ê‹r3ƒêksÁÞ?ñxÓþoØA¬"g¶¾ƒpKÀ Bã0YvT|»v‚1@¡EPEåõmKOñ×û{-BîÚ ½L¥ÌpÌȳ/›Ã€pà F©õ T¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢¸?‰7þ<…,,| c³Ü$¯qpÊ™€#G·i„Ëna‚ 1‚G/6•ñ×OAvž ѵ3«}‰#LÃpÊå¢@:üÊqœâ€=’ŠâþøúøhÞ4QÛêÎ"¼·GÆC¨ÎB78ÏpÃ'nOi@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@7ñ|Iñ×Á~Ôbôømä½Û´#|ìQ÷d?g@F:ç‘d¯ø·#xCÇžñúC$Ð[»XÞ ©b.A.UçÁÎ2«œwõËû=NÎ;Ë ¸.ídÎÉ H‚AÃ#ð þoÃÏúòJãÿÖç‰uU¹øi«ë]Ì$Ñ溵¸r0Èã¡SÐö"¸¿‹þðÞ™ð·Y¼°ðþ•iu‘²h,£×3Æ Œ‚Gã[óo_÷*í¥XøAy©ü-ѯ/î绺“Ïß4ò±<€e'øVÅ=[RÓüuðîÞËP»¶‚ïS)s32,ËæÀ0à0Ãê}kCàtðÍð“HH¥Þ%U`J7œí†ô;YNbzæþ._[ÉñOὂɛ¨ušDÚ~Tyâ sÓ“þ^â€5>>êÚ–à[/P»±µ8Ѥµ™¢b¾T§©ãØW¢kšÍŸ‡´;Ý^ýöZÚDÒ¾±ÑW$ÄàžI¼¿öŽÿ’y§ÿØV?ý-u,n5…ü6±ù’,I1€ÂG"HçŸEV>øãšóÿxwâOÄ‹3â=SÆ7Þ·Ÿ›+kEt$îØ®˜^@VbÌÃ’q´œCã3âw‚tO]h[Ùj°;R1àÜDÒBc݆ÅÈ9`X’X5í õ[[á΂ö1Î-졵›oXåHÕYuÌFA¼ÿâÆ«cuñ_áî™Ìr^Yjh÷1/&!$°lÝØœuÆB2Þ|Dñ¿ü!ZRZÚý»W¾”[iö`äÉ!þ" îed/$²Ž7dpö ~$ëqC^ø}¦_M´›["åmŽˆ9(#Œäæ£ý læ7ÔMÜš}½ëÅ6¡KZ³˜Ù\*Ä·ËýÞ ‘V øOâ««x®-þ/ë3A*ŽH̬®¤dDø Žs@>ø“Å:W.¼ã;¨.[‹+íÄ”ù²©—Çv7f92[ø}b¼ŸÃŸ o4Oˆf¿«xâ}búÚ)|¸.â>cÇ´¡Ã4¬B©”2ækÖ(¢Š(¯ýœäžjö“ÿEE^Á^?û8ÿÉ<Ô?ì+'þŠŠ€=‚¼ÿãoü’wþÝÿô¢:ô óÿ¿òHußûwÿÒˆè ð'ü“Ï Ø*×ÿE-cüRñÇ„|.£Jý滨ʶº|*‚G.O,9lù™Øð'ü“Ï Ø*×ÿE-yÿÆ¿ôø_¹ýÞ™§ê¿éSõòòñ8ùGÌ~XœðÝ÷¯cð×âMÅœz½×Äkë]eópl w%ÉeF!ömÎ Ž@ 4þø‡Åú—ÅíbÃÅW7qÜ[é„KdÎÂ%‘Þ±ç`,2Ù^òG½Â ặŠâÞXæ‚T‘°eu# ‚8 Žs^/à­VÇZý¤¼U¦ÜÇuhúfÄš>UŠ}¸Ü§‘Áê29 l¯?øÛÿ$‡]ÿ·ý(Ž½¼ÿãoü’wþÝÿô¢:ÇðŸÅÿiž Ðì/5ß.ê×O·†dû$çk¬jd&=+Ã:…ÇÄÏ^3Ò´éít-ÐÚ¼×d•ÊIò€27fn€œ(X-vž ð_…n¼ áë‹ hÓO.™lòI%„LÎÆ%$’W$“Îk‹Ñ‘þ|aO#ξñ ’;3¤3œÛË0ÝxËŠõx²ÏÁ^ºÖ¯Íò°À#M#*‚q’1ÁÆ+Ìì<ñ?Æiý³®øÎïæt …u1¡f;])Œd³`áˆ+ŠÔý¡¬n.þÇ4ïŽÓPŠiÎà6!WŒzüΣ_LÖ^•ð×Ä:æ—o©éŸõ››;„ߨ&ÃûÿAÈ ò àŠ±á­cÅþøƒ§ø;Åz¬z¶—ª#ý‡P™YX*¥ØeŽÐP³c|xnÆO‹ÿòPþÿØTÿèÛzŽƒº”>%е-kâÞ¤öW©-´±3e"FD-1Á+'ð¹Ç'Åÿù( ì*ôm½z“ki-ÅÕÄ?7š È2‚¤®#`Fìü”Psü3ø‡¢Û˨èßu-CP Civ­åÊq‚§Ì‘Ó8'—Ç#¨î>øÍ|uàë}]£Ž+µv‚î(÷mIWÆGB¥[©ÆìdkÏõ_€ÞÐô»OSÖõ›k;tß,¯o‘æçë·—ûùÎ{WaEãó| }?Q¸›Â^3Õt [Œ-âÜù ±rº 6mÄsÉÍImð"ÆÏYÑ5ˆuÛ¹5 +Õ¾¾¸ºÍk× ó ƒr¹ÉÜ~s’p+×(  z®•c®iwf§mÍÂl–'èÃù‚#@#W“Çð7RÒžh|9ñ YÒ´÷}âÙC»h±Iq×hãœf½’ŠâüðÞÇÂz¥Æ³&§©jÚÕÕºAq{}6â@ÆvŽ «÷‹zç›ñõ·ü$?¼ £B³¤šo™ªÜL"Þ‹e*h6’xשâ½bŠ(¢Šóü8ñ&½â;½NÃ⫤Úͳe”M‘aN1*ŽH' ë\Þ›ð+^Ñ­ÚßKø“©XÀÎ]£µ·x”¶É 0À>½²Š§¤ÙͧhÖ6Wr^OooR\ÉÓ2¨ÎI9$g©ëÔבß|ñ&§g%ÿÄíVîÖLo†xd‘•3àà€ öŠ(Éô/„ž$Ñ52_øY:¬Ö62ÄßaÙ"Æñ¡»Çœ@RÜ`Œv®óÆv‹«xNþÃÄ71Ûis"¬Ó¼âÜ 6óÀ!¶ã<€AÎ+r³õ½Nñ>“«[ý¢Æ}¾d[Ù7m`Õ Ž@<òsðRóL³šÜüGÕm<5ó-™&4[rIufó6 ©l±LrI^Õ—ðWMÒ$ø›âMGÃ-!Ðl죳ˆÜæÊÌS÷˜ÇFhdnØÜ¿(è7?áœ|ÿA-sþÿÃÿÆ«Ó4iÒ×MÑlc´´_b’Řõ,ÌIcÐd“À ©\ÿ¼1ÿ „/´¶}í^_ïü¯3nÙþîFs·{×AEgèZgö'‡´Í'Îó¾Ãi·›·nýˆv2qœg5‡ãßÃã}.Ö¾“MÔ,®âÎþÃ<,:È8<rª{bºÊ(¿Ù¾Ñ§}—QX.¼È¼»åb9r0ß!-òž~RO5äó| }?Q¸›Â^3Õt [Œ-âÜù ±rº 6mÄsÉÍ{çþøYo¡ë–ž ÕµíW]Öí¢x£¸¼˜ì@ۇʤ–Va‚Ä|Ìp1¡ãÿÂWâ jßÚ?eþûûO•äoóþxÛnw ¿êñœ¾ÕØQ@Ï7VòÛÜEÐJ…$ŽE ®¤`‚Æ+Èæøú~£q7„¼gªè·2[ŹòAbåt%@lۈ瓚ö (Ïü-ð²ßC×-'­”Œè¥ÁêKHüm,8Áù¸a߬øqà_øWþ¸Ò´~ßç]µÏ›äyXÊ"íÆæþæsžõØQ@G?ÀÅÓî%—Â/Ö|>“¹iâŽFuaŸ‘FÖC…˘±ç¯\èxSàÝŽ‹ââwW»ñ°º)îÆH ˆ%‹:àà–Àã½2ŠæügàmÇZZXëH O¾ˆYa x’ÏìÐÂÐ×Ɖä[ù‘b1µœBð08 z•ìP?àïi~Ðÿ²tŸ=¡iZi$÷<Žp2pÓ×$ôQ@ñ7á—ü,oì¿ø›ÿgýƒÍÿ—o7~ýŸí®1³ß­sp|ñU­¼Vöÿ5˜`‰Gi*ª(>ŒW²Q@|¬xSíÿÚÞ-¾×þÓåùkû»³Ò?ÞÜ:cØQEQEQEQEQEQEQEQEQEQEQEQEQEgëšÍŸ‡´;Ý^ýöZÚDÒ¾±ÑW$ÄàžI¹…º‡‰uÏ ¶»â[Òj2´¶–« ÆAŸ—hcžH%›+°ç$ç›øñ<×Ú_‡¼)i,‘]ëzš"±b±\.$Ç8ß$mŒ»ž gÖ ‚­íâŽ"@‘Ç…TP0€ãÃø×Åž/Òõ˜t_ xFMN{‹u•/åfñ6æÜ®v§‘yaÁèiü-ñ׈<]¨øŽÃÄ6V6—ZD±ÂRÑXaÉ8$»ƒo~µéãÿ?ä¡üNÿ°¨ÿÑ·ìä~%ø…ñ ]´OGŸ£¼Æâ÷QfÛÉÌR´lË!hÓ¨ ÉnN8ö (Æâø­âÿ jCñ±Øi÷.Š·ö!™!ÎfpçåÎÐÁ€á²{%y_ÇFÅ|†öÒ]jÚ¥Â.›py½w0ô;[gŸ3c8ô i³hÞÒ4»†§²²†ÞFŒ’¥‘’2ÆG   Jò¿xóÇIã;ø?ÂQÞ¥«„–öá]¢v1$¸Ý”HÈ Ñ˜ç+ŒgÕ( ¸ø™ñÂrÇyãOÀºCq$ÚsdÃó(ÜÌ$u{[nâFƒ^Áa}o©éÖ×öry–·Q$оÒ7#Tàò2ë\ÅÍcKÒ>êÃUO1obkKhü­û§e%< ¥wäôÛÇ8ÇÂÍó@øg¢i×éåÝ,M+ÆA<Çi° À8v Ð?„|S¬ÙüEÖüâ‹Ï´Ì?Ò´‹©"HÌðw*;ƒò¯U—œ(¯H¯øÓÿsÁ¾4_Ýǧê §ƒ‰å°ûã+µ&$Ÿ×°PEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPükÿ@ñ€uûŸÝéš~«þ•?_//”|Çå‰ÏýßqŸ`®?âw„á4ð5î›ý&Ëœ~ùÂýà>`Y2Nìö£á‹¿á4ð5–¥+n¾‹ý÷Œ~ùË}Ð>`Uðìv ¼áü”?‰ßöú6âºOé_/µ˜eðˆ4Ý?Oê²Euf2îl°ÌOÆÒ£¯cǯ£ü5øµ ê:¥þ™âm ­R_:ñð[Í|±Î.Ý1Ö€=â¹ÿÿÉ<ñ/ý‚®¿ôSU [붞´ƒÄ·°^êë¿íÀG˱\«ÑvŽƒ§ã^wâ_ |\Ön5{KhË¢Þ¼ÑÇm$`0·r@BDçiÆrO¿zÜø%ÿ$‡Bÿ·ý(’½¼?DðÆ/hði:OŠ´;{7yqlß·s<´žI<šö vÖòûÃÚžqö{éí%ŠÞmå<¹VÜ9$ŽEhW/ã¯i~ÐÍýùón$ÊÚÚ#aîvŠ22Ý³Ü éZƉá ;_¿û~§™ç\ùÏ.üÈÌ¿3€Ç Tsé^O­|%ø{ãëŸZkºSÈ—rK`oe’covdP¯(Û»€8SÈçšè< à]SY×|z<ÝbL5†žë„±AÊ’§£ ä/ðçseÏËëãÿð|sÿ¡ÏCÿ¿+ÿÈõêšLwÐèÖ1j“G> –ñ­Ô±Œ+ÊoaÀà¶OAôr±üOâ}/Â:Ú¾¯?•o «ËÊç¢ îÇò$#áÆâOxzâÏÅ¿ö¥óÝ´©7ÚdŸleÝ rã§>õÁüBøSã/øÞ]bÏWÓNŸÆöv·óHë ¿vcdÃ2dŽAï@xcçÅ-røÖ+G#FnP¡ä;ƒÕNä~ó*Ÿh¯ÿ„{ãŸýzýù_þG¯Hðµ¾»iáËH÷±Ç°WÿÉFøåýíÁ߆ûÂßðtÿiqèõìQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEU;='MÓî.®,´ûKiîß}̨Ó6IË2Ç,NO©õ«”PEPEPEPEPEPEPEP=7IÓtkv·ÒôûKË´v°¬J[d…g û ¹EQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEÿÙPKà½!ÀiuduPK\8–AOEBPS/dcommon/contbig.gifŸ`úGIF87a÷ÿÿÿ!!!111999BBBJJJRRRccckkksss{{{„„„ŒŒŒ”””œœœ¥¥¥­­­µµµ½½½ÆÆÆÎÎÎÖÖÖÞÞÞçççïïï÷÷÷skk„{{ZRRRJJƽµ„{sµ­¥ZRJRJB91)kcZB9)Œ„sskZRJ1÷÷ïÿÿ÷ÎÎÆÖÖÎÞÞÖççÞ½½µÆƽ””Œœœ”{{ssskkkcÆƵZZRµµ¥ccZRRJJJBŒŒ{BB9991ssckkZccR))!RRB!!JJ1))99!11”œ”œ¥œ„Œ„”œœœ¥¥„ŒŒ„Œœ­µÆŒ”¥¥­Æ)œ¥Æ1RÎ)k­µÖ”œ½œ¥Î)s1”œÆRZ„JR{BJs9RÎ1J½!1„1JÆ1JÎ9k{ÖcsÎZkÖ!1ŒJ¥­ç!)cBRÎ9JÎ1B½)9¥1BÆ!cRs{Î!)s!){1BÎ!k!s!{ksÎksÖckÎckÞZcÎ9B­)1œ!)„!)ŒBJÎ9BÎ19µ19έ­µœœ¥””¥­­ÆŒŒ¥!!)JJcZZ{!!!1RR{JJsBBkJJ{!!9BB{1!!J9)!!Z!!c1!!kR!!s9Z!BckJs)19!!c!!ZRZ,ÿH° Áƒ r àà†Œ„rxÁ¡B(Khˆ±‰" DÕªuIÇCŽiи @±S« zõ$G”3èT«T°ø°äÊ–&7!f°ã b¸`ýDŒ 0€õá!éA  ÙkÖ,>S«òôçO¬[!ÄÁÄ\µ µ*¨¯_¬‚t Èà Eªxr%¨*_¿}Á€!#¨U #4 & Ö©Ž˜3|b]…Lš Ñ]štÌ Øb+Da&…Rõ—ô_2ƒlEÙ±Z`a´îÀC)/Ñm›vUkS ¾… ró(Ž–-iPE¶™ V¯v_ÿàð{z G…ÌLât\2÷Æs•!F A…#Ä©ùè‘¡JY ¡ r|‘AÆ‚ôAÇ,©hB€}øé÷…àqˆ|B`d€u }—00Á”Ì(„䡆‘<‡–pb‡,¦‘ÑG+oÔB Cü0ÅpÂ/Œ´á…x$Â…ŸÈ– ]Ð7€Ôã ƒ@2HF‚‡cˆ‘ )µ¼¢ @ìAD€À \0 LøÒHGö',(AŒà` `@SÐC)_®ˆ"˜¸Ä àPœH`}¼Y+ˆÒÈ_|1‡.K8„pAKMA @À?3È®æÒ„$[£„JPA–ñÀ)€´¡Ç+NH I ,€@8°G0Ø‚/‹@R T,à`pÁF8ùЃ)³à$^á$Ð DñD¼TƒDlAÃÁ@ s;PKüïü³¤ŸPK\8–AOEBPS/dcommon/darbbook.cssÿÿPKPK\8–A!OEBPS/dcommon/O_signature_clr.JPG×"(ÝÿØÿàJFIF``ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀ "ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?÷ú(¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (®ÇÞ?O 'ö~Ÿ²MQ×$žVz;· üOlÅJ‘§i8L%\]UFŠ»ÕÙÖjšÞ™¢Â%Ô¯¡¶SÐ;rßAÔþÈÜü]ðÔ¶5¾¸ÞŠþ<À׈Þß]j7Ouyq$ó¹Ë<’jÅŽ…«ji¾ÇM»¸OïÅ 2þxÅy’ÇT“´÷8SFØ©¶ýl¿¯™ìð¹<=ÿ>z§ýúÿ‹£þ'‡¿çÏTÿ¿Qÿñuåð†ø—þ€wÿ÷á¨ÿ„7Ä¿ô¿ÿ¿ KëXžß§öMüÿù2=Sþ'‡¿çÏTÿ¿QÿñtÂäð÷üùêŸ÷ê?þ.¼¯þßÿÐÿþü5ð†ø—þ€wÿ÷á¨úÖ'·àØ97óÿäÈö;Š~½pq=£Ú" ~k?ëí®`¼'¶ž9¡q•’6 §èE|³yay§Må^ÚOm'÷fŒ¡ýkCÃþ&Õ<5x'Óî ©?¼…¹ŽAî?¯Zºxù'jˆæÅð•ß={=SùÿßMÕ gVƒCÒ.5+¤‘á€ËŽHdßÖªxcÄÖ^)Ò–òÐíuùf…Íz{CÞ©|Dÿ‘ Vÿ®kÿ¡­zšönqì|…+XÈaë+{É5ó0ÿárx{þ|õOûõÿGü.OÏž©ÿ~£ÿâëÃëf/ x†x’X´[çÔ2²ÂH ò¯)c+½¿#ïjpÞUOZ¯YXõø\žÿŸ=SþýGÿÅÑÿ “Ãßóçªߨÿøºò¿øC|Kÿ@;ÿûðÔÂâ_úßÿ߆ªúÖ'·àeýƒ“?þLTÿ…ÉáïùóÕ?ïÔü]:?Œ>w ÖÚ”`ÿD˜““^Sÿo‰èÿ~«Þxo[Ó 3Þi7B:Èð°Qõ8â—Öñ V¿®Éäùc-Ä¢ôoi:üFM2ö9öòÈ2~ªy©_*Ø_Ýé—±ÞYNð\Fr®‡ÿ®=«èxZ›3鳎£Oêá¼wW½×_™íôQEz‡ÂWãßÇá˜~Ãc¶]REÈeaSüMê}â}â¥HÓ4Žœ&®.ª£E]¿êìêu=gMÑ óµ+Ømôó–ú§ð®Fçâç†`r±‹ë‘ýè¡ãÄñëû½Níîïn$žw9gäÿõ‡µMa¡êº¢–°Ón®Tuh¢f˜¯2Xú’v‚>Þ‡ a(Û6ß­‘ì?ð¹<=ÿ>z§ýúÿ‹£þ'‡¿çÏTÿ¿Qÿñuåð†ø—þ€wÿ÷á¨ÿ„7Ä¿ô¿ÿ¿ KëXžß¯öMüÿù2=Sþ'‡¿çÏTÿ¿QÿñtÂäð÷üùêŸ÷ê?þ.¼¯þßÿÐÿþü5Kkào\ÝÃÒ.â8S$±TÉêO £ëXžß€žG’¥w?ü™çáZx®æ±´¼ŠX)’áC7 Ã‘Æ~¢²µŸ‰Ú.‡«Üi·6ºƒÍš(ЩÈŒ¸=ý+¤Ñ4{mG·Ó­¸-Ž]»±÷&¼â'üº·ýt_ýk«V¥*Iõ<£ƒÌ1Õ)Ùû4®µ×thð¿tßIs„q›p¥üôQœçÃJé+È> ÿÇæ±ÿ\âþm^¿[aªJ¥5)nyÙÖž:4¾oÅ&QEnyAEPEEss •¬·72,PD¥ÝÛ¢Ô׃øÏâ÷ˆ¦’ÒÉÞÛK᦯ííüë øˆÑW{ž®W”×ÌjrÓÒ+wÛüÙêÚ¯Ä iÑM¨¬Ó/;pd?˜à~&±Æ?‚@´ÔÎ;ˆ£çÿ¯Ž7–EŽ4gv8 £$Ÿ¥l'„z§ýúÿ‹£þ'‡¿çÏTÿ¿Qÿñuåð†ø—þ€wÿ÷á¨ÿ„7Ä¿ô¿ÿ¿ GÖ±=¿þÁÉ¿Ÿÿ&GªÂäð÷üùêŸ÷ê?þ.Æ iR(¬5W‘Ø*ªÃ$ž€|õå?ð†ø—þ€wÿ÷᫼øgàk«mIõbÎHÜí·†eÁ/Ž_Ðt÷>Õtëâg%ÐåÆåy.„ªÞíl”·}NÔ5[]+Mkëæ0Ä eHËdôPrsÆsÖÿtù'U¹³»´›ižC,y8`V%9Àù‡Z³ãÁ•©IËia|³Üª‚v¦Öñßi מÀ±YG,’Ëo}öë+«kk{YbyIeb¡‚Ì*sÎÞAÅtÕ«8ÊÈñ2ü¾…zóWoÏ×Eæ·×K5óöz*¦—o-®“eo;nš(³œ°P üêÝu-I)4Š(¦HQEQEQEQEŸ®ê±hzæ¥(ÊÛÆX/÷›¢Ä?ùŽöò}BökË© “ÌåÝrkÚþ0]4>†8óîÑXz¨V?Ì ñ}6Óíú¥¥˜$}¢d‹ö˜ë^F>nUú ááK µì¿?äBÕ¿ëšÿèk_9×¾xžåï~Éw'ßžÆ êÛ þuÇ„›t§ØúLÿ ãð؈îä“ù5cÀëê-þEÍ/þ½"ÿÐ|»_Oè³Åoá.I¥HÓìÎÀ¸=iå߈ãÝ*Iw’5(ªŸÚºwüÿÚÿßåÿ?µtïùÿµÿ¿Ëþ5ês.çÂû)ÿ+û‹tŒªèQÔ2°ÁdUµtïùÿµÿ¿Ëþ5Vÿĺ.™j×Zª"Ž‚@ÌÞÀIúRrŠZ±Æ…Y4£ß¡á_´;}ųÛÚ(KyQfŽ1üº¦Aǵt¯?ßÙç÷sZù„g«+?F5Èø·_oøŠãQØR&ÂD‡ª àgß¿ã]¿Á6F¿ÔuR¤D‘ u>¤ÇòÚ¿xôlñ7†×?IÌTéäŽ8Ÿ‹•'ë§ãsØh¢«jöú^Ÿ=õÛì‚.ííè=ÏJö›¶¬üÊ1rj1Wlä¾$ø¯þýì–²cP¼˜ÓøŸú¥x«;„E,Ìp$ÖŸˆµËkw•É Èqg"4ž¹5Úü(ð§Ûõ®ÝÇ›kVć/¯Ñž=+Å©)b«Yl~›„£K#ËJŸïÍô_×›5&ø\«ðüF±®'úI#©8æ/Ëÿõä|«wʾ²¯ø§á_ìXjö±âÎõŽðËÔþ ×ëšÛ†QŠ”:oçs¯^T1.îMµëÕ‘è_|TO.;?ãßÜëëæ_ ø‚ ë°jå³F?å¤g¨þ£Ü úNÎî û8ní¤A2FÁ®œ%i =ÑâqWõ,G=5îOUäú¯òòô Öu8´]ïR›”·ˆ¾Üãqì?ø×Ìw÷×ü÷·r'Ë»Sý+Û¾.ܼ ©ââê8Ûè7óQ^elo/ííTàÍ*Æ?õ®L|Ûšô<%‡…<,ñ/víò_ðOKøsðú BÙ5½f/29¶·nŽñ0î=¥züq¤Q¬q¢¢(ªŒ=¦ÛÁ­´Vð¨X¢@ˆ£²€*Jô(Ñ(Ù™f5qõJN‹¢_ÖáEVÇžQEóŸÄOùuoúè¿ú×Ñ•óŸÄOùuoúè¿ú×aü5ê}gÿ¾Oü?ª:ß‚¿ñù¬×8¿›W¯×|ÿÍcþ¹ÅüÚ½~µÁ]N&ÿ‘O—þ’‚Š(®£Á (¢€<Ÿãˆ]>Í @øVQ=Æ^~Uý ü«Ì´m&ë\Õ­ôë5i›žŠ:’}€æµ|}r×~9Õ‰ùfòÆ}þ•_Ã>'»ð­ì·vVÖ²Í$~^ë„fÚ3“Œ0ë^i©×n{\ý_.ÃO –F8tœÜoó}ý?${φ|#¦x^Í#µ…^è¯ïn~w=þƒØ~½k~¼?þ'ˆçÏKÿ¿RñtÂäñüùé÷êOþ.»ãŒ¡hŸ![‡3Zóu*Ù·Õ³Ü(¯ÿ…ÉâùóÒÿïÔŸü]ð¹z_ýú“ÿ‹ªúõ/õW1ì¾óÜ(¯ÿ…ÉâùóÒÿïÔŸü]v~ñgˆ|Yq<×–¶0éð ¥âÃ;žŠ b8ŸÃÖ®ºs—,w9ñ\?ŒÂÒuªÙEyíS·ÒtÛK†¸¶Óía™¾ô‘ªÇê@Í\¢º,™ã)Ê)¤÷ (¢™!EPEPEPEPEPñzѧðts¨ÿ{¤v>ŠC/ó"¼NÂèØê6×`dÁ*J®Òô¯§µ2gG»Ó§ÿWqBq§±üá_1êZuΓ©\X]¦ÉàrŒ?¨ö=Ey8ø8ÍM¡pž&p³ÃKtïòðO©-®"»µŠæ¨wR2 K^-ðóâZ< £ëÂÌÜ\c>V…¿Ù÷íôéì–÷0^@³ÛOÑ7ÝxØ2ŸÄW¡F´jÆësãó<²¶³„×»Ñôküû¢Z(¢¶<ТŠ(®OâF¤šw‚/ƒ6$¹Þ1ê[¯þ:ÖÞ¯®éš©¸Ô¯#q¤üÍì«Ôþà~4ñ|þ,Õ›LVPemá=@=Y½ÎÓõ®LUxÓƒV}A•UÅbcU«B.í÷·Ds5ïÞ*µk„²Ù¸ÃAeG>ªPJòxžtÍ› §b88?*þ$~@ׯüDÿ‘ Vÿ®kÿ¡­raiµJs}Qôö.2Ì0Øxï&þmXùξ›Ó,íµØZ]“A-”Jñ¸È#`¯™+ê-þEÍ/þ½"ÿÐ<½]È\a'tZÞïôäG¢‘ïÔþµy‡Ž¼.þ×Þ(Ôý†|ÉlÞ‹Ý~£§Ó½gMK OÚZ÷ü¬dèçxÇ„U9T6Òüϯ^<®Ï µtïùÿµÿ¿Ëþ5CZ]]Ò.tÛ«ëSéŒù«•=˜sÔùšŠ`Ú³ˆá§%8Öi­VŸðK:Œšn£qe+#<.T²6U½>‡­zWÂoy3Ÿ^Iû¹ {F?ÂÝJ~=G¾}kË)ñK$$Ñ;$‘°de8*G Šã¥UÓŸ4O¤Çàcºw}|ûÿ]4=ÛâÝ£\x$Ê ‘ms­ôå?öq^ipÖw\ ËÃ"È¿Ps^ÿáýZ×ÇÞ š ’Ï·ºQÕ_0ýGåÚ¼UÓ.t}RãO»M³Àå[ÐúìG#ë]8Õw±Ùž ÏÙÓ«¬­87§“þ¿}Cgw ý”vï¾HêÈ©«ÄþüBM5Ò5vo°ä˜f“ =AÝþ_ËÙ­®­ï`YígŽx[•’6 §ñéP¯±ºÜøÌÓ,­€¬á5îô}ÿ>蚊(­0(¢Š+ç?ˆŸò>êßõÑô¯£+ç?ˆŸò>êßõÑô® ÃøkÔúÎÿ|ŸøTu¿ãóXÿ®q6¯_¯ ø+ÿšÇýs‹ùµzýk‚þ þºœÍðõ:ÎÍu‘ã_ð¥õú Zÿ߶£þ¾£ÿAk_ûöÕì´U}JcõŸ2þu÷/òì1·˜á[‚_»åݸG±ò41-bሬ۴“}÷¹òÅ}E ȹ¥ÿפ_ú®cþ?…ÿç•×ýÿ5ÙÚÛÇgi ´@ˆácLœœ\¸L<é6åÔ÷¸‡8Ãæ„hßF÷_ðIh¢Šî>Xóü4Kß7UТ sËMj¼ =Jú7·CõëãÄKo>ø¥½Õ•ý5õ…s:߀t ~ûí·–Î·ašÙ¿Üã©÷¯?‚ç|Ôôg×düLððö8»Ê+g×Ñ÷G%ào‰Ë?—¦x‚`²ýد€ÞÏèÚüýO§Ïq­´—ȱ×wc¨&¸¿øTþÿžW_÷üÖãøVÆ_ÿaI=ãÙdpÓÛG!wuÛžÕ½Z1´õìy™”òÊõ•L5â›÷•¿¯á±àþ0ñ$¾(×å½l­ºþîÞ3ü(:~'©úÖ·Ão ÂA®}ªæ<éöD<€Ž$á_ê}¾µèßð©ü/ÿ<®¿ïù®£EÑlt 5,4øŒp)-ÉÉbz’{×-<ÝNz§¹Œâ<40_WÀ¦¬®­e÷ïÿhU[Ý6ÇREKû+k¤C•YâWúŒŠµEzM'¹ñQ”¢ïfdÿÂ-áïúéøøQÿ·‡¿è¥ÿàáZÔRäc_­Wþw÷³'þoÐKÿÀ8ÿ¼Sâ7…G‡uã5¬[tû¼¼AG·ñ'õÇÚ¾¬ÝsB°ñœluŒî6œ2°înãñ¬1xÔ…’³=L£8«‚Ä©ÔnQz5¿Íy£À|ây‡Êa3¼N*ñû[®ü­Ðù0‚¯Ç­êÑ HõKÔQÑVáÀ­}ªøG@֜ɥÁ$§¬Š 9ú²àšÂo…f$Ar£ÐNqú×ÀUOÝgÕË05#ûêm?D×çú)ý¿¬ÿÐ^ÿÿ_ühþßÖè/ÿ/þ5í_ð©ü/ÿ<®¿ïù£þ?…ÿç•×ýÿ4}J¿įõ—+þGÿ€¯ókpG4"$¦ r| —±¾>SÆ4Ђ"S 1Ñ%ÉR:È“ßÛ 8;PK³PzØ PK\8–AOEBPS/dcommon/feedback.gifÈ7ùGIF89a÷ÿÿý'%(h¨pêòÚýÿÓ|…þüÿˆ¹˜fdx?AN¹¸ÊÏÑÿÖÿâ5:”dfeDGHÄɾüüúTdQÿÿûõþÿc`gÿü÷*6D‹C\?ýõþ½½¼þÿÿãäâüÿÿËÿؘ™¨êìð||{ª·ª;=E6JUÝõÕ„…ƒÿøþãøÿëëéÿúÿ²¿­ìþôíòõf†eÿþÿÊÊÃèýþ‘ŒúùþôòíëñíA=<ÆÆÄCO¯ ýûöýÿò­²½ÚÛÖùùõÿÿúÿÿÿ¥¥¤úýú+*F¢£œþÿøÂÃÍlon213þýùÝÝÚúûùúÿÿøÿÿ;<=õõòòÿþþþüõþí–––ìüåòìÿùòþÔÔÒËËɬ«ªøÿýûñòóüâÿûùuuwùÿêüüÿüÿøŽŽ[\\¹»¶íÿøø÷ÿññþïííùþò‘‘’ÿõúôÿùüúÿíÿÿöúéñÿììóæððøñöùñòïrm}ãÿñþþþûÿýóÿ÷ÿûü`^bþþÿ”•îöùñöÿîùÿöõúéùÿñþêþÿîÒÚÍûüö7J¦‹Œ‡ñôò²§®þÿúúÿæþÿê÷öüðîòýüø‰‰Šöÿðãðøüþýÿüýúõïòùêòùìÿþù©ª¢±²±øüÿt†lBT_óþøÍÌÜòúþïðÿ‹ŠœÎÍÒC9QÁÏÒÀÅÛ‹õû÷ðãÿtq„““”Xœa††ˆ,.kùìÿ1$+/7:çïòÀ½aŒp·±Óxxur|{ûýÿéëøu „ùûíWVRGUœAC–JL‰Ž‰âçÿèöÿóùÉéñÿYNTýýû3-O÷úñ'!ööôôóñÉ×ÚóóõÔÊÒôðû…xæþàÞùêçèål_”…¿ÞäÖîþçù÷ø×ØÖÿóøÀ¶¾ýðÿyk¨áâÝüÿûÿþü! õùü=eCVLdçòôE^|ýøòGTBûýüJHUTSY&- /!^Ê¿ÅËÓÈ/7^V[q˜“<;7ßøÿ ’ÏçÝ士®Š’•öþé@M@——˜Þéë!ù,@ÿ—‰a  ˆ‚ ðèƒà”>@,4`±H.|ø°`a© ‡(Q²Ò ˜9:Àó&ž[|Ú,ž¨4¤pà Y„&ù°BD†˜b,à×!˜‘„2@€,ßÜÑ $wPA'ÜܠǃÆ@ÅâˆãC¼ìÂO~/dÓÃ.¤`ÁÂIì Áò —Üà@ðš8AÁr‹ÚH¬xœÁ€9HÀˆ75 ñÜj ñÎ’LÔ£ƒ 3ÄB/`ƒÍ ŸàP¢üƒÎ#†¬qD*Ìs 3ƒA:3,H70ðPÃ,Œ”RŠ¨Ø”@ ƒ¼p! (…F oÔ¥ D;‚"Ð0„ ,â6QüB´R‰É„HhŠI@ÕªÐ@Vì°ÖDLÀCká8ð@NŒBB¹L2&pCl±A?DAk­%³„$`I2 ¹Ø#ÃþQ…+l¡7 "=¢˜µÄõ›€¥&d‘ƒLÚ&P‡R¯è¢SL±IÙP)PɼirËqÐœ'N8—œ[¥_}w;PKë-´ÅÍÈPK\8–AOEBPS/dcommon/booklist.giféþGIF89aó1ÿÿÿ÷÷ÿÞçï½ÎÞµÆÖ¥µÎ„œ½kŒ¥Z{œJkŒ1Rs!BZ)B),@ËÈI«½9¦ŽZÍ“Ca Â% Dz8È€0‚F‘ZØÐŒÆâ0P­ ›!ñx8Ð!eœ”L8ƒaWÈ F·’D(~ŒãÑ@p+õrMS|ÃÓ›âR$ v "Z:]ZJJ‡Ec{’*=AP “ BiA ']j4$*›  ¦ & 9Žq sMiO?½ˆ„½jQ ‡‘= , ÒYFÍg4.778c&Š½$¹c%9¬“’;PKË5’PK\8–AOEBPS/dcommon/cpyr.htm1Îí Oracle Legal Notices

Oracle Legal Notices

Copyright Notice

Copyright © 1994-2012, Oracle and/or its affiliates. All rights reserved.

Trademark Notice

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

License Restrictions Warranty/Consequential Damages Disclaimer

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

Warranty Disclaimer

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

Restricted Rights Notice

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

Hazardous Applications Notice

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Third-Party Content, Products, and Services Disclaimer

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

Alpha and Beta Draft Documentation Notice

If this document is in prerelease status:

This documentation is in prerelease status and is intended for demonstration and preliminary use only. It may not be specific to the hardware on which you are using the software. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to this documentation and will not be responsible for any loss, costs, or damages incurred due to the use of this documentation.

Oracle Logo

PKºNê61PK\8–AOEBPS/dcommon/masterix.gif.ÑþGIF89aó1ÿÿÿçï÷ÖÞç½ÎÞœµÎŒ¥½s”­c„œJkŒ1Rs!Bc1J),@ãÈI«µ‚œS@˜ß0Ã"1 ÈѾ®b$²¥b0À ñ8P……bÉL,³aËÆc™Ír ªÕB@(fD°n ‚Jx11+™\Ú%1ˆ p { display: none; } /* Class Selectors */ .ProductTitle { font-family: sans-serif; } .BookTitle { font-family: sans-serif; } .VersionNumber { font-family: sans-serif; } .PrintDate { font-family: sans-serif; font-size: small; } .PartNumber { font-family: sans-serif; font-size: small; } PKeÓº³1,PK\8–AOEBPS/dcommon/larrow.gifÜ#þGIF87aÕÿÿÿŒŒŒ¥¥¥µµµ½½½ÆÆÆÎÎÎÞÞÞçççïïï÷÷÷ççïïï÷÷÷ÿÆÆÎÎÎÖÖÖÞÞÞçµµ½¥¥­­­µ½½ÆŒŒ”””œœœ¥„„Œçç÷ÎÎÞÞÞïÆÆÖµµÆ½½Î{{ŒµµÖssŒ­­ÖœœÆ””ÆZZ„{{µ{{½ZZŒssµZZ”cc­JJ„JJŒRRœBB„JJ”JJ¥99œ11Œ11”))Œ!!„Œ„{„,ÿ@€pH,ȤrÉl:ŸÐ¨tÚÔp¨ÅÆH–c`  §Ó©©b[.ç64÷³¨ýÒÅïÈÈòÒËóÙÒýíÛꑈÕ5ÿêæÝ3=ÿäÛýÚËäZ]Å'ù¾Äñyuø•†ø¢§çLGÅÉ*Æ)ëg^ï…‹÷—“Õ!8ßC?ß-6á(2Û9KË"ñĨÉØ0ôЯæl…Ý;UÛ+Kð¥¥ÿòìÑ9÷¶³è^uÏ2,@þ@À (\È°À Ë $P°`¢Ç‰ 8x à£I$4Hˆ‘á *(´@Á¤Í‰0dа¡åÂ8tððA† Å DÑSÀP‚ †èÀv"ÐTU±†H Ph抸PÄ"Y1bxDÇ•ŽÌ§_š¬=‚$úIŠ /âç&¯½¡žµÈ þ.)+ 60D)™bÞ§˜´B~=0#'ŠŽœæÂ& ‘Š*«D+í´«l1ˆMG CL1&¸„+D`Œ.Ä1qVèG¨Œà‚ ( ó‘"ÀD2óQ LË,p.Ì;Âu¾. Í|î¸ãrÁ$ûp‚+5€qÄBNõl<îTzB"\9e0÷u )¨@çD,´óιð ÌÃ2Ì@C~KU 'LöØÎ6Üa9´ ƒŽì /Ï;ç<ô`P!Dº#TaÅl·í6ÛXTñ˜YhÑn¬[pñöþ]ôÝ… ¼–Ã7}ìB a€¨‚&AÆ®e˜áÅ{³íEÊɲ†Æ®i¨±•ŸáE¹ñpì#G¼À}D„#x¶TÀñI€Ü‚ìz­G½ÃFÇ‚„ØEc^…q}ú)ƒ Y­# (œt´Û®”NeáÆG‘L*É@“¤ /%UBÖ:&ßk–0{ &Sd¢ÿþüïïÁñDÑn¶ BëQá^íêô‰(⌠"@q¸ „â#‡` Ò@1ˆB4i…@ ažNÈ…@ò[Þ\öB >üe00Á¬7V´Â[ð“N°(Ðvþ…p…yFeŒ ¯€ÅGb‘/&|a²˜…¥H‹Z j±…@À„"ˆ"~ÊÓŽ)t ? $ èEQýø±‚.Õ½üâJ$¸C,lŒ]åA `Œ¬é˜8A o ‚B C?8ðÌ€cÁÑyA @‘‚Nz²“œ|`§¤:šäÐ`~7‘-˜G|yQÂÒåŒü A¢qA6ÉÉOzÐPbZ`>„¡—¾ôå~#8‚=./“éÉeÚdGˆAŒ2ªnr“¤¨B´‰ Yš†R¨@ …ØŦW h'j4p'¬!k 00Š ¼ÙMTƒ RN‚ô¡¤ÀF6Ì™ m` …(7%ê‘€;PKl-íƒOJPK\8–AOEBPS/dcommon/index.gifüÿGIF89aó1ÿÿÿ÷ÿÿççïÖÞçÎÎÞµÆÎ¥µÎ¥­½”­½„œ­{Œ¥s„”c{ŒBZs,@±ÈI«½M"È AD³ BÅ0 3¶í».‹Rƒîü~[D"±0,† „­”]žÐ¨ôÙpÞR¿NC  …/Â& H&[%È7¼TûMƒí/ØÄ`vSƒ„…†+-‰+ŒŠ ‚q D go@" š˜4o'‚Uxcxcc§&k/ ·q·p¨´ zUm(ÁU³HDDJBGM‡ÓÔƒ;PK(ýžüPK\8–AOEBPS/dcommon/bookbig.gifÔ +öGIF89a$÷ÿÿÿ!!!)))111999BBBJJJRRRZZZccckkksss{{{„„„ŒŒŒ”””œœœ¥¥¥­­­µµµ½½½ÆÆÆÎÎÎÖÖÖÞÞÞçççïïï÷÷÷½µµ”ŒŒskkB991)))!!B11))1!JB9B9!!cZ9÷÷ïÿÿ÷ÎÎÆ­­¥µµ­Æƽœœ”¥¥œŒŒ„ssk„„{ZZRccZRRJJJBBB9„„c!!ÆνÎÖÎ)1)k{sï÷÷ÖÞÞÞççµ½½¥­­½ÆÆŒ””kssÆÖÖ½ÎÎZccJRRœ­­BJJ„””{ŒŒ9BB)11)99!!))11!!k„ŒœÆÖ!JZ!)RcJcc„”Bcs)1c­Î)JZ!BR!)BZ)9œ½Î9J!Rk9¥Þ!c„1”Æ1B)”ÎZ{­½Æ)9BkµÞc­Ö1kŒBœÎ9”ÆBZ!Z{9­ïRs)ŒÆJk¥Îçk”­sµÞk­Ö9kŒB”Æ1sœ1ŒÆJk9RœµÆ¥ÆÞc{Œk¥Î9sœ)Z{1k”9ŒÆ1„½)s¥1Rk)Jc1Jœ¥­œ­½!))BZ!1ÎÖÞk{Œcs„c{”)19B!)BcsŒc„Î{Œµk„Æs„µc{½k„ÎZs½!Rk„ÖJkÎJkÖ„”Îc{Î9ZÎks”{„­ckŒ9Rµ)B¥ksœ9RÎ9RÖ1JÆ!)Z1B­!)c)9¥)9µ9BœR19¥÷÷ÿkksBBJcc{cc„BBZ))9kkœ!!199c11ZBB{9!!R!!Z!!c))„!!kR!!s!!„BcksRZ1c9B)R91c1)Z!R9B9k1)RcZ{)!1B9JB9B)!)J9B!þ& Imported from GIF image: bookbig.gif,$‡ÿÿÿ!!!)))111999BBBJJJRRRZZZccckkksss{{{„„„ŒŒŒ”””œœœ¥¥¥­­­µµµ½½½ÆÆÆÎÎÎÖÖÖÞÞÞçççïïï÷÷÷½µµ”ŒŒskkB991)))!!B11))1!JB9B9!!cZ9÷÷ïÿÿ÷ÎÎÆ­­¥µµ­Æƽœœ”¥¥œŒŒ„ssk„„{ZZRccZRRJJJBBB9„„c!!ÆνÎÖÎ)1)k{sï÷÷ÖÞÞÞççµ½½¥­­½ÆÆŒ””kssÆÖÖ½ÎÎZccJRRœ­­BJJ„””{ŒŒ9BB)11)99!!))11!!k„ŒœÆÖ!JZ!)RcJcc„”Bcs)1c­Î)JZ!BR!)BZ)9œ½Î9J!Rk9¥Þ!c„1”Æ1B)”ÎZ{­½Æ)9BkµÞc­Ö1kŒBœÎ9”ÆBZ!Z{9­ïRs)ŒÆJk¥Îçk”­sµÞk­Ö9kŒB”Æ1sœ1ŒÆJk9RœµÆ¥ÆÞc{Œk¥Î9sœ)Z{1k”9ŒÆ1„½)s¥1Rk)Jc1Jœ¥­œ­½!))BZ!1ÎÖÞk{Œcs„c{”)19B!)BcsŒc„Î{Œµk„Æs„µc{½k„ÎZs½!Rk„ÖJkÎJkÖ„”Îc{Î9ZÎks”{„­ckŒ9Rµ)B¥ksœ9RÎ9RÖ1JÆ!)Z1B­!)c)9¥)9µ9BœR19¥÷÷ÿkksBBJcc{cc„BBZ))9kkœ!!199c11ZBB{9!!R!!Z!!c))„!!kR!!s!!„BcksRZ1c9B)R91c1)Z!R9B9k1)RcZ{)!1B9JB9B)!)J9BþH ‡`\Èá†:pظа"A6D±BH,Vä@DÿÚ¹û'„G"vРÆ‚ Ü¥;‡n;!;>Äx¡AÜܽ[G.\¸rãÜèQC¤‡ ‚¤„w®œÓrä¾}‹ºBÅŠQ ôA­Þ9§á¾‘#ç5Yª0VÈ’j0lÝæÒ-Gø›ÓqíÊÒèÀðF>Z³pM³§ ¸rb ;=÷.€Þ¦ÌW-W½¬Ñ»œ™°WoçÜ ha!}ã~Ù’ šÐÏ;ª t²¸ò 5í´3 :\€ 4PcD,0À 4ã*_l³Ì0ÂÜK3-¸`€lÀÁ.j!c ð“ìA‰a|¡Í2“L4/1C`@Á@md À;…(‚H¦”†*ăŒ8÷ä0ÄL0àL(ÿ€„hÀƒ*‡Ò‡Ÿ°Ò†o#N8×4pC Ê(x¬ÂOä§Áª@ò ‹ÈA)€¡J6à¬r€þVl±F‘ r ÿ ðÀfrÉy†$Ÿœr_p¡l5£xhÐA+@A=ˆF €rG©UŒÁ a„ ­Ø1Ȩ˜Ñ…4sÉ&òH à–Bdzt‰ ‚x¢ŠàÄàð‰#ùÞÑH%ÄRr‰ê ‚Š²(Ѐä7P`#R‰ ¤Ñ‰'xŒ"€ #0`@ð~iƒ Ò`HûúAÆ'Tˆ‘k?3!$`-A¤@1‚äl"ôP„ LhÁÿüƒ€‘ò€Ê–RG&œ’8‘A`0€¡DcBH s¤€q@A ÀXÞB¤4@´&yˆ‚QhPAžpÀpxCQ„ ‚(˜ˆrBW00@ÈDP 1E‘ƒ?Òôó©@€l€öP1£%¬ðÕT`ÉÔ´Š 0 áW”ÄB~nQ@;PKéöGCÙ Ô PK\8–AOEBPS/dcommon/rarrow.gifÐ/þGIF87aÕÿÿÿŒŒŒ¥¥¥µµµ½½½ÆÆÆÎÎÎÞÞÞçççïïï÷÷÷ççïïï÷÷÷ÿÆÆÎÎÎÖÖÖÞÞÞçµµ½¥¥­­­µ½½ÆŒŒ”””œœœ¥„„Œçç÷ÎÎÞÞÞïÆÆÖµµÆ½½Î{{ŒµµÖssŒ­­ÖœœÆ””ÆZZ„{{µ{{½ZZŒssµZZ”cc­JJ„JJŒRRœBB„JJ”JJ¥99œ11Œ11”))Œ!!„Œ„{„,õ@€pH,ȤrÉl:ŸÐ¨ÔÉÑL“ŒœlÔ¸ •N‡CqºWEd“·Š)#ˆ¹Ýå34¡€vwwpN|0yhX!'+-‰’[ŒF '’™n5 H $/14šw3% •C .¤90" qF ™7&¹E °²"ÃÄ·ÇD mnÀе¨ªB|,cÎÜÓãä96)ÜÞìî ©I @»0¡B»ðƒW­°{ùÂᢦdN ´‹p!5"ˆD°`â0 ¨TÐÏ 0-]Êœ™$;PK£JV^ÕÐPK\8–AOEBPS/dcommon/mix.gifk”ýGIF89aÕÿÿÿ÷÷÷­­­ZZZBBBJJJ”””ÞÞÞkkkïïï999µµµsss„„„!!!111ccc¥¥¥œœœÖÖÖ½½½{{{RRR)))çç猌ŒÆÆÆ­¥­{s{ÎÎÎsks!ù,@ÿ@€pH,ÆB$ 8 ‚t:Õ<8 ¢’*'²ˆÉntPP D„‡üQ@rI½ ‰ ÇBJLNPT‡VE‚MOQ‡UWfj^! š›œš hh€§¨G­ ©H«­ „·· kC³®¸Ãº¼£k_aÃÍŠǤÉ^ ÚÛÜ»ÈhÊ`B è¿ èBeÈH÷õ mmâÅˆê…  ˜#F¬` I„ ì†l°p £ÇŽ,ÀpÄ B… J\Y!TŠ\Ì(dãÇ!GŠªÀdˆ… ®œèR²53Ù¼ Rä;iʲ)¸Gµê=@-xn.4œ °¬Y… BuÍàUÁ…(*€BLÑÒ0Pñ«¹X v`[D! |ø À” >è‚!/’;xPð` õò(˜J€j"˜M°6‘ ;PKýæž°pkPK\8–AOEBPS/dcommon/doccd_epub.jsM ²õ/* Copyright 2006, 2012, Oracle and/or its affiliates. All rights reserved. Author: Robert Crews Version: 2012.3.17 */ function addLoadEvent(func) { var oldOnload = window.onload; if (typeof(window.onload) != "function") window.onload = func; else window.onload = function() { oldOnload(); func(); } } function compactLists() { var lists = []; var ul = document.getElementsByTagName("ul"); for (var i = 0; i < ul.length; i++) lists.push(ul[i]); var ol = document.getElementsByTagName("ol"); for (var i = 0; i < ol.length; i++) lists.push(ol[i]); for (var i = 0; i < lists.length; i++) { var collapsible = true, c = []; var li = lists[i].getElementsByTagName("li"); for (var j = 0; j < li.length; j++) { var p = li[j].getElementsByTagName("p"); if (p.length > 1) collapsible = false; for (var k = 0; k < p.length; k++) { if ( getTextContent(p[k]).split(" ").length > 12 ) collapsible = false; c.push(p[k]); } } if (collapsible) { for (var j = 0; j < c.length; j++) { c[j].style.margin = "0"; } } } function getTextContent(e) { if (e.textContent) return e.textContent; if (e.innerText) return e.innerText; } } addLoadEvent(compactLists); function processIndex() { try { if (!/\/index.htm(?:|#.*)$/.test(window.location.href)) return false; } catch(e) {} var shortcut = []; lastPrefix = ""; var dd = document.getElementsByTagName("dd"); for (var i = 0; i < dd.length; i++) { if (dd[i].className != 'l1ix') continue; var prefix = getTextContent(dd[i]).substring(0, 2).toUpperCase(); if (!prefix.match(/^([A-Z0-9]{2})/)) continue; if (prefix == lastPrefix) continue; dd[i].id = prefix; var s = document.createElement("a"); s.href = "#" + prefix; s.appendChild(document.createTextNode(prefix)); shortcut.push(s); lastPrefix = prefix; } var h2 = document.getElementsByTagName("h2"); for (var i = 0; i < h2.length; i++) { var nav = document.createElement("div"); nav.style.position = "relative"; nav.style.top = "-1.5ex"; nav.style.left = "1.5em"; nav.style.width = "90%"; while (shortcut[0] && shortcut[0].toString().charAt(shortcut[0].toString().length - 2) == getTextContent(h2[i])) { nav.appendChild(shortcut.shift()); nav.appendChild(document.createTextNode("\u00A0 ")); } h2[i].parentNode.insertBefore(nav, h2[i].nextSibling); } function getTextContent(e) { if (e.textContent) return e.textContent; if (e.innerText) return e.innerText; } } addLoadEvent(processIndex); PKo"nR M PK\8–AOEBPS/dcommon/toc.gifúþGIF89aó1ÿÿÿ÷ÿÿïïïÎÖçÆÆÎ¥µÎ¥­½Œ¥µ{”¥c{ŒZ{¥JkŒJk„1Rk,@ºÈI«­K%´Œ „0|„Ñ ‚ÅeJB²,çK-‰ŒÆ1ÿ±–§iˆ'—°]‚B¢Ñt9‡žëdäzè€0&ðpZì1Ìo'qÉ(ØŸdQª=3S „„SZŠ‹ŒC8db f&3‰v2@VPsuk2Gˆsiw`"Iªz¥E¨%²< Cž °!.“hC I»Q’ ­3o?3…9‰ÏT ÒÜÝ;PKv I’ PK\8–AOEBPS/dcommon/topnav.gifàþGIF89aó1ÿÿÿÿ÷ÿïçÞç÷ÿÞç÷ÎÖÖ½Þç­½Þ­µÆ”Œ½Œ¥µk„œZ„œZk{Bc{,@ÔÈ )ç l)-ˆ'KRÞÐ$Ó&¾’°8Å4 SˆI)ƒ ‰ÁX‹F P8t’ÁeÓ NŽÅRtÓHƒ€ÁàPð‰p;Q“%Q@'#r‘R4P øfSèïQ €o0MX[) v + `i†9–gda/&¡L9i*1$#¶ƒ¡"%+ ( °²´ E'ªãî ±³µØýþÿnû7Ȇ(¤,„ò¬Ò…(Là@‘(Q$\x ‘¡Æ8=äãµî6 '¼× ƒ9túJ&"€[Epljtûú ˆp#€Ñ£HíÇbÁ€ ¢:…õ鋳få Æ F`A =l|˜€‚;ž&9lD¢¿P2nÀÙñcH ´R `q‘‘„›tÈíp!dÈYH›+?¢è“$¿Ê4mBAó9 ” iÓ@Ê@† ¥É]@ˆú³êƒ¤F¼xAD*^Å´„†#Ý,¬(»ε ñà $H°ž}»„F—‹€àè.óåxfª,Bð¸ïÞD ÂZóë÷;PK1ý„FAPK\8–AOEBPS/dcommon/bp_layout.css# Üò@charset "utf-8"; /* bp_layout.css Copyright 2007, Oracle and/or its affiliates. All rights reserved. */ body { margin: 0ex; padding: 0ex; } h1 { display: none; } #FOOTER { border-top: #0d4988 solid 10px; background-color: inherit; color: #e4edf3; clear: both; } #FOOTER p { font-size: 80%; margin-top: 0em; margin-left: 1em; } #FOOTER a { background-color: inherit; color: gray; } #LEFTCOLUMN { float: left; width: 50%; } #RIGHTCOLUMN { float: right; width: 50%; clear: right; /* IE hack */ } #LEFTCOLUMN div.portlet { margin-left: 2ex; margin-right: 1ex; } #RIGHTCOLUMN div.portlet { margin-left: 1ex; margin-right: 2ex; } div.portlet { margin: 2ex 1ex; padding-left: 0.5em; padding-right: 0.5em; border: 1px #bcc solid; background-color: #f6f6ff; color: black; } div.portlet h2 { margin-top: 0.5ex; margin-bottom: 0ex; font-size: 110%; } div.portlet p { margin-top: 0ex; } div.portlet ul { list-style-type: none; padding-left: 0em; margin-left: 0em; /* IE Hack */ } div.portlet li { text-align: right; } div.portlet li cite { font-style: normal; float: left; } div.portlet li a { margin: 0px 0.2ex; padding: 0px 0.2ex; font-size: 95%; } #NAME { margin: 0em; padding: 0em; position: relative; top: 0.6ex; left: 10px; width: 80%; } #PRODUCT { font-size: 180%; } #LIBRARY { color: #0b3d73; background: inherit; font-size: 180%; font-family: serif; } #RELEASE { position: absolute; top: 28px; font-size: 80%; font-weight: bold; } #TOOLS { list-style-type: none; position: absolute; top: 1ex; right: 2em; margin: 0em; padding: 0em; background: inherit; color: black; } #TOOLS a { background: inherit; color: black; } #NAV { float: left; width: 96%; margin: 3ex 0em 0ex 0em; padding: 2ex 0em 0ex 4%; /* Avoiding horizontal scroll bars. */ list-style-type: none; background: transparent url(../gifs/nav_bg.gif) repeat-x bottom; } #NAV li { float: left; margin: 0ex 0.1em 0ex 0em; padding: 0ex 0em 0ex 0em; } #NAV li a { display: block; margin: 0em; padding: 3px 0.7em; border-top: 1px solid gray; border-right: 1px solid gray; border-bottom: none; border-left: 1px solid gray; background-color: #a6b3c8; color: #333; } #SUBNAV { float: right; width: 96%; margin: 0ex 0em 0ex 0em; padding: 0.1ex 4% 0.2ex 0em; /* Avoiding horizontal scroll bars. */ list-style-type: none; background-color: #0d4988; color: #e4edf3; } #SUBNAV li { float: right; } #SUBNAV li a { display: block; margin: 0em; padding: 0ex 0.5em; background-color: inherit; color: #e4edf3; } #SIMPLESEARCH { position: absolute; top: 5ex; right: 1em; } #CONTENT { clear: both; } #NAV a:hover, #PORTAL_1 #OVERVIEW a, #PORTAL_2 #OVERVIEW a, #PORTAL_3 #OVERVIEW a, #PORTAL_4 #ADMINISTRATION a, #PORTAL_5 #DEVELOPMENT a, #PORTAL_6 #DEVELOPMENT a, #PORTAL_7 #DEVELOPMENT a, #PORTAL_11 #INSTALLATION a, #PORTAL_15 #ADMINISTRATION a, #PORTAL_16 #ADMINISTRATION a { background-color: #0d4988; color: #e4edf3; padding-bottom: 4px; border-color: gray; } #SUBNAV a:hover, #PORTAL_2 #SEARCH a, #PORTAL_3 #BOOKS a, #PORTAL_6 #WAREHOUSING a, #PORTAL_7 #UNSTRUCTURED a, #PORTAL_15 #INTEGRATION a, #PORTAL_16 #GRID a { position: relative; top: 2px; background-color: white; color: #0a4e89; } PK3š“( # PK\8–AOEBPS/dcommon/bookicon.gif:ÅúGIF87a÷ÿÿÿ!!!)))111999BBBJJJRRRZZZccckkksss{{{„„„ŒŒŒ”””œœœ¥¥¥­­­µµµ½½½ÆÆÆÎÎÎÖÖÖÞÞÞçççïïï÷÷÷ïçççÞÞ­¥¥”ŒŒ¥œœ„{{ZRRcZZRJJJBB)!!ŒskœŒ„RB9„{sÞÖνµ­{skskcZRJ1)!ïïçÖÖÎÞÞÖ­­¥µµ­Æƽœœ”„„{ZZRccZJJBBB999111)JJ9BB1ZZB!!¥­¥çïï­µµ„ŒŒBJJ9BB!!))Jk{)1!)BRZJ{”BsŒR¥Î!œÞRœÆR¥ÖŒÎJsŒJœÎ!œçJ{s½Œç!„ÆJsBkkµsÆ{ÎRsŒB{¥J{c­1RBs1ZB{9BJ9JZ!1BJRRs”!9R!!9Z9!1)J19JJRk19R1ZÞ)!1B„9R­1RÎB÷!)J!J1RÖ)JÎ11Æ9ï!¥9Jœ9÷1!µµ9BŒ­½ŒŒ”„„ŒkksBBJ119BBR!))9!!!JB1JJ!)19BJRZckÞÖÞŒ„Œ1)1J9B,ÿH° Áƒ*\hpà >"p`¨ðƒFF "a"Eƒ|¥ŠÕªOC&xü CŸR¹z «OBtÔXÉð¦>¡X¹ŠEÖ*O>tdèðq‚ŸAŽJ±¢ +–,W£xPÐÀ”!…C‹þÕê•ÕY­pÙQë HQzDHP)³®T¡²µƒÂ nj¬JŒM2¥ê”€J2Tˆ0á„dŠ#Õ+I…:ò‰<ˆÐ¶kÁ 'ꤱò—«F‘ ÁA£B @˜€ç@ØnÄháò ¤W¤zˆ¸Ä'€ H°|ðÃ-7f¼\ÿA#—yN©R5Š Û/ôP‚M™0â¹ä9u •ªUª€ÂÄjµÄ‡T|q~YÐq@ˆ&0ä”YæZAP¡†a`ÑEzÒI /$A‹D Al°!AÌAal 2H@$ PVAÆB&c˜±Æ*Ø Á p @Å%¤Á p´ñÆ-`°Ä @÷b`uàB›°aÇ Ðl¶é&`3ÄAp8‘ª©æ§–ÊX~¶ vX€$Eh`Á“.J™hÀA ˜epA\ê"˜ŠªBlÁ§ÀšŒ, :åHÎÚkœÚë±;PKx[¨?:PK\8–AOEBPS/dcommon/conticon.gif^¡üGIF87aæÿÿÿ!!!)))111999BBBJJJRRRZZZccckkksss{{{„„„ŒŒŒ”””œœœ¥¥¥­­­µµµ½½½ÆÆÆÎÎÎÖÖÖÞÞÞçççïïï÷÷÷¥œœZRRÞÞÖççÞ½½µ­­¥””Œ{{ssskkkcccZ991ccRZZBBJJZck)19ZcsBJZ19J!k„Æ{„œk„Î)Z1¥RZs1!B¥)!JÎ9µ1µ{„¥k{µ)J½!Bµ!B½9­1¥1­)¥k{½csµ!1s!9œ)s!9¥!BÆ!k)„k1c!)Z!R{9BJÖÖÞcckZZcBBJ„„”99B119„„œ{{”!!)BBR„„¥BBZ!))999R99Z!!999c1!9!)19B1)!B9R,ÿ€‚ƒ„…†‡ˆ‰Š‹Œ‹ ŽŠ oua”…\h2SYPaŽ aowwxY¦i¬‰ 9SwyyxxyYSd ¼‰$'^qÅYȵYÊvh Ïч,/?g{ÉÚÛÆÞàн„.J5fe{´Ú¶ÉyîáñY#%’/}ôЂe–,Zî|“pAÜ  `žô’äK™YxÚâ†çÎï,˜Çĉ‘&@¾¨iëX9|`”pà ]lèR„1khÙœ'E‰Š ô„6¨Ã…B‡Ü0J£;tÜ X bÕ ¤RÈP(—*MÄ!2cL˜hPŒ C <€0á‚¡ à ñ¡Ç $4à!B 6lHCâ%<¢À1‚e H ‚ ˆ4p±"ä ›¶L`PÀÀ!/,m*1Fˆ`€‚š#D0¡ÛD^ìð!A™…O—@¡‚.‹.(` `ÍÔË_Ø…¾QW„K­>_Ã*O÷Y0äé¢J@Žp ÁÌw '†tÀÁƒVhá…;PKpµ*¤c^PK\8–AOEBPS/dcommon/blafdoc.css³Lé@charset "utf-8"; /* Copyright 2002, 2011, Oracle and/or its affiliates. All rights reserved. Author: Robert Crews Version: 2011.10.7 */ body { font-family: Tahoma, sans-serif; /* line-height: 125%; */ color: black; background-color: white; font-size: small; } * html body { /* http://www.info.com.ph/~etan/w3pantheon/style/modifiedsbmh.html */ font-size: x-small; /* for IE5.x/win */ f\ont-size: small; /* for other IE versions */ } h1 { font-size: 165%; font-weight: bold; border-bottom: 1px solid #ddd; width: 100%; } h2 { font-size: 152%; font-weight: bold; } h3 { font-size: 139%; font-weight: bold; } h4 { font-size: 126%; font-weight: bold; } h5 { font-size: 113%; font-weight: bold; display: inline; } h6 { font-size: 100%; font-weight: bold; font-style: italic; display: inline; } a:link { color: #039; background: inherit; } a:visited { color: #72007C; background: inherit; } a:hover { text-decoration: underline; } a img, img[usemap] { border-style: none; } code, pre, samp, tt { font-family: monospace; font-size: 110%; } caption { text-align: center; font-weight: bold; width: auto; } dt { font-weight: bold; } table { font-size: small; /* for ICEBrowser */ } td { vertical-align: top; } th { font-weight: bold; text-align: left; vertical-align: bottom; } ol ol { list-style-type: lower-alpha; } ol ol ol { list-style-type: lower-roman; } td p:first-child, td pre:first-child { margin-top: 0px; margin-bottom: 0px; } table.table-border { border-collapse: collapse; border-top: 1px solid #ccc; border-left: 1px solid #ccc; } table.table-border th { padding: 0.5ex 0.25em; color: black; background-color: #f7f7ea; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; } table.table-border td { padding: 0.5ex 0.25em; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; } span.gui-object, span.gui-object-action { font-weight: bold; } span.gui-object-title { } p.horizontal-rule { width: 100%; border: solid #cc9; border-width: 0px 0px 1px 0px; margin-bottom: 4ex; } div.zz-skip-header { display: none; } td.zz-nav-header-cell { text-align: left; font-size: 95%; width: 99%; color: black; background: inherit; font-weight: normal; vertical-align: top; margin-top: 0ex; padding-top: 0ex; } a.zz-nav-header-link { font-size: 95%; } td.zz-nav-button-cell { white-space: nowrap; text-align: center; width: 1%; vertical-align: top; padding-left: 4px; padding-right: 4px; margin-top: 0ex; padding-top: 0ex; } a.zz-nav-button-link { font-size: 90%; } div.zz-nav-footer-menu { width: 100%; text-align: center; margin-top: 2ex; margin-bottom: 4ex; } p.zz-legal-notice, a.zz-legal-notice-link { font-size: 85%; /* display: none; */ /* Uncomment to hide legal notice */ } /*************************************/ /* Begin DARB Formats */ /*************************************/ .bold, .codeinlinebold, .syntaxinlinebold, .term, .glossterm, .seghead, .glossaryterm, .keyword, .msg, .msgexplankw, .msgactionkw, .notep1, .xreftitlebold { font-weight: bold; } .italic, .codeinlineitalic, .syntaxinlineitalic, .variable, .xreftitleitalic { font-style: italic; } .bolditalic, .codeinlineboldital, .syntaxinlineboldital, .titleinfigure, .titleinexample, .titleintable, .titleinequation, .xreftitleboldital { font-weight: bold; font-style: italic; } .itemizedlisttitle, .orderedlisttitle, .segmentedlisttitle, .variablelisttitle { font-weight: bold; } .bridgehead, .titleinrefsubsect3 { font-weight: bold; } .titleinrefsubsect { font-size: 126%; font-weight: bold; } .titleinrefsubsect2 { font-size: 113%; font-weight: bold; } .subhead1 { display: block; font-size: 139%; font-weight: bold; } .subhead2 { display: block; font-weight: bold; } .subhead3 { font-weight: bold; } .underline { text-decoration: underline; } .superscript { vertical-align: super; } .subscript { vertical-align: sub; } .listofeft { border: none; } .betadraft, .alphabetanotice, .revenuerecognitionnotice { color: #e00; background: inherit; } .betadraftsubtitle { text-align: center; font-weight: bold; color: #e00; background: inherit; } .comment { color: #080; background: inherit; font-weight: bold; } .copyrightlogo { text-align: center; font-size: 85%; } .tocsubheader { list-style-type: none; } table.icons td { padding-left: 6px; padding-right: 6px; } .l1ix dd, dd dl.l2ix, dd dl.l3ix { margin-top: 0ex; margin-bottom: 0ex; } div.infoboxnote, div.infoboxnotewarn, div.infoboxnotealso { margin-top: 4ex; margin-right: 10%; margin-left: 10%; margin-bottom: 4ex; padding: 0.25em; border-top: 1pt solid gray; border-bottom: 1pt solid gray; } p.notep1 { margin-top: 0px; margin-bottom: 0px; } .tahiti-highlight-example { background: #ff9; text-decoration: inherit; } .tahiti-highlight-search { background: #9cf; text-decoration: inherit; } .tahiti-sidebar-heading { font-size: 110%; margin-bottom: 0px; padding-bottom: 0px; } /*************************************/ /* End DARB Formats */ /*************************************/ @media all { /* * * { line-height: 120%; } */ dd { margin-bottom: 2ex; } dl:first-child { margin-top: 2ex; } } @media print { body { font-size: 11pt; padding: 0px !important; } a:link, a:visited { color: black; background: inherit; } code, pre, samp, tt { font-size: 10pt; } #nav, #search_this_book, #comment_form, #comment_announcement, #flipNav, .noprint { display: none !important; } body#left-nav-present { overflow: visible !important; } } PK²Ê¸³PK\8–AOEBPS/dcommon/rightnav.gif&ÙþGIF89aó1ÿÿÿÿ÷ÿïçÞç÷ÿÞç÷ÎÖÖ½Þç­½Þ­µÆ”Œ½Œ¥µk„œZ„œZk{Bc{,@ÛÈ )ç l)-ˆ ³âÐ$ÓæCˆÂÒ Ò€ ³è! œD1Á †#Ñ:šaS( »…còé4B0 AßÎC8ù Ö°9!%M¢‘Lj Z * ctypJBa H t>#SbœŠ(clhUŽ<¦?i9¯[› 8´µ1 Lªpƒµ%IHB »Æ‘¹ &[‘57½Ó1e?DXŒ ]5K¬Ȓh ælSå H6+Ò¦ü©œ;PK‘+&PK\8–AOEBPS/dcommon/oracle-small.JPGð8ÇÿØÿàJFIF``ÿáExifII*ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀ'7"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?÷ú(¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (ÅQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE!KEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE†–šzгE7Ô‚Ì—4¹¨D£¦àzt÷¤ó×ÔSÔ™¾í“9ZQÒ€EPEPEPEPEPEPEPM=iÔÔP æªÜÞGi–i –c€*yF 1À׆ü@ñ\š¶¥&™o!QY0Ö0Ï_örýlgV¢¦µ;°)âêòDØñÅGÞðhÑÁÀžC…üq7~.ñã.¯p¾¢&1còª:uÖ«{­œfI¤È¨¹>˜ÿõf½JøL¦$}BòBøû±íP?JàR­WcêÝ<^¹j+³Ï‡ˆ5œÈb÷ÿ[ühþßÖ¿è-ÿ þ5êÿð¨ô_ùø¹ÿ¿Ÿýj?áPèßóÚãþûáOêõ»™ÿke¿ÉøQý¿­Ð^ÿÿühþÞÖ¿è1¨àLŸã^¯ÿ ‡Hÿž·÷Øÿ ?áQi?óÚçþþð§õz½ÉþÕË?ó+_x†É”Ū\°þì½Oç“]χ>)îxíµxÂùVâ/™sî)º¯ÂeŠ6—MºI¹7*ߊàþµæú……Þ›vÖ—±2J,;†~ðÍEêÒÜÒ4°Œyi«3é«[¸n I¡`Ñ°Èe9â³ü@ï‹zñ»©X©F*W ê+Éþø¶]7Q‡J»µ¬ä$$ÿº=•¹Çêþ&`Þ¿aÐÛ¾?ï“]±­ÏNçÌ×ÁË ‰T䟽¬¿'XÔð)ÿÆ”kú°ê÷üÓÓÿfó€:jô¿ |>ÓõÝÖþá®äNBËÇÞúW›z“´Yöx˜á0t!*‘Üáÿ·õ¯ú _ÿàKðkô¿ÿÀ–ÿõoøTZ?üõŸþûáKÿ Gÿž³ÿßcü+«UîyßÚ¹gòNuíhÿÌ^ÿÿüiSÄÔo¹5{ì¯\ܹý3·ô¯Y´oùísÿ}ð¨.>if ¹¹FŒ¶qøRö5»”³\µéÉø®ñ/TÓ®#]H‹«SÃ0âD¾†½‡KÕíu{(îí$ó"‘2¦¾xÖ´{S’ÆçBJÈ8Þ=}«­øY­=¾«.”ì|©Tºsц2çúUЫ%.Inaše”gKëoÏ¥¦ƒòÐ zÈ ÝŽ3Ö¹xœxwM&2êS²%'©®’òê;+I'™Â,k¸“ØWÎþ&×åñ·-Ó"_Ý¿Ý_ñÿ æÄVöq±ìäøŠª›^êÜ«6½«Ïpf—T¹2RV ŸAšõ‡^6›RKÔeÝtƒtoýñ^[“{w¥\jPÆZÞ¼@àúãéÞ¢´»ŸN¼†îÛ4/½XNó#ë\4êÊ2¼©Æåøjô\(¯z'ÔjÜ ÷ì×=á~-IŠò#É:çî·q[à’¾õëEÝh|X:sp–è* «¸­bifpˆ£$“ŒTÎÛspZñˆž-}NúM*ÒB-bb&*xŽ ÖUªr#¯‚ž*¯$M|QW·ÑãY ñç»~½p×~-ñ Ùf—T¹Eÿ¦DÇü«6ÃOºÕ.ÒÒÎ#$ómÃïì+Ñt„ªð$ºË™Hå"Gæk†õª=«t°9r娮ÎûYó¿ÿÀ†ÿ?·õ¯ú ßÿàCz¸øE£Ï[ûì…/ü*-þ{Üÿßcü*¾­[¹ÚÙwò~“ÿoë_ôÔ?ð%ÿÆ”xƒZç:Åÿ×í/þ5êß𨴟ùíqÿ}ð§/Â]2—’å‚ö2p qÃÕîD³\·—H"¿ÃK]ZâÚMKR¾½™&\CÓ3ŒzàÖĽ[P´ñJÅm¨]A·S²)Iaœ^Ãkm¢Á ñŠMŸ@ÿdÿК¶¬Ü)fT¡‰Æê´ì[øi¬jW*hnu »ˆþÌͲi™Æw/bkÛExG£Ÿ@ÿf?ÚZ÷u§…“”.ÌsÊ0¥Š´‰(¢Šê<`£µ‡¥0‘Ö¹oxÇOðäÌûæaòD¿xŸ\zTþ-ñ^ѧ¼”‚ʧË_ï1è+çýCPºÕ/§½»´®p[w 9à~UË^²‚å[žÖU•<[çŸÂtú¯Ä½wPv[yÎzD1ìÀÈW='‰u¹$ÞÚÅÞOe¹aýk[Ã^ Ô|G‰÷k2x¯ÎçØvÝÛü#Ó2æí›ÔÈ?¹TkÏSÝ•|· îrÝž[ý¿­ÐVÿÿüi·µŸú _ÿàKzÇü*þ{\ÿßcü(ÿ…C¢ÿÏkŸûì…_°«Üí|»ù?Éÿ·uú jøßãVô›ßêÚ”6º¶¡¾f ‘tù?3õú©éßð¨ôn¾mÎßáZþð6™áéf¸´ó%šQò¶üAížj¡J¢–¬åÅf¸9Rq§ _j÷7Z†Õ-äy.pG$îXïb]‰ê0'ô®)¯[_kµ;ï¶$Ì­?›&å"0âFOõew7Ý zõ-cI‹XÒå²›;$Ïu=çƒ\aðnµ$û úzmrâý‚à¡IÇLíuÇ uÙž% ”Ô_1×xcU“WÐìï%dtÀxÜ88öÈ5»Yš^™›§Ágn˜Ž¹î;þ}Ó­)´å ´QE…Q@Q@Q@Q@Q@Q@!¥¤4Îx¿Pm3Ãw×*û]b`¤ôÜFë_931Ëœ’[“ןëÇä+Ýþ(> »ÛÏÍÇÒE¯ lÆyÇøÿ€¯;ù¤‘ö<;MF„ê-Ïqøsá¸tÝ+·Œ}¦áDŽHäÑ ï@õëYºKÆÚlL„mؤcéÅiµÝN<±Ðù|]IU­)Lwà(ü8t¥«9FþS©(=¹¯>ø“áØoôg½Ž<\Z~ôêÀu_¦+ÐXšÌÖÚ1¥Ýy lòÎséŽj'e©Õƒ«*U¢âúŸ3`C!”ƒ¹N9þ•ïQ_WáëܱËhKc³9¯ôü3^Çáuað¡ÁÏú©À÷Ûò¯>†ŽHúìê Æ•G½Ñãk÷=8¯ ~ÿe†¸ô#_?{Ç€Úeð-«[¨2ˆÙ”7;=&ÅÄKýž™Û挑ü5äzÄÍsLÔd±¼Òã†xù(e8#ûÀã‘ú{Õ1ñwS+ÎÿÛVÿâk²XŠqÜùÚ9>&´yà®hô¤$zq^0~/j@ÿÈ:/ûú«ÝüVÕnce†Ò$$uÉoéP±p}M–CŒ¾¨Å{ˆ$×-akH±±“Ž@ÏÉ«À1³øãO !“8÷R9üsùÖÕÜ××5Ô¦YåmÌÄóϧ·'ó¯OøUṡó5«¸¶T,!¿»Ôšæ‡ï+s#è1VÁeÞÊoÞ=[ø)€¥ôõ®gÆ>#ÃÚ<· s)ÊƽÙA^”䠮ω£FUj(Ç©Ã|Nñ3Jë¡Ú·çìÝúõϱµçšuŒÚ–¡•¾ZYG§äOÐTsÜI<òÜÏ&édrÌýaøv?Aé^©ðÏÃ_f´þ×»B$”,áO_¯_øå¯ßÔ¿Cíæã–`­´™ÙiµÓtôá´{6>GÞÈä׈ø§Cë²Û~Ï&$„ÕyÀúŽ‡ØŽõôv1Àµqþ9ðÚëÚS¤c1fH[ѽý«²µá¢>,ÌgGå'¤0ð'‰Ÿ@ÖVßw,BO Ç[ó#>Õﱺº‰¤g5ò»«ÆÎ’FVD%Yr:åO×5ìŸ ¼Tu+Oì멃]ÛŒ‚Ž3ÐÖ8Z¿ež†}€R¶&šÑ_Šµ¥xzòìc1DXg¹¯›Ø³;<§,_,¼{ŸÆ½ãâY'Á¥AÎS#¾Œþ‚¼ä’oÌF.MÉ#~„cBuèö¿‡ŠÃEŽöx—í7ÈÌGÝ+ÐŽéYš)´«(†5ÚqŠÕÏ»©+GCåñ•¥V´œ€; qF+C”LQè)qEC&6Ÿz𿊘ÿ„Äz}•?ô&¯w=+Áþ)ÿÈâ?ëÝ?ô&®\gÀ{¼;þö…øV?â²?õîÿú×»­xGÂœÿÂdëÙ¿š×¼-Nøcâ'þÖýú)3K]‡‚ÒN)iLæ€÷ÊÿñTÂãÓ¿çÂëÿÿ⫬C¹ådbÿ‘žŸš7Q^aÿ NÿŸ ¿üsÿŠ üdÓÿçÂïÿÿâ¨úÅ>áý‘‹þFz[0S“^sñ'ÄÑZi ¦Á 77D¡²ó“þ}kWø­us ÅabÐî~~Hú(Ïó¯>ººžöåî.fif“9,~‡ñ…|Jk–;ž®Y’N3ö•ôHŽ8ÞY(—t²6ÅQ݉ÀÇækÞ͇ö_÷²ÎZ+2…‡²õ®áß„&ºº‡[»‹¯Í Ôãü+ÔT r§üöï^­è—ºù¶º9æ7ãÔ~cóµô¾ÜŽ=ë[ðýž»fÖ×1RrB§ÔÇ“Ï^k«EMhxYVm<”[ÑŸ6ÓÐúñü«§Ò| ªêöñÏkqbѱÎ|Æÿ ‹Å½ðÅÙYA{G8Šp?Ÿ§ÿ\UMÄ7þ¼Z6èØüð“ò‘ëõ¯6ã ÚgÙâ1U1i…g£øáUµ¤«6«9» ݈¾„u5éPÀÇåƪª:V‡V¼êZµîC=Â[@ҹ¨$±ö¯ŸükâSâm¤É³€”‹ÐžŒß\­vßç“ý“‹þFz~i3^aÿ ‡OÿŸ¯üsÿŠ¥ÿ…ŧÏ…×þ9ÿÅQõŠ}ÆòŒ_ò3Ó ö¯ø¥ÏŒOý{/þ„Õßøw⿈µgoet«39 „‰æ¼÷âvO‹2ÿeíþÓ…a‰’•;£ÐÈèÎŽ7–¢³$øUÿ#‰?ôìßÍkÝÁ¯›¼+­E k&úd‘—ËØp¥zübÓ±°Þß+ÿÅTa«B0³gN{€¯[ÍN7G¨þŒ×™Ââ°ÿ }ßä¿üU7þ&Ÿÿ@û¿É?øªêúÅ>çý‘ŒþFz~E!až¢¼Ïþÿ@û¯üsÿŠ¨‡Æ ?'67XxOþ*—Ö!Ü?²qi]Á™ôÖT¶ÔQNÉ@…ØtI+üÏå\^…¨¦•«Ás8l0³)ù2kÖ!Ôì¾!iW–‚Æâ8•F$(ùé‚yO×Ö¼TÒ.´ké,/#1:}Þ8uîT÷˾+Žº÷ùÖÇÒå5ý¥„©£=ÿO¶Ò/`I¢†W GÖ¯ÿbéÿ.ÿß¼ÃÞ-Õ<= HOmÇú;œ~×soñ~ÛÊh°¸Wî«Ï5´+ÒkSÉÅå8Ês÷.ÑèŸØzwüùEÿ| ?±4ïùô‹þøÁÿÂáÓ¿èwù/ÿKÿ ‹NÿŸ ¿Éøª×ÚÒ9?³ñÿÊÎëûÀøô‹þøj(#†0‘ UT` WŒzw}:ïò_þ*“þš9m>ó‘“€¼ãÔF¥?²EL¿Ëz‘v=8qÅ:±´=WûgJ‚õ`’˜nD“Ær½ íZõе<Ö¹]˜ú(¢Q@Q@Q@Q@Q@Q@Q@Q@ Á¨'·I£d‘C«0EYÁ¤ÛJ×VcM§ty_ˆ~Áu+ÜéSw-¹£a¹Oû§¨üÿ ân<â[YJÿgù¸ÿ–‘L¥#†¯¢6i g·5„ðЖDZ‡Ï14cÊÑóü!Þ!ÿ \ßøïøÒÿÂâ/úMÿŽÿ}å/ £Ê_AYýR_úÉ_²>oÿ„CÄ?ô Ÿó_ñ¥ñ?ä7æ¿ã_Gù#ÐRÇ÷ER€ßW재üâK™B”»}¸ÇJÖxGSâkÇ•»A pƱơP m¨ëÖÒ]hw°B7Èð°Uõ$ZÁqŒ M£9ïÏ5«Šµ"3qŸ1óiðoˆAÇöTßšÿ{g¬.tï ÙÁuŽu2£’k¤ò“=;h#ƒYBŠƒº= fgS ô:TdLÔƒ¥!­Ï4ÌÔ4ûmFÖK{¨–Hœr¤dŸå^7âo‡z–›|­¦B÷V®r¸<¡÷Å{®)6AXÕ££»˜V»Áè|õ¦è>*Ó/’æÊÆh¥SÜ›ëÍz͆·ªO M=Εq ì(sÊ|Æþsßÿ׊êLKÆQIÍ :9ÏNŸJ)ÑP®Å+!Ê£oAF>”ê+ ò=@ƒíIŠ}¬"ÛÇÁxóÂ/®Ø}¢ÍÛ å1Áaœ•ã·õ× c¹4§eÊmC:àõ>p_xŒWK™X`© >R3Ï_SŸÂ½“ÂæúûèšÅ³Çp™·ãç¾3Þº¡uÚ3N õüÍe §±ÛŒÌêbmͺ<ÃÄ_ mnÝ®ô¹¬Çø1òÃøO¸Åp÷?üGm)Qb%NσüÈ5ô8¼þ†5'%AúŠš˜hÏs\6yˆ ¬Ñówü!¾"Ïüƒ&ÿÇÆ—þßÿÐ._üwüké)}åG’¾‚£êP;¿ÖZý‘óü!Þ#ÿ \¿šÿÁÞ"< *oÍƾò—û£ò£Ë\ýÀ)}N>"®Õ¬Ž/À~]LógŒ}ªpBG ‹X?<¨êzŒZ–—#xº69äø¯SÚ=6ý) jz€xº=”y9O&ž>¬+ûe¹ó‡ü!Þ!?ó —ðÚ?­ð†ø‡þs~kþ5ô€‰GðÊ)º?*çú”cýeÄ7ÿÂâúOúð†x‡þ“~kþ5ô‡”¾‹ùQå/ ü¨úŒýe¯Ù7ÿÂâ/úÍù¯øÔø#Ä3OgN•C0]Å× ;“_FùiýÑùRl†>œQ.g>!¯%k#ú:•œK¸‘Én¤þ'Ÿ­&½á}?ÄÞUÜ@‘÷\pÑŸP¥tp)vÿõë©Â<¼§‰íê{_i}OÕ¾êÖ²3XIÔYÈI×üxÃ~b¹ù<âDáô¹ï¥?È×ÑÁì(Ø=_JÂXH=bbi«=O›ÿáñý¦ü×ühÿ„?Ä_ô ›ÿÿúCÉ_îŠO)}—Ôàoþ²Wìœ?á ñý%ÿÇƵ¼;à-RïY‹ûFÌÃiù`w‘Û­{Ï–¿ÜZM€túQ$"îc_ˆ+ÔƒËx1*0ô•b;Ô•‘àÉÝÝ‹ESQEQEQEQEQEQEQEQEQEœQšZ(1F)h Å¥¢€Š1K@XLRÑE&9£´P (¢€b–ŠfÐ{RÓ¨ Å&)ÔPEPEPbŽÔ´PGáKŠZ(›iإŠť¢€b–Šn(ÀÅ:ŠAä%´S0(Å- Å&)ÔP+ ÚŽÔ´P11F)h Å&:ŠLRm§Q@¬¥Q@Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( ÿÙPKjÓeõ8ð8PK\8–AOEBPS/dcommon/help.gif!ÞþGIF89aó1ÿÿÿÿ÷ÿç÷ÿÞç÷ÖÖçÎÎεÎÖµµÖœµÖœ­½””­{”­k„œZs„Bc{,@ÖÈ )è˜sÆ TQà$8(4Ê”%ÑÅŒC„ÉKÓ$·ÉA› H¥„ãP „`$h8Å’€Sðd+°É¡\¶ H¡@æ%¯ú¹à' 6M HO3ƒSJ‚M ““/:ŠZi[‘7   \—(® R9ƒr ERI…%  ¥N=a±‚Êqƒ ¶  ƒqƦ©s *q-n/ÇSqÎj ² ”…DŠ XZŸè;PK¤Þ‡{&!PK\8–A OEBPS/toc.htm€ÿ Table of Contents

Contents

Title and Copyright Information

Preface

What's New

1 Managing TimesTen Databases

2 Working with the TimesTen Client and Server

3 Working with the Oracle TimesTen Data Manager Daemon

4 Managing Access Control

5 Globalization Support

6 Using the ttIsql Utility

7 Working with Data in a TimesTen Database

8 Transaction Management and Recovery

9 TimesTen Database Performance Tuning

10 The TimesTen Query Optimizer

Glossary

Index

PK T—¸Ã‡¹‡PK\8–AOEBPS/globalization.htmÇ|8ƒ Globalization Support

5 Globalization Support

The following sections describe TimesTen globalization support features:

Overview of globalization support features

TimesTen globalization support includes the following features:

  • Character set support

    You must choose a database character set when you create a database. See "Supported character sets" in the Oracle TimesTen In-Memory Database Reference for all supported character sets. You can also choose a connection character set for a session. See "Connection character set".

  • Length semantics

    You can specify byte semantics or character semantics for defining the storage measurement of character data types. See "Length semantics and data storage".

  • Linguistic sorts and indexes. You can sort data based on linguistic rules. See "Linguistic sorts". You can use linguistic indexes to improve performance of linguistic sorts. See "Using linguistic indexes".

  • SQL string and character functions

    TimesTen provides SQL functions that return information about character strings. TimesTen also provides SQL functions that return a character from an encoded value. See "SQL string and character functions".


Note:

This release of TimesTen does not support session language and territory.

Choosing a database character set

TimesTen uses the database character set to define the encoding of data stored in character data types, such as CHAR and VARCHAR2.

Use the DatabaseCharacterSet data store attribute to specify the database character set during database creation. You cannot alter the database character set after database creation, and there is no default value for DatabaseCharacterSet. See "Supported character sets" in the Oracle TimesTen In-Memory Database Reference for a list of supported character sets.

Consider the following questions when you choose a character set for a database:

  • What languages does the database need to support now and in the future?

  • Is the character set available on the operating system?

  • What character sets are used on clients?

  • How well does the application handle the character set?

  • What are the performance implications of the character set?

If you are using Oracle In-Memory Database Cache (IMDB Cache) to cache Oracle tables, you must create the database with the same database character set as the Oracle Database.

This section includes the following topics:

Character sets and languages

Choosing a database character set determines what languages can be represented in the database.

A group of characters, such as alphabetic characters, ideographs, symbols, punctuation marks, and control characters, can be encoded as a character set. An encoded character set assigns unique numeric codes to each character in the character repertoire. The numeric codes are called code points or encoded values.

Character sets can be single-byte or multibyte. Single-byte 7-bit encoding schemes can define up to 128 characters and normally support just one language. Single-byte 8-bit encoding schemes can define up to 256 characters and often support a group of related languages. Multibyte encoding schemes are needed to support ideographic scripts used in Asian languages like Chinese or Japanese because these languages use thousands of characters. These encoding schemes use either a fixed number or a variable number of bytes to represent each character. Unicode is a universal encoded character set that enables information from any language to be stored using a single character set. Unicode provides a unique code value for every character, regardless of the platform, program, or language.

Client operating system and application compatibility

The database character set is independent of the operating system. On an English operating system, you can create and run a database with a Japanese character set. However, when an application in the client operating system accesses the database, the client operating system must be able to support the database character set with appropriate fonts and input methods. For example, you cannot insert or retrieve Japanese data on the English Windows operating system without first installing a Japanese font and input method. Another way to insert and retrieve Japanese data is to use a Japanese operating system remotely to access the database server.

If all client applications use the same character set, then that character set is usually the best choice for the database character set. When client applications use different character sets, the database character set should be a superset of all the application character sets. This ensures that every character is represented when converting from an application character set to the database character set.

Performance and storage implications

For best performance, choose a character set that avoids character set conversion and uses the most efficient encoding for the languages desired. Single-byte character sets result in better performance than multibyte character sets and are more efficient in terms of space requirements. However, single-byte character sets limit how many languages you can support.

Character sets and replication

All databases in a replication scheme must have the same database character set. No character set conversion occurs during replication.

Length semantics and data storage

In single-byte character sets, the number of bytes and the number of characters in a string are the same. In multibyte character sets, a character or code point consists of one or more bytes. Calculating the number of characters based on byte lengths can be difficult in a variable-width character set. Calculating column lengths in bytes is called byte semantics, while measuring column lengths in characters is called character semantics.

Character length and byte length semantics are supported to resolve potential ambiguity regarding column length and storage size. Multibyte encoding character sets are supported, such as UTF-8 or AL32UTF8. Multibyte encodings require varying amounts of storage per character depending on the character. For example, a UTF-8 character may require from 1 to 4 bytes. If, for example, a column is defined as CHAR (10), all 10 characters fit in this column regardless of character set encoding. However, for UTF-8 character set encoding, up to 40 bytes are required.

Character semantics is useful for defining the storage requirements for multibyte strings of varying widths. For example, in a Unicode database (AL32UTF8), suppose that you need to define a VARCHAR2 column that can store up to five Chinese characters together with five English characters. Using byte semantics, this column requires 15 bytes for the Chinese characters, where each are three bytes long, and 5 bytes for the English characters, where each are one byte long, for a total of 20 bytes. Using character semantics, the column requires 10 characters.

The expressions in the following list use byte semantics. Note the BYTE qualifier in the CHAR and VARCHAR2 expressions.

  • CHAR (5 BYTE)

  • VARCHAR2(20 BYTE)

The expressions in the following list use character semantics. Note the CHAR qualifier in the VARCHAR2 expression.

  • VARCHAR2(20 CHAR)

  • SUBSTR(string, 1, 20)

By default, the CHAR and VARCHAR2 character data types are specified in bytes, not characters. Therefore, the specification CHAR(20) in a table definition allows 20 bytes for storing character data.

The NLS_LENGTH_SEMANTICS general connection attribute determines whether a new column of character data type uses byte or character semantics. It enables you to create CHAR and VARCHAR2 columns using either byte-length or character-length semantics without having to add the explicit qualifier. NCHAR and NVARCHAR2 columns are always character-based. Existing columns are not affected.

The default value for NLS_LENGTH_SEMANTICS is BYTE. Specifying the BYTE or CHAR qualifier in a data type expression overrides the NLS_LENGTH_SEMANTICS value.

Connection character set

The database character set determines the encoding of CHAR and VARCHAR2 character data types. The connection character set is used to describe the encoding of the incoming and outgoing application data, so that TimesTen can perform the necessary character set conversion between the application and the database. For example, a non-Unicode application can communicate with a Unicode (AL32UTF8) database.

The ConnectionCharacterSet general connection attribute sets the character encoding for the connection, which can be different than the database character set. The connection uses the connection character set for information that passes through the connection, such as parameters, SQL query text, results and error messages. Choose a connection character set that matches the application environment or the character set of your data source.

Best performance results when the connection character set and the database character set are the same because no conversion occurs. When the connection character set and the database character set are different, data conversion is performed in the ODBC layer. Characters that cannot be converted to the target character set are changed to replacement characters.

The default connection character set is US7ASCII. This setting applies to both direct and client connections.

Linguistic sorts

Different languages have different sorting rules. Text is conventionally sorted inside a database according to the binary codes used to encode the characters. Typically, this does not produce a sort order that is linguistically meaningful. A linguistic sort handles the complex sorting requirements of different languages and cultures. It enables text in character data types, such as CHAR, VARCHAR2, NCHAR, and NVARCHAR2, to be sorted according to specific linguistic conventions.

A linguistic sort operates by replacing characters with numeric values that reflect each character's proper linguistic order. TimesTen offers two kinds of linguistic sorts: monolingual and multilingual.

This section includes the following topics:

Monolingual linguistic sorts

TimesTen compares character strings in two steps for monolingual sorts. The first step compares the major value of the entire string from a table of major values. Usually, letters with the same appearance have the same major value. The second step compares the minor value from a table of minor values. The major and minor values are defined by TimesTen. TimesTen defines letters with accent and case differences as having the same major value but different minor values.

Monolingual linguistic sorting is available only for single-byte and Unicode database character sets. If a monolingual linguistic sort is specified when the database character set is non-Unicode multibyte, then the default sort order is the binary sort order of the database character set.

For a list of supported sorts, see "NLS_SORT "in the Oracle TimesTen In-Memory Database Reference.

Multilingual linguistic sorts

TimesTen provides multilingual linguistic sorts so that you can sort data for multiple languages in one sort. Multilingual linguistic sort is based on the ISO/OEC 14651 - International String Ordering and the Unicode Collation algorithm standards. This framework enables the database to handle languages that have complex sorting rules, such as those in Asian languages, as well as providing linguistic support for databases with multilingual data.

In addition, multilingual sorts can handle canonical equivalence and supplementary characters. Canonical equivalence is a basic equivalence between characters or sequences of characters. For example, ç is equivalent to the combination of c and ,.

For example, TimesTen supports a monolingual French sort (FRENCH), but you can specify a multilingual French sort (FRENCH_M). _M represents the ISO 14651 standard for multilingual sorting. The sorting order is based on the GENERIC_M sorting order and can sort accents from right to left. TimesTen recommends using a multilingual linguistic sort if the tables contain multilingual data. If the tables contain only French, then a monolingual French sort may have better performance because it uses less memory. It uses less memory because fewer characters are defined in a monolingual French sort than in a multilingual French sort. There is a trade-off between the scope and the performance of a sort.

For a list of supported multilingual sorts, see "NLS_SORT" in the Oracle TimesTen In-Memory Database Reference.

Case-insensitive and accent-insensitive linguistic sorts

Operations inside a database are sensitive to the case and the accents of the characters. Sometimes you might need to perform case-insensitive or accent-insensitive comparisons.

To specify a case-insensitive or accent-insensitive sort:

  • Append _CI to a TimesTen sort name for a case-insensitive sort. For example:

    BINARY_CI: accent-sensitive and case-insensitive binary sort

    GENERIC_M_CI: accent-sensitive and case-insensitive GENERIC_M sort

  • Append _AI to a TimesTen sort name for an accent-insensitive and case-insensitive sort. For example:

    BINARY_AI: accent-insensitive and case-insensitive binary sort

    FRENCH_M_AI: accent-insensitive and case-insensitive FRENCH_M sort

Performing a linguistic sort

The NLS_SORT data store connection attribute indicates which collating sequence to use for linguistic comparisons. The NLS_SORT value affects the SQL string comparison operators and the ORDER BY clause.

You can use the ALTER SESSION statement to change the value of NLS_SORT:

ALTER SESSION SET NLS_SORT=SWEDISH;
SELECT product_name
  FROM product
  ORDER BY product_name;

PRODUCT NAME
------------
aerial
Antenne
Lcd
ächzen
Ähre

You can also override the NLS_SORT setting by using the NLSSORT SQL function to perform a linguistic sort:

SELECT * FROM test ORDER BY NLSSORT(name,'NLS_SORT=SPANISH');

Note:

For materialized views and cache groups, TimesTen recommends that you explicitly specify the collating sequence using the NLSSORT() SQL function rather than using this attribute in the connection string or DSN definition.

For more details, see "NLS_SORT" in the Oracle TimesTen In-Memory Database Reference. For more extensive examples of using NLSSORT, see "NLSSORT" in the Oracle TimesTen In-Memory Database SQL Reference.

Using linguistic indexes

You can create a linguistic index to achieve better performance during linguistic comparisons. A linguistic index requires storage for the sort key values.

To create a linguistic index, use a statement similar to the following:

CREATE INDEX german_index ON employees
(NLSSORT(employee_id, 'NLS_SORT=GERMAN'));

The optimizer chooses the appropriate index based on the values for NLSSORT and NLS_SORT.

You must create multiple linguistic indexes if you want more than one linguistic sort on a column. For example, if you want both GERMAN and GERMAN_CI sorts against the same column, create two linguistic indexes.

For more information, see "CREATE INDEX" in the Oracle TimesTen In-Memory Database SQL Reference.

SQL string and character functions

There are many SQL functions that operate on character strings, which are detailed in the following sections:

Setting globalization support attributes

The globalization support attributes are summarized in the following table:

ParameterDescription
DatabaseCharacterSetIndicates the character encoding used by a database.
ConnectionCharacterSetDetermines the character encoding for the connection, which may be different from the database character set.
NLS_SORTIndicates the collating sequence to use for linguistic comparisons.
NLS_LENGTH_SEMANTICSSets the default length semantics.
NLS_NCHAR_CONV_EXCPDetermines whether an error is reported when there is data loss during an implicit or explicit data type conversion between NCHAR/NVARCHAR2 data and CHAR/VARCHAR2 data.

DatabaseCharacterSet must be set during database creation. There is no default. See "Choosing a database character set".

The rest of the attributes are set during connection to a database. For more information about ConnectionCharacterSet, see "Connection character set".

You can use the ALTER SESSION statement to change the following attributes during a session:

  • NLS_SORT

  • NLS_LENGTH_SEMANTICS

  • NLS_NCHAR_CONV_EXCP

For more information, see "ALTER SESSION" in the Oracle TimesTen In-Memory Database SQL Reference and "Connection Attributes" in Oracle TimesTen In-Memory Database Reference.

Backward compatibility using TIMESTEN8

TIMESTEN8 is a restricted database character set that specifies behavior from TimesTen releases before 7.0. It is supported for backward compatibility only.

TIMESTEN8 has the following restrictions:

  • There is no support for character set conversion of any kind. This includes:

    • Conversions between the application and the database. If DatabaseCharacterSet is TIMESTEN8, then ConnectionCharacterSet must also be TIMESTEN8.

    • Conversions between CHAR/VARCHAR2 data and NCHAR/NVARCHAR2 data.

  • Sorting for CHAR and VARCHAR2 data types is limited to binary ordering. NLS_SORT=BINARY is the only acceptable collating sequence allowed.

  • CHAR semantics are ignored. Characters are single-byte.

  • UPPER and LOWER functions support ASCII characters only. Results for non-ASCII characters are undefined. TimesTen does not return an error.

  • TIMESTEN8 is not supported in IMDB Cache.

  • There is no support for any LOB data types in TIMESTEN8.

During database creation, customers should select the database character set matching the actual encoding of the data being stored in CHAR and VARCHAR2 columns whenever possible. Select TIMESTEN8 only when backwards compatibility to existing TimesTen data is required.


Note:

For details on potential issues when migrating a TimesTen database that uses the TIMESTEN8 character set to a database with a different character set, see "Migration, Backup and Restoration" in the Oracle TimesTen In-Memory Database Installation Guide.

Globalization support during migration

Globalization support may cause issues during migration. For complete details, see "Migration, Backup and Restoration" in the Oracle TimesTen In-Memory Database Installation Guide and the description of ttMigrate in the Oracle TimesTen In-Memory Database Reference.

PKqÍ|Ì|Ç|PK\8–AOEBPS/using.htm€ÿ Managing TimesTen Databases

1 Managing TimesTen Databases

A TimesTen database is a collection of elements such as tables, views, and sequences that can be accessed and manipulated through SQL. Each TimesTen database is created when the first connection initiates. The database instance is freed only when all existing connections have been disconnected. The configuration for the TimesTen database is contained within the first connection attributes.

Thus, this chapter describes first how to configure for a connection to the TimesTen database, because the configuration and management for your TimesTen database is contained in attributes within the connection definition.

Once you have created a database, you can perform the following:

The main topics are as follows:

Connecting to TimesTen with ODBC and JDBC drivers

As described in "TimesTen connection options" in the Oracle In-Memory Database Cache Introduction, applications use the TimesTen ODBC driver to access a TimesTen database. The application can use the ODBC direct driver, the Windows ODBC driver manager, the ODBC client driver or the ODBC driver indirectly through a provided interface to access the TimesTen database.

Figure 1-1 shows how the application can use different drivers and interfaces to access the TimesTen database.

Figure 1-1 Application access to TimesTen database diagram

Description of Figure 1-1 follows
Description of "Figure 1-1 Application access to TimesTen database diagram"

  • C applications interact with TimesTen by linking directly with the TimesTen ODBC driver, by linking with the Windows ODBC driver manager, or by using the OCI or Pro*C/C++ interfaces that access the ODBC driver.

  • Java applications interact with TimesTen by loading the JDBC library.

  • C++ applications interact with TimesTen through a TimesTen-provided set of classes called TTClasses or by using the OCI or Pro*C/C++ interfaces that access the ODBC driver.

  • C# applications interact with TimesTen through Oracle Data Provider for .NET support for the TimesTen database.

Consider the following points:

  • An application that links directly with an ODBC driver, whether it is linked with the direct driver or client driver, is limited to using only the driver with which it is linked. An application linked directly to either of the TimesTen drivers can connect to multiple databases at the same time.

    • The TimesTen direct driver supports multiple connections to multiple TimesTen databases, each of which are all the same TimesTen version.

    • The TimesTen client driver, used to facilitate a client/server connection, supports multiple connections to multiple TimesTen databases, which can be different TimesTen versions.

    This option offers less flexibility but better performance than linking with a driver manager.

  • An application can link with more than one ODBC driver within the same application, even if the drivers are for different databases. If the application loads more than one ODBC driver, the application must use a driver manager, such as the Windows ODBC driver manager.

    An application might need multiple drivers if it needs to use both the TimesTen direct driver and the TimesTen client driver.

    The Windows ODBC driver manager dynamically loads an ODBC driver at runtime. However, carefully evaluate the benefits of using the ODBC driver manager, because it may affect the performance of your application with its additional runtime overhead.


    Note:

    An application that is using an ODBC driver manager cannot use XLA.

For more information on how to compile an application that uses the TimesTen driver manager, see Oracle TimesTen In-Memory Database C Developer's Guide, Oracle TimesTen In-Memory Database Java Developer's Guide and Oracle TimesTen In-Memory Database TTClasses Guide.

The following sections describe how to define TimesTen databases:

Connecting using TimesTen ODBC drivers

TimesTen includes the following ODBC drivers:

  • TimesTen Data Manager driver: A TimesTen ODBC driver for use with direct connect applications.

  • TimesTen Client driver: A TimesTen Client ODBC driver for use with client/server applications.

TimesTen includes the following two versions of the Data Manager ODBC driver:

  • Production: Use the production version of the TimesTen Data Manager driver for most application development and for all deployment.

  • Debug: Use the debug version of the TimesTen Data Manager driver only if you encounter problems with TimesTen itself. This version performs additional internal error checking and is slower than the production version. On UNIX, the TimesTen debug libraries are compiled with the -g option to display additional debug information.

On Windows, the production version of the TimesTen Data Manager is installed by default. To install the debug version, choose Custom setup. To install the TimesTen Client driver, choose either Typical or Custom setup.

Table 1-1 lists the ODBC drivers for Windows:

Table 1-1 ODBC drivers provided for Windows platforms

PlatformVersionName

Windows

Production

TimesTen Data Manager 11.2.2 Driver.

Windows

Debug

TimesTen Data Manager 11.2.2 Debug Driver.

Windows

Client

TimesTen Client 11.2.2 Driver


On UNIX, depending on the options selected at install time, TimesTen may install the Client driver and both the production version and the debug version of the TimesTen Data Manager ODBC driver.

Table 1-2 lists the TimesTen ODBC drivers for UNIX platforms.

Table 1-2 ODBC drivers provided for UNIX platforms

PlatformVersionLocation and name

Solaris

Linux

Production

install_dir/lib/libtten.so

TimesTen Data Manager 11.2.2 Driver.

Solaris

Linux

Debug

install_dir/lib/libttenD.so

TimesTen Data Manager 11.2.2 Debug Driver.

Solaris

Linux

Client

install_dir/lib/libttclient.so

TimesTen Client 11.2.2 Driver.

AIX

Production

install_dir/lib/libtten.a

TimesTen Data Manager 11.2.2 Driver.

AIX

Debug

install_dir/lib/libttenD.a

TimesTen Data Manager 11.2.2 Debug Driver.

AIX

Client

install_dir/lib/libttclient.a

TimesTen Client 11.2.2 Driver.


Connecting using the TimesTen JDBC driver and driver manager

JDBC enables Java applications to issue SQL statements to TimesTen and process the results. It is the primary interface for data access in the Java programming language. For TimesTen installations, JDBC is installed with the TimesTen Data Manager.

As shown in Figure 1-1, the TimesTen JDBC driver uses the ODBC driver to access TimesTen databases. For each JDBC method, the driver executes a set of ODBC functions to perform the appropriate operation. Since the JDBC driver depends on ODBC for all database operations, the first step in using JDBC is to define a TimesTen database and the ODBC driver that will access it on behalf of JDBC.

The TimesTen JDBC API is implemented using native methods to bridge to the TimesTen native API and provides a driver manager that can support multiple drivers connecting to separate databases. The JDBC driver manager in the DriverManager class keeps track of all JDBC drivers that have been loaded and are available to the Java application. The application may load several drivers and access each driver independently. For example, both the TimesTen Client JDBC driver and the TimesTen direct driver can be loaded by an application. Then, Java applications can access databases either on the local machine or a remote machine.

For a list of the Java functions supported by TimesTen, see the Oracle TimesTen In-Memory Database Java Developer's Guide.

Specifying Data Source Names to identify TimesTen databases

When you connect from an application, you use a Data Source Name (DSN) to uniquely identify the particular TimesTen database to which you want to connect. Specifically, a DSN is a character-string name that identifies a TimesTen database and a collection of connection attributes that are to be used when connecting to the database. On Windows, the DSN also specifies the ODBC driver to be used to access the database.


Note:

If a user tries to use a DSN that has connection attributes for which they do not have privileges, such as first connection attributes, they receive an error. For more information on first connection attribute privileges, see "Connection Attributes" in the Oracle TimesTen In-Memory Database Reference.

Even though the DSN uniquely identifies a TimesTen database, a database can be referenced by multiple DSNs. The difference between each of these unique DSNs is in the specification of the connection attributes to the database. This provides convenient names to different connection configurations for a single database.


Note:

According to the ODBC standard, when an attribute occurs multiple times in a connection string, the first value specified is used, not the last value.

A DSN has the following characteristics:

  • Its maximum length is 32 characters.

  • It is composed of ASCII characters except for the following: [ ] { } , ; ? * = ! @ \

  • It cannot contain spaces.

The following sections describe how to configure and manage your DSNs:

Overview of user and system DSNs

DSNs are resolved using a two-tiered naming system, consisting of user DSNs and system DSNs, which are as follows:

  • A user DSN can be used only by the user who created the DSN.

    • On Windows, user DSNs are defined from the User DSN tab of the ODBC Data Source Administrator.

    • On UNIX, user DSNs are defined in the file $HOME/.odbc.ini or in a file named by the ODBCINI environment variable. This file is referred to as the user ODBC.INI file.

    Although a user DSN is private to the user who created it, it is only the DSN, consisting of the character-string name and its attributes, that is private. The underlying database can be referenced by other users' user DSNs or by system DSNs.

    TimesTen supports data sources for both the TimesTen Data Manager and the TimesTen Client in the .odbc.ini file.

  • A system DSN can be used by any user on the machine on which the system DSN is defined to connect to the TimesTen database.

    • On Windows, system DSNs are defined from the System DSN tab of the ODBC Data Source Administrator.

    • On UNIX, system DSNs are defined in the sys.odbc.ini file, which is referred to as the system ODBC.INI file.

      • In a non-root installation, the file is located in install_dir/info/sys.odbc.ini.

      • In a root installation, the file is located in /var/TimesTen/InstanceName/sys.odbc.ini or /var/TimesTen/sys.odbc.ini.

Defining DSNs for direct or client/server connections

DSNs are created to uniquely identify a database, whether local or remote. The following explains the type of DSN to use for either a direct or client/server connection:

  • Data Manager DSN: A DSN that specifies a local database uses the TimesTen Data Manager ODBC driver, which is the direct driver. You can use either the production version or the debug version of the TimesTen Data Manager driver.

    A Data Manager DSN refers to a database using a path name and a filename prefix. The database path name specifies the directory location of the database and the prefix for the database, such as C:\data\chns\AdminDS or /home/chns/AdminDS.


    Note:

    This path name and prefix does not define a file name, but the name of the directory where the database is located and the prefix for all database files. The actual files used by the database append file suffixes, such as C:\data\chns\AdminDS.ds0 or /home/chns/AdminDS.log2.

    A Data Manager DSN that refers to a given TimesTen database must be defined on the same system on which the database resides. TimesTen creates dsName.resn files for each database. These files are used internally by TimesTen for maintaining logs.

    If multiple Data Manager DSNs refer to the same database, they must all use exactly the same database path name, even if some other path name identifies the same location. For example, you cannot use a symbolic link to refer to the database in one DSN and the actual path name in another DSN. On Windows, you cannot use a mapped drive letter in the database path name.

  • Client DSN: A Client DSN specifies a remote database and uses the TimesTen Client. A Client DSN refers to a TimesTen database indirectly by specifying a hostname, DSN pair, where the hostname represents the server machine on which TimesTen Server is running and the DSN refers to a Server DSN that specifies the TimesTen database on the server host.

  • Server DSN: A Server DSN is always defined as a system DSN and is defined on the server system for each database on that server that will be accessed by client applications. The format and attributes of a server DSN are very similar to those of a Data Manager DSN.

On UNIX, all user DSNs including both Client DSNs and Data Manager DSNs that are created by a specific user are defined in the same user ODBC.INI file. Similarly, all system DSNs are defined in the same system ODBC.INI file.

The following table indicates the types of DSN supported by TimesTen, whether to create a user or system DSN and the location of the DSN.

DSN typeUser or System DSN?Location of DSN
Data Manager DSNCan be a user or system DSNLocated on the machine where the database resides.
Client DSNCan be a user or system DSNLocated on any local or remote machine.
Server DSNMust be a system DSNLocated on the machine where the database resides.

For more information about Client DSNs and Server DSNs, see "Working with the TimesTen Client and Server".

Connection attributes for Data Manager DSNs or Server DSNs

There are four types of TimesTen Data Manager DSN or Server DSN attributes:


Note:

For a complete description of all attributes, see "Connection Attributes" in the Oracle TimesTen In-Memory Database Reference.

  • Data Store attributes are associated with a database when it is created and cannot be modified by subsequent connections. They can only be changed by destroying and re-creating the database.

    The following are some of the more popular data store attributes:

    • DataStore: Directory name and file name prefix of the database.

    • : Directory name of the database transaction log files. By default, the transaction log files reside in the checkpoint files directory. Placing the transaction log files and checkpoint files on different disks can improve system throughput.

    • DatabaseCharacterSet: Required character set specification that defines the storage encoding.

  • First connection attributes are used when the TimesTen database is loaded into memory. Only the instance administrator can load a database with first connection attribute settings. By default, TimesTen loads an idle database, which is a database with no connections, into memory when a first connection is made to it. These attributes persist for all subsequent connections until the last connection to the database is closed. First connection attributes can be modified only when the TimesTen database is unloaded and then the instance administrator reconnects with different values for the first connection attributes.

    The following are some of the more popular first connection attributes:

    • PermSize: Configures the allocated size of the database's permanent partition. The permanent partition contains persistent database elements. Only the permanent partition is written to disk during a checkpoint operation.

    • TempSize: Configures the allocated size of the database's temporary partition. The temporary partition contains transient data generated when executing statements.


      Note:

      Your system must have sufficient main memory to accommodate the entire database. For more details on setting partition sizes, see "Specifying the size of a database".

  • General connection attributes are set by each connection and persist for the duration of the connection. Each concurrent connection can have different values.


    Note:

    If you provide connection attributes in the connection string, this overrides the connection attributes set in the DSN. See "Connecting to a database using a connection string" for details.

    The user name and password can be specified within the general connection attributes in the DSN. When the user name is specified in the connection attributes for the DSN, this defines the user name to be used in the connection, whether using a direct or client/server connection. Any user configuration in the general connection attributes or on the connection string itself has precedence over the user name provided when initiating the connection, if different.

    If you do not set the user name/password general connection attributes, the user and password defaults to the operating system user who initiates the connection.

    The first connection to the TimesTen database can ONLY be initiated by the instance administrator. In this case, the user name/password fields in the connection string must be blank and the instance administrator should be the one initiating the first connection.

    When you initiate a client/server connection, the passwords sent for the connection are all encrypted by the client/server protocol. For external users, you provide only the user name, as the password is€ÿ verified by the operating system.

  • IMDB Cache attributes enable you to enter the Oracle Service Identifier for the Oracle instance from which data will be loaded into TimesTen.


Note:

See "Working with the TimesTen Client and Server" for a description of the connection attributes that can be used with the TimesTen Client ODBC driver.

On Windows, you specify attributes in the ODBC Data Source Administrator.

On UNIX, you specify attributes in the ODBC.INI file. Attributes that do not appear in the ODBC.INI file assume their default value.

Defining a Data Manager DSN

The following sections describe how to create a Data Manager DSN on either platform:

Creating a Data Manager DSN on Windows

The following sections describe how to create a DSN on Windows:


Note:

For additional examples of setting up a Data Manager DSN, see "DSN examples".

Specify the ODBC driver

Specify the ODBC driver in the ODBC Data Source Administrator.


Note:

JDBC users need to specify the ODBC driver to be used by the JDBC driver, as described in "Connecting using the TimesTen JDBC driver and driver manager".

  1. On the Windows Desktop from the Start menu, select Settings, Control Panel, Administrative Tools, and then select Data Sources (ODBC). This opens the ODBC Data Source Administrator.


    Note:

    If you are using a 32-bit TimesTen installation on a 64-bit Windows system, start the 32-bit ODBC Data Source Administrator with the following executable:
    C:\WINDOWS\SysWOW64\odbcad32.exe
    

  2. Choose whether you want to create a User DSN or System DSN. For a description of user and system DSNs, see "Overview of user and system DSNs".

  3. Perform one of the following:

    • Select an existing TimesTen data source and click Configure.

    • Click Add. Then, select the appropriate TimesTen driver from the list. Click Finish. This displays the TimesTen ODBC Setup dialog.


Note:

For a list of TimesTen ODBC drivers, see "Connecting using TimesTen ODBC drivers".

Specify the Data Manager DSN

On the Data Store tab of the TimesTen ODBC Setup dialog, specify a data source name (DSN), a database directory path and prefix, and a database character set. The database directory path cannot reference a mapped drive. See Figure 1-2.

Figure 1-2 Data Store tab

Description of Figure 1-2 follows
Description of "Figure 1-2 Data Store tab"

For an explanation of the DSN, database path and prefix, see "Specifying Data Source Names to identify TimesTen databases". For an explanation of database character sets, see "Choosing a database character set". The description field is optional.

Specify the connection attributes

Indicate the desired connection attributes under the First Connection, General Connection, and NLS Connection tabs of the TimesTen ODBC Setup dialog as shown in Figure 1-3, Figure 1-4,and Figure 1-5. In addition, if you are using IMDB Cache for Oracle, specify the connection attributes shown in Figure 1-6. If you are using a multi-threaded client/server configuration, specify the connection attributes shown in Figure 1-7.


Note:

For a description of the connection attributes, see "Connection Attributes" in Oracle TimesTen In-Memory Database Reference.

Figure 1-3 First Connection Attributes

Description of Figure 1-3 follows
Description of "Figure 1-3 First Connection Attributes"

Figure 1-4 General Connection Attributes

Description of Figure 1-4 follows
Description of "Figure 1-4 General Connection Attributes"

Figure 1-5 NLS Connection Attributes

Description of Figure 1-5 follows
Description of "Figure 1-5 NLS Connection Attributes"

Figure 1-6 IMDB Cache Attributes

Description of Figure 1-6 follows
Description of "Figure 1-6 IMDB Cache Attributes"

Figure 1-7 Server Attributes

Description of Figure 1-7 follows
Description of "Figure 1-7 Server Attributes"

Figure 1-8 PL/SQL Attributes

Description of Figure 1-8 follows
Description of "Figure 1-8 PL/SQL Attributes"

Click OK when finished.

Creating a Data Manager DSN on UNIX

This section includes the following topics:


Note:

For examples on defining a DSN, see "DSN examples".

Create a user or system ODBC.INI file

On UNIX, user DSNs are defined in the file $HOME/.odbc.ini or in a file named by the ODBCINI environment variable. This file is referred to as the user ODBC.INI file. System DSNs are defined in the system ODBC.INI file, which is located in install_dir/info/sys.odbc.ini.

The syntax for user and system ODBC.INI files are the same. The syntax is described in "ODBC.INI file entry descriptions". The system ODBC.INI file is created when TimesTen is installed on the machine. Users must create their own user ODBC.INI file.

Perform the following to create the DSN:

  1. Specify the DSN in the ODBC.INI file. The DSN appears inside square brackets at the top of the DSN definition on a line by itself. For example:

    [AdminDS]
    
  2. Specify the ODBC driver.


    Note:

    JDBC users need to specify the ODBC driver to be used by the JDBC driver, as described in "Connecting using the TimesTen JDBC driver and driver manager".

    To set the TimesTen driver, specify the DRIVER attribute in the ODBC.INI file. The following example provides the TimesTen ODBC driver that this DSN is configured to use:

    [AdminDS]
    DRIVER=install_dir/lib/libtten.so
    

    Note:

    For a list of TimesTen ODBC drivers that you can use, see Table 1-2.

  3. Specify the database directory path and prefix in the ODBC.INI file. The following example defines /users/robin as the database directory path and FixedDs as the prefix for the database files:

    DataStore=/users/robin/FixedDs
    

    The database directory path can use environment variables, as discussed in "Using environment variables in database path names".

  4. Choose a database character set. The following example defines the database character set in the ODBC.INI file as US7ASCII:

    DatabaseCharacterSet=US7ASCII
    

    Note:

    For more information, see "Choosing a database character set".

  5. Set connection attributes in your ODBC.INI file. Attributes that do not appear in the ODBC.INI file assume their default value.


    Note:

    See "Connection Attributes" in Oracle TimesTen In-Memory Database Reference. For examples, see "DSN examples".

Using environment variables in database path names

You can use environment variables in the specification of the database path name and transaction log file path name. For example, you can specify $HOME/AdminDS for the location of the database.

Environment variables can be expressed either as $varname or $(varname). The parentheses are optional. A backslash character (\) in the database path name quotes the next character.


Note:

Environment variable expansion uses the environment of the process connecting to the database. Different processes may have different values for the same environment variables and may therefore expand the database path name differently. Environment variables can only be used in the user ODBC.INI file. They cannot be specified in the system ODBC.INI file.

Defining Client and Server DSNs

For directions on how to define Client or Server DSNs for each platform, see "Defining Server DSNs" and "Creating Client DSNs".

Resolution path for a DSN

When resolving a specific DSN, TimesTen performs the following:


Note:

  • If a user DSN and a system DSN with the same name exist, TimesTen retrieves the user DSN.

  • On UNIX, if there are multiple DSNs with the same name in the same ODBC.INI file, TimesTen retrieves the first one specified in the file.


  1. Searches for a user DSN with the specified name in the following files:

    1. The file referenced by the ODBCINI environment variable, if it is set.

    2. The .odbc.ini file in the user's home directory, if the ODBCINI environment variable is not set.

  2. If no matching user DSN is found, TimesTen looks for a system DSN with the specified name.

    1. The file referenced by the SYSODBCINI environment variable, if it is set.

    2. The sys.odbc.ini file in the daemon home directory, if the SYSODBCINI environment variable is not set.

    3. On UNIX, for a non-root installation, the file is located in install_dir/info/sys.odbc.ini. Or for a root installation, the file is located at /var/TimesTen/InstanceName/sys.odbc.ini or /var/TimesTen/sys.odbc.ini.

DSN examples

This section provides additional examples of how to set up a database:

For each example, the Windows ODBC Data Source Administrator settings are followed by the corresponding ODBC.INI entries for UNIX.

Setting up a temporary database

This example illustrates how to set up a temporary database. For information on temporary databases, see "Database overview".

On Windows, you can use the settings in the TimesTen ODBC Setup dialog to set up a temporary database. See Figure 1-9 and Figure 1-10.

Figure 1-9 Data Store tab

Description of Figure 1-9 follows
Description of "Figure 1-9 Data Store tab"

Figure 1-10 First Connection Attributes

Description of Figure 1-10 follows
Description of "Figure 1-10 First Connection Attributes"

To set up a temporary database on UNIX, create the following entries in your ODBC.INI file. For a list of drivers for all UNIX platforms, see the table in "Connecting using TimesTen ODBC drivers".

The text in square brackets is the data source name.

[TempDs]
Driver=install_dir/lib/libtten.so
DataStore=/users/robin/TempDs
#this is a temporary database
Temporary=1
#create database if it is not found
AutoCreate=1
#log database updates to disk
LogPurge=1
DatabaseCharacterSet=US7ASCII

Specifying PL/SQL connection attributes in a DSN

You can specify values for PL/SQL general connection attributes.


Note:

For a complete list of PL/SQL connection attributes, see "Connection Attributes" in the Oracle TimesTen In-Memory Database Reference.

The following are some of the PL/SQL connection attributes:

  • PLSCOPE_SETTINGS - Controls whether the PL/SQL compiler generates cross-reference information.

  • PLSQL_OPTIMIZE_LEVEL - Sets the optimization level that is used to compile PL/SQL library units.

  • PLSQL_MEMORY_ADDRESS - Specifies the virtual address, as a hexadecimal value, at which the PL/SQL shared memory segment is loaded into each process that uses the TimesTen direct drivers. This memory address must be identical in all connections to your database and in all processes that connect to your database.

  • PLSQL_MEMORY_SIZE - Determines the size, in megabytes, of the PL/SQL shared memory segment.

This example creates the PLdsn DSN, enables PL/SQL by setting PLSQL to "1" and sets the PL/SQL shared memory segment size to 32 MB.

[PLdsn]
Datastore=/users/user1/PLdsn
PermSize=32
DatabaseCharacterSet=AL32UTF8
ConnectionCharacterSet=AL32UTF8
PLSQL=1
PLSQL_MEMORY_SIZE=32

For more examples, see "PL/SQL connection attributes" in Oracle TimesTen In-Memory Database PL/SQL Developer's Guide.

Creating multiple DSNs to a single database

You can create two or more DSNs that refer to the same database but have different connection attributes.

This example creates two DSNs, AdminDSN and GlobalDSN. The DSNs are identical except for their connection character sets. Applications that use the US7ASCII character set can connect to the TTDS database by using AdminDSN. Applications that use multibyte characters can connect to the TTDS database by using GlobalDSN.

For Windows, use the ODBC Data Source Administrator to define AdminDSN as shown in Figure 1-11. AdminDSN is created with the AL32UTF8 database character set. Figure 1-12 shows that US7ASCII is the connection character set for AdminDSN.

Figure 1-11 Creating AdminDSN using TTDS database

Description of Figure 1-11 follows
Description of "Figure 1-11 Creating AdminDSN using TTDS database"

Figure 1-12 Setting the connection character set for AdminDSN

Description of Figure 1-12 follows
Description of "Figure 1-12 Setting the connection character set for AdminDSN"

GlobalDSN is also created with the AL32UTF8 database character set, as shown in Figure 1-13. Figure 1-14 shows that the connection character set for GlobalDSN is AL32UTF8.

Figure 1-13 Creating GlobalDSN using TTDS database

Description of Figure 1-13 follows
Description of "Figure 1-13 Creating GlobalDSN using TTDS database"

Figure 1-14 Setting the connection character set for GlobalDSN

Description of Figure 1-14 follows
Description of "Figure 1-14 Setting the connection character set for GlobalDSN"

The next example shows how to specify the DSNs on UNIX. It uses the TimesTen Data Manager ODBC driver for Solaris.

The text in square brackets is the data source name.

[AdminDSN]
Driver=install_dir/lib/libtten.so
Datastore=/data/TTDS
DatabaseCharacterSet=AL32UTF8
ConnectionCharacterSet=US7ASCII

[GlobalDSN]
Driver=install_dir/lib/libtten.so
DataStore=/data/TTDS
DatabaseCharacterSet=AL32UTF8
ConnectionCharacterSet=AL32UTF8

ODBC.INI file entry descriptions

The following sections describe the entries in the ODBC.INI file:

ODBC Data Sources

Each entry in the optional ODBC Data Sources section lists a data source and a description of the driver it uses. The data source section has the following format:

[ODBC Data Sources]
DSN=driver-description
  • The DSN is required and it identifies the data source to which the driver connects. You choose this name.

  • The driver-description is required. It describes the driver that connects to the data source.

The optional Data Sources section, when present in the system DSN file on the TimesTen Server, is used during the setup of Client DSNs. All system DSNs are made available to the Client DSN setup for the ODBC Data Source Administrator on the client, which displays all available DSNs on the TimesTen Server. The user can always add a new system DSN in the ODBC Data Source Administrator. When adding DSNs to the system DSN file, you should only include those DSNs that can be advertised to clients. All system DSNs are potentially accessible through the client/server configuration, even if they are not advertised.

DSN specification

Each DSN listed in the ODBC Data Sources section has its own DSN specification. The DSN specification for Data Manager DSN has the format shown in Table 1-3.

Table 1-3 Data Source specification format

ComponentDescription

[DSN]

The DSN is required. It is the name of the DSN, as specified in the ODBC Data Sources section of your .odbc.ini file.

Driver=driver-path-name

The TimesTen Data Manager driver that is linked with the data source. This is relevant when using a driver manager or for the server in a client/server scenario.

DataStore=data-store-path-prefix

The directory path and prefix of the database to access. This is required.

Optional attributes

See "Connection Attributes" in Oracle TimesTen In-Memory Database Reference for information about attributes.


For example, the sampledb_1122 DSN could have a specification that includes the following:

[sampledb_1122]
Driver=install_dir/lib/libtten.so
DataStore=install_dir/info/DemoDataStore/sampledb_1122
...

The database specification for TimesTen Client DSN has the format shown in Table 1-4.


Note:

While the syntax for the TimesTen Client DSN is listed here, full directions for setting the Client DSN and Server DSN are located in "Defining Server DSNs" and "Creating Client DSNs".

Table 1-4 Database specification for TimesTen Client configurations

ComponentDescription

[DSN]

The DSN is required. It is the same DSN specified in the ODBC Data Sources section of the .odbc.ini file.

TTC_Server=server-name

The server-name is required. It is the DNS name, host name, IP address or logical server name for the TimesTen Server.

TTC_Server_DSN=server-DSN

The server-DSN is required. It is the name of the data source to access on the TimesTen Server.

TTC_Timeout=value

Client connection timeout value in seconds.



Note:

Most TimesTen Data Manager attributes are ignored for TimesTen Client databases.

For example, the client/server data source sampledbCS_1122 that connects to sampledb_1122 on the TimesTen Server ttserver could have a data source specification that includes the following:

[sampledbCS_1122]
TTC_Server=ttserver
TTC_SERVER_DSN=sampledb_1122
TTC_Timeout=30

ODBC.INI file example

The following example shows portions of a UNIX .odbc.ini file:

...
[ODBC Data Sources]
sampledb_1122=TimesTen 11.2.2 Driver
...
 
[sampledb_1122]
Driver=install_dir/lib/libtten.so
DataStore=install_dir/info/DemoDataStore/sampledb_1122
PermSize=40
TempSize=32
PLSQL=1
DatabaseCharacterSet=US7ASCII
...
 
########################################################################
# This following sample definitions should be in the .odbc.ini file
# that is used for the TimesTen 11.2.2 Client.
# The Server Name is set in the TTC_SERVER attribute.
# The Server DSN is set in the TTC_SERVER_DSN attribute.
#########################################################################
 
[ODBC Data Sources]
sampledbCS_1122=TimesTen 11.2.2 Client Driver
...
 
[sampledbCS_1122]
TTC_SERVER=localhost
TTC_SERVER_DSN=sampledb_1122
...

Connecting to a database using a connection string

TimesTen applications require a DSN or a connection string be specified to connect to a database. For modularity and maintainability, it is better to set attributes in a DSN rather than in a connection string within the application, unless a particular connection requires that specific attribute settings override the settings in the DSN or the default settings.

The syntax for a connection string contains connection attribute definitions, where each attribute is separated by a semicolon.

The following precedence rules are used to determine the settings of DSN attributes:

  1. Attribute settings specified in a connection string have the highest precedence.If an attribute appears more than once in a connection string, the first specification is used.

  2. If an attribute is not specified in the connection string, the attribute settings that are specified in the DSN are used.

  3. Default attribute settings have the lowest precedence.

You can connect to a TimesTen database without a predefined DSN with any ODBC application or the ttIsql utility as long as the connection string contains the Driver, DataStore, and DatabaseCharacterSet attributes, as follows:

  • The name or path name of the ODBC driver using the Driver attribute.

    • On Windows, the value of the Driver attribute should be the name of the TimesTen ODBC Driver. For example, the value can be TimesTen Data Manager 11.2.2.

    • On UNIX systems, the value of the Driver attribute should be the pathname of the TimesTen ODBC Driver shared library file. The file resides in the install_dir/lib directory.

  • The database path and filename prefix using the DataStore attribute.

  • The character set for the database using the DatabaseCharacterSet attribute.

The following example shows how you can connect providing the Driver, DataStore, and DatabaseCharacterSet attributes using a connection string in the ttIsql utility:

C:\ ttIsql
Copyright (c) 1996-2011, Oracle.  All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.
Command> connect "Driver=TimesTen Data Manager 
11.2.2;DataStore=C:\sales\admin;DatabaseCharacterSet=US7ASCII";

Specifying a RAM policy

TimesTen allows you to specify a RAM policy that determines when databases are loaded and unloaded from main memory. For each database, you can have a different RAM policy.

The RAM policy options are as follows:

  • In Use: The database is loaded into memory when the first connection to the database is opened, and it remains in memory as long as it has at least one active connection. When the last connection to the database is closed, the database is unloaded from memory. This is the default policy.

  • InUse with RamGrace: The database is loaded into memory when the first connection to the database is opened, and it remains in memory as long as it has at least one active connection. When the last connection to the database is closed, the database remains in memory for a "grace period." The database is unloaded from memory only if no processes have connected to the database for the duration of the grace period. The grace period can be set or reset at any time. It stays in effect until the next time the grace period is changed.

  • Always: The database stays in memory at all times. If the TimesTen daemon is restarted, it automatically reloads the database. The database is always automatically reloaded unless an unrecoverable error condition occurs.

  • Manual: The database is manually loaded and unloaded by system administrators. Once loaded, TimesTen ensures that the database stays loaded until the administrator unloads the database or unless an unrecoverable error condition occurs.

A system administrator can set the RAM policy or manually load or unload the database with either the ttAdmin utility or the C API RAM policy utilities. For more details, see "ttAdmin" in the Oracle TimesTen In-Memory Database Reference or the "TimesTen Utility APIs" chapter in the Oracle TimesTen In-Memory Database C Developer's Guide.

The following example sets the RAM policy to always for the database identified by the ttdata DSN:


Note:

The first line shows the RAM residence policy set to always. The rest of the output details other policies you can set with the ttAdmin utility. See "ttAdmin" in the Oracle TimesTen In-Memory Database Reference for more information.

% ttadmin –rampolicy always ttdata
RAM Residence Policy            : always
Replication Agent Policy        : manual
Replication Manually Started    : False
Cache Agent Policy              : manual
Cache Agent Manually Started    : False

Specifying the size of a database

TimesTen manages database space using two separate memory partitions within a single contiguous memory space. One partition contains permanent data and the other contains temporary data.

  • Permanent data includes the tables and indexes that make up a TimesTen database. When a database is loaded into memory, the contents of the permanent data partition are read from files stored on disk. The permanent data partition is written to disk during checkpoint operations.

  • Temporary data includes locks, cursors, compiled commands, and other structures needed for command execution and query evaluation. The temporary data partition is created when a database is loaded into memory and is destroyed when it is unloaded.

The connection attributes that control the size of the database when it is in memory are PermSize and TempSize. The PermSize attribute specifies the size of the permanent data partition and the TempSize attribute specifies the size of the temporary data partition.


Note:

See "Connection Attributes" in the Oracle TimesTen In-Memory Database Reference for further description of these attributes.

The sizes of the permanent and temporary data partitions are set when a database is loaded into memory and cannot be changed while the database is in memory. To change the size of either partition, you must unload the database from memory and then reconnect using different values for the PermSize or TempSize attributes.

Managing the database size and unloading the database are described in the following sections:

Estimating and modifying the data partition sizes for the database

Procedures, tables, or rows cannot be created in the database if the permanent or temporary data partition is full. In order to have the correct size for your database, set the appropriate size in the PermSize and TempSize connection attributes.

  • PermSize connection attribute: The permanent data partition can be increased in size, but it cannot be decreased.

  • TempSize connection attribute: The temporary data partition can be either increased or decreased in size for databases that do not participate in replication.

To make size estimates, use the ttSize utility or run the application until you can make a reasonable estimate.

You must make sure that you have a shared memory segment that is large enough to hold the database. In general, the minimum size of this shared memory segment should be:

PermSize + TempSize + LogBufMB + 20MB overhead

Note:

Additional shared segments may be created either for PL/SQL with the PLSQL_MEMORY_SIZE or for Client/Server with the -serverShmSize daemon option.

When you are calculating the amount of PermSize to allocate, take into account that PL/SQL procedures, functions and packages occupy space in the permanent data partition. The amount of permanent data partition required by a stored PL/SQL unit depends on the size and complexity of the unit. Small procedures can take less than 3 KBs, while larger ones can take considerably more. On average, reasonably complex units could be expected to use about 20 KBs of permanent data partition space.

For more details, see "Installation prerequisites" in Oracle TimesTen In-Memory Database Installation Guide and the descriptions of the TempSize and PermSize attributes in Oracle TimesTen In-Memory Database Reference.

Unloading the database from memory

Before you can change the size of either partition, you must first unload a database from memory, close all active connections to the database and set the RAM policy of the database to manual or inUse.

  • To unload the database from memory, use the ttStatus utility to find processes connected to the database and stop them. Once you have made the changes for database size, reload it into memory.

    However, if the database is configured for replication, stop the cache and replication agents, if they are running. Reconfigure the database sizes for all replicas of the database. Once you have made the change in database size, read it into memory and restart the cache and replication agents.

  • To set the RAM policy to manual or inUse, see "Specifying a RAM policy" for information.

Monitoring PermSize and TempSize attributes

The TimesTen table SYS.MONITOR contains several columns that can be used to monitor usage of PermSize and TempSize. These columns include PERM_ALLOCATED_SIZE, TEMP_ALLOCATED_SIZE, PERM_IN_USE_SIZE, PERM_IN_USE_HIGH_WATER, TEMP_IN_USE_SIZE, and TEMP_IN_USE_HIGH_WATER. Each of these columns show in KB units the currently allocated size of the database and the in-use size of the database. The system updates this information each time a connection is made or released and each time a transaction is committed or rolled back.

You can monitor block-level fragmentation in the database by using the ttBlockInfo built-in procedure. For more details, see "ttBlockInfo" in the Oracle TimesTen In-Memory Database Reference.

Receiving out-of-memory warnings

TimesTen provides two general connection attributes that determine when a low memory warning should be issued: PermWarnThreshold and TempWarnThreshold. Both attributes take a percentage value.

To receive out-of memory warnings, applications must call the built-in procedure ttWarnOnLowMemory.

These attributes also set the threshold for SNMP warning. See "Diagnostics through SNMP Traps" in the Oracle TimesTen In-Memory Database Error Messages and SNMP Traps.

Manage existing tables in the database

The following utilities enable you to manage certain aspects of existing tables in the database:

  • Add rows of data to an existing table. Use the ttBulkCp utility. You can save data to an ASCII file and use the ttBulkCp utility to load the data rows into a table in a TimesTen database.

    The rows you are adding must contain the same number of columns as the table, and the data in each column must be of the type defined for that column.

    Because the ttBulkCp utility works on data stored in ASCII files, you can also use this utility to import data from other applications, provided the number of columns and data types are compatible with those in the table in the TimesTen database and that the file found is compatible with ttBulkCp.

  • Rename the owner of tables in a database. Use the ttMigrate utility. When restoring tables, you can use the -rename option to rename the owner of tables.

Thread programming with TimesTen

TimesTen supports multithreaded application access to databases. When a connection is made to a database, any thread may issue operations on the connection.

Typically, a thread issues operations on its own connection and therefore in a separate transaction from all other threads. In environments where threads are created and destroyed rapidly, better performance may be obtained by maintaining a pool of connections. Threads can allocate connections from this pool on demand to avoid the connect and disconnect overhead.

TimesTen allows multiple threads to issue requests on the same connection and therefore the same transaction. These requests are serialized by TimesTen, although the application may require additional serialization of its own.

TimesTen also allows a thread to issue requests against multiple connections, managing activities in several separate and concurrent transactions on the same or different databases.

Defragmenting TimesTen databases

Under some circumstances, a TimesTen database may develop memory fragmentation such that significant amounts of free memory are allocated to partially filled pages of existing tables. This can result in an inability to allocate memory for other uses (such as new pages for other tables) due to a lack of free memory. In these circumstances, it is necessary to defragment the database in order to make this memory available for other uses.

Offline defragmentation of TimesTen databases

To defragment a database, use the ttMigrate utility as follows:

  1. Stop all connections to the database.

  2. Save a copy of the database using ttMigrate.

    ttMigrate -c ttdb ttdb.dat
    
  3. As the administration user, rebuild the ttdb database:

    ttMigrate -r -connstr "dsn=ttdb" ttdb.dat
    

At this time:

  • All the users, cache groups, and the active standby pair have been restored to ttdb.

  • The cache groups are in AUTOREFRESH STATE = OFF.

  • The cache agent and replication agent are not running.

If you also want to condense table partitions, add the -relaxedUpgrade option when executing the ttMigrate -r command. Table partitions can be added when columns are added to tables with the ALTER TABLE ADD SQL statement. See the notes on "ALTER TABLE" in the Oracle TimesTen In-Memory Database SQL Reference for more information.

For more information on ttMigrate, see "ttMigrate" in the Oracle TimesTen In-Memory Database Reference.

Online defragmentation of TimesTen databases

To defragment multiple databases with minimal overall service downtime, use a combination of the ttMigrate and ttRepAdmin -duplicate utilities to defragment TimesTen databases that are involved in an active standby pair replication scheme.


Note:

You can only defragment TimesTen databases in an active standby pair if there are no cache tables or if there are only READONLY cache groups. This procedure cannot be used when AWT cache groups are present.

The following sections describe how to defragment TimesTen databases that are involved in an active standby pair replication scheme:


Note:

These sections provide examples for each of the steps; however, it assumes that you are familiar with the configuration and management for an active standby replication scheme. For more information, see "Getting Started" in the Oracle TimesTen In-Memory Database Replication Guide.

Migrate and rebuild the standby database

The first step in the procedure is to stop replication to the standby TimesTen database and then defragment the standby.


Note:

While the standby master is defragmented, application processing can continue on the active master.

Perform the following to save a copy of the standby database:


Note:

The task examples use example names to demonstrate each task.

  1. Stop the replication agents at the active master (ttdb1) and the standby master (ttdb2):

    On the active host:

    ttadmin –repstop ttdb1
    

    On the standby host:

    ttadmin –repstop ttdb2
    
  2. Save a copy of the standby database using ttMigrate.

    ttMigrate -c ttdb2 ttdb2.dat
    
  3. Stop the cache agent, drop any cache groups, and destroy the standby.

    ttadmin –cachestop ttdb2
    

    While connected as cache manager user, drop all cache groups:

    Command> drop cache group t_cg;
    

    Destroy the database:

    ttdestroy ttdb2
    
  4. Rebuild the standby database. Execute the following on the standby as the instance administrator:

    ttisql ttdb2
    
  5. Create the cache manager user and grant the user ADMIN privileges.

    Command> CREATE USER cacheadmin IDENTIFIED BY cadminpwd;
    Command> GRANT CREATE SESSION, CACHE_MANAGER, CREATE ANY TABLE,
     DROP ANY TABLE TO cacheadmin;
    Command> GRANT ADMIN to cacheadmin;
    

    Note:

    The cache manager user requires ADMIN privileges in order to execute ttMigrate –r. Once migration is completed, you can revoke the ADMIN privilege from this user if desired.

    For more information on ttMigrate, see "ttMigrate" in the Oracle TimesTen In-Memory Database Reference.


  6. As the cache manager user, rebuild the ttdb2 database:

    ttMigrate -r -cacheuid cacheadmin -cachepwd cadminpwd -connstr 
     "dsn=ttdb2;uid=cacheadmin;pwd=cadminpwd;oraclepwd=oraclepwd" ttdb2.dat
    

    At this time:

    • All the users, cache groups, and the active standby pair have been restored to ttdb2.

    • The cache groups are in AUTOREFRESH STATE = OFF.

    • The cache agent and replication agent are not running.


    Note:

    Currently, you cannot condense table partitions with the -relaxedUpgrade option when defragmenting an active standby pair as part of an online upgrade.

  7. As the cache manager user, start the cache agent on the standby:

    ttadmin –cachestart ttdb2
    
  8. Load any cache groups.

    Command> ALTER CACHE GROUP t_cg SET AUTOREFRESH STATE PAUSED;
    Command> LOAD CACHE GROUP t_cg COMMIT EVERY 256 ROWS PARALLEL <nThreads>;
    

    Note:

    • Choose nThreads based on how many CPU cores you will use to insert the data into TimesTen for this load operation.

    • If there are several read-only cache groups we recommend that you run several LOAD operations in separate sessions in parallel, if the TimesTen and Oracle resources are available.


  9. After completion, verify the cache group state.

    Command> cachegroups;
    Cache Group CACHEADMIN.T_CG:
      Cache Group Type: Read Only
      Autorefresh: Yes
      Autorefresh Mode: Incremental
      Autorefresh State: On
      Autorefresh Interval: 10 Seconds
      
      Autorefresh Status: ok
      Aging: No aging defined
     
      Root Table: ORATT.T
      Table Type: Read Only
     
    1 cache group found.
    Start the replication agent on the active database:
    ttadmin –repstart ttdb1
    Start the replication agent on the standby database:
    ttadmin –repstart ttdb2
    Check the replication state on the standby:
    Command> call ttRepStateGet;
    < STANDBY, NO GRID >
    1 row found.
    

The standby database (ttdb2) has been defragmented and both the active and standby databases are functional.

Reverse the active and standby roles

In order to perform the database defragmentation on the active database, switch the roles of the active and st«Tñandby database: The active (ttdb1) becomes the standby database. The original standby (ttdb2) becomes the active database.

  1. Stop all application processing and disconnect all application connections. Any query only processing can be moved to work at the standby database (ttdb2).

  2. Execute the ttRepSubscriberWait built-in procedure at the current active database, with the database name and host of the current standby database as input parameters. This ensures that all queued updates have been transmitted to the current standby database.

    Command> call ttRepSubscriberWait(NULL,NULL,'ttdb2','ttsrv2', 100);
    
  3. Stop the replication agent on the current active database.

    Command> call ttRepStop;
    
  4. Execute the ttRepDeactivate built-in procedure on the current active database. This puts the database in the IDLE state.

    Command> call ttRepDeactivate;
    Command> call ttRepStateGet;
    < IDLE, NO GRID >
    1 row found.
    
  5. Promote the standby to active by executing the ttRepStateSet('ACTIVE') built-in procedure on the old standby database. This database now becomes the active database in the active standby pair. Use the ttRepStateGet built-on to verify that the database has become active.

    Command> call ttRepStateSet('ACTIVE');
    Command> call ttRepStateGet;
    < ACTIVE, NO GRID >
    1 row found.
    
  6. Restart the full application workload on the new active database (ttdb2).

  7. Complete the role switch by starting the replication agent on the old active database. Use the ttRepStateGet built-in procedure to determine when the state of the database changes from IDLE to STANDBY.

    Command> call ttRepStart;
    Command> call ttRepStateGet;
    < STANDBY, NO GRID >
    1 row found.
    

This database now acts as the standby database in the active standby pair.

Destroy and re-create the new standby

Destroy and recreate the new standby using ttRepAdmin -duplicate from the new active. During these steps, application processing can continue at the active database.

  1. Stop the replication agent on the new standby database:

    ttadmin –repstop ttdb1
    
  2. Stop the cache agent on the new standby database:

    ttadmin –cachestop ttdb1
    
  3. As the cache manager user, drop all cache groups:

    Command> drop cache group t_cg;
    
  4. Destroy the database:

    ttdestroy ttdb1
    
  5. Re-create the new standby database by duplicating the new active.

    ttRepAdmin -duplicate -from ttdb2 -host ttsrv2 –setMasterRepStart 
     -UID ttadmin -PWD ttadminpwd -keepCG -cacheUID cacheadmin 
     -cachePWD cadminpwd "dsn=ttdb1"
    
  6. Start cache and replication agents on the new standby database:

    ttadmin –cachestart ttdb1
    ttadmin –repstart ttdb1
    

This process defragments both the active and standby databases with only a few seconds of service interruption.

PK<›K¿Ž«ŽPK \8–Aoa«,mimetypePK\8–A4RnÙ_Z:iTunesMetadata.plistPK\8–AYuìçâÛMETA-INF/container.xmlPK\8–AÿÄQ Á÷ÀOEBPS/ttisql.htmPK\8–A[×ßpTOOÇOEBPS/cover.htmPK\8–A™9“¤ýàÉOEBPS/whatsnew.htmPK\8–AÚl/Y Y"áOEBPS/accesscontrol.htmPK\8–A2úûö–:OEBPS/title.htmPK\8–AЖmCâæØæÎNOEBPS/query.htmPK\8–AAéæïc|^|í5OEBPS/glossary.htmPK\8–AÙ}Ðã,,²OEBPS/preface.htmPK\8–A_j1ý£ó£åÞOEBPS/daemon.htmPK\8–A*ÿ?š/´´ ƒOEBPS/index.htmPK\8–AÛô¾TTŒ7OEBPS/perform.htmPK\8–AÖJtgbê‹OEBPS/img/jointree.gifPK\8–A³ ¹+h4c4•©OEBPS/img/jdbc_exec_steps.gifPK\8–A s»W¶WHÞOEBPS/img/odbc_empty.gifPK\8–Aѯô†YYI6 OEBPS/img/add_dsn.gifPK\8–A‡ê/| OEBPS/img/odbc_diagram.gifPK\8–Ai×'œF—FÛ¡ OEBPS/img/setup_adv.gifPK\8–AªIA: [[¼è OEBPS/img/odbc_temp.gifPK\8–AŠøB\*.%. D OEBPS/img/execution_steps.gifPK\8–A+9”s“PŽPr OEBPS/img/admin_concharset.gifPK\8–An·†€ôVïV`à OEBPS/img/adminds2.gifPK\8–A&dô²Z­Z˜ OEBPS/img/odbc_cache.gifPK\8–A}ì“På)à) u OEBPS/img/materialized_views.gifPK\8–Aí Ý900+0ß OEBPS/img/server.gifPK\8–AÑØõIðI5Ð OEBPS/img/odbc_server.gifPK\8–ADó¿9]jXjq OEBPS/img/odbc_gencon.gifPK\8–A/Á_'6N1N… OEBPS/img/odbc_nls.gifPK\8–A°n: wNrNÓ OEBPS/img/jdbc_steps.gifPK\8–AèÒ%iõ2ð2L" OEBPS/img/clisvr.gifPK\8–A­AvªdX_XƒU OEBPS/img/global_dsn.gifPK\8–A@6èüD4?4-® OEBPS/img/driver.gifPK\8–A6—Ñ?m[h[³â OEBPS/img/odbc_firstcon.gifPK\8–AQw1#ÔRÏRi>OEBPS/img/odbc_plsql.gifPK\8–Aá¡´|ÐNËNƒ‘OEBPS/img/global_concharset.gifPK\8–Aïý ~'' àOEBPS/img/tune_join.gifPK\8–A#¬œÛfa$ìOEBPS/img_text/global_concharset.htmPK\8–A–ýJè% ¤ OEBPS/img_text/server.htmPK\8–A7±A<OEBPS/img_text/odbc_empty.htmPK\8–AH wäßœOEBPS/img_text/odbc_diagram.htmPK\8–A6JÓ†ÍOEBPS/img_text/jdbc_steps.htmPK\8–A©†+CÀ» žOEBPS/img_text/odbc_firstcon.htmPK\8–AØÇ2¾¹"¬#OEBPS/img_text/jdbc_exec_steps.htmPK\8–A›ç¦OÆÁº(OEBPS/img_text/odbc_server.htmPK\8–AƒOÊý~y"Ì,OEBPS/img_text/execution_steps.htmPK\8–Ay-±û·²š1OEBPS/img_text/driver.htmPK\8–AS’•‚}˜5OEBPS/img_text/odbc_temp.htmPK\8–AÏ®zud;OEBPS/img_text/odbc_plsql.htmPK\8–AüKW=ôï)@OEBPS/img_text/adminds2.htmPK\8–A‹xbD?fDOEBPS/img_text/odbc_cache.htmPK\8–A`ÓÂØniõJOEBPS/img_text/tune_join.htmPK\8–A@*¸³­OOEBPS/img_text/jointree.htmPK\8–A“;5 ®SOEBPS/img_text/add_dsn.htmPK\8–A –0ƒGBÿWOEBPS/img_text/odbc_nls.htmPK\8–Aì¦x™”\OEBPS/img_text/setup_adv.htmPK\8–AàІd_#rbOEBPS/img_text/admin_concharset.htmPK\8–A· Æ?ÑÌ'fOEBPS/img_text/global_dsn.htmPK\8–A‰°L½CjOEBPS/img_text/clisvr.htmPK\8–A~M[_(#%LnOEBPS/img_text/materialized_views.htmPK\8–AGgêø~yÇrOEBPS/img_text/odbc_gencon.htmPK\8–Ab!oý) )‘yOEBPS/trans.htmPK\8–Axºª°[ V ç¢OEBPS/toc.ncxPK\8–AÐÁT¦þñêñ}°OEBPS/comp.htmPK\8–AZdR)TT·¢OEBPS/client_server.htmPK\8–A‰Š×u3p3÷OEBPS/content.opfPK\8–Aœ_£ã Æ*OEBPS/dcommon/prodbig.gifPK\8–AÏY@¹ 1OEBPS/dcommon/doclib.gifPK\8–Aà½!Àiudup2OEBPS/dcommon/oracle-logo.jpgPK\8–Aüïü³¤Ÿ$¨OEBPS/dcommon/contbig.gifPK\8–A®OEBPS/dcommon/darbbook.cssPK\8–AMάÜ"×"!\®OEBPS/dcommon/O_signature_clr.JPGPK\8–A³PzØ ‡ÑOEBPS/dcommon/feedbck2.gifPK\8–Aë-´ÅÍÈßÒOEBPS/dcommon/feedback.gifPK\8–AË5’ôÙOEBPS/dcommon/booklist.gifPK\8–AºNê61WÛOEBPS/dcommon/cpyr.htmPK\8–AÒ!:·3.ÑíOEBPS/dcommon/masterix.gifPK\8–AeÓº³1,LïOEBPS/dcommon/doccd.cssPK\8–A¿ê7 áÜÂñOEBPS/dcommon/larrow.gifPK\8–Aúª¥#éóOEBPS/dcommon/indxicon.gifPK\8–A×ÍS«'"TöOEBPS/dcommon/leftnav.gifPK\8–Ahu,­ÕÐÂ÷OEBPS/dcommon/uarrow.gifPK\8–Al-íƒOJÝúOEBPS/dcommon/oracle.gifPK\8–A(ýžürOEBPS/dcommon/index.gifPK\8–AéöGCÙ Ô ¸OEBPS/dcommon/bookbig.gifPK\8–A£JV^ÕÐØOEBPS/dcommon/rarrow.gifPK\8–Aýæž°pkóOEBPS/dcommon/mix.gifPK\8–Ao"nR M ¦OEBPS/dcommon/doccd_epub.jsPK\8–Av I’ AOEBPS/dcommon/toc.gifPK\8–Aé r~$ŽOEBPS/dcommon/topnav.gifPK\8–A1ý„FAø OEBPS/dcommon/prodicon.gifPK\8–A3š“( # †$OEBPS/dcommon/bp_layout.cssPK\8–Ax[¨?:÷1OEBPS/dcommon/bookicon.gifPK\8–Apµ*¤c^~7OEBPS/dcommon/conticon.gifPK\8–A²Ê¸³);OEBPS/dcommon/blafdoc.cssPK\8–A‘+&(ROEBPS/dcommon/rightnav.gifPK\8–AjÓeõ8ð8›SOEBPS/dcommon/oracle-small.JPGPK\8–A¤Þ‡{&!ÜŒOEBPS/dcommon/help.gifPK\8–A T—¸Ã‡¹‡ FŽOEBPS/toc.htmPK\8–AqÍ|Ì|Ç|DOEBPS/globalization.htmPK\8–A<›K¿Ž«ŽU“OEBPS/using.htmPKffÿQ"