PK a9Aoa,mimetypeapplication/epub+zipPKa9AiTunesMetadata.plistQ artistName Oracle Corporation book-info cover-image-hash 795166305 cover-image-path OEBPS/dcommon/oracle-logo.jpg package-file-hash 44631915 publisher-unique-id E10827-01 unique-id 958395634 genre Oracle Documentation itemName Oracle® SQL*Module for Ada Programmer's Guide, 11g Release 2 (11.2) releaseDate 2009-08-02T18:45:28Z year 2009 PKr&VQPKa9AMETA-INF/container.xml PKYuPKa9AOEBPS/appd.htm SQLSTATE Codes

D SQLSTATE Codes

This appendix contains a table of the SQLSTATE codes and the conditions and errors associated with them.

SQLSTATE Codes

CodeConditionOracle Error

00000

successful completion

ORA-00000

01000

warning

 


01001

cursor operation conflict

 


01002

disconnect error

 


01003

null value eliminated in set function

 


01004

string data - right truncation

 


01005

insufficient item descriptor areas

 


01006

privilege not revoked

 


01007

privilege not granted

 


01008

implicit zero-bit padding

 


01009

search condition too long for info schema

 


0100A

query expression too long for info schema

 


02000

no data

ORA-01095

ORA-01403

07000

dynamic SQL error

 


07001

using clause does not match parameter specs

 


07002

using clause does not match target specs

 


07003

cursor specification cannot be executed

 


07004

using clause required for dynamic parameters

 


07005

prepared statement not a cursor specification

 


07006

restricted datatype attribute violation

 


07007

using clause required for result fields

 


07008

invalid descriptor count

SQL-02126

07009

invalid descriptor index

 


08000

connection exception

 


08001

SQL client unable to establish SQL connection

 


08002

connection name in use

 


08003

connection does not exist

SQL-02121

08004

SQL server rejected SQL connection

 


08006

connection failure

 


08007

transaction resolution unknown

 


0A000

feature not supported

ORA-03000 .. 03099

0A001

multiple server transactions

 


21000

cardinality violation

ORA-01427

SQL-02112

22000

data exception

 


22001

string data - right truncation

ORA-01401

ORA-01406

22002

null value - no indicator parameter

ORA-01405

SQL-02124

22003

numeric value out of range

ORA-01426

ORA-01438

ORA-01455

ORA-01457

22005

error in assignment

 


22007

invalid date-time format

 


22008

date-time field overflow

ORA-01800 .. 01899

22009

invalid time zone displacement value

 


22011

substring error

 


22012

division by zero

ORA-01476

22015

interval field overflow

 


22018

invalid character value for cast

 


22019

invalid escape character

ORA-00911

ORA-01425

22021

character not in repertoire

 


22022

indicator overflow

ORA-01411

22023

invalid parameter value

ORA-01025

ORA-01488

ORA-04000 .. 04019

22024

unterminated C string

ORA-01479 .. 01480

22025

invalid escape sequence

ORA-01424

22026

string data - length mismatch

 


22027

trim error

 


23000

integrity constraint violation

ORA-00001

ORA-02290 .. 02299

24000

invalid cursor state

ORA-01001 .. 01003

ORA-01410

ORA-08006

SQL-02114

SQL-02117

SQL-02118

SQL-02122

25000

invalid transaction state

 


26000

invalid SQL statement name

 


27000

triggered data change violation

 


28000

invalid authorization specification

 


2A000

direct SQL syntax error or access rule violation

 


2B000

dependent privilege descriptors still exist

 


2C000

invalid character set name

 


2D000

invalid transaction termination

 


2E000

invalid connection name

 


33000

invalid SQL descriptor name

 


34000

invalid cursor name

 


35000

invalid condition number

 


37000

dynamic SQL syntax error or access rule violation

 


3C000

ambiguous cursor name

 


3D000

invalid catalog name

 


3F000

invalid schema name

 


40000

transaction rollback

ORA-02091 .. 02092

40001

serialization failure

 


40002

integrity constraint violation

 


40003

statement completion unknown

 


42000

syntax error or access rule violation

ORA-00022

ORA-00251

ORA-00900 .. 00999

ORA-01031

ORA-01490 .. 01493

ORA-01700 .. 01799

ORA-01900 .. 02099

ORA-02140 .. 02289

ORA-02420 .. 02424

ORA-02450 .. 02499

ORA-03276 .. 03299

ORA-04040 .. 04059

ORA-04070 .. 04099

44000

with check option violation

ORA-01402

60000

system errors

ORA-00370 .. 00429

ORA-00600 .. 00899

ORA-06430 .. 06449

ORA-07200 .. 07999

ORA-09700 .. 09999

61000

resource error

ORA-00018 .. 00035

ORA-00050 .. 00068

ORA-02376 .. 02399

ORA-04020 .. 04039

62000

path name server and detached process errors

ORA-00100 .. 00120

ORA-00440 .. 00569

63000

Oracle*XA and two-task interface errors

ORA-00150 .. 00159

SQL-02128

ORA-02700 .. 02899

ORA-03100 .. 03199

ORA-06200 .. 06249

64000

control file, database file, and redo file errors;

archival and media recovery errors

ORA-00200 .. 00369

ORA-01100 .. 01250

65000

PL/SQL errors

ORA-06500 .. 06599

66000

SQL*Net driver errors

ORA-06000 .. 06149

ORA-06250 .. 06429

ORA-06600 .. 06999

ORA-12100 .. 12299

ORA-12500 .. 12599

67000

licensing errors

ORA-00430 .. 00439

69000

SQL*Connect errors

ORA-00570 .. 00599

ORA-07000 .. 07199

72000

SQL execute phase errors

ORA-01000 .. 01099

ORA-01400 .. 01489

ORA-01495 .. 01499

ORA-01500 .. 01699

ORA-02400 .. 02419

ORA-02425 .. 02449

ORA-04060 .. 04069

ORA-08000 .. 08190

ORA-12000 .. 12019

ORA-12300 .. 12499

ORA-12700 .. 21999

82100

out of memory (could not allocate)

SQL-02100

82101

inconsistent cursor cache: unit cursor/global cursor mismatch

SQL-02101

82102

inconsistent cursor cache: no global cursor entry

SQL-02102

82103

inconsistent cursor cache: out of range cursor cache reference

SQL-02103

82104

inconsistent host cache: no cursor cache available

SQL-02104

82105

inconsistent cursor cache: global cursor not found

SQL-02105

82106

inconsistent cursor cache: invalid Oracle cursor number

SQL-02106

82107

program too old for runtime library

SQL-02107

82108

invalid descriptor passed to runtime library

SQL-02108

82109

inconsistent host cache: host reference is out of range

SQL-02109

82110

inconsistent host cache: invalid host cache entry type

SQL-02110

82111

heap consistency error

SQL-02111

82112

unable to open message file

SQL-02113

82113

code generation internal consistency failed

SQL-02115

82114

reentrant code generator gave invalid context

SQL-02116

82115

invalid hstdef argument

SQL-02119

82116

first and second arguments to sqlrcn both null

SQL-02120

82117

invalid OPEN or PREPARE for this connection

SQL-02122

82118

application context not found

SQL-02123

82119

connect error; can't get error text

SQL-02125

82120

precompiler/SQLLIB version mismatch.

SQL-02127

82121

FETCHed number of bytes is odd

SQL-02129

82122

EXEC TOOLS interface is not available

SQL-02130

90000

debug events

ORA-10000 .. 10999

99999

catch all

all others

HZ000

remote database access

 



PK 짹PKa9AOEBPS/ch_six.htm Demonstration Programs

6 Demonstration Programs

This chapter provides information about using SQL*Module host applications written in Ada. This chapter also includes sample programs that demonstrate how you can use SQL*Module with an Ada application.

Topics covered are:

The SQL_STANDARD Package

You must use the datatypes defined in the supplied SQL_STANDARD package. The SQL_STANDARD package defines the packages, Ada bindings to the SQL datatypes, and the subtypes that are used for SQL*Module with Ada. You must compile the supplied SQL_STANDARD package into your Ada library, and with this package in each program unit that calls procedures generated from Module Language source, or that calls interface procedures.

The SQL_STANDARD package is system specific. See your system-specific Oracle documentation for the location of this file on your system.

SQLCODE

The standard type of the SQLCODE parameter for Ada is SQL_STANDARD.SQLCODE_TYPE.

SQLSTATE

The standard type of the SQLSTATE parameter for Ada is SQL_STANDARD.SQLSTATE_TYPE. It is a five-character string.

Sample Programs

The Module Language sample programs are based on an example database for a small college. This section demonstrates the tables that are used in the application, and a module that contains cursors and procedures that query and update the tables.

The database contains tables that maintain records about

The SQL statements are used to create the tables used in the demonstration application. You can create the sample database, and fill it with some preliminary data, by using SQL*Plus or SQL*DBA to execute these scripts.

These scripts, and all other sample code files, are shipped with SQL*Module. They are in the demo directory on your system.

Sample Tables

The tables and sequence number generators are created by the MKTABLES.SQL script. At the end of this script, five other scripts are called to partially populate the tables. These five scripts are listed following MKTABLES.SQL.

MKTABLES.SQL

REM Create all tables for the sample college database application. 
 
REM Drop existing tables 
REM Remove REMs next 6 lines when running under SQL*Plus 
 
REM CLEAR SCREEN 
REM Prompt WARNING!! About to re-create the SQL*Module example tables. 
REM Prompt All previously entered data will be lost. 
REM Prompt If you really want to do this, type ENTER or Return. 
REM Prompt  Else, type your CANCEL (INTR) character to exit
REM Pause   this script now. 
 
REM Prompt Dropping tables... 
 
DROP TABLE students     CASCADE CONSTRAINTS; 
DROP TABLE instructors  CASCADE CONSTRAINTS; 
DROP TABLE courses      CASCADE CONSTRAINTS; 
DROP TABLE classes      CASCADE CONSTRAINTS; 
DROP TABLE enrollment   CASCADE CONSTRAINTS; 
DROP TABLE departments  CASCADE CONSTRAINTS; 
 
DROP SEQUENCE student_id_seq; 
DROP SEQUENCE instructor_id_seq; 
DROP SEQUENCE class_number_seq; 
DROP SEQUENCE enrollment_seq; 
 
CREATE SEQUENCE student_id_seq          START WITH 1000; 
CREATE SEQUENCE instructor_id_seq       START WITH 100000; 
CREATE SEQUENCE class_number_seq        START WITH 100; 
CREATE SEQUENCE enrollment_seq          START WITH 100; 
 
REM Prompt Creating tables... 
 
CREATE TABLE departments  (name            VARCHAR2(16) NOT NULL, 
                           id              NUMBER(6) PRIMARY KEY, 
                           location        NUMBER(4), 
                           chairperson     NUMBER(6), 
                           budget          NUMBER(9,2) 
                           ); 
CREATE TABLE instructors  (last_name       VARCHAR2(15) NOT NULL, 
                           first_name      VARCHAR2(15) NOT NULL, 
                           mi              VARCHAR2(3), 
                           id              NUMBER(6) PRIMARY KEY, 
                           hire_date       DATE, 
                           dept            NUMBER(6) 
                           NOT NULL REFERENCES departments(id), 
                           salary          NUMBER(9,2), 
                           rank            VARCHAR2(20) 
                           ); 
 
CREATE TABLE students     (last_name       VARCHAR2(15) NOT NULL, 
                           first_name      VARCHAR2(15) NOT NULL, 
                           mi              VARCHAR2(3), 
                           id              NUMBER(6) PRIMARY KEY, 
                           status          VARCHAR2(5) NOT NULL, 
                           date_of_birth   DATE, 
                           matric_date     DATE, 
                           grad_date       DATE, 
                           major           NUMBER(6) 
                           REFERENCES departments(id), 
                           advisor_id      NUMBER(6) 
                           REFERENCES instructors(id) 
                           ); 
 
CREATE TABLE courses      (dept            NUMBER(6) 
                              NOT NULL REFERENCES departments(id), 
                           id              NUMBER(6), 
                           name            VARCHAR2(38) NOT NULL 
                           ); 
 
CREATE TABLE classes      (class_number    NUMBER(6) PRIMARY KEY, 
                           course_number   NUMBER(6) NOT NULL, 
                           dept            NUMBER(6) NOT NULL, 
                           max_enrollment  NUMBER(4) NOT NULL, 
                           building_number NUMBER(4), 
                           room_number     NUMBER(5), 
                           instructor      NUMBER(6), 
                           quarter         NUMBER(1), 
                           year            NUMBER(4) 
                           ); 
 
CREATE TABLE enrollment   (e_sn            NUMBER(6) PRIMARY KEY, 
                           class_no        NUMBER(6) NOT NULL, 
                           student_id      NUMBER(6) NOT NULL, 
                           grade           NUMBER(3,2), 
                           comments        VARCHAR2(255) 
                           ); 
 
REM Prompt INSERTing sample data in tables... 
 
@@departmt.sql 
@@instrucs.sql 
@@students.sql 
@@courses.sql 
@@enrolmnt.sql 

DEPARTMT.SQL

DELETE FROM departments;

INSERT INTO departments VALUES ('BIOLOGY', 100, 2510, null,100000);

INSERT INTO departments VALUES ('CHEMISTRY', 110, 2510, null, 50000);

INSERT INTO departments VALUES ('COMPUTER SCIENCE', 120, 2530, null, 110000);

INSERT INTO departments VALUES ('ELECTRIC. ENG.', 130, 2530, null, 145000);

INSERT INTO departments VALUES ('FINE ARTS', 140, 2520, null, 10000);

INSERT INTO departments VALUES ('HISTORY', 150, 2520, null, 20000);

INSERT INTO departments VALUES ('MATHEMATICS', 160, 2580, null, 5000);

INSERT INTO departments VALUES ('MECH. ENG.', 170, 2520, null, 100000);

INSERT INTO departments VALUES ('PHYSICS', 180, 2560, null, 300000);

INSTRUCS.SQL

DELETE FROM instructors;

REM Add some faculty to the college

INSERT INTO instructors VALUES ('Webster', 'Milo', 'B', 9000,
        '01-SEP-49', 140, 40000, 'PROFESSOR');

INSERT INTO instructors VALUES ('Crown', 'Edgar', 'G', 9001,
        '03-SEP-70', 150, 35000, 'PROFESSOR');

INSERT INTO instructors VALUES ('Golighty', 'Claire', 'M', 9002,
        '24-AUG-82', 120, 33000, 'ASSISTANT PROFESSOR');

INSERT INTO instructors VALUES ('Winterby', 'Hugh', '', 9003,
        '10-SEP-82', 120, 43000, 'PROFESSOR');

INSERT INTO instructors VALUES ('Whipplethorpe', 'Francis', 'X',
        9004, '01-SEP-78', 170, 50000, 'PROFESSOR');

INSERT INTO instructors VALUES ('Shillingsworth', 'Susan', 'G',
        9005, '22-AUG-87', 160, 65000, 'PROFESSOR');

INSERT INTO instructors VALUES ('Herringbone', 'Leo', 'R', 9006,
        '02-JAN-81', 110, 40000, 'ASSOCIATE PROFESSOR');

INSERT INTO instructors VALUES ('Willowbough', 'George', 'T',
        9007, '04-SEP-86', 180, 37000, 'ASSOCIATE PROFESSOR');

INSERT INTO instructors VALUES ('Higham', 'Earnest', 'V', 9008,
        '10-JUN-76', 100, 55000, 'PROFESSOR');

STUDENTS.SQL

DELETE FROM students;

INSERT INTO students VALUES ('Brahms', 'Susan', 'F',
        student_id_seq.nextval, 'FT', '10-JUN-75', sysdate, null, null, null);

INSERT INTO students VALUES ('Hiroki', 'Minoru', '',
        student_id_seq.nextval, 'FT', '12-AUG-71', sysdate, null, null, null);

INSERT INTO students VALUES ('Hillyard', 'James', 'T',
        student_id_seq.nextval, 'FT', '11-SEP-74', sysdate, null, null, null);

INSERT INTO students VALUES ('Kaplan', 'David', 'J',
        student_id_seq.nextval, 'FT', '02-MAR-74', sysdate, null, null, null);

INSERT INTO students VALUES ('Jones', 'Roland', 'M',
        student_id_seq.nextval, 'FT', '23-JAN-75', sysdate, null, null, null);

INSERT INTO students VALUES ('Rubin', 'Naomi', 'R',
        student_id_seq.nextval, 'PT', '23-FEB-54', sysdate, null, null, null);

INSERT INTO students VALUES ('Gryphon', 'Melissa', 'E',
        student_id_seq.nextval, 'FT', '08-JUL-75', sysdate, null, null, null);

INSERT INTO students VALUES ('Chen', 'Michael', 'T',
        student_id_seq.nextval, 'FT', '22-OCT-72', sysdate, null, null, null);

COURSES.SQL

DELETE FROM courses;

REM Add a few courses for demo purposes

--  HISTORY
INSERT INTO courses VALUES (150, 101, 
       'INTRODUCTION TO VENUSIAN CIVILIZATION');

INSERT INTO courses VALUES (150, 236,
       'EARLY MEDIEVAL HISTORIOGRAPHY');

INSERT INTO courses VALUES (150, 237,
     'MIDDLE MEDIEVAL HISTORIOGRAPHY');

INSERT INTO courses VALUES (150, 238,
     'LATE MEDIEVAL HISTORIOGRAPHY');

--  MATHEMATICS
INSERT INTO courses VALUES (160, 101, 'ANALYSIS I');

INSERT INTO courses VALUES (160, 102, 'ANALYSIS II');

INSERT INTO courses VALUES (160, 523, 'ADVANCED NUMBER THEORY');

INSERT INTO courses VALUES (160, 352, 'TOPOLOGY I');

--  COMPUTER SCIENCE
INSERT INTO courses VALUES (120, 210, 'COMPUTER NETWORKS I');

INSERT INTO courses VALUES (120, 182, 'OBJECT-ORIENTED DESIGN');

INSERT INTO courses VALUES (120, 141, 'INTRODUCTION TO Ada');

INSERT INTO courses VALUES (120, 140, 'ADVANCED 7090 ASSEMBLER');

EMROLMNT.SQL

REM  Create some classes and enroll some students in
REM  them, to test the procedures that access
REM  the ENROLLMENT table.

DELETE FROM classes;

REM  Department 150 is HISTORY

INSERT INTO classes VALUES (900, 101, 150, 300, 2520, 100, 9001, 1, 1990);

INSERT INTO classes VALUES (901, 236, 150, 20, 2520, 111, 9001, 3, 1990);

INSERT INTO classes VALUES (902, 237, 150, 15, 2520, 111, 9001, 4, 1990);

INSERT INTO classes VALUES (903, 238, 150, 10, 2520, 111, 9001, 1, 1991);

REM  Department 120 is COMPUTER SCIENCE
INSERT INTO classes VALUES (910, 210, 120, 60, 2530, 34, 9003, 1, 1990);

INSERT INTO classes VALUES (911, 182, 120, 120, 2530, 440, 9003, 1, 1991);

INSERT INTO classes VALUES (912, 141, 120, 60, 2530, 334, 9003, 2, 1990);

INSERT INTO classes VALUES (913, 140, 120, 300, 2530, 112, 9003, 1, 1989);

REM  Now enroll Susan and Michael in some courses.

DELETE FROM enrollment
        WHERE student_id =
        (SELECT id FROM students
                WHERE first_name = 'Susan'
                AND last_name = 'Brahms');

DELETE FROM enrollment
        WHERE student_id =
        (SELECT id FROM students
                WHERE first_name = 'Michael' 
                AND last_name = 'Chen');

INSERT INTO enrollment VALUES (enrollment_seq.nextval,
        900, 1000, 3.0, 'Good');

INSERT INTO enrollment VALUES (enrollment_seq.nextval,
        901, 1000, 3.5, 'Very Good');

INSERT INTO enrollment VALUES (enrollment_seq.nextval,
        902, 1000, 4.0, 'Excellent');

INSERT INTO enrollment VALUES (enrollment_seq.nextval,
        903, 1000, 2.0, 'Fair');

INSERT INTO enrollment VALUES (enrollment_seq.nextval,
        910, 1007, 3.0, ' ');

INSERT INTO enrollment VALUES (enrollment_seq.nextval,
        911, 1007, 3.0, ' ');

INSERT INTO enrollment VALUES (enrollment_seq.nextval,
        912, 1007, 4.0, ' ');
INSERT INTO enrollment VALUES (enrollment_seq.nextval,
        913, 1007, 2.0, ' ');

Module Language Sample Program

-- SQL*Module demonstration module.
-- Contains procedures to maintain the college database.

-- PREAMBLE

MODULE        demomod
LANGUAGE      Ada
AUTHORIZATION modtest

------------------------------------------------------------------
-------------------------  STUDENTS TABLE-------------------------
------------------------------------------------------------------

--  The following cursors and procedures access the STUDENTS table
--  or the STUDENT_ID_SEQ sequence number generator.

--  Declare a cursor to select all students
--  in the college.

DECLARE GET_STUDENTS_CURS CURSOR FOR 

    SELECT last_name, first_name, mi, id, status, 
           major, advisor_id 
        FROM students

--  Define procedures to open and close this cursor.

PROCEDURE open_get_students_curs (
        SQLCODE);

    OPEN GET_STUDENTS_CURS;

PROCEDURE close_get_students_curs (
        SQLCODE);

    CLOSE GET_STUDENTS_CURS;
--  Define a procedure to fetch using the 
--  get_students_curs cursor.

PROCEDURE get_all_students (
        :lname           CHAR(15),
        :fname           CHAR(15),
        :mi              CHAR(3),
        :mi_ind          SMALLINT,
        :id              INTEGER,
        :status          CHAR(5),
        :major           INTEGER,
        :major_ind       SMALLINT,       -- indicator for major
        :adv             INTEGER,
        :adv_ind         SMALLINT,       -- indicator for advisor
        SQLCODE);

    FETCH get_students_curs
        INTO :lname, :fname, :mi INDICATOR :mi_ind,
             :id, :status, :major INDICATOR :major_ind,
             :adv INDICATOR :adv_ind;

--  Add a new student
--  to the database.  Some of the columns in the
--  table are entered as null in this procedure.
--  The UPDATE_STUDENT procedure is used to fill
--  them in later.

PROCEDURE add_student (
        :last_name       CHARACTER(15), 
        :first_name      CHARACTER(15),
        :mi              CHARACTER(3),
        :mi_ind          SMALLINT,
        :sid             INTEGER,
        :status          CHARACTER(5),
        :date_of_birth   CHARACTER(9),
        :dob_ind         SMALLINT,
        SQLCODE);
 
    INSERT INTO students VALUES (
         :last_name,
         :first_name,
         :mi :mi_ind,
         :sid,
         :status,
         :date_of_birth :dob_ind,  
         sysdate,                       -- use today's date
                                        -- for start date
         null,                          -- no graduation date yet
         null,                          -- no declared major yet
         null                           -- no advisor yet
         );                       
--  Update a student's record to add or change
--  status, major subject, advisor, and graduation date.

PROCEDURE update_student (
        :sid             INTEGER,        -- student's id number
        :major           INTEGER,        -- dept number of major
        :major_ind       SMALLINT,       -- indicator for major
        :advisor         INTEGER,        -- advisor's ID number
        :advisor_ind     SMALLINT,
        :grd_date        CHARACTER(9),
        :grad_date_ind   SMALLINT,
        SQLCODE); 
 
    UPDATE students SET
        grad_date = :grd_date INDICATOR :grad_date_ind,
        major = :major INDICATOR :major_ind,
        advisor_id = :advisor INDICATOR :advisor_ind
        WHERE id = :sid;

PROCEDURE delete_student (
        :sid             INTEGER,
        SQLCODE);

    DELETE FROM students
        WHERE id = :sid;

-- Get an ID number for a new student
-- using the student_id sequence generator.  This
-- is done so that the ID number can be returned
-- to the add_student routine that calls
-- ENROLL.

PROCEDURE get_new_student_id (
        :new_id        INTEGER,
        SQLCODE);

    SELECT student_id_seq.nextval
        INTO :new_id
        FROM dual;

--  Return the name
--  of a student, given the ID number.

PROCEDURE get_student_name_from_id (
        :sid             INTEGER,
        :lname           CHAR(15),
        :fname           CHAR(15),
        :mi              CHAR(3),
        SQLCODE);

    SELECT last_name, first_name, mi
        INTO :lname, :fname, :mi
        FROM students
        WHERE id = :sid;

------------------------------------------------------------------
-------------------------  INSTRUCTORS TABLE ---------------------
------------------------------------------------------------------

--  Define a procedure to return an instructor's last
--  name, given the ID number.

PROCEDURE get_instructor_name_from_id (
        :iid             INTEGER,
        :lname           CHAR(15),
        :fname           CHAR(15),
        :imi             CHAR(3),
        :mi_ind          SMALLINT,
        SQLCODE);

    SELECT last_name, first_name, mi
        INTO :lname, :fname, :imi INDICATOR :mi_ind
        FROM instructors
        WHERE id = :iid;

------------------------------------------------------------------
-------------------------  DEPARTMENTS TABLE ---------------------
------------------------------------------------------------------

--  Define procedure to return the name of a department
--  given its ID number.

PROCEDURE get_department_name_from_id (
        :did             INTEGER,
        :dept_name       CHARACTER(16),
        SQLCODE);

    SELECT name
        INTO :dept_name
        FROM departments
        WHERE id = :did;

------------------------------------------------------------------
-------------------------  COURSES TABLE -------------------------
------------------------------------------------------------------

-- (none defined yet)

------------------------------------------------------------------
-------------------------  CLASSES TABLE -------------------------
------------------------------------------------------------------

-- Add a class to the classes table.

PROCEDURE add_class (
        :class_no        INTEGER,
        :dept_no         INTEGER,
        :course_no       INTEGER,
        :max_students    INTEGER,
        :instr_id        INTEGER,
        :quarter         INTEGER,
        :year            INTEGER,
        SQLCODE);

    INSERT INTO classes VALUES (
        :class_no,
        :course_no,
        :dept_no,
        :max_students,
        null,                           -- building number and
        null,                           -- room not yet assigned
        :instr_id,
        :quarter,
        :year
        );

-- Drop a class.

PROCEDURE delete_class (
        :class_no       INTEGER, 
        SQLCODE); 

    DELETE FROM classes 
        WHERE class_number = :class_no; 
 
--  Get an ID number for a new class.
--  A class is an instance of a course.
--  Use the class_number_seq sequence generator.

PROCEDURE get_new_class_id (
        :new_id        INTEGER,
        SQLCODE);

    SELECT class_number_seq.nextval
        INTO :new_id
        FROM dual;

------------------------------------------------------------------
----------------------  ENROLLMENT TABLE -------------------------
------------------------------------------------------------------

--  Declare a cursor to return information about all
--  classes a given student has or is enrolled in his
--  or her college career.

--  In this college, letter grades are assigned
--  numbers, in the following format:
--  A   4.0
--  B+  3.5
--  B   3.0
--  C+  2.5
--  C   2.0
--  D   1.0
--  F   0.0

DECLARE get_enroll_curs CURSOR FOR 

    SELECT courses.name,
           classes.instructor,
           classes.year,
           classes.quarter,
           enrollment.grade,
           enrollment.comments
        FROM courses, classes, enrollment 
        WHERE courses.id = classes.course_number
                AND classes.class_number = enrollment.class_no
                AND enrollment.student_id = :sid 
 
--  Define a procedure to open the GET_ENROLL_CURS cursor.
--  Note that this procedure requires an IN parameter to set
--  the student ID number (sid).

PROCEDURE open_get_enroll_curs (
        :sid       INTEGER, 
        SQLCODE); 

    OPEN GET_ENROLL_CURS;
 
--  CLOSE the get_enroll_curs cursor

PROCEDURE close_get_enroll_curs (
        SQLCODE); 

    CLOSE get_enroll_curs; 
 
--  FETCH from the courses, classes, and enrollment table
--  using the get_enroll_curs cursor

PROCEDURE get_enroll_by_student (
        :course_name     CHARACTER(38),
        :instructor      INTEGER,
        :year            INTEGER,
        :quarter         INTEGER,
        :grade           REAL,
        :grade_ind       SMALLINT,
        :comments        CHARACTER(255),
        SQLCODE);

    FETCH get_enroll_curs
        INTO :course_name,
             :instructor,
             :year,
             :quarter,
             :grade INDICATOR :grade_ind,
             :comments;

-- Enroll a student in a class.

PROCEDURE enroll_student_in_class (
        :class_number  INTEGER, 
        :sid           INTEGER, 
        SQLCODE); 

    INSERT INTO enrollment VALUES (
         enrollment_seq.nextval,
         :class_number,
         :sid,
         null,                        -- no grade yet
         '  '                         -- no comments yet
         );

------------------------------------------------------------------
------------------------  UTILITY PROCEDURES ---------------------
------------------------------------------------------------------

-- Commit a transaction.

PROCEDURE do_commit(
        SQLCODE);

    COMMIT WORK;

-- Connect to a database

PROCEDURE do_connect (
        :dbname     CHARACTER(14),
        :username   CHARACTER(14),
        :passwd     CHARACTER(14),
        SQLCODE);

    CONNECT TO :dbname USER :username USING :passwd;

-- Disconnect

PROCEDURE do_disconnect (
        SQLCODE);

    DISCONNECT CURRENT;

-- Roll a transaction back.

PROCEDURE do_rollback (
        SQLCODE);

    ROLLBACK WORK;

Calling a Stored Procedure

The sample stored package defined can be used to demonstrate how to call a stored procedure from an Ada application. The package source is GPAPKG.SQL, and it is in your demo directory. See the program "DEMCALSP.A", written in the host language, that calls the GET_GPA_IF procedure in this package. Each of these host programs is also on-line, in your demo directory.

--  Create the specification for a package
--  that contains the GET_GPA stored procedure.
--  Use the WITH INTERFACE clause so that
--  the package procedure can be called from a 3GL.

--  Note that the procedure parameters have PL/SQL
--  datatypes, but in the WITH INTERFACE clause
--  SQL datatypes must be used, and they must be
--  constrained if required (for example, CHARACTER(15)).
--  The WITH INTERFACE clause enables you to
--  specify error-handling parameters, such as SQLSTATE,
--  as well as indicator parameters.  These are filled
--  in as the procedure executes.

--  The calling host 3GL application calls the procedure
--  named in the WITH INTERFACE clause.  This
--  would usually be given the same name as the procedure
--  in the body.  Here it is given a different name, to 
--  demonstrate that (1) you can do this, and (2) it is
--  the WITH INTERFACE clause name that gets
--  generated in the interface procedure as the procedure to call.

--  Note that this package will create
--  the package and procedure names in uppercase. So the
--  module compiler will generate interface procedures that have 
--  the names
--  in uppercase, which means that you must call them using
--  upper case in your host program. If you prefer lowercase,
--  simply change the package and procedure names to be
--  quoted lowercase, for example:
--
--    CREATE OR REPLACE PACKAGE "gpa_pkg" AS ...

CREATE OR REPLACE PACKAGE GPA_PKG AS

    PROCEDURE GET_GPA(student_id        IN     NUMBER,
                      student_last_name IN OUT CHARACTER,
                      gpa               OUT    NUMBER)
    WITH INTERFACE
    PROCEDURE GET_GPA_IF
                     (student_id        INTEGER,
                      student_last_name CHARACTER(15)
                                          INDICATOR sname_ind,
                      sname_ind         SMALLINT,
                      gpa               REAL,
                      sqlstate          CHARACTER(5),
                      sqlcode           INTEGER);
END;

--  Create the package body.  There is no need for
--  a WITH INTERFACE clause in the body.
--  The GET_GPA procedure computes the cumulative GPA
--  over all courses that the student has taken, and returns
--  the computed value.  If the student has received no
--  grades yet, a null is returned (through the indicator
--  parameter).


CREATE OR REPLACE PACKAGE BODY GPA_PKG AS

    PROCEDURE GET_GPA(student_id        IN     NUMBER,
                      student_last_name IN OUT CHARACTER,
                      gpa               OUT    NUMBER) IS

-- The cursor selects all the classes that
-- the student has enrolled in.

    CURSOR get_enroll_curs(sid IN NUMBER) IS
        SELECT enrollment.grade
        FROM   enrollment 
        WHERE  enrollment.student_id = sid
          AND  enrollment.grade IS NOT NULL;
 
-- Declare local variables.
-- gpa_temp needed because gpa is an OUT parameter
    n        NUMBER   := 0;
    grade    NUMBER;
    gpa_temp NUMBER   := 0;

    BEGIN
        gpa := 0.0;

-- Get the last name;
-- if not found, the no_data_found
-- predefined exception is raised.
        SELECT last_name
          INTO student_last_name
          FROM students
          WHERE id = student_id;

-- Otherwise, open the cursor and FETCH.
        open get_enroll_curs(student_id);
        loop
            FETCH get_enroll_curs INTO grade;
            exit when get_enroll_curs%notfound;
            gpa_temp := gpa_temp + grade;
            n := n + 1;
        end loop;

        close get_enroll_curs;

        if n > 0 then
            gpa := gpa_temp / n;
        end if;

    exception

-- The SQLCODE parameter in the WITH INTERFACE
-- parameter list will not be set to +100 because
-- the exception is handled here, but the indicator
-- variable will be set to -1 because of the null
-- assignment.
        when no_data_found then
          student_last_name := null;
    end GET_GPA;

END;

Sample Applications

This section contains sample applications that may aid development.

DEMOHOST.A

--    Module Language demonstration program for Ada.
--    For an explanation of the tables that are accessed
--    and the Module Language procedures that
--    are called in this program, see  Sample Programs.
--
--    The module language code that contains the procedures called
--    by this program, and SQL scripts to create and populate
--    the tables used, are included in the source distribution.
--    

with
-- The required SQL standard package.
    sql_standard,

-- The module language procedures package.
    demomod,

-- Other I/O packages...
    text_io,
    float_text_io,
    integer_text_io;

use
-- use the standard I/O packages.
    text_io,
    sql_standard,
    float_text_io,
    integer_text_io;

procedure DEMOHOST is

-- instantiate new packages for I/O on SQL_STANDARD datatypes
    package STD_INT_IO is
        new text_io.integer_io(SQL_STANDARD.INT);
    use STD_INT_IO;

    package SQLCODE_IO is
        new text_io.integer_io(SQL_STANDARD.SQLCODE_TYPE);
    use SQLCODE_IO;


    package STD_SMALLINT_IO is
        new text_io.integer_io(SQL_STANDARD.SMALLINT);
    use STD_SMALLINT_IO;

    package STD_FLOAT_IO is
        new text_io.float_io(SQL_STANDARD.REAL);
    use STD_FLOAT_IO;


-- declare main procedure variables and exceptions

-- handle command input
    type COMMAND is 
       (AC, AS, DC, DS, ES, SE, SS, US, HELP, QUIT, BYE);

    package COMMAND_IO is
        new text_io.enumeration_io(COMMAND);
    use COMMAND_IO;

    COM_LINE      : COMMAND;

-- make SQLCODE global since program structure allows this
    SQLCODE       : SQL_STANDARD.SQLCODE_TYPE;
    ANSWER        : string(1..4);
    LENGTH        : integer;
    SERVICE_NAME  : SQL_STANDARD.CHAR(1..14);
    USERNAME      : SQL_STANDARD.CHAR(1..14);    
    PASSWORD      : SQL_STANDARD.CHAR(1..14);    
        
-- declare top-level exceptions
    CONNECT_ERROR : exception;
    SQLCODE_ERROR : exception;


-- define procedures
    
-- get a user command
    procedure GET_COMMAND(CMD : out COMMAND) is
    begin
        loop
        begin
            new_line(2);
            put("Select an option: ");
            get(CMD);
            return;
        exception
            when data_error =>
                put_line
                 (ascii.bel & "Invalid option, try again.");
        end;
        end loop;
    end GET_COMMAND;


    procedure MENU is
    begin
        new_line(5);
        put_line("                 *** COLLEGE RECORDS ***");
        new_line;
        put_line("AC   -  add a class to curriculum");
        put_line("AS   -  enroll a new student in the college");
        put_line("DC   -  drop a class from curriculum");
        put_line("DS   -  drop a student");
        put_line("ES   -  enroll a student in a class");
        put_line("SE   -  show compledmte enrollment records");
        put_line("SS   -  show all students");
        put_line("US   -  update a student's record");
        put_line("HELP -  redisplay this menu");
        put_line("QUIT -  quit program");
        new_line(3);
    end MENU;


    -- Procedure to get an integer value from the user,
    -- prompting first.
    procedure GET_STANDARD_INT(PROMPT : string;
                               VALUE  : out SQL_STANDARD.INT) is

    begin
        put(prompt);
        get(integer(VALUE));
        skip_line;
    end GET_STANDARD_INT;


    -- Get a text string from the user, prompting first.
    -- The string is blank-padded.
    procedure GET_STANDARD_TEXT(PROMPT : in     string;
                                VALUE  : out    SQL_STANDARD.CHAR;
                                LENGTH : in out integer) is
        OLD_LENGTH : integer;

    begin
        OLD_LENGTH := LENGTH;
        put(PROMPT);
        VALUE := (1..LENGTH => ' ');
        get_line(string(VALUE), LENGTH);

        if LENGTH = OLD_LENGTH then
            skip_line;
        end if;
        
    end GET_STANDARD_TEXT;

    
    -- The following procedures, all beginning with the prefix
    -- "CALL_", are called from the main procedure,
    -- and in turn call Module Language procedures, defined
    -- in the DEMOMOD.mad file.    

    procedure CALL_ADD_CLASS is

        CLASS_NUMBER       : SQL_STANDARD.INT;
        DEPARTMENT_NUMBER  : SQL_STANDARD.INT;
        COURSE_NUMBER      : SQL_STANDARD.INT;
        MAX_ENROLLMENT     : SQL_STANDARD.INT;
        INSTRUCTOR_ID      : SQL_STANDARD.INT range
                                1000..SQL_STANDARD.INT'last;
        QUARTER            : SQL_STANDARD.INT range 1..4;
        YEAR               : SQL_STANDARD.INT range 1900..2100;

        
    begin
        new_line(2);
        put_line("Add a new class to the schedule");
        new_line(2);
        
        DEMOMOD.GET_NEW_CLASS_ID(CLASS_NUMBER, SQLCODE);

        if SQLCODE /= 0 then
            put("Cannot generate new class number. CODE is ");
            put(SQLCODE);
            new_line;
            put_line("  Call your database administrator.");
            return;
        else
            put("New class number is "); 
            put(CLASS_NUMBER);
            new_line;
        end if;

        loop
        begin
            new_line;
            GET_STANDARD_INT
                ("Enter dept ID: ", DEPARTMENT_NUMBER);

            GET_STANDARD_INT
              ("Enter course ID number: ", COURSE_NUMBER);
            GET_STANDARD_INT
              ("maximum enrollment: ", MAX_ENROLLMENT);
            GET_STANDARD_INT
              ("instructor ID number: ", INSTRUCTOR_ID);
            GET_STANDARD_INT
              ("quarter (1=spring, 2=summer, ...: ", QUARTER);
            GET_STANDARD_INT("year (4 digits please): ", YEAR);

            DEMOMOD.ADD_CLASS(CLASS_NUMBER, COURSE_NUMBER,
                              DEPARTMENT_NUMBER, MAX_ENROLLMENT,
                              INSTRUCTOR_ID,
                              QUARTER, YEAR, SQLCODE);
            if SQLCODE /= 0 then
                put("Error adding class.  CODE is ");
                put(SQLCODE);
                new_line;
            else
                put_line("New class added.");
            end if;
            exit;
        exception
            when CONSTRAINT_ERROR =>
                new_line;
                put_line("Last input not valid.  Try again.");
                new_line;
        end;
        end loop;
    end CALL_ADD_CLASS;


    procedure CALL_ADD_STUDENT is
        ERROR_COUNT   : integer := 0;
        SIZE          : integer;
        NEW_ID        : SQL_STANDARD.INT;
        MI_IND        : SQL_STANDARD.SMALLINT;
        TEMP_STRING   : string(1..80);
        FIRST_NAME    : SQL_STANDARD.CHAR(1..15);
        LAST_NAME     : SQL_STANDARD.CHAR(1..15);
        MI            : SQL_STANDARD.CHAR(1..3);
        DATE_OF_BIRTH : SQL_STANDARD.CHAR(1..9);
        DOB_IND       : SQL_STANDARD.SMALLINT;
        STATUS        : SQL_STANDARD.CHAR(1..5);
        LENGTH        : integer;
                
    begin
        new_line(2);
        put_line("Add a new student to the database.");
        new_line(2);


        DEMOMOD.GET_NEW_STUDENT_ID(NEW_ID, SQLCODE);
        if SQLCODE /= 0 then
            put_line("Cannot generate ID number for student.");
            put("CODE is ");
            put(SQLCODE);
            new_line;
            put_line("Call your database administrator.");
            return;
        end if;

        skip_line;
        loop
            begin
                new_line;
                LENGTH := 15;
                GET_STANDARD_TEXT("  Last name: ", LAST_NAME,
                                    LENGTH);

                LENGTH := 15;
                GET_STANDARD_TEXT("  First name: ", FIRST_NAME,
                                    LENGTH);

                LENGTH := 3;
                GET_STANDARD_TEXT("  Middle initial: ", MI,
                                    LENGTH);

                if LENGTH = 0 then
                    MI_IND := -1;
                else
                    MI_IND := 0;
                end if;
                                    
                LENGTH := 9;
                GET_STANDARD_TEXT("  Date of birth (DD-MON-YY): ",
                                     DATE_OF_BIRTH, LENGTH);

                if LENGTH = 0 then
                    DOB_IND := -1;
                else
                    DOB_IND := 0;
                end if;
                                    
                LENGTH := 5;
                GET_STANDARD_TEXT("  Status (FT, PT, JYA, ...): ",
                                     STATUS, LENGTH);

                DEMOMOD.ADD_STUDENT(LAST_NAME,
                                       FIRST_NAME,
                                       MI, MI_IND,
                                       NEW_ID,
                                       STATUS,
                                       DATE_OF_BIRTH,
                                       DOB_IND,
                                       SQLCODE);
                if SQLCODE /= 0 then
                    new_line;
                    put("Error adding student. CODE is ");
                    put(SQLCODE, width => 5);
                else
                    new_line;
                    put("Student added.  ID number is");
                    put(NEW_ID, width => 6);
                end if;
                new_line(3);
                return;
            exception
                when constraint_error =>
                    ERROR_COUNT := ERROR_COUNT + 1;
                    if ERROR_COUNT > 3 then
                        put_line
                       ("Too many errors. Back to main program.");
                        exit;
                    end if;
                    put_line("Invalid value.  Try again.");
                when others =>
                    put_line("Data error or other error.");
                    exit;
            end;
        end loop;    
    end CALL_ADD_STUDENT;


    procedure CALL_DROP_CLASS is
        CLASS_NUMBER     : SQL_STANDARD.INT;
        
    begin
        new_line(2);
        put_line("Drop a class");
        new_line(2);
        
        GET_STANDARD_INT
         ("  Enter class ID number: ", CLASS_NUMBER);

        DEMOMOD.DELETE_CLASS(CLASS_NUMBER, SQLCODE);

        if SQLCODE /= 0 then
            new_line;
            put("Error dropping the class.  CODE is ");
            put(SQLCODE);
            new_line;
            put_line("Call your database administrator.");
        else
            put_line("Class dropped.");
        end if;
    end CALL_DROP_CLASS;


    procedure CALL_DROP_STUDENT is
        LAST_NAME, FIRST_NAME   : SQL_STANDARD.CHAR(1..15);
        MI                      : SQL_STANDARD.CHAR(1..3);
        STUDENT_ID              : SQL_STANDARD.INT;
        ANSWER                  : string(1..12);
        ALEN                    : integer;
                
    begin
        new_line(2);
        put_line("Drop a student from the college.");
        new_line(2);
        
        GET_STANDARD_INT
          ("  Enter student ID number: ", STUDENT_ID);
        DEMOMOD.GET_STUDENT_NAME_FROM_ID(STUDENT_ID,
                                         LAST_NAME,
                                         FIRST_NAME, MI,
                                         SQLCODE);
        if SQLCODE /= 0 then
            new_line;
            put("Error getting student information.  CODE is ");
            put(SQLCODE);
            new_line;
            put_line("Call your database administrator.");
            return;
        end if;

        put_line("Student's name is--");
        put_line(string(FIRST_NAME & MI & LAST_NAME));
        put("Do you really want to do this? ");
        get_line(ANSWER, ALEN);
        if ANSWER(1) = 'Y' or ANSWER(1) = 'y' then
            DEMOMOD.DELETE_STUDENT(STUDENT_ID, SQLCODE);
            if SQLCODE /= 0 then
                put_line("Error dropping student.  CODE is ");
                put(SQLCODE);
                return;

            else
                put_line
                 (string(LAST_NAME) & " has been dropped!");
            end if;
        else
            put_line("OK, student will not be dropped.");
        end if;

    end CALL_DROP_STUDENT;


    procedure CALL_ENROLL_STUDENT is
        CLASS_NUMBER, STUDENT_ID   : SQL_STANDARD.INT;
        LAST_NAME, FIRST_NAME      : SQL_STANDARD.CHAR(1..15);
        MI                         : SQL_STANDARD.CHAR(1..3);
        
    begin
        new_line(2);
        put_line("Enroll a student in a class.");
        new_line(2);

        GET_STANDARD_INT("  Enter student ID: ", STUDENT_ID);
        GET_STANDARD_INT("  Enter class   ID: ", CLASS_NUMBER);
        DEMOMOD.GET_STUDENT_NAME_FROM_ID(STUDENT_ID,
                                            LAST_NAME,
                                            FIRST_NAME,
                                            MI,
                                            SQLCODE);
        if SQLCODE /= 0 then
            new_line;
            put_line("That student ID does not exist.");
            put("CODE is ");
            put(SQLCODE);
            new_line;
            put_line("Recheck and try again.");
        else
            put_line
              ("  The student's name is " & string(LAST_NAME));
            put("  Enrolling...");
            DEMOMOD.ENROLL_STUDENT_IN_CLASS(CLASS_NUMBER,
                                               STUDENT_ID,
                                               SQLCODE);
            if SQLCODE /= 0 then
                new_line;
                put("Error occurred enrolling student. CODE is ");
                put(SQLCODE);
                new_line;
                put_line("Check class ID number and try again.");

            else
                put_line("done");
            end if;
        end if;
    end CALL_ENROLL_STUDENT;


    procedure CALL_SHOW_ENROLLMENT is
        COURSE_NAME                  : SQL_STANDARD.CHAR(1..38);
        INSTR_ID, SID, YEAR, QUARTER : SQL_STANDARD.INT;
        GRADE, GPA                   : SQL_STANDARD.REAL;
        GRADE_IND                    : SQL_STANDARD.SMALLINT;
        COMMENTS                     : SQL_STANDARD.CHAR(1..255);
        GRADE_COUNT, ROW_COUNT       : integer;

    begin
        new_line(2);
        put_line("Show enrollment in all courses for a student.");
        new_line(2);
        
        GET_STANDARD_INT
          ("  Enter student ID number (try 1000): ", SID);

        DEMOMOD.OPEN_GET_ENROLL_CURS(SID, SQLCODE);
        if SQLCODE /= 0 then
            new_line;
            put("Error opening cursor. CODE is ");
            put(SQLCODE);
            new_line;
            put_line("Call your database administrator.");
        else
            GPA := 0.0;
            GRADE_COUNT := 0;
            ROW_COUNT := 0;
            
            put("COURSE TITLE                            ");
            put_line("INSTR ID   YEAR    QUARTER    GRADE");
            
            loop
                DEMOMOD.GET_ENROLL_BY_STUDENT(COURSE_NAME,
                                                 INSTR_ID,
                                                 YEAR, QUARTER,
                                                 GRADE, GRADE_IND,
                                                 COMMENTS,
                                                 SQLCODE);
                if SQLCODE = 100  then
                    exit;
                elsif SQLCODE /= 0 then
                    new_line;
                    put_line("Error fetching data.  CODE is ");
                    put(SQLCODE);
                    new_line;
                    put_line("Call your database administrator.");
                    exit;
                else
                    ROW_COUNT := ROW_COUNT + 1;
                    put(string(COURSE_NAME));
                    put(INSTR_ID, width => 6);
                    put(YEAR, width => 11);
                    put(QUARTER, width => 6);
                    if GRADE_IND >= 0 then
                        GRADE_COUNT := GRADE_COUNT + 1;
                        GPA := GPA + GRADE;
                        put(GRADE, fore => 7, aft => 2, exp => 0);
                    end if;
                end if;
                new_line;
            end loop;

            if GRADE_COUNT > 0 and SQLCODE = 100 then
                new_line;
                GPA := GPA / REAL(GRADE_COUNT);
                put("Overall GPA is ");
                put(GPA, fore => 1, aft => 2, exp => 0);
            end if;
        
            DEMOMOD.CLOSE_GET_ENROLL_CURS(SQLCODE);
            if SQLCODE /= 0 then
                new_line;
                put("Error closing cursor. CODE is ");
                put(SQLCODE);
                new_line;
            end if;
        end if;

    end CALL_SHOW_ENROLLMENT;


    procedure CALL_SHOW_STUDENTS is
        LAST_NAME, FIRST_NAME        : SQL_STANDARD.CHAR(1..15);
        MI                           : SQL_STANDARD.CHAR(1..3);

        INSTR_LAST_NAME              : SQL_STANDARD.CHAR(1..15);
        INSTR_FIRST_NAME             : SQL_STANDARD.CHAR(1..15);
        INSTR_MI                     : SQL_STANDARD.CHAR(1..3);
        
        MI_IND, INSTR_MI_IND         : SQL_STANDARD.SMALLINT;
        SID, MAJOR, ADVISOR, INSTR   : SQL_STANDARD.INT;
        MAJOR_IND, ADVISOR_IND       : SQL_STANDARD.SMALLINT;
        STATUS                       : SQL_STANDARD.CHAR(1..5);
    begin
        new_line(2);
        put_line("   ----- STUDENTS CURRENTLY ENROLLED -----");
        new_line(2);
        
        put("LAST NAME      FIRST NAME     MI  ID NO  STATUS");
        put_line(" MAJOR  ADVISOR");
        DEMOMOD.OPEN_GET_STUDENTS_CURS(SQLCODE);
        if SQLCODE /= 0 then
            new_line;
            put("Error opening cursor. CODE is ");
            put(SQLCODE);
            new_line;
            put_line("Call your database administrator.");
            return;
        end if;
        
        loop
            DEMOMOD.GET_ALL_STUDENTS(LAST_NAME,
                                        FIRST_NAME,
                                        MI, MI_IND,
                                        SID, STATUS,
                                        MAJOR, MAJOR_IND,
                                        ADVISOR, ADVISOR_IND,
                                        SQLCODE);
            if SQLCODE = 100 then
                exit;
            elsif SQLCODE /= 0 then
                new_line;
                put_line("Error fetching data.  CODE is ");
                put(SQLCODE);
                new_line;
                put_line("Call your database administrator.");
                exit;
            else
                put(string(LAST_NAME));
                put(string(FIRST_NAME));
                put(string(MI));
                put(SID, width => 5);
                put("   ");
                put(string(STATUS));
                put("  ");

                if MAJOR_IND < 0 then
                    put("(NONE)");
                else
                    put(MAJOR);
                end if;
                if ADVISOR_IND = 0 then
                    DEMOMOD.GET_INSTRUCTOR_NAME_FROM_ID
                                       (ADVISOR,
                                        INSTR_LAST_NAME,
                                        INSTR_FIRST_NAME,
                                        INSTR_MI, INSTR_MI_IND,
                                        SQLCODE);
            
                    if SQLCODE = 0 then
                        put(" " & string(INSTR_LAST_NAME));
                    else
                        put("[err = ");
                        put(SQLCODE);
                        put("]");
                    end if;
                else
                    put(" (NONE)");
                end if;
            end if;
            new_line;
       end loop;

       DEMOMOD.CLOSE_GET_STUDENTS_CURS(SQLCODE);
       if SQLCODE /= 0 then
           new_line;
           put("Error closing cursor. CODE is ");
           put(SQLCODE);
           new_line;
           put_line("Call your database administrator.");
           new_line;
       end if;

    end CALL_SHOW_STUDENTS;


    procedure CALL_UPDATE_RECORD is
        SID, ADVISOR, MAJOR    : SQL_STANDARD.INT;
        GRAD_DATE              : SQL_STANDARD.CHAR(1..9);
        ADVISOR_IND, MAJOR_IND : SQL_STANDARD.SMALLINT;
        GRAD_DATE_IND          : SQL_STANDARD.SMALLINT;
        LENGTH                 : integer;
        LAST_NAME              : SQL_STANDARD.CHAR(1..20);
        FIRST_NAME             : SQL_STANDARD.CHAR(1..20);
        MI                     : SQL_STANDARD.CHAR(1..3);
        
    begin
        new_line(2);
        put_line("Update a student's records.");
        new_line(2);
        
        GET_STANDARD_INT("  Enter student ID number: ", SID);
        DEMOMOD.GET_STUDENT_NAME_FROM_ID(SID,
                                            LAST_NAME,
                                            FIRST_NAME,
                                            MI,
                                            SQLCODE);
      
        if SQLCODE /= 0 then
            new_line;
            put_line("That student ID does not exist.");
            new_line;
            put_line("Recheck and try again.");
            return;
        else
            put_line
            ("  The student's last name is " & string(LAST_NAME));
            new_line;
        end if;
        
        put("  Change major?  If so, enter new department ");
        GET_STANDARD_INT("number.  If not, enter 0: ", MAJOR);

        if MAJOR = 0 then
            MAJOR_IND := -1;
        else
            MAJOR_IND := 0;
        end if;

        put("  New advisor?  If so, enter the instructor ID ");
        GET_STANDARD_INT("number.  If not, enter 0: ", ADVISOR);

        if ADVISOR = 0 then
            ADVISOR_IND := -1;
        else
            ADVISOR_IND := 0;
        end if;

        put_line
  ("  Has the student graduated.  If so, enter date (DD-MON-YY)");
        LENGTH := 9;
        GET_STANDARD_TEXT
          ("  If not, press RETURN: ", GRAD_DATE, LENGTH);
        
        if LENGTH = 0 then
            GRAD_DATE_IND := -1;
        else
            GRAD_DATE_IND := 0;
        end if;
            
                        
        DEMOMOD.UPDATE_STUDENT(SID,
                               MAJOR, MAJOR_IND,
                               ADVISOR, ADVISOR_IND,
                               GRAD_DATE, GRAD_DATE_IND,
                               SQLCODE);
        if SQLCODE /= 0 then
            new_line;
            put("Error updating records.  Code is ");
            put(SQLCODE);
            new_line;
            put_line("Call your database administrator.");
        else
            new_line;
            put_line("Records updated. ");
        end if;

    end CALL_UPDATE_RECORD;

------------------------------------------------------------------
--------------------- main ---------------------------------------
------------------------------------------------------------------

begin

    SQLCODE_IO.default_width := 6;

    SERVICE_NAME := "inst1_alias   ";
    USERNAME     := "modtest       ";
    PASSWORD     := "yes           ";
    DEMOMOD.DO_CONNECT(SERVICE_NAME, USERNAME, PASSWORD, SQLCODE);
    if SQLCODE /= 0 then
        raise connect_error;
    end if;
    put_line("Connected to ORACLE.");
    new_line;
    MENU;

    loop
        GET_COMMAND(COM_LINE);
        case COM_LINE is
            when AC => CALL_ADD_CLASS;
            when AS => CALL_ADD_STUDENT;
            when DC => CALL_DROP_CLASS;
            when DS => CALL_DROP_STUDENT;
            when ES => CALL_ENROLL_STUDENT;
            when SE => CALL_SHOW_ENROLLMENT;
            when SS => CALL_SHOW_STUDENTS;
            when US => CALL_UPDATE_RECORD;
            when HELP => MENU;
            when QUIT | BYE => 
                skip_line;
                new_line(5);
                put("Commit all changes [yn]: ");
                LENGTH := 4;
                get_line(ANSWER, LENGTH);
                if (ANSWER(1..1) = "y") then
                    DEMOMOD.DO_COMMIT(SQLCODE);
                    put_line("Changes committed.");
                else
                    DEMO_MOD.DO_ROLLBACK;
                    put_line("Changes discarded.");
                end if;
                new_line(2);
                put_line("G'Day!");
                new_line(4);
                exit;
        end case;
    end loop;
    DEMOMOD.DO_DISCONNECT(SQLCODE);
    if SQLCODE /= 0 then
        put("Error disconnecting. SQLCODE is ");
        put(SQLCODE);
        put_line("Exiting anyway.");
    end if;
exception
    when CONNECT_ERROR =>
        put_line("Error connecting to ORACLE.");
        new_line(4);
    when SQLCODE_ERROR =>
        put("Error fetching data.  CODE is ");
        put(sqlcode);
        new_line(4);        
        DEMOMOD.DO_DISCONNECT(SQLCODE);
    when others =>
        put_line("Unhandled error occurred. Fix the program!");
        new_line(4);
        
end DEMOHOST;

DEMCALSP.A

-- demcalsp.a
--
-- Sample program that demonstrates how to call a
-- database stored procedure using the WITH INTERFACE
-- PROCEDURE clause.
--
-- The stored package is in the file GPAPKG.SQL. 

-- Include the required specs. Demomod must be included
-- since it contains the connect and disconnect procedures.

with TEXT_IO,
     SQL_STANDARD,
     GPA_PKG,
     DEMOMOD,
     FLOAT_TEXT_IO,
     INTEGER_TEXT_IO;

use  TEXT_IO,
     SQL_STANDARD,
     FLOAT_TEXT_IO,
     INTEGER_TEXT_IO;

procedure DEMCALSP is

-- Define the required I/O packages for SQL_STANDARD.
    package STD_INT_IO is
        new TEXT_IO.INTEGER_IO(SQL_STANDARD.INT);
    use STD_INT_IO;

    package SQLCODE_IO is
        new TEXT_IO.INTEGER_IO(SQL_STANDARD.SQLCODE_TYPE);
    use SQLCODE_IO;

    package STD_SMALLINT_IO is
        new TEXT_IO.INTEGER_IO(SQL_STANDARD.SMALLINT);
    use STD_SMALLINT_IO;

    package STD_FLOAT_IO is
        new TEXT_IO.FLOAT_IO(SQL_STANDARD.REAL);
    use STD_FLOAT_IO;

    STUDENT_ID        : SQL_STANDARD.INT;
    STUDENT_LAST_NAME : SQL_STANDARD.CHAR(1..15);
    NAME_IND          : SQL_STANDARD.SMALLINT;
    GPA               : SQL_STANDARD.REAL;
    PASSWORD          : SQL_STANDARD.CHAR(1..12);
    SERVICE_NAME      : SQL_STANDARD.CHAR(1..12);
    USERNAME          : SQL_STANDARD.CHAR(1..12);
    SQLCODE           : SQL_STANDARD.SQLCODE_TYPE;
    SQLSTATE          : SQL_STANDARD.SQLSTATE_TYPE;
    
    CONNECT_ERROR     : exception;
    SQLCODE_ERROR     : exception;

begin

    PASSWORD     := "yes         ";
    SERVICE_NAME := "inst1_alias ";
    USERNAME     := "modtest     ";

    DEMOMOD.DO_CONNECT(SERVICE_NAME, USERNAME, PASSWORD, SQLCODE);
    if SQLCODE /= 0 then
        raise CONNECT_ERROR;
    end if;
    new_line(2);
    put_line("Get grade point average--");
    new_line;
    
    loop
    begin
        new_line;
        put("Enter student ID number (try 1000) (0 to quit): ");
        get(STUDENT_ID);
        new_line;
        exit when STUDENT_ID = 0;

-- Call the stored procedure.
        GPA_PKG.GET_GPA_IF(STUDENT_ID, STUDENT_LAST_NAME,
                           NAME_IND, GPA, SQLSTATE, SQLCODE);
        if SQLCODE /= 0 then
            raise SQLCODE_ERROR;
        end if;

        if NAME_IND = 0 then
            new_line;
            put("Last name is " & string(STUDENT_LAST_NAME));
            put("Overall GPA is");
            put(GPA, fore => 4, aft => 2, exp => 0);
        else
            put("There is no student with ID number");
            put(STUDENT_ID, width => 5);
            new_line;
        end if;
    exception
        when SQLCODE_ERROR =>
            new_line;
            put("Error fetching data, SQLCODE is ");
            put(SQLCODE, width => 5);
    end;
    end loop;

-- Disconnect from the server.
    DEMOMOD.DO_DISCONNECT(SQLCODE);
    if SQLCODE /= 0 then
        put("Error disconnecting. SQLCODE is ");
        put(SQLCODE);
        put_line("Exiting anyhow.");
    end if;

exception
    when CONNECT_ERROR =>
        put("Error connecting to Oracle.");
        
end DEMCALSP;
PK8PqPKa9AOEBPS/cover.htmO Cover

Oracle Corporation

PK[pTOPKa9AOEBPS/ch_four.htmNy Developing the Ada Application

4 Developing the Ada Application

This chapter describes the criteria that an Ada application must meet when accessing module procedures, or when calling RPC stubs generated by SQL*Module. Topics covered include

The sample programs in this chapter are source code listings for the Module Language procedures that are called by the sample programs in Chapter 6, "Demonstration Programs", and a set of SQL statements that create and partially populate the example tables. These sources are also available online, in the demo directory.

Program Structure

The developer determines the structure of an application program that uses SQL*Module. A significant advantage that you obtain from using SQL*Module is that it imposes very few special requirements or constraints on the program design, unlike some other SQL programmatic interfaces.

The code that you write is purely in the language of the host application program. There is no need for special declare sections, embedded SQL statements, and special error handling and recovery. Database operations are mostly transparent to the application program developer, being taken care of by the Module Language or PL/SQL stored procedures.

There are, however, some SQL concepts of which the host application developer must be aware

Error Handling

Each Module Language procedure that is called from the host application must contain a parameter that returns status information to the application. There are two status parameters that you can use: SQLCODE and SQLSTATE. SQLCODE returns an integer value, while SQLSTATE returns a five-character string that contains an alphanumeric code.

SQLCODE is provided for compatibility with applications written to the 1989 SQL standards; new applications should use the SQLSTATE parameter.

When calling stored database procedures through an RPC stub, you include SQLCODE or SQLSTATE in the parameter list of the WITH INTERFACE clause in the procedure's package specification. See "The WITH INTERFACE Clause".

SQLCODE

SQLCODE is an output parameter that can be included in a module procedure, and in the WITH INTERFACE clause in PL/SQL stored package specifications. SQLCODE returns a value that indicates whether a procedure completed successfully, completed with warnings, or did not complete due to an error.

SQLCODE returns three kinds of values:

0

Indicates that the procedure completed with no errors or warnings.

< 0

Indicates that an error occurred during execution of the procedure.

+100

Indicates that a SQL statement did not find a row on which to operate.

Negative SQLCODE values are Oracle message numbers. See the Oracle Database Error Messages manual for a complete list of Oracle codes and their accompanying messages. See the next section, "SQLSTATE", for mappings between Oracle error numbers and SQLSTATE values.

Obtaining Error Message Text

The procedure error_message in the public package oracle_sqllib was introduced in release 8.0. This procedure obtains the text associated with the SQLCODE of the latest error returned. The prototypes are (with and without a runtime context):

procedure ERROR_MESSAGE (ctx oracle_sqllib.sql_context,
                         msg_buf system.address,
                         msg_buf_len sql_standard.int);

and:

procedure ERROR_MESSAGE (msg_buf:out     system.address,
                         msg_buf_len:out sql_standard.int);

SQLSTATE

SQLSTATE is a five-character alphanumeric output parameter that indicates the completion status of the procedure. It is declared as SQL_STANDARD.SQLSTATE_TYPE.

SQLSTATE status codes consist of a two-character class code followed by a three-character subclass code. Aside from the class code 00 ("successful completion"), the class code denotes the category of the exception. Also, aside from the subclass code 000 ("not applicable"), the subclass code denotes a specific exception within that category. For example, the SQLSTATE value '22012' consists of class code 22 ("data exception") and subclass code 012 ("division by zero").

Each of the five characters in a SQLSTATE value is a digit (0..9) or an uppercase Latin letter (A..Z). Class codes that begin with a digit in the range 0..4 or a letter in the range A..H are reserved for the predefined conditions (those defined in the SQL92 specification). All other class codes are reserved for implementation-defined sub-conditions. All other subclass codes are reserved for implementation-defined sub-conditions. Table 4-1 shows the coding scheme.

Table 4-1 Predetermined Classes

ClassCondition

02

no data

07

dynamic SQL error

08

connection exception

0A

feature not supported

21

cardinality violation

22

data exception

23

integrity constraint violation

24

invalid cursor state

25

invalid transaction state

26

invalid SQL statement name

27

triggered data change violation

28

invalid authorization specification

2A

direct SQL syntax error or access rule violation

2B

dependent privilege descriptors still exist

2C

invalid character set name

2D

invalid transaction termination

2E

invalid connection name

33

invalid SQL descriptor name

34

invalid cursor name

35

invalid condition number

37

dynamic SQL syntax error or access rule violation

3C

ambiguous cursor name

3D

invalid catalog name

3F

invalid schema name

40

transaction rollback

42

syntax error or access rule violation

44

with check option violation

HZ

remote database access



Note:

The class code HZ is reserved for conditions defined in International Standard ISO/IEC DIS 9579-2, Remote Database Access.

Appendix D, "SQLSTATE Codes" shows how Oracle errors map to SQLSTATE status codes. In some cases, several Oracle errors map to a status code. In other cases, no Oracle error maps to a status code (so the last column is empty). Status codes in the range 60000 .. 99999 are implementation-defined.

Obtaining the Number of Rows Processed

Starting with release 8.0, the function rows_processed, in the public package oracle_sqllib, returns the number of rows processed by the last SQL statement.

The prototypes are:

function ROWS_PROCESSED return integer;

and

function ROWS_PROCESSED (ctx oracle_sqllib.sql_context) return integer;

where the context, ctx, has been allocated previously.

Handling Nulls

A database column or a SQL expression can have a value, or it can have a special status called null. A null means the absence of a value. A numeric value or a special string encoding cannot be used to indicate a null, since all allowable numeric or string values are reserved for actual data. In a SQL*Module application, you must use an indicator variable to test a returned value for a null, or to insert a null into a database column.


Note:

The term indicator variable is also referred to as an indicator parameter when discussing a variable being passed to or retrieved from a procedure.

Indicator Variables

From the host language point of view, an indicator variable is a small integer that is passed to a procedure. In the SQL statement of the procedure, the indicator is associated with the corresponding host parameter. For example, the Module Language procedure performs a simple one-row SELECT (the host parameter in the WHERE clause is assumed to be a primary key):

PROCEDURE get_commission ( 
                      :commission   REAL, 
                      :comm_ind     SMALLINT, 
                      :emp_number   INTEGER, 
                       SQLSTATE); 
   SELECT comm INTO :commission INDICATOR :comm_ind 
      FROM emp WHERE empno = :emp_number; 

In an Ada application, you call this procedure and test for a possible null in the returned COMMISSION as follows:

EMPNO := 7499; 
GET_COMMISSION (COMMISSION, COMM_INDICATOR, EMPNO, SQLSTATE); 
if COMM_INDICATOR < 0 then 
    PUT_LINE("Commission is null."); 
else 
    PUT("Commission is "); 
    PUT(COMMISSION); 
    NEW_LINE; 
end if; 

So if an indicator variable is less than zero when a procedure returns, the associated host parameter has an undefined value.

You can also associate indicator variables with input parameters, for column values that are used to insert a new row into a table, or update an existing row. If the value in the indicator variable is greater than or equal to zero, the value in the associated parameter is used as the input value. If the indicator variable is set to -1, the value in the associated parameter is ignored, and a null is inserted as the column value.

For example, the following module procedure inserts a new row into an inventory table:

PROCEDURE new_part ( 
        :part_no     INTEGER, 
        :description CHAR(200), 
        :bin_number  INTEGER, 
        :bin_no_ind  SMALLINT, 
         SQLSTATE); 
 
   INSERT INTO inventory (part_number, description, bin_no) 
       VALUES (:part_no, :description, 
               :bin_number INDICATOR :bin_no_ind); 

When you call this procedure with the parameter bin_no_ind set to -1, any value in the parameter bin_number is ignored, and a null is inserted into the BIN_NO column of the table.

If the host language parameter is a character type, and has an associated indicator variable, a returned indicator value greater than zero indicates that the returned value was truncated. The value of the indicator is the original (un-truncated) length, in bytes, of the column or expression value.

Cursors

Programs that retrieve data from a table can work in two different ways. In one case, a query might be constructed that expects either one row of data to be returned, or no row. For example, if the program performs a request such as ''give me the name of the employee whose employee number is 7499", where the employee number is a primary key of the table (and hence, by definition, unique), the request either returns the name of the employee whose employee number is 7499, or returns an indication that no such employee exists in the table.

If no employee exists with that number, the query procedure returns a ''no data found" indication in the SQLCODE or SQLSTATE parameter.

For Oracle to process any SQL statement, a cursor is required. However, SQL*Module implicitly defines a cursor for INSERT, UPDATE, and DELETE statements, as well as SELECT statements.

However for queries that can return multiple rows, an explicit cursor must be defined in the module or stored package to fetch all the rows. You can use static cursors, or cursor variables. See "Cursors" for a description of cursor variables.

See the code in "Module Language Sample Program" for several examples that use explicit cursors.

Specification Files

The SQL*Module compiler generates specification files. These are text files that contain declarations for the module or interface procedures that SQL*Module generates.

You must include the specification file directly in the source of your host application. The name of the specification file is the base name of the Module Language output file for SQL*Module, with a system-specific extension. These extensions are documented in "Specification File".

In Ada applications, you must compile the specification file (or files) that SQL*Module generates. You then include the specification for the module procedures or stubs in each application that calls module procedures or stubs using the with context clause.

The naming of specification files is discussed in detail in Chapter 6, "Demonstration Programs".

Calling a Procedure

You call procedures generated by SQL*Module using the normal procedure call format of the host language. Procedures can only return values in parameters, including the SQLCODE and SQLSTATE parameters. The generated procedures are not functions.

Arrays as Procedure Arguments

SQL*Module supports array bind and define variables as arguments to procedures and functions:

PROCEDURE foo (:arrname ARRAY(n) OF type, SQLCODE);

where n is the size of arrname, and type is listed in "Globalization Support".

For example:

PROCEDURE selempno (:eno ARRAY(14) of INTEGER, SQLCODE);
   SELECT empno INTO :eno FROM emp;

Note:

Host arrays are allowed in SELECT, FETCH, INSERT, UPDATE and DELETE statements only.

Restrictions:

1. Arrays may not be specified when RPC_GENERATE=yes or STORE_PACKAGE=yes. See "Stored Packages" for more information. See both these command-line options in Chapter 5, "Running SQL*Module".

2. The maximum dimension of an array is 32000

3. SQL*Module does not allow multi-dimension arrays.

Globalization Support

Not all writing systems can be represented using the 7-bit or 8-bit ASCII character set. Some languages require multibyte character sets. Also, countries have different ways of punctuating numbers, and representing dates and currency symbols.

Oracle provides Globalization Support, which lets you process single-byte and multibyte character data and convert between character sets. It also lets your applications run in different language environments. With Globalization Support, number and date formats adapt automatically to the language conventions specified for a user session. Thus, Globalization Support allows users around the world to interact with Oracle in their native languages.

You control the operation of language-dependent features by specifying various Globalization Support parameters. Default values for these parameters can be set in the Oracle initialization file. The following table shows what each Globalization Support parameter specifies:

Globalization Support ParameterSpecifies ...
NLS_LANGUAGElanguage-dependent conventions
NLS_TERRITORYterritory-dependent conventions
NLS_DATE_FORMATdate format
NLS_DATE_LANGUAGElanguage for day and month names
NLS_NUMERIC_CHARACTERSdecimal character and group separator
NLS_CURRENCYlocal currency symbol
NLS_ISO_CURRENCYISO currency symbol
NLS_SORTsort sequence

The main parameters are NLS_LANGUAGE and NLS_TERRITORY. NLS_LANGUAGE specifies the default values for language-dependent features, which include

NLS_TERRITORY specifies the default values for territory-dependent features, which include

You can control the operation of language-dependent Globalization Support features for a user session by specifying the parameter NLS_LANG as follows:

NLS_LANG = <language>_<territory>.<character set> 

where language specifies the value of NLS_LANGUAGE for the user session, territory specifies the value of NLS_TERRITORY, and character set specifies the encoding scheme used for the terminal. An encoding scheme (usually called a character set or code page) is a range of numeric codes that corresponds to the set of characters a terminal can display. It also includes codes that control communication with the terminal.

You define NLS_LANG as an environment variable (or the equivalent on your system). For example, on UNIX using the C shell, you might define NLS_LANG as follows:

setenv NLS_LANG French_Canadian.WE8ISO8859P1 

SQL*Module fully supports all the Globalization Support features that allow your applications to process multilingual data stored in an Oracle Database version 8 database. For example, you can run a SQL*Module-derived client application that interacts with a remote server, where the client and the server are using different character sets, possibly with a different number of bytes each character. In these contexts, remember that specification of the lengths of string types, such as the SQL datatype CHARACTER(N), is always specified in bytes, not characters.

You can even pass Globalization Support parameters to the TO_CHAR, TO_DATE, and TO_NUMBER functions. For more information about Globalization Support, see the Oracle Database Advanced Application Developer's Guide.

PKZSyNyPKa9AOEBPS/title.htmJ Oracle SQL*Module for Ada Programmer's Guide, 11g Release 2 (11.2)

Oracle® SQL*Module for Ada

Programmer's Guide

11g Release 2 (11.2)

E10827-01

July 2009


Oracle SQL*Module for Ada Programmer's Guide, 11g Release 2 (11.2)

E10827-01

Copyright © 2001, 2009, Oracle and/or its affiliates. All rights reserved.

Primary Author: Simon Watt

Contributing Author: Shiladitya Guha

Contributor: Subhranshu Banerjee

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 software or related documentation 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 USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

This software 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 which may create a risk of personal injury. If you use this software in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure the safe use of this software. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software in dangerous applications.

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

This software 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.

PK2OOJPKa9AOEBPS/appc.htm Reserved Words

C Reserved Words

The words listed in this appendix are reserved by Oracle or by SQL*Module. For PL/SQL reserved words, see Oracle Database PL/SQL Language Reference.

Module Reserved Words

The following words are reserved by Oracle and by SQL*Module. You cannot use them to name a module, nor to name cursors, procedures, or procedure parameters in a module.

ADA, ARRAY, ALL, ALLOCATE, ALTER, AND, ANGLE_BRK, ANSIC, ANY, AREASIZE, ARRAYLEN, AS, ASC, AT, AUDIT, AUTHORIZATION, AUTO, AVG, BEGIN, BETWEEN, BIND, BREAK, BY, C, CASE, CAT, CHAR, CHARACTER, CLOSE, COBOL, CODE, COMMENT, COMMIT, CONNECT, CONNECTION, CONTEXT, CONST, CONTINUE, CREATE, CURRENT, CURRVAL, CURSOR, DATABASE, DATE, DEC, DECI, DECIMAL, DECLARE, DEFAULT, DEFINE, DEFINED, DELETE, DESC, DESCRIBE, DESCRIPTOR, DISCONNECT, DISPLAY, DISTINCT, DO, DOUBLE, DROP, ELSE, ENABLE, END, ENDEXEC, ENDIF, ENUM, ERRORS, ESCAPE, EXCLUSIVE, EXEC, EXECUTE, EXECORACLE, EXECORACLEELSE, EXECORACLEENDIF, EXECSQL, EXECSQLBEGIN, EXECSQLEND, EXECSQLTYPE, EXECSQLVAR, EXECUTE, EXISTS, EXTERN, FETCH, FIPS, FLOAT, FOR, FORCE, FORTRAN, FOUND, FREE, FROM, FULL, FUNCTION, GET, GO, GOTO, GRANT, GROUP, HAVING, HOLDCURSOR, IAF, IDENTIFIED, IF, IFDEF, IFNDEF, IMMEDIATE, IN, INCLUDE, INCSQL, INDICATOR, INSERT, INT, INTEGER, INTERSECT, INTO, IS, ISOLATION, KRC, LANGUAGE, LEVEL, LIKE, LIMITED, LIST, LOCK, LOCKLONG, MAX, MAXLITERAL, MAXOPENCURSORS, MIN, MINUS, MOD, MODE, MODULE, NEXTVAL, NO, NOAUDIT, NONE, NOT, NOTFOUND, NOWAIT, NULL, NUMBER, NUMERIC, OF, ONLY, OPEN, OPTION, OR, ORACA, ORACLE, ORACLE_C, ORDER, PACKAGE, PASCAL, PLI, PRECISION, PREPARE, PRIOR, PROCEDURE, PUT, RAW, READ, REAL, REBIND, REENTRANT, REFERENCE, REGISTER, RELEASE, RELEASE_CURSOR, REM, RENAME, RETURN, REVOKE, ROLLBACK, ROW, ROWID, ROWNUM, SAVEPOINT, SECTION, SEGMENT, SELECT, SELECTERROR, SEMANTICS, SERIALIZABLE, SET, SHARE, SHORT, SIGNED, SIZEOF, SMALLINT, SOME, SQL, SQL2, SQL89, SQLCHECK, SQLCODE, SQLERRM, SQLERROR, SQLROWS, SQLSTATE, SQLWARNING, SQL_CONTEXT, SQL_CURSOR, START, STATEMENT, STATIC, STDDEV, STOP, STRING, STRUCT, SUM, SWITCH, SYNTAX, SYSDATE, TABLE, THREADS, TO, TRANSACTION, TYPEDEF, UID, UNDEF, UNION, UNIQUE, UNSIGNED, UPDATE, USE, USER, USING, VALIDATE, VALUES, VARCHAR, VARCHAR2, VARIABLES, VARIANCE, VARNUM, VARRAW, VARYING, VOID, VOLATILE, WHEN, WHENEVER, WHERE, WHILE, WITH, WORK, WORKWRITE, WRITE, XOR_EQ, XOR_WQ, YES

PK:;PKa9AOEBPS/ch_three.htm Accessing Stored Procedures

3 Accessing Stored Procedures

This chapter describes how to use SQL*Module to generate interface procedures to call stored procedures. It covers the following topics:


Note:

The examples in this chapter use the tables defined in Chapter 6, "Demonstration Programs".

PL/SQL

This section contains a brief overview of PL/SQL, Oracle's procedural language extension to SQL. PL/SQL is a modern block-structured language that enables you to

See the Oracle Database PL/SQL Language Reference for complete information about the PL/SQL language.

Procedures

A PL/SQL procedure is a named PL/SQL block. Unlike an anonymous block, a procedure can

  • take parameters

  • be invoked from a separate application

  • be compiled once, but invoked many times

  • be stored in compiled form in a database, independent of the shared SQL cache

A procedure contains one or more PL/SQL blocks. The following example computes the grade point average. The student ID number is passed as a parameter to the procedure, and the computed grade point average is returned by the procedure.

PROCEDURE get_gpa( 
             student_id IN NUMBER,
             gpa        OUT NUMBER) IS 
    n                NUMBER; 
    grade_temp       NUMBER; 
    gpa_temp         NUMBER; -- needed because PL/SQL cannot read
                             -- an OUT parameter like GPA
    CURSOR c1(sid) IS 
        SELECT grade FROM enrollment
            WHERE student_id = sid;

    BEGIN
        n := 0;
        gpa := 0;
        OPEN c1(student_id);
        LOOP 
            FETCH c1 INTO grade_temp; 
            EXIT WHEN c1%NOTFOUND;     -- c1%NOTFOUND is TRUE 
                                       -- when no more data found 
            gpa_temp := gpa_temp + grade_temp; 
            n := n + 1; 
        END LOOP; 
        IF n > 0 THEN 
            gpa := gpa_temp / n; 
        END IF; 
        CLOSE c1; 
    END; 
END PROCEDURE get_gpa; 

The procedure declaration adds a parameter list to the PL/SQL block. In this example, student_id is a parameter whose mode is IN. The mode of a parameter indicates whether the parameter passes data to a procedure (IN), returns data from a procedure (OUT), or can do both (IN OUT). The parameter gpa is an OUT parameter. It returns a value, but you cannot use it to pass a value to the procedure. Nor can you read its value inside the procedure, even after a value has been assigned to it.

Stored Procedures

You can store PL/SQL procedures in the database, and call these stored procedures from Oracle applications. Storing a procedure in the database offers many advantages. Only one copy of the procedure needs to be maintained; it is in the database, and it can be accessed by many different applications. This considerably reduces maintenance requirements for large applications. A stored procedure is not recompiled each time it is called.

You can store procedures in the database by using Oracle tools such as SQL*Plus. You create the source for the procedure using your text editor, and execute the source using SQL*Plus (for example, with the @ operator). When you input the source, use the CREATE PROCEDURE command. (You can also use CREATE OR REPLACE PROCEDURE, to replace an already stored procedure of the same name.)

See the Oracle Database Reference for complete information about the CREATE PROCEDURE command.

Stored Packages

The examples of stored procedures shown so far in this chapter involve standalone procedures (sometimes called top-level procedures). These are useful in small applications. However, to gain the full power of stored procedures, you should use packages.

A package encapsulates procedures, as well as other PL/SQL objects. Stored packages that are used with Ada applications have two parts: a package specification and a package body. The specification is the (exposed) interface to the host application; it declares the procedures that are called by the application. A complete PL/SQL package specification can also declare functions, as well as other PL/SQL objects such as constants, variables, and exceptions. However, an Ada application using SQL*Module cannot access or reference PL/SQL objects other than subprograms. The package body contains the PL/SQL code that defines the procedures and other objects that are declared in the package specification.

Although an Ada application can only access public subprograms, a called subprogram can in turn call private subprograms, and can access public and private variables and constants in the package.

For complete information about stored packages, see the Oracle Database PL/SQL Language Reference.

Accessing Stored Procedures

You can use SQL*Module to provide a bridge that enables your host application to access procedures stored in the database. A host application written in Ada cannot call a stored database subprogram directly. But you can use SQL*Module to construct an interface procedure ("stub'') that calls the stored database subprogram. shows, in schematic form, how this process works.

Figure 3-1 Accessing a Stored Procedure

Description of Figure 3-1 follows
Description of "Figure 3-1 Accessing a Stored Procedure"

In this example, there is a procedure stored in the database called enroll. The PL/SQL source code that created the procedure is shown in the right-hand box. The WITH INTERFACE clause in the procedure is described in the section "The WITH INTERFACE Clause". The procedure has two database parameters: class_no and student_id. The SQLCODE error return parameter is added in the interfacing clause.

Case of Package and Procedure Names

The Oracle Server always translates the names of database objects to uppercase when they are inserted into the database. This includes the names of packages and procedures. For example, if you are loading a package into the database in the SCOTT schema, and have a PL/SQL source file that contains the line

CREATE PACKAGE school_records AS ...

then Oracle inserts the name into the schema as SCHOOL_RECORDS, not the lowercase ''school_records''. The following SQL*Module command (in UNIX)

modada rpc_generate=yes pname=school_records userid=scott

generates an error, since there is no package named ''school_records'' in the schema.

If you prefer to have your package and procedure names stored in lowercase in the database, you must quote all references to the name in the PL/SQL source file, or as you insert them into the database using SQL*Plus. So, you would code

CREATE PACKAGE "school_records" AS ...

Note also that SQL*Module preserves the case of subprogram names when creating interface procedure files.

However, if you really do want uppercase names, some operating systems (OPEN VMS is an example) require that you quote the name when you specify it on the command line. So, you would enter the command as

modada rpc_generate=yes pname="SCHOOL_RECORDS" user=scott

See your system-specific Oracle documentation, and your operating system documentation, for additional information on case conventions for command lines that are in effect for your operating system.

Early and Late Binding

When you generate RPCs (remote procedure calls) using SQL*Module, you have a choice of early binding or late binding. Your choice of early or late binding is controlled by the BINDING option.

When you choose early binding, SQL*Module generates a call to the procedure stored in the database, and also uses a time stamp that is associated with the call. The time stamp records the date and time (to the nearest second) that the stored procedure was last compiled. The time stamp is created by the Oracle database. If a host application calls the stored procedure through the interface procedure, and the time stamp recorded with the interface procedure is earlier than the time stamp on the stored procedure recorded in the database, an error is returned to the host application in the SQLCODE or SQLSTATE status parameter. The SQLCODE error is 4062 "time stamp of name has been changed".

The late binding option, on the other hand, does not use a time stamp. If your application calls a stored procedure that has been recompiled since SQL*Module generated the interface procedure, no error is returned to the application.

With late binding, SQL*Module generates the call to the stored procedure using an anonymous PL/SQL block. The following example shows a specification for a stored procedure that is part of a package in the SCOTT schema:

PACKAGE emppkg IS 
 
     PROCEDURE get_sal_comm (emp_num     IN   NUMBER, 
                             salary      OUT  NUMBER, 
                             commission  OUT  NUMBER) 
     WITH INTERFACE
     PROCEDURE get_sal_emp  ( 
                              emp_num     INTEGER, 
                              salary      REAL, 
                              commission  REAL INDICATOR comm_ind, 
                              comm_ind    SMALLINT, 
                              SQLCODE); 
END emppkg; 

If you generate an RPC interface procedures output file for the package using the command

modada pname=EMPPKG rpc_generate=yes binding=late userid=scott/tiger 

SQL*Module generates a call in the output file, as follows:

With Oracle_Sqllib; use Oracle_Sqllib;
with SQL_STANDARD;
Package EMPPKG is
 
procedure GET_SAL_EMP(EMPNUM: in sql_standard.int;
 SALARY: out sql_standard.real;
 COMMISION: out sql_standard.real;
 COMM_IND: out sql_standard.smallint;
 SQLCODE: out sql_standard.sqlcode_type);
sql_001 : constant string :=
"begin ""EMPPKG.SCOTT""." &
    """GET_SAL_COMM""(:EMPNUM, :SALARY, :COMMISION:COMM_IND); end;";
 
end EMPPKG;
... 

In other words, the call to the stored procedure get_sal_comm is performed using an anonymous PL/SQL block. This is the way stored procedures are called from an Oracle precompiler or Oracle Call Interface application.

The advantages of late binding are

The disadvantages of late binding are

Use the BINDING={EARLY | LATE} command line option to select early or late binding when generating RPC interface procedures. See Chapter 5, "Running SQL*Module" for a description of this and other command line options.

Cursor Variables

You can use cursor variables in your application. A cursor variable is a reference to a cursor that is defined and opened on the Oracle Database version 8 server. See the Oracle Database PL/SQL Language Reference for complete information about cursor types.

The advantages of cursor variables are

Cursor Variable Parameters

You define a cursor variable parameter in your module by using the type SQL_CURSOR. For example:

PROCEDURE alloc_cursor (
        SQLCODE,
        :curs SQL_CURSOR);

In this example, the parameter curs has the type SQL_CURSOR.

Allocating a Cursor Variable

You must allocate the cursor variable by using the Module Language command ALLOCATE. For example, to allocate the SQL_CURSOR curs that is the formal parameter in the example, you write the statement:

ALLOCATE :curs;

Note:

You use the ALLOCATE command only for cursor variables. You do not need to use it for standard cursors.

Opening a Cursor Variable

You must open a cursor variable on the Oracle Server. You cannot use the OPEN command that you use to open a standard cursor to open a cursor variable. You open a cursor variable by calling a PL/SQL stored procedure that opens the cursor (and defines it in the same statement).

For example, consider the following PL/SQL package, stored in the database:

CONNECT scott/tiger
 
CREATE OR REPLACE PACKAGE cursor_var_pkg AS
 
    TYPE emp_record_type IS RECORD (ename EMP.ename%TYPE;); 
    TYPE curtype IS REF CURSOR RETURN emp_record_type;
 
    PROCEDURE OPEN1(cur1 IN OUT curtype)
    WITH INTERFACE
    PROCEDURE 
           OPEN1 (SQLCODE integer, cur1 SQL_CURSOR);
 
end cursor_var_pkg;
 
CREATE OR REPLACE PACKAGE BODY cursor_var_pkg AS
 
    PROCEDURE OPEN1(cur1 IN OUT curtype) IS
    BEGIN
        OPEN cur1 FOR SELECT ename FROM emp_view;
    END;
END cursor_var_pkg;
 
COMMIT;

After you have stored this package, and you have generated the interface procedures, you can open the cursor curs by calling the OPEN1 stored procedure from your Ada driver program. You can then call module procedures that FETCH the next row from the opened cursor. For example:

PROCEDURE fetch_from_cursor (
    SQLCODE,
    :curs SQL_CURSOR,
    :emp_name VARCHAR2(11));
 
  FETCH :curs INTO :emp_name;

In your driver program, you call this procedure to fetch each row from the result defined by the cursor. When there is no more data, the value +100 is returned in SQLCODE.


Note:

When you use SQL*Module to create the interface procedure to call the stored procedure that opens the cursor variable, you must specify BINDING=LATE. Early binding is not supported for cursor variables in this release.

Opening in a Stand-alone Stored Procedure

In the example, a cursor type was defined inside a package, and the cursor was opened in a procedure in that package. But it is not always necessary to define a cursor type inside the package that contains the procedures that open the cursor.

If you need to open a cursor inside a standalone stored procedure, you can define the cursor in a separate package, then reference that package in the standalone stored procedure that opens the cursor. Here is an example:

PACKAGE dummy IS
    TYPE EmpName IS RECORD (name VARCHAR2(10));
    TYPE emp_cursor_type IS REF CURSOR RETURN EmpName;
END;
-- and then define a standalone procedure:
PROCEDURE open_emp_curs (
      emp_cursor IN OUT dummy.emp_cursor_type;
      dept_num   IN     NUMBER) IS
    BEGIN
        OPEN emp_cursor FOR
            SELECT ename FROM emp WHERE deptno = dept_num;
    END;
END;

Return Types

When you define a reference cursor in a PL/SQL stored procedure, you must declare the type that the cursor returns. See the Oracle Database PL/SQL Language Reference for complete information on the reference cursor type and its return types.

Closing a Cursor Variable

Use the Module Language CLOSE command to close a cursor variable. For example, to close the emp_cursor cursor variable that was OPENed in the examples, use the statement

CLOSE :emp_cursor;

Note that the cursor variable is a parameter, and so you must precede it with a colon.

You can reuse ALLOCATEd cursor variables. You can OPEN, FETCH, and CLOSE as many times as needed for your application. However, if you disconnect from the server, then reconnect, you must reallocate cursor variables.

Restrictions on Cursor Variables

The following restrictions apply to the use of cursor variables:

1. You can only use cursor variables with the commands:

  • ALLOCATE

  • FETCH

  • CLOSE

2. The DECLARE CURSOR command does not apply to cursor variables.

  • You cannot FETCH from a CLOSEd cursor variable.

  • You cannot FETCH from a non-ALLOCATEd cursor variable.

  • Cursor variables cannot be stored in columns in the database.

  • A cursor variable itself cannot be declared in a package specification. Only the type of the cursor variable can be declared in the package specification.

  • A cursor variable cannot be a component of a PL/SQL record.

Dynamic SQL

Dynamic SQL is the capability of executing SQL commands that are stored in character string variables. The package DBMS_SQL parses data definition language (DDL) and Data Manipulation (DML) statements at runtime. DBMS_SQL has functions such as OPEN_CURSOR, PARSE, DEFINE_COLUMN, EXECUTE, FETCH_ROWS, COLUMN_VALUE, and so on. Use these functions in your program to open a cursor, parse the statement, and so on.

For more details on this package, see Oracle Database Advanced Application Developer's Guide

The WITH INTERFACE Clause

The stored procedure format in the previous section can be used for stored procedures that are to be called from applications written using Oracle tools. For example, a SQL*Plus script can call the GET_GPA procedure in "Procedures" just as it is written.

You can code a WITH INTERFACE clause, or you can let SQL*Module generate a default WITH INTERFACE clause for stored procedures that have been stored without this clause.

This clause, when added to a procedure declaration in the package specification, lets you add parameters that are essential to perform an RPC to a PL/SQL procedure, through a calling interface procedure in the output file. In addition, the WITH INTERFACE clause uses SQL datatypes, not the PL/SQL datatypes that are used in the stored procedure definition. The additional features of the WITH INTERFACE clause are

Note: The procedures names that you code in WITH INTERFACE clauses must be unique within the entire application. If you let SQL*Module generate default WITH INTERFACE, then overloaded procedure names are resolved using an algorithm described in "MAPPING".

Arrays are not allowed in WITH INTERFACE clauses.

Examples

The following package declaration shows how you use the WITH INTERFACE clause to map PL/SQL datatypes to SQL datatypes, and add the SQLCODE or SQLSTATE status parameters. Status parameters are filled in automatically as the procedure executes. They are not directly accessible within the procedure body.

CREATE or REPLACE PACKAGE gpa_pkg AS 
  PROCEDURE get_gpa (student_id  IN  NUMBER, 
                     gpa         OUT NUMBER) 
  WITH INTERFACE
  PROCEDURE get_gpa_if 
                     (student_id  INTEGER, 
                      gpa         REAL, 
                      SQLCODE     INTEGER 
                      SQLSTATE    CHARACTER(6)); 
... 

The interface procedure name specified in the WITH INTERFACE clause can be the same as the name of the procedure itself, or, as in this example, it can be different. However, the name specified in the WITH INTERFACE clause is the name that must be used when you invoke the stored procedure from your host application.

In the example, the datatypes in the WITH INTERFACE clause are SQL datatypes (INTEGER and REAL). These types are compatible with the PL/SQL datatype NUMBER.

You must include either a SQLCODE or a SQLSTATE parameter in the parameter list of the WITH INTERFACE clause. You can include both. SQLSTATE is the recommended parameter; SQLCODE is provided for compatibility with the SQL89 standard.


Note:

Parameters in the PL/SQL procedure specification cannot be constrained. Parameters in the WITH INTERFACE clause must be constrained where required.

The following package definition shows an example of the WITH INTERFACE clause:

CREATE OR REPLACE PACKAGE gpa_pkg AS 
 
  PROCEDURE get_gpa(student_id        IN     NUMBER, 
                    student_last_name IN OUT CHARACTER, 
                    gpa               OUT    NUMBER) 
  WITH INTERFACE
  PROCEDURE get_gpa_if 
                   (student_id        INTEGER, 
                    student_last_name CHARACTER(15) 
                                      INDICATOR sname_ind, 
                    sname_ind         SMALLINT, 
                    gpa               REAL, 
                    SQLSTATE          CHARACTER(6), 
                    SQLCODE           INTEGER); 
END; 

In the example, the student_last_name parameter is a CHARACTER, which is both a PL/SQL and a SQL datatype. In the PL/SQL part of the procedure definition, the parameter must be unconstrained, following the syntax of PL/SQL. But in the WITH INTERFACE clause, you must specify the length of the parameter.

The student_last_name parameter also takes an indicator parameter, using the syntax shown. See Appendix B for the formal syntax of the WITH INTERFACE clause.

SQL Datatypes

The SQL datatypes that you can use in the WITH INTERFACE clause are listed in , along with their compatible PL/SQL datatypes.

Table 3-1 SQL Datatypes

NUMBER

SQL DatatypesRange or SizeSQL MeaningCompatible PL/SQL Datatypes

CHARACTER (N) OR CHAR (N)

1 < N < 32500 bytes

String of length N (if N is omitted, N is effectively 1)

VARCHAR2(N), CHAR(N), DATE

DOUBLE PRECISION

Implicit precision 38

Approximate numeric type

NUMBER

INTEGER

or INT

System specific

Integer type

NUMBER, BINARY_INTEGER

SMALLINT

System specific

Small (or short) integer type

NUMBER, BINARY_INTEGER

REAL

System-specific

Approximate numeric type

VARCHAR2(N)

1 < N <32500 bytes

Character array of length N

VARCHAR2(N),

CHAR(N),DATE

SQL_CURSOR


Cursor variable type

REF cursor



Note:

SQL datatypes compatible with NUMBER are also compatible with types derived from NUMBER, such as REAL.

The size of integer and small integer types is system specific. For many systems, integers are 32 bits wide and small integers are 16 bits, but check your system documentation for the size on your system.


DATE Datatype

SQL*Module does not directly support the Oracle DATE datatype. You can, however, use character strings when you fetch, select, update, or insert DATE values. Oracle does the conversion between internal DATEs and character strings. See the Oracle Database Reference for more information about the DATE datatype, and conversion between DATEs and character strings.

The Default WITH INTERFACE Clause

If a package has already been defined in the database with no WITH INTERFACE clauses for the subprograms, you can still generate interface procedures to call the subprograms. The default WITH INTERFACE clause that is generated by SQL*Module when there is no WITH INTERFACE clause in the package or procedure gives you all the features of the standard WITH INTERFACE clause:

  • the SQLCODE error handling parameter

  • the SQLSTATE error handling parameter

  • indicator parameters

  • datatype mapping between PL/SQL base and derived datatypes and SQL types

Procedures

When SQL*Module generates an interface procedure with a default WITH INTERFACE clause, it generates a SQLCODE parameter in the first parameter position, and a SQLSTATE parameter in the second position. Then, for each actual parameter in the stored procedure or stored function, a parameter is generated with the appropriate mapped host language datatype. Each parameter is followed by an indicator parameter, mapped to the correct host language type from the SQL datatype SMALLINT.

Functions

If SQL*Module is generating a default WITH INTERFACE clause for functions in a package, then the WITH INTERFACE clause is generated as if the function were a procedure, with the return value and its indicator parameter as the last two parameters in the clause.

Table 3-2 shows how predefined, or base, PL/SQL datatypes are mapped to SQL datatypes, and then to host language datatypes. PL/SQL subtypes that are derived from the base types are also supported, and are mapped as indicated for the base type.

Table 3-2 Mapping PL/SQL Datatypes to SQL Datatypes

PL/SQL DatatypeAda Language Datatype

BINARY INTEGER

SQL_STANDARD.INT

NUMBER

NUMBER(P,S)

SQL_STANDARD.

DOUBLE_PRECISION

RAW

LONG RAW

STRING

LONG

STRING

BOOLEAN

SQL_STANDARD.INT

CHAR

SQL_STANDARD.CHAR

VARCHAR2

STRING

DATE

SQL_STANDARD.CHAR

ROWID

STRING

CURSOR

ORACLE_SQLLIB.SQL_CURSOR



Note:

The maximum length for the following data types are:
  • For STRING is 32500 bytes

  • For DATE is 2048 bytes

  • For ROWID and MLSLABEL is 256 bytes


Suppose, for example, that a procedure stored in the SCOTT schema has the parameter list

PROCEDURE proc1 (
        PARAM1 IN     NUMBER,
        PARAM2 IN OUT DATE,
        PARAM3    OUT DOUBLE PRECISION,
        PARAM4        CHARACTER,
        PARAM5        BINARY_INTEGER)

If you run the module compiler, modada, as follows:

modada pname=PROC1 rpc_generate=yes user=scott/tiger oname=proc1

then the Ada procedure specification in the generated output file proc1_.a would be created by SQL*Module as follows:

procedure PROC1(SQLCODE: in out sql_standard.sqlcode_type;
 sqlstate: in out sql_standard.sqlstate_type;
 PARAM1: in sql_standard.double_precision;
 PARAM1_ind: in sql_standard.smallint;
 PARAM2: in out oracle_sqllib.sql_date;
 PARAM2_ind: in out sql_standard.smallint;
 PARAM3: out sql_standard.double_precision;
 PARAM3_ind: out sql_standard.smallint;
 PARAM4: in string;
 PARAM4_ind: in sql_standard.smallint;
 PARAM5: in sql_standard.int;
 PARAM5_ind: in sql_standard.smallint);

Function calls are generated as procedures with the last two parameters in the generated prototype being the return parameter and the indicator variable for the return parameter. For example:

FUNCTION func1 (
        PARAM1 IN NUMBER) RETURN VARCHAR2

would have the Ada prototype:

procedure FUNC1(SQLCODE: in out sql_standard.sqlcode_type;
 sqlstate: in out sql_standard.sqlstate_type;
 PARAM1: in sql_standard.double_precision;
 PARAM1_ind: in sql_standard.smallint;
 mod_func_return: out string;
 mod_func_return_ind: out sql_standard.smallint) is
begin
  . . .
 
end FUNC1;

Storing Module Language Procedures

You can also use SQL*Module to create a stored package in the database from Module Language procedures. By specifying the module file in the INAME command line option (see Chapter 5, "Running SQL*Module" for details), and setting the option STORE_PACKAGE=YES, the procedures in the module file are stored in a package in the database, using the module name as the default package name. (The default name can be overridden using the PNAME option. See Chapter 5, "Running SQL*Module" for details.)

For example, the following module file:

MODULE        test_sp 
AUTHORIZATION scott
 
PROCEDURE get_emp ( 
        :empname    CHAR(10),
        :empnumber  INTEGER, 
         SQLCODE); 
    SELECT ename INTO :empname 
        FROM emp 
        WHERE empno = :empnumber; 
 
PROCEDURE put_emp ( 
        :empname    CHAR(10), 
        :empnumber  INTEGER, 
        :deptnumber INTEGER, 
        SQLCODE); 
    INSERT INTO emp (ename, empno, deptno) VALUES 
                    (:empname, :empnumber, :deptnumber); 

when stored as a package in the database would produce the following PL/SQL code for the package specification:

package test_sp is 
procedure get_emp 
    (empname out char, 
    empnumber in number) 
  with interface procedure get_emp 
    (empname char(11),
    empnumber integer, 
    sqlcode integer); 
procedure put_emp 
    (empname in char, 
    empno in number, 
    deptno in number) 
  with interface procedure put_emp 
    (empname char(11), 
    empnumber integer, 
    deptnumber integer, 
    sqlcode integer); 
end test_sp; 

Note: You cannot store module procedures that contain the ALLOCATE statement, nor statements CONNECT, DISCONNECT, ENABLE THREADS, CONTEXT, nor FETCH and CLOSE statements that refer to cursor variables.

Connecting to a Database

When you write an Ada program that calls RPC interface procedures that were generated from stored procedures, you need a way to connect to a database at runtime. The steps you can take to do this are

Add a with clause to the host application file referencing the generated specification name.

PKXPKa9AOEBPS/preface.htmc Preface

Preface

This book is a comprehensive user's guide and reference for SQL*Module, an Oracle application development tool.

It includes a complete description of Module Language, an ANSI/ISO SQL standard for developing applications that access data stored in a relational database. Module Language uses parameterized procedures to encapsulate SQL statements. The procedures can then be called from an Ada application.

This Guide also describes how you can use SQL*Module to call PL/SQL procedures stored in an Oracle database. A number of complete examples using Module Language, Ada code, and stored database procedures are provided.

This preface contains these topics:

Intended Audience

Oracle SQL*Module for Ada Programmer's Guide is intended for systems architects, analysts, and developers who are writing large-scale applications that access an Oracle Server. Chapter 1 of this Guide can also be used by managers who need to determine if SQL*Module is an appropriate tool for a planned project.

To use this Guide effectively, you need a working knowledge of the following topics:

Familiarity with SQL-standard Module Language is not a prerequisite. This Guide fully documents Module Language.

Documentation Accessibility

Our goal is to make Oracle products, services, and supporting documentation accessible to all users, including users that are disabled. To that end, our documentation includes features that make information available to users of assistive technology. This documentation is available in HTML format, and contains markup to facilitate access by the disabled community. Accessibility standards will continue to evolve over time, and Oracle is actively engaged with other market-leading technology vendors to address technical obstacles so that our documentation can be accessible to all of our customers. For more information, visit the Oracle Accessibility Program Web site at http://www.oracle.com/accessibility/.

Accessibility of Code Examples in Documentation

Screen readers may not always correctly read the code examples in this document. The conventions for writing code require that closing braces should appear on an otherwise empty line; however, some screen readers may not always read a line of text that consists solely of a bracket or brace.

Accessibility of Links to External Web Sites in Documentation

This documentation may contain links to Web sites of other companies or organizations that Oracle does not own or control. Oracle neither evaluates nor makes any representations regarding the accessibility of these Web sites.

Deaf/Hard of Hearing Access to Oracle Support Services

To reach Oracle Support Services, use a telecommunications relay service (TRS) to call Oracle Support at 1.800.223.1711. An Oracle Support Services engineer will handle technical issues and provide customer support according to the Oracle service request process. Information about TRS is available at http://www.fcc.gov/cgb/consumerfacts/trs.html, and a list of phone numbers is available at http://www.fcc.gov/cgb/dro/trsphonebk.html.

Standards Conformance

SQL*Module conforms to the American National Standards Institute (ANSI) and International Standards Organization (ISO) standards for Module Language. This includes complete conformance with Chapter 7 of ANSI document X3.135-1989, Database Language SQL with Integrity Enhancement.

In addition, SQL*Module conforms to the "Entry SQL" subset of the SQL92 standard, as defined in Chapter 12 of the ANSI Document X3.135-1992.

Note: SQL92 is known officially as International Standard ISO/IEC 9075:1992, Database Language SQL.

SQL*Module supports the Ada83 language standard for Ada.

Oracle has also implemented extensions to the SQL language and to Module Language. This Guide describes both the SQL standard Module Language and the complete set of Oracle extensions. SQL*Module provides an option, called the FIPS flagger, which flags all non-standard extensions to SQL and to Module Language, as mandated by the Federal Information Processing Standard for Database Language SQL, FIPS publication 127-1. This publication is available at

National Technical Information Service US Department of Commerce Springfield VA 22161 U.S.A

Conventions

The following text conventions are used in this document:

ConventionMeaning
boldfaceBoldface type indicates graphical user interface elements associated with an action, or terms defined in text or the glossary.
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.

PK h c PKa9AOEBPS/index.htmq Index

Index

A  B  C  D  E  F  I  L  M  N  O  P  R  S  T  U  V  W 

Symbols

@ operator
in SQL*Plus, 3.2

A

Ada
example code, 6.3
named parameter association, 2.2.3.3
positional parameter association, 2.2.3.3
Ada example for VAX/VMS, 5.9.1
anonymous blocks, 3.1.1
anonymous blocks in PL/SQL, 3.6
Application Programming Interfaces (APIs), 5.8
Arrays as Procedure Arguments, 4.8
AUTHORIZATION clause, 2.2.1.3
AUTO_CONNECT
command-line option, 5.8.1

B

BINDING
command-line option, 5.8.2
binding
early, 1.2, 3.6
late, 1.2, 3.6
BINDING command-line option, 3.6

C

case sensitivity in program names, option names, and values, 5.3
case-sensitive characters
in names of executables, 5.3
in package and procedure names, 3.5
code page, 4.9
command-line option value lists, 5.4.1
command-line options
about, 5.8
case-sensitive characters in, 3.5
CONFIG, 5.5
specifying an option, 5.4
whitespace used in, 5.8
Comments, 2.5.1
comments
C-style, 2.5.1
not allowed in a configuration file, 5.5
SQL-style, 2.5.1
compiling and linking
about, 5.9
CONFIG
command-line option, 5.8.3
CONFIG command-line option, 5.5
configuration files
system, 5.4.2, 5.5
user, 5.4.2, 5.5
CONNECT statement, 2.8
connecting to a database
AUTHORIZATION clause and, 2.2.1.3
calling RPC stubs and, 3.11
CONTEXT ALLOCATE statement, 2.10.3
CONTEXT FREE statement, 2.10.4
conventions
for text in a module file, 2.5
COURSES.SQL script, 6.2.1.5
CREATE PROCEDURE command, 3.2
cursor
concept of, 4.1
declaring, 2.1
name of, 2.2.2
namespace for, 2.2.2
syntax of, B.1.2
using in queries, 4.5
cursor declarations, 2.2.2
cursor variable
closing, 3.7.4
cursor variable parameters, 3.7.1
cursor variables, 2.2.2, 3.7, 4.5
allocating, 3.7.2
must use late binding, 3.7.3
not available for Ada, 3.7
opening, 3.7.3
opening in a standalone stored procedure, 3.7.3.1
return types, 3.7.3.2
cursor variables, restrictions on, 3.7.5

D

database concepts for host application developer, 4.1
datatypes
conversion, 1.1.3
SQL, 2.3
declaring a cursor, 2.1
DEPARTMT.SQL script, 6.2.1.2
DISCONNECT statement, 2.9
Dynamic SQL, 3.8

E

early binding, 1.2, 3.6
EMROLMNT.SQL script, 6.2.1.6
ENABLE THREADS statement, 2.10.1
encoding scheme, 4.9
error messages, 2.7.1
handling of, 1.1.2, 4.2
ERRORS
command-line option, 5.8.4

F

filename extension default values, 5.6
files
input, 5.6
output, 5.7
filetype, 5.6
FIPS
command-line option, 5.8.5
flagger, Preface

I

INAME
command-line option, 5.8.6
indicator parameters, 2.6, 3.9
definition of, 4.4
truncation indicated by, 2.6
values greater than zero, 4.4.1
indicator variables, 4.4.1
concept of, 4.1
used to show nulls, 2.6
input files, 5.6
INSTRUCS.SQL script, 6.2.1.3
interface procedures
definition of, 1.2
files, 1.2
stubs, 1.2

L

LANGUAGE clause, 2.2.1.2
late binding, 1.2, 3.6
linking, 5.9
listing file output from SQL*Module, 5.7.3
listing options and default values, 5.3.1
LNAME
command-line option, 5.8.7
LTYPE
command-line option, 5.8.8

M

makefile, 5.2
MAPPING
command-line option, 5.8.9
MAXLITERAL
command-line option, 5.8.10
MKTABLES.SQL script, 6.2.1.1
mode of a parameter in PL/SQL, 3.1.1
module
cursor declarations in, 2.1
definition of, 2.1
preamble to, 2.1
procedures in, 2.1
structure of, 2.2
MODULE clause, 2.2.1.1
module file
text conventions in, 2.5
Module Language
defined by ANSI committee, 1.1.3
sample program, 2.1.1, 6.2
syntax diagrams for, B.1
Module Language Sample Program, 6.2.2
Multi-tasking, 2.10
Multi-tasking Example, 2.11
Multi-tasking Restrictions, 2.10.5

N

named parameter association, 2.2.3.3
NLS parameter
NLS_LANG, 4.9
null value
concept of, 4.1
handling, 4.4
indicator variable shows null, 2.6
Number of Rows Processed, obtaining, 4.3

O

ONAME
command-line option, 5.8.11
OPEN command
not used for cursor variables, 2.4
opening a cursor variable, 3.7.3
operating system command line, 5.2
options on command line, 5.4
Oracle Call Interface (OCI)
anonymous PL/SQL blocks and, 3.6
OUTPUT
command-line option, 5.8.12
output file default name for Ada, 5.7.1.1
output files
for SQL*Module, 5.7

P

packages, 3.3
parameter list, 2.2.3.2
password
in AUTHORIZATION clause, 2.2.1.3
supplied at runtime, 2.2.1.3
PL/SQL
about, 3.1
datatypes
in a stored procedure definition, 3.9
functions
return values for, 3.9.3.2
mode of a parameter, 3.1.1
sample program, 6.2.3
PL/SQL source files output from SQL*Module, 5.7.4
PNAME
command-line option, 5.8.13
positional parameter association, 2.2.3.3
preamble, 2.2.1
syntax of, B.1.1
to a module, 2.1
precompiler default values, 5.4.2
precompilers, 3.6
privileges
database, 2.2.1.3
when running SQL*Module application, 2.2.1.3
procedure definitions, 2.2.3
procedure name, 2.2.3.1
procedures, 3.1.1
case of generated output code files, 3.5
in a module, 2.1
standalone, 3.3
stored, 3.2
top-level, 3.3
program structure, 4.1
program structure of a SQL*Module application, 4.1

R

reserved words, C.1
rows_processed function, 4.3
RPC, 3.9
BINDING command-line option used with, 3.6
call to PL/SQL, 3.9
RPC_GENERATE
command-line option, 5.8.14
RPC_GENERATE command-line option, 5.8.2
running the Mod*SQL compiler, 5.2.1
running the SQL*Module compiler, 5.2

S

SAMeDL, 1.1.3
sample application DEMCALSP.A, 6.3.2
sample application DEMOHOST.A, 6.3.1
sample programs
on-line location of, 6.2
sample tables
on-line location of, 6.2
schema name required when running SQL*Module, 5.2.1
SELECT_ERROR
command-line option, 5.8.15
semicolon
does not terminate cursor declaration, 2.2.2
SET CONNECTION statement, 2.8.1
SNAME
command-line option, 5.8.16
source code output file, 5.7.1
specification files, 1.1.3, 4.6
in Ada, 2.1.1
SQL
commands
allowed in Module Language, 2.4
list of, 2.4
datatypes
about, 2.3
in the WITH INTERFACE clause, 3.9, 3.9
identifier
as a cursor name, 2.2.2
in module preamble, 2.2.1.1
SQL Ada Module Description Language, 1.1.3
SQL*Module
about, 1.1
development using Module Language, 1.1.3
executable names, 5.3
FIPS flagger, Preface
running the compiler, 5.2
standards conformance, Preface
supported features, 1.3
SQL*Plus
creating stored procedures with, 3.2
storing packages in a database, 5.1.1
SQL_CONTEXT datatype, 2.10.2
SQL_STANDARD package, 6.1
SQL92 syntax, 2.2.3.3
SQLCHECK
command-line option, 5.8.18
SQLCODE
concept of, 4.1
in the WITH INTERFACE clause, 3.9
parameter, 2.7
return values, 4.2.1
standard type, 6.1.1
SQLCODE parameter, 4.2.1
SQLLIB, 5.9
SQLSTATE
concept of, 4.1
declaring, 4.2.3
in the WITH INTERFACE clause, 3.9
parameter, 2.7
standard type, 6.1.2
SQLSTATE parameter, 4.2.3
SQLSTATE status variable
predefined status codes and conditions, 4.2.3
standalone procedure, 3.3
standards conformance, Preface
status parameters
about, 2.7
in the WITH INTERFACE clause, 3.9
STORE_PACKAGE
command-line option, 5.8.17
STORE_PACKAGE command-line option
does a CREATE or REPLACE PACKAGE, 5.8.17
stored packages, 3.3
stored procedures
about, 3.2
created with SQL*Module, 3.10
string literal
on one line, 2.5
STUDENTS.SQL script, 6.2.1.4
syntax diagrams for Module Language, B.1
system configuration file, 5.4.2
system-specific Oracle documentation
Ada default filenames, 5.7.2.1
Ada default names, 5.7.1.1
case-sensitive command-line options, 3.5
filename extensions, 5.8
filenames and extensions, 5.6
invoking SQL*Module, 5.2
SQL_STANDARD package for Ada, 6.1
system configuration files, 5.5
system-specific references, E.1

T

terminal encoding scheme, 4.9
time stamp, 3.6
top-level procedure, 3.3

U

user configuration file, 5.4.2
USERID
command-line option, 5.8.19
compiling Module Language files, 5.2.1
generating interface procedure files, 5.2.1
username
in AUTHORIZATION clause, 2.2.1.3

V

values of command-line options, 5.4

W

WHERE CURRENT OF clause, 2.4
whitespace
not present in option lists, 5.8
whitespace in command-line options, 5.8
with context clause
for ADA, 2.1.1
for Ada, 6.1
WITH INTERFACE clause
about, 3.9
PK qqPKa9AOEBPS/img/adatyp.gifP.GIF87aX?**?***UU?UUU????**?*******?*******U*U?*U*U*U**?*****?*****?*****?***UU?UUUU*U*?U*U*U*UUUU?UUUUUUUU?UUUUU?UUUUU?UUUUU?UUU?**?***UU?UUU?????**?***UU?UUU?????**?***UU?UUU?ժժ?ժժժ???**?***UU?UUU?????***UUU,X H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣHM'p`>$`> $'p ,h „ 2l!Ĉ'Rh"ƌ7r#H H? #H 08`A&TaC!F8bE1fԸcGA6̗/|!1|̗/_Ȑ!C 2dȐ!C 2|ˇ0_|S/_Ȑ!C 2dȐ!C 2| #/|%g0_ 2dȐ!C 2dȐ!C 0_> ;` g0_|B 2dȐ!C 2dȐ!g0| ;/a>3/dȐ!C 2dȐ!C `>3/|̗0|;`|!C 2dȐ!C 2dȐ/GP`|Gp`>#/_>/,h „ 2l!Ĉ'Rh"ƌ7rG$08_>'p@@$ <0… :|1ĉ+Z1ƍ;zX1|g0_>;/a>;`| $H A $H Aw0|̗o`>˗/|˗`>%$H A $H A/| 3/|w0|  $H A $H A[/|1| 3/| A $H A $ȏ˷0_"3/| $H A $H8`A&Tp `,/_ ,(0_A,/_'p "Lp!ÆB(q"Ŋ/b̨q#G:vLoa>;/_>"C/_>scǎ;vرcǎ;vĘcDŽ{08`>   H?  <0… :|1ĉ+Z1ƍ11a"'p 0 O@8? ? 4xaB 6tbD)VxcF9ḃ0_| '0_70_>0@ | /A'p "Lp!C8`A&TaC!F8bE1fԸ#| ̗O`70|70|#`>̷0_ǎرcǎ;vرcǎ13`>/| ̗O`>#` [cǎرcǎ;vرcǎ/3`˗/|/_|G0_|3o`>:v80_ǎ;vرcǎ;vx1|(_߿|̗/_>Gp`>O@ DPB  <0… :|1ĉ+Z1ƍ+3`>/_| ̗_|G0|'0_> H*\ȰÁ H*\ȰÇ#JHŋ3ja|̗O`| ̗/| ̗/_>'0_>+O`|ױcGرcǎ;vرcǎ`| 70_>/|˗o`>'0|ױcG:vرcǎ;vرcDŽ1a;bױcǎ;vرcǎ;W0_ǎ u1c;vرcǎ;v`:vLcǎuرcǎ;vرcǎױc|;v̘cǎuQGuQGuԑAO| H*\/C 2dȐ!C8`A&TaC!F8bE1fԸ|u0_ǎ3رcǎ;vرcǎ +0 <0…8`A&TaC=|Ç>|Ç>|Ç>|`>|Ç>4Ç>|Ç>|Ç>|Ç=|Ç>||>|Ç>|Ç>|Ç><Ç>|Ç {Ç>|Ç>|Ç>||>|Ç>|h0Ç>|Ç>|Ç>|Ç{Ç>|C>|Ç>|Ç>|Çz衃 <0… :|1ć&N8qĉ'N8qĉ'N8qb|8`A&TaC H*\0,h „ 2l!Ĉ'Rh"ƌ7r4`;:ױ#|;vرcǎ;vر|ua)رcǎ;vرcǎ +cǎuH1_ǎ;vرcǎ;vh0_|˗`|_| G0_| ˗o`| ̗/_O`|/_3cG:vرcǎ;vرcG ;O`o`/| '0|+O`|'0_O`|ױ#EO@ DPB >QD-^ĘQFw0|̗_/߿|%'0|G0|70߿|/_> ؑb;vرcǎ;v`__>#/a>/߿|/_>/߿|ױ#|;vرcǎ;vر|70߿|70߿|`|̗/_>'0_|;O`|W0߿|g0_ǎuرcǎ;v쨣: ?_>70߿|G0AO`|G0|//A H*\P ,h „ 2l!Ĉ'Rh"ƌ7r4`'0| /|̗0_|`|/_o`>g0_ǎuرcǎ;vرcǎw0_|˗/| ̗/_>/_| +o`'0_|/_|˗/_g0_ǎuرcǎ;vرcǎױcG:vcǎ;vرcǎ;v4` (? 4xa„*TPB'p "Lp!ÆB(q"Ŋ/b̨q#G ر|;Rױcǎ;vرcǎ;W0_ǎؑb;vرcǎ;v`:v0_ǎuرcǎ;vرcǎױcG:vcǎ;vرcǎ;v4 |,h „ 2l? 4xaB O@ DPB >QD-^ĘQFuرcǎ uرcǎ;vرcǎuرcǎ uرcǎ;vرcǎuرcǎ uرcǎ;vرcǎuرcǎ uرcǎ;vرcǎuرcǎ uرcǎ;vرcǎuرcǎ uرcǎ;vرcǎO@ D!,h „ 2l!|!B"D!B"D!B"D+"DA"D!"D!B"D!B"D!B0_|!B"D!B1D!B"D!B"D!B"D |!B"D B"D!B"D!B"D!2W0| Ooo`>? 4xaB 6ta>!B"D!B"D!B"D w0|o`'0_|3"D!B1D!B"D!B"D!B"D ;O`| 70|70|!B"D B"D!B"D!B"D!2W0|/|w0_|3"D!B1D!B"D!B"D!B"D ;O`o`|'0_|0߿'p "Lp!Æ""D!B"D!B"D!B!|O/|G0|/A H*\ȰÇ 8`A&TaC!F8bE1fԸ|'0|`| W0| رcG:vرcǎ;vرcG ;O`> 70_|'P߿80,h „ 2l!|!B"D!B"D!B"D+"DA"D!"D!B"D!B"D!B0_|!B"D!B1D!B"D!B"D!B"D |!B"D B"D!B"D!B"D!2W0D"D!B"D!B"D!B"D!Ba B80D!Bb>!B"D!B"D!B"D1P> O@ D!,h „ 2l!|!B"D!B"D!B"D"D!B|!B"D!B"D!B"D"D!B|!B"D!B"D!B"D"D!B|!B"D!B"D!B"D"D!B|!B"D!B"D!B"D"D!B|!B"D!B"D!B"D"D!BBO@ DPB >QD-^ĘQFO@ D? 4xaB 6t"|#F1bĈ#F1bĈ#F1bĈ1|#F1bĈE1bĈ#F1bĈ#F1bĈ#W0_ĈE1bĈ#"1bĈ#F1bĈ#F1bĈ#FH0_|#1bĈ#F0_Ĉ#F1bĈ#F1bĈ#F1"|̗/_70_>1bĈ#FD/bĈ#F1bĈ#F1bĈ#F`/|/a#F1bD"F1"("("("(" 'P`O`o8`A&TaC!"1bĈ#F1bĈ#F1bĈ#Fl`/|˗_"F1bĈK/bĈ#F1bĈ#F1bĈ#FH0|̗/_'0߿|K/bĈ#Fa>"F1bĈ#F1bĈ#F1bĄ HA /|#/_|#H|,h „ 2l!Ĉ8`A&TaC!F8bE1fԸa> ;O`|̗O`ȑ#G)Ǒ#G9rȑ#G9w0_| '0_|#0@ ? 4xaB 6t"| E1bĈ#F1bĈ#F1bĈ+/b"F1bĈ1bĈ#F1bĈ#F1bĈ#F$`1bĈ#FD/bĈ#F1bĈ#F1bĈ#F`"F/bĈ#Fa#F1bĈ#F1bĈ#F1bD _#F1bD"F1bĈ#F1bĈ#F1bĈ +/b"F1bĈ1bĈ#F1bĈ#F1bĈ#F$0O@ <!B"D!B"D!| H*\ȰÇ#JHŋ3j` H'p "Lp!ÆBD/bĈ#F1bĈ#F1bĈ#F`#F1bĈ!1bĈ#F1bĈ#F1bĈ#F$/bĈ#F1bD"F1bĈ#F1bĈ#F1bĈ 1bĈ#Fb#F1bĈ#F1bĈ#F1bD"F1bĈ#F/bĈ#F1bĈ#F1bĈ#F`#F1bĈ!1bĈ#F1bĈ#F1bĈ#F$/bĈ#F1bD"F1bĈ#FQDEQDEQDEQD?8`A&T(? 4xaB 6t`>!B"D!B"D!B"D "ă B"D A"D!B"D!B"D!Bd`>!"D!Bd"D!B"D!B"D!B"|A`>!B"|!B"D!B"D!B"D+a|/|#`>'p O@ DPB >$"D!B"D!B"D!B"|'0_70_>#O`| ̇0D!Ba>!B"D!B"D!B"D w0|/|#`> '0|!B"D B"D!B"D!B"D!2W0|/_|˗_>_C"D!B0D!B"D!B"D!B"D C/_>_˗_߿/߿|O@8`A&TaC "D!B"D!B"D!B`>'p ˗/߿|˗_>O`|0 <0… :|h? 4xaB 6tbD)VxcF9W0|_|˗O`#O`> ̇0_ǎ;"ױcǎ;vرcǎ;W0|_>#0@߿| /  <0… :|H0D!B"D!B"D!B"D |!B"D B"D!B"D!B"D!2W0D"D!2"D!B"D!B"D!Ba Bx0D!Ba>!B"D!B"D!B"D "ă B"D A"D!B"D!B"D!Bd`>!"D!Bd"D!B"D!B"D!BD ?'p "L0B *TPB  <0… :|1ĉ+Z1ƍ +0 <0B H*\ȰÇA"D!B"D!B"D!Bd"D!B"D A"D!B"D!B"D!Bd"D!B"D A"D!B"D!B"D!Bd"D!B"D A"D!B"D!B"D!Bd"D!B"D A"D!B"D!B"D!Bd"D!B"D A"D!B"D!B"D!Bd"D!B"D ? 4xaB 6tbD)VxcF9W`> 4xaB8?'p 8? <0!| H*\ȰÇ#JHŋ3j`:v/a| ˗/a˗`|:Zױcǎ;vرcǎ;W0_ǎ!̗/|!1|˗c|;vرcǎ;vر|u(0|w0_|S/_NJ:vرcǎ;vرcG 3`> ̗/_o`> ̗/_>;`|̗`3/_|H1_ǎ;vرcǎ;vh0_| 70_/@߿߿| @7p`|80_ / / <0!| H*\ȰÇ#JHŋ3j`o`| ̗`>/|'0| ̗`> '0| '0|81_ǎ;vرcǎ;vh0_| '0_|/_/_| ̗`>`>/| /|81_ǎ;vرcǎ;vh0_|˗O` ̗/_'P|70߿'p|Gp`>/|Gp`>$XA O@ DPB >QD-^ĘQF80 ̗o`| '0_| 70߿|O`|#H`>'p|'p@  (?#8`> 4xa‚ H*\ȰÇ#JHŋ3j`'0_>/_|o`|O`|%G0߿|G0߿|%G0߿|̗|;vرcǎ;vر|!̗O`>_| 70_>0 o`> o|o7p`8_O@ Dp`>$XA .dC%NXE5nh0_|; g0_> g0_|3`|'رcǎ;vرcǎ +cG g0| 拘`|̗#|;vرcǎ;vر|u(0|w0_|[/_G:vرcǎ;vرcG Q`>%̗a˗/a|+رcǎ;vرcǎ +cG˗`|拘a| ˗|;vرcǎ;vر|8`A&Tx? 'p@$0 O@ 8? 4xaƒ8`A&TaC!F8bE1fԸ|;Z̗c|:nױcǎ;vرcǎ;ױcǎ;2ױcǎ;vرcǎ;ױcǎ;2ױcǎ;vرcǎ;ױcǎ;2ױcǎ;vرcǎ;ױcǎ;2ױcǎ;vرcǎ;ױcǎ;2ױcǎ;vرcǎ;W`> 4xaB 'p "Lp!Æ{Ç>|Ç>|Ç>||=|a|>|>|Ç>|Ç>|Ç>|x0_|>|0Ç>|_>|Ç>|Ç>|ÇW0Ç6Ç>Ç>|Ç>|Ç>|Ç̇0_|70| 70߿|#/_/_|=|Ç{Ç>|Ç>|Ç>CP> 7p|o`>O`| /|/߿|'0_O@ DPB Ç>|Ç>|Ç>|Ãw0|/|70߿| 70_>`>|a|>|Ç>|Ç>|Ç>D` W0߿|70߿|/|/|>||>|Ç>|Ç>|Ç>T/|/_|!g0|˗`|+0@ (0,h „ 2l0_>:tСC:tСC:tСC:t0_| +_>o`g0_ ̗ |,h „ 2l? 4xaB 6tbD)VxcF9Bg0_/|/߿|'0_ /| ̗`;vرcǎ;vرcǎ;/_|(߿80_|˗O`˗/|o`O@ DPB >QD-^QF=~$Ȅ@ $H A $H 0@ HO@ DPB >QD-^ĘQF=~$Ȅ@ $H A $H  2a> A $H A $Ȇ@L$H A $H A a>  $H A $H Al0 <0… 8`A&TaC!F8bE1fԸcGA9dI'QTe4K/aƔ9fM7qԹgO?:hQG&UiSOF:jUW ;;PK'U.P.PKa9AOEBPS/img/adapre.gifGIF87aX;?**?***UU?UUU????**?*******?*******U*U?*U*U*U**?*****?*****?*****?***UU?UUUU*U*?U*U*U*UUUU?UUUUUUUU?UUUUU?UUUUU?UUUUU?UUU?**?***UU?UUU?????**?***UU?UUU?????**?***UU?UUU?ժժ?ժժժ???**?***UU?UUU?????***UUU,X; H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳO~ϟ?vO@ DP ,h „8`A&4 <0… :|1ĉ+Z1ƍ;6̗/LJy/_>ѣG=zѣG=j̗ϣ|y/_>ѣG=zѣG1b|!b|=zѣG=zѣ|&(0_>#/c>yѣG=zѣG囘|<2̗`0ѣG=zѣG=R̗ |7߿ /_|`>'p "O`| ̗/߿|/_> '0_| /_3? 4xaB 6tbD)VxcF9v_|O`|˗/߿|_|˗_>`|/_|_|˗_/߿|O`|˗_>yѣG=zѣGW0|/| 70_/_qa| ̗_>`>/| ̗_|ѣG=zѣG'p | O`> ̗O` /_|O |'p |O@ O@ _|'0߿| o|˗_>˗|'P | <0… :|1ĉ+Z1ƍ;_| '0_|˗_>O`/|KbW0߿|'0߿|̗__> /|Kcǎ;vرcǎ;vd`>'0|'0_| `>_80_7p 7p|(0?/߿80_|O7? 8P`>$XA .dC%NXE5n0|3˷0| 壘|ױcǎ;vرcǎ;&0_  ,/$`|08`Aˇ`>$XA .dC%NXE5n0_|:V̗a>˗#|رcǎ;vرcG HO@,80_| ,X`˗` ,(0_W` ,X| $`8`A&TaA$XA .dC%NXb> ca|,Z/_>"{/_> ˗a>gѢŅ  <0… :|1ĉ+Ngb| AO@ Dp ,/A4X`> 4xaB H| ̗/A 4hРA ,/_>$XA .dC%NXQb> cϢŇ(拘Ϣʼn(k/_>-R̗ϢE-ZhѢE70_>/_| '0|;oa>-B1E%k/| 5G1EYhѢE-Zh`/| '0| ̧0|-Zb>-N̷0_(0_|gѢE-ZhѢł'0_|o`o`>h"|Yhb̗/_>/|/_/_|˗_|˗/߿|O'0_| '0_>#(0_>$XA .dC%NXa>/_| o`o`>+ϢE!W0E+;O`>˗O`>/߿|'P'_o`80_˗_O`|80_>$XA .dC%NXa/߿| o`o`|W0|,ZH1_gѢE3/_>O`o`| G0_>70_> o`| /_>˗`|-ZhѢE-6O@8_|˗| /| G@$XA .dC%N?(߿|߿|O|| ߿/_| '`>'P | O@ DPB >QD`/| ̗_Oa,ZhQa>-Zt_>'0| /_O`/߿|˗O`>˗_>_> g0_>-ZhѢE-'0| /_|˗/| O@ /| H*\Ȱ|:tСC30/߿/߿|#_>/_|8p O|8`A&TaC!F8bŇ,Z,ϢE-Zh|,ZhQ`|-ZhѢE-Z$ł,ZhѢE-.̗ϢŅ  $XA .dC%NXb> hѢE-Z0_>-V̗/E-ZhѢE h`>-ZhѢE h|YhѢE-Zh`> hѢE-Z0_|-Z/_>-ZhѢE-gb|-ZhѢE'P ,h „ &O@$XA .dC%NX"|,h „8`A&TaC!F8bA$XA .d8? 4xaB 6tbD)VxcF9vdH#I4yeJ+YtfL3iִygN;yhPC5ziRK6ujTSVzkV[vlXcɖ5{mZkٶun\sֵ{o^{p` 6|qbŋ7vrdɓ)W|sf͛9wYa@;;PKWҸ PKa9AOEBPS/img/sqlstate.gifEGIF89a#ν{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{sssssssssssssssssssssssssssssssssssssssssssssccccccccccccccccccccccccccccccccccccccccccRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB111111111111111111111111111111111111111111111!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!File created with CoreGraphics !QuickTime 6.3 !2003:06:27 12:09:28 !Mac OS X 10.2.6 ,#GH*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛)HkN? 2Нi0(.!SN"%QVE:(r]tSn^Iݻx˷߿ ,Sۆp k̹ϠӨS^ͺyJ۸sÖ}Z6|StďN.{yoM7ӧ+?9uܥ?~o1SdиpG.}v~yi^iހڝ^E4cdj܁R(^fi܆`x)]7 M(`8Xv"ᇡ˹"]"i"S֨ەXfibt7vid~U"qbBhަƒwUlD`w g`yPbP~!ڗ"!.#M8@<TOZz^k^U) 㞅A*<NxO 00Q-@ *rʔf]fɛSRho1n )@,Q> .8dƟЩ:V)c D6AeML#:w#}J!HCE G3El&c3J _O[bˢ~ ˌBʨk]k_RvZMnMwJwuol#0]4A>~31a޸q[砇.褗n騧DH$VPXim^nCvwRVfG_Rnk*S'KaG/o_VcNa@)(EǓhD[o4u@`p! <x(PV : P@k%bSc1?aҜ(9eD]3 96"0ItF$R3.J_uL#245cZ$D$TY( 7ETZQqgI=ʯ?l]"66O?sxæެIIm>Λf7O'rp4^U;s!lI>Yϕh bUÄ TR,S:C'OpN΢:!LIR̕ts(;j'Bb=t[-!%+HAQ(c jq6Ekh!-A+RtAm4 ȸ&MVߦx-:`']-8foІ2[y)%+[ڼL88J jٗ lΒ'ͯtldޗoЅM M-Nڬ=zk3D-rغ-|t.Ғa6իr>t|N3;Վ1:btM륮lz{)t@k0X/~GA~F_~EO곎DC7?*!9%!࿰Ĺ84";>ys*hO*~Wd.p P~b6$>[! sA55T.06 L ~(5KX7XY;|P,Glxro]TTH%JX҄N F`d=]kWQPV`3Q(=wat8kCbSABB+Q;q54-rW3"4$S[p8zLjw wv'XU:%$vJQ4xU7Z8JAA+4C5$ASaj 4KuwH&G[G {X%ylel~Rs>HA\-zMW1::&6Xp.H\tWLg{?mdSgGX38'O%V@Y %3WWyqǎsI%TZ }ErxXRy67 D!8Mq,.[\ר s8h%z%W!/Wpgj/XU3sq'u\f1C=OAy}UCW]y8[8Gw~m+a8c/rvMt(#nzٗ$Ԗ~N9Iy?_ f}"j8.PVɄ6Yyٚ3`}z&^}3G: ^(_Gammej$eI fB)We*5P9bhV'fb?d6sd*X9Yyٟ: cg OdO:!OcĠUAYVN&gQ*GQ&ʡ-R)h2&*b*-RңSg)-8 d:V-ohV;QPkCu! mW1Ʃ9^vekfjea*P&% i8Ue^& 57fMS:5J  #hF,DzFeh@'t)8,,5s*.HA#Hp2,5s% B2ڬ:Zz04; !2O8Ya*zlG8vb7u-(:GӿϙɢPMGADκ%7BAVPYJW]@0qx^~ʘ65ӽYyڌ5Ka~( i r|1j:-0X~5G!GE L.vȢ,(V- d|aᘈqȶ|6..۔x0H.G~w3yl|kҧ6=Дg?~U4Iwm& Hi }S<~2,1$iH{g8mD8vKz+A>H~Fjl3rǥM^v@SJ-ఒwEww>4<2Z $ o oYlA/u.Үy.ʳ2~,L됽'Co&RlDJG ILUsyg"]\岩}3 ׁ Aas.O)Ctm,/_ ? f)28ϼ)J/UѤQRჶo~տ~/ao|8͗G?]ϕ$XA "̳C6XE5nG!E$YI)UdK1eΤYM9uOA%ZQI.eSQNZUYnWaŎ%[YiV[m[\x۪7@%L6_}%%ϾvB.s $B D/0#T7< q1=B42/TrɭcI(rJ*J,@@;PK![JEPKa9AOEBPS/img/adamod.gifeGIF87aXG?**?***UU?UUU????**?*******?*******U*U?*U*U*U**?*****?*****?*****?***UU?UUUU*U*?U*U*U*UUUU?UUUUUUUU?UUUUU?UUUUU?UUUUU?UUU?**?***UU?UUU?????**?***UU?UUU?????**?***UU?UUU?ժժ?ժժժ???**?***UU?UUU?????***UUU,XG H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘˜9|3gO@ DPB >QD-^$ <0… :|1ĉ+Zqb3f0_ƌ3fl/_ƌ3f̘1cƌ3F̗1cƌ#˘1cƌe̘1cƌ3f̘1|3f̘1cƌ3fD/cƌ3f̘1cƌ˘1#|3f̘1cƊ2f̘1cƌ3f̘a32̗1cƌ3f/cƌ3f̘1cƌ{0 <0… :|!,h „ 2l|!B"D!B"D!BLa>!BD"D "D!Bl"D!B"D!B"D 5"D A|!B"D B"D!B"D!B0|!B"D"D!2"D!B"D!B"Ą"D!BH0D!Bqa>!B"D!B"D!&̷0D!B"Ă B"D A"D!B"D!B1!@8| ,X?$XA .d? 4xP`>"D!B"D| H*\ȰÇ#JHŋ[/@ O@ DPB(? 4x0,h „ 2l|!B"D!B"D!BLoa> "D˗|!B"ą B"D!B"D!B0|"D˗b|!B"ą B"D!B"D!B0|w0|!B$| &"D!B\"D!B"D!B"D -a|)"D "̗"|!B"ą B"D!B"D!B0|g0_|`|O`'0'0|/|/@ '0_| /_808p`>$XA .dÁ B"D!B"D!B0| `|˗_|_|˗_|̗_˗_>/_| /߿|_> /_ `>!B"DA"D!B"D!B1a /|˗_| ̗_>˗`>'0_g0|O`|/_A<"Db|!B"D!B"D +X?0@|7P߿| '? _|'0߿|O@ O H| $0 <0… 'p 'p "Lp!ÆB(q"Ŋ/bloa>/|O`|_>O`/|_|g0_O`'0߿|̗`|Q̗/|!0_ƌ3f̘1cƌ36̷0_| w0_|/_|O O|O o| /_|O7?8p`o? 4xa*TP`| O@ DPB >QD-^0| -̗/cƌ-0|3fa3f̘1cƌ3floa>˗!|'p  'P ,h|̇p`>C!B"D!|O@ DPB >QD-^0| 5̗/cƌcoa2f(1|3f̘1cƌ3*̗1| -0_3R̗a"˘1| e̘1cƌ3fh`> 4xaA$X_>,ϠAO@ DPB _̷`> 4xaB 'p |  <0… :|1ĉ+Z/_0| A̗/_/BO@$X0_,XP` <0…˗0| 2dȐ!C 2dȐ!C 2dP`| 2,/C[aA$XA .d? `| gP`| 4hРA 4h0_|3X0,h „ 2l!Ĉ'Rh1_>koa,Zh| Ew0_>-&̗`,ZhѢE-Z0_>̧0_SϢE->̷0_|;`,J'1_>hѢE-ZhѢ|,G0|[Oa>-Z1|̗a>,R'1_>hѢE-ZhѢ|+/_|/_|`> ߿ /| 7p@? 4xaB 6t`C`|'`>70߿(0_|_|'0_|/|/_|7_  <0… :|1ĉ+N/_˗/_/_/|˗/߿|3/|S/|-Zhqb|1̇0_ /߿|_/_ /_|/_|˗_/|/|oa>-ZhѢE-*̗/_|/߿|/|/߿|W0_˗/!|'p "Lp!Æ2O@$H0_AW_>/_|'0߿|G0|/|˗O`O`|+0@ 80_| H*\ȰÇ#JHB$H? ̗O |߿| 'P |,h „ 2l!Ĉ'.O|O/߿/߿߿7p/߿| @ H8`A&TaC!F8bEW0_> '0߿|'0|˗/߿|̗`>-ZhѢŁ3/߿| /߿| /|/|˗/߿|/߿| /|ϢE-ZhѢE/_|o`|'p(_'p`|'p "Lp!ÆB(a>̗/|/߿| ̗/_|o`|˗_|˗_|70_|8qĉ'N8qĉ +oDM8qĉ'N0_Mh0ĉ'N8qĉ'NX0_>&N/ĉ'N8qĉ 囘`>8`A̗? 4xaB 6tbD)V81_xŋ/^/ŋ wŋ/^xE(1_/^xʼnx|]xŋ/^xb|.:̗/ŋ/^xb|]x1_|/^xŋ/^(`> 4xaA$XA .dC%N0 <0…8`A&TaC!F8bE1>̗1cƌ3f̘1cFI8`A&TaC!F8bE1fԸcGA9dI'QTeK/aƔ9fM7qԹgO;;PKqج{jePKa9AOEBPS/img/adacur.gif- GIF87aX.?**?***UU?UUU????**?*******?*******U*U?*U*U*U**?*****?*****?*****?***UU?UUUU*U*?U*U*U*UUUU?UUUUUUUU?UUUUU?UUUUU?UUUUU?UUU?**?***UU?UUU?????**?***UU?UUU?????**?***UU?UUU?ժժ?ժժժ???**?***UU?UUU?????***UUU,X. H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ 6aq8`A&T'p "L? O@ DP„ H|,h „ 'p "Lp!ÆB(q"Ŋ/b/cƁ˗/cƁK/cƋ˗/cƂ˘1cƌ3f̘1cF2fa|2f,/_>2fa|2fL/_ƌ3f̘1cƌ3V̗1|˗1|˘b>e̸0_3f̘1cƌ3f`| ̗/_`|˗O`|w0_w0| 70|/_/_|˗O`|˗/|k/#|2f̘1cƌ3fQF?O`> ̗_>O`|$(0A'p "L`|'0_O`| ̗_/| '0| ;o| 3o  <0… :|1ĉ+Zb>_>`| /| ̗`| /߿|/_+/_|`> '0/| /|˗_7070/ ̗/_'0_/߿|O|O O@ DPB >QD-^1߿| /|̗/_>/|˗`|_| ̗/߿|3/߿|_| ̗/߿|#_> O`>˗o`/|/| #_| /_'0|'0_|˗_>/_| g0_3f̘1cƌ3f,0 'p|˗/_ G0߿|˗/|#8`>'p`O`| ̗o/߿| ̗/߿|O@ o| ̗/_o|˗o @˗/8p 70|̗o|/_O`˗O`>O@ H*\ȰÇ#JHŋw0|G0߿|˗O`>˧0_| O`˗/|_|'0@O|7p`70|(0_'0_ 7P`7p`7p`|/'`>80߿o?O@ DPB >QD-^1߿| ̗_> ̗_ '0|S`̗_|'0|˗/|'0߿| ̗O`>/|/| ̗/_O`>G0| ̗`>W0|/| ̗O`> /|'0_>3/_ƌ3f̘1cƌ3>'0|/_|˗O |_| /|#(`>߿ `>_80_8_| ̗/|˗/_>70|/_|o| ̗o| ̗/_˗O |o|/߿߿| ? 4xaB 6tbD)Vx|3g0_g0_ƌ̗a˘1cƌ3f̘1cƉ2f`|'P ,h`|8`A̗? 4xaB 6tbD)Vx|3̇0_ˇ0_ƌ!̗/cƅe̘1cƌ3f̘1#|3̇0_|3̗/|3^̗0_˗1cƌ3f̘1cƌe80_|e80_>2fOa|2f,/_3f̘1cƌ3f0 <0B$`> 4xaB H|,h „ &O@8`A&T8? 4xaB 6tbD)VxcF9vdH'p "Lp!ÆB(q"Ŋ/b̨q#ǎ? )r$ɒ&OLr%˖._Œ)s&͚6o̩s'Ϟ> *t(ѢF"Mt)ӦNB*u*ժVbͪu+׮^ +v,ٲfϢMv-n+w.ݺv1 ;;PK2 - PKa9AOEBPS/img/adaauth.gif0GIF87aXP?**?***UU?UUU????**?*******?*******U*U?*U*U*U**?*****?*****?*****?***UU?UUUU*U*?U*U*U*UUUU?UUUUUUUU?UUUUU?UUUUU?UUUUU?UUU?**?***UU?UUU?????**?***UU?UUU?????**?***UU?UUU?ժժ?ժժժ???**?***UU?UUU?????***UUU,XP H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻo, 0@ H*\ȰÇ#JHŋ3jȱDŽ (? O@ Dh? 4xaƒ Hp ,`> 4x!A$XA .dC%NXE5nx0_|0_|˗|)̗/_|uD/_;vرcǎ;vر`|˧0_ 1b|˗Oa|:.̗/_ǎ;vرcǎ;v(0_>C/_LJu/|a|;vرcǎ;vر|w0_ ̗|˗`|;a>uرcǎ;vرcǎg0|:.g0_ 3/|̗a 滘cǎ:ꨣ:ꨣ:H#/80_(0_|˗O`|_|˗/߿|˗/'p "O`|O@̗o`> /_>/߿|˗/_>/| /,h „ 2l!Ĉ'Rh"ƌ7f/|#/_˗/__>˗_|˗/߿|3/GW0߿|˗`|g0_/|/_/߿|/|8rȑ#G9rȑ#ǃ ?#(`>'P`/_ ̗/_ ̗O`>08`A'p@/| 080|O`| '0_ ̗_|'p@$XA .dC%NXE5nd/_w0_|7`>O /_8p| /_(0_ /_|'P|(߿'P`|˗? 4xaB 6tbD)VxcF;_>70߿| '0_>_>˗/߿|˗O`|̗/a>/_|˗/_>/|O`> /__> g0_8rȑ#G9rȑ#| ̗`+/_|(_߿ /8p8_> /_ /_7p`|'P࿁7P࿁'p`|? 4xaB 6tbD)VxcF [/_|#| I̷0_;/|8F̗a>9rȑ#G9r1|w0_>86̗a>w0_|C/G1Ǒ#G9rȑ#G#c/|b| E0_%̗|ȑ#G9r0 <0… 'p A H 'p 4/_>g`| 4hР4(0A4(0_| ˗`|4hРA3hP`>$XA .dC%N0_Ŋ)S/_|!˗/|W0_| W1b|拘a|˗a|*B̗/|+VXbŊ+>WbE˗b|9`>'p H 'p 4X0A8@$XP |,h  H| H*\ȰÇ#JHa+Ṙ0_0|+6G1_| Xa>*VXbŊ+V|a| O߿߿'߿_>7p|8`A&/B*TPB "̧`> *TPB O@ DPB >QD!̗o`o`>O`|'0_>o`> g0|*V4/|+V0|+V81_Ŋ+VXbŊ!̗o`o`˗o`>/|#/߿|3`| '0_>|7 O|/,h „ 2l0:tСC9tСC:tСC`| 70| /_|'0|˗/|+_3`'0߿|/߿|/߿|/߿|/|+ϡC:t(0|sСCСC:tСC:\_'0| O(`>߿|O@ /߿| o| O` ̗_|o`| '0_|80@˗? 4xaB 6\/_>СC:T/C:tСC:t`> O'0| 70߿|'0_>#/_|̗| ̗@@0_/߿'p |,h „ 2l!Ĉ'R? 4xaB 6tbD)/|o`>O`/| ̗O`o`>g0|+O`'0߿| /| '0_> G0_Ŋ+VTbŊ+VXbŊ+V1|'0_| 70|o`> ߿߿#߿| O| ̗o|/_O`>'po 70,h „ 2lPa>|Ç>|Ç>|`>|0|>$/Ç>|Ç>|Ç>|Ç>|h0Ç>D`|>/Ç>|Ç>|Ç>|Ç>|x0Ç>Da|>/Ç>|Ç>|Ç>|Ç>|x0Ç>Da|>l/_>|Ç>|Ç>|Ç>|a>|0_|=|0_|>|C=C=C=C=C=C=PBO@ DPB-O@$X  <0… :|1ĉ+Z1ƍ;fO@ DPB8@$XA8`A&TaC!F8bE1fԸcGA9dI'QTeK/aƔ9fM7qԹgO?:hQG&UiSOF:jUWfպkW_;lYgѦUm[oƕ;n]wջo_QD-^ĘQF=&̗/_˗a|}/_|?~Ǐ?~G1_| b|>~Ǐ?~Ǐ1_>}̘/Ǐ?~Ǐ?~Q`|;ˇ0_80_?~Ǐ?~|>z̗`|%w0|Ǐ?~Ǐ?W0_|˗_˗|O|/_ @̗o|̗O`|8_|˗_|/_|˗/_>80,h „ 2l!Ĉ'Rh"ƌ7r1߿| /_|/߿|/߿|̗_/_˗_>/_˗_ /߿|/_'0߿|˗/߿|ϣG=zѣG=z0_| '0_/|'0|O`|g0_| '0|'0|/|/|˗`|yѣG=zѣG8 A 7`>o`_> '0߿|O`>  (?˗/|O`'`>O7p 'p@$XA .dC%NXE5nb| '0_>O``>_>'0|/_|/߿|_>'0|/|3/|=zѣG=zѣǃ+/_|8߿_> '0?/߿ O|//_/_ o o`'p`'p "Lp!ÆB(q"Ŋ/b̨q#ǎ#ϣ| 0|5̗ϣG=zѣG=z1_>0'P ,h`|w`  ̗o`> <0… :|1ĉ+Z1ƍ;z/ǍC/G}Ǐ?~Ǐ 1c|˗|>~Ǐ?~Ǐb|˗#|}Ǐ?~Ǐ'P ,h „(? 0@ H'P ,h „ 2l!Ĉ'Rh"ƌ7r!|,h „8`A8`A& <0… :|1ĉ+Z1ƍ;z2ȑ$K<2ʕ,[| 3̙4kڼ3Ν<{ 4СD=4ҥL:} 5ԩTZ5֭\z 6رd˚=6ڵlۺ} 7ܹtڽ7޽| 8 >8Ō;~ 9ɔ+[9͜;{ :ѤK>+|,h „ 'p H*\(? $/_| 0 <0…8@$XA  O@ DPB >QD-^#F'p ,h „ 'P ,08 A O@ DP!B O@8`A&T? 4xaB 6tbD)Vx_>K/_>-˗oa| ˗oa|0b/_0b<#F1bĈ#F a0|0b/_| ˗0_È|È`>1bĈ#F16w0߿|˗/_˗`|(߿70Gp`|$/,h „ ˇ0_>C/| -\pḂ0_| ̗o`|G0|8?'p "Lp!ÆB(q"Ŋ/w0߿|O`/|#o`>g0|Èa|c/|Èa|'0_70_>#O`| ̇0F1bĈ#F;_|70|/|̗_ 3/_|˗O`| ˗/|/߿|O| /_|`> /7p|/_|7p`| ̗/߿|O@ /_|`>7?80 /_> ̗O` O`| 7p| H*\ȰÇ#JHŊ;_o`>̗/_>+_>70| /߿|`|˗_˗_'0_|/߿|O`|3/|9G0߿| /߿|`|˗_˗_|`|/߿|_|G0߿|#/߿| ̗/_#O`a/^xŋ/Z/|/?߿|8_ 70˗/| /|O`|̗_>#/|O`>//AG0_|O`#(0|`|| ̗_>/߿|G_| ˗O`|'0߿|#`>O`>'p "Lp!ÆB(q"Ŋ!'p@_>70|/_| G_GP | O| /|0@70߿|/_|'0@O@ 'p@ /| 7p` /߿߿| O |_(?8P _|'0_|#`>'0_ 8? 4xaB 6tbD)Vh0_>;_>'0_>/߿|`/|3_>/_|'0߿| /|'0߿|'0|3/_|G0_|'0߿|3/|O`> '0|_>O`>̗`|/_'0߿|'0|Ca|/^xŋ/^`>O`|˗o`߿|O|/ O|(_/_>˗/?o? `>_80_7p|70߿| /|7p`|O /߿80@_7? _˗/| / o`'p|  <0… :|1ĉ+ZoaO`|]0_>g0|]0|/&̷0ŋ/^xŋ-w|0@ H  ,/|̗`| O@$X@ O@ ̗`QD+cϢEgѢE̗/|gѢEg| YhѢE-ZhQa>,Za|-ZD/_|˗0_>-&̗`>cϢE-ZhѢE 1g"|gѢł[/_-̗/E ˗a>cϢE-ZhѢE 1g"| ˗ϢE0_|˗/_C O@ DP|So… [/… .\p… .\p… .\0 H*<'p "LpA$X|O@'p "LpaA$`> 4xaB8| H*\ȰÇ#JH"|-ZhѢE-ZhѢň,ZhѢE-Z0E-ZhѢE-Zh1b>-ZhѢE-&gѢE-ZhѢE-ZϢE-ZhѢEgѢE-ZhѢE-ZϢE-ZhѢEgѢE-ZhѢE-ZϢE-ZhѢE˗ϢE-ZhѢE-Zh_|,ZhѢE-ZD0 <0… :|1ĉ+Z1ƍ8`A&TaC!F8b,ZhѢE-ZhѢE-ZhѢE-ZH0,h „ 2l!Ĉ'Reh"ƌ7r#Ȑ"G,i$ʔ*Wl%̘2gҬi&Μ:w'РB-j(ҤJ2m)ԨRRj*֬Zr+ذbǒ-k,ڴjג ;;PKP`PKa9AOEBPS/img/amd80001.gifGIF87aXs?**?***UU?UUU????**?*******?*******U*U?*U*U*U**?*****?*****?*****?***UU?UUUU*U*?U*U*U*UUUU?UUUUUUUU?UUUUU?UUUUU?UUUUU?UUU?**?***UU?UUU?????**?***UU?UUU?????**?***UU?UUU?ժժ?ժժժ???**?***UU?UUU?????***UUU,Xs H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^#|$ <0… :|1ĉ+Z1ƍ;z\0 O@ DPB8`A'p "Lp!ÆB(q"Ŋ/b̨q#ǎ8`A 'p "LpA$ O@ H*\ȰÇ#JHŋ3jȱD 08`A&T`>'p  O| H*\ȰÇ#JHŋ3jȱB 8`A&TH`>'p "0 H*\ȰÇ#JHŋ3jȱcA < |'p "L`>8`A&O@$XA .dC%NXE5n`>8`A&0 H̗/_> *T`>8`A&TaC!F8bE1fԸcF O@ D |'p "D0@ H*/_| H*\ȰÇ#JHŋ3jȱ"|'p "L|'p ",/_| &L0|O@ DPB >QD-^ĘQFױ|0_|:v4/_;vرcǎ;va|uh0_|:̗/_ǎ ˗cǎ;vرcǎ;vd/_˗#|u0_|;vرcǎ;vرc|ؑa|: ̗/_ǎױcǎ;vرcǎ;̗/_ǎ/_ǎױcǎ;vرcǎ;̗/_ǎۘ/_ǎױcǎ;vرcǎ;̗/_ǎ˘/_ǎ̗? 4xaB 6tbD)VxcF9 ̗cG]̗cNjرcǎ;vرcǎc|c|:vرcǎ;vر|u1_|+/_|˗o`> bرcǎ;vرcǎC`a>M̗/|/|%̗/|M̗/_ǎ;vرcǎ;v̘/_3a|{b|$W0|#/߿| 70_|˗/|0_˗߿|/_|˗/_>̗? 4xaB 6tbD)VxcF1ˇ0_|˗O`|˗o`| ̗/_/_/_˗o`|̗/_| ˗`>K_|/߿|/߿| '0| ̗/|`|8rȑ#G9rȑ#DŽ!/_˗O`> /|/_/_>_>'0|;/_>!̗/|ˇ0_ 70߿|_| (0_>70|/_>$XA .dC%NXE5na|o`>̗_| /|ˇ0_o`>;/_>W0߿|ˇ`>߿|/߿|'p`| '0_o|O@ DPB >QD-^ĘQƊ!O߿(`>߿|O80_|_o@8p /'0_>o`| ̗_>/_|70|'0| /_| H*\ȰÇ#JHŋ3jX1_>˗/| W0|/߿|'0_|70߿|˗O`>C/_O(߿'߿߿/߿ O|/߿8_|8`A&TaC!F8bE1fԸb|#_|O ߿|o`o ߿_>/_> ̗ A #H  <`|8`A&TaC!F8bE1fԸb|+#|=̗|q|/_>9rȑ#G9r`|+#|=̗#G˗#G9rȑ#G9rD#G˗b>9̗/_>9rȑ#G9ra|9r/_|0@ H`| 4h`|O@ DPB >QD-^ĘQFIO@$X`> 4h`|4H0_> 70A3hРA 'P ,h „ 2l!Ĉ'Rh"ƌ7Z̗/_|QDZ!|'p 3h`>˗O`˗o`>/_|'0_| ̗/_>$XA .dC%NXE5nĘ/_| ̗/|˗/|70_|˗o`|&˗/|$#_|˗O`|_| ̗_| /_>  <0… :|1ĉ+Z1ƍ1|_|'0| '0_'0|&'P ,H0_> #_| /߿|_/_>3h? O@ DPB >QD-^ĘQƌAG0߿|_ '0_/_>棘/_|1|(߿|(߿|/߿7p| H@ O@ DPB >QD-^ĘQƍ=G0? /߿| O߿? $0@ H|480|O`|'0|O`>'0߿| O@$XA .dC%NXE5n/_>/|/_>˗O`>˗/|IO@$XР|<0@߿70߿߿_>$X|'p "Lp!ÆB(q"Ŋ/b̨q#k0@߿70߿ | _>$XP |'p ˗,8? 4xaB 6tbD)VxcF9̗/_G8'p ,h`|8`A&TaC!F8bE1fԸc|0F 4/_|$XA .dC%NXE5nx0_|:vT08`A'P ,h „ 'p`>$XA .dC%NXE5n`>8`A&T`>'p O@$XA "O@ H*\ȰÇ#JHŋ3jq!|'p "L | O@ 40@ H*$08`A&TaC!F8bE1fԸCO@ DP? <|O@ D0!|O@ DPB >QD-^ĘQF80,h „8 ,h B ? 4xa‚ H? 4xaB 6tbD)VxcF9RO| HO@ H'p@$XA8`>$XA .dC%NXE5n`>'p "$0'p "L8`>'p "0'p "Lp!ÆB(q"Ŋ/b̨q#G H? 4x | <0A$(? 4h`>  <0… :|1ĉ+Z1ƍ;O@8`A8`A H*0 'p 8` H*\ȰÇ#JHŋ3jȱcB$XA 'p "L!|,h ƒ H*\ȰÇ#JHŋ3jȱC$XA8`A&T |,h B$XA .dC%NXE5n#|,h@$XA .d(`> 4H? 4xaB 6tbD)VxcF9vX`> $ <0… ̗? 4xaB 6tbD)VxcF9v1_?2̗Ǐ?~Ǐ?~1_?2̗Ǐ?~Ǐ?~1_?2̗Ǐ?~Ǐ?~1_?2̗Ǐ?~Ǐ?~1_?2̗Ǐ?~Ǐ?~1_?2̗Ǐ?~Ǐ?~1_?2̗Ǐ?~Ǐ?~1_?2̗Ǐ?~Ǐ?~1_?2̗Ǐ?~Ǐ?~1_?20,h „ 2l!Ĉ'Rh"ƌ7rQc|?~d/Ǐ?~Ǐ?~"| O@ DPB 'p@$XA .dC%NXE5nD <0… "O@ H*\ȰÇ#JHŋ3jȱG (? 4xaB 6L08`A&TaC!F8bE1fԸcG8? 4xaB 6T0 H*\ȰÇ#JHŋ3jȱG  <0… .O@$XA .dC%NXE5n||Ǐ?~Ǐ?b̗/_?.̗/Ǐ?~Ǐ?~1c|?~d/Ǐ?~Ǐ?~Ǐ?~Ǐ?~Ǐ?~Ǐ?~Ǐ?~#E$XA .d? 4xaB 6tbD)VxcF96O@ DPaA$XA  <0… ˗/,h „ 2l!Ĉ'Rh"ƌ7rLc|ua|;vرcǎ;vر|;㘯cǎ uرcǎ;vرcǎuoc;2ױcǎ;vرcǎ;ױc:v0_;vرcǎ;vر`mױcGuرcǎ;vرcǎuoc;2̗cǎ;vرcǎ;v,`>僘b:v0_;vرcǎ;vر`>{a6ر#|:vرcǎ;vرcG߿߿|/_|/߿/_|˗__|'P`>$XР|$XР|#/Awp`'0_/|O`|O`6C/|COaرcǎ;vرcǎ /|˗O`| /|O7߿@8`A/|˗o`| '0|g0_| ̗/_>'0|'0_|˗|8`A&TaC!F8bE1fԸc| בa˗_|'0߿|'0|'0_| '0_/_>O`|/_>ױcǎ;vرcǎ;̧0_|ۘa_O`>˗O`'0| '0|70߿|C/_ǎ;vرcǎ;vX0_ǎ6C_o`O`> @ ̗/_>o`>0@o@/,h „ 2l!Ĉ'Rh"ƌ7r,c|!/_|˗O` '0|'0_| '0|O`>/_>'0|:vرcǎ;vرcǂ˗/_G6CO`>˗o`| ̗/_>˗/_A$_G?   ̗? 4xaB 6tbD)VxcF90|:.̷1_ǎ A0_;vرcǎ;vر`>/_/_/_6ر`|5̗/_uرcǎ;vرcǎ1̗/|O`>˗O`|soc;2̗cǎ;vرcǎ;v,a|O`>`|9̷1_ǎױcǎ'p ,h „ 2l!Ĉ'R0|O`> |'p A ,X| ,(`>8`Aq`| ˗OD%J(QD%&̷0_>O`>/| 0Ą$70_>I0_>%J(QD0_|$J(QD%J(Qb| (߿߿|| H` ,(0_ G0߿|˗/| ̗/|O`> ߿ HA'p "Lp!ÆBl/_˗/bĈ#F1bĈ#:1bă"*`˗_|˗O`|/߿|O`| /|"̗/bĈ#F1a|ET/_#F1bĈ#F0_Ĉ拨0_Ă _/߿|'߿|/߿_O ,h`| H*\ȰÇ ˗/b|1bĈ#F1bĈE` E,`> |߿|/߿ ߿ H'p "Lp!ÆB/_|#̗/_Ĉ#F1bĈ#F$/bĈET/b| ̗O` ̗/|O`>/| `|#F1bDa|E1bĈ#F1b|'P|O@ !B!Dh0|70_|˗O`| ̗/_>˗/|!D_|"D!B"D!B˗!B"櫘0_E*VXa|+VX|UX1_|+VXbŊ+'1_|˗/|QW`+V|/_Ŋ+V/_|+V4/_|+VXbŊ+擘`>_>MW`+V|/_Ŋ+V/_+:̗/_Ŋ+VXbE$'P| /? H$XA .d|>|a>|Ç>|0Á 0 gРA'p "Lp!ÆsСC:DϡC6СC:tСC*`˗O`sX0Æ:tСCsСC:DϡC6СC:tСC*`/_|`> 9tСCСC:t0C:lϡC:tСC:TϡCs0C:t_|:tСCO?7`> /,h „ 2l!Ĉ'BG|H"ʼnQH"E'0_̗o`|#/_|'0_> oO'?'p "Lp!ÆB(q"|)JGa>)R/E)R`|/_|'0_>̗`|0@'߿? ? 4xaB 6tbD!HQb>G"E˗"E)RG0_>O@O@? ? 4xaB 6tbD!HQb> 80,h „ 2408`A&TaC#/|g0߿|G0_>̗|oO࿁@8`A&TaC!F8"|,h „ 'p  O@ DPB 'p "Lp!Æ G0_>˗`|G0_>̗_|80߿O࿁@8`A&TaC!F81"|,h „ 'p O@ DPB 8`A&TaC #/߿|g0_|#/_|'0_> ?'?@8`A&TaC!F8błYhb|,ZhѢEO 8P/? (?@8`A&TaC!F8błYhb|,ZhѢEYh1b>-ZhѢE!gѢEhѢE-BgѢň,ZhѢE-Z/E-F̗ϢE-Z1E#hѢE-Zhb|-Z1_>-Zh"D$XA .dx? 4xaB 6tbD)V,/E-F̗ϢE-ZhѢE-ZhѢE-Zϟ? ϟ?'P O@$П@ H?,ϟ? П@ H?8 @'p W?+X@'p A O@ (? ϟ?$XA .dC%NX`|-Z1_>-ZhѢE-ZhѢE-Zh`|-Z1_>-ZhѢE-ZhѢE-Zh`|-Z1_>-ZhѢE-ZhѢE-Zh`|-Z`>'p "Lp!ÆB`> 4xaB O@ DPB >QD gѢE8P ,h „ 2l!ĈI(Q|%J(QD%J(Q`|%J(!|O@ DPB >a>%J\OD%J(QD% ̗OD%6O@$XA .dC(Qą$J(QD%J(Q|$J(QC O@ DPB >a70_|70_> ? /@ O   <0… :|1ĉ+̗ϢE!˗/E-Zha> ̗_|/_/| ̗`|70_ ̗O`|CϢE-ZhѢEYhb|YhѢE+/|̗_|˗O`|'0_70_G0_/|-ZhѢE-B̗ϢE#gѢE-Z`|#/߿|˗/|˗O`|˗o`|˗`|_| (0,h „ 2l!Ĉ'RX0_>-ZhѢE-Zl`|#/߿|˗/@_ O࿁ (0,h „ 2l!Ĉ'RX0_>-ZhE-Zl`|G0_ ?#(?#߿ 7?O@ DPB >QD gѢE-ZhѢE ̗O`|/@ OO? O8P`>$XA .dC%NX`|-ZhѢE-Z0|/_|_|/@? O8P`>$XA .dC%NX`|-JO@ DPB 'p "Lp!Æ"D"D!B"D"DA"DA"D"DA"D!B"D |!Bb>!B"|!Bq`>!B"D!Ba|!BT"D!B"D!Bx0D!B"D!B"D!Bd/D"D "D!̗/_>!Bl/_|!B"D!B"| B0D!BH0D!BQa|O@ DPBcȐ!C 2dȐ!C 2dȐ!|2d0a> 2dȐ!C2dȐ!C 24/_> 2d80_|2dȐ!C 2dȐ!C 2dp`| 2d0C 2dȐ!| 2dȐ!C &̗/_> 2D/_> 2dȐ!C 2dȐ!C 2QD-˗Ņ.^xa/^xQ`|]\/_|/^xŋ/^$/ŋ ]x"|/^x|],/_/^xŋ/"̗Ņ.^xa/^x1a|Q̗/_/^xŋ/.̗Ņ&˗/|`>˷0| xŋ˗a|.^xŋ/^0_擘o`|O` ̗o`| !w`/^xb|̗/_/^袋.袋$(_>$XA  ̷`>G0_ '0_ ̗/|O`>˗oB.\p… .\pB  <0… :|1ĉ+Z/ŋ I̗/|˗0_|/_>/_>/_>.xŋ/^xŋ/^x|.^\b|3__o`>/_>.xŋ/^xŋ/^x|.^\/b3__o`>0 HA̗? 4xaB 6tbD)VxcF9N̗#|#O`|/a_|˗O`>/_>.S/_|;vرcǎ;vر|:r'`>o O| '0_|˗O`| /_|8p (`>8`A&TaC!F8bE1fԸ|:rq`308`A&TaC!F8bE1fԸ|:rױcdž 'p "Lp!ÆB8? 4xaB 6tbD)VxQ`|1&̇#FO@ DPB >Q ,h „ 2l!Ĉ'Rh|0bL#F C0 H*\ȰÇ1bĈ#F1bĈ#Fh0_#Qa|E4O`S/_|#F1bĈ 1bĈ#F1bĈ#F4/_Ĉ 拘0_>ED/bD1bĈ#F0_#F1bĈ#F1bDE` '0_|80?/߿  '0_/߿|/_>ˇ1a ̗c>0*̇c|0bĈ#F1b0_>(0| '0| /| '0F.#_|'p`_7_G?70_|˗/,h „  <0… :|1ĉ+Z(0_>(0| '0|70߿|8߿| H!Dx0_|/߿| ̗_|'0| ̗/|`>/߿|ˇ!B",/,h „ 2l!Ĉ'Rh|0bL|/_>O`/| '0F.+o`>O``| ̗o`>;/|70F È#F1bĈ|0bL|/__| '0߿||̗o`>O`O`| '0_`| '0߿|a0_>1bĈ#F1:̗#Ƅ0ḃ|`|_߿|/߿|/߿˗/߿_߿|/߿| <0B'p "Lp!ÆB(q"Ŋ/ ̗#Ƅ0ḃ|˗O`|O`>'0߿|8 _߿8`A&Th0_>$XA .dC%NXEaĘ0F1̇b>1b/F1bĈ#Fˇc|1bH0Ɗ0bĈ1b|1bĈ#F1bt/F aĈ#|1bĈ|0bĈ#F1b0_>È#F0bĈ#ƇaĈ#F1bĈa|1&̇#Fa̗/_>-̗/_ ##FaĈ#F1bĈa|1&̇#F]70_>5̗O`|Ȧ|0bĈ#F1b0| H*o… .\Pa| G0߿| O|࿁7? O`|˗o`|_>'0_|8`A&/,h „ 2l!Ĉ'Rh|0b\#Fw1_|O`| /|O`>'0|_|˗O`O`|˗_|-ˇ#F1bĈ#Faĸ0_|1b0@ HA/| '0|O`>;/|˗O` ˗O`>o`'P| /_>_8`A&/,h „ 2l!Ĉ'Rh|0bl0 <0… O@ ̗`|O`> '0| /_>'0_>/|_'0|$/,h „ 2l!Ĉ'Rh|0b0 <0… 'p  O/߿80߿|O| O|O`>'0_| /| ̗/_>$XA  <0… :|1ĉ+Z(0_>12̗#|0bĈ|-ˇ#F1bĈ#FaĈa|1ˇ#F˗/ƋaĈ#F1bĈa|1bd/FaĈ#Fˇ#F1bĈ#FaĈa|1ˇ#F1bt/F1bĈ#Fˇ#FaĘ/F1bĈa|1bĈ#F1bt/Fˇc|1bĈ#FaĈ#F1bĈa|1bd/FaĈ#F? 4xaB 6tbD)VxQ`|1bd/FaĈ#Fˇ#F1bĈ#FaĈa|1ˇ#F1bt/F1bĈ#Fˇ#FaĘ/F1bĈa|1bĈ#F1bt/Fˇc|1bĈ#FaĈ#F1bĈa|1bd/FaĈ#Fˇ#F1bĈ#FaĈa|1ˇ#F1bt/F1bĈ#Fˇ#FaĘ/F1bĈa|1bĈ#0#(_>$XA .d(`>'p "L/| &L0a„ &L0a„ &D/,h „ 2l!Ĉ'Rh|0bĘ`>'p "408`A&TaC!Fx0_'N8qĉ'N8a|'NX`>'p "408`A&TaC!F0_'N8qĉ'N8a|'Nh`>8`A"O| H*\ȰÇ#JD/ĉ'N8qĉ'N0_'N40 H'p ,h „ 2l!Ĉ7qĉ'N8qĉ'2̗oĉ˗/ĉ(? 4xaB 6tbD 8qĉ'N8qĉ7qĉ˗oD7qĉ'N8Qa|'N8qĉ'N8q"|&N8a|'*̗/ĉ'N8qDM8qĉ'N8qĉ 8qDM0_'N8qĉ 8qĉ'N8qĉ7qĉ'N8qĉ'N0_'N8qĉ'N8a|'N8qĉ'N8qĉ8qĉ'N8qĉ7qĉ'N8qĉ'N|8`A&TaC!F8bEˇ#F1bĈ#F ˇ#F1bĈ#FaĈ#F1bĈ#FaĈ#F1bĈa|1bĈ#F1bĈ`|1bĈ#F1bt/Ɔ H*\H߿2dȐ!C 'p "Lp!ÆÇ>|Ç>|!|><Ç70Ç>|0_>|a|>|Ç>|Ç"̗Ã>|a|=|Ç {ÇÇ>|Ç>|!|><Ç70Ç>|0_>|a|>|Ç>|Ç"̗Ã>|a|=|Ç {ÇÇ>|Ç>|!|><Ç/߿'p "Lp!ÆsСC̗ϡC:tСC:tСC s0a>:d/|:tС9tСCСC:tСC:tСC9t0C2̗o`>:t|:tСCsСC:tСC:t!|:LϡC70C:t_|:tСÃ9tСC:tСC:ta|&СC ϡC:t/_>:t|:tСC:C9C9C <_ &L0a|K0a„ &L0a| &L0a„ &4/,h „ 2l!Ĉ'Rh|06̇#|È#ƁaĈc|È#F1bĈ|06g0_|&/߿|A̗o`>擘#FaĈcA <0… :|1ĉ+Z/E /_|M̗o`>k`wŋ 8P ,h „ 2l!Ĉ'Rhb|+`'0_|'0߿|/_|'0_| ̗/|#/|/_|'0_|̗/|/_| '0_|˗O`| wŋ 80,h „ 2l!Ĉ'Rhb|+/_>˗/_>'0߿| ̗/| '0|O`|̗o`>˗O`'0| '0_/_>O`˗_|=̗ŋ'p ,h „ 2l!Ĉ'Rh|06w0_| ̗/|'0|'0| '0|!|_(0/|70| /߿|˗O`/,h „ 2l`>8`A&TaC!F8bEˇa> o |@/@'0| '0|70 7_| ̗/|(0_|_O`|70? O@O@ DPB ˗/C:tСC:tСCa|#_>'0߿|O`>/| /_>`|9G0_|70|70|˗O`>o` /_>˗ϡC:th0_|:tСC:tСC:d/C Oo`߿|7/߿ _>$H0|70_|0_G_|G? ̗? 4xaB 6l/C:tСC:tСCa| 9ta|9t|sx0_>:tСC:tСC:tСC̗ϡÄsa|sa|s/_|СC:tСC:tСC:tСÃ9t0C2̗o`>:t|:tСC H`A$XA .dC%NX"|.:w|xŃ]x"|'p 8? 4xaB 6tbD)V0_]0@? 4x`|!̗/_>"D80|C80BC!B"D |'p O@$XA .dC%NXb|.:w_>..o` w` '0_>*wņO@ Dh0_| H*\ȰÇ#JHE]t|/_|w_|̗`/_|70_|'0_|70_| #_|˗/|A̗ŋ O@ Dp`| H*\ȰÇ#JH|,>gQ`>˗O`g_|̇0_>/_| ̗O`>/|/_|_|/|h"|8`A&$XA .dC%NXqb|(`>o O@ ̗o`>˗/߿|O`|`|˗O`+`_| `>|7P|@˗o`0@ H`| H*\0_>$XA ̗? 4xaB 6tbD)V/Ň, g0߿| /|70|/_>/_>o`>'0߿|+/|_|˗O`Yh`>$XA & <0… :|1ĉ+>̗|3_'0_|70Bo`|o | /_|70_|˗/̗? 4xaB O@ DP|8`A&TaC!F8bņY|ϢEϢEgѢE'p "Lp| H*\ȰÇ#JH"|,>gѢE gѢE h"| H*\H0_>$XA .dC%NXqa|hѢ|hѢŅYhq`>$XA .4? 4xaB 6tbD)V\/Ň,Z(0_,Zhqa|-Z? 4xaB O@ DPB >QDga>- ̗o`>-Z\/EO@ DPB'p "Lp!ÆB(q"Ŋ 0E70E-.̗ϢE'p "Lp!|'p "Lp!ÆB(q"Ŋ0E70E-.̗ϢE'p "Lpa|8`A&TaC!F8bEY|ϢEϢEgѢ'p "Lpa|8`A&TaC!F8bEY|ϢEϢEgѢ'p "Lp!|'p "Lp!ÆB(q"Ŋ0E70E-.̗ϢEO@ DPBO@ DPB >QDga>- ̗o`>-Z\/EП <0… <0… :|1ĉ+"̗|-Z/|-Z0_>-/@,h „ ̗/_>$XA .dC%NXa|'p "Lpa1dȐ!C O@ DPO@ DPB˗? 4xaB 6tbD)VD/E H*\H߿2dȐ!C 'p "Lp|'p "Lp|˗? 4xaB 6tbD)VD/E%g"|,ZhѢEO@ DP|˗/,h „ 2l!Ĉ'R0_>-J̗ϢEYhѢEП <0„/_| H*\ȰÇ#JH"|,Z(1_>gѢE-"g0_>$XA ̗? <0… :|1ĉ+"̗ϢEha|-Zh"|O@ DP|8_|8`A&TaC!F8bEYhQb|-"̗ϢE-ZDOa| H̗?˗? 4xaB 6tbD)VD/E%g"|,ZhѢE˗? 4xaBO@ <0… :|1ĉ+"̗ϢEha|-Zh"|П <`|8 |'p "Lp!ÆB(q"ŊhѢ|,ZD/E-Z0D O@ /_| H|'p "Lp!ÆB(q"ŊhѢ|,ZD/E-Z0 ? 08`AO@ DPB >QDgѢEY0_>-Zha>8`A HO@ DPB >QDgѢEY0_>-Zha>-&̗/E-ZhѢEhѢ|,ZD/E-Z0E˗ϢE-ZhѢʼnYhQb|-"̗ϢE-ZDϢE gѢE-Zh|,Z(1_>gѢE-"gѢńhѢE-Zh!|O@ DPB 8? 4x!B <0… :|_#F'p "Lp!C <0? <0… :|_#F'p "Lp!C ? 4xa ? 4xaB 6t|#Fx0_|#F1bĈ#F"|'p "Lp!C  <0@O@ DPB >(0_Ĉ#̗/_Ĉ#F1bĈ#F0@ H*\Ȑ |'p "L8`>8`A&TaC!1bĈ1bĈ#F1bĈ#˗/_Ĉ#:̗/_!˗/_Ĉ#F1|#Fx0_|#F1bĈ#F1b|"Fb|"F/_#F1bD"F`|"F1bĈ#F1bE1"|"F/_#F1bD"F`|"F1bĈ#F1bĈ#F1bĈ#F1bą"F`|"F1bĈ#F1bĈ#F1bĈ#F1bą"F`|'p "Lp!ÆB(q"Ŋ/b̨q#ǎ?f| $H 'p "Lp!ÆB(Q!,h „ 2l`>|/_>|Ç>|!| O@ DPB >QB <0… &`|9,a|9,/_>:tСC:tС|9tСC:tСCСC:`|sH0|`|:tСC:tСC 9tСC:tСCsСCsH0_>˗/߿| ̗/_>˗/߿|`|:tСC:tСCsСC:tСCsСCsH0_>˗O`>˗_|˗O`|/,H0_| H*\ȰÇ#JH`+VXbŊXbE$G0_˗/߿| /|ob|*VXbŊ+V/_|˗/|U/_+VXbŊXbŊ+V(1_|+V0_#/|/| '0_? 4xaB 6tbD)WbŊ+VXQb|*VX1a'0_>_ '0_ŁXbŊ+VX`+*w0|80߿|+V/_+VLb'P|/߿ /_>$XA .dC%Nx0_Ŋ˗`> ̗"|+V/_+VLb|˗O`˗_| Wq`|*VXbŊ+V˗o |o'p "Lp|1dȐ!C c`>70߿|߿? 480_| H*\ȰÇ#JH`+&/_˗O`>3/|O`>˗_'0|*V0_|+V0_Ŋ˗bŊ+VXbŃ*V0_70|3o`>O`_| WbŅXbń*V0_|+VXbŊ+WbE /߿70߿߿|/߿_/߿|(߿| H*\0_| 2dȐ!Ä2dȐ!ÁcȐ!C 2dȐ!C 2d_> 2d0|_'0_ '0| '0_/|1dȐ!Cǐ!C 2L!C 2/_> 2dȐ!C 2dȐ!C cȐ!C #_|O߿߿|o`|O@ DPBcȐ!C &ǐ!C ̗/C 2dȐ!C 2dȐ!C1dȐ!C 2 2dȐ!C1dȐ!C ˗!C 2d0C 2d80_| 2dȐ!C 2dȐ!C ǐ!C 2dȐ!C 2dp`|2dȐ!C 1dȐ!Cǐ!C 2dȐ!C 2dȐ| 2dȐ!C 2dȐ!C '? 4xaB 6ϡC̗/C:tСC:t`>:tСC:tpa|:tСC:t!|9tСC:tСCsСC:tСC˗ϡC:TϡC̗ϡC:tСC:t0C:tСC:t0_|:tС|:tp`|:tСC:tСC9tСC:tСC СC*СC˗ϡC:tСC:t0C:t!r!Z|8`A&TaÁ:t|9tСC:tСCsСC:tСC˗ϡC:\ϡC˗/_>:tСC:t!|:tСC:t|9tСC 9tСsСC:tСC&СC:tСC.̗/C:t0C6̗/_>:tСC:ta|:tСC:t|9tСC 9ta|9tСC:tСCsСCr!r!(@$XA .d`>:\/_|:tСC:tСC:tСC:tСÅsСCsСÄСC:tСC:dϡC:tСC:T/_>:ta>:L/_>:tСC:tС|:tСC:tСC  <0… "СCСC:tСC:t(`>8`A&TaC!F8 | O@ DPB sСÂСC:tСC:t8`> O@ DPB >Q"|,H? 4xaB 6d/C ̗/_>:tСC:tСà H*\ȰÇ#J? 4xaB 6t(0_*O@$XA .dC%NX |,h „ 2l!Ĉ!'p "Lp!Æ{!B O@ DPB >QD-^ĘQFqȑ#Gq/_|9rȑ#G9rQc|9rȱa|''P ,h „ 2l!Ĉ'Rh"ƌ76̗#G9>̗CO@ DPB >QD-^ĘQFqȑ#GQ!|'p "Lp!ÆB(q"Ŋ/b̨q#|8rȑ|X`>'p "Lp!ÆB(q"Ŋ/b̨q|8rȑ#EO@ O H*\ȰÇ#JHŋ3jH1_>9rx`>'p 8 ,h „ 2l!Ĉ'Rh"ƌ7^̗#G9jO@  <0… :|1ĉ+Z1ƍȑ#G'p 8`A&TaC!F8bE1fԸ|:vرcǎ;vرcǎ;vQb|;vرcǎ;vرcǎ;v(1_;vرcǎ;vرcǎ;v/_ǎ;vرcǎ;vرcǎ;:O H*\ȰÇ#J$/ĉ'N8qĉ'N8qĉ'N|08`A&TaC!F80_|'N8qĉ'N8qĉ'N8"| O@ DPB >Q|8qĉ'N8qĉ'N8qĉ80,h „ 2l!Ĉ'P ,h „ 2l!Ĉ'Rh"ƌ7rL0 H*\ȰÇ#J0 H*\ȰÇ#JHŋ3j!|'p "Lp!ÆB(q |O@ DPB >QD-^ĘQF ױcǎ;O@ H*\ȰÇ#JHŋ3ja|:vرcG <0… :|1ĉ+Z1ƍرcǎ ױcǎ;vرcǎ;vرcǎرcǎ;vرcǎ;vرcGuرcǎ;vرcǎ;vر|:vرcǎ%'p "Lp!Æ8`A8`A&T ,h@$XA .d!,h |8`A&TaC!F8bʼn,Zh`|(hѢ|hѢńYL/E-ZhѢEhѢE壘ϢEg`>-ZL/ńYhѢE-Zha>-Z$/_>,Z(0_|hѢńYL/E-ZhѢEhѢE壘ϢEg`>-ZL/ńYhѢE-Zha>-Z$/_>,Z(0_|hѢńYL/E-ZhѢEhѢE壘ϢE'? 4x_>"D!B"/B <0… :|1ĉ+NgѢEG1E˗|-Z0_> hѢE-Zh"|-ZH0_|YhQ`|,gѢE 峘0_>-ZhѢE-"gѢEG1E˗|-Z0_> hѢE-Zh"|-ZH0_|YhQ`|,gѢE 峘0_>-ZhѢE-"gѢEG1E˗|˗`| ̇0_|Y/ńYhѢE-ZhBO|0@ o|o@ O70_|#/'P'p 4hРA 4hP`| 4h`> 70_> '0A gРA /A /,h „ 2l!Ĉ'R81|`/|+a˗o`> +O` ̗/|̷`>8`A 4/_| 4X0A#_|Ϡ|˗/_>/_>70AgРA <0… :|1ĉ+N70_>G0| G0|1G0_|`/|QW0_|-G0_|g`>#`+_|/|˗O`U̗b|,ZhѢE-Z0|G0|`˗o`>+`>/_> ˗o`| ̗/| '0߿|/_'p`'P`|8`AC`|3_> o` /|!Dh0_>̗? 4xaB 6tbD)Vo`>'P_>? O@||(߿8` /߿|'0|'0|O`>/|`| 4h`> W0߿|gP`_/|4h`| 4h_| H*\ȰÇ#JH|/|'P/߿(0(0_7P` 7_>8P` 7_|o`(`>߿|߿|/߿Oo ,h|̗`> ̗O`> O`| 70߿|ˇ|"Dx0_>$XA .dC%NXqb> '0|/߿|'0_| #_|`#O`|˗/|(_o`> 70_>O`>O`>'P O@ !B ߿7P /߿/,hP`|<80_>$XA .dC%NXqb70|#O`| O'p? @ o(߿8P |'p` ̗/_>o|O`O`>_| /_>$X"DP`>"4!ƒ!D`| H*\ȰÇ#JH|-ZϢ|!O@߿/? ߿|??߿| O@ !B"Da>ˇ!ƒ'p "Lp!ÆB(q"ŊY8`>8`AO@ /,h „  ̗/C1dȐ!C ˗!Ã1dȐ!C 2dȐ!C 2dȐ| 2dȐ!C H`O@ DPB#0 ,  +O | ̗? 4xaB 6tbD)VϢE ˗!|O| H*\(0_|8`A8`A70_ 70_| 70_ 1d80|G0_> +O`˗!Á1dx0_> 2dȐ!C 2dȐ!C 2T!Á0C ˗a|cx0|1dȐ`|pa> /_ `o`> ǐ|2dȐ!C 2dȐ!C 2dPa> #_|˗O`>˗O`| ̗/Ca>ǐ!C#/Å2`|3O` |/,h`|<80_>$XA .dC%NXqb> ̗_>'0߿| '0_|/| ˗b/_|8߿/,80_|3h`| 480߿|3O` `> 4hp`| 4h_| H*\ȰÇ#JH| 'P ?7P`|/| H;x` #O`|/߿| ̗O`O`| 70_|G0_>Y,a>Y4/ńYhѢE-Zha>O_| H;x` #O`>/| ̗/G0_ w9t`>G0_> 9tСC sp`|:tСC:tСCsСC˗ϡ|:$|̗a|:ta|:/C:tСC:tСC:tСCsh0C2̗/|&СC6̗ϡÁ9tСC:tСC:dϡC:D/_>9t!|̗aB8`A&TaC9t80_>:tСC:tСC 9tСC`>:d/_>9LϡC:l/CsСC:tСC:t0C:t0_| sСC#/Ä:tÆ9t80_>:tСC:tСC 9tСC`>:d/_>9LϡC:l/CsСC:tСC:t0C:t0_| sСC#/Ä:tСÆO@ /,h „ 2l!Ĉ'R81E-̗/|-Z/_>YϢEg1a|-ZhѢE-ZDϢE ˗b>- ̗/|,gѢE 峘0_>-ZhѢE-"gѢEG1E˗`|'p "Lp!Æ 8`A <0… :|1ĉ+NO@ DPB 'p 8`A&T O@ O@ DPB 'p ̗? 4xaB 6tbD)V0 <0… O@ O@ DPB'? 48`> 4xaB 6D <80_>$XA .dC%NXE5n0_>uرcDŽuرcǎ;vرcǎ 峘/_ǎ;vL/_ǎ;vرcǎ;v0_>uرcDŽuرcǎ;vرcǎ 峘/_ǎ;vL/_ǎ;vرcǎ;v0_>uرcDŽuرcǎ;vرcǎ 峘/_ǎ;vL/_ǎ;vرcǎ;v0_>uرcDŽuرcǎ;vرcǎ 峘/_ǎ;vL/_ǎ;vرcǎ;v0| H'p "Lp!ÆB/_>%J(QD%J(QD%J(Q"|$̗OD%J(Qa|%J(QD%J(QD%J(QDI$/D%J(Q|$J(QD%J(QD%J(QDH0_>%J(QDI(QD%J(QD%J(QD '`|%J(QD (QD%J(QD%J(QD%O@ H |8`A&TaC!F/D%J(QD%J(QD%J(| O@'p@$XA .dC1bĈ#F1bĈ#F1bĈ#F<08` (? 4xaB 6t|"F1bĈ#F1bĈ#F1bĈ'p ,(`>'p "Lp!ÆB|/_Ĉ#F1bĈ#F1bĈ#F1"BO@'p ,h „ 2l!DE1bĈ#F1bĈ#F1bĈ#&̗/_8? 4xaB 6t"|"F1bĈ#F1bĈ#F1bĈ˗/_ā1bĈ#F1_#F1bĈ#F1bĈ#F1bDE$/_|#F1bĈ1bĈ#F1bĈ#F1bĈ#FT/_ĂE1bĈ#F/_Ĉ#F1bĈ#F1bĈ#F1bĈ#F1bĈ1bĈ#F1bĈ#F1bĈ#F1bĈ#F1bāE1bĈ#F1bĈ#F1bĈ#F1"("h O@ DPB >QD-RO@ DPB >QbA$XA .dC 1bĈ#F1bĈ#"O@ H*\ȰÇ#J,08`A&TaC!̗/bĈ#F1bĈ#FH0_|"F1bĈ#F0_|#F1bĈE1bĈ#F1bĈ1bĈ#F1"|"F1bĈ1bĈ#F1bĈ#˗/bĈ#F1bĈ1bĈ#:/bĈ#F1bĈ#F/_Ĉ#F1bĈ#̗/bĈ#F0_#F1bĈ#F1|#F1bĈ#F80_|#F1bDE1bĈ#F1bĈ1bĈ#("h O@ DPB >\/D!B"D!Bb>!B"D!B|/_>!B"āA"D!B"D!"D!B"ć"D!B/D!B"D!Bb>!B"D!B|/_>!B"āA"D!B"D!"D!B"ć"D!B/D!B"D!Bb>!B"D!B|/_>!B"āA"D!B"D! <0… :|1ĉG"E).̗"E)RH"E!H"E)RH`|(RH"ŅQH"E)RH"|)RH"E)̗/E)R0_>)RH"E)R"E)RH"ŃH"EG"E)RH"EQH"E)Rx0_|)RH|(RH"E)RHb>)BG0|G"E G"E).̗"E)RH"E!H"|5W0_|)R@'p "Lp!Æ.̗"D!B"D!B1D!2G0| ̗/߿|W0߿|O`/_>!Bt/_>!B"āA"D!B"D!"D/| ̗_ /߿|/_>"D"D!B80_>!B"D!B"|!B`>_/(0߿| ̗/߿|? 4xaB  ̗/_Æ 6lذaÆkذa 6lذaÆ 6lذa| 6lpa>o`|+`/_ _>$XA .d(0_| 6lذaÆ ˗aÆ 6lذaÆ 6lذaÆ 5lذaÅ/| /_|'0|˗O`>6lذaCkذaÆ 6l_| 6lذaÆ 6lذaÆ 6LaÆ .G0| ̗/|'P|߿|70߿8`A&T|5lذaÆ 6l/_ 6lذaÆ 6lذaÆ &װaÆ 6lذaÆ 6d/_ 6lذaÆ װaÆ 6lذaÆ 6lذaÄ6lذaÆ 6lذaÆ װaÆ 6lذ|6lذaÆ 6lذaÆ 6l0_Æ 6lذaÆ 6lؐa|6lذaÆ 6/_Æ 6lذaÆ 6lذaÆ kذaÆ 6laÆ 2̗/_Æ 6lذaÆkذaÆ 6lذaÆ jJ| H*\ȰÇ#J1_|)RH|(RH"E)RHb>)RH"E˗"E)R\/E)RH"E)BG"E)RH|QH"E H"E)RH"E(RH"E)R)RHqa|)RH"E)R1E)RH"EG"E).̗"E)RH"E!H"E)RH`|(RH"ŅQH"E)RH"|)RH"E)̗/E)R0_>$XA .dC%NX|/^xŋwŋ!wŋ/^xŁ.^xŋ/˗ŋ/B̗ŋ/^xŋ]xŋ/^̗/ŋ/^/ŋ/^xŋxŋ/^/_/^1_/^xŋ/̗ŋ/^xb|.^x"|.^xŋ/^X0ŋ/^xD O@ DPB >\/D!B"D!B|"D!B"D ? 4xaB 6ta|!B"D!B"D8`>$XA .dC%"O@8`A&TaC"D!B"D!Bh`> 4xaB 6tbD'p "Lp!ÆB̗"D!B"D!Bq!|,h „ 2l!Ĉ''p "Lp!ÆB,/_Ĉ#F1bĈ#F1bĈ#F/_Ĉ#F1bĈ#F|/_Ĉ#F1bĈ#F1bĈ#F/_Ĉ#F1bĈ#F|/_Ĉ#F1bĈ#F1bĈ#F/_Ĉ#F1bĈ#F|/_Ĉ#F1bĈ#F1bĈ#F/_Ĉ#F1bĈ#F|/_Ĉ#F1bĈ#F1bĈ#F/_Ĉ#F1bĈ#F|/_Ĉ#F1bĈ#F1bĈ#F/_Ĉ#F1bĈ#F@'p "Lp!ÆB(q"Ŋ/b̨1a|7nܸqƍ۸qƍ7nܸqƍ ۸qƍ7n/ƍ7nܸqƍ7nL/ƍ7nܸq#|6nܸqƍ7nܸqc|6nܸqƍ)˷qƍ7nܸqƍ˷qƍ7nH1_7nܸqƍ7nܘ0_7nܸqFmܸqƍ7nܸqƄmܸqƍ7R̗oƍ7nܸqƍ7O H*\ȰÇ#JH|,ZhѢE-ZhѢE 'p@$XA .dC%NX_|-ZhѢE-ZhѢE80,h „ 2l!Ĉ'R(0_>-ZhѢE-ZhE ? 4xaB 6tbD)V/E-ZhѢE-ZhA O@ DPB >QDgѢE-ZhѢE-Zx`>8`A&TaC!F8bŁYhѢE-ZhѢE-"̗/E-ZhѢEhѢE-ZhѢE-ZD/_>-ZhѢEgѢE-ZhѢE-Z0E-ZhѢEhѢE-ZhѢE-ZhѢE-Zh"|,ZhѢE-ZhѢE-ZhѢE-ZH0_>-ZhѢE-ZL0 <0… :|1Ă H*\ȰÇ1bĈ#F1bĈ#Fd0 H*\ȰÇ#J,08`A&TaC!̗/bĈ#F1bĈ#F0_|"F1bĈ#F(0_|#F1bĈ1bĈ#F1bĈ#̗/bĈ#F1bĈ 1bĈ#F/_Ĉ#F1bĈ#F`|#F1bĈ#Fl/_Ĉ#Fb|#F1bĈ#F1bā"F1bĈ#F1_Ĉ#Fa|#F1bĈ#F1bā"F1bĈ#F_#F1|"F1bĈ#F1bĈE1bĈ#("|8`A&TaC"D!B"D!B/D!B"D!>"D!BH0_>!B"D!B" B"D!Ba|!B"D"D!B"D!B"D!B"D"D!B80_>!B"D!B" B"D!Ba|!B"D"D!B"D!B"D!B"D"D!B80_>!B"D!B"'p "Lp!ÆB(qb|(RH"ŅQH"E)RHb|)RH"E)̗"E)R\/E)RH"E)FG"E)RH|(RH"ŅQH"E)RHb|)RH"E)̗"E)R\/E)RH"E)FG"E)RH|(RH"ŅQH"E)RHb|)RH"E)̗"E)R\/E)RH"E)FG"E)RH|(RH"ŅQH"E)RDEEP>$XA .dC%N/E)R0_>)RH"E)R"E)RH"ŃQH"E H"E)RH"ň(RH"E)R)RH"E)R"E)RH"ŃQH"E H"E)RH"ň(RH"E)R)RH"E)R"E)RH"ŃQH"E H"E)RH"ň(RH"E)R)RH"E( <0… :|1ĉH"EG"E)RH"EQH"E)Rx0_>)RHqa|)RH"E)R1E)RH"EH"EG"E)RH"EQH"E)Rx0_>)RHqa|)RH"E)R1E)RH"EH"EG"E)RH"EQH"E)Rx0_>)RHqa|)RH"E)R1E)RH"EH"EG"E)RHEQ@8`A&TaC!F81b|)RH|(RH"E)RH1b>)RH"EG"E).̗"E)RH"E#H" b>)RL/E)R0_>)RH"E)R"E0|)R0_>)RHqa|)RH"E)R1E)˗o`| ̗/_>/_/_˗o`|QHQb|)RH|(RH"E)RH1b>)R/_>˗_|/߿|߿|/߿/߿ <0… cȐ!C 2dpa| 2dȐ!C 2dȐ!C 2dȰ`> 2d`|o`_|O`| '0C 2dh0_> 2dȐ!C ǐ!C 2dȐ!C 2dȐ!C cȐ!C 'P_@̗/_>70|'p "Lp!|2dȐ!C 2\/C 2dȐ!C 2dȐ!C 2,!C 2/_|70|'0|1dȐ!CcȐ!C 2dpa| 2dȐ!C 2dȐ!C 2dȰ`> 2d`|˗/_>'0߿|'`> /,h „ 2̗!C 2dȐ!Å1dȐ!C 2dȐ!C 2dȐ!Â2dȐ!Cǐ!C 2d`| 2dȐ!C .̗!C 2dȐ!C 2dȐ!C ǐ!C 2`> 2dȐ!CcȐ!C 2dpa| 2dȐ!C 2dȐ!C 2dȰ`> 2dȐ!C 2dȐ!C[!C 2dȐ|2dȐ!C 2dȐ!C 2dȐa| 2dȐ!C 2dȐ!C ˗0_|2dȐ!C 1ĐB <0… :|1ĉ+Z$ŋ/^xb|(? 4xaB 6t0_>|Ç>|Ç=|Ç>|CO| H*\ȰC=|Ç>|Ç>Ç>|Ç2̗ |,h „ 2laB$XA .dC%NX"|/^xŋ#0 <0… :|? 4xaB 6tbD)VH0ŋ/^x| 'p ,h „ 2l!Ĉ'Rh"ƌ7۸qƍ7J̗!|'p "Lp!ÆB(q"Ŋ/b̨Qc7nܸq|˷qƍ7nܸqƍ7۸qƍ7J̗oƍ7nܸqƍ7ndoƍ7n(1_7nܸqƍ7nܸa7nܸq|6jO@$XA .dC%NXEӨQF5f̗OKOF5jԨQFӨQF5f̗O/_>/_>5jԨQF5j,OF5jԘ1_>#O`>O`>5jԨQF5j$OF5jԘ1_>#`|̗OF5jԨQF ӨQF5f̗O/_| ̗/_>5jԨQF5j$OF5jԘ1_>O`o`>5jԨQF4H# <0… :|1ĉH!|7p࿁'p "Lp!ÆB(q"Ŋ/b|/cƌ3f̘`|3f̘1cƌ3f̘1cƇ2f̘1cƌ˗1cƌ3f̘1cƌ3f|/cƌ3f̘`|3f̘1cƌ3f̘1cƇ2f̘1cƌ˗1cƌ3f̘1cƌ3f|/cƌ3f̘`|3f̘1cƌ3f̘1cƇ2f̘1cƌ˗1cƌ3f̘1cƌ3f|/cƌ3f̘`|3f̘1cƌ3f̘1cƇ2f̘1cƌ˗1cƌ3f̘1cƌ3f|/cƌ3fQF/,h „ 2l!Ĉ'Rh"ƌ72Ǒ#G9r\/G9rȑ#G9rԘ#G9r0_|9rȑ#G9rQc>9rȑ|qȑ#G9rȑ#Ǎ8rȑ#G˗#G9rȑ#G9rǑ#G9r4/_|9rȑ#G9rȑ|qȑ#G'p ,h „ 2l!Ĉ'Rh"ƌ7F̗/G9r`>'p "Lp!ÆB(q"Ŋ/b̨qDO@ DPB >QC <0… :|1ĉ+Z1ƍ8`A&TaC!F8 ,h „ 2l!Ĉ'Rh"ƌ7rO@ DPB >Q| H*\ȰÇ#JHŋ3j1!|,h „ 2l!Ĉ'p "Lp!ÆB(q"Ŋ/b̨q#ǎ?{ )r$ɒ&OLr%˖._Œ)s&͚6o̩s'Ϟ> *t(ѢF"Mt)ӦNB*u*ժVbͪu+׮^ +v,ٲfϢMv-۶n+w.ݺvͫw/߾~,x0†#Nxـ;;PKdnhPKa9AOEBPS/img/adalang.gif"GIF87aX*?**?***UU?UUU????**?*******?*******U*U?*U*U*U**?*****?*****?*****?***UU?UUUU*U*?U*U*U*UUUU?UUUUUUUU?UUUUU?UUUUU?UUUUU?UUU?**?***UU?UUU?????**?***UU?UUU?????**?***UU?UUU?ժժ?ժժժ???**?***UU?UUU?????***UUU,X* H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӖ H*D H8`A&TaC!F8bE1fԸcG1| $H A $H '1| $H A $H '1| $H A $H ';`| '0_| '0_>/_|̇0_70_>@ $H A $HW0_ /|O`| ̗O`> C/| ̗a> A $H A $|W0_ ̗`'0| H0|$/| ̗ | H*\ȰÇ#JHŋ3jȱǏw0|_70߿|`>`| 70߿|;$H A $H Ay`> O/|˗O`|_'0_|˗@˗O`/ ? 4xaB 6tbD)VxcF9v1_˗/|G0|˗/_Oa̗/_>/_|}Ǐ?~Ǐ?/|O`>70|'0߿|Oa>3/| ̗/_>Ǐ?~Ǐ?~'0A ߿|'@/߿7P'p| GP`>˗/߿|? 4xaB 6tbD)VxcF9vq`>1H A $H A rb>1H A $H A rb>1H A $H A rb>1H A $H A rb>1H A $H A r"|,h „ 'p |,h A$XA .dC%NXE5nG!E$YI)UdK1eΤYM9uOA%ZQI.eSQNZUYnWaŎ%[Yiծe[qΥ[]y_&\aĉ/fcȑ%O\ȇ;;PK'"PKa9AOEBPS/img/adapar.gif0GIF87aX?**?***UU?UUU????**?*******?*******U*U?*U*U*U**?*****?*****?*****?***UU?UUUU*U*?U*U*U*UUUU?UUUUUUUU?UUUUU?UUUUU?UUUUU?UUU?**?***UU?UUU?????**?***UU?UUU?????**?***UU?UUU?ժժ?ժժժ???**?***UU?UUU?????***UUU,X H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿80,h „ 2l!Ĉ'Rh"ƌ7r#Ȑ˗O`|)RH"E)RH"E\/|)RH"E)RH"EL/|D)RH"E)RH"E̗oa|"E)RH"E)RH"0_>"E)RH"E)RH5̗OH"E)RH"E)Rd|OH"E)RH"E)R|'RH"E)RH8`A&TaC!F(? O@ DPB >Qb>$XA .dC%NX1a|-ZhѢE9/E-Zha|-ZhE-FgѢE-Z`>hѢE-BgѢE-Zh|-ZhѢE+/E-Zhqb>-ZhѢEhѢE-R̗a|-ZhѢE,ZhѢE-ZtϢE-ZH1_YhѢE+hѢE-Zha>-Zhb|gѢE-ZϢE-ZhѢE,ZhѢEg0_|-ZhѢE <0… :|1ĉ+gѢE-Z`> 'p "Lp!ÆB(`'N8qĉ'N4oĉ'N8q"B O@ DPB >Qb|'N8qĉ'Nh0ĉ'N8qĉ'N8qĉ8qĉ'N8qD&N8qĉ'N8qĉ'N80ĉ'N8qĉ'7qĉ'N8qĉ'N8qā&N8qĉ'N8`'N8qĉ'N8qĉ'7qĉ'N8qĉM8qĉ'N8qĉ'N8q`'N8qĉ'N4oĉ'N8q"| H0ĉ'N0ĉ'N8qĉ'7qĉ'>( <!08`A 'p@$`> 4X? 4xaB *װaÆ 6lذaÆ 6lذa 6lذaÆ 5lp`+/_3/_|̗/_| kذaÆ kذaÆ 6lذaÆ 6l0_Æ 6lذaC6l80|!̗oa| ˧0_>C| 6lذ| 6lذaÆ 6lذaÆ kذaÆ 6l0_Æ ;/|˷0_-̗` 5lذaÆ 5lذaÆ 6lذaÆ 6laÆ 6lذ!|0| ߿@7p|7P`|˗o7p| 7p`|7p| ̗/_'p "Lp!C6lذaÆ 6lذaÆ 6װaÆ 6lؐa> '0_70_>;`|̗`| g0_> g0| ̗0_Æ 6l0_Æ 6lذaÆ 6lذaÆ6lذaÆ &'0|_'0߿|O`|̗o`>̗/_> '0_> 70|̗_6lذaC6lذaÆ 6lذaÆ 6װaÆ 6lPa˗/|/߿(| (0|#(0/GP`|Gp`>#_>_>O@ DPB 5lذaÆ 6lذaÆ 6laÆ 6lذ|/|/_|˗O` w0|W0|̗` g0_|˗` 6lPa 6lذaÆ 6lذaÆ 5lذaÆ 608_| '0_'0_|#H| OO@ O`'p@@ /8 ,h „ 2aÆ 6lذaÆ 6lذa| 6lذaÆ ;_> '0|/߿|/a>g0|˗`> G0߿|̗`O`kذaÆ 5lذaÆ 6lذaÆ 6laÆ 6lذ| g0| /|/_| ̗`> '0_3/|3`| w0_|KOa 6l0_Æ 6lذaÆ 6lذaÆ6lذaC 5@8| ,X`/_ ˗| ,/_| W`,/,h „ *ǐ!C 2dȐ!C 2dȐ!C2dȐ!C &̷0C ;/_|;/̗`>ǐa2dȐ!C2dȐ!C 2dȐ!C 2dh0C 2dȐ!ÄcȐ|[/_|˗0_ǐa2dȐ!C2dȐ!C 2dȐ!C 2dh0C 2dȐ!ÄcȐ|K/|%̗/|ˇ0Cch`> 4x ,hP`>$XA .dC%NXq`>-Zx0|)K/_c/_c/_KϢ| AO@$X   <0… :|1ĉ+gѢE[0 <!O H |O@8p O@ O@,X0_| ,X`|,X`>$XA .dC%NXq`>-Zx0E/|,ZG0_,ZhѢE-ZtϢE-gѢE-Zoa| 泘`IgѢE-ZhѢ|-Zh`>-Zhb| +/_>˗/|̗/|3Ob>-ZhѢEhѢEYhѢE'C_|_|˗_/|8p| H*\ȰÇ#JH|-Zhq`|-ZhѢŊ̗`o`|G0|g0_,ZhѢE-ZtϢE)'p "Lp!ÆB(q@_| O_/˗/ <0… :|1ĉ+gѢEYhѢE-:/_>'0_> W0_/߿|/_|-ZhѢE-:gѢEYhѢE-:'0_>'0_|˗`|˗_> cϢE-ZhѢE˗/E$XA 'p 'p "Lp!ÆB(q"||1G"E)RH"E'p@$H`>8`A&0 H| H*\ȰÇ#JX0_> ̗`>8`| W| H*\ȰÇ#JH|g0_| gb|=gѢE-Z81_>;oa>-ZhѢE;/_|g"|9gѢE-ZH1_>w0|-ZhѢE-:g0_!̗ϢŇ5gѢE-ZX1_|˗a,ZhѢE-Zt`| ;/EkϢE-Zh"|'p  'P G| H*\ȰÇ#JH|3`̗/__0(0_|˗|7?8p| H*\ȰÇ#J`> 4x `|8`A&TaC!F8| ̗a| g0__|_| W0_/߿|/_ 70|+VXbŊ+V|Oa+VXbŊ#Ko`>̗/|˗_>'0| 70_/_̗`*VXbŊ+V0|*VXbŊ+Vl0 O@8P /_| ̗/_o|˗/_0 0 'p "Lp!ÆB(q"Ŋ8`A8`A&TaC!F8b|10|̗O`>O``>_>'0|G"E)RH"EQ,/E)RH"E;a|̗o`> 'p  /߿(0|8߿|7?/'p "Lp!ÆB(q"ŊY,ϢE-Zh|k`>,Z\/|-ZhѢE-Z$Ϣ|-ZhѢE/_W0  4/ 'p "Lp!C$XA .dC擸0D%J(QDI4/|'QĂ5W0D%'QD%J(_> I(QD%J(1D)̗/a|%J$/|I(Q"|%J(QD哸0D%J(QDI%˗/|I(Q"|%J(QD哸0D%J(QDID/_|˗!|'p "LH0_|W0| ̗/| G0_| O߿| O| H*\ȰÇ#*'qa>%J(QD%擨`>'p 8`A&T W0/|O`| '0_>`>3(0,h „ 2l!Ĉ I\OD%J(QD$J(QD;o`|`>#/߿|o`>̇0D%J(Q|(QD%J(Qb>%J(1b70_|g0_|/|̗`>$J(QD#0D%J(QDI(QD˗a|+_ +_o`| ̗`>$J(QD˗O|%J(QD%J'QD%J? ˗` G0߿|'0_>+/_> O@ DPB > ,h| H*\ȰÇ#J0E)R0|˗O`|̗O`| '0|`>C"E)RHb|)RH"E%H"E;/_|(߿(0_|˗/|o`|˗O`? 4xaB 6tbDH"E)R(1E)R0E!H"E)R0E)RH"E(RH"ń(O@$XA SPB *TPB *TP| *TPB *TPB *DOB *TPB SPB ̧PB *TPB *TP*TPB *TPB O| H| H*\ȰÇ A"|!B"D!B/D!B"D ˗|'p 8`A&TaC"D B"D!B_>!B"D˗`|"D!B0 <0… 8`A&TaC!F8q`>)RH"Ņ)̗a>)RH"E)RH"E)RG"E)R0_>0E)RH"E)RH"E)G"E)R0_> ˷0E)RH"E)RH"E)G"E)R0_> ˷0E)RH"E)RH"E) G"E)Rh0߿| ;`(RH"E)RH"E)RH`(RH"E;`G"E)RH"E)"("ʗ?'p "Lp!ÆBT0'p|'p "Lp!ÆB(q"Ŋ/b̨q#NJ H*\ȰÇ#̗/|'QD%J(QD%J(QD%J,OD%J(aw0|%J(QD%J(QD%J(QĂ$J(QDg0|$J(QD%J(QD%J(QD%J(QD3`|%J(QD%J(QD%J(QD%J(QD[/D%J(QD%J(QD%J(QD%J(Q|˗OD%J(QD%J(QD%J(QDI$D)P> /_| H*\ȰÇ#JHŋ3jȱǏ CrO H*\ȰÇ#JHŋ3jȱǏ CO@$XA .dC%NXE5nG!E$YI)UdK1eΤYM9uOA%ZQI.eSQNZUYnWaŎ%[Yiծe[qΥ[]y_&\aĉ/fcȑ%O\e̙5ogСE&]iԩUfkرeϦ]6k$XA O@ DPB >QD-^ĘQF=~0_ȌB 2dȐ!C 2dȐ! 1_Ȑ!C 2dȐ!C 2$|!3 2dȐ!C 2dȐ!Cda|˗o` (߿#A? 4xaB 6tbD)VxcF9v$| ̗_#O`|̗` 2dȐ!C 2dȐ!Cd`̗_>`| ̧0_Ȑ!C 2dȐ!C 2$|`G0|o`>B 2dȐ!C 2dȐ!C/_ `|#_| ̗/_B 2dȐ!C 2dȐ!˗/| a˗/|)O@ DPB 8`A&TaC!F8bE1fԸcdž3/| ̗O` /|o`>|__ 'p "Lp!Å8`A&TaC!F8bE1fԸcDŽ 1GyѣG=zѣGc>=ѣG=zѣG/+#|=zѣG=zѣG=^W0Gy1G=zѣG=zx1_|9c>=zѣG=zb H*, <0… O@ DPB >QD-^ĘQFѣGyѣG=zѣGyѣǂ=zѣG=zb>=zX0G=zѣG=z(0_'p "Lp!ÆB(q"Ŋ/b̨q|̗/|qܘ#G =̗/_|qȑ#G9rȑ#GC/|qܘ#G 9̗/a|9rȑ#G9r1c| k`>/_ ˗o`|˗/|;#G 5̗`>qȑ#G9rȑ#Nj1̗a/߿| G0|O`>S#G 1̗`qȑ#G9rȑ#Nj0_| ̗`|_˗߿߿O@8`A&TaCg0|:tСC:tСC:tСC:tX0| a70_| W0_| /|:ta| ̗`> СC:tСC:tСC:tСCs` C/_ o` o`w0C:t0|g0_>:tСC:tСC:tСC:$0 'p A H`A$/_`|70߿| 'p "Lp!Æ'p|'p`>$XA .dC%NXE5n/|W0|˗O`| ̗O`| '0|Soƍ -̗` ۸qƍ7nܸqƍ˗`>;`'`>| ߿?O@ DPB S_ G0C:tСC:tСC:tСC w0_|C`>6СC&̗0| 3/|:tСC:tСC:tСC:$a| СÆ:tСÄW0|:tСC:tСC:tСC:t0_>1W0CsСCc/|:tСC:tСC:tСC:t0_>5W0CsСCW|8`A&TaC!F8bE1fԸQa|0_|7ȑc|C/_>9rȑ#G9r1_|0_|7ȑc|W0_|9rȑ#G9rȑ? W`> 4xaB8`A&TaC O@ H*\ȰÇ#JHŋ3jȱa;v0_ǎ;vرcǎ;va;v0_ǎ;vرcǎ;va;v0_ǎ;vرcǎ;va;v0_ǎ;vرcǎ;va;v0_ǎ;vرcǎ;va;v0_ǎ;vرcǎ;va H*,'p 0 <0B ? 4xaB 6tbD)VxcF9vD`>%O@ 80,h „  <0… :|1ĉ+Z1ƍ;"W0G˗`|1_|=zѣG=z|y`| ;c|yѣG=zѣĠ0_|70_A? GP`| ̗| ˗o`|#/_|70_|˗/ <0… :|1ĉ+Z1ƍ;"W0|o`>/߿|#o`> 0_>/߿| G0|O`>S`>=zѣG=zb/|#o` G0| 0_>/|`|o`+ϣG=zѣG=zĘ` W0߿|#`| 70| 0|̗o``_>O@ DPB >QD-^ĘQF'0|W0߿|'0|o`|G0_|̗a|+_ +_˗/|ѣG=zѣG9˗/| a˗/|)O@ H | O@+_W0߿|W`|'p "Lp!ÆB(q"Ŋ/b̨q#ǎ̗o`|'0|o`| 70|0_| 70_|o`|o`>/|=zѣG=zѣǂ˗/@ o`߿/߿7070|#(0|/_|(߿ |߿8_>$XA .dC%NXE5nؑb>w0_|c|=zѣG=zѣǂ1c>=zѣG=zc|93/|1G=zѣG=z`>̗Oa|y̘ϣG=zѣG=zX0G˗`|1G=zѣG=z`>%O@ 80,h „ 'p "Lp!ÆB(q"Ŋ/b̨q#ǎ8`A&TX? O@$`> 4xaB8`A&TaC!F8bE1fԸcGA9dI'QTeK/aƔ9fM7qԹgO?:hQG&UiSOF:jUWfպkW_;lYgѦUm[oƕ;n]wջo_ 4xaB 6tbD)&O@ DPB >QD-^ĘQƁqȑ#G'Ǒ#G9rȑ#G#Ǒ#G9r/G9rȑ#G9r/G9rqb|9rȑ#G9r1b|9rȑ#ljqȑ#G9rȑ#Ljqȑ#G'Ǒ#G9rȑ#G#Ǒ#G9r/G9rȑ#G9r/G9rqb|9rȑ#G9r1b|9rȑ#ljqȑ#G9rȑ#G 8? 4xaB 6tbD)˗bŊ+VXbŊ+VXbE <0… :|1ĉWbŊ+VXbŊ+VX? <0… :|1ĉWbŊ+VXbŊ+VX?O@ DPB >QDXbŊ+VXbŊ+VXQ |'p "Lp!ÆB(q"ŁUXbŊ+VXbŊ+V(0_|*VXbŊ+V$/_Ŋ+VXbŊ+VXbŊWbŊ+VX"|*VXbŊ+VXbŊ+V/_Ŋ+VXbŊXbŊ+VXbŊ+VXbŊ+VXbEUXbŊ+VXbŊ+VXbŊ+VX|*VXbŊ+VXbŊ+VXbŊ+VXQa|+VXbŊ+VXbE H*\Ȱ@$XA .dC!'QD%J(QD%J(Qb|$J(Q"|%J(QD 'QD%J(QD%J(Q"|%J(`>%J(QDh`> 4xaB 6tbD)V <0‚.\p… [p… .\p… ˗oB.\p… .\p… .\pB.\p!| .\p… [p… .\p… ˷p| .\p… .\p… .\p!| .\` .\p…-\p… .\p… [P` .\p… .\p… .\` .\H0… .\p.\p… .\p…-\(0… .\p… .\p… .\H@'p "LP` .\p…-\p… .\p… [P` .\p… .\p… .\`|.\p| .\p… [p… .\p… ˷p| .\p… .\p… .\p!|-\pB.\p… ˷p… .\p… .\` .\p… .\p… .\`|.\p| .\p… [p… .\p… .\H0… .\p… .\p… .A <0B.\p… ˷p… .\p… .\` .\p… .\p… .\`|.\p| .\p… [p… .\p!|-,/|O(? $Ϡ ̗ϠA3h` ,? 4xaB 6tbD(Q|%J(Qa>%J(b|Aw0| '0_>I0_>9g0_|A'QD%J(`|$J80D%JTOD%J`|8p? o`> ̗o7p/|/_|7P`| ̗/_>70߿|˗O`|˗_>70_|8`A&TaC!B̗/_Ĉ 1bĈE1bĈ #O`|˗O`'0| 70@O@3h|O| ?˗o`|/߿|_|/| /_|/߿|8`A&TaC!>̗/_Ĉ 1bĈE1bĈ #O`|˗O`˗/_ 70|/_|/_˗o` 70|/|˗`| '0߿|o`#F1bć1|'P@'0_ 8p`O@  <0… :|H0_> ̗O` /_ O`70D'0_ '0_|+0O| /߿|'P`| '0߿|o`>$XA .dC1bD" ̗O`|'0_>̗/_/_>拈0_Ĉ#F`|/|˗O`|70_|̗_|Ea|/_'0_ /|/_ /߿|/| /_|o`#F1bć1|70߿|/_ ̗/߿| ̗/_> /߿߿8`A8`A&TaC!1b| /|/_|/|˗/|_>'0_|/|o`#F1bć1|'PO? /|˗/߿|O_@$Xp`>$XA .dCE1_Ĉ 1bĈ#F1bĂ1| 'p`O ̗/߿|˗o`|o`>'0_> ? 4xaB 6tbDH`(RH"E)2̗/EQ$/_|˗_| 80?߿|/߿  <0… :|1"|$'QD%J(QD˗ODI/|'0_|K0 G?'߿|? $? 4xaB 6tbDI4OD%J(QD%2̗/D(`>7p࿁80_'0_|'P࿁| H | H*\ȰÇ#2̗O|%J(QD%J(a|$J80D%JTOD%J(Q|$'QD%J(QD˗ODI(QD$J(QD%̗O|%J(QD%J(a|$J80D%JTOD%J(Q|$'QD%J(QD˗ODI(QD$J(QD%̗O|%J(QD%J(a|$J80D%JTOD%J(Q|$'QD%J(QD1P> H*o… .\p| .\p… .\p|.o… .\p… .\p… .$/_ .\(0… .\p.\p… .\p…-\(0… .\p… .\p… .\H0_| .\P` .\p…-\p… .\p… [P` .\p… .\p… .\`|.\p| .\p… [p… .\p… ˷p| .\p… .\p… -B -D@'p "LP` .\p…-\p… .\p… [P` .\p… .\p… .\`|.\p| .\p… [p… .\p… ˷p| `|˗/߿| `>O߿|߿ 0@ | /_>'p# /_| H*\h0_| 2d0C 2dȐ!| 2dȐ!C 2d0a| c0߿| /|!70|/|˗O`| '0߿| `3/_>̗/| 70_>G0|'0_> 2d0_| 2d0C 2dȐ!| 2dȐ!C 2d0a| c(0߿|O| _#/|˗/߿| /_| '0|`|#(0_>˗/_o`>'0A <0…ǐ!C 1dȐ!C ǐ!C 2dȐ!C ǐa>˗/߿|o`|#/_| '0߿|/|/|O`>˗/|̗`/|(߿707_>$XA .,/_> 2L!C 2dȐ`> 2dȐ!C 2d0_> 10@_> ̗/ 8P`| ̗/߿|'0|'0| 7p`˗/|7_/_o`| O`/,h „ ̗/C &ǐ!C 2d80_> 2dȐ!C 2d0_> 1/_|O`>˗_|!70|/|/_>O`> `3/_>̗O`| 70_>G0|'0_> 2d0_| 2d0C 2dȐ|2dȐ!C 2dȐa|2p`˗/|'0_|˗/| /|/_O`>? O//_| ̗o`˗/? 70߿|O|˗? 4xaB ˗!C ǐ!C 2\/_| 2dȐ!C 2d0a| cȐ| 2d80C 1dȐ!C 2\/_> 2\0@ H*\P!|O@ DPB >a| (!|'p "L0!|'p "L0@ H*\0_| 2d`> 4xaB 64 <0… :|1|$'QD%J(QD˗OD8`A&TaC H*\ȰÇ#B̗O|'p|/߿/߿7p ,h „ 2l!Ĉ'QD%'QD%J(QDI4Ob|O`>/_'0_>'0|%J(QD˗OD%J̗OD%J(QDh0Ą˗_>G0_'0_>˗_>(QD%JH0_|%J(Qb|%J(QD%J/D$&Oo߿|/? /߿|O@ DPB >1b|$J(Q|$J(QD%J1_>ILo`O`|o`'0|'0D%J(QD(QD(QD%J(Q"|$'1a'0| ̗/|˗_>/|%J(QD˗OD%J̗OD%J(QDh0Ą ߿|/߿ 8߿|7P߿8`A&TaC!Fl/_>%J(1_>%J(QD%B̗O|%Jx0D%J(QD(QD(QD%J(Q"|$'QD%J(QD˗OD%J(QD%J(Q|$'QD%J(QD˗OD%J(QD%J(Q|$'QD%J(QD˗OD%J(QD%J(Q|$'Qb> _70߿|7`>߿| H*\ȰÇ˗/bĈ#F1bĈ#F1bĈx0_Ĉ970_>_|70|O`|1bĈ#FT/_#F/_|'0_|˗O |߿ _ 70߿_ <0… :|1DM,a|˗_|/|/_|#o`|O`70| '0߿|_|&N8qĉ7qĆO`|#/|/|'0|ao`'N8qĉX0|O`|/|'0|(_ /߿ _>O`>/߿|'0,h „ 2l!D1bDO`|70_| G0|70|'0|"F1bĈ#Fa>0@|_| o`|˗/,h „ 2l!Ĉ 7`>'0|70|'0| ̗_>'0_|!'0| ̗o`8qĉ'̗/ĉO`/߿|˗/| /_| 70_|`|'N8qĉ7`>o`|/_ (߿G0߿_#H?70| _|'p "Lp!ÆB/_#FO`>'0|/|`>O`˗/| 70_Ĉ#F1bĈx0|#F1bĈ#FQa|"FQ`>#/_> oo`߿|| o`|˗/,h „ 2l!Ĉ 7`>&N`>8`A&TaC!FD/_>%J(QD%J(QDh0D%J(QD%Jd/_>%Jl0@ H*\ȰÇ#JH|, gѢE-ZhѢEhѢEYhѢE-Z/E,̗/|`|˗/| ̗/_/_|!̗/? /߿|'P`|˗/߿|˗O`| ̗/|`>O@ D0a|*TPB *D/B *TPB *TPB *$/B)Th0| ̗/|/|/߿| /|70|/|˗O`| /߿|_>/| ̗_ ̗0| '0߿| *T`|*TPB *D/B *TPB *TPB *$/B)Th0_70_|'0߿| ̗o`>̗`/_|߿|__߿|/߿_/߿ /|G0,h „˧PB *TP!|*TPB *TPB *TP!|*$Oƒ`|G0߿|˗/_`|70|/߿| /߿|˗_>˗_> G0| '0_| o`|˗/B *$/_> *TPB ˧PB *TPB *TPB ˧P!| &̗/|+`O|̗Oa| ̗/߿|'`˗/߿/߿80_|70/| 80| ? 4xaB˷p… .\0a| .\p… .\p… .,/…-\H0|˗_ /_>'0߿| ̗/߿|;o`>'0_> '0_|'0߿| 70_|o`|'0_/a#o…  ̗/… .\p„-\p… .\p… .\`|  ̷pa| ̗/_/_|˗O`|˗/|'0_|0_> ̗/| ̗o`>o`/_˗O`|˗/_/_|70_|70|˗/߿| H̗/B *TPBSPB *TPB *TPBS`> ̧PB)TPB)TP| *TP`|*TPB *$08`A&TaC!F8|*WbŊ  <0… 'P ,h „ ̗/C 2dȐ!B <0… :|1ĉWq`+VXbŊ+>̗/_Ŋ+VO| H*\ȰÇ#JHQ`|h0_|˗/_| ̗/_˗|?7߿o`(0_|8? 4xaB 6t`| B"Ą ? 4xaB 6tbD) ̗| _w0| ̗/| G0_ /߿|'0|˗`|bŊ+V/_+V`>8`A&TaC!F8|*W`|'0|`|+o`|˗_/_>O`>/|UXbʼnXbŊ(? 4xaB 6tbD)̗| ˗O`C/_ˇ0_| /߿|/|'0_|`|'0_Ŋ+V(0_|+VXQ`|*VXbŊ+V$/_Ł*"̗_S/_>)̗O`_|O`|_>/_|UXbŊWbŊ˗bŊ+VXbEUb|/| ̗/߿|;o`>'0_>߿|_>O|'0,h „ 2l!|A"D A"D!B"ăAD| /_| ̗/|/_|70|_|_>˗o` '0|!B"D"D!B"D!B"DAD"DA|!B"D"D!B"D!B"DAD"D (? 4xaB 6tbD 7q"|7p@8p(߿o7p@8p` 8P߿ o7p@ 8P(߿ o@$XAK`>$XA .dC%NXa|,ZhѢE-Zha>(0E-ZhѢE ˗ϢE-ZhѢEh1_>Y,/_> /_>+/| ̗/@ o`'p| ̗/_̗/? /߿o|_8? 4xaB ˗!C1dȐ!C 2dȐ!C 2dȐa> "̗!|  ̗O` /|#/| ̗/| ̗_>;o`˗`#/߿|_|O`70߿|!C 2  ǐ!C 2dȐ!C 2dȐ!C2d0_> 1d(0_|/_̗/߿| ̗/| ̗_>#O`|̗`| ̗/߿|_/__/߿|_O@ DP„cȐ| 2dȐ!C 2d!C 2d!Cc0CG0߿|'0_|/||GA/_G`|__>O`|'0|/| H*\_|6daÆ 6lذaÆ 6lذaÆ 2̗| +`|70_>˗O`>˗_|G0| G0_> 70_|˗/߿| ̗/|'0|˗/| 6lذ|5l0_Æ 6lذaÆ 6lذaÆ 6d/_Å6̗O`'0_ G0|/߿|70߿| w0|˗_O`|/߿|˗O`>_/߿|_>$XA .d/_| 2װaÆ 6lذaÆ 6lذaÆ pa ˗O |/߿ O| ̗_>'P_߿ o`> ̗/| ̗o`o`/_>o`>O@ DP„cȐ| '0_ ˗/| g0_1\/_| )̗/_|!C 2dȐa> "̗!| 2dȐ!C1dȐ!Â2dȐ!ÁcȐ| ̗_>+/|Ko` Pa|S/aO`> 2dȐ!C2d0_> 1dȐ@ O@ D!|'p "Lp!Æ2̗/D-̗_|0߿ 7? //߿|O`>'0_O|@ ̗o|/߿|  <0… 2СC9TϡC:tСC:t!|9t0|˗/߿| '0|/| W0_| /_ W0|'0|O`|O`O`|O`>:t|:/C:tСC:tСC"̗/C 1̗_|/|̗o`| /_|˗O`˗O`/߿|`|˗o`?˗O`|O`>$XA .da> ̗ϡ|1СC:tСC:D/_>&̗_|/|/_>'0߿| ̗O`˗O`'0_ ̗/߿|/߿| ̗O`|O`>:t|:/CsСC:tСC:&̗_|˗/|˗_>/_|W0_|/_70@o?7?'0_|/_|'p "Lp!Æ 9tP`|s/_> O@ H*\ȰÇ#JH`|*VX1b*VDOa+VbEUa> /| WbŊ+VX"|UbE 'p "LX`>8_>$XA .da|:̗a| O_>$XA .dC%NH0_|#XbŊ+VXb|+ ̗| ̗`>bŊ+VXbE1_|̗/@ O0@'߿| _ @$XA .dC(a| s/_>0@O@ DPB >QDW1b>3o`ˇ0| ̗_| /_> '0|XbŊ+V0_UO`+VXbŊ˗b| /??߿8P`|/_O`>˗O`>_>$XA .dC%N4/E(̗/E)RH"EGQb˗_| G0_|̗0_| /߿|'0|'0_|"E)RH|(G"E)RH"EGQb O|O| oO`|/_>/_>O`>$XA .dCE0_E1bĈ#F1bĈ1"| ˗_| 70|˗/| /_> ̗O`>_>/b#F1b`#F1bĈ#Fa|"F$a˗/|'`>'p`|o`| ̗/߿|'0|  <0… :|a`#F1bĈ#Fa|"F$/bā"F/bĈ#Fa`#F1bĈ#Fa|"F$/bD  <0… :|1ĉQH0_>QH"E)RH|Q"E)RH"EQH0_>QH"E)RH|QH"E)RH"ʼn(R$/E(70|)RH"E)&̗/E ˗0D/߿_?o/,h „ 2l!ă"FT/_ă"F1bĈ#F1bD1b>/|O`|˗o`> ̗_ '0_Ĉ#F1"|#*̗/|#F1bĈ#F1"|EH0|˗/߿|O`|˗_| ̗/߿| ̗`|̗O`| ̗/߿|̗/_#F1bD"FT/_ă"F1bĈ#F1bD`>O`|˗_> ̗Oo߿|_ /߿|?O@ DPB >80_Ĉ x0_Ĉ#F1bĈ#F0_|#0|/_>'`>߿ /߿O_߿ /߿'? 4xaB 6t"|#*̗/|'p|/O 80߿ /߿| ? ̗/| /| ̗/@ |O| /_|˗/@ O| ̗/_>0@ Hˇ!B!$o`> ̗_'0_>/|'0_|/_O`|̗O`>$XA .dC%6̗ob|/| ̗/| ̗0| '0|˗O`'0_70_'0|'0_|`>_W0| ̗`|'0_/|˗o| ̗/_'`> 7߿/߿o` ߿|(߿߿'p "Lp!ÆB(a| 曈0|'0|70_|70| /_|/|/_̗/߿| ̗/| ̗O`>#/| W0_#`>_>曨0_|'0|'N8qĉ'N8Q`| 曈`>߿O'p|`>/_|_|G0߿|'0_|_>/?(0_|'0o|/_| #/|/_>/_ '0|̗_C/_>#``> GQb>)RH"E)RG"|(G`'0| ̗/| /|'0߿|'0_> ̗O`|`> '0_˗o`>`0߿(0|˗/ ̗/|_'p ̗/B <0… :|1ĉ+&gb|X`>߿|70߿'p |/߿_߿|7@o(0|O` ߿/߿|_߿8P߿ /߿8`A˗!B O@ DPB >QDh1_>Yh"|-N1| |YϢE-ZhѢE,Z̗Ϣ|-2O@$X"D`>8`A&T| ̗/_Æ 5lذaÆ 6lذaÆ 6lh0_Æ pa 6lذaÆ 6lذaÆ ˗aÆ 6lذaÆ 6lذaÆ װaÂ5\aÆ 6lذaÆ 6lذaCkذaÆ 6lذaÆ 6lذaÆ5lذ`| kذaÆ 6lذaÆ 6lؐa|6lذaÆ 6lذaÆ 6lذ| 6,/_Å6lذaÆ 6lذaÆ 6d/_ kذaÆ 6lذaÆ j (,h B%Lh0,h „ 2l!Ĉ'R0_|!hѢE-Zhb>(0E-ZhѢE ˗"|-ZhѢE-Rgb|hѢE-Zh"|YϢE-ZhѢE+gQ`>-ZhѢE-̗/E,.`>o`߿8P |o8߿|7߿| o`|˗o|/_|8p8p 8_>8`A&T`| cp`cȐ!C 2dȐ!C 2dX0_| 2!Ä 70_>_|70|70| ̗/|'0߿|o`|̗O`|a>˧0| 2d`| cȐ!C 2dȐ!C 2dȐ!CcȐ| /_|/|˗/|/|/߿|G0_#/_#O`|/_|̗/߿|/_>/_/|˗O`|˗/  7p࿁ O| H | 4hРA4h`>$XA .dC%NXa|,B̷0|/|'0_> '0@ _߿?˗/| ̗/_ /߿|@/| ̗/@//| ̗O`|O`> ̗O`|O`> /8_>$XAK`>$XA .dC%NXa| G1|O`|(? o`_/߿|'߿8P`>o`>/_|G_>#/|/_|/|O`|˗o`| ̗O`'0|_> $(0,h B%Lh0,h „ 2l!Ĉ'R0_|壘oa> '0_> '0_> g0|O` ̗/|/|'0_>/_>/|70|˗O`|'0|/_| '0_> ̗O`| '0_>峘Ϣ|, gѢE-ZhѢEK/߿|˗bo`|/_ (߿G0߿_#H?(߿߿O _@/_| /|˗_| 0@ /߿o࿁'_>$X`> 4hР| 4h0,h „ 2l!Ĉ'R0_| '0߿|,*gѢE Y0EMgb|hѢE-Zh"|!70_|峨0E(? 4xp`>O@$X'P ,h „ [p|.o… .\p… .\p… .$/_>_| .\p… .\p… .\pB.\0_ [p… .\p… .\p… ˗/!|_O@'p "Lp!ÆB(q"Ŋ Y/E,ZhѢE-ZH0_|!擘/_ /߿ @˗o|(08_'0,h „ 2la0a>|Ç>|| !|O`_| ̗O`>_| Ka>{Ç|&Ç>|Ç>D/_>{a˧0__>/_;_>0@ o`> ̗/߿|'p`o/,h „ 2l!Ĉh0D%J(QD%>O@$/_> $H A O@/__>'P|?O`>O`> ̗|O`|/|O` <0… :|1"|$'QD%J(QD 80̗/A $H A'p@/| /| /_|_>˗O`'0_>O`| ̗O`'0|'0_>$XA .dC '`> O߿/ ̗/|o`>$XA .dC 8`A&T O`O`>/|/|'0|/@/|'0_> '0| ̗? 4xaB 6tx0Ç{0Å/| /_>̇0߿|_|=|Ç>t0 <0…80_| /| O//_| ̗O`>/_|O@ '_ <0… :$C=La|˗O`|/__>CO`_|=|Ç>t0 H0_| $H A08`A&T`> *ǐ!C 2d_> "̗!| /| 7`>|_ /_|? 4xaB 6tb˧0_|% 7`>8`A&O@$X |(? 4xaB 6tb|#*̗/|(߿|߿/߿߿| (0| '0߿| H*\Ç#̗Oa|$Jo`|$J(QD%J(Qb>'`>_>O`| /_>̇0| 70_>%J(QD'Q|%J(QD%J(`>'`'0| O߿| (| /_>o`>$XA .dC˗OD'0_|#/_'0_|˗O|SOa>$'QDI0_>I(Q"|%J(QD˗OD /| ̗O` ̗_1|1̧0| !0D%'Q"|$'QĂ  <0… :|1ą8Qb|̗o`O`/߿|˗O`|˗_>/?o o@/_|O`>$XA .T!Cc0C 2dȐ!C 2dȐ!C ̗/C ch0_|̗o`O`G0|o`>`>'0_> /|O`> ̗_> ̗O`|/߿| ̗O`2dȐ!Ã2d0_> 1dȐ!C 2dȐ!C 2dȐ|1dP`>G0_ #_>;O`|G0_|W0_˗/|/|/߿߿|_`>/߿o8`A&T| 6,/_Å6lذaÆ 6lذaÆ 6d/_ kH0|˗_ /_>'0߿| ̗O`O`/߿|/| ̗_>/|/|w0|/| 6lذ| 6,/_Å6lذaÆ 6lذaÆ 6d/_ kX0_|˗_|˗/|/_>/|˗/߿|'p` 7| G0? O ?7߿? 4xaB 6t_|"D!B"D!̗/DA\"DA0ĄCO`>!Bb| ""D!B"D!B4/_> "Ć'P ,h &O'p "Lp!Æ̗"|!B"D!B"D`>!B"D!Bb>!|,h „ 2l!Ĉ'R8? 4x| g0_> ̗0a„ K0a„ &L0a„ &LH0_„ "̗/a„ H*\ȰÇ#JH"D$XA%L/_|˗_%LX0_K0a„ &L0a„ &L0_„ "̗/a„ H*\ȰÇ#JH"D$XA%/_>W0|/|/߿|0@8߿ 70߿ <0… :|aQ!|,h „ 2l!'R? 4x| /| /|!'0|O`O`| ̗_/| &L0a„ &L0a„%L0!|&L0 <0… :|1ĉ+BO@ D(0_'0_'0| '0_>˗O`|/|_'0|K0a„ &L0a„ ̗0a„O@ DPB >QD-^Ĉ1|W0|a>'0߿|'0߿|O`|/|#/_|3f̘a˘1cƌ3f̘1cF/_| '0_#/߿||߿/߿|7߿8`A&TaC!"1|"F1bĈ#F1bĈ#F0_Ĉ#'0_Ĉ#F1"|#*̗/bĈ#F1bĈ#F1bD"'`>8`A&Tx0_| .\p… .\` .̗? 4xaB 6tbD)Vx#|3f̘1cƌ81_3f̘1cƌ3fd/cƌ3f̘1|'˗1cƌ3f̘1cƌ 9̷0|/|˗_|70|0 ߿ o`'p @? G0_|70_|W0_>˗/_,X` ,X`| H*\ȰÇ#JHŋ[/߿|/߿|_>/_'0_'0| ̗/| ̗O`>w0_>'0߿|˗O`| ̗O`| ̗O`|o`|̗O` ̗`|˗1c|2f̘1cƌ3f̘a˗/|˗/߿|/|#/_/|#/|/_#/|'0|;/@/_/߿|߿/_/߿_˗/߿|/˗/߿|G0_O@ DP!|8`A&TaC!F8bE120|'0_S/_|/? ?߿'@_> ̗/߿|/|8p@ /߿|߿_>$`>O`|˗|/| ˗ A'p "D/,h „ 2l!Ĉ'Rh"F0 ߿| H0|/|70|_˗O`>G0|G A/_`>`>˗`|#_|# G 8`A"̗? 4xaB 6tbD)Vx#| ̗o`>'0| ̗_>/_/߿| '0_>/_>/|970|_|#Oa> ̗o`|/| ̗_|C/߿|e/_ƌ3f̘1cƌ320_|/_|Oa|70߿|˗/_ (_`/߿/߿O O߿| (| (0|`>'P`˗/|˗/_? 4x!|8`A&TaC!F8bE12g1|3f̘qba̗qb|3f̘1cƌ3f̘Qa|2f̘1#|'P ,h &La| H*\ȰÇ#JHŋ3jȱǏ 3 0_!C 2dȐ!C 2dȌB.̗/dȐ!C 2|`>/߿8߿(0߿|7pO@ DPB >0_Ĉ 1bĈ#F1bĈ#F`o`>_ 70_>;_1|"F1bĈ Qa|#F1bĈ#F1bĈ#`|W0|'0|/|'0߿| ̗_|˗/߿| 1bĈ#F80_Ĉ 1bĈ#F1bĈ#F` 70|'0@ _'p| /'0_>8`A&TaC!F8_|)RH"E)RH"E(.̗O`O`>/_>O` 'P <0… :|1ĉH"E)RH"E)2GaO`o`> w0߿|W0|"E)RH|(RH"E)RH"E Q<_|#/| O//_| 70_|/_O@ DPB >80_Ĉ 1bĈ#F1bĈ#F`#FDO`1bĈ#F/bDE1bĈ#F1bĈ#Fh0_Ĉ'P O@ DPB >qa>'QD%J(QD%J(`>%J(QD%Jh0D(QD%J(QD%Jh0D%J(QD%J4ODI(QD%J(QD%J4OD%J(QD%'Q"|$J(QD%J(QD%J(QD%J(QĆ$JD/D%J(QD%J(QD%J(QD%J0D(QD%J(QD%J(QD%J(QD(a|%JH"$H"$H"$H" <0… :|1ĉ+&gb|-ZhѢE-Zh"|-ZhѢE-Rgb|-ZhѢE-Zh"|-ZhѢE-Rgb|-ZhѢE-Zh"|-ZhѢE-ZX1_>-ZhѢE-Zh`>-ZhѢE-Z/E-ZhѢE-ZH0E-ZhѢE-V̗ϢE-ZhѢE-Z$|8߿|o`߿7P ,h ‚&L0a„ &L0| &L0_>$XA .dC%NXE ]70|O` ̗/|/߿|o`˗1cƌe/_ƌ3f̘1cƌ320_'0_| ̗/߿| /|/|/_/c|˘1cƉ2N̗/cƌ3f̘1cƌ[O`|'0@ _߿߿'@߿| H 'P ,h „ 2laÇ>|Ç>|Ç -O__/߿|'߿_? 4x!AO@ DPB 6|>|Ç>|Ç>|a_>O`| /_>o`/|C ? 4xaB 6t0Ç{Ç>|Ç>|Ç ˗O`>0@/߿/߿߿ <`>'p "Lp!Æ{a|>|Ç>|Ç>|ÇA <0… :dC=|Ç>|Ç>|Ç>|!B <0… :\C=|Ç>|Ç>|!|>|C=|Ç{a|>|Ç>|Ç>|0Ç>|a|>|C>t/Ç>|Ç>|Ç2Ç>t/Ç>|Ç{Ç>|Ç>|C>|Ç{Ç>|a|>|Ç>|Ç>|0Ç>|a|>|Ç:̗Ç>|C=C=C=C(߿߿ o7p@ 8P(߿ 7p@8p` 8P߿o8p 8P'p "D/,h „ 2l!Ĉ'Rh"ƌ7rԘ/_ǎ;v/_ǎ;vرcǎ;v1_;v81_;vرcǎ;vQc|;vqb|;vرcǎ;vر|:vر|:vرcǎ;vرcGuرcljuرcǎ;vرcǎs/_ǎ;v/_ǎ;vرcǎ;v1_>uرcǁuرcǎ;vرcǎ;/߿|˗cǎ;̗cǎ;vرcǎ;vԘ/| `| H*\ȰÇ1bĈ#F1bĈ#F1bĈ#F`| ̗/߿|"F1bĈ1bĈ#F1bĈ#F1bĈ#F`| '0߿|"F1bĈ1bĈ#F1bĈ#F1bĈ#F`|8/,h „ 2l!ĂE1bĈ#F1bĈ#F1bĈ#F'p "Lp!ÆB(q`|&N8qĉ'N8qĉ'N0ĉ80,h „ 2l!Ĉ˗oĉ'N8qĉ'N8qĉ Mx`>8`A&TaC!FH0_|'N8qĉ'N8qĉ'NLoD  <0… :|1D8qĉ'N8qĉ'N8qb|'"̗/_'N8qĉ7qĉ'N8qĉ'N8qĄ&NL/_'N8qĉ7qĉ'N8qĉ'N8qĄ&NL/ĉ'N8qD8qĉ'N8qĉ'N8qb|'N8qĉ'N/_'N8qĉ'N8qĉ'&7qĉ'N8qĈ8qĉ'N8qĉ'N8qb| ˗obW`>8`A&TaC!F/_>%J(QD%J(QD%JTOa|哘`|/|I(QD%J%J(QD%J(QD%JT/a|/_/_|˗/_ ̗o`| ̗/_> 7? 4xaB 6t|E1bĈ#F1bĈ#F1bĆG0_ '0߿|˗_|/_|'PO?'?'p "Lp!ÆBD/_#F1bĈ#F1bĈ#F0_|/|/_| ̗_> 'p`?'_>$XA .dC 1bĈ#F1bĈ#F1bĈK/|/_|+08P|#8`A&TaC!&̗/_Ĉ#F1bĈ#F1bĈ#FlOa|o`>'0__|/|O`/|E1bĈ#&̗/_Ĉ#F1bĈ#F1bĈ#Floa| 70_|˗/|˗O`|O/߿ |O@ DPB >0_|#F1bĈ#F1bĈ#Fa#F1bĈ#FX0_|#F1bĈ#F1bĈ#Fa#F1bĈ#FX0_|#F1bĈ#F1bĈ#Fa#F1bĈ#FX0_|#F1bĈ#F1bĈ#Fa#F1bĈ#FX0_|#F1bĈ#F1bĈ#Fa#F1bĈ#FX0_|#F1bĈ#F1bĈ#Fa#F1bĈ#F O@ DPB >QD-^ĘQ|7nܸqƍ ˷qƍ7nܸqƍ'+08p8߿߿ o8p 8P(߿߿o7p@8p  <0… :|1ĉ+Z1Ɖ ۸qƍ7^w0_|7nܸqƍ7nܸqb6nܸqƍ̗/ƍ7nܸqƍ7n`7nܸq|˷qƍ7nܸqƍ'+oƍ7nx1|mܸqƍ7nܸqƉ ۸qƍ7^w0_|7nܸqƍ7nܸqb6nܸqƍ ˗oƍ7nܸqƍ7NW0ƍ7nܸq#|mܸqƍ7nܸqƉ ۸qƍ7n$/_7nܸFmFm4@(0,h „ 2l!Ĉ'R`|*VXbŊ+VXbŊ+6WbŊ+VX"|WbŊ+VXbŊ+VXa+VXbŊ;/_+VXbŊ+VXbŊ UXbŊ+V0|UXbŊ+VXbŊ+Vl`+VXbŊ;/_+VXbŊ+VXbŊ WbŊ+VX|WbŊ+VXbŊ+VXa*VXbŊ+V`|*VXbŊ+VXbEUTQCO| H*\ȰÇ#JHQ`XbŊ+VXbŊ+V0_|+VXbŊ+ w0_|+VXbŊ+VXbŊ+bŊ+VXbE˗bŊ+VXbŊ+VXb|UXbŊ+V(0|UXbŊ+VXbŊ+Vl`+VXbŊ˗bŊ+VXbŊ+VXb|%̗/|/_| Oo`| o| o`|˗/| 70_| ̗O`'0_|8p|8p˗? 4xa|'p "Lp!ÆB(q"Ŋ/b̨qb'0|W0_+/|o`>#O`|/|'0|'0߿| ̗_|b|̗_6F̗/ƍ7nܸqƍ7n`> _>o`O``>̗/߿|'0߿|W0߿|/|0߿'p "`|8`A&TaC!F8bE1f81|˗_|/|˗O`>˗/|/_|/|W0_|˗O`+/_O`|˗/|/߿|˗_>'0_>/|mT`|6nܸqƍ7nܸq|'0߿|70|/| '0|̗/߿|G0_|'0|70_ 'P/? ߿'? 4xaO@ DPB >QD-^ĘQ|O`>/| W0_>'0| G0|/_>3o`|'0߿|˗O`|/_| ̗_>/|O`|/|;/_7nܸqƍ7n81_| 70|(߿߿70߿߿|o`7P|߿|o'߿ o` '_o`߿ O@ D/|'p "Lp!ÆB(q"Ŋ/b̨qb6nܸqƍ̗/ƍ7nܸqƍ7n`7nܸq|˷qƍ7nܸqƍ'+oƍ7nx1|mܸqƍ7nܸqƉ ۸qƍ7^w0_|7nܸqƍ7nܸqb˗O`| ̗/_>/_|70|˗_|E/|7n1|mܸqƍ7nܸqƉ {O`/|_>'0|/߿| H`| <0… :|X0|A"D!B"D!B"D+a>_>G0| /|̗O |_ O@ DPB >,`| B"D!B"D!B"D0_|˗_>̗/_O`/_|_>'0_"D!B4/_>!B"D!B"D!B|=G0|̗`>G,O``|'0_/|!B"D"D!B"D!B"D!B`_|˗O`O`>_(0/|? 4xaB 6ta| B"D!B"D!B"D0| ̗/_>/_|G0_>/_|/|/߿|A"D;/_>!B"D!B"D!B|!Ba>!Bb|"D!B"D!B"D!B"D!2"D!Bl`| B"D!B"D!B"DA"D!B"D˗"D!B" " " " | ? 4xP`>˗O`>˗o |70߿8`A&TaC ;/_>!B"D!B"D!B|Atb|O`|˗O`|'0D!Ba"D!B"D!B"D! W0D0'P`|˗_|O`|˗O`| O`>$XA .dC˗"D!B"D!B"D!B(0_|_> ̗O`>'0_O`|O|# <0… :|H0|A"D!B"D!B"D+| ̗/߿|W0|/_| ̗_|_>"D!2w0_|!B"D!B"D!B"D 惸0| ̗O`|'0_> ̗O`>˗_|G0|!B"D˗"D!B"D!B"D!B(0_|˗|߿O|?__'p "Lp!Æw0_|!B"D!B"D!B"D "D A"D!˗/D!B"D!B"D!BQ` Bd0@ H*\ȰÇ#J̗/D%J(QD%J(QD%*W0D%J(QD%̗/D%J(QD%J(QD%*W0D%J(QD;/_>%J(QD%J(QD%JTOD#Oă '0| O70߿| H*\0|'p "Lp!ÆB(q"Ŋ/b̨qb %̇0|!'0|'0_|`>۸qb۸qƍ7nܸqƍm40o?߿| O@ Dx0_| '0_|'0_O` &L0a˗? 4xaB 6tbD)VxcF̷1| /|'0_o#|'0|0G߿| H*\x0|'p "Lp!ÆB(q"Ŋ/b̨qb6˗/߿|'`>@? 4x|'0|/_#O`>&L0a„ ;/_>$XA .dC%NXE5NW0|'0߿|O`|'0F'0|/_#O`>6n`|6nܸqƍ7nܸq|mO G߿߿ Ho`| `>_? 4xaB ;/_>$XA .dC%NXE5NW0ƍ7noƉ˗oƍ7nܸqƍ7NW0F  <0… kذaÆ ̗/,h „ 2l!Ĉ'Rh"ƌ'+oƍ7nx1|mܸqƍ7nܸqƉ ۸qƍ7^w0_|7nܸqƍ7nܸqbO`> ߿|7߿ o`߿߿߿ |߿| o`>$XA .d_|:tСC:tСC:tСC:4`>/|70| '0| /_|'0߿| /|/_>#_| '0|9tСC СC:tСC:tСC:tС|9̗_| '0߿|̗/_`>#/_ 3O``>_>_>:tpa|:tСC:tСCr!r!r!@8p`|'0|(߿/߿70߿ /߿|'P`| ̗/|o|˗/߿|'0|/_| H*\`O@ DPB >QD-^ĘQ|/|70|˗O`_>`>_> #O`O`6nh0|mܸqƍ7nܸqƉ*/_o`> ̗O`_ ̗/|G0|/_>#O`O`6nh0|mܸqƍ7nܸqƉ*/_o`> '0|O`_|'0߿_70߿ _? 4xaB w0_| H*\ȰÇ#JHŋ3j`7nܸq|˷qƍ7nܸqƍ'+oƍ7nx1|mܸqƍ7nܸqƉ ۸qƍ7^w0_|7nܸqƍ7nܸqb6"/F6nܸqc|˷qƍ7nܸqƍ'+o#|50ƍ7nL`|6nܸqƍ7nܸq|Y̗|_>̗_/_ ? H*\ȰÇ;/_#F1bĈ#F1bĈ#F0_| /|/߿| /_/߿| 1bĈ#F0|E1bĈ#F1bĈ#F1bĆ H`>/߿O|/߿|(_/,h „ 2l!Ĉ1bĈ#F1bĈ#F1bĈ `/|+`|70߿| 1bĈ#F1_|#F1bĈ#F1bĈ#Fa"̗/_> ̗_ ˗/߿|/_| G0_Ĉ#F1"|E1bĈ#F1bĈ#F1bĆ 1"|#F1bĈ̗/_Ĉ#F1bĈ#F1bĈ#Fl/bą  ? 4xaB 6t"|1bĈ#F1bĈ#F1bĈ1bĈ#F1bD˗/bĈ#F1bĈ#F1bĈ#61bĈ#F1bĈ̗/_Ĉ#F1bĈ#F1bĈ#Fl` EL/_>'p# ,h „ 2l|"D!B"D!B"D!B`>AT/_>o`|`> B"D ̗/D!B"D!B"D!BQ` 2̗/@7?˗_|˗_o|? 4xaB 6tp`"D!B"D!B"D! W0ąO`|`> /_O |7|O@ DPB >`| B"D!B"D!B"Dqa>˗_|+O`|˗_|o`G0|!B"ą˗"D!B"D!B"D!B(0_|_> ̗O`>'0߿|70|/߿| "D!B\`| B"D!B"D!B"Da|'p A߿|'߿? #/߿ <0… :|`|>|Ç>|Ç>|Ç+Ç>Ç>|0|=|Ç>|Ç>|Ç*W0Ç(? 4xaB 6tbD(QD%J(QD%J(QD (QD%J(QD(QD%J(QD%J(QD (QD%J(QD(QD%J(QD%J(QD$JTa>$J(QD ̗/D%J(QD%J(QD%*'!|߿8߿7? 4x|8@$XA .dh0|'p "Lp!ÆB(q"Ŋ/b̨qb6_>/|W0߿|m_>'0_> /ƍ ;/_7nܸqƍ7n81_|˗_>0 O|  <``>(_>$XA .d0|'p "Lp!ÆB(q"Ŋ/b̨qb6_>/|+_>6B/|O`|mܸ`۸qƍ7nܸqƍ̷`>7_'p "<_>/_/_K0a„ &L(0|'p "Lp!ÆB(q"Ŋ/b̨qb6nܸa>۸q|˷qƍ7nܸqƍ'+o#F O@ DPa|-\p… w0_| H*\ȰÇ#JHŋ3j`7nܸq|˷qƍ7nܸqƍ'+o#| ̷qƍ1;/_7nܸqƍ7n81_|[`7nܸ`|6nܸqƍ7nܸq|m̗/߿|/_> ̗/߿|oƍ7n/_7nܸqƍ7n81_| '0߿|'0_> /ƍ7nH0_|7nܸqƍ7nܸqb6˗/|O`|(_>$XA .dC ;/_>%J(QD%J(QD%JTO| /_> ̗O`|I(QD%:w0_|%J(QD%J(QD%J0ć _/,h „ 2l!Ĉ̗/D%J(QD%J(QD%*'Q|OD%J(qa(QD%J(QD%J(QD 0|%J(QD̗/D%J(QD%J(QD%*W0D%J(QD;/_>%J(QD%J(QD%JT`>%J(QD%:w0_|%J(QD%J(QD%J0_|%J(QD%Jt`|$J(QD%J(QD%J(Q!@(0,h „ 2l!Ĉ'R`|*VXbŊ+VXbŊ+6W0_Ŋ+VXbŊ̗/_Ŋ+VXbŊ+VXbņ XbŊ+VXQ`XbŊ+VXbŊ+V0_|+VXbŊ+*̗/_Ŋ+VXbŊ+VXbņ XbŊ+VXQa|*VXbŊ+VXbŊ+6W0_Ŋ+VXbŊ WbŊ+VXbŊ+VXa*VXbŊ+V`|*VXbŊ+VXbEUTQCO@ DPB >QD̗/_Ŋ+VXbŊ+VXbņ*VXbŊ+VD`|*VXbŊ+VXbŊ+6WbŊ+VX"|WbŊ+VXbŊ+VXa'p /,h „ 2l!Ĉ̗/D%J(QD%J(QD%*W0_|O`E/|%J(QD̗/D%J(QD%J(QD%*W0_|/| ̗_|O ?? 4xaB 6tb|1bĈ#F1bĈ#F1bĈ+/!|/߿__O? O@ DPB >1|E1bĈ#F1bĈ#F1bĆ Ko`O`> _O?@ O@ DPB >1|E1bĈ#F1bĈ#F1bĆ Ko`> '0| /߿|/|70|"F1bĈ!;/_#F1bĈ#F1bĈ#F0_| (߿߿_Oo` <0… :|a1bĈ#F1bĈ#F1bĈ 1bą"F1bĈ;/_#F1bĈ#F1bĈ#F0_|#F1bĈ#F1_|#F1bĈ#F1bĈ#Fa"F1bĈ#Fb|"F1bĈ#F1bĈ#F1b|E1bĈ#F1"|E1bĈ#F1bĈ#F1bĆ K/bĈ#F1bĈ̗/_Ĉ#F1bĈ#F1bĈ#FlP>$X0,h „ 2l!Ĉ'2w0_|)RH"E)RH"E)*0E)RH"E̗/E)RH"E)RH"E 9G"E)RH|G"E)RH"E)RH|!G"E)RH|G"E)RH"E)RH|!G"E)RH|G"E)RH"E)RH|QH"E)R0|QH"E)RH"E)R0_|)RH"E)2w`> H*\ȰÇ#JHŋ3j`7nܸq|˷qƍ7nܸqƍ'+oƍ7nx1|mܸqƍ7nܸqƉ ۸qƍ7^w0_|7nܸqƍ7nܸqb6nܸqƍ ˗oƍ7nܸqƍ7NW0ƍ7nܸq#|mܸqƍ7nܸqƉ ۸qƍ7n$/_7nܸqƍ7n81_|7nܸqƋ˗oƍ7nܸqƍ7N̷qƍ7n(0|mܸqƍmFmDO@ DPB >QD̗/_Ŋ+VXbŊ+VXbņ*VXbŊ+VD`|*VXbŊ+VXbŊ+6W0_Ŋ+VXbŊ̗/_Ŋ+VXbŊ+VXbņ XbŊ+VXQ`XbŊ+VXbŊ+V0_|+VXbŊ+ w0_|+VXbŊ+VXbŊ+/a|˗/߿|O |߿70߿o`O|'0_|˗o`O`| ̗/_>'0_|˗/|70_8p`8p/_>$XA .dC%NXE5NW0|O` 70|/߿| '0| ̗`|_>/߿|O`˗O`|'0_|/߿|Ob+/|1w0_|7nܸqƍ7nܸqb3O`˗o` #_>O`>G0_|g0|/_| ̗/߿|'0_|'0߿|̗|'_AO ,|'p "Lp!ÆB(q"Ŋ/b̨qb3/_|˗_/_|/_|˗/|/__70_|/_| /߿|/_|'p߿|߿| OO /߿| ߿|7? WP`|8`A&TaC!F8bE1f81_|'0߿|70|/| '0|̗/߿|G0_|'0|70_ /| '0A OO /߿o O@/_>$XA .dC%NXE5NW0|O`'0|̗O`| 70|70|˗O` /| /|/_>W0| ̗_>#o`> '0_ /_>70_> G1_|7nܸqƍ7nܸqb˗o`>'P߿o`߿|o7߿߿O(| | _> ̗/_> ̗_ /߿|'0_| /_|8p|'p "Lp!ÆB(q"Ŋ/b̨qb6nܸqƍ ˗oƍ7nܸqƍ7NW0ƍ7nܸb۸qƍ7nܸqƍmܸqƍ7 w0_|7nܸqƍ7nܸqb/_|˗O`|˗/߿| '0߿|/_|G0ƍ7Fw0_|7nܸqƍ7nܸqbO` ̗/_>#_| /|Q/|7n1|mܸqƍ7nܸqƉ(0'0߿|7_|/| /| /@/߿| <0… :|X0|A"D!B"D!B"D+a|˗/߿|+/_| '0|˗_| '0߿|O`| "D!Bt`| B"D!B"D!B"D0|G0_O`>_/|/߿|A"D;/_>!B"D!B"D!B|=G0|/_|G0| _@'0_/| H*\ȰÇ̗/D!B"D!B"D!BQ`#O`>'0_|˗_|'0|˗o`|/|`>!Bb|"D!B"D!B"D!B`>!Bh0D!Ba"D!B"D!B"D! W0D!B4"D!B0|A"D!B"D!B"D+"D!B"D!2̗/DADADADADAD P>  <0… :|1ĉ˗bŊ+VXbŊ+VXb|U|b|+VX|UXbŊ+VXbŊ+Vl`UbŊ+V4`|*VXbŊ+VXbŊ+6Wqb|'p࿁ /_|0@7p <0… :|(0|A"D!B"D!B"D`>/|#O`| '0_>_|/D!Ba"D!B"D!B"D! | ̗/߿|W0|O`|'0߿|'p ,h „ 2l!|"D!B"D!B"D!B`>_> ̗O`>'0|_>'0_ B"D ̗/D!B"D!B"D!BQ` B/_ HP/?_? 4xaB 6t0|=|Ç>|Ç>|Ç*W0Ç>|/Ç>|a{Ç>|Ç>|Ç>T`O@$XA .dC ;/_>%J(QD%J(QD%JT`>%J(QD%:w0_|%J(QD%J(QD%J0_|%J(QD%Jt`|$J(QD%J(QD%J(Qa$JTa>"S`(QD̗/D%J(QD%J(QD%*W0DCOa/|%J(b(QD%J(QD%J(QD `> ߿@ /߿'p "Lp!Æ˗Ç>|Ç>|Ç>|Pa>O`O`|/_| '0|'0߿| ̗O`| /_|>|C{Ç>|Ç>|Ç>T` ˗_>0 O| '0|'0߿| O_ O@ DPB &̗/Ç>|Ç>|Ç>||=|80| /|/_| '0|'0߿| ̗o`70Ç>|_{Ç>|Ç>|Ç>TÄ 8߿7߿7߿|_ /߿ H*\ȰC˗Ç>|Ç>|Ç>|Pa>|a>||Ç>|Ç>|Ç>|0_|>d0@ H!D!B"D!B̗/,h „ 2l!Ĉ'Rh"ƌ'+oƍ7nx1|mܸqƍ7nܸqƉ s/_|˗_| ̗/|7nܸqc|˷qƍ7nܸqƍ'+a>70_>˗/|7nܸqc|˷qƍ7nܸqƍ'+a>70|oƍ7nl`|6nܸqƍ7nܸq|9O7O@ DPB >Q"|7qĉ'N8qĉ'N8qĄ so`/߿|˗oĉ'N8q"|7qĉ'N8qĉ'N8qĄ so`'0_ ̗oĉ'N8q"|7qĉ'N8qĉ'N8qĄ s/_|˗|߿| H*\ȰÇ#Jd/_'N8qĉ'N8qĉ'&W0ĉ'N8qĉ˗oĉ'N8qĉ'N8qĉ 7qĉ'N8qą8qĉ'N8qĉ'N8qb|M8qĉ'N8q`8qĉ'N8qĉ'N8qb|'N8qĉ'NL`|&N8qĉ'N8qĉ'N0Ą_|˗/?߿G`>$X` 70O`>/_|G0A 4hРA/_>$XA .dC%NXE5N̷_|70߿| '0_| 70߿|71߿|70_|/߿| /| ̷q|˷qƍ7nܸqƍ'+b|˗/| '0_|o`+/?O| @_|/|70_>O@ DPa| <0… :|1ĉ+Z1Ɖ /߿|˗/|/_|̗_`>'0_>/| /| g0߿|/|˗/_oƅ˗oƍ7nܸqƍ7NW0|˗o`|'0|/_# |'߿| ߿7_O| ̗/߿|_? 4xaB ̗/,h „ 2l!Ĉ'Rh"ƌ'+b|70߿| '0_|70߿|G0|O`|/| ̗/|'0_>o`۸qa۸qƍ7nܸqƍg1_˗O`|'0|o`>g0_|70_#0o '0@ O߿8`A&T0|'p "Lp!ÆB(q"Ŋ/b̨qb6nܸq#|7*w0_|7nܸqƍ7nܸqb6nܘ`>8`A& O|/,h „ 2l!ć˗/bĈ#F1bĈ#F1bĈ#61b|'0_> G0|1bĈ#Ft`|"F1bĈ#F1bĈ#F1b|#'0|˗O`| ̗O`#F1bD˗/bĈ#F1bĈ#F1bĈ#6W0_DO`|`> 1bĈ#F0|E1bĈ#F1bĈ#F1bĆ 1_|8_ <0… :|a1bĈ#F1bĈ#F1bĈ 1bD"F1bĈ;/_#F1bĈ#F1bĈ#F0_|#BO@$XA .dC ;/_>%J(QD%J(QD%JT`>%J(QD%:w0_|%J(QD%J(QD%J0_|%*0|$J(QD̗/D%J(QD%J(QD%*W0DCOa$J(QD̗/D%J(QD%J(QD%*W0ć _o <0… :|`1bĈ#F1bĈ#F1bĈ b>_> ̗O`|'0߿|#F1bĈ1bĈ#F1bĈ#F1bĈ+/b|'0߿|8? _>O@ DPB >0_|#F1bĈ#F1bĈ#Fa"B'0߿|'0_W0߿|1bĈ#F0_|#F1bĈ#F1bĈ#Fa"BO G߿߿? 4xaB 6t"|1bĈ#F1bĈ#F1bĈ1bD1bĈ#F$`|"F1bĈ#F1bĈ#F1b|#Fd0@ ? 4xaB 6t"|1bĈ#F1bĈ#F1bĈ1bĈ#F1bD˗/bĈ#F1bĈ#F1bĈ#6W0_Ĉ#F1bĈ#"w0_|#F1bĈ#F1bĈ#Fa"'p /,h „ 2l!Ĉ̗/D%J(QD%J(QD%*W0_|O`E/D%J(Q"|'QD%J(QD%J(QD 1|'0|0߿| H*\ȰÇ#w0_|%J(QD%J(QD%J0_|(___8`A&TaC!F<`|$J(QD%J(QD%J(Qa"_|O`|'0_/D%J(Q"|'QD%J(QD%J(QD 1|O`>/߿|OD%J(b(QD%J(QD%J(QD 0@/߿/߿|O@ DPB >a|$J(QD%J(QD%J(Qa$JOD%J(Q|I(QD%J(QD%J(Q|I(QD%J(Q"|I(QD%J(QD%J(Q|I(QD%J(a(QD%J(QD%J(QD$J(QD%J(Q`(QD%J(QD%J(QD'p /,h „ 2l!Ĉ̗/D%J(QD%J(QD%*0|_|0D%J(Q"|'QD%J(QD%J(QD ̗0|'0|/_|(_O࿁O@ DPB >0|E1bĈ#F1bĈ#F1bĆ K0@_?__O8`A&TaC!Bw0_|#F1bĈ#F1bĈ#Fa_|O |_O7P8`A&TaC!Bw0_|#F1bĈ#F1bĈ#FaO`| '0|/|'0߿| '0_#F1bD˗/bĈ#F1bĈ#F1bĈ#6W0_B _|?_߿'p "Lp!ÆBl`|"F1bĈ#F1bĈ#F1b|Eqa#F1bĆ˗/bĈ#F1bĈ#F1bĈ#6W0_Ĉ#F1bĈ#"w0_|#F1bĈ#F1bĈ#Fa"F1bĈ#Fa1bĈ#F1bĈ#F1bĈ 1bĈ#F1bĈ1bĈ#F1bĈ#F1bĈ+/a#F1bĈ#F4/_#F1bĈ#F1bĈ#FQCO| <0… :|1ĉG"E)RH"E)RH|%G"E)RH|G"E)RH"E)RH|QH"E)R80|QH"E)RH"E)R0|)RH"E)w0_|)RH"E)RH"E)*0E)RH"E̗/E)RH"E)RH"E G"E)RH"|G"E)RH"E)RH|QH"E)R0|QHEQDEQDEQDEQ@(0,h „ 2l!Ĉ'R`|*VXbŊ+VXbŊ+6W0_Ŋ+VXbŊ̗/_Ŋ+VXbŊ+VXbņ XbŊ+VXQ`XbŊ+VXbŊ+V0_AAG$8߿ A#H? #H AG$8߿'p|'p "Lp!ÆB(q"Ŋ/b̨qb7nܸqF۸qƍ7nܸqƍmܸqƍ7*̗/ƍ7nܸqƍ7noƍ7nܸQa|6nܸqƍ7nܸq|7nqƍ ˷qƍ7nܸqƍ'۸qƍ7nT/_7nܸqƍ7n81ƍ7nܸq|mܸqƍ7nܸqƉ6nܸqƍ˗oƍ7nܸqƍ7N̷qƍ7nܨ0_|7nܸqƍ7nܸqb7nܸqF <0… :|1ĉ+Z1Ɖ6nܸqƍ˗oƍ7nܸqƍ7N̷qƍ7nܨ0_|7nܸqƍ7nܸqb7nܸqF۸qƍ7nܸqƍmܸqƍ7*̗/ƍ7nܸqƍ7noƍ7nܸQa|6nܸqƍ7nܸqD$XA .dC%NH? 4xaB 6tbD)VxcF8`A&TaC!F8D$XA .dC%NXE5VO@ DPB >QD8`A&TaC!F8bE1fX`> 4xaB 6tbD)JO@ DPB >QD-^ĘQF=~RH%MDRJ-]SL5męSN=}TPEETRM>UTU^ŚUV]~VXe͞EVZmݾW\uśW^}X`…;;PK&PKa9AOEBPS/img/adawith.gif7GIF87aX?**?***UU?UUU????**?*******?*******U*U?*U*U*U**?*****?*****?*****?***UU?UUUU*U*?U*U*U*UUUU?UUUUUUUU?UUUUU?UUUUU?UUUUU?UUU?**?***UU?UUU?????**?***UU?UUU?????**?***UU?UUU?ժժ?ժժժ???**?***UU?UUU?????***UUU,X H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0ct 0 <0…8 A$XA *O@ DPB >QD-^ĘQF!a  <0B  <0… :|1ĉ+Z1ƍ;6#| #|yѣG=zѣGy0|y0_>=zѣG=zQc/_|70_|˗_| 70߿|/_|!̗c>ѣG=zѣG3;O`>'0| ̗O`>o`/||̗_|˗_|˗/߿|_>/_ /_|˗_>/|yѣG=zѣG;/_|˗O`˗/߿| 70߿|/_|/_'0|/_|'0߿|/_| ̗_>/߿| +ϣG=z#<# ('p|/߿|#O`>o`/A8p /|0߿|7P 0@߿| O@ <0… :|1ĉ+Z1ƍ;˗`'0| ̗O`>'0| ̗_> ˗`|/߿|/|_>O`>'0߿| /|#ϣG=zѣG=z_ O`| ̗/_/_|˗O`˗/|˗`|70_|/_|/_|/_>'p`߿ o| H*\ȰÇ#JHŋ3jȱ#|="g0_QD-^ĘQF=~RH%MDRJ-]SL5męSN=}TPEETRM>UTU^ŚUV]~VXe͞EVZmݾW\uśW^}X`… FXbƍ?Ydʕ-_ƜYfΝ=O| H*\ȰÇ#JHŋ3jȱǏ C~̗/_'RH"E)RH"E)ra|˗OH"E)RH"E)Rd|'RH"E)RH"E)a| )RH"E)RH"Ei0_D)RH"E)RH"E̗a|"E)RH"E)RH" 0_D)RH"E)RH"E0_|"E)RH"E)"|,h „ 2la>$X`> 4xaB 6t0,h „ 2l!Ĉ'Rh"ƌiԨQ#|˧QFӨQF5jԨQFiԨQc| 3/߿|5j0F5jԨQF5j̧QF3`|5j(1F5jԨQF5f̧QFkOF'ӨQF5jԨQF4jԨb| ӨQƉ4jԨQF5jԨc>5j/_|4jԨb>5jԨQF5jOF+˗`|4jԨb>5jԨQF5jOF/'p@$XA .dà B"D!B"D!Ba>!B"DO@ DPB >L"D!B"D!B"D"D!B"D!B<"D!B"D!B"D"D!B"D!B<"D!B"D!B"D"D!B"D!B<"D!B"D!B"D"D!B"D!B<"D!B"D!B"D"D!B"D!B<"D!B"D!B"D"D!B"D!B<| H*\ȰÇ#JHŋ3*̧QF8`A8`A&TaC=|Ç>|Ç>|Ç=|Ç"̗/C{ÇÇ>|Ç>|ÇÇ>|x0_|˗Ç>|Ç>|Ç>|Ç>,Ç>|`|Ç:Ç>|Ç>|ÇÇ>|X0_%̗Ç>tÇ>|Ç>|Ç>,Ç>|`| S/Çz衆 <0… :|1ĉ+Z1|5jX1_A'p "Lp!Æ 9tСC:tСC:tСCsСC:T_|O`˗/_`>:ta|:tСC:tСC:tСÆ:tСC˗`>o`|/_>:tСC9tСC:tСC:tСCsСC:0'P`>o`|8?8 ,h „ 2l80C:tСC:tСC:ta>:tСC˗`>/߿|/|%̗ϡC:DϡC:tСC:tСC:t0C:t| W0| ̗/|˗/|sСCsСC:tСC:tСC6СC:t/|:/|:t|:tСC:tСC:tСÆ:tСC1̗ϡC1СC9AO@ DPB >QD-^ĘQa>5jDa|0FӨQF5jԨQF g |,h „ 2$ gР| 4hp`| g`A$XA O@,X|O@ DPB >QD-^\08`| 'P ,h „ *O@$X_>˗ϠAg| O@$XA 'P G /_|8`A&TaC!F8bE˗`|C/_>12̗/|8`A8` /_> 4hРA˗| ˗/O@ DPB >QD-^4/|C/F˗a>k/FCa| È#F1bĈc| #/|è0_|0F 1̗/| %̇1a|5̗`>aĈ#F1bĈb|0_|0.W1F-̇#| KO`>3`0_> ˇ#F1bĈ#Ƈg0_> W0_|˗/߿|`>'P`|/?o| /_|`>7?8p| H*4oa/|/_˗_|'0_|'`> o80'p "Lp!ÆB(q"Ŋ/`> ̗0|/_|/_/|˗_|˗_>_>˗/߿|O`g0|]1|+/߿| /|/|˗_>/|˗_|g0_>/|#ŋ/^xŋw0|Ko`>/_>'0|70_>O`|'0|_˗_| /O@ DPa|˗` /_>`>'0|_|/_>˷P`|W0… .\p… .\p… .\ |$0 O|8߿/߿80߿|O`> /0@߿| O@$XA .d? ̗_'0߿|0@70߿ ߿'p |,X?#8`>'p "Lp!ÆB(q"Ŋ%`>0|'0_>O`> /߿| '0|`> /|'0|x"|̗O`| '0_|g0_ '0߿| /_ ̗O`"w0|]xŋ/^xQb>3/|̗/_ //_O |O|80߿@7_>$XA .\_|˗_˗_|;0G0߿|#@̗o/_ /| H*\ȰÇ#JHEg0_>wŇ]xb X0|{O`|̗ŋ/^xŋg0|+"|'p  'P ,h`|o |'p Ϡ3h`|/,h „ 2l!Ĉ'Rh"|G1_>1B̗#FÈQb|[/F1bĈ#F#˧0_>aĈa|1b/_>!g1_>aĈ#F1bĈQb|˗b|0b0_|1b/_>˗b|˗#F1bĈ#F8 ,h |'p "LpB O@ DPB 'p ,h „ (? 4X`>'p "Lp!ÆB(q"Ŋ/2O@$XA H*\Ȑ ,h „ 2lh`> 4xaB8`A'p`>$XA .dC%NXE5nG!E$YI)UdK1eΤYM9uOA%ZQI.eSQNZUYnWaŎ%[Yiծe[qΥ[]y_&\aĉ/fcȑ%O\e̙5ogСE&]iԩUfkرeϦ]mܹuo'^ H*\ȰÇ!'p A H*\Ȱ| H*\ȰÇ#JHŋ3̧QF)S0@ H*\ȰaB O@ DPB >QD-^Ęq`>5jH1|iԨQ|iԨQF5jԨQ|5jԨbӨQFiԨQF5jԨQ| '0߿|(_O| O70߿O o`>/_70_|'0_|˗/|˗/_Gp`># AO@ D0_„ "̗? 4xaB 6tbD)Vxc|/| 70| ̗O`>+O`|̗o`>˧0| ̗_/߿| '0| ̗O`> 0|'81_|3f̘1cƌ3f̈1|'0߿| 70|O` _> G0߿| '0|˗` _O`> 3|7_ O80_|_|'0_|/|˗/_˗O`|'p`80_>$XA .dC%NXEw0? ߿߿80|'0|/߿|˗/߿|8p| '0_|7p` /| ̗O`70|/߿|˗_ ̗/߿|/_̗_|˗_|˗/߿|_>˗/߿|/߿|/߿|/ ? 4xaB 6tbD)Vx|_|o |'p`>O`'0_|˗/|o|8_| ̗/_ ̗o|o`/_|˗o˗/_˗/|o`|(0|/|˗O`_|(0|O`>/  <0… :|1ĉ+Z |/_>o`> '0_>#/|#/_|#_>#/|/|o`O`|$(`>'p`|o7P /|0߿|(? /_|O |'p | O@ DPB >QD-^1_ ̗O``>'0| ̗_> /_>˧0_|o` ̗_/| ̗O`>˗`_>/|/|/|˗/߿|/߿| /߿|'0߿|'0|;`3f̘1cƌ3f_ ̗O``>'0|o`#_|/_| /@ _| /_|˗O`| /_>'0_| /(P`O`|`> 7?˗_/_/_/| O` _ ? 4xaB 6tbD)Vx|3f̘1c>2N̗1#|2f̘1cƌ3f̘c3f̘1|26O@$XA(? 4X0_| H*\ȰÇ#JHŋ1˘1cƌ̗/cƌ˗1cƌ3f̘1cƌe̘1cƌ˗/cƌ˗1cƌ3f̘1cƌ˘1cƌ!̗/_ƌ3̗/_ƌ3f̘1cƌ3f/cƌ3f̧`>8`A&TaÄ  <0… :|1ĉ+Z1@$XA .dC8@$XA .da>$XA .dC%NXE5nG!E$YI)UdK1eΤYM9uOA%ZQI.eSQNZUYnWaŎ%[Yiծe[qΥ[]y_&\aĉ/fcȑ%O\e̙5ogСE&]iԩUfkرeϦ]mܹuo'^qɕ/gܹm$XA .dСC$(`>8`A ? 0 H*\ȰÇ#JHŋ3jQa;vO!|O@(@ H |O@ DPB >QD-^ĘQFuر|w0_| w0_| w0_|;vرcǎ;v\cNj:v_>)̗/a| K/|:vرcǎ;v0_ǎ!̗/| W0_|(? o`>/_>/|#/| O70Gp`|#/A/_|#H0_> ̗? 4xaB 6tbD)VxcF4jX0|o`>/|#o`>/|O`|O`| W0| ;`>̗`̗`>iԨQF5jԘ`> 4xaB 6t? 4h0|#/߿| '0||70|o`|70| g0| 3/| w_|3`| H*\ȰÇ#JHŇ.^\E.w0_ `| ̗/_K`˗/|0@ (0|/A/AG0߿|˗/_>O`|#(0_>$XA .dC%NXѢ|/6w|C/_ `|_| ̗/_> 'P|70߿ ̗/_>Gp`>GP`>/_> ̗||O@ DPB >QD-6wŋ櫘/_| +_>/_| ̗0| /_|/@ ߿|߿| O`|'p@@08_>˗? 4xaB 6tbD)V0ŋ/^$b|̗o`|'0|O`| 70_|/| '0|'0_|o`g0_|w0_|70_| w0|xŋ/^x"|/^x`>;/_|(߿ ߿|߿|| /_|/| /A ߿|߿|/_ /7p`|̗o|80 ? 4xaB 6tbD)VLob>,Zh1b>hѢE̗`>̗a|3`|U̗b>-ZhѢŇ (?  A$XA .d0!G A? 4xaB 6t0|̗`| ;/_|+? 'p@$XA .dC%>̗/|9̗0_|'N8_|拘`'N8q`-̗a| C/| s/_|˷0_|7qĉ'N8a|˗a>M8qDC/b&N8qā˧0_-̗/a| ;a| K/_>8qĉ'N0_>0|8`Md/|7qĉ'̇0_|˷0_|˷0_|w0_|3/ ̗ A'p "Lp!ÆB(Qa|̗a>171bMd/|7qĉ'̧0_|'P 0@ O@(| 80A#(0/AO@ DPB >Qb|0_/_|g0_|˗_˗|O|˗_ ߿'P`| ̗/?o 7P`80@ H*\ȰC H|O@'p`>$XP |O@$/A ̗|$/,h „ 2l!Ĉ `>C`/|/_/_/|˗|_?_|˗_>o|7p? 4xaB 6tbDKO`|̗o`>3"E)RHQb|3/|/_| '0|˗_>'0|70_o`|'0|O`|g0|;"E)RH"| w0|a>)RH"Ń H GP |,h?'0|/_| ̗/_o| ̗_>/_| O`/|8?8`A8`A&TaC!F8Q!|$08 A <0… :|1|g0_| +_>3/|'0| '0|/__>+O`O`> w0_|I(QD%J(Q`w0_|(QD%J0߿|3/| +_>30#(߿|O|/߿| `>(0|8߿|7?#H |O@ DPB >QD`>/|QH"E)Rw0|QG"EH0E)RH"E/|O` H"E)R`>&`>8`A(? 4H`>8`A;x|8`A&TaC H*\Ȱ| +`|c/C:tСC2̗a| СC:,/Å sСCСC*0_>̗a|:tСC:t0_>99tСC:tС|!̗/CsСC˗!|9tСCsСCs/|)̗a|:tСC:tp`|s0_>8`A&TaÂs0_|70_|̗/| ̗/_>w0߿|Oo70  <0… _| ˗a|˗ϡC:tСCO@ H H*\ȰA$X ;O`| '0|o`>|o` /| ̗`>"D!Ḃ!| O@8P ,h „ 2l!Ĉ'Rh"ƌ#`̗_G0_Oa 70|G0|mܸa7nܸqƍ7nܸb70_| W0_| /|/|w0|;oƍ mܸqƍ7nܸqƍa|+_ +_˗/|/|˗_>/_|˗a7&̗oƍ7nܸqƍ7n/_`߿|(0߿|7p/| o| O`|O@ DPB 8`A&TaC!F8bE1fԸ|/_> 70_>70|Oa70|O`>w0_ǎ;vرcǎ;vرcG˗/@ o`70߿o`>_> 70_|'P߿| /,h „ 2l!Ĉ'Rh"ƌ7r| A$H A $H A91H  $H A $H AN$ȁ@ $H A $H r`> A $H A | A$H A $H A91H  $H A $H ANO@ DPB 'p "Lp!ÆB(q"Ŋ/b̨q#ǎ? )r$ɒ&OLr%˖._Œ)s&͚6o̩s'Ϟ> *t(ѢF"Mt)ӦNB*u*ժVbͪu+׮^ +v̀;;PKb77PKa9AOEBPS/img/adamode.gifGIF87aX[?**?***UU?UUU????**?*******?*******U*U?*U*U*U**?*****?*****?*****?***UU?UUUU*U*?U*U*U*UUUU?UUUUUUUU?UUUUU?UUUUU?UUUUU?UUU?**?***UU?UUU?????**?***UU?UUU?????**?***UU?UUU?ժժ?ժժժ???**?***UU?UUU?????***UUU,X[ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѢ HA H*\ȰÇ#JHŋ3jȱǏ CBW1H"E)RH"E)Rd|)RH"E)RH"EW1H"E)RH"E)Rd|70|"E)RH"E)RH!/_>)RH"E)RH"E ` w0H"E)RH"E)Rd|/߿|)RH"E)RH"Ew0߿|w0H"E)RH"E)R|;_>O@ O@ DPB >QD-^ĘQF=~91|'0_4 2dȐ!C 2dȐ!C`/| 2dȐ!C 2dȐ!C>W0_| 2dȐ!C 2dȐ!C:W0_| 2dȐ!C 2dȐ!C:W0_| 2dȐ!C 2dȐ!C6g0_| 2dȐ!C 2dȐ!C2g0_| 2dȐ!C 2dȐ!C2g0_| 2dȐ!C 2dȐ!C2g`> 4(? 4x_>$XA .dC%NXE5nG ̘/dȐ!C 2dȐ!C a 2dȐ!C 2dȐ!C22c!C 2dȐ!C 2dHBf2dȐ!C 2dȐ!C 0_ȌB 2dȐ!C 2dȐ! 1_Ȑ!C 2dȐ!C 2$|8`A 'p 'p "Lp!ÆB(q"Ŋ/b̨q#ǎ?d`>( 2dȐ!C 2dȐ!Cd`>( 2dȐ!C 2dȐ!Cd`>o |'p`8P`>$XA .dC%NXE5nG w0| '0| 2dȐ!C 2dȐ!C2g0|o`>棘/dȐ!C 2dȐ!C ` 3`a>B 2dȐ!C 2dȐ! 3`> o`>棘/dȐ!C 2dȐ!C `> , /| (`> 4x ,h „ 2l!Ĉ'Rh"ƌ7r| +`o`>棘a| A $H A $ȏ3`G0_|!G1| A $H A $Ȏ;`>({$H A $H A1|yG1| A $H A $H 3c>  $H A $H Af̗b><棘b| A $H A $H"3c>" $H A $H Ab`> <(0B!D/,h „ 2l!Ĉ'Rh"ƌ7r#|O@ $ g`| H*\ȰÇ#JHŋ3jȱǏERc@ $H A $HERc@ $H A $HERc@ $H A $HERc@ $H A $HERc@ $H A $HERc@ $H A $HEg`> 4xa| o  <0… :|1ĉ+Z1ƍ;z0_|d`@ $H A $HEg0H 拘$H A $H A1_|d`@ $H A $HIW0| ̇0_| `>80@8p| H*\ȰÇ#JHŋ3jȱǏIW0|`o`> 擘$H A $H A1|/_> #/_C`>@ $H A $HMG0|/|o`>曘$H A $H A1|;_3`| ̇0|( $H A $H AbW1_|O`|̗o`˗/_| A $H A $HO@ w0߿|;o`|? 4xaB 6tbD)VxcF9va>O`|˗o`|Cc> A $H A $|dc> A $H A $|dc> A $H A $|dc> A $H A $|dc> A $H A $|dc> A $H A $|dc> A $H A $|8`A& ? 4xaB 6tbD)VxcF9va> = $H A $H Ab| A $H A $H@$H A $H A 1| A$H A $H A`> A $H A $H A$0 <0… :|h? 4xaB 6tbD)VxcF9vX1Ǐ?~Ǐ?~ǏǏ?~Ǐ?~c| H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷p ;;PKzLPKa9AOEBPS/img/adaproc.gif:GIF87aX;?**?***UU?UUU????**?*******?*******U*U?*U*U*U**?*****?*****?*****?***UU?UUUU*U*?U*U*U*UUUU?UUUUUUUU?UUUUU?UUUUU?UUUUU?UUU?**?***UU?UUU?????**?***UU?UUU?????**?***UU?UUU?ժժ?ժժժ???**?***UU?UUU?????***UUU,X; H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹8`A&T 0 <0…8` H* O@$XP |,h „ 'p 8? 4xaB 6tbD)V/ŋ)O@$XA O@$H`>8`A&40@ H |O@(? 4xa‚  'p A$XA .dC%NXb>- ̗0_|-Z/_>ha|˗`|˗Ϣņ[/|YhE-Zh1a>- ̇0_>-̗Oa|-F̗/_|˗0_>!˗/a| hѢE-Zh"|70_|˗`|˗/|o`'0_|;/Ń,Z̗a|-/|˷0_>5g"|˷0_>-ZhѢE-"w0| ̗|_? 70| ̗_7p|8`AC!B;/Ḃ`> w0_>;/‚w0B̗`|  <0… :|1ĉ+Jw0| ̗`|`_S`|˗_˗O`|'0_| /߿|W0_|˗|7?80_˗O`|_|'p` 7_(0߿|/o7p`|'0_| /_ ̗/߿|˗|780 8p|8`A&TaC!F8bE;O`>˗`|70|'0_#_|/_|/_|/߿|O`˗_/_/|g0_>W0_/߿|/߿|/_˗_/߿|g0_w0|˗`>_>_| ̗/߿|O`|/߿|G0߿| 3/E-"," (_>/_|˗_>#(0_|O`˗/|#80#/|/|˗O`O`|#O`'0|˗|˗| ̗_>'0|˗_|˗|˗o`>#/_> G_|˗O`>#(0_'0_|'0|˗/|/|$HP`>$XA .dC%NX |O`|˗`70|'0_080|/@/߿|߿/߿ /߿8?8p 0@70߿|oO/_ O H | O'0߿|˗_'`>?_>O H |O@ DPB >QDw0_|o` ̗_'0| ̗_> ˗`|/|/|_>O`O`/|̗/_|'0߿| /|O`|w0߿| /|˗a+O`|`>O`> /|_>3/|9gѢE-ZhѢł;`˗/|_|/_|/_/߿|O//| ̗/߿| ̗/߿|o`|'0?/߿ O|/_˗|7po ?O`|#(0_Gp`>/_>/_|/_'P|_/߿/_ /,h „ 2l!Ĉ'R(1E3/_|-Z$/| hb+/|ha 3/E-ZhѢEhѢ|#"D O@ ̗`|-ZhѢE-"gѢEgѢE)̗ϢňK/|g"|%̗Oa|-ZhѢE-ZDϢE%̗/E˗/|Y0_| ;/_ha|˗`|,ZhѢE-Z0ES0@ H*<0@ H |'p "Lh`>8 A$'P ,h „(? O@ H*\ȰÇ#JHbE$XA .$'p "Lp@$Xp |,h „ 'p 8? 0 <0| H@ <0… :|1ĉ+Z1ƍ;z2ȑ$K<2ʕ,[| 3̙4kڼ3Ν<{ 4СD=4ҥL:} 5ԩTZ5֭\z 6رd˚=6ڵlۺ} 7ܹtڽ7޽| 8 >8Ō;~ 9ɔ+[3 ;;PK?:PKa9AOEBPS/img/amd80003.gifGIF87aX<?**?***UU?UUU????**?*******?*******U*U?*U*U*U**?*****?*****?*****?***UU?UUUU*U*?U*U*U*UUUU?UUUUUUUU?UUUUU?UUUUU?UUUUU?UUU?**?***UU?UUU?????**?***UU?UUU?????**?***UU?UUU?ժժ?ժժժ???**?***UU?UUU?????***UUU,X< H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`Ê`>8`A/A4h |߿| HP`>W`  <0… :|1ĉ+Z1ƍ;r̗O`|.1|[/߿|˗0|yѣG=zѣG70|/_|˗O`O`| ̗/| '0_|˗/|#/_| ̗/_G0_>˗/|o`/G=zѣG=z!|O?7P?߿|/߿߿|O?O /߿ O'߿߿_/,h „ 2l!Ĉ'Rh"ƌ7r`>O? @_|˗/|˗o`/_(0|/7_| /|o`>O@ DPB >QD-^ĘQF= ̗_>O@ O`>7P`| 70߿|o`70_ `>/?'߿|/߿'_/߿'p "Lp!ÆB(q"Ŋ/b̨q#ǎ/߿|/_>'0__|O`>/_70߿|70_/|/|/߿|/߿|o`>=zѣG=zcC o` |/߿߿_/߿70߿ O| ̗/_ ̗/_(o <0… :|1ĉ+Z1ƍ;z,ǍQ0Ǐ?~Ǐ?~`9棘a| H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]z`> 4xaB 6tbD)Vxcƌ H*\ȰÇ#JH|-ZhѢE-ZhѢE,ZhѢE-Z0E-ZhѢE-ZhQb>-ZhѢE-"gѢE-ZhѢE-ZϢE-ZhѢEYhѢE-ZhѢE%hѢE-Zh"|-ZhѢE-ZhѢE,ZhѢE-Z0E-ZhѢE-ZhQb>-ZhѢE-"gѢE-ZhѢE-ZϢE-ZhѢEYhѢE-ZhѢE%hѢEYdEY@8`A&TaC!F8bE1fOF5jԨQ#|5jԨQF5jԨQa>5jԨQFiԨQF5jԨQF4jԨQF5B̧QF5jԨQFӨQF5j1F5jԨQF5jTOF5jԨQ#|!̗Oc|2G0_>˧Q|2G0_>˧QFӨQF5j1|g0_| 71|;`4*̗/|˗aӨQFiԨQF5"'p A_|˗o`|o`/_|˗/|Wp`>'0_|#/_ ̗_|˗O`| 70|/_|˗O`>+(0_|` ̗/| H*\ȰÇ A"D!B"Ds_|`> O`/| O@/߿| G_> A/_|(? 70|o`>'P ˗O`#/|  <0… :|0D!B"D!BQa'0| g0_>o` /|O`#O`>#_|o`>`%'0߿| W0| "D!Bx0D!B"D!BQa/_|˗O`|;/_>0@ o`'p|/_|˗O`|˗/_70A˗_| ̗//_ |o ˗/_>/_|˗/?߿8`A&TaC"D!B"D!*"Dx0D!:`>!B"D B"D!B"D A"ăA"D"D!B0D!B"D!BQa>!BL0 H*\ȰAO@ DPB >a>%J(QD%J1D%J(QD%J(QD (QD%J(QDI(QD%J(QD%J(`>%J(QD%J1D%J(QD%J(QD (QD%J(QDIa|%J(QD%J(QD(QD%J(QDI<`>/_|K/_|( 7p7p@$XA .dC%NXa>-ZhѢE-"0_>'0_|˗/| /|/|_>70| 70E-ZhѢEYhѢE-Zha'0| ̇0_oa| /|'0߿| ̗/|YhѢE-Zh_>-ZhѢE-"0_|`>/| w0| ̗/_>O`'0߿|ϢE,","(,h „ 2l!Ĉ'R81| ̗/_/߿|˗/߿| ̗/_'0_|/_|( 7PO@ DPB >QDhѢE-Zh"|-̗/E YhѢE-ZH1E-ZhѢEhѢE-ZhѢE-JgѢE-ZhѢE,Zl0 H*\ȰÇ#JHŋ aĈ#F1bĨ0F1bĈ#F1b0F1bĈ#F aĈ#F1bĈ#F aĈ#F1bĨ0F1bĈ#F1b0F1bĈ#F a<#F C#F1bĈ|1bĈ#F1*`>8| H*\Ȱ` 6lذaÆ 6lذaÆ 5lذaÆ 6lذaÆ 6lp` /_|˗/|/_|˗_|˗|7?˗/߿| ̗/_>(߿ /_| H*\ȰÇ#JH`+VXbŊ+N0_|(߿߿ 0_'p|8߿80߿|70_o`|'p "Lp!ÆB(q"E*VXbŊ+V81| ̗`|_K/|'0| ̗o`>_ ̇0|+VXbŊ+WbŊ+VXbʼn˗O |߿||'p|O8P`|˗O`|070˗/_ <0… :|1ĉ XbŊ+VX|+WQ`+VXbŊ+VX0_Ŋ+VXbŊ'X_|˗bŊ+VXbŊ+WbŊ+VXbʼn*V`>8`  <0… :|1ĉ+BgѢE-ZhѢE,ZhѢE-ZhѢEYhѢE-Zha>-ZhѢE-ZhѢ|-ZhѢE-ZDϢE-ZhѢE-Z(1E-ZhѢEhѢE-ZhѢE-JgѢE-ZhѢE,ZhѢE-ZhѢEYhѢE-Zha>-ZhѢE-ZhѢ|-ZhѢE-ZDϢE-ZhѢE-Z(1E-ZhѢEhѢE-ZhEYdE? 4xaB 6tbD)VbhѢE-ZhѢEhѢE-Zh"|-ZhѢE-ZhѢE,ZhѢE-Z0E-ZhѢE-ZhQb>-ZhѢE-"gѢE-ZhѢE-ZϢE-ZhѢEYhѢE-ZhѢE%hѢE-Zh"|-ZhѢE-ZhѢE,ZhѢE-Z0E-ZhѢE-ZhQb>-ZhѢE-"gb|-ZH1_>Y0_>$X!4/|"D!B O@ DPB >QD'h_> Y\Ϣ|-*0|IgѢ,ZhѢE-Z0| ̗/_/_|7`> 70߿8P`|˗/|#80_|˗|(߿@'p@'@o/ ̗`|/_|˗O`>˗/߿|/_|˗_|˗/_>/_|̗o`|˗/_8`A&Th0… .\p… .\p… .\0BO`0/߿|/߿ O 8߿| (0| ̗__'P|/߿8_>_O` _>$X0|0@_>/_|̗/_>70߿|O`70|'p "Lp| 2dȐ!C 2dȐ!C 2d0ÁO`#/|'0|c/_|!W0|__|/߿|'0߿|/߿| /_G0| O`>o`>70_o`>O`> 2dx0C 2dȐ!C 2dȐ!C *p`|˗O`|˗/߿| ̗/_/_|ˇ0_|˗o`|8_| ̗/?$(߿| A/߿|˗/?߿ ߿| (0_|/_>˗_|˗/_>˗O`|'P?8p߿7p? _>$XA ̷p… .\p… .\p… "̷` .\pB ̷p… .o… .\o… ̷p… .\p… .\p… "̷p`|.\p… ./… .\0_ .\p… .Do… .\p… .\p… .Do… .\x`>8`AO@$XA .L0 H*\ȰÇA"D!B"D"D!B"D!B"D A"D!B"D"D!B"D!B"D A"D!B"D"D!B"D!B"D A"D!B"D"DAL/D=̗| B"D!:"D!B"D!BT"D!B/|惘"|!B"D"D!B"D!*a>/_/_> ̗/_>0@ /̗o`|/_|˗O`>'pG#A/_|'0_|#? 4xaB 6tb|#F1bĈ#F1"|0 ? /|_8po/| 80_|(0_|/|˗O`8P`> o`O@ DPB >`>%J(QD%J1Ć˗`|W0|_ko`>o`>`/| '0|!'0_OD%J(a>%J(QD%J1D˗_|`| ̗/?$(_>0'p|/_|˗|/_> o߿7|/,h „ 2l!Ĉ"F1bĈ#F1bD"F1bD"Fa#F1bĈE1bĈ#F1bĈ E1bĈ1bĈ#F1bĈE1bĈ#F1bĈ E`>8`A&T`>8`A&TaC!F8"|+VXbŊ+VbŊ+VXbŊ+VXa+VXbŊ+NWbŊ+VXbŊ+V0_Ŋ+VXbŊ'XbŊ+VXbŊ+VdbŊ+VXbŊUXbŃU\/|"1_+VXqb+VXbŊ+NWQa|˗/|˗/߿| ̗/_  |Ç>|Pa/| ̗/|O`co`aa_> /| 70|o`>o`|3o`>3Ç>|H0Ç>|Ç>||˗/_/_|˗_|˗/? _>/_>/_| ˗/|/_|˗/߿| O|#`G߿|G#o70_/_ <0… 6СC:tСC:ta>˗ϡCsСÆ:d`>sСCСC:tСC:ta>:t|:ta|*̗/|9tСC"СC:tСC:ta>:tСC  <0… 'p ,h „ 2l|!B"D!B"D B"D!B"D!B"|!B"D!B"D B"D!B"D!B"|!B"D!B"D B"D!B"D!B"|!B"D!B"D BT/_|70D!B4"D!B"D "D!B"D!*| '0|A0|A"D!B"|!B"D!B"D ? 4xp`|˗/_O`>C(0/_|˗_|˗/_>/_|˗/B8P`>  <0… :|1|%70_>[0@/o`|,X`|,(0߿|8`A&TaC:0@߿| (0| '0A 70__| G0_|O`>˗/߿|#/|70,h „ 2l!Ĉ1_|0| COa|/Doĉ'7a| ̇0| '0| '0| 70| '0_|W0|70B O@ DPB >a>/_|˗O |߿o`> ̗o| ̗/_/˗/@?/߿#? H*\Ȱ|̗/_'0_|G0_>ˇ0_|/_>˗_| ̗/?O8P`|˗/| O?O@ DPB >Q|#˗_|˗|_@/? _'p`|/_70_'0߿|'P? <0… |:tСC 9tСC:tС:D/_/| '0|˗O`|+O` ̗o`>̗o`o`>'0߿|/|9tСC9t0_>:tСC9tСC:tСC:D0 /߿@0O_/߿/߿/߿'p "Lp!Æ9t |'p "Lp!ÆB(q"Ŋ/Ṙ!|7?_> ̗o|˗O` ̗O`|/_o`|O` /_>  <0… СC:tСC:tСC:t0C_|˗O |7P| @ O`>7_˗o`| '0|˗O`>˗/@ O ,h „ 2lx0C:tСC:tСC:t!|:ta|2Pa>:t|:tСC:tСC:tСC 9tСC9da|:tСC9tСC:tСC:tСC2СC:tСC:ta>/_  A 0#8?'p A /_|˗_|'0_>`>˗O`|'0_|G0_˗|G@O|$'p 'p` O|/_'`> 80/A ? 4xaB 6tbD)Va_>O`|/߿|!/߿|O`_3`/_>'P/߿_O|/_>'0@O`>o`>o@/| /| 7P |'p|/_>| '0_|'0| '0# AO@ DPB >QD'棘O`O`#o`|˗_/_ ̗/|70_/߿| /_|˗/| ̗__˗O`|˗/| ̗/|/߿|'0| g_|_CO`>/߿|70_|gqa>YhѢE-Z(0|W0|˗o`;O`|'0|߿|O@̗O`|˗_'P '0߿|/_>#/|_#(0߿|_>/߿|O`|'0|˗O`>(? '0_`| '0_O`>_| ,X| ,XP |,h „ 2l!Ĉ'O@ w|˗o`|˗O`|`>8`>G0O'p|/_ ̗/|70_> /? /_|˗_|˗O`|/߿|'p` ?_'p  O|O@ 70_ O '? W`A ,X| H*\ȰÇ#JH0Ń(RH"E)RH"E擘|)RH"Ex0E)RH"E)RH"E(G"E)RHa>QH"E'p ,h „ 2l!AO@ DP!| ̷p… .\p… .\` O@ DPB >QD-^Ęb>iԨQF/F5jԨQF5jTO|5jԨQF4˧QF5jԨQF/F5jԨa>i/F5̗O|x0_>!̧Qc|ӨQF52̧_>iDO|Q`${Ob>/F5jԨa>=̗/|/_/_|87?˗/߿| ̗/_>˗O |oo8߿ ߿| (0_>Gp`|˗/_>/_|˗O`| ̗/_/_|˗/߿|#80_/_|O@ DP| ̷p… .\p… .\` [H0| 70߿|8_߿|@ o |?O |/߿@/߿|OO`_>'P8`| WP |/߿8p`| G0_|/|˗o`>#H0|  <0…1d80C 2dȐ!C 2dȐ| p`>o`G0| '0|/__/߿| /|/| /|/߿|˗`>'0|a>O`> ̗o`a!C ǐ| 2dȐ!C 2dȐ!C1d80Á/_>/_|70_|˗/߿| ̗/|/_|˗//_ H0߿߿$/߿|07߿?˗/߿|Gp`|˗/_Gp`| ̗/? 'o/߿'߿ <0B.,o… .\p… .\p| ̷` .\/… [(0… .\_ .\pa .\x0…-\p… .D/… .\a [80_| .\0_ .\/_ .\Pa| .\p… .\0…-/@ o` O'p "L0a .\p!| ̷p… .<0 H'p ,h „ &O@$XA .dC .0_> '0| '0|!̗/? o ˗/_>/_|'P? 4xaB װ| 6lذaÆ 6lذaÆ 6lذaÆ *װ| /__>#/_ /߿|/7`>?/߿|? 4xaB װ| 6lذaÆ 6lذaÆ 6lذaÆ *װ| /_| '0߿| '0߿|̗o`O`70|/|kذaÆ k_ 6lذaÆ 6lذaÆ 6lذaÆ k_> O 8?˗|70_|˗@7߿8`A&T| ˗o` 6lذaÁ5lh0_c/_Æ 6lذaÆ 64a6lPa 6lذaÆ kX`>? 4xaB 0a5,| 5lذaÆ 6lذaC6aÆ ˗aÆ 6lذa| 'pO@ ˗|7?˗/?O/?O@/_|#H0_|˗/|/_|˗_| ̗/_Gp`| ̗/_/_|O@ DPB >`> I(!|'p 8? 4xaB 6L?߿| H A_?|/߿8| '0߿| 'P/ ̗/_>˗/|_| '0|O`>˗/| H*\ȰÇ#.'1a>%J(QD0/,H0_O`> '0_/߿| o`>Ϡ 70o`>70_o`> /|'p "Lp!ÆB0Ą$J(QD%Jt/"|_>$X`|'p࿁ /_ Hp࿁70_|˗ |/_|˗|/_ O?_ O࿁߿8`A&TaC!F,Ob|%J(QD%:`>_>$X"D!BC!B"Dp`>$XA .dC 擘0D'QD%>`>'P`>$XAC!B"4/,h „ 2l!Ĉ'R0ł70_˗_|˗_|/_|(?GP`>$XA .dÁ˗/| q |'p "Lp!AO@ DPB >QDU4a '0_>/߿|˗0_>/_|*VXb| ˗Oa+VXbŊ+VXbE*0| '0_> '0߿|'0_>C_/_|+VXa>˷0_Ŋ+VXbŊ+VX"| kO`'0| '0|8߿|/O _>$XA .da| ˗a>|Ç>|Ç>||k0 _O? o@̗O | <0… :lOa|5|>|a| ̗a|Ç>|C2Ç>|Ç%̗/_>>/a>|=a%̧0|>|Ç =dÇ>|ÇC/_|=,/_|˗o`/_|'p _>/_>O@/_|˗o`>˗_| ̗/_>/_|˗/|/_|˗/|o`|˗/_>/_|˗|/߿|˗O`|#? 4xaB 6la|:tСC:taP`>(߿߿߿߿ O@ '0|,0@߿| (0_|#/_| ̗o`70|/_| '0|`| 7`>8_> '`>? 4xaB 6tH0C>|Ç>|a>P`o`>o`0| /_|oa>O`> ̗o`Oa`>O`)g0|g0Ç>|` =|Ç>||˗| ˗/߿|/_|˗O`|'P࿁߿| 80_|˗_|̗/_'0_| ̗/_>0@o o`| o`7@ o  ̗/|˗O`|G0,h „ 2l0Æ:tСC:t!|˗a|sСC9tС|:`>sСCa>:tСC:t0|sh0Æ9tСC9ta|:t/_|СC:t0Æ'0_O|7|G࿁ '? 4(0|O`>˗/߿|/_/_| B|˗|!B"D!B"D!Ba> 5/| 70_|_|K_>o`>;0@/߿߿8`A&TaA O@  <0… :|1ĉ+Z1|k/_| 70|˗O`'0|˗o`>'0|)̗`#OF˗c>5jԨQF5jԨ0'0_ ̗/߿|'0_|`>8?70߿ /˗/_'0_|'0_| H*\p`|2אa| #/|5lذaÆ5lذaÆ 6lذaÆ װ| 6lذaÆ 6lذ!|6װaO`kذa5aÆ 6lذaÆ 6lذ| װaÆ 6lذaÆ 2װ| ˗/߿|/a>`>˗/߿| ̗/_ (߿G?˗/߿|/_|/_|˗ |(? 4xaB 6tbD MDoĉ'N8qD&"`>߿| 80| G A/| /_|#/_|O`>˗/|#/|? 4xaB 6tbDx0E)RH"E('1_KO`>(0| '0|70߿| 0|70|c0@ H*\ȰÇ#Jdo"|'N8qĉ'7a/_|˗/|'0_|K/_|'0_˗/_0 o ˗/_>/_ O࿁8P`>$XA .dC%N|)RH"Ex0Ł(RH"Ł(RH"E)RG`>)RH"EQ<|(RH"QH"E)R/Ń(RH"E):G`> 8? 4xaB 6tbD)Vx#|˘1cƌ3N̗Q`3f̘1cƌ3fx1_F2f̘1cƌe/cƌ3f̘1cƌ3^̗Q`3f̘1|˘1cƌ3f̘1cƌe/cƌ3f81_F2f̘1cƌ3f̘1|˘1cƌ3N̗Q`0|$?80? O'p`|˗|o 0#8?/|'`>'p |7? O@A? <0… :|!|>|Ç>|0CO`>`#_O`>/_>a>/߿| w0|˗O`>3O`˗O`>C_>70߿|;_ /|ˇ0Ç>||{Ç>|C2`|70| g0_| '0|/߿|ˇ0| 70| /߿| O '0|/߿|G`|˗__>/߿|˗/A˗/,h „ 2la =|Ç>||{X0| '0| /__>'P|߿| /| 70_>$O`|'0A '`>߿|O/_|/߿|/߿|G AO@ DPB :a>|Ç>t!| 'p8|/? @̗/_ /_|7p|80߿'p|/| O| /_>0@ O 'p`'p O@ DPB :a>|Ç>t!|>|Ç>|Ç>|Á2!|>|Ç>a>|Ç>|Ç>||{a {0a>|!|>|Ç'p ,h „ 2l!Ĉ':G`/_|'0_|˗O ||'p|/_>G`|˗/@$'p "Lpa|  <0… :|1ĉ+Z1|kO`>/|8߿/߿7P OO70߿|˗_? 4xaB cp`>$XA .dC%NXE//_| 70| 70| 70|˗`_/߿| ix14jԨQF5jԨQ|k/_>/_>'0_|˗_| ̗/|!̗/_/_>/_|8`>? 4xaB cp`>$XA .dC%NXE//_|5jԘOƋ4˧`/_O@O@A 7? 4(`> o@̗_|˗_|8'p|'p "Lp!ÆB0Ą˗OD%J(Qb|0߿|/|/| /|˗O`>O`|O@o`'0߿|O`/| '0߿| Gp`O@ DPB >qa> I(QBO@ DPB a /_>/_|70_|/߿| ̗/|!| /߿|ˇ0| /߿|˗/| ̗/Ç>|Ç{0Ç>|Ç:a /|'0߿|O`/߿|'0_|O@$(0|/߿| _>_O` <0… :|1ă&"7qĉ'N8q"|1߿|`> #8?80߿'߿|'p  O?'0|'`> (@$(0,h „ 2l!Ĉ ILOD%J(QD$&'QD%J(Q|%J(QD0D#'QD%6'1a>%J(QD%J(QD%'1a>%J'q`|˗|_A 'p "La [p… .\p  <0… :|1ĉQ<|`> O@/_   G0|_#/߿|  <0B.,? 4xaB 6tbD)VxcƋ4˧!|/߿|OO`|/|(߿| H0| 70_| ̗_|˗? 4xaB -\X0,h „ 2l!Ĉ'Rh"ƌiO#|_;O`>/߿| /_#O`>_|'0|Өqa>iԨQF5jԨQF4˧`>08_|0o8P`|˗O`0@ 8O@ DPa| ̷pa|.\p!|.\p… .\p… .\p…-\X0… ˷p… .Lo… ̷pa| ̷p… [p… .\p… .\p… ˷pa| .\/_ .\p… .\H0…-$/_>/_|˗O |˗_|˗/A o/,h „ 2l!Ĉ'R81ł,Z40 H*\ȰÇ拨0C ? /߿|_>O |߿| _ ̗o`>$XA .dC%NX| xŋ/^T"|#O`|̗`O`>G0|˗o`|]xŋ/^x_]xŋ/*w`/߿|˗/| O (0_|70_| O_>$XA .dC%NXqb>YhѢE-Jg`>h`>-ZhѢE-&g`>-ZhѢE,gѢ|YhѢE-ZhѢņ,gѢE oO ,h „ 2l/Æ:t`>8`  <0… :|1ĉ+Z"|#/_|/_>̗/_>08_>o`|'p "Lp!Æ9lϡC:tСC:tСC:ta> 9tx0@'_>70߿|_|7p| ̗/|  <0…  a>:tСC:tСC:tСC6|G0_| +o`|˗_/|˗/_>sСC s0C:tСC:tСC:t!|sP`˗_|a| ̗/?$?`>''p "Lp!Ä6aÆ 6lذaÆ 6lذaÆ 6lذaC6aÆ 6l_ 6lPa kذaÆ 6lذaÆ 6lذaÆ 6lPa kذaÆ 6lذaÆ k_ 6lذaÆ 6lذaÆ 6lذaÆ k_ .O@$XA .dCET/bĈ#F1bĈ#F1bĈ拨0_Ĉ#F1bĈ拨0_Ĉ#F1bĈ#F1bĈ#"Qa#F1bĈ#Qa#F1bĈ#F1bĈ#FD/|#F1bĈ#F!B"D!B"D!B0ą 6G0| W0| '0߿|"D!BD|!B"D!B"D!Ba> At/|70_|'0| "D!Bl|!B"D!B"D!Ba> AlO`O`|'0߿| '0|!B"Ć ."D!B"D!B"D惸0Ć'0_|| 70߿߿8`A&TaC=dÇ>|Ç>|Ç>|80C>4/_ Ç>|/C>|Ç>|Ç>|Ç=dÇ>|Ç{0Ç>|Ç>|Ç>|p` =|Ç>||{Ç>|Ç>|Ça>|Ç>t!|>|Ç>|Ç>|Á2Ç>|Ç=dÇz衇z衇z衇z衇z衁 4? 4xaB 6tbD x0E)RH"E)RH"E(G"E)RHa>QH"E)RH"E)RD|)RH"Ex`> 4xaB 6tbD)Vxcƌ HA8`A&TaC!F8`>)RH"E)RH"E)R$"E)RH|)RH"E)RH"E)RH0E)RH"E(RH"E)RH"E)RH`>)RH"EQH"E)RH"E)RH"|)RH"EH"E)RH"E)RH"E(RH"E):G"E)RH"E)RH"EQH"E)Rt"E)RH"E)RH"E H"E)R0E)"("("("("| H*\ȰÇ#JH0E)RH"E)RH"E)G"E)RHa>)RH"E)RH"E)R$"E)RH|)RH"E)RH"E)RH0ŁO|'? O`>/߿| /|O8P`>/߿|/_|'`> #?#/_|'0_>/_|`> 'p "Lp!ÆB(q"Ŋ/b̨q| /_| /߿|̗/A_/_70__|G A O@o`|/߿| 80,h 2l!Ĉ'Rh"ƌ7j̇1|'0߿|`> 70߿|'0| '0|70߿|˗_'P O`| ˗/_| ̗__'p "Lp!ÆB(q"Ŋ/b̨q|/_/_> @ /_|8p  ̗/_ o  ̗/_0'p A/__˗O`|'p A (0,h „ 2l!Ĉ'Rh"ƌ7jǑ#|9r0G9rȑ#G9r0GǑ#Gqȑ#G9rȑ#G qȑ#G  <(0,h „ 2l!Ĉ'Rh"ƌ7jǑ#G9jǑ#G9rȑ#G92Ǒ#G9jǑ#G9rȑ#G92#G9jǑ#G9rȑ#G92Ǒ#G/_>9rȑ#G9rȑa>/߿|'p` O@ DPB s_>:tСC:tСC:tСC:dϡC/|/|/|O70߿8`>8P`>0@'p|/?oG߿8| ,X A O@ D/_| C80_|"D|߿| H_W`  <0… :|1ĉ QH0߿| ̗/_/_>;0__? 4`>_'p| '0_O` _>$XP`> 480_>3hРA/A ̗O`|3h` |'0_>480| H*\ȰÇ#J0E˗O`>O`'0|_>O`+0@ HP`|/߿|O`>/߿| /_ ,(0_ ,80_˗/| ̗/߿|/_|#_| O/߿|_O O`| /߿|˗_˗_| 70_| <0… :|1ĉ QX0߿|`>@/_ o?7? $`|'p@/߿|'p +X`'P/߿''߿(0_|/_'0_ /߿| 70_70|'PO?'_/߿ /߿߿8`A&TaC!F8qa>)RL"Ń(Ra>(߿ O|/| ̗o`|/| '0_o| '0߿|70|˗_O`| /8`A&TaC!F8qa>)RD/_> ˗"Ň(J̗_|70|#0߿ ߿O|_O|_> ̗o|OO ߿_߿߿| H*\ȰÇ#J0E)RHQ |'p "L/B 70_/߿|O`|˗O` O o`'P`|O`| ̗_| ̗O`(0|o`|/|O`|O`| ? 4xaB 6tbDH"E)R0E ߿(߿|߿80_|˗/@ 70˗/@ O7PO O`| o|0@ 70߿ '? H*\ȰÇ#J0E)RH"E(RH"E(N̗b>(RH"E)R"E)RH|)RH|)棘a|)RH"E) G"E)RHa>)RH"E)RH"E)R$"E)RH|)RH"E)RH"E)RH0E)RH"E(RH"E)RH"E)RH`>)RH"EQH"E)RH"E)RH"|)RH"EX`> 4xaB 6tbD)VxB$XA .!C 2dȐ!C 2dP`> cȐ!C 2dȐ!C 2dȐ!C 2dx0C 2T!C 2dȐ!C 2dP`> cȐ!C 2d!C 2dȐ!C 2dx0C 2T!C 2dȐ!C 2dP`> cȐ!C 2dȐ!C 2dȐ!C 2dx0C 2T!C 2dȐ!C 2dP`> cȐ!C 2dȐ!C 2dȐ!C 2dx0C 2T!C 2dȐ!C 2dP | HA8`A&TaC!F8bE1̗1#|3f̘1cƉ2˘1cƌ3f̘1cƃ2f/c3f81_|3f̘1cƌ3fx0_ƌe/_ƌ3f̘/c3f̘1cƌ3f'0_|87?˗/߿| ̗/_>˗_|O8`>$XA .L!2dȐ!C 2dȐ!C 2dȐ!C ǐ!C c/| 70_'p_o@7`> /_||'p| H*\0C1dȐ!C 2dȐ!C 2dȐ!C 2o`|o`O`| ̗/_| ̗o`/_>2dȐ!Á2!C 2dȐ!C 2dȐ!C 2dȐ| 2dPa>'0_|'0_|˗O`|˗/_>/_>/_|w0_ A8`>$XA .L!2w0_> ǐ|W0|2dpa| ˗o`| ̗!C 2d0C 2T| 2d0C cȐ!C c_> #Oa|"P`|!G0_| 2/_>1/_|̗0C 2dPa> 2d0|1dȐa|2dȐ!C 2$!̗O`|/_|˗`˗/߿|/_| ̗/|˗O`>70|/˗_|˗_|70|/_|˗o`#H0|`> ̗/| H*\0a 6lX0_Æ 6lH`>8`A&TaC=T|o`>3o`˗/߿| '`>8P`| '0|O`> O |O| 7`>߿(?/|G_O@ DPB 5lذaÂ6lذaÆ 6lذaC2א`| 70|̗O`_>˧0| '0| '0|̗/_|O`'0_>70|70| 6lذa| 6lذ` 6lذaÆ 6lؐa 5$_/_|/| ̗/? o`˗O`|˗/_'`>_>/_|˗_|̗/|O70߿ (0_|˗/|/_|8PO@ DPB 5lذa6lذaÆ 6lذaC2װaÆ 6Pa 6l0_Å6lذaC6lذa| 6l`| 6lذaÆ k0_Æ 6l0_ 6lذa|6lذaÆ kذaÆ5lذaÃ"̗/_O@+H_A$XA "̷p| .\pBO@ DPB 'p ,h „ 2l|!Bh0D˗|˗_|80߿A`>/߿| G_? 4xaB-\80,h „ 2l!Ĉ'Rh"ƃ2f/cB_ '0|_>'P8`>o`|/߿| ̗/,h „ [p`>$XA .dC%NXEeH1_Ƅ /߿| w0| ̗__|)G0| '0߿|O`>˗1c|e̘1cƌ3f̘1|3R̗`>08_|0o8P`|˗O`0@ 8O@ DPa| ̷p|[p… [p… ./… .\p…-\p…-\p| .\p„.\p| ̷p|-\p…-\p… ̷p… .\p| .\p!| .\/_ .\p… .\H0…-,/|'0_|˗/| O8P`|˗/|#(`> o`O@˗_|˗/A0@'p|/_GP || <0… :$Ç{aAO@ DPB >(0_D"/|'0A _/ '`>_>/߿|70'0? /߿|_>O |߿| _ ̗o`>$XA .d!|>|0Ç>|Ç:Pa˗o``|/߿|!'0_>_|a>˗/a|/߿|!'0_>_|Ç>|0Ç*Ç>|Ç=T| ̗/_/߿|˗O |O@/_GP |'p|/_|G`|'p@/_>/_|'p/,h „ 2l`>TÇ>|Ç{0Ç{|2Á>|Ç=||>|Ç+Ç=TÇ Ç˗Ç>|C>|Pa>|0_|/_ O70߿7P/O@ D`> SPB 8? O@$XA *O@$X`>8`A&TaC"D :G0_|(@/_|8p࿁ /A/| ̗_>/߿| '0|`>$XA%Lx0,h „ 2l!Ĉ'Rh"ƃ2f/cB_ '`>7p 80_|o`|_/_/|/,h B&<? 4xaB 6tbD)Vx|3R̗1a|/߿|'0߿|_|W0|˗O`O@70|˗o` 7_>$XA%Lx0,h „ 2l!Ĉ'Rh"ƃ2f/c|`>'p|`> O@/_'`> o(| O O@ D(0_„%Lh0|8`A&TaC!F8bE]x_]xqb 1E.G0|/_>%O O?'?O@ `> '߿O@ DPB sСC:t(0_|:tСCpa>/߿|˗/|;`So`/| '0|O`>C/߿|˗/|!70|%G0߿| ̗o`>O`| /|9tСC9tС|:D0 H*\ȰÇ拈0_|o`>C/|˷0_O`>_˗o`>_|O@/߿| G|_O`/_>O@ DPB sСC:tСC:t!|s80_|`>_`>#/_| '0|˗_ '0|/_>70|'0|˗O`>_|Ki /_sСCСC9tСC:tСC.p`˗/߿|˗_|˗O`|˗/|/_> ̗/|˗_|˗|/̗/_'0_| ˗/߿| ̗/_>˗O`|'0_|'P? o <0… СC9tСC:tСC.СÄsa|*̗/CsСCСC9tСC:tСC.СC:tСC:tСCsСC:/_|'0_`> 'p "Lp!Æ1a>!2O@$XA .d`>8`A&TaC!"1bĈEd`#`/|/߿|1bĈ#2a#F1bĈ#F1bĈ1bD"6̗O`+/|G0| 1bĈ#F/"|#F1bĈ#F1bĈ#1bĈEdO`O`o`| 70|E1bĈ勈0_Ĉ#F1bĈ#F1bĈE1|˗/| ̗/_'0_|_|`> O| H*\ȰÄ*|˷0_>L/|>|Ç Ç =|h0_|W0Ç>|Pa =|80C{C>|Ç>\Ç{Ç>|C*P`|˗/߿|_|˗_| ̗/| ̗/|/߿|˗|˗O`|˗/A oO ̗/_>$XA .dC E1|#F1bĈ#F(߿  ̗o`|@_ OO|˗o`8P` <0… :|1a#F/bĈ#F1bĈED/b>/_| 70_˧0|70|_a ̧0߿|_3/bĈ#F1a#F/bĈ#F1bĈED/b|'P࿁'@o ˗/_>/_|#H0_|8p  ̗/| ̗/_>8p'p|/_| H*\ȰÇ1bD"F1bĈ#Fx0_D"0_Ć" 1bĈ#F1bĈE1|#F1bĈ#F8`AO@ DPB >Q|'Nloĉ'N8qD&7qĉ'N8qĉ'N80ĉ8qĉ'N8`M8qĉ'N8qĉ'7qĆ&N8qĉ'N$o|'N8qĉ'N8qĉM8a'N8qĉ h0ĉ'N8qĉ'N8q|'Nloĉ'N8qD&7q|/_%OO?'?'p|/߿|'`>߿ 80߿80_|'p A$XA .dÄ B`>!B"D!Bb|/|/_>O`>_> '0߿| ̗O`>`>/| ̗__`_"D!6"DA"D!B|/|8p  ̗_#Hp`| /|'0| ̗/||_>_70_|G`|70,h „ 2l|!Bh0D!B"D! 1a> W0_| ̗o`>;O`>˗/|'0|_| g0_/_|˗O |'p`_|O`>O@ DPB >\"D "D!B"D &_| ̗/_C/_|70_|˗/߿|˗O`| O70߿/߿'| o`o࿁ '?˗|߿8`A&TaC "D B"D!BQ`> A0_|!B"DA"D"D B"D!BQ`> A"D!B"D!Bq`>!B4!|OG`>$XA˗_|80߿8`A&Ta| kذaC  <0… O@$XA .dCE1| /|'0|w0_|˗O |7?#O`|/|#/_ @/_|8p8`A˗0| H*\ȰÇ#JHŋ˘b> ̗/|'0|(_7P|O@O`#Hp |/߿0@o@$XA"D/,h „ 2l!Ĉ'Rh"ƃ2fa>O`>_|!̗`>/߿|˷0| 70_>70߿| '0|70_/_F2˘1cƌ3f̘1cƃ2f!| |7?˗_|0 'p|/|70_| #/_ o /_ H0߿ HK` &L/_ &L0a„ &/_„ %Lx0_ ̗/a|K0| &L0aƒ&L0a„ &L0a&L0a„%Lx0_„ &/a„%L` &$/a„ &̗` Kh0_B&4/a„ &Lx0_„ &L0a„ &L/_ &L0| ̗a|˗/߿| ̗/_>/_|/߿|/_'0_|˗a|˗/@$߿`'p@'@7߿?70_|̗/_>'0A8P# ˗o | ߿| H| 4hРA $? 4xaB 6tp!|'p "LP` [h0| 70_'p߿|@ /_|(_>o`|/߿|` /߿|/'0߿|/߿| OO@ '0_A/|$/_|̗/_o`'0|o`>+X`A8`A&T`> 2dȐ!C 2dȐ!C2a| '0| 70| '0|/| 70߿|˗_/|'0| /|/߿|g0ÁOaa_>/| 70| /C2dȐ| 2dȐ!C 2dȐ!C1d/Â/_>/_|'0_|˗/߿| ̗/|/_> O@/_|8`o࿂ O˗_|O O O ˗/_>/_|̗/_0 | ߿| H| 4hРA $? 4xaB 6tbD X0_|)R81_|)R"EIG"E(RH"E):̗"|G"E˗"EH"E(R0E o O ,h „ 2l!Dh0_Ĉ#F0 H 'p ,h „ *O@$XA .dh0_Æ 6,aÁO`|'0| O8`A&TaC ˗/D B"D!B"D!B80D!a|˗_/A _/,h „ 2l@ O@ O@ DPB >QD-^x0_ƌe$`'0_3/|/|3fx1߿|壘/cƌ3f̘1cƌ˘b70_|('p`|'p@$XA .dC˗/ā Bb|b|x0_>!B|!Bh0D!"D!Bto`|A"D!BH0|{"|!B"ā B`>!B/_>!Bb|˗|!˗/_>/| ˗/|O@/_|˗/߿| |/_|˗O`|˗/_>/_|˗/'0_|˗O`>'p "Lp!Æ {C>|Ç>|a_|/_/_8p@o ߿|˗O`>'0|/_| 70A'P࿁ <0… :TÇ{Ç>|C ˗/|'0߿|˗/| ̗_/| ̧0_[O`O`|70| ̇0|O`>||>|0Ç>|Ç:w0_|{P`|/_>C/_|`> /O8_|˗/_>GP`| ̗/? '(_ ߿8`A&TaC=||>|Ç>|0|kÇ>|x0Ç>DÇ>|X0Ç*Ç>|a|>̗0_|{Ç̗Ç>|Ç{C6̗_|0+ <0…  СÁ˗/|:<0 H*L0 H*\ȰÇ#J\oĉ ML__O`˗|߿ O  ̗/@ 7?'p? 7߿߿| H̗/_'p "Lp!ÆB(q"Ŋ/b /߿| '0|30@ H_|/߿|O`__|,X`,80_|˗`>$XA .dC%NXEeH1_F/_ H /_|8p 7? ,o`|'p@/߿|˗/?߿ _>$X|'p` <0… :T/Çs/Á=/Ç{|>|0Ç2Á>d|8߿'p ̗/_>/|/_>`>8`A/,h`| /| '0|70/?O@/_|#H0_|˗/|/_|˗O`|˗/_Gp`| ̗/_>˗/| ̗/_>#80_|/_/_/|O@ Dp`> *TPa> *TPB *40 H*/_> '0|!0@߿| (0_|#/_| ̗o`>'0|/_| '0|70_'P Gp`0@O@˗/,h „)TPB )TPB *TPB *T`>8P'p '0߿|'0߿|'0|'0O`̗o`'0| '0_O`>C(0߿| '0_|_|3O`>W0B C!B!D!B <0… :|1ĉ9OO@ ,/_|'0_|˗/߿| ̗/_ _>/_/_| ˗/߿|/_|˗/|O 70߿ o`| o`7߿70_>/_>$/_|˗/,h „)TPB )TPB *TPB *T`>8߿| H ˗/a„ &Lh0_„ &L` &$o`%L0a„ K0a„  <0… :|1ĉQ̗/|)RHqa|)RL/E/_>)FG"E(RH"E):G`>)R8`>8`A&T!BO@ DPB 5lذaÂ6lذaÆ 6lذaC2װaÆ 6lذaÆ 6lذaÆ 6DaÆ װaÆ 6lذaÆ 2a 6lذaÆ 6lذaÆ 6lذ!| 6lذ` 6lذaÆ 6lؐa 5lذaÆ 6lذaÆ 6lذaÆ kذaÆ5lذaÆ 6lذaÆ 5daÆkذ!|̗aÆ 6lذaÆ 6daÆ װaÆ 6lذaÆ 2אa (G A $HP`> ? 4xaB 6tbD H|)RH"EX0ņ'0_|#0#?#H_| ̗/_>˗O`|/_|'p "Lp!ÆB(qb'67qĉ'N8q"| 0_|O`>/|1_|O`> ?/,h „ 2l!Ĉ'G"E(RH"E):G`>70|G0߿|Q/| ̗`|"E)RH|)RT"E)RH| 0_|˗/߿|/_|'`>80˗O`|˗/_/߿|˗/| H*\ȰÇ#Joĉ M8qĉ'NH0D&N$oD&7qĉ'N8q|'Nloĉ'N8qD&7q|&NL/ĉ'N8qĉ 8qb|'N8qĉ'7`'N8qĉ'N8qā&N0ĉ'N8qĉM4oĉ'N8qĉ'N8q`'2O@ DPB >Qă HA8`A&TaC!F8bE1̗1cƌ3f̘1cF2f̘1cƌ3f̘`3f̘1cƌ3B1_>2f̘1cƌ3f/cƌ3f̘1cƌE̗1cƌ3f̘1cF2f̘1cƌ3f1_| ̗/|/|˘1cƌ3f̘a3f̘1cƌ3B1|8߿߿ <0… :|1ĉ+Z\ŋ/^xŋ拘O` 70| wŋ/^xŅ.^xŋ/^xa>70_|˗_|˗_|/^xŋ/^\ŋ/^xŋ滈0ŋ/^xŋ-xŋ/^xŇ.̗ŋ/^xŋ]xŋ/^x|/^xŋ/^xa/^xŋ/^|ŋ/^xŋ/"wŋ/^xŋ]xE]tE]tE!P>$XA .dC%NXŇ0bĈ#F1bĈqb>1bĈ#F1b#F1bĈ#F'È#F1bĈ#Ɓ0bĈ#F1bĈqb>1bĈ#F1b#F1bĈ#F'È#F1bĈ#Ɓ0bĈ#F1bĈqb>1bĈ#F1b#F1bĈ#F'È#F1bĈ#Ɓ0̧0|1bĈ#F1>̇#F1bĈ#FaĈ#F1bĈ|1bĈ#F1b80,h „ 2l!Ĉ'Rh"ƃ2f̘1cƌ3f1_ƌ3f̘1cƌ3̗1cƌ3f̘1cF2f̘1cƌ3f̘`3f1cƌ3B̗1cƌ3f̘1cƌe̘1cƌ3f̘b3f̘1cƌ3fo`|_? 4xaB 6tbD)BWbŊ+VXbŊ%惘/_|Oa| K`/߿|WbŊ+VX"|+VXbŊ+VXQb/߿|˗/|/_C/_|`> ? 4xaB 6tbD)6WbŊ+VXbŊ%X|+VXbŊ+:WbŊ+VXbŊ%XbŊ+VXbŊXbŊ+VXbŊU`>8`A&TaC!F8bE,ZhѢE-Zhb|-ZhѢE-Zhb>-ZhѢE-ZX0E-ZhѢE-ZϢE-ZhѢE-gѢE-ZhѢE+hѢE-ZhѢEY(0_>-Z/ł,̗|ˇ0Ņ,ZhѢE-Zhb|-ga> YϢE曘a, gѢE-ZhѢE 拘/_/_|˗O`|˗/߿|/_|/_>/_|/_|̗/_`> O|`>8 _>/|#80_|˗/| O@#G? /_ (߿'p 'p "Lp!ÆB(q"Ŋ/>1| 70_'p߿|@ o` /'0߿|_ ߿ /߿|/'0߿|/߿| OO@ '0_A/|$/_|̗/_o`'0|o`>+X`A8`A&TaC!F8bE拘O`/_|O`>/|˗`>70߿|˗/|_`>_O`| {o`>o`>`_ '0|!70|ȧ#F1bĈ#FE̗/| ̗/|/_>'0_|˗o`|/| ̗/|'p` O|`> O˗_|O O O ˗/_>/_|̗/_0 | ߿| H| H*\ȰÇ#JHŋĖ#|%k#FaĈ`>0bĈ#F1bĈq`>È`|1"̗/F ˇ#F0bĈ#F1bĈq`>1>O@$XA8? 4xaB 'p ,h „ 24aÆ 6lذaÆ 6lذaÆ 6,aÆ 6lذaÆ 6lذaÆ 6l0_Æ 6lذaÆ 6lذaÆ 6lX0_Æ 6lذaÆ 6lذaÆ 6la 6lذaÆ 6lذaÆ 6lذ` 6lذaÆ 6lذaÆ 6lذ!| 6lذaÆ 6lذaÆ 6lذa| 6lذaÆ װ|˗oa| 6lذaÆ kذaÆ 6lذaÆ 6lذaÆ kذaÆ 0!@8 | $` ? 4xaB 6t_>!B"D!B"D_|'P࿁ (0_|'p/̗/߿|'p  ̗/_>'0A8P# ˗/_/_|˗/| H*\Ȱa|:tСC:tСC:t0C(_߿| /|(_'p AO` ̗/_ |`|'0߿|˗/_>|'0߿|? 4xaB 6tH0Ç>|>|Ç {P`|/߿|'0߿|_|_>k_c_>O`70| g0_|o`>|!|>|Ç>|Ç>4Á08_|0 _>/_>/_| ˗/|/_|˗/߿| O|G`G߿|GP?߿| H*\Ȱa|:tСC:tСC:t0CsСC9tСC:tСC9tСC:tСC:t|:/_>:t/_>:tСC:th0C:tСC:tСC.Сà  <0…8? 4xaB 6tbDM8qĉ'N8qĉ 8qĉ'N8qĉ'Noĉ'N8qĉ'Nh0ĉ'N8qĉ'N8q|'N8qĉ'N8qD&N8qĉ'N8qĉ8qĉ'N8qĉ'7q|&N1_s/_|&N0ĉM8qĉ'N8qĉ 8`0ā曘a>Sa'Noĉ'N8qĉ'Nh0D'0_|#0G/̗/߿|'p  ̗/_>'0A8P# ˗/_'0A?7?˗O`|/_o ̗/_>$XA'p "Lp!ÆB(q"Ŋ/>̇1a|70|˗_/@ O@ /|,/_| '0_A/_|O`/_| 70_A ߿|߿O|o? O| /|(߿| H0|#H A $/,h „ 2l!Ĉ'Rh|o`>`/|'0߿| 70| G0| /|o`70|G0|̗/a_|)g0Ɔ0bĈ#F1bĈq`> ˗O`|˗/_>/_|(_>/_>/_| ˗/|/_|˗/߿| O|G`G߿|G#o߿ /_|/_/A˗_|$H A ? 4xaB 6tbD)Vxa>aĈq`>+h1| aĈ0F1bĈ#F1̇1b|1b/FH1_|ˇ|1bĈ#F1b80F1b$0 H*\Ȱ?O@ DPB5lذaÆ 6lذaÆ 6lذaÆ5lذaÆ 6lذaÆ 6lذaÆ kذaÆ 6lذaÆ 6lذaÆ kذaÆ 6lذaÆ 6lذaÆ "װaÆ 6lذaÆ 6lذaÆ װaÆ 6lذaÆ 6lذaÆ 6DaÆ 6lذaÆ 6lذaÆ 6,aÆkذ!|̗aÆ 6lذaÆ 6daÆ 6lذaÆ 6lذaÆ 6,aÆ%װ!|  <0… :|1ĉQH"E)RH"E Ql/_|˗O`> (?8_>˗/|o`|/_70,h „ 2l!Ĉ'8qĉ'N8qĉ'7a|70|˗_>/b|70|(߿_>$XA .dC%N$"E)RH"E)R\"| '0|/߿|70|+/_H"E)R0E)RH"E)R0ņ'0_|˗/|/_> /_|˗_|˗/|/_|O@ DPB >Q|'N8qĉ'N8qD&N$oD&7qĉ'N8q|'N8qĉ'N8qD&N/ĉ 8qĉ'N8q|'N8qĉ'N8qD&N8qĉ'N8qĉ8qĉ'N8qĉ'7qĉ'N8qĉ'N80ĉ'N8qĉ'N8`'N8qĉ'N8qā&N8qĉ'N8qĉM8qĉ'N8qĉ'7qĉ'N8qĉ'N4| H*\Ȱ|:,/|̗ϡ|:t_|:t80C:tСC:tСC.a|/_>̗/_/_|(? 4x_>!D(0ƒ"!̇!B!B"D(0,h „ 2l!Ĉ'Rh|#o`#o`>_˗/߿|/a|˗/_>/_|˗/߿|/_|˗`|˗/_˗/| ̗/_;/_|/߿| ̗/|(?O`>$XA O@ DPB >QD-^||_>O`>˗o"|/߿8p`| G0_|_˗/| Gp |/߿߿ $_>'P ,hP`>QD-^|c|70߿|˗o`| '0߿|U̗o`>o`_ 70|)̗o`+o`|˧0| /_>   <08`A&TaC!F8bEØ0_|˗O`| ̗/_/_|(?#H_|˗/_Gp`| ̗/?O o߿? ࿁ (0_|/_#H0A 70,h „ 'p "Lp!ÆB(q"Ŋ/>̇b|0b,#Ɗ0F70Ɔ0bD#F1bĈ#FÈ|0b/Ƈ/_>1V̇#F1bĈ#FaĈAO@ DPB8? 4xaB 6t/Ç>|Ç>|Ç {Ç>|Ç>|Ã>|Ç>|Ç>|h0Ç>|Ç>|ÇÇ>|Ç>|C>|Ç>|Ç>|`>|Ç>|Ç_|{Ç>|Ç>|P`>|Ç>|ÇP`>|Ç>|ÇÇ>|Ç>| (,(0_|'0_|G0_|8`A&TaC!F8bE ]xŋ/^x| `>߿|߿| H*\ȰÇ#JHŅ.^xŋ/^xa/| G0|/^xŋ/^\ŋ/^xŋ惘/_|'0_|˗/߿|wŋ/^xŅ.^xŋ/^xa]xŋ/^xb/^xŋ/^||.^xŋ/^x1ŋ/^xŋ/>wŋ/^xŋxŋ/^xŇ.^xŋ/^x"|/^xŋ/^0ŋ]tE]tE]tBO@ DPB >QD-^|#F1bĈ#F'È#F1bĈ#Ɓ0bĈ#F1bĈqb>1bĈ#F1b#F1bĈ#F'È#F1bĈ#Ɓ0bĈ#F1bĈqb>1bĈ#F1b#F1bĈ#F'È#F1bĈ#Ɓ0bĈ#F1bĈqb>1bĈ#F1bc| )̇#F1bĈ|1bĈ#F1b80F1bĈ#F1Ṅ#F1bĈ#F'p "Lp!ÆB(q"Ŋ/b$XA .dC%N0_Ŋ+VXbŊ+V"|?'p8`>'P|(? 4xaB 6tbD)BWbŊ+VXbŊ%惘/_|`+Oa> ̗_WbŊ+VX|+VXbŊ+VXQb/߿|˗/|/_;/?$8O@ DPB >QD UXbŊ+VXbE*VWQb+VXbŊXbŊ+VXbŊU/_Ŋ+VXbŊ+6WbŊ+VXbŊ%X!|'p "Lp!ÆB(q"ŊYhѢE-ZhѢł,ZhѢE-Zhb|-ZhѢE-Zh`>-ZhѢE-ZX1E-ZhѢE-Z,ϢE-ZhѢE-VgѢE-ZhѢE 泈0_>'gѢE-Zha>-ZhѢE-ZX0ń,ZϢE-Zh"|-ZhѢE-Zh`/_|˗`|'P8P`|˗/|#(`>|O@ DPB >QĈ(RH"E)RH"Ņ 'P߿| 0_'p|8߿80߿|70_8`A&TaC!F8b>)RH"E)RHqa>'0_ 70߿| '0|Oao`|QH"E)R0E)RH"E)R0_| ̗_|˗`|'p࿁ (0_|'0_| O߿| H*\ȰÇ#J1E)RH"E)R0E Qx0E)RH"EQH"E)RH"E Q0_|)RH"E)R0E)RH"E)R0E8? 0 H*\ȰÇ#JHa+VXbŊ+V(1_Ŋ+VXbŊ+V0_Ŋ+VXbŊ+VbŊ+VXbŊ+VlbŊ+VXbŊ+JWbŊ+VXbŊ+6WbŊ+VXbŊ%XbŊ+VXbŊXbŊ+VXbŊUXbŊ+VXbŊ UXbŊ+VXbE*VXbŊ+VXbņ*VXbŊ+VX|+VXbŊ+VXb|+VXbŊ+VXQb>$XA .dC%NXEe̘1cƌ3f̘b3f̘1cƌ3f 4xaB 6tbD)VxcB$XA .dC%NXE5nzG!E <0… :|1ĉ+Z1ƍ;z2ȑ$K<2ʕ,[| 3̙4kڼ3Ν<{ 4СD=4ҥL:} 5ԩTZ5֭\z 6؃;;PKKePKa9AOEBPS/img/amd80002.gifGIF87aXm?**?***UU?UUU????**?*******?*******U*U?*U*U*U**?*****?*****?*****?***UU?UUUU*U*?U*U*U*UUUU?UUUUUUUU?UUUUU?UUUUU?UUUUU?UUU?**?***UU?UUU?????**?***UU?UUU?????**?***UU?UUU?ժժ?ժժժ???**?***UU?UUU?????***UUU,Xm H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷W$X`>$XA .dC%NXE 8`A8`A&TaC!F8bŅ H,H? 4xaB 6tbD)Vx"|$߿ O@ DPB >QD'p`>$XР@ <0… :|1ĉ+Z`>'p 'p@$XA .dC%N`>8`A 'p ,h „ 2l!Ĉ'RhBO@ $0 H*\ȰÇ#JH!|'p "0@ H*\ȰÇ#JHŋ(? 4x@ O@ DPB >QD(? 4x!|O@ DPB >QD-^/_|)'P ,h „ 2l!Ĉ'R$/_|+̗/_+VXbŊ+V(0_|*V40@ H*\ȰÇ#JH1_|(Rd/_|)RH"E)RHqa|Q0_|(RH"E)RD/_>!˗"E)RH"E)&̗/_>˗/E)RH"E˗"EH"E)RH"EG|H"E)RHQ`|(R/_|)RH"E)RH`|'P8p`| ̗/_$(0_| H*\ȰÇ#J0_| ='0|G"E)RH"E˗bg0߿|/|=̗/E)RH"ʼn%̗/|Q/_>)RH"E)R/_|/|̗/|僘/E)RH"E)̗/|/_| /_|/_| ̗/|C/_>)RH"E)R/_>/_|70|E̗"E)RH"|)/_>/_˗/| '0| /_>/@˗/,h „ 2l!Ĉ'Rh`|(߿| o|7p`8p|'p "Lp!ÆB(qb|/_>o`|C/߿|70|)̗"E)RH"E#G1|W0_>哘/_>)RH"E [0@_'? /_| /| 7pO@ DPB >QD-̗b>/|/|xŋ/^L/|O`| ̗/| /| /_>oa|/^xŋ/^/_|8߿o O@ <0… :|1ĉS/|˗O`|'0߿| O@7߿˗? 4xaB 6tbD)V/_ 櫘/_/^xEIW0ŋwŋ/^x]xq`|.^xŋ71_|/˗/ŋ/^xŋwExŋ/^4/ŋ ˗ŋ/^xŋx"|]xŋ/̗ŋwŋ/^x=O@$X`> 4(0_| H*\ȰÇ#J/_>  gРA˗? 4xaB 6tbD)V/_棘"|xŋ/^_| ̗/|/_| ̗Oa|.^xŋ0| /_>'0| ߿|˗/|(P@ <0… :|1ĉ+Z/|˗O`/|O`O`>wŋ/^0_˗O`>/|O`O`>  <0… :|1ĉ+Z/_|Oo/߿7p8`|'p "Lp!ÆB(q"|#0߿߿|O@ <0… :|1ĉ+Z$/_| ̗O`/|'0|˗O`>˗/ŋ/^x"|_| ̗/|/_>/_| ̗0_|.^xŋ/^h0_> ߿߿ |O@  <0… :|1ĉ˧`>߿o`߿߿| (`>8`A&TaC!F8bEX1D O@ DPB >QDHQ`  <0… :|1ĉ+ZD/_IO@$XA .dC%NL/_>0 H*\ȰÇ#JHEwbCO@ DPB >QąG"DO@ DPB >QD-2̗/_'p`>$XA .dC%Nl/_|)6O| H*\ȰÇ#JHE  <0!B <0… :|1ĉ(? 4xaB (? 4xaB 6tbD)V`>8`A&$08`A&TaC!F8Q"|'p "L08`A&TaC!F8bE8? 4xaB <0… :|1ĉ'p`>$XA8p ,h „ 2l!Ĉ'Rh"|'p ",08`A&TaC!F8"A  'p "Lp!ÆB(q"Ŋ/O H8`>$XA .dC%N`> 'p  'p A H*\ȰÇ#JHŋ8 ,h | <0… :|1ĉ'p H |,? 4xaB 6tbD)Vx!| 'p 8`A&TaC!F8D$XA8`A&TaC!F8bE%'p " <0… :|1ĉ+O@  <0… :|1ĉ+Z|,h@$XA .dC%NX!|,X? 4xaB 6tbD)Vx#C$X ,h „ 2l!Ĉ'Rh`|/^xŋ/^x|.^xŋ/^0_/^xŋ/^x`|/^xŋ/^t/ŋ/^xŋ/^x0_/^xŋ/:̗ŋ/^xŋ/^QD-O H*\ȰÇ#JHŋ/'p@$XA .dC%NX"B <0… :|1ĉ+Z"| O@ DPB >QD-"O| H*\ȰÇ#JHŋ3'p ,h „ 2l!Ĉ'RhQ!|'p "Lp!ÆB(q"Ŋ/b0 H*\ȰÇ#JHE  <0… :|1ĉ+Z1|ӨQF5jԨ`|iԨQF5jԨQ|ӨQF5jԨ`|4jԨQF5jԨ1b|5jԨQF5̧QF5jԨQFO@ DPB >QD-^ĘQF=~RH%MDRJ-]SL5'p "Lp!A$XA .dC%NXQ"|,h „ 2l8? 4xaB 6tbDM8qa|'N8qĉ'N8_'N/_'N8qĉM8qa|'N8qĉ'N8_'N/_'N8qĉM8qa|'N8qĉ'N8_'N/_'N8qĉM8qa|'N8qĉ'N8_'N/_'N8qĉM8qa|'N8qĉ'N8_'N/_'N8qĉM8qa|'N8qĉ'N8_'N/_'N8q&r| H*\(0_> 2dȐ!C 2dȐ!C 2D!C 2d0_| 2dȐ!C 2dȐ!Â2dȐ!|2dȐ!C 2dȐ!C 2da> 2dȐ!|1dȐ!C 2dȐ!C cȐ!CcȐ!C 2dȐ!C 2dȐ!C2dȐ!Cǐ!C 2dȐ!C 2,!C "̗!C 2dȐ!C 2dȐ!C cȐ!C "̗/C 2dȐ!C 2dȰ`> 2d0_> 2dȐ!C 1C 1C 1BO@ DPB ˗ϡC:tСC0Cs/Â9tСC:tСC:TϡC _>/_|˗o`> $H|'p "Lp!ÆB(a{a8qĉ'N8qĉM\o`|/|70|˗oĉ'N8q| 70_|˗/|˗/| ̗/߿|70_|7qĉ'N8qĉ囸0|/|̗_ 7qĉ'N8a'0_˗_| ̗/| '0|O`|̗oĉ'N8qĉ'7qaG0|_>/,h|'p "Lp!ÆB(a>˗O`_>̗O`>O`>7qĉ'N8qĉ囸`>߿o| _>$XO@ DPB >Q| (߿|/߿@ ̗/_>o`>8_| H*\ȰÇ#JHb|3` g0߿|˗ϢE-Zh1a>/|/߿|'0__| '0|,ZhѢE-Zh0E O`|˗O`|YL/_>-ZhѢńG0߿|/_| /_|8߿|O'p "Lp!ÆB(q"ŊYD |o @ HAO@ DPB >Q|7q|&N8qĉ'N8q|'No|M8qĉ'Nt/b&N4/ĉ'N8qĉ'Noĉ!˗oĉ'N8q|'N\/ĉ'N8qĉ'Noĉ!˗oĉ'N8q|'N\/ĉ'N8qĉ(? 4xa*TPB  ̗/B *TPB *TPB)TPBSPB *TPB *TP!|̗/_> *OB *TP|)TPB *TPB *TX0|SP@ _>$X0_>$XA .dC%N̗/_>7qb7q`>   <0… :|1D/D{/ĉ'N8qD/_|!3o`|MG0|&7`|&N8qĉ':w0|70|8߿80@/_/_>$XA .dC%2̗/_˗o"|O|#(߿/߿GP??7? <0… :|1D˗o`| '0|_|W0߿|_> ̗oĉ'N8qb|M|/_ ̗/| '0_|/߿|/߿|/_>_|O`>'0߿|#/_'N8qĉ%̗/߿| '0|̗O` /߿|@̗? 4xaB 6tbD˗oD7`>/|˗O`#0@߿O__O ˗/,h „ 2l!Ĉ3`| '0|O@ 7P`'PO ,h „ 2l!Ĉ˗oD7_ /|O߿'p`7|߿|߿|  <0… :|1D G0_| '0|_|W0߿|_7qĉ'N1_|&N/_ G0߿| '0߿|/|/_>/_>'0߿| /_>`|&N8qĉ':w`>߿ @ /|/_O@ DPB >a|$J0_|30@ ߿| |? ̗/| ̗/_>/_|/_|7P`|8`A&TaC!F0ĉ7qĉ'N0_|&N0_| M8q"|M8qĉ'Ntoĉ 8qĉ'N&N8b|&N8qĉ':7qąM8qĉ'7qĉ7qĉ7qĉ'N8a'.̗oĉ'N8`'N<`'N/_'N8qĉM8qa|'N8qĉM8q|M8q"|M8qĉ'Ntoĉ 8qĉ' 'p "Lp! kذaÆ ˗/_Æ 6lذaÆ 6l80_Æ 6/_Æ 6lذaÆ  G`>8P8P ˗/@ O7p80߿(0,h „ 2l/_|:tСC:tp`>:d/C:tСC #/|G0_˗`|/߿|/_|'0_> ̗o`|СC"̗/C:tСC:ϡCСC:tСC'0_̗_|#/|˗/|˗_|G0_|/_|9tСCСC:tСCsСC9tСC:t @/_0@ '߿ ?70߿ 7߿ '߿(0@8`A&TasСC:tСC9t!|:tСC:tH0|/_>'0_>̗ |o࿁ ?O (0,h „ 2l/_|:tСC:tp |,h „ O@ DPB >`> ̗_|70_>̗`|O| ?O (`> 4xaB 6, <0… :|1ć H*\H? 4xaB 6tbĂ/_>̗/|W0_>˗ |O O'P`8`A&TaC H*\ȰÇ#JHqa|+VXbŊ#0@ ?8p @ ̗_ O@ @  <0|8`A&TaC!F8bExŋ/^<ŋ]h0_/^xŋ/>̗ŋ/^x`/:w|.^xŋ/^0_/^xŃ.^0ŋxŋ/^x|.^xŋ'p "Lp!à H̗? 4xaB 6tbD)V0_/^xŋ/^x`|/^xŋ/^|/ŋ/^xŋ/^h0_/^xŋ/>̗ŋ/^xŋ/^4//^xŋwŋ/^xŋ/̗ŋ/^xŋxŋ/^xŋ wŋ/^x"@'p A O@ ߿'P? 8P @'p A O@ (? ϟ_(? 'P O@$ϟ? ϟ? O@$П@ H?8?+X?,?8 @'p A O@ _| 'P O@$П@ H*\ȰÇ#JtП@ H?8 @_| ϟ?П@ H?8 @'p A O@`W? O@ (? ϟ_(? 'P O@$ϟ? ϟ? O@$П@ H?8 @'p /_A (? 'P ,h „ 2l!Ĉ'Rt/_Ŋ+VXbŊ+VXa|+VXbŊ+V1_+VXbŊ+VXb|*VXbŊ+VXb|+VXbŊ+VXbUXbŊ+VX"|*VXbŊ+ O@ DPB8`A& 8?@? 4xaƒ'p "Lp!ÆB(q"Ŋwŋ/^x0|/_> ̗/߿| ̗O`|W0_|/߿|'0_>!w|.^xŋ/^0_/^xŃ G0_|/_/| ̗`| ̗o`|̗_|ˇ0ŋxŋ/^x|.^xŋ+/_|/_|'0_>/_|/|#/߿|˗a /,h „ 2l!Ĉ'Rha|/^xŋ̗`|/_0߿?#߿ 7?O@ D`| H*\ȰÇ#JHŇ]xŋ/W0_>#/? O?'p "Lx0_>$XA .dC%NX|. O@ DPB 8`A&Tpa> ̗_|0? ߿| '? O   <0|8`A&TaC!F8bE峘/_|/^/_|/^$`| ̗/_/_> ̗O |O'? (0,h „O@ DPB >QD->̗b/^/ŋx|/̗ŋ/^xŋ壘ŋ x|/^tE]xŋ/^xa|]x|/^ŋ]h0_/^xŋ/>̗ob/^$X`>$XA .da|:t`|9t|sСÁ9tСC:tСC:tP`| sСC˗ϡC.̗/C˗/C̗ϡC:tСC:tСCsX0C:t_|:ta|9t`|9tС|:tСC:tСC:t(0_>9tСCСC̗/_>˗ϡCСC:tСC:tСC9,ϡC:t/| H*\Ȱ|9tx0_|:t|:tСC:tСC:t(0_>9D/_|˗`>#/|9\/C:t0_|:̗/C: ̗_| W0_> ̗oa.̗ϡC:t/_|̗/_>:t0_>:tСC:tСC ̗a|#/_> W0_> ̗O`|˗/|'0_>8`'p "Lp!Æ 0_|:ta|:tСC:tСC:/Â̗/| ̗0_|/_>/_>_|9,/C:ta|̗/_>:tp`|:tСC:tСC:/Â&̗/߿| ̗0߿|/| '0|˗O`>sСC2O@$XA .d0_ 6lذaÆ 6lذaÆ 6D/_CW0_>K_o`O`'P ,H0_>$XA .dC%N/E)RH"E)RD/|#_|/a_|˗O`>_|M̗"E)RH"ŃQH"E)RH"EMG|o @O`|˗/|O`| 8pO@ DPB >QĈQH"E)RH"EMGa>)̗a>)RH"E H"E)RH"E囘"E'˷0_|)RH"EG"E)RH"E71E)N̗/!|'p "Lp!ÆB(q|(RH"E)RH"|&H"ʼnO| H*\ȰÇ#J80_>)RH"E)R0_(*̗/_> GQb|8`A&TaC!F8q  ̗? 4xaB 6tbD)V0_.̗O`|0_> H*\ȰÇ#J8? <0… :|1ĉ+Z|/| #_|'p`߿|o ,h`|'p ,h „ 2l!Ĉˇ0_'N8qĉ'N8Q`|MT`| ̗_>/_˗O`>MT/|8qĉ'N0_>M8qĉ'N8qĉ囘o| '0| 70߿|'0|0_|'N8qĉˇ0_'N8qĉ'N8Q`|MT`| '0| /@/,h|8`A&TaC!F8`|H"E)RH"E囘b|˗/| '0|O`||(R`>8| `O@ DPa| <0… :|1ĉ+Z|/|˗/| '0|˗O`>˗/|wŃh0| ]81_>]xŋ/^xa|]X0ŋx| ̗/|o`3O`|˗/߿| O7߿ H̗a| H*\ȰÇ#JHŇMwb|/˗ŋ/_>/߿|˗O`/|O`| '0߿|˗O`ˇ0_/^xŋ/>̗ob/^]xŋ/^xa|]x|.^x0|(߿|/߿| O| '0? /߿_(? 4xa!̗? 4xaB 6tbD)V0_.^x`|/^ '0|/_> O`>'0|70߿|˗O`ˇ0_/^xŋ/>̗ob/^/߿|O` o'p "L80_>'p "Lp!ÆB(q"Ŋ71ŋ/̗ŋ/^xa|xŋ/^x|&xŃ]xŋ/6̗a|/^xŋ/^|/|/^x0_/^xņ!̗ŋ/^xŋ壘ŋ ˗ŋ/^xa|xŋ/^x|(˗ŋ'P ,h „ "O@$X`|,/ (? 4xaB O H*\0|2!C2dȐ!|ǐ!C 2dȐ!C 2dȐ!C ̗B$XA .dذ ,h „ .G0߿|˗/| ̗/|O`> ߿ /_ ߿'p "L/_>'p "Lp!ÆB(q"ŊwQ |,h „ 2l <0… /߿|'0߿|˗O`˗O`>˗/| ̗`>'0|aÆC/_Æ 6lذaÆ 6lذaÆ "̗aÆkذa|6lذaÆ(߿|_O_߿|@O`O`>8`A&/|8`A&TaC!F8bEx1_wŋ'0|O߿|/߿7? /| '0,h „C/,h „ 2l!Ĉ'Rha|/w|.^x`>'0߿|˗O` '0|˗O`+O` '0|]/|.^xŋ/^0_xQ`|/^X0|70_|˗O`| ̗/_>˗/|'0| '0|/ˇ0_/^xŋ/>̗|.^/ŋ/^xņ!̗ŋ/^xŋx1_wŋ/^x!@'p|8`A&TaC!F8bEx1_wŋ/^xa|xŋ/^x|.^̗E]xŋ/^l/|.^xŋ/^0_xQ`|/^/_|.G`>8`A'0|'0߿|G0|˗/|/_>/_>/߿|O`|#ˇ0_/^xŋ/>̗|.^/ŋ/ ̗/| '0|o`> ߿|/߿|'߿|/߿_@$XAC/,h „ 2l!Ĉ'Rha|/w|.^h1_|70|(_߿| /߿|G`>_߿| ߿ H ˇ0_>$XA .dC%NX|.^̗E]xb|/_>/|`'0߿|˗O` '0| ̗O`1_>]xŋ/^xa|/w|.^x`>oo`߿| /| ̗/|/_|˗O`'0_| H ˇ0_>$XA .dC%NX|.^̗E]xŋ/^l/|.^xŋ/^0_xQ`|/^xŋˇ0_/^xŋ/>̗|.^/ŋ/^xņ!̗ŋ/^xŋx1_wŋ/^xa|xŋ/^x|.^̗E]xŋ/^l/|.^xŋ/^0_8p ,h ‚ 8? 4xaB 6tbD)̗a|+VXbŊ+V1_8p ,h ‚ 8? 4xaB 6tbD)̗a|+VXbŊ+V1_'p`>$XA8P ,h „ 2l!Ĉ'R$XA .dC%N0_>UXbŊ+VX"|*V0@ H'p ,h „ 2l!Ĉ'RD/|*VXbŊ+VXb|+ O@$XA (? 4xaB 6tbD)&̗a|+VXbŊ+V1_˗błWbŊ+VXb|WbŊ+VXbŊXq`|*V,/_+VXbŊˇ0_+VXbŊ+V/_ŊUx0_Ŋ+VXbŊ C/_Ŋ+VXbŊ+B̗bŊ+VXbŊ+V80_>UXbŊ+VX"|*VXbŊ+VXbŊC/_Ŋ+VXbŊ+B̗o |,h „ 'P |,h „ 2l!,h „ 2l|"D!B"D!B0_ B1_|!B"ā B"DC/D!B"D!B"|"|"D!̗"D!B0_>A"D!B"D!2̗o`>!B̗`>!B| B"DC/D!B"D!B"|"|"D!̗"D!B0_>A"D!B"D!2̗o`>!B̗?'p "Lp!ÆÇ>|h0_>=|Ç>|Ç>l/|>|H0_>>|Ç {Ç>4/|>|Ç>|Ç6̗o`>$/|>|C=|Ç̗a|>|Ç>|Ç70Ç̗`>||>|Ç ˇ0_>|Ç>|Ç Ç G0Ç>|Pa|>|ÇC/Ç>C=C=C=@/,h „ G0… .\p…[p… .\pa| <0… :|1ĉ+Z|/|/J̗`/^/ŋ/^\/|.^xŋ/^0_.^/|1ŋxŋ C/ŋ/^xŋ70|囘O`| s/|0|/^̗ŋ/.̗a|/^xŋ/^|/| ̗b"G0|˗/|˗/|70_|˗/|˗/|/_xŋ C/ŋ/^xE]tC߿|߿ |߿| O`O` ?'߿'p #/_>/߿|'0|˗_| /|/߿|;x`|8`A&TaC ˇ0_>!B"D!B"D 70_|/_|˗O`_|'0|'0|/| 'p`'߿_>/|O`>/| A /,h „ 2l|"D!B"D!B0_ ˗O`__ '0_o`|A4`| ̗/߿|̗/_>70|˗/_0@ H'p "Lp!Æ̗a|!B"D!B"D O`0'P`>o|O`| '0|7po| /| o| '0_| '0_'0߿|O@ ̗? 4xaB 6t`|"D!B"D!Bd/|#_>'0߿|O`'0_/_>o`|A4`/_> O@/?,8`AO@ DPB >4/| B"D!B"D70@ o`o/߿ O|/߿'߿'p "LPa-\0_ .\p… ̗a| H*\ȰÇ#JHŇ ̧0ŋ#Ň0_|.*̗ŋ/.̗a|]xŋ/^xa|)w|xŋ]xŃ 8A8`A&TaC!F8bE Ewŋxŋ8p 'p "Lp!ÆB(q"Ŋ70ŋ#`>QO@$XA /߿| H|8`A&TaC'p` <0… :|1ĉ+Zl/|/J̗`>Sb]d`>]xE ߿ O@ DPB >QD-6̗o`> /߿8`A G0|˗_|˗O |߿ O|080߿O|˗/| (0_>$XA .dC @  <0… :|1ĉ+Zt/|!w1a|/_/|O`>'0_|70_'0߿|/_/߿|W0߿| /|wŋ'P ˗/,h „ 2l!Ĉ'Rha|YW0|70_|#`_|'0|#/|(߿|/߿|/߿ /߿߿o O@'p "Lp!Æ̗/|A"D!B"D!2̗o`>'0_|'0_>#`|_߿ ߿| __>'0| o|8߿8_| H*\Ȱǡ0_>!B"D!B"D  | /|'0|_>_|'0|˗O` /߿| '0|/_|70|8`A&TaC!F8bE1fԸc|YW0@@$X`|/|/_| `> o`˗o`|`>/߿/_| ̗/O@ DPB >QD-^ĘQF g1_|'0߿|U̗`>H1_>9r<0  <0… :|1ĉ+ZT/|'0߿|/_>w"|xq`|/^X`>8`A(? 4xaB 6tbD)VX0_.^/|/^x1_/^/_| H(? 4xaB 6tbD)V/|-R̗`>-ZX0_>-Z/@,h B'p "Lp!ÆB(q"ŊϢEgѢE gѢEП <0|'p "Lp!ÆB(q"ŊϢEgѢE gѢEO@ D0a| H*\ȰÇ#JH|hb|YhѢłYh"|8`A&T80_>$XA .dC%NXa|YH1_>,Zhb|,Zhqa>$XA  <0… :|1ĉ+2̗o`>)G0E-Z,/E-&̗? 4xaB O@ DPB >QD70E#ϢE-̗ϢEO@ DPB8`A&TaC!F8bń g"|hѢEhѢŃ8`A&T`>$XA .dC%NXa|YH1_>,Zhb|,Zh`>$XA .4? 4xaB 6tbD)VQD g1b|-ZT/E-Zhqa>$XA .T? 4xaB 6tbD)V,/ňYhQa|-ZhѢŅ'p "Lp!|8`A&TaC!F8błY/EgѢE-Z\/@,h „ "̗? 4xaB 6tbD)V,/ňYhQa|-ZhѢŅ'p "Lp!|8`A&TaC!F8błY/EgѢE-Z\_>$XA .4/_>$XA .dC%NX`|#gѢEYhѢE? 4xaB ˗? 4xaB 6tbD)V,/ňYhQa|-ZhѢŅO@ DPB <0… :|1ĉ+̗b|,Z0_>-Zh|'p "Lp| <0… :|1ĉ+̗b|,Z0_>-Zh|'p "Lpa <0… :|1ĉ+̗b|,Z0_>-Zh|O@ DP|/_>$XA .dC%NX`|#gѢEYhѢE;? 4xaBO|8`A&TaC!F8błY/EgѢE-Z\a| H*? <0… :|1ĉ+̗b|,Z0_>-Zh| П <0a|'p|8`A&TaC!F8bł ga|-ZT/E-ZhqaO@ D0_| HP`| H*\ȰÇ#JH? 'p "Lp!A <0… :|1"|П $XA .dC%NXq |'p O@$XA .40 H*\ȰÇ#*'"| O@ ,/,h „ 2l!Ĉ'R8`>8`A'P ,h „ "O@$XA .dC(QāI(QD%J(Q'Q|(QD'QD%J(Q`>%J/D%J(QD%J/_>˗OD ˗OD%J(Q|%J80_>%J(QD%J(0_>'QD(QD%J80D%̗OD%J(QD%J(QD%J(QD%(QāI(QD%J(QD%J(QD%J(Q|%J80_>%J(QD$H'p "Lp!ÆB(Q",h „ 2l`>|/Ç>|Ç>|`>8`A&TaC!F(`>8`A&TaC:ta|:tСC:tСCСC:tСC̗/C:t`>:tX0_>:tСC:t!|:tСC:ta|:tСÁ:ta|:tСC:tСC9tСC:tСC 9tСCsСCsСC:tСCСC:tСC.̗/C:t0C:,/C:tСC:tp`>:tСCr!(@$XA .d`>:tX0_>:tСC:t|:tСC:t|9tСC9tСÂ9tСC:tСCsСC:tСC˗ϡC:tϡC̗ϡC:tСC:t80C:tСC:t0_|:tС|:t`|:tСC:tСÁ:tСC:tСÅsСCs0_|̇0_|̗ϡC:tСC:t80,h „ 2l!Ĉ'F̗/E)JG_|哘`|僘/E)RH"E QH|QH"|QH|#/߿|˗/|O`|˗O`|H"E)RHa>)R/_>(RHb|(RHQb>̗_| /_|_|/_|H"E)RHa>)R/_'0_|)R0_|)R(1|/|/_|` ̗? 4xaB 6tbD)WbŊ ˗_|O`+VT/_+Vtb|o`|˗` (? H|8`A&TaC!F8|+V0_70|*VXQa|*VXa ̗O`/|/|/|*VXbŊ+VbŊ'P|| H*\Ȱ|9tСC9D/_| ̗/_>'0|/_|СC:tСC:ϡC:do`| /|:tС|9tСC9tСÂ9tСC:tСCsСCG0߿|0 H*\Ȱ|9tСC9tСÂ9tСC:tСCsСC:tСC˗ϡC:tϡC̗ϡC:tСC:t80C:tСC:t0_|:tС|:t`|:tСC:tСÁ:tСC:tСÅsСCsСCsСC:tСCСC:tСC.̗/C:t0CСÁ9tСC:tСC P>$XA .dC%N/_>)Rb|H`|)RH"E)6G"E˗|QH"|QH| #_|˗o`>/_QH"E)R0E)̗O`| H"EH"E(̗/|/_|˗O`>Q̗"E)RH"ņ(RHq`>˗o |o'p "Lp!CkذaÆ װ|˗O`>O`| a| 6lذaÆ 6lذaÆ5lذaÆ̗O`>'0|/| '0_ 6lذ`|6lذaÆ5\ |߿|7P8`A'p "Lp!ÆB(q"Ł*VH1_| '0| /| '0_Ŋ+˗bŊ80_>O`>/|U̗bŊ+VXbŁ*VH1|O`>_> _>$XA .dh0_| 6lذaÃ2O/߿|O@  <0… :|1ĉX"|˗/| '0|O`|bŊWbŊUXa|+VXbŊ+WbŊ'0_| '0|O`'0_Ŋ+˗bŊX"|*VXbŊ+VbŊ+XbňXbE*V0_+VXbŊXbŊ*VX1b|*VXa+2̗bŊ+VXbŁ*VXbŊ+J̗/_Ŋ+:WbEUXQEUTQEU4@8`A&TaC!F81b|(RHQb>)>̗"E)RH"ņ(RH"E)R)R"EH"E)RHa>)RH"E˗"E%H|(RH"E)Rl"E)RH"ŃH"E(R0_|)RH"E)6G"E)RH|QH|)Rl/_>)RH"EH"E)RH`|QH|)Rl/_>)RH"E˗"E)RHD <0… "СC˗ϡC:tСC:th`>'p "Lp!ÆB("| <0… *СC˗ϡC:tСC:t`> 4xaB 6tbD'p "Lp!Æ 9tСsСC:tСC2O@ DPB >QD H*\ȰC>|pa|>|Ç>|Ç8`A&TaC!FX? 4xaB 6t0Ç&̗/Ç>|Ç>|Ç>|pa|>|Ç>$Ç˗Ç>|Ç>|Ç>|0_>|ÇÇÇ>|Ç>|Ç>d/Ç>|Ç {ÂÇ>|Ç>|Ç>d/Ç>|Ç {CÇ>|Ç>|Ç>l/Ç>|Ç{(| H*\ȰÇ#JHŋ3jD/ƍ7nܸ0ƍ˗oƍ7nܸqƍ7&̗oƍ7nd/ƍ˗oƍ7nܸqƍ7*̗oƍ7nto˷qƍ7nܸqƍ˷qƍ7>̷Qc|mܸqƍ7nܸqFmܸqƍh`>8`A&TaC!F8bE1f0_7nܸ1b|6JO@$XA .dC%NXE5:̗oƍ7n/Ƈ  <0… :|1ĉ+Z1Fmܸqƍ˷Q!|'p "Lp!ÆB(q"Ŋ/b̨Qb|7nܸqE O@ 08`A&TaC!F8bE1f81_7nܸ1#|'p 'p@$XA .dC%NXE5Z̗oƍ7n08?$8? 4xaB 6tbD)VxcF۸qƍ7O@ O@ DPB >QD-^ĘQqȑ#G'p 8`A&TaC!F8bE1fԸ`|9rȑ#G9rȑ#G9r |O@ DPB >QD-^ĘQF=~#|O@ DPB >QD-^ĘQF=~#|O@ DPB >Qă!̗"E)RH"E)RH"E80,h „ 2l!Ĉ'̗a|(RH"E)RH"E)RH`>8`A&TaC!F8`|̗/_>)RH"E)RH"E)O@$XA .dC%No@$XA .dC%NXE5n4/_>9rȑ?߿'p "Lp!ÆB(q"Ŋ/b̨q#ǎ8`A&TaC H8P 'p "Lp!ÆB(q"Ŋ/b̨q#ǎy`> (?8`A&TaC!F8bE1fԸcG"D!B"/Bˇ0_>$XA .dC%NX`>-Z$b>- gQa>-ZL/E!̗ϢE-ZhѢE,Zh`|(hѢ|YDϢEgQa|hE-ZhQb>-Z$/_>,Z(0_|hѢńYT/|,ZhѢE-ZϢE ˗b>- ̗/E,Zh1a|ˇ0_>-ZhѢE%hѢE壘ϢEga>-ZL/E!̗ϢE-ZhѢE,Zh |8` 4hРA 4(0_| 4h0,h „ 2lh0_> ˇ0_>:tСC:tСC:tСCsh0C2̗/C9tСC s`|sСC:tСC:tϡC:D/_>9t!|9t(0C:t0_> ˇ0_>:tСC:tСC:tСCsh0C2̗/C9tСC s`|sСC:tСC:tϡC:D/_>9t!|9t(0Ä7`>?#/߿| H ˗0a‚!̗? 4xaB 6tbD)V<ϢE ˗b>- ̗/E,/߿|a,R̗Ϣ|gѢE-ZhѢ|-ZH0_|YhQ`|,"g1|̗_> /_|/_|70|,*̗a|-ZhѢE-JW0_|'P (0_|(`>8p`|̗/_G_> ߿ H`|`A O@3h|4hР| $/_ Ϡ|˗_|O`>/_> ̗ϠA ̗Ϡ|8`A&TaC!F8bŃ70| ̗/|/_| ̗O`| W0_| ̗O`|(+/_>#a>峈0E`+_+/|W1_> C/E-ZhѢE ̗`|70_|/_| /_>W0_| ̗O`|(+/_'0_|/|˗_|0 O|'p  ̇a|3_> o`˗/|ˇa|"D0_>'p "Lp!ÆB(q"Ŋ g0߿| /_> +a|3_ o`壘`˗_| W0| '0_O`| ̗/|ga/_> ̇0_| ̗_>O`|*gQa|hѢE-ZhQb 0@O80@ '0A#/'P'p ̗_| G0_ _߿|/߿'P`|8`AC |o ߿70߿8_O@ ˗ w_| H*\ȰÇ#JH|/|'P/߿| o _7P` 7_>8P`|o? ߿? ̗_>O`>O |'P`|8`AC!"D`> ˇ!B!̗? 4xaB 6tbD)V<`| 70_>/_>W0|/|+`>/_> 70_|o`> ̗_>O`>O`|#/_|'p  'p "Lp| ǐ!|ǐ!C 2dȐ!C 2dȐ!C ˗/|˗`>'`> (߿ o@80/˗/?߿||/߿/߿o`> ̗/@ H H*\Ȱ|:$/|:tСC:tСCsСÅ*O@ _>$XA ./_ H H*\Ȱ|:$/|:tСC:tСCs!AO@ DH`> ,߿| H*\(0_|c0C ̗/_G0_| O8`A;xA/,h „ 2l!Ĉ'Rx0E-̗/B@y28`A&TP`| pa> o`|o` o`|1d80_> ˇ0_> 2dȐ!C 2dȐ!C *ǐ!C 2D/_> 'p "Lp|̗| '0|̗O` o`|cP`| "̗a| 2dȐ!C 2dȐ!C 2T!Á +X` ,/_|˗ | H*\(0_|c0C ̗/| W0_| 70Cca|cȐ!C 2dȐ!C 2dȐ| 70_>2d0_| ch0_|1dȐ`| pa> #/_ `'P'p  w;/_>$XA .dC%NX`>/_|'0|70_|˗b|Q'1|%˗`|h0߿|3O` `>,̗Ϣ|gѢE-ZhѢ| /߿|˗O`O`˗_|Y$/_>$+O`| O ߿| H|̗ϠA4h |#_|`#O`> /A /A'p "Lp!ÆB(q"ŊY,0@'_> ̗/70߿|O@ ̗/ 70߿|̗/_|<(0;x_wA/_'0߿|H0_|IW0|'0_|/_+/,g1b>峨0_>YhѢE-Z(1ł 'p࿁o|o`>$X`|˗+/;x$'P| _߿8`+/A O@ DPB !|СC:tСC:t0C˗/C`>`| 0a>:ta|̗a|:tСC:tСC9tСC`>`| 0a>:ta|̗a|:tСC:tСC9tСC`>:d/_9LϡC:l/CC/C:tСC:tС|:t!|94ϡC'?8p  <0… ̗ϡC!̗ϡC:tСC:ta>:ta|СC W0_> 9tСC s`|sСC:tСC:tϡC:D/_>9t!|̗a|:ta|:$/|:tСC:tСCsСC˗ϡ|:t0_|s0C:t0_> ˇ0_>:tСC:tСC:tСCsh0C2̗/_|&O@ DPB 'p ̗a| H*\ȰÇ#JH|-ZH0_|YhQ`| gQ |,h „ 2l? 4x`|O@ DPB >QDhѢE壘ϢEW0_>8`A&TaC HC/,h „ 2l!Ĉ'Rx`> 4xaB 6, O@ DPB /,h „ 2l!ĈC/D%J(QD%J40 <0… O@ O@ DPB /,h „ 2l!ĈC/D%J(QD%J40 <0… O@ O@ DPB /,h „ 2l!ĈC/D%J(QD%J(QD%JL/D(QD%J\/|$J(QD%J(QD%J(Qb|$J4/D%J(Q|'QD%J(QD%J(QD'Q|$J(QDˇ0_>%J(QD%J(QD%J0_> 'QD%J0_>I(QD%J(QD%J(QĄIh0_>%J(Qą!̗OD%J(QD%J(QDI$QB <`| &L0a„ &L0a„ ˇ0_>$XA .dC%NXE5nL/Gqȑ#LJ!̗#G9rȑ#G9^̗|8rȑ|Ǒ#G9rȑ#G/a|9ra|ȑ#G9rȑ#G0_>9r0_>qȑ#G9rȑ#Njqt/G9r|/|8rȑ#G9rȑ|8:̗#G9>̗a|9rȑ#G9rb|Ǒ#Gˇ0_>9rȑ#G9rH`>'p "/_„ &L0a„ &L0aB!̗? 4xaB 6tbD)VxcF 'p@$XA 8? 4xaB 6t"|1bĈ#F1bĈ#F1bĈ#.O| H8P ,h „ 2l!D!̗/bĈ#F1bĈ#F1bĈ#F\08`A'p`>$XA .dCC/_Ĉ#F1bĈ#F1bĈ#F`>8`A O@$XA .dCC/_Ĉ#F1bĈ#F1bĈ#F`>8`A O@$XA .dCˇ0_>%J(QD%J(QD%J0_|%̗/_>%J(QD!̗OD%J(QD%J(QD%&̗OĂ(QD%J\/|$J(QD%J(QD%J(QD(QD%J\/|$J(QD%J(QD%J(QD%J(QDˇ0_>%J(QD%J(QD%J(QD%J(QD!̗OD%J(QD%JT0 <0… :|1D H*\Ȱǡ0_#F1bĈ#F!|O@ DPB >Q"A$ <0… :|`|1bĈ#F1bĈ˗/_Ĉ#F1bĈ˗/_Ĉ#F1|1bĈ#F1bĈ#&1bĈ#F1bDE1bĈ!ˇ0_#F1bĈ#Fa#F1bĈ#F/bĈ#F0_>E1bĈ#F1bĈE1bĈ#F1|"F1bĈC/_Ĉ#F1bĈ#Fx0_Ĉ#F1bĈ#̗/_Ĉ#Fa|1bĈ#FQDEAO@ DPB >QĈH"Eˇ0_>)RH"E)R,"E)RH"ŃH"Eˇ0_>)RH"E)R,"E)RH"ŃH"Eˇ0_>)RH"E)R,"E)RH"ŃH"Eˇ0_>)RH"E)R,"E)RH"ŃH"Eˇ0_>)RH"E)R,"E)RH"ŃH"Eˇ0_>)RH"E)R,"E)R"(:|8`A&TaCˇ0_>!B"D!Bb|!B"D!B0_|!B"DC/D!B"D!B`>!B"D!B|/_>!B"D!̗"D!B"D!BX0D!B"D!>̗/D!B"|"D!B"D!B,"D!B"D˗"D!B`|"D!B"D!"Dq`"D "D!"ʗ? <0… :|1ĉ+:gѢEk`,Zh_|,ZhѢ|gѢE-ZhѢŁ,Z0|70_|G0_|˗O`>˗o`|,Z0_|-Zhb|hѢE-Zh|-Zd` /|+`'0߿|O`|-Z\/_>-Zh1_>YhѢE-Zhq`>-2O@ /|/_>O@ DPBcȐ!C 2dȐa|cȐ!C 2dȐ!C 2dȐ!Â2dȐ!Co``O`|'P8`A&Ta|2dȐ!C 2d/|2dȐ!C 2dȐ!C 2dȰ`> 2d`>'0߿|W0_| '0߿|O`> 2d`|2dȐ!C 2d/|2dȐ!C 2dȐ!C 2dȰ`> 2d`>˗o`|G`>߿|/߿ <0… ǐ!C 2dȐ!|ǐ!C 2dȐ!C 2dȐ!C1dȐ!C 2dȐ!C 2/_> 2dȐ!C ˇ0_> 2dȐ!C 2dȐ!C 2,!C 2dȐ!C 2dȐ|1dȐ!C 2d0_>1dȐ!C 2dȐ!C 2dȐa| 2dȐ!C 2dȐ!C ˗!C 2dȐ!C!̗!C 2dȐ!C 2dȐ!C cȐ!C 2dȐ!C 2d80_| 2dC 1C / ̗? 4xaB 6tbD)VtϢE-Zhb|YhѢE!̗ϢE-ZhѢEYhѢE-ZL/_>-Zh1_>YhѢE-Zhq`>-ZhѢE gѢE-ˇ0_>-ZhѢE-gѢE-Zh1a|,ZhѢ|gѢE-ZhѢŁ,ZhѢE-&̗/E-Z/|,ZhѢE-Z80E-ZhѢńhѢEC/E-ZhѢEhѢE-Z|8`A&TaCˇ0_>!B"D!Bb|!B"D!B0_|!B"DC/D!B"D!B`>!B"D!B|/_>!B"D!̗"D!B"D!BX0D!B"D!>̗/D!B"|"D!B"D!B,"D!B"D˗"D!B`|"D!B"D!̗"D!B"D˗"D!B`| (0_>$XA .dC%NXa|-ZhѢE 'P ,h „ 2l!|"D!B"D!B<0@ H*\ȰÇ#Jh`>'p "Lp!Æ6̗a|!B"D!B"Ą HP ,h „ 2l!Ĉ 'p 8`A&TaCˇ0_>!B"D!BB$XA .dC%NT <0… :|_|1bĈ#F1bĈ#O@ DPB >QD$XA .dCC/_Ĉ#F1bĈ#F1bĈ#&̗/bĈ#F1bĈ#B̗a|#F1bĈ#F1bĈ#F0_#F1bĈ#F1_>E1bĈ#F1bĈ#F1b|"F1bĈ#F1"|1bĈ#F1bĈ#F1bĈ 1bĈ#F1bĈC/_Ĉ#F1bĈ#F1bĈ#&̗/bĈ#F1bĈ#B̗a|#F1bĈ#F1bĈ#F0| H*\ȰÇ#JH|gѢE-ZhѢE-Z/E-ZhѢEC/E-ZhѢE-Zhqb|-ZhѢE-F̗a|-ZhѢE-ZhѢʼnYhѢE-Z1_>YhѢE-ZhѢE'gѢE-Zhb|gѢE-ZhѢE-Z/E-ZhѢEC/E-ZhѢE-Zhqb|-ZhѢE-F̗a|-ZhѢE-ZhѢʼnYhѢEYdE/ ̗? 4xaB 6tbD)VxcFiԨQF5j/|4jԨQF5jԨQ|4jԨQF5̗a|5jԨQF5jԨqa|5jԨQFˇ0_>5jԨQF5jԸ0_>5jԨQFC/F5jԨQF5jD08`A&TaC!F8bE!̗ϢE-ZhѢE-Z`>'p "Lp!ÆB(q"ŊC/E-ZhѢE-Zh"| O@ DPB >QDˇ0_>-ZhѢE-ZhbD <0… :|1ĉ+̗a|-ZhѢE-ZhѢň  <0… :|1ĉ+̗a|-ZhѢE-ZhѢE  <0… :|1ĉ+̗a|-ZhѢE-ZhѢEgѢE-Zh"|gѢE-ZhѢE-Z/_>-ZhѢE!ˇ0_>-ZhѢE-Zh|,ZhѢE-Z/|,ZhѢE-ZhѢE-ZhѢE-Z/|,ZhѢE-ZhѢE-ZhѢE-Z/|,ZhѢE-Zh`> 4xaB 6tbD8`A&TaC!B̗a|#F1bĈ#F1b (? 4xaB 6tbD8P ,h „ 2l!D!̗/bĈ#F1bĈ#Ft/_|#F1bĈ#F/_|#F1bĈC/_Ĉ#F1bĈ#F0_#F1bĈ#&̗/bĈ#FQ`|1bĈ#F1bĈ1bĈ#F1bĆ"F1bĈˇ0_#F1bĈ#F1a#F1bĈ#B1bĈ#F/|"F1bĈ#F1bD"F1bĈ#F_|#F1bć!̗/bĈ#F1bDEQD? 4xaB 6tbD!G"E)6̗a|)RH"E)RX0E)RH"EH"Eˇ0_>)RH"E)R,"E)RH"ŃH"Eˇ0_>)RH"E)R,"E)RH"ŃH"Eˇ0_>)RH"E)R,"E)RH"ŃH"Eˇ0_>)RH"E)R,"E)RH"ŃH"Eˇ0_>)RH"E)R,"E)RH"(@$XA .dC!̗"D!B"D!BX0D!B"D!>̗/D!B"|"D!B"D!B,"D!B"D˗"D!B`|"D!B"D!"D!B"D"D!BH0_>A"D!B"D "D!B"ć@ O@ w̗|8`A&TaC!F8bE,ZhѢE-&̗/E ̗|-̗a|-ZhѢE-ZϢE-Zhb|Yx0|/_|'0_|˗O`>˗_|,2̗a|-ZhѢE-ZϢE-Zhb|Yx0|/_>'0_|˗_| '0_ gqa|hѢE-Zh|-ZhѢE˗ϢŃ _/߿|'߿|/߿_? 4x`|O@ DPB >QDhѢE-Z0_|-g0|G`>_߿|  'p "Lp!ÆB(q"ŊYhѢE-ZL/_>3O`|˗O`|/| '0|泸0_>YhѢE-Zhq`>-ZhѢE g| ̗/| ̗/_>'0_|/_|ˇ0_>-ZhѢE-gѢE-Zh1a|,ZhѢ|gѢE-ZhѢŁ,ZhѢE-&̗/E-Z/|,ZhѢE-Z80E-ZhѢńhѢEO@ DPB >QDhѢE-Z0_|-Zhb|hѢE-Zh|-ZhѢE˗ϢŊ˗0߿|-̗a|-ZhѢE-ZϢE-Zhb|YH1_>!/EC/E-ZhѢEhѢE-Z0_|-RG0| /߿|Y80_>YhѢE-Zhq`>-ZhѢE g"| '0߿|gѢ|gѢE-ZhѢŁ,Z","(@$XA &̗0_>˗o… ˇ0_ .\p… .\p… .\p` .\p… .\p… ˗o… &G0|_>[pB!̗o… .\p… .\p… .o… .\p… .\p„[p… /߿| /_.\P`|[p… .\p… .\p… [p… ̷`̷p… .\/_ .\0_|'p| <0| <0… :|1ĉ+:gѢŇ{a>-Z/_>-Zh1_>YhѢE-Zhq`>->̗/|/_|'0_|'0_|˗/|h|YhѢE!̗ϢE-ZhѢEYha ̗_|/߿|˗O`O`|/߿|-Z\/_>-Zh1_>YhѢE-Zhq`>-:̗_| /|/|/| ? 4xaB 'p "Lp!ÆBO@ DPB >QDhѢC /߿߿|/˗/|O`>8`A&Tp!|,h „ 2l!| (0_>$XA .dC%NXa>-:70_/|_|O`>O`>,Z0_|-ZhѢ|,ZhѢE-Z80EG0߿|/_|'0_|8 _'p "Lp|1dȐ!C 2dPa| 2dȐ!C 2dȐ!C 2dX0C 2dp`2dȐ!C ̗/C 2dȐ!C ǐ!C 2dȐ!C 2dȐ!C1dȐ!C +!C 2dȐa|1dȐ!C 2dPa| 2dȐ!C 2dȐ!C 2dX0C 2dȐ!C 2dȐ!Á[!C 2dȐ!C1dȐ!C 2dȐ!C 2dȐa| 2dȐ!C 2dȐ!C ˗/a|8`A&TaC"D!B"D!B,"D!B"D˗ |'p "Lp!Æ*̗"D!B"D!BX0D!B"D!>̗/_A <0… :|0_>!B"D!Bb|!B"D!B0_|8`A&TaC!O@ DPB >QDhѢE-Z0_|8`A&TaC!O@ DPB >QDhѢE-Z0_|8? 4xaB 6tbD)VxcFmܸqƍ%˗a|mܸqƍ7nܸqF6nܸqƍ˧0_|7nܸqƍ7nܸ1c7nܸq|mܸ`>8`A&TaC!F8bE1N̗1cƌ3fx0_|3>70_|3f̘1cƌ3f̘0_ƌ3f̘1|e0|'0_|˗1cƌ3f̘1cƌe̘1cƌ3̗/_ƌ'0| '0_ƌ3f̘1cƌ3̗1cƌ3fx0_|3>G0|#/_ƌ3f̘1cƌ3̗1cƌ3fx0_|3>G0|O`|e̘1cƌ3f̘1|3f̘1cƌ˗1| 70|_>$XA .dC%NXEe̘1cƌ3̗/_ƌ(߿ (? 4xaB 6tbD)Vx|3f̘1cƌ˗1cƌ3f̘1cƌ3ft/cƌ3f̘`|2f̘1cƌ3f̘1cƌe̘1cƌ3̗/_ƌ3f̘1cƌ3f̘a3f̘1cƃ˘1cƌ3f̘1cƌ3:̗1cƌ3fx0_|3f̘1cƌ3f̘1cF2f̘1cƌ˗/cƌ3f̘1cƌ3f0_ƌ3f̘1|e̘1cƌ3f̘1cƌ˘1cƌ3f)RH"E)RH"E)&G"E)RH|QH"E)RH"E)RH1a>)RH"E˗"E)RH"E)RH"E QH"E)Rx0_|)RH"E)RH"E)RT"E)RH"EH"E)RH"E)RH|)RH"E)̗/_>)RH"E)RH"E)./,h „ 2l!Ĉ'2/_>)RH"E)RH"E)6̗"E)RH"E O@ DPB >QD-^ĘQFȑ#G7'p`>$XA .dC%NXE5n0@ H*\ȰÇ#J08`A&TaC!F8bE1fԸ"| <0… :|1bD$X? 4xaB 6tbD)VxcF9'p "Lp!ÆB(qb>$XA .dC%NXE5nx`> 4xaB 6tbD 8`A&TaC!F8]bE1fԸcGA9dI'QTeK/aƔ9fM7qԹgO?:hQG&UiSOF:jUWfպkW_;k@;;PKIyPKa9AOEBPS/img/adaconn.gifGIF87aXM?**?***UU?UUU????**?*******?*******U*U?*U*U*U**?*****?*****?*****?***UU?UUUU*U*?U*U*U*UUUU?UUUUUUUU?UUUUU?UUUUU?UUUUU?UUU?**?***UU?UUU?????**?***UU?UUU?????**?***UU?UUU?ժժ?ժժժ???**?***UU?UUU?????***UUU,XM H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳgO$XA 'p "Lp!ÆB(q"Ŋ/b̨q#ǎ?/|!C 2dȐ!C 2dȐ󅔘/dȐ!C 2dȐ!C rb'0_|˗/|O`> 'p "Lp!ÆB(q"Ŋ/b̨q#ǎ?`>#`| '0| 2dȐ!C 2dȐ!CNw0|g0_>`B 2dȐ!C 2dȐ!';o`+/_| '0| 2dȐ!C 2dȐ!CNw0|˗_| /_`B 2dȐ!C 2dȐ!';o`+/_| '0| 2dȐ!C 2dȐ!CB̗/_/|_߿|?'p "Lp!ÆB(q"Ŋ/b̨qA$XA .dC 70|/_|70_/_|%'QD%J(QD%J(QD (QD%Jl`>(QD%J(QD%J(QDI(QD%2W0DI(QD%J(QD%J(QD$J(QD+Oć$J(QD%J(QD%J(Q|%J(QD 'Q|%J(QD%J(QD%J(`>%J(QD (a>%J(QD$H"$H"$H"(,h „ 2l!Ĉ'Q|%J(QD%J(QD%J(`>%J(QD 'p "L? 4xaB 6tbD)VxcFȑ#Gqȑ#G9rȑ#G1!|,h „ O@'p "Lp!ÆB(q"Ŋ/b̨q#ǎ y0G -ѣG=zѣG=bѣ|=.̷0G=zѣG=z1G y0|=zѣG=z#|=*̇0_>o`/_|0@ 0@ O@? 4xaB 6tbD)VxcF9vLϣGO`>'0߿|`>Ko`>[#|,h`>$XA 'p  'p A H'p "Lp!ÆBD0 < 0 <8? 4x_>"D!B #/_'0߿|`>C/|;|"$!B!D!B"<|"Da|"D!B"D!BC!ƒ ̗!B!D`>"D!3`>'0߿|`'0| w0Bˇ!ƒ"Da|̇_>"D0_>"D!B"D!B!D|C!B!DP`>"D!(߿| o|__/ 80|8_ ? 4H0|O` `> O@ w0߿|$|` ̗O`'0_3oBoB.\0|`.\0a .\p… .<`O` ̗/|̷p|-\(0… .\/|˗O`| '0_/_|˗/| ̗/_>;oB ˗_|O|߿'p "O`/_`|˗_|˗/_/_|'p`/,h „ 2l!|70߿|/|O`>`># O|8p8`A&T`> 2d0| `>`|_|ǐ!C;_|w0|'0_>_> `/_ cȐ!C 2dȐ!|70| /߿|/_`> ̗/|/߿|;| 2dPa> 2d0| 'p`>'0߿|8`'?8P ,h | OG0 (? 70_>|߿߿o| H*\ȰÇ8P 70|/_|#8`>'p`˗_|˗|?'p`>$XP`> 4hРA gРA 4hР gР|̗`|˗O`'0| 3/_| ,/| '0_|`| ̗/߿| /| /| '0_> 3/_>$XA .d|̗`O`˗/|̗`|/| /_|/|0Ç*Ç -0|̗/߿|;/_| ̗`>w0߿| O@`̗/߿|'0߿|O`/|˗/|  <0… :l`˗O`|O`|(?#_>˗| G/ <0…1dȐ!Åcoa> ˷0Ã| ǐ!C-ǐ!C 2dacȐ| g0C -0C 2T0 <0…8| W| ,X`A `,/_ WP` ,X`+XP`>$XA .da| =|0|=|80| =|Ç>|H0| =|X0_|[!|=|`>|Ç -a|=|0_| =|Ç>|H0|=|80|˷0C{| =|Ç[Ä{`{Ç>|`|=a%̗Çso!|,h B H|,h | H| 3hРA380A $/A,? 4xaB 6tb惘/ĄA1| [/D僘oa>)̗O|-'Q| 'qa|-'QD%J0|8`A8` $ϠA$X A$8`> 4xA$Xp`>4hРA gРA g| 'p ",'p O@3X0,h „ 2l!Ĉ-'QĄ (QD[`'0_|˗/|IX0_|%J(Qb| I(QD%.̧0D惘OD%JoaO` /|Ix0|%J(Qb| I(QD%.̗0_>%&1D%JH0| '0|70|I0|%J(Q| I(QD%6̇0D;`>%J(`>;o`> W0| '`>'0߿|/_ H0߿80O@ DPB *̗0Ç>|Ç+/Çw0|>|C̗`˗_| ̗/_`>'0_O`O`>#Ç>|0_=|Ç>|`> 4xaB 6tbD)O#/߿|/A (? '`>߿|_'p |,h „ 2lC$XA .dC%NXa>-Z(1_/|'0_> g0| ̗O`/| '0|YhѢE-ZhѢE-RgѢE%a|˗O`| '0_>`|/_O`> /߿ <0… :|1ĉ+Z1Ɗ6nܸb 70ƈ6nܸqƍ7nܸqƍ7noc|m/ƍ7nܸqƍ7nܸqƍmLamܸqƍ7nܸqƍ7n܈1Ƅ0ƍ7nܸqƍ7nܸqƍmL/a|˷qƍ7nܸqƍ7nܸq|[/_۸qƍ7nܸqƍ7nܸq?$XA8 A$XA H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸:;;PKU{PKa9AOEBPS/img/smd80002.gifGIF87aXB?**?***UU?UUU????**?*******?*******U*U?*U*U*U**?*****?*****?*****?***UU?UUUU*U*?U*U*U*UUUU?UUUUUUUU?UUUUU?UUUUU?UUUUU?UUU?**?***UU?UUU?????**?***UU?UUU?????**?***UU?UUU?ժժ?ժժժ???**?***UU?UUU?????***UUU,XB H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KLF8`A&Taà H |,h „ 2lh? 4xaB 6tbD)VxcFȑ#|ȑ|qȑ#G9rȑ#nj8r0_8r0_|9rȑ#G9r1c>92̗a>9.̗/G9rȑ#G9r̘#G k#G Ǒ#G9rȑ#G3ȑ#|ȑ|qȑ#G9rȑ#nj8r0_8r0_|9rȑ#G9r1c>92̗a>9.̗/G9rȑ#G9r̘#G k#G  <0… :|1ĉ+Z1ƍ qȑa| qqa|8rȑ#G9rȑc|9rd/_|9r\/_>9rȑ#G9r1G0G˗#G9rȑ#G9f̷0_|8O W0A3h_> 3hP`>, |_>$X |'p "Lp!ÆB(q"Ŋ/b̨q| ̗|U'0|惘a>+aȑ#G9rȑ#G)G0߿| '0@o 80߿|7_>˗_/_/7p/_|70߿| ̗/_>/_|(0|70_|80_| H*\ȰÇ#JHŋ3jܸ0| ̗O`>/_|'0_|/_>/_O`|1̗a>/߿|_>/_ /_W0| /|˗#G9rȑ#G9f0_| '0|G0_> 'P'߿|O|/߿W| O`>+/߿|70߿|o` /߿O ,(0_| H*\ȰÇ#JHŋ3jܸ0_|O`> |'P``>O࿁/߿W| O`>+/߿|70? ߿(0@'p'p AO@ DPB >QD-^ĘQƅG0_| '0|/_> 3_ G0_ '0|1̗a>_| /|_|˗O` /_>a|8rȑ#G9rȑc| (߿߿| o`> 7p`˗/˗o`>'07p 8pO`|/_|˗O`| ̗/_ O`'0_|80_| H*\ȰÇ#JHŋ3jܸ0G0G˗#G9rȑ#G9fǑ#G5Ǒ#Džȑ#G9rȑ#Gqȑa| qqa|8rȑ#G9rȑc|9rd/_|9r\/_>9rȑ#G9r1B O@,H0_| W_| ̗/_ ,(0_+X`|˗o`|W_|W` ,XP`|8`A&TaC!F8bE1fԸqa>s` /߿|/b| Q/|70|/|IW1_|9rȑ#G9r1c> 'p`7߿#O|˗o|8p8p8p/_|'0@'0_|8p`|8p|'p "Lp!ÆB(q"Ŋ/b̨q|̗_>/_|/߿|/_ /_̗/|1_&/_ `'1|qȑ#G9rȑ#nj'P_o_߿| /_|_> /A#H ˗_> G_>/A G A <0… :|1ĉ+Z1ƍ !g0| 7`>_@/߿O|//7p/@ O` |'p 4hP`|8`A&TaC!F8bE1fԸqa> O`>˗/|_|˗O` G0_>'0_>"0|#_|`|o`|Q̗/G9rȑ#G9r̘!|_70߿70߿70߿'P |o O@+Xp` '`>7P o`/߿/߿@$X`|8`A&TaC!F8bE1fԸqa>)曘/_|=w1_|Ǒ#G9rȑ#G3ȑ#|棘| U̗/G9rȑ#G9r̘#G k#G Ǒ#G9rȑ#G3ȑ#|ȑ|qȑ#G9rȑ#nj8r0_8r0_|9rȑ#G9r1c>92̗a>9.̗/G9rȑ#G9r̘#G k#G Ǒ#G9rȑ#G3ȑ#|'p 8`A&TaCsСC:tСC:tСC:t|:t!|sСC˗ϡC:tСC:tСC:tСC 9tСC kϡC:\/_>:tСC:tСC:tСC.СC2̗a>:tpa|:tСC:tСC:tСC:t0C:t0_:tСÅsСC:tСC:tСC:tB$XA .d!0 <0… "O@ DPB >QD-^ĘQƆ H*\ȰA$H`> 4xaB 6< <0… :|1ĉ+Z1ƍ;˗ϣGѣG=zѣG=z$/G-ѣG=zѣG=zH0_>=Z̗ϣG=zѣG=z`|=z/G=zѣG=z#|=zѣG=zѣGyb|=zѣG=zѣGѣ|QD-^ĘQF=6O@ H*\ȰC <0… :|1ĉ+Z1ƍ;zl08`A&TaC80,h „ 2l!Ĉ'Rh"ƌ7r!|'p "Lp!Æ'p`>$XA .dC%NXE5nCO@ DPB O@$XA .dC%NXE5nc|#D O@ DPB >QD-^ĘQF=F̗/_?F̗/Ǐ?~Ǐ?~qb|?~/_?~Ǐ?~Ǐ?~Ǐ?~Ǐ?~Ǐ?~Ǐ?~8`> 4xaB 6tbD'p "Lp!ÆB(q"Ŋ/b̨qcF O@ DPB >QDG"E)RH"E)RH"ňQH"E)R/_>)RH"E)RH"E):G"E)RHb|)RH"E)RH"E)Rd"E)RH"Ń(RH"E)RH"E)R0E)RH"EG"E)RH"E)RH"ń(RH"E)R)RH"E)RH"E)&G"E)RH|QH"E)RH"E)RH1a>)R"('? 4xaB 6tbD)VxcFȑ#G9.̗/G9rȑ#G9r̘#G9r0_|9rȑ#G9r1c>9rȑ|qȑ#G9rȑ#nj8rȑ#G Ǒ#G9rȑ#G3ȑ#G9.̗/G9rȑ#G9r̘#G9r0_|9rȑ#G9r1c>9rȑ|qȑ#G9rȑ#nj8rȑ#G Ǒ#G9rȑ#G3ȑ#G9.̗/G9rȑ#8#2(,h „ ˗/ƒ'P ,h BK0a„ ̗/,h „ 2l!Ĉ'Rh"ƌ7.Ǒ|拘Oaqd#Gȑ#G9rȑ#Gq/_>˗/߿| ̗/|W0|8߿߿70߿o'p "Lp`|8`A&TaC!F8bE1fԸqa>3_| /_>/| ̗O`| /_>O`| '0_'0_| ̗#ǁȑ#G9rȑ#Gq/|̗_'0A _/߿_߿|__'p "L`|8`A&TaC!F8bE1fԸqa>3_/_|(߿'p|(_߿|/߿߿|7p8`A&TX0_| O@ DPB >QD-^ĘQc|7̗o`>_|/_>;_|˗O`|O`>/߿|'0|7̗/_|۸qƍ7nܸqƍmX0_|0߿/'0_|˗O`|O`>'0|˗O`>$XA ̗/AO@ DPB >QD-^ĘQc|7nX1ƍW`> 4xaB 6t!,h „ 2l!Ĉ'RH1E-ZϢE W`> 4xaB 6t!,h „ 2l!Ĉ'RH1E-ZhѢń+08`A&TaC"D!B"D!B\"D!B"D˗ |'p "Lp!Æ̗"D!B"D!B0D!B"D!>̗/_|"D!.̗"D!B"D!B0D!B"D!>̗/| B"D "D!B"D!."D!B"D"D!B0_>!B"D!B|!B"D!B0_| ˗/ć ""DA"D!B"D"D!B"ćH0|s|!Bd@'p "Lp!ÆB(q"ŊYhѢE-ZL/_>70߿|/_/_>_| ˗o`| ̗/_>gѢE-ZhѢń,ZhѢE-&̗/|/_'0|˗O`>˗O`>/߿|/E hѢE-Zhb|-ZhѢE˗b|O`>#/߿| ̗Oa| /|-*̗ϢE-ZhѢE YhѢE-Z@'p /_| '0|`>/_| /| 4hРAO@ DPB >QD)hѢE-Z0_|#_|O`/| ̗/| '0|ϢEYhѢE-Zh1a>-ZhѢE G`>߿  ߿/߿'p "L0_>$XA .dC%NXb>-ZhѢE˗Ϣ|-Z81_>-ZhѢE-.̗/_>-ZhѢE  <$XA .dC%NX? <0… :|1ć H0,h „ 2l!DE1bĈ#F1bĈ'p "Lp!ÆB(q"C$XA .dC1bĈ#F1bĈ#O@ DPB >Qā H˗!B!/_|!D`>",/,h „ 2l!Ĉ'Rh"ƌ ˷qƍ ̗o| /|m/ƍ7nܸqƍ7n,/ƍ7BG0߿| O| 7? O`|˗o`|O`'0_|8`AO@ DPB >QD-^ĘQc|6nܸb|'0|O`>/|'0|_|˗O`_|˗_|۸qƍ7nܸqƍ۸qF/| '0|O`>!w0|__>Oc|7nܸqƍ7nܸ`|7n0_A/߿|/߿'0|(_> ̗/| /| H'p "Lp!ÆB(q"Ŋ/b̨`|7n0_>O`>o`>O`|#/|_|˗O`'0߿|˗O`>mܸqƍ7nܸqƂmܸq#D o`߿|߿| @̗/_/_|'0|'0|O@ ̗? 4xaB 6tbD)VxcF۸qƍ7b̧1_7nܸqƍ7nX0_7nܸq#|ۘ/ƍ7nܸqƍ7n,/ƍ7nܸq#|6nܸqƍ7nܸqc|6nܸqƍ1˷qƍ7nܸqƍ ˷qƍ7n܈1_7nܸqƍ7nX0_7nܸqFmܸqƍ7nܸqƂmܸqƍ7b̗oƍ7nܸqƍ7̗oƍ7nܸc|7nܸqƍ7nܸ`|7nܸq6|8`A&TaC!F8bE1fX0_7nܸqFmܸqƍ7nܸqƂmܸqƍ7b̗oƍ7nqƍ7̗oƍ7nܸc|7nܸqƍ7nܸ`|7nܸqƍ۸qƍ7nܸqƍ۸qƍ7nĘ/ƍ7nܸqƍ7n08`A&TaC!F8bEYhѢE-ZhѢE-O@ H*\ȰÇ#JH|,ZhѢE-ZhѢE'p@$XA .dC%NX`|-ZhѢE-ZhѢE8? 4xaB 6tbD)VQDgѢE-ZhѢE-Z80_|,ZhѢE-Z/E-ZhѢE-Zh|hѢE-Zhqb|-ZhѢE-ZhѢEhѢE-Zhb|-ZhѢE-ZhѢE-ZhѢE-Z$/E-ZhѢE-ZhѢE-ZhѢE gѢE-ZhѢE+'p "Lp!Æ8`A&TaC!F8Q`|)RH"E)RH"Ń(RH1b>)RH"E H"E)RH"E)G"EG"E)RHQa|)RH"E)RH"Ń(RH1b|(RH"E)*̗"E)RH"E)Rx0E)F̗/E)RH"EQH"E)RH"EH"ňH"E)R0_>)RH"E)RH|)R1_|)RH"EG"E)RH"E) 'p "Lp!ÆСC:tСCСC:tСC:tСCsСC˗ϡC:tСC"̗ϡC:tСC:tСC6СC6̗/C:tСC:D/C:tСC:tСC:lϡC:l/_>:tСC:t0_>:tСC:tСC:t0|9,ϡC˗ϡC:tСC"̗ϡC:tСC:tСC6P>$H0| W0_ ,X`˗? 4xaB 6tbD8qĉ'N8qĉ'Na>˗o`|˗`/_|˗O`>˗o`|˗/|M8qĉ'N/ĉ'N8qĉ'N8q|/_>/߿|'0|/߿|O`>/_|k/_'N8qĉ8qĉ'N8qĉ'N!|߿|_> 7p|_o|/_>8_|8`A&TaC!F81_'N8qĉ'N8qā#_˗_ ˗/|70| ̗/_'p /_>$XA .dC%N̗oĉ'N8qĉ'N8q`>/| /_| '0|O`>_|'0_|M8qĉ'N/ĉ'N8qĉ'N8q|'0_|'0_> H0߿|? Hp`|8`A&TaC!F81_'N8qĉ'N8qā&N80_|7qĉ'N8qb|'N8qĉ'N8qĉM(1_|˗/|M8qĉ'N/ĉ'N8qĉ'N8q|'N8Q`|&N8qĉ'N̗oĉ'N8qĉ'N8q`'N(0_|'N8qĉ'7qĉ'N8qĉ'N80D O@ D(`>/,h`|8`A&TaC!F81_'N8qĉ'N8qā /D曘0_|'N8qĉ'7qĉ'N8qĉ'N80|O 7p`/_8p <0… :|1ć 8? 4xaB 6tbD)Vx#| ̗_| /_ ̗O`>/|/߿|O`|˗1cƌ3f\08`A&TaC!F8bE1`>/߿߿|O|O`(߿|_8`AO@ DPB >Q"D <0… :|1ĉ+Z`> o`o`| '0|/? @$X_|8`A&TaC!F`>8`A&TaC!F8bE11|_| '0| '0|/_>b|2f̘1cƌ (? 4xaB 6tbD)Vx|'0_|˗O`> /߿߿80߿|˗O`|8p|'p "Lp!ÆB(1b|M8qĉ'N8qĉ'7b'̗/ĉ'N8qD8qĉ'N8qĉ'No"|8qb|M8qĉ'N/ĉ'N8qĉ'N8q"|'N8Q`|&N8qĉ'N8qĉ'N8qĉ'N,oĉ' ̗/ĉ'N8qĉ'N8qĉ'N8qĉM8qD8qĉ'N`> , <0… :|1ĉ+Zh1F1˗/F1bĈ |O@ 'p ,h „ 2l!Ĉ'Rh"|1b/_|1bĈ#FП $XA  <0… :|1ĉ+ZH0F1˗/F1b1_>$XA  ̗? 4xaB 6tbD)VxQ`>1b/_>1bĈa>$XA ̗? 4xaB 6tbD)Vx1ŋ/̗/ŋ/^H1@,h „ O@ DPB >QD-ZO@ DPB 'p "Lp!ÆB80_>$XA . <0… :|1ĉ+Z0 <0… &O@ DPB >Q`>$XA .? 4xaB 6tbD)VX`> 4xaB 6L <0… :|1| H*\X0,h „ 2l!Ĉ'Rh"Ɗe̘1cƌ3П <0…'p "Lp!ÆB(q"Ŋ/b/_ƌ3f̘1| H*\0,h „ 2l!Ĉ'Rh"Ɖe̘1cƌ3П <0…'p "Lp!ÆB(q"Ŋ/b/_ƌ3f̘1| H*\0_>$XA .dC%NXE˘1cƌ3f? 4xaB  <0… :|1ĉ+ZQb|3f̘1cƌ'p "Lpa|8`A&TaC!F8bE1J̗/cƌ3f̘Q`| H*\0_>$XA .dC%NXE˘1cƌ3f/@,h „ "̗? 4xaB 6tbD)Vx|2f̘1cƌП <0… <0… :|1ĉ+ZQb|3f̘1cƌП <0… <0… :|1ĉ+ZQb|3f̘1cƌ П <0…˗? 4xaB 6tbD)Vx|2f̘1cƌ/@,h „  _| H*\ȰÇ#JHŋ%˗1cƌ3f(0| H*\߿'p "Lp!ÆB(q"Ŋ/b/_ƌ3f̘1|'p "L0a˗? 4xaB 6tbD)Vx|2f̘1cƌ3/@,h „ @'p "Lp!ÆB(q"Ŋ/b/_ƌ3f̘1|O@ DP|8_| H*\ȰÇ#JHŋ%'0_ƌ3f̘c>'p "Lx0_>/,h „ 2l!Ĉ'Rh"F 8? 4xaB 6tbDc/_>$XA ˗? ˗? 4xaB 6tbD)VxC <0… :|1ĉ =̗/@,h   <0… :|1ĉ+Z!|O@ DPB >QD$˗/@,h|O@ <0… :|1ĉ+Z"|'p "Lp!ÆB(q|'p`>$XP |O@ ˗? 4xaB 6tbD)Vx#D O@ DPB >Qą(&O@'p ˗? 4xaB 6tbD)Vxc|˘1cƌ3f/cƌe̘1cƌ3f̘1c|e̘1cƌ3 ̗1c|2f̘1cƌ3f̘Qb|3f̘1cƌe̘1_3f̘1cƌ3f̘1cƌ3f/cƌe̘1cƌ3f̘1cƌ3f̘1|3f̗/cƌ3f̘1cƌ3f̘1cƌ-˘1c|3f̘1cƌ8`A&TaC!F8? 4xaB 6tX0Ç>̗Ç>|Ç><0@ H*\ȰÇ#J0@ H*\Ȱ|:t`|:tСC:tСÂ9tСC:tСCСC:$ϡC̗ϡC:tСC:tH0C:tСC:t0C:tp`>:tX0_>:tСC:t|:tСC:t|:tСC:ta|:tСC:tСC9tСC:tСC sСCСC СC:tСC:ϡC:tСC9B <0… "СC СC:tСC:ϡC:tСC:\/C:t_>:tX0_>:tСC:t|:tСC:t|:tСC9tСÂ9tСC:tСCsСC:tСCСC:ϡC̗ϡC:tСC:t80C:tСC:t0_>:t| ˗/Â˗/Â9tСC:tСCO@ DPB >QĈQH|/|/|(RH"E)Rl"E)RH"ŃQH|#/߿|˗/|O`|˗O`|H"E)RHa>)&G0|)RHa|)R81|/_>/_/_>˗/_QH"E)R0E#a(RH"|(RHqb>̗_/_'0_曘/E)R"(!'p "Lp| ̗/|˗/|70_|˗/| ̗/|/_> 2d0_> 2dȐ!Á̗`| ̗/_`>'? /,h „ 2l!Ĉ'RbŊ/_>/߿|'0|/߿|O`>/_ WbEUX|/| /_>/_>'0_>UXbŊ+V80_Ŋ 'p|OO|˗O`>O`>˗_'0,h „ ˗!C 2dp`>˗o`'0_|/_|˗|2dȐ!C 2dȐ!C &ǐ!C #_˗_ ˗/|70| ̗/_0@ H*\/_> 2dȐ!Á2dȐ!Á1dȐ!C 2dȐ!C 2L!C &G0߿|o` #o`>/| /|_|1dȐ!Ã1dȐ!C ǐ!C ̗!C 2dȐ!C 2dȐa| 2d0a>˗o`|G`> ߿|࿂ ,h „ ˗!C 2dp`> 2dp`| 2dȐ!C 2dȐ!C cȐ!C 2dx0Â2dȐ!1dȐ!C ǐ!C ̗!C 2dȐ!C 2dȐa| 2dȐ!C ˗/Cǐ!C  ̗!C 2dp`> 2dp`| 2dȐ!C 2dȐ!C cȐ!C 2dȐ!C 2d80_> 2dȐ!Á2̗/_> .̗!C 2dȐ!C 2dȐa| 2dȐ!C 2dȐ!C 14@'p "Lp!Æ9Lo`|:$/C:tСC:tp`>:t0_|&/C:t0_>:t|#_|˗o`/_>sСC:tСCСC'0_> 9tСC sСC0a|'0|/_>0a|:tСC:tСÁ:ta|˗/@ O@ DPBkذaÆ "אa|'0|/_>k0_ 6lذaÆ 6lذaÂ6lذa '0|O`|_ '0_ 6lذ`| 6lذaC&W`>_ _>$X|8`A&TaC!F8|+V`O`>_ '0_Ŋ+WbŊU/| '0|˗O`>*̗bŊ+VXbŁ*VH1|O`>_'P8`A&T|6lذaÆ5T0@ _|O@ ̗? 4xaB 6tbD)WbE ̗/_>O`>/߿|O`+V̗bŊX"|*VXbŊ+VbŊ˗O`|O`>'0߿|˗O`+V̗bŊX"|*VXbŊ+VbŊ+XbňUX|+Vd/_Ŋ+VXbŊUXb|+V1_+V|bŊ XbŊ+VXq`+VXbŊXbŇ*V0_+VX*h 'p "Lp!ÆB(qb|(RHqb>)>̗"E)RH"ņ(RH"E)R):̗/E)RH"E QH"E)Rx0_>)R"EG"E)RH|)RH"E)̗/E)NG"EH"E)RHa|(RH"E)NO@$XA .d0a>:t80_|:tСC:tСC ? 4xaB 6tbD8 ,h „ 2l0C:/_>:tСC:taB$XA .dC%Nd <0… 2СC˗ϡC:tСC:t`> 4xaB 6tbD 'p "Lp!Æ{CÇ>|Ç><0 <0… :|1Ă H*\ȰC>|Pa|>|Ç>|Ç>|!|>|Ç>||>|0_|>|Ç>|Ç>|`|>|Ç>|a>|Ç>|Ç>|X0_>|Ç>|0Ç̗/_>|Ç>|Ç>|X0_>|Ç>|0Ç̗/_>|Ç>|Ç>|h0_>|Ç>|0Ç=$@O@ DPB >QD-^h1_3f̘1cF2fT_|3f̘1cƌ3fx1_3f̘1cƅ2fD/_|3f̘1cƌ3f̈1_3f1cF2f4/_|3f̘1cƌ3f̘1_3f̘1cƆe80_|2f̘1cƌ3f̘1|2f̘1cƌ˘`>8`A&TaC!F8bE1f/F5jԨQ#|4RO@$XA .dC%NXE˧QF5jԘ0_|!'p ,h „ 2l!Ĉ'Rh"ƌӨQF5j\/_> 80,h „ 2l!Ĉ'Rh"ƌӨQF5jl/_| 'p@$XA .dC%NXE˧QF5j`>8`A8p ,h „ 2l!Ĉ'Rh"ƌ ӨQF5j08` H0,h „ 2l!Ĉ'Rh"ƌ 8p ,h „ 2l!Ĉ'R|0 < <0… :|1ĉ+Z1cC <0… :|1ĉ''p 8`A&TaC!F8bE1f08`A&TaC!F8bE1fԸcGA 08`A&TaC!F8bE1fԸcGA 0@ H*\ȰÇ#JHŋ3jȱǏ CO@$XA .dC%NXE5nG!E˗/ȑ#G1_#G9rȑ# ˗oȑ#G/_#G9rȑ# 9rȑ#=˗/ȑ#G9rȑ#G9rH O@ DPB >QD-^ĘQF=~R$|'p "Lp!ÆB(q"Ŋ/b,0 <0… "O@ DP!|,h „ 2l? 4x |O@ DPB >QD-^X0_ƌ-˘`3^̗1!| O@ DPB >QD-^H0_ƌ-˗/cƁ2fx1_8p ,h „ 2l!Ĉ'Rh"F2fh1_|3̗1cƋeT/_ƌ3f̘1cƌ3"̗1cF˘q`3^̗/|2f̘1cƌ3f̘a3Z̗/_ƌe̘b|˗1cƌ3f̘1cƌe̘b|2f/cƌ˨0_3f̘1cƌ3fD/cƌ˗1|3f/_Fe̘1cƌ3f̘1#|3f/_˘1|2*̗/cƌ3f̘1cƌ˘1|e80_ƌ/˗Q!@'p "Lp!ÆB(q"Ŋ/bD/cƌ˗1|3f/_Fe̘1cƌ3f̘1#|3f/_˘1|2*̗/cƌ3f̘1cƌ˘1|e80_ƌ/˗Qa|3f̘1cƌ3f̈0_ƌ-˗/cƁ,˗/|a81_ ˘1cƌ3f̘1cF2fh1_|3W1|70|̗qb|˗1cƌ3f̘1cƌe̘b|2fb>#/߿|O|˗O`|˗o`|8p˗? 4x`| H*\ȰÇ#JHŋ˘1|e80_| g0߿|/_˗O`>/߿|,˗Qa|3f̘1cƌ3f̈0_|` /߿| Hˇ!Ḃ|g0߿|/|̗O`>C`|"D80_>$XA .dC%NXEQ̗o`>&+` ˗1|̗`+_/_| ̗/|2*̗/cƌ3f̘1cƌ曘/|˗/|70_|G0_| ̗/|]̗/_ƌQ̗` ̗O`> O`| 70|w1_ ˘1cƌ3f̘1cF&3_|/_>'0|/߿|O`|˗1|(߿7P /߿/,hp`|$XA .dC%NXEMg0߿|˗/|W`> $/_| 7P`'P'p ˗'p  'p "Lp| ˗!Å1dȐ!C 2dȐ!C 2dȐ!C 2D!|O`|'0߿|`/| Pa|2,0 $ <0… ̗ϡÃ9tСC:tСC:tСC̗/_'0߿|/_W0߿|˗O`|&̗/Cs0C:t0_>СC:tСC:tСCs`>:4/_>a> ̗/_70_| O8`Aˇ!BO@ DPB >QD-^Ĉ0_Fe0_| g1_Ɓ/߿|`/߿| ˗Qa|3f̘1cƌ3f̈0_ƌ-˗/#|,(0|G0_ +O`˗/|2*̗/cƌ3f̘1cƌ˘1|e$/|/_ `o`˨0_3f̘1cƌ3fD/cƌ˗`|e`|3_ 0@ 80_ ˘1cƌ3f̘1cF2fh1_| g1_FG0߿|'0_| G0|˗Qa|3f̘1cƌ3f̈0_ƌ-˗/#|,(0@ @ o(? H2 1| ˗Qa|3f̘1cƌ3f̈0_ƌ-˗/#|,80_F2̗/|2f̘1cƌ3f̘a3Z̗/_FY̗1cƋeT/_ƌ3f̘1cƌ3"̗1cFH0_>2fx1_ ˘1cƌ3f̘1cF2fh1_| g1_ƌ/˗Qa|3f̘1cƌ3f̈0_ƌ-˗/#|,˘1|2*̗/cƌ3f̘1cƌ(,h „ 2lh0_|˗!|:tС|:a>:ta|̗ϡC:tСC:tСC:СC6̗/Cs0C:t0_>СC:tСC:tСCsСC˗ϡ9DϡC:t/CsСC:tСC:tСC9tСC |"СC:̗? 4x`| H*\ȰÇ#JHŋ'p "Lp!Æ 8`AˇA$XA .dP!,h|8`A&TaC!F8bE1&O@ DPB 'p ˗!ƒ H*\ȰaB$X'p "Lp!ÆB(q"Ŋ/b̨`|7j̗oƍ7^̗oƍ7nܸqƍ7̗oFmܸqƋmܸqƍ7nܸqƂmܨ1_7nx1_7nܸqƍ7nX0_5˷qƍ/˷qƍ7nܸqƍ ˷q|6nܸq|6nܸqƍ7nqc|6nԘ/ƍ7n/ƍ7nܸqƍ7n,/ƍ۸qƍ۸qƍ7nܸqƍ۸Qc|7nܸb|7nܸqƍ7nF/,h „ 2/_Æ 6lذaÆ  ̗aÆ 6lذaÆ 6lذaÆ 6lذaÆkذaÆ װaÆ 6lذaÆkذaÆ 6lذaÆ 6lذaÆ 6lذa|6lذaC5lذaÆ 6lذ|6lذaÆ 6lذaÆ 6lذaÆ 6lX0_ 6lP`| 6lذaÆ 6l(0_ 6lذaÆ 6lذaÆ 6lذaÆ ̗aÆ 6/_Æ 6lذaÆ  ̗aÆ 6lذaC 5PC 5PC 5PC 5PC P| H*\P`| 6lذaÆ 6l(0_ 6lذaÆ 6lذaÆ 6lذaÆ ̗aÆ 6/_Æ 6lذa  ̗aÆ 6lذaÆ 6lذaÆ 6lذaÆkذaÆ װaÆ 6lذaÆkذaÆ 6lذaÆ 6lذaÆ 6lذa|6lذaC5lذaÆ 6lذ|6lذaÆ 6lذaÆ 6lذaÆ 6l(`>'p "Lp|2dȐ!C 2dȐ|8`A&TaC!F8bE1f(`>'p "LpA <0… :|1|$J(QD%J(QD%J`>'p "LpA <0… :|1|$J(QD%J(QD%J`>'p "Lp!B <0… :|1|$J(QD%J(QD%J`>8`A&T0!|O@ DPB >q`|%J(QD%J(QD%Jl0@ H*\`>8`A&TaC!F$/D%J(QD%J(QD˗/D%O@$XA .dC 'QD%J(QD%J(QD(QD(QD%Jt/D%J(QD%J(QD(Qă(QD%Jt/D%J(QD%J(QD%J(QD%J(QDI(QD%J(QD%J(QD%J(QD%J$/D%J(QD%J`> 4xaB 6tbD8`A&TaC!F/D%J(QD%Jx`> 'p "Lp!ÆB( |O@ DPB >0_#F1bĈ#F1b|E1bĈ#Fa|"F1bĈ 1bĈ#F1bĈ#>̗/bĈ#F1bĈ1bĈ#F/_Ĉ#F1bĈ#F0_Ĉ#F1bĈ# 1bĈ#F(0_#F1bĈ#Fa#F1bĈ#F/bĈ#F_|#F1bĈ#F1|#F1bĈ#F80_#F1b|"F1bĈ#F1bD"F1bĈ#F(ʗ? 4xaB 6tb|!B"D!B"D B"D!Ba|!B"D"D!B"D!2"D!B"D"D!BD/D!B"D!Ba>!B"D!B|/D!B"| B"D!B"D A"D!B| B"D"D!B"D!Bd"D!B"D"D!B0_>!B"D!B"|!B" " z|8`A&TaC!"D!B"D!Bd"D!B"D"D!B0_>!B"D!B"|!B"D!B0_>!B"DA"D!B"D"D!B"ćA"D!"̗"D!B"D!B0D!B"D!>̗"D!Ba|!B"D!B"D Ba> W0|!BQa|!B"D"D!B"D!b| H*\0| +| 2dȐ!C1dȐ!C 2dȐ`| 2dȐ!C 2dȐ!C 2d0C 2dX0|70_|G0_|˗O`>˗o`|2dȐ!Â1dȐ!C 2dȐ`| 2dȐ!C 2dȐ!C 2d0C 2dX0|_>W0_|O`'0|2dȐ!C1dȐ!C 2dȐ`| 2dȐ!C 2dȐ!C 2d0C 2dX`>_/(0߿| ̗/߿|? 4xaB ˗aÆ 6lذaC5lذaÆ 6lذaÆ 6lذ` 6l0| 70_|W0߿| ̗/? /,h „ 2/_Æ 6lذaÆkذaÆ 6lذaÆ 6lذa| 6lؐa>'0߿|W0_| '0߿|O` 6l_| 6lذaÆ ̗aÆ 6lذaÆ 6lذaÆ5lذaC/_/A _߿|/,h „ 2/_Æ 6lذaÆkذaÆ 6lذaÆ 6lذa| 6lذaÆ 6lذaC5lذaÆ 6lh0_ 6lذaÆ 6lذaÆ װaÆ 6lذaÆ 6d/_Æ 6lذaÆkذaÆ 6lذaÆ 6lذa| 6lذaÆ 6lذaC5lذaÆ 6lh0_ 6lذaÆ 6lذaÆ װaÆ 6lذaÆ 6d/_Æ 6lذaÆkذaÆ 6lذaÆ 6lذaAO@ DPB >QĈQH"EH"E)RH"E(RH"E)R)RH"E)Rd"E)RH"ŃQH"EH"E)RH"E(RH"E)R)RH"E)Rd"E)RH"ŃQH"EH"E)RH"E(RH"E)R)RH"E)Rd"E)RH"ŃQH"EH"E)R"(b| H*\ȰÇ#J1_>)RHb|)RH"E)R0E)RH"EH"E!G"E)RH"E QH"E)Rx0_>)RHb|)RH"E)R0E)RH"EH"E!G"E)RH"E QH"E)Rh0_|)RH"|(RH"E)RHa|)RH"E)̗/_>)RHb|)RH"E)R0_|(RH"E)FO@$XA .dC1bĈ#F1bĈ#'p | H*\ȰÇ#JL0 'p "Lp!ÆB/_Ĉ#F1bĈ#Fq |,h „ 2l!Ĉ'*O@ DPB >H0_#F1bĈ#F1"B$XA .dC%NO@ DPB >0_#F1bĈ#F1bĈ#F/_Ĉ#F1bĈ#F(0_#F1bĈ#F1bĈ#F/_Ĉ#F1bĈ#F(0_#F1bĈ#F1bĈ#F/_Ĉ#F1bĈ#F(0_#F1bĈ#F1bĈ#F/_Ĉ#F1bĈ#F(0_#F1bĈ#F1bĈ#F/_Ĉ#F1bĈ#F(0_#F1bĈ#F1bĈ#F/_Ĉ#F1bĈ#FH O@ DPB >QD-^ĘQc|6nܸqƍ1˷qƍ7nܸqƍ ˷qƍ7n܈1_7nܸqƍ7nX0_7nܸqFmܸqƍ7nܸqƂmܸqƍ7b̗oƍ7nܸqƍ7̗oƍ7nܸc|7nܸqƍ7nܸ`|7nܸqƍ۸qƍ7nܸqƍ۸qƍ7nĘ/ƍ7nܸqƍ7n,/ƍ7nܸq#|6nܸqƍ7nܸqc|6nܸqƍ1̗? 4xaB 6tbD)VxcF۸qƍ7nĘ/ƍ7nܸqƍ7n,/ƍ7nܸq#|6nܸqƍ7nܸq@ <0… :|1ĉ+̗ϢE-ZhѢE-Zh| O@ DPB >QD gѢE-ZhѢE-Z`>'p "Lp!ÆB(q"ŊhѢE-ZhѢE-Z0 H*\ȰÇ#JH|,ZhѢE-ZhѢE'p ,h „ 2l!Ĉ'Rx0_>-ZhѢE-ZhѢŁgѢE-Zh|,ZhѢE-ZhѢE˗/E-ZhѢEhѢE-ZhѢE-Z$/E-ZhѢEhѢE-ZhѢE-Z$/E-ZhѢEhѢE-ZhѢE-ZhѢE-Zh"|,ZhѢE-ZhѢE-ZhѢE-ZH0_>-ZhѢE-Z<0 <0… :|1D$XA .dC'QD%J(QD%.O@ H*\ȰÇ#JO@ H*\ȰÇ1bĈ#F1bĈ#F$/_|#F1bĈ#F̗/_#F1bDE1bĈ#F1bĈ1bĈ#F1bDE1bĈ#̗/bĈ#F1bĈ#F/_Ĉ#F1bĈ1bĈ#FH0_#F1bĈ#Fb#F1bĈ#B1bĈ#F80_#F1bĈ#Fa#F1bĈ#F/bĈ#FQ`|#F1bĈ#F1|#F1bĈEQD? 4xaB 6t|"F1bĈ#F1bD"F1bĈ#Fq`|#F1bĈE1bĈ#F1bĈE1bĈ#F1|"F1bĈ1bĈ#F1bĈ1bĈ#F1bā1bĈ#B̗/bĈ#F1bĈ#Ft/bĈ#F1bĈ˗/bĈ#F1_#F1bĈ#Fa#F1bĈ#F/_#F1"|"F1bĈ#F1bD"F1bĈ#Fq O@ DPB >|/D!B"D!Ba>!B"D!B|/_>!B"ăA"D!B"D"D!B"ć"D!B!B"D!B|/_>!B"ăA"D!B"D"D!B"ć"D!B!B"D!B|/_>!B"ăA"D!B"D <0… :|1ĉG"E)>̗"E)RH"EH"E)RH`|(RH"ŇQH"E)RH"|)RH"E)̗/E)R0_>)RH"E)Rd"E)RH"ŃH"EG"E)RH"E QH"E)Rx0_|)RH|(RH"E)RHa>)RH"E˗"E)R|/E)RH"E)2G"E)RH|QH"EO@ DPB >QD+hѢE-Z0_|-Zh|,ZhѢE-Z0E-ZhѢńhѢEgѢE-ZhѢE,ZhѢE-&̗/E-Z80_>-ZhѢE-*gѢE-Zh1a|,ZhѢŁYhѢE-ZhQa>-ZhѢE gѢE-̗ϢE-ZhѢE YhѢE-ZL/_>-Zhq`|-ZhѢE-ZTϢE-Zhb|YhѢE <0… :|1ĉ+VgѢE-Zh1a|,ZhѢŁYhѢE-ZhQa>-ZhѢE gѢE-̗ϢE-ZhѢE YhѢE-ZL/_>-Zhq`|-ZhѢE-ZTϢE-Zhb|YhѢEhѢE-ZhѢ|-Z|b>hѢhѢEgѢE-ZhѢE,Z0_|=gѢEˇ0_|-Zha|-ZhѢE-ZTϢE߿_|߿|_|˗/߿|˗߿ <0… g`>8`A&TaC "D!B"D!Bd"D!/|/_'0_|'0|˗O`>"D G`>'p "Lp!Æ̗"D!B"D!B0D!>̗_| /| ̗`| /| "D '`> 4xaB 6t",h „ 2l!Ĉ'RH1E'P_? /_| /|  <0… '`> 4xaB 6t",h „ 2l!Ĉ'RH1E/߿|O`| ̗/|O` '0|-Z\/_> ? 4xaB 6tbD)VxcFm܈1_>˗/|O`0/,h „ .̗/A O@ DPB >QD-^ĘQ|7n,`7n4/_>۸qƍ7nܸqƍmܸ`6nܸ`|6nܸqƍ7nܸqƅ6nܸqƍ˷qƍ7nܸqƍ7.̷qƍ7n/_(? 4xaB 6tbD)VxcF4jԨQF˧Q|!̧QF5jԨQF iԨQF3˗O/_>/_>5jԨQF5j,OF5jԘ1_|5G0߿| '0|5jԨQF5jH0F5jԨ1c|4j` G0_>5jԨQF5j$OF5jԘ1_|5G0߿|O`|iԨQF5jԨQ#|5jԨQƌӨ_O`ӨQ#4H#4H#(,h „ 2l!Ĉ'F̗/E ( <0… :|1ĉ+Za3f̘1cƃ˘1cƌ3f̘1cƌ3:̗1cƌ3fx0_|3f̘1cƌ3f̘1cF2f̘1cƌ˗/cƌ3f̘1cƌ3f0_ƌ3f̘1|e̘1cƌ3f̘1cƌ˘1cƌ3fQĈH"E)RH"E)RHb|)RH"E)̗/E)RH"E)RH"EH"E)RH`|(RH"E)RH"E)R0E)RH"EG"E)RH"E)RH"ń(RH"E)R)RH"E)RH"E)&G"E)RH|QH"E)RH"E)RH1a>)RH"E˗"E)RH"E)RH"E 'p "Lp!ÆB(qb|QH"E)RH"E)RH1a>)RH"E˗"E)RH"E)RH"E QH"E)Rx0_|)RH"E)RH"E)RL"E)RH"ŃH"E)RH"E)RHb|)RH"E)̗/E)RH"E)RH"EH"E)RH`|(RH"E)RH"E)R0E)RH"EG"E)RH"E)RH"E8`A&TaC!F8a|QH"E)RH"E)RHa|)RH"E''P ,h „ 2l!Ĉ'Rh"ƌ7F̗/G9r`>'p "Lp!ÆB(q"Ŋ/b̨qD O@ DPB >Q"D <0… :|1ĉ+Z1ƍ8@$XA .dC!'p 8`A&TaC!F8bE1fԸq#|,h „ 2l!Ĉ' O@ DPB >QD-^ĘQF8`A&TaC!F? 4xaB 6tbD)VxcF9vdH#I4yeJ+YtfL3iִygN;yvhPC5ziRK6ujTSmVzkV[vlXcɖ5{mZkٶun\sֵ{o^{p` 6|qbŋ7vrdɓ)W|sf͛9wthѣI6}ujիYvvl;;PK LדPKa9AOEBPS/ch_one.htmV5 Introduction to SQL*Module

1 Introduction to SQL*Module

This chapter introduces you to SQL*Module and answers the following questions:

What Is SQL*Module?

You use SQL*Module to develop and manage Ada applications that access data in an Oracle database. It allows an Ada application to access relational databases without using embedded SQL, and without using a proprietary application programming interface.

SQL*Module fulfills three roles in application development:

  • It compiles SQL standard Module Language files. A Module Language file contains parameterized procedures that encapsulate SQL statements. These procedures are translated by the SQL*Module compiler into calls to a SQL runtime library that interacts with the Oracle server.

  • It builds Ada code files that contain interface procedures (often called stubs). This allows your application to call stored procedures in an Oracle database directly, without requiring an anonymous PL/SQL block. The interface procedures can be time-stamped, so if the stored procedure is recompiled after the interface procedure was generated, a runtime error occurs.

  • SQL*Module can also generate stored procedures in a database, by compiling Module Language files, and storing the procedures as part of stored packages, with the appropriate interface mechanism automatically provided in the package's procedure declarations.

Background

The SQL language was designed to operate on entities in a relational database. SQL was not designed to be a general-purpose programming language, and, in fact, it is conceptually very different from 3GLs such as Ada or C. Some of these differences are:

  • SQL is a non-procedural database manipulation language, hence it deals with database objects, such as tables, rows, columns, and cursors. A third-generation language deals with data structures such as scalar variables, arrays, records, and lists.

  • SQL has a limited ability to express complicated computational operations.

  • SQL does not provide the procedural capabilities (such as flow of control statements) that are required to implement efficient programs.

To achieve maximum flexibility when creating large applications, you must combine SQL with host procedural programming language statements. There are several ways to do this, and these are discussed briefly in the next section.

Precompilers

One way to use a procedural language to access data in a relational database is to embed SQL statements directly in a program written in a host 3GL such as C or C++. After the program is coded, you use a precompiler to translate the SQL statements into calls to a runtime library that processes the SQL, and submits the SQL statements to the database.

See Figure 1-1, "Developing with the Precompilers" for details of this process.

While embedded SQL is very useful, it can have drawbacks when very large applications are being developed. There are several reasons for this:

  • Use of embedded SQL requires study of the technical details of the precompiler.

  • SQL code does not follow the syntactic and semantic constraints of the host language, and can confuse specialized tools, such as syntax-directed editors and "lint" programs.

  • When the precompiler processes code that contains embedded SQL, it introduces extra data structures and code in the generated output code, making source-level debugging more difficult.

  • Techniques for error handling and recovery in embedded SQL programs can be difficult to understand and apply, and subtle bugs can arise when developers do not appreciate all the problems involved in embedded SQL error handling.

shows how you develop applications using the Oracle precompilers.

Figure 1-1 Developing with the Precompilers

Description of Figure 1-1 follows
Description of "Figure 1-1 Developing with the Precompilers"

The Module Language Concept

The ANSI SQL standards committee defined the embedded SQL standard in two steps. A formalism called Module Language was defined, then the embedded SQL standard was derived from Module Language.

Using Module Language is very straightforward: place all SQL code in a separate module, and define an interface between the module containing the SQL code and the host program written in Ada. At the most concrete level, the interface simply consists of

  • a standard way of calling Module Language procedures from Ada.

  • a standard way to return error and warning information

  • specification of conversions between SQL datatypes (such as DOUBLE PRECISION or SMALLINT) and host language datatypes or derived types defined in a standard package in Ada

It is also possible to develop more abstract interfaces between the host language and Module Language. One example of this is the SAMeDL (SQL Ada Module Description Language) developed at Carnegie Mellon and the Software Engineering Institute.

shows how you would develop an application using SQL standard Module Language.

Figure 1-2 Developing with Module Language

Description of Figure 1-2 follows
Description of "Figure 1-2 Developing with Module Language"

A Module Language compiler such as SQL*Module generates a call-level interface to procedures defined within a module, allowing them to be called like any other host language procedure. Details of the implementation of these procedures are hidden from the application.

The most immediate benefit of this approach is specialization. By separating SQL and the host language, an application developer can focus on using the host language to perform application tasks, and a database developer can focus on using SQL to perform database tasks.

The developer of the application does not need to know SQL. The procedures to be called can be treated as canned routines that return variables of well defined datatypes in the host language. Error handling becomes straightforward, since all module procedures can return a single error indicator.

shows the operation of SQL*Module when it is used to compile SQL standard modules. The module file contains a preamble, defining the host 3GL to be Ada, and two simple procedures in Module Language. When SQL*Module compiles this module, it produces two output files: a source code output file, that contains calls to the runtime library SQLLIB that do the work of accessing the database, and a specification file that declares the procedures in the source code file.

You include the specification files in the host application code that calls the module procedures, using the appropriate language-specific mechanism.

Figure 1-3 Compiling a Module

Description of Figure 1-3 follows
Description of "Figure 1-3 Compiling a Module"

SQL*Module as an Interface Builder

In addition to its role as a Module Language compiler, SQL*Module can also build host language interfaces to procedures that are stored in an Oracle database.

shows schematically how SQL*Module functions as an interface builder. The compiler extracts the interfaces to stored procedures, and creates an Ada output file that contains calls to the procedures. Your Ada application then accesses the stored procedures in the database by calling these interface procedures.

When you create interface procedure files (output files that contain interface procedures for calling stored procedures), you can choose either early binding or late binding.

The early binding option creates a time stamp in the interface procedure for the time that the stored procedure was last compiled. If the stored procedure has been recompiled after the interface procedure was generated, a runtime error is generated when the interface procedure is called from the host application.

The late binding option calls the stored procedure through an anonymous PL/SQL block, and no time stamp is used. See "Early and Late Binding" for more information about binding.

Figure 1-4 SQL*Module as an Interface Builder

Description of Figure 1-4 follows
Description of "Figure 1-4 SQL*Module as an Interface Builder"

What Is Supported by SQL*Module?

SQL*Module supports international standards for Module Language. Refer to the Preface to this Guide for more information about supported standards. In addition, Oracle has extended the current standard in several ways. For example, datatype conversions between Oracle datatypes and Ada datatypes are defined, comments can be used in a module, and so forth. Chapter 2, "Module Language" describes the Module Language capabilities of SQL*Module in detail. A compile time option, the FIPS flagger, is available to flag use of non-standard extensions to Module Language and to SQL.

In addition to the complete Module Language standard, SQL*Module also provides a way for a host application to access PL/SQL stored procedures in an Oracle database. If a package exists in an Oracle database that contains procedures, you can use SQL*Module to build interface procedures corresponding to the PL/SQL procedures in the package. Thus the application can call the stored procedures directly.

SQL*Module generates code and specification files that can be compiled with the Ada compiler.

You can compile your stored procedures or modules to get an interface procedures file and call the modules directly from an Ada host program.

What SQL Statements are Not Supported by SQL*Module?

  • DDL (data definition language) is not supported.

  • DML (Data Manipulation Language) statements other than SELECT, UPDATE, DELETE, and INSERT are not supported.

  • Transaction control statements other than COMMIT and ROLLBACK, and CONNECT and DISCONNECT are not supported.

PK]sd[5V5PKa9AOEBPS/ch_two.htm Module Language

2 Module Language

This chapter describes SQL standard Module Language, including Oracle's extensions to standard Module Language. It discusses the following topics:

This chapter does not cover the use of SQL*Module to provide interfaces to stored procedures. See Chapter 3, "Accessing Stored Procedures" for information about calling stored procedures from a host application.

The Module

A module is a single file that contains

  • introductory material, in a preamble

  • optional cursor declarations for use by queries that can return multiple rows of data

  • definitions of procedures to be called by the host application

The easiest way to see how a module is constructed is to look at an example. The small module contains a cursor declaration, procedures that open and close the cursor, and a procedure that uses the cursor to fetch data from the familiar EMP table. Two consecutive dashes (- -) begin a comment, which continues to the end of the line. Case is not significant.


Note:

For simplicity in demonstrating this feature, this example does not perform the password management techniques that a deployed system normally uses. In a production environment, follow the Oracle Database password management guidelines, and disable any sample accounts. See Oracle Database Security Guide for password management guidelines and other security recommendations.

An Example Module

-- the preamble (contains three clauses) 
-- 
MODULE     EXAMPLE1_MOD    -- Define a module named example1_mod. 
LANGUAGE   Ada             -- The procedures are compiled into
                           -- Ada, and called from an
                           -- Ada application.

AUTHORIZATION SCOTT/TIGER  -- Use Scott's tables. 
                           -- His password is "tiger" 
                           -- (the password does not have to 
                           -- be specified in the module file). 


-- Declare a cursor for a SELECT statement that 
-- fetches four columns from the EMP table.
-- dept_number will be specified 
-- in the procedure that opens the cursor. 

DECLARE cursor1 CURSOR FOR 
    SELECT ename, empno, sal, comm
       FROM emp 
       WHERE deptno = :dept_number


-- Define a procedure named "open_cursor1" to open the cursor. 
-- After the procedure name is a comma separated parameter list 
-- enclosed in ()'s. 
PROCEDURE open_cursor1 (
         :dept_number   INTEGER,
         SQLCODE);
   
    OPEN cursor1;


-- The "fetch_emp_data" procedure gets data from the cursor. 
-- SQLCODE will return as 100 when there 
-- is no more data. 
PROCEDURE fetch_emp_data ( 
         :empno         INTEGER, 
         :empname       VARCHAR2(10), 
         :sal           REAL, 
         :commission    REAL,
         :comm_ind      SMALLINT,
         SQLCODE); 

-- the SQL command is a FETCH on the cursor 
    FETCH cursor1 
        INTO :empname,
             :empno, 
             :sal,
             :commission INDICATOR :comm_ind;

-- Define a procedure to close the cursor. 
PROCEDURE close_cursor1 (SQLCODE); 
    CLOSE cursor1; 


-- Connect to a database
PROCEDURE do_connect (
        :dbname         VARCHAR2(12),
        :username       VARCHAR2(12),
        :passwd         VARCHAR2(12),
        SQLCODE);

    CONNECT TO :dbname USER :username USING :passwd;


-- Disconnect
PROCEDURE do_disconnect (SQLCODE);

    DISCONNECT CURRENT;

Note:

If you are familiar with the syntax of SQL89 Module Language, you should note that the newer SQL92 syntax is used in this example. This includes parentheses around a comma separated parameter list, colons before parameters, and use of the INDICATOR keyword. This syntax is supported by the current release of SQL*Module, and is used throughout this Guide.

In this example, the LANGUAGE clause (in the second line of the module) specifies "Ada". This module will be compiled into Ada code. For SQL*Module, this clause is optional. When present, it is, in effect, a comment.

When SQL*Module compiles this module, it transforms the procedures into Ada language procedures that open the cursor and call library routines to fetch the data. SQL*Module also generates a package specification file, which must be compiled into the Ada library and referenced in the host application using a with context clause. See Chapter 5, "Running SQL*Module" in this Guide for information on running SQL*Module, and Chapter 6, "Demonstration Programs" for information about Ada specification files.

A Short Example Program in Ada

To complete the example, a short Ada program that calls the procedures defined in the module file in "An Example Module" follows.

-- Include TEXT_IO,SQL_STANDARD and EXAMPLE1_MOD package specs.

with
     SQL_STANDARD,
     TEXT_IO,
     EXAMPLE1_MOD;
use
     SQL_STANDARD;


-- Define the main procedure.

procedure EXAMPLE1_DRV is


-- Instantiate new packages for I/O on SQL_STANDARD datatypes.
    package STD_INT_IO is
        new text_io.integer_io(SQL_STANDARD.INT);
    use STD_INT_IO;

    package SQLCODE_IO is
        new text_io.integer_io(SQL_STANDARD.SQLCODE_TYPE);
    use SQLCODE_IO;

    package STD_FLOAT_IO is
        new text_io.float_io(SQL_STANDARD.REAL);
    use STD_FLOAT_IO;


-- Begin with declarations of all program variables, 
-- including parameters for the module procedures.
    SERVICE_NAME         : string(1..12)
                               := "INST1_ALIAS ";
    USERNAME             : string(1..12)
                               := "SCOTT       ";
    PASSWORD             : string(1..12)
                               := "TIGER       ";

    DEPT_NUMBER          : SQL_STANDARD.INT;
    EMPLOYEE_NUMBER      : SQL_STANDARD.INT; 
    EMPLOYEE_NAME        : string(1..10); 
    SALARY               : SQL_STANDARD.REAL; 
    COMMISSION           : SQL_STANDARD.REAL;
    COMM_IND             : SQL_STANDARD.SMALLINT;
    SQLCODE              : SQL_STANDARD.SQLCODE_TYPE; 
    LENGTH               : integer;

    CONNECT_ERROR        : exception;
    SQLCODE_ERROR        : exception; 
    
begin 

-- Call a module procedure to connect
-- to the Oracle server.
    EXAMPLE1_MOD.DO_CONNECT
        (SERVICE_NAME, USERNAME, PASSWORD, SQLCODE);

-- Test SQLCODE to see if the connect succeeded.
    if SQLCODE /= 0 then
        raise CONNECT_ERROR;
    end if;

    TEXT_IO.NEW_LINE(2);

-- Get an input value from user to use
-- in opening the cursor.
    TEXT_IO.PUT("Enter department number: ");
    STD_INT_IO.GET(DEPT_NUMBER);
    TEXT_IO.NEW_LINE;

-- Call the module procedure to open the cursor.
-- You open the cursor using the input parameter (dept_number).
    EXAMPLE1_MOD.OPEN_CURSOR1(DEPT_NUMBER, SQLCODE); 
-- If SQLCODE indicates error, call exception handler.
    if SQLCODE < 0 then
        raise SQLCODE_ERROR;
    end if;

    TEXT_IO.PUT_LINE("Employee  ID Number   Salary  Commission");
    TEXT_IO.PUT("----------------------------------------");

-- Call the FETCH procedure in a loop, to get
-- the employee data.
    loop
        EXAMPLE1_MOD.FETCH_EMP_DATA
               (EMPLOYEE_NUMBER, 
                EMPLOYEE_NAME, 
                SALARY, 
                COMMISSION,
                COMM_IND,
                SQLCODE);

        TEXT_IO.NEW_LINE;    

-- When SQLCODE = 100, no more rows to fetch.
        exit when SQLCODE = 100;

-- When SQLCODE less than 0, an error occurred.
        if SQLCODE < 0 then
            raise SQLCODE_ERROR;
        end if;

        TEXT_IO.PUT(string(EMPLOYEE_NAME));
        STD_INT_IO.PUT(EMPLOYEE_NUMBER, WIDTH => 9); 
        STD_FLOAT_IO.PUT(SALARY, FORE => 6, AFT => 2, EXP => 0); 

        if COMM_IND = 0 then
            STD_FLOAT_IO.PUT(COMMISSION, FORE => 9, AFT => 2, EXP => 0);
        else
            TEXT_IO.PUT("        Null");
        end if;
    end loop;

    TEXT_IO.NEW_LINE(2);

-- Call the procedure to close the cursor.
    EXAMPLE1_MOD.CLOSE_CURSOR1(SQLCODE);

-- Call the procedure to disconnect.
    EXAMPLE1_MOD.DO_DISCONNECT(SQLCODE);

-- Handle the error exception.

exception 
     when SQLCODE_ERROR => 
          TEXT_IO.NEW_LINE(2);
          TEXT_IO.PUT("Error fetching data, SQLCODE returns "); 
          PUT(SQLCODE); 
          TEXT_IO.NEW_LINE(2);

     when CONNECT_ERROR =>
          TEXT_IO.PUT("Connect failure to " & 
                       string(SERVICE_NAME));
          TEXT_IO.NEW_LINE(2);

end EXAMPLE1_DRV; 

This example demonstrates several important points about SQL*Module:

The types of the parameters in the module procedures are SQL datatypes, for example SMALLINT and REAL, not Ada datatypes.

  • Parameters are passed to the generated output code procedures in the normal way. Refer to Chapter 6, "Demonstration Programs" for specific information concerning parameter passing conventions.

  • The error status of a call is returned in the SQLCODE or SQLSTATE parameter. There must be a SQLCODE or SQLSTATE status parameter somewhere in the parameter list of each Module Language procedure. See the section "Status Parameters" for more information.

Structure of a Module

This section is an informal guide to Module Language syntax, including Oracle's extensions to the language. See Appendix B to this Guide for a formal description of Module Language syntax.

A module is contained in a single file and consists of

  • a preamble

  • zero or more cursor declarations

  • one or more procedure definitions

Preamble

The preamble is a set of clauses at the beginning of a module file that describes the module. The clauses are

  • MODULE

  • LANGUAGE

  • AUTHORIZATION

MODULE Clause

The MODULE clause provides a name to the module. The argument is the module name, which must be a legal SQL identifier.


Note:

A SQL identifier is a string containing only the 26 letters A through Z, the digits 0 through 9, and the underscore ("_"). The identifier must start with a letter, and cannot be longer than 30 characters (18 characters to comply with the SQL89 standard). You can use lowercase letters (a..z), but a SQL identifier is not case sensitive. So, the identifiers "THIS_IDENTIFIER" and "this_identifier" are equivalent. The characters'$' and'#' are also allowed in a SQL identifier, but you should avoid using them, as they have special meaning in many languages and operating systems.

The module name must be supplied. The module name must be the same as the name of the Ada library unit that you use when you store the Ada-compiled output in your Ada library.

LANGUAGE Clause

The LANGUAGE clause specifies the target language. It takes one argument — the language name, which must be Ada (case is not significant).

The LANGUAGE clause is optional in SQL*Module. See Chapter 5, "Running SQL*Module" for more information about running SQL*Module.

AUTHORIZATION Clause

The AUTHORIZATION clause can determine, or help to determine, the database and schema that SQL*Module uses at compile time.

The argument to the AUTHORIZATION clause can take any one of the following four forms:

  • the username: scott

- scott 
  • the username plus a password, the two separated by a slash: scott/tiger

- scott/tiger
  • the username plus a database to connect to:

scott@{instance_alias | net8_connection_string}
}
  • a full specification, consisting of the username, a password, and the database to connect to: scott/tiger@{instance_alias | net8_connection_string}

- scott/tiger@{instance_alias | net8_connection_string}

The instance_alias is an alias containing a database name defined in the tnsnames.ora file. For more information, talk to your database administrator, or see the manual Oracle Database Net Services Administrator's Guide.

If you do not include the password in the AUTHORIZATION clause, you can specify it when you run SQL*Module, using the USERID command line option. If you do not specify a USERID value that contains a password, SQL*Module prompts you for a password. If a database name is not supplied, SQL*Module connects using the default database for the specified user.


Note:

For security reasons, omit the password in the SQL*Module or in any configuration file. You will be prompted for the password at runtime.

An application that calls module procedures is in effect submitting SQL cursor declarations and SQL statements to Oracle for processing at runtime. The application runs with the privileges of the user executing the application, not the schema specified either in the AUTHORIZATION clause or at runtime, when the Module Language code was compiled by SQL*Module.

So, when the application is executed, the user must be able to connect to the database using the same schema as that specified when the modules were compiled, in order to guarantee access to all database objects referenced in the modules.

Cursor Declarations

When a query can return multiple rows of data, you must declare a cursor for the statement. There are two different kinds of cursor that you can use in Module Language. You can declare an ANSI-standard cursor in your module file, and write module language procedures to OPEN the cursor, FETCH from it, and CLOSE it. Or, you can use a cursor variable. Cursor variables are described in "Cursor Variables".

Using a cursor, you retrieve data one row at a time using the SQL FETCH command. Standard cursors are established in Module Language using the DECLARE CURSOR statement.


Note:

The cursor name is a SQL identifier; it is not a procedure name. So, the cursor name does not need to be a valid Ada identifier.

The SQL statement in a DECLARE CURSOR clause must not include an INTO clause. The INTO clause is used in the FETCH command in the procedure that references the cursor.

You cannot use parameters when you declare a standard cursor. A placeholder is used instead. Placeholders in a cursor declaration must correspond by name to the parameters in the procedure that opens the cursor.

Note the way the variable dept_number is used in the following module fragment, taken from the example used earlier in this chapter:

DECLARE cursor1 CURSOR FOR 
     SELECT ename, empno, sal, comm 
     FROM emp 
     WHERE deptno = :dept_number 
 
PROCEDURE open_cursor1 (:dept_number INTEGER, SQLCODE); 
     OPEN cursor1; 

The cursor declaration is NOT terminated with a semicolon. If it is, SQL*Module generates a syntax error.


Caution:

If the application consists of several modules, a cursor cannot be declared in one module, then referenced in another. Nevertheless, cursor names must be unique across all modules in the application.

Procedure Definitions

A procedure definition consists of a

  • procedure name

  • parameter list

  • single SQL statement

Procedure Name

The procedure name is a SQL identifier, and should also be a legal Ada identifier. Procedure names must be unique in the application.

Each procedure in a module must have a distinct name. The procedure name space extends over all modules of an application, so when the application uses more than one module, each procedure must still have a distinct name.

Parameter List

The parameter list contains one or more formal parameters. Each parameter must have a distinct name, which is a SQL identifier. One of the parameters must be a status parameter: SQLSTATE or SQLCODE. It can appear anywhere in the parameter list. You can include both. See "Status Parameters" for more information about status parameters.

SQL92 Syntax

In SQL89 Module Language, you defined a procedure using the syntax

PROCEDURE proc_name 
        <param_1>    <datatype_1> 
        <param_2>    <datatype_2> 
        SQLCODE; 
    <sql_statement>; 

where <param_n> is a formal parameter name and <datatype_n> is a SQL datatype. Following the SQL92 standard, SQL*Module allows the syntax

PROCEDURE proc_name ( 
        :<param_1>    <datatype_1>, 
        :<param_2>    <datatype_2>, 
        SQLSTATE | SQLCODE );
    <sql_statement>; 

where the parameter list is surrounded by parentheses, and parameters are separated by commas.


Note:

You cannot mix SQL89 and SQL92 syntax. If you separate the elements of the parameter list using commas, you must also place parentheses around the parameter list.

When SQL*Module generates the output procedures, the formal parameters appear with the same names, and in the same order, as they appear in the module procedure. You can use the parameter access conventions appropriate for the Ada language when calling the output procedure from the application. Thus, Ada programmers can use named parameter association in place of, or in addition to, positional parameter association.

SQL Datatypes

The following table lists the SQL and Oracle datatypes that you can use in a module parameter list. For more information about arrays, see "Arrays as Procedure Arguments".

Table 2-1 Datatypes

SQL DatatypeMeaning

CHARACTER

single character

CHARACTER(L)

character string of length L bytes

DOUBLE PRECISION

approximate numeric

INTEGER

exact numeric, no fractional part

REAL

approximate numeric

SMALLINT

exact numeric, no fractional part, equal to or smaller in range than INTEGER

Oracle Datatype


VARCHAR2(L)

variable-length character string of length L bytes

SQL*Module Datatypes:

SQL_CURSOR

SQL_CONTEXT

ARRAY(N) OF SQL_CURSOR

ARRAY(N) OF CHARACTER

ARRAY(N) OF CHARACTER(L)

ARRAY(N) OF DOUBLE PRECISION

ARRAY(N) OF INTEGER

ARRAY(N) OF REAL

ARRAY(N) OF SMALLINT

ARRAY(N) OF VARCHAR2(L)

cursor variable type

task context

Arrays of SQL Datatypes shown. N is the number of elements.



Note:

CHARACTER can be abbreviated CHAR. INTEGER can be abbreviated INT.

The SQL standard for Module Language allows the use of only a subset of the SQL datatypes for Ada.


Note:

All parameters for Module Language procedures must be scalars, arrays, or strings. Records and access types are not supported.

SQL Commands

Module Language supports the following SQL statements:

  • ALLOCATE

  • CLOSE

  • COMMIT

  • CONNECT TOs

  • CONTEXT ALLOCATE

  • CONTEXT FREE

  • DELETE

  • DISCONNECT

  • ENABLE THREADS

  • FETCH

  • INSERT

  • OPEN

  • ROLLBACK

  • SELECT

  • SET CONNECTION

  • UPDATE

The DELETE and UPDATE commands may be either searched (the normal mode) or positioned (using the WHERE CURRENT OF <cursor_name> clause). You can use the OPEN command only for ANSI-standard cursors. You must open cursor variables on the Oracle Server, using PL/SQL code.

Text in a Module

In general, Module Language is not case sensitive. You can enter keywords and identifiers in any mixture of uppercase and lowercase. However, case is significant in character string literals.

Text in a module file is free form. White space (spaces, tabs, and new lines) can be placed anywhere in the file to improve readability. The only exception to this is that identifiers, keywords, and string literals cannot be continued to a new line.

The maximum length of a line in a module is 512 characters.

Comments

SQL*Module allows comments in a module file. You can place comments anywhere that white space can appear, except in string literals.

There are two comment styles: SQL-style comments and C-style comments. A SQL-style comment starts with two consecutive dashes, which can appear anywhere on a line, and ends at the end of the line. For example:

-- This is a SQL(or Ada)style comment. 
-- For multiline comments, you must place the comment 
-- dashes on each line. 

A C-style comment begins with a slash immediately followed by an asterisk (/*), and ends at the next occurrence of an asterisk immediately followed by a slash (*/). C-style comments can span more than one line. C-style comments cannot be nested.

The following example demonstrates the C-style comment:

/* 
 *  This comment style is often used to 
 *  introduce a procedure. 
 */ 

Indicator Parameters

You use indicator parameters to set the null/not null status of another (associated) parameter, or to "indicate" if a column value retrieved on a query was null. In the module procedure parameter list, an indicator parameter always has a SMALLINT type. In the SQL statement, the indicator parameter follows the associated parameter, with no comma separation. The SQL92 standard allows the keyword INDICATOR to be used to separate the indicator parameter and its associated parameter.

In the following example, grade_indic is an indicator parameter:

PROCEDURE get_grade ( 
        :grade          REAL,
        :grade_indic    SMALLINT, 
        :class_number   INTEGER, 
        :student_id     INTEGER, 
        SQLCODE); 
    SELECT grade 
        INTO :grade INDICATOR :grade_indic 
        FROM enrollment
        WHERE class_no = :class_number AND student_id = :student_id; 

Following the SQL89 standard, the SELECT statement would be written without the INDICATOR keyword, as follows:

     SELECT grade
         INTO :grade :grade_indic 
         FROM enr7Dollment
         WHERE class_no = :class_number AND student_id = :student_id; 

SQL*Module allows both uses of indicator parameters.

When an indicator parameter is returned from a procedure (an OUT parameter), as in the query example, its returned value has the following meanings:

-1

The Oracle column or expression is null. The value of the associated parameter (grade in this example) is indeterminate.

0

Oracle assigned a column or expression value to the associated parameter.

> 0

For character data, Oracle passes a truncated column value in the associated parameter. The value of the indicator parameter shows the original length of the value in the database column.

When indicator parameters are passed as IN parameters, you must set the value in your Ada program. A value of -1 means that Oracle will assign null to the column (regardless of the value of the associated parameter), and a value of zero or greater means that Oracle will use the value of the associated parameter in the UPDATE or INSERT command. Positive values greater than zero have no special meaning; they are equivalent to zero.


Caution:

If you try to assign a null to a database column that has the NOT NULL constraint, an Oracle error is returned at runtime.

The following code fragment shows an Ada driver that calls a Module Language procedure with a null indicator parameter value:

with SQL_STANDARD; 
procedure DRV is 
  SQLCODE    : SQL_STANDARD.SQLCODE_TYPE; 
  EMPLOYEE   : string(1..10) := "SCOTT     "; 
  COMMISSION : SQL_STANDARD.REAL := 2000.0; 
  COMM_IND   : SQL_STANDARD.SMALLINT := -1; 
begin 
  . . . 
 
  UPDATE_COMMISSION(EMPLOYEE, COMMISSION, COMM_IND, SQLCODE); 
   
  . . . 
end; 
  

The corresponding Module Language procedure is:

PROCEDURE update_commission ( 
  :employee_name VARCHAR2(10), 
  :commission REAL, 
  :comm_ind SMALLINT, 
  SQLCODE); 
   
  UPDATE emp SET comm = :commission INDICATOR :comm_ind 
     WHERE ename = :employee_name; 

In this example, the parameter commission with a value of 2000.0 is passed to the update_commission procedure. But, since the indicator parameter is set to -1, employee Scott's commission is set to null in the EMP table.

Status Parameters

There are two special status parameters: SQLSTATE and SQLCODE. The status parameters return values to the calling Ada application that show if

  • the procedure completed without error

  • an exception occurred, such as ''no data found''

  • an error occurred

You can place either one or both of the status parameters anywhere in the parameter list. They are always shown last in this Guide, but that is just an informal coding convention. The status parameters are not preceded by a colon, and they do not take a datatype specification. You cannot directly access the status parameters in the SQL statement in the procedure; they are set by SQL*Module.

SQLSTATE is the preferred status parameter; SQLCODE is retained for compatibility with older standards.

For more information about the status parameters and the values they return, see "Error Handling".

Error Messages

SQL*Module compile time error messages have the MOD prefix. The codes and messages are listed in Oracle Database Error Messages.

CONNECT Statement

The connect statement associates a program with a database, and sets the current connection. The syntax of the command is shown in the following syntax diagram. Key words, which you must spell exactly as shown, are in upper case; tokens you supply are in lower case. If a clause is optional, it is shown off the main path, which flows to from left to right. For a more complete discussion of syntax diagrams, see Appendix B, "Module Language Syntax".

Description of adaconn.gif follows
Description of the illustration adaconn.gif

A db-env (database environment) is a Oracle Net connect string or instance-alias. The conn-name (connection name) is optional. For multiple connections, you must specify the connection names. You can omit it if you will only use a single connection. The USING clause is optional. A passwd is the password.

Connecting as DEFAULT results in a connection to Oracle by using either TWO_TASK (if it applies to your operating system) or ORACLE_SID and the account specified by the parameter os_authent_prefix in your file init.ora. The optional token passwd is the password.

The ANSI SQL92 standard does not allow db-env to be optional. This is an Oracle extension (which will be flagged by the FIPS option) which enables a connection to the default server as a specific user.

You must use Oracle Net in SQL*Module applications. Note that passwd can only be a variable and not a character string literal. All other variables can be either a character string literal or a variable previously defined, preceded by ":".

Here is a illustrative code fragment from a module named demo.mad, which contains the following procedure to do a connect:

...
PROCEDURE ora_connect (:dbid   VARCHAR2(14),
                       :dbname VARCHAR2(14),
                       :uid    VARCHAR2(14),
                       :pwd    VARCHAR2(14),
                       SQLCODE);
CONNECT TO :dbid AS :dbname USER :uid USING :pwd;
...

An Ada application can contain these statements to do the connect:
...
pwd : constant string := "tiger";
...
DEMO.ORA_CONNECT("inst1","RMT1","scott",PWD,SQLCODE);
if SQLCODE /= 0 then
...

For more information, see the Oracle Database Net Services Administrator's Guide.

SET CONNECTION Statement

The set connection statement sets the current connection. Its syntax is:

SET CONNECTION { connection-name | DEFAULT }

DEFAULT is a special case of the connection-name, '/', at the current ORACLE_SID.

DISCONNECT Statement

The disconnect command ends an association between an application and a database environment. It can be summarized as:

DISCONNECT { connection-name | ALL | CURRENT | DEFAULT}

The full ANSI semantics are not followed. Instead of raising an exception condition if the connection has an active transaction, the transaction is (implicitly) rolled back and the connection(s) disconnected.

DISCONNECT ALL only disconnects connections which are established by SQLLIB (that is, by SQL*Module).

DISCONNECT DEFAULT and DISCONNECT connection-name terminate only the specified connection.

DISCONNECT CURRENT terminates the connection regarded by SQLLIB as the "current connection" (either the last connection established or the last connection specified in a SET CONNECTION statement).

After the current connection is disconnected, you must execute a set connection or a connect statement to establish a new current connection. Then you can execute any statement that requires a valid database connection.

You must explicitly commit or roll back the current transaction before disconnecting. If you do not commit the transaction before disconnecting, or if the program exits before committing, the current transaction is automatically rolled back.

Here is an example of two procedures from the module demo.mad illustrating the disconnect command:

 ...
PROCEDURE ora_disconnect (:dbname VARCHAR2(14),
                           SQLCODE) ;
   DISCONNECT :dbname;

...
PROCEDURE ora_commit(SQLCODE);
   COMMIT WORK;

these procedures are called from your application as follows:
...
DEMO.ORA_COMMIT(SQLCODE);
DEMO.ORA_DISCONNECT("RMT1", SQLCODE);
...

A required commit command was executed using the procedure ora_commit (which is also in the file demo.mad) just before the disconnect.

Multi-tasking

Starting with release 8.0, multi-tasking Ada programs are supported by SQL*Module. The new commands that you use in a multi-tasking program are described in the following sections:

ENABLE THREADS

This command initializes the process for later use with Ada tasks. It must be called prior to the creation of any Ada tasks. It is:

ENABLE THREADS;

SQL_CONTEXT Datatype

The datatype SQL_CONTEXT is used to support multi-tasking applications. It points to SQLLIB's runtime context. You pass the context as a parameter to SQL*Module procedures. If it is passed, then it indicates which SQLLIB runtime context will be used for execution. If no SQL_CONTEXT parameter is passed, then SQL*Module uses the global runtime context of SQLLIB.

For example, here is a procedure that uses SQL_CONTEXT:

PROCEDURE seldept (:ctx SQL_CONTEXT,
                   :dno INTEGER,
                    SQLCODE); 
    SELECT deptno INTO :dno FROM emp WHERE dname = 'SALES';

In this example, the select statement will use the runtime context pointed to by the variable ctx. ctx must have been previously allocated in a CONTEXT ALLOCATE statement. Note that you never reference the SQL_CONTEXT variable directly. It appears only in the code that SQL*Module generates.

CONTEXT ALLOCATE

This command allocates storage in memory for a SQLLIB runtime context that is used to support multi-tasking. An example is:

CONTEXT ALLOCATE :ctxvar;

ctxvar is of type SQL_CONTEXT. If sufficient storage is available, ctxvar will contain the address of the runtime context. Otherwise, ctxvar will be zero and an error will be returned in the provided status variables.

CONTEXT FREE

CONTEXT FREE frees all storage associated with the SQLLIB runtime context. It does not disconnect any active connection. Prior to deallocating the runtime context, you must execute the DISCONNECT command for each active connection.

The CONTEXT FREE statement always succeeds and ctxvar is zero after execution. If the context is ctxvar, then, an example is:

CONTEXT FREE :ctxvar;

Multi-tasking Restrictions

  • All database connections must be established prior to task activation.

  • Multi-tasking applications cannot be used to access database stored procedures.

Multi-tasking Example

Here is part of a module, adademo.mad:

PROCEDURE enable_threads (SQLCODE);
    ENABLE THREADS;
PROCEDURE allocate_context (:ctx SQL_CONTEXT, SQLCODE);
    CONTEXT ALLOCATE :ctx;
PROCEDURE free_context (:ctx SQL_CONTEXT, SQLCODE);
    CONTEXT FREE :ctx;
PROCEDURE disconn_db (:ctx SQL_CONTEXT,
                      :dbname VARCHAR2(14),
                      SQLCODE);
   DISCONNECT :dbname;

these procedures are called as follows:
with ADADEMO;
-- Declare contexts CTX1, CTX2
...
ADADEMO.ENABLE_THREADS(SQLCODE):

ADADEMO.ALLOCATE_CONTEXT(CTX1, SQLCODE);
ADADEMO.ALLOCATE_CONTEXT(CTX2, SQLCODE);
-- Spawn tasks that process data:
...

An example of explicitly disconnecting and freeing contexts is:
-- After processing data:
...
ADADEMO.DISCONN_DB(CTX1, DBNAM1);
ADADEMO.DISCONN_DB(CTX2, DBNAM2);
ADADEMO.FREE_CONTEXT(CTX1);
ADADEMO.FREE_CONTEXT(CTX2);

PKwfŷPKa9AOEBPS/img_text/smd80002.htm Description of the illustration smd80002.gif

The illustration shows the development cycle for a precompiler application. In step one, you begin with a source file containing embedded SQL and included files such as SQLCA. In step two, you run these through the Oracle Precompiler and it generates host language program files. In step three you run these program files through a host language compiler to generate object files. In step four, you run the host linker on the object files and the SQL library (SQLLIB) to generate the application. The application exchanges data with the Oracle8 Server. The server also provides syntactic and semantic checking for the precompiler.

PKhPKa9AOEBPS/img_text/sqa80005.htmi Description of the illustration sqa80005.gif

The illustration shows how to access a stored procedure. You use SQL*Module to compile an interface procedure stub with RPC_GENERATE set to YES. This stub can communicate with the host application and with the Oracle8 server.

PKogniPKa9AOEBPS/img_text/adaauth.htme Description of the illustration adaauth.gif

The illustration shows the syntax for the authorization clause. It begins with the mandatory keyword AUTHORIZATION, followed by the mandatory username. The password is optional, and is preceded by a forward slash. The database name is optional and is preceded by an @ symbol.

PK̸PKa9AOEBPS/img_text/adapar.htmI Description of the illustration adapar.gif

The illustration shows the syntax for the parameter list. The entire thing is enclosed in parenthesis. The syntax begins with a list of parameters, separated by commas. Each entry begins with a colon, followed by the parameter name. This is then followed by either the SQL_CONTEXT keyword, or a type declaration, type_dcl. Type_dcl is explained in the next graphic. The type declaration may be preceded by an array signifier. The array signifier is the keyword ARRAY followed by a number in parentheses followed by the keyword OF. The parameter list is followed by a comma and then one of the following: The SQLSTATE keyword or the SQLCODE keyword, or the SQLSTATE and SQLCODE keywords separated by a comma.

PK/NIPKa9AOEBPS/img_text/adapre.htm; Description of the illustration adapre.gif

The illustration shows the preamble syntax. The keyword MODULE is mandatory, followed by the optional mod_name, the optional language clause, and the mandatory authorization clause.

PKW8@;PKa9AOEBPS/img_text/adalang.htm Description of the illustration adalang.gif

The illustration shows the syntax for the language clause. It contains the mandatory keyword LANGUAGE, followed by the mandatory keyword ADA.

PKt6PKa9AOEBPS/img_text/adawith.htmw Description of the illustration adawith.gif

The illustration shows the syntax of a procedure declaration that includes a WITH INTERFACE clause. The declaration begins with the keyword PROCEDURE followed by the procedure_name. next comes a parameter list which is enclosed in parentheses. Each element in the list consists of the param_formal_name, followed by an optional mode, followed by the pl/sql_datatype. Multiple list items must be separated by commas. The mode attribute is described later in the chapter. After the parameter list come the keywords WITH INTERFACE PROCEDURE, followed by the interface_procedure_name. This is followed by a left parenthesis and then one or more int_param_formal_name elements. There are no commas between the elements, and the syntax is defined in the next graphic. The final item in the decoration is either the keywords SQLCODE INTEGER, followed by a right parenthesis and a semicolon, or the keywords SQLSTATE CHARACTER, followed by a 5 in parenthesis, followed by a closing right parenthesis and a semicolon.

PKsCx|wPKa9AOEBPS/img_text/amd80002.htmP Description of the illustration amd80002.gif

The illustration shows the process for using SQL*Module as an interface builder. The process is divided into two main stages: development and compilation. During development, an Ada application developer creates application source files, and a PL/SQL developer creates PL/SQL stored procedures. During the compilation phase, the stored procedures are fed to an Oracle8 server which works with the SQL*Module compiler to derive interface procedures from stored procedures. The SQL*Module compiler produces specification files and host languages generated code. These outputs are put into the Ada compiler, along with the application source files created by the Ada application developer. This generates an Ada runtime library. Using the ORACLE_SQLLIB package, the runtime library and the SQLLIB SQL library are run through the host linker, which generates the application. The application exchanges data with an Oracle8 Server and also provides it with procedure calls.

PKBD&UPPKa9AOEBPS/img_text/adatyp.htm  Description of the illustration adatyp.gif

The illustration shows the syntax for the type_dcl section of the parameter list described in the previous graphic. Type_dcl can take on one of the following seven values: Option 1 is the keyword CHARACTER followed by an optional length value in parentheses. The length value must be greater than 1 and less than 32,500. Option 2 is the keyword DOUBLE_PRECISION. Option 3 is the keyword INTEGER. Option 4 is the keyword REAL. Option 5 is the keyword SMALLINT. Option 6 is the keyword VARCHAR2, followed by a required length value in parentheses. The length value must be greater than 1 and less than 32,500. Option 7 is the keyword SQL_CURSOR.

PK8C PKa9AOEBPS/img_text/adaipfn.htm Description of the illustration adaipfn.gif

The illustration shows the definition of the in_formal_name parameter of the preceding graphic. it begins with the parame_name, followed by the sql_datatype. it may end there, or you may include the following optional set of elements: the keyword INDICATOR followed by ind_param_name, followed by a comma, followed by ind_param_name, followed by the keyword SMALLINT.

PK7PKa9AOEBPS/img_text/adamode.htmz Description of the illustration adamode.gif

The illustration shows the syntax of the mode attribute of the procedure declaration described in the illustration adawith.gif. The mode attribute is either IN or OUT or IN OUT. If you choose to omit a value, the value is set to IN by default.

PK+<zPKa9AOEBPS/img_text/amd80003.htm Description of the illustration amd80003.gif

The illustration shows that a compiled module file generates a specifications file and a source code file as output.

PK$ӘPKa9AOEBPS/img_text/adacur.htmf Description of the illustration adacur.gif

The illustration shows the syntax for the authorization clause. It begins with the mandatory keyword AUTHORIZATION, followed by the mandatory username. The password is optional, and is preceded by a forward slash. The database name is optional and is preceded by an @ symbol.

PK댞PKa9AOEBPS/img_text/amd80001.htm! Description of the illustration amd80001.gif

The illustration shows the development cycle using module language. The process is divided into two main stages: development and compilation. During development, an Ada application developer creates application source files, and a SQL application developer creates module language procedures. During the compilation phase, the module language procedures are run through the SQL*Module compiler, which produces specification files and host languages generated code. These outputs are put into the Ada compiler, along with the application source files created by the Ada application developer. This generates an Ada runtime library. Using the ORACLE_SQLLIB package, the runtime library and the SQLLIB SQL library are run through the host linker, which generates the application. The application exchanges data with an Oracle8 Server. The server also exchanges compilation and semantic checking with the SQL*Module compiler.

PK&!PKa9AOEBPS/img_text/adaconn.htm_ Description of the illustration adaconn.gif

The illustration shows the syntax for the CONNECT statement. There are two main options. The syntax for the first option is CONNECT TO DEFAULT. In the second option, you can provide additional details. The syntax for the second option begins with the words CONNECT TO, followed by an optional db-env parameter, followed by an optional AS conn-name parameter, followed by the keyword USER and the required usernam parameter, followed by the optional USING passwd parameter.

PK$d_PKa9AOEBPS/img_text/sqlstate.htmE Description of the illustration sqlstate.gif

The figure illustrates the SQLSTATE coding scheme.

PK('пPKa9AOEBPS/img_text/adamod.htm> Description of the illustration adamod.gif

The syntax illustration is explained by the following text.

PK,A/PKa9AOEBPS/img_text/adaproc.htm| Description of the illustration adaproc.gif

The illustration shows the syntax for a procedure definition. It begins with the keyword PROCEDURE, followed by the procedure_name, followed by the parameter_list, followed by a semi-colon, followed by the sql_statement, followed by a semicolon.

PKk!ׁ|PKa9AOEBPS/appa.htm ? New Features

A New Features

This appendix contains a list of the new features in release 8.0 of SQL*Module for Ada.

New Statements

Other New Features

PKN PKa9AOEBPS/appe.htm& System-Specific References

E System-Specific References

This appendix contains a complete list of the features of the SQL*Module compiler and its libraries that are system specific.

System-Specific Aspects of SQL*Module

This section describes the system-specific aspects of the SQL*Module compiler features and their libraries that are system specific.

Supported Compilers

The Ada compiler that you can use to compile the code generated by SQL*Module is platform specific. See your system-dependent documentation.

Character Case in Command Lines

Operating systems differ in case sensitivity. See "Case of Package and Procedure Names" for more information.

Location of Files

The location in the directory hierarchy of the SQL*Module executable, the system configuration file, and the SQLLIB and OCILIB libraries can differ from system to system. See "Invoking SQL*Module" and "Configuration Files".

Filename Extensions

The default filename extensions that SQL*Module generates for output files might vary from platform to platform. See "Output Files".

Ada Output Files

The default filenames and filename extensions for Ada depend on the supported compiler for your system. See "Source Code Output File" and "Listing File".

Command Line

The command line interpreter makes assumptions about defaults that are system specific. See your system-specific Oracle documentation.

Ada SQL_STANDARD Package

The SQL_STANDARD package that is shipped with the Ada version of SQL*Module can differ from system to system, depending on the requirements of your Ada compiler. See your system-specific Oracle documentation.

PKc0+&PKa9A OEBPS/toc.ncx( Oracle® SQL*Module for Ada Programmer's Guide, 11g Release 2 (11.2) Cover Table of Contents Oracle SQL*Module for Ada Programmer's Guide, 11g Release 2 (11.2) Preface Introduction to SQL*Module Module Language Accessing Stored Procedures Developing the Ada Application Running SQL*Module Demonstration Programs New Features Module Language Syntax Reserved Words SQLSTATE Codes System-Specific References Index Copyright PKhX- ( PKa9AOEBPS/content.opf*^ Oracle® SQL*Module for Ada Programmer's Guide, 11g Release 2 (11.2) en-US E10827-01 Oracle Corporation Oracle Corporation Oracle® SQL*Module for Ada Programmer's Guide, 11g Release 2 (11.2) 2009-08-02T18:45:28Z Describes how to use SQL*Module to develop Module programs and Ada code to access and manipulate Oracle data. PKP**PKa9AOEBPS/dcommon/prodbig.gif GIF87a!!!)))111BBBZZZsss{{ZRRcZZ!!1!91)JB9B9)kkcJJB991ssc絽Zcc!!{祽BZc!9B!c{!)c{9{Z{{cZB1)sJk{{Z{kBsZJ91)Z{!{BcsRsBc{9ZZk甽kBkR!BZ9c)JJc{!))BZks{BcR{JsBk9k)Zck!!BZ1k!ZcRBZcZJkBk1Z9c!R!c9kZRZRBZ9{99!R1{99R{1!1)c1J)1B!BJRkk{ƽ絵ތkk絵RRs{{{{JJsssBBkkk!!9ss{{ZZssccJJZZRRccRRZZ))cBBJJ99JJ!!c11991199Z11!c!!))Z!!!1BRck{)!cJBkZRZ,HP)XRÇEZ֬4jJ0 @ "8pYҴESY3CƊ@*U:lY0_0#  5tX1E: C_xޘeKTV%ȣOΏ9??:a"\fSrğjAsKJ:nOzO=}E1-I)3(QEQEQEQEQEQEQE֝Hza<["2"pO#f8M[RL(,?g93QSZ uy"lx4h`O!LŏʨXZvq& c՚]+: ǵ@+J]tQ]~[[eϸ (]6A&>ܫ~+כzmZ^(<57KsHf妬Ϧmnẁ&F!:-`b\/(tF*Bֳ ~V{WxxfCnMvF=;5_,6%S>}cQQjsOO5=)Ot [W9 /{^tyNg#ЄGsֿ1-4ooTZ?K Gc+oyڙoNuh^iSo5{\ܹ3Yos}$.nQ-~n,-zr~-|K4R"8a{]^;I<ȤL5"EԤP7_j>OoK;*U.at*K[fym3ii^#wcC'IIkIp$󿉵|CtĈpW¹l{9>⪦׺*ͯj.LfGߍԁw] |WW18>w.ӯ! VӃ :#1~ +މ=;5c__b@W@ +^]ևՃ7 n&g2I8Lw7uҭ$"&"b eZ":8)D'%{}5{; w]iu;_dLʳ4R-,2H6>½HLKܹR ~foZKZ࿷1[oZ7׫Z7R¢?«'y?A}C_iG5s_~^ J5?œ tp]X/c'r%eܺA|4ծ-Ե+ْe1M38Ǯ `|Kյ OVڅu;"d56, X5kYR<̭CiطXԮ];Oy)OcWj֩}=܅s۸QZ*<~%뺃ȶp f~Bðzb\ݳzW*y{=[ C/Ak oXCkt_s}{'y?AmCjޓ{ WRV7r. g~Q"7&͹+c<=,dJ1V߁=T)TR՜*N4 ^Bڥ%B+=@fE5ka}ędܤFH^i1k\Sgdk> ֤aOM\_\T)8靠㡮3ģR: jj,pk/K!t,=ϯZ6(((((((49 xn_kLk&f9sK`zx{{y8H 8b4>ÇНE|7v(z/]k7IxM}8!ycZRQ pKVr(RPEr?^}'ðh{x+ՀLW154cK@Ng C)rr9+c:׹b Жf*s^ fKS7^} *{zq_@8# pF~ [VPe(nw0MW=3#kȵz晨cy PpG#W:%drMh]3HH<\]ԁ|_W HHҡb}P>k {ZErxMX@8C&qskLۙOnO^sCk7ql2XCw5VG.S~H8=(s1~cV5z %v|U2QF=NoW]ո?<`~׮}=ӬfԵ,=;"~Iy7K#g{ñJ?5$y` zz@-~m7mG宝Gٱ>G&K#]؃y1$$t>wqjstX.b̐{Wej)Dxfc:8)=$y|L`xV8ߙ~E)HkwW$J0uʟk>6Sgp~;4֌W+חc"=|ř9bc5> *rg {~cj1rnI#G|8v4wĿhFb><^ pJLm[Dl1;Vx5IZ:1*p)إ1ZbAK(1ׅ|S&5{^ KG^5r>;X׻K^? s fk^8O/"J)3K]N)iL?5!ƾq:G_=X- i,vi2N3 |03Qas ! 7}kZU781M,->e;@Qz T(GK(ah(((((((Y[×j2F}o־oYYq $+]%$ v^rϭ`nax,ZEuWSܽ,g%~"MrsrY~Ҿ"Fت;8{ѰxYEfP^;WPwqbB:c?zp<7;SBfZ)dϛ; 7s^>}⍱x?Bix^#hf,*P9S{w[]GF?1Z_nG~]kk)9Sc5Ո<<6J-ϛ}xUi>ux#ţc'{ᛲq?Oo?x&mѱ'#^t)ϲbb0 F«kIVmVsv@}kҡ!ˍUTtxO̧]ORb|2yԵk܊{sPIc_?ħ:Ig)=Z~' "\M2VSSMyLsl⺿U~"C7\hz_ Rs$~? TAi<lO*>U}+'f>7_K N s8g1^CeКÿE ;{+Y\ O5|Y{/o+ LVcO;7Zx-Ek&dpzbӱ+TaB0gNy׭ 3^c T\$⫫?F33?t._Q~Nln:U/Ceb1-im WʸQM+VpafR3d׫é|Aү-q*I P7:y&]hX^Fbtpܩ?|Wu󭏤ʫxJ3ߴm"(uqA}j.+?S wV ~ [B&<^U?rϜ_OH\'.;|.%pw/ZZG'1j(#0UT` Wzw}>_*9m>󑓀F?EL3"zpubzΕ$+0܉&3zڶ+jyr1QE ( ( ( ( ( ( ( (UIdC0EZm+]Y6^![ ԯsmܶ捆?+me+ZE29)B[;я*wGxsK7;5w)}gH~.Ɣx?X\ߚ}A@tQ(:ͧ|Iq(CT?v[sKG+*רqҍck <#Ljα5݈`8cXP6T5i.K!xX*p&ќZǓϘ7 *oƽ:wlຈ:Q5yIEA/2*2jAҐe}k%K$N9R2?7ýKMV!{W9\PA+c4w` Wx=Ze\X{}yXI Ү!aOÎ{]Qx)#D@9E:*NJ}b|Z>_k7:d$z >&Vv󃏽WlR:RqJfGإd9Tm(ҝEtO}1O[xxEYt8,3v bFF )ǙrPNE8=O#V*Cc𹾾&l&cmCh<.P{ʦ&ۣY+Gxs~k5$> ӥPquŽўZt~Tl>Q.g> %k#ú:Kn'&{[yWQGqF}AЅ׮/}<;VYZa$wQg!$;_ $NKS}“_{MY|w7G!"\JtRy+贾d|o/;5jz_6fHwk<ѰJ#]kAȎ J =YNu%dxRwwbEQEQEQEQEQEQEQEQEQE'fLQZ(1F)hQ@X1KEQE-Q@ 1KE3h=iPb(((1GjZ(-ʹRPbR@ 1KE7`bڒyS0(-&)P+ ڎԴP11F)h&:LRmQ@Q@Š(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((Z5/t bS($ `Dǂ7Tg4*-ƫ8@$x =qh(o^4[7zծ-;UR!PNW)|i|M>xaб_Bue.a=g]d3k{Hܣ 9+,rr{|AYkǃ.`2 @Jv{AO'UZ(^9=M?s\ǧfKK$;(ېX9<=?[iGjK{Kg<;0݌g߈| Oۮvٽ]3dPQ^g;[PMpsE<ʫɹO(L`q?\kW-,B8T/,_$W?O5 \xmm常8` $Q@$V^]Yk}/[oT.$ d$$ Ԡjnqko{Z[Ov-eF9`0=GWԼK okzm;䌀dc^_bxnuX]O|rFnApA=jnnic8EeK` cW(rjl::\j&eʦrG܁QͪMŨZ> ofS*/g |ǭy_|'`? ({xoLUx ʓAhb ặXTeu# 8 sRPX,ޙy%4Kc '# ?xÞԧmRP6Wb&Pحb` W&sc>y+o6bOQcWS FA$\`n.%"BI#TP2I'5AnK vI+!I8>5(n.%"BI#TP2I'5'ttuIu54dWmt'nxW [{JԢvqX]wk&vMDlppAXڔvX5⅁Y[* >cяS=<])O?$ ~_``D򿵵[;>_-q# 5-[MѭT-,`g]L)lXqjxg1/,.໵UMA ppA{EV4Ķ%ѡ')$r_Ĭ AVQEQEQEQEQEQEQEQEQEQEQEQEQEQEyמ"tsR6wcI*nnJ %V}ck%\u y8c{w/ xo1hخ9byco-ûNK`A\I?[;F)anI,}$ "it汆{kMa ry"%^\-@A|Α !p1_AU|aw4X< Bco,(91߼RFX⟋o|Y1?Tة(`7ow0J0C7M]7x^A(r.Wfr? 8Fp'X\`9 :w^OorTP +NnpcIILI$b^I'I5xI熿kCkcX8`-8P'8X_<+k_[xFxd9/VF( 1@y_<j ^=DY\ϧXY"6OZG!T Y5Xzvv Ү`GlNO[~ nWڟxyem>ay\[H軥0hc 1Th?PTz PTzW1D2Gݟ瑣nrXĉ8#|kľ2%`XHDpBhf\|Pύ 4쵭6Mipn^TQ`PZ|uG-;Ow,{'Pgnp 4?O5 /|^t]bd*̌. 7'58S >|? CI-MĪ#WJ.vX1/~+9,.}Xk[GvclX#u s/XX_VUo^,b@]x<`3>:]AV%klE6N8yV?-{y? cqw9|vSNw `uzf^ Տlmho<ʳ31gqa0l2{Nş A?t>T c6 h/kYHNOΈFn qvOR7TUz}pmͱ-C|]>l `kѾQ]p^mab* r 5Ój:^p}dݶ;ʁH k/F>zr^E\47ڜ#` 82\q@Xx35_jkQ w9rLlG zs=⼯O¨|xmbK[M,Q ng(ĉqazp-k ԯ;?>K5/9(sҸ+x'@-֕j+.>(;;CmjפxIu_Ht/x҉(WO? xu)mVB<̿2y:P>Rs['!9<)i>Y Ԅʧ\aNp8zN!Lo@Wqvf #|]Nj+xgִBaK[{irҐv$p09 ~+ſ޷qvdk-2GY $>I$1(ѼK ]w}gkXd=6)b|'z@׺ojZ}L ' Q[7`> !пJ$D4hi:M`Žn,ybIɭ +:[ڮ{[vhfV h쭿:ou0KxZ% b9ܲ40R'oD>(x[شc~/d;Nc>88@|,i}ɩD=mddweHnGj:4qKYxQ6+$N Bn@ѫjP5p4V\HX)bH>Y|A^2?oWF9dD+$۸۵W$#oY|uEtG ]"gHHMpO| 'Az>\Ajz4F9zŰ۹YۓP A\GsJ`QԒw ʖ8$6aîxNNm%E77H BAI< |zVps^A hepAh)dRH`$"0q1cp;relD~xc/G{qZu{5I_E4뉔nP鴨<z !F[\> H X 11\[M>7kG DT.v-'(((((((((((((( =J2Z=۔ 2mT6Eèxu>> |>tep$Ԑsʳ؂z( 6zevvZZǝ$ ORO7VEJ$E `*J(뛉gG.;A'<* =v_厵:J~8GʜPR^Egz&=}'VE|ȷn*Ax5’yBN (>7Ú} \jRrEvQ@cѵGK._:_)8RzVQE hӤk$fO5ː9rOEXt=/:sj^ڶNɓ;InS[(?FYQK;@.i$a$f Z(8gguE|xdK03NX}juH"ɔOgDzOmooݦK'o5Q@7VEJ$E `+?9|<<6qcWqEa4Mi[_)B@ؠpJ5ߊ-[\E:xv2u\H9YaAt +klvjFPP&v(4ҷ(((((((((((((((uC'Iﴯ;-gObn'=3Qh.tϊ:NWfUaxgU:P*\,,`*2@~Z !fP tD1`1g9wt |oRҵ_']%׮vJe60 |+_Zғ\v!MdAnvIyPNI<7]_y7zfu9_RkROUb?8|I{UKĒ{jQy:e)B.dq>,֩·rZZΓP.O@%Yӻ(|4$m|C_DqpU,` '~o~zq@E|hELi/^B!1yz_h>f4Jikv[)el9Aր;+/g I5HC_CNY; (QUVEмYma-.$HUdʒ|yV?-GKxOY֧@,rFon1 Vg/<(W6~*>ZtlڊB@TW!w·Tɫ(!g_^xºk=16VUzEynkK|$l⥰jφ y9CPqV Ѵ8`m(+/kWI? r_^hWOc!pW,6  W>-zΡ"i4q+q] &TcQ^O G?5V >#4J|ՕdT+1V h.OCZVօpjʫ(EpÿNwumKF-Ɨ]ڜhZ1_*STq+oǞ:Ȗu"Òe$/+ͷn/~.—2Љe}hc (_.hSEM̀}f灷$ >1G\׈5A^x+)'t?I+x%Yk#ik7@2>^? ;]u(uzn, S@e_W?J o@&n|#n7/¼yV?-zGCoO :"2G nb89|NN{ϨKK g|U=бz+; v~rY*bXN|"7+&j3M ndcho7ׁ$IZ$4Jd;U*a@(cwQEQEQEQEQEQEQEQEQEQEQEQEQE1ѶZo5 T9[[,.]#a򤑘B:(A%wG`o~ |/뺥rO\}fu*  zP?z5[Ӭ̺hTKnP%BH|Qc?d6FzmvwVєUU;u%Mw!~]%\4X|YW3NMso$q\^mf?f p 9# X2S/ic,Fb|KqbP@9<# .c ]$r1Տ#&] fm,%N>e2 4}izv&uzbD&7A!CHc@yJg_5Ku`5]` 5?~ xz]Vj[!cc 9#BԜf?m|Mmu@cE#cpA埠<='CGצxRF𮯪[m=,X2=Egx+M:6uʍש=OP)wcgZMcZv{m7 !p7e21bxON:GmMVM$ˆ:n9CgzIX%bChd$ gh[|ƉqeݴMܬ*9Fcjs` $O*Z k7ǚ4:^=0Ep ֮łVÞޕP{Nş A@*E5Ge6ǚ"X c*6?^?ƭì]H^o#F@`Ig7MzZ5t_V7J> O{y̎e)b!@qǧZo GÖkkc$:@oJ o^\߉<YеKEEr6*It#<?6'{j~}ʉ#"оY f$7+)77λYOw$.VgR۝P@̇=Wßx{i$p8a׆'4~,伿5[KXi$1d?IOs=Ιu5I#y?*V^>"᥸ B90x\rxDѬ=s=gd),O}>qp(mҫTJjJ+?YaA{j;&L$OUl#<Т88> |>tep$Ԑsʳ؂z "@TP0%Q^c|SwWaXZ12H!bp#֮j^$u_fIw 1[[evb9*,2U{ }ON̵&GZ@V'!HgLx䍊0 A חsIy ؞@2Ǔ+(((((n,|=ihYm_̑P]ד5O>]gJ7Jm&H[jJG'->(#𯏼Q_"]atQ/w@mڸUlIl\+Uj^(x+G.v%:DDFUqT_C_K[ֱHp(SO#GWxĿ|3CSSt.tXcmrK+ç@W7[2P ¬]0Uml˧;%zFx[:\:ZR9vZ!QEroWe T>uB9ɖ!AW2@Q^/;?i^w}ˇ݌ϓvxsQNje4}n Rw0BࣀIÀW[ּ6O{˿#LTlVW;7)%s! ~K }ON̵&GZEPEPEPEPEPEPEPEPEPEPEPEPEP^?: *O꽂?t>T {Q@?J q^ӭ_iJmD};pHz_Vᅅr]qg /Yǥj;1pJ$dxkMF𮑥4m=64d,2=y^x⏈ockO:rLN *~f_vj#9L8t;X09G?mz}ۭΕl\S&RUVFqryOi7`Mv#=!gc%*k5}n5<I60:lr [{J$DԌA+M |Դ}F=F{׎5 $0rsր$%$B(}G\i~ ֟/ueÌ98*T7:_Ht/x҉+>/XkoxwSntb8™263Ƞ]oVxM޻nI1\ 8#,U^ck^ [8iZTxP.{!T?wa=JҬt=.L-MD2I$I$]?=>wImݻoBg8ȯ?|Ow52D?M[RFѯKEQK2@7t٬~ Z2Dbqtlx}QEQEQEQEQEQEQEQEQEQEQEQEQEz4hlS6:au8%#y>kjIԟP6EveE; |=ϭ{eDž>>_ۻ8#æ>TkM{7_5- X>`w( OyEx{O[OvdѦl"l}k<-h>/ikw⦅;˳ OJآ/:eY /HM7ë o syvd1QrIdm uG}J{i&[[$řb ' p0jx;?y']HVfwQEq/"!>˿^F#瑶q]dCuo-QRHPF Ab9?x6oiwZJ_ᥳI*Pt<*X/? j1k6ד[J_[ *AVu%  qB=8 jW5"xTLe - t;:>_3Wtw'ݎ}/Z͵Fҗ;Ur e)d@U$³ #cq@tjzO[o7nЮdg2+πZƉdD}ߌ;fO_S^Ey^Zvc{q;Y9dKeV`C^EWm0?uc㴇1c9`)sj:5ܖs[w1t,@qA9:u{Y[}SN}uP# 4g(-Ě5;zkS6Ke̬8$t5ޥ-/7zpͨmΡXl;]N `zJ(MCK'R}B[7>xDž>>_ۻ8#æ>]> 'Ɵ>_}[}ϙ(ݿwzm?w߃?`xzIv>o{WaExiq|Nm-c`HrI8Q>I'^׼/{xR`{vmF,x# t#wPbo.,菝_i9iܪz/zY{C,eKd[Y,NI8kB(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((PKmmPKa9AOEBPS/dcommon/contbig.gif`GIF87a!!!111999BBBJJJRRRccckkksss{{{skk{{ZRRRJJƽ{sZRJRJB91)kcZB9)sskZRJ1޽ƽ{{ssskkkcƵZZRccZRRJJJB{BB9991ssckkZccR))!RRB!!JJ1))99!11ƌ)1R)k֔)s1RZJR{BJs9R1J!11J1J9k{csZk!1J!)cBR9J1B)91B!cRs{!)s!){1B!k!s!{ksksckckZc9B)1!)!)BJ9B1919έƌ!!)JJcZZ{!!!1RR{JJsBBkJJ{!!9BB{1!!J9)!!Z!!c1!!kR!!s9Z!BckJs)19!!c!!ZRZ,H rrxB(Kh" DժuICiи@S z$G3TTʖ&7!f b`D 0!A  k,>SO[!\ *_t  Exr%*_}!#U #4 & ֩3|b]L ]t b+Da&R_2lEٱZ`aC)/яmvUkS r(-iPE Vv_{z GLt\2s!F A#葡JY r|AA,hB}q|B`du }00(䡆<pb,G+oB C0p/x$…– ]7 @2HFc ) @AD \0 LHG',(A` `@SC)_" PH`}Y+_|1.K8pAKMA @?3҄$[JPA)+NH I ,@8G0/@R T,`pF8Ѓ)$^$ DDTDlA@ s;PKPKa9AOEBPS/dcommon/darbbook.cssPKPKa9A!OEBPS/dcommon/O_signature_clr.JPG"(JFIF``C    $.' ",#(7),01444'9=82<.342C  2!!22222222222222222222222222222222222222222222222222" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (?O '~MQ$Vz;OlJi8L%\]UFjޙ%ԯS;rA]5ފ<׈]j7Ouyq$z'TQuw7Ŀ KX߁M2=S'TQt?.5w'97;~pq=" ~k?`'9q6 E|yayM^Om'fkC&<5x' ?A?Zx'jß={=SßM gVC.5+Hd֪xc^)Җufz{Cީ|D Vkznq|+Xa+{50rx{|OG.OϞ~f/ xxX[2H )c+#jpUOZYX\=SG ߨC|K@;_߆'e?LT?]:?>w ڔ`D^So~xo[Ӡ3i7B:Q8 Vc-ďoi:FM292~y_*_闱YN\Fr=xZ3鳎OwW_QEzW~c]REeaSM}}Hӏ4&.E]u=gMѠ+mF`rNn$w9gMa꺢nTuhf2Xv>އ a(Û6߭?<=>z'TQuw7Ŀ KX߁M2=S'TQt?.5Kko\.8S$TOX߀Gw?Zx汴X)C7~.i6(Щ=+4{mGӭ¸-]&'t_kV*I<1)4thtIsqpQJ+> \m^[aJ5)ny:4o&QEnyAEPEEss 72,PDۢ׃K W{Wjr+wگ iM/;pd?~&?@;7E4gv8 $l'z'TQuw7Ŀ Gֱ=ɿ&G?. iR(5W*$|?w᫼gkmIbHe/_t>tg%y.l}N5[]+Mk0ĠeHdPrsst'UiC,y8`V%9ZIia|ܪvi מYG,o}+kk{YbyIeb*sAtի82zWoEK5z*o-eo;n(P u-I)4Š(HQEQEQEQEhz(X/Đ?}Bk˩ ݏrk0]4>8XzV? }6$}d^F>nU K ?Bտk_9׾x~w'ߞ  uDŽtL ؈5c-E/"|_Oo.IH쐍=i*Iw5(ںw?t5s.)+tQ2dUt5Vĺ.jZ"@IRrZƅY4ߡ_;}ų(KyQf1Aǵt?sZg+?F5_oQR&Dg߿]6FuRD u>ڿxl7?IT8'shj^=.=J1rj1Wl$얲cPx;E,p$֟ˏkw qg"45(ǛkV/=+ũ)bYl~K#˝J_כ5&\F'I#8/|wʾ_Xj Q:os^T1.M_|TO.;?_  jF?g N 8nA2F%i =qW,G=5OU u8]Rq?wr'˻S+۾.ܼ 87Q^elo/T*?L|ۚ<%<,/v_OKs B5f/29n0=zqQq(ª=VX@*J(э(f5qJN_EVǞQEOuoѕOuoa5}gO?:߂8Wא|cڽ~]N&O( (<]>͠@VQ=^~U ̴m&\խ5i:}|}r~9՝f}_>'vVֲ$~^f30^in{\_.O F8to}?${φ|#x^#^n~w=~k~?'KRtO.㌡h![3Zu*ٷճ(ԟ]z_/W1(ԟ]v~g|Yq<ז0 ; b8֮s,w9\?uEyStKaª@\,)) (!EPEPEPEPEPzѧts{v>C/"N6`d*J2gGӧWqBq_1ZuΓ\X]r?=Ey88Mp&pKtO-"wR2 K^-Z< \c>V0^@O7x2WFjs<׻kZ(<Т(OFw/6$1[:ޯԯ#q~4|,LVPem=@=YLUxӃV}AUbcUB.Ds5*kٸAeG>PJxt͝ b88?*$~@ׯD VkraiJs}Q.20x&mXξ,Z]“A-J#`+-E/"<]\a'tZGy.(|lދ~gMK OZdxDŽU9T6ϯ^<Ϡt5CZ]].t۫S=s`ڳ%8iVK:nqe+#<.T6U>zWoy3^I {F?J~=G}k)K$$;$de8*G Uӟ4Ocºw}|]4=ݣ\x$ʠms?q^ipw\"ȿPs^Z Q_0GڼU.t}ROM[G#]8wٞ ӫ87}Cgw vHȩBM55vof =A_٭`Ygx[6 P,5}>蚊(0(+?>+?> k|TuXq6_ +szk :u_ Z߶Ak_U}Jc2u/1[_»ݸG41-bሬ۴}}Eȹפ_c?5gi @cL\L<68hF_Ih>X4K7UТ sMj =J7CKo>Օ5s:߀t ~ηaٿ?|gdL8+gG%o?x`دOqȱwc¨&TW_V_aI=dpG!wu۞սZ1yL50$(l3(:~'ַo A}a3N*[0ǭ HKQV}G@֜$ 9of$ArNqUOgË05#m?D)^_h//5_/<?4}Jį+GkpG4"$ r| >S4Ђ"S 1%R:ȝ 8;PKPz PKa9AOEBPS/dcommon/feedback.gif7GIF89a'%(hp|fdx?AN5:dfeDGHɾTdQc`g*6DC\?ؘ||{;=E6JUՄfeA= >@,4`H.|`a (Q 9:&[|ځ,4p Y&BDb,!2@, $wPA'ܠǃ@CO~/d.`I @8ArHx9H75j L 3B/` P#qD*s 3A:3,H70P,R@ p!(F oԥ D;"0 ,6QBRɄHhI@@VDLCk8@NBBL2&pClA?DAk%$`I2 #Q+l7 "=&dL&PRSLIP)PɼirqМ'N8[_}w;PK-PKa9AOEBPS/dcommon/booklist.gifGIF89a1޵֥΄kZ{Jk1Rs!BZ)B),@I9Z͓Ca % Dz8Ȁ0FZЌ0P !x8!eL8aWȠFD(~@p+rMS|ӛR$ v "Z:]ZJJEc{*=AP  BiA ']j4$*   & 9q sMiO?jQ = , YFg4.778c&$c%9;PKː5PKa9AOEBPS/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

PKN61PKa9AOEBPS/dcommon/masterix.gif.GIF89a1ޜΌscJk1Rs!Bc1J),@IS@0"1 Ѿb$b08PbL,acr B@(fDn 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,PKa9AOEBPS/dcommon/larrow.gif#GIF87a絵ƌֵƽ{{ss֜ƔZZ{{{{ZZssZZccJJJJRRBBJJJJ991111))!!{,@pH,Ȥrl:ШtpHc`  өb[.64ꑈ53=Z]'yuLG*)g^!8C?-6(29K"Ĩ0Яl;U+K9^u2,@@ (\Ȱ Ë $P`lj 8x I$4H *(@͉0dа8tA  DсSP v"TUH PhP"Y1bxDǕ̧_=$I /& .)+ 60D)bB~=0#'& *D+l1MG CL1&+D`.1qVG ( "D2QL,p.;u. |r$p+5qBNl<TzB"\9e0u )@D,¹ 2@C~KU 'L6a9 /;<`P!D#Tal6XTYhn[p]݅ 7}B a&AƮe{EɲƮiEp#G}D#xTIzGFǂEc^q}) Y# (tۮNeGL*@/%UB:&k0{ &SdDnBQ^("@q #` @1B4i@ aNȅ@[\B >e007V[N(vpyFe Gb/&|aHZj@""~ӎ)t ? $ EQ.սJ$C,l]A `8A o B C?8cyA @Nz|`:`~7-G|yQ AqA6OzPbZ`>~#8=./edGA2nrBYR@ W h'j4p'!k 00 MT RNF6̙ m` (7%ꑀ;PKl-OJPKa9AOEBPS/dcommon/index.gifGIF89a1޵ΥΥ{sc{BZs,@IM" AD B0 3.R~[D"0, ]ШpRNC  /& H&[%7TM/`vS+-+ q D go@" 4o'Uxcxcc&k/ qp zUm(UHDDJBGMԃ;PK(PKa9AOEBPS/dcommon/bookbig.gif +GIF89a$!!!)))111999BBBJJJRRRZZZccckkksss{{{skkB991)))!!B11))1!JB9B9!!cZ9ƭƽssk{ZZRccZRRJJJBBB9c!!ν)1)k{s絽ƌkssֽZccJRRBJJ{9BB)11)99!!))11!!k!JZ!)RcJccBcs)1c)JZ!BR!)BZ)99J!Rk9!c11B)Z{)9Bkc1kB9BZ!Z{9Rs)Jkksk9kB1s1Jk9Rƥc{k9s)Z{1k91)s1Rk)Jc1J!))BZ!1k{csc{)19B!)Bcsc{ksc{kZs!RkJkJkքc{9Zks{ck9R)Bks9R9R1J!)Z1B!)c)9)99BR19kksBBJcc{ccBBZ))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{ZZRccZRRJJJBBB9c!!ν)1)k{s絽ƌkssֽZccJRRBJJ{9BB)11)99!!))11!!k!JZ!)RcJccBcs)1c)JZ!BR!)BZ)99J!Rk9!c11B)Z{)9Bkc1kB9BZ!Z{9Rs)Jkksk9kB1s1Jk9Rƥc{k9s)Z{1k91)s1Rk)Jc1J!))BZ!1k{csc{)19B!)Bcsc{ksc{kZs!RkJkJkքc{9Zks{ck9R)Bks9R9R1J!)Z1B!)c)9)99BR19kksBBJcc{ccBBZ))9kk!!199c11ZBB{9!!R!!Z!!c))!!kR!!s!!BcksRZ1c9B)R91c1)Z!R9B9k1)RcZ{)!1B9JB9B)!)J9BH`\Ȑ:pظа"A6DBH,V@Dڹ'G"v Æ ܥ;n;!;>xAܽ[G.\rQC wr}BŊQ A9ᾑ#5Y0VȒj0l-GqF>ZpM rb ;=.ސW-WѻWo ha!}~ْ ; t 53 :\ 4PcD,0 4*_l0K3-`l.j!c Aa|2L4/1C`@@md;(H*80L0L(h*҇҆o#N84pC (xO@ A)J6rVlF r  fry†$r_pl5xhA+@A=F rGU a 1х4s&H Bdzt x#H%Rr (Ѐ7P`#Rщ'x" #0`@~i `HA'Tk?3!$`-A@1l"P LhʖRG&8A`0DcBH sq@AXB4@&yQhPAppxCQ(rBW00@DP1E?@lP1%T` 0 WB~nQ@;PKGC PKa9AOEBPS/dcommon/rarrow.gif/GIF87a絵ƌֵƽ{{ss֜ƔZZ{{{{ZZssZZccJJJJRRBBJJJJ991111))!!{,@pH,Ȥrl:ШLlԸ NCqWEd)#34vwwpN|0yhX!'+-[F 'n5 H $/14w3% C .90" qF 7&E "D mnB|,c96) I @0BW{ᢦdN p!5"D`0 T 0-]ʜ$;PKJV^PKa9AOEBPS/dcommon/mix.gifkGIF89aZZZBBBJJJkkk999sss!!!111cccֽ{{{RRR)))猌ƭ{s{sks!,@@pH,B$ 8 t:<8 *'ntPP DQ@rIBJLNPTVEMOQUWfj^!  hhG H  kCúk_a Ǥ^ h`B BeH mm  #F` I lpǎ,p B J\Y!T\(dǏ!Gdˆ R53ټ R;iʲ)G=@-xn.4Y BuU(*BL0PX v`[D! | >!/;xP` (Jj"M6 ;PK枰pkPKa9AOEBPS/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 PKa9AOEBPS/dcommon/toc.gifGIF89a1ΥΥ{c{Z{JkJk1Rk,@IK% 0| eJB,K-1i']Bt9dz0&pZ1o'q(؟dQ=3S SZC8db f&3v2@VPsuk2Gsiw`"IzE%< C !.hC IQ 3o?39T ҍ;PKv I PKa9AOEBPS/dcommon/topnav.gifGIF89a1ֽ筽ޭƔkZZk{Bc{,@ ) l)-'KR$&84 SI) XF P8te NRtHPp;Q%Q@'#rR4P fSQ o0MX[) v + `i9gda/&L9i*1$#"%+ ( E' n7Ȇ(,҅(L@(Q$\x 8=6 'נ9tJ&"[Epljt p#ѣHb :f F`A =l|;&9lDP2ncH R `qtp!dȐYH›+?$4mBA9 i@@ ]@ꃤFxAD*^Ŵ#,(ε  $H}F.xf,BD Z;PK1FAPKa9AOEBPS/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( # PKa9AOEBPS/dcommon/bookicon.gif:GIF87a!!!)))111999BBBJJJRRRZZZccckkksss{{{ޭ{{ZRRcZZRJJJBB)!!skRB9{sν{skskcZRJ1)!֭ƽ{ZZRccZJJBBB999111)JJ9BB1ZZB!!ﭵBJJ9BB!!))Jk{)1!)BRZJ{BsR!RRJsJ!J{s!JsBkks{RsB{J{c1RBs1ZB{9BJ9JZ!1BJRRs!9R!!9Z9!1)J19JJRk19R1Z)!1B9R1RB!)J!J1R)J119!9J91!9BkksBBJ119BBR!))9!!!JB1JJ!)19BJRZckތ1)1J9B,H*\hp >"p`ƒFF "a"E|ժOC&xCRz OBtX>XE*O>tdqAJ +,WxP!CYpQ HQzDHP)T njJM2ꔀJ2T0d#+I:<жk 'ꤱF AB @@nh Wz' H|-7f\A#yNR5 /PM09u UjćT|q~Yq@&0YZAPa`EzI /$AD Al!AAal 2H@$ PVAB&c*ؠ p @% p-`@b`uBa l&`3Ap8槖X~ vX$Eh`.JhAepA\"Bl, :Hk;PKx[?:PKa9AOEBPS/dcommon/conticon.gif^GIF87a!!!)))111999BBBJJJRRRZZZccckkksss{{{ZRR޽{{ssskkkcccZ991ccRZZBBJJZck)19ZcsBJZ19J!k{k)Z1RZs1!B)!J91{k{)J!B!B911)k{cs!1s!9)s!9!B!k)k1c!)Z!R{9BJcckZZcBBJ99B119{{!!)BBRBBZ!))999R99Z!!999c1!9!)19B1)!B9R,  oua\h2SYPa aowwxYi 9SwyyxxyYSd $'^qYȵYvh ч,/?g{н.J5fe{ڶyY#%/}‚e,Z|pAܠ `KYx,ĉ&@iX9|`p ]lR1khٜ'E 6ÅB0J;t X b RP(*MÄ!2cLhPC <0Ⴁ  $4!B 6lHC%<1e H 4p" L`P!/,m*1F`#D0D^!AO@..(``_؅QWK>_*OY0J@pw'tVh;PKp*c^PKa9AOEBPS/dcommon/blafdoc.cssL@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ʍPKa9AOEBPS/dcommon/rightnav.gif&GIF89a1ֽ筽ޭƔkZZk{Bc{,@ ) l)- $CҠҀ ! D1 #:aS( c4B0 AC8 ְ9!%MLj Z * ctypJBa H t>#Sb(clhUԂ̗4DztSԙ9ZQҀEPEPEPEPEPEPEPM=iԍP Gii c*yF 1׆@\&o!QY00_rlgV;)DGhCq7~..p&1c:u֫{fI>fJL$}BBP?JRWc<^j+χ5b[hֿ- 5_j?POkeQ^hֿ1L^ H ?Qi?z?+_xɔŪ\썽O]χ>)xxV/s)e6MI7*ߊޛv֗2J,;~E4yi3[nI`Ѱe9@zXF*W +]7QJ$$=&`a۾?]N T䏟'X)Ɣkf:j |>NBWzYx0t!* _KkoTZ?K Gc+UyڹgNuh^iSo5{\ܹ3Yos}.>if FqR5\/TӮ#]HS0DKu{($"2xִ{SBJ8=}Y=.|Tsц2UЫ%.InaegKo z ݎ3ֹxxwM&2S%';+I',kW&-"_¿_ Vq^ܫ6pfT2RV A^6RKetto^[{w\jPZ@ޢN4/XN#\42j\(z'j =~-I#:q[Eh|X:sp* bifp$TspZ-}NM*B-bb&*xUr#*$M|QWY ~p~- fTED6O.#$m+t$˙H"Gk=t9r娮Y? CzE[/*-{c*[w~o_?%ƔxZ:/5𨴟q}/]22p qD\H"K]ZMKR&\C3zĽ[PJm]AS)Ia^km M@dК)fT[ijW*hnu Ͳiw/bkExG£@f?Zu.s0(<`0ֹoxOaDx\zT-^ѧʧ_1+CP/p[w 9~U^[U<[tĽwPv[yzD1W='u$Oeak[^ |Gk2xv#2?¹TkSݕ| rݞ[Vi _Kz*{\c(Ck_܏|?u jVڔ6f t?3nmZ6f%QAjJf9Rq _j7Z-y.pG$Xb]0')[_k;$̭?&"0FOew7 z-cIX岛;$u=\an$ zmrILu uٞ% _1xcUW%dtÀx885Y^gn;}ӭ)場QEQ@Q@Q@Q@Q@Q@!4xPm3w*]b`F_931˜[ן+(> E ly;<;MF-qst+}DH @YKlLmؤciN<|]IU)Lw(8t9FS(=>og<\Z~u_+X1ylsj'eՃ*U3`C!N9Q_WܱhKc93^ua>H ƕGk=8~e#_?{ǀe-[2ٔ7;=&K挑5zsLdx(e8#{1wS+ΝVkXq9>&yஏh$zq^0~/j@:/«Vnce$$uoPp}MC{$-akH@ɫ1O !8R9s5ԦYmϧ'OUṡ5T,!Ԛ+s#1Veo=[)g>#< s)ƽُA^䠮ωFUj(ǩ|N3Jڷ睁ϱuږZYGOTsI<&drav?A^_f׻B$,O__ԿC`it{6>G׈C~&$y؎v1q9Sc1fH[ѽ>,gG'0'@Vw,BO [#>ﱺg5ΒFVD%Yr:O5 Tu+O멃]ی38Ze}R&ѝ_xzc1DXgس;<,_,{ƽY'AS#oF.M#~cBuEx7G+Y)(5q+GCV;qF+CLQ)qEC&6z𿊘z}?&w=+)??&\g{;V??׻xGœdٿ׼-Nc')3K]N)iLTӿCdb7Q^a N sd>Fz[0S^s'Zi 77D}kWus ab~~H(>.fif9,~|Jk;YN3H8Y(t6Q݉k͇_÷Z+2߄&[ +Tr^藺97~c܎=[f1RrBǓ^kEMhxYVm<[џ6| kqbѱ| YA{G8p?\UM7Z66 g1U1igU69 u5Pƪ:VVZC=[@ҹ¨$kSmɳО\vFz~i3^a Osŧυ9Q}_3 όO{/wgoet39 vO2ea;Ύ7$U#?k+Ek&dpzbӱ+TaB0gN{[N7Gי}U7&@?>Fz~E!a@s ?'67XxO*!?qi]֏TQN@tI+\^s8l0)2k!!iW8F$(yOּT.k,/#1:}8uT˾+5=O/`IW G֯b.-<= HOm;~so~hW5+kS8s.zwE| ?4ӿw/K N 9?j(#0UT` Wzw}:_*9m>󑓀F?ELzv=8q:=WgJ`nDr Zе<ֹ](Q@Q@Q@Q@Q@Q@Q@Q@ 'IdC0EYJVcMty_~u+Sw-aO n<[YJgL#6i g5ЖDZ14cʝ!!\/M}/_AYR__>oC? _?7_G#RERW쏞KB}JxGSkǕA pƱơP m]hwB7U$Zq M95"3q1ioATߚ{g.t uu2k=;h#YB= fgS :TdLԃ!44mFK{Hrd^7oz|BVr<{)6AXգV»|>*/hS܏z͆OM=Εq (s|s׊LKQI :9NJ)P+!ʣoAF>+=@I}"x/}۠1aנc¹4emC:>p_xWKX` >R3_S½èųp3޺u3N e یbmͺ<_ mnݮ1Op?Gm)Qb%N585'%Ahs\6yw!"&Ɨ._wk)}GP;Z!#\"< *oƾ\)}N>"լ/~]Lg}pBG X?<zZ#x69S=6) jzx=y9O&>+e!!? ?s~k5Gʏ)?*ce7Ox~k5􇔾Q/e7/Ԑ#3OgNC0] ;_FiRl>Q.g>!%k#ú:Kn'&}?U@\pџPtp)v<{_i}Oվֲ3XIYIx~b<D?(=_JXH=bbi=Oh?_ C_O)}oW쏜? %Ƶ;-RYFi`wۭ{ϖZMtQ$"c_+ԃx1*0b;ԕ݋ESQEQEQEQEQEQEQEQEQEQZ(1F)h1K@XLRE&9P (bf{RӨ&)PEPEPbԴPGKZ(iإbn(:A%S0(-&)P+ ڎԴP11F)h&:LRmQ@Q@Š(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((PKje88PKa9AOEBPS/dcommon/help.gif!GIF89a1εֵ֜֜{kZsBc{,@ )sƠTQ$8(4ʔ%ŌCK$A HP`$h8ŒSd+ɡ\ H@%' 6M HO3SJM /:Zi[7 \( R9r ERI%  N=aq   qƦs *q-n/Sqj D XZ;PKއ{&!PKa9A OEBPS/toc.htm6> Table of Contents

Contents

Title and Copyright Information

Preface

1 Introduction to SQL*Module

2 Module Language

3 Accessing Stored Procedures

4 Developing the Ada Application

5 Running SQL*Module

6 Demonstration Programs

A New Features

B Module Language Syntax

C Reserved Words

D SQLSTATE Codes

E System-Specific References

Index

PK o66PKa9AOEBPS/appb.htm Module Language Syntax

B Module Language Syntax

This appendix describes the syntax of Module Language, using syntax diagrams.

For the complete syntax of all SQL statements, including syntax diagrams, see Oracle Database PL/SQL Language Reference.

Module Language Syntax Diagrams

Syntax diagrams use lines and arrows to show how procedure names, parameters, and other language elements are sequenced to form statements. Follow each diagram in the direction shown by the lines and arrows.

In these syntax diagrams, Module Language keywords appear in uppercase; parameters or other variable items appear in lowercase. Delimiters and terminators (such as '(', ',', and so on) appear in their literal form inside circles.

If the syntax diagram contains more than one possible path, you must select the path appropriate to your application.

If you have the choice of more than one keyword or parameter, your options appear in a vertical list. If any of the parameters in a vertical list appears on the main path, then one of them is required. That is, you must choose one of the parameters, but not necessarily the one that appears on the main path.

Single required parameters appear on the main path, that is, on the horizontal line you are currently traveling. If parameters appear in a vertical list the main path, they are optional, that is, you need not choose one of them. In the AUTHORIZATION clause of the module preamble, the username is mandatory, but the password and database to connect to are optional, as shown in this diagram:

Description of adaauth.gif follows
Description of the illustration adaauth.gif

Loops let you repeat the syntax contained within them as many times as you like.

Here is the syntax diagram for a module:

Description of adamod.gif follows
Description of the illustration adamod.gif

Thus, a module consists of a preamble, followed by zero or more cursor declarations, followed by one or more procedures.

Preamble

The syntax of the preamble is:

Description of adapre.gif follows
Description of the illustration adapre.gif

LANGUAGE Clause

The following diagram shows the syntax of the optional language clause (lang_clause) of the preamble:

Description of adalang.gif follows
Description of the illustration adalang.gif

AUTHORIZATION Clause

The following diagram shows the syntax of the AUTHORIZATION clause:

Description of adaauth.gif follows
Description of the illustration adaauth.gif

Cursors

The syntax of the cursor declaration is:

Description of adacur.gif follows
Description of the illustration adacur.gif

Procedure Definitions

The SQL92 syntax for a procedure definition is:

Description of adaproc.gif follows
Description of the illustration adaproc.gif

where the parameter list is defined as:

Description of adapar.gif follows
Description of the illustration adapar.gif

Where type_dcl is defined as:

Description of adatyp.gif follows
Description of the illustration adatyp.gif

Length L has values: 1< L<32500. n is the size of the array.

You can place the SQLSTATE or the SQLCODE status parameters anywhere in the parameter list; they are conventionally shown at the end of the parameter list in this Guide, as indicated in this syntax diagram. You must include either SQLSTATE (recommended) or SQLCODE (for backward compatibility with SQL89). You can include both, in any order. Do not place a colon before the status parameter, and do not include a datatype after it.

WITH INTERFACE CLAUSE

The syntax of a procedure declaration that includes a WITH INTERFACE clause is formally defined as:

Description of adawith.gif follows
Description of the illustration adawith.gif

The int_param_formal_name is defined as:

Description of adaipfn.gif follows
Description of the illustration adaipfn.gif

The SQL datatype in the WITH INTERFACE clause must be compatible with the corresponding PL/SQL datatype in the procedure declaration parameter list.

The syntax of the mode attribute is:

Description of adamode.gif follows
Description of the illustration adamode.gif

If mode is omitted, the value is IN.

PKܖyPKa9AOEBPS/ch_five.htm Running SQL*Module

5 Running SQL*Module

This chapter describes

SQL*Module Input and Output

This section reviews the different ways that you can use the SQL*Module compiler. This material was discussed in detail in Chapter 2, "Module Language" and Chapter 3, "Accessing Stored Procedures"; here it is presented in terms of the ways that you run the compiler, using the command-line options to get different SQL*Module functionality.

Input sources

Input to the compiler can come from two sources:

You use a standard text editor to create module files, just as you would create a host language application.

Stored procedures can be standalone procedures, or they can be encapsulated in a stored package. You normally create PL/SQL code for stored packages and procedures using a text editor, and then store it in a database using an Oracle tool such as SQL*Plus. You can also use SQL*Module to encapsulate Module Language procedures in a package, and store them in the database.

Output Files

The output source file is always the host language code file that SQL*Module generates from the input source. There are also other output files, such as the listing file and specification file. You can run SQL*Module and generate no output source file, for example if you just want to store procedures in the database from a Module Language input file, or you just want to generate a listing file.

You compile output source files using the host language compiler, and link the resulting object files together with the host application's object files to produce the executable program. See the section "Compiling and Linking" for more information about handling output files.


Note:

While many of the examples in this chapter assume, for simplicity, that the input and output files are in the same directory, this does not have to be the case. Input and output files can be in separate directories, and you can use the various NAME options to specify the source of input, or the destination of output.

Determining the Input Source

There are three sources of input for SQL*Module, and four ways to determine the input:

  1. When compiling a module written in Module Language, the source is the Module Language code file.

  2. When generating RPC stubs from stored procedures, there is no input file. The source of the input is the stored package in the database.

  3. When creating a stored package in the database from a Module Language module file, the source is the Module Language file.

  4. You can combine methods 1 and 2 in one invocation of SQL*Module. A package in the database is created from the Module Language module file, and an output file that contains RPC stubs to call the database package procedures is produced.

Methods 1 and 4 are the most common ways to use SQL*Module. Method 1 is described in Chapter 2, "Module Language" of this Guide, method 2 in Chapter 3, "Accessing Stored Procedures". Methods 3 and 4 are much more specialized, and are described in Chapter 3, "Accessing Stored Procedures".

STORE_PACKAGE

Determines whether SQL*Module should store a package in the database.

RPC_GENERATE

Determines whether an interface procedure output file is produced. When you specify the option RPC_GENERATE as YES, the option PNAME specifies the name of the package in the database that provides the input source.

Table 5-1 shows the how the command-line option values for STORE_PACKAGE and RPC_GENERATE, together with the values for INAME and PNAME, determine the input source.

Table 5-1 Datatypes

Input SourceOptions

STORE_

PACKAGE

RPC_

GENERATE

INAME

PNAME

(1) Module source file

=NO

=NO

Module file name

N/A

(2) Procedure already stored in database

=NO

=YES

N/A

Stored package or procedure name

(3) Module file to create SPs in database

=YES

=NO

Module file name

Database package name (if not specified, becomes same as module filename)

(4) Store module procedures, then do (2)

=YES

=YES

Module file name

Database package name (if not specified, becomes same as module filename)


See the section "Command-Line Options" for a detailed description of these options. See the section "Compiling and Linking", for examples that show you how you can use these options. For an explanation of the default file naming conventions, see the sections "Input Files" and "Output Files".

Invoking SQL*Module

You can run the SQL*Module compiler interactively from the operating system command line, from a command in a batch file, or for some operating systems, a makefile. The way you invoke the compiler can be system dependent. See your system-specific Oracle documentation to find out the location on your system of the compiler and associated files, such as configuration files and the SQL runtime library.

Running the Compiler

The name of the SQL*Module compiler itself is modada for Ada. The SQL*Module compiler can be invoked from the operating system command line as follows:

modada  <option=value> ... 

where <option=value> is a command-line argument. For example, the command

modada iname=my_test1.mad oname=my_test1_mod.a userid=modtest 

compiles the module file my_test1.mad to produce an output file called my_test1_mod.a. The username is modtest. In this example no password was provided on the command line. As a result, SQL*Module prompts you for one when it starts. SQL*Module requires a valid username and password to compile a Module Language file. The objects referenced in the cursors and procedures in the Module file must be available in the schema named (MODTEST in this example) when you run SQL*Module.

When you use SQL*Module to generate interface procedure files that call stored procedures in the database, you must specify the same USERID as the schema that owns the stored procedures.

Case Sensitivity in Program Names, Option Names, and Values

For operating systems that are case sensitive, such as UNIX, the names of the executables are normally in lowercase. For all systems, the names of the options and their values are not case sensitive. In this Guide, the option name is in uppercase, and the value is in lower case. However, when the option value is a filename, and your operating system is case-sensitive, you must enter the filename using the correct combination of upper and lowercase

Listing Options and Default Values

If you provide no command-line arguments, or the only argument is '?', the compiler prints a list of all the options available, with their current default values. For example, the command

modada ?

runs the SQL*Module compiler for Ada and lists each option with its default value. See "Default Values" for information on what determines the defaults. (Be sure to escape the '?' using '\' if you are running on a UNIX system and you are using the C shell.)

If you just want to see the default value for a single option, you can issue the command:

modada <OPTION>=?

For example, the command

modada OUTPUT=? 

shows the default values for the OUTPUT option for the SQL*Module compiler for Ada.

modada

produces a short help display.

A complete description of each option is given later in this chapter.

How to Specify Command-Line Options

The value of an option is a string literal, which can represent text or numeric values. For example, for the option

INAME=my_test 

the value is a string literal that specifies a filename. But for the option

MAXLITERAL=400 

the value is numeric.

Some options take Boolean values, and these may be represented with the strings "yes" or "no", or "true" or "false" (in upper or lowercase). For example:

...  STORE_PACKAGE=YES 

is equivalent to

...  STORE_PACKAGE=true 

both of which mean that the results of the compilation should be stored as a package in the database.

The option value is always separated from the option name by an equals sign, with no whitespace between the name or the value and the equals sign.

Value Lists

Some options can take multiple values. Multiple option values are specified in a list. The list is a comma-delimited list of values with surrounding parentheses. Do not put any whitespace in the list. The following option specifies that SQL*Module should generate source code and specification output files, but not listing files:

...  OUTPUT=(CODE,SPECIFICATION) 

A value list completely supersedes the value list specified by a previous default or option value list. For example, if the system configuration file contains the line

OUTPUT=(CODE,SPECIFICATION,LIST) 

and there is no user configuration file, and the command line contains the option

...  OUTPUT=(CODE,LIST) 

then the value of OUTPUT is (CODE,LIST). See the section "Configuration Files" for how default values are determined.

If a list-valued option is specified with a single value, that is not in parentheses, the single value is added to the current default list. For example, if the system configuration file contains the line

OUTPUT=(CODE,SPECIFICATION) 

there is no user configuration file that has an OUTPUT= option, and the command line contains the option

...  OUTPUT=LIST 

then "LIST" is appended to the default list, so the value of OUTPUT is (CODE,SPECIFICATION,LIST).

Note: If NONE is a member of the OUTPUT list, then nothing would be generated, regardless of other entries in the list.

Default Values

Most of the options have default values. Three things determine the default value:

  • values built into the SQL*Module compiler

  • values set in the system configuration file

  • values set in a user configuration file

For example, the option MAXLITERAL specifies the maximum length of strings generated by SQL*Module. The built-in SQL*Module default value for this option is 255 bytes. However, if MAXLITERAL=512 is specified in the system configuration file, the default now becomes 512. The user configuration file could set it to yet another value, which then overrides the system configuration value. Finally, if this option is set on the command line, that value will take precedence over the SQL*Module default, the system configuration file specification, and the user configuration file specification. See "Configuration Files" for more information about these files.

Some options, such as USERID, do not have a built-in default value. The built-in default values for options that have them are listed in the section "Command-Line Options".

Configuration Files

A configuration file is a text file that contains SQL*Module options. Each record or line in the file contains one option, with its associated value or list of values. For example, a configuration file might contain the lines

BINDING=LATE
USERID=MODTEST 

to set defaults for the BINDING and USERID options.


Note:

You cannot put comments in a configuration file; there is no character or character combination that lets you comment out a line.

There is one systemwide configuration file associated with each system. The system configuration file is usually maintained by the project or group leader, or the database administrator. The location of this file is system specific. For more information, see your project leader, or your system-specific Oracle documentation.

If there is no system configuration file, the compiler prints a warning message, but compilation continues normally.

In addition, each SQL*Module user can have one or more user (or local) configuration files. To activate the user configuration file, its name and path must be specified using the CONFIG= command-line option. See "Command-Line Options". The user configuration file is optional.

The CONFIG= option never specifies the system configuration file. The location of the system configuration file is built into the SQL*Module compiler, and can vary from system to system.

Input Files

A SQL*Module input file is a text file containing Module Language statements. You specify the input filename using the INAME= command-line option.

Input files have default file extensions, also referred to as filetypes in some operating systems. However, not all operating systems support file extensions. If your system does not support file extensions, the last few characters of the filename might serve as the extension. Refer to your operating system documentation and to your system-specific Oracle documentation for more information about filenames and file extensions.

If you do not specify an extension for the module input file, and your operating system uses file extensions, the compiler assumes a default extension, .mad.

Output Files

SQL*Module can generate four types of output files:

  • a source code file

  • a specification (or header) file

  • a listing file

  • a PL/SQL source file for a stored procedure or a package

Source code files contain generated code in the host language. modada generates Ada code. Specification or header files contain declarations for the procedures in the code files

Source Code Output File

This file contains the host language code produced by the compiler. It is a source file in the host language, and you must compile it using your host language compiler to produce an object module. The object modules are in turn linked with the application's object modules and the SQL runtime library to form the executable program.


Note:

Oracle recommends that you name output files explicitly, either in a configuration file or on the command line.

Default File Names for Ada

If you do not specify an output code filename when you run modada, the output code filename defaults to a system-specific name. For example, on Sun workstations running the Solaris 1.0 Sun Ada compiler, the command

modada iname=my_test1.mad

generates an output code file named my_test1.a. On other platforms, a different name might be generated. See your system-specific Oracle documentation for complete information.

Specification File

By default, modada generates a specification or header file. The specification file contains declarations for the procedures in the generated output file.

Default Specification Filenames for Ada

The default specification filename is the name of the input file, or the package name, followed by a system-dependent appendix, followed by a system-dependent file extension. For example, on a Sun workstation running Solaris 1.0, the command

modada iname=my_test1.mad

generates a default specification output file with the name my_test1s.a. This is the value of iname minus the extension, with "s" appended.

On other platforms, the filename appendix and the filename extension might be different. See your system-specific Oracle documentation for complete information.

See Chapter 6, "Demonstration Programs" for language-dependent information about the content of specification files.

Listing File

If OUTPUT=LIST, SQL*Module produces a listing of the Module Language source code, with errors, if any, flagged. Error codes and messages are interspersed in the list file, at the point where the SQL*Module parser first detected the error. The line length in the listing file defaults to 255 characters. If no end-of-line character is received before 255 characters are received, a system-specific end-of-line character or character sequence is output.

PL/SQL Source Files

When you are generating interface procedure files from a stored package or procedure, and you specify the option OUTPUT=PACKAGE, SQL*Module generates PL/SQL source code output files. If the output is from a package, two files are generated. One file has the default file extension .pks, and contains the package specification code. The second file has the default extension .pkb, and contains the package body code. See the Oracle Database PL/SQL Language Reference for more information on package specifications and package bodies.

Avoid Default Output Filenames

Use the ONAME and SNAME options to generate nondefault output filenames. They are described later.

Oracle strongly recommends that you use these options, rather than letting the output filenames be generated by default.

Command-Line Options

When an option is entered on the command line, its value overrides SQL*Module defaults, any values specified in a configuration file, or values specified in a module file (for example, the AUTHORIZATION clause). The order of precedence is

  • command-line options

  • statements in the module file preamble

  • user configuration file options

  • system configuration file options

  • default options built into the compiler

The format of a command-line option is:

OPTION_NAME=VALUE 

There should be no whitespace around the equals sign. For example:

modada INAME=my_app3_mod ONAME=my_app3_mod SNAME=my_app3_pkg 

compiles the input file my_app3_mod.mad to produce an output file named my_app3_mod.a, and a specification file named my_app3_mod_pkgs.a.


Note:

The actual filename extensions are system specific. See your system-specific Oracle documentation for more information.

If the option can take a list of values and more than one value is being supplied, a comma-delimited list of values is placed inside parentheses. For example:

OUTPUT=(CODE,SPECIFICATION) 

There should be no whitespace anywhere in the list.

The names as well as arguments of the command-line options can be abbreviated. Instead of

OUTPUT=SPECIFICATION 

you could enter

OUT=SPEC 

or even

OU=SP 

since neither "OU", "SPEC", nor "SP" is ambiguous. Filenames and package names cannot be abbreviated.

The command-line options, together with their default values, are listed in Table 5-2, and are described in the remainder of this chapter.

Table 5-2 The Command-line options

Option NameOption PurposeValues

AUTO_CONNECT

Connect on first SQL statement if not already connected

YES | NO

BINDING

Early or late binding?

EARLY | LATE

CONFIG

Name of a user configuration file

<filename>

ERRORS

Destination of error messages

YES | NO

FIPS

Turns on FIPS flagger

YES | NO

INAME

Name of input file

<filename>

LNAME

Name of listing file

<filename>

LTYPE

Kind of listing file

NONE | SHORT | LONG

MAPPING

Resolves overloaded procedure names for the default WITH INTERFACE PROCEDURE clause

( ) | OVERLOAD

MAXLITERAL

Maximum length of string literal in generated host language code

10..1024

ONAME

Name of source code output file

<filename>

OUTPUT

Kinds of output files generated

One of, or list of two or more of (NONE | CODE | SPECIFICATION | LIST | PACKAGE

PNAME

Name of package in the database

<package_name>

RPC_GENERATE

Generate stubs from stored package or procedure?

YES | NO

SELECT_ERROR

Should a query returning more than one row generate a runtime error?

YES | NO

SNAME

Name of specification output file

<filename>

SQLCHECK

Kind of compile-time checking done

NONE | SYNTAX | SEMANTICS

STORE_PACKAGE

Store module as a package in the database

YES | NO

USERID

Username and password

<string>


AUTO_CONNECT

Values

{YES | NO}

Default Value

NO

Meaning

If AUTO_CONNECT=YES, and you are not already connected to a database, when SQLLIB processes the first executable SQL statement, it attempts to connect using the userid

OPS$<username>

where username is your current operating system user or task name and nullusername is a valid Oracle userid.

When AUTO_CONNECT=NO, you must use the CONNECT statement to connect to Oracle.

Can be entered only on the command line or in a configuration file.

BINDING

Values

{EARLY | LATE}

Default Value

EARLY

Meaning

The BINDING option is used when generating interface procedure files, that is, when RPC_GENERATE=YES. Early binding means that a time stamp is derived from the time of compilation of the stored procedure, and the time stamp is saved in the interface procedures file.

When a stored procedure is called through a stub (specified in the interface procedures file), if the current time stamp on the procedure in the database is later than that specified in the stub, the message "time stamp of <stored procedure name> has been changed" (ORA-04062) is returned.

The stored package must have WITH INTERFACE clauses specified for each procedure when RPC_GENERATE=YES, regardless of whether you choose early or late binding using the BINDING option. See the section "Early and Late Binding" for more information.

CONFIG

Values

<filename>

Default Value

None.

Meaning

Specifies the name of a user configuration file that contains options. The user configuration file is a text file. Each option in the file must be on a separate line (record).

ERRORS

Values

{YES | NO}

Default Value

YES

Meaning

Specifies the destination for error message output. If ERRORS=YES, the output is both to the terminal and to the listing (.lis) file. If ERRORS=NO, error messages are sent only to the listing file.

FIPS

Values

{YES | NO}

Default Value

NO

Meaning

Specifies whether instances of non-compliance with the ANSI/ISO SQL standards will be flagged at compile time. If FIPS=YES, Oracle extensions to standard Module Language and standard SQL, as well as use of standard constructs in ways that violate the SQL standard format or syntax rules, are flagged by the FIPS flagger.

INAME

Values

<filename>

Default Value

None.

Meaning

Specifies the name of the input file. If the specified filename does not contain an extension, the compiler supplies the default extension for the host language. Only one input file is allowed. If more than one INAME option is specified, the last one prevails, and the earlier ones are ignored.

If STORE_PACKAGE=NO and the PNAME option is specified, the INAME option cannot be specified. In this case, there is no input file, since the input comes from the stored package. If INAME is specified under these circumstances, SQL*Module generates a warning message and continues, if possible.

LNAME

Values

<filename>

Default Value

The base name of the listing file first defaults to the base name of INAME or, if INAME is not specified, it defaults to the name of the package specified in the PNAME option. The default file extension is .lis.

Meaning

Specifies the name of the listing file. This option is valid only if the LTYPE option is not NONE.

LTYPE

Values

{NONE | SHORT | LONG}

Default Value

LONG

Meaning

Specifies the listing type. The OUTPUT option list must contain the VALUE LIST, otherwise this option has no effect.

If the LTYPE value is NONE, no list file is generated, regardless of the setting of the OUTPUT option. If the LTYPE value is SHORT, the list file contains no code, only error messages. LTYPE=LONG generates a complete listing file, with errors and code.


Note:

When INAME is specified, the listing file shows Module Language code, not the generated host language code. When compiling an interface procedure, the listing output contains only error messages, regardless of the LTYPE specification. See the OUTPUT option for more information on how to generate PL/SQL output source.

MAPPING

Values

( ) | OVERLOAD

where ( ) indicates an empty string.

Default Value

Empty string.

Meaning

The MAPPING option is used when generating prototypes for the default WITH INTERFACE PROCEDURE clause. See "The Default WITH INTERFACE Clause" for more information.

When MAPPING=OVERLOAD, SQL*Module resolves overloaded stored procedure and function names when generating stubs. It does this by prefixing MODn_ to the second and subsequent procedure names, where n starts with 2, and increments by 1 until all stubs for all overloaded procedures of that name have been resolved.

MAXLITERAL

Values

Numeric literal, range 10 to 1024 bytes

Default Value

255 bytes

Meaning

Specifies the maximum length of string literals generated by the SQL*Module compiler, so that host language compiler limits are not exceeded. For example, if your system's compiler cannot handle string literals longer than 512 bytes, specify MAXLITERAL=512 in the system configuration file.

ONAME

Values

<filename>

Default Value

The base name of the output file first defaults to the base name of INAME. If INAME is not specified, then ONAME defaults to the name of the package specified in the PNAME option, if present. The default file extension is system dependent, but is generally .a. The default output directory is the current directory.

Meaning

Specifies the name of the code output file. Whether an output file is actually generated depends on the values of the OUTPUT option. The OUTPUT list must contain the value CODE.

OUTPUT

Values

Any one or more of CODE, LIST, NONE, PACKAGE, SPECIFICATION

Default Values

CODE, SPECIFICATION

Meaning

Specifies what output files SQL*Module generates. The values are

CODE An interface procedures file is generated.

LIST A listing file is generated. See the LNAME and LTYPE options for more information.

NONE No files are generated. This option is used to do syntactic and semantic checking of the input file, as error output is always generated.

PACKAGE PL/SQL source files are generated. These files contain the PL/SQL package generated by SQL*Module. The default base filename is the same as the name specified in either the INAME or the PNAME option. If both are specified, the default is taken from INAME.

The default extensions are .pks (package specification) and .pkb (package body).

SPECIFICATION A specification file containing procedure declarations is generated. The filename extension is language specific. See "Output Files" for more information.

Note: If the value NONE is included in the list, then no output of any kind is generated, regardless of any other values that might be in the list.

PNAME

Values

Name of a stored package or a standalone stored procedure in the Oracle database, or the name to be given to a stored package to be created in the database when STORE_PACKAGE=YES.

Default Value

For Output (when RPC_GENERATE=YES) There is no default value. You must specify the name of a package in the database. However, you can specify a complete path name, including an extension, to serve as a default for ONAME. In this case, the directory hierarchy and the filename extension are ignored, and the basename is taken as the package name for database lookup.

For Input (when STORE_PACKAGE=YES) The default value is the module name in the MODULE clause of the input file. If there is no module name, the default is taken from the INAME value.

Meaning

Specifies the name of the package stored in the database (if STORE_PACKAGE=NO), or the name of a package to be created by SQL*Module (if STORE_PACKAGE=YES). The name must be a valid database object name.

RPC_GENERATE

Values

{YES |NO}

Default Value

NO

Meaning

Specifies whether SQL*Module should produce an interface procedures file so that a host program can call stored procedures. You can use this option with STORE_PACKAGE=NO and PNAME=<package_name> to generate interface procedures for standalone or packaged procedures that are already stored in the database. You can also use this option with INAME=<filename> and STORE_PACKAGE=YES to store procedures in a module file in the database, and generate an interface procedures file to access them.

SELECT_ERROR

Values

{YES | NO}

Default Value

YES

Meaning

Specifies whether an error is generated at runtime when a SELECT or FETCH statement returns more than one row.

SNAME

Values

<filename>

Default Value

The base name of the input file, if specified, plus the appropriate extension for a specification file for the host language. For Ada, a system-specific filename addition and extension is used, such as ora_dcl for VAX/OPEN VMS Ada, or *s.a for Verdix Ada.

Meaning

Specifies the name of the specification or header file. If INAME is not specified, SNAME must be specified to get a specification file. The file is not generated if the OUTPUT option does not include SPECIFICATION in its list of values.

STORE_PACKAGE

Values

{YES | NO}

Default Value

NO

Meaning

If STORE_PACKAGE=YES, SQL*Module compiles the module file specified in the mandatory INAME option, and stores the packaged procedures in the database schema specified by the USERID option. The name of the package is specified by the PNAME option.

If you do not specify a PNAME option, the default package name becomes the name of the module, as specified in the MODULE clause of the module file. If neither the PNAME option nor the MODULE clause is specified, the package name is the base name (omitting any path specification or file extension) of the input file specified in the INAME option.


Note:

When STORE_PACKAGE=YES, SQL*Module performs a CREATE OR REPLACE PACKAGE statement. This statement overwrites, without any warning any package of that name in the schema.

SQLCHECK

Values

{NONE | SYNTAX | SEMANTICS}

Default Value

SEMANTICS

Meaning

Determines the way SQL*Module processes the input file when INAME is specified. This option has no meaning if there is no input file.

NONE SQL*Module processes the command line, issues any error messages produced by configuration file or command-line options, then exits without compiling any input and does not produce any output files.

SYNTAX SQL*Module compiles the input file specified in the INAME option, using its own SQL parser. Errors detected are flagged, but no source code, specification, or listing output files are produced.

SEMANTICS The input file is compiled on the server side, all syntactic and semantic errors are flagged, and all appropriate output files are generated.

USERID

Values

<string>

Default Value

None

Meaning

Specifies an Oracle username and, optionally, a password and a database to connect to. The syntax of this option is

USERID=USER_NAME[/PASSWORD][@DATABASE_NAME] 

SQL*Module must be able to connect to a server when compiling an input file, to parse the SQL and PL/SQL statements, do syntactic and semantic checking, and to store packages if required. If the password is omitted, SQL*Module prompts for one. If a database is not specified, the default (local) database for the user is used.

If you do not specify the USERID option, the default becomes the user name (and possibly the password) specified in the AUTHORIZATION clause of the Module Language input file, or the USERID value specified in a configuration file.

Note: SQL*Module always prompts for a password if one has not been supplied in a configuration file, in an AUTHORIZATION clause in the module file, or on the command line. So, there is no need to hard code passwords into text files.

Compiling and Linking

To produce an executable program, you must compile source code output files that SQL*Module generates, then link these together with the compiled object files of any sources that call modules or interface procedures, with SQLLIB, and with other Oracle libraries. The details are necessarily both system and language dependent. The tables in the next three sections show a few examples.

An Example (Module Language)

There is a Module Language file to be compiled. No stored database packages are involved. The steps to take are shown in Table 5-3.

Note: This example is specific to VAX/OPEN VMS. For other Ada implementations, using a linker for all Ada files might be required.

Table 5-3 Development Scenario

StepFile NameHow DevelopedAction to Take

1

tst_app_drv.ada

by Ada developer

compile into Ada library using host Ada compiler

2

tst_app_mod.mad

by SQL developer

compile using SQL*Module

3

tst_app_mod.ora_dd

generated by SQL*module in Step 2

compile into Ada library using host Ada compiler

4

tst_app_mod.ada

generated by module from Step 2

compile into Ada library using host Ada compiler; make sure to with this package in tst_app_drv.ada

5

tst_app_drv.o

extracted from Adalib

link (with SQLLIB)

6

tst_app_drv

linked from step 5

run and test


PK6+~tPK a9Aoa,mimetypePKa9Ar&VQ:iTunesMetadata.plistPKa9AYuMETA-INF/container.xmlPKa9A 짹OEBPS/appd.htmPKa9A8PqOEBPS/ch_six.htmPKa9A[pTOOEBPS/cover.htmPKa9AZSyNyKOEBPS/ch_four.htmPKa9A2OOJ OEBPS/title.htmPKa9A:;i3OEBPS/appc.htmPKa9AXBOEBPS/ch_three.htmPKa9A h c OEBPS/preface.htmPKa9A qqmOEBPS/index.htmPKa9A'U.P.OEBPS/img/adatyp.gifPKa9AWҸ XOEBPS/img/adapre.gifPKa9A![JEOEBPS/img/sqlstate.gifPKa9Aqج{je2OEBPS/img/adamod.gifPKa9A2 - OEBPS/img/adacur.gifPKa9AF?50ROEBPS/img/adaauth.gifPKa9AP`OEBPS/img/adaipfn.gifPKa9Adnh)OEBPS/img/amd80001.gifPKa9A'"xOEBPS/img/adalang.gifPKa9AQ00OEBPS/img/adapar.gifPKa9A&C OEBPS/img/sqa80005.gifPKa9Ab77dOEBPS/img/adawith.gifPKa9AzL OEBPS/img/adamode.gifPKa9A?:OEBPS/img/adaproc.gifPKa9AKeD+OEBPS/img/amd80003.gifPKa9AIy(OEBPS/img/amd80002.gifPKa9AU{OEBPS/img/adaconn.gifPKa9A Lד'OEBPS/img/smd80002.gifPKa9A]sd[5V5BOEBPS/ch_one.htmPKa9AwfŷxOEBPS/ch_two.htmPKa9Ah0 OEBPS/img_text/smd80002.htmPKa9Aogni4 OEBPS/img_text/sqa80005.htmPKa9A̸7 OEBPS/img_text/adaauth.htmPKa9A/NI: OEBPS/img_text/adapar.htmPKa9AW8@;? OEBPS/img_text/adapre.htmPKa9At6A OEBPS/img_text/adalang.htmPKa9AsCx|wD OEBPS/img_text/adawith.htmPKa9ABD&UPI OEBPS/img_text/amd80002.htmPKa9A8C cO OEBPS/img_text/adatyp.htmPKa9A7S OEBPS/img_text/adaipfn.htmPKa9A+<zV OEBPS/img_text/adamode.htmPKa9A$ӘY OEBPS/img_text/amd80003.htmPKa9A댞 \ OEBPS/img_text/adacur.htmPKa9A&!^ OEBPS/img_text/amd80001.htmPKa9A$d_`d OEBPS/img_text/adaconn.htmPKa9A('п h OEBPS/img_text/sqlstate.htmPKa9A,A/j OEBPS/img_text/adamod.htmPKa9Ak!ׁ|!l OEBPS/img_text/adaproc.htmPKa9AN n OEBPS/appa.htmPKa9Ac0+&y OEBPS/appe.htmPKa9AhX- ( R OEBPS/toc.ncxPKa9AP** OEBPS/content.opfPKa9A_  OEBPS/dcommon/prodbig.gifPKa9AY@  OEBPS/dcommon/doclib.gifPKa9AmmI OEBPS/dcommon/oracle-logo.jpgPKa9AA6 OEBPS/dcommon/contbig.gifPKa9A,< OEBPS/dcommon/darbbook.cssPKa9AMά""!y< OEBPS/dcommon/O_signature_clr.JPGPKa9APz _ OEBPS/dcommon/feedbck2.gifPKa9A-` OEBPS/dcommon/feedback.gifPKa9Aː5h OEBPS/dcommon/booklist.gifPKa9AN61ti OEBPS/dcommon/cpyr.htmPKa9A!:3.{ OEBPS/dcommon/masterix.gifPKa9AeӺ1,i} OEBPS/dcommon/doccd.cssPKa9A7  OEBPS/dcommon/larrow.gifPKa9A# OEBPS/dcommon/indxicon.gifPKa9AS'"q OEBPS/dcommon/leftnav.gifPKa9Ahu,߅ OEBPS/dcommon/uarrow.gifPKa9Al-OJ OEBPS/dcommon/oracle.gifPKa9A( OEBPS/dcommon/index.gifPKa9AGC Ւ OEBPS/dcommon/bookbig.gifPKa9AJV^ OEBPS/dcommon/rarrow.gifPKa9A枰pk OEBPS/dcommon/mix.gifPKa9Ao"nR M á OEBPS/dcommon/doccd_epub.jsPKa9Av I ^ OEBPS/dcommon/toc.gifPKa9A r~$ OEBPS/dcommon/topnav.gifPKa9A1FA OEBPS/dcommon/prodicon.gifPKa9A3( #  OEBPS/dcommon/bp_layout.cssPKa9Ax[?: OEBPS/dcommon/bookicon.gifPKa9Ap*c^ OEBPS/dcommon/conticon.gifPKa9AʍF OEBPS/dcommon/blafdoc.cssPKa9A+&E OEBPS/dcommon/rightnav.gifPKa9Aje88 OEBPS/dcommon/oracle-small.JPGPKa9Aއ{&! OEBPS/dcommon/help.gifPKa9A o66 c OEBPS/toc.htmPKa9AܖydS OEBPS/appb.htmPKa9A6+~tq OEBPS/ch_five.htmPKYYJ]